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

De Ekopedia
Aller à : navigation, rechercher
(Contexte)
(Names.php)
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]===
====Names.php====
+
====MediaWiki====
 +
=====Names.php=====
 
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 d'une note donnant sa dénomination en anglais et quelques commentaires.<br>
 
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 d'une note donnant sa dénomination en anglais et quelques commentaires.<br>
 
* Exemple : 'bg' => 'Български',    # Bulgarian
 
* Exemple : 'bg' => 'Български',    # Bulgarian
 
Ce fichier est utilisé pour les interwikis, les sélecteurs de langue, etc.<br>
 
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).<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>]) (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).<br>
La qualité des codes se revèle médiocre :
+
Pourquoi modifier les codes ?<br>
 +
D'une part, la qualité des codes de ''Names.php'' se revèle médiocre :
 
* certains d'entre eux sont erronés (''als'' utilisé pour alémanique alors qu'il s'agit de l'albanais tosque)
 
* certains d'entre eux sont erronés (''als'' utilisé pour alémanique alors qu'il s'agit de l'albanais tosque)
 
* d'autres sont obsolètes (''bat-smg'' devenu ''sgs'' (639-3) puis ''zmai'' (639-6)
 
* d'autres sont obsolètes (''bat-smg'' devenu ''sgs'' (639-3) puis ''zmai'' (639-6)
Ligne 13 : Ligne 15 :
 
* les variantes utilisent un code obsolète (''pt-br'' pour portugais du Brésil (devenu ''brsl'' avec le 639-6)
 
* les variantes utilisent un code obsolète (''pt-br'' pour portugais du Brésil (devenu ''brsl'' avec le 639-6)
 
* beaucoup de langues et de dialectes sont manquants
 
* beaucoup de langues et de dialectes sont manquants
 
+
D'autre part, le passage à la norme 639-6 est inéluctable pour des raisons pratiques (plus de 450 000 langues, dialectes et variantes couverts ; pour mémoire, le nombre de langues actuelles est de plus de 17 000, auxquelles il faut ajouter les langues mortes, les dialectes et les différentes variantes de type belgicisme).
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=====
 +
* Nouvelles versions linguistiques d'Ékopédia<br>Ce fichier sert entre autres à installer de nouvelles versions linguistiques. Dans une telle perspective, le passage au 639-6 permet de démarrer ces installations avec des codes immuables.<br>  
 +
* Codification exacte de toutes les variantes linguistiques
 +
* mise en place aisée, car le passage au multilinguisme est somme toute assez récent sur Ékopédia
  
 
==== Utilisation ====
 
==== Utilisation ====

Version du 19 février 2011 à 21:10

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

Template:Language de commons

MediaWiki

Names.php

Le logiciel MediaWiki, qui fait fonctionner Ékopédia, comporte un fichier names.php qui établit une liste de codes de langues.
À chacun de ces codes correspond sa dénomination dans la langue du code, suivie d'une note donnant sa dénomination en anglais et quelques commentaires.

  • Exemple : 'bg' => 'Български', # Bulgarian

Ce fichier est utilisé pour les interwikis, les sélecteurs de langue, etc.
La modification des codes de ce fichier ne semble pas poser de problème (cf. ligne 4 : Safe to change without running scripts on the respective sites.) (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).
Pourquoi modifier les codes ?
D'une part, la qualité des codes de Names.php se revèle médiocre :

  • certains d'entre eux sont erronés (als utilisé pour alémanique alors qu'il s'agit de l'albanais tosque)
  • d'autres sont obsolètes (bat-smg devenu sgs (639-3) puis zmai (639-6)
  • certaines dénominations sont erronées (kongo à la place de kikongo)
  • les variantes utilisent un code obsolète (pt-br pour portugais du Brésil (devenu brsl avec le 639-6)
  • beaucoup de langues et de dialectes sont manquants

D'autre part, le passage à la norme 639-6 est inéluctable pour des raisons pratiques (plus de 450 000 langues, dialectes et variantes couverts ; pour mémoire, le nombre de langues actuelles est de plus de 17 000, auxquelles il faut ajouter les langues mortes, les dialectes et les différentes variantes de type belgicisme).

Implications pour Ékopédia
  • Nouvelles versions linguistiques d'Ékopédia
    Ce fichier sert entre autres à installer de nouvelles versions linguistiques. Dans une telle perspective, le passage au 639-6 permet de démarrer ces installations avec des codes immuables.
  • Codification exacte de toutes les variantes linguistiques
  • mise en place aisée, car le passage au multilinguisme est somme toute assez récent sur Ékopédia

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

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é :

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)