Open main menu

Changes

Template:LangSwitch

4,755 bytes added, 21:11, 6 September 2017
m
1 revision imported
{{#if: {{{lang|}}} <!-- Is lang defined or non-empty? -->
| <!-- If lang is defined, try use the language code in that parameter. -->
{{{ {{{lang}}} }}}
| <!-- If lang is empty or undefined, try use the language code of the page. -->
{{#if: {{{ {{lc: {{#titleparts: {{PAGENAME}} | 1}} }}| }}} <!-- Does the page have a language prefix/language code? -->
| <!-- If the page does have a language prefix, use the the contents of the parameter with that language code. -->
{{{ {{lc: {{#titleparts: {{PAGENAME}} | 1}} }} }}}
| <!-- If lang is empty or undefined and there is no language prefix, use the English content. -->
{{{en|}}}
}}
}}<noinclude>
{{Informative template|1=
== Goal ==
This template will show texts in different languages depending on the language of the page it is placed on.

It is mainly meant for translation of contents within templates so that a single template can be used in pages of different languages, rather than having to be translated with one template for each language.

The language the text will be shown in depends on the two letter language code between the page namespace and the page title, for example [[Talk:De/HB Radio-NAV|Talk:'''De'''/HB Radio-NAV]]. If a parameter with a text is not available in the language of the page or is empty, the English text will be shown instead provided it is available.
__TOC__

== Usage ==
The parameters of this template corresponds to the ISO 639-1 two letter language code for the language to be used in that parameter.

For testing and demonstration purposes the named parameter '''lang''' can be used to select a different language than the language of the page the template is used on.

<nowiki>{{</nowiki>'''LangSwitch''' <nowiki>|</nowiki>''de='' <nowiki>|</nowiki>en= <nowiki>|</nowiki>''es='' <nowiki>|</nowiki>''fr='' <nowiki>|</nowiki>''nl='' <nowiki>|</nowiki>''ru='' ... <nowiki>|</nowiki>''lang=''<nowiki>}}</nowiki>

<nowiki>{{</nowiki>'''LangSwitch'''
<nowiki>|</nowiki> ''de'' =
<nowiki>|</nowiki> en =
<nowiki>|</nowiki> ''es'' =
<nowiki>|</nowiki> ''fr'' =
<nowiki>|</nowiki> ''nl'' =
<nowiki>|</nowiki> ''ru'' =
...
<nowiki>|</nowiki> ''lang'' =
<nowiki>}}</nowiki>

== Examples ==
=== Translating templates ===
The template is mainly used for translating templates.

{{inote|Many templates are based on tables and thus have to start from the beginning of the line. That is accomplished by putting them on a new line like in the example below.}}

{{inote|Inserting blank lines will alter the way the template is rendered.}}

<nowiki>{{LangSwitch
| en = <!-- English -->
{{ Template with English contents }}
| de = <!-- German -->
{{ Template with German contents }}
| fr = <!-- French -->
{{ Template with French contents }}
}}</nowiki>

=== Using the lang parameter ===
For testing and demonstration purposes the the '''lang ''' parameter can be used to override the automatic language selection.

<nowiki><!-- Caveat: Google translated -->
{{LangSwitch
| de = Hallo Welt!
| en = Hello World!
| es = ¡Hola Mundo!
| fr = Bonjour tout le monde!
| nl = Hello World!
| ru = Привет мир!
| lang = fr
}}</nowiki>

{{LangSwitch
|de = Hallo Welt!
|en = Hello World!
|es = ¡Hola Mundo!
|fr = Bonjour tout le monde!
|nl = Hello World!
|ru = Привет мир!
|lang = fr
}}

== Copyable sample ==
Please uncomment used entries, in essence by dragging and dropping <code>&lt;!--</code> to the left of the name of the language, like as with English in the example below.

<nowiki>{{LangSwitch
<!-- | ca = Catalan -->
<!-- | de = German -->
| en = <!-- English -->
<!-- English/default text here -->
<!-- | es = Spanish -->
<!-- | fa = Persian -->
<!-- | fi = Finnish -->
<!-- | fr = French -->
<!-- | it = Italian -->
<!-- | ja = Japanese -->
<!-- | nl = Dutch -->
<!-- | pl = Polish -->
<!-- | pt = Portugese -->
<!-- | ru = Russian -->
<!-- | sl = Slovenian -->
<!-- | sr = Serbian -->
<!-- | sv = Swedish -->
<!-- | zh = Chinese -->
| lang = {{{lang|}}}
}}</nowiki>

== Known issues ==
Using some characters like equal signs ('''<nowiki>=</nowiki>''') and pipes/vertical strokes ('''<nowiki>|</nowiki>''') inside template parameters will break the template. Do note that pipes will break tables and that this workaround have to be used for tables. Ways around this is to either use {{tl|{{=}}}}, {{tl|!}}, {{tl|!!}} or {{tl|!-}}, or &lt;nowiki&gt;<nowiki>=</nowiki>&lt;/nowiki&gt;, &lt;nowiki&gt;<nowiki>|</nowiki>&lt;/nowiki&gt;, &lt;nowiki&gt;<nowiki>||</nowiki>&lt;/nowiki&gt; or &lt;nowiki&gt;<nowiki>|</nowiki>-&lt;/nowiki&gt;.

== Related content ==
* [[Help:Templates#Translating templates]]
* [[:Category:Language templates]]

}}

[[Category:Language templates]]
</noinclude>