友情提示:本文共有 3280 个字,阅读大概需要 7 分钟。
大家对chrome的翻译功能惊艳不已,但离开chrome,能不能对电子文档来翻译一把。答案是,有!
先就介绍一款非常好的,可以用python调用的翻译库,而且核心就是基于google翻译的。质量非常棒。现在开始详细介绍:
Googletrans是一个免费且无限制的 python库,可实现Google Translate API。这使用Google Translate Ajax API来调用诸如detect和translate之类的方法。
功能
快速可靠 - 它使用translate.google.com使用的相同服务器自动语言检测批量翻译可自定义的服务URL连接池(使用requests.Session的优点)HTTP / 2支持
关于库使用的注意事项
单个文本的最大字符限制为15k。由于谷歌翻译的网页版本的限制,此API不保证库始终正常工作。(如果您不关心稳定性,请使用此库。)如果您想使用稳定的API,我强烈建议您使用 Google的官方翻译API。如果您收到HTTP 5xx错误或#6等错误,可能是因为Google已禁止您的客户端IP地址。
快速入门
您可以从PyPI安装它:
$ pip install googletrans
HTTP / 2支持
这很棒!(在我的测试中速度提高了2倍)如果你想更快地获得googletrans,你应该安装 超级软件包。Googletrans会自动检测是否安装了hyper,如果安装了hyper,它将用于http网络。
基本用法
如果未提供源语言,Google翻译会尝试检测源语言。
>>> from googletrans import Translator >>> translator = Translator() >>> translator.translate(".") #
自定义服务
您可以使用其他谷歌翻译域进行翻译。如果提供了多个URL,则随机选择一个域。
>>> from googletrans import Translator >>> translator = Translator(service_urls=[ "translate.google.com", "translate.google.co.kr", ])
高级用法(批量)
Array可用于在单个方法调用和单个HTTP会话中转换一批字符串。上面显示的完全相同的方法也适用于数组。
>>> translations = translator.translate(["The quick brown fox", "jumps over", "the lazy dog"], dest="ko") >>> for translation in translations: ... print(translation.origin, " -> ", translation.text) # The quick brown fox -> # jumps over -> # the lazy dog ->
语言检测
顾名思义,检测方法识别给定句子中使用的语言。
>>> translator.detect(" .") #
很棒吧,但是如何能知道程序中对应每种语言的国家代码呢?不要急,下面提供完整的国家语言对应编码:
googletrans.LANGUAGES
用于 支持 翻译语言。包括国家代码,如zh-CN或zh-TW。
LANGUAGES = { "af": "afrikaans", "sq": "albanian", "am": "amharic", "ar": "arabic", "hy": "armenian", "az": "azerbaijani", "eu": "basque", "be": "belarusian", "bn": "bengali", "bs": "bosnian", "bg": "bulgarian", "ca": "catalan", "ceb": "cebuano", "ny": "chichewa", "zh-cn": "chinese (simplified)", "zh-tw": "chinese (traditional)", "co": "corsican", "hr": "croatian", "cs": "czech", "da": "danish", "nl": "dutch", "en": "english", "eo": "esperanto", "et": "estonian", "tl": "filipino", "fi": "finnish", "fr": "french", "fy": "frisian", "gl": "galician", "ka": "georgian", "de": "german", "el": "greek", "gu": "gujarati", "ht": "haitian creole", "ha": "hausa", "haw": "hawaiian", "iw": "hebrew", "hi": "hindi", "hmn": "hmong", "hu": "hungarian", "is": "icelandic", "ig": "igbo", "id": "indonesian", "ga": "irish", "it": "italian", "ja": "japanese", "jw": "javanese", "kn": "kannada", "kk": "kazakh", "km": "khmer", "ko": "korean", "ku": "kurdish (kurmanji)", "ky": "kyrgyz", "lo": "lao", "la": "latin", "lv": "latvian", "lt": "lithuanian", "lb": "luxembourgish", "mk": "macedonian", "mg": "malagasy", "ms": "malay", "ml": "malayalam", "mt": "maltese", "mi": "maori", "mr": "marathi", "mn": "mongolian", "my": "myanmar (burmese)", "ne": "nepali", "no": "norwegian", "ps": "pashto", "fa": "persian", "pl": "polish", "pt": "portuguese", "pa": "punjabi", "ro": "romanian", "ru": "russian", "sm": "samoan", "gd": "scots gaelic", "sr": "serbian", "st": "sesotho", "sn": "shona", "sd": "sindhi", "si": "sinhala", "sk": "slovak", "sl": "slovenian", "so": "somali", "es": "spanish", "su": "sundanese", "sw": "swahili", "sv": "swedish", "tg": "tajik", "ta": "tamil", "te": "telugu", "th": "thai", "tr": "turkish", "uk": "ukrainian", "ur": "urdu", "uz": "uzbek", "vi": "vietnamese", "cy": "welsh", "xh": "xhosa", "yi": "yiddish", "yo": "yoruba", "zu": "zulu", "fil": "Filipino", "he": "Hebrew" } LANGCODES = dict(map(reversed, LANGUAGES.items()))
老铁们感觉满意,点赞或评论转发,一概欢迎。
本文如果对你有帮助,请点赞收藏《送你一个免费的python万国语言翻译器》,同时在此感谢原作者。