Over at Fenerum we are currently translating our software into multiple new languages, and while it worked fine for a while editing .po files by hand, it is now becoming a roadblock to getting things done.
We quickly decided to go with Transifex because we all knew it from earlier, but unfortunately it seems to have developed into a much more expensive and complicated solution than before.
In any case, I really don't like Transifex's approach of using their custom library to mark strings for translations inside our Django project. We want a solution that is not locked to a specific vendor, but rather relies on the built-in Django translation framework and .po files. On top of that, we also have some JSON files used by our frontend that needed translations.
I tried searching for a template to work with a standard Django project, but couldn't find one, so here's what I came up with:
filters:
- filter_type: file
file_format: KEYVALUEJSON
source_language: en
source_file: interface/web/src/locales/en/translation.json
translation_files_expression: 'interface/web/src/locales/<lang>/translation.json'
- filter_type: file
file_format: PO
source_file: project/locale/en/LC_MESSAGES/django.po
source_language: en
translation_files_expression: 'project/locale/<lang>/LC_MESSAGES/django.po'
If you don't have frontend translations with JSON, you can just remove the first part of the configuration.
I hope this helps someone else facing similar translation management challenges with their Django web application.