uni-i18n.d.ts 1.9 KB
Newer Older
fxy060608's avatar
fxy060608 已提交
1

fxy060608's avatar
fxy060608 已提交
2
export declare type BuiltInLocale = typeof LOCALE_ZH_HANS | typeof LOCALE_ZH_HANT | typeof LOCALE_EN | typeof LOCALE_FR | typeof LOCALE_ES;
fxy060608's avatar
fxy060608 已提交
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

export declare interface Formatter {
    interpolate: (message: string, values?: Record<string, unknown> | Array<unknown>) => Array<unknown>;
}

export declare class I18n {
    private locale;
    private fallbackLocale;
    private message;
    private messages;
    private watchers;
    private formater;
    constructor({ locale, fallbackLocale, messages, watcher, formater, }: I18nOptions);
    setLocale(locale: string): void;
    getLocale(): BuiltInLocale;
    watchLocale(fn: LocaleWatcher): () => void;
fxy060608's avatar
fxy060608 已提交
19
    add(locale: BuiltInLocale, message: Record<string, string>): void;
fxy060608's avatar
fxy060608 已提交
20 21 22 23 24 25 26
    t(key: string, values?: Record<string, unknown> | Array<unknown> | BuiltInLocale): string;
    t(key: string, locale?: BuiltInLocale, values?: Record<string, unknown> | Array<unknown>): string;
}

export declare interface I18nOptions {
    locale: BuiltInLocale;
    fallbackLocale?: BuiltInLocale;
fxy060608's avatar
fxy060608 已提交
27
    messages?: LocaleMessages;
fxy060608's avatar
fxy060608 已提交
28 29 30 31
    formater?: Formatter;
    watcher?: LocaleWatcher;
}

fxy060608's avatar
fxy060608 已提交
32
export declare function initVueI18n(messages?: LocaleMessages, fallbackLocale?: BuiltInLocale, locale?: BuiltInLocale): {
fxy060608's avatar
fxy060608 已提交
33
    i18n: I18n;
fxy060608's avatar
fxy060608 已提交
34
    t(key: string, values?: Record<string, unknown> | unknown[] | undefined): string;
fxy060608's avatar
fxy060608 已提交
35
    add(locale: BuiltInLocale, message: Record<string, string>): void;
fxy060608's avatar
fxy060608 已提交
36 37 38 39
    getLocale(): BuiltInLocale;
    setLocale(newLocale: BuiltInLocale): void;
};

fxy060608's avatar
fxy060608 已提交
40 41 42 43 44 45 46 47 48 49
export declare const LOCALE_EN = "en";

export declare const LOCALE_ES = "es";

export declare const LOCALE_FR = "fr";

export declare const LOCALE_ZH_HANS = "zh-Hans";

export declare const LOCALE_ZH_HANT = "zh-Hant";

fxy060608's avatar
fxy060608 已提交
50 51 52 53 54 55 56
export declare type LocaleMessages = {
    [name in BuiltInLocale]?: Record<string, string>;
};

export declare type LocaleWatcher = (newLocale: BuiltInLocale, oldLocale: BuiltInLocale) => void;

export { }