Cuando queremos que el visitante sea recibido en su propio idioma cuando llega a nuestro sitio web tenemos a nuestra disposición varias aproximaciones.
Una de las aproximaciones que se suele usar en la internacionalización de un sitio web es mediante la identificación de la ip se busca la localización geográfica de la misma, y en base al lugar de origen se presenta la web en un idioma u otro.
El problema de este enfoque además de se complejo y costoso en recursos es que en lugares donde se usa más de una lengua no nos resuelve ningún problema.
Más fácil es identificar la lengua del visitante mediante la lengua preferida propia del navegador. Php dispone de una variable que almacena esta información. De hecho almacena un array con todos los idiomas preferidos del visitante por orden.
El formato que identifica cada lenguaje se forma mediante un código de dos caracteres que identifica a la lengua y separada mediante un guion bajo el código que identifica al ámbito político al que esta adscrito. Por ejemplo, es_ES corresponde a español de España. Otro ejemplo puede ser eu_FR que corresponde a euskera de Francia.
Como regla general nos bastará en la mayoría de los casos identificar solamente el lenguaje.
Lo siguiente es un ejemplo de código que devuelve el código de lenguaje a partir de la información que transmite el navegador al servidor.
<?PHP //EXTRACT LANGUAGE CODE FROM BROWSER $language = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2); ?>