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> |