UNPKG

@wamasimba/ngx-translate-core

Version:
52 lines (51 loc) 2.08 kB
import { InterpolatableTranslationObject, DefaultLangChangeEvent, LangChangeEvent, TranslationChangeEvent, Language, InterpolatableTranslation } from "./translate.service"; import { Observable } from "rxjs"; type DeepReadonly<T> = { readonly [K in keyof T]: T[K] extends object ? DeepReadonly<T[K]> : T[K]; }; export declare class TranslateStore { private _onTranslationChange; private _onLangChange; private _onDefaultLangChange; private defaultLang; private currentLang; private translations; private languages; getTranslations(language: Language): DeepReadonly<InterpolatableTranslationObject>; setTranslations(language: Language, translations: InterpolatableTranslationObject, extend: boolean): void; getLanguages(): readonly Language[]; getCurrentLanguage(): Language; getDefaultLanguage(): Language; /** * Changes the default lang */ setDefaultLang(lang: string, emitChange?: boolean): void; setCurrentLang(lang: string, emitChange?: boolean): void; /** * An Observable to listen to translation change events * onTranslationChange.subscribe((params: TranslationChangeEvent) => { * // do something * }); */ get onTranslationChange(): Observable<TranslationChangeEvent>; /** * An Observable to listen to lang change events * onLangChange.subscribe((params: LangChangeEvent) => { * // do something * }); */ get onLangChange(): Observable<LangChangeEvent>; /** * An Observable to listen to default lang change events * onDefaultLangChange.subscribe((params: DefaultLangChangeEvent) => { * // do something * }); */ get onDefaultLangChange(): Observable<DefaultLangChangeEvent>; addLanguages(languages: Language[]): void; hasTranslationFor(lang: string): boolean; deleteTranslations(lang: string): void; getTranslation(key: string, useDefaultLang: boolean): InterpolatableTranslation; protected getValue(language: Language, key: string): InterpolatableTranslation; } export {};