Escrito por Luis Cruz | última actualización: 28 de noviembre del 2019
Si estás pensando en crear una aplicación multi idioma y necesitas saber qué idioma prefiere el usuario, una buena forma es detectando el idioma de su navegador.
Para conocer el idioma puedes hacer uso de la cabecera HTTP HTTP_ACCEPT_LANGUAGE
, aquí hay un ejemplo de cómo puedes hacerlo:
<?php
if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
$localeToUse = Locale::acceptFromHttp($_SERVER['HTTP_ACCEPT_LANGUAGE']);
}
else {
$localeToUse = Locale::getDefault();
}
echo 'El idioma preferido es: ' . $localeToUse;
?>
¿Como es que esto funciona?
Cuando un navegador solicita una página web, este envía información hacia el servidor, a esta información se le llama cabeceras HTTP. Entre esta información se envía el idioma que prefiere el usuario.