Translation of the strings in many Open edX services (such as course-discovery, ecommerce, credentials, and credentials-themes) is handled automatically using GitHub, Travis, Transifex, and Jenkins. This system allows us to keep translations up to date with minimal manual intervention. Much of this is handled by private Jenkins jobs and by edX developers, but here is what Open edX developers working in these repositories may need to know.
Keeping source translation files current
For course-discovery, ecommerce, credentials, and credentials-themes, developers are responsible for updating source translations with each change that will be merged to master. This is enforced by Travis, which calls a make target to check if the translations are out-of-date. The course-discovery, ecommerce, and credentials repos use the check_translations_up_to_date make target for this. When translations are found to be out-of-date (look for a message in the build log that reads something like "Source translations are out-of-date! Please update them."), developers should run a make command to update them. For course-discovery, ecommerce, and credentials, the fake_translations command should be used for this. For credentials-themes, the generate_translations command should be used.