diff --git a/curriculum/challenges/arabic/05-back-end-development-and-apis/basic-node-and-express/serve-an-html-file.md b/curriculum/challenges/arabic/05-back-end-development-and-apis/basic-node-and-express/serve-an-html-file.md
index b15f95ac820..8b6a2b6a92b 100644
--- a/curriculum/challenges/arabic/05-back-end-development-and-apis/basic-node-and-express/serve-an-html-file.md
+++ b/curriculum/challenges/arabic/05-back-end-development-and-apis/basic-node-and-express/serve-an-html-file.md
@@ -11,7 +11,7 @@ dashedName: serve-an-html-file
You can respond to requests with a file using the `res.sendFile(path)` method. You can put it inside the `app.get('/', ...)` route handler. خلف الكواليس، ستضبط تلك الطريقة العناوين المناسبة لترشد متصفحك عن كيفية التعامل مع الملف الذي تريد إرساله، وفقًا لنوعه. Then it will read and send the file. This method needs an absolute file path. We recommend you to use the Node global variable `__dirname` to calculate the path like this:
```js
-absolutePath = __dirname + relativePath/file.ext
+absolutePath = __dirname + '/relativePath/file.ext'
```
# --instructions--
diff --git a/curriculum/challenges/chinese-traditional/02-javascript-algorithms-and-data-structures/basic-javascript/escape-sequences-in-strings.md b/curriculum/challenges/chinese-traditional/02-javascript-algorithms-and-data-structures/basic-javascript/escape-sequences-in-strings.md
index 3ae2c2e8459..461fb388bf7 100644
--- a/curriculum/challenges/chinese-traditional/02-javascript-algorithms-and-data-structures/basic-javascript/escape-sequences-in-strings.md
+++ b/curriculum/challenges/chinese-traditional/02-javascript-algorithms-and-data-structures/basic-javascript/escape-sequences-in-strings.md
@@ -9,31 +9,31 @@ dashedName: escape-sequences-in-strings
# --description--
-引號不是字符串中唯一可以被轉義(escaped)的字符。 Escape sequences allow you to use characters you may not otherwise be able to use in a string.
+引號不是字符串中唯一可以被轉義(escaped)的字符。 轉義字符允許你使用可能無法在字符串中使用的字符。
代碼
輸出
\'
單引號
\"
雙引號
\\
反斜槓
\n
換行符
\t
製表符
\r
回車
\b
退格
\f
換頁符
-*Note that the backslash itself must be escaped in order to display as a backslash.*
+*請注意,反斜線本身必須被轉義,才能顯示爲反斜線。*
# --instructions--
-Assign the following three lines of text into the single variable `myStr` using escape sequences.
+使用轉義字符把下面三行文本賦值給一個變量 `myStr`。
FirstLine \SecondLine ThirdLine
-You will need to use escape sequences to insert special characters correctly. You will also need to follow the spacing as it looks above, with no spaces between escape sequences or words.
+你需要使用轉義字符正確地插入特殊字符。 你也需要確保間距與上面文本一致,並且單詞或轉義字符之間沒有空格。
-**Note:** The indentation for `SecondLine` is achieved with the tab escape character, not spaces.
+**注意:**`SecondLine` 前面的空白是製表符,而不是空格。
# --hints--
-`myStr` should not contain any spaces
+`myStr` 不能包含空格。
```js
assert(!/ /.test(myStr));
```
-`myStr` should contain the strings `FirstLine`, `SecondLine` and `ThirdLine` (remember case sensitivity)
+`myStr` 應包含字符串 `FirstLine`、`SecondLine` 和 `ThirdLine`(記得區分大小寫)。
```js
assert(
@@ -41,31 +41,31 @@ assert(
);
```
-`FirstLine` should be followed by the newline character `\n`
+`FirstLine` 後面應該是一個換行符 `\n`。
```js
assert(/FirstLine\n/.test(myStr));
```
-`myStr` should contain a tab character `\t` which follows a newline character
+`myStr` 應該包含一個製表符 `\t`,它在換行符後面。
```js
assert(/\n\t/.test(myStr));
```
-`SecondLine` should be preceded by the backslash character `\`
+`SecondLine` 前面應該是反斜槓 `\`。
```js
assert(/\\SecondLine/.test(myStr));
```
-There should be a newline character between `SecondLine` and `ThirdLine`
+`SecondLine` 和 `ThirdLine` 之間應該是換行符。
```js
assert(/SecondLine\nThirdLine/.test(myStr));
```
-`myStr` should only contain characters shown in the instructions
+`myStr` 應該只包含上面要求的字符。
```js
assert(myStr === 'FirstLine\n\t\\SecondLine\nThirdLine');
diff --git a/curriculum/challenges/chinese-traditional/02-javascript-algorithms-and-data-structures/basic-javascript/finding-a-remainder-in-javascript.md b/curriculum/challenges/chinese-traditional/02-javascript-algorithms-and-data-structures/basic-javascript/finding-a-remainder-in-javascript.md
index 3225e187683..b1bab47c241 100644
--- a/curriculum/challenges/chinese-traditional/02-javascript-algorithms-and-data-structures/basic-javascript/finding-a-remainder-in-javascript.md
+++ b/curriculum/challenges/chinese-traditional/02-javascript-algorithms-and-data-structures/basic-javascript/finding-a-remainder-in-javascript.md
@@ -15,13 +15,13 @@ dashedName: finding-a-remainder-in-javascript
-**Usage**
-In mathematics, a number can be checked to be even or odd by checking the remainder of the division of the number by `2`. Even numbers have a remainder of `0`, while odd numbers a remainder of `1`.
+**用法**
+在數學中,判斷一個數是奇數還是偶數,只需要判斷這個數除以 `2` 得到的餘數是 0 還是 1。 如果是偶數,餘數是 `0`,而如果是奇數,餘數是 `1`。
# --hints--
diff --git a/curriculum/challenges/chinese-traditional/02-javascript-algorithms-and-data-structures/basic-javascript/understanding-boolean-values.md b/curriculum/challenges/chinese-traditional/02-javascript-algorithms-and-data-structures/basic-javascript/understanding-boolean-values.md
index e6fb2b3f4ff..2a38d2983a3 100644
--- a/curriculum/challenges/chinese-traditional/02-javascript-algorithms-and-data-structures/basic-javascript/understanding-boolean-values.md
+++ b/curriculum/challenges/chinese-traditional/02-javascript-algorithms-and-data-structures/basic-javascript/understanding-boolean-values.md
@@ -15,7 +15,7 @@ dashedName: understanding-boolean-values
# --instructions--
-Modify the `welcomeToBooleans` function so that it returns `true` instead of `false`.
+修改 `welcomeToBooleans` 函數,讓它返回 `true` 而不是 `false`。
# --hints--
diff --git a/curriculum/challenges/chinese-traditional/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/sum-all-odd-fibonacci-numbers.md b/curriculum/challenges/chinese-traditional/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/sum-all-odd-fibonacci-numbers.md
index 2b9667d58a7..f2282728df5 100644
--- a/curriculum/challenges/chinese-traditional/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/sum-all-odd-fibonacci-numbers.md
+++ b/curriculum/challenges/chinese-traditional/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/sum-all-odd-fibonacci-numbers.md
@@ -10,7 +10,7 @@ dashedName: sum-all-odd-fibonacci-numbers
在這道題目中,我們需要寫一個函數,參數爲一個正整數 `num`,返回值爲斐波那契數列中,小於或等於 `num` 的奇數之和。
-The first two numbers in the Fibonacci sequence are 0 and 1. 後面的每個數字由之前兩數相加得出。 The first seven numbers of the Fibonacci sequence are 0, 1, 1, 2, 3, 5 and 8.
+斐波那契數列的前兩個數字是 0 和 1。 後面的每個數字由之前兩數相加得出。 斐波那契數列的前七個數字分別爲:0、1、1、2、3、5、8。
比如,`sumFibs(10)` 應該返回 `10`。 因爲斐波那契數列中,比 `10` 小的數字只有 1、1、3、5。
diff --git a/curriculum/challenges/chinese-traditional/02-javascript-algorithms-and-data-structures/regular-expressions/reuse-patterns-using-capture-groups.md b/curriculum/challenges/chinese-traditional/02-javascript-algorithms-and-data-structures/regular-expressions/reuse-patterns-using-capture-groups.md
index d88b0099eb8..190fa1323eb 100644
--- a/curriculum/challenges/chinese-traditional/02-javascript-algorithms-and-data-structures/regular-expressions/reuse-patterns-using-capture-groups.md
+++ b/curriculum/challenges/chinese-traditional/02-javascript-algorithms-and-data-structures/regular-expressions/reuse-patterns-using-capture-groups.md
@@ -96,14 +96,14 @@ reRegex.lastIndex = 0;
assert(reRegex.test('10 10 10'));
```
-Your regex should not match the string `42\t42\t42`.
+你的正則表達式不應匹配字符串 `42\t42\t42`。
```js
reRegex.lastIndex = 0;
assert(!reRegex.test('42\t42\t42'));
```
-Your regex should not match the string `42 42 42`.
+你的正則表達式不應匹配字符串 `42 42 42`。
```js
reRegex.lastIndex = 0;
diff --git a/curriculum/challenges/chinese-traditional/04-data-visualization/data-visualization-projects/visualize-data-with-a-bar-chart.md b/curriculum/challenges/chinese-traditional/04-data-visualization/data-visualization-projects/visualize-data-with-a-bar-chart.md
index 8a1b70f35d8..77210c70265 100644
--- a/curriculum/challenges/chinese-traditional/04-data-visualization/data-visualization-projects/visualize-data-with-a-bar-chart.md
+++ b/curriculum/challenges/chinese-traditional/04-data-visualization/data-visualization-projects/visualize-data-with-a-bar-chart.md
@@ -12,7 +12,7 @@ dashedName: visualize-data-with-a-bar-chart
完成以下需求,並且通過所有測試。 使用你需要的任何庫或 API。 賦予它你自己的個人風格。
-你可以使用 HTML、JavaScript、CSS、以及基於 svg 的 D3 可視化庫來完成這個挑戰。 該任務需要使用 D3 的座標軸屬性生成座標軸,這個屬性會自動生成沿軸的刻度。 通過 D3 測試需要這些刻度,因爲它們的位置被用來確定繪製元素的對齊方式。 你可以在這裏 獲取關於生成座標軸的信息。 Required DOM elements are queried on the moment of each test. 如果你使用了前端框架(例如 Vue),那麼對於動態的內容測試結果可能不準確。 我們希望最終能夠兼容這些框架,但 D3 項目目前還不支持它們。
+你可以使用 HTML、JavaScript、CSS、以及基於 svg 的 D3 可視化庫來完成這個挑戰。 該任務需要使用 D3 的座標軸屬性生成座標軸,這個屬性會自動生成沿軸的刻度。 通過 D3 測試需要這些刻度,因爲它們的位置被用來確定繪製元素的對齊方式。 你可以在這裏 獲取關於生成座標軸的信息。 要求的 DOM 元素在每次測試時都會被查詢。 如果你使用了前端框架(例如 Vue),那麼對於動態的內容測試結果可能不準確。 我們希望最終能夠兼容這些框架,但 D3 項目目前還不支持它們。
**需求 #1:** 圖表應該包含一個具有 `id="title"` 屬性的標題。
@@ -24,17 +24,17 @@ dashedName: visualize-data-with-a-bar-chart
**需求 #5:** 在圖表裏,每個數據點都應該有一個具有 `class="bar"` 屬性的 `rect` 元素來展示數據。
-**User Story #6:** Each `.bar` should have the properties `data-date` and `data-gdp` containing `date` and `GDP` values.
+**需求 #6:** 每個 `.bar` 應該具有值爲 `date` 的 `data-date` 屬性以及值爲 `GDP` 的 `data-gdp` 屬性。
-**User Story #7:** The `.bar` elements' `data-date` properties should match the order of the provided data.
+**需求 #7:** `.bar` 元素的 `data-date` 屬性應與提供的數據的順序相匹配。
-**User Story #8:** The `.bar` elements' `data-gdp` properties should match the order of the provided data.
+**需求 #8:** `.bar` 元素的 `data-gdp` 屬性應與提供的數據的順序相匹配。
-**User Story #9:** Each `.bar` element's height should accurately represent the data's corresponding `GDP`.
+**需求 #9:** 每個 `.bar` 元素的高度應準確地表示其數據所對應的 `GDP` 值。
-**User Story #10:** The `data-date` attribute and its corresponding `.bar` element should align with the corresponding value on the x-axis.
+**需求 #10:** `data-date` 屬性和它對應的 `.bar` 元素應與 x 軸上的相應的值對齊。
-**User Story #11:** The `data-gdp` attribute and its corresponding `.bar` element should align with the corresponding value on the y-axis.
+**需求 #11:** `data-gdp` 屬性和它對應的 `.bar` 元素應與 y 軸上的相應的值對齊。
**需求 #12:** 我可以將鼠標懸停在某個區域上,並查看具有 `id="tooltip"` 屬性的提示框,它會顯示有關該區域的更多信息。
diff --git a/curriculum/challenges/chinese-traditional/04-data-visualization/data-visualization-projects/visualize-data-with-a-choropleth-map.md b/curriculum/challenges/chinese-traditional/04-data-visualization/data-visualization-projects/visualize-data-with-a-choropleth-map.md
index 5578a8f8236..8e4734be0fe 100644
--- a/curriculum/challenges/chinese-traditional/04-data-visualization/data-visualization-projects/visualize-data-with-a-choropleth-map.md
+++ b/curriculum/challenges/chinese-traditional/04-data-visualization/data-visualization-projects/visualize-data-with-a-choropleth-map.md
@@ -12,7 +12,7 @@ dashedName: visualize-data-with-a-choropleth-map
完成以下需求,並且通過所有測試。 你可以使用你需要的任何庫或 API。 賦予它你自己的個人風格。
-你可以使用 HTML、JavaScript、CSS、以及基於 svg 的 D3 可視化庫來完成這個挑戰。 Required DOM elements are queried on the moment of each test. 如果你使用了前端框架(例如 Vue),那麼對於動態的內容測試結果可能不準確。 我們希望最終能夠兼容這些框架,但 D3 項目目前還不支持它們。
+你可以使用 HTML、JavaScript、CSS、以及基於 svg 的 D3 可視化庫來完成這個挑戰。 要求的 DOM 元素在每次測試時都會被查詢。 如果你使用了前端框架(例如 Vue),那麼對於動態的內容測試結果可能不準確。 我們希望最終能夠兼容這些框架,但 D3 項目目前還不支持它們。
**需求 #1:** 等值區域圖包含一個具有 `id="title"` 屬性的標題。
diff --git a/curriculum/challenges/chinese-traditional/04-data-visualization/data-visualization-projects/visualize-data-with-a-heat-map.md b/curriculum/challenges/chinese-traditional/04-data-visualization/data-visualization-projects/visualize-data-with-a-heat-map.md
index 07be3228e10..3ab0c5f9e69 100644
--- a/curriculum/challenges/chinese-traditional/04-data-visualization/data-visualization-projects/visualize-data-with-a-heat-map.md
+++ b/curriculum/challenges/chinese-traditional/04-data-visualization/data-visualization-projects/visualize-data-with-a-heat-map.md
@@ -12,7 +12,7 @@ dashedName: visualize-data-with-a-heat-map
完成以下需求,並且通過所有測試。 你可以使用你需要的任何庫或 API。 賦予它你自己的個人風格。
-你可以使用 HTML、JavaScript、CSS、以及基於 svg 的 D3 可視化庫來完成這個挑戰。 Required DOM elements are queried on the moment of each test. 如果你使用了前端框架(例如 Vue),那麼對於動態的內容測試結果可能不準確。 我們希望最終能夠兼容這些框架,但 D3 項目目前還不支持它們。
+你可以使用 HTML、JavaScript、CSS、以及基於 svg 的 D3 可視化庫來完成這個挑戰。 要求的 DOM 元素在每次測試時都會被查詢。 如果你使用了前端框架(例如 Vue),那麼對於動態的內容測試結果可能不準確。 我們希望最終能夠兼容這些框架,但 D3 項目目前還不支持它們。
**需求 #1:** 熱度圖包含一個具有 `id="title"` 屬性的標題。
diff --git a/curriculum/challenges/chinese-traditional/04-data-visualization/data-visualization-projects/visualize-data-with-a-scatterplot-graph.md b/curriculum/challenges/chinese-traditional/04-data-visualization/data-visualization-projects/visualize-data-with-a-scatterplot-graph.md
index 0a368c19d4b..ff79cad2e5e 100644
--- a/curriculum/challenges/chinese-traditional/04-data-visualization/data-visualization-projects/visualize-data-with-a-scatterplot-graph.md
+++ b/curriculum/challenges/chinese-traditional/04-data-visualization/data-visualization-projects/visualize-data-with-a-scatterplot-graph.md
@@ -12,7 +12,7 @@ dashedName: visualize-data-with-a-scatterplot-graph
完成以下需求,並且通過所有測試。 你可以使用你需要的任何庫或 API。 賦予它你自己的個人風格。
-你可以使用 HTML、JavaScript、CSS、以及基於 svg 的 D3 可視化庫來完成這個挑戰。 該任務需要使用 D3 的座標軸屬性生成座標軸,這個屬性會自動生成沿軸的刻度。 這些刻度是通過 D3 測試所必需的,因爲它們的位置是用來確定圖表元素的對齊方式。 你可以在這裏 獲取關於生成座標軸的信息。 Required DOM elements are queried on the moment of each test. 如果你使用了前端框架(例如 Vue),因爲內容是動態渲染的,試結果可能不準確。 我們希望最終能夠兼容這些框架,但 D3 框架目前還不支持它們。
+你可以使用 HTML、JavaScript、CSS、以及基於 svg 的 D3 可視化庫來完成這個挑戰。 該任務需要使用 D3 的座標軸屬性生成座標軸,這個屬性會自動生成沿軸的刻度。 這些刻度是通過 D3 測試所必需的,因爲它們的位置是用來確定圖表元素的對齊方式。 你可以在這裏 獲取關於生成座標軸的信息。 要求的 DOM 元素在每次測試時都會被查詢。 如果你使用了前端框架(例如 Vue),因爲內容是動態渲染的,試結果可能不準確。 我們希望最終能夠兼容這些框架,但 D3 框架目前還不支持它們。
**需求 #1:** 散點圖包含一個具有 `id="title"` 屬性的標題元素。
diff --git a/curriculum/challenges/chinese-traditional/04-data-visualization/data-visualization-projects/visualize-data-with-a-treemap-diagram.md b/curriculum/challenges/chinese-traditional/04-data-visualization/data-visualization-projects/visualize-data-with-a-treemap-diagram.md
index d26b5a1e79f..95f561af003 100644
--- a/curriculum/challenges/chinese-traditional/04-data-visualization/data-visualization-projects/visualize-data-with-a-treemap-diagram.md
+++ b/curriculum/challenges/chinese-traditional/04-data-visualization/data-visualization-projects/visualize-data-with-a-treemap-diagram.md
@@ -12,7 +12,7 @@ dashedName: visualize-data-with-a-treemap-diagram
完成以下需求,並且通過所有測試。 使用你需要的任何庫或 API。 賦予它你自己的個人風格。
-你可以使用 HTML、JavaScript、CSS、以及基於 svg 的 D3 可視化庫來完成這個挑戰。 該任務需要使用 D3 的座標軸屬性生成座標軸,這個屬性會自動生成沿軸的刻度。 這些刻度是通過 D3 測試所必需的,因爲它們的位置是用來確定圖表元素的對齊方式。 你可以在這裏 獲取關於生成座標軸的信息。 Required DOM elements are queried on the moment of each test. 如果你使用了前端框架(例如 Vue),那麼對於動態的內容測試結果可能不準確。 我們希望最終能夠兼容這些框架,但 D3 項目目前還不支持它們。
+你可以使用 HTML、JavaScript、CSS、以及基於 svg 的 D3 可視化庫來完成這個挑戰。 該任務需要使用 D3 的座標軸屬性生成座標軸,這個屬性會自動生成沿軸的刻度。 這些刻度是通過 D3 測試所必需的,因爲它們的位置是用來確定圖表元素的對齊方式。 你可以在這裏 獲取關於生成座標軸的信息。 要求的 DOM 元素在每次測試時都會被查詢。 如果你使用了前端框架(例如 Vue),那麼對於動態的內容測試結果可能不準確。 我們希望最終能夠兼容這些框架,但 D3 項目目前還不支持它們。
**需求 #1:** 矩陣樹圖包含一個具有 `id="title"` 屬性的標題。
diff --git a/curriculum/challenges/chinese-traditional/04-data-visualization/data-visualization-with-d3/add-a-tooltip-to-a-d3-element.md b/curriculum/challenges/chinese-traditional/04-data-visualization/data-visualization-with-d3/add-a-tooltip-to-a-d3-element.md
index c66cc134b7f..e3587d2d71f 100644
--- a/curriculum/challenges/chinese-traditional/04-data-visualization/data-visualization-with-d3/add-a-tooltip-to-a-d3-element.md
+++ b/curriculum/challenges/chinese-traditional/04-data-visualization/data-visualization-with-d3/add-a-tooltip-to-a-d3-element.md
@@ -8,7 +8,7 @@ dashedName: add-a-tooltip-to-a-d3-element
# --description--
-當用戶在一個對象上懸停時,提示框可以顯示關於這個對象更多的信息。 There are several ways to add a tooltip to a visualization. This challenge uses the SVG `title` element.
+當用戶在一個對象上懸停時,提示框可以顯示關於這個對象更多的信息。 有幾種方法可以爲可視化添加一個工具提示。 此挑戰使用 SVG `title` 元素。
`title` 和 `text()` 方法一起給每組動態添加數據。
diff --git a/curriculum/challenges/chinese-traditional/04-data-visualization/data-visualization-with-d3/change-styles-based-on-data.md b/curriculum/challenges/chinese-traditional/04-data-visualization/data-visualization-with-d3/change-styles-based-on-data.md
index 30c68d92dc9..e6cc0a86daa 100644
--- a/curriculum/challenges/chinese-traditional/04-data-visualization/data-visualization-with-d3/change-styles-based-on-data.md
+++ b/curriculum/challenges/chinese-traditional/04-data-visualization/data-visualization-with-d3/change-styles-based-on-data.md
@@ -8,7 +8,7 @@ dashedName: change-styles-based-on-data
# --description--
-D3 是關於可視化和展示數據的。 如果你想基於數據來改變元素的樣式, For example, you may want to color a data point blue if it has a value less than 20, and red otherwise. You can use a callback function in the `style()` method and include the conditional logic. The callback function uses the `d` parameter to represent the data point:
+D3 是關於可視化和展示數據的。 如果你想基於數據來改變元素的樣式, 例如,你想將值小於 20 的數據點設置爲藍色,其餘設置爲紅色。 你可以在 `style()` 方法中使用包含條件邏輯的回調函數。 回調函數以 `d` 作爲參數來表示一個數據點:
```js
selection.style("color", (d) => {
@@ -16,65 +16,65 @@ selection.style("color", (d) => {
});
```
-The `style()` method is not limited to setting the `color` - it can be used with other CSS properties as well.
+`style()` 方法不僅僅可以設置 `color`——它也適用於其他 CSS 屬性。
# --instructions--
-Add the `style()` method to the code in the editor to set the `color` of the `h2` elements conditionally. Write the callback function so if the data value is less than 20, it returns red, otherwise it returns green.
+在編輯器中添加 `style()` 方法,根據條件設置 `h2` 元素的 `color` 屬性。 寫一個回調函數,如果數據值小於 20,則返回紅色(red),否則返回綠色(green)。
-**Note:** You can use if-else logic, or the ternary operator.
+**注意:** 你可以使用 if-else 邏輯或者三元操作符。
# --hints--
-The first `h2` should have a `color` of red.
+第一個 `h2` 的 `color` 應該爲 red。
```js
assert($('h2').eq(0).css('color') == 'rgb(255, 0, 0)');
```
-The second `h2` should have a `color` of green.
+第二個 `h2` 的 `color` 應該爲 green。
```js
assert($('h2').eq(1).css('color') == 'rgb(0, 128, 0)');
```
-The third `h2` should have a `color` of green.
+第三個 `h2` 的 `color` 應該爲 green。
```js
assert($('h2').eq(2).css('color') == 'rgb(0, 128, 0)');
```
-The fourth `h2` should have a `color` of red.
+第四個 `h2` 的 `color` 應該爲 red。
```js
assert($('h2').eq(3).css('color') == 'rgb(255, 0, 0)');
```
-The fifth `h2` should have a `color` of green.
+第五個 `h2` 的 `color` 應該爲 green。
```js
assert($('h2').eq(4).css('color') == 'rgb(0, 128, 0)');
```
-The sixth `h2` should have a `color` of red.
+第六個 `h2` 的 `color` 應該爲 red。
```js
assert($('h2').eq(5).css('color') == 'rgb(255, 0, 0)');
```
-The seventh `h2` should have a `color` of green.
+第七個 `h2` 的 `color` 應該爲 green。
```js
assert($('h2').eq(6).css('color') == 'rgb(0, 128, 0)');
```
-The eighth `h2` should have a `color` of red.
+第八個 `h2` 的 `color` 應該爲 red。
```js
assert($('h2').eq(7).css('color') == 'rgb(255, 0, 0)');
```
-The ninth `h2` should have a `color` of red.
+第九個 `h2` 的 `color` 應該爲 red。
```js
assert($('h2').eq(8).css('color') == 'rgb(255, 0, 0)');
diff --git a/curriculum/challenges/chinese-traditional/05-back-end-development-and-apis/basic-node-and-express/serve-an-html-file.md b/curriculum/challenges/chinese-traditional/05-back-end-development-and-apis/basic-node-and-express/serve-an-html-file.md
index 1f89df56770..b28b18d4c16 100644
--- a/curriculum/challenges/chinese-traditional/05-back-end-development-and-apis/basic-node-and-express/serve-an-html-file.md
+++ b/curriculum/challenges/chinese-traditional/05-back-end-development-and-apis/basic-node-and-express/serve-an-html-file.md
@@ -11,7 +11,7 @@ dashedName: serve-an-html-file
通過 `res.sendFile(path)` 方法給請求響應一個文件, 可以把它放到路由處理 `app.get('/', ...)` 中。 在後臺,這個方法會根據你想發送的文件的類型,設置適當的消息頭信息來告訴瀏覽器如何處理它, 然後讀取併發送文件, 此方法需要文件的絕對路徑。 建議使用 Node. js 的全局變量 `__dirname` 來計算出這個文件的絕對路徑:
```js
-absolutePath = __dirname + relativePath/file.ext
+absolutePath = __dirname + '/relativePath/file.ext'
```
# --instructions--
diff --git a/curriculum/challenges/chinese-traditional/06-quality-assurance/advanced-node-and-express/serialization-of-a-user-object.md b/curriculum/challenges/chinese-traditional/06-quality-assurance/advanced-node-and-express/serialization-of-a-user-object.md
index 935a4a1a16c..ed584abf237 100644
--- a/curriculum/challenges/chinese-traditional/06-quality-assurance/advanced-node-and-express/serialization-of-a-user-object.md
+++ b/curriculum/challenges/chinese-traditional/06-quality-assurance/advanced-node-and-express/serialization-of-a-user-object.md
@@ -50,7 +50,7 @@ const { ObjectID } = require('mongodb');
# --hints--
-You should serialize the user object correctly.
+你應該正確地序列化用戶對象。
```js
async (getUserInput) => {
@@ -70,7 +70,7 @@ async (getUserInput) => {
}
```
-You should deserialize the user object correctly.
+你應該正確地反序列化用戶對象。
```js
async (getUserInput) => {
diff --git a/curriculum/challenges/chinese/02-javascript-algorithms-and-data-structures/basic-javascript/escape-sequences-in-strings.md b/curriculum/challenges/chinese/02-javascript-algorithms-and-data-structures/basic-javascript/escape-sequences-in-strings.md
index bb662ea6e82..b05de87bd86 100644
--- a/curriculum/challenges/chinese/02-javascript-algorithms-and-data-structures/basic-javascript/escape-sequences-in-strings.md
+++ b/curriculum/challenges/chinese/02-javascript-algorithms-and-data-structures/basic-javascript/escape-sequences-in-strings.md
@@ -9,31 +9,31 @@ dashedName: escape-sequences-in-strings
# --description--
-引号不是字符串中唯一可以被转义(escaped)的字符。 Escape sequences allow you to use characters you may not otherwise be able to use in a string.
+引号不是字符串中唯一可以被转义(escaped)的字符。 转义字符允许你使用可能无法在字符串中使用的字符。
代码
输出
\'
单引号
\"
双引号
\\
反斜杠
\n
换行符
\t
制表符
\r
回车
\b
退格
\f
换页符
-*Note that the backslash itself must be escaped in order to display as a backslash.*
+*请注意,反斜线本身必须被转义,才能显示为反斜线。*
# --instructions--
-Assign the following three lines of text into the single variable `myStr` using escape sequences.
+使用转义字符把下面三行文本赋值给一个变量 `myStr`。
FirstLine \SecondLine ThirdLine
-You will need to use escape sequences to insert special characters correctly. You will also need to follow the spacing as it looks above, with no spaces between escape sequences or words.
+你需要使用转义字符正确地插入特殊字符。 你也需要确保间距与上面文本一致,并且单词或转义字符之间没有空格。
-**Note:** The indentation for `SecondLine` is achieved with the tab escape character, not spaces.
+**注意:**`SecondLine` 前面的空白是制表符,而不是空格。
# --hints--
-`myStr` should not contain any spaces
+`myStr` 不能包含空格。
```js
assert(!/ /.test(myStr));
```
-`myStr` should contain the strings `FirstLine`, `SecondLine` and `ThirdLine` (remember case sensitivity)
+`myStr` 应包含字符串 `FirstLine`、`SecondLine` 和 `ThirdLine`(记得区分大小写)。
```js
assert(
@@ -41,31 +41,31 @@ assert(
);
```
-`FirstLine` should be followed by the newline character `\n`
+`FirstLine` 后面应该是一个换行符 `\n`。
```js
assert(/FirstLine\n/.test(myStr));
```
-`myStr` should contain a tab character `\t` which follows a newline character
+`myStr` 应该包含一个制表符 `\t`,它在换行符后面。
```js
assert(/\n\t/.test(myStr));
```
-`SecondLine` should be preceded by the backslash character `\`
+`SecondLine` 前面应该是反斜杠 `\`。
```js
assert(/\\SecondLine/.test(myStr));
```
-There should be a newline character between `SecondLine` and `ThirdLine`
+`SecondLine` 和 `ThirdLine` 之间应该是换行符。
```js
assert(/SecondLine\nThirdLine/.test(myStr));
```
-`myStr` should only contain characters shown in the instructions
+`myStr` 应该只包含上面要求的字符。
```js
assert(myStr === 'FirstLine\n\t\\SecondLine\nThirdLine');
diff --git a/curriculum/challenges/chinese/02-javascript-algorithms-and-data-structures/basic-javascript/finding-a-remainder-in-javascript.md b/curriculum/challenges/chinese/02-javascript-algorithms-and-data-structures/basic-javascript/finding-a-remainder-in-javascript.md
index 613b6caf0f8..a1db0551aa5 100644
--- a/curriculum/challenges/chinese/02-javascript-algorithms-and-data-structures/basic-javascript/finding-a-remainder-in-javascript.md
+++ b/curriculum/challenges/chinese/02-javascript-algorithms-and-data-structures/basic-javascript/finding-a-remainder-in-javascript.md
@@ -15,13 +15,13 @@ dashedName: finding-a-remainder-in-javascript
-**Usage**
-In mathematics, a number can be checked to be even or odd by checking the remainder of the division of the number by `2`. Even numbers have a remainder of `0`, while odd numbers a remainder of `1`.
+**用法**
+在数学中,判断一个数是奇数还是偶数,只需要判断这个数除以 `2` 得到的余数是 0 还是 1。 如果是偶数,余数是 `0`,而如果是奇数,余数是 `1`。
# --hints--
diff --git a/curriculum/challenges/chinese/02-javascript-algorithms-and-data-structures/basic-javascript/understanding-boolean-values.md b/curriculum/challenges/chinese/02-javascript-algorithms-and-data-structures/basic-javascript/understanding-boolean-values.md
index d8e28054683..0192a663ac6 100644
--- a/curriculum/challenges/chinese/02-javascript-algorithms-and-data-structures/basic-javascript/understanding-boolean-values.md
+++ b/curriculum/challenges/chinese/02-javascript-algorithms-and-data-structures/basic-javascript/understanding-boolean-values.md
@@ -15,7 +15,7 @@ dashedName: understanding-boolean-values
# --instructions--
-Modify the `welcomeToBooleans` function so that it returns `true` instead of `false`.
+修改 `welcomeToBooleans` 函数,让它返回 `true` 而不是 `false`。
# --hints--
diff --git a/curriculum/challenges/chinese/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/sum-all-odd-fibonacci-numbers.md b/curriculum/challenges/chinese/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/sum-all-odd-fibonacci-numbers.md
index d4898e494a3..98ff2e67e5d 100644
--- a/curriculum/challenges/chinese/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/sum-all-odd-fibonacci-numbers.md
+++ b/curriculum/challenges/chinese/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/sum-all-odd-fibonacci-numbers.md
@@ -10,7 +10,7 @@ dashedName: sum-all-odd-fibonacci-numbers
在这道题目中,我们需要写一个函数,参数为一个正整数 `num`,返回值为斐波那契数列中,小于或等于 `num` 的奇数之和。
-The first two numbers in the Fibonacci sequence are 0 and 1. 后面的每个数字由之前两数相加得出。 The first seven numbers of the Fibonacci sequence are 0, 1, 1, 2, 3, 5 and 8.
+斐波那契数列的前两个数字是 0 和 1。 后面的每个数字由之前两数相加得出。 斐波那契数列的前七个数字分别为:0、1、1、2、3、5、8。
比如,`sumFibs(10)` 应该返回 `10`。 因为斐波那契数列中,比 `10` 小的数字只有 1、1、3、5。
diff --git a/curriculum/challenges/chinese/02-javascript-algorithms-and-data-structures/regular-expressions/reuse-patterns-using-capture-groups.md b/curriculum/challenges/chinese/02-javascript-algorithms-and-data-structures/regular-expressions/reuse-patterns-using-capture-groups.md
index 4b97990a17f..0ab2625dd66 100644
--- a/curriculum/challenges/chinese/02-javascript-algorithms-and-data-structures/regular-expressions/reuse-patterns-using-capture-groups.md
+++ b/curriculum/challenges/chinese/02-javascript-algorithms-and-data-structures/regular-expressions/reuse-patterns-using-capture-groups.md
@@ -96,14 +96,14 @@ reRegex.lastIndex = 0;
assert(reRegex.test('10 10 10'));
```
-Your regex should not match the string `42\t42\t42`.
+你的正则表达式不应匹配字符串 `42\t42\t42`。
```js
reRegex.lastIndex = 0;
assert(!reRegex.test('42\t42\t42'));
```
-Your regex should not match the string `42 42 42`.
+你的正则表达式不应匹配字符串 `42 42 42`。
```js
reRegex.lastIndex = 0;
diff --git a/curriculum/challenges/chinese/04-data-visualization/data-visualization-projects/visualize-data-with-a-bar-chart.md b/curriculum/challenges/chinese/04-data-visualization/data-visualization-projects/visualize-data-with-a-bar-chart.md
index 6563530aa08..1841c8fa315 100644
--- a/curriculum/challenges/chinese/04-data-visualization/data-visualization-projects/visualize-data-with-a-bar-chart.md
+++ b/curriculum/challenges/chinese/04-data-visualization/data-visualization-projects/visualize-data-with-a-bar-chart.md
@@ -12,7 +12,7 @@ dashedName: visualize-data-with-a-bar-chart
完成以下需求,并且通过所有测试。 使用你需要的任何库或 API。 赋予它你自己的个人风格。
-你可以使用 HTML、JavaScript、CSS、以及基于 svg 的 D3 可视化库来完成这个挑战。 该任务需要使用 D3 的坐标轴属性生成坐标轴,这个属性会自动生成沿轴的刻度。 通过 D3 测试需要这些刻度,因为它们的位置被用来确定绘制元素的对齐方式。 你可以在这里 获取关于生成坐标轴的信息。 Required DOM elements are queried on the moment of each test. 如果你使用了前端框架(例如 Vue),那么对于动态的内容测试结果可能不准确。 我们希望最终能够兼容这些框架,但 D3 项目目前还不支持它们。
+你可以使用 HTML、JavaScript、CSS、以及基于 svg 的 D3 可视化库来完成这个挑战。 该任务需要使用 D3 的坐标轴属性生成坐标轴,这个属性会自动生成沿轴的刻度。 通过 D3 测试需要这些刻度,因为它们的位置被用来确定绘制元素的对齐方式。 你可以在这里 获取关于生成坐标轴的信息。 要求的 DOM 元素在每次测试时都会被查询。 如果你使用了前端框架(例如 Vue),那么对于动态的内容测试结果可能不准确。 我们希望最终能够兼容这些框架,但 D3 项目目前还不支持它们。
**需求 #1:** 图表应该包含一个具有 `id="title"` 属性的标题。
@@ -24,17 +24,17 @@ dashedName: visualize-data-with-a-bar-chart
**需求 #5:** 在图表里,每个数据点都应该有一个具有 `class="bar"` 属性的 `rect` 元素来展示数据。
-**User Story #6:** Each `.bar` should have the properties `data-date` and `data-gdp` containing `date` and `GDP` values.
+**需求 #6:** 每个 `.bar` 应该具有值为 `date` 的 `data-date` 属性以及值为 `GDP` 的 `data-gdp` 属性。
-**User Story #7:** The `.bar` elements' `data-date` properties should match the order of the provided data.
+**需求 #7:** `.bar` 元素的 `data-date` 属性应与提供的数据的顺序相匹配。
-**User Story #8:** The `.bar` elements' `data-gdp` properties should match the order of the provided data.
+**需求 #8:** `.bar` 元素的 `data-gdp` 属性应与提供的数据的顺序相匹配。
-**User Story #9:** Each `.bar` element's height should accurately represent the data's corresponding `GDP`.
+**需求 #9:** 每个 `.bar` 元素的高度应准确地表示其数据所对应的 `GDP` 值。
-**User Story #10:** The `data-date` attribute and its corresponding `.bar` element should align with the corresponding value on the x-axis.
+**需求 #10:** `data-date` 属性和它对应的 `.bar` 元素应与 x 轴上的相应的值对齐。
-**User Story #11:** The `data-gdp` attribute and its corresponding `.bar` element should align with the corresponding value on the y-axis.
+**需求 #11:** `data-gdp` 属性和它对应的 `.bar` 元素应与 y 轴上的相应的值对齐。
**需求 #12:** 我可以将鼠标悬停在某个区域上,并查看具有 `id="tooltip"` 属性的提示框,它会显示有关该区域的更多信息。
diff --git a/curriculum/challenges/chinese/04-data-visualization/data-visualization-projects/visualize-data-with-a-choropleth-map.md b/curriculum/challenges/chinese/04-data-visualization/data-visualization-projects/visualize-data-with-a-choropleth-map.md
index 4a7333cf3d3..6162d8f11e8 100644
--- a/curriculum/challenges/chinese/04-data-visualization/data-visualization-projects/visualize-data-with-a-choropleth-map.md
+++ b/curriculum/challenges/chinese/04-data-visualization/data-visualization-projects/visualize-data-with-a-choropleth-map.md
@@ -12,7 +12,7 @@ dashedName: visualize-data-with-a-choropleth-map
完成以下需求,并且通过所有测试。 你可以使用你需要的任何库或 API。 赋予它你自己的个人风格。
-你可以使用 HTML、JavaScript、CSS、以及基于 svg 的 D3 可视化库来完成这个挑战。 Required DOM elements are queried on the moment of each test. 如果你使用了前端框架(例如 Vue),那么对于动态的内容测试结果可能不准确。 我们希望最终能够兼容这些框架,但 D3 项目目前还不支持它们。
+你可以使用 HTML、JavaScript、CSS、以及基于 svg 的 D3 可视化库来完成这个挑战。 要求的 DOM 元素在每次测试时都会被查询。 如果你使用了前端框架(例如 Vue),那么对于动态的内容测试结果可能不准确。 我们希望最终能够兼容这些框架,但 D3 项目目前还不支持它们。
**需求 #1:** 等值区域图包含一个具有 `id="title"` 属性的标题。
diff --git a/curriculum/challenges/chinese/04-data-visualization/data-visualization-projects/visualize-data-with-a-heat-map.md b/curriculum/challenges/chinese/04-data-visualization/data-visualization-projects/visualize-data-with-a-heat-map.md
index 997a907efb4..ead6794aebe 100644
--- a/curriculum/challenges/chinese/04-data-visualization/data-visualization-projects/visualize-data-with-a-heat-map.md
+++ b/curriculum/challenges/chinese/04-data-visualization/data-visualization-projects/visualize-data-with-a-heat-map.md
@@ -12,7 +12,7 @@ dashedName: visualize-data-with-a-heat-map
完成以下需求,并且通过所有测试。 你可以使用你需要的任何库或 API。 赋予它你自己的个人风格。
-你可以使用 HTML、JavaScript、CSS、以及基于 svg 的 D3 可视化库来完成这个挑战。 Required DOM elements are queried on the moment of each test. 如果你使用了前端框架(例如 Vue),那么对于动态的内容测试结果可能不准确。 我们希望最终能够兼容这些框架,但 D3 项目目前还不支持它们。
+你可以使用 HTML、JavaScript、CSS、以及基于 svg 的 D3 可视化库来完成这个挑战。 要求的 DOM 元素在每次测试时都会被查询。 如果你使用了前端框架(例如 Vue),那么对于动态的内容测试结果可能不准确。 我们希望最终能够兼容这些框架,但 D3 项目目前还不支持它们。
**需求 #1:** 热度图包含一个具有 `id="title"` 属性的标题。
diff --git a/curriculum/challenges/chinese/04-data-visualization/data-visualization-projects/visualize-data-with-a-scatterplot-graph.md b/curriculum/challenges/chinese/04-data-visualization/data-visualization-projects/visualize-data-with-a-scatterplot-graph.md
index 19bf7b6138d..e081ba43c02 100644
--- a/curriculum/challenges/chinese/04-data-visualization/data-visualization-projects/visualize-data-with-a-scatterplot-graph.md
+++ b/curriculum/challenges/chinese/04-data-visualization/data-visualization-projects/visualize-data-with-a-scatterplot-graph.md
@@ -12,7 +12,7 @@ dashedName: visualize-data-with-a-scatterplot-graph
完成以下需求,并且通过所有测试。 你可以使用你需要的任何库或 API。 赋予它你自己的个人风格。
-你可以使用 HTML、JavaScript、CSS、以及基于 svg 的 D3 可视化库来完成这个挑战。 该任务需要使用 D3 的坐标轴属性生成坐标轴,这个属性会自动生成沿轴的刻度。 这些刻度是通过 D3 测试所必需的,因为它们的位置是用来确定图表元素的对齐方式。 你可以在这里 获取关于生成坐标轴的信息。 Required DOM elements are queried on the moment of each test. 如果你使用了前端框架(例如 Vue),因为内容是动态渲染的,试结果可能不准确。 我们希望最终能够兼容这些框架,但 D3 框架目前还不支持它们。
+你可以使用 HTML、JavaScript、CSS、以及基于 svg 的 D3 可视化库来完成这个挑战。 该任务需要使用 D3 的坐标轴属性生成坐标轴,这个属性会自动生成沿轴的刻度。 这些刻度是通过 D3 测试所必需的,因为它们的位置是用来确定图表元素的对齐方式。 你可以在这里 获取关于生成坐标轴的信息。 要求的 DOM 元素在每次测试时都会被查询。 如果你使用了前端框架(例如 Vue),因为内容是动态渲染的,试结果可能不准确。 我们希望最终能够兼容这些框架,但 D3 框架目前还不支持它们。
**需求 #1:** 散点图包含一个具有 `id="title"` 属性的标题元素。
diff --git a/curriculum/challenges/chinese/04-data-visualization/data-visualization-projects/visualize-data-with-a-treemap-diagram.md b/curriculum/challenges/chinese/04-data-visualization/data-visualization-projects/visualize-data-with-a-treemap-diagram.md
index 1a868aa027d..c4b2bd75e7c 100644
--- a/curriculum/challenges/chinese/04-data-visualization/data-visualization-projects/visualize-data-with-a-treemap-diagram.md
+++ b/curriculum/challenges/chinese/04-data-visualization/data-visualization-projects/visualize-data-with-a-treemap-diagram.md
@@ -12,7 +12,7 @@ dashedName: visualize-data-with-a-treemap-diagram
完成以下需求,并且通过所有测试。 使用你需要的任何库或 API。 赋予它你自己的个人风格。
-你可以使用 HTML、JavaScript、CSS、以及基于 svg 的 D3 可视化库来完成这个挑战。 该任务需要使用 D3 的坐标轴属性生成坐标轴,这个属性会自动生成沿轴的刻度。 这些刻度是通过 D3 测试所必需的,因为它们的位置是用来确定图表元素的对齐方式。 你可以在这里 获取关于生成坐标轴的信息。 Required DOM elements are queried on the moment of each test. 如果你使用了前端框架(例如 Vue),那么对于动态的内容测试结果可能不准确。 我们希望最终能够兼容这些框架,但 D3 项目目前还不支持它们。
+你可以使用 HTML、JavaScript、CSS、以及基于 svg 的 D3 可视化库来完成这个挑战。 该任务需要使用 D3 的坐标轴属性生成坐标轴,这个属性会自动生成沿轴的刻度。 这些刻度是通过 D3 测试所必需的,因为它们的位置是用来确定图表元素的对齐方式。 你可以在这里 获取关于生成坐标轴的信息。 要求的 DOM 元素在每次测试时都会被查询。 如果你使用了前端框架(例如 Vue),那么对于动态的内容测试结果可能不准确。 我们希望最终能够兼容这些框架,但 D3 项目目前还不支持它们。
**需求 #1:** 矩阵树图包含一个具有 `id="title"` 属性的标题。
diff --git a/curriculum/challenges/chinese/04-data-visualization/data-visualization-with-d3/add-a-tooltip-to-a-d3-element.md b/curriculum/challenges/chinese/04-data-visualization/data-visualization-with-d3/add-a-tooltip-to-a-d3-element.md
index 22beb14e15d..28bcc9244e7 100644
--- a/curriculum/challenges/chinese/04-data-visualization/data-visualization-with-d3/add-a-tooltip-to-a-d3-element.md
+++ b/curriculum/challenges/chinese/04-data-visualization/data-visualization-with-d3/add-a-tooltip-to-a-d3-element.md
@@ -8,7 +8,7 @@ dashedName: add-a-tooltip-to-a-d3-element
# --description--
-当用户在一个对象上悬停时,提示框可以显示关于这个对象更多的信息。 There are several ways to add a tooltip to a visualization. This challenge uses the SVG `title` element.
+当用户在一个对象上悬停时,提示框可以显示关于这个对象更多的信息。 有几种方法可以为可视化添加一个工具提示。 此挑战使用 SVG `title` 元素。
`title` 和 `text()` 方法一起给每组动态添加数据。
diff --git a/curriculum/challenges/chinese/04-data-visualization/data-visualization-with-d3/change-styles-based-on-data.md b/curriculum/challenges/chinese/04-data-visualization/data-visualization-with-d3/change-styles-based-on-data.md
index b882ed4474a..08fde9a35ce 100644
--- a/curriculum/challenges/chinese/04-data-visualization/data-visualization-with-d3/change-styles-based-on-data.md
+++ b/curriculum/challenges/chinese/04-data-visualization/data-visualization-with-d3/change-styles-based-on-data.md
@@ -8,7 +8,7 @@ dashedName: change-styles-based-on-data
# --description--
-D3 是关于可视化和展示数据的。 如果你想基于数据来改变元素的样式, For example, you may want to color a data point blue if it has a value less than 20, and red otherwise. You can use a callback function in the `style()` method and include the conditional logic. The callback function uses the `d` parameter to represent the data point:
+D3 是关于可视化和展示数据的。 如果你想基于数据来改变元素的样式, 例如,你想将值小于 20 的数据点设置为蓝色,其余设置为红色。 你可以在 `style()` 方法中使用包含条件逻辑的回调函数。 回调函数以 `d` 作为参数来表示一个数据点:
```js
selection.style("color", (d) => {
@@ -16,65 +16,65 @@ selection.style("color", (d) => {
});
```
-The `style()` method is not limited to setting the `color` - it can be used with other CSS properties as well.
+`style()` 方法不仅仅可以设置 `color`——它也适用于其他 CSS 属性。
# --instructions--
-Add the `style()` method to the code in the editor to set the `color` of the `h2` elements conditionally. Write the callback function so if the data value is less than 20, it returns red, otherwise it returns green.
+在编辑器中添加 `style()` 方法,根据条件设置 `h2` 元素的 `color` 属性。 写一个回调函数,如果数据值小于 20,则返回红色(red),否则返回绿色(green)。
-**Note:** You can use if-else logic, or the ternary operator.
+**注意:** 你可以使用 if-else 逻辑或者三元操作符。
# --hints--
-The first `h2` should have a `color` of red.
+第一个 `h2` 的 `color` 应该为 red。
```js
assert($('h2').eq(0).css('color') == 'rgb(255, 0, 0)');
```
-The second `h2` should have a `color` of green.
+第二个 `h2` 的 `color` 应该为 green。
```js
assert($('h2').eq(1).css('color') == 'rgb(0, 128, 0)');
```
-The third `h2` should have a `color` of green.
+第三个 `h2` 的 `color` 应该为 green。
```js
assert($('h2').eq(2).css('color') == 'rgb(0, 128, 0)');
```
-The fourth `h2` should have a `color` of red.
+第四个 `h2` 的 `color` 应该为 red。
```js
assert($('h2').eq(3).css('color') == 'rgb(255, 0, 0)');
```
-The fifth `h2` should have a `color` of green.
+第五个 `h2` 的 `color` 应该为 green。
```js
assert($('h2').eq(4).css('color') == 'rgb(0, 128, 0)');
```
-The sixth `h2` should have a `color` of red.
+第六个 `h2` 的 `color` 应该为 red。
```js
assert($('h2').eq(5).css('color') == 'rgb(255, 0, 0)');
```
-The seventh `h2` should have a `color` of green.
+第七个 `h2` 的 `color` 应该为 green。
```js
assert($('h2').eq(6).css('color') == 'rgb(0, 128, 0)');
```
-The eighth `h2` should have a `color` of red.
+第八个 `h2` 的 `color` 应该为 red。
```js
assert($('h2').eq(7).css('color') == 'rgb(255, 0, 0)');
```
-The ninth `h2` should have a `color` of red.
+第九个 `h2` 的 `color` 应该为 red。
```js
assert($('h2').eq(8).css('color') == 'rgb(255, 0, 0)');
diff --git a/curriculum/challenges/chinese/05-back-end-development-and-apis/basic-node-and-express/serve-an-html-file.md b/curriculum/challenges/chinese/05-back-end-development-and-apis/basic-node-and-express/serve-an-html-file.md
index f0b8ce51248..90d9428333f 100644
--- a/curriculum/challenges/chinese/05-back-end-development-and-apis/basic-node-and-express/serve-an-html-file.md
+++ b/curriculum/challenges/chinese/05-back-end-development-and-apis/basic-node-and-express/serve-an-html-file.md
@@ -11,7 +11,7 @@ dashedName: serve-an-html-file
通过 `res.sendFile(path)` 方法给请求响应一个文件, 可以把它放到路由处理 `app.get('/', ...)` 中。 在后台,这个方法会根据你想发送的文件的类型,设置适当的消息头信息来告诉浏览器如何处理它, 然后读取并发送文件, 此方法需要文件的绝对路径。 建议使用 Node. js 的全局变量 `__dirname` 来计算出这个文件的绝对路径:
```js
-absolutePath = __dirname + relativePath/file.ext
+absolutePath = __dirname + '/relativePath/file.ext'
```
# --instructions--
diff --git a/curriculum/challenges/chinese/06-quality-assurance/advanced-node-and-express/serialization-of-a-user-object.md b/curriculum/challenges/chinese/06-quality-assurance/advanced-node-and-express/serialization-of-a-user-object.md
index 03b72c2d982..d197f932a45 100644
--- a/curriculum/challenges/chinese/06-quality-assurance/advanced-node-and-express/serialization-of-a-user-object.md
+++ b/curriculum/challenges/chinese/06-quality-assurance/advanced-node-and-express/serialization-of-a-user-object.md
@@ -50,7 +50,7 @@ const { ObjectID } = require('mongodb');
# --hints--
-You should serialize the user object correctly.
+你应该正确地序列化用户对象。
```js
async (getUserInput) => {
@@ -70,7 +70,7 @@ async (getUserInput) => {
}
```
-You should deserialize the user object correctly.
+你应该正确地反序列化用户对象。
```js
async (getUserInput) => {
diff --git a/curriculum/challenges/espanol/05-back-end-development-and-apis/basic-node-and-express/serve-an-html-file.md b/curriculum/challenges/espanol/05-back-end-development-and-apis/basic-node-and-express/serve-an-html-file.md
index 4d33c4b6dfe..e24fb5617a7 100644
--- a/curriculum/challenges/espanol/05-back-end-development-and-apis/basic-node-and-express/serve-an-html-file.md
+++ b/curriculum/challenges/espanol/05-back-end-development-and-apis/basic-node-and-express/serve-an-html-file.md
@@ -11,7 +11,7 @@ dashedName: serve-an-html-file
Puedes responder a peticiones con un archivo utilizando el método `res.sendFile(path)`. Puedes ponerlo dentro del gestor de rutas `app.get('/', ...)`. En segundo plano, este método establecerá las cabeceras apropiadas para indicar a tu navegador cómo manejar el archivo que se desea enviar, de acuerdo a su tipo. Entonces leerá y enviará el archivo. Este método necesita una ruta de archivo absoluta. Te recomendamos que uses la variable global de Node `__dirname` para calcular la ruta como esta:
```js
-absolutePath = __dirname + relativePath/file.ext
+absolutePath = __dirname + '/relativePath/file.ext'
```
# --instructions--
diff --git a/curriculum/challenges/german/05-back-end-development-and-apis/basic-node-and-express/serve-an-html-file.md b/curriculum/challenges/german/05-back-end-development-and-apis/basic-node-and-express/serve-an-html-file.md
index 7c178762e85..c59227e2be6 100644
--- a/curriculum/challenges/german/05-back-end-development-and-apis/basic-node-and-express/serve-an-html-file.md
+++ b/curriculum/challenges/german/05-back-end-development-and-apis/basic-node-and-express/serve-an-html-file.md
@@ -11,7 +11,7 @@ dashedName: serve-an-html-file
Du kannst auf Anfragen mit einer Datei antworten, indem du die Methode `res.sendFile(path)` verwendest. Du kannst sie im `app.get('/', ...)`-Route-Handler einfügen. Im Hintergrund setzt diese Methode die jeweiligen Header, um deinem Browser mitzuteilen, wie er die von dir gesendete Datei je nach Typ zu verarbeiten hat. Dann wird die Datei gelesen und gesendet. Diese Methode benötigt einen absoluten Dateipfad. Wir empfehlen dir, die globale Node-Variable `__dirname` zu verwenden, um den Pfad wie folgt zu berechnen:
```js
-absolutePath = __dirname + relativePath/file.ext
+absolutePath = __dirname + '/relativePath/file.ext'
```
# --instructions--
diff --git a/curriculum/challenges/german/10-coding-interview-prep/project-euler/problem-459-flipping-game.md b/curriculum/challenges/german/10-coding-interview-prep/project-euler/problem-459-flipping-game.md
index 13473d922bf..95e84aec7d2 100644
--- a/curriculum/challenges/german/10-coding-interview-prep/project-euler/problem-459-flipping-game.md
+++ b/curriculum/challenges/german/10-coding-interview-prep/project-euler/problem-459-flipping-game.md
@@ -1,6 +1,6 @@
---
id: 5900f5371000cf542c51004a
-title: 'Problem 459: Flipping game'
+title: 'Problem 459: Flip-Spiel'
challengeType: 1
forumTopicId: 302133
dashedName: problem-459-flipping-game
@@ -8,35 +8,35 @@ dashedName: problem-459-flipping-game
# --description--
-The flipping game is a two player game played on a $N$ by $N$ square board.
+Das Hüpfspiel ist ein Spiel für zwei Spieler, das auf einem quadratischen Spielbrett von $N$ mal $N$ gespielt wird.
-Each square contains a disk with one side white and one side black.
+Jedes Quadrat enthält eine Scheibe, die auf einer Seite weiß und auf der anderen Seite schwarz ist.
-The game starts with all disks showing their white side.
+Das Spiel beginnt damit, dass alle Scheiben ihre weiße Seite zeigen.
-A turn consists of flipping all disks in a rectangle with the following properties:
+Ein Zug besteht darin, alle Scheiben in einem Rechteck mit den folgenden Eigenschaften umzudrehen:
-- the upper right corner of the rectangle contains a white disk
-- the rectangle width is a perfect square (1, 4, 9, 16, ...)
-- the rectangle height is a triangular number (1, 3, 6, 10, ...)
+- die obere rechte Ecke des Rechtecks enthält eine weiße Scheibe
+- die Rechteckbreite ist ein perfektes Quadrat (1, 4, 9, 16, ...)
+- die Höhe des Rechtecks ist eine dreieckige Zahl (1, 3, 6, 10, ...)
-
+
-Players alternate turns. A player wins by turning the grid all black.
+Spieler wechseln sich ab. Ein Spieler gewinnt, indem er das Raster ganz schwarz macht.
-Let $W(N)$ be the number of winning moves for the first player on a $N$ by $N$ board with all disks white, assuming perfect play.
+Lasse $W(N)$ die Anzahl der Gewinnzüge für den ersten Spieler auf einem $N$ mal $N$ Brett mit allen weißen Feldern sein, unter der Annahme eines perfekten Spiels.
$W(1) = 1$, $W(2) = 0$, $W(5) = 8$ and $W({10}^2) = 31\\,395$.
-For $N = 5$, the first player's eight winning first moves are:
+Für $N = 5$ sind die acht siegreichen ersten Züge des ersten Spielers:
-
+
-Find $W({10}^6)$.
+Finde $W({10}^6)$.
# --hints--
-`flippingGame()` should return `3996390106631`.
+`flippingGame()` sollte `3996390106631` zurückgeben.
```js
assert.strictEqual(flippingGame(), 3996390106631);
diff --git a/curriculum/challenges/german/10-coding-interview-prep/project-euler/problem-460-an-ant-on-the-move.md b/curriculum/challenges/german/10-coding-interview-prep/project-euler/problem-460-an-ant-on-the-move.md
index 2bb68f203f4..41e8c82c3d1 100644
--- a/curriculum/challenges/german/10-coding-interview-prep/project-euler/problem-460-an-ant-on-the-move.md
+++ b/curriculum/challenges/german/10-coding-interview-prep/project-euler/problem-460-an-ant-on-the-move.md
@@ -1,6 +1,6 @@
---
id: 5900f5381000cf542c51004b
-title: 'Problem 460: An ant on the move'
+title: 'Problem 460: Ein Ameise auf dem Weg'
challengeType: 1
forumTopicId: 302135
dashedName: problem-460-an-ant-on-the-move
@@ -8,30 +8,30 @@ dashedName: problem-460-an-ant-on-the-move
# --description--
-On the Euclidean plane, an ant travels from point $A(0, 1)$ to point $B(d, 1)$ for an integer $d$.
+Auf der euklidischen Ebene reist eine Ameise vom Punkt $A(0, 1)$ zum Punkt $B(d, 1)$ mit dem Integer $d$.
-In each step, the ant at point ($x_0$, $y_0$) chooses one of the lattice points ($x_1$, $y_1$) which satisfy $x_1 ≥ 0$ and $y_1 ≥ 1$ and goes straight to ($x_1$, $y_1$) at a constant velocity $v$. The value of $v$ depends on $y_0$ and $y_1$ as follows:
+In jedem Schritt wählt die Ameise am Punkt ($x_0$, $y_0$) einen der Gitterpunkte ($x_1$, $y_1$), die die Bedingungen $x_1 ≥ 0$ und $y_1 ≥ 1$ erfüllen, und läuft mit einer konstanten Geschwindigkeit $v$ direkt zu ($x_1$, $y_1$). Der Wert von $v$ hängt von $y_0$ und $y_1$ wie folgt ab:
-- If $y_0 = y_1$, the value of $v$ equals $y_0$.
-- If $y_0 ≠ y_1$, the value of $v$ equals $\frac{y_1 - y_0}{\ln y_1 - \ln y_0}$.
+- Wenn $y_0 = y_1$, ist der Wert von $v$ gleich $y_0$.
+- Wenn $y_0 ≠ y_1$, ist der Wert von $v$ gleich $\frac{y_1 - y_0}{\ln y_1 - \ln y_0}$.
-The left image is one of the possible paths for $d = 4$. First the ant goes from $A(0, 1)$ to $P_1(1, 3)$ at velocity $\frac{3 - 1}{\ln 3 - \ln 1} ≈ 1.8205$. Then the required time is $\frac{\sqrt{5}}{1.820} ≈ 1.2283$.
+Das linke Bild ist einer der möglichen Pfade für $d = 4$. Zunächst bewegt sich die Ameise von $A(0, 1)$ nach $P_1(1, 3)$ mit der Geschwindigkeit $\frac{3 - 1}{\ln 3 - \ln 1} ≈ 1,8205$. Dann ist die benötigte Zeit $\frac{\sqrt{5}}{1.820} ≈ 1.2283$.
-From $P_1(1, 3)$ to $P_2(3, 3)$ the ant travels at velocity 3 so the required time is $\frac{2}{3} ≈ 0.6667$. From $P_2(3, 3)$ to $B(4, 1)$ the ant travels at velocity $\frac{1 - 3}{\ln 1 - \ln 3} ≈ 1.8205$ so the required time is $\frac{\sqrt{5}}{1.8205} ≈ 1.2283$.
+Von $P_1(1, 3)$ bis $P_2(3, 3)$ bewegt sich die Ameise mit der Geschwindigkeit 3, so dass die benötigte Zeit $\frac{2}{3} ≈ 0,6667$ beträgt. Von $P_2(3, 3)$ nach $B(4, 1)$ bewegt sich die Ameise mit der Geschwindigkeit $\frac{1 - 3}{\ln 1 - \ln 3} ≈ 1,8205$, so dass die benötigte Zeit $\frac{\sqrt{5}}{1,8205} ≈ 1,2283$ beträgt.
-Thus the total required time is $1.2283 + 0.6667 + 1.2283 = 3.1233$.
+Die benötigte Gesamtzeit beträgt also $1,2283 + 0,6667 + 1,2283 = 3,1233$.
-The right image is another path. The total required time is calculated as $0.98026 + 1 + 0.98026 = 2.96052$. It can be shown that this is the quickest path for $d = 4$.
+Das rechte Bild ist ein anderer Pfad. Die benötigte Gesamtzeit errechnet sich aus $0.98026 + 1 + 0.98026 = 2.96052$. Man kann zeigen, dass dies der schnellste Weg für $d = 4$ ist.
-
+
-Let $F(d)$ be the total required time if the ant chooses the quickest path. For example, $F(4) ≈ 2.960\\,516\\,287$. We can verify that $F(10) ≈ 4.668\\,187\\,834$ and $F(100) ≈ 9.217\\,221\\,972$.
+Lasse $F(d)$ die insgesamt benötigte Zeit sein, wenn die Ameise den schnellsten Weg wählt. Zum Beispiel: $F(4) ≈ 2,960\\,516\,287$. Wir können nachweisen, dass $F(10) ≈ 4,668\\,187\,834$ und $F(100) ≈ 9,217\\,221\,972$.
-Find $F(10\\,000)$. Give your answer rounded to nine decimal places.
+Finde $F(10\\,000)$. Gib deine Antwort auf neun Dezimalstellen gerundet an.
# --hints--
-`antOnTheMove()` should return `18.420738199`.
+`antOnTheMove()` sollte `18.420738199` zurückgeben.
```js
assert.strictEqual(antOnTheMove(), 18.420738199);
diff --git a/curriculum/challenges/german/10-coding-interview-prep/project-euler/problem-461-almost-pi.md b/curriculum/challenges/german/10-coding-interview-prep/project-euler/problem-461-almost-pi.md
index 1ff7e49ee6b..56a59115a7f 100644
--- a/curriculum/challenges/german/10-coding-interview-prep/project-euler/problem-461-almost-pi.md
+++ b/curriculum/challenges/german/10-coding-interview-prep/project-euler/problem-461-almost-pi.md
@@ -1,6 +1,6 @@
---
id: 5900f53a1000cf542c51004c
-title: 'Problem 461: Almost Pi'
+title: 'Problem 461: Fast Pi'
challengeType: 1
forumTopicId: 302136
dashedName: problem-461-almost-pi
@@ -8,43 +8,43 @@ dashedName: problem-461-almost-pi
# --description--
-Let `f(k, n)` = $e^\frac{k}{n} - 1$, for all non-negative integers `k`.
+Lass `f(k, n)` = $e^\frac{k}{n} - 1$, für alle nicht negativen Integer `k`.
-Remarkably, `f(6, 200) + f(75, 200) + f(89, 200) + f(226, 200)` = 3.1415926… ≈ π.
+Bemerkenswert,`f(6, 200) + f(75, 200) + f(89, 200) + f(226, 200)` = 3.1415926… ≈ π.
-In fact, it is the best approximation of π of the form `f(a, 200) + f(b, 200) + f(c, 200) + f(d, 200)`.
+Tatsächlich ist es die beste Annäherung von π der Formel `f(a, 200) + f(b, 200) + f(c, 200) + f(d, 200)`.
-Let `almostPi(n)` = a2 + b2 + c2 + d2 for a, b, c, d that minimize the error: $\lvert f(a,n) + f(b,n) + f(c,n) + f(d,n) - \Pi\rvert$
+Lass `almostPi(n)` = a2 + b2 + c2 + d2 für a, b, c, d, das den Fehler minimiert: $\lvert f(a,n) + f(b,n) + f(c,n) + f(d,n) - \Pi\rvert$
-You are given `almostPi(200)` = 62 + 752 + 892 + 2262 = 64658.
+Dir wird `almostPi(200)` = 62 + 752 + 892 + 2262 = 64658 gegeben.
# --hints--
-`almostPi` should be a function.
+`almostPi` sollte eine Funktion sein.
```js
assert(typeof almostPi === 'function')
```
-`almostPi` should return a number.
+`almostPi` sollte eine Zahl zurückgeben.
```js
assert.strictEqual(typeof almostPi(10), 'number');
```
-`almostPi(29)` should return `1208`.
+`almostPi(29)` sollte `1208` zurückgeben.
```js
assert.strictEqual(almostPi(29), 1208);
```
-`almostPi(50)` should return `4152`.
+`almostPi(50)` sollte `4152` zurückgeben.
```js
assert.strictEqual(almostPi(50), 4152);
```
-`almostPi(200)` should return `64658`.
+`almostPi(200)` sollte `64658` zurückgeben.
```js
assert.strictEqual(almostPi(200), 64658);
diff --git a/curriculum/challenges/german/10-coding-interview-prep/project-euler/problem-462-permutation-of-3-smooth-numbers.md b/curriculum/challenges/german/10-coding-interview-prep/project-euler/problem-462-permutation-of-3-smooth-numbers.md
index b17dc1befcd..f764bd84993 100644
--- a/curriculum/challenges/german/10-coding-interview-prep/project-euler/problem-462-permutation-of-3-smooth-numbers.md
+++ b/curriculum/challenges/german/10-coding-interview-prep/project-euler/problem-462-permutation-of-3-smooth-numbers.md
@@ -1,6 +1,6 @@
---
id: 5900f53b1000cf542c51004d
-title: 'Problem 462: Permutation of 3-smooth numbers'
+title: 'Problematik 462: Permutation von 3 gleichmäßigen Zahlen'
challengeType: 1
forumTopicId: 302137
dashedName: problem-462-permutation-of-3-smooth-numbers
@@ -8,31 +8,31 @@ dashedName: problem-462-permutation-of-3-smooth-numbers
# --description--
-A 3-smooth number is an integer which has no prime factor larger than 3. For an integer $N$, we define $S(N)$ as the set of 3-smooth numbers less than or equal to $N$. For example, $S(20) = \\{1, 2, 3, 4, 6, 8, 9, 12, 16, 18\\}$.
+Eine glatte 3er-Zahl ist eine ganze Zahl, die keinen Primfaktor größer als 3 hat. Für einen Integer $N$ definieren wir $S(N)$ als die Menge der 3 glatten Zahlen kleiner oder gleich $N$. Zum Beispiel: $S(20) = \\{1, 2, 3, 4, 6, 8, 9, 12, 16, 18\\}$.
-We define $F(N)$ as the number of permutations of $S(N)$ in which each element comes after all of its proper divisors.
+Wir definieren $F(N)$ als die Anzahl der Permutationen von $S(N)$, in denen jedes Element nach allen seinen eigenen Teilern kommt.
-This is one of the possible permutations for $N = 20$.
+Dies ist eine der möglichen Permutationen für $N = 20$.
- 1, 2, 4, 3, 9, 8, 16, 6, 18, 12.
-This is not a valid permutation because 12 comes before its divisor 6.
+Dies ist keine gültige Permutation, da 12 vor ihrem Teiler 6 steht.
- 1, 2, 4, 3, 9, 8, 12, 16, 6, 18.
-We can verify that $F(6) = 5$, $F(8) = 9$, $F(20) = 450$ and $F(1000) ≈ 8.8521816557e\\,21$.
+Wir können überprüfen, dass $F(6) = 5$, $F(8) = 9$, $F(20) = 450$ und $F(1000) ≈ 8,8521816557e\\,21$.
-Find $F({10}^{18})$. Give as your answer as a string in its scientific notation rounded to ten digits after the decimal point. When giving your answer, use a lowercase `e` to separate mantissa and exponent. E.g. if the answer is $112\\,233\\,445\\,566\\,778\\,899$ then the answer format would be `1.1223344557e17`.
+Finde $F({10}^{18})$. Gib deine Antwort als String in wissenschaftlicher Notation an, gerundet auf zehn Stellen nach dem Komma. Wenn du deine Antwort gibst, benutze ein kleingeschriebenes `e`, um Mantisse und Exponent zu trennen. Z.B. wenn die Antwort $112\\,233\\,445\\,566\\,778\\,899$ lautet, würde das Antwortformat `1.1223344557e17` lauten.
# --hints--
-`permutationOf3SmoothNumbers()` should return a string.
+`permutationOf3SmoothNumbers()` sollte einen String zurückgeben.
```js
assert.strictEqual(typeof permutationOf3SmoothNumbers() === 'string');
```
-`permutationOf3SmoothNumbers()` should return the string `5.5350769703e1512`.
+`permutationOf3SmoothNumbers()` sollte den String `5.5350769703e1512` zurückgeben.
```js
assert.strictEqual(permutationOf3SmoothNumbers(), '5.5350769703e1512');
diff --git a/curriculum/challenges/german/10-coding-interview-prep/project-euler/problem-463-a-weird-recurrence-relation.md b/curriculum/challenges/german/10-coding-interview-prep/project-euler/problem-463-a-weird-recurrence-relation.md
index a8e3607195e..feb7f81ab78 100644
--- a/curriculum/challenges/german/10-coding-interview-prep/project-euler/problem-463-a-weird-recurrence-relation.md
+++ b/curriculum/challenges/german/10-coding-interview-prep/project-euler/problem-463-a-weird-recurrence-relation.md
@@ -1,6 +1,6 @@
---
id: 5900f53c1000cf542c51004e
-title: 'Problem 463: A weird recurrence relation'
+title: 'Problem 463: Eine merkwürdige Wiederholungsrelation'
challengeType: 1
forumTopicId: 302138
dashedName: problem-463-a-weird-recurrence-relation
@@ -8,21 +8,21 @@ dashedName: problem-463-a-weird-recurrence-relation
# --description--
-The function $f$ is defined for all positive integers as follows:
+Die Funktion $f$ ist für alle positive Integer wie folgt definiert:
$$\begin{align} & f(1) = 1 \\\\
& f(3) = 3 \\\\ & f(2n) = f(n) \\\\
& f(4n + 1) = 2f(2n + 1) - f(n) \\\\ & f(4n + 3) = 3f(2n + 1) - 2f(n) \end{align}$$
-The function $S(n)$ is defined as $\sum_{i=1}^{n} f(i)$.
+Die Funktion $S(n)$ ist als $\sum_{i=1}^{n} f(i)$ definiert.
-$S(8) = 22$ and $S(100) = 3604$.
+$S(8) = 22$ und $S(100) = 3604$.
-Find $S(3^{37})$. Give the last 9 digits of your answer.
+Finde $S(3^{37})$. Gib die letzten 9 Ziffern deiner Antwort an.
# --hints--
-`weirdRecurrenceRelation()` should return `808981553`.
+`weirdRecurrenceRelation()` sollte `808981553` zurückgeben.
```js
assert.strictEqual(weirdRecurrenceRelation(), 808981553);
diff --git a/curriculum/challenges/german/10-coding-interview-prep/project-euler/problem-464-mbius-function-and-intervals.md b/curriculum/challenges/german/10-coding-interview-prep/project-euler/problem-464-mbius-function-and-intervals.md
index d293fcda274..ee3cf9bb261 100644
--- a/curriculum/challenges/german/10-coding-interview-prep/project-euler/problem-464-mbius-function-and-intervals.md
+++ b/curriculum/challenges/german/10-coding-interview-prep/project-euler/problem-464-mbius-function-and-intervals.md
@@ -1,6 +1,6 @@
---
id: 5900f53d1000cf542c51004f
-title: 'Problem 464: Möbius function and intervals'
+title: 'Problem 464: Möbius-Funktion und Intervalle'
challengeType: 1
forumTopicId: 302139
dashedName: problem-464-mbius-function-and-intervals
@@ -8,30 +8,30 @@ dashedName: problem-464-mbius-function-and-intervals
# --description--
-The Möbius function, denoted $μ(n)$, is defined as:
+Die Möbius-Funktion, bezeichnet mit $μ(n)$, ist definiert als:
-- $μ(n) = (-1)^{ω(n)}$ if $n$ is squarefree (where $ω(n)$ is the number of distinct prime factors of $n$)
-- $μ(n) = 0$ if $n$ is not squarefree.
+- $μ(n) = (-1)^{ω(n)}$ falls $n$ eckfrei ist (wobei $ω(n)$ die Nummer verschiedener Hauptfaktoren von $n$ ist)
+- $μ(n) = 0$ falls $n$ nicht eckfrei ist.
-Let $P(a, b)$ be the number of integers $n$ in the interval $[a, b]$ such that $μ(n) = 1$.
+Lasse $P(a, b)$ die Anzahl der Integer $n$ im Intervall $[a, b]$ sein, so dass $μ(n) = 1$ gilt.
-Let $N(a, b)$ be the number of integers $n$ in the interval $[a, b]$ such that $μ(n) = -1$.
+Lasse $N(a, b)$ die Anzahl der Integer $n$ im Intervall $[a, b]$ sein, so dass $μ(n) = -1$.
-For example, $P(2, 10) = 2$ and $N(2, 10) = 4$.
+Zum Beispiel $P(2, 10) = 2$ und $N(2, 10) = 4$.
-Let $C(n)$ be the number of integer pairs $(a, b)$ such that:
+Lasse $C(n)$ die Anzahl an Paaren der Integer $(a, b)$ sein, so dass:
- $1 ≤ a ≤ b ≤ n$,
-- $99 \times N(a, b) ≤ 100 \times P(a, b)$, and
+- $99 \times N(a, b) ≤ 100 \times P(a, b)$, und
- $99 \times P(a, b) ≤ 100 \times N(a, b)$.
-For example, $C(10) = 13$, $C(500) = 16\\,676$ and $C(10\\,000) = 20\\,155\\,319$.
+Zum Beispiel $C(10) = 13$, $C(500) = 16\\,676$ und $C(10\\,000) = 20\\,155\\,319$.
-Find $C(20\\,000\\,000)$.
+Finde $C(20\\,000\\,000)$.
# --hints--
-`mobiusFunctionAndIntervals()` should return `198775297232878`.
+`mobiusFunctionAndIntervals()` sollte `198775297232878` zurückgeben.
```js
assert.strictEqual(mobiusFunctionAndIntervals(), 198775297232878);
diff --git a/curriculum/challenges/german/10-coding-interview-prep/project-euler/problem-465-polar-polygons.md b/curriculum/challenges/german/10-coding-interview-prep/project-euler/problem-465-polar-polygons.md
index 57ad5b291d6..4e3f32b5835 100644
--- a/curriculum/challenges/german/10-coding-interview-prep/project-euler/problem-465-polar-polygons.md
+++ b/curriculum/challenges/german/10-coding-interview-prep/project-euler/problem-465-polar-polygons.md
@@ -1,6 +1,6 @@
---
id: 5900f53d1000cf542c510050
-title: 'Problem 465: Polar polygons'
+title: 'Problem 465: Polare Polygone'
challengeType: 1
forumTopicId: 302140
dashedName: problem-465-polar-polygons
@@ -8,27 +8,27 @@ dashedName: problem-465-polar-polygons
# --description--
-The kernel of a polygon is defined by the set of points from which the entire polygon's boundary is visible. We define a polar polygon as a polygon for which the origin is strictly contained inside its kernel.
+Der Kern eines Polygons wird durch die Menge der Punkte definiert, von denen aus der gesamte Rand des Polygons sichtbar ist. Wir definieren ein polares Polygon als ein Polygon, bei dem der Ursprung genau in seinem Kern enthalten ist.
-For this problem, a polygon can have collinear consecutive vertices. However, a polygon still cannot have self-intersection and cannot have zero area.
+Bei diesem Problem kann ein Polygon kollinear aufeinanderfolgende Scheitelpunkte haben. Ein Polygon kann sich jedoch weder selbst schneiden noch eine Fläche von Null haben.
-For example, only the first of the following is a polar polygon (the kernels of the second, third, and fourth do not strictly contain the origin, and the fifth does not have a kernel at all):
+Zum Beispiel ist nur die erste der folgenden Abbildungen ein polares Polygon (die Kerne der zweiten, dritten und vierten enthalten nicht unbedingt den Ursprung und die fünfte hat überhaupt keinen Kern):
-
+
-Notice that the first polygon has three consecutive collinear vertices.
+Beachte, dass das erste Polygon drei aufeinanderfolgende kollineare Scheitelpunkte hat.
-Let $P(n)$ be the number of polar polygons such that the vertices $(x, y)$ have integer coordinates whose absolute values are not greater than $n$.
+Lasse $P(n)$ die Anzahl der polaren Vielecke sein, bei denen die Eckpunkte $(x, y)$ ganzzahlige Koordinaten haben, deren Absolutwerte nicht größer als $n$ sind.
-Note that polygons should be counted as different if they have different set of edges, even if they enclose the same area. For example, the polygon with vertices [(0,0), (0,3), (1,1), (3,0)] is distinct from the polygon with vertices [(0,0), (0,3), (1,1), (3,0), (1,0)].
+Beachte, dass Polygone als unterschiedlich gezählt werden sollten, wenn sie unterschiedliche Kanten haben, auch wenn sie dieselbe Fläche umschließen. So unterscheidet sich beispielsweise das Polygon mit den Eckpunkten [(0,0), (0,3), (1,1), (3,0)] von dem Polygon mit den Eckpunkten [(0,0), (0,3), (1,1), (3,0), (1,0)].
-For example, $P(1) = 131$, $P(2) = 1\\,648\\,531$, $P(3) = 1\\,099\\,461\\,296\\,175$ and $P(343)\bmod 1\\,000\\,000\\,007 = 937\\,293\\,740$.
+Zum Beispiel $P(1) = 131$, $P(2) = 1\\,648\\,531$, $P(3) = 1\\,099\\,461\\,296\\,175$ und $P(343)\bmod 1\\,000\\,000\\,007 = 937\\,293\\,740$.
-Find $P(7^{13})\bmod 1\\,000\\,000\\,007$.
+Finde $P(7^{13})\bmod 1\\,000\\,000\\,007$.
# --hints--
-`polarPolygons()` should return `585965659`.
+`polarPolygons()` sollte `585965659` zurückgeben.
```js
assert.strictEqual(polarPolygons(), 585965659);
diff --git a/curriculum/challenges/german/10-coding-interview-prep/project-euler/problem-466-distinct-terms-in-a-multiplication-table.md b/curriculum/challenges/german/10-coding-interview-prep/project-euler/problem-466-distinct-terms-in-a-multiplication-table.md
index cfefe6e7b9f..5d7b9a6ded3 100644
--- a/curriculum/challenges/german/10-coding-interview-prep/project-euler/problem-466-distinct-terms-in-a-multiplication-table.md
+++ b/curriculum/challenges/german/10-coding-interview-prep/project-euler/problem-466-distinct-terms-in-a-multiplication-table.md
@@ -1,6 +1,6 @@
---
id: 5900f53e1000cf542c510051
-title: 'Problem 466: Distinct terms in a multiplication table'
+title: 'Problem 466: Verschiedene Begriffe in einer Multiplikationstabelle'
challengeType: 1
forumTopicId: 302141
dashedName: problem-466-distinct-terms-in-a-multiplication-table
@@ -8,27 +8,27 @@ dashedName: problem-466-distinct-terms-in-a-multiplication-table
# --description--
-Let $P(m,n)$ be the number of distinct terms in an $m×n$ multiplication table.
+Lass $P(m,n)$ die Anzahl der verschiedenen Begriffe in einer $m×n$ Multiplikationstabelle sein.
-For example, a 3×4 multiplication table looks like this:
+Zum Beispiel sieht eine 3×4 Multiplikationstabelle so aus:
$$\begin{array}{c} × & \mathbf{1} & \mathbf{2} & \mathbf{3} & \mathbf{4} \\\\
\mathbf{1} & 1 & 2 & 3 & 4 \\\\ \mathbf{2} & 2 & 4 & 6 & 8 \\\\
\mathbf{3} & 3 & 6 & 9 & 12 \end{array}$$
-There are 8 distinct terms {1, 2, 3, 4, 6, 8, 9, 12}, therefore $P(3, 4) = 8$.
+Es gibt 8 verschiedene Begriffe {1, 2, 3, 4, 6, 8, 9, 12}, also $P(3, 4) = 8$.
-You are given that:
+Dir wird gegeben, dass:
$$\begin{align} & P(64, 64) = 1\\,263, \\\\
& P(12, 345) = 1\\,998, \text{ and} \\\\ & P(32, {10}^{15}) = 13\\,826\\,382\\,602\\,124\\,302. \\\\
\end{align}$$
-Find $P(64, {10}^{16})$.
+Finde $P(64, {10}^{16})$.
# --hints--
-`multiplicationTable()` should return `258381958195474750`.
+`multiplicationTable()` sollte `258381958195474750` zurückgeben.
```js
assert.strictEqual(multiplicationTable(), 258381958195474750);
diff --git a/curriculum/challenges/german/10-coding-interview-prep/project-euler/problem-467-superinteger.md b/curriculum/challenges/german/10-coding-interview-prep/project-euler/problem-467-superinteger.md
index 9b0caad1704..650b8db6176 100644
--- a/curriculum/challenges/german/10-coding-interview-prep/project-euler/problem-467-superinteger.md
+++ b/curriculum/challenges/german/10-coding-interview-prep/project-euler/problem-467-superinteger.md
@@ -1,6 +1,6 @@
---
id: 5900f5411000cf542c510052
-title: 'Problem 467: Superinteger'
+title: 'Problem 467: Super-Integer'
challengeType: 1
forumTopicId: 302142
dashedName: problem-467-superinteger
@@ -8,32 +8,32 @@ dashedName: problem-467-superinteger
# --description--
-An integer $s$ is called a superinteger of another integer $n$ if the digits of $n$ form a subsequence of the digits of $s$.
+Ein Integer $s$ wird als Super-Integer eines anderen Integers $n$ bezeichnet, wenn die Ziffern von $n$ eine Teilfolge der Ziffern von $s$ bilden.
-For example, 2718281828 is a superinteger of 18828, while 314159 is not a superinteger of 151.
+Zum Beispiel ist 2718281828 ein Super-Integer von 18828, während 314159 kein Super-Integer von 151 ist.
-Let $p(n)$ be the $n$th prime number, and let $c(n)$ be the $n$th composite number. For example, $p(1) = 2$, $p(10) = 29$, $c(1) = 4$ and $c(10) = 18$.
+Lass $p(n)$ die $n$-te Primzahl sein und lass $c(n)$ die $n$-te zusammengesetzte Zahl sein. Zum Beispiel $p(1) = 2$, $p(10) = 29$, $c(1) = 4$ und $c(10) = 18$.
$$\begin{align} & \\{p(i) : i ≥ 1\\} = \\{2, 3, 5, 7, 11, 13, 17, 19, 23, 29, \ldots \\} \\\\
& \\{c(i) : i ≥ 1\\} = \\{4, 6, 8, 9, 10, 12, 14, 15, 16, 18, \ldots \\} \end{align}$$
-Let $P^D$ the sequence of the digital roots of $\\{p(i)\\}$ ($C^D$ is defined similarly for $\\{c(i)\\}$):
+Lass $P^D$ die Folge der digitalen Wurzeln von $\\{p(i)\\}$ sein ($C^D$ ist ähnlich definiert für $\\{c(i)\\}$):
$$\begin{align} & P^D = \\{2, 3, 5, 7, 2, 4, 8, 1, 5, 2, \ldots \\} \\\\
& C^D = \\{4, 6, 8, 9, 1, 3, 5, 6, 7, 9, \ldots \\} \end{align}$$
-Let $P_n$ be the integer formed by concatenating the first $n$ elements of $P^D$ ($C_n$ is defined similarly for $C^D$).
+Lass $P_n$ den Integer sein, der durch die Verkettung der ersten $n$-Elemente von $P^D$ gebildet wird ($C_n$ ist ähnlich definiert für $C^D$).
$$\begin{align} & P_{10} = 2\\,357\\,248\\,152 \\\\
& C_{10} = 4\\,689\\,135\\,679 \end{align}$$
-Let $f(n)$ be the smallest positive integer that is a common superinteger of $P_n$ and $C_n$. For example, $f(10) = 2\\,357\\,246\\,891\\,352\\,679$, and $f(100)\bmod 1\\,000\\,000\\,007 = 771\\,661\\,825$.
+Lass $f(n)$ den kleinsten positiven Integer sein, der einen gemeinsamen Super-Integer von $P_n$ und $C_n$ ist. Zum Beispiel $f(10) = 2\\,357\\,246\\,891\\,352\\,679$, und $f(100)\bmod 1\\,000\\,000\\,007 = 771\\,661\\,825$.
-Find $f(10\\,000)\bmod 1\\,000\\,000\\,007$.
+Finde $f(10\\,000)\bmod 1\\,000\\,000\\,007$.
# --hints--
-`superinteger()` should return `775181359`.
+`superinteger()` sollte `775181359` zurückgeben.
```js
assert.strictEqual(superinteger(), 775181359);
diff --git a/curriculum/challenges/german/10-coding-interview-prep/project-euler/problem-468-smooth-divisors-of-binomial-coefficients.md b/curriculum/challenges/german/10-coding-interview-prep/project-euler/problem-468-smooth-divisors-of-binomial-coefficients.md
index dbd4119b933..db21d3381aa 100644
--- a/curriculum/challenges/german/10-coding-interview-prep/project-euler/problem-468-smooth-divisors-of-binomial-coefficients.md
+++ b/curriculum/challenges/german/10-coding-interview-prep/project-euler/problem-468-smooth-divisors-of-binomial-coefficients.md
@@ -1,6 +1,6 @@
---
id: 5900f5411000cf542c510054
-title: 'Problem 468: Smooth divisors of binomial coefficients'
+title: 'Problem 468: Glatte Teiler der Binomialkoeffizienten'
challengeType: 1
forumTopicId: 302143
dashedName: problem-468-smooth-divisors-of-binomial-coefficients
@@ -8,27 +8,27 @@ dashedName: problem-468-smooth-divisors-of-binomial-coefficients
# --description--
-An integer is called B-smooth if none of its prime factors is greater than $B$.
+Ein Integer heißt B-glatt, wenn keiner ihrer Primfaktoren größer als $B$ ist.
-Let $SB(n)$ be the largest B-smooth divisor of $n$.
+Lasse $SB(n)$ der größte B-glatte Teiler von $n$ sein.
-Examples:
+Beispiele:
$$\begin{align} & S_1(10) = 1 \\\\
& S_4(2\\,100) = 12 \\\\ & S_{17}(2\\,496\\,144) = 5\\,712 \end{align}$$
-Define $F(n) = \displaystyle\sum_{B = 1}^n \sum_{r = 0}^n S_B(\displaystyle\binom{n}{r})$. Here, $\displaystyle\binom{n}{r}$ denotes the binomial coefficient.
+Definiere $F(n) = \displaystyle\sum_{B = 1}^n \sum_{r = 0}^n S_B(\displaystyle\binom{n}{r})$. Dabei bezeichnet $\displaystyle\binom{n}{r}$ den Binomialkoeffizienten.
-Examples:
+Beispiele:
$$\begin{align} & F(11) = 3132 \\\\
& F(1\\,111)\bmod 1\\,000\\,000\\,993 = 706\\,036\\,312 \\\\ & F(111\\,111)\bmod 1\\,000\\,000\\,993 = 22\\,156\\,169 \end{align}$$
-Find $F(11\\,111\\,111)\bmod 1\\,000\\,000\\,993$.
+Finde $F(11\\,111\\,111)\bmod 1\\,000\\,000\\,993$.
# --hints--
-`smoothDivisorsOfBinomialCoefficients()` should return `852950321`.
+`smoothDivisorsOfBinomialCoefficients()` sollte `852950321` zurückgeben.
```js
assert.strictEqual(smoothDivisorsOfBinomialCoefficients(), 852950321);
diff --git a/curriculum/challenges/german/10-coding-interview-prep/project-euler/problem-469-empty-chairs.md b/curriculum/challenges/german/10-coding-interview-prep/project-euler/problem-469-empty-chairs.md
index 3dce49fdd9a..8918f027732 100644
--- a/curriculum/challenges/german/10-coding-interview-prep/project-euler/problem-469-empty-chairs.md
+++ b/curriculum/challenges/german/10-coding-interview-prep/project-euler/problem-469-empty-chairs.md
@@ -1,6 +1,6 @@
---
id: 5900f5411000cf542c510053
-title: 'Problem 469: Empty chairs'
+title: 'Problem 469: Freie Stühle'
challengeType: 1
forumTopicId: 302144
dashedName: problem-469-empty-chairs
@@ -8,21 +8,21 @@ dashedName: problem-469-empty-chairs
# --description--
-In a room $N$ chairs are placed around a round table.
+In einem Raum sind $N$ Stühle um einen runden Tisch herum aufgestellt.
-Knights enter the room one by one and choose at random an available empty chair.
+Die Ritter betreten nacheinander den Raum und wählen nach dem Zufallsprinzip einen freien Stuhl aus.
-To have enough elbow room the knights always leave at least one empty chair between each other.
+Um genügend Bewegungsfreiheit zu haben, lassen die Ritter immer mindestens einen Stuhl zwischen sich frei.
-When there aren't any suitable chairs left, the fraction $C$ of empty chairs is determined. We also define $E(N)$ as the expected value of $C$.
+Wenn es keine geeigneten Stühle mehr gibt, wird der Anteil $C$ der leeren Stühle bestimmt. Wir definieren auch $E(N)$ als den Erwartungswert von $C$.
-We can verify that $E(4) = \frac{1}{2}$ and $E(6) = \frac{5}{9}$.
+Wir können überprüfen, dass $E(4) = \frac{1}{2}$ und $E(6) = \frac{5}{9}$.
-Find $E({10}^{18})$. Give your answer rounded to fourteen decimal places in the form 0.abcdefghijklmn.
+Finde $E({10}^{18})$. Gebe deine Antwort auf vierzehn Dezimalstellen gerundet in der Form 0.abcdefghijklmn an.
# --hints--
-`emptyChairs()` should return `0.56766764161831`.
+`emptyChairs()` sollte `0.56766764161831` zurückgeben.
```js
assert.strictEqual(emptyChairs(), 0.56766764161831);
diff --git a/curriculum/challenges/german/10-coding-interview-prep/project-euler/problem-470-super-ramvok.md b/curriculum/challenges/german/10-coding-interview-prep/project-euler/problem-470-super-ramvok.md
index 7d0f1aad0ee..18e5009a4e0 100644
--- a/curriculum/challenges/german/10-coding-interview-prep/project-euler/problem-470-super-ramvok.md
+++ b/curriculum/challenges/german/10-coding-interview-prep/project-euler/problem-470-super-ramvok.md
@@ -8,23 +8,23 @@ dashedName: problem-470-super-ramvok
# --description--
-Consider a single game of Ramvok:
+Nehmen wir ein einziges Spiel Ramvok:
-Let $t$ represent the maximum number of turns the game lasts. If $t = 0$, then the game ends immediately. Otherwise, on each turn $i$, the player rolls a die. After rolling, if $i < t$ the player can either stop the game and receive a prize equal to the value of the current roll, or discard the roll and try again next turn. If $i = t$, then the roll cannot be discarded and the prize must be accepted. Before the game begins, $t$ is chosen by the player, who must then pay an up-front cost $ct$ for some constant $c$. For $c = 0$, $t$ can be chosen to be infinite (with an up-front cost of 0). Let $R(d, c)$ be the expected profit (i.e. net gain) that the player receives from a single game of optimally-played Ramvok, given a fair $d$-sided die and cost constant $c$. For example, $R(4, 0.2) = 2.65$. Assume that the player has sufficient funds for paying any/all up-front costs.
+Lasse $t$ die maximale Anzahl an Spielzügen sein, die das Spiel dauert. Wenn $t = 0$, dann endet das Spiel sofort. Andernfalls würfelt der Spieler in jeder Runde $i$ einen Würfel. Wenn $i < t$ gewürfelt wurde, kann der Spieler entweder das Spiel beenden und einen Preis in Höhe des aktuellen Wurfes erhalten, oder den Wurf verwerfen und es in der nächsten Runde erneut versuchen. Ist $i = t$, so kann der Wurf nicht verworfen werden und der Gewinn muss angenommen werden. Bevor das Spiel beginnt, wird $t$ vom Spieler gewählt, der dann für eine gewisse Konstante $c$ eine Vorauszahlung $ct$ leisten muss. Für $c = 0$ kann $t$ unendlich groß gewählt werden (mit Vorlaufkosten von 0). Lasse $R(d, c)$ der erwartete Gewinn (d.h. der Nettogewinn) sein, den der Spieler aus einem einzigen optimal gespielten Ramvok-Spiel erhält, wenn er einen fairen Würfel mit $d$-Seiten und eine Kostenkonstante $c$ hat. Zum Beispiel, $R(4, 0.2) = 2.65$. Es wird davon ausgegangen, dass der Spieler über ausreichende finanzielle Mittel verfügt, um alle Vorabkosten zu bezahlen.
-Now consider a game of Super Ramvok:
+Betrachte nun eine Partie Super Ramvok:
-In Super Ramvok, the game of Ramvok is played repeatedly, but with a slight modification. After each game, the die is altered. The alteration process is as follows: The die is rolled once, and if the resulting face has its pips visible, then that face is altered to be blank instead. If the face is already blank, then it is changed back to its original value. After the alteration is made, another game of Ramvok can begin (and during such a game, at each turn, the die is rolled until a face with a value on it appears). The player knows which faces are blank and which are not at all times. The game of Super Ramvok ends once all faces of the die are blank.
+In Super Ramvok wird das Spiel Ramvok wiederholt, aber mit einer leichten Abwandlung gespielt. Nach jedem Spiel wird der Würfel verändert. Der Veränderungsprozess läuft folgendermaßen ab: Der Würfel wird einmal gewürfelt, und wenn die resultierende Seite die Punkte sichtbar macht, wird diese Seite in eine leere Seite umgewandelt. Wenn die Fläche bereits leer ist, wird sie auf ihren ursprünglichen Wert zurückgesetzt. Nachdem die Änderung vorgenommen wurde, kann eine neue Partie Ramvok beginnen (und während einer solchen Partie wird der Würfel bei jedem Zug geworfen, bis eine Seite mit einem Wert darauf erscheint). Der Spieler weiß zu jeder Zeit, welche Flächen leer sind und welche nicht. Das Spiel Super Ramvok endet, wenn alle Seiten des Würfels leer sind.
-Let $S(d, c)$ be the expected profit that the player receives from an optimally-played game of Super Ramvok, given a fair $d$-sided die to start (with all sides visible), and cost constant $c$. For example, $S(6, 1) = 208.3$.
+Lasse $S(d, c)$ der erwartete Gewinn sein, den der Spieler bei einer optimal gespielten Partie Super-Ramvok erhält, wenn er mit einem fairen Würfel mit $d$ Seiten (alle Seiten sichtbar) beginnt und die Kostenkonstante $c$ hat. Zum Beispiel $S(6, 1) = 208.3$.
-Let $F(n) = \sum_{4 ≤ d ≤ n} \sum_{0 ≤ c ≤ n} S(d, c)$.
+Lasse $F(n) = \sum_{4 ≤ d ≤ n} \sum_{0 ≤ c ≤ n} S(d, c)$ sein.
-Calculate $F(20)$, rounded to the nearest integer.
+Berechne $F(20)$, gerundet auf den nächsten Integer.
# --hints--
-`superRamvok()` should return `147668794`.
+`superRamvok()` sollte `147668794` zurückgeben.
```js
assert.strictEqual(superRamvok(), 147668794);
diff --git a/curriculum/challenges/german/10-coding-interview-prep/project-euler/problem-471-triangle-inscribed-in-ellipse.md b/curriculum/challenges/german/10-coding-interview-prep/project-euler/problem-471-triangle-inscribed-in-ellipse.md
index 87fba0ff50a..d24ada7d785 100644
--- a/curriculum/challenges/german/10-coding-interview-prep/project-euler/problem-471-triangle-inscribed-in-ellipse.md
+++ b/curriculum/challenges/german/10-coding-interview-prep/project-euler/problem-471-triangle-inscribed-in-ellipse.md
@@ -1,6 +1,6 @@
---
id: 5900f5431000cf542c510056
-title: 'Problem 471: Triangle inscribed in ellipse'
+title: 'Problem 471: Dreieck in Ellipse eingeschlossen'
challengeType: 1
forumTopicId: 302148
dashedName: problem-471-triangle-inscribed-in-ellipse
@@ -8,33 +8,33 @@ dashedName: problem-471-triangle-inscribed-in-ellipse
# --description--
-The triangle $ΔABC$ is inscribed in an ellipse with equation $\frac{x^2}{a^2} + \frac{y^2}{b^2} = 1$, $0 < 2b < a$, $a$ and $b$ integers.
+Das Dreieck $ΔABC$ ist in eine Ellipse eingeschlossen mit der Gleichung $\frac{x^2}{a^2} + \frac{y^2}{b^2} = 1$, $0 < 2b < a$, $a$ und $b$ Integer.
-Let $r(a, b)$ be the radius of the incircle of $ΔABC$ when the incircle has center $(2b, 0)$ and $A$ has coordinates $\left(\frac{a}{2}, \frac{\sqrt{3}}{2}b\right)$.
+Lasse $r(a, b)$ den Radius des Inkreises von $ΔABC$ sein, wenn der innere Kreis den Mittelpunkt $(2b, 0)$ und $A$ die Koordinaten $\left(\frac{a}{2}, \frac{\sqrt{3}}{2}b\right)$ hat.
-For example, $r(3, 1) = \frac{1}{2}, r(6, 2) = 1, r(12, 3) = 2$.
+Zum Beispiel: $r(3, 1) = \frac{1}{2}, r(6, 2) = 1, r(12, 3) = 2$.
-
+
-
+
-Let $G(n) = \sum_{a = 3}^n \sum_{b = 1}^{\left\lfloor\frac{a - 1}{2} \right\rfloor} r(a, b)$
+Lasse $G(n) = \sum_{a = 3}^n \sum_{b = 1}^{\left\lfloor\frac{a - 1}{2} \right\rfloor} r(a, b)$ sein
-You are given $G(10) = 20.59722222$, $G(100) = 19223.60980$ (rounded to 10 significant digits).
+Du erhältst $G(10) = 20.59722222$, $G(100) = 19223.60980$ (gerundet auf 10 signifikante Stellen).
-Find $G({10}^{11})$. Give your answer as a string in scientific notation rounded to 10 significant digits. Use a lowercase `e` to separate mantissa and exponent.
+Finde $G({10}^{11})$. Gib deine Antwort als String in wissenschaftlicher Notation, gerundet auf 10 signifikante Stellen, an. Verwende ein kleines `e`, um Mantisse und Exponent zu trennen.
-For $G(10)$ the answer would have been `2.059722222e1`
+Für $G(10)$ hätte die Antwort `2.059722222e1` gelautet
# --hints--
-`triangleInscribedInEllipse()` should return a string.
+`triangleInscribedInEllipse()` sollte einen String zurückgeben.
```js
assert(typeof triangleInscribedInEllipse() === 'string');
```
-`triangleInscribedInEllipse()` should return the string `1.895093981e31`.
+`triangleInscribedInEllipse()` sollte den String `1.895093981e31` zurückgeben.
```js
assert.strictEqual(triangleInscribedInEllipse(), '1.895093981e31');
diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61329b210dac0b08047fd6ab.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61329b210dac0b08047fd6ab.md
index c3a8b6ddbbd..01c1ffad195 100644
--- a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61329b210dac0b08047fd6ab.md
+++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61329b210dac0b08047fd6ab.md
@@ -7,25 +7,25 @@ dashedName: step-3
# --description--
-Continuing with the `meta` elements, a `viewport` definition tells the browser how to render the page. Including one betters visual accessibility on mobile, and improves _SEO_ (search engine optimization).
+Continuing with the `meta` elements, a `viewport` definition tells the browser how to render the page. Indem du eine solche hinzufügst, verbesserst du die visuelle Barrierefreiheit deiner Seite auf mobilen Endgeräten und dein _SEO_ (Search Engine Optimization – Suchmaschinenoptimierung).
Füge eine `viewport`-Definition mit einem `content`-Attribut hinzu, das die `width` und den `initial-scale` der Seite beschreibt.
# --hints--
-You should create another `meta` element in the `head`.
+Du solltest ein weiteres `meta`-Element im `head`-Element erstellen.
```js
assert.equal(document.querySelectorAll('head > meta')?.length, 2);
```
-You should give the `meta` a `name` attribute of `viewport`.
+Du solltest dem `meta`-Element ein `name`-Attribut von `viewport` geben.
```js
assert.equal(document.querySelectorAll('head > meta[name="viewport"]')?.length, 1);
```
-You should give the `meta` a `content` attribute of `width=device-width, initial-scale=1`.
+Du solltest `meta` ein `content`-Attribut von `width=device-width, initial-scale=1` geben.
```js
assert.equal(document.querySelectorAll('head > meta[content="width=device-width, initial-scale=1.0"]')?.length || document.querySelectorAll('head > meta[content="width=device-width, initial-scale=1"]')?.length, 1);
diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61329d52e5010e08d9b9d66b.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61329d52e5010e08d9b9d66b.md
index 917e40146ce..81bc3eb37ed 100644
--- a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61329d52e5010e08d9b9d66b.md
+++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61329d52e5010e08d9b9d66b.md
@@ -7,31 +7,31 @@ dashedName: step-4
# --description--
-Another important `meta` element for accessibility and SEO is the `description` definition. Der Wert des Attributs `content` wird von Suchmaschinen verwendet, um eine Beschreibung deiner Seite bereitzustellen.
+Ein weiteres, für SEO und Barrierefreiheit wichtiges `meta`-Element ist die `description`-Definition. Der Wert des Attributs `content` wird von Suchmaschinen verwendet, um eine Beschreibung deiner Seite bereitzustellen.
-Add a `meta` element with the `name` attribute set to `description`, and give it a useful `content` attribute.
+Füge ein `meta`-Element hinzu, das über ein auf `description` gesetztes `name`-Attribut verfügt und weise diesem ein passendes `content`-Attribut zu.
# --hints--
-You should add a new `meta` element to the `head`.
+Du solltest dem `head` ein neues `meta`-Element hinzufügen.
```js
assert.equal(document.querySelectorAll('meta').length, 3);
```
-You should give the `meta` a `name` attribute of `description`.
+Du solltest `meta` ein, auf `description` gesetztes, `name`-Attribut zuweisen.
```js
assert.exists(document.querySelector('meta[name="description"]'));
```
-You should give the `meta` a `content` attribute.
+Du solltest `meta` ein `content`-Attribut zuweisen.
```js
assert.notEmpty(document.querySelector('meta[name="description"]')?.content);
```
-The `content` attribute value should not be more than 165 characters. _Das ist die maximale Beschreibungslänge von Google._
+Der Wert des `content`-Attributs sollte 165 Zeichen nicht übersteigen. _Das ist die maximale Beschreibungslänge von Google._
```js
assert.isAtMost(document.querySelector('meta[name="description"]')?.content?.length, 165);
diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/613e275749ebd008e74bb62e.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/613e275749ebd008e74bb62e.md
index fcf1fcc41a5..d38ba19bcc5 100644
--- a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/613e275749ebd008e74bb62e.md
+++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/613e275749ebd008e74bb62e.md
@@ -9,7 +9,7 @@ dashedName: step-8
Eine nützliche Eigenschaft einer _SVG_ (scalable vector graphics, skalierbare Vektorgrafiken) ist, dass dieses ein `path`-Attribut enthält, mit welchem ein Bild, ohne die Auflösung des Resultats zu beeinflussen, skaliert werden kann.
-Currently, the `img` is assuming its default size, which is too large. Korrigiere das, indem du das Bild mithilfe des Selektors `id` auf eine `width` von `max(100px, 18vw)` stellst.
+Derzeit übernimmt das `img` die Ursprungsgröße, welche aber zu groß ist. Korrigiere das, indem du das Bild mithilfe des Selektors `id` auf eine `width` von `max(100px, 18vw)` stellst.
# --hints--
diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6140827cff96e906bd38fc2b.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6140827cff96e906bd38fc2b.md
index 1d7705cbe4a..7c52f9241bd 100644
--- a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6140827cff96e906bd38fc2b.md
+++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6140827cff96e906bd38fc2b.md
@@ -7,7 +7,7 @@ dashedName: step-9
# --description--
-As described in the freeCodeCamp Style Guide, the logo should retain an aspect ratio of `35 / 4`, and have padding around the text.
+Wie im freeCodeCamp-Stil-Leitfaden beschrieben, sollte das Logo ein Seitenverhältnis von `35 / 4` beibehalten und genug Abstand zum Text halten.
Ändere zuerst die `background-color` zu `#0a0a23`, damit du das Logo sehen kannst. Verwende anschließend die `aspect-ratio`-Eigenschaft, um das gewünschte Seitenverhältnis auf `35 / 4` einzustellen. Füge zum Schluss ein `padding`von `0.4rem` an allen Seiten hinzu.
diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6140883f74224508174794c0.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6140883f74224508174794c0.md
index b70214a3945..9b260a413a2 100644
--- a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6140883f74224508174794c0.md
+++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6140883f74224508174794c0.md
@@ -7,7 +7,7 @@ dashedName: step-10
# --description--
-Make the `header` take up the full width of its parent container, set its `height` to `50px`, and set the `background-color` to `#1b1b32`. Then, set the `display` to use _Flexbox_.
+Lasse den `header` die volle Breite seines übergeordneten Containers annehmen, setze die `height` auf `50px` und setze die `background-color` auf `#1b1b32`. Setze `display` anschließend auf _Flexbox_.
# --hints--
diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61408e4ae3e35d08feb260eb.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61408e4ae3e35d08feb260eb.md
index 52842563298..137ed164e36 100644
--- a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61408e4ae3e35d08feb260eb.md
+++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61408e4ae3e35d08feb260eb.md
@@ -7,7 +7,7 @@ dashedName: step-11
# --description--
-Change the `h1` font color to `#f1be32`, and set the font size to `min(5vw, 1.2em)`.
+Setze die `h1`-Schriftfarbe auf `#f1be32` und die Schriftgröße auf `min(5vw, 1.2em)`.
# --hints--
diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6141fabd6f75610664e908fd.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6141fabd6f75610664e908fd.md
index 671aa32e1dd..0a3b7701a57 100644
--- a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6141fabd6f75610664e908fd.md
+++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6141fabd6f75610664e908fd.md
@@ -7,37 +7,37 @@ dashedName: step-14
# --description--
-As this is a quiz, you will need a form for users to submit answers. Du kannst den Inhalt innerhalb des Formulars mit `section`-Elementen semantisch trennen.
+Da es sich um ein Quiz handelt, brauchst du ein Formular, in das Nutzer ihre Antworten eintragen können. Du kannst den Inhalt innerhalb des Formulars mit `section`-Elementen semantisch trennen.
-Within the `main` element, create a form with three nested `section` elements. Then, make the form submit to `https://freecodecamp.org/practice-project/accessibility-quiz`, using the correct method.
+Erstelle innerhalb des `main`-Elements ein Formular, das drei verschachtelte `section`-Elemente enthält. Übermittle dann das Formular mit der richtigen Methode an `https://freecodecamp.org/practice-project/accessibility-quiz`.
# --hints--
-You should nest a `form` element within your `main` element.
+Verschachtele das `form`-Element innerhalb deines `main`-Elements.
```js
assert.exists(document.querySelector('main > form'));
```
-You should nest three `section` elements within your `form` element.
+Du solltest drei `section`-Elemente in deinem `form`-Element verschachteln.
```js
assert.equal(document.querySelectorAll('main > form > section')?.length, 3);
```
-You should give the `form` element an `action` attribute.
+Du solltest dem `form`-Element ein `action`-Attribut geben.
```js
assert.notEmpty(document.querySelector('main > form')?.action);
```
-You should give the `action` attribute a value of `https://freecodecamp.org/practice-project/accessibility-quiz`.
+Du solltest dem `action`-Attribut den Wert `https://freecodecamp.org/practice-project/accessibility-quiz` geben.
```js
assert.equal(document.querySelector('main > form')?.action, 'https://freecodecamp.org/practice-project/accessibility-quiz');
```
-You should give the `form` element a `method` attribute.
+Du solltest dem `form`-Element ein `method`-Attribut geben.
```js
assert.notEmpty(document.querySelector('main > form')?.method);
diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614206033d366c090ca7dd42.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614206033d366c090ca7dd42.md
index 16099768b69..384219d369f 100644
--- a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614206033d366c090ca7dd42.md
+++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614206033d366c090ca7dd42.md
@@ -11,18 +11,18 @@ Typeface plays an important role in the accessibility of a page. Einige Schrifta
Change the font for both the `h1` and `h2` elements to `Verdana`, and use another web-safe font in the sans-serif family as a fallback.
-Also, add a `border-bottom` of `4px solid #dfdfe2` to `h2` elements to make the sections distinct.
+Füge außerdem einen `border-bottom` von `4px solid #dfdfe2` den `h2`-Elementen hinzu, um die Abschnitte zu unterscheiden.
# --hints--
-You should use a multiple element selector to target the `h1` and `h2` elements.
+Du solltest einen Mehrfach-Elementselektor verwenden, um `h1`- und `h2`-Elemente auszuwählen.
```js
const gs = (s) => new __helpers.CSSHelp(document).getStyle(s);
assert.exists(gs('h1, h2') || gs('h2, h1'));
```
-You should set the first value of the `font-family` property to `Verdana`.
+Du solltest den ersten Wert der `font-family`-Eigenschaft auf `Verdana` ändern.
```js
const gs = (s) => new __helpers.CSSHelp(document).getStyle(s);
@@ -30,7 +30,7 @@ const style = gs('h1, h2') || gs('h2, h1');
assert.include(style?.fontFamily, 'Verdana');
```
-You should set the second value of the `font-family` property to another sans-serif, web safe font. _Tipp: Ich würde Tahoma wählen_.
+Du solltest den zweiten Wert der Eigenschaft `font-family` auf eine andere serifenlose, websichere Schriftart ändern. _Tipp: Ich würde Tahoma wählen_.
```js
// Acceptable fonts: Arial, sans-serif, Helvetica, Tahoma, Trebuchet MS.
@@ -39,7 +39,7 @@ const style = gs('h1, h2') || gs('h2, h1');
assert.match(style?.fontFamily, /(Tahoma)|(Arial)|(sans-serif)|(Helvetica)|(Trebuchet MS)/);
```
-You should use an `h2` element selector to target the `h2` elements.
+Du solltest einen `h2`-Elementselektor verwenden, um die `h2`-Elemente auszuwählen.
```js
assert.exists(new __helpers.CSSHelp(document).getStyle('h2'));
diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61435e3c0679a306c20f1acc.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61435e3c0679a306c20f1acc.md
index 21cdb692734..5de80a6c409 100644
--- a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61435e3c0679a306c20f1acc.md
+++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61435e3c0679a306c20f1acc.md
@@ -7,7 +7,7 @@ dashedName: step-18
# --description--
-To be able to navigate within the page, give each anchor element an `href` corresponding to the `id` of the `h2` elements.
+Um innerhalb der Seite navigieren zu können, gib jedem Anker-Element ein `href` entsprechend der `id` der `h2`-Elemente.
# --hints--
diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6143610161323a081b249c19.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6143610161323a081b249c19.md
index 607df7475c9..8da85cd6c49 100644
--- a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6143610161323a081b249c19.md
+++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6143610161323a081b249c19.md
@@ -37,7 +37,7 @@ You should give the third `div` a `class` of `info`.
assert.equal(document.querySelectorAll('h2#student-info ~ div')?.[2]?.className, 'info');
```
-You should nest one `label` element within the first `div`.
+Du solltest ein `label`-Element innerhalb des ersten `div` verschachteln.
```js
assert.equal(document.querySelectorAll('h2#student-info ~ div')?.[0]?.querySelectorAll('label')?.length, 1);
@@ -50,7 +50,7 @@ assert.equal(document.querySelectorAll('h2#student-info ~ div')?.[0]?.querySelec
assert.exists(document.querySelectorAll('h2#student-info ~ div')?.[0]?.querySelector('label + input'));
```
-You should nest one `label` element within the second `div`.
+Du solltest ein `label`-Element innerhalb des zweiten `div` verschachteln.
```js
assert.equal(document.querySelectorAll('h2#student-info ~ div')?.[1]?.querySelectorAll('label')?.length, 1);
@@ -63,7 +63,7 @@ assert.equal(document.querySelectorAll('h2#student-info ~ div')?.[1]?.querySelec
assert.exists(document.querySelectorAll('h2#student-info ~ div')?.[1]?.querySelector('label + input'));
```
-You should nest one `label` element within the third `div`.
+Du solltest ein `label`-Element innerhalb des dritten `div` verschachteln.
```js
assert.equal(document.querySelectorAll('h2#student-info ~ div')?.[2]?.querySelectorAll('label')?.length, 1);
diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6143639d5eddc7094161648c.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6143639d5eddc7094161648c.md
index 61a4510e778..fb6db1970db 100644
--- a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6143639d5eddc7094161648c.md
+++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6143639d5eddc7094161648c.md
@@ -7,45 +7,45 @@ dashedName: step-20
# --description--
-Es ist wichtig, jeden `input` mit dem entsprechenden `label`-Element zu verknüpfen. This provides assistive technology users with a visual reference to the input.
+Es ist wichtig, jeden `input` mit dem entsprechenden `label`-Element zu verknüpfen. Dadurch erhalten Nutzer assistiver Technologien einen visuellen Hinweis auf den Input.
Dies geschieht, indem `label` ein `for`-Attribut gegeben wird, das die `id` des `input` enthält.
-This section will take a student's name, email address, and date of birth. Gib den `label`-Elementen geeignete `for`-Attribute sowie einen Textinhalt. Verknüpfe anschließend die `input`-Elemente mit den entsprechenden `label`-Elementen.
+In diesem Abschnitt werden der Name, die E-Mail-Adresse und das Geburtsdatum der Studierenden eingegeben. Gib den `label`-Elementen geeignete `for`-Attribute sowie einen Textinhalt. Verknüpfe anschließend die `input`-Elemente mit den entsprechenden `label`-Elementen.
# --hints--
-You should give the first `label` element an appropriate `for` attribute.
+Du solltest dem ersten `label`-Element ein geeignetes `for`-Attribut zuweisen.
```js
assert.isAtLeast(document.querySelectorAll('label')?.[0]?.htmlFor?.length, 1);
```
-You should give the second `label` element an appropriate `for` attribute.
+Du solltest dem zweiten `label`-Element ein geeignetes `for`-Attribut zuweisen.
```js
assert.isAtLeast(document.querySelectorAll('label')?.[1]?.htmlFor?.length, 1);
```
-You should give the third `label` element an appropriate `for` attribute.
+Du solltest dem dritten `label`-Element ein geeignetes `for`-Attribut zuweisen.
```js
assert.isAtLeast(document.querySelectorAll('label')?.[2]?.htmlFor?.length, 1);
```
-You should give the first `label` element an appropriate text content.
+Du solltest dem ersten `label`-Element einen geeigneten Textinhalt zuweisen.
```js
assert.isAtLeast(document.querySelectorAll('label')?.[0]?.textContent?.length, 1);
```
-You should give the second `label` element an appropriate text content.
+Du solltest dem zweiten `label`-Element einen geeigneten Textinhalt zuweisen.
```js
assert.isAtLeast(document.querySelectorAll('label')?.[1]?.textContent?.length, 1);
```
-You should give the third `label` element an appropriate text content.
+Du solltest dem dritten `label`-Element einen geeigneten Textinhalt zuweisen.
```js
assert.isAtLeast(document.querySelectorAll('label')?.[2]?.textContent?.length, 1);
diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6143920c8eafb00b735746ce.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6143920c8eafb00b735746ce.md
index 113e0a19bd7..ab43732742b 100644
--- a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6143920c8eafb00b735746ce.md
+++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6143920c8eafb00b735746ce.md
@@ -7,13 +7,13 @@ dashedName: step-22
# --description--
-Even though you added a `placeholder` to the first `input` element in the previous lesson, this is actually not a best-practice for accessibility; too often, users confuse the placeholder text with an actual input value - they think there is already a value in the input.
+In der letzten Lektion hast du jedem `input`-Element einen `placeholder` gegeben, obwohl dies eigentlich keine optimale Vorgehensweise für verbesserte Barrierefreiheit ist. Zu oft verwechseln Nutzer den Text des Platzhalters mit einem tatsächlichen Eingabewert – sie denken, dieses Feld würde bereits einen Wert enthalten.
Remove the placeholder text from the first `input` element, relying on the `label` being the best-practice.
# --hints--
-You should remove the `placeholder` attribute from the first `input` element.
+Du solltest das `placeholder`-Attribut aus dem ersten `input`-Element entfernen.
```js
assert.isEmpty(document.querySelectorAll('input')?.[0]?.placeholder);
diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6143931a113bb80c45546287.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6143931a113bb80c45546287.md
index 7d6bf69b60e..b32c7c38752 100644
--- a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6143931a113bb80c45546287.md
+++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6143931a113bb80c45546287.md
@@ -7,13 +7,13 @@ dashedName: step-23
# --description--
-Vermutlich ist `D.O.B.` nicht beschreibend genug. Dies gilt insbesondere für sehbehinderte Nutzer. One way to get around such an issue, without having to add visible text to the label, is to add text only a screen reader can read.
+Vermutlich ist `D.O.B.` nicht beschreibend genug. Dies gilt insbesondere für sehbehinderte Nutzer. Eine Möglichkeit, ein solches Problem zu umgehen, ohne dem Label sichtbaren Text hinzufügen zu müssen, besteht darin, Text hinzuzufügen, den nur ein Screen-Reader lesen kann.
Append a `span` element with a class of `sr-only` to the current text content of the third `label` element.
# --hints--
-You should add a `span` element within the third `label` element.
+Du solltest ein `span`-Element innerhalb des dritten `label`-Elements einfügen.
```js
assert.exists(document.querySelector('.info:nth-of-type(3) > label > span'));
@@ -25,7 +25,7 @@ Du solltest dem `span`-Element die Klasse `sr-only` zuweisen.
assert.equal(document.querySelector('.info:nth-of-type(3) > label > span')?.className, 'sr-only');
```
-You should place the `span` after the text content `D.O.B.`.
+Du solltest `span` hinter dem Textinhalt `D.O.B.` setzen.
```js
assert.match(document.querySelector('.info:nth-of-type(3) > label')?.innerHTML, /D\.O\.B\. div')?.length, 2);
@@ -31,7 +31,7 @@ Du solltest dem zweiten neuen `div`-Element die Klasse `question-block` zuweisen
assert.equal(document.querySelectorAll('section:nth-of-type(2) > div')?.[1]?.className, 'question-block');
```
-You should nest one `p` element within each `div.question-block` element.
+Du solltest ein `p`-Element innerhalb eines jeden `div.question-block`-Elements verschachteln.
```js
assert.equal(document.querySelectorAll('section:nth-of-type(2) > div.question-block > p')?.length, 2);
@@ -49,19 +49,19 @@ Du solltest dem zweiten `p` Element den Text `2` zuweisen.
assert.equal(document.querySelectorAll('section:nth-of-type(2) > div.question-block > p')?.[1]?.textContent, '2');
```
-You should nest one `fieldset` element within each `div.question-block` element.
+Du solltest ein `fieldset`-Element innerhalb eines jeden `div.question-block`-Elements verschachteln.
```js
assert.equal(document.querySelectorAll('section:nth-of-type(2) > div.question-block > fieldset')?.length, 2);
```
-You should place the first `fieldset` element after the first `p` element.
+Du solltest das erste `fieldset`-Element nach dem ersten `p`-Element einfügen.
```js
assert.exists(document.querySelector('section:nth-of-type(2) > div.question-block > p + fieldset'));
```
-You should place the second `fieldset` element after the second `p` element.
+Du solltest das zweite `fieldset`-Element nach dem zweiten `p`-Element einfügen.
```js
assert.exists(document.querySelector('section:nth-of-type(2) > div.question-block:nth-of-type(2) > p + fieldset'));
diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6143cb26f7edff2dc28f7da5.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6143cb26f7edff2dc28f7da5.md
index a0aedf75e52..dcbc38ee34a 100644
--- a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6143cb26f7edff2dc28f7da5.md
+++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6143cb26f7edff2dc28f7da5.md
@@ -7,7 +7,7 @@ dashedName: step-27
# --description--
-Each `fieldset` will contain a true/false question.
+Jedes `fieldset` enthält eine true/false-Frage.
Within each `fieldset`, nest one `legend` element, and one `ul` element with two options.
diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6144e818fd5ea704fe56081d.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6144e818fd5ea704fe56081d.md
index 035c61b1ca9..687ee3d388c 100644
--- a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6144e818fd5ea704fe56081d.md
+++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6144e818fd5ea704fe56081d.md
@@ -7,19 +7,19 @@ dashedName: step-28
# --description--
-Give each `fieldset` an adequate `name` attribute. Then, give both unordered lists a `class` of `answers-list`.
+Gib jedem `fieldset` ein passendes `name`-Attribut. Gib dann beiden ungeordneten Listen eine `class` von `answers-list`.
Finally, use the `legend` to caption the content of the `fieldset` by placing a true/false question as the text content.
# --hints--
-You should give the first `fieldset` an adequate `name` attribute. _Hint: I would use `html-question-one`_
+Du solltest dem ersten `fieldset` ein passendes `name`-Attribut zuweisen. _Hint: I would use `html-question-one`_
```js
assert.notEmpty(document.querySelectorAll('fieldset')?.[0]?.name);
```
-You should give the second `fieldset` an adequate `name` attribute. _Hint: I would use `html-question-two`_
+Du solltest dem zweiten `fieldset` ein passendes `name`-Attribut geben. _Hint: I would use `html-question-two`_
```js
assert.notEmpty(document.querySelectorAll('fieldset')?.[1]?.name);
@@ -37,19 +37,19 @@ You should give the second `ul` element a `class` of `answers-list`.
assert.equal(document.querySelectorAll('fieldset > ul')?.[1]?.className, 'answers-list');
```
-You should give the first `legend` element text content.
+Du solltest dem ersten `legend`-Element einen Textinhalt geben.
```js
assert.notEmpty(document.querySelectorAll('legend')?.[0]?.textContent);
```
-You should give the second `legend` element text content.
+Du solltest dem zweiten `legend`-Element einen Textinhalt geben.
```js
assert.notEmpty(document.querySelectorAll('legend')?.[1]?.textContent);
```
-You should not use the same text content for both `legend` elements.
+Du solltest nicht den gleichen Textinhalt für beide `legend`-Elemente verwenden.
```js
assert.notEqual(document.querySelectorAll('legend')?.[0]?.textContent, document.querySelectorAll('legend')?.[1]?.textContent);
diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145e6eeaa66c605eb087fe9.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145e6eeaa66c605eb087fe9.md
index 056605a482a..fd0355be146 100644
--- a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145e6eeaa66c605eb087fe9.md
+++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145e6eeaa66c605eb087fe9.md
@@ -7,29 +7,29 @@ dashedName: step-30
# --description--
-Add an `id` to all of your radio `input`s so you can link your labels to them. Give the first one an `id` of `q1-a1`. Give the rest of them `id`s of `q1-a2`, `q2-a1`, and `q2-a2`, respectively.
+Add an `id` to all of your radio `input`s so you can link your labels to them. Gib dem ersten eine `id` von `q1-a1`. Gib dem Rest jeweils folgende `id`s: `q1-a2`, `q2-a1` und `q2-a2`.
# --hints--
-You should give the first `input` element an `id` of `q1-a1`.
+Du solltest dem ersten `input`-Element eine `id` von `q1-a1` zuweisen.
```js
assert.equal(document.querySelectorAll('ul.answers-list > li > label > input')?.[0]?.id, "q1-a1");
```
-You should give the second `input` element an `id` of `q1-a2`.
+Du solltest dem zweiten `input`-Element eine `id` von `q1-a2` zuweisen.
```js
assert.equal(document.querySelectorAll('ul.answers-list > li > label > input')?.[1]?.id, "q1-a2");
```
-You should give the third `input` element an `id` of `q2-a1`.
+Du solltest dem dritten `input`-Element eine `id` von `q2-a1` zuweisen.
```js
assert.equal(document.querySelectorAll('ul.answers-list > li > label > input')?.[2]?.id, "q2-a1");
```
-You should give the fourth `input` element an `id` of `q2-a2`.
+Du solltest dem vierten `input`-Element eine `id` von `q2-a2` zuweisen.
```js
assert.equal(document.querySelectorAll('ul.answers-list > li > label > input')?.[3]?.id, "q2-a2");
diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145e8b5080a5f06bb0223d0.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145e8b5080a5f06bb0223d0.md
index 77dd0453714..0109d60dd76 100644
--- a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145e8b5080a5f06bb0223d0.md
+++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145e8b5080a5f06bb0223d0.md
@@ -1,6 +1,6 @@
---
id: 6145e8b5080a5f06bb0223d0
-title: Step 32
+title: Schritt 32
challengeType: 0
dashedName: step-32
---
diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145ed1f22caab087630aaad.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145ed1f22caab087630aaad.md
index 1d22fab184d..5fb112e75ff 100644
--- a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145ed1f22caab087630aaad.md
+++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145ed1f22caab087630aaad.md
@@ -17,7 +17,7 @@ Du solltest den `p::before`-Selektor verwenden.
assert.exists(new __helpers.CSSHelp(document).getStyle('p::before'));
```
-You should give the `p::before` pseudo-element a `content` property of `"Question #"`.
+Du solltest dem `p::before`-Pseudo-Element eine `content`-Eigenschaft von `"Question #"` zuweisen.
```js
assert.include(new __helpers.CSSHelp(document).getStyle('p::before')?.content, 'Question #');
diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145ee65e2e1530938cb594d.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145ee65e2e1530938cb594d.md
index 4533c9e4b24..c70ce498d49 100644
--- a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145ee65e2e1530938cb594d.md
+++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145ee65e2e1530938cb594d.md
@@ -1,6 +1,6 @@
---
id: 6145ee65e2e1530938cb594d
-title: Step 35
+title: Schritt 35
challengeType: 0
dashedName: step-35
---
diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145f02240ff8f09f7ec913c.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145f02240ff8f09f7ec913c.md
index a85127f2369..e2df1b77b7f 100644
--- a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145f02240ff8f09f7ec913c.md
+++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145f02240ff8f09f7ec913c.md
@@ -23,13 +23,13 @@ You should nest one `label` element within the second `div.question-block` eleme
assert.exists(document.querySelectorAll('.formrow > .question-block')?.[1]?.querySelector('label'));
```
-You should give the first `label` element text content.
+Du solltest dem ersten `label`-Element Textinhalt geben.
```js
assert.isAtLeast(document.querySelectorAll('.formrow > .question-block')?.[0]?.querySelector('label')?.textContent?.length, 1);
```
-You should give the second `label` element text content.
+Du solltest dem zweiten `label`-Element Textinhalt geben.
```js
assert.isAtLeast(document.querySelectorAll('.formrow > .question-block')?.[1]?.querySelector('label')?.textContent?.length, 1);
diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145f14f019a4b0adb94b051.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145f14f019a4b0adb94b051.md
index 233c361601e..695322341e6 100644
--- a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145f14f019a4b0adb94b051.md
+++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145f14f019a4b0adb94b051.md
@@ -9,7 +9,7 @@ dashedName: step-37
Within the first `div.answer` element, nest one required `select` element with three `option` elements.
-Give the first `option` element a `value` of `""`, and the text `Select an option`. Give the second `option` element a `value` of `yes`, and the text `Yes`. Give the third `option` element a `value` of `no`, and the text `No`.
+Gib dem ersten `option`-Element eine `value` von `""` und den Text `Select an option`. Gib dem zweiten `option`-Element eine `value` von `yes` und den Text `Yes`. Gib dem dritten `option`-Element eine `value` von `no` und den Text `No`.
# --hints--
@@ -19,43 +19,43 @@ Du solltest ein `select`-Element innerhalb des ersten `div.answer`-Elements vers
assert.exists(document.querySelector('div.answer > select'));
```
-You should nest three `option` elements within the `select` element.
+Du solltest drei `option`-Elemente innerhalb des `select`-Elements verschachteln.
```js
assert.equal(document.querySelectorAll('div.answer > select > option')?.length, 3);
```
-You should give the first `option` element a `value` of `""`.
+Du solltest dem ersten `option`-Element eine `value` von `""` geben.
```js
assert.equal(document.querySelector('div.answer > select > option:nth-child(1)')?.value, '');
```
-You should give the first `option` element a text content of `Select an option`.
+Du solltest dem ersten `option`-Element den Textinhalt `Select an option` geben.
```js
assert.equal(document.querySelector('div.answer > select > option:nth-child(1)')?.textContent, 'Select an option');
```
-You should give the second `option` element a `value` of `yes`.
+Du solltest dem zweiten `option`-Element eine `value` von `yes` geben.
```js
assert.equal(document.querySelector('div.answer > select > option:nth-child(2)')?.value, 'yes');
```
-You should give the second `option` element a text content of `Yes`.
+Du solltest dem zweiten `option`-Element den Textinhalt `Yes` geben.
```js
assert.equal(document.querySelector('div.answer > select > option:nth-child(2)')?.textContent, 'Yes');
```
-You should give the third `option` element a `value` of `no`.
+Du solltest dem dritten `option`-Element eine `value` von `no` geben.
```js
assert.equal(document.querySelector('div.answer > select > option:nth-child(3)')?.value, 'no');
```
-You should give the third `option` element a text content of `No`.
+Du solltest dem dritten `option`-Element den Textinhalt `No` geben.
```js
assert.equal(document.querySelector('div.answer > select > option:nth-child(3)')?.textContent, 'No');
diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145f3a5cd9be60b9459cdd6.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145f3a5cd9be60b9459cdd6.md
index 7a093a5b2b4..8f3f751bbd7 100644
--- a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145f3a5cd9be60b9459cdd6.md
+++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145f3a5cd9be60b9459cdd6.md
@@ -11,13 +11,13 @@ Verknüpfe das erste `label`-Element mit dem `select`-Element und gib dem `selec
# --hints--
-You should give the `label` element a `for` attribute.
+Du solltest dem `label`-Element ein `for`-Attribut zuweisen.
```js
assert.notEmpty(document.querySelector('.question-block > label')?.htmlFor);
```
-You should give the `select` element an `id` attribute.
+Du solltest dem `select`-Element ein `id`-Attribut zuweisen.
```js
assert.notEmpty(document.querySelector('.answer > select')?.id);
@@ -29,7 +29,7 @@ Du solltest dem `select`-Element eine `id` geben, die dem `for`-Attribut des `la
assert.equal(document.querySelector('.answer > select')?.id, document.querySelector('.question-block > label')?.htmlFor);
```
-You should give the `select` element a `name` attribute.
+Du solltest dem `select`-Element ein `name`-Attribut zuweisen.
```js
assert.notEmpty(document.querySelector('.answer > select')?.name);
diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145f47393fbe70c4d885f9c.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145f47393fbe70c4d885f9c.md
index 270a3e2544c..2339afa6561 100644
--- a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145f47393fbe70c4d885f9c.md
+++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145f47393fbe70c4d885f9c.md
@@ -1,6 +1,6 @@
---
id: 6145f47393fbe70c4d885f9c
-title: Step 39
+title: Schritt 39
challengeType: 0
dashedName: step-39
---
diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145fc3707fc3310c277f5c8.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145fc3707fc3310c277f5c8.md
index a461adbd419..870d790bb63 100644
--- a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145fc3707fc3310c277f5c8.md
+++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145fc3707fc3310c277f5c8.md
@@ -7,7 +7,7 @@ dashedName: step-45
# --description--
-Back to styling the page. Wähle die Listenelemente innerhalb der Navigationsleiste aus und gib ihnen die folgenden Formatierungen:
+Zurück zur Seitengestaltung. Wähle die Listenelemente innerhalb der Navigationsleiste aus und gib ihnen die folgenden Formatierungen:
```css
color: #dfdfe2;
diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614796cb8086be482d60e0ac.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614796cb8086be482d60e0ac.md
index 3d68998d683..11cec65cef9 100644
--- a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614796cb8086be482d60e0ac.md
+++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614796cb8086be482d60e0ac.md
@@ -7,7 +7,7 @@ dashedName: step-46
# --description--
-On the topic of visual accessibility, contrast between elements is a key factor. For example, the contrast between the text and the background of a heading should be at least 4.5:1.
+Geht es um visuelle Barrierefreiheit, ist der Kontrast zwischen Elementen ein Schlüsselfaktor. For example, the contrast between the text and the background of a heading should be at least 4.5:1.
Change the font color of all the anchor elements within the list elements to something with a contrast ratio of at least 7:1.
diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614878f7a412310647873015.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614878f7a412310647873015.md
index 9ec3502155b..2c97a2928be 100644
--- a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614878f7a412310647873015.md
+++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614878f7a412310647873015.md
@@ -9,7 +9,7 @@ dashedName: step-48
Tidy up the `header`, by using _Flexbox_ to put space between the children, and vertically center them.
-Then, fix the `header` to the top of the viewport.
+Fixiere anschließend den `header` an den oberen Rand des Viewports.
# --hints--
diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61487b77d4a37707073a64e5.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61487b77d4a37707073a64e5.md
index 964c4af01d7..57e98f29a6c 100644
--- a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61487b77d4a37707073a64e5.md
+++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61487b77d4a37707073a64e5.md
@@ -31,7 +31,7 @@ Du solltest `main` ein `padding-top` von mindestens `25px` geben.
assert.isAtLeast(Number(new __helpers.CSSHelp(document).getStyle('main')?.paddingTop?.replace(/\D+/, '')), 25);
```
-You should only change the `padding-top` value.
+Du solltest nur den `padding-top`-Wert anpassen.
```js
assert.isEmpty(new __helpers.CSSHelp(document).getStyle('main')?.paddingBottom);
diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614884c1f5d6f30ab3d78cde.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614884c1f5d6f30ab3d78cde.md
index 96beebd7200..68774b71bea 100644
--- a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614884c1f5d6f30ab3d78cde.md
+++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614884c1f5d6f30ab3d78cde.md
@@ -100,7 +100,7 @@ Du solltest den `input` Selektor verwenden, um das `input` Element auszuwählen.
assert.exists(new __helpers.CSSHelp(document).getStyle('input'));
```
-You should give the `input` a `font-size` greater than `13px`.
+Du solltest dem `input` eine `font-size` zuweisen, die größer als `13px` ist.
```js
const val = new __helpers.CSSHelp(document).getStyle('input')?.fontSize;
diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614ccc21ea91ef1736b9b578.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614ccc21ea91ef1736b9b578.md
index fea80e7e916..00c3f59dfcd 100644
--- a/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614ccc21ea91ef1736b9b578.md
+++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614ccc21ea91ef1736b9b578.md
@@ -7,9 +7,9 @@ dashedName: step-1
# --description--
-Welcome to the first part of the Accessibility Quiz. Da du langsam ein erfahrener HTML- und CSS-Entwickler wirst, haben wir dich bereits mit dem grundlegenden Boilerplate-Code ausgestattet.
+Willkommen zum ersten Teil des Barrierefreiheit-Quiz. Da du langsam ein erfahrener HTML- und CSS-Entwickler wirst, haben wir dich bereits mit dem grundlegenden Boilerplate-Code ausgestattet.
-Start this accessibility journey by providing a `lang` attribute to your `html` element. Das hilft Bildschirmleseprogrammen bei der Identifizierung der Seitensprache.
+Beginne diese Einführung in die Barrierefreiheit, indem du deinem `html`-Element ein `lang`-Attribut hinzufügst. Das hilft Bildschirmleseprogrammen bei der Identifizierung der Seitensprache.
# --hints--
diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f33071498eb2472b87ddee4.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f33071498eb2472b87ddee4.md
index 6cacfeae778..58eed7369cd 100644
--- a/curriculum/challenges/german/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f33071498eb2472b87ddee4.md
+++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f33071498eb2472b87ddee4.md
@@ -7,13 +7,13 @@ dashedName: step-1
# --description--
-As you learned in the last few steps of the Cat Photo App, there is a basic structure needed to start building your web page.
+Wie du in den letzten Schritten der Katzenfoto-App bereits gelernt hast, ist eine grundlegende Struktur erforderlich, um deine Webseite zu erstellen.
Add the `` tag, and an `html` element with a `lang` attribute of `en`.
# --hints--
-You should have the `DOCTYPE` declaration.
+Du solltest eine `DOCTYPE`-Deklaration haben.
```js
assert(code.match(//i));
diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3313e74582ad9d063e3a38.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3313e74582ad9d063e3a38.md
index a880fd1236c..5029467b1ba 100644
--- a/curriculum/challenges/german/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3313e74582ad9d063e3a38.md
+++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3313e74582ad9d063e3a38.md
@@ -7,7 +7,7 @@ dashedName: step-2
# --description--
-Add a `head` element within the `html` element, so you can add a `title` element. The `title` element's text should be `Cafe Menu`.
+Add a `head` element within the `html` element, so you can add a `title` element. Der Text des `title`-Elements sollte `Cafe Menu` sein.
# --hints--
@@ -17,7 +17,7 @@ You should have an opening `` tag.
assert(code.match(//i));
```
-You should have a closing `` tag.
+Du solltest ein schließendes ``-Tag haben.
```js
assert(code.match(//i));
@@ -29,7 +29,7 @@ You should have an opening `` tag.
assert(code.match(//i));
```
-You should have a closing `` tag.
+Du solltest ein schließendes ``-Tag haben.
```js
assert(code.match(/<\/title>/i));
@@ -41,7 +41,7 @@ Your `title` element should be nested in your `head` element.
assert(code.match(/\s*.*<\/title>\s*<\/head>/si));
```
-Your `title` element should have the text `Cafe Menu`. You may need to check your spelling.
+Your `title` element should have the text `Cafe Menu`. Möglicherweise musst du deine Rechtschreibung überprüfen.
```js
assert.match(document.querySelector('title')?.innerText, /Cafe Menu/i);
diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f344fad8bf01691e71a30eb.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f344fad8bf01691e71a30eb.md
index 79be4103480..8ed29476b9f 100644
--- a/curriculum/challenges/german/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f344fad8bf01691e71a30eb.md
+++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f344fad8bf01691e71a30eb.md
@@ -17,7 +17,7 @@ Your code should have an opening `` tag.
+Dein Code sollte ein schließendes ``-Tag haben.
```js
assert(code.match(/<\/style\s*>/));
diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f344fbc22624a2976425065.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f344fbc22624a2976425065.md
index 35080873435..5155032794c 100644
--- a/curriculum/challenges/german/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f344fbc22624a2976425065.md
+++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f344fbc22624a2976425065.md
@@ -17,13 +17,13 @@ You should have an opening `
` tag.
assert(code.match(/
/i));
```
-You should have a closing `
` tag.
+Du solltest ein schließendes `
`-Tag haben.
```js
assert(code.match(/<\/h2\s*>/i));
```
-You should not change your existing `section` element. Make sure you did not delete the closing tag.
+Du solltest das vorhandene `section`-Element nicht verändern. Stelle sicher, dass du das schließende Tag nicht gelöscht hast.
```js
assert($('section').length === 1);
@@ -36,7 +36,7 @@ const h2 = document.querySelector('h2');
assert(h2.parentElement.tagName === 'SECTION');
```
-Your `h2` element should have the text `Coffee`.
+Dein `h2`-Element sollte den Text `Coffee` haben.
```js
const h2 = document.querySelector('h2');
diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3477ae9675db8bb7655b30.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3477ae9675db8bb7655b30.md
index ef0054c8b52..837a78af300 100644
--- a/curriculum/challenges/german/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3477ae9675db8bb7655b30.md
+++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3477ae9675db8bb7655b30.md
@@ -7,7 +7,7 @@ dashedName: step-12
# --description--
-In the previous step, you used a type selector to style the `h1` element. Center the `h2` and `p` elements by adding a new type selector for each one to the existing `style` element.
+Im vorherigen Schritt hast du einen type selector verwendet, um das `h1`-Element zu gestalten. Center the `h2` and `p` elements by adding a new type selector for each one to the existing `style` element.
# --hints--
diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f356ed656a336993abd9f7c.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f356ed656a336993abd9f7c.md
index 82834b82d6a..4853dab6771 100644
--- a/curriculum/challenges/german/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f356ed656a336993abd9f7c.md
+++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f356ed656a336993abd9f7c.md
@@ -7,7 +7,7 @@ dashedName: step-25
# --description--
-Als nächstes möchtest du den `div` horizontal zentrieren. You can do this by setting its `margin-left` and `margin-right` properties to `auto`. Think of the margin as invisible space around an element. Mit diesen beiden Rand-Eigenschaften zentrierst du das `div` Element innerhalb des `body` Elements.
+Als nächstes möchtest du den `div` horizontal zentrieren. You can do this by setting its `margin-left` and `margin-right` properties to `auto`. Stelle dir den Rand als einen unsichtbaren Raum um ein Element herum vor. Mit diesen beiden Rand-Eigenschaften zentrierst du das `div` Element innerhalb des `body` Elements.
# --hints--
diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3cade99dda4e6071a85dfd.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3cade99dda4e6071a85dfd.md
index 5447a57452b..a8b9f56a298 100644
--- a/curriculum/challenges/german/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3cade99dda4e6071a85dfd.md
+++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3cade99dda4e6071a85dfd.md
@@ -7,7 +7,7 @@ dashedName: step-46
# --description--
-You will come back to styling the menu in a few steps, but for now, go ahead and add a second `section` element below the first for displaying the desserts offered by the cafe.
+Du wirst in ein paar Schritten auf die Gestaltung der Speisekarte zurückkommen, aber füge jetzt ein zweites `section`-Element unterhalb des ersten hinzu, um die vom Café angebotenen Desserts anzuzeigen.
# --hints--
diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e03d719d5ac4738993.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e03d719d5ac4738993.md
index 4865b361dad..2b644d532a1 100644
--- a/curriculum/challenges/german/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e03d719d5ac4738993.md
+++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e03d719d5ac4738993.md
@@ -7,9 +7,9 @@ dashedName: step-56
# --description--
-Die aktuelle Breite der Speisekarte wird immer 80% der Breite des `body`-Elements beanspruchen. On a very wide screen, the coffee and dessert appear far apart from their prices.
+Die aktuelle Breite der Speisekarte wird immer 80% der Breite des `body`-Elements beanspruchen. Auf einem sehr breiten Bildschirm erscheinen Kaffee und Dessert weit entfernt von ihren Preisen.
-Add a `max-width` property to the `menu` class with a value of `500px` to prevent it from growing too wide.
+Füge eine `max-width`-Eigenschaft mit einem Wert von `500px` der `menu`-Klasse hinzu, damit sie nicht zu breit wird.
# --hints--
diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e04559b939080db057.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e04559b939080db057.md
index e0618af57b9..8f483fc304b 100644
--- a/curriculum/challenges/german/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e04559b939080db057.md
+++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e04559b939080db057.md
@@ -42,7 +42,7 @@ const hasPadding = new __helpers.CSSHelp(document).getCSSRules().some(x => x.sty
assert(hasPadding);
```
-Your `.menu` element should have a `padding` value of `20px`.
+Dein `.menu`-Element sollte einen `padding`-Wert von `20px` haben.
```js
const menuPadding = new __helpers.CSSHelp(document).getStyle('.menu')?.getPropertyValue('padding');
diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e050279c7a4a7101d3.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e050279c7a4a7101d3.md
index d18900531d9..704c5ec3794 100644
--- a/curriculum/challenges/german/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e050279c7a4a7101d3.md
+++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e050279c7a4a7101d3.md
@@ -7,7 +7,7 @@ dashedName: step-54
# --description--
-Das sieht besser aus. Now try to add the same `20px` padding to the top and bottom of the menu.
+Das sieht besser aus. Versuche nun, das gleiche `20px`-Padding oberhalb und unterhalb der Speisekarte einzufügen.
# --hints--
diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e056bdde6ae6892ba2.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e056bdde6ae6892ba2.md
index 2ae2f3473ed..42a5c8720d9 100644
--- a/curriculum/challenges/german/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e056bdde6ae6892ba2.md
+++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e056bdde6ae6892ba2.md
@@ -7,9 +7,9 @@ dashedName: step-58
# --description--
-Es ist ein bisschen langweilig, dass alle Texte in der gleichen `font-family` sind. You can still have the majority of the text `sans-serif` and make just the `h1` and `h2` elements different using a different selector.
+Es ist ein bisschen langweilig, dass alle Texte in der gleichen `font-family` sind. Du kannst trotzdem den Großteil des Textes `sans-serif` formatieren und nur die `h1`- und `h2`-Elemente mit einem anderen Selektor versehen.
-Style both the `h1` and the `h2` elements so that only these elements' text use `Impact` font.
+Formatiere beide `h1`- und `h2`-Elemente so, dass nur die Texte dieser Elemente die `Impact`-Schriftart verwenden.
# --hints--
@@ -20,7 +20,7 @@ const h1h2Selector = new __helpers.CSSHelp(document).getStyle('h1, h2');
assert(h1h2Selector);
```
-You should set the `font-family` to `Impact`.
+Du solltest `font-family` auf `Impact` setzen.
```js
const hasFontFamily = new __helpers.CSSHelp(document).getCSSRules().some(x => x.style['font-family'] === 'Impact');
diff --git a/curriculum/challenges/german/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e07276f782bb46b93d.md b/curriculum/challenges/german/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e07276f782bb46b93d.md
index c138aa127b6..e43de1de9ab 100644
--- a/curriculum/challenges/german/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e07276f782bb46b93d.md
+++ b/curriculum/challenges/german/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e07276f782bb46b93d.md
@@ -7,29 +7,29 @@ dashedName: step-63
# --description--
-Add a `footer` element below the `main` element, where you can add some additional information.
+Füge ein `footer`-Element unterhalb des `main`-Elements ein. In dieses Element kannst du zusätzliche Informationen eintragen.
# --hints--
-You should have an opening `