loadDictionary
loadDictionary() 函数的 API 参考
概览
loadDictionary 会为指定的 locale 加载一个翻译 JSON 文件。
此函数适用于希望将 gt-react 作为独立 i18n 库使用的用户。
该函数主要用于在保留现有翻译的前提下,将已使用 i18n 的现有项目迁移到 General Translation(GT)。
当存在多份翻译时,通过 loadDictionary 加载的 dictionaries 中的翻译将始终优先于其他来源。
loadDictionary 仅支持包含字符串翻译的 JSON 文件。
参考资料
参数
Prop
Type
描述
| 类型 | 描述 | 
|---|---|
| locale | 要加载其翻译的 locale。 | 
返回
一个 Promise<any>,解析后得到一个字典,将 id 映射到给定 locale 的翻译。
设置
通常,你会从 ./public/locales 目录加载字典。
在某个文件中定义你的 loadDictionary。
请确保该函数返回一个 Promise,解析为包含指定 locale 对应翻译的对象。
export default async function loadDictionary(locale) {
  const translations = await import(`../public/locales/${locale}.json`);
  return translations.default;
}然后将其传递给你的 <GTProvider> 组件:
import { GTProvider } from 'gt-react';
import loadDictionary from './loadDictionary';
<GTProvider loadDictionary={loadDictionary}>
  <App />
</GTProvider>问题: loadTranslations 和 loadDictionary 有什么区别?
- loadTranslations用于为你的应用定义获取翻译的自定义加载逻辑。 例如可从 CDN(内容分发网络)、数据库或应用的 bundle 中加载翻译。 这些通常是由 CLI 工具管理的机器生成译文,编辑体验对普通用户不太友好。
- loadDictionary适用于将- gt-react作为独立库使用的场景。 用户自备译文,不依赖任何翻译基础设施。
注意
- loadDictionary用于为你的应用加载自定义翻译。
- 通过 loadDictionary加载的 dictionaries 将优先于通过loadTranslations加载的翻译生效。
后续步骤
- 如果你想编写自己的翻译,请查看自定义翻译。
- 参见loadTranslations以了解如何编写自定义翻译加载器的更多信息。
这份指南怎么样?

