diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/divide-one-decimal-by-another-with-javascript.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/divide-one-decimal-by-another-with-javascript.md
index c1f945ffe6a..87353a0f428 100644
--- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/divide-one-decimal-by-another-with-javascript.md
+++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/divide-one-decimal-by-another-with-javascript.md
@@ -32,7 +32,7 @@ assert(/4\.40*\s*\/\s*2\.*0*/.test(code));
يجب تعيين متغير quotient مرة واحدة فقط
```js
-assert(code.match(/quotient/g).length === 1);
+assert(code.match(/quotient\s*=/g).length === 1);
```
# --seed--
diff --git a/curriculum/challenges/chinese-traditional/02-javascript-algorithms-and-data-structures/basic-javascript/divide-one-decimal-by-another-with-javascript.md b/curriculum/challenges/chinese-traditional/02-javascript-algorithms-and-data-structures/basic-javascript/divide-one-decimal-by-another-with-javascript.md
index 86b5874bb4d..b8ce5b2bfa1 100644
--- a/curriculum/challenges/chinese-traditional/02-javascript-algorithms-and-data-structures/basic-javascript/divide-one-decimal-by-another-with-javascript.md
+++ b/curriculum/challenges/chinese-traditional/02-javascript-algorithms-and-data-structures/basic-javascript/divide-one-decimal-by-another-with-javascript.md
@@ -32,7 +32,7 @@ assert(/4\.40*\s*\/\s*2\.*0*/.test(code));
quotient 變量應該只被賦值一次。
```js
-assert(code.match(/quotient/g).length === 1);
+assert(code.match(/quotient\s*=/g).length === 1);
```
# --seed--
diff --git a/curriculum/challenges/chinese/02-javascript-algorithms-and-data-structures/basic-javascript/divide-one-decimal-by-another-with-javascript.md b/curriculum/challenges/chinese/02-javascript-algorithms-and-data-structures/basic-javascript/divide-one-decimal-by-another-with-javascript.md
index a7857ffc6e0..b7bcc0a118d 100644
--- a/curriculum/challenges/chinese/02-javascript-algorithms-and-data-structures/basic-javascript/divide-one-decimal-by-another-with-javascript.md
+++ b/curriculum/challenges/chinese/02-javascript-algorithms-and-data-structures/basic-javascript/divide-one-decimal-by-another-with-javascript.md
@@ -32,7 +32,7 @@ assert(/4\.40*\s*\/\s*2\.*0*/.test(code));
quotient 变量应该只被赋值一次。
```js
-assert(code.match(/quotient/g).length === 1);
+assert(code.match(/quotient\s*=/g).length === 1);
```
# --seed--
diff --git a/curriculum/challenges/espanol/02-javascript-algorithms-and-data-structures/basic-javascript/divide-one-decimal-by-another-with-javascript.md b/curriculum/challenges/espanol/02-javascript-algorithms-and-data-structures/basic-javascript/divide-one-decimal-by-another-with-javascript.md
index 3bc96d303ae..d34c8d2105a 100644
--- a/curriculum/challenges/espanol/02-javascript-algorithms-and-data-structures/basic-javascript/divide-one-decimal-by-another-with-javascript.md
+++ b/curriculum/challenges/espanol/02-javascript-algorithms-and-data-structures/basic-javascript/divide-one-decimal-by-another-with-javascript.md
@@ -32,7 +32,7 @@ assert(/4\.40*\s*\/\s*2\.*0*/.test(code));
La variable quotient debe ser asignada solo una vez
```js
-assert(code.match(/quotient/g).length === 1);
+assert(code.match(/quotient\s*=/g).length === 1);
```
# --seed--
diff --git a/curriculum/challenges/espanol/06-quality-assurance/advanced-node-and-express/send-and-display-chat-messages.md b/curriculum/challenges/espanol/06-quality-assurance/advanced-node-and-express/send-and-display-chat-messages.md
index b81f74e0506..48ff2f39afd 100644
--- a/curriculum/challenges/espanol/06-quality-assurance/advanced-node-and-express/send-and-display-chat-messages.md
+++ b/curriculum/challenges/espanol/06-quality-assurance/advanced-node-and-express/send-and-display-chat-messages.md
@@ -28,7 +28,7 @@ En `client.js`, ahora debes escuchar el evento `'chat message'` y, cuando lo rec
En este punto, ¡el chat debe ser totalmente funcional y enviar mensajes a todos los clientes!
-Envía tu página cuando creas que lo has hecho bien. If you're running into errors, you can check out the project completed up to this point.
+Envía tu página cuando creas que lo has hecho bien. Si te encuentras con errores, puedes comprobar el proyecto realizado hasta este momento.
# --hints--
diff --git a/curriculum/challenges/german/02-javascript-algorithms-and-data-structures/basic-javascript/divide-one-decimal-by-another-with-javascript.md b/curriculum/challenges/german/02-javascript-algorithms-and-data-structures/basic-javascript/divide-one-decimal-by-another-with-javascript.md
index 6478cac69c6..52576b96279 100644
--- a/curriculum/challenges/german/02-javascript-algorithms-and-data-structures/basic-javascript/divide-one-decimal-by-another-with-javascript.md
+++ b/curriculum/challenges/german/02-javascript-algorithms-and-data-structures/basic-javascript/divide-one-decimal-by-another-with-javascript.md
@@ -32,7 +32,7 @@ assert(/4\.40*\s*\/\s*2\.*0*/.test(code));
Die Quotientenvariable sollte nur einmal zugewiesen werden
```js
-assert(code.match(/quotient/g).length === 1);
+assert(code.match(/quotient\s*=/g).length === 1);
```
# --seed--
diff --git a/curriculum/challenges/german/02-javascript-algorithms-and-data-structures/basic-javascript/escape-sequences-in-strings.md b/curriculum/challenges/german/02-javascript-algorithms-and-data-structures/basic-javascript/escape-sequences-in-strings.md
index 1da7b2e6514..515b3e15df3 100644
--- a/curriculum/challenges/german/02-javascript-algorithms-and-data-structures/basic-javascript/escape-sequences-in-strings.md
+++ b/curriculum/challenges/german/02-javascript-algorithms-and-data-structures/basic-javascript/escape-sequences-in-strings.md
@@ -9,7 +9,7 @@ dashedName: escape-sequences-in-strings
# --description--
-Anführungszeichen sind nicht die einzigen Zeichen, die innerhalb eines Strings ausgelassen werden können. Escape sequences allow you to use characters you may not otherwise be able to use in a string.
+Anführungszeichen sind nicht die einzigen Zeichen, die innerhalb eines Strings ausgelassen werden können. Escape-Sequenzen ermöglichen es dir, Zeichen zu verwenden, die du sonst nicht in einem String verwenden könntest.
| Code | Ausgabe |
|---|
\' | Einzelnes Anführungszeichen |
\" | Doppeltes Anführungszeichen |
\\ | Backslash |
\n | Zeilenumbruch |
\t | Tabulator |
\r | Wagenrücklauf (Carriage Return) |
\b | Backspace |
\f | Seitenvorschub (Formfeed) |
diff --git a/curriculum/challenges/italian/02-javascript-algorithms-and-data-structures/basic-javascript/divide-one-decimal-by-another-with-javascript.md b/curriculum/challenges/italian/02-javascript-algorithms-and-data-structures/basic-javascript/divide-one-decimal-by-another-with-javascript.md
index 6ee9a452890..561b95d1720 100644
--- a/curriculum/challenges/italian/02-javascript-algorithms-and-data-structures/basic-javascript/divide-one-decimal-by-another-with-javascript.md
+++ b/curriculum/challenges/italian/02-javascript-algorithms-and-data-structures/basic-javascript/divide-one-decimal-by-another-with-javascript.md
@@ -32,7 +32,7 @@ assert(/4\.40*\s*\/\s*2\.*0*/.test(code));
La variabile quotient deve essere assegnata solo una volta
```js
-assert(code.match(/quotient/g).length === 1);
+assert(code.match(/quotient\s*=/g).length === 1);
```
# --seed--
diff --git a/curriculum/challenges/italian/02-javascript-algorithms-and-data-structures/basic-javascript/record-collection.md b/curriculum/challenges/italian/02-javascript-algorithms-and-data-structures/basic-javascript/record-collection.md
index 808b7cfec91..bc3ebe6eaa2 100644
--- a/curriculum/challenges/italian/02-javascript-algorithms-and-data-structures/basic-javascript/record-collection.md
+++ b/curriculum/challenges/italian/02-javascript-algorithms-and-data-structures/basic-javascript/record-collection.md
@@ -8,28 +8,28 @@ dashedName: record-collection
# --description--
-You are creating a function that aids in the maintenance of a musical album collection. The collection is organized as an object that contains multiple albums which are also objects. Each album is represented in the collection with a unique `id` as the property name. Within each album object, there are various properties describing information about the album. Not all albums have complete information.
+Stai creando una funzione che facilita la manutenzione di una collezione di album musicali. La collezione è organizzata come un oggetto che contiene più album i quali sono anch'essi oggetti. Ogni album è rappresentato nella collezione con un `id` unico come nome della proprietà. All'interno di ogni oggetto dell'album, ci sono varie proprietà che danno informazioni sull'album. Non tutti gli album hanno informazioni complete.
-The `updateRecords` function takes 4 arguments represented by the following function parameters:
+La funzione `updateRecords` prende 4 argomenti rappresentati dai seguenti parametri di funzione:
-- `records` - an object containing several individual albums
-- `id` - a number representing a specific album in the `records` object
-- `prop` - a string representing the name of the album’s property to update
-- `value` - a string containing the information used to update the album’s property
+- `records` - un oggetto contenente diversi album
+- `id` - un numero che rappresenta un album specifico nell'oggetto `records`
+- `prop` - una stringa che rappresenta il nome della proprietà dell'album da aggiornare
+- `value` - una stringa contenente le informazioni usate per aggiornare la proprietà dell'album
-Complete the function using the rules below to modify the object passed to the function.
+Completa la funzione usando le regole sottostanti per modificare l'oggetto passato alla funzione.
-- Your function must always return the entire `records` object.
-- If `value` is an empty string, delete the given `prop` property from the album.
-- If `prop` isn’t `"tracks"` and `value` isn't an empty string, assign the `value` to that album’s `prop`.
-- If `prop` is `"tracks"` and `value` isn’t an empty string, add the `value` to the end of the album’s existing `"tracks"` array.
-- If the album doesn’t have a `"tracks"` property, create a new array for the album's `"tracks"` property before adding the `value` to it.
+- La funzione deve sempre restituire l'intero oggetto `records`.
+- Se `value` è una stringa vuota, elimina la proprietà `prop` dall'album.
+- Se `prop` non è `"tracks"` e `value` non è una stringa vuota, assegna `value` alla `prop` di quell'album.
+- Se `prop` è `"tracks"` e `value` non è una stringa vuota, aggiungi `value` alla fine dell'array `"tracks"` già esistente dell'album.
+- Se l'album non ha una proprietà `"tracks"` crea un nuovo array per la proprietà `"tracks"` dell'album prima di aggiungervi `value`.
-**Note:** A copy of the `recordCollection` object is used for the tests. You should not directly modify the `recordCollection` object.
+**Nota:** una copia dell'oggetto `recordCollection` viene utilizzata per i test. Non dovresti modificare direttamente l'oggetto `recordCollection`.
# --hints--
-After `updateRecords(recordCollection, 5439, "artist", "ABBA")`, `artist` should be the string `ABBA`
+Dopo aver eseguito `updateRecords(recordCollection, 5439, "artist", "ABBA")`, `artist` dovrebbe essere la stringa `ABBA`
```js
assert(
@@ -38,7 +38,7 @@ assert(
);
```
-After `updateRecords(recordCollection, 5439, "tracks", "Take a Chance on Me")`, `tracks` should have the string `Take a Chance on Me` as the last and only element.
+Dopo `updateRecords(recordCollection, 5439, "tracks", "Take a Chance on Me")`, `tracks` dovrebbe avere la stringa `Take a Chance on Me` come solo e ultimo elemento.
```js
assert(
@@ -48,14 +48,14 @@ assert(
);
```
-After `updateRecords(recordCollection, 2548, "artist", "")`, `artist` should not be set
+Dopo `updateRecords(recordCollection, 2548, "artist", "")`, `artist` non dovrebbe essere impostato
```js
updateRecords(_recordCollection, 2548, 'artist', '');
assert(!_recordCollection[2548].hasOwnProperty('artist'));
```
-After `updateRecords(recordCollection, 1245, "tracks", "Addicted to Love")`, `tracks` should have the string `Addicted to Love` as the last element.
+Dopo `updateRecords(recordCollection, 1245, "tracks", "Addicted to Love")`, `tracks` dovrebbe avere la stringa `Addicted to Love` come ultimo elemento.
```js
assert(
@@ -65,7 +65,7 @@ assert(
);
```
-After `updateRecords(recordCollection, 2468, "tracks", "Free")`, `tracks` should have the string `1999` as the first element.
+Dopo `updateRecords(recordCollection, 2468, "tracks", "Free")`, `tracks` dovrebbe avere la stringa `1999` come primo elemento.
```js
assert(
@@ -75,14 +75,14 @@ assert(
);
```
-After `updateRecords(recordCollection, 2548, "tracks", "")`, `tracks` should not be set
+Dopo `updateRecords(recordCollection, 2548, "tracks", "")`, `tracks` non dovrebbe essere impostato
```js
updateRecords(_recordCollection, 2548, 'tracks', '');
assert(!_recordCollection[2548].hasOwnProperty('tracks'));
```
-After `updateRecords(recordCollection, 1245, "albumTitle", "Riptide")`, `albumTitle` should be the string `Riptide`
+Dopo `updateRecords(recordCollection, 1245, "albumTitle", "Riptide")`, `albumTitle` dovrebbe essere la stringa `Riptide`
```js
assert(
diff --git a/curriculum/challenges/italian/02-javascript-algorithms-and-data-structures/basic-javascript/word-blanks.md b/curriculum/challenges/italian/02-javascript-algorithms-and-data-structures/basic-javascript/word-blanks.md
index f349e04c041..dd129066d5c 100644
--- a/curriculum/challenges/italian/02-javascript-algorithms-and-data-structures/basic-javascript/word-blanks.md
+++ b/curriculum/challenges/italian/02-javascript-algorithms-and-data-structures/basic-javascript/word-blanks.md
@@ -11,13 +11,13 @@ dashedName: word-blanks
Ti vengono date delle frasi con delle parole mancanti, come nomi, verbi, aggettivi e avverbi. Devi quindi riempire le parti mancanti con parole a tua scelta in modo che la frase completata abbia senso.
-Consider this sentence:
+Considera questa frase:
```md
It was really ____, and we ____ ourselves ____.
```
-This sentence has three missing pieces- an adjective, a verb and an adverb, and we can add words of our choice to complete it. We can then assign the completed sentence to a variable as follows:
+Questa frase ha tre parti mancanti - un aggettivo, un verbo e un avverbio, e possiamo aggiungere parole di nostra scelta per completarla. Possiamo quindi assegnare la frase completata a una variabile come segue:
```js
const sentence = "It was really " + "hot" + ", and we " + "laughed" + " ourselves " + "silly" + ".";
@@ -25,21 +25,21 @@ const sentence = "It was really " + "hot" + ", and we " + "laughed" + " ourselve
# --instructions--
-In this challenge, we provide you with a noun, a verb, an adjective and an adverb. You need to form a complete sentence using words of your choice, along with the words we provide.
+In questa sfida, ti forniremo un sostantivo, un verbo, un aggettivo e un avverbio. Dovrai formare una frase completa utilizzando parole di tua scelta, insieme con le parole che ti forniremo.
-You will need to use the string concatenation operator `+` to build a new string, using the provided variables: `myNoun`, `myAdjective`, `myVerb`, and `myAdverb`. You will then assign the formed string to the `wordBlanks` variable. You should not change the words assigned to the variables.
+Dovrai usare l'operatore di concatenazione delle stringhe `+` per creare una nuova stringa, utilizzando le variabili fornite: `myNoun`, `myAdjective`, `myVerb` e `myAdverb`. Assegnerai quindi la stringa costruita alla variabile `wordBlanks`. Non dovrai cambiare le parole assegnate alle variabili.
-You will also need to account for spaces in your string, so that the final sentence has spaces between all the words. The result should be a complete sentence.
+Nella tua stringa dovrai anche tenere conto degli spazi, in modo che la frase finale abbia degli spazi tra tutte le parole. Il risultato dovrebbe essere una frase completa.
# --hints--
-`wordBlanks` should be a string.
+`wordBlanks` dovrebbe essere una stringa.
```js
assert(typeof wordBlanks === 'string');
```
-You should not change the values assigned to `myNoun`, `myVerb`, `myAdjective` or `myAdverb`.
+Non dovresti modificare i valori assegnati a `myNoun`, `myVerb`, `myAdjective` o `myAdverb`.
```js
assert(
@@ -50,7 +50,7 @@ assert(
);
```
-You should not directly use the values `dog`, `ran`, `big`, or `quickly` to create `wordBlanks`.
+Non dovresti usare direttamente i valori `dog`, `ran`, `big` o `quickly` per creare `wordBlanks`.
```js
const newCode = removeAssignments(code);
@@ -62,7 +62,7 @@ assert(
);
```
-`wordBlanks` should contain all of the words assigned to the variables `myNoun`, `myVerb`, `myAdjective` and `myAdverb` separated by non-word characters (and any additional words of your choice).
+`wordBlanks` dovrebbe contenere tutte le parole assegnate alle variabili `myNoun`, `myVerb`, `myAdjective` e `myAdverb` separate da caratteri che non siano parole (e da eventuali parole di tua scelta).
```js
assert(
diff --git a/curriculum/challenges/italian/06-quality-assurance/quality-assurance-and-testing-with-chai/run-functional-tests-on-api-endpoints-using-chai-http.md b/curriculum/challenges/italian/06-quality-assurance/quality-assurance-and-testing-with-chai/run-functional-tests-on-api-endpoints-using-chai-http.md
index 20f8a45309a..cf3f413c73d 100644
--- a/curriculum/challenges/italian/06-quality-assurance/quality-assurance-and-testing-with-chai/run-functional-tests-on-api-endpoints-using-chai-http.md
+++ b/curriculum/challenges/italian/06-quality-assurance/quality-assurance-and-testing-with-chai/run-functional-tests-on-api-endpoints-using-chai-http.md
@@ -36,15 +36,15 @@ Il primo `assert.equal` controlla se lo stato è pari a `200`. Il secondo `asser
Inoltre, nota il parametro `done` nella funzione di callback del test. Chiamarlo senza un argomento alla fine di un test è necessario per segnalare che l'operazione asincrona è completa.
-Finally, note the `keepOpen` method just after the `request` method. Normally you would run your tests from the command line, or as part of an automated integration process, and you could let `chai-http` start and stop your server automatically.
+Infine, nota il metodo `keepOpen` subito dopo il metodo `request`. Normalmente si eseguono i test dalla riga di comando, o come parte di un processo di integrazione automatica, e potresti lasciare che sia `chai-http` ad avviare e fermare automaticamente il server.
-However, the tests that run when you submit the link to your project require your server to be up, so you need to use the `keepOpen` method to prevent `chai-http` from stopping your server.
+Tuttavia, i test che vengono eseguiti quando si invia il link al progetto richiedono che il server sia in funzione, quindi devi utilizzare il metodo `keepOpen` per impedire a `chai-http` di fermare il server.
# --instructions--
-Within `tests/2_functional-tests.js`, alter the `'Test GET /hello with no name'` test (`// #1`) to assert the `status` and the `text` of the response to make the test pass. Do not alter the arguments passed to the asserts.
+All'interno di `tests/2_functional-tests.js`, modifica il test `'Test GET /hello with no name'` (`// #1`) per asserire che lo `status` e il `text` della risposta facciano passare i test. Non cambiare gli argomenti passati alle asserzioni.
-There should be no URL query. Without a name URL query, the endpoint responds with `hello Guest`.
+Non ci dovrebbe essere una query URL. Senza un nome nella query URL, l'endpoint risponde con `hello Guest`.
# --hints--
diff --git a/curriculum/challenges/japanese/02-javascript-algorithms-and-data-structures/basic-javascript/divide-one-decimal-by-another-with-javascript.md b/curriculum/challenges/japanese/02-javascript-algorithms-and-data-structures/basic-javascript/divide-one-decimal-by-another-with-javascript.md
index f07b4d00bac..1f1cf2f0b3c 100644
--- a/curriculum/challenges/japanese/02-javascript-algorithms-and-data-structures/basic-javascript/divide-one-decimal-by-another-with-javascript.md
+++ b/curriculum/challenges/japanese/02-javascript-algorithms-and-data-structures/basic-javascript/divide-one-decimal-by-another-with-javascript.md
@@ -32,7 +32,7 @@ assert(/4\.40*\s*\/\s*2\.*0*/.test(code));
変数 quotient には一度だけ代入してください。
```js
-assert(code.match(/quotient/g).length === 1);
+assert(code.match(/quotient\s*=/g).length === 1);
```
# --seed--
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript/divide-one-decimal-by-another-with-javascript.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript/divide-one-decimal-by-another-with-javascript.md
index ac9dbb9537d..2a8c34f3c5d 100644
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript/divide-one-decimal-by-another-with-javascript.md
+++ b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript/divide-one-decimal-by-another-with-javascript.md
@@ -32,7 +32,7 @@ assert(/4\.40*\s*\/\s*2\.*0*/.test(code));
A variável quotient deve ser atribuída apenas uma vez
```js
-assert(code.match(/quotient/g).length === 1);
+assert(code.match(/quotient\s*=/g).length === 1);
```
# --seed--
diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript/record-collection.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript/record-collection.md
index 47e1f0f251d..98f0c8253de 100644
--- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript/record-collection.md
+++ b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript/record-collection.md
@@ -8,28 +8,28 @@ dashedName: record-collection
# --description--
-You are creating a function that aids in the maintenance of a musical album collection. The collection is organized as an object that contains multiple albums which are also objects. Each album is represented in the collection with a unique `id` as the property name. Within each album object, there are various properties describing information about the album. Not all albums have complete information.
+Você está criando uma função que ajuda na manutenção de uma coleção de álbuns musicais. A coleção está organizada como um objeto que contém múltiplos álbuns que também são objetos. Cada álbum é representado na coleção com um `id` único como o nome da propriedade. Dentro de cada objeto de álbum, existem várias propriedades descrevendo informações sobre o álbum. Nem todos os álbuns possuem informações completas.
-The `updateRecords` function takes 4 arguments represented by the following function parameters:
+A função `updateRecords` recebe 4 argumentos representados pelos seguintes parâmetros de função:
-- `records` - an object containing several individual albums
-- `id` - a number representing a specific album in the `records` object
-- `prop` - a string representing the name of the album’s property to update
-- `value` - a string containing the information used to update the album’s property
+- `records` – um objeto contendo vários álbuns individuais
+- `id` – um número que representa um álbum específico no objeto `records`
+- `prop` – uma string que representa o nome da propriedade do álbum a ser atualizada
+- `value` – uma string contendo informações usadas para atualizar a propriedade do álbum
-Complete the function using the rules below to modify the object passed to the function.
+Complete a função usando as regras abaixo para modificar o objeto passado para a função.
-- Your function must always return the entire `records` object.
-- If `value` is an empty string, delete the given `prop` property from the album.
-- If `prop` isn’t `"tracks"` and `value` isn't an empty string, assign the `value` to that album’s `prop`.
-- If `prop` is `"tracks"` and `value` isn’t an empty string, add the `value` to the end of the album’s existing `"tracks"` array.
-- If the album doesn’t have a `"tracks"` property, create a new array for the album's `"tracks"` property before adding the `value` to it.
+- A função precisa sempre retornar todo o objeto `records`.
+- Se `value` for uma string vazia, remova a propriedade `prop` recebida do álbum.
+- Se `prop` não for `"tracks"` e `value` não for uma string vazia, atribua `value` à `prop` daquele álbum.
+- Se `prop` for `"tracks"` e `value` não for uma string vazia, adicione `value` ao final do array `"tracks"` existente no álbum.
+- Se o álbum não tiver uma propriedade `"tracks"`, criar um array para as propriedades `"tracks"` do álbum antes de adicionar `value` a ele.
-**Note:** A copy of the `recordCollection` object is used for the tests. You should not directly modify the `recordCollection` object.
+**Observação:** uma cópia do objeto `recordCollection` é usada para testes. Você não deve modificar diretamente o objeto `recordCollection`.
# --hints--
-After `updateRecords(recordCollection, 5439, "artist", "ABBA")`, `artist` should be the string `ABBA`
+Após `updateRecords(recordCollection, 5439, "artist", "ABBA")`, `artist` deve ter a string `ABBA`.
```js
assert(
@@ -38,7 +38,7 @@ assert(
);
```
-After `updateRecords(recordCollection, 5439, "tracks", "Take a Chance on Me")`, `tracks` should have the string `Take a Chance on Me` as the last and only element.
+Após `updateRecords(recordCollection, 5439, "tracks", "Take a Chance on Me")`, `tracks` deve ter a string `Take a Chance on Me` como o último e único elemento.
```js
assert(
@@ -48,14 +48,14 @@ assert(
);
```
-After `updateRecords(recordCollection, 2548, "artist", "")`, `artist` should not be set
+Após `updateRecords(recordCollection, 2548, "artist", "")`, `artist` não deve ser definido.
```js
updateRecords(_recordCollection, 2548, 'artist', '');
assert(!_recordCollection[2548].hasOwnProperty('artist'));
```
-After `updateRecords(recordCollection, 1245, "tracks", "Addicted to Love")`, `tracks` should have the string `Addicted to Love` as the last element.
+Após `updateRecords(recordCollection, 1245, "tracks", "Addicted to Love")`, `tracks` deve ter a string `Addicted to Love` como o último elemento.
```js
assert(
@@ -65,7 +65,7 @@ assert(
);
```
-After `updateRecords(recordCollection, 2468, "tracks", "Free")`, `tracks` should have the string `1999` as the first element.
+Após `updateRecords(recordCollection, 2468, "tracks", "Free")`, `tracks` deve ter a string `1999` como o último elemento.
```js
assert(
@@ -75,14 +75,14 @@ assert(
);
```
-After `updateRecords(recordCollection, 2548, "tracks", "")`, `tracks` should not be set
+Após `updateRecords(recordCollection, 2548, "tracks", "")`, `tracks` não deve ser definido.
```js
updateRecords(_recordCollection, 2548, 'tracks', '');
assert(!_recordCollection[2548].hasOwnProperty('tracks'));
```
-After `updateRecords(recordCollection, 1245, "albumTitle", "Riptide")`, `albumTitle` should be the string `Riptide`
+Após `updateRecords(recordCollection, 1245, "albumTitle", "Riptide")`, `albumTitle` deve ser a string `Riptide`.
```js
assert(
diff --git a/curriculum/challenges/portuguese/06-quality-assurance/quality-assurance-and-testing-with-chai/run-functional-tests-on-api-endpoints-using-chai-http.md b/curriculum/challenges/portuguese/06-quality-assurance/quality-assurance-and-testing-with-chai/run-functional-tests-on-api-endpoints-using-chai-http.md
index c7c98e517de..0344dfd94a6 100644
--- a/curriculum/challenges/portuguese/06-quality-assurance/quality-assurance-and-testing-with-chai/run-functional-tests-on-api-endpoints-using-chai-http.md
+++ b/curriculum/challenges/portuguese/06-quality-assurance/quality-assurance-and-testing-with-chai/run-functional-tests-on-api-endpoints-using-chai-http.md
@@ -36,19 +36,19 @@ O primeiro `assert.equal` verifica se o status é igual a `200`. O segundo `asse
Além disso, observe o parâmetro `done` na função de callback do teste. Chamá-la sem um argumento no final de um teste é necessário para sinalizar que a operação assíncrona está completa.
-Finally, note the `keepOpen` method just after the `request` method. Normally you would run your tests from the command line, or as part of an automated integration process, and you could let `chai-http` start and stop your server automatically.
+Finalmente, observe o método `keepOpen` logo após o método `request`. Normalmente, você executaria os testes pela linha de comando ou como parte de um processo de integração automatizada. Além disso, você poderia deixar `chai-http` iniciar e parar seu servidor automaticamente.
-However, the tests that run when you submit the link to your project require your server to be up, so you need to use the `keepOpen` method to prevent `chai-http` from stopping your server.
+No entanto, os testes que são executados quando você envia o link para o seu projeto exigem que seu servidor esteja pronto. Então, você precisa usar o método `keepOpen` para impedir que `chai-http` pare seu servidor.
# --instructions--
-Within `tests/2_functional-tests.js`, alter the `'Test GET /hello with no name'` test (`// #1`) to assert the `status` and the `text` of the response to make the test pass. Do not alter the arguments passed to the asserts.
+Dentro de `tests/2_functional-tests.js`, altere o teste `'Test GET /hello with no name'` (`// #1`) para afirmar o `status` e o `text` da resposta para fazer o teste passar. Não altere os argumentos passados às afirmações.
-There should be no URL query. Without a name URL query, the endpoint responds with `hello Guest`.
+Não deve haver consulta de URL. Não deve haver consulta de name no URL. O endpoint responde com `hello Guest`.
# --hints--
-All tests should pass
+Todos os testes devem passar
```js
(getUserInput) =>
@@ -62,7 +62,7 @@ All tests should pass
);
```
-You should test for `res.status` == 200
+Você deve testar que `res.status` == 200
```js
(getUserInput) =>
@@ -78,7 +78,7 @@ You should test for `res.status` == 200
);
```
-You should test for `res.text` == `'hello Guest'`
+Você deve testar se `res.text` == `'hello Guest'`
```js
(getUserInput) =>
diff --git a/curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507ebb0c50ce3b9d669cd9.md b/curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507ebb0c50ce3b9d669cd9.md
index 6fe9b2bdded..57b7cf64b53 100644
--- a/curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507ebb0c50ce3b9d669cd9.md
+++ b/curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507ebb0c50ce3b9d669cd9.md
@@ -7,38 +7,38 @@ dashedName: step-8
# --description--
-Array methods can often be chained together to perform multiple operations at once. As an example:
+Os métodos de array muitas vezes podem ser encadeados juntos para executar várias operações de uma só vez. Exemplo:
```js
array.map().filter();
```
-The `.map()` method is called on the array, and then the `.filter()` method is called on the result of the `.map()` method. This is called method chaining.
+O método `.map()` é chamado no array. Depois, o método `.filter()` é chamado no resultado do método `.map()`. Chamamos isso de encadeamento de métodos.
-Following that example, remove your `filtered` variable, and chain your `.filter()` call to your `.map()` call above. Do not remove either of the callback functions.
+Following that example, remove your `filtered` variable, and chain your `.filter()` call to your `.map()` call above. Não remova nenhuma das funções de callback.
# --hints--
-You should remove the `filtered` variable.
+Você deve remover a variável `filtered`.
```js
assert.notMatch(calculate.toString(), /filtered/);
```
-You should chain your `.filter()` call to your `.map()` call.
+Você deve encadear a chamada de `.filter()` com a chamada de `.map()`.
```js
console.log(calculate.toString());
assert.match(calculate.toString(), /array\.map\(.*\)\.filter\(/s);
```
-You should not remove the `.map()` callback.
+Você não deve remover a função de callback da variável `.map()`.
```js
assert.match(calculate.toString(), /(array\.map\(\(?\s*el\s*\)?\s*=>|array\.map\(function\s*\(?el\)\s*\{)\s*(return\s*)?Number\(\s*el\s*\)/);
```
-You should not remove the `.filter()` callback.
+Você não deve remover a função de callback da variável `.filter()`.
```js
assert.match(calculate.toString(), /(\.filter\(\(?\s*el\s*\)?\s*=>|\.filter\(function\s*\(?el\)\s*\{)\s*(return\s*)?!(Number\.)?isNaN\(\s*el\s*\)/s);
diff --git a/curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507fc6cc29083cc44df2fb.md b/curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507fc6cc29083cc44df2fb.md
index 11561c2cc95..f104ee3fa07 100644
--- a/curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507fc6cc29083cc44df2fb.md
+++ b/curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507fc6cc29083cc44df2fb.md
@@ -1,31 +1,31 @@
---
id: 63507fc6cc29083cc44df2fb
-title: Step 9
+title: Passo 9
challengeType: 0
dashedName: step-9
---
# --description--
-That is as far as you can get with the calculate function for now. It is time to write your mean logic.
+Isso é até onde você pode chegar com a função de calcular por enquanto. Está na hora de escrever a lógica da média.
-Create an empty function called `getMean`. It should take a single parameter `array`.
+Crie uma função vazia chamada `getMean`. Deve haver um único parâmetro `array`.
# --hints--
-You should declare a `getMean` function.
+Você deve declarar uma função `getMean`.
```js
assert.isFunction(getMean);
```
-Your `getMean` function should take a single `array` argument.
+A função `getMean` deve receber um argumento único `array`.
```js
assert.match(getMean.toString(), /\(\s*array\s*\)/);
```
-Your `getMean` function should be empty.
+A função `getMean` deve estar vazia.
```js
assert.match(getMean.toString(), /\{\s*\}/);
diff --git a/curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63508abbff1c4c5210d68cc5.md b/curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63508abbff1c4c5210d68cc5.md
index 8b54840f3fc..1fcf12bbe2f 100644
--- a/curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63508abbff1c4c5210d68cc5.md
+++ b/curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63508abbff1c4c5210d68cc5.md
@@ -1,31 +1,31 @@
---
id: 63508abbff1c4c5210d68cc5
-title: Step 19
+title: Passo 19
challengeType: 0
dashedName: step-19
---
# --description--
-Time to start working on the median calculation. The median is the midpoint of a set of numbers.
+Hora de começar a trabalhar no cálculo da mediana. A mediana é o ponto médio de um conjunto de números.
-Begin with an empty function called `getMedian`, which should take an `array` parameter.
+Comece com uma função vazia chamada `getMedian`, que deve receber um parâmetro `array`.
# --hints--
-You should define a `getMedian` function.
+Você deve definir uma função `getMedian`.
```js
assert.isFunction(getMedian);
```
-Your `getMedian` function should take an `array` parameter.
+A função `getMedian` deve receber um parâmetro `array`.
```js
assert.match(getMedian.toString(), /\(\s*array\s*\)/);
```
-Your `getMedian` function should be empty.
+A função `getMedian` deve estar vazia.
```js
assert.match(getMedian.toString(), /\(\s*array\s*\)\s*\{\s*\}/);
diff --git a/curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63508bb4afb069534e81f33b.md b/curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63508bb4afb069534e81f33b.md
index 850a88d9cf2..17f62174f30 100644
--- a/curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63508bb4afb069534e81f33b.md
+++ b/curriculum/challenges/portuguese/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63508bb4afb069534e81f33b.md
@@ -1,13 +1,13 @@
---
id: 63508bb4afb069534e81f33b
-title: Step 20
+title: Passo 20
challengeType: 0
dashedName: step-20
---
# --description--
-The first step in calculating the median is to ensure the list of numbers is sorted from least to greatest. Once again, there is an array method ideal for this – the `.sort()` method.
+O primeiro passo para o cálculo da mediana é assegurar que a lista de números seja classificada do menor para o maior. Once again, there is an array method ideal for this – the `.sort()` method.
Declare a `sorted` variable and assign `array.sort()` to it.
diff --git a/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/basic-javascript/divide-one-decimal-by-another-with-javascript.md b/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/basic-javascript/divide-one-decimal-by-another-with-javascript.md
index 63e502cf8c5..9dc942e0d5b 100644
--- a/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/basic-javascript/divide-one-decimal-by-another-with-javascript.md
+++ b/curriculum/challenges/ukrainian/02-javascript-algorithms-and-data-structures/basic-javascript/divide-one-decimal-by-another-with-javascript.md
@@ -32,7 +32,7 @@ assert(/4\.40*\s*\/\s*2\.*0*/.test(code));
Змінна-частка повинна бути присвоєна лише раз
```js
-assert(code.match(/quotient/g).length === 1);
+assert(code.match(/quotient\s*=/g).length === 1);
```
# --seed--
diff --git a/curriculum/challenges/ukrainian/17-college-algebra-with-python/learn-how-to-solve-for-x/how-to-solve-for-x-extra.md b/curriculum/challenges/ukrainian/17-college-algebra-with-python/learn-how-to-solve-for-x/how-to-solve-for-x-extra.md
index 5d9ca07f933..fceb6f7ec9a 100644
--- a/curriculum/challenges/ukrainian/17-college-algebra-with-python/learn-how-to-solve-for-x/how-to-solve-for-x-extra.md
+++ b/curriculum/challenges/ukrainian/17-college-algebra-with-python/learn-how-to-solve-for-x/how-to-solve-for-x-extra.md
@@ -1,6 +1,6 @@
---
id: 6331d233b51aeedd1a2bd645
-title: "How to Solve for X: Extra"
+title: "Розв’язок рівняння: додатково"
challengeType: 15
videoId: lFTCVUCbNoM
dashedName: how-to-solve-for-x-extra
@@ -8,23 +8,23 @@ dashedName: how-to-solve-for-x-extra
# --description--
-This video will go deeper, with more examples of how to use SymPy solve. It will also explain how the practice functions generate the random problems.
+У цьому відео ви детальніше ознайомитесь з SymPy, розглянувши більше прикладів. Ви також дізнаєтесь, як функції генерують випадкові вирази.
-Here is the Colab notebook to go along with this video. Use it to add more to the algebra Colab notebook that you are building.
+Ось блокнот Colab для цього відео. Використайте його, щоб заповнити свій блокнот Colab з алгебри.
# --question--
## --assignment--
-Add the code for more ways to solve for x from the video to your algebra Colab notebook.
+Додайте код з відео для інших розв’язків рівняння до свого блокноту Colab.
---
-Open the following Colab notebook, run the cell, and practice solving one and two-step algebra problems. As a bonus, look at the code that generates the practice problems.
+Відкрийте наступний блокнот Colab, запустіть секцію та попрактикуйтесь над розв’язком прикладів з однією й двома діями. Як бонус, гляньте на код, який генерує приклади для практики.
## --text--
-If you import sympy and define x as a variable, what would be the output from the following code?
+Якщо ви імпортуєте SymPy та визначите x як змінну, то який вивід ви отримаєте з наступного коду?
```py
example = 3*x - 12
diff --git a/curriculum/challenges/ukrainian/17-college-algebra-with-python/learn-how-to-solve-for-x/solving-for-x.md b/curriculum/challenges/ukrainian/17-college-algebra-with-python/learn-how-to-solve-for-x/solving-for-x.md
index cf99c6cfbd1..4893d3f2177 100644
--- a/curriculum/challenges/ukrainian/17-college-algebra-with-python/learn-how-to-solve-for-x/solving-for-x.md
+++ b/curriculum/challenges/ukrainian/17-college-algebra-with-python/learn-how-to-solve-for-x/solving-for-x.md
@@ -1,6 +1,6 @@
---
id: 6331d23eb51aeedd1a2bd646
-title: "Solving for X"
+title: "Розв’язок рівняння"
challengeType: 15
videoId: _U9PEFKjyb8
dashedName: solving-for-x
@@ -8,19 +8,19 @@ dashedName: solving-for-x
# --description--
-This first video will show you the essence of algebra and then how Python code does the same task in a different way.
+Перше відео роз’яснить суть алгебри та покаже, як Python виконує те саме завдання, але по-іншому.
-Here is the Colab notebook to go along with this video. Add the code from the video to your algebra Colab notebook to see how to solve for X using Python. Then change the code if you want, test it, and compare it to paper-and-pencil solving. Remember the equation input needs to be in Python syntax.
+Ось блокнот Colab для цього відео. Додайте код з відео до свого блокноту з алгебри Colab, щоб побачити, як знайти х за допомогою Python. Потім (якщо хочете) змініть код, перевірте його та порівняйте з розв’язком на папері. Пам’ятайте, що рівняння повинне бути у синтаксисі Python.
# --question--
## --assignment--
-Add the code to solve for x from the video to your algebra Colab notebook.
+Додайте код з відео для розв’язку рівняння до свого блокноту Colab.
## --text--
-In Python, what is the library you import to solve algebra problems with variables?
+Яку бібліотеку Python потрібно імпортувати, щоб розв’язати вирази зі змінними?
## --answers--