anchor.diff:  a#ng-xi18n-options
   :marked
     ### Other options
  -  You may have to specify additional options. 
  -  For example, if the `tsconfig.json` TypeScript configuration 
  +  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:
   code-example(language="sh" class="code-shell").
  
positive.code:     The function returns an empty `noProviders` array as a `Promise`.
      It must return a `Promise` because this function could read a translation file asynchronously from the server.
  
    1. It creates a transaction filename from the locale according to the name and location convention 
    [described earlier](#localization-folder).
  
    1. The `getTranslationsWithSystemJs` method reads the translation and returns the contents as a string.
    Notice that it appends `!text` to the filename, telling SystemJS to use the [text plugin](#text-plugin). 
  
    1. The callback composes a providers array with the three translation providers.
  
    1. Finally, `getTranslationProviders` returns the entire effort as a promise.
  
    ### Bootstrap the app with translation providers
  
    The Angular `bootstrapModule` method has a second, _options_ parameter
    that can influence the behavior of the compiler.
  
    You'll create an _options_ object with the translation providers from `getTranslationProviders`
    and pass it to `bootstrapModule`.
    Open the `src/main.ts` and modify the bootstrap code as follows:
  +makeExample('cb-i18n/ts/src/main.ts', null, 'src/main.ts')(format=".")
  :marked
    Notice that it waits for the `getTranslationProviders` promise to resolve before
    bootstrapping the app.
  
    The app is now _internationalized_ for English and Spanish and there is a clear path for adding
  
negative.code:   The application displays different text depending upon whether the hero is male or female.
    These text alternatives require translation too.
  
    You can handle this with a `select` translation.
    A `select` also follows the
    <a href="http://userguide.icu-project.org/formatparse/messages" target="_blank" title="ICU Message Format">ICU message syntax</a>.
    You choose among alternative translation based on a string value instead of a number.
  
    The following format message in the component template binds to the component's `gender`
    property, which outputs either an "m" or an "f".
    The message maps those values to the appropriate translation:
  
  