关于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.xml
和supplemental/supplementalData.xml
复制到language_data/data
cd language_data && ../.venv/bin/python build_data.py
项目详情
language_data-1.2.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 82a86050bbd677bfde87d97885b17566cfe75dad3ac4f5ce44b52c28f752e773 |
|
MD5 | 5c7f62da4b7240d71a47e798342c80ca |
|
BLAKE2b-256 | ad53d3657025d32bfacc832769ab3c925f8f4ad2165cd2c8467c2446b21400d1 |