Skip to content

Wszystko o WordPressie, tworzeniu stron — i nie tylko

🚀 Masowe tłumaczenie plików .po w Lokalise przez konsolę przeglądarki

🚀 Masowe tłumaczenie plików .po w Lokalise przez konsolę przeglądarki

Кiedy motyw lub wtyczka WordPress jest dostarczana bez polskiego tłumaczenia, a plik .po zawiera tysiąc lub więcej ciągów, ręczne tłumaczenie każdego z nich w Poedicie zamienia się w wielodniową rutynę. Dla klienta często wystarczające jest tłumaczenie maszynowe: Google Translate daje akceptowalny rezultat dla ciągów interfejsu, a ręczne poprawki są potrzebne tylko w kilkudziesięciu miejscach.

Problem polega na tym, że Lokalise, potężna platforma do zarządzania tłumaczeniami, nie oferuje od razu przycisku „przetłumacz wszystko naraz". Dla każdego ciągu automatyczne tłumaczenie przez Google Translate trzeba klikać osobno. Właśnie to ograniczenie obejdziemy: niewielki skrypt w konsoli przeglądarki symuluje kliknięcie przycisku dla całej listy ciągów. Metoda została sprawdzona na projektach od 200 do ponad 3000 ciągów.

💡 Szybki przegląd:

  • Przygotowujemy plik PO z pliku POT w Poedicie z angielskim tłumaczeniem-zastępczym.
  • Tworzymy projekt w Lokalise, przesyłamy plik źródłowy i dodajemy język docelowy.
  • Kopiujemy klucze do języka docelowego i uruchamiamy skrypt w konsoli przeglądarki.
  • Uwzględniamy ładowanie AJAX: stosujemy skrypt tyle razy, ile partii ciągów załadował Lokalise.

Czym jest Lokalise i do czego służy przy tłumaczeniu.po

Lokalise to Translation Management System (TMS), który od razu obsługuje pliki .po/.pot. Platforma jest zintegrowana z Google Translate, DeepL i własnym silnikiem AI, co pozwala uzyskać tłumaczenie maszynowe dla każdego ciągu jednym kliknięciem. Problem w tym, że jedno kliknięcie na projekt nie wystarcza: przycisk automatycznego tłumaczenia trzeba klikać dla każdego ciągu osobno.

Dla małych plików o 50-100 ciągach jest to do zniesienia. Ale rzeczywisty plik .pot wtyczki lub motywu rzadko zawiera mniej niż 500 ciągów, a duże produkty (WooCommerce, motywy z kreatorami) z łatwością przekraczają 2000. Właśnie dla takich przypadków napisano skrypt jQuery z tego artykułu: „przepycha" on przycisk tłumaczenia dla wszystkich widocznych na ekranie ciągów jednocześnie.

Krok 1: Tworzymy plik.po z pliku.pot w Poedicie

Przed pracą z Lokalise potrzebny jest anglojęzyczny plik .po, wygenerowany z szablonu .pot. Proszę pobrać i zainstalować Poedit, darmowy edytor tłumaczeń dla Windows, macOS i Linux.

Proszę otworzyć plik .pot motywu lub wtyczki w Poedicie i kliknąć przycisk „Utwórz nowe tłumaczenie":

Przycisk utwórz nowe tłumaczenie w programie Poedit

W oknie proszę wybrać język angielski (English), stanie się on językiem ciągów źródłowych dla Lokalise:

Wybór języka angielskiego w oknie Poedit

Proszę kliknąć „Zapisz jako" i zapisać plik z rozszerzeniem .po. Zawartość ciągów na tym etapie nie jest istotna, nie będziemy niczego tłumaczyć w Poedicie, wszystkie ciągi pozostaną po angielsku jako zastępcze.

Zapisywanie pliku PO przyciskiem Zapisz jako w Poedit

Teraz mają Państwo plik .po z angielskimi ciągami źródłowymi. Przechodzimy do samego Lokalise.

Krok 2: Tworzymy projekt tłumaczeniowy w Lokalise

Proszę zarejestrować się na lokalise.com, do jednorazowego tłumaczenia wystarczy darmowy okres próbny. Po zalogowaniu proszę kliknąć „Adding a project" na środku ekranu:

Przycisk Adding a project na ekranie głównym Lokalise

Proszę wypełnić pola: nazwa projektu (dowolna, np. „Tłumaczenie motywu X"), wybrać język bazowy English. To z niego Lokalise wykona automatyczne tłumaczenie na inne języki. Proszę kliknąć „Create".

Formularz tworzenia nowego projektu w Lokalise z wyborem języka źródłowego

Krok 3: Przesyłamy przygotowany plik.po

W nowo utworzonym projekcie proszę kliknąć zielony przycisk ze strzałką w górę, aby przesłać plik:

Zielony przycisk przesyłania pliku w projekcie Lokalise

Otworzy się okno przesyłania. Proszę przeciągnąć do niego plik .po myszą lub kliknąć na obszar, aby wybrać plik przez eksplorator Windows:

Okno przesyłania pliku PO przez przeciągnięcie w interfejsie Lokalise

Krytycznie ważne: w polu języka proszę wskazać English. Jeśli język pliku nie będzie zgodny z językiem bazowym projektu, przycisk automatycznego tłumaczenia Google Translate nie pojawi się, platforma nie będzie w stanie określić, z jakiego języka tłumaczyć.

Proszę kliknąć „Import the files":

Przycisk Import the files z wyborem języka English przed importem

Po zakończeniu importu proszę kliknąć „Go to project", znajdą się Państwo w przestrzeni roboczej z listą ciągów.

Krok 4: Dodajemy docelowy język tłumaczenia

Proszę kliknąć ikonę plusa na panelu językowym, aby dodać język, na który będziemy tłumaczyć:

Przycisk dodawania nowego języka tłumaczenia w projekcie Lokalise

Proszę wybrać potrzebny język z listy rozwijanej. Dla rosyjskiego, Russian:

Wybór języka rosyjskiego Russian z listy rozwijanej w Lokalise

Krok 5: Kopiujemy klucze do języka docelowego

Obecnie mają Państwo kolumnę z angielskimi ciągami, ale kolumna języka rosyjskiego jest pusta. Należy skopiować tam klucze (ciągi źródłowe), to właśnie do nich zostanie zastosowane automatyczne tłumaczenie.

Proszę zaznaczyć wszystkie ciągi (Ctrl+A), kliknąć przycisk akcji, który się pojawił, i wybrać „Copy keys to translations…". W oknie proszę wskazać Russian i kliknąć „Copy":

Okno kopiowania kluczy tłumaczenia na język rosyjski z wyborem Russian

Teraz w rosyjskiej kolumnie pojawiły się angielskie ciągi zastępcze, do których można zastosować autotłumaczenie.

Krok 6: Masowe autotłumaczenie przez konsolę przeglądarki

Proszę otworzyć konsolę deweloperską: Ctrl+Shift+I (Windows/Linux) lub Cmd+Option+I (macOS). Poniżej przycisk, którego kliknięcie symuluje nasz skrypt. W aktualnym interfejsie Lokalise wygląda on jak ikona Google:

Zaktualizowany interfejs przycisku tłumaczenia maszynowego Google w Lokalise

Oto skrypt, który „wciska" ten przycisk dla wszystkich widocznych ciągów:

1/* Массовый автоперевод Google Translate в Lokalise */
2jQuery(document).ready(function ($) {
3 $('span.key-function-button.machine-all.fontello-google-circle').trigger('click');
4});

Proszę skopiować kod, wkleić go w konsoli i nacisnąć Enter. Ciągi zaczną być tłumaczone jeden po drugim.

Ważny niuans: Lokalise wykorzystuje ładowanie AJAX i pokazuje ciągi porcjami. Po tym, jak skrypt przetworzył widoczne ciągi, proszę przewinąć stronę w dół, załadują się nowe, jeszcze nieprzetłumaczone. Proszę ponownie wkleić skrypt w konsoli i nacisnąć Enter. Proszę powtarzać, dopóki wszystkie ciągi nie zostaną przetłumaczone.

Dla starej wersji interfejsu (jeśli przycisk autotłumaczenia wygląda inaczej) proszę użyć tego wariantu:

Stara wersja przycisku automatycznego tłumaczenia Google w interfejsie Lokalise
1/* Искусственный клик по кнопке перевода Google (старый интерфейс) */
2jQuery(document).ready(function ($) {
3 $('a.key-function-button.machine-all').trigger('click');
4});

Po przetłumaczeniu wszystkich ciągów należy koniecznie przewinąć projekt do końca i sprawdzić wizualnie: czy każdy ciąg w kolumnie tłumaczenia jest wypełniony. Pominięte albo się nie załadowały (proszę przewinąć jeszcze raz), albo autotłumaczenie dla nich nie zadziałało (proszę kliknąć przycisk ręcznie).

Wynik masowego tłumaczenia ciągów w projekcie Lokalise przez konsolę przeglądarki

Gotowe tłumaczenie pobiera się przyciskiem Download w interfejsie projektu. Otrzymają Państwo plik .po, który można od razu załadować do WordPress.

Poniżej krótkie wideo pokazujące pełny cykl pracy z plikami .po w Lokalise od wgrania do eksportu:

⁉️🤔 Często zadawane pytania

Skrypt nie tłumaczy ciągów, w czym rzecz?

Po pierwsze: proszę sprawdzić, czy język pliku źródłowego podczas importu jest zgodny z językiem bazowym projektu. Jeśli w projekcie ustawiono English, a plik został załadowany jako Russian, przycisk Google Translate się nie pojawi. Po drugie: proszę otworzyć konsolę (F12) i sprawdzić błędy. Jeśli jQuery nie jest zdefiniowane, oznacza to, że serwis Lokalise zmienił strukturę i selektory w skrypcie wymagają aktualizacji. Po trzecie: proszę się upewnić, że skopiowali Państwo klucze do języka docelowego (krok 5), bez tego nie ma czego tłumaczyć.

Czy można przetłumaczyć w ten sam sposób przez DeepL zamiast Google Translate?

Tak, jeśli w projekcie podłączono DeepL. Zasada jest taka sama: przycisk automatycznego tłumaczenia jest inny, ale skrypt można dostosować do innego selektora CSS. Proszę znaleźć element przycisku DeepL przez inspektora (Ctrl+Shift+C), skopiować jego klasę lub atrybut i wstawić do selektora $('селектор-кнопки').trigger('click').

Ile ciągów jest tłumaczonych podczas jednego uruchomienia skryptu?

Dokładnie tyle, ile jest aktualnie widocznych na ekranie. Lokalise ładuje ciągi partiami (zwykle po 50-100), dlatego po każdym przewinięciu w dół skrypt trzeba uruchomić ponownie. W projekcie z 2000 ciągów typowy cykl to 5-7 uruchomień.

Czy bezpiecznie jest wpisywać kod w konsoli na obcej stronie?

Skrypt wykonuje dokładnie jedną czynność: programowo klika przycisk, który i tak kliknęliby Państwo ręcznie. Żadne dane nie są nigdzie wysyłane, kod działa wyłącznie w obrębie Państwa przeglądarki i tylko na otwartej stronie Lokalise. Ale zasada dobrego tonu: proszę zawsze czytać kod, który wklejają Państwo do konsoli, zwłaszcza jeśli pochodzi on spoza oficjalnej dokumentacji.

Co zrobić, jeśli po tłumaczeniu część ciągów pozostała po angielsku?

Najprawdopodobniej nie przewinęli Państwo strony do końca i pominęli jedno z ładowań AJAX. Proszę przewinąć projekt do samego dołu, poczekać na pełne załadowanie wszystkich partii ciągów i uruchomić skrypt jeszcze raz. Jeśli pojedyncze ciągi nadal nie zostały przetłumaczone, proszę kliknąć przycisk automatycznego tłumaczenia dla nich ręcznie (zdarza się to, gdy API Google Translate zwróciło błąd dla konkretnej frazy).

Kiedy tłumaczenie konsolowe wygrywa z wbudowaną automatyzacją

Metoda z konsolą nie zastępuje pełnoprawnego workflow TMS. Jeśli zajmują się Państwo lokalizacją profesjonalnie, Lokalise oferuje wbudowane przetwarzanie wsadowe (pre-translate), integracje z narzędziami CAT oraz tłumaczenie AI z kontekstem. Jednak dla typowego zadania w stylu „przetłumaczyć jeden motyw WordPress i zapomnieć" podejście konsolowe daje rezultat w 5-10 minut, bez deep-dive w dokumentację platformy.

Sam proces, od instalacji Poedit do finalnego pliku .po, zamyka się w trzech krokach: przygotować plik, załadować do Lokalise, przepuścić przez skrypt. Jeśli objętość przekracza 500 linii, oszczędność czasu w porównaniu z ręcznym klikaniem przycisku dla każdej linii wynosi dziesiątki minut, a przy 2000+ linii to różnica między „zrobione przy kawie" a „zeszło pół dnia".