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.