Codes de langue HTML
Codes de langue HTML : l'attribut lang, les balises BCP 47 avec sous-balises de région et de script, leur utilité, et la liste complète ISO 639-1.
Codes de langue HTML
Cette page explique les codes de langue que vous utilisez avec l'attribut HTML lang (et l'attribut hreflang associé) : le standard dont ils proviennent, comment combiner une langue avec une région ou un script, et où trouver le code correspondant à une langue donnée.
Quel standard les valeurs de lang utilisent-elles réellement ?
La valeur de lang n'est pas un simple code ISO — c'est une balise de langue BCP 47. Une balise BCP 47 est construite à partir de sous-balises dans un ordre fixe :
language[-script][-region]- langue — un code ISO 639-1 à deux lettres tel que
en,fr,zh. Lorsqu'une langue n'a pas de code 639-1, le code ISO 639-2/639-3 à trois lettres est utilisé à la place. - script — un code ISO 15924 optionnel à quatre lettres tel que
Hans(Han simplifié) ouHant(Han traditionnel). - région — un code pays ISO 3166-1 optionnel à deux lettres tel que
US,BR,GB.
Ainsi, en est une balise valide, tout comme en-US, pt-BR et zh-Hans. La sous-balise de langue est écrite en minuscules, le script en casse titre, et la région en majuscules — mais les balises sont comparées sans tenir compte de la casse.
Pourquoi déclarer la langue est important
Définir correctement lang a un effet concret, pas seulement documentaire :
- Les lecteurs d'écran sélectionnent la bonne voix de synthèse vocale et les règles de prononciation à partir de
lang. Les mêmes lettres sont lues très différemment en anglais et en français, donc unlangincorrect ou absent produit une synthèse incompréhensible. - Les langues écrites de droite à gauche nécessitent toujours l'attribut
dir(dir="rtl") —lang="ar"seul ne retourne pas le sens du texte. - Les moteurs de recherche utilisent la langue (et
hreflangsur les pages en langues alternatives) pour servir la bonne version de votre site au bon public. - Les navigateurs l'utilisent pour la vérification orthographique, le choix de la police/typographie correcte, et l'application de CSS spécifiques à la langue comme
:lang()et la césure.
Déclarer la langue de la page
Le W3C recommande de déclarer la langue principale de chaque page avec un attribut lang sur la balise racine <html> :
<!DOCTYPE html>
<html lang="en">
<head>
<title>My page</title>
</head>
<body>
...
</body>
</html>En XHTML, vous définissez à la fois lang et xml:lang :
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
...
</html>Ajouter une sous-balise de région ou de script
Utilisez une sous-balise de région ou de script lorsque la variante est importante — pour l'orthographe, la prononciation, ou la forme écrite à afficher :
<!-- Brazilian Portuguese, distinct from European Portuguese (pt-PT) -->
<html lang="pt-BR">
<!-- Plain Portuguese, no region preference -->
<html lang="pt">
<!-- Chinese written in Simplified characters -->
<html lang="zh-Hans">
<!-- Chinese written in Traditional characters, as used in Taiwan -->
<html lang="zh-Hant-TW">Préférez la balise la plus courte qui exprime la distinction nécessaire : utilisez simplement en sauf si l'orthographe britannique ou américaine est réellement importante, auquel cas utilisez en-GB ou en-US.
Marquer un passage dans une autre langue
Vous n'êtes pas limité à la page entière. Placez lang sur n'importe quel élément pour marquer un passage de texte dans une autre langue, ce qui permet aux lecteurs d'écran de changer de voix en milieu de phrase :
<p>
She greeted us with a cheerful
<span lang="fr">bonjour</span>
before sitting down.
</p>Ici, la page environnante peut avoir lang="en", tandis que bonjour est annoncé avec une voix française.
Codes de langue ISO 639-1
Le tableau ci-dessous liste les codes à deux lettres ISO 639-1 — la sous-balise de langue que vous placez en premier dans une balise BCP 47. Les langues qui n'ont pas de code ISO 639-1 sont indiquées par - ; pour celles-ci, utilisez le code à trois lettres ISO 639-2/639-3 indiqué dans la note après le tiret.
Voir la liste des codes de langue ISO 639-1 :
| Langue | Code ISO |
|---|---|
| Abkhaze | ab |
| Afar | aa |
| Afrikaans | af |
| Albanais | sq |
| Amharique | am |
| Arabe | ar |
| Aragonais | an |
| Arménien | hy |
| Assamais | as |
| Aymara | ay |
| Azerbaïdjanais | az |
| Bachkir | ba |
| Basque | eu |
| Bengali (Bangla) | bn |
| Dzongkha | dz |
| Bihari | bh |
| Bichlamar | bi |
| Bosnien | bs |
| Breton | br |
| Bulgare | bg |
| Birman | my |
| Biélorusse | be |
| Khmer (Cambodgien) | km |
| Catalan | ca |
| Cherokee | - (639-2/3: chr) |
| Chewa (Chichewa) | ny |
| Chinois | zh |
| Corse | co |
| Croate | hr |
| Tchèque | cs |
| Danois | da |
| Divehi (Dhivehi) | dv |
| Néerlandais | nl |
| Edo | - (639-2/3: bin) |
| Anglais | en |
| Espéranto | eo |
| Estonien | et |
| Féroïen | fo |
| Persan (Farsi) | fa |
| Fidjien | fj |
| Finnois | fi |
| Flamand (Néerlandais, Belgique) | nl (région : nl-BE) |
| Français | fr |
| Frison (occidental) | fy |
| Peul (Fulfulde) | ff |
| Galicien | gl |
| Gaélique (Écossais) | gd |
| Gaélique (Mannois) | gv |
| Géorgien | ka |
| Allemand | de |
| Grec | el |
| Groenlandais | kl |
| Guarani | gn |
| Gujarati | gu |
| Créole haïtien | ht |
| Haoussa | ha |
| Hawaïen | - (639-2/3: haw) |
| Hébreu | he |
| Hindi | hi |
| Hongrois | hu |
| Ibibio | - (639-2/3: ibb) |
| Islandais | is |
| Ido | io |
| Igbo | ig |
| Indonésien | id |
| Interlingua | ia |
| Interlingue | ie |
| Inuktitut | iu |
| Inupiaq | ik |
| Irlandais | ga |
| Italien | it |
| Japonais | ja |
| Javanais | jv |
| Kannada | kn |
| Kanouri | kr |
| Cachemiri | ks |
| Kazakh | kk |
| Kinyarwanda (Rwanda) | rw |
| Kirghiz | ky |
| Kirundi (Rundi) | rn |
| Konkani | - (639-2/3: kok) |
| Coréen | ko |
| Kurde | ku |
| Laotien | lo |
| Latin | la |
| Letton (Lettish) | lv |
| Limbourgeois | li |
| Lingala | ln |
| Lituanien | lt |
| Macédonien | mk |
| Malgache | mg |
| Malais | ms |
| Malayalam | ml |
| Maltais | mt |
| Maori | mi |
| Marathi | mr |
| Mongol | mn |
| Nauruan | na |
| Népalais | ne |
| Norvégien | no |
| Occitan | oc |
| Oriya | or |
| Oromo (Afaan Oromo) | om |
| Papiamento | - (639-2/3: pap) |
| Pachto (Pushto) | ps |
| Polonais | pl |
| Portugais | pt |
| Pendjabi | pa |
| Quechua | qu |
| Rhéto-roman | rm |
| Roumain | ro |
| Russe | ru |
| Same (du Nord) | se |
| Samoan | sm |
| Sango | sg |
| Sanskrit | sa |
| Serbe | sr |
| Serbo-croate | sh (déprécié ; utiliser sr, hr ou bs) |
| Sesotho (Sotho du Sud) | st |
| Setswana | tn |
| Shona | sn |
| Yi du Sichuan | ii |
| Sindhi | sd |
| Cingalais | si |
| Swati | ss |
| Slovaque | sk |
| Slovène | sl |
| Somali | so |
| Espagnol | es |
| Soundanais | su |
| Swahili (Kiswahili) | sw |
| Suédois | sv |
| Syriaque | - (639-2/3: syr) |
| Tagalog | tl |
| Tadjik | tg |
| Tamazight (Atlas central) | - (639-3: tzm) |
| Tamoul | ta |
| Tatar | tt |
| Télougou | te |
| Thaï | th |
| Tibétain | bo |
| Tigrigna | ti |
| Tongien | to |
| Tsonga | ts |
| Turc | tr |
| Turkmène | tk |
| Twi | tw |
| Ouïghour | ug |
| Ukrainien | uk |
| Ourdou | ur |
| Ouzbek | uz |
| Venda | ve |
| Vietnamien | vi |
| Volapük | vo |
| Wallon | wa |
| Gallois | cy |
| Wolof | wo |
| Xhosa | xh |
| Yiddish | yi |
| Yoruba | yo |
| Zoulou | zu |