
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é.
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.8
C'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 ?


Voir aussi :


Vous avez lu gratuitement 9 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.