UNPKG

angular-l10n

Version:

Angular library to translate texts, dates and numbers

49 lines 9.49 kB
import { APP_INITIALIZER, makeEnvironmentProviders } from '@angular/core'; import { L10N_CONFIG, L10N_LOCALE } from '../models/l10n-config'; import { L10nCache } from '../services/l10n-cache'; import { L10nLoader, L10nDefaultLoader } from '../services/l10n-loader'; import { L10nMissingTranslationHandler, L10nDefaultMissingTranslationHandler } from '../services/l10n-missing-translation-handler'; import { L10nLocaleResolver, L10nDefaultLocaleResolver } from '../services/l10n-locale-resolver'; import { L10nStorage, L10nDefaultStorage } from '../services/l10n-storage'; import { L10nTranslationFallback, L10nDefaultTranslationFallback } from '../services/l10n-translation-fallback'; import { L10nTranslationHandler, L10nDefaultTranslationHandler } from '../services/l10n-translation-handler'; import { L10nTranslationLoader, L10nDefaultTranslationLoader } from '../services/l10n-translation-loader'; import { L10nTranslationService } from '../services/l10n-translation.service'; import { L10nIntlService } from '../services/l10n-intl.service'; import { L10nDefaultValidation, L10nValidation } from '../services/l10n-validation'; import { initL10n } from './initL10n'; export function provideL10nTranslation(config, token = {}) { return makeEnvironmentProviders([ L10nTranslationService, L10nCache, { provide: L10N_CONFIG, useValue: config }, { provide: L10N_LOCALE, useValue: { language: '', units: {} } }, { provide: L10nStorage, useClass: token.storage || L10nDefaultStorage }, { provide: L10nLocaleResolver, useClass: token.localeResolver || L10nDefaultLocaleResolver }, { provide: L10nTranslationFallback, useClass: token.translationFallback || L10nDefaultTranslationFallback }, { provide: L10nTranslationLoader, useClass: token.translationLoader || L10nDefaultTranslationLoader }, { provide: L10nTranslationHandler, useClass: token.translationHandler || L10nDefaultTranslationHandler }, { provide: L10nMissingTranslationHandler, useClass: token.missingTranslationHandler || L10nDefaultMissingTranslationHandler }, { provide: L10nLoader, useClass: token.loader || L10nDefaultLoader }, { provide: APP_INITIALIZER, useFactory: initL10n, deps: [L10nLoader], multi: true } ]); } export function provideL10nIntl() { return makeEnvironmentProviders([ L10nIntlService ]); } export function provideL10nValidation(token = {}) { return makeEnvironmentProviders([ { provide: L10nValidation, useClass: token.validation || L10nDefaultValidation } ]); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZUwxMG4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWwxMG4vc3JjL2xpYi9mdW5jdGlvbnMvcHJvdmlkZUwxMG4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBd0Isd0JBQXdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFaEcsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQXlELE1BQU0sdUJBQXVCLENBQUM7QUFDeEgsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNuSSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNqRyxPQUFPLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLDhCQUE4QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDaEgsT0FBTyxFQUFFLHNCQUFzQixFQUFFLDZCQUE2QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDN0csT0FBTyxFQUFFLHFCQUFxQixFQUFFLDRCQUE0QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNwRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRXRDLE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxNQUFrQixFQUFFLFFBQThCLEVBQUU7SUFDdkYsT0FBTyx3QkFBd0IsQ0FBQztRQUM1QixzQkFBc0I7UUFDdEIsU0FBUztRQUNULEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFO1FBQzFDLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRTtRQUMvRCxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxPQUFPLElBQUksa0JBQWtCLEVBQUU7UUFDdkUsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxjQUFjLElBQUkseUJBQXlCLEVBQUU7UUFDNUYsRUFBRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxtQkFBbUIsSUFBSSw4QkFBOEIsRUFBRTtRQUMzRyxFQUFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixJQUFJLDRCQUE0QixFQUFFO1FBQ3JHLEVBQUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsa0JBQWtCLElBQUksNkJBQTZCLEVBQUU7UUFDeEc7WUFDSSxPQUFPLEVBQUUsNkJBQTZCO1lBQ3RDLFFBQVEsRUFBRSxLQUFLLENBQUMseUJBQXlCLElBQUksb0NBQW9DO1NBQ3BGO1FBQ0QsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsTUFBTSxJQUFJLGlCQUFpQixFQUFFO1FBQ3BFO1lBQ0ksT0FBTyxFQUFFLGVBQWU7WUFDeEIsVUFBVSxFQUFFLFFBQVE7WUFDcEIsSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDO1lBQ2xCLEtBQUssRUFBRSxJQUFJO1NBQ2Q7S0FDSixDQUFDLENBQUM7QUFDUCxDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWU7SUFDM0IsT0FBTyx3QkFBd0IsQ0FBQztRQUM1QixlQUFlO0tBQ2xCLENBQUMsQ0FBQztBQUNQLENBQUM7QUFFRCxNQUFNLFVBQVUscUJBQXFCLENBQUMsUUFBNkIsRUFBRTtJQUNqRSxPQUFPLHdCQUF3QixDQUFDO1FBQzVCLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLFVBQVUsSUFBSSxxQkFBcUIsRUFBRTtLQUNuRixDQUFDLENBQUM7QUFDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSLCBFbnZpcm9ubWVudFByb3ZpZGVycywgbWFrZUVudmlyb25tZW50UHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBMMTBOX0NPTkZJRywgTDEwTl9MT0NBTEUsIEwxMG5Db25maWcsIEwxMG5UcmFuc2xhdGlvblRva2VuLCBMMTBuVmFsaWRhdGlvblRva2VuIH0gZnJvbSAnLi4vbW9kZWxzL2wxMG4tY29uZmlnJztcclxuaW1wb3J0IHsgTDEwbkNhY2hlIH0gZnJvbSAnLi4vc2VydmljZXMvbDEwbi1jYWNoZSc7XHJcbmltcG9ydCB7IEwxMG5Mb2FkZXIsIEwxMG5EZWZhdWx0TG9hZGVyIH0gZnJvbSAnLi4vc2VydmljZXMvbDEwbi1sb2FkZXInO1xyXG5pbXBvcnQgeyBMMTBuTWlzc2luZ1RyYW5zbGF0aW9uSGFuZGxlciwgTDEwbkRlZmF1bHRNaXNzaW5nVHJhbnNsYXRpb25IYW5kbGVyIH0gZnJvbSAnLi4vc2VydmljZXMvbDEwbi1taXNzaW5nLXRyYW5zbGF0aW9uLWhhbmRsZXInO1xyXG5pbXBvcnQgeyBMMTBuTG9jYWxlUmVzb2x2ZXIsIEwxMG5EZWZhdWx0TG9jYWxlUmVzb2x2ZXIgfSBmcm9tICcuLi9zZXJ2aWNlcy9sMTBuLWxvY2FsZS1yZXNvbHZlcic7XHJcbmltcG9ydCB7IEwxMG5TdG9yYWdlLCBMMTBuRGVmYXVsdFN0b3JhZ2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9sMTBuLXN0b3JhZ2UnO1xyXG5pbXBvcnQgeyBMMTBuVHJhbnNsYXRpb25GYWxsYmFjaywgTDEwbkRlZmF1bHRUcmFuc2xhdGlvbkZhbGxiYWNrIH0gZnJvbSAnLi4vc2VydmljZXMvbDEwbi10cmFuc2xhdGlvbi1mYWxsYmFjayc7XHJcbmltcG9ydCB7IEwxMG5UcmFuc2xhdGlvbkhhbmRsZXIsIEwxMG5EZWZhdWx0VHJhbnNsYXRpb25IYW5kbGVyIH0gZnJvbSAnLi4vc2VydmljZXMvbDEwbi10cmFuc2xhdGlvbi1oYW5kbGVyJztcclxuaW1wb3J0IHsgTDEwblRyYW5zbGF0aW9uTG9hZGVyLCBMMTBuRGVmYXVsdFRyYW5zbGF0aW9uTG9hZGVyIH0gZnJvbSAnLi4vc2VydmljZXMvbDEwbi10cmFuc2xhdGlvbi1sb2FkZXInO1xyXG5pbXBvcnQgeyBMMTBuVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbDEwbi10cmFuc2xhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTDEwbkludGxTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbDEwbi1pbnRsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMMTBuRGVmYXVsdFZhbGlkYXRpb24sIEwxMG5WYWxpZGF0aW9uIH0gZnJvbSAnLi4vc2VydmljZXMvbDEwbi12YWxpZGF0aW9uJztcclxuaW1wb3J0IHsgaW5pdEwxMG4gfSBmcm9tICcuL2luaXRMMTBuJztcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlTDEwblRyYW5zbGF0aW9uKGNvbmZpZzogTDEwbkNvbmZpZywgdG9rZW46IEwxMG5UcmFuc2xhdGlvblRva2VuID0ge30pOiBFbnZpcm9ubWVudFByb3ZpZGVycyB7XHJcbiAgICByZXR1cm4gbWFrZUVudmlyb25tZW50UHJvdmlkZXJzKFtcclxuICAgICAgICBMMTBuVHJhbnNsYXRpb25TZXJ2aWNlLFxyXG4gICAgICAgIEwxMG5DYWNoZSxcclxuICAgICAgICB7IHByb3ZpZGU6IEwxME5fQ09ORklHLCB1c2VWYWx1ZTogY29uZmlnIH0sXHJcbiAgICAgICAgeyBwcm92aWRlOiBMMTBOX0xPQ0FMRSwgdXNlVmFsdWU6IHsgbGFuZ3VhZ2U6ICcnLCB1bml0czoge30gfSB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogTDEwblN0b3JhZ2UsIHVzZUNsYXNzOiB0b2tlbi5zdG9yYWdlIHx8IEwxMG5EZWZhdWx0U3RvcmFnZSB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogTDEwbkxvY2FsZVJlc29sdmVyLCB1c2VDbGFzczogdG9rZW4ubG9jYWxlUmVzb2x2ZXIgfHwgTDEwbkRlZmF1bHRMb2NhbGVSZXNvbHZlciB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogTDEwblRyYW5zbGF0aW9uRmFsbGJhY2ssIHVzZUNsYXNzOiB0b2tlbi50cmFuc2xhdGlvbkZhbGxiYWNrIHx8IEwxMG5EZWZhdWx0VHJhbnNsYXRpb25GYWxsYmFjayB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogTDEwblRyYW5zbGF0aW9uTG9hZGVyLCB1c2VDbGFzczogdG9rZW4udHJhbnNsYXRpb25Mb2FkZXIgfHwgTDEwbkRlZmF1bHRUcmFuc2xhdGlvbkxvYWRlciB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogTDEwblRyYW5zbGF0aW9uSGFuZGxlciwgdXNlQ2xhc3M6IHRva2VuLnRyYW5zbGF0aW9uSGFuZGxlciB8fCBMMTBuRGVmYXVsdFRyYW5zbGF0aW9uSGFuZGxlciB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogTDEwbk1pc3NpbmdUcmFuc2xhdGlvbkhhbmRsZXIsXHJcbiAgICAgICAgICAgIHVzZUNsYXNzOiB0b2tlbi5taXNzaW5nVHJhbnNsYXRpb25IYW5kbGVyIHx8IEwxMG5EZWZhdWx0TWlzc2luZ1RyYW5zbGF0aW9uSGFuZGxlclxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgeyBwcm92aWRlOiBMMTBuTG9hZGVyLCB1c2VDbGFzczogdG9rZW4ubG9hZGVyIHx8IEwxMG5EZWZhdWx0TG9hZGVyIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXHJcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IGluaXRMMTBuLFxyXG4gICAgICAgICAgICBkZXBzOiBbTDEwbkxvYWRlcl0sXHJcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXHJcbiAgICAgICAgfVxyXG4gICAgXSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlTDEwbkludGwoKTogRW52aXJvbm1lbnRQcm92aWRlcnMge1xyXG4gICAgcmV0dXJuIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyhbXHJcbiAgICAgICAgTDEwbkludGxTZXJ2aWNlXHJcbiAgICBdKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVMMTBuVmFsaWRhdGlvbih0b2tlbjogTDEwblZhbGlkYXRpb25Ub2tlbiA9IHt9KTogRW52aXJvbm1lbnRQcm92aWRlcnMge1xyXG4gICAgcmV0dXJuIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyhbXHJcbiAgICAgICAgeyBwcm92aWRlOiBMMTBuVmFsaWRhdGlvbiwgdXNlQ2xhc3M6IHRva2VuLnZhbGlkYXRpb24gfHwgTDEwbkRlZmF1bHRWYWxpZGF0aW9uIH1cclxuICAgIF0pO1xyXG59XHJcbiJdfQ==