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