web-dev-qa-db-ja.com

「zh-Hans」形式の言語コードはどの標準に属していますか?

REST APIを通じて、次の形式の言語コードを受け取ります:ll-Xxxx

  • 2つの小文字の言語( ISO 639-1 のように見えます)、
  • ダッシュ、
  • 大文字で始まる4文字までのコード(ISO 639-3 マクロ言語コード のように見えます)。

いくつかの例:

az-Arab Azerbaijani in the Arabic script
az-Cyrl Azerbaijani in the Cyrillic script
az-Latn Azerbaijani in the Latin script

sr-Cyrl Serbian in the Cyrillic script
sr-Latn Serbian in the Latin script

uz-Cyrl Uzbek in the Cyrillic script
uz-Latn Uzbek in the Latin script

zh-Hans Chinese in the simplified script
zh-Hant Chinese in the traditional script

私がオンラインで見つけたものから:

[ISO 639-1]は、ISO 639シリーズの言語コードの国際規格の最初の部分です。パート1では、2文字コードの登録について説明します。

そして

ISO 639-3は、言語コードの国際標準です。一部の言語コードの定義では、一部はマクロ言語として定義されています[...]

次に、有効な言語コードを受け取ったことを確認するコードを記述する必要があります。
しかし、受け取ったものは639-1(2文字の言語)と639-3(マクロ言語)の混合なので、どの標準を使用するべきですか?これらのコードは、ある種の混合された(おそらく一般的な)標準に属していますか?

18
Anto

言語を識別するための現在のリファレンスは IETF BCP 47 であり、IETF RFC 5646とRFC 4647を組み合わせています。

ll-Xxxx形式のコードは、ISO 639-1 言語コード(2文字)と ISO 15924スクリプトコード(4文字)。 BCP 47では、言語コードは小文字で記述し、スクリプトコードは「小文字の頭文字を大文字にして」記述することを推奨していますが、これは基本的に読みやすくするためです。

BCP 47は、言語コードを利用可能な最も短いISO 639タグにすることも推奨しています。したがって、言語が ISO 639-1 (2文字)と ISO 639- (3文字)の両方で表されている場合は、ISO 639-1を使用する必要があります。

4

以下 RFC-5646 (4ページ)言語タグは次の形式で記述できます:[language]-[script]

10
Julien