# gt: General Translation CLI tool: 翻訳の生成
URL: https://generaltranslation.com/ja/docs/cli/guides/generating-translations.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: General Translation CLI を使って翻訳を生成し、コードベースまたは CDN に保存する方法。

[`gt translate`](/docs/cli/reference/commands/translate) コマンドは、プロジェクトを翻訳するための主要な手段です。`gt.config.json` を読み込んでファイルを特定し、ソースコードをスキャンしてインラインコンテンツを検出し、General Translation API を通じて翻訳を生成します。

*注: 本番向けにビルドする前に、CI パイプラインで [`translate`](/docs/cli/reference/commands/translate) を実行してください。これは開発用ではありません。開発時は、代わりに開発用 API キーを使ってオンデマンド翻訳を利用してください。*

## 始める前に [#before]

* `gt.config.json` でプロジェクトを設定します。詳しくは [CLI の設定](/docs/cli/guides/configuring) を参照してください。
* 本番用の `GT_API_KEY` と `GT_PROJECT_ID` を環境変数として設定します。
* 本番環境向けにビルドする際に使用するブランチをチェックアウトします。

## プロジェクトを翻訳する [#translate]

プロジェクトのルートディレクトリでコマンドを実行します。

```bash
npx gt translate
```

CLI は、`gt.config.json` に一致するすべてのファイルを翻訳します。`gt-next`、`gt-react`、または `gt-react-native` を使用している場合は、[`<T>`](/docs/react/reference/components/t) コンポーネントや [`useGT`](/docs/react/reference/hooks/use-gt) の呼び出しなどのインラインコンテンツをソースコードから走査し、dictionary ファイルも対象に含めます。翻訳はコードベースに保存され、そのままコミットできます。

`next-intl`、`react-i18next`、または `next-i18next` を使用している場合、CLI は `package.json` からライブラリを検出し、そのライブラリの文字列構文を維持したままファイルを翻訳します。

## ビルドに追加する [#build]

本番環境で常に最新の翻訳を含めてデプロイできるよう、ビルドコマンドの前に [`translate`](/docs/cli/reference/commands/translate) を実行します。

```json title="package.json"
{
  "scripts": {
    "translate": "npx gt translate",
    "build": "npm run translate && <your build command>"
  }
}
```

## 翻訳対象のコンテンツを制御する [#content]

デフォルトでは、CLI は `src`、`app`、`pages`、`components` 内のインラインコンテンツを検索します。これを変更するには、`gt.config.json` の `src` フィールドまたは `--src` フラグを使用します。

```bash
npx gt translate --src "lib/**/*.{ts,tsx}"
```

設定を編集せずに、1回の実行だけ追加のロケールに翻訳するには、`--locales` を指定します。これらは `gt.config.json` の locales に追加されます。

```bash
npx gt translate --locales de it
```

## 翻訳せずに Validate する [#validate]

`--dry-run` を指定すると、API を呼び出さずにプロジェクトを解析・検証できます。これは、実際の実行前に CI でエラーを検出するのに役立ちます。

```bash
npx gt translate --dry-run
```

## 既存のコンテンツを再翻訳する [#retranslate]

デフォルトでは、CLI はsourceが変更されたコンテンツのみを翻訳し、ローカルでの編集は保持されます。同じファイルの以前のバージョンにある一致する翻訳も再利用できます。最新バージョンに限りません。セグメントは、そのsourceテキストが変更された場合に再度翻訳されます。この動作を変更するには、次のオプションを使用します。

* `--force` はすべてのコンテンツを再翻訳し、既存の翻訳を上書きします。ローカルでの変更は失われ、新しい翻訳分の料金が発生します。
* `--force-download` は翻訳を再ダウンロードし、再翻訳せずにローカルでの変更を上書きします。

```bash
npx gt translate --force
```

## 翻訳の実行にタグを付ける [#tagging]

`--tag` と `-m` を使って、実行にわかりやすい識別子を付けると、ダッシュボードでバージョンを追跡しやすくなります。

```bash
npx gt translate --tag v2.1.0 -m "Added checkout page translations"
```

値を指定せずに`--tag`を渡すと、現在の Git のコミットハッシュがタグとして、コミットメッセージがメッセージとして使われます。タグ付けは非ブロッキングなので、失敗しても翻訳の実行は継続されます。

## CDN に公開 [#publish]

デフォルトでは、翻訳はローカルに保存されます。Runtime で読み込めるようにするには、`--publish` を追加して、General Translation CDN にも公開します。

```bash
npx gt translate --publish
```

*注: まずプロジェクトの設定で CDN を有効にしてください。これを有効にしないと、翻訳の実行自体は成功しますが、公開ステップは警告が表示されて失敗します。*

## Next steps

- /docs/cli/guides/managing-translations
- /docs/cli/guides/branching
- /docs/cli/guides/configuring
- /docs/cli/guides/using-autoderive

## Sitemap

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