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() 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> |
Browser-Kompatibilität
Loading…