Data publikacji: 13 listopada 2024 r.
Używaj interfejsu Translator API w Chrome, aby tłumaczyć tekst w przeglądarce przy użyciu lokalnych modeli AI.
Być może Twoja witryna zawiera już treści w wielu językach, aby była dostępna dla odbiorców na całym świecie. Dzięki interfejsowi Translator API użytkownicy mogą przyczynić się do tworzenia tłumaczeń w swoim języku ojczystym. Użytkownicy mogą na przykład prowadzić rozmowy na czacie z zespołem pomocy w swoim języku ojczystym, a Twoja witryna może przetłumaczyć go na język, którego używają pracownicy zespołu pomocy, zanim rozmowa opuści urządzenie użytkownika. Dzięki temu wszyscy użytkownicy mogą korzystać z naszych usług w sposób płynny, szybki i w pełni dostępny.
Tłumaczenie treści w internecie zwykle wymaga korzystania z usługi w chmurze. Najpierw treści źródłowe są przesyłane na serwer, który przetłumaczy je na język docelowy. Następnie wynikowy tekst jest pobierany i zwracany użytkownikowi. Wykonując tłumaczenie na kliencie, oszczędzasz czas potrzebny na połączenia z serwerem i koszt hostingu usługi tłumaczenia.
Dostępność
- Weź udział w testowaniu origin interfejsu Translator API w wersjach Chrome od 131 do 137. Testy wersji źródłowej umożliwiają korzystanie z funkcji wszystkim użytkownikom w Twoim pochodzeniu w Chrome.
- śledzić naszą implementację w ChromeStatus.
- Propozycja interfejsu Translator API jest tematem dyskusji.
- Dołącz do programu wcześniejszego wyświetlania wersji za pomocą interfejsów API AI, aby wcześniej zapoznać się z nowymi wbudowanymi interfejsami API AI i uzyskać dostęp do dyskusji na naszej liście mailingowej.
Wybrany język docelowy jest zawsze znany, ale w niektórych sytuacjach język źródłowy może być nieznany, na przykład w przypadku treści generowanych przez użytkowników. W takich przypadkach propozycja interfejsu Translator API obejmuje zarówno interfejs Translator API, jak i interfejs Language Detector API, który jest też dostępny w wersji próbnej. Aby móc używać tych interfejsów API razem, zarejestruj się w obu testach origin.
Rejestracja w wersji próbnej origin
Aby zacząć korzystać z Translator API, wykonaj te czynności:
- Potwierdź zasady Google dotyczące niedozwolonych zastosowań generatywnej AI.
- Przejdź do testowania origin interfejsu Translator API.
- Kliknij Zarejestruj się i wypełnij formularz.
- W polu Źródło internetowe podaj źródło lub identyfikator rozszerzenia,
chrome-extension://YOUR_EXTENSION_ID
.
- W polu Źródło internetowe podaj źródło lub identyfikator rozszerzenia,
- Aby je przesłać, kliknij Zarejestruj.
- Skopiuj podany token i dodaj go do każdej strony internetowej w źródle lub pliku rozszerzenia, na której chcesz włączyć wersję próbną.
- Jeśli tworzysz rozszerzenie, postępuj zgodnie z instrukcjami dotyczącymi wersji próbnej origin.
- Zacznij używać interfejsu Translator API.
Dowiedz się więcej o tym, jak rozpocząć okres próbny funkcji pochodzenia.
Dodawanie obsługi localhost
Aby uzyskać dostęp do interfejsu Translator API w localhost
podczas testowania origin, musisz zaktualizować Chrome do najnowszej wersji. Następnie wykonaj poniższe czynności:
- Otwórz Chrome na jednej z tych platform: Windows, Mac lub Linux.
- Jedź do:
chrome://flags/#translation-api
. - Kliknij Włączono.
- Jeśli chcesz wypróbować wiele par języków, wybierz Włączone bez limitu pakietu językowego.
- Kliknij Uruchom ponownie lub uruchom ponownie Chrome.
Korzystanie z interfejsu Translator API
Aby sprawdzić, czy interfejs Translator API jest obsługiwany, uruchom ten fragment kodu służący do wykrywania funkcji.
if ('translation' in self && 'createTranslator' in self.translation) {
// The Translator API is supported.
}
Sprawdzanie obsługi pary języków
Tłumaczenie jest zarządzane za pomocą pakietów językowych, które są pobierane na żądanie. Pakiet językowy jest jak słownik danego języka. Te pakiety są połączone z funkcją asynchroniczną canTranslate()
, która pozwala określić, czy dana para języków jest obsługiwana.
Funkcja canTranslate()
wymaga parametru options
z 2 polami:
sourceLanguage
: aktualny język tekstu.targetLanguage
: język, na który ma zostać przetłumaczony tekst.
Jako ciągów tekstowych używaj krótkich kodów języków zgodnych ze standardem BCP 47. Na przykład 'es'
w przypadku hiszpańskiego lub 'fr'
w przypadku francuskiego.
await translation.canTranslate({
sourceLanguage: 'en',
targetLanguage: 'fr',
});
// 'readily'
Funkcja canTranslate()
może zwrócić jeden z tych wyników:
no
: ta przeglądarka nie może przetłumaczyć tekstu zgodnie z żądaniem.readily
: przeglądarka może przetłumaczyć tekst zgodnie z prośbą.after-download
: przeglądarka może przetłumaczyć tekst, ale dopiero po pobraniu odpowiedniego modelu lub pakietów językowych.
Postęp pobierania możesz nasłuchiwać za pomocą zdarzenia downloadprogress
:
translator.ondownloadprogress = progressEvent => {
updateDownloadProgressBar(progressEvent.loaded, progressEvent.total);
};
Jeśli pobieranie się nie powiedzie, przestaną być emitowane zdarzenia downloadprogress
, a obietnica ready
zostanie odrzucona.
Tworzenie i uruchamianie tłumacza
Aby utworzyć tłumacza, wywołaj asynchroniczną funkcję translation.createTranslator()
. Podobnie jak w przypadku canTranslate()
, wymaga on parametru opcji z 2 polami: jednym dla sourceLanguage
i jednym dla targetLanguage
.
// Create a translator that translates from English to French.
const translator = await self.translation.createTranslator({
sourceLanguage: 'en',
targetLanguage: 'fr',
});
Gdy masz już tłumacza, wywołaj asynchroniczną funkcję translate()
, aby przetłumaczyć tekst.
await translator.translate('Where is the next bus stop, please?');
// "Où est le prochain arrêt de bus, s'il vous plaît ?"
Ograniczenia w wersji próbnej serwera pierwotnego
W trakcie testowania origin obowiązują te ograniczenia.
Obsługiwane pary języków
Obecnie można pobrać maksymalnie 3 pakiety językowe na potrzeby tłumaczenia.
W przyszłych wersjach zamierzamy rozszerzyć zakres obsługiwanych języków, zachowując przy tym wysokie standardy ochrony prywatności użytkowników. Możesz sprawdzić, czy potrzebna Ci para języków jest obsługiwana, za pomocą funkcji canTranslate()
.
Niektóre rzadko używane pary języków mogą być używane do odciskania palca. Na przykład częściej tłumaczy się z angielskiego na hiszpański niż na mniej popularne języki, takie jak gaelicki czy kataloński. Mniej popularna para języków może być uważana za punkt danych służący do identyfikacji użytkownika.
Podczas okresu próbnego ograniczamy liczbę par języków, które można przetłumaczyć, aby chronić prywatność użytkowników. Pary języków muszą spełniać te kryteria:
- Zarówno język źródłowy, jak i docelowy są ustawione jako preferowane języki w Chrome.
- Albo jeden z języków jest ustawiony jako preferowany w Chrome, a drugi należy do tych popularnych języków:
- Angielski (
en
) - mandaryński (
zh
, uproszczony) lub mandaryński tajwański (zh-Hant
, tradycyjny). - japoński (
ja
) - Portugalski (
pt
) - rosyjski (
ru
), - hiszpański (
es
), - turecki (
tr
), - hindi (
hi
), - wietnamski (
vi
), - bengalski (
bn
)
- Angielski (
Omijanie ograniczeń językowych na potrzeby testów lokalnych
W przypadku prototypowania lokalnego możesz pominąć te kontrole, uruchamiając Chrome z opcją wiersza poleceń --disable-features=TranslationAPIAcceptLanguagesCheck
.
Możesz też ustawić chrome://flags/#translation-api
na Włącz bez limitu pakietu językowego.
Aby ręcznie zainstalować pakiety językowe lub je odinstalować, otwórz stronę chrome://on-device-translation-internals/
.
Tłumaczenia sekwencyjne
Tłumaczenia są przetwarzane po kolei. Jeśli wyślesz duże ilości tekstu do przetłumaczenia, kolejne tłumaczenia będą blokowane, dopóki nie zostaną ukończone wcześniejsze.
Aby zapewnić najlepszą reakcję na żądania tłumaczenia, grupowanie ich razem i wyświetlanie interfejsu wczytywania, np. wskaźnika postępu, aby poinformować, że tłumaczenie jest w toku.
Dostępność procesów internetowych
Podczas testowania origin interfejsu Translator API jest obsługiwany tylko z poziomu głównego wątku. Zamierzamy wprowadzić tę funkcję w workerach internetowych, gdy interfejs API będzie powszechnie dostępny.
Prezentacja
Interfejs Translator API, używany w połączeniu z interfejsem Language Detector API, możesz zobaczyć w sekcji Testowanie interfejsów Translator i Language Detector API.
Standardizacja
Pracujemy nad ujednoliceniem interfejsu Translator API, aby zapewnić zgodność z wieloma przeglądarkami.
Nasza propozycja interfejsu API uzyskała wsparcie społeczności i została przeniesiona do grupy W3C Web Incubator Community Group w celu dalszej dyskusji. Zespół Chrome poprosił o opinię W3C Technical Architecture Group oraz Mozilla i WebKit o ich stanowisko w sprawie standardów.
Udział w testach i przesyłanie opinii
Zacznij testować interfejs Translator API, dołączając do testu wersji źródłowej i przesyłając opinię. Twoje opinie mogą mieć bezpośredni wpływ na to, jak tworzymy i wdrażamy przyszłe wersje tego interfejsu API oraz wszystkie wbudowane interfejsy API do sztucznej inteligencji.
- Aby przekazać opinię na temat implementacji Chrome, prześlij raport o błędzie lub prośbę o dodanie funkcji.
- Porozmawiaj o projektowaniu interfejsu Translator API na GitHubie, komentując istniejący problem lub otwierając nowy.
- Aby wziąć udział w pracowaniu nad standardami, dołącz do grupy społecznościowej Web Incubator.