dciwam.de / faq / verschiedenes / accept-language-und-content-negotiation

"Accept-language" und "Content Negotiation"

Wie kann man mit möglichst wenig Aufwand automatisch die für den Besucher "richtige" Sprachversion anzeigen lassen? Der Besucher kommt also auf meine Domain, und dann soll anhand der Einstellungen der "bevorzugten Sprache" des Browsers die entsprechende Sprachversion geladen werden.

Vorausgesetzt, man hat Zugriff an die Server-Funktionen wäre die einfachste und sauberste Lösung, wenn man den Webserver entsprechend konfiguriert:

Die Einstellung im Browser wird im HTTP-Header an den Server übergeben. Auf dem Server muß ein Programm laufen, das den Header Accept-Language abfragt. Für diesen Zweck gibt es verschiedene Lösungen, z.B. Java-Servlets, CGI-Skripte, PHP und Konsorten.

Einige Server wie Apache oder Lotus Domino haben eine entsprechende Funktion auch schon eingebaut und haben sie protokollkonform verfügbar.

Wie Content Negotiation z.B. unter Apache funktioniert, ist hier erklärt:
http://httpd.apache.org/docs/content-negotiation.html

Grundsätzlich ist so etwas auch für IIS mit ASP realisierbar:

HOWTO - Set the ASP Locale ID Per the Browser's Language Settings:
http://support.microsoft.com/support/kb/articles/Q229/6/90.ASP

WD2000 - Supported Language ID Reference Numbers (LCID):
http://support.microsoft.com/support/kb/articles/Q221/4/35.ASP

Beachte:
An manchen Stellen wird eine JavaScript Lösung empfohlen.

JavaScript ist jedoch dafür nicht geeignet! Navigator.language erfragt nämlich nur die Sprache des Browsers und nicht die vom Benutzer eingestellte bevorzugte Sprache. Wenn man eine US-Version von Netscape benutzt, wird man mit JavaScript auf der englischen Version der Seite landen, selbst wenn man im Browser Deutsch eingestellt hat.

Ebenso ungeeignet sind manche CGI-Scripte, die genauso die Sprache des Browsers abfragen.

Außerdem: Damit dem Besucher die freie Sprachwahl nicht abgenommen wird, sollten zusätzlich entsprechende Links zur Sprachauswahl angeboten werden.

Um auch einen Einstieg in verschiedene Sprach-Versionen über untergeordnete Seiten zu erlauben, sollten auf allen mehrsprachig vorgehaltenen Seiten Auswahlmöglichkeiten hinsichtlich der Sprache bestehen.

Huschiar Madjidi • http://www.netandmore.de

Zum Seitenanfang

URL: http://dciwam.de | Letzte Änderung: 21.05.2009 | G. Schneider | Kontakt