LanguageDetector: detect() 方法

實驗性: 這是一項實驗性技術
在生產中使用此技術之前,請仔細檢查瀏覽器相容性表格

安全上下文: 此功能僅在安全上下文(HTTPS)中可用,且支援此功能的瀏覽器數量有限。

LanguageDetector 介面的 detect() 方法用於檢測給定文字字串最有可能屬於哪種或哪些語言。

語法

js
detect(input)
detect(input, options)

引數

input

一個表示待檢測語言的文字字串。

options 可選

一個指定 detect() 操作配置選項的物件。可能的值包括:

signal

一個 AbortSignal 物件例項,它允許透過關聯的 AbortController 來中止 detect() 操作。

返回值

一個 Promise,它會 fulfilled 一個包含表示檢測到的語言的物件陣列。每個物件包含以下屬性:

detectedLanguage

一個 BCP 47 語言標籤,表示檢測到的語言。

confidence

一個介於 01 之間的數字,表示 AI 模型對檢測到的語言正確的置信度。

理論上,所有返回的 confidence 值之和應為 1,但實際可能低於 1,因為置信度非常低的值會從結果中排除。

返回的最後一個數組元素將始終具有 detectedLanguageund — 這是“undetermined”(未確定)的縮寫,表示該文字不是模型已知語言的可能性。

異常

InvalidStateError DOMException

如果當前 Document 未啟用,則丟擲此異常。

QuotaExceededError

如果語言檢測操作超過了可用的 inputQuota,則會丟擲此錯誤。

示例

detect() 的基本用法

js
const detector = await LanguageDetector.create({
  expectedInputLanguages: ["en-US", "zh"],
});

const results = await detector.detect(myTextString);

results.forEach((result) => {
  console.log(`${result.detectedLanguage}: ${result.confidence}`);
});

// Results in logs like this:
// la: 0.8359838724136353
// es: 0.017705978825688362
// sv: 0.012977192178368568
// en: 0.011148443445563316
// und: 0.0003214875760022551

規範

規範
翻譯器和語言檢測器 API
# dom-languagedetector-detect

瀏覽器相容性

另見