Есть ли способ получить локаль из страны или часового пояса? - PullRequest
3 голосов
/ 23 марта 2012

Я программировал программу на Python, где мне нужно вывести дату в соответствии с локалью пользователя:

  1. Получить список часовых поясов в стране, указанной в соответствии с пользовательским вводом (сделал это с помощью pytz)
  2. Получить языковой стандарт пользователя (что я не могу понять, как это сделать)

Есть ли способ получить локаль из графства / часового пояса или нужно использовать какой-то другой метод?

Или мне нужно получить языковой ввод от самого пользователя?

EDIT

Программа должна быть веб-приложением. Пользователь может предоставить мне свою страну. Но должен ли он явно указать мне локаль или я могу получить ее из его часового пояса / страны?

Ответы [ 2 ]

7 голосов
/ 05 марта 2014

Я не думаю, что можно преобразовать страну + часовой пояс в единый «правильный» языковой стандарт ... в странах с несколькими языками нет связи 1: 1 между языком и часовым поясом.

Самое близкое, что я вижу, это использовать Бабель :

from babel import Locale
Locale.parse('und_BR')  # 'und' here means unknown
>>> Locale('pt', territory='BR')

Это дает вам один «наиболее вероятный» (или стандартный) языковой стандарт для страны. Для правильной работы с языками вам нужно спросить пользователя, какой язык он предпочитает.

0 голосов
/ 06 декабря 2012

Используйте pycountry , чтобы сделать это.

sudo pip install pycountry
...