【发布时间】:2017-01-03 18:27:20
【问题描述】:
我们目前正在编写一个基于线程化 Python Web 服务器框架 (cherrypy) 的 Web 应用程序,并希望同时支持来自多个语言环境的用户。
语言环境模块似乎不是线程安全的。是否有第三方库或模块以线程安全的方式提供语言环境解析和格式化功能?
建议赞赏!
问候, 马尔科姆
【问题讨论】:
标签: python multithreading locale
我们目前正在编写一个基于线程化 Python Web 服务器框架 (cherrypy) 的 Web 应用程序,并希望同时支持来自多个语言环境的用户。
语言环境模块似乎不是线程安全的。是否有第三方库或模块以线程安全的方式提供语言环境解析和格式化功能?
建议赞赏!
问候, 马尔科姆
【问题讨论】:
标签: python multithreading locale
Babel 是一个出色的库,可满足您所有线程安全的 i18n 需求,以及一个可插入的框架,用于从 Python 源和 Web 模板中提取消息。
【讨论】:
pyIcu 有一些这样的功能(以及对 i18n/l10n 任务的其他强大支持),我曾经使用过它一些时间,但它与基于 locale 的代码的平滑移植相去甚远——你基本上必须为它重写你的代码。此外,它不支持不允许安装任意扩展的环境,例如 App Engine 和其他一些托管环境。不幸的是,我不知道没有这种限制的好选择:-(。
【讨论】:
locale 对多处理更友好,嗯。