Par*_*and 4 python django internationalization
Python的语言环境实现似乎想要从系统设置中读取语言环境,或者通过setlocale调用来设置它.这些都不适合我,因为我想在Web应用程序中使用这些功能,其中所需的语言环境是用户的语言环境.
并且语言环境文档中有警告会使整个事情变得可怕:
最重要的是,一些实现被打破,频繁的区域设置更改可能导致核心转储.这使得语言环境在正确使用时有些痛苦
和
在某些库例程中调用setlocale()通常是个坏主意,因为它会影响整个程序的副作用
那么,是否有一个合理的区域设置替代用于Web应用程序?是巴贝尔它还是有其他的选择吗?我正在寻找能够处理货币以及日期和数字的东西.
[更新]为了澄清,我对各种语言环境的日期,数字和货币格式最感兴趣.
Ale*_*lli 10
locale对于任何需要支持多种语言环境的应用程序都没有好处 - 它真的很糟糕地设计用于那些应用程序(基本上任何服务器端应用程序,包括Web应用程序).在可行的情况下,PyICU是一个非常优越的解决方案 - 高质量的i18n/L10n支持,速度,灵活性(缺点:虽然ICU的文档很好,PyICU,嗯,不是那么多;-).唉,并不总是允许你部署自己的扩展...... :-(.
特别是,我仍然在为App Engine应用寻找一个可靠的i18n/L10n解决方案 - "翻译"本身是最少的问题(你可以切换到正确的模板集),问题是有许多其他L10n方面(ICU支持的那些方面,例如整理规则等,等等).我想已经提到过的Babel是唯一明智的起点.
如果您要处理货币、日期和数字,最好的方法是使用setlocale浏览器传递给您的区域设置。Python 文档中有很多针对真正不合时宜的平台的 zomgz 警告;其中大部分可以忽略不计。
“频繁的区域设置更改”应该不重要,除非我遗漏了一些东西。
您不做消息目录或任何奇特的事情,所以坚持使用 Python 为您提供的内容。
| 归档时间: |
|
| 查看次数: |
1912 次 |
| 最近记录: |