RTL 사용자를 위한 레이아웃은 개별 사용자가 아닌 사이트 전체에서만 설정할 수 있습니다

제 브라우저가 히브리어(RTL)로 인식되어 Vuejs와 같은 LTR 포럼에 접속해도 전체 UI가 RTL로 배치됩니다.

이는 RTL UI를 구성하는 올바른 방식이 아니며, 앱 사용을 매우 어렵게 만듭니다.

아래 스크린샷을 예로 들어 읽어 보세요. 모든 문장 부호가 잘못된 위치에 배치되어 있고 정렬도 엉망이라 읽기가 매우 어렵다는 것을 알 수 있습니다.

direction:rtl CSS 속성이 필요한 부분은 완전히 번역된 텍스트인 경우뿐입니다.

예를 들어 날짜 위젯 자체에는 이 속성이 적용되어야 합니다. 실제로 텍스트가 히브리어이므로 RTL 환경에서 잘 보입니다.

현재는 앱을 사용하려면 개발자 도구를 열어 UI를 LTR으로 변경해야 하는 상황이 반복되고 있습니다.
전체 UI에 RTL을 적용하는 것은 포럼 전체가 RTL 언어로 된 경우에만 사용해야 하며, 브라우저가 RTL로 인식된다는 이유만으로 적용해서는 안 됩니다.

1개의 좋아요

Discourse는 accept language 헤더에서 로케일 설정 사이트 설정이 활성화된 경우에만 브라우저의 로케일을 사용하여 사용자의 로케일을 설정합니다. 이 설정이 활성화되면 익명 사용자의 경우 브라우저의 언어 헤더를 기반으로 로케일이 설정됩니다. 이 설정은 사용자가 사이트에 계정을 처음 생성할 때에도 로케일을 설정합니다. 사용자는 설정 / 인터페이스 페이지에 가서 원하는 사이트의 인터페이스 언어를 선택하여 이 로케일을 덮어쓸 수 있습니다. 이 작업이 완료되면 언어 헤더는 무시되며, 사용자가 선택한 인터페이스 언어가 브라우저의 언어 헤더보다 우선합니다.

Discourse 포럼에서 RTL 로케일을 선택하면 모든 콘텐츠가 RTL 레이아웃으로 표시됩니다. LTR 사이트에서라면 설정 페이지에서 LTR 로케일을 선택하는 것이 가장 좋습니다. 이 규칙의 유일한 예외는 혼합된 텍스트 방향 지원 사이트 설정이 활성화된 경우입니다. 이 설정이 활성화되면 게시글 콘텐츠의 텍스트 방향이 분석되고, 게시글 콘텐츠에 적절한 dir 속성이 추가됩니다. 해당 설정에 대한 자세한 내용은 다음 링크에서 확인할 수 있습니다: Supporting mixed text directions.

5개의 좋아요

내 핵심 주장은 이것이 사용자에게 깨진 경험을 만든다는 것입니다.
RTL을 마음대로 적용하면 레이아웃이 깨지므로, 번역된 텍스트에만 RTL을 적용해야 합니다.

따라서 “accept-language 헤더에서 로케일 설정” 기능이 내 로케일을 선택하는 것은 괜찮지만, 이것이 html 전체에 rtl을 적용할 수 있다는 뜻은 아닙니다.

로케일은 메뉴와 기타 번역된 콘텐츠에 영향을 주어야 하며, 모든 사용자 콘텐츠는 원래 방향성을 유지해야 합니다.

이것은 다음 두 가지 이유로 버그입니다:

  1. 어떤 포럼을 방문하는 모든 RTL 사용자가 설정을 변경해야 한다는 것은 말이 되지 않습니다. 포럼은 기본적으로 올바르게 표시되어야 합니다.

  2. 설정을 변경하면 방향은 수정되지만, 메뉴나 날짜 등 번역된 텍스트의 언어도 함께 변경되는데, 이는 제가 원하는 바가 아닙니다.

영어 사용자(그리고 다른 LTR 언어 사용자)에게는 히브리어나 아랍어 UI를 이해하기 어렵기 때문에 이 문제를 눈치채기 어려울 수 있지만, 단순히 잘못된 동작이라는 점을 믿어 주십시오. 사용자 콘텐츠와 번역되지 않은 모든 콘텐츠는 원래 로케일을 유지해야 합니다.

1개의 좋아요

위에서 설명한 “혼합 텍스트 방향 지원” 사이트 설정이 이 목적을 달성하지 못합니까?

2개의 좋아요

이것은 RTL 로케일에 대해 정당한 우려 사항입니다. 이 주제에서 언급했듯이 혼합 텍스트 방향 지원을 활성화하면 문제가 해결되지만, 해당 설정은 사이트 관리자가 활성화해야 하며 사이트의 모든 사용자에게 영향을 미칩니다. 사용자가 선택한 로케일의 방향이 사이트 기본 로케일의 방향과 다른 경우에만 해당 설정을 적용할 수 있는 옵션을 추가할 수 있을 것입니다.

2개의 좋아요

믹스드 콘텐츠가 실제로 어떻게 보이는지 직접 확인하지는 못했지만, 설명에 따르면 원하는 효과를 낼 것 같습니다.
이 설정이 기본값이 되어야 한다고 생각하며, 왜 누군가가 이 설정을 꺼야 할지 의문이 듭니다. 게시물은 작성자가 작성한 그대로 보여야 하지 않나요? 다른 부수적인 영향이 있나요?

저는 포럼 오너가 아닌 일반 회원 자격으로 몇몇 포럼에서 이 버그를 보고했습니다.

나와 같은 사용자들의 경험을 개선해 줄 설정을 변경해 달라고 해당 포럼의 모든 관리자에게 요청해야 한다면 다소 불편할 것 같습니다. 포럼은 기본적으로 모든 사용자에게 잘 보이도록 설정되어 있어야 한다고 생각합니다.

해당 설정이 활성화되면 브라우저에서 텍스트 방향을 찾기 위해 텍스트가 분석됩니다. 이는 사이트의 성능에 일定的인 영향을 미칠 것입니다. 설정을 필요한 사용자들에게만 활성화할 수 있도록 하는 것이 좋겠습니다. 이 설정은 게시글에 코드가 많이 포함된 RTL(오른쪽에서 왼쪽으로 읽는) 사이트를 돕기 위해 설계되었습니다. 해당 경우를 위해 모든 사용자에게 활성화하는 것이 합리적입니다.

사용자의 로케일 방향이 사이트의 기본 로케일 방향과 다른 경우, 게시글 콘텐츠의 텍스트 방향을 자동으로 분석하는 것이 합리적일 수 있다고 생각합니다.

3개의 좋아요

아마도 좋은 접근 방식일 수 있겠네요.
어쨌든, 저는 귀사의 고객 중 한 명으로서 불만을 가지고 이 내용을 여기에 올립니다. 귀사께서 매우 성공적이신 것 같으니, 이 문제가 점점 더 심해지고 있는 만큼 수정해 주시길 바랍니다 :slight_smile:

이 이슈를 Contribute > UX 카테고리로 다시 분류했습니다. 또한, 이 문제를 가장 잘 처리하는 방법에 대해 자세히 살펴보기 위해 저에게도 할당했습니다. 조사 결과를 이곳에 보고하겠습니다.

이렇게 처리하는 것이 맞습니다. 사이트 관리자 @danbars에게 연락해 주세요.

1개의 좋아요

궁금한 점은, 사이트에 RTL 콘텐츠가 전혀 없는 경우에도 해당 설정을 활성화해야 하는 것이 적절한지입니다. 이런 경우에, 사용자의 로케일 방향이 사이트의 기본 로케일 방향과 다르면 사용자별로 해당 설정을 자동으로 활성화하는 것이 합리적일까요? 예를 들어, Meta에서 히브리어 로케일을 선택하면 모든 텍스트 콘텐츠가 잘못된 방향으로 정렬됩니다.