W3docs

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) oder Hant (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 fehlendes lang zu 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 hreflang auf 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:

SpracheISO-Code
Abchasischab
Afaraa
Afrikaansaf
Albanischsq
Amharischam
Arabischar
Aragonesischan
Armenischhy
Assamesischas
Aymaraay
Aserbaidschanischaz
Baschkirischba
Baskischeu
Bengalisch (Bangla)bn
Dzongkhadz
Biharibh
Bislamabi
Bosnischbs
Bretonischbr
Bulgarischbg
Burmesischmy
Weißrussischbe
Kambodschanischkm
Katalanischca
Cherokee- (639-2/3: chr)
Chewa (Chichewa)ny
Chinesischzh
Korsischco
Kroatischhr
Tschechischcs
Dänischda
Divehi (Dhivehi)dv
Niederländischnl
Edo- (639-2/3: bin)
Englischen
Esperantoeo
Estnischet
Färöischfo
Persischfa
Fidschifj
Finnischfi
Flämisch (Niederländisch, Belgien)nl (Region: nl-BE)
Französischfr
Friesisch (Westfriesisch)fy
Fula (Fulfulde)ff
Galicischgl
Gälisch (Schottisch)gd
Gälisch (Manx)gv
Georgischka
Deutschde
Griechischel
Grönländischkl
Guaranígn
Gujaratigu
Haitianisches Kreolischht
Hausaha
Hawaiisch- (639-2/3: haw)
Hebräischhe
Hindihi
Ungarischhu
Ibibio- (639-2/3: ibb)
Isländischis
Idoio
Igboig
Indonesischid
Interlinguaia
Interlingueie
Inuktitutiu
Inupiakik
Irischga
Italienischit
Japanischja
Javanischjv
Kannadakn
Kanurikr
Kaschmirischks
Kasachischkk
Kinyarwanda (Ruanda)rw
Kirgisischky
Kirundi (Rundi)rn
Konkani- (639-2/3: kok)
Koreanischko
Kurdischku
Laotischlo
Lateinla
Lettischlv
Limburgischli
Lingalaln
Litauischlt
Mazedonischmk
Malagasymg
Malaiischms
Malayalamml
Maltesischmt
Maorimi
Marathimr
Mongolischmn
Nauruischna
Nepalesischne
Norwegischno
Okzitanischoc
Oriyaor
Oromo (Afaan Oromo)om
Papiamento- (639-2/3: pap)
Paschtu (Pushto)ps
Polnischpl
Portugiesischpt
Punjabipa
Quechuaqu
Rätoromanischrm
Rumänischro
Russischru
Samisch (Nordsamisch)se
Samoanischsm
Sangosg
Sanskritsa
Serbischsr
Serbokroatischsh (veraltet; verwenden Sie sr, hr oder bs)
Sesotho (Südliches Sotho)st
Setswanatn
Shonasn
Sichuan Yiii
Sindhisd
Singhalesischsi
Siswatiss
Slowakischsk
Slowenischsl
Somaliso
Spanisches
Sundanesischsu
Suaheli (Kiswahili)sw
Schwedischsv
Syrisch- (639-2/3: syr)
Tagalogtl
Tadschikischtg
Tamazight (Zentralatlantisch)- (639-3: tzm)
Tamilta
Tatarischtt
Telugute
Thailändischth
Tibetischbo
Tigrinyati
Tongaischto
Tsongats
Türkischtr
Turkmenischtk
Twitw
Uigurischug
Ukrainischuk
Urduur
Usbekischuz
Vendave
Vietnamesischvi
Volapükvo
Wallonischwa
Walisischcy
Wolofwo
Xhosaxh
Jiddischyi
Yorubayo
Zuluzu

Übung

Übung
Welcher Wert ist ein korrekt geformtes BCP 47-Sprachtag für das lang-Attribut?
Welcher Wert ist ein korrekt geformtes BCP 47-Sprachtag für das lang-Attribut?
Was this page helpful?