跳转到主要内容

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 的方法,但我没有找到有关替代方法的信息!如果您知道如何做,请为 此讨论 做出贡献,并帮助我弃用此插件!

作者

此产品由 RedTurtle Technology 团队开发。

RedTurtle Technology Site

变更日志

0.1.0 (2011-07-21)

  • 初始发布

项目详情


下载文件

为您的平台下载文件。如果您不确定选择哪一个,请了解有关 安装包 的更多信息。

源分布

experimental.ulocalized_time-0.1.0.tar.gz (13.1 kB 查看散列)

上传时间

支持者:

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面