Problém s překladem textů v minikošíku u Virtuemartu 2

Petra Procházková
in Blog

Datum: 13 květen 2014

Včera jsem při tvorbě eshopu narazila na problém s překladem šablony pro Virtuemart. Text v mini košíku (košík v pravém horním rohu eshopu) se nepřekládal, když se kliklo na tlačítko "Vložit do košíku" a zobrazilo se modální okno nabízející přechod na objednávku nebo pokračování v nákupu. V tomto článku najdete řešení tohoto problému.

Trochu jsem se s tím natrápila. Dodejme, že jsem nedělala klasický mnohojazyčný eshop, ale vzhledem k tomu, že šablony jsou standardně v angličtině, zjednodušila jsem si práci tak, že ačkoliv jsem ponechala jako standardní jazyk angličtinu, jazykové soubory jsem nahradila německými. Eshop nemá vyhlídky na mnohojazyčnost, tak to není až takový problém a je to výrazně rychlejší řešení než vše nastavovat pro další jazyk.

Co mi nešlo do hlavy byl fakt, že texty zobrazující kolik je položek v košíku v pravém horním rohu eshopu se standardně překládaly, ale v okamžiku, kdy se přidávala položka do košíku a vyskočilo modální okno, tak se místo přeloženého textu zobrazila nepřeložená jazyková konstanta ve stylu TM_VIRTUEMART_ITEM.

Ani jazykový debug v Joomla! mi moc nepomohl. Zarážející bylo, že ty chybějící konstanty byly v jazykovém souboru language/en-GB/en-GB.com_virtuemart.ini, takže jsem nechápala, proč se nenahrazují.

Řešení bylo prozaické - stáhnula jsem si komplet složku language k sobě na lokál a prohledala ji pro výskyt konstanty přes Total Commander. Tak jsem zjistila, že se vyskytuje i v jazykovém souboru language/en-GB/en-GB.mod_virtuemart.ini, který ale v souborech z německého překladu virtuemartu chyběl, nebo se nepřekopíroval na server. Tak jsem přeložila těch pár konstant do němčiny, nahrála je do složky language/en-GB/, a voilá! všechno klape.

Když překládáte šablony, může se vám občas stát, že některé texty se nepřeloží, i když jste nainstalovali daný jazykový balíček. Důvodů může být více - 1. podívejte se do jazykového souboru pro šablonu - typicky se může jmenovat en-GB.tpl_theme366.ini nebo jinak očíslovaný. V něm jsou nadefinované konstanty, které nejsou standardně součástí joomla a virtuemart. Když i po překladu těchto souborů není vše přeloženo, nezbývá než se podívat do php souborů konkrétních částí (modulů atp. a hledat text, který se nepřeložil). To je nejjednodušší, když si stáhnete komplet web k sobě na počítač a přes Total Commander dáte hledat konkrétní text v souborech. Občas se totiž stane, že si tvůrci šablony pro Joomla nebo Virtuemart usnadní práci a nevloží do kódu jazykovou konstantu, ale natvrdo text, který se pak zobrazuje, i když máte jazykové konstanty přeložené.

Chcete se na něco zeptat?
1000 znaků zbývá
facebook StaWEBnice twitter StaWEBnice YouTube StaWEBnice Google+ StaWEBnice