From 8488eb578ffe011445e3538dbe5a859cbbce4f8b Mon Sep 17 00:00:00 2001 From: Eldar Shahmaliyev Date: Fri, 10 Jan 2025 11:18:23 +0400 Subject: [PATCH 01/12] WIP: Translating "Code structure" article to Azerbaijani --- 1-js/02-first-steps/02-structure/article.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/1-js/02-first-steps/02-structure/article.md b/1-js/02-first-steps/02-structure/article.md index 80dd56523..7e4b583bb 100644 --- a/1-js/02-first-steps/02-structure/article.md +++ b/1-js/02-first-steps/02-structure/article.md @@ -1,16 +1,16 @@ -# Code structure +# Kod Strukturu -The first thing we'll study is the building blocks of code. +İlk öyrənəcəyimiz mövzu kodun əsas elementləridir. -## Statements +## İfadələr -Statements are syntax constructs and commands that perform actions. +İfadələr sintaksis konstruksiyaları və əmrlərdir ki, müəyyən əməliyyatlar yerinə yetirir. -We've already seen a statement, `alert('Hello, world!')`, which shows the message "Hello, world!". +Artıq `alert('Salam, dünya!')` ifadəsini görmüşük ki, bu da "Salam, dünya!" mesajını göstərir. -We can have as many statements in our code as we want. Statements can be separated with a semicolon. +Kodumuzda istədiyimiz qədər ifadə ola bilər. İfadələr nöqtəli vergüllə ayrılır. -For example, here we split "Hello World" into two alerts: +Məsələn, burada "Salam, dünya" mesajını iki xəbərdarlıq şəklində ayırmışıq: ```js run no-beautify alert('Hello'); alert('World'); From 403307d37e86067a68141746b75bcb0db2fdd888 Mon Sep 17 00:00:00 2001 From: Eldar Shahmaliyev Date: Fri, 10 Jan 2025 11:50:51 +0400 Subject: [PATCH 02/12] Translated semicolon-related sections in "Code Structure" article to Azerbaijani --- 1-js/02-first-steps/02-structure/article.md | 26 ++++++++++----------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/1-js/02-first-steps/02-structure/article.md b/1-js/02-first-steps/02-structure/article.md index 7e4b583bb..084820749 100644 --- a/1-js/02-first-steps/02-structure/article.md +++ b/1-js/02-first-steps/02-structure/article.md @@ -13,32 +13,32 @@ Kodumuzda istədiyimiz qədər ifadə ola bilər. İfadələr nöqtəli vergüll Məsələn, burada "Salam, dünya" mesajını iki xəbərdarlıq şəklində ayırmışıq: ```js run no-beautify -alert('Hello'); alert('World'); +alert('Salam'); alert('Dünya'); ``` -Usually, statements are written on separate lines to make the code more readable: +Adətən, ifadələr kodun oxunaqlılığını artırmaq üçün ayrı-ayrı sətirlərdə yazılır: ```js run no-beautify -alert('Hello'); -alert('World'); +alert('Salam'); +alert('Dünya'); ``` -## Semicolons [#semicolon] +## Nöqtəli Vergüllər [#semicolon] -A semicolon may be omitted in most cases when a line break exists. +Sətir kəsilməsi mövcud olduqda nöqtəli vergül buraxıla bilər. -This would also work: +Bu da işləyəcək: ```js run no-beautify -alert('Hello') -alert('World') +alert('Salam') +alert('Dünya') ``` -Here, JavaScript interprets the line break as an "implicit" semicolon. This is called an [automatic semicolon insertion](https://tc39.github.io/ecma262/#sec-automatic-semicolon-insertion). +Burada JavaScript interpretatoru sətir sonunu "örtülü" nöqtəli vergül kimi qəbul edir. Bu proses [avtomatik nöqtəli vergül daxil edilməsi (automatic semicolon insertion)](https://tc39.github.io/ecma262/#sec-automatic-semicolon-insertion) adlanır. -**In most cases, a newline implies a semicolon. But "in most cases" does not mean "always"!** +**Əksər hallarda yeni sətir bir nöqtəli vergülü nəzərdə tutur. Amma "əksər hallarda" "hər zaman" demək deyil!** -There are cases when a newline does not mean a semicolon. For example: +Müəyyən hallar var ki, yeni sətir nöqtəli vergül anlamına gəlmir. Məsələn: ```js run no-beautify alert(3 + @@ -46,7 +46,7 @@ alert(3 + + 2); ``` -The code outputs `6` because JavaScript does not insert semicolons here. It is intuitively obvious that if the line ends with a plus `"+"`, then it is an "incomplete expression", so the semicolon is not required. And in this case that works as intended. +Bu kodun nəticəsi `6` olacaq, çünki, JavaScript interpretatoru burada nöqtəli vergül daxil etmir. JavaScript üçün intuitiv olaraq aydındır ki, əgər sətir `+` (üstəgəl) simvolu ilə bitirsə, bu "natamam ifadə"dir və nöqtəli vergül tələb olunmur. Bu halda kod gözlənildiyi kimi işləyir. **But there are situations where JavaScript "fails" to assume a semicolon where it is really needed.** From 94b4de23dd3b13ad9668dcd961a584f627a9a36a Mon Sep 17 00:00:00 2001 From: Eldar Shahmaliyev Date: Fri, 10 Jan 2025 12:51:55 +0400 Subject: [PATCH 03/12] Translated error handling and semicolon-related sections to Azerbaijani --- 1-js/02-first-steps/02-structure/article.md | 32 ++++++++++----------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/1-js/02-first-steps/02-structure/article.md b/1-js/02-first-steps/02-structure/article.md index 084820749..2dc96f847 100644 --- a/1-js/02-first-steps/02-structure/article.md +++ b/1-js/02-first-steps/02-structure/article.md @@ -48,51 +48,51 @@ alert(3 + Bu kodun nəticəsi `6` olacaq, çünki, JavaScript interpretatoru burada nöqtəli vergül daxil etmir. JavaScript üçün intuitiv olaraq aydındır ki, əgər sətir `+` (üstəgəl) simvolu ilə bitirsə, bu "natamam ifadə"dir və nöqtəli vergül tələb olunmur. Bu halda kod gözlənildiyi kimi işləyir. -**But there are situations where JavaScript "fails" to assume a semicolon where it is really needed.** +**Amma müəyyən hallar da var ki, JavaScript belə hallarda nöqtəli vergülü avtomatik əlavə edə bilmir və nəticədə xəta yaranır.** -Errors which occur in such cases are quite hard to find and fix. +Belə hallarda xətaları tapmaq və düzəltmək olduqca çətin ola bilər. -````smart header="An example of an error" -If you're curious to see a concrete example of such an error, check this code out: +````smart header="Xəta üçün bir nümunə" +Əgər belə bir xətaya konkret nümunə görmək istəyirsinizsə, bu kodu yoxlayın: ```js run [1, 2].forEach(alert) ``` -No need to think about the meaning of the brackets `[]` and `forEach` yet. We'll study them later. For now, just remember the result of the code: it shows `1` then `2`. +İndilik `[]` (kvadrat mötərizələr) və `forEach` haqqında düşünməyə ehtiyac yoxdur. Onları daha sonra öyrənəcəyik. Hazırda sadəcə kodun nəticəsinə diqqət edin: bu kod əvvəlcə `1`, daha sonra `2` göstərəcək. -Now, let's add an `alert` before the code and *not* finish it with a semicolon: +İndi kodun əvvəlinə bir `alert` əlavə edək və onu nöqtəli vergülsüz bitirək: ```js run no-beautify -alert("There will be an error") +alert("Xəta baş verəcək") [1, 2].forEach(alert) ``` -Now if we run the code, only the first `alert` is shown and then we have an error! +İndi bu kodu işə salsaq, yalnız ilk `alert` mesajı görünəcək və daha sonra xəta ilə üzləşəcəyik! -But everything is fine again if we add a semicolon after `alert`: +Amma əgər `alert` ifadəsindən sonra nöqtəli vergül əlavə etsək, hər şey yenidən qaydasında olacaq: ```js run -alert("All fine now"); +alert("Hər şey qaydasındadır."); [1, 2].forEach(alert) ``` -Now we have the "All fine now" message followed by `1` and `2`. +İndi "Hər şey qaydasındadır." mesajından sonra `1` və `2` görünür. -The error in the no-semicolon variant occurs because JavaScript does not assume a semicolon before square brackets `[...]`. +Nöqtəli vergülün olmadığı variantda xəta JavaScript'in kvadrat mötərizədən əvvəl nöqtəli vergülü avtomatik əlavə edə bilməməsindən qaynaqlanır. -So, because the semicolon is not auto-inserted, the code in the first example is treated as a single statement. Here's how the engine sees it: +Beləliklə, nöqtəli vergül avtomatik olaraq əlavə edilmədiyindən, ilk nümunədəki kod tək ifadə kimi qəbul olunur. JavaScript mühərriki kodu belə görür: ```js run no-beautify -alert("There will be an error")[1, 2].forEach(alert) +alert("Xəta baş verəcək")[1, 2].forEach(alert) ``` -But it should be two separate statements, not one. Such a merging in this case is just wrong, hence the error. This can happen in other situations. +Amma kod iki ayrı ifadə olmalı idi, tək deyil. Bu halda birləşmə səhv baş verir və nəticədə xəta yaranır. Bu problem digər hallarda da yarana bilər. ```` -We recommend putting semicolons between statements even if they are separated by newlines. This rule is widely adopted by the community. Let's note once again -- *it is possible* to leave out semicolons most of the time. But it's safer -- especially for a beginner -- to use them. +Əgər ifadələr sətirlərlə ayrılıbsa, onların arasına nöqtəli vergül qoymağı tövsiyə edirik. Bu qayda JavaScript cəmiyyəti tərəfindən geniş şəkildə qəbul olunub. Yenidən bir də qeyd edək ki, nöqtəli vergülləri çox vaxt buraxmaq -- *mümkündür*. Lakin, xüsusilə yeni başlayanlar üçün, nöqtəli vergüllərdən istifadə etmək daha təhlükəsizdir. ## Comments [#code-comments] From f289a7fbbb4c4e48e6050b83ec68fbee4cc6da20 Mon Sep 17 00:00:00 2001 From: Eldar Shahmaliyev Date: Fri, 10 Jan 2025 13:58:29 +0400 Subject: [PATCH 04/12] Translated "Comments" section to Azerbaijani --- 1-js/02-first-steps/02-structure/article.md | 60 ++++++++++----------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/1-js/02-first-steps/02-structure/article.md b/1-js/02-first-steps/02-structure/article.md index 2dc96f847..1341401a9 100644 --- a/1-js/02-first-steps/02-structure/article.md +++ b/1-js/02-first-steps/02-structure/article.md @@ -94,66 +94,66 @@ Amma kod iki ayrı ifadə olmalı idi, tək deyil. Bu halda birləşmə səhv ba Əgər ifadələr sətirlərlə ayrılıbsa, onların arasına nöqtəli vergül qoymağı tövsiyə edirik. Bu qayda JavaScript cəmiyyəti tərəfindən geniş şəkildə qəbul olunub. Yenidən bir də qeyd edək ki, nöqtəli vergülləri çox vaxt buraxmaq -- *mümkündür*. Lakin, xüsusilə yeni başlayanlar üçün, nöqtəli vergüllərdən istifadə etmək daha təhlükəsizdir. -## Comments [#code-comments] +## Şərhlər [#code-comments] -As time goes on, programs become more and more complex. It becomes necessary to add *comments* which describe what the code does and why. +Zaman keçdikcə proqramlar daha mürəkkəb hala gələ bilər. Bu zaman kodun nə etdiyini və niyə olduğunu izah edən *şərhlər* əlavə etmək lazım olur. -Comments can be put into any place of a script. They don't affect its execution because the engine simply ignores them. +Şərhləri skriptin istənilən yerində yerləşdirmək olar. Onlar kodun icrasına təsir etmir, çünki, JavaScript mühərriki onları sadəcə nəzərə almır. -**One-line comments start with two forward slash characters `//`.** +**Təksətirlik şərhlər iki ardıcıl slash (`//`) ilə başlayır.** -The rest of the line is a comment. It may occupy a full line of its own or follow a statement. +Sətirin qalan hissəsi şərh hesab olunur. Şərhlər ayrıca bir sətri tuta bilər və ya bir ifadəni izləyə bilər. -Like here: +Məsələn: ```js run -// This comment occupies a line of its own -alert('Hello'); +// Bu şərh ayrıca bir sətirdə yerləşir +alert('Salam'); -alert('World'); // This comment follows the statement +alert('Dünya'); // Bu şərh ifadədən sonra yerləşir ``` -**Multiline comments start with a forward slash and an asterisk /* and end with an asterisk and a forward slash */.** +**Çoxsətirli şərhlər bir slash (`/`) və asterisk (`*`) ilə başlayır /* və bir asterisk (`*`) və slash (`/`) ilə bitir */.** -Like this: +Məsələn: ```js run -/* An example with two messages. -This is a multiline comment. +/* İki mesaj ehtiva edən bir nümunə. +Bu çoxsətirli bir şərhdir. */ -alert('Hello'); -alert('World'); +alert('Salam'); +alert('Dünya'); ``` -The content of comments is ignored, so if we put code inside /* ... */, it won't execute. +Şərhlərin məzmunu JavaScript mühərriki tərəfindən nəzərə alınmadığı üçün, əgər kodu /* ... */ içərisində yerləşdirsək, o icra olunmayacaq. -Sometimes it can be handy to temporarily disable a part of code: +Bəzən kodun müəyyən bir hissəsini müvəqqəti olaraq söndürmək üçün şərhlərdən istifadə etmək faydalıdır: ```js run -/* Commenting out the code -alert('Hello'); +/* Kodu deaktiv edirik +alert('Salam'); */ -alert('World'); +alert('Dünya'); ``` -```smart header="Use hotkeys!" -In most editors, a line of code can be commented out by pressing the `key:Ctrl+/` hotkey for a single-line comment and something like `key:Ctrl+Shift+/` -- for multiline comments (select a piece of code and press the hotkey). For Mac, try `key:Cmd` instead of `key:Ctrl`. +```smart header="Qısayollardan istifadə edin!" +Əksər redaktorlarda bir kod sətrini təksətirlik şərh etmək üçün `key:Ctrl+/` qısayolundan, çoxsətirli şərhlər üçün isə (kodun bir hissəsini seçib) `key:Ctrl+Shift+/` kombinasiyasından istifadə edə bilərsiniz. Mac istifadəçiləri `key:Ctrl` əvəzinə `key:Cmd` istifadə edə bilərlər. ``` -````warn header="Nested comments are not supported!" -There may not be `/*...*/` inside another `/*...*/`. +````warn header="İç-içə şərhlər dəstəklənmir!" +`/*...*/` içərisində başqa bir `/*...*/` şərhi yerləşdirilə bilməz. -Such code will die with an error: +Belə bir kod xəta ilə nəticələnir: ```js run no-beautify /* - /* nested comment ?!? */ + /* İç-içə şərh ?!? */ */ -alert( 'World' ); +alert('Dünya'); ``` ```` -Please, don't hesitate to comment your code. +Kodunuzu şərh etməkdən çəkinməyin. -Comments increase the overall code footprint, but that's not a problem at all. There are many tools which minify code before publishing to a production server. They remove comments, so they don't appear in the working scripts. Therefore, comments do not have negative effects on production at all. +Şərhlər ümumi kodun ölçüsünü artırır, lakin bu problem deyil. Bir çox alət kodu "production server"da, yəni istehsal serverində yayımlamadan əvvəl kiçildir. Bu prosesdə şərhlər silinir və işlək skriptlərdə yer almır. Buna görə də şərhlərin istehsal serverinə heç bir mənfi təsiri yoxdur. -Later in the tutorial there will be a chapter that also explains how to write better comments. +Daha sonra bu dərslikdə adlı bir fəsil olacaq. Bu fəsil daha yaxşı şərhlər yazmaq barədə əlavə məsləhətlər verəcək. \ No newline at end of file From 214fdf9031339b2d6da90194e576fdc3365d51c9 Mon Sep 17 00:00:00 2001 From: Eldar Shahmaliyev Date: Fri, 10 Jan 2025 14:09:51 +0400 Subject: [PATCH 05/12] Improved phrasing for semicolon handling explanation --- 1-js/02-first-steps/02-structure/article.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/1-js/02-first-steps/02-structure/article.md b/1-js/02-first-steps/02-structure/article.md index 1341401a9..2ac42a97e 100644 --- a/1-js/02-first-steps/02-structure/article.md +++ b/1-js/02-first-steps/02-structure/article.md @@ -36,7 +36,7 @@ alert('Dünya') Burada JavaScript interpretatoru sətir sonunu "örtülü" nöqtəli vergül kimi qəbul edir. Bu proses [avtomatik nöqtəli vergül daxil edilməsi (automatic semicolon insertion)](https://tc39.github.io/ecma262/#sec-automatic-semicolon-insertion) adlanır. -**Əksər hallarda yeni sətir bir nöqtəli vergülü nəzərdə tutur. Amma "əksər hallarda" "hər zaman" demək deyil!** +**Əksər hallarda yeni sətir nöqtəli vergül əlavə edildiyini ifadə edir. Amma "əksər hallarda" "hər zaman" demək deyil!** Müəyyən hallar var ki, yeni sətir nöqtəli vergül anlamına gəlmir. Məsələn: From d25f669ce2fa7ec7e14fe24d6415cb6eb22b3739 Mon Sep 17 00:00:00 2001 From: Eldar Shahmaliyev Date: Fri, 10 Jan 2025 14:13:35 +0400 Subject: [PATCH 06/12] Refined semicolon usage explanation --- 1-js/02-first-steps/02-structure/article.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/1-js/02-first-steps/02-structure/article.md b/1-js/02-first-steps/02-structure/article.md index 2ac42a97e..ebfe9ddbd 100644 --- a/1-js/02-first-steps/02-structure/article.md +++ b/1-js/02-first-steps/02-structure/article.md @@ -25,7 +25,7 @@ alert('Dünya'); ## Nöqtəli Vergüllər [#semicolon] -Sətir kəsilməsi mövcud olduqda nöqtəli vergül buraxıla bilər. +Sətir sonunda bir çox hallarda nöqtəli vergül buraxıla bilər. Bu da işləyəcək: From 4592a21c2240ab8f6a9bff382a16b8d6cde99b10 Mon Sep 17 00:00:00 2001 From: Eldar Shahmaliyev Date: Fri, 10 Jan 2025 14:16:14 +0400 Subject: [PATCH 07/12] =?UTF-8?q?Updated=20reference=20to=20"Kod=20keyfiyy?= =?UTF-8?q?=C9=99ti"=20as=20translated?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 1-js/02-first-steps/02-structure/article.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/1-js/02-first-steps/02-structure/article.md b/1-js/02-first-steps/02-structure/article.md index ebfe9ddbd..c57afdb72 100644 --- a/1-js/02-first-steps/02-structure/article.md +++ b/1-js/02-first-steps/02-structure/article.md @@ -156,4 +156,5 @@ Kodunuzu şərh etməkdən çəkinməyin. Şərhlər ümumi kodun ölçüsünü artırır, lakin bu problem deyil. Bir çox alət kodu "production server"da, yəni istehsal serverində yayımlamadan əvvəl kiçildir. Bu prosesdə şərhlər silinir və işlək skriptlərdə yer almır. Buna görə də şərhlərin istehsal serverinə heç bir mənfi təsiri yoxdur. -Daha sonra bu dərslikdə adlı bir fəsil olacaq. Bu fəsil daha yaxşı şərhlər yazmaq barədə əlavə məsləhətlər verəcək. \ No newline at end of file +Daha sonra bu dərslikdə [Kod keyfiyyəti]() adlı bir fəsil olacaq. Bu fəsil daha yaxşı şərhlər yazmaq barədə əlavə +məsləhətlər verəcək. \ No newline at end of file From b9cb3c025cae3c5e346a59020262af0ef3fdcc97 Mon Sep 17 00:00:00 2001 From: Eldar Shahmaliyev Date: Sat, 11 Jan 2025 22:11:12 +0400 Subject: [PATCH 08/12] wip --- 1-js/02-first-steps/03-strict-mode/article.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/1-js/02-first-steps/03-strict-mode/article.md b/1-js/02-first-steps/03-strict-mode/article.md index a96432002..10f5e27be 100644 --- a/1-js/02-first-steps/03-strict-mode/article.md +++ b/1-js/02-first-steps/03-strict-mode/article.md @@ -1,7 +1,8 @@ -# The modern mode, "use strict" +# Müasir mod, "use strict" For a long time, JavaScript evolved without compatibility issues. New features were added to the language while old functionality didn't change. + That had the benefit of never breaking existing code. But the downside was that any mistake or an imperfect decision made by JavaScript's creators got stuck in the language forever. This was the case until 2009 when ECMAScript 5 (ES5) appeared. It added new features to the language and modified some of the existing ones. To keep the old code working, most such modifications are off by default. You need to explicitly enable them with a special directive: `"use strict"`. From e07db4d13a3b8df1a6d67b55cb09eb94d28fddaa Mon Sep 17 00:00:00 2001 From: Eldar Shahmaliyev Date: Sun, 12 Jan 2025 20:29:52 +0400 Subject: [PATCH 09/12] (wip): Translate "use strict" article to Azerbaijani --- 1-js/02-first-steps/03-strict-mode/article.md | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/1-js/02-first-steps/03-strict-mode/article.md b/1-js/02-first-steps/03-strict-mode/article.md index 10f5e27be..fa7c095c2 100644 --- a/1-js/02-first-steps/03-strict-mode/article.md +++ b/1-js/02-first-steps/03-strict-mode/article.md @@ -1,27 +1,25 @@ # Müasir mod, "use strict" -For a long time, JavaScript evolved without compatibility issues. New features were added to the language while old functionality didn't change. +JavaScript uzun müddət ərzində uyğunsuzluq problemləri olmadan inkişaf etdi. Köhnə xüsusiyyətlər dəyişdirilmədən, dilə yeni xüsusiyyətlər əlavə olundu. +Bunun üstünlüyü mövcud kodun işləmə qabiliyyətini heç vaxt pozmaması idi. Lakin mənfi tərəfi o idi ki, JavaScript'in yaradıcılarının etdiyi hərhansı bir səhv və ya düzgün olmayan bir qərar dilin daimi bir hissəsinə çevrilirdi. -That had the benefit of never breaking existing code. But the downside was that any mistake or an imperfect decision made by JavaScript's creators got stuck in the language forever. - -This was the case until 2009 when ECMAScript 5 (ES5) appeared. It added new features to the language and modified some of the existing ones. To keep the old code working, most such modifications are off by default. You need to explicitly enable them with a special directive: `"use strict"`. +Bu vəziyyət 2009-cu ildə ECMAScript 5 (ES5) standartı təqdim edilənə qədər davam etdi. ES5 dilə yeni xüsusiyyətlər əlavə etdi və mövcud olan bəzi xüsusiyyətləri dəyişdirdi. Köhnə kodların işləməyə davam etməsi üçün bir çox dəyişikliklər susqunluq halında (by default) deaktiv edilmişdi. Bu dəyişiklikləri aktiv etmək üçün xüsusi bir direktivdən istifadə etməlisiniz: `"use strict"`. ## "use strict" -The directive looks like a string: `"use strict"` or `'use strict'`. When it is located at the top of a script, the whole script works the "modern" way. +Bu direktiv bir string kimi görünür: `"use strict"` və ya `'use strict'`. Əgər bu direktiv bir skriptin ən üst hissəsində yerləşdirilərsə, həmin skript "müasir" qaydada işləyir. -For example: +Məsələn: ```js "use strict"; -// this code works the modern way +// bu kod müasir qaydada işləyir ... ``` -We will learn functions (a way to group commands) soon. Looking ahead, let's note that `"use strict"` can be put at the beginning of the function body instead of the whole script. Doing that enables strict mode in that function only. But usually, people use it for the whole script. - +Biz funksiyaları (ifadələri qruplaşdırmaq üçün bir yoldur) tezliklə öyrənəcəyik. İndilik isə qeyd etməliyik ki, `"use strict"` direktivini skriptin ən üstündə yerləşdirmək əvəzinə, bir funksiyanın başlanğıcına da əlavə etmək mümkündür. Bu halda yalnız həmin funksiya müasir qaydada işləyəcək. Lakin, adətən insanlar bu direktivi bütün skript üçün istifadə edirlər. ````warn header="Ensure that \"use strict\" is at the top" Please make sure that `"use strict"` is at the top of your scripts, otherwise strict mode may not be enabled. From 64a85417d40c6a5055a78416fba9c85137a46507 Mon Sep 17 00:00:00 2001 From: Eldar Shahmaliyev Date: Sun, 12 Jan 2025 21:04:32 +0400 Subject: [PATCH 10/12] Translate "use strict" article to Azerbaijani --- 1-js/02-first-steps/03-strict-mode/article.md | 58 +++++++++---------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/1-js/02-first-steps/03-strict-mode/article.md b/1-js/02-first-steps/03-strict-mode/article.md index fa7c095c2..f81f27aa7 100644 --- a/1-js/02-first-steps/03-strict-mode/article.md +++ b/1-js/02-first-steps/03-strict-mode/article.md @@ -1,4 +1,4 @@ -# Müasir mod, "use strict" +# Müasir rejim, "use strict" JavaScript uzun müddət ərzində uyğunsuzluq problemləri olmadan inkişaf etdi. Köhnə xüsusiyyətlər dəyişdirilmədən, dilə yeni xüsusiyyətlər əlavə olundu. @@ -21,64 +21,64 @@ Məsələn: Biz funksiyaları (ifadələri qruplaşdırmaq üçün bir yoldur) tezliklə öyrənəcəyik. İndilik isə qeyd etməliyik ki, `"use strict"` direktivini skriptin ən üstündə yerləşdirmək əvəzinə, bir funksiyanın başlanğıcına da əlavə etmək mümkündür. Bu halda yalnız həmin funksiya müasir qaydada işləyəcək. Lakin, adətən insanlar bu direktivi bütün skript üçün istifadə edirlər. -````warn header="Ensure that \"use strict\" is at the top" -Please make sure that `"use strict"` is at the top of your scripts, otherwise strict mode may not be enabled. +````warn header="\"use strict\" direktivinin ən üstdə olduğundan əmin olun" +Əmin olun ki, `"use strict"` direktivi skriptinizin ən üst hissəsində yerləşir, əks halda sıx rejim aktivləşməyəcək. -Strict mode isn't enabled here: +Burada sıx rejim aktiv deyil: ```js no-strict -alert("some code"); -// "use strict" below is ignored--it must be at the top +alert("bəzi kodlar"); +// "use strict" aşağıda yerləşdiyindən nəzərə alınmayacaq -- o mütləq ən yuxarıda olmalıdır "use strict"; -// strict mode is not activated +// sıx rejim aktiv deyil ``` -Only comments may appear above `"use strict"`. +Sadəcə şərhlər `"use strict"` direktivindən əvvəl yerləşdirilə bilər. ```` -```warn header="There's no way to cancel `use strict`" -There is no directive like `"no use strict"` that reverts the engine to old behavior. +```warn header="`use strict` rejimini deaktiv etmək mümkün deyil" +Sıx rejimi deaktiv etmək üçün `"no use strict"` kimi bir direktiv mövcud deyil. -Once we enter strict mode, there's no going back. +Bir dəfə sıx rejim aktivləşdikdən sonra, geri dönüş mümkün deyil. ``` -## Browser console +## Brauzer Konsolu -For the future, when you use a browser console to test features, please note that it doesn't `use strict` by default. +Gələcəkdə brauzerin konsolundan xüsusiyyətləri test etmək üçün istifadə etdikdə unutmayın ki, konsol susqun olaraq `use strict` rejimini aktivləşdirmir. -Sometimes, when `use strict` makes a difference, you'll get incorrect results. +Bəzən, `use strict` rejimi ilə fərqlər yaranır və nəticədə yanlış nəticələr əldə edə bilərsiniz. -You can try to press `key:Shift+Enter` to input multiple lines, and put `use strict` on top, like this: +`key:Shift+Enter` kombinasiyasından istifadə edərək çoxsətirli kod daxil edib `use strict` direktivini ən üstünə yerləşdirin. Məsələn: ```js -'use strict'; -// ...your code - +'use strict'; +// ...sizin kod +<İcra etmək üçün Enter> ``` -It works in most browsers, namely Firefox and Chrome. +Bu metod əksər brauzerlərdə, məsələn, Firefox və Chrome'da işləyir. -If it doesn't, the most reliable way to ensure `use strict` would be to input the code into console like this: +Əgər bu işləməzsə, ən etibarlı yol `use strict` rejimini aşağıdakı nümunədə göstərildiyi kimi istifadə etməkdir: ```js (function() { 'use strict'; - // ...your code... + // ...sizin kod... })() ``` -## Always "use strict" +## Hər Zaman "use strict" -We have yet to cover the differences between strict mode and the "default" mode. +Biz hələ sıx rejim ilə "default" rejim arasındakı fərqləri tam əhatə etməmişik. -In the next chapters, as we learn language features, we'll note the differences between the strict and default modes. Luckily, there aren't many and they actually make our lives better. +Növbəti fəsillərdə dil xüsusiyyətlərini öyrəndikcə, sıx rejim və defolt rejim arasındakı fərqləri vurğulayacağıq. Xoşbəxtlikdən, bu fərqlər azdır və həyatımızı daha da asanlaşdırır. -For now, it's enough to know about it in general: +İndilik, aşağıdakıları bilmək kifayətdir: -1. The `"use strict"` directive switches the engine to the "modern" mode, changing the behavior of some built-in features. We'll see the details later in the tutorial. -2. Strict mode is enabled by placing `"use strict"` at the top of a script or function. Several language features, like "classes" and "modules", enable strict mode automatically. -3. Strict mode is supported by all modern browsers. -4. We recommended always starting scripts with `"use strict"`. All examples in this tutorial assume strict mode unless (very rarely) specified otherwise. +1. `"use strict"` direktivi mühərriki sıx rejimə keçirir və bəzi daxili xüsusiyyətlərin davranışını dəyişir. Bunun detallarını daha sonra dərslikdə öyrənəcəyik. +2. `"use strict"` direktivini skriptin və ya funksiyanın ən üstünə yerləşdirərək sıx rejimi aktivləşdirə bilərsiniz. "Siniflər" ("classes") və "modullar" ("modules") kimi bəzi dil xüsusiyyətləri sıx rejimi avtomatik aktivləşdirir. +3. Sıx rejim bütün müasir brauzerlər tərəfindən dəstəklənir. +4. Tövsiyə olunur ki, bütün skriptlərinizə `"use strict"` ilə başlayasınız. Bu dərslikdəki nümunələrin hamısı, başqa cür göstərilmədiyi təqdirdə (çox nadir hallarda), sıx rejimi nəzərdə tutur. From 4a36dabd67beea402c57d0d0ba55d2be4e4cc9bc Mon Sep 17 00:00:00 2001 From: Eldar Shahmaliyev Date: Sun, 12 Jan 2025 21:12:43 +0400 Subject: [PATCH 11/12] =?UTF-8?q?Fix=20typo:=20"susqun=20halda"=20?= =?UTF-8?q?=E2=86=92=20"susqunluq=20hal=C4=B1nda"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 1-js/02-first-steps/03-strict-mode/article.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/1-js/02-first-steps/03-strict-mode/article.md b/1-js/02-first-steps/03-strict-mode/article.md index f81f27aa7..9d6e150b4 100644 --- a/1-js/02-first-steps/03-strict-mode/article.md +++ b/1-js/02-first-steps/03-strict-mode/article.md @@ -1,4 +1,4 @@ -# Müasir rejim, "use strict" +# Müasir Rejim, "use strict" JavaScript uzun müddət ərzində uyğunsuzluq problemləri olmadan inkişaf etdi. Köhnə xüsusiyyətlər dəyişdirilmədən, dilə yeni xüsusiyyətlər əlavə olundu. @@ -46,7 +46,7 @@ Bir dəfə sıx rejim aktivləşdikdən sonra, geri dönüş mümkün deyil. ## Brauzer Konsolu -Gələcəkdə brauzerin konsolundan xüsusiyyətləri test etmək üçün istifadə etdikdə unutmayın ki, konsol susqun olaraq `use strict` rejimini aktivləşdirmir. +Gələcəkdə brauzerin konsolundan xüsusiyyətləri test etmək üçün istifadə etdikdə unutmayın ki, konsol susqunluq halında `use strict` rejimini aktivləşdirmir. Bəzən, `use strict` rejimi ilə fərqlər yaranır və nəticədə yanlış nəticələr əldə edə bilərsiniz. From 16a53df2caf94a686e593f89dcd22492206cbcaa Mon Sep 17 00:00:00 2001 From: Eldar Shahmaliyev Date: Mon, 13 Jan 2025 14:05:42 +0400 Subject: [PATCH 12/12] Refined translations in "Code Structure" and "Strict Mode" articles --- 1-js/02-first-steps/02-structure/article.md | 10 +++++----- 1-js/02-first-steps/03-strict-mode/article.md | 8 ++++---- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/1-js/02-first-steps/02-structure/article.md b/1-js/02-first-steps/02-structure/article.md index c57afdb72..9e1144205 100644 --- a/1-js/02-first-steps/02-structure/article.md +++ b/1-js/02-first-steps/02-structure/article.md @@ -1,14 +1,14 @@ # Kod Strukturu -İlk öyrənəcəyimiz mövzu kodun əsas elementləridir. +İlk öyrənəcəyimiz mövzu, kodun bloklarını inşa etməkdir. ## İfadələr İfadələr sintaksis konstruksiyaları və əmrlərdir ki, müəyyən əməliyyatlar yerinə yetirir. -Artıq `alert('Salam, dünya!')` ifadəsini görmüşük ki, bu da "Salam, dünya!" mesajını göstərir. +Biz artıq alert('Salam, Dünya!') ilə bir ifadə görmüşük, ki, bu da bizə "Salam, Dünya!" mesajını göstərir. -Kodumuzda istədiyimiz qədər ifadə ola bilər. İfadələr nöqtəli vergüllə ayrılır. +Kodumuzda istədiyimiz qədər ifadə ola bilər. İfadələr bir-birindən "nöqtəli vergül"lərlə ayrıla bilər. Məsələn, burada "Salam, dünya" mesajını iki xəbərdarlıq şəklində ayırmışıq: @@ -59,7 +59,7 @@ Belə hallarda xətaları tapmaq və düzəltmək olduqca çətin ola bilər. [1, 2].forEach(alert) ``` -İndilik `[]` (kvadrat mötərizələr) və `forEach` haqqında düşünməyə ehtiyac yoxdur. Onları daha sonra öyrənəcəyik. Hazırda sadəcə kodun nəticəsinə diqqət edin: bu kod əvvəlcə `1`, daha sonra `2` göstərəcək. +İndilik `[]` (kvadrat mötərizələr) və `forEach` haqqında düşünməyə ehtiyac yoxdur. Onları daha sonra öyrənəcəyik. Hazırda sadəcə kodun nəticəsinə diqqət edin: bu kod əvvəlcə `1`, daha sonra `2` göstərir. İndi kodun əvvəlinə bir `alert` əlavə edək və onu nöqtəli vergülsüz bitirək: @@ -136,7 +136,7 @@ alert('Dünya'); ``` ```smart header="Qısayollardan istifadə edin!" -Əksər redaktorlarda bir kod sətrini təksətirlik şərh etmək üçün `key:Ctrl+/` qısayolundan, çoxsətirli şərhlər üçün isə (kodun bir hissəsini seçib) `key:Ctrl+Shift+/` kombinasiyasından istifadə edə bilərsiniz. Mac istifadəçiləri `key:Ctrl` əvəzinə `key:Cmd` istifadə edə bilərlər. +Əksər redaktorlarda bir kod sətrini təksətirlik şərh etmək üçün `key:Ctrl+/` qısayolundan, çoxsətirli şərhlər üçün isə (kodun bir hissəsini seçib) `key:Ctrl+Shift+/` kombinasiyasından istifadə edə bilərsiniz. Mac istifadəçiləri, sözügedən kombinasiyalardan istifadədə key:Ctrl əvəzinə key:Cmd klavişiylə cəhd edə bilərlər. ``` ````warn header="İç-içə şərhlər dəstəklənmir!" diff --git a/1-js/02-first-steps/03-strict-mode/article.md b/1-js/02-first-steps/03-strict-mode/article.md index 9d6e150b4..55e363d70 100644 --- a/1-js/02-first-steps/03-strict-mode/article.md +++ b/1-js/02-first-steps/03-strict-mode/article.md @@ -38,7 +38,7 @@ alert("bəzi kodlar"); Sadəcə şərhlər `"use strict"` direktivindən əvvəl yerləşdirilə bilər. ```` -```warn header="`use strict` rejimini deaktiv etmək mümkün deyil" +```warn header="`use strict`'i ləğv etmək mümkün deyil" Sıx rejimi deaktiv etmək üçün `"no use strict"` kimi bir direktiv mövcud deyil. Bir dəfə sıx rejim aktivləşdikdən sonra, geri dönüş mümkün deyil. @@ -46,9 +46,9 @@ Bir dəfə sıx rejim aktivləşdikdən sonra, geri dönüş mümkün deyil. ## Brauzer Konsolu -Gələcəkdə brauzerin konsolundan xüsusiyyətləri test etmək üçün istifadə etdikdə unutmayın ki, konsol susqunluq halında `use strict` rejimini aktivləşdirmir. +Gələcəkdə brauzerin konsolundan xüsusiyyətləri test etmək üçün istifadə etdikdə unutmayın ki, konsol susqunluq halında `use strict` seçənəyini aktivləşdirmir. -Bəzən, `use strict` rejimi ilə fərqlər yaranır və nəticədə yanlış nəticələr əldə edə bilərsiniz. +Bəzən, `use strict` ilə fərqlər yaranır və nəticədə yanlış nəticələr əldə edə bilərsiniz. `key:Shift+Enter` kombinasiyasından istifadə edərək çoxsətirli kod daxil edib `use strict` direktivini ən üstünə yerləşdirin. Məsələn: @@ -60,7 +60,7 @@ Bəzən, `use strict` rejimi ilə fərqlər yaranır və nəticədə yanlış n Bu metod əksər brauzerlərdə, məsələn, Firefox və Chrome'da işləyir. -Əgər bu işləməzsə, ən etibarlı yol `use strict` rejimini aşağıdakı nümunədə göstərildiyi kimi istifadə etməkdir: +Əgər bu işləməzsə, `use strict` ifadəsini istifadə etmənin ən etibarlı yolu aşağıdakı nümunədə göstərildiyi kimi istifadə etməkdir: ```js (function() {