Die Internationalisierung (auch I18n genannt, abgekürzt vom englischen Internationalization) von Webseiten ist in den letzten Jahren stark vorangeschritten. Unternehmen und Organisationen wollen mit einem mehrsprachigen Onlineangebot eine größere Reichweite erzielen.
Im Gegensatz zur Lokalisierung (auch L10n genannt), die sich mit der genauen Anpassung einer Website an lokale und regionale Gegebenheiten beschäftigt, ist die Internationalisierung sehr viel technischerer Natur. In diesem Artikel gebe ich wertvolle Ratschläge und Hinweise worauf man bei der I18n seiner Websites und Produkte achten sollte.
Zeichenkodierung
Eine sehr naheliegende und ebenso wichtige Grundvoraussetzung für eine mehrsprachige Seite ist die Zeichenkodierung. Diese sollte zum einen auf allen verwendeten Systemen, dazu gehören die Serversoftware, Datenbanken, Skriptsprachen, Mailserver, Frameworks, etc gleich sein und zum anderen möglichst alle Zeichen abbilden können. Sehr geeignet für die Zeichenkodierung ist Unicode. Dieser ist bei den meisten Services und Programmumgebungen bereits Standard oder zumindest einstellbar und kann die Zeichen der aller meisten Sprachen abbilden.
Wo immer möglich sollte die Zeichenkodierung auch angegeben werden. Damit wird sichergestellt, dass Besucher ihrer Website die einen anderen Standardzeichensatz eingestellt haben, trotzdem die korrekten Zeichen angezeigt bekommt.
Keine Escape-Zeichen verwenden
Nachdem die Zeichenkodierung festgelegt ist, sollte der Text von Escape-Zeichen befreit werden. Escape-Zeichen sind eine Möglichkeit Unicode-Zeichen in Markup-Sprachen nur mittels ASCII-Zeichen abzubilden.
Wenn es nicht vollständig möglich ist alle Escape-Zeichen zu entfernen, sollte versucht werden sie auf ein Minimum zu beschränken. Ein deutscher Umlaut beispielsweise sollte immer mit dem eigentlichen Zeichen (ä, ö, ü, ß, usw.) angegeben werden und nicht etwa mit “ä”, “ö”, “ü” usw. Dies hat zwei Gründe: Es spart Zeichen und somit Speicherplatz und, der sehr viel entscheidenere Grund ist, dass es sich leichter lesen und somit auch übersetzen läßt wenn keine Escape-Zeichen im Text vorhanden sind.
Darstellung und Inhalt trennen
Wenn die zu internationalisierende Webseite nicht sowieso schon eine strikte Trennung von Design und Inhalt vorsieht, ist es spätestens jetzt an der Zeit diese vorzunehmen. Es vereinfacht nicht nur die Wartung sondern es ist auch eines der wichtigsten Prinzipien in der Web- und Softwareentwicklung.
Es ist darauf zu achten, dass die Darstellung durch eine Übersetzung des Inhalts nicht beinträchtigt wird. Manche Sprachen haben eine sehr viel längere durchschnittliche Wortlänge als beispielsweise Englisch. Es sollte daher ausreichend Platz für Text eingerechnet werden, damit eventuell lange Wörter ein Design nicht zerstören können. Eine Ausweitung des Platzbedarfs auf zum Beispiel 300% kann nötig werden. Einen einleitenden Überblick, wie sich die Länge von Texten bei der Übersetzung verhalten kann, gibt dieser Artikel.
Grafiken, Bilder, Flash und Co.
Inhalte wie Grafiken, Bilder und Flash-Skripte sollten wenn möglich keinen Text beinhalten. Diese Formate lassen sich schwierig übersetzen. Wenn eine Grafik mit einem Text oder eine Beschreibung versehen werden soll, ist dies auch mit CSS leicht möglich. Der mit CSS über eine Abbildung gelegte Text kann dann ebenso wie Fließtext von einem Übersetzer bearbeitet werden. Netter Nebeneffekt: Suchmaschinen können den Text dann leichter indizieren.
Bei der Wahl von Grafiken und Icons ist darauf zu achten, dass diese international verstanden werden können. Sie dürfen nicht “kulturell voreingenommen” sein. In Deutschland ist zum Beispiel ein Häkchen ein gutes Symbol als Ausdruck für “ja”, “richtig”, “gut” oder “erledigt” während in Japan dafür ein Kreis verwendet wird.
Formulare
Für Formulare und die Formulareingabe müssen mehrere wichtige Dinge beachtet werden.
Aufbau von Formularen
Formulare sollten so aufgebaut sein, dass sie international verstanden werden können. Da sich dies sehr schwierig gestalten kann, da es zum Beispiel in Deutschland üblich ist erst den Vornamen und dann den Nachnamen abzufragen ist dies in anderen Ländern durchaus andersrum. In manchen Kulturkreisen gibt es auch Zwischennamen und Ähnliches was beachtet werden muss. Gleiches gilt für Adressfelder. Festzulegen wie die für einzelne Regionen auszusehen haben ist streng genommen nicht Teil der I18n sondern der L10n, sollte aber umbedingt bedacht werden.
Zeichenkodierung von Formularen
Natürlich sollen auch in Formularen die für die Sprache üblichen Zeichen eingetragen werden können. Bei der Wahl der Zeichenkodierung sei daher nochmal auf den 1. Punkt hingewiesen.
Formulardaten
Eingegebene Formulardaten von Benutzern sollten aus Sicherheitsgründen immer streng überprüft werden. Wird beispielsweise bei der Eingabe eines Namens mittels eines Stringpatterns überprüft ob ein Name nur aus Buchstaben besteht, wird es zu Problemen kommen wenn ein russischer User seinen Namen mit dem kyrillischen Alphabet eingeben möchte.
Das war der erste Teil über Internationalisierung. Alles was sonst noch wichtig ist, kann man im 2. Teil nachlesen, der bald erscheinen wird.