Modèle:Langue
Ce modèle sert à indiquer la langue d’un texte, notamment pour les synthétiseurs vocaux, l’indexation des inclusions de mots en langues différentes par les moteurs de recherche, et l'affichage de certains caractères variant selon la langue[note 1]. Il permet aussi la personnalisation de la présentation des textes, en permettant aux utilisateurs de paramétrer les polices de caractères pour 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 automatique.
Les normes internationales d’accessibilité imposent de signaler un changement de langue, excepté « 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 »[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
{{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}}
Dans le cas de la syntaxe simplifiée, il faut utiliser le code « {{=}} » pour faire apparaître le signe « = », car le texte n'apparaît pas si un simple « = » est utilisé dans le code.
Paramètres
Ce modèle indique la langue d’un texte, notamment pour les synthétiseurs vocaux, l’indexation correcte des inclusions de mots en langues différentes par les moteurs de recherche, et l'affichage de certains caractères variant selon la langue. Dans le cas d'une citation, utilisez {{Citation étrangère}} à la place.
Paramètre | Description | Type | État | |
---|---|---|---|---|
Code de langue | 1 | Étiquette d’identification IETF ou nom français de la langue du texte inclus.
| Chaîne | obligatoire |
Texte | 2 texte | Texte en langue étrangère. À mettre en italique si nécessaire, sauf si ce sont des caractères non latins.
| Chaîne | obligatoire |
Texte (obsolète) | 3 | Texte en langue étrangère utilisé uniquement si le paramètre 1 contient la direction de la langue rtl ou ltr et le paramètre 2 le code de la langue.
| Chaîne | obsolète |
Translittération | trans | Translittération du texte. Attention, ce n’est pas une traduction, mais une conversion lettre à lettre la plus proche possible de l’orthographe originale. | Chaîne | facultatif |
Direction | dir | 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.
| Chaîne | facultatif |
Classes CSS additionnelles | class | Classes CSS supplémentaire. Fonctionnalité avancée à n'utiliser qu'en cas de besoin. | Ligne de texte | facultatif |
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 et pour les langues qui utilisent des sinogrammes comme le chinois ou le japonais.
{{Langue|de|texte=Die {{II}}. Republik}}
Die II. Republik{{Langue|ar|texte=العربية…|dir=rtl}}
العربية…{{Langue|allemand|Die ewige Wiederkehr des Gleichen}}
Die ewige Wiederkehr des Gleichen{{Langue|es|¿Qué tal güey?}}
¿Qué tal güey?{{Langue|arabe|العربية|trans=al-ʻarabīyah|dir=rtl}}
العربية (al-ʻarabīyah){{Langue|grc|texte=ἡμέρα|trans=hēméra}}
ἡμέρα (hēméra){{Langue|ja|クレヨンしんちゃん|trans=Kureyon Shin-chan}}
クレヨンしんちゃん (Kureyon Shin-chan){{Langue|ja|今}}
今{{Langue|zh|今}}
今
Dans les deux derniers exemples, notez la différence des glyphes suivant la langue.
Liens internes
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).
Codes de langue
Codes principaux
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 |
Tous les codes
La liste complète des langues prises en charge se trouve sur la page Module:Langue/Liste des langues.
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’IETF. La liste des composants utilisables issus notamment des normes ISO 639, ISO 15924, ISO 3166-1, M.49 est publiée à l’adresse suivante : https://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
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, six millions de personnes en Chine et une partie de la population de Mongolie (trois 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 :
- latin :
Latn
; - arabe :
Arab
; - cyrillique :
Cyrl
; - grec :
Grek
; - hébreu :
Hebr
; - mongol :
Mong
; - sinogrammes traditionnels :
Hant
; - sinogrammes simplifiés :
Hans
; - sinogrammes dans le coréen (hanja), japonais (kanji) et vietnamien (Nôm) (norme ISO 15924:Hani (en)) :
Hani
; - tifinagh :
Tfng
.
Pour la liste complète et pour tester si un code est valide, voir ce lien (en anglais) ; dans la boîte de dialogue List, sélectionner Regions puis cliquer sur 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 (-
). 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
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 common.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;}
Il est aussi possible de simplement faire apparaître qu'un mot ou expression sont dans une autre langue, en changeant la police d'affichage par l'ajout de cette ligne dans son CSS personnalisé :
/* Utiliser la police « serif » pour les éléments HTML de tout type (« span », « div », « td », etc.)
qui ont un attribut « lang="code-de-langue" » de valeur quelconque */
[lang] { font-family: serif; }
/* Utiliser la police « serif » seulement pour les éléments HTML de tout type
qui ont un attribut « lang="el" » pour indiquer la langue grecque moderne */
[lang=el] { font-family: serif; }
/* Utiliser la police « serif » seulement pour les éléments HTML de tout type
qui ont un attribut « lang="zh" », avec un éventuel suffixe comme « lang="zh-Hant" » */
[lang|=zh] { font-family: serif; }
/* Utiliser la police « serif » seulement pour les éléments HTML de type « span »
ayant un attribut « lang="code-de-langue" » de valeur quelconque */
span[lang] { font-family: serif; }
Un sélecteur CSS sur le nom de l'attribut entre crochets droits [lang=code]
ou [lang|=code]
est cependant moins puissant que le pseudo-sélecteur :lang(code)
, lequel permet aussi de trouver les correspondances par code d'écriture indépendamment des langues qui utilisent cette écriture, en plaçant dans son paramètre un joker *
à la place du code langue de base, suivi d'un tiret et d'un code d'écriture ; l'utilisation d'un joker requiert cependant d'échapper ce joker, ou de placer l'identificateur de langue entre guillemets droits :
/* Utiliser la police « serif » seulement pour les éléments HTML de tout type
et dont le contenu est dans une langue utilisant l'écriture grecque. */
:lang(\*-Grek) { font-family: serif; } /* joker avec un échappement */
:lang("*-Grek") { font-family: serif; } /* code complet entre guillemets droits */
Notes et références
Notes
- Par exemple les sinogrammes : voir ce tableau ou « Pourquoi utiliser l'attribut du langage ? », sur w3.org, W3C (consulté le ).
Références
- (en) Web Content Accessibility Guidelines (WCAG) 2.0, 3.1.2 Language of Parts.
- (en) Understanding WCAG 2.0, Language of Parts : Understanding SC 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.
- https://www.w3.org/TR/UNDERSTANDING-WCAG20/meaning-other-lang-id.html
Voir aussi
- {{Citation étrangère}}
- {{Code langue}}
- {{Langue du titre}}
- {{Transl}} – translittération avec schéma (comme Hepburn ou DIN)
- {{Lien}} - avec le paramètre
langue=
La documentation de ce modèle est générée par le modèle {{Documentation}}.
Elle est incluse depuis sa sous-page de documentation. Veuillez placer les catégories sur cette page-là.
Les éditeurs peuvent travailler dans le bac à sable (modifier) et la page de test (créer).
Voir les statistiques d'utilisation du modèle sur l'outil wstat.