“zh-Hans”形式的语言代码属于什么标准?

时间:2013-09-19 18:14:05

标签: internationalization iso

通过应用程序的REST API,我收到以下格式的语言代码:ll-Xxxx

  • 两个小写字母语言(看起来像ISO 639-1),
  • 短划线,
  • 一个代码最多四个字母,以大写字母开头(看起来像ISO 639-3 macrolanguage code)。

一些例子:

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部分介绍双字母代码的注册。

  

ISO 639-3 是语言代码的国际标准。在定义一些语言代码时,有些被定义为宏语言 [...]

现在我需要编写一段代码来验证我是否收到了有效的语言代码 但是,因为我收到的是639-1(2个字母语言)和639-3(宏语言)的混合,我应该遵循什么标准?这些代码是否属于某种混合(可能是常见的)标准?

2 个答案:

答案 0 :(得分:10)

关注RFC-5646(第4页),可以使用以下格式编写语言标记: [语言] - [脚本]

答案 1 :(得分:3)

目前用于识别语言的参考是IETF BCP 47,它结合了IETF RFC 5646和RFC 4647.

ll-Xxxx形式的代码组合了ISO 639-1 语言代码(两个字母)和ISO 15924 脚本代码(四个字母) )。 BCP 47建议使用小写字母编写语言代码,并将脚本代码写成"小写,首字母大写",但这基本上是为了便于阅读。

BCP 47还建议语言代码应该是最短的ISO 639标签。因此,如果语言以ISO 639-1(两个字母)和ISO 639-3(三个字母)表示,则应使用ISO 639-1。