Buenas,
Tienes dos formas, una por cookies y otra empleando variables de sesion. Yo hace cuatro dias me plantee el mismo problema y finalmente opte por emplear variables de sesion.
Para controlar que LINK se ha pulsado, tendras que trabajar con una variable que traspase el idioma, por ejemplo
Código PHP:
echo "<a href=\"http://www.tudominio.com/index.php?languaje=en\">English</a>";
Y para controlar el idioma seleccionado empleando sesiones puedes emplear este script:
Código PHP:
<?php
global $languaje; // variable que traspasa el valor de idioma mediante URL
session_start();
//Primero revisamos si la variable de session contiene algun valor, con el fin
//de actualizar el mismo en caso de que se haya efectuado un cambio de idioma
//En nuestro ejemplo, lang es la variable de sesion y languaje contiene el valor
//del idioma en caso de que se efectue el cambio.
if($lang==""){
if (isset($_SESSION['lang'])) {
$lang=$_SESSION['lang'];
}else{
session_register('lang');
$_SESSION['lang'] = "en";
}
}else{
//lang tiene un valor traspasado en URL por lo que actualizamos
//el valor de la variable de session
$_SESSION['lang']=$languaje;
}
//aqui podras montar la consulta a la bbdd para extraer la información de los
textos según el idioma que se haya seleccionado o el predeterminado en caso
de que la variable de sesión no contenga información.
?>
Espero que te haya servido de ayuda.
Saludos