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.