Search code examples
pythonlocalizationinternationalizationedxtransifex

Edx-platform localization doesn't take effect


As per this link: https://github.com/edx/edx-platform/wiki/Internationalization-and-localization

Edx is still showing in english .. to be exact, I did the following items:

1- created a ~/.transifexrc file as root

2- added those items to it:

[https://www.transifex.com]
hostname = https://www.transifex.com
username = user
password = pass
token =

3- switched to edxapp environment

  • source /edx/app/edxapp/edxapp_env
  • cd /edx/app/edxapp/edx-platform

4- changed the language code LANGUAGE_CODE = 'ar' in lms/envs/common.py

5- pulled all the translation files:

  • $ paver i18n_robot_pull

Now, what shall be done, as the web interface still shows in English.


Solution

  • I knew that the above change has been working, as I tested things in development mode with a custom devstack settings file by directly setting the required lang. code in LANGUAGE_CODE variable, then ran those dev. servers to see how things will work:

    • /edx/app/edxapp/edx-platform/manage.py lms runserver --settings=devstack 0.0.0.0:9999
    • And so did with the Studio app
    • /edx/app/edxapp/edx-platform/manage.py lms runserver --settings=devstack 0.0.0.0:9999

    Both were working fine ... I'm on the right path !!

    After doing the above steps (listed in the question), I did also the following

    I changed the LANGUAGE_CODE to the desired lang. code in both of the following files inside this directory /edx/app/edxapp

    • lms.env.json
    • cms.env.json

    Then I restarted all the workers in supervisors so that the change can take effect:

    • source /edx/app/supervisor/venvs/supervisor/bin/activate
    • supervisorctl restart all

    P.S. It might take a minute or two after supervisord restart so changes take effect

    Now everything works beautifully !!