LanguageDetector: availability() statische Methode
Eingeschränkt verfügbar
Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.
Want more browser support for this feature? Tell us why.
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> |