Ébauche de modèle:indication de langue

De Ekopedia
Révision de 19 février 2011 à 17:34 par Saint amand (discussion | contributions) (Names.php)

Aller à : navigation, rechercher

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)

É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 prévoit voit ses deux sous-modèles, deux langues de repli pour nds, nds-nl et pdt.

Template:Language/..

Dans la première partie du code se trouve le modèle donnant les noms de langues dans une langue donnée.
{{Language/{{Fallback|Language|{{{2|}}}}}|1={{{1|}}}}}<noinclude>
Quand le modèle Fallback a déterminé la langue, disons le français (fr), on obtiendrait le code suivant :
{{Language/fr}}<noinclude>
Ce modèle donne les noms des langues en français (p.ex. haw=hawaiien).
Certains noms qui figurent dans la liste ne sont pas définis dans le fichier Names.php du logiciel MediaWiki utilisé par Ékopédia. Ces langues sont indentées par rapport à la liste afin de les différencier (ce n'est pas nécessaire, mais cela donne l'information).

Names.php

Ce fichier sert à installer de nouvelles versions linguistiques d'Ékopédia. Il contient la liste des langues ainsi que leurs préfixes. Lorsque de nouvelles versions linguistiques d'Ékopédia seront créées, l'interface utilisateur sera automatiquement prise en compte.
La question se pose de savoir sur quelle base les codes du fichier Names.php ont été donnés et si leur modification éventuelle aurait un impact sur le logiciel MediaWiki.
La commande $wgExtraLanguageNames semblerait être l'outil indiqué. Le problème serait que le renommage entrainerait une classification dans Other languages.

modèle langue local)