In a Python application that uses gettext to provide support for internationalization, I would like to change the path of the *.mo message catalogs to po/language.mo instead of the default localedir/language/LC_MESSAGES/domain.mo, as I would like to use Launchpad’s translation interface, which requires this naming scheme (at least as far as I understood [1]).
However, after reading the module documentation, I can’t seem to find a way to do this without monkey-patching the gettext module. Is there an ‘official’ way to do it?
[1] https://help.launchpad.net/Translations/YourProject/Exports
edit:
Thinking about it for a while, changing the path is not actually necessary for Launchpad-integration, as it only cares about the *.po files, not the compiled *.mo files.
My question still remains, though, as it would be nice if the application messed around with system directories as little as possible (especially considering that it’s a multi-platform app that runs on *nix, Windows and OS X).
I asked the same question for PHP, but the answer lies in the underlying gettext api. It’s not possible to change the path for catalogs.
The directory structure is fixed by gettext.
See: PHP Gettext: how to change the default MO path after setting the path of the domain?