# gt: General Translation CLI tool: PO / POT
URL: https://generaltranslation.com/ja/docs/cli/formats/po.mdx
---
title: PO / POT
description: General Translationで PO/POT ファイルを自動翻訳する方法
---
## 概要
`gt` を使うと、プロジェクトの [PO (Portable Object)](https://www.gnu.org/software/gettext/manual/html_node/PO-Files.html) ファイルと POT (PO Template) ファイルを自動で翻訳できます。これらは [GNU gettext](https://www.gnu.org/software/gettext/) で使われる標準的なファイル形式で、GNU gettext は最も古く、広く採用されている国際化システムの 1 つです。
POT ファイルにはコードから抽出されたソース文字列が含まれ、PO ファイルには特定のロケール向けの訳文が含まれます。
次の 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` ファイルを作成する
プロジェクトの root に `gt.config.json` ファイルを作成します。
```json title="gt.config.json"
{
"defaultLocale": "en",
"locales": ["zh", "es", "ja"],
"files": {
"pot": {
"include": ["locales/[locale]/*.pot"],
"transformationFormat": "PO"
}
}
}
```
必要に応じて `gt.config.json` ファイルを自由にカスタマイズしてください。詳しくは [設定](/docs/cli/reference/config) docs を参照してください。
`include` パスがプロジェクト構成に合うように、`pot` ファイル形式を更新してください。
`transformationFormat` オプションを使うと、`gt` は翻訳済みファイルを `.pot` ファイルではなく `.po` ファイルとして出力します。これが標準的なワークフローです。POT ファイルはソース template であり、PO ファイルには各ロケールの実際の訳文が含まれます。
**注:** 訳文では元の PO/POT の文字列構文が保持されます。
## ステップ 4: build プロセスに `gt translate` コマンドを追加する
翻訳をプロジェクトに自動で追加するには、build コマンドの前に `gt translate` コマンドを build または CI のプロセスに追加します。
```json title="package.json"
{
"scripts": {
"translate": "npx gt translate",
"build": "npm run translate && "
}
}
```
これにより、すべてのロケール向けの訳文が生成され、プロジェクトに保存されます。
これらのファイルをリポジトリにコミットしたい場合は、コミットする前に、代わりにこのコマンドを実行してください。
これで完了です。今後は、プロジェクトに変更があるたびに、翻訳用の PO/POT ファイルがすべて自動的に更新されます。
***
## 注記
* [`gt translate`](/docs/cli/translate#translate) コマンドを使うと、翻訳をプロジェクトに自動で追加できます。
* 翻訳ファイルをコミットする場合は、コミット前に `gt translate` コマンドを実行してください。
* 翻訳の出力パスを設定するには、[設定](/docs/cli/reference/config)ドキュメントを参照してください。
* `gt.config.json` の設定キーとして、`pot` と `POT` はどちらも使用できます。
## 次のステップ
* CLI の使用方法の詳細は、[translate コマンド](/docs/cli/translate)を参照してください。
* 各キーごとの翻訳指示については、[キーごとのメタデータ](/docs/cli/reference/keyed-metadata)を参照してください。