영문과 간체 중국어 로케일 간 배지 표시 순서 차이

안녕하세요,

/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는 localeCompare를 사용하고 있습니다.

리포트 감사합니다!

혹시 도전해보고 싶은 분이 계실까 봐 여기에 pr-welcome 라벨을 추가해 두었습니다.

2개의 좋아요

이름을 TL1-Basic, TL2-Member, TL3-Regular, TL4-Leader로 변경할 수 있습니다. 그러면 알파벳 순서가 항상 신뢰 수준 순서와 일치하게 됩니다. (현재 언어의 '이름’을 알지 못해도 TL을 쉽게 확인할 수 있으므로 사용자 카드에서도 유용할 것 같습니다.)

그러나 순서가 잘못된 것은 신뢰 수준 배지만이 아닙니다:
예를 들어 독일어에서는 150개 해결 배지가 50개 해결 배지보다 먼저 표시됩니다.

그리고 게시 배지의 순서에 대한 다른 주제들도 동일한 문제를 다루고 있다고 생각합니다: 알파벳 순서가 항상 논리적이지는 않다는 점이죠.

아, 그렇군요. 그 말이 맞습니다.
그래도 제 생각에는 현재 관리자 화면에서 배지 순서를 수동으로 조정할 수 없으므로, 알파벳 순서보다는 position 값 기준으로 정렬하는 것이 좀 더 합리적이지 않을까요?
이렇게 하면 다양한 언어 환경에서도 순서가 일관되게 유지될 수 있고, 사용자가 Discourse를 익히고 활용하기에도 더 쉬워질 것입니다.

2개의 좋아요