Složka slovníků

Datová třída

com.etnetera.jnp.data.DictionaryFolderData

Rozšiřuje

FolderData

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ázevTyp hodnotyVícejazyčnýMultihodnota
localizationParent
localizationParentReference nene
primaryLanguage
primaryLanguage Vlastní typ nene
fallbackLanguage
fallbackLanguage Vlastní typ nene

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í:

  1. Ve slovníku pro aktuální jazyk ze složky, která je zdrojem lokalizace, se hledá hodnota pro daný klíč.
  2. 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ů.
  3. 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).

Pro vložení příspěvku do diskuse se přihlašte.