Ver*_*nce 3 python flask flask-babel
我正在使用 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())
Run Code Online (Sandbox Code Playgroud)
我真的很感谢任何帮助!
此致
Flask-Admin的文档中显示了执行此操作的好方法
@babel.localeselector
def get_locale():
if request.args.get('lang'):
session['lang'] = request.args.get('lang')
return session.get('lang', 'en')
Run Code Online (Sandbox Code Playgroud)
现在,您可以在以下位置尝试该应用程序的法语版本:http://localhost:5000/admin/?lang=fr。
您仍然可以通过 BABEL_DEFAULT_LOCALE 指定默认语言。