Ver Mensaje Individual
  #2 (permalink)  
Antiguo 10/07/2009, 15:42
Avatar de actibands
actibands
 
Fecha de Ingreso: diciembre-2007
Mensajes: 13
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Detectar idioma y hacer un include personalizado

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], 02) == "es"){$currentLang "es";}
            elseif (
substr($languages[$i], 02) == "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!