按母语人士的数量寻找一个好的ISO语言标签列表

Looking for a good ISO language tag list by number of native speakers

本文关键字:一个 ISO 标签 语言 列表 母语 寻找      更新时间:2023-09-26

我正在寻找一个包含相应语言的语言代码和语言名称的文件。如果列表按母语人士的数量排序,那就太好了。

我想要类似以下列表的东西,但更大并下载

{ "cmn" :  ["Chinese", "官话"],
 "es" :["Spanish", "español"],
 "en": ["English", "English"],
 ... 
"ru": ["Russian", "Русский"] }
我不知道

你想要的东西是否随时可用。您可能需要自己创建它,从最大的语言开始,然后逐渐转向较小的语言。

这个问题带来了几个困难:

  • 世界上有6000-7000种语言,但并非所有语言都有语言标签。
  • 对发言者人数的估计总是有些过时,但有些估计比其他估计更过时。在咨询维基百科以创建我的语言标签列表时,估计日期在 1990 年代初到 2010 年之间。因此,这些数字并不完全可比。
  • 对较小语言和没有官方地位的语言的估计通常非常粗略,有时甚至不存在。
  • 一些语言标签,特别是在ISO 639-3中,是"包容性代码",即它们识别语言组(例如中文)而不是单个语言。
  • 对于某些语言,区分不同国家/地区使用的变体有时很有用,例如,当您想区分比利时荷兰语或荷兰语与荷兰语的语音合成时。

您最初需要的只是ISO 639-1语言标签(两个字母的代码)列表,因为最大的语言都在那里表示。对于较小的标签,您最终将需要ISO 639-3标签(三个字母的代码)。IETF BCP 47 建议您使用可用于特定语言的最短代码。(因此,在您的示例中,中文的"cmn"将被替换为"zh","zh-CN","zh-TW"或其他内容,具体取决于您想要的具体程度。

无论如何,我现在在我的一个 GitHub 存储库中有一个包含 400 多种语言的 JSON 文件。请参阅 http://cstrobbe.gitlab.io/languagelearning/misc/languagetags.json。

PS:有关按字母顺序排列的 ISO 639-1 标签的 JSON 列表,请参阅 GitHub 上的语言.js。这些标签不按相应语言的母语人士数量排序。(ISO 639-3 涵盖的许多语言不在 ISO 639-1 中。

我将解决"母语人士的数量"部分:

  • 到目前为止,最简单的选择似乎是为SIL International在Ethnologue上发布的数据付费,因为它们是每个人都引用的参考。
  • Unicode 发布通用语言环境数据存储库或 CLDR。其补充数据部分包含有关领土和语言的信息,包括人口。请参阅补充数据.xml。

另一种选择是抓取数据:

  • SIL 维护有关特定语言(例如南非荷兰语的 https://iso639-3.sil.org/code/afr)的 ISO 639-3 URL 列表,这些 URL 指向有关该语言的资源。特别是,他们指向MultiTree和维基百科页面,这些页面对说话者的数量进行了估计(同样,这些数字来自Ethnologue/SIL)。因此,您可以编写一个刮板来获取所需的内容。

(任何与语言有关的体面资源都将提供ISO 639语言代码,作为查找的基础。

另一种选择可能是回答一个稍微不同的问题,例如:每种语言的互联网用户数量,或信用卡用户等,具体取决于您的目标。