2012-10-23 44 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')) 
相關問題