Chcesz, aby Twoja strona WordPress była dostępna w wielu językach, ale nie wiesz od czego zacząć? Szukasz wtyczki, która dobrze współpracuje z WooCommerce i nie rozsypie sklepu po aktualizacji? Z tego artykułu dowiesz się, jak dodać obsługę wielu języków w WordPress, jakimi wtyczkami warto się zainteresować i jak unikać typowych problemów.
Jak podejść do wielojęzyczności w WordPress?
Wielojęzyczny WordPress to nie tylko przetłumaczone teksty. To także struktura adresów URL, język panelu, osobne menu, widżety, a w sklepie internetowym również produkty, warianty i atrybuty. Jeśli te elementy nie są dobrze spięte, szybko pojawiają się błędy w koszyku lub dziwne mieszanki języków.
Najczęściej stosowanym rozwiązaniem są wtyczki typu WP Multilang, Polylang czy komercyjny WPML. Każda przechowuje tłumaczenia w inny sposób, inaczej obsługuje taksonomie, meta pola czy REST API. Dlatego dobór narzędzia warto oprzeć na tym, czy prowadzisz prostego bloga, rozbudowany serwis treściowy czy sklep WooCommerce z wieloma wariantami produktów.
Jakie wtyczki multilang wybrać?
Trzy nazwy padają najczęściej: WP Multilang, Polylang i WPML. WP Multilang to rozwiązanie w 100% darmowe, oparte na tłumaczeniach po stronie PHP. Polylang oferuje wersję bezpłatną i płatną, a WPML jest typową wtyczką komercyjną, od lat obecną na rynku.
WP Multilang daje dużą kontrolę deweloperom. Pozwala tłumaczyć wielowymiarowe tablice opcji, pola meta, post_content, a do tego nie duplikuje wpisów czy menu dla każdego języka. Polylang z kolei jest często wybierany przez użytkowników, którzy szukają prostego interfejsu i integracji z popularnymi motywami. WPML bywa pierwszym wyborem w dużych projektach, gdzie potrzebne są rozbudowane narzędzia Translation Management i String Translation.
Czym różni się podejście WP Multilang?
WP Multilang trzyma tłumaczenia w istniejących tabelach WordPressa, bez tworzenia dodatkowych tabel w bazie danych. Nie wymaga subdomen dla każdej wersji językowej, a treści są rozdzielane za pomocą konfiguracji i filtrów. To podejście jest wygodne, gdy projekt rozwija programista, który potrafi przygotować plik wpm-config.json w motywie lub wtyczce.
Wtyczka oferuje funkcje takie jak wpm_translate_string, wpm_translate_url czy wpm_translate_value, dzięki którym można sterować tłumaczeniami bezpośrednio w kodzie motywu. Jeśli jakiś element nie ma filtrów po stronie PHP, dostępna jest także konfiguracja tłumaczeń po stronie JS dla konkretnych znaczników HTML.
Jak dodać wiele języków w WP Multilang?
WP Multilang po instalacji od razu pozwala zdefiniować kilka języków. Nie wymaga subdomen ani osobnych instalacji WordPressa, więc panel pozostaje jeden, a języki są rozdzielone przez konfigurację i wybór języka przy edycji treści.
Wtyczka pozwala też tworzyć dodatkowe języki powiązane z jednym locale. Możesz zatem mieć kilka wariantów języka angielskiego – na przykład en, en-UK, en-AU – bez instalowania kolejnych lokalizacji WordPressa. Dla zespołów redakcyjnych przewidziano rolę Translator, która pozwala tłumaczyć wpisy i terminy bez możliwości ich publikacji czy usuwania.
Jak skonfigurować tłumaczenia w wpm-config.json?
Serce WP Multilang stanowi plik wpm-config.json umieszczony w katalogu motywu lub wtyczki. To w nim określasz, które typy treści, taksonomie, opcje lub pola meta mają być tłumaczone, a które powinny pozostać wspólne dla wszystkich języków. W ten sposób możesz na przykład wyłączyć tłumaczenie zwykłych wpisów blogowych, a włączyć tylko dla produktów WooCommerce.
Jeśli chcesz wyłączyć tłumaczenie typu posta „post”, możesz ustawić dla niego wartość null w konfiguracji albo użyć filtra wpm_post_post_config w functions.php. Z kolei podanie pustej tablicy lub pustego obiektu w JSON uruchomi tłumaczenie danego elementu. Wtyczka pozwala też definiować konfiguracje dla wielowymiarowych tablic, np. dla powtarzalnych pól niestandardowych, przy użyciu tagu wpm_each.
Jak dodać przełącznik języka?
Przełącznik języka w WP Multilang możesz umieścić w dowolnym miejscu motywu. Wystarczy wywołać funkcję wpm_language_switcher() w pliku szablonu, sprawdzając wcześniej, czy funkcja istnieje. Funkcja przyjmuje parametr typu przełącznika oraz sposób wyświetlania języków, dzięki czemu łatwo dopasować wygląd do projektu graficznego.
Języki można wyświetlać jako listę, rozwijaną listę „select” lub dropdown. W każdym wariancie możesz określić, czy ma być widoczna flaga, nazwa języka czy jedno i drugie. Alternatywą jest użycie shortcode wpm_lang_switcher w treści wpisu lub w widżecie tekstowym, jeśli potrzebujesz prostego przełącznika bez ingerencji w pliki motywu.
Jak korzystać z WPML w wielojęzycznym WordPressie?
WPML to zestaw kilku wtyczek, które razem tworzą środowisko do tłumaczenia całej strony WordPress. Po instalacji trzeba aktywować moduły takie jak WPML Multilingual CMS, Translation Management, String Translation, Media, CMS Nav czy Sticky Links. Dopiero ten komplet daje pełną kontrolę nad treścią, menu, mediami i elementami tekstowymi spoza edytora.
Konfiguracja startowa WPML obejmuje wybór języka bazowego i listy języków dostępnych na stronie. Na tym etapie możesz od razu dodać przełącznik języka do menu, stopki lub widżetu, a także ustawić styl jego wyświetlania. Rejestracja strony za pomocą Site Key odblokowuje automatyczne aktualizacje i wsparcie techniczne, ale możesz ten krok przesunąć wybierając opcję przypomnienia później.
Jak tworzyć menu w wielu językach w WPML?
Menu w WPML edytujesz w standardowym panelu Wygląd → Menu. Przy każdym języku wybierasz osobne menu lub zaznaczasz, że dany zestaw pozycji jest tłumaczeniem istniejącego menu w innym języku. Dzięki temu WPML wie, która nawigacja jest powiązana z którą wersją językową strony.
Proces tworzenia jest prosty: wybierasz język, definiujesz nazwę menu, dodajesz elementy, a następnie przypisujesz lokalizację motywu. Wtyczka pozwala także kopiować strukturę menu między językami, żeby potem zmienić tylko docelowe adresy. To wygodne, gdy masz rozbudowaną nawigację z wieloma poziomami.
Jak tłumaczyć treści, widżety i łańcuchy tekstowe?
WPML dodaje do listy wpisów i stron kolumny z ikoną „+” przy każdym języku. Kliknięcie plusa tworzy powiązany wpis w nowym języku, który może mieć własny tytuł, treść, slug i obrazek wyróżniający. W panelu tłumaczeń można też synchronizować pola niestandardowe i taksonomie, żeby zachować spójność struktury treści.
Widżety możesz ustawiać per język lub oznaczyć jako widoczne we wszystkich wersjach. Elementy tekstowe spoza edytora, takie jak komunikaty w motywie czy etykiety formularzy, obsługuje moduł String Translation. Dzięki niemu tłumaczysz łańcuchy tekstowe bez grzebania w plikach PHP, co jest wygodne dla redakcji bez zaplecza programistycznego.
Jak WP Multilang współpracuje z WooCommerce?
Sklep internetowy wymaga nie tylko tłumaczenia opisów. Dochodzą produkty proste i z wariantami, kategorie, tagi, globalne atrybuty, maile transakcyjne oraz integracja koszyka między językami. WP Multilang został przygotowany z myślą o takim scenariuszu, dlatego obsługuje tłumaczenia produktów, import i eksport, a także synchronizację koszyka w wielu językach.
Wtyczka potrafi wysyłać maile w języku wybranym przez klienta, a także dodać parametr lang do zapytań REST API. Dzięki temu integracje z zewnętrznymi systemami, które korzystają z REST API WooCommerce, mogą pobierać treści w żądanym języku. To istotne przy integracjach z systemami magazynowymi czy zewnętrznymi sklepami.
Co z atrybutami i wariantami produktów?
Najczęstszy problem zgłaszany przez właścicieli sklepów to sytuacja, gdy po aktualizacji WooCommerce przestają działać atrybuty produktów. Klienci nie mogą dodać do koszyka żadnego produktu z wariantami, bo wysypuje się logika wyboru atrybutów. Dotyczy to zarówno WP Multilang, jak i Polylang, kiedy zmienia się kod WooCommerce odpowiedzialny za wyświetlanie atrybutów.
Takie błędy często znikają dopiero po wydaniu aktualizacji wtyczki językowej dostosowanej do nowej wersji WooCommerce. Support WP Multilang zna ten typ problemów i przygotowuje poprawki, ale w darmowych rozwiązaniach przerwa między aktualizacjami potrafi wynieść kilka miesięcy. W tym czasie sklep traci zamówienia, bo koszyk po prostu nie działa przy produktach z wariantami.
Jak reagować na błędy po aktualizacji WooCommerce?
Gdy po aktualizacji WooCommerce nagle przestają działać warianty, masz w praktyce dwie strategie. Możesz czekać na nową wersję WP Multilang lub Polylang, licząc na szybką poprawkę, ale wtedy ryzykujesz utratę sprzedaży. Druga droga to przywrócenie poprzedniej wersji WooCommerce, z którą Twój sklep działał poprawnie.
Po cofnięciu WooCommerce warto regularnie sprawdzać, czy pojawiła się nowa wersja WP Multilang lub Polylang. Gdy zobaczysz aktualizację, najpierw uaktualnij wtyczkę wielojęzyczną, a dopiero później przejdź na nowe wydanie WooCommerce. Taka kolejność zmniejsza ryzyko, że atrybuty i koszyk znów przestaną funkcjonować poprawnie.
Aktualizuj najpierw wtyczkę wielojęzyczną, a dopiero potem WooCommerce – odwrotna kolejność często psuje warianty produktów.
Jak zarządzać tłumaczeniami treści, menu i widżetów?
W wielojęzycznym WordPressie każdy element może mieć własną wersję językową. Dotyczy to post types, taksonomii, pól meta, opcji w bazie danych, a nawet tytułów i treści w widżetach. Jeśli któryś obszar pozostanie nietknięty, użytkownik szybko zobaczy mieszankę języków, co zniechęca do zakupu lub dalszego czytania.
WP Multilang pozwala osobno przypisywać posty, terminy, widżety, menu i komentarze do danego języka. Nie ma tu duplikatów postów czy menu jako osobnych bytów dla każdej wersji językowej, co upraszcza zarządzanie. Z kolei WPML i Polylang budują relacje między tłumaczeniami, dzięki czemu możesz łatwo przełączać się między wersjami wpisu z poziomu edycji.
Jak tłumaczyć pola meta, opcje i treści dynamiczne?
Coraz więcej motywów i wtyczek zapisuje ustawienia w opcjach lub złożonych polach meta. WP Multilang jest przygotowany na taki scenariusz, bo wspiera tłumaczenie wielowymiarowych tablic opcji, pól meta i post_content. Dzięki konfiguracji w wpm-config.json możesz wybrać, które elementy z takiej tablicy są zależne od języka, a które mają pozostać wspólne.
Dla treści, które nie mają filtrów PHP przed wyświetleniem, dostępna jest konfiguracja tłumaczenia po stronie JS. Definiujesz wtedy znaczniki HTML, atrybuty takie jak text, value, title czy alt oraz ekrany administracyjne, na których tłumaczenie ma działać. To ważne przy bardziej złożonych panelach ustawień wtyczek SEO czy builderów stron.
Jak pracować z builderami i popularnymi wtyczkami?
WP Multilang deklaruje kompatybilność z wieloma narzędziami, w tym Elementor (w wersji premium integracji), Divi Builder, ACF i ACF Pro, Yoast SEO, SEOPress, Rank Math SEO, Contact Form 7, WPBakery, NextGEN Gallery czy Ultimate Member. Dla części z nich konieczna jest dodatkowa konfiguracja w pliku wpm-config.json lub przez filtry.
Warto testować integrację na środowisku próbny przed wdrożeniem na produkcję, bo różne wtyczki inaczej zapisują dane. Tam, gdzie WP Multilang nie wykryje automatycznie treści do tłumaczenia, zwykle da się to obejść przez ręczną konfigurację. W bardziej rozbudowanych projektach dobrze, gdy czuwa nad tym deweloper znający strukturę bazy WordPressa.
Gdy chcesz lepiej kontrolować to, co dokładnie będzie tłumaczone, przydaje się prosty zestaw kroków, który możesz sobie spisać:
- ustal, które typy treści i taksonomie mają osobne wersje językowe,
- sprawdź, gdzie motyw i wtyczki przechowują ustawienia i teksty,
- zdefiniuj je w pliku wpm-config.json jako tłumaczone lub wspólne,
- przetestuj zmianę języka na stronie i w panelu administracyjnym.
Jak dbać o stabilność i wydajność wielojęzycznego WordPressa?
Obsługa wielu języków to także większe obciążenie dla bazy, więcej zapytań i większe ryzyko kolizji między wtyczkami. WP Multilang stara się to ograniczyć, nie tworząc dodatkowych tabel i bazując na tłumaczeniach po stronie PHP. Dla administratora oznacza to mniej skomplikowane migracje oraz prostsze czyszczenie bazy z tłumaczeń przy odinstalowywaniu wtyczki.
Wtyczka wspiera również czyszczenie tłumaczeń z wbudowanych tabel WordPressa przy usuwaniu. To ważne, gdy testujesz różne rozwiązania i nie chcesz zostawiać w bazie śladów po kilku kolejnych wtyczkach językowych. WP Multilang pozwala też usuwać zainstalowane lokalizacje językowe WordPressa, jeśli nie są już potrzebne, dzięki czemu instalacja pozostaje lżejsza.
Jak korzystać z REST API i przekazywania języka?
Coraz więcej serwisów opiera się na integracjach z zewnętrznymi systemami, aplikacjami mobilnymi czy SPA, które działają na REST API. WP Multilang dodaje obsługę parametru lang w żądaniach REST, co pozwala pobierać dane w konkretnym języku. Ta sama logika działa także dla zapisu treści, jeśli w żądaniu pojawi się parametr języka.
Takie podejście sprawdza się w projektach headless albo tam, gdzie WordPress jest tylko zapleczem treści. Integracje są wtedy bardziej przewidywalne, bo aplikacja zewnętrzna zawsze wie, jaki język danych otrzyma. To ogranicza konieczność budowania własnych systemów mapowania języków na poziomie API.
Jeśli planujesz spory rozwój serwisu i chcesz porównać możliwości poszczególnych rozwiązań, przydaje się prosta tabela z najważniejszymi cechami:
| Wtyczka | Model licencjonowania | Charakterystyczne cechy |
| WP Multilang | 100% darmowa | Tłumaczenia w PHP, brak dodatkowych tabel, wpm-config.json, mocne wsparcie WooCommerce |
| Polylang | Free + wersja PRO | Przyjazny interfejs, integracja z wieloma motywami, popularna w prostych serwisach treściowych |
| WPML | Płatna | Modułowy system, Translation Management, String Translation, rozbudowana obsługa menu i widżetów |
Przed aktywacją nowej wtyczki wielojęzycznej na działającej stronie zrób kopię bazy danych i plików. Przetestuj konfigurację na środowisku testowym, sprawdź działanie koszyka, formularzy kontaktowych, widżetów i nawigacji w każdym języku. Na końcu upewnij się, że przełącznik języka nie tylko działa wizualnie, ale też poprawnie filtruje treści i adresy URL.
Największym wrogiem wielojęzycznego WordPressa są szybkie aktualizacje bez kopii zapasowej i bez wcześniejszego testu.
FAQ – najczęściej zadawane pytania
Czym jest wielojęzyczny WordPress oprócz samych przetłumaczonych tekstów?
Wielojęzyczny WordPress to nie tylko przetłumaczone teksty. To także struktura adresów URL, język panelu, osobne menu, widżety, a w sklepie internetowym również produkty, warianty i atrybuty.
Jakie wtyczki najczęściej wymienia się w kontekście wielojęzycznego WordPressa?
Trzy nazwy padają najczęściej: WP Multilang, Polylang i WPML. WP Multilang to rozwiązanie w 100% darmowe, Polylang oferuje wersję bezpłatną i płatną, a WPML jest typową wtyczką komercyjną.
Czym różni się podejście WP Multilang do przechowywania tłumaczeń?
WP Multilang trzyma tłumaczenia w istniejących tabelach WordPressa, bez tworzenia dodatkowych tabel w bazie danych. Nie wymaga subdomen dla każdej wersji językowej, a treści są rozdzielane za pomocą konfiguracji i filtrów.
Jak skonfigurować tłumaczenia w WP Multilang za pomocą pliku wpm-config.json?
Serce WP Multilang stanowi plik wpm-config.json umieszczony w katalogu motywu lub wtyczki. To w nim określasz, które typy treści, taksonomie, opcje lub pola meta mają być tłumaczone, a które powinny pozostać wspólne dla wszystkich języków.
Jak dodać przełącznik języka w WP Multilang?
Przełącznik języka w WP Multilang możesz umieścić w dowolnym miejscu motywu, wywołując funkcję wpm_language_switcher() w pliku szablonu. Alternatywą jest użycie shortcode wpm_lang_switcher w treści wpisu lub w widżecie tekstowym.
Co zrobić, gdy po aktualizacji WooCommerce przestają działać atrybuty produktów w sklepie wielojęzycznym?
Gdy po aktualizacji WooCommerce przestają działać warianty, można czekać na nową wersję wtyczki wielojęzycznej (WP Multilang lub Polylang) lub przywrócić poprzednią wersję WooCommerce. Zaleca się najpierw aktualizować wtyczkę wielojęzyczną, a dopiero potem WooCommerce.