Veröffentlicht: 12. November 2024
Mit der Translator API in Chrome können Sie Text im Browser mithilfe lokaler KI-Modelle übersetzen.
Möglicherweise bieten Sie auf Ihrer Website bereits Websiteinhalte in mehreren Sprachen an, um sie für ein globales Publikum zugänglich zu machen. Mit der Translator API können Nutzer in ihrer Muttersprache beitragen. Nutzer können beispielsweise an Supportchats in ihrer Muttersprache teilnehmen und Ihre Website kann sie in die von Ihren Kundenservicemitarbeitern verwendete Sprache übersetzen, bevor sie das Gerät des Nutzers verlässt. So wird für alle Nutzer eine reibungslose, schnelle und inklusive Nutzung ermöglicht.
Für die Übersetzung von Inhalten im Web war in der Regel ein Cloud-Dienst erforderlich. Zuerst wird der Quellinhalt auf einen Server hochgeladen, der die Übersetzung in eine Zielsprache ausführt. Anschließend wird der resultierende Text heruntergeladen und an den Nutzer zurückgegeben. Wenn Sie die Übersetzung auf dem Client ausführen, sparen Sie die Zeit, die für Serverzugriffe erforderlich ist, und die Kosten für das Hosting des Übersetzungsdiensts.
Verfügbarkeit
- Nehmen Sie am Ursprungstest der Translator API teil, der in Chrome 131 bis 137 ausgeführt wird, um die API in der Produktion mit echten Nutzern zu testen. Ursprungstests aktivieren die Funktion für alle Nutzer deines Ursprungs in Chrome. Weitere Informationen zu ersten Schritten mit Ursprungstests
- Folgen Sie unserer Implementierung in ChromeStatus.
- Der Vorschlag für die Translator API steht zur Diskussion.
- Melden Sie sich für das Vorab-Programm an, um einen ersten Blick auf die neuen integrierten KI-APIs zu werfen und an der Diskussion in unserer Mailingliste teilzunehmen.
Die ausgewählte Zielsprache ist immer bekannt, die Ausgangssprache kann jedoch in einigen Fällen unbekannt sein, z. B. bei von Nutzern erstellten Inhalten. In solchen Fällen umfasst der Translator API-Vorschlag sowohl die Translator API als auch die Language Detector API, die auch in einem Ursprungstest verfügbar ist. Registrieren Sie sich für beide Ursprungstests, um diese APIs zusammen zu verwenden.
Funktionserkennung
Um festzustellen, ob die Translator API unterstützt wird, führen Sie das folgende Snippet zur Funktionserkennung aus.
if ('translation' in self && 'createTranslator' in self.translation) {
// The Translator API is supported.
}
Unterstützung für Sprachpaare prüfen
Die Übersetzung wird mit Sprachpaketen verwaltet, die bei Bedarf heruntergeladen werden. Ein Sprachpaket ist wie ein Wörterbuch für eine bestimmte Sprache. Diese Pakete sind mit der asynchronen Funktion canTranslate()
gekoppelt, mit der Sie feststellen können, ob ein Sprachpaar unterstützt wird.
Die canTranslate()
-Funktion erfordert einen options
-Parameter mit zwei Feldern:
sourceLanguage
: Die aktuelle Sprache des Texts.targetLanguage
: Die Sprache, in die der Text übersetzt werden soll.
Verwenden Sie Sprachkürzel gemäß BCP 47 als Strings. Beispiel: 'es'
für Spanisch oder 'fr'
für Französisch.
await translation.canTranslate({
sourceLanguage: 'en',
targetLanguage: 'fr',
});
// 'readily'
Die Funktion canTranslate()
kann folgende Ergebnisse zurückgeben:
no
: Mit diesem Browser kann die Übersetzung nicht wie gewünscht erfolgen.readily
: Der Browser kann die Übersetzung wunschgemäß ausführen.after-download
: Der Browser kann die Übersetzung erst ausführen, nachdem er die entsprechenden Modell- oder Sprachpakete heruntergeladen hat.
Sie können den Downloadfortschritt mit dem Ereignis downloadprogress
überwachen:
translator.ondownloadprogress = progressEvent => {
updateDownloadProgressBar(progressEvent.loaded, progressEvent.total);
};
Wenn der Download fehlschlägt, werden downloadprogress
-Ereignisse nicht mehr ausgegeben und die ready
-Versprechen abgelehnt.
Übersetzer erstellen und ausführen
Rufen Sie die asynchrone Funktion translation.createTranslator()
auf, um einen Übersetzer zu erstellen. Wie bei canTranslate()
ist ein Optionsparameter mit zwei Feldern erforderlich, eines für sourceLanguage
und eines für targetLanguage
.
// Create a translator that translates from English to French.
const translator = await self.translation.createTranslator({
sourceLanguage: 'en',
targetLanguage: 'fr',
});
Sobald Sie einen Übersetzer haben, können Sie die asynchrone translate()
-Funktion aufrufen, um Ihren Text zu übersetzen.
await translator.translate('Where is the next bus stop, please?');
// "Où est le prochain arrêt de bus, s'il vous plaît ?"
Einschränkungen im Ursprungstest
Während des Testzeitraums gelten die folgenden Einschränkungen.
Unterstützte Sprachpaare
Derzeit können bis zu drei Sprachpakete für die Übersetzung heruntergeladen werden.
Wir werden das Angebot an unterstützten Sprachen in zukünftigen Versionen erweitern und dabei weiterhin hohe Standards für den Datenschutz von Nutzern aufrechterhalten. Mit der Funktion canTranslate()
können Sie prüfen, ob das gewünschte Sprachpaar unterstützt wird.
Es ist möglich, dass bestimmte, seltener verwendete Sprachpaare für den Fingerabdruck verwendet werden. So werden beispielsweise häufiger Übersetzungen zwischen Englisch und Spanisch benötigt als zwischen weniger gängigen Sprachen wie Gälisch und Katalanisch. Ein weniger gängiges Sprachpaar könnte als Datenpunkt für die Nutzeridentifikation verwendet werden.
Während der Testphase beschränken wir die Anzahl der Sprachenpaare, die übersetzt werden können, um den Datenschutz der Nutzer zu schützen. Sprachpaare müssen die folgenden Kriterien erfüllen:
- Sowohl die Ausgangs- als auch die Zielsprache sind in Chrome als bevorzugte Sprachen festgelegt.
- Oder eine der Sprachen ist in Chrome als bevorzugte Sprache festgelegt und die andere gehört zu den folgenden beliebten Sprachen:
- Englisch (
en
) - Mandarin (
zh
; vereinfacht) oder Mandarin (zh-Hant
; traditionell) - Japanisch (
ja
) - Portugiesisch (
pt
) - Russisch (
ru
) - Spanisch (
es
) - Türkisch (
tr
) - Hindi (
hi
) - Vietnamesisch (
vi
) - Bengalisch (
bn
)
- Englisch (
Sprachbeschränkungen für lokale Tests umgehen
Beim lokalen Prototyping können Sie diese Prüfungen umgehen, indem Sie Chrome mit der Befehlszeilenoption --disable-features=TranslationAPIAcceptLanguagesCheck
ausführen.
Alternativ können Sie chrome://flags/#translation-api
auf Aktivieren, ohne Sprachpaketbeschränkung setzen.
Unter chrome://on-device-translation-internals/
können Sie Sprachpakete manuell installieren und deinstallieren.
Sequenzielle Übersetzungen
Übersetzungen werden der Reihe nach verarbeitet. Wenn Sie große Textmengen zur Übersetzung senden, werden nachfolgende Übersetzungen blockiert, bis die vorherigen abgeschlossen sind.
Für eine optimale Reaktionszeit Ihrer Übersetzungsanfragen sollten Sie sie gruppieren und eine Ladeoberfläche wie ein rotierendes Ladesymbol anzeigen, um zu zeigen, dass eine Übersetzung gerade läuft.
Verfügbarkeit von Webworkern
Während des Testzeitraums wird die Translator API nur über den Hauptthread unterstützt. Sobald die API allgemein verfügbar ist, wird sie auch in Webworkern unterstützt.
Demo
Die Translator API, die in Kombination mit der Language Detector API verwendet wird, finden Sie im Sandbox-Bereich für die Translator API und die Language Detector API.
Standardisierungsaufwand
Wir arbeiten daran, die Translator API zu standardisieren, um für plattformübergreifende Kompatibilität zu sorgen.
Unser API-Vorschlag hat Unterstützung von der Community erhalten und wird nun in der W3C Web Incubator Community Group weiter diskutiert. Das Chrome-Team hat Feedback von der W3C Technical Architecture Group angefordert und Mozilla und WebKit um ihre Positionierung zu den Standards gebeten.
Teilnehmen und Feedback geben
Sie können die Translator API jetzt testen, indem Sie am Ursprungstest teilnehmen und uns Feedback geben. Ihr Feedback kann sich direkt darauf auswirken, wie wir zukünftige Versionen dieser API und alle integrierten KI-APIs entwickeln und implementieren.
- Wenn Sie Feedback zur Implementierung in Chrome geben möchten, können Sie einen Fehlerbericht oder eine Funktionsanfrage senden.
- Diskutieren Sie das Design der Translator API auf GitHub, indem Sie ein vorhandenes Problem kommentieren oder ein neues erstellen.
- Wenn Sie sich an der Standardsentwicklung beteiligen möchten, können Sie der Web Incubator Community Group beitreten.