最近工作过程中,需要对一批文件进行汉译英的翻译,对单个文档手工复制、粘贴的翻译方式过于繁琐,考虑到工作的重复性和本人追求提高效率、少动手(懒),想通过调用已有的接口的方法,自己实现一个批量翻译工具,一劳永逸。在网上找了几款翻译API,通过对比翻译的结果和学习成本,选择了有道智云的服务,自己开发了一个批量翻译的小软件。详细记录一下使用和开发过程,后面的小伙伴们有相关需求,可以参考。
批量文档翻译工具的使用
我这里开发批量文档翻译工具使用python作为开发工具,功能如下:
1)通过文件夹选择多个文档;
2)可以将多个文档的翻译结果存到目标文件夹下。
话不多说,看图↓↓↓↓↓
部分翻译结果展示(涉及工作内容的保密性,这里用荷塘月色作为样例):
开发过程
下面开始详细介绍调用有道智云API接口的步骤和软件开发的过程:
1、个人开发者账号注册
首先,需要注册个人的开发者账号。
在官网点击注册,然后填写个人资料。即可完成注册,官网地址:http://ai.youdao.com/gw.s
2、 创建应用和实例
注册成功并登录后个人中心页面如下图,有道智云提供了自然语言翻译、文字识别、语音合成、语音测评等服务接口。 这些服务接口都是通过以实例的方式运行的,通过应用进行管理的。需要分别创建实例、创建应用,通过应用获取应用ID和应用密钥等信息。
我这里用到的是自然语言翻译服务,首先,需要分别创建一个应用、创建一个自然语音翻译的实例;其次,需要将实例绑定到应用上。最后,就可以通过应用的应用ID、应用密钥调用自然语音翻译api接口了。有道平台会对不同的实例、应用的使用情况进行记录、分析、收费。刚刚注册的体验者会有免费体验字数和50元的体验金哦(加客服貌似还会有额外的50元的)。
创建实例的步骤:
根据使用需求,选择对应服务(“自然语言翻译”/“文字识别OCR”/“语音合成TTS”/“语音识别ASR”/“智能语音评测”/“多平台编辑器”)->“创建实例”,按步骤完成实例创建。
创建应用并绑定实例(应用接口分为三种:API、安卓、ios接口):
点击“应用管理”->“我的应用”->“创建应用”,填写应用名称等相关信息,选择接入方式,并绑定我们所创建的实例,完成应用创建。我们这里用到的是API方式接入,安卓、ios接口需要根据提示填写相应的信息,详见官网新手指南。
应用创建成功后,可获取应用ID(appKey)和应用密钥等信息,这些信息是调用API接口必不可少的参数。
3、接口调用及代码实现
1)API接口介绍
下面介绍API接口的调用方法
文本翻译API HTTPS地址:https://openapi.youdao.com/api
调用规则:在调用集成文本翻译API时,需遵循以下规则。
规则 | 描述 |
---|---|
传输方式 | HTTPS |
请求方式 | GET/POST |
字符编码 | 统一使用UTF-8 编码 |
请求格式 | 表单 |
响应格式 | JSON |
调用传参:调用API需要向接口发送以下字段来访问服务。
字段名 | 类型 | 含义 | 必填 | 备注 |
---|---|---|---|---|
q | text | 待翻译文本 | True | 必须是UTF-8编码 |
from | text | 源语言 | True | 参考下方 支持语言 (可设置为auto) |
to | text | 目标语言 | True | 参考下方 支持语言 (可设置为auto) |
appKey | text | 应用ID | True | 可在 应用管理 查看 |
salt | text | UUID | True | UUID |
sign | text | 签名 | True | sha256(应用ID+input+salt+curtime+应用密钥) |
signType | text | 签名类型 | True | v3 |
curtime | text | 当前UTC时间戳(秒) | true | TimeStamp |
ext | text | 翻译结果音频格式,支持mp3 | false | mp3 |
voice | text |