LMS/Studio Translation Process

Cadence

Weekly release strings are usually done every week, on Thursday morning (Ned Batchelder (Deactivated)).

Process

Uses paver commands and manually created PRs

  • In your edx-platform working tree, start a branch:
    • git checkout -b you/update_translations
  • Make sure you have the .transifexrc file in your user directory at ~/.transifexrc
  • In your devstack, run a paver command:
    • paver i18n_robot_pull
    • Takes a while (30-40 min?)
    • If there are problems, will create .prob files
      • Read those files and fix the strings
        • You can fix a string by editing it on Transifex to have the right placeholders (the usual problem)
        • Or you can unreview a string and ping the translator to come and fix it.
      • Once strings are fixed on Transifex, you have to run the paver command again (ugh, takes a long time)
    • At the end, it asks if you want to commit the changes, say yes (probably makes sense to automate away this manual step)
  • In edx-platform, make a pull request
    • git push -u origin you/update_translations
    • (make a pull request however you like to do that)
    • The tests will run. Once they are done, you can merge the PR
  • In your devstack, run another paver command:
    • paver i18n_robot_push
    • Pretty fast (1 min?)

Only someone with Transifex admin permissions can do this, currently Ned and Andy Armstrong (Deactivated). You'll need a .transifexrc file.


See also: Automatically updating resource files in Transifex

Which strings will be used?

In Transifex strings have three states:

  • Untranslated
  • Translated but not reviewed
  • Translated and reviewed

Only those strings that are both translated and reviewed will be pushed.