:LangSwitch/doc

Revi HQ

Usage

Returns a value depending on a given language, using reasonnable fallbacks if the contents of the switch does not directly map a value for that language.

The given language to test, if it's not specified, is the user interface language of the viewing user.

The language of the mapped value to return when there's no match in the switch for the given language (or one of its fallbacks), is English (en) unless another default language is specified (which will be tried after standard fallbacks but before English).

Parameters

  • uselang=language-code (optional) — the switch by default will return a value according to the viewing user, this parameter allows changing this behavior.
  • language-code=“Mapped value in language-code — maps the language to a value.
    Defining this parameter for a language that is used as a reasonnable fallback for one or several other languages means that you won't need to define additional parameters to map these other languages, when that value is already accurate for these other languages.
    Commonly used languages that are used as reasonnable fallbacks include major languages of the world: English (en), French (fr), Chinese (zh), Spanish (es), Arabic (ar), Indonesian (id), Russian (ru), German (de), Portuguese (pt), and Dutch (nl).
    But this also includes any national language which may be a reasonnable fallback for a minority/regional-only language (unless the later is used across borders, such as Catalan (ca) or Kurdisk (ku).
    Usually, you don't need to provide a specific value for language variants in a different script, that are handled now by MediaWiki using builtin transliterators. This includes the two major variants of Chinese: simplified zh-hans and traditionnal zh-hans, the simplified variant being implied in the form used by the simpler recommended code zh); the traditional variant needs to be specified only if the default transliterator does not reliably convert some characters.
  • default=language-code (optional) — allows to specify which language to use when reasonnable fallbacks have failed. If its value matches a given item defined in the switch, the value mapped to this item will be returned when no other languages in the switch match; if the default is not specified, or does not match any item in the switch, the value mapped to English (the default language of this wiki) will be returned.
    So the switch does not necessarily have to define an English message, but it should contain at least:
    • language-code=“Mapped value in language-code, if default=language-code is present,
    • or en=“Mapped value in English”, when there's no specified default.
    Specifying another default language (and mapping a value specifically for it) does not prohibit mapping an additional specific value for English, but English will no longer be the last fallback.
    Note that the language-code indicated here may be arbitrary and can be a pseudo-language to specify a different value, even if it displays a message in English (or in any language).

Examples

Switch according to the language of the viewing user (currently for you, uselang=틀:Uselang)
  • '''{{LangSwitch |ar=AR|de=DE|es=ES|en=EN|fr=FR|nl=NL|pt=PT|ru=RU|tr=TR|zh=ZH}}''' gives 모듈:Fallback 26번째 줄에서 Lua 오류: langSwitch error: no default.
  • '''{{LangSwitch|default=gd |gd=GD|glk=GLK|other=''edit''}}''' gives gd
  • '''{{LangSwitch|default=other |gd=GD|glk=GLK|other=''edit''}}''' gives other
  • '''{{LangSwitch|default=n/a |gd=GD|glk=GLK|other=''edit''}}''' gives n/a
  • '''{{LangSwitch|default= |gd=GD|glk=GLK|other=''edit''}}''' gives '
Switch according to the language of the content of the current page (in this page, it is 틀:Pagelang)
  • '''{{LangSwitch|uselang={{pagelang}} |ar=AR|de=DE|es=ES|en=EN|fr=FR|nl=NL|pt=PT|ru=RU|tr=TR|zh=ZH}}''' gives 모듈:Fallback 26번째 줄에서 Lua 오류: langSwitch error: no default.
  • '''{{LangSwitch|uselang={{pagelang}}|default=gd |gd=GD|glk=GLK|other=EN [translate this]}}''' gives gd
  • '''{{LangSwitch|uselang={{pagelang}}|default=other |gd=GD|glk=GLK|other=EN [translate this]}}''' gives other
  • '''{{LangSwitch|uselang={{pagelang}}|default=n/a |gd=GD|glk=GLK|other=EN [translate this]}}''' gives n/a
  • '''{{LangSwitch|uselang={{pagelang}}|default= |gd=GD|glk=GLK|other=EN [translate this]}}''' gives '
Switch according to the language of a specific language
  • '''{{LangSwitch|uselang=gsw |ar=AR|de=DE|es=ES|en=EN|fr=FR|nl=NL|pt=PT|ru=RU|tr=TR|zh=ZH}}''' gives 모듈:Fallback 26번째 줄에서 Lua 오류: langSwitch error: no default.(note the fallback)
  • '''{{LangSwitch|uselang=gsw-fr |ar=AR|de=DE|es=ES|en=EN|fr=FR|nl=NL|pt=PT|ru=RU|tr=TR|zh=ZH}}''' gives 모듈:Fallback 26번째 줄에서 Lua 오류: langSwitch error: no default.(note the different fallback)
  • '''{{LangSwitch|uselang=gsw-ch |ar=AR|de=DE|es=ES|en=EN|fr=FR|nl=NL|pt=PT|ru=RU|tr=TR|zh=ZH}}''' gives 모듈:Fallback 26번째 줄에서 Lua 오류: langSwitch error: no default.(note the different fallback)
  • '''{{LangSwitch|uselang=gsw-de |ar=AR|de=DE|es=ES|en=EN|gsw-ch=GSW-CH|fr=FR|nl=NL|pt=PT|ru=RU|tr=TR|zh=ZH}}''' gives 모듈:Fallback 26번째 줄에서 Lua 오류: langSwitch error: no default.(note the different fallback)
  • '''{{LangSwitch|uselang=gsw|default=gd |gd=GD|glk=GLK|other=EN [translate this]}}''' gives gd
  • '''{{LangSwitch|uselang=gsw|default=other |gd=GD|glk=GLK|other=EN [translate this]}}''' gives other
  • '''{{LangSwitch|uselang=gsw|default=n/a |gd=GD|glk=GLK|other=EN [translate this]}}''' gives n/a
  • '''{{LangSwitch|uselang=gsw|default= |gd=GD|glk=GLK|other=EN [translate this]}}''' gives '