指定翻譯選項

已完成

API 的 Translate 函式支援許多會影響輸出的參數。

文字對齊

在書面英文 (使用拉丁指令碼) 中,空格是用來分隔單字。 不過,在某些其他語言 (更明確來說是指令碼) 中,並非總是如此。

例如,將「智慧型服務 (Smart Services)」從 en (英文) 翻譯成 zh (簡體中文) 會產生「智能服务」,這樣難以了解來源文字中的字元與翻譯中對應字元之間的關聯性。 若要解決這個問題,您可以在呼叫中指定 includeAlignment 參數,其值為 true,以產生下列結果:

[
   {
      "translations":[
         {
            "text":"智能服务",
            "to":"zh-Hans",
            "alignment":{
               "proj":"0:4-0:1 6:13-2:3"
            }
         }
      ]
   }
]

這些結果會告訴我們,來源中的字元 0 到 4 對應到翻譯 中的字元 0 到 1,而來源中的字元 6 到 13 則對應到翻譯中的字元 2 到 3。

句子長度

有時候,知道翻譯的長度可能會很有用,例如,判斷在使用者介面中顯示的效果有多好。 您可以藉由將 includeSentenceLength 參數設定為 true,來取得此資訊。

例如,將英文 (en) 文字 "Hello world" 翻譯為法文 (fr) 時,指定此參數會產生下列結果:

[
   {
      "translations":[
         {
            "text":"Salut tout le monde",
            "to":"fr",
            "sentLen":{"srcSentLen":[12],"transSentLen":[20]}
         }
      ]
   }
]

過濾不雅內容

有時候,文字會包含不雅字眼,您可能想要在翻譯中全部隱匿或省略。 您可以藉由指定 profanityAction 參數來處理不雅字眼,其值可以是下列其中一個值:

  • NoAction:不雅字眼會隨其餘文字一起翻譯。
  • Deleted:不雅字眼會在翻譯中省略。
  • Marked:使用 profanityMarker 參數 (如果提供) 中表示的技術,來表示不雅字眼。 此參數的預設值是星號,會將不雅字眼中的字元取代為 "*"。 或者,您可以將 profanityMarker 的值指定為 Tag,將不雅字眼包含在 XML 標記中。

例如,將英文 (en) 文字 "JSON is ▇▇▇▇ great!" (其中黑化的文字是不雅字眼) 翻譯為德文 (de),有 MarkedprofanityActionprofanityMarker星號,會產生下列結果:

[
   {
      "translations":[
         {
            "text":"JSON ist *** erstaunlich.",
            "to":"de"
         }
      ]
   }
]

注意

若要深入了解翻譯選項,包括這裡未說明的,請參閱 Azure AI 翻譯工具文件