Config

loadDictionary()

loadDictionary() 函数的 API 参考。

概述

loadDictionary() 会为指定的语言环境加载一个翻译 json 文件。

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

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

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

参考

参数

PropTypeDefault
locale?
string
-

描述

类型描述
locale需要加载翻译的语言环境。

返回值

一个 Promise<any>,解析为将 id 映射到指定语言环境翻译的字典。


设置

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

将你的 loadDictionary() 定义为名为 loadDictionary.jsloadDictionary.ts 的文件的默认导出,可以放在 src/ 目录或根目录下。 确保该函数返回一个 promise,并解析为包含指定语言翻译内容的对象。

src/loadDictionary.js
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() 加载的翻译。

后续步骤

这份指南怎么样?