Bienvenue sur le wiki de Nuit debout, nous sommes le 2998 mars.




Modèle:Langue/Documentation

De NuitDebout
Aller à : navigation, rechercher
Illustration de documentation
Ceci est la page de documentation de Modèle:Langue [modifier] [purger].
Cette sous-page contient les instructions, les catégories de son modèle d'origine et elle n'est pas destinée à être visualisée directement.
Modèle:Protection Modèle:Modèle utilisant les modules Lua Modèle:Raccourci de modèle

Ce modèle a pour but d’indiquer la langue d’un texte, notamment pour les synthétiseurs vocaux et l’indexation correcte des inclusions de mots en langues différentes par les moteurs de recherche. Il permet aussi la personnalisation de la présentation des textes, en permettant aux utilisateurs de paramétrer les polices de caractères permettant d’afficher correctement chaque écriture.

La mention d’un changement de langue est une information essentielle pour l’accessibilité du contenu. Elle est également utile aux outils de traduction automatiques.

Les normes internationales d’accessibilité imposent de signaler un changement de langue, excepté Modèle:Citation[1] pour lesquels cela n’a pas de caractère obligatoire. Le groupe de travail sur les directives d'accessibilité du contenu Web du W3C souligne que des mots pris individuellement peuvent « faire partie » de la langue qui les accueille ; il n’y a donc pas lieu de signaler dans ces situations un changement de langue ; un critère pour décider de la stratégie à employer dans ces situations peut être de vérifier si « le mot se prononcerait de la même façon dans la langue du texte qui l’entoure (en dehors de simples problèmes d’accent ou d’intonation) »[2].

Syntaxe[modifier le wikicode]

  • {{Langue|code de langue|texte=texte}}
  • {{Langue|code de langue|texte=texte|trans=trans|dir=direction-langue}}

Syntaxe simplifiée :

  • {{Langue|code de langue|texte}}
  • {{Langue|code de langue|texte|trans=trans|dir=direction-langue}}

La syntaxe simplifiée est déconseillée car elle n'affiche pas le texte si celui-ci contient un signe « = ».

Paramètres[modifier le wikicode]

<templatedata> {

       "description": "Ce modèle indique la langue d’un texte, notamment pour les synthétiseurs vocaux et l’indexation correcte des inclusions de mots en langues différentes par les moteurs de recherche.",
       "params": {
               "1": {
                       "label": "Code de langue",
                       "description": "Code IETF ou nom français de la langue du texte inclus.",
                       "type": "string",
                       "required": true
               },
               "texte": {
                       "description": "Entrez ici le texte en langue étrangère.",
                       "type": "string",
                       "required": true,
                       "aliases": ["2"]
               },
               "trans": {
                       "label": "Translittération",
                       "description": "Translittération du texte. Attention, ce n’est pas une traduction, mais une conversion lettre à lettre la plus proche possible de l’orthographe originale.",
                       "type": "string"
               },
               "dir": {
                       "label": "Direction",
                       "description": "Direction de la langue : rtl (de droite à gauche) ou ltr (de gauche à droite) ; normalement inutile car le modèle détermine la direction en fonction du code de langue.",
                       "type": "string",
                       "default": "dépend du code de langue"
               }
       }

} </templatedata>

Exemples[modifier le wikicode]

Les effets sont a priori non visibles à l’écran (la police utilisée dépend du logiciel configuré par l’utilisateur), sauf ceux concernant la position (à droite ou à gauche) des ponctuations en début ou fin de textes écrits de droite à gauche.

Liens internes[modifier le wikicode]

Pour créer un lien non redirigé, la syntaxe à utiliser est la suivante : ''{{Langue|en|[[New York Stories]]}}''.

Dans le cas d'un lien redirigé, la syntaxe à privilégier est celle-ci : ''[[Deep Impact (film)|{{Langue|en|Deep Impact}}]]'' (voir cette discussion).

Italiques[modifier le wikicode]

Les italiques se mettent à l’extérieur. Voir les bonnes pratiques d'accessibilité.

Exemple :

Les Directives pour l’Accessibilité du Contenu Web (''{{Langue|en|Web Content Accessibility Guidelines}}'') ont été publiées en 1999 par la ''[[Web Accessibility Initiative|{{Langue|en|Web Accessibility Initiative}}]]'' du [[World Wide Web Consortium|W3C]].

En infobox[modifier le wikicode]

Problème[modifier le wikicode]

Si ce modèle est utilisé dans une infobox pour donner un titre original en caractères non latins, en utilisant donc à la fois ses paramètres texte et transl, alors il peut causer des problèmes de largeur, car la césure ou le retour à la ligne ne sont pas bien gérés par tous les navigateurs dans tous ces cas.

Symptômes[modifier le wikicode]

Un titre long va alors dilater en largeur sa case et comprimer le reste de l'infobox, qui se retrouve avec une colonne d'intitulés deux fois moins large que la normale, où chaque intitulé est affiché mot par mot sur deux ou trois lignes, donnant une infobox étirée en hauteur.

Solution[modifier le wikicode]

Séparer titre original et translittération : en utilisant le modèle (avec seulement le texte en caractères non latins) suivi d'un élément br et du modèle {{transl}} (pour la translittération).

Exemple[modifier le wikicode]

Au lieu de ce type de code : | titre_orig = {{Langue|ja|世界の終りとハードボイルド・ワンダーランド|trans=Sekai no owari to Hādo-boirudo Wandārando}} Utiliser ce type de code (noter les parenthèses ajoutées autour du trans) : | titre_orig = {{Langue|ja|世界の終りとハードボイルド・ワンダーランド}}<!-- son param trans= pose problème en infobox, donc br et modèle lang à la place --> <br />({{Langue|ja-Latn|Sekai no owari to Hādo-boirudo Wandārando}}) (Dans cet exemple, un commentaire HTML est inséré au milieu pour éviter qu'un autre éditeur fusionne de bonne foi les deux modèles en pensant bien faire.)

Codes de langue[modifier le wikicode]

Modèle:Article détaillé

Codes principaux[modifier le wikicode]

Langue Code Notes
allemand de
anglais en
arabe ar écriture avec l’alphabet perso-arabe
catalan ca
espagnol es
grec ancien grc avant 1453
grec moderne el depuis 1453
italien it
latin la alphabet de base normalement réduit (sans j, u, w, y) mais diacritiques possibles (usage principalement didactique) pour différencier les voyelles brèves ou longues
occitan ; provençal oc

La liste complète des codes acceptés par le modèle :

Si le code de langue dont vous avez besoin manque, demander sur le projet modèle. Les codes de langue compatibles sont ceux qui suivent la recommandation BCP 47 de l’[[Internet Engineering Task Force|Modèle:Langue]]. La liste des composants utilisables issus notamment des normes ISO 639, ISO 15924, ISO 3166-1, M.49 est publiée à l’adresse suivante : http://www.iana.org/assignments/language-subtag-registry. Pour rechercher un code de langue ce lien (en anglais) est recommandé.

Certaines erreurs courantes sont automatiquement détectées et signalées dans la catégorie:Page avec code de langue invalide.

Système d'écriture[modifier le wikicode]

La plupart des langues ont un système d’écriture par défaut. Lorsque la langue est écrite avec un autre système d’écriture, il est utile de le préciser, le modèle ou le navigateur pourra alors adapter le sens d'écriture ou la fonte utilisée. Le système d’écriture est précisé, le cas échéant, en un code à quatre lettres suivant le code langue principal, séparé par un trait d’union (-).

Par exemple l'arabe (ar) est considéré comme écrit avec des caractères arabes, de droite à gauche. Si le texte est une translittération de l'arabe en alphabet latin, écrit de gauche à droite, il faut utiliser le code de langue ar-Latn.

Cas spécifique pour le mongol, il vaut mieux utiliser mn-Mong pour le mongol bitchig (mongol dit traditionnel, 6 millions de personnes en Chine et une partie de la population de Pays mongol (3 millions d'habitants). Tandis que mn-Cyrl, unique écriture officielle du Pays mongol entre 1941 et 1991 (le bitchig est de nouveau officiel depuis 1991). Cas particulier encore, mn-Cyrl mongol cyrillique est affiché comme mn dans le cas des liens web.

Exemples de code système d’écriture :

Pour la liste complète et pour tester si un code est valide, voir ce lien (en anglais) ; dans la boîte de dialogue Modèle:Langue, sélectionner Modèle:Langue puis cliquer sur Modèle:Langue.

Variété géographique[modifier le wikicode]

Pour prendre en compte les variétés géographiques, un code pays ISO 3166-1 à deux lettres peut être ajouté, séparé par un trait d’union (-). Le code pays est toujours écrit en capitales (au contraire du code langue qui est toujours en minuscules).

Exemple : fr-CA pour le français canadien.

Pour les dialectes d'une région n'ayant pas de code de langue propre, il faut utiliser le code de langue le plus proche.

Exemple : oc pour le gascon et le provençal, qui sont des dialectes de l'occitan (ou langue d’oc).

Changer l’apparence d’une langue[modifier le wikicode]

Afin de changer le style des caractères d’une langue en particulier, on peut se servir de la syntaxe CSS dédiée :lang(code-langue) dans son monobook.css. Exemples :

/* personnalisation de l’écriture latine étendue, pour la langue : vietnamien ;
   ou pour l’API */
:lang(vi) {font-family: Segoe UI, Tahoma, Verdana, FreeSans, sans-serif}

/* personnalisation de l’écriture grecque, pour les langues : grec moderne (monotonique), grec ancien (polytonique) */
:lang(el), :lang(grc) {font-family: Athena, Segoe UI, Lucida Sans Unicode, Arial Unicode MS, Tahoma, FreeSans, sans-serif}

/* personnalisation de l’écriture cyrillique, pour les langues : russe, bulgare, serbe, macédonien, mongol moderne... */
:lang(ru), :lang(bg), :lang(sr), :lang(mk), :lang(mn) ou mieux :lang(mn-Cyrl)  {font-family: Segoe UI, Tahoma, sans-serif}

/* personnalisation de l’écriture arabe, pour les langues : arabe, persan, ourdou ;
   taille augmentée mais interlignage par défaut conservé */
:lang(ar), :lang(fa), :lang(ur) {font-family: Segoe UI, Tahoma; font-size: 1.25em;}

/* personnalisation de l’écriture thaïe, pour la langue : thaï ;
   taille réduite mais interlignage par défaut augmenté */
:lang(th) {font-family: Segoe UI, Tahoma, FreeSans; font-size: 0.87em; line-height: 1.4;}

Note : Si un navigateur ne gère pas les sélecteurs CSS normalisés :lang(xxx), il est possible d’utiliser dans une feuille de style personnelle les sélecteurs de classes CSS nommés .lang-xxx à la place, mais de façon moins précise (et non normalisée, spécifique à cette implémentation sur Wikipédia).

Attention aussi aux personnalisations de tailles de police dans une feuille de style personnelle Monobook : elles peuvent éventuellement s’imbriquer et créer des tailles agrandies ou réduites plusieurs fois si les attributs « lang » sont utilisés ailleurs que sur les inclusions faites par ce modèle et modifient la mise en page des blocs (paragraphes, tableaux…). Mieux vaut personnaliser la taille par défaut dans le seul élément « body » pour l’appliquer en une seule fois à toute la page, ou utiliser les fonctions d’agrandissement de texte ou de zoom de page intégrées dans votre navigateur.

Mieux vaut ne pas personnaliser la direction du texte en fonction de l’écriture dans la feuille de style personnelle, car cela dépend de la présentation des pages, et certaines inclusions de textes peuvent avoir besoin de changer la direction par défaut. Ce modèle permet de préciser cette direction (rtl ou ltr) dans les articles, là où c’est nécessaire dans les pages.

Notes et références[modifier le wikicode]

  1. (en) Modèle:Langue, Modèle:Langue
  2. (en) Modèle:Langue, Modèle:Langue : Modèle:Langue. Cette page recommande ainsi de ne pas signaler par un attribut spécifique une utilisation du mot « rendezvous » au sein d’un texte en anglais, ou du mot « podcast » au sein d’un texte en français.

Voir aussi[modifier le wikicode]