【发布时间】:2019-03-26 20:00:38
【问题描述】:
我按照 Python i18n 和 l10n 流程在 Python 应用程序中外部化和翻译文本消息。但是当我将 Python 代码打包成一个 wheel 包时,我在 setuptools 文档中找不到任何指导。
因为本地化的消息文件可以被视为数据文件。也许,我可以使用 package_data 参数来包含这些文件。但是,这样做似乎不是正确的方法。因为已部署的本地化消息文件应位于系统默认语言环境位置 /usr/share/locale 或用户特定位置。无论哪种方式,我都发现很难将 pkg_resources 包连接到 gettext 包而不弄乱真正的物理路径黑客攻击。
【问题讨论】:
-
它有效。我将 *.mo 文件放在顶级包名称下,以便将它们部署在包文件夹
lib/python3.7/site-packages/my_top_level_package/locales下。我已经验证它在 Mac OS X、Linux 和 Windows 10 中都是可移植的。
标签: python localization internationalization setuptools