Accesskey n springt zur Seitennavigation. Springe zum Inhalt.

Dieses Dokument ist eine Übersetzung. Im Falle von Abweichungen oder Fehlern sollte das aktuelle englische Original als maßgeblich angenommen werden. Das W3C besitzt das Copyright am Original, wie unten beschrieben.

Übersetzer: Gunnar Bittersmann

s_gotoW3cHome Internationalisierung
 

Kennzeichnung von Text mit keiner Sprache

Zielgruppe: XML- und XHTML/HTML-Autoren (die Web-Editoren/Texteditoren oder Scripte benutzen), Script-Entwickler (PHP, JSP u.a.), Schema-Entwickler (DTDs, XML Schema, RelaxNG u.a.), und alle, die wissen möchten, wie man Inhalte mit Sprachinformation auszeichnet, wenn keine Sprache zutrifft

Frage

Welches Markup zur Sprachkennzeichnung von Inhalten in HTML oder XML verwende ich, wenn ich die Sprache nicht kenne oder der Inhalt nicht linguistisch ist?

Hintergrund

Man sollte immer die natürliche Sprache des Textes (sofern bekannt) in HTML oder einem XML-basierten Format angeben, damit Anwendungen wie Sprachbrowser, Stylesheets usw. den Text verarbeiten können. In XML-basierten Formaten verwendet man dazu das xml:lang-Attribut und in XHTML/HTML lang- und/oder xml:lang-Attribute. (Siehe Sprachangaben in XHTML und HTML zu Details der Sprachkennzeichnung in HTML.)

Man kann auch die ursprünglich gesetzte Sprache für einen anderssprachigen Teil des Dokuments überschreiben, z.B. für ein französisches Zitat in einem englischen Dokument. Dazu verwendet man dasselbe Attribut/dieselben Attribute für den betreffenden Teil des Texts.

Angenommen, man hat Text, der in keiner Sprache ist, wie bspw. Blindtexte, Artikelnummern, bildliche Darstellungen von Zahlendaten usw. Wie würde man sagen, dass dies in keiner bestimmten Sprache ist? Oder in dem Fall, wenn man den Text aus einer Datenbank holt und keine Sprachinformation zu diesem vorliegt?

Antwort

Die Antwort auf obige Frage ist zweigeteilt. Dieser Artikel verwendet in Beispielen xml:lang, was die empfohlene Art der Sprachkennzeichnung in XML-basierten Formaten ist.

Wenn der Text nicht linguistisch ist

Verwenden Sie das Sprachkürzel zxx, wenn bekannt ist, dass der Text in keiner Sprache ist.

Das betrifft solche Texte wie bspw. Blindtexte, Artikelnummern, bildliche Darstellungen von Zahlendaten usw. Die Definition von zxx im Register für Sprachkürzel ist 'no linguistic content' (kein linguistischer Inhalt).

Zum Beispiel:

<p>Hier ist eine Liste von Artikelnummern: <span xml:lang="zxx" lang="zxx">9RUI34 8XOS12 3TYY85</span>.</p>

Wenn die Sprache unbestimmt ist

Wenn das verwendete XML-Format es unterstützt, verwenden Sie xml:lang="", andernfalls xml:lang="und".

Diese Werte zeigen an, dass aus irgendeinem Grund unbestimmt ist, welches die richtige Sprachinformation wäre oder ob der Text gar nicht linguistisch ist. Verwenden Sie xml:lang="" bspw., wenn Text aus einer Datenbank in ein Dokument eingefügt wird, die Datenbank aber keine Sprachinformation bereithält und man nicht sicher sein kann, in welcher Sprache der Text ist. Dadurch wird eine Sprachinformation, die für ein Element weiter oben in der Elementhierarchie des Dokuments angegeben wurde, nicht mehr auf den eingefügten Text bezogen.

Man sollte Text jedoch nur dann als unbestimmt kennzeichnen, wenn man ihn nicht so belassen kann, wie er ist. In der Praxis heißt das, dieses xml:lang-Markup nur dann zu verwenden, wenn der unbestimmte Text in einen Kontext eingebettet ist, wo die Sprache schon angegeben wurde, oder wenn die Verwendung für das Dokument von dem verwendeten Format verlangt wird.

xml:lang="" geht nur, wenn das Schema, welches das Format des Dokuments beschreibt, einen Leerstring als Wert für xml:lang zulässt. Weil bspw. die XHTML-DTDs xml:lang so definieren, dass ein Leerstring als Wert für das xml:lang-Attribut nicht erlaubt ist, kann man den Leerstring in XHTML nicht verwenden.

Für die, die sich mit DTDs und anderen Schemas auskennen: Das xml:lang-Attribut hat NMTOKEN-Werte im HTML-Schema; diese dürfen nicht leer sein. Deklarieren Sie xml:lang in Ihrer XML-DTD möglichst als CDATA, damit ein leerer Wert erlaubt ist. Bei XML-Schema halten Sie sich an das XML-Schema für XML-Namensräume.

Schlussfolgerungen für XHTML/HTML: In XHTML und HTML verwenden Sie den Wert und um auszudrücken, dass ein im Dokument eingebetteter Text unbestimmter Natur ist, denn xml:lang="" ist (wie oben erwähnt) nicht erlaubt. In dem sehr seltenen Fall, wenn das gesamte Dokument in einer unbestimmten Sprache ist, ist es besser, die Sprache des Dokuments gar nicht anzugeben.

Dasselbe gilt für das lang-Attribut in HTML (aus demselben Grund).

Übrigens

Es gibt eine Zusammenfassung einer Diskussion in einem Thread auf www-international@w3.org und eine spätere Wiederaufnahme dieser Gedanken, wozu mehrere Leute beigetragen haben.

Martin Dürst verwies darauf, dass man das XHTML/HTML-Format innerhalb des Dokuments umdefinieren kann, um eine HTML/XHTML-Seite zu erzeugen, die trotz Verwendung von lang="" oder xml:lang="" valide ist. Das empfiehlt sich aber nicht für den allgemeinen Gebrauch, denn dadurch wäre ein Dokument nicht mehr streng konform im Sinne von XHTML 1.0.

Sagen Sie uns, was Sie denken (auf Englisch).

Abonnieren Sie unseren RSS-Feed.

Neue Ressourcen

News auf der Startseite

Twitter (News auf der Startseite)

‎@webi18n

Literaturhinweise

Autor: Richard Ishida, W3C. Übersetzer: Gunnar Bittersmann.

Valides XHTML 1.0!
Valides CSS!
Kodiert in UTF-8!

Übersetzung der englischen Version vom 2007-10-30. Letzte Änderung der übersetzten Version am 2011-06-03 18:21 UTC.

Suchen Sie nach qa-no-language im i18n-Blog, um alle Dokumentänderungen nachzuvollziehen.