通过应用程序的REST API,我收到以下格式的语言代码:ll-Xxxx
。
一些例子:
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(宏语言)的混合,我应该遵循什么标准?这些代码是否属于某种混合(可能是常见的)标准?
答案 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。