loadDictionary
loadDictionary() 函数 API 参考。
概览
loadDictionary 会为指定的 locale 加载一个翻译 JSON 文件。
此函数适用于希望将 gt-next 作为独立 i18n 库使用的用户。
此函数主要用于将已使用 i18n 的现有项目迁移到 General Translation,同时保留其现有翻译。 请按照本指南进行设置。
如果存在多份翻译,由 loadDictionary 加载的字典中的翻译将始终优先于其他翻译。
loadDictionary 仅支持使用包含字符串翻译的 JSON 文件。
参考资料
参数
Prop
Type
描述
| 类型 | 描述 |
|---|---|
locale | 要为其加载翻译的 locale。 |
返回值
一个 Promise<any>,解析为一个字典,将各个 id 映射为指定 locale 的译文。
设置
通常,你会从 ./public/locales 目录加载字典。
将 loadDictionary 定义为名为 loadDictionary.js 或 loadDictionary.ts 的文件的默认导出,该文件可放在 src/ 目录或项目根目录。
请确保该函数返回一个 Promise,并最终解析为包含指定 locale 翻译内容的对象。
export default async function loadDictionary(locale) {
const translations = await import(`../public/locales/${locale}.json`);
return translations.default;
}问题: loadTranslations 和 loadDictionary 有什么区别?
loadTranslations用于为你的应用定义获取翻译的自定义加载逻辑。 例如从 CDN(内容分发网络)、数据库,或应用构建产物中加载翻译。 这类翻译通常由机器生成,由 CLI(命令行界面)工具管理,不太方便由用户直接编辑。loadDictionary面向将gt-next作为独立库使用的场景。 用户自带翻译,不依赖任何翻译基础设施。
注意事项
loadDictionary用于为你的应用加载自定义翻译。- 通过
loadDictionary加载的字典将优先于通过loadTranslations加载的翻译。
下一步
- 如果你想编写自己的翻译,请查看自定义翻译。
- 参见
loadTranslations,了解编写自定义翻译加载器的更多信息。
本指南如何?