7

別の言語でタイムゾーン名を取得する方法はありますか?

Pythonでは、次のようなことを行うと次のようになります。

for tz in pytz.common_timezones_set :
 print tz

結果は英語ですが、スペイン語またはアラビア語で表示したい場合はどうすればよいですか?

4

4 に答える 4

6

バベルパッケージが使えます

import pytz
from babel.dates import get_timezone_location

for tz in pytz.common_timezones_set:
    print(get_timezone_location(tz, locale='es'))
于 2017-02-02T08:44:11.273 に答える
1

いいえ、残念ながらタイムゾーン名の翻訳はありません。名前はOlsonタイムゾーンデータベースの一部です(Pythonまたはの一部ではありませんpytz)。新しいものが時々追加されるので、潜在的な翻訳プロジェクトはそのデータベースと同期し続ける必要があります。

于 2012-10-23T16:01:50.240 に答える
1

pytz.common_timezones_settzデータベースのタイムゾーン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'
于 2015-01-27T20:02:06.830 に答える
0

かなり遅れて来ましたが、最近同様の問題に遭遇し、l18nその目的のために独自のパッケージを作成することになりました。ここから入手できます:https ://pypi.python.org/pypi/l18n

pytzで使用される人間が読める場所とタイムゾーンの翻訳ファイルを提供します。ほとんどの翻訳はCLDRデータベースから自動的にフェッチされますが、欠落している翻訳は常にいくつかあります。現時点では、英語とフランス語の翻訳ファイルのみが利用可能です。お気軽に私に連絡するか(パッケージのリポジトリhttps://bitbucket.org/tkhyn/l18nで問題を作成してください) 、言語の翻訳を追加する場合は、ここでステップバイステップの手順に従ってください。

于 2015-03-16T20:50:12.447 に答える