Moin!
der webauftritt ist in asp und das abfangen der sprache mittels ip-adresse ist in unserem 4-sprachigen lände (schweiz) leider nicht so einfach...
es müsste irgendwie ein "einfaches" javascript sein, welches checkt, welche sprache der user in seinem browser defniert hat..
Nein, es muß ein einfaches ASP sein, welches die bevorzugte Sprache des Besuchers entdeckt und entsprechend weiterleitet.
Folgendes ASP-Skript funktioniert als weiterleitende Startseite ganz wunderbar:
---schnipp---
<%@ EnableSessionState=False %>
<%
Response.Buffer=TRUE ' Buffer the output to prevent the session cookie to be sent
languages = split(Request.ServerVariables("HTTP_ACCEPT_LANGUAGE"),",")
i=0
do while i <= ubound(languages) and sellang = ""
select case languages(i)
case "de"
sellang = "de"
case "en"
sellang = "en"
' Insert new language versions here
end select
i = i + 1
loop
if sellang = "" then
sellang = "de"
end if
Response.Redirect("http://" & Request.ServerVariables("HTTP_HOST") & "/" & sellang & "/")
%>
---schnapp---
Anstelle des Response.Redirects kannst du natürlich auch beliebigen anderen Code ausgeben, um den Besucher weiterzuleiten.
Und noch eine Anmerkung: Das Parsen von "HTTP_ACCEPT_LANGUAGE" ist hier recht simpel ausgeführt und geht davon aus, dass die bevorzugtere Sprache von zweien zuerst im String vorkommt. Und dass außerdem Sprachangaben nur zwei Buchstaben enthalten.
Beide Annahmen sind falsch. Ein korrektes Parsing dieses Strings in PHP hat Christian Seiler geschrieben: http://aktuell.de.selfhtml.org/tippstricks/php/httpsprache/index.htm. Ich hatte zum Zeitpunkt des Programmierens des obigen Skriptes nur keine Zeit, das alles so explizit einzubauen. Besucher, die eine etwas seltsamere Sprachwunsch-Einstellung haben, werden also unter Umständen auf eine weniger bevorzugte Sprache oder gar auf die definierte Standardsprache weitergeleitet.
Solange man von dort aber ohne Probleme eine manuelle Sprachwahl treffen kann, ist das in meinen Augen zu verschmerzen.
- Sven Rautenberg