跳转到主要内容

关于langcodes模块使用的语言的数据补充

项目描述

language_data:langcodes的补充

此包不打算单独使用。请参阅 langcodes 的文档。

language_data 是langcodes模块的补充,用于处理人类语言的标准化代码。它存储有关语言的更多冗长且难以索引的数据,特别是它们在各种语言中的名称。

例如,此存储的数据告诉您代码 "en" 在英语中意味着 "English",或者 "francés" 是西班牙语(es)中法语(fr)的名称。

用于处理这些数据的函数和测试案例在 langcodes 中,因为正确处理数据需要解析语言代码。

数据

此包包含的数据包括

  • 各种语言在各种语言中的名称
  • 讲每种语言的估计人口数量
  • 估计使用每种语言的写作人口

这些数据全部来自 Unicode CLDR 数据包,版本 40,以及一些额外的语言名称,用于填补 CLDR 中的空白。

注意事项

  • "写作人口"的估计通常过高,如CLDR 关于领土数据的文档中所述。在大多数情况下,它们来自关于那些语言使用地区识字率已发布的资料。这并没有考虑到世界上许多识字的人说一种通常不书写、用不同的语言书写的语言。

  • 中文书写系统消除了大多数(但不是全部)口语汉语之间的区别。您将看到粤语、普通话、吴语等语言的独立写作人口估计,尽管您可能认为这些在书写时都应该是zh

  • CLDR 没有手语语言的人口数据。手语语言最终得到的是speaking_population()writing_population()为0,我认为这是字面上的真实情况,但没有数据可以从其中提供signing_population()方法。

依赖关系

language_data依赖于marisa-trie包,以便能够加载用于查找语言名称的紧凑、高效的数据结构。

安装

language_data通常作为langcodes的依赖项安装,没有它就没有太多意义。但是,如果您愿意,也可以使用pip install language_data

要在可编辑模式下安装language_data包,请运行包根目录中的poetry install。(这相当于pip install -e .,希望它很快就能通过PEP 660再次兼容。)

更新 CLDR 数据

  • 确保子模块是最新的:git submodule update --init
  • https://cldr.unicode.org/index/downloads/下载 CLDR 数据
  • 解压缩并将supplemental/languageInfo.xmlsupplemental/supplementalData.xml复制到language_data/data
  • cd language_data && ../.venv/bin/python build_data.py

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

language_data-1.2.0.tar.gz (5.1 MB 查看哈希值)

上传时间: 源代码

构建分发

language_data-1.2.0-py3-none-any.whl (5.4 MB 查看哈希值)

上传时间: Python 3

由以下支持

AWSAWS云计算和安全赞助商DatadogDatadog监控FastlyFastlyCDNGoogleGoogle下载分析MicrosoftMicrosoftPSF赞助商PingdomPingdom监控SentrySentry错误日志StatusPageStatusPage状态页面