en mi opinion seria mejor las opciones en el top para seleccionar el idioma.
dime que harias en el caso que un amigo te pida el pc para ver una pagina y fuera ingles.
tu navegador es español pero, si el no save nada de español y usa tu PC?
en todo caso la funcion seria asi:
Código PHP:
function detectarIdioma(){
//revisamos cabecera HTTP_ACCEPT_LANGUAGE
$idiomas = explode(";", $_SERVER['HTTP_ACCEPT_LANGUAGE']);
if(strpos($idiomas[0], "es") !== FALSE){
$idioma = "es";
}
elseif(strpos($idiomas[0], "en") !== FALSE){
$idioma = "en";
}
//Ante cualquier otro idioma devolvemos "es"
if($idioma <> "es" && $idioma <> "en"){
$idioma = "es";
}
return $idioma;
}