我经常看到缩写“en-US”,它对应于 ISO639-1 中标准化的 2 字符语言代码。我也了解语言标签的格式通常由一个主要语言(子标签)代码组成,然后是一系列用破折号分隔的其他子标签,如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?)
为什么我要选择一个而不是另一个?(对于操作系统平台或编程框架的兼容性?)