UNPKG

angular-l10n

Version:

An Angular library to translate messages, dates and numbers

77 lines (76 loc) 3.14 kB
import { Observable, Subject } from 'rxjs'; import { LocaleService } from './locale.service'; import { TranslationProvider } from './translation-provider'; import { TranslationHandler } from './translation-handler'; import { InjectorRef } from '../models/injector-ref'; import { L10nConfigRef } from "../models/l10n-config"; export interface ITranslationService { translationError: Subject<any>; getConfiguration(): L10nConfigRef['translation']; init(): Promise<any>; loadTranslation(): Promise<any>; translationChanged(): Observable<string>; latestTranslation(): Observable<string>; translate(keys: string | string[], args?: any, lang?: string): string | any; translateAsync(keys: string | string[], args?: any, lang?: string): Observable<string | any>; has(key: string, lang?: string): boolean; } /** * Manages the translation data. */ export declare class TranslationService implements ITranslationService { private configuration; private locale; private translationProvider; private translationHandler; private injector; /** * Fired when the translation data could not been loaded. Returns the error. */ translationError: Subject<any>; private translation; /** * The translation data: {language: {key: value}}. */ private translationData; constructor(configuration: L10nConfigRef, locale: LocaleService, translationProvider: TranslationProvider, translationHandler: TranslationHandler, injector: InjectorRef); getConfiguration(): L10nConfigRef['translation']; init(): Promise<any>; /** * Forces the translation loading for the current language. */ loadTranslation(): Promise<any>; /** * Fired when the translation data has been loaded. Returns the translation language. */ translationChanged(): Observable<string>; /** * Fired when the latest 'translationChanged' is emitted. Returns the translation language. * Used when the reference to the service is not known, as in decorators. */ latestTranslation(): Observable<string>; /** * Translates a key or an array of keys. * @param keys The key or an array of keys to be translated * @param args Optional parameters contained in the key * @param lang The current language of the service is used by default * @return The translated value or an object: {key: value} */ translate(keys: string | string[], args?: any, lang?: string): string | any; translateAsync(keys: string | string[], args?: any, lang?: string): Observable<string | any>; /** * Checks if a translation exists. * @param key The key to be tested * @param lang The current language of the service is used by default */ has(key: string, lang?: string): boolean; private translateKey; private getValue; private extractKey; private translateI18nPlural; private getTranslation; private getTranslationAsync; private addData; private releaseTranslation; private handleError; }