# ApacheCN 校对活动参与手册

## 目的

本文档旨在为一般贡献者提供社区校对活动的参与指南。

本手册充分研究了神经翻译引擎的特点，结合了社区成员的先进经验，使单人可在一周内校对完五本书，而无需逐字阅读。

## 版本信息

| 版本 | 日期 | 编辑人 |
| --- | --- | --- |
| v1.0 | 2022.5.8 | 飞龙 |

## 译后编辑简介

ApacheCN 是立足于自动化的社区，采用了【神经机器翻译】引擎来做中文文档和教程的本地化。

<https://docs.apachecn.org/>

如你所见，这种方法效率出类拔萃的高，已完成了我们的 70% 的工作量。得益于这种方法，大量技术教程得到翻译，一些技术在中文技术全有了扎根的土壤。

翻译引擎不会改动原文的逻辑，并且在语句通顺程度上可做到 90%。也就是说，一个具有正常读写能力但不懂编程技术的人，在不理解部分专业术语的情况下，可以通读翻译的文章。

然而，翻译引擎由于训练语料的杂乱，领域不单一，对于专业术语往往把握不准，需要译者来把关。由于翻译引擎是个黑盒，无法在翻译过程中提供定制，业界普遍采用[【译后编辑】](https://cn.bing.com/search?q=%E8%AF%91%E5%90%8E%E7%BC%96%E8%BE%91)策略。

这种策略被李笑来老师高度赞扬，见[《当翻译变成了文本编辑》](https://blog.csdn.net/wizardforcel/article/details/122871585)，他指出在全职状态下，一个熟练的译者一天就能完成一本书。

翻译引擎的错误是结构性的。换句话说，可以通过编辑器的搜索来将其全部发现。一部分甚至可以批量替换来改掉。

在我们的校对活动中，如果你没有时间通读全文，这样也是可以接受的。因为，你不是一个人在战斗，前一个人的疏漏总有后一个人来将其改掉。

## 校对活动工作流程

在校对活动中，贡献者需要校对三个方面：（1）格式（2）专业术语（3）部分语法。

在每个步骤，经过我们的多次试验，最快方式是通过使用正则表达式来找出译文中的错误。然后把它改正，就是这么简单。

下面列出了所有用到的正则表达式：

### 格式

链接：

```
(?<!!)\[[^\]]*\]
```

表格：

```
^\|
```

中文间空格：

中文间空格一般是翻译引擎出错的地方。

```
[\u4e00-\u9fff]\s+[\u4e00-\u9fff]
```

未翻译段落：

```
^[a-zA-Z0-9][^\u4e00-\u9fff]+$
^\s*([\+\-\*]\x20{3}|\d+\.\x20{2})[^\u4e00-\u9fff]+$
```

内联代码：

在 Markdown 中，内联代码需要用反引号括起来，但一些教程并没有这样做。于是，需要检查中英文边界，将没有用反引号括起来的内联代码改掉。

```
[\u2018-\u201d\u3001-\u301c\u4e00-\u9fff\uff01-\uff65]\x20*[A-Za-z0-9]|[A-Za-z0-9]\x20*[\u2018-\u201d\u3001-\u301c\u4e00-\u9fff\uff01-\uff65]
```

粗体/斜体：

```
\*\*[^\*]+\*\*|(?<!\*)\*[^\*]+\*(?!\*)
```

### 术语

请见我们收集的术语列表。校对过程中可能还有需要补充的新项目，欢迎补充。

<https://github.com/apachecn/home/blob/master/docs/translate/trans-table.md>

### 部分语法

标题：

```
^#+\x20
```

列表（二十字以内）：

短的列表由于没有上下文非常容易出错。

```
^\s*([\+\-\*]\x20{3}|\d+\.\x20{2}).{1,20}$
```
