UNPKG

angular-l10n

Version:

Angular library to translate texts, dates and numbers

38 lines 4.89 kB
import { Inject, Injectable } from '@angular/core'; import { L10N_CONFIG } from '../models/l10n-config'; import { getBrowserLanguage, getSchema } from '../models/utils'; import * as i0 from "@angular/core"; /** * Implement this class-interface to resolve the locale. */ export class L10nLocaleResolver { static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: L10nLocaleResolver, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: L10nLocaleResolver }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: L10nLocaleResolver, decorators: [{ type: Injectable }] }); export class L10nDefaultLocaleResolver { constructor(config) { this.config = config; } async get() { const browserLanguage = getBrowserLanguage(this.config.format); if (browserLanguage) { const schema = getSchema(this.config.schema, browserLanguage, this.config.format); if (schema) { return Promise.resolve(schema.locale); } } return Promise.resolve(null); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: L10nDefaultLocaleResolver, deps: [{ token: L10N_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: L10nDefaultLocaleResolver }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: L10nDefaultLocaleResolver, decorators: [{ type: Injectable }], ctorParameters: () => [{ type: undefined, decorators: [{ type: Inject, args: [L10N_CONFIG] }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDEwbi1sb2NhbGUtcmVzb2x2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWwxMG4vc3JjL2xpYi9zZXJ2aWNlcy9sMTBuLWxvY2FsZS1yZXNvbHZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsV0FBVyxFQUFjLE1BQU0sdUJBQXVCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUdoRTs7R0FFRztBQUNXLE1BQU0sT0FBZ0Isa0JBQWtCOzhHQUFsQixrQkFBa0I7a0hBQWxCLGtCQUFrQjs7MkZBQWxCLGtCQUFrQjtrQkFBckQsVUFBVTs7QUFVRyxNQUFNLE9BQU8seUJBQXlCO0lBRWhELFlBQXlDLE1BQWtCO1FBQWxCLFdBQU0sR0FBTixNQUFNLENBQVk7SUFBSSxDQUFDO0lBRXpELEtBQUssQ0FBQyxHQUFHO1FBQ1osTUFBTSxlQUFlLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvRCxJQUFJLGVBQWUsRUFBRTtZQUNqQixNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsZUFBZSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDbEYsSUFBSSxNQUFNLEVBQUU7Z0JBQ1IsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUN6QztTQUNKO1FBQ0QsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7OEdBYnNCLHlCQUF5QixrQkFFNUIsV0FBVztrSEFGUix5QkFBeUI7OzJGQUF6Qix5QkFBeUI7a0JBQW5ELFVBQVU7OzBCQUVNLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgTDEwTl9DT05GSUcsIEwxMG5Db25maWcgfSBmcm9tICcuLi9tb2RlbHMvbDEwbi1jb25maWcnO1xyXG5pbXBvcnQgeyBnZXRCcm93c2VyTGFuZ3VhZ2UsIGdldFNjaGVtYSB9IGZyb20gJy4uL21vZGVscy91dGlscyc7XHJcbmltcG9ydCB7IEwxMG5Mb2NhbGUgfSBmcm9tICcuLi9tb2RlbHMvdHlwZXMnO1xyXG5cclxuLyoqXHJcbiAqIEltcGxlbWVudCB0aGlzIGNsYXNzLWludGVyZmFjZSB0byByZXNvbHZlIHRoZSBsb2NhbGUuXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSgpIGV4cG9ydCBhYnN0cmFjdCBjbGFzcyBMMTBuTG9jYWxlUmVzb2x2ZXIge1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhpcyBtZXRob2QgbXVzdCBjb250YWluIHRoZSBsb2dpYyB0byBnZXQgdGhlIGxvY2FsZS5cclxuICAgICAqIEByZXR1cm4gVGhlIGxvY2FsZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0KCk6IFByb21pc2U8TDEwbkxvY2FsZSB8IG51bGw+O1xyXG5cclxufVxyXG5cclxuQEluamVjdGFibGUoKSBleHBvcnQgY2xhc3MgTDEwbkRlZmF1bHRMb2NhbGVSZXNvbHZlciBpbXBsZW1lbnRzIEwxMG5Mb2NhbGVSZXNvbHZlciB7XHJcblxyXG4gICAgY29uc3RydWN0b3IoQEluamVjdChMMTBOX0NPTkZJRykgcHJpdmF0ZSBjb25maWc6IEwxMG5Db25maWcpIHsgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBnZXQoKTogUHJvbWlzZTxMMTBuTG9jYWxlIHwgbnVsbD4ge1xyXG4gICAgICAgIGNvbnN0IGJyb3dzZXJMYW5ndWFnZSA9IGdldEJyb3dzZXJMYW5ndWFnZSh0aGlzLmNvbmZpZy5mb3JtYXQpO1xyXG4gICAgICAgIGlmIChicm93c2VyTGFuZ3VhZ2UpIHtcclxuICAgICAgICAgICAgY29uc3Qgc2NoZW1hID0gZ2V0U2NoZW1hKHRoaXMuY29uZmlnLnNjaGVtYSwgYnJvd3Nlckxhbmd1YWdlLCB0aGlzLmNvbmZpZy5mb3JtYXQpO1xyXG4gICAgICAgICAgICBpZiAoc2NoZW1hKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHNjaGVtYS5sb2NhbGUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCk7XHJcbiAgICB9XHJcblxyXG59XHJcbiJdfQ==