LanguageDetector: availability() statische Methode
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 statische Methode availability() der LanguageDetector-Schnittstelle 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
LanguageDetectorangibt. Mögliche Werte sind:expectedInputLanguages-
Ein Array von Zeichenfolgen, das die erwarteten Sprachen des Eingabetextes angibt, dessen Sprache erkannt werden soll. Diese sollten gültige BCP 47-Sprachtags sein. Voreinstellung ist
["en"]
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 ermittelt 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, aber es muss zuerst ein AI-Modell heruntergeladen werden oder einige Feinabstimmungen für das Modell benötigt werden.
downloading-
Der Browser unterstützt die gegebene Konfiguration, aber es muss ein laufender Download abgeschlossen werden, bevor fortgefahren werden kann.
-
Der Browser unterstützt die gegebene Konfiguration nicht.
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 fehlgeschlagen ist.
UnknownErrorDOMException-
Wird ausgelöst, wenn der
availability()-Aufruf aus einem anderen Grund fehlgeschlagen ist oder aus einem Grund, den der Benutzeragent nicht offenlegen wollte.
Wenn die Nutzung der Methode durch eine language-detector-Permissions-Policy blockiert wird, wird das Versprechen mit einem Wert von unavailable abgelehnt.
Beispiele
>Grundlegende Nutzung von availability()
Im folgenden Beispiel überprüfen wir zunächst die Verfügbarkeit des Modells zur Erkennung einiger Sprachen mit der availability()-Methode:
- Wenn sie
unavailablezurückgibt, geben wir eine entsprechende Fehlermeldung in die Konsole aus. - Wenn sie
availablezurückgibt, erstellen wir einen Sprachenerkenner mit dercreate()-Methode unter Übergabe derexpectedInputLanguages. Das benötigte AI-Modell ist verfügbar, daher können wir es sofort verwenden. - Wenn sie einen anderen Wert zurückgibt (das heißt,
downloadableoderdownloading), führen wir denselbencreate()-Methodenaufruf aus, aber dieses Mal fügen wir einenmonitorhinzu, der den Prozentsatz des heruntergeladenen Modells jedes Mal protokolliert, 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 der 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
| Specification |
|---|
| Translator and Language Detector APIs> # dom-languagedetector-availability> |
Browser-Kompatibilität
Loading…