Config
loadDictionary()
loadDictionary() 函数的 API 参考。
概述
loadDictionary()
会为指定的语言环境加载一个翻译 json 文件。
此函数适用于希望将 gt-next
作为独立 i18n 库使用的用户。
该函数主要用于将已有的 i18n 项目迁移到 General Translation,同时保留现有的翻译内容。 请按照本指南进行设置。
如果存在多份翻译,通过 loadDictionary()
加载的字典中的翻译始终优先生效。
loadDictionary()
仅支持使用包含字符串翻译的 JSON 文件。
参考
参数
Prop | Type | Default |
---|---|---|
locale? | string | - |
描述
类型 | 描述 |
---|---|
locale | 需要加载翻译的语言环境。 |
返回值
一个 Promise<any>
,解析为将 id 映射到指定语言环境翻译的字典。
设置
通常,你会从 ./public/locales
目录加载字典。
将你的 loadDictionary()
定义为名为 loadDictionary.js
或 loadDictionary.ts
的文件的默认导出,可以放在 src/
目录或根目录下。
确保该函数返回一个 promise,并解析为包含指定语言翻译内容的对象。
export default async function loadDictionary(locale) {
const translations = await import(`../public/locales/${locale}.json`);
return translations.default;
}
问题: loadTranslations()
和 loadDictionary()
有什么区别?
loadTranslations()
用于定义自定义加载行为,以获取应用的翻译内容。 这可以是从 CDN、数据库或应用的 bundle 获取翻译。 这些通常是由 cli 工具生成的机器翻译,不太适合用户直接编辑。loadDictionary()
适用于将gt-next
作为独立库实现的场景。 用户自带翻译内容,不使用任何翻译基础设施。
注意事项
loadDictionary()
用于为您的应用加载自定义翻译。- 通过
loadDictionary()
加载的词典将优先于通过loadTranslations()
加载的翻译。
后续步骤
- 如果你想编写自己的翻译,请查看自定义翻译。
- 有关编写自定义翻译加载器的更多信息,请参阅
loadTranslations()
。
这份指南怎么样?