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:

Codice PHP:
// ...
$defaultlang "it"// lingua base
if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) $defaultlang substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 02); // 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
// ... 
Poi usi "$lang" per scegliere il file...