anchor.diff:  
   :marked
     Angular's _internationalization_ ("_i18n_") tools help make your app available in multiple languages.
  +
  +  Angular的**国际化**（"_i18n_"）工具可以帮助我们使用多个语言发布应用。
     
     <a id="top"></a>
     ## Table of contents
  +
  +  ## 目录
       
       * [Angular and i18n template translation](#angular-i18n)
  +
  +    * [Angular和i18n模板翻译](#angular-i18n)
  +
       * [Mark text with the _i18n_ attribute](#i18n-attribute)
  +
  +    * [使用_i18n_属性标记文本](#i18n-attribute)
  +
       * [Create a translation source file with the _ng-xi18n_ tool](#ng-xi18n)
  +
  +    * [使用_ng-xi18n_工具创建翻译源文件](#ng-xi18n)
  +
       * [Translate](#translate)
  +
  +    * [翻译](#translate)
  +
       * [Merge the completed translation file into the app](#merge)
  +
  +    * [合并翻译完成的文件到应用中](#merge)
  +
         * [JiT configuration](#jit)
  +
  +      * [JiT配置](#jit)
  +
         * [AoT configuration](#aot)
   
  +      * [AoT配置](#aot)
  +
   :marked
     **Try this** <live-example name="cb-i18n">live example</live-example> of a JiT-compiled app, translated into French.
   
  +  **试试** 这个翻译为法语版JiT编译应用的<live-example name="cb-i18n">在线例子</live-example>。
     
   a#angular-i18n
   .l-main-section
   :marked
     ## Angular and _i18n_ template translation
  +  
  +  ## Angular和_i18n_模板翻译
   
     Application internationalization is a challenging, many-faceted effort that 
     takes dedication and enduring commitment.
     Angular's _i18n_ internationalization facilities can help.
   
  +  应用程序国际化很具有挑战性，多方面的努力，需要持久的奉献和决心。
  +  Angular的_i18n_国际化工具可以帮助你。
  +
     This page describes the _i18n_ tools to assist translation of component template text
     into multiple languages.
   
  +  本章描述了_i18n_是如何协助翻译组件模板文本到多种语言的。
  +
   
   .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:
   
  +  _i18n_模板翻译流程有四个阶段：  
  +
     1. Mark static text messages in your component templates for translation.
  +
  +  1. 在组件模板中标记需要翻译的静态文本信息。
     
     1. An angular _i18n_ tool extracts the marked messages into an industry standard translation source file.
  +
  +  1. Angular的_i18n_工具将标记的信息提取到一个行业标准的翻译源文件。
   
     1. A translator edits that file, translating the extracted text messages into the target language, 
     and returns the file to you.
  +
  +  1. 翻译人员编辑该文件，翻译提取出来的文本信息到目标语言，并将该文件还给你。
   
     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.
   
  +  1. Angular编译器导入完成翻译的文件，使用翻译的文本替换原始信息，并生成新的目标语言版本的应用程序。
  +
     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
     
  +  ## 使用_i18n_属性标记文本
  +
     The Angular `i18n` attribute is a marker for translatable content.
     Place it on every element tag whose fixed text should be translated.
  +
  +  Angular的`i18n`属性是可翻译内容的标记。
  +  将它放到每个固定文本需要翻译的元素标签中。
   
   .alert.is-helpful
     :marked
  
positive.code:     It's a custom _attribute_, recognized by Angular tools and compilers.
      It will be removed by the compiler _after_ translation.
  
  :marked
    In the accompanying sample, an `<h1>` tag displays a simple English language greeting which you will translate to French:
  +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.
  
  +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:
    
  +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=".")
  
  
negative.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.
  
    你可以通过添加`--i18nFormat=xmb`开关，来生成名为**`messages.xmb`**的翻译文件，它的格式为<a href="http://cldr.unicode.org/development/development-process/design-proposals/xmb"  target="_blank">XML信息捆绑包(XMB)</a>。
  
    This sample sticks with the _XLIFF_ format.
  
    本例采用_XLIFF_格式。
  
  a#translate
  .l-main-section
  