バッジの表示順序が英語と簡体字中国語のロケールで異なります

こんにちは。

/badges ページで、英語と簡体字中国語のロケール間でバッジの表示順序に不一致があることに気づきました。


問題点:

  • 英語モードでは、バッジは正しい順序で表示されます(例: TS1 が TS2 の前に表示される)。
  • 簡体字中国語モードでは、データベースの position 値が同じであるにもかかわらず、順序が逆になります(TS2 が TS1 の前に表示される)。
  • この動作は公式の Discourse フォーラムでも一貫しているため、カスタム設定に関連するものではありません。

再現手順:

  1. Discourse インスタンスで /badges ページに移動します。
  2. インターフェース言語を英語に切り替え、バッジの順序をメモします。
  3. インターフェース言語を簡体字中国語に切り替え、同じバッジの順序が逆になっていることを確認します。

期待される動作:
選択されている言語に関係なく、バッジは常に position 値に従って表示されるべきです。

ご確認いただきありがとうございます!

「いいね!」 1

それらはアルファベット順(色ごと:最初にブロンズ、次にシルバー、最後にゴールド)になっていると思います。

バッジがアルファベット順になっているのはバグではないと思います。アルファベット順が最良の位置決めにつながらないケースに関する他のトピックがいくつかあります。例:Very teeny tiny minor issue with the default badge orderingBadge order doesn't make sense

CSS(Trust levels order exhibition in the badges page - #3 by awesomerobot

「いいね!」 2

それなら理にかなっていますね。基は「j」で始まり、成は「c」で始まるので、Discourseが拼音を使用していると仮定します。

編集:私の見たところ、DiscourseはlocaleCompareを使用しています。

レポートありがとうございます!

誰かが試せるように、ここに pr-welcome を追加します。

「いいね!」 2

名前を TL1-BasicTL2-MemberTL3-RegularTL4-Leader に変更することもできます。そうすれば、アルファベット順が常に信頼レベルの順序と同じになります。(現在の言語での「名前」を知らなくてもTLを簡単に確認できるため、ユーザーカードにも役立つと思います。)

しかし、信頼レベルのバッジだけが間違った順序になっているわけではありません。
例えばドイツ語では、150件の解決に対するバッジが50件の解決に対するバッジよりも前に表示されます。

また、投稿バッジの順序に関する他のトピックも同じ問題に対処していると思います。アルファベット順が常に論理的とは限りません。

なるほど、それは理にかなっています。
それでも、管理インターフェースでバッジの順序を手動で調整することは現在できないため、アルファベット順ではなく、position 値で並べ替える方がより合理的ではないでしょうか?
これにより、言語間で順序が一貫し、人々がDiscourseに慣れ親しみ、使いやすくなる可能性があります。

「いいね!」 2