babel 对象本身以后支持用于配置 babel。Babel 有两个配置值,这两个配置值能够改变内部的默认值:
如果这些方法的任何一个返回 None
,扩展将会自动回落到配置中的值。而且为了效率考虑函数只会调用一次并且返回值会被缓存。如果你需要在一个请求中切换语言的话,你可以 缓存。
@babel.localeselector
def get_locale():
# if a user is logged in, use the locale from the user settings
if user is not None:
return user.locale
# otherwise try to guess the language from the user accept
# example. The best match wins.
@babel.timezoneselector
def get_timezone():
user = getattr(g, 'user', None)
if user is not None: