Multilingual Plugin 🌐

Me too, My discourse version is 3.5.0.beta2-dev, discourse-multilingual is latest


Backtrace

app/controllers/extra_locales_controller.rb:39:in `bundle_js_hash'
plugins/discourse-multilingual/extensions/extra_locales_controller.rb:25:in `bundle_js_hash'
app/controllers/extra_locales_controller.rb:44:in `url'
plugins/discourse-multilingual/lib/multilingual/locale_loader.rb:26:in `preload_custom_locale'
plugins/discourse-multilingual/plugin.rb:76:in `block (2 levels) in activate!'
lib/plugin/instance.rb:729:in `block in register_html_builder'
lib/discourse_plugin_registry.rb:230:in `block in build_html'
lib/discourse_plugin_registry.rb:230:in `map'
lib/discourse_plugin_registry.rb:230:in `build_html'
app/helpers/application_helper.rb:572:in `build_plugin_html'
app/views/layouts/application.html.erb:24

Does anyone know how to solve this issue?

1 Like

I using custom names.yml config to change Einglish(US) to Einglish, but it breaked by Oops. Backtrace:

ActionView::Template::Error (Unknown bundle: custom-language)
app/controllers/extra_locales_controller.rb:39:in `bundle_js_hash'
app/controllers/extra_locales_controller.rb:44:in `url'
lib/plugin/instance.rb:729:in `block in register_html_builder'
lib/discourse_plugin_registry.rb:230:in `block in build_html'
lib/discourse_plugin_registry.rb:230:in `map'
lib/discourse_plugin_registry.rb:230:in `build_html'
app/helpers/application_helper.rb:572:in `build_plugin_html'
app/views/layouts/application.html.erb:24
lib/topic_list_responder.rb:15:in `block (2 levels) in respond_with_list'
lib/topic_list_responder.rb:8:in `respond_with_list'
app/controllers/list_controller.rb:347:in `block (2 levels) in <class:ListController>'
app/controllers/list_controller.rb:316:in `public_send'
app/controllers/list_controller.rb:316:in `top'
app/controllers/application_controller.rb:427:in `block in with_resolved_locale'
app/controllers/application_controller.rb:427:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:35:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:409:in `call'
lib/middleware/csp_script_nonce_injector.rb:12:in `call'
config/initializers/008-rack-cors.rb:14:in `call'
lib/middleware/default_headers.rb:13:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
lib/middleware/processing_request.rb:12:in `call'
lib/middleware/request_tracker.rb:385:in `call'
1 Like

After upgrading Discourse, it now shows a banner with

[Admin Notice] One of your themes or plugins needs updating for compatibility with upcoming Discourse core changes. (id:discourse.component-template-overrides) Identified plugin: ‘discourse-multilingual’

So I guess some technical changes to this plugin will be needed before June 2025.

5 Likes

Any update on this from devs?

1 Like

Any idea why my Forum changed its language to English when multilingual plugin was activated? I deactivated the plugin and it is still in English

1 Like

I was able to successfully follow this guide to add translations for categories.
But was unable to successfully get translations for tags to work.

Here is what I have in a tag.ja.yml file:

discussions: ディスカッション
questions: 質問
self-intro: 自己紹介
showcase: 作ってみた
other: その他
guidelines: ガイドライン
updates: 新着

And the result of was this below when switching the interface language to Japanese.

Any help would be appreciated, thanks!

1 Like

@angus Any way to fix the double commas? @Arkshine found the fix here by removing the old CSS:

1 Like

My Discourse is stuck loading. I assume it is the technical changes bug?

Post: Discourse Stuck on Loading (Logs) - #6 by joshhabka

1 Like

@angus Do you know how to completely remove all left-over files/settings from this Multilingual plugin?

1 Like

@Angus Please see new error with the plugin: “500” when saving a post when adding a language tag. Thank you for the development of this plugin :slight_smile:

1 Like

Hi,
I tried to install the Multilingual plugin on my local Discourse forum.
I cloned it with the following command in the plugins folder:

git clone https://github.com/paviliondev/discourse-multilingual

But I cannot find the Multilingual tab in my admin settings. It only appears in the plugins menu, but it doesn’t contain all the settings. What can I do?

it gives this Deprecation notice:
Deprecation notice: add_to_serializer should not be used to directly override include_*? methods. Use the include_condition keyword argument instead
At /workspace/discourse/plugins/discourse-multilingual/plugin.rb:188:in block in activate!

local server log
  • Executing task: bin/rake db:create db:migrate

Deprecation notice: add_to_serializer should not be used to directly override include_? methods. Use the include_condition keyword argument instead
At /workspace/discourse/plugins/discourse-multilingual/plugin.rb:188:in block in activate!
Deprecation notice: add_to_serializer should not be used to directly override include_
? methods. Use the include_condition keyword argument instead
At /workspace/discourse/plugins/discourse-multilingual/plugin.rb:193:in block in activate!
Deprecation notice: add_to_serializer should not be used to directly override include_? methods. Use the include_condition keyword argument instead
At /workspace/discourse/plugins/discourse-multilingual/plugin.rb:199:in block in activate!
Deprecation notice: add_to_serializer should not be used to directly override include_
? methods. Use the include_condition keyword argument instead
At /workspace/discourse/plugins/discourse-multilingual/plugin.rb:312:in block in activate!
Deprecation notice: add_to_serializer should not be used to directly override include_? methods. Use the include_condition keyword argument instead
At /workspace/discourse/plugins/discourse-multilingual/plugin.rb:314:in block in activate!
Database ‘discourse_development’ already exists
Deprecation notice: add_to_serializer should not be used to directly override include_
? methods. Use the include_condition keyword argument instead
At /workspace/discourse/plugins/discourse-multilingual/plugin.rb:188:in block in activate!
Deprecation notice: add_to_serializer should not be used to directly override include_? methods. Use the include_condition keyword argument instead
At /workspace/discourse/plugins/discourse-multilingual/plugin.rb:193:in block in activate!
Deprecation notice: add_to_serializer should not be used to directly override include_
? methods. Use the include_condition keyword argument instead
At /workspace/discourse/plugins/discourse-multilingual/plugin.rb:199:in block in activate!
Deprecation notice: add_to_serializer should not be used to directly override include_? methods. Use the include_condition keyword argument instead
At /workspace/discourse/plugins/discourse-multilingual/plugin.rb:312:in block in activate!
Deprecation notice: add_to_serializer should not be used to directly override include_
? methods. Use the include_condition keyword argument instead
At /workspace/discourse/plugins/discourse-multilingual/plugin.rb:314:in block in activate!

  • Terminal will be reused by tasks, press any key to close it.

  • Executing task: bin/ember-cli -u

Scope: all 16 workspace projects
Lockfile is up to date, resolution step is skipped
Already up to date
Done in 1.4s using pnpm v9.15.7
Ember CLI running on PID: 57615
I, [2025-04-25T12:45:00.214872 #57627] INFO – : Refreshing Gem list
Starting CSS change watcher
[ember-cli] The setting ‘staticAddonTrees’ will default to true in the next version of Embroider and can’t be turned off. To prepare for this you should set ‘staticAddonTrees: true’ in your Embroider config.
[ember-cli] The setting ‘staticAddonTestSupportTrees’ will default to true in the next version of Embroider and can’t be turned off. To prepare for this you should set ‘staticAddonTestSupportTrees: true’ in your Embroider config.
Deprecation notice: add_to_serializer should not be used to directly override include_? methods. Use the include_condition keyword argument instead
At /workspace/discourse/plugins/discourse-multilingual/plugin.rb:188:in block in activate!
Deprecation notice: add_to_serializer should not be used to directly override include_
? methods. Use the include_condition keyword argument instead
At /workspace/discourse/plugins/discourse-multilingual/plugin.rb:193:in block in activate!
Deprecation notice: add_to_serializer should not be used to directly override include_? methods. Use the include_condition keyword argument instead
At /workspace/discourse/plugins/discourse-multilingual/plugin.rb:199:in block in activate!
Deprecation notice: add_to_serializer should not be used to directly override include_
? methods. Use the include_condition keyword argument instead
At /workspace/discourse/plugins/discourse-multilingual/plugin.rb:312:in block in activate!
Deprecation notice: add_to_serializer should not be used to directly override include_*? methods. Use the include_condition keyword argument instead
At /workspace/discourse/plugins/discourse-multilingual/plugin.rb:314:in block in activate!
I, [2025-04-25T12:45:03.044278 #57627] INFO – : listening on addr=127.0.0.1:3000 fd=29
[ember-cli] Proxying to http://127.0.0.1:3000
[ember-cli] building…
I, [2025-04-25T12:45:04.243153 #57627] INFO – : starting 1 supervised sidekiqs
[ember-cli] …[ConfigLoader]
I, [2025-04-25T12:45:04.554744 #57627] INFO – : master process ready
I, [2025-04-25T12:45:04.667840 #57910] INFO – : Loading Sidekiq in process id 57910
I, [2025-04-25T12:45:04.680493 #57914] INFO – : worker=0 ready
I, [2025-04-25T12:45:04.686440 #57919] INFO – : worker=1 ready
I, [2025-04-25T12:45:04.686445 #57924] INFO – : worker=2 ready
[ember-cli] …[Babel: discourse-widget-hbs > applyPatches]
[ember-cli] …[Babel: ember-source > applyPatches]
[ember-cli] …[Babel: dialog-holder > applyPatches]
[ember-cli] …[embroider-template-compile-stage1 > applyPatches]
[ember-cli] …[Babel: select-kit > applyPatches]
[ember-cli] …[@embroider/compat/app]
[ember-cli] …[@embroider/webpack]
[ember-cli] …[@embroider/webpack]
[ember-cli] …[@embroider/webpack]
[ember-cli] …[SourceMapConcat]
[ember-cli] …[Babel: admin > applyPatches]
[ember-cli] …[SourceMapConcat]
[ember-cli] …[Babel: discourse-plugins > applyPatches]
[ember-cli] …[TemplateCompiler > applyPatches]
[ember-cli] …[Babel: discourse-plugins > applyPatches]
[ember-cli] …[SourceMapConcat]
[ember-cli] …[Babel: discourse-plugins > applyPatches]
[ember-cli] …[TemplateCompiler > applyPatches]
[ember-cli] …[Babel: discourse-plugins > applyPatches]
[ember-cli] …[SourceMapConcat]
[ember-cli] …[Babel: discourse-plugins > applyPatches]
[ember-cli] …[SourceMapConcat]
[ember-cli] …[Babel: discourse-plugins > applyPatches]
[ember-cli]
[ember-cli] Build successful (31766ms) – Serving on http://localhost:4200/
[ember-cli]
[ember-cli] Slowest Nodes (totalTime >= 5%) | Total (avg)
[ember-cli] -±
[ember-cli] @embroider/webpack (1) | 21608ms
[ember-cli] Babel: discourse-plugins (29) | 4506ms (155 ms)
[ember-cli] broccoli-persistent-filter:Mapper (36) | 1628ms (45 ms)
[ember-cli]
[ember-cli] (node:57634) [DEP0060] DeprecationWarning: The util._extend API is deprecated. Please use Object.assign() instead.
[ember-cli] (Use node --trace-deprecation ... to show where the warning was created)

2 Likes

This caused broken app, you should upgrade for the latest one:

I had to disable this plugin due to the following error:

ActionView::Template::Error (The asset 'locales/i18n.js' was not found in the load path.)

locales/i18n.js was removed in PERF: Compile main locale bundles just-in-time (#32335) · discourse/discourse@c62a4a4 · GitHub

2 Likes

Hi @angus,

Do you have any update on when a version compatible with Discourse 3.4 will be available?

We’re currently trying to install the plugin on our Discourse 3.4.3 instance, but we’re running into several errors due to incompatibilities.

Thanks in advance for your help!

beacuse of PERF: Compile main locale bundles just-in-time (#32335) · discourse/discourse@c62a4a4 · GitHub, the discourse-multilingual cant be used , do you have the plan to fix about it?

2 Likes