Sprache ändern Flasche Babel manuell

Ich verwende Flask Babel, um meine Flask Python App zu übersetzen. Im Moment habe ich nur den Übersetzungsmechanismus von locale aber was, wenn der Benutzer neben seinem Standort den Standort auf Englisch ändern möchte? Gibt es eine Möglichkeit, das Gebietsschema manuell zu ändern?

Dies ist meine Flask Babel-Funktion, die das Benutzergebietsschema erhält und die Sprache zurückgibt. Es ist auf meiner Datei __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()) 

Ich schätze jede Hilfe!

Freundliche Grüße

One Solution collect form web for “Sprache ändern Flasche Babel manuell”

Ein guter Weg, dies zu tun, zeigt sich in den Dokumenten von Flask-Admin

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

Jetzt könntest du eine französische Version der Anwendung ausprobieren: http: // localhost: 5000 / admin /? Lang = fr .

Sie können die Standardsprache noch über BABEL_DEFAULT_LOCALE angeben.

  • Flasche-RESTful: Warum bekomme ich einen AssertionError beim Analysieren eines Arguments mit dem falschen Typ?
  • Flask-login AttributeError: 'User' Objekt hat kein Attribut 'is_active'
  • Redirect auf Anmeldeseite, anstatt eine verbotene Nachricht anzuzeigen, wenn sie nicht angemeldet ist
  • Die Datenbankverbindung aus dem Anwendungskontext mit Flask-Restful erhalten
  • Flask-admin Inline-Modellierung übergeben Form Argumente wirft AttributeError
  • Flask-SQLAlchemy: Wie kann man eine Zeile bedingt einfügen oder aktualisieren?
  • Flask Admin ModelAlle Felder zwischen CREATE und EDIT anzeigen
  • Wie kann ich die Registrierung von Flask-Sicherheit anpassen?
  • Vor dem Befüllen eines WTforms in den Kolben, mit Daten aus einem SQLAlchemy-Objekt
  • Python-Flasche-Restful kann keinen App-Zugriff in Ressourcenklasse erhalten
  • Wie man über api Routen in einer anderen Datei als die App-Initialisierungsdatei iterieren kann
  • Python ist die beste Programmiersprache der Welt.