翻譯工具轉譯方法- Azure Cognitive Services | Microsoft Docs

文章推薦指數: 80 %
投票人數:10人

translations 陣列包括一個項目,以提供輸入中單一文字片段的翻譯。

使用語言自動偵測轉譯單一輸入. 此範例示範如何將單一句子從英文翻譯成簡體中文。

跳到主要內容 已不再支援此瀏覽器。

請升級至MicrosoftEdge,以利用最新功能、安全性更新和技術支援。

下載MicrosoftEdge 其他資訊 目錄 結束焦點模式 儲存 共用 Twitter LinkedIn Facebook 電子郵件 WeChat 目錄 翻譯工具3.0:轉譯 發行項 12/22/2021 此頁面有所助益嗎? 請為您的體驗評分 Yes No 還有其他意見反應嗎? 系統會將意見反應傳送給Microsoft:按下[提交]按鈕,您的意見反應將用來改善Microsoft產品和服務。

隱私權原則。

送出 謝謝。

本文內容 翻譯文字。

要求URL 將POST要求傳送至: https://api.cognitive.microsofttranslator.com/translate?api-version=3.0 要求參數 在查詢字串上傳遞的要求參數為: 必要參數 查詢參數 描述 api-version 必要參數。

用戶端要求的API版本。

值必須為3.0。

to 必要參數。

指定輸出文字的語言。

目標語言必須是範圍內包含的支援語言之一。

例如,使用to=de翻譯為德文。

在查詢字串中重複參數,可能會同時翻譯為多種語言。

例如,使用to=de&to=it翻譯為德文和義大利文。

選擇性參數 查詢參數 描述 查詢參數 描述 從 選擇性參數。

指定輸入文字的語言。

使用範圍查閱支援語言,以尋找可用於翻譯的來源語言。

若未指定from參數,則會套用自動語言偵測來判斷來源語言。

from使用from功能時,您必須使用參數,而不是自動偵測。

textType 選擇性參數。

定義要翻譯的文字是純文字還是HTML文字。

任何HTML都需要是格式正確的完整項目。

可能的值為:plain(預設)或html。

category 選擇性參數。

字串,指定翻譯的分類(定義域)。

此參數用來從使用CustomTranslator所建置的自訂系統取得翻譯。

將自訂翻譯專案詳細資料中的分類識別碼新增至這個參數,以使用您已部署的自訂系統。

預設值為:general。

profanityAction 選擇性參數。

指定如何處理翻譯中的粗話。

可能的值為:NoAction(預設)、Marked或Deleted。

若要了解處理粗話的方式,請參閱粗話處理。

profanityMarker 選擇性參數。

指定如何在翻譯中標示粗話。

可能的值為:Asterisk(預設)或Tag。

若要了解處理粗話的方式,請參閱粗話處理。

includeAlignment 選擇性參數。

指定是否包括從來源文字到翻譯文字的對齊方式投影。

可能的值為:true或false(預設)。

includeSentenceLength 選擇性參數。

指定是否包括輸入文字和翻譯文字的句子界限。

可能的值為:true或false(預設)。

suggestedFrom 選擇性參數。

指定無法識別輸入文字語言時的後援語言。

省略參數時,會套用語言自動偵測from。

若偵測失敗,則會採用suggestedFrom語言。

fromScript 選擇性參數。

指定輸入文字的指令碼。

toScript 選擇性參數。

指定翻譯文字的指令碼。

allowFallback 選擇性參數。

指定當自訂系統不存在時,允許服務切換回一般系統。

可能的值為:true(預設)或false。

allowFallback=false會指出翻譯只應該使用針對要求所指定的category而進行訓練的系統。

如果languageX至languageY的翻譯需要透過pivot語言E進行連結,則鏈中的所有系統(X->E和E>y)都必須是自訂的,而且具有相同的類別。

如果沒有找到具有特定類別的系統,則要求會傳回400狀態碼。

allowFallback=true指定當自訂系統不存在時,允許服務切換回一般系統。

要求標頭包括: 標題 描述 驗證標頭 必要的要求標頭。

請參閱可用的驗證選項。

Content-Type 必要的要求標頭。

指定承載的內容類型。

接受的值為application/json;charset=UTF-8。

Content-Length 必要的要求標頭。

要求本文的長度。

X-ClientTraceId 選擇項。

用於識別唯一要求的GUID,由用戶端產生。

若您使用名為ClientTraceId的查詢參數在查詢字串中包含追蹤識別碼,您就可以省略此標頭。

要求本文 要求的本文是JSON陣列。

每個陣列項目都是字串屬性名為Text的JSON物件,其代表要翻譯的字串。

[ {"Text":"Iwouldreallyliketodriveyourcararoundtheblockafewtimes."} ] 適用下列限制: 陣列最多可以有100個項目。

要求中包含的完整文字不能超過10000個字元,包括空格。

回應本文 成功的回應是輸入陣列的每個字串各有一個結果的JSON陣列。

結果物件包含下列屬性: detectedLanguage:物件,透過下列屬性描述偵測到的語言: language:字串,代表偵測到語言的代碼。

score:浮點值,表示結果的信賴度。

分數介於0與1之間,分數低表示信賴度偏低。

detectedLanguage當要求語言自動偵測時,屬性只會出現在結果物件中。

translations:翻譯結果的陣列。

陣列大小符合透過to查詢參數指定的目標語言數。

陣列中的每個項目都包括: to:字串,代表目標語言的語言代碼。

text:字串,提供翻譯文字。

transliteration:物件,提供toScript參數所指定指令碼中的翻譯文字。

script:字串,指定目標指令碼。

text:字串,提供目標指令碼中的翻譯文字。

若未進行音譯,則不會包括transliteration物件。

alignment:單一字串屬性名為proj的物件,以將輸入文字對應至翻譯文字。

只有在要求參數includeAlignment是true時,才會提供對齊方式資訊。

對齊方式會以下列格式的字串值傳回:[[SourceTextStartIndex]:[SourceTextEndIndex]–[TgtTextStartIndex]:[TgtTextEndIndex]]。

冒號區隔開始與結束索引、虛線區隔語言,而空格區隔字組。

一個單字可能會與另一種語言中的零個、一個或多個單字對齊,而對齊的單字可能不連續。

沒有對齊方式資訊可用時,對齊方式項目會空白。

如需範例和限制,請參閱取得對齊資訊。

sentLen:物件,傳回輸入和輸出文字中的句子界限。

srcSentLen:整數陣列,代表輸入文字中句子的長度。

陣列長度就是句子數目,而值是每個句子的長度。

transSentLen:整數陣列,代表翻譯文字中句子的長度。

陣列長度就是句子數目,而值是每個句子的長度。

只有在要求參數includeSentenceLength是true時,才會包括句子界限。

sourceText:具有名為text之單一字串屬性的物件,以提供來源語言之預設指令碼中的輸入文字。

只有在以不是語言一般指令碼的指令碼表示輸入時,才會有sourceText屬性。

例如,若輸入是以拉丁文指令碼寫入的阿拉伯文,則sourceText.text會是轉換成阿拉伯文指令碼的相同阿拉伯文文字。

範例一節中提供JSON回應的範例。

回應標頭 標題 描述 X-RequestId 服務產生的值,用於識別要求。

作為疑難排解之用。

X-MT-System 指出要求進行翻譯的每個'to'語言翻譯所使用的系統類型。

此值是以逗號分隔的字串清單。

每個字串代表一種類型:*自訂-要求包含自訂系統,且在轉譯期間至少使用了一個自訂系統。

*小組-所有其他要求 回應狀態碼 以下是要求傳回的可能HTTP狀態碼。

ProfanityAction 動作 NoAction NoAction是預設行為。

粗話會從來源傳遞到目標。

範例來源(日文):彼はジャッカスです。

範例翻譯(英文):Heisajackass. Deleted 將會從輸出中移除不雅字眼,但不予取代。

範例來源(日文):彼はジャッカスです。

範例轉譯(英文):他是 Marked 不雅字眼會取代為輸出中的標記。

標記取決於ProfanityMarker參數。

對於ProfanityMarker=Asterisk,不雅字眼會取代為***:範例來源(日文):彼はジャッカスです。

範例轉譯(英文):他是\\*。

對於ProfanityMarker=Tag,不雅字眼會括上XML標籤:範例來源(日文):彼はジャッカスです。

範例翻譯(英文):Heisaprofanity>jackass. 如果發生錯誤,要求也會傳回JSON錯誤回應。

錯誤碼是6位數的數字,其中結合了3位數的HTTP狀態碼,後面接著將錯誤進一步分類的3位數數字。

您可以在v3翻譯工具參考頁面上找到常見的錯誤碼。

範例 翻譯單一輸入 此範例示範如何將單一句子從英文翻譯成簡體中文。

curl-XPOST"https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&from=en&to=zh-Hans"-H"Ocp-Apim-Subscription-Key:"-H"Content-Type:application/json;charset=UTF-8"-d"[{'Text':'Hello,whatisyourname?'}]" 回應本文如下: [ { "translations":[ {"text":"你好,你叫什么名字?","to":"zh-Hans"} ] } ] translations陣列包括一個項目,以提供輸入中單一文字片段的翻譯。

使用語言自動偵測轉譯單一輸入 此範例示範如何將單一句子從英文翻譯成簡體中文。

要求未指定輸入語言。

改為使用來源語言的自動偵測。

curl-XPOST"https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&to=zh-Hans"-H"Ocp-Apim-Subscription-Key:"-H"Content-Type:application/json;charset=UTF-8"-d"[{'Text':'Hello,whatisyourname?'}]" 回應本文如下: [ { "detectedLanguage":{"language":"en","score":1.0}, "translations":[ {"text":"你好,你叫什么名字?","to":"zh-Hans"} ] } ] 回應與前一個範例的回應類似。

由於已要求語言自動偵測,回應也會包含針對輸入文字偵測到的語言資訊。

使用較長的輸入文字可以更妥善地進行語言偵測。

含轉換的翻譯 讓我們新增轉換以擴充前一個範例。

下列要求會要求以拉丁文指令碼撰寫的中文翻譯。

curl-XPOST"https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&to=zh-Hans&toScript=Latn"-H"Ocp-Apim-Subscription-Key:"-H"Content-Type:application/json;charset=UTF-8"-d"[{'Text':'Hello,whatisyourname?'}]" 回應本文如下: [ { "detectedLanguage":{"language":"en","score":1.0}, "translations":[ { "text":"你好,你叫什么名字?", "transliteration":{"script":"Latn","text":"nǐhǎo,nǐjiàoshénmemíngzì?"}, "to":"zh-Hans" } ] } ] 翻譯結果現在包括transliteration屬性,以使用拉丁文字元來提供翻譯文字。

翻譯文字的多個片段 一次翻譯多個字串就像是在要求本文中指定字串陣列一樣。

curl-XPOST"https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&from=en&to=zh-Hans"-H"Ocp-Apim-Subscription-Key:"-H"Content-Type:application/json;charset=UTF-8"-d"[{'Text':'Hello,whatisyourname?'},{'Text':'Iamfine,thankyou.'}]" 回應會以與要求中完全相同的順序,包含所有文字片段的轉譯。

回應本文如下: [ { "translations":[ {"text":"你好,你叫什么名字?","to":"zh-Hans"} ] }, { "translations":[ {"text":"我很好,谢谢你。

","to":"zh-Hans"} ] } ] 翻譯為多種語言 本範例示範如何使用一個要求將相同輸入翻譯為數種語言。

curl-XPOST"https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&from=en&to=zh-Hans&to=de"-H"Ocp-Apim-Subscription-Key:"-H"Content-Type:application/json;charset=UTF-8"-d"[{'Text':'Hello,whatisyourname?'}]" 回應本文如下: [ { "translations":[ {"text":"你好,你叫什么名字?","to":"zh-Hans"}, {"text":"Hallo,wasistdeinName?","to":"de"} ] } ] 處理粗話 Translator服務通常會在翻譯中保留存在於來源的粗話。

粗話程度以及產生不雅字眼的內容在文化特性之間會不同,因此目標語言中的粗話程度可能會加大或減少。

若您想要在翻譯中避免粗話,則不論來源文字中是否有粗話,都可以使用粗話篩選選項。

此選項可讓您選擇是否要查看刪除的粗話、是否要使用適當的標籤標示粗話(可讓您選擇新增您自己的後續處理),或您不想要採取任何動作。

接受的ProfanityAction值為Deleted、Marked和NoAction(預設)。

ProfanityAction 動作 NoAction NoAction是預設行為。

粗話會從來源傳遞到目標。

範例來源(日文):彼はジャッカスです。

範例翻譯(英文):Heisajackass. Deleted 將會從輸出中移除不雅字眼,但不予取代。

範例來源(日文):彼はジャッカスです。

範例翻譯(英文):Heisa. Marked 不雅字眼會取代為輸出中的標記。

標記取決於ProfanityMarker參數。

對於ProfanityMarker=Asterisk,不雅字眼會取代為***:範例來源(日文):彼はジャッカスです。

範例轉譯(英文):他是\\*。

對於ProfanityMarker=Tag,不雅字眼會括上XML標籤:範例來源(日文):彼はジャッカスです。

範例翻譯(英文):Heisaprofanity>jackass. 例如: curl-XPOST"https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&from=en&to=de&profanityAction=Marked"-H"Ocp-Apim-Subscription-Key:"-H"Content-Type:application/json;charset=UTF-8"-d"[{'Text':'Thisisangoodidea.'}]" 此要求會傳回: [ { "translations":[ {"text":"Dasisteine***guteIdee.","to":"de"} ] } ] 相較於: curl-XPOST"https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&from=en&to=de&profanityAction=Marked&profanityMarker=Tag"-H"Ocp-Apim-Subscription-Key:"-H"Content-Type:application/json;charset=UTF-8"-d"[{'Text':'Thisisangoodidea.'}]" 這個最後一個要求會傳回: [ { "translations":[ {"text":"DasisteineverdammtguteIdee.","to":"de"} ] } ] 翻譯包含標記的內容,並決定翻譯內容 通常會翻譯包含標記的內容,例如HTML網頁的內容或XML檔的內容。

翻譯具有標籤的內容時,請包括textType=html查詢參數。

此外,排除特定內容不翻譯有時可能會十分有用。

您可以使用class=notranslate屬性,指定應該保留其原始語言的內容。

在下列範例中,不會翻譯第一個div項目內的內容,但會翻譯第二個div項目中的內容。

Thiswillnotbetranslated.

Thiswillbetranslated.
以下是要說明的範例要求。

curl-XPOST"https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&from=en&to=zh-Hans&textType=html"-H"Ocp-Apim-Subscription-Key:"-H"Content-Type:application/json;charset=UTF-8"-d"[{'Text':'Thiswillnotbetranslated.
Thiswillbetranslated.
'}]" 回應如下: [ { "translations":[ {"text":"Thiswillnotbetranslated.
这将被翻译。

","to":"zh-Hans"} ] } ] 取得對齊方式資訊 系統會以下列格式的字串值,傳回來源每個單字的對齊方式。

每個單字的資訊會以空格分隔,包括中文這類非以空格分隔的語言(指令碼): [[SourceTextStartIndex]:[SourceTextEndIndex]–[TgtTextStartIndex]:[TgtTextEndIndex]]* 範例對齊方式字串:"0:0-7:101:2-11:203:4-0:33:4-4:65:5-21:21"。

換句話說,冒號會分隔開始與結束索引、虛線會分隔語言,而空格則分隔單字。

一個單字可能會與另一種語言中的零個、一個或多個單字對齊,而對齊的單字可能不連續。

沒有對齊方式資訊可用時,Alignment元素便會空白。

在該情況下,方法不會傳回任何錯誤。

若要收到對齊方式資訊,請在查詢字串上指定includeAlignment=true。

curl-XPOST"https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&from=en&to=fr&includeAlignment=true"-H"Ocp-Apim-Subscription-Key:"-H"Content-Type:application/json;charset=UTF-8"-d"[{'Text':'Theanswerliesinmachinetranslation.'}]" 回應如下: [ { "translations":[ { "text":"Laréponsesetrouvedanslatraductionautomatique.", "to":"fr", "alignment":{"proj":"0:2-0:14:9-3:911:14-11:1916:17-21:2419:25-40:5027:37-29:3838:38-51:51"} } ] } ] 對齊方式資訊開始於0:2-0:1,表示來源文字中的前三個字元(The)對應至翻譯文字中的前兩個字元(La)。

限制 取得對齊資訊是一項實驗性功能,我們已針對可能的片語對應,使用原型設計研究和體驗。

未來可能會選擇停止支援。

以下是不支援對齊的一些值得注意的限制: HTML格式的文字未提供對齊,亦即textType=html 只會傳回一部分語言組的對齊方式: 除了繁體中文、廣東話(傳統)或塞爾維亞文(斯拉夫文)以外的其他任何語言的英文。

從日文到韓文,或從韓文到日文。

從日文到簡體中文,以及簡體中文至日文。

從簡體中文到中文繁體,繁體中文到簡體中文。

若句子是已定義的翻譯,則您收不到對齊方式。

已定義的翻譯範例是"Thisisatest"、"Iloveyou"和其他高頻率出現句子。

當您套用任何方法來防止轉譯(如下所述)時,將無法使用對齊 取得句子界限 若要收到來源文字和翻譯文字中句子長度的相關資訊,請在查詢字串上指定includeSentenceLength=true。

curl-XPOST"https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&from=en&to=fr&includeSentenceLength=true"-H"Ocp-Apim-Subscription-Key:"-H"Content-Type:application/json;charset=UTF-8"-d"[{'Text':'Theanswerliesinmachinetranslation.Thebestmachinetranslationtechnologycannotalwaysprovidetranslationstailoredtoasiteoruserslikeahuman.Simplycopyandpasteacodesnippetanywhere.'}]" 回應如下: [ { "translations":[ { "text":"Laréponsesetrouvedanslatraductionautomatique.Lameilleuretechnologiedetraductionautomatiquenepeutpastoujoursfournirdestraductionsadaptéesàunsiteoudesutilisateurscommeunêtrehumain.Ilsuffitdecopieretcollerunextraitdecoden’importeoù.", "to":"fr", "sentLen":{"srcSentLen":[40,117,46],"transSentLen":[53,157,62]} } ] } ] 使用動態字典翻譯 如果已經知道想要套用至單字或片語的翻譯,則可以在要求內以標記來提供。

動態字典只有適當的名詞才安全,例如個人名稱和產品名稱。

要提供的標記會使用下列語法。

phrase 例如,請考慮英文句子「word>wordomatic是字典專案」。

若要在翻譯中保留文字>wordomatic,請傳送要求: curl-XPOST"https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&from=en&to=de"-H"Ocp-Apim-Subscription-Key:"-H"Content-Type:application/json;charset=UTF-8"-d"[{'Text':'Thewordwordorphraseisadictionaryentry.'}]" 結果如下: [ { "translations":[ {"text":"DasWort\"wordomatic\"isteinWörterbucheintrag.","to":"de"} ] } ] 此功能的運作方式與textType=text或textType=html相同。

應該謹慎使用此功能。

自訂翻譯的適當且最適合方式是使用CustomTranslator。

CustomTranslator會完全利用內容和統計機率。

如果您已經或能夠建立定型資料,以便在上下文中顯示您的單字或片語,則會得到更好的結果。

深入瞭解自訂翻譯。

本文內容



請為這篇文章評分?