Složka slovníků
Datová třída
com.etnetera.jnp.data.DictionaryFolderData
Rozšiřuje
Obsahové varianty
- default (
default
)
Atributy
(Kromě atributů dále uvedených také může dědit od typu FolderData. Viz úvodní poznámky k tomuto přehledu.)
Systémový název | Typ hodnoty | Vícejazyčný | Multihodnota |
---|---|---|---|
localizationParent | |||
localizationParent | Reference | ne | ne |
primaryLanguage | |||
primaryLanguage | Vlastní typ | ne | ne |
fallbackLanguage | |||
fallbackLanguage | Vlastní typ | ne | ne |
Poznámky k různým verzím systému jNetPublish
Tento typ byl přidán ve verzi 3.4.22, to znamená, že ve starších subverzích verze 3.4 (Vetis) není k dispozici.
Poznámky k uživatelskému rozhraní
Asset má speciální administraci, která slouží k zakládání dětských slovníků pro jednotlivé jazyky. Každý dětský asset typu Překladový slovník sdružuje lokalizace sady klíčů pro jeden konkrétní jazyk.
V atributech assetu typu Složka slovníků je třeba nastavit alespoň primární jazyk, aby bylo možné slovníky smysluplně používat.
Využití lokalizovaných řetězců v šabloně
Složka slovníků může fungovat jako zdroj lokalizačních dat, která využívá funkce xlat, případně konstrukt s %%.
Nastavení tohoto zdroje pro část TFS kódu se provádí parametrem localizationSource
příkazu options.
Příklad: Využití složky slovníků k lokalizaci
Předpokládejme, že k aktuální šabloně je referencí df
připojená složka slovníků, která ve slovníku cz
nastavuje pro klíč search
hodnotu „Vyhledávání“, a že cz
je také aktuální jazyk.
{options localizationSource=_template.df}
<h2>{%%search}</h2>
{/options}
<h2>Vyhledávání</h2>
Toto nastavení platí i pro vnořené šablony, stačí tedy například nastavit zdroj lokalizace v hlavní šabloně prezentace.
Pravidla pro dohledání hodnoty ke klíči
Podobně jako překladové mapy k šablonám, i složky slovníků je možné řetězit. Slouží k tomu atribut Nadřazený slovník. Hodnotou tohoto atributu může být reference na libovolný asset, který může být zdrojem lokalizačních dat: například na jinou složku slovníků, ale také na šablonu s překladovými mapami.
Další vlastnost překladových slovníků nemá žádný protějšek u překladových map. Atribut Náhradní jazyk definuje jazyk, ze kterého se má převzít lokalizovaná hodnota v případě, že pro aktuální jazyk daný klíč lokalizovaný není.
Konkrétní pravidla jsou tedy následující:
- Ve slovníku pro aktuální jazyk ze složky, která je zdrojem lokalizace, se hledá hodnota pro daný klíč.
- Pokud v předchozím kroku nebyla nalezena hodnota a je nastavený Náhradní jazyk odlišný od aktuálního, hledá se ve slovníku pro náhradní jazyk ze stejné složky slovníků.
- Pokud v předchozím kroku nebyla nalezena hodnota a je nastavený Nadřazený slovník, bere se dočasně za zdroj lokalizace hodnota tohoto atributu, a pokračuje se s ní.
Získání celé lokalizační mapy
Je také možné získat celou lokalizační mapu pro aktuální jazyk konstrukcí df.localizationMap.mapping
(vrátí všechny položky) nebo df.filteredLocalizationMap.mapping
(vynechá prázdné položky).
Takto získaná mapa neobsahuje lokalizované položky z nadřazeného slovníku.
Příklad: Práce s lokalizační mapou
<select name="topic">
{while df.localizationMap.mapping}
<option value="{_.key}">{_.value}</option>
{/while}
</select>
Je vidět, že se tu složka slovníků využívá širším způsobem, než k čemu je určená. Před použitím podobného postupu se doporučuje uvážit možné alternativy a rizika (budoucí nekompatibilita).