ejabberd icon indicating copy to clipboard operation
ejabberd copied to clipboard

The Conversejs interface is not displayed in languages other than English.

Open lBARSl opened this issue 1 month ago • 8 comments

Does not work:

  mod_conversejs:
    bosh_service_url: https://example.com:5000/bosh
    conversejs_css: "converse.min.css"
    conversejs_options:
      assets_path: '/conversejs'
      i18n: 'de'
      theme: 'dracula'
      authentication: 'login'
      auto_away: 300
      auto_reconnect: true
      message_archiving: 'always'
      view_mode: 'fullscreen'
      show_background: true
    conversejs_plugins: ["libsignal-protocol.min.js"]
    conversejs_resources: "/etc/ejabberd/conversejs-12.0.0/package/dist"
    conversejs_script: "converse.min.js"

Does not work:

  mod_conversejs:
    bosh_service_url: https://example.com:5000/bosh
    conversejs_options:
      i18n: 'de'
      theme: 'dracula'
      authentication: 'login'
      auto_away: 300
      auto_reconnect: true
      message_archiving: 'always'
      view_mode: 'fullscreen'
      show_background: true
    conversejs_plugins: ["libsignal"]

Top-Level Options - language: de

Debian13 ejabberd 25.10

lBARSl avatar Nov 18 '25 11:11 lBARSl

mod_conversejs correctly sends the i18n option to Converse, and serves the language files correctly. If you try:

  • Converse 11.0.1: the feature works correctly
  • Converse 12.0.0: fails, as you explained
  • Converse from git: the feature works correctly.

The problem is in Converse 12.0.0, and was solved here: https://github.com/conversejs/converse.js/commit/96bb51e8fa6145af628c026e7cfdb05ea9039f55

You have two solutions:

  • Use Converse 11.0.1
  • Download and compile Converse from git, which is already fixed.

Please try and confirm that avoiding Converse 12.0.0 solves the issue for you too.

badlop avatar Nov 18 '25 12:11 badlop

I would like to use release 12 with all subsequent additions. How can I create a release myself? Please explain.

lBARSl avatar Nov 19 '25 06:11 lBARSl

I also checked conversejs versions 11.0.1, 11.0.0, 10.1.8. Only the English interface is displayed everywhere. The interface is not available in other languages.

lBARSl avatar Nov 19 '25 10:11 lBARSl

The feature works correctly when using Converse 11.0.1. Here I provide a 100% reproducible guide. If you repeat those same steps, you will see that it works. Then you can investigate what you have different in your real server, to determine why it doesn't work for you:


  1. In a text console, start ejabberd 25.10 in a container using Podman:
podman run --name eja -it --rm -p 5443:5443 ghcr.io/processone/ejabberd:25.10 foreground

  1. In another console, run those instructions to download Converse 11.0.1, uncompress, configure ejabberd to use it:
podman exec -it eja wget https://github.com/conversejs/converse.js/releases/download/v11.0.1/converse.js-11.0.1.tgz
podman exec -it eja tar -xzf converse.js-11.0.1.tgz
podman exec -it eja sed -i 's|request_handlers:|request_handlers:\n      /conversejs: mod_conversejs|' conf/ejabberd.yml
podman exec -it eja sed -i 's|modules:|modules:\n  mod_conversejs:\n    conversejs_resources: /opt/ejabberd/package/dist\n    conversejs_options:\n      i18n: "pt"|' conf/ejabberd.yml
podman exec -it eja sed -i 's|tls: true|tls: false|' conf/ejabberd.yml
podman exec -it eja ejabberdctl reload_config

With those changes, the configuration file includes the lines:

listen:
  -
    port: PORT_HTTP_TLS
    ip: "::"
    module: ejabberd_http
    tls: false
    request_handlers:
      /conversejs: mod_conversejs
      /admin: ejabberd_web_admin
      /api: mod_http_api
      /bosh: mod_bosh
      /captcha: ejabberd_captcha
      /upload: mod_http_upload
      /ws: ejabberd_http_ws
...

modules:
  mod_conversejs:
    conversejs_resources: /opt/ejabberd/package/dist
    conversejs_options:
      i18n: "pt"
...

  1. Now open the URL http://localhost:5443/conversejs/ in Firefox, Chrome, Brave, Opera.... In all cases the formulary fields are in Portuguese:
Image

badlop avatar Nov 19 '25 12:11 badlop

11.0.1 is working. Thank you. Found an error: assets_path: '/conversejs' - It was. It's not right. assets_path: '/conversejs/' - became. Right.

lBARSl avatar Nov 19 '25 15:11 lBARSl

I would like to use release 12 with all subsequent additions. How can I create a release myself? Please explain.

lBARSl avatar Nov 19 '25 15:11 lBARSl

How can I create a release myself?

Steps 1, 2, 3 from https://conversejs.org/docs/html/quickstart.html#c-build-from-source

badlop avatar Nov 19 '25 16:11 badlop

I created a new release according to the instructions, but the problem with the English interface remained.

http://localhost:8080/dev.html it works correctly and displays the interface in the i18n language specified in its code.

Which files and folders should be transferred to the ejabberd server later? I moved the folders - 3rdparty, dist, docs, src and files - CHANGES.md , COPYRIGHT, LICENSE, package.json, README.md

lBARSl avatar Nov 20 '25 11:11 lBARSl

The problems related to ejabberd are addressed. The remaining doubts and problems are not related to ejabberd, so I'll close this issue.

badlop avatar Dec 12 '25 16:12 badlop