# gt-react: General Translation React SDK: loadDictionary URL: https://generaltranslation.com/zh/docs/react/api/config/load-dictionary.mdx --- title: loadDictionary description: loadDictionary() 函数的 API 参考文档 --- {/* 自动生成:请勿直接编辑。请改为编辑 content/docs-templates/ 下的模板。 */} ## 概述 `loadDictionary` 会为指定的区域设置加载翻译 JSON 文件。 此函数适用于希望将 `gt-react` 作为独立 i18n 库使用的用户。 此函数主要用于将现有 i18n 项目迁移到 General Translation,同时保留原有翻译。 如果存在多个翻译,由 `loadDictionary` 加载的字典中的翻译始终优先于其他翻译。 `loadDictionary` 仅支持使用包含字符串翻译的 JSON 文件。 ## 参考文档 ### 参数 ### 说明 | 类型 | 说明 | | -------- | -------------- | | `locale` | 要加载其翻译内容的区域设置。 | ### 返回值 一个 `Promise`,解析后的结果是一个字典,用于将给定区域设置的 id 映射到对应的翻译。 *** ## Setup 通常,你需要从 `./public/locales` 目录加载字典。 在一个文件中定义 `loadDictionary`。 确保该函数返回一个 Promise,并解析为一个包含给定区域设置翻译内容的对象。 ```jsx title="src/loadDictionary.js" export default async function loadDictionary(locale) { const translations = await import(`../public/locales/${locale}.json`); return translations.default; } ``` 然后将其传给你的 `` 组件: ```jsx title="src/App.js" import { GTProvider } from 'gt-react'; import loadDictionary from './loadDictionary'; ``` **问题:** [`loadTranslations`](/docs/react/api/config/load-translations) 和 [`loadDictionary`](/docs/react/api/config/load-dictionary) 有什么区别? * [`loadTranslations`](/docs/react/api/config/load-translations) 用于为应用获取翻译时定义自定义加载方式。 例如,可以从 CDN、数据库或应用的 bundle 中加载翻译。 这些通常是由 CLI 工具管理的机器生成翻译,不太适合用户直接编辑。 * [`loadDictionary`](/docs/react/api/config/load-dictionary) 适用于将 `gt-react` 作为独立库使用的实现方式。 用户自行提供翻译,不依赖任何翻译基础设施。 *** ## 注意事项 * `loadDictionary` 用于加载应用中的自定义翻译。 * 通过 `loadDictionary` 加载的字典优先级高于通过 [`loadTranslations`](/docs/react/api/config/load-translations) 加载的翻译。 ## 后续步骤 * 如果你想自行编写翻译,请参阅[自定义翻译](/docs/react/concepts/stand-alone)。 * 如需了解如何编写自定义翻译加载器的更多信息,请参阅[`loadTranslations`](/docs/react/api/config/load-translations)。