Ébauche de modèle:indication de langue : Différence entre versions

De Ekopedia
Aller à : navigation, rechercher
(Contexte)
(catégorie)
 
(7 révisions intermédiaires par un autre utilisateur non affichées)
Ligne 2 : Ligne 2 :
 
==Évaluation des modèles existants et des modèles WP==
 
==Évaluation des modèles existants et des modèles WP==
 
===[http://commons.wikimedia.org/wiki/Template:Language Template:Language de commons]===
 
===[http://commons.wikimedia.org/wiki/Template:Language Template:Language de commons]===
====Contexte====
 
Le logiciel '''MediaWiki''', qui fait fonctionner Ékopédia, comporte un fichier [http://svn.wikimedia.org/viewvc/mediawiki/trunk/phase3/languages/Names.php?view=markup names.php] qui établit une liste de codes de langues.<br> À chacun de ces codes correspond sa dénomination dans la langue du code, suivie de sa dénomination en anglais.<br>
 
* Exemple : 'bg' => 'Български',    # Bulgarian
 
Ce fichier est utilisé pour les interwikis, les sélecteurs de langue, etc.<br>
 
La modification des codes de ce fichier ne semble pas poser de problème (cf. [http://svn.wikimedia.org/viewvc/mediawiki/trunk/phase3/languages/Names.php?view=markup ligne 4.<small>''Safe to change without running scripts on the respective sites.''</small>])(à vérifier).
 
 
 
==== Utilisation ====
 
==== Utilisation ====
 
Donne le nom de la langue selon le code langue de MediaWiki
 
Donne le nom de la langue selon le code langue de MediaWiki
Ligne 57 : Ligne 51 :
 
Ce modèle donne les noms des langues en français (p.ex. ''haw=hawaiien'').<br>
 
Ce modèle donne les noms des langues en français (p.ex. ''haw=hawaiien'').<br>
 
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).<br>
 
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).<br>
====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.<br> Les codes langues du fichier ''[http://svn.wikimedia.org/viewvc/mediawiki/trunk/phase3/languages/Names.php?view=markup Names.php]'' sont basés en grande partie sur le Code iso à 2 ou 3 lettres bientôt obsolète. Leur modification éventuelle via la commande ''$wgExtraLanguageNames'' semblerait être l'outil indiqué. Le problème serait que le renommage entrainerait une classification dans ''Other languages'', mais c'est à vérifier.
 
 
====Implications pour Ékopédia====
 
====Implications pour Ékopédia====
 
Le passage à la norme ISO 639-6 entrainera une modification à terme de ce fichier ''names.php'' du logiciel ''MediaWiki'', surtout que des codes sont obsolètes ou erronés. Le code langue des versions linguistiques actuelles d'Ékopédia pourrait devoir être modifié :
 
Le passage à la norme ISO 639-6 entrainera une modification à terme de ce fichier ''names.php'' du logiciel ''MediaWiki'', surtout que des codes sont obsolètes ou erronés. Le code langue des versions linguistiques actuelles d'Ékopédia pourrait devoir être modifié :
Ligne 67 : Ligne 59 :
  
 
===[http://fr.wikipedia.org/wiki/Mod%C3%A8le:Langue-local modèle langue local])===
 
===[http://fr.wikipedia.org/wiki/Mod%C3%A8le:Langue-local modèle langue local])===
 +
 +
[[Catégorie:Modèles]]

Version actuelle en date du 2 avril 2011 à 15:27

Cette page est une page de construction de modèle. Toute contribution est la bienvenue. 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[modifier]

Template:Language de commons[modifier]

Utilisation[modifier]

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[modifier]

{{Language/{{Fallback|Language|{{{2|}}}}}|1={{{1|}}}}}<noinclude> {{documentation}} [[Category:Internationalization templates|{{PAGENAME}}]] </noinclude>

Sous-modèle Fallback[modifier]

{{#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[modifier]

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/..[modifier]

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).

Implications pour Ékopédia[modifier]

Le passage à la norme ISO 639-6 entrainera une modification à terme de ce fichier names.php du logiciel MediaWiki, surtout que des codes sont obsolètes ou erronés. Le code langue des versions linguistiques actuelles d'Ékopédia pourrait devoir être modifié :

Pour les prochaines versions linguistiques, il faudrait pouvoir prendre en compte l'ISO 639-6, mais ce n'est pas une obligation. Les habitudes actuelles vont dans le sens des codes à 2 lettres (3 lettres pour des langues moins parlées), mais cela pourrait changer.

  • exemple : Ékopédia en russe rus.ekopedia.org (code de 3 lettres en l'occurence) à la place de ru.ekopedia.org

En l'état,

modèle langue local)[modifier]