Un livre de Wikilivres.
Aller à la navigation Aller à la recherche

Utilisation[modifier le wikicode]

Renvoie une valeur en fonction d'une langue donnée, en utilisant des solutions de repli raisonnables si le contenu du commutateur ne correspond pas directement à une valeur pour cette langue. La langue donnée à tester, si elle n'est pas spécifiée, est la langue de l'utilisateur.

La langue de la valeur correspondante à renvoyer lorsqu'il n'y a pas de correspondance dans le commutateur pour la langue donnée (ou l'une de ses solutions de remplacement), est le français (fr) à moins qu'une autre langue par défaut ne soit spécifiée (qui sera tentée après les replis standards mais avant le français).

Paramètres[modifier le wikicode]

(optionnel) — 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 reasonable 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 reasonable fallbacks include major languages of the world: English (en), Chinese (zh), French (fr), Spanish (es), Arabic (ar), Russian (ru), and Indonesian (id); and to a lower scale, mostly as a fallback for regional languages: Hindi (hi), German (de), Portuguese (pt), and Dutch (nl).
    But this also includes any national language which may be a reasonable fallback for a minority/regional-only language, unless the later is used across borders, such as Catalan (ca) or Kurdish (ku) which should be defined separately.
    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 traditional 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 reasonable 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).

Supported language codes[modifier le wikicode]

Language codes do not necessarily have to one of those used in a separate edition of a Wikimedia project (such as Wikipedia or Wiktionary), it could be a language supported only on a multilingual site in a single edition, such as Incubator, Commons, MediaWiki or Meta.

But in all cases, the language codes used must be one of the language codes supported by MediaWiki for its localisation (otherwise they could be ignored in parameters of LangSwitch).

Language codes are normally insensitive to letter case, but this template will not recognize language codes specified using any uppercase letter.

Ideally those languages codes should be those recommended by the BCP 47 standard (essentially based on ISO 639, but with some restrictions, and many additions for supporting variants in different scripts, regions, orthographies, or locale conventions). So don't use the longer 3-letter language codes os ISO 639-3 if there's a 2-letter code from ISO-639-1. And don't use the 3-letter language family codes (from ISO 639-5).

The template also supports (for compatibility and to allow smooth migrations) some legacy codes used in Wikimedia projects, but that are no longer recommended (and may be blocked now for new translations in the Special:Translate page), such as the two major Chinese variants, or the old code for the Taraskeviza orthographic variant of Belarusian.

Examples[modifier le wikicode]

Switch according to the language of the viewing user (currently for you, lang=fr)
  • '''{{LangSwitch|ar=AR|de=DE|en=EN|es=ES|fr=FR|it=IT|ja=JA|ko=KO|nl=NL|pt=PT|ru=RU|tr=TR|zh=ZH}}''' gives '
  • '''{{LangSwitch|default=''edit''|en=EN|gd=GD|glk=GLK}}''' gives edit
  • '''{{LangSwitch|default=''edit''|gd=GD|glk=GLK}}''' gives edit
Switch according to the language of the content of the current page (in this page, it is fr)
  • '''{{LangSwitch|lang={{CURRENTCONTENTLANGUAGE}}|ar=AR|de=DE|en=EN|es=ES|fr=FR|it=IT|ja=JA|ko=KO|nl=NL|pt=PT|ru=RU|tr=TR|zh=ZH}}''' gives FR
  • '''{{LangSwitch|lang={{CURRENTCONTENTLANGUAGE}}|default=''edit''|en=EN|gd=GD|glk=GLK}}''' gives EN
  • '''{{LangSwitch|lang={{CURRENTCONTENTLANGUAGE}}|default=''edit''|gd=GD|glk=GLK}}''' gives edit
Switch according to the language of a specific language
  • '''{{LangSwitch|lang=gsw|default=[translate this]|it=IT}}''' gives [translate this]
  • '''{{LangSwitch|lang=gsw|default=[translate this]|it=IT|en=EN}}''' gives EN
  • '''{{LangSwitch|lang=gsw|default=[translate this]|it=IT|en=EN|fr=FR}}''' gives EN
  • '''{{LangSwitch|lang=gsw|default=[translate this]|it=IT|en=EN|de=DE}}''' gives DE
  • '''{{LangSwitch|lang=gsw|default=[translate this]|it=IT|en=EN|de=DE|fr=FR}}''' gives DE
  • '''{{LangSwitch|lang=gsw|default=[translate this]|it=IT|en=EN|de=DE|fr=FR|gsw=GSW}}''' gives GSW