也许你已经在使用它了;但你可以使用transliterate 包。
使用 pip 进行基本安装:
pip install transliterate
然后是代码
# coding: utf-8
from transliterate import translit
print translit(u"юу со беутифул", 'ru', reversed=True) # juu so beutiful
自定义类
正如@Schmuddi 建议的那样,您可以创建自己的自定义类来处理德语特殊字符(尽管仅适用于 python 3.X)。
pip3 install transliterate
然后是代码:
# coding: utf-8
from transliterate import translit
from transliterate.base import TranslitLanguagePack, registry
class GermanLanguagePack(TranslitLanguagePack):
language_code = "de"
language_name = "Deutsch"
pre_processor_mapping = {
u"ß": u"ss",
}
mapping = (
u"ÄÖÜäöü",
u"AOUaou",
)
registry.register(GermanLanguagePack)
print(translit(u"Die größten Katzenrassen der Welt", "de"))
#Die grossten Katzenrassen der Welt
奖金,法国人:
class FrenchLanguagePack(TranslitLanguagePack):
language_code = "fr"
language_name = "French"
pre_processor_mapping = {
u"œ": u"oe",
u"Œ": u"oe",
u"æ": u"ae",
u"Æ": "AE"
}
mapping = (
u"àâçéèêëïîôùûüÿÀÂÇÉÈÊËÏÎÔÙÛÜŸ",
u"aaceeeeiiouuuyAACEEEEIIOUUUY"
)
registry.register(FrenchLanguagePack)
print(translit(u"Avec Éloïse, ils président à l'assemblée", 'fr'))
#Avec Eloise, ils president a l'assemblee
其他可能的解决方案
由于 transliterate 不涵盖德语(还没有?),您可以使用另一个包直接翻译句子:py-translate 但它使用谷歌翻译,因此您确实需要互联网连接。
使用 pip 进行基本安装:
pip install py-translate
然后你的代码:
# coding: utf-8
from translate import translator
print translator('ru', 'en', u"юу со беутифул")
print translator('de', 'en', u"Die größten Katzenrassen der Welt")