一、百度翻译开放平台账号权限
1、注册成为开发者
百度翻译平台中注册开发者账号,在管理控制台填写开发者注册表单,获取开发者权益 。如果是企业用户,推荐注册为企业开发者,以获得更优质的服务体验。
-
个人注册:
-
企业开发者注册:
- 信息填写完后,会弹窗提醒,点击继续注册即可;
- 提示注册成功后,点击确定,进行身份认证;
2、进行开发者认证
-
个人认证:
需填写真实姓名和身份证号,提交后系统自动验证,即时生效。
-
企业认证:
企业认证需填写企业名称、统一社会信用代码、上传企业营业执照扫描件。企业认证需由人工审核,一般2天左右就会有审核结果。
3、开通通用翻译API服务
百度提供三种翻译API服务:
标准版:提供基础文本翻译服务,无需认证即可使用。如需使用自定义术语翻译功能,请完成个人/企业认证。每月5万字符免费,QPS 为 1,单次最长请求1000字符。
高级版:完成个人认证可升级使用高级版服务,提供基础文本翻译服务,支持自定义术语翻译功能。每月100万字符免费, QPS 为 10,单次最长请求6000字符。
尊享版:完成企业认证可可升级使用尊享版服务,提供基础文本翻译服务,支持自定义术语翻译功能。每月200万字符免费, QPS 为 100,单次最长请求6000字符。
进入开通服务的页面,选择需要的选项进行开通,这里我开通的是通用文本翻译。
4、查看开发者信息
开通服务之后,可在开发者中心看到APPID、密钥、基本信息、服务信息等。
二、通用文本翻译API对接
通用文本翻译相关的文档说明,详细地介绍了如何接入,以下为相关拆解步骤。
整体流程:
通用翻译API通过 HTTP 接口对外提供多语种互译服务,只需要通过调用通用翻译API,传入待翻译的内容,并指定要翻译的源语言(支持源语言语种自动检测)和目标语言种类,就可以得到相应的翻译结果。
1、通用翻译API HTTPS 地址
通过 HTTP 接口获取翻译内容;
https://fanyi-api.baidu.com/api/trans/vip/translate
2、sign(签名)生成方法
sign是上面接口其中的一个参数,是为了保证调用安全,使用 MD5 算法生成的一段字符串,生成的签名长度为 32 位,签名中的英文字符均为小写格式。
appid、secretKey、 翻译 query(q,注意为UTF-8编码)、随机数(salt),按照 appid+q+salt+密钥的顺序拼接得到字符串。
安装js-md5插件,将字符串进行MD5处理,得到 32 位小写的 sign。
pnpm install js-md5
3、进行HTTP请求
- 安装vue-jsonp,使用jsonp获取翻译数据;
pnpm install vue-jsonp
参数说明:
appid:必填,唯一标识;
secretKey:必填,密钥;
salt:必填,随机数;
q:必填,需要翻译的内容;
from:必填,翻译源语言;
to:必填,翻译目标语言;
needIntervene:选填,判断是否需要使用自定义术语干预API;
返回数据:
如果需要翻译成多个国家的语言,就要每种国家的语言都单独调用一次接口,比如要翻译成10种语言,就需要传入不同的语种参数,调用10次请求。
通用翻译API支持语种数已达 201种。其中,对于常见语种列表内的语种,所有用户均可调用。对于非常见语种,仅企业已认证的尊享版用户可调用,未认证的非尊享版用户调用将返回错误。具体信息可查看完整文档:
三、常见问题:
1. 如何在一次请求中翻译多个单词或者多段文本?
可以在发送的字段 q 中用换行符(在多数编程语言中为转义符号 \n。其中 \n 是需要能被程序解析出来的换行符而不是字符串 \n),可以用换行符来分隔要翻译的多个单词或者多段文本,这样就能得到多段文本独立的翻译结果了。注意在发送请求之前需对 q 字段做 URL encode!
2. 什么是URL encode?
网络标准RFC 1738规定了URL中只能使用英文字母、阿拉伯数字和某些标点符号,不能使用其他文字和符号。如果需要翻译的文本里面出现了不在该规定范围内的字符(比如中文),需要通过URL encode将需要翻译的文本做URL编码才能发送HTTP请求。大部分编程语言都有现成的URL encode函数,具体使用方法可以针对使用的编程语言自行搜索。
3. 通用翻译API中,字符数量如何统计?
字符数量的统计以翻译的源语言字符长度为标准。一个汉字、一个英文字母、一个标点符号等均记为一个字符。空格、html标签等均计入在内。
4. 单次翻译请求是否有字符数限制?
为保证使用体验,将单次翻译文本长度限定为6000字节以内(汉字约为2000个)。此外,高峰时期单次请求文本过长或将导致翻译超时,可将query分多次请求。