Internationalisation / multilingual forum

Multilingualism is not mature in Discourse. I’m starting this thread to synthesize our options.

There is a plugin which is complex:
His author is writing: This plugin is complex. Getting the backend right(ish) has been a journey, which is not yet complete. Please do not use it in production without testing it in a staging environment first.

Frankly, I would wait for a better integration and support.

Another Discourse user made an interesting synthesis:
From what I’ve gathered there are 3 options for running a multi-language community:
1. Separate sites for every language.
2. Make a category for every language
3. Make a tag for every language

I don’t feel n°1 is a good option. We could start with option 2 or with a mix of 2 and 3:

  • category “France” will mainly gather messages in French
  • but posts are also allowed in any language (with a tag dedicated to the language)

I think we should list what could be translated to enhance user experience:

Next step ?

  1. Install translator plugin : GitHub - discourse/discourse-translator
  2. Test it with LibreTranslate: GitHub - LibreTranslate/LibreTranslate: Free and Open Source Machine Translation API. 100% self-hosted, offline capable and easy to setup.
1 Like

First tests:

  • I have created en and fr tags
  • I have tagged some articles with en and fr, depending on their language
  • clicking on one of those two categories list all messages of each category (ie all messages in english, all messages in french)
  • I have modified the banner with an english and a french paragraph (and nice flags to let people recognize the language).
  • It’s very easy to add flags in the text: just use :uk: or :fr: to get :uk: and :fr:.

Work in progress:

  • Tried category description in both English and French:
    • About the Introducing yourself category
    • Two flags tell the languages of the text; then each language is announced by its corresponding flag
    • CON: the title is not translated
    • CON: the description of the category, displayed on the home page, is in English only (it corresponds to the first paragraph of the post)

Discourse translator plugin has been installed and activated.

A little “globe” icon is now located next the “like” icon, and allows to get a translation if the post is not in your default interface language.

Just click on it to get a translation !