WebToDate/Referenční/Jazykové verze
Přehled možností vytváření jazykových mutací webu
Systém WebToDate vychází vstříc i rozsáhlým webům, které udržují informace v několika jazycích.
Snadno můžete pořizovat navzájem provázané články v různých jazycích a umisťovat je do šablon, odpovídajících příslušné jazykové verzi. Možnost volby jazykové verze se v systému WebToDate objevuje na několika místech.
Podpora jazykových mutací webů ve WebToDate spočívá zejména v následujících funkcích:
- Strom kategorií podporuje jazykově závislé vlastnosti, výsledkem je zejména generování korektních navigačních nabídek v závislosti na jazyce.
- Každá zpráva má vlastnost jazyk. V databázi se udržuje spojení definující jazykové ekvivalenty - stejné zprávy v jiných jazycích.
- Každá stránka má vlastnost jazyk. V databázi se udržuje spojení definující jazykové ekvivalenty - stejné stránky v jiných jazycích.
- Existuje funkce umožňující sestavit stránku na základě vzoru - stejné stránky v jiném jazyce
- Existují klíčová slova WebToDate pro snadné vytváření odkazů mezi různými jazykovými verzemi zpráv a stránek.
Definice jazyků
Seznam jazyků, které jsou v rámci funkcí systému nabízeny, se spravuje pomocí funkce Administrace - Jazyky. Pro každý jazyk zde administrátor definuje
- Název jazyka - libovolně zvolený název, který se pak nabízí ve formulářích redakčního rozhraní
- Locale - dvoupísmenná zkratka jazyka, která se pak používá v klíčový slovech pro propojení jazykových verzí nebo v URL stránek jako hodnota parametru pro výběr jazykové verze stránky (zejména v modulech WebToDate).

Jazyky lze libovolně přidávat ve variantě Enterprise, ve variantě Standard lze definovat pouze dva jazyky.
Jazykové verze a strom kategorií
Možnosti jsou popsány v kapitole Strom kategorií a jazykové verze.
Jazykové verze zpráv
Ve formuláři pro úpravu zprávy použijte ikonu pro přechod na seznam revizí a jazykových verzí.

Touto ikonou se přechází na formulář, ve kterém jsou vypsány všechny revize a jazykové verze dané zprávy a jsou přístupné funkce pro všechny proveditelné akce týkající se revizí či verzí.

Tlačítkem Nová jazyková verze se se založí nová verze ve zvoleném jazyce. Více viz Práce s revizemi a jazykovými verzemi zpráv.
Jazykové verze stránek
Definice jazykových verzí
Také stránkám můžete přiřadit informaci, v jaké jsou jazykové verzi.
V záložce Stránky vyberte příslušnou stránku a zvolte tlačítko Vlastnosti. V horní části dialogového okna klepněte na tlačítko Jazykové verze.

Zobrazí se dialogové okno, které zobrazuje seznam navzájem souvisejících stránek v různých jazykových mutacích. Jde o stránky, které budou pravděpodobně obsahovat stejné oblasti se stejnými články v různých jazykových podobách. Abychom s nimi mohli pracovat, musíme je propojit – označit, že patří k sobě.
Také toto lze uskutečnit dvěma způsoby:
- pokud již stránka v jiné jazykové verzi existuje, napíšeme její číslo do pole Stranu číslo a v rozevírací nabídce v jazykové verzi vybereme její jazyk. Po stisknutí tlačítka Propojit s ostatními se článek objeví v seznamu Jazykově přiřazené stránky.
- Pokud stránka v nové jazykové verzi ještě neexistuje a je potřeba ji vytvořit, stiskněte tlačítko Založit stránku a propojit. Objeví se standardní okno přidávání nové stránky. Po uložení je stránka propojena s jazykovými verzemi původní stránky.
Klíčová slova WebToDate pro podporu jazykových mutací
Pro podporu vícejazyčných verzí jsou implementována klíčová slova, která lze používat v šablonách stránek a předlohách. Jejich kompletní výčet je uveden v kapitole Klíčová slova WebToDate.
Tato klíčová slova slouží k tomu, aby bylo možné umístit automaticky na stránku či do zobrazení celého textu zprávy odkaz na jinou jazykovou verzi stránky resp. zprávy. Např. klíčové slovo <!--WTD_ART_LANG(*,CS)--> použité v předloze pro zprávy vloží do stránky URL jazykové verze zprávy v jazyce se zkratkou CS (při výchozí instalaci čeština). Je možné zajistit i vložení odkazu jen v případě, že jazyková verze existuje:
<!--WTD_IF(ART_LANGNOTNULL, *, CS,"<a href="<!--WTD_ART_LANG(*,CS)-->">Česká verze této zprávy</a>")-->
Tento výraz znamená, že pokud existuje česká verze právě zobrazované zprávy, vloží se do zobrazení zprávy odkaz na tuto českou verzi.
V rámci stromu revizí a jazykových verzí se verze zprávy v jiném jazyce dohledává dle následujících pravidel:
- Pokud je zobrazovaná zpráva ve stavu Publikováno, hledá se zpráva v cílovém jazyce ve stavu Publikováno. Pokud neexistuje, hledá se zpráva ve stavu Archivováno. Je-li revizí ve stavu Archivováno v cílovém jazyce víc než jedna, zvolí se ta s nejvyšším číslem revize. Neexistuje-li v cílovém jazyce revize ani ve stavu Publikováno ani Archivováno, vloží se odkaz na revizi s nejvyšším číslem revize.
- Pokud je zobrazovaná zpráva ve stavu Archivováno, hledá se zpráva v cílovém jazyce ve stavu Archivováno. Je-li revizí ve stavu Archivováno v cílovém jazyce víc než jedna, zvolí se ta s nejvyšším číslem revize. Neexistuje-li archivovaná revize, hledá se stav Publikováno, pokud neexistuje ani ten, vloží se odkaz na revizi s nejvyšším číslem revize.
- Výrazy typu WTD_IF vyhodnocují, zda existuje viditelná revize (ve stavu Publikováno nebo Archivováno). Pokud existuje alespoň jedna viditelná, platí stav LANGNOTNULL, jinak platí stav LANGNULL.
Doporučení pro vytváření webů s více jazykovými mutacemi
Při vytváření webů s více jazykovými mutacemi doporučujeme vzít v úvahu následující skutečnosti:
- Jaká lokalizovaná verze navigací se použije na dané stránce, funguje zcela transparentně – podle jazyka stránky nebo zprávy se rozhodne o této jazykové verzi a taková se tam vloží. Využití jazykově závislých vlastností kategorií ovšem klade zvýšené nároky na pečlivou správu stromu kategorií. Příznak "patří do navigace" se definuje pro každý jazyk zvlášť, kategorie se tedy v navigacích pro jeden jazyk objevovat může, v navigacích pro jiný jazyk naopak nemusí.
- Pro výchozí předlohy pro zprávy platí, že na úrovni kategorií se jazyk pro výchozí předlohy rozlišuje (tj. pro každý jazyk lze pro danou kategorii nastavit jinou výchozí předlohu), u publikací toto neplatí. V případě vícejazyčných webů je tedy vhodnější nastavovat výchozí předlohy pro zprávy na úrovni stromu kategorií.
- Jazykové verze stránek je třeba z principu propojovat v případě, že požadavky na implementaci předpokládají vkládání odkazů na jazykové ekvivalenty stránek, tj. na stránce reprezentující určitou sekci webu např. v češtině má být odkaz na stránku reprezentující stejnou sekci např. v angličtině. Pokud toto není požadováno, není propojení jazykových verzí stránek nutné, i když samozřejmě poněkud zpřehlední strukturu implementace.
- Jazykové verze zpráv je třeba z principu vytvářet v případě, že požadavky na implementaci předpokládají vkládání odkazů na jazykové ekvivalenty zpráv, tj. zobrazení zprávy v češtině má obsahovat odkaz na stejnou zprávu v angličtině. Pokud toto není požadováno, není propojování jazykových verzí nutné, nicméně v tomto případě je poměrně vhodné toto provádět – díky této funkci lze pak jednoduše při úpravách zprávy přecházet z jedné jazykové verze do druhé.
- Propojení jazykových verzí zpráv či stránek je vždy nutné provádět ručně tak, jak je popsáno v předchozích kapitolách. K automatickému propojení stránek či zpráv nikdy nedojde; i když jsou třeba dvě stránky ve stejné kategorii ve stromu kategorií, každá má nastavený jiný jazyk a obě jsou nastaveny jako výchozí, WebToDate je automaticky nepovažuje za vzájemné jazykové verze.
- Při přípravě designu webu je vhodné minimalizovat počet WebToDate stylů obsahujících nějaké texty zobrazované na stránkách. Pokud styl obsahuje texty, musí se pro každý jazyk vytvořit jeho duplikát. To zároveň znamená, že chceme-li minimalizovat možnost aplikace nevhodného stylu v dané oblasti na stránce, je třeba pro každý jazyk vytvořit i oblast s jiným názvem (aby bylo možné omezit přípustné styly pro oblast). Čím více definic stylů a oblastí, tím náročnější je samozřejmě správa celé webové prezentace z hlediska úprav či změn grafického designu apod.