Codici lingua HTML
Come funzionano i codici lingua HTML: l'attributo lang, i tag BCP 47 con sottotag di regione e script, la loro importanza e l'elenco completo dei codici ISO 639-1.
Codici lingua HTML
Questa pagina spiega i codici lingua da utilizzare con l'attributo HTML lang (e il correlato attributo hreflang): da quale standard derivano, come combinare una lingua con una regione o uno script, e dove trovare il codice per una determinata lingua.
Quale standard usano effettivamente i valori di lang?
Il valore di lang non è un semplice codice ISO — è un tag lingua BCP 47. Un tag BCP 47 è costruito da sottotag in un ordine fisso:
language[-script][-region]- language — un codice a due lettere ISO 639-1 come
en,fr,zh. Quando una lingua non ha un codice 639-1, viene utilizzato il codice a tre lettere ISO 639-2/639-3. - script — un codice opzionale a quattro lettere ISO 15924 come
Hans(Han semplificato) oHant(Han tradizionale). - region — un codice paese opzionale a due lettere ISO 3166-1 come
US,BR,GB.
Quindi en è un tag valido, così come lo sono en-US, pt-BR e zh-Hans. Il sottotag della lingua è scritto in minuscolo, lo script in title-case e la regione in maiuscolo — ma i tag vengono confrontati senza distinzione tra maiuscole e minuscole.
Perché dichiarare la lingua è importante
Impostare lang correttamente ha effetti concreti, non è solo documentazione:
- I lettori di schermo scelgono la voce text-to-speech corretta e le regole di pronuncia grazie a
lang. Le stesse lettere vengono lette in modo molto diverso in inglese rispetto al francese, quindi unlangerrato o mancante produce un parlato incomprensibile. - Le lingue da destra a sinistra richiedono comunque l'attributo
dir(dir="rtl") —lang="ar"da solo non inverte la direzione del testo. - I motori di ricerca utilizzano la lingua (e
hreflangnelle pagine in lingue alternative) per mostrare la versione corretta del tuo sito al pubblico giusto. - I browser la usano per il controllo ortografico, la scelta del carattere/tipografia corretto e l'applicazione di CSS specifici per la lingua come
:lang()e la sillabazione.
Dichiarare la lingua della pagina
Il W3C raccomanda di dichiarare la lingua principale di ogni pagina con un attributo lang sul tag radice <html>:
<!DOCTYPE html>
<html lang="en">
<head>
<title>My page</title>
</head>
<body>
...
</body>
</html>In XHTML si impostano sia lang che xml:lang:
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
...
</html>Aggiungere un sottotag di regione o script
Usa un sottotag di regione o script quando la variante è rilevante — per l'ortografia, la pronuncia o la forma scritta da mostrare:
<!-- 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">Preferisci il tag più breve che esprima la distinzione necessaria: usa il semplice en a meno che l'ortografia britannica rispetto a quella americana sia effettivamente rilevante, nel qual caso usa en-GB o en-US.
Contrassegnare una frase in un'altra lingua
Non sei limitato all'intera pagina. Inserisci lang su qualsiasi elemento per contrassegnare un testo in un'altra lingua, permettendo ai lettori di schermo di cambiare voce a metà frase:
<p>
She greeted us with a cheerful
<span lang="fr">bonjour</span>
before sitting down.
</p>Qui la pagina circostante potrebbe avere lang="en", mentre bonjour viene annunciato con una voce francese.
Codici lingua ISO 639-1
La tabella seguente elenca i codici a due lettere ISO 639-1 — il sottotag della lingua che si inserisce per primo in un tag BCP 47. Le lingue che non hanno un codice ISO 639-1 sono contrassegnate con -; per quelle, usa il codice a tre lettere ISO 639-2/639-3 indicato nella nota dopo il trattino.
Vedi l'elenco dei codici lingua ISO 639-1:
| Lingua | Codice ISO |
|---|---|
| Abcaso | ab |
| Afar | aa |
| Afrikaans | af |
| Albanese | sq |
| Amarico | am |
| Arabo | ar |
| Aragonese | an |
| Armeno | hy |
| Assamese | as |
| Aymara | ay |
| Azerbaigiano | az |
| Baschiro | ba |
| Basco | eu |
| Bengalese (Bangla) | bn |
| Dzongkha | dz |
| Bihari | bh |
| Bislama | bi |
| Bosniaco | bs |
| Bretone | br |
| Bulgaro | bg |
| Birmano | my |
| Bielorusso | be |
| Cambogiano | km |
| Catalano | ca |
| Cherokee | - (639-2/3: chr) |
| Chewa (Chichewa) | ny |
| Cinese | zh |
| Corso | co |
| Croato | hr |
| Ceco | cs |
| Danese | da |
| Divehi (Dhivehi) | dv |
| Olandese | nl |
| Edo | - (639-2/3: bin) |
| Inglese | en |
| Esperanto | eo |
| Estone | et |
| Faroese | fo |
| Persiano (Farsi) | fa |
| Figiano | fj |
| Finlandese | fi |
| Fiammingo (Olandese, Belgio) | nl (regione: nl-BE) |
| Francese | fr |
| Frisone (occidentale) | fy |
| Fulah (Fulfulde) | ff |
| Galiziano | gl |
| Gaelico (scozzese) | gd |
| Gaelico (Manx) | gv |
| Georgiano | ka |
| Tedesco | de |
| Greco | el |
| Groenlandese | kl |
| Guaraní | gn |
| Gujarati | gu |
| Creolo haitiano | ht |
| Hausa | ha |
| Hawaiiano | - (639-2/3: haw) |
| Ebraico | he |
| Hindi | hi |
| Ungherese | hu |
| Ibibio | - (639-2/3: ibb) |
| Islandese | is |
| Ido | io |
| Igbo | ig |
| Indonesiano | id |
| Interlingua | ia |
| Interlingue | ie |
| Inuktitut | iu |
| Inupiak | ik |
| Irlandese | ga |
| Italiano | it |
| Giapponese | ja |
| Giavanese | jv |
| Kannada | kn |
| Kanuri | kr |
| Kashmiri | ks |
| Kazako | kk |
| Kinyarwanda (Ruanda) | rw |
| Kirghiso | ky |
| Kirundi (Rundi) | rn |
| Konkani | - (639-2/3: kok) |
| Coreano | ko |
| Curdo | ku |
| Laotiano | lo |
| Latino | la |
| Lettone (Lettish) | lv |
| Limburghese (Limburger) | li |
| Lingala | ln |
| Lituano | lt |
| Macedone | mk |
| Malgascio | mg |
| Malese | ms |
| Malayalam | ml |
| Maltese | mt |
| Maori | mi |
| Marathi | mr |
| Mongolo | mn |
| Nauruano | na |
| Nepalese | ne |
| Norvegese | no |
| Occitano | oc |
| Oriya | or |
| Oromo (Afaan Oromo) | om |
| Papiamento | - (639-2/3: pap) |
| Pashto (Pushto) | ps |
| Polacco | pl |
| Portoghese | pt |
| Punjabi | pa |
| Quechua | qu |
| Reto-romancio | rm |
| Rumeno | ro |
| Russo | ru |
| Sami (settentrionale) | se |
| Samoano | sm |
| Sango | sg |
| Sanscrito | sa |
| Serbo | sr |
| Serbocroato | sh (obsoleto; usare sr, hr o bs) |
| Sesotho (Sotho meridionale) | st |
| Setswana | tn |
| Shona | sn |
| Yi del Sichuan | ii |
| Sindhi | sd |
| Singalese | si |
| Siswati | ss |
| Slovacco | sk |
| Sloveno | sl |
| Somalo | so |
| Spagnolo | es |
| Sundanese | su |
| Swahili (Kiswahili) | sw |
| Svedese | sv |
| Siriaco | - (639-2/3: syr) |
| Tagalog | tl |
| Tagico | tg |
| Tamazight (Atlante centrale) | - (639-3: tzm) |
| Tamil | ta |
| Tartaro | tt |
| Telugu | te |
| Tailandese | th |
| Tibetano | bo |
| Tigrinya | ti |
| Tongano | to |
| Tsonga | ts |
| Turco | tr |
| Turkmeno | tk |
| Twi | tw |
| Uiguro | ug |
| Ucraino | uk |
| Urdu | ur |
| Uzbeko | uz |
| Venda | ve |
| Vietnamita | vi |
| Volapük | vo |
| Vallone | wa |
| Gallese | cy |
| Wolof | wo |
| Xhosa | xh |
| Yiddish | yi |
| Yoruba | yo |
| Zulu | zu |