@jsverse/transloco-locale
Version:
The localization (l10n) library plugin for Transloco
75 lines • 8.94 kB
JavaScript
import { makeEnvironmentProviders } from '@angular/core';
import { defaultConfig, TRANSLOCO_LOCALE_CONFIG, TRANSLOCO_LOCALE_CURRENCY_MAPPING, TRANSLOCO_LOCALE_DEFAULT_CURRENCY, TRANSLOCO_LOCALE_DEFAULT_LOCALE, TRANSLOCO_LOCALE_LANG_MAPPING, } from './transloco-locale.config';
import { DefaultDateTransformer, DefaultNumberTransformer, TRANSLOCO_DATE_TRANSFORMER, TRANSLOCO_NUMBER_TRANSFORMER, } from './transloco-locale.transformers';
export function provideTranslocoLocale(config) {
const merged = {
...defaultConfig,
...config,
};
return [
provideTranslocoLocaleConfig(merged.localeConfig),
provideTranslocoDefaultLocale(merged.defaultLocale),
provideTranslocoDefaultCurrency(merged.defaultCurrency),
provideTranslocoLocaleLangMapping(merged.langToLocaleMapping),
provideTranslocoLocaleCurrencyMapping(merged.localeToCurrencyMapping),
provideTranslocoDateTransformer(DefaultDateTransformer),
provideTranslocoNumberTransformer(DefaultNumberTransformer),
];
}
export function provideTranslocoLocaleConfig(config) {
return makeEnvironmentProviders([
{
provide: TRANSLOCO_LOCALE_CONFIG,
useValue: config,
},
]);
}
export function provideTranslocoLocaleLangMapping(langToLocale) {
return makeEnvironmentProviders([
{
provide: TRANSLOCO_LOCALE_LANG_MAPPING,
useValue: langToLocale,
},
]);
}
export function provideTranslocoLocaleCurrencyMapping(localeToCurrency) {
return makeEnvironmentProviders([
{
provide: TRANSLOCO_LOCALE_CURRENCY_MAPPING,
useValue: localeToCurrency,
},
]);
}
export function provideTranslocoDefaultLocale(defaultLocale) {
return makeEnvironmentProviders([
{
provide: TRANSLOCO_LOCALE_DEFAULT_LOCALE,
useValue: defaultLocale,
},
]);
}
export function provideTranslocoDefaultCurrency(defaultCurrency) {
return makeEnvironmentProviders([
{
provide: TRANSLOCO_LOCALE_DEFAULT_CURRENCY,
useValue: defaultCurrency,
},
]);
}
export function provideTranslocoDateTransformer(transformer) {
return makeEnvironmentProviders([
{
provide: TRANSLOCO_DATE_TRANSFORMER,
useClass: transformer,
},
]);
}
export function provideTranslocoNumberTransformer(transformer) {
return makeEnvironmentProviders([
{
provide: TRANSLOCO_NUMBER_TRANSFORMER,
useClass: transformer,
},
]);
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsb2NvLWxvY2FsZS5wcm92aWRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3RyYW5zbG9jby1sb2NhbGUvc3JjL2xpYi90cmFuc2xvY28tbG9jYWxlLnByb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFVL0QsT0FBTyxFQUNMLGFBQWEsRUFDYix1QkFBdUIsRUFDdkIsaUNBQWlDLEVBQ2pDLGlDQUFpQyxFQUNqQywrQkFBK0IsRUFDL0IsNkJBQTZCLEdBQzlCLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUNMLHNCQUFzQixFQUN0Qix3QkFBd0IsRUFDeEIsMEJBQTBCLEVBQzFCLDRCQUE0QixHQUc3QixNQUFNLGlDQUFpQyxDQUFDO0FBRXpDLE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxNQUE4QjtJQUNuRSxNQUFNLE1BQU0sR0FBRztRQUNiLEdBQUcsYUFBYTtRQUNoQixHQUFHLE1BQU07S0FDVixDQUFDO0lBRUYsT0FBTztRQUNMLDRCQUE0QixDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUM7UUFDakQsNkJBQTZCLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQztRQUNuRCwrQkFBK0IsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDO1FBQ3ZELGlDQUFpQyxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQztRQUM3RCxxQ0FBcUMsQ0FBQyxNQUFNLENBQUMsdUJBQXVCLENBQUM7UUFDckUsK0JBQStCLENBQUMsc0JBQXNCLENBQUM7UUFDdkQsaUNBQWlDLENBQUMsd0JBQXdCLENBQUM7S0FDNUQsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsNEJBQTRCLENBQUMsTUFBb0I7SUFDL0QsT0FBTyx3QkFBd0IsQ0FBQztRQUM5QjtZQUNFLE9BQU8sRUFBRSx1QkFBdUI7WUFDaEMsUUFBUSxFQUFFLE1BQU07U0FDakI7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLGlDQUFpQyxDQUMvQyxZQUFpQztJQUVqQyxPQUFPLHdCQUF3QixDQUFDO1FBQzlCO1lBQ0UsT0FBTyxFQUFFLDZCQUE2QjtZQUN0QyxRQUFRLEVBQUUsWUFBWTtTQUN2QjtLQUNGLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUscUNBQXFDLENBQ25ELGdCQUF5QztJQUV6QyxPQUFPLHdCQUF3QixDQUFDO1FBQzlCO1lBQ0UsT0FBTyxFQUFFLGlDQUFpQztZQUMxQyxRQUFRLEVBQUUsZ0JBQWdCO1NBQzNCO0tBQ0YsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSw2QkFBNkIsQ0FBQyxhQUFxQjtJQUNqRSxPQUFPLHdCQUF3QixDQUFDO1FBQzlCO1lBQ0UsT0FBTyxFQUFFLCtCQUErQjtZQUN4QyxRQUFRLEVBQUUsYUFBYTtTQUN4QjtLQUNGLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsK0JBQStCLENBQUMsZUFBeUI7SUFDdkUsT0FBTyx3QkFBd0IsQ0FBQztRQUM5QjtZQUNFLE9BQU8sRUFBRSxpQ0FBaUM7WUFDMUMsUUFBUSxFQUFFLGVBQWU7U0FDMUI7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLCtCQUErQixDQUM3QyxXQUEyQztJQUUzQyxPQUFPLHdCQUF3QixDQUFDO1FBQzlCO1lBQ0UsT0FBTyxFQUFFLDBCQUEwQjtZQUNuQyxRQUFRLEVBQUUsV0FBVztTQUN0QjtLQUNGLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsaUNBQWlDLENBQy9DLFdBQTZDO0lBRTdDLE9BQU8sd0JBQXdCLENBQUM7UUFDOUI7WUFDRSxPQUFPLEVBQUUsNEJBQTRCO1lBQ3JDLFFBQVEsRUFBRSxXQUFXO1NBQ3RCO0tBQ0YsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycywgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1xuICBDdXJyZW5jeSxcbiAgTGFuZ1RvTG9jYWxlTWFwcGluZyxcbiAgTG9jYWxlLFxuICBMb2NhbGVDb25maWcsXG4gIExvY2FsZVRvQ3VycmVuY3lNYXBwaW5nLFxuICBUcmFuc2xvY29Mb2NhbGVDb25maWcsXG59IGZyb20gJy4vdHJhbnNsb2NvLWxvY2FsZS50eXBlcyc7XG5pbXBvcnQge1xuICBkZWZhdWx0Q29uZmlnLFxuICBUUkFOU0xPQ09fTE9DQUxFX0NPTkZJRyxcbiAgVFJBTlNMT0NPX0xPQ0FMRV9DVVJSRU5DWV9NQVBQSU5HLFxuICBUUkFOU0xPQ09fTE9DQUxFX0RFRkFVTFRfQ1VSUkVOQ1ksXG4gIFRSQU5TTE9DT19MT0NBTEVfREVGQVVMVF9MT0NBTEUsXG4gIFRSQU5TTE9DT19MT0NBTEVfTEFOR19NQVBQSU5HLFxufSBmcm9tICcuL3RyYW5zbG9jby1sb2NhbGUuY29uZmlnJztcbmltcG9ydCB7XG4gIERlZmF1bHREYXRlVHJhbnNmb3JtZXIsXG4gIERlZmF1bHROdW1iZXJUcmFuc2Zvcm1lcixcbiAgVFJBTlNMT0NPX0RBVEVfVFJBTlNGT1JNRVIsXG4gIFRSQU5TTE9DT19OVU1CRVJfVFJBTlNGT1JNRVIsXG4gIFRyYW5zbG9jb0RhdGVUcmFuc2Zvcm1lcixcbiAgVHJhbnNsb2NvTnVtYmVyVHJhbnNmb3JtZXIsXG59IGZyb20gJy4vdHJhbnNsb2NvLWxvY2FsZS50cmFuc2Zvcm1lcnMnO1xuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZVRyYW5zbG9jb0xvY2FsZShjb25maWc/OiBUcmFuc2xvY29Mb2NhbGVDb25maWcpIHtcbiAgY29uc3QgbWVyZ2VkID0ge1xuICAgIC4uLmRlZmF1bHRDb25maWcsXG4gICAgLi4uY29uZmlnLFxuICB9O1xuXG4gIHJldHVybiBbXG4gICAgcHJvdmlkZVRyYW5zbG9jb0xvY2FsZUNvbmZpZyhtZXJnZWQubG9jYWxlQ29uZmlnKSxcbiAgICBwcm92aWRlVHJhbnNsb2NvRGVmYXVsdExvY2FsZShtZXJnZWQuZGVmYXVsdExvY2FsZSksXG4gICAgcHJvdmlkZVRyYW5zbG9jb0RlZmF1bHRDdXJyZW5jeShtZXJnZWQuZGVmYXVsdEN1cnJlbmN5KSxcbiAgICBwcm92aWRlVHJhbnNsb2NvTG9jYWxlTGFuZ01hcHBpbmcobWVyZ2VkLmxhbmdUb0xvY2FsZU1hcHBpbmcpLFxuICAgIHByb3ZpZGVUcmFuc2xvY29Mb2NhbGVDdXJyZW5jeU1hcHBpbmcobWVyZ2VkLmxvY2FsZVRvQ3VycmVuY3lNYXBwaW5nKSxcbiAgICBwcm92aWRlVHJhbnNsb2NvRGF0ZVRyYW5zZm9ybWVyKERlZmF1bHREYXRlVHJhbnNmb3JtZXIpLFxuICAgIHByb3ZpZGVUcmFuc2xvY29OdW1iZXJUcmFuc2Zvcm1lcihEZWZhdWx0TnVtYmVyVHJhbnNmb3JtZXIpLFxuICBdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZVRyYW5zbG9jb0xvY2FsZUNvbmZpZyhjb25maWc6IExvY2FsZUNvbmZpZykge1xuICByZXR1cm4gbWFrZUVudmlyb25tZW50UHJvdmlkZXJzKFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBUUkFOU0xPQ09fTE9DQUxFX0NPTkZJRyxcbiAgICAgIHVzZVZhbHVlOiBjb25maWcsXG4gICAgfSxcbiAgXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlVHJhbnNsb2NvTG9jYWxlTGFuZ01hcHBpbmcoXG4gIGxhbmdUb0xvY2FsZTogTGFuZ1RvTG9jYWxlTWFwcGluZ1xuKSB7XG4gIHJldHVybiBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMoW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IFRSQU5TTE9DT19MT0NBTEVfTEFOR19NQVBQSU5HLFxuICAgICAgdXNlVmFsdWU6IGxhbmdUb0xvY2FsZSxcbiAgICB9LFxuICBdKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVUcmFuc2xvY29Mb2NhbGVDdXJyZW5jeU1hcHBpbmcoXG4gIGxvY2FsZVRvQ3VycmVuY3k6IExvY2FsZVRvQ3VycmVuY3lNYXBwaW5nXG4pIHtcbiAgcmV0dXJuIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyhbXG4gICAge1xuICAgICAgcHJvdmlkZTogVFJBTlNMT0NPX0xPQ0FMRV9DVVJSRU5DWV9NQVBQSU5HLFxuICAgICAgdXNlVmFsdWU6IGxvY2FsZVRvQ3VycmVuY3ksXG4gICAgfSxcbiAgXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlVHJhbnNsb2NvRGVmYXVsdExvY2FsZShkZWZhdWx0TG9jYWxlOiBMb2NhbGUpIHtcbiAgcmV0dXJuIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyhbXG4gICAge1xuICAgICAgcHJvdmlkZTogVFJBTlNMT0NPX0xPQ0FMRV9ERUZBVUxUX0xPQ0FMRSxcbiAgICAgIHVzZVZhbHVlOiBkZWZhdWx0TG9jYWxlLFxuICAgIH0sXG4gIF0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZVRyYW5zbG9jb0RlZmF1bHRDdXJyZW5jeShkZWZhdWx0Q3VycmVuY3k6IEN1cnJlbmN5KSB7XG4gIHJldHVybiBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMoW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IFRSQU5TTE9DT19MT0NBTEVfREVGQVVMVF9DVVJSRU5DWSxcbiAgICAgIHVzZVZhbHVlOiBkZWZhdWx0Q3VycmVuY3ksXG4gICAgfSxcbiAgXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlVHJhbnNsb2NvRGF0ZVRyYW5zZm9ybWVyKFxuICB0cmFuc2Zvcm1lcjogVHlwZTxUcmFuc2xvY29EYXRlVHJhbnNmb3JtZXI+XG4pIHtcbiAgcmV0dXJuIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyhbXG4gICAge1xuICAgICAgcHJvdmlkZTogVFJBTlNMT0NPX0RBVEVfVFJBTlNGT1JNRVIsXG4gICAgICB1c2VDbGFzczogdHJhbnNmb3JtZXIsXG4gICAgfSxcbiAgXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlVHJhbnNsb2NvTnVtYmVyVHJhbnNmb3JtZXIoXG4gIHRyYW5zZm9ybWVyOiBUeXBlPFRyYW5zbG9jb051bWJlclRyYW5zZm9ybWVyPlxuKSB7XG4gIHJldHVybiBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMoW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IFRSQU5TTE9DT19OVU1CRVJfVFJBTlNGT1JNRVIsXG4gICAgICB1c2VDbGFzczogdHJhbnNmb3JtZXIsXG4gICAgfSxcbiAgXSk7XG59XG4iXX0=