babel 对象本身以后支持用于配置 babel。Babel 有两个配置值,这两个配置值能够改变内部的默认值:

    如果这些方法的任何一个返回 None,扩展将会自动回落到配置中的值。而且为了效率考虑函数只会调用一次并且返回值会被缓存。如果你需要在一个请求中切换语言的话,你可以 缓存。

    1. @babel.localeselector
    2. def get_locale():
    3. # if a user is logged in, use the locale from the user settings
    4. if user is not None:
    5. return user.locale
    6. # otherwise try to guess the language from the user accept
    7. # example. The best match wins.
    8. @babel.timezoneselector
    9. def get_timezone():
    10. user = getattr(g, 'user', None)
    11. if user is not None:

    以上的例子假设当前的用户是存储在 对象中。