# General Translation Integrations: Payload プラグインの設定
URL: https://generaltranslation.com/ja/docs/integrations/payload/reference/plugin-configuration.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Payload CMS 向けの General Translation gt-payload プラグインを設定します。gtPlugin の API リファレンスです。

Payload の `plugins` 配列に `gtPlugin` を追加します。このプラグインは 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)         | General Translation プロジェクト ID。     | `string`                                                              | はい | `GT_PROJECT_ID` |
| [`apiKey`](#api-key)               | General Translation プロジェクト API キー。 | `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`

Payload サーバーが使用するプロジェクト API キーです。server-only の環境変数で管理し、クライアントのバンドルに含めたり、ソース管理にコミットしたりしないでください。

```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 がサポートするコードにマッピングします。ロケールのプロパティをオーバーライドすることもできます。データ構造は [`gt.config.json`](/docs/cli/reference/config#custom-mapping) の `customMapping` キーと同じです。

```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` から構築

プラグインが使用する General Translation のメソッドを実装した、サーバーサイドのクライアントです。テストダブルや、独自の通信処理を備えた既存のクライアントを使用したい場合に、このオプションで渡します。

`client` を指定すると、プラグインは独自に `GT` インスタンスを構築しません。クライアントには、ドキュメントに記載された [`GtClient`](/docs/integrations/payload/reference/api#gtclient) 型のメソッドをすべて実装する必要があります。

## 動作の仕組み [#how-it-works]

Payload のローカライゼーションが設定されている場合、このプラグインは以下を追加します。

* 翻訳可能なローカライズ対象のフィールドを持つコレクションおよびグローバルに対する **Translate** コントロール
* `/translations` で利用できる、サイト全体を対象とした **Translations** 管理ビュー
* `gt-translation-runs` および `gt-translation-locks` コレクション
* `gtTranslationRun` Payload ジョブ
* Payload APIルート配下にある、実行とカバレッジ用の認証付きエンドポイント

`localization` が設定されていない場合、プラグインは設定を変更せずにそのまま返します。

プラグインを追加またはアップグレードした後は、`npx payload generate:importmap` を実行してください。また、本番環境で翻訳を使用する前に、追加されたコレクション用のデータベースマイグレーションを適用してください。

管理用エンドポイントを利用するには Payload ユーザーとしてサインインしている必要があり、そのユーザーのドキュメントアクセスルールが適用されます。General Translation の認証情報はサーバー上に保持されます。

## Sitemap

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