This is necessary because:
- Transifex runs 'msgfmt -c' on any uploaded .po file
- pybabel adds a spurious '#~ msgid ""' to the end of some files
- 'msgfmt -c' ignores that this is commented out, and treats it
as a syntax error (clashing with the top file definition)
This breaks translation processing; multi-domain support needs to be added to
Flask-Babel. The changes made here put the "important" strings that are used
most often into the priority domain, and split the content from different
sub-urls into separate domains. Multi-domain support will be implemented such
that translations for a specific request are pulled both from the domain which
corresponds to the request url and the priority domain.
This does mean that there may be duplication of translation strings between
domains, but that is unavoidable (and the translators prefer working with
smaller resource files).