Tłumaczenie modułu nie działa, tekst zostaje po angielsku.
Gdy tłumaczenie modułu PrestaShop zostaje po angielsku, zwykle stringi nie zostały jeszcze przetłumaczone albo nadal serwowana jest stara wersja z cache. Przejdź przez to w kolejności:

- Przetłumacz stringi. Przejdź do International → Translations → Translate modules, wybierz moduł i język, a potem uzupełnij tłumaczenia.
- Wyczyść cache. Smarty może nadal serwować stary szablon, wyczyść cache z Advanced Parameters → Performance.
- Sprawdź, jakiego systemu używa moduł. Niektóre moduły dostarczają własne pliki tłumaczeń zamiast systemu PrestaShop; dokumentacja powie, który wariant obowiązuje.
- Dopasuj właściwy plik. Jeśli szablony używają
{l s='...' mod='modulename'}, tłumaczenie musi znajdować się w pliku tłumaczeń tego modułu, a nie w globalnych tłumaczeniach PrestaShop.
Więcej napraw: poradnik rozwiązywania problemów PrestaShop.
Po edycji tłumaczeń wyczyść zarówno cache PrestaShop, jak i dowolny cache serwera/CDN, który może trzymać skompilowane szablony. Upewnij się też, że tłumaczysz w odpowiednim kontekście sklepu i języka w multistore, bo string może być przetłumaczony dla jednego sklepu albo locale, a inny nadal będzie wracał do angielskiego.
Od strony modułu szablony Smarty zwykle wywołują translator PrestaShop z nazwą modułu, np. {l s='Related Products' mod='mprblogrevolution'}. Ta wartość mod musi pasować do katalogu modułu, a stare moduły mogą nadal polegać na plikach w swoim folderze translations/. Jeśli konkretna fraza nigdy nie pojawia się na ekranie tłumaczeń back office, może być budowana dynamicznie w PHP albo JavaScript, więc wyszukaj dokładny angielski tekst w źródłach modułu i potwierdź, że jest opakowany funkcją tłumaczeń.
W starszych lub legacy modułach tłumaczenia zwykle pochodzą z modules/modulename/translations/xx.php oraz wywołań Smarty, takich jak {l s='Text' mod='modulename'}. W nowszym kodzie PrestaShop 1.7/8/9 mogą być zamiast tego używane domeny tłumaczeń Symfony, często z plikami katalogów takimi jak translations/fr-FR/Modules.Modulename.Admin.xlf lub Modules.Modulename.Shop.xlf. Przetłumaczenie pliku legacy nie naprawi tekstu renderowanego przez domenę Symfony.
JavaScript to osobny przypadek: teksty wypisywane do zmiennych JS mogą być tłumaczone po stronie serwera, ale teksty wpisane na stałe w plikach .js wymagają mechanizmu tłumaczeń JavaScript modułu albo muszą najpierw zostać udostępnione z PHP/szablonów. Jeśli tylko przyciski lub alerty w przeglądarce pozostają po angielsku, przeszukaj także pliki views/js/ modułu, oprócz PHP i szablonów Smarty.
{l s='Table Optimization' mod='mprcleanuprevolution'}
$_MODULE['<{mprcleanuprevolution}prestashop>db_optimize_e48edafb7a762aa641253a1475eb1933'] = 'Optimisation des tables';
$_MODULE['<{mprcleanuprevolution}mypresta-rocks>db_optimize_e48edafb7a762aa641253a1475eb1933'] = 'Optimisation des tables';
Czy ta odpowiedź była pomocna?
Masz jeszcze pytania?
Nie możesz znaleźć tego, czego szukasz? Wyślij nam pytanie, a odpowiemy.