diff --git a/aio/content/guide/i18n.md b/aio/content/guide/i18n.md
index 23d4508d50..43f8e3c137 100644
--- a/aio/content/guide/i18n.md
+++ b/aio/content/guide/i18n.md
@@ -489,13 +489,15 @@ By default, the tool generates a translation file named **`messages.xlf`** in th
### 其它翻译格式
-// TODO: Translate
-
Angular i18n tooling supports XLIFF 1.2 and XLIFF 2 as well as the
XML Message Bundle (XMB).
+除了XML消息捆(XMB)格式外,Angular的i18n工具也同样支持 XLIFF 1.2和XLIFF 2 格式。
+
You can specify your choice of format _explicitly_ with the `--i18nFormat` flag as illustrated in these example commands
+我们可以使用`--i18nFormat`来明确指定想用的格式,范例如下:
+
./node_modules/.bin/ng-xi18n --i18nFormat=xlf --outFile=messages.xlf
./node_modules/.bin/ng-xi18n --i18nFormat=xlf2 --outFile=messages.xliff2.xlf
@@ -504,15 +506,22 @@ You can specify your choice of format _explicitly_ with the `--i18nFormat` flag
The sample in _this_ guide sticks with the default _XLIFF 1.2_ format.
+本章的范例默认使用 _XLIFF 1.2_ 格式。
+
{@a ng-xi18n-options}
### Other options
+### 其它选项
+
You may have to specify additional options.
For example, if the `tsconfig.json` TypeScript configuration
file is located somewhere other than in the root folder,
you must identify the path to it with the `-p` option:
+我们还可能需要指定其它选项。
+比如,如果TypeScript的配置文件`tsconfig.json`位于其它地方而不是根目录,我们就要通过`-p`选项来明确指出它的路径。
+
./node_modules/.bin/ng-xi18n -p path/to/tsconfig.json
./node_modules/.bin/ng-xi18n --i18nFormat=xmb -p path/to/tsconfig.json
@@ -522,9 +531,13 @@ you must identify the path to it with the `-p` option:
### Add an _npm_ script for convenience
+### 添加`npm`便利脚本
+
Consider adding a convenience shortcut to the `scripts` section of the `package.json`
to make the command easier to remember and run:
+考虑在`package.json`的`scripts`区中添加一个便利脚本,来让命令更容易记忆和运行:
+
"scripts": {
"i18n": "ng-xi18n",
@@ -534,6 +547,8 @@ to make the command easier to remember and run:
Now you can issue command variations such as these:
+现在,我们就可以使用这些命令的变体形式了,比如:
+
npm run i18n
npm run i18n -- -p path/to/tsconfig.json
@@ -543,6 +558,8 @@ Now you can issue command variations such as these:
Note the `--` flag before the options.
It tells _npm_ to pass every flag thereafter to `ng-xi18n`.
+注意选项前面的`--`标识。它告诉`npm`要把这个参数后面的每一个标识都透传给`ng-xi18n`。
+
{@a translate}
## Translate text messages
@@ -554,6 +571,7 @@ in the project root folder named `messages.xlf`.
The next step is to translate the English language template
text into the specific language translation
files. The guide sample creates a Spanish translation file.
+
`ng-xi18n`命令在项目根目录生成一个名为`messages.xlf`的翻译源文件。
下一步是将英文模板文本翻译到目标语言的翻译文件。
本烹饪书创建了一个西班牙语翻译文件。
@@ -652,74 +670,119 @@ Change either factor and the `id` changes as well.
See the **[translation file maintenance discussion](#maintenance)**.
+参见**[关于如何维护翻译结果文件的讨论](#maintenance)**。
+
This is why you should **[specify custom ids](#custom-id "Set a custom id")** and avoid tool generated ids.
+这就是为什么我们应该**[指定自定义 id](#custom-id "Set a custom id")**,避免让工具自动生成id。
+
{@a translate-plural-select}
## Translate _plural_ and _select_
+
+## 翻译*复数(plural)*和*选择(select)*
+
Translating _plural_ and _select_ messages is a little tricky.
+翻译*复数*和*选择*类的消息有点棘手。
+
The `