Best practice to managing a multi-language community?



Hello everyone!

There has been some discussion about how to manage a multi-language community. Like this, this and this.

From what I’ve gathered there are 3 options for running a multi-language community:

1. Separate sites for every language.

  • Categories are preserved in every language.
  • Users see only their native language.


  • Communities are separated with little to zero interaction.

2. Make a category for every language

  • Language communities interact.
  • Multi-language speaking users can add more value and volunteer translating.
  • Users see only their native language inside category


  • Categories are preserved only in the main language. Other languages get 1 category where everything is posted.

3. Make a tag for every language

  • Language communities interact.
  • Multi-language speaking users can add more value and volunteer translating.
  • Categories are preserved in every language.


  • Users see posts in languages that they don’t speak.

What’s been your experience? Which approach did you choose? Are there any other ways to manage multi-language communities?

All feedback is appreciated.

Thank you.

Predetermined Tags
Hide categories from specific groups

I do not see that as a con. Someone who speaks Italian would peruse the Italian tag and see all topics where Italian is the lingua franca.

Now, searching for all topics tagged as Italian AND in the cooking category would require a new option (tag:foo) for the search function.

Then all they need to do is go to search and type tag:italiano category:cooking.

Hmm. This makes me wonder why the search page isn’t styled more like the topic-view for consistency so this would be more intuitive.

Anyway, a tangent. I think tags would be your best bet. I understand that when you mean “they see posts in languages they don’t speak” means they have to wade through all the topics they have zero ability to comprehend to reach what they can understand.

A little developer elbow grease would make that less of a problem and thus tags would be the most optimal choice for a multilingual community.


Thank you for creating this thread, I was about to create a similar one now. As i had a bit of experience in working in multi language communities (active for sure), here are my remarks

From a user perspective

  • Browse one language at a time.
  • Ability to switch easily between languages, some are bilingual and usually English is global.
  • Having different categories

From an admin perspective

  • Run one platform rather than running one for each community
  • ability to customize each language sub-forum (let’s say we have banners in the homepage) It’d be great to make it depend on your language.

add to that cons, too much work that has to be repeated if you need to synchronize these servers
Users database could be linked, but I’m not sure if it’s fully synchronized. Which matters for loyalty levels and so.

[quote=“mikedyang, post:1, topic:34664”]
3. Make a tag for every languagePros- Language communities interact.- Multi-language speaking users can add more value and volunteer translating.- Categories are preserved in every language.

Cons- Users see posts in languages that they don’t speak.
[/quote] That’s messy as you said, especially if you have an active community in each language.

Almost perfect, but still other languages show in recent/latest/new and so. My ideal solution is a bit similar.

I’ve thought for a long time, how could we solve this using Discourse. Running one community is way easier for managers and for users who can use different languages. The tools currently available in Discourse are great to support it and needs some tweaks to make it work.

So my solution would be the following:

  1. Creating all languages in the same level, let’s say Cat1(EN), Cat1(ES), Cat1(DE), Cat2(EN) and so on.
  2. Create custom user fields, make this field “Language”.
  3. Automatically create a group for people with this custom field (English, Spanish and Deutsche)
  4. These categories will be shown only to users with these custom fields. News(EN) for those who chose English, etc.
  5. Users can change this at anytime to switch between languages. It could be integrated in the UI to make it even easier.
  6. Another thing is the interface language, instead of making it a default for the site. It could be adjusted according to these groups.
  7. Could have\en as a permalink to show you English categories etc.

What’s different about this solution?

  • You keep your two levels of categorization.
  • Users won’t be distracted with other regions/languages content in latest/new
  • One site and one back-end

What kind of development needed to make this work?

  • Make a unique custom fields for languages
  • detect this custom field and take action based on it
  • Categories to be shown to certain groups only
  • Based on this custom fields also, it’ll automatically change the Interface language to that language, but users can change it if they wanted to.

(Robert) #4

@mikedyang already considered for a multi-language community:

  • separate discourse instances
  • category for every language
  • tag for every language

I suggest a 4th option: Groups for every language.

Discourse know allows open access groups: users can join and leave freely.

One could give access certain categories only for members of certain groups.



  • digest does not contain other languages


  • more content is private and cannot be oneboxed from other places.

(Christoph) #5

I really like this. And I believe it is possible to more or less implement already now if you skip the custom fields (no need, people can just join the groups) and step 3. So my modified suggestion would be:

  1. Create groups for each supported language.
  2. Create duplicates of each category for every language you want to support. And make them visible/writable only for members of the respective language.
  3. Explain to your users that if they join any of these groups, they will be able to see the categories in the respective language.
  4. Users can choose which languages they want to see (even multiple at the same time) by joining the respective language groups.
  5. Enable “Allow user locale” in the settings to allow users choose the UI language they prefer (regardless of which groups they are in)

The only downside of this solution that I can see is that only the default language categories will be visible to people who are not logged in. In order to see the other ones, they have to log in and join the language group.

Make a multi-language forum
Hide categories from specific groups
(Stephen Chung) #7

You lose the ability to award badges in all your categories…