3

我正在使用 Flask Babel 来翻译我的 Flask Python 应用程序。目前我只有语言环境的翻译机制,但是如果除了他的位置之外的用户想要将位置更改为英语怎么办?有没有办法手动更改语言环境?

这是我的 Flask Babel 函数,它获取用户语言环境并返回语言。它在我的__init__.py文件中。

@babel.localeselector
def get_locale():
    print "LANGUAGE PT"
    #return 'de' -> manually change to the desired language
    request.accept_languages.best_match(LANGUAGES.keys()) 

我真的很感激任何帮助!

此致

4

1 回答 1

5

Flask-Admin的文档中显示了一个很好的方法

@babel.localeselector
def get_locale():
    if request.args.get('lang'):
        session['lang'] = request.args.get('lang')
    return session.get('lang', 'en')

现在,您可以在http://localhost:5000/admin/?lang=fr尝试该应用程序的法语版本。

您仍然可以通过 BABEL_DEFAULT_LOCALE 指定默认语言。

于 2017-01-17T06:50:23.050 回答