我有一个用 Python 和 Gtk 编写的应用程序,其中包含许多翻译字符串,使用_()
. 此应用程序的存储库包含一组 .po
用于不同语言的文件,这些文件在目录布局中进行编译和分类,以便在应用程序运行gettext
时加载。setup.py
当前项目目前看起来像这样:
/
/po/fr.po
/mo/fr/LC_MESSAGES/my-app.mo
/my-app/__init__.py
/setup.py
gettext.install()
目前被调用了好几次,尝试了各种“知名的地方”(如/usr/share/locale
,dirname(my-app.__file__ ) + "../mo"
等)。正如我之前所说, .mo
文件不存储在存储库本身中,而是在setup.py
启动时动态生成。
我想知道处理这些文件的“最佳方式”是什么。具体来说,我想找到一种方法:
- 允许开发人员使用翻译,而无需在某处安装应用程序(直接在存储库中工作);
- 允许想要安装它的人将翻译文件分布在正确的位置;
- 允许打包程序(例如 Linux 发行版)轻松处理这些翻译文件。
我的问题是:
- 我在哪里存储我的 .mo 文件?
- 我如何找到这些文件的位置(考虑到上述几点)?
- 我如何打包这些文件(Python 方面)?