有没有一种方法可以从国家或时区获取区域设置?

4
我正在使用Python编写一个程序,需要根据用户的语言环境输出日期:
  1. 根据用户输入获取指定国家的时区列表(使用pytz工具包实现)
  2. 获取用户的语言环境(我无法找到如何实现)
有没有办法从国家/时区中获取语言环境?还是需要从用户那里获得语言环境输入? 编辑: 这个程序将用作Web应用程序。 用户可以提供所在国家。 但是他必须明确地向我提供语言环境吗?还是可以从他的时区/国家中获取?

http://docs.python.org/library/locale#locale.nl_langinfo ? - Thomas K
1个回答

10

"Locale" 是指一个国家和语言的组合。

你可以有国家和时区的信息,但没有关于语言的信息。

我认为将国家和时区转换为单一的“正确”区域设置是不可能的……在有多种语言的国家中,语言和时区之间并不存在一对一的关系。

我能想到的最接近的方法是使用 Babel

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

这为您提供了一个国家的单一“最可能”(或默认)语言环境。要正确地处理语言,您需要询问用户他们首选的语言。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接