google_trans_new库:谷歌翻译库Googletrans的替代品

news/2024/11/28 15:49:38/

简介

谷歌翻译库Googletrans久负盛名,但是由于tk值计算问题,频繁出现AttributeError: 'NoneType' object has no attribute 'group'异常。

google_trans_new库在Googletrans的基础上进行了完善,算是能够正常运行吧,但是效果也不太尽如人意,翻译结果与谷歌翻译网页结果不太一致,翻译效果较差。

项目地址为https://github.com/lushan88a/google_trans_new。

google_trans_new库当前发行版本为1.1.9,可使用pip install google_trans_new
注意!1.19版本有一个问题没有修复,导致会出现json解析异常json.decoder.JSONDecodeError: Extra data: line 1 column 300 (char 299)
作者虽然修复了这个问题,但是一直没有将最新代码推送到pip。
因此,解决方法有两种:

  • 安装1.19版本,找到google_trans_new.py,将第151行response = (decoded_line + ']')修改为response = decoded_line
  • 到下载最新源码进行源码安装或者直接覆盖原有google_trans_new.py

使用方法

快捷翻译

  • 导入google_translator
  • 构造google_translator类实例。
  • 调用translate方法,指定待翻译文本、翻译目标语言。
  • 结果返回翻译文本。
from google_trans_new import google_translator  translator = google_translator()  
translate_text = translator.translate('สวัสดีจีน',lang_tgt='en')  
print(translate_text)

结果为:Hello Chinese

检测语言

  • 导入google_translator
  • 构造google_translator类实例。
  • 调用detect方法,指定待翻译文本。
  • 结果返回检测语言列表。
from google_trans_new import google_translator  detector = google_translator()  
detect_result = detector.detect('สวัสดีจีน')
print(detect_result)

结果为:['th', 'thai']

检测结果发音

  • 导入google_translator
  • 构造google_translator类实例。
  • 调用translate方法,指定待翻译文本、文本源语言、翻译目标语言,设置pronounce参数为True
  • 结果返回翻译文本及文本发音。
from google_trans_new import google_translator  translator  = google_translator()  
Pronounce = translator.translate('สวัสดีจีน',lang_src='th',lang_tgt='zh-cn',pronounce=True)  
print(Pronounce)

源码分析

google_trans_new库的结构非常简单:

│  __init__.py   # 重构命名空间,暴露google_translator类
│  constant.py   # 定义LANGUAGES(语言列表)和DEFAULT_SERVICE_URLS (谷歌翻译地址)
│  google_trans_new.py  # 翻译API

google_trans_new.py模块主要包含google_new_transError(Exception)google_translator两个类。

google_translator类的方法如下:

  • 构造方法:签名为__init__(self, url_suffix="cn", timeout=5, proxies=None)

    • 参数:
      • url_suffix指定谷歌翻译地址,默认值为cn
      • timeout指定超时时间,默认值为5
      • proxies指定代理。
  • 请求构造方法:签名为_package_rpc(self, text, lang_src='auto', lang_tgt='auto')

    • 参数:
      • text待翻译文本。
      • lang_src翻译文本源语言,默认值为auto,即自动。
      • lang_tgt翻译文本目标语言,默认值为auto,即自动。
    • 返回值:请求字符串。
  • 翻译方法:签名为translate(self, text, lang_tgt='auto', lang_src='auto', pronounce=False)

    • 参数:
      • text待翻译文本。用于调用_package_rpc方法构造请求。
      • lang_src翻译文本源语言,默认值为auto,即自动。用于调用_package_rpc方法构造请求数据。
      • lang_tgt翻译文本目标语言,默认值为auto,即自动。用于调用_package_rpc方法构造请求数据。
      • pronounce是否返回发音。
    • 返回值:翻译结果。
    • 大致流程:
      • 检测翻译语言参数是否合法,不合法设置为默认值。
      • 检测文本是否超过5000字符,超过提示异常。
      • 通过_package_rpc构造请求数据。
      • 通过requests库返回请求结果。
      • 解析请求结果。
  • 语言检测方法:签名为detect(self, text)

    • 参数:
      • text待检测文本。
    • 返回值:检测结果。

http://www.ppmy.cn/news/354609.html

相关文章

谷歌翻译器-在线实时批量谷歌翻译器

谷歌翻译器今天给大家分享一款免费批量的翻译器汇集了世界最好的几个翻译平台(百度/谷歌/有道),为什么这么多人使用它?首先第一点翻译质量高,选择性多。第二点支持各种语言互译,第三点可以批量各种文档翻译…

谷歌翻译器-谷歌翻译器软件批量自动翻译

谷歌翻译器哪个好用,今天给大家分享一款免费好用的翻译器,汇集了世界上最好的几个翻译平台(百度/谷歌/有道),为什么这么多人使用它?首先第一点翻译质量高,选择性多。第二点支持各种语言互译,第三…

谷歌翻译软件-免费谷歌翻译

谷歌翻译软件,怎么找到好的翻译软件?今天给大家分享一款免费批量的翻译软件汇集了世界最好的几个翻译平台(百度/谷歌/有道),为什么这么多人使用它?首先第一点翻译质量高,选择性多。第二点可以批…

google translate - 谷歌翻译小工具

文章目录 前言一、库安装问题说明 二、功能实现1. 翻译功能代码2. 工具界面代码3. 全部实现代码注意 三、结语 前言 同事小强在网上不知道从哪找了个翻译小工具,用着不太顺手。想着自己常用的google翻译还不错,就搜了一下google翻译接口,果然…

海康威视 NET_DVR_Login_V30 错误代码说明总结 (后补充所有故障对应码)

海康威视故障代码对照表: 整理了一个excel : https://download.csdn.net/download/p942005405/12415536 网络通讯库错误码  错误类型错误值错误信息NET_DVR_NOERROR0没有错误。NET_DVR_PASSWORD_ERROR1用户名密码错误。注册时输入的用户名或者密码错…

计算机专业英语常用词汇整理

软考备考,整理了计算机专业英语词汇 A access control 访问控制 Access Control List(ACL) 访问控制列表 Active Group 活动组 Active Server Pages(ASP)一种服务器端的脚本环境,可以用来创建动态Web页或编译Web应用程序 ActiveX Controls ActiveX 控件 activ…

继续来学习有关淘宝的API接口的使用——获得店铺的所有商品 API

前往获取您的专属账号 为了进行电商平台 的API开发,首先我们需要做下面几件事情。 1)开发者注册一个账号 2)然后为每个 应用注册一个应用程序键(App Key) 。 3)下载 API的SDK并掌握基本的API基础知识和调用 4&…

【Pytorch with fastai】第 3 章 :数据伦理

🔎大家好,我是Sonhhxg_柒,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 📝个人主页-Sonhhxg_柒的博客_CSDN博客 📃 🎁欢迎各位→点赞…