Template:LangSwitch/doc: Difference between revisions

From Test Wiki
Jump to navigation Jump to search
Content deleted Content added
Removing Julwanri_Munthe_Aku_Demokrat.jpg, it has been deleted from Commons by Krd because: No permission since 2 May 2025.
 
duplicate argument
Line 1: Line 1:
{{Documentation subpage}} Politisi Muda Partai Demokrat aliran SBYIsme
{{Lua|Module:LangSwitch}}
{{Lua|Module:LangSwitch}}
{{Used in system}}
<!-- PLEASE ADD CATEGORIES AT THE BOTTOM OF THIS PAGE -->
{{TemplateBox
|name=LangSwitch{{{sandbox|}}}


|desc-de=Bietet eine Methode zur Anzeige einer Textzeichenfolge, die aus einer Auswahl von Übersetzungen in verschiedenen Sprachen ausgewählt wurde, in der Sprache, die in den Benutzereinstellungen des Benutzers/in festgelegt ist, oder in der am besten geeigneten Ausweichsprache.
'''Julwanri Munthe'''== {{LangSwitch|en=How to|nl=Hoe werkt het|ja=使い方}} ==
|desc-en=Provides a method to present a string of text selected from an array of many language translations in the language set in the user's preferences or the most appropriate fallback language.
{{Pre2|<nowiki>{{LangSwitch
|desc-fr=Permet de présenter un texte dans la langue de l’utilisateur, en sélectionnant depuis un ensemble de versions en différentes langues. La langue choisie est soit celle définie dans les préférences de l’utilisateur, soit la plus appropriée (déterminée par GetFallback).
|de = lahir di Girsang, 1 Juli 1988
|desc-ja=翻訳されている多くの言語の中から、適切な言語でテキスト文字を表示する機能を提供します。その適切な言語とは、ユーザの好みに応じて言語セットで選択された言語、あるいは、(GetFallbackで定義される)自動システムで一番最適と思われる言語です。
|en = tumbuh besar di Kawasan Danau Toba
|desc-mk=Од разните постоечки преводи, го дава преводот на јазикот одбран во нагодувањата, или пак најсоодветниот резервен јазик (според утврденото во GetFallback).
|es = aktivis PMKRI
|desc-zh=从已翻译的多语言文本组中输出以特定语言的文本。显示语言为用户设置语言,或是由GetFallback定义的后备语言。
|fr = Pengurus Pusat Pemuda Katolik
|it = Pengamat Pertahanan, Keamanan dan Intelijen
|default = NASAMEN
}}</nowiki>}}
Veloz et Exactus
{{LangSwitch|en=<code>default</code> or <code>en</code> is required}}


|1=en
== {{Int Examples}} ==
|1label=English
;{{LangSwitch|en=This code:|nl=Deze code:|ja=コード:}}
|1label-de=Englisch
<span style="border: 2px dotted #81B9F9; background-color: #F0F0F0; margin:10px; padding:5px;">
|1d-de=Text in englischer Sprache. Sofern nicht die Option „default=” verwendet wird, wird dieser Text standardmäßig auch dann zurückgegeben, wenn keine der angegebenen Sprachen mit der in der optionalen Option „lang=” Auswahl übereinstimmt (oder mit der in den Benutzereinstellungen ausgewählten Sprache, wenn diese Option nicht angegeben ist). Wenn Sie keinen Text anzeigen möchten, wenn die Sprache des Benutzers Englisch ist, verwenden Sie „en=~”.
<code><nowiki>{{LangSwitch
|1d-en=Text in the English language. Unless the “default=” option is used, this text will also be returned by default if none of the languages provided match the language selected in the optional “lang=” option (or the language selected in the user's preferences, if that last option is not specified). If you do not want to show any text when the user's language is English, then use “en=~”.
|de = wort
|1d-fr=Le texte en anglais. À moins que l’option « default= » soit utilisée, ce texte sera également retournée si aucune des langues fournies ne correspond à la langue sélectionnée dans l’option facultative « lang= » (ou à la langue sélectionnée dans les préférences de l’utilisateur, si cette dernière option n’est pas indiquée). Si vous ne souhaitez retourner aucun texte lorsque la langue sélectionnée est l’anglais, utilisez « en=~ ».
|en = word
|1d-ja=英語言語の文字。下記の“デフォルト”オプションを設定していない場合で、ユーザが選択した言語セットに該当する翻訳がない場合、この英語テキストが通常使われます。もしユーザの使用言語が英語で何も文字を表示させたくない場合、「en=~」と記述してください。「en」オプションのないLangSwitchテンプレートはカテゴリCategory:LangSwitch template without default versionに自動的に追加されます。
|es = palabra
|1d-zh=英文文本。除非通过“default”设置默认显示语言,否则将在用户偏好语言的翻译文本缺失的情况下显示英文文本。如果不想在用户使用英语时显示任何文本,请指定“en=~”。
|fr = mot
|1stat=required
|it = parola
|1type=string
|nl = woord
|ja = 言葉
}}</nowiki></code></span>


|2=xx
;{{LangSwitch|en=gives:|nl=geeft:|ja=結果}}
|2label=Translation
<span style="border: 2px dotted #81B9F9; background-color: #F0F0F0; margin:10px; padding:5px;">
|2label-de=Übersetzung
{{LangSwitch
|2d-de=Text übersetzt in die Sprache mit dem Code „xx“ (der Parametername „xx“ kann jeder unterstützter Sprachcode sein, der den Standards BCP 47 oder ISO 639-1 entspricht). Verwende „xx=~“, wenn du keinen Text (auch nicht den Standardtext) in dieser bestimmten Sprache haben möchtest. Du kannst auch mehrere Sprachen demselben Text zuordnen, indem du „<nowiki>{{LangSwitch |xx/yy/zz=text }}</nowiki>“ verwendest, was „<nowiki>{{LangSwitch |xx=text |yy=text |zz=text }}</nowiki>“ entspricht. Du kannst für jede übersetzte Sprache so viele Parameter wie nötig angeben.
|de = wort
|2d-en=Text translated in language with code “xx” (the parameter name “xx” can be any supported language code, conforming to the BCP 47 or ISO 639-1 standards). Use “xx=~” if you do not want any text (not even the default text) in this specific language. You may also map multiple languages to the same text by using “<nowiki>{{LangSwitch |xx/yy/zz=text }}</nowiki>”, which is equivalent to “<nowiki>{{LangSwitch |xx=text |yy=text |zz=text }}</nowiki>”. You can specify as many such parameters as needed for each translated language.
|en = word
|2d-fr=Le texte traduit dans la langue de code « xx » (le nom du paramètre « xx » peut être n’importe quel code langue pris en charge, conforme au standard BCP 47 ou à la norme ISO 639-1). Utilisez « xx=~ » si vous ne voulez aucun texte (ni même le texte par défaut) dans cette langue spécifique. Vous pouvez également faire correspondre plusieurs langues au même texte en utilisant « <nowiki>{{LangSwitch |xx/yy/zz=texte }}</nowiki> », ce qui est équivalent à « <nowiki>{{LangSwitch |xx=texte |yy=texte |zz=texte }}</nowiki> » . Vous pouvez indiquer autant de paramètres similaires que nécessaire pour chaque langue de traduction.
|es = palabra
|2d-ja=言語「xx」で翻訳された文字。 (パラメーター名「xx」は(BCP 47/ISO 639-1)なら何でも大丈夫で、翻訳する言語ごとにいくつでも指定可能です) もし特定の言語でメッセージを表示させたくない場合(あるいはデフォルト値として)、「xx=~」と記述してください。
|fr = mot
|2d-mk=Текст на јазикот “xx”. “xx” може да бидат било кои поддржани јазици (BCP 47/ISO 639-1).
|it = parola
|2d-zh=“xx”语言的翻译文本,参数名“xx”可以是任何来自BCP 47或ISO 639-1的语言代码,可根据需要增加可能多的翻译语言。如果希望在某种特定语言中不显示任何信息(故意留空),请使用“xx=~”。可以使用“<nowiki>{{LangSwitch |xx/yy/zz=text }}</nowiki>”在多种语言中使用一个文本中,相当于“<nowiki>{{LangSwitch |xx=text |yy=text |zz=text }}</nowiki>”。
|nl = woord
|2stat=optional
|ja = 言葉
|2type=string
}}</span>


|3=default
|3label=Default fallback
|3label-de=Standard-Fallback
|3d-de=Standardtext, der angezeigt wird, wenn keine der mit den Optionen „xx=text“ angegebenen Sprachen mit der über die Option „lang=” ausgewählten Sprache übereinstimmt (oder mit der in den Präferenzen des Benutzers/in ausgewählten Sprache, wenn diese Option nicht angegeben ist); standardmäßig wird die englische Version (sofern im Parameter „en=text“ angegeben) angezeigt, andernfalls wird eine Fehlermeldung ausgegeben.
|3d-en=Default text to return in case none of the languages specified with the “xx=text” options match the language selected by the “lang=” option (or the language selected in user's preferences, if that option is not specified); by default, the English version (if provided in the “en=text” parameter) will be shown, otherwise a error message will be returned.
|3d-fr=Le texte par défaut à retourner au cas où aucune des langues indiquées par les options « xx=texte » ne correspond à la langue sélectionnée par l’option « lang= » (ou la langue sélectionnée dans les préférences de l’utilisateur, si cette option n’est pas indiquée) ; par défaut, la version anglaise (si elle est fournie dans le paramètre « en=texte ») sera affichée, sinon un message d’erreur sera retourné.
|3d-ja=デフォルト言語の文字。上記の「xx」言語の中にユーザが指定した言語が含まれていない場合に、このデフォルト・オプションを使います。通常はデフォルトとして英語(en)で表示されます。
|3def=<nowiki>{{{en|}}}</nowiki> (English version)
|3stat=suggested
|3type=string


|4=lang
|4label=Language code
|4label-de=Sprachcode
|4d={{Language-code-documentation}} Note that specifying “<nowiki>{{#if: {{{lang|}}} | {{{lang|}}} | {{Int:Lang}} }}</nowiki>” in this value is usually not necessary, unless one wants to override the default target language.
|4d-de={{Language-code-documentation}} Beachte, dass die Angabe von „<nowiki>{{#if: {{{lang|}}} | {{{lang|}}} | {{Int:Lang}} }}</nowiki>” in diesem Wert normalerweise nicht nötig ist, es sei denn, man will die Standardzielsprache überschreiben.
|4def-de=Wert von „<nowiki>{{Int:Lang}}</nowiki>“ (die bevorzugte Sprache von dir, der die Seite anschaut).
|4def-en=Value of “<nowiki>{{Int:Lang}}</nowiki>” (the preferred language of the visitor viewing the page).
|4def-fr=La valeur de « <nowiki>{{Int:Lang}}</nowiki> » (la langue préférée du visiteur visualisant la page).
|4def-ja=“<nowiki>{{Int:Lang}}</nowiki>”の値 (ページを閲覧しているビジターの使用言語)。
|4stat=optional-
|4type=string


|5=nocat
<span style="border: 2px dotted #81B9F9; background-color: #F0F0F0; margin:10px; padding:5px;">
|5label=No category?
<code><nowiki>{{LangSwitch
|5label-de=Keine Kategorie?
|de = wort
|5d-de=“nocat=1” überschreibt das Standardverhalten, das (auf der Kategorie-Seite „LangSwitch-Vorlage ohne Standardversion“) die falschen Verwendungen dieser Vorlage verfolgt, wenn keine der beiden Optionen „en=Text auf Englisch“ oder „default=Text standardmäßig“ mit einem nicht leeren Wert angegeben ist.
|en = word
|5d-en=“nocat=1” will overwrite the default behavior which tracks (in the “LangSwitch template without default version” category page) the incorrect uses of this template, where none of the two options “en=text in English” or “default=text by default” is specified with a non-empty value.
|es = palabra
|5d-fr=« nocat=1 » permet d’empêcher le comportement par défaut qui trace (dans la page de catégorie « LangSwitch template without default version ») les usages incorrects de modèle, où aucune des deux options « en=texte en anglais » ou « default=texte par défaut » n’est spécifiée avec une valeur non vide.
|fr = mot
|5d-ja=言語オプションに「en」や「default」オプションがないページには自動的にカテゴリCategory:LangSwitch template without default versionに追加され、「nocat=1」はデフォルト動作を上書きします。
|it = parola
|5stat=optional-
|nl = woord
|5type=string
|ja = 言葉
|lang = vec
}}</nowiki></code></span>


|example=
|usage-notes={{LangSwitch
|de='''Warning:''' Diese Vorlage '''SOLLTE NICHT''' außerhalb von Software-Interface verwendet werden. Sie '''SOLLTE'' zum Beispiel '''NICHT''' dazu benutzt werden, mehrsprachige Beschreibungen von Medien, Kategorien oder so weiter zu verwalten.
|en='''Warning:''' This template '''SHOULD NOT''' be used out of software interface purpose. For example it '''SHOULD NOT''' be used to manage multilingual description of the subject of a media or a category or whatsoever.
|fr='''Attention:''' Ce modèle '''NE DEVRAIT PAS''' être utilisé en dehors de la traduction de l'interface logicielle. Par exemple il ne '''DEVRAIT PAS''' être utilisé pour gérer les descriptions multilingues du sujet d'un média ou d'une catégorie.
}}

|seealso=
* {{Tl|Autotranslate}} for template internationalization (i18n) mechanism for templates that use ''named'' parameters
* {{Tl|Fallback}} and {{Tl|SuperFallback}}, based on {{Tl|GetFallback}} and {{Tl|GetFallback2}})
* {{Tl|Multilingual link}}
* [[:Category:Internationalization templates using LangSwitch]]
* {{Tl|Multilingual description}}, not using LangSwitch or any fallbacks, but generating vertical lists of translated texts or arbitrary length (without any English or default language requirement) in separate paragraphs; the rendered list is collapsible by a language selection menu at top of the rendered page (it is collapsed by default to show only the user's preferred or selected language, if it matches exactly).
* {{Tl|Translation table}}, not using LangSwitch or any fallbacks, but generating horizontal lists of translations (without any English or default language requirement); the rendered list is statically displaying ''all'' the provided languages, and this template is intended for translating just one term or short expression (otherwise the previous template should be used).

|setscats=[[:Category:Internationalization templates using LangSwitch]]
|type=
|namespace=
|usergroup=all
|i18n-method=-
|i18n-desc={{I18n templates}}
|print=multi
|relieson=[[Module:LangSwitch]]
|useTemplateData=only
}}

== Examples ==

=== Without a default option ===
Here are a few examples showing template behavior for three languages: English, Italian and Corsican (which defaults to Italian if Corsican text is not available):

{|class="wikitable"
|-
!scope="col"| Test
!scope="col"| Code
!scope="col"| lang=en
!scope="col"| lang=it
!scope="col"| lang=co
|-
| No en; default
| {{Tlx|LangSwitch{{{sandbox|}}}|it{{=}}Italian|default{{=}}default}}
| {{LangSwitch{{{sandbox|}}}|it=Italian|default=default|lang=en}}
| {{LangSwitch{{{sandbox|}}}|it=Italian|default=default|lang=it}}
| {{LangSwitch{{{sandbox|}}}|it=Italian|default=default|lang=co}}
|-
| No en; no default
| {{Tlx|LangSwitch{{{sandbox|}}}|it{{=}}Italian|co{{=}}Corsu}}
| {{LangSwitch{{{sandbox|}}}|it=Italian|co=Corsu|lang=en|nocat=1}}<ref name="c">would add [[:Category:LangSwitch template without default version]]</ref>
| {{LangSwitch{{{sandbox|}}}|it=Italian|co=Corsu|lang=it|nocat=1}}<ref name="c"/>
| {{LangSwitch{{{sandbox|}}}|it=Italian|co=Corsu|lang=co|nocat=1}}<ref name="c"/>
|-
| en; default
| {{Tlx|LangSwitch{{{sandbox|}}}|en{{=}}English|co{{=}}Corsu|default{{=}}default}}
| {{LangSwitch{{{sandbox|}}}|en=English|co=Corsu|default=default|lang=en}}
| {{LangSwitch{{{sandbox|}}}|en=English|co=Corsu|default=default|lang=it}}
| {{LangSwitch{{{sandbox|}}}|en=English|co=Corsu|default=default|lang=co}}
|-
| en; no default
| {{Tlx|LangSwitch{{{sandbox|}}}|en{{=}}English|co{{=}}Corsu}}
| {{LangSwitch{{{sandbox|}}}|en=English|co=Corsu|lang=en}}
| {{LangSwitch{{{sandbox|}}}|en=English|co=Corsu|lang=it}}
| {{LangSwitch{{{sandbox|}}}|en=English|co=Corsu|lang=co}}
|-
| en; skip default
| {{Tlx|LangSwitch{{{sandbox|}}}|en{{=}}English|co{{=}}Corsu|default{{=}}~}}
| {{LangSwitch{{{sandbox|}}}|en=English|co=Corsu|default=~|lang=en}}
| {{LangSwitch{{{sandbox|}}}|en=English|co=Corsu|default=~|lang=it}}
| {{LangSwitch{{{sandbox|}}}|en=English|co=Corsu|default=~|lang=co}}
|-
| en; empty default
| {{Tlx|LangSwitch{{{sandbox|}}}|en{{=}}English|co{{=}}Corsu|default{{=}}}}
| {{LangSwitch{{{sandbox|}}}|en=English|co=Corsu|default=|lang=en}}
| {{LangSwitch{{{sandbox|}}}|en=English|co=Corsu|default=|lang=it}}
| {{LangSwitch{{{sandbox|}}}|en=English|co=Corsu|default=|lang=co}}
|-
| Skip en; default
| {{Tlx|LangSwitch{{{sandbox|}}}|en{{=}}~|it{{=}}Italian|default{{=}}default}}
| {{LangSwitch{{{sandbox|}}}|en=~|it=Italian|default=default|lang=en}}
| {{LangSwitch{{{sandbox|}}}|en=~|it=Italian|default=default|lang=it}}
| {{LangSwitch{{{sandbox|}}}|en=~|it=Italian|default=default|lang=co}}
|-
| Skip en; no default
| {{Tlx|LangSwitch{{{sandbox|}}}|en{{=}}~|it{{=}}Italian}}
| {{LangSwitch{{{sandbox|}}}|en=~|it=Italian|lang=en}}
| {{LangSwitch{{{sandbox|}}}|en=~|it=Italian|lang=it}}
| {{LangSwitch{{{sandbox|}}}|en=~|it=Italian|lang=co}}
|-
| Empty en; no default
| {{Tlx|LangSwitch{{{sandbox|}}}|en{{=}}|it{{=}}Italian}}
| {{LangSwitch{{{sandbox|}}}|en=|it=Italian|lang=en}}<ref name="c"/>
| {{LangSwitch{{{sandbox|}}}|en=|it=Italian|lang=it}}
| {{LangSwitch{{{sandbox|}}}|en=|it=Italian|lang=co}}<ref name="c"/>
|-
| en; default; skip it
| {{Tlx|LangSwitch{{{sandbox|}}}|en{{=}}English|it{{=}}~|co{{=}}Corsu|default{{=}}default}}
| {{LangSwitch{{{sandbox|}}}|en=English|it=~|co=Corsu|default=default|lang=en}}
| {{LangSwitch{{{sandbox|}}}|en=English|it=~|co=Corsu|default=default|lang=it}}
| {{LangSwitch{{{sandbox|}}}|en=English|it=~|co=Corsu|default=default|lang=co}}
|-
| en; default; empty it
| {{Tlx|LangSwitch{{{sandbox|}}}|en{{=}}English|it{{=}}|co{{=}}Corsu|default{{=}}default}}
| {{LangSwitch{{{sandbox|}}}|en=English|it=|co=Corsu|default=default|lang=en}}
| {{LangSwitch{{{sandbox|}}}|en=English|it=|co=Corsu|default=default|lang=it}}
| {{LangSwitch{{{sandbox|}}}|en=English|it=|co=Corsu|default=default|lang=co}}
|-
| en; no default; skip it
| {{Tlx|LangSwitch{{{sandbox|}}}|en{{=}}English|it{{=}}~|co{{=}}Corsu}}
| {{LangSwitch{{{sandbox|}}}|en=English|it=~|co=Corsu|lang=en}}
| {{LangSwitch{{{sandbox|}}}|en=English|it=~|co=Corsu|lang=it}}
| {{LangSwitch{{{sandbox|}}}|en=English|it=~|co=Corsu|lang=co}}
|-
| Forced "lang=co"
| {{Tlx|LangSwitch{{{sandbox|}}}|en{{=}}English|co{{=}}Corsu|default{{=}}default|lang{{=}}co}}
| {{LangSwitch{{{sandbox|}}}|en=English|co=Corsu|default=default|lang=co}}
| {{LangSwitch{{{sandbox|}}}|en=English|co=Corsu|default=default|lang=co}}
| {{LangSwitch{{{sandbox|}}}|en=English|co=Corsu|default=default|lang=co}}
|}


<span style="border: 2px dotted #81B9F9; background-color: #F0F0F0; margin:10px; padding:5px;">
{{LangSwitch
{{LangSwitch
|en=<nowiki />
|de = wort
=== Default option ===
|en = word
The default option is intended for providing more language independent option. For example:
|es = palabra
|de=<nowiki />
|fr = mot
=== Standardoption ===
|it = parola
Die Standardoption ist dafür gedacht, mehr sprachunabhängige Optionen zu bieten. Zum Beispiel:}}
|nl = woord
<syntaxhighlight lang="wikitext" copy>
|ja = 言葉
{{LangSwitch{{{sandbox|}}}
|lang = vec
|de={{Wd|Warschau}}
}}</span>
|en={{W|Warsaw}}
|fr={{Wf|Varsovie}}
|ja={{W日|ワルシャワ}}
|pl={{WP|Warszawa}}
|ru={{Wr|Варшава}}
|default=[[d:Q270]]
}}
</syntaxhighlight>
{{LangSwitch
|en=provides a link to Wikipedia articles in case one of the languages provided matches user's language but will link to Commons gallery page ([[Warsaw]]) if any other language is used.

The expression <code><nowiki>{{W|Q270||d}}</nowiki></code> is equivalent to the shorter <code><nowiki>[[d:Q270]]</nowiki></code> (it just does not show the “d:”).
|de=bietet einen Link zu Wikipedia-Artikeln, falls eine der angebotenen Sprachen mit der Sprache des Benutzers übereinstimmt, verlinkt aber auf die Commons-Galerie-Seite ([[Warsaw]]), wenn eine andere Sprache verwendet wird.

Der Ausdruck <code><nowiki>{{W|Q270||d}}</nowiki></code> ist gleichbedeutend mit dem kürzeren <code><nowiki>[[d:Q270]]</nowiki></code> (nur das „d:” wird nicht angezeigt).
}}

=== Combination of multiple languages in the same option ===
“<code><nowiki>{{LangSwitch |de=Grün |es/it/pt=Verde |fr=Vert |en=Green |lang={{{lang|{{int:lang}}}}} }}</nowiki></code>” gives “{{LangSwitch |de=Grün |es/it/pt=Verde |fr=Vert |en=Green |lang={{{lang|{{int:lang}}}}} }}” for the language with code <kbd>{{{lang|{{int:lang}}}}}</kbd>.

Note that several language codes (separated by <code>/</code>) are combined in the same parameter name, when these languages are mapped to the same output text (this helps simplifying usages).

However this combination still does not work correctly for the language code <code>en</code> if there’s no parameter <code>default=</code> or <code>en=</code> specified separately (when this occurs, this template still returns a usage error message<ref name="c"/>).

=== Returning empty texts ===
* “<code><nowiki>red{{LangSwitch |en=~ |default=&amp;#32;({{I18n/red}}) }}</nowiki></code>”,
* “<code><nowiki>bleu{{LangSwitch |fr=~ |default=&amp;#32;({{I18n/blue}}) }}</nowiki></code>”, and
* “<code><nowiki>orange{{LangSwitch |en/fr=~ |default=&amp;#32;({{I18n/orange}}) }}</nowiki></code>”
are respectively and conditionally appending parenthesized translations of
* the standard English term “red” in (when the current user language is ''not'' standard English, or simple English, or any language where standard English is a predefined fallback),
* the standard French term “bleu” (when the current user language is ''not'' standard French, or Cajun French, or any language where standard French is a predefined fallback), and
* the standard English or French term “orange” (when the current user language is ''not'' standard French or English, or any language where standard French or English is a predefined fallback):


{|class="wikitable"
== {{Int See also}} ==
|-
|style="background:#A00;color:#FFF"| red{{LangSwitch |en=~ |default=&#32;({{I18n/red}}) }}
|style="background:#00A;color:#FFF"| bleu{{LangSwitch |fr=~ |default=&#32;({{I18n/blue}}) }}
|style="background:#FA0;color:#FFF"| orange{{LangSwitch |fr=~ |default=&#32;({{I18n/blue}}) }}
|}


* {{TL|Int *}}
* {{tl|TranslateThis}}


== Notes ==
<includeonly>[[Category:Localisation templates]]</includeonly>
<references/>
<templatedata>
<includeonly>
{
[[Category:Internationalization templates]]
"params": {
</includeonly>
"default": {
"label": {
"ja": "原文"
},
"description": {
"ja": "翻訳元となる原文を入力ししてください。原則として地の文と同じ言語の文言が原文です。特に決まっていない、原文が存在しない場合は何も書かず、代わりに英語訳を入力してください。暫定的に英語訳を原文の代わりに表示します。"
},
"example": {
"ja": "I love [[:wikp:Wikipedia]]"
},
"type": "unbalanced-wikitext",
"suggested": true
}
},
"format": "{{_\n |_ = _\n }}"
}
</templatedata>

Revision as of 16:40, 6 September 2025

TemplateStyles' src attribute must not be empty.

Provides a method to present a string of text selected from an array of many language translations in the language set in the user's preferences or the most appropriate fallback language.

The template automatically sets the following categories: Category:Internationalization templates using LangSwitch

Usage

<poem>{{LangSwitch

|en = 
|xx = 
|default = 

}}</poem>

Warning: This template SHOULD NOT be used out of software interface purpose. For example it SHOULD NOT be used to manage multilingual description of the subject of a media or a category or whatsoever.

⧼templatedata-doc-params⧽

<templatedata>JSON</templatedata> ./. {{TemplateBox}}
TemplateData

TemplateData is a way to store information about template parameters (the description of those and of the whole template) for both humans and machines. It is used by VisualEditor and possibly other tools like Upload Wizard.


Existing template documentation
At Wikimedia Commons, it is recommended to use {{TemplateBox}} with either ‎useTemplateData=1 or ‎useTemplateData=only on the ‎/doc subpage and transcluding it with {{Documentation}} into the template. <nowiki>-tags can be wrapped around the arguments, if required, to avoid templates being expanded.

Newly created template documentation and imports
Another option, especially for imported templates, or for users with JSON experience, is placing raw <templatedata>-tags into the Wikitext of the template, as described in various Wikipediae.


Wikipedia's help about TemplateDataCommons-specific information

<templatedata> {"description":{"de":"Bietet eine Methode zur Anzeige einer Textzeichenfolge, die aus einer Auswahl von Übersetzungen in verschiedenen Sprachen ausgewählt wurde, in der Sprache, die in den Benutzereinstellungen des Benutzers/in festgelegt ist, oder in der am besten geeigneten Ausweichsprache.","en":"Provides a method to present a string of text selected from an array of many language translations in the language set in the user's preferences or the most appropriate fallback language.","fr":"Permet de présenter un texte dans la langue de l’utilisateur, en sélectionnant depuis un ensemble de versions en différentes langues. La langue choisie est soit celle définie dans les préférences de l’utilisateur, soit la plus appropriée (déterminée par GetFallback).","ja":"翻訳されている多くの言語の中から、適切な言語でテキスト文字を表示する機能を提供します。その適切な言語とは、ユーザの好みに応じて言語セットで選択された言語、あるいは、(GetFallbackで定義される)自動システムで一番最適と思われる言語です。","mk":"Од разните постоечки преводи, го дава преводот на јазикот одбран во нагодувањата, или пак најсоодветниот резервен јазик (според утврденото во GetFallback).","zh":"从已翻译的多语言文本组中输出以特定语言的文本。显示语言为用户设置语言,或是由GetFallback定义的后备语言。"},"format":"block","params":{"default":{"default":"{{{en|}}} (English version)","deprecated":false,"description":{"de":"Standardtext, der angezeigt wird, wenn keine der mit den Optionen „xx=text“ angegebenen Sprachen mit der über die Option „lang=” ausgewählten Sprache übereinstimmt (oder mit der in den Präferenzen des Benutzers/in ausgewählten Sprache, wenn diese Option nicht angegeben ist); standardmäßig wird die englische Version (sofern im Parameter „en=text“ angegeben) angezeigt, andernfalls wird eine Fehlermeldung ausgegeben.","en":"Default text to return in case none of the languages specified with the “xx=text” options match the language selected by the “lang=” option (or the language selected in user's preferences, if that option is not specified); by default, the English version (if provided in the “en=text” parameter) will be shown, otherwise a error message will be returned.","fr":"Le texte par défaut à retourner au cas où aucune des langues indiquées par les options « xx=texte » ne correspond à la langue sélectionnée par l’option « lang= » (ou la langue sélectionnée dans les préférences de l’utilisateur, si cette option n’est pas indiquée) ; par défaut, la version anglaise (si elle est fournie dans le paramètre « en=texte ») sera affichée, sinon un message d’erreur sera retourné.","ja":"デフォルト言語の文字。上記の「xx」言語の中にユーザが指定した言語が含まれていない場合に、このデフォルト・オプションを使います。通常はデフォルトとして英語(en)で表示されます。"},"label":{"de":"Standard-Fallback","en":"Default fallback"},"required":false,"suggested":true,"type":"string"},"en":{"deprecated":false,"description":{"de":"Text in englischer Sprache. Sofern nicht die Option „default=” verwendet wird, wird dieser Text standardmäßig auch dann zurückgegeben, wenn keine der angegebenen Sprachen mit der in der optionalen Option „lang=” Auswahl übereinstimmt (oder mit der in den Benutzereinstellungen ausgewählten Sprache, wenn diese Option nicht angegeben ist). Wenn Sie keinen Text anzeigen möchten, wenn die Sprache des Benutzers Englisch ist, verwenden Sie „en=~”.","en":"Text in the English language. Unless the “default=” option is used, this text will also be returned by default if none of the languages provided match the language selected in the optional “lang=” option (or the language selected in the user's preferences, if that last option is not specified). If you do not want to show any text when the user's language is English, then use “en=~”.","fr":"Le texte en anglais. À moins que l’option « default= » soit utilisée, ce texte sera également retournée si aucune des langues fournies ne correspond à la langue sélectionnée dans l’option facultative « lang= » (ou à la langue sélectionnée dans les préférences de l’utilisateur, si cette dernière option n’est pas indiquée). Si vous ne souhaitez retourner aucun texte lorsque la langue sélectionnée est l’anglais, utilisez « en=~ ».","ja":"英語言語の文字。下記の“デフォルト”オプションを設定していない場合で、ユーザが選択した言語セットに該当する翻訳がない場合、この英語テキストが通常使われます。もしユーザの使用言語が英語で何も文字を表示させたくない場合、「en=~」と記述してください。「en」オプションのないLangSwitchテンプレートはカテゴリCategory:LangSwitch template without default versionに自動的に追加されます。","zh":"英文文本。除非通过“default”设置默认显示语言,否则将在用户偏好语言的翻译文本缺失的情况下显示英文文本。如果不想在用户使用英语时显示任何文本,请指定“en=~”。"},"label":{"de":"Englisch","en":"English"},"required":true,"suggested":false,"type":"string"},"lang":{"default":"Value of “{{Int:Lang}}” (the preferred language of the visitor viewing the page).","deprecated":false,"description":{"de":"Language code (only needs to be provided if the language displayed is to be fixed and independent of the user’s preferences). Beachte, dass die Angabe von „{{#if: {{{lang|}}} | {{{lang|}}} | {{Int:Lang}} }}” in diesem Wert normalerweise nicht nötig ist, es sei denn, man will die Standardzielsprache überschreiben.","en":"Language code (only needs to be provided if the language displayed is to be fixed and independent of the user’s preferences). Note that specifying “{{#if: {{{lang|}}} | {{{lang|}}} | {{Int:Lang}} }}” in this value is usually not necessary, unless one wants to override the default target language."},"label":{"de":"Sprachcode","en":"Language code"},"required":false,"suggested":false,"type":"string"},"nocat":{"deprecated":false,"description":{"de":"“nocat=1” überschreibt das Standardverhalten, das (auf der Kategorie-Seite „LangSwitch-Vorlage ohne Standardversion“) die falschen Verwendungen dieser Vorlage verfolgt, wenn keine der beiden Optionen „en=Text auf Englisch“ oder „default=Text standardmäßig“ mit einem nicht leeren Wert angegeben ist.","en":"“nocat=1” will overwrite the default behavior which tracks (in the “LangSwitch template without default version” category page) the incorrect uses of this template, where none of the two options “en=text in English” or “default=text by default” is specified with a non-empty value.","fr":"« nocat=1 » permet d’empêcher le comportement par défaut qui trace (dans la page de catégorie « LangSwitch template without default version ») les usages incorrects de modèle, où aucune des deux options « en=texte en anglais » ou « default=texte par défaut » n’est spécifiée avec une valeur non vide.","ja":"言語オプションに「en」や「default」オプションがないページには自動的にカテゴリCategory:LangSwitch template without default versionに追加され、「nocat=1」はデフォルト動作を上書きします。"},"label":{"de":"Keine Kategorie?","en":"No category?"},"required":false,"suggested":false,"type":"string"},"xx":{"deprecated":false,"description":{"de":"Text übersetzt in die Sprache mit dem Code „xx“ (der Parametername „xx“ kann jeder unterstützter Sprachcode sein, der den Standards BCP 47 oder ISO 639-1 entspricht). Verwende „xx=~“, wenn du keinen Text (auch nicht den Standardtext) in dieser bestimmten Sprache haben möchtest. Du kannst auch mehrere Sprachen demselben Text zuordnen, indem du „{{LangSwitch |xx/yy/zz=text }}“ verwendest, was „{{LangSwitch |xx=text |yy=text |zz=text }}“ entspricht. Du kannst für jede übersetzte Sprache so viele Parameter wie nötig angeben.","en":"Text translated in language with code “xx” (the parameter name “xx” can be any supported language code, conforming to the BCP 47 or ISO 639-1 standards). Use “xx=~” if you do not want any text (not even the default text) in this specific language. You may also map multiple languages to the same text by using “{{LangSwitch |xx/yy/zz=text }}”, which is equivalent to “{{LangSwitch |xx=text |yy=text |zz=text }}”. You can specify as many such parameters as needed for each translated language.","fr":"Le texte traduit dans la langue de code « xx » (le nom du paramètre « xx » peut être n’importe quel code langue pris en charge, conforme au standard BCP 47 ou à la norme ISO 639-1). Utilisez « xx=~ » si vous ne voulez aucun texte (ni même le texte par défaut) dans cette langue spécifique. Vous pouvez également faire correspondre plusieurs langues au même texte en utilisant « {{LangSwitch |xx/yy/zz=texte }} », ce qui est équivalent à « {{LangSwitch |xx=texte |yy=texte |zz=texte }} » . Vous pouvez indiquer autant de paramètres similaires que nécessaire pour chaque langue de traduction.","ja":"言語「xx」で翻訳された文字。 (パラメーター名「xx」は(BCP 47/ISO 639-1)なら何でも大丈夫で、翻訳する言語ごとにいくつでも指定可能です) もし特定の言語でメッセージを表示させたくない場合(あるいはデフォルト値として)、「xx=~」と記述してください。","mk":"Текст на јазикот “xx”. “xx” може да бидат било кои поддржани јазици (BCP 47/ISO 639-1).","zh":"“xx”语言的翻译文本,参数名“xx”可以是任何来自BCP 47或ISO 639-1的语言代码,可根据需要增加可能多的翻译语言。如果希望在某种特定语言中不显示任何信息(故意留空),请使用“xx=~”。可以使用“{{LangSwitch |xx/yy/zz=text }}”在多种语言中使用一个文本中,相当于“{{LangSwitch |xx=text |yy=text |zz=text }}”。"},"label":{"de":"Übersetzung","en":"Translation"},"required":false,"suggested":false,"type":"string"}},"sets":[]} </templatedata>

Additional information

The template is intended to be used in the following namespaces: no namespace specified

The template is intended to be used by the following user groups: all users

Relies on:
Module:LangSwitch

⧼Seealso⧽

  • {{Autotranslate}} for template internationalization (i18n) mechanism for templates that use named parameters
  • {{Fallback}} and {{SuperFallback}}, based on {{GetFallback}} and {{GetFallback2}})
  • {{Multilingual link}}
  • Category:Internationalization templates using LangSwitch
  • {{Multilingual description}}, not using LangSwitch or any fallbacks, but generating vertical lists of translated texts or arbitrary length (without any English or default language requirement) in separate paragraphs; the rendered list is collapsible by a language selection menu at top of the rendered page (it is collapsed by default to show only the user's preferred or selected language, if it matches exactly).
  • {{Translation table}}, not using LangSwitch or any fallbacks, but generating horizontal lists of translations (without any English or default language requirement); the rendered list is statically displaying all the provided languages, and this template is intended for translating just one term or short expression (otherwise the previous template should be used).

Localization

This template is not intended to be localized.

Help for choosing the right template for your use case:
I18n templates: {{Multilingual description|lang=
|de,en,default=Deutsch/​English
|fr=français
|...
}}
{{de|Deutsch}}
{{en|English}}
{{fr|français}}
...
{{LangSwitch|lang=
|de,en,default=Deutsch/​English
|fr=français
|...
}}
{{Autotranslate}} {{tnt}} Language-aware transclusion
Recommended use at Categories, galleries File description pages (deprecated, can be safely replaced by {{Multilingual description}}) Small templates, whenever the previous options are not suitable (removes the visual indication of the language before each translated text) Data tables with translated cells or larger templates, when used on pages that do not have language subpages (e.g. not having Main page/en, Main page/de) and where the language displayed will be automatically determined by the language set in user preferences Data tables with translated cells or larger templates, when used on pages that do have language subpages; most of the time these will be pages prepared with the Translate Extension Data tables with translated cells or larger templates, when used on pages that do have language subpages; the transcluded page needs to be prepared with the Translate Extension, the transcluding page needs to be either prepared with the Translate Extension, or have the page language set by a translation administrator
Requires JavaScript enabled for folding Yes No
Folding can be disabled by user Yes No
Folding is done server-side No Yes
Folding when at least n languages are provided 1 (all translations are shown without folding if the preferred language selected by the user has no matching translation) 4 1
Detection of duplicate, incorrect, or unsupported language codes Yes No Yes Duplicate language codes are impossible by design. Incorrect or unsupported codes are never displayed, but not reported. The Translate extension's interface (if it's used on the translation subpages) doesn't let the user create translations with invalid codes, but other methods (e.g. entering the translation's URL directly) allow it without any warning.
Allows the same translation to be used for several languages Yes No Yes
Supports language fallbacks No Yes No
Collation order of languages (when not folded) Consistent order by native language name, languages grouped by script:
  • LTR scripts: Latin, Latin or Cyrillic, Cyrillic, Greek, other simple LTR alphabets (Armenian, Georgian, etc.), abugidas (North Indian, South Indian, other South-East Asian, etc.), syllabaries (European, American, African, Asian), Korean alphabets (basic Jamos, Hangul including some sinograms), Japanese syllabaries (including some sinograms), sinograms (including some syllabaries)
  • RTL scripts: Hebrew, Arabic, other RTL abjads (Divehi, etc.), RTL syllabaries (N'ko)
As provided by the user in the wikitext (any inconsistent order may be difficult to lookup visually) N/A
Search indexing issues No (all translations are included on the same page, however search results may be less relevant with many languages mixed) Yes (may not index all languages depending on search engines, unless there's a list of links for visiting other languages) Partially (where used; language subpages of templates are indexed) No (translated pages should include a <languages/> navigation bar for visiting other languages)
Page size issues Yes (may exhaust size or time limits in the wiki parser if many languages are included; larger pages to download for all visitors; slower navigation for visitors with slow Internet access; may be costly for visitors with limited data plans) No (only the content for the selected language or a suitable fallback language is present in the generated page)
Contains expensive parser functions No Yes, checks for several translations along the fallback chain until finds a suitable Yes, 2–4 checks per call No

Examples

Without a default option

Here are a few examples showing template behavior for three languages: English, Italian and Corsican (which defaults to Italian if Corsican text is not available):

Test Code lang=en lang=it lang=co
No en; default {{LangSwitch|it=Italian|default=default}} default Italian Italian
No en; no default {{LangSwitch|it=Italian|co=Corsu}} <ref name="c">would add Category:LangSwitch template without default version</ref> Italian<ref name="c"/> Corsu<ref name="c"/>
en; default {{LangSwitch|en=English|co=Corsu|default=default}} English English Corsu
en; no default {{LangSwitch|en=English|co=Corsu}} English English Corsu
en; skip default {{LangSwitch|en=English|co=Corsu|default=~}} English English Corsu
en; empty default {{LangSwitch|en=English|co=Corsu|default=}} English English Corsu
Skip en; default {{LangSwitch|en=~|it=Italian|default=default}} Italian Italian
Skip en; no default {{LangSwitch|en=~|it=Italian}} Italian Italian
Empty en; no default {{LangSwitch|en=|it=Italian}} <ref name="c"/> Italian Italian<ref name="c"/>
en; default; skip it {{LangSwitch|en=English|it=~|co=Corsu|default=default}} English Corsu
en; default; empty it {{LangSwitch|en=English|it=|co=Corsu|default=default}} English English Corsu
en; no default; skip it {{LangSwitch|en=English|it=~|co=Corsu}} English Corsu
Forced "lang=co" {{LangSwitch|en=English|co=Corsu|default=default|lang=co}} Corsu Corsu Corsu

Default option

The default option is intended for providing more language independent option. For example:

{{LangSwitch{{{sandbox|}}}
|de={{Wd|Warschau}}
|en={{W|Warsaw}}
|fr={{Wf|Varsovie}}
|ja={{W日|ワルシャワ}}
|pl={{WP|Warszawa}}
|ru={{Wr|Варшава}}
|default=[[d:Q270]]
}}

provides a link to Wikipedia articles in case one of the languages provided matches user's language but will link to Commons gallery page (Warsaw) if any other language is used.

The expression {{W|Q270||d}} is equivalent to the shorter [[d:Q270]] (it just does not show the “d:”).

Combination of multiple languages in the same option

{{LangSwitch |de=Grün |es/it/pt=Verde |fr=Vert |en=Green |lang={{{lang|{{int:lang}}}}} }}” gives “Green” for the language with code en.

Note that several language codes (separated by /) are combined in the same parameter name, when these languages are mapped to the same output text (this helps simplifying usages).

However this combination still does not work correctly for the language code en if there’s no parameter default= or en= specified separately (when this occurs, this template still returns a usage error message<ref name="c"/>).

Returning empty texts

  • red{{LangSwitch |en=~ |default=&#32;({{I18n/red}}) }}”,
  • bleu{{LangSwitch |fr=~ |default=&#32;({{I18n/blue}}) }}”, and
  • orange{{LangSwitch |en/fr=~ |default=&#32;({{I18n/orange}}) }}

are respectively and conditionally appending parenthesized translations of

  • the standard English term “red” in (when the current user language is not standard English, or simple English, or any language where standard English is a predefined fallback),
  • the standard French term “bleu” (when the current user language is not standard French, or Cajun French, or any language where standard French is a predefined fallback), and
  • the standard English or French term “orange” (when the current user language is not standard French or English, or any language where standard French or English is a predefined fallback):
red bleu (Lua error in Module:Wikidata_label at line 293: attempt to index field 'wikibase' (a nil value).) orange (Lua error in Module:Wikidata_label at line 293: attempt to index field 'wikibase' (a nil value).)


Notes

<references/>