uni-i18n.d.ts 1.7 KB
Newer Older
fxy060608's avatar
fxy060608 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

export declare type BuiltInLocale = 'zh-Hans' | 'zh-Hant' | 'en' | 'fr' | 'es';

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;
    mergeLocaleMessage(locale: BuiltInLocale, message: Record<string, string>): void;
    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;
    messages: LocaleMessages;
    formater?: Formatter;
    watcher?: LocaleWatcher;
}

export declare function initVueI18n(messages: LocaleMessages, fallbackLocale?: BuiltInLocale, locale?: BuiltInLocale): {
fxy060608's avatar
fxy060608 已提交
33
    i18n: I18n;
fxy060608's avatar
fxy060608 已提交
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
    t(key: string, values?: Record<string, unknown> | unknown[] | undefined): string;
    getLocale(): BuiltInLocale;
    setLocale(newLocale: BuiltInLocale): void;
    mixin: {
        beforeCreate(): void;
        methods: {
            $$t(key: string, values?: any): string;
        };
    };
};

export declare type LocaleMessages = {
    [name in BuiltInLocale]?: Record<string, string>;
};

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

export { }