web-dev-qa-db-fra.com

Une bonne solution pour localiser et laisser l'utilisateur choisir la langue sur la page HTML

J'ai lu une autre question où une affiche indique que les drapeaux ne doivent pas être utilisés pour les langues car les drapeaux représentent des pays. Dans mon esprit, je suis d'accord, mais pour moi, cette solution est la meilleure:

enter image description here

Êtes-vous d'accord pour dire que ma proposition est la meilleure solution car elle est simple et ne va pas mal et n'a pas de listes déroulantes ennuyeuses et est assez facile pour le développement d'ajouter un langage. J'ai choisi les langues presque au hasard, je ne sais pas exactement quelles langues inclure, peut-être que le chinois, le français, le finnois, le danois, le suédois et le norvégien devraient également être inclus.

Veuillez commenter ou répondre à ce que vous pensez. Bien que les drapeaux représentent des pays, j'ai changé d'avis après avoir vu la solution. Je pourrais le faire différemment si je soutiens les dialectes, mais c'est juste pour prendre en charge quelques langues plus importantes sans en faire trop dans une solution trop détaillée avec par exemple le français canadien et de même.

10
Niklas

Pour développer:

Vous défiez les identités nationales. Si quelqu'un vient d'Autriche, il doit choisir un drapeau allemand. Bien que cela ne soit pas très important pour vous, pour de nombreux Autrichiens, c'est le cas.

L'Allemagne contre l'Autriche ou les États-Unis contre la GB sont des exemples relativement inoffensifs. Je suppose que dans la plupart des cas, vous ressentirez une légère contrariété du côté que vous n'avez pas choisi. Mais pour d'autres pays, le problème pourrait être un peu plus explosif.

Par exemple, le chinois se présente sous deux formes écrites principales: le chinois simplifié qui est principalement utilisé en Chine continentale et le chinois traditionnel qui est principalement utilisé à Taiwan. Choisir un drapeau pour le chinois traditionnel semble plutôt délicat. Je n'utiliserais certainement pas le drapeau taïwanais là-bas, car les utilisateurs chinois sont facilement en colère.

Je ne serais pas surpris s'il y a des choix encore plus problématiques dans certains autres pays. Par exemple Windows 95 avait une fonction de mise en évidence du fuseau horaire , qui a été supprimé pour éviter d'offenser les gouvernements qui n'étaient pas d'accord sur une frontière.


Un autre point est que souvent, on ne choisit pas seulement une langue, mais aussi une culture. Cela équivaut généralement à une paire langue-pays. Cela affecte des choses comme le formatage de la date (JJ.MM.AAAA vs MM/JJ/AAAA etc.) unités (métrique vs impérial), séparateurs décimaux, ...

Certains pays ont plusieurs langues. Certaines langues dépendent du pays, par exemple le portugais (Portugal) et le portugais (Brésil) sont différents.

Condenser tout cela à de simples drapeaux semble difficile.


J'utiliserais une simple liste déroulante et présélectionnerais la langue/culture à partir de l'en-tête http (N'utilisez pas geo-ip pour la sélection de la langue) afin que la plupart des utilisateurs n'aient pas du tout à choisir. Le principal problème avec cette solution est que l'utilisateur découvre les paramètres de langue en premier lieu. Donc, vous devriez probablement mettre une icône à côté de la liste déroulante qui signifie "langue" (ce qui est un problème qui lui est propre).

12
CodesInChaos

Les problèmes avec cette approche sont:

  • Vous choisissez des langues pour démontrer cela qui ont une association sans doute plus forte avec des pays spécifiques, donc la solution semble meilleure qu'elle ne l'est.

  • Vous supposez également que tous ceux qui parlent espagnol savent à quoi ressemble le drapeau espagnol, ce qui n'est pas nécessairement vrai. Quelqu'un du Nicaragua n'en a pas besoin et est très susceptible de ne pas associer ce drapeau à la langue espagnole.

  • Vous défiez les identités nationales. Si quelqu'un vient d'Autriche, il doit choisir un drapeau allemand. Bien que cela ne soit pas très important pour vous, pour de nombreux Autrichiens, c'est le cas.

  • Vous n'avez aucun moyen de gérer une langue qui n'a pas de pays associé. Que choisissez-vous pour l'arabe, le basque ou le catalan?

Les bonnes choses avec votre approche sont:

  • c'est qu'il s'intègre bien dans une icône.

Dans l'ensemble, ce n'est pas un bon compromis, et vous devriez vous en tenir à quelque chose de plus universel, comme le nom de la langue. Oui, vous pouvez avoir besoin d'une liste déroulante, mais elle est facilement extensible à 100 langues, contrairement à votre méthode d'icône de drapeau.

Gardez les noms de langue dans leur langue respective. Français et espagnol, pas français et espagnol.

19
JohnGB

Le meilleur UX à mon avis est d'obtenir la langue préférée du navigateur, comme recommandé par le W3C

Et puis laissez une option pour utiliser une langue différente.

4
rds

Comme vous le dites, les drapeaux représentent des pays. Utilisez donc des drapeaux pour représenter les pays et non les langues.

Avec cette approche:

  1. Vous devriez avoir l'option catalane dans les sites de pays espagnols, français et italiens. La Catalogne n'est pas l'Espagne, mais je suis aganiste en utilisant le drapeau de la Catalogne pour le catalan si ce n'est pas un contenu spécifique régional (Catalogne vs langue catalane). En Chine, vous avez également des options traditionnelles et simplifiées.

  2. Le Portugal et le Brésil devraient avoir différents sites utilisant la même langue (différents drapeaux). L'Argentine, le Chili, le Venezuela, etc. ne sont pas l'Espagne.

Si vous n'avez pas de contenu spécifique à un pays, vous préférerez peut-être répertorier chaque nom de langue dans sa langue d'origine.

3
jrosell