我在哪里可以找到语言+地区代码列表?

时间:2012-11-07 11:34:00

标签: unicode internationalization iso region

我用Google搜索(好吧,实际上是DuckDuckGo),直到我脸色发蓝,但找不到任何地方en-GBfr-CA类型的语言代码列表。

有很多关于组件的资源,特别是W3C I18n page,但我希望有一个简单的字母列表,如果可能的话,这是相当规范的(类似this one)。找不到。

有人能指出我正确的方向吗?非常感谢!

8 个答案:

答案 0 :(得分:44)

有几种语言代码系统和几种区域代码系统,以及它们的组合。当您参考W3C页面时,我认为您指的是BCP 47中定义的系统。在诸如en-GB和fr-CA之类的代码简单地组合语言代码和区域代码的意义上,该系统是正交的。这意味着大量可能的组合,其中大部分都没有意义,比如ab-AX,这意味着Åland的阿布哈兹语(我认为没有人,更不用说任何社区,在那里说阿布哈兹语,尽管从理论上说当然可能。)

因此,任何语言区域组合列表都只是一个实用的组合列表,这些组合在某种意义上很重要,或者某些特殊意义上的某些软件支持。

您找到的规范定义了一般原则以及不同“子标签”(如主要语言代码和区域代码)的权威来源。对于最重要的部分,官方注册机构维护语言three- and two-letter ISO 639 codes,ISO站点包含区域two-letter ISO 3166 codes。这些列表非常易读,我认为没有理由考虑使用除这些主要资源之外的其他资源,特别是有关可能的更改。

答案 1 :(得分:8)

这里有两个组成部分:

  1. 语言标记,通常由ISO 639-1 alpha-2
  2. 定义
  3. 区域标记,通常由ISO 3166-1 alpha-2
  4. 定义

    您可以根据自己的意义混合搭配语言和区域,这样就没有所有可能性的列表。

    顺便说一句,您实际上正在使用BCP47 tag,它定义了每个区域设置细分的标准。

答案 2 :(得分:7)

Unicode维护这样一个列表: http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/index.html 更好的是,您可以使用XML格式(理想的解析列表)以及每种语言使用的常用书写系统: http://unicode.org/repos/cldr/trunk/common/supplemental/supplementalData.xml (查看/ LanguageData)

答案 3 :(得分:2)

一种解决方案是解析此列表,它将为您提供创建所需列表所需的所有密钥。

http://www.iana.org/assignments/language-subtag-registry/language-subtag-registry

答案 4 :(得分:2)

我们有一个工作清单,我们为Localizejs的语言代码/语言名称引用而工作。希望有所帮助

List of Language Codes in YAML or JSON?

答案 5 :(得分:2)

答案 6 :(得分:2)

这可以在 Unicode's Common Locale Data Repository 找到。具体来说,此信息的 JSON file 可在他们的 cldr-json repo

答案 7 :(得分:0)

主要语言子标签的列表,以及每种语言的公共区域子标签(基于每个区域的讲语言的人群):

https://www.unicode.org/cldr/charts/latest/supplemental/language_territory_information.html

例如,对于English

  • 美国(320,000,000)
  • en-IN(250,000,000)
  • zh-NG(110,000,000)
  • zh-PK(100,000,000)
  • en-PH(68,000,000)
  • zh-CN(64,000,000)

Jukka K. Korpelatigrish很好地解释了为什么任何语言+地区代码组合是有效的,但是列出以下内容可能会有所帮助s-f的链接具有按区域分类的有用信息,因此按语言对这些信息进行分类也可能会有所帮助。)