Dur Comme Faire

Aller au contenu | Aller au menu | Aller à la recherche

Détection de la langue des visiteurs avec l'entête HTTP Accept-Language

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 Fil de syndication

Rétroliens

Aucun rétrolien pour le moment.

Les rétroliens pour ce billet sont fermés.

Commentaires

Gravatar de Joris

Oui !

Mais c'est pas tout nouveau il me semble... On peut aussi le faire lorsque que tu rediriges un visiteur sur un sous-domaine linguistique... Il y a des règles de réécriture qui permettent de créer des conditions avec les en-têtes du navigateur :)

De la même manière que la détection de type de navigateur pour les sites possédant une version mobile.

Joris le mercredi 9 décembre 2009 à 21h22 Icone du permalien

Gravatar de pocky

HTTP Accept-Language est aussi utilisé par Symfony pour la détection i18n :)

pocky le mercredi 9 décembre 2009 à 21h35 Icone du permalien

Gravatar de Jean-Marc Fontaine

@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 Icone du permalien

Gravatar de franek

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 Icone du permalien

Gravatar de YoGi

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.

YoGi le jeudi 10 décembre 2009 à 10h48 Icone du permalien

Gravatar de YoGi

(et en plus mon gravatar il déboite)

YoGi le jeudi 10 décembre 2009 à 10h49 Icone du permalien

Gravatar de niemand

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.

niemand le samedi 12 décembre 2009 à 22h23 Icone du permalien

Ajouter un commentaire

Les commentaires pour ce billet sont fermés.

XHTML - CSS - DotClear - Technorati

Les billets de ce blog sont sous licence Creative Commons