2015-09-09 4 views
2

Возможно ли получить локаль от часового пояса?Получить локаль от часового пояса -python, django, pytz

Как «en-US» из часовой зоны «Америка/Чикаго».

+1

Что делать, если ваш пользователь живет в Чикаго, но говорит по-испански? – Kevin

+0

Все нормально. Я дам ему возможность выбрать. Но как установить значение по умолчанию? –

ответ

2

pytz.country_timezones - ваш друг.

Вы можете найти список языков по стране здесь: http://download.geonames.org/export/dump/countryInfo.txt

Вы можете использовать в country_timezones для отображения Джанго «Америка/Чикаго» timzeones стиля для кода страны, а затем сопоставить код страны к список языков из geonames.

Если это кажется болью, я сделал это за вас. https://github.com/georgemitchell/stackoverflow/tree/master/timezone_to_locale

Посмотрите на timezone_to_locale.py для получения более подробной информации.

>>> from timezone_to_locale import locale_by_timezone 
>>> locale_by_timezone["America/Chicago"] 
['en-US', 'es-US', 'haw', 'fr'] 

Как вы можете видеть, он даже справляется с дилеммой, которую поднял Кевин.

+0

какая лицензия? Если это достаточно либерально, подумайте о создании патча для 'pytz' и/или добавьте' setup.py' и опубликуйте в PyPI. – jfs

+0

Спасибо за предложение J.F. - мои вещи так же либеральны, как и они, но, учитывая, что мне нужно будет вникнуть туда, откуда появились данные geonames, прежде чем я выпустил это в мир, мне нужно будет провести какое-то расследование. – georgeofallages

 Смежные вопросы

  • Нет связанных вопросов^_^