angular-l10n
Version:
Angular library to translate texts, dates and numbers
100 lines (99 loc) • 3.73 kB
TypeScript
import { Observable } from 'rxjs';
import { L10nLocale, L10nProvider } from '../models/types';
import { L10nConfig } from '../models/l10n-config';
import { L10nCache } from './l10n-cache';
import { L10nStorage } from './l10n-storage';
import { L10nLocaleResolver } from './l10n-locale-resolver';
import { L10nTranslationFallback } from './l10n-translation-fallback';
import { L10nTranslationLoader } from './l10n-translation-loader';
import { L10nTranslationHandler } from './l10n-translation-handler';
import { L10nMissingTranslationHandler } from './l10n-missing-translation-handler';
import * as i0 from "@angular/core";
export declare class L10nTranslationService {
private config;
private locale;
private cache;
private storage;
private resolveLocale;
private translationFallback;
private translationLoader;
private translationHandler;
private missingTranslationHandler;
/**
* The translation data: {language: {key: value}}
*/
data: {
[key: string]: any;
};
private translation;
private error;
constructor(config: L10nConfig, locale: L10nLocale, cache: L10nCache, storage: L10nStorage, resolveLocale: L10nLocaleResolver, translationFallback: L10nTranslationFallback, translationLoader: L10nTranslationLoader, translationHandler: L10nTranslationHandler, missingTranslationHandler: L10nMissingTranslationHandler);
/**
* Gets the current locale.
*/
getLocale(): L10nLocale;
/**
* Changes the current locale and load the translation data.
* @param locale The new locale
*/
setLocale(locale: L10nLocale): Promise<void>;
/**
* Fired every time the translation data has been loaded. Returns the locale.
*/
onChange(): Observable<L10nLocale>;
/**
* Fired when the translation data could not been loaded. Returns the error.
*/
onError(): Observable<any>;
/**
* Translates a key or an array of keys.
* @param keys The key or an array of keys to be translated
* @param params Optional parameters contained in the key
* @param language The current language
* @return The translated value or an object: {key: value}
*/
translate(keys: string | string[], params?: any, language?: string): string | any;
/**
* Checks if a translation exists.
* @param key The key to be tested
* @param language The current language
*/
has(key: string, language?: string): boolean;
/**
* Gets the language direction.
*/
getLanguageDirection(language?: string): 'ltr' | 'rtl' | undefined;
/**
* Gets available languages.
*/
getAvailableLanguages(): string[];
/**
* Initializes the service
* @param providers An array of L10nProvider
*/
init(providers?: L10nProvider[]): Promise<void>;
/**
* Can be called at every translation change.
* @param providers An array of L10nProvider
* @param locale The current locale
*/
loadTranslations(providers?: L10nProvider[], locale?: L10nLocale): Promise<void>;
/**
* Can be called to add translation data.
* @param data The translation data {key: value}
* @param language The language to add data
*/
addData(data: {
[key: string]: any;
}, language: string): void;
/**
* Adds providers to configuration
* @param providers The providers of the translations data
*/
addProviders(providers: L10nProvider[]): void;
private getTranslation;
private handleError;
private releaseTranslation;
static ɵfac: i0.ɵɵFactoryDeclaration<L10nTranslationService, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<L10nTranslationService>;
}