Zawartość artykułu
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: