是否有一種方法可以檢索另一種語言的時區名稱?本地語言的時區名稱
在Python,如果我做這樣的事情:
for tz in pytz.common_timezones_set :
print tz
結果是英文的,但如果我想什麼,有它在西班牙語或阿拉伯語?
是否有一種方法可以檢索另一種語言的時區名稱?本地語言的時區名稱
在Python,如果我做這樣的事情:
for tz in pytz.common_timezones_set :
print tz
結果是英文的,但如果我想什麼,有它在西班牙語或阿拉伯語?
不,遺憾的是沒有翻譯成時區名稱。這些名字是Olson timezone database(不是Python的一部分或pytz
)的一部分。新的不時增加,所以任何潛在的翻譯項目將不得不保持與該數據庫同步。
得相當晚,但我遇到了類似的問題還很少,結束了創建我自己的包l18n
用於這一目的。它可在這裏獲得:https://pypi.python.org/pypi/l18n
它提供翻譯文件,用於pytz中使用的人類可讀地點和時區。大部分翻譯都是從CLDR數據庫中自動提取的,但總是有一些丟失。目前只有英文和法文的翻譯文件可供使用。如果您想爲您的語言添加翻譯,請隨時與我聯繫(在軟件包的回購https://bitbucket.org/tkhyn/l18n上創建問題)或按照分步程序here。
感謝您將它放在一起!但是有一個建議:'l'看起來像是一個大寫字母'i'(如果你眯起眼睛,小寫字母'i'),所以l18n很容易與i18n混淆。這是一個有創造力的名字,但這種方式可能不太可能?另外,翻譯地名是很好的,但另一個有用的部分是給出實際的時區名稱(例如,看起來很複雜,不幸)。 –
@NealGokli你可以用'l18n.tz_fullnames'得到實際的時區名稱,不是嗎? – ouk
您可以使用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'))
不是我想要的答案,但感謝解釋。 – Trollbane