anchor.diff:    The Angular extraction tool preserves both the _meaning_ and the _description_ in the translation source file
     to facilitiate contextually-specific translations.
   
  +  如果所有地方出现的文本具有**相同**含义时，它们应该有**相同**的翻译，
  +  但是如果在某些地方它具有**不同含义**，那么它应该有不同的翻译。
  +  Angular的提取工具在翻译源文件中保留**含义**和**描述**，以支持符合特定上下文的翻译。
  +
   a#ng-xi18n
   .l-main-section
   :marked
     ## Create a translation source file with the _ng-xi18n_ tool
  +
  +  ## 使用_ng-xi18n_工具创建翻译源文件
     
     Use the `ng-xi18n` extraction tool to extract the `i18n`-marked texts 
     into a translation source file in an industry standard format.
  +
  +  使用`ng-xi18n`提取工具来将`i18n`标记的文本提取到一个符合行业标准格式的翻译源文件。
     
     This is an Angular CLI tool in the `@angular/compiler-cli` npm package.
     If you haven't already installed the CLI and its `platform-server` peer dependency, do so now:
  +
  +  它是在`@angular/compiler-cli` npm包中的一个Angular CLI工具。
  +  如果你还没有安装这个CLI和它的 `platform-server`，安装它们：
     
   code-example(language="sh" class="code-shell").
     npm install @angular/compiler-cli @angular/platform-server --save
   
   :marked
     Open a terminal window at the root of the application project and enter the `ng-xi18n` command:
  +
  +  在应用的项目根目录打开一个终端窗口，并输入`ng-xi18n`命令：
    
   code-example(language="sh" class="code-shell").
     ./node_modules/.bin/ng-xi18n
  
positive.code: 
  :marked
    Angular's _internationalization_ ("_i18n_") tools help make your app available in multiple languages.
    
    <a id="top"></a>
    ## Table of contents
      
      * [Angular and i18n template translation](#angular-i18n)
      * [Mark text with the _i18n_ attribute](#i18n-attribute)
      * [Create a translation source file with the _ng-xi18n_ tool](#ng-xi18n)
      * [Translate](#translate)
      * [Merge the completed translation file into the app](#merge)
        * [JiT configuration](#jit)
        * [AoT configuration](#aot)
  
  :marked
    **Try this** <live-example name="cb-i18n">live example</live-example> of a JiT-compiled app, translated into French.
  
    
  a#angular-i18n
  .l-main-section
  :marked
    ## Angular and _i18n_ template translation
  
    Application internationalization is a challenging, many-faceted effort that 
    takes dedication and enduring commitment.
    Angular's _i18n_ internationalization facilities can help.
  
    This page describes the _i18n_ tools to assist translation of component template text
    into multiple languages.
  
  
  .l-sub-section
    :marked
      Practitioners of _internationalization_ refer to a translatable text as a "_message_".
      This page uses the words "_text_" and "_message_" interchangably and in the combination, "_text message_".
    
  :marked
    The _i18n_ template translation process has four phases:
  
    1. Mark static text messages in your component templates for translation.
    
    1. An angular _i18n_ tool extracts the marked messages into an industry standard translation source file.
  
    1. A translator edits that file, translating the extracted text messages into the target language, 
    and returns the file to you.
  
    1. The Angular compiler imports the completed translation files, 
    replaces the original messages with translated text, and generates a new version of the application
    in the target language.
  
    You build and deploy a separate version of the application for each supported language.
  
  a#i18n-attribute
  .l-main-section
  :marked
    ## Mark text with the _i18n_ attribute
    
    The Angular `i18n` attribute is a marker for translatable content.
    Place it on every element tag whose fixed text should be translated.
  
  .alert.is-helpful
    :marked
  
negative.code:   By default the tool generates a translation file named **`messages.xlf`** in the
    <a href="https://en.wikipedia.org/wiki/XLIFF" target="_blank">XML Localisation Interchange File Format (XLIFF, version 1.2)</a>.
  
    工具默认生成一个名为**`messages.xlf`**的翻译文件，格式为<a href="https://en.wikipedia.org/wiki/XLIFF" target="_blank">XML本地化互换文件格式(XLIFF, version 1.2)</a>。
  
  code-example(language="sh" class="code-shell").
    ./node_modules/.bin/ng-xi18n  --i18nFormat=xmb
  
  .l-sub-section
    :marked
      Windows users may have to quote the command:
  
      Windows用户可能需要双引号这个命令：
  
    code-example(language="sh").
      "./node_modules/.bin/ng-xi18n"
    :marked
      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`部分添加一个便利的快捷方式，让这个命令更容易被记住和运行：
    code-example(format='.').
      "scripts": {
        "i18n": "ng-xi18n", 
  