Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
The detect() method of the LanguageDetector interface detects the closest matching language or languages that a given text string is most likely to be written in.
detect(input)
detect(input, options)inputA string representing the text to have its language detected.
options OptionalAn object specifying configuration options for the detect() operation. Possible values include:
signalAn AbortSignal object instance, which allows the detect() operation to be aborted via the associated AbortController.
A Promise that fulfills with an array of objects representing the detected languages. Each object contains the following properties:
detectedLanguageA BCP 47 language tag representing the detected language.
confidenceA number between 0 and 1 representing the AI model's confidence that the detected language is correct.
The sum of all the returned confidence values should theoretically be 1, however, it may be lower because very low confidence values are excluded from the results.
The last array element returned will always have a detectedLanguage value of und — this is an abbreviation of "undetermined", and represents the probability that the text is not written in a language the model knows.
AbortError DOMExceptionThrown if the LanguageDetector was previously destroyed (had LanguageDetector.destroy() called on it, or was aborted via its abort signal after creation).
InvalidStateError DOMExceptionThrown if the current Document is not active.
QuotaExceededErrorThrown if the language detection operation exceeds the available inputQuota.
detect() usageconst 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