【问题标题】:Thread safe locale techniques线程安全的语言环境技术
【发布时间】:2017-01-03 18:27:20
【问题描述】:

我们目前正在编写一个基于线程化 Python Web 服务器框架 (cherrypy) 的 Web 应用程序,并希望同时支持来自多个语言环境的用户。

语言环境模块似乎不是线程安全的。是否有第三方库或模块以线程安全的方式提供语言环境解析和格式化功能?

建议赞赏!

问候, 马尔科姆

【问题讨论】:

    标签: python multithreading locale


    【解决方案1】:

    Babel 是一个出色的库,可满足您所有线程安全的 i18n 需求,以及一个可插入的框架,用于从 Python 源和 Web 模板中提取消息。

    【讨论】:

      【解决方案2】:

      pyIcu 有一些这样的功能(以及对 i18n/l10n 任务的其他强大支持),我曾经使用过它一些时间,但它与基于 locale 的代码的平滑移植相去甚远——你基本上必须为它重写你的代码。此外,它不支持不允许安装任意扩展的环境,例如 App Engine 和其他一些托管环境。不幸的是,我不知道没有这种限制的好选择:-(。

      【讨论】:

      • 感谢 pyICU 库的链接以及 C 库依赖项的提示。我很喜欢你的“Python in a Nutshell”一书(收到作者的回复真是太酷了!)。
      • @Malcolm,不客气(尽管我同意@John 对您的 Q 的评论!-)。我真希望locale 对多处理更友好,嗯。
      • 我已经纠正了我粗鲁的行为 - 我之前的所有问题都显示了可接受的答案。再次感谢您的帮助。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-06-27
      • 1970-01-01
      • 2011-03-13
      • 1970-01-01
      • 1970-01-01
      • 2012-03-20
      • 1970-01-01
      相关资源
      最近更新 更多