Allora per riconoscere la lingua solitamente se procede identificando la linga specifica del browser passata nello user-agent :
Codice PHP:
echo $_SERVER['HTTP_USER_AGENT'] . "\n\n";
echo $_SERVER["HTTP_ACCEPT_LANGUAGE"];
/*
produce un output simile a :
Mozilla/5.0 (Windows; U; Windows NT 6.0; it; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 (.NET CLR 3.5.30729)
it-it,it;q=0.8,en-us;q=0.5,en;q=0.3
*/
Quindi puoi esplodere gli accepted languages e controllare che nello user agent sia presente.
Senno controlli semplicemente lo user agent te vedi in che lingua e' settato il browser dell'utente.
Io lo farei con una regexp e degli explode tipo :
Codice PHP:
echo "<pre>";
echo $_SERVER['HTTP_USER_AGENT'] . "\n\n";
echo $_SERVER["HTTP_ACCEPT_LANGUAGE"];
echo "<hr>";
$arr = array();
$ris = preg_match('/\\((.*)\\) /' , $_SERVER['HTTP_USER_AGENT'] , $arr );
$tks = explode( ";" , $arr[1] );
echo "\nUSER LANG =".$tks[3];
echo"</pre>";
O comunque una cosa simile e recuperi il codice iso della nazionalita'.
Ovviamente non ho inserito i vari controlli etc ma quello spetta a te.