Przejdź do treści
WordPress localization: lokalizacja motywu i wtyczek krok po kroku

WordPress localization: lokalizacja motywu i wtyczek krok po kroku

Opublikowano: 16 października 2026| Zaktualizowano: 16 października 2026

Niedziałające tłumaczenie w WordPressie potrafi zatrzymać wdrożenie, mimo że plik PO zawiera poprawny przekład. Najczęściej problem leży w domenie tekstowej, locale, ścieżce pliku albo sposobie, w jaki motyw lub wtyczka ładuje tłumaczenia.

Krótka odpowiedź

WordPress localization to dostosowanie tekstów interfejsu komponentu do języka i ustawień regionalnych witryny. Sprawdź domenę tekstową i locale, przygotuj plik PO, wygeneruj MO i zapisz oba w ścieżce obsługiwanej przez komponent.

Dla własnych tłumaczeń Loco Translate oferuje katalog `wp-content/languages/loco`, ale pliki Custom wymagają aktywnej wtyczki Loco Translate i poprawnego mechanizmu ładowania przez motyw lub wtyczkę.

Usługi KC Mobile

Potrzebujesz pomocy w tym temacie?

Czytasz poradnik „WordPress localization: lokalizacja motywu i wtyczek krok po kroku”. Napisz, co chcesz zrobić i na jakim etapie jesteś. Ustalimy, czy możemy pomóc i jaki zakres prac będzie potrzebny.

Co oznacza localization w WordPressie?

Localization, czyli l10n, dostosowuje interfejs gotowego komponentu do języka i ustawień regionalnych. Internacjonalizacja, czyli i18n, oznacza przygotowanie kodu tak, aby jego teksty dało się wyodrębnić i przetłumaczyć. Plik językowy nie naprawi tekstu wpisanego na stałe w szablonie PHP, HTML lub JavaScript.

Lokalizacja motywu lub wtyczki obejmuje teksty interfejsu, takie jak etykiety, komunikaty walidacji i nazwy ustawień. Nie tłumaczy wpisów, produktów, adresów URL ani metadanych SEO. Do zarządzania treściami w kilku językach służą inne rozwiązania, opisane w poradniku o wielojęzycznym WordPressie i SEO.

Domena tekstowa identyfikuje komponent, a locale wskazuje język i wariant regionalny, dla przykładu `pl_PL`. Nazwy te muszą odpowiadać temu, czego oczekuje kod. Pliki PO i MO dostarczają tłumaczenia dla rozpoznanych ciągów, a w przypadku części skryptów JavaScript potrzebne są dodatkowo pliki JSON.

Czytasz poradnik „WordPress localization: lokalizacja motywu i wtyczek krok po kroku”. Napisz, co chcesz zrobić i na jakim etapie jesteś. Ustalimy, czy możemy pomóc i jaki zakres prac będzie potrzebny. Omów temat tego poradnika

Jak sprawdzić, czy motyw lub wtyczka obsługuje tłumaczenia?

Zacznij od domeny tekstowej, katalogu językowego i źródła komunikatu, którego nie da się przetłumaczyć. W panelu WordPressa sprawdź slug w `Wtyczki > Zainstalowane wtyczki` albo identyfikator aktywnego motywu w `Wygląd > Motywy`. Następnie poszukaj katalogu `languages` i plików `.pot`, `.po`, `.mo` lub `.json` w plikach komponentu albo jego repozytorium.

Wtyczka zwykle deklaruje domenę tekstową w nagłówku głównego pliku, a motyw w `style.css`. W kodzie szukaj wywołań gettext, między innymi `__()`, `_e()` i `_n()`, które otrzymują domenę tekstową. WordPress opisuje wymagania dla motywów w dokumentacji internacjonalizacji motywów i w przewodniku internacjonalizacji wtyczek.

Kontrole lokalizacji WordPressa, miejsca weryfikacji i znaczenie wyników
KontrolaGdzie szukaćCo mówi wynik
Domena tekstowaNagłówek wtyczki, `style.css`, wywołania gettextOkreśla identyfikator tłumaczenia i część nazw plików
Szablon POTKatalog `languages` lub repozytorium producentaZawiera ciągi źródłowe do przełożenia
Pliki PO i MOKatalog komponentu albo `wp-content/languages`Mogą zawierać tłumaczenia producenta lub własny override
Nieprzetłumaczony tekstStrona, panel i kod PHP lub JavaScriptMoże być brakującym wpisem albo tekstem zapisanym na stałe

Jeśli tekstu nie widać w katalogu Loco Translate ani w plikach PO, sprawdź źródło komponentu. Ciąg może być zapisany bezpośrednio w szablonie lub generowany przez JavaScript. W tym drugim przypadku komponent powinien korzystać z mechanizmu tłumaczeń skryptów WordPressa i dopasowanego pliku JSON.

Jak przygotować pliki PO i MO oraz bezpiecznie przechowywać tłumaczenia?

Ustal domenę tekstową i locale witryny, zanim utworzysz plik tłumaczenia. Locale sprawdzisz w `Ustawienia > Ogólne > Język witryny`; dla polskiej instalacji typową wartością jest `pl_PL`, ale nazwę trzeba potwierdzić dla konkretnej witryny i komponentu.

POT to szablon zawierający ciągi źródłowe, PO przechowuje tekst oryginalny i przekład, a MO jest skompilowaną wersją używaną przez WordPressa. Edytuj PO, zachowuj placeholdery takie jak `%s` i `%1$d`, a po zapisie wygeneruj MO. Nie tłumacz zmiennych ani nie zmieniaj liczby symboli zastępczych, bo może to uszkodzić komunikat.

Narzędzia i ścieżki tłumaczeń WordPressa, zastosowanie oraz ryzyka
Narzędzie lub ścieżkaKiedy użyćRyzyko i warunek
Loco TranslateSzybka edycja w panelu, menu `Loco Translate > Wtyczki` albo `Motywy`Lokalizacja Custom wymaga aktywnej wtyczki i działającego ładowania przez komponent
PoeditPraca lokalna na POT lub PO i przekazanie plików przez SFTPTrzeba wysłać pliki do właściwej lokalizacji i sprawdzić, czy powstał MO
Edytor tekstuKontrolowana korekta PO w repozytoriumŁatwo uszkodzić składnię, kodowanie lub zapis liczby mnogiej
`wp-content/languages/loco`Własne pliki Custom LocoChroni pliki przed typowymi aktualizacjami, ale nie działa bez wtyczki Loco Translate i poprawnego mechanizmu ładowania
Katalog motywu lub wtyczkiTłumaczenie dostarczane razem z komponentemAktualizacja komponentu może zastąpić pliki; stosuj jako jego autor lub świadomie zarządzając własnym kodem
`wp-content/languages/plugins` lub `themes`Pliki systemowe zarządzane przez WordPressaAktualizacja pakietów językowych może zmienić lub nadpisać plik

W Loco wybierz komponent, dodaj język i wskaż lokalizację `Custom`, jeśli tworzysz własny override. Po aktualizacji katalogu źródłowego użyj `Sync`, przejrzyj nowe, usunięte i oznaczone jako fuzzy wpisy, a dopiero potem zapisz tłumaczenie. Synchronizacja nie zwalnia z ponownej kontroli przekładów, których tekst źródłowy się zmienił.

Dokumentacja Loco wskazuje, że katalog Custom znajduje się w `wp-content/languages/loco`, a jego ładowanie zapewnia sama wtyczka. Komponent musi też rejestrować lokalizację i ładować tłumaczenia w prawidłowej kolejności. Jeżeli Loco Translate jest wyłączone albo motyw lub wtyczka wywołuje tłumaczenia zbyt wcześnie, plik może istnieć na serwerze i nie pojawić się na stronie. Szczegóły opisuje instrukcja ładowania plików Loco Translate.

Poedit sprawdza się, gdy pliki wersjonujesz lokalnie lub trzymasz w repozytorium. Po edycji zweryfikuj ostrzeżenia o placeholderach, zapisz PO i sprawdź, czy obok znajduje się MO. Nie modyfikuj bezpośrednio plików dostawcy, jeśli nie masz procedury odtworzenia zmian po aktualizacji. Trzymaj kopię PO i MO, a po aktualizacji komponentu porównaj nowe ciągi z poprzednią wersją.

Schemat pokazuje drogę od ustalenia locale przez edycję i zapis plików PO oraz MO do sprawdzenia, czy tłumaczenie działa na stronie.

Jak ustawić język i formaty regionalne WordPressa?

Język witryny ustawisz przez `Ustawienia > Ogólne > Język witryny`, a po zapisaniu sprawdzisz, czy WordPress używa oczekiwanego locale. To ustawienie wpływa na wybór tłumaczeń i język witryny, ale nie tłumaczy treści stron ani tekstów wpisanych na stałe w kodzie.

Język panelu administratora może zależeć także od profilu konkretnego użytkownika. Zaloguj się na konto, otwórz `Użytkownicy > Profil` i sprawdź pole `Język`; dokumentacja WordPressa potwierdza, że zmienia ono język ekranu administracyjnego bez zmiany języka widocznego dla odwiedzających. Dlatego jeden administrator może widzieć panel po angielsku, choć witryna i użytkownicy mają ustawiony polski.

Ustawienia regionalne WordPressa, ich zakres i kontrola rozbieżności
UstawienieCo kontrolujeCo sprawdzić przy rozbieżności
Język witrynyLocale witryny i część interfejsuUstawienie w `Ustawienia > Ogólne` oraz dostępność pakietu językowego
Język profiluPanel konkretnego użytkownika`Użytkownicy > Profil > Język`
Strefa czasowaInterpretację czasu publikacji i zdarzeńWybierz miasto z odpowiednią strefą, jeśli jest dostępne
Format daty i godzinySposób prezentacji dat przez motywNie każda wtyczka ani ekran administracyjny stosuje globalny format
Początek tygodniaKalendarze korzystające z ustawienia WordPressaWłasny kalendarz może stosować odrębną konfigurację

Dokumentacja ekranu Ustawienia ogólne WordPressa wyjaśnia, że format daty i czasu jest przeznaczony dla motywów i nie zmienia wszystkich dat w panelu. Jeśli godzina zamówienia jest nieprawidłowa, sprawdź ustawienie WordPressa, konfigurację wtyczki i strefę serwera.

Jak diagnozować brak tłumaczenia na stronie?

Sprawdź kolejno locale, domenę tekstową, ścieżkę, format pliku, mechanizm ładowania i cache. Najpierw ustal, czy tekst pochodzi z motywu, wtyczki, WordPressa, JavaScriptu czy treści zapisanej w bazie. Taka kolejność odróżnia błędny plik od komunikatu, którego nie obejmuje mechanizm gettext.

Problemy z tłumaczeniami WordPressa, przyczyny i działania diagnostyczne
ObjawPrawdopodobna przyczynaTest i następny krok
Cały komponent pozostaje w języku źródłowymBłędne locale albo brak tłumaczenia dla niegoPorównaj `Język witryny` z nazwą pliku, na przykład `pl_PL`
Część tekstów działa, a część nieZła domena, brakujący wpis lub tekst na stałePorównaj domenę z nagłówkiem komponentu i wyszukaj ciąg w kodzie
PO ma przekłady, ale strona pokazuje oryginałBrak MO, zła ścieżka albo nazwa plikuSprawdź plik na serwerze przez SFTP i dopasuj nazwę do domeny i locale
Custom działa w edytorze, ale nie na stronieLoco jest wyłączone albo loader uruchamia się za późnoWłącz Loco i sprawdź kolejność ładowania tłumaczeń
Panel jest po polsku, witryna nieRóżne ustawienia panelu i witrynyPorównaj `Ustawienia > Ogólne` z językiem profilu użytkownika
Nie tłumaczy się tylko element JavaScriptBrak albo błędna rejestracja pliku JSONSprawdź `wp_set_script_translations()` i plik JSON dla skryptu
Loco nie może zapisać plikuWordPress blokuje modyfikację plików lub zapisSprawdź ustawienia hostingu i komunikat wtyczki, nie omijaj blokady bez diagnozy

Komunikat `File modification is disallowed by your WordPress config` oznacza, że konfiguracja WordPressa nie zezwala na daną modyfikację pliku. Loco Translate respektuje tę blokadę. Producent zaleca ustalić jej przyczynę z administratorem lub hostingiem zamiast rozszerzać uprawnienia bez analizy; więcej informacji znajduje się w dokumentacji dostępu do plików Loco.

Po sprawdzeniu plików wyczyść cache wtyczki, hostingu i CDN, a następnie otwórz stronę w prywatnym oknie. Jeśli nie tłumaczy się jeden przycisk, wyszukaj jego dokładną treść w PHP i JavaScript. Tekst zakodowany na stałe wymaga zmiany kodu, a nie kolejnego pliku PO. Przy zmianach na stronie lokalnej możesz skorzystać z poradnika konfiguracji Local WP lub porównać Local, wp-env i inne środowiska WordPress.

Schemat prowadzi przez diagnozę źródła komunikatu, locale, wpisu tłumaczenia, plików i cache, by wskazać miejsce problemu.

Kto powinien odpowiadać za lokalizację WordPressa?

Administrator odpowiada za ustawienia i bezpieczne wdrożenie pliku, tłumacz za jakość językową, a programista za poprawki w kodzie. Przydzielenie zadania według źródła problemu ogranicza ryzyko, że ktoś zmieni pliki komponentu bez możliwości odtworzenia zmian.

Role przy lokalizacji WordPressa, zmiany, dostęp i ryzyko błędu
RolaTypowa zmianaWymagany dostępRyzyko przy błędzie
AdministratorLocale, ustawienia regionalne, Loco Translate i kontrola po aktualizacjiPanel WordPressa, kopia zapasowaZapis w lokalizacji zarządzanej przez aktualizacje
TłumaczPrzekład komunikatów, kontekst i odmianaEdytor PO lub uprawnienia do tłumaczeńZmieniony placeholder lub niejednoznaczny komunikat
ProgramistaDomena, funkcje gettext, ścieżka lub tłumaczenia JavaScriptKod, repozytorium i środowisko testoweBłąd PHP lub JavaScript wpływający na działanie komponentu

Programista jest potrzebny, gdy tekst jest zakodowany na stałe, brakuje domeny tekstowej albo komponent ładuje pliki w nieprawidłowym momencie. Jeśli problem dotyczy także innych funkcji, na przykład wyszukiwarki, rozdziel przyczynę od tłumaczenia: poradniki o konfiguracji Ajax Search Lite i Better Search Replace opisują odrębne zadania administracyjne.

Perspektywa KC Mobile. W pracach nad WordPressem najpierw ustalamy, który komponent generuje komunikat. Podobny tekst może pochodzić z motywu, wtyczki, własnego szablonu lub skryptu, a każdy z tych przypadków wymaga innej poprawki. Jeżeli lokalizacja wymaga modyfikacji kodu albo testu po aktualizacji, opieka nad WordPressem może objąć diagnozę i utrzymanie witryny zgodnie z zakresem usługi. Przy przenosinach warto też sprawdzić, czy kopia obejmuje własne pliki PO, MO i JSON, opisane w poradniku o migracji WordPressa na nowy hosting.

Więcej poradników w tym temacie

Wspomniane narzędzia

WordPressLoco TranslatePoeditFTPSFTPCDNLocal WPwp-env

Najczęściej zadawane pytania

Co oznacza WordPress localization?
To dostosowanie interfejsu motywu lub wtyczki do języka i ustawień regionalnych. Wymaga kodu przygotowanego do tłumaczenia oraz plików dla właściwej domeny i locale. Nie tłumaczy automatycznie treści witryny.
Jak przetłumaczyć motyw WordPress?
Ustal jego domenę tekstową, locale witryny i plik POT. Przetłumacz PO, wygeneruj MO i umieść pliki w obsługiwanej lokalizacji. Własne pliki Custom Loco wymagają aktywnej wtyczki Loco Translate.
Jak przetłumaczyć wtyczkę WordPress?
Sprawdź slug i domenę tekstową wtyczki oraz to, czy brakujący tekst pochodzi z PHP czy JavaScript. Edytuj plik PO w Loco Translate lub Poedit, a następnie sprawdź MO i ewentualny JSON. Jeśli tekst jest wpisany na stałe w kodzie, potrzebna będzie poprawka programistyczna.
Do czego służą pliki PO i MO w WordPressie?
PO przechowuje tekst źródłowy i tłumaczenie w formie edytowalnej. MO to skompilowany plik używany przez WordPressa podczas wyświetlania interfejsu. Tłumaczenia skryptów JavaScript mogą wymagać także plików JSON.
Czy aktualizacja WordPressa może nadpisać tłumaczenia?
Tak, pliki w katalogach motywu, wtyczki i systemowych tłumaczeń mogą zostać zastąpione podczas aktualizacji. Katalog `wp-content/languages/loco` chroni własne pliki przed typowymi aktualizacjami, ale loader wymaga aktywnej wtyczki Loco Translate i poprawnej obsługi komponentu.
Dlaczego język panelu różni się od języka witryny?
Język witryny ustawisz w `Ustawienia > Ogólne`, a użytkownik może osobno wybrać język panelu w `Użytkownicy > Profil`. To ustawienie profilu wpływa na ekran administracyjny konkretnej osoby, nie na język widoczny dla odwiedzających.
#WordPress localization#lokalizacja WordPress#tłumaczenie motywu#tłumaczenie wtyczki#WordPress i18n#WordPress l10n#pliki PO i MO#Loco Translate
Zdjęcie autora: Krzysztof Czapnik
O autorze

Krzysztof Czapnik

Founder & Technical Lead, KC Mobile

Projektuję i rozwijam strony WordPress, sklepy WooCommerce oraz aplikacje internetowe. Łączę projektowanie z programowaniem, integracjami i technicznym SEO. Projekty KC Mobile prowadzę osobiście.

Potrzebujesz pomocy z tym tematem? Napisz - odpowiem osobiście w 24h.

Potrzebujesz pomocy w tym temacie?

Czytasz poradnik „WordPress localization: lokalizacja motywu i wtyczek krok po kroku”. Napisz, co chcesz zrobić i na jakim etapie jesteś. Ustalimy, czy możemy pomóc i jaki zakres prac będzie potrzebny.