summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.dir-locals.el6
-rw-r--r--requirements-dev.txt4
-rw-r--r--requirements.txt2
-rw-r--r--searx/engines/google_images.py2
-rw-r--r--searx/engines/google_videos.py2
-rw-r--r--searx/engines/meilisearch.py2
-rw-r--r--searx/network/__init__.py27
-rw-r--r--searx/network/network.py8
-rw-r--r--searx/preferences.py6
-rw-r--r--searx/settings.yml20
-rw-r--r--searx/static/themes/simple/.eslintrc.json12
-rw-r--r--searx/static/themes/simple/gruntfile.js17
-rw-r--r--searx/static/themes/simple/package.json4
-rw-r--r--searx/templates/__common__/new_issue.html8
-rw-r--r--searx/translations/bo/LC_MESSAGES/messages.mobin16797 -> 16807 bytes
-rw-r--r--searx/translations/bo/LC_MESSAGES/messages.po18
-rw-r--r--searx/translations/de/LC_MESSAGES/messages.mobin11967 -> 14593 bytes
-rw-r--r--searx/translations/de/LC_MESSAGES/messages.po186
-rw-r--r--searx/translations/fr/LC_MESSAGES/messages.mobin12115 -> 14845 bytes
-rw-r--r--searx/translations/fr/LC_MESSAGES/messages.po202
-rw-r--r--searx/translations/nb_NO/LC_MESSAGES/messages.mobin8793 -> 10561 bytes
-rw-r--r--searx/translations/nb_NO/LC_MESSAGES/messages.po56
-rw-r--r--searx/translations/pl/LC_MESSAGES/messages.mobin11440 -> 13269 bytes
-rw-r--r--searx/translations/pl/LC_MESSAGES/messages.po114
-rw-r--r--searx/translations/ru/LC_MESSAGES/messages.mobin15046 -> 18530 bytes
-rw-r--r--searx/translations/ru/LC_MESSAGES/messages.po219
-rw-r--r--searx/translations/tr/LC_MESSAGES/messages.mobin11730 -> 11766 bytes
-rw-r--r--searx/translations/tr/LC_MESSAGES/messages.po16
-rw-r--r--searx/utils.py6
-rw-r--r--searx/version.py4
-rwxr-xr-xsearx/webapp.py56
-rwxr-xr-xsearx_extra/update/update_external_bangs.py2
-rwxr-xr-xsearx_extra/update/update_osm_keys_tags.py2
-rw-r--r--tests/unit/test_utils.py4
34 files changed, 552 insertions, 453 deletions
diff --git a/.dir-locals.el b/.dir-locals.el
index 92ff6788b..b8f7ecc76 100644
--- a/.dir-locals.el
+++ b/.dir-locals.el
@@ -91,9 +91,9 @@
(js-mode
. ((eval . (progn
(setq-local js-indent-level 2)
- ;; flycheck should use the jshint checker from simple theme
- (setq-local flycheck-javascript-jshint-executable
- (expand-file-name "searx/static/themes/simple/node_modules/.bin/jshint" prj-root))
+ ;; flycheck should use the eslint checker from simple theme
+ (setq-local flycheck-javascript-eslint-executable
+ (expand-file-name "searx/static/themes/simple/node_modules/.bin/eslint" prj-root))
(flycheck-mode)
))))
diff --git a/requirements-dev.txt b/requirements-dev.txt
index e8dc0221c..42bd11726 100644
--- a/requirements-dev.txt
+++ b/requirements-dev.txt
@@ -2,7 +2,7 @@ mock==4.0.3
nose2[coverage_plugin]==0.10.0
cov-core==1.15.0
pycodestyle==2.7.0
-pylint==2.9.6
+pylint==2.10.2
splinter==0.15.0
transifex-client==0.14.3
selenium==3.141.0
@@ -16,5 +16,5 @@ sphinxcontrib-programoutput==0.17
sphinx-autobuild==2021.3.14
linuxdoc==20210324
aiounittest==1.4.0
-yamllint==1.26.2
+yamllint==1.26.3
wlc==1.12
diff --git a/requirements.txt b/requirements.txt
index 430120a89..371883b3e 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -4,7 +4,7 @@ flask-babel==2.0.0
flask==2.0.1
jinja2==3.0.1
lxml==4.6.3
-pygments==2.9.0
+pygments==2.10.0
python-dateutil==2.8.2
pyyaml==5.4.1
httpx[http2]==0.17.1
diff --git a/searx/engines/google_images.py b/searx/engines/google_images.py
index edfc3df9a..f4fbbaa42 100644
--- a/searx/engines/google_images.py
+++ b/searx/engines/google_images.py
@@ -66,7 +66,7 @@ filter_mapping = {
def scrap_out_thumbs(dom):
"""Scrap out thumbnail data from <script> tags.
"""
- ret_val = dict()
+ ret_val = {}
for script in eval_xpath(dom, '//script[contains(., "_setImgSrc(")]'):
_script = script.text
# _setImgSrc('0','data:image\/jpeg;base64,\/9j\/4AAQSkZJR ....');
diff --git a/searx/engines/google_videos.py b/searx/engines/google_videos.py
index 3747e85a5..3990d5b32 100644
--- a/searx/engines/google_videos.py
+++ b/searx/engines/google_videos.py
@@ -80,7 +80,7 @@ def _re(regexpr):
def scrap_out_thumbs(dom):
"""Scrap out thumbnail data from <script> tags.
"""
- ret_val = dict()
+ ret_val = {}
thumb_name = 'vidthumb'
for script in eval_xpath_list(dom, '//script[contains(., "_setImagesSrc")]'):
diff --git a/searx/engines/meilisearch.py b/searx/engines/meilisearch.py
index 86cd7512c..d0d304e2a 100644
--- a/searx/engines/meilisearch.py
+++ b/searx/engines/meilisearch.py
@@ -12,7 +12,7 @@ from json import loads, dumps
base_url = 'http://localhost:7700'
index = ''
auth_key = ''
-facet_filters = list()
+facet_filters = []
_search_url = ''
result_template = 'key-value.html'
categories = ['general']
diff --git a/searx/network/__init__.py b/searx/network/__init__.py
index c921bdecb..3dc99da48 100644
--- a/searx/network/__init__.py
+++ b/searx/network/__init__.py
@@ -5,6 +5,7 @@
import asyncio
import threading
import concurrent.futures
+from types import MethodType
from timeit import default_timer
import httpx
@@ -161,19 +162,32 @@ def patch(url, data=None, **kwargs):
def delete(url, **kwargs):
return request('delete', url, **kwargs)
+
async def stream_chunk_to_queue(network, queue, method, url, **kwargs):
try:
async with network.stream(method, url, **kwargs) as response:
queue.put(response)
- async for chunk in response.aiter_bytes(65536):
+ # aiter_raw: access the raw bytes on the response without applying any HTTP content decoding
+ # https://www.python-httpx.org/quickstart/#streaming-responses
+ async for chunk in response.aiter_raw(65536):
if len(chunk) > 0:
queue.put(chunk)
+ except httpx.ResponseClosed:
+ # the response was closed
+ pass
except (httpx.HTTPError, OSError, h2.exceptions.ProtocolError) as e:
queue.put(e)
finally:
queue.put(None)
+def _close_response_method(self):
+ asyncio.run_coroutine_threadsafe(
+ self.aclose(),
+ get_loop()
+ )
+
+
def stream(method, url, **kwargs):
"""Replace httpx.stream.
@@ -191,10 +205,19 @@ def stream(method, url, **kwargs):
stream_chunk_to_queue(get_network(), queue, method, url, **kwargs),
get_loop()
)
+
+ # yield response
+ response = queue.get()
+ if isinstance(response, Exception):
+ raise response
+ response.close = MethodType(_close_response_method, response)
+ yield response
+
+ # yield chunks
chunk_or_exception = queue.get()
while chunk_or_exception is not None:
if isinstance(chunk_or_exception, Exception):
raise chunk_or_exception
yield chunk_or_exception
chunk_or_exception = queue.get()
- return future.result()
+ future.result()
diff --git a/searx/network/network.py b/searx/network/network.py
index e7dc5b56e..94e91593d 100644
--- a/searx/network/network.py
+++ b/searx/network/network.py
@@ -289,6 +289,14 @@ def initialize(settings_engines=None, settings_outgoing=None):
if isinstance(network, str):
NETWORKS[engine_name] = NETWORKS[network]
+ # the /image_proxy endpoint has a dedicated network.
+ # same parameters than the default network, but HTTP/2 is disabled.
+ # It decreases the CPU load average, and the total time is more or less the same
+ if 'image_proxy' not in NETWORKS:
+ image_proxy_params = default_params.copy()
+ image_proxy_params['enable_http2'] = False
+ NETWORKS['image_proxy'] = new_network(image_proxy_params)
+
@atexit.register
def done():
diff --git a/searx/preferences.py b/searx/preferences.py
index 69832c052..c19a11f4b 100644
--- a/searx/preferences.py
+++ b/searx/preferences.py
@@ -285,7 +285,7 @@ class EnginesSetting(SwitchableSetting):
transformed_choices = []
for engine_name, engine in self.choices.items(): # pylint: disable=no-member,access-member-before-definition
for category in engine.categories:
- transformed_choice = dict()
+ transformed_choice = {}
transformed_choice['default_on'] = not engine.disabled
transformed_choice['id'] = '{}__{}'.format(engine_name, category)
transformed_choices.append(transformed_choice)
@@ -296,7 +296,7 @@ class EnginesSetting(SwitchableSetting):
def transform_values(self, values):
if len(values) == 1 and next(iter(values)) == '':
- return list()
+ return []
transformed_values = []
for value in values:
engine, category = value.split('__')
@@ -311,7 +311,7 @@ class PluginsSetting(SwitchableSetting):
super()._post_init()
transformed_choices = []
for plugin in self.choices: # pylint: disable=access-member-before-definition
- transformed_choice = dict()
+ transformed_choice = {}
transformed_choice['default_on'] = plugin.default_on
transformed_choice['id'] = plugin.id
transformed_choices.append(transformed_choice)
diff --git a/searx/settings.yml b/searx/settings.yml
index 1e5216a43..aec925087 100644
--- a/searx/settings.yml
+++ b/searx/settings.yml
@@ -938,6 +938,26 @@ engines:
require_api_key: false
results: HTML
+ - name: packagist
+ engine: json_engine
+ paging: true
+ search_url: https://packagist.org/search.json?q={query}&page={pageno}
+ results_query: results
+ url_query: url
+ title_query: name
+ content_query: description
+ categories: it
+ disabled: true
+ timeout: 5.0
+ shortcut: pack
+ about:
+ website: https://packagist.org
+ wikidata_id: Q108311377
+ official_api_documentation: https://packagist.org/apidoc
+ use_official_api: true
+ require_api_key: false
+ results: JSON
+
- name: pdbe
engine: pdbe
shortcut: pdb
diff --git a/searx/static/themes/simple/.eslintrc.json b/searx/static/themes/simple/.eslintrc.json
new file mode 100644
index 000000000..f6aed7584
--- /dev/null
+++ b/searx/static/themes/simple/.eslintrc.json
@@ -0,0 +1,12 @@
+{
+ "env": {
+ "browser": true,
+ "es2021": true
+ },
+ "extends": "eslint:recommended",
+ "parserOptions": {
+ "ecmaVersion": 12
+ },
+ "rules": {
+ }
+}
diff --git a/searx/static/themes/simple/gruntfile.js b/searx/static/themes/simple/gruntfile.js
index 7e5ad5466..47e5a962e 100644
--- a/searx/static/themes/simple/gruntfile.js
+++ b/searx/static/themes/simple/gruntfile.js
@@ -9,11 +9,19 @@ module.exports = function(grunt) {
watch: {
scripts: {
files: ['src/**'],
- tasks: ['jshint', 'copy', 'concat', 'uglify', 'less:development', 'less:production']
+ tasks: ['eslint', 'copy', 'concat', 'uglify', 'less:development', 'less:production']
}
},
- jshint: {
- files: ['src/js/main/*.js', 'src/js/head/*.js', '../__common__/js/*.js'],
+ eslint: {
+ options: {
+ configFile: '.eslintrc.json',
+ failOnError: false
+ },
+ target: [
+ 'src/js/main/*.js',
+ 'src/js/head/*.js',
+ '../__common__/js/*.js'
+ ],
},
stylelint: {
options: {
@@ -189,11 +197,12 @@ module.exports = function(grunt) {
grunt.loadNpmTasks('grunt-contrib-cssmin');
grunt.loadNpmTasks('grunt-webfont');
grunt.loadNpmTasks('grunt-stylelint');
+ grunt.loadNpmTasks('grunt-eslint');
grunt.registerTask('test', ['jshint']);
grunt.registerTask('default', [
- 'jshint',
+ 'eslint',
'stylelint',
'copy',
'concat',
diff --git a/searx/static/themes/simple/package.json b/searx/static/themes/simple/package.json
index 89e9008be..9ddc66d39 100644
--- a/searx/static/themes/simple/package.json
+++ b/searx/static/themes/simple/package.json
@@ -10,9 +10,10 @@
"grunt-contrib-uglify": "~5.0.1",
"grunt-contrib-watch": "~1.1.0",
"grunt-stylelint": "^0.16.0",
+ "grunt-eslint": "^23.0.0",
"grunt-webfont": "^1.7.2",
"ionicons-npm": "^2.0.1",
- "jslint": "^0.12.1",
+ "eslint": "^7.32.0",
"less": "^4.1.1",
"less-plugin-clean-css": "^1.5.1",
"stylelint": "^13.13.1",
@@ -26,6 +27,7 @@
"scripts": {
"all": "npm install && grunt",
"build": "grunt",
+ "eslint": "grunt eslint",
"watch": "grunt watch",
"webfont": "grunt webfont",
"clean": "rm -Rf node_modules package-lock.json ion.less",
diff --git a/searx/templates/__common__/new_issue.html b/searx/templates/__common__/new_issue.html
index c741a049f..d001df6b5 100644
--- a/searx/templates/__common__/new_issue.html
+++ b/searx/templates/__common__/new_issue.html
@@ -6,6 +6,13 @@
<textarea name="body" class="issue-hide">{{- '' -}}
**Version of SearXNG, commit number if you are using on master branch and stipulate if you forked SearXNG**
+{% if searx_git_url and searx_git_url != 'unknow' %}
+Repository: {{ searx_git_url }}
+Branch: {{ searx_git_branch }}
+Version: {{ searx_version }}
+<!-- Check if these values are correct -->
+
+{% else %}
<!-- If you are running on master branch using git execute this command
in order to fetch the latest commit ID:
```
@@ -17,6 +24,7 @@ and check for the version after "Powered by SearXNG"
Please also stipulate if you are using a forked version of SearxNG and
include a link to the fork source code.
-->
+{% endif %}
**How did you install SearXNG?**
<!-- Did you install SearXNG using the official wiki or using searx-docker
or manually by executing the searx/webapp.py file? -->
diff --git a/searx/translations/bo/LC_MESSAGES/messages.mo b/searx/translations/bo/LC_MESSAGES/messages.mo
index b6a18ab06..e5ad67797 100644
--- a/searx/translations/bo/LC_MESSAGES/messages.mo
+++ b/searx/translations/bo/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/searx/translations/bo/LC_MESSAGES/messages.po b/searx/translations/bo/LC_MESSAGES/messages.po
index dade94abd..10e2e5524 100644
--- a/searx/translations/bo/LC_MESSAGES/messages.po
+++ b/searx/translations/bo/LC_MESSAGES/messages.po
@@ -7,18 +7,19 @@
# 1225 <khyon_khangey@outlook.com>, 2019
msgid ""
msgstr ""
-"Project-Id-Version: searx\n"
+"Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2021-07-31 19:11+0200\n"
-"PO-Revision-Date: 2020-07-09 13:10+0000\n"
-"Last-Translator: Adam Tauber <asciimoo@gmail.com>\n"
+"PO-Revision-Date: 2021-08-23 19:04+0000\n"
+"Last-Translator: Markus Heiser <markus.heiser@darmarit.de>\n"
+"Language-Team: Tibetan <https://weblate.bubu1.eu/projects/searxng/searxng/bo/"
+">\n"
"Language: bo\n"
-"Language-Team: Tibetan "
-"(http://www.transifex.com/asciimoo/searx/language/bo/)\n"
-"Plural-Forms: nplurals=1; plural=0\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Weblate 4.8\n"
"Generated-By: Babel 2.9.1\n"
#: searx/webapp.py:187
@@ -206,8 +207,8 @@ msgid ""
"Avoid paywalls by redirecting to open-access versions of publications "
"when available"
msgstr ""
-"Avoid paywalls by redirecting to open-access versions of publications "
-"when available"
+"Avoid paywalls by redirecting to open-access versions of publications when "
+"available"
#: searx/plugins/search_on_category_select.py:18
msgid "Search on category select"
@@ -1238,4 +1239,3 @@ msgstr "ལན།"
#~ msgid "Loading..."
#~ msgstr ""
-
diff --git a/searx/translations/de/LC_MESSAGES/messages.mo b/searx/translations/de/LC_MESSAGES/messages.mo
index d7b6f42f3..80d5306b7 100644
--- a/searx/translations/de/LC_MESSAGES/messages.mo
+++ b/searx/translations/de/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/searx/translations/de/LC_MESSAGES/messages.po b/searx/translations/de/LC_MESSAGES/messages.po
index 3ede4b517..f333cba2f 100644
--- a/searx/translations/de/LC_MESSAGES/messages.po
+++ b/searx/translations/de/LC_MESSAGES/messages.po
@@ -19,18 +19,19 @@
# Thomas Pointhuber, 2016-2017
msgid ""
msgstr ""
-"Project-Id-Version: searx\n"
+"Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2021-07-31 19:11+0200\n"
-"PO-Revision-Date: 2020-09-10 17:09+0000\n"
-"Last-Translator: NeoCode <amecus79@gmail.com>\n"
+"PO-Revision-Date: 2021-08-23 19:04+0000\n"
+"Last-Translator: Markus Heiser <markus.heiser@darmarit.de>\n"
+"Language-Team: German <https://weblate.bubu1.eu/projects/searxng/searxng/de/>"
+"\n"
"Language: de\n"
-"Language-Team: German "
-"(http://www.transifex.com/asciimoo/searx/language/de/)\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 4.8\n"
"Generated-By: Babel 2.9.1\n"
#: searx/webapp.py:187
@@ -71,7 +72,7 @@ msgstr "Karte"
#: searx/webapp.py:196
msgid "onions"
-msgstr ""
+msgstr "Onions"
#: searx/webapp.py:197
msgid "science"
@@ -79,51 +80,51 @@ msgstr "Wissenschaft"
#: searx/webapp.py:201
msgid "timeout"
-msgstr ""
+msgstr "Timeout"
#: searx/webapp.py:202
msgid "parsing error"
-msgstr ""
+msgstr "Fehler beim Parsen"
#: searx/webapp.py:203
msgid "HTTP protocol error"
-msgstr ""
+msgstr "HTTP-Protokollfehler"
#: searx/webapp.py:204
msgid "network error"
-msgstr ""
+msgstr "Netzwerkfehler"
#: searx/webapp.py:206
msgid "unexpected crash"
-msgstr ""
+msgstr "unerwarteter Absturz"
#: searx/webapp.py:213
msgid "HTTP error"
-msgstr ""
+msgstr "HTTP-Fehler"
#: searx/webapp.py:214
msgid "HTTP connection error"
-msgstr ""
+msgstr "HTTP-Verbindungsfehler"
#: searx/webapp.py:220
msgid "proxy error"
-msgstr ""
+msgstr "Proxy-Fehler"
#: searx/webapp.py:221
msgid "CAPTCHA"
-msgstr ""
+msgstr "CAPTCHA"
#: searx/webapp.py:222
msgid "too many requests"
-msgstr ""
+msgstr "zu viele Anfragen"
#: searx/webapp.py:223
msgid "access denied"
-msgstr ""
+msgstr "Zugriff verweigert"
#: searx/webapp.py:224
msgid "server API error"
-msgstr ""
+msgstr "Server-API-Fehler"
#: searx/webapp.py:423
msgid "No item found"
@@ -151,7 +152,7 @@ msgstr "vor {hours} Stunde(n), {minutes} Minute(n)"
#: searx/webapp.py:853
msgid "Suspended"
-msgstr ""
+msgstr "Ausgesetzt"
#: searx/answerers/random/answerer.py:65
msgid "Random value generator"
@@ -163,7 +164,7 @@ msgstr "Erzeugt diverse Zufallswerte"
#: searx/answerers/statistics/answerer.py:50
msgid "Statistics functions"
-msgstr "Statistikfuntionen"
+msgstr "Statistikfunktionen"
#: searx/answerers/statistics/answerer.py:51
msgid "Compute {functions} of the arguments"
@@ -187,19 +188,19 @@ msgstr "Keine Zusammenfassung für die Veröffentlichung verfügbar."
#: searx/engines/qwant.py:196
msgid "Source"
-msgstr ""
+msgstr "Quelle"
#: searx/engines/qwant.py:198
msgid "Channel"
-msgstr ""
+msgstr "Kanal"
#: searx/plugins/hash_plugin.py:24
msgid "Converts strings to different hash digests."
-msgstr ""
+msgstr "Konvertiert Zeichenketten in verschiedene Hashwerte."
#: searx/plugins/hash_plugin.py:52
msgid "hash digest"
-msgstr ""
+msgstr "Hashwert"
#: searx/plugins/infinite_scroll.py:3
msgid "Infinite scroll"
@@ -220,8 +221,8 @@ msgid ""
"Avoid paywalls by redirecting to open-access versions of publications "
"when available"
msgstr ""
-"Bezahlbeschränkungen durch die Weiterleitung zu der verfügbaren Open-"
-"Access-Version vermeiden"
+"Bezahlbeschränkungen durch die Weiterleitung zu der verfügbaren Open-Access-"
+"Version vermeiden"
#: searx/plugins/search_on_category_select.py:18
msgid "Search on category select"
@@ -232,21 +233,21 @@ msgid ""
"Perform search immediately if a category selected. Disable to select "
"multiple categories. (JavaScript required)"
msgstr ""
-"Die Suche sofort starten, wenn eine Kategorie ausgewählt wird. Es ist "
-"dann nicht mehr möglich, mehrere Kategorien auszuwählen. (JavaScript wird"
-" benötigt)"
+"Die Suche sofort starten, wenn eine Kategorie ausgewählt wird. Es ist dann "
+"nicht mehr möglich, mehrere Kategorien auszuwählen. (JavaScript wird "
+"benötigt)"
#: searx/plugins/self_info.py:19
msgid "Self Informations"
-msgstr ""
+msgstr "Selbstauskunft"
#: searx/plugins/self_info.py:20
msgid ""
"Displays your IP if the query is \"ip\" and your user agent if the query "
"contains \"user agent\"."
msgstr ""
-"Zeigt deine IP-Adresse an, wenn die Suchabfrage \"ip\" lautet, und "
-"deinen User-Agent, wenn deine Suchabfrage \"user agent\" beinhaltet."
+"Zeigt deine IP-Adresse an, wenn die Suchabfrage \"ip\" lautet, und deinen "
+"User-Agent, wenn deine Suchabfrage \"user agent\" beinhaltet."
#: searx/plugins/tracker_url_remover.py:27
msgid "Tracker URL remover"
@@ -265,10 +266,9 @@ msgid ""
"Navigate search results with Vim-like hotkeys (JavaScript required). "
"Press \"h\" key on main or result page to get help."
msgstr ""
-"In der Ergebnisseite mit Vim-ähnlichen Tastaturkombinationen navigieren "
-"(es wird JavaScript benötigt).\n"
-"Auf der Start- bzw. Ergebnisseite \"h\" drücken, um ein Hilfe-Fenster "
-"anzuzeigen."
+"In der Ergebnisseite mit Vim-ähnlichen Tastaturkombinationen navigieren (es "
+"wird JavaScript benötigt). Auf der Start- bzw. Ergebnisseite \"h\" drücken, "
+"um ein Hilfe-Fenster anzuzeigen."
#: searx/templates/oscar/404.html:4 searx/templates/simple/404.html:4
msgid "Page not found"
@@ -330,7 +330,7 @@ msgstr "Öffentliche Instanzen"
#: searx/templates/oscar/base.html:89 searx/templates/simple/base.html:57
msgid "Contact instance maintainer"
-msgstr ""
+msgstr "Kontakt zum Betreuer der Instanz"
#: searx/templates/oscar/languages.html:2
msgid "Language"
@@ -374,7 +374,7 @@ msgstr "Erlauben"
#: searx/templates/oscar/macros.html:139
msgid "broken"
-msgstr ""
+msgstr "kaputt"
#: searx/templates/oscar/macros.html:141
msgid "supported"
@@ -392,7 +392,7 @@ msgstr "Einstellungen"
#: searx/templates/oscar/preferences.html:11
#: searx/templates/simple/preferences.html:27
msgid "No HTTPS"
-msgstr ""
+msgstr "Kein HTTPS"
#: searx/templates/oscar/preferences.html:13
#: searx/templates/oscar/results.html:27 searx/templates/simple/results.html:40
@@ -401,7 +401,7 @@ msgstr "Trefferanzahl"
#: searx/templates/oscar/preferences.html:13
msgid "Avg."
-msgstr ""
+msgstr "Avg."
#: searx/templates/oscar/messages/no_results.html:8
#: searx/templates/oscar/preferences.html:16
@@ -412,33 +412,33 @@ msgstr ""
#: searx/templates/simple/preferences.html:30
#: searx/templates/simple/results.html:48
msgid "View error logs and submit a bug report"
-msgstr ""
+msgstr "Fehlerprotokolle einsehen und einen Fehlerbericht einreichen"
#: searx/templates/oscar/preferences.html:37
#: searx/templates/oscar/stats.html:70
#: searx/templates/simple/preferences.html:51
#: searx/templates/simple/stats.html:70
msgid "Median"
-msgstr ""
+msgstr "Median"
#: searx/templates/oscar/preferences.html:38
#: searx/templates/oscar/stats.html:76
#: searx/templates/simple/preferences.html:52
#: searx/templates/simple/stats.html:76
msgid "P80"
-msgstr ""
+msgstr "P80"
#: searx/templates/oscar/preferences.html:39
#: searx/templates/oscar/stats.html:82
#: searx/templates/simple/preferences.html:53
#: searx/templates/simple/stats.html:82
msgid "P95"
-msgstr ""
+msgstr "P95"
#: searx/templates/oscar/preferences.html:67
#: searx/templates/simple/preferences.html:81
msgid "Failed checker test(s): "
-msgstr ""
+msgstr "Fehlgeschlagene(r) Checker-Test(s): "
#: searx/templates/oscar/preferences.html:95
#: searx/templates/simple/preferences.html:99
@@ -454,7 +454,7 @@ msgstr "Allgemein"
#: searx/templates/oscar/preferences.html:101
#: searx/templates/oscar/preferences.html:192
msgid "User Interface"
-msgstr ""
+msgstr "Benutzeroberfläche"
#: searx/templates/oscar/preferences.html:102
#: searx/templates/oscar/preferences.html:256
@@ -470,7 +470,7 @@ msgstr "Suchmaschinen"
#: searx/templates/oscar/preferences.html:104
msgid "Special Queries"
-msgstr ""
+msgstr "Besondere Abfragen"
#: searx/templates/oscar/preferences.html:105
#: searx/templates/oscar/preferences.html:430
@@ -544,8 +544,8 @@ msgid ""
"Redirect to open-access versions of publications when available (plugin "
"required)"
msgstr ""
-"Weiterleitung zu frei zugänglichen Versionen von Veröffentlichungen, wenn"
-" verfügbar (Plugin benötigt)"
+"Weiterleitung zu frei zugänglichen Versionen von Veröffentlichungen, wenn "
+"verfügbar (Plugin benötigt)"
#: searx/templates/oscar/preferences.html:182
msgid "Engine tokens"
@@ -553,7 +553,7 @@ msgstr "Maschinentoken"
#: searx/templates/oscar/preferences.html:183
msgid "Access tokens for private engines"
-msgstr "Zugangstoken für private such Maschinen"
+msgstr "Zugangstoken für private Suchmaschinen"
#: searx/templates/oscar/preferences.html:197
#: searx/templates/simple/preferences.html:219
@@ -587,11 +587,13 @@ msgstr "Aussehen"
#: searx/templates/oscar/preferences.html:230
msgid "Show advanced settings"
-msgstr ""
+msgstr "Erweiterte Einstellungen anzeigen"
#: searx/templates/oscar/preferences.html:231
msgid "Show advanced settings panel in the home page by default"
msgstr ""
+"Standardmäßig das Panel für erweiterte Einstellungen auf der Startseite "
+"anzeigen"
#: searx/templates/oscar/preferences.html:234
#: searx/templates/oscar/preferences.html:244
@@ -626,9 +628,9 @@ msgid ""
"href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
" rel=\"external\">learn more about request methods</a>"
msgstr ""
-"ändere wie Formulare übertragen werden, <a "
-"href=\"https://de.wikipedia.org/wiki/Hypertext_Transfer_Protocol#HTTP-"
-"Anfragemethoden\" rel=\"external\">lerne mehr über Anfragemethoden</a>"
+"ändere wie Formulare übertragen werden, <a href=\"https://de.wikipedia.org/"
+"wiki/Hypertext_Transfer_Protocol#HTTP-Anfragemethoden\" rel=\"external\""
+">lerne mehr über Anfragemethoden</a>"
#: searx/templates/oscar/preferences.html:272
#: searx/templates/simple/preferences.html:305
@@ -690,7 +692,7 @@ msgstr "Zeitbereich"
#: searx/templates/simple/preferences.html:188
#: searx/templates/simple/stats.html:31
msgid "Response time"
-msgstr ""
+msgstr "Antwortzeit"
#: searx/templates/oscar/preferences.html:325
#: searx/templates/oscar/preferences.html:329
@@ -702,11 +704,11 @@ msgstr "max. Zeit"
#: searx/templates/oscar/preferences.html:328
#: searx/templates/simple/preferences.html:190
msgid "Reliablity"
-msgstr ""
+msgstr "Zuverlässigkeit"
#: searx/templates/oscar/preferences.html:384
msgid "Query"
-msgstr ""
+msgstr "Anfrage"
#: searx/templates/oscar/preferences.html:391
msgid "Keywords"
@@ -726,11 +728,11 @@ msgstr "Beispiele"
#: searx/templates/oscar/preferences.html:399
msgid "This is the list of searx's instant answering modules."
-msgstr "Dies ist die Liste der in searx verfügbaren Module für Sofortantworten "
+msgstr "Dies ist die Liste der in searx verfügbaren Module für Sofortantworten."
#: searx/templates/oscar/preferences.html:412
msgid "This is the list of plugins."
-msgstr ""
+msgstr "Dies ist die Liste der Plugins."
#: searx/templates/oscar/preferences.html:433
#: searx/templates/simple/preferences.html:261
@@ -744,7 +746,7 @@ msgstr ""
#: searx/templates/oscar/preferences.html:434
#: searx/templates/simple/preferences.html:262
msgid "With that list, you can assess searx transparency."
-msgstr "Mit dieser Liste können Sie die Transparenz von searx einschätzen"
+msgstr "Mit dieser Liste können Sie die Transparenz von searx einschätzen."
#: searx/templates/oscar/preferences.html:439
#: searx/templates/simple/preferences.html:268
@@ -762,8 +764,8 @@ msgid ""
"These settings are stored in your cookies, this allows us not to store "
"this data about you."
msgstr ""
-"Diese Informationen werden in Cookies auf Ihrem Rechner gespeichert, "
-"damit wir keine Ihrer persönlichen Daten speichern müssen."
+"Diese Informationen werden in Cookies auf Ihrem Rechner gespeichert, damit "
+"wir keine Ihrer persönlichen Daten speichern müssen."
#: searx/templates/oscar/preferences.html:458
#: searx/templates/simple/preferences.html:323
@@ -771,8 +773,8 @@ msgid ""
"These cookies serve your sole convenience, we don't use these cookies to "
"track you."
msgstr ""
-"Diese Cookies dienen einzig Ihrem Komfort. Wir verwenden sie nicht, um "
-"Sie zu überwachen."
+"Diese Cookies dienen einzig Ihrem Komfort. Wir verwenden sie nicht, um Sie "
+"zu überwachen."
#: searx/templates/oscar/preferences.html:462
#: searx/templates/simple/preferences.html:282
@@ -884,11 +886,11 @@ msgstr "Punkte"
#: searx/templates/oscar/stats.html:31 searx/templates/simple/stats.html:30
msgid "Result count"
-msgstr ""
+msgstr "Ergebnisanzahl"
#: searx/templates/oscar/stats.html:33 searx/templates/simple/stats.html:32
msgid "Reliability"
-msgstr ""
+msgstr "Zuverlässigkeit"
#: searx/templates/oscar/stats.html:42 searx/templates/simple/stats.html:41
msgid "Scores per result"
@@ -896,64 +898,64 @@ msgstr "Punkte pro Treffer"
#: searx/templates/oscar/stats.html:65 searx/templates/simple/stats.html:65
msgid "Total"
-msgstr ""
+msgstr "Insgesamt"
#: searx/templates/oscar/stats.html:66 searx/templates/simple/stats.html:66
msgid "HTTP"
-msgstr ""
+msgstr "HTTP"
#: searx/templates/oscar/stats.html:67 searx/templates/simple/stats.html:67
msgid "Processing"
-msgstr ""
+msgstr "Verarbeitung"
#: searx/templates/oscar/stats.html:106 searx/templates/simple/stats.html:105
msgid "Warnings"
-msgstr ""
+msgstr "Warnungen"
#: searx/templates/oscar/stats.html:106 searx/templates/simple/stats.html:105
msgid "Errors and exceptions"
-msgstr ""
+msgstr "Fehler und Ausnahmen"
#: searx/templates/oscar/stats.html:112 searx/templates/simple/stats.html:111
msgid "Exception"
-msgstr ""
+msgstr "Ausnahmefehler"
#: searx/templates/oscar/stats.html:114 searx/templates/simple/stats.html:113
msgid "Message"
-msgstr ""
+msgstr "Meldung"
#: searx/templates/oscar/stats.html:116 searx/templates/simple/stats.html:115
msgid "Percentage"
-msgstr ""
+msgstr "Prozentsatz"
#: searx/templates/oscar/stats.html:118 searx/templates/simple/stats.html:117
msgid "Parameter"
-msgstr ""
+msgstr "Parameter"
#: searx/templates/oscar/result_templates/files.html:35
#: searx/templates/oscar/stats.html:126 searx/templates/simple/stats.html:125
msgid "Filename"
-msgstr ""
+msgstr "Dateiname"
#: searx/templates/oscar/stats.html:127 searx/templates/simple/stats.html:126
msgid "Function"
-msgstr ""
+msgstr "Funktion"
#: searx/templates/oscar/stats.html:128 searx/templates/simple/stats.html:127
msgid "Code"
-msgstr ""
+msgstr "Code"
#: searx/templates/oscar/stats.html:135 searx/templates/simple/stats.html:134
msgid "Checker"
-msgstr ""
+msgstr "Checker"
#: searx/templates/oscar/stats.html:138 searx/templates/simple/stats.html:137
msgid "Failed test"
-msgstr ""
+msgstr "Test fehlgeschlagen"
#: searx/templates/oscar/stats.html:139 searx/templates/simple/stats.html:138
msgid "Comment(s)"
-msgstr ""
+msgstr "Kommentar(e)"
#: searx/templates/oscar/time-range.html:5
#: searx/templates/simple/time-range.html:3
@@ -987,7 +989,7 @@ msgstr "Achtung!"
#: searx/templates/oscar/messages/first_time.html:7
msgid "It look like you are using searx first time."
-msgstr "Es sieht so aus, als ob das erstes mal mit searx arbeitest."
+msgstr "Es sieht so aus, als würden Sie searx zum ersten Mal verwenden."
#: searx/templates/oscar/messages/no_cookies.html:3
msgid "Information!"
@@ -1000,7 +1002,7 @@ msgstr "Derzeit sind keine Cookies gespeichert."
#: searx/templates/oscar/messages/no_data_available.html:4
#: searx/templates/simple/stats.html:24
msgid "There is currently no data available. "
-msgstr "Es sind derzeit keine Daten vorhanden."
+msgstr "Es sind derzeit keine Daten vorhanden. "
#: searx/templates/oscar/messages/no_results.html:4
#: searx/templates/simple/messages/no_results.html:4
@@ -1010,7 +1012,7 @@ msgstr "Suchmaschinen können die Ergebnisse nicht empfangen."
#: searx/templates/oscar/messages/no_results.html:13
#: searx/templates/simple/messages/no_results.html:14
msgid "Please, try again later or find another searx instance."
-msgstr "Bitte später nochmals versuchen oder eine andere Searx-Instanz verwenden."
+msgstr "Bitte später nochmals versuchen oder eine andere Instanz verwenden."
#: searx/templates/oscar/messages/no_results.html:17
#: searx/templates/simple/messages/no_results.html:18
@@ -1023,9 +1025,8 @@ msgid ""
"we didn't find any results. Please use another query or search in more "
"categories."
msgstr ""
-"Es konnten keine Suchergebnisse gefunden werden. Bitte nutze einen "
-"anderen Suchbegriff, oder suche das gewünschte in einer anderen "
-"Kategorie. "
+"Es konnten keine Suchergebnisse gefunden werden. Bitte nutze einen anderen "
+"Suchbegriff, oder suche das gewünschte in einer anderen Kategorie."
#: searx/templates/oscar/messages/save_settings_successfull.html:7
msgid "Well done!"
@@ -1099,11 +1100,11 @@ msgstr "TB"
#: searx/templates/oscar/result_templates/files.html:46
msgid "Date"
-msgstr ""
+msgstr "Datum"
#: searx/templates/oscar/result_templates/files.html:48
msgid "Type"
-msgstr ""
+msgstr "Typ"
#: searx/templates/oscar/result_templates/images.html:27
msgid "Get image"
@@ -1116,7 +1117,7 @@ msgstr "Seite besuchen"
#: searx/templates/oscar/result_templates/map.html:26
#: searx/templates/simple/result_templates/map.html:11
msgid "address"
-msgstr ""
+msgstr "Adresse"
#: searx/templates/oscar/result_templates/map.html:59
#: searx/templates/simple/result_templates/map.html:42
@@ -1163,7 +1164,7 @@ msgstr "klicke auf die Lupe, um die Suche zu starten"
#: searx/templates/simple/preferences.html:83
msgid "Errors:"
-msgstr ""
+msgstr "Fehler:"
#: searx/templates/simple/preferences.html:173
msgid "Currently used search engines"
@@ -1259,4 +1260,3 @@ msgstr "Antworten"
#~ msgid "Loading..."
#~ msgstr "Lade..."
-
diff --git a/searx/translations/fr/LC_MESSAGES/messages.mo b/searx/translations/fr/LC_MESSAGES/messages.mo
index 0f3f8f627..49d2d57ab 100644
--- a/searx/translations/fr/LC_MESSAGES/messages.mo
+++ b/searx/translations/fr/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/searx/translations/fr/LC_MESSAGES/messages.po b/searx/translations/fr/LC_MESSAGES/messages.po
index b103847a1..47cb9a5ad 100644
--- a/searx/translations/fr/LC_MESSAGES/messages.po
+++ b/searx/translations/fr/LC_MESSAGES/messages.po
@@ -13,18 +13,19 @@
# rike, 2014
msgid ""
msgstr ""
-"Project-Id-Version: searx\n"
+"Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2021-07-31 19:11+0200\n"
-"PO-Revision-Date: 2020-07-11 16:29+0000\n"
-"Last-Translator: Cqoicebordel\n"
+"PO-Revision-Date: 2021-08-27 07:16+0000\n"
+"Last-Translator: Alexandre Flament <alex@al-f.net>\n"
+"Language-Team: French <https://weblate.bubu1.eu/projects/searxng/searxng/fr/>"
+"\n"
"Language: fr\n"
-"Language-Team: French "
-"(http://www.transifex.com/asciimoo/searx/language/fr/)\n"
-"Plural-Forms: nplurals=2; plural=(n > 1)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n > 1;\n"
+"X-Generator: Weblate 4.8\n"
"Generated-By: Babel 2.9.1\n"
#: searx/webapp.py:187
@@ -65,7 +66,7 @@ msgstr "carte"
#: searx/webapp.py:196
msgid "onions"
-msgstr ""
+msgstr "onions"
#: searx/webapp.py:197
msgid "science"
@@ -73,51 +74,51 @@ msgstr "science"
#: searx/webapp.py:201
msgid "timeout"
-msgstr ""
+msgstr "délai dépassé"
#: searx/webapp.py:202
msgid "parsing error"
-msgstr ""
+msgstr "erreur d'analyse"
#: searx/webapp.py:203
msgid "HTTP protocol error"
-msgstr ""
+msgstr "erreur de protocole HTTP"
#: searx/webapp.py:204
msgid "network error"
-msgstr ""
+msgstr "Erreur réseau"
#: searx/webapp.py:206
msgid "unexpected crash"
-msgstr ""
+msgstr "erreur inattendue"
#: searx/webapp.py:213
msgid "HTTP error"
-msgstr ""
+msgstr "erreur HTTP"
#: searx/webapp.py:214
msgid "HTTP connection error"
-msgstr ""
+msgstr "erreur de connexion HTTP"
#: searx/webapp.py:220
msgid "proxy error"
-msgstr ""
+msgstr "Erreur proxy"
#: searx/webapp.py:221
msgid "CAPTCHA"
-msgstr ""
+msgstr "CAPTCHA"
#: searx/webapp.py:222
msgid "too many requests"
-msgstr ""
+msgstr "trop de requêtes"
#: searx/webapp.py:223
msgid "access denied"
-msgstr ""
+msgstr "accès refusé"
#: searx/webapp.py:224
msgid "server API error"
-msgstr ""
+msgstr "erreur API du serveur"
#: searx/webapp.py:423
msgid "No item found"
@@ -145,7 +146,7 @@ msgstr "il y a {hours} heure(s), {minutes} minute(s)"
#: searx/webapp.py:853
msgid "Suspended"
-msgstr ""
+msgstr "Suspendu"
#: searx/answerers/random/answerer.py:65
msgid "Random value generator"
@@ -169,7 +170,7 @@ msgstr "Obtenir l'itinéraire"
#: searx/engines/pdbe.py:90
msgid "{title} (OBSOLETE)"
-msgstr "{titre} (OBSOLETE)"
+msgstr "{titre} (OBSOLÈTE)"
#: searx/engines/pdbe.py:97
msgid "This entry has been superseded by"
@@ -181,19 +182,19 @@ msgstr "Aucun résumé disponible pour cette publication."
#: searx/engines/qwant.py:196
msgid "Source"
-msgstr ""
+msgstr "Source"
#: searx/engines/qwant.py:198
msgid "Channel"
-msgstr ""
+msgstr "Chaîne"
#: searx/plugins/hash_plugin.py:24
msgid "Converts strings to different hash digests."
-msgstr ""
+msgstr "Convertit les chaînes de caractères en différents condensés de hachage."
#: searx/plugins/hash_plugin.py:52
msgid "hash digest"
-msgstr ""
+msgstr "hash digest"
#: searx/plugins/infinite_scroll.py:3
msgid "Infinite scroll"
@@ -202,8 +203,7 @@ msgstr "Défilement infini"
#: searx/plugins/infinite_scroll.py:4
msgid "Automatically load next page when scrolling to bottom of current page"
msgstr ""
-"Charge automatiquement la page suivante quand vous arriver en bas de la "
-"page"
+"Charge automatiquement la page suivante quand vous arriver en bas de la page"
#: searx/plugins/oa_doi_rewrite.py:9
msgid "Open Access DOI rewrite"
@@ -215,8 +215,7 @@ msgid ""
"when available"
msgstr ""
"Contourne les verrous payants de certaines publications scientifiques en "
-"redirigeant vers la version ouverte de ces papiers si elle est "
-"disponible."
+"redirigeant vers la version ouverte de ces papiers si elle est disponible"
#: searx/plugins/search_on_category_select.py:18
msgid "Search on category select"
@@ -228,11 +227,11 @@ msgid ""
"multiple categories. (JavaScript required)"
msgstr ""
"Exécute la recherche immédiatement si une catégorie est sélectionnée. "
-"Désactiver pour sélectionner plusieurs catégories (nécessite JavaScript)."
+"Désactiver pour sélectionner plusieurs catégories (nécessite JavaScript)"
#: searx/plugins/self_info.py:19
msgid "Self Informations"
-msgstr ""
+msgstr "Informations sur le navigateur"
#: searx/plugins/self_info.py:20
msgid ""
@@ -240,7 +239,7 @@ msgid ""
"contains \"user agent\"."
msgstr ""
"Affiche votre adresse IP si la requête est \"ip\", et affiche votre user-"
-"agent si la requete contient \"user agent\"."
+"agent si la requête contient \"user agent\"."
#: searx/plugins/tracker_url_remover.py:27
msgid "Tracker URL remover"
@@ -252,16 +251,16 @@ msgstr "Retire les arguments utilisés pour vous pister des URL retournées"
#: searx/plugins/vim_hotkeys.py:3
msgid "Vim-like hotkeys"
-msgstr "Raccourcis comme Vim"
+msgstr "Raccourcis clavier comme Vim"
#: searx/plugins/vim_hotkeys.py:4
msgid ""
"Navigate search results with Vim-like hotkeys (JavaScript required). "
"Press \"h\" key on main or result page to get help."
msgstr ""
-"Parcourez les résultats de recherche avec des raccourcis clavier "
-"similaires à Vim (Javascript est nécessaire. Appuyez sur \"h\" dans la "
-"fenêtre principale de résultats pour afficher de l'aide."
+"Parcourez les résultats de recherche avec des raccourcis clavier similaires "
+"à Vim (Javascript est nécessaire. Appuyez sur \"h\" dans la fenêtre "
+"principale de résultats pour afficher de l'aide."
#: searx/templates/oscar/404.html:4 searx/templates/simple/404.html:4
msgid "Page not found"
@@ -300,11 +299,11 @@ msgstr "Erreur !"
#: searx/templates/oscar/base.html:85 searx/templates/simple/base.html:53
msgid "Powered by"
-msgstr "Powered by"
+msgstr "Propulsé par"
#: searx/templates/oscar/base.html:85 searx/templates/simple/base.html:53
msgid "a privacy-respecting, hackable metasearch engine"
-msgstr "un meta-moteur de recherche hackable et respectueux de la vie privée"
+msgstr "un métamoteur de recherche hackable et respectueux de la vie privée"
#: searx/templates/oscar/base.html:86 searx/templates/simple/base.html:54
msgid "Source code"
@@ -323,7 +322,7 @@ msgstr "Instances publiques"
#: searx/templates/oscar/base.html:89 searx/templates/simple/base.html:57
msgid "Contact instance maintainer"
-msgstr ""
+msgstr "Contacter le responsable de l'instance"
#: searx/templates/oscar/languages.html:2
msgid "Language"
@@ -367,7 +366,7 @@ msgstr "Autoriser"
#: searx/templates/oscar/macros.html:139
msgid "broken"
-msgstr ""
+msgstr "non fonctionnel"
#: searx/templates/oscar/macros.html:141
msgid "supported"
@@ -385,7 +384,7 @@ msgstr "préférences"
#: searx/templates/oscar/preferences.html:11
#: searx/templates/simple/preferences.html:27
msgid "No HTTPS"
-msgstr ""
+msgstr "Pas de HTTPS"
#: searx/templates/oscar/preferences.html:13
#: searx/templates/oscar/results.html:27 searx/templates/simple/results.html:40
@@ -394,7 +393,7 @@ msgstr "Nombre de résultats"
#: searx/templates/oscar/preferences.html:13
msgid "Avg."
-msgstr ""
+msgstr "Moy."
#: searx/templates/oscar/messages/no_results.html:8
#: searx/templates/oscar/preferences.html:16
@@ -405,33 +404,33 @@ msgstr ""
#: searx/templates/simple/preferences.html:30
#: searx/templates/simple/results.html:48
msgid "View error logs and submit a bug report"
-msgstr ""
+msgstr "Afficher les journaux d'erreurs et soumettre un rapport de bogue"
#: searx/templates/oscar/preferences.html:37
#: searx/templates/oscar/stats.html:70
#: searx/templates/simple/preferences.html:51
#: searx/templates/simple/stats.html:70
msgid "Median"
-msgstr ""
+msgstr "Médiane"
#: searx/templates/oscar/preferences.html:38
#: searx/templates/oscar/stats.html:76
#: searx/templates/simple/preferences.html:52
#: searx/templates/simple/stats.html:76
msgid "P80"
-msgstr ""
+msgstr "P80"
#: searx/templates/oscar/preferences.html:39
#: searx/templates/oscar/stats.html:82
#: searx/templates/simple/preferences.html:53
#: searx/templates/simple/stats.html:82
msgid "P95"
-msgstr ""
+msgstr "P95"
#: searx/templates/oscar/preferences.html:67
#: searx/templates/simple/preferences.html:81
msgid "Failed checker test(s): "
-msgstr ""
+msgstr "Test(s) du checker échoué(s) : "
#: searx/templates/oscar/preferences.html:95
#: searx/templates/simple/preferences.html:99
@@ -447,7 +446,7 @@ msgstr "Général"
#: searx/templates/oscar/preferences.html:101
#: searx/templates/oscar/preferences.html:192
msgid "User Interface"
-msgstr ""
+msgstr "Interface utilisateur"
#: searx/templates/oscar/preferences.html:102
#: searx/templates/oscar/preferences.html:256
@@ -463,7 +462,7 @@ msgstr "Moteurs"
#: searx/templates/oscar/preferences.html:104
msgid "Special Queries"
-msgstr ""
+msgstr "Requêtes spéciales"
#: searx/templates/oscar/preferences.html:105
#: searx/templates/oscar/preferences.html:430
@@ -514,7 +513,7 @@ msgstr "Modérée"
#: searx/templates/oscar/preferences.html:146
#: searx/templates/simple/preferences.html:148
msgid "None"
-msgstr "Pas du tout"
+msgstr "Désactivé"
#: searx/templates/oscar/preferences.html:152
#: searx/templates/simple/preferences.html:129
@@ -537,16 +536,16 @@ msgid ""
"Redirect to open-access versions of publications when available (plugin "
"required)"
msgstr ""
-"Rediriger vers les versions des articles en libre accès lorsqu'elles sont"
-" disponibles (nécessite un plugin)"
+"Rediriger vers les versions des articles en libre accès lorsqu'elles sont "
+"disponibles (nécessite un plugin)"
#: searx/templates/oscar/preferences.html:182
msgid "Engine tokens"
-msgstr "Jeton de moteur"
+msgstr "Jetons de moteur"
#: searx/templates/oscar/preferences.html:183
msgid "Access tokens for private engines"
-msgstr "Jeton d'accès pour les moteurs privés"
+msgstr "Jetons d'accès pour les moteurs privés"
#: searx/templates/oscar/preferences.html:197
#: searx/templates/simple/preferences.html:219
@@ -580,23 +579,23 @@ msgstr "Style"
#: searx/templates/oscar/preferences.html:230
msgid "Show advanced settings"
-msgstr ""
+msgstr "Afficher les paramètres avancés"
#: searx/templates/oscar/preferences.html:231
msgid "Show advanced settings panel in the home page by default"
-msgstr ""
+msgstr "Par défaut, afficher les paramètres avancés sur la page d'accueil"
#: searx/templates/oscar/preferences.html:234
#: searx/templates/oscar/preferences.html:244
#: searx/templates/simple/preferences.html:248
msgid "On"
-msgstr "On"
+msgstr "Activé"
#: searx/templates/oscar/preferences.html:235
#: searx/templates/oscar/preferences.html:245
#: searx/templates/simple/preferences.html:249
msgid "Off"
-msgstr "Off"
+msgstr "Désactivé"
#: searx/templates/oscar/preferences.html:240
#: searx/templates/simple/preferences.html:245
@@ -663,7 +662,7 @@ msgstr "Nom du moteur"
#: searx/templates/oscar/preferences.html:334
#: searx/templates/simple/preferences.html:184
msgid "Shortcut"
-msgstr "Raccourcis"
+msgstr "Raccourci"
#: searx/templates/oscar/preferences.html:321
#: searx/templates/oscar/preferences.html:333
@@ -675,7 +674,7 @@ msgstr "Langue choisie"
#: searx/templates/oscar/time-range.html:2
#: searx/templates/simple/preferences.html:187
msgid "Time range"
-msgstr "Espace temporel"
+msgstr "Intervalle de temps"
#: searx/templates/oscar/preferences.html:324
#: searx/templates/oscar/preferences.html:330
@@ -683,7 +682,7 @@ msgstr "Espace temporel"
#: searx/templates/simple/preferences.html:188
#: searx/templates/simple/stats.html:31
msgid "Response time"
-msgstr ""
+msgstr "Temps de réponse"
#: searx/templates/oscar/preferences.html:325
#: searx/templates/oscar/preferences.html:329
@@ -695,11 +694,11 @@ msgstr "Temps max"
#: searx/templates/oscar/preferences.html:328
#: searx/templates/simple/preferences.html:190
msgid "Reliablity"
-msgstr ""
+msgstr "Fiabilité"
#: searx/templates/oscar/preferences.html:384
msgid "Query"
-msgstr ""
+msgstr "Requête"
#: searx/templates/oscar/preferences.html:391
msgid "Keywords"
@@ -723,7 +722,7 @@ msgstr "Voici la liste des module de searx produisant une réponse instantanée.
#: searx/templates/oscar/preferences.html:412
msgid "This is the list of plugins."
-msgstr ""
+msgstr "Voici la liste des plugins."
#: searx/templates/oscar/preferences.html:433
#: searx/templates/simple/preferences.html:261
@@ -755,8 +754,8 @@ msgid ""
"These settings are stored in your cookies, this allows us not to store "
"this data about you."
msgstr ""
-"Ces paramètres sont stockés dans vos cookies ; ceci nous permet de ne pas"
-" collecter vos données."
+"Ces paramètres sont stockés dans vos cookies ; ceci nous permet de ne pas "
+"collecter vos données."
#: searx/templates/oscar/preferences.html:458
#: searx/templates/simple/preferences.html:323
@@ -764,8 +763,8 @@ msgid ""
"These cookies serve your sole convenience, we don't use these cookies to "
"track you."
msgstr ""
-"Ces cookies existent pour votre confort d'utilisation, nous ne les "
-"utilisons pas pour vous espionner."
+"Ces cookies existent pour votre confort d'utilisation, nous ne les utilisons "
+"pas pour vous espionner."
#: searx/templates/oscar/preferences.html:462
#: searx/templates/simple/preferences.html:282
@@ -778,9 +777,9 @@ msgid ""
"Note: specifying custom settings in the search URL can reduce privacy by "
"leaking data to the clicked result sites."
msgstr ""
-"Note : utiliser des réglages personnalisés dans l'adresse de recherche "
-"peut réduire la vie privée en donnant accès à certaines données aux sites"
-" des résultats sélectionnés."
+"Note : utiliser des réglages personnalisés dans l'adresse de recherche peut "
+"réduire la vie privée en donnant accès à certaines données aux sites des "
+"résultats sélectionnés."
#: searx/templates/oscar/preferences.html:468
#: searx/templates/simple/preferences.html:326
@@ -799,7 +798,7 @@ msgstr "Remettre les valeurs par défaut"
#: searx/templates/oscar/results.html:32 searx/templates/simple/results.html:45
msgid "Engines cannot retrieve results"
-msgstr "Les moteurs ne peuvent récupérer de résultats"
+msgstr "Les moteurs ne peuvent pas récupérer de résultats"
#: searx/templates/oscar/results.html:53 searx/templates/simple/results.html:66
msgid "Suggestions"
@@ -828,7 +827,7 @@ msgstr "Résultats de recherche"
#: searx/templates/oscar/results.html:109
#: searx/templates/simple/results.html:113
msgid "Try searching for:"
-msgstr "Essayez de chercher : "
+msgstr "Essayez de chercher :"
#: searx/templates/oscar/results.html:162
#: searx/templates/oscar/results.html:187
@@ -877,11 +876,11 @@ msgstr "Score"
#: searx/templates/oscar/stats.html:31 searx/templates/simple/stats.html:30
msgid "Result count"
-msgstr ""
+msgstr "Nombre de résultats"
#: searx/templates/oscar/stats.html:33 searx/templates/simple/stats.html:32
msgid "Reliability"
-msgstr ""
+msgstr "Fiabilité"
#: searx/templates/oscar/stats.html:42 searx/templates/simple/stats.html:41
msgid "Scores per result"
@@ -889,64 +888,64 @@ msgstr "Score par résultat"
#: searx/templates/oscar/stats.html:65 searx/templates/simple/stats.html:65
msgid "Total"
-msgstr ""
+msgstr "Total"
#: searx/templates/oscar/stats.html:66 searx/templates/simple/stats.html:66
msgid "HTTP"
-msgstr ""
+msgstr "HTTP"
#: searx/templates/oscar/stats.html:67 searx/templates/simple/stats.html:67
msgid "Processing"
-msgstr ""
+msgstr "Traitement"
#: searx/templates/oscar/stats.html:106 searx/templates/simple/stats.html:105
msgid "Warnings"
-msgstr ""
+msgstr "Attention"
#: searx/templates/oscar/stats.html:106 searx/templates/simple/stats.html:105
msgid "Errors and exceptions"
-msgstr ""
+msgstr "Erreurs et exceptions"
#: searx/templates/oscar/stats.html:112 searx/templates/simple/stats.html:111
msgid "Exception"
-msgstr ""
+msgstr "Exception"
#: searx/templates/oscar/stats.html:114 searx/templates/simple/stats.html:113
msgid "Message"
-msgstr ""
+msgstr "Message"
#: searx/templates/oscar/stats.html:116 searx/templates/simple/stats.html:115
msgid "Percentage"
-msgstr ""
+msgstr "Pourcentage"
#: searx/templates/oscar/stats.html:118 searx/templates/simple/stats.html:117
msgid "Parameter"
-msgstr ""
+msgstr "Paramètre"
#: searx/templates/oscar/result_templates/files.html:35
#: searx/templates/oscar/stats.html:126 searx/templates/simple/stats.html:125
msgid "Filename"
-msgstr ""
+msgstr "Nom de fichier"
#: searx/templates/oscar/stats.html:127 searx/templates/simple/stats.html:126
msgid "Function"
-msgstr ""
+msgstr "Fonction"
#: searx/templates/oscar/stats.html:128 searx/templates/simple/stats.html:127
msgid "Code"
-msgstr ""
+msgstr "Code"
#: searx/templates/oscar/stats.html:135 searx/templates/simple/stats.html:134
msgid "Checker"
-msgstr ""
+msgstr "Checker"
#: searx/templates/oscar/stats.html:138 searx/templates/simple/stats.html:137
msgid "Failed test"
-msgstr ""
+msgstr "Test échoué"
#: searx/templates/oscar/stats.html:139 searx/templates/simple/stats.html:138
msgid "Comment(s)"
-msgstr ""
+msgstr "Commentaire(s)"
#: searx/templates/oscar/time-range.html:5
#: searx/templates/simple/time-range.html:3
@@ -1018,8 +1017,8 @@ msgid ""
"we didn't find any results. Please use another query or search in more "
"categories."
msgstr ""
-"nous n'avons trouvé aucun résultat. Effectuez une autre recherche ou "
-"changez de catégorie."
+"nous n'avons trouvé aucun résultat. Effectuez une autre recherche ou changez "
+"de catégorie."
#: searx/templates/oscar/messages/save_settings_successfull.html:7
msgid "Well done!"
@@ -1027,7 +1026,7 @@ msgstr "Bravo !"
#: searx/templates/oscar/messages/save_settings_successfull.html:8
msgid "Settings saved successfully."
-msgstr "Paramètres sauvés avec succès."
+msgstr "Les préférences ont été sauvegardées avec succès."
#: searx/templates/oscar/messages/unknow_error.html:7
msgid "Oh snap!"
@@ -1059,7 +1058,7 @@ msgstr "Auteur"
#: searx/templates/oscar/result_templates/torrent.html:7
#: searx/templates/simple/result_templates/torrent.html:11
msgid "Filesize"
-msgstr "Taille de fichier"
+msgstr "Taille du fichier"
#: searx/templates/oscar/result_templates/files.html:38
#: searx/templates/oscar/result_templates/torrent.html:9
@@ -1093,11 +1092,11 @@ msgstr "Tio"
#: searx/templates/oscar/result_templates/files.html:46
msgid "Date"
-msgstr ""
+msgstr "Date"
#: searx/templates/oscar/result_templates/files.html:48
msgid "Type"
-msgstr ""
+msgstr "Type"
#: searx/templates/oscar/result_templates/images.html:27
msgid "Get image"
@@ -1110,7 +1109,7 @@ msgstr "Voir la source"
#: searx/templates/oscar/result_templates/map.html:26
#: searx/templates/simple/result_templates/map.html:11
msgid "address"
-msgstr ""
+msgstr "adresse"
#: searx/templates/oscar/result_templates/map.html:59
#: searx/templates/simple/result_templates/map.html:42
@@ -1125,12 +1124,12 @@ msgstr "cacher la carte"
#: searx/templates/oscar/result_templates/torrent.html:6
#: searx/templates/simple/result_templates/torrent.html:9
msgid "Seeder"
-msgstr "Sources"
+msgstr "Seeder"
#: searx/templates/oscar/result_templates/torrent.html:6
#: searx/templates/simple/result_templates/torrent.html:9
msgid "Leecher"
-msgstr "Téléchargeurs"
+msgstr "Leecher"
#: searx/templates/oscar/result_templates/torrent.html:15
#: searx/templates/simple/result_templates/torrent.html:20
@@ -1149,7 +1148,7 @@ msgstr "cacher la vidéo"
#: searx/templates/oscar/result_templates/videos.html:20
msgid "Length"
-msgstr "Longueur"
+msgstr "Durée"
#: searx/templates/simple/categories.html:6
msgid "Click on the magnifier to perform search"
@@ -1157,7 +1156,7 @@ msgstr "Cliquez sur la loupe pour effectuer une recherche"
#: searx/templates/simple/preferences.html:83
msgid "Errors:"
-msgstr ""
+msgstr "Erreurs :"
#: searx/templates/simple/preferences.html:173
msgid "Currently used search engines"
@@ -1254,4 +1253,3 @@ msgstr "Réponses"
#~ msgid "Loading..."
#~ msgstr "Chargement…"
-
diff --git a/searx/translations/nb_NO/LC_MESSAGES/messages.mo b/searx/translations/nb_NO/LC_MESSAGES/messages.mo
index 3b9e4639a..87d24b042 100644
--- a/searx/translations/nb_NO/LC_MESSAGES/messages.mo
+++ b/searx/translations/nb_NO/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/searx/translations/nb_NO/LC_MESSAGES/messages.po b/searx/translations/nb_NO/LC_MESSAGES/messages.po
index 96b0ecb3e..8cb4188a6 100644
--- a/searx/translations/nb_NO/LC_MESSAGES/messages.po
+++ b/searx/translations/nb_NO/LC_MESSAGES/messages.po
@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2021-07-31 19:11+0200\n"
-"PO-Revision-Date: 2021-08-20 07:16+0000\n"
+"PO-Revision-Date: 2021-08-23 19:04+0000\n"
"Last-Translator: Allan Nordhøy <epost@anotheragency.no>\n"
"Language-Team: Norwegian Bokmål <https://weblate.bubu1.eu/projects/searxng/"
"searxng/nb_NO/>\n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 4.7.2\n"
+"X-Generator: Weblate 4.8\n"
"Generated-By: Babel 2.9.1\n"
#: searx/webapp.py:187
@@ -209,7 +209,7 @@ msgstr ""
#: searx/plugins/search_on_category_select.py:18
msgid "Search on category select"
-msgstr ""
+msgstr "Søk ved kategorivalg"
#: searx/plugins/search_on_category_select.py:19
msgid ""
@@ -286,7 +286,7 @@ msgstr "Drevet av"
#: searx/templates/oscar/base.html:85 searx/templates/simple/base.html:53
msgid "a privacy-respecting, hackable metasearch engine"
-msgstr ""
+msgstr "en personvernsrespekterende, hackbar metasøkemotor"
#: searx/templates/oscar/base.html:86 searx/templates/simple/base.html:54
msgid "Source code"
@@ -305,7 +305,7 @@ msgstr "Offentlige instanser"
#: searx/templates/oscar/base.html:89 searx/templates/simple/base.html:57
msgid "Contact instance maintainer"
-msgstr ""
+msgstr "Kontakt tilbyderen av instansen"
#: searx/templates/oscar/languages.html:2
msgid "Language"
@@ -467,8 +467,9 @@ msgstr "Søkespråk"
#: searx/templates/oscar/preferences.html:133
#: searx/templates/simple/preferences.html:124
+#, fuzzy
msgid "What language do you prefer for search?"
-msgstr ""
+msgstr "Hvilket språk foretrekker du for søk?"
#: searx/templates/oscar/preferences.html:140
#: searx/templates/oscar/preferences.html:322
@@ -519,6 +520,8 @@ msgid ""
"Redirect to open-access versions of publications when available (plugin "
"required)"
msgstr ""
+"Videresend til åpen tilgang-versjoner av publikasjoner når de finnes ("
+"programtillegg kreves)"
#: searx/templates/oscar/preferences.html:182
msgid "Engine tokens"
@@ -526,7 +529,7 @@ msgstr "Søkemotorsymboler"
#: searx/templates/oscar/preferences.html:183
msgid "Access tokens for private engines"
-msgstr ""
+msgstr "Tilgangssymboler for private motorer"
#: searx/templates/oscar/preferences.html:197
#: searx/templates/simple/preferences.html:219
@@ -536,7 +539,7 @@ msgstr "Grensesnitts-språk"
#: searx/templates/oscar/preferences.html:198
#: searx/templates/simple/preferences.html:227
msgid "Change the language of the layout"
-msgstr ""
+msgstr "Endre språket for oppsettet"
#: searx/templates/oscar/preferences.html:209
#: searx/templates/simple/preferences.html:232
@@ -546,7 +549,7 @@ msgstr "Drakter"
#: searx/templates/oscar/preferences.html:210
#: searx/templates/simple/preferences.html:240
msgid "Change searx layout"
-msgstr ""
+msgstr "Endre searx-oppsett"
#: searx/templates/oscar/preferences.html:221
#: searx/templates/oscar/preferences.html:227
@@ -564,7 +567,7 @@ msgstr "Vis avanserte innstillinger"
#: searx/templates/oscar/preferences.html:231
msgid "Show advanced settings panel in the home page by default"
-msgstr ""
+msgstr "Vis panel for avanserte innstillinger på hjemmesiden som forvalg"
#: searx/templates/oscar/preferences.html:234
#: searx/templates/oscar/preferences.html:244
@@ -600,6 +603,9 @@ msgid ""
"href=\"http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods\""
" rel=\"external\">learn more about request methods</a>"
msgstr ""
+"Endre hvordan skjemaer innsendes, <a href=\"http://en.wikipedia.org/wiki/"
+"Hypertext_Transfer_Protocol#Request_methods\" rel=\"external\">lær mer om "
+"forespørselsmetoder</a>"
#: searx/templates/oscar/preferences.html:272
#: searx/templates/simple/preferences.html:305
@@ -609,7 +615,7 @@ msgstr "Bildemellomtjener"
#: searx/templates/oscar/preferences.html:273
#: searx/templates/simple/preferences.html:312
msgid "Proxying image results through searx"
-msgstr ""
+msgstr "Mellomtjener bilderesultater gjennom searx"
#: searx/templates/oscar/preferences.html:276
#: searx/templates/simple/preferences.html:308
@@ -850,27 +856,29 @@ msgstr "Poengsummer"
#: searx/templates/oscar/stats.html:31 searx/templates/simple/stats.html:30
msgid "Result count"
-msgstr ""
+msgstr "Antall resultater"
#: searx/templates/oscar/stats.html:33 searx/templates/simple/stats.html:32
msgid "Reliability"
msgstr "Pålitelighet"
#: searx/templates/oscar/stats.html:42 searx/templates/simple/stats.html:41
+#, fuzzy
msgid "Scores per result"
-msgstr ""
+msgstr "Vektninger per resultat"
#: searx/templates/oscar/stats.html:65 searx/templates/simple/stats.html:65
msgid "Total"
-msgstr ""
+msgstr "Totalt"
#: searx/templates/oscar/stats.html:66 searx/templates/simple/stats.html:66
msgid "HTTP"
msgstr "HTTP"
#: searx/templates/oscar/stats.html:67 searx/templates/simple/stats.html:67
+#, fuzzy
msgid "Processing"
-msgstr ""
+msgstr "Behandler …"
#: searx/templates/oscar/stats.html:106 searx/templates/simple/stats.html:105
msgid "Warnings"
@@ -878,7 +886,7 @@ msgstr "Advarsler"
#: searx/templates/oscar/stats.html:106 searx/templates/simple/stats.html:105
msgid "Errors and exceptions"
-msgstr ""
+msgstr "Feil og unntag"
#: searx/templates/oscar/stats.html:112 searx/templates/simple/stats.html:111
msgid "Exception"
@@ -890,7 +898,7 @@ msgstr "Melding"
#: searx/templates/oscar/stats.html:116 searx/templates/simple/stats.html:115
msgid "Percentage"
-msgstr ""
+msgstr "Prosentsats"
#: searx/templates/oscar/stats.html:118 searx/templates/simple/stats.html:117
msgid "Parameter"
@@ -915,7 +923,7 @@ msgstr ""
#: searx/templates/oscar/stats.html:138 searx/templates/simple/stats.html:137
msgid "Failed test"
-msgstr ""
+msgstr "Mislykket test"
#: searx/templates/oscar/stats.html:139 searx/templates/simple/stats.html:138
msgid "Comment(s)"
@@ -954,7 +962,7 @@ msgstr ""
#: searx/templates/oscar/messages/first_time.html:7
msgid "It look like you are using searx first time."
-msgstr ""
+msgstr "Det ser ut til at du bruker searx for første gang."
#: searx/templates/oscar/messages/no_cookies.html:3
msgid "Information!"
@@ -971,13 +979,14 @@ msgstr ""
#: searx/templates/oscar/messages/no_results.html:4
#: searx/templates/simple/messages/no_results.html:4
+#, fuzzy
msgid "Engines cannot retrieve results."
-msgstr ""
+msgstr "Søkemotorene kan ikke hente inn resultater."
#: searx/templates/oscar/messages/no_results.html:13
#: searx/templates/simple/messages/no_results.html:14
msgid "Please, try again later or find another searx instance."
-msgstr ""
+msgstr "Prøv senere eller finn en annen searx-instans."
#: searx/templates/oscar/messages/no_results.html:17
#: searx/templates/simple/messages/no_results.html:18
@@ -1122,8 +1131,9 @@ msgid "Length"
msgstr "Lengde"
#: searx/templates/simple/categories.html:6
+#, fuzzy
msgid "Click on the magnifier to perform search"
-msgstr ""
+msgstr "Klikk på forstørrelsesglasset for å søke"
#: searx/templates/simple/preferences.html:83
msgid "Errors:"
@@ -1131,7 +1141,7 @@ msgstr "Feil:"
#: searx/templates/simple/preferences.html:173
msgid "Currently used search engines"
-msgstr ""
+msgstr "Brukte søkemotorer"
#: searx/templates/simple/preferences.html:185
msgid "Supports selected language"
diff --git a/searx/translations/pl/LC_MESSAGES/messages.mo b/searx/translations/pl/LC_MESSAGES/messages.mo
index f5f69f78a..4fc935253 100644
--- a/searx/translations/pl/LC_MESSAGES/messages.mo
+++ b/searx/translations/pl/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/searx/translations/pl/LC_MESSAGES/messages.po b/searx/translations/pl/LC_MESSAGES/messages.po
index 2e2d5fde1..9020942e9 100644
--- a/searx/translations/pl/LC_MESSAGES/messages.po
+++ b/searx/translations/pl/LC_MESSAGES/messages.po
@@ -6,20 +6,21 @@
# Artur <artur@komoter.pl>, 2017
msgid ""
msgstr ""
-"Project-Id-Version: searx\n"
+"Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2021-07-31 19:11+0200\n"
-"PO-Revision-Date: 2017-11-20 13:39+0000\n"
-"Last-Translator: Artur <artur@komoter.pl>\n"
-"Language: pl_PL\n"
-"Language-Team: Polish (Poland) "
-"(http://www.transifex.com/asciimoo/searx/language/pl_PL/)\n"
-"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && "
-"(n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && "
-"n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3)\n"
+"PO-Revision-Date: 2021-08-27 07:16+0000\n"
+"Last-Translator: ewm <gnu.ewm@protonmail.com>\n"
+"Language-Team: Polish <https://weblate.bubu1.eu/projects/searxng/searxng/pl/>"
+"\n"
+"Language: pl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n"
+"%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n"
+"%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
+"X-Generator: Weblate 4.8\n"
"Generated-By: Babel 2.9.1\n"
#: searx/webapp.py:187
@@ -72,15 +73,15 @@ msgstr "przekroczenie maksymalnego dozwolonego czasu"
#: searx/webapp.py:202
msgid "parsing error"
-msgstr ""
+msgstr "błąd przetwarzania"
#: searx/webapp.py:203
msgid "HTTP protocol error"
-msgstr ""
+msgstr "błąd protokołu HTTP"
#: searx/webapp.py:204
msgid "network error"
-msgstr ""
+msgstr "błąd sieci"
#: searx/webapp.py:206
msgid "unexpected crash"
@@ -88,11 +89,11 @@ msgstr "niespodziewana awaria"
#: searx/webapp.py:213
msgid "HTTP error"
-msgstr ""
+msgstr "błąd HTTP"
#: searx/webapp.py:214
msgid "HTTP connection error"
-msgstr ""
+msgstr "błąd połączenia HTTP"
#: searx/webapp.py:220
msgid "proxy error"
@@ -100,15 +101,15 @@ msgstr ""
#: searx/webapp.py:221
msgid "CAPTCHA"
-msgstr ""
+msgstr "CAPTCHA"
#: searx/webapp.py:222
msgid "too many requests"
-msgstr ""
+msgstr "za dużo zapytań"
#: searx/webapp.py:223
msgid "access denied"
-msgstr ""
+msgstr "odmowa dostępu"
#: searx/webapp.py:224
msgid "server API error"
@@ -140,7 +141,7 @@ msgstr "{hours} godzin(y), {minutes} minut(y) temu"
#: searx/webapp.py:853
msgid "Suspended"
-msgstr ""
+msgstr "Zawieszone"
#: searx/answerers/random/answerer.py:65
msgid "Random value generator"
@@ -176,11 +177,11 @@ msgstr "Streszczenie nie jest dostępne dla tej publikacji."
#: searx/engines/qwant.py:196
msgid "Source"
-msgstr ""
+msgstr "Źródło"
#: searx/engines/qwant.py:198
msgid "Channel"
-msgstr ""
+msgstr "Kanał"
#: searx/plugins/hash_plugin.py:24
msgid "Converts strings to different hash digests."
@@ -302,18 +303,18 @@ msgstr "szanująca prywatność, hackowalna wyszukiwarka metasearch"
#: searx/templates/oscar/base.html:86 searx/templates/simple/base.html:54
msgid "Source code"
-msgstr ""
+msgstr "Kod źródłowy"
#: searx/templates/oscar/base.html:87 searx/templates/simple/base.html:55
msgid "Issue tracker"
-msgstr ""
+msgstr "Śledzenie błędów"
#: searx/templates/oscar/base.html:88
#: searx/templates/oscar/messages/no_results.html:13
#: searx/templates/simple/base.html:56
#: searx/templates/simple/messages/no_results.html:14
msgid "Public instances"
-msgstr ""
+msgstr "Publiczne instancje"
#: searx/templates/oscar/base.html:89 searx/templates/simple/base.html:57
msgid "Contact instance maintainer"
@@ -321,7 +322,7 @@ msgstr ""
#: searx/templates/oscar/languages.html:2
msgid "Language"
-msgstr ""
+msgstr "Język"
#: searx/templates/oscar/languages.html:4
#: searx/templates/simple/languages.html:2
@@ -361,7 +362,7 @@ msgstr "Pozwól"
#: searx/templates/oscar/macros.html:139
msgid "broken"
-msgstr ""
+msgstr "zepsute"
#: searx/templates/oscar/macros.html:141
msgid "supported"
@@ -379,7 +380,7 @@ msgstr "preferencje"
#: searx/templates/oscar/preferences.html:11
#: searx/templates/simple/preferences.html:27
msgid "No HTTPS"
-msgstr ""
+msgstr "Brak HTTPS"
#: searx/templates/oscar/preferences.html:13
#: searx/templates/oscar/results.html:27 searx/templates/simple/results.html:40
@@ -388,7 +389,7 @@ msgstr "Liczba wyników"
#: searx/templates/oscar/preferences.html:13
msgid "Avg."
-msgstr ""
+msgstr "Śr."
#: searx/templates/oscar/messages/no_results.html:8
#: searx/templates/oscar/preferences.html:16
@@ -406,21 +407,21 @@ msgstr ""
#: searx/templates/simple/preferences.html:51
#: searx/templates/simple/stats.html:70
msgid "Median"
-msgstr ""
+msgstr "Mediana"
#: searx/templates/oscar/preferences.html:38
#: searx/templates/oscar/stats.html:76
#: searx/templates/simple/preferences.html:52
#: searx/templates/simple/stats.html:76
msgid "P80"
-msgstr ""
+msgstr "P80"
#: searx/templates/oscar/preferences.html:39
#: searx/templates/oscar/stats.html:82
#: searx/templates/simple/preferences.html:53
#: searx/templates/simple/stats.html:82
msgid "P95"
-msgstr ""
+msgstr "P95"
#: searx/templates/oscar/preferences.html:67
#: searx/templates/simple/preferences.html:81
@@ -441,7 +442,7 @@ msgstr "Ogólne"
#: searx/templates/oscar/preferences.html:101
#: searx/templates/oscar/preferences.html:192
msgid "User Interface"
-msgstr ""
+msgstr "Interfejs Użytkownika"
#: searx/templates/oscar/preferences.html:102
#: searx/templates/oscar/preferences.html:256
@@ -457,7 +458,7 @@ msgstr "Wyszukiwarki"
#: searx/templates/oscar/preferences.html:104
msgid "Special Queries"
-msgstr ""
+msgstr "Specialne Zapytania"
#: searx/templates/oscar/preferences.html:105
#: searx/templates/oscar/preferences.html:430
@@ -574,7 +575,7 @@ msgstr "Styl"
#: searx/templates/oscar/preferences.html:230
msgid "Show advanced settings"
-msgstr ""
+msgstr "Pokaż ustawienia zaawansowane"
#: searx/templates/oscar/preferences.html:231
msgid "Show advanced settings panel in the home page by default"
@@ -643,7 +644,7 @@ msgstr ""
#: searx/templates/oscar/preferences.html:304
msgid "Disable all"
-msgstr ""
+msgstr "Wyłącz wszystkie"
#: searx/templates/oscar/preferences.html:319
#: searx/templates/oscar/preferences.html:335
@@ -677,7 +678,7 @@ msgstr "Zakres czasu"
#: searx/templates/simple/preferences.html:188
#: searx/templates/simple/stats.html:31
msgid "Response time"
-msgstr ""
+msgstr "Czas odpowiedzi"
#: searx/templates/oscar/preferences.html:325
#: searx/templates/oscar/preferences.html:329
@@ -689,11 +690,11 @@ msgstr "Maksymalny czas"
#: searx/templates/oscar/preferences.html:328
#: searx/templates/simple/preferences.html:190
msgid "Reliablity"
-msgstr ""
+msgstr "Niezawodność"
#: searx/templates/oscar/preferences.html:384
msgid "Query"
-msgstr ""
+msgstr "Zapytanie"
#: searx/templates/oscar/preferences.html:391
msgid "Keywords"
@@ -717,7 +718,7 @@ msgstr "Oto lista modułów natychmiastowych odpowiedzi w searx."
#: searx/templates/oscar/preferences.html:412
msgid "This is the list of plugins."
-msgstr ""
+msgstr "To jest list wtyczek."
#: searx/templates/oscar/preferences.html:433
#: searx/templates/simple/preferences.html:261
@@ -813,7 +814,7 @@ msgstr "Ściągnij wyniki"
#: searx/templates/oscar/results.html:95
msgid "RSS subscription"
-msgstr ""
+msgstr "Subskrypcja RSS"
#: searx/templates/oscar/results.html:104
msgid "Search results"
@@ -875,7 +876,7 @@ msgstr ""
#: searx/templates/oscar/stats.html:33 searx/templates/simple/stats.html:32
msgid "Reliability"
-msgstr ""
+msgstr "Niezawodność"
#: searx/templates/oscar/stats.html:42 searx/templates/simple/stats.html:41
msgid "Scores per result"
@@ -887,15 +888,15 @@ msgstr ""
#: searx/templates/oscar/stats.html:66 searx/templates/simple/stats.html:66
msgid "HTTP"
-msgstr ""
+msgstr "HTTP"
#: searx/templates/oscar/stats.html:67 searx/templates/simple/stats.html:67
msgid "Processing"
-msgstr ""
+msgstr "Przetwarzanie"
#: searx/templates/oscar/stats.html:106 searx/templates/simple/stats.html:105
msgid "Warnings"
-msgstr ""
+msgstr "Ostrzeżenia"
#: searx/templates/oscar/stats.html:106 searx/templates/simple/stats.html:105
msgid "Errors and exceptions"
@@ -907,28 +908,28 @@ msgstr ""
#: searx/templates/oscar/stats.html:114 searx/templates/simple/stats.html:113
msgid "Message"
-msgstr ""
+msgstr "Wiadomość"
#: searx/templates/oscar/stats.html:116 searx/templates/simple/stats.html:115
msgid "Percentage"
-msgstr ""
+msgstr "Odsetek"
#: searx/templates/oscar/stats.html:118 searx/templates/simple/stats.html:117
msgid "Parameter"
-msgstr ""
+msgstr "Parametr"
#: searx/templates/oscar/result_templates/files.html:35
#: searx/templates/oscar/stats.html:126 searx/templates/simple/stats.html:125
msgid "Filename"
-msgstr ""
+msgstr "Nazwa pliku"
#: searx/templates/oscar/stats.html:127 searx/templates/simple/stats.html:126
msgid "Function"
-msgstr ""
+msgstr "Funkcja"
#: searx/templates/oscar/stats.html:128 searx/templates/simple/stats.html:127
msgid "Code"
-msgstr ""
+msgstr "Kod"
#: searx/templates/oscar/stats.html:135 searx/templates/simple/stats.html:134
msgid "Checker"
@@ -940,7 +941,7 @@ msgstr ""
#: searx/templates/oscar/stats.html:139 searx/templates/simple/stats.html:138
msgid "Comment(s)"
-msgstr ""
+msgstr "Komentarz(e)"
#: searx/templates/oscar/time-range.html:5
#: searx/templates/simple/time-range.html:3
@@ -987,7 +988,7 @@ msgstr "obecnie nie zdefiniowano żadnych ciasteczek."
#: searx/templates/oscar/messages/no_data_available.html:4
#: searx/templates/simple/stats.html:24
msgid "There is currently no data available. "
-msgstr "Obecnie nie ma dostępnych danych."
+msgstr "Obecnie nie ma dostępnych danych. "
#: searx/templates/oscar/messages/no_results.html:4
#: searx/templates/simple/messages/no_results.html:4
@@ -1045,7 +1046,7 @@ msgstr "ukryj media"
#: searx/templates/oscar/result_templates/files.html:33
#: searx/templates/oscar/result_templates/videos.html:19
msgid "Author"
-msgstr ""
+msgstr "Autor"
#: searx/templates/oscar/result_templates/files.html:37
#: searx/templates/oscar/result_templates/torrent.html:7
@@ -1085,7 +1086,7 @@ msgstr "TiB"
#: searx/templates/oscar/result_templates/files.html:46
msgid "Date"
-msgstr ""
+msgstr "Data"
#: searx/templates/oscar/result_templates/files.html:48
msgid "Type"
@@ -1102,7 +1103,7 @@ msgstr "Pokaż źródło"
#: searx/templates/oscar/result_templates/map.html:26
#: searx/templates/simple/result_templates/map.html:11
msgid "address"
-msgstr ""
+msgstr "adres"
#: searx/templates/oscar/result_templates/map.html:59
#: searx/templates/simple/result_templates/map.html:42
@@ -1141,7 +1142,7 @@ msgstr "ukryj wideo"
#: searx/templates/oscar/result_templates/videos.html:20
msgid "Length"
-msgstr ""
+msgstr "Długość"
#: searx/templates/simple/categories.html:6
msgid "Click on the magnifier to perform search"
@@ -1149,7 +1150,7 @@ msgstr "Kliknij na szkło powiększające, aby wykonać wyszukiwanie"
#: searx/templates/simple/preferences.html:83
msgid "Errors:"
-msgstr ""
+msgstr "Błędy:"
#: searx/templates/simple/preferences.html:173
msgid "Currently used search engines"
@@ -1245,4 +1246,3 @@ msgstr "Odpowiedzi"
#~ msgid "Load more..."
#~ msgstr "Załaduj więcej..."
-
diff --git a/searx/translations/ru/LC_MESSAGES/messages.mo b/searx/translations/ru/LC_MESSAGES/messages.mo
index 42b854b1b..6c12bf384 100644
--- a/searx/translations/ru/LC_MESSAGES/messages.mo
+++ b/searx/translations/ru/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/searx/translations/ru/LC_MESSAGES/messages.po b/searx/translations/ru/LC_MESSAGES/messages.po
index 9c1291604..abc59fb11 100644
--- a/searx/translations/ru/LC_MESSAGES/messages.po
+++ b/searx/translations/ru/LC_MESSAGES/messages.po
@@ -12,20 +12,21 @@
# Дмитрий Михирев, 2016-2017
msgid ""
msgstr ""
-"Project-Id-Version: searx\n"
+"Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2021-07-31 19:11+0200\n"
-"PO-Revision-Date: 2020-07-20 11:54+0000\n"
-"Last-Translator: Dima Ivchenko <kvdbve34@gmail.com>\n"
+"PO-Revision-Date: 2021-08-27 07:16+0000\n"
+"Last-Translator: Markus Heiser <markus.heiser@darmarit.de>\n"
+"Language-Team: Russian <https://weblate.bubu1.eu/projects/searxng/searxng/ru/"
+">\n"
"Language: ru\n"
-"Language-Team: Russian "
-"(http://www.transifex.com/asciimoo/searx/language/ru/)\n"
-"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
-"n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) "
-"|| (n%100>=11 && n%100<=14)? 2 : 3)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n"
+"%100>=11 && n%100<=14)? 2 : 3);\n"
+"X-Generator: Weblate 4.8\n"
"Generated-By: Babel 2.9.1\n"
#: searx/webapp.py:187
@@ -54,7 +55,7 @@ msgstr "видео"
#: searx/webapp.py:193
msgid "it"
-msgstr "it"
+msgstr "ИТ"
#: searx/webapp.py:194
msgid "news"
@@ -66,7 +67,7 @@ msgstr "карты"
#: searx/webapp.py:196
msgid "onions"
-msgstr ""
+msgstr "онион"
#: searx/webapp.py:197
msgid "science"
@@ -74,51 +75,51 @@ msgstr "наука"
#: searx/webapp.py:201
msgid "timeout"
-msgstr ""
+msgstr "перерыв"
#: searx/webapp.py:202
msgid "parsing error"
-msgstr ""
+msgstr "ошибка парсинга"
#: searx/webapp.py:203
msgid "HTTP protocol error"
-msgstr ""
+msgstr "ошибка HTTP протокола"
#: searx/webapp.py:204
msgid "network error"
-msgstr ""
+msgstr "ошибка сети"
#: searx/webapp.py:206
msgid "unexpected crash"
-msgstr ""
+msgstr "неожиданная поломка"
#: searx/webapp.py:213
msgid "HTTP error"
-msgstr ""
+msgstr "ошибка HTTP"
#: searx/webapp.py:214
msgid "HTTP connection error"
-msgstr ""
+msgstr "ошибка HTTP соединения"
#: searx/webapp.py:220
msgid "proxy error"
-msgstr ""
+msgstr "ошибка прокси"
#: searx/webapp.py:221
msgid "CAPTCHA"
-msgstr ""
+msgstr "CAPTCHA"
#: searx/webapp.py:222
msgid "too many requests"
-msgstr ""
+msgstr "слишком много запросов"
#: searx/webapp.py:223
msgid "access denied"
-msgstr ""
+msgstr "доступ запрещён"
#: searx/webapp.py:224
msgid "server API error"
-msgstr ""
+msgstr "ошибка API сервера"
#: searx/webapp.py:423
msgid "No item found"
@@ -126,11 +127,11 @@ msgstr "Ничего не найдено"
#: searx/webapp.py:531 searx/webapp.py:932
msgid "Invalid settings, please edit your preferences"
-msgstr "Неправильные параметры, измените настройки"
+msgstr "Неправильные параметры, пожалуйста измените Ваши настройки"
#: searx/webapp.py:547
msgid "Invalid settings"
-msgstr "Настройки некорректны"
+msgstr "Неверные настройки"
#: searx/webapp.py:619 searx/webapp.py:685
msgid "search error"
@@ -146,7 +147,7 @@ msgstr "{hours} час(ов), {minutes} минут(а) назад"
#: searx/webapp.py:853
msgid "Suspended"
-msgstr ""
+msgstr "Приостановлено"
#: searx/answerers/random/answerer.py:65
msgid "Random value generator"
@@ -154,7 +155,7 @@ msgstr "Генератор случайных значений"
#: searx/answerers/random/answerer.py:66
msgid "Generate different random values"
-msgstr "Генерирует различные случайные значения"
+msgstr "Генерировать разные случайные значения"
#: searx/answerers/statistics/answerer.py:50
msgid "Statistics functions"
@@ -162,7 +163,7 @@ msgstr "Статистические функции"
#: searx/answerers/statistics/answerer.py:51
msgid "Compute {functions} of the arguments"
-msgstr "Вычисляет {functions} от аргументов"
+msgstr "Вычислить {functions} аргументов"
#: searx/engines/openstreetmap.py:155
msgid "Get directions"
@@ -178,23 +179,23 @@ msgstr "Эта запись была заменена на"
#: searx/engines/pubmed.py:78
msgid "No abstract is available for this publication."
-msgstr "Нет аннотации для этой публикации."
+msgstr "Нет доступного примечания для этой публикации."
#: searx/engines/qwant.py:196
msgid "Source"
-msgstr ""
+msgstr "Источник"
#: searx/engines/qwant.py:198
msgid "Channel"
-msgstr ""
+msgstr "Канал"
#: searx/plugins/hash_plugin.py:24
msgid "Converts strings to different hash digests."
-msgstr ""
+msgstr "Преобразование строк в разные хеш-digest'ы."
#: searx/plugins/hash_plugin.py:52
msgid "hash digest"
-msgstr ""
+msgstr "хеш-digest"
#: searx/plugins/infinite_scroll.py:3
msgid "Infinite scroll"
@@ -202,11 +203,13 @@ msgstr "Бесконечная прокрутка"
#: searx/plugins/infinite_scroll.py:4
msgid "Automatically load next page when scrolling to bottom of current page"
-msgstr "Автоматически загружать следующую страницу при прокрутке до конца текущей"
+msgstr ""
+"Автоматически загружать следующую страницу при прокрутке до конца текущей "
+"страницы"
#: searx/plugins/oa_doi_rewrite.py:9
msgid "Open Access DOI rewrite"
-msgstr "Перезапись открытого доступа к DOI"
+msgstr "Перезапись DOI в открытом доступе"
#: searx/plugins/oa_doi_rewrite.py:10
msgid ""
@@ -230,27 +233,27 @@ msgstr ""
#: searx/plugins/self_info.py:19
msgid "Self Informations"
-msgstr ""
+msgstr "Самоиформация"
#: searx/plugins/self_info.py:20
msgid ""
"Displays your IP if the query is \"ip\" and your user agent if the query "
"contains \"user agent\"."
msgstr ""
-"Отображает ваш IP-адрес при запросе \"ip\" и пользовательский агент при "
-"запросе \"user agent\"."
+"Отображать Ваш IP-адрес при запросе \"ip\" и Ваш юзер-агент при запросе "
+"\"user agent\"."
#: searx/plugins/tracker_url_remover.py:27
msgid "Tracker URL remover"
-msgstr "Удаление трекинга URL-адресов"
+msgstr "Удаление трекинга из URL-адреса"
#: searx/plugins/tracker_url_remover.py:28
msgid "Remove trackers arguments from the returned URL"
-msgstr "Удаляет аргументы отслеживания из URL-адреса"
+msgstr "Удаление аргументов трекинга из URL-адреса"
#: searx/plugins/vim_hotkeys.py:3
msgid "Vim-like hotkeys"
-msgstr "Горячие клавиши в стиле vim"
+msgstr "Горячие клавиши в стиле Vim"
#: searx/plugins/vim_hotkeys.py:4
msgid ""
@@ -302,7 +305,7 @@ msgstr "Основано на"
#: searx/templates/oscar/base.html:85 searx/templates/simple/base.html:53
msgid "a privacy-respecting, hackable metasearch engine"
-msgstr "уважающая вашу приватность, открытая метапоисковая система"
+msgstr "уважающая Вашу приватность, открытая метапоисковая система"
#: searx/templates/oscar/base.html:86 searx/templates/simple/base.html:54
msgid "Source code"
@@ -317,11 +320,11 @@ msgstr "Трекер проблем"
#: searx/templates/simple/base.html:56
#: searx/templates/simple/messages/no_results.html:14
msgid "Public instances"
-msgstr "Публичные инстансы"
+msgstr "Публичные экземпляры"
#: searx/templates/oscar/base.html:89 searx/templates/simple/base.html:57
msgid "Contact instance maintainer"
-msgstr ""
+msgstr "Сопровождение контактного экземпляра"
#: searx/templates/oscar/languages.html:2
msgid "Language"
@@ -365,7 +368,7 @@ msgstr "Разрешить"
#: searx/templates/oscar/macros.html:139
msgid "broken"
-msgstr ""
+msgstr "сломанный"
#: searx/templates/oscar/macros.html:141
msgid "supported"
@@ -383,7 +386,7 @@ msgstr "настройки"
#: searx/templates/oscar/preferences.html:11
#: searx/templates/simple/preferences.html:27
msgid "No HTTPS"
-msgstr ""
+msgstr "Нет HTTPS"
#: searx/templates/oscar/preferences.html:13
#: searx/templates/oscar/results.html:27 searx/templates/simple/results.html:40
@@ -392,7 +395,7 @@ msgstr "Количество результатов"
#: searx/templates/oscar/preferences.html:13
msgid "Avg."
-msgstr ""
+msgstr "Avg."
#: searx/templates/oscar/messages/no_results.html:8
#: searx/templates/oscar/preferences.html:16
@@ -403,33 +406,33 @@ msgstr ""
#: searx/templates/simple/preferences.html:30
#: searx/templates/simple/results.html:48
msgid "View error logs and submit a bug report"
-msgstr ""
+msgstr "Просмотр журнала ошибок и отправка отчета об ошибках"
#: searx/templates/oscar/preferences.html:37
#: searx/templates/oscar/stats.html:70
#: searx/templates/simple/preferences.html:51
#: searx/templates/simple/stats.html:70
msgid "Median"
-msgstr ""
+msgstr "Медиана"
#: searx/templates/oscar/preferences.html:38
#: searx/templates/oscar/stats.html:76
#: searx/templates/simple/preferences.html:52
#: searx/templates/simple/stats.html:76
msgid "P80"
-msgstr ""
+msgstr "P80"
#: searx/templates/oscar/preferences.html:39
#: searx/templates/oscar/stats.html:82
#: searx/templates/simple/preferences.html:53
#: searx/templates/simple/stats.html:82
msgid "P95"
-msgstr ""
+msgstr "P95"
#: searx/templates/oscar/preferences.html:67
#: searx/templates/simple/preferences.html:81
msgid "Failed checker test(s): "
-msgstr ""
+msgstr "Неудачная проверка теста(ов): "
#: searx/templates/oscar/preferences.html:95
#: searx/templates/simple/preferences.html:99
@@ -445,13 +448,13 @@ msgstr "Общие"
#: searx/templates/oscar/preferences.html:101
#: searx/templates/oscar/preferences.html:192
msgid "User Interface"
-msgstr ""
+msgstr "Пользовательский интерфейс"
#: searx/templates/oscar/preferences.html:102
#: searx/templates/oscar/preferences.html:256
#: searx/templates/simple/preferences.html:290
msgid "Privacy"
-msgstr "Приватность"
+msgstr "Конфиденциальность"
#: searx/templates/oscar/preferences.html:103
#: searx/templates/oscar/preferences.html:295
@@ -461,13 +464,13 @@ msgstr "Поисковые системы"
#: searx/templates/oscar/preferences.html:104
msgid "Special Queries"
-msgstr ""
+msgstr "Специальные настройки"
#: searx/templates/oscar/preferences.html:105
#: searx/templates/oscar/preferences.html:430
#: searx/templates/simple/preferences.html:258
msgid "Cookies"
-msgstr "Cookie"
+msgstr "Cookies"
#: searx/templates/oscar/preferences.html:122
#: searx/templates/oscar/preferences.html:124
@@ -512,7 +515,7 @@ msgstr "Умеренный"
#: searx/templates/oscar/preferences.html:146
#: searx/templates/simple/preferences.html:148
msgid "None"
-msgstr "Выключен"
+msgstr "Никакой"
#: searx/templates/oscar/preferences.html:152
#: searx/templates/simple/preferences.html:129
@@ -578,11 +581,11 @@ msgstr "Стиль"
#: searx/templates/oscar/preferences.html:230
msgid "Show advanced settings"
-msgstr ""
+msgstr "Показать расширенные настройки"
#: searx/templates/oscar/preferences.html:231
msgid "Show advanced settings panel in the home page by default"
-msgstr ""
+msgstr "По умолчанию показывать панель расширенных настроек на главной странице"
#: searx/templates/oscar/preferences.html:234
#: searx/templates/oscar/preferences.html:244
@@ -609,7 +612,7 @@ msgstr "Открывать ссылки из результатов поиска
#: searx/templates/oscar/preferences.html:261
#: searx/templates/simple/preferences.html:293
msgid "Method"
-msgstr "Метод"
+msgstr "Cпособ"
#: searx/templates/oscar/preferences.html:262
msgid ""
@@ -681,7 +684,7 @@ msgstr "Временной диапазон"
#: searx/templates/simple/preferences.html:188
#: searx/templates/simple/stats.html:31
msgid "Response time"
-msgstr ""
+msgstr "Время отклика"
#: searx/templates/oscar/preferences.html:325
#: searx/templates/oscar/preferences.html:329
@@ -693,11 +696,11 @@ msgstr "Максимальное время"
#: searx/templates/oscar/preferences.html:328
#: searx/templates/simple/preferences.html:190
msgid "Reliablity"
-msgstr ""
+msgstr "Надёжность"
#: searx/templates/oscar/preferences.html:384
msgid "Query"
-msgstr ""
+msgstr "Запрос"
#: searx/templates/oscar/preferences.html:391
msgid "Keywords"
@@ -717,11 +720,11 @@ msgstr "Примеры"
#: searx/templates/oscar/preferences.html:399
msgid "This is the list of searx's instant answering modules."
-msgstr "Это список модулей мгновенного ответа searx"
+msgstr "Это список модулей мгновенного ответа searx."
#: searx/templates/oscar/preferences.html:412
msgid "This is the list of plugins."
-msgstr ""
+msgstr "Это список плагинов."
#: searx/templates/oscar/preferences.html:433
#: searx/templates/simple/preferences.html:261
@@ -729,18 +732,18 @@ msgid ""
"This is the list of cookies and their values searx is storing on your "
"computer."
msgstr ""
-"Это список файлов cookie и их значения, которые searx хранит на вашем "
+"Это список cookie-файлов и их значения, которые searx хранит на Вашем "
"компьютере."
#: searx/templates/oscar/preferences.html:434
#: searx/templates/simple/preferences.html:262
msgid "With that list, you can assess searx transparency."
-msgstr "С помощью этого списка можно оценить прозрачность searx."
+msgstr "С помощью этого списка можно изменить прозрачность searx."
#: searx/templates/oscar/preferences.html:439
#: searx/templates/simple/preferences.html:268
msgid "Cookie name"
-msgstr "Имя файла cookie"
+msgstr "Имя cookie-файла"
#: searx/templates/oscar/preferences.html:440
#: searx/templates/simple/preferences.html:269
@@ -753,8 +756,8 @@ msgid ""
"These settings are stored in your cookies, this allows us not to store "
"this data about you."
msgstr ""
-"Настройки сохраняются в ваших файлах cookie, что позволяет нам не хранить"
-" никаких сведений о вас."
+"Настройки сохраняются в Ваших cookie-файлах, что позволяет нам не хранить "
+"никаких сведений о Вас."
#: searx/templates/oscar/preferences.html:458
#: searx/templates/simple/preferences.html:323
@@ -762,13 +765,13 @@ msgid ""
"These cookies serve your sole convenience, we don't use these cookies to "
"track you."
msgstr ""
-"Эти файлы используются исключительно для вашего удобства, мы не "
-"отслеживаем вашу активность."
+"Cookie-файлы служат исключительно для Вашего удобства, мы не используем "
+"cookie-файлы что-бы следить за Вами."
#: searx/templates/oscar/preferences.html:462
#: searx/templates/simple/preferences.html:282
msgid "Search URL of the currently saved preferences"
-msgstr "URL поиска для текущих сохраненных параметров"
+msgstr "Настройки поиска URL-адреса были сохранены"
#: searx/templates/oscar/preferences.html:463
#: searx/templates/simple/preferences.html:286
@@ -776,8 +779,9 @@ msgid ""
"Note: specifying custom settings in the search URL can reduce privacy by "
"leaking data to the clicked result sites."
msgstr ""
-"Учтите, что укаание пользовательских настроек в URL поиска может привести"
-" к их утечке к посещаемым сайтам из поисковой выдачи."
+"Примечание: специальные пользовательские настройки URL-адреса могут снизить "
+"Вашу конфиденциальность из-за утечки данных на сайтах из поисковой выдачи, "
+"которые Вы посещаете."
#: searx/templates/oscar/preferences.html:468
#: searx/templates/simple/preferences.html:326
@@ -796,7 +800,7 @@ msgstr "Восстановить настройки по умолчанию"
#: searx/templates/oscar/results.html:32 searx/templates/simple/results.html:45
msgid "Engines cannot retrieve results"
-msgstr "Движки не могут получить результаты"
+msgstr "Поисковая система не может получить результат"
#: searx/templates/oscar/results.html:53 searx/templates/simple/results.html:66
msgid "Suggestions"
@@ -874,11 +878,11 @@ msgstr "Попаданий"
#: searx/templates/oscar/stats.html:31 searx/templates/simple/stats.html:30
msgid "Result count"
-msgstr ""
+msgstr "Подсчёт результатов"
#: searx/templates/oscar/stats.html:33 searx/templates/simple/stats.html:32
msgid "Reliability"
-msgstr ""
+msgstr "Надёжность"
#: searx/templates/oscar/stats.html:42 searx/templates/simple/stats.html:41
msgid "Scores per result"
@@ -886,64 +890,64 @@ msgstr "Попаданий за результат"
#: searx/templates/oscar/stats.html:65 searx/templates/simple/stats.html:65
msgid "Total"
-msgstr ""
+msgstr "Всего"
#: searx/templates/oscar/stats.html:66 searx/templates/simple/stats.html:66
msgid "HTTP"
-msgstr ""
+msgstr "HTTP"
#: searx/templates/oscar/stats.html:67 searx/templates/simple/stats.html:67
msgid "Processing"
-msgstr ""
+msgstr "Обработка"
#: searx/templates/oscar/stats.html:106 searx/templates/simple/stats.html:105
msgid "Warnings"
-msgstr ""
+msgstr "Предупреждения"
#: searx/templates/oscar/stats.html:106 searx/templates/simple/stats.html:105
msgid "Errors and exceptions"
-msgstr ""
+msgstr "Ошибки и исключения"
#: searx/templates/oscar/stats.html:112 searx/templates/simple/stats.html:111
msgid "Exception"
-msgstr ""
+msgstr "Исключение"
#: searx/templates/oscar/stats.html:114 searx/templates/simple/stats.html:113
msgid "Message"
-msgstr ""
+msgstr "Сообщение"
#: searx/templates/oscar/stats.html:116 searx/templates/simple/stats.html:115
msgid "Percentage"
-msgstr ""
+msgstr "Процент"
#: searx/templates/oscar/stats.html:118 searx/templates/simple/stats.html:117
msgid "Parameter"
-msgstr ""
+msgstr "Параметр"
#: searx/templates/oscar/result_templates/files.html:35
#: searx/templates/oscar/stats.html:126 searx/templates/simple/stats.html:125
msgid "Filename"
-msgstr ""
+msgstr "Имя файла"
#: searx/templates/oscar/stats.html:127 searx/templates/simple/stats.html:126
msgid "Function"
-msgstr ""
+msgstr "Функция"
#: searx/templates/oscar/stats.html:128 searx/templates/simple/stats.html:127
msgid "Code"
-msgstr ""
+msgstr "Код"
#: searx/templates/oscar/stats.html:135 searx/templates/simple/stats.html:134
msgid "Checker"
-msgstr ""
+msgstr "Чекер"
#: searx/templates/oscar/stats.html:138 searx/templates/simple/stats.html:137
msgid "Failed test"
-msgstr ""
+msgstr "Неудачный тест"
#: searx/templates/oscar/stats.html:139 searx/templates/simple/stats.html:138
msgid "Comment(s)"
-msgstr ""
+msgstr "Комментарии"
#: searx/templates/oscar/time-range.html:5
#: searx/templates/simple/time-range.html:3
@@ -985,17 +989,17 @@ msgstr "Информация!"
#: searx/templates/oscar/messages/no_cookies.html:4
msgid "currently, there are no cookies defined."
-msgstr "в настоящее время не определены файлы cookie."
+msgstr "в данный момент cookie-файлы не установлены."
#: searx/templates/oscar/messages/no_data_available.html:4
#: searx/templates/simple/stats.html:24
msgid "There is currently no data available. "
-msgstr "На данный момент данные недоступны."
+msgstr "На данный момент данные недоступны. "
#: searx/templates/oscar/messages/no_results.html:4
#: searx/templates/simple/messages/no_results.html:4
msgid "Engines cannot retrieve results."
-msgstr "Движки не могут получить результаты."
+msgstr "Поисковая система не может получить результат."
#: searx/templates/oscar/messages/no_results.html:13
#: searx/templates/simple/messages/no_results.html:14
@@ -1013,8 +1017,8 @@ msgid ""
"we didn't find any results. Please use another query or search in more "
"categories."
msgstr ""
-"мы не нашли никаких результатов. Попробуйте другой запрос или поищите в "
-"других категориях."
+"мы не нашли никаких результатов. Попробуйте изменить поисковый запрос или "
+"поищите в других категориях."
#: searx/templates/oscar/messages/save_settings_successfull.html:7
msgid "Well done!"
@@ -1060,39 +1064,39 @@ msgstr "Размер файла"
#: searx/templates/oscar/result_templates/torrent.html:9
#: searx/templates/simple/result_templates/torrent.html:12
msgid "Bytes"
-msgstr "Байт"
+msgstr "Bytes"
#: searx/templates/oscar/result_templates/files.html:39
#: searx/templates/oscar/result_templates/torrent.html:10
#: searx/templates/simple/result_templates/torrent.html:13
msgid "kiB"
-msgstr "КБ"
+msgstr "KiB"
#: searx/templates/oscar/result_templates/files.html:40
#: searx/templates/oscar/result_templates/torrent.html:11
#: searx/templates/simple/result_templates/torrent.html:14
msgid "MiB"
-msgstr "МБ"
+msgstr "MiB"
#: searx/templates/oscar/result_templates/files.html:41
#: searx/templates/oscar/result_templates/torrent.html:12
#: searx/templates/simple/result_templates/torrent.html:15
msgid "GiB"
-msgstr "ГБ"
+msgstr "GiB"
#: searx/templates/oscar/result_templates/files.html:42
#: searx/templates/oscar/result_templates/torrent.html:13
#: searx/templates/simple/result_templates/torrent.html:16
msgid "TiB"
-msgstr "ТБ"
+msgstr "TiB"
#: searx/templates/oscar/result_templates/files.html:46
msgid "Date"
-msgstr ""
+msgstr "Дата"
#: searx/templates/oscar/result_templates/files.html:48
msgid "Type"
-msgstr ""
+msgstr "Тип"
#: searx/templates/oscar/result_templates/images.html:27
msgid "Get image"
@@ -1105,7 +1109,7 @@ msgstr "Посмотреть источник"
#: searx/templates/oscar/result_templates/map.html:26
#: searx/templates/simple/result_templates/map.html:11
msgid "address"
-msgstr ""
+msgstr "адрес"
#: searx/templates/oscar/result_templates/map.html:59
#: searx/templates/simple/result_templates/map.html:42
@@ -1130,7 +1134,7 @@ msgstr "Личер"
#: searx/templates/oscar/result_templates/torrent.html:15
#: searx/templates/simple/result_templates/torrent.html:20
msgid "Number of Files"
-msgstr "Число файлов"
+msgstr "Количество файлов"
#: searx/templates/oscar/result_templates/videos.html:7
#: searx/templates/simple/result_templates/videos.html:6
@@ -1152,7 +1156,7 @@ msgstr "Нажмите на лупу, чтобы выполнить поиск"
#: searx/templates/simple/preferences.html:83
msgid "Errors:"
-msgstr ""
+msgstr "Ошибки:"
#: searx/templates/simple/preferences.html:173
msgid "Currently used search engines"
@@ -1248,4 +1252,3 @@ msgstr "Ответы"
#~ msgid "Loading..."
#~ msgstr "Загрузка..."
-
diff --git a/searx/translations/tr/LC_MESSAGES/messages.mo b/searx/translations/tr/LC_MESSAGES/messages.mo
index ca72a34d9..dba373333 100644
--- a/searx/translations/tr/LC_MESSAGES/messages.mo
+++ b/searx/translations/tr/LC_MESSAGES/messages.mo
Binary files differ
diff --git a/searx/translations/tr/LC_MESSAGES/messages.po b/searx/translations/tr/LC_MESSAGES/messages.po
index 0ad0f5ce4..d536c1f65 100644
--- a/searx/translations/tr/LC_MESSAGES/messages.po
+++ b/searx/translations/tr/LC_MESSAGES/messages.po
@@ -9,18 +9,19 @@
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014
msgid ""
msgstr ""
-"Project-Id-Version: searx\n"
+"Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2021-07-31 19:11+0200\n"
-"PO-Revision-Date: 2020-09-30 20:20+0000\n"
-"Last-Translator: BouRock\n"
+"PO-Revision-Date: 2021-08-23 19:04+0000\n"
+"Last-Translator: Markus Heiser <markus.heiser@darmarit.de>\n"
+"Language-Team: Turkish <https://weblate.bubu1.eu/projects/searxng/searxng/tr/"
+">\n"
"Language: tr\n"
-"Language-Team: Turkish "
-"(http://www.transifex.com/asciimoo/searx/language/tr/)\n"
-"Plural-Forms: nplurals=2; plural=(n > 1)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Weblate 4.8\n"
"Generated-By: Babel 2.9.1\n"
#: searx/webapp.py:187
@@ -987,7 +988,7 @@ msgstr "şu anda, tanımlanmış tanımlama bilgileri yok."
#: searx/templates/oscar/messages/no_data_available.html:4
#: searx/templates/simple/stats.html:24
msgid "There is currently no data available. "
-msgstr "Şu anda mevcut veri yok."
+msgstr "Şu anda mevcut veri yok. "
#: searx/templates/oscar/messages/no_results.html:4
#: searx/templates/simple/messages/no_results.html:4
@@ -1244,4 +1245,3 @@ msgstr "Yanıtlar"
#~ msgid "Loading..."
#~ msgstr "Yükleniyor..."
-
diff --git a/searx/utils.py b/searx/utils.py
index 5e2ab18c4..22824d829 100644
--- a/searx/utils.py
+++ b/searx/utils.py
@@ -262,11 +262,7 @@ def dict_subset(d, properties):
>>> >> dict_subset({'A': 'a', 'B': 'b', 'C': 'c'}, ['A', 'D'])
{'A': 'a'}
"""
- result = {}
- for k in properties:
- if k in d:
- result[k] = d[k]
- return result
+ return {k: d[k] for k in properties if k in d}
def get_torrent_size(filesize, filesize_multiplier):
diff --git a/searx/version.py b/searx/version.py
index 34c37bd22..daada6020 100644
--- a/searx/version.py
+++ b/searx/version.py
@@ -126,8 +126,8 @@ GIT_URL = "{GIT_URL}"
GIT_BRANCH = "{GIT_BRANCH}"
"""
with open(
- os.path.join(os.path.dirname(__file__), "version_frozen.py"), "w"
- ) as f:
+ os.path.join(os.path.dirname(__file__), "version_frozen.py"),
+ "w", encoding="utf8") as f:
f.write(python_code)
print(f"{f.name} created")
else:
diff --git a/searx/webapp.py b/searx/webapp.py
index a1abea887..b935424f1 100755
--- a/searx/webapp.py
+++ b/searx/webapp.py
@@ -108,7 +108,7 @@ from searx.autocomplete import search_autocomplete, backends as autocomplete_bac
from searx.languages import language_codes as languages
from searx.locales import LOCALE_NAMES, UI_LOCALE_CODES, RTL_LOCALES
from searx.search import SearchWithPlugins, initialize as search_initialize
-from searx.network import stream as http_stream
+from searx.network import stream as http_stream, set_context_network_name
from searx.search.checker import get_result as checker_get_result
from searx.settings_loader import get_default_settings_path
@@ -1065,7 +1065,7 @@ def _is_selected_language_supported(engine, preferences): # pylint: disable=red
@app.route('/image_proxy', methods=['GET'])
def image_proxy():
- # pylint: disable=too-many-return-statements
+ # pylint: disable=too-many-return-statements, too-many-branches
url = request.args.get('url')
if not url:
@@ -1076,17 +1076,21 @@ def image_proxy():
return '', 400
maximum_size = 5 * 1024 * 1024
-
+ forward_resp = False
+ resp = None
try:
- headers = dict_subset(request.headers, {'If-Modified-Since', 'If-None-Match'})
- headers['User-Agent'] = gen_useragent()
+ request_headers = {
+ 'User-Agent': gen_useragent(),
+ 'Accept': 'image/webp,*/*',
+ 'Accept-Encoding': 'gzip, deflate',
+ 'Sec-GPC': '1',
+ 'DNT': '1',
+ }
+ set_context_network_name('image_proxy')
stream = http_stream(
method = 'GET',
url = url,
- headers = headers,
- timeout = settings['outgoing']['request_timeout'],
- allow_redirects = True,
- max_redirects = 20
+ headers = request_headers
)
resp = next(stream)
content_length = resp.headers.get('Content-Length')
@@ -1095,32 +1099,37 @@ def image_proxy():
and int(content_length) > maximum_size ):
return 'Max size', 400
- if resp.status_code == 304:
- return '', resp.status_code
-
if resp.status_code != 200:
- logger.debug(
- 'image-proxy: wrong response code: {0}'.format(
- resp.status_code))
+ logger.debug('image-proxy: wrong response code: %i', resp.status_code)
if resp.status_code >= 400:
return '', resp.status_code
return '', 400
- if not resp.headers.get('content-type', '').startswith('image/'):
- logger.debug(
- 'image-proxy: wrong content-type: {0}'.format(
- resp.headers.get('content-type')))
+ if not resp.headers.get('Content-Type', '').startswith('image/'):
+ logger.debug('image-proxy: wrong content-type: %s', resp.headers.get('Content-Type', ''))
return '', 400
+ forward_resp = True
+ except httpx.HTTPError:
+ logger.exception('HTTP error')
+ return '', 400
+ finally:
+ if resp and not forward_resp:
+ # the code is about to return an HTTP 400 error to the browser
+ # we make sure to close the response between searxng and the HTTP server
+ try:
+ resp.close()
+ except httpx.HTTPError:
+ logger.exception('HTTP error on closing')
+
+ try:
headers = dict_subset(
resp.headers,
- {'Content-Length', 'Length', 'Date', 'Last-Modified', 'Expires', 'Etag'}
+ {'Content-Type', 'Content-Encoding', 'Content-Length', 'Length'}
)
- total_length = 0
-
def forward_chunk():
- nonlocal total_length
+ total_length = 0
for chunk in stream:
total_length += len(chunk)
if total_length > maximum_size:
@@ -1182,6 +1191,7 @@ def stats():
engine_stats = engine_stats,
engine_reliabilities = engine_reliabilities,
selected_engine_name = selected_engine_name,
+ searx_git_branch = GIT_BRANCH,
)
diff --git a/searx_extra/update/update_external_bangs.py b/searx_extra/update/update_external_bangs.py
index c366fe76b..e6331d47c 100755
--- a/searx_extra/update/update_external_bangs.py
+++ b/searx_extra/update/update_external_bangs.py
@@ -154,5 +154,5 @@ if __name__ == '__main__':
'version': bangs_version,
'trie': parse_ddg_bangs(fetch_ddg_bangs(bangs_url))
}
- with open(get_bangs_filename(), 'w') as fp:
+ with open(get_bangs_filename(), 'w', encoding="utf8") as fp:
json.dump(output, fp, ensure_ascii=False, indent=4)
diff --git a/searx_extra/update/update_osm_keys_tags.py b/searx_extra/update/update_osm_keys_tags.py
index f803d0c33..a71f2d9a1 100755
--- a/searx_extra/update/update_osm_keys_tags.py
+++ b/searx_extra/update/update_osm_keys_tags.py
@@ -205,5 +205,5 @@ if __name__ == '__main__':
'keys': optimize_keys(get_keys()),
'tags': optimize_tags(get_tags()),
}
- with open(get_osm_tags_filename(), 'w') as f:
+ with open(get_osm_tags_filename(), 'w', encoding="utf8") as f:
json.dump(result, f, indent=4, ensure_ascii=False)
diff --git a/tests/unit/test_utils.py b/tests/unit/test_utils.py
index 2c244966b..91ec2499d 100644
--- a/tests/unit/test_utils.py
+++ b/tests/unit/test_utils.py
@@ -114,9 +114,9 @@ class TestUtils(SearxTestCase):
def test_ecma_unscape(self):
self.assertEqual(utils.ecma_unescape('text%20with%20space'), 'text with space')
self.assertEqual(utils.ecma_unescape('text using %xx: %F3'),
- u'text using %xx: ó')
+ 'text using %xx: ó')
self.assertEqual(utils.ecma_unescape('text using %u: %u5409, %u4E16%u754c'),
- u'text using %u: 吉, 世界')
+ 'text using %u: 吉, 世界')
class TestHTMLTextExtractor(SearxTestCase):