<je:langSelector>

Control slouží pro vypsání přepínače jazykových mutací webu – do stránky vypíše odkazy na ekvivalentní stránku v ostatních jazycích. Jazyky a jejich pořadí jsou určeny jejich definicí v sekci LanguagesSite.config, jejich názvy pochází z atributu title příslušného tagu Language.

<je:langSelector runat="server" />

Atributy

  • currentLangClass nepovinný [string]

    Název třídy, kterou bude označen aktuální jazyk; v případě použití atributu tag bude tato třída přiřazena jeho obalujícímu tagu. Není-li atribut uveden, použije se třída current-lang. Je-li uveden jako prázdný currentLangClass="", není aktuální jazyk označen žádnou třídou.

  • langClass nepovinný [string]

    Název třídy, kterou bude označen odkaz na každý z jazyků; v případě použití atributu tag bude tato třída přiřazena obalujícímu tagu, nikoliv samotnému odkazu. Není-li atribut uveden, použije se třída lang. Je-li uveden jako prázdný langClass="", nejsou jazyky označeny žádnou třídou.

  • langClassPrefix nepovinný [string]

    Prefix třídy, kterou jsou označeny jednotlivé jazyky. Na rozdíl od atributu langClass je tato třída specifická pro každý jazyk – za uvedený prefix je doplněno jméno jazyka. Není-li atribut uveden, použije se prefix lang-. Je-li uveden jako prázdný langClassPrefix="", nejsou jazyky označeny žádnou třídou.

  • langs nepovinný [string]

    Seznam jazyků oddělených čárkou, které má control vypsat. Jazyky se uvádí pod jejich jménem určeným atributem name příslušného tagu LanguageSite.config. Jazyky se vypíšou v pořadí, v kterém jsou v atributu uvedeny. Není-li atribut uveden, jsou vypsány všechny definované jazyky.

  • separator nepovinný [string]

    Obsah atributu se vloží mezi jednotlivé odkazy.

  • tag nepovinný [string]

    HTML tag, kterým bude obalen odkaz na každý jednotlivý jazyk. Není-li uveden, odkazy se vypíšou jen jako HTML tag <a>, aktuální jazyk pak jako <span>.

  • writeCurrentLang nepovinný [true, false]

    Je-li atribut nastaven na false, ve výsledném výstupu je vynechán aktuální jazyk.

Jazykově závislé kolekce

Fungování controlu je problematické na stránce, která zobrazuje položku jazykově závislé kolekce. Control v tomto případě sice vypíše odkazy do ostatních jazyků, avšak na stejný prvek kolekce, pro který neexistuje ekvivalent v jiném jazyce. Pokud kliknutím na takový odkaz přejdeme na jinou jazykovou mutaci webu, dostaneme se na stránku, která sice je v požadovaném jazyce, ale veškerý obsah pocházející z prvku kolekce zůstane nezměněn, tj. bude v původním jazyce. Tento problém lze vyřešit pomocí controlu <je:langRedirect>.

Příklad

Mějme web se třemi jazykovými mutacemi – anglické, české a japonské. Do stránky default.aspx umístíme:

<je:langSelector runat="server" separator=" | " />

Control vypíše:

<span class="lang lang-en current-lang">English</span> | 
<a href="/cs/default.aspx" class="lang lang-cs">Česky</a> | 
<a href="/ja/default.aspx" class="lang lang-ja">日本語</a>

Pokud bychom ho chtěli mít v podobě seznamu <ul>, udělali bychom to takto:

<ul>
  <je:langSelector runat="server" tag="li" />
</ul>

Control vypíše:

<ul>
  <li class="lang lang-en current-lang">English</li>
  <li class="lang lang-cz"><a href="/cz/default.aspx">Česky</a></li>
  <li class="lang lang-ja"><a href="/ja/default.aspx">日本語</a></li>
</ul>

Připomínky a postřehy

Máte-li nějakou připomínku, dobrý nápad nebo jste našli v dokumentaci chybu, rádi od vás uslyšíme.