I have setup with Flask + Babel + Flask Security. Created all translation like this:
- root
- main.py
- translations
- ru
- LC_MESSAGES
- messages.mo
- messages.po
- LC_MESSAGES
- ru
In main.py there is part to setup language which executes:
@babel.localeselector
def get_locale():
user = getattr(g, 'user', None)
if user is not None:
print("User locale {}".format(user.locale))
return user.locale
# I put here constant to test
return 'ru'
But http://localhost/login stayed untranslated. Can you please advice where else to dig? No errors in logs even with Debug = True
FWIW, with me simply changing my imports to
made it all work fine with Flask-Security.
I have found that Flask-Security doesn't work with Babel out of box! This Pull Request fixes it partially from WTF processing perspective. To be able to translate Jinja2 templates as well following need to be amended in core.py