Lo puoi fare in base alla lingua del browser.
Prima estrapoli la lingua e poi fai un redirect alla pagina che ti cambia la lingua:
Se ti da l'errore header already sent dimmelo, ma puoi trovare la soluzione su decide di post in questo forum.Codice PHP:
$lingua = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
if (substr($lingua, 0, 2) == 'it') {
header("location:lingua.php?lingua=it");
}else if (substr($lang, 0, 2) == 'en') {
header("location:lingua.php?lingua=en");
}