Bienvenido a datoweb.com!! En este foro podrás encontrar ayuda sobre diseño y desarrollo web en general. Si quieres formar parte de esta comunidad para pedir ayuda o colaborar ayudando a otros usuarios del foro solo tienes que registrarte desde el siguiente enlace: Registrarse en el Foro

Detectar idioma del visitante con php

En este ejemplo vamos a ver como detectar idioma del visitante con php. El siguiente método es una forma sencilla de detectar automáticamente el idioma de los usuarios utilizando PHP. Se utiliza "HTTP_ACCEPT_LANGUAGE", que devuelve el código de idioma en la cabecera de la petición. El siguiente ejemplo detecta este encabezado (si hay alguno) y redirige al usuario al subdominiio adecuado:
<?php

// Listado de las versiones del sitio disponibles en función del idioma
$sitios = array(
    "en" => "http://en.miweb.com/",
    "es" => "http://es.miweb.com/",
    "fr" => "http://fr.miweb.com/",
);

 // Obtenemos los dos caracteres que identifican el código de idioma
$idioma = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
 
// Establecer el idioma por defecto si la versión de dicho idioma no está disponible
if (!in_array($idioma, array_keys($sitios))){
    $idioma = 'es';
}

// Redirigimos en función del idioma
header('Location:'.$sitios[$idioma]);
 ?>
PECL dispone de http_negotiate_language, una alternativa que puede analizar el encabezado y elegir el idioma correcto.
0
Puntos
1669
Visitas
0
Resp
Por zerodarck hace 110 meses
Experto
Compartir en facebook
Compartir en twitter
Compartir
Para comentar Inicia sesión o Registrate