Vícejazyčný web na Drupalu
Nejjednodušší možnost, jak na Drupalu vytvořit stránky ve více jazycích.
Jako příklad si uvedeme web, který bude částečně český a částečně anglický.
Volba jazyků
V prvním kroku se podívejte do Nastavení webu na stránku pod odkazem Jazyky. Zde je potřeba zvolit, s jakými jazyky bude celý web pracovat.
Dejme tomu, že celý web je český a chcete přidat anglickou verzi některých důležitých stránek. V tom případě aktivujte k češtině ještě angličtinu (pokud není v přehledu, použijte odkaz v horní části stránky Přidat jazyk).
Povolení vícejazyčného typu obsahu
V dalším kroku je potřeba definovat, kterého typu obsahu se vícejazyčnost týká. Jestliže se tedy chystáte vytvářet anglické verze typu obsahu Stránka, pak tento editujte.
(Správa obsahu → Typy obsahu → Stránka → Nastavení postupu práce)
Stačí zašrtnout Povoleno a od té chvíle se vám vždycky při vytváření stránky objeví v horní části roletková nabídka, z níž si vyberete, v jakém jazyce se chystáte stránku napsat. Jde hlavně o to, že jazyk se projeví ve zdrojovém kódu stránky – prohlížeč dostane informaci o tom, že stránka je v angličtině.
Úprava webu dle konkrétníha jazyka
V kódu je tedy všechno v pořádku a s cizími jazyky již není na webu problém.
Nyní je ale třeba si uvědomit, že všechny bloky na webu včetně administrace budou pořád v češtině. Co se týče administrace, registrovanému uživateli můžete dát možnost volby. Může si vybrat, v jakém jazyce bude mít svou administraci, ale co se týče samotného obsahu webu, tam už to tak jednoduché není.
Právě proto se nastavuje ještě URL dle konkrétního jazyka. Adresa konkrétní stránky bude obsahovat kód jazyka a podle toho už později lehce nastavíme, že na adresách example.cz/en se zobrazuje místo českého menu anglické.
V nastavení jazyka (pod odkazem upravit) definujte Prefix cesty nebo Doménu jazyka.
Máte-li kód jazyka en, můžete jako prefix cesty použít opět tato dvě písmena.
V podstatě jde o to, že všechny stránky, které mají být v angličtině, budou potom v URL kód jazyka obsahovat, jak je zmíněno výše.
V nastavení jednotlivých bloků potom přidáte pro česká menu omezení, že se nebudou zobrazovat na stránkách, jejichž adresa začíná en/*
Naopak vytvoříte nové bloky s anglickými popisky a nabídkou, která se pro změnu nebude zobrazovat nikde jinde.
Aby byla konfigurace kompletní, na stránce Jazyky se podívejte ještě pod odkaz Nastavení (je v horní části jako záložka). Zde si vyberte co se stane, když nebude podle URL jazyk rozpoznán.
- Žádné. Pro zobrazení webu je použit výchozí jazyk, uživatelé si však mohou na stránce Můj účet vybrat preferovaný jazyk. (Toto nastavení bude použito pro e-maily odesílané webem.)
- Pouze prefix cesty. Jazyk, ve kterém se web zobrazí, je určen zkoumáním, zda cesta URL obsahuje kód jazyka nebo jiný řetězec, který odpovídá prefixu cesty specifikovanému pro některý z jazyků. Pokud nebude žádný nadefinovaný prefix nalezen, bude použit jazyk výchozí. (Toto je obvykle používaná možnost.)
- Prefix cesty s nouzovým jazykem. Jazyk, ve kterém se web zobrazí, je určen zkoumáním, zda cesta URL obsahuje kód jazyka nebo jiný řetězec, který odpovídá prefixu cesty specifikovanému pro některý z jazyků. Pokud nebude žádný nadefinovaný prefix nalezen, bude jazyk vybrán na základě nastavení preferencí uživatele na stránce Můj účet, nebo pomocí nastavení výběru jazyka prohlížeče. Pokud nebude tímto způsobem vybrán žádný z jazyků, web se zobrazí v jazyce výchozím.
Zde je na čase zmínit, že jako kód jazyka můžete použít i subdoménu. URL tedy nebude example.cz/en, nýbrž http://en.example.cz – tato možnost však vyžaduje další povolené funkce na straně serveru.
Zapnuto s překladem
Při nastavování povolení vícejazyčnosti u konkrétního typu obsahu si můžete všimnout ještě jedné volby, do této chvíle nezmíněné. Pokud zatrhnete políčko Zapnuto s překladem (druhý obrázek v tomto článku), pak budete mít možnost ihned vytvářet více jazykových verzí konkrétní stránky. Ze stránky potom povede automatický odkaz na další verze v jiném jazyce.
Autor: Luboš Kudláček
Provozovatel Netzinu, autor knihy o WordPressu, publicista, blogger. Více na LubosKudlacek.cz