mhh non credo di aver capito qual'è il problema.. io di solito faccio così:
in tutte le pagine all'inizio metto un controllo del tipo "se è settato il parametro "lang" sull'url aggiorna la lingua corrente e quindi carica il dizionario giusto, altrimenti usa la lingua che è stata salvata in $_SESSION['lang']"
se ho caricato pagine o contenuti che devono essere "ricordati" per evitare di rifare tutto salvo in SESSION oppure cerco di sistemare la cosa per riottenere gli stessi risultati con qualche parametro GET.. questo ovviamente dipende da quello che devi fare..
se ho capito bene però la tua paura è che dopo aver caricato delle pagine l'utente voglia cambiar lingua.. beh partendo dal presupposto che è difficile che qualcuno cominci 1 operazione in una lingua e poi la cambi (di solito lo fa all'inizio), se decide di cambiare a metà strada gli sta bene di ricominciare da capo![]()
scherzi a parte, la soluzione che uso io è quella di indirizzare il bottoncino di selezione lingua alla pagina corrente, semplicemente aggiungendo il paramentro "lang" sull'url.. situazioni più delicate devono essere affrontate nel dettaglio..![]()