【问题标题】:What standard do language codes of the form "zh-Hans" belong to?“zh-Hans”形式的语言代码属于什么标准?
【发布时间】:2013-09-24 23:22:55
【问题描述】:

通过应用程序的 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(宏语言)的混合,我应该坚持什么标准?这些代码是否属于某种混合(可能是常见的)标准?

【问题讨论】:

    标签: internationalization iso


    【解决方案1】:

    当前用于识别语言的参考是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。

    【讨论】:

      【解决方案2】:

      RFC-5646(第 4 页)之后,可以使用以下形式编写语言标签:[语言]-[脚本]

      【讨论】:

        猜你喜欢
        • 2016-06-25
        • 2018-03-14
        • 2021-06-05
        • 2016-07-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多