def get_locale(): if hasattr(flask.request, 'locale'): return flask.request.locale locale = flask.session.pop('locale', None) if not locale: locale = flask.request.cookies.get('locale', None) if not locale: locale = flask.request.accept_languages.best_match( matches=config.LOCALE.keys(), default=config.LOCALE_DEFAULT, ) return util.check_locale(locale)
def request_started(sender, **extra): hl = util.param('hl') flask.request.locale = util.check_locale(hl) if hl else get_locale() flask.request.locale_html = flask.request.locale.replace('_', '-')