Translator: 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() des Translator-Interfaces gibt einen enumerierten Wert zurück, der die Verfügbarkeit des KI-Modells für die gegebene Translator-Konfiguration anzeigt.
Syntax
Translator.availability(options)
Parameter
options-
Ein Objekt, das Konfigurationsoptionen für den
Translatorangibt. Mögliche Werte sind:sourceLanguage-
Ein String, der die Sprache des zu übersetzenden Eingangstextes angibt. Es sollte ein gültiges BCP 47 Sprach-Tag (wie in RFC 5646 angegeben) sein.
targetLanguage-
Ein String, der die Sprache angibt, in die der Eingangstext übersetzt wird. Es sollte ein gültiges BCP 47 Sprach-Tag sein.
Rückgabewert
Ein Promise, das mit einem enumerierten Wert erfüllt wird, der anzeigt, ob die Unterstützung für eine gegebene Translator-Konfiguration verfügbar ist (oder verfügbar sein wird) oder null, wenn die Unterstützung nicht bestimmt 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 KI-Modell oder einige Feindaten für das Modell heruntergeladen werden.
downloading-
Der Browser unterstützt die gegebene Konfiguration, aber es muss zuerst ein laufender Download abgeschlossen werden.
-
Der Browser unterstützt die gegebene Konfiguration nicht. Dieser Wert wird auch zurückgegeben, wenn die angegebene
sourceLanguageundtargetLanguagegleich sind.
Ausnahmen
InvalidStateErrorDOMException-
Wird ausgelöst, wenn das
Documentder Seite noch nicht aktiv ist. OperationErrorDOMException-
Wird ausgelöst, wenn die Initialisierung des KI-Modells aus irgendeinem Grund fehlgeschlagen ist.
UnknownErrorDOMException-
Wird ausgelöst, wenn der
availability()-Aufruf aus einem anderen Grund oder aus einem Grund, den der Benutzeragent nicht offenlegen wollte, fehlgeschlagen ist.
Sollte die Nutzung der Methode durch eine translator Permissions-Policy blockiert sein, schlägt das Promise mit einem Wert von unavailable fehl.
Beispiele
>Grundlegende Verwendung von availability()
Im folgenden Codeausschnitt prüfen wir zunächst die Verfügbarkeit des Modells für die Übersetzung zwischen zwei Sprachen mit der availability()-Methode:
- Wenn es
unavailablezurückgibt, drucken wir eine entsprechende Fehlermeldung in die Konsole. - Wenn es
availablezurückgibt, erstellen wir einen Übersetzer mit dercreate()-Methode, indem wir die Quell- und Zielsprachen übergeben. Das erforderliche KI-Modell ist verfügbar, also können wir es sofort verwenden. - Wenn es einen anderen Wert zurückgibt (d.h.
downloadableoderdownloading), führen wir denselbencreate()-Methodenaufruf aus, aber dieses Mal fügen wir einenmonitorhinzu, der den Prozentsatz des heruntergeladenen Modells protokolliert, jedes Mal, wenn dasdownloadprogressEreignis ausgelöst wird.
async function getTranslator(languages) {
const availability = await Translator.availability(languages);
if (availability === "unavailable") {
console.log(
`Translation not supported; try a different language combination.`,
);
return undefined;
} else if (availability === "available") {
return await Translator.create(languages);
}
return await Translator.create({
...languages,
monitor(monitor) {
monitor.addEventListener("downloadprogress", (e) => {
console.log(`Downloaded ${Math.floor(e.loaded * 100)}%`);
});
},
});
}
const translator = await getTranslator({
sourceLanguage: "en",
targetLanguage: "ja",
});
Erkennung der Sprachunterstützung
async function langSupport(source, target) {
const availability = await Translator.availability({
sourceLanguage: source,
targetLanguage: target,
});
return availability;
}
await langSupport("en", "fr");
await langSupport("en", "pt");
await langSupport("en", "zh");
Spezifikationen
| Specification |
|---|
| Translator and Language Detector APIs> # dom-translator-availability> |
Browser-Kompatibilität
Loading…