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




Modèle:Langue/Documentation : Différence entre versions

De NuitDebout
Aller à : navigation, rechercher
(Ohhhh ! (orthographe ;-) ))
m (32 révisions importées)
 
(27 révisions intermédiaires par 9 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
{{Sous-page de documentation}}<includeonly>{{Protection}}</includeonly>
+
{{Sous-page de documentation}} {{Protection|nombre=365000}} {{Modèle utilisant les modules Lua|Module:Langue}} {{Raccourci de modèle|lang}}
 
+
'''{{m|langue}}''' est similaire à {{m|lang}} mais permet d’employer dans certains cas le nom de la langue en toutes lettres.
+
  
 
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.
 
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’[[Wikipédia:Atelier accessibilité|accessibilité du contenu]]. Elle est également utile aux outils de traduction automatiques'''.
+
'''La mention d’un changement de langue est une information essentielle pour l’[[Wikipédia:Atelier accessibilité|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é {{Citation|pour un nom propre, pour un terme technique, pour un mot dont la langue est indéterminée ou pour un mot ou une expression faisant partie du langage courant}}<ref>[http://www.w3.org/TR/WCAG20/#meaning {{en}} ''{{lang|en|Web Content Accessibility Guidelines (WCAG) 2.0}}'', ''{{lang|en|3.1.2 Language of Parts}}'']</ref> pour lesquels cela n’a pas de caractère obligatoire. Le [http://www.w3.org/WAI/GL groupe de travail sur les directives d'accessibilité du contenu Web] du [http://www.w3.org 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) »<ref>[http://www.w3.org/TR/2008/NOTE-UNDERSTANDING-WCAG20-20081211/meaning-other-lang-id.html {{en}} ''{{lang|en|Understanding WCAG 2.0}}'', ''{{lang|en|Language of Parts}}'' : ''{{lang|en|Understanding {{abr|SC|Success Criterion}} 3.1.2}}'']. 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]].</ref>.
+
Les normes internationales d’accessibilité imposent de signaler un changement de langue, excepté {{Citation|pour un nom propre, pour un terme technique, pour un mot dont la langue est indéterminée ou pour un mot ou une expression faisant partie du langage courant}}<ref>[http://www.w3.org/TR/WCAG20/#meaning {{en}} ''{{Langue|en|Web Content Accessibility Guidelines (WCAG) 2.0}}'', ''{{Langue|en|3.1.2 Language of Parts}}'']</ref> pour lesquels cela n’a pas de caractère obligatoire. Le [http://www.w3.org/WAI/GL groupe de travail sur les directives d'accessibilité du contenu Web] du [http://www.w3.org 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) »<ref>[http://www.w3.org/TR/2008/NOTE-UNDERSTANDING-WCAG20-20081211/meaning-other-lang-id.html {{en}} ''{{Langue|en|Understanding WCAG 2.0}}'', ''{{Langue|en|Language of Parts}}'' : ''{{Langue|en|Understanding {{abr|SC|Success Criterion}} 3.1.2}}'']. 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]].</ref>.
  
 
== Syntaxe ==
 
== Syntaxe ==
  
=== Syntaxe ===
+
* <code><nowiki>{{Langue|</nowiki>''code de langue''|texte=''texte''<nowiki>}}</nowiki></code>
 +
* <code><nowiki>{{Langue|</nowiki>''code de langue''|texte=''texte''|trans=''trans''|dir=''direction-langue''<nowiki>}}</nowiki></code>
  
* <code><nowiki>{{Lang|</nowiki>''code-langue''|texte=''texte''}}</code>
+
'''Syntaxe simplifiée :'''
* <code><nowiki>{{Lang|</nowiki>''code-langue''|dir=''direction-langue''|texte=''texte''|trans=''trans''}}</code>
+
  
=== Syntaxe simplifiée ===
+
* <code><nowiki>{{Langue|</nowiki>''code de langue''|''texte''<nowiki>}}</nowiki></code>
 +
* <code><nowiki>{{Langue|</nowiki>''code de langue''|''texte''|trans=''trans''|dir=''direction-langue''<nowiki>}}</nowiki></code>
  
* <code><nowiki>{{Lang|</nowiki>''nom-de-langue''|''texte''}}</code>
+
La syntaxe simplifiée est déconseillée car elle n'affiche pas le texte si celui-ci contient un signe « = ».
Cette syntaxe est déconseillée car elle n'affiche pas le texte si celui-ci contient un signe « = »
+
  
 
=== Paramètres ===
 
=== Paramètres ===
Ligne 28 : Ligne 26 :
 
         "params": {
 
         "params": {
 
                 "1": {
 
                 "1": {
                         "label": "Nom de langue",
+
                         "label": "Code de langue",
                         "description": "Nom français ou code IETF de la langue du texte inclu",
+
                         "description": "Code IETF ou nom français de la langue du texte inclus.",
 
                         "type": "string",
 
                         "type": "string",
 
                         "required": true
 
                         "required": true
 
                 },
 
                 },
 
                 "texte": {
 
                 "texte": {
                        "label": "Texte",
 
 
                         "description": "Entrez ici le texte en langue étrangère.",
 
                         "description": "Entrez ici le texte en langue étrangère.",
 
                         "type": "string",
 
                         "type": "string",
Ligne 43 : Ligne 40 :
 
                         "label": "Translittération",
 
                         "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.",
 
                         "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",
+
                         "type": "string"
                        "required": false
+
 
                 },
 
                 },
 
                 "dir": {
 
                 "dir": {
 
                         "label": "Direction",
 
                         "label": "Direction",
                         "description": "Direction de la langue : rtl (de droite à gauche) ou ltr (de gauche à droite) ; Sera déterminé automatiquement en fonction de la langue s'il n'est pas précisé.",
+
                         "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",
 
                         "type": "string",
                         "required": false
+
                         "default": "dépend du code de langue"
 
                 }
 
                 }
 
         }
 
         }
Ligne 58 : Ligne 54 :
 
== Exemples ==
 
== Exemples ==
  
''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''.
+
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.
  
* <code><nowiki>{{langue|de|texte=Die {{II}}. Republik}}</nowiki></code> <br />{{langue|de|texte=Die {{II}}. Republik}}
+
* <code><nowiki>{{Langue|de|texte=Die {{II}}. Republik}}</nowiki></code> <br />{{Langue|de|texte=Die {{II}}. Republik}}
* <code><nowiki>{{langue|allemand|texte=Die {{II}}. Republik}}</nowiki></code> <br />{{langue|allemand|texte=Die {{II}}. Republik}}
+
* <code><nowiki>{{Langue|ar|texte=العربية...|dir=rtl}}</nowiki></code> <br />{{Langue|ar|texte=العربية...}}
* <code><nowiki>{{lang|arabe|texte=العربية...}}</nowiki></code> <br />{{lang|arabe|texte=العربية...}}
+
* <code><nowiki>{{Langue|allemand|Die ewige Wiederkehr des Gleichen}}</nowiki></code> <br />{{Langue|de|Die ewige Wiederkehr des Gleichen}}
* <code><nowiki>{{lang|es|¿Qué tal güey?}}</nowiki></code> <br />{{lang|es|¿Qué tal güey?}}
+
* <code><nowiki>{{Langue|es|¿Qué tal güey?}}</nowiki></code> <br />{{Langue|es|¿Qué tal güey?}}
* <code><nowiki>{{lang|el|texte=ἡμέρα|trans=êméra}}</nowiki></code> <br />{{lang|el|texte=ἡμέρα|trans=êméra}}
+
* <code><nowiki>{{Langue|arabe|العربية...|dir=rtl}}</nowiki></code> <br />{{Langue|ar|العربية...|dir=rtl}}
* <code><nowiki>{{lang|japonais|texte=クレヨンしんちゃん|trans=Crayon Shin-chan}}</nowiki></code> <br />{{lang|japonais|texte=クレヨンしんちゃん|trans=Crayon Shin-chan}}
+
* <code><nowiki>{{Langue|el|texte=ἡμέρα|trans=êméra}}</nowiki></code> <br />{{Langue|el|texte=ἡμέρα|trans=êméra}}
 +
* <code><nowiki>{{Langue|ja|クレヨンしんちゃん|trans=Crayon Shin-chan}}</nowiki></code> <br />{{Langue|ja|クレヨンしんちゃん|trans=Crayon Shin-chan}}
  
 
== Liens internes ==
 
== Liens internes ==
Le code à privilégier est celui-ci : <code><nowiki>''[[The New York Times|{{langue|en|The New York Times}}]]''</nowiki></code>. (Voir [[Discussion_Wikipédia:Atelier_accessibilité/Archives_accessibilité_2010_-_premier_semestre#Mod.C3.A8le:Lang_et_liens_internes|Cette discussion]])
+
 
 +
Pour créer un lien non redirigé, la syntaxe à utiliser est la suivante : <code><nowiki>''{{Langue|en|[[New York Stories]]}}''</nowiki></code>.
 +
 
 +
Dans le cas d'un lien redirigé, la syntaxe à privilégier est celle-ci : <code><nowiki>''[[Deep Impact (film)|{{Langue|en|Deep Impact}}]]''</nowiki></code> (voir cette [[Discussion_Wikipédia:Atelier_accessibilité/Archives_accessibilité_2010_-_premier_semestre#Mod.C3.A8le:Lang_et_liens_internes|discussion]]).
  
 
== Italiques ==
 
== Italiques ==
  
Les italiques se mettent à l’extérieur. Voir [[Wikipédia:Atelier_accessibilité/Bonnes_pratiques#Changements_de_langue|Les bonnes pratiques d'accessibilité]].
+
Les italiques se mettent à l’extérieur. Voir [[Wikipédia:Atelier_accessibilité/Bonnes_pratiques#Changements_de_langue|les bonnes pratiques d'accessibilité]].
  
Exemple :
+
'''Exemple''' :
  
<code><nowiki>Les Directives pour l’Accessibilité du Contenu Web (''{{lang|en|Web Content Accessibility Guidelines}}'') ont été publiées en 1999 par la ''[[Web Accessibility Initiative|{{lang|en|Web Accessibility Initiative}}]]'' du [[World Wide Web Consortium|W3C]].</nowiki>
+
<code><nowiki>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]].</nowiki>
 
</code>
 
</code>
  
== Nom de langue ==
+
== En infobox ==
Les langues les plus courrantes peuvent être renseignées par leur nom. La liste est détaillée dans la documentation du modèle {{m|Code langue}}
+
 
 +
=== Problème ===
 +
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 <code>texte</code> et <code>transl</code>, 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 [[navigateur Web|navigateurs]] dans tous ces cas.
 +
 
 +
=== Symptômes ===
 +
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 ===
 +
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 HTML|élément]] <code>br</code> et du modèle {{m|transl}} (pour la translittération).
 +
 
 +
=== Exemple  ===
 +
Au lieu de ce type de code :
 +
<code><nowiki> | titre_orig        = {{Langue|ja|世界の終りとハードボイルド・ワンダーランド|trans=Sekai no owari to Hādo-boirudo Wandārando}}</nowiki></code>
 +
Utiliser ce type de code (noter les parenthèses ajoutées autour du <code>trans</code>) :
 +
<code><nowiki> | 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}})</nowiki></code>
 +
(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 ==
 +
{{article détaillé|Étiquette d'identification de langues IETF{{!}}Code de langue IETF}}
 +
 
 +
=== Codes principaux ===
 +
 
 +
{|class="sortable wikitable"
 +
|-
 +
!scope="col"| Langue
 +
!scope="col"| Code
 +
!scope="col"| 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 :
 +
 
 +
{{boîte déroulante|titre= Codes de langue|contenu=
 +
{{Colonnes|taille=18|1=
 +
{{#invoke:Langue|listeAliasCode}}
 +
}}
 +
}}
 +
 
 +
Si le code de langue dont vous avez besoin manque, demander sur le [[P:MD|projet modèle]]. Les codes de langue compatibles sont ceux qui suivent la recommandation {{nobr|BCP 47}} de l’[[Internet Engineering Task Force|{{Langue|en|texte=IETF}}]]. La liste des composants utilisables issus notamment des normes {{nobr|[[ISO 639]]}}, {{nobr|[[ISO 15924]]}}, [[ISO 3166-1]], M.49 est publiée à l’adresse suivante : ''http://www.iana.org/assignments/language-subtag-registry''. [http://r12a.github.io/apps/subtags/ 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 ===
 +
 
 +
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 [[police de caractères|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 (<code>-</code>).
 +
 
 +
Par exemple l'[[langue arabe|arabe]] (<code>ar</code>) est considéré comme écrit avec des [[alphabet arabe|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 <code>ar-Latn</code>.
 +
 
 +
Cas spécifique pour le mongol, il vaut mieux utiliser <code>mn-Mong</code> pour le [[mongol bitchig]] (mongol dit ''traditionnel'', 6 millions de personnes en [[Chine]] et une partie de la population de [[Mongolie|Pays mongol]] (3 millions d'habitants). Tandis que <code>mn-Cyrl</code>, unique écriture officielle du Pays mongol entre 1941 et 1991 (le bitchig est de nouveau officiel depuis 1991). Cas particulier encore, <code>mn-Cyrl</code> [[mongol cyrillique]] est affiché comme mn dans le cas des liens web.
 +
 
 +
Exemples de code système d’écriture :
 +
* [[alphabet latin|latin]] : <code>Latn</code> ;
 +
* [[alphabet arabe|arabe]] : <code>Arab</code> ;
 +
* [[cyrillique]] : <code>Cyrl</code> ;
 +
* [[alphabet grec|grec]] : <code>Grek</code> ;
 +
* [[alphabet hébreu|hébreu]] : <code>Hebr</code> ;
 +
* [[mongol]] : <code>Mong</code> ;
 +
* [[sinogrammes traditionnels]] : <code>Hant</code> ;
 +
* [[sinogrammes simplifiés]] : <code>Hans</code> ;
 +
* [[sinogrammes]] dans le coréen ([[hanja]]), japonais ([[kanji]]) et vietnamien ([[Nôm]]) (norme {{lien|ISO 15924:Hani}}) : <code>Hani</code> ;
 +
* [[tifinagh]] : <code>Tfng</code>.
 +
 
 +
Pour la liste complète et pour tester si un code est valide, voir [http://r12a.github.io/apps/subtags/ ce lien (en anglais)] ; dans la boîte de dialogue ''{{Langue|en|texte=List}}'', sélectionner ''{{Langue|en|texte=Regions}}'' puis cliquer sur ''{{Langue|en|texte=List}}''.
 +
 
 +
=== Variété géographique ===
 +
 
 +
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 (<code>-</code>). Le code pays est toujours écrit en capitales (au contraire du code langue qui est toujours en minuscules).
 +
 
 +
'''Exemple :''' <code>fr-CA</code> 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.
  
Dans tout les cas les codes de langue qui suivent la recommandation BCP 47 de l’IETF sont compatibles.
+
'''Exemple :''' <code>oc</code> pour le gascon et le provençal, qui sont des dialectes de l'occitan (ou langue d’oc).
La liste des composants utilisables est publiée à l’adresse suivante : ''http://www.iana.org/assignments/language-subtag-registry''.
+
  
 
== Changer l’apparence d’une langue ==
 
== Changer l’apparence d’une langue ==
  
Afin de changer le style des caractères d’une langue en particulier, on peut se servir de la syntaxe CSS dédiée <code>:lang(''code-langue'')</code> dans son [[Special:Mypage/monobook.css|monobook.css]]. Exemples :
+
Afin de changer le style des caractères d’une langue en particulier, on peut se servir de la syntaxe [[Feuilles de style en cascade|CSS]] dédiée <code>:lang(''code-langue'')</code> dans son [[Special:Mypage/monobook.css|monobook.css]]. Exemples :
  
 
  /* personnalisation de l’écriture latine étendue, pour la langue : vietnamien ;
 
  /* personnalisation de l’écriture latine étendue, pour la langue : vietnamien ;
Ligne 97 : Ligne 185 :
 
   
 
   
 
  /* personnalisation de l’écriture cyrillique, pour les langues : russe, bulgare, serbe, macédonien, mongol moderne... */
 
  /* 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)  {font-family: Segoe UI, Tahoma, sans-serif}
+
  :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 ;
 
  /* personnalisation de l’écriture arabe, pour les langues : arabe, persan, ourdou ;
 
     taille augmentée mais interlignage par défaut conservé */
 
     taille augmentée mais interlignage par défaut conservé */
  :lang(ar), :lang(fa), :lang(ur) {font-family: Segoe UI, Tahoma; font-size:1.25em}
+
  :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ï ;
 
  /* personnalisation de l’écriture thaïe, pour la langue : thaï ;
 
     taille réduite mais interlignage par défaut augmenté */
 
     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}
+
  :lang(th) {font-family: Segoe UI, Tahoma, FreeSans; font-size: 0.87em; line-height: 1.4;}
  
Note : Si un navigateur ne supporte pas les sélecteurs CSS normalisés <code>:lang(''xxx'')</code>, il est possible d’utiliser dans une feuille de style personnelle les sélecteurs de classes CSS nommés <code>.lang-''xxx''</code> à la place, mais de façon moins précise (et non normalisée, spécifique à cette implémentation sur Wikipédia).
+
Note : Si un [[navigateur Web|navigateur]] ne gère pas les sélecteurs CSS normalisés <code>:lang(''xxx'')</code>, il est possible d’utiliser dans une feuille de style personnelle les sélecteurs de classes CSS nommés <code>.lang-''xxx''</code> à 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 « <code>lang</code> » sont utilisés ailleurs que sur les inclusions faites par ce modèle et modifient la mise en page des blocs (paragraphes, tableaux…). Il vaut mieux personnaliser la taille par défaut dans le seul élément « <code>body</code> » 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.
+
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 « <code>lang</code> » 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 « <code>body</code> » 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.
  
Il vaut mieux 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 (''<code>rtl</code>'' ou ''<code>ltr</code>'') dans les articles, là où c’est nécessaire dans les pages.
+
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 (''<code>rtl</code>'' ou ''<code>ltr</code>'') dans les articles, là où c’est nécessaire dans les pages.
  
 
== Notes et références ==
 
== Notes et références ==
Ligne 117 : Ligne 205 :
  
 
== Voir aussi ==
 
== Voir aussi ==
* {{m|Lang}}
+
* {{m|Code langue}}
 
* {{m|Langue du titre}}
 
* {{m|Langue du titre}}
* {{m|Code langue}} pour la liste des noms de langue employables.
+
* {{m|Transl}} – translittération avec schéma (comme Hepburn ou DIN)
  
 
<includeonly>
 
<includeonly>
{{Projet Scribunto}}
 
 
[[Catégorie:Modèle pour les langues|*]]
 
[[Catégorie:Modèle pour les langues|*]]
 
</includeonly>
 
</includeonly>

Version actuelle en date du 18 avril 2016 à 20:57

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]