Roger: sprachenweiche

Beitrag lesen

moin!

bisher hatte ich bei einer seite immer eine weiche eingebaut, die anhand der eingestellten browsersprache in das jeweilige verzeichnis verweist. allerdings hat sich diese methode als äußerst ungenau herausgestellt:

$tlang = $_SERVER['HTTP_ACCEPT_LANGUAGE'];

if (preg_match("/en/i", $tlang)) {$lang="en";}
elseif (preg_match("/fr/i", $tlang)) {$lang="fr";}
elseif (preg_match("/es/i", $tlang)) {$lang="es";}
else {$lang="de";}

header("Location: http://".$_SERVER['SERVER_NAME']."/".$lang."/");

kann ich das noch ein wenig verfeinern?
(schon allein mit dem safari, bei dem alles deutsch eingestellt wird, wird "en" gefunden. opera und mozallia hab ich nur ne englische version - hier verstehe ich ja evtl. auch, warum auch hier "en" gesetzt wird.)

ich habe da sicherlich nur einen denkfehler drin...
ich glaub es liegt daran, dass nicht die allererste angabe gesucht wird, sondern zuerst, ob en vorkommt. wenn ja, auch bei q=0.5 wird es akzeptiert...

bevor der vorschlag kommt: auf den seiten gibt es nat. auch noch zusätzlich ein link, mit dem man die sprache auswählen kann.

gruß.
roger.

--
Dein eigenes Newslettersystem auf deiner Homepage: http://newsletter.maennchen1.de