Hola adjcp, creo que tengo una solución que te puede ayudar a encontrar el idioma del visitante y en caso de que sea algun idioma que no tengas definido siempre puedes asignar por defecto uno..
Código PHP:
// Con esto miramos si hay definido un idioma por defecto en el navegador
if ($HTTP_ACCEPT_LANGUAGE != ''){
// Convertimos HTTP_ACCEPT_LANGUAGE en array
$languages = explode(",", $HTTP_ACCEPT_LANGUAGE);
// Luego se recorres el array hasta encontrar un idioma que coincida con
// los idiomas que hemos definido en nuestra web
for ($i=0; $i<count($languages); $i++){
// Si aún no hemos definido la variable $idioma seguimos buscando
if (!isset($currentLang)){
// Miramos si tiene algún idioma de los disponibles
if (substr($languages[$i], 0, 2) == "es"){$currentLang = "es";}
elseif (substr($languages[$i], 0, 2) == "en"){$currentLang = "en";}
}
}
}
// Si no hemos encontrado ningún idioma le asignamos uno por defecto
if (!isset($currentLang)){$currentLang = "es";}
// Finalmente llamamos a la hoja de idiomas que corresponda
include "library/langs/".$currentLang.".inc.php";
?>
Combinado con tu codigo tal vez ya lo puedas resolver. Si tienes muchos idiomas tal vez puedas substituir el if/elseif por un switch.
Espero que te sirva, un saludo!