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
Translator
angibt. 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
sourceLanguage
undtargetLanguage
gleich sind.
Ausnahmen
InvalidStateError
DOMException
-
Wird ausgelöst, wenn das
Document
der Seite noch nicht aktiv ist. OperationError
DOMException
-
Wird ausgelöst, wenn die Initialisierung des KI-Modells aus irgendeinem Grund fehlgeschlagen ist.
UnknownError
DOMException
-
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
unavailable
zurückgibt, drucken wir eine entsprechende Fehlermeldung in die Konsole. - Wenn es
available
zurü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.
downloadable
oderdownloading
), führen wir denselbencreate()
-Methodenaufruf aus, aber dieses Mal fügen wir einenmonitor
hinzu, der den Prozentsatz des heruntergeladenen Modells protokolliert, jedes Mal, wenn dasdownloadprogress
Ereignis 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…