UNPKG

@gulibs/react-vintl

Version:

Type-safe i18n library for React with Vite plugin and automatic type inference

51 lines 1.66 kB
import type { I18nKeys, I18nNamespaces, TranslationFunction, NamespacedTranslationFunction, I18nResources } from './types'; /** * 使用翻译的 Hook(不带 namespace) * 直接返回翻译函数 */ export declare function useTranslation(): TranslationFunction; /** * 使用翻译的 Hook(带 namespace) * 直接返回该 namespace 的翻译函数 * @param namespace - 命名空间,自动补全所有可用的 namespace */ export declare function useTranslation<N extends I18nNamespaces>(namespace: N): NamespacedTranslationFunction<N>; /** * 获取 i18n 全局状态的 Hook * 用于获取和操作语言设置 */ export declare function useI18n(): { /** 当前语言 */ locale: string; /** 支持的语言列表 */ supportedLocales: string[]; /** 切换语言 */ setLocale: (locale: string) => void; /** 翻译资源 */ resources: I18nResources; }; /** * 使用特定键的翻译 Hook * 自动使用生成的 I18nKeys 联合类型 */ export declare function useTranslationKey(key: I18nKeys, params?: Record<string, unknown>): { /** 翻译结果 */ translation: string; /** 带参数的翻译函数 */ t: (newParams?: Record<string, unknown>) => string; }; /** * 使用语言切换的 Hook * useI18n 的简化版本,只返回语言相关信息 */ export declare function useLocale(): { /** 当前语言 */ locale: string; /** 支持的语言列表 */ supportedLocales: string[]; /** 切换语言 */ setLocale: (locale: string) => void; /** 是否为支持的语言 */ isSupportedLocale: (locale: string) => boolean; }; //# sourceMappingURL=hooks.d.ts.map