Following the release of Django 5.0, I got familiar with the process of incorporating translations from Transifex into the Django source tree. This process is very involved and cumbersome, requiring the fetching of around 1200 .po files (~110 languages for 12 resources) and their corresponding 1200 .mo files. Then, a manually review for each .po file is required to inspect the changes between the last release and the soon-to-be the new release, with the goal to revert any undesired side-effects such as changes in plural forms, and to ensure that only files with new translations are merged.
This manual process ended up taking more than 10 hours, which not only left me feeling quite drained due to time constraints but also didn’t seem like the most efficient use of a fellow’s time. So I would like to propose two orthogonal things:
- Short term: try to add some automation to this process. This would include reducing the scope of the files needing manual inspection by using the Transifex API (to fetch only files that were updated after a given date), and using some sort of po-differ to decide “which files have new translations” (if possible).
- Medium to long term: I’ll try to analyze other translations tools. Specifically, there is one open source tool that I’ve used a long time ago and I would like to evaluate whether it would be a good fit for our needs or not.
I wanted to share this with everyone in case there is additional background information about the process that I might be missing. Additionally, I’d like to gather other opinions in case others have already thought about this.