Python翻译库 pygtrans

作者: lemisky | 来源:发表于2021-07-05 18:22 被阅读0次

    pygtrans: python google translate

    谷歌翻译, 支持 APIKEY

    基本功能

    • 获取语言支持列表
    • 自动检测语言, 支持批量
    • 文本/HTML 翻译, 支持批量
    • 支持 TTS

    安装

    环境要求: >= python 3.6

    pip install pygtrans
    

    或者

    pip install pygtrans -i https://pypi.org/simple
    

    快速入门

    from pygtrans import Translate
    
    client = Translate()
    text = client.translate('Google Translate')
    print(text.translatedText)  # 谷歌翻译
    

    基本介绍

    pygtrans包中有两个需要关心的模块

    1. Translate: 通过谷歌翻译API接口实现, 可直接使用, 但可能不稳定
    2. ApiKeyTranslate: 通过Google Cloud Translate APIs实现, 需要提供一个有效的APIKEY, 谷歌提供免费试用

    二者的差异

    缺点 优点
    Translate 稳定性无法得到保证 免费, 可直接使用
    亲测这货一次性可以翻译 10万 个句子
    ApiKeyTranslate 需要money
    翻译内容一次性最多 102400 bytes
    一次性最多翻译 128 个句子
    比较稳定
    • Translate 未作任何限制, 如果大家使用过程中出现问题, 请大家 留言
    • ApiKeyTranslate 的官方限制, 已在代码中容错, 唯一需要注意的是: 单个句子不要超过 102400 bytes

    关于Null模块

    表示一个失败的结果, 如果想判断翻译是否成功, 判断返回是否为Null对象即可

    from pygtrans import Translate, Null
    
    client = Translate()
    text = client.translate('Hello')
    if isinstance(text, Null):
        print("翻译失败")
    else:
        print("翻译成功")
    

    建议按需判断, 一般直接使用

    基本使用

    使用Translate

    • 获取支持语言: 该功能从代码中删除, 以 语言支持列表 方式提供
    • 语言检测: 方法detect不支持批量检测, 如需批量检测请使用 translate_and_detect 方法
    from pygtrans import Translate
    
    client = Translate()
    d = client.detect('你好')
    assert d.language == 'zh-CN'
    
    • 文本翻译: 使用translate方法, 默认就是HTML模式翻译, 详细参数设置请移步至 pygtrans文档
    from pygtrans import Translate
    
    client = Translate()
    text1 = client.translate('English')
    assert text1.translatedText == '英语'
    
    text2 = client.translate('喜欢', target='en')
    assert text2.translatedText == 'love'
    
    # 批量翻译
    texts = client.translate(['Hello', 'World'])
    for text in texts:
        print(text.translatedText)
    # 你好
    # 世界
    

    修改默认语言, 请移步至 pygtrans文档

    • TTS: 从文本到语言
    from pygtrans import Translate
    
    client = Translate()
    tts = client.tts('你好')
    open('你好.mp3', 'wb').write(tts)
    
    tts = client.tts('やめて', target='ja')
    open('やめて.mp3', 'wb').write(tts)
    
    tts = client.tts('一二三四五, 上山打老虎')
    open('一二三四五.mp3', 'wb').write(tts)
    
    tts = client.tts("""
    我的小鱼你醒了,还认识早晨吗?
    
    昨夜你曾经说,愿夜幕永不降临。
    
    你的香腮边轻轻滑落的,是你的泪,还是我的泪?
    
    初吻吻别的那个季节,不是已经哭过了嘛?
    
    我的指尖还记忆着,你慌乱的心跳。
    
    温柔的体香里,那一绺长发飘飘。
    """)
    open('我的小鱼你醒了.mp3', 'wb').write(tts)
    

    使用ApiKeyTranslate

    请参考 pygtrans文档

    本文档可能会滞后, pip install pygtrans 亲自尝试下吧~

    有问题?

    欢迎大家反馈和建议

    相关文章

      网友评论

        本文标题:Python翻译库 pygtrans

        本文链接:https://www.haomeiwen.com/subject/sfuiultx.html