3

ISO639-1 で標準化された 2 文字の言語コードに対応する「en-US」という略語をよく目にします。また、 https: //www.rfc-editor.org/rfc/rfc5646 で説明されているように、言語タグの形式は通常、主要言語 (サブタグ) コードとそれに続くダッシュで区切られた一連の他のサブタグで構成されることも理解しています。

そのリンクには、ISO639-2、ISO639-3、および ISO639-5 で定義されている 3 文字の言語コードもあることが記載されています。

それでも、Windows/.NET 用に定義されたコードがさらにあります: http://msdn.microsoft.com/en-us/goglobal/bb896001.aspx。これらは言語タグを「カルチャ名」と呼び、「言語名」に個別の 3 文字のコードを使用します。したがって、「カルチャ名」は 2 文字の言語コードのように見えますが、Windows のバージョン間で異なる理由や、標準の言語コードにどれだけ準拠しているかはわかりません。「en-US」は本当に「言語コード」ですか、それとも「カルチャ名」ですか?

言語コードを使用するソフトウェアを開発している場合、どの標準を使用すればよいですか? (2文字コードか3文字コードか? 3文字ならISO639-2か3か5か?)

どちらか一方を選択する必要があるのはなぜですか? (OS プラットフォームまたはプログラミング フレームワークの互換性のため?)

4

1 に答える 1

3

Bcp47は、言語を識別するための業界のベスト プラクティス標準です。これらの言語タグを使用する必要があります。Bcp47 では、2 文字または 3 文字のタグを使用して言語を識別できる場合は、2 文字のタグを使用する必要があると規定されています。

カルチャとロケールは、地域情報をどのように理解するかという点で、言語タグとは異なります。言語タグの地域情報は、特定の方言の起源を識別します (en-US はアメリカ英語または米国で生まれたさまざまな英語です)。ロケールの地域情報は、情報が関連する場所を識別します。アメリカ英語話者の大部分はアメリカにも住んでいるため、単語の綴りや日付や数字の形式などの情報を提供する場合、この区別はあまり重要ではありません。

Windows は、ロケールまたは文化の概念から離れて、言語と地域 (個別に識別) のより表現力豊かな概念に移行しています。これにより、イギリスに住むアメリカ英語の話者などの状況を識別することができます。

Windows では、この標準よりも前の従来の名前を引き続き使用している場合があり、OS への依存度によっては、標準に準拠した名前と従来の名前をマッピングする必要がある場合があることに注意してください。

于 2013-01-17T19:11:17.203 に答える