diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/write-reusable-javascript-with-functions.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/write-reusable-javascript-with-functions.md
index b5c0f3a7d9d..80357e202a5 100644
--- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/write-reusable-javascript-with-functions.md
+++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/write-reusable-javascript-with-functions.md
@@ -1,6 +1,6 @@
---
id: 56bbb991ad1ed5201cd392cf
-title: كتابة JavaScript قابل لإعادة الاستخدام مع الوظائف (Write Reusable JavaScript with Functions)
+title: كتابة JavaScript قابلة لإعادة الاستخدام مع الوظائف (Functions)
challengeType: 1
videoUrl: 'https://scrimba.com/c/cL6dqfy'
forumTopicId: 18378
@@ -9,7 +9,7 @@ dashedName: write-reusable-javascript-with-functions
# --description--
-في JavaScript، يمكننا تقسيم الكود إلى أجزاء قابلة لإعادة الاستخدام تسمى وظائف.
+في JavaScript، يمكننا تقسيم الكود إلى أجزاء قابلة لإعادة الاستخدام تسمى وظائف (functions).
إليك مثال لوظيفة:
@@ -19,16 +19,16 @@ function functionName() {
}
```
-يمكنك استدعاء أو تفعيل هذه الوظيفة باستخدام اسمه متبوعا بقوسين، هكذا: `functionName();` في كل مرة يستدعي الوظيفة، ستطبع الرسالة `Hello World` في وحدة التحكم. سيتم تنفيذ الكود بين الأقواس المتعرجة في كل مرة يستدعي الوظيفة.
+يمكنك تنفيذ أو تفعيل هذه الوظيفة باستخدام اسمه متبوعا بقوسين، هكذا: `functionName();` في كل مرة تنفذ الوظيفة، ستطبع الرسالة `Hello World` في وحدة التحكم (console). سيتم تنفيذ الكود بين الأقواس المتعرجة في كل مرة تنفيذ الوظيفة.
# --instructions--
-
- أنشئ وظيفة تسمى
reusableFunction الذي يطبع مقطع Hi World إلى وحدة التحكم.
+ أنشئ وظيفة تسمى reusableFunction التي تطبع مقطع Hi World في وحدة التحكم.
-
- أستدعي الوظيفة.
+ نفذ الوظيفة.
@@ -40,7 +40,7 @@ function functionName() {
assert(typeof reusableFunction === 'function');
```
-إذا تم استدعاء `reusableFunction`، فيجب طباعة مقطع `Hi World` علي وحدة التحكم.
+إذا تم استدعاء `reusableFunction`، فيجب طباعة مقطع `Hi World` في وحدة التحكم.
```js
assert(testConsole());
diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-with-the-rest-parameter-to-reassign-array-elements.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-with-the-rest-parameter-to-reassign-array-elements.md
index 0881854a949..3dd33329c2e 100644
--- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-with-the-rest-parameter-to-reassign-array-elements.md
+++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-with-the-rest-parameter-to-reassign-array-elements.md
@@ -1,7 +1,7 @@
---
id: 587d7b8a367417b2b2512b4c
title: >-
- Use Destructuring Assignment with the Rest Parameter to Reassign Array Elements
+ Destructuring via rest elements
challengeType: 1
forumTopicId: 301218
dashedName: >-
@@ -22,11 +22,11 @@ console.log(arr);
ستعرض وحدة التحكم القيم `1, 2` و `[3, 4, 5, 7]`.
-المتغيرات `a` و `b` تأخذ القيم الأولى والثانية من الـ array. بعد ذلك، بسبب وجود rest parameter، الـ `arr` يحصل على بقية القيم في شكل array. يعمل العنصر rest بشكل صحيح فقط كآخر متغير في القائمة. بمعني انه لا يمكنك استخدام rest parameter لالتقاط subarray (اي array فرعية) تترك العنصر الأخير من الـ array الأصلية.
+المتغيرات `a` و `b` تأخذ القيم الأولى والثانية من الـ array. After that, because of the rest syntax presence, `arr` gets the rest of the values in the form of an array. يعمل العنصر rest بشكل صحيح فقط كآخر متغير في القائمة. As in, you cannot use the rest syntax to catch a subarray that leaves out the last element of the original array.
# --instructions--
-استخدام تشكيل مخرج للمعلومات (destructuring assignment) مع الحجة (parameter) الباقية لمحاكاة سلوك `Array.prototype.slice()`. يجب أن ينتج `removeFirstTwo()` قائمة فرعية (sub-array) من قائمة `list` الأصلية دون العنصرين الأولين.
+Use a destructuring assignment with the rest syntax to emulate the behavior of `Array.prototype.slice()`. يجب أن ينتج `removeFirstTwo()` قائمة فرعية (sub-array) من قائمة `list` الأصلية دون العنصرين الأولين.
# --hints--
diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/add-methods-after-inheritance.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/add-methods-after-inheritance.md
index 960c65a0459..5b7b5c2eaf4 100644
--- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/add-methods-after-inheritance.md
+++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/add-methods-after-inheritance.md
@@ -8,9 +8,9 @@ dashedName: add-methods-after-inheritance
# --description--
-الـ constructor function الذي يرث `prototype` الـ object الخاص به من الـ supertype constructor function يمكن أن يكون له الـ methods الخاصة به بالإضافة إلى الـ methods الموروثة.
+الوظيفة المنشئة (constructor function) التي ترث كائنها (object) يسمى `prototype` من وظيفة منشئة كبرى (supertype) يمكن أن يكون لها طرقها (methods) بالإضافة إلى الطرق الموروثة.
-على سبيل المثال، `Bird` هو constructor يرث `prototype` من `Animal`:
+على سبيل المثال، `Bird` هو منشئ (constructor) يرث `prototype` من `Animal`:
```js
function Animal() { }
@@ -22,7 +22,7 @@ Bird.prototype = Object.create(Animal.prototype);
Bird.prototype.constructor = Bird;
```
-بالإضافة إلى ما هو موروث من `Animal`، تريد إضافة سلوك فريد إلى objects الـ `Bird`. هنا ، `Bird` سيحصل على دالة `fly()`. يتم إضافة الدوال إلى `prototype` ال `Bird's` بنفس الطريقة مثل أي constructor function:
+بالإضافة إلى ما موروث من `Animal`، تريد إضافة سلوك فريد إلى كائنات (objects) المسمى `Bird`. هنا، `Bird` سيحصل على وظيفة (function) مسمى `fly()`. تضاف الوظائف إلى `prototype` في `Bird's` بنفس الطريقة مثل أي وظيفة منشئا (constructor function):
```js
Bird.prototype.fly = function() {
@@ -30,7 +30,7 @@ Bird.prototype.fly = function() {
};
```
-الآن سيكون لمثيلات `Bird` الـ methods الاتية `eat()` و `fly()`:
+الآن سيكون لمثيلات `Bird` الطرق الآتية `eat()` و `fly()`:
```js
let duck = new Bird();
@@ -38,11 +38,11 @@ duck.eat();
duck.fly();
```
-`duck.eat()` يعرض السلسلة `nom nom nom` في وحدة التحكم و `duck.fly()` سيعرض السلسلة `I'm flying!`.
+يعرض `duck.eat()` مقطع نصي (string) بقيمة `nom nom nom` في وحدة التحكم ويعرض `duck.fly()` مقطع نصي `I'm flying!`.
# --instructions--
-أضف كل الكود الضروري حتى يرث كائن `Dog` من `Animal` و الـ constructor الخاص بـ `prototype` الـ `Dog` تم تعيينه إلى `Dog`. ثم أضف `bark()` إلى الكائن `Dog` بحيث أن `beagle` يمكن أن يفعل `eat()` و `bark()`. يجب أن تطبع method الـ `bark()` الكلمة `Woof!` إلى وحدة التحكم.
+أضف كل الكود الضروري حتى يرث كائن `Dog` من `Animal` و عيّن المنشئ الخاص بـ `prototype` من `Dog` إلى `Dog`. ثم أضف `bark()` إلى الكائن `Dog` بحيث أن `beagle` يمكن أن يفعل `eat()` و `bark()`. يجب أن تطبع method الـ `bark()` الكلمة `Woof!` إلى وحدة التحكم.
# --hints--
diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/create-a-method-on-an-object.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/create-a-method-on-an-object.md
index 5dc31a813ea..959675d6173 100644
--- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/create-a-method-on-an-object.md
+++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/create-a-method-on-an-object.md
@@ -1,6 +1,6 @@
---
id: 587d7dad367417b2b2512b75
-title: إنشاء method في الكائن
+title: إنشاء طريقة (Method) في الكائن
challengeType: 1
forumTopicId: 301318
dashedName: create-a-method-on-an-object
@@ -8,9 +8,9 @@ dashedName: create-a-method-on-an-object
# --description--
-يمكن أن يكون لل objects نوع خاص من الخواص، يسمى method.
+يمكن أن يكون للكائنات objects نوع خاص من الخواص، تسمى الطريقة (method).
-الـ methods نوع من الخصائص عبارة عن functions. هذا يضيف سلوكا مختلفا إلى الـ object. فيما يلي مثال `duck` مع method:
+إن الطرق methods الخصائص التي تكون وظائف (functions). هذا يضيف سلوكا مختلفا إلى الكائن (object). فيما يلي مثال `duck` بها طريقة (method):
```js
let duck = {
@@ -21,21 +21,21 @@ let duck = {
duck.sayName();
```
-المثال يضيف `sayName` ، التي هي function ترجع جملة تعطي اسم الـ `duck`. لاحظ أن الـ method وصلت إلى خاصية `name` في الـ return statement باستخدام `duck.name`. والتحدي التالي سيغطي طريقة أخرى للقيام بذلك.
+يضيف المثال طريقة (method) تسمى `sayName`، إنها وظيفة (function) تنتج جملة باستخدام الاسم في `duck`. لاحظ أن الطريقة method وصلت إلى خاصية `name` في التعبير المنتج (return statement) باستخدام `duck.name`. والتحدي التالي سيغطي طريقة أخرى للقيام بذلك.
# --instructions--
-باستخدام كائن `dog` ، أعطه method تسمى `sayLegs`. الـ method يجب ان تعيد الجملة `This dog has 4 legs.`
+باستخدام كائن `dog`، أعطه طريقة (method) تسمى `sayLegs`. يجب أن تنتج الطريقة الجملة `This dog has 4 legs.`
# --hints--
-`dog.sayLegs()` يجب أن تكون function.
+يجب أن تكون `dog.sayLegs()` وظيفة (function).
```js
assert(typeof dog.sayLegs === 'function');
```
-يجب أن تعيد `dog.sayLegs()` السلسلة المحددة - لاحظ أن علامات الترقيم والتباعد مهمان.
+يجب أن تنتج `dog.sayLegs()` المقطع النصي المحددة - لاحظ أن علامات الترقيم والتباعد مهمان.
```js
assert(dog.sayLegs() === 'This dog has 4 legs.');
diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/understand-the-immediately-invoked-function-expression-iife.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/understand-the-immediately-invoked-function-expression-iife.md
index f34d04934b7..ac6b4a27acb 100644
--- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/understand-the-immediately-invoked-function-expression-iife.md
+++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/understand-the-immediately-invoked-function-expression-iife.md
@@ -1,6 +1,6 @@
---
id: 587d7db2367417b2b2512b8b
-title: Understand the Immediately Invoked Function Expression (IIFE)
+title: أدراك الوظائف المنفذة عند إعلانهم (Immediately Invoked Function Expression (IIFE))
challengeType: 1
forumTopicId: 301328
dashedName: understand-the-immediately-invoked-function-expression-iife
@@ -16,9 +16,9 @@ dashedName: understand-the-immediately-invoked-function-expression-iife
})();
```
-هذا اسمه anonymous function expression الذي ينفذ على الفور، ويخرج `Chirp, chirp!` على الفور.
+هذا اسمه تعبير غامض للوظيفة (anonymous function expression) الذي ينفذ على الفور، وينتج `Chirp, chirp!` على الفور.
-لاحظ أن ال function ليس له اسم وليس مخزن في متغير. ويؤدي القوسان () الواردان في نهاية ال function expression إلى تنفيذه أو استدعاءه على الفور. هذا النمط يعرف بـ immediately invoked function expression او IIFE.
+لاحظ إن الوظيفة ليس لها اسم وليست مخزنة في متغير. ويؤدي القوسان () الواردان في نهاية ال function expression إلى تنفيذه أو استدعاءه على الفور. هذا النمط يعرف بـ immediately invoked function expression او IIFE.
# --instructions--
diff --git a/curriculum/challenges/chinese-traditional/02-javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-with-the-rest-parameter-to-reassign-array-elements.md b/curriculum/challenges/chinese-traditional/02-javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-with-the-rest-parameter-to-reassign-array-elements.md
index 2b265e1f501..110ef2144dc 100644
--- a/curriculum/challenges/chinese-traditional/02-javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-with-the-rest-parameter-to-reassign-array-elements.md
+++ b/curriculum/challenges/chinese-traditional/02-javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-with-the-rest-parameter-to-reassign-array-elements.md
@@ -1,7 +1,7 @@
---
id: 587d7b8a367417b2b2512b4c
title: >-
- 使用解構賦值配合 rest 操作符來重新分配數組元素
+ Destructuring via rest elements
challengeType: 1
forumTopicId: 301218
dashedName: >-
@@ -22,11 +22,11 @@ console.log(arr);
控制檯將顯示 `1, 2` 和 `[3, 4, 5, 7]`。
-變量 `a` 和 `b` 分別接收數組的第一個和第二個值。 之後,因爲 rest 操作符的存在,`arr` 獲取了原數組剩餘的元素的值。 rest 操作符只能對數組列表最後的元素起作用。 這意味着你不能使用 rest 操作符來截取原數組中間的元素作爲子數組。
+變量 `a` 和 `b` 分別接收數組的第一個和第二個值。 After that, because of the rest syntax presence, `arr` gets the rest of the values in the form of an array. rest 操作符只能對數組列表最後的元素起作用。 As in, you cannot use the rest syntax to catch a subarray that leaves out the last element of the original array.
# --instructions--
-使用一個帶有 rest 參數的解構賦值來模擬 `Array.prototype.slice()` 的行爲。 `removeFirstTwo()` 應該返回原始數組 `list` 的子數組,前兩個元素被省略。
+Use a destructuring assignment with the rest syntax to emulate the behavior of `Array.prototype.slice()`. `removeFirstTwo()` 應該返回原始數組 `list` 的子數組,前兩個元素被省略。
# --hints--
diff --git a/curriculum/challenges/chinese/02-javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-with-the-rest-parameter-to-reassign-array-elements.md b/curriculum/challenges/chinese/02-javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-with-the-rest-parameter-to-reassign-array-elements.md
index 5c037034967..17bc5e0abfc 100644
--- a/curriculum/challenges/chinese/02-javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-with-the-rest-parameter-to-reassign-array-elements.md
+++ b/curriculum/challenges/chinese/02-javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-with-the-rest-parameter-to-reassign-array-elements.md
@@ -1,7 +1,7 @@
---
id: 587d7b8a367417b2b2512b4c
title: >-
- 使用解构赋值配合 rest 操作符来重新分配数组元素
+ Destructuring via rest elements
challengeType: 1
forumTopicId: 301218
dashedName: >-
@@ -22,11 +22,11 @@ console.log(arr);
控制台将显示 `1, 2` 和 `[3, 4, 5, 7]`。
-变量 `a` 和 `b` 分别接收数组的第一个和第二个值。 之后,因为 rest 操作符的存在,`arr` 获取了原数组剩余的元素的值。 rest 操作符只能对数组列表最后的元素起作用。 这意味着你不能使用 rest 操作符来截取原数组中间的元素作为子数组。
+变量 `a` 和 `b` 分别接收数组的第一个和第二个值。 After that, because of the rest syntax presence, `arr` gets the rest of the values in the form of an array. rest 操作符只能对数组列表最后的元素起作用。 As in, you cannot use the rest syntax to catch a subarray that leaves out the last element of the original array.
# --instructions--
-使用一个带有 rest 参数的解构赋值来模拟 `Array.prototype.slice()` 的行为。 `removeFirstTwo()` 应该返回原始数组 `list` 的子数组,前两个元素被省略。
+Use a destructuring assignment with the rest syntax to emulate the behavior of `Array.prototype.slice()`. `removeFirstTwo()` 应该返回原始数组 `list` 的子数组,前两个元素被省略。
# --hints--
diff --git a/curriculum/challenges/espanol/02-javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-with-the-rest-parameter-to-reassign-array-elements.md b/curriculum/challenges/espanol/02-javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-with-the-rest-parameter-to-reassign-array-elements.md
index 1f3e29365ff..823f1dc1f90 100644
--- a/curriculum/challenges/espanol/02-javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-with-the-rest-parameter-to-reassign-array-elements.md
+++ b/curriculum/challenges/espanol/02-javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-with-the-rest-parameter-to-reassign-array-elements.md
@@ -1,7 +1,7 @@
---
id: 587d7b8a367417b2b2512b4c
title: >-
- Utiliza la sintaxis de desestructuración con el parámetro rest para reasignar elementos de un arreglo
+ Destructuring via rest elements
challengeType: 1
forumTopicId: 301218
dashedName: >-
@@ -22,11 +22,11 @@ console.log(arr);
La consola mostrará los valores `1, 2` y `[3, 4, 5, 7]`.
-Las variables `a` y `b` toman el primer y segundo valor del arreglo. Después de eso, debido a la presencia del parámetro rest, `arr` obtiene el resto de los valores en forma de un arreglo. El elemento rest sólo funciona correctamente como la última variable en la lista. Por ejemplo, no puedes usar el parámetro rest para capturar un sub-arreglo que deje fuera el último elemento del arreglo original.
+Las variables `a` y `b` toman el primer y segundo valor del arreglo. After that, because of the rest syntax presence, `arr` gets the rest of the values in the form of an array. El elemento rest sólo funciona correctamente como la última variable en la lista. As in, you cannot use the rest syntax to catch a subarray that leaves out the last element of the original array.
# --instructions--
-Utiliza una asignación de desestructuración con el parámetro rest para emular el comportamiento de `Array.prototype.slice()`. `removeFirstTwo()` debe devolver un sub-arreglo del arreglo original `list` sin los dos primeros elementos.
+Use a destructuring assignment with the rest syntax to emulate the behavior of `Array.prototype.slice()`. `removeFirstTwo()` debe devolver un sub-arreglo del arreglo original `list` sin los dos primeros elementos.
# --hints--
diff --git a/curriculum/challenges/german/02-javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-with-the-rest-parameter-to-reassign-array-elements.md b/curriculum/challenges/german/02-javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-with-the-rest-parameter-to-reassign-array-elements.md
index d377002269a..c391e74c48c 100644
--- a/curriculum/challenges/german/02-javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-with-the-rest-parameter-to-reassign-array-elements.md
+++ b/curriculum/challenges/german/02-javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-with-the-rest-parameter-to-reassign-array-elements.md
@@ -1,7 +1,7 @@
---
id: 587d7b8a367417b2b2512b4c
title: >-
- Verwende die Destrukturierungszuweisung mit dem Rest-Parameter, um Array-Elemente neu zuzuweisen
+ Destructuring via rest elements
challengeType: 1
forumTopicId: 301218
dashedName: >-
@@ -22,11 +22,11 @@ console.log(arr);
Die Konsole würde die Werte `1, 2` und `[3, 4, 5, 7]` anzeigen.
-Die Variablen `a` und `b` entnehmen den ersten und zweiten Wert aus dem Array. Danach erhält `arr` die restlichen Werte in Form eines Arrays, da der Rest-Parameter vorhanden ist. Das Rest-Element funktioniert nur als letzte Variable in der Liste richtig. Das heißt, du kannst den Rest-Parameter nicht verwenden, um ein Subarray zu erfassen, das das letzte Element des ursprünglichen Arrays auslässt.
+Die Variablen `a` und `b` entnehmen den ersten und zweiten Wert aus dem Array. After that, because of the rest syntax presence, `arr` gets the rest of the values in the form of an array. Das Rest-Element funktioniert nur als letzte Variable in der Liste richtig. As in, you cannot use the rest syntax to catch a subarray that leaves out the last element of the original array.
# --instructions--
-Use a destructuring assignment with the rest parameter to emulate the behavior of `Array.prototype.slice()`. `removeFirstTwo()` should return a sub-array of the original array `list` with the first two elements omitted.
+Use a destructuring assignment with the rest syntax to emulate the behavior of `Array.prototype.slice()`. `removeFirstTwo()` should return a sub-array of the original array `list` with the first two elements omitted.
# --hints--
diff --git a/curriculum/challenges/italian/02-javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-with-the-rest-parameter-to-reassign-array-elements.md b/curriculum/challenges/italian/02-javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-with-the-rest-parameter-to-reassign-array-elements.md
index b92de6c5c8f..1d4ddf00f8c 100644
--- a/curriculum/challenges/italian/02-javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-with-the-rest-parameter-to-reassign-array-elements.md
+++ b/curriculum/challenges/italian/02-javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-with-the-rest-parameter-to-reassign-array-elements.md
@@ -1,7 +1,7 @@
---
id: 587d7b8a367417b2b2512b4c
title: >-
- Usare l'assegnazione destrutturante con il parametro di resto per riassegnare gli elementi dell'array
+ Destructuring via rest elements
challengeType: 1
forumTopicId: 301218
dashedName: >-
@@ -22,11 +22,11 @@ console.log(arr);
La console mostrerà i valori `1, 2` e `[3, 4, 5, 7]`.
-Le variabili `a` e `b` prendono il primo e il secondo valore dall'array. Dopodiché, a causa della presenza del parametro di resto, `arr` ottiene il resto dei valori sotto forma di un array. L'elemento di resto funziona correttamente solo come ultima variabile dell'elenco. Non è quindi possibile utilizzare il parametro di resto per catturare un sottoarray che lascia fuori l'ultimo elemento dell'array originale.
+Le variabili `a` e `b` prendono il primo e il secondo valore dall'array. After that, because of the rest syntax presence, `arr` gets the rest of the values in the form of an array. L'elemento di resto funziona correttamente solo come ultima variabile dell'elenco. As in, you cannot use the rest syntax to catch a subarray that leaves out the last element of the original array.
# --instructions--
-Usa un'assegnazione destrutturante con il parametro rest per emulare il comportamento di `Array.prototype.slice()`. `removeFirstTwo()` dovrebbe restituire un sotto-array dell'array originario `list` con i primi due elementi omessi.
+Use a destructuring assignment with the rest syntax to emulate the behavior of `Array.prototype.slice()`. `removeFirstTwo()` dovrebbe restituire un sotto-array dell'array originario `list` con i primi due elementi omessi.
# --hints--
diff --git a/curriculum/challenges/japanese/02-javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-with-the-rest-parameter-to-reassign-array-elements.md b/curriculum/challenges/japanese/02-javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-with-the-rest-parameter-to-reassign-array-elements.md
index 3d18ff5428f..c3e082cb2b6 100644
--- a/curriculum/challenges/japanese/02-javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-with-the-rest-parameter-to-reassign-array-elements.md
+++ b/curriculum/challenges/japanese/02-javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-with-the-rest-parameter-to-reassign-array-elements.md
@@ -1,7 +1,7 @@
---
id: 587d7b8a367417b2b2512b4c
title: >-
- 分割代入で残余引数を使用して配列要素を割り当て直す
+ Destructuring via rest elements
challengeType: 1
forumTopicId: 301218
dashedName: >-
@@ -22,11 +22,11 @@ console.log(arr);
コンソールには、値 `1, 2` と `[3, 4, 5, 7]` が表示されます。
-変数 `a` と `b` は配列の最初と 2 番目の値を受け取ります。 その後は残余引数になっているため、`arr` は残りの値を配列の形で受け取ります。 残余引数は、リスト内の最後の変数としてのみ正しく動作します。 したがって、残余引数を使用して元の配列の最後の要素を取り除いた部分配列を取得することはできません。
+変数 `a` と `b` は配列の最初と 2 番目の値を受け取ります。 After that, because of the rest syntax presence, `arr` gets the rest of the values in the form of an array. 残余引数は、リスト内の最後の変数としてのみ正しく動作します。 As in, you cannot use the rest syntax to catch a subarray that leaves out the last element of the original array.
# --instructions--
-分割代入と残余引数を使用して、`Array.prototype.slice()` と同様の機能を実装してください。 `removeFirstTwo()` が、元の配列 `list` から最初の 2 つの要素を取り除いた部分配列を返すようにしてください。
+Use a destructuring assignment with the rest syntax to emulate the behavior of `Array.prototype.slice()`. `removeFirstTwo()` が、元の配列 `list` から最初の 2 つの要素を取り除いた部分配列を返すようにしてください。
# --hints--
diff --git a/curriculum/challenges/japanese/07-scientific-computing-with-python/python-for-everybody/relational-databases-and-sqlite.md b/curriculum/challenges/japanese/07-scientific-computing-with-python/python-for-everybody/relational-databases-and-sqlite.md
index 51c61f6a5ac..43fa5b97042 100644
--- a/curriculum/challenges/japanese/07-scientific-computing-with-python/python-for-everybody/relational-databases-and-sqlite.md
+++ b/curriculum/challenges/japanese/07-scientific-computing-with-python/python-for-everybody/relational-databases-and-sqlite.md
@@ -20,23 +20,23 @@ dashedName: relational-databases-and-sqlite
## --text--
-Which is NOT a primary data structure in a database?
+データベースの基本のデータ構造「ではない」ものはどれですか?
## --answers--
-index
+インデックス
---
-table
+テーブル
---
-row
+行
---
-column
+列
## --video-solution--
diff --git a/curriculum/challenges/japanese/07-scientific-computing-with-python/scientific-computing-with-python-projects/budget-app.md b/curriculum/challenges/japanese/07-scientific-computing-with-python/scientific-computing-with-python-projects/budget-app.md
index d2f6321bf7b..33a8f3846f3 100644
--- a/curriculum/challenges/japanese/07-scientific-computing-with-python/scientific-computing-with-python-projects/budget-app.md
+++ b/curriculum/challenges/japanese/07-scientific-computing-with-python/scientific-computing-with-python-projects/budget-app.md
@@ -17,7 +17,7 @@ dashedName: budget-app
# --instructions--
-Complete the `Category` class in `budget.py`. It should be able to instantiate objects based on different budget categories like *food*, *clothing*, and *entertainment*. When objects are created, they are passed in the name of the category. The class should have an instance variable called `ledger` that is a list. The class should also contain the following methods:
+`budget.py` の `Category` クラスを完成させてください。 このクラスは *food* (食費)、*clothing* (服飾費)、*entertainment* (娯楽費) など、さまざまな予算のカテゴリーに応じてオブジェクトをインスタンス化できるようにする必要があります。 オブジェクトを作成する際に、カテゴリーの名前をオブジェクトに渡します。 クラスには、リスト型の `ledger` (帳簿) というインスタンス変数を持たせてください。 このクラスには次のメソッドも含める必要があります。
- A `deposit` method that accepts an amount and description. If no description is given, it should default to an empty string. The method should append an object to the ledger list in the form of `{"amount": amount, "description": description}`.
- A `withdraw` method that is similar to the `deposit` method, but the amount passed in should be stored in the ledger as a negative number. If there are not enough funds, nothing should be added to the ledger. This method should return `True` if the withdrawal took place, and `False` otherwise.
@@ -25,7 +25,7 @@ Complete the `Category` class in `budget.py`. It should be able to instantiate o
- A `transfer` method that accepts an amount and another budget category as arguments. The method should add a withdrawal with the amount and the description "Transfer to [Destination Budget Category]". The method should then add a deposit to the other budget category with the amount and the description "Transfer from [Source Budget Category]". If there are not enough funds, nothing should be added to either ledgers. This method should return `True` if the transfer took place, and `False` otherwise.
- A `check_funds` method that accepts an amount as an argument. It returns `False` if the amount is greater than the balance of the budget category and returns `True` otherwise. This method should be used by both the `withdraw` method and `transfer` method.
-When the budget object is printed it should display:
+予算オブジェクトを出力するときは以下の項目を表示する必要があります。
- A title line of 30 characters where the name of the category is centered in a line of `*` characters.
- A list of the items in the ledger. Each line should show the description and amount. The first 23 characters of the description should be displayed, then the amount. The amount should be right aligned, contain two decimal places, and display a maximum of 7 characters.
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-with-the-rest-parameter-to-reassign-array-elements.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-with-the-rest-parameter-to-reassign-array-elements.md
index 716c27dc005..311eef81e0a 100644
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-with-the-rest-parameter-to-reassign-array-elements.md
+++ b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-with-the-rest-parameter-to-reassign-array-elements.md
@@ -1,7 +1,7 @@
---
id: 587d7b8a367417b2b2512b4c
title: >-
- Usar atribuição de desestruturação com o parâmetro rest para reatribuir elementos de array
+ Destructuring via rest elements
challengeType: 1
forumTopicId: 301218
dashedName: >-
@@ -22,11 +22,11 @@ console.log(arr);
O console exibiria os valores `1, 2` e `[3, 4, 5, 7]`.
-As variáveis `a` e `b` pegam o primeiro e o segundo valores do array. Depois disso, por causa da presença do parâmetro rest, `arr` pega o resto dos valores na forma de um array. O elemento rest só funciona corretamente como a última variável na lista. De momento, você não pode usar o parâmetro rest para capturar um sub-array que deixa de fora o último elemento do array original.
+As variáveis `a` e `b` pegam o primeiro e o segundo valores do array. After that, because of the rest syntax presence, `arr` gets the rest of the values in the form of an array. O elemento rest só funciona corretamente como a última variável na lista. As in, you cannot use the rest syntax to catch a subarray that leaves out the last element of the original array.
# --instructions--
-Use uma atribuição de desestruturação com o parâmetro rest para simular o comportamento de `Array.prototype.slice()`. `removeFirstTwo()` deve retornar um sub-array do array original `list` com os dois primeiros elementos omitidos.
+Use a destructuring assignment with the rest syntax to emulate the behavior of `Array.prototype.slice()`. `removeFirstTwo()` deve retornar um sub-array do array original `list` com os dois primeiros elementos omitidos.
# --hints--
diff --git a/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/basic-javascript/count-backwards-with-a-for-loop.md b/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/basic-javascript/count-backwards-with-a-for-loop.md
index ce7399581da..691b5956472 100644
--- a/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/basic-javascript/count-backwards-with-a-for-loop.md
+++ b/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/basic-javascript/count-backwards-with-a-for-loop.md
@@ -1,6 +1,6 @@
---
id: 56105e7b514f539506016a5e
-title: Зворотній рахунок за допомогою циклу For Loop
+title: Зворотній рахунок за допомогою циклу for
challengeType: 1
videoUrl: 'https://scrimba.com/c/c2R6BHa'
forumTopicId: 16808
@@ -9,11 +9,11 @@ dashedName: count-backwards-with-a-for-loop
# --description--
-Цикл For Loop може здійснювати зворотній відлік, якщо виставлені правильні умови.
+Цикл for може здійснювати зворотній рахунок, якщо визначені правильні умови.
-Для того, щоб зменшити значення на два кроки, потрібно змінити нашу ініціалізацію, умову та кінцевий вираз.
+Для того, щоб значення зменшувалось на два при кожній ітерації, потрібно змінити ініціалізацію, умову та кінцевий вираз.
-Розпочнемо з `i = 10` та створимо цикл, коли `i > 0`. Зменшуватимемо значення `i` на 2 в кожному циклі при тому, що`i -= 2`.
+Розпочнемо з `i = 10` та будемо повторяти цикл, поки `i > 0`. Кожного циклу ми зменшуватимемо `i` на 2 за допомогою `i -= 2`.
```js
const ourArray = [];
@@ -23,7 +23,7 @@ for (let i = 10; i > 0; i -= 2) {
}
```
-`ourArray` тепер міститиме `[10, 8, 6, 4, 2]`. Змінімо нашу ініціалізацію та кінцевий вираз і тоді ми зможемо відраховувати назад на два, щоб створити масив непарних чисел у порядку спадання.
+Тепер `ourArray` міститиме `[10, 8, 6, 4, 2]`. Змінімо нашу ініціалізацію та кінцевий вираз і тоді ми зможемо відраховувати назад на два, щоб створити масив непарних чисел у порядку спадання.
# --instructions--
diff --git a/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-with-the-rest-parameter-to-reassign-array-elements.md b/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-with-the-rest-parameter-to-reassign-array-elements.md
index 783927289c1..6eb0aeeab17 100644
--- a/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-with-the-rest-parameter-to-reassign-array-elements.md
+++ b/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-with-the-rest-parameter-to-reassign-array-elements.md
@@ -1,7 +1,7 @@
---
id: 587d7b8a367417b2b2512b4c
title: >-
- Використовуйте решту параметрів з деструктивним призначенням для перепризначення масиву елементів
+ Destructuring via rest elements
challengeType: 1
forumTopicId: 301218
dashedName: >-
@@ -22,11 +22,11 @@ console.log(arr);
У такому разі консоль відображатиме значення `1, 2` та `[3, 4, 5, 7]`.
-Змінні `a` та `b` приймають перші та другі значення з масиву. Після цього, завдяки параметру `arr` решта значень подаються у масиві. Решта елементів працює тільки-но у вигляді останньої змінної списку. Як і в даних, ви не можете використовувати інший параметр для охоплення підмасиву, який залишає останній елемент вихідного масиву.
+Змінні `a` та `b` приймають перші та другі значення з масиву. After that, because of the rest syntax presence, `arr` gets the rest of the values in the form of an array. Решта елементів працює тільки-но у вигляді останньої змінної списку. As in, you cannot use the rest syntax to catch a subarray that leaves out the last element of the original array.
# --instructions--
-Use a destructuring assignment with the rest parameter to emulate the behavior of `Array.prototype.slice()`. `removeFirstTwo()` should return a sub-array of the original array `list` with the first two elements omitted.
+Use a destructuring assignment with the rest syntax to emulate the behavior of `Array.prototype.slice()`. `removeFirstTwo()` should return a sub-array of the original array `list` with the first two elements omitted.
# --hints--