Config

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.jsloadDictionary.ts 的文件的默认导出,该文件可放在 src/ 目录或项目根目录。 请确保该函数返回一个 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 加载的字典将优先于通过 loadTranslations 加载的翻译。

下一步

本指南如何?