anchor.diff:      It's a custom _attribute_, recognized by Angular tools and compilers.
       It will be removed by the compiler _after_ translation.
   
  +    `i18n`不是Angular指令。
  +    它是一个自定义**属性**，Angular工具和编译器认识它。
  +    它将在完成翻译**之后**，被编译器移除。
  +
   :marked
     In the accompanying sample, an `<h1>` tag displays a simple English language greeting which you will translate to French:
  +
  +  在例子中，`<h1>`标签显示了一句简单的英文问候语，它将被翻译为法语：
  +
   +makeExample('cb-i18n/ts/app/app.component.1.html', 'greeting', 'app/app.component.html')(format=".")
   :marked
     Add the `i18n` attribute to the tag to mark it for translation.
  +
  +  添加`i18n`属性到该标签上，把它标记为需要翻译的文本。
   
   +makeExample('cb-i18n/ts/app/app.component.1.html', 'i18n-attribute', 'app/app.component.html')(format=".")
   
   :marked
     The translator may need a description of the message to translate it accurately.
     Assign a description to the i18n attribute:
  +
  +  翻译人员可能需要待翻译文本的描述才能翻译准确。
  +  为i18n属性添加描述：
     
   +makeExample('cb-i18n/ts/app/app.component.1.html', 'i18n-attribute-desc', 'app/app.component.html')(format=".")
   
   :marked
     The true _meaning_ of the text may require some application context.
     Add a contextual meaning to the assigned string, separating it from the description with the `|` character:
  +
  +  文本的准确**意思**可能需要一些应用上下文。
  +  在制定的字符串中添加上下文含义，用`|`将其与描述文字隔开。
     
   +makeExample('cb-i18n/ts/app/app.component.html', 'i18n-attribute-meaning', 'app/app.component.html')(format=".")
   
  
positive.code:     }
    :marked
      Now you can enter:
    code-example(language="sh" class="code-shell").
      npm run i18n
  
  :marked
    ### Other translation formats
  
    You can generate a file named **`messages.xmb`** in the 
    <a href="http://cldr.unicode.org/development/development-process/design-proposals/xmb"  target="_blank">XML Message Bundle (XMB)</a> format
    by adding the `--i18nFormat=xmb` switch.
  
    This sample sticks with the _XLIFF_ format.
  
  a#translate
  .l-main-section
  
negative.code:   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
  