Hola,
Este codigo no traduce el contenido de tu web. Lo unico que hace es averiguar cual es el idioma configurado en el navegador del visitante, y guardar ese valor en una variable.
Luego tu en funcion de esa variable tienes que mostrar la web en un idioma u otro. Las traducciones las tienes que hacer tu. Por ejemplo:
Código PHP:
if ($HTTP_ACCEPT_LANGUAGE != ''){ # Verificamos que el visitante haya designado algún idioma
$idiomes = explode(",", $HTTP_ACCEPT_LANGUAGE); # Convertimos HTTP_ACCEPT_LANGUAGE en array
/* Recorremos el array hasta que encontramos un idioma del visitante que coincida con los idiomas
en que está disponible nuestra web */
for ($i=0; $i<count($idiomes); $i++){
if (!isset($idioma)){
if (substr($idiomes[$i], 0, 2) == "ca"){$idioma = "ca";}
if (substr($idiomes[$i], 0, 2) == "es"){$idioma = "es";}
if (substr($idiomes[$i], 0, 2) == "en"){$idioma = "en";}
if (substr($idiomes[$i], 0, 2) == "fr"){$idioma = "fr";}
}
}
}
# Si no hemos encontrado ningún idioma que nos convenga, mostramos la web en el idioma por defecto
if (!isset($idioma)){$idioma = "ca";}
switch ($idioma) {
case 'es':
echo "hola";
break;
case 'en':
echo "hello";
break;
default:
echo "Y yo que se";
break;
}
Saludos.