跳转到主要内容

符合ISO 639标准的Python库

项目描述

状态

master development downloads/month latest version gh forks gh stars

许可证

GNU Affero通用公共许可证版本3 (AGPLv3)

支持

  • ISO 639-1

  • ISO 639-2

  • ISO 639-3

  • ISO 639-5

破坏性变更

  • 0.4.4: retired 已更改为 { ‘code’: (datetime, [_Language, …], ‘description’) }.

  • 0.4.0: alpha3 已重命名为 part3. languages.alpha3 可能会在未来用作所有“三字母代码”的聚合。

兼容性

这个库旨在与 pycountry.languages v1.11及之前版本完全兼容。在v1.12中,它们破坏了自己的API,这个库将 不支持 新的API。

它提供了以下属性抽象

  • terminology -> part2t

  • 参考文献 -> 第2部分b

  • alpha2 -> 第1部分

如果您没有使用 pycountry.languages 的意图,或者需要保持兼容性,请使用 partX 属性以提高简洁性和清晰度。

用法

根据 pycountry.languages v1.11 文档改编,并增加了修改和进一步的内容。

>>> from iso639 import languages
>>> from pprint import pprint

>>> len(languages)
7981

>>> type(list(languages)[0])
<class 'iso639.iso639._Language'>

# Compatibility
>>> aragonese = languages.get(alpha2='an')
>>> aragonese.alpha2
'an'
>>> aragonese.bibliographic
'arg'
>>> aragonese.terminology
'arg'
>>> aragonese.name
'Aragonese'

>>> bengali = languages.get(alpha2='bn')
>>> bengali.name
'Bengali'

# We *do not* deviate from the standard
>>> try:
...     bengali.common_name
... except AttributeError as e:
...     print(e)
'_Language' object has no attribute 'common_name'

# New API
>>> aragonese = languages.get(part1='an')
>>> aragonese.part1
'an'
>>> aragonese.part2b
'arg'
>>> aragonese.part2t
'arg'
>>> aragonese.part3
'arg'
>>> aragonese.name
'Aragonese'
>>> aragonese.inverted
'Aragonese'
>>> pprint(vars(aragonese))
{'inverted': 'Aragonese',
 'macro': '',
 'name': 'Aragonese',
 'names': [],
 'part1': 'an',
 'part2b': 'arg',
 'part2t': 'arg',
 'part3': 'arg',
 'part5': ''}
 >>> sanapana = languages.get(retired='sap')
 >>> [type(elem).__name__ for elem in sanapana]
 ['datetime', 'list', 'str']
 >>> [lang.part3 for lang in sanapana[1]]
 ['spn', 'aqt']

包含外部数据

项目详情


下载文件

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

源分发

iso-639-0.4.5.tar.gz (167.4 kB 查看哈希值)

上传时间

由以下提供支持