Vytvoření multijazyčných stránek Joomla!
Redakční systém Joomla! od verze 2.5 podporuje nativní rozhraní pro provoz multijazyčného obsahu pro více jazykových mutací webových stránek. Ukážeme si krok za krokem, jak provést implementaci multijazyčné podpory pro Joomla!.
Mějte prosím na paměti, že nativní multijazyčné rozhraní Joomla! nemá za cíl plně nahradit rozšíření typu FaLang (dříve JoomFish) pro provoz multijazyčných webových stránek.
Pokud je samozřejmě rozšíření pro Joomla! napsané s podporou pro více jazykových mutací přímo s využitím jádra Joomla!, odpadá nutnost používat rozšíření typu FaLang.
V našem článku se zaměříme na vytvoření multijazyčných stránek při zcela nové instalaci systému. Již na samotném začátku je vhodné si ujasnit, jaké jazykové mutace budeme chtít používat v systému v produkčním prostředí.
Instalaci jazykových balíčků pro dané jazyky provedeme již v samotném úvodu instalace systému. Případně další jazykové balíčky je vždy možné instalovat samozřejmě i dodatečně. Nicméně v tuto chvíli budeme počítat s provozem webové aplikace pro český, slovenský a anglický jazyk.
Stažení instalačního balíčku Joomla!
Instalační balíček systému Joomla! můžeme získat z oficiálních stránek joomla.org a tento balíček po stažení na svém počítači rozbalíme a přeneseme na cílový hosting do výchozí složky určené pro webové aplikace, nejčastěji public_html/ nebo www/.
Základní instalace Joomla!
V instalačním průvodci projdeme základní nastavení a zvolíme si jaké jazyky budeme kromě výchozí angličtiny chtít instalovat do svého systému. V našem případě instalujeme jako další jazyky češtinu a slovenštinu.
Krok 1 - Zvolíme si výchozí jazyk instalace
kdy instalátor Joomla! nastaví jazyk podle nastavení prohlížeče, a tedy v našem případě ponecháme zvolenou češtinu a doplníme pouze název stránek.
Krok 2 - Vytvoříme uživatele s nejvyššími oprávněními
tento uživatel má přístup k celému systému bez omezení. Jedná se o tzv. "super users" účet, kde nastavíme jeho jméno, uživatelské jméno, heslo a e-mail.
Krok 3 - Databáze
provedeme nastavení databáze, ve které doplníme požadavané parametry jako je umístění, jméno databáze, uživatelské jméno a heslo, prefix doplníme nebo necháme výchozí a pokračujeme v instalaci.
Krok 4 - Doplnění dalších jazyků
v této fázi máme již dokončenou základní instalaci Joomla! a instalátor nám nabízí možnost systém rozšířit o další jazykové mutace.
Krok 5 - Nastavení výchozího jazyka
v tomto kroku nastavujeme výchozí jazykovou mutaci pro administraci a veřejnou část webových stránek. V našem případě změníme nastavení z anglického jazyka na český jazyk.
Krok 6 - Dokončení instalace
provedeme stiskem tlačítka "Dokončit & Otevřít administraci".
Povolení jazykového obsahu
Naleznete:
Systém -> Správa -> Jazyky obsahu
Po dokončené instalaci systému musíme otevřít nastavení jazykových obsahů a zde další jazyky povolit, abychom pro ně mohli vytvářet jazykový obsah.
V editaci jazykového obsahu lze v možnostech nastavit rozdílný název stránek a přidat výchozí meta popisek pro danou mutaci.
Upozornění:
V případě editace jazykového obsahu "Kód jazyka", je nutné tuto položku přesně nastavit. Kód jazyka by měl mít vždy první dva znaky malé a další dva znaky velké a jsou od sebe odděleny pomlčkou. Např: cs-CZ, en-GB a další.
Aktivace jazykového filtru
Naleznete:
Systém -> Správa -> Pluginy
Plugin "Jazykový filtr" technicky zajišťuje filtrování obsahu pro jednotlivé jazykové mutace. Bez tohoto pluginu Vám nebude fungovat multijazyčná podpora. Plugin dohledáme zadáním výrazu: "Systém - Jazykový filtr". V pluginu je také možné nastavit další parametry, které nám mohou pomoci upravit výsledné chování pluginu.
Upozornění:
Pokud se pokoušíte přidat multijazyčnou podporu do již existujících stránek, je vhodné se v parametrech pluginu zaměřit na hodnotu "Odstranit kód jazyka z URL", která zajistí, že nedojde k poškození již existujících zaindexovahých url, které doteď nemají kód jazyka v sobě obsažen.
Tip:
Parametr "Automatická změna jazyka" zajišťuje přepínání jazyka webu podle nastavení prohlížeče uživatele. Pokud chcete vždy výchozí jazyk, tento parametr vypněte.
Parametr "Vícejazyčná sdružení položky" nabízí možnost propojit obsahově stejné články, které se liší v jazykové mutaci. To nám zajistí, že když budeme v článku "O nás" a přepneme se na anglickou verzi, tak nebudeme přesměrování na titulní stranu, ale například na sdružený článek "About us".
Vytvoření obsahu pro jazykové mutace
Obsah webové prezentace musíte vytvořit pro každou jazykovou mutaci zvlášť. Je vhodné obsah vytvářet s určitými pravidly a postupy, abychom jednak zamezili problémům s chybovým hlášením 404 o nedostupnosti obsahu a zároveň, aby obsah byl dlouhodobě udržitelný a zpravovatelný v administraci.
Kategorie by měly být vytvořeny pro každou jazykovou mutaci zvlášť, a to i včetně článků. Obecně všude, kde lze nastavit parametr jazyk, je ideální toto učinit pro každou položku, kde očekáváme práci s obsahem.
Upozornění:
Pokud převádíme dejme tomu obsah existující české verze do multijazyčné, je vhodné si původní obsah nastavit na jazyk čeština, a poté vytvořit kopii tohoto obsahu pro anglickou verzi a přeložit obsah. Poté s tímto obsahem můžeme začít definovat anglickou mutaci.
Tip:
Je důležité, aby veškerá rozšíření třetích stran v systému ideálně podporovala multijazyčný provoz, a byly tak na toto nasazení připravena. To, zda-li Vaše rozšíření podporuje multijazyčný provoz, zjistíte u vývojáře rozšíření.
Založení nabídek menu
Naleznete:
Nabídky -> Spravovat
Pro každou jazykovou mutaci založíme vlastní nabídku menu, která je jedinečná pro danou mutaci. V našem případě tedy systém bude obsahovat celkem čtyři nabídky, a to "Main menu", "main menu cs", "main menu sk", "main menu en".
Upozornění:
Chápejte to, že "Main menu" je určeno pro položku nabídky, která je nastavena jako výchozí stránka bez specifikace jazyka. Tedy má hodnotu jazyk "Vše", a to z toho důvodu, že Joomla! potřebuje jednu výchozí stránku pro všechny jazyky.
Dalším jazykovým mutacím v jejich nabídkách nastavíte výchozí stránku se správným parametrem "Jazyk" a "Hlavní stránka" na hodnotu "Ano". Tím zajistíte, že budete mít pro každý jazyk výchozí stránku webu.
V každé nabídce menu budeme vytvářet položky, které budou propojeny s konkrétním obsahem dané jazykové mutace. Je nutné správně propojit jazykový obsah. Vždy se řídíme parametrem "Jazyk".
Sdružení obsahu jazykových položek
Tato funkce umožňuje sdružit stejný obsah v jiných jazycích a zajistit tak, že pokud se uživatel přepne z jednoho jazyka do druhého, nebude po přepnutí přesměrován na výchozí stránku daného jazyka, ale bude mu zobrazen obsah sdružené položky ve zvoleném jazyce.
Sdružení obsahu se provádí v detailu položky pomocí tlačítka "Sdružení", které se nachází v toolbar menu s ostatními tlačítky jako je "Použít", "Uložit & Zavřít", "Zavřít" a jiné.
V nově otevřeném okně zvolíme v rozbalovacím menu "Cílový jazyk". V našem případě použijeme angličtinu a budťo rovnou založíme novou sdruženou kategorii pro daný jazyk, anebo pokud již kategorii v angličtině máme vytvořenou, použijeme tlačítko "Cílová položka" a v modal okně vybereme konkrétní anglickou kategorii, kterou chceme propojit a dáme uložit.
Tip:
Položku můžete sdružit s více jazyky a mít tak komplexní propojení. Například CZ kategorii sdružíte s SK i EN kategorií současně.
Zobrazení nabídek menu
Naleznete:
Obsah -> Moduly stránek
Máme vytvořená menu i obsah v jazykových mutacích, ale musíme také menu zobrazit v šabloně ve veřejné části webových stránek. Pro každé menu je potřeba vytvořit vlastní modul, který zobrazuje jeho obsah v daném jazyce.
Přidání přepínače jazyků
Naleznete:
Obsah -> Moduly stránek -> Nový -> Přepínač jazykové verze
Posledním krokem a pomyslnou třešničkou na dortu je zobrazení přepínače jazyků, který pokud jsme vše správně nastavili, zobrazí v modulové pozici možnost přepínat obsah podle daného jazyka.