L'ordre d'affichage des badges diffère entre les localisations anglaise et chinoise simplifiée

Salut,

J’ai remarqué une divergence dans l’ordre d’affichage des badges entre les locales anglais et chinois simplifié sur la page /badges.


Problème :

  • En mode anglais, les badges sont affichés dans le bon ordre (par exemple, TS1 apparaît avant TS2).
  • En mode chinois simplifié, l’ordre est inversé (TS2 apparaît avant TS1), même si les valeurs de position dans la base de données sont identiques.
  • Ce comportement est cohérent sur le forum Discourse officiel, il n’est donc pas lié à des paramètres personnalisés.

Étapes pour reproduire :

  1. Accédez à la page /badges sur une instance Discourse.
  2. Basculez la langue de l’interface en anglais et notez l’ordre des badges.
  3. Basculez la langue de l’interface en chinois simplifié et notez que l’ordre des mêmes badges est inversé.

Comportement attendu :
Les badges doivent toujours être affichés selon leurs valeurs de position, quelle que soit la langue sélectionnée.

Merci de vous pencher sur ce problème !

1 « J'aime »

Je pense qu’ils sont en ordre alphabétique (par couleur : bronze d’abord, puis argent, enfin or).

Je ne pense pas que ce soit un bug que les badges soient classés par ordre alphabétique. Il existe d’autres discussions sur des cas où l’ordre alphabétique ne conduit pas au meilleur positionnement, comme Very teeny tiny minor issue with the default badge ordering et Badge order doesn't make sense.
Je pense que vous pourriez changer l’ordre avec CSS (Trust levels order exhibition in the badges page - #3 by awesomerobot) ou utiliser la suggestion d’ajouter des numéros devant en personnalisant le texte.

2 « J'aime »

Cela aurait du sens, puisque 基 commence par un « j » mais 成 commence par un « c », en supposant que Discourse utilise le Pinyin pour cela.

EDIT : D’après ce que je peux voir, Discourse utilise localeCompare.

Merci pour le rapport !

J’ajoute un pr-welcome ici au cas où quelqu’un voudrait tenter le coup.

2 « J'aime »

Nous pourrions changer les noms en TL1-Basic, TL2-Member, TL3-Regular et TL4-Leader. Ainsi, l’ordre alphabétique serait toujours le même que l’ordre du niveau de confiance. (Je trouverais également cela utile sur les cartes utilisateur, car il serait plus facile de voir le TL sans connaître le « nom » dans la langue actuelle.)

Mais les badges de niveau de confiance ne sont pas les seuls dans le mauvais ordre :
En allemand, par exemple, le badge pour 150 solutions est également affiché avant celui pour 50.

Et je pense que les autres sujets concernant l’ordre des badges de publication abordent le même problème : l’ordre alphabétique ne semble pas toujours logique.

Je vois, c’est logique.
Cependant, à mon avis, puisqu’il n’est actuellement pas possible d’ajuster manuellement l’ordre des badges dans l’interface d’administration, ne serait-il pas plus raisonnable de les trier par leurs valeurs de position plutôt qu’alphabétiquement ?
Cela pourrait aider à maintenir la cohérence de l’ordre entre les différentes langues et à faciliter la familiarisation et l’utilisation de Discourse.

2 « J'aime »