翻譯工具 3.0:偵測

識別一段文字的語言。

要求 URL

POST 要求傳送至:

https://api.cognitive.microsofttranslator.com/detect?api-version=3.0

請參閱虛擬網路翻譯工具服務選取的網路和私人端點組態和支援的支援。

要求參數

在查詢字串上傳遞的要求參數為:

查詢參數 描述
api-version 必要參數。
用戶端要求的 API 版本。 值必須為 3.0

要求標頭包括:

標題 描述
驗證標頭 必要的要求標頭。
請參閱可用的驗證選項
Content-Type 必要的要求標頭。
指定承載的內容類型。 可能的值為:application/json
Content-Length 必要的要求標頭。
要求本文的長度。
X-ClientTraceId 選擇項
用於識別唯一要求的 GUID,由用戶端產生。 若您使用名為 ClientTraceId 的查詢參數在查詢字串中包含追蹤識別碼,您就可以省略此標頭。

要求本文

要求的本文是 JSON 陣列。 每個陣列項目都是具有字串屬性 Text 的 JSON 物件。 語言偵測會套用到 Text 屬性的值。 語言自動偵測對較長的輸入文字效果較好。 範例回應本文應如下所示:

[
    { "Text": "Ich würde wirklich gerne Ihr Auto ein paar Mal um den Block fahren." }
]

適用下列限制:

  • 陣列最多可以有 100 個項目。
  • 要求中包含的完整文字不能超過 50,000 個字元,包括空格。

回應本文

成功的回應是輸入陣列的每個字串各有一個結果的 JSON 陣列。 結果物件包含下列屬性:

  • language:代碼,代表偵測到的語言。

  • score:浮點值,表示結果的信賴度。 分數介於 0 與 1 之間,分數低表示信賴度偏低。

  • isTranslationSupported:布林值,如果偵測到的語言是文字翻譯支援的其中一種語言,則為 true。

  • isTransliterationSupported:布林值,如果偵測到的語言是支援音譯的語言之一,則為 true。

  • alternatives:陣列,包含其他可能語言。 陣列的每個元素都是下列屬性的另一個物件: languagescoreisTranslationSupportedisTransliterationSupported

範例 JSON 回應如下:

[

    {

        "language": "de",

        "score": 1.0,

        "isTranslationSupported": true,

        "isTransliterationSupported": false

    }

]

回應標頭

標題 描述
X-RequestId 服務產生的值,用於識別要求。 作為疑難排解之用。

回應狀態碼

以下是要求傳回的可能 HTTP 狀態碼。

狀態碼 描述
200 成功。
400 其中一個查詢參數遺失或無效。 請先修正要求參數再重試。
401 要求無法驗證。 請確認認證已指定且有效。
403 要求未獲授權。 請查看詳細錯誤訊息。 此程式碼通常表示已用完試用版訂用帳戶所提供的所有免費翻譯。
429 伺服器已拒絕要求,因為用戶端已超過要求限制。
500 發生意外錯誤。 若錯誤仍然存在,請回報:失敗的日期和時間、來自回應標頭 X-RequestId 的要求識別碼,以及來自要求標頭 X-ClientTraceId 的用戶端識別碼。
503 暫時無法使用伺服器。 重試要求。 若錯誤仍然存在,請回報:失敗的日期和時間、來自回應標頭 X-RequestId 的要求識別碼,以及來自要求標頭 X-ClientTraceId 的用戶端識別碼。

如果發生錯誤,要求會傳回 JSON 錯誤回應。 錯誤碼是 6 位數的數字,其中結合了 3 位數的 HTTP 狀態碼,後面接著將錯誤進一步分類的 3 位數數字。 v3 翻譯工具參考頁面上可找到常見的錯誤碼。

範例

以下範例顯示如何擷取支援文字轉換的語言。

curl -X POST "https://api.cognitive.microsofttranslator.com/detect?api-version=3.0" -H "Ocp-Apim-Subscription-Key: <client-secret>" -H "Content-Type: application/json" -d "[{'Text':'What language is this text written in?'}]"