# 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)を参照してください。