diff --git a/docs/dev/engines/online/bpb.rst b/docs/dev/engines/online/bpb.rst
new file mode 100644
index 000000000..f545dba48
--- /dev/null
+++ b/docs/dev/engines/online/bpb.rst
@@ -0,0 +1,13 @@
+.. _bpb engine:
+
+===
+Bpb
+===
+
+.. contents:: Contents
+ :depth: 2
+ :local:
+ :backlinks: entry
+
+.. automodule:: searx.engines.bpb
+ :members:
diff --git a/requirements-dev.txt b/requirements-dev.txt
index 749111294..a8e24b368 100644
--- a/requirements-dev.txt
+++ b/requirements-dev.txt
@@ -3,7 +3,7 @@ nose2[coverage_plugin]==0.14.0
cov-core==1.15.0
black==22.12.0
pylint==3.0.2
-splinter==0.19.0
+splinter==0.20.1
selenium==4.15.2
twine==4.0.2
Pallets-Sphinx-Themes==2.1.1
diff --git a/requirements.txt b/requirements.txt
index c2d211e06..bf8b82b2f 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,10 +1,10 @@
-certifi==2023.7.22
+certifi==2023.11.17
babel==2.13.1
flask-babel==4.0.0
flask==3.0.0
jinja2==3.1.2
lxml==4.9.3
-pygments==2.16.1
+pygments==2.17.2
python-dateutil==2.8.2
pyyaml==6.0.1
httpx[http2]==0.24.1
diff --git a/searx/engines/bpb.py b/searx/engines/bpb.py
new file mode 100644
index 000000000..5d6359aae
--- /dev/null
+++ b/searx/engines/bpb.py
@@ -0,0 +1,68 @@
+# SPDX-License-Identifier: AGPL-3.0-or-later
+# lint: pylint
+"""BPB refers to ``Bundeszentrale für poltische Bildung``, which is a German
+governmental institution aiming to reduce misinformation by providing resources
+about politics and history.
+"""
+
+from datetime import datetime
+from urllib.parse import urlencode
+
+about = {
+ 'website': "https://www.bpb.de",
+ 'official_api_documentation': None,
+ 'use_official_api': False,
+ 'require_api_key': False,
+ 'results': 'JSON',
+ 'language': 'de',
+}
+
+paging = True
+categories = ['general']
+
+
+base_url = "https://www.bpb.de"
+
+
+def request(query, params):
+ args = {
+ 'query[term]': query,
+ 'page': params['pageno'] - 1,
+ 'sort[direction]': 'descending',
+ 'payload[nid]': 65350,
+ }
+ params['url'] = f"{base_url}/bpbapi/filter/search?{urlencode(args)}"
+ return params
+
+
+def response(resp):
+ results = []
+
+ json_resp = resp.json()
+
+ for result in json_resp['teaser']:
+ img_src = None
+ if result['teaser']['image']:
+ img_src = base_url + result['teaser']['image']['sources'][-1]['url']
+
+ metadata = result['extension']['overline']
+ authors = ', '.join(author['name'] for author in result['extension'].get('authors', []))
+ if authors:
+ metadata += f" | {authors}"
+
+ publishedDate = None
+ if result['extension'].get('publishingDate'):
+ publishedDate = datetime.utcfromtimestamp(result['extension']['publishingDate'])
+
+ results.append(
+ {
+ 'url': base_url + result['teaser']['link']['url'],
+ 'title': result['teaser']['title'],
+ 'content': result['teaser']['text'],
+ 'img_src': img_src,
+ 'publishedDate': publishedDate,
+ 'metadata': metadata,
+ }
+ )
+
+ return results
diff --git a/searx/engines/destatis.py b/searx/engines/destatis.py
new file mode 100644
index 000000000..2d19b340f
--- /dev/null
+++ b/searx/engines/destatis.py
@@ -0,0 +1,68 @@
+# SPDX-License-Identifier: AGPL-3.0-or-later
+# lint: pylint
+"""DeStatis
+"""
+
+from urllib.parse import urlencode
+from lxml import html
+from searx.utils import eval_xpath, eval_xpath_list, extract_text
+
+about = {
+ 'website': 'https://www.destatis.de',
+ 'official_api_documentation': 'https://destatis.api.bund.dev/',
+ 'use_official_api': False,
+ 'require_api_key': False,
+ 'results': 'HTML',
+ 'language': 'de',
+}
+
+categories = []
+paging = True
+
+base_url = "https://www.destatis.de"
+search_url = f"{base_url}/SiteGlobals/Forms/Suche/Expertensuche_Formular.html"
+
+# pylint: disable-next=line-too-long
+results_xpath = '//div[contains(@class, "l-content-wrapper")]/div[contains(@class, "row")]/div[contains(@class, "column")]/div[contains(@class, "c-result"){extra}]'
+results_xpath_filter_recommended = " and not(contains(@class, 'c-result--recommended'))"
+url_xpath = './/a/@href'
+title_xpath = './/a/text()'
+date_xpath = './/a/span[contains(@class, "c-result__date")]'
+content_xpath = './/div[contains(@class, "column")]/p/text()'
+doctype_xpath = './/div[contains(@class, "c-result__doctype")]/p'
+
+
+def request(query, params):
+ args = {
+ 'templateQueryString': query,
+ 'gtp': f"474_list%3D{params['pageno']}",
+ }
+ params['url'] = f"{search_url}?{urlencode(args)}"
+ return params
+
+
+def response(resp):
+ results = []
+
+ dom = html.fromstring(resp.text)
+
+ # filter out suggested results on further page because they're the same on each page
+ extra_xpath = results_xpath_filter_recommended if resp.search_params['pageno'] > 1 else ''
+ res_xpath = results_xpath.format(extra=extra_xpath)
+
+ for result in eval_xpath_list(dom, res_xpath):
+ doctype = extract_text(eval_xpath(result, doctype_xpath))
+ date = extract_text(eval_xpath(result, date_xpath))
+
+ metadata = [meta for meta in (doctype, date) if meta != ""]
+
+ results.append(
+ {
+ 'url': base_url + "/" + extract_text(eval_xpath(result, url_xpath)),
+ 'title': extract_text(eval_xpath(result, title_xpath)),
+ 'content': extract_text(eval_xpath(result, content_xpath)),
+ 'metadata': ', '.join(metadata),
+ }
+ )
+
+ return results
diff --git a/searx/engines/presearch.py b/searx/engines/presearch.py
new file mode 100644
index 000000000..1e20465ed
--- /dev/null
+++ b/searx/engines/presearch.py
@@ -0,0 +1,180 @@
+# SPDX-License-Identifier: AGPL-3.0-or-later
+# lint: pylint
+"""Presearch (general, images, videos, news)
+
+.. hint::
+
+ The results in the video category are most often links to pages that contain
+ a video, for instance many links from preasearch's video category link
+ content from facebook (aka Meta) or Twitter (aka X). Since these are not
+ real links to video streams SearXNG can't use the video template for this and
+ if SearXNG can't use this template, then the user doesn't want to see these
+ hits in the videos category.
+
+ TL;DR; by default presearch's video category is placed into categories::
+
+ categories: [general, web]
+
+"""
+
+from urllib.parse import urlencode
+from searx.network import get
+from searx.utils import gen_useragent, html_to_text
+
+about = {
+ "website": "https://presearch.io",
+ "wikidiata_id": "Q7240905",
+ "official_api_documentation": "https://docs.presearch.io/nodes/api",
+ "use_official_api": False,
+ "require_api_key": False,
+ "results": "JSON",
+}
+paging = True
+time_range_support = True
+categories = ["general", "web"] # general, images, videos, news
+
+search_type = "search"
+"""must be any of ``search``, ``images``, ``videos``, ``news``"""
+
+base_url = "https://presearch.com"
+safesearch_map = {0: 'false', 1: 'true', 2: 'true'}
+
+
+def init(_):
+ if search_type not in ['search', 'images', 'videos', 'news']:
+ raise ValueError(f'presearch search_type: {search_type}')
+
+
+def _get_request_id(query, page, time_range, safesearch):
+ args = {
+ "q": query,
+ "page": page,
+ }
+ if time_range:
+ args["time_range"] = time_range
+
+ url = f"{base_url}/{search_type}?{urlencode(args)}"
+ headers = {
+ 'User-Agent': gen_useragent(),
+ 'Cookie': f"b=1;presearch_session=;use_safe_search={safesearch_map[safesearch]}",
+ }
+ resp_text = get(url, headers=headers).text # type: ignore
+
+ for line in resp_text.split("\n"):
+ if "window.searchId = " in line:
+ return line.split("= ")[1][:-1].replace('"', "")
+
+ return None
+
+
+def request(query, params):
+ request_id = _get_request_id(query, params["pageno"], params["time_range"], params["safesearch"])
+
+ params["headers"]["Accept"] = "application/json"
+ params["url"] = f"{base_url}/results?id={request_id}"
+
+ return params
+
+
+def _strip_leading_strings(text):
+ for x in ['wikipedia', 'google']:
+ if text.lower().endswith(x):
+ text = text[: -len(x)]
+ return text.strip()
+
+
+def parse_search_query(json_results):
+ results = []
+
+ for item in json_results.get('specialSections', {}).get('topStoriesCompact', {}).get('data', []):
+ result = {
+ 'url': item['link'],
+ 'title': item['title'],
+ 'img_src': item['image'],
+ 'content': '',
+ 'metadata': item.get('source'),
+ }
+ results.append(result)
+
+ for item in json_results.get('standardResults', []):
+ result = {
+ 'url': item['link'],
+ 'title': item['title'],
+ 'content': html_to_text(item['description']),
+ }
+ results.append(result)
+
+ info = json_results.get('infoSection', {}).get('data')
+ if info:
+ attributes = []
+ for item in info.get('about', []):
+ label, value = html_to_text(item).split(':', 1)
+ value = _strip_leading_strings(value)
+ attributes.append({'label': label, 'value': value})
+ content = []
+ for item in [info['subtitle'], info['description']]:
+ item = _strip_leading_strings(html_to_text(item))
+ if item:
+ content.append(item)
+
+ results.append(
+ {
+ 'infobox': info['title'],
+ 'id': info['title'],
+ 'img_src': info.get('image'),
+ 'content': ' | '.join(content),
+ 'attributes': attributes,
+ }
+ )
+ return results
+
+
+def response(resp):
+ results = []
+ json_resp = resp.json()
+
+ if search_type == 'search':
+ results = parse_search_query(json_resp['results'])
+
+ elif search_type == 'images':
+ for item in json_resp['images']:
+ results.append(
+ {
+ 'template': 'images.html',
+ 'title': item['title'],
+ 'url': item['link'],
+ 'img_src': item['image'],
+ 'thumbnail_src': item['thumbnail'],
+ }
+ )
+
+ elif search_type == 'videos':
+ # The results in the video category are most often links to pages that contain
+ # a video and not to a video stream --> SearXNG can't use the video template.
+
+ for item in json_resp['videos']:
+ metadata = [x for x in [item.get('description'), item.get('duration')] if x]
+ results.append(
+ {
+ 'title': item['title'],
+ 'url': item['link'],
+ 'content': '',
+ 'metadata': ' / '.join(metadata),
+ 'img_src': item.get('image'),
+ }
+ )
+
+ elif search_type == 'news':
+ for item in json_resp['news']:
+ metadata = [x for x in [item.get('source'), item.get('time')] if x]
+ results.append(
+ {
+ 'title': item['title'],
+ 'url': item['link'],
+ 'content': item['description'],
+ 'metadata': ' / '.join(metadata),
+ 'img_src': item.get('image'),
+ }
+ )
+
+ return results
diff --git a/searx/engines/yep.py b/searx/engines/yep.py
new file mode 100644
index 000000000..c3cb65c7b
--- /dev/null
+++ b/searx/engines/yep.py
@@ -0,0 +1,79 @@
+# SPDX-License-Identifier: AGPL-3.0-or-later
+# lint: pylint
+"""Yep (general, images, news)
+"""
+
+from datetime import datetime
+from urllib.parse import urlencode
+from searx.utils import html_to_text
+
+about = {
+ 'website': 'https://yep.com/',
+ 'official_api_documentation': 'https://docs.developer.yelp.com',
+ 'use_official_api': False,
+ 'require_api_key': False,
+ 'results': 'JSON',
+}
+
+base_url = "https://api.yep.com"
+search_type = "web" # 'web', 'images', 'news'
+
+safesearch = True
+safesearch_map = {0: 'off', 1: 'moderate', 2: 'strict'}
+
+
+def request(query, params):
+ args = {
+ 'client': 'web',
+ 'no_correct': 'false',
+ 'q': query,
+ 'safeSearch': safesearch_map[params['safesearch']],
+ 'type': search_type,
+ }
+ params['url'] = f"{base_url}/fs/2/search?{urlencode(args)}"
+ params['headers']['Referer'] = 'https://yep.com/'
+ return params
+
+
+def _web_result(result):
+ return {
+ 'url': result['url'],
+ 'title': result['title'],
+ 'content': html_to_text(result['snippet']),
+ }
+
+
+def _images_result(result):
+ return {
+ 'template': 'images.html',
+ 'url': result['host_page'],
+ 'title': result.get('title', ''),
+ 'content': '',
+ 'img_src': result['image_id'],
+ 'thumbnail_src': result['src'],
+ }
+
+
+def _news_result(result):
+ return {
+ 'url': result['url'],
+ 'title': result['title'],
+ 'content': html_to_text(result['snippet']),
+ 'publishedDate': datetime.strptime(result['first_seen'][:19], '%Y-%m-%dT%H:%M:%S'),
+ }
+
+
+def response(resp):
+ results = []
+
+ for result in resp.json()[1]['results']:
+ if search_type == "web":
+ results.append(_web_result(result))
+ elif search_type == "images":
+ results.append(_images_result(result))
+ elif search_type == "news":
+ results.append(_news_result(result))
+ else:
+ raise ValueError(f"Unsupported yep search type: {search_type}")
+
+ return results
diff --git a/searx/results.py b/searx/results.py
index caf02213d..471d16981 100644
--- a/searx/results.py
+++ b/searx/results.py
@@ -232,7 +232,7 @@ class ResultContainer:
if engine_name in engines:
histogram_observe(standard_result_count, 'engine', engine_name, 'result', 'count')
- if not self.paging and standard_result_count > 0 and engine_name in engines and engines[engine_name].paging:
+ if not self.paging and engine_name in engines and engines[engine_name].paging:
self.paging = True
def _merge_infobox(self, infobox):
diff --git a/searx/settings.yml b/searx/settings.yml
index 1b511c2c9..926cddb59 100644
--- a/searx/settings.yml
+++ b/searx/settings.yml
@@ -419,6 +419,11 @@ engines:
require_api_key: false
results: HTML
+ - name: bpb
+ engine: bpb
+ shortcut: bpb
+ disabled: true
+
- name: btdigg
engine: btdigg
shortcut: bt
@@ -484,23 +489,25 @@ engines:
website: https://crowdview.ai/
- name: yep
- engine: json_engine
+ engine: yep
shortcut: yep
categories: general
+ search_type: web
+ disabled: true
+
+ - name: yep images
+ engine: yep
+ shortcut: yepi
+ categories: images
+ search_type: images
+ disabled: true
+
+ - name: yep news
+ engine: yep
+ shortcut: yepn
+ categories: news
+ search_type: news
disabled: true
- paging: false
- content_html_to_text: true
- title_html_to_text: true
- search_url: https://api.yep.com/fs/1/?type=web&q={query}&no_correct=false&limit=100
- results_query: 1/results
- title_query: title
- url_query: url
- content_query: snippet
- about:
- website: https://yep.com
- use_official_api: false
- require_api_key: false
- results: JSON
- name: curlie
engine: xpath
@@ -532,6 +539,11 @@ engines:
shortcut: dz
disabled: true
+ - name: destatis
+ engine: destatis
+ shortcut: destat
+ disabled: true
+
- name: deviantart
engine: deviantart
shortcut: da
@@ -1285,6 +1297,37 @@ engines:
# query_str: 'SELECT * from my_table WHERE my_column = %(query)s'
# shortcut : psql
+ - name: presearch
+ engine: presearch
+ search_type: search
+ categories: [general, web]
+ shortcut: ps
+ disabled: true
+
+ - name: presearch images
+ engine: presearch
+ search_type: images
+ categories: [images, web]
+ timeout: 4.0
+ shortcut: psimg
+ disabled: true
+
+ - name: presearch videos
+ engine: presearch
+ search_type: videos
+ categories: [general, web]
+ timeout: 4.0
+ shortcut: psvid
+ disabled: true
+
+ - name: presearch news
+ engine: presearch
+ search_type: news
+ categories: [news, web]
+ timeout: 4.0
+ shortcut: psnews
+ disabled: true
+
- name: pub.dev
engine: xpath
shortcut: pd
diff --git a/searx/static/themes/simple/src/generated/pygments.less b/searx/static/themes/simple/src/generated/pygments.less
index d01c777fb..6c5c4d193 100644
--- a/searx/static/themes/simple/src/generated/pygments.less
+++ b/searx/static/themes/simple/src/generated/pygments.less
@@ -1,6 +1,6 @@
/*
this file is generated automatically by searxng_extra/update/update_pygments.py
- using pygments version 2.16.1
+ using pygments version 2.17.2
*/
diff --git a/searx/templates/simple/results.html b/searx/templates/simple/results.html
index 42ad3fa3d..7d97c9e06 100644
--- a/searx/templates/simple/results.html
+++ b/searx/templates/simple/results.html
@@ -124,22 +124,24 @@
{% endif %}
-
+ {%- if results | count > 0 -%}
+
+ {%- endif -%}
{% set pstart = 1 %}
{% set pend = 11 %}
{% if pageno > 5 %}
diff --git a/searx/translations/cy/LC_MESSAGES/messages.mo b/searx/translations/cy/LC_MESSAGES/messages.mo
index 63ed9be88..c562ebeda 100644
Binary files a/searx/translations/cy/LC_MESSAGES/messages.mo and b/searx/translations/cy/LC_MESSAGES/messages.mo differ
diff --git a/searx/translations/cy/LC_MESSAGES/messages.po b/searx/translations/cy/LC_MESSAGES/messages.po
index 24370847f..033c209f5 100644
--- a/searx/translations/cy/LC_MESSAGES/messages.po
+++ b/searx/translations/cy/LC_MESSAGES/messages.po
@@ -10,25 +10,26 @@
# return42 , 2023.
msgid ""
msgstr ""
-"Project-Id-Version: searx\n"
+"Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2023-11-11 15:25+0000\n"
-"PO-Revision-Date: 2023-10-06 07:07+0000\n"
+"PO-Revision-Date: 2023-11-23 06:13+0000\n"
"Last-Translator: return42 \n"
+"Language-Team: Welsh \n"
"Language: cy\n"
-"Language-Team: Welsh "
-"\n"
-"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n "
-"!= 11) ? 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==1) ? 0 : (n==2) ? 1 : (n != 8 && n != "
+"11) ? 2 : 3;\n"
+"X-Generator: Weblate 5.1\n"
"Generated-By: Babel 2.13.1\n"
#. CONSTANT_NAMES['NO_SUBGROUPING']
#: searx/searxng.msg
msgid "without further subgrouping"
-msgstr ""
+msgstr "heb is-grwpio pellach"
#. CONSTANT_NAMES['DEFAULT_CATEGORY']
#: searx/searxng.msg
@@ -273,11 +274,11 @@ msgstr "Sianel"
#: searx/engines/radio_browser.py:104
msgid "radio"
-msgstr ""
+msgstr "radio"
#: searx/engines/radio_browser.py:106
msgid "bitrate"
-msgstr ""
+msgstr "cyfradd didau"
#: searx/engines/radio_browser.py:107
msgid "votes"
@@ -1620,4 +1621,3 @@ msgstr "cuddio fideo"
#~ "ganlyniadau. Defnyddiwch derm(au) chwilio "
#~ "gwahanol neu ehangu'r chwilio i ragor"
#~ " o gategorïau."
-
diff --git a/searx/translations/eo/LC_MESSAGES/messages.mo b/searx/translations/eo/LC_MESSAGES/messages.mo
index 1c3584ae3..b19bd3e1b 100644
Binary files a/searx/translations/eo/LC_MESSAGES/messages.mo and b/searx/translations/eo/LC_MESSAGES/messages.mo differ
diff --git a/searx/translations/eo/LC_MESSAGES/messages.po b/searx/translations/eo/LC_MESSAGES/messages.po
index e813c12d6..e9096c365 100644
--- a/searx/translations/eo/LC_MESSAGES/messages.po
+++ b/searx/translations/eo/LC_MESSAGES/messages.po
@@ -11,21 +11,23 @@
# Markus Heiser , 2022.
# return42 , 2023.
# RTRedreovic , 2023.
+# Azharjan , 2023.
msgid ""
msgstr ""
-"Project-Id-Version: searx\n"
+"Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2023-11-11 15:25+0000\n"
-"PO-Revision-Date: 2023-11-07 15:13+0000\n"
-"Last-Translator: RTRedreovic "
-"\n"
+"PO-Revision-Date: 2023-11-23 06:13+0000\n"
+"Last-Translator: RTRedreovic \n"
+"Language-Team: Esperanto \n"
"Language: eo\n"
-"Language-Team: Esperanto "
-"\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 5.1\n"
"Generated-By: Babel 2.13.1\n"
#. CONSTANT_NAMES['NO_SUBGROUPING']
@@ -760,11 +762,11 @@ msgstr "Serĉi URL"
#: searx/templates/simple/elements/search_url.html:4
msgid "Copied"
-msgstr ""
+msgstr "Kopiita"
#: searx/templates/simple/elements/search_url.html:4
msgid "Copy"
-msgstr ""
+msgstr "Kopii"
#: searx/templates/simple/elements/suggestions.html:3
msgid "Suggestions"
@@ -945,7 +947,7 @@ msgstr ""
#: searx/templates/simple/preferences/cookies.html:35
msgid "URL to restore your preferences in another browser"
-msgstr "URL por restarigi viajn preferojn en alia retumilo"
+msgstr "URL por restarigi viajn preferojn en alia TTT-legilo"
#: searx/templates/simple/preferences/cookies.html:44
msgid ""
@@ -1071,7 +1073,9 @@ msgstr "Montru demandon en la titolo de la paĝo"
msgid ""
"When enabled, the result page's title contains your query. Your browser "
"can record this title"
-msgstr "Kiam ĝi estas ebligita, la titolo de la rezultpaĝo enhavas vian demandon"
+msgstr ""
+"Kiam ĝi estas ebligita, la titolo de la rezultpaĝo enhavas vian demandon. "
+"Via TTT-legilo povas registri ĉi tiun titolon"
#: searx/templates/simple/preferences/results_on_new_tab.html:2
msgid "Results on new tabs"
@@ -1079,7 +1083,7 @@ msgstr "Rezultoj en novaj langetoj"
#: searx/templates/simple/preferences/results_on_new_tab.html:14
msgid "Open result links on new browser tabs"
-msgstr "Malfermi rezultligilojn en novaj retumilaj langetoj"
+msgstr "Malfermi rezultligilojn en novaj TTT-legilaj langetoj"
#: searx/templates/simple/preferences/safesearch.html:20
msgid "Filter content"
@@ -1111,7 +1115,7 @@ msgstr "Temo stilo"
#: searx/templates/simple/preferences/theme.html:31
msgid "Choose auto to follow your browser settings"
-msgstr "Elektu 'auto' por sekvi la agordojn de via retumilo"
+msgstr "Elektu 'auto' por sekvi la agordojn de via TTT-legilo"
#: searx/templates/simple/preferences/tokens.html:2
msgid "Engine tokens"
@@ -1669,4 +1673,3 @@ msgstr "kaŝi videojn"
#~ "ni ne trovis rezultojn. Bonvole uzu "
#~ "alian serĉfrazon aŭ serĉu en pliaj "
#~ "kategorioj."
-
diff --git a/searx/translations/fr/LC_MESSAGES/messages.mo b/searx/translations/fr/LC_MESSAGES/messages.mo
index 4d302a4cc..5e5bd4ba3 100644
Binary files a/searx/translations/fr/LC_MESSAGES/messages.mo and b/searx/translations/fr/LC_MESSAGES/messages.mo differ
diff --git a/searx/translations/fr/LC_MESSAGES/messages.po b/searx/translations/fr/LC_MESSAGES/messages.po
index 4d6d0c26b..5d53a0021 100644
--- a/searx/translations/fr/LC_MESSAGES/messages.po
+++ b/searx/translations/fr/LC_MESSAGES/messages.po
@@ -20,18 +20,19 @@
# quenty_occitania , 2023.
msgid ""
msgstr ""
-"Project-Id-Version: searx\n"
+"Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2023-11-11 15:25+0000\n"
-"PO-Revision-Date: 2023-10-27 07:07+0000\n"
-"Last-Translator: quenty_occitania \n"
+"PO-Revision-Date: 2023-11-21 07:13+0000\n"
+"Last-Translator: return42 \n"
+"Language-Team: French \n"
"Language: fr\n"
-"Language-Team: French "
-"\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 5.1\n"
"Generated-By: Babel 2.13.1\n"
#. CONSTANT_NAMES['NO_SUBGROUPING']
@@ -767,11 +768,11 @@ msgstr "URL de recherche"
#: searx/templates/simple/elements/search_url.html:4
msgid "Copied"
-msgstr ""
+msgstr "Copié"
#: searx/templates/simple/elements/search_url.html:4
msgid "Copy"
-msgstr ""
+msgstr "Copier"
#: searx/templates/simple/elements/suggestions.html:3
msgid "Suggestions"
@@ -1717,4 +1718,3 @@ msgstr "cacher la vidéo"
#~ "nous n'avons trouvé aucun résultat. "
#~ "Effectuez une autre recherche ou changez"
#~ " de catégorie."
-
diff --git a/searx/translations/it/LC_MESSAGES/messages.mo b/searx/translations/it/LC_MESSAGES/messages.mo
index 28fc888d3..ca934812c 100644
Binary files a/searx/translations/it/LC_MESSAGES/messages.mo and b/searx/translations/it/LC_MESSAGES/messages.mo differ
diff --git a/searx/translations/it/LC_MESSAGES/messages.po b/searx/translations/it/LC_MESSAGES/messages.po
index 8fa4a77a9..b58e8a38d 100644
--- a/searx/translations/it/LC_MESSAGES/messages.po
+++ b/searx/translations/it/LC_MESSAGES/messages.po
@@ -27,7 +27,7 @@ msgstr ""
"Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2023-11-11 15:25+0000\n"
-"PO-Revision-Date: 2023-11-17 07:07+0000\n"
+"PO-Revision-Date: 2023-11-21 07:13+0000\n"
"Last-Translator: return42 \n"
"Language-Team: Italian \n"
@@ -175,7 +175,7 @@ msgstr "Sorgente"
#: searx/webapp.py:336
msgid "Error loading the next page"
-msgstr "Errore caricando la pagina successiva"
+msgstr "Errore di caricamento della pagina successiva"
#: searx/webapp.py:493 searx/webapp.py:889
msgid "Invalid settings, please edit your preferences"
diff --git a/searx/translations/ko/LC_MESSAGES/messages.mo b/searx/translations/ko/LC_MESSAGES/messages.mo
index ee5c40bd7..a3e79897a 100644
Binary files a/searx/translations/ko/LC_MESSAGES/messages.mo and b/searx/translations/ko/LC_MESSAGES/messages.mo differ
diff --git a/searx/translations/ko/LC_MESSAGES/messages.po b/searx/translations/ko/LC_MESSAGES/messages.po
index 15553a5f0..a14f8a45e 100644
--- a/searx/translations/ko/LC_MESSAGES/messages.po
+++ b/searx/translations/ko/LC_MESSAGES/messages.po
@@ -12,15 +12,16 @@ msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2023-11-11 15:25+0000\n"
-"PO-Revision-Date: 2023-11-05 21:47+0000\n"
+"PO-Revision-Date: 2023-11-23 06:13+0000\n"
"Last-Translator: return42 \n"
+"Language-Team: Korean \n"
"Language: ko\n"
-"Language-Team: Korean "
-"\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 5.1\n"
"Generated-By: Babel 2.13.1\n"
#. CONSTANT_NAMES['NO_SUBGROUPING']
@@ -743,11 +744,11 @@ msgstr "검색 URL"
#: searx/templates/simple/elements/search_url.html:4
msgid "Copied"
-msgstr ""
+msgstr "복사됨"
#: searx/templates/simple/elements/search_url.html:4
msgid "Copy"
-msgstr ""
+msgstr "복사하기"
#: searx/templates/simple/elements/suggestions.html:3
msgid "Suggestions"
@@ -1502,4 +1503,3 @@ msgstr "비디오 숨기기"
#~ "use another query or search in "
#~ "more categories."
#~ msgstr "검색결과를 찾을 수 없습니다. 다른 검색어로 검색하거나 검색 범주를 추가해주세요."
-
diff --git a/searx/translations/lt/LC_MESSAGES/messages.mo b/searx/translations/lt/LC_MESSAGES/messages.mo
index e439c73d5..e6d0f46d7 100644
Binary files a/searx/translations/lt/LC_MESSAGES/messages.mo and b/searx/translations/lt/LC_MESSAGES/messages.mo differ
diff --git a/searx/translations/lt/LC_MESSAGES/messages.po b/searx/translations/lt/LC_MESSAGES/messages.po
index 84009823b..695294d50 100644
--- a/searx/translations/lt/LC_MESSAGES/messages.po
+++ b/searx/translations/lt/LC_MESSAGES/messages.po
@@ -10,20 +10,21 @@
# Archfiend , 2023.
msgid ""
msgstr ""
-"Project-Id-Version: searx\n"
+"Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2023-11-11 15:25+0000\n"
-"PO-Revision-Date: 2023-09-12 14:53+0000\n"
+"PO-Revision-Date: 2023-11-23 06:13+0000\n"
"Last-Translator: return42 \n"
+"Language-Team: Lithuanian \n"
"Language: lt\n"
-"Language-Team: Lithuanian "
-"\n"
-"Plural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100"
-" < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < "
-"11) ? 1 : n % 1 != 0 ? 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 > 19 || n % 100 < "
+"11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 :"
+" n % 1 != 0 ? 2: 3);\n"
+"X-Generator: Weblate 5.1\n"
"Generated-By: Babel 2.13.1\n"
#. CONSTANT_NAMES['NO_SUBGROUPING']
@@ -282,11 +283,11 @@ msgstr ""
#: searx/engines/radio_browser.py:107
msgid "votes"
-msgstr ""
+msgstr "balsai"
#: searx/engines/radio_browser.py:108
msgid "clicks"
-msgstr ""
+msgstr "paspaudimai"
#: searx/engines/seekr.py:194 searx/engines/zlibrary.py:129
msgid "Language"
@@ -521,7 +522,7 @@ msgstr "Aš patvirtinu, kad nera jokių esamų"
#: searx/templates/simple/new_issue.html:71
msgid "If this is a public instance, please specify the URL in the bug report"
-msgstr ""
+msgstr "Jei tai yra vieša, prašome nurodyti URL bugų pranešime"
#: searx/templates/simple/new_issue.html:72
msgid "Submit a new issue on Github including the above information"
@@ -539,11 +540,11 @@ msgstr "Peržiūrėkite klaidų žurnalus ir pateikite klaidų ataskaitą"
#: searx/templates/simple/preferences.html:74
msgid "!bang for this engine"
-msgstr ""
+msgstr "!bang šiam varikliui"
#: searx/templates/simple/preferences.html:80
msgid "!bang for its categories"
-msgstr ""
+msgstr "!bang šiom kategorijom"
#: searx/templates/simple/preferences.html:102
#: searx/templates/simple/stats.html:64
@@ -740,7 +741,7 @@ msgstr "Atsisiųsti rezultatus"
#: searx/templates/simple/elements/engines_msg.html:7
msgid "Messages from the search engines"
-msgstr ""
+msgstr "Pranešimai iš paieškos sistemų"
#: searx/templates/simple/elements/engines_msg.html:12
msgid "Error!"
@@ -756,11 +757,11 @@ msgstr "Paieškos URL"
#: searx/templates/simple/elements/search_url.html:4
msgid "Copied"
-msgstr ""
+msgstr "Nukopijuota"
#: searx/templates/simple/elements/search_url.html:4
msgid "Copy"
-msgstr ""
+msgstr "Kopijuoti"
#: searx/templates/simple/elements/suggestions.html:3
msgid "Suggestions"
@@ -779,7 +780,7 @@ msgstr "Numatytoji kalba"
#: searx/templates/simple/filters/languages.html:4
#: searx/templates/simple/preferences/language.html:11
msgid "Auto-detect"
-msgstr ""
+msgstr "Automatiškai aptikti"
#: searx/templates/simple/filters/safesearch.html:1
#: searx/templates/simple/filters/safesearch.html:2
@@ -844,11 +845,11 @@ msgstr "Atleiskite!"
#: searx/templates/simple/messages/no_results.html:4
msgid "No results were found. You can try to:"
-msgstr ""
+msgstr "Nieko nebuvo rasta. Galite bandyti:"
#: searx/templates/simple/messages/no_results.html:6
msgid "Refresh the page."
-msgstr ""
+msgstr "Atnaujinti puslapį"
#: searx/templates/simple/messages/no_results.html:7
msgid "Search for another query or select another category (above)."
@@ -1663,4 +1664,3 @@ msgstr "slėpti vaizdo įrašą"
#~ "mes neradome jokių rezultatų. Naudokite "
#~ "kitokią užklausą arba ieškokite kitose "
#~ "kategorijose."
-
diff --git a/searx/translations/pt_BR/LC_MESSAGES/messages.mo b/searx/translations/pt_BR/LC_MESSAGES/messages.mo
index 172d12741..59b3c5d05 100644
Binary files a/searx/translations/pt_BR/LC_MESSAGES/messages.mo and b/searx/translations/pt_BR/LC_MESSAGES/messages.mo differ
diff --git a/searx/translations/pt_BR/LC_MESSAGES/messages.po b/searx/translations/pt_BR/LC_MESSAGES/messages.po
index e34aa56c2..b88144d9f 100644
--- a/searx/translations/pt_BR/LC_MESSAGES/messages.po
+++ b/searx/translations/pt_BR/LC_MESSAGES/messages.po
@@ -23,18 +23,19 @@
# Coccocoas_Helper , 2023.
msgid ""
msgstr ""
-"Project-Id-Version: searx\n"
+"Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2023-11-11 15:25+0000\n"
-"PO-Revision-Date: 2023-10-06 07:07+0000\n"
+"PO-Revision-Date: 2023-11-21 07:13+0000\n"
"Last-Translator: return42 \n"
+"Language-Team: Portuguese (Brazil) \n"
"Language: pt_BR\n"
-"Language-Team: Portuguese (Brazil) "
-"\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 5.1\n"
"Generated-By: Babel 2.13.1\n"
#. CONSTANT_NAMES['NO_SUBGROUPING']
@@ -772,11 +773,11 @@ msgstr "Buscar URL"
#: searx/templates/simple/elements/search_url.html:4
msgid "Copied"
-msgstr ""
+msgstr "Copiado"
#: searx/templates/simple/elements/search_url.html:4
msgid "Copy"
-msgstr ""
+msgstr "Copiar"
#: searx/templates/simple/elements/suggestions.html:3
msgid "Suggestions"
@@ -1719,4 +1720,3 @@ msgstr "ocultar vídeo"
#~ "Não encontramos nenhum resultado. Utilize "
#~ "outra consulta ou pesquisa em mais "
#~ "categorias."
-
diff --git a/searx/translations/ro/LC_MESSAGES/messages.mo b/searx/translations/ro/LC_MESSAGES/messages.mo
index 5b68143f1..dbafb823c 100644
Binary files a/searx/translations/ro/LC_MESSAGES/messages.mo and b/searx/translations/ro/LC_MESSAGES/messages.mo differ
diff --git a/searx/translations/ro/LC_MESSAGES/messages.po b/searx/translations/ro/LC_MESSAGES/messages.po
index 55c4565e6..76bf22847 100644
--- a/searx/translations/ro/LC_MESSAGES/messages.po
+++ b/searx/translations/ro/LC_MESSAGES/messages.po
@@ -15,19 +15,20 @@
# microsoftocsharp , 2023.
msgid ""
msgstr ""
-"Project-Id-Version: searx\n"
+"Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2023-11-11 15:25+0000\n"
-"PO-Revision-Date: 2023-11-05 21:47+0000\n"
-"Last-Translator: return42 \n"
+"PO-Revision-Date: 2023-11-21 07:13+0000\n"
+"Last-Translator: alextecplayz \n"
+"Language-Team: Romanian \n"
"Language: ro\n"
-"Language-Team: Romanian "
-"\n"
-"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 "
-"< 20)) ? 1 : 2;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
+"20)) ? 1 : 2;\n"
+"X-Generator: Weblate 5.1\n"
"Generated-By: Babel 2.13.1\n"
#. CONSTANT_NAMES['NO_SUBGROUPING']
@@ -123,7 +124,7 @@ msgstr "î&r"
#. CATEGORY_GROUPS['REPOS']
#: searx/searxng.msg
msgid "repos"
-msgstr "arhive digitale"
+msgstr "repozitorii"
#. CATEGORY_GROUPS['SOFTWARE_WIKIS']
#: searx/searxng.msg
@@ -766,11 +767,11 @@ msgstr "URL de căutare"
#: searx/templates/simple/elements/search_url.html:4
msgid "Copied"
-msgstr ""
+msgstr "Copiat"
#: searx/templates/simple/elements/search_url.html:4
msgid "Copy"
-msgstr ""
+msgstr "Copiați"
#: searx/templates/simple/elements/suggestions.html:3
msgid "Suggestions"
@@ -1703,4 +1704,3 @@ msgstr "ascunde video"
#~ "n-am găsit nici un rezultat. Folosiți"
#~ " o altă interogare sau căutați în "
#~ "mai multe categorii."
-
diff --git a/searx/translations/ru/LC_MESSAGES/messages.mo b/searx/translations/ru/LC_MESSAGES/messages.mo
index 7c1ac3610..06d604229 100644
Binary files a/searx/translations/ru/LC_MESSAGES/messages.mo and b/searx/translations/ru/LC_MESSAGES/messages.mo differ
diff --git a/searx/translations/ru/LC_MESSAGES/messages.po b/searx/translations/ru/LC_MESSAGES/messages.po
index 976a9d323..d76067159 100644
--- a/searx/translations/ru/LC_MESSAGES/messages.po
+++ b/searx/translations/ru/LC_MESSAGES/messages.po
@@ -16,13 +16,14 @@
# BalkanMadman , 2023.
# AHOHNMYC , 2023.
# return42 , 2023.
+# 0que <0que@users.noreply.translate.codeberg.org>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2023-11-11 15:25+0000\n"
-"PO-Revision-Date: 2023-11-17 07:07+0000\n"
-"Last-Translator: return42 \n"
+"PO-Revision-Date: 2023-11-23 06:13+0000\n"
+"Last-Translator: 0que <0que@users.noreply.translate.codeberg.org>\n"
"Language-Team: Russian \n"
"Language: ru\n"
@@ -103,7 +104,7 @@ msgstr "Наука"
#. CATEGORY_GROUPS['APPS']
#: searx/searxng.msg
msgid "apps"
-msgstr "Программы"
+msgstr "Приложения"
#. CATEGORY_GROUPS['DICTIONARIES']
#: searx/searxng.msg
@@ -187,7 +188,7 @@ msgstr "ошибка поиска"
#: searx/webutils.py:34
msgid "timeout"
-msgstr "таймаут"
+msgstr "истекло время ожидания"
#: searx/webutils.py:35
msgid "parsing error"
@@ -199,11 +200,11 @@ msgstr "ошибка протокола HTTP"
#: searx/webutils.py:37
msgid "network error"
-msgstr "сетевая ошибка"
+msgstr "ошибка сети"
#: searx/webutils.py:38
msgid "SSL error: certificate validation has failed"
-msgstr "ошибка SSL: отсутствует действительность сертификата"
+msgstr "ошибка SSL: проверка сертификата провалена"
#: searx/webutils.py:40
msgid "unexpected crash"
@@ -243,7 +244,7 @@ msgstr "Приостановлено"
#: searx/webutils.py:317
msgid "{minutes} minute(s) ago"
-msgstr "{minutes} минут(а) назад"
+msgstr "{minutes} минут(-у) назад"
#: searx/webutils.py:318
msgid "{hours} hour(s), {minutes} minute(s) ago"
@@ -392,8 +393,8 @@ 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/tor_check.py:25
msgid "Tor check plugin"
@@ -462,7 +463,7 @@ msgstr "Настройки"
#: searx/templates/simple/base.html:67
msgid "Powered by"
-msgstr "Основано на"
+msgstr "Работает на"
#: searx/templates/simple/base.html:67
msgid "a privacy-respecting, open metasearch engine"
@@ -747,7 +748,7 @@ msgstr "Комментарии"
#: searx/templates/simple/elements/apis.html:3
msgid "Download results"
-msgstr "Загрузить результаты"
+msgstr "Скачать результаты"
#: searx/templates/simple/elements/engines_msg.html:7
msgid "Messages from the search engines"
@@ -767,7 +768,7 @@ msgstr "Ссылка поиска"
#: searx/templates/simple/elements/search_url.html:4
msgid "Copied"
-msgstr "Копирование"
+msgstr "Скопировано"
#: searx/templates/simple/elements/search_url.html:4
msgid "Copy"
@@ -851,7 +852,7 @@ msgstr "в данный момент cookie-файлы не определены
#: searx/templates/simple/messages/no_results.html:3
msgid "Sorry!"
-msgstr "Грусть-печаль!"
+msgstr "Извините!"
#: searx/templates/simple/messages/no_results.html:4
msgid "No results were found. You can try to:"
@@ -904,7 +905,7 @@ msgstr "Список плагинов."
#: searx/templates/simple/preferences/autocomplete.html:2
msgid "Autocomplete"
-msgstr "Подсказки"
+msgstr "Автодополнение"
#: searx/templates/simple/preferences/autocomplete.html:15
msgid "Find stuff as you type"
@@ -988,7 +989,7 @@ msgstr "Поддерживает выбранный язык"
#: searx/templates/simple/preferences/engines.html:23
msgid "Weight"
-msgstr "Вес/масса"
+msgstr "Вес"
#: searx/templates/simple/preferences/engines.html:27
msgid "Max time"
diff --git a/searx/translations/si/LC_MESSAGES/messages.mo b/searx/translations/si/LC_MESSAGES/messages.mo
index 83e3be424..3cfe51638 100644
Binary files a/searx/translations/si/LC_MESSAGES/messages.mo and b/searx/translations/si/LC_MESSAGES/messages.mo differ
diff --git a/searx/translations/si/LC_MESSAGES/messages.po b/searx/translations/si/LC_MESSAGES/messages.po
index f2e8f34ec..07fdf26cd 100644
--- a/searx/translations/si/LC_MESSAGES/messages.po
+++ b/searx/translations/si/LC_MESSAGES/messages.po
@@ -10,21 +10,22 @@ msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2023-11-11 15:25+0000\n"
-"PO-Revision-Date: 2023-06-02 07:07+0000\n"
+"PO-Revision-Date: 2023-11-23 06:13+0000\n"
"Last-Translator: return42 \n"
+"Language-Team: Sinhala \n"
"Language: si\n"
-"Language-Team: Sinhala "
-"\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 5.1\n"
"Generated-By: Babel 2.13.1\n"
#. CONSTANT_NAMES['NO_SUBGROUPING']
#: searx/searxng.msg
msgid "without further subgrouping"
-msgstr ""
+msgstr "තවදුරටත් උප සමූහයකින් තොරව"
#. CONSTANT_NAMES['DEFAULT_CATEGORY']
#: searx/searxng.msg
@@ -99,7 +100,7 @@ msgstr "ශබ්දකෝෂ"
#. CATEGORY_GROUPS['LYRICS']
#: searx/searxng.msg
msgid "lyrics"
-msgstr ""
+msgstr "ගී පද"
#. CATEGORY_GROUPS['PACKAGES']
#: searx/searxng.msg
@@ -119,7 +120,7 @@ msgstr "ගබඩා"
#. CATEGORY_GROUPS['SOFTWARE_WIKIS']
#: searx/searxng.msg
msgid "software wikis"
-msgstr ""
+msgstr "මෘදුකාංග විකි"
#. CATEGORY_GROUPS['WEB']
#: searx/searxng.msg
@@ -1339,4 +1340,3 @@ msgstr ""
#~ "use another query or search in "
#~ "more categories."
#~ msgstr ""
-
diff --git a/searx/translations/tr/LC_MESSAGES/messages.mo b/searx/translations/tr/LC_MESSAGES/messages.mo
index 25877fed8..12ce7a757 100644
Binary files a/searx/translations/tr/LC_MESSAGES/messages.mo and b/searx/translations/tr/LC_MESSAGES/messages.mo differ
diff --git a/searx/translations/tr/LC_MESSAGES/messages.po b/searx/translations/tr/LC_MESSAGES/messages.po
index eddba0b01..fdfd7b667 100644
--- a/searx/translations/tr/LC_MESSAGES/messages.po
+++ b/searx/translations/tr/LC_MESSAGES/messages.po
@@ -16,18 +16,19 @@
# plawlost , 2023.
msgid ""
msgstr ""
-"Project-Id-Version: searx\n"
+"Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2023-11-11 15:25+0000\n"
-"PO-Revision-Date: 2023-10-17 13:53+0000\n"
+"PO-Revision-Date: 2023-11-21 07:13+0000\n"
"Last-Translator: return42 \n"
+"Language-Team: Turkish \n"
"Language: tr\n"
-"Language-Team: Turkish "
-"\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 5.1\n"
"Generated-By: Babel 2.13.1\n"
#. CONSTANT_NAMES['NO_SUBGROUPING']
@@ -766,11 +767,11 @@ msgstr "Arama URL'si"
#: searx/templates/simple/elements/search_url.html:4
msgid "Copied"
-msgstr ""
+msgstr "kopyalandı"
#: searx/templates/simple/elements/search_url.html:4
msgid "Copy"
-msgstr ""
+msgstr "kopyala"
#: searx/templates/simple/elements/suggestions.html:3
msgid "Suggestions"
@@ -1694,4 +1695,3 @@ msgstr "görüntüyü gizle"
#~ "herhangi bir sonuç bulamadık. Lütfen, "
#~ "başka bir sorgu kullanın veya daha "
#~ "fazla kategoride arama yapın."
-