我使用Flask Babel翻译我的Flask Python应用程序。 目前我只有locale的翻译机制,但如果除了他的位置之外的用户想要将位置更改为英语怎么办?有没有办法手动更改区域设置?
这是我的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())
我非常感谢任何帮助!
祝你好运
答案 0 :(得分:2)
@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指定默认语言。