Возможно ли получить локаль от часового пояса?Получить локаль от часового пояса -python, django, pytz
Как «en-US» из часовой зоны «Америка/Чикаго».
Возможно ли получить локаль от часового пояса?Получить локаль от часового пояса -python, django, pytz
Как «en-US» из часовой зоны «Америка/Чикаго».
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']
Как вы можете видеть, он даже справляется с дилеммой, которую поднял Кевин.
какая лицензия? Если это достаточно либерально, подумайте о создании патча для 'pytz' и/или добавьте' setup.py' и опубликуйте в PyPI. – jfs
Спасибо за предложение J.F. - мои вещи так же либеральны, как и они, но, учитывая, что мне нужно будет вникнуть туда, откуда появились данные geonames, прежде чем я выпустил это в мир, мне нужно будет провести какое-то расследование. – georgeofallages
Что делать, если ваш пользователь живет в Чикаго, но говорит по-испански? – Kevin
Все нормально. Я дам ему возможность выбрать. Но как установить значение по умолчанию? –