test-insert
Test cíle
- Zdrojem je překládaná stránka test-translate, překlad existuje a cílem je nepřekládaná stránka test-dontmarkup. Měl by se zobrazit řetězec translatable
{{Mt|print=|o=test-translate|t=test-dontmarkup|en}}
- translatable
Výsledek její interpretace je následující: {{test-mt
|{{Mt
|print=
|o=test-translate
|t=test-dontmarkup
|zh
}}|zh|test-translate|test-dontmarkup}}
}}
Šablona {{test-mt}}
má následující obsah:
{{#switch:{{{1}}}
|translatable=Do jazyka [[{{{3}}}/{{{2}}}{{!}}{{#language:{{{2}}}}}]] se stránka [[{{{4}}}]] překládá na stránce [[{{{3}}}]].
|origin=Stránka [[{{{4}}}]] nemá překlad do jazyka '{{{2}}}'. Chcete-li aby nabízela multijazyčný obsah, máte několik možností:
# Můžete obsah stránky [[{{{4}}}]], překládat přes systémové zprávy.
# Můžete v jejím wikikódu použít interní funkci XXX, která zajistí automatické natažení přeloženého obsahu ze stránky [[{{{3}}}]], na základě zvoleného jazyka rozhraní, bude-li takový překlad existovat.
# Nebo můžete vytvořit podstránku [[{{{4}}}/{{{2}}}]] a do záhlaví vložte následující kód, který bude dělat redirekt na jazykovou podstránku (pojmenovanou <code>{{{2}}}</code>), pokud ovšem bude pro stránku [[Special:MyLanguage/{{{3}}}]] překlad do jazyka '{{{2}}}' existovat.
: <code><nowiki>#REDIRECT [[</nowiki>{{{3}}}/{{{2}}}<nowiki>]]</nowiki></code>
|#default={{{1}}}
}}
Výsledek její interpretace je následující: Stránka test-dontmarkup nemá překlad do jazyka 'zh'. Chcete-li aby nabízela multijazyčný obsah, máte několik možností:
- Můžete obsah stránky test-dontmarkup, překládat přes systémové zprávy.
- Můžete v jejím wikikódu použít interní funkci XXX, která zajistí automatické natažení přeloženého obsahu ze stránky test-translate, na základě zvoleného jazyka rozhraní, bude-li takový překlad existovat.
- Nebo můžete vytvořit podstránku test-dontmarkup/zh a do záhlaví vložte následující kód, který bude dělat redirekt na jazykovou podstránku (pojmenovanou
zh
), pokud ovšem bude pro stránku Special:MyLanguage/test-translate překlad do jazyka 'zh' existovat.
#REDIRECT [[test-translate/zh]]
Čínský překlad stránky test-translate ani test-dontmarkup tady rozhodně nevznikne. Proto je zpráva viditelná. Ale nyní si zkusme, jaký bude výsledek, použijeme-li kód 'en': Do jazyka English se stránka test-dontmarkup překládá na stránce test-translate.
- Zdrojem je překládaná stránka test-translate, překlad existuje a cílem je nepřekládaná stránka test-dontmarkup. Měl by se zobrazit červeně vybarvený link test-dontmarkup/en a za ním aktivní link výchozí stránku test-translate/en pojmenovaný English, a na začátku by měl být doplněný separátor
{{Mt|print=dot|o=test-translate|t=test-dontmarkup|en}}
- • test-dontmarkup/en (English)
- Pokud je zdrojem překládaná stránka test-translate, překlad existuje a cílem jiná překládaná stránka např. titulky 1L1, zobrazí název jazyka, odkazující na stránku titulky 1L1/en
{{Mt|print=|o=test-translate|t=titulky 1L1|en}}
- English
- S parametrem 'print=dot' včetně separátoru...
{{Mt|print=dot|o=test-translate|t=titulky 1L1|en}}
- • English
- A s parametrem 'print=dotcode' včetně kódu jazyka...
{{Mt|print=dot|o=test-translate|t=titulky 1L1|en}}
- • English (en)
- Je-li stejná překládaná stránka test-translate, u níž překlad existuje a zdrojem, měl by se zobrazit řetězec tiso – target is origin
{{Mt|print=|o=test-translate|t=test-translate|en}}
- tiso
{{Mt|print=dot|o=test-translate|t=test-translate|en}}
- tiso
{{Mt|print=dot|o=test-translate|t=test-translate|en}}
- tiso
- U nepřeloženého zdroje je odchycena duplicita na nižšší úrovni. Nezkoumá se už schoda s cílem, protože je třeba řešit výchozí stránku, proto se vrací řetězec origin. Podobná situace se bude opakovat v situaci, kdy výchozí stránka (origin) nebude existovat.
{{Mt|print=|o=test-dontmarkup|t=test-dontmarkup|en}}
- origin
{{Mt|print=dot|o=test-dontmarkup|t=test-dontmarkup|en}}
- • English (default)
Neexistující, ale uvedený cíl
- Zdrojem je překládaná stránka test-translate. Cílem je neexistující cíl dontmarkup, ale překlad výchozí stránky existuje. Zobrazí se červeně zbarvený link na neexistující stránku dontmarkup a za ním aktivní link pojmenovaný 'origin', odkazující na stránku s překladem test-translate/en
{{Mt|print=|o=test-translate|t=dontmarkup|en}}
- dontmarkup (origin)
- Pokud překlad výchozí stránky neexistuje, zobrazí se řetězec
origin
{{Mt|print=|o=test-translate|t=dontmarkup|ki}}
- origin
Parametr print=dot
- Pokud je zdrojem překládaná stránka test-translate a překlad výchozí stránky existuje, zajistí atribut
print=dot
to, že se zobrazí červeně zbarvený link na neexistující stránku dontmarkup za kterým bude aktivní link pojmenovaný 'origin', odkazující na stránku s překladem test-translate/en a před tím bude výchozí separátor•
{{Mt|print=dot|o=test-translate|t=dontmarkup|en}}
- • dontmarkup (origin)
- Výchozí separátor lze nahradit přes atribut
s=
. Chcete-li použít znak svislítko|
(který se u šablon využívá jako oddělovač atributů), je třeba využít pomocnou šablonu{{!}}
(vykřičník) –{{!}}
{{Mt|print=dot|s={{!}}|o=test-translate|t=dontmarkup|en}}
- |dontmarkup (origin)
- Neexistující překlad výchozí stránky v kombinaci s atributem
print=dot
se bude lišit od výše uvedeného příkladu č. XX tím, že se místo řetězce 'origin' zobrazí název jazyka, a za ním odkaz stránku Special:MyLangugage/dontmarkup, pojmenovaný 'default'. {{Mt|print=dot|o=test-translate|t=dontmarkup|ki}}
- • Gĩkũyũ (default)
Ten je zbarven červeně, protože stránka dontmarkup neexistuje. Ovšem i kdyby existovala a byl zobrazen modře, je interpretace šablony stejná, protože překlad stránky test-translate není možné vložit do neexistující stránky, i kdyby existoval. Pro dobré porozumění, srovnej rozdíly v interpretaci kódu při použití atributu
print=
.
Není zdroj (origin)
- Není-li uveden zdroj, nebo jde o stránku co neexistuje, nevrací se nic.
{{Mt|print=|en}}
Vliv hodnoty atributu print
Pokud chceme (na základě předaného jazykového kódu) získat nějaké informace, nebo výstup, se kterým můžeme dále pracovat je potřeba použít parametr print=
s hodnotou: plain
, plaincode
, dot
, nebo lang
.
Nemá-li print=
žádnou uvedenou hodnotu, vrací aktivní odkaz na jazykovou podstránku pojmenovanou názvem jazyka. V tomto ukázkovém příkladu odkazující na stránku test-translate/en
{{Mt|print=|o=test-translate|en}}
- English
- Pokud žádny překlad do jazyka 'xyz' tahle stránka nemá, nevrací se nic.
{{Mt|print=|o=test-translate|xyz}}
- dot
- Vrací, pokud jazyk existuje, jeho název jako řetězec, před který se vloží defaulní separátor který lze atributem
s=
"přerazit". {{Mt|print=dot|en}}
- • English
- Je-li výchozí stránka přeložená do uvedeného jazyka, vygeneruje se aktivní link, před který se vloží separátor. Ten lze atributem
s=
"přerazit" {{Mt|print=dot|o=test-translate|en}}
- • English
- V případě, že se výchozí stránka překládá, ale překlad do požadovaného jazyka ještě neexistuje, vrací se jazyk wiki,
{{Mt|print=dot|o=test-translate|fi}}
- • čeština
- plain
- Bez výchozí stránky vrazí název jazyka (pokud existuje), bez výchozího separátoru.
{{Mt|print=plain|en}}
- English
Neexistuje-li překlad příslušného jazyka, vrátí stejný řetězec, takže lze velice jednoduchým působem využít šablonu k testování validity předaného kódu jazyka. Viz ukázková interpterace následujícího kódu:
{{#ifeq:{{{|xyz}}}|{{Mt|print=plain|xyz}}|Neexistující jazykový kód {{{|xyz}}}|}}
Zde je výsledek interpretace: Neexistující jazykový kód xyz Pro ověření validity jazykového kódu v šabloně lze použít jednodušší kód. Místo řetězce 'en' stačí uvést příslušný parametr:
{{#ifeq:en|{{Mt|print=plain|en}}||en}}
Pro 'en' vrátí en a pro 'xyz' – nic. Přímo ve stránce lze samozřejmě použít šablonu rovnou:
{{Mt|print=plain|xyz}}
- xyz
Je-li použita výchozí stránka, bude interpretace jiná. Existuje-li překlad výchozí stránky, bude výsledek podobný, jako kdybychom uvedli dot
, ale nebude generován aktivní link. Výchozí separátor lze pochopitelně změnit.
{{Mt|print=plain|o=test-translate|en}}
- • English
U nepřekládané stránky se nevrátí nic
{{Mt|print=plain|o=test-dontmarkup|en}}
A pro neexistující stránku bude výsledek stejný jako kdybychom žádnou výchozí stránku neuvedli – zobrazí se pouze název jazyka coby řetězec.
{{Mt|print=plain|o=dontmarkup|en}}
- English
print=plain
se tedy hodí, když chceme vygenerovat seznam jazyků, do kterých už je stránka přetlumočena, aniž by to byly aktivní odkazy.- plaincode
- Se hodí, pokud chceme generovat wiki tabulky s parametrem
sortable
, protože vždy vrací řetězec tvořený názvem jazyka a jeho jazykovým kódem, doplněný o oddělovač buněk (dvě svislítka za sebou), bez ohledu na to, jestli překlad či stránka existuje. {{Mt|print=plaincode|en}}
- English||en
{{Mt|print=plaincode|o=test-translate|en}}
- English||en
{{Mt|print=plaincode|o=test-dontmarkup|en}}
- English||en
{{Mt|print=plaincode|o=dontmarkup|en}}
- English||en
- Díky tomu nemusíte nic dalšího řešit. Protože umožňuje generovat správnou tabulku, ať je stránka přeložená, nebo ne. Viz příklad:
Lang code page English en test-translate/en English en test-dontmarkup/en English en dontmarkup/en čeština cs test-translate/cs čeština cs test-dontmarkup/cs čeština cs dontmarkup/cs suomi fi test-translate/fi suomi fi test-dontmarkup/fi suomi fi dontmarkup/fi
- code
- Volba
print=code
je ideální k vygenerování jazykové lišty s aktivními odkazy na překlady, pojmenované jménem jazyka, protože vrací aktivní link, jedině když překlad do příslušného jazyka existuje. {{Mt|print=code|en}}
{{Mt|print=code|o=test-translate|en}}
- English (en)
{{Mt|print=code|o=test-dontmarkup|en}}
{{Mt|print=code|o=dontmarkup|en}}
- Ideální je v kombinaci s nastaveným separátorem. Viz příklad.
Pro [[Special:MyLanguage/test-translate|test-translate]] je zde {{Mt|print=code|o=test-translate|cs}} {{Mt|print=code|s=,|o=test-translate|en}} {{Mt|print=code|s=,|o=test-translate|sk}} {{Mt|print=code|s=,|o=test-translate|pl}} {{Mt|print=code|s=,|o=test-translate|hu}}
- Pro test-translate je zde čeština (cs),English (en)
- V reálném kódu jdou položky rovnou za sebou, aby se nevkládaly konce řádků, interpretované jako mezery.
- lang
- vrací kód jazyka, pokud jazyková podstránka existuje, untranslated pokud neexistuje, nebo nic pokud neexistuje ani ta stránka
{{Mt|print=lang|o=test-translate|en}}
- en
- untranslated
{{Mt|print=lang|o=test-translate|en}}
{{Mt|print=lang|o=dontmarkup|en}}
{{Mt|print=lang|o=dontmarkup|xyz}}
- Zdrojem je neexistující stránka dontmarkup, odkazující na existující cíl. Měl by se zobrazit název kódu jazyka...
{{Mt|print=|o=dontmarkup|t=test-dontmarkup|en}}
- origin
nebo název jazyka a separátor...
{{Mt|print=dot|o=dontmarkup|t=test-dontmarkup|en}}
- • English (default)
nebo kód jazyka a separátor...
- • English (en) (default)
Bez cíle
- Zdrojem je překládaná stránka test-translate, překlad existuje a cíl není uveden. Měl by se zobrazit jazyk existujícího překladu.
{{Mt|print=|o=test-translate|en}}
- English
S parametrem 'print=dot' jazyk překladu doplněný o separátor
{{Mt|print=dot|o=test-translate|en}}
- • English
A parametrem 'print=dotcode' rozšířený o kód jazyka
{{Mt|print=dotcode|o=test-translate|en}}
- • English (en)
Případně jenom kód jazyka a separátor, bude-li uvedeno..
{{Mt|print=code|o=test-translate|en}}
- English (en)
- Je-li zdrojem překládaná stránka test-translate, ale překlad neexistuje a cíl není uveden. Měl by se zobrazit řetězec untranslated
{{Mt|print=|o=test-translate|ki}}
- Stejný efekt by měla mít i nepřekládaná ale existující stránka test-dontmarkup bez uvedeného cíle.
{{Mt|print=|o=test-dontmarkup|ki}}
- Neexistující stránka, by měla vracet červeně zbarvený odkaz dontmarkup.
{{Mt|print=|o=dontmarkup|en}}
{{Mt|s={{!}}|print=|o=test-translate|en}}
{{Mt|s={{!}}|print=|o=test-dontmarkup|ki}}
- English
Všimněte si, že bez parametru 'print=dot', nemá použití separátoru žádný efekt
{{Mt|s={{!}}|print=dot|o=test-translate|en}}
{{Mt|s={{!}}|print=dot|o=test-dontmarkup|ki}}
- |English
- |čeština
Odkaz může být doplněn o kód jazyka použijeme-li 'print=dotcode'
{{Mt|s={{!}}|print=dotcode|o=test-translate|en}}
{{Mt|s={{!}}|print=dotcode|o=test-dontmarkup|ki}}
- |English (en)
- |Gĩkũyũ (ki)
Chceme-li potlačit vygenerování aktivního odkazu, lze použít 'print=plain'
{{Mt|s={{!}}|print=plain|o=test-translate|en}}
{{Mt|s={{!}}|print=plain|o=test-dontmarkup|ki}}
- |English
- |
A použijeme-li 'print=plaincode', můžeme vytvořit druhý sloupec tabulky, který bude možné setřídit podle kódu jazyka
{{Mt|s={{!}}|print=plaincode|o=test-translate|en}}
{{Mt|s={{!}}|print=plaincode|o=test-dontmarkup|ki}}
- |English||en
- |Gĩkũyũ||ki
S cílem ale bez překladu
Je-li zdrojem stránka nepřekládaná, nebo bez překladu test-dontmarkup a cílem překládaná test-translate. Měl by se zobrazit řetezec non-translatable
{{Mt|print=|o=test-dontmarkup|t=test-translate|en}}
- origin
{{Mt|print=|o=test-dontmarkup|t=test-translate|ki}}
- origin
Ale pokud bude uveden parametr 'print=dot', nemělo by se zobrazovat nic
{{Mt|print=dor|o=test-dontmarkup|t=test-translate|en}}
- • English (default)
{{Mt|print=|o=test-dontmarkup|t=test-translate|ki}}
- • Gĩkũyũ (default)
[[test-dontmarkup]] [[test-translate]] == test-dontmarkup transclusion == {{:test-dontmarkup}} == test-translate transclusion == {{:test-translate}}
test-dontmarkup transclusion
cs
FALSE
{{#ifexist:{{PAGENAME}}/{{PAGELANGUAGE}}|TRUE|FALSE}}
FALSE
{{#ifeq:<languages/>|<languages/>|TRUE|FALSE}}
FALSE
{{#ifeq:<languages />|<languages/>|TRUE|FALSE}}
FALSE
{{#ifeq:<languages exists/>|<languages/>|TRUE|FALSE}}
<translate>Testovací stránka. Neoznačovat k překladu!</translate>
test-translate transclusion
cs
FALSE
{{#ifexist:{{PAGENAME}}/{{PAGELANGUAGE}}|TRUE|FALSE}}
FALSE
{{#ifeq:<languages/>|<languages/>|TRUE|FALSE}}
FALSE
{{#ifeq:<languages />|<languages/>|TRUE|FALSE}}
FALSE
{{#ifeq:<languages exists/>|<languages/>|TRUE|FALSE}}
<languages />
![](https://upload.wikimedia.org/wikipedia/commons/thumb/5/53/Tors%C3%B6.jpg/300px-Tors%C3%B6.jpg)
<translate> Fréttinga is a small municipality in MungoLand, located on the BaMungo island.</translate> <translate> It hosts a population of about 400 people. It has some agriculture and fishing and tourists like to visit it in the summertime.</translate> <translate> It has marvelous beaches with a lot of [[<tvar|1>Special:MyLanguage/Seagull</>|seagulls]].</translate>
<translate>
Services
</translate>
<translate> It doesn't have many services.</translate> <translate> There is a shop, and a car ferry visits the island from the mainland once a day.</translate>
<translate> Main events:</translate>
- <translate> The roof of the church fell down in 2009</translate>
- <translate> New church was built in 1877</translate>