Right now, Transifex automatically pulls the latest source/English updates for messages from our repositories on GitHub. However, it does not push translations back to those repositories. I think it should.
There are a few ways (at least) we could approach this:
The “native Transifex” way. Transifex wants there to be a 1:1 correspondence between Git repositories and Transifex projects. In our case, we have one project, “OpenMRS,” which has many “resources,” each of which correspond to a Git repo. If we instead make a Transifex project for each Git repo, then Transifex could be set up to automatically push translations to those repositories. See the Transifex docs.
The GitHub Actions way. I’ve created a GitHub Action in openmrs-owa-orderentry which causes it to download and commit (if available) updated translations from Transifex nightly (also works on demand). We could add this action for any OpenMRS repository.
The Git Hooks way. We could add a Git Hook to repositories so that any time you make a commit (or push, if you prefer), Git downloads new translations.
My preference is for route (2), because
- I already have it working
- Configuration in code! I’d much rather manage this process via YAML files than via the Transifex UI.
- Runs on demand
- Git Hooks can be messy, and would take developer time to do the downloading
If we’re in agreement, my only ask is that @burke or @mseaton (the two people who are both GitHub org owners and Transifex org owners) set up a generic OpenMRS bot account in Transifex, get an API token, and add it as a GitHub org secret.
At that point we should be able to create tickets for setting up translation sync for other repositories.