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?
Antworten:
Das erste
lang
Tag gibt nur einen Sprachcode an. Der zweite gibt einen Sprachcode an, gefolgt von einem Ländercode.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.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.
quelle
hyphens: auto
) verwendet, ist einlang
Attribut erforderlich, damit der Browser die richtigen Regeln auswählen kann.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.
quelle
Dies sollte helfen: http://www.w3.org/International/articles/language-tags/
quelle
RFC 3066 enthält die Details der zulässigen Werte (Hervorhebung und Links hinzugefügt):
Ich interpretiere das so, dass jeder gültige (gemäß ISO 3166) 2-Buchstaben-Code als Untertag gültig ist. Der RFC fährt fort:
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
):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:
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.
quelle
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.
quelle
Nun, die erste Frage ist einfach. Es gibt viele
en
s (Engländer), aber (meistens) nur ein US-Englisch. Man würde vermuten , es gibten-CN
,en-GB
,en-AU
. Ich schätze, es gibt vielleicht sogar österreichisches Englisch, aber das ist mehr, als Sie können.quelle