zoukankan      html  css  js  c++  java
  • 谷歌翻译python Googletrans库

    googletrans 是一个免费的、可调用Google Translate API接口的python库。它借助Google Translate Ajax API接口来实现文本的检测和翻译。

    googletrans 的基本用法可以参考文档连接:http://py-googletrans.rtfd.io/

    API特性:

    • 快速可靠 - 它使用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('안녕하세요.')
    # <Translated src=ko dest=en text=Good evening. pronunciation=Good evening.>
    
    >>> translator.translate('안녕하세요.', dest='ja')
    # <Translated src=ko dest=ja text=こんにちは。 pronunciation=Kon'nichiwa.>
    
    >>> translator.translate('veritas lux mea', src='la')
    # <Translated src=la dest=en text=The truth is my light pronunciation=The truth is my light>

    自定义服务URL

    您可以使用其他谷歌翻译域进行翻译。 如果提供了多个URL,则随机选择一个域。

    >>> from googletrans import Translator
    >>> translator = Translator(service_urls=[
    'translate.google.com',
    'translate.google.co.kr',
    ])

    高级用法(批量)

    数组可用于在单个方法调用和单个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('이 문장은 한글로 쓰여졌습니다.')
    # <Detected lang=ko confidence=0.27041003>
    >>> translator.detect('この文章は日本語で書かれました。')
    # <Detected lang=ja confidence=0.64889508>
    >>> translator.detect('This sentence is written in English.')
    # <Detected lang=en confidence=0.22348526>
    >>> translator.detect('Tiu frazo estas skribita en Esperanto.')
    # <Detected lang=eo confidence=0.10538048>

     

    API导航

    googletrans.Translator
    class googletrans.Translator(service_urls=None, user_agent='Mozilla/5.0 (Windows NT 10.0; Win64; x64)', proxies=None, timeout=None)

          谷歌翻译ajax API实现类

          您必须创建一个Translator实例才能使用此API

    参数:

    • service_urls(一系列字符串) - 谷歌翻译网址列表。 网址将随机使用。 例如['translate.google.com','translate.google.co.kr']
    • user_agent(str) - 发出请求时要发送的User-Agent标头。
    • proxies(字典) - 代理配置。 字典映射协议或协议和主机到代理的URL例如{'http':'foo.bar:3128','http://host.name':'foo.bar:4012'}
    • 超时(数字或数字的两倍) - 请求库的超时定义。 将被每个请求使用。

    translate(text, dest='en', src='auto')

           将文本从源语言翻译为目标语言

    参数:

    • text(UTF-8 str; unicode;字符串序列(list,tuple,iterator,generator)) - 要翻译的源文本。 通过序列输入支持批量转换。
    • dest  - 将源文本转换为的语言。 该值应为googletrans.LANGUAGES中列出的语言代码之一或googletrans.LANGCODES中列出的语言名称之一。
    • dest – str; unicode
    • src  - 源文本的语言。 该值应为googletrans.LANGUAGES中列出的语言代码之一或googletrans.LANGCODES中列出的语言名称之一。 如果未指定语言,系统将尝试自动识别源语言。
    • src – str; unicode

    返回类型:Translated

    返回类型:list (when a list is passed)

    基本用法:

    >>> from googletrans import Translator
    >>> translator = Translator()
    >>> data=translator.translate('이 문장은 한글로 쓰여졌습니다.',dest='zh-cn')
    >>> data.src
    'ko'
    >>> data.dest
    'zh-cn'
    >>> data.text
    '这句话是用韩文写的。'
    >>>

    高阶用法:

    >>> 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 -> 게으른 개

    返回类型class googletrans.models.Translated(srcdestorigintextpronunciationextra_data=None)

    属性:

    • src – source langauge (default: auto)
    • dest – destination language (default: en)
    • origin – original text
    • text – translated text
    • pronunciation – pronunciation

    detect(text)

         检测输入文本的语言

    参数:

    • text(UTF-8 str; unicode;字符串序列(list,tuple,iterator,generator)) - 要识别其语言的源文本。 通过序列输入支持批量检测。

    返回类型:Detected
    返回类型:list (when a list is passed)
    基本用法:

    >>> from googletrans import Translator
    >>> translator = Translator()
    >>> translator.detect('이 문장은 한글로 쓰여졌습니다.')
    <Detected lang=ko confidence=0.27041003>
    >>> translator.detect('この文章は日本語で書かれました。')
    <Detected lang=ja confidence=0.64889508>
    >>> translator.detect('This sentence is written in English.')
    <Detected lang=en confidence=0.22348526>
    >>> translator.detect('Tiu frazo estas skribita en Esperanto.')
    <Detected lang=eo confidence=0.10538048>

    高阶用法: 

    >>> langs = translator.detect(['한국어', '日本語', 'English', 'le français'])
    >>> for lang in langs:
    ... print(lang.lang, lang.confidence)
    ko 1
    ja 0.92929292
    en 0.96954316
    fr 0.043500196

    返回类型class googletrans.models.Detected(langconfidence)

    属性:

    • lang – detected language
    • confidence – the confidence of detection result (0.00 to 1.00)
  • 相关阅读:
    01
    商城管理系统
    10
    09
    08
    07(3)
    07(2)
    07
    06
    jsp第一次作业
  • 原文地址:https://www.cnblogs.com/-wenli/p/12286779.html
Copyright © 2011-2022 走看看