I think your examples are implementation choices that don’t have to be that way. For example, there is a default locale on every instance. If it’s important that every user get the exact same information, then for every piece of text, check if the default language text is overriden. If it is, and the user locale is not overriden then show the text in the default locale.
Or alternatively, don’t do that at all. Leave it as is. The default text in every language is (or should be) designed to be really good. Not all users get the fully customized experience, a couple of the elements on screen might be unhelpful. But the alternative is having 100% of the elements be unreadable and unhelpful.
In both cases, the admin really only needs to do as much extra work as they want to. If you aren’t fluent in the default locale, then every single piece of text that is translated for you is a net positive.
I think it’s a shame that so much effort is put into making Discourse thoroughly and deeply multilingual but the default settings will probably make most sites exclusively unilingual. It also means that Discourse as a software misses the opportunity to show itself off as a rich multilingual platform to potential adopters because I’d hazard a guess that the majority of instances are exclusively English. It’s an accessibility issue in my opinion.
I completely disagree. I’ve had a user from South America extremely grateful when I showed him the option to change the UI locale. It definitely improved his experience. Another user visited from Japan and explained how he was intimidated to post on an English site and had a very difficult time uploading an image. He kept hitting reply before the upload finished. I checked and noticed that his locale was on English and that motivated this thread in the first place.