3

我想以多种语言显示日期和时间(或日期或时间,分别)。特别是英语和西班牙语,但将来可能会使用其他语言。

我已经考虑将 pythons time.strftime 函数与 locale.setlocal 结合使用。我在阅读文档(http://docs.python.org/library/locale.html)后排除了这一点,图书馆不应该调用 locale.setlocal,所以我不应该只是“触发器”(改变,然后恢复)我的图书馆中的语言环境设置。

我也考虑过 python 库 Babel,但我在他们的文档(http://babel.edgewall.org/wiki/Documentation/0.9/dates.html)中读到日期解析“没有正确实现”,这让我很担心. 我确实需要日期解析能力。但是,Babel 可以使用不同的语言环境显示时间。

第三个 [hybrid] 选项是使用 pythons datetime 来解析日期,然后 Babel 以多种语言/语言环境显示日期。这有点混乱,因为 strptime 使用它自己的格式字符串语法,而 Babel 对其格式字符串使用 LDML 语法。

可能还有其他选择。又是一个问题:以多种语言显示日期或时间的最佳方式是什么?

4

1 回答 1

1

I would maintain the translations as standard PO file using the gettext mechanism. For each language you keep the translations in a dedicated file. You use the month and day names as msgid and keep the specific translations as msgstr.

http://docs.python.org/library/gettext.html

于 2011-03-23T19:23:44.760 回答