Python Flask应用程序未调用Babel localeselector

Python Flask应用程序未调用Babel localeselector,python,flask,gettext,python-babel,flask-babel,Python,Flask,Gettext,Python Babel,Flask Babel,我用Flask Babel将本地化添加到我的Flask应用程序中,我似乎无法更改语言。我按照巴别塔的所有说明创建po/mo文件-我不相信我的问题与翻译数据有关。。。我不知道如何改变语言。。。这似乎是显而易见的 我的调试显示没有调用babel.localeselector。我的实现调用refresh,我认为应该以某种方式调用babel.localeselector。。。因为我不知道它是如何工作的,因为刷新命令似乎只是从应用程序上下文中删除了一些键。。。我不知道这是如何触发对babel.locale

我用Flask Babel将本地化添加到我的Flask应用程序中,我似乎无法更改语言。我按照巴别塔的所有说明创建po/mo文件-我不相信我的问题与翻译数据有关。。。我不知道如何改变语言。。。这似乎是显而易见的

我的调试显示没有调用babel.localeselector。我的实现调用refresh,我认为应该以某种方式调用babel.localeselector。。。因为我不知道它是如何工作的,因为刷新命令似乎只是从应用程序上下文中删除了一些键。。。我不知道这是如何触发对babel.localeselector的调用的

并且,当用户登录时,调用此函数

from flask_babel import refresh

def login(user_id):
    # Gets called when user successfully logs in
    refresh()
我已确认正在呼叫刷新。 但语言没有改变

更新: 也试过这个,

from flask import current_app
from common.models import User
from flask_babel import refresh

def login(user_id):
    # Gets called when user successfully logs in
    user = User.get_by_id(user_id)
    current_app.config['BABEL_DEFAULT_LOCALE'] = user.lang
    refresh()

解决了问题。我用的是

import gettext
_ = gettext.gettext
而不是

from flask_babel import gettext as _
from flask_babel import gettext as _