# General Translation Integrations: Конфигурация плагина Payload
URL: https://generaltranslation.com/ru/docs/integrations/payload/reference/plugin-configuration.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Настройка плагина gt-payload от General Translation для Payload CMS. Справочник API для gtPlugin.

Добавьте `gtPlugin` в массив `plugins` в конфигурации Payload. Плагин берёт настройки локализации Payload и определяет по ним исходную локаль, целевые локали и переводимые поля.

```ts title="src/payload.config.ts"
import { buildConfig } from 'payload';
import { gtPlugin } from 'gt-payload';

export default buildConfig({
  // ... ваша существующая конфигурация
  localization: {
    locales: ['en', 'es', 'fr'],
    defaultLocale: 'en',
  },
  plugins: [gtPlugin()],
});
```

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

| Параметр                           | Описание                                                   | Тип                                                                   | Необязательно | По умолчанию                      |
| ---------------------------------- | ---------------------------------------------------------- | --------------------------------------------------------------------- | ------------- | --------------------------------- |
| [`projectId`](#project-id)         | ID проекта General Translation.                            | `string`                                                              | Да            | `GT_PROJECT_ID`                   |
| [`apiKey`](#api-key)               | API-ключ проекта General Translation.                      | `string`                                                              | Да            | `GT_API_KEY`                      |
| [`customMapping`](#custom-mapping) | Псевдонимы локалей и переопределения свойств для Payload.  | [`CustomMapping`](/docs/platform/core/reference/types/custom-mapping) | Да            | —                                 |
| [`client`](#client)                | Предварительно настроенный клиент для запросов на перевод. | [`GtClient`](/docs/integrations/payload/reference/api#gtclient)       | Да            | Создаётся из остальных параметров |

## `projectId` [#project-id]

**Тип** `string` · **Необязательно** · **По умолчанию** `GT_PROJECT_ID`

Проект, в рамках которого выполняются загрузка файлов на сервер, задания перевода и скачивание. Передавайте его явно, только если сервер не может прочитать `GT_PROJECT_ID`.

```ts title="src/payload.config.ts"
gtPlugin({
  projectId: process.env.GT_PROJECT_ID,
});
```

## `apiKey` [#api-key]

**Тип** `string` · **Необязательно** · **По умолчанию** `GT_API_KEY`

API-ключ проекта, который использует сервер Payload. Храните его в переменной окружения, доступной только на стороне сервера. Никогда не включайте его в клиентский бандл и не коммитьте в систему контроля версий.

```ts title="src/payload.config.ts"
gtPlugin({
  apiKey: process.env.GT_API_KEY,
});
```

## `customMapping` [#custom-mapping]

**Тип** [`CustomMapping`](/docs/platform/core/reference/types/custom-mapping) · **Необязательно**

Сопоставляет код локали Payload с поддерживаемым кодом General Translation и позволяет переопределять свойства локали. Используйте ту же структуру, что и у key `customMapping` в [`gt.config.json`](/docs/cli/reference/config#custom-mapping).

```ts title="src/payload.config.ts"
gtPlugin({
  customMapping: {
    cn: {
      code: 'zh',
      name: 'Mandarin',
    },
  },
});
```

Панель администратора продолжает отображать несопоставленные неподдерживаемые локали, но их нельзя выбрать в качестве целевых локалей перевода.

## `client` [#client]

**Тип** [`GtClient`](/docs/integrations/payload/reference/api#gtclient) · **Необязательно** · **По умолчанию** создаётся на основе `projectId`, `apiKey`, локали по умолчанию Payload и `customMapping`

Server-side клиент, реализующий методы General Translation, которые использует плагин. Передайте этот параметр, чтобы подставить тестовый дублёр или уже существующий клиент с собственной логикой транспорта.

Если задан `client`, плагин не создаёт собственный экземпляр `GT`. Клиент должен реализовывать все методы, описанные в типе [`GtClient`](/docs/integrations/payload/reference/api#gtclient).

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

Если в Payload настроена локализация, плагин добавляет:

* Элемент управления **Translate** в коллекции и глобальные объекты (globals), содержащие переводимые локализованные поля
* Административное представление **Translations** на уровне всего сайта по адресу `/translations`
* Коллекции `gt-translation-runs` и `gt-translation-locks`
* Задание Payload `gtTranslationRun`
* Конечные точки с аутентификацией для запусков и покрытия переводами в составе маршрута API Payload

Если параметр `localization` не задан, плагин возвращает конфигурацию без изменений.

После добавления или обновления плагина выполните `npx payload generate:importmap`. Прежде чем использовать перевод в production, примените миграцию базы данных для добавленных коллекций.

Для доступа к административным конечным точкам пользователь Payload должен войти в систему; при этом действуют его правила доступа к документам. Учётные данные General Translation остаются на сервере.

## Sitemap

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