# gt: General Translation CLI tool: gt translate
URL: https://generaltranslation.com/ja/docs/cli/reference/commands/translate.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: General Translation API を使用してプロジェクトを翻訳します。`gt translate` コマンドの API リファレンス。

プロジェクトを翻訳します。`gt.config.json` を読み取って対象ファイルを特定し、フレームワークの library を使用している場合はソースコード内のインラインコンテンツをスキャンし、dictionary を含めたうえで、翻訳をコードベースまたは CDN に保存します。

これは General Translation API を利用するための主要なコマンドです。本番ビルドの前に CI で実行してください。ワークフロー全体については、[翻訳の生成](/docs/cli/guides/generating-translations) を参照してください。内部では、`translate` は `stage` と `download` を 1 ステップで実行します。これらを個別に実行するには、[`gt stage`](/docs/cli/reference/commands/stage)、[`gt upload`](/docs/cli/reference/commands/upload)、[`gt enqueue`](/docs/cli/reference/commands/enqueue)、[`gt download`](/docs/cli/reference/commands/download) を使用してください。Lottie アニメーションはレイアウト処理が非同期であるため、後でダウンロードする前にステージングする必要があります。

*注: 本番環境でのみ使用してください。本番用の `GT_API_KEY` と `GT_PROJECT_ID` を環境変数として設定し、APIキー を `gt.config.json` に保存しないでください。*

```bash
npx gt translate
```

## 仕組み [#how-it-works]

1. `gt.config.json` を読み取り、ターゲットロケール、翻訳対象のファイル、およびその出力パスを特定します。
2. `gt-next`、`gt-react`、`gt-react-native`、`gt-tanstack-start`、`gt-vue` の各プロジェクトでは、`src` の glob をスキャンしてインラインコンテンツを検出します。これには React 系の [`<T>`](/docs/react/reference/components/t) コンポーネントと [`useGT`](/docs/react/reference/hooks/use-gt) の呼び出しに加え、Vue のテンプレートおよびモジュールレベルの [`t()`](/docs/vue/reference/functions/t) の呼び出しが含まれ、さらに dictionary ファイルも含めます。
3. `package.json` からサードパーティの i18n ライブラリ — `next-intl` または `i18next` (`i18next-icu` をサポート) — を自動検出し、そのライブラリの構文に従って JSON ファイルを翻訳します。
4. 収集したコンテンツを [`gt stage`](/docs/cli/reference/commands/stage) でステージングします。ソースをアップロードし、`--save-local` または [`options.saveLocal: true`](/docs/cli/reference/config#save-local) が指定されている場合はローカル編集を検出して保存した後、翻訳ジョブをキューに追加します。Lottie のレイアウト処理は非同期であるため、`.lottie` ファイルを含むプロジェクトでは、`stageTranslations` が `false` の場合、何もアップロードまたはキューへの追加を行わずにこの手順の前に終了し、分割フローに誘導されます。
5. [`gt download`](/docs/cli/reference/commands/download) で結果をダウンロードします。ステージングとダウンロードを別々に実行するには、分割されたコマンドを使用してください。
6. 翻訳をコードベースに保存し、`--publish` または [`publish`](/docs/cli/reference/config#publish) 設定キーが指定されている場合は CDN にも公開します。

デフォルトでは、CLI は新しい作業を開始する前にローカル翻訳への変更を同期しません。同期するには `--save-local` を、すべてを再翻訳するには `--force` を、再翻訳せずに再ダウンロードするには `--force-download` を使用してください。

## フラグ [#flags]

| パラメータ                           | 説明                                                        | 型          | 任意 | デフォルト            |
| ------------------------------- | --------------------------------------------------------- | ---------- | -- | ---------------- |
| `--api-key <key>`               | 本番用の API キー。                                              | `string`   | はい | `GT_API_KEY`     |
| `--project-id <id>`             | プロジェクト ID。                                                | `string`   | はい | `GT_PROJECT_ID`  |
| `--version-id <id>`             | 受け付けられますが、効果はありません。以下のメモを参照してください。                        | `string`   | はい | —                |
| `-c, --config <path>`           | 設定ファイル のパス。                                               | `string`   | はい | `gt.config.json` |
| `--default-locale <locale>`     | プロジェクトの source ロケール。                                      | `string`   | はい | `en`             |
| `--locales <locales...>`        | 追加のターゲットロケール。config の locales に追記されます。                    | `string[]` | はい | —                |
| `--timeout <seconds>`           | 翻訳の待機タイムアウト (秒) 。                                         | `number`   | はい | `900`            |
| `--dry-run`                     | API を呼び出さずに、解析と検証のみを行います。                                 | `boolean`  | はい | `false`          |
| `--force`                       | 既存の翻訳を上書きして、すべての Content を再翻訳します。                         | `boolean`  | はい | `false`          |
| `--force-download`              | ローカルでの変更を上書きして、すべての翻訳を再ダウンロードします。                         | `boolean`  | はい | `false`          |
| `--save-local, --no-save-local` | キューに追加する前にローカル編集を保存するかどうかを有効または無効にします。                    | `boolean`  | はい | `false`          |
| `--publish`                     | 翻訳を CDN に公開します。                                           | `boolean`  | はい | `false`          |
| `--enable-branching`            | ブランチベースの追跡を有効にします。                                        | `boolean`  | はい | —                |
| `--branch <branch>`             | 自動検出の代わりにブランチ名を指定します。`--enable-branching` も暗黙的に有効になります。   | `string`   | はい | —                |
| `--disable-branch-detection`    | 関係性の検出を行わず、指定したブランチのみを使用します。                              | `boolean`  | はい | `false`          |
| `--remote-name <name>`          | ブランチ検出に使用する Git リモート。                                     | `string`   | はい | `origin`         |
| `--omit-config-ids`             | `_versionId` または `_branchId` を `gt.config.json` に書き込みません。 | `boolean`  | はい | —                |
| `--tag [value]`                 | 実行に タグ を付けます。値が指定されていない場合は git から自動的に解決されます。              | `string`   | はい | —                |
| `-m, --message <message>`       | 翻訳 タグ に付けるメッセージ。                                          | `string`   | はい | —                |

### ソーススキャン用フラグ [#source]

これらは、`gt-next`、`gt-react`、`gt-react-native`、`gt-tanstack-start`、`gt-vue` の各プロジェクトでソースコードをスキャンする際に適用されます。

| パラメータ                           | 説明                                                                                                              | 型          | 任意 | デフォルト           |
| ------------------------------- | --------------------------------------------------------------------------------------------------------------- | ---------- | -- | --------------- |
| `--src <paths...>`              | ソースファイルの glob パターン。                                                                                             | `string[]` | はい | フレームワーク固有の glob |
| `--dictionary <path>`           | dictionary ファイルのパス。                                                                                             | `string`   | はい | —               |
| `--tsconfig, --jsconfig <path>` | TS または JS の設定ファイルのパス。                                                                                           | `string`   | はい | 自動検出            |
| `--inline`                      | [`<T>`](/docs/react/reference/components/t) や [`useGT`](/docs/react/reference/hooks/use-gt) などのインラインコンテンツを含めます。 | `boolean`  | はい | `true`          |
| `--ignore-errors`               | インラインコンテンツのスキャン中に見つかったエラーを無視します。                                                                                | `boolean`  | はい | `false`         |

### 実験的フラグ [#experimental]

| パラメータ                                     | 説明                                           | 型         | 任意 | デフォルト   |
| ----------------------------------------- | -------------------------------------------- | --------- | -- | ------- |
| `--experimental-localize-static-urls`     | 翻訳された `md`/`mdx` ファイル内の URL をローカライズします。      | `boolean` | はい | `false` |
| `--experimental-hide-default-locale`      | ローカライズされたパスからデフォルトロケールを除外します。                | `boolean` | はい | `false` |
| `--experimental-flatten-json-files`       | JSON ファイルを 1 つのファイルにフラット化します。                | `boolean` | はい | `false` |
| `--experimental-localize-static-imports`  | `md`/`mdx` ファイル内の静的インポートをローカライズします。          | `boolean` | はい | `false` |
| `--experimental-localize-relative-assets` | 翻訳された `md`/`mdx` ファイル内の相対画像アセット URL を書き換えます。 | `boolean` | はい | `false` |
| `--experimental-clear-locale-dirs`        | ダウンロード前にロケールディレクトリを空にします。                    | `boolean` | はい | `false` |

## 例 [#example]

```bash
# gt.config.json を使用して翻訳し、GT_API_KEY と GT_PROJECT_ID を環境変数から読み込む
npx gt translate

# API を呼び出さずにプロジェクトを解析・検証する
npx gt translate --dry-run

# 翻訳をローカルに保存し、Runtime 読み込み用に CDN へ公開する
npx gt translate --publish

# ダッシュボードで識別しやすいようにタグを付ける
npx gt translate --tag v2.1.0 -m "Added checkout page translations"
```

## その他の注意 [#notes]

* **コンテンツソース:** CLI はフレームワーク固有のデフォルトを使用します。React 系のプロジェクトでは `src`、`app`、`pages`、`components` をスキャンし、Vue プロジェクトではさらにルート直下の `.vue` ファイルと、Vue および Nuxt の慣例的なディレクトリも対象になります。`--src` または設定キー [`src`](/docs/cli/reference/config#src) で変更できます。
* **dictionary:** `--dictionary` が設定されていない場合、CLI は `./src` と `./` で `dictionary.[json|ts|js]` を探します。
* **ローカル編集:** ローカル編集の同期はデフォルトで無効です。1 回の実行だけ有効にするには `--save-local` を渡すか、[`options.saveLocal`](/docs/cli/reference/config#save-local) を `true` に設定してください。
* **上書き:** `--force` は既存の翻訳をすべて上書きし、新規翻訳分の課金が発生します。`--force-download` は再翻訳せずに、ローカル編集を最新の翻訳で上書きします。
* **Lottie:** アニメーションは [`gt stage`](/docs/cli/reference/commands/stage) で翻訳し、すべてのロケールの準備が整うまで [`gt download`](/docs/cli/reference/commands/download) を再実行してください。詳しくは [Lottie format reference](/docs/cli/reference/formats/lottie-files) を参照してください。
* **タグ付け:** タグ付けは非ブロッキングです。タグの作成に失敗しても、実行は継続されます。現在の git のコミットハッシュとメッセージを使うには、値を指定せずに `--tag` を渡してください。
* **公開:** `--publish` を使う前に、プロジェクト設定で CDN を有効にしてください。CDN が有効になっていない場合でも翻訳自体は成功しますが、公開ステップは警告とともに失敗します。
* **ブランチ:** git ブランチごとに翻訳を追跡するには、`--enable-branching` を渡すか、それだけでブランチを有効にする `--branch <name>` を渡してください。どちらのフラグも設定されていない場合、CLI は `gt.config.json` の `branchOptions.enabled` にフォールバックし、それも未設定の場合は無効になります。詳しくは [Tracking translations by branch](/docs/cli/guides/branching) を参照してください。
* **`--version-id` は効果がありません。** フラグは解析されますが、どこからも参照されません。バージョン ID はファイルごとのコンテンツハッシュであり、実行レベルのバージョンを必要とするコマンドは `gt.config.json` から `_versionId` を読み取ります。代わりにそこで [`_versionId`](/docs/cli/reference/config) を設定してください。
* **セキュリティ:** `gt.config.json` に APIキーを保存しないでください。CLI は `GT_API_KEY` と `GT_PROJECT_ID` を環境変数から自動的に読み取ります。

### バージョン履歴

| バージョン    | 変更内容                                                       |
| -------- | ---------------------------------------------------------- |
| `2.20.3` | ローカル編集はopt-in方式になりました。`--save-local` を指定するとこのstepが有効になります。 |
| `2.16.1` | ローカル編集はデフォルトで保存されます。保存を無効にするには `--no-save-local` を指定します。   |

## Sitemap

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