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,该 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() 加载的翻译。

后续步骤

在本页面