non credo... non so che prove hai fatto... semplicemente io farei un controllo del tipo:
SE il parametro $_GET è settato usa questo per la lingua
ALTRIMENTI se c'è già una variabile di sessione usa quella, altrimenti usa un default, con una cosa tipo:
Poi usi "$lang" per scegliere il file...Codice PHP:// ...
$defaultlang = "it"; // lingua base
if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) $defaultlang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2); // se c'è nel browser invece uso questa
// ...
$lang = ((isset($_SESSION['lingua']))?($_SESSION['lingua']):($defaultlang)); // se c'è cià in sessione uso piuttosto questa
if (isset($_GET['lingua'])) $lang = $_GET['lingua']; // se c'è nei parametri è da preferire
// ...
$_SESSION['lingua'] = $lang; // imposto la sessione
// ...

Rispondi quotando