サポートされているロケール

Lingo.dev CLIは、言語識別のための国際標準に従ったロケールコードをサポートしています。i18n.json設定では、シンプルな言語コード、地域バリアント、およびプラットフォーム固有のフォーマットを使用できます。

CLIは、さまざまなプロジェクト要件とプラットフォーム規約に対応するために、複数のフォーマットのロケールコードを受け入れます。

ロケールコードのフォーマット

Lingo.dev CLIはいくつかのロケールコードフォーマットをサポートしています:

シンプルな言語コード(ISO 639-1):

{
  "locale": {
    "source": "en",
    "targets": ["es", "fr", "de", "ja", "zh"]
  }
}

地域バリアント(BCP 47):

{
  "locale": {
    "source": "en-US",
    "targets": ["en-GB", "es-ES", "es-419", "fr-FR", "fr-CA"]
  }
}

プラットフォーム固有のフォーマット:

{
  "locale": {
    "source": "en",
    "targets": ["en-rUS", "es-rES", "pt-rBR"]
  }
}

サポートされているロケールの確認

利用可能なすべてのロケールコードを確認するには、以下のCLIコマンドを使用してください:

サポートされているソース言語の一覧表示:

npx lingo.dev@latest show locale sources

サポートされているターゲット言語の一覧表示:

npx lingo.dev@latest show locale targets

これらのコマンドは、設定で使用できるロケールコードの完全なリストを表示します。

一般的なロケールの例

主要言語:

  • en - 英語
  • es - スペイン語
  • fr - フランス語
  • de - ドイツ語
  • ja - 日本語
  • zh - 中国語
  • ko - 韓国語
  • pt - ポルトガル語
  • it - イタリア語
  • ru - ロシア語

地域バリアント:

  • en-US - 英語(アメリカ合衆国)
  • en-GB - 英語(イギリス)
  • es-ES - スペイン語(スペイン)
  • es-419 - スペイン語(ラテンアメリカ)
  • fr-FR - フランス語(フランス)
  • fr-CA - フランス語(カナダ)
  • zh-CN - 中国語(簡体字)
  • zh-TW - 中国語(繁体字)

地域バリアント

地域バリアントを使用すると、同じ言語内の文化的・言語的な違いを考慮したローカライズコンテンツで特定の市場をターゲットにすることができます。

設定例:

{
  "locale": {
    "source": "en-US",
    "targets": ["en-GB", "es-ES", "es-419", "pt-BR", "pt-PT"]
  }
}

生成されるファイル構造:

locales/
  en-US.json    (ソース)
  en-GB.json    (イギリス英語)
  es-ES.json    (スペイン・スペイン語)
  es-419.json   (ラテンアメリカ・スペイン語)
  pt-BR.json    (ブラジル・ポルトガル語)
  pt-PT.json    (ヨーロッパ・ポルトガル語)

各地域バリアントは、その特定の市場の用語と文化的コンテキストに最適化された翻訳を受け取ります。

**ラテンアメリカ・スペイン語(es-419)**は、個々の国に特化するのではなく、地域全体で機能する用語や表現を使用して、ラテンアメリカのスペイン語圏の国々をカバーします。

プラットフォーム固有のフォーマット

一部のプラットフォームでは、異なるロケールコード規則が使用されています。Lingo.dev CLIはこれらのフォーマットをサポートしています:

Androidリソースディレクトリ:

{
  "locale": {
    "source": "en",
    "targets": ["es-rES", "pt-rBR", "zh-rCN"]
  },
  "buckets": {
    "android": {
      "include": ["android/values-[locale]/strings.xml"]
    }
  }
}

iOS Localizable.strings:

{
  "locale": {
    "source": "en",
    "targets": ["es", "pt-BR", "zh-Hans"]
  },
  "buckets": {
    "xcode-strings": {
      "include": ["ios/[locale].lproj/Localizable.strings"]
    }
  }
}

スクリプトバリアント

複数の表記体系を持つ言語には、スクリプトコードを使用します:

  • zh-Hans - 中国語(簡体字)
  • zh-Hant - 中国語(繁体字)
  • sr-Cyrl - セルビア語(キリル文字)
  • sr-Latn - セルビア語(ラテン文字)

設定例:

{
  "locale": {
    "source": "en",
    "targets": ["zh-Hans", "zh-Hant", "sr-Cyrl", "sr-Latn"]
  }
}

新しいロケールの追加

Lingo.dev CLIは現在80以上のロケールをサポートしており、コミュニティからのリクエストに応じて迅速に新しいロケールのサポートを追加しています。

必要なロケールコードがサポートされていない場合は、Lingo.dev CLIリポジトリで課題を開いてリクエストすることができます。ほとんどのリクエストは数日以内に実装されリリースされます。