【问题标题】:Is there a way to get locale from country or timezone?有没有办法从国家或时区获取语言环境?
【发布时间】:2014-03-05 21:36:49
【问题描述】:
我正在用 Python 编写一个程序,我需要根据用户的语言环境输出日期:
- 获取根据用户输入指定的国家/地区的时区列表(是否使用 pytz)
- 获取用户的语言环境(我不知道该怎么做)
有没有办法从县/时区获取语言环境或需要遵循其他方法?
或者我是否需要从用户本身获取语言环境输入?
编辑
该程序是一个网络应用程序。用户可以向我提供他的国家。但是他是否还必须明确地向我提供语言环境,或者我可以从他的时区/国家/地区获得它?
【问题讨论】:
标签:
python
timezone
locale
【解决方案1】:
我认为不可能将国家 + 时区转换为单一的“正确”语言环境...在有多种语言的国家/地区,语言和时区之间没有 1:1 的关系。
我能看到的最接近的是使用Babel:
from babel import Locale
Locale.parse('und_BR') # 'und' here means unknown
>>> Locale('pt', territory='BR')
这为您提供了该国家/地区的单一“最有可能”(或默认)区域设置。要正确处理语言,您需要询问用户他们的首选语言。