Thank you very much for the feature allowing users selecting their preferred locale. Very helpful for communities living multilingual realities!
Have you considered to allow users to define their preferred locale at registration time? This is the point of time when it makes more sense for a user to make that choice in order to discover the new community in their preferred language.
Offering selection of locale in the registration form would solve two related problems:
Discobot would send users its first message in their preferred language already. That makes Discobot cooler and easier to be understood by everyone. Currently there is no workaround for this, Discobot’s first message will arrive in the default language always.
Discovering the possibility of changing your locale takes a certain skill, especially when you are a new user, perhaps using a complex interface for the first time, perhaps in a language you are not very fluent. Users need to know that such feature exists and can be found in almost the very last corner of their user settings. This can be solved socially by adding the note in the welcoming topic, but it is suboptimal for various reasons.
Selection of a preferred language is basically a one-time choice. Registration is the right time for it. Implementation of this feature is probably not that complex?
I feel like we need a better copy for the instructions. IMO it shouldn’t exceed the width of the selectbox, but I couldn’t come up with a shorter one. Any ideas?
I feel like this is a tad too late, what if categories allowed you to set locale in category settings?
Then when anon clicks on a topic or category in such a locale the interface could switch locales and clicking register would already be in the correct locale which could be carried over
Why the registration form is too late? If the user reached that form is because they could find their way in the default language of the forum, which would appear as default also in the form (i.e. Russian if the default is Russian, not English).
I guess we have two fundamental types of potential multilingual Discourse sites
Support forums and similar international services or communities where you might find users from everywhere. Many unrelated languages can be expected, English acts as lingua franca, most users don’t know many of the languages.
Multilingual communities sharing territory or cultural background. 2-3 related languages can be expected, English might not be one of them, and most users can probably read all of them and speak/write at least one.
In the first case different languages will be probably structured and separate. Switching locales for anonymous users and proceeding with @sam’s idea might work well.
However, in the second case things may (and frequently do) get quite mixed, and frictions are not uncommon. Imagine forums combining Russian-Ukranian, Bosnian-Croatian-Serbian…, Finnish-Swedish, Catalan-Spanish, Arabic-French… Anonymous users could be changing locales click after click. There administrators might prefer to avoid tying categories or topics to languages altogether, because that promotes some kind of segregation. Imagine a proud Ukranian speaker that, after reading the last topic in Russian, is offered Russian registration in a (maybe proud) Ukranian community.
If you have any friends from these regions in Facebook, go visit their walls and you’ll see. I bet it can be the same for i.e. Hebrew/English.
To make it even funnier, it is not uncommon that users reading, say, Catalan/Spanish with native fluency still prefer English UI because they are used to it. Therefore, you may have communities producing no English content but still having users who will choose the English locale.
There is already a site setting (set locale from accept language header) which uses the browser’s Accept-Language HTTP header for anonymous users. I guess this could be used to set the initial value for the locale on the registration form and it might already set the locale during signup.
I feel like in many communities the category based “language” selection both solves a big problem with signup and leaves users with less choice which is great.
Involving Discobot in a multi lingual interface forum where people generally speak multiple language is a great way of introducing the concept of preference.
Whatever solution we come up with for signup should be more inline with what facebook do. Cause plenty of people on the planet have no idea what the glyphs “Language” mean. So how are they expected to even fill out the form.
Facebook sets their login form from the accept language headers. You have to clear your browser’s cookies to see it. A big difference between facebook and Discourse is that facebook doesn’t display content to anonymous users, so they only have to deal with the login page.
I meant that a combo box is kind of weak on the signup page. Instead a footer on the login modal that displays a list of languages (spelled in the actual language) is the way to go.
It does beg the question about how someone is going to even select “Sign Up” when they have no idea what those glyphs mean, which is why I am so uneasy about this.
I think automagically inferring language from the browser’s language setting is always preferable to what @icaria36 proposed, above, and we do support that via an experimental site setting, set locale from set language header
It utterly destroys anon caching though which is why it is such a dangerous setting and not enabled by default.
So maybe this request only matters in the very narrow case of people who are multi-lingual, and hitting websites broadly available in multiple languages, who say
Oh my browser says I am in France but I speak French, English, German, and Chinese and right now I prefer to use Chinese on this particular website.
Furthermore, the “explicit language set per category” thing is also extremely strong, and matches the topic @erlend_sh already set up about localizing Discourse for multi-language sites.
Maybe the anonymous cache key could be set differently for forums that require login to view content. It would require having login_required and possibly supported_locales available as Global Settings. It could be useful for customer support forums.
Getting real tired of the off-topic posts here and I will be deleting aggressively. So before posting any more replies, re-read the title and first post and ask yourself, “Am I sure I am posting something that is actually what this topic is about?”
이 요청은 거의 3년 전의 것이지만, 나도 여기에 동의를 표하고 싶습니다. 현재 구성은 영어를 모국어로 하지 않는 사용자들을 완전히 혼란스럽게 만들고 있습니다. 가입 페이지는 브라우저 언어로 표시되지만, 가입과 동시에 앱 설정이 의미하는 바와는 무관하게 앱이 영어로 되돌아갑니다.
set locale from accept language header 설정이 활성화된 경우, 헤더에서 발견된 로케일(언어 설정)로 계정이 생성되는 것이 예상되는 동작입니다. 사용자는 여러분의 사이트에서 어떻게 계정을 생성하고 있나요? SSO를 통해 계정이 생성되는 경우, 이 방식은 작동하지 않습니다. SSO 로그인에서는 로케일을 SSO 페이로드에 설정해야 합니다.
해당 설정이 예상대로 작동하는지 확인하기 위해 https://try.discourse.org/에서 해당 설정을 임시로 활성화하고, 브라우저 로케일을法语(French)로 설정한 뒤 사용자명/비밀번호 등록과 Twitter 인증을 통한 계정 생성을 모두 시도해 보았습니다. 두 경우 모두 내 사용자 로케일이 올바르게法语(French)로 설정되었습니다. 현재 https://try.discourse.org/에서는 해당 설정을 비활성화해 두었습니다.
set locale from accept language header 설정이 활성화된 경우, 헤더에서 발견된 로케일로 계정이 생성되는 것이 예상되는 동작입니다.
저도 같은 기대를 하고 있었습니다.
사용자들이 여러분의 사이트에서 계정을 어떻게 생성하고 있습니까? 계정이 SSO를 통해 생성되고 있다면, 이 방식은 작동하지 않을 것입니다. SSO 로그인에서는 SSO 페이로드에서 로케일을 설정해야 합니다.
햄버거 메뉴를 클릭하고, 관리자, 사용자, 초대 보내기, 초대 보내기를 선택하면 대화상자가 나타납니다. 이메일 주소를 입력하고 초대 보내기를 클릭합니다. 사용자를 추가하는 다른 방법은 알지 못합니다.
설정이 예상대로 작동하는지 확인하기 위해 https://try.discourse.org/에서 해당 설정을 일시적으로 활성화하고, 브라우저의 로케일을 프랑스어로 설정한 뒤, 사용자명/비밀번호 등록과 Twitter 인증을 통한 계정 생성의 두 가지 방식으로 계정을 생성해 보았습니다. 두 경우 모두 내 사용자 로케일이 올바르게 프랑스어로 설정되었습니다. 현재 https://try.discourse.org/에서 해당 설정을 비활성화했습니다.
왜 결과가 다르게 나타나는지 모르겠습니다. 예비 이메일 주소로 제 자신을 초대하고, 예비 브라우저의 로케일을 프랑스어로 설정한 뒤, 해당 브라우저에서 가입 링크를 열면 계정 확인 페이지(이름과 비밀번호를 선택하는 곳)는 프랑스어로 표시됩니다. 하지만 그 이후의 모든 페이지는 영어로 표시됩니다.
이것이 문제를 일으키는 원인입니다. 초대를 수락하여 계정이 생성되면 사용자의 브라우저 로케일과 관계없이 사용자의 로케일이 사이트의 기본 로케일로 설정됩니다. 이는 우리가 수정할 수 있는 문제일 수 있습니다.
set locale from accept language header 설정은 사용자가 가입 버튼을 클릭하여 사이트에 가입하고 가입 양식을 제출할 때 올바른 로케일로 계정을 생성합니다. 사용자가 초대를 수락하여 계정을 생성할 때 동일한 논리를 적용할 수 있을지도 모릅니다.
초대 수락 시 언어 헤더에서 로케일을 설정하는 것은 구현 가능한 것으로 보입니다. 이는 현재 사용자 이름/비밀번호 등록 시 사용되는 로직과 유사한 방식을 사용할 수 있기 때문입니다.
질문자님이 요청하신 것은 초대 보내기 시점에 사용자의 로케일을 설정할 수 있는 기능인 것 같습니다. 이전에 이와 유사한 요청이 있었던 것으로 기억합니다. 일부 사이트에는 유용한 기능이 될 수 있다고 생각하지만, 구현되기까지는 몇몇 사이트에서 같은 요청이 더 들어와야 할 가능성이 큽니다.