Localisation de pages web

Petite différence de comportement entre Chrome et Firefox lorsqu'il s'agit de lire la langue du navigateur à l'aide du javascript pour localiser une application.

Le problème vient du fait que l'API navigator.language en javascript renvoit dans Chrome la langue du navigateur lui-même - du logiciel - alors que Firefox lui renvoit la valeur qui a été sélectionnée dans les préférences utilisateur et qui est utilisé pour définir l'en-tête Accept-Language envoyé lors des requêtes HTTP. Et c'est sans doute cette valeur qui est à privilégié, ce qui nécessite néanmoins un allé-retour serveur vu que rien en javascript en permet de récupérer cette information.

En java, on peut utiliser la méthode getLocale de l'interface ServletRequest ou sa forme plus complète getLocales(). En PHP, C'est un peu plus compliqué.

Accept-Language. Mozilla Developer Network,

Accept-Language used for locale setting. W3C Internationalization,

HTTP/1.1 Semantics and Content. IETF, . 5.3.5. Accept-Language