From 6716c6b0c310425872e3c182f8428f623760bec9 Mon Sep 17 00:00:00 2001 From: Alexandre Flament Date: Wed, 29 Jun 2022 20:14:04 +0200 Subject: [PATCH] openstreetmap engine: return the localized named. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit For example: display "Tokyo" instead of "東京都" when the language is English. --- searx/engines/openstreetmap.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/searx/engines/openstreetmap.py b/searx/engines/openstreetmap.py index c619ce98e..ecef9b60b 100644 --- a/searx/engines/openstreetmap.py +++ b/searx/engines/openstreetmap.py @@ -29,6 +29,7 @@ about = { # engine dependent config categories = ['map'] paging = False +language_support = True # search-url base_url = 'https://nominatim.openstreetmap.org/' @@ -141,6 +142,9 @@ def request(query, params): params['url'] = base_url + search_string.format(query=urlencode({'q': query})) params['route'] = route_re.match(query) params['headers']['User-Agent'] = searx_useragent() + + accept_language = 'en' if params['language'] == 'all' else params['language'] + params['headers']['Accept-Language'] = accept_language return params @@ -223,7 +227,7 @@ def fetch_wikidata(nominatim_json, user_langage): wd_to_results.setdefault(wd_id, []).append(result) if wikidata_ids: - user_langage = 'en' if user_langage == 'all' else user_langage + user_langage = 'en' if user_langage == 'all' else user_langage.split('-')[0] wikidata_ids_str = " ".join(wikidata_ids) query = wikidata_image_sparql.replace('%WIKIDATA_IDS%', sparql_string_escape(wikidata_ids_str)).replace( '%LANGUAGE%', sparql_string_escape(user_langage)