HTML-Sprachcodes
Wie HTML-Sprachcodes funktionieren: das lang-Attribut, BCP 47-Tags mit Region- und Skript-Subtags, warum sie wichtig sind, und eine ISO 639-1-Liste.
HTML-Sprachcodes
Diese Seite erklärt die Sprachcodes, die Sie mit dem HTML-Attribut lang (und dem verwandten Attribut hreflang) verwenden: woher der Standard stammt, wie Sie eine Sprache mit einer Region oder einem Skript kombinieren und wo Sie den Code für eine bestimmte Sprache finden.
Welchen Standard verwenden lang-Werte tatsächlich?
Der Wert von lang ist kein einfacher ISO-Code — es ist ein BCP 47-Sprachtag. Ein BCP 47-Tag wird aus Subtags in einer festen Reihenfolge aufgebaut:
language[-script][-region]- language — ein zweistelliger ISO 639-1-Code wie
en,fr,zh. Wenn eine Sprache keinen 639-1-Code hat, wird stattdessen der dreistellige ISO 639-2/639-3-Code verwendet. - script — ein optionaler vierstelliger ISO 15924-Code wie
Hans(Vereinfachtes Han) oderHant(Traditionelles Han). - region — ein optionaler zweistelliger ISO 3166-1-Ländercode wie
US,BR,GB.
So ist en ein gültiges Tag, ebenso wie en-US, pt-BR und zh-Hans. Der Sprach-Subtag wird in Kleinbuchstaben geschrieben, das Skript in Titelschreibweise und die Region in Großbuchstaben — Tags werden jedoch groß-/kleinschreibungsunabhängig abgeglichen.
Warum die Sprachdeklaration wichtig ist
Das korrekte Setzen von lang hat reale Auswirkungen, nicht nur dokumentarische:
- Screenreader wählen die richtige Text-zu-Sprache-Stimme und Ausspracheregeln anhand von
lang. Dieselben Buchstaben werden auf Englisch und Französisch sehr unterschiedlich ausgesprochen, sodass ein falsches oder fehlendeslangzu unverständlicher Sprache führt. - Rechts-nach-links-Sprachen benötigen weiterhin das Attribut
dir(dir="rtl") —lang="ar"allein kehrt die Textrichtung nicht um. - Suchmaschinen verwenden die Sprache (und
hreflangauf anderssprachigen Seiten), um die richtige Version Ihrer Website dem richtigen Publikum anzuzeigen. - Browser nutzen sie für die Rechtschreibprüfung, die Wahl der richtigen Schriftart/Typografie und die Anwendung sprachspezifischer CSS-Regeln wie
:lang()und Silbentrennung.
Die Seitensprache deklarieren
Die W3C empfiehlt, die primäre Sprache jeder Seite mit einem lang-Attribut am Root-Element <html> zu deklarieren:
<!DOCTYPE html>
<html lang="en">
<head>
<title>My page</title>
</head>
<body>
...
</body>
</html>In XHTML setzen Sie sowohl lang als auch xml:lang:
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
...
</html>Einen Region- oder Skript-Subtag hinzufügen
Verwenden Sie einen Region- oder Skript-Subtag, wenn die Variante wichtig ist — für Rechtschreibung, Aussprache oder die angezeigte Schriftform:
<!-- 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">Bevorzugen Sie das kürzeste Tag, das die notwendige Unterscheidung vermittelt: Verwenden Sie einfach en, es sei denn, britische vs. amerikanische Rechtschreibung ist tatsächlich relevant — in diesem Fall verwenden Sie en-GB oder en-US.
Einen Satz in einer anderen Sprache auszeichnen
Sie sind nicht auf die gesamte Seite beschränkt. Setzen Sie lang auf beliebige Elemente, um einen Textabschnitt in einer anderen Sprache zu kennzeichnen, damit Screenreader die Stimme mitten im Satz wechseln können:
<p>
She greeted us with a cheerful
<span lang="fr">bonjour</span>
before sitting down.
</p>Hier könnte die umgebende Seite lang="en" haben, während bonjour mit einer französischen Stimme vorgelesen wird.
ISO 639-1-Sprachcodes
Die folgende Tabelle listet die zweistelligen ISO 639-1-Codes auf — den Sprach-Subtag, den Sie als Erstes in einem BCP 47-Tag platzieren. Sprachen, die keinen ISO 639-1-Code haben, sind mit - markiert; für diese verwenden Sie den in der Anmerkung nach dem Bindestrich angegebenen dreistelligen ISO 639-2/639-3-Code.
Siehe die Liste der ISO 639-1-Sprachcodes:
| Sprache | ISO-Code |
|---|---|
| Abchasisch | ab |
| Afar | aa |
| Afrikaans | af |
| Albanisch | sq |
| Amharisch | am |
| Arabisch | ar |
| Aragonesisch | an |
| Armenisch | hy |
| Assamesisch | as |
| Aymara | ay |
| Aserbaidschanisch | az |
| Baschkirisch | ba |
| Baskisch | eu |
| Bengalisch (Bangla) | bn |
| Dzongkha | dz |
| Bihari | bh |
| Bislama | bi |
| Bosnisch | bs |
| Bretonisch | br |
| Bulgarisch | bg |
| Burmesisch | my |
| Weißrussisch | be |
| Kambodschanisch | km |
| Katalanisch | ca |
| Cherokee | - (639-2/3: chr) |
| Chewa (Chichewa) | ny |
| Chinesisch | zh |
| Korsisch | co |
| Kroatisch | hr |
| Tschechisch | cs |
| Dänisch | da |
| Divehi (Dhivehi) | dv |
| Niederländisch | nl |
| Edo | - (639-2/3: bin) |
| Englisch | en |
| Esperanto | eo |
| Estnisch | et |
| Färöisch | fo |
| Persisch | fa |
| Fidschi | fj |
| Finnisch | fi |
| Flämisch (Niederländisch, Belgien) | nl (Region: nl-BE) |
| Französisch | fr |
| Friesisch (Westfriesisch) | fy |
| Fula (Fulfulde) | ff |
| Galicisch | gl |
| Gälisch (Schottisch) | gd |
| Gälisch (Manx) | gv |
| Georgisch | ka |
| Deutsch | de |
| Griechisch | el |
| Grönländisch | kl |
| Guaraní | gn |
| Gujarati | gu |
| Haitianisches Kreolisch | ht |
| Hausa | ha |
| Hawaiisch | - (639-2/3: haw) |
| Hebräisch | he |
| Hindi | hi |
| Ungarisch | hu |
| Ibibio | - (639-2/3: ibb) |
| Isländisch | is |
| Ido | io |
| Igbo | ig |
| Indonesisch | id |
| Interlingua | ia |
| Interlingue | ie |
| Inuktitut | iu |
| Inupiak | ik |
| Irisch | ga |
| Italienisch | it |
| Japanisch | ja |
| Javanisch | jv |
| Kannada | kn |
| Kanuri | kr |
| Kaschmirisch | ks |
| Kasachisch | kk |
| Kinyarwanda (Ruanda) | rw |
| Kirgisisch | ky |
| Kirundi (Rundi) | rn |
| Konkani | - (639-2/3: kok) |
| Koreanisch | ko |
| Kurdisch | ku |
| Laotisch | lo |
| Latein | la |
| Lettisch | lv |
| Limburgisch | li |
| Lingala | ln |
| Litauisch | lt |
| Mazedonisch | mk |
| Malagasy | mg |
| Malaiisch | ms |
| Malayalam | ml |
| Maltesisch | mt |
| Maori | mi |
| Marathi | mr |
| Mongolisch | mn |
| Nauruisch | na |
| Nepalesisch | ne |
| Norwegisch | no |
| Okzitanisch | oc |
| Oriya | or |
| Oromo (Afaan Oromo) | om |
| Papiamento | - (639-2/3: pap) |
| Paschtu (Pushto) | ps |
| Polnisch | pl |
| Portugiesisch | pt |
| Punjabi | pa |
| Quechua | qu |
| Rätoromanisch | rm |
| Rumänisch | ro |
| Russisch | ru |
| Samisch (Nordsamisch) | se |
| Samoanisch | sm |
| Sango | sg |
| Sanskrit | sa |
| Serbisch | sr |
| Serbokroatisch | sh (veraltet; verwenden Sie sr, hr oder bs) |
| Sesotho (Südliches Sotho) | st |
| Setswana | tn |
| Shona | sn |
| Sichuan Yi | ii |
| Sindhi | sd |
| Singhalesisch | si |
| Siswati | ss |
| Slowakisch | sk |
| Slowenisch | sl |
| Somali | so |
| Spanisch | es |
| Sundanesisch | su |
| Suaheli (Kiswahili) | sw |
| Schwedisch | sv |
| Syrisch | - (639-2/3: syr) |
| Tagalog | tl |
| Tadschikisch | tg |
| Tamazight (Zentralatlantisch) | - (639-3: tzm) |
| Tamil | ta |
| Tatarisch | tt |
| Telugu | te |
| Thailändisch | th |
| Tibetisch | bo |
| Tigrinya | ti |
| Tongaisch | to |
| Tsonga | ts |
| Türkisch | tr |
| Turkmenisch | tk |
| Twi | tw |
| Uigurisch | ug |
| Ukrainisch | uk |
| Urdu | ur |
| Usbekisch | uz |
| Venda | ve |
| Vietnamesisch | vi |
| Volapük | vo |
| Wallonisch | wa |
| Walisisch | cy |
| Wolof | wo |
| Xhosa | xh |
| Jiddisch | yi |
| Yoruba | yo |
| Zulu | zu |