Die folgenden Tips fassen Schlüsselkonzepte für internationales Webdesign zusammen. Diese Tips entsprechen nicht vollständigen Richtlinien, sondern vielmehr einem Teil der Konzepte, die auf der Website der W3C-Internationalisierungsaktivität beschrieben werden.
Dieses Dokument führt die Tips in sehr knappen Auszügen auf. Es wird auf weiterführende Informationen auf der W3C-Internationalisierungssite verlinkt. Die Tips sind auch auf visitenkartengroßen Referenzkarten verfügbar, begleitet von weiteren Details und Erläuterungen.
Die von Ihnen gewählte Zeichenkodierung bestimmt, wie Bytes Zeichen in Ihrem Text zugeordnet werden.
Normalerweise beschränken Zeichenkodierungen (Character Encodings) Sie auf eine bestimmte Schrift oder eine bestimmte Reihe von Sprachen. Unicode erlaubt Ihnen, mit fast allen Schriften und Sprachen der Welt umzugehen. Unicode vereinfacht somit die Handhabung von Inhalten in mehreren Sprachen, ob auf einer einzelnen Seite oder innerhalb einer oder mehrerer Sites. Unicode ist besonders nützlich, wenn es in Formularen, Skripten und Datenbanken gebraucht wird, da man in diesen häufig mehrere Sprachen unterstützen muss. Unicode macht es Ihnen einfach, zusätzliche Sprachen in Inhalten zu gebrauchen.
Solange Sie nicht in geeigneter Form angeben, welche Zeichenkodierung Sie benutzen, kann es sein, dass Benutzer Ihre Inhalte nicht lesen können. Das liegt daran, dass von der Anwendung, die Ihren Text interpretiert, falsche Annahmen getroffen werden könnten, wie Bytes Zeichen zugeordnet werden sollen.
Escape-Zeichen wie numerische Zeichenreferenzen (»Numeric Character References«, NCRs) und Entitätsreferenzen stellen Methoden dar, um jedes Unicode-Zeichen im Markup nur mittels ASCII-Zeichen abzubilden. So können sie beispielsweise das Zeichen »á« in (X)HTML als »á«, »á« oder »á« darstellen.
Derartige Escape-Zeichen sind nützlich, um mehrdeutige oder unsichtbare Zeichen wiederzugeben, und um Probleme mit Syntaxzeichen wie Kaufmanns-Unds und spitzen Klammern zu vermeiden. Sie können außerdem gelegentlich hilfreich sein, um Zeichen darzustellen, die nicht von der von Ihnen verwendeten Zeichenkodierung unterstützt werden oder auf Ihrer Tastatur nicht verfügbar sind. Ansonsten sollten Sie »echte« Zeichen immer Escapes vorziehen.
Informationen über die (menschliche) Sprache von Inhalten ist wichtig für Zugänglichkeit, Darstellung, Suchen, Bearbeiten und aus weiteren Gründen. Während mehr und mehr Inhalte getaggt und dabei auch richtig getaggt werden, werden Anwendungen, die Sprachdaten ermitteln können, nützlicher und populärer.
Wenn Sie Sprachen deklarieren, müssen Sie Informationen zu einem bestimmten Teil der Inhalte möglicherweise anders als Metadaten zum gesamten Dokument angeben. Es ist wichtig, diese Unterscheidung zu verstehen.
Es entspricht einem wichtigen Webdesign-Prinzip (Anmerkung des Übersetzers: das die Wartung vereinfacht), das Styling und die Darstellung von Inhalten getrennt von den tatsächlichen Inhalten zu halten. Dies macht es einfacher, dieselben Inhalte andersartig darzustellen, um diese zum Beispiel in einem konventionellen Browser wie auch auf einem mobilen Endgerät anzuzeigen.
Das Prinzip ist besonders wichtig für Lokalisierung, da Schriften unterschiedliche typographische Bedürfnisse haben können. So kann es dank der Komplexität von japanischen Schriftzeichen zum Beispiel wünschenswert sein, Betonung auf japanischen (X)HTML-Seiten in anderer Form darzustellen als durch Fetten oder Schrägstellen. Es ist wesentlich einfacher, solche Anpassungen vorzunehmen, wenn die Darstellung über CSS beschrieben wird, und Markup ist viel sauberer und wartbarer, wenn Text korrekterweise und unzweideutig eher als »betont« denn als »fett« gekennzeichnet wird.
Nicht nur während Lokalisierungsarbeiten kann die Wartung von CSS anstelle von Markup erheblich viel Aufwand und Zeit einsparen, da Anpassungen für alle Seiten an einem einzelnen Ort vorgenommen werden, und sich Übersetzer auf die Inhalte, nicht die Darstellung konzentrieren können.
Wenn Sie wünschen, dass Ihre Inhalte wirklich mit Menschen kommunizieren, müssen Sie ihre Sprache sprechen, nicht nur durch den Text, sondern auch durch lokales Bildmaterial, Farben, Objekte und »kulturelle Voreingenommenheit«. Es ist leicht, die kulturspezifische Natur von Symbolen, Verhalten, Konzepten, Körpersprache, Humor etc. zu übersehen. Sie sollten sich um Rückmeldung von Nutzern, die in den entsprechenden Ländern wohnen, zur Angemessenheit und Relevanz Ihrer Bilder, Videos und Beispiele bemühen.
Sie sollten außerdem Vorsicht walten lassen, wenn Text in Grafiken eingebunden wird, aber Inhalte übersetzt werden sollen. Text auf komplexen Hintergrundbildern oder mit eingeschränktem Platzangebot kann Übersetzern beachtliche Probleme bereiten. Sie sollten dem Lokalisierungsteam deshalb Grafiken liefern, die Text auf einer separaten Ebene (Layer) definieren, und Sie sollten im Hinterkopf behalten, dass sich Text in Sprachen wie Englisch oder Chinesisch nach Übersetzungen fast immer ausdehnt, also länger wird.
Die Zeichenkodierung, die auf einer HTML-Seite benutzt wird, die ein Formular beinhaltet, sollte alle Zeichen unterstützen, die benötigt werden, um Daten in das Formular einzugeben. Dies ist besonders wichtig, wenn Benutzer wahrscheinlich sogar Informationen in mehreren Sprachen eingeben.
Datenbanken und Skripte, die Daten von Formularen empfangen, die auf mehrsprachigen Seiten eingebunden sind, müssen gleichzeitig außerdem alle Zeichen der betroffenen Sprachen unterstützen.
Die einfachste Art, dies zu ermöglichen, ist, Unicode sowohl für die Seiten, die die Formulare beinhalten, als auch sämtliche Backend-Verarbeitung und -Speicherung zu verwenden. In solch einem Szenario kann der Benutzer Daten in jeder Sprache und Schrift eingeben, die er möchte.
Sie sollten dazu vermeiden, anzunehmen, dass Name und Adresse des Benutzers unbedingt demselben Format folgen wie Ihrem. Fragen Sie sich, wieviele Details Sie wirklich benötigen, um Adressen in mehrere Felder zu zerlegen. Behalten Sie im Hinterkopf, dass es in manchen Kulturkreisen keine Straßennamen gibt, dass in anderen die Hausnummer der Straße vorangeht, dass manche Menschen mehr als eine Zeile benötigen, um den der Stadt vorangehenden Teil auszufüllen etc. Tatsächlich orientiert sich die Adresse für manche Orte vom Allgemeinen zum Speziellen, was eine andere Layout-Strategie impliziert. Seien Sie vorsichtig damit, fehlerhafte Annahmen zu Vorwahlen oder der Länge von Telefonnummern in Validierungsroutinen zu integrieren. Seien Sie sich darüber im Klaren, dass sorgfältige Beschriftung für die Eingabe von numerischen Daten notwendig ist, da es unterschiedliche Konventionen dazu gibt, Tage, Monate oder Jahre zu ordnen.
Wenn Sie Informationen von Menschen aus mehr als einem Land sammeln, ist es wichtig, eine Strategie zu entwickeln, um die verschiedenen Formate zu berücksichtigen, die Menschen erwarten, benutzen zu können. Dies ist nicht nur für das Design der Formulare wichtig, die Sie entwerfen, sondern hat auch Einfluss darauf, wie Sie derartige Informationen in Datenbanken speichern.
Einfacher, knapper Text ist einfacher zu übersetzen. Für Menschen, die eine andere Muttersprache haben, ist er außerdem einfacher zu lesen.
Sie sollten sich besondere Mühe geben, wenn Sie Nachrichten aus mehreren Zeichenketten zusammenstellen oder Variablentexte in Zeichenketten einfügen. Nehmen Sie zum Beispiel an, dass Ihre Website JSP-Scripting verwendet, und Sie sich dazu entschließen, bestimmte Nachrichten »on the fly« zusammenzustellen. Sie mögen beispielsweise Nachrichten erzeugen, indem Sie separate Unterzeichenketten konkatenieren, wie »Nur«, »Keine«, »Ergebnisse in«, »irgendeinem Format«, »HTML« oder »anzeigen«. Da die Reihenfolge von Text in Sätzen in anderen Sprachen unterschiedlich sein kann, können entsprechende Übersetzungen einige Schwierigkeiten bereiten.
Es ist ähnlich wichtig, zu vermeiden, dass die Position von Variablen in Texten wie »Seite 1 von 10« fixiert wird. Die Syntax anderer Sprachen kann erfordern, dass die Anordnung geändert wird, um Sinn zu ergeben. Wenn Sie PHP verwenden, kann dies eine formatierende Zeichenkette à la Seite %1\$d von %2\$d
anstatt einem einfachen Seite %d von %d
bedeuten. Letzteres kann in manchen Sprachen unübersetzbar sein.
Wenn Sie über Versionen einer einzelnen Seite oder gar einer Website für eine andere Sprache, ein anderes Land oder eine andere Region verfügen, sollten Sie dem Nutzer einen Weg bieten, die Version zu benutzen, die er bevorzugt. Diese Möglichkeit sollte auf jeder Seite bestehen, für die es eine lokalisierte Alternative gibt.
Wenn Sie Links zu Seiten in anderen Sprachen bieten, sollten Sie den Namen der Zielsprache in Sprache und Schrift der Zielsprache anbieten. Gehen Sie nicht davon aus, dass der Benutzer Deutsch lesen kann. Im Falle eines Links zu einer französischen Seite sollte anstatt »Französisch« »Français« geschrieben werden. Dies trifft ebenfalls zu, wenn Sie den Benutzer zu einer landes- oder regionsspezifischen Seite oder Site führen, so wäre »Italia« »Italien« vorzuziehen.
dir="rtl"
auf dem html
-Start-Tag in HTML. Verwenden Sie das dir
-Attribut nur dann erneut, wenn Sie die Textgrundausrichtung ändern.Text in Sprachen wie Arabisch, Hebräisch, Persisch und Urdu wird von rechts nach links gelesen. Diese Leserichtung führt typischerweise zu rechtsbündigem Text und Spiegelung von Seiten- und Tabellenlayout. Sie können die Standardausrichtung und Anordnung von Seiteninhalten auf rechts nach links (RTL) umstellen, indem Sie einfach dir="rtl"
auf dem html
-Start-Tag verwenden.
Die Textausrichtung, die auf dem html
-Element definiert wird, bestimmt die Grundausrichtung des Dokuments, die sich auf alle Elemente bezieht. Es ist nicht notwendig, das Attribut auf Elementen zu wiederholen, die auf einer niedrigeren Ebene folgen, solange Sie die Ausrichtung nicht ausdrücklich ändern wollen.
Eingeschlossener Text in zum Beispiel lateinischer Schrift läuft innerhalb des von rechts nach links laufenden Textflusses ebenso wie Zahlen immer noch von links nach rechts. Wenn Sie mit von rechts nach links laufenden Sprachen arbeiten, sollten Sie sich mit den Grundlagen des Unicode-Bidirektionalitätsalgorithmus vertraut machen. Dieser Algorithmus kümmert sich um bidirektionalen Text, ohne Intervention vom Autor zu verlangen. Unter bestimmten Umständen kann es jedoch erforderlich sein, dass Markup oder Unicode-Steuerzeichen benötigt werden, um den richtigen Effekt sicherzustellen.
Es wurde kürzlich eine Seite für Einsteiger veröffentlicht, die dabei helfen soll, Informationen auf dieser W3C-Website zu finden. Die Seite verweist auf eine Reihe von Artikeln, die Neueinsteigern Einführungen in die wichtigsten Internationalisierungsthemen bieten.