-
Notifications
You must be signed in to change notification settings - Fork 0
Internationalization and localization
We are currently hosting all translations of Open edX framework on www.transifex.com. Please feel free to make translation contributions there.
You should also join the openedx-translation Google Group.
In order to run your Open edX instance under a different spoken language, for instance for Spanish (Latin American):
-
Switch to edxapp environment: sudo -H -u edxapp bash source /edx/app/edxapp/edxapp_env cd /edx/app/edxapp/edx-platform
-
Configure your
~/.transifexrc
file:[https://www.transifex.com] hostname = https://www.transifex.com username = user password = pass token =
Token is left blank. You have to have permissions for the project (edx-platform) AFAIK - https://www.transifex.com/projects/p/edx-platform/
-
All of the languages on Transifex are already configured in the edx-platform repo. If you've added a new language to Transifex, and we haven't added it to the configuration yet, you can add it to
conf/locale/config.yaml
. -
Configure
LANGUAGE_CODE
in yourlms/envs/common.py
. Or, for development purposes, create a dev file calleddev_LANGCODE.py
- egdev_es.py
- with the following:from .dev import * USE_I18N = True LANGUAGES = ( ('es-419', 'Spanish'), ) TIME_ZONE = 'America/Guayaquil' LANGUAGE_CODE = 'es-419'
Languages need to be specified with codes Django likes, so a code that is specific on Transifex such as "de_DE"
must be specified as "de-de"
in these configuration files. See https://groups.google.com/forum/#!topic/openedx-translation/vrOpMKzA0kU
-
Execute the following command in your edx-platform directory with your edx-platform virtualenv.
$ rake i18n:robot:pull
Note that this command will pull reviewed translations for all languages that are listed in conf/locale/config.yaml
. To only pull down some languages, edit conf/locale/config.yaml
appropriately.
To pull unreviewed translations along with reviewed translations, edit /edx/app/edxapp/venvs/edxapp/src/i18n-tools/i18n/transifex.py
. Particularly, the line execute('tx pull --mode=reviewed --all')
should be changed to execute('tx pull --all')
-
When you launch your LMS instance you can launch it normally and things should display properly. However, if in Step 3 you created a special "dev_LANGUAGECODE" file, you'll need to launch the LMS with the environment file explicitly stated:
$ rake lms[dev_es,0.0.0.0:8000]
-
If you experience issues:
- Be sure your browser is set to prefer the language set in
LANGUAGE_CODE
- In
common/djangoapps/student/views.py
, the user's language code is tried to be obtained from a saved preferences file. So if you are having issues seeing your language served up, it may be because your User object has a different language saved as a preference. Try creating a new user in your environment, this should clear up the issue.
- Be sure your browser is set to prefer the language set in