diff --git a/ihatemoney/run.py b/ihatemoney/run.py index eb704222..41885fe3 100644 --- a/ihatemoney/run.py +++ b/ihatemoney/run.py @@ -202,7 +202,18 @@ def create_app( default_timezone = str(LOCALTZ) except pytz.exceptions.UnknownTimeZoneError: pass - babel = Babel(app, default_timezone=default_timezone) + + def get_locale(): + # get the lang from the session if defined, fallback on the browser "accept + # languages" header. + lang = session.get( + "lang", + request.accept_languages.best_match(app.config["SUPPORTED_LANGUAGES"]), + ) + setattr(g, "lang", lang) + return lang + + Babel(app, default_timezone=default_timezone, locale_selector=get_locale) # Undocumented currencyformat filter from flask_babel is forwarding to Babel format_currency # We overwrite it to remove the currency sign ยค when there is no currency @@ -223,17 +234,6 @@ def create_app( app.jinja_env.filters["currency"] = currency - @babel.localeselector - def get_locale(): - # get the lang from the session if defined, fallback on the browser "accept - # languages" header. - lang = session.get( - "lang", - request.accept_languages.best_match(app.config["SUPPORTED_LANGUAGES"]), - ) - setattr(g, "lang", lang) - return lang - return app