Translator: availability() statische Methode
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
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 Translator-Schnittstelle gibt einen enumerierten Wert zurück, der die Verfügbarkeit des KI-Modells für die gegebene Translator-Konfiguration angibt.
Syntax
Translator.availability(options)
Parameter
options-
Ein Objekt, das Konfigurationsoptionen für den
Translatorfestlegt. Mögliche Werte sind:sourceLanguage-
Ein String, der die Sprache des Eingabetextes spezifiziert, der übersetzt werden soll. Diese sollte ein gültiges BCP 47 Sprach-Tag sein.
targetLanguage-
Ein String, der die Sprache angibt, in die der Eingabetext übersetzt wird. Diese sollte ein gültiges BCP 47 Sprach-Tag sein.
Rückgabewert
Ein Promise, das sich mit einem enumerierten Wert erfüllt, 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, es muss jedoch zunächst ein KI-Modell oder einige Feinabstimmungsdaten für das Modell heruntergeladen werden.
downloading-
Der Browser unterstützt die gegebene Konfiguration, es muss jedoch ein laufender Download abgeschlossen werden, bevor fortgefahren werden kann.
-
Der Browser unterstützt die gegebene Konfiguration nicht. Dieser Wert wird auch zurückgegeben, wenn die angegebenen
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 als fehlgeschlagen markiert wird oder wenn ein Grund nicht offengelegt werden sollte.
Wenn die Nutzung der Methode durch eine translator Permissions-Policy blockiert ist, lehnt das Promise mit einem Wert von unavailable ab.
Beispiele
Grundlegende Nutzung von availability()
Im folgenden Beispiel 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 und übergeben die Quell- und Zielsprachen. Das erforderliche KI-Modell ist verfügbar, sodass wir es sofort verwenden können. - Wenn es 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 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 |