再见所有的翻译工具!我使用了有道云+Python开发一个批量文档翻译工具!

python文档自动翻译 python文档自动翻译 关键方法 提取文档内容 读取TXT文档 txt文档的读取很简单,直接用python自带的open()方法就好,代码如下所示: # 读取TXT文档 def read_txt(path): '''实现TXT文档的读取,一次将内容全部取出''' content = '' with open... 阅读详情

一、需求分析

需求:

最近有个任务,需要对一批文件进行汉译英的翻译

刚开始想着挺简单的呀,那就直接复制到翻译软件中,在复制出来呗。

有很多办法可以实现翻译:

可以使用谷歌翻译,这个完全免费的。但是不好的地方就是需要一个文档一个文档的进行导入。我几百个文件的话,估计手就要废掉了。

也可以使用网易有道词典:

对单个文档手工复制、粘贴的翻译方式过于繁琐,考虑到工作的重复性和本人追求提高效率、少动手(懒)。

做为计算机行业的一份子,应该充分的利用好,不然技术不就白学了。我就利用的很充分。

我在网上找了几款翻译api,通过对比翻译的结果和学习成本,选择了**有道智云的服务**,自己开发了一个批量翻译的小软件。详细记录一下使用和开发过程,后面的小伙伴们有相关需求,可以参考。

使用Python调用已有的接口的方法,自己实现一个批量翻译工具,一劳永逸。

我计划着连续更新一个月左右,把详细的整个过程都记录下来,也方便粉丝们使用。

二、已做好的批量文档翻译工具的使用

我这里开发批量文档翻译工具使用python作为开发工具,功能如下:

     1)通过文件夹选择多个文档;

     2)可以将多个文档的翻译结果存到目标文件夹下。

话不多说,看图↓↓↓↓↓

部分翻译结果展示(涉及工作内容的保密性,这里用荷塘月色作为样例):

可以先尝试一下,我上传到了百度网盘里:

 

 

三、开发过程

下面开始详细介绍调用有道智云API接口的步骤和软件开发的过程:

(一)个人开发者账号注册

首先,需要注册个人的开发者账号。

在官网点击注册,然后填写个人资料。即可完成注册,官网地址:http://ai.youdao.com/gw.s

​

(二) 创建应用和实例

注册成功并登录后个人中心页面如下图,有道智云提供了自然语言翻译、文字识别、语音合成、语音测评等服务接口。 这些服务接口都是通过以实例的方式运行的,通过应用进行管理的。需要分别创建实例、创建应用,通过应用获取应用ID和应用密钥等信息。

我这里用到的是自然语言翻译服务,首先,需要分别创建一个应用、创建一个自然语音翻译的实例;其次,需要将实例绑定到应用上。最后,就可以通过应用的应用ID、应用密钥调用自然语音翻译api接口了。有道平台会对不同的实例、应用的使用情况进行记录、分析、收费。刚刚注册的体验者会有免费体验字数和50元的体验金哦(加客服貌似还会有额外的50元的)。

创建实例的步骤:

根据使用需求,选择对应服务(“自然语言翻译”/“文字识别OCR”/“语音合成TTS”/“语音识别ASR”/“智能语音评测”/“多平台编辑器”)->“创建实例”,按步骤完成实例创建。

创建应用并绑定实例(应用接口分为三种:API、安卓、ios接口):

点击“应用管理”->“我的应用”->“创建应用”,填写应用名称等相关信息,选择接入方式,并绑定我们所创建的实例,完成应用创建。我们这里用到的是API方式接入,安卓、ios接口需要根据提示填写相应的信息,详见官网新手指南。

应用创建成功后,可获取应用ID(appKey)和应用密钥等信息,这些信息是调用API接口必不可少的参数。

(三)接口调用及代码实现

1、API接口介绍

下面介绍API接口的调用方法

文本翻译API HTTPS地址:https://openapi.youdao.com/api

调用规则:在调用集成文本翻译API时,需遵循以下规则。

 

 

签名生成方法如下:
signType=v3;
sign=sha256(应用ID+input+salt+curtime+应用密钥);
其中,input的计算方式为:input=q前10个字符 + q长度 + q后10个字符(当q长度大于20)或 input=q字符串(当q长度小于等于20);

返回结果格式:返回的结果是json格式,具体说明如下:

 

当返回的结果errorCode为 0 时说明调用成功,不为0时,则会出现不同含义的错误码。详细含义可查阅官方开发文档。

3、批量文档翻译开发

批量翻译demo使用python3实现,为了方便测试,我用tkinter做了简单的界面,用来读取待翻译文档,指定结果存储路径,为了最大化简化开发过程,降低测试的时间成本,目前只实现了读取.txt类型文件的方法。

整个demo分为三个文件,mainwindow.py,translate.py和translatetool.py,mainwindow为UI部分的代码,translate中实现了批量读取文档并翻译保存的逻辑,translatetool为根据示例代码改造后的翻译方法,需调用其他平台API时,亦可封装相应方法,增加了项目的扩展性。

mainwindow的元素如下:

root=tk.Tk()
root.title("netease youdao translation test")
frm = tk.Frame(root)
frm.grid(padx='50', pady='50')
btn_get_file = tk.Button(frm, text='选择待翻译文件', command=get_files)
btn_get_file.grid(row=0, column=0, ipadx='3', ipady='3', padx='10', pady='20')
text1 = tk.Text(frm, width='40', height='10')
text1.grid(row=0, column=1)
btn_get_result_path=tk.Button(frm,text='选择翻译结果路径',command=set_result_path)
btn_get_result_path.grid(row=1,column=0)
text2=tk.Text(frm,width='40', height='2')
text2.grid(row=1,column=1)
btn_sure=tk.Button(frm,text="翻译",command=translate_files)
btn_sure.grid(row=2,column=1)

其中translate_files()方法最终调用了translate类的translate_files()方法:

def translate_files():
    if translate.file_paths:
        translate.translate_files()
        tk.messagebox.showinfo("提示","搞定")
    else :
        tk.messagebox.showinfo("提示","无文件")

类translate定义如下:

import  os
from translatetool import connect

class Translate():
    def __init__(self,name,file_paths,result_root_path,trans_type):
        self.name=name
        self.file_paths=file_paths							# 待翻译文件路径
        self.result_root_path=result_root_path				# 翻译结果存储路径
        self.trans_type=trans_type
        
    # 翻译过程:读取文件-掉用有道api-解析返回信息-保存
    def translate_files(self):
        for file_path in self.file_paths:
            file_name=os.path.basename(file_path)
            file_content=open(file_path,encoding='utf-8').read()
            trans_reult=self.translate_use_netease(file_content)
            resul_file=open(self.result_root_path+'/result_'+file_name,'w').write(trans_reult)
    def translate_use_netease(self,file_content):
        result=','.join(connect(file_content,'zh-CH','EN'))	 # 翻译API返回结果为一个数组
        return result

调用有道API主要方法为connect(),根据API的签名信息等要求组成data并发送请求,解析返回的json:

# input输入待翻译字段,fromlanguage待翻译的语言,tolanguage翻译成的目标语言
# 返回翻译的字段
def connect(inputtext,fromlanguage,tolanguage):
    q=inputtext
    data = {}
    data['from'] = fromlang
    data['to'] = tolang
    data['signType'] = 'v3'
    curtime = str(int(time.time()))
    data['curtime'] = curtime
    salt = str(uuid.uuid1())
    signStr = APP_KEY + truncate(q) + salt + curtime + APP_SECRET
    sign = encrypt(signStr)
    data['appKey'] = APP_KEY
    data['q'] = q
    data['salt'] = salt
    data['sign'] = sign
    print(data)
    response = do_request(data)
    print(response.content)
    j = json.loads(str(response.content, encoding="utf-8"))["translation"]
    return j

完整demo代码地址:源码这里获取

得益于API的学习成本之低,接口调用部分的开发过程十分顺利,仅有一个小插曲,最开始调用API总是返回错误码206(即时间戳错误),最后发现是我的系统时间比标准时间慢了十分钟 - - #

四、总结

对于我此次的需要翻译的文档需求来说,有道智云赠送的字数和账户额度,已经够用了,但是如果想长期的使用下去,还是要付费的。最后发现,有道智云在个人主页中还提供了按小时统计当日实例调用次数和查询字符数和按天统计历史天数内实例的调用次数和字符数,对有需求的小伙伴,还可以记录查看自己接口的翻译量、实时调用量等状态。

如上是我整个demo的开发过程。整体来说从注册到调用有道智云API的过程还是比较顺利的,而且每一步都有官方的详细文档可以参照。以至于主要开发时间都分配给了tkinter排版(顺便吐槽下tkinter的“好用” :p)。

此文转载于:TrueDei

著作权归作者所有,如有侵权联系小编删除!

原文地址:https://blog.youkuaiyun.com/qq_17623363

 

文本翻译、文档翻译API接口 这几个是我再网上找到的,国内比较好的有API的网站,有百度翻译、小牛翻译、谷歌翻译、翻译狗等等,当然还有些谷歌,bing等有名的翻译平台是因为我个人选择的原因没有研究,大家有兴趣的可以去研究一下。后续再分享一下我怎么集成的教程啦!!~对你有帮助就点个♥赞♥呗~ 阅读详情

相关推荐

python使用有道智云翻译API

  又是一篇起源于奇怪需求的文章。在公司使用的某个开发工具不知何缘故和有道词典客户端有冲突(好像是端口冲突),使用不了多久就会卡死,只能卸载有道词典。一时没找到其他感觉不错的翻译软件。网页版的有道翻译和其他翻译又觉得打开网页的过程麻烦,找页签也烦,于是想着弄一个控制台的翻译工具。   附上有道智云API文档地址 翻译文档,有道智云平台注册送50元,可查100万字符,自己使用了3天上后台看了一下扣了一分钱。   后面准备也搞一下百度翻译,每月有200万字符的免费额度。 1.使用有道智云平台   首先要注册.

xdedzl的博客 2884

idea添加翻译插件并配置有道翻译

1、安装Translation插件。2、 创建有道云应用。

皮一下很开心的猴头 3775

分享一次批量文件翻译的开发过程

分享一次批量文档翻译的开发过程 最近工作过程中,需要对一批文件进行汉译英的翻译,对单个文档手工复制、粘贴的翻译方式过于繁琐,考虑到工作的重复性和本人追求提高效率、少动手(懒),想通过调用已有的接口的方法,自己实现一个批量翻译工具,一劳永逸。在网上找了几款翻译api,通过对比翻译的结果和学习成本,选择了有道智云的服务,自己开发了一个批量翻译的小软件。详细记录一下使用和开发过程,后面的小伙伴们有相关需求,可以参考。 批量文档翻译工具的使用 我这里开发批量文档翻译工具使用python作为开发工具,功能如下:   

qiedabeng8686的博客 2765

python调用有道词典_再见所有的翻译工具!我使用了有道云+Python开发一个批量文档翻译工具!...

一、需求分析需求:最近有个任务,需要对一批文件进行汉译英的翻译刚开始想着挺简单的呀,那就直接复制到翻译软件中,在复制出来呗。有很多办法可以实现翻译:可以使用谷歌翻译,这个完全免费的。但是不好的地方就是需要一个文档一个文档的进行导入。我几百个文件的话,估计手就要废掉了。也可以使用网易有道词典:对单个文档手工复制、粘贴的翻译方式过于繁琐,考虑到工作的重复性和本人追求提高效率、少动手(懒)。做为计算机行...

weixin_39759600的博客 405

使用python解析pdf文档中的单词导入到有道云词典中

笔者最近在备考关于100天后专升本考试,对于现在疫情影响,辅导班也开了对应的网课,笔者从辅导班回家的时候一本书都没有拿,后来老师在群里发了纸质书的pdf版本,让我们来学习背诵,在学习单词的时候不会读音要一个一个去有道云等等相关软件翻译找到读音是一件比较麻烦和浪费时间的事情,便有了此文 思路为:PDF->PNG->txt->xml 将老师发来的pdf版本转换为图片,再用识图解析成...

R4bbit 3101

【Python爬虫】有道翻译2023新版

【Python爬虫】使用requests进行获取请求有道URL的结果,MD5加密sign值,AES解密翻译结果

cherish1112365的博客 6765

再见所有的翻译工具!我使用了有道智云+Python开发一个批量文档翻译工具,老大对我赞不绝口

再见所有的翻译工具!刚上班第一周,老大就让我用Python开发一个批量文档翻译工具,我使用了有道智云+Python,老大对我赞不绝口

TrueDei 1万+

JS代码批量百度翻译JSON文件

利用百度翻译翻译简单的JSON对象(不包括方法和数组),这个代码仅仅用于我们的项目,可以作为参考,已经隐去AppID和Key,请自行添加

python之对接有道翻译API接口实现批量翻译

使用有道智云API接口,实现对文档的批量翻译。

我是一个热爱游戏开发的Unity程序员,专注于使用Unity引擎创建创新和高效的游戏项目。在我的博客中,我分享Unity开发中的实用技巧、解决方案和优化方法,涵盖从基础入门到高级技术的各个方面。我喜欢探索新技术,持续学习,并与大家一起成长。希望我的分享能帮 3329

大疆Livox Mid-70雷达的使用

一、前期准备 (一)、使用Livox Viewer测试雷达 1、设置静态IP sudo ifconfig enx081f7152092a 192.168.1.50 查看IP是否设置成功 lacyexsale@lacyexsale-KLV-WX9:~$ ifconfig enx081f7152092a Link encap:以太网 硬件地址 08:1f:71:52:09:2a inet 地址:192.168.1.50 广播:192.168.1.255 掩码:255.255.25

LacyExsale的博客 1万+

爬取百度图片

最开始,我们想要爬取图片,首先需要打开百度图库,然后在搜索栏中输入自己想要的图片(比如说壁纸)。接着右键检查,点击网络:起初可能没有名称信息,刷新界面就可以了。打开信息,查看标头内容可以看到请求URL为:复制这串URL,然后在浏览器中打开这个就是我们搜索的壁纸图片的网页内容。怎么找到图片的URL呢?在上述内容中,找到data,可以发现里面每隔一个aiEditData,下面代码的形式是一样的,就相当于一张图片。

weixin_54143563的博客 1943

用 Python 写的文档批量翻译工具,效果竟然超越付费软件?

大家好,我是启航。 本文将给大家分享一个实用的Python办公自动化脚本「利用Python批量翻译英文Word文档并保留格式」,最终效果甚至比部分收费的软件还要好!先来看看具体的工作内容。 一、需求描述 手上有大量外文文档(本案例以5份为例,分别命名为test1.docxtest2.docx以此类推),其中一份如下: 基本需求:「批量将这些文档的内容全部翻译成中文,并转存到新的文件中」,效果如下: 高级需求:基本需求满足的同时,要求「保留原文档的格式」,效果如下...

3858

欧姆龙485通讯示例程序_【精品实验】PLC学习神器与温湿度变送器的通讯

BFH点击蓝字关注我们↑↑↑↑  PLC学习神器提供RS485接口,可支持无协议RS指令、无协议RS2指令、Modbus通讯功能,可通过设置通讯格式改变通讯协议,RS485对应的通讯格式地址是D8400;  本案例以RS485接口与温湿度变送器通讯,通讯格式如下一温湿度变送器的说明书介绍1.1主要技术参数1.2 通讯协议 1、所有通讯回路都应遵照主/从方式。依照主从方式,数据可以在一个主...

weixin_39860201的博客 1万+

最新!有道文档翻译免费获取方法,有道翻译文档复制方法,解决有道文档翻译不能复制问题

2020年12月更新: 通过浏览器的 F12 开发者工具可以看到现在翻译后的内容是通过图片展示的,而之前是文字只是把复制功能禁用了而已,所以现在不管怎么处理也不能进行复制了。 这种情况下要想进行复制就需要使用图像识别功能了。 最新!有道文档翻译免费获取方法,有道翻译文档复制方法,解决有道文档翻译不能复制问题。 有道的文档翻译真的不错呢,不但翻译的好,排出的版也好看。 但是我们想下载的话需要付钱呢。 我发现了一般的浏览器即使设置了禁用脚本,还是不可以进行复制。 下面给大家展示我的破解方法。

小蓝枣的博客 4万+

从仿真到实战:PMOS缓启动与栅极泄放电路的优化设计

本文深入探讨了PMOS缓启动与栅极泄放电路的优化设计,通过立创EDA仿真和实物调试,解决了关断速度慢和耐压问题。文章详细介绍了电路改进方案和低功耗优化技巧,为工程师提供了实用的工程实践建议,帮助提升电源开关电路的性能和可靠性。

weixin_28721917的博客 260

SAP S4业务伙伴(BP)实战指南:从角色分配到数据同步的完整流程

本文详细解析了SAP S4业务伙伴(BP)功能,从基础概念到实战操作,涵盖角色分配、数据同步及常见问题排查。通过BP机制,企业可高效管理客户、供应商等多重身份,实现数据共享和动态切换,显著提升主数据管理效率。特别适合SAP实施顾问和ERP管理员参考。

y2z3a4b5c的博客 870

有道翻译API接口的服务开通与使用Python进行接口调用实例演示,有道智云·AI开放平台

有道翻译 API 接口的服务开通与使用 Python 进行接口调用实例演示 第一章:服务开通 ① 有道智云·AI开放平台【注册】 ② 创建应用,获取【应用密钥和id】 ③ 创建实例,绑定应用 ④ 官方帮助文档 第二章:Python 调用接口实例演示 ① 源码展示 ② 要点讲解 ③ 效果展示

小蓝枣的博客 1万+

【车载以太网】【SOMEIP】Wireshark测试someip

一、 Wireshark SOMEIP plugin 1.1 插件安装 Wireshark插件目录:Help -> About Wireshark -> Folders/Pluginshttps://github.com/jamores/eth-ws-someip 解压后,将所有后缀是lua的文件拷贝到Wireshark安装目录plugins/2.4.10/下。 1.2时间戳调整为UTC显示格式 View -> Time Display Format -> Date and Tim.

专注汽车软件开发、AutoSAR、车载以太网、SOA、EE架构。 9731

python有道批量单词音标整理-python调用有道智云API实现文件批量翻译

最近工作过程中,需要对一批文件进行汉译英的翻译,对单个文档手工复制、粘贴的翻译方式过于繁琐,考虑到工作的重复性和本人追求提高效率、少动手(懒),想通过调用已有的接口的方法,自己实现一个批量翻译工具,一劳永逸。在网上找了几款翻译API,通过对比翻译的结果和学习成本,选择了有道智云的服务,自己开发了一个批量翻译的小软件。详细记录一下使用和开发过程,后面的小伙伴们有相关需求,可以参考。批量文档翻译工具的...

weixin_37988176的博客 1827

基于 InceptionNeXt 模块增强的 YOLOv8 模型:针对多尺度目标检测的改进与实现

modules.py。

know_F0727的博客 208

电动汽车远程监控与诊断软件:BMW ConnectedDrive EV远程监控二次开发_7.数据安全与隐私保护

数据加密是保护数据安全的重要手段之一。在电动汽车远程监控与诊断软件中,加密技术可以确保数据在传输过程中的安全性和完整性。常见的加密技术包括对称加密和非对称加密。

zhubeibei168的博客 884

python调用有道翻译_python调用有道云翻译api

有道这个感觉还可以文档非常简洁,本来参数比较少,大家尽量参考官方文档有道智云:https://ai.youdao.com/gw.s智云文档:https://ai.youdao.com/docs/doc-trans-api.s#p08我这里创建了一个api类型的app,为的是调用有道云的翻译接口,这个大家注册帐号操作就可以,里面有100的体验金,这个很好。这里我在网上找了段代码测试了下:# codi...

weixin_39630498的博客 542

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

python调用有道翻译API进行翻译

python调用有道翻译API进行翻译 步骤python调用有道翻译API进行翻译准备调用API所需的APPID以及秘钥1.有道智云注册账号2.有道智云注册账号3.创建实例,绑定应用4.查看官方文档python实现对有道翻译API的调用 准备调用API所需的APPID以及秘钥 1.有道智云注册账号 有道 api 接口调用官方网站:有道智云 2.有道智云注册账号 创建应用,获取【应用密钥和id】 然后就可以看到应用密钥和应用 id 了,这两个是我们调用它的 api 所需要的。 服务器 IP 设置的话,就

qq_36944952的博客 5335

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

使用python打造一个中英互译软件(基于有道翻译)

(本博客简洁明了,适合小白入门) 首先明确整体构架: 1.爬虫部分 2.界面部分 3.打包 涵盖的库: import urllib.request import urllib.parse import json import tkinter as tk import tkinter.messagebox 先确定爬取的URL地址: url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rul.

qq_46788415的博客 1863

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

有道翻译Workflow使用教程

`whyliam/workflows.youdao` 是一个基于 Alfred 的 Workflow,它允许用户通过简单的命令快速使用有道翻译服务。这个工具支持多种操作,包括翻译单词和短语,查看历史记录,以及同步单词到有道在线单词本。特别适合那些频繁需要翻译且使用MacOS的用户。 ## 2. 项目快速启动 ### 安装依赖 确保已安装 [Alfred](https://www.alfreda...

gitblog_01129的博客 987
上一篇: 用selenium爬取淘宝商品信息!听说这个项目值五百?
下一篇: python自动保存百度网盘资源,一定要看
pythonlaodi
博客等级 码龄6年 286粉丝 244原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值