LanguageDetector: availability() statische Methode
Eingeschränkt verfügbar
Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Die availability() statische Methode des LanguageDetector-Interfaces gibt einen enumerierten Wert zurück, der anzeigt, ob das Browser-AI-Modell eine gegebene LanguageDetector-Konfiguration unterstützt.
Syntax
LanguageDetector.availability(options)
Parameter
options-
Ein Objekt, das Konfigurationsoptionen für den
LanguageDetectorspezifiziert. Mögliche Werte sind:expectedInputLanguages-
Ein Array von Strings, das die erwarteten Sprachen des Eingabetextes angibt, deren Sprache erkannt werden soll. Diese sollten gültige BCP 47-Sprach-Tags sein. Standardmäßig auf
["en"]gesetzt.
Rückgabewert
Ein Promise, das mit einem enumerierten Wert erfüllt wird, der anzeigt, ob Unterstützung für eine gegebene LanguageDetector-Konfiguration verfügbar ist (oder verfügbar sein wird), oder null, wenn die Unterstützung nicht festgestellt werden konnte.
Mögliche Werte sind:
available-
Der Browser unterstützt die gegebene Konfiguration und sie kann sofort verwendet werden.
downloadable-
Der Browser unterstützt die gegebene Konfiguration, muss jedoch zuerst ein AI-Modell oder einige Feinabstimmungsdaten für das Modell herunterladen.
downloading-
Der Browser unterstützt die gegebene Konfiguration, muss jedoch einen laufenden Download abschließen, bevor fortgefahren werden kann.
-
Der Browser unterstützt die gegebene Konfiguration nicht, oder die Language Detector API wird durch eine
language-detectorPermissions-Policyblockiert.
Ausnahmen
InvalidStateErrorDOMException-
Wird ausgelöst, wenn das
Documentder Seite noch nicht aktiv ist. OperationErrorDOMException-
Wird ausgelöst, wenn die Initialisierung des AI-Modells aus irgendeinem Grund fehlschlägt.
UnknownErrorDOMException-
Wird ausgelöst, wenn der
availability()-Aufruf aus einem anderen Grund fehlschlägt, oder aus einem Grund, den der Benutzeragent nicht bekannt geben wollte.
Beispiele
>Grundlegende availability()-Nutzung
Im folgenden Beispiel überprüfen wir zunächst die Verfügbarkeit des Modells für die Erkennung einiger Sprachen mit der availability()-Methode:
- Wenn es
unavailablezurückgibt, drucken wir eine entsprechende Fehlermeldung in die Konsole. - Wenn es
availablezurückgibt, erstellen wir mit der Methodecreate()einen Sprachdetektor und übergeben ihm dieexpectedInputLanguages. Das erforderliche AI-Modell ist verfügbar, daher können wir es sofort verwenden. - Wenn es einen anderen Wert zurückgibt (d.h.
downloadableoderdownloading), führen wir denselbencreate()-Methodenaufruf aus, aber diesmal fügen wir einenmonitorhinzu, der den Prozentsatz des Modells protokolliert, der jedes Mal heruntergeladen wird, wenn dasdownloadprogress-Ereignis ausgelöst wird.
async function getDetector(languages) {
const availability = await LanguageDetector.availability({
expectedInputLanguages: languages,
});
if (availability === "unavailable") {
console.log(`Detection not supported; try a different set of languages.`);
return undefined;
} else if (availability === "available") {
return await LanguageDetector.create({
expectedInputLanguages: languages,
});
}
return await LanguageDetector.create({
expectedInputLanguages: languages,
monitor(monitor) {
monitor.addEventListener("downloadprogress", (e) => {
console.log(`Downloaded ${Math.floor(e.loaded * 100)}%`);
});
},
});
}
const detector = await getDetector(["en-US", "zh"]);
Erkennung von Sprachunterstützung
async function langSupport(language) {
const availability = await LanguageDetector.availability({
expectedInputLanguages: [language],
});
return availability;
}
await langSupport("en");
await langSupport("pt");
await langSupport("zh");
Spezifikationen
| Spezifikation |
|---|
| Translator and Language Detector APIs> # dom-languagedetector-availability> |