# gt: General Translation CLI tool: CLI の設定
URL: https://generaltranslation.com/ja/docs/cli/guides/configuring.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: General Translation の gt.config.json をロケール、ファイル、保存オプションとともに設定する方法。

CLI は、プロジェクトのルートにある `gt.config.json` ファイルを読み取り、何を翻訳するかと、結果の保存先を決定します。このガイドでは、そのファイルの作成方法と編集方法を説明します。

*注: このガイドでは、一般的な設定項目を扱います。利用可能なすべてのフィールドについては、[設定リファレンス](/docs/cli/reference/config)を参照してください。*

## 設定ファイルを作成する [#create]

`gt.config.json` は、3つの方法で作成できます。ワークフローに合った方法を選んでください。

### a) セットアップウィザードを一括で実行する

[`gt init`](/docs/cli/reference/commands/init) を実行すると、フレームワークの検出とファイルの設定を行い、必要に応じてプロジェクトと開発用 Runtime キーのプロビジョニングも行えます。サインインが必要なステップでは、ウィザードが自動的にサインインします。[フラグ](/docs/cli/reference/commands/init#flags)を渡して質問に回答することも、ヘッドレスで実行することもできます。

```bash
npx gt init
```

モノレポでは、ワークスペースのルートではなく、ローカライズするアプリのディレクトリでコマンドを実行してください。Vite React アプリの場合、ウィザードは `gt-react` をインストールし、既存のアプリのエントリより前に [`initializeGTSPA`](/docs/react/reference/config#initialize-spa) を設定して、ローカルまたは CDN から翻訳を読み込むようにセットアップします。

### b) React のセットアップステップを省略して設定する

[`gt configure`](/docs/cli/reference/commands/configure) を実行すると、実験的な React フレームワークの書き換えを行わずに `gt.config.json` を作成または更新できます。それ以外のセットアップフローはフルウィザードと共通で、ローダーの生成、CLI のインストール、ログインの案内、開発用認証情報のプロビジョニングを行えます。

```bash
npx gt configure
```

### c) 手動で記述する

自分でファイルを作成し、エディタでの検証や自動補完のために`$schema`参照を追加します。

```json title="gt.config.json"
{
  "$schema": "https://assets.gtx.dev/config-schema.json",
  "defaultLocale": "en",
  "locales": ["fr", "es"]
}
```

## ロケールを設定する [#locales]

`defaultLocale` にはソースコンテンツの言語を設定し、`locales` には対象の言語を列挙します。

```json title="gt.config.json"
{
  "defaultLocale": "en",
  "locales": ["fr", "es", "ja"]
}
```

どちらも `en`、`en-US`、`zh` のような標準的なロケールコードを使用します。完全な一覧は、[対応ロケール](/docs/platform/dashboard/reference/supported-locales)を参照してください。

ロケールにカスタムのエイリアスを使うには — たとえば `zh` の代わりに `cn` を使う場合 — 正式なコードを指す `customMapping` エントリを追加してください。`defaultLocale` や `locales` でそのロケールを指定する際は、常にエイリアスを使用してください。

```json title="gt.config.json"
{
  "defaultLocale": "en",
  "locales": ["cn", "fr"],
  "customMapping": {
    "cn": { "code": "zh" }
  }
}
```

## 翻訳するファイルを選択する [#files]

翻訳したいファイルタイプごとにキーを持つ `files` オブジェクトを追加します。ほとんどのタイプでは、`include` 配列に glob パターンを指定します。このパターンでは `[locale]` プレースホルダーを使ってソースファイルの場所を特定し、翻訳後のファイルの保存先も指定します。ただし [`.xcstrings` catalogs](/docs/cli/reference/formats/xcstrings-files) は例外で、すべてのロケールが 1 つのファイルに保存され、そのファイルがインプレースで更新されます。

```json title="gt.config.json"
{
  "defaultLocale": "en",
  "locales": ["fr", "es"],
  "files": {
    "json": {
      "include": ["locales/[locale]/**/*.json"]
    },
    "mdx": {
      "include": ["content/docs/[locale]/**/*.mdx"]
    }
  }
}
```

CLI は、ソースファイルを検索する際は `[locale]` を `defaultLocale` に置き換え、翻訳を保存する際は各ターゲットコードに置き換えます。タイプごとのオプションは [File formats](/docs/cli/reference/formats/gt-jsx-files) に、詳細なマッチングは [`include`](/docs/cli/reference/config#files) に記載されています。

## 翻訳の保存先を選択する [#storage]

`gt-next`、`gt-react`、または `gt-react-native` を使用している場合は、翻訳をどのように配信するかを決めます。

* アプリに翻訳をバンドルするには、**ローカルに保存**します。`[locale]` を含む `output` パスを指定した `gt` エントリを追加します。
* 翻訳をバンドルせずに Runtime で読み込むには、**CDN に公開**します。`publish` を `true` に設定します。

```json title="gt.config.json"
{
  "files": {
    "gt": {
      "output": "public/i18n/[locale].json"
    }
  }
}
```

 (公開をグローバル、ファイルごと、またはコマンドごとに制御するには、[CDN 公開](/docs/cli/reference/config#cdn-publishing)を参照してください) 。

## 認証情報を追加する [#credentials]

### a) ローカルでの CLI 作業用にサインインする

1. [`gt login`](/docs/cli/reference/commands/login) を実行し、ブラウザでアクセスを承認します。アカウントの確認には [`gt whoami`](/docs/cli/reference/commands/whoami) を、サインアウトには [`gt logout`](/docs/cli/reference/commands/logout) を使用します。
2. 既存の `gt.config.json` で [`projectId`](/docs/cli/reference/config#project-id) を指定するか、`GT_PROJECT_ID` を設定して、アプリをプロジェクトにバインディングします。ログインしただけでは、プロジェクトの選択や作成は行われません。手動でバインディングする代わりに、ガイドに沿ってプロジェクトを選択・作成したい場合は、[`gt init`](/docs/cli/reference/commands/init) を使用してください。
3. [`gt translate`](/docs/cli/reference/commands/translate) を実行します。リクエストする各操作に対する権限がアカウントに付与されている必要があります。

SDK は CLI に保存されたログイン情報を読み込みません。Runtime の認証情報は別途設定してください。

### b) CI では明示的なキーを使用する

config をコミットし、CI プロバイダーのシークレット設定で `GT_API_KEY` を指定してください。プロジェクト ID は config または環境変数で設定します。ログインには、`--no-browser` を使う場合も含め、人による承認が必要です。ヘッドレスモードの [`gt init`](/docs/cli/reference/commands/init) を無人で実行できるのは、すべての質問にフラグで回答済みで、かつサインインが不要な場合に限られます。

```bash
GT_API_KEY=your-api-key
GT_PROJECT_ID=your-project-id
```

[カスタムプロジェクトキー](/docs/platform/dashboard/reference/api-keys#create-project-keys)を作成するか、[`gt api-key create`](/docs/cli/reference/commands/api-key-create) で権限を明示的に指定したキーを作成してください。権限はワークフロー全体をカバーするように付与します。具体的には、ファイルの読み取り／ダウンロード、ファイルの書き込み／アップロード、翻訳のエンキューに加え、コンテキストを使用する場合はそのアクセス権限も付与してください。生成専用の Runtime キーでは、翻訳パイプラインを実行するには不十分です。API キーは絶対に `gt.config.json` に保存しないでください。通常の CLI 設定の検証で拒否されます。

### 認証情報の優先順位と環境ファイル

ホスト型コマンドでは、`--api-key`、空でない `GT_API_KEY` の順に優先され、明示的なツーリングキーが指定されていない場合は保存済みのログイン情報が使用されます。明示的に指定したキーが無効または権限不足であっても、ログイン情報にフォールバックすることはありません。`GT_DEV_API_KEY` およびパブリックプレフィックス付きのバリアントは Runtime 用の設定であり、CLI の管理用認証情報ではありません。ログイン情報を使用するには、不要なツーリングキーをプロセス環境と読み込み対象の env ファイルの両方から削除してください。ログインしても、これらのキーは消去されません。

起動時、実行ファイルはまず `.env` を読み込み、次に `.env.local`、さらに `.env.production` をそれぞれ上書きありで読み込みます。後の 2 つのファイルは、すでにエクスポートされているキーを上書きする場合があります。プロジェクトのバインディングと競合チェックについては、[`projectId`](/docs/cli/reference/config#project-id) を参照してください。

### 開発用 Runtime キー

[`gt init`](/docs/cli/reference/commands/init) を使うと、`project:translations:generate` 権限のみを持つキーを発行し、フレームワークに合わせた変数名で、Git の管理対象外である `.env.local` に保存できます。これは `GT_API_KEY` の代わりになるものではありません (Runtime の設定については [Next.js の認証情報](/docs/react/nextjs/config#credentials) を参照してください) 。

<Callout type="warn">
  生成専用のキーであっても、デプロイするブラウザ向けやモバイル向けのバンドルには API キーを絶対に含めないでください ([init のファイル保護](/docs/cli/reference/commands/init#notes) を参照してください) 。
</Callout>

## Next steps

- /docs/cli/guides/generating-translations
- /docs/cli/guides/managing-translations
- /docs/cli/guides/using-auto-jsx
- /docs/cli/guides/branching

## Sitemap

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