別の言語でタイムゾーン名を取得する方法はありますか?
Pythonでは、次のようなことを行うと次のようになります。
for tz in pytz.common_timezones_set :
print tz
結果は英語ですが、スペイン語またはアラビア語で表示したい場合はどうすればよいですか?
別の言語でタイムゾーン名を取得する方法はありますか?
Pythonでは、次のようなことを行うと次のようになります。
for tz in pytz.common_timezones_set :
print tz
結果は英語ですが、スペイン語またはアラビア語で表示したい場合はどうすればよいですか?
バベルパッケージが使えます
import pytz
from babel.dates import get_timezone_location
for tz in pytz.common_timezones_set:
print(get_timezone_location(tz, locale='es'))
いいえ、残念ながらタイムゾーン名の翻訳はありません。名前はOlsonタイムゾーンデータベースの一部です(Pythonまたはの一部ではありませんpytz
)。新しいものが時々追加されるので、潜在的な翻訳プロジェクトはそのデータベースと同期し続ける必要があります。
pytz.common_timezones_set
tzデータベースのタイムゾーンIDのセットを返します。人間が読めるように設計されていますが、翻訳することはできません。
PyICUは、ローカライズされたタイムゾーン名へのアクセスを提供します。
>>> from datetime import datetime
>>> import icu
>>> df = icu.DateFormat.createDateTimeInstance(icu.DateFormat.SHORT, icu.DateFormat.FULL, icu.Locale.getFrance())
>>> df.format(datetime.now(icu.ICUtzinfo.getDefault()))
'27/01/2015 21:01:01 heure normale d’Europe centrale'
かなり遅れて来ましたが、最近同様の問題に遭遇し、l18n
その目的のために独自のパッケージを作成することになりました。ここから入手できます:https ://pypi.python.org/pypi/l18n
pytzで使用される人間が読める場所とタイムゾーンの翻訳ファイルを提供します。ほとんどの翻訳はCLDRデータベースから自動的にフェッチされますが、欠落している翻訳は常にいくつかあります。現時点では、英語とフランス語の翻訳ファイルのみが利用可能です。お気軽に私に連絡するか(パッケージのリポジトリhttps://bitbucket.org/tkhyn/l18nで問題を作成してください) 、言語の翻訳を追加する場合は、ここでステップバイステップの手順に従ってください。