Skip to content

Commit c814882

Browse files
feat: 查缺补漏,优化翻译 (#1103)
* fix: typo in 2-ui/99-ui-misc/02-selection-range * fix translation errors in 4-binary/02-text-decoder and 4-binary/03-blob * fix format in 9-regular-expressions/01-regexp-introduction * fix typo and improve translation in 9-regular-expressions/05-regexp-multiline-mode * fix translation errors in 9-regular-expressions/11-regexp-groups/article.md * improve translation in 9-regular-expressions/14-regexp-lookahead-lookbehind/article.md * fix an error in 9-regular-expressions/17-regexp-methods/article.md * fix typo in 5-network/09-resume-upload/article.md * feat: 优化翻译 Co-authored-by: LeviDing <imdingxuewen@gmail.com>
1 parent 8e01a7e commit c814882

File tree

9 files changed

+19
-18
lines changed

9 files changed

+19
-18
lines changed

2-ui/99-ui-misc/02-selection-range/article.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ drawHtmlTree(selectPDomtree, 'div.select-p-domtree', 690, 320);
111111
- 起点以 `<p>` 作为父节点 `node``0` 作为偏移量。
112112

113113
因此,我们可以将其设置为 `range.setStart(p, 0)`
114-
- 重点也是以 `<p>` 作为父节点 `node`,但以 `2` 作为偏移量(它指定最大范围,但不包括 `offset`)。
114+
- 终点也是以 `<p>` 作为父节点 `node`,但以 `2` 作为偏移量(它指定最大范围,但不包括 `offset`)。
115115

116116
因此,我们可以将其设置为 `range.setEnd(p, 2)`
117117

@@ -378,7 +378,7 @@ From <input id="start" type="number" value=1> – To <input id="end" type="numbe
378378
有一些事件可以跟踪选择:
379379

380380
- `elem.onselectstart` —— 当在元素 `elem` 上(或在其内部)**开始**选择时。例如,当用户在元素 `elem` 上按下鼠标按键并开始移动指针时。
381-
- Preventing the default action cancels the selection start. 因此,从该元素开始选择变得不可能,但该元素仍然是可选择的。用户只需要从其他地方开始选择。
381+
- 阻止默认行为取消了选择的开始。因此,从该元素开始选择变得不可能,但该元素仍然是可选择的。用户只需要从其他地方开始选择。
382382
- `document.onselectionchange` —— 当选择发生变化或开始时。
383383
- 请注意:此处理程序只能在 `document` 上设置。它跟踪的是 `document` 中的所有选择。
384384

@@ -408,7 +408,7 @@ From <input id="from" disabled> – To <input id="to" disabled>
408408
复制所选内容有两种方式:
409409
410410
1. 我们可以使用 `document.getSelection().toString()` 来获取其文本形式。
411-
2. 此外,想要复制整个 DOM 节点,例如,如果我们需要保持其格式不变,我们可以使用 `getRangesAt(...)` 获取底层的(underlying)范围。`Range` 对象还具有 `cloneContents()` 方法,该方法会拷贝范围中的内容并以 `DocumentFragment` 的形式返回,我们可以将这个返回值插入到其他位置。
411+
2. 此外,想要复制整个 DOM 节点,例如,如果我们需要保持其格式不变,我们可以使用 `getRangeAt(...)` 获取底层的(underlying)范围。`Range` 对象还具有 `cloneContents()` 方法,该方法会拷贝范围中的内容并以 `DocumentFragment` 的形式返回,我们可以将这个返回值插入到其他位置。
412412
413413
下面是将所选内容复制为文本和 DOM 节点的演示:
414414
@@ -456,7 +456,7 @@ As text: <span id="astext"></span>
456456
- `setBaseAndExtent(anchorNode, anchorOffset, focusNode, focusOffset)` —— 用给定的起点 `anchorNode/anchorOffset` 和终点 `focusNode/focusOffset` 来替换选择范围。选中它们之间的所有内容。
457457
- `selectAllChildren(node)` —— 选择 `node` 的所有子节点。
458458
- `deleteFromDocument()` —— 从文档中删除所选择的内容。
459-
- `containsNode(node, allowPartialContainment = false)` —— 检查选择中是否包含 `node`特别是如果第二个参数是 `true` 的话
459+
- `containsNode(node, allowPartialContainment = false)` —— 检查选择中是否包含 `node`若第二个参数是 `true`,则只需包含 `node` 的部分内容即可
460460
461461
对于大多数需求,这些方法就够了,无需访问底层的(underlying)`Range` 对象。
462462
@@ -541,7 +541,7 @@ From <input id="from" disabled> – To <input id="to" disabled>
541541
542542
请注意:
543543
- `onselect` 是在某项被选择时触发,而在选择被删除时不触发。
544-
- 根据 [规范](https://w3c.github.io/selection-api/#dfn-selectionchange),发表单控件内的选择不应该触发 `document.onselectionchange` 事件,因为它与 `document` 选择和范围不相关。一些浏览器会生成它,但我们不应该依赖它。
544+
- 根据 [规范](https://w3c.github.io/selection-api/#dfn-selectionchange),表单控件内的选择不应该触发 `document.onselectionchange` 事件,因为它与 `document` 选择和范围不相关。一些浏览器会生成它,但我们不应该依赖它。
545545
546546
547547
### 示例:移动光标

4-binary/02-text-decoder/article.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ let decoder = new TextDecoder([label], [options]);
1212
- **`label`** —— 编码格式,默认为 `utf-8`,但同时也支持 `big5``windows-1251` 等许多其他编码格式。
1313
- **`options`** —— 可选对象:
1414
- **`fatal`** —— 布尔值,如果为 `true` 则为无效(不可解码)字符抛出异常,否则(默认)用字符 `\uFFFD` 替换无效字符。
15-
- **`ignoreBOM`** —— 布尔值,如果为 `true` BOM(可选的字节顺序 Unicode 标记),很少需要使用。
15+
- **`ignoreBOM`** —— 布尔值,如果为 `true` 则忽略 BOM(可选的字节顺序 Unicode 标记),很少需要使用。
1616

1717
……然后解码:
1818

4-binary/03-blob/article.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ blob.slice([byteStart], [byteEnd], [contentType]);
4242
```
4343

4444
- **`byteStart`** —— 起始字节,默认为 0。
45-
- **`byteEnd`** —— 最后一个字节(专有,默认为最后)。
45+
- **`byteEnd`** —— 最后一个字节(不包括,默认为最后)。
4646
- **`contentType`** —— 新 blob 的 `type`,默认与源 blob 相同。
4747

4848
参数值类似于 `array.slice`,也允许是负数。
@@ -261,6 +261,6 @@ while (true) {
261261
我们可以轻松地在 `Blob` 和低级别的二进制数据类型之间进行转换:
262262

263263
- 我们可以使用 `new Blob(...)` 构造函数从一个类型化数组(typed array)创建 `Blob`
264-
- 我们可以使用 `FileReader``Blob` 中取回 `arrayBuffer`,然后在其上创建一个视图(view),用于低级别的二进制处理。
264+
- 我们可以使用 `blob.arrayBuffer()``Blob` 中取回 `arrayBuffer`,然后在其上创建一个视图(view),用于低级别的二进制处理。
265265

266266
当我们需要处理大型 blob 时,将其转换为 `stream` 非常有用。你可以轻松地从 blob 创建 `ReadableStream``Blob` 接口的 `stream()` 方法返回一个 `ReadableStream`,其在被读取时返回 blob 中包含的数据。

5-network/09-resume-upload/article.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
```
2929
在恢复上传时需要用到它,以告诉服务器我们要恢复的内容。
3030

31-
如果名称,或大小,或最后一次修改事件发生了更改,则将有另一个 `fileId`
31+
如果名称,或大小,或最后一次修改时间发生了更改,则将有另一个 `fileId`
3232

3333
2. 向服务器发送一个请求,询问它已经有了多少字节,像这样:
3434
```js

9-regular-expressions/01-regexp-introduction/article.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ let regexp = new RegExp(`<${tag}>`); // 如果在上方输入到 prompt 中的
6868
- 正则表达式 —— `pattern:red`
6969
- 字符串(我们搜索的地方)—— `subject:blue`
7070
- 结果 —— `match:green`
71+
```
7172

7273
## 搜索:str.match
7374

9-regular-expressions/05-regexp-multiline-mode/article.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
## 搜索行的开头 ^
1010

11-
在这个有多行文本的例子中,模式 `/^\d+/gm` 将从每行的开头取一个数字:
11+
在这个有多行文本的例子中,模式 `/^\d/gm` 将从每行的开头取一个数字:
1212

1313
```js run
1414
let str = `1st place: Winnie
@@ -37,7 +37,7 @@ console.log( str.match(/^\d/g) ); // 1
3737
```smart
3838
“行的开头”表示“就在换行符之后”:多行模式下的测试 `pattern:^` 匹配所有以换行符 `\n` 开头的位置。
3939
40-
并且在文本开始的位置
40+
以及在文本开始的位置
4141
```
4242

4343
## 搜索行的末尾 $
@@ -57,9 +57,9 @@ console.log( str.match(/\d$/gm) ); // 1,2,3
5757
没有修饰符 `pattern:m`,那么美元符 `pattern:$` 将只会匹配整个文本的末尾,所以只有最后一个数字会被匹配。
5858

5959
```smart
60-
“行的末尾”表示“就在换行符之前”:多行模式下的测试 `pattern:$` 匹配换行符 `\n` 后接的所有位置
60+
“行的末尾”表示“就在换行符之前”:多行模式下的测试 `pattern:$` 匹配所有以换行符 `\n` 结尾的位置
6161
62-
并且在文本末尾的位置
62+
以及在文本末尾的位置
6363
```
6464

6565
## 搜索 \n 而不是 ^ $

9-regular-expressions/11-regexp-groups/article.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -209,9 +209,9 @@ alert(results[0]); // <h1>,h1(第一个标签)
209209
alert(results[1]); // <h2>,h2(第二个标签)
210210
```
211211

212-
我们可以看到,第一个区别非常重要,如 `(*)` 行所示。我们无法获得 `results[0]` 的匹配项,因为该对象是伪数组。我们可以使用 `Array.from` 把它变成一个真正的 `Array`。在 <info:iterable> 一文中有关于伪数组和可迭代对象的更多详细内容。
212+
我们可以看到,第一个区别非常重要,如 `(*)` 行所示。我们无法获得 `results[0]` 的匹配项,因为该对象并不是伪数组。我们可以使用 `Array.from` 把它变成一个真正的 `Array`。在 <info:iterable> 一文中有关于伪数组和可迭代对象的更多详细内容。
213213

214-
如果我们不需要遍历结果,则 `Array.from` 没有必要:
214+
如果我们只需要遍历结果,则 `Array.from` 没有必要:
215215

216216
```js run
217217
let results = '<h1> <h2>'.matchAll(/<(.*?)>/gi);
@@ -359,6 +359,6 @@ alert( result.length ); // 2(在数组中没有其他数组项)
359359

360360
如果括号没有名称,则匹配数组按编号提供其内容。命名括号还可使用属性 `groups`
361361

362-
我们还可以在 `str.replace` 的替换字符串中使用括号内容:通过数字 `$n` 或者=名称 `$<name>`
362+
我们还可以在 `str.replace` 的替换字符串中使用括号内容:通过数字 `$n` 或者名称 `$<name>`
363363

364364
可以通过在组的开头添加 `pattern:?:` 来排除编号。当我们需要对整个组应用量词,但不希望将其作为结果数组中的单独项时这很有用。我们也不能在替换字符串中引用这样的括号。

9-regular-expressions/14-regexp-lookahead-lookbehind/article.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
## 前瞻断言
1010

11-
语法为:`pattern:x(?=y)`,它表示“仅在后面是 `pattern:Y` 时匹配 `pattern:X`”。There may be any pattern instead of `pattern:X` and `pattern:Y`.
11+
语法为:`pattern:x(?=y)`,它表示“仅在后面是 `pattern:Y` 时匹配 `pattern:X`”。这里的 `pattern:X` `pattern:Y` 可以是任何模式。
1212

1313
那么对于一个后面跟着 `` 的整数,正则表达式应该为:`pattern:\d+(?=€)`
1414

9-regular-expressions/17-regexp-methods/article.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ alert( str.search( /ink/i ) ); // 10(第一个匹配位置)
122122

123123
这是用于搜索和替换的通用方法,是最有用的方法之一。它是搜索和替换字符串的瑞士军刀。
124124

125-
们可以在不使用正则表达式的情况下使用它来搜索和替换子字符串
125+
我们可以在不使用正则表达式的情况下使用它来搜索和替换子字符串
126126

127127
```js run
128128
// 用冒号替换连字符

0 commit comments

Comments
 (0)