Mehrsprachiche Versionen von Dokumenten

Fast alle Browser unterstützen inzwischen eine Option, mit der man automatisch Dokumente in seiner gewünschten Sprache erhält.

Benennung von mehrsprachigen Dokumenten

Die Dokumente müssen natürlich ersteinmal in den unterschiedlichen Sprachen vorliegen. Dann hängt man zusätzlich eine neue Erweiterung an die Dateinamen an, die die Sprache angibt. Eine Liste der gebräuchlichen Sprachen findet man in RFC1766. Prinzipiell kann man auch diesen Suffix mit dem Dateityp vertauschen, allerdings empfiehlt es sich, die Sprache immer als letztes anzugeben.

Beispiel

Ein Dokument im HTML-Format soll sechssprachig zur Verfügung gestellt werden:

SpracheLändercodeDokumentname
deutschdeindex.html.de
englischenindex.html.en
spanischesindex.html.es
französischfrindex.html.fr
norwegischnoindex.html.no
schwedischseindex.html.se
japanischjpindex.gif.jp

Links auf mehrsprachige Dokumente

Der Zugriff auf die Dokumente erfolgt wie bisher: Entweder man verweißt direkt auf ein Dokument, indem man die vollständige URL angiebt oder nur den Teil des Namens ohne Sprachvariante. Die Erweiterung des Dateityps kann man auch weglassen und die Auswahl der Server überlassen.

Beispiel

Bezogen auf das obige Beispiel führt ein Link zu unterschiedlichen Dokumenten:

Link Mögliche Resultate
<a href="index.html.en"> Nur die englische Variante
<a href="index.html"> Alle Varianten im HTML-Format
<a href="index"> Alle Varianten in allen Sprachen und Formaten

Auswahl durch Browser und Server

Je nach dem, wie der Browser konfiguriert ist, erhält nun ein Betrachter unterschiedliche Versionen:

Beispiel

Eingestellte Sprachen Angeforderte URL Geliefertes Dokument Erklärung
- index.html index.html.de Auswahl aufgrund von LanguagePriority
- index.html.jp Fehlermeldung über nichtexistierende URL Diese Variante gibt es nicht
en index.html index.html.en Das Dokument gibt es in der geforderten Sprache
fi,no,fr index.html index.html.fr Finnisch ist unbekannt, eine norwegische Variante existiert nicht, aber die französische
it,po index Auswahlliste aller verfügbaren Varianten Es gibt weder eine italienische noch polnische Variante, die der Leser verstehen würde. Also darf er sich selber eine auswählen

Hinweis: Wenn man für eine Indexseite mehrere Versionen anbietet, sollten alle Versionen mit dem Sprachsuffix versehen sein. Wenn man weiterhin eine Datei index.html hat, werden die anderen Varianten nicht angezeigt, wenn man einen Link auf homedir/index.html oder homedir/ hat. Durch die Angabe von LanguagePriority wählt der Server automatisch einen Ersatz, falls die URL nicht existiert.

Zusätzliche Informationen

Anstatt eine Auswahl über die Dateiendungen zu machen, kann man auch für den gemeinsamen Obernamen eine Datei mit der Endung .var anlegen und darin alle Varianten auflisten. Dies hat den Vorteil, daß man weitere Informationen angeben kann und sich nicht an die Namenskonvention für Dateinamen halten muß. Eingeleitet wird jede Variante mit URI: Dateiname gefolgt von den Angaben Content-type: für den MIME-Type, Content-language: für die Sprache oder Content-encoding: für die Kodierung. Bei allen Angaben kann man mit qs=0.2 noch die Qualität angeben, die bei der Auswahl berücksichtig wird. Eine vollständige Beschreibung gibt es auf der Apache Webseite.

Beispiel

Für das index-Dokuemtn werden in index.var folgende Varianten beschrieben:

URI: index
URI: index.html.de
Content-type: text/html
Content-language: de

URI: index.txt
Content-type: text/plain; qs=0.01
Content-language: en

URI: index.html.de.gz
Content-type: text/html
Content-language: de
Content-encoding: x-gzip

Unter tmgo.free.fr gibt es ein Skript, daß den vom Browser gesendeten Accept-Language-HTTP-Headereintrag anzeigt.