文本翻譯:將一段源語言文本轉(zhuǎn)換成目標語言文本,可根據(jù)語言參數(shù)的不同實現(xiàn)多國語言之間的互譯。
智云上線了領(lǐng)域化翻譯,目前支持領(lǐng)域有計算機、金融、醫(yī)學和游戲四個領(lǐng)域;支持語種是中英雙向;
Hi,您好,歡迎使用有道智云文本翻譯API接口服務。如果您想快速體驗服務,建議您前往翻譯體驗中心 或者在體驗中心右下側(cè)找到小程序二維碼,掃描進行體驗。
本文檔主要針對需要集成HTTP API的技術(shù)開發(fā)工程師,詳細描述文本翻譯能力相關(guān)的技術(shù)內(nèi)容。
如果您有與我們商務合作的需求,可以通過以下方式聯(lián)系我們:
商務郵箱: AIcloud_Business@corp.youdao.com
如果您對文檔內(nèi)容有任何疑問,可以通過以下幾種方式聯(lián)系我們:
客服QQ:1906538062
智云翻譯技術(shù)交流QQ 1群: 652880659
智云翻譯技術(shù)交流QQ 2群: 669384425
智云翻譯技術(shù)交流QQ 3群: 807539209
智云翻譯技術(shù)交流QQ 4群: 936752411
聯(lián)系郵箱: zhiyun@corp.youdao.com
溫馨提示:
應用ID
和 應用密鑰
,請按照新手指南 獲取。文本翻譯API接口提供有道的翻譯服務,包含了中英翻譯和小語種翻譯功能。您只需要通過調(diào)用文本翻譯API,傳入待翻譯的內(nèi)容,并指定要翻譯的源語言(支持源語言語種自動檢測)和目標語言種類,就可以得到相應的翻譯結(jié)果。
文本翻譯API HTTPS地址:
https://openapi.youdao.com/api
調(diào)用方在集成文本翻譯API時,請遵循以下規(guī)則。
規(guī)則 | 描述 |
---|---|
傳輸方式 | HTTPS |
請求方式 | GET/POST |
字符編碼 | 統(tǒng)一使用UTF-8 編碼 |
請求格式 | 表單 |
響應格式 | JSON |
調(diào)用API需要向接口發(fā)送以下字段來訪問服務。
字段名 | 類型 | 含義 | 必填 | 備注 |
---|---|---|---|---|
q | text | 待翻譯文本 | True | 必須是UTF-8編碼 |
from | text | 源語言 | True | 參考下方 支持語言 (可設置為auto) |
to | text | 目標語言 | True | 參考下方 支持語言 |
appKey | text | 應用ID | True | 可在應用管理 查看 |
salt | text | 隨機字符串,可使用UUID進行生產(chǎn) | True | uuid (可使用uuid生成) |
sign | text | 簽名 | True | sha256(應用ID+input+salt+curtime+應用密鑰) |
signType | text | 簽名類型 | True | v3 |
curtime | text | 當前UTC時間戳(秒) | true | TimeStamp |
ext | text | 翻譯結(jié)果音頻格式,支持mp3 | false | mp3 |
voice | text | 翻譯結(jié)果發(fā)音選擇 | false | 0為女聲,1為男聲。默認為女聲 |
strict | text | 是否嚴格按照指定from和to進行翻譯:true/false | false | 如果為false,則會自動中譯英,英譯中。默認為false |
vocabId | text | 用戶上傳的術(shù)語表 | false | 用戶指定的術(shù)語表ID: out_id,支持英中互譯,更多語種方向請前往控制臺查詢 |
domain | text | 領(lǐng)域化翻譯 | false | 默認為:general。僅在控制臺開通領(lǐng)域化翻譯的情況下可傳,支持領(lǐng)域見下表 |
rejectFallback | text | 拒絕領(lǐng)域化翻譯降級-當領(lǐng)域化翻譯失敗時改為通用翻譯 | false | true或false,默認為:false。僅在控制臺開通領(lǐng)域化翻譯的情況生效。 |
簽名生成方法如下:
signType=v3;
sign=sha256(應用ID
+input
+salt
+curtime
+應用密鑰
);
其中,input的計算方式為:input
=q前10個字符
+q長度
+q后10個字符
(當q長度大于20)或input
=q字符串
(當q長度小于等于20);
注意:
不同語言獲取時間戳,請參看此鏈接
如果對簽名有疑問,可以參看各語言demo。
登錄控制臺,選擇文本翻譯服務,點擊右側(cè)的術(shù)語表,選擇新建,填寫表名稱和語言方向,添加需要的術(shù)語表,然后獲取對應詞表id即可。
對專業(yè)或者學術(shù)有要求的翻譯場景,開通方式如下:
登錄控制臺,選擇文本翻譯服務,勾選下面的領(lǐng)域翻譯服務,點擊保存即可開通使用。
取值 | 含義 |
---|---|
general | 通用(默認取值) |
computers | 計算機 |
medicine | 醫(yī)學 |
finance | 金融經(jīng)濟 |
game | 游戲 |
返回的結(jié)果是json格式,包含字段與FROM和TO的值有關(guān),具體說明如下:
字段名 | 類型 | 含義 | 備注 |
---|---|---|---|
errorCode | text | 錯誤返回碼 | 一定存在 |
query | text | 源語言 | 查詢正確時,一定存在 |
translation | Array | 翻譯結(jié)果 | 查詢正確時,一定存在 |
l | text | 源語言和目標語言 | 一定存在 |
dict | text | 詞典deeplink | 查詢語種為支持語言時,存在 |
webdict | text | webdeeplink | 查詢語種為支持語言時,存在 |
tSpeakUrl | text | 翻譯結(jié)果發(fā)音地址 | 翻譯成功一定存在,需要應用綁定語音合成服務才能正常播放 否則返回110錯誤碼 |
speakUrl | text | 源語言發(fā)音地址 | 翻譯成功一定存在,需要應用綁定語音合成服務才能正常播放 否則返回110錯誤碼 |
使用good單詞查詢作為示例進行說明:
輸出結(jié)果與FROM和TO的值有關(guān):
1. 當FROM和TO的值都在{zh-CHS, EN}范圍內(nèi)時
{
"errorCode":"0",
"query":"good", //查詢正確時,一定存在
"isDomainSupport":"true", //翻譯結(jié)果是否為領(lǐng)域翻譯(僅開通領(lǐng)域翻譯時存在)
"translation": [ //查詢正確時一定存在
"好"
],
"dict":{
"url":"yddict://m.youdao.com/dict?le=eng&q=good"
},
"webdict":{
"url":"http://m.youdao.com/dict?le=eng&q=good"
},
"l":"EN2zh-CHS",
"tSpeakUrl":"XXX",//翻譯后的發(fā)音地址
"speakUrl": "XXX" //查詢文本的發(fā)音地址
}
2. 當FROM和TO的值有在{zh-CHS, EN}范圍外的時候
{
"errorCode": "0",
"translation": ["大丈夫です"], //小語種翻譯,一定存在
"dict":{
"url":"yddict://m.youdao.com/dict?le=jap&q=%E6%B2%A1%E5%85%B3%E7%B3%BB%E3%80%82"
},
"webdict":{
"url":"http://m.youdao.com/dict?le=jap&q=%E6%B2%A1%E5%85%B3%E7%B3%BB%E3%80%82"
},
"l":"zh-CHS2ja",
"tSpeakUrl":"XXX", //翻譯后的發(fā)音地址
"speakUrl": "XXX" //查詢文本的發(fā)音地址
}
下表為各語言對應代碼:
英文名 | 中文名 | 代碼 | |
---|---|---|---|
Arabic | 阿拉伯語 | ar | |
German | 德語 | de | |
English | 英語 | en | |
Spanish | 西班牙語 | es | |
French | 法語 | fr | |
Hindi | 印地語 | hi | |
Indonesian | 印度尼西亞語 | id | |
Italian | 意大利語 | it | |
Japanese | 日語 | ja | |
Korean | 韓語 | ko | |
Dutch | 荷蘭語 | nl | |
Portuguese | 葡萄牙語 | pt | |
Russian | 俄語 | ru | |
hai | 泰語 | th | |
Vietnamese | 越南語 | vi | |
Chinese | 簡體中文 | zh-CHS | |
Chinese | 繁體中文 | zh-CHT | |
Afrikaans | 南非荷蘭語 | af | |
Amharic | 阿姆哈拉語 | am | |
Azeerbaijani | 阿塞拜疆語 | az | |
Belarusian | 白俄羅斯語 | be | |
Bulgarian | 保加利亞語 | bg | |
Bangla | 孟加拉語 | bn | |
Bosnian (Latin) | 波斯尼亞語 | bs | |
Catalan | 加泰隆語 | ca | |
Cebuano | 宿務語 | ceb | |
Corsican | 科西嘉語 | co | |
Czech | 捷克語 | cs | |
Welsh | 威爾士語 | cy | |
Danish | 丹麥語 | da | |
Greek | 希臘語 | el | |
Esperanto | 世界語 | eo | |
Estonian | 愛沙尼亞語 | et | |
Basque | 巴斯克語 | eu | |
Persian | 波斯語 | fa | |
Finnish | 芬蘭語 | fi | |
Fijian | 斐濟語 | fj | |
Frisian | 弗里西語 | fy | |
Irish | 愛爾蘭語 | ga | |
Scots | 蘇格蘭蓋爾語 | gd | |
Galician | 加利西亞語 | gl | |
Gujarati | 古吉拉特語 | gu | |
Hausa | 豪薩語 | ha | |
Hawaiian | 夏威夷語 | haw | |
Hebrew | 希伯來語 | he | |
Hindi | 印地語 | hi | |
Croatian | 克羅地亞語 | hr | |
Haitian | 海地克里奧爾語 | ht | |
Hungarian | 匈牙利語 | hu | |
Armenian | 亞美尼亞語 | hy | |
Igbo | 伊博語 | ig | |
Icelandic | 冰島語 | is | |
Javanese | 爪哇語 | jw | |
Georgian | 格魯吉亞語 | ka | |
Kazakh | 哈薩克語 | kk | |
Khmer | 高棉語 | km | |
Kannada | 卡納達語 | kn | |
Kurdish | 庫爾德語 | ku | |
Kyrgyz | 柯爾克孜語 | ky | |
Latin | 拉丁語 | la | |
Luxembourgish | 盧森堡語 | lb | |
Lao | 老撾語 | lo | |
Lithuanian | 立陶宛語 | lt | |
Latvian | 拉脫維亞語 | lv | |
Malagasy | 馬爾加什語 | mg | |
Maori | 毛利語 | mi | |
Macedonian | 馬其頓語 | mk | |
Malayalam | 馬拉雅拉姆語 | ml | |
Mongolian | 蒙古語 | mn | |
Marathi | 馬拉地語 | mr | |
Malay | 馬來語 | ms | |
Maltese | 馬耳他語 | mt | |
Hmong | 白苗語 | mww | |
Myanmar (Burmese) | 緬甸語 | my | |
Nepali | 尼泊爾語 | ne | |
Dutch | 荷蘭語 | nl | |
Norwegian | 挪威語 | no | |
Nyanja (Chichewa) | 齊切瓦語 | ny | |
Querétaro Otomi | 克雷塔羅奧托米語 | otq | |
Punjabi | 旁遮普語 | pa | |
Polish | 波蘭語 | pl | |
Pashto | 普什圖語 | ps | |
Romanian | 羅馬尼亞語 | ro | |
Sindhi | 信德語 | sd | |
Sinhala (Sinhalese) | 僧伽羅語 | si | |
Slovak | 斯洛伐克語 | sk | |
Slovenian | 斯洛文尼亞語 | sl | |
Samoan | 薩摩亞語 | sm | |
Shona | 修納語 | sn | |
Somali | 索馬里語 | so | |
Albanian | 阿爾巴尼亞語 | sq | |
Serbian (Cyrillic) | 塞爾維亞語(西里爾文) | sr-Cyrl | |
Serbian (Latin) | 塞爾維亞語(拉丁文) | sr-Latn | |
Sesotho | 塞索托語 | st | |
Sundanese | 巽他語 | su | |
Swedish | 瑞典語 | sv | |
Kiswahili | 斯瓦希里語 | sw | |
Tamil | 泰米爾語 | ta | |
Telugu | 泰盧固語 | te | |
Tajik | 塔吉克語 | tg | |
Filipino | 菲律賓語 | tl | |
Klingon | 克林貢語 | tlh | |
Tongan | 湯加語 | to | |
Turkish | 土耳其語 | tr | |
Tahitian | 塔希提語 | ty | |
Ukrainian | 烏克蘭語 | uk | |
Urdu | 烏爾都語 | ur | |
Uzbek | 烏茲別克語 | uz | |
Xhosa | 南非科薩語 | xh | |
Yiddish | 意第緒語 | yi | |
Yoruba | 約魯巴語 | yo | |
Yucatec | 尤卡坦瑪雅語 | yua | |
Cantonese (Traditional) | 粵語 | yue | |
Zulu | 南非祖魯語 | zu | |
自動識別 | auto |
注意:
其中auto可以識別中文、英文、日文、韓文、法文、西班牙文、葡萄牙文、俄文、越南文、德文、阿拉伯文、印尼文、意大利文,其他語種無法識別,為提高準確率,請指定語種。
若列表語言出現(xiàn)不支持的問題,請參考產(chǎn)品定價列表語種互譯的限制
單次查詢最大字符數(shù) | 每小時最大查詢次數(shù) | 每小時最大查詢字符數(shù) | 支持語言 |
---|---|---|---|
5000 | 100萬 | 120萬 | 詳見語種表 |
錯誤碼 | 含義 |
---|---|
101 | 缺少必填的參數(shù),首先確保必填參數(shù)齊全,然后確認參數(shù)書寫是否正確。 |
102 | 不支持的語言類型 |
103 | 翻譯文本過長 |
104 | 不支持的API類型 |
105 | 不支持的簽名類型 |
106 | 不支持的響應類型 |
107 | 不支持的傳輸加密類型 |
108 | 應用ID無效,注冊賬號,登錄后臺創(chuàng)建應用并完成綁定,可獲得應用ID和應用密鑰等信息 |
109 | batchLog格式不正確 |
110 | 無相關(guān)服務的有效應用,應用沒有綁定服務應用,可以新建服務應用。注:某些服務的翻譯結(jié)果發(fā)音需要tts服務,需要在控制臺創(chuàng)建語音合成服務綁定應用后方能使用。 |
111 | 開發(fā)者賬號無效 |
112 | 請求服務無效 |
113 | q不能為空 |
114 | 不支持的圖片傳輸方式 |
116 | strict字段取值無效,請參考文檔填寫正確參數(shù)值 |
201 | 解密失敗,可能為DES,BASE64,URLDecode的錯誤 |
202 | 簽名檢驗失敗,如果確認應用ID和應用密鑰的正確性,仍返回202,一般是編碼問題。請確保翻譯文本 q 為UTF-8編碼. |
203 | 訪問IP地址不在可訪問IP列表 |
205 | 請求的接口與應用的平臺類型不一致,確保接入方式(Android SDK、IOS SDK、API)與創(chuàng)建的應用平臺類型一致。如有疑問請參考入門指南 |
206 | 因為時間戳無效導致簽名校驗失敗 |
207 | 重放請求 |
301 | 辭典查詢失敗 |
302 | 翻譯查詢失敗 |
303 | 服務端的其它異常 |
304 | 翻譯失敗,請聯(lián)系技術(shù)同學 |
308 | rejectFallback參數(shù)錯誤 |
309 | domain參數(shù)錯誤 |
310 | 未開通領(lǐng)域翻譯服務 |
401 | 賬戶已經(jīng)欠費,請進行賬戶充值 |
402 | offlinesdk不可用 |
411 | 訪問頻率受限,請稍后訪問 |
412 | 長請求過于頻繁,請稍后訪問 |
1001 | 無效的OCR類型 |
1002 | 不支持的OCR image類型 |
1003 | 不支持的OCR Language類型 |
1004 | 識別圖片過大 |
1201 | 圖片base64解密失敗 |
1301 | OCR段落識別失敗 |
1411 | 訪問頻率受限 |
1412 | 超過最大識別字節(jié)數(shù) |
2003 | 不支持的語言識別Language類型 |
2004 | 合成字符過長 |
2005 | 不支持的音頻文件類型 |
2006 | 不支持的發(fā)音類型 |
2201 | 解密失敗 |
2301 | 服務的異常 |
2411 | 訪問頻率受限,請稍后訪問 |
2412 | 超過最大請求字符數(shù) |
3001 | 不支持的語音格式 |
3002 | 不支持的語音采樣率 |
3003 | 不支持的語音聲道 |
3004 | 不支持的語音上傳類型 |
3005 | 不支持的語言類型 |
3006 | 不支持的識別類型 |
3007 | 識別音頻文件過大 |
3008 | 識別音頻時長過長 |
3009 | 不支持的音頻文件類型 |
3010 | 不支持的發(fā)音類型 |
3201 | 解密失敗 |
3301 | 語音識別失敗 |
3302 | 語音翻譯失敗 |
3303 | 服務的異常 |
3411 | 訪問頻率受限,請稍后訪問 |
3412 | 超過最大請求字符數(shù) |
4001 | 不支持的語音識別格式 |
4002 | 不支持的語音識別采樣率 |
4003 | 不支持的語音識別聲道 |
4004 | 不支持的語音上傳類型 |
4005 | 不支持的語言類型 |
4006 | 識別音頻文件過大 |
4007 | 識別音頻時長過長 |
4201 | 解密失敗 |
4301 | 語音識別失敗 |
4303 | 服務的異常 |
4411 | 訪問頻率受限,請稍后訪問 |
4412 | 超過最大請求時長 |
5001 | 無效的OCR類型 |
5002 | 不支持的OCR image類型 |
5003 | 不支持的語言類型 |
5004 | 識別圖片過大 |
5005 | 不支持的圖片類型 |
5006 | 文件為空 |
5201 | 解密錯誤,圖片base64解密失敗 |
5301 | OCR段落識別失敗 |
5411 | 訪問頻率受限 |
5412 | 超過最大識別流量 |
9001 | 不支持的語音格式 |
9002 | 不支持的語音采樣率 |
9003 | 不支持的語音聲道 |
9004 | 不支持的語音上傳類型 |
9005 | 不支持的語音識別 Language類型 |
9301 | ASR識別失敗 |
9303 | 服務器內(nèi)部錯誤 |
9411 | 訪問頻率受限(超過最大調(diào)用次數(shù)) |
9412 | 超過最大處理語音長度 |
10001 | 無效的OCR類型 |
10002 | 不支持的OCR image類型 |
10004 | 識別圖片過大 |
10201 | 圖片base64解密失敗 |
10301 | OCR段落識別失敗 |
10411 | 訪問頻率受限 |
10412 | 超過最大識別流量 |
11001 | 不支持的語音識別格式 |
11002 | 不支持的語音識別采樣率 |
11003 | 不支持的語音識別聲道 |
11004 | 不支持的語音上傳類型 |
11005 | 不支持的語言類型 |
11006 | 識別音頻文件過大 |
11007 | 識別音頻時長過長,最大支持30s |
11201 | 解密失敗 |
11301 | 語音識別失敗 |
11303 | 服務的異常 |
11411 | 訪問頻率受限,請稍后訪問 |
11412 | 超過最大請求時長 |
12001 | 圖片尺寸過大 |
12002 | 圖片base64解密失敗 |
12003 | 引擎服務器返回錯誤 |
12004 | 圖片為空 |
12005 | 不支持的識別圖片類型 |
12006 | 圖片無匹配結(jié)果 |
13001 | 不支持的角度類型 |
13002 | 不支持的文件類型 |
13003 | 表格識別圖片過大 |
13004 | 文件為空 |
13301 | 表格識別失敗 |
15001 | 需要圖片 |
15002 | 圖片過大(1M) |
15003 | 服務調(diào)用失敗 |
17001 | 需要圖片 |
17002 | 圖片過大(1M) |
17003 | 識別類型未找到 |
17004 | 不支持的識別類型 |
17005 | 服務調(diào)用失敗 |
上線日期 | 版本號 | 更新內(nèi)容 |
---|---|---|
2019.04.22 | v1.0.0 | 新增中文與意大利文、英文與日文互譯;新增單詞校驗邏輯,對于輸入單詞大小寫混合返回小寫單詞、單詞前面存在符號時返回去符號單詞、中文繁體返回純簡體內(nèi)容。 |
2023.05.11 | v2.0.0 | 更新多語言示例 demo及下載鏈接 |
2024.04.22 | v3.0.0 | 下線接口內(nèi)相關(guān)的詞典數(shù)據(jù)內(nèi)容 |
注:其他開發(fā)語言請參照 接口API文檔 進行開發(fā),也歡迎企業(yè)咨詢來提出你們需要的demo。
<!doctype html>
<head>
<meta charset="utf-8"/>
</head>
<body>
<div>可打開瀏覽器控制臺查看結(jié)果</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://cdn.bootcdn.net/ajax/libs/crypto-js/4.0.0/crypto-js.js"></script>
<script type="text/javascript">
var appKey = '';
var key = '';//注意:暴露appSecret,有被盜用造成損失的風險
var salt = (new Date).getTime();
var curtime = Math.round(new Date().getTime()/1000);
var query = '您好,歡迎再次使用有道智云文本翻譯API接口服務';
// 多個query可以用\n連接 如 query='apple\norange\nbanana\npear'
var from = 'zh-CHS';
var to = 'en';
var str1 = appKey + truncate(query) + salt + curtime + key;
var vocabId = '您的用戶詞表ID';
//console.log('---',str1);
var sign = CryptoJS.SHA256(str1).toString(CryptoJS.enc.Hex);
$.ajax({
url: 'https://openapi.youdao.com/api',
type: 'post',
dataType: 'jsonp',
data: {
q: query,
appKey: appKey,
salt: salt,
from: from,
to: to,
sign: sign,
signType: "v3",
curtime: curtime,
vocabId: vocabId,
},
success: function (data) {
console.log(data);
}
});
function truncate(q){
var len = q.length;
if(len<=20) return q;
return q.substring(0, 10) + len + q.substring(len-10, len);
}
</script>
</body>