一、 服务概述

1. 什么是百度翻译开放平台?

百度翻译开放平台是百度翻译面向广大开发者提供开放服务的平台。服务涵盖:通用翻译API、定制化翻译API、语音翻译SDK、拍照翻译SDK等,并持续更新中。

通用翻译API

通用翻译API支持28种语言互译,覆盖中、英、日、韩、西、法、泰、阿、俄、葡、德、意、荷、芬、丹等;支持28种语言的语种检测。您只需调用通用翻译API,传入待翻译的内容,并指定要翻译的源语言(支持源语言语种自动检测)和目标语言,即可得到相应的翻译结果。任何第三方应用或网站都可以通过使用通用翻译API为用户提供实时优质的多语言翻译服务,提升产品体验。

垂直领域API

垂直领域API针对特定领域的翻译展开优化,翻译结果相较于通用翻译API结果更为准确,句式更加符合该行业特点。现已开通科技电子、水利机械、生物医药等3个垂直领域,且领域在不断扩展中。

定制化翻译API

定制化翻译API是基于开发者提供的领域语料数据,在通用翻译模型基础上快速构建的定制化训练模型。定制化翻译API目前支持中英、英中方向,后续将逐步支持其他语言方向。定制化翻译API可更好地与您的应用场景相匹配,帮助您获得更好的翻译效果。

语种识别API

语种识别API可识别给出文本的语种,并返回识别结果。首批支持中文、英语、日语、韩语、泰语、越南语、俄语等七个语种的语种识别。

语音翻译SDK

语音翻译SDK结合语音识别、文本翻译、语音合成等技术,提供在线语音翻译服务的整体解决方案。语音翻译SDK目前支持中、英、日、粤四种语言的源语言识别,12种目标语言的语音输出以及28种目标语言的文本翻译结果输出,暂不支持混合语种的识别。语音翻译SDK可广泛应用于APP及各种硬件设备。

拍照翻译SDK

拍照翻译SDK将图像识别与文本翻译合二为一,轻松实现图文翻译,省去繁琐的二次接入。拍照翻译目前支持中、英、日、韩、法、德、葡、意、西、俄等10种源语言的识别,28种目标语言的输出。

在线翻译SDK

在线翻译SDK作为文本翻译的另一种解决方案,同样支持28个语种互译,支持按照license收费模式,一经购买可永久使用。广泛应用于各种智能硬件设备。如有合作意向,可联系[email protected]了解详细信息。

离线翻译SDK

离线翻译SDK目前支持中英、中日、中韩三种语言方向的离线翻译,支持按照license收费的模式,一经购买可永久使用。广泛应用于各种智能硬件设备。如有合作意向,可联系[email protected]了解详细信息。

2. 平台是否提供词典、TTS发音或汉语API?

目前平台暂不提供上述服务,且汉语API非百度翻译团队开发,故不在本平台开放。

3. 平台是否提供网页翻译API?

平台暂未提供网页翻译API,但您可以通过对通用翻译API的二次开发,可以在百度翻译官方网站下载翻译插件,体验截图翻译、网页翻译等功能。详见 fanyi.baidu.com

二、 服务申请

1. 如何申请通用翻译API服务?

通用翻译API采用全流程自助申请的模式。点击网站上方的“登录”按钮,以百度账号登录平台;在产品服务页面点击“立即使用”,按照页面提示信息注册成为开发者,即可获得APPID和密钥信息。同一百度账号或手机号码仅能申请一组APPID和密钥信息,该APPID和密钥信息可用于多项服务调用

已注册开发者的用户,可在产品服务页面点击“立即使用”或者在管理控制台开通通用翻译API服务;

如需开通更多服务,可在管理控制台-总览页面开通其他服务。

2. 我没有IP地址,或IP地址太多无法填写该怎么办?

IP地址非必填项,可留空。填写IP地址后,API将只能通过此IP地址调用。为了更好的保护您的账户隐私和安全,百度翻译建议各位开发者填写。

3. 是否支持国外服务器请求或使用国外手机注册?

4. 申请定制化翻译API时,语料样例填写有什么要求?

每行一个中英文对照的句对,中英文间请用三条竖线分割,例如:

这是一个测试。 ||| This is a test.

百度翻译可提供基本的格式转换服务。

5. 申请定制化翻译API时,语料数量怎么选择?

语料数量是申请必填项。为了更好地提供服务,百度翻译建议开发者根据实际情况进行选择。一般情况,语料量级达到百万级以上,定制化效果会较为显著。

6. 定制化翻译API的申请周期大概多长时间?

定制化翻译API申请流程包括线上提交申请、审核开发者资质、线下提交全量语料数据、模型优化、模型上线等环节。其中审核语料预计约3个工作日,模型优化预计约10个工作日,搭建服务预计约2个工作日,实际周期视语料量级及语料质量等因素而定。开发者可以通过管理控制台实时了解申请进度。

7. 我手头没有语料,但我想体验定制化翻译的效果,应该怎么办?

如您手头没有语料,或者希望直接体验定制化翻译的效果。请使用我们为您准备的分领域文本翻译API,这些领域的翻译引擎经过海量优质语料数据训练,相较于通用翻译API翻译效果提升明显。

8. 如何申请语音翻译SDK?

语音翻译SDK采用申请-审核-开通的模式。申请流程包括提交线上申请、审核开发者资质、等待专员联系、发送测试包、开通服务等环节。请详细填写线上申请资料以供我方审核。申请提交后,请耐心等待我方专员与您取得联系。

9. 语音翻译SDK是否支持同声传译

抱歉,暂不支持。语音翻译SDK单次可支持最长约60s的语音输入。

三、 隐私保护

1. 申请定制化翻译API,能否保证开发者语料数据的隐私性和安全性?

百度尊重您提供的语料数据,不会向第三方泄露语料数据。

2. 我的APPID和密钥可能遭到泄露,应该怎么办?

如您发现调用量有明显超过预期的增长,则可能是APPID和密钥遭到泄露,请立即进入管理控制台,自助停用相关服务。服务停用后,调用将返回58002错误,同时将停止计费。

如需注销APPID,请确保账户余额为0,未处于欠费状态。请发送您的百度用户名、APPID、注销原因等信息至[email protected],由我方专员为您核实注销。

四、 服务计费

1. 通用翻译API计费规则是什么?

通用翻译API标准版免费使用,不限字符量,高级版、尊享版每月提供200万字符免费额度,超出后仅收取超出部分费用。具体如下:

当月翻译字符数≤200万,当月享免费服务。

超过200万字符,需按照49元人民币/百万字符支付当月超出字符数部分费用。

注:使用字符数信息每5分钟更新一次,但计费系统有一定延迟,次日结算前一日字符数并扣除相应费用。故请随时关注字符使用量信息,以免超出免费额度,造成账户欠费。

为什么次日更新计费? 为了保护开发者的权益,若账户余额为0或免费额度用完就立即停止服务,则可能造成相关应用不可用,给开发者和企业造成损失,因此预留了一定的缓冲时间。

2. 百度翻译通用API字符数统计规则是什么?

字符数以翻译的源语言字符长度为标准计算。空格、html标签等均计入字符。一个汉字,英文字母,标点符号等,均按照一个字符计费。

3. 定制化翻译API计费规则是什么?

定制化翻译API目前处于公测期,开发者提交的语料样例评估通过后,百度翻译专员会主动与开发者联系并进行合作方式沟通,或开发者主动发送邮件至[email protected] 了解详细合作信息。

4. 语音翻译SDK计费规则是什么?

提供了按照设备数量计费的策略,您可根据产品出货量购买license数量,购买后每个license对应一台设备,永久有效,无使用时间限制。详情请联系[email protected]

5. 如何对账户进行充值?

登录百度账户后,点击“管理控制台”-“充值”,即可通过百度钱包或支付宝为账户充值,充值金额可开具普通电子发票。

如需开具增值税专用发票,可与百度翻译签订合同,进行对公账户打款。在提供打款凭证后,我们将在后台为您充值。可发送邮件至[email protected]咨询。

五、 服务调用

1. 通用翻译API是否有配额限制?

百度翻译通用API无访问频次限制,服务稳定性SLA高达99.99%。

2. 定制化翻译API是否有配额限制?

百度翻译定制化API目前处于免费公测期,支持默认配额为5qps,不保障并发。当调用频次超过默认配额时,会返回错误代码为54003的错误信息,您需降低调用频率后重新发起请求。

六、 发票相关

1. 如何开具发票?

以在线方式充值,百度提供普通电子发票。

2018年11月12日,平台上线发票自助申请功能。凡2018年11月12日之后在线充值的订单,可进入管理控制台-财务总览页面自助申请开具。电子发票效力等同于纸质发票。

2. 是否可开具增值税专用发票?

开具增值税专用发票,需与百度签订《百度翻译API企业合作合同》,进行对公付款,提供打款凭证及一般纳税人资质相关材料《一般纳税人六要素信息表》。可联系[email protected]获取合同。

合同签订后,可在线提交增值税专用发票申请,我方在收到您的开票信息后将为您操作开票并邮寄。

3. 发票申请提交后多久能收到发票?

我们将在1-2个工作日内处理您的发票申请,记录后我们会尽快帮您申请发票,发票申请提交后7个工作日内开出,并免费邮寄至您提供的联系地址。注:每月初1-10日不能开具发票

使用百度翻译开放平台服务(以下简称“服务”)即表示您同意接受百度翻译开放平台服务协议(以下简称“本协议”)和相关法律法规的约束。

百度翻译数据指通过百度翻译的开放服务获得的任何数据,包括不限于翻译结果数据、语音识别数据等。

二、API或SDK访问

1. 您可以通过使用百度翻译提供的API或SDK来开发服务或应用,以实现百度翻译服务。

2. 使用百度翻译API或SDK时,如果应用服务包括一个客户端程序,此客户端程序不能缓存百度翻译数据。

3. 使用百度翻译开放服务时,以下损害百度公司利益的行为是 不被允许的

3.1 向任何第三方销售、分发、再授权、重新分配、提供或传送任何百度翻译数据。

3.2 使用包含“百度”、“百度词典”或“百度翻译”等字样来命名自己的产品。

4. 百度可能会监控您对百度翻译API或者SDK的使用,以改善服务,并确保您遵守本条款。百度公司保留随时要求删除特定或者全部百度翻译数据的权利。

5. 如果有超出以上访问规则的其他需要,请您联系我们,如双方协商一致,百度可出具相应书面许可。

三、使用限制

1. 您通过API或者SDK来使用百度翻译服务时,需保持百度翻译数据的完整性。

2. 任何技术滥用或用户滥用(如制造垃圾广告信息等)或违反国家法律规定或可能损害百度利益的行为,都会导致您的账户被百度直接地永久地封禁。

四、服务费用

1. 百度翻译开放平台服务的收费方式及价格信息以网页公布的计费方式和支付方式为准。

2. 您登录百度翻译开放平台后,可通过管理控制台查看账户信息、接入服务项目、充值及查看账单等操作。

3. 若账户余额不足,您应及时充值,否则百度公司有权暂停为您提供付费服务。

4. 百度公司有权根据需要对收费服务的收费标准、计费及支付方式进行修改及变更,亦有权对免费服务进行收费。涉及服务费用的调整,百度将提前90天通知您(百度有权选择以线下或者线上的形式进行通知)。如您不同意相关调整,应立即停止使用百度翻译开放平台服务,如您在百度调整收费标准7日内,仍继续使用服务,视为您已接受新的收费标准,并将按此标准向百度公司支付费用。

五、隐私保护

1. 百度尊重您的个人隐私,不会公开或者透露您的注册信息及保存在百度开放平台中的非公开内容,除非遇到如下情况:

1.1 事先获取您的明确授权;

1.2 根据法律、法规、法律程序的要求或政府主管部门的强制性要求;

1.3 以学术研究或公共利益为目的;

1.4 保护维持百度的知识产权和其他重要权利;

1.5 符合相关服务条款或使用协议的规定;

2. 百度尊重您提供的语料数据,不会向第三方提供语料数据。

3. 您和百度翻译开放平台因使用百度翻译开放平台服务而了解或者接触到的信息,服务条款内容及使用服务过程中产生的相关信息及往来文件均为保密文件;非经书面同意不得向第三方泄露,给予或者转让该保密信息,该保密义务不因本协议的终止而终止。

4. 您使用百度服务向第三方提供任何收费或者免费的服务时,应充分尊重第三方的隐私,不得利用百度翻译开放平台服务进行任何侵害第三方隐私的行为。

六、责任限制

1. 在适用法律允许的最大范围内,百度公司明确表示不对通过百度翻译开放平台提供翻译数据提供任何类型的保证,不论是明示的或默示的,包括但不限于适销性、适用性、可靠性、准确性、完整性、不侵权、无病毒以及无错误的任何默示保证和责任。

2. 您对百度翻译API或SDK的使用是根据您自己的判断作出的,并自己承担所带来的风险,对于因使用百度翻译API或者SDK服务而产生的一切损失将由个人承担。

七、知识产权

1. 您承认百度公司拥有对百度翻译API或者SDK服务的所有权利,包括但不限于所有知识产权。“知识产权”指在专利法、版权法、商业机密法、商标法、反不正当竞争法等法中规定的所有权利以及其中的所有应用、更新、扩展和恢复,无论在现在还是以后在全球范围内实施和生效。

2. 您不能储存、更改、反编译、反向工程或者反汇编百度翻译API或者SDK。

八、服务终止

1. 百度有权在任意时间以任何理由终止API或SDK服务。当您出现对本协议的任何违反,或者百度向您发出了终止服务的通知,您将无权使用百度翻译API或者SDK服务。

2. 百度公司可随时对本协议作出变更并通过适当方式向您提示变更内容。您理解并同意,如果您在本协议作出变更后继续使用服务,则视为接受该变更。

上述条款将受中华人民共和国法律的约束并依据其解释。如出现纠纷,您和百度公司一致同意将纠纷交由北京市海淀区人民法院管辖。

如您对本协议内容有任何疑问,可发邮件至百度公司客服邮箱:

[email protected]

在法律允许的范围内,本协议的最终解释权归百度公司所有。

1.使用您的百度账号登录百度翻译开放平台( https://api.fanyi.baidu.com );

2.注册成为开发者,获得APPID;

3.进行开发者认证(如仅需标准版可跳过);

4.开通通用翻译API服务;

5.参考技术文档和Demo编写代码

通用翻译API通过HTTP接口对外提供多语种互译服务。您只需要通过调用通用翻译API,传入待翻译的内容,并指定要翻译的源语言(支持源语言语种自动检测)和目标语言种类,就可以得到相应的翻译结果。

通用翻译API HTTP地址:

http://api.fanyi.baidu.com/api/trans/vip/translate

通用翻译API HTTPS地址:

https://fanyi-api.baidu.com/api/trans/vip/translate

请求翻译query UTF-8编码 翻译源语言 语言列表 (可设置为auto) 语言列表 (不可设置为auto) appid APP ID 可在 管理控制台 查看 appid+q+salt+密钥 的MD5值 以下字段仅开通了词典、TTS者需填写 STRING 是否显示语音合成资源 tts=0显示,tts=1不显示 STRING 是否显示词典资源 dict=0显示,dict=1不显示 以下字段仅开通“我的术语库”用户需填写 action STRING 是否需使用自定义术语干预通用翻译API 1=是,0=否

请求方式:可使用GET或POST方式,如使用POST方式,Content-Type请指定为:application/x-www-form-urlencoded

字符编码:统一采用UTF-8编码格式

query长度:为保证翻译质量,请将单次请求长度控制在 6000 bytes以内。(汉字约为2000个)

签名生成方法

签名是为了保证调用安全,使用MD5算法生成的一段字符串,生成的签名长度为32位,签名中的英文字符均为小写格式。

生成方法:

Step1、将请求参数中的 APPID(appid), 翻译query(q, 注意为UTF-8编码), 随机数(salt), 以及平台分配的密钥(可在 管理控制台 查看)

按照 appid+q+salt+密钥 的顺序拼接得到字符串1。

Step2、对字符串1做md5,得到32位小写的sign。

1、待翻译文本(q)需为UTF-8编码

2、在生成签名拼接 appid+q+salt+密钥 字符串时,q不需要做URL encode,在生成签名之后,发送HTTP请求之前才需要对要发送的待翻译文本字段q做URL encode。

返回结果是json格式,包含以下字段:

翻译源语言 返回用户指定的语言,或自动检测的语言(源语言设为auto时) 返回用户指定的目标语言 trans_result MIXED LIST 返回翻译结果,包含src 和 dst 字段。 error_code Int32 仅当出现错误时显示 以下字段仅开通词典、TTS资源者可见 src_tts 原文tts mp3格式,暂时无法指定发音 dst_tts 译文tts mp3格式,暂时无法指定发音 中英词典资源 返回中文或英文词典资源,包含音标、简明释义等内容

例如:将英文单词apple翻译成中文:

请求参数:

q=apple

from=en

to=zh

appid=2015063000000001(请替换为您的appid)

salt=1435660288(随机码)

平台分配的密钥: 12345678

生成签名sign:

Step1. 拼接字符串1:

拼接 appid=2015063000000001 + q=apple + salt=1435660288 + 密钥=12345678

得到字符串1: "2015063000000001 apple 1435660288 12345678"

Step2. 计算签名sign(对字符串1做md5加密)

sign=md5(2015063000000001apple143566028812345678),

得到 sign=f89f9594663708c1605f3d736d01d2d4

拼接完整请求:

http://api.fanyi.baidu.com/api/trans/vip/translate?q=apple&from=en&to=zh&appid=2015063000000001&salt=1435660288&sign=f89f9594663708c1605f3d736d01d2d4

注:也可使用POST方式,如POST方式传送,Content-Type请指定为:application/x-www-form-urlencoded

源语言语种不确定时可设置为 auto,目标语言语种不可设置为auto。但对于非常用语种,语种自动检测可能存在误差。

通用翻译API默认不提供词典、语音合成资源。如需使用请先进行企业认证,之后发送邮件至[email protected]申请开通词典或语音合成资源,请注明您的使用场景及APPID。

资源开通后,API翻译结果中将默认附带dict(词典)和tts(语音合成)字段,仅对中英、英中互译有效。

词典资源:

词典分中英词典,由于每个词属性不同,词典结果不一定包含所有部分。

如源语言为中文,词典数据包括:拼音、词性、中文释义、英文释义、近义词等资源。

如源语言为英文,词典数据包括:英文释义、中文释义、音标、核心词汇类别等。

注:单个query需为词、词组或短语,如query为句子,则dict字段为空。

语音合成资源:

语音合成资源包含query原文、译文的发音,以mp3文件格式提供。

注:单个query内分段数超过3段,或字数超过500字,则tts字段为空。

自定义术语库

自定义术语库是百度翻译最新推出的API增值服务,如果您认为通用翻译API对于某些术语翻译不准确,可在“管理控制台-我的术语库”页面填写您认为正确的原文和译文,启用术语库,并在接口URL增加“&action=1”,即可在翻译结果中看到干预效果(提交后需等待10分钟方可生效)。

需要提醒您的是:因翻译模型并非对术语的一一替换,而是将您填写的术语翻译与原翻译进行对比和计算。如您填写的翻译与原译文差异过大,则可能导致干预后结果有错乱。此外,术语干预仅适用于专有名词、术语的自定义,目前暂不支持针对HTML代码(如<p> <div>)原样输出,即:您暂时无法在原文和译文都填写英文单词“text”。

各语言DEMO

PHP 版( 点击下载

JS 版( 点击下载

Python2 版( 点击下载

Python3 版( 点击下载

C 版( 点击下载

Java 版( 点击下载

C# 版( 点击下载

1. 如何在一次请求中翻译多个单词或者多段文本?

您可以在发送的字段q中用换行符(在多数编程语言中为转义符号 \n。其中\n是需要能被程序解析出来的换行符而不是字符串\n,您可以将\n用双引号包围 )或者回车换行来分隔要翻译的多个单词或者多段文本,这样您就能得到多段文本独立的翻译结果了。注意在发送请求之前需对q字段做URL encode!

2. 什么是URL encode?

网络标准RFC 1738规定了URL中只能使用英文字母、阿拉伯数字和某些标点符号,不能使用其他文字和符号。如果您需要翻译的文本里面出现了不在该规定范围内的字符(比如中文),需要通过URL encode将需要翻译的文本做URL编码才能发送HTTP请求。大部分编程语言都有现成的URL encode函数,具体使用方法可以针对您使用的编程语言自行搜索。

3. 通用翻译API中,字符数量如何统计?

字符数量的统计以翻译的源语言字符长度为标准。一个汉字、一个英文字母、一个标点符号等均记为一个字符。

4. 单次翻译请求是否有字符数限制?

为保证您的使用体验,请将单次翻译文本长度限定为6000字节以内(汉字约为2000个字符)。此外,高峰时期单次请求文本过长或将导致翻译超时。您可将query分多次请求。

5. 为什么我的请求总是返回错误码54001?

54001表示签名错误,请检查您的签名生成方法是否正确。
应该对 appid+q+salt+密钥 拼接成的字符串做MD5得到32位小写的sign。确保要翻译的文本q为UTF-8编码。
注意在生成签名拼接 appid+q+salt+密钥 字符串时,q不需要做URL encode,在生成签名之后,发送HTTP请求之前才需要对要发送的待翻译文本字段q做URL encode。
如果您无法确认自己生成签名的结果是否正确,可以将您生成的签名结果和在 https://md5jiami.51240.com/ 中生成的常规md5加密-32位小写签名结果对比。

6. 为什么我的请求会返回54003?

54003表示请求频率超限,请降低您的请求频率。

对于标准版服务,您的QPS(每秒请求量)=1,如需更大频率,请先进行身份认证,认证通过后可切换为高级版(适用于个人,QPS=10)或尊享版(适用于企业,QPS=100)

7. 如果我需要翻译整个网页,尖括号内的标签无法原样输出,怎么办?

翻译API会将传入的所有字符串当做可翻译字符,目前暂时无法区分哪些部分需原样保留,因此API不适合直接处理html文件。您可将html文件进行译前处理,抽取出待翻译文本,传入API翻译后再回填。

8. 我应该如何获取词典、语音合成资源结果?

接入文档与通用翻译API一致,接入流程上无变化。与未开通词典、语音合成服务相比,仅在返回结果处增加tts、dict字段,请注意辨别字段名称。

(1) 未接入资源时,query=apple,语言方向为英到中,返回结果为:

{"from":"en","to":"zh","trans_result":[{"src":"apple","dst":"苹果"}]}

接入词典、语音合成资源后,返回结果为:

{"from":"en","to":"zh","trans_result":[{"src":"apple","dst":"苹果","src_tts":"https:\/\/fanyiapp.cdn.bcebos.com\/api\/tts\/95e906875b87d342d7325a36a4e1ab42.mp3","dst_tts":"https:\/\/fanyiapp.cdn.bcebos.com\/api\/tts\/62f4ff87617655bc1f65e24cf4ed4963.mp3","dict":"{"lang":"1","word_result":{"simple_means":{"word_name":"apple","from":"original","word_means":["苹果"],"exchange":{"word_pl":["apples"]},"tags":{"core":["高考","考研"],"other":[""]},"symbols":[{"ph_en":"ˈæpl","ph_am":"ˈæpl","parts":[{"part":"n.","means":["苹果"]}],"ph_other":""}]}}}"}]}

(2) 未接入资源时,query=中国,语言方向为中到英,返回结果为:

{"from":"zh","to":"en","trans_result":[{"src":"中国","dst":"China"}]}

接入词典、语音合成资源后,返回结果为:

{"from":"zh","to":"en","trans_result":[{"src":"中国","dst":"China","src_tts":"https:\/\/fanyiapp.cdn.bcebos.com\/api\/tts\/d943b8e0e31e8d0ea8879dde5d41f016.mp3","dst_tts":"https:\/\/fanyiapp.cdn.bcebos.com\/api\/tts\/2e2312a1d33e2ff453f92d5d95277e13.mp3","dict":"{"lang":"0","word_result":{"simple_means":{"symbols":[{"word_symbol":"zhōngguó","parts":[{"part_name":"","means":[{"text":"China","part":"n.","word_mean":"China","means":["中国"]},{"text":"Sino-","part":"comb.","word_mean":"Sino-","means":["中国的","中国人(的)"]}]}]}],"word_name":"中国","from":"CEDict","word_means":["China","Sino-"]}}}"}]}

9. 我已开通词典、语音合成资源,但不想在结果中呈现,应该怎么办?

如需隐藏词典、语音合成信息,可在拼接请求参数时附加"&dict=1&tts=1",例如,如仅需隐藏tts字段,完整请求为:

http://api.fanyi.baidu.com/api/trans/vip/translate?q=apple&from=en&to=zh&appid=2015063000000001&salt=1435660288&sign=f89f9594663708c1605f3d736d01d2d4&tts=1

10. 我怎样开通“我的术语库”功能?

“我的术语库”功能面向个人及企业认证用户开放,您需首先前往“开发者信息”处完成身份认证,认证后即可在管理控制台看到“我的术语库”入口。目前自定义术语功能已开通“中文”和“英语”两个语种,更多语种需求,请发送邮件至[email protected]告诉我们。

11. 为什么我添加了术语却看不出效果?

添加术语却看不出效果,可能出于以下几个原因:

a. 添加或修改术语后,需要大约10分钟的生效时间,如果您是刚刚修改过术语,请您耐心等候生效;

b. 翻译系统判断您定义的翻译与原翻译差异过大。由于神经网络翻译模型中,术语的定制化干预功能并非对翻译结果的生硬替换,而是类似于“调优”。如果您对术语的定义与原释义含义差距过大,会导致经计算过后的出现不可控的翻译结果。如您对术语干预效果不满意,请与我们联系。[email protected]

http://api.fanyi.baidu.com/api/trans/vip/fieldtranslate

HTTPS地址:

https://fanyi-api.baidu.com/api/trans/vip/fieldtranslate

签名生成方法如下:

1、将请求参数中的 APPID(appid), 检测query(q, 注意为UTF-8编码), 随机数(salt), 支持翻译领域(domain),以及平台分配的密钥(可在 管理控制台 查看)

按照 appid+q+salt+domain+密钥 的顺序拼接得到字符串1。

2、对字符串1做md5,得到32位小写的sign。

1、请先将需要翻译的文本转换为UTF-8编码

2、在发送HTTP请求之前需要对各字段做 URL encode

3、在生成签名拼接 appid+q+salt+domain+密钥 字符串时,q不需要做URL encode,在生成签名之后,发送HTTP请求之前才需要对要发送的待检测文本字段q做URL encode。

4、支持post、get方式传输,post传输时Content-Type指定application/x-www-form-urlencoded。

5、科技电子、水利机械两个领域仅支持中到英,如设置语言方向为英到中,则默认输出通用翻译结果;生物医药领域可支持中到英和英到中两种语言方向。

返回结果是json格式,包含以下字段:

翻译源语言 trans_result MIXED LIST

定制化翻译API通过HTTP接口对外提供多语种互译服务。您只需要通过调用定制化翻译API,传入待翻译的内容,并指定要翻译的源语言和目标语言种类,就可以得到相应的翻译结果。

定制化翻译API HTTP地址:

http://api.fanyi.baidu.com/api/trans/private/translate

定制化翻译API HTTPS地址:

https://fanyi-api.baidu.com/api/trans/private/translate

您需要向该地址通过POST或GET方法发送下列字段来访问服务

请求翻译query UTF-8编码 翻译源语言 appid APP ID 可在 管理控制台 查看 appid+q+salt+密钥 的MD5值

签名是为了保证调用安全,使用MD5算法生成的一段字符串,生成的签名长度为 32位,签名中的英文字符均为小写格式

为保证翻译质量,请控制请求频次,并将单次请求长度控制在 6000 bytes以内。(汉字约为2000个)

签名生成方法如下:

1、将请求参数中的 APPID(appid), 翻译query(q, 注意为UTF-8编码), 随机数(salt), 以及平台分配的密钥(可在 管理控制台 查看)

按照 appid+q+salt+密钥 的顺序拼接得到字符串1。

2、对字符串1做md5,得到32位小写的sign。

1、请先将需要翻译的文本转换为UTF-8编码

2、在发送HTTP请求之前需要对各字段做 URL encode

3、在生成签名拼接 appid+q+salt+密钥 字符串时,q不需要做URL encode,在生成签名之后,发送HTTP请求之前才需要对要发送的待翻译文本字段q做URL encode。

返回结果是json格式,包含以下字段:

翻译源语言 trans_result MIXED LIST

其中 trans_result 包含了 src 和 dst 字段。

例:将apple从英文翻译成中文:

请求参数:

q=apple

from=en

to=zh

appid=2015063000000001

salt=1435660288

平台分配的密钥: 12345678

生成sign:

> 拼接字符串1

拼接 appid=2015063000000001 + q=apple + salt=1435660288 + 密钥=12345678

得到字符串1 = 2015063000000001 apple 1435660288 12345678

> 计算签名sign(对字符串1做md5加密,注意计算md5之前,串1必须为UTF-8编码)

sign=md5(2015063000000001apple143566028812345678)

sign=f89f9594663708c1605f3d736d01d2d4

完整请求为:

http://api.fanyi.baidu.com/api/trans/private/translate?q=apple&from=en&to=zh&appid=2015063000000001&salt=1435660288&sign=f89f9594663708c1605f3d736d01d2d4

也可以使用POST方法传送需要的参数。

定制化翻译API语言方向目前只支持中文和英文。

1. 如何在一次请求中翻译多个单词或者多段文本?

您可以在发送的字段q中用换行符(在多数编程语言中为转义符号 \n )来分隔要翻译的多个单词或者多段文本,这样您就能得到多个单词或多段文本独立的翻译结果了。注意在发送请求之前对q字段做URL encode!

2. 什么是URL encode?

网络标准RFC 1738规定了URL中只能使用英文字母、阿拉伯数字和某些标点符号,不能使用其他文字和符号。如果您需要翻译的文本里面出现了不在该规定范围内的字符(比如中文),需要通过URL encode将需要翻译的文本做URL编码才能发送HTTP请求。大部分编程语言都有现成的URL encode函数,具体使用方法可以针对您使用的编程语言自行搜索。

3. 为什么我的请求总是返回错误码54001?

54001表示签名错误,请检查您的签名生成方法是否正确。
应该对 appid+q+salt+密钥 拼接成的字符串做MD5得到32位小写的sign。确保要翻译的文本q为UTF-8编码。
注意在生成签名拼接 appid+q+salt+密钥 字符串时,q不需要做URL encode,在生成签名之后,发送HTTP请求之前才需要对要发送的待翻译文本字段q做URL encode。
如果您无法确认自己生成签名的结果是否正确,可以将您生成的签名结果和在 https://md5jiami.51240.com/ 中生成的常规md5加密-32位小写签名结果对比。

http://api.fanyi.baidu.com/api/trans/vip/language

HTTPS地址:

https://fanyi-api.baidu.com/api/trans/vip/language

签名生成方法如下:

1、将请求参数中的 APPID(appid), 翻译query(q, 注意为UTF-8编码), 随机数(salt), 以及平台分配的密钥(可在 管理控制台 查看)

按照 appid+q+salt+密钥 的顺序拼接得到字符串1。

2、对字符串1做md5,得到32位小写的sign。

1、请先将需要翻译的文本转换为UTF-8编码

2、在发送HTTP请求之前需要对各字段做 URL encode

3、在生成签名拼接 appid+q+salt+密钥 字符串时,q不需要做URL encode,在生成签名之后,发送HTTP请求之前才需要对要发送的待翻译文本字段q做URL encode。

4、支持post、get方式传输,post传输时Content-Type指定application/x-www-form-urlencoded。

返回结果是json格式,包含以下字段:

error_code STRING 返回错误码 error_msg STRING 返回错误信息 OBJECT 返回数据集 data.src STRING 检测语种结果

三、 集成指南

1. 复制语音翻译SDK库文件

复制 trans-asr-sdk_version.aar 到项目的libs目录下,然后在项目的build.gradle文件中,增加如下配置:

2. 配置权限

在项目的AndroidManifest.xml中增加如下权限(如果应用的targetSdkVersion>=23,请确保在调用SDK之前,应用已经获得以下权限,SDK不会主动动态申请权限)

四、 接口使用及调用流程

1. 初始化 TransAsrClient 类

2. 注册语音翻译回调

3. 开始语音翻译

4. 停止语音翻译,并且获得翻译结果

5. 取消语音识别

五、 其他常用接口

1. 其他配置接口

TransAsrConfig类定义了调用语音翻译SDK时的各种配置项,详情如下

2. 语种接口

Language类定义了目前百度翻译支持的语种列表以及是否支持语音识别、是否支持TTS播报相关接口

错误码列表

3. 集成语音SDK后,运行报错,提示 java.lang.UnsatisfiedLinkError

项目中的其他SDK,支持的CPU架构种类跟语音翻译不一致,可以只集成所有SDK共有的CPU架构类型,也可以按需选择需要的CPU架构类型,配置方式如下:

4. 是否可以控制翻译结果的播放次数?

可以。语音翻译SDK支持回调播放功能。

更详细的说明请见文档: javadoc.zip

5. 是否支持语音转文本(不翻译)?

不可以。SDK集成了语音识别、翻译和语音播报,单次query最长不超过60s。如仅需语音转文本的服务,请考虑接入 语音识别API。

SDK更新记录 2018.06.01 1.0.0 2018.08.10 1.0.1 语音识别新增日语 2018.12.27 3、4、5 1.0.2-1.0.4 修复若干已知问题 2019.01.29 1.0.5 增加语音翻译结果回调

1. 复制语音翻译SDK库文件

复制 BDTVoiceLib和third_party到项目的libs目录下。

将third_party开发包中的BDSpeechClientSDK_ASR_v3.0.8.0/BDSClientResource/ASR/BDSClientResources目录以“create folder references”方式添加到工程的资源Group中,注意使用"create groups"方式添加不能生效。

2. 配置权限

在项目的Info.plist中增加如下语音权限。Privacy - Microphone Usage Description

3. 添加如下Framework

四、 接口使用及调用流程

1. 添加头文件

2. 初始化语音翻译sdk

3. 开始语音翻译

4. 停止语音翻译,并且获得翻译结果

5. 取消语音识别

6. 停止TTS 发音

五、 其他配置接口

BDTVoiceTrans类定义了调用语音翻译SDK时的各种配置项,详情如下:

六、 语种支持

源语音识别支持中、英、日、粤四个语种,TTS发音支持中、英、日、韩、俄、粤、葡、德、法、西、泰、阿等12个语种,译文文字输出支持全部28个语种。详情如下:

错误码列表

一、翻译SDK错误码

二、 集成指南

1. 复制拍照翻译SDK

复制 trans-ocr-sdk_version.aar 到项目的libs目录下,然后在项目的build.gradle文件中,增加如下配置:

2. 配置权限

在项目的AndroidManifest.xml中增加如下权限(如果应用的targetSdkVersion>=23,请确保在调用SDK之前,应用已经获得以下权限,SDK不会主动动态申请权限)

三、 接口使用及调用流程

1. 创建OcrClient实例

2. 开始拍照翻译

我们提供了同步接口和异步接口,其中同步接口请求如下:

同步请求请在子线程中执行。

异步接口请求如下:

异步请求回调方法onOcrResult(OcrResult result)是在主线程中的。

四、 相关数据类解释

1. 语种类Language

Language.ZH Language.EN Language.JP Language.KOR Language.PT Language.FRA Language.DE Language.IT Language.SPA Language.RU

2. 识别结果OcrResult类

error errorMsg 错误码对应的错误信息 源语言方向 目标语言方向 contents 图中识别的每块结果 sumSrc 全部的识别原文 sumDst 全部的识别翻译结果

3. 识别结果OcrContent类

该块识别的原文结果 该块识别对应的译文结果 该块在图中对应的区域(依次顺序表示left, top, right, bottom) lineCount 该块中识别的原文行数