# General Translation React SDKs (gt-react, gt-next, gt-react-native): loadDictionary
URL: https://generaltranslation.com/ru/docs/react/reference/functions/load-dictionary.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Загружайте собственный словарь переводов как автономную библиотеку i18n. Справочник по API для loadDictionary.

`loadDictionary` — это функция-загрузчик, которую вы определяете для загрузки словаря переводов для локали. Она предназначена для использования `gt-react` как автономной библиотеки i18n — чтобы подключать собственные переводы, обычно при миграции существующего i18n-проекта на General Translation.

*Применяется к `gt-react`, `gt-next`, `gt-tanstack-start` и `gt-react-native`, но способ подключения различается. `loadDictionary` — это загрузчик, который вы определяете, а не экспортируемый символ. В `gt-react` и `gt-tanstack-start` передайте его в вызов инициализации (ниже); в `gt-next` он определяется через плагин `withGTConfig` (описан в разделе Next.js). Контракт загрузчика на этой странице везде одинаковый.*

## Обзор [#overview]

Определите функцию, которая принимает локаль и возвращает соответствующий словарь, а затем передайте её в опции `loadDictionary` для [`initializeGT`](/docs/react/reference/config#initialize). В одностраничных приложениях вместо этого передайте её в [`initializeGTSPA`](/docs/react/reference/config#initialize-spa).

```tsx
const loadDictionary = (locale: string) =>
  import(`../public/locales/${locale}.json`).then((m) => m.default);

initializeGT({ ...gtConfig, loadDictionary });
```

*Примечание: в `gt-react` `loadDictionary` — это параметр конфигурации в вызове инициализации, а не проп у [`<GTProvider>`](/docs/react/reference/components/gt-provider). `loadDictionary` поддерживает только JSON-файлы со строковыми переводами.*

## Как это работает [#how-it-works]

* **Автономные переводы.** `loadDictionary` загружает JSON-файл с переводами для указанной локали. Используйте его, если вы подключаете собственные переводы и не используете инфраструктуру переводов General Translation.
* **Приоритет.** Если доступно несколько переводов, словари, загруженные через `loadDictionary`, всегда имеют приоритет над переводами, загруженными через [`loadTranslations`](/docs/react/reference/functions/load-translations).
* **Только JSON.** Поддерживаются только JSON-файлы, содержащие строковые переводы.

*Разница между двумя загрузчиками: [`loadTranslations`](/docs/react/reference/functions/load-translations) позволяет настроить загрузку машинно-сгенерированных переводов, которыми управляет CLI (из CDN, базы данных или бандла), а `loadDictionary` предназначен для использования `gt-react` как автономной библиотеки с собственными переводами, без какой-либо инфраструктуры переводов.*

## Параметры [#parameters]

| Параметр            | Описание                                  | Тип      | Необязательно | По умолчанию |
| ------------------- | ----------------------------------------- | -------- | ------------- | ------------ |
| [`locale`](#locale) | Локаль, для которой загружаются переводы. | `string` | Нет           | —            |

### `locale` [#locale]

**Тип** `string` · **Обязательно**

Локаль, для которой нужно загрузить словарь.

## Возвращает [#returns]

**Тип** `Promise<Dictionary>`

Промис, который разрешается в сопоставление `Dictionary`, связывающее id с переводами для указанной локали.

## Примеры [#examples]

```js title="loadDictionary.js"
export default async function loadDictionary(locale) {
  const translations = await import(`../public/locales/${locale}.json`);
  return translations.default;
}
```

## Заметки [#notes]

* `loadDictionary` загружает ваши собственные переводы для автономного использования и имеет приоритет над [`loadTranslations`](/docs/react/reference/functions/load-translations).
* Поддерживаются только JSON-файлы со строковыми переводами.
* Обращайтесь к элементам словаря во время выполнения с помощью [`useTranslations`](/docs/react/reference/hooks/use-translations).

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
