# gt: General Translation CLI tool: YAML URL: https://generaltranslation.com/ja/docs/cli/formats/yaml.mdx --- title: YAML description: General TranslationでYAMLファイルを自動翻訳する方法 --- ## 概要 `gt` を使うと、使用している i18n ライブラリに関係なく、プロジェクトの YAML ファイルを自動で翻訳できます。 **注:** 現在、以下のサードパーティ製 i18n ライブラリについては、カスタム文字列構文と書式設定に対応しています: `next-intl`, `i18next`。別の i18n ライブラリを使用している場合、カスタム構文や書式設定を含む文字列 (たとえば ICU メッセージ) では、翻訳結果が正確にならない可能性があります。お 使いのライブラリが見当たりませんか? [ぜひお知らせくだ さい](https://github.com/generaltranslation/gt/issues)。できるだけ早く対応します! 次の 4 つの手順で進めます。 環境変数を追加する [`gt`](/docs/cli) をインストールする `gt.config.json` ファイルを作成する [`gt translate`](/docs/cli/translate#translate) を実行する *** ## ステップ 1: 環境変数を設定する 本番用の API キーとプロジェクト ID を環境変数に設定します。 これは `gt` ツールを使用するために必要です。 これらの情報は [General Translation ダッシュボード](https://generaltranslation.com/dashboard) から取得できます。 ```bash title=".env" GT_API_KEY= GT_PROJECT_ID= ``` ## ステップ2: `gt` をインストールする プロジェクトに `gt` をインストールします。 ```bash npm i gt ``` ```bash yarn add --dev gt ``` ```bash bun add --dev gt ``` ```bash pnpm add --save-dev gt ``` ## ステップ3: `gt.config.json` ファイルを作成 プロジェクトのルートに `gt.config.json` ファイルを作成します。 ```json title="gt.config.json" { "defaultLocale": "en", "locales": ["zh", "es", "ja"], "files": { "yaml": { "include": ["i18n/[locale]/*.yaml"] } } } ``` 必要に応じて、`gt.config.json` ファイルをカスタマイズしてください。詳しくは、[configuration](/docs/cli/reference/config) ドキュメントを参照してください。 `yaml` ファイル内の `include` パスがプロジェクト構成に合うように更新してください。`.yaml` と `.yml` の両方の拡張子に対応しています。 翻訳では元の文字列構文が保持されます。 ## ステップ4: `gt translate` コマンドをビルドプロセスに追加する プロジェクトに翻訳を自動的に追加するには、ビルドコマンドの前に `gt translate` コマンドをビルドまたは CI のプロセスに追加します。 ```json title="package.json" { "scripts": { "translate": "npx gt translate", "build": "npm run translate && " } } ``` これにより、すべてのロケール向けの翻訳が生成され、プロジェクトに保存されます。 これらのファイルをリポジトリにコミットしたい場合は、代わりにコミット前に次のコマンドを実行できます。 これで完了です。今後は、プロジェクトに変更があるたびに、すべての翻訳 YAML ファイルが自動的に更新されます。 *** ## キーごとのメタデータ 対応する `.metadata.yaml` ファイルを使うと、各文字列にキー単位の翻訳指示を追加できます。これにより、ソースファイルを変更せずに、特定のキーに対してコンテキスト、文字数制限、ソースコード上の情報を指定できます。 ```yaml title="translations.yaml" nav: home: "Home" bank: "Bank" save: "Save" alerts: new_lead: "You have a new lead!" ``` ```yaml title="translations.metadata.yaml" nav: bank: context: "川岸 — 川の側面。金融機関ではない。" save: context: "スポーツ用語 — ゴールキーパーがゴールを防ぐこと。データの保存ではない。" maxChars: 12 alerts: new_lead: context: "営業/CRMの文脈。「lead」は見込み客のこと。" maxChars: 30 ``` すべてのキーにメタデータが必要なわけではありません。特定の翻訳指示が必要なキーについてのみ、エントリを追加してください。 サポートされているフィールドの一覧は、[キーごとのメタデータ リファレンス](/docs/cli/reference/keyed-metadata)を参照してください。 *** ## 注意事項 * [`gt translate`](/docs/cli/translate#translate) コマンドを使うと、翻訳をプロジェクトに自動で追加できます。 * 翻訳ファイルをコミットする場合は、コミット前に `gt translate` コマンドを実行してください。 * 翻訳の出力パスを設定するには、[configuration](/docs/cli/reference/config) のドキュメントを参照してください。 * `.yaml` と `.yml` の両方の拡張子に対応しています。 ## 次のステップ * CLI の使用方法の詳細については、[translate コマンド](/docs/cli/translate)を参照してください。 * 各キーの翻訳指示については、[キーごとのメタデータ](/docs/cli/reference/keyed-metadata)を参照してください。