指定翻譯選項
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),有 Marked 的 profanityAction 且 profanityMarker 為星號,會產生下列結果:
[
{
"translations":[
{
"text":"JSON ist *** erstaunlich.",
"to":"de"
}
]
}
]
注意
若要深入了解翻譯選項,包括這裡未說明的,請參閱 Azure AI 翻譯工具文件。