@owja/i18n
Version:
lightweight internationalization library for javascript
38 lines (37 loc) • 1.37 kB
TypeScript
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[];
};