3

I'm using Flask Babel to translate my Flask Python app. At moment I only have the translation mechanism by locale but what if the user besides his location wants to change the location to english? Is there any way to change the locale manually?

This is my Flask Babel function that gets the user locale and returns the language. It is on my __init__.py file.

@babel.localeselector def get_locale(): print "LANGUAGE PT" #return 'de' -> manually change to the desired language request.accept_languages.best_match(LANGUAGES.keys()) 

I really appreciate any help!

Best regards

1 Answer 1

6

A good way to do this is shown in the docs of Flask-Admin

@babel.localeselector def get_locale(): if request.args.get('lang'): session['lang'] = request.args.get('lang') return session.get('lang', 'en') 

Now, you could try a French version of the application at: http://localhost:5000/admin/?lang=fr.

You can still specify the default language via BABEL_DEFAULT_LOCALE.

Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.