我遵循了Python i18n和l10n过程,在Python app中实现了文本消息的外部化和翻译。但是,当我将Python代码打包到一个轮子包中时,我在setuptools文档中找不到任何指导。
因为本地化的消息文件可以被视为数据文件。也许,我可以使用package_data参数来包含这些文件。然而,这似乎不是做这件事的正确方式。因为部署的本地化消息文件应该位于系统默认区域设置位置/usr/share/locale或特定于用户的位置。无论采用哪种方式,我都发现很难在不干扰实际物理路径黑客情况下将pkg_resources包连接到gettext包。
发布于 2019-04-03 23:29:57
这就是我所做的。我验证了wheel包在Linux、Mac和Windows10中正确地部署和加载了本地化的*.mo消息目录文件。
pkg1
,并且您有法语区域设置的my_msg.mo
目录文件。将*.mo文件移动到pkg1/locales/fr/LC_MESSAGES/my_msg.mo
... package_data={'pkg1': ['pkg1/locales//LC_MESSAGES/.mo']}, include_package_data=True, ...
https://stackoverflow.com/questions/55365356
复制相似问题