Zawartość artykułu
Błędne odwołania do tłumaczeń w szablonach PrestaShop 1.7
Przy niektórych szablonach dla PrestaShop 1.7 mozna natrafić na liczne problemy z tłumaczeniami. Jednym z nich jest błędne osadzenie tłumaczenia przez twórców.
Chodzi o błędne wstawienie w szablonie .tpl :
<h2>{l s='Jakaś fraza' d='Shop.Theme'}</h2>
Zamiast precyzyjniejszego:
<h2>{l s='Jakaś fraza' d='Shop.Theme.Actions'}</h2>
Po prostu samo odwołanie Shop.Theme jest zbyt ogólne i nie da się potem tego przetłumaczyć. Przez to, że nie da się kliknąć na drzewie tłumaczenia w folder
Shop -> Theme (przedstawiamy to na screenie poniżej)
Nie listuje on po prostu sumy fraz które go zawierają.
Należy takie niekompletne odwołanie uzupełnić przez .Actions
lub też .Catalog, .Checkout itd. jeśli jesteśmy pedantami i chcemy mieć to ładniej ułożone 😀
Należy to zmienić we wszystkich szablonach widocznych w:
themes/{Twój-szablon}
(Jeśli gdzieś indziej też to występuje i chcemy to naprawić naszym sposobem)
Przykład.
Na monicie informującym o pustej kategorii:
Mamy do przetłumaczenia są dosłownie dwie frazy. Jedna „Sorry …” napisana boldem pod „Oops!”, druga „It looks like..” zaraz poniżej.
Widok w kodzie
Plik:
themes/{SZABLON}/templates/errors/not-found.tpl
Kod:
<section id="content" class="page-content page-not-found"> {block name='page_content'} <h2>{l s='Oops!' d='Shop.Theme'}</h2> <h4>{l s='Sorry for the inconvenience.' d='Shop.Theme'}</h4> <p>{l s='It looks like nothing was found at this location. Maybe try one of the links below or a search?' d='Shop.Theme'}</p> <div class="col-lg-8 col-lg-offset-2 mb-30">{block name='search'} {hook h='displaySearch'} {/block}</div> <div class="clearfix"></div> <div class="text-center"><a href="{$urls.pages.index}" class="btn btn-primary">Back Home <i class="fa fa-angle-right"></i></a></div> {block name='hook_not_found'} {hook h='displayNotFound'} {/block} {/block} </section>
Jak widać są tam te niekompletne odwołania.
Próba dotarcia do nich nic nie daje – jak pokazywalśmy wyżej – nie da się kliknąć na drzewie bezpośrednio w gałąź Theme:
Korekta kodu
Musimy poprawić kod na:
<section id="content" class="page-content page-not-found"> {block name='page_content'} <h2>{l s='Oops!' d='Shop.Theme.Actions'}</h2> <h4>{l s='Sorry for the inconvenience.' d='Shop.Theme.Actions'}</h4> <p>{l s='It looks like nothing was found at this location. Maybe try one of the links below or a search?' d='Shop.Theme.Actions'}</p> <div class="col-lg-8 col-lg-offset-2 mb-30">{block name='search'} {hook h='displaySearch'} {/block}</div> <div class="clearfix"></div> <div class="text-center"><a href="{$urls.pages.index}" class="btn btn-primary">{l s='Back Home' d='Shop.Theme.Actions'} <i class="fa fa-angle-right"></i></a></div> {block name='hook_not_found'} {hook h='displayNotFound'} {/block} {/block} </section>
Ale to nie wystarczy. Musisz gruntownie przeładować cache PrestaShop:
Preferencje -> Wydajność -> Wyczyść Pamięć Podręczną
I najlepiej wymuś kompiliację + wyłącz cache:
Czasem musisz ponadto usunąć ręcznie zawartość folderu na serwerze:
/var/cache
Wprowadzenie polskiego tłumaczenia
Nastepnie odwiedź stronę (od strony klineta) gdzie jest to tłumaczenie do wprowadzenia. Tutaj wejdź w tę pustę kategorię aby zobaczyć w/w monit „Oops!”.
Wówczas tłumaczenia się przeładują. Odwiedź:
Międzynarodowy -> Tłumaczenia -> Modyfikuj tłumaczenia -> Tłumaczenia szablonów -> Twój szablon -> Język PL
Następnie na drzewie po lewej wybierz:
Shop -> Theme -> Actions
I na którejść podstronie (zauważ że może tam być stronnicowanie) powieneś/aś dostrzec frazę do przetłumacznia:
„Dla pewności” mozesz przed wprowadzeniem PL frazy klinać „Wyczyść” obok tego pola. Następnie po wpisaniu PL znaczenia – powinno się to wyświetlić na stronie:
To jeden z tricków które pozwolą uporać się z bardzo kulejącym systemem tłumaczeń w PrestaShop 1.7. NIestety korzystając z PrestaShop i mając wielojęzyczny sklep – musimy jakoś sobie z tym radzić.. Są też inne patenty na te kłody rzucane nam przez autorów PrestaShop, ale może o tym kiedyś indziej 😉
Jeśli masz mimo wszystko problemy z tłumaczeniami na Twoim sklepie internetowym – zapraszamy do kontaktu z naszymi programistami:
grafika:wallpaperup.com