Tłumaczenie za pomocą wbudowanej AI

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

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:

  1. Potwierdź zasady Google dotyczące niedozwolonych zastosowań generatywnej AI.
  2. Przejdź do testowania origin interfejsu Translator API.
  3. 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.
  4. Aby je przesłać, kliknij Zarejestruj.
  5. 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ą.
  6. 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:

  1. Otwórz Chrome na jednej z tych platform: Windows, Mac lub Linux.
  2. Jedź do: chrome://flags/#translation-api.
  3. Kliknij Włączono.
    • Jeśli chcesz wypróbować wiele par języków, wybierz Włączone bez limitu pakietu językowego.
  4. 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ągi znaków 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 funkcji canTranslate(), wymaga ona 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)
    • bengali (bn)

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 dalszych dyskusji. Zespół Chrome poprosił o opinię W3C Technical Architecture Group oraz MozillaWebKit 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.