anchor.diff:    ## Translate _plural_ and _select_
     Translating _plural_ and _select_ messages is a little tricky.
   
  -  The `<source>` tag is empty for `plural` and `select` translation 
  +  The `<source>` tag is empty for `plural` and `select` translation
     units, which makes them hard to correlate with the original template.
  -  The `XLIFF` format doesn't yet support the ICU rules; it soon will.
  +  The `XLIFF` format doesn't yet support the ICU rules.
     However, the `XMB` format does support the ICU rules.
   
     You'll just have to look for them in relation to other translation units that you recognize from elsewhere in the source template.
     In this example, you know the translation unit for the `select` must be just below the translation unit for the logo.
   
  -:marked
  -  ### Translate _plural_ 
  +a#translate-plural
  +:marked
  +  ### Translate _plural_
     To translate a `plural`, translate its ICU format match values:
   
   +makeExample('cb-i18n/ts/src/locale/messages.es.xlf.html', 'translated-plural', 'src/locale/messages.es.xlf (<trans-unit>)')(format=".")
   
  -:marked
  -  ### Translate _select_ 
  +a#translate-select
  +:marked
  +  ### Translate _select_
     The `select` behaves a little differently. Here again is the ICU format message in the component template:
   
   +makeExample('cb-i18n/ts/src/app/app.component.html', 'i18n-select', 'src/app/app.component.html')(format=".")
   
   :marked
     The extraction tool broke that into _two_ translation units.
  -  
  +
     The first unit contains the text that was _outside_ the `select`.
  -  In place of the `select` is a placeholder, `<x id="ICU">`, that represents the `select` message. 
  +  In place of the `select` is a placeholder, `<x id="ICU">`, that represents the `select` message.
     Translate the text and leave the placeholder where it is.
   
   +makeExample('cb-i18n/ts/src/locale/messages.es.xlf.html', 'translate-select-1', 'src/locale/messages.es.xlf (<trans-unit>)')(format=".")
  
positive.code: 
    You will probably translate into more than one other language so it's a good idea
    for the project structure to reflect your entire internationalization effort.
    
    One approach is to dedicate a folder to localization and store related assets 
    (for example, internationalization files) there.
  .l-sub-section
    :marked
      Localization and internationalization are 
      <a href="https://en.wikipedia.org/wiki/Internationalization_and_localization" target="_blank">different but closely related terms</a>.
  :marked
    This cookbook follows that suggestion. It has a `locale` folder under the `src/`.
    Assets within the folder carry a filename extension that matches a language-culture code from a
    <a href="https://msdn.microsoft.com/en-us/library/ee825488(v=cs.20).aspx" target="_blank">well-known codeset</a>.
  
    Make a copy of the `messages.xlf` file, put it in the `locale` folder and 
    rename it `messages.es.xlf`for the Spanish language translation.
    Do the same for each target language.
  
    ### Translate text nodes
    In the real world, you send the `messages.es.xlf` file to a Spanish translator who fills in the translations
    using one of the
  
negative.code: 
  a#text-plugin
  :marked
    ### SystemJS text plugin
  
    Notice the SystemJS mapping of `text` to a `systemjs-text-plugin.js`.
    With the help of a text plugin, SystemJS can read any file as raw text and
  