ulocalized_time Plone函数的实验版本,扩展了日期/时间格式
项目描述
简介
此产品可用于希望在使用Plone模板中显示地区敏感数据时使用与strftime兼容的格式的人。
Python之道
Python通过locale模块支持地区,但这似乎在Plone中工作不正常,例如setlocale函数表示
在大多数系统中,setlocale() 函数不是线程安全的。应用程序通常从以下调用开始:
>>> import locale >>> locale.setlocale(locale.LC_ALL, '')这将所有类别的区域设置设置为用户的默认设置(通常在 LANG 环境变量中指定)。如果之后没有更改区域设置,使用多线程不应引起问题。
因此,看起来您可以强制设置区域设置(或使用系统设置),但我担心这对于需要使用多种语言的 Plone 网站来说不是一个好主意。Plone 本身并不使用 Python 区域设置来翻译日期元素。
Plone之道
在 Plone 中,您可以使用 ploneview 的 toLocalizedTime 方法以完整的 i18n 感知方式打印日期。但是,您可以简单地使用 Plone 本地化产品中定义的两个格式:long_format 或 short_format,传递 True 或 False 作为第二个参数。
>>> from DateTime import DateTime >>> t = DateTime() >>> ploneview.toLocalizedTime(t, True)
替代方案
安装此产品将为您提供一个替代方案,修补 Plone。您可以使用 toLocalizedTime,但您可以玩 long_format 参数,它实际上已成为 format 参数。
您仍然可以使用上述方法(因此不会影响基本 Plone 功能),但您可以提供一个 long_format 值,该值可以是格式字符串。
例如,一个有效的 Python 日期字符串格式“%a %d hello guys %b %Y”变为“${a} ${d} hello guys ${b} ${Y}”,因此
>>> from DateTime import DateTime >>> t = DateTime() >>> ploneview.toLocalizedTime(t, "${a} ${d} hello guys ${b} ${Y}")
警告
也许这个产品是错误的,并且有一个在 Plone 多语言网站上正确使用 strftime 的方法,但我没有找到有关替代方法的信息!如果您知道如何做,请为 此讨论 做出贡献,并帮助我弃用此插件!
变更日志
0.1.0 (2011-07-21)
初始发布
项目详情
实验性 ulocalized_time-0.1.0.tar.gz 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | b25c9a4986ea69097bab9b3d3ebd78f70a51eb4eb5ece4fc33720824e9fcf9a4 |
|
MD5 | 43f2c261180eb52838f8faddeded9cb6 |
|
BLAKE2b-256 | cb0aedf4a8689e83ddbfdc3347259e532216cbdb6262e3ff2a60adabbb1fc124 |