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 プラットフォームまたはプログラミング フレームワークの互換性のため?)