Config

loadDictionary()

loadDictionary() 函数的 API 参考。

概述

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

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

该函数主要用于将已有的 i18n 项目迁移到 General Translation,同时保留现有的翻译内容。

如果存在多个翻译,loadDictionary() 加载的字典中的翻译始终优先于其他翻译。 loadDictionary() 仅支持使用包含字符串翻译的 JSON 文件。

参考

参数

PropTypeDefault
locale?
string
-

描述

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

返回值

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


设置

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

在一个文件中定义你的 loadDictionary()。 确保该函数返回一个 promise,并解析为包含指定语言环境翻译内容的对象。

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

然后将其传递给你的 <GTProvider> 组件:

src/App.js
import { GTProvider } from 'gt-react';
import loadDictionary from './loadDictionary';

<GTProvider loadDictionary={loadDictionary}>
  <App />
</GTProvider>

问题: loadTranslations()loadDictionary() 有什么区别?

  • loadTranslations() 用于定义自定义加载行为,以获取你应用的翻译内容。 这可以是从 CDN、数据库或你的应用包中获取翻译。 这些通常是由 cli 工具自动生成的翻译,不太适合用户直接编辑。
  • loadDictionary() 适用于将 gt-react 作为独立库使用的场景。 用户自带翻译内容,不依赖任何翻译基础设施。

注意事项

  • loadDictionary() 用于为您的应用加载自定义翻译。
  • 通过 loadDictionary() 加载的词典将优先于通过 loadTranslations() 加载的翻译。

后续步骤

这份指南怎么样?