Multilingual Plugin (Recommended Approach)
The most straightforward way to achieve what you describe is with the Discourse Multilingual plugin (developed by Pavilion and widely discussed on meta.discourse.org).
-
How it works:
-
Administrators define supported content languages (e.g., French, Japanese, English).
-
Each topic gets automatically associated with a content language tag (e.g., lang:fr for French, lang:ja for Japanese) based on the user’s interface language at the time of posting or via admin settings/detection.
-
Users select their preferred content language(s) in their user preferences (or it can default to their interface locale).
-
When viewing the forum in a specific language view (or with a chosen content language filter), only topics in that content language are shown in topic lists, latest views, etc. Topics in other languages are hidden from that view.
-
French content becomes visible primarily (or exclusively) in the French language view/filter, while users in the Japanese (or English) view do not see it by default. The same applies symmetrically for Japanese content.
-
-
This creates a “siloed” experience per language while keeping everything on one site. Users can sometimes override to see multiple languages if configured, but the default filtering hides cross-language content as you asked.
-
Additional features in the plugin include admin tools for managing languages, automatic tagging, and integration with translation options.