diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617bc3386dc7d07d6469bf20.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617bc3386dc7d07d6469bf20.md index 899eba81d69..38a8c872c1f 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617bc3386dc7d07d6469bf20.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617bc3386dc7d07d6469bf20.md @@ -7,7 +7,7 @@ dashedName: step-32 # --description-- -لاحظ أنه لإنشاء البرتقالي كان عليك زيادة كثافة اللون الأحمر وتقليل كثافة قيم `rgb` الخضراء. وذلك لأن البرتقالي هو مزيج من اللون الأحمر والأصفر، ويسقط بين اللونين على عجلة الألوان. +لاحظ أنه لإنشاء البرتقالي كان عليك زيادة كثافة اللون الأحمر وتقليل كثافة قيم `rgb` الخضراء. This is because orange is the combination of red and yellow. لإنشاء ربيع اللون الثالث أخضر، الجمع بين السيان والأخضر. قم بتحديث وظيفة `rgb` في قاعدة CSS مسمى `.two` بحيث تكون قيمة اللون الأخضر بالحد الأقصى، وقيمة اللون الأزرق `127`. diff --git a/curriculum/challenges/chinese-traditional/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617bc3386dc7d07d6469bf20.md b/curriculum/challenges/chinese-traditional/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617bc3386dc7d07d6469bf20.md index 5bf34318809..a87eedf7493 100644 --- a/curriculum/challenges/chinese-traditional/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617bc3386dc7d07d6469bf20.md +++ b/curriculum/challenges/chinese-traditional/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617bc3386dc7d07d6469bf20.md @@ -7,7 +7,7 @@ dashedName: step-32 # --description-- -注意,要創建橙色,你需要增加紅色的強度,並降低綠色 `rgb` 值的強度。 這是因爲橙色是紅色和黃色的結合,再色輪上處於兩種顏色之間。 +注意,要創建橙色,你需要增加紅色的強度,並降低綠色 `rgb` 值的強度。 This is because orange is the combination of red and yellow. 要創建複色亮綠色,需要組合青色和綠色。 更新 `.two` CSS 規則中的 `rgb` 函數,使綠色是最大值,藍色的值是 `127`。 diff --git a/curriculum/challenges/chinese/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617bc3386dc7d07d6469bf20.md b/curriculum/challenges/chinese/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617bc3386dc7d07d6469bf20.md index 5c5eb8287f8..6436b7b25bb 100644 --- a/curriculum/challenges/chinese/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617bc3386dc7d07d6469bf20.md +++ b/curriculum/challenges/chinese/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617bc3386dc7d07d6469bf20.md @@ -7,7 +7,7 @@ dashedName: step-32 # --description-- -注意,要创建橙色,你需要增加红色的强度,并降低绿色 `rgb` 值的强度。 这是因为橙色是红色和黄色的结合,再色轮上处于两种颜色之间。 +注意,要创建橙色,你需要增加红色的强度,并降低绿色 `rgb` 值的强度。 This is because orange is the combination of red and yellow. 要创建复色亮绿色,需要组合青色和绿色。 更新 `.two` CSS 规则中的 `rgb` 函数,使绿色是最大值,蓝色的值是 `127`。 diff --git a/curriculum/challenges/espanol/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617bc3386dc7d07d6469bf20.md b/curriculum/challenges/espanol/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617bc3386dc7d07d6469bf20.md index 384b4106e32..f7d36fc075a 100644 --- a/curriculum/challenges/espanol/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617bc3386dc7d07d6469bf20.md +++ b/curriculum/challenges/espanol/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617bc3386dc7d07d6469bf20.md @@ -7,7 +7,7 @@ dashedName: step-32 # --description-- -Ten en cuenta que, para crear naranja, tuviste que aumentar la intensidad del rojo y disminuir la intensidad del verde en los valores `rgb`. Esto se debe a que el naranja es la combinación de rojo y amarillo, y este queda entre los dos colores de la rueda de color. +Ten en cuenta que, para crear naranja, tuviste que aumentar la intensidad del rojo y disminuir la intensidad del verde en los valores `rgb`. This is because orange is the combination of red and yellow. Para crear el color terciario spring green (verde primavera), combina el cian con el verde. Actualiza la función `rgb` en la regla CSS `.two` para que el verde esté en el valor máximo, y establece azul a `127`. diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617bc3386dc7d07d6469bf20.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617bc3386dc7d07d6469bf20.md index 86c49a3031d..57e72561f87 100644 --- a/curriculum/challenges/german/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617bc3386dc7d07d6469bf20.md +++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617bc3386dc7d07d6469bf20.md @@ -7,7 +7,7 @@ dashedName: step-32 # --description-- -Beachte, dass du die Intensität von Rot erhöhen musst und die Intensität der grünen `rgb`-Werte senken musst, um Orange zu erstellen. Das liegt daran, dass Orange die Kombination aus Rot und Gelb ist und zwischen den beiden Farben des Farbkreies fällt. +Beachte, dass du die Intensität von Rot erhöhen musst und die Intensität der grünen `rgb`-Werte senken musst, um Orange zu erstellen. This is because orange is the combination of red and yellow. Kombiniere Cyan mit Grün, um die Tertiärfarbe Frühlingsgrün herzustellen. Aktualisiere die `rgb`-Funktion in der `.two`-CSS-Regel so, dass Grün den maximalen Wert hat und Blau auf `127` eingestellt ist. diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d033915012509031f309a.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d033915012509031f309a.md index fc228162688..19751bccd15 100644 --- a/curriculum/challenges/german/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d033915012509031f309a.md +++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d033915012509031f309a.md @@ -11,7 +11,7 @@ Füge unter dem `.face.right`-Element ein `div`-Element mit einer `class` von `c # --hints-- -Du solltest ein `div`-Element innerhalb `.penguin-head` hinzufügen. Expected `--fcc-expected--` `div` elements, found `--fcc-actual--`. +Du solltest ein `div`-Element innerhalb `.penguin-head` hinzufügen. Es sind `--fcc-expected--` `div`-Elemente erwartet worden, aber es wurden `--fcc-actual--` gefunden. ```js assert.equal(document.querySelectorAll('.penguin-head > div')?.length, 3); diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d090cd8d6db0c93dc5087.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d090cd8d6db0c93dc5087.md index ff22a084421..81490a4e56c 100644 --- a/curriculum/challenges/german/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d090cd8d6db0c93dc5087.md +++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d090cd8d6db0c93dc5087.md @@ -11,7 +11,7 @@ Füge unter deinem `.chin`-Element zwei `div`-Elemente mit einer `class` von `ey # --hints-- -Du solltest zwei `div`-Elemente innerhalb `.penguin-head` hinzufügen. Expected `--fcc-expected--` `div` elements, found `--fcc-actual--`. +Du solltest zwei `div`-Elemente innerhalb `.penguin-head` hinzufügen. Es sind `--fcc-expected--` `div`-Elemente erwartet worden, aber es wurden `--fcc-actual--` gefunden. ```js assert.equal(document.querySelectorAll('.penguin-head > div')?.length, 5); diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d10cc98145f14820399c5.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d10cc98145f14820399c5.md index cc73c9eb3d7..bb55f5138d5 100644 --- a/curriculum/challenges/german/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d10cc98145f14820399c5.md +++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d10cc98145f14820399c5.md @@ -11,7 +11,7 @@ Füge unter dem `.blush.right`-Element zwei `div`-Elemente mit einer `class` von # --hints-- -Du solltest zwei `div`-Elemente innerhalb `.penguin-head` hinzufügen. Expected `--fcc-expected--` `div` elements, found `--fcc-actual--`. +Du solltest zwei `div`-Elemente innerhalb `.penguin-head` hinzufügen. Es sind `--fcc-expected--` `div`-Elemente erwartet worden, aber es wurden `--fcc-actual--` gefunden. ```js assert.equal(document.querySelectorAll('.penguin-head > div')?.length, 9); diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d15797b580c1828b05426.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d15797b580c1828b05426.md index 7a08050c7de..80204893455 100644 --- a/curriculum/challenges/german/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d15797b580c1828b05426.md +++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d15797b580c1828b05426.md @@ -11,7 +11,7 @@ Füge innerhalb des `.shirt`-Elements einen `div` mit dem folgenden Emoji als In # --hints-- -Du solltest ein `div`-Element innerhalb `div.shirt` einfügen. Expected `--fcc-expected--` `div` element, found `--fcc-actual--`. +Du solltest ein `div`-Element innerhalb `div.shirt` einfügen. Es sind `--fcc-expected--` `div`-Elemente erwartet worden, aber es wurden `--fcc-actual--` gefunden. ```js assert.equal(document.querySelectorAll('.shirt > div')?.length, 1); diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d237a107c10221ed743fa.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d237a107c10221ed743fa.md index 1a8bfa13898..71d102ab99c 100644 --- a/curriculum/challenges/german/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d237a107c10221ed743fa.md +++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d237a107c10221ed743fa.md @@ -13,7 +13,7 @@ Füge innerhalb `.penguin-body`, vor den `.foot`-Elementen, zwei `div`-Elemente # --hints-- -Du solltest zwei `div`-Elemente innerhalb `.penguin-body` hinzufügen. Expected `--fcc-expected--` `div` elements, found `--fcc-actual--`. +Du solltest zwei `div`-Elemente innerhalb `.penguin-body` hinzufügen. Es sind `--fcc-expected--` `div`-Elemente erwartet worden, aber es wurden `--fcc-actual--` gefunden. ```js assert.equal(document.querySelectorAll('.penguin-body > div')?.length, 4); diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9933.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9933.md index 40dcd04f334..3058032bbf9 100644 --- a/curriculum/challenges/german/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9933.md +++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9933.md @@ -11,7 +11,7 @@ Add another `repeating-linear-gradient` below the one you just added. Give it a # --hints-- -You should give `.fb5` a second `repeating-linear-gradient` in the `background` property. +Du solltest `.fb5` einen zweiten `repeating-linear-gradient` in der `background`-Eigenschaft geben. ```js assert.match(new __helpers.CSSHelp(document).getStyle(".fb5")?.getPropVal('background', true), /repeating-linear-gradient\(var\(--building-color2\)(0%)?,var\(--building-color2\)5%,transparent5%,transparent10%\),repeating-linear-gradient/); diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5efc54138d6a74d05e68af76.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5efc54138d6a74d05e68af76.md index 906572bf888..8af738a5efc 100644 --- a/curriculum/challenges/german/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5efc54138d6a74d05e68af76.md +++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5efc54138d6a74d05e68af76.md @@ -11,13 +11,13 @@ Add an `id` attribute with the value `loving` to the checkbox input. # --hints-- -Your checkbox should have an `id` attribute. Check that there is a space after the opening tag's name and/or there are spaces before all attribute names. +Deine Checkbox sollte ein `id`-Attribut haben. Check that there is a space after the opening tag's name and/or there are spaces before all attribute names. ```js assert($('input[type="checkbox"]')[0].hasAttribute('id')); ``` -Your checkbox should have an `id` attribute with the value `loving`. You have either omitted the value or have a typo. Remember that attribute values should be surrounded with quotation marks. +Deine Checkbox sollte ein `id`-Attribut mit dem Wert `loving` haben. You have either omitted the value or have a typo. Remember that attribute values should be surrounded with quotation marks. ```js assert($('input[type="checkbox"]')[0].id.match(/^loving$/)); diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5f0d4ab1b435f13ab6550052.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5f0d4ab1b435f13ab6550052.md index 52deafa9647..5e02887f93e 100644 --- a/curriculum/challenges/german/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5f0d4ab1b435f13ab6550052.md +++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5f0d4ab1b435f13ab6550052.md @@ -35,7 +35,7 @@ Du solltest nur ein abschließendes `fieldset`-Tag hinzufügen. Please remove an assert(code.match(/<\/fieldset>/g).length === 2); ``` -The second `fieldset` element should not be nested in the first `fieldset` element. +Das zweite `fieldset`-Element sollte nicht im ersten `fieldset`-Element eingebettet sein. ```js const childrenOf1stFieldset = [ diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5f1a80975fc4bcae0edb3497.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5f1a80975fc4bcae0edb3497.md index ab6b7b7ce91..1736372236e 100644 --- a/curriculum/challenges/german/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5f1a80975fc4bcae0edb3497.md +++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5f1a80975fc4bcae0edb3497.md @@ -7,7 +7,7 @@ dashedName: step-49 # --description-- -If you select the `Indoor` radio button and submit the form, the form data for the button is based on its `name` and `value` attributes. Since your radio buttons do not have a `value` attribute, the form data will include `indoor-outdoor=on`, which is not useful when you have multiple buttons. +Wenn du den `Indoor`-Radio-Button auswählst und das Formular absendest, basieren die Formulardaten für den Button auf seine `name`- und `value`-Attribute. Since your radio buttons do not have a `value` attribute, the form data will include `indoor-outdoor=on`, which is not useful when you have multiple buttons. Füge ein `value`-Attribut zu beiden Radio-Buttons hinzu. For convenience, set the button's `value` attribute to the same value as its `id` attribute. diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffe3936796ac04959285a9.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffe3936796ac04959285a9.md index 18388b0865e..3b987cd637d 100644 --- a/curriculum/challenges/german/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffe3936796ac04959285a9.md +++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffe3936796ac04959285a9.md @@ -7,7 +7,7 @@ dashedName: step-54 # --description-- -Currently, if you type in the `input` or `textarea` elements, you will not be able to see the text. Also, their height is too small to be easy to use. +Wenn du jetzt in die `inputtextarea`-Elemente eintippst, wirst du den Text nicht sehen können. Also, their height is too small to be easy to use. Fix this, by setting the `color` to `#ffffff`, and setting their `min-height` to `2em`. diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/62b30924c5e4ef0daba23b5e.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/62b30924c5e4ef0daba23b5e.md index 09543748bf5..760b7b056ea 100644 --- a/curriculum/challenges/german/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/62b30924c5e4ef0daba23b5e.md +++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/62b30924c5e4ef0daba23b5e.md @@ -7,7 +7,7 @@ dashedName: step-47 # --description-- -The border of the last `fieldset` element looks a little out of place. You can select the last element of a specific type using the `last-of-type` CSS pseudo-class, like this: +The border of the last `fieldset` element looks a little out of place. Du kannst das letzte Element eines bestimmten Typs auswählen, indem du wie folgt die `last-of-type`-CSS-Pseudo-Klasse auswählst: ```css p:last-of-type { } @@ -17,7 +17,7 @@ Damit wird das letzte `p`-Element ausgewählt. Create a new selector that target # --hints-- -You can use the `:last-of-type` pseudo-class to select only the last element of a certain type. +Du kannst die `:last-of-type`-Pseudo-Klasse verwenden, um nur das letzte Element eines bestimmten Typs auszuwählen. ```js assert.exists(new __helpers.CSSHelp(document).getStyle('fieldset:last-of-type')); diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/62ff8b9dab5ac88e4d3d43a3.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/62ff8b9dab5ac88e4d3d43a3.md index e69353b74cc..dfc8c59bc64 100644 --- a/curriculum/challenges/german/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/62ff8b9dab5ac88e4d3d43a3.md +++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/62ff8b9dab5ac88e4d3d43a3.md @@ -9,7 +9,7 @@ dashedName: step-18 Following accessibility best practices, link the `input` elements and the `label` elements together using the `for` attribute. -Use `first-name`, `last-name`, `email`, and `new-password` as values for the respective `id` attributes. +Verwende `first-name`, `last-name`, `email` und `new-password` als Werte für die jeweiligen `id`-Attribute. # --hints-- diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/62ff8e998d3e7eae14d6ae3b.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/62ff8e998d3e7eae14d6ae3b.md index 11b3d2d26a8..988398b9979 100644 --- a/curriculum/challenges/german/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/62ff8e998d3e7eae14d6ae3b.md +++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/62ff8e998d3e7eae14d6ae3b.md @@ -9,7 +9,7 @@ dashedName: step-29 Follow accessibility best practices by linking the `input` elements and the `label` elements in the second `fieldset`. -Use `personal-account`, `business-account`, and `terms-and-conditions` as values for the respective `id` attributes. +Verwende `personal-account`, `business-account` und `terms-and-conditions` als Werte für die jeweiligen `id`-Attribute. # --hints-- @@ -19,13 +19,13 @@ The first `input` element should have an `id` of `personal-account`. assert(document.querySelectorAll('fieldset:nth-of-type(2) input')?.[0]?.matches('#personal-account')) ``` -The second `input` element should have an `id` of `business-account`. +Das zweite `input`-Element sollte die `id` `business-account` haben. ```js assert(document.querySelectorAll('fieldset:nth-of-type(2) input')?.[1]?.matches('#business-account')) ``` -The third `input` element should have an `id` of `terms-and-conditions`. +Das dritte `input`-Element sollte die `id` `terms-and-conditions` haben. ```js assert(document.querySelectorAll('fieldset:nth-of-type(2) input')?.[2]?.matches('#terms-and-conditions')) diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/62ff919a7b5612c0670923a5.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/62ff919a7b5612c0670923a5.md index 6c7fd481541..fd3196a4159 100644 --- a/curriculum/challenges/german/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/62ff919a7b5612c0670923a5.md +++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/62ff919a7b5612c0670923a5.md @@ -9,7 +9,7 @@ dashedName: step-38 Link the applicable form elements and their `label` elements together. -Use `profile-picture`, `age`, `referrer`, and `bio` as values for the respective `id` attributes. +Verwende `profile-picture`, `age`, `referrer` und `bio` als Werte für die jeweiligen `id`-Attribute. # --hints-- diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/61fda339eadcfd92a6812bed.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/61fda339eadcfd92a6812bed.md index d045bb8d7ee..0d95ba6f194 100644 --- a/curriculum/challenges/german/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/61fda339eadcfd92a6812bed.md +++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/61fda339eadcfd92a6812bed.md @@ -9,7 +9,7 @@ dashedName: step-30 Bevor du dich zu sehr in deiner Gestaltung vertiefst, solltest du von der `sr-only`-Klasse Gebrauch machen. Du kannst CSS verwenden, um Elemente mit dieser Klasse vollständig von der visuellen Seite auszublenden, aber dennoch von Screenreadern angezeigt werden zu lassen. -The CSS you are about to write is a common set of properties used to ensure elements are completely hidden visually. +Das CSS, das du gleich schreiben wirst, ist ein allgemeines Set von Eigenschaften, mit denen sichergestellt wird, dass Elemente visuell vollständig ausgeblendet werden. Der `span[class~="sr-only"]`-Selektor wird jedes `span`-Element auswählen, dessen `class` * * `sr-only` enthält. Erstelle diesen Selektor und gib ihm eine `border`-Eigenschaft mit dem Wert `0`. diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/620159cd5431aa34bc6a4c9c.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/620159cd5431aa34bc6a4c9c.md index 11581b5fb7a..cf1dd8b511f 100644 --- a/curriculum/challenges/german/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/620159cd5431aa34bc6a4c9c.md +++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/620159cd5431aa34bc6a4c9c.md @@ -7,7 +7,7 @@ dashedName: step-36 # --description-- -Target your flex container with an `h1 .flex` selector. Give it a `display` property set to `flex` to enable the flexbox layout. Then set the `flex-direction` property to `column-reverse` - this will display the nested elements from bottom to top. Finally, set the `gap` property to `1rem` to create some space between the elements. +Target your flex container with an `h1 .flex` selector. Give it a `display` property set to `flex` to enable the flexbox layout. Then set the `flex-direction` property to `column-reverse` - this will display the nested elements from bottom to top. Setze schließlich die `gap`-Eigenschaft auf `1rem`, um mehr Abstand zwischen den Elementen zu schaffen. # --hints-- diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/620186f4b6b8356d2def576b.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/620186f4b6b8356d2def576b.md index e3d00ad16a8..f5112047f2d 100644 --- a/curriculum/challenges/german/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/620186f4b6b8356d2def576b.md +++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/620186f4b6b8356d2def576b.md @@ -7,7 +7,7 @@ dashedName: step-51 # --description-- -Als Nächstes musst du deine `caption`-Elemente gestalten, damit sie mehr wie Header aussehen. Erstelle einen `table caption`-Selektor. Set the text to have a color of `#356eaf`, a size of `1.3em`, and a normal weight. +Als Nächstes musst du deine `caption`-Elemente gestalten, damit sie mehr wie Header aussehen. Erstelle einen `table caption`-Selektor. Lege für den Text die Farbe `#356eaf`, eine Größe von `1.3em` und eine normale Schriftgewichtung fest. # --hints-- diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/6201995d9ab88e80f1989dce.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/6201995d9ab88e80f1989dce.md index 566ca4e0d8f..f1621e70bf9 100644 --- a/curriculum/challenges/german/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/6201995d9ab88e80f1989dce.md +++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/6201995d9ab88e80f1989dce.md @@ -7,7 +7,7 @@ dashedName: step-58 # --description-- -The `:nth-of-type()` pseudo-selector is used to target specific elements based on their order among siblings of the same type. Verwende diesen Pseudo-Selektor, um das dritte `td`-Element innerhalb deiner `total`-Tabellenzeilen auszuwählen. Weise ihm ein rechtes Padding von `0.5rem` zu. +Der `:nth-of-type()`-Pseudo-Selektor wird verwendet, um bestimmte Elemente auf Grundlage ihrer Reihenfolge unter Geschwisterelementen desselben Typs auszuwählen. Verwende diesen Pseudo-Selektor, um das dritte `td`-Element innerhalb deiner `total`-Tabellenzeilen auszuwählen. Weise ihm ein rechtes Padding von `0.5rem` zu. # --hints-- diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612ec19d5268da7074941f84.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612ec19d5268da7074941f84.md index e9b81b3fcaa..0cf845fd753 100644 --- a/curriculum/challenges/german/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612ec19d5268da7074941f84.md +++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612ec19d5268da7074941f84.md @@ -7,7 +7,7 @@ dashedName: step-32 # --description-- -Logical operators can be used to construct more complex media queries. The `and` logical operator is used to query two media conditions. +Mit logischen Operatoren können komplexere Media Queries erstellt werden. The `and` logical operator is used to query two media conditions. For example, a media query that targets a display width between 500px and 1000px would be: diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad69972.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad69972.md index 99782e0f262..d21c02992c3 100644 --- a/curriculum/challenges/german/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad69972.md +++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad69972.md @@ -7,7 +7,7 @@ dashedName: step-9 # --description-- -Add the `height` property with the value `600px` to your `.canvas` rule. +Füge die `height`-Eigenschaft mit dem Wert `600px` zu deiner `.canvas`-Regel hinzu. # --hints-- diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f34ecc1091b4fd5a8a484.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f34ecc1091b4fd5a8a484.md index 6a59891e463..a25b300f439 100644 --- a/curriculum/challenges/german/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f34ecc1091b4fd5a8a484.md +++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f34ecc1091b4fd5a8a484.md @@ -9,7 +9,7 @@ dashedName: step-4 Within your `head` element, add a `link` element with the `rel` attribute set to `stylesheet` and the `href` attribute set to `https://fonts.googleapis.com/css?family=Open+Sans:400,700,800`. -This will import the `Open Sans` font family, with the font weight values `400`, `700`, and `800`. +Auf diese Weise wird die `Open Sans`-Schriftart-Familie mit den Schriftstärke-Einstellungen `400`, `700` und `800` importiert. Also add a `link` element to link your `styles.css` file. diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f4dde9d72e3694cb9ee3b.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f4dde9d72e3694cb9ee3b.md index 162e525b3a4..fc385fb4cf6 100644 --- a/curriculum/challenges/german/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f4dde9d72e3694cb9ee3b.md +++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f4dde9d72e3694cb9ee3b.md @@ -7,7 +7,7 @@ dashedName: step-25 # --description-- -Now update your `h1` selector to be `header h1` to specifically target your `h1` element within your new `header`. +Aktualisiere nun deinen `h1`-Selektor auf `header h1`, um speziell deine `h1`-Elemente innerhalb deines neuen `header` auszuwählen. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/635060a5c03c950f46174cb5.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/635060a5c03c950f46174cb5.md index 6ec711ff76c..37a803748b0 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/635060a5c03c950f46174cb5.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/635060a5c03c950f46174cb5.md @@ -9,7 +9,7 @@ dashedName: step-1 Statistics is a way of using math to make sense of data. It helps us understand patterns and trends in information, so we can make predictions and decisions based on that information. -In this challenge, you will build a statistics calculator that takes a set of numbers and returns the mean, median, mode, standard deviation, and variance. +In dieser Aufgabe wirst du einen Statistikrechner bauen, der aus einer Reihe von Zahlen den Mittelwert, den Median, den Modus, die Standardabweichung und die Varianz zurückgibt. The HTML and CSS have been provided for you. Feel free to explore the code – you may notice that the `calculate` function is called when the form is submitted. When you are ready, declare a `calculate` variable and assign it an empty function in the `script.js` file. diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507b5ac8a55134223374c7.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507b5ac8a55134223374c7.md index c8b6e393146..0b72e870825 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507b5ac8a55134223374c7.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507b5ac8a55134223374c7.md @@ -7,7 +7,7 @@ dashedName: step-2 # --description-- -To begin, the `calculate` function needs to find the number that was entered in the `#numbers` input field. To do this, use a `.querySelector` to locate the input field and then use the `.value` property to get the number entered. +To begin, the `calculate` function needs to find the number that was entered in the `#numbers` input field. Dazu verwendest du einen `.querySelector`, um das Eingabefeld zu finden, und verwende dann die `.value`-Eigenschaft, um die eingegebene Zahl zu erhalten. Store this in a `value` variable. diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507e4562cdde3a28e8de1b.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507e4562cdde3a28e8de1b.md index 09319b528be..2068058d624 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507e4562cdde3a28e8de1b.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/63507e4562cdde3a28e8de1b.md @@ -7,7 +7,7 @@ dashedName: step-7 # --description-- -Much like the `.map()` method, the `.filter()` method takes a callback function. The callback function takes the current element as its first argument. +Wie die `.map()`-Methode nimmt auch die `.filter()`-Methode eine Callback-Funktion auf. The callback function takes the current element as its first argument. ```js array.filter(el => { @@ -23,7 +23,7 @@ Add a callback function to your `.filter()` method that returns `true` if the el # --hints-- -Your `.filter()` method should have a callback which accepts `el` as an argument. +Deine `.filter()`-Methode sollte einen Callback haben, der `el` als Argument verwendet. ```js assert.match(calculate.toString(), /numbers\.filter\(\(?\s*el\s*\)?\s*=>|numbers\.filter\(function\s*\(?el\)\s*\{/) diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/635080d80b72803e973841da.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/635080d80b72803e973841da.md index 9feae2b5e25..9e52153dea5 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/635080d80b72803e973841da.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/635080d80b72803e973841da.md @@ -7,7 +7,7 @@ dashedName: step-11 # --description-- -Wie die anderen Methoden benötigt auch `.reduce()` einen Callback. Dieser Callback benötigt jedoch mindestens zwei Parameter. The first is the accumulator, and the second is the current element in the array. The return value for the callback becomes the value of the accumulator on the next iteration. +Wie die anderen Methoden benötigt auch `.reduce()` einen Callback. Dieser Callback benötigt jedoch mindestens zwei Parameter. The first is the accumulator, and the second is the current element in the array. Der Rückgabewert für den Callback wird bei der nächsten Iteration zum Wert des Akkumulators. ```js array.reduce((acc, el) => { @@ -15,7 +15,7 @@ array.reduce((acc, el) => { }); ``` -For your `sum` variable, pass a callback to `.reduce()` that takes the accumulator and the current element as parameters. Der Callback sollte die Summe aus dem Akkumulators und dem aktuellen Element zurückgeben. +Übergib für deine `sum`-Variable einen `.reduce()`-Callback, der den Akkumulator und das aktuelle Element als Parameter verwendet. Der Callback sollte die Summe aus dem Akkumulators und dem aktuellen Element zurückgeben. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/635085f80bd9b5429faa40c4.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/635085f80bd9b5429faa40c4.md index bcbb250f0d2..38eb0555dc3 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/635085f80bd9b5429faa40c4.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/635085f80bd9b5429faa40c4.md @@ -7,9 +7,9 @@ dashedName: step-15 # --description-- -You can actually clean this logic up a bit. Using the implicit return of an arrow function, you can directly return the value of the `.reduce()` method divided by the length of the array, without having to assign any variables. +Du kannst diese Logik sogar ein wenig verbessern. Using the implicit return of an arrow function, you can directly return the value of the `.reduce()` method divided by the length of the array, without having to assign any variables. -Update your `getMean` function as described above. +Aktualisiere deine `getMean`-Funktion wie zuvor beschrieben. # --hints-- @@ -25,7 +25,7 @@ You should remove the `mean` variable declaration. assert.notMatch(getMean.toString(), /mean\s*=/); ``` -You should not change the logic within the `reduce` method. +Du solltest die Logik innerhalb der `reduce`-Methode nicht ändern. ```js assert.match(getMean.toString(), /(array\.reduce\(\(acc\s*,\s*el\s*\)\s*=>|array\.reduce\(function\s*\(acc\s*,\s*el\)\s*\{)\s*(return)?\s*acc\s*\+\s*el;\s*\}?\s*,\s*0\)/) @@ -37,7 +37,7 @@ You should divide the result of the `reduce` method by the length of the array. assert.match(getMean.toString(), /(array\.reduce\(\(acc\s*,\s*el\s*\)\s*=>|array\.reduce\(function\s*\(acc\s*,\s*el\)\s*\{)\s*(return)?\s*acc\s*\+\s*el;\s*\}?\s*,\s*0\)\s*\/\s*array\.length/) ``` -You should use implicit return syntax to directly return the result of `reduce` divided by the array length. +Du solltest die implizite Rückgabesyntax verwenden, um direkt das Ergebnis von `reduce` geteilt durch die Länge des Arrays zurückzugeben. ```js assert.match(code, /const\s+getMean\s*=\s*\(?array\)?\s*=>\s*array\.reduce\(\(acc\s*,\s*el\)\s*=>\s*acc\s*\+\s*el\s*,\s*0\s*\)\s*\/\s*array\.length/) diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/6350866cce4c6d43bdf607c8.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/6350866cce4c6d43bdf607c8.md index 73c4d3bbacc..6fb42914f78 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/6350866cce4c6d43bdf607c8.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/6350866cce4c6d43bdf607c8.md @@ -7,7 +7,7 @@ dashedName: step-16 # --description-- -Now you need to use your new `getMean` function. In your `calculate` function, declare a `mean` variable and assign it the value of `getMean(numbers)`. +Jetzt musst du deine neue `getMean`-Funktion verwenden. In deiner `calculate`-Funktion deklarierst du eine `mean`-Variable und weist ihr den Wert von `getMean(numbers)` zu. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/635091f8dbf554575fb5aa0c.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/635091f8dbf554575fb5aa0c.md index 1f07dbe4e02..12a0e50c710 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/635091f8dbf554575fb5aa0c.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/635091f8dbf554575fb5aa0c.md @@ -9,7 +9,7 @@ dashedName: step-23 Gib schließlich den Wert von `median` zurück. -Like the `getMean` function, you could condense this code into one line and reduce the number of variables you instantiate. Es ist jedoch wichtig zu bedenken, dass ein kürzerer Code nicht immer besser ist. In diesem Fall würde eine Verkürzung der Codezeilen die Lesbarkeit und das Verständnis des Codes erschweren, was sich auf die künftige Wartbarkeit auswirken würde. +Wie die `getMean`-Funktion kannst du diesen Code in einer Zeile zusammenfassen und die Anzahl der Variablen, die du instanzierst, reduzieren. Es ist jedoch wichtig zu bedenken, dass ein kürzerer Code nicht immer besser ist. In diesem Fall würde eine Verkürzung der Codezeilen die Lesbarkeit und das Verständnis des Codes erschweren, was sich auf die künftige Wartbarkeit auswirken würde. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/6352e79d15aae30fac58f48e.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/6352e79d15aae30fac58f48e.md index d7e42e99487..ab5e3e77fc1 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/6352e79d15aae30fac58f48e.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/6352e79d15aae30fac58f48e.md @@ -7,7 +7,7 @@ dashedName: step-24 # --description-- -Like you did with your `getMean` function, you need to add your `getMedian` function to your `calculate` logic. +Wie bei der `getMean`-Funktion musst du die `getMedian`-Funktion zu deiner `calculate`-Logik hinzufügen. Declare a variable `median` and assign it the value of `getMedian(numbers)`. Then, query the DOM for the `#median` element and set the `textContent` to `median`. diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/6352e93db104661305c5f658.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/6352e93db104661305c5f658.md index b876c50a5dd..3c7ff239f4a 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/6352e93db104661305c5f658.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/6352e93db104661305c5f658.md @@ -7,7 +7,7 @@ dashedName: step-26 # --description-- -In your new function, declare an empty `counts` object. You will use this to track the number of times each number appears in the list. +In your new function, declare an empty `counts` object. Damit kannst du verfolgen, wie oft jede Zahl in der Liste erscheint. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/6352ea3a5b79e614ee2282fd.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/6352ea3a5b79e614ee2282fd.md index b920dcd37b6..d23fff2cd1c 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/6352ea3a5b79e614ee2282fd.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/6352ea3a5b79e614ee2282fd.md @@ -7,11 +7,11 @@ dashedName: step-28 # --description-- -There are a few edge cases to account for when calculating the mode of a dataset. First, if every value appears the same number of times, there is no mode. +There are a few edge cases to account for when calculating the mode of a dataset. Zunächst einmal gibt es keinen Modus, wenn jeder Wert gleich oft auftaucht. -To calculate this, you will use a `Set`. A `Set` is a data structure that only allows unique values. If you pass an array into the `Set` constructor, it will remove any duplicate values. +Um dies zu berechnen wirst du `Set` verwenden. A `Set` is a data structure that only allows unique values. Wenn du ein Array an den `Set`-Konstruktor übergibst, werden alle doppelten Werte entfernt. -Start by creating an `if` statement. In the condition, create a `Set` with `new Set()` and pass it the `Object.values()` of your `counts` object. If the `size` property of this `Set` is equal to `1`, that tells you every value appears the same number of times. In this case, return `null` from your function. +Beginne damit, eine `if`-Anweisung zu erstellen. In der Bedingung erstellst du ein `Set` mit `new Set()` und übergibst ihm den `Object.values()` deines `counts`-Objekts. Wenn die `size`-Eigenschaft dieses `Set` gleich `1` ist, bedeutet das, dass jeder Wert gleich oft vorkommt. In diesem Fall gibst du in deiner Funktion `null` zurück. # --hints-- @@ -21,13 +21,13 @@ Deine `getMode`-Funktion sollte eine `if`-Anweisung enthalten. assert.match(getMode.toString(), /if\s*\(/); ``` -Your `if` statement should create a new `Set` and pass the `Object.values()` of your `counts` object. +Deine `if`-Anweisung sollte einen neuen `Set` erstellen und den `Object.values()` deines `counts`-Objekts übergeben. ```js assert.match(getMode.toString(), /if\s*\(\s*new\s+Set\s*\(\s*Object\.values\s*\(\s*counts\s*\)/); ``` -Your `if` statement should check if the `size` property of the new `Set` is equal to `1`. +Deine `if`-Anweisung sollte prüfen, ob die `size`-Eigenschaft des neuen `Set` gleich `1` ist. ```js assert.match(getMode.toString(), /if\s*\(\s*new\s+Set\s*\(\s*Object\.values\s*\(\s*counts\s*\)\s*\)\s*\.size\s*===\s*1/); diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/6352ebd3ab962c168a122e85.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/6352ebd3ab962c168a122e85.md index 3a4489cf259..c45b6464e9f 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/6352ebd3ab962c168a122e85.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/6352ebd3ab962c168a122e85.md @@ -25,7 +25,7 @@ Deine `getMode`-Funktion sollte die `Object.keys()`-Methode verwenden, um die Sc assert.match(getMode.toString(), /Object\.keys\(\s*counts\s*\)/); ``` -Your `getMode` function should use the `Object.keys()` method to get the keys of the `counts` object and assign them to the `highest` variable. +Deine `getMode`-Funktion sollte die `Object.keys()`-Methode verwenden, um die Schlüssel des `counts`-Objekts zu erhalten und sie der `highest`-Variablen zuzuweisen. ```js assert.match(getMode.toString(), /highest\s*=\s*Object\.keys\(\s*counts\s*\)/); diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/6352f179bdca23221298a5ba.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/6352f179bdca23221298a5ba.md index 0c6bdb90b1e..de6ead0cb67 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/6352f179bdca23221298a5ba.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/6352f179bdca23221298a5ba.md @@ -9,7 +9,7 @@ dashedName: step-35 Your next calculation is the range, which is the difference between the largest and smallest numbers in the list. -You previously learned about the global `Math` object. `Math` has a `.min()` method to get the smallest number from a series of numbers, and the `.max()` method to get the largest number. Here's an example that gets the smallest number from an array: +You previously learned about the global `Math` object. `Math` has a `.min()` method to get the smallest number from a series of numbers, and the `.max()` method to get the largest number. Hier ist ein Beispiel, bei dem die kleinste Zahl aus einem Array ermittelt wird: ```js Math.min(1, 9, 11, -3, 0.5); @@ -19,7 +19,7 @@ Declare a `getRange` function that takes the same `array` parameter you have bee # --hints-- -You should define a `getRange` function. +Du solltest eine `getRange`-Funktion definieren. ```js assert.isFunction(getRange); diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/6352fce75b2d3b2924930f1e.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/6352fce75b2d3b2924930f1e.md index 2343f30eeee..9be30327919 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/6352fce75b2d3b2924930f1e.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/6352fce75b2d3b2924930f1e.md @@ -7,7 +7,7 @@ dashedName: step-41 # --description-- -With two `.map()` calls and a `.reduce()` call, you're creating extra arrays and iterating more times than needed. You should move all of the logic into the `.reduce()` call to save time and memory. +Mit zwei `.map()`-Aufrufen und einem `.reduce()`-Aufruf erstellst du zusätzliche Arrays und iterierst häufiger als nötig. Du solltest die gesamte Logik in den `.reduce()`-Aufruf verschieben, um Zeit und Speicher zu sparen. Entferne die `differences`, `squaredDifferences` und `sumSquaredDifferences`-Variablen (und deren Werte). Deklariere eine `variance`-Variable und weise ihr den Wert von `array.reduce()` zu. For the callback, pass in your standard `acc` and `el` parameters, but leave the function body empty for now. Denke daran, den Ausgangswert auf `0` zu setzen. diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/6352ff27e0e51b2c7dce0010.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/6352ff27e0e51b2c7dce0010.md index 39b6a6de2d8..bd07dd7036f 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/6352ff27e0e51b2c7dce0010.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/6352ff27e0e51b2c7dce0010.md @@ -7,7 +7,7 @@ dashedName: step-44 # --description-- -Add your new `getVariance` function to the `calculate` function, and update the respective HTML element. +Füge deine neue `getVariance`-Funktion zur `calculate`-Funktion hinzu und aktualisiere das entsprechende HTML-Element. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/6352ffe4cfafa72d595a0007.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/6352ffe4cfafa72d595a0007.md index 95be50a86fb..b31881dec13 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/6352ffe4cfafa72d595a0007.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/6352ffe4cfafa72d595a0007.md @@ -9,7 +9,7 @@ dashedName: step-45 Your final calculation is the standard deviation, which is the square root of the variance. -Begin by declaring a `getStandardDeviation` function, with the `array` parameter. In the function body, declare a `variance` variable and assign it the variance of the `array`. +Beginne mit der Deklaration einer `getStandardDeviation`-Funktion, mit dem `array`-Paramter. Deklariere eine `variance`-Variable im Funktionskörper und weise ihr die Varianz des `array` zu. # --hints-- @@ -31,7 +31,7 @@ Deine `getStandardDeviation`-Funktion sollte eine `variance`-Variable enthalten. assert.match(getStandardDeviation.toString(), /variance\s*=/); ``` -Your `variance` variable should have the value of `getVariance(array)`. +Deine `variance`-Variable sollte den Wert von `getVariance(array)` haben. ```js assert.match(getStandardDeviation.toString(), /variance\s*=\s*getVariance\(\s*array\s*\)/); diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/6353004b235d7a2e0b913f2b.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/6353004b235d7a2e0b913f2b.md index 4500ca96d2c..aad5693605f 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/6353004b235d7a2e0b913f2b.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/6353004b235d7a2e0b913f2b.md @@ -31,7 +31,7 @@ Deine `standardDeviation`-Variable sollte die `variance`-Variable verwenden. assert.match(getStandardDeviation.toString(), /standardDeviation\s*=\s*Math\.pow\(\s*variance\s*,/); ``` -Your `standardDeviation` variable should use the `1/2` exponent. +Deine `standardDeviation`-Variable sollte den `1/2`-Exponenten verwenden. ```js assert.match(getStandardDeviation.toString(), /standardDeviation\s*=\s*Math\.pow\(\s*variance\s*,\s*1\s*\/\s*2\s*\)/); diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/6374249d3fbf2a5b079ba036.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/6374249d3fbf2a5b079ba036.md index 8f0c927619b..40ab4b7eaaf 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/6374249d3fbf2a5b079ba036.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-advanced-array-methods-by-building-a-statistics-calculator/6374249d3fbf2a5b079ba036.md @@ -7,7 +7,7 @@ dashedName: step-50 # --description-- -Es gibt noch eine letzte Sache, die zu beheben ist. The `.sort()` method mutates the array it's called on. It is generally bad practice to mutate a function argument, which `array` is. +Es gibt noch eine letzte Sache, die zu beheben ist. The `.sort()` method mutates the array it's called on. Allgemein ist es eine schlechte Vorgehensweise, ein Funktionsargument zu verändern, welches ein `array` ist. To fix this, add an empty `.slice()` call before your `.sort()` method. The empty `.slice()` call will make a shallow copy of the `array`, which you are free to mutate. diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-algorithmic-thinking-by-building-a-number-sorter/6410da6df463a606dfade96f.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-algorithmic-thinking-by-building-a-number-sorter/6410da6df463a606dfade96f.md index dfb3b4a9bc3..6403a7f6ca2 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-algorithmic-thinking-by-building-a-number-sorter/6410da6df463a606dfade96f.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-algorithmic-thinking-by-building-a-number-sorter/6410da6df463a606dfade96f.md @@ -7,7 +7,7 @@ dashedName: step-14 # --description-- -You'll need to iterate through the array. For simplicity, use a `for` loop to do so. +Du musst durch das Array iterieren. For simplicity, use a `for` loop to do so. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-algorithmic-thinking-by-building-a-number-sorter/6410dfb965c72108196ef24a.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-algorithmic-thinking-by-building-a-number-sorter/6410dfb965c72108196ef24a.md index e55a2fc23b3..544c17d85a0 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-algorithmic-thinking-by-building-a-number-sorter/6410dfb965c72108196ef24a.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-algorithmic-thinking-by-building-a-number-sorter/6410dfb965c72108196ef24a.md @@ -7,7 +7,7 @@ dashedName: step-15 # --description-- -Da du Elemente vergleichen musst, musst du eine eigebettete `for`-Schleife verwenden. This loop should iterate through every element in the array *except* the last one. Use `j` as your inner loop's iterator variable. +Da du Elemente vergleichen musst, musst du eine eigebettete `for`-Schleife verwenden. This loop should iterate through every element in the array *except* the last one. Verwende `j` als Iterator-Variable für die innere Schleife. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-algorithmic-thinking-by-building-a-number-sorter/6410e3c19c21cd09c32dc7c6.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-algorithmic-thinking-by-building-a-number-sorter/6410e3c19c21cd09c32dc7c6.md index 532b852f991..e1f097f231f 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-algorithmic-thinking-by-building-a-number-sorter/6410e3c19c21cd09c32dc7c6.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-algorithmic-thinking-by-building-a-number-sorter/6410e3c19c21cd09c32dc7c6.md @@ -7,7 +7,7 @@ dashedName: step-17 # --description-- -In your `sortInputArray()` function, declare a `sortedValues` variable. Assign it the value of calling `bubbleSort` with your `inputValues` array. +Deklariere in deiner `sortInputArray()`-Funktion eine `sortedValues`-Variable. Assign it the value of calling `bubbleSort` with your `inputValues` array. Then, update your `updateUI` call to take `sortedValues` as the parameter. diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-algorithmic-thinking-by-building-a-number-sorter/6410f149110ec60fd40fcfe1.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-algorithmic-thinking-by-building-a-number-sorter/6410f149110ec60fd40fcfe1.md index 76e7840da2b..467e1bcde06 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-algorithmic-thinking-by-building-a-number-sorter/6410f149110ec60fd40fcfe1.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-algorithmic-thinking-by-building-a-number-sorter/6410f149110ec60fd40fcfe1.md @@ -7,7 +7,7 @@ dashedName: step-22 # --description-- -Time to implement another sorting algorithm. This time, you'll be implementing a selection sort. Selection sort works by finding the smallest value in the array, then swapping it with the first value in the array. Then, it finds the next smallest value in the array, and swaps it with the second value in the array. It continues iterating through the array until it is completely sorted. +Time to implement another sorting algorithm. This time, you'll be implementing a selection sort. Selection sort works by finding the smallest value in the array, then swapping it with the first value in the array. Then, it finds the next smallest value in the array, and swaps it with the second value in the array. Er fährt fort, das Array zu iterieren, bis es vollständig sortiert ist. Start by declaring a `selectionSort` variable and assigning it an arrow function that takes an `array` parameter. diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3b3eab50e193608c19fc6.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3b3eab50e193608c19fc6.md index 2b29e1d08f0..a9ebbb40a1b 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3b3eab50e193608c19fc6.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3b3eab50e193608c19fc6.md @@ -7,7 +7,7 @@ dashedName: step-24 # --description-- -Using the `let` keyword, declare a variable called `fighting` but do not initialize it with a value. Denke daran, deine Zeile mit einem Semikolon zu beenden. +Mit dem `let`-Schlüsselwort deklarierst du eine Variable mit dem Namen `fighting`, initialisierst sie aber nicht mit einem Wert. Denke daran, deine Zeile mit einem Semikolon zu beenden. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8f2bc37675e77d5835235.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8f2bc37675e77d5835235.md index afda407d4e0..9797c9630c4 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8f2bc37675e77d5835235.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8f2bc37675e77d5835235.md @@ -7,7 +7,7 @@ dashedName: step-139 # --description-- -JavaScript has a conditional operator called the ternary operator. Dies kann als einzeiliger `if-else`-Ausdruck verwendet werden. Die Sytnax ist: `condition ? true : false`. +JavaScript hat einen bedingten Operator, der ternärer Operator genannt wird. Dies kann als einzeiliger `if-else`-Ausdruck verwendet werden. Die Sytnax ist: `condition ? true : false`. Hier ist ein Beispiel für einen `if-else`-Ausdruck, der in einen ternären Ausdruck umgewandelt wurde: diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa1eec891ed731db227a36.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa1eec891ed731db227a36.md index 69dcfa57f63..2535574a7e0 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa1eec891ed731db227a36.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa1eec891ed731db227a36.md @@ -25,13 +25,13 @@ Du solltest einen ternären Wert verwenden, um den `return` -Wert zu ändern, we assert.match(getMonsterAttackValue.toString(), /return\s+hit\s*>\s*0/); ``` -You should use a ternary to return `hit` if `hit` is greater than `0` +Du solltest einen ternären Wert verwenden, um `hit` zurückzugeben, wenn `hit` größer ist als `0` ```js assert.match(getMonsterAttackValue.toString(), /return\s+hit\s*>\s*0\s*\?\s*hit/); ``` -You should use a ternary to return `0` if `hit` is not greater than `0`. +Du solltest einen ternären Wert verwenden, der `0` zurückgibt, wenn `hit` nicht größer als `0` ist. ```js assert.match(getMonsterAttackValue.toString(), /return\s+hit\s*>\s*0\s*\?\s*hit\s*:\s*0/); diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa234322d4ad3e8bce42cc.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa234322d4ad3e8bce42cc.md index f0fd9c06fcb..a62035e2fb0 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa234322d4ad3e8bce42cc.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa234322d4ad3e8bce42cc.md @@ -7,9 +7,9 @@ dashedName: step-156 # --description-- -We don't want a player's only weapon to break. The logical AND operator checks if two statements are true. +Wir wollen nicht, dass die einzige Waffe eines Spielers kaputt geht. The logical AND operator checks if two statements are true. -Use the logical AND operator `&&` to add a second condition to your `if` statement. The player's weapon should only break if `inventory.length` does not equal (`!==`) one. +Use the logical AND operator `&&` to add a second condition to your `if` statement. Die Waffe des Spielers sollte nur kaputt gehen, wenn `inventory.length` ungleich (`!==`) eins ist. Hier ist ein Beispiel für eine `if`-Anweisung mit zwei Bedingungen: @@ -27,7 +27,7 @@ Du solltest deine bestehende `if`-Anweisung nicht ändern. assert.match(attack.toString(), /if\s*\(Math\.random\(\)\s*\<=\s*\.1/); ``` -You should use the logical AND operator `&&`. +Du solltest den logischen UND-Operator `&&` verwenden. ```js assert.match(attack.toString(), /if\s*\(Math\.random\(\)\s*\<=\s*\.1\s*&&/); diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa258da314ef42ba0a1858.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa258da314ef42ba0a1858.md index acf711236d9..213e23d6e04 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa258da314ef42ba0a1858.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa258da314ef42ba0a1858.md @@ -9,7 +9,7 @@ dashedName: step-159 Create two new functions named `pickTwo` and `pickEight`. -Inside each of those, call the `pick()` function and pass either `2` or `8` as the argument depending on the function name. +Rufe in jeder dieser Funktionen die `pick()`-Funktion auf und übergib je nach Funktionsname entweder `2` oder `8` als Argument. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa26cca3cd3d46c431e73b.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa26cca3cd3d46c431e73b.md index 77c9f1393c8..9a90896cd61 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa26cca3cd3d46c431e73b.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa26cca3cd3d46c431e73b.md @@ -7,11 +7,11 @@ dashedName: step-163 # --description-- -Inside your `while` loop, push a random number between 0 and 10 to the end of the `numbers` array. Du kannst diese Zufallszahl mit `Math.floor(Math.random() * 11)` erzeugen. +Schiebe innerhalb der `while`-Schleife eine Zufallszahl zwischen 0 und 10 an das Ende des `numbers`-Arrays. Du kannst diese Zufallszahl mit `Math.floor(Math.random() * 11)` erzeugen. # --hints-- -You should use the `push` method to add a random number to the end of the `numbers` array. +Du solltest die `push`-Methode verwenden, um eine Zufallszahl an das Ende des `numbers`-Bereichs anzuhängen. ```js assert.match(pick.toString(), /numbers\.push\(/); diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa27227399d647e1c37a3c.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa27227399d647e1c37a3c.md index b58a8544677..f8b8a58f536 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa27227399d647e1c37a3c.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa27227399d647e1c37a3c.md @@ -7,7 +7,7 @@ dashedName: step-164 # --description-- -After the `while` loop, set `text.innerText` to equal `You picked [guess]. Here are the random numbers:`. Replace `guess` with the player's guess. +After the `while` loop, set `text.innerText` to equal `You picked [guess]. Here are the random numbers:`. Ersetze `guess` durch die Vermutung des Spielers. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa28032d863d4bd8058799.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa28032d863d4bd8058799.md index 030a02468f2..eb98f845b89 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa28032d863d4bd8058799.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa28032d863d4bd8058799.md @@ -7,15 +7,15 @@ dashedName: step-167 # --description-- -`for` loops are declared with three expressions separated by semicolons. `for (a; b; c)`, where `a` is the initialization expression, `b` is the condition, and `c` is the final expression. +`for`-Schleifen werden mit drei durch Semikolon getrennten Ausdrücken deklariert. `for (a; b; c)`, where `a` is the initialization expression, `b` is the condition, and `c` is the final expression. -The initialization expression is executed only once, before the loop starts, and is often used to define and set up the loop variable. Think of it like declaring a counter to use in your loop. +Der Initialisierungsausdruck wird nur einmal ausgeführt, bevor die Schleife beginnt, und wird häufig zur Definition und Einrichtung der Schleifenvariablen verwendet. Think of it like declaring a counter to use in your loop. Many `for` loops use `i` as the counter and start from 0, so change `let x = 1;` to `let i = 0;`. # --hints-- -You should change your initialization in the `for` loop to be `let i = 0;`. +Du solltest deine Initialisierung in der `for` -Schleife so ändern, dass sie `let i = 0;` lautet. ```js assert.match(pick.toString(), /for\s*\(\s*(let|var)\s*i\s*=\s*0\s*;/) diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa28fb651bf14efa2dbb16.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa28fb651bf14efa2dbb16.md index 79fc720a71e..5330bc96833 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa28fb651bf14efa2dbb16.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa28fb651bf14efa2dbb16.md @@ -7,7 +7,7 @@ dashedName: step-170 # --description-- -Now you can write the logic to run in the loop. Inside your `for` loop, use the `+=` operator to add to the end of `text.innerText`. Add the number at index `i` of the `numbers` array, using `numbers[i]`. Then add a new line, using the escape sequence you used earlier. +Jetzt kannst du die Logik schreiben, die in der Schleife ablaufen soll. Inside your `for` loop, use the `+=` operator to add to the end of `text.innerText`. Add the number at index `i` of the `numbers` array, using `numbers[i]`. Füge dann eine neue Zeile ein, indem du die Escape-Sequenz verwendest, die du zuvor benutzt hast. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62ba17beef16c563069a65d8.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62ba17beef16c563069a65d8.md index f97b495e8e3..40f3437ed69 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62ba17beef16c563069a65d8.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62ba17beef16c563069a65d8.md @@ -7,7 +7,7 @@ dashedName: step-137 # --description-- -Füge dem `locations`-Bereich am Ende ein weiteres Objekt hinzu. Set the `name` property to `lose`, set `button text` to an array with three `REPLAY?` strings, set `button functions` to an array with three `restart` variables, and set `text` to `You die. ☠️`. You can copy that text to use the emote. +Füge dem `locations`-Bereich am Ende ein weiteres Objekt hinzu. Set the `name` property to `lose`, set `button text` to an array with three `REPLAY?` strings, set `button functions` to an array with three `restart` variables, and set `text` to `You die. ☠️`. Du kannst diesen Text kopieren, um das Emote zu verwenden. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ec14d1c216aa063f0be4af.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ec14d1c216aa063f0be4af.md index 78ef5bdfe8d..1d06b65e707 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ec14d1c216aa063f0be4af.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ec14d1c216aa063f0be4af.md @@ -9,9 +9,9 @@ dashedName: step-1 You will be building a shopping cart application. The HTML and CSS are already provided, but you will need to build the JavaScript to make the page interactive. -To start, you will need to get some of your elements from the DOM. Start by using `document.getElementById()` to get the`#cart-container`, `#products-container`, and `#dessert-card-container` elements. Store them in variables named `cartContainer`, `productsContainer`, and `dessertCards`, respectively. +Um zu beginnen, musst du einige deiner Elemente aus dem DOM holen. Beginne mit der Verwendung von `document.getElementById()` um die `#cart-container`-, `#products-container`-, und `#dessert-card-container`-Elemente zu erhalten. Speichere sie in Variablen namens `cartContainer`, `productsContainer` und `dessertCards`. -Since these will not change, remember to use `const` to declare them. +Da sich diese nicht ändern werden, denke daran, `const` zu verwenden, um sie zu deklarieren. # --hints-- @@ -21,7 +21,7 @@ You should use `document.getElementById()` to get the `#cart-container` element. assert.match(code, /document\.getElementById\(\s*('|"|`)cart-container\1\s*\)/); ``` -Du solltest das `#cart-container`-Element einer Variablen namens `cartContainer` zuweisen. Remember to use `const` to declare the variable. +Du solltest das `#cart-container`-Element einer Variablen namens `cartContainer` zuweisen. Denke daran, `const` zu verwenden, um die Variable zu deklarieren. ```js assert.match(code, /const\s+cartContainer\s*=\s*document\.getElementById\(\s*('|"|`)cart-container\1\s*\)/); @@ -33,7 +33,7 @@ You should use `document.getElementById()` to get the `#products-container` elem assert.match(code, /document\.getElementById\(\s*('|"|`)products-container\1\s*\)/); ``` -Du solltest das `#products-container`-Element einer Variablen namens `productsContainer` zuweisen. Remember to use `const` to declare the variable. +Du solltest das `#products-container`-Element einer Variablen namens `productsContainer` zuweisen. Denke daran, `const` zu verwenden, um die Variable zu deklarieren. ```js assert.match(code, /const\s+productsContainer\s*=\s*document\.getElementById\(\s*('|"|`)products-container\1\s*\)/); @@ -45,7 +45,7 @@ You should use `document.getElementById()` to get the `#dessert-card-container` assert.match(code, /document\.getElementById\(\s*('|"|`)dessert-card-container\1\s*\)/); ``` -Du solltest das `#dessert-card-container`-Element einer Variablen namens `dessertCards` zuweisen. Remember to use `const` to declare the variable. +Du solltest das `#dessert-card-container`-Element einer Variablen namens `dessertCards` zuweisen. Denke daran, `const` zu verwenden, um die Variable zu deklarieren. ```js assert.match(code, /const\s+dessertCards\s*=\s*document\.getElementById\(\s*('|"|`)dessert-card-container\1\s*\)/); diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ec19978a066607e23439f8.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ec19978a066607e23439f8.md index ccdd5fadaa8..d8ced4b2cd1 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ec19978a066607e23439f8.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ec19978a066607e23439f8.md @@ -7,7 +7,7 @@ dashedName: step-2 # --description-- -Now you need to get your two buttons. Continuing the pattern, get the `#cart-btn` and `#clear-cart-btn` elements. Store them in variables named `cartBtn` and `clearCartBtn`, respectively. +Now you need to get your two buttons. Weiter geht es mit den `#cart-btn`- und `#clear-cart-btn`-Elementen. Speichere sie in Variablen namens `cartBtn` und `clearCartBtn`. # --hints-- @@ -17,7 +17,7 @@ Du solltest `document.getElementById()` verwenden, um das `#cart-btn`-Element zu assert.match(code, /document\.getElementById\(\s*('|"|`)cart-btn\1\s*\)/); ``` -Du solltest das `#cart-btn`-Element einer Variablen namens `cartBtn` zuweisen. Remember to use `const` to declare the variable. +Du solltest das `#cart-btn`-Element einer Variablen namens `cartBtn` zuweisen. Denke daran, `const` zu verwenden, um die Variable zu deklarieren. ```js assert.match(code, /const\s+cartBtn\s*=\s*document\.getElementById\(\s*('|"|`)cart-btn\1\s*\)/); @@ -29,7 +29,7 @@ You should use `document.getElementById()` to get the `#clear-cart-btn` element. assert.match(code, /document\.getElementById\(\s*('|"|`)clear-cart-btn\1\s*\)/); ``` -Du solltest das `#clear-cart-btn`-Element einer Variablen namens `clearCartBtn` zuweisen. Remember to use `const` to declare the variable. +Du solltest das `#clear-cart-btn`-Element einer Variablen namens `clearCartBtn` zuweisen. Denke daran, `const` zu verwenden, um die Variable zu deklarieren. ```js assert.match(code, /const\s+clearCartBtn\s*=\s*document\.getElementById\(\s*('|"|`)clear-cart-btn\1\s*\)/); diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ec1a16f930b108b8a76806.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ec1a16f930b108b8a76806.md index 30a242b6f08..2c612b82e8d 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ec1a16f930b108b8a76806.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ec1a16f930b108b8a76806.md @@ -7,7 +7,7 @@ dashedName: step-3 # --description-- -Next is to get your totals. Get the `#total-items`, `#subtotal`, `#taxes`, and `#total` elements. Store them in variables named `totalNumberOfItems`, `cartSubTotal`, `cartTaxes`, and `cartTotal`, respectively. +Als Nächstes musst du deine Gesamtbeträge ermitteln. Get the `#total-items`, `#subtotal`, `#taxes`, and `#total` elements. Speichere sie in den Variablen namens `totalNumberOfItems`, `cartSubTotal`, `cartTaxes` und `cartTotal`. # --hints-- @@ -17,7 +17,7 @@ Du solltest `document.getElementById()` verwenden, um das `#total-items`-Element assert.match(code, /document\.getElementById\(\s*('|"|`)total-items\1\s*\)/); ``` -Du solltest das `#total-items`-Element einer Variablen namens `totalNumberOfItems` zuweisen. Remember to use `const` to declare the variable. +Du solltest das `#total-items`-Element einer Variablen namens `totalNumberOfItems` zuweisen. Denke daran, `const` zu verwenden, um die Variable zu deklarieren. ```js assert.match(code, /const\s+totalNumberOfItems\s*=\s*document\.getElementById\(\s*('|"|`)total-items\1\s*\)/); @@ -29,7 +29,7 @@ Du solltest `document.getElementById()` verwenden, um das `#subtotal`-Element zu assert.match(code, /document\.getElementById\(\s*('|"|`)subtotal\1\s*\)/); ``` -Du solltest das `#subtotal`-Element einer Variablen namens `cartSubTotal` zuweisen. Remember to use `const` to declare the variable. +Du solltest das `#subtotal`-Element einer Variablen namens `cartSubTotal` zuweisen. Denke daran, `const` zu verwenden, um die Variable zu deklarieren. ```js assert.match(code, /const\s+cartSubTotal\s*=\s*document\.getElementById\(\s*('|"|`)subtotal\1\s*\)/); @@ -41,7 +41,7 @@ Du solltest `document.getElementById()` verwenden, um das `#taxes`-Element zu er assert.match(code, /document\.getElementById\(\s*('|"|`)taxes\1\s*\)/); ``` -Du solltest das `#taxes`-Element einer Variablen namens `cartTaxes` zuweisen. Remember to use `const` to declare the variable. +Du solltest das `#taxes`-Element einer Variablen namens `cartTaxes` zuweisen. Denke daran, `const` zu verwenden, um die Variable zu deklarieren. ```js assert.match(code, /const\s+cartTaxes\s*=\s*document\.getElementById\(\s*('|"|`)taxes\1\s*\)/); @@ -53,7 +53,7 @@ Du solltest `document.getElementById()` verwenden, um das `#total`-Element zu er assert.match(code, /document\.getElementById\(\s*('|"|`)total\1\s*\)/); ``` -Du solltest das `#total`-Element einer Variablen namens `cartTotal` zuweisen. Remember to use `const` to declare the variable. +Du solltest das `#total`-Element einer Variablen namens `cartTotal` zuweisen. Denke daran, `const` zu verwenden, um die Variable zu deklarieren. ```js assert.match(code, /const\s+cartTotal\s*=\s*document\.getElementById\(\s*('|"|`)total\1\s*\)/); diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ec1bbf5584390a7d08d41f.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ec1bbf5584390a7d08d41f.md index 23fce86c482..859155f8373 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ec1bbf5584390a7d08d41f.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ec1bbf5584390a7d08d41f.md @@ -7,7 +7,7 @@ dashedName: step-4 # --description-- -The last element to get is the `#show-hide-cart` element. Store it in a variable named `showHideCartSpan`. +Das letzte Element, das abgerufen wird, ist das `#show-hide-cart`-Element. Speichere dieses dann in einer Variablen namens `showHideCartSpan`. Then, use `let` to declare a variable named `isCartShowing` and set it to `false`. @@ -19,7 +19,7 @@ Du solltest `document.getElementById()` verwenden, um das `#show-hide-cart`-Elem assert.match(code, /document\.getElementById\(\s*('|"|`)show-hide-cart\1\s*\)/); ``` -Du solltest das `#show-hide-cart`-Element einer Variablen namens `showHideCartSpan` zuweisen. Remember to use `const` to declare the variable. +Du solltest das `#show-hide-cart`-Element einer Variablen namens `showHideCartSpan` zuweisen. Denke daran, `const` zu verwenden, um die Variable zu deklarieren. ```js assert.match(code, /const\s+showHideCartSpan\s*=\s*document\.getElementById\(\s*('|"|`)show-hide-cart\1\s*\)/); diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ec1cb59f2a4c0be5b6dfa0.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ec1cb59f2a4c0be5b6dfa0.md index 1607ed4b8ab..a65e38fe769 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ec1cb59f2a4c0be5b6dfa0.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ec1cb59f2a4c0be5b6dfa0.md @@ -7,7 +7,7 @@ dashedName: step-5 # --description-- -A shopping cart does not serve much purpose without products. Declare a `products` variable and set it to an empty array. Using an array will allow you to store multiple products. +Ein Einkaufswagen erfüllt ohne Produkte kaum einen Zweck. Deklariere die `products`-Variable und setze sie auf ein leeres Array. Die Verwendung eines Arrays ermöglicht es dir, mehrere Produkte zu speichern. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ec20a06fff670d37befbd9.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ec20a06fff670d37befbd9.md index d016beb88ef..5e50d22e364 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ec20a06fff670d37befbd9.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ec20a06fff670d37befbd9.md @@ -7,9 +7,9 @@ dashedName: step-6 # --description-- -You now need to start adding products. Before you do that, you need to consider the structure of your product data. A product will need a unique identifier to distinguish it from other products, a price so people know how much it costs, and a name so people know what they are buying. Außerdem solltest du zu jedem Produkt eine Kategorie hinzufügen. +Jetzt musst du anfangen, Produkte hinzuzufügen. Bevor du das machst, musst du dir Gedanken über die Struktur deiner Produktdaten machen. A product will need a unique identifier to distinguish it from other products, a price so people know how much it costs, and a name so people know what they are buying. Außerdem solltest du zu jedem Produkt eine Kategorie hinzufügen. -Add an object to your `products` array. Give this object an `id` property set to the number `1`, a `name` property set to `Vanilla Cupcakes (6 Pack)`, a `price` property set to the number `12.99`, and a `category` property set to `Cupcake`. +Füge ein Objekt zu deinem `products`-Array hinzu. Gib diesem Objekt eine `id`-Eigenschaft auf die Zahl `1` gesetzt, eine `name`-Eigenschaft auf `Vanilla Cupcakes (6 Pack)` gesetzt, eine `price`-Eigenschaft auf die Zahl `12.99` und eine `category`-Eigenschaft auf `Cupcake` gesetzt. # --hints-- @@ -31,7 +31,7 @@ Dein Produkte-Array sollte ein Objekt mit einer `id`-Eigenschaft haben, die auf assert.equal(products[0].id, 1); ``` -Your products array should have an object with a `name` property set to `Vanilla Cupcakes (6 Pack)`. +Dein Produkte-Array sollte ein Objekt mit der `name`-Eigenschaft haben, die auf `Vanilla Cupcakes (6 Pack)` gesetzt ist. ```js assert.equal(products[0].name, 'Vanilla Cupcakes (6 Pack)'); @@ -43,7 +43,7 @@ Dein Produkte-Array sollte ein Objekt mit einer `price`-Eigenschaft haben, die a assert.equal(products[0].price, 12.99); ``` -Your products array should have an object with a `category` property set to `Cupcake`. +Dein Produkte-Array sollte ein Objekt mit der `category`-Eigenschaft haben, die auf `Cupcake` gesetzt ist. ```js assert.equal(products[0].category, 'Cupcake'); diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ec3427fc3e9214c9ed2a14.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ec3427fc3e9214c9ed2a14.md index 67d4274d468..d2b2a413327 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ec3427fc3e9214c9ed2a14.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ec3427fc3e9214c9ed2a14.md @@ -7,7 +7,7 @@ dashedName: step-8 # --description-- -Now that you have your list of products, you can use JavaScript to insert them into the HTML. With this approach, if you decide to add more products, the HTML will automatically reflect that. +Nun, da du deine Produktliste hast, kannst du JavaScript verwenden, um sie in den HTML-Code einzufügen. Mit diesem Ansatz wird der HTML-Code automatisch angepasst, wenn du dich entscheidest, weitere Produkte hinzuzufügen. Start by calling the `.forEach` method of your `products` array. Use arrow syntax to create an empty callback function. diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ec36f6133df7160be3ec66.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ec36f6133df7160be3ec66.md index 98222954681..21c2cf5ee55 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ec36f6133df7160be3ec66.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ec36f6133df7160be3ec66.md @@ -7,13 +7,13 @@ dashedName: step-9 # --description-- -Remember that you can use destructuring to extract multiple values from an array or object in a single statement. +Denke daran, dass du die Destrukturierung verwenden kannst, um mehrere Werte aus einem Array oder Objekt in einer einzigen Anweisung zu extrahieren. -For the first parameter of your callback function, destructure the `name`, `id`, `price`, and `category` properties from the object passed in. +Für den ersten Parameter deiner Callback-Funktion destrukturierst du die `name`-, `id`-, `price`- und `category`-Eigenschaften aus dem übergebenen Objekt. # --hints-- -Du solltest Destrukturierung verwenden, um die `name`-, `id`-, `price`- und die `category`-Parameter zu deklarieren. For this test, order matters. +Du solltest Destrukturierung verwenden, um die `name`-, `id`-, `price`- und die `category`-Parameter zu deklarieren. In diesem Test kommt es auf die Reihenfolge an. ```js assert.match(code, /\{\s*name\s*,\s*id\s*,\s*price\s*,\s*category\s*\}/); diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ec47b454495519739486a7.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ec47b454495519739486a7.md index 9be842aee6d..0eaa83d0610 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ec47b454495519739486a7.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ec47b454495519739486a7.md @@ -7,7 +7,7 @@ dashedName: step-10 # --description-- -You need to display the available products in your HTML. Start by using the addition assignment operator to add an empty template literal string to the `innerHTML` property of the `dessertCards` variable. +Du musst die verfügbaren Produkte in deinem HTML anzeigen. Start by using the addition assignment operator to add an empty template literal string to the `innerHTML` property of the `dessertCards` variable. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ee5d38a5d29d0696f8d820.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ee5d38a5d29d0696f8d820.md index a55d2cbfd76..8b6d5f30d65 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ee5d38a5d29d0696f8d820.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ee5d38a5d29d0696f8d820.md @@ -7,7 +7,7 @@ dashedName: step-11 # --description-- -In your template literal, create a `div` element with a class of `dessert-card`. In that `div`, create an `h2` element and give it the text of the `name` variable. +In your template literal, create a `div` element with a class of `dessert-card`. In diesem `div` erstellst du ein `h2`-Element und gibst ihm den Text der `name`-Variablen. # --hints-- @@ -17,7 +17,7 @@ You should create a `div` element. assert.isAtLeast(document.querySelectorAll('div')?.length, 12); ``` -Your `div` element should have a class of `dessert-card`. +Dein `div`-Element sollte eine Klasse von `dessert-card` haben. ```js assert.equal(document.querySelectorAll('.dessert-card')?.length, 12); diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ee5d8f9e7168076e932fe2.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ee5d8f9e7168076e932fe2.md index 062af73cb79..e50d1730941 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ee5d8f9e7168076e932fe2.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ee5d8f9e7168076e932fe2.md @@ -7,7 +7,7 @@ dashedName: step-12 # --description-- -After your `h2` element, create two `p` elements. Give the first a `class` of `dessert-price`, and the text of the `price` variable with a dollar sign in front of it. Give the second a `class` of `product-category`, and the text `Category:` followed by the value of the `category` variable. +After your `h2` element, create two `p` elements. Gib dem Ersten eine `class` von `dessert-price` und den Text der `price`-Variablen mit einem vorangestellten Dollarzeichen. Give the second a `class` of `product-category`, and the text `Category:` followed by the value of the `category` variable. # --hints-- @@ -32,13 +32,13 @@ Dein erstes `p`-Element sollte eine `class` auf `dessert-price` gesetzt haben. assert.equal(document.querySelector('.dessert-card')?.children[1].className, 'dessert-price'); ``` -Your first `p` element should have the text of the `price` variable with a dollar sign in front of it. +Dein erstes `p`-Element sollte den Text der `price`-Variablen mit einem vorangestellten Dollarzeichen enthalten. ```js assert.equal(document.querySelector('.dessert-card')?.children[1].textContent, '$12.99'); ``` -Your second `p` element should have a `class` of `product-category`. +Dein zweites `p`-Element sollte die `class` `product-category` haben. ```js assert.equal(document.querySelector('.dessert-card')?.children[2].className, 'product-category'); diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ee5e0f08e82208364c4128.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ee5e0f08e82208364c4128.md index 6c6bd7730a1..72f86ed35ef 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ee5e0f08e82208364c4128.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ee5e0f08e82208364c4128.md @@ -7,7 +7,7 @@ dashedName: step-13 # --description-- -Finally, after your `p` elements, create a `button` element. Give it an `id` set to the value of the `id` variable, a `class` of `btn add-to-cart-btn`, and use `Add to cart` for the text. +Abschließend erstellst du nach deinen `p`-Elementen ein `button`-Element. Give it an `id` set to the value of the `id` variable, a `class` of `btn add-to-cart-btn`, and use `Add to cart` for the text. # --hints-- @@ -30,7 +30,7 @@ Dein `-button`-Element sollte eine `id` auf den Wert der `id`-Variable gesetzt h assert.equal(document.querySelector('.dessert-card button')?.id, '1'); ``` -Your `button` element should have a `class` of `btn add-to-cart-btn`. +Dein `button`-Element sollte die `class` `btn add-to-cart-btn` haben. ```js assert.include(document.querySelector('.dessert-card button')?.className, 'btn'); diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ee5ea8be892e0955ab346c.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ee5ea8be892e0955ab346c.md index c6c2a98174e..08664c4366a 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ee5ea8be892e0955ab346c.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ee5ea8be892e0955ab346c.md @@ -9,13 +9,13 @@ dashedName: step-14 You are already familiar with an HTML `class`, but JavaScript also has a class. In JavaScript, a class is like a blueprint for creating objects. It allows you to define a set of properties and methods, and instantiate (or create) new objects with those properties and methods. -The `class` keyword is used to declare a class. Here is an example of declaring a `Computer` class: +Das `class`-Schlüsselwort wird verwendet, um eine Klasse zu deklarieren. Hier ist ein Beispiel für die Deklaration einer `Computer`-Klasse: ```js class Computer {}; ``` -Declare a `ShoppingCart` class. +Deklariere eine `ShoppingCart`-Klasse. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ee5fc113bcb20a5db9214b.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ee5fc113bcb20a5db9214b.md index 0a189258850..5e18bede669 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ee5fc113bcb20a5db9214b.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ee5fc113bcb20a5db9214b.md @@ -7,7 +7,7 @@ dashedName: step-15 # --description-- -Classes have a special `constructor` method, which is called when a new instance of the class is created. The `constructor` method is a great place to initialize properties of the class. Here is an example of a class with a `constructor` method: +Klassen haben eine besondere `constructor`-Methode, die aufgerufen wird, wenn eine neue Instanz der Klasse erstellt wird. The `constructor` method is a great place to initialize properties of the class. Hier ist ein Beispiel für eine Klasse mit einer `constructor`-Methode: ```js class Computer { @@ -16,7 +16,7 @@ class Computer { } ``` -Add an empty `constructor` method to the `ShoppingCart` class. +Füge eine leere `constructor`-Methode zur `ShoppingCart`-Klasse hinzu. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ee611d478dca0b77f6a393.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ee611d478dca0b77f6a393.md index 828a0c549ac..f3fb106faaf 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ee611d478dca0b77f6a393.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ee611d478dca0b77f6a393.md @@ -7,7 +7,7 @@ dashedName: step-16 # --description-- -The `this` keyword in JavaScript is used to refer to the current object. Depending on where `this` is used, what it references changes. In the case of a class, it refers to the instance of the object being constructed. You can use the `this` keyword to set the properties of the object being instantiated. Here is an example: +Das `this`-Schlüsselwort in JavaScript wird verwendet, um auf das aktuelle Objekt zu verweisen. Depending on where `this` is used, what it references changes. In the case of a class, it refers to the instance of the object being constructed. You can use the `this` keyword to set the properties of the object being instantiated. Here is an example: ```js class Computer { @@ -17,7 +17,7 @@ class Computer { } ``` -In your constructor, use the `this` keyword to set the `items` property to an empty array. Also, set the `total` property to `0`, and the `taxRate` property to `8.25`. +Verwende in deinem Konstruktor das `this`-Schlüsselwort, um die `items`-Eigenschaft auf ein leeres Array zu setzen. Setze ebenfalls die `total`-Eigenschaft auf `0` und die `taxRate`-Eigenschaft auf `8.25`. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ee7c664f9b65137d925c8a.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ee7c664f9b65137d925c8a.md index 06a3091a5b3..c542b5df202 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ee7c664f9b65137d925c8a.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63ee7c664f9b65137d925c8a.md @@ -7,7 +7,7 @@ dashedName: step-17 # --description-- -Your `ShoppingCart` class needs the ability to add items. Create an empty `addItem` method, which takes two parameters: `id` and `products`. Creating a method might look like this: +Your `ShoppingCart` class needs the ability to add items. Erstelle eine leere `addItem`-Methode, die zwei Parameter benötigt: `id` und `products`. So könnte die Erstellung einer Methode aussehen: ```js class Computer { @@ -21,7 +21,7 @@ class Computer { } ``` -The first parameter, `id`, is the `id` of the product the user has added to their cart. The second parameter, `products`, is an array of product objects. By using a parameter instead of directly referencing your existing `products` array, this method will be more flexible if you wanted to add additional product lists in the future. +Der erste Parameter, `id`, ist die `id` des Produkts, das der Nutzer in seinen Einkaufswagen gelegt hat. Der zweite Parameter, `products`, ist ein Array von Produktobjekten. By using a parameter instead of directly referencing your existing `products` array, this method will be more flexible if you wanted to add additional product lists in the future. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63eea5cea403a81a68ae493c.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63eea5cea403a81a68ae493c.md index ffae8b475d0..63ab5a56499 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63eea5cea403a81a68ae493c.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63eea5cea403a81a68ae493c.md @@ -7,7 +7,7 @@ dashedName: step-18 # --description-- -You need to find the product that the user is adding to the cart. Remember that arrays have a `.find()` method. In your `addItem` function, declare a `product` variable, and assign it the value of calling the `.find()` method on the `products` array. +Du musst das Produkt finden, das der Nutzer in den Einkaufswagen legt. Remember that arrays have a `.find()` method. Deklariere in deiner `addItem`-Funktion eine `product`-Variable und weise ihr den Wert des Aufrufs der `.find()`-Methode für das `products`-Array zu. For the callback to `.find()`, pass a function that takes a single parameter `item`, and returns whether the `id` property of `item` is strictly equal to the `id` parameter passed to `addItem`. diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63eea817673c8e1c22927fa6.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63eea817673c8e1c22927fa6.md index d303824fd5c..bd60baa3f40 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63eea817673c8e1c22927fa6.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63eea817673c8e1c22927fa6.md @@ -7,7 +7,7 @@ dashedName: step-19 # --description-- -Use `const` and destructuring to extract `name` and `price` variables from `product`. +Nutze `const` und die Destrukturierung, um die `name`- und `price`-Variablen aus `product` zu extrahieren. # --hints-- @@ -25,7 +25,7 @@ const afterAdd = code.split("addItem")[1]; assert.match(afterAdd, /const\s*\{\s*name\s*,\s*price\s*\}/); ``` -You should use destructuring to get the `name` and `price` variables from `product`. +Du solltest die Destrukturierung verwenden, um die `name`- und `price`-Variablen vom `product` zu erhalten. ```js const afterAdd = code.split("addItem")[1]; diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63eea8e1e143ae1d098c8c9d.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63eea8e1e143ae1d098c8c9d.md index dc9a55b420f..5ca79d5e6ae 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63eea8e1e143ae1d098c8c9d.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63eea8e1e143ae1d098c8c9d.md @@ -7,7 +7,7 @@ dashedName: step-20 # --description-- -Now you need to push the `product` into the cart's `items` array. Remember to use the `this` keyword. +Jetzt musst du das `product` in das `items`-Array des Einkaufswagens schieben. Denke daran, das `this`-Schlüsselwort zu verwenden. # --hints-- @@ -18,7 +18,7 @@ const cart = new ShoppingCart(); assert.match(cart.addItem.toString(), /items\.push\(/); ``` -Remember you need to use the `this` keyword to access the `items` array. +Denke daran, das `this`-Schlüsselwort zu verwenden, um auf das `items`-Array zuzugreifen. ```js const cart = new ShoppingCart(); diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63eeb8e86becbf1e75c2cb0d.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63eeb8e86becbf1e75c2cb0d.md index 47a21cb441c..6eaa28ab0b1 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63eeb8e86becbf1e75c2cb0d.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63eeb8e86becbf1e75c2cb0d.md @@ -7,7 +7,7 @@ dashedName: step-21 # --description-- -You now need a total count of each product that the user has in the cart. Declare a `totalCountPerProduct` variable, and assign it an empty object. +Du brauchst jetzt die Gesamtzahl aller Produkte, die der Nutzer im Einkaufswagen hat. Deklariere eine `totalCountPerProduct`-Variable und weise ihr ein leeres Objekt zu. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63eedebb0ec0231ff1cede1a.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63eedebb0ec0231ff1cede1a.md index 1b7c811116a..29345e2f381 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63eedebb0ec0231ff1cede1a.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63eedebb0ec0231ff1cede1a.md @@ -18,7 +18,7 @@ const cart = new ShoppingCart(); assert.match(cart.addItem.toString(), /items\.forEach\(/); ``` -Remember to use the `this` keyword to access the `items` array. +Denke daran, das `this`-Schlüsselwort zu verwenden, um auf das `items`-Array zuzugreifen. ```js const cart = new ShoppingCart(); diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63efdbc22a0c56070beabed7.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63efdbc22a0c56070beabed7.md index 886f55b869e..22cc2597fe4 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63efdbc22a0c56070beabed7.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63efdbc22a0c56070beabed7.md @@ -7,7 +7,7 @@ dashedName: step-23 # --description-- -In your `forEach` callback, you need to update the `totalCountPerProduct` object. Using the `id` of the current `dessert` as your property, update the value of the property to be the current value plus one. Do not use the addition assignment operator for this. +In deinem `forEach`-Callback musst du das `totalCountPerProduct`-Objekt aktualisieren. Verwende die `id` des aktuellen `dessert` als deine Eigenschaft und aktualisiere den Wert der Eigenschaft auf den aktuellen Wert plus eins. Do not use the addition assignment operator for this. # --hints-- @@ -18,7 +18,7 @@ const cart = new ShoppingCart(); assert.match(cart.addItem.toString(), /dessert\.id/); ``` -You should use bracket notation to access the property of `totalCountPerProduct` that corresponds to `dessert.id`. +Du solltest die Klammerschreibweise verwenden, um auf die Eigenschaft von `totalCountPerProduct` zuzugreifen, die der `dessert.id` entspricht. ```js const cart = new ShoppingCart(); @@ -32,7 +32,7 @@ const cart = new ShoppingCart(); assert.match(cart.addItem.toString(), /totalCountPerProduct\[\s*dessert\.id\s*\]\s*=/); ``` -You should update the value of `totalCountPerProduct` to be the current value plus one. +Du solltest den Wert von `totalCountPerProduct` auf den aktuellen Wert plus eins aktualisieren. ```js const cart = new ShoppingCart(); diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63eff02f00e69a0b2ac10b43.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63eff02f00e69a0b2ac10b43.md index a0ccd63fac6..a9936cf4028 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63eff02f00e69a0b2ac10b43.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63eff02f00e69a0b2ac10b43.md @@ -7,7 +7,7 @@ dashedName: step-25 # --description-- -Now you need to get prepared to update the display with the new product the user added. Declare a `currentProductCount` variable, and assign it the value of the `totalCountPerProduct` object's property matching the `id` of `product`. +Jetzt musst du dich darauf vorbereiten, die Anzeige mit dem neuen Produkt zu aktualisieren, das der Nutzer hinzugefügt hat. Declare a `currentProductCount` variable, and assign it the value of the `totalCountPerProduct` object's property matching the `id` of `product`. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63eff98ffb1d5a0d24ec79cb.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63eff98ffb1d5a0d24ec79cb.md index 3fdaa8780eb..e5cc9f2bf98 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63eff98ffb1d5a0d24ec79cb.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63eff98ffb1d5a0d24ec79cb.md @@ -11,7 +11,7 @@ You haven't written the code to generate the HTML yet, but if a product has alre Use `.getElementById()` to get the matching element - you'll be setting the `id` value to `product-count-for-id${product.id}`, so use a template literal to query that value. -Assign your query to a `currentProductCountSpan` variable. +Weise deine Query einer `currentProductCountSpan`-Variablen zu. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f0165121a9181342d5bc66.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f0165121a9181342d5bc66.md index 535cbba9c2c..b1137a212b3 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f0165121a9181342d5bc66.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f0165121a9181342d5bc66.md @@ -7,7 +7,7 @@ dashedName: step-28 # --description-- -For your truthy expression, removing the `undefined`, you need to update the `textContent` of the `currentProductCountSpan` to be the `currentProductCount` followed by an `x`. Use a template literal to do so. +Für deinen wahrheitsgemäßen Ausdruck, bei dem du den `undefined` entfernst, musst du den `textContent` des `currentProductCountSpan` so aktualisieren, dass er der `currentProductCount` gefolgt von einem `x` ist. Use a template literal to do so. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f017b4ad028a148eb713c0.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f017b4ad028a148eb713c0.md index 7a7667523b8..7a523d7bfaa 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f017b4ad028a148eb713c0.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f017b4ad028a148eb713c0.md @@ -18,7 +18,7 @@ const cart = new ShoppingCart(); assert.notMatch(cart.addItem.toString(), /undefined/); ``` -You should use the addition assignment operator to add HTML to the `productsContainer`. Remember that HTML goes in the `innerHTML` property. +You should use the addition assignment operator to add HTML to the `productsContainer`. Denke daran, dass HTML in die `innerHTML`-Eigenschaft gehört. ```js const cart = new ShoppingCart(); @@ -47,7 +47,7 @@ cart.addItem(1, products); assert.equal(productsContainer.children?.[0]?.className, "product"); ``` -Your `div` should have the `id` set to `dessert${id}`. +Dein `div` sollte die `id` auf `dessert${id}` gesetzt haben. ```js const cart = new ShoppingCart(); diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f018f04e487e164dc27bd9.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f018f04e487e164dc27bd9.md index 0e72184ac0a..e17688c50d2 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f018f04e487e164dc27bd9.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f018f04e487e164dc27bd9.md @@ -7,7 +7,7 @@ dashedName: step-31 # --description-- -In your first `p` element, add a `span` element. Give the `span` a class of `product-count` and an `id` of `product-count-for-id${id}`. Then, after the span, give your `p` element the text of the `name` variable. +Füge in dein erstes `p`-Element ein `span`-Element ein. Gib dem `span` eine Klasse von `product-count` und eine `id` von `product-count-for-id${id}`. Dann, nach der Span, gibst du deinem `p`-Element den Text der `name`-Variable. # --hints-- @@ -22,7 +22,7 @@ assert.equal(p.children.length, 1); assert.equal(p.children[0].tagName, 'SPAN'); ``` -Your `span` element should have a `class` of `product-count`. +Dein `span`-Element sollte die `class` `product-count` haben. ```js const cart = new ShoppingCart(); @@ -32,7 +32,7 @@ const p = div.querySelector('p'); assert.equal(p.children[0].className, 'product-count'); ``` -Your `span` element should have an `id` of `product-count-for-id${id}`. +Dein `span`-Element sollte die `id` `product-count-for-id${id}` haben. ```js const cart = new ShoppingCart(); diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f01c9791a0aa1751c73760.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f01c9791a0aa1751c73760.md index a7a3e21b308..63204342379 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f01c9791a0aa1751c73760.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f01c9791a0aa1751c73760.md @@ -7,13 +7,13 @@ dashedName: step-32 # --description-- -There is still more functionality that your `ShoppingCart` class needs, but first you need to be able to test the code you have currently written. You'll need to instantiate a new `ShoppingCart` object and assign it to a variable. Here is an example of instantiating the `Computer` class from earlier examples: +There is still more functionality that your `ShoppingCart` class needs, but first you need to be able to test the code you have currently written. Du musst ein neues `ShoppingCart`-Objekt instantiieren und es einer Variablen zuweisen. Hier ist ein Beispiel für die Instanziierung der `Computer`-Klasse aus früheren Beispielen: ```js const myComputer = new Computer(); ``` -Declare a `cart` variable, and assign it a new `ShoppingCart` object. Note the use of the `new` keyword when instantiating the object. +Deklariere eine `cart`-Variable, und weise ihr ein neues `ShoppingCart`-Objekt zu. Note the use of the `new` keyword when instantiating the object. # --hints-- @@ -23,7 +23,7 @@ You should use `const` to declare a `cart` variable. assert.match(code, /const\s+cart\s*=/); ``` -You should use the `new` keyword to instantiate a new `ShoppingCart` object. +Du solltest das `new`-Schlüsselwort verwenden, um ein neues `ShoppingCart`-Objekt zu instanziieren. ```js assert.match(code, /new\s+ShoppingCart\s*\(\s*\)/); diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f0224ceb16dc196d2c860a.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f0224ceb16dc196d2c860a.md index e8cf52a47eb..2ec0a681246 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f0224ceb16dc196d2c860a.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f0224ceb16dc196d2c860a.md @@ -7,7 +7,7 @@ dashedName: step-33 # --description-- -You need to get all of the `Add to cart` buttons that you added to the DOM earlier. Declare an `addToCartBtns` variable, and assign it the value of calling the `getElementsByClassName()` method on the `document` object, passing in the string `add-to-cart-btn`. +Du musst alle `Add to cart`-Buttons, die du zuvor zum DOM hinzugefügt hast, abrufen. Deklariere eine `addToCartBtns`-Variable und weise ihr den Wert des Aufrufs der `getElementsByClassName()`-Methode auf dem `document`-Objekt zu, indem du den String `add-to-cart-btn` übergibst. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f026d041bc6c1a3d5cba0f.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f026d041bc6c1a3d5cba0f.md index 22577fd3992..ea464dc0ee1 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f026d041bc6c1a3d5cba0f.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f026d041bc6c1a3d5cba0f.md @@ -9,7 +9,7 @@ dashedName: step-34 You need to iterate through the buttons in your `addToCartBtns` variable. However, `.getElementsByClassName()` returns a Collection, which does not have a `forEach` method. -Use the spread operator on the `addToCartBtns` variable to convert it into an array. Then, use the `forEach` method to iterate through the array. Do not pass a callback function yet. +Use the spread operator on the `addToCartBtns` variable to convert it into an array. Then, use the `forEach` method to iterate through the array. Übergib noch keine Callback-Funktion. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f0289df84a581bbdbd29b7.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f0289df84a581bbdbd29b7.md index b4762d86d92..a85ab621938 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f0289df84a581bbdbd29b7.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f0289df84a581bbdbd29b7.md @@ -9,7 +9,7 @@ dashedName: step-36 In your event listener callback, call the `.addItem()` method of your `cart` object, and pass in the `event.target.id`. Remember that the `id` here will be a string, so you need to convert it to a number. -Pass your `products` array as the second argument. +Übergib dein `products`-Array als zweites Argument. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f0295e673b661ccb299e8a.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f0295e673b661ccb299e8a.md index 067b8f0daad..bf3635877b5 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f0295e673b661ccb299e8a.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f0295e673b661ccb299e8a.md @@ -7,9 +7,9 @@ dashedName: step-41 # --description-- -You need a way to access the total number of items in the cart. The best way to do this is to add another method to your `ShoppingCart` class, rather than accessing the `items` array directly. +Du brauchst eine Lösung, um auf die Gesamtzahl der Artikel im Einkaufswagen zuzugreifen. Der beste Weg, dies zu tun, ist, eine weitere Methode zu deiner `ShoppingCart`-Klasse hinzuzufügen, anstatt direkt auf das `items`-Array zuzugreifen. -Add a `getCounts` method to the `ShoppingCart` class. Sie sollte die Anzahl der Elemente im `items`-Array zurückgeben. +Füge der `ShoppingCart`-Klasse eine `getCounts`-Methode hinzu. Sie sollte die Anzahl der Elemente im `items`-Array zurückgeben. # --hints-- @@ -19,7 +19,7 @@ Deine `ShoppingCart`-Klasse sollte eine `getCounts`-Methode haben. assert.isFunction(cart.getCounts); ``` -Remember to use the `this` keyword to access the `items` array. +Denke daran, das `this`-Schlüsselwort zu verwenden, um auf das `items`-Array zuzugreifen. ```js const afterCounts = code.split('getCounts')[1]; diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f029b96b9e9e1df93be951.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f029b96b9e9e1df93be951.md index 3986d439d41..d77ed6fa27a 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f029b96b9e9e1df93be951.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f029b96b9e9e1df93be951.md @@ -7,7 +7,7 @@ dashedName: step-42 # --description-- -Now you can update the total number of items on the webpage. Assign the value of your `cart` object's `.getCounts()` method to the `textContent` of the `totalNumberOfItems` variable. +Jetzt kannst du die Gesamtzahl der Artikel auf der Website aktualisieren. Weise den Wert der `.getCounts()`-Methode deines `cart`-Objekts dem `textContent` der `totalNumberOfItems`-Variable zu. # --hints-- @@ -17,7 +17,7 @@ Greife auf die `textContent`-Eigenschaft der `totalNumberOfItems`-Variablen zu. assert.match(code, /totalNumberOfItems\s*\.\s*textContent/) ``` -You should assign the value of your `cart` object's `.getCounts()` method to the `textContent` property of the `totalNumberOfItems` variable. +Der Wert der `.getCounts()`-Methode deines `cart`-Objekts sollte der `textContent`-Eigenschaft der `totalNumberOfItems`-Variablen zugewiesen werden. ```js assert.match(code, /totalNumberOfItems\s*\.\s*textContent\s*=\s*cart\s*\.\s*getCounts\(\s*\)/) diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f02a4ef92d711ec1ff618c.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f02a4ef92d711ec1ff618c.md index 4a9c097a32f..5b4a837b8a4 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f02a4ef92d711ec1ff618c.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f02a4ef92d711ec1ff618c.md @@ -7,11 +7,11 @@ dashedName: step-43 # --description-- -You also need to update the total price of the cart when the user adds an item. Create a `calculateTotal` method in the `ShoppingCart` class. +Außerdem musst du den Gesamtpreis des Einkaufswagens aktualisieren, wenn der Nutzer einen Artikel hinzufügt. Erstelle eine `calculateTotal`-Methode in der `ShoppingCart`-Klasse. -In that method, declare a `subTotal` variable and use the `reduce` method on the `items` array to calculate the sum of the `price` property of each item in the array. Use `total` and `item` as the parameters for your callback. +In that method, declare a `subTotal` variable and use the `reduce` method on the `items` array to calculate the sum of the `price` property of each item in the array. Verwende `total` und `item` als Parameter für deinen Callback. -Remember to set your initial value in the `reduce` method. +Denke daran, deinen Anfangswert in der `reduce`-Methode festzulegen. # --hints-- @@ -42,7 +42,7 @@ const afterCalculateTotal = code.split('calculateTotal')[1]; assert.match(afterCalculateTotal, /\(\s*total\s*,\s*item\s*\)\s*=>/); ``` -Your `reduce` callback should return the sum of `total` and `item.price`. Use an implicit return. +Your `reduce` callback should return the sum of `total` and `item.price`. Verwende eine implizite Rückgabe. ```js const afterCalculateTotal = code.split('calculateTotal')[1]; diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f02b22cce1c11fe9604381.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f02b22cce1c11fe9604381.md index 47b70d9a748..c1d890611fa 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f02b22cce1c11fe9604381.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f02b22cce1c11fe9604381.md @@ -7,7 +7,7 @@ dashedName: step-44 # --description-- -Part of the total cost will include the tax, so you need to calculate that as well. Create a `calculateTaxes` method in the `ShoppingCart` class. This method should take an `amount` parameter. +Part of the total cost will include the tax, so you need to calculate that as well. Erstelle eine `calculateTaxes`-Methode in der `ShoppingCart`-Klasse. This method should take an `amount` parameter. # --hints-- @@ -17,7 +17,7 @@ Du solltest eine `calculateTaxes`-Methode in der `ShoppingCart`-Klasse erstellen assert.isFunction(cart.calculateTaxes); ``` -Your `calculateTaxes` method should take an `amount` parameter. +Deine `calculateTaxes`-Methode sollte einen `amount`-Parameter verwenden. ```js assert.match(cart.calculateTaxes.toString(), /\(\s*amount\s*\)/); diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f02bdeb9b428208b97eb6b.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f02bdeb9b428208b97eb6b.md index 62cc724976b..a0b97a9aa4f 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f02bdeb9b428208b97eb6b.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f02bdeb9b428208b97eb6b.md @@ -13,7 +13,7 @@ For clarity, wrap the `taxRate / 100` calculation in parentheses. # --hints-- -Du solltest die `taxRate` in deiner `calculateTaxes`-Methode durch 100 teilen. Remember to use the `this` keyword. +Du solltest die `taxRate` in deiner `calculateTaxes`-Methode durch 100 teilen. Denke daran, das `this`-Schlüsselwort zu verwenden. ```js const afterCalculateTaxes = code.split('calculateTaxes')[1]; @@ -27,14 +27,14 @@ const afterCalculateTaxes = code.split('calculateTaxes')[1]; assert.match(afterCalculateTaxes, /\(\s*this\s*\.\s*taxRate\s*\/\s*100\s*\)/); ``` -You should multiply the `amount` parameter by the `taxRate` divided by 100 in your `calculateTaxes` method. +Du solltest den `amount`-Parameter mit `taxRate`, geteilt durch 100 in deiner `calculateTaxes`-Methode multiplizieren. ```js const afterCalculateTaxes = code.split('calculateTaxes')[1]; assert.match(afterCalculateTaxes, /amount\s*\*\s*\(\s*this\s*\.\s*taxRate\s*\/\s*100\s*\)|\(\s*this\s*\.\s*taxRate\s*\/\s*100\s*\)\s*\*\s*amount/); ``` -Your `calculateTaxes` method should return the value of the `taxRate` (divided by 100, to convert it to a percent) multiplied by the `amount` parameter. +Deine `calculateTaxes`-Methode sollte den Wert von `taxRate` zurückgeben (geteilt durch 100, um ihn in eine Prozentzahl umzuwandeln), multipliziert mit dem `amount`-Parameter. ```js console.log(cart.calculateTaxes(10), (cart.taxRate / 100) * 10); diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f02c6e18773921ba50aa53.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f02c6e18773921ba50aa53.md index 9bd6a68d504..8581346a8d1 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f02c6e18773921ba50aa53.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f02c6e18773921ba50aa53.md @@ -7,9 +7,9 @@ dashedName: step-46 # --description-- -Because of the way computers store and work with numbers, calculations involving decimal numbers can result in some strange behavior. For example, `0.1 + 0.2` is not equal to `0.3`. This is because computers store decimal numbers as binary fractions, and some binary fractions cannot be represented exactly as decimal fractions. +Because of the way computers store and work with numbers, calculations involving decimal numbers can result in some strange behavior. Zum Beispiel ist `0.1 + 0.2` nicht gleich `0.3`. This is because computers store decimal numbers as binary fractions, and some binary fractions cannot be represented exactly as decimal fractions. -We want to clean up the number result from your calculation. Wrap your calculation in parentheses (don't include the `return` statement!) and call the `.toFixed()` method on it. Pass the `.toFixed()` method the number `2` as an argument. This will round the number to two decimal places and return a string. +We want to clean up the number result from your calculation. Wrap your calculation in parentheses (don't include the `return` statement!) and call the `.toFixed()` method on it. Übergib der `.toFixed()`-Methode die Zahl `2` als Argument. Dies rundet die Zahl auf zwei Dezimalstellen ab und gibt einen String zurück. # --hints-- @@ -20,7 +20,7 @@ const afterCalculateTaxes = code.split('calculateTaxes')[1]; assert.match(afterCalculateTaxes, /return\s*\(\s*\(\s*this\s*\.\s*taxRate\s*\/\s*100\s*\)\s*\*\s*amount\s*\)/) ``` -You should call the `.toFixed()` method on your calculation. +Du solltest die `.toFixed()`-Methode für deine Berechnung aufrufen. ```js const afterCalculateTaxes = code.split('calculateTaxes')[1]; diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f0311f5ea9382388d6124f.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f0311f5ea9382388d6124f.md index c91482e0904..3b3d9848e6f 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f0311f5ea9382388d6124f.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f0311f5ea9382388d6124f.md @@ -7,9 +7,9 @@ dashedName: step-47 # --description-- -The issue with `.toFixed()` returning a string is that you want to be able to perform calculations with the tax rate. To fix this, you can pass the `.toFixed()` call (including the calculation) to the `parseFloat()` function. This will convert the fixed string back into a number, preserving the existing decimal places. +The issue with `.toFixed()` returning a string is that you want to be able to perform calculations with the tax rate. Um dies zu beheben, kannst du den `.toFixed()`-Aufruf (einschließlich der Berechnung) an die `parseFloat()`-Funktion übergeben. This will convert the fixed string back into a number, preserving the existing decimal places. -Pass your `.toFixed()` call to `parseFloat()`. +Übergib deinen `.toFixed()`-Aufruf an `parseFloat()`. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f033fdb1fbcc254999fcc3.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f033fdb1fbcc254999fcc3.md index 98c1db86f13..5bff2cf7af9 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f033fdb1fbcc254999fcc3.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f033fdb1fbcc254999fcc3.md @@ -7,7 +7,7 @@ dashedName: step-37 # --description-- -Your cart currently isn't visible on the webpage. To make it visible, start by adding an event listener to the `cartBtn` variable, listening for the click event. The callback does not need any parameters. +Dein Einkaufswagen ist derzeit nicht auf der Website sichtbar. To make it visible, start by adding an event listener to the `cartBtn` variable, listening for the click event. Der Callback benötigt keine Parameter. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f0348a54a177272071a595.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f0348a54a177272071a595.md index 4b4a3d2b227..d09a7599c63 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f0348a54a177272071a595.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f0348a54a177272071a595.md @@ -23,7 +23,7 @@ You should use ternary syntax to check if `isCartShowing` is true. assert.match(code, /showHideCartSpan\s*\.\s*textContent\s*=\s*isCartShowing\s*\?\s*/) ``` -You should set the `textContent` of the `showHideCartSpan` variable to `Hide` if `isCartShowing` is true. +Du solltest den `textContent` der `showHideCartSpan`-Variable auf `Hide` setzen, wenn `isCartShowing` wahr (true) ist. ```js assert.match(code, /showHideCartSpan\s*\.\s*textContent\s*=\s*isCartShowing\s*\?\s*('|"|`)Hide\1\s*:\s*/) diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f036ec91fdf238c90665f5.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f036ec91fdf238c90665f5.md index 917f6db1f21..5a827b37edb 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f036ec91fdf238c90665f5.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f036ec91fdf238c90665f5.md @@ -11,13 +11,13 @@ Update the `total` value to be the sum of the `subTotal` and `tax` values. # --hints-- -Du solltest den `total`-Wert aktualisieren. Remember to use the `this` keyword. +Du solltest den `total`-Wert aktualisieren. Denke daran, das `this`-Schlüsselwort zu verwenden. ```js assert.match(cart.calculateTotal.toString(), /this\.total/); ``` -You should set the `total` value to be the sum of the `subTotal` and `tax` values. +Du solltest den `total`-Wert so einstellen, dass er die Summe der `subTotal`- und `tax`-Werte ergibt. ```js assert.match(cart.calculateTotal.toString(), /this\.total\s*=\s*(subTotal\s*\+\s*tax|tax\s*\+\s*subTotal)/); diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f0374d5351223a747c301d.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f0374d5351223a747c301d.md index 1860203c1ed..2d705d15d47 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f0374d5351223a747c301d.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f0374d5351223a747c301d.md @@ -7,7 +7,7 @@ dashedName: step-51 # --description-- -Following the same pattern as your `cartSubTotal`, update the `cartTaxes` to display the `tax` value, and your `cartTotal` to display the `total` property. +Nach dem gleichen Muster wie bei `cartSubTotal` aktualisierst du `cartTaxes`, um den `tax`-Wert anzuzeigen, und `cartTotal`, um die `total`-Eigenschaft anzuzeigen. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f038a0ae041d3c5b0cdf23.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f038a0ae041d3c5b0cdf23.md index 4fa5c1649d5..7abc58b824a 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f038a0ae041d3c5b0cdf23.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f038a0ae041d3c5b0cdf23.md @@ -7,11 +7,11 @@ dashedName: step-54 # --description-- -Your last feature is to allow users to clear their cart. Add a `clearCart()` method to your `ShoppingCart` class. +Die letzte Funktion besteht darin, dass die Nutzer ihren Einkaufswagen leeren können. Füge eine `clearCart()`-Methode zu deiner `ShoppingCart`-Klasse hinzu. # --hints-- -Your `ShoppingCart` class should have a `clearCart` method. +Deine `ShoppingCart`-Klasse sollte über eine `clearCart`-Methode verfügen. ```js assert.isFunction(cart.clearCart); diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f038e671d3f73d5a041973.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f038e671d3f73d5a041973.md index c9a927d84d3..7a4cd3cae13 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f038e671d3f73d5a041973.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f038e671d3f73d5a041973.md @@ -7,11 +7,11 @@ dashedName: step-55 # --description-- -Als erstes solltest du überprüfen, ob das `items`-Array leer ist. If it is, display an `alert` to the user with the text `Your shopping cart is already empty`, then return from the function. +Als erstes solltest du überprüfen, ob das `items`-Array leer ist. Wenn dies der Fall ist, wird dem Nutzer ein `alert` mit dem Text `Your shopping cart is already empty` angezeigt, und die Funktion wird beendet. Remember that `0` is a falsy value, so you can use the `!` operator to check if the array is empty. -After displaying the alert, return from the function to stop execution. +Nachdem die Meldung angezeigt wurde, verlasse die Funktion, um die Ausführung zu beenden. # --hints-- @@ -27,7 +27,7 @@ Deine `if`-Anweisung sollte dem Nutzer einen `alert` mit dem Text `Your shopping assert.match(cart.clearCart.toString(), /if\s*\(\s*!\s*this\s*\.\s*items\s*\.\s*length\s*\)\s*\{\s*alert\s*\(\s*('|"|`)Your shopping cart is already empty\1\s*\)\s*/); ``` -Your `if` statement should return from the function. +Deine `if`-Anweisung sollte von der Funktion zurückkehren. ```js assert.match(cart.clearCart.toString(), /if\s*\(\s*!\s*this\s*\.\s*items\s*\.\s*length\s*\)\s*\{\s*alert\s*\(\s*('|"|`)Your shopping cart is already empty\1\s*\)\s*;?\s*return\s*;?\s*\}/); diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f039dbcef7673e4e758fa3.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f039dbcef7673e4e758fa3.md index 2f679af5b7b..2d0e85e4d5d 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f039dbcef7673e4e758fa3.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f039dbcef7673e4e758fa3.md @@ -7,9 +7,9 @@ dashedName: step-56 # --description-- -Browsers have a built-in `confirm()` function which displays a confirmation prompt to the user. `confirm()` accepts a string, which is the message displayed to the user. It returns `true` if the user confirms, and `false` if the user cancels. +Browser haben eine eingebaute `confirm()`-Funktion, die dem Nutzer eine Sicherheitsabfrage anzeigt. `confirm()` akzeptiert einen String, das ist die Nachricht, die dem Nutzer angezeigt wird. It returns `true` if the user confirms, and `false` if the user cancels. -Declare a variable `isCartCleared` and assign it the value of calling `confirm()` with the string `"Are you sure you want to clear all items from your shopping cart?"`. +Deklariere eine Variable `isCartCleared` und weise ihr den Wert des Aufrufs `confirm()` mit dem String `"Are you sure you want to clear all items from your shopping cart?"` zu. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f03a7143a6ef3f7f3344f0.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f03a7143a6ef3f7f3344f0.md index dd448052cbd..d8082170cad 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f03a7143a6ef3f7f3344f0.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f03a7143a6ef3f7f3344f0.md @@ -7,13 +7,13 @@ dashedName: step-57 # --description-- -You only want to clear the cart if the user confirms the prompt. Create an `if` statement that checks if the user confirmed the prompt. +Du möchtest den Einkaufswagen nur leeren, wenn der Nutzer die Aufforderung bestätigt. Create an `if` statement that checks if the user confirmed the prompt. -In the `if` statement, set the `items` property back to an empty array, then set the `total` property to `0`. +In der `if`-Anweisung setzt du die `items`-Eigenschaft zurück auf ein leeres Array, danach setzt du die `total`-Eigenschaft auf `0`. # --hints-- -You should create an `if` statement that checks if the user confirmed the prompt. Remember that you can check the truthiness of `isCartCleared` directly. +You should create an `if` statement that checks if the user confirmed the prompt. Denke daran, dass du den Wahrheitsgehalt von `isCartCleared` direkt überprüfen kannst. ```js assert.match(cart.clearCart.toString(), /if\s*\(\s*isCartCleared\s*\)/); diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f03ac2b428b2404a5a7518.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f03ac2b428b2404a5a7518.md index 90e7c62a47a..cbf4f40f322 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f03ac2b428b2404a5a7518.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f03ac2b428b2404a5a7518.md @@ -11,7 +11,7 @@ You also need to start clearing the HTML. Set the `innerHTML` property of the `p # --hints-- -In your `if` statement, you should set the `innerHTML` property of the `productsContainer` back to an empty string. +In deiner `if`-Anweisung solltest du die `innerHTML`-Eigenschaft des `productsContainer` auf einen leeren String zurücksetzen. ```js assert.match(cart.clearCart.toString(), /if\s*\(\s*isCartCleared\s*\)\s*{\s*this\s*\.\s*items\s*=\s*\[\s*\]\s*;?\s*this\s*\.\s*total\s*=\s*0\s*;?\s*productsContainer\.innerHTML\s*=\s*('|"|`)\1\s*;?\s*}/); diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f03af535682e4138fdb915.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f03af535682e4138fdb915.md index 4e921a5f2d3..5e6f39883ae 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f03af535682e4138fdb915.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f03af535682e4138fdb915.md @@ -7,7 +7,7 @@ dashedName: step-59 # --description-- -Set the `textContent` of the `totalNumberOfItems`, `cartSubTotal`, `cartTaxes`, and `cartTotal` elements all to the number `0`. +Setze den `textContent` der Elemente `totalNumberOfItems`, `cartSubTotal`, `cartTaxes` und `cartTotal` alle auf die Zahl `0`. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f03b1ed5ab15420c057463.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f03b1ed5ab15420c057463.md index fe207ee6626..a7096bf6b07 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f03b1ed5ab15420c057463.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-data-structures-by-building-a-shopping-cart/63f03b1ed5ab15420c057463.md @@ -7,13 +7,13 @@ dashedName: step-60 # --description-- -Your final step is to make your clear button functional. Add a `click` event listener to the `clearCartBtn`. For the callback, you can pass in `cart.clearCart` directly. +Your final step is to make your clear button functional. Add a `click` event listener to the `clearCartBtn`. Für den Callback kannst du `cart.clearCart` direkt übergeben. -However, doing so will not work, because the context of `this` will be the `clearCartBtn` element. You need to bind the `clearCart` method to the `cart` object. +However, doing so will not work, because the context of `this` will be the `clearCartBtn` element. Du musst die `clearCart`-Methode an das `cart`-Objekt binden. -You can do this by passing `cart.clearCart.bind(cart)` as the callback. +Dies ist möglich, indem du `cart.clearCart.bind(cart)` als Callback übergibst. -And with that, your shopping cart project is complete! +Und damit ist dein Einkaufswagen-Projekt abgeschlossen! # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-fetch-and-promises-by-building-an-fcc-authors-page/641da3c6b6fbd742bff6ee40.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-fetch-and-promises-by-building-an-fcc-authors-page/641da3c6b6fbd742bff6ee40.md index 293abeedd3c..1f54d573f91 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-fetch-and-promises-by-building-an-fcc-authors-page/641da3c6b6fbd742bff6ee40.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-fetch-and-promises-by-building-an-fcc-authors-page/641da3c6b6fbd742bff6ee40.md @@ -7,7 +7,7 @@ dashedName: step-2 # --description-- -The Fetch API is a built-in JavaScript interface to make network requests to a server. It has a `fetch()` method you can use to make `GET`, `POST`, `PUT`, or `PATCH` requests. In this project, you'll make a `GET` request to a URL for a JSON file with information about authors on freeCodeCamp News. +The Fetch API is a built-in JavaScript interface to make network requests to a server. Sie verfügt über eine `fetch()`-Methode, mit der du `GET`-, `POST`-, `PUT`- oder `PATCH`-Anfragen stellen kannst. In diesem Projekt wirst du eine `GET`-Anfrage an eine URL für eine JSON-Datei mit Informationen über Autoren auf freeCodeCamp-News stellen. Here is how you can make a `GET` request with the `fetch()` method: diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-fetch-and-promises-by-building-an-fcc-authors-page/641da42481d90c4314c99e94.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-fetch-and-promises-by-building-an-fcc-authors-page/641da42481d90c4314c99e94.md index 5305da332ca..16a0aae8428 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-fetch-and-promises-by-building-an-fcc-authors-page/641da42481d90c4314c99e94.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-fetch-and-promises-by-building-an-fcc-authors-page/641da42481d90c4314c99e94.md @@ -18,9 +18,9 @@ fetch("sample-url-goes-here") .then((res) => res) ``` -Chain the `.then()` method to your `fetch` call. Inside the `.then()` method, add a callback function with `res` as a parameter, then log the `res` to the console so you can see the `Response` object. Open your console and expand the `Response` object to see what it contains. +Chain the `.then()` method to your `fetch` call. Inside the `.then()` method, add a callback function with `res` as a parameter, then log the `res` to the console so you can see the `Response` object. Öffne deine Konsole und erweitere das `Response`-Objekt, um zu sehen, was es enthält. -Again, don't terminate the code with a semi-colon yet. +Nochmals: Beende den Code noch nicht mit einem Semikolon. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-fetch-and-promises-by-building-an-fcc-authors-page/641da615af82bf454215a992.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-fetch-and-promises-by-building-an-fcc-authors-page/641da615af82bf454215a992.md index 117068a5d38..63b966f84ec 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-fetch-and-promises-by-building-an-fcc-authors-page/641da615af82bf454215a992.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-fetch-and-promises-by-building-an-fcc-authors-page/641da615af82bf454215a992.md @@ -13,7 +13,7 @@ For the second parameter, pass in `index`. This will represent the position of e # --hints-- -You should destructure `author`, `image`, `url`, and `bio` as the first parameter of your callback function. Don't forget to put them inside curly braces. +Du solltest `author`, `image`, `url` und `bio` als ersten Parameter deiner Callback-Funktion destrukturieren. Don't forget to put them inside curly braces. ```js assert.match(code, /authors\.forEach\(\s*\(\s*\{\s*(?:author\s*,\s*image\s*,\s*url\s*,\s*bio)|(?:image\s*,\s*author\s*,\s*url\s*,\s*bio)|(?:url\s*,\s*author\s*,\s*image\s*,\s*bio)|(?:author\s*,\s*url\s*,\s*image\s*,\s*bio)|(?:image\s*,\s*url\s*,\s*author\s*,\s*bio)|(?:url\s*,\s*image\s*,\s*author\s*,\s*bio)|(?:url\s*,\s*image\s*,\s*bio\s*,\s*author)|(?:image\s*,\s*url\s*,\s*bio\s*,\s*author)|(?:bio\s*,\s*url\s*,\s*image\s*,\s*author)|(?:url\s*,\s*bio\s*,\s*image\s*,\s*author)|(?:image\s*,\s*bio\s*,\s*url\s*,\s*author)|(?:bio\s*,\s*image\s*,\s*url\s*,\s*author)|(?:bio\s*,\s*author\s*,\s*url\s*,\s*image)|(?:author\s*,\s*bio\s*,\s*url\s*,\s*image)|(?:url\s*,\s*bio\s*,\s*author\s*,\s*image)|(?:bio\s*,\s*url\s*,\s*author\s*,\s*image)|(?:author\s*,\s*url\s*,\s*bio\s*,\s*image)|(?:url\s*,\s*author\s*,\s*bio\s*,\s*image)|(?:image\s*,\s*author\s*,\s*bio\s*,\s*url)|(?:author\s*,\s*image\s*,\s*bio\s*,\s*url)|(?:bio\s*,\s*image\s*,\s*author\s*,\s*url)|(?:image\s*,\s*bio\s*,\s*author\s*,\s*url)|(?:author\s*,\s*bio\s*,\s*image\s*,\s*url)|(?:bio\s*,\s*author\s*,\s*image\s*,\s*url)\s*\}/) diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-fetch-and-promises-by-building-an-fcc-authors-page/641da836581c254815f785fe.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-fetch-and-promises-by-building-an-fcc-authors-page/641da836581c254815f785fe.md index cbaf46cb23e..a31365db46a 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-fetch-and-promises-by-building-an-fcc-authors-page/641da836581c254815f785fe.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-fetch-and-promises-by-building-an-fcc-authors-page/641da836581c254815f785fe.md @@ -9,7 +9,7 @@ dashedName: step-18 The next thing you'll show are biographical details about the author. You can do this with `bio` that you destructured earlier. -Add a paragraph element with the `class` `bio`, then interpolate `bio` inside the paragraph element. +Füge ein Absatz-Element mit der `class` `bio` hinzu und füge dann `bio` innerhalb des Absatz-Elements ein. # --hints-- @@ -26,7 +26,7 @@ Your `p` element should have the class `bio` assert.include(document.querySelector('p')?.className, 'bio'); ``` -You should interpolate `bio` in your `p` element. +Du solltest `bio` in dein `p`-Element interpolieren. ```js assert.equal(document.querySelector('p')?.innerText, authorDataArr[0].bio); diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-fetch-and-promises-by-building-an-fcc-authors-page/641daabed8d0584b1150c953.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-fetch-and-promises-by-building-an-fcc-authors-page/641daabed8d0584b1150c953.md index 7627127880e..640c9be4863 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-fetch-and-promises-by-building-an-fcc-authors-page/641daabed8d0584b1150c953.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-fetch-and-promises-by-building-an-fcc-authors-page/641daabed8d0584b1150c953.md @@ -9,7 +9,7 @@ dashedName: step-27 Some of the author bios are much longer than others. To give the cards a uniform look, you can extract the first 50 characters of each one and replace the rest with an ellipsis (...). Otherwise, you can show the entire bio. -Within the paragraph element, replace `bio` with a ternary operator. For the condition, check if the length of `bio` is greater than 50. If it is, use the `.slice()` method to extract the first 50 characters of `bio` and add an ellipsis at the end. Otherwise, show the full `bio`. +Ersetze innerhalb des Absatz-Elements `bio` mit einem ternären Operator. For the condition, check if the length of `bio` is greater than 50. If it is, use the `.slice()` method to extract the first 50 characters of `bio` and add an ellipsis at the end. Otherwise, show the full `bio`. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-fetch-and-promises-by-building-an-fcc-authors-page/641dab13c1b6f14b9828e6b1.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-fetch-and-promises-by-building-an-fcc-authors-page/641dab13c1b6f14b9828e6b1.md index 5869c7102f8..c530262d0de 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-fetch-and-promises-by-building-an-fcc-authors-page/641dab13c1b6f14b9828e6b1.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-fetch-and-promises-by-building-an-fcc-authors-page/641dab13c1b6f14b9828e6b1.md @@ -9,7 +9,7 @@ dashedName: step-29 One more thing. If you keep clicking the `Load More Authors` button until there's no more data to load and the text changes to `No more data to load`, the cursor value is still `pointer`. Why not change the cursor value to `not-allowed` instead? -Access the `style` property of the `Load More Authors` button and set `cursor` to `not-allowed`. +Greife auf die `style`-Eigenschaft des `Load More Authors`-Buttons zu und setze `cursor` auf `not-allowed`. With that, your author page is complete! diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/5ddb965c65d27e1512d44d9a.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/5ddb965c65d27e1512d44d9a.md index 13f6f0dab13..623ca3b1d07 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/5ddb965c65d27e1512d44d9a.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/5ddb965c65d27e1512d44d9a.md @@ -7,7 +7,7 @@ dashedName: step-1 # --description-- -You have been provided with boilerplate CSS and HTML. However, you need to build your calorie counter form. +You have been provided with boilerplate CSS and HTML. Du musst jedoch dein Kalorienzähler-Formular erstellen. Feel free to explore the HTML and CSS, then add a `form` element and give it an `id` set to `calorie-counter`. diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60aaaa65f8922bfce6b7e.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60aaaa65f8922bfce6b7e.md index 36de67b0bed..eac272471d2 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60aaaa65f8922bfce6b7e.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60aaaa65f8922bfce6b7e.md @@ -7,7 +7,7 @@ dashedName: step-9 # --description-- -In your `span` element, create a `label` element for an `entry-dropdown` and give it the text `Add food or exercise:`. Then create a `select` element with the `id` set to `entry-dropdown` and a `name` set to `options`. Below that, add a `button` element with the `id` set to `add-entry` and the text `Add Entry`. +Erstelle in deinem `span`-Element ein `label`-Element für einen `entry-dropdown` und weise ihm den Text `Add food or exercise:` zu. Then create a `select` element with the `id` set to `entry-dropdown` and a `name` set to `options`. Below that, add a `button` element with the `id` set to `add-entry` and the text `Add Entry`. Give your `button` element a `type` attribute set to `button` to prevent automatic form submission. @@ -19,7 +19,7 @@ You should add a `label` element to your `span` element. assert.exists(document.querySelector('.controls > span > label')); ``` -Your new `label` element should have a `for` attribute set to `entry-dropdown`. +Dein neues `label`-Element sollte ein `for`-Attribut enthalten, das auf `entry-dropdown` gesetzt ist. ```js assert.equal(document.querySelector('.controls > span > label')?.getAttribute('for'), 'entry-dropdown'); diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60c09c5039f25a3b2dda9.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60c09c5039f25a3b2dda9.md index 9c9a2c05a40..778914099bc 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60c09c5039f25a3b2dda9.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60c09c5039f25a3b2dda9.md @@ -9,7 +9,7 @@ dashedName: step-11 Create another `div` element. Within it, nest a `button` to `submit` the form, with an `id` set to `calculate-calories`. This button should have the text `Calculate Remaining Calories`. -Then add a `button` with the `id` set to `clear` to clear the form (don't forget to give it a `type` attribute that prevents it from submitting the form). This button needs the text `Clear`. +Füge dann einen `button` hinzu, dessen `id` auf `clear` gesetzt ist, um das Formular zu leeren (vergiss nicht, ihm ein `type`-Attribut zu geben, das verhindert, dass er das Formular abschickt). This button needs the text `Clear`. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60d3c5048302906962231.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60d3c5048302906962231.md index f4a19407487..1de8657a15d 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60d3c5048302906962231.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b60d3c5048302906962231.md @@ -7,7 +7,7 @@ dashedName: step-14 # --description-- -It is time to start writing the script that makes your form work. Begin by getting the `form` element (using the `id`) and storing it in a variable called `calorieCounter`. +It is time to start writing the script that makes your form work. Beginne damit, das `form`-Element (mit Hilfe der `id`) abzurufen und es in einer Variablen namens `calorieCounter` zu speichern. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b613f367584d2a5d041b7d.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b613f367584d2a5d041b7d.md index eac80046f53..a4ec494f9f3 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b613f367584d2a5d041b7d.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63b613f367584d2a5d041b7d.md @@ -7,7 +7,7 @@ dashedName: step-15 # --description-- -Get your `#budget` element and assign it to `budgetNumberInput`, and your `#entry-dropdown` element and assign it to `entryDropdown`. +Nimm dein `#budget`-Element und weise es `budgetNumberInput` zu und dein `#entry-dropdown`-Element und weise es `entryDropdown` zu. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf461011fca327d3b60fa8.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf461011fca327d3b60fa8.md index 0be24d212f2..6728f45e329 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf461011fca327d3b60fa8.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf461011fca327d3b60fa8.md @@ -7,7 +7,7 @@ dashedName: step-23 # --description-- -While looping through the string works, creating a new array is inefficient for memory and runtime performance. Instead, you can use Regular Expressions (referred to as "regex") to match specific characters. +While looping through the string works, creating a new array is inefficient for memory and runtime performance. Stattdessen kannst du reguläre Ausdrücke (auch "Regex" genannt) verwenden, um bestimmte Zeichen zu finden. Regex in JavaScript is indicated by a pattern wrapped in forward slashes – for example: diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf47fd40599f29827f484d.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf47fd40599f29827f484d.md index cdea61a2728..f14b91708cd 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf47fd40599f29827f484d.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf47fd40599f29827f484d.md @@ -7,7 +7,7 @@ dashedName: step-24 # --description-- -The pattern you currently have will match the exact text `hello`, which is not what you want to match. You want to look for `+`, `-`, or spaces. Replace the pattern in your `regex` variable with `\+-` to look for plus and minus characters. +The pattern you currently have will match the exact text `hello`, which is not what you want to match. Du möchtest nach `+`, `-` oder Leerzeichen suchen. Replace the pattern in your `regex` variable with `\+-` to look for plus and minus characters. Note that you need to use the `\` to escape the `+`, because a `+` has a special meaning in regular expressions. diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf492b6dfb292a79f0e675.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf492b6dfb292a79f0e675.md index 6db7b9967c6..3d00c0ff132 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf492b6dfb292a79f0e675.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf492b6dfb292a79f0e675.md @@ -7,7 +7,7 @@ dashedName: step-25 # --description-- -In regex, shorthand character classes allow you to match specific characters without having to write those characters in your pattern. Shorthand character classes are preceded with a backslash (`\`). The character class `\s` will match any whitespace character. Add this to your regex pattern. +In regex, shorthand character classes allow you to match specific characters without having to write those characters in your pattern. Shorthand character classes are preceded with a backslash (`\`). Die Zeichenklasse `\s` stimmt mit jedem Leerzeichen überein. Add this to your regex pattern. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf4bfe9de3852be51c8f86.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf4bfe9de3852be51c8f86.md index 4e61f07130f..801f5c74ff9 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf4bfe9de3852be51c8f86.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63bf4bfe9de3852be51c8f86.md @@ -7,15 +7,15 @@ dashedName: step-26 # --description-- -Your current pattern won't work just yet. `/+-\s/` looks for `+`, `-`, and a space *in order*. This would match `+- hello` but would not match `+hello`. +Dein aktuelles Muster wird noch nicht funktionieren. `/+-\s/` looks for `+`, `-`, and a space *in order*. This would match `+- hello` but would not match `+hello`. -To tell the pattern to match each of these characters individually, you need to turn them into a character class. This is done by wrapping the characters you want to match in brackets. For example, this pattern will match the characters `h`, `e`, `l`, or `o`: +To tell the pattern to match each of these characters individually, you need to turn them into a character class. This is done by wrapping the characters you want to match in brackets. Beispielsweise würde dieses Muster mit den Zeichen `h`, `e`, `l` oder `o` übereinstimmen: ```js const regex = /[helo]/; ``` -Turn your `+-\s` pattern into a character class. Note that you no longer need to escape the `+` character, because you are using a character class. +Turn your `+-\s` pattern into a character class. Beachte, dass du das `+`-Zeichen nicht mehr zu entschlüsseln brauchst, weil du eine Zeichenklasse verwendest. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c2187f55eb0f400269568f.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c2187f55eb0f400269568f.md index a869416a149..e14b8451bd1 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c2187f55eb0f400269568f.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c2187f55eb0f400269568f.md @@ -7,7 +7,7 @@ dashedName: step-48 # --description-- -Finally, on a new line after your second `label`, create another `input` element. Give this one a `type` attribute set to `number`, a `min` attribute set to `0` (to ensure negative calories cannot be added), a `placeholder` attribute set to `Calories`, and an `id` attribute that matches the `for` attribute of your second `label` element. +Schließlich erstellst du in einer neuen Zeile nach deinem zweiten `label` ein weiteres `input`-Element. Give this one a `type` attribute set to `number`, a `min` attribute set to `0` (to ensure negative calories cannot be added), a `placeholder` attribute set to `Calories`, and an `id` attribute that matches the `for` attribute of your second `label` element. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c2194dce265f429300c8b1.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c2194dce265f429300c8b1.md index 00f316256c7..f755eae465b 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c2194dce265f429300c8b1.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c2194dce265f429300c8b1.md @@ -7,7 +7,7 @@ dashedName: step-51 # --description-- -Try adding a couple of entries to the `Breakfast` category, and you may notice some bugs! The first thing we need to fix is the entry counts – the first entry should have a count of `1`, not `0`. +Versuche, der `Breakfast`-Kategorie ein paar Einträge hinzuzufügen, und du könntest einige Fehler entdecken! The first thing we need to fix is the entry counts – the first entry should have a count of `1`, not `0`. This bug occurs because you are querying for `input[type="text"]` elements *before* adding the new entry to the page. To fix this, update your `entryNumber` variable to be the value of the `length` of the query plus `1`. Add this on your declaration line, not in your template strings. diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8ad0cd8f1e5201c4ef2e4.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8ad0cd8f1e5201c4ef2e4.md index d0fb3c95d9e..b542f0109ea 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8ad0cd8f1e5201c4ef2e4.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c8ad0cd8f1e5201c4ef2e4.md @@ -7,7 +7,7 @@ dashedName: step-56 # --description-- -The `list` parameter is going to be the result of a query selector, which will return a `NodeList`. A `NodeList` is an array-like which contains the elements that match the query selector. +Der `list`-Parameter wird das Ergebnis eines Query-Selektors sein, der eine `NodeList` zurückgeben wird. Eine `NodeList` ähnelt einem Array, der die Elemente enthält, die dem Query-Selektor entsprechen. You'll need to loop through these elements, so start by creating a `for` loop. Your iterator `i` should start at `0`, continue while it is less than the length of the list, and increment by `1` each iteration. diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bcc26219e7090da0f549.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bcc26219e7090da0f549.md index d26b67985f0..32bf0499871 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bcc26219e7090da0f549.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bcc26219e7090da0f549.md @@ -7,7 +7,7 @@ dashedName: step-62 # --description-- -Still within your `if` block, set `isError` to `true` and return `null`. +Setze innerhalb deines `if`-Blocks `isError` auf `true` und gib `null` zurück. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bce376ca4f09c15a3768.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bce376ca4f09c15a3768.md index eaf8ec4bd19..dd619a49e37 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bce376ca4f09c15a3768.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9bce376ca4f09c15a3768.md @@ -7,7 +7,7 @@ dashedName: step-63 # --description-- -Remember that `return` ends the execution of a function. After your `if` block, you need to handle the logic for when the input is valid. Because your `if` statement returns a value, you do not need an `else` statement. +Denke daran, dass `return` die Ausführung einer Funktion beendet. After your `if` block, you need to handle the logic for when the input is valid. Because your `if` statement returns a value, you do not need an `else` statement. Use the addition assignment operator to add `currVal` to your `calories` total. You'll need to use the `Number` constructor to convert `currVal` to a number. diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9c0d0857f0a10a57af936.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9c0d0857f0a10a57af936.md index 8d50b7d9937..6911d6143b4 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9c0d0857f0a10a57af936.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9c0d0857f0a10a57af936.md @@ -7,7 +7,7 @@ dashedName: step-69 # --description-- -Following the same pattern, query for your `number` inputs in the `#dinner`, `#snacks`, and `#exercise` elements. Assign them to variables following the naming scheme of the previous two. +Nach dem gleichen Muster kannst du deine `number`-Eingaben in den `#dinner`-, `#snacks`- und `#exercise`-Elementen abfragen. Assign them to variables following the naming scheme of the previous two. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e3a83bb3e61a80eea564.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e3a83bb3e61a80eea564.md index 069574929ef..0644c3f2ca2 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e3a83bb3e61a80eea564.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e3a83bb3e61a80eea564.md @@ -7,7 +7,7 @@ dashedName: step-73 # --description-- -You also need to get the value of your `#budget` input. You already queried this at the top of your code, and set it to the `budgetNumberInput` variable. However, you used `getElementById`, which returns an `Element`, not a `NodeList`. +You also need to get the value of your `#budget` input. Du hast dies bereits am Anfang deines Codes abgefragt und auf die `budgetNumberInput`-Variable gesetzt. However, you used `getElementById`, which returns an `Element`, not a `NodeList`. A `NodeList` is an array-like, which means you can iterate through it and it shares some common methods with an array. For your `getCaloriesFromInputs` function, an array will work for the argument just as well as a `NodeList` does. diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e45519caf31b987fbb5f.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e45519caf31b987fbb5f.md index e593e5923e0..f8724542678 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e45519caf31b987fbb5f.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e45519caf31b987fbb5f.md @@ -23,7 +23,7 @@ Your `if` statement should check the truthiness of the `isError` variable. assert.match(calculateCalories.toString(), /if\s*\(\s*isError\s*\)/); ``` -Your `if` statement should use `return` to end the function execution. +Deine `if`-Anweisung sollte `return` verwenden, um die Ausführung der Funktion zu beenden. ```js assert.match(calculateCalories.toString(), /if\s*\(\s*isError\s*\)\s*\{?\s*return;?\s*\}?\s*/); diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e4d2ff41811dd640504f.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e4d2ff41811dd640504f.md index 96e9674a3e1..ee41bb4f7ed 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e4d2ff41811dd640504f.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e4d2ff41811dd640504f.md @@ -7,7 +7,7 @@ dashedName: step-75 # --description-- -It is time to start preparing your calculations. Start by declaring a `consumedCalories` variable, and assign it the sum of `breakfastCalories`, `lunchCalories`, `dinnerCalories`, and `snacksCalories` (note that order matters for the tests). Be sure to do this after your `if` statement. +It is time to start preparing your calculations. Start by declaring a `consumedCalories` variable, and assign it the sum of `breakfastCalories`, `lunchCalories`, `dinnerCalories`, and `snacksCalories` (note that order matters for the tests). Stelle sicher, dass du dies nach deiner `if`-Anweisung machst. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e51b3a007a1eba1cd0f6.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e51b3a007a1eba1cd0f6.md index cab5fae5d84..44825fda961 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e51b3a007a1eba1cd0f6.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e51b3a007a1eba1cd0f6.md @@ -7,7 +7,7 @@ dashedName: step-76 # --description-- -Now declare a `remainingCalories` variable, and give it the value of subtracting `consumedCalories` from `budgetCalories` and adding `exerciseCalories`. +Deklariere nun eine `remainingCalories`-Variable und weise ihr den Wert zu, der sich aus der Subtraktion von `consumedCalories` von `budgetCalories` und der Addition von `exerciseCalories` ergibt. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e55b4b06c11fff555c64.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e55b4b06c11fff555c64.md index 8569a16c9e8..e0da65c64b5 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e55b4b06c11fff555c64.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e55b4b06c11fff555c64.md @@ -9,7 +9,7 @@ dashedName: step-77 You need to know if the user's calories are a surplus or a deficit. Declare a `surplusOrDeficit` variable. -Use a ternary operator to set `surplusOrDeficit` to the string `Surplus` or `Deficit` depending on whether `remainingCalories` is greater than or equal to `0`. If it is greater than or equal to `0`, then `surplusOrDeficit` should be `Surplus`. Otherwise, it should be `Deficit`. +Use a ternary operator to set `surplusOrDeficit` to the string `Surplus` or `Deficit` depending on whether `remainingCalories` is greater than or equal to `0`. Wenn er größer oder gleich `0` ist, dann sollte `surplusOrDeficit` `Surplus` sein. Otherwise, it should be `Deficit`. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e8fe3a6f022a05a04675.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e8fe3a6f022a05a04675.md index 5a6f04b9085..c9948566971 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e8fe3a6f022a05a04675.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9e8fe3a6f022a05a04675.md @@ -7,7 +7,7 @@ dashedName: step-84 # --description-- -Using the same interpolation syntax, add a second `p` element with the text `consumedCalories Calories Consumed` and a third with the text `exerciseCalories Calories Burned`. Remember to replace your `consumedCalories` and `exerciseCalories` variables with the appropriate values. +Using the same interpolation syntax, add a second `p` element with the text `consumedCalories Calories Consumed` and a third with the text `exerciseCalories Calories Burned`. Denke daran, deine `consumedCalories`- und `exerciseCalories`-Variablen durch die entsprechenden Werte zu ersetzen. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9eb4a5d68f12f32d9b440.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9eb4a5d68f12f32d9b440.md index 71445e2f796..da35bff2f65 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9eb4a5d68f12f32d9b440.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9eb4a5d68f12f32d9b440.md @@ -9,7 +9,7 @@ dashedName: step-89 Remember that `document.querySelectorAll` returns a `NodeList`, which is array-like but is not an array. However, the `Array` object has a `.from()` method that accepts an array-like and returns an array. This is helpful when you want access to more robust array methods, which you will learn about in a future project. -Wrap your `inputContainers` query selector in `Array.from()`. Do this on the same line as your declaration. +Wrap your `inputContainers` query selector in `Array.from()`. Dies erfolgt in der gleichen Zeile wie deine Deklaration. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9ebb7b12bca3025b0a935.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9ebb7b12bca3025b0a935.md index 5a64a654527..feceb9605d6 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9ebb7b12bca3025b0a935.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9ebb7b12bca3025b0a935.md @@ -9,7 +9,7 @@ dashedName: step-90 It is time for another loop. Use a `for` loop to iterate through the `inputContainers` array. -Inside the loop, set the `innerHTML` property of the element at the current index to an empty string. This will clear all of the contents of that input container. +Inside the loop, set the `innerHTML` property of the element at the current index to an empty string. Dies wird den gesamten Inhalt des Eingabebehälters löschen. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9f28bda3e3f336e21b6b4.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9f28bda3e3f336e21b6b4.md index a66055cca91..ef698a8dfc8 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9f28bda3e3f336e21b6b4.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-form-validation-by-building-a-calorie-counter/63c9f28bda3e3f336e21b6b4.md @@ -7,7 +7,7 @@ dashedName: step-93 # --description-- -To finish off this function, you need to restore the `hide` class to the `output` element. The `classList` property has an `.add()` method which is the opposite of the `.remove()` method. It accepts a string representing the class to add to the element. +Um diese Funktion abzuschließen, musst du die `hide`-Klasse im `output`-Element wiederherstellen. The `classList` property has an `.add()` method which is the opposite of the `.remove()` method. It accepts a string representing the class to add to the element. Add the `hide` class to your `output`. diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/642df32c0c2db433d8b46d46.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/642df32c0c2db433d8b46d46.md index 943c52188d7..dcb68a6ca35 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/642df32c0c2db433d8b46d46.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/642df32c0c2db433d8b46d46.md @@ -7,7 +7,7 @@ dashedName: step-5 # --description-- -Finally, use the `.appendChild()` method to add your `label` element to the `container` element. +Verwende schließlich die `.appendChild()`-Methode, um dein `label`-Element zu dem `container`-Element hinzufügen. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/642df9df4b5216350de7b0d2.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/642df9df4b5216350de7b0d2.md index 3ddcd8ee139..5625252e91e 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/642df9df4b5216350de7b0d2.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/642df9df4b5216350de7b0d2.md @@ -9,7 +9,7 @@ dashedName: step-6 You will need a function to generate a range of numbers. -Declare an empty `range` function which takes a `start` and `end` parameter. Use the `Array()` constructor and implicitly return an empty array. +Declare an empty `range` function which takes a `start` and `end` parameter. Verwende den `Array()`-Konstruktor und gib implizit ein leeres Array zurück. # --hints-- @@ -49,13 +49,13 @@ Your `range` function should take an `end` parameter second. assert.match(code, /const\s*range\s*=\s*\(\s*start\s*,\s*end\s*\)/); ``` -Your `range` function should use an implicit return. Remember that this means you will not use curly brackets. +Deine `range`-Funktion sollte eine implizite Rückgabe verwenden. Remember that this means you will not use curly brackets. ```js assert.notMatch(code, /const\s*range\s*=\s*\(\s*start\s*,\s*end\s*\)\s*=>\s*{/); ``` -Your `range` function should use the `Array()` constructor. Primitive constructors do not need the `new` keyword. +Your `range` function should use the `Array()` constructor. Primitive Konstruktoren benötigen kein `new`-Schlüsselwort. ```js assert.match(code, /const\s*range\s*=\s*\(\s*start\s*,\s*end\s*\)\s*=>\s*Array\(/); diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/642dfb07e7fa6736251541c8.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/642dfb07e7fa6736251541c8.md index c3cf4096898..fe85caa180e 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/642dfb07e7fa6736251541c8.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/642dfb07e7fa6736251541c8.md @@ -9,7 +9,7 @@ dashedName: step-7 Your array will need to be the size of the range. You can calculate this by finding the difference between `end` and `start`, and adding `1` to the result. -Pass this calculation as the argument for your `Array()` constructor. +Übergib diese Berechnung als Argument für deinen `Array()`-Konstruktur. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d0a022da7bcabf3e3aca3.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d0a022da7bcabf3e3aca3.md index 430475283a7..b17d7647573 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d0a022da7bcabf3e3aca3.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d0a022da7bcabf3e3aca3.md @@ -18,7 +18,7 @@ const final = innerOne("A"); `innerOne` would be your `inner` function, with `num` set to `1`, and `final` would have the value of the cell with the `id` of `A1`. This is possible because functions have access to all variables declared at their creation. This is called closure. -You'll get some more practice with this. Declare a function called `addCharacters` which takes a `character1` parameter. +Du wirst noch mehr Übung darin bekommen. Declare a function called `addCharacters` which takes a `character1` parameter. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d1b96dd7ea4b0061458bc.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d1b96dd7ea4b0061458bc.md index 61fbcdc9f19..d25b9d6d0d8 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d1b96dd7ea4b0061458bc.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d1b96dd7ea4b0061458bc.md @@ -15,9 +15,9 @@ const array = [1, 2, 3]; const newArray = array.map(myFunc); ``` -The `.map()` method here will call the `myFunc` function, passing the same arguments that a `.map()` callback takes. The first argument is the value of the array at the current iteration, so `newArray` would be `[value: 1, value: 2, value: 3]`. +The `.map()` method here will call the `myFunc` function, passing the same arguments that a `.map()` callback takes. Das erste Argument ist der Wert des Arrays bei der aktuellen Iteration, `newArray` wäre also `[value: 1, value: 2, value: 3]`. -Pass a reference to your `elemValue` function as the callback to your `.map()` method. +Übergib einen Verweis auf deine `elemValue`-Funktion als Callback für deine `.map()`-Methode. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d1d67f9261fb15a795588.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d1d67f9261fb15a795588.md index 532abd79b61..8d13e0bd3a6 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d1d67f9261fb15a795588.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d1d67f9261fb15a795588.md @@ -7,7 +7,7 @@ dashedName: step-52 # --description-- -Declare a `rangeExpanded` variable and assign it the result of calling the `.replace()` method of your `x` parameter. Pass the `rangeRegex` variable as the argument. +Deklariere eine `rangeExpanded`-Variable und weise ihr das Ergebnis des Aufrufs der `.replace()`-Methode deines `x`-Parameters zu. Übergib die `rangeRegex`-Variable als Argument. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d1e531042dfb24da1f032.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d1e531042dfb24da1f032.md index a7574fa9279..92e76edb08c 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d1e531042dfb24da1f032.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d1e531042dfb24da1f032.md @@ -7,7 +7,7 @@ dashedName: step-53 # --description-- -The second argument to the `.replace()` method does not have to be a string. You can instead pass a callback function to run more complex logic on the matched string. +Das zweite Argument der `.replace()`-Methode muss nicht unbedingt ein String sein. You can instead pass a callback function to run more complex logic on the matched string. The callback function takes a few parameters. The first is the matched string. Pass an empty callback function to your `.replace()` call, and give it a `match` parameter. diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d3bc75fe0c9b972da3323.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d3bc75fe0c9b972da3323.md index a81207bce90..b52504af8da 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d3bc75fe0c9b972da3323.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d3bc75fe0c9b972da3323.md @@ -29,7 +29,7 @@ You should pass `match` to your `idToText()` call. assert.match(code, /const\s*evalFormula\s*=\s*\(\s*x\s*,\s*cells\s*\)\s*=>\s*{\s*const\s+idToText\s*=\s*\(?\s*id\s*\)?\s*=>\s*cells\.find\(\s*\(?\s*cell\s*\)?\s*=>\s*(?:cell\.id\s*===\s*id|id\s*===\s*cell\.id)\s*\)\.value;?\s*const\s+rangeRegex\s*=\s*\/\(\[A-J\]\)\(\[1-9\]\[0-9\]\?\):\(\[A-J\]\)\(\[1-9\]\[0-9\]\?\)\/(gi|ig);?\s*const\s+rangeFromString\s*=\s*\(\s*num1\s*,\s*num2\s*\)\s*=>\s*range\(\s*parseInt\(\s*num1\s*\)\s*,\s*parseInt\(\s*num2\s*\)\s*\);?\s*const\s+elemValue\s*=\s*\(?\s*num\s*\)?\s*=>\s*\(?\s*character\s*\)?\s*=>\s*idToText\(\s*character\s*\+\s*num\s*\);?\s*const\s+addCharacters\s*=\s*\(?\s*character1\s*\)?\s*=>\s*\(?\s*character2\s*\)?\s*=>\s*\(?\s*num\s*\)?\s*=>\s*charRange\(\s*character1\s*,\s*character2\s*\)\.map\(\s*elemValue\(\s*num\s*\)\s*\);?\s*const\s+rangeExpanded\s*=\s*x\.replace\(\s*rangeRegex\s*,\s*\(\s*_match\s*,\s*char1\s*,\s*num1\s*,\s*char2\s*,\s*num2\s*\)\s*=>\s*rangeFromString\(\s*num1\s*,\s*num2\s*\)\.map\(\s*addCharacters\s*\(\s*char1\s*\)\(\s*char2\s*\)\s*\)\s*\);?\s*const\s+cellRegex\s*=\s*\/\[A-J\]\[1-9\]\[0-9\]\?\/(gi|ig);?\s*const\s+cellExpanded\s*=\s*rangeExpanded\.replace\(\s*cellRegex\s*,\s*\(?\s*match\s*\)?\s*=>\s*idToText\(\s*match\s*/); ``` -You should call the `.toUpperCase()` method of `match` as you pass it to `idToText()`. +Du solltest die `.toUpperCase()`-Methode von `match` aufrufen, wenn du sie an `idToText()` übergibst. ```js assert.match(code, /const\s*evalFormula\s*=\s*\(\s*x\s*,\s*cells\s*\)\s*=>\s*{\s*const\s+idToText\s*=\s*\(?\s*id\s*\)?\s*=>\s*cells\.find\(\s*\(?\s*cell\s*\)?\s*=>\s*(?:cell\.id\s*===\s*id|id\s*===\s*cell\.id)\s*\)\.value;?\s*const\s+rangeRegex\s*=\s*\/\(\[A-J\]\)\(\[1-9\]\[0-9\]\?\):\(\[A-J\]\)\(\[1-9\]\[0-9\]\?\)\/(gi|ig);?\s*const\s+rangeFromString\s*=\s*\(\s*num1\s*,\s*num2\s*\)\s*=>\s*range\(\s*parseInt\(\s*num1\s*\)\s*,\s*parseInt\(\s*num2\s*\)\s*\);?\s*const\s+elemValue\s*=\s*\(?\s*num\s*\)?\s*=>\s*\(?\s*character\s*\)?\s*=>\s*idToText\(\s*character\s*\+\s*num\s*\);?\s*const\s+addCharacters\s*=\s*\(?\s*character1\s*\)?\s*=>\s*\(?\s*character2\s*\)?\s*=>\s*\(?\s*num\s*\)?\s*=>\s*charRange\(\s*character1\s*,\s*character2\s*\)\.map\(\s*elemValue\(\s*num\s*\)\s*\);?\s*const\s+rangeExpanded\s*=\s*x\.replace\(\s*rangeRegex\s*,\s*\(\s*_match\s*,\s*char1\s*,\s*num1\s*,\s*char2\s*,\s*num2\s*\)\s*=>\s*rangeFromString\(\s*num1\s*,\s*num2\s*\)\.map\(\s*addCharacters\s*\(\s*char1\s*\)\(\s*char2\s*\)\s*\)\s*\);?\s*const\s+cellRegex\s*=\s*\/\[A-J\]\[1-9\]\[0-9\]\?\/(gi|ig);?\s*const\s+cellExpanded\s*=\s*rangeExpanded\.replace\(\s*cellRegex\s*,\s*\(?\s*match\s*\)?\s*=>\s*idToText\(\s*match\.toUpperCase\(\)\s*\)/); diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d3d037872fbbae0a8ec0e.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d3d037872fbbae0a8ec0e.md index a0c16308905..5de882bb9cb 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d3d037872fbbae0a8ec0e.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d3d037872fbbae0a8ec0e.md @@ -7,7 +7,7 @@ dashedName: step-64 # --description-- -Object values do not have to be primitive types, like a string or a number. They can also be functions. +Objektwerte müssen keine primitiven Typen sein, wie ein String oder eine Zahl. They can also be functions. Give your `infixToFunction` object a `+` property. That property should be a function that takes an `x` and `y` parameter and implicitly returns the sum of those two parameters. diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d3d65be79c8bb9c7df9ff.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d3d65be79c8bb9c7df9ff.md index 6fe3a85c7df..d77ffa24e27 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d3d65be79c8bb9c7df9ff.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d3d65be79c8bb9c7df9ff.md @@ -47,7 +47,7 @@ Your `-` function should use an implicit return. assert.notMatch(code, /('|"|`)-\1\s*:\s*\(\s*x\s*,\s*y\s*\)\s*\{/); ``` -Your `-` function should return the result of subtracting `y` from `x`. +Deine `-`-Funktion sollte das Ergebnis der Subtraktion von `y` von `x` zurückgeben. ```js assert.equal(infixToFunction['-'](1, 2), -1); diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d3d80c3b4aebc4103618e.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d3d80c3b4aebc4103618e.md index b3a2ceac108..fd264fa42e1 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d3d80c3b4aebc4103618e.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d3d80c3b4aebc4103618e.md @@ -7,7 +7,7 @@ dashedName: step-66 # --description-- -Following the same pattern, add a property for multiplication `*` and division `/` with the appropriate functions. +Dem gleichen Muster folgend, fügst du eine Eigenschaft für Multiplikation `*` und Division `/` mit den entsprechenden Funktionen hinzu. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d3da8501e15bcd355ba1d.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d3da8501e15bcd355ba1d.md index 6075c4b7502..b26ee7a4408 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d3da8501e15bcd355ba1d.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d3da8501e15bcd355ba1d.md @@ -65,7 +65,7 @@ You should pass `regex` as the first argument to the `.replace()` method. assert.match(code, /const\s+infixEval\s*=\s*\(\s*str\s*,\s*regex\s*\)\s*=>\s*str\.replace\(\s*regex/); ``` -You should pass an empty arrow function as the second argument to the `.replace()` method. +Du solltest eine leere Arrow-Funktion als zweites Argument an die `.replace()`-Methode übergeben. ```js assert.match(code, /const\s+infixEval\s*=\s*\(\s*str\s*,\s*regex\s*\)\s*=>\s*str\.replace\(\s*regex\s*,\s*\(\s*\)\s*=>\s*\{\s*\}\s*\)/); diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d3e135ab3abbdbfe5c899.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d3e135ab3abbdbfe5c899.md index 6f6c019af5a..e51a69c411b 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d3e135ab3abbdbfe5c899.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d3e135ab3abbdbfe5c899.md @@ -7,7 +7,7 @@ dashedName: step-68 # --description-- -Your callback needs four parameters. `match`, `arg1`, `operator`, and `arg2`. +Your callback needs four parameters. `match`, `arg1`, `operator` und `arg2`. You will not be using the `match` parameter, so remember to prefix it. diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d3ee7b17ae3bf48610033.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d3ee7b17ae3bf48610033.md index fb15b445ee0..ad138875641 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d3ee7b17ae3bf48610033.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d3ee7b17ae3bf48610033.md @@ -7,7 +7,7 @@ dashedName: step-70 # --description-- -`infixToFunction[operator]` returns a function. Call that function directly, passing `arg1` and `arg2` as the arguments. +`infixToFunction[operator]` returns a function. Rufe diese Funktion direkt auf und übergib `arg1` und `arg2` als Argumente. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d3f718b5f8dc102cd528e.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d3f718b5f8dc102cd528e.md index 752f4ed7213..74e1937af0c 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d3f718b5f8dc102cd528e.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d3f718b5f8dc102cd528e.md @@ -41,7 +41,7 @@ Your `highPrecedence` function should have a `str` parameter. assert.match(code, /const\s+highPrecedence\s*=\s*\(?\s*str\s*\)?\s*=>/); ``` -Your `highPrecedence` function should be empty. +Deine `highPrecedence`-Funktion sollte leer sein. ```js assert.match(code, /const\s+highPrecedence\s*=\s*\(?\s*str\s*\)?\s*=>\s*{\s*}/); diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d4a07a8fb14d55cd70e09.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d4a07a8fb14d55cd70e09.md index cb23c0a7657..94b2f9a721d 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d4a07a8fb14d55cd70e09.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d4a07a8fb14d55cd70e09.md @@ -7,7 +7,7 @@ dashedName: step-97 # --description-- -Arrays have a `.some()` method. Like the `.filter()` method, `.some()` accepts a callback function which should take an element of the array as the argument. The `.some()` method will return `true` if the callback function returns `true` for at least one element in the array. +Arrays verfügen über eine `.some()`-Methode. Wie die `.filter()`-Methode akzeptiert auch `.some()` eine Callback-Funktion, die ein Element des Arrays als Argument annehmen sollte. Die `.some()`-Methode gibt `true` zurück, wenn die Callback-Funktion `true` für mindestens ein Element im Array zurückgibt. Here is an example of a `.some()` method call to check if any element in the array is an uppercase letter. @@ -32,7 +32,7 @@ Your `someeven` property should be a function. assert.isFunction(spreadsheetFunctions.someeven); ``` -Your `someeven` function should return `true` if some of the elements in the array are even. +Deine `someeven`-Funktion sollte `true` zurückgeben, wenn einige Elemente im Array gerade ist. ```js assert.isTrue(spreadsheetFunctions.someeven([1, 2, 3])); diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d4a8dbc04c6d6bb0001f8.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d4a8dbc04c6d6bb0001f8.md index 06b8dcef542..97124a45de9 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d4a8dbc04c6d6bb0001f8.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d4a8dbc04c6d6bb0001f8.md @@ -17,7 +17,7 @@ Your `spreadsheetFunctions` object should have a `range` property. assert.property(spreadsheetFunctions, "range"); ``` -Your `range` property should be a function. +Deine `range`-Eigenschaft sollte eine Funktion sein. ```js assert.isFunction(spreadsheetFunctions.range); diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d4ab9b3b4c5d74fdd2154.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d4ab9b3b4c5d74fdd2154.md index e61e4bc0530..ff02f0afe7d 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d4ab9b3b4c5d74fdd2154.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-functional-programming-by-building-a-spreadsheet/646d4ab9b3b4c5d74fdd2154.md @@ -7,7 +7,7 @@ dashedName: step-101 # --description-- -The last function has a few approaches to implement, and you are free to choose whichever approach you would like. +Für die letzte Funktion gibt es mehrere Ansätze, und es steht dir frei, welchen Ansatz du wählen möchtest. Add a `nodupes` property which returns `nums` with all duplicate values removed. For example, `[2, 1, 2, 5, 3, 2, 7]` should return `[2, 1, 5, 3, 7]`. diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/641cd91d28bebe226f765d86.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/641cd91d28bebe226f765d86.md index 81e0637e2f4..ccac8225db8 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/641cd91d28bebe226f765d86.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/641cd91d28bebe226f765d86.md @@ -7,7 +7,7 @@ dashedName: step-2 # --description-- -Attach an event listener to your `checkMessageButton`, listening for the `click` event. Give it an empty callback function. +Attach an event listener to your `checkMessageButton`, listening for the `click` event. Gib ihm eine leere Callback-Funktion. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/641cdebe67ec0f25a4798356.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/641cdebe67ec0f25a4798356.md index 0c4550ee2fb..ec706f1c4ad 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/641cdebe67ec0f25a4798356.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/641cdebe67ec0f25a4798356.md @@ -19,7 +19,7 @@ Deine Callback-Funktion sollte eine `if`-Anweisung haben. assert.match(code, /checkMessageButton\.addEventListener\(\s*('|"|`)click\1\s*,\s*\(\s*\)\s*=>\s*\{\s*if\s*\(/) ``` -Your `if` statement should check if the `value` of `messageInput` is an empty string. +Deine `if`-Anweisung sollte prüfen, ob die `value` von `messageInput` ein leerer String ist. ```js assert.match(code, /checkMessageButton\.addEventListener\(\s*('|"|`)click\1\s*,\s*\(\s*\)\s*=>\s*\{\s*if\s*\(\s*messageInput\.value\s*===\s*('|"|`)\2\s*\)/) diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/641cdf57c3f7ee276e1d9b32.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/641cdf57c3f7ee276e1d9b32.md index 317f3db0e2c..e4f7b71ba59 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/641cdf57c3f7ee276e1d9b32.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/641cdf57c3f7ee276e1d9b32.md @@ -9,9 +9,9 @@ dashedName: step-5 Back in your event listener, you need to update the text of the `result` element. -Use a ternary operator to update the text of the `result` element after the `if` statement. Check the truthiness of calling `isSpam()` on the value of the `messageInput` element. If true, set the text to `Oh no! This looks like a spam message.`. Otherwise, set the text to `This message does not seem to contain any spam.` +Use a ternary operator to update the text of the `result` element after the `if` statement. Check the truthiness of calling `isSpam()` on the value of the `messageInput` element. If true, set the text to `Oh no! This looks like a spam message.`. Andernfalls wird der Text auf `This message does not seem to contain any spam.` gesetzt -Then set the `messageInput` element's value to an empty string. +Setze dann den Wert des `messageInput`-Elements auf einen leeren String. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/641ce03dfeca10293e05dad7.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/641ce03dfeca10293e05dad7.md index 11c5081d767..4a2dfbbffa2 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/641ce03dfeca10293e05dad7.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/641ce03dfeca10293e05dad7.md @@ -7,9 +7,9 @@ dashedName: step-6 # --description-- -Your first regular expression will be used to catch help requests. Declare a `helpRegex` variable, and assign it a regular expression that matches the string `please help`. +Dein erster regulärer Ausdruck wird verwendet, um Hilfeanfragen abzufangen. Declare a `helpRegex` variable, and assign it a regular expression that matches the string `please help`. -As a refresher, here is a regular expression to match the string `hello world`: +Zur Auffrischung: Hier ist ein regulärer Ausdruck, der auf den String `hello world` passt: ```js const regex = /hello world/; diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/641ce3dcd0aec8309fbc9971.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/641ce3dcd0aec8309fbc9971.md index 8db17cfc56a..e71ed9fb53b 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/641ce3dcd0aec8309fbc9971.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/641ce3dcd0aec8309fbc9971.md @@ -11,11 +11,11 @@ Strings have a `.match()` method, which accepts a regular expression as an argum Update your `isSpam()` function to implicitly return the result of calling the `.match()` method on `msg`, passing `helpRegex` as the argument. -Then, try entering some messages on your page and see the result. +Versuche dann, einige Nachrichten auf deiner Seite einzugeben und sieh dir das Ergebnis an. # --hints-- -Your `isSpam()` function should implicitly return the result of `msg.match(helpRegex)`. +Deine `isSpam()`-Funktion sollte implizit das Ergebnis von `msg.match(helpRegex)` zurückgeben. ```js assert.match(code, /const\s*isSpam\s*=\s*\(msg\)\s*=>\s*msg\.match\(helpRegex\)/); diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/6421f6f59d665615c9e94d8a.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/6421f6f59d665615c9e94d8a.md index 75fd81af344..d3f22b47588 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/6421f6f59d665615c9e94d8a.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/6421f6f59d665615c9e94d8a.md @@ -7,9 +7,9 @@ dashedName: step-11 # --description-- -Before you start creating additional regular expressions, you need to update your application to check more than one regular expression. +Bevor du mit der Generierung weiterer regulärer Ausdrücke beginnst, musst du deine Anwendung aktualisieren, um mehr als einen regulären Ausdruck zu überprüfen. -Start by declaring a `denyList` variable. Assign it an array containing your `helpRegex`. +Beginne mit der Deklaration einer `DenyList`-Variablen. Assign it an array containing your `helpRegex`. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/6421f98f4999d1179ce37cb4.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/6421f98f4999d1179ce37cb4.md index c4d1300acb7..6714dac9447 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/6421f98f4999d1179ce37cb4.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/6421f98f4999d1179ce37cb4.md @@ -9,7 +9,7 @@ dashedName: step-12 Remember that arrays have a `.some()` method. Use the `.some()` method to check if testing your `msg` on any of your `denyList` regular expressions returns `true`. -Use `regex` as the parameter for the callback function, for clarity. +Benutze `regex` als Parameter für die Callback-Funktion, um für Klarheit zu sorgen. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/642205fa6376c818f78bb24e.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/642205fa6376c818f78bb24e.md index 0884d7e4306..4237ac89793 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/642205fa6376c818f78bb24e.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/642205fa6376c818f78bb24e.md @@ -9,7 +9,7 @@ dashedName: step-13 The next regular expression you will work on is one that matches mentions of dollar amounts. -Start by declaring a `dollarRegex` variable, and assign it a case-insensitive regular expression that matches the text `dollars`. +Deklariere zunächst eine `dollarRegex`-Variable und weise ihr einen regulären Ausdruck zu, der den Text `dollars` enthält, wobei die Groß- und Kleinschreibung nicht berücksichtigt wird. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/642206618bdd611a0c4e90f3.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/642206618bdd611a0c4e90f3.md index 68efdc6828f..a2b1300173f 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/642206618bdd611a0c4e90f3.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/642206618bdd611a0c4e90f3.md @@ -9,7 +9,7 @@ dashedName: step-14 Add your `dollarRegex` to the `denyList` array so that you can test the regular expression. -Then try entering a message in your app. +Versuche dann eine Nachricht in deine App einzugeben. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/642206e054eef81b5e3092ed.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/642206e054eef81b5e3092ed.md index 6aad7a8ccc1..436a9083b5b 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/642206e054eef81b5e3092ed.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/642206e054eef81b5e3092ed.md @@ -9,7 +9,7 @@ dashedName: step-15 You need to match a number before the text `dollars`. While you could write out `0|1|2` and so on, regular expressions have a feature that makes this easier. -A character class is defined by square brackets, and matches any character within the brackets. For example, `[aeiou]` matches any character in the list `aeiou`. You can also define a range of characters to match using a hyphen. For example, `[a-z]` matches any character from `a` to `z`. +A character class is defined by square brackets, and matches any character within the brackets. Zum Beispiel stimmt `[aeiou]` mit jedem Zeichen in der `aeiou`-Liste überein. You can also define a range of characters to match using a hyphen. Beispielsweise stimmt `[a-z]` mit jedem Zeichen von `a` bis `z` überein. Add a character class to match the digits `0` through `9` to your `dollarRegex` expression - remember the digit must come before the word `dollars`, and there should be a space between the digit and the word. diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/642208bc4d44701c6fd6f65e.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/642208bc4d44701c6fd6f65e.md index bfa8500ef98..dcd150dbd77 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/642208bc4d44701c6fd6f65e.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/642208bc4d44701c6fd6f65e.md @@ -7,9 +7,9 @@ dashedName: step-16 # --description-- -The dollar value may be more than one digit. To match this, the `+` quantifier can be used - this matches one or more consecutive occurrence. For example, the regular expression `/a+/` matches one or more consecutive `a` characters. +Der Dollarwert kann mehr als eine Ziffer betragen. To match this, the `+` quantifier can be used - this matches one or more consecutive occurrence. Der reguläre `/a+/`-Ausdruck stimmt beispielsweise mit einem oder mehreren aufeinanderfolgenden `a`-Zeichen überein. -Update your regular expression to match one or more consecutive digits. +Aktualisiere deinen regulären Ausdruck auf eine oder mehrere aufeinanderfolgende Ziffern. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/64220fb017c57d20612de8b8.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/64220fb017c57d20612de8b8.md index 6edccd8c600..966d8b4ee6c 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/64220fb017c57d20612de8b8.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/64220fb017c57d20612de8b8.md @@ -7,7 +7,7 @@ dashedName: step-19 # --description-- -Now that you have your capture group, you can mark the entire pattern as an optional match. The `?` quantifier matches zero or one occurrence of the preceding character or group. For example, the regular expression `/colou?r/` matches both `color` and `colour`, because the `u` is optional. +Now that you have your capture group, you can mark the entire pattern as an optional match. The `?` quantifier matches zero or one occurrence of the preceding character or group. Beispielsweise passt der reguläre `/colou?r/`-Ausdruck sowohl auf `color` als auch auf `colour`, da das `u` optional ist. Mark your capture group as optional. diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/64221007887f38213fa57827.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/64221007887f38213fa57827.md index cc167003bc1..63f5999b4ba 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/64221007887f38213fa57827.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/64221007887f38213fa57827.md @@ -9,7 +9,7 @@ dashedName: step-20 One last thing with this expression. You don't actually need the match value from your capture group, so you can turn it into a non-capturing group. This will allow you to group the characters together without preserving the result. -To create a non-capturing group in a regular expression, you can add `?:` after the opening parenthesis of a group. For instance, `(?:a|b)` will match either `a` or `b`, but it will not capture the result. +To create a non-capturing group in a regular expression, you can add `?:` after the opening parenthesis of a group. Beispielsweise wird `(?:a|b)` entweder mit `a` oder mit `b` übereinstimmen, aber er wird nicht das Ergebnis erfassen. Update your regular expression to use a non-capturing group. diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/642213bf8d38b0227ed6ab0b.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/642213bf8d38b0227ed6ab0b.md index c84a07e7169..c6f18b469d3 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/642213bf8d38b0227ed6ab0b.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/642213bf8d38b0227ed6ab0b.md @@ -7,7 +7,7 @@ dashedName: step-21 # --description-- -Your next regular expression will look for strings like `free money`. Start by declaring a `freeRegex` variable and assigning it a regular expression that will match the string `free money`. Remember to make it case-insensitive. +Dein nächster regulärer Ausdruck wird nach Strings wie `free money` suchen. Start by declaring a `freeRegex` variable and assigning it a regular expression that will match the string `free money`. Remember to make it case-insensitive. # --hints-- @@ -23,7 +23,7 @@ Deine `freeRegex`-Variable sollte ein regulärer Ausdruck sein. assert.instanceOf(freeRegex, RegExp); ``` -Your `freeRegex` should match `free money`. +Deine `freeRegex` sollte mit `free money` übereinstimmen. ```js assert.match('free money', freeRegex); diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/64233060735ddf06451c5c8c.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/64233060735ddf06451c5c8c.md index 8fe58c51ead..2d5ebdfde21 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/64233060735ddf06451c5c8c.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/64233060735ddf06451c5c8c.md @@ -7,7 +7,7 @@ dashedName: step-22 # --description-- -Add your new regular expression to your `denyList` array so you can test it. +Füge deinen neuen regulären Ausdruck zu deinem `denyList`-Array hinzu, damit du ihn testen kannst. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/64233094a1293c079b5b0996.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/64233094a1293c079b5b0996.md index 6bf5ea4aa81..81e1ac35ff3 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/64233094a1293c079b5b0996.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/64233094a1293c079b5b0996.md @@ -9,7 +9,7 @@ dashedName: step-23 Spam messages often use numbers instead of letters to bypass filters. Dein regulärer Ausdruck sollte diese erkennen. -Replace the `e` characters in your regular expression with character classes that match `e` and `3`. +Ersetze die `e`-Zeichen in deinem regulären Ausdruck durch Zeichenklassen, um mit `e` und `3` übereinzustimmen. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/6423322e71f8d108608005cb.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/6423322e71f8d108608005cb.md index 75148d006a6..2b37ac7c44d 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/6423322e71f8d108608005cb.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/6423322e71f8d108608005cb.md @@ -7,7 +7,7 @@ dashedName: step-24 # --description-- -Now update your `o` character to match `o` and `0` (the digit). +Aktualisiere nun das `o`-Zeichen, damit es mit `o` und `0` (der Ziffer) übereinstimmt. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/6423331f0527840934183aba.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/6423331f0527840934183aba.md index 72f4276e9ac..d8451b2f796 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/6423331f0527840934183aba.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/6423331f0527840934183aba.md @@ -9,7 +9,7 @@ dashedName: step-25 Your regex should match whole words, not partial words. That is, you do not want to match `hands-free money management`. -To do this, start by checking for spaces before and after your pattern. You can do this by using the meta character `\s`, which will match spaces, tabs, and line breaks. +Dazu überprüfst du zunächst, ob vor und nach deinem Muster Leerzeichen vorhanden sind. You can do this by using the meta character `\s`, which will match spaces, tabs, and line breaks. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/642335220b7d830a69eb59fb.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/642335220b7d830a69eb59fb.md index f641a6d8fe6..c2d3396e54b 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/642335220b7d830a69eb59fb.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/642335220b7d830a69eb59fb.md @@ -7,7 +7,7 @@ dashedName: step-26 # --description-- -If you try entering the message `free money`, you'll notice it doesn't match your expression! This is because `\s` doesn't match the beginning or end of the text. +Wenn du versuchst, die Nachricht `free money` einzugeben, wirst du feststellen, dass sie nicht mit deinem Ausdruck übereinstimmt! Das liegt daran, dass `\s` nicht mit dem Anfang oder Ende des Textes übereinstimmt. To match the beginning of the text, you can use the `^` anchor. This asserts that your pattern match starts at the beginning of the full string. diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/642335d232d7690b2d67dbaf.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/642335d232d7690b2d67dbaf.md index 3aefcc7650b..708d965f0bc 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/642335d232d7690b2d67dbaf.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/642335d232d7690b2d67dbaf.md @@ -11,7 +11,7 @@ You still aren't matching `free money` yet, because you need to match the end of Like the `^` anchor, you can use the `$` anchor to match the end of the string. -Update your regular expression to match either the end of the string or a space, like you did for the beginning of the string. +Aktualisiere deinen regulären Ausdruck so, dass er entweder mit dem Ende des Strings oder einem Leerzeichen übereinstimmt, wie du es für den Anfang des Strings gemacht hast. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/64233d08f234a310e73f9496.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/64233d08f234a310e73f9496.md index 830229ee43e..599ea3b031e 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/64233d08f234a310e73f9496.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/64233d08f234a310e73f9496.md @@ -7,9 +7,9 @@ dashedName: step-28 # --description-- -Your next regular expression will match strings like `stock alert`. Declare a `stockRegex` variable and assign it a regular expression that will match the string `stock alert`. Remember to make it case insensitive. +Dein nächster regulärer Ausdruck wird mit Strings wie `stock alert` übereinstimmen. Declare a `stockRegex` variable and assign it a regular expression that will match the string `stock alert`. Remember to make it case insensitive. -Add it to your `denyList` array as well. +Füge es auch zu deinem `denyList`-Array hinzu. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/64234598ef08dd13114edae5.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/64234598ef08dd13114edae5.md index 72e38704717..31ab10b96fb 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/64234598ef08dd13114edae5.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/64234598ef08dd13114edae5.md @@ -7,7 +7,7 @@ dashedName: step-30 # --description-- -Next update your `s` and `t` characters to also match `5` and `7` respectively. +Anschließend aktualisierst du die `s`- und `t`-Zeichen so, dass sie auch mit `5` bzw. `7` übereinstimmen. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/6423462975f33b14056583de.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/6423462975f33b14056583de.md index f95fdab5db3..60457fcf448 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/6423462975f33b14056583de.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/6423462975f33b14056583de.md @@ -7,7 +7,7 @@ dashedName: step-31 # --description-- -Character classes can take more than two characters. Replace your `a` character with a character class that matches `a`, `@`, and `4`. +Character classes can take more than two characters. Ersetze das `a`-Zeichen durch eine Zeichenklasse, die mit `a`, `@`, und `4` übereinstimmt. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/6423491485db5e1786dd6434.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/6423491485db5e1786dd6434.md index 1589a83cb12..4b0d86c9f63 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/6423491485db5e1786dd6434.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/6423491485db5e1786dd6434.md @@ -7,7 +7,7 @@ dashedName: step-34 # --description-- -Your final regular expression will look for strings like `dear friend`. Declare a `dearRegex` and assign it a regular expression that will match the string `dear friend`. Remember to make it case insensitive, and add it to your `denyList` array. +Your final regular expression will look for strings like `dear friend`. Declare a `dearRegex` and assign it a regular expression that will match the string `dear friend`. Denke daran, die Groß-/Kleinschreibung zu ignorieren, und füge sie zu deinem `denyList`-Array hinzu. # --hints-- diff --git a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/642349b5b7bae31af21cd5f8.md b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/642349b5b7bae31af21cd5f8.md index 79d8af466dc..591b6825a97 100644 --- a/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/642349b5b7bae31af21cd5f8.md +++ b/curriculum/challenges/german/15-javascript-algorithms-and-data-structures-22/learn-regular-expressions-by-building-a-spam-filter/642349b5b7bae31af21cd5f8.md @@ -9,7 +9,7 @@ dashedName: step-35 To put everything you have learned together, update your `dearRegex` to map the vowels to the corresponding numbers (note that `i` should match `1`, and also match the pipe symbol `|`), and to match whole words. -With that, your spam filter project is complete. +Damit ist dein Spamfilter-Projekt abgeschlossen. # --hints-- diff --git a/curriculum/challenges/italian/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617bc3386dc7d07d6469bf20.md b/curriculum/challenges/italian/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617bc3386dc7d07d6469bf20.md index 1c4b5bec85d..4108f1e670a 100644 --- a/curriculum/challenges/italian/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617bc3386dc7d07d6469bf20.md +++ b/curriculum/challenges/italian/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617bc3386dc7d07d6469bf20.md @@ -7,7 +7,7 @@ dashedName: step-32 # --description-- -Nota che per creare l'arancione, hai agito sui valori `rgb` aumentando l'intensità del rosso e diminuendo l'intensità del verde. Questo perché l'arancione è la combinazione di rosso e giallo, e si trova tra i due sulla ruota dei colori. +Nota che per creare l'arancione, hai agito sui valori `rgb` aumentando l'intensità del rosso e diminuendo l'intensità del verde. This is because orange is the combination of red and yellow. Per creare il colore terziario verde primavera, combina il ciano con il verde. Aggiorna la funzione `rgb` nella regola CSS `.two` in modo che il verde sia al valore massimo, e imposta il blu a `127`. diff --git a/curriculum/challenges/japanese/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617bc3386dc7d07d6469bf20.md b/curriculum/challenges/japanese/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617bc3386dc7d07d6469bf20.md index 7fbc6a956bc..fb880010a3a 100644 --- a/curriculum/challenges/japanese/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617bc3386dc7d07d6469bf20.md +++ b/curriculum/challenges/japanese/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617bc3386dc7d07d6469bf20.md @@ -7,7 +7,7 @@ dashedName: step-32 # --description-- -オレンジを作るには、`rgb` 値の赤の強度を増やし、緑の強度を減らさなければならないことに注目してください。 これは、オレンジが赤と黄色を混ぜ合わせたものであり、カラーホイール上でその 2 つの色の間にあるためです。 +オレンジを作るには、`rgb` 値の赤の強度を増やし、緑の強度を減らさなければならないことに注目してください。 This is because orange is the combination of red and yellow. 三次色のスプリンググリーン (黄緑) を作成するには、シアンと緑を混ぜ合わせます。 `.two` CSS ルール内の `rgb` 関数を変更して、緑を最大値に、青を `127` に設定してください。 diff --git a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617bc3386dc7d07d6469bf20.md b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617bc3386dc7d07d6469bf20.md index f3862fa2034..7ff37b68ba9 100644 --- a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617bc3386dc7d07d6469bf20.md +++ b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617bc3386dc7d07d6469bf20.md @@ -7,7 +7,7 @@ dashedName: step-32 # --description-- -Observe que, para criar laranja, você teve que aumentar a intensidade do vermelho e diminuir a intensidade dos valores `rgb` do verde. Isso porque laranja é a combinação de vermelho e amarelo, e cai entre as duas cores no círculo cromático. +Observe que, para criar laranja, você teve que aumentar a intensidade do vermelho e diminuir a intensidade dos valores `rgb` do verde. This is because orange is the combination of red and yellow. Para criar a cor terciária verde da primavera, combine ciano com verde. Atualize a função `rgb` na regra do CSS `.two` para que o verde fique no valor máximo e azul tenha o valor de `127`. diff --git a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646c47867800472a4ed5d2ea.md b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646c47867800472a4ed5d2ea.md index 9cd4e62258e..bbbdc617505 100644 --- a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646c47867800472a4ed5d2ea.md +++ b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646c47867800472a4ed5d2ea.md @@ -7,11 +7,11 @@ dashedName: step-1 # --description-- -Comece com a estrutura HTML básica. Add a `DOCTYPE` reference of `html` and an `html` element with its `lang` attribute set to `en`. Also, add a `head` and a `body` element within the `html` element. +Comece com a estrutura HTML básica. Adicione uma referência ao `DOCTYPE` do `html` e um elemento `html` com um atributo `lang` definido como `en`. Adicione, também, os elementos `head` e `body` dentro do elemento `html`. # --hints-- -You should have the `DOCTYPE` declaration of `html`. +Você deve criar uma declaração de `DOCTYPE` para `html`. ```js assert(code.match(//i)); @@ -23,13 +23,13 @@ A declaração `DOCTYPE` deve ser no início do HTML. assert(__helpers.removeHtmlComments(code).match(/^\s*/i)); ``` -You should have an opening `html` tag with a `lang` attribute of `en`. +Você deve ter uma tag de abertura `html` com um atributo `lang` de `en`. ```js assert(code.match(//gi)); ``` -You should have a closing `html` tag. +Você deve acrescentar uma tag de fechamento para `html`. ```js assert(code.match(/<\/html>/i)); @@ -59,13 +59,13 @@ Você deve ter uma tag de fechamento para `body`. assert(code.match(/<\/body>/i)); ``` -Your `body` element should come after the `head` element. +O elemento `body` deve estar depois do elemento `head`. ```js assert(code.match(/
\s*<\/head>\s*\s*<\/body>/i)); ``` -Your `head` and `body` elements should be inside the `html` element. +Os elementos `head` e `body` devem estar dentro do elemento `html`. ```js assert(code.match(/\s*\s*<\/head>\s*\s*<\/body>\s*<\/html>/i)); diff --git a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646c48df8674cf2b91020ecb.md b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646c48df8674cf2b91020ecb.md index 576a5327c11..2533c4f42e1 100644 --- a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646c48df8674cf2b91020ecb.md +++ b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646c48df8674cf2b91020ecb.md @@ -7,11 +7,11 @@ dashedName: step-2 # --description-- -Within your `head` element, add a `meta` tag with the `charset` attribute of `utf-8`. Also add a `title` element with the text `fCC Cat Painting`. +Dentro do elemento `head`, adicione uma tag `meta` com o atributo `charset` de `utf-8`. Adicione também um elemento `title` com o texto `fCC Cat Painting`. # --hints-- -You should add a single `meta` element. +Você deve adicionar um único elemento `meta`. ```js assert(document.querySelectorAll('meta').length === 1); @@ -23,13 +23,13 @@ O elemento `meta` deve ter o atributo `charset` com o valor `utf-8`. assert(document.querySelector('meta')?.getAttribute('charset')?.toLowerCase() === 'utf-8'); ``` -You should add a single `title` element. +Você deve adicionar um único elemento `title`. ```js assert(document.querySelectorAll('title').length === 1); ``` -Your `title` element should have the text `fCC Cat Painting`. Atente-se a ortografia e letras maiúsculas. +O elemento `title` deve ter o texto `fCC Cat Painting`. Atente-se a ortografia e letras maiúsculas. ```js assert(document.querySelector('title')?.innerText === 'fCC Cat Painting'); diff --git a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646dd9d9a729916460724f16.md b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646dd9d9a729916460724f16.md index 3d76731dd25..dda6c908052 100644 --- a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646dd9d9a729916460724f16.md +++ b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646dd9d9a729916460724f16.md @@ -7,23 +7,23 @@ dashedName: step-38 # --description-- -Move the right inner ear into position with a `position` property set to `absolute`, a `top` of `22px` and a `left` of `-20px`. +Mova a parte interna da orelha direita para o lugar com uma `position` `absolute`, um `top` de `22px` e um `left` de `-20px`. # --hints-- -Your `.cat-right-inner-ear` selector should have a `position` property set to `absolute`. +O seletor `.cat-right-inner-ear` deve ter a propriedade `position` definida como `absolute`. ```js assert(new __helpers.CSSHelp(document).getStyle('.cat-right-inner-ear')?.position === 'absolute') ``` -Your `.cat-right-inner-ear` selector should have a `top` property set to `22px`. +O seletor `.cat-right-inner-ear` deve ter a propriedade `top` definida como `22px`. ```js assert(new __helpers.CSSHelp(document).getStyle('.cat-right-inner-ear')?.top === '22px') ``` -Your `.cat-right-inner-ear` selector should have a `left` property set to `-20px`. +O seletor `.cat-right-inner-ear` deve ter a propriedade `left` definida como `-20px`. ```js assert(new __helpers.CSSHelp(document).getStyle('.cat-right-inner-ear')?.left === '-20px') diff --git a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646dddfb3a301c66ec513c56.md b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646dddfb3a301c66ec513c56.md index 3d86b147c9e..47a700bfccb 100644 --- a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646dddfb3a301c66ec513c56.md +++ b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646dddfb3a301c66ec513c56.md @@ -7,23 +7,23 @@ dashedName: step-42 # --description-- -Inside the `.cat-right-eye` element, create another `div` element with the class `cat-right-inner-eye`. +Dentro do elemento `.cat-right-eye`, crie outro elemento `div` com a classe `cat-right-inner-eye`. # --hints-- -You should not change the existing `div` element with the class `cat-left-eye`. +Você não deve alterar o elemento `div` existente com a classe `cat-left-eye`. ```js assert(document.querySelectorAll('div.cat-right-eye').length === 1); ``` -You should have a `div` element inside your `.cat-right-eye` element. +Você deve ter um elemento `div` dentro do elemento `.cat-right-eye`. ```js assert(document.querySelectorAll('.cat-right-eye div').length === 1); ``` -Your `div` element should have the class `cat-right-inner-eye`. +O elemento `div` deve ter a classe `cat-right-inner-eye`. ```js assert(document.querySelectorAll('.cat-right-eye div')[0]?.classList.contains('cat-right-inner-eye')); diff --git a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646de7b64467e96b7d35b5cd.md b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646de7b64467e96b7d35b5cd.md index cba488a8108..ee3e336bcae 100644 --- a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646de7b64467e96b7d35b5cd.md +++ b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646de7b64467e96b7d35b5cd.md @@ -7,23 +7,23 @@ dashedName: step-47 # --description-- -Move the right eye into position with a `position` property of `absolute` a `top` of `54px`, and a `left` of `134px`. +Mova o olho direito para o lugar com uma `position` `absolute`, um `top` de `54px` e um `left` de `134px`. # --hints-- -Your `.cat-right-eye` selector should have a `position` property set to `absolute`. +O seletor `.cat-right-eye` deve ter a propriedade `position` definida como `absolute`. ```js assert(new __helpers.CSSHelp(document).getStyle('.cat-right-eye')?.position === 'absolute') ``` -Your `.cat-right-eye` selector should have a `top` property set to `54px`. +O seletor `.cat-right-eye` deve ter a propriedade `top` definida como `54px`. ```js assert(new __helpers.CSSHelp(document).getStyle('.cat-right-eye')?.top === '54px') ``` -Your `.cat-right-eye` selector should have a `left` property set to `134px`. +O seletor `.cat-right-eye` deve ter a propriedade `left` definida como `134px`. ```js assert(new __helpers.CSSHelp(document).getStyle('.cat-right-eye')?.left === '134px') diff --git a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646dffd8ce9ac77ec1906f2e.md b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646dffd8ce9ac77ec1906f2e.md index d183b634fe3..a0cea2a39e9 100644 --- a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646dffd8ce9ac77ec1906f2e.md +++ b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646dffd8ce9ac77ec1906f2e.md @@ -7,29 +7,29 @@ dashedName: step-58 # --description-- -Inside your `.cat-mouth` element, create a `div` element with the class `cat-mouth-line-left` and another `div` with the class `cat-mouth-line-right`. +No elemento `.cat-mouth`, crie um elemento `div` com a classe `cat-mouth-line-left` e outra `div` com a classe `cat-mouth-line-right`. # --hints-- -You should not change the existing `div` element with the class `cat-mouth`. +Você não deve alterar o elemento `div` existente com a classe `cat-mouth`. ```js assert(document.querySelectorAll('div.cat-mouth').length === 1); ``` -You should have two `div` elements inside your `.cat-mouth` element. +Você deve ter dois elementos `div` dentro do elemento `.cat-mouth`. ```js assert(document.querySelectorAll('.cat-mouth div').length === 2); ``` -The first `div` element inside the `.cat-mouth` element should have the class `cat-mouth-line-left`. +O primeiro elemento `div` dentro do elemento `.cat-mouth` deve ter a classe `cat-mouth-line-left`. ```js assert(document.querySelectorAll('.cat-mouth div')[0]?.classList.contains('cat-mouth-line-left')); ``` -The second `div` element inside the `.cat-mouth` element should have the class `cat-mouth-line-right`. +O segundo elemento `div` dentro do elemento `.cat-mouth` deve ter a classe `cat-mouth-line-right`. ```js assert(document.querySelectorAll('.cat-mouth div')[1]?.classList.contains('cat-mouth-line-right')); diff --git a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646f0c9a1e3360092d1bbd33.md b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646f0c9a1e3360092d1bbd33.md index ae97b323f08..2f210503d9a 100644 --- a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646f0c9a1e3360092d1bbd33.md +++ b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646f0c9a1e3360092d1bbd33.md @@ -7,11 +7,11 @@ dashedName: step-64 # --description-- -Rotate the right mouth line at `165` degrees. +Gire a linha da direita da boca em `165` graus. # --hints-- -Your `.cat-mouth-line-left` property should have a `transform` property set to `rotate(165deg)`. +O seletor `.cat-mouth-line-left` deve ter a propriedade `transform` definida como `rotate(165deg)`. ```js assert(new __helpers.CSSHelp(document).getStyle('.cat-mouth-line-right')?.transform === 'rotate(165deg)') diff --git a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646f0ce5737243098ad6e494.md b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646f0ce5737243098ad6e494.md index 170b67b279b..58be8606709 100644 --- a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646f0ce5737243098ad6e494.md +++ b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646f0ce5737243098ad6e494.md @@ -7,9 +7,9 @@ dashedName: step-65 # --description-- -The last thing you will work on is the whiskers. There are going to be 6 of them, meaning there will be three on each side. +A última coisa em que você vai trabalhar são os bigodes do gato. Haverá 6 deles, o que significa que haverá três de cada lado. -Create a `div` element with the class `cat-whiskers`. +Crie um elemento `div` com a classe `cat-whiskers`. # --hints-- @@ -19,7 +19,7 @@ Você deve criar um elemento `div`. assert(document.querySelectorAll('div').length === 16) ``` -Your div element should have the class `cat-whiskers`. +O elemento div deve ter a classe `cat-whiskers`. ```js assert(document.querySelectorAll('div')[15].classList.contains('cat-whiskers')) diff --git a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646f0f7c5933560af8e7e380.md b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646f0f7c5933560af8e7e380.md index 4e62321899b..5e7e5c77e35 100644 --- a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646f0f7c5933560af8e7e380.md +++ b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646f0f7c5933560af8e7e380.md @@ -7,35 +7,35 @@ dashedName: step-67 # --description-- -Inside the `.cat-whiskers-left` element, create three `div` elements with the classes `cat-whisker-left-top`, `cat-whisker-left-middle`, and `cat-whisker-left-bottom`. +Dentro do elemento `.cat-whiskers-left`, crie três elementos `div` com as classes `cat-whisker-left-top`, `cat-whisker-left-middle` e `cat-whisker-left-bottom`. # --hints-- -You should not change the existing `div` element with class `cat-whiskers-left`. +Você não deve alterar o elemento `div` existente com a classe `cat-whiskers-left`. ```js assert(document.querySelectorAll('div.cat-whiskers-left').length === 1) ``` -You should create three `div` elements inside your `.cat-whiskers-left` element. +Você deve criar três elementos `div` dentro do elemento `.cat-whiskers-left`. ```js assert(document.querySelectorAll('.cat-whiskers-left div').length === 3) ``` -The first `div` element inside the `.cat-whiskers-left` element should have the class `cat-whisker-left-top`. +O primeiro elemento `div` dentro do elemento `.cat-whiskers-left` deve ter a classe `cat-whisker-left-top`. ```js assert(document.querySelectorAll('.cat-whiskers-left div')[0].classList.contains('cat-whisker-left-top')) ``` -The second `div` element inside the `.cat-whiskers-left` element should have the class `cat-whisker-left-middle`. +O segundo elemento `div` dentro do elemento `.cat-whiskers-left` deve ter a classe `cat-whisker-left-middle`. ```js assert(document.querySelectorAll('.cat-whiskers-left div')[1].classList.contains('cat-whisker-left-middle')) ``` -The third `div` element inside the `.cat-whiskers-left` element should have the class `cat-whisker-left-bottom`. +O terceiro elemento `div` dentro do elemento `.cat-whiskers-left` deve ter a classe `cat-whisker-left-bottom`. ```js assert(document.querySelectorAll('.cat-whiskers-left div')[2].classList.contains('cat-whisker-left-bottom')) diff --git a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646f164bf100dd11d226161f.md b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646f164bf100dd11d226161f.md index 3d23cd902ee..292db43a99b 100644 --- a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646f164bf100dd11d226161f.md +++ b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646f164bf100dd11d226161f.md @@ -7,11 +7,11 @@ dashedName: step-74 # --description-- -Rotate the left middle whisker at 3 degrees. +Gire o bigode do meio à esquerda em 3 graus. # --hints-- -Your `.cat-whisker-left-middle` selector should have a `transform` property set to `rotate(3deg)`. +O seletor `.cat-whisker-left-middle` deve ter a propriedade `transform` definida como `rotate(3deg)`. ```js assert(new __helpers.CSSHelp(document).getStyle('.cat-whisker-left-middle')?.transform === 'rotate(3deg)') diff --git a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646f4fe12b7985232bf475a5.md b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646f4fe12b7985232bf475a5.md index 7254433efb9..b2bbff8f354 100644 --- a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646f4fe12b7985232bf475a5.md +++ b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646f4fe12b7985232bf475a5.md @@ -7,11 +7,11 @@ dashedName: step-80 # --description-- -Rotate the right middle whisker at -3 degrees. +Gire o bigode do meio à direita em -3 graus. # --hints-- -Your `.cat-whisker-right-middle` selector should have a `transform` property set to `rotate(-3deg)`. +O seletor `.cat-whisker-right-middle` deve ter a propriedade `transform` definida como `rotate(-3deg)`. ```js assert(new __helpers.CSSHelp(document).getStyle('.cat-whisker-right-middle')?.transform === 'rotate(-3deg)') diff --git a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646f507e4d1cd323f17db4fc.md b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646f507e4d1cd323f17db4fc.md index f772d6fb19d..9bcd7b9625d 100644 --- a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646f507e4d1cd323f17db4fc.md +++ b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646f507e4d1cd323f17db4fc.md @@ -7,30 +7,30 @@ dashedName: step-81 # --description-- -Use class selector to target the `.cat-whisker-right-bottom` element, then move it into place with a `position` of `absolute`, a `top` of `134px`, and a `left` of `109px`. +Use um seletor de classe que tenha como objetivo o elemento `.cat-whisker-right-bottom` e coloque-o no lugar com uma `position` `absolute`, um `top` de `134px` e um `left` de `109px`. # --hints-- -You should have a `.cat-whisker-right-bottom` selector. +Você deve ter um seletor `.cat-whisker-right-bottom`. ```js assert(new __helpers.CSSHelp(document).getStyle('.cat-whisker-right-bottom')) ``` -Your `.cat-whisker-right-bottom` selector should have a `position` property set to `absolute`. +O seletor `.cat-whisker-right-bottom` deve ter a propriedade `position` definida como `absolute`. ```js assert(new __helpers.CSSHelp(document).getStyle('.cat-whisker-right-bottom')?.position === 'absolute') ``` -Your `.cat-whisker-right-bottom` selector should have a `top` property set to `134px`. +O seletor `.cat-whisker-right-bottom` deve ter a propriedade `top` definida como `134px`. ```js assert(new __helpers.CSSHelp(document).getStyle('.cat-whisker-right-bottom')?.top === '134px') ``` -Your `.cat-whisker-right-bottom` selector should have a `left` property set to `109px`. +O seletor `.cat-whisker-right-bottom` deve ter a propriedade `left` definida como `109px`. ```js assert(new __helpers.CSSHelp(document).getStyle('.cat-whisker-right-bottom')?.left === '109px') diff --git a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/6476fb7cbaafa36d65e9cf35.md b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/6476fb7cbaafa36d65e9cf35.md index 90397fcfbd6..ee8ac05064f 100644 --- a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/6476fb7cbaafa36d65e9cf35.md +++ b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/6476fb7cbaafa36d65e9cf35.md @@ -7,9 +7,9 @@ dashedName: step-12 # --description-- -`fixed` is a `position` property value that lets you make an element fixed to the page no matter where the user scrolls to on the page. +`fixed` é um valor de propriedade `position` que permite deixar um elemento fixo na página, não importando para onde o usuário role a página. -You'll have to do some more markups to see how `fixed` positioning works. In your HTML, create a `div` element with the class `box`. +Você terá que criar mais marcações do html para ver como o posicionamento `fixed` funciona. No HTML, crie um elemento `div` com a classe `box`. # --hints-- @@ -19,7 +19,7 @@ Você deve ter um elemento `div`. assert(document.querySelectorAll('div').length === 2); ``` -Your `div` element should have the class `box`. +O elemento `div` deve ter a classe `box`. ```js assert(document.querySelectorAll('div')[1]?.getAttribute('class') === 'box'); diff --git a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/64a26ac5540c5493f4641f10.md b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/64a26ac5540c5493f4641f10.md index fabf5c91138..8a826308861 100644 --- a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/64a26ac5540c5493f4641f10.md +++ b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/64a26ac5540c5493f4641f10.md @@ -7,7 +7,7 @@ dashedName: step-60 # --description-- -You are going to make the two mouth lines into an elliptical shape. So, give the `.cat-mouth div` selector a border color of `black transparent transparent transparent` and a border radius of `190%/190px 150px 0 0`. +Você vai criar duas linhas para a boca do gato no formato de uma elipse. So, give the `.cat-mouth div` selector a border color of `black transparent transparent transparent` and a border radius of `190%/190px 150px 0 0`. # --hints-- diff --git a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/64a3bcbc83e574b58c8ed048.md b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/64a3bcbc83e574b58c8ed048.md index 34578cb275c..c979b7b707f 100644 --- a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/64a3bcbc83e574b58c8ed048.md +++ b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/64a3bcbc83e574b58c8ed048.md @@ -7,29 +7,29 @@ dashedName: step-70 # --description-- -As you did in the previous step, use a descendant selector to target the three `div` elements inside your `.cat-whiskers-right` element. Give it a `width` of `40px`, a `height` of `1px`, and a `background-color` of `#000`. +Como você fez na etapa anterior, use um seletor descendente que aponte para os três elementos `div` dentro do elemento `.cat-whiskers-right`. Dê a ele uma `width` de `40px`, uma `height` de `1px` e uma `background-color` de `#000`. # --hints-- -You should have a `.cat-whiskers-right div` selector. +Você deve ter um seletor `.cat-whiskers-right div`. ```js assert(new __helpers.CSSHelp(document).getStyle('.cat-whiskers-right div')) ``` -Your `.cat-whiskers-right div` selector should have a `width` set to `40px`. +O seletor `.cat-whiskers-right div` deve ter a propriedade `width` definida como `40px`. ```js assert(new __helpers.CSSHelp(document).getStyle('.cat-whiskers-right div')?.width === '40px') ``` -Your `.cat-whiskers-right div` selector should have a `height` set to `1px`. +O seletor `.cat-whiskers-right div` deve ter a propriedade `height` definida como `1px`. ```js assert(new __helpers.CSSHelp(document).getStyle('.cat-whiskers-right div')?.height === '1px') ``` -Your `.cat-whiskers-right div` selector should have a `background-color` set to `#000`. +O seletor `.cat-whiskers-right div` deve ter a propriedade `background-color` definida como `#000`. ```js assert(new __helpers.CSSHelp(document).getStyle('.cat-whiskers-right div')?.backgroundColor === 'rgb(0, 0, 0)') diff --git a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/620192a767533a7ad19d96d7.md b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/620192a767533a7ad19d96d7.md index 670fb06cf75..c0ce6f67497 100644 --- a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/620192a767533a7ad19d96d7.md +++ b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/620192a767533a7ad19d96d7.md @@ -9,7 +9,7 @@ dashedName: step-57 A diferença principal entre `tr[class="total"]` e `tr.total` é que o primeiro selecionará os elementos `tr` onde a classe for *apenas* `total`. O segundo selecionará os elementos `tr` em que a(s) class(es) *incluam* `total`. -Nesse caso, `tr.total` servirá. Você pode usar esse seletor com foco nos elementos `td` dentro das linhas `.total`. Alinha o texto à esquerda e dê a eles um preenchimento (padding) de `0 0.25rem`. +Nesse caso, `tr.total` servirá. Você pode usar esse seletor com foco nos elementos `td` dentro das linhas `.total`. Alinha o texto à direita e dê a ele um preenchimento (padding) de `0 0.25rem`. # --hints-- diff --git a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f7e7281626a92bbd62da8.md b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f7e7281626a92bbd62da8.md index 6cf6f2ac203..08eef4f15f1 100644 --- a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f7e7281626a92bbd62da8.md +++ b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f7e7281626a92bbd62da8.md @@ -29,7 +29,7 @@ O novo elemento `p` deve ter três elementos `span`. assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.querySelectorAll('span')?.length === 3); ``` -A `span` element should wrap the text `Sodium 160mg`. +Um elemento `span` deve encapsular o texto `Sodium 160mg`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.firstElementChild?.innerText?.match(/Sodium[\s|\n]160mg/)); diff --git a/curriculum/challenges/swahili/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617bc3386dc7d07d6469bf20.md b/curriculum/challenges/swahili/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617bc3386dc7d07d6469bf20.md index c5e7c14f1b7..ff6fa2544f5 100644 --- a/curriculum/challenges/swahili/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617bc3386dc7d07d6469bf20.md +++ b/curriculum/challenges/swahili/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617bc3386dc7d07d6469bf20.md @@ -7,7 +7,7 @@ dashedName: step-32 # --description-- -Fahamu kwamba, ili kuunda rangi ya chungwa, ilibidi uongeze nguvu ya nyekundu na kupunguza ukubwa wa thamani za kijani katika `rgb`. Hii ni kwa sababu rangi ya chungwa ni mchanganyiko wa nyekundu na njano, na huanguka kati ya rangi mbili kwenye gurudumu la rangi. +Fahamu kwamba, ili kuunda rangi ya chungwa, ilibidi uongeze nguvu ya nyekundu na kupunguza ukubwa wa thamani za kijani katika `rgb`. This is because orange is the combination of red and yellow. Ili kuunda rangi ya tertiary ya chemchemi ya kijani, changanya cyan na kijani. Sasisha kitendakazi cha `rgb` katika sheria ya CSS ya `.two` ili kijani kifikie thamani ya juu zaidi, na uweke bluu kuwa `127`. diff --git a/curriculum/challenges/ukrainian/03-front-end-development-libraries/front-end-development-libraries-projects/build-a-25-5-clock.md b/curriculum/challenges/ukrainian/03-front-end-development-libraries/front-end-development-libraries-projects/build-a-25-5-clock.md index b9ecbd4284b..79247f03afc 100644 --- a/curriculum/challenges/ukrainian/03-front-end-development-libraries/front-end-development-libraries-projects/build-a-25-5-clock.md +++ b/curriculum/challenges/ukrainian/03-front-end-development-libraries/front-end-development-libraries-projects/build-a-25-5-clock.md @@ -8,73 +8,73 @@ dashedName: build-a-25--5-clock # --description-- -**Note:** **React 18 has known incompatibilities with the tests for this project (see [issue](https://github.com/freeCodeCamp/freeCodeCamp/issues/45922))** +**Примітка:** **React 18 містить відомі несумісності з тестами цього проєкту (див. [проблему](https://github.com/freeCodeCamp/freeCodeCamp/issues/45922))** -**Objective:** Build an app that is functionally similar to this: https://25--5-clock.freecodecamp.rocks. +**Мета:** створити застосунок, функціонально схожий до https://25--5-clock.freecodecamp.rocks. -Fulfill the below user stories and get all of the tests to pass. Use whichever libraries or APIs you need. Give it your own personal style. +Виконайте історію користувача та пройдіть тести. Використовуйте необхідні вам бібліотеки або API. Оформте за власним стилем. -You can use any mix of HTML, JavaScript, CSS, Bootstrap, SASS, React, Redux, and jQuery to complete this project. You should use a frontend framework (like React for example) because this section is about learning frontend frameworks. Additional technologies not listed above are not recommended and using them is at your own risk. We are looking at supporting other frontend frameworks like Angular and Vue, but they are not currently supported. We will accept and try to fix all issue reports that use the suggested technology stack for this project. Happy coding! +Для виконання цього проєкту можна використати різне поєднання HTML, JavaScript, CSS, Bootstrap, SASS, React, Redux та jQuery. Потрібно використати фронтенд фреймворк (наприклад, React), оскільки цей розділ стосується їх вивчення. Ми не рекомендуємо використовувати інші технології та ресурси, що не були вказані вище, але ви можете застосовувати їх на власний розсуд. Ми розглядаємо використання інших фронтенд фреймворків, серед яких Angular та Vue, але наразі вони не підтримуються. Ми візьмемо до уваги і спробуємо виправити всі звіти, що використовують запропонований технологічний стек у цьому проєкті. Щасливого програмування! -**User Story #1:** I can see an element with `id="break-label"` that contains a string (e.g. "Break Length"). +**Історія користувача №1:** я бачу елемент з `id="break-label"`, що містить рядок (наприклад, «Break Length»). -**User Story #2:** I can see an element with `id="session-label"` that contains a string (e.g. "Session Length"). +**Історія користувача №2:** я бачу елемент з `id="session-label"`, що містить рядок (наприклад, «Session Length»). -**User Story #3:** I can see two clickable elements with corresponding IDs: `id="break-decrement"` and `id="session-decrement"`. +**Історія користувача №3:** я бачу два активні елементи з відповідними ID: `id="break-decrement"` та `id="session-decrement"`. -**User Story #4:** I can see two clickable elements with corresponding IDs: `id="break-increment"` and `id="session-increment"`. +**Історія користувача №4:** я бачу два активні елементи з відповідними ID: `id="break-increment"` та `id="session-increment"`. -**User Story #5:** I can see an element with a corresponding `id="break-length"`, which by default (on load) displays a value of 5. +**Історія користувача №5:** я бачу елемент з відповідним `id="break-length"`, що за замовчуванням (при завантаженні) показує значення 5. -**User Story #6:** I can see an element with a corresponding `id="session-length"`, which by default displays a value of 25. +**Історія користувача №6:** я бачу елемент з відповідним `id="session-length"`, що за замовчуванням показує значення 25. -**User Story #7:** I can see an element with a corresponding `id="timer-label"`, that contains a string indicating a session is initialized (e.g. "Session"). +**Історія користувача №7:** я бачу елемент з відповідним `id="timer-label"`, що містить рядок, який позначає ініціалізацію сеансу (наприклад, «Session»). -**User Story #8:** I can see an element with corresponding `id="time-left"`. NOTE: Paused or running, the value in this field should always be displayed in `mm:ss` format (i.e. 25:00). +**Історія користувача №8:** я бачу елемент з відповідним `id="time-left"`. ПРИМІТКА: зупинене чи активне, значення цього поля завжди має знаходитись у форматі `mm:ss` (тобто 25:00). -**User Story #9:** I can see a clickable element with a corresponding `id="start_stop"`. +**Історія користувача №9:** я бачу активний елемент з відповідним `id="start_stop"`. -**User Story #10:** I can see a clickable element with a corresponding `id="reset"`. +**Історія користувача №10:** я бачу активний елемент з відповідним `id="reset"`. -**User Story #11:** When I click the element with the id of `reset`, any running timer should be stopped, the value within `id="break-length"` should return to `5`, the value within `id="session-length"` should return to 25, and the element with `id="time-left"` should reset to its default state. +**Історія користувача №11:** якщо натиснути елемент з id зі значенням `reset`, то будь-який запущений таймер зупиниться, значення в межах `id="break-length"` повернеться до `5`, значення в межах `id="session-length"` повернеться до 25, а елемент в `id="time-left"` повернеться до початкового стану. -**User Story #12:** When I click the element with the id of `break-decrement`, the value within `id="break-length"` decrements by a value of 1, and I can see the updated value. +**Історія користувача №12:** коли я натискаю на елемент з id зі значенням `break-decrement`, то значення в межах `id="break-length"` зменшується на 1 та я бачу оновлене значення. -**User Story #13:** When I click the element with the id of `break-increment`, the value within `id="break-length"` increments by a value of 1, and I can see the updated value. +**Історія користувача №13:** коли я натискаю на елемент з id зі значенням `break-increment`, то значення в межах `id="break-length"` збільшується на 1 та я бачу оновлене значення. -**User Story #14:** When I click the element with the id of `session-decrement`, the value within `id="session-length"` decrements by a value of 1, and I can see the updated value. +**Історія користувача №14:** коли я натискаю на елемент з id зі значенням `session-decrement`, то значення в межах `id="session-length"` зменшується на 1 та я бачу оновлене значення. -**User Story #15:** When I click the element with the id of `session-increment`, the value within `id="session-length"` increments by a value of 1, and I can see the updated value. +**Історія користувача №15:** коли я натискаю на елемент з id зі значенням `session-increment`, то значення в межах `id="session-length"` збільшується на 1 та я бачу оновлене значення. -**User Story #16:** I should not be able to set a session or break length to <= 0. +**Історія користувача №16:** я не можу встановити тривалість сеансу або перерви на <= 0. -**User Story #17:** I should not be able to set a session or break length to > 60. +**Історія користувача №17:** я не можу встановити тривалість сеансу або перерви на > 60. -**User Story #18:** When I first click the element with `id="start_stop"`, the timer should begin running from the value currently displayed in `id="session-length"`, even if the value has been incremented or decremented from the original value of 25. +**Історія користувача №18:** коли я вперше натискаю елемент з `id="start_stop"`, то таймер запуститься з поточного значення в `id="session-length"`, навіть якщо значення більше чи менше за початкове значення 25. -**User Story #19:** If the timer is running, the element with the id of `time-left` should display the remaining time in `mm:ss` format (decrementing by a value of 1 and updating the display every 1000ms). +**Історія користувача №19:** якщо таймер запущений, то елемент з id зі значенням `time-left` має відтворити залишковий час в форматі `mm:ss` (зменшуючись на 1 та оновлюючи дисплей кожні 1000 мс). -**User Story #20:** If the timer is running and I click the element with `id="start_stop"`, the countdown should pause. +**Історія користувача №20:** якщо таймер запущений та я натискаю елемент з `id="start_stop"`, то відлік часу зупиниться. -**User Story #21:** If the timer is paused and I click the element with `id="start_stop"`, the countdown should resume running from the point at which it was paused. +**Історія користувача №21:** якщо таймер зупинений та я натискаю елемент з `id="start_stop"`, то відлік часу відновиться з моменту, на якому був зупинений. -**User Story #22:** When a session countdown reaches zero (NOTE: timer MUST reach 00:00), and a new countdown begins, the element with the id of `timer-label` should display a string indicating a break has begun. +**Історія користувача №22:** якщо відлік сеансу досягає нуля (ПРИМІТКА: таймер ПОВИНЕН досягти 00:00) та починається новий відлік, то елемент з id зі значенням `timer-label` має відтворити рядок, що вказує початок перерви. -**User Story #23:** When a session countdown reaches zero (NOTE: timer MUST reach 00:00), a new break countdown should begin, counting down from the value currently displayed in the `id="break-length"` element. +**Історія користувача №23:** якщо відлік сеансу досягає нуля (ПРИМІТКА: таймер ПОВИНЕН досягти 00:00), то починається новий відлік перерви, що рахується від поточного значення в елементі `id="break-length"`. -**User Story #24:** When a break countdown reaches zero (NOTE: timer MUST reach 00:00), and a new countdown begins, the element with the id of `timer-label` should display a string indicating a session has begun. +**Історія користувача №24:** якщо відлік перерви досягає нуля (ПРИМІТКА: таймер ПОВИНЕН досягти 00:00) та починається новий відлік, то елемент з id зі значенням `timer-label` має відтворити рядок, що вказує на початок сеансу. -**User Story #25:** When a break countdown reaches zero (NOTE: timer MUST reach 00:00), a new session countdown should begin, counting down from the value currently displayed in the `id="session-length"` element. +**Історія користувача №25:** якщо відлік перерви досягає нуля (ПРИМІТКА: таймер ПОВИНЕН досягти 00:00), то починається новий відлік сеансу, що рахується від поточного значення в елементі `id="session-length"`. -**User Story #26:** When a countdown reaches zero (NOTE: timer MUST reach 00:00), a sound indicating that time is up should play. This should utilize an HTML5 `audio` tag and have a corresponding `id="beep"`. +**Історія користувача №26:** якщо відлік досягає нуля (ПРИМІТКА: таймер ПОВИНЕН досягти 00:00), то має прозвучати звук, що означає вичерпаний час. Він має використати HTML5-елемент `audio` та мати відповідний `id="beep"`. -**User Story #27:** The audio element with `id="beep"` must be 1 second or longer. +**Історія користувача №27:** аудіоелемент з `id="beep"` має тривати 1 секунду або більше. -**User Story #28:** The audio element with id of `beep` must stop playing and be rewound to the beginning when the element with the id of `reset` is clicked. +**Історія користувача №28:** аудіоелемент з id зі значенням `beep` має зупинитись та перемотатись напочаток, якщо натиснути елемент з id зі значенням `reset`. -You can build your project by using this CodePen template and clicking `Save` to create your own pen. Or you can use this CDN link to run the tests in any environment you like: `https://cdn.freecodecamp.org/testable-projects-fcc/v1/bundle.js` +Ви можете створити свій проєкт, використавши цей шаблон CodePen та натиснувши `Save`. Або ж ви можете скористатися цим посиланням CDN, щоб виконати тести в будь-якому середовищі: `https://cdn.freecodecamp.org/testable-projects-fcc/v1/bundle.js` -Once you're done, submit the URL to your working project with all its tests passing. +Як тільки закінчите, надайте посилання на свій проєкт з усіма пройденими тестами. # --solutions-- diff --git a/curriculum/challenges/ukrainian/03-front-end-development-libraries/front-end-development-libraries-projects/build-a-drum-machine.md b/curriculum/challenges/ukrainian/03-front-end-development-libraries/front-end-development-libraries-projects/build-a-drum-machine.md index 2f429fc1241..116fa1adfa5 100644 --- a/curriculum/challenges/ukrainian/03-front-end-development-libraries/front-end-development-libraries-projects/build-a-drum-machine.md +++ b/curriculum/challenges/ukrainian/03-front-end-development-libraries/front-end-development-libraries-projects/build-a-drum-machine.md @@ -1,35 +1,35 @@ --- id: 587d7dbc367417b2b2512bae -title: Створити драм-машину (ритм-машину) +title: Створіть драм машину challengeType: 3 forumTopicId: 301370 dashedName: build-a-drum-machine --- # --description-- -**Note:** **React 18 has known incompatibilities with the tests for this project (see [issue](https://github.com/freeCodeCamp/freeCodeCamp/issues/45922))** +**Примітка:** **React 18 містить відомі несумісності з тестами цього проєкту (див. [проблему](https://github.com/freeCodeCamp/freeCodeCamp/issues/45922))** -**Objective:** Build an app that is functionally similar to this: https://drum-machine.freecodecamp.rocks/. +**Мета:** створити застосунок, функціонально схожий до https://drum-machine.freecodecamp.rocks/. -Fulfill the below user stories and get all of the tests to pass. Use whichever libraries or APIs you need. Give it your own personal style. +Виконайте історію користувача та пройдіть тести. Використовуйте необхідні вам бібліотеки або API. Оформте за власним стилем. -You can use any mix of HTML, JavaScript, CSS, Bootstrap, SASS, React, Redux, and jQuery to complete this project. You should use a frontend framework (like React for example) because this section is about learning frontend frameworks. Additional technologies not listed above are not recommended and using them is at your own risk. We are looking at supporting other frontend frameworks like Angular and Vue, but they are not currently supported. We will accept and try to fix all issue reports that use the suggested technology stack for this project. Happy coding! +Для виконання цього проєкту можна використати різне поєднання HTML, JavaScript, CSS, Bootstrap, SASS, React, Redux та jQuery. Потрібно використати фронтенд фреймворк (наприклад, React), оскільки цей розділ стосується їх вивчення. Ми не рекомендуємо використовувати інші технології та ресурси, що не були вказані вище, але ви можете застосовувати їх на власний розсуд. Ми розглядаємо використання інших фронтенд фреймворків, серед яких Angular та Vue, але наразі вони не підтримуються. Ми візьмемо до уваги і спробуємо виправити всі звіти, що використовують запропонований технологічний стек у цьому проєкті. Щасливого програмування! -**User Story #1:** I should be able to see an outer container with a corresponding `id="drum-machine"` that contains all other elements. +**Історія користувача №1:** я бачу внутрішній контейнер з відповідним `id="drum-machine"`, який містить всі інші елементи. -**User Story #2:** Within `#drum-machine` I can see an element with a corresponding `id="display"`. +**Історія користувача №2:** я бачу елемент з відповідним `id="display"` в межах `#drum-machine`. -**User Story #3:** Within `#drum-machine` I can see 9 clickable drum pad elements, each with a class name of `drum-pad`, a unique id that describes the audio clip the drum pad will be set up to trigger, and an inner text that corresponds to one of the following keys on the keyboard: `Q`, `W`, `E`, `A`, `S`, `D`, `Z`, `X`, `C`. The drum pads MUST be in this order. +**Історія користувача №3:** я бачу 9 активних драм падів в межах `#drum-machine`, кожен з назвою класу `drum-pad`, унікальним id, що описує звук паду, та внутрішнім текстом, що відповідає одному з ключів на клавіатурі: `Q`, `W`, `E`, `A`, `S`, `D`, `Z`, `X`, `C`. Драм пади ПОВИННІ бути в цьому порядку. -**User Story #4:** Within each `.drum-pad`, there should be an HTML5 `audio` element which has a `src` attribute pointing to an audio clip, a class name of `clip`, and an id corresponding to the inner text of its parent `.drum-pad` (e.g. `id="Q"`, `id="W"`, `id="E"` etc.). +**Історія користувача №4:** в межах кожного `.drum-pad` існує HTML5-елемент `audio`, який має атрибут `src`, що вказує на аудіозапис, назву класу `clip` та id, що відповідає внутрішньому тексту батьківського елемента `.drum-pad` (тобто `id="Q"`, `id="W"`, `id="E"` тощо). -**User Story #5:** When I click on a `.drum-pad` element, the audio clip contained in its child `audio` element should be triggered. +**Історія користувача №5:** якщо натиснути елемент `.drum-pad`, то відтвориться аудіозапис, збережений в його дочірньому елементі `audio`. -**User Story #6:** When I press the trigger key associated with each `.drum-pad`, the audio clip contained in its child `audio` element should be triggered (e.g. pressing the `Q` key should trigger the drum pad which contains the string `Q`, pressing the `W` key should trigger the drum pad which contains the string `W`, etc.). +**Історія користувача №6:** якщо натиснути ключ, пов’язаний з кожним елементом `.drum-pad`, то відтвориться аудіозапис, збережений в його дочірньому елементі `audio` (тобто, якщо натиснути ключ `Q`, то відтвориться драм пад, який містить рядок `Q`; якщо натиснути ключ `W`, то відтвориться драм пад, який містить рядок `W` тощо). -**User Story #7:** When a `.drum-pad` is triggered, a string describing the associated audio clip is displayed as the inner text of the `#display` element (each string must be unique). +**Історія користувача №7:** якщо натиснути `.drum-pad`, то відтвориться рядок, який описує відповідний аудіозапис як внутрішній текст елемента `#display` (кожен рядок має бути унікальним). -Here are some audio samples you can use for your drum machine: +Ось декілька аудіозаписів, які ви можете використати для своєї драм машини: - [Heater 1](https://s3.amazonaws.com/freecodecamp/drums/Heater-1.mp3) - [Heater 2](https://s3.amazonaws.com/freecodecamp/drums/Heater-2.mp3) @@ -41,9 +41,9 @@ Here are some audio samples you can use for your drum machine: - [Kick](https://s3.amazonaws.com/freecodecamp/drums/RP4_KICK_1.mp3) - [Closed-HH](https://s3.amazonaws.com/freecodecamp/drums/Cev_H2.mp3) -You can build your project by using this CodePen template and clicking `Save` to create your own pen. Or you can use this CDN link to run the tests in any environment you like: `https://cdn.freecodecamp.org/testable-projects-fcc/v1/bundle.js` +Ви можете створити свій проєкт, використавши цей шаблон CodePen та натиснувши `Save`. Або ж ви можете скористатися цим посиланням CDN, щоб виконати тести в будь-якому середовищі: `https://cdn.freecodecamp.org/testable-projects-fcc/v1/bundle.js` -Once you're done, submit the URL to your working project with all its tests passing. +Як тільки закінчите, надайте посилання на свій проєкт з усіма пройденими тестами. # --solutions-- diff --git a/curriculum/challenges/ukrainian/03-front-end-development-libraries/front-end-development-libraries-projects/build-a-javascript-calculator.md b/curriculum/challenges/ukrainian/03-front-end-development-libraries/front-end-development-libraries-projects/build-a-javascript-calculator.md index df9677e4443..9d868919048 100644 --- a/curriculum/challenges/ukrainian/03-front-end-development-libraries/front-end-development-libraries-projects/build-a-javascript-calculator.md +++ b/curriculum/challenges/ukrainian/03-front-end-development-libraries/front-end-development-libraries-projects/build-a-javascript-calculator.md @@ -1,60 +1,60 @@ --- id: bd7158d8c442eddfaeb5bd17 -title: Створення Калькулятора за допомогою JavaScript +title: Створіть калькулятор JavaScript challengeType: 3 forumTopicId: 301371 dashedName: build-a-javascript-calculator --- # --description-- -**Note:** **React 18 has known incompatibilities with the tests for this project (see [issue](https://github.com/freeCodeCamp/freeCodeCamp/issues/45922))** +**Примітка:** **React 18 містить відомі несумісності з тестами цього проєкту (див. [проблему](https://github.com/freeCodeCamp/freeCodeCamp/issues/45922))** -**Objective:** Build an app that is functionally similar to this: https://javascript-calculator.freecodecamp.rocks/. +**Мета:** створити застосунок, функціонально схожий до https://javascript-calculator.freecodecamp.rocks/. -Fulfill the below user stories and get all of the tests to pass. Use whichever libraries or APIs you need. Give it your own personal style. +Виконайте історію користувача та пройдіть тести. Використовуйте необхідні вам бібліотеки або API. Оформте за власним стилем. -You can use any mix of HTML, JavaScript, CSS, Bootstrap, SASS, React, Redux, and jQuery to complete this project. You should use a frontend framework (like React for example) because this section is about learning frontend frameworks. Additional technologies not listed above are not recommended and using them is at your own risk. We are looking at supporting other frontend frameworks like Angular and Vue, but they are not currently supported. We will accept and try to fix all issue reports that use the suggested technology stack for this project. Happy coding! +Для виконання цього проєкту можна використати різне поєднання HTML, JavaScript, CSS, Bootstrap, SASS, React, Redux та jQuery. Потрібно використати фронтенд фреймворк (наприклад, React), оскільки цей розділ стосується їх вивчення. Ми не рекомендуємо використовувати інші технології та ресурси, що не були вказані вище, але ви можете застосовувати їх на власний розсуд. Ми розглядаємо використання інших фронтенд фреймворків, серед яких Angular та Vue, але наразі вони не підтримуються. Ми візьмемо до уваги і спробуємо виправити всі звіти, що використовують запропонований технологічний стек у цьому проєкті. Щасливого програмування! -**User Story #1:** My calculator should contain a clickable element containing an `=` (equal sign) with a corresponding `id="equals"`. +**Історія користувача №1:** мій калькулятор містить активний елемент, що містить `=` (знак рівності) з відповідним `id="equals"`. -**User Story #2:** My calculator should contain 10 clickable elements containing one number each from 0-9, with the following corresponding IDs: `id="zero"`, `id="one"`, `id="two"`, `id="three"`, `id="four"`, `id="five"`, `id="six"`, `id="seven"`, `id="eight"`, and `id="nine"`. +**Історія користувача №2:** мій калькулятор містить 10 активних елементів, кожен з яких позначає цифру від 0 до 9 відповідним ID: `id="zero"`, `id="one"`, `id="two"`, `id="three"`, `id="four"`, `id="five"`, `id="six"`, `id="seven"`, `id="eight"` та `id="nine"`. -**User Story #3:** My calculator should contain 4 clickable elements each containing one of the 4 primary mathematical operators with the following corresponding IDs: `id="add"`, `id="subtract"`, `id="multiply"`, `id="divide"`. +**Історія користувача №3:** мій калькулятор містить 4 активні елементи, кожен з яких позначає один математичний оператор відповідним ID: `id="add"`, `id="subtract"`, `id="multiply"`, `id="divide"`. -**User Story #4:** My calculator should contain a clickable element containing a `.` (decimal point) symbol with a corresponding `id="decimal"`. +**Історія користувача №4:** мій калькулятор містить активний елемент, що містить `.` (десятковий розділювач) з відповідним `id="decimal"`. -**User Story #5:** My calculator should contain a clickable element with an `id="clear"`. +**Історія користувача №5:** мій калькулятор містить активний елемент з `id="clear"`. -**User Story #6:** My calculator should contain an element to display values with a corresponding `id="display"`. +**Історія користувача №6:** мій калькулятор містить елемент з відповідним `id="display"`, що показує значення. -**User Story #7:** At any time, pressing the `clear` button clears the input and output values, and returns the calculator to its initialized state; 0 should be shown in the element with the id of `display`. +**Історія користувача №7:** якщо натиснути кнопку `clear`, то очистяться введені та виведені дані, а калькулятор повернеться до початкового стану; в елементі з id зі значенням `display` має бути 0. -**User Story #8:** As I input numbers, I should be able to see my input in the element with the id of `display`. +**Історія користувача №8:** коли я ввожу числа, то я бачу введені дані в елементі з id зі значенням `display`. -**User Story #9:** In any order, I should be able to add, subtract, multiply and divide a chain of numbers of any length, and when I hit `=`, the correct result should be shown in the element with the id of `display`. +**Історія користувача №9:** я можу додати, відняти, помножити та поділити числа будь-якої довжини, а якщо натисну `=`, то побачу правильну відповідь в елементі з id зі значенням `display`. -**User Story #10:** When inputting numbers, my calculator should not allow a number to begin with multiple zeros. +**Історія користувача №10:** мій калькулятор не дозволяє вводити числа, які починаються з декількох нулів. -**User Story #11:** When the decimal element is clicked, a `.` should append to the currently displayed value; two `.` in one number should not be accepted. +**Історія користувача №11:** якщо натиснути десятковий розділювач, то до поточного значення має приєднатись `.`; в одному числі заборонено використовувати два елементи `.`. -**User Story #12:** I should be able to perform any operation (`+`, `-`, `*`, `/`) on numbers containing decimal points. +**Історія користувача №12:** я можу виконати будь-яку операцію (`+`, `-`, `*`, `/`) з числами, що містять десятковий розділювач. -**User Story #13:** If 2 or more operators are entered consecutively, the operation performed should be the last operator entered (excluding the negative (`-`) sign). For example, if `5 + * 7 =` is entered, the result should be `35` (i.e. `5 * 7`); if `5 * - 5 =` is entered, the result should be `-25` (i.e. `5 * (-5)`). +**Історія користувача №13:** якщо введено 2 чи більше операторів послідовно, то потрібно виконати дію останнього оператора (не враховуючи знак мінус (`-`)). Наприклад, якщо ввести `5 + * 7 =`, то результатом має бути `35` (тобто `5 * 7`); якщо ввести `5 * - 5 =`, то результатом має бути `-25` (тобто `5 * (-5)`). -**User Story #14:** Pressing an operator immediately following `=` should start a new calculation that operates on the result of the previous evaluation. +**Історія користувача №14:** якщо натиснути оператор одразу після `=`, то розпочнеться нове обчислення на основі відповіді попереднього розрахунку. -**User Story #15:** My calculator should have several decimal places of precision when it comes to rounding (note that there is no exact standard, but you should be able to handle calculations like `2 / 7` with reasonable precision to at least 4 decimal places). +**Історія користувача №15:** мій калькулятор показує декілька знаків після десяткового розділювача, коли мова йде про округлення чисел (зверніть увагу, що не існує точного стандарту, але ваш калькулятор має виконувати обчислення типу `2 / 7` та відповідати з принаймні чотирма знаками після коми). -**Note On Calculator Logic:** It should be noted that there are two main schools of thought on calculator input logic: immediate execution logic and formula logic. Our example utilizes formula logic and observes order of operation precedence, immediate execution does not. Either is acceptable, but please note that depending on which you choose, your calculator may yield different results than ours for certain equations (see below example). As long as your math can be verified by another production calculator, please do not consider this a bug. +**Примітка щодо логіки калькулятора:** варто зазначити, що існує дві школи стосовно логіки введення даних до калькулятора: логіка негайного виконання та логіка формули. Наш приклад використовує логіку формули та дотримується порядку виконання операцій. Логіка негайного виконання цього не робить. Можете використати будь-яку логіку, але зауважте, що ваш калькулятор може видати інші результати для певних прикладів (див. приклад нижче). Якщо ваші розрахунки можна перевірити іншим калькулятором, то не вважайте це помилкою. -**EXAMPLE:** `3 + 5 x 6 - 2 / 4 =` +**ПРИКЛАД:** `3 + 5 x 6 - 2 / 4 =` -- **Логіка Негайного Виконання:** `11.5` -- **Логіка Формул/Виразу:** `32.5` +- **Логіка негайного виконання:** `11.5` +- **Логіка формул/виразів:** `32.5` -You can build your project by using this CodePen template and clicking `Save` to create your own pen. Or you can use this CDN link to run the tests in any environment you like: `https://cdn.freecodecamp.org/testable-projects-fcc/v1/bundle.js` +Ви можете створити свій проєкт, використавши цей шаблон CodePen та натиснувши `Save`. Або ж ви можете скористатися цим посиланням CDN, щоб виконати тести в будь-якому середовищі: `https://cdn.freecodecamp.org/testable-projects-fcc/v1/bundle.js` -Once you're done, submit the URL to your working project with all its tests passing. +Як тільки закінчите, надайте посилання на свій проєкт з усіма пройденими тестами. # --solutions-- diff --git a/curriculum/challenges/ukrainian/03-front-end-development-libraries/front-end-development-libraries-projects/build-a-markdown-previewer.md b/curriculum/challenges/ukrainian/03-front-end-development-libraries/front-end-development-libraries-projects/build-a-markdown-previewer.md index c03e574653c..d7c4ab4a0c7 100644 --- a/curriculum/challenges/ukrainian/03-front-end-development-libraries/front-end-development-libraries-projects/build-a-markdown-previewer.md +++ b/curriculum/challenges/ukrainian/03-front-end-development-libraries/front-end-development-libraries-projects/build-a-markdown-previewer.md @@ -1,37 +1,37 @@ --- id: bd7157d8c242eddfaeb5bd13 -title: Створити програму попереднього перегляду Markdown +title: Створіть попередній перегляд розмітки challengeType: 3 forumTopicId: 301372 dashedName: build-a-markdown-previewer --- # --description-- -**Note:** **React 18 has known incompatibilities with the tests for this project (see [issue](https://github.com/freeCodeCamp/freeCodeCamp/issues/45922))** +**Примітка:** **React 18 містить відомі несумісності з тестами цього проєкту (див. [проблему](https://github.com/freeCodeCamp/freeCodeCamp/issues/45922))** -**Objective:** Build an app that is functionally similar to this: https://markdown-previewer.freecodecamp.rocks/. +**Мета:** створити застосунок, функціонально схожий до https://markdown-previewer.freecodecamp.rocks/. -Fulfill the below user stories and get all of the tests to pass. Use whichever libraries or APIs you need. Give it your own personal style. +Виконайте історію користувача та пройдіть тести. Використовуйте необхідні вам бібліотеки або API. Оформте за власним стилем. -You can use any mix of HTML, JavaScript, CSS, Bootstrap, SASS, React, Redux, and jQuery to complete this project. You should use a frontend framework (like React for example) because this section is about learning frontend frameworks. Additional technologies not listed above are not recommended and using them is at your own risk. We are looking at supporting other frontend frameworks like Angular and Vue, but they are not currently supported. We will accept and try to fix all issue reports that use the suggested technology stack for this project. Happy coding! +Для виконання цього проєкту можна використати різне поєднання HTML, JavaScript, CSS, Bootstrap, SASS, React, Redux та jQuery. Потрібно використати фронтенд фреймворк (наприклад, React), оскільки цей розділ стосується їх вивчення. Ми не рекомендуємо використовувати інші технології та ресурси, що не були вказані вище, але ви можете застосовувати їх на власний розсуд. Ми розглядаємо використання інших фронтенд фреймворків, серед яких Angular та Vue, але наразі вони не підтримуються. Ми візьмемо до уваги і спробуємо виправити всі звіти, що використовують запропонований технологічний стек у цьому проєкті. Щасливого програмування! -**User Story #1:** I can see a `textarea` element with a corresponding `id="editor"`. +**Історія користувача №1:** я бачу елемент `textarea` з відповідним `id="editor"`. -**User Story #2:** I can see an element with a corresponding `id="preview"`. +**Історія користувача №2:** я бачу елемент з відповідним `id="preview"`. -**User Story #3:** When I enter text into the `#editor` element, the `#preview` element is updated as I type to display the content of the textarea. +**Історія користувача №3:** коли я ввожу текст в елементі `#editor`, то елемент `#preview` оновлюється та відтворює вміст текстового поля. -**User Story #4:** When I enter GitHub flavored markdown into the `#editor` element, the text is rendered as HTML in the `#preview` element as I type (HINT: You don't need to parse Markdown yourself - you can import the Marked library for this: