uni-i18n.d.ts 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. export declare type BuiltInLocale = typeof LOCALE_ZH_HANS | typeof LOCALE_ZH_HANT | typeof LOCALE_EN | typeof LOCALE_FR | typeof LOCALE_ES;
  2. export declare function compileI18nJsonStr(jsonStr: string, { locale, locales, delimiters, }: {
  3. locale: string;
  4. locales: Record<string, Record<string, string>>;
  5. delimiters: [string, string];
  6. }): string;
  7. export declare class Formatter {
  8. _caches: {
  9. [key: string]: Array<Token>;
  10. };
  11. constructor();
  12. interpolate(message: string, values?: Record<string, unknown> | Array<unknown>, delimiters?: [string, string]): Array<unknown>;
  13. }
  14. declare interface Formatter_2 {
  15. interpolate: (message: string, values?: Record<string, unknown> | Array<unknown>, delimiters?: [string, string]) => Array<unknown>;
  16. }
  17. export declare function hasI18nJson(jsonObj: unknown, delimiters: [string, string]): boolean;
  18. export declare class I18n {
  19. private locale;
  20. private fallbackLocale;
  21. private message;
  22. private messages;
  23. private watchers;
  24. private formater;
  25. constructor({ locale, fallbackLocale, messages, watcher, formater, }: I18nOptions);
  26. setLocale(locale: string): void;
  27. getLocale(): string;
  28. watchLocale(fn: LocaleWatcher): () => void;
  29. add(locale: BuiltInLocale, message: Record<string, string>, override?: boolean): void;
  30. f(message: string, values?: Record<string, unknown> | Array<unknown>, delimiters?: [string, string]): string;
  31. t(key: string, values?: Record<string, unknown> | Array<unknown> | BuiltInLocale): string;
  32. t(key: string, locale?: BuiltInLocale, values?: Record<string, unknown> | Array<unknown>): string;
  33. }
  34. export declare interface I18nOptions {
  35. locale: string;
  36. fallbackLocale?: string;
  37. messages?: LocaleMessages;
  38. formater?: Formatter_2;
  39. watcher?: LocaleWatcher;
  40. }
  41. export declare function initVueI18n(locale?: string, messages?: LocaleMessages, fallbackLocale?: string, watcher?: (locale: string) => void): {
  42. i18n: I18n;
  43. f(message: string, values?: Record<string, unknown> | Array<unknown>, delimiters?: [string, string]): string;
  44. t(key: string, values?: Record<string, unknown> | Array<unknown>): string;
  45. add(locale: BuiltInLocale, message: Record<string, string>, override?: boolean): void;
  46. watch(fn: LocaleWatcher): () => void;
  47. getLocale(): string;
  48. setLocale(newLocale: string): void;
  49. };
  50. export declare function isI18nStr(value: string, delimiters: [string, string]): boolean;
  51. export declare const isString: (val: unknown) => val is string;
  52. declare type Locale = string;
  53. export declare const LOCALE_EN = "en";
  54. export declare const LOCALE_ES = "es";
  55. export declare const LOCALE_FR = "fr";
  56. export declare const LOCALE_ZH_HANS = "zh-Hans";
  57. export declare const LOCALE_ZH_HANT = "zh-Hant";
  58. export declare type LocaleMessages = Record<string, Record<string, string>>;
  59. export declare type LocaleWatcher = (newLocale: string, oldLocale: string) => void;
  60. export declare function normalizeLocale(locale: string, messages?: LocaleMessages): BuiltInLocale | undefined;
  61. export declare function parseI18nJson(jsonObj: unknown, values: Record<string, string>, delimiters: [string, string]): unknown;
  62. export declare function resolveLocale(locales: Locale[]): (locale: Locale) => string | undefined;
  63. declare type Token = {
  64. type: 'text' | 'named' | 'list' | 'unknown';
  65. value: string;
  66. };
  67. export { }