# gt: General Translation CLI tool: Translate URL: https://generaltranslation.com/ja/docs/cli/translate.mdx --- title: Translate description: プロジェクトをtranslateする方法 --- ## 使い方 ```bash npx gt translate ``` **重要:** 本番環境向けにアプリをビルドする**前に**、CI パイプラインでこれを実行してください。 ## 概要 `gt translate` コマンドは、`gt.config.json` ファイルを読み込み、翻訳対象のファイルを判定して、プロジェクトを翻訳します。 [`gt-next`](/docs/next)、[`gt-react`](/docs/react)、または [`gt-react-native`](/docs/react-native) を使用している場合は、プロジェクトのソースコードからインラインコンテンツ (`` コンポーネントや `useGT` Hook など) も検出し、必要な翻訳ファイルを生成します。 さらに、辞書ファイルの内容も含まれます (指定されている場合) 。 このコマンドは、General Translation API および関連サービスを利用するための主要な手段です。 **本番環境でのみ使用してください:** このコマンドは本番ビルド向けであり、**開発環境では使用しないでください**。 このコマンドを実行する前に、本番環境で使用する ブランチ にいることを確認してください。 本番環境用 API キー (`GT_API_KEY`) と プロジェクト ID (`GT_PROJECT_ID`) を環境変数として設定してください。 **注:** 本番環境用 API キーが必要です。[generaltranslation.com](https://generaltranslation.com/dashboard) で無料で取得するか、[セットアップウィザード](/docs/cli/init) を実行して生成してください。 ### プロジェクトを translate する [#translate] ```bash npx gt translate ``` `translate` コマンドは、`gt.config.json` を読み込んで翻訳対象のファイルを特定し、あわせてプロジェクトのソースコードから翻訳可能なコンテンツを検索したうえで、必要な翻訳ファイルを生成します。 翻訳結果は自動的にコードベースに保存されます。 詳しくは、[config docs](/docs/cli/reference/config#files)を参照してください。 {/* これらのリンクは意図的に自社の SDK ドキュメントを指しています。外部ライブラリのサイトではなく、CLI がこれらのライブラリをどのように扱うかを示すためです */} **自動検出:** [`next-intl`](/docs/next)、[`react-i18next`](/docs/react)、または [`next-i18next`](/docs/react-native) を使用している場合、CLI ツールは `package.json` ファイルを読み取って使用中の i18n ライブラリを自動検出し、 その i18n ライブラリの構文に従って JSON を翻訳します。 ### 翻訳を行わずに検証する [#validate] ```bash npx gt translate --dry-run ``` [`gt-next`](/docs/next)、[`gt-react`](/docs/react)、または [`gt-react-native`](/docs/react-native) を使用している場合は、翻訳を生成せずに、これを使ってプロジェクトの `` コンポーネントと辞書ファイルを検証できます。 *** ## フラグ | パラメータ | 説明 | 型 | デフォルト | | ------------------------------- | --------------------------------------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------- | | `--api-key` | 本番環境用 API キーを指定します | `string` | | | `--project-id` | プロジェクト ID を指定します | `string` | | | `--version-id` | バージョン ID を指定します (デフォルトではコンテンツのハッシュ) | `string` | | | `--config ` | GT の config file へのパスを指定します | `string` | `"gt.config.json"` | | `--tsconfig, --jsconfig ` | TS または JS の config file へのパスを指定します | `string` | | | `--src ` | ソースファイルのスペース区切りのグロブパターン (ルートからの相対パス) | `[string]` | `['src/**/*.{js,jsx,ts,tsx}', 'app/**/*.{js,jsx,ts,tsx}', 'pages/**/*.{js,jsx,ts,tsx}', 'components/**/*.{js,jsx,ts,tsx}']` | | `--dictionary ` | 辞書ファイルへのパスを指定します | `string` | | | `--inline` | 辞書に加えてインラインの `` タグも含めます | `boolean` | `true` | | `--timeout` | 翻訳リクエストのタイムアウト (秒) | `number` | `900` | | `--new, --locales ` | 翻訳先のロケール (`gt.config.json` の locales に追加されます) | `[string]` | | | `--default-locale ` | プロジェクトのソースロケール | `string` | `en` | | `--ignore-errors` | エラーを無視し、有効なコンテンツは強制的に翻訳します | `flag` | `false` | | `--dry-run` | 翻訳せずに検証します | `flag` | `false` | | `--force` | すべてのコンテンツの再翻訳を強制します | `flag` | `false` | | `--force-download` | すべての訳文を強制的にダウンロードします | `flag` | `false` | | `--save-local` | 翻訳をキューに追加する前にローカルでの編集を検出して保存します | `flag` | `false` | | `--enable-branching` | プロジェクトでブランチ機能を有効にします | `flag` | `false` | | `--branch ` | 翻訳用のカスタムブランチ名を指定します | `string` | | | `--disable-branch-detection` | ブランチの自動検出を無効にします | `flag` | `false` | | `--tag [value]` | この翻訳実行にタグを付けます (値を指定しない場合は git から自動解決されます) | `string` | | | `-m, --message ` | 翻訳タグに付加するメッセージ | `string` | | | `--publish` | 翻訳後に訳文を CDN に公開します | `flag` | `false` | | `--remote-name ` | ブランチ検出用のカスタムリモート名を指定します | `string` | `"origin"` | **セキュリティ:** `gt.config.json` に API キーを追加しないでください。代わりに環境変数として設定してください。CLI は、設定されていれば `GT_API_KEY` を自動的に読み取ります。 ### 主要なフラグ | フラグ | 説明 | | -------------------- | ----------------------------------------------------------------------------------- | | `--dry-run` | GT API と通信せずに、プロジェクトを解析して検証します。コードベースを検証する際に便利です。 | | `--force` | すべてのコンテンツを再翻訳し、既存の訳文を上書きします。ローカルでの変更はすべて失われます。新たに翻訳料金が発生します。 | | `--force-download` | すべての訳文を再ダウンロードし、ローカルでの変更を上書きします。再翻訳は行いません。 | | `--save-local` | キューに追加する前に、翻訳ファイル内のローカル編集を検出して保存します。[`save-local`](/docs/cli/save-local) を参照してください。 | | `--enable-branching` | 異なる Git ブランチごとに訳文を個別に追跡します。[ブランチ機能](/docs/cli/branching) を参照してください。 | | `--tag` | バージョン追跡のために、翻訳の実行に人が読める識別子のタグを付けます。[tagging](#tagging) を参照してください。 | | `-m, --message` | 翻訳タグに説明用のメッセージを追加します。[tagging](#tagging) を参照してください。 | | `--publish` | runtime で読み込めるように、訳文を CDN に公開します。[CDN への公開](#publishing-to-the-cdn) を参照してください。 | ### 設定ファイル CLIを初めて実行すると、プロジェクトのルートに `gt.config.json` ファイルを作成しようとします。設定の詳細は[こちら](/docs/cli/reference/config)をご覧ください。 ## 重要なポイント ### コンテンツの検索元 `translate` コマンドは、プロジェクト内の翻訳可能なコンテンツを再帰的に検索します。 デフォルトでは、次のディレクトリを検索します: * `./src` * `./app` * `./pages` * `./components` 検索対象の別のディレクトリを指定するには、`--src` フラグを使用するか、 [`gt.config.json`](/docs/cli/reference/config) ファイルの `src` プロパティを変更します。 ### 訳文の上書き デフォルトでは、ソースコンテンツが変更されていない限り、CLI はローカルで加えた訳文の変更を上書きしません。 すでに翻訳済みのコンテンツを再翻訳するには、`--force` を使用します。 **注意:** `--force` を使うと、**既存の訳文がすべて上書きされ、新しい訳文が生成されます**。ローカルで加えた変更はすべて失われます。新しい翻訳には料金が発生します。 再翻訳せずに訳文を再ダウンロードするには、`--force-download` を使用します。 **注意:** `--force-download` を使うと、ローカルで加えた訳文の変更が上書きされ、最新の訳文が取得されます。コンテンツの再翻訳は行われません。 ### タグ付け [#tagging] `--tag` フラグと `-m` フラグを使って翻訳実行に人が読み取れる識別子を付けると、ダッシュボードでバージョンの追跡や識別がしやすくなります。 #### カスタム識別子でタグ付け ```bash npx gt translate --tag v2.1.0 ``` #### カスタム識別子とメッセージを指定してタグ付け ```bash npx gt translate --tag v2.1.0 -m "チェックアウトページの翻訳を追加" ``` #### git から自動的にタグ付けする 値を指定せずに `--tag` を渡すと、現在の git のコミットハッシュが自動的にタグの id として使われ、commit メッセージがタグメッセージとして使われます。 ```bash npx gt translate --tag ``` commitメッセージはカスタムメッセージで上書きできます: ```bash npx gt translate --tag -m "Release 2.1 translations" ``` #### メッセージのみのタグ付け `--tag` を指定せずに `-m` を渡すと、現在の git commit のハッシュ (git リポジトリ外ではランダムな識別子) をもとにタグが自動生成されます。 ```bash npx gt translate -m "Weekly translation update" ``` タグ付けはブロッキングではありません。タグの作成に失敗しても、翻訳処理は通常どおり続行されます。 ### CDN への配信 [#publishing-to-the-cdn] デフォルトでは、`gt translate` は翻訳ファイルをローカルのコードベースに保存します。`--publish` フラグを使うと、訳文を General Translation CDN にも公開できるため、ファイルをアプリにバンドルしなくても runtime で翻訳を読み込めるようになります。 ```bash npx gt translate --publish ``` これは、ローカルファイルではなく CDN から runtime に訳文を読み込む `gt-next` プロジェクトで役立ちます。 **CDN を有効にする必要があります:** `--publish` を使用する前に、[generaltranslation.com/dashboard](https://generaltranslation.com/dashboard) のプロジェクト設定で CDN を有効にしてください。CDN が有効になっていない場合、コマンド自体は正常に翻訳を完了しますが、警告が表示され、公開は失敗します。 `--publish` はローカルファイルへの出力と併用できます。訳文はローカルにも保存され、CDN にも公開されます。 ```bash npx gt translate --publish ``` ### 辞書ファイル `translate` コマンドは、プロジェクト内の辞書ファイルを自動的に検出します。 デフォルトでは、以下にある `dictionary.[json|ts|js]` という名前のファイルを探します。 * `./src` * `./` 別の辞書ファイルを指定するには、`--dictionary` フラグを使用するか、[`gt.config.json`](/docs/cli/reference/config) の `dictionary` プロパティを変更します。