UNPKG

angular-l10n

Version:

An Angular library to translate messages, dates and numbers

111 lines 3.87 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ import { NgModule } from '@angular/core'; import { L10nLoader, LocaleLoader, TranslationLoader } from '../services/l10n-loader'; import { LocaleService } from '../services/locale.service'; import { LocaleStorage, L10nStorage } from '../services/locale-storage'; import { TranslationService } from '../services/translation.service'; import { TranslationProvider, L10nTranslationProvider } from '../services/translation-provider'; import { TranslationHandler, L10nTranslationHandler } from '../services/translation-handler'; import { InjectorRef } from '../models/injector-ref'; import { Logger } from '../models/logger'; import { Caching } from '../models/caching'; import { L10N_CONFIG, l10nConfigFactory } from '../models/l10n-config'; import { TranslatePipe } from '../pipes/translate.pipe'; import { TranslateDirective } from '../directives/translate.directive'; /** * @param {?} l10nConfig * @param {?} token * @return {?} */ export function provideRoot(l10nConfig, token) { return [ InjectorRef, Logger, Caching, { provide: L10N_CONFIG, useValue: l10nConfigFactory(l10nConfig) }, LocaleService, { provide: LocaleStorage, useClass: token.localeStorage || L10nStorage }, TranslationService, { provide: TranslationProvider, useClass: token.translationProvider || L10nTranslationProvider }, { provide: TranslationHandler, useClass: token.translationHandler || L10nTranslationHandler }, { provide: L10nLoader, useClass: LocaleLoader } ]; } /** * @param {?} l10nConfig * @param {?} token * @return {?} */ export function provideChild(l10nConfig, token) { return [ { provide: L10N_CONFIG, useValue: l10nConfigFactory(l10nConfig) }, TranslationService, { provide: TranslationProvider, useClass: token.translationProvider || L10nTranslationProvider }, { provide: TranslationHandler, useClass: token.translationHandler || L10nTranslationHandler }, { provide: L10nLoader, useClass: TranslationLoader } ]; } /** * Provides dependencies, pipes & directives for translating messages. */ export class TranslationModule { /** * @param {?} injector * @param {?} logger */ constructor(injector, logger) { this.injector = injector; this.logger = logger; } /** * Use in AppModule: new instances of LocaleService & TranslationService. * @param {?} l10nConfig * @param {?=} token * @return {?} */ static forRoot(l10nConfig, token = {}) { return { ngModule: TranslationModule, providers: provideRoot(l10nConfig, token) }; } /** * Use in feature modules with lazy loading: new instance of TranslationService. * @param {?} l10nConfig * @param {?=} token * @return {?} */ static forChild(l10nConfig, token = {}) { return { ngModule: TranslationModule, providers: provideChild(l10nConfig, token) }; } } TranslationModule.decorators = [ { type: NgModule, args: [{ declarations: [ TranslatePipe, TranslateDirective ], exports: [ TranslatePipe, TranslateDirective ] },] } ]; /** @nocollapse */ TranslationModule.ctorParameters = () => [ { type: InjectorRef }, { type: Logger } ]; if (false) { /** @type {?} */ TranslationModule.prototype.injector; /** @type {?} */ TranslationModule.prototype.logger; } //# sourceMappingURL=translation.module.js.map