2012-10-23 45 views
5

是否有一种方法可以检索另一种语言的时区名称?本地语言的时区名称

在Python,如果我做这样的事情:

for tz in pytz.common_timezones_set : 
print tz 

结果是英文的,但如果我想什么,有它在西班牙语或阿拉伯语?

回答

1

不,遗憾的是没有翻译成时区名称。这些名字是Olson timezone database(不是Python的一部分或pytz)的一部分。新的不时增加,所以任何潜在的翻译项目将不得不保持与该数据库同步。

+0

不是我想要的答案,但感谢解释。 – Trollbane

0

得相当晚,但我遇到了类似的问题还很少,结束了创建我自己的包l18n用于这一目的。它可在这里获得:https://pypi.python.org/pypi/l18n

它提供翻译文件,用于pytz中使用的人类可读地点和时区。大部分翻译都是从CLDR数据库中自动提取的,但总是有一些丢失。目前只有英文和法文的翻译文件可供使用。如果您想为您的语言添加翻译,请随时与我联系(在软件包的回购https://bitbucket.org/tkhyn/l18n上创建问题)或按照分步程序here

+0

感谢您将它放在一起!但是有一个建议:'l'看起来像是一个大写字母'i'(如果你眯起眼睛,小写字母'i'),所以l18n很容易与i18n混淆。这是一个有创造力的名字,但这种方式可能不太可能?另外,翻译地名是很好的,但另一个有用的部分是给出实际的时区名称(例如,看起来很复杂,不幸)。 –

+0

@NealGokli你可以用'l18n.tz_fullnames'得到实际的时区名称,不是吗? – ouk

2

您可以使用babel package

import pytz 
from babel.dates import get_timezone_location 

for tz in pytz.common_timezones_set: 
    print(get_timezone_location(tz, locale='es')) 
相关问题