Data publikacji: 13 listopada 2024 r., ostatnia aktualizacja: 20 maja 2025 r.
Browser Support
Używaj interfejsu Translator API w Chrome, aby tłumaczyć tekst za pomocą modeli AI dostępnych w przeglądarce.
Twoja witryna może już oferować treści w wielu językach. Dzięki interfejsowi Translator API użytkownicy mogą pisać w swoim języku. Na przykład użytkownicy mogą uczestniczyć w czatach pomocy w swoim języku, a Twoja witryna może tłumaczyć ich wiadomości na język pracowników zespołu pomocy, zanim wiadomość opuści urządzenie użytkownika. Dzięki temu wszyscy użytkownicy mogą korzystać z usług w sposób płynny, szybki i inkluzywny.
Tłumaczenie treści internetowych zwykle wymaga korzystania z usługi w chmurze. Najpierw treści źródłowe są przesyłane na serwer, który tłumaczy je na język docelowy. Następnie przetłumaczony tekst jest pobierany i zwracany użytkownikowi. Gdy treści są krótkotrwałe i nie wymagają zapisywania w bazie danych, tłumaczenie po stronie klienta pozwala zaoszczędzić czas i pieniądze w porównaniu z hostowaną usługą tłumaczenia.
Rozpocznij
Sprawdź wymagania sprzętowe
Deweloperzy i użytkownicy, którzy korzystają z funkcji używających tych interfejsów API w Chrome, muszą spełniać te wymagania. Inne przeglądarki mogą mieć inne wymagania dotyczące działania.
Interfejsy Language Detector API i Translator API działają w Chrome na komputerze. Te interfejsy API nie działają na urządzeniach mobilnych.
Interfejsy Prompt API, Summarizer API, Writer API, Rewriter API i Proofreader API działają w Chrome, gdy spełnione są te warunki:
- System operacyjny: Windows 10 lub 11; macOS 13 lub nowszy (Ventura i nowsze); Linux; ChromeOS (od platformy 16389.0.0) na Chromebookach Plus. Chrome na Androida, iOS i ChromeOS na urządzeniach innych niż Chromebooki Plus nie są jeszcze obsługiwane przez interfejsy API, które używają Gemini Nano.
- Miejsce na dane: co najmniej 22 GB wolnego miejsca na dysku, na którym znajduje się profil Chrome.
- GPU lub CPU: modele wbudowane mogą działać z GPU lub CPU.
- GPU: ściśle więcej niż 4 GB pamięci VRAM.
- CPU: co najmniej 16 GB pamięci RAM i co najmniej 4 rdzenie CPU.
- Uwaga: interfejs Prompt API z wejściem audio wymaga GPU.
- Sieć: nieograniczona transmisja danych lub połączenie bez limitu danych. Połączenia Wi-Fi i Ethernet są domyślnie bez pomiaru użycia danych, a połączenia komórkowe są często z pomiarem użycia danych.
Dokładny rozmiar Gemini Nano może się różnić w zależności od aktualizacji przeglądarki. Aby sprawdzić aktualny rozmiar, otwórz chrome://on-device-internals.
Uruchom wykrywanie funkcji, aby sprawdzić, czy przeglądarka obsługuje interfejs Translator API.
if ('Translator' in self) {
// The Translator API is supported.
}
Zawsze znasz język docelowy tłumaczeń, ale nie zawsze znasz język źródłowy. W takich przypadkach możesz użyć interfejsu Language Detector API.
Pobieranie modelu
Interfejs Translator API używa modelu eksperckiego wytrenowanego do generowania wysokiej jakości tłumaczeń. Interfejs API jest wbudowany w Chrome, a model jest pobierany, gdy witryna po raz pierwszy używa tego interfejsu API.
Aby sprawdzić, czy model jest gotowy do użycia, wywołaj asynchroniczną
Translator.availability() funkcję.
Jeśli odpowiedź na availability() to downloadable, nasłuchuj postępu pobierania, aby informować użytkownika o jego postępie, ponieważ może to zająć trochę czasu.
Sprawdź obsługę par języków
Tłumaczenie jest zarządzane za pomocą pakietów językowych pobieranych na żądanie. Pakiet językowy jest jak słownik dla danego języka.
sourceLanguage: bieżący język tekstu.targetLanguage: język docelowy, na który ma zostać przetłumaczony tekst.
Używaj krótkich kodów języków BCP 47 jako
ciągów znaków. Na przykład 'es' w przypadku języka hiszpańskiego lub 'fr' w przypadku języka francuskiego.
const translatorCapabilities = await Translator.availability({
sourceLanguage: 'es',
targetLanguage: 'fr',
});
// 'available'
Nasłuchuj postępu pobierania modelu za pomocą zdarzenia downloadprogress:
const translator = await Translator.create({
sourceLanguage: 'es',
targetLanguage: 'fr',
monitor(m) {
m.addEventListener('downloadprogress', (e) => {
console.log(`Downloaded ${e.loaded * 100}%`);
});
},
});
Jeśli pobieranie się nie powiedzie, zdarzenia downloadprogress zostaną zatrzymane, a obietnica ready zostanie odrzucona.
Tworzenie i uruchamianie tłumacza
Aby utworzyć tłumacza, sprawdź
aktywację użytkownika
i wywołaj asynchroniczną funkcję create(). Funkcja create() tłumacza wymaga parametru options z 2 polami – jednym dla sourceLanguage i jednym dla targetLanguage.
// Create a translator that translates from English to French.
const translator = await Translator.create({
sourceLanguage: 'en',
targetLanguage: 'fr',
});
Gdy masz już tłumacza, wywołaj asynchroniczną funkcję translate().
await translator.translate('Where is the next bus stop, please?');
// "Où est le prochain arrêt de bus, s'il vous plaît ?"
Jeśli musisz przetwarzać dłuższe teksty, możesz też użyć wersji przesyłanej strumieniowo interfejsu API i wywołać funkcję translateStreaming().
const stream = translator.translateStreaming(longText);
for await (const chunk of stream) {
console.log(chunk);
}
Tłumaczenia sekwencyjne
Tłumaczenia są przetwarzane sekwencyjnie. Jeśli wyślesz do przetłumaczenia duże ilości tekstu, kolejne tłumaczenia zostaną zablokowane do czasu zakończenia wcześniejszych.
Aby uzyskać najlepszą odpowiedź na swoje prośby, podziel je na części i dodaj interfejs wczytywania, np. spinner, aby poinformować użytkownika, że tłumaczenie jest w toku.
Obsługiwane języki
Implementacja interfejsu Translator API w Chrome obsługuje te języki.
| Kod | Język |
|---|---|
ar |
arabski |
bg |
bułgarski |
bn |
bengalski |
cs |
czeski |
da |
duński |
de |
niemiecki |
el |
grecki |
en |
angielski |
es |
hiszpański |
fi |
fiński |
fr |
francuski |
hi |
hindi |
hr |
chorwacki |
hu |
węgierski |
id |
indonezyjski |
it |
włoski |
iw |
hebrajski |
ja |
japoński |
kn |
kannada |
ko |
koreański |
lt |
litewski |
mr |
marathi |
nl |
niderlandzki |
no |
norweski |
pl |
polski |
pt |
portugalski |
ro |
rumuński |
ru |
rosyjski |
sk |
słowacki |
sl |
słoweński |
sv |
szwedzki |
ta |
tamilski |
te |
telugu |
th |
tajski |
tr |
turecki |
uk |
ukraiński |
vi |
wietnamski |
zh |
chiński |
zh-Hant |
chiński (tradycyjny) |
Prezentacja
Interfejs Translator API używany w połączeniu z interfejsem Language Detector API możesz zobaczyć w piaskownicy interfejsów Translator API i Language Detector API.
Zasady dotyczące uprawnień, ramki iframe i Web Workers
Domyślnie interfejs Translator API jest dostępny tylko w oknach najwyższego poziomu i w ramkach iframe z tej samej domeny. Dostęp do interfejsu API można delegować do ramek iframe z innych domen
za pomocą atrybutu Zasady dotyczące uprawnień
allow="":
<!--
The host site https://main.example.com can grant a cross-origin iframe
at https://cross-origin.example.com/ access to the Translator API by
setting the `allow="translator"` attribute.
-->
<iframe src="https://cross-origin.example.com/" allow="translator"></iframe>
Interfejs Translator API nie jest dostępny w Web Workers ze względu na złożoność ustalania odpowiedniego dokumentu dla każdego worker, aby sprawdzić stan zgodności z zasadami dotyczącymi uprawnień.
Podziel się opinią
Chcemy zobaczyć, co tworzysz. Udostępnij nam swoje witryny i aplikacje internetowe na X, YouTube i LinkedIn.
Jeśli chcesz przesłać opinię o implementacji w Chrome, zgłoś błąd lub prześlij prośbę o dodanie funkcji.