Config

loadDictionary

loadDictionary() 函数的 API 参考

概述

loadDictionary 会为指定的 locale 加载一个翻译 JSON 文件。

此函数适用于希望将 gt-next 作为独立 i18n 库使用的用户。

此函数主要用于在保留现有翻译的同时,将已有 i18n 项目迁移到 General Translation。 请按照本指南进行配置。

如果存在多份翻译,通过 loadDictionary 加载的 dictionaries 中的翻译将始终优先生效。 loadDictionary 仅支持使用包含字符串翻译的 JSON 文件。

参考资料

参数

Prop

Type

描述

类型说明
locale需要加载其翻译的 locale。

返回值

一个 Promise<any>,其解析结果为一个字典,将给定 locale 的 id 映射到对应的翻译。


设置

通常,你会从 ./public/locales 目录加载字典。

loadDictionary 定义为名为 loadDictionary.jsloadDictionary.ts 的文件的默认导出,文件可放在 src/ 目录或项目根目录。请确保该函数返回一个 Promise,该 Promise 解析为一个对象,其中包含指定 locale 的翻译。

src/loadDictionary.js
export default async function loadDictionary(locale) {
  const translations = await import(`../public/locales/${locale}.json`);
  return translations.default;
}

问题: loadTranslationsloadDictionary 有何不同?

  • loadTranslations 用于定义为你的应用获取翻译的自定义加载逻辑。 翻译可以来自 CDN(内容分发网络)、数据库,或随应用打包的资源。 这类翻译通常由 CLI 工具管理、机器生成,且不太便于人工编辑。
  • loadDictionary 面向将 gt-next 作为独立库使用的场景。 用户自备翻译内容,不依赖任何翻译基础设施。

注意事项

  • loadDictionary 用于为你的应用加载自定义翻译。
  • 通过 loadDictionary 加载的 dictionaries 将优先于通过 loadTranslations 加载的翻译。

下一步

  • 如果你想编写自己的翻译,请查看自定义翻译
  • 如需了解如何编写自定义翻译加载器的更多信息,请参阅loadTranslations

这份指南怎么样?

loadDictionary