UNPKG

language-observer

Version:

The LanguageObserver class provides a simple way to manage internationalization in your web application. It automates the process of applying translations and simplifies support for multiple languages.

30 lines (29 loc) 1.01 kB
type TranslationDictionary = Record<string, unknown>; type TranslationsMap = Record<string, TranslationDictionary | undefined>; type Language = string; type TranslationLoader = (lang: Language) => Promise<TranslationDictionary>; interface InitOptions { lang?: string; } declare global { var translations: TranslationsMap; } declare class LanguageObserver { private lang; private observer; constructor(); static getNestedTranslation(obj: TranslationDictionary, path: string): unknown; private safeGetTranslation; private checkInitialLanguage; private detectLanguageFromParams; private detectLanguageFromClass; private updateBodyClass; loadLanguage(lang: Language): void; applyTranslations(): void; private updateElementText; private initializeObserver; init(options?: InitOptions): void; updateTranslations(): void; loadTranslations(lang: Language, translationLoader: TranslationLoader): Promise<void>; } export default LanguageObserver;