Enabling only certain "language interface preference" & other locale questions

AI-generated summary

A community administrator is preparing a community that will require a user interface in English and two additional non-core languages/locales. They want to keep the “Allow users to choose their own language interface preference” option available, but limit the choices to only these three languages. They are seeking guidance on how to achieve this, and have found a potential solution in the Multilingual Plugin.

They are also exploring the use of a locale plugin to add custom languages, and have successfully implemented it, but are unsure how it will work in production. Additionally, they need to disable the markdown rule that converts two hyphens to an emdash, as it is an orthographic feature of one of the languages. They discovered that disabling the “Typographer” option in site settings resolves the issue, but would prefer a more targeted solution that only disables the specific rule.

Hi, I am preparing a community that will need user interface in English & 2 additional non-core languages/locales.

(Just an aside, we will need to do our own translations without CrowdIn. The language is not really appropriate for core for a variety of reasons, at least not at this time – it’s typically only spoken, so the written forms are very nonstandard.)

I would like to keep the “Allow users to choose their own language interface preference” available, so that users can switch between these 3 languages/locales, but not all of the other languages that are not useful for this community. We will likely have many older & non-tech savvy users, so presenting fewer options is important. I haven’t seen any posts describing, or been able to figure out myself exactly what I need to edit to remove all of the other language options from the list. Could anyone explain that?

Also, could anyone confirm if the “correct” way to achieve custom languages is through a locale plugin as described here? I assume I can do both languages / locales in a single plugin?

And last question - I need to disable the markdown rule which converts 2 hyphens to an emdash, could anyone point me in the right direction for that?

Thanks


Edit/update:

I believe I found the solution to the first problem here.

The second problem (locale plugin) seems to work, but I had quite some trouble figuring out how to make it reload on my local development server - ultimately found out that deleting the tmp folder every time I want to see changes does work. Not sure how this works in production? I will definitely need to frequently update the translation strings as we build them.

No apparent solution to the final issue yet, and that’s very important for me as “double hyphen” is an orthographic feature of the language.

I just found out about the “typographer” option already in site settings - so disabling that works. Although unfortunately I lose all the other niceties. It would be great if it were possible to only disable the -- > en-dash rule, but I assume that’s not too easy after looking through the relevant markdown-it code.