« Modèle:Langue/Documentation » : différence entre les versions

Contenu supprimé Contenu ajouté
mAucun résumé des modifications
+ protection
Ligne 1 :
<includeonly>{{protection|nombre=1100000}}</includeonly>
{{Sous-page de documentation}} {{Protection|nombre=290000}} {{Modèle utilisant les modules Lua|Module:Langue}} {{Raccourci de modèle|lang}}
 
== Utilisation ==
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.
 
Fonctions exportables :
'''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.'''
* <code>directionLangue(frame)</code> : Convertit en code de direction (rtl ou ltr) les codes ou noms français de langues.
* <code>codeLangue(frame)</code> : Convertit en code de langue IETF les noms français de langues les plus couramment citées.
* <code>codeLangue2(frame)</code> : Similaire à <code>codeLangue</code> à une exception près : si le nom de la langue ne se trouve pas dans la liste qui suit, le modèle n'affiche rien.
* <code>nomLangue(frame)</code> : Permet de retrouver le nom descriptif en français d'une langue à partir de son code.
* <code>lang(frame)</code> : Indique la langue d’un texte dans le code [[HTML]], notamment pour les synthétiseurs vocaux et l’indexation correcte des inclusions de mots en langue différente par les moteurs de recherche.
* <code>langue(frame)</code> : Similaire à <code>lang</code> mais permet d’employer dans certains cas le nom de la langue en toutes lettres.
* <code>indicationDeLangue(frame)</code> : Utilisable comme métamodèle pour créer des indications de langue ({{cf.}} {{fr}}, {{de}}{{etc.}}).
* <code>indicationMultilingue(frame)</code> : Similaire à <code>indicationDeLangue</code> à l'exception qu'elle indique plusieurs langues. Sans paramètre, {{mul}} est indiqué.
* <code>langueAvecNom(frame)</code> : Indique le nom de la langue avant un court texte dans une langue donnée et met le texte en langue étrangère entre balises <code>xml:lang</code>. Similaire à <code>indicationDeLangue</code> mais avec la détermination automatique du nom et de la direction de la langue. Elle est donc un peu moins rapide.
* <code>tableauLangues(frame)</code> : Génère un tableau triable de la liste des langues disponibles dans Module:langue/Data.
 
Modules externes et autres éléments dont ce module a besoin pour fonctionner :
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>.
* <code>[[Module:langue/Data]]</code> : Base de données avec les codes et les noms des langues les plus courantes.
 
<!-- == SyntaxeExemples ==
Pour des exemples, voir la page de test permettant de tester diverses modifications apportées. -->
 
* <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>
 
'''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>
 
La syntaxe simplifiée est déconseillée car elle n'affiche pas le texte si celui-ci contient un signe « = ».
 
=== Paramètres ===
 
<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 ==
 
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 />{{lang|de|texte=Die {{II}}. Republik}}
* <code><nowiki>{{langue|ar|texte=العربية...|dir=rtl}}</nowiki></code> <br />{{lang|ar|texte=العربية...}}
* <code><nowiki>{{langue|allemand|Die ewige Wiederkehr des Gleichen}}</nowiki></code> <br />{{lang|de|Die ewige Wiederkehr des Gleichen}}
* <code><nowiki>{{langue|es|¿Qué tal güey?}}</nowiki></code> <br />{{lang|es|¿Qué tal güey?}}
* <code><nowiki>{{lang|arabe|العربية...|dir=rtl}}</nowiki></code> <br />{{lang|ar|العربية...|dir=rtl}}
* <code><nowiki>{{lang|el|texte=ἡμέρα|trans=êméra}}</nowiki></code> <br />{{lang|el|texte=ἡμέρα|trans=êméra}}
* <code><nowiki>{{lang|ja|クレヨンしんちゃん|trans=Crayon Shin-chan}}</nowiki></code> <br />{{lang|ja|クレヨンしんちゃん|trans=Crayon Shin-chan}}
 
== Liens internes ==
 
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 ==
 
Les italiques se mettent à l’extérieur. Voir [[Wikipédia:Atelier_accessibilité/Bonnes_pratiques#Changements_de_langue|les bonnes pratiques d'accessibilité]].
 
'''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>
 
== En infobox ==
 
=== 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 = {{lang|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>transl</code>) :
<code><nowiki> | titre_orig = {{lang|ja|世界の終りとハードボイルド・ワンダーランド}}<!-- son param trans= pose problème en infobox, donc br et modèle transl à la place --> <br />({{transl|ja|Hepburn|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|{{lang|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://people.w3.org/rishida/utils/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). {{quoi|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 ''{{lang|en|texte=List}}'', sélectionner ''{{lang|en|texte=Regions}}'' puis cliquer sur ''{{lang|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.
 
'''Exemple :''' <code>oc</code> pour le gascon et le provençal, qui sont des dialectes de l'occitan (ou langue d’oc).
 
== 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 [[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 ;
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 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…). 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.
 
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 ==
<references />
 
== Voir aussi ==
* {{m|Code langue}}
* {{m|Langue du titre}}
* {{m|Transl}} – translittération avec schéma (comme Hepburn ou DIN)
 
<includeonly>
{{Projet Scribunto}}
[[Catégorie:Modèle pour les langues|*]]
</includeonly>
 
<noinclude>
[[Catégorie:Documentation de module|{{BASEPAGENAME}}]]
</noinclude>