UNPKG

@owja/i18n

Version:

lightweight internationalization library for javascript

38 lines (37 loc) 1.37 kB
export declare type TranslateFunction = (key: string, options?: Partial<TranslateOptions>) => string; export interface TranslatorInterface { t: TranslateFunction; /** @deprecated use locale() instead */ language(language?: string): string; locale(locale?: string | Intl.Locale): void; short(): string; long(): string; region(): string | undefined; script(): string | undefined; addResource(language: string, translations: Translations): void; addPlugin(plugin: TranslatorPlugin, language?: string): void; listen(listener: Listener): Unsubscribe; } export declare type Translations = { [key: string]: string | Translations; }; export declare type ParsedTranslations = { [search: string]: string; }; export declare type TranslateOptions = { context: string; count: number; replace: { [search: string]: string | number | Date; }; }; export declare type LanguageOptions = { default: string; fallback: string; }; export declare type Listener = () => void; export declare type Unsubscribe = () => void; export declare type TranslatorPlugin = (translated: string, options: Partial<TranslateOptions>, usedLocale: string, translator: TranslatorInterface) => string | undefined; export declare type PluginRegistry = { [tag: string]: TranslatorPlugin[]; };