Ahoj řeším zapeklitou otázku ohledně překladu typu obsahu. máme formulář pro přidávání obsahu Member. ve vlastním modulu jsme si nadefinovali i vlastní submit button, na který jsou vázány jiné akce než na výchozí submit. Takže si uživatelé mohou vybrat kterou akci chtějí provést a podle toho zmáčknout tlačítko.
Problém máme s překladem. Když si uživatel vybere akci, která je spojena s naším tlačítkem tak se uzel vytvoří a vše je OK kromě hlášení o vytvoření nového obsahu.
"Member Pokusný člen byl vytvořen." ten typ obsahu se nám nepřeloží i když jsme ho přes překladové rozhraní přeložili. Ideálně by to mělo být "Člen Pokusný člen byl vytvořen."
Máme angličtinu jako výchozí jazyk a češtinu jako druhý jazyk + používáme prefix cs v cestě url k detekci jazyka.
U obsahu Member máme:
1) Podpora více jazyků -> Zapnuto (toto je v možnostech vydání)
2) Multilingual setting -> máme výchozí nastavení (Normal - All enabled languages will be allowed. )
3) module - Entity Translation zapnuto (v sekci Translatable entity types máme zaškrtnuto "Uzly")
4) module - I18n (Internationalization) zapnuto (v sekci Multilingual settings máme nastaveno Language neutral (Recommended) jelikož nechceme uzly vázat na jazyk)
Naším cílem bylo pouze přeložit uživatelské rozhraní.
zajímavé je že pokud použijeme výchozí tlačítko Submit ('Uložit') tak se překlad zobrazí správně: "Člen Pokusný člen byl vytvořen."
Na naše tlačítko jsme mapovali puvodní handler + náš vlastní:
$form['actions']['custom_member']['#submit'][] = 'node_form_submit';
$form['actions']['custom_member']['#submit'][] = 'member_node_form_submit';
Díky za radu!
Zkusil bych pohledat jake…
Zkusil bych pohledat jake jsou zdrojove stringy. Je zajimave ze se neprelozi jen slovo "Member" ale "byl vytvořen." uz cesky je. To mi zni jako chybejici/spatny preklad. == Tzn. system to zpracuje spravne, ale bud je v DB spatne prelozeno (ceska varianta skutecne obsahuje slovo "Memeber"), nebo je to v kodu malinko jiny string (neviditelny znak napsany omylem, preklep...) a chybi mu preklad.
Pokud jsem vedle, tak asi nezbyva nic jineho nez xdebugem projit oba scenare a najit rozdily.
Díky za úvahy a zkusíme ten…
Díky za úvahy a zkusíme ten Xdebug a projdeme to...
:-)
Přidat komentář