【问题标题】:Change language Flask Babel manually手动更改语言 Flask Babel
【发布时间】:2017-01-16 23:38:24
【问题描述】:

我正在使用 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()) 

非常感谢任何帮助!

最好的问候

【问题讨论】:

    标签: python flask flask-babel


    【解决方案1】:

    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 指定默认语言。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-14
      • 2021-07-18
      • 2014-04-25
      • 1970-01-01
      • 2017-02-26
      相关资源
      最近更新 更多