Press "Enter" to skip to content

PrestaShop 1.7 błąd tłumaczeń: Could not crawl for translation files

Admin 0

Jak się objawia błąd?

Jeśli posiadamy sklep oparty o PrestaShop 1.7 i chcemy wprowadzić tłumaczenia dla nowego języka możemy natrafić na problem typu:

Could not crawl for translation files

Objawia się to błędem w dymku, który pojawia się w górnym prawym rogu admina:

W wyniku tego błędu strona z wprowadzaniem tłumaczenia jest pusta i zupełnie uniemożlwia to przetłumaczenie szablonu dla danego języka (tutaj – francuskiego).

Okazuje się, że problemem jest brak plików języka w folderze:

app/Resources/translations/

A dokładniej folderu fr-FR w tej lokalizacji. Zaznaczony folder, którego brakuje przedstawiony jest na screenie poniżej:

Błąd może być spowodowany aktualizacją sklepu do nowszej wersji (np. z poziomu PrestaShop 1.6) albo dodawaniem języka ręcznie w adminie (w zależności od wersji ten folder może nie być dogrywany).

Tylko skąd wziąć ten folder z tymi plikami….?

Pozyskanie brakujących plików

Najłatwiej i najszybciej pobrać ten folder po prostu poprzez instalację nowej wersji PrestaShop. Najlepiej zrobic to na serwerze testowym (po instalacji – nie będzie nam już ona potrzebna i będzie można usunąć taką instancję PrestaShop).

Ważne jest tutaj aby pobrać instalację PrestaShop o dokładnie tej samej wersji skryptu co ta w której występuje błąd w tłumaczeniach. W naszym przypadku była to wersja 1.7.8.3 i widać to na załączonym screenie:

Wybraną wersję PrestaShop pobieramy z linku wg wzoru: https://download.prestashop.com/download/releases/prestashop_[NUMER-WERSJI].zip np. https://download.prestashop.com/download/releases/prestashop_1.7.8.3.zip. Uwaga! Dla nowszych wersji tego oprogramowania – pakiety ZIP z instalatorem pobieramy już z repozytorium GIT. Sprawdź to na stronie https://prestashop.com w dziale pobierania!

Jak widać na screenie powyżej uruchamiamy instalatory wybierając główny język jako ten, którego nam brakuje. Czyli my wybraliśmy francuski. Oczywiście interface instalatora będzie w tym języku ale po omacku powinno udać się go przejść 😉

Przechodzimy następnie proces instalacji i jak juz on się uruchomi nawet nie musimy czekać na jego zakończenie. W któtką chwilę powinny pojawić się na serwerze testowym brakujące pliki w lokalizacji:

app/Resources/translations/

Odmienne wersje językowe (opcjonalny błąd który może wystąpić)

W przypadku języka francuskiego (jak i innych np. brytyjskiego czy niemieckiego dla Austrii itp.) możemy natrafić na problem związany z oznaczeniem kraju. Tzn. język jest pobrany jednak ma oznaczenie innego kraju w którym jego obywatele też się nim posługują. Dla naszego przypadku – tutaj pobrała się wersja kanadyjska języka francuskiego:

Takie tłumaczenie dla obywateli Francji na pewno będzie zrozumiałe. To już kwestia niuansów w tłumaczeniu. Jednak pozostawiając to tak jak jest – nie rozwiążemy naszego problemu. Nasz folder musi mieć nazwę fr-FR. Jednak samo przemianowanie nie wystarczy… Wchodząc wewnątrz folderu widzimi, ze pliki (tekstowe notabene) z tłumaczeniami także mają oznaczenie Kanady. Musimy je wszystkie przemianować na fr-FR – jak na screenie poniżej:

Można to łatwo wykonać w programie TotalCommander w Windows albo zaznaczając wszystkie pliki i z menu kontekstowego wybierając „Rename” (Ubuntu Linux 22.04)

Mało tego – w każdym pliku z osobna są znaczniki w atrybutach dotyczące tego języka w tym regionie:

Należy używając opcji „znajdź i zamień” – zamienić je na fr-FR:

Łatwa zamiana dużej ilości plików tektowych

Aby to łatwo wykonać użyj edytora Eclipse albo Aptana Studio. Pozwala to na opcję „znajdź i zamień” we wszystkich plikach tekstowych w danej lokalizacji.

Wybieramy opcję „Selected resource in 'Project Explorer’ ”  (wskazująć folder fr-FR albo fr-CA wcześniej na drzewku dokumentów):

Klikamy „Replace” i w następnym oknie deklarujemy odpowiednią zmianę:

W jedno kliknięcie wszyskie wystąpienia we wszystkich plikach zostaną naniesione.

Jednak, jak należy podkreślić większość języków (np. rosyjski) nie posiada takich rozgraniczeń regionalnych i od razu pozyskamy folder z odp. plikami z tłumaczeniami.

Sprawdzenie tłumaczeń

Po wykonaniu tych czynności panel z edycją języka powinien działać:

Czyli operacja się udała 🙂

Wganie szablonów e-mail.

W analogiczny sposób należy dodać pliki z szablonami maili dla nowego języka. Znajdują się one w folderze:

/mails/[oznaczenie języka]

np.:

/mails/fr

Też podczas instalacji testowej wersji na testowym serwerze – pozyskamy te pliki i możemy je wgrać do naszego sklepu. Jeśli ich nie będzie nie będzie można przetłumaczyć/wyświetlić maila dla danego języka. I pojawi się błąd:

Ponadto klient tworzący zamówienie w tym języku prawdopodobnie nie otrzyma żadnego maila i nie możemy tego tak zostawić. Najlepiej to odrazu sprawdzić i naprawić! 😉

Więcej informacji na temat szablonów e-maili:

Polskie maile w PrestaShop 1.7.8.2

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.

Zobacz także !
FATAL ERROR w PrestaShop. Zapis produktu i błąd: Nie można…