Comment les sites Web doivent-ils gérer les paramètres de localisation? (à partir de & # 8220; Quelles sont les idées fausses et les désagréments courants de l'interface utilisateur?)

StackOverflow https://stackoverflow.com/questions/1016709

Question

J’ai choisi de considérer cette question comme une question à part entière car elle suscitait tant de débats dans les commentaires du original post .

Il est intéressant de constater que beaucoup de personnes sous SO (développeurs) n'obtiennent tout simplement pas la localisation. Voici ce que je pense de la façon dont cela devrait fonctionner:

Dans tous les navigateurs que j'ai consultés (et pour les développeurs .NET également), lorsque vous examinez les préférences de culture d'un utilisateur, le format est le suivant: langue-culture.

Nous avons donc:

  • fr-FR - Langue anglaise - Culture britannique
  • en-US - langue anglaise - culture américaine
  • fr - Langue anglaise - Culture invariante.
  • fr-FR & # 8211; Langue française & # 8211; Culture française
  • fr-CH & # 8211; Langue française & # 8211; Culture suisse
  • de-CH & # 8211; Langue allemande & # 8211; Culture suisse
  • de-DE & # 8211; Langue allemande & # 8211; Culture allemande

Voir MSDN . pour obtenir une liste complète prise en charge par le framework .NET.

Lorsque je vais sur un site Web, il sait que je veux la langue anglaise à partir de la partie et il sait que je suis intéressé par son inclinaison au Royaume-Uni (formatage des nombres, formatage de la date). Donc, quand je vais sur google.com et que cela me prend google.de (à cause de mon adresse IP), tout va bien si google.de me montre tout en anglais, mais complètement faux puisque google.de est en allemand . J'ai peu de contrôle sur mon adresse IP, mais un contrôle total sur mes paramètres de langue et de culture. Si vous êtes intéressé, le nouveau moteur de recherche de Microsoft (bing.com) gère les choses correctement. Espérons que Microsoft pourra apprendre à faire de la recherche ainsi que Google ou que Google pourra apprendre à localiser aussi bien que Microsoft;)

MSDN contient un autre bon article ici pour plus d'informations

Quelles sont donc vos recommandations sur la manière dont les sites doivent gérer les localisations?

Était-ce utile?

La solution

La solution ici est si simple, il est ennuyeux que les développeurs ne fassent rien d'autre.

  1. Respectez les paramètres du navigateur. Si cela dit anglais, alors par Dieu, c'est l'anglais.

  2. Si vous devez absolument, ajoutez simplement un bouton en haut pour choisir autre chose. Ensuite et UNIQUEMENT, remplacez-vous le navigateur.

  3. Si vous pensez que votre chemin est meilleur. Arrêtez, quelqu'un vous gifle. Ce n'est pas. Répétez si nécessaire.

  4. Débarrassez-vous des pages de garde Web qui demandent le pays de quelqu'un. Affichez simplement votre page normale, basée sur les paramètres par défaut du navigateur, et reportez-vous au point 2 ci-dessus. Je n'ai pas encore rencontré de site Web où cela compte vraiment. mise à jour: quelques années plus tard, il existe désormais une raison de le faire. En 2013, le Royaume-Uni a mis en place une politique relative aux cookies qui oblige les exploitants de sites Web à respecter les sites basés dans ce pays qui servent des pages aux visiteurs de ce pays. Faites donc attention aux lois des pays dans lesquels vous êtes hébergé.

  5. SI vous possédez un site qui est réellement desservi par plusieurs serveurs dans plusieurs pays, vous pouvez probablement détecter le serveur sur lequel vous souhaitez vraiment servir. Si vous ne le pouvez pas, arrêtez simplement la folie de la redirection et ne tentez pas de prendre une décision pour eux.

Autres conseils

Si les paramètres de localisation sont disponibles, y compris, mais sans s'y limiter, l'en-tête HTTP Accept-Language, les sites Web doivent absolument les respecter.

L’argument commun à ce sujet est que les "utilisateurs moyens" ne sont pas assez intelligents pour trouver les paramètres de langue et les configurer en fonction de leurs propres préférences. Par conséquent, ces paramètres sont le plus souvent incorrects (à moins que l'utilisateur ne se trouve aux États-Unis).

C'est la mauvaise solution.

Si une partie importante de la population d'utilisateurs ne parvient pas à trouver (ou ne se gêne pas pour trouver) les paramètres de langue de son navigateur, la bonne réponse consiste à les rendre plus faciles à trouver , et non pour que les sites ignorent ce sur quoi ils ont été configurés. Peut-être rendre les paramètres de langue directement accessibles depuis le menu principal du programme au lieu de les enfouir dans un menu "Préférences" trop compliqué. dialogue. Peut-être demander des préférences de langue lors de la première exécution du programme. Peut-être utiliser les paramètres de localisation du système d'exploitation. Ou peut-être quelque chose de complètement différent, si c'est ce qui est nécessaire pour que le navigateur envoie des informations correctes sur les préférences de l'utilisateur. Mais ne lâchez pas les mains, dites "c’est inutile et on ne peut pas le réparer!", Et ignorez-le.

D’autres réponses ont été de laisser l’utilisateur choisir une langue ou des paramètres régionaux dans son profil sur le site, ce qui est également important et doit absolument être standard, mais il s’agit simplement de fournir un remplacement spécifique au site pour les paramètres normaux de l’utilisateur. Si l'utilisateur ne l'a pas omis sur le site, l'action appropriée consiste à utiliser par défaut la langue / les paramètres régionaux les plus recommandés, comme indiqué dans les paramètres de son navigateur, et non sur la géolocalisation de son adresse IP.

À un moment de ma carrière, j'ai conservé des éléments de la pile TCP / IP. Cela me met dans la position assez rare de savoir très bien que les adresses IP ne doivent pas être utilisées autrement que comme des adresses de couche réseau. Toute association entre une adresse IP et un emplacement est presque une coïncidence. C'est un artefact de la manière dont les adresses sont distribuées, et non une partie fondamentale de la signification d'une adresse IP.

(Ils ne sont pas non plus utiles comme identifiant unique d'un ordinateur, mais c'est une autre histoire)

Je suggère de laisser la géolocalisation en dehors de celle-ci. La norme HTTP inclut un moyen pour un navigateur ou un autre agent d'utilisateur d'inclure les préférences de culture des utilisateurs à chaque demande (rappelez-vous, il s'agit d'une liste de préférences pondérées, pas nécessairement d'une culture). Le navigateur étant plus proche de l'utilisateur que vous, vous devez accepter cette demande, du moins par défaut.

Il est alors possible d'autoriser l'utilisateur à modifier ses préférences pour votre site, de manière temporaire ou permanente. Il est même acceptable de permettre à l'utilisateur de choisir d'afficher un contenu différent avec des paramètres de culture différents. Un exemple sauvage serait un site qui comprend à la fois des informations politiques et des informations techniques. Il est tout à fait raisonnable que quelqu'un veuille que la nouvelle soit "naturelle". langue, mais les informations techniques en anglais.

Enfin, vous pouvez appliquer un schéma de repli. Si, par exemple, vous avez un site qui dessert les utilisateurs en fonction de leur région (revendeurs, par exemple), il est possible que le contenu en japonais n'existe que sur votre sous-site régional asiatique. Un utilisateur japonais qui visite votre site EMEA pourrait bien être bloqué par du contenu en anglais, qui pourrait bien être son dernier choix.

Sur les sites que je crée, je suis généralement conforme à ce modèle:

  • Chaque page a une URL unique contenant la langue quelque part, généralement comme / en / page ou un (sous) domaine différent
  • Si l'utilisateur ouvre une URL avec une langue non spécifiée comme / page , je commence à deviner:
    • Un cookie d'une session précédente est-il disponible?
    • Si ce n'est pas le cas, Accept-Language est-il disponible et puis-je le mapper vers une langue disponible sur le site?
    • Si non, si c'est une possibilité, puis-je deviner par IP?
    • Sinon, utilisez la langue par défaut du site.
  • Je mets un cookie avec la langue devinée et redirige l'utilisateur vers un site avec l'URL appropriée
  • Je mets un commutateur de langue sur chaque page, afin que / fr / page puisse facilement être commuté sur / xx / page
    • Le cookie est mis à jour si l'utilisateur passe à une autre page

Idéalement, je n’ai qu’une fois à deviner, puis à utiliser le cookie de l’utilisateur ou celui-ci visite directement la page souhaitée.

J'accepte, donnez à l'utilisateur la possibilité de le remplacer par les préférences de l'utilisateur dans votre application. Ceci est particulièrement utile pour des problèmes tels que les problèmes de localisation de fuseau horaire que vous ne pouvez pas déduire des paramètres du navigateur.

Je risque d'être considéré comme impoli, mais je pense que mon poster sur ce sujet aura des réponses plus informatives, principalement parce que mon message est vraiment une question. Je suis désolé de ne pas avoir trouvé ce message avant.

Il existe une différence entre les paramètres par défaut intelligents et la capacité des utilisateurs à les remplacer. Dans les grosses applications sur lesquelles j'ai travaillé, j'ai assumé les paramètres régionaux de l'utilisateur à partir des paramètres du navigateur, de la géolocalisation, etc. - mais j'ai toujours donné à l'utilisateur un moyen de changer facilement.

Je ne sais pas comment faire autrement. Ne pas donner aux utilisateurs une chance de corriger vos suppositions est profondément problématique, car vous allez vous tromper de temps en temps.

ADDITION:

Je pense que votre problème ici est que, même si vous pouvez modifier vos paramètres régionaux, si leur apparence est identique à celle par défaut, il n’est pas possible pour un développeur d’application de dire si vous l’avez laissé tel quel, ou parce que vous ne le faites pas. t savoir comment ou pourquoi le changer.

Je suggère d'honorer les paramètres de localisation des utilisateurs, sauf si le paramètre par défaut est écrasant, ce que les utilisateurs ne peuvent pas modifier. Par exemple, je pense que la grande majorité (plus de 90%) des utilisateurs disposant d’un paramètre en-us géolocalisé au Vietnam serait presque toujours mieux servie en visionnant du contenu vietnamien plutôt que du contenu en anglais américain. comme il y a un moyen trivial de changer de lieu. D'un autre côté, si un utilisateur géolocalisé aux États-Unis a un environnement vietnamien, donnez-lui absolument un contenu en vietnamien.

Est-ce irritant pour les utilisateurs anglo-américains au Vietnam? Sûr. Mais c'est aussi le plus grand bien pour le plus grand nombre, et permet de s'assurer que les utilisateurs non techniques moyens obtiennent la meilleure expérience réelle. Jusqu'à ce que nous puissions tenir les armes à la tête des utilisateurs et les forcer à déclarer honnêtement leurs préférences en matière de langue / culture avant d'allumer un ordinateur, nous aurons besoin d'heuristiques comme celle-ci.

J'ai vu suffisamment de rapports de bogues signalés par les clients. Lorsqu'ils ont été enquêtés, il a été constaté que l'un des utilisateurs avait mal configuré la culture du navigateur. Nous permettons maintenant au client de remplacer les navigateurs par un paramètre de configuration. Le paramètre de culture du navigateur est souvent incorrect, ce qui n’est pas très utile, mais il est également trop difficile pour la plupart des utilisateurs finaux de le trouver ou de le modifier.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top