From Wikimedia Commons, the free media repository
Jump to: navigation, search

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 (as determined by {{GetFallback}}).


 |en =
 |xx =
 |default =

Help for choosing the right template for your use case:

Criterion \\ Template {{Multilingual description}} {{en}}{{fr}}… {{LangSwitch}} {{Autotranslate}} {{TNT}}
requires JavaScript enabled for folding + + - - -
folding can be disabled by user + + - - -
folding is done server-side - - + + +
folding when at least x languages are provided 1 4 1 1 1
collation order of languages (when not folded) Latin, Latin or Cyrillic, Cyrillic, Greek, Other simple LTR alphabets, Indic, Other South Asian, Syllabaries, Hangul, Japanese scripts, Sinograms, (RTL) Hebrew, (RTL) Arabic languages as provided by the user in the wikitext // // //
search indexing issues - - + partially (where used; language subpages of templates are indexed) -
recommended use at categories, galleries file description pages small templates, whenever the previous options are not suitable 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 larger templates when used on pages that do have language subpages; most of the time these will be pages prepared with the Translate Extension
contains expensive parser functions - - - + +

Template parameters

Parameter Description Default Status
en Text in English language. Unless default option is used, this text will also be used if the languages provided do not include the language set in the user's preferences. If you do not want to show any text when the user's language is English, then use "en=~". LangSwitch templates without an en option will be added to Category:LangSwitch template without English version. empty required
xx Translated text in language xx (the parameter name xx can be any supported language code, and you can specify as many such parameters as needed for each translated language). Use "~" if you do not want any message (or default) in some specific language. empty optional
default Default text in case one of the "xx" languages is not the language of user’s preferences. By default, the English version will be shown, if provided. {{{en|}}} (English version) optional
lang Language code (only needs to be provided if the language displayed is to be fixed and independent of the user’s preferences). Value of {{int:Lang}} (the preferred language of the visitor viewing the page) optional
nocat "nocat=1" will overwrite the default behavior of adding Category:LangSwitch template without English version to pages with no "en" and "default" options. empty optional

Additional information

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

The template is intended to be used by the following user groups: no user group specified

Relies on:
module:fallback and module:fallbacklist

See also


This template is not intended to be localized.


Here are a few examples showing template behavior for three languages: English, French and Corsu, which defaults to French if Corsu text is not available:

Test Code lang=en lang=fr lang=co
No En; default {{LangSwitch|fr=French|default=default}} default French French
No En ; no default {{LangSwitch|fr=French|co=Corsu}} [1] French[1] Corsu[1]
En; default {{LangSwitch|en=English|co=Corsu|default=default}} English default Corsu
En; no default {{LangSwitch|en=English|co=Corsu}} English English Corsu
Empty En; default {{LangSwitch|en=~|fr=French|default=default}} French French
Empty En; no default {{LangSwitch|en=~|fr=French}} French French
En; default; empty Fr {{LangSwitch|en=English|fr=~|co=Corsu|default=default}} English Corsu
En; default; empty Fr {{LangSwitch|en=English|fr=|co=Corsu|default=default}} English default Corsu
En; no default; empty Fr {{LangSwitch|en=English|fr=~|co=Corsu}} English Corsu
Simple case with "lang=" {{LangSwitch|en=English|fr=French|co=Corsu|default=default|lang=}} English English English
  1. a b c adds Category:LangSwitch template without English version

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


will provide 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.