是否有一种使Flask应用程序多语言的首选方法?理想情况下,该解决方案可以@app.route
使用相同的视图为每种语言使用不同的网址,例如@app.route(en='/staff/', fr='/equipe/)
。我非常有信心我可以一起破解这样的东西,但现有的图书馆肯定会节省我一些时间。感谢。
答案 0 :(得分:18)
我相信Flask-Babel正是您所寻找的。 p>
答案 1 :(得分:1)
您可以通过创建装饰器来决定使用哪个路由来实现这一目标。
def lang_route(en, fr, *args, **kwargs):
# Find out the user's language
lang = "en"
if lang == "en":
return app.route(en, *args, **kwargs)
if lang == "fr":
return app.route(fr, *args, **kwargs)
@lang_route(en="/staff", fr="/equipe")
def staff():
return "staff"