angular-l10n
Version:
Angular library to translate texts, dates and numbers
89 lines (88 loc) • 2.63 kB
TypeScript
import { InjectionToken, Type } from '@angular/core';
import { L10nFormat, L10nProvider, L10nLocale, L10nSchema } from './types';
import { L10nStorage } from '../services/l10n-storage';
import { L10nLocaleResolver } from '../services/l10n-locale-resolver';
import { L10nTranslationFallback } from '../services/l10n-translation-fallback';
import { L10nTranslationLoader } from '../services/l10n-translation-loader';
import { L10nTranslationHandler } from '../services/l10n-translation-handler';
import { L10nMissingTranslationHandler } from '../services/l10n-missing-translation-handler';
import { L10nValidation } from '../services/l10n-validation';
import { L10nLoader } from '../services/l10n-loader';
export interface L10nConfig {
/**
* Format of the translation language. Pattern: 'language[-script][-region]'
* E.g.
* format: 'language-region';
*/
format: L10nFormat;
/**
* The providers of the translations data.
*/
providers: L10nProvider[];
/**
* Translation fallback.
*/
fallback?: boolean;
/**
* Caching for providers.
*/
cache?: boolean;
/**
* Sets key separator.
*/
keySeparator: string;
/**
* Defines the default locale to be used.
* E.g.
* defaultLocale: { language: 'en-US', currency: 'USD };
*/
defaultLocale: L10nLocale;
/**
* Provides the schema of the supported locales.
*/
schema: L10nSchema[];
}
/**
* L10n configuration token.
*/
export declare const L10N_CONFIG: InjectionToken<L10nConfig>;
/**
* L10n locale token.
*/
export declare const L10N_LOCALE: InjectionToken<L10nLocale>;
export interface L10nTranslationToken {
/**
* Defines the storage to be used.
*/
storage?: Type<L10nStorage>;
/**
* Defines the locale to be used.
*/
localeResolver?: Type<L10nLocaleResolver>;
/**
* Defines the translation fallback to be used.
*/
translationFallback?: Type<L10nTranslationFallback>;
/**
* Defines the translation loader to be used.
*/
translationLoader?: Type<L10nTranslationLoader>;
/**
* Defines the translation handler to be used.
*/
translationHandler?: Type<L10nTranslationHandler>;
/**
* Defines the missing translation handler to be used.
*/
missingTranslationHandler?: Type<L10nMissingTranslationHandler>;
/**
* Defines the loader to be used.
*/
loader?: Type<L10nLoader>;
}
export interface L10nValidationToken {
/**
* Defines the validation service to be used.
*/
validation?: Type<L10nValidation>;
}