diff options
| author | Markus Heiser <markus.heiser@darmarit.de> | 2020-02-23 13:50:22 +0100 |
|---|---|---|
| committer | Markus Heiser <markus.heiser@darmarit.de> | 2020-02-23 13:50:22 +0100 |
| commit | 4d67164918db9bd9f2a5a58765e6082a633f3e8e (patch) | |
| tree | 55a04662c2f842e9f92aeafe382f229b5ebeb666 /searx/webapp.py | |
| parent | 5fb6d4f508d9744a8d82160ca184729514bc18c8 (diff) | |
| parent | 8c2609775755d991c9905a0852c2770a79d1c091 (diff) | |
Merge branch 'master' of https://github.com/asciimoo/searx into filtron
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
Diffstat (limited to 'searx/webapp.py')
| -rw-r--r-- | searx/webapp.py | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/searx/webapp.py b/searx/webapp.py index a856c07dd..8712cc3c1 100644 --- a/searx/webapp.py +++ b/searx/webapp.py @@ -157,14 +157,16 @@ _category_names = (gettext('files'), outgoing_proxies = settings['outgoing'].get('proxies') or None +def _get_browser_language(request, lang_list): + for lang in request.headers.get("Accept-Language", "en").split(","): + locale = match_language(lang, lang_list, fallback=None) + if locale is not None: + return locale + + @babel.localeselector def get_locale(): - locale = "en-US" - - for lang in request.headers.get("Accept-Language", locale).split(","): - locale = match_language(lang, settings['locales'].keys(), fallback=None) - if locale is not None: - break + locale = _get_browser_language(request, settings['locales'].keys()) logger.debug("default locale from browser info is `%s`", locale) @@ -372,8 +374,7 @@ def render(template_name, override_theme=None, **kwargs): kwargs['language_codes'] = languages if 'current_language' not in kwargs: kwargs['current_language'] = match_language(request.preferences.get_value('language'), - LANGUAGE_CODES, - fallback=locale) + LANGUAGE_CODES) # override url_for function in templates kwargs['url_for'] = url_for_theme @@ -444,11 +445,10 @@ def pre_request(): request.errors.append(gettext('Invalid settings')) # init search language and locale - locale = get_locale() if not preferences.get_value("language"): - preferences.parse_dict({"language": locale}) + preferences.parse_dict({"language": _get_browser_language(request, LANGUAGE_CODES)}) if not preferences.get_value("locale"): - preferences.parse_dict({"locale": locale}) + preferences.parse_dict({"locale": get_locale()}) # request.user_plugins request.user_plugins = [] |