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