在使用 gettext 提供国际化支持的 Python 应用程序中,我想将 *.mo 消息目录的路径更改为po/language.mo
而不是 default localedir/language/LC_MESSAGES/domain.mo
,因为我想使用 Launchpad 的翻译接口,这需要这种命名方案(在至少据我所知[1])。
但是,在阅读了模块文档之后,我似乎无法在不对 gettext 模块进行猴子修补的情况下找到一种方法。有没有“官方”的方式来做到这一点?
[1] https://help.launchpad.net/Translations/YourProject/Exports
编辑:想了想,Launchpad 集成实际上不需要更改路径,因为它只关心 *.po 文件,而不关心编译后的 *.mo 文件。不过,我的问题仍然存在,因为如果应用程序尽可能少地弄乱系统目录,那就太好了(特别是考虑到它是一个在 *nix、Windows 和 OS X 上运行的多平台应用程序)。