@wamasimba/ngx-translate-core
Version:
Translation library (i18n) for Angular
52 lines (51 loc) • 2.08 kB
TypeScript
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 {};