ロケール

更新日:先月 · 読了目安 1分

CLIは、.lingo/config.json で設定した1つのソースロケールから、1つ以上のターゲットロケールへ翻訳します。

json
{
  "sourceLocale": "en",
  "targetLocales": ["de", "fr", "es", "ja"]
}

ソースファイルは読み取りのみで、書き込まれることはありません。各ターゲットロケールごとに個別の出力が生成され、ファイルパターン内のロケールコードが置き換えられます(content/en/app.jsoncontent/de/app.json)。詳しくは設定をご覧ください。

ロケールコード#

標準のBCP 47タグを使用します。言語コードだけの形式(de)でも、言語-地域タグ(de-CH)でも使えます。CLIは固定の一覧を持たず、targetLocales は任意のタグを受け付けて、そのままエンジンに渡します。実際にどのロケールが翻訳されるか、またどこまで高品質に対応できるかは、CLIの制限ではなく、エンジンのモデル対応範囲によって決まります。

よくある例:

言語コード
英語en(または en-USen-GB
スペイン語es(または es-ESes-419es-MX
フランス語fr(または fr-FRfr-CA
ドイツ語de(または de-CHde-AT
ポルトガル語pt-BRpt-PT
中国語zh-Hanszh-Hant
日本語ja
韓国語ko

地域バリエーション#

方言の違いが重要なら、地域も指定してください。エンジンがそのロケールに合ったスペルや語彙で出力します。

json
{
  "sourceLocale": "en-US",
  "targetLocales": ["en-GB", "es-ES", "es-419", "pt-BR", "pt-PT", "fr-CA"]
}

en-USen-GB では「color」が「colour」に変わり、es-ESes-419 では「ordenador」が「computadora」に置き換わります。こうした違いの質を左右するのはCLIではなく、エンジンのブランドボイスとルールです。

右から左に書く言語#

RTLロケール(アラビア語 ar、ヘブライ語 he、ペルシア語 fa、ウルドゥー語 ur)も、ほかの言語と同じように翻訳できます。アプリ内での文字方向の制御はレンダラー側の役割で、CLIが行うのは翻訳済みの文字列を出力することだけです。

ロケールの追加と削除#

必要な変更は targetLocales の編集だけです。新しく追加したロケールを反映するには、lingo push --backfill-missing を実行してください。詳しくはロケールの追加をご覧ください。不要になったロケールは設定から削除し、lingo purge --locale でファイルも削除します。