uni-i18n.d.ts 2.0 KB
Newer Older
Q
qiang 已提交
1
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 已提交
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

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;
Q
qiang 已提交
18
    add(locale: BuiltInLocale, message: Record<string, string>): void;
fxy060608's avatar
fxy060608 已提交
19 20 21 22 23 24 25
    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;
Q
qiang 已提交
26
    messages?: LocaleMessages;
fxy060608's avatar
fxy060608 已提交
27 28 29 30
    formater?: Formatter;
    watcher?: LocaleWatcher;
}

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

Q
qiang 已提交
39 40 41 42 43 44 45 46 47 48
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 已提交
49 50 51 52 53 54 55
export declare type LocaleMessages = {
    [name in BuiltInLocale]?: Record<string, string>;
};

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

export { }