Skip to main content

一个简单的包来帮助对非英文名称进行排序。

项目描述

一个简单的包来帮助对非英文名称进行排序。

  • 免费软件: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 查看哈希)

已上传 source

内置分布

anglicize-0.0.3-py2.py3-none-any.whl (4.4 kB 查看哈希

已上传 py2 py3