Config
loadDictionary()
loadDictionary() 函数的 API 参考。
概述
loadDictionary()
会为指定的语言环境加载一个翻译 json 文件。
此函数适用于希望将 gt-react
作为独立 i18n 库使用的用户。
该函数主要用于将已有的 i18n 项目迁移到 General Translation,同时保留现有的翻译内容。
如果存在多个翻译,loadDictionary()
加载的字典中的翻译始终优先于其他翻译。
loadDictionary()
仅支持使用包含字符串翻译的 JSON 文件。
参考
参数
Prop | Type | Default |
---|---|---|
locale? | string | - |
描述
类型 | 描述 |
---|---|
locale | 应加载翻译的语言环境。 |
返回值
一个 Promise<any>
,解析为将 id 映射到指定语言环境翻译的字典。
设置
通常,你会从 ./public/locales
目录加载字典。
在一个文件中定义你的 loadDictionary()
。
确保该函数返回一个 promise,并解析为包含指定语言环境翻译内容的对象。
export default async function loadDictionary(locale) {
const translations = await import(`../public/locales/${locale}.json`);
return translations.default;
}
然后将其传递给你的 <GTProvider>
组件:
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()
加载的翻译。
后续步骤
- 如果你想编写自己的翻译,请查看自定义翻译。
- 查看
loadTranslations()
以获取有关编写自定义翻译加载器的更多信息。
这份指南怎么样?