Ne devinez pas ma langue, par Robert Vitonsky

Si vous utilisez encore la géolocalisation IP pour déterminer la langue à afficher, arrêtez de perdre votre temps. C'est une hypothèse erronée déguisée en fonctionnalité.

Nom : 1.jpg
Affichages : 1768
Taille : 60,6 Ko

L'adresse IP vous indique d'où provient la requête, c'est tout. Elle ne vous dit pas quelle langue l'utilisateur souhaite, parle ou même comprend. Elle échoue tout le temps : VPN, voyages, personnes vivant à l'étranger, pays avec plusieurs langues officielles. Ce n'est pas une preuve d'intelligence, c'est tout simplement agaçant.

Le pays n'est pas la langue

Il n'y a pas de correspondance biunivoque. La Belgique a trois langues officielles, la Suisse en a quatre, l'Inde en a 22, le Canada est officiellement bilingue et officieusement multilingue. Les utilisateurs peuvent vivre dans ces pays, les traverser ou n'avoir aucun lien avec eux, si ce n'est que leur trafic passe par là. Alors pourquoi imposer une seule langue à l'interface utilisateur simplement parce qu'une base de données géolocalisation IP vous a indiqué le pays d'origine de l'adresse IP ?

Vous faites des suppositions sur la base de données erronées, ce n'est pas de l'ingénierie intelligente, c'est de la paresse déguisée en expérience utilisateur.

Non, « mais les grands sites web le font » ne justifie pas cette pratique. Vous n'êtes pas un culte du cargo. Faites-le correctement ou ne le faites pas du tout.

Personnellement, je suis un utilisateur actif de VPN, et chaque fois que je vais sur Google avec un VPN activé, je ne comprends rien car une langue aléatoire est utilisée, simplement à cause de la rotation des IP par mon fournisseur VPN.

Vous disposez déjà du bon outil

Chaque navigateur envoie un en-tête Accept-Language. Il vous indique la langue préférée de l'utilisateur, non pas en fonction de sa localisation ou de son IP, mais en fonction de son système d'exploitation ou de la configuration de son navigateur. Et oui, les utilisateurs peuvent le modifier s'ils le souhaitent.

Cela ressemble à ceci : Accept-Language: en-US,en;q=0.9,de;q=0.8C'est votre signal, utilisez-le. Il est précis, gratuit, déjà disponible, sans licence, sans conjecture, sans maintenance.

Vous ne remplacez pas la résolution d'écran ou le schéma de couleurs par vos propres suppositions, alors pourquoi le faire avec la langue ?

Et si vous n'écoutez pas ?

Vous servez l'anglais à un utilisateur français en Allemagne, vous donnez le néerlandais à quelqu'un à Bruxelles qui lit le français, vous donnez le chinois à quelqu'un qui utilise un VPN à Hong Kong et qui ne parle pas un mot de cette langue. Les utilisateurs s'énervent, certains partent, d'autres fouillent dans l'interface utilisateur pour réparer vos erreurs.

Tout cela parce que vous avez fait confiance à une base de données IP approximative plutôt qu'à l'en-tête du navigateur.

Voici la seule approche raisonnable

  • Lisez Accept-Language.
  • Respectez-le.
  • Laissez l'utilisateur le modifier si nécessaire (et mémorisez ce choix à l'aide d'un cookie ou d'un paramètre URL).
  • Si vous souhaitez utiliser GeoIP, très bien, mais uniquement pour la devise, les frais d'expédition, les aspects juridiques, jamais pour la langue.

Si votre logiciel est destiné à de vraies personnes, vous n'avez pas à deviner leurs préférences : faites les choses correctement ou ne vous en mêlez pas.


Source : Don't Guess My Language

Et vous ?

Pensez-vous que cette recommendation est crédible ou pertinente ?
Quel est votre avis sur le sujet ?

Voir aussi :

Les ingénieurs croient des choses étranges sur le développement Web, par Brian Birtles

Firefox dispose désormais d'un traducteur de pages Web intégré pouvant fonctionner sans une connexion Internet, Mozilla affirme qu'il traduit le contenu localement afin de respecter votre vie privée