Translator: availability() static method
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
Die availability()
statische Methode der Translator
-Schnittstelle gibt einen Aufzählungswert 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 die Konfigurationsoptionen für den
Translator
angibt. Mögliche Werte sind:sourceLanguage
-
Ein String, der die Sprache des zu übersetzenden Eingangstextes angibt und ein gültiges BCP 47-Sprach-Tag sein sollte (wie in RFC 5646 spezifiziert).
targetLanguage
-
Ein String, der die Sprache angibt, in die der Eingangstext übersetzt werden soll, und ein gültiges BCP 47-Sprach-Tag sein sollte.
Rückgabewert
Ein Promise
, das mit einem Aufzählungswert erfüllt wird, der angibt, ob 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, muss jedoch zunächst ein KI-Modell oder einige Feindaten für das Modell herunterladen.
downloading
-
Der Browser unterstützt die gegebene Konfiguration, muss jedoch einen laufenden Download abschließen, bevor er fortfahren kann.
-
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 einem Grund, den der Benutzeragent nicht offenlegen wollte, fehlgeschlagen ist.
Wenn die Nutzung der Methode durch eine translator
Permissions-Policy
blockiert wird, wird das Promise mit einem Wert von unavailable
abgelehnt.
Beispiele
Grundlegende Verwendung von availability()
Im folgenden Ausschnitt prüfen wir zuerst die Verfügbarkeit des Modells für die Übersetzung zwischen zwei Sprachen mit der availability()
-Methode:
- Wenn
unavailable
zurückgegeben wird, drucken wir eine entsprechende Fehlermeldung in die Konsole. - Wenn
available
zurückgegeben wird, erstellen wir einen Translator mit dercreate()
-Methode, indem wir die Quell- und Zielsprache angeben. Das benötigte KI-Modell ist verfügbar, daher können wir es sofort verwenden. - Wenn ein anderer Wert zurückgegeben wird (also
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 |