Aller au contenu | Aller au menu | Aller à la recherche
Détecter automatiquement la langue d'un visiteur n'est pas chose aisée. Généralement, on utilise un système de géo-localisation pour déterminer le pays depuis lequel l'internaute navigue afin d'en déduire la langue.
Mais comment fait-on pour les pays avec plusieurs langues officielles comme la Belgique, le Canada ou la Suisse ? Comment distinguer également une personne située dans un pays dont elle ne parle pas la langue (touristes, travailleurs en déplacements, immigrés, etc.) ?
L'équipe de Flickr a résolu le problème en basant sa détection sur l'entête HTTP Accept-Language qu'envoient la plupart des navigateurs. Celle-ci indique au serveur les langues acceptées par l'internaute dans l'ordre de préférence. Il est donc ainsi aisé de servir le contenu du site dans la langue la plus appropriée sans devoir passer par des déductions plus ou moins approximatives.
Attention cependant à ne pas imposer vos déductions à vos visiteurs. Comme toute méthode, celle-ci a ses limites. Il est donc important de proposer un mécanisme aux visiteurs pour changer manuellement de langue.
mercredi 9 décembre 2009 à 22h05 -
Développement Web
Aucun rétrolien pour le moment.
Les rétroliens pour ce billet sont fermés.
![]()
HTTP Accept-Language est aussi utilisé par Symfony pour la détection i18n
pocky
le mercredi 9 décembre 2009 à 21h35
![]()
@Joris : En effet, cela n'a rien de nouveau. Les gens un peu avertis la connaissent déjà et je l'ai moi-même souvent utilisée.
Mon but était surtout de montrer les limites de la géo-localisation pour cet usage et de donner plus de visibilité à cette technique grâce à son usage par un grand nom comme Flickr.
JMF
le mercredi 9 décembre 2009 à 21h46
![]()
Bonjour,
Je crois me souvenir que Stéphanie Booth lors de Paris Web 2007 avait bien expliqué les limites de la géolocalisation lors de sa présentation :
"Multilinguisme web et problématiques associées" - www.paris-web.fr/2007/Ven...
Les slides : www.paris-web.fr/2007/Pre...
Et la vidéo :
www.dailymotion.com/video...
franek
le jeudi 10 décembre 2009 à 08h38
![]()
Je pense que la géo-localisation & la langue préférée sont 2 choses très différentes à ne pas mélanger.
En outre, je peux être en déplacement voire expatrié dans un pays étranger, et pour autant garder comme langue préférée le français (dans ma boite cette dernière situation est extrêmement fréquente, les employés étant très mobiles).
Je reste donc sur l'idée que l'Accept-Language est le moyen le plus efficace de déterminer la langue (comme l'ont toujours fait bon nombre de systèmes ; SAP Entreprise Portal, Websphere portal, Lotus Domino, etc), et la géo-localisation le meilleur moyen de savoir où je me situe physiquement.
![]()
Je suis expat, et la géolocalisation a pour seul effet de donner envie de sortir ma barre a mine, pour aller discuter avec les personnes qui ont choisis son usage a la place d'Accept-Language, qui est l'endroit ou aller chercher la langue de l'utilisateur !!!
Donc jeune dev, si tu ne veux pas te retrouver éclopé, convainc ton chef de projet que la geoloc est une mauvaise idée.
Les commentaires pour ce billet sont fermés.
© 2003-2010 Jean-Marc Fontaine - Tous droits réservés
XHTML - CSS - DotClear - Technorati
Les billets de ce blog sont sous licence Creative Commons
Joris le mercredi 9 décembre 2009 à 21h22