Skip to main content
Vícejazyčný Page Title v Drupalu

Nedávno jsem pro klienta tvořil web, který je v současné době k dispozici v 7 jazycích. Možností, jak na Drupalu zprovoznit vícejazyčný web s plně provázaným obsahem, je několik. Návodů, tipů a rad jak na to se v internetových vodách povaluje nepřeberně.

Na co jsem ale narazil, a co mě nemile překvapilo, nefungovaly mi překlady titulků stránek pro stránky generované pomocí Views. Abychom si rozuměli, nemám na mysli nadpis článků, ale ten text, který je v kartě prohlížeče nahoře. Ten popis se hodí nejen k orientaci pro lidi jako já, co mají otevřeno vždycky alespoň 20 oken, ale i kvůli optimalizaci pro vyhledávače.

Startovní čára

Mým zadáním bylo vytvořit velkou hromadu výpisů produktů ve Views dle přiřazených kategorií. Naskýtaly se dvě možnosti – udělat pro každou kategorii a jazyk vlastní Views stránku a pomocí nastavení filtru získat kýžený výsledek. To je ale na můj vkus zdlouhavé a při budoucí editaci značně otravné.

Cesta, kterou jsem se vydal já, vypadá na první pohled jednodušeji. Místo filtrace jednotlivých jazykových verzí, jsem aplikoval režim Jazyk =  Current user's language. Tím se vždy vyfiltroval obsah v jazyce návštěvníka.

Všechno vypadalo, že funguje náramně. Pro jednotlivé jazykové verze jsem nastavil URL aliasy, aby k výpisu kategorie produktu šlo přistupovat pomocí různých url adres (pro každý jazyk její překlad). Chyběla maličkost – nastavit Page Title

Modul Simple Page Title dle popisu plnil moje touhy. A na první pohled taky že ano. Chyba lávky. Háček se objevil. V tomto modulu je kontrolováno, zdali má přistupovaná stránka nějaké další URL aliasy. A pokud ano, použije buď ten alias anebo aktuální cestu. Podle toho, jak to seřadí abeceda.

Přesně v tom byl zakopaný pes. Kvůli tomu jsem měl titulek „Aplikace“ místo „Application“, i když ve stejnou chvíli titulek „Products“ dostával správně přednost před českou verzí. Postačila mírná úprava SQL dotazu a nyní pokaždé generuje správně přiřazený Titulek pro správný URL alias, tedy i pro správný jazyk.

Výsledek

Minimální oprava a nyní se můžu spolehnout, že vždy v titulku stránky bude název, který odpovídá aktuální jazykové verzi.