diff --git a/searx/search/checker/impl.py b/searx/search/checker/impl.py
index bc5cdf968..c11e00e66 100644
--- a/searx/search/checker/impl.py
+++ b/searx/search/checker/impl.py
@@ -293,13 +293,6 @@ class ResultContainerTests:
if len(self.result_container.answers) == 0:
self._record_error('No answer')
- def has_language(self, lang):
- """Check at least one title or content of the results is written in the `lang`.
-
- Detected using pycld3, may be not accurate"""
- if lang not in self.languages:
- self._record_error(lang + ' not found')
-
def not_empty(self):
"""Check the ResultContainer has at least one answer or infobox or result"""
result_types = set()
diff --git a/searx/search/processors/online.py b/searx/search/processors/online.py
index 8d8275df1..fbc1b640c 100644
--- a/searx/search/processors/online.py
+++ b/searx/search/processors/online.py
@@ -196,16 +196,6 @@ class OnlineProcessor(EngineProcessor):
'test': ['unique_results'],
}
- if getattr(self.engine, 'supported_languages', []):
- tests['lang_fr'] = {
- 'matrix': {'query': 'paris', 'lang': 'fr'},
- 'result_container': ['not_empty', ('has_language', 'fr')],
- }
- tests['lang_en'] = {
- 'matrix': {'query': 'paris', 'lang': 'en'},
- 'result_container': ['not_empty', ('has_language', 'en')],
- }
-
if getattr(self.engine, 'safesearch', False):
tests['safesearch'] = {'matrix': {'query': 'porn', 'safesearch': (0, 2)}, 'test': ['unique_results']}
diff --git a/searx/templates/oscar/preferences.html b/searx/templates/oscar/preferences.html
index 1a5219b07..70677f265 100644
--- a/searx/templates/oscar/preferences.html
+++ b/searx/templates/oscar/preferences.html
@@ -344,7 +344,6 @@
{{ _("Allow") }} |
{{ _("Engine name") }} |
{{ _("Shortcut") }} |
- {{ _("Selected language") }} |
{{ _("SafeSearch") }} |
{{ _("Time range") }} |
{{ _("Response time") }} |
@@ -356,7 +355,6 @@
{{ _("Response time") }} |
{{ _("Time range") }} |
{{ _("SafeSearch") }} |
- {{ _("Selected language") }} |
{{ _("Shortcut") }} |
{{ _("Engine name") }} |
{{ _("Allow") }} |
@@ -383,7 +381,6 @@
{{- engine_about(search_engine, 'tooltip_' + categ + '_' + search_engine.name) -}}
{{ shortcuts[search_engine.name] }} |
- {{ support_toggle(supports[search_engine.name]['supports_selected_language']) }} |
{{ support_toggle(supports[search_engine.name]['safesearch']) }} |
{{ support_toggle(supports[search_engine.name]['time_range_support']) }} |
{{ engine_time(search_engine.name, 'text-right') }}
@@ -395,7 +392,6 @@
{{ engine_time(search_engine.name, 'text-left') }}
{{ support_toggle(supports[search_engine.name]['time_range_support']) }} |
{{ support_toggle(supports[search_engine.name]['safesearch']) }} |
- {{ support_toggle(supports[search_engine.name]['supports_selected_language']) }} |
{{ shortcuts[search_engine.name] }} |
{% if search_engine.enable_http %}{{ icon('exclamation-sign', 'No HTTPS') }}{% endif %}{{ search_engine.name }}{{ engine_about(search_engine) }} |
diff --git a/searx/templates/simple/preferences.html b/searx/templates/simple/preferences.html
index fef003d5e..a265a47cf 100644
--- a/searx/templates/simple/preferences.html
+++ b/searx/templates/simple/preferences.html
@@ -297,7 +297,7 @@
| {{ _("Allow") }} | {{- "" -}}
{{ _("Engine name") }} | {{- "" -}}
{{ _("Shortcut") }} | {{- "" -}}
- {{ _("Supports selected language") }} | {{- "" -}}
+ {{ _("Language / Region") }} | {{- "" -}}
{{ _("SafeSearch") }} | {{- "" -}}
{{ _("Time range") }} | {{- "" -}}
{{ _("Response time") }} | {{- "" -}}
@@ -323,7 +323,7 @@
{{- engine_about(search_engine) -}}
{{- "" -}}
{{ shortcuts[search_engine.name] }} | {{- "" -}}
- {{ checkbox(None, supports[search_engine.name]['supports_selected_language'], true) }} | {{- "" -}}
+ {{ checkbox(None, supports[search_engine.name]['language_support'], true) }} | {{- "" -}}
{{ checkbox(None, supports[search_engine.name]['safesearch'], true) }} | {{- "" -}}
{{ checkbox(None, supports[search_engine.name]['time_range_support'], true) }} | {{- "" -}}
{{- engine_time(search_engine.name) -}}
diff --git a/searx/webapp.py b/searx/webapp.py
index 648a49ebe..7450a8ceb 100755
--- a/searx/webapp.py
+++ b/searx/webapp.py
@@ -1008,7 +1008,6 @@ def preferences():
'rate80': rate80,
'rate95': rate95,
'warn_timeout': e.timeout > settings['outgoing']['request_timeout'],
- 'supports_selected_language': _is_selected_language_supported(e, request.preferences),
'result_count': result_count,
}
# end of stats
@@ -1058,20 +1057,17 @@ def preferences():
# supports
supports = {}
for _, e in filtered_engines.items():
- supports_selected_language = _is_selected_language_supported(e, request.preferences)
safesearch = e.safesearch
time_range_support = e.time_range_support
for checker_test_name in checker_results.get(e.name, {}).get('errors', {}):
- if supports_selected_language and checker_test_name.startswith('lang_'):
- supports_selected_language = '?'
- elif safesearch and checker_test_name == 'safesearch':
+ if safesearch and checker_test_name == 'safesearch':
safesearch = '?'
elif time_range_support and checker_test_name == 'time_range':
time_range_support = '?'
supports[e.name] = {
- 'supports_selected_language': supports_selected_language,
'safesearch': safesearch,
'time_range_support': time_range_support,
+ 'language_support': e.language_support
}
return render(
@@ -1106,16 +1102,6 @@ def preferences():
)
-def _is_selected_language_supported(engine, preferences: Preferences): # pylint: disable=redefined-outer-name
- language = preferences.get_value('language')
- if language == 'all':
- return True
- x = match_language(
- language, getattr(engine, 'supported_languages', []), getattr(engine, 'language_aliases', {}), None
- )
- return bool(x)
-
-
@app.route('/image_proxy', methods=['GET'])
def image_proxy():
# pylint: disable=too-many-return-statements, too-many-branches
@@ -1331,10 +1317,6 @@ def config():
if not request.preferences.validate_token(engine):
continue
- supported_languages = engine.supported_languages
- if isinstance(engine.supported_languages, dict):
- supported_languages = list(engine.supported_languages.keys())
-
_engines.append(
{
'name': name,
@@ -1343,7 +1325,6 @@ def config():
'enabled': not engine.disabled,
'paging': engine.paging,
'language_support': engine.language_support,
- 'supported_languages': supported_languages,
'safesearch': engine.safesearch,
'time_range_support': engine.time_range_support,
'timeout': engine.timeout,