test-insert

Z thewoodcraft.org

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
Můžeme toho využít, pokud chceme použít výstup jako parametr šablony, která zobrazí zprávu s informací a prosbou o překlad, která bude viditelná jen dokud NEBUDE existovat překlad v jazyce identifikovaném příslušným kódem
PříkladAplikace šablony v kódu vypadá např. takto.
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í:

  1. Můžete obsah stránky test-dontmarkup, překládat přes systémové zprávy.
  2. 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.
  3. 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.

Parametrizovaná šablona {{test-mt}} není jednoduchá. Uvědomte si, že jsem ji vytvořil jen proto, abych naplno demonstroval možnosti využití šablony {{Mt}}. Většina šablon tak složitá není a také se do nich po dokončení už obvykle znovu nehrabe.
(Poznamenal Keny)
{{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 tisotarget 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)
PoznámkaTen 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
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
Parametr 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:

 • čeština (cs)  • English (en)



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}}
Pro použití v tabulkách, k setřídění podle jazyka se hodí..
{{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

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 />

<translate> A typical view of Fréttinga</translate>

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


1>Fréttinga</> page and used for demonstrate as Translate do <tvar