语言代码(bcp47)解析器和验证器。同时公开IANA语言代码数据库
项目描述
python-bcp47
bcp47语言代码的验证解析器
数据来自IANA http://www.iana.org/assignments/language-subtag-registry/language-subtag-registry
bcp47规范 https://tools.ietf.org/html/bcp47
阅读材料: https://www.w3.org/International/articles/language-tags/index.en
目前不支持extension
和private-use
标签类型
Python示例
您可以从bcp47
对象的dict
中读取languages
、extlangs
、scripts
、variants
、regions
、grandfathereds
和redundants
语言标签部分。
它们返回包含IANA数据库信息的OrderedDicts
>>> from bcp47 import bcp47
>>> list(bcp47["languages"].items())[:2]
[('aa', {'Subtag': 'aa', 'Description': ['Afar'], 'Added': '2005-10-16'}), ('ab', {'Subtag': 'ab', 'Description': ['Abkhazian'], 'Added': '2005-10-16', 'Suppress-Script': 'Cyrl'})]
>>> list(bcp47["regions"].items())[:2]
[('AA', {'Subtag': 'AA', 'Description': ['Private use'], 'Added': '2005-10-16'}), ('AC', {'Subtag': 'AC', 'Description': ['Ascension Island'], 'Added': '2009-07-29'})]
`
您可以通过以下方式创建语言代码标签
>>> tag = bcp47(language="en", region="GB")
>>> tag
<bcp47.code.BCP47Code 'en-GB' />
>>> tag.language
'en'
>>> tag.region
'GB'
>>> str(tag)
'en-GB'
您也可以传递一个string
或list
的args
来创建标签
>>> bcp47("en-GB")
<bcp47.code.BCP47Code 'en-GB' />
>>> bcp47("en", "GB")
<bcp47.code.BCP47Code 'en-GB' />
使用无效或不认识的参数创建标签会引发BCP47Exception
>>> tag = bcp47(language="NOTALANGUAGE", region="GB")
Traceback (most recent call last):
...
BCP47Exception: Language 'NOTALANGUAGE' not recognized
>>> tag = bcp47("en-NOTAREGION")
Traceback (most recent call last):
...
BCP47Exception: Unrecognized tag part 'NOTAREGION'
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于 安装软件包 的信息。
源分发
python-bcp47-0.0.4.tar.gz (103.0 kB 查看哈希值)
构建分发
python_bcp47-0.0.4-py3-none-any.whl (107.1 kB 查看哈希值)
关闭
python-bcp47-0.0.4.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 256e618742d85130a2a25db568a9fe6edd8a2d5c9460f38ff9b678f27264a15b |
|
MD5 | 168c93f2955b6f880474becb3ccd9a1b |
|
BLAKE2b-256 | 75ee50b8fcd9d7577311f9ce9632e59442d435fdb26e39c6569b3d6a8a17bb88 |
关闭
python_bcp47-0.0.4-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c381759702aacd0adf352b004786924028ab8b071a8aeb13756787ce3a8ed477 |
|
MD5 | e2e32843ef41d89c154a7c2bd7707e59 |
|
BLAKE2b-256 | 6a024635f9e0570868f7f1452c5a97c7cc3328b1cea3d6baac6436c0c5212f60 |