首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Python setuptools中包含本地化消息?

如何在Python setuptools中包含本地化消息?
EN

Stack Overflow用户
提问于 2019-03-27 04:00:38
回答 1查看 367关注 0票数 1

我遵循了Python i18n和l10n过程,在Python app中实现了文本消息的外部化和翻译。但是,当我将Python代码打包到一个轮子包中时,我在setuptools文档中找不到任何指导。

因为本地化的消息文件可以被视为数据文件。也许,我可以使用package_data参数来包含这些文件。然而,这似乎不是做这件事的正确方式。因为部署的本地化消息文件应该位于系统默认区域设置位置/usr/share/locale或特定于用户的位置。无论采用哪种方式,我都发现很难在不干扰实际物理路径黑客情况下将pkg_resources包连接到gettext包。

EN

回答 1

Stack Overflow用户

发布于 2019-04-03 23:29:57

这就是我所做的。我验证了wheel包在Linux、Mac和Windows10中正确地部署和加载了本地化的*.mo消息目录文件。

  1. 将locales文件夹移到顶级Python包文件夹下。例如,假设您的包名为pkg1,并且您有法语区域设置的my_msg.mo目录文件。将*.mo文件移动到pkg1/locales/fr/LC_MESSAGES/my_msg.mo
  2. In中,在Python脚本中添加:... package_data={'pkg1': ['pkg1/locales//LC_MESSAGES/.mo']}, include_package_data=True, ...
  3. ,使用以下方法加载任何物理路径,而无需硬编码:Python
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55365356

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档