Jump to content
  • 0

[PS 1.7.8.x] Tworzenie tłumaczeń modułów


() Maciej ()

Question

Witam,

Jeśli gdzieś istnieje już temat tego typu to przepraszam, ale nie znalazłem interesujących mnie informacji.

Mam kupiony szablon od jednego magika, który zawiera bardzo dużo błędów w kodzie (moim zdaniem) i wpisanych na sztywno tłumaczeń, które można by spokojnie wrzucić do panelu ułatwiając korzystanie z niego userom na stronie.

Problem w tym, że nigdy wcześniej nie robiłem tłumaczeń (w sensie dodawania ich) i chciałbym prosić o info jak prawidłowo się za to zabrać.

Zakładając ścieżkę do modułu >>> ../modules/mod_1/

w folderze ../modules/mod_1/translates mam plik pl.php, a w nim :

<?php
global $_MODULE;
$_MODULE = array();
$_MODULE['<{mod_1}prestashop>list_8bbfe0ebb2a22ef751e79061e6596f79'] = 'Grupa filtrów produktów';

I tu moje pytanie co to za ciąg znaków po słowie prestashop> ?? Czy można tu wpisać dowolną wartość, czy musi być ona jakoś odpowiednio przygotowana ? Bo w pliku TPL modułu mam wywołanie

l s='No product at this time' mod='mod_1'

albo

l s='No product at this time' d='Modules.mod_1'

I tu takiego ciągu znaków nie widzę.

 

Jak sobie dopiszę teraz w pliiku TPL

l s='My translation test' d='Modules.mod_1'

to co teraz zrobić, by te tłumaczenie pojawiło się w BO ? Domyślam się, że trzeba by je dodać pewnie do pl.php... tyle tylko, że jak dodaje sobie ręcznie taki wpis to dostaję 500tkę i po zabawie. Więc domyślam się, że gdzieś indziej musi być jeszcze dokonana jakaś zmiana. Pytanie gdzie ? Mógłby mi ktoś łopatologicznie na jakimś prostym przykładzie wyjaśnić gdzie co dodać ?

 

 

Link to comment
Share on other sites

8 answers to this question

Recommended Posts

  • 1

W oficjalnej dokumentacji jest napisane, że druga część ścieżki tłumaczenia musi zawierać jedynie litery i cyfry https://devdocs.prestashop-project.org/8/modules/creation/module-translation/new-system/#translation-domain  https://devdocs.prestashop-project.org/8/modules/creation/module-translation/new-system/

"“Nameofthemodule” is the name of your module, with some rules:

The first letter must be in upper case, and the rest in lower case (eg. “MyModule” becomes “Mymodule”)

Only word characters (A-z, 0-9) are supported.
Make sure that the technical name of your module does not contain contains underscores (_) or any other unsupported symbol, or else translation may not work."

 

Bazując na moim przykładzie - klasa modułu to FeaturedCategories (bez żadnych przedrostków z podłogą, to jest chyba ważne). Stąd pochodzi druga część ścieżki tłumaczenia (pierwsza litera duża, reszta mała) Modules.Featuredcategories.Shop . Trzeci wyraz ścieżki jest dowolny ale wskazane by było to 'Shop'. Na screenach poniżej widać że to działa

 

image.png.35f757c0240f597cda8c2e80ad80d868.png

image.png.d0ae6f632224d00b4f284f6239d79863.png

image.png.c3c14447e5b9703aad7249b5e2ccf353.png

image.png.8f8dc6fd52fb62b2abbceefc3a154b30.png

image.png

image.png

image.png

image.png

Edited by Piotr3qx (see edit history)
  • Thanks 1
Link to comment
Share on other sites

  • 0
39 minut temu, endriu107 napisał:

Teoretycznie przy takim zapisie w tpl modułu: 

{l s='No product at this time' mod='mod_1'}

Po wejściu w tłumaczenia zainstalowanych modułów powinieneś mieć możliwość przetłumaczyć to pole z panelu.

Haczyk w tym, że np wpisując

{l s='TEST' mod='mod_1'}

nie widzę nic o nazwie TEST w tłumaczeniu tego modułu. Stąd też moje rozkminianie jak to ogarnąć, by takie tłumaczenie się jednak tam pojawiło.

Link to comment
Share on other sites

  • 0

Spróbuj {l s='TEST' d='Modules.NazwaKlasyModułu.Shop'}

Czyli jak główna klasa modułu ma nazwę ModuleTest to {l s='TEST' d='Modules.Moduletest.Shop'}

W dokumentacji jest napisane, aby ostatnie słowo było nazwą pliku chociaż z tego co wiem nie jest to konieczne

Link to comment
Share on other sites

  • 0

OK... część pobrania tłumaczenia już istniejącego to akurat ogarniam :)

Problemem jest dla mnie za to jego dodanie do panelu, bo w przypadku zastosowania {l s='TEST' d='Modules.Moduletest.Shop'} albo tak jak w moim przypadku mod_1, czy też wersji poprawionej bez podłogi w nazwie ... to nie zmienia to niestety nic i nie mam w tłumaczeniach modułu zwrotu TEST do przetłumaczenia. A na tym mi właśnie zależy. 

 

Link to comment
Share on other sites

  • 0

Po pierwsze po zmianach w pliku tpl warto wyczyścić cache sklepu, po drugie jak wchodzisz w tłumaczenia? Poprzez zakładkę Międzynarodowy > Tłumaczenia > Tłumaczenia modułów, czy przez Moduły > Konfiguruj moduł i u góry > Tłumacz i wybierasz język? Sprawdź oba rozwiązania i porównaj czy widzisz te same pola do przetłumaczenia.

Link to comment
Share on other sites

  • 0

  

16 godzin temu, endriu107 napisał:

Po pierwsze po zmianach w pliku tpl warto wyczyścić cache sklepu, po drugie jak wchodzisz w tłumaczenia? Poprzez zakładkę Międzynarodowy > Tłumaczenia > Tłumaczenia modułów, czy przez Moduły > Konfiguruj moduł i u góry > Tłumacz i wybierasz język? Sprawdź oba rozwiązania i porównaj czy widzisz te same pola do przetłumaczenia.

Nie ma znaczenia w jaki sposób wchodziłem do tłumaczenia. Za każdym razem widziałem to samo dokładnie. Cache w sklepie testowym mam całkowicie wyłączony.

 

 

---------

@Piotr3qx pisze:

Cytat

W oficjalnej dokumentacji jest napisane, że druga część ścieżki tłumaczenia musi zawierać jedynie litery i cyfry.....

Nie doczytałem faktycznie tej dokumentacji dokładnie. Ehhh... taka pierdoła, a jak mi krwi napsuła. No nic. Człowiek uczy się na błędach :)

Serdecznie dziękuję za wyjaśnienia.

 

Temat do zamknięcia.

Edited by () Maciej ()
uzupełnienie odpowiedzi (see edit history)
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...