一个简单的包来帮助对非英文名称进行排序。
项目描述
一个简单的包来帮助对非英文名称进行排序。
免费软件:BSD 2-Clause License
安装
pip install anglicize
您还可以使用以下方法安装开发中版本:
pip install https://github.com/rciorba/python-anglicize/archive/master.zip
文档
这个库提供了一个函数,它接受一个字符串并替换字符。
要使用:
# call the function directly:
anglicize("Łukasz") == "Lukasz"
# or use it to sort a list:
sorted(["Ana", "Łukasz", "Zack"], key=anglicize) == ["Ana", "Łukasz", "Zack"]
# there we go, that's much better than this:
sorted(["Ana", "Łukasz", "Zack"]) == ["Ana", "Zack", "Łukasz"]
基本原理
该库的目的是帮助您对以拉丁字母书写的非英语名称进行排序。
不同的语言有非常不同的排序规则,例如Ö在芬兰语中位于Z之后,但在匈牙利语中位于O之后。这里采用的方法是将视觉上相似的字母视为相同,所以基本上ÖÔÓÒṌṎ(和其他)都应该变成O。
处理与 AZ 几乎没有相似之处的字母
德语 ß 是这里的主要问题。我选择像 S 一样处理它,主要是因为它与 B 足够不同(视觉上最相似),并且因为它被大多数欧洲人称为 S 的版本。
涵盖的语言
阿尔巴尼亚语
阿塞拜疆
波斯尼亚语
保加利亚语音译
克罗地亚语
荷兰语
爱沙尼亚语
芬兰
法语
加告兹
德语
匈牙利
冰岛的
拉脱维亚语
立陶宛语
卢森堡语
黑山共和国
挪威
抛光
葡萄牙语
罗马尼亚语
塞尔维亚
西班牙语
瑞典
鞑靼人
土耳其
土库曼
贡献
您是否知道一种用拉丁字母书写的语言并想检查它是否被正确处理?看看tests/test_anglicize.py。如果该语言存在,请检查所有“特殊”字母是否已处理。这个列表大部分是从维基百科编译的,所以听到错误我不会感到惊讶:)
您可以进行更改并提交 PR,也可以创建一个问题提及 - 语言 - 需要处理的字符
发展
要为所有 Python 环境运行测试,请运行:
tox
变更日志
0.0.3 (2020-03-08)
修复基本原理示例。
0.0.2 (2020-03-08)
修复自述文件示例。
0.0.1 (2020-03-07)
PyPI 上的第一个版本。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
anglicize-0.0.3.tar.gz
(9.0 kB
查看哈希)
内置分布
anglicize-0.0.3-py2.py3-none-any.whl
(4.4 kB
查看哈希)