사용자의 위치에 따라 로케일을 추천하는 방법이 있을까요?

제 사이트는 주로 영어로 되어 있지만 가끔 일본 방문자들도 있습니다. Discourse는 언어 접근성 측면에서 강력한 도구이지만, 사용자가 자신의 언어 설정을 변경할 수 있다는 사실을 모르고 있는 경우가 매우 빈번하게 발생합니다.

설정 변경을 위한 동작 순서가 꽤 복잡합니다. 예를 들어 모바일에서는 다음과 같습니다:

  • 아바타 사이드바 열기
  • 사용자 아이콘 누르기
  • 영어로 "Preferences"라고 표시된 기어 아이콘 누르기
  • 오른쪽으로 스크롤하여 컴퓨터 화면 아이콘이 있는 7번째 설정인 “Interface” 보기
  • "Interface language"라고 표시된 4번째 설정까지 아래로 스크롤

만약 영어를 몰라도 이 설정의 존재를 안다면 우연히 찾아갈 수 있을지 모르지만, 그래도 여전히 까다로울 것 같습니다.

Header Locale Selector 의 아이디어는 마음에 듭니다만, 보려면 계정이 필요합니다(익명 방문자의 경우에도 로케일을 변경할 수 있을까요?). 또한 사용자의 평생 동안 0~1회 정도만 사용될 것으로 예상되는 설정이 헤더의 매우 소중한 공간을 차지한다는 점도 문제입니다.

따라서 제 질문은, 영어가 주요 언어가 아닌 지역에서 접속하는 신규 사용자(그리고 이상적으로는 익명 사용자)에게 언어 설정 변경을 유도하는 지혜로운 방법이 있는지 여부입니다.

set locale from accept language header 옵션을 활성화하면, 사용자가 브라우저에서 선택한 언어로 인터페이스를 표시합니다.

네, 제가 원했던 바로 그거네요. 감사합니다!

기본적으로 꺼져 있는 게 좀 이상하네요 :thinking:

그건 allow user locale 옵션도 기본적으로 꺼져 있기 때문이라고 생각합니다.

이것도 내게는 도무지 이해가 되지 않습니다. 아무런 분명한 이유도 없이(적어도 내가 볼 수 있는 범위에서는) 사이트의 일부 사용자에게 더 낮은 사용성과 접근성을 제공하도록 선택하는 것은 말이 되지 않습니다.

만약 이 기능이 기본적으로 켜져 있었다면, 해당 언어를 읽을 수 있는 사용자에게는 아무런 비용이 들지 않을 것이며, 영어(제 포럼의 경우)를 제2언어로 사용하는 사용자에게는 오히려 이점이 될 것입니다.

이는 일부 소수의 사용자를 위해 웹사이트를 기본적으로 흑백으로 표시하는 색상 설정과 같습니다.

사용자가 로케일(언어)을 선택할 수 있도록 허용하면 사이트를 커스터마이징하는 데 훨씬 더 많은 노력이 필요하다고 생각합니다. 예를 들어, 다른 로케일을 허용하지 않은 상태에서 환영 메시지를 편집할 때는 텍스트를 하나만 수정하면 됩니다. 하지만 다른 로케일을 허용하면 모든 로케일에 대해 각각 별도로 수정해야 하며, 이를 잊어버리면 모든 사용자가 동일한 정보의 메시지를 받지 못하게 됩니다. 검색 배너나 환영 링크 배너와 같은 테마 컴포넌트도 마찬가지입니다.

Discourse Discover의 국제 섹션을 보면, 기본 “Welcome to our community” 텍스트를 사용한 배너가 포함된 스크린샷을 볼 수 있습니다. 제가 해당 포럼들을 방문했을 때, 많은 곳이 배너 텍스트를 커스터마이징했지만 모든 로케일에 대해 그렇게 하지는 않은 것을 알게 되었습니다. 따라서 저는 테마 컴포넌트가 기본 독일어 텍스트를 제공하지 않기 때문에 커스터마이징된 텍스트를 보게 되지만, 브라우저 언어를 미국 영어로 설정한 사용자는 스크린샷이 촬영될 때와 마찬가지로 기본 텍스트를 보게 됩니다. 따라서 현재로서는 이 문제가 미국 영어를 브라우저 언어로 사용하는 사용자들에게만 영향을 미칠 수 있으며, 이 텍스트를 번역하는 것은 그렇게 많은 노력이 들지 않습니다. 하지만 영국 영어가 컴포넌트에 추가되면 관리자는 해당 문자열도 변경해야 하고, 누군가 독일어를 추가하면 다음 텍스트도 편집해야 합니다. 즉, 다른 로케일을 위해 문자열을 변경해야 한다는 점만 알아차리는 것이 아니라, 커스터마이징을 위해 새로운 로케일이 추가되었을 때에도 이를 알아채야 합니다.

다른 로케일을 허용하는 것은 관리자에게 훨씬 더 많은 업무를 초래할 수 있습니다. 사람들이 오직 하나의 언어로만 소통하는 커뮤니티에서는 이 노력이 가치가 없을 수 있습니다. 어쨌든 사용자는 그 언어로 소통해야 하므로, 인터페이스가 사용자의 언어로 되어 있는 것만으로는 큰 도움이 되지 않습니다.

저희는 여러분의 예시들이 반드시 그렇게 되어야만 하는 구현 선택 사항이라고 생각합니다. 예를 들어, 모든 인스턴스에는 기본 로케일이 있습니다. 모든 사용자에게 정확히 동일한 정보를 제공하는 것이 중요하다면, 각 텍스트 조각에 대해 기본 언어 텍스트가 오버라이드되었는지 확인해야 합니다. 만약 오버라이드되었고, 사용자 로케일이 오버라이드되지 않았다면 기본 로케일의 텍스트를 표시하면 됩니다.

또는 아예 그렇게 하지 않아도 됩니다. 그대로 두면 됩니다. 모든 언어의 기본 텍스트는(또는 그래야 합니다) 정말로 훌륭하게 설계되어 있습니다. 모든 사용자가 완전히 맞춤형 경험을 얻지는 못하며, 화면의 일부 요소가 유용하지 않을 수 있습니다. 하지만 대안은 화면의 100% 요소가 읽을 수 없고 유용하지 않은 상태가 되는 것입니다.

두 경우 모두에서, 관리자는 원하는 만큼만 추가 작업을 수행하면 됩니다. 기본 로케일에 능숙하지 않다면, 여러분을 위해 번역된 모든 텍스트 조각은 순이익(net positive)입니다.

Discourse를 철저히 그리고 깊이 있는 다국어 플랫폼으로 만들기 위해 많은 노력이 기울여지고 있는데, 기본 설정이 대부분의 사이트를 사실상 단일 언어로만 만들 가능성이 높다는 점은 유감스러운 일이라고 생각합니다. 또한 이는 Discourse 소프트웨어가 잠재적 채택자들에게 자신들이 풍부한 다국어 플랫폼임을 보여줄 기회를 놓치게 한다는 것을 의미합니다. 제 추측에 따르면, 인스턴스의 다수가 영어 전용일 가능성이 높기 때문입니다. 제 생각에는 이는 접근성 문제입니다.

저는 이에 전적으로 동의하지 않습니다. 남미에서 온 한 사용자가 UI 로케일을 변경하는 옵션을 보여줬을 때 매우 감사해한 적이 있습니다. 분명히 그의 경험을 향상시켰습니다. 일본에서 방문한 다른 사용자는 영어 사이트에서 게시물을 올리는 것이 부담스러웠고, 이미지 업로드를 하는 데 매우 어려움을 겪었다고 설명했습니다. 업로드가 완료되기 전에 계속 답글을 누르고 있었습니다. 확인해 보니 그의 로케일이 영어로 설정되어 있었고, 이것이 이 스레드를 처음에 만들게 된 동기였습니다.