angular-l10n
Version:
Angular library to translate texts, dates and numbers
67 lines • 11.2 kB
JavaScript
import { NgModule, APP_INITIALIZER } from '@angular/core';
import { L10nTranslatePipe, L10nTranslateAsyncPipe } from '../pipes/l10n-translate.pipe';
import { L10nTranslateDirective } from '../directives/l10n-translate.directive';
import { L10N_CONFIG, L10N_LOCALE } from '../models/l10n-config';
import { L10nTranslationService } from '../services/l10n-translation.service';
import { L10nCache } from '../services/l10n-cache';
import { L10nStorage, L10nDefaultStorage } from '../services/l10n-storage';
import { L10nLocaleResolver, L10nDefaultLocaleResolver } from '../services/l10n-locale-resolver';
import { L10nTranslationFallback, L10nDefaultTranslationFallback } from '../services/l10n-translation-fallback';
import { L10nTranslationLoader, L10nDefaultTranslationLoader } from '../services/l10n-translation-loader';
import { L10nTranslationHandler, L10nDefaultTranslationHandler } from '../services/l10n-translation-handler';
import { L10nMissingTranslationHandler, L10nDefaultMissingTranslationHandler } from '../services/l10n-missing-translation-handler';
import { L10nLoader, L10nDefaultLoader } from '../services/l10n-loader';
import { initL10n } from '../functions/initL10n';
import * as i0 from "@angular/core";
export class L10nTranslationModule {
static forRoot(config, token = {}) {
return {
ngModule: L10nTranslationModule,
providers: [
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
}
]
};
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: L10nTranslationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.4", ngImport: i0, type: L10nTranslationModule, imports: [L10nTranslatePipe,
L10nTranslateAsyncPipe,
L10nTranslateDirective], exports: [L10nTranslatePipe,
L10nTranslateAsyncPipe,
L10nTranslateDirective] }); }
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: L10nTranslationModule }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: L10nTranslationModule, decorators: [{
type: NgModule,
args: [{
imports: [
L10nTranslatePipe,
L10nTranslateAsyncPipe,
L10nTranslateDirective
],
exports: [
L10nTranslatePipe,
L10nTranslateAsyncPipe,
L10nTranslateDirective
]
}]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDEwbi10cmFuc2xhdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWwxMG4vc3JjL2xpYi9tb2R1bGVzL2wxMG4tdHJhbnNsYXRpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQXVCLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN6RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNoRixPQUFPLEVBQW9DLFdBQVcsRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ2hILE9BQU8sRUFBRSxxQkFBcUIsRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzdHLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ25JLE9BQU8sRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBY2pELE1BQU0sT0FBTyxxQkFBcUI7SUFFdkIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFrQixFQUFFLFFBQThCLEVBQUU7UUFDdEUsT0FBTztZQUNILFFBQVEsRUFBRSxxQkFBcUI7WUFDL0IsU0FBUyxFQUFFO2dCQUNQLHNCQUFzQjtnQkFDdEIsU0FBUztnQkFDVCxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRTtnQkFDMUMsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFO2dCQUMvRCxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxPQUFPLElBQUksa0JBQWtCLEVBQUU7Z0JBQ3ZFLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsY0FBYyxJQUFJLHlCQUF5QixFQUFFO2dCQUM1RixFQUFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLG1CQUFtQixJQUFJLDhCQUE4QixFQUFFO2dCQUMzRyxFQUFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixJQUFJLDRCQUE0QixFQUFFO2dCQUNyRyxFQUFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLGtCQUFrQixJQUFJLDZCQUE2QixFQUFFO2dCQUN4RztvQkFDSSxPQUFPLEVBQUUsNkJBQTZCO29CQUN0QyxRQUFRLEVBQUUsS0FBSyxDQUFDLHlCQUF5QixJQUFJLG9DQUFvQztpQkFDcEY7Z0JBQ0QsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsTUFBTSxJQUFJLGlCQUFpQixFQUFFO2dCQUNwRTtvQkFDSSxPQUFPLEVBQUUsZUFBZTtvQkFDeEIsVUFBVSxFQUFFLFFBQVE7b0JBQ3BCLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQztvQkFDbEIsS0FBSyxFQUFFLElBQUk7aUJBQ2Q7YUFDSjtTQUNKLENBQUM7SUFDTixDQUFDOzhHQTVCUSxxQkFBcUI7K0dBQXJCLHFCQUFxQixZQVYxQixpQkFBaUI7WUFDakIsc0JBQXNCO1lBQ3RCLHNCQUFzQixhQUd0QixpQkFBaUI7WUFDakIsc0JBQXNCO1lBQ3RCLHNCQUFzQjsrR0FHakIscUJBQXFCOzsyRkFBckIscUJBQXFCO2tCQVpqQyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxpQkFBaUI7d0JBQ2pCLHNCQUFzQjt3QkFDdEIsc0JBQXNCO3FCQUN6QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsaUJBQWlCO3dCQUNqQixzQkFBc0I7d0JBQ3RCLHNCQUFzQjtxQkFDekI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycywgQVBQX0lOSVRJQUxJWkVSIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBMMTBuVHJhbnNsYXRlUGlwZSwgTDEwblRyYW5zbGF0ZUFzeW5jUGlwZSB9IGZyb20gJy4uL3BpcGVzL2wxMG4tdHJhbnNsYXRlLnBpcGUnO1xyXG5pbXBvcnQgeyBMMTBuVHJhbnNsYXRlRGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9sMTBuLXRyYW5zbGF0ZS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBMMTBuQ29uZmlnLCBMMTBuVHJhbnNsYXRpb25Ub2tlbiwgTDEwTl9DT05GSUcsIEwxME5fTE9DQUxFIH0gZnJvbSAnLi4vbW9kZWxzL2wxMG4tY29uZmlnJztcclxuaW1wb3J0IHsgTDEwblRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2wxMG4tdHJhbnNsYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IEwxMG5DYWNoZSB9IGZyb20gJy4uL3NlcnZpY2VzL2wxMG4tY2FjaGUnO1xyXG5pbXBvcnQgeyBMMTBuU3RvcmFnZSwgTDEwbkRlZmF1bHRTdG9yYWdlIH0gZnJvbSAnLi4vc2VydmljZXMvbDEwbi1zdG9yYWdlJztcclxuaW1wb3J0IHsgTDEwbkxvY2FsZVJlc29sdmVyLCBMMTBuRGVmYXVsdExvY2FsZVJlc29sdmVyIH0gZnJvbSAnLi4vc2VydmljZXMvbDEwbi1sb2NhbGUtcmVzb2x2ZXInO1xyXG5pbXBvcnQgeyBMMTBuVHJhbnNsYXRpb25GYWxsYmFjaywgTDEwbkRlZmF1bHRUcmFuc2xhdGlvbkZhbGxiYWNrIH0gZnJvbSAnLi4vc2VydmljZXMvbDEwbi10cmFuc2xhdGlvbi1mYWxsYmFjayc7XHJcbmltcG9ydCB7IEwxMG5UcmFuc2xhdGlvbkxvYWRlciwgTDEwbkRlZmF1bHRUcmFuc2xhdGlvbkxvYWRlciB9IGZyb20gJy4uL3NlcnZpY2VzL2wxMG4tdHJhbnNsYXRpb24tbG9hZGVyJztcclxuaW1wb3J0IHsgTDEwblRyYW5zbGF0aW9uSGFuZGxlciwgTDEwbkRlZmF1bHRUcmFuc2xhdGlvbkhhbmRsZXIgfSBmcm9tICcuLi9zZXJ2aWNlcy9sMTBuLXRyYW5zbGF0aW9uLWhhbmRsZXInO1xyXG5pbXBvcnQgeyBMMTBuTWlzc2luZ1RyYW5zbGF0aW9uSGFuZGxlciwgTDEwbkRlZmF1bHRNaXNzaW5nVHJhbnNsYXRpb25IYW5kbGVyIH0gZnJvbSAnLi4vc2VydmljZXMvbDEwbi1taXNzaW5nLXRyYW5zbGF0aW9uLWhhbmRsZXInO1xyXG5pbXBvcnQgeyBMMTBuTG9hZGVyLCBMMTBuRGVmYXVsdExvYWRlciB9IGZyb20gJy4uL3NlcnZpY2VzL2wxMG4tbG9hZGVyJztcclxuaW1wb3J0IHsgaW5pdEwxMG4gfSBmcm9tICcuLi9mdW5jdGlvbnMvaW5pdEwxMG4nO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBMMTBuVHJhbnNsYXRlUGlwZSxcclxuICAgICAgICBMMTBuVHJhbnNsYXRlQXN5bmNQaXBlLFxyXG4gICAgICAgIEwxMG5UcmFuc2xhdGVEaXJlY3RpdmVcclxuICAgIF0sXHJcbiAgICBleHBvcnRzOiBbXHJcbiAgICAgICAgTDEwblRyYW5zbGF0ZVBpcGUsXHJcbiAgICAgICAgTDEwblRyYW5zbGF0ZUFzeW5jUGlwZSxcclxuICAgICAgICBMMTBuVHJhbnNsYXRlRGlyZWN0aXZlXHJcbiAgICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMMTBuVHJhbnNsYXRpb25Nb2R1bGUge1xyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgZm9yUm9vdChjb25maWc6IEwxMG5Db25maWcsIHRva2VuOiBMMTBuVHJhbnNsYXRpb25Ub2tlbiA9IHt9KTogTW9kdWxlV2l0aFByb3ZpZGVyczxMMTBuVHJhbnNsYXRpb25Nb2R1bGU+IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBuZ01vZHVsZTogTDEwblRyYW5zbGF0aW9uTW9kdWxlLFxyXG4gICAgICAgICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICAgICAgICAgIEwxMG5UcmFuc2xhdGlvblNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgICBMMTBuQ2FjaGUsXHJcbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IEwxME5fQ09ORklHLCB1c2VWYWx1ZTogY29uZmlnIH0sXHJcbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IEwxME5fTE9DQUxFLCB1c2VWYWx1ZTogeyBsYW5ndWFnZTogJycsIHVuaXRzOiB7fSB9IH0sXHJcbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IEwxMG5TdG9yYWdlLCB1c2VDbGFzczogdG9rZW4uc3RvcmFnZSB8fCBMMTBuRGVmYXVsdFN0b3JhZ2UgfSxcclxuICAgICAgICAgICAgICAgIHsgcHJvdmlkZTogTDEwbkxvY2FsZVJlc29sdmVyLCB1c2VDbGFzczogdG9rZW4ubG9jYWxlUmVzb2x2ZXIgfHwgTDEwbkRlZmF1bHRMb2NhbGVSZXNvbHZlciB9LFxyXG4gICAgICAgICAgICAgICAgeyBwcm92aWRlOiBMMTBuVHJhbnNsYXRpb25GYWxsYmFjaywgdXNlQ2xhc3M6IHRva2VuLnRyYW5zbGF0aW9uRmFsbGJhY2sgfHwgTDEwbkRlZmF1bHRUcmFuc2xhdGlvbkZhbGxiYWNrIH0sXHJcbiAgICAgICAgICAgICAgICB7IHByb3ZpZGU6IEwxMG5UcmFuc2xhdGlvbkxvYWRlciwgdXNlQ2xhc3M6IHRva2VuLnRyYW5zbGF0aW9uTG9hZGVyIHx8IEwxMG5EZWZhdWx0VHJhbnNsYXRpb25Mb2FkZXIgfSxcclxuICAgICAgICAgICAgICAgIHsgcHJvdmlkZTogTDEwblRyYW5zbGF0aW9uSGFuZGxlciwgdXNlQ2xhc3M6IHRva2VuLnRyYW5zbGF0aW9uSGFuZGxlciB8fCBMMTBuRGVmYXVsdFRyYW5zbGF0aW9uSGFuZGxlciB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IEwxMG5NaXNzaW5nVHJhbnNsYXRpb25IYW5kbGVyLFxyXG4gICAgICAgICAgICAgICAgICAgIHVzZUNsYXNzOiB0b2tlbi5taXNzaW5nVHJhbnNsYXRpb25IYW5kbGVyIHx8IEwxMG5EZWZhdWx0TWlzc2luZ1RyYW5zbGF0aW9uSGFuZGxlclxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHsgcHJvdmlkZTogTDEwbkxvYWRlciwgdXNlQ2xhc3M6IHRva2VuLmxvYWRlciB8fCBMMTBuRGVmYXVsdExvYWRlciB9LFxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcclxuICAgICAgICAgICAgICAgICAgICB1c2VGYWN0b3J5OiBpbml0TDEwbixcclxuICAgICAgICAgICAgICAgICAgICBkZXBzOiBbTDEwbkxvYWRlcl0sXHJcbiAgICAgICAgICAgICAgICAgICAgbXVsdGk6IHRydWVcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXVxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG59XHJcbiJdfQ==