Ébauche de modèle:indication de langue
Cette page est une page de construction de modèle. Modéliste en charge : -- Amiteusement Saint amand | d 19 février 2011 à 14:03 (CET)
Sommaire
Évaluation des modèles existants et des modèles WP
Template:Language de commons
Utilisation
Donne le nom de la langue selon le code langue de MediaWiki
- ne correspond pas toujours à la norme ISO 639
- la doc renvoie à une page de code de langues avec leurs noms en anglais, mais le modèle n'est pas valable. Il n'est d'ailleurs pas utilisé dans le Template:Language.
Source
{{Language/{{Fallback|Language|{{{2|}}}}}|1={{{1|}}}}}<noinclude> {{documentation}} [[Category:Internationalization templates|{{PAGENAME}}]] </noinclude>
Sous-modèle Fallback
{{#ifexist: Template:{{{1|}}}/{{#if: {{{2|}}} |{{{2}}}|{{int:Lang}}}} | {{#if: {{{2|}}} |{{{2}}}|{{int:Lang}}}} | {{#ifexist: Template:{{{1|}}}/{{GetFallback|{{#if: {{{2|}}} |{{{2}}}|{{int:Lang}}}}}} | {{GetFallback|{{#if: {{{2|}}} |{{{2}}}|{{int:Lang}}}}}} | {{#ifexist: Template:{{{1|}}}/{{GetFallback2|{{#if: {{{2|}}} |{{{2}}}|{{int:Lang}}}}}} | {{GetFallback2|{{#if: {{{2|}}} |{{{2}}}|{{int:Lang}}}}}} | {{CONTENTLANGUAGE}} }} }} }}<noinclude>
- utilisé pour déterminer la langue appropriée (de repli) d'un modèle losqu'il s'organise autour de sous-pages linguistiques. La langue de repli choisi
- paramètre 1 : vide par défaut, mais doit être renseigné avec le nom du modèle concerné par la langue de repli
- paramètre 2 : valeur de {{int:Lang}}, renseignement optionnel
- la valeur de {{int:Lang}}= est celle de l'interface utilisateur.
Rendu
Exemple de langue : arabe
- code choisi : ar
- à rendre dans les langues suivantes (code choisi entre parenthèses) : allemand (de), anglais (en), français (fr)
{{language|ar|de}} → Arabisch
{{language|ar|en}} → Arabic
{{language|ar|fr}} → arabe
Si l'interface utilisateur est en anglais (en), la variable {{int:Lang}}= donne le code langue. cela revient au modèle suivant :
- {{language/{{Fallback|Language|{{int:Lang}}}}|ar}} → Arabic
Si l'interface utilisateur était en français, {{int:Lang}}= aurait donné fr et affiché "arabe.
Si l'interface utilisateur donne une valeur {{int:Lang}}= imprévue, disons cy (gallois), la langue de repli (fallback language) doit être définie :
Le modèle fallback comporte deux sous-modèles (GetFallback et Getfallback2) à cet effet.
- GetFallback comporte une liste de codes {{int:Lang}}= qui renvoient vers une langue de repli.
- Quand il n'existe pas de renvoi, la langue de repli choisie est ici l'anglais (en) : #default = {{#if: {{{default|}}} | {{{default|}}} | en }}
- Exemples :
- l'afrikaans (af) et le néerlandais informel ne sont pas pris en charge, ils sont renvoyés vers le néerlandais (af | nl-informal = nl)
- les différents dialectes et écritures du chinois sont tous renvoyés vers une seule prise en charge : zh-cn | zh-hans | zh-hant | zh-hk | zh-mo | zh-my | zh-sg | zh-tw = zh
- le bas-allemand (nds) est renvoyé vers le bas-saxon (nds-nl)
- le bas-saxon (nds-nl) et le plautdietsch (pdt) sont renvoyés vers le bas-allemand (nds)
C'est le serpent qui se mord la queue. C'est pour cela qu'il existe le modèle GetFallback2
- GetFallback2 est une liste complémentaire de codes pour briser la redirection entre langues de repli :
- le nds est cette fois renvoyé vers l'allemand (de)
- le nds-nl vers le néerlandais (nl)
- le pdt vers l'allemand (de)
Dans la pratique, le modèle Fallback