Abfragen der Browsersprache

Hallo =)

aalso, ich hab folgendes problem.
ich würd gern auf einer art startseite automatisch die browsersprache abfragen lassen (englisch bzw. deutsch) um dann auf die entsprechende seite weiterzuleiten.
weiß jemand den code, mit dem ich die browsersprache abfragen kann?
(bei nicht eingestellter sprache, würd ich einfach auf englisch weiterleiten)

… dass das mit if-else geht, weiß ich schon :wink: aber wie das mit der browsersprache geht … @.@
bitte helft mir

liebe grüße
Kati

Der Browser übergibt bei jeder Abfrage einen Header.
Dieser Enthält das Atribut „Accept-Language“
Ich habe meinen Browser mal so eingestellt:
Primäsprache: Deutsch, dann Englisch, Franz. Finnisch

Die Ausgabe sieht dann so aus: de,en;q=0.9,fr;q=0.8,fi;q=0.7.

Man sieht die Angeben sind mit Komma oder mit Semikolon getrennt:
Also $lng=replace(",",";",$lng);
und dann $lngArr=split(",",$lng);
Dann per Schleife das Array durchgehen bis Englisch oder Deutsch kommt.
Break nicht vergessen!!! Sonst überschreibst du deine Eonstellung.

Achtung: Es gibt mehre deutschspragie Länder. Zum Beispiel Östereich, hier wird je nach Browser „de_AT“ statt „de“ übergeben. (Bei englisch geht das natürlich auch(en_UK,en_US,…))

Also am besten in deiner Schleife preg_match("^.*de.*$",$lngArr[$i]) testen(statt nur auf „de“).

Hallo Katrin

ich würd gern auf einer art startseite automatisch die
browsersprache abfragen lassen (englisch bzw. deutsch) um dann
auf die entsprechende seite weiterzuleiten.

darf es auch eine htaccess-Lösung sein?

Falls du (bzw dein Hoster) über einen Apache-Server verfügst und entsprechende htaccess-Module aktiviert ist, kannst du diese Arbeit dem Server überlassen.

Beispiel:

URI: index; vary=„type,language“

URI: deutsch.htm
Content-type: text/html; qs=1.0
Content-language: de

URI: english.htm
Content-type: text/html; qs=0.8
Content-language: en

Eine ausführliche Erklärung findest du hier:
http://de.selfhtml.org/servercgi/server/htaccess.htm
(recht weit unten, suche nach „Beispieldatei index.var“

Grüße, Hagen