百度翻译 API
  1. 通用翻译
百度翻译 API
  • 服务协议
  • 未命名文档
  • SDK隐私政策
  • 快速入门
    • 平台介绍
    • 注册账号
    • 接入服务
  • 开发者文档
    • 通用翻译
      • 接入举例
      • 语种列表
      • 词典、语音合成资源
      • 自定义术语库
      • 常见问题
      • 通用翻译API接入文档
        POST
    • 垂直领域
      • 接入举例
      • 语种列表
      • 错误码列表
      • 垂直领域API接入文档
    • 文档翻译
      • 翻译服务通知回调
      • 语种列表
      • 错误码列表
      • 统计校验服务
      • 翻译服务
    • 语音识别
      • 接入示例
      • 错误码列表
      • 语种识别API接入文档
    • 图片翻译
      • 语种列表
      • 错误码列表
      • SDK接入方式
      • 图片翻译API接入文档
    • 语音翻译
      • 语种列表
      • 错误码
      • SDK接入方式
      • 语音翻译 API 接入文档
  • 常见问题
    • 账号相关
    • 财务相关
  • 特色功能
    • 同步保存网盘
  1. 通用翻译

常见问题

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分多次请求。

5. 为什么我的请求总是返回签名错误(错误码54001)?#

54001表示签名错误,请检查按照如下步骤检查您的签名生成方法是否正确:
\1. appid+q+salt+密钥拼接成的字符串做MD5得到32位小写的sign,确保要翻译的文本q为UTF8格式;
\2. 在生成签名拼接 appid+q+salt+密钥 字符串时,q不需要做URL encode,在生成签名之后,发送HTTP请求之前才需要对要发送的待翻译文本字段q做URL encode。很多开发者遇到签名报错均是由于拼接sign前就做了URL encode,或在拼接URL时对query做了两次URL encode。如有不明白可前往https://tool.chinaz.com/tools/urlencode.aspx验证;
\3. 如果您无法确认自己生成签名的结果是否正确,可以将您生成的签名结果和在https://md5jiami.51240.com/中生成的常规MD5加密-32位小写签名结果对比;
\4. 如您使用POST方式传送,Content-Type请指定为:application/x-www-form-urlencoded;
\5. 请参考上方各语言Demo代码文档仔细检查。

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

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

7. 为什么我的请求会返回 52001?#

52001 表示请求超时,请检查按照如下步骤检查您的签名生成方法是否正确:
\1. 您传入的 query 长度是否超长?建议将原文采用"\n"分段请求;
\2. 如间隔一段时间再次请求,是否可正常返回结果?如果不可以,请检查您所填写的原文或译文语种是否在支持的语种列表里。

8. 为什么我的请求会返回58003?#

因黑产采用不正当手段收集用户APPID及密钥,由此产生的盗刷字符量现象日益猖獗,系统风控增加了 IP 校验规则,如同一 IP 当日使用多个 APPID 发送翻译请求,则该IP将被封禁当日请求权限,次日解封。
但由于 IP 多变,应用场景复杂,难免出现误伤正常使用的情况。如您属正常使用,但出现 58003 的提示,请发送邮件至 translate_api@baidu.com,同时提供如下信息。我方在收到邮件后将与您取得联系,核实后将解除封禁。
公司名称:
产品名称:
联系人:
联系方式:
服务器IP:
APPID:
注:
1)如提供信息不全,将影响审核通过率。
2)请不要将您的 APPID 及密钥泄露出去,也不要填写到任何第三方软件中,包括“SCITranslate”、“微信学英语”、“Potplayer”等软件以及各类计算机辅助翻译工具插件。如因此造成密钥泄露形成经济损失,或因此被封禁,百度翻译将有权拒绝解封。

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

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

10. 是否支持对译文中的术语结果进行修改?#

已认证用户可进入“管理控制台→ 我的术语库”维护术语列表,同时开通“干预通用翻译API结果”。开通后,您将可对译文中的术语翻译结果进行优化和修正。请注意:干预通用翻译API结果将可能导致翻译延时增长。因此在无需干预结果时可将开关关闭。
如术语干预功能无法满足您的需要,或有更多意见或建议,可联系translate_api@baidu.com。

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

接入文档与通用翻译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ōng guó\",\"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-\"]}}}"
    }
  ]
}

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

如需隐藏词典、语音合成信息,可在拼接请求参数时附加"&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

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

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

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

添加术语却看不出效果,可能出于以下几个原因:
\1. 添加或修改术语后,需要大约 10 分钟的生效时间,如果您是刚刚修改过术语,请您耐心等候生效;
\2. 在拼接接口 URL 时,需要在输入参数中增加“action=1”,详见输入参数小节;
\3. 翻译系统判断您定义的翻译与原翻译差异过大。由于神经网络翻译模型中,术语的定制化干预功能并非对翻译结果的生硬替换,而是类似于“调优”。如果您对术语的定义与原释义含义差距过大,会导致经计算过后的出现不可控的翻译结果。如您对术语干预效果不满意,请与translate_api@baidu.com联系。
上一页
自定义术语库
下一页
通用翻译API接入文档
Built with