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
LanguageDetector
angibt. 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
InvalidStateError
DOMException
-
Wird ausgelöst, wenn das
Document
der Seite noch nicht aktiv ist. OperationError
DOMException
-
Wird ausgelöst, wenn die Initialisierung des AI-Modells aus irgendeinem Grund fehlgeschlagen ist.
UnknownError
DOMException
-
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
unavailable
zurückgibt, geben wir eine entsprechende Fehlermeldung in die Konsole aus. - Wenn sie
available
zurü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,
downloadable
oderdownloading
), führen wir denselbencreate()
-Methodenaufruf aus, aber dieses Mal fügen wir einenmonitor
hinzu, 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…