hai due modi ... o usi l'ip però devi utilizzare dei servizi esterni o scaricare le associazioni paese/ip da questi servizi e gestirli in locale ... o più semplicemente nel tuo caso leggi la lingua che il browser ti richiede per i contenuti presente dentro $_SERVER['HTTP_ACCEPT_LANGUAGE']
Un esempio di firefox è
it-it,it;q=0.8,en-us;q=0.5,en;q=0.3
internet explorer 7 e 6 danno
it
opera restituisce
it-IT,it;q=0.9,en;q=0.8
Se apri il file
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html
e scendi al paragrafo 14.4 c'è spiegato come funziona l'header Accept Language, che è quello dentro la variabile di sopra!
Nel tuo caso, comunque, ti basta fare un semplice
Considera che un utente italiano difficilmente tiene il browser settato in un altra lingua, però non puoi averne la matematica certezzacodice:list($language) = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']); $language = strtolower($language); if ($language == 'it' || $language == 'it-it') { echo 'Utente italiano!'; }
Alternativamente se ti serve maggiore sicurezza devi usare
http://www.maxmind.com/app/geolitecountry