Código PHP:
<?php
/* Este código detecta el idioma por defecto del visitante.
Sin embargo, si el visitante indica un idioma mediante la URL (siguiendo un enlace) toma preferencia */
// Miramos si el usuario ha definido un idioma por defecto en su navegador
if ($_SERVER['HTTP_ACCEPT_LANGUAGE'] != ''){
// Si es así, miramos que idiomas ha definido:
$idiomas = explode(",", $_SERVER['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($idiomas); $i++){
// Si aún no hemos definido la variable $idioma...
if (!isset($idioma)){
/* Miramos si tiene algún idioma de los disponibles entre sus favoritos.
Empezando por su primer favorito y acabando por su último favorito */
if (substr($idiomas[$i], 0, 2) == "es"){$idioma = "es";}
if (substr($idiomas[$i], 0, 2) == "ca"){$idioma = "ca";}
}
}
}
// Si aún no hemos encontrado ningún idioma que nos convenga, mostramos la web en el idioma por defecto
if (!isset($idioma)){$idioma = "es";}
// Ahora incluimos la plantilla de idioma correspondiente al idioma que pertoque:
include("idiomas_$idioma.php");
GRACIAS