Bueno, creo que la logica seria:
Código PHP:
Ver originalif(isset($_GET['lang'])) { $elidioma = $_GET['lang'];
} else if(isset($_COOKIE['lang'])) { $elidioma = $_COOKIE['lang'];
} else {
// Aqui lo tomas del navegador
}
// Aqui verificas si $elidioma esta entre los permitidos en el sitio
// Si no, entonces asignas el valor por default
// Creas la cookie con el idioma, para evitarte tener que incluirlo en URL
// Aqui haces tu switch