# 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)。