diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/declare-string-variables.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/declare-string-variables.md index 7897e7bf9d5..94856f2d23b 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/declare-string-variables.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/declare-string-variables.md @@ -1,6 +1,6 @@ --- id: bd7123c9c444eddfaeb5bdef -title: إعلان متغيرات المقاطع نصية (Declare String Variables) +title: إعلان متغيرات المقاطع النصية challengeType: 1 videoUrl: 'https://scrimba.com/c/c2QvWU6' forumTopicId: 17557 @@ -21,15 +21,15 @@ var myName; var myName = "your name"; ``` -`"your name"` يسمي مقطع حرفي. المقطع النصي أو مقطع هي مقطع تتكون من رمز أو أكثر، مرفقين في علامات اقتباس (Quotes) مفردة أو مزدوجة. +يسمي`"your name"` المقطع موضوعي. يتكون المقطع الموضوعي أو المقطع النصي من رمز أو رموز، مرفقين في علامات اقتباس (quotes) مفردة أو مزدوجة. # --instructions-- -إنشاء متغيرين مقطعين جديدين: `myFirstName` و `myLastName` وعيين قيم الاسم الأول والاسم الأخير على التوالي. +إنشاء متغيرين مقطعين جديدين: وعين `myFirstName` و `myLastName` بقيم اسمك والاسم عائلتك على التوالي. # --hints-- -يجب أن يحتوي مقطع `myFirstName` على حرف واحد في الأقل. +يجب أن يحتوي مقطع `myFirstName` على رمز واحد في الأقل. ```js assert( @@ -47,7 +47,7 @@ assert( ); ``` -يجب أن يحتوي مقطع `myLastName` على حرف واحد في الأقل. +يجب أن يحتوي مقطع `myLastName` على رمز واحد في الأقل. ```js assert( diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/escape-sequences-in-strings.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/escape-sequences-in-strings.md index 53a1021b42f..f327967b92a 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/escape-sequences-in-strings.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/escape-sequences-in-strings.md @@ -1,6 +1,6 @@ --- id: 56533eb9ac21ba0edf2244b6 -title: تسلسلات الهروب في المقاطع (Escape Sequences in Strings) +title: تسلسلات الإخراج في المقاطع النصية challengeType: 1 videoUrl: 'https://scrimba.com/c/cvmqRh6' forumTopicId: 17567 @@ -9,26 +9,26 @@ dashedName: escape-sequences-in-strings # --description-- -الاقتباسات (Quotes) ليست الرموز الوحيدة التي يمكن أن تكتب باحتياليه داخل المقطع (string). وهناك سببان لاستخدام رموز احتيالية (escaping characters): +الاقتباسات (Quotes) ليست الرموز الوحيدة التي يمكن أن تكتب مخرَّجة داخل المقطع النصي (string). وهناك سببان لاستخدام رموز احتيالية (escaping characters): 1. للسماح لك باستخدام الرموز التي قد لا تتمكن من استخدامها، مثل سطر جديد (newline). -2. للسماح لك بتمثيل الاقتباسات (Quotes) متعددة في مقطع دون أن يسيء JavaScript فهم ما تعنيه. +2. للسماح لك بتمثيل الاقتباسات (Quotes) متعددة في مقطع نصي دون أن يسيء JavaScript فهم ما تعنيه. وقد تعلمنا ذلك في التحدي السابق.
الكودالناتج
\'single quote
\"double quote
\\backslash
\nnewline
\ttab
\rcarriage return
\bword boundary
\fform feed
-*لاحظ أن يجب أن تكون الخط المائل (backslash) نفسه أحتيالي (escaped) ليتم عرضها كخط مائل backslash.* +*لاحظ أن يجب أن يكون الخط المائل (backslash) نفسه يخرَّج (escaped) ليتم عرضه كخط مائل backslash.* # --instructions-- -عيّن الأسطر الثلاثة التالية من النص في المتغير `myStr` الوحيد باستخدام تسلسل احتيالي (escape sequences). +عيّن الأسطر الثلاثة التالية من النص في المتغير `myStr` الوحيد باستخدام تسلسل التخريج (escape sequences).
FirstLine
    \SecondLine
ThirdLine
-سوف تحتاج إلى استخدام تسلسل احتيالي لإدراج الرموز الخاصة (special characters) بشكل صحيح. ستحتاج أيضًا إلى اتباع التباعد كما هو موضح أعلاه، دون مسافات بين التسلسل الاحتيالي escape sequences أو الكلمات. +سوف تحتاج إلى استخدام تسلسل تخريج لإدراج الرموز الخاصة (special characters) بشكل صحيح. ستحتاج أيضًا إلى اتباع التباعد كما هو موضح أعلاه، دون مسافات بين تسلسل التخريج escape sequences أو الكلمات. -**ملاحظة:** يتم الحصول على التباعد (indentation) في `SecondLine` باستخدام رمز التحايل الشريط (tab escape character) وليس المسافة الفارغة (space). +**ملاحظة:** يتم الحصول على التباعد (indentation) في `SecondLine` باستخدام رمز التخريح الشريط (tab escape character) وليس المسافة الفارغة (space). # --hints-- diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/find-the-length-of-a-string.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/find-the-length-of-a-string.md index 141ba2afc0c..3228396f717 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/find-the-length-of-a-string.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/find-the-length-of-a-string.md @@ -9,7 +9,7 @@ dashedName: find-the-length-of-a-string # --description-- -يمكنك العثور على قيمة طول `String` بكتابة `.length` بعد متغير المقطع (string) أو المقطع النصي (string literal). +يمكنك العثور على قيمة طول `String` بكتابة `.length` بعد متغير المقطع النصي أو بعد مقطع حرفي (string literal). ```js console.log("Alan Peter".length); diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/global-scope-and-functions.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/global-scope-and-functions.md index 69418f3333b..d9ddc87a327 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/global-scope-and-functions.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/global-scope-and-functions.md @@ -11,7 +11,7 @@ dashedName: global-scope-and-functions في JavaScript، يشير النطاق إلى رؤية المتغيرات. يكون إلى المتغيرات التي تم تعريفها خارج الوظيفة مجال شامل (Global scope). وهذا يعني أنه يمكن رؤيتها في كل مكان في التعليمات البرمجية JavaScript الخاص بك. -تعلن المتغيرات دون استخدام المصطلحات الآتية `let` أو `const` وتنشئ تلقائيًا في نطاق `global`. هذا يمكن أن يؤدي إلى عواقب غير مقصودة في مكان آخر من التعليمات البرمجية الخاص بك أو عند تشغيل الوظيفة مرة أخرى. يجب عليك دائماً إعلان متغيراتك باستخدام `let` أو `const`. +تعلن المتغيرات دون استخدام المصطلحات الآتية `let` أو `const` وتنشئ تلقائيًا في مجال شامل `global`. هذا يمكن أن يؤدي إلى عواقب غير مقصودة في مكان آخر من التعليمات البرمجية الخاص بك أو عند تشغيل الوظيفة مرة أخرى. يجب عليك دائماً إعلان متغيراتك باستخدام `let` أو `const`. # --instructions-- diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/global-vs.-local-scope-in-functions.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/global-vs.-local-scope-in-functions.md index efc9557e8b7..b62dab7e6d0 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/global-vs.-local-scope-in-functions.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/global-vs.-local-scope-in-functions.md @@ -1,6 +1,6 @@ --- id: 56533eb9ac21ba0edf2244c0 -title: النطاق العام مقابل النطاق المحلي في الوظائف (Global vs. Local Scope in Functions) +title: المجال الشامل مقابل النطاق المحدد في الوظائف challengeType: 1 videoUrl: 'https://scrimba.com/c/c2QwKH2' forumTopicId: 18194 @@ -9,7 +9,7 @@ dashedName: global-vs--local-scope-in-functions # --description-- -من الممكن الحصول على متغيرات محالية (Local) و عامة (Global) بنفس الاسم. عندما تقوم ذلك، يكون المتغير المحالي (local) له الأسبقية على المتغير العام (global). +من الممكن الحصول على متغيرات محدودة (local) و شاملة (global) بنفس الاسم. عندما تقوم ذلك، يكون المتغير المحدود (local) له الأسبقية على المتغير الشامل (global). وفي هذا المثال: @@ -22,15 +22,15 @@ function myFun() { } ``` -سوف تنتج الوظيفة `myFun` السلسلة `Head` لأن النسخة المحالية (local) من المتغير موجودة. +سوف تنتج الوظيفة `myFun` المقطع النصي `Head` لأن النسخة المحدودة (local) من المتغير موجودة. # --instructions-- -أضف متغير محالي (local) إلى وظيفة `myOutfit` لتجاوز قيمة `outerWear` بالمقطع `sweater`. +أضف متغير محدود (local) إلى وظيفة `myOutfit` لتجاوز قيمة `outerWear` بالمقطع النصي `sweater`. # --hints-- -لا يجب عليك تغيير قيمة العام (global) الآتي `outerWear`. +لا يجب عليك تغيير قيمة المتغير الشامل (global) الآتي `outerWear`. ```js assert(outerWear === 'T-Shirt'); diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/local-scope-and-functions.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/local-scope-and-functions.md index 7cfaff9aad8..e5a2570a887 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/local-scope-and-functions.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/local-scope-and-functions.md @@ -9,9 +9,9 @@ dashedName: local-scope-and-functions # --description-- -المتغيرات التي المعلنا داخل وظيفة (function)، وكذلك الوسائط (parameters) للوظيفة لديها نطاق و يكون محلي (local). وهذا يعني أنها لا تبد مرئية إلا في إطار الوظيفة. +المتغيرات التي أعلنة داخل وظيفة (function)، وكذلك الوسائط (parameters) للوظيفة لديها مجال محدود (local). وهذا يعني أنها لا تبد مرئية إلا في إطار الوظيفة. -هذه وظيفة `myTest` مع متغير محلي يسمى `loc`. +هذه وظيفة `myTest` مع متغير محدود يسمى `loc`. ```js function myTest() { @@ -27,13 +27,13 @@ console.log(loc); # --instructions-- -يحتوي المحرر على اثنين `console.log` لمساعدتك على رؤية ما يحدث. تحقق من وحدة التحكم خلال كتابة الكود لترى كيف يتغير. اعلن متغير محلي اسمه `myVar` داخل `myLocalScope` وفعّل الاختبارات. +يحتوي المحرر على اثنين `console.log` لمساعدتك على رؤية ما يحدث. تحقق من وحدة التحكم خلال كتابة الكود لترى كيف يتغير. اعلن متغير محدود اسمه `myVar` داخل `myLocalScope` وفعّل الاختبارات. **ملاحظة:** وحدة التحكم ستظل تعرض `ReferenceError: myVar is not defined`، ولكن هذا لن يتسبب في فشل الاختبارات. # --hints-- -لا ينبغي أن يحتوي الكود على متغير عام يدعي `myVar`. +لا ينبغي أن يحتوي الكود على متغير شامل يدعي `myVar`. ```js function declared() { @@ -43,7 +43,7 @@ function declared() { assert.throws(declared, ReferenceError); ``` -يجب عليك إضافة متغير محلي يدعي `myVar`. +يجب عليك إضافة متغير محدود يدعي `myVar`. ```js assert( diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/modify-array-data-with-indexes.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/modify-array-data-with-indexes.md index dfa6cf54e9b..59938a84f1b 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/modify-array-data-with-indexes.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/modify-array-data-with-indexes.md @@ -9,7 +9,7 @@ dashedName: modify-array-data-with-indexes # --description-- -على عكس المقاطع، عناصر القائمة هي قابلة للتغيير ويمكن تغييرها بحرية، حتى لو تم تعريف القائمة بواسطة `const`. +على عكس المقاطع النصية، عناصر القائمة هي قابلة للتغيير (mutable) ويمكن تغييرها بحرية، حتى لو تم تعريف القائمة بواسطة `const`. **مثال** diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/quoting-strings-with-single-quotes.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/quoting-strings-with-single-quotes.md index fc86bbac9ec..ab7db64af61 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/quoting-strings-with-single-quotes.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/quoting-strings-with-single-quotes.md @@ -1,6 +1,6 @@ --- id: 56533eb9ac21ba0edf2244b4 -title: اقتباس مقاطع بعلامات اقتباس منفردة (Quoting Strings with Single Quotes) +title: اقتباس مقاطع بعلامات اقتباس منفردة challengeType: 1 videoUrl: 'https://scrimba.com/c/cbQmnhM' forumTopicId: 18260 @@ -31,15 +31,15 @@ const badStr = 'Finn responds, "Let's go!"'; هنا `badStr` سوف تسبب بخطأ. -في goodStr أعلاه، يمكنك استخدام أي من علامات الاقتباس بأمان باستخدام الخط المائل (backslash) الآتية `\` كرمز متحايل (escape character). +في goodStr أعلاه، يمكنك استخدام أي من علامات الاقتباس بأمان باستخدام الخط المائل (backslash) الآتية `\` كرمز التخريج (escape character). **ملاحظة:** يجب عدم الخلط بين الخط المائل (blackslash) الآتية `\` والخط المائل للأمام (forward slash) الآتية `/`. إنهم لا يفعلون الشيء نفسه. # --instructions-- -غيّر المقطع المقدم إلى مقطع مع اقتباسات فردية في البداية والنهاية وبدون رموز متحايلة (escape characters). +غيّر المقطع المقدم إلى مقطع مع اقتباسات فردية في البداية والنهاية وبدون رموز التخريج (escape characters). -الآن، العلامة `` في المقطع تستخدم اقتباسات مزدوجة في كل مكان. سوف تحتاج إلى تغيير الاقتباسات الخارجية إلى اقتباسات فردية حتى تتمكن من إزالة الرموز متحايلة (escape characters). +الآن، العلامة `` في المقطع تستخدم اقتباسات مزدوجة في كل مكان. سوف تحتاج إلى تغيير الاقتباسات الخارجية إلى اقتباسات فردية حتى تتمكن من إزالة رموز التخريج (escape characters). # --hints-- diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/record-collection.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/record-collection.md index d305f50923e..5c5aa16eb7c 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/record-collection.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/record-collection.md @@ -8,9 +8,9 @@ dashedName: record-collection # --description-- -لديك object literal يمثل جزءا من مجموعة سجلات موسيقية الخاصة بك. يحتوي كل سجل على رقم معرف فريد يعدّ الهُوِيَّة والعديد من الخصائص الأخرى. ليست كل السجلات لديها معلومات كاملة. +لديك حروف الكائن التي تمثل جزء من مجموعة سجلاتك الموسيقية. يحتوي كل سجل على رقم معرف فريد يعدّ الهُوِيَّة والعديد من الخصائص الأخرى. ليست كل السجلات لديها معلومات كاملة. -أنت تبدأ بالوظيفة `updateRecords` التي تأخذ object literal يدعي `records`، يحتوي على مجموعة ألبومات موسيقية. و `id`, و `prop` (مثل `artist` أو `tracks`)، و `value`. أكمل الوظيفة باستخدام القواعد أدناه لتعديل الكائن الممرر إلى الوظيفة. +أنت تبدأ بالوظيفة `updateRecords` التي تأخذ الكائن حرفي يدعي `records`، يحتوي على مجموعة ألبومات موسيقية. و `id`, و `prop` (مثل `artist` أو `tracks`)، و `value`. أكمل الوظيفة باستخدام القواعد أدناه لتعديل الكائن الممرر إلى الوظيفة. - الوظيفة الخاص بك يجب أن يرجع دائما كائن مجموعة السجلات بِرُمَّته. - إذا كان `prop` ليس `tracks` و `value` ليس مقطع فارغ، حديث أو تعيين `prop` السجلات إلى `value`. diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/subtract-one-number-from-another-with-javascript.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/subtract-one-number-from-another-with-javascript.md index a37bd0b9e4f..5656103ee81 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/subtract-one-number-from-another-with-javascript.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/subtract-one-number-from-another-with-javascript.md @@ -26,13 +26,13 @@ const myVar = 12 - 6; # --hints-- -The variable `difference` should be equal to `12`. +يجب أن يساوى المتغير `difference` لقيمة `12`. ```js assert(difference === 12); ``` -You should only subtract one number from `45`. +يجب أن تطرح رَقَم واحد فقط من `45`. ```js assert(/difference=45-33;?/.test(__helpers.removeWhiteSpace(code))); diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/understanding-boolean-values.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/understanding-boolean-values.md index 5df0a28bef3..b3220d4f94d 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/understanding-boolean-values.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/understanding-boolean-values.md @@ -1,6 +1,6 @@ --- id: bd7123c9c441eddfaeb5bdef -title: فهم الحالات المنطقية (Understanding Boolean Values) +title: فهم الحالات المنطقية challengeType: 1 videoUrl: 'https://scrimba.com/c/c9Me8t4' forumTopicId: 301176 diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/understanding-case-sensitivity-in-variables.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/understanding-case-sensitivity-in-variables.md index 1ba75aab9cd..b739845c2eb 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/understanding-case-sensitivity-in-variables.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/understanding-case-sensitivity-in-variables.md @@ -1,6 +1,6 @@ --- id: 56533eb9ac21ba0edf2244ab -title: فهم حساسية الحالة الحروف في المتغيرات (Understanding Case Sensitivity in Variables) +title: فهم حساسية الحالة الحروف في المتغيرات challengeType: 1 videoUrl: 'https://scrimba.com/c/cd6GDcD' forumTopicId: 18334 diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/understanding-undefined-value-returned-from-a-function.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/understanding-undefined-value-returned-from-a-function.md index 76a0072edf7..0c6866e2ffe 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/understanding-undefined-value-returned-from-a-function.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/understanding-undefined-value-returned-from-a-function.md @@ -1,6 +1,6 @@ --- id: 598e8944f009e646fc236146 -title: فهم القيم غير المحددة المرتجعة من الوظيفة (Understanding Undefined Value returned from a Function) +title: فهم القيم غير المحددة المرتجعة من الوظيفة challengeType: 1 videoUrl: 'https://scrimba.com/c/ce2p7cL' forumTopicId: 301177 diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/understanding-uninitialized-variables.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/understanding-uninitialized-variables.md index 0be01c9f7ec..d29ad8efa70 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/understanding-uninitialized-variables.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/understanding-uninitialized-variables.md @@ -1,6 +1,6 @@ --- id: 56533eb9ac21ba0edf2244aa -title: فهم المتغيرات غير المهيأة (Understanding Uninitialized Variables) +title: فهم المتغيرات غير المهيأة challengeType: 1 videoUrl: 'https://scrimba.com/c/cBa2JAL' forumTopicId: 18335 @@ -9,7 +9,7 @@ dashedName: understanding-uninitialized-variables # --description-- -عند الإعلان المتغيرات في JavaScript، يكون لها قيمة أولية وهي `undefined`. إذا قمت بعملية رياضية على متغير `undefined` ستكون نتيجتك `NaN` مما يعني "Not a Number" إي "ليس رقما". إذا ربط مقطع نصي مع متغير `undefined`، فستحصل على مقطع نصي بقيمة `undefined`. +عند إعلان المتغيرات في JavaScript، يكون لها قيمة أولية وهي `undefined`. إذا قمت بعملية رياضية على متغير قيمته `undefined` ستكون نتيجتك `NaN` مما يعني "Not a Number" إي "ليس رقما". إذا ربط مقطع نصي مع متغير `undefined`، فستحصل على مقطع نصي بقيمة `undefined`. # --instructions-- diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/use-multiple-conditional-ternary-operators.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/use-multiple-conditional-ternary-operators.md index 4253e56fa1a..c092d0dc54d 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/use-multiple-conditional-ternary-operators.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/use-multiple-conditional-ternary-operators.md @@ -37,7 +37,7 @@ function findGreaterOrEqual(a, b) { } ``` -ويعدّ من أفضل الممارسات تشكيل متعهدين شرطيين متعددين، بحيث يكون كل شرط على خط منفصل، كما هو مبين أعلاه. استخدام عدة مشغلين مشروطين دون إهدار مناسب قد يجعل من الصعب قراءة التعليمات البرمجية الخاصة بك. على سبيل المثال: +ويعدّ من أفضل الممارسات تشكيل متعهدين شرطيين متعددين، بحيث يكون كل شرط على خط منفصل، كما هو مبين أعلاه. استخدام عدة مشغلين مشروطين دون إهدار مناسب قد يجعل من الصعب قراءة الكود الخاص بك. على سبيل المثال: ```js function findGreaterOrEqual(a, b) { diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/use-recursion-to-create-a-countdown.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/use-recursion-to-create-a-countdown.md index 73a20dc54bb..83e94e1dbc6 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/use-recursion-to-create-a-countdown.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/use-recursion-to-create-a-countdown.md @@ -71,7 +71,7 @@ assert( ); ``` -لا ينبغي استخدام المتغيرات العالمية (Global variables) للتخزين المؤقت القائمة (array). +لا ينبغي استخدام المتغيرات الشاملة (Global variables) للتخزين المؤقت للقائمة (array). ```js countdown(1) diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/use-recursion-to-create-a-range-of-numbers.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/use-recursion-to-create-a-range-of-numbers.md index 924c8b46b5b..833632939db 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/use-recursion-to-create-a-range-of-numbers.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/use-recursion-to-create-a-range-of-numbers.md @@ -56,7 +56,7 @@ assert.deepStrictEqual(rangeOfNumbers(6, 9), [6, 7, 8, 9]); assert.deepStrictEqual(rangeOfNumbers(4, 4), [4]); ``` -لا ينبغي استخدام المتغيرات العالمية (Global variables) للتخزين المؤقت القائمة (array). +لا ينبغي استخدام المتغيرات الشاملة (Global variables) للتخزين المؤقت للقائمة (array). ```js rangeOfNumbers(1, 3) diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/debugging/catch-mixed-usage-of-single-and-double-quotes.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/debugging/catch-mixed-usage-of-single-and-double-quotes.md index cb9774663ee..d465c870265 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/debugging/catch-mixed-usage-of-single-and-double-quotes.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/debugging/catch-mixed-usage-of-single-and-double-quotes.md @@ -1,6 +1,6 @@ --- id: 587d7b84367417b2b2512b37 -title: إدراك الاستخدام المختلط لعلامات التنصيص الفردية والزوجية (Catch Mixed Usage of Single and Double Quotes) +title: إدراك الاستخدام المختلط لعلامات التنصيص الفردية والزوجية challengeType: 1 forumTopicId: 301188 dashedName: catch-mixed-usage-of-single-and-double-quotes @@ -10,7 +10,7 @@ dashedName: catch-mixed-usage-of-single-and-double-quotes يسمح JavaScript باستخدام كلا علامات التنصيص، الفردية (`'`) والزوجية (`"`) لإعلان المقطع النصي (string). انتقاء أحد الخيارين هو تفضيل شخصي، مع بعض الاستثناءات. -وجدود الخيارين مجدٍ عندما يحوي المقطع اختصارات أو نص آخر داخل علامات تنصيص. فقط كن حذراً من إغلاق المقطع مبكراً، مما يسبب خطأ في تركيب الجملة. +وجدود الخيارين مجدٍ عندما يحوي المقطع النصي اختصارات أو نص آخر داخل علامات تنصيص. فقط كن حذراً من إغلاق المقطع مبكراً، مما يسبب خطأ في تركيب الجملة. فيما يلي بعض الأمثلة على خلط علامات التنصيص: @@ -22,7 +22,7 @@ const uhOhGroucho = 'I've had a perfectly wonderful evening, but this wasn't it. أما الاثنان الأولان فهما صحيحان، ولكن الثالث غير صحيح. -وبطبيعة الحال، لا بأس من الاستمرار على نوع واحد من علامات التنصيص. يمكنك التعامل مع علامات التنصيص داخل المقطع باستخدام رمز التحايل (`\`): +وبطبيعة الحال، لا بأس من الاستمرار على نوع واحد من علامات التنصيص. يمكنك التعامل مع علامات التنصيص داخل المقطع النصي باستخدام رمز التخريج (`\`): ```js const allSameQuotes = 'I\'ve had a perfectly wonderful evening, but this wasn\'t it.'; @@ -30,11 +30,11 @@ const allSameQuotes = 'I\'ve had a perfectly wonderful evening, but this wasn\'t # --instructions-- -أصلح المقطع بحيث يستخدم علامات تنصيص مختلفة لقيمة `href` أو تحايل على علامات التنصيص الموجودة. حافظ على علامات التنصيص المزدوجة حول المقطع كُلََّه. +أصلح المقطع النصي بحيث يستخدم علامات تنصيص مختلفة لقيمة `href` أو أخرج علامات التنصيص الموجودة. حافظ على علامات التنصيص المزدوجة حول المقطع كُلََّه. # --hints-- -يجب أن يصلح الكود الخاص بك علامات التنصيص حول قيمة `href` وهي `#Home` إما بتغييرها أو معالجتها برمز التحايل (\). +يجب أن يصلح الكود الخاص بك علامات التنصيص حول قيمة `href` وهي `#Home` إما بتغييرها أو معالجتها برمز التخريج (\). ```js assert(code.match(//g)); diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/debugging/catch-unclosed-parentheses-brackets-braces-and-quotes.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/debugging/catch-unclosed-parentheses-brackets-braces-and-quotes.md index 78f9424726d..5f122ece22f 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/debugging/catch-unclosed-parentheses-brackets-braces-and-quotes.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/debugging/catch-unclosed-parentheses-brackets-braces-and-quotes.md @@ -1,6 +1,6 @@ --- id: 587d7b84367417b2b2512b36 -title: 'التقاط الاقواس و الاقتباسات الغير مغلقة (Catch Unclosed Parentheses, Brackets, Braces and Quotes)' +title: 'التقاط الاقواس و الاقتباسات الغير مغلقة' challengeType: 1 forumTopicId: 301190 dashedName: catch-unclosed-parentheses-brackets-braces-and-quotes @@ -8,7 +8,7 @@ dashedName: catch-unclosed-parentheses-brackets-braces-and-quotes # --description-- -يجب أن تكون على علم بخطأ آخر في بناء الجملة, هو أن جميع الأقواس الافتتاحية، والأقواس المعقوفة، والاقتباسات تحتوي على زوج إقفال. يحدث نسيان قطعة ما عندما تحرير كود موجود وإدخال عناصر بأحد أنواع الأزواج. أيضًا، كن حذرًا عند دمج مجموعة الكود في أخري، مثل إضافة وظيفة تعيد التفعيل كحجة إلى طريقة. +يجب أن تكون على علم بخطأ آخر في بناء الجملة, هو أن جميع الأقواس الافتتاحية، والأقواس المعكوفة، والاقتباسات تحتوي على زوج إقفال. يحدث نسيان قطعة ما عندما تحرير كود موجود وإدخال عناصر بأحد أنواع الأزواج. أيضًا، كن حذرًا عند دمج مجموعة الكود في أخري، مثل إضافة وظيفة تعيد التفعيل كحجة إلى طريقة. إحدى الطرق لتجنب هذا الخطأ هي بمجرد كتابة الرمز الافتتاحي، قم على الفور بكتابة رمز الإغلاق، ثم قم بتحريك المؤشر مرة أخرى بينهما، ثم استمر في البرمجة. لحسن الحظ، فإن معظم برامج تحرير الكود الحديثة تولد النصف الثاني من الزوج تلقائيًا. diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/debugging/catch-use-of-assignment-operator-instead-of-equality-operator.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/debugging/catch-use-of-assignment-operator-instead-of-equality-operator.md index ca6cc699cf2..b5237232346 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/debugging/catch-use-of-assignment-operator-instead-of-equality-operator.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/debugging/catch-use-of-assignment-operator-instead-of-equality-operator.md @@ -10,7 +10,7 @@ dashedName: catch-use-of-assignment-operator-instead-of-equality-operator البرامج المتفرعة، أي تلك الذي تقوم بأشياء مختلفة إذا تم الوفاء بشروط معينة، تعتمد على بيانات `if`, و `else if`, و `else` في JavaScript. يأخذ الشرط أحيانًا شكل اختبار ما إذا كانت النتيجة مساوية لقيمة. -هذا المنطق ينطق (باللغة الإنجليزية، على الأقل) كـ "... if x equals y, then" الذي يمكن ترجمته حرفيا إلى كود باستخدام `=` أو مشغل التعيين. هذا يؤدي إلى جعل برنامجك يعمل بشكل غير متوقع. +هذا المنطق ينطق (باللغة الإنجليزية، على الأقل) كـ "... if x equals y, then" الذي يمكن ترجمته حرفية إلى كود باستخدام `=` أو مشغل التعيين. هذا يؤدي إلى جعل برنامجك يعمل بشكل غير متوقع. كما تم تغطيته في التحديات السابقة، يقوم مشغل التعيين (`=`) في JavaScript بإسناد قيمة إلى اسم متغير. و يقوم المشغلون `==` و `===` بالتحقق من المساواة (الثلاثية `===` تتحقق من المساواة الصارمة بمعنى أن كل من القيمة والنوع يطبقان). diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/compare-scopes-of-the-var-and-let-keywords.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/compare-scopes-of-the-var-and-let-keywords.md index 97c526e1997..31f80c53dc6 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/compare-scopes-of-the-var-and-let-keywords.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/compare-scopes-of-the-var-and-let-keywords.md @@ -10,7 +10,7 @@ dashedName: compare-scopes-of-the-var-and-let-keywords إذا كانت `let` غير مألوف، تحقق هذا التحدي عن أختلاف بين كلمة (let) وكلمة (var). -عندما تعلن متغير باستخدام كلمة `var`، يتم الإعلان عنه عالميًا (declared globally)، أو محليًا (locally) إذا تم الإعلان عنه داخل وظيفة (function). +عندما تعلن متغير باستخدام كلمة `var`، يكون للمتغير مجال شامل (global scope)، أو إذا تم الإعلان عنه داخل وظيفة (function) فمجاله محدد (local scope). كلمة `let` تتصرف بالمثل، ولكن مع بعض الميزات الإضافية. عندما تعلن متغير باستخدام `let` داخل الكتلة أو تعبير أو عبارة، فنطاق المتغير يقتصر على تلك الكتلة (block) أو التعبير (statement) أو العبارة (expression). @@ -27,7 +27,7 @@ console.log(i); هنا ستعرض وحدة التحكم القيم `[0, 1, 2]` و `3`. -مع كلمة `var`، يتم الإعلان عن `i` عالميا. لذلك عندما يتم تنفيذ `i++`، فإنه يحدث المتغير العالمي. وهذا الكود مماثل لما يلي: +مع كلمة `var`، يتم الإعلان الشامل عن `i`. لذلك عندما يتم تنفيذ `i++`، فإنه يحدث المتغير الشامل. وهذا الكود مماثل لما يلي: ```js var numArray = []; @@ -41,7 +41,7 @@ console.log(i); هنا ستعرض وحدة التحكم القيم `[0, 1, 2]` و `3`. -هذا السلوك سوف يسبب مشكلات إذا كنت تريد إنشاء وظيفة وتخزينها لاستخدامها لاحقاً داخل حلقة `for` تستخدم متغير `i`. هذا لأن الوظيفة المخزنة سوف تشير دائما إلى قيمة متغير `i` العالمي المحدث. +هذا السلوك سوف يسبب مشكلات إذا كنت تريد إنشاء وظيفة وتخزينها لاستخدامها لاحقاً داخل حلقة `for` تستخدم متغير `i`. هذا لأن الوظيفة المخزنة سوف تشير دائما إلى قيمة متغير `i` الشامل المحدث. ```js var printNumTwo; @@ -57,7 +57,7 @@ console.log(printNumTwo()); هنا ستعرض وحدة التحكم القيمة `3`. -كما تري، `printNumTwo()` يطبع 3 وليس 2. هذا لأن القيمة التي تم تعيينها إلى `i` تم تحديثها و `printNumTwo()` يرجع القيمة `i` العالمية وليس القيمة التي احتواها `i` عندما تم إنشاء الوظيفة في حلقة التكرار. لا تتبع كلمة `let` هذا السلوك: +كما تري، `printNumTwo()` يطبع 3 وليس 2. هذا لأن القيمة التي تم تعيينها إلى `i` تم تحديثها و `printNumTwo()` يرجع القيمة الشاملة `i` وليس القيمة التي احتواها `i` عندما تم إنشاء الوظيفة في حلقة التكرار. لا تتبع كلمة `let` هذا السلوك: ```js let printNumTwo; @@ -74,7 +74,7 @@ console.log(i); هنا ستعرض وحدة التحكم القيمة `2`، وخطأ `i is not defined`. -`i` غير معرف لأنه لم يتم إعلانه في النطاق العالمي (global scope). تم الإعلان عنه فقط ضمن حلقة `for`. أنتج `printNumTwo()` القيمة الصحيحة لأن ثلاث متغيرات `i` مختلفة مع قيم فريدة (0, 1, و 2) تم إنشاؤها بواسطة `let` داخل كود الحلقة التكرارية. +`i` غير معروف لأنه لم يتم إعلانه في المجال الشامل (global scope). تم الإعلان عنه فقط ضمن حلقة `for`. أنتج `printNumTwo()` القيمة الصحيحة لأن ثلاث متغيرات `i` مختلفة مع قيم فريدة (0, 1, و 2) تم إنشاؤها بواسطة `let` داخل كود الحلقة التكرارية. # --instructions-- @@ -90,7 +90,7 @@ console.log(i); assert(!code.match(/var/g)); ``` -المتغير `i` المعلن عنه في `if` يجب أن يساوي المقطع `block scope`. +المتغير `i` المعلن عنه في `if` يجب أن يساوي المقطع النصي `block scope`. ```js assert(code.match(/(i\s*=\s*).*\s*.*\s*.*\1('|")block\s*scope\2/g)); diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/create-strings-using-template-literals.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/create-strings-using-template-literals.md index 453638b1dec..7888fc820cc 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/create-strings-using-template-literals.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/create-strings-using-template-literals.md @@ -1,6 +1,6 @@ --- id: 587d7b8a367417b2b2512b4e -title: Create Strings using Template Literals +title: إنشاء المقاطع النصية باستخدام قوالب النصوص challengeType: 1 forumTopicId: 301200 dashedName: create-strings-using-template-literals @@ -28,7 +28,7 @@ console.log(greeting); ستعرض وحدة التحكم السلاسل `Hello, my name is Zodiac Hasbro!` و `I am 56 years old.`. -لقد حدث الكثير من الأشياء هنا. أولاً، يستخدم المثال الـ backticks الآتية (`` ` ``)، وليس علامات الاقتباس (`'` أو `"`) لاحتواء الـ string. ثانياً، لاحظ أن الـ string متعدد الأسطر في كل من الكود والناتج. هذا يوفر من إدخال `\n` داخل الـ strings. بناء الجملة `${variable}` المستخدم أعلاه هو placeholder. بشكل أساسي، لن تضطر إلى استخدام التسلسل مع عامل التشغيل `+` بعد الآن. لإضافة متغيرات إلى الـ strings، فقط قم بإسقاط المتغير في template string و حاوطه بـ `${` و `}`. وبالمثل، يمكنك تضمين عبارات أخرى في الـ string literal، على سبيل المثال `${a + b}`. هذه الطريقة الجديدة لإنشاء الـ strings تمنحك المزيد من المرونة لإنشاء strings قوية. +لقد حدث الكثير من الأشياء هنا. أولاً، يستخدم المثال الـ backticks الآتية (`` ` ``)، وليس علامات الاقتباس (`'` أو `"`) لاحتواء المقطع النصي. ثانياً، لاحظ أن الـ string متعدد الأسطر في كل من الكود والناتج. هذا يوفر من إدخال `\n` داخل الـ strings. بناء الجملة `${variable}` المستخدم أعلاه هو placeholder. بشكل أساسي، لن تضطر إلى استخدام التسلسل مع عامل التشغيل `+` بعد الآن. لإضافة متغيرات إلى الـ strings، فقط قم بإسقاط المتغير في template string و حاوطه بـ `${` و `}`. وبالمثل، يمكنك تضمين عبارات أخرى في الـ string literal، على سبيل المثال `${a + b}`. هذه الطريقة الجديدة لإنشاء الـ strings تمنحك المزيد من المرونة لإنشاء strings قوية. # --instructions-- diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/write-concise-object-literal-declarations-using-object-property-shorthand.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/write-concise-object-literal-declarations-using-object-property-shorthand.md index dc73482bf70..34f8eb6c31b 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/write-concise-object-literal-declarations-using-object-property-shorthand.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/write-concise-object-literal-declarations-using-object-property-shorthand.md @@ -8,7 +8,7 @@ dashedName: write-concise-object-literal-declarations-using-object-property-shor # --description-- -يضيف ES6 بعض الدعم اللطيف لتعريف الـ objects بسهولة. +يضيف ES6 بعض الدعم اللطيف لتعريف الكائنات بسهولة. ضع في اعتبارك الكود التالي: @@ -27,7 +27,7 @@ const getMousePosition = (x, y) => ({ x, y }); # --instructions-- -قم باستخدام خاصية الـ object القصير مع object literals لإنشاء وإرجاع object بخصائص `name` و `age` و `gender`. +استخدم خاصية الكائن المختصرة مع حروف الكائن لإنشاء كائن بخصائص `name`, و `age`, و `gender`. # --hints-- diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/avoid-mutations-and-side-effects-using-functional-programming.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/avoid-mutations-and-side-effects-using-functional-programming.md index 69564b1ed30..f4ecfcd7f32 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/avoid-mutations-and-side-effects-using-functional-programming.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/avoid-mutations-and-side-effects-using-functional-programming.md @@ -12,7 +12,7 @@ dashedName: avoid-mutations-and-side-effects-using-functional-programming هذا مثال صغير لنمط أكبر بكثير- يمكنك تفعيل وظيفة (function) للتأثير على متغير (variable)، أو قائمة (array)، أو كائن (object). وتغير الوظيفة المتغير أو شيء ما في الكائن. -وأحد المبادئ الأساسية للبرمجة الوظيفية هو عدم تغيير الأشياء. التغييرات تؤدي إلى أعطال. من الأسهل منع الأعطال علما بأن وظائفك (functions) لا تغير أي شيء، بما في ذلك معطيات (arguments) الوظيفة أو أي متغير (variable) عام. +وأحد المبادئ الأساسية للبرمجة الوظيفية هو عدم تغيير الأشياء. التغييرات تؤدي إلى أعطال. من الأسهل منع الأعطال علما بأن وظائفك (functions) لا تغير أي شيء، بما في ذلك معطيات (arguments) الوظيفة أو أي متغير (variable) شامل. المثال السابق لم يكن به أي عمليات معقدة ولكن `splice` غيرت القائمة (array) الأصلية، وأسفرت عن حدوث خطأ. @@ -22,7 +22,7 @@ dashedName: avoid-mutations-and-side-effects-using-functional-programming # --instructions-- -اكتب الكود للوظيفة `incrementer` حتي تنتج قيمة المتغير العام `fixedValue` بعد زيادة قيمته بواحد. +اكتب الكود للوظيفة `incrementer` حتي تنتج قيمة المتغير الشامل `fixedValue` بعد زيادة قيمته بواحد. # --hints-- @@ -40,7 +40,7 @@ const __newValue = incrementer(); assert(__newValue === 5); ``` -يجب أن تنتج الوظيفة `incrementer` قيمة استناداً إلى قيمة المتغير العام `fixedValue`. +يجب أن تنتج الوظيفة `incrementer` قيمة استناداً إلى قيمة المتغير الشامل `fixedValue`. ```js (function () { diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/learn-about-functional-programming.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/learn-about-functional-programming.md index 67c15cc6680..cb50314acba 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/learn-about-functional-programming.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/learn-about-functional-programming.md @@ -12,7 +12,7 @@ dashedName: learn-about-functional-programming تتعلق البرمجة الوظيفية (Functional) بما يلي: -1) وظائف منعزلة (Isolated functions) - لا تعتمد على حالة البرنامَج، الذي يشمل المتغيرات العامة (global) القابلة للتغيير +1) وظائف منعزلة (Isolated functions) - لا تعتمد على حالة البرنامَج، الذي يشمل المتغيرات الشاملة (global) القابلة للتغيير 2) الوظائف الخالصة (Pure functions) - نفس الإدخال يعطي دائمًا نفس الإخراج diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/pass-arguments-to-avoid-external-dependence-in-a-function.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/pass-arguments-to-avoid-external-dependence-in-a-function.md index cb28c538ff1..2ac83581024 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/pass-arguments-to-avoid-external-dependence-in-a-function.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/pass-arguments-to-avoid-external-dependence-in-a-function.md @@ -10,7 +10,7 @@ dashedName: pass-arguments-to-avoid-external-dependence-in-a-function التحدي الأخير كان يقترب خطوة من مبادئ الـ functional programming، ولكن لا يزال هناك شيء مفقود. -لم نقم بتغيير قيمة المتغير الـ global، ولكن الدالة `incrementer` لن تعمل بدون وجود المتغير الـ global و هو `fixedValue`، هناك. +لم نقم بتغيير قيمة المتغير الشامل (global)، ولكن الوظيفة `incrementer` لن تعمل بدون وجود المتغير الـشامل و هو `fixedValue`، هناك. وهناك مبدأ آخر للبرمجة الوظيفية (functional programming) وهو إعلان تبعياتك (dependencies) بشكل صريح. هذا يعني إذا كان الـ function يعتمد على متغير أو object موجود، قم بتمرير هذا المتغير أو الـ object مباشرة إلى الـ function كـ argument. diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/refactor-global-variables-out-of-functions.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/refactor-global-variables-out-of-functions.md index 1a272d05998..eb8a48ed65b 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/refactor-global-variables-out-of-functions.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/refactor-global-variables-out-of-functions.md @@ -1,6 +1,6 @@ --- id: 587d7b8f367417b2b2512b60 -title: تعديل المتغيرات العالمية (Global Variables) لأخراجهم من الوظائف (Functions) +title: تعديل المتغيرات الشاملة (Global Variables) لأخراجهم من الوظائف (Functions) challengeType: 1 forumTopicId: 301235 dashedName: refactor-global-variables-out-of-functions @@ -12,7 +12,7 @@ dashedName: refactor-global-variables-out-of-functions 1) لا تغير متغير (variable) أو كائن (object) - أنشئ متغيرات و كائنات (objects) جديدة و منشئا من الوظيفة (function) إذا لزم الأمر. تلميح: باستخدام شيء مثل `const newArr = arrVar`، حيث `arrVar` هو array، سوف يقوم ببساطة بإنشاء مرجع إلى المتغير الحالي وليس نسخة. لذا فإن تغيير قيمة في `newArr` سيغير القيمة في `arrVar`. -2) إعلان وسائط الوظيفة (function parameters) - يعتمد حسابات داخل الوظيفة (function) فقط على المعطيات (arguments) التي تمر إلى الوظيفة (function)، ولا تعتمد على أي كائن (object) أو متغير (variable) عام (global). +2) أعلن وسائط الوظيفة (function parameters) - تعتمد الحسابات داخل الوظيفة (function) فقط على المعطيات (arguments) التي تعطى إلى الوظيفة (function)، ولا تعتمد على أي كائن (object) أو متغير (variable) شامل (global). إن إضافة واحد إلى رقما ليس مثيراً جداً، ولكن يمكننا تطبيق هذه المبادئ عند العمل مع arrays أو objects أكثر تعقيداً. diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/return-a-sorted-array-without-changing-the-original-array.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/return-a-sorted-array-without-changing-the-original-array.md index cc07df5eb51..5be68a28d76 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/return-a-sorted-array-without-changing-the-original-array.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/return-a-sorted-array-without-changing-the-original-array.md @@ -1,6 +1,6 @@ --- id: 587d7da9367417b2b2512b6a -title: Return a Sorted Array Without Changing the Original Array +title: أرجع قائمة مفرزة دون تغير القائمة الأصلية challengeType: 1 forumTopicId: 301237 dashedName: return-a-sorted-array-without-changing-the-original-array @@ -8,15 +8,15 @@ dashedName: return-a-sorted-array-without-changing-the-original-array # --description-- -التأثير الجانبي لـ `sort` هو أنه يغير ترتيب العناصر في ال array الأصلية. وبعبارة أخرى، فإنه يغير ال array في مكانها. إحدى الطرق لتجنب ذلك هي أن تقوم أولاً بلزق array فارغة إلى ال array التي يتم فرزها (تذكر أن `slice` و `concat` تعيد array جديدة)، ثم قم بتشغيل `sort`. +التأثير الجانبي لطريقة `sort` هو أنخها تغير ترتيب العناصر في القائمة (array) الأصلية. وبعبارة أخرى، فإنه يغير ال array في مكانها. إحدى الطرق لتجنب ذلك هي أن تقوم أولاً بلزق array فارغة إلى ال array التي يتم فرزها (تذكر أن `slice` و `concat` تعيد array جديدة)، ثم قم بتشغيل `sort`. # --instructions-- -استخدم `sort` في الدالة `nonMutatingSort` لفرز عناصر array بالترتيب التصاعدي. يجب أن تعيد الدالة array جديدا، وليس تغيير متغير `globalArray`. +استخدم `sort` في الوظيفة `nonMutatingSort` لفرز عناصر array بالترتيب التصاعدي. يجب أن تعيد الوظيفة array جديدا، وليس تغيِّر متغير `globalArray`. # --hints-- -يجب أن يستخدم الكود الخاص بك دالة `sort`. +يجب أن يستخدم الكود الخاص بك طريقة `sort`. ```js assert(nonMutatingSort.toString().match(/\.sort/g)); @@ -37,26 +37,26 @@ assert( ); ``` -`nonMutatingSort(globalArray)` لا ينبغي أن تكون hard coded. +`nonMutatingSort(globalArray)` لا ينبغي أن تكون قيمها مثبتة (hard-coded). ```js assert(!nonMutatingSort.toString().match(/\[.*?[23569].*?\]/gs)); ``` -وينبغي أن تعيد الدالة array جديدا، وليس ال array التي تمرر إليها. +وينبغي أن تعيد الوظيفة array جديدا، وليس ال array التي أعطت ها. ```js assert(nonMutatingSort(globalArray) !== globalArray); ``` -`nonMutatingSort([1, 30, 4, 21, 100000])` يجب ان يعيد `[1, 4, 21, 30, 100000]`. +`nonMutatingSort([1, 30, 4, 21, 100000])` يجب ان تعيد `[1, 4, 21, 30, 100000]`. ```js assert(JSON.stringify(nonMutatingSort([1, 30, 4, 21, 100000])) === JSON.stringify([1, 4, 21, 30, 100000])) ``` -`nonMutatingSort([140000, 104, 99])` يجب ان يعيد `[99, 104, 140000]`. +`nonMutatingSort([140000, 104, 99])` يجب ان تعيد `[99, 104, 140000]`. ```js assert(JSON.stringify(nonMutatingSort([140000, 104, 99])) === diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/understand-the-hazards-of-using-imperative-code.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/understand-the-hazards-of-using-imperative-code.md index 928431bbc65..ae98f8e66c9 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/understand-the-hazards-of-using-imperative-code.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/understand-the-hazards-of-using-imperative-code.md @@ -12,7 +12,7 @@ Functional programming هي عادة جيدة. إنها تجعل الكود ال في اللغة الإنجليزية (والعديد من اللغات الأخرى) ، يتم استخدام صيغة الأمر لإعطاء الأوامر. وبالمثل ، فإن أسلوب الأمر في البرمجة هو الذي يعطي الكمبيوتر مجموعة من العبارات لأداء مهمة ما. -غالبًا ما تغير البيانات حالة البرنامج ، مثل تحديث المتغيرات العالمية(global variables). المثال الكلاسيكي هو كتابة حلقة `for` تعطي توجيهات دقيقة للتكرار على فهارس ال array. +غالبًا ما تغير البيانات حالة البرنامج ، مثل تحديث المتغيرات الشاملة (global variables). المثال الكلاسيكي هو كتابة حلقة `for` تعطي توجيهات دقيقة للتكرار على فهارس ال array. في المقابل، تكون البرمجة الوظيفية (functional programming) من أشكال البرمجة المعلنة (declarative programming). أنت تخبر الكمبيوتر بما تريد فعله عن طريق استدعاء method أو function. diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/understand-own-properties.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/understand-own-properties.md index 007005a1373..5a49dc2ece6 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/understand-own-properties.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/understand-own-properties.md @@ -54,7 +54,7 @@ assert(ownProps.indexOf('name') !== -1 && ownProps.indexOf('numLegs') !== -1); assert(!/Object(\.keys|\[(['"`])keys\2\])/.test(code)); ``` -يجب عليك حل هذا التحدي بدون hardcoding مصفوفة `ownProps`. +يجب عليك حل هذا التحدي بدون إدخال قيم مثبتة (hard-coding) في قائمة `ownProps`. ```js assert( diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/use-closure-to-protect-properties-within-an-object-from-being-modified-externally.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/use-closure-to-protect-properties-within-an-object-from-being-modified-externally.md index 86125d108ed..29c1ceb7889 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/use-closure-to-protect-properties-within-an-object-from-being-modified-externally.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/use-closure-to-protect-properties-within-an-object-from-being-modified-externally.md @@ -18,7 +18,7 @@ bird.name = "Duffy"; لذلك، يمكن لأي جزء من الكود الخاص بك تغيير اسم `bird` بسهولة إلى أي قيمة. فكروا في أشياء مثل كلمات المرور والحسابات المصرفية التي يسهل تغييرها من قبل أي جزء من الكود الخاص بك. وهذا يمكن أن يسبب الكثير من المشاكل. -وأبسط طريقة لجعل هذه الخاصية العامة، خاصة، هي عن طريق إنشاء متغير داخل الـ constructor function. وهذا يغير نطاق ذلك المتغير بحيث يكون ضمن الـ constructor function علي عكس أن يكون متاحا بشكل global. وبهذه الطريقة، لا يمكن الوصول إلى المتغير وتغييره إلا بواسطة method تكون أيضا ضمن الـ constructor function. +وأبسط طريقة لجعل هذه الخاصية العامة، خاصة، هي عن طريق إنشاء متغير داخل الـ constructor function. وهذا يغير مجال ذلك المتغير بحيث يكون ضمن الـ constructor function علي عكس أن يكون متاحا بشكل شامل (global). وبهذه الطريقة، لا يمكن الوصول إلى المتغير وتغييره إلا بواسطة method تكون أيضا ضمن الـ constructor function. ```js function Bird() { diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/regular-expressions/ignore-case-while-matching.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/regular-expressions/ignore-case-while-matching.md index 2569210eee0..8e323e3c892 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/regular-expressions/ignore-case-while-matching.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/regular-expressions/ignore-case-while-matching.md @@ -8,7 +8,7 @@ dashedName: ignore-case-while-matching # --description-- -حتى الآن، لقد نظرتم إلى regex للقيام بمطابقة حرفية من الـ strings. ولكن في بعض الأحيان قد ترغب في مطابقة الاختلافات في الحالة. +حتى الآن، لقد نظرت إلى regex للتطابق المقاطع النصية حرفيًا. ولكن في بعض الأحيان قد ترغب في مطابقة الاختلافات في الحالة. Case و هي الحالة (او في بعض الاحيان letter case) هي الفرق بين uppercase letters و lowercase letters اي الاحرف الكبيرة و الاحرف الصغيرة. أمثلة للحروف الكبيرة هي `A` و `B` و `C`. أمثلة للحروف الصغيرة هي `a` و `b` و `c`. diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/regular-expressions/match-literal-strings.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/regular-expressions/match-literal-strings.md index 77475b0dae7..fb762fe43fc 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/regular-expressions/match-literal-strings.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/regular-expressions/match-literal-strings.md @@ -1,6 +1,6 @@ --- id: 587d7db3367417b2b2512b8f -title: مطابقة السلاسل النصية (Match Literal Strings) +title: مطابقة النصوص الحرفية challengeType: 1 forumTopicId: 301355 dashedName: match-literal-strings @@ -49,7 +49,7 @@ waldoRegex.lastIndex = 0; assert(!waldoRegex.test('Somewhere is hiding in this text.')); ``` -يجب عليك إجراء مطابقة حرفية لالمقطع (string) النصية باستخدام regex الخاص بك. +يجب عليك إجراء مطابقة حرفية للمقطع النصية (string) باستخدام regex الخاص بك. ```js assert(!/\/.*\/i/.test(code)); diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/regular-expressions/match-single-character-with-multiple-possibilities.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/regular-expressions/match-single-character-with-multiple-possibilities.md index 024781b76b6..cf5d9ef796c 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/regular-expressions/match-single-character-with-multiple-possibilities.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/regular-expressions/match-single-character-with-multiple-possibilities.md @@ -30,7 +30,7 @@ bogStr.match(bgRegex); # --instructions-- -استخدم character class مع حروف (`a`, `e`, `i`, `o`, `u`) في regex الخاص بك `vowelRegex` للعثور على جميع الـ vowels في السلسلة `quoteSample`. +استخدم character class مع حروف (`a`, `e`, `i`, `o`, `u`) في regex الخاص بك `vowelRegex` للعثور على جميع الـ vowels في المقطع النصي `quoteSample`. **ملاحظة**: تأكد من مطابقة الـ vowels الكبيرة و الصغيرة. diff --git a/curriculum/challenges/arabic/05-back-end-development-and-apis/basic-node-and-express/serve-json-on-a-specific-route.md b/curriculum/challenges/arabic/05-back-end-development-and-apis/basic-node-and-express/serve-json-on-a-specific-route.md index 1e977061c7c..91adaf364a0 100644 --- a/curriculum/challenges/arabic/05-back-end-development-and-apis/basic-node-and-express/serve-json-on-a-specific-route.md +++ b/curriculum/challenges/arabic/05-back-end-development-and-apis/basic-node-and-express/serve-json-on-a-specific-route.md @@ -18,7 +18,7 @@ Serve the object `{"message": "Hello json"}` as a response, in JSON format, to G # --hints-- -The endpoint `/json` should serve the json object `{"message": "Hello json"}` +The endpoint `/json` should serve the JSON object `{"message": "Hello json"}` ```js (getUserInput) => diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f42a021625f656101ef93.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f42a021625f656101ef93.md index e552bbdadb4..87f718e21c0 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f42a021625f656101ef93.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f42a021625f656101ef93.md @@ -9,7 +9,7 @@ dashedName: step-22 المسافة الأفقية بين العناصر ذات الأهمية المتساوية يمكن أن تزيد من سهولة قراءة النص الخاص بك. -Wrap the text `2/3 cup (55g)` in a `span` element. +غلف النص `2/3 cup (55g)` داخل عنصر `span`. # --hints-- @@ -19,13 +19,13 @@ Wrap the text `2/3 cup (55g)` in a `span` element. assert(document.querySelector('span')); ``` -Your `span` element should have the text `2/3 cup (55g)`. +يجب أن يحتوي عنصر `span` على النص `2/3 cup (55g)`. ```js assert(document.querySelector('span')?.textContent?.trim() === '2/3 cup (55g)'); ``` -Your `p` element should still have the text `Serving size 2/3 cup (55g)`. +يجب أن يحتوي عنصرك `p` على النص `Serving size 2/3 cup (55g)`. ```js assert(document.querySelectorAll('p')?.[1]?.innerText === 'Serving size 2/3 cup (55g)'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f4bfb9de4a16703b56eb6.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f4bfb9de4a16703b56eb6.md index 2271e862d0a..2ef7a879e78 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f4bfb9de4a16703b56eb6.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f4bfb9de4a16703b56eb6.md @@ -7,17 +7,17 @@ dashedName: step-23 # --description-- -Now we can add the horizontal spacing using `flex`. In your `p` selector, add a `display` property set to `flex` and a `justify-content` property set to `space-between`. +الآن يمكنك إضافة المسافات الأفقية باستخدام `flex`. في منتقيك `p`، أضف خاصية `display` بقيمة `flex` وخاصية `justify-content` بقيمة `space-between`. # --hints-- -Your `p` selector should have a `display` property set to `flex`. +يجب أن يحتوي منتقيك `p` على خاصية `display` بقيمة `flex`. ```js assert(new __helpers.CSSHelp(document).getStyle('p')?.display === 'flex'); ``` -Your `p` selector should have a `justify-content` property set to `space-between`. +يجب أن يحتوي منتقيك `p` على `justify-content` بقيمة `space-between`. ```js assert(new __helpers.CSSHelp(document).getStyle('p')?.justifyContent === 'space-between'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f4ec58334106a4170c2a8.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f4ec58334106a4170c2a8.md index aba847767f9..e3a47842c11 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f4ec58334106a4170c2a8.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f4ec58334106a4170c2a8.md @@ -7,7 +7,7 @@ dashedName: step-26 # --description-- -Create a new `div` element below your `header` element, and give it a `class` attribute set to `divider large`. +أنشئ `div` جديد أسفل عنصر `header` وإعطائه سمة `class` بقيمة `divider large`. # --hints-- @@ -23,7 +23,7 @@ assert(document.querySelectorAll('div')?.length === 3); assert(document.querySelector('.label')?.lastElementChild?.localName === 'div'); ``` -Your new `div` element should have the `class` attribute set to `divider large`. +عنصر `div` الجديد الخاص بك يجب أن يحتوي على سمة `class` بقيمة `divider large`. ```js const div = document.querySelector('.label')?.lastElementChild; diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f4f9e4a40566b776a8f38.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f4f9e4a40566b776a8f38.md index 43cbb0e4f1d..a04e96d9946 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f4f9e4a40566b776a8f38.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f4f9e4a40566b776a8f38.md @@ -7,29 +7,29 @@ dashedName: step-27 # --description-- -Create a new `.large` selector and give it a `height` property set to `10px`. Also create an `.large, .medium` selector and set the `background-color` property to `black`. +أنشئ منتقي `.large` جديد وإعطائه خاصية `height` بقيمة `10px`. أنشئ منتقي `.large, .medium` أيضا, وتعيين خاصية `background-color` بقيمة `black`. # --hints-- -You should have a new `.large` selector. +يجب أن يكون لديك منتقي `.large` جديد. ```js assert(new __helpers.CSSHelp(document).getStyle('.large')); ``` -Your `.large` selector should have a `height` property set to `10px`. +يجب أن يحتوي منتقيك `.large` على خاصية `height` بقيمة `10px`. ```js assert(new __helpers.CSSHelp(document).getStyle('.large')?.height === '10px'); ``` -You should have a new `.large, .medium` selector. +يجب أن يكون لديك منتقي `.large, .medium` جديد. ```js assert(new __helpers.CSSHelp(document).getStyle('.large, .medium')); ``` -Your `.large, .medium` selector should have a `background-color` property set to `black`. +يجب أن يحتوي لمنتقيك `.large, .medium` على `background-color` بقيمة `black`. ```js assert(new __helpers.CSSHelp(document).getStyle('.large, .medium')?.backgroundColor === 'black'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f50473cc0196c6dd3892a.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f50473cc0196c6dd3892a.md index 475d06a4d66..730d64a4ef2 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f50473cc0196c6dd3892a.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f50473cc0196c6dd3892a.md @@ -7,13 +7,13 @@ dashedName: step-28 # --description-- -You may notice there is still a small border at the bottom of your `.large` element. To reset this, give your `.large, .medium` selector a `border` property set to `0`. +يمكنك ملاحظة أنه لا يزال هناك حدود صغيرة في أسفل عنصر `.large`. لإعادة تعيين هذا، أعطي منتقي `.large, .medium` خاصية `border` بقيمة `0`. -Note: the `medium`(medium) class will be utilized in step 37 for the thinner bars of the nutrition label. +ملاحظة: سيتم استخدام فئة `medium`(متوسط) في الخطوة 37 لأشرطة الأنحف في nutrition label. # --hints-- -Your `.large, .medium` selector should have a `border` property set to `0`. +يجب أن يكون لمنتقيك `.large, .medium` خاصية `border` بقيمة `0`. ```js assert(new __helpers.CSSHelp(document).getStyle('.large, .medium')?.borderWidth === '0px'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f51257a8a516d80b6c743.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f51257a8a516d80b6c743.md index fecd98374cc..304f2775147 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f51257a8a516d80b6c743.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f51257a8a516d80b6c743.md @@ -7,7 +7,7 @@ dashedName: step-29 # --description-- -Create a new `div` below your `.large` element and give it a `class` attribute set to `calories-info`. +أنشئ `div` جديد أسفل عنصر `.large` وإعطائه سمة `class` بقيمة `calories-info`. # --hints-- @@ -23,7 +23,7 @@ assert(document.querySelectorAll('div')?.length === 4); assert(document.querySelector('.label')?.lastElementChild?.classList?.contains('calories-info')); ``` -Your new `div` should come after the `.large` element. +يجب أن يأتي `div` الجديد بعد عنصر `.large`. ```js assert(document.querySelector('.label')?.lastElementChild?.previousElementSibling?.classList?.contains('large')); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f51e4e5b24a6e80eccce1.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f51e4e5b24a6e80eccce1.md index ebec8474544..1fcb753a676 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f51e4e5b24a6e80eccce1.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f51e4e5b24a6e80eccce1.md @@ -7,36 +7,36 @@ dashedName: step-30 # --description-- -Within your `.calories-info` element, create a `div` element. Give that `div` element a `class` attribute set to `left-container`. Within the newly created `div` element, create a `h2` element with the text `Amount per serving`. Give the `h2` element a `class` attribute set to `bold small-text`. +داخل عنصرك `.calories-info`، أنشئ عنصر `div`. اعطي هذا العنصر `div` سمة `class` بقيمة `left-container`. داخل عنصر المنشئ حديثا `div`، أضف عنصر `h2` جديد مع النص `Amount per serving`. أعطِ عنصر `h2` السمة `class` بقيمة `bold small-text`. # --hints-- -You should create a new `div` element within your `.calories-info` element. +يجب عليك إنشاء عنصر `div` جديد داخل عنصرك `.calories-info`. ```js assert(document.querySelector('.calories-info')?.children?.[0]?.localName === 'div'); ``` -Your new `div` element should have a `class` attribute set to `left-container`. +يجب أن يحتوي عنصرك `div` على سمة `class` بقيمة `left-container`. ```js assert(document.querySelector('.calories-info')?.children?.[0]?.classList.contains('left-container')); ``` -You should create a new `h2` element within your `.left-container` element. +يجب عليك إنشاء عنصر `h2` جديد داخل عنصرك `.left-container`. ```js assert(document.querySelector('.left-container')?.children?.[0]?.localName === 'h2'); ``` -Your new `h2` element should have a `class` attribute set to `bold small-text`. +يجب أن يحتوي عنصر `h2` الجديد على سمة `class` بقيمة `bold small-text`. ```js assert(document.querySelector('.left-container')?.children?.[0]?.classList.contains('bold')); assert(document.querySelector('.left-container')?.children?.[0]?.classList.contains('small-text')); ``` -Your new `h2` element should have the text `Amount per serving`. +يجب أن يحتوي عنصر `h2` الجديد على النص `Amount per serving`. ```js assert(document.querySelector('.left-container')?.children?.[0]?.innerText === 'Amount per serving'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f522dea4f776f64dc3e91.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f522dea4f776f64dc3e91.md index beeeda118ad..6fd66331f79 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f522dea4f776f64dc3e91.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f522dea4f776f64dc3e91.md @@ -9,17 +9,17 @@ dashedName: step-31 وحدة `rem` تعني `root em`، وهي تتعلق بحجم الخط (font size) لعنصر `html`. -Create an `.small-text` selector and set the `font-size` to `0.85rem`, which would calculate to be roughly `13.6px` (remember that you set your `html` to have a `font-size` of `16px`). +أنشئ منتقي `.small-text` وعين `font-size` بقيمة `0.85rem`، التي ستحسب على أنها تقريبا `13.6px` (تذكر أنك تعيين `html` ليحتوي على `font-size` بقيمة `16px`). # --hints-- -You should have an `.small-text` selector. +يجب أن يكون لديك منتقي `.small-text`. ```js assert(new __helpers.CSSHelp(document).getStyle('.small-text')); ``` -Your `.small-text` selector should have a `font-size` property set to `0.85rem`. +يجب أن يحتوي منتقيك `.small-text` على خاصية `font-size` بقيمة `0.85rem`. ```js assert(new __helpers.CSSHelp(document).getStyle('.small-text')?.fontSize === '0.85rem'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f5486b8fd4b71633f69b0.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f5486b8fd4b71633f69b0.md index 944f8ee326a..8691fe0ed7c 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f5486b8fd4b71633f69b0.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f5486b8fd4b71633f69b0.md @@ -7,35 +7,35 @@ dashedName: step-33 # --description-- -Below your `.small-text` element, create a new `p` element with the text `Calories`. Also below the `.left-container` element, create a new `span` element with the text `230`. +أسفل عنصرك `.small-text`، أنشئ عنصر `p` جديد مع النص `Calories`. أسفل عنصرك `.left-container`، أنشئ عنصر `span` جديد مع النص `230`. # --hints-- -You should have a new `p` element within your `.calories-info` element. +يجب أن يكون لديك عنصر `p` جديد داخل عنصرك `.calories-info`. ```js assert(document.querySelector('.calories-info')?.querySelector('p')) ``` -You should have a new `span` element within your `.calories-info` element. +يجب أن يكون لديك عنصر `span` جديد داخل عنصرك `.calories-info`. ```js assert(document.querySelector('.calories-info')?.querySelector('span')) ``` -Your `p` element should come after your `.small-text` element. +يجب أن يأتي عنصرك `p` بعد عنصرك `.small-text`. ```js assert(document.querySelector('.small-text')?.nextElementSibling?.localName === 'p'); ``` -Your `p` element should have the text `Calories`. +يجب أن يحتوي عنصرك `p` على النص `Calories`. ```js assert(document.querySelector('.left-container')?.lastElementChild?.innerText === 'Calories'); ``` -Your `span` element should come after your `.left-container` element. +يجب أن يأتي عنصرك `span` بعد عنصرك `.left-container`. ```js assert(document.querySelector('.left-container')?.nextElementSibling?.localName ==='span'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f5af373a68e744a3c5a76.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f5af373a68e744a3c5a76.md index 5d43b0c92d8..e475239568f 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f5af373a68e744a3c5a76.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f5af373a68e744a3c5a76.md @@ -7,7 +7,7 @@ dashedName: step-36 # --description-- -Create a `.calories-info span` selector, set its `font-size` to `2.4em` and `font-weight` to `700`. +أنشئ منتقي `.calories-info span`، عين `font-size` الخاص به بقيمة `2.4em` و `font-weight` بقيمة `700`. # --hints-- @@ -17,13 +17,13 @@ Create a `.calories-info span` selector, set its `font-size` to `2.4em` and `fon assert(new __helpers.CSSHelp(document).getStyle('.calories-info span')); ``` -Your `.calories-info span` selector should have a `font-size` property set to `2.4em`. +يجب أن يحتوي منتقيك `.calories-info span` على خاصية `font-size` بقيمة `2.4em`. ```js assert(new __helpers.CSSHelp(document).getStyle('.calories-info span')?.fontSize === '2.4em'); ``` -Your `.calories-info span` selector should have a `font-weight` property set to `700`. +يجب أن يحتوي منتقيك `.calories-info span` على خاصية `font-weight` بقيمة `700`. ```js assert(new __helpers.CSSHelp(document).getStyle('.calories-info span')?.fontWeight === '700'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f5fd85d0062761f288364.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f5fd85d0062761f288364.md index c13e41f599a..6527ded3c92 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f5fd85d0062761f288364.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f5fd85d0062761f288364.md @@ -9,11 +9,11 @@ dashedName: step-37 غالبًا ما تكون الطباعة (Typography) فنًا أكثر منها علمًا. قد تضطر إلى تعديل أشياء مثل المحاذاة حتى تبدو صحيحة. -Give your `.calories-info span` selector a `margin` set to `-7px -2px`. سيؤدي هذا إلى تحويل النص الخاص بك `230` إلى موضعه. +أعطي منتقيك `.calories-info span` خاصية `margin` بقيمة `-7px -2px`. سيؤدي هذا إلى تحويل النص الخاص بك `230` إلى موضعه. # --hints-- -Your `.calories-info span` selector should have a `margin` set to `-7px -2px`. +يجب أن يحتوي منتقي `.calories-info span` على `margin` بقيمة `-7px -2px`. ```js assert(new __helpers.CSSHelp(document).getStyle('.calories-info span')?.margin === '-7px -2px'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f61338c8ca176d6445574.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f61338c8ca176d6445574.md index 6b11ddc3e2d..1409bc37178 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f61338c8ca176d6445574.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f61338c8ca176d6445574.md @@ -7,7 +7,7 @@ dashedName: step-38 # --description-- -Below your `.calories-info` element, add a `div` with the `class` attribute set to `divider medium`. +أسفل عنصرك `.calories-info`، أضف `div` مع سمة `class` بقيمة `divider medium`. # --hints-- @@ -17,7 +17,7 @@ Below your `.calories-info` element, add a `div` with the `class` attribute set assert(document.querySelectorAll('.label > div')?.length === 3) ``` -Your new `div` should have the `class` attribute set to `divider medium`. يجب أن يكون هذا العنصر الأخير في عنصر `.label` الخاص بك. +يجب أن يحتوي عنصر `div` الجديد على سمة `class` بقيمة `divider medium`. يجب أن يكون هذا العنصر الأخير في عنصر `.label` الخاص بك. ```js const div = document.querySelector('.label')?.lastElementChild; diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f666ac5edea782feb7e75.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f666ac5edea782feb7e75.md index f074a2cf764..fcb5fe060eb 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f666ac5edea782feb7e75.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f666ac5edea782feb7e75.md @@ -17,7 +17,7 @@ You should create an `.medium` selector. assert(new __helpers.CSSHelp(document).getStyle('.medium')); ``` -Your `.medium` selector should have a `height` property set to `5px`. +يجب أن يكون لمنتقيك `.medium` خاصية `height` بقيمة `5px`. ```js assert(new __helpers.CSSHelp(document).getStyle('.medium')?.height === '5px'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f671b6d1919792745aa5d.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f671b6d1919792745aa5d.md index 17595c04aed..0391349f17a 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f671b6d1919792745aa5d.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f671b6d1919792745aa5d.md @@ -7,11 +7,11 @@ dashedName: step-40 # --description-- -Create a new `div` element below your `.medium` element. Give it a `class` attribute set to `daily-value small-text`. Within this new `div`, add a `p` element with the text `% Daily Value *`, and set the `class` attribute to `bold right`. +أنشئ عنصر `div` جديد تحت عنصرك `.medium`. أعطه سمة `class` بقيمة `daily-value small-text`. داخل هذا الـ `div` الجديد، أضف عنصر `p` مع النص `% Daily Value *`، وتعيين سمة `class` إلى `bold right`. # --hints-- -You should create a new `div` element after your `.medium` element. +يجب عليك إنشاء عنصر `div` جديد بعد عنصرك `.medium`. ```js assert(document.querySelector('.label')?.lastElementChild?.localName === 'div'); @@ -19,7 +19,7 @@ assert(document.querySelector('.label')?.lastElementChild?.previousElementSiblin assert(document.querySelector('.label')?.lastElementChild?.previousElementSibling?.classList?.contains('medium')); ``` -Your new `div` should have a `class` attribute set to `daily-value small-text`. +يجب أن يحتوي الـ `div` الجديد على سمة `class` بقيمة `daily-value small-text`. ```js assert(document.querySelector('.label')?.lastElementChild?.classList?.contains('daily-value')); @@ -38,7 +38,7 @@ assert(document.querySelector('.label')?.lastElementChild?.firstElementChild?.lo assert(document.querySelector('.label')?.lastElementChild?.firstElementChild?.textContent === '% Daily Value *'); ``` -Your new `p` element should have a `class` attribute set to `bold right`. +يجب أن يحتوي عنصر `p` الجديد على سمة `class` بقيمة `bold right`. ```js assert(document.querySelector('.label')?.lastElementChild?.firstElementChild?.classList?.contains('bold')); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f6823d0815b7a991f2a75.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f6823d0815b7a991f2a75.md index 576bb7bc622..6f4718e9f24 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f6823d0815b7a991f2a75.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f6823d0815b7a991f2a75.md @@ -7,11 +7,11 @@ dashedName: step-42 # --description-- -Use your existing `.divider` element as an example to add a new divider after the `p` element. +استخدم عنصر `.divider` الموجود كمثال لإضافة divider جديد بعد عنصر `p`. # --hints-- -You should create a new `div` within your `.daily-value` element. +يجب عليك إنشاء `div` جديد بعد عنصرك `.daily-value`. ```js assert(document.querySelectorAll('.daily-value.small-text > div')?.length === 1) diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f6b2d164f81809efd9bdc.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f6b2d164f81809efd9bdc.md index 2d5d5dbadcb..980c9d6ceb4 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f6b2d164f81809efd9bdc.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f6b2d164f81809efd9bdc.md @@ -7,7 +7,7 @@ dashedName: step-43 # --description-- -بعد آخر عنصر `.divider`، أنشئ عنصر `p` وأعطيه النص `Total Fat 8g 10%`. قم بتغليف `Total Fat` في `span` مع `class` تم تعيينه إلى `bold`. Wrap `10%` in another `span` element with the `class` set to `bold`. Also wrap the words `Total Fat 8g` in an additional `span` element for alignment. +بعد آخر عنصر `.divider`، أنشئ عنصر `p` وأعطيه النص `Total Fat 8g 10%`. قم بتغليف `Total Fat` في `span` مع `class` تم تعيينه إلى `bold`. غلف `10%` داخل عنصر `span` مع `class` بقيمة `bold`. غلف `Total Fat 8g` داخل عنصر إضافي `span` أيضا، من أجل المحاذاة (alignment). # --hints-- @@ -23,37 +23,37 @@ assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.loca assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.innerText?.match(/Total Fat[\s|\n]+8g[\s|\n]+10%/)); ``` -Your `p` element should have three `span` elements. +يجب أن يحتوي عنصرك `p` على ثلاث عناصر `span`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.querySelectorAll('span')?.length === 3); ``` -One `span` element should wrap the text `Total Fat`. +يجب أن يغلف عنصر `span` النص `Total Fat`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.querySelector('span > span')?.innerText === 'Total Fat'); ``` -The `span` element around `Total Fat` should have the `class` set to `bold`. +يجب أن يحتوي عنصر `span` الذي لديه نص `Total Fat` على `class` بقيمة `bold`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.querySelector('span > span')?.className === 'bold'); ``` -A `span` element should wrap the text `10%`. +يجب أن يغلف عنصر `span` النص `10%`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.querySelector('span + span')?.innerText === '10%'); ``` -The `span` element around `10%` should have the `class` set to `bold`. +يجب أن يحتوي عنصر `span` الذي لديه نص `10%` على `class` بقيمة `bold`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.querySelectorAll('span')?.[1]?.className === 'bold'); ``` -A `span` element should have the text `Total Fat 8g`. +يجب أن يغلف عنصر `span` النص `Total Fat 8g`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.innerText?.match(/Total Fat[\s|\n]+8g/)); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f6cc778f7698258467596.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f6cc778f7698258467596.md index 725667305e8..9b5d8a4beaf 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f6cc778f7698258467596.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f6cc778f7698258467596.md @@ -7,7 +7,7 @@ dashedName: step-44 # --description-- -أسفل العنصر مع النص `Total Fat`، قم بإنشاء عنصر `p` جديد مع النص `Saturated Fat 1g 5%`. Wrap the `5%` in a `span` with the `class` attribute set to `bold`. In this case this is enough to align the percentage to `5%`. +أسفل العنصر مع النص `Total Fat`، قم بإنشاء عنصر `p` جديد مع النص `Saturated Fat 1g 5%`. غلف `5%` في `span` مع السمة `class` بقيمة `bold`. في هذه الحالة تكفي النسبة المئوية بقيمة `5%` لمحاذاة. # --hints-- @@ -30,7 +30,7 @@ assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.inne assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.lastElementChild?.localName === 'span'); ``` -Your `span` element should have the `class` attribute set to `bold`. +يجب أن يحتوي عنصر `span` على سمة `class` بقيمة `bold`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.lastElementChild?.classList?.contains('bold')); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f7bc680f7168ea01ebf99.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f7bc680f7168ea01ebf99.md index f331f1771f3..9b4cd1ed189 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f7bc680f7168ea01ebf99.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f7bc680f7168ea01ebf99.md @@ -13,7 +13,7 @@ dashedName: step-50 # --hints-- -You should create a new `div` at the end of your `.daily-value` element. +يجب عليك إنشاء عنصر `div` جديد في نهاية عنصرك `.daily-value`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.localName === 'div'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f7c71eab8218f846e4503.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f7c71eab8218f846e4503.md index 1a8f15d1800..e4f6b6f71be 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f7c71eab8218f846e4503.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f7c71eab8218f846e4503.md @@ -7,11 +7,11 @@ dashedName: step-51 # --description-- -بعد آخر `.divider`، قم بإنشاء عنصر `p` آخر مع النص `Trans Fat 0g`. قم باستمالة (Italicize) الكلمة `Trans` عن طريق تغليفها في عنصر `i`. اعطي عنصر `p` الجديد السمة `class` بقيمة `indent no-divider`. Wrap `Trans Fat 0g` in a `span` element for alignment. +بعد آخر `.divider`، قم بإنشاء عنصر `p` آخر مع النص `Trans Fat 0g`. قم باستمالة (Italicize) الكلمة `Trans` عن طريق تغليفها في عنصر `i`. اعطي عنصر `p` الجديد السمة `class` بقيمة `indent no-divider`. غلف `Trans Fat 0g` داخل عنصر `span` للمحاذاة. # --hints-- -You should create a new `p` element at the end of your `.daily-value` element. +يجب عليك إنشاء عنصر `p` جديد في نهاية عنصرك `.daily-value`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.localName === 'p'); @@ -43,13 +43,13 @@ assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.quer assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.querySelector('i')?.innerText === 'Trans'); ``` -Your new `p` element should have a `span` element. +يجب أن يحتوي عنصر `p` الجديد على عنصر `span`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.querySelector('span')); ``` -Your `span` element should wrap the text `Trans Fat 0g`. +يجب أن يغلف عنصر `span` نص `Trans Fat 0g`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.querySelector('span')?.innerText?.match(/Trans[\s|\n]+Fat 0g/)); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f7d489a581590d1350288.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f7d489a581590d1350288.md index bfd8be08cb2..474f0d2f4ef 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f7d489a581590d1350288.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f7d489a581590d1350288.md @@ -11,7 +11,7 @@ dashedName: step-52 # --hints-- -You should create a new `div` element at the end of your `.daily-value` element. +يجب عليك إنشاء عنصر `div` جديد في نهاية عنصرك `.daily-value`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.localName === 'div'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f7de4487b64919bb4aa5e.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f7de4487b64919bb4aa5e.md index b1cb3c69c02..95c25da1430 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f7de4487b64919bb4aa5e.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f7de4487b64919bb4aa5e.md @@ -7,11 +7,11 @@ dashedName: step-53 # --description-- -بعد آخر `.divider`، قم بإنشاء عنصر `p` آخر مع النص `Cholesterol 0mg 0%`. قم بتغليف النص `Cholesterol` في عنصر `span`، واعطي عنصر `span` هذا السمة `class` بقيمة `bold`. Wrap the text `0%` in another `span` element, with the `class` set to `bold`. Also wrap `Cholesterol 0mg` in an additional `span` element for the alignment. +بعد آخر `.divider`، قم بإنشاء عنصر `p` آخر مع النص `Cholesterol 0mg 0%`. قم بتغليف النص `Cholesterol` في عنصر `span`، واعطي عنصر `span` هذا السمة `class` بقيمة `bold`. غلف نص `0%` داخل `span` أخرى، مع `class` بقيمة `bold`. غلف `Cholesterol 0mg` داخل عنصر إضافي `span` أيضا، من أجل المحاذاة (alignment). # --hints-- -You should create a new `p` element at the end of your `.daily-value` element. +يجب عليك إنشاء عنصر `p` جديد في نهاية عنصرك `.daily-value`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.localName === 'p'); @@ -23,37 +23,37 @@ assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.loca assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.innerText?.match(/Cholesterol[\s|\n]+0mg[\s|\n]+0%/)); ``` -Your new `p` element should have three `span` elements. +يجب أن يحتوي عنصر `p` الجديد على ثلاث عناصر `span`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.querySelectorAll('span')?.length === 3); ``` -Your first `span` `Cholesterol` element should have the `class` attribute set to `bold`. +يجب أن يحتوي عنصر `span` الأول بنص `Cholesterol` على `class` بقيمة `bold`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.firstElementChild?.firstElementChild?.classList?.contains('bold')); ``` -Your first `span` element should wrap the text `Cholesterol 0mg`. +يجب أن يغلف عنصر `span` الأول النص `Cholesterol 0mg`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.firstElementChild?.innerText?.match(/Cholesterol[\s|\n]+0mg/)); ``` -Your first `span` element should wrap the text `Cholesterol`. +يجب أن يغلف عنصر `span` الأول النص `Cholesterol`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.firstElementChild?.firstElementChild?.innerText === 'Cholesterol'); ``` -Your second `span` element should have the `class` attribute set to `bold`. +يجب أن يحتوي عنصر `span` الثاني على سمة `class` بقيمة `bold`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.lastElementChild?.classList?.contains('bold')); ``` -Your second `span` element should wrap the text `0%`. +يجب أن يغلف عنصر `span` الثاني النص `0%`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.lastElementChild?.innerText === '0%'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f7e7281626a92bbd62da8.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f7e7281626a92bbd62da8.md index 540ce3f0def..5937c232085 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f7e7281626a92bbd62da8.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f7e7281626a92bbd62da8.md @@ -7,11 +7,11 @@ dashedName: step-54 # --description-- -أسفل العنصر `p` الأخير، قم بإنشاء عنصر `p` آخر مع النص `Sodium 160mg 7%`. قم بتغليف النص `Sodium` في عنصر `span` مع سمة `class` تم تعيينها إلى `bold`. Wrap the `7%` text in another `span` element with the `class` set to `bold`. Also add an additional `span` element around `Sodium 160mg` for aligning it correctly. +أسفل العنصر `p` الأخير، قم بإنشاء عنصر `p` آخر مع النص `Sodium 160mg 7%`. قم بتغليف النص `Sodium` في عنصر `span` مع سمة `class` تم تعيينها إلى `bold`. غلف نص `7%` داخل `span` أخر مع `class` بقيمة `bold`. أضف عنصر إضافي `span` حول `Sodium 160mg` لمحاذاته بشكل صحيح. # --hints-- -You should create a new `p` element at the end of your `.daily-value` element. +يجب عليك إنشاء عنصر `p` جديد في نهاية عنصرك `.daily-value`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.localName === 'p'); @@ -23,37 +23,37 @@ assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.loca assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.innerText?.match(/Sodium[\s|\n]160mg[\s|\n]+7%/)); ``` -Your new `p` element should have three `span` elements. +يجب أن يحتوي عنصر `p` الجديد على ثلاث عناصر `span`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.querySelectorAll('span')?.length === 3); ``` -A `span` element should wrap the text `Sodium 360mg`. +يجب أن يغلف عنصر `span` النص `Sodium 360mg`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.firstElementChild?.innerText?.match(/Sodium[\s|\n]160mg/)); ``` -A `span` element should wrap the text `Sodium`. +يجب أن يغلف عنصر `span` النص `Sodium`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.firstElementChild?.firstElementChild?.innerText === "Sodium"); ``` -The `span` around `Sodium` should have the `class` attribute set to `bold`. +يجب أن يحتوي عنصر `span` الذي لديه نص `Sodium` على سمة `class` بقيمة `bold`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.firstElementChild?.firstElementChild?.classList?.contains('bold')); ``` -A `span` element should wrap the text `7%`. +يجب أن يغلف عنصر `span` النص `7%`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.lastElementChild?.innerText === '7%'); ``` -The `span` element around `7%` should have the `class` attribute set to `bold`. +يجب أن يحتوي عنصر `span` الذي لديه نص `7%` على سمة `class` بقيمة `bold`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.lastElementChild?.classList?.contains('bold')); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f7ecb09de9a938ef94756.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f7ecb09de9a938ef94756.md index b8c48515c38..57e4f3c549b 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f7ecb09de9a938ef94756.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f7ecb09de9a938ef94756.md @@ -7,11 +7,11 @@ dashedName: step-55 # --description-- -أضف عنصر `p` آخر مع النص `Total Carbohydrate 37g 13%`. Like before, use `span` elements to make the text `Total Carbohydrate` and `13%` bold. Also add an additional `span` element to wrap the `Total Carbohydrate 37g` text in a span element so to have it aligned to the left, and `13%` to the right. +أضف عنصر `p` آخر مع النص `Total Carbohydrate 37g 13%`. مثل قبل، استخدم عناصر `span` لجعل نص `Total Carbohydrate` ونص `13%` بهيئة bold. إضافة عنصر `span` إضافي لتغليف نص `Total Carbohydrate 37g` في العنصر span حتى يحاذ إلى اليسار، و `13%` إلى اليمين. # --hints-- -You should create a new `p` element at the end of your `.daily-value` element. +يجب عليك إنشاء عنصر `p` جديد في نهاية عنصرك `.daily-value`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.localName === 'p'); @@ -23,43 +23,43 @@ assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.loca assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.innerText?.match(/Total Carbohydrate[\s|\n]+37g[\s|\n]+13%/)); ``` -Your new `p` element should have three `span` elements. +يجب أن يحتوي عنصر `p` الجديد على ثلاث عناصر `span`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.querySelectorAll('span')?.length === 3); ``` -One `span` element should wrap the text `Total Carbohydrate 37g`. +يجب أن يغلف عنصر `span` النص `Total Carbohydrate 37g`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.firstElementChild?.innerText?.match(/Total Carbohydrate[\s|\n]+37g/)); ``` -One `span` element should wrap the text `Total Carbohydrate`. +يجب أن يغلف عنصر `span` النص `Total Carbohydrate`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.firstElementChild?.firstElementChild?.innerText === 'Total Carbohydrate'); ``` -The `span` element around `Total Carbohydrate` should have the `class` attribute set to `bold`. +يجب أن يحتوي عنصر `span` الذي لديه نص `Total Carbohydrate` على سمة `class` بقيمة `bold`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.firstElementChild?.firstElementChild?.classList?.contains('bold')); ``` -A `span` element should wrap the text `13%`. +يجب أن يغلف عنصر `span` النص `13%`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.lastElementChild?.innerText === '13%'); ``` -The `span` element around `13%` should have the `class` attribute set to `bold`. +يجب أن يحتوي عنصر `span` الذي لديه نص `13%` على سمة `class` بقيمة `bold`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.lastElementChild?.classList?.contains('bold')); ``` -Your second `span` element should wrap the text `13%`. +يجب أن يغلف عنصر `span` الثاني النص `13%`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.lastElementChild?.innerText === '13%'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f7fa959ab75948f96a0d6.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f7fa959ab75948f96a0d6.md index 24e4b0f139d..52cdee9065b 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f7fa959ab75948f96a0d6.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f7fa959ab75948f96a0d6.md @@ -11,7 +11,7 @@ dashedName: step-56 # --hints-- -You should create a new `p` and `div` element at the end of your `.daily-value` element. +يجب عليك إنشاء عنصر `p` و `div` جديدان في نهاية عنصرك `.daily-value`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.previousElementSibling?.localName === 'p'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f808d85793195b0f53be9.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f808d85793195b0f53be9.md index 5f87a344a47..2f1ee87a1a8 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f808d85793195b0f53be9.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f808d85793195b0f53be9.md @@ -11,7 +11,7 @@ dashedName: step-57 # --hints-- -You should create a new `p` and `div` element at the end of your `.daily-value` element. +يجب عليك إنشاء عنصر `p` و `div` جديدان في نهاية عنصرك `.daily-value`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.previousElementSibling?.localName === 'p'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f829d07b18f96f6f6684b.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f829d07b18f96f6f6684b.md index a3189264e1e..d9e5f1fac7a 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f829d07b18f96f6f6684b.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f829d07b18f96f6f6684b.md @@ -7,11 +7,11 @@ dashedName: step-58 # --description-- -الميزة في إنشاء هذه الـ dividers هي أنه يمكنك تطبيق classes محددة لتصميمها بشكل فردي. Add `double-indent` to the `class` for your last `.divider`. +الميزة في إنشاء هذه الـ dividers هي أنه يمكنك تطبيق classes محددة لتصميمها بشكل فردي. أضف `double-indent` إلى الـ `class` الخاص بأخر `.divider`. # --hints-- -Your last `.divider` element should have `double-indent` added to the `class`. لا تقم بإزالة القيمة الموجودة. +يجب أن يحتوي أخر عنصر `.divider` على `double-indent` مضاف إلى الـ `class`. لا تقم بإزالة القيمة الموجودة. ```js const last = document.querySelector('.daily-value.small-text')?.lastElementChild; diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f83ef928ec9982b785b6a.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f83ef928ec9982b785b6a.md index 370fd147adf..a555ad88228 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f83ef928ec9982b785b6a.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f83ef928ec9982b785b6a.md @@ -7,17 +7,17 @@ dashedName: step-59 # --description-- -Create a `.double-indent` selector and give it a left margin of `2em`. +أنشئ منتقي `.double-indent` وإعطائه left margin بقيمة `2em`. # --hints-- -You should have a new `.double-indent` selector. +يجب أن يكون لديك منتقي `.double-indent` جديد. ```js assert(new __helpers.CSSHelp(document).getStyle('.double-indent')); ``` -Your `.double-indent` selector should have a `margin-left` property set to `2em`. +يجب أن يحتوي منتقيك `.double-indent` على `margin-left` بقيمة `2em`. ```js assert(new __helpers.CSSHelp(document).getStyle('.double-indent')?.marginLeft === '2em'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f84f246e8ba98e3cd97be.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f84f246e8ba98e3cd97be.md index 12c0e752a2d..2dc23b0aa5f 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f84f246e8ba98e3cd97be.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f84f246e8ba98e3cd97be.md @@ -7,13 +7,13 @@ dashedName: step-60 # --description-- -Below your `.double-indent` element, add a new `p` element with the text `Includes 10g Added Sugars 20%`. يجب أيضا أن يكون العنصر `p` الجديد الخاص بك double indented، وليس له حدود سفلي (bottom border). استخدم `span` لمحاذاة الـ `20%` الي اليمين (right aligned) و جعلها bold. +تحت عنصرك `.double-indent`، أضف عنصر `p` جديد مع النص `Includes 10g Added Sugars 20%`. يجب أيضا أن يكون العنصر `p` الجديد الخاص بك double indented، وليس له حدود سفلي (bottom border). استخدم `span` لمحاذاة الـ `20%` الي اليمين (right aligned) و جعلها bold. ثم قم بإنشاء divider آخر بعد عنصر `p` هذا. # --hints-- -You should create a new `p` and `div` element at the end of your `.daily-value` element. +يجب عليك إنشاء عنصر `p` و `div` جديدان في نهاية عنصرك `.daily-value`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.previousElementSibling?.localName === 'p'); @@ -26,7 +26,7 @@ assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.loca assert(document.querySelector('.daily-value.small-text p:last-of-type')?.innerText.match(/Includes 10g Added Sugars[\s|\n]+20%/)); ``` -Your new `p` element should have the `class` attribute set to `double-indent no-divider`. +يجب أن يحتوي عنصر `p` الجديد على سمة `class` بقيمة `double-indent no-divider`. ```js assert(document.querySelector('.daily-value.small-text p:last-of-type')?.classList?.contains('double-indent')); @@ -39,7 +39,7 @@ assert(document.querySelector('.daily-value.small-text p:last-of-type')?.classLi assert(document.querySelector('.daily-value.small-text p:last-of-type')?.firstElementChild?.localName === 'span'); ``` -Your `span` element should have the `class` attribute set to `bold`. +يجب أن يحتوي عنصر `span` على سمة `class` بقيمة `bold`. ```js assert(document.querySelector('.daily-value.small-text p:last-of-type')?.firstElementChild?.classList?.contains('bold')); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f887466db4ba14b5342cc.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f887466db4ba14b5342cc.md index b512426e75b..3fd3dce35ee 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f887466db4ba14b5342cc.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f887466db4ba14b5342cc.md @@ -13,7 +13,7 @@ dashedName: step-61 # --hints-- -You should create a new `p` and `div` element at the end of your `.daily-value` element. +يجب عليك إنشاء عنصر `p` و `div` جديدان في نهاية عنصرك `.daily-value`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.previousElementSibling?.localName === 'p'); @@ -32,7 +32,7 @@ assert(document.querySelector('.daily-value.small-text p:last-of-type')?.innerTe assert(document.querySelector('.daily-value.small-text p:last-of-type')?.classList?.contains('no-divider')); ``` -Your new `div` should have the `class` attribute set to `divider large`. +يجب أن يحتوي عنصر `div` الجديد على سمة `class` بقيمة `divider large`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.classList?.contains('divider')); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f89e055040ba294719d2f.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f89e055040ba294719d2f.md index 3e6ba37675f..094ea78985c 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f89e055040ba294719d2f.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f89e055040ba294719d2f.md @@ -9,29 +9,29 @@ dashedName: step-62 قم بإنشاء عنصر `p` آخر أسفل الـ divider الكبير الخاص بك. اعطي عنصر `p` النص `Vitamin D 2mcg 10%`. -The `p` element contains only text, you can wrap the percentage in a `span` element so that it is considered a separate entity from the rest of the text, and it's moved to the right. +يحتوي عنصر `p` على نص فقط، يمكنك تغليف النسبة المئوية في عنصر `span` بحيث تعدّ كيانا منفصلا عن بقية النص، وتنتقل إلى اليمين. # --hints-- -You should create a new `p` element at the end of your `.daily-value` element. +يجب عليك إنشاء عنصر `p` جديد في نهاية عنصرك `.daily-value`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.localName === 'p'); ``` -Your new `p` element should have the text `Vitamin D 2mcg 10%`. +يجب أن يحتوي عنصرك `p` الجديد على نص `Vitamin D 2mcg 10%`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.innerText?.match(/Vitamin D 2mcg[\s|\n]+10%/)); ``` -Your new `p` element should have a `span` element. +يجب أن يحتوي عنصر `p` الجديد على عنصر `span`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.querySelectorAll('span')?.length === 1); ``` -Your `span` element should not be bold. +يجب ألا يكون عُنصر `span` على هائه bold. ```js assert(!document.querySelector('.daily-value.small-text')?.lastElementChild?.querySelector('span')?.classList?.contains('bold')); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f8bfe0f30a1a3c340356b.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f8bfe0f30a1a3c340356b.md index d2b05f0b169..a5eb11fd524 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f8bfe0f30a1a3c340356b.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f8bfe0f30a1a3c340356b.md @@ -11,7 +11,7 @@ dashedName: step-63 # --hints-- -You should create two new `p` elements at the end of your `.daily-value` element. +يجب عليك إنشاء عنصر `p` جديد في نهاية عنصرك `.daily-value`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.localName === 'p'); @@ -30,7 +30,7 @@ assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.prev assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.previousElementSibling?.firstElementChild?.localName === 'span'); ``` -Your first `span` element should not be bold. +يجب ألا يكون عُنصر `span` الأول على هيئة bold. ```js assert(!document.querySelector('.daily-value.small-text')?.lastElementChild?.previousElementSibling?.firstElementChild?.classList?.contains('bold')); @@ -54,7 +54,7 @@ assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.inne assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.firstElementChild?.localName === 'span'); ``` -Your second `span` element should not be bold. +يجب ألا يكون عُنصر `span` الثاني على هيئة bold. ```js assert(!document.querySelector('.daily-value.small-text')?.lastElementChild?.firstElementChild?.classList?.contains('bold')); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f8f1223601fa546e93f31.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f8f1223601fa546e93f31.md index 85b416c7258..c2d96405e88 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f8f1223601fa546e93f31.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f8f1223601fa546e93f31.md @@ -11,7 +11,7 @@ dashedName: step-64 # --hints-- -You should create a new `p` element at the end of your `.daily-value` element. +يجب عليك إنشاء عنصر `p` جديد في نهاية عنصرك `.daily-value`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.localName === 'p'); @@ -35,7 +35,7 @@ assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.inne assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.querySelectorAll('span')?.length === 1); ``` -Your `span` element should not be bold. +يجب ألا يكون عُنصر `span` على هائه bold. ```js assert(!document.querySelector('.daily-value.small-text')?.lastElementChild?.querySelector('span')?.classList?.contains('bold')); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/6395d33ab5d91bf317107c48.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/6395d33ab5d91bf317107c48.md index e6f009b7e04..057b5fd1899 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/6395d33ab5d91bf317107c48.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/6395d33ab5d91bf317107c48.md @@ -7,17 +7,17 @@ dashedName: step-32 # --description-- -Create a `.calories-info h2` selector and remove all margins. +أنشئ منتقي `.calories-info h2` وإزال جميع الـ margins. # --hints-- -Create a `.calories-info h2` selector. +أنشئ منتقي `.calories-info h2`. ```js assert(new __helpers.CSSHelp(document).getStyle('.calories-info h2')); ``` -Your `.calories-info h2` selector should have a `margin` set to `0`. +يجب أن يحتوي منتقيك `.calories-info h2` علي `margin` بقيمة `0`. ```js assert(new __helpers.CSSHelp(document).getStyle('.calories-info h2')?.margin === '0px'); diff --git a/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3c8bf3980c14c438d2aed.md b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3c8bf3980c14c438d2aed.md index 7bec654ec15..ae7f2b797d2 100644 --- a/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3c8bf3980c14c438d2aed.md +++ b/curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3c8bf3980c14c438d2aed.md @@ -7,7 +7,7 @@ dashedName: step-39 # --description-- -For now, make your `goStore` function output the message `Going to store.` to the console. For example, here is a function that outputs the message "Hello World". +For now, make your `goStore` function output the message `Going to store.` to the console. For example, here is a function that outputs the message `Hello World`. ```js function functionName() { diff --git a/curriculum/challenges/chinese-traditional/02-javascript-algorithms-and-data-structures/basic-javascript/subtract-one-number-from-another-with-javascript.md b/curriculum/challenges/chinese-traditional/02-javascript-algorithms-and-data-structures/basic-javascript/subtract-one-number-from-another-with-javascript.md index 6c5acefea2c..8b767dfabbc 100644 --- a/curriculum/challenges/chinese-traditional/02-javascript-algorithms-and-data-structures/basic-javascript/subtract-one-number-from-another-with-javascript.md +++ b/curriculum/challenges/chinese-traditional/02-javascript-algorithms-and-data-structures/basic-javascript/subtract-one-number-from-another-with-javascript.md @@ -22,17 +22,17 @@ const myVar = 12 - 6; 現在,變量 `myVar` 的值爲 `6`。 # --instructions-- -改變數字`0`讓變量 difference 的值爲 `12`。 +改變數字 `0` 讓變量 difference 的值爲 `12`。 # --hints-- -The variable `difference` should be equal to `12`. +變量 `difference` 的值應該爲 `12`。 ```js assert(difference === 12); ``` -You should only subtract one number from `45`. +你只能從 `45` 中減去一個數。 ```js assert(/difference=45-33;?/.test(__helpers.removeWhiteSpace(code))); diff --git a/curriculum/challenges/chinese-traditional/05-back-end-development-and-apis/back-end-development-and-apis-projects/exercise-tracker.md b/curriculum/challenges/chinese-traditional/05-back-end-development-and-apis/back-end-development-and-apis-projects/exercise-tracker.md index e26ab5bb328..a65d04cdb71 100644 --- a/curriculum/challenges/chinese-traditional/05-back-end-development-and-apis/back-end-development-and-apis-projects/exercise-tracker.md +++ b/curriculum/challenges/chinese-traditional/05-back-end-development-and-apis/back-end-development-and-apis-projects/exercise-tracker.md @@ -20,7 +20,7 @@ dashedName: exercise-tracker - 接着,你將看到一個 `.replit` 窗口。 - 選擇 `Use run command` 並點擊 `Done` 按鈕. -當你完成後,請將一個確保正常運行的demo(項目演示)託管在可以公開訪問的平臺上。 Then submit the URL to it in the Solution Link field. Optionally, also submit a link to your project's source code in the GitHub Link field. +當你完成後,請將一個確保正常運行的demo(項目演示)託管在可以公開訪問的平臺上。 然後將 demo 的 URL 提交到 Solution Link 字段中。 也可以將項目的源碼鏈接提交到 GitHub Link 字段中。 # --instructions-- diff --git a/curriculum/challenges/chinese-traditional/05-back-end-development-and-apis/back-end-development-and-apis-projects/file-metadata-microservice.md b/curriculum/challenges/chinese-traditional/05-back-end-development-and-apis/back-end-development-and-apis-projects/file-metadata-microservice.md index 12ea9f7ce5f..a468cdf2e05 100644 --- a/curriculum/challenges/chinese-traditional/05-back-end-development-and-apis/back-end-development-and-apis-projects/file-metadata-microservice.md +++ b/curriculum/challenges/chinese-traditional/05-back-end-development-and-apis/back-end-development-and-apis-projects/file-metadata-microservice.md @@ -20,7 +20,7 @@ dashedName: file-metadata-microservice - 接着,你將看到一個 `.replit` 窗口。 - 選擇 `Use run command` 並點擊 `Done` 按鈕。 -當你完成後,請將一個確保正常運行的 demo(項目演示)託管在可以公開訪問的平臺上。 Then submit the URL to it in the Solution Link field. Optionally, also submit a link to your project's source code in the GitHub Link field. +當你完成後,請將一個確保正常運行的 demo(項目演示)託管在可以公開訪問的平臺上。 然後將 demo 的 URL 提交到 Solution Link 字段中。 也可以將項目的源碼鏈接提交到 GitHub Link 字段中。 # --instructions-- diff --git a/curriculum/challenges/chinese-traditional/05-back-end-development-and-apis/back-end-development-and-apis-projects/request-header-parser-microservice.md b/curriculum/challenges/chinese-traditional/05-back-end-development-and-apis/back-end-development-and-apis-projects/request-header-parser-microservice.md index 258c33648ea..749c197fb56 100644 --- a/curriculum/challenges/chinese-traditional/05-back-end-development-and-apis/back-end-development-and-apis-projects/request-header-parser-microservice.md +++ b/curriculum/challenges/chinese-traditional/05-back-end-development-and-apis/back-end-development-and-apis-projects/request-header-parser-microservice.md @@ -20,7 +20,7 @@ dashedName: request-header-parser-microservice - 接着,你將看到一個 `.replit` 窗口。 - 選擇 `Use run command` 並點擊 `Done` 按鈕。 -當你完成後,請將一個確保正常運行的 demo(項目演示)託管在可以公開訪問的平臺上。 Then submit the URL to it in the Solution Link field. Optionally, also submit a link to your project's source code in the GitHub Link field. +當你完成後,請將一個確保正常運行的 demo(項目演示)託管在可以公開訪問的平臺上。 然後將 demo 的 URL 提交到 Solution Link 字段中。 也可以將項目的源碼鏈接提交到 GitHub Link 字段中。 # --hints-- diff --git a/curriculum/challenges/chinese-traditional/05-back-end-development-and-apis/back-end-development-and-apis-projects/timestamp-microservice.md b/curriculum/challenges/chinese-traditional/05-back-end-development-and-apis/back-end-development-and-apis-projects/timestamp-microservice.md index e3ca9d6523e..0b422b5d442 100644 --- a/curriculum/challenges/chinese-traditional/05-back-end-development-and-apis/back-end-development-and-apis-projects/timestamp-microservice.md +++ b/curriculum/challenges/chinese-traditional/05-back-end-development-and-apis/back-end-development-and-apis-projects/timestamp-microservice.md @@ -20,7 +20,7 @@ dashedName: timestamp-microservice - 接着,你將看到一個 `.replit` 窗口。 - 選擇 `Use run command` 並點擊 `Done` 按鈕。 -當你完成後,請將一個確保正常運行的 demo(項目演示)託管在可以公開訪問的平臺上。 Then submit the URL to it in the Solution Link field. Optionally, also submit a link to your project's source code in the GitHub Link field. +當你完成後,請將一個確保正常運行的 demo(項目演示)託管在可以公開訪問的平臺上。 然後將 demo 的 URL 提交到 Solution Link 字段中。 也可以將項目的源碼鏈接提交到 GitHub Link 字段中。 **注意:**時區轉換不是本項目的目的,因此假設所有發送的有效日期將使用 `new Date()` 解析爲 GMT 日期。 @@ -106,7 +106,7 @@ dashedName: timestamp-microservice ); ``` -If the input date string is invalid, the API returns an object having the structure `{ error : "Invalid Date" }` +如果輸入的日期字符串無效,API 將返回一個具有結構 `{ error : "Invalid Date" }` 的對象。 ```js (getUserInput) => diff --git a/curriculum/challenges/chinese-traditional/05-back-end-development-and-apis/back-end-development-and-apis-projects/url-shortener-microservice.md b/curriculum/challenges/chinese-traditional/05-back-end-development-and-apis/back-end-development-and-apis-projects/url-shortener-microservice.md index aadd4aa96a4..5b3d5074571 100644 --- a/curriculum/challenges/chinese-traditional/05-back-end-development-and-apis/back-end-development-and-apis-projects/url-shortener-microservice.md +++ b/curriculum/challenges/chinese-traditional/05-back-end-development-and-apis/back-end-development-and-apis-projects/url-shortener-microservice.md @@ -20,7 +20,7 @@ dashedName: url-shortener-microservice - 接着,你將看到一個 `.replit` 窗口。 - 選擇 `Use run command` 並點擊 `Done` 按鈕。 -當你完成後,請將一個確保正常運行的 demo(項目演示)託管在可以公開訪問的平臺上。 Then submit the URL to it in the Solution Link field. Optionally, also submit a link to your project's source code in the GitHub Link field. +當你完成後,請將一個確保正常運行的 demo(項目演示)託管在可以公開訪問的平臺上。 然後將 demo 的 URL 提交到 Solution Link 字段中。 也可以將項目的源碼鏈接提交到 GitHub Link 字段中。 # --instructions-- diff --git a/curriculum/challenges/chinese-traditional/05-back-end-development-and-apis/basic-node-and-express/meet-the-node-console.md b/curriculum/challenges/chinese-traditional/05-back-end-development-and-apis/basic-node-and-express/meet-the-node-console.md index e24dd79c92d..9d2922ff0eb 100644 --- a/curriculum/challenges/chinese-traditional/05-back-end-development-and-apis/basic-node-and-express/meet-the-node-console.md +++ b/curriculum/challenges/chinese-traditional/05-back-end-development-and-apis/basic-node-and-express/meet-the-node-console.md @@ -20,7 +20,7 @@ dashedName: meet-the-node-console - 接着,你將看到一個 `.replit` 窗口。 - 選擇 `Use run command` 並點擊 `Done` 按鈕。 -當你完成後,請將一個確保正常運行的 demo(項目演示)託管在可以公開訪問的平臺上。 Then submit the URL to it in the Solution Link field. +當你完成後,請將一個確保正常運行的 demo(項目演示)託管在可以公開訪問的平臺上。 然後將 demo 的 URL 提交到 Solution Link 字段中。 在開發過程中,能夠隨時看到代碼的運行結果是非常重要的。 diff --git a/curriculum/challenges/chinese-traditional/05-back-end-development-and-apis/basic-node-and-express/serve-json-on-a-specific-route.md b/curriculum/challenges/chinese-traditional/05-back-end-development-and-apis/basic-node-and-express/serve-json-on-a-specific-route.md index f1f922903fe..6c88348c664 100644 --- a/curriculum/challenges/chinese-traditional/05-back-end-development-and-apis/basic-node-and-express/serve-json-on-a-specific-route.md +++ b/curriculum/challenges/chinese-traditional/05-back-end-development-and-apis/basic-node-and-express/serve-json-on-a-specific-route.md @@ -18,7 +18,7 @@ HTML 服務器提供 HTML 服務,而 API 提供數據服務。 REST # --hints-- -訪問端口 `/json` 應該返回一個 json 對象 `{"message": "Hello json"}` +The endpoint `/json` should serve the JSON object `{"message": "Hello json"}` ```js (getUserInput) => diff --git a/curriculum/challenges/chinese-traditional/05-back-end-development-and-apis/basic-node-and-express/use-the-.env-file.md b/curriculum/challenges/chinese-traditional/05-back-end-development-and-apis/basic-node-and-express/use-the-.env-file.md index 651166b0791..dd133ae2854 100644 --- a/curriculum/challenges/chinese-traditional/05-back-end-development-and-apis/basic-node-and-express/use-the-.env-file.md +++ b/curriculum/challenges/chinese-traditional/05-back-end-development-and-apis/basic-node-and-express/use-the-.env-file.md @@ -18,11 +18,11 @@ dashedName: use-the--env-file 在項目根目錄創建一個 `.env` 文件,並存儲變量 `MESSAGE_STYLE=uppercase`。 -然後,在你在上個挑戰中創建的 `/json` GET 路由處理程序中訪問 `process.env.MESSAGE_STYLE`,並且如果變量等於 `uppercase`,將響應對象的 `message` 轉換爲大寫。 響應對象應該是 `{"message": "Hello json"}` or `{"message": "HELLO JSON"}`,取決於 `MESSAGE_STYLE` 的值。 Note that you must read the value of `process.env.MESSAGE_STYLE` **inside** the route handler, not outside of it, due to the way our tests run. +然後,在你在上個挑戰中創建的 `/json` GET 路由處理程序中訪問 `process.env.MESSAGE_STYLE`,並且如果變量等於 `uppercase`,將響應對象的 `message` 轉換爲大寫。 響應對象應該是 `{"message": "Hello json"}` or `{"message": "HELLO JSON"}`,取決於 `MESSAGE_STYLE` 的值。 請注意,因爲我們的測試運行的方式,你必須閱讀路由處理器**裏面**(而不是外面)`process.env.MESSAGE_STYLE` 的值。 **注意:** 如果你正在使用 Replit,你無法創建一個 `.env` 文件。 相反,使用內置的 SECRETS 標籤添加變量。 -如果你在本地工作,你將需要 `dotenv` 包。 它將環境變量從你的 `.env` 文件加載到 `process.env` 中。 `dotenv` 包已經安裝,並且在你項目的 `package.json` 文件中。 At the top of your `myApp.js` file, add `require('dotenv').config()` to load the environment variables. +如果你在本地工作,你將需要 `dotenv` 包。 它將環境變量從你的 `.env` 文件加載到 `process.env` 中。 `dotenv` 包已經安裝,並且在你項目的 `package.json` 文件中。 在你的 `myApp.js` 文件的頂端,添加 `require('dotenv').config()` 以加載環境變量。 # --hints-- diff --git a/curriculum/challenges/chinese-traditional/05-back-end-development-and-apis/managing-packages-with-npm/how-to-use-package.json-the-core-of-any-node.js-project-or-npm-package.md b/curriculum/challenges/chinese-traditional/05-back-end-development-and-apis/managing-packages-with-npm/how-to-use-package.json-the-core-of-any-node.js-project-or-npm-package.md index 174317e8c1b..047550f1b83 100644 --- a/curriculum/challenges/chinese-traditional/05-back-end-development-and-apis/managing-packages-with-npm/how-to-use-package.json-the-core-of-any-node.js-project-or-npm-package.md +++ b/curriculum/challenges/chinese-traditional/05-back-end-development-and-apis/managing-packages-with-npm/how-to-use-package.json-the-core-of-any-node.js-project-or-npm-package.md @@ -20,7 +20,7 @@ dashedName: how-to-use-package-json-the-core-of-any-node-js-project-or-npm-packa - 接着,你將看到一個 `.replit` 窗口。 - 選擇 `Use run command` 並點擊 `Done` 按鈕。 -當你完成後,請將一個確保正常運行的 demo(項目演示)託管在可以公開訪問的平臺上。 Then submit the URL to it in the Solution Link field. +當你完成後,請將一個確保正常運行的 demo(項目演示)託管在可以公開訪問的平臺上。 然後將 demo 的 URL 提交到 Solution Link 字段中。 `package.json` 文件是所有 Node.js 項目和 npm 包的樞紐, 和 HTML 文檔中的 <head> 部分用來描述網頁的配置信息(元數據)一樣,它存儲你的項目的相關信息。 它由單個 JSON 對象組成,並以鍵值對的形式存儲項目信息, 且至少包含兩個必填字段:“name” 和 “version”——但是最好提供有關項目的其他信息,這將對用戶或者維護者有所幫助。 diff --git a/curriculum/challenges/chinese-traditional/05-back-end-development-and-apis/mongodb-and-mongoose/install-and-set-up-mongoose.md b/curriculum/challenges/chinese-traditional/05-back-end-development-and-apis/mongodb-and-mongoose/install-and-set-up-mongoose.md index 4867f164926..27fb292061c 100644 --- a/curriculum/challenges/chinese-traditional/05-back-end-development-and-apis/mongodb-and-mongoose/install-and-set-up-mongoose.md +++ b/curriculum/challenges/chinese-traditional/05-back-end-development-and-apis/mongodb-and-mongoose/install-and-set-up-mongoose.md @@ -20,7 +20,7 @@ dashedName: install-and-set-up-mongoose - 接着,你將看到一個 `.replit` 窗口。 - 選擇 `Use run command` 並點擊 `Done` 按鈕。 -當你完成後,請將一個確保正常運行的 demo(項目演示)託管在可以公開訪問的平臺上。 Then submit the URL to it in the Solution Link field. +當你完成後,請將一個確保正常運行的 demo(項目演示)託管在可以公開訪問的平臺上。 然後將 demo 的 URL 提交到 Solution Link 字段中。 在這個挑戰中,你將建立一個 MongoDB Atlas 數據庫並導入連接到它所需的軟件包。 diff --git a/curriculum/challenges/chinese-traditional/06-quality-assurance/advanced-node-and-express/set-up-a-template-engine.md b/curriculum/challenges/chinese-traditional/06-quality-assurance/advanced-node-and-express/set-up-a-template-engine.md index 4937df4d1a0..4b76aab166c 100644 --- a/curriculum/challenges/chinese-traditional/06-quality-assurance/advanced-node-and-express/set-up-a-template-engine.md +++ b/curriculum/challenges/chinese-traditional/06-quality-assurance/advanced-node-and-express/set-up-a-template-engine.md @@ -20,7 +20,7 @@ dashedName: set-up-a-template-engine - 接着,你將看到一個 `.replit` 窗口。 - 選擇 `Use run command` 並點擊 `Done` 按鈕。 -當你完成後,請將一個確保正常運行的 demo(項目演示)託管在可以公開訪問的平臺上。 Then submit the URL to it in the Solution Link field. +當你完成後,請將一個確保正常運行的 demo(項目演示)託管在可以公開訪問的平臺上。 然後將 demo 的 URL 提交到 Solution Link 字段中。 模板引擎使你可以在應用程序中使用靜態模板文件(例如用 *Pug* 編寫的文件)。 在運行時,模版引擎會用服務端的真實數據替換掉模版文件中的變量。 然後將模版轉譯成發送給客戶端的 HTML 靜態文件。 這樣可以輕鬆地構造 HTML 頁面,允許在頁面直接顯示變量內容而不需要從客戶端發送 API 請求。 diff --git a/curriculum/challenges/chinese-traditional/06-quality-assurance/quality-assurance-and-testing-with-chai/learn-how-javascript-assertions-work.md b/curriculum/challenges/chinese-traditional/06-quality-assurance/quality-assurance-and-testing-with-chai/learn-how-javascript-assertions-work.md index 379fe6c64c0..ea566e96900 100644 --- a/curriculum/challenges/chinese-traditional/06-quality-assurance/quality-assurance-and-testing-with-chai/learn-how-javascript-assertions-work.md +++ b/curriculum/challenges/chinese-traditional/06-quality-assurance/quality-assurance-and-testing-with-chai/learn-how-javascript-assertions-work.md @@ -20,7 +20,7 @@ dashedName: learn-how-javascript-assertions-work - 接着,你將看到一個 `.replit` 窗口。 - 選擇 `Use run command` 並點擊 `Done` 按鈕。 -當你完成後,請將一個確保正常運行的 demo(項目演示)託管在可以公開訪問的平臺上。 Then submit the URL to it in the Solution Link field. +當你完成後,請將一個確保正常運行的 demo(項目演示)託管在可以公開訪問的平臺上。 然後將 demo 的 URL 提交到 Solution Link 字段中。 # --instructions-- diff --git a/curriculum/challenges/chinese-traditional/06-quality-assurance/quality-assurance-projects/american-british-translator.md b/curriculum/challenges/chinese-traditional/06-quality-assurance/quality-assurance-projects/american-british-translator.md index a32ff152f6b..e12ecc8b78b 100644 --- a/curriculum/challenges/chinese-traditional/06-quality-assurance/quality-assurance-projects/american-british-translator.md +++ b/curriculum/challenges/chinese-traditional/06-quality-assurance/quality-assurance-projects/american-british-translator.md @@ -20,7 +20,7 @@ dashedName: american-british-translator - 接着,你將看到一個 `.replit` 窗口。 - 選擇 `Use run command` 並點擊 `Done` 按鈕。 -當你完成後,請將一個確保正常運行的 demo(項目演示)託管在可以公開訪問的平臺上。 Then submit the URL to it in the Solution Link field. Optionally, also submit a link to your project's source code in the GitHub Link field. +當你完成後,請將一個確保正常運行的 demo(項目演示)託管在可以公開訪問的平臺上。 然後將 demo 的 URL 提交到 Solution Link 字段中。 也可以將項目的源碼鏈接提交到 GitHub Link 字段中。 # --instructions-- diff --git a/curriculum/challenges/chinese-traditional/06-quality-assurance/quality-assurance-projects/issue-tracker.md b/curriculum/challenges/chinese-traditional/06-quality-assurance/quality-assurance-projects/issue-tracker.md index 8ce8e2b096c..67bdbb4ddf2 100644 --- a/curriculum/challenges/chinese-traditional/06-quality-assurance/quality-assurance-projects/issue-tracker.md +++ b/curriculum/challenges/chinese-traditional/06-quality-assurance/quality-assurance-projects/issue-tracker.md @@ -20,7 +20,7 @@ dashedName: issue-tracker - 接着,你將看到一個 `.replit` 窗口。 - 選擇 `Use run command` 並點擊 `Done` 按鈕。 -當你完成後,請將一個確保正常運行的 demo(項目演示)託管在可以公開訪問的平臺上。 Then submit the URL to it in the Solution Link field. Optionally, also submit a link to your project's source code in the GitHub Link field. +當你完成後,請將一個確保正常運行的 demo(項目演示)託管在可以公開訪問的平臺上。 然後將 demo 的 URL 提交到 Solution Link 字段中。 也可以將項目的源碼鏈接提交到 GitHub Link 字段中。 # --instructions-- diff --git a/curriculum/challenges/chinese-traditional/06-quality-assurance/quality-assurance-projects/metric-imperial-converter.md b/curriculum/challenges/chinese-traditional/06-quality-assurance/quality-assurance-projects/metric-imperial-converter.md index bf605e8e23f..46ce5712b83 100644 --- a/curriculum/challenges/chinese-traditional/06-quality-assurance/quality-assurance-projects/metric-imperial-converter.md +++ b/curriculum/challenges/chinese-traditional/06-quality-assurance/quality-assurance-projects/metric-imperial-converter.md @@ -20,7 +20,7 @@ dashedName: metric-imperial-converter - 接着,你將看到一個 `.replit` 窗口。 - 選擇 `Use run command` 並點擊 `Done` 按鈕。 -當你完成後,請將一個確保正常運行的 demo(項目演示)託管在可以公開訪問的平臺上。 Then submit the URL to it in the Solution Link field. Optionally, also submit a link to your project's source code in the GitHub Link field. +當你完成後,請將一個確保正常運行的 demo(項目演示)託管在可以公開訪問的平臺上。 然後將 demo 的 URL 提交到 Solution Link 字段中。 也可以將項目的源碼鏈接提交到 GitHub Link 字段中。 # --instructions-- diff --git a/curriculum/challenges/chinese-traditional/06-quality-assurance/quality-assurance-projects/personal-library.md b/curriculum/challenges/chinese-traditional/06-quality-assurance/quality-assurance-projects/personal-library.md index aefc98103c8..1afbb9ffd6f 100644 --- a/curriculum/challenges/chinese-traditional/06-quality-assurance/quality-assurance-projects/personal-library.md +++ b/curriculum/challenges/chinese-traditional/06-quality-assurance/quality-assurance-projects/personal-library.md @@ -20,7 +20,7 @@ dashedName: personal-library - 接着,你將看到一個 `.replit` 窗口。 - 選擇 `Use run command` 並點擊 `Done` 按鈕。 -當你完成後,請將一個確保正常運行的 demo(項目演示)託管在可以公開訪問的平臺上。 Then submit the URL to it in the Solution Link field. Optionally, also submit a link to your project's source code in the GitHub Link field. +當你完成後,請將一個確保正常運行的 demo(項目演示)託管在可以公開訪問的平臺上。 然後將 demo 的 URL 提交到 Solution Link 字段中。 也可以將項目的源碼鏈接提交到 GitHub Link 字段中。 # --instructions-- diff --git a/curriculum/challenges/chinese-traditional/06-quality-assurance/quality-assurance-projects/sudoku-solver.md b/curriculum/challenges/chinese-traditional/06-quality-assurance/quality-assurance-projects/sudoku-solver.md index aebf941c0f2..625e99cf81b 100644 --- a/curriculum/challenges/chinese-traditional/06-quality-assurance/quality-assurance-projects/sudoku-solver.md +++ b/curriculum/challenges/chinese-traditional/06-quality-assurance/quality-assurance-projects/sudoku-solver.md @@ -20,7 +20,7 @@ dashedName: sudoku-solver - 接着,你將看到一個 `.replit` 窗口。 - 選擇 `Use run command` 並點擊 `Done` 按鈕。 -當你完成後,請將一個確保正常運行的 demo(項目演示)託管在可以公開訪問的平臺上。 Then submit the URL to it in the Solution Link field. Optionally, also submit a link to your project's source code in the GitHub Link field. +當你完成後,請將一個確保正常運行的 demo(項目演示)託管在可以公開訪問的平臺上。 然後將 demo 的 URL 提交到 Solution Link 字段中。 也可以將項目的源碼鏈接提交到 GitHub Link 字段中。 # --instructions-- diff --git a/curriculum/challenges/chinese-traditional/08-data-analysis-with-python/data-analysis-with-python-projects/sea-level-predictor.md b/curriculum/challenges/chinese-traditional/08-data-analysis-with-python/data-analysis-with-python-projects/sea-level-predictor.md index f909ca84afa..4f7f056d01c 100644 --- a/curriculum/challenges/chinese-traditional/08-data-analysis-with-python/data-analysis-with-python-projects/sea-level-predictor.md +++ b/curriculum/challenges/chinese-traditional/08-data-analysis-with-python/data-analysis-with-python-projects/sea-level-predictor.md @@ -28,7 +28,7 @@ dashedName: sea-level-predictor 使用數據完成以下任務: - 使用 Pandas 從 `epa-sea-level.csv` 導入數據。 -- Use matplotlib to create a scatter plot using the `Year` column as the x-axis and the `CSIRO Adjusted Sea Level` column as the y-axis. +- 使用 matplotlib 創建散點圖,將 `Year` 列作爲 x 軸,將 `CSIRO Adjusted Sea Level` 列作爲 y 軸。 - 使用 `scipy.stats` 中的 `linregress` 函數來獲得最佳擬合線的斜率和 y 截距。 在散點圖的頂部繪製最佳擬合線。 使線穿過 2050 年以預測 2050 年的海平面上升。 - 僅使用數據集中從 2000 年到最近一年的數據繪製一條新的最佳擬合線。 如果上升速度繼續與 2000 年一樣,則使該線也經過 2050 年以預測 2050 年的海平面上升。 - x 標籤應爲 `Year`,y 標籤應爲 `Sea Level (inches)`,標題應爲 `Rise in Sea Level`。 diff --git a/curriculum/challenges/chinese-traditional/09-information-security/information-security-projects/anonymous-message-board.md b/curriculum/challenges/chinese-traditional/09-information-security/information-security-projects/anonymous-message-board.md index 96685ee5480..2e8af239bfe 100644 --- a/curriculum/challenges/chinese-traditional/09-information-security/information-security-projects/anonymous-message-board.md +++ b/curriculum/challenges/chinese-traditional/09-information-security/information-security-projects/anonymous-message-board.md @@ -22,7 +22,7 @@ dashedName: anonymous-message-board - 接着,你將看到一個 `.replit` 窗口。 - 選擇 `Use run command` 並點擊 `Done` 按鈕。 -完成本項目後,請將一個正常運行的 demo(項目演示)託管在可以公開訪問的平臺。 Then submit the URL to it in the Solution Link field. Optionally, also submit a link to your project's source code in the GitHub Link field. +完成本項目後,請將一個正常運行的 demo(項目演示)託管在可以公開訪問的平臺。 然後將 demo 的 URL 提交到 Solution Link 字段中。 也可以將項目的源碼鏈接提交到 GitHub Link 字段中。 # --instructions-- diff --git a/curriculum/challenges/chinese-traditional/09-information-security/information-security-projects/secure-real-time-multiplayer-game.md b/curriculum/challenges/chinese-traditional/09-information-security/information-security-projects/secure-real-time-multiplayer-game.md index 249a477fc9e..ec51dd90551 100644 --- a/curriculum/challenges/chinese-traditional/09-information-security/information-security-projects/secure-real-time-multiplayer-game.md +++ b/curriculum/challenges/chinese-traditional/09-information-security/information-security-projects/secure-real-time-multiplayer-game.md @@ -20,7 +20,7 @@ dashedName: secure-real-time-multiplayer-game - 接着,你將看到一個 `.replit` 窗口。 - 選擇 `Use run command` 並點擊 `Done` 按鈕。 -當你完成後,請將一個確保正常運行的 demo(項目演示)託管在可以公開訪問的平臺上。 Then submit the URL to it in the Solution Link field. Optionally, also submit a link to your project's source code in the GitHub Link field. +當你完成後,請將一個確保正常運行的 demo(項目演示)託管在可以公開訪問的平臺上。 然後將 demo 的 URL 提交到 Solution Link 字段中。 也可以將項目的源碼鏈接提交到 GitHub Link 字段中。 # --instructions-- diff --git a/curriculum/challenges/chinese-traditional/09-information-security/information-security-projects/stock-price-checker.md b/curriculum/challenges/chinese-traditional/09-information-security/information-security-projects/stock-price-checker.md index e471a41f07c..f77f7ec1b69 100644 --- a/curriculum/challenges/chinese-traditional/09-information-security/information-security-projects/stock-price-checker.md +++ b/curriculum/challenges/chinese-traditional/09-information-security/information-security-projects/stock-price-checker.md @@ -24,7 +24,7 @@ dashedName: stock-price-checker - 接着,你將看到一個 `.replit` 窗口。 - 選擇 `Use run command` 並點擊 `Done` 按鈕。 -當你完成後,請將一個確保正常運行的 demo(項目演示)託管在可以公開訪問的平臺上。 Then submit the URL to it in the Solution Link field. Optionally, also submit a link to your project's source code in the GitHub Link field. +當你完成後,請將一個確保正常運行的 demo(項目演示)託管在可以公開訪問的平臺上。 然後將 demo 的 URL 提交到 Solution Link 字段中。 也可以將項目的源碼鏈接提交到 GitHub Link 字段中。 # --instructions-- diff --git a/curriculum/challenges/chinese-traditional/09-information-security/information-security-with-helmetjs/install-and-require-helmet.md b/curriculum/challenges/chinese-traditional/09-information-security/information-security-with-helmetjs/install-and-require-helmet.md index 19dbd184a92..2bd980416a1 100644 --- a/curriculum/challenges/chinese-traditional/09-information-security/information-security-with-helmetjs/install-and-require-helmet.md +++ b/curriculum/challenges/chinese-traditional/09-information-security/information-security-with-helmetjs/install-and-require-helmet.md @@ -20,7 +20,7 @@ dashedName: install-and-require-helmet - 接着,你將看到一個 `.replit` 窗口。 - 選擇 `Use run command` 並點擊 `Done` 按鈕。 -當你完成後,請將一個確保正常運行的 demo(項目演示)託管在可以公開訪問的平臺上。 Then submit the URL to it in the Solution Link field. +當你完成後,請將一個確保正常運行的 demo(項目演示)託管在可以公開訪問的平臺上。 然後將 demo 的 URL 提交到 Solution Link 字段中。 Helmet 通過設置各種 HTTP 頭來保護你的 Express 應用程序。 diff --git a/curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3c8bf3980c14c438d2aed.md b/curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3c8bf3980c14c438d2aed.md index 7bec654ec15..ae7f2b797d2 100644 --- a/curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3c8bf3980c14c438d2aed.md +++ b/curriculum/challenges/chinese-traditional/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3c8bf3980c14c438d2aed.md @@ -7,7 +7,7 @@ dashedName: step-39 # --description-- -For now, make your `goStore` function output the message `Going to store.` to the console. For example, here is a function that outputs the message "Hello World". +For now, make your `goStore` function output the message `Going to store.` to the console. For example, here is a function that outputs the message `Hello World`. ```js function functionName() { diff --git a/curriculum/challenges/chinese/02-javascript-algorithms-and-data-structures/basic-javascript/subtract-one-number-from-another-with-javascript.md b/curriculum/challenges/chinese/02-javascript-algorithms-and-data-structures/basic-javascript/subtract-one-number-from-another-with-javascript.md index 65754d78370..4f9dd2acb96 100644 --- a/curriculum/challenges/chinese/02-javascript-algorithms-and-data-structures/basic-javascript/subtract-one-number-from-another-with-javascript.md +++ b/curriculum/challenges/chinese/02-javascript-algorithms-and-data-structures/basic-javascript/subtract-one-number-from-another-with-javascript.md @@ -22,17 +22,17 @@ const myVar = 12 - 6; 现在,变量 `myVar` 的值为 `6`。 # --instructions-- -改变数字`0`让变量 difference 的值为 `12`。 +改变数字 `0` 让变量 difference 的值为 `12`。 # --hints-- -The variable `difference` should be equal to `12`. +变量 `difference` 的值应该为 `12`。 ```js assert(difference === 12); ``` -You should only subtract one number from `45`. +你只能从 `45` 中减去一个数。 ```js assert(/difference=45-33;?/.test(__helpers.removeWhiteSpace(code))); diff --git a/curriculum/challenges/chinese/05-back-end-development-and-apis/back-end-development-and-apis-projects/exercise-tracker.md b/curriculum/challenges/chinese/05-back-end-development-and-apis/back-end-development-and-apis-projects/exercise-tracker.md index 2dae7fffdcc..3d090b3b19e 100644 --- a/curriculum/challenges/chinese/05-back-end-development-and-apis/back-end-development-and-apis-projects/exercise-tracker.md +++ b/curriculum/challenges/chinese/05-back-end-development-and-apis/back-end-development-and-apis-projects/exercise-tracker.md @@ -20,7 +20,7 @@ dashedName: exercise-tracker - 接着,你将看到一个 `.replit` 窗口。 - 选择 `Use run command` 并点击 `Done` 按钮. -当你完成后,请将一个确保正常运行的demo(项目演示)托管在可以公开访问的平台上。 Then submit the URL to it in the Solution Link field. Optionally, also submit a link to your project's source code in the GitHub Link field. +当你完成后,请将一个确保正常运行的demo(项目演示)托管在可以公开访问的平台上。 然后将 demo 的 URL 提交到 Solution Link 字段中。 也可以将项目的源码链接提交到 GitHub Link 字段中。 # --instructions-- diff --git a/curriculum/challenges/chinese/05-back-end-development-and-apis/back-end-development-and-apis-projects/file-metadata-microservice.md b/curriculum/challenges/chinese/05-back-end-development-and-apis/back-end-development-and-apis-projects/file-metadata-microservice.md index 12e9f0dc05c..74962df5065 100644 --- a/curriculum/challenges/chinese/05-back-end-development-and-apis/back-end-development-and-apis-projects/file-metadata-microservice.md +++ b/curriculum/challenges/chinese/05-back-end-development-and-apis/back-end-development-and-apis-projects/file-metadata-microservice.md @@ -20,7 +20,7 @@ dashedName: file-metadata-microservice - 接着,你将看到一个 `.replit` 窗口。 - 选择 `Use run command` 并点击 `Done` 按钮。 -当你完成后,请将一个确保正常运行的 demo(项目演示)托管在可以公开访问的平台上。 Then submit the URL to it in the Solution Link field. Optionally, also submit a link to your project's source code in the GitHub Link field. +当你完成后,请将一个确保正常运行的 demo(项目演示)托管在可以公开访问的平台上。 然后将 demo 的 URL 提交到 Solution Link 字段中。 也可以将项目的源码链接提交到 GitHub Link 字段中。 # --instructions-- diff --git a/curriculum/challenges/chinese/05-back-end-development-and-apis/back-end-development-and-apis-projects/request-header-parser-microservice.md b/curriculum/challenges/chinese/05-back-end-development-and-apis/back-end-development-and-apis-projects/request-header-parser-microservice.md index 98c46313498..1147bcf4e64 100644 --- a/curriculum/challenges/chinese/05-back-end-development-and-apis/back-end-development-and-apis-projects/request-header-parser-microservice.md +++ b/curriculum/challenges/chinese/05-back-end-development-and-apis/back-end-development-and-apis-projects/request-header-parser-microservice.md @@ -20,7 +20,7 @@ dashedName: request-header-parser-microservice - 接着,你将看到一个 `.replit` 窗口。 - 选择 `Use run command` 并点击 `Done` 按钮。 -当你完成后,请将一个确保正常运行的 demo(项目演示)托管在可以公开访问的平台上。 Then submit the URL to it in the Solution Link field. Optionally, also submit a link to your project's source code in the GitHub Link field. +当你完成后,请将一个确保正常运行的 demo(项目演示)托管在可以公开访问的平台上。 然后将 demo 的 URL 提交到 Solution Link 字段中。 也可以将项目的源码链接提交到 GitHub Link 字段中。 # --hints-- diff --git a/curriculum/challenges/chinese/05-back-end-development-and-apis/back-end-development-and-apis-projects/timestamp-microservice.md b/curriculum/challenges/chinese/05-back-end-development-and-apis/back-end-development-and-apis-projects/timestamp-microservice.md index 61c3f14c4ed..cc136048cdb 100644 --- a/curriculum/challenges/chinese/05-back-end-development-and-apis/back-end-development-and-apis-projects/timestamp-microservice.md +++ b/curriculum/challenges/chinese/05-back-end-development-and-apis/back-end-development-and-apis-projects/timestamp-microservice.md @@ -20,7 +20,7 @@ dashedName: timestamp-microservice - 接着,你将看到一个 `.replit` 窗口。 - 选择 `Use run command` 并点击 `Done` 按钮。 -当你完成后,请将一个确保正常运行的 demo(项目演示)托管在可以公开访问的平台上。 Then submit the URL to it in the Solution Link field. Optionally, also submit a link to your project's source code in the GitHub Link field. +当你完成后,请将一个确保正常运行的 demo(项目演示)托管在可以公开访问的平台上。 然后将 demo 的 URL 提交到 Solution Link 字段中。 也可以将项目的源码链接提交到 GitHub Link 字段中。 **注意:**时区转换不是本项目的目的,因此假设所有发送的有效日期将使用 `new Date()` 解析为 GMT 日期。 @@ -106,7 +106,7 @@ dashedName: timestamp-microservice ); ``` -If the input date string is invalid, the API returns an object having the structure `{ error : "Invalid Date" }` +如果输入的日期字符串无效,API 将返回一个具有结构 `{ error : "Invalid Date" }` 的对象。 ```js (getUserInput) => diff --git a/curriculum/challenges/chinese/05-back-end-development-and-apis/back-end-development-and-apis-projects/url-shortener-microservice.md b/curriculum/challenges/chinese/05-back-end-development-and-apis/back-end-development-and-apis-projects/url-shortener-microservice.md index 2a481ece160..f06c62d3878 100644 --- a/curriculum/challenges/chinese/05-back-end-development-and-apis/back-end-development-and-apis-projects/url-shortener-microservice.md +++ b/curriculum/challenges/chinese/05-back-end-development-and-apis/back-end-development-and-apis-projects/url-shortener-microservice.md @@ -20,7 +20,7 @@ dashedName: url-shortener-microservice - 接着,你将看到一个 `.replit` 窗口。 - 选择 `Use run command` 并点击 `Done` 按钮。 -当你完成后,请将一个确保正常运行的 demo(项目演示)托管在可以公开访问的平台上。 Then submit the URL to it in the Solution Link field. Optionally, also submit a link to your project's source code in the GitHub Link field. +当你完成后,请将一个确保正常运行的 demo(项目演示)托管在可以公开访问的平台上。 然后将 demo 的 URL 提交到 Solution Link 字段中。 也可以将项目的源码链接提交到 GitHub Link 字段中。 # --instructions-- diff --git a/curriculum/challenges/chinese/05-back-end-development-and-apis/basic-node-and-express/meet-the-node-console.md b/curriculum/challenges/chinese/05-back-end-development-and-apis/basic-node-and-express/meet-the-node-console.md index 31703c85789..3583edcfd77 100644 --- a/curriculum/challenges/chinese/05-back-end-development-and-apis/basic-node-and-express/meet-the-node-console.md +++ b/curriculum/challenges/chinese/05-back-end-development-and-apis/basic-node-and-express/meet-the-node-console.md @@ -20,7 +20,7 @@ dashedName: meet-the-node-console - 接着,你将看到一个 `.replit` 窗口。 - 选择 `Use run command` 并点击 `Done` 按钮。 -当你完成后,请将一个确保正常运行的 demo(项目演示)托管在可以公开访问的平台上。 Then submit the URL to it in the Solution Link field. +当你完成后,请将一个确保正常运行的 demo(项目演示)托管在可以公开访问的平台上。 然后将 demo 的 URL 提交到 Solution Link 字段中。 在开发过程中,能够随时看到代码的运行结果是非常重要的。 diff --git a/curriculum/challenges/chinese/05-back-end-development-and-apis/basic-node-and-express/serve-json-on-a-specific-route.md b/curriculum/challenges/chinese/05-back-end-development-and-apis/basic-node-and-express/serve-json-on-a-specific-route.md index 75d1fbf1c1e..5be94f00880 100644 --- a/curriculum/challenges/chinese/05-back-end-development-and-apis/basic-node-and-express/serve-json-on-a-specific-route.md +++ b/curriculum/challenges/chinese/05-back-end-development-and-apis/basic-node-and-express/serve-json-on-a-specific-route.md @@ -18,7 +18,7 @@ HTML 服务器提供 HTML 服务,而 API 提供数据服务。 REST # --hints-- -访问端口 `/json` 应该返回一个 json 对象 `{"message": "Hello json"}` +The endpoint `/json` should serve the JSON object `{"message": "Hello json"}` ```js (getUserInput) => diff --git a/curriculum/challenges/chinese/05-back-end-development-and-apis/basic-node-and-express/use-the-.env-file.md b/curriculum/challenges/chinese/05-back-end-development-and-apis/basic-node-and-express/use-the-.env-file.md index 30967f2ed82..abc34985c6b 100644 --- a/curriculum/challenges/chinese/05-back-end-development-and-apis/basic-node-and-express/use-the-.env-file.md +++ b/curriculum/challenges/chinese/05-back-end-development-and-apis/basic-node-and-express/use-the-.env-file.md @@ -18,11 +18,11 @@ dashedName: use-the--env-file 在项目根目录创建一个 `.env` 文件,并存储变量 `MESSAGE_STYLE=uppercase`。 -然后,在你在上个挑战中创建的 `/json` GET 路由处理程序中访问 `process.env.MESSAGE_STYLE`,并且如果变量等于 `uppercase`,将响应对象的 `message` 转换为大写。 响应对象应该是 `{"message": "Hello json"}` or `{"message": "HELLO JSON"}`,取决于 `MESSAGE_STYLE` 的值。 Note that you must read the value of `process.env.MESSAGE_STYLE` **inside** the route handler, not outside of it, due to the way our tests run. +然后,在你在上个挑战中创建的 `/json` GET 路由处理程序中访问 `process.env.MESSAGE_STYLE`,并且如果变量等于 `uppercase`,将响应对象的 `message` 转换为大写。 响应对象应该是 `{"message": "Hello json"}` or `{"message": "HELLO JSON"}`,取决于 `MESSAGE_STYLE` 的值。 请注意,因为我们的测试运行的方式,你必须阅读路由处理器**里面**(而不是外面)`process.env.MESSAGE_STYLE` 的值。 **注意:** 如果你正在使用 Replit,你无法创建一个 `.env` 文件。 相反,使用内置的 SECRETS 标签添加变量。 -如果你在本地工作,你将需要 `dotenv` 包。 它将环境变量从你的 `.env` 文件加载到 `process.env` 中。 `dotenv` 包已经安装,并且在你项目的 `package.json` 文件中。 At the top of your `myApp.js` file, add `require('dotenv').config()` to load the environment variables. +如果你在本地工作,你将需要 `dotenv` 包。 它将环境变量从你的 `.env` 文件加载到 `process.env` 中。 `dotenv` 包已经安装,并且在你项目的 `package.json` 文件中。 在你的 `myApp.js` 文件的顶端,添加 `require('dotenv').config()` 以加载环境变量。 # --hints-- diff --git a/curriculum/challenges/chinese/05-back-end-development-and-apis/managing-packages-with-npm/how-to-use-package.json-the-core-of-any-node.js-project-or-npm-package.md b/curriculum/challenges/chinese/05-back-end-development-and-apis/managing-packages-with-npm/how-to-use-package.json-the-core-of-any-node.js-project-or-npm-package.md index 8c40cadf7de..97f78a67daa 100644 --- a/curriculum/challenges/chinese/05-back-end-development-and-apis/managing-packages-with-npm/how-to-use-package.json-the-core-of-any-node.js-project-or-npm-package.md +++ b/curriculum/challenges/chinese/05-back-end-development-and-apis/managing-packages-with-npm/how-to-use-package.json-the-core-of-any-node.js-project-or-npm-package.md @@ -20,7 +20,7 @@ dashedName: how-to-use-package-json-the-core-of-any-node-js-project-or-npm-packa - 接着,你将看到一个 `.replit` 窗口。 - 选择 `Use run command` 并点击 `Done` 按钮。 -当你完成后,请将一个确保正常运行的 demo(项目演示)托管在可以公开访问的平台上。 Then submit the URL to it in the Solution Link field. +当你完成后,请将一个确保正常运行的 demo(项目演示)托管在可以公开访问的平台上。 然后将 demo 的 URL 提交到 Solution Link 字段中。 `package.json` 文件是所有 Node.js 项目和 npm 包的枢纽, 和 HTML 文档中的 <head> 部分用来描述网页的配置信息(元数据)一样,它存储你的项目的相关信息。 它由单个 JSON 对象组成,并以键值对的形式存储项目信息, 且至少包含两个必填字段:“name” 和 “version”——但是最好提供有关项目的其他信息,这将对用户或者维护者有所帮助。 diff --git a/curriculum/challenges/chinese/05-back-end-development-and-apis/mongodb-and-mongoose/install-and-set-up-mongoose.md b/curriculum/challenges/chinese/05-back-end-development-and-apis/mongodb-and-mongoose/install-and-set-up-mongoose.md index 22020d1c4fb..defd71a5538 100644 --- a/curriculum/challenges/chinese/05-back-end-development-and-apis/mongodb-and-mongoose/install-and-set-up-mongoose.md +++ b/curriculum/challenges/chinese/05-back-end-development-and-apis/mongodb-and-mongoose/install-and-set-up-mongoose.md @@ -20,7 +20,7 @@ dashedName: install-and-set-up-mongoose - 接着,你将看到一个 `.replit` 窗口。 - 选择 `Use run command` 并点击 `Done` 按钮。 -当你完成后,请将一个确保正常运行的 demo(项目演示)托管在可以公开访问的平台上。 Then submit the URL to it in the Solution Link field. +当你完成后,请将一个确保正常运行的 demo(项目演示)托管在可以公开访问的平台上。 然后将 demo 的 URL 提交到 Solution Link 字段中。 在这个挑战中,你将建立一个 MongoDB Atlas 数据库并导入连接到它所需的软件包。 diff --git a/curriculum/challenges/chinese/06-quality-assurance/advanced-node-and-express/set-up-a-template-engine.md b/curriculum/challenges/chinese/06-quality-assurance/advanced-node-and-express/set-up-a-template-engine.md index 8d0e8dda8aa..19e08efd467 100644 --- a/curriculum/challenges/chinese/06-quality-assurance/advanced-node-and-express/set-up-a-template-engine.md +++ b/curriculum/challenges/chinese/06-quality-assurance/advanced-node-and-express/set-up-a-template-engine.md @@ -20,7 +20,7 @@ dashedName: set-up-a-template-engine - 接着,你将看到一个 `.replit` 窗口。 - 选择 `Use run command` 并点击 `Done` 按钮。 -当你完成后,请将一个确保正常运行的 demo(项目演示)托管在可以公开访问的平台上。 Then submit the URL to it in the Solution Link field. +当你完成后,请将一个确保正常运行的 demo(项目演示)托管在可以公开访问的平台上。 然后将 demo 的 URL 提交到 Solution Link 字段中。 模板引擎使你可以在应用程序中使用静态模板文件(例如用 *Pug* 编写的文件)。 在运行时,模版引擎会用服务端的真实数据替换掉模版文件中的变量。 然后将模版转译成发送给客户端的 HTML 静态文件。 这样可以轻松地构造 HTML 页面,允许在页面直接显示变量内容而不需要从客户端发送 API 请求。 diff --git a/curriculum/challenges/chinese/06-quality-assurance/quality-assurance-and-testing-with-chai/learn-how-javascript-assertions-work.md b/curriculum/challenges/chinese/06-quality-assurance/quality-assurance-and-testing-with-chai/learn-how-javascript-assertions-work.md index c4d8a87778b..fa9932a86d3 100644 --- a/curriculum/challenges/chinese/06-quality-assurance/quality-assurance-and-testing-with-chai/learn-how-javascript-assertions-work.md +++ b/curriculum/challenges/chinese/06-quality-assurance/quality-assurance-and-testing-with-chai/learn-how-javascript-assertions-work.md @@ -20,7 +20,7 @@ dashedName: learn-how-javascript-assertions-work - 接着,你将看到一个 `.replit` 窗口。 - 选择 `Use run command` 并点击 `Done` 按钮。 -当你完成后,请将一个确保正常运行的 demo(项目演示)托管在可以公开访问的平台上。 Then submit the URL to it in the Solution Link field. +当你完成后,请将一个确保正常运行的 demo(项目演示)托管在可以公开访问的平台上。 然后将 demo 的 URL 提交到 Solution Link 字段中。 # --instructions-- diff --git a/curriculum/challenges/chinese/06-quality-assurance/quality-assurance-projects/american-british-translator.md b/curriculum/challenges/chinese/06-quality-assurance/quality-assurance-projects/american-british-translator.md index a49f09dd429..b8a4a3d9b11 100644 --- a/curriculum/challenges/chinese/06-quality-assurance/quality-assurance-projects/american-british-translator.md +++ b/curriculum/challenges/chinese/06-quality-assurance/quality-assurance-projects/american-british-translator.md @@ -20,7 +20,7 @@ dashedName: american-british-translator - 接着,你将看到一个 `.replit` 窗口。 - 选择 `Use run command` 并点击 `Done` 按钮。 -当你完成后,请将一个确保正常运行的 demo(项目演示)托管在可以公开访问的平台上。 Then submit the URL to it in the Solution Link field. Optionally, also submit a link to your project's source code in the GitHub Link field. +当你完成后,请将一个确保正常运行的 demo(项目演示)托管在可以公开访问的平台上。 然后将 demo 的 URL 提交到 Solution Link 字段中。 也可以将项目的源码链接提交到 GitHub Link 字段中。 # --instructions-- diff --git a/curriculum/challenges/chinese/06-quality-assurance/quality-assurance-projects/issue-tracker.md b/curriculum/challenges/chinese/06-quality-assurance/quality-assurance-projects/issue-tracker.md index 923cfc367be..05b4f1becea 100644 --- a/curriculum/challenges/chinese/06-quality-assurance/quality-assurance-projects/issue-tracker.md +++ b/curriculum/challenges/chinese/06-quality-assurance/quality-assurance-projects/issue-tracker.md @@ -20,7 +20,7 @@ dashedName: issue-tracker - 接着,你将看到一个 `.replit` 窗口。 - 选择 `Use run command` 并点击 `Done` 按钮。 -当你完成后,请将一个确保正常运行的 demo(项目演示)托管在可以公开访问的平台上。 Then submit the URL to it in the Solution Link field. Optionally, also submit a link to your project's source code in the GitHub Link field. +当你完成后,请将一个确保正常运行的 demo(项目演示)托管在可以公开访问的平台上。 然后将 demo 的 URL 提交到 Solution Link 字段中。 也可以将项目的源码链接提交到 GitHub Link 字段中。 # --instructions-- diff --git a/curriculum/challenges/chinese/06-quality-assurance/quality-assurance-projects/metric-imperial-converter.md b/curriculum/challenges/chinese/06-quality-assurance/quality-assurance-projects/metric-imperial-converter.md index e226ed5ca9e..200f1b79101 100644 --- a/curriculum/challenges/chinese/06-quality-assurance/quality-assurance-projects/metric-imperial-converter.md +++ b/curriculum/challenges/chinese/06-quality-assurance/quality-assurance-projects/metric-imperial-converter.md @@ -20,7 +20,7 @@ dashedName: metric-imperial-converter - 接着,你将看到一个 `.replit` 窗口。 - 选择 `Use run command` 并点击 `Done` 按钮。 -当你完成后,请将一个确保正常运行的 demo(项目演示)托管在可以公开访问的平台上。 Then submit the URL to it in the Solution Link field. Optionally, also submit a link to your project's source code in the GitHub Link field. +当你完成后,请将一个确保正常运行的 demo(项目演示)托管在可以公开访问的平台上。 然后将 demo 的 URL 提交到 Solution Link 字段中。 也可以将项目的源码链接提交到 GitHub Link 字段中。 # --instructions-- diff --git a/curriculum/challenges/chinese/06-quality-assurance/quality-assurance-projects/personal-library.md b/curriculum/challenges/chinese/06-quality-assurance/quality-assurance-projects/personal-library.md index df98419b396..bf12e7ee274 100644 --- a/curriculum/challenges/chinese/06-quality-assurance/quality-assurance-projects/personal-library.md +++ b/curriculum/challenges/chinese/06-quality-assurance/quality-assurance-projects/personal-library.md @@ -20,7 +20,7 @@ dashedName: personal-library - 接着,你将看到一个 `.replit` 窗口。 - 选择 `Use run command` 并点击 `Done` 按钮。 -当你完成后,请将一个确保正常运行的 demo(项目演示)托管在可以公开访问的平台上。 Then submit the URL to it in the Solution Link field. Optionally, also submit a link to your project's source code in the GitHub Link field. +当你完成后,请将一个确保正常运行的 demo(项目演示)托管在可以公开访问的平台上。 然后将 demo 的 URL 提交到 Solution Link 字段中。 也可以将项目的源码链接提交到 GitHub Link 字段中。 # --instructions-- diff --git a/curriculum/challenges/chinese/06-quality-assurance/quality-assurance-projects/sudoku-solver.md b/curriculum/challenges/chinese/06-quality-assurance/quality-assurance-projects/sudoku-solver.md index a5fa29f5598..3a8baa293fe 100644 --- a/curriculum/challenges/chinese/06-quality-assurance/quality-assurance-projects/sudoku-solver.md +++ b/curriculum/challenges/chinese/06-quality-assurance/quality-assurance-projects/sudoku-solver.md @@ -20,7 +20,7 @@ dashedName: sudoku-solver - 接着,你将看到一个 `.replit` 窗口。 - 选择 `Use run command` 并点击 `Done` 按钮。 -当你完成后,请将一个确保正常运行的 demo(项目演示)托管在可以公开访问的平台上。 Then submit the URL to it in the Solution Link field. Optionally, also submit a link to your project's source code in the GitHub Link field. +当你完成后,请将一个确保正常运行的 demo(项目演示)托管在可以公开访问的平台上。 然后将 demo 的 URL 提交到 Solution Link 字段中。 也可以将项目的源码链接提交到 GitHub Link 字段中。 # --instructions-- diff --git a/curriculum/challenges/chinese/08-data-analysis-with-python/data-analysis-with-python-projects/sea-level-predictor.md b/curriculum/challenges/chinese/08-data-analysis-with-python/data-analysis-with-python-projects/sea-level-predictor.md index aeb1d8fe9d1..74b1a1d0bdb 100644 --- a/curriculum/challenges/chinese/08-data-analysis-with-python/data-analysis-with-python-projects/sea-level-predictor.md +++ b/curriculum/challenges/chinese/08-data-analysis-with-python/data-analysis-with-python-projects/sea-level-predictor.md @@ -28,7 +28,7 @@ dashedName: sea-level-predictor 使用数据完成以下任务: - 使用 Pandas 从 `epa-sea-level.csv` 导入数据。 -- Use matplotlib to create a scatter plot using the `Year` column as the x-axis and the `CSIRO Adjusted Sea Level` column as the y-axis. +- 使用 matplotlib 创建散点图,将 `Year` 列作为 x 轴,将 `CSIRO Adjusted Sea Level` 列作为 y 轴。 - 使用 `scipy.stats` 中的 `linregress` 函数来获得最佳拟合线的斜率和 y 截距。 在散点图的顶部绘制最佳拟合线。 使线穿过 2050 年以预测 2050 年的海平面上升。 - 仅使用数据集中从 2000 年到最近一年的数据绘制一条新的最佳拟合线。 如果上升速度继续与 2000 年一样,则使该线也经过 2050 年以预测 2050 年的海平面上升。 - x 标签应为 `Year`,y 标签应为 `Sea Level (inches)`,标题应为 `Rise in Sea Level`。 diff --git a/curriculum/challenges/chinese/09-information-security/information-security-projects/anonymous-message-board.md b/curriculum/challenges/chinese/09-information-security/information-security-projects/anonymous-message-board.md index 70d17af6003..bcb40b71bfd 100644 --- a/curriculum/challenges/chinese/09-information-security/information-security-projects/anonymous-message-board.md +++ b/curriculum/challenges/chinese/09-information-security/information-security-projects/anonymous-message-board.md @@ -22,7 +22,7 @@ dashedName: anonymous-message-board - 接着,你将看到一个 `.replit` 窗口。 - 选择 `Use run command` 并点击 `Done` 按钮。 -完成本项目后,请将一个正常运行的 demo(项目演示)托管在可以公开访问的平台。 Then submit the URL to it in the Solution Link field. Optionally, also submit a link to your project's source code in the GitHub Link field. +完成本项目后,请将一个正常运行的 demo(项目演示)托管在可以公开访问的平台。 然后将 demo 的 URL 提交到 Solution Link 字段中。 也可以将项目的源码链接提交到 GitHub Link 字段中。 # --instructions-- diff --git a/curriculum/challenges/chinese/09-information-security/information-security-projects/secure-real-time-multiplayer-game.md b/curriculum/challenges/chinese/09-information-security/information-security-projects/secure-real-time-multiplayer-game.md index 3852a16bcad..e2419aeddc4 100644 --- a/curriculum/challenges/chinese/09-information-security/information-security-projects/secure-real-time-multiplayer-game.md +++ b/curriculum/challenges/chinese/09-information-security/information-security-projects/secure-real-time-multiplayer-game.md @@ -20,7 +20,7 @@ dashedName: secure-real-time-multiplayer-game - 接着,你将看到一个 `.replit` 窗口。 - 选择 `Use run command` 并点击 `Done` 按钮。 -当你完成后,请将一个确保正常运行的 demo(项目演示)托管在可以公开访问的平台上。 Then submit the URL to it in the Solution Link field. Optionally, also submit a link to your project's source code in the GitHub Link field. +当你完成后,请将一个确保正常运行的 demo(项目演示)托管在可以公开访问的平台上。 然后将 demo 的 URL 提交到 Solution Link 字段中。 也可以将项目的源码链接提交到 GitHub Link 字段中。 # --instructions-- diff --git a/curriculum/challenges/chinese/09-information-security/information-security-projects/stock-price-checker.md b/curriculum/challenges/chinese/09-information-security/information-security-projects/stock-price-checker.md index a65f58f1956..57ebe32f7d2 100644 --- a/curriculum/challenges/chinese/09-information-security/information-security-projects/stock-price-checker.md +++ b/curriculum/challenges/chinese/09-information-security/information-security-projects/stock-price-checker.md @@ -24,7 +24,7 @@ dashedName: stock-price-checker - 接着,你将看到一个 `.replit` 窗口。 - 选择 `Use run command` 并点击 `Done` 按钮。 -当你完成后,请将一个确保正常运行的 demo(项目演示)托管在可以公开访问的平台上。 Then submit the URL to it in the Solution Link field. Optionally, also submit a link to your project's source code in the GitHub Link field. +当你完成后,请将一个确保正常运行的 demo(项目演示)托管在可以公开访问的平台上。 然后将 demo 的 URL 提交到 Solution Link 字段中。 也可以将项目的源码链接提交到 GitHub Link 字段中。 # --instructions-- diff --git a/curriculum/challenges/chinese/09-information-security/information-security-with-helmetjs/install-and-require-helmet.md b/curriculum/challenges/chinese/09-information-security/information-security-with-helmetjs/install-and-require-helmet.md index 839cff466f3..82d3a622d9a 100644 --- a/curriculum/challenges/chinese/09-information-security/information-security-with-helmetjs/install-and-require-helmet.md +++ b/curriculum/challenges/chinese/09-information-security/information-security-with-helmetjs/install-and-require-helmet.md @@ -20,7 +20,7 @@ dashedName: install-and-require-helmet - 接着,你将看到一个 `.replit` 窗口。 - 选择 `Use run command` 并点击 `Done` 按钮。 -当你完成后,请将一个确保正常运行的 demo(项目演示)托管在可以公开访问的平台上。 Then submit the URL to it in the Solution Link field. +当你完成后,请将一个确保正常运行的 demo(项目演示)托管在可以公开访问的平台上。 然后将 demo 的 URL 提交到 Solution Link 字段中。 Helmet 通过设置各种 HTTP 头来保护你的 Express 应用程序。 diff --git a/curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3c8bf3980c14c438d2aed.md b/curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3c8bf3980c14c438d2aed.md index 7bec654ec15..ae7f2b797d2 100644 --- a/curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3c8bf3980c14c438d2aed.md +++ b/curriculum/challenges/chinese/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3c8bf3980c14c438d2aed.md @@ -7,7 +7,7 @@ dashedName: step-39 # --description-- -For now, make your `goStore` function output the message `Going to store.` to the console. For example, here is a function that outputs the message "Hello World". +For now, make your `goStore` function output the message `Going to store.` to the console. For example, here is a function that outputs the message `Hello World`. ```js function functionName() { diff --git a/curriculum/challenges/espanol/05-back-end-development-and-apis/basic-node-and-express/serve-json-on-a-specific-route.md b/curriculum/challenges/espanol/05-back-end-development-and-apis/basic-node-and-express/serve-json-on-a-specific-route.md index d8b1bbe8c83..8efed3dc057 100644 --- a/curriculum/challenges/espanol/05-back-end-development-and-apis/basic-node-and-express/serve-json-on-a-specific-route.md +++ b/curriculum/challenges/espanol/05-back-end-development-and-apis/basic-node-and-express/serve-json-on-a-specific-route.md @@ -18,7 +18,7 @@ Sirve el objeto `{"message": "Hello json"}` como respuesta, en formato JSON, a l # --hints-- -El endpoint `/json` debe servir el objeto json `{"message": "Hello json"}` +The endpoint `/json` should serve the JSON object `{"message": "Hello json"}` ```js (getUserInput) => diff --git a/curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3c8bf3980c14c438d2aed.md b/curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3c8bf3980c14c438d2aed.md index 29c48fafd6b..95b1c534590 100644 --- a/curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3c8bf3980c14c438d2aed.md +++ b/curriculum/challenges/espanol/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3c8bf3980c14c438d2aed.md @@ -7,7 +7,7 @@ dashedName: step-39 # --description-- -For now, make your `goStore` function output the message `Going to store.` to the console. For example, here is a function that outputs the message "Hello World". +For now, make your `goStore` function output the message `Going to store.` to the console. For example, here is a function that outputs the message `Hello World`. ```js function functionName() { diff --git a/curriculum/challenges/german/05-back-end-development-and-apis/basic-node-and-express/serve-json-on-a-specific-route.md b/curriculum/challenges/german/05-back-end-development-and-apis/basic-node-and-express/serve-json-on-a-specific-route.md index 59d415ac909..cec91f7f57a 100644 --- a/curriculum/challenges/german/05-back-end-development-and-apis/basic-node-and-express/serve-json-on-a-specific-route.md +++ b/curriculum/challenges/german/05-back-end-development-and-apis/basic-node-and-express/serve-json-on-a-specific-route.md @@ -18,7 +18,7 @@ Liefere das Objekt `{"message": "Hello json"}` im JSON-Format als Antwort, um GE # --hints-- -Der Endpunkt `/json` sollte das JSON-Objekt `{"message": "Hello json"}` liefern +The endpoint `/json` should serve the JSON object `{"message": "Hello json"}` ```js (getUserInput) => diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3c8bf3980c14c438d2aed.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3c8bf3980c14c438d2aed.md index 7bec654ec15..ae7f2b797d2 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3c8bf3980c14c438d2aed.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3c8bf3980c14c438d2aed.md @@ -7,7 +7,7 @@ dashedName: step-39 # --description-- -For now, make your `goStore` function output the message `Going to store.` to the console. For example, here is a function that outputs the message "Hello World". +For now, make your `goStore` function output the message `Going to store.` to the console. For example, here is a function that outputs the message `Hello World`. ```js function functionName() { diff --git a/curriculum/challenges/italian/05-back-end-development-and-apis/basic-node-and-express/serve-json-on-a-specific-route.md b/curriculum/challenges/italian/05-back-end-development-and-apis/basic-node-and-express/serve-json-on-a-specific-route.md index 47bfba8569f..3bd1f922d43 100644 --- a/curriculum/challenges/italian/05-back-end-development-and-apis/basic-node-and-express/serve-json-on-a-specific-route.md +++ b/curriculum/challenges/italian/05-back-end-development-and-apis/basic-node-and-express/serve-json-on-a-specific-route.md @@ -18,7 +18,7 @@ Servi l'oggetto `{"message": "Hello json"}` come risposta, in formato JSON, alle # --hints-- -L'endpoint `/json` dovrebbe servire l'oggetto json `{"message": "Hello json"}` +The endpoint `/json` should serve the JSON object `{"message": "Hello json"}` ```js (getUserInput) => diff --git a/curriculum/challenges/italian/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f8bfe0f30a1a3c340356b.md b/curriculum/challenges/italian/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f8bfe0f30a1a3c340356b.md index d4c61933c43..447caa95100 100644 --- a/curriculum/challenges/italian/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f8bfe0f30a1a3c340356b.md +++ b/curriculum/challenges/italian/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f8bfe0f30a1a3c340356b.md @@ -30,7 +30,7 @@ Il primo nuovo elemento `p` dovrebbe avere un elemento `span`. assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.previousElementSibling?.firstElementChild?.localName === 'span'); ``` -Your first `span` element should not be bold. +Il primo elemento `span` non dovrebbe essere in grassetto. ```js assert(!document.querySelector('.daily-value.small-text')?.lastElementChild?.previousElementSibling?.firstElementChild?.classList?.contains('bold')); diff --git a/curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3c8bf3980c14c438d2aed.md b/curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3c8bf3980c14c438d2aed.md index cb3940f6ac8..d5a108a716b 100644 --- a/curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3c8bf3980c14c438d2aed.md +++ b/curriculum/challenges/italian/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3c8bf3980c14c438d2aed.md @@ -7,7 +7,7 @@ dashedName: step-39 # --description-- -Per ora, fai in modo che l'output della funzione `goStore` sia il messaggio `Going to store.` sulla console. Ad esempio, ecco una funzione il cui output è il messaggio "Hello World". +Per ora, fai in modo che l'output della funzione `goStore` sia il messaggio `Going to store.` sulla console. Ad esempio, ecco una funzione il cui output è il messaggio `Hello World`. ```js function functionName() { diff --git a/curriculum/challenges/japanese/05-back-end-development-and-apis/basic-node-and-express/serve-json-on-a-specific-route.md b/curriculum/challenges/japanese/05-back-end-development-and-apis/basic-node-and-express/serve-json-on-a-specific-route.md index 917b20de2bb..fb3f4592e27 100644 --- a/curriculum/challenges/japanese/05-back-end-development-and-apis/basic-node-and-express/serve-json-on-a-specific-route.md +++ b/curriculum/challenges/japanese/05-back-end-development-and-apis/basic-node-and-express/serve-json-on-a-specific-route.md @@ -18,7 +18,7 @@ HTML サーバーは HTML を提供しますが、API はデータを提供し # --hints-- -エンドポイント `/json` は json オブジェクト `{"message": "Hello json"}` を提供する必要があります。 +The endpoint `/json` should serve the JSON object `{"message": "Hello json"}` ```js (getUserInput) => diff --git a/curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3c8bf3980c14c438d2aed.md b/curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3c8bf3980c14c438d2aed.md index 7bec654ec15..ae7f2b797d2 100644 --- a/curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3c8bf3980c14c438d2aed.md +++ b/curriculum/challenges/japanese/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3c8bf3980c14c438d2aed.md @@ -7,7 +7,7 @@ dashedName: step-39 # --description-- -For now, make your `goStore` function output the message `Going to store.` to the console. For example, here is a function that outputs the message "Hello World". +For now, make your `goStore` function output the message `Going to store.` to the console. For example, here is a function that outputs the message `Hello World`. ```js function functionName() { diff --git a/curriculum/challenges/portuguese/05-back-end-development-and-apis/basic-node-and-express/serve-json-on-a-specific-route.md b/curriculum/challenges/portuguese/05-back-end-development-and-apis/basic-node-and-express/serve-json-on-a-specific-route.md index a483ea0a7a6..c158b551d15 100644 --- a/curriculum/challenges/portuguese/05-back-end-development-and-apis/basic-node-and-express/serve-json-on-a-specific-route.md +++ b/curriculum/challenges/portuguese/05-back-end-development-and-apis/basic-node-and-express/serve-json-on-a-specific-route.md @@ -18,7 +18,7 @@ Sirva o objeto `{"message": "Hello json"}` como uma resposta, no formato JSON, p # --hints-- -O `/json` do endpoint deve servir o objeto json `{"message": "Hello json"}` +The endpoint `/json` should serve the JSON object `{"message": "Hello json"}` ```js (getUserInput) => diff --git a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f8bfe0f30a1a3c340356b.md b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f8bfe0f30a1a3c340356b.md index 361326fd4d4..206a0e9b7cb 100644 --- a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f8bfe0f30a1a3c340356b.md +++ b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f8bfe0f30a1a3c340356b.md @@ -30,7 +30,7 @@ O primeiro novo elemento `p` deve ter um elemento `span`. assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.previousElementSibling?.firstElementChild?.localName === 'span'); ``` -Your first `span` element should not be bold. +O primeiro elemento `span` não deve estar em negrito. ```js assert(!document.querySelector('.daily-value.small-text')?.lastElementChild?.previousElementSibling?.firstElementChild?.classList?.contains('bold')); diff --git a/curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3c8bf3980c14c438d2aed.md b/curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3c8bf3980c14c438d2aed.md index ef86d4bda40..b448f505734 100644 --- a/curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3c8bf3980c14c438d2aed.md +++ b/curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3c8bf3980c14c438d2aed.md @@ -7,7 +7,7 @@ dashedName: step-39 # --description-- -Por enquanto, faça a função `goStore` retornar a mensagem `Going to store.` para o console. Por exemplo, aqui está uma função que produz a mensagem "Hello World". +Por enquanto, faça a função `goStore` retornar a mensagem `Going to store.` para o console. Por exemplo, aqui está uma função que produz a mensagem `Hello World`. ```js function functionName() { diff --git a/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/es6/mutate-an-array-declared-with-const.md b/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/es6/mutate-an-array-declared-with-const.md index 6cba1c737a1..811316d02e8 100644 --- a/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/es6/mutate-an-array-declared-with-const.md +++ b/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/es6/mutate-an-array-declared-with-const.md @@ -25,27 +25,27 @@ console.log(s); `s = [1, 2, 3]` призведе до помилки. Після коментування цього рядка, `console.log` показуватиме значення `[5, 6, 45]`. -Як ви помітили, об’єкт `[5, 6, 7]` можна змінювати, але змінна `s` всеодно вказуватиме на змінений масив `[5, 6, 45]`. Як і усі масиви, елементи масиву в `s` є незмінними, бо було використано `const`. Ви не можете використовувати ідентифікатор змінної `s`, щоб вказувати на інший масив оператору призначення. +Як ви помітили, об’єкт `[5, 6, 7]` можна змінювати, але змінна `s` всеодно вказуватиме на змінений масив `[5, 6, 45]`. Як і усі масиви, елементи масиву в `s` є змінними, але оскільки було використано `const`, ви не можете використати ідентифікатор змінної `s`, щоб вказати на інший масив за допомогою оператора присвоєння. # --instructions-- -Масив оголошується як `const s = [5, 7, 2]`. Змініть масив на `[2, 5, 7]` використовуючи різні призначення елементів. +Масив оголошується як `const s = [5, 7, 2]`. Змініть масив на `[2, 5, 7]`, використовуючи різні присвоєння елементів. # --hints-- -Вам не слід замінювати ключове слово `const`. +Ви не повинні замінювати ключове слово `const`. ```js (getUserInput) => assert(getUserInput('index').match(/const/g)); ``` -`s` має бути постійно змінною (використовуйте `const`). +`s` повинна бути константною змінною (використовуйте `const`). ```js (getUserInput) => assert(getUserInput('index').match(/const\s+s/g)); ``` -Не слід змінювати початковий масив. +Ви не повинні змінювати оголошення масиву. ```js (getUserInput) => @@ -56,7 +56,7 @@ console.log(s); ); ``` -`s` повинен дорівнювати `[2, 5, 7]`. +`s` повинна дорівнювати `[2, 5, 7]`. ```js assert.deepEqual(s, [2, 5, 7]); diff --git a/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/functional-programming/add-elements-to-the-end-of-an-array-using-concat-instead-of-push.md b/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/functional-programming/add-elements-to-the-end-of-an-array-using-concat-instead-of-push.md index 840e2c9cda0..e73b6a16c25 100644 --- a/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/functional-programming/add-elements-to-the-end-of-an-array-using-concat-instead-of-push.md +++ b/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/functional-programming/add-elements-to-the-end-of-an-array-using-concat-instead-of-push.md @@ -1,6 +1,6 @@ --- id: 587d7da9367417b2b2512b67 -title: Додати елементи в кінець масиву за допомогою контикату замість натискання +title: Додавання елементів в кінець масиву за допомогою concat замість push challengeType: 1 forumTopicId: 301226 dashedName: add-elements-to-the-end-of-an-array-using-concat-instead-of-push @@ -8,32 +8,32 @@ dashedName: add-elements-to-the-end-of-an-array-using-concat-instead-of-push # --description-- -Функціональне програмування - це створення та використання функцій, що не змінюються. +Найважливішим у функційному програмуванні є створення та використання незмінних функцій. -The last challenge introduced the `concat` method as a way to merge arrays into a new array without mutating the original arrays. Порівняйте метод `concat` з методом `push`. `push` adds items to the end of the same array it is called on, which mutates that array. Ось один із прикладів: +У попередньому завданні ви дізнались про метод `concat`, за допомогою якого можна злити масиви в один, не змінюючи початкові масиви. Порівняйте метод `concat` з методом `push`. `push` додає елементи в кінець того масиву, в якому викликаний, тим самим змінюючи його. Ось приклад: ```js const arr = [1, 2, 3]; arr.push(4, 5, 6); ``` -`arr` would have a modified value of `[1, 2, 3, 4, 5, 6]`, which is not the functional programming way. +`arr` матиме змінене значення `[1, 2, 3, 4, 5, 6]`, що не відповідає функційному програмуванню. -`concat` offers a way to merge new items to the end of an array without any mutating side effects. +`concat` надає можливість додавати нові елементи в кінець масиву без побічних ефектів. # --instructions-- -Change the `nonMutatingPush` function so it uses `concat` to merge `newItem` to the end of `original` without mutating `original` or `newItem` arrays. Функція повинна повертати масив. +Змініть функцію `nonMutatingPush` так, щоб вона використовувала `concat`, аби додати `newItem` в кінець `original`, не змінюючи масиви `original` чи `newItem`. Функція повинна повертати масив. # --hints-- -Ваш код повинен застосовувати метод `concat`. +Ваш код повинен використовувати метод `concat`. ```js assert(code.match(/\.concat/g)); ``` -Не застосовуйте метод `push` у вашому коді. +Ваш код не повинен використовувати метод `push`. ```js assert(!code.match(/\.?[\s\S]*?push/g)); @@ -51,7 +51,7 @@ assert(JSON.stringify(first) === JSON.stringify([1, 2, 3])); assert(JSON.stringify(second) === JSON.stringify([4, 5])); ``` -`nonMutatingConcat([1, 2, 3], [4, 5])` повинен змінюватися на `[1, 2, 3, 4, 5]`. +`nonMutatingPush([1, 2, 3], [4, 5])` повинна повертати `[1, 2, 3, 4, 5]`. ```js assert( diff --git a/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/functional-programming/apply-functional-programming-to-convert-strings-to-url-slugs.md b/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/functional-programming/apply-functional-programming-to-convert-strings-to-url-slugs.md index 843b3728d0b..2918a0532f2 100644 --- a/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/functional-programming/apply-functional-programming-to-convert-strings-to-url-slugs.md +++ b/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/functional-programming/apply-functional-programming-to-convert-strings-to-url-slugs.md @@ -1,6 +1,6 @@ --- id: 587d7dab367417b2b2512b6d -title: Застосуйте функціональне програмування для перетворення рядків в URL потоки +title: Застосування функційного програмування для перетворення рядків на URL-слаги challengeType: 1 forumTopicId: 301227 dashedName: apply-functional-programming-to-convert-strings-to-url-slugs @@ -8,11 +8,11 @@ dashedName: apply-functional-programming-to-convert-strings-to-url-slugs # --description-- -Останні кілька викликів охопили ряд корисних масивів та рядкових методів, що дотримуються принципів функціонального програмування. Ми також дізналися про `reduce`, який є потужним методом, що використовується для зменшення проблем для більш простої форми. Від середнього рівня обчислення до сортування, будь-яку масивну операцію можна досягти шляхом її застосування. Згадайте, що `map` і `filter` є особливими випадками `reduce`. +Декілька попередніх завдань охоплювали ряд корисних методів масивів та рядків, які дотримуються принципів функційного програмування. Ми також дізналися про потужний метод `reduce`, який використовується для скорочення задач. За його допомогою можна виконати будь-яку операцію над масивом: від обчислення до сортування. Пригадайте, що `map` та `filter` є особливими випадками `reduce`. -Об'єднаймо те, що ми навчилися вирішувати практичні проблеми. +Об’єднаємо вивчене, щоб розв’язати практичне завдання. -Багато сайтів управління контентом (CMS) мають заголовки матеріалу, доданих до частини URL для простих закладок. Наприклад, якщо ви напишете середній пост під назвою `Stop Using Reduce`, ймовірно, що URL буде мати певний формат рядка з заголовком (`.../stop-using-reduce`). Можливо, ви вже помітили це на сайті freeCodeCamp. +Багато сайтів керування вмістом (CMS) додають заголовки дописів до частини URL в цілях соціальних закладок. Наприклад, якщо ви напишете середній допис під назвою `Stop Using Reduce`, ймовірно, URL міститиме заголовок (`.../stop-using-reduce`). Можливо, ви вже помітили це на сайті freeCodeCamp. # --instructions-- @@ -28,25 +28,25 @@ dashedName: apply-functional-programming-to-convert-strings-to-url-slugs # --hints-- -Не використовуйте метод `replace` у вашому коді для цього завдання. +Ваш код не повинен використовувати метод `replace` у цьому завданні. ```js assert(!code.match(/\.?[\s\S]*?replace/g)); ``` -`urlSlug("Winter Is Coming")` повинен повернути рядок `winter-is-coming`. +`urlSlug("Winter Is Coming")` повинна повертати рядок `winter-is-coming`. ```js assert(urlSlug('Winter Is Coming') === 'winter-is-coming'); ``` -`urlSlug("Winter Is Coming")` повернути рядок `winter-is-coming`. +`urlSlug(" Winter Is Coming")` повинна повертати рядок `winter-is-coming`. ```js assert(urlSlug(' Winter Is Coming') === 'winter-is-coming'); ``` -`urlSlug("A Mind Needs Books Like A Sword Needs A Whetstone")` потрібно повернути рядок `a-mind-needs-books-like-a-sword-needs-needs-a-whetstone`. +`urlSlug("A Mind Needs Books Like A Sword Needs A Whetstone")` повинна повертати рядок `a-mind-needs-books-like-a-sword-needs-a-whetstone`. ```js assert( @@ -55,7 +55,7 @@ assert( ); ``` -`urlSlug(" Hold The Door")`слід повернути рядок `hold-door`. +`urlSlug("Hold The Door")` повинна повертати рядок `hold-the-door`. ```js assert(urlSlug('Hold The Door') === 'hold-the-door'); diff --git a/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/functional-programming/combine-an-array-into-a-string-using-the-join-method.md b/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/functional-programming/combine-an-array-into-a-string-using-the-join-method.md index 0bdeba26341..53e9ce51d2c 100644 --- a/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/functional-programming/combine-an-array-into-a-string-using-the-join-method.md +++ b/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/functional-programming/combine-an-array-into-a-string-using-the-join-method.md @@ -10,7 +10,7 @@ dashedName: combine-an-array-into-a-string-using-the-join-method Метод `join` використовується для об'єднання елементів масиву для створення стрічки. Потрібний аргумент для розділювача, який використовується для відокремлення елементів масиву у рядку. -Наприклад: +Ось приклад: ```js const arr = ["Hello", "World"]; @@ -24,13 +24,13 @@ const str = arr.join(" "); # --hints-- -Використовуйте метод `join` у вашому коді. +Ваш код повинен використовувати метод `join`. ```js assert(code.match(/\.join/g)); ``` -Не використовуйте метод `replace` у вашому коді. +Ваш код не повинен використовувати метод `replace`. ```js assert(!code.match(/\.?[\s\S]*?replace/g)); diff --git a/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/functional-programming/implement-map-on-a-prototype.md b/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/functional-programming/implement-map-on-a-prototype.md index b6e7652b82f..f88dbd1944a 100644 --- a/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/functional-programming/implement-map-on-a-prototype.md +++ b/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/functional-programming/implement-map-on-a-prototype.md @@ -1,6 +1,6 @@ --- id: 587d7b8f367417b2b2512b62 -title: Карта реалізації на прототипі +title: Імплементація map на прототипі challengeType: 1 forumTopicId: 301230 dashedName: implement-map-on-a-prototype @@ -16,11 +16,11 @@ dashedName: implement-map-on-a-prototype # --instructions-- -Напишіть ваш власний `Array.prototype.myMap()`, що повинен поводити себе точно так як `Array.prototype.map()`. Не варто використовувати вбудований метод `map`. Екземпляр `Array` може бути доступним за допомогою методу `myMap` з використанням `this`. +Напишіть ваш власний `Array.prototype.myMap()`, що повинен поводити себе точно так як `Array.prototype.map()`. Ви не повинні використовувати вбудований метод `map`. Екземпляр `Array` може бути доступним за допомогою методу `myMap` з використанням `this`. # --hints-- -`[23, 65, 98, 5, 13].myMap(item => item * 2)` should equal `[46, 130, 196, 10, 26]`. +`[23, 65, 98, 5, 13].myMap(item => item * 2)` повинна дорівнювати `[46, 130, 196, 10, 26]`. ```js const _test_s = [23, 65, 98, 5, 13]; @@ -28,7 +28,7 @@ const _callback = item => item * 2; assert(JSON.stringify(_test_s.map(_callback)) === JSON.stringify(_test_s.myMap(_callback))); ``` -`["naomi", "quincy", "camperbot"].myMap(element => element.toUpperCase())` should return `["NAOMI", "QUINCY", "CAMPERBOT"]`. +`["naomi", "quincy", "camperbot"].myMap(element => element.toUpperCase())` повинна повертати `["NAOMI", "QUINCY", "CAMPERBOT"]`. ```js const _test_s = ["naomi", "quincy", "camperbot"]; @@ -36,7 +36,7 @@ const _callback = element => element.toUpperCase(); assert(JSON.stringify(_test_s.map(_callback)) === JSON.stringify(_test_s.myMap(_callback))); ``` -`[1, 1, 2, 5, 2].myMap((element, index, array) => array[index + 1] || array[0])` should return `[1, 2, 5, 2, 1]`. +`[1, 1, 2, 5, 2].myMap((element, index, array) => array[index + 1] || array[0])` повинна повертати `[1, 2, 5, 2, 1]`. ```js const _test_s = [1, 1, 2, 5, 2]; @@ -44,7 +44,7 @@ const _callback = (element, index, array) => array[index + 1] || array[0]; assert(JSON.stringify(_test_s.map(_callback)) === JSON.stringify(_test_s.myMap(_callback))); ``` -Your code should not use the `map` method. +Ваш код не повинен використовувати метод `map`. ```js assert(!code.match(/\.?[\s\S]*?map/g)); diff --git a/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/functional-programming/implement-the-filter-method-on-a-prototype.md b/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/functional-programming/implement-the-filter-method-on-a-prototype.md index 28daae2eefd..4474c2008e0 100644 --- a/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/functional-programming/implement-the-filter-method-on-a-prototype.md +++ b/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/functional-programming/implement-the-filter-method-on-a-prototype.md @@ -1,6 +1,6 @@ --- id: 587d7b8f367417b2b2512b64 -title: Реалізація методу фільтра для прототипу +title: Імплементація методу filter на прототипі challengeType: 1 forumTopicId: 301231 dashedName: implement-the-filter-method-on-a-prototype @@ -12,7 +12,7 @@ dashedName: implement-the-filter-method-on-a-prototype # --instructions-- -Напишіть ваш власний `Array.prototype.myFilter()`, який буде поводити себе точно так як `Array.prototype.filter()`. Не варто використовувати вбудований метод `filter`. Приклад `Array` може бути доступним за допомогою методу `myFilter` з використанням `this`. +Напишіть ваш власний `Array.prototype.myFilter()`, який буде поводити себе точно так як `Array.prototype.filter()`. Ви не повинні використовувати вбудований метод `filter`. Приклад `Array` може бути доступним за допомогою методу `myFilter` з використанням `this`. # --hints-- @@ -40,7 +40,7 @@ const _callback = (element, index, array) => array.indexOf(element) === index; assert(JSON.stringify(_test_s.filter(_callback)) === JSON.stringify(_test_s.myFilter(_callback))); ``` -Your code should not use the `filter` method. +Ваш код не повинен використовувати метод `filter`. ```js assert(!code.match(/\.?[\s\S]*?filter/g)); diff --git a/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/functional-programming/introduction-to-currying-and-partial-application.md b/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/functional-programming/introduction-to-currying-and-partial-application.md index 21c588f21e0..0b27a6d2e12 100644 --- a/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/functional-programming/introduction-to-currying-and-partial-application.md +++ b/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/functional-programming/introduction-to-currying-and-partial-application.md @@ -12,7 +12,7 @@ dashedName: introduction-to-currying-and-partial-application Інакше кажучи, каррування реструктурує функцію так, що вона бере один аргумент, потім повертає іншу функцію, яка бере наступний аргумент, і так далі. -Наприклад: +Ось приклад: ```js function unCurried(x, y) { @@ -39,7 +39,7 @@ const funcForY = curried(1); console.log(funcForY(2)); // 3 ``` -Аналогічно часткове застосування можна описати як застосування декількох аргументів до функції одночасно і повернення іншої функції, яка застосовується до більшої кількості аргументів. Наприклад: +Аналогічно часткове застосування можна описати як застосування декількох аргументів до функції одночасно і повернення іншої функції, яка застосовується до більшої кількості аргументів. Ось приклад: ```js function impartial(x, y, z) { diff --git a/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/functional-programming/remove-elements-from-an-array-using-slice-instead-of-splice.md b/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/functional-programming/remove-elements-from-an-array-using-slice-instead-of-splice.md index db1e80f1430..33d3844e632 100644 --- a/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/functional-programming/remove-elements-from-an-array-using-slice-instead-of-splice.md +++ b/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/functional-programming/remove-elements-from-an-array-using-slice-instead-of-splice.md @@ -27,13 +27,13 @@ cities.splice(3, 1); # --hints-- -Використовуйте метод «`slice`» у своєму коді. +Ваш код повинен використовувати метод `slice`. ```js assert(code.match(/\.slice/g)); ``` -Не використовуйте метод «`splice`» у своєму коді. +Ваш код не повинен використовувати метод `splice`. ```js assert(!code.match(/\.?[\s\S]*?splice/g)); diff --git a/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/functional-programming/return-a-sorted-array-without-changing-the-original-array.md b/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/functional-programming/return-a-sorted-array-without-changing-the-original-array.md index 73e78373fdc..cf3e2a85c22 100644 --- a/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/functional-programming/return-a-sorted-array-without-changing-the-original-array.md +++ b/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/functional-programming/return-a-sorted-array-without-changing-the-original-array.md @@ -16,13 +16,13 @@ dashedName: return-a-sorted-array-without-changing-the-original-array # --hints-- -Використовуйте метод «`sort`» у вашому коді. +Ваш код повинен використовувати метод `sort`. ```js assert(nonMutatingSort.toString().match(/\.sort/g)); ``` -Змінна `globalArray` не повинна змінитися. +Змінна `globalArray` не повинна змінюватись. ```js assert(JSON.stringify(globalArray) === JSON.stringify([5, 6, 3, 2, 9])); diff --git a/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/functional-programming/return-part-of-an-array-using-the-slice-method.md b/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/functional-programming/return-part-of-an-array-using-the-slice-method.md index beb4da92598..cbf0bdaca55 100644 --- a/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/functional-programming/return-part-of-an-array-using-the-slice-method.md +++ b/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/functional-programming/return-part-of-an-array-using-the-slice-method.md @@ -25,7 +25,7 @@ const newArray = arr.slice(1, 3); # --hints-- -Використовуйте метод «`slice`» у своєму коді. +Ваш код повинен використовувати метод `slice`. ```js assert(code.match(/\.slice/g)); diff --git a/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/functional-programming/sort-an-array-alphabetically-using-the-sort-method.md b/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/functional-programming/sort-an-array-alphabetically-using-the-sort-method.md index 2501ace0140..616af83afce 100644 --- a/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/functional-programming/sort-an-array-alphabetically-using-the-sort-method.md +++ b/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/functional-programming/sort-an-array-alphabetically-using-the-sort-method.md @@ -44,7 +44,7 @@ reverseAlpha(['l', 'h', 'z', 'b', 's']); # --hints-- -Використовуйте метод `sort` у вашому коді. +Ваш код повинен використовувати метод `sort`. ```js assert(code.match(/\.sort/g)); diff --git a/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/functional-programming/use-the-every-method-to-check-that-every-element-in-an-array-meets-a-criteria.md b/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/functional-programming/use-the-every-method-to-check-that-every-element-in-an-array-meets-a-criteria.md index 5001e6ff0ba..8c5f7ca3f77 100644 --- a/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/functional-programming/use-the-every-method-to-check-that-every-element-in-an-array-meets-a-criteria.md +++ b/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/functional-programming/use-the-every-method-to-check-that-every-element-in-an-array-meets-a-criteria.md @@ -28,7 +28,7 @@ numbers.every(function(currentValue) { # --hints-- -Використовуйте у коді метод `every`. +Ваш код повинен використовувати метод `every`. ```js assert(code.match(/\.every/g)); diff --git a/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/functional-programming/use-the-map-method-to-extract-data-from-an-array.md b/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/functional-programming/use-the-map-method-to-extract-data-from-an-array.md index d0281943bd3..410920fdcac 100644 --- a/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/functional-programming/use-the-map-method-to-extract-data-from-an-array.md +++ b/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/functional-programming/use-the-map-method-to-extract-data-from-an-array.md @@ -49,7 +49,7 @@ assert( ); ``` -Ваш код не повинен використовувати цикл `for`цикл. +Ваш код не повинен використовувати цикл `for`. ```js assert(!code.match(/for\s*?\([\s\S]*?\)/)); diff --git a/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/functional-programming/use-the-some-method-to-check-that-any-elements-in-an-array-meet-a-criteria.md b/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/functional-programming/use-the-some-method-to-check-that-any-elements-in-an-array-meet-a-criteria.md index d77b63a330a..6b40106ca7b 100644 --- a/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/functional-programming/use-the-some-method-to-check-that-any-elements-in-an-array-meet-a-criteria.md +++ b/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/functional-programming/use-the-some-method-to-check-that-any-elements-in-an-array-meet-a-criteria.md @@ -28,7 +28,7 @@ numbers.some(function(currentValue) { # --hints-- -Використовуйте у коді метод `some`. +Ваш код повинен використовувати метод `some`. ```js assert(code.match(/\.some/g)); diff --git a/curriculum/challenges/ukrainian/05-back-end-development-and-apis/basic-node-and-express/serve-json-on-a-specific-route.md b/curriculum/challenges/ukrainian/05-back-end-development-and-apis/basic-node-and-express/serve-json-on-a-specific-route.md index 5e10881aa24..be4babc809d 100644 --- a/curriculum/challenges/ukrainian/05-back-end-development-and-apis/basic-node-and-express/serve-json-on-a-specific-route.md +++ b/curriculum/challenges/ukrainian/05-back-end-development-and-apis/basic-node-and-express/serve-json-on-a-specific-route.md @@ -18,7 +18,7 @@ dashedName: serve-json-on-a-specific-route # --hints-- -Кінцева точка `/json` повинна обслуговувати об'єкт json `{"message": "Hello json"}` +The endpoint `/json` should serve the JSON object `{"message": "Hello json"}` ```js (getUserInput) => diff --git a/curriculum/challenges/ukrainian/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f8bfe0f30a1a3c340356b.md b/curriculum/challenges/ukrainian/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f8bfe0f30a1a3c340356b.md index a4a9ccedc37..81b82480acc 100644 --- a/curriculum/challenges/ukrainian/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f8bfe0f30a1a3c340356b.md +++ b/curriculum/challenges/ukrainian/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f8bfe0f30a1a3c340356b.md @@ -30,7 +30,7 @@ assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.prev assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.previousElementSibling?.firstElementChild?.localName === 'span'); ``` -Your first `span` element should not be bold. +Ваш перший елемент `span` не повинен бути жирним. ```js assert(!document.querySelector('.daily-value.small-text')?.lastElementChild?.previousElementSibling?.firstElementChild?.classList?.contains('bold')); diff --git a/curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3c8bf3980c14c438d2aed.md b/curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3c8bf3980c14c438d2aed.md index 23d7c98dd28..4009a2d7817 100644 --- a/curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3c8bf3980c14c438d2aed.md +++ b/curriculum/challenges/ukrainian/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3c8bf3980c14c438d2aed.md @@ -7,7 +7,7 @@ dashedName: step-39 # --description-- -Наразі зробіть так, щоб функція `goStore` виводила повідомлення `Going to store.` на консоль. Наприклад, ось функція, яка виводить повідомлення "Hello World". +Наразі зробіть так, щоб функція `goStore` виводила повідомлення `Going to store.` на консоль. Наприклад, ось функція, яка виводить повідомлення `Hello World`. ```js function functionName() {