Actualmente estoy trabajando en un auto-idioma de detección del usuario para proporcionar el contenido en el idioma del usuario.detectar el idioma del usuario en PHP - solución estable
Por supuesto, es posible cambiar el idioma manualmente, pero si un usuario visita la página por primera vez, quiero proporcionar el contenido en su idioma.
por lo que estaba buscando en Google y encontró el $ _SERVER [ 'HTTP_ACCEPT_LANGUAGE'] - Var para obtener un resultado como ese:
de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
cuál es la mejor manera de filtrar este resultado para obtener un resultado claro como "ES "/" DE "/" IT "?
$rL = $_SERVER["HTTP_ACCEPT_LANGUAGE"]; // de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
$langCode = strtoupper($rl[0].$rl[1]);
El segundo problema en este Server-Var es que solo me da un resultado si el navegador proporciona alguna información. ¿Establecer el idioma de página predeterminado es la única posibilidad de manejar eso?
La segunda posibilidad que me interesa es obtener el idioma por IP. Entonces, si obtengo el Idioma, probablemente conozca el idioma del usuario. Pero ¿qué hay en países de varios idiomas como Suiza, Bélgica? ¿Qué pasa con tld es como .com/.net/.org y así sucesivamente?
Entonces, ¿qué método aplicarías para detectar el idioma de los usuarios?
gracias por ayudar.
bueno, cuando trato de usar el ejemplo del http_negotiate_language que recibí - Error fatal: llamada a la función indefinida http_negotiate_language() - ¿qué hago mal? – wildhaber
Instala la extensión pecl_http. http://uk.php.net/manual/en/http.install.php Alternativamente, hay una versión PHP nativa en los comentarios de la página negotiate_language que parece que debería estar bien. – bobince