docs(core): add docs for i18n tokens (#17920)

PR Close #17920
This commit is contained in:
Olivier Combe
2017-07-04 17:07:11 +02:00
committed by Igor Minar
parent 77ef527993
commit be994496cd
4 changed files with 134 additions and 31 deletions

View File

@ -9,21 +9,95 @@
import {InjectionToken} from '../di/injection_token';
/**
* Provide this token to set the locale of your application.
* It is used for i18n extraction, by i18n pipes (DatePipe, I18nPluralPipe, CurrencyPipe,
* DecimalPipe and PercentPipe) and by ICU expressions.
*
* See the {@linkDocs guide/i18n#setting-up-locale i18n guide} for more information.
*
* ### Example
*
* ```typescript
* import { LOCALE_ID } from '@angular/core';
* import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
* import { AppModule } from './app/app.module';
*
* platformBrowserDynamic().bootstrapModule(AppModule, {
* providers: [{provide: LOCALE_ID, useValue: 'en-US' }]
* });
* ```
*
* @experimental i18n support is experimental.
*/
export const LOCALE_ID = new InjectionToken<string>('LocaleId');
/**
* Use this token at bootstrap to provide the content of your translation file (`xtb`,
* `xlf` or `xlf2`) when you want to translate your application in another language.
*
* See the {@linkDocs guide/i18n#merge i18n guide} for more information.
*
* ### Example
*
* ```typescript
* import { TRANSLATIONS } from '@angular/core';
* import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
* import { AppModule } from './app/app.module';
*
* // content of your translation file
* const translations = '....';
*
* platformBrowserDynamic().bootstrapModule(AppModule, {
* providers: [{provide: TRANSLATIONS, useValue: translations }]
* });
* ```
*
* @experimental i18n support is experimental.
*/
export const TRANSLATIONS = new InjectionToken<string>('Translations');
/**
* Provide this token at bootstrap to set the format of your {@link TRANSLATIONS}: `xtb`,
* `xlf` or `xlf2`.
*
* See the {@linkDocs guide/i18n#merge i18n guide} for more information.
*
* ### Example
*
* ```typescript
* import { TRANSLATIONS_FORMAT } from '@angular/core';
* import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
* import { AppModule } from './app/app.module';
*
* platformBrowserDynamic().bootstrapModule(AppModule, {
* providers: [{provide: TRANSLATIONS_FORMAT, useValue: 'xlf' }]
* });
* ```
*
* @experimental i18n support is experimental.
*/
export const TRANSLATIONS_FORMAT = new InjectionToken<string>('TranslationsFormat');
/**
* Use this enum at bootstrap as an option of `bootstrapModule` to define the strategy
* that the compiler should use in case of missing translations:
* - Error: throw if you have missing translations.
* - Warning (default): show a warning in the console and/or shell.
* - Ignore: do nothing.
*
* See the {@linkDocs guide/i18n#missing-translation i18n guide} for more information.
*
* ### Example
* ```typescript
* import { MissingTranslationStrategy } from '@angular/core';
* import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
* import { AppModule } from './app/app.module';
*
* platformBrowserDynamic().bootstrapModule(AppModule, {
* missingTranslation: MissingTranslationStrategy.Error
* });
* ```
*
* @experimental i18n support is experimental.
*/
export enum MissingTranslationStrategy {