From 64e81794fe5336ad6bf4cf4777112f5b6d88a49f Mon Sep 17 00:00:00 2001
From: Marc Abonce Seguin <marc-abonce@mailbox.org>
Date: Mon, 8 Feb 2021 21:56:45 -0700
Subject: [PATCH] add support for Chinese variants in Wikipedia

---
 searx/engines/wikipedia.py | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/searx/engines/wikipedia.py b/searx/engines/wikipedia.py
index eff301145..c8e589e64 100644
--- a/searx/engines/wikipedia.py
+++ b/searx/engines/wikipedia.py
@@ -22,6 +22,7 @@ about = {
 # search-url
 search_url = 'https://{language}.wikipedia.org/api/rest_v1/page/summary/{title}'
 supported_languages_url = 'https://meta.wikimedia.org/wiki/List_of_Wikipedias'
+language_variants = {"zh": ("zh-cn", "zh-hk", "zh-mo", "zh-my", "zh-sg", "zh-tw")}
 
 
 # set language in base_url
@@ -37,8 +38,12 @@ def request(query, params):
     if query.islower():
         query = query.title()
 
+    language = url_lang(params['language'])
     params['url'] = search_url.format(title=quote(query),
-                                      language=url_lang(params['language']))
+                                      language=language)
+
+    if params['language'].lower() in language_variants.get(language, []):
+        params['headers']['Accept-Language'] = params['language'].lower()
 
     params['headers']['User-Agent'] = searx_useragent()
     params['raise_for_httperror'] = False
@@ -60,7 +65,7 @@ def response(resp):
     if api_result.get('type') != 'standard':
         return []
 
-    title = api_result['title']
+    title = api_result['displaytitle']
     wikipedia_link = api_result['content_urls']['desktop']['page']
 
     results.append({'url': wikipedia_link, 'title': title})