We are working on enabling Greek translations (el) in Open edX Indigo using Tutor 19.0.2, with LMS 4.2.19, and MFE 19.0.0-indigo, but we’ve encountered an issue where translations are not being applied correctly.
We have provided full translations in both .po files (for the backend) and .json files (for the Micro-Frontends - MFE). However, it seems that Open edX only recognizes the .po files, while the .json translations are not loaded in the frontend.
We also checked the existing translation structure inside the system and noticed that while the backend (.po files) is partially recognized, the MFEs seem to ignore our custom translations. Even after rebuilding and restarting the MFE services, the translations remain unchanged.
We have verified that:
The .po files are present in /openedx/edx-platform/conf/locale/el/LC_MESSAGES/ and compiled correctly.
The .json translation files exist in frontend-app-* but are not picked up by MFEs.
We restarted the LMS and MFE services, cleared caches, and rebuilt MFE containers, but the issue persists.
We would love to hear from anyone who has experience with properly applying translations to both the backend (Django) and frontend (MFEs).
Are there additional steps required to ensure that the .json translation files are loaded correctly in MFEs?
Should .po and .json files be handled differently, and is there a specific process to fully integrate them?
If anyone has encountered this issue before, we would appreciate any advice or suggestions on how to resolve it!
Hello,
Thanks for your help, just after checking and what you mentioned we saw that we are still experiencing an issue with loading translations when we run the platform locally.
We have checked the troubleshooting guide and all related instructions.
The local configuration seems correct (the atlas_revision and atlas_repository parameters are set correctly).
We build the image with the command:
tutor images build openedx
Docker build shows that it pulls the translations from the correct repository and branch.
However, when we run the platform locally, the translations do not appear to be applied.
We have also checked if the translations exist inside the container (docker exec), if the system loads the language files correctly and if there is a relevant missing setting in the .env. However, the problem remains.
Is there any additional check we can do or any configuration that might be missing?
If it’s anything other than open-release/*****.master it’ll bring outdated translations.
We have also checked if the translations exist inside the container (docker exec), if the system loads the language files correctly and if there is a relevant missing setting in the .env. However, the problem remains.
Please share more specific examples about the debugging you’ve done? Which strings you’re not finding? How did you exactly debug the issue and what was configured correctly and what isn’t working.
There’s so much parameters when it comes with i18n.
We have provided full translations in both .po files (for the backend) and .json files (for the Micro-Frontends - MFE). However, it seems that Open edX only recognizes the .po files, while the .json translations are not loaded in the frontend.
How did you provide the translations? Is it up to date in Transifex and merged into the openedx-translations repository?
I found the solution to the problem! Apologies for my delayed response.
I had initially run only the tutor images build openedx command which is mentioned in the documentation, but this wasn’t sufficient for the translations in the MFE components.
The crucial missing step was to also execute the command:
The complete procedure that ultimately worked for me was:
Adding the .po/.json translation files to the correct locations
Running the command tutor images build mfe
Restarting with tutor local restart
I would like to thank everyone for your responses and the valuable time you dedicated to helping me. I believe it would be useful if this information about the tutor images build mfe command were added to the official documentation, to avoid the same confusion for future users who want to apply translations to MFE components.
Great to hear that @anastasiouxrhstos, kindly consider adding the note to the documentation. Your experience as a first-time user of Tutor i18n matters a lot.
The location of the docs on GitHub is the following:
That addition (tutor images build mfe) is exactly what was missing and it will be super helpful to others dealing with MFE translations.
As of today, I noticed it’s not yet published on the main docs site at this section: Configuration and customisation — Tutor documentation
So just leaving this comment in case someone else follows the docs and gets stuck like I did.
Thanks again for taking this up so quickly — and also thanks to everyone else who took the time to help!