Press "Enter" to skip to content

[PrestaShop 1.7] Zmiana tłumaczenia nie działa – nie można zapisać tłumaczenia elementu szablonu [rozwiązany]

Admin 1

Można by powiedzieć dramatu z tłumaczeniami w PrestaShop 1.7 ciąg dalszy…

Dzisiaj natrafiliśmy na kolejny bug po którym po prostu opadają ręce.. Jak się to objawia?

Otóż podczas próby przetłumaczenia angielskiego napisu na polski (tutaj wstawki „items” w koszyku) odnajdujemy ten element:

Tłumaczenia -> Tłumaczenia szablonu -> (wybrany szablon) -> język pl -> Shop -> Theme -> Checkout

Miejsce zmieniania tłumaczenia w adminie PrestaShop

Następnie go zmieniamy i sprawdzamy czy zmiana się dokonała na stronie sklepu (widocznej przez klienta).

Nie dokonała się.

Wracamy do miejsca gdzie zmienialiśmy element i ….. okazuje sie że nie został on zmieniony! Jest w wersji pierwotnej. Żadna próba zmiany nie przynosi rezultatu. Tak samo reset elementu albo nawet zmiana bezpośrednio w kodzie szalbonu na inny wyraz. Dalej to samo..

Na szczęście twórcy wersji PrestaShop 1.7 wyposażyli to oprogramowanie w listę logów oraz tryb debugowania 😐 W każdym razie blądy wołuje zapytanie do bazy:

Bo tu na prędce trzeba zaznaczyć, że wraz z wersją PS1.7 doczekaliśmy się dodatkowego miejsca składowania tłumaczeń. Są one teraz dodatkowo trzymane także w bazie danych 😐 A dokładniej w tabeli ps_translation. Zatem.. nie tylko 1) pliki PHP w obrębie modulu 2) pliki PHP w obrębie szablonu 3) pliki tekstowe .xlf w PS17  – ale teraz też jeszcze 4) wpisy w bazie danych ! Pokutuje tu często stosowana zasada e-korporacji: „Lepsze jest wrogiem dobrego”..

An exception occurred while executing \'INSERT INTO ps_translation (`key`, translation, domain, theme, id_lang) VALUES (?, ?, ?, ?, ?)\' with params [\" items\", \"Ilo\\u015bci\", \"ShopThemeCheckout\", \"wt_104_Organic_Phoenix_104_1_7_5_1\", 2]:\n\nSQLSTATE[22001]: String data, right truncated: 1406 Data too long for column \'theme\' at row 1

Czyli upraszczając – dane które PrestaShop chce załadować do tej tabeli sie tam nie mieszczą. Zapewne któreś pole ma ograniczoną liczbę znaków. I okazuje się, że ma ograniczoną liczbę znaków.. Twórcy niedocenili autorów szablonów. Jak nazwa szablonu jest zbyt długa – tłumaczenie nie będzie dodane. Aby to poprawić wywołaj:

ALTER TABLE `ps_translation` CHANGE `theme` `theme` VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL;

Albo zwiększ po prostu pole theme o typie VARCHAR do max możliwej czyli 255 znaków.

Pytanie: Dlaczego twórcy PS po prostu tego tak nie ustawili? Pytanie pozostawiamy bez odpowiedzi..

W przypadku innych problemów z tłumaczeniem szablonu w PS17 – sprawdź nasz artykuł dotyczący lifehacka na upierdliwe wstawki, których nie da się przetłumaczyć:

PrestaShop 1.7.5.0 – problem z tłumaczeniem modułu koszyka (lub innego modułu) w kupionym szablonie

Jeśli tłumaczenie szablonu Cię przerasta zapraszamy do naszej oferty:

grafika: wallpaperflare.com

  1. Nie wiem czy 1.8.2 silnik nie zarażony z 1.7.5 ponieważ zakupiłem szablon z tłumaczeniem na kilka języków w tym PL lecz niestety tłumaczenie nawet szablonu nie drgnie muszę sprawdzić czy to nie ta przypadłość.

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 !
Jak rozwiązać problem z tworzeniem kopii bezpieczeństwa bazy danych w…