Was ist der Unterschied zwischen <html lang = "en"> und <html lang = "en-US">?


106

Was ist der Unterschied zwischen <html lang="en">und <html lang="en-US">? Welche anderen Werte können dem Bindestrich folgen?

Laut w3.org "Jeder aus zwei Buchstaben bestehende Subcode wird als [ISO3166] -Ländercode verstanden." Bedeutet das also, dass jeder unter dem Alpha-2-Code aufgeführte Wert ein akzeptierter Wert ist?



1
Interessieren Sie sich für Unterschiede zwischen Browsern oder der Theorie (Spezifikation)?
Aprillion

@deathApril beide. Ich meine, hilft das dem Browser irgendwie weiter, die Seite anzuzeigen?
Celeritas

Antworten:


130

<html lang="en">
<html lang="en-US">

Das erste langTag gibt nur einen Sprachcode an. Der zweite gibt einen Sprachcode an, gefolgt von einem Ländercode.

Welche anderen Werte können dem Bindestrich folgen? Laut w3.org "Jeder aus zwei Buchstaben bestehende Subcode wird als [ISO3166] -Ländercode verstanden." Bedeutet das also, dass jeder unter dem Alpha-2-Code aufgeführte Wert ein akzeptierter Wert ist?

Ja, der Wert kann jedoch eine echte Bedeutung haben oder auch nicht.

<html lang="en-US">bedeutet im Wesentlichen "diese Seite ist im US-amerikanischen Englischstil." In ähnlicher Weise <html lang="en-GB">würde dies bedeuten, dass "diese Seite im englischen Stil des Vereinigten Königreichs ist".

Wenn Sie wirklich eine ungültige Kombination angeben möchten, können Sie dies tun. Es würde nicht viel bedeuten, <html lang="en-ES">ist aber gemäß der Spezifikation gültig, so wie ich es verstehe. Diese Kombination aus Sprache und Land wird jedoch nicht viel bewirken, da Englisch in Spanien nicht häufig gesprochen wird.

Ich meine, hilft das dem Browser irgendwie weiter, die Seite anzuzeigen?

Es hilft dem Browser nicht, die Seite anzuzeigen, aber es ist nützlich für Suchmaschinen, Bildschirmleser und andere Dinge, die die Seite lesen und versuchen könnten, außer Menschen.


31
FWIW, die offiziellen Sprachen Ugandas sind eigentlich Englisch und Suaheli.
Muhammad Alkarouri

34
Ha, guter Punkt. Wie amerikanisch von mir. :( Ich habe das Beispiel auf Spanien aktualisiert und diesmal ein wenig gearbeitet, um sicherzustellen, dass Englisch auch dort keine offizielle Sprache ist. Danke für den Tipp.
Jeremy Wiggins

@JeremyWiggins, über Ihre letzten 2 Zeilen in Ihrer Antwort, beginnend mit "Es hilft dem Browser nicht ...". Was wäre, wenn die Website international (internationalisiert) wäre, das Setzen des Sprach-Tags weiterhin erforderlich?
Yustme

4
In Bezug auf die letzten beiden Zeilen: Wenn die Seite eine Silbentrennung aus CSS ( hyphens: auto) verwendet, ist ein langAttribut erforderlich, damit der Browser die richtigen Regeln auswählen kann.
RobertT

1
Spracheinstellungen für Suchmaschinen oder Bildschirmleser werden nicht nur mit den richtigen Spracheinstellungen unterstützt, sondern es gibt auch einen typografischen Effekt. Zum Beispiel werden einfache Anführungszeichen <q> </ q> nur mit den richtigen Spracheinstellungen richtig interpretiert, die sich beispielsweise zwischen de-DE, de-CH, fr und fr-CH unterscheiden.
Theking2

8

Sie können jeden Ländercode verwenden, ja, aber das bedeutet nicht, dass ein Browser oder eine andere Software ihn erkennt oder etwas anderes tut. Beispielsweise könnte ein Bildschirmleser mit "en-US" und "en-GB" gleich umgehen, wenn er nur einen amerikanischen Akzent auf Englisch unterstützt. Eine andere Software mit zwei unterschiedlichen Stimmen kann jedoch je nach Ländercode angepasst werden.


Der Link ist tot. Wenn Sie einen Ersatz finden, markieren Sie diesen bitte für die Löschung
Taryn

5

Dies sollte helfen: http://www.w3.org/International/articles/language-tags/

Die goldene Regel beim Erstellen von Sprach-Tags lautet, das Tag so kurz wie möglich zu halten. Vermeiden Sie Regionen, Skripte oder andere Untertags, es sei denn, sie fügen nützliche Unterscheidungsinformationen hinzu. Verwenden Sie beispielsweise ja für Japanisch und nicht ja-JP, es sei denn, es gibt einen bestimmten Grund, warum Sie sagen müssen, dass dies Japanisch ist, wie es in Japan gesprochen wird, und nicht anderswo.

Die folgende Liste zeigt die verschiedenen Arten von Subtags, die verfügbar sind. Wir werden uns durch diese arbeiten und wie sie in den folgenden Abschnitten verwendet werden.

Sprache-Extlang-Skript-Region-Variante-Erweiterung-Privateuse


1
Einige Softwareanwendungen verwenden standardmäßig die US-Rechtschreibung und -Lokalisierung, wenn allgemeine englische Optionen ausgewählt sind, z. B. Windows für das englische Sprachpaket. technet.microsoft.com/en-us/library/cc766191(v=ws.10).aspx Windows hat (nicht hilfreich) ein einziges Sprachpaket für einige Länder, die mehrere Sprachen sprechen, wie die Niederlande (Niederländisch, nicht Französisch) und vier für Spanien (Katalanisch, Galizisch, Baskisch, Spanisch). Belgien erhält Null, möglicherweise weil die mehreren Landessprachen in anderen Ländern beide Mehrheitssprachen sind.
Mousey

2

RFC 3066 enthält die Details der zulässigen Werte (Hervorhebung und Links hinzugefügt):

Alle 2-Buchstaben-Untertags werden als ISO 3166 Alpha-2-Ländercodes aus [ISO 3166] interpretiert oder anschließend von der ISO 3166-Wartungsagentur oder den zuständigen Normungsgremien zugewiesen, wobei der Bereich angegeben wird, auf den sich diese Sprachvariante bezieht.

Ich interpretiere das so, dass jeder gültige (gemäß ISO 3166) 2-Buchstaben-Code als Untertag gültig ist. Der RFC fährt fort:

Tags mit zweiten Untertags mit 3 bis 8 Buchstaben können gemäß den Regeln in Kapitel 5 dieses Dokuments bei IANA registriert werden.

Das sieht übrigens wie ein Tippfehler aus, da sich Kapitel 3 auf den Registrierungsprozess zu beziehen scheint, nicht auf Kapitel 5.

Eine schnelle Suche nach der IANA-Registrierung zeigt eine sehr lange Liste aller verfügbaren Sprachuntertags. Hier ist ein Beispiel aus der Liste (das als verwendet werden würde en-scouse):

Typ: Variante

Subtag: scouse

Beschreibung: Scouse

Hinzugefügt: 2006-09-18

Präfix: en

Kommentare: Englischer Liverpudlianischer Dialekt, bekannt als 'Scouse'

Es sind alle Arten von Untertags verfügbar. Eine schnelle Schriftrolle hat bereits gezeigt fr-1694acad(Französisch des 17. Jahrhunderts).


Die Nützlichkeit einiger dieser (ich würde sagen die überwiegende Mehrheit dieser) Tags für Dokumente, die für die Anzeige im Browser entwickelt wurden, ist begrenzt. In der W3C-Internationalisierungsspezifikation heißt es einfach:

Browser und andere Anwendungen können Informationen über die Sprache des Inhalts verwenden, um den Benutzern die am besten geeigneten Informationen bereitzustellen oder den Benutzern die Informationen auf die am besten geeignete Weise zu präsentieren. Je mehr Inhalte korrekt markiert und markiert werden, desto nützlicher und umfassender werden solche Anwendungen.

Ich habe Probleme, detaillierte Informationen darüber zu finden, wie sich Browser verhalten, wenn sie auf verschiedene Sprach-Tags stoßen, aber sie werden höchstwahrscheinlich den Benutzern, die einen Bildschirmleser verwenden, einen Vorteil bieten, der das Tag zur Bestimmung der Sprache / des Dialekts / des Akzents verwenden kann in dem der Inhalt zu präsentieren.


0

Für das XML-Schema muss der XML-Namespace deklariert und importiert werden, bevor xml: lang (und andere XML-Namespace-Werte) verwendet werden. RELAX NG deklariert den XML-Namespace wie in XML, sodass keine zusätzliche Deklaration erforderlich ist.


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.