Přepisování standardních jazykových řetězců

Vytisknout

Někteří z Vás mají potřebu změnit, upravit či doplnit textové fráze (jazykové řetězce, překlady), které jsou součástí Joomly nebo její rozšíření. Mimo to, pomoci úprav, které dále popíšeme, lze snadno změnit například formát časových údajů nebo zkratky názvu dní, měsíců v roce, a další ...

 

Popíšeme způsob vhodného přepisování standardních jazykových řetězců ve verzi 2.5 (v angličtině - Language Overrides - a právě pod touto frázi najdete několik návodu třeba i na YouTube - pro ty, kteří nedočtou do konce, nebo potřebují provést i vizuálně).

Většinou (pokud autor rozšíření myslel na jeho pozdější překlad),  každé rozšíření v Joomle svůj jazykový soubor. Jazykový soubor může mít každá komponenta, plugin, modul, šablona (pokud používá statické texty). Pokud ale rozšíření překlad nemá (není nahrán jazykový soubor pro výchozí jazyk webu), pak přepisování jazykových řetězců není (především pro začátečníka) jednoduché, a mělo by se řešit spíše celkovým překladem (jak vytvořit vlastní překlad zatím řešit nebudeme). Záměrně neuvádím ani cesty k jazykovým souborům, z důvodů maximálního využití samotné funkce přepisování, dostupné z administračního prostředí (backend). Takový jazykový soubor obsahuje kromě hlavičky (která specifikuje o jaký soubor se jedná, a informuje o dalších náležitostech) podstatnou pro nás část - přiřazení samotných jazykových výrazů.

Například:

COM_CONTACT_COPYTEXT_OF="Toto je kopie zprávy, odeslané uživateli %s prostřednictvím %s"

kde:
COM_CONTACT_COPYTEXT_OF  - jazyková konstanta,
Toto je kopie zprávy, odeslané uživateli %s prostřednictvím %s - hodnota, do které aplikace "dosadí" místo %s konkrétní údaje. Proto není vhodné při hledání kopírovat celý text i s proměnnými hodnotami.

  

Proč to nepřepsat přímo v jazykovém souboru? Protože při možné budoucí aktualizaci těchto "systémových" souborů o úpravy byste mohli přijít, nebo byste museli pracně všechny změny někde evidovat a při každé aktualizaci kontrolovat, zda vaše úpravy nekolidují s aktualizovanými, či provádět je opakovaně.

Mimochodem: právě myšlenka přepisování standardních výstupů je vhodná i na některé "běžné" úpravy zdrojového kódu - ale o tom v některém dalším článku, případně můžete nastudovat dokumentaci - jak přepisovat standardní výstup z Joomly (v angličtině).

   

Provedení úprav

  1. V administraci Vašeho webu (backend) zvolte Rozšíření > Správce jazyků:

backend - Rozšíření - Správce jazyků

  2. Zvolte záložku "Přepsání"

  3. Chcete-li přidat vlastní hodnotu některé jazykové konstanty, zvolte v horní, pravé (ikonové) nabídce "Nový"

  4. Zadejte do vstupního pole, v části "Hledat text, který chcete změnit"  text, který se vyskytuje v názvu jazykové konstanty, nebo v hodnotě této konstanty a zvolte oblast hledání (konstanta nebo hodnota).

Přepisování standardních jazykových řetězců

  5. Ve výsledcích vyhledávání klikněte na nalezený řetězec - provede se načtení do formuláře vlevo, kde můžete změnit text.

  6. Změňte text a uložte změny.

Za povšimnutí stojí umístění souboru (v mém případě ve složce 'C:\xampplite\htdocs\j258\language\overrides\cs-CZ.override.ini') kam Joomla přepisované řetězce ukládá. Provádíte-li podobné úpravy na více webech, stačí tento soubor mezi weby kopírovat (pochopitelně, do stejného umístění).

 

Formát data, času

Pokud byste z nějakého pádného důvodu chtěli přepsat formát data (ať už to je třeba nezobrazení času u publikovaného článku, nebo jiné pořadí údajů), bude pro Vás vhodné vědět, že "vzhled data" lze řídit pomocí jazykových konstant rovněž. Joomla používá několik variant zobrazení data, v jazykových souborech jsou pak definovány jako konstanty začínající na DATE_FORMAT_

Jejich přehled je například na http://docs.joomla.org/How_do_you_change_the_date_format%3F (ačkoliv to je pro Joomlu verze 1.5, a s popisem ve kterém souboru jsou definovány, pro verzi 2.5 platí rovněž, s tím rozdílem, že znak % u proměnné se již od verze 1.6 nepoužívá).

Stejným postupem, jako při provedení úprav textových hodnot, provedete úpravy i "datumových" proměnných, s tím, že jednotlivé proměnné jsou shodné s proměnnými z PHP, funkce date()

Pozor, na různých platformách (Windows/Linux), či verzích PHP, může vzniknout rozdílná interpretace stejných proměnných.

 

  

Příklady z fóra, kdy bylo použito přepsání:

Jak odstranit z datumu čas
Jak změnit formát českého datumu v klíči DATE_FORMAT_LC2
Editace přihlašovacího formuláře

 

Poslední novinky z fóra

Joomla!® je registrovaná ochranná známka společnosti Open Source Matters. © 2004-2012 JoomlaPortal.cz - provozováno Testudo corp. s.r.o. Powered by Twitter Bootstrap Framework. Design by Linelab.org

Jakékoliv užití obsahu včetně převzetí, šíření či dalšího zpřístupňování článků, diskuzních příspěvků a dalších textů je povolenou jen se souhlasem provozovatele.

Domů | Licence | O komunitě Joomla | Kontakty | Hledat na webu