1) è praticamente la stessa cosa, fa come preferisci
2) certo, ma può essere complicato: nella prima pagina a cui accede chi va sul tuo sito (suppongo index.php), con la variabile $_SERVER['REMOTE_ADDR'] leggi l'indirizzo IP dell'utente, poi dovrai risalire alla località da cui si collega tramite un IP Tracer.
Il mio consiglio è invece di controllare la variabile $_SERVER['HTTP_ACCEPT_LANGUAGE'] in questo modo
Codice PHP:
$lang = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
if (substr($lang, 0, 2) == ‘it’) {
header("Location: /it/index.php"); //supponendo che usi sottocartelle
}
if (substr($lang, 0, 2) == ‘en’) {
header("Location: /en/index.php");
}
//e così via per le altre lingue
Edit: sono arrivato secondo