mirror of
https://github.com/searxng/searxng.git
synced 2026-09-14 18:26:04 +00:00
Compare commits
12 Commits
51403f9b58
...
bb64231355
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bb64231355 | ||
|
|
84c3a832a4 | ||
|
|
802bf4f9e7 | ||
|
|
6b16a04e7e | ||
|
|
b01d32d69d | ||
|
|
f7c8e4c353 | ||
|
|
42f102ce1b | ||
|
|
5cbf422621 | ||
|
|
b95a3e905d | ||
|
|
be392a45fc | ||
|
|
ff2e0ea278 | ||
|
|
22c6cd4121 |
@@ -51,8 +51,7 @@ ENV SEARXNG_VERSION="$SEARXNG_GIT_VERSION" \
|
|||||||
GRANIAN_LOOP="uvloop" \
|
GRANIAN_LOOP="uvloop" \
|
||||||
GRANIAN_BLOCKING_THREADS="4" \
|
GRANIAN_BLOCKING_THREADS="4" \
|
||||||
GRANIAN_WORKERS_KILL_TIMEOUT="30" \
|
GRANIAN_WORKERS_KILL_TIMEOUT="30" \
|
||||||
GRANIAN_BLOCKING_THREADS_IDLE_TIMEOUT="300" \
|
GRANIAN_BLOCKING_THREADS_IDLE_TIMEOUT="300"
|
||||||
GRANIAN_STATIC_PATH_MOUNT="/usr/local/searxng/searx/static/"
|
|
||||||
|
|
||||||
VOLUME $CONFIG_PATH
|
VOLUME $CONFIG_PATH
|
||||||
VOLUME $DATA_PATH
|
VOLUME $DATA_PATH
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
certifi==2025.7.9
|
certifi==2025.7.14
|
||||||
babel==2.17.0
|
babel==2.17.0
|
||||||
flask-babel==4.0.0
|
flask-babel==4.0.0
|
||||||
flask==3.1.1
|
flask==3.1.1
|
||||||
@@ -19,3 +19,4 @@ tomli==2.2.1; python_version < '3.11'
|
|||||||
msgspec==0.19.0
|
msgspec==0.19.0
|
||||||
typer-slim==0.16.0
|
typer-slim==0.16.0
|
||||||
isodate==0.7.2
|
isodate==0.7.2
|
||||||
|
whitenoise==6.9.0
|
||||||
|
|||||||
@@ -10,9 +10,8 @@ import re
|
|||||||
from collections.abc import Iterator
|
from collections.abc import Iterator
|
||||||
from urllib.parse import urlparse, urlunparse, parse_qsl, urlencode
|
from urllib.parse import urlparse, urlunparse, parse_qsl, urlencode
|
||||||
|
|
||||||
import httpx
|
|
||||||
|
|
||||||
from searx.data.core import get_cache, log
|
from searx.data.core import get_cache, log
|
||||||
|
from searx.network import get as http_get
|
||||||
|
|
||||||
RuleType = tuple[str, list[str], list[str]]
|
RuleType = tuple[str, list[str], list[str]]
|
||||||
|
|
||||||
@@ -44,7 +43,7 @@ class TrackerPatternsDB:
|
|||||||
self.cache.properties.set("tracker_patterns loaded", "OK")
|
self.cache.properties.set("tracker_patterns loaded", "OK")
|
||||||
self.load()
|
self.load()
|
||||||
# F I X M E:
|
# F I X M E:
|
||||||
# do we need a maintenance .. rember: database is stored
|
# do we need a maintenance .. remember: database is stored
|
||||||
# in /tmp and will be rebuild during the reboot anyway
|
# in /tmp and will be rebuild during the reboot anyway
|
||||||
|
|
||||||
def load(self):
|
def load(self):
|
||||||
@@ -71,7 +70,7 @@ class TrackerPatternsDB:
|
|||||||
def iter_clear_list(self) -> Iterator[RuleType]:
|
def iter_clear_list(self) -> Iterator[RuleType]:
|
||||||
resp = None
|
resp = None
|
||||||
for url in self.CLEAR_LIST_URL:
|
for url in self.CLEAR_LIST_URL:
|
||||||
resp = httpx.get(url, timeout=3)
|
resp = http_get(url, timeout=3)
|
||||||
if resp.status_code == 200:
|
if resp.status_code == 200:
|
||||||
break
|
break
|
||||||
log.warning(f"TRACKER_PATTERNS: ClearURL ignore HTTP {resp.status_code} {url}")
|
log.warning(f"TRACKER_PATTERNS: ClearURL ignore HTTP {resp.status_code} {url}")
|
||||||
|
|||||||
@@ -1,11 +1,10 @@
|
|||||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
"""Wordnik (general)
|
"""Wordnik (general)"""
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
from lxml.html import fromstring
|
from lxml.html import fromstring
|
||||||
from searx.utils import extract_text
|
from searx.utils import extract_text
|
||||||
from searx.network import raise_for_httperror
|
|
||||||
|
from searx.result_types import EngineResults
|
||||||
|
|
||||||
# about
|
# about
|
||||||
about = {
|
about = {
|
||||||
@@ -17,7 +16,7 @@ about = {
|
|||||||
"results": 'HTML',
|
"results": 'HTML',
|
||||||
}
|
}
|
||||||
|
|
||||||
categories = ['general']
|
categories = ['dictionaries', 'define']
|
||||||
paging = False
|
paging = False
|
||||||
|
|
||||||
|
|
||||||
@@ -27,46 +26,23 @@ def request(query, params):
|
|||||||
|
|
||||||
|
|
||||||
def response(resp):
|
def response(resp):
|
||||||
results = []
|
results = EngineResults()
|
||||||
|
|
||||||
raise_for_httperror(resp)
|
|
||||||
dom = fromstring(resp.text)
|
dom = fromstring(resp.text)
|
||||||
word = extract_text(dom.xpath('//*[@id="headword"]/text()'))
|
|
||||||
|
|
||||||
definitions = []
|
|
||||||
for src in dom.xpath('//*[@id="define"]//h3[@class="source"]'):
|
for src in dom.xpath('//*[@id="define"]//h3[@class="source"]'):
|
||||||
src_text = extract_text(src).strip()
|
item = results.types.Translations.Item(text="")
|
||||||
if src_text.startswith('from '):
|
|
||||||
src_text = src_text[5:]
|
|
||||||
|
|
||||||
src_defs = []
|
|
||||||
for def_item in src.xpath('following-sibling::ul[1]/li'):
|
for def_item in src.xpath('following-sibling::ul[1]/li'):
|
||||||
def_abbr = extract_text(def_item.xpath('.//abbr')).strip()
|
def_abbr = extract_text(def_item.xpath('.//abbr')).strip()
|
||||||
def_text = extract_text(def_item).strip()
|
def_text = extract_text(def_item).strip()
|
||||||
if def_abbr:
|
if def_abbr:
|
||||||
def_text = def_text[len(def_abbr) :].strip()
|
def_text = def_text[len(def_abbr) :].strip()
|
||||||
src_defs.append((def_abbr, def_text))
|
|
||||||
|
|
||||||
definitions.append((src_text, src_defs))
|
# use first result as summary
|
||||||
|
if not item.text:
|
||||||
|
item.text = def_text
|
||||||
|
item.definitions.append(def_text)
|
||||||
|
|
||||||
if not definitions:
|
results.add(results.types.Translations(translations=[item], url=resp.search_params["url"]))
|
||||||
return results
|
|
||||||
|
|
||||||
infobox = ''
|
|
||||||
for src_text, src_defs in definitions:
|
|
||||||
infobox += f"<small>{src_text}</small>"
|
|
||||||
infobox += "<ul>"
|
|
||||||
for def_abbr, def_text in src_defs:
|
|
||||||
if def_abbr:
|
|
||||||
def_abbr += ": "
|
|
||||||
infobox += f"<li><i>{def_abbr}</i> {def_text}</li>"
|
|
||||||
infobox += "</ul>"
|
|
||||||
|
|
||||||
results.append(
|
|
||||||
{
|
|
||||||
'infobox': word,
|
|
||||||
'content': infobox,
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
return results
|
return results
|
||||||
|
|||||||
@@ -2494,8 +2494,7 @@ engines:
|
|||||||
|
|
||||||
- name: wordnik
|
- name: wordnik
|
||||||
engine: wordnik
|
engine: wordnik
|
||||||
shortcut: def
|
shortcut: wnik
|
||||||
categories: [dictionaries]
|
|
||||||
timeout: 5.0
|
timeout: 5.0
|
||||||
|
|
||||||
- name: woxikon.de synonyme
|
- name: woxikon.de synonyme
|
||||||
|
|||||||
@@ -150,7 +150,7 @@ SCHEMA = {
|
|||||||
'new_issue_url': SettingsValue(str, 'https://github.com/searxng/searxng/issues/new'),
|
'new_issue_url': SettingsValue(str, 'https://github.com/searxng/searxng/issues/new'),
|
||||||
'docs_url': SettingsValue(str, 'https://docs.searxng.org'),
|
'docs_url': SettingsValue(str, 'https://docs.searxng.org'),
|
||||||
'public_instances': SettingsValue((False, str), 'https://searx.space'),
|
'public_instances': SettingsValue((False, str), 'https://searx.space'),
|
||||||
'wiki_url': SettingsValue(str, 'https://github.com/searxng/searxng/wiki'),
|
'wiki_url': SettingsValue((False, str), 'https://github.com/searxng/searxng/wiki'),
|
||||||
'custom': SettingsValue(dict, {'links': {}}),
|
'custom': SettingsValue(dict, {'links': {}}),
|
||||||
},
|
},
|
||||||
'search': {
|
'search': {
|
||||||
|
|||||||
Binary file not shown.
@@ -24,20 +24,22 @@
|
|||||||
# akwceles <akwceles@users.noreply.translate.codeberg.org>, 2025.
|
# akwceles <akwceles@users.noreply.translate.codeberg.org>, 2025.
|
||||||
# dansmachina <dansmachina@noreply.codeberg.org>, 2025.
|
# dansmachina <dansmachina@noreply.codeberg.org>, 2025.
|
||||||
# return42 <return42@noreply.codeberg.org>, 2025.
|
# return42 <return42@noreply.codeberg.org>, 2025.
|
||||||
|
# eudemo <eudemo@noreply.codeberg.org>, 2025.
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: searx\n"
|
"Project-Id-Version: searx\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2025-07-03 14:46+0000\n"
|
"POT-Creation-Date: 2025-07-03 14:46+0000\n"
|
||||||
"PO-Revision-Date: 2025-06-22 17:06+0000\n"
|
"PO-Revision-Date: 2025-07-24 15:15+0000\n"
|
||||||
"Last-Translator: return42 <return42@noreply.codeberg.org>\n"
|
"Last-Translator: eudemo <eudemo@noreply.codeberg.org>\n"
|
||||||
|
"Language-Team: Catalan <https://translate.codeberg.org/projects/searxng/"
|
||||||
|
"searxng/ca/>\n"
|
||||||
"Language: ca\n"
|
"Language: ca\n"
|
||||||
"Language-Team: Catalan "
|
|
||||||
"<https://translate.codeberg.org/projects/searxng/searxng/ca/>\n"
|
|
||||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=utf-8\n"
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
|
"X-Generator: Weblate 5.12.2\n"
|
||||||
"Generated-By: Babel 2.17.0\n"
|
"Generated-By: Babel 2.17.0\n"
|
||||||
|
|
||||||
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
||||||
@@ -296,7 +298,7 @@ msgstr "Cel buidat"
|
|||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Partly cloudy"
|
msgid "Partly cloudy"
|
||||||
msgstr ""
|
msgstr "Parcialment ennuvolat"
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
@@ -316,42 +318,42 @@ msgstr "Boira"
|
|||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Light rain and thunder"
|
msgid "Light rain and thunder"
|
||||||
msgstr ""
|
msgstr "Pluja lleugera i trons"
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Light rain showers and thunder"
|
msgid "Light rain showers and thunder"
|
||||||
msgstr ""
|
msgstr "Ruixats lleugers i trons"
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Light rain showers"
|
msgid "Light rain showers"
|
||||||
msgstr ""
|
msgstr "Ruixats lleugers"
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Light rain"
|
msgid "Light rain"
|
||||||
msgstr ""
|
msgstr "Pluja lleugera"
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Rain and thunder"
|
msgid "Rain and thunder"
|
||||||
msgstr ""
|
msgstr "Tempesta"
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Rain showers and thunder"
|
msgid "Rain showers and thunder"
|
||||||
msgstr ""
|
msgstr "Ruixats i trons"
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Rain showers"
|
msgid "Rain showers"
|
||||||
msgstr ""
|
msgstr "Ruixats"
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Rain"
|
msgid "Rain"
|
||||||
msgstr ""
|
msgstr "Pluja"
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
@@ -396,7 +398,7 @@ msgstr ""
|
|||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Sleet and thunder"
|
msgid "Sleet and thunder"
|
||||||
msgstr ""
|
msgstr "Calamarsa i trons"
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
@@ -411,7 +413,7 @@ msgstr ""
|
|||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Sleet"
|
msgid "Sleet"
|
||||||
msgstr ""
|
msgstr "Calamarsa"
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
@@ -471,7 +473,7 @@ msgstr ""
|
|||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Snow"
|
msgid "Snow"
|
||||||
msgstr ""
|
msgstr "Neu"
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
@@ -2367,4 +2369,3 @@ msgstr "oculta el vídeo"
|
|||||||
|
|
||||||
#~ msgid "Change SearXNG layout"
|
#~ msgid "Change SearXNG layout"
|
||||||
#~ msgstr "Canvia l'aparença de SearXNG"
|
#~ msgstr "Canvia l'aparença de SearXNG"
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
@@ -28,16 +28,17 @@ msgstr ""
|
|||||||
"Project-Id-Version: searx\n"
|
"Project-Id-Version: searx\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2025-07-03 14:46+0000\n"
|
"POT-Creation-Date: 2025-07-03 14:46+0000\n"
|
||||||
"PO-Revision-Date: 2025-06-28 09:58+0000\n"
|
"PO-Revision-Date: 2025-07-22 10:57+0000\n"
|
||||||
"Last-Translator: Fjuro <git@alius.cz>\n"
|
"Last-Translator: Fjuro <fjuro@alius.cz>\n"
|
||||||
|
"Language-Team: Czech <https://translate.codeberg.org/projects/searxng/"
|
||||||
|
"searxng/cs/>\n"
|
||||||
"Language: cs\n"
|
"Language: cs\n"
|
||||||
"Language-Team: Czech "
|
|
||||||
"<https://translate.codeberg.org/projects/searxng/searxng/cs/>\n"
|
|
||||||
"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && "
|
|
||||||
"n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"
|
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=utf-8\n"
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n "
|
||||||
|
"<= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"
|
||||||
|
"X-Generator: Weblate 5.12.2\n"
|
||||||
"Generated-By: Babel 2.17.0\n"
|
"Generated-By: Babel 2.17.0\n"
|
||||||
|
|
||||||
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
||||||
@@ -828,7 +829,7 @@ msgstr "Nepoužíváte Tor a máte externí IP adresu"
|
|||||||
|
|
||||||
#: searx/plugins/tracker_url_remover.py:35
|
#: searx/plugins/tracker_url_remover.py:35
|
||||||
msgid "Tracker URL remover"
|
msgid "Tracker URL remover"
|
||||||
msgstr "Odstraňovač sledovacích URL"
|
msgstr "Odstranit sledovací URL"
|
||||||
|
|
||||||
#: searx/plugins/tracker_url_remover.py:36
|
#: searx/plugins/tracker_url_remover.py:36
|
||||||
msgid "Remove trackers arguments from the returned URL"
|
msgid "Remove trackers arguments from the returned URL"
|
||||||
@@ -927,7 +928,7 @@ msgstr "archivovaná verze"
|
|||||||
|
|
||||||
#: searx/templates/simple/new_issue.html:64
|
#: searx/templates/simple/new_issue.html:64
|
||||||
msgid "Start submitting a new issue on GitHub"
|
msgid "Start submitting a new issue on GitHub"
|
||||||
msgstr "Začněte přidávat novou chybu na Githubu"
|
msgstr "Přidat nový problém na GitHub"
|
||||||
|
|
||||||
#: searx/templates/simple/new_issue.html:66
|
#: searx/templates/simple/new_issue.html:66
|
||||||
msgid "Please check for existing bugs about this engine on GitHub"
|
msgid "Please check for existing bugs about this engine on GitHub"
|
||||||
@@ -941,11 +942,11 @@ msgstr ""
|
|||||||
|
|
||||||
#: searx/templates/simple/new_issue.html:71
|
#: searx/templates/simple/new_issue.html:71
|
||||||
msgid "If this is a public instance, please specify the URL in the bug report"
|
msgid "If this is a public instance, please specify the URL in the bug report"
|
||||||
msgstr "Pokud je tohle veřejná instance, prosím specifikujte URL v náhlášení chyby"
|
msgstr "Pokud je toto veřejná instance, uveďte prosím URL v náhlášení chyby"
|
||||||
|
|
||||||
#: searx/templates/simple/new_issue.html:72
|
#: searx/templates/simple/new_issue.html:72
|
||||||
msgid "Submit a new issue on Github including the above information"
|
msgid "Submit a new issue on Github including the above information"
|
||||||
msgstr "Odeslání nového problému na Github včetně výše uvedených informací"
|
msgstr "Odeslat nový problém na GitHub včetně výše uvedených informací"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:65
|
#: searx/templates/simple/preferences.html:65
|
||||||
msgid "No HTTPS"
|
msgid "No HTTPS"
|
||||||
@@ -1245,7 +1246,7 @@ msgstr "Vypnuto"
|
|||||||
#: searx/templates/simple/filters/time_range.html:1
|
#: searx/templates/simple/filters/time_range.html:1
|
||||||
#: searx/templates/simple/preferences/engines.html:28
|
#: searx/templates/simple/preferences/engines.html:28
|
||||||
msgid "Time range"
|
msgid "Time range"
|
||||||
msgstr "Čásový interval"
|
msgstr "Časový interval"
|
||||||
|
|
||||||
#: searx/templates/simple/filters/time_range.html:3
|
#: searx/templates/simple/filters/time_range.html:3
|
||||||
msgid "Anytime"
|
msgid "Anytime"
|
||||||
@@ -2366,4 +2367,3 @@ msgstr "skrýt video"
|
|||||||
|
|
||||||
#~ msgid "Change SearXNG layout"
|
#~ msgid "Change SearXNG layout"
|
||||||
#~ msgstr "Změnit vzhled SearXNG"
|
#~ msgstr "Změnit vzhled SearXNG"
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
@@ -21,15 +21,16 @@ msgstr ""
|
|||||||
"Project-Id-Version: searx\n"
|
"Project-Id-Version: searx\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2025-07-03 14:46+0000\n"
|
"POT-Creation-Date: 2025-07-03 14:46+0000\n"
|
||||||
"PO-Revision-Date: 2025-06-26 02:46+0000\n"
|
"PO-Revision-Date: 2025-07-19 08:08+0000\n"
|
||||||
"Last-Translator: Priit Jõerüüt <jrtcdbrg@noreply.codeberg.org>\n"
|
"Last-Translator: Priit Jõerüüt <jrtcdbrg@noreply.codeberg.org>\n"
|
||||||
|
"Language-Team: Estonian <https://translate.codeberg.org/projects/searxng/"
|
||||||
|
"searxng/et/>\n"
|
||||||
"Language: et\n"
|
"Language: et\n"
|
||||||
"Language-Team: Estonian "
|
|
||||||
"<https://translate.codeberg.org/projects/searxng/searxng/et/>\n"
|
|
||||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=utf-8\n"
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
|
"X-Generator: Weblate 5.12.2\n"
|
||||||
"Generated-By: Babel 2.17.0\n"
|
"Generated-By: Babel 2.17.0\n"
|
||||||
|
|
||||||
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
||||||
@@ -1571,7 +1572,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: searx/templates/simple/preferences/theme.html:2
|
#: searx/templates/simple/preferences/theme.html:2
|
||||||
msgid "Theme"
|
msgid "Theme"
|
||||||
msgstr "Teema"
|
msgstr "Kujundus"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences/theme.html:14
|
#: searx/templates/simple/preferences/theme.html:14
|
||||||
msgid "Change the layout of SearXNG"
|
msgid "Change the layout of SearXNG"
|
||||||
@@ -2351,4 +2352,3 @@ msgstr "peida video"
|
|||||||
|
|
||||||
#~ msgid "Change SearXNG layout"
|
#~ msgid "Change SearXNG layout"
|
||||||
#~ msgstr "Muuda SearXNG paigutust"
|
#~ msgstr "Muuda SearXNG paigutust"
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
@@ -21,15 +21,16 @@ msgstr ""
|
|||||||
"Project-Id-Version: searx\n"
|
"Project-Id-Version: searx\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2025-07-03 14:46+0000\n"
|
"POT-Creation-Date: 2025-07-03 14:46+0000\n"
|
||||||
"PO-Revision-Date: 2025-06-22 17:06+0000\n"
|
"PO-Revision-Date: 2025-07-21 15:53+0000\n"
|
||||||
"Last-Translator: return42 <return42@noreply.codeberg.org>\n"
|
"Last-Translator: alexgabi <alexgabi@noreply.codeberg.org>\n"
|
||||||
|
"Language-Team: Basque <https://translate.codeberg.org/projects/searxng/"
|
||||||
|
"searxng/eu/>\n"
|
||||||
"Language: eu\n"
|
"Language: eu\n"
|
||||||
"Language-Team: Basque "
|
|
||||||
"<https://translate.codeberg.org/projects/searxng/searxng/eu/>\n"
|
|
||||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=utf-8\n"
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
|
"X-Generator: Weblate 5.12.2\n"
|
||||||
"Generated-By: Babel 2.17.0\n"
|
"Generated-By: Babel 2.17.0\n"
|
||||||
|
|
||||||
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
||||||
@@ -288,7 +289,7 @@ msgstr "Oskarbi"
|
|||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Partly cloudy"
|
msgid "Partly cloudy"
|
||||||
msgstr ""
|
msgstr "Ostarteak"
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
@@ -308,42 +309,42 @@ msgstr "Lainoa"
|
|||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Light rain and thunder"
|
msgid "Light rain and thunder"
|
||||||
msgstr ""
|
msgstr "Euri arina eta trumoiak"
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Light rain showers and thunder"
|
msgid "Light rain showers and thunder"
|
||||||
msgstr ""
|
msgstr "Euri zaparrada arinak eta trumoiak"
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Light rain showers"
|
msgid "Light rain showers"
|
||||||
msgstr ""
|
msgstr "Euri zaparrada arinak"
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Light rain"
|
msgid "Light rain"
|
||||||
msgstr ""
|
msgstr "Euri arina"
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Rain and thunder"
|
msgid "Rain and thunder"
|
||||||
msgstr ""
|
msgstr "Euria eta trumoiak"
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Rain showers and thunder"
|
msgid "Rain showers and thunder"
|
||||||
msgstr ""
|
msgstr "Zaparradak eta trumoiak"
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Rain showers"
|
msgid "Rain showers"
|
||||||
msgstr ""
|
msgstr "Euri zaparradak"
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Rain"
|
msgid "Rain"
|
||||||
msgstr ""
|
msgstr "Euria"
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
@@ -368,22 +369,22 @@ msgstr "Euri trinkoa"
|
|||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Light sleet and thunder"
|
msgid "Light sleet and thunder"
|
||||||
msgstr ""
|
msgstr "Elurbusti arina eta trumoiak"
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Light sleet showers and thunder"
|
msgid "Light sleet showers and thunder"
|
||||||
msgstr ""
|
msgstr "Elurbusti arineko zaparradak eta trumoiak"
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Light sleet showers"
|
msgid "Light sleet showers"
|
||||||
msgstr ""
|
msgstr "Elurbusti arineko zaparradak"
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Light sleet"
|
msgid "Light sleet"
|
||||||
msgstr ""
|
msgstr "Elurbusti arina"
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
@@ -2336,4 +2337,3 @@ msgstr "ezkutatu bideoa"
|
|||||||
|
|
||||||
#~ msgid "Change SearXNG layout"
|
#~ msgid "Change SearXNG layout"
|
||||||
#~ msgstr "Aldatu SearXNGren diseinua"
|
#~ msgstr "Aldatu SearXNGren diseinua"
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
@@ -41,13 +41,14 @@
|
|||||||
# wags07 <wags07@noreply.codeberg.org>, 2025.
|
# wags07 <wags07@noreply.codeberg.org>, 2025.
|
||||||
# demilune <demilune@noreply.codeberg.org>, 2025.
|
# demilune <demilune@noreply.codeberg.org>, 2025.
|
||||||
# Hēphaistos <hephaistos@noreply.codeberg.org>, 2025.
|
# Hēphaistos <hephaistos@noreply.codeberg.org>, 2025.
|
||||||
|
# ledjfou <ledjfou@noreply.codeberg.org>, 2025.
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: searx\n"
|
"Project-Id-Version: searx\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2025-07-03 14:46+0000\n"
|
"POT-Creation-Date: 2025-07-03 14:46+0000\n"
|
||||||
"PO-Revision-Date: 2025-07-13 23:08+0000\n"
|
"PO-Revision-Date: 2025-07-20 14:08+0000\n"
|
||||||
"Last-Translator: Hēphaistos <hephaistos@noreply.codeberg.org>\n"
|
"Last-Translator: ledjfou <ledjfou@noreply.codeberg.org>\n"
|
||||||
"Language-Team: French <https://translate.codeberg.org/projects/searxng/"
|
"Language-Team: French <https://translate.codeberg.org/projects/searxng/"
|
||||||
"searxng/fr/>\n"
|
"searxng/fr/>\n"
|
||||||
"Language: fr\n"
|
"Language: fr\n"
|
||||||
@@ -787,6 +788,8 @@ msgstr "Module de noms d’hôtes"
|
|||||||
#: searx/plugins/hostnames.py:124
|
#: searx/plugins/hostnames.py:124
|
||||||
msgid "Rewrite hostnames and remove or prioritize results based on the hostname"
|
msgid "Rewrite hostnames and remove or prioritize results based on the hostname"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Personnalisez vos résultats en redirigeant les liens et en filtrant les "
|
||||||
|
"sites affichés"
|
||||||
|
|
||||||
#: searx/plugins/oa_doi_rewrite.py:55
|
#: searx/plugins/oa_doi_rewrite.py:55
|
||||||
msgid "Open Access DOI rewrite"
|
msgid "Open Access DOI rewrite"
|
||||||
@@ -1397,7 +1400,6 @@ msgid "Value"
|
|||||||
msgstr "Valeur"
|
msgstr "Valeur"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences/cookies.html:23
|
#: searx/templates/simple/preferences/cookies.html:23
|
||||||
#, fuzzy
|
|
||||||
msgid "Search URL of the currently saved preferences"
|
msgid "Search URL of the currently saved preferences"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"URL de recherche définie selon les préférences actuellement sauvegardées"
|
"URL de recherche définie selon les préférences actuellement sauvegardées"
|
||||||
@@ -1535,7 +1537,7 @@ msgstr "Proxy d'images"
|
|||||||
|
|
||||||
#: searx/templates/simple/preferences/image_proxy.html:14
|
#: searx/templates/simple/preferences/image_proxy.html:14
|
||||||
msgid "Proxy image results through SearXNG"
|
msgid "Proxy image results through SearXNG"
|
||||||
msgstr ""
|
msgstr "Résultats des images proxy via SearXNG"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences/infinite_scroll.html:2
|
#: searx/templates/simple/preferences/infinite_scroll.html:2
|
||||||
msgid "Infinite scroll"
|
msgid "Infinite scroll"
|
||||||
|
|||||||
Binary file not shown.
@@ -49,8 +49,8 @@ msgstr ""
|
|||||||
"Project-Id-Version: searx\n"
|
"Project-Id-Version: searx\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2025-07-03 14:46+0000\n"
|
"POT-Creation-Date: 2025-07-03 14:46+0000\n"
|
||||||
"PO-Revision-Date: 2025-07-16 06:08+0000\n"
|
"PO-Revision-Date: 2025-07-22 10:57+0000\n"
|
||||||
"Last-Translator: Juno Takano <jutty@noreply.codeberg.org>\n"
|
"Last-Translator: \"lucasmz.dev\" <lucasmz.dev@noreply.codeberg.org>\n"
|
||||||
"Language-Team: Portuguese (Brazil) <https://translate.codeberg.org/projects/"
|
"Language-Team: Portuguese (Brazil) <https://translate.codeberg.org/projects/"
|
||||||
"searxng/searxng/pt_BR/>\n"
|
"searxng/searxng/pt_BR/>\n"
|
||||||
"Language: pt_BR\n"
|
"Language: pt_BR\n"
|
||||||
@@ -362,12 +362,12 @@ msgstr "Chuva com trovões"
|
|||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Rain showers and thunder"
|
msgid "Rain showers and thunder"
|
||||||
msgstr "Chuva contínua com trovões"
|
msgstr "Chuva rápida com trovões"
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Rain showers"
|
msgid "Rain showers"
|
||||||
msgstr "Chuva contínua"
|
msgstr "Chuva rápida"
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
@@ -382,12 +382,12 @@ msgstr "Chuva intensa com trovões"
|
|||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Heavy rain showers and thunder"
|
msgid "Heavy rain showers and thunder"
|
||||||
msgstr "Chuva intensa contínua com trovões"
|
msgstr "Chuva rápida e intensa com trovões"
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Heavy rain showers"
|
msgid "Heavy rain showers"
|
||||||
msgstr "Chuva intensa contínua"
|
msgstr "Chuva rápida e intensa"
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
@@ -402,12 +402,12 @@ msgstr "Granizo leve com trovões"
|
|||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Light sleet showers and thunder"
|
msgid "Light sleet showers and thunder"
|
||||||
msgstr "Granizo leve contínuo com trovões"
|
msgstr "Granizo leve e rápido com trovões"
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Light sleet showers"
|
msgid "Light sleet showers"
|
||||||
msgstr "Granizo leve contínuo"
|
msgstr "Granizo leve e rápido"
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
@@ -422,12 +422,12 @@ msgstr "Granizo com trovões"
|
|||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Sleet showers and thunder"
|
msgid "Sleet showers and thunder"
|
||||||
msgstr "Granizo contínuo com trovões"
|
msgstr "Granizo rápido com trovões"
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Sleet showers"
|
msgid "Sleet showers"
|
||||||
msgstr "Granizo contínuo"
|
msgstr "Granizo rápido"
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
@@ -442,12 +442,12 @@ msgstr "Granizo intenso com trovões"
|
|||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Heavy sleet showers and thunder"
|
msgid "Heavy sleet showers and thunder"
|
||||||
msgstr "Granizo intenso contínuo com trovões"
|
msgstr "Granizo pesado rápido com trovões"
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Heavy sleet showers"
|
msgid "Heavy sleet showers"
|
||||||
msgstr "Granizo intenso contínuo"
|
msgstr "Chuvas rápidas e intensas de granizo"
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
@@ -462,12 +462,12 @@ msgstr "Neve fraca com trovões"
|
|||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Light snow showers and thunder"
|
msgid "Light snow showers and thunder"
|
||||||
msgstr "Neve fraca contínua com trovões"
|
msgstr "Neve fraca e rápida com trovões"
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Light snow showers"
|
msgid "Light snow showers"
|
||||||
msgstr "Neve fraca contínua"
|
msgstr "Neve fraca e rápida"
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
@@ -482,12 +482,12 @@ msgstr "Neve com trovões"
|
|||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Snow showers and thunder"
|
msgid "Snow showers and thunder"
|
||||||
msgstr "Neve contínua com trovões"
|
msgstr "Neve rápida com trovões"
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Snow showers"
|
msgid "Snow showers"
|
||||||
msgstr "Neve contínua"
|
msgstr "Neve rápida"
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
@@ -502,12 +502,12 @@ msgstr "Neve pesada com trovões"
|
|||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Heavy snow showers and thunder"
|
msgid "Heavy snow showers and thunder"
|
||||||
msgstr "Neve intensa contínua com trovões"
|
msgstr "Neve intensa rápida com trovões"
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Heavy snow showers"
|
msgid "Heavy snow showers"
|
||||||
msgstr "Neve intensa contínua"
|
msgstr "Neve intensa rápida"
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
@@ -1107,7 +1107,7 @@ msgstr "Tempo de resposta"
|
|||||||
#: searx/templates/simple/preferences/engines.html:35
|
#: searx/templates/simple/preferences/engines.html:35
|
||||||
#: searx/templates/simple/stats.html:29
|
#: searx/templates/simple/stats.html:29
|
||||||
msgid "Reliability"
|
msgid "Reliability"
|
||||||
msgstr "Consistência"
|
msgstr "Confiabilidade"
|
||||||
|
|
||||||
#: searx/templates/simple/stats.html:59
|
#: searx/templates/simple/stats.html:59
|
||||||
msgid "Total"
|
msgid "Total"
|
||||||
|
|||||||
Binary file not shown.
@@ -30,22 +30,25 @@
|
|||||||
# return42 <return42@noreply.codeberg.org>, 2025.
|
# return42 <return42@noreply.codeberg.org>, 2025.
|
||||||
# yurtpage <yurtpage@noreply.codeberg.org>, 2025.
|
# yurtpage <yurtpage@noreply.codeberg.org>, 2025.
|
||||||
# kotovasia <kotovasia@noreply.codeberg.org>, 2025.
|
# kotovasia <kotovasia@noreply.codeberg.org>, 2025.
|
||||||
|
# IcewindX <icewindx@noreply.codeberg.org>, 2025.
|
||||||
|
# 0ko <0ko@noreply.codeberg.org>, 2025.
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: searx\n"
|
"Project-Id-Version: searx\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2025-07-03 14:46+0000\n"
|
"POT-Creation-Date: 2025-07-03 14:46+0000\n"
|
||||||
"PO-Revision-Date: 2025-07-03 10:26+0000\n"
|
"PO-Revision-Date: 2025-07-23 11:09+0000\n"
|
||||||
"Last-Translator: return42 <return42@noreply.codeberg.org>\n"
|
"Last-Translator: IcewindX <icewindx@noreply.codeberg.org>\n"
|
||||||
|
"Language-Team: Russian <https://translate.codeberg.org/projects/searxng/"
|
||||||
|
"searxng/ru/>\n"
|
||||||
"Language: ru\n"
|
"Language: ru\n"
|
||||||
"Language-Team: Russian "
|
|
||||||
"<https://translate.codeberg.org/projects/searxng/searxng/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"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=utf-8\n"
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\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 5.12.2\n"
|
||||||
"Generated-By: Babel 2.17.0\n"
|
"Generated-By: Babel 2.17.0\n"
|
||||||
|
|
||||||
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
||||||
@@ -577,7 +580,7 @@ msgstr "Не удалось загрузить следующую страниц
|
|||||||
|
|
||||||
#: searx/webapp.py:447 searx/webapp.py:845
|
#: searx/webapp.py:447 searx/webapp.py:845
|
||||||
msgid "Invalid settings, please edit your preferences"
|
msgid "Invalid settings, please edit your preferences"
|
||||||
msgstr "Неправильные параметры, пожалуйста измените ваши настройки"
|
msgstr "Неправильные параметры, пожалуйста, измените ваши настройки"
|
||||||
|
|
||||||
#: searx/webapp.py:463
|
#: searx/webapp.py:463
|
||||||
msgid "Invalid settings"
|
msgid "Invalid settings"
|
||||||
@@ -711,7 +714,7 @@ msgid ""
|
|||||||
"format. TinEye only supports images that are JPEG, PNG, GIF, BMP, TIFF or"
|
"format. TinEye only supports images that are JPEG, PNG, GIF, BMP, TIFF or"
|
||||||
" WebP."
|
" WebP."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Не удалось прочитать изображение по ссылки. Возможно это вызвано "
|
"Не удалось прочитать изображение по ссылке. Возможно это вызвано "
|
||||||
"неподдерживаемым форматом файла. TinEye поддерживает только следующие "
|
"неподдерживаемым форматом файла. TinEye поддерживает только следующие "
|
||||||
"форматы: JPEG, PNG, GIF, BMP, TIFF or WebP."
|
"форматы: JPEG, PNG, GIF, BMP, TIFF or WebP."
|
||||||
|
|
||||||
@@ -807,7 +810,7 @@ msgstr "Ваш IP-адрес: "
|
|||||||
|
|
||||||
#: searx/plugins/self_info.py:55
|
#: searx/plugins/self_info.py:55
|
||||||
msgid "Your user-agent is: "
|
msgid "Your user-agent is: "
|
||||||
msgstr "Ваш обозреватель: "
|
msgstr "Ваш браузер: "
|
||||||
|
|
||||||
#: searx/plugins/tor_check.py:42
|
#: searx/plugins/tor_check.py:42
|
||||||
msgid "Tor check plugin"
|
msgid "Tor check plugin"
|
||||||
@@ -828,7 +831,7 @@ msgstr "Не удалось загрузить список выходных у
|
|||||||
|
|
||||||
#: searx/plugins/tor_check.py:72
|
#: searx/plugins/tor_check.py:72
|
||||||
msgid "You are using Tor and it looks like you have the external IP address"
|
msgid "You are using Tor and it looks like you have the external IP address"
|
||||||
msgstr "Вы используете Tor и кажется что у вас есть внешний айпи адрес"
|
msgstr "Вы используете Tor и кажется что у вас есть внешний IP-адрес"
|
||||||
|
|
||||||
#: searx/plugins/tor_check.py:76
|
#: searx/plugins/tor_check.py:76
|
||||||
msgid "You are not using Tor and you have the external IP address"
|
msgid "You are not using Tor and you have the external IP address"
|
||||||
@@ -939,7 +942,7 @@ msgstr "Создайте задачу на GitHub"
|
|||||||
|
|
||||||
#: searx/templates/simple/new_issue.html:66
|
#: searx/templates/simple/new_issue.html:66
|
||||||
msgid "Please check for existing bugs about this engine on GitHub"
|
msgid "Please check for existing bugs about this engine on GitHub"
|
||||||
msgstr "Пожалуйста проверьте ныне существующие ошибки этого движка на GitHub"
|
msgstr "Пожалуйста, проверьте ныне существующие ошибки этого движка на GitHub"
|
||||||
|
|
||||||
#: searx/templates/simple/new_issue.html:69
|
#: searx/templates/simple/new_issue.html:69
|
||||||
msgid "I confirm there is no existing bug about the issue I encounter"
|
msgid "I confirm there is no existing bug about the issue I encounter"
|
||||||
@@ -1193,7 +1196,7 @@ msgstr "Сообщения от поисковых систем"
|
|||||||
|
|
||||||
#: searx/templates/simple/elements/engines_msg.html:7
|
#: searx/templates/simple/elements/engines_msg.html:7
|
||||||
msgid "seconds"
|
msgid "seconds"
|
||||||
msgstr "секунды"
|
msgstr "сек."
|
||||||
|
|
||||||
#: searx/templates/simple/elements/search_url.html:3
|
#: searx/templates/simple/elements/search_url.html:3
|
||||||
msgid "Search URL"
|
msgid "Search URL"
|
||||||
@@ -1250,7 +1253,7 @@ msgstr "Умеренный"
|
|||||||
#: searx/templates/simple/filters/safesearch.html:4
|
#: searx/templates/simple/filters/safesearch.html:4
|
||||||
#: searx/templates/simple/preferences/safesearch.html:15
|
#: searx/templates/simple/preferences/safesearch.html:15
|
||||||
msgid "None"
|
msgid "None"
|
||||||
msgstr "Нету"
|
msgstr "Нет"
|
||||||
|
|
||||||
#: searx/templates/simple/filters/time_range.html:1
|
#: searx/templates/simple/filters/time_range.html:1
|
||||||
#: searx/templates/simple/preferences/engines.html:28
|
#: searx/templates/simple/preferences/engines.html:28
|
||||||
@@ -1361,13 +1364,13 @@ msgstr "Выравнивание по центру"
|
|||||||
|
|
||||||
#: searx/templates/simple/preferences/center_alignment.html:14
|
#: searx/templates/simple/preferences/center_alignment.html:14
|
||||||
msgid "Display results in the center of the page (Oscar layout)."
|
msgid "Display results in the center of the page (Oscar layout)."
|
||||||
msgstr "Отображать результаты в центре страницы."
|
msgstr "Отображать результаты по центру страницы."
|
||||||
|
|
||||||
#: searx/templates/simple/preferences/cookies.html:2
|
#: searx/templates/simple/preferences/cookies.html:2
|
||||||
msgid ""
|
msgid ""
|
||||||
"This is the list of cookies and their values SearXNG is storing on your "
|
"This is the list of cookies and their values SearXNG is storing on your "
|
||||||
"computer."
|
"computer."
|
||||||
msgstr "Список cookies и их значений, которые SearXNG хранит в вашем обозревателе."
|
msgstr "Список cookies и их значений, которые SearXNG хранит в вашем браузере."
|
||||||
|
|
||||||
#: searx/templates/simple/preferences/cookies.html:3
|
#: searx/templates/simple/preferences/cookies.html:3
|
||||||
msgid "With this list, you can assess the transparency of SearXNG."
|
msgid "With this list, you can assess the transparency of SearXNG."
|
||||||
@@ -1395,7 +1398,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: searx/templates/simple/preferences/cookies.html:35
|
#: searx/templates/simple/preferences/cookies.html:35
|
||||||
msgid "URL to restore your preferences in another browser"
|
msgid "URL to restore your preferences in another browser"
|
||||||
msgstr "URL-адрес для восстановления ваших настроек в другом обозревателе"
|
msgstr "URL-адрес для восстановления ваших настроек в другом браузере"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences/cookies.html:43
|
#: searx/templates/simple/preferences/cookies.html:43
|
||||||
msgid ""
|
msgid ""
|
||||||
@@ -1520,7 +1523,7 @@ msgstr "Прокси для картинок"
|
|||||||
|
|
||||||
#: searx/templates/simple/preferences/image_proxy.html:14
|
#: searx/templates/simple/preferences/image_proxy.html:14
|
||||||
msgid "Proxy image results through SearXNG"
|
msgid "Proxy image results through SearXNG"
|
||||||
msgstr "Результаты прокси-изображения через SearXNG"
|
msgstr "Проксировать найденные изображения через SearXNG"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences/infinite_scroll.html:2
|
#: searx/templates/simple/preferences/infinite_scroll.html:2
|
||||||
msgid "Infinite scroll"
|
msgid "Infinite scroll"
|
||||||
@@ -1561,8 +1564,8 @@ msgid ""
|
|||||||
"When enabled, the result page's title contains your query. Your browser "
|
"When enabled, the result page's title contains your query. Your browser "
|
||||||
"can record this title"
|
"can record this title"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Добавить поисковый запрос в заголовок страницы с результатами. "
|
"Добавить поисковый запрос в заголовок страницы с результатами. Ваш браузер "
|
||||||
"Обозреватель может сохранять этот заголовок"
|
"может сохранять этот заголовок"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences/results_on_new_tab.html:2
|
#: searx/templates/simple/preferences/results_on_new_tab.html:2
|
||||||
msgid "Results in new tabs"
|
msgid "Results in new tabs"
|
||||||
@@ -1570,7 +1573,7 @@ msgstr "Результаты в новых вкладках"
|
|||||||
|
|
||||||
#: searx/templates/simple/preferences/results_on_new_tab.html:14
|
#: searx/templates/simple/preferences/results_on_new_tab.html:14
|
||||||
msgid "Open result links in new browser tabs"
|
msgid "Open result links in new browser tabs"
|
||||||
msgstr "Открывать результаты с ссылками в новых вкладках обозревателя"
|
msgstr "Открывать результаты с ссылками в новых вкладках браузера"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences/safesearch.html:20
|
#: searx/templates/simple/preferences/safesearch.html:20
|
||||||
msgid "Filter content"
|
msgid "Filter content"
|
||||||
@@ -1594,7 +1597,7 @@ msgstr "Тема"
|
|||||||
|
|
||||||
#: searx/templates/simple/preferences/theme.html:14
|
#: searx/templates/simple/preferences/theme.html:14
|
||||||
msgid "Change the layout of SearXNG"
|
msgid "Change the layout of SearXNG"
|
||||||
msgstr "Изменить макет SearXNG"
|
msgstr "Изменить раскладку интерфейса SearXNG"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences/theme.html:19
|
#: searx/templates/simple/preferences/theme.html:19
|
||||||
msgid "Theme style"
|
msgid "Theme style"
|
||||||
@@ -1602,7 +1605,7 @@ msgstr "Стиль темы"
|
|||||||
|
|
||||||
#: searx/templates/simple/preferences/theme.html:31
|
#: searx/templates/simple/preferences/theme.html:31
|
||||||
msgid "Choose auto to follow your browser settings"
|
msgid "Choose auto to follow your browser settings"
|
||||||
msgstr "Выберите «автоматически» для использования настроек вашего обозревателя"
|
msgstr "Выберите «автоматически» для использования настроек вашего браузера"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences/tokens.html:2
|
#: searx/templates/simple/preferences/tokens.html:2
|
||||||
msgid "Engine tokens"
|
msgid "Engine tokens"
|
||||||
@@ -2390,4 +2393,3 @@ msgstr "скрыть видео"
|
|||||||
|
|
||||||
#~ msgid "Change SearXNG layout"
|
#~ msgid "Change SearXNG layout"
|
||||||
#~ msgstr "Изменить расположение элементов SearXNG"
|
#~ msgstr "Изменить расположение элементов SearXNG"
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
@@ -29,13 +29,14 @@
|
|||||||
# return42 <return42@noreply.codeberg.org>, 2025.
|
# return42 <return42@noreply.codeberg.org>, 2025.
|
||||||
# AhmetHakki1 <ahmethakki1@noreply.codeberg.org>, 2025.
|
# AhmetHakki1 <ahmethakki1@noreply.codeberg.org>, 2025.
|
||||||
# Cookie_Monster <cookie_monster@noreply.codeberg.org>, 2025.
|
# Cookie_Monster <cookie_monster@noreply.codeberg.org>, 2025.
|
||||||
|
# zbbhzdaajc <zbbhzdaajc@noreply.codeberg.org>, 2025.
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: searx\n"
|
"Project-Id-Version: searx\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2025-07-03 14:46+0000\n"
|
"POT-Creation-Date: 2025-07-03 14:46+0000\n"
|
||||||
"PO-Revision-Date: 2025-07-15 05:18+0000\n"
|
"PO-Revision-Date: 2025-07-19 08:08+0000\n"
|
||||||
"Last-Translator: Cookie_Monster <cookie_monster@noreply.codeberg.org>\n"
|
"Last-Translator: zbbhzdaajc <zbbhzdaajc@noreply.codeberg.org>\n"
|
||||||
"Language-Team: Turkish <https://translate.codeberg.org/projects/searxng/"
|
"Language-Team: Turkish <https://translate.codeberg.org/projects/searxng/"
|
||||||
"searxng/tr/>\n"
|
"searxng/tr/>\n"
|
||||||
"Language: tr\n"
|
"Language: tr\n"
|
||||||
@@ -477,7 +478,7 @@ msgstr ""
|
|||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Snow"
|
msgid "Snow"
|
||||||
msgstr ""
|
msgstr "Kar"
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
|
|||||||
@@ -1,18 +1,19 @@
|
|||||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
# pylint: disable=,missing-module-docstring,missing-class-docstring
|
# pylint: disable=,missing-module-docstring,missing-class-docstring
|
||||||
|
|
||||||
|
import importlib
|
||||||
|
import logging
|
||||||
import os
|
import os
|
||||||
import shlex
|
import shlex
|
||||||
import subprocess
|
import subprocess
|
||||||
import logging
|
|
||||||
import importlib
|
|
||||||
|
|
||||||
# fallback values
|
# fallback values
|
||||||
# if there is searx.version_frozen module, and it is not possible to get the git tag
|
# if there is searx.version_frozen module, and it is not possible to get the git tag
|
||||||
VERSION_STRING = "1.0.0"
|
VERSION_STRING = "1.0.0"
|
||||||
VERSION_TAG = "1.0.0"
|
VERSION_TAG = "1.0.0"
|
||||||
GIT_URL = "unknow"
|
DOCKER_TAG = "1.0.0"
|
||||||
GIT_BRANCH = "unknow"
|
GIT_URL = "unknown"
|
||||||
|
GIT_BRANCH = "unknown"
|
||||||
|
|
||||||
logger = logging.getLogger("searx")
|
logger = logging.getLogger("searx")
|
||||||
|
|
||||||
@@ -69,6 +70,7 @@ def get_git_version():
|
|||||||
# which depended on the git version: '2023.05.06+..' --> '2023.5.6+..'
|
# which depended on the git version: '2023.05.06+..' --> '2023.5.6+..'
|
||||||
git_commit_date_hash = git_commit_date_hash.replace('.0', '.')
|
git_commit_date_hash = git_commit_date_hash.replace('.0', '.')
|
||||||
tag_version = git_version = git_commit_date_hash
|
tag_version = git_version = git_commit_date_hash
|
||||||
|
docker_tag = git_commit_date_hash.replace("+", "-")
|
||||||
|
|
||||||
# add "+dirty" suffix if there are uncommitted changes except searx/settings.yml
|
# add "+dirty" suffix if there are uncommitted changes except searx/settings.yml
|
||||||
try:
|
try:
|
||||||
@@ -78,10 +80,29 @@ def get_git_version():
|
|||||||
git_version += "+dirty"
|
git_version += "+dirty"
|
||||||
else:
|
else:
|
||||||
logger.warning('"%s" returns an unexpected return code %i', e.returncode, e.cmd)
|
logger.warning('"%s" returns an unexpected return code %i', e.returncode, e.cmd)
|
||||||
docker_tag = git_version.replace("+", "-")
|
|
||||||
return git_version, tag_version, docker_tag
|
return git_version, tag_version, docker_tag
|
||||||
|
|
||||||
|
|
||||||
|
def get_information():
|
||||||
|
version_string = VERSION_STRING
|
||||||
|
version_tag = VERSION_TAG
|
||||||
|
docker_tag = DOCKER_TAG
|
||||||
|
git_url = GIT_URL
|
||||||
|
git_branch = GIT_BRANCH
|
||||||
|
|
||||||
|
try:
|
||||||
|
version_string, version_tag, docker_tag = get_git_version()
|
||||||
|
except subprocess.CalledProcessError as ex:
|
||||||
|
logger.error("Error while getting the version: %s", ex.stderr)
|
||||||
|
try:
|
||||||
|
git_url, git_branch = get_git_url_and_branch()
|
||||||
|
except subprocess.CalledProcessError as ex:
|
||||||
|
logger.error("Error while getting the git URL & branch: %s", ex.stderr)
|
||||||
|
|
||||||
|
return version_string, version_tag, docker_tag, git_url, git_branch
|
||||||
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
vf = importlib.import_module('searx.version_frozen')
|
vf = importlib.import_module('searx.version_frozen')
|
||||||
VERSION_STRING, VERSION_TAG, DOCKER_TAG, GIT_URL, GIT_BRANCH = (
|
VERSION_STRING, VERSION_TAG, DOCKER_TAG, GIT_URL, GIT_BRANCH = (
|
||||||
@@ -92,18 +113,7 @@ try:
|
|||||||
vf.GIT_BRANCH,
|
vf.GIT_BRANCH,
|
||||||
)
|
)
|
||||||
except ImportError:
|
except ImportError:
|
||||||
try:
|
VERSION_STRING, VERSION_TAG, DOCKER_TAG, GIT_URL, GIT_BRANCH = get_information()
|
||||||
try:
|
|
||||||
VERSION_STRING, VERSION_TAG, DOCKER_TAG = get_git_version()
|
|
||||||
except subprocess.CalledProcessError as ex:
|
|
||||||
logger.error("Error while getting the version: %s", ex.stderr)
|
|
||||||
try:
|
|
||||||
GIT_URL, GIT_BRANCH = get_git_url_and_branch()
|
|
||||||
except subprocess.CalledProcessError as ex:
|
|
||||||
logger.error("Error while getting the git URL & branch: %s", ex.stderr)
|
|
||||||
except FileNotFoundError as ex:
|
|
||||||
logger.error("%s is not found, fallback to the default version", ex.filename)
|
|
||||||
|
|
||||||
|
|
||||||
logger.info("version: %s", VERSION_STRING)
|
logger.info("version: %s", VERSION_STRING)
|
||||||
|
|
||||||
@@ -111,6 +121,8 @@ if __name__ == "__main__":
|
|||||||
import sys
|
import sys
|
||||||
|
|
||||||
if len(sys.argv) >= 2 and sys.argv[1] == "freeze":
|
if len(sys.argv) >= 2 and sys.argv[1] == "freeze":
|
||||||
|
VERSION_STRING, VERSION_TAG, DOCKER_TAG, GIT_URL, GIT_BRANCH = get_information()
|
||||||
|
|
||||||
# freeze the version (to create an archive outside a git repository)
|
# freeze the version (to create an archive outside a git repository)
|
||||||
python_code = f"""# SPDX-License-Identifier: AGPL-3.0-or-later
|
python_code = f"""# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
# pylint: disable=missing-module-docstring
|
# pylint: disable=missing-module-docstring
|
||||||
|
|||||||
@@ -30,6 +30,9 @@ from pygments.formatters import HtmlFormatter # pylint: disable=no-name-in-modu
|
|||||||
|
|
||||||
from werkzeug.serving import is_running_from_reloader
|
from werkzeug.serving import is_running_from_reloader
|
||||||
|
|
||||||
|
from whitenoise import WhiteNoise
|
||||||
|
from whitenoise.base import Headers
|
||||||
|
|
||||||
import flask
|
import flask
|
||||||
|
|
||||||
from flask import (
|
from flask import (
|
||||||
@@ -147,7 +150,7 @@ STATS_SORT_PARAMETERS = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# Flask app
|
# Flask app
|
||||||
app = Flask(__name__, static_folder=settings['ui']['static_path'], template_folder=templates_path)
|
app = Flask(__name__, static_folder=None, template_folder=templates_path)
|
||||||
|
|
||||||
app.jinja_env.trim_blocks = True
|
app.jinja_env.trim_blocks = True
|
||||||
app.jinja_env.lstrip_blocks = True
|
app.jinja_env.lstrip_blocks = True
|
||||||
@@ -245,6 +248,7 @@ def custom_url_for(endpoint: str, **values):
|
|||||||
if not _STATIC_FILES:
|
if not _STATIC_FILES:
|
||||||
_STATIC_FILES = webutils.get_static_file_list()
|
_STATIC_FILES = webutils.get_static_file_list()
|
||||||
|
|
||||||
|
# handled by WhiteNoise
|
||||||
if endpoint == "static" and values.get("filename"):
|
if endpoint == "static" and values.get("filename"):
|
||||||
|
|
||||||
# We need to verify the "filename" argument: in the jinja templates
|
# We need to verify the "filename" argument: in the jinja templates
|
||||||
@@ -257,9 +261,11 @@ def custom_url_for(endpoint: str, **values):
|
|||||||
if arg_filename not in _STATIC_FILES:
|
if arg_filename not in _STATIC_FILES:
|
||||||
# try file in the current theme
|
# try file in the current theme
|
||||||
theme_name = sxng_request.preferences.get_value("theme")
|
theme_name = sxng_request.preferences.get_value("theme")
|
||||||
arg_filename = f"themes/{theme_name}/{arg_filename}"
|
theme_filename = f"themes/{theme_name}/{arg_filename}"
|
||||||
if arg_filename in _STATIC_FILES:
|
if theme_filename in _STATIC_FILES:
|
||||||
values["filename"] = arg_filename
|
values["filename"] = theme_filename
|
||||||
|
|
||||||
|
return f"static/{values['filename']}"
|
||||||
|
|
||||||
if endpoint == "info" and "locale" not in values:
|
if endpoint == "info" and "locale" not in values:
|
||||||
|
|
||||||
@@ -1424,8 +1430,27 @@ def init():
|
|||||||
favicons.init()
|
favicons.init()
|
||||||
|
|
||||||
|
|
||||||
application = app
|
def static_headers(headers: Headers, _path: str, _url: str) -> None:
|
||||||
|
headers['Cache-Control'] = 'public, max-age=30, stale-while-revalidate=60'
|
||||||
|
|
||||||
|
for header, value in settings['server']['default_http_headers'].items():
|
||||||
|
headers[header] = value
|
||||||
|
|
||||||
|
|
||||||
|
app.wsgi_app = WhiteNoise(
|
||||||
|
app.wsgi_app,
|
||||||
|
root=settings['ui']['static_path'],
|
||||||
|
prefix="static",
|
||||||
|
max_age=None,
|
||||||
|
allow_all_origins=False,
|
||||||
|
add_headers_function=static_headers,
|
||||||
|
)
|
||||||
|
|
||||||
patch_application(app)
|
patch_application(app)
|
||||||
|
|
||||||
|
# remove when we drop support for uwsgi
|
||||||
|
application = app
|
||||||
|
|
||||||
init()
|
init()
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
|||||||
@@ -8,10 +8,10 @@ from :py:obj:`BANGS_URL`.
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
import json
|
import json
|
||||||
import httpx
|
|
||||||
|
|
||||||
from searx.external_bang import LEAF_KEY
|
from searx.external_bang import LEAF_KEY
|
||||||
from searx.data import data_dir
|
from searx.data import data_dir
|
||||||
|
from searx.network import get as http_get
|
||||||
|
|
||||||
DATA_FILE = data_dir / 'external_bangs.json'
|
DATA_FILE = data_dir / 'external_bangs.json'
|
||||||
|
|
||||||
@@ -24,7 +24,7 @@ HTTP_COLON = 'http:'
|
|||||||
|
|
||||||
def main():
|
def main():
|
||||||
print(f'fetch bangs from {BANGS_URL}')
|
print(f'fetch bangs from {BANGS_URL}')
|
||||||
response = httpx.get(BANGS_URL)
|
response = http_get(BANGS_URL)
|
||||||
response.raise_for_status()
|
response.raise_for_status()
|
||||||
ddg_bangs = json.loads(response.content.decode())
|
ddg_bangs = json.loads(response.content.decode())
|
||||||
trie = parse_ddg_bangs(ddg_bangs)
|
trie = parse_ddg_bangs(ddg_bangs)
|
||||||
|
|||||||
@@ -75,7 +75,4 @@ pythonpath = ${SEARXNG_SRC}
|
|||||||
http = ${SEARXNG_INTERNAL_HTTP}
|
http = ${SEARXNG_INTERNAL_HTTP}
|
||||||
buffer-size = 8192
|
buffer-size = 8192
|
||||||
|
|
||||||
# To serve the static files via the WSGI server
|
|
||||||
static-map = /static=${SEARXNG_STATIC}
|
|
||||||
static-gzip-all = True
|
|
||||||
offload-threads = %k
|
offload-threads = %k
|
||||||
|
|||||||
@@ -72,7 +72,4 @@ pythonpath = ${SEARXNG_SRC}
|
|||||||
socket = ${SEARXNG_UWSGI_SOCKET}
|
socket = ${SEARXNG_UWSGI_SOCKET}
|
||||||
buffer-size = 8192
|
buffer-size = 8192
|
||||||
|
|
||||||
# To serve the static files via the WSGI server
|
|
||||||
static-map = /static=${SEARXNG_STATIC}
|
|
||||||
static-gzip-all = True
|
|
||||||
offload-threads = %k
|
offload-threads = %k
|
||||||
|
|||||||
@@ -78,7 +78,4 @@ pythonpath = ${SEARXNG_SRC}
|
|||||||
http = ${SEARXNG_INTERNAL_HTTP}
|
http = ${SEARXNG_INTERNAL_HTTP}
|
||||||
buffer-size = 8192
|
buffer-size = 8192
|
||||||
|
|
||||||
# To serve the static files via the WSGI server
|
|
||||||
static-map = /static=${SEARXNG_STATIC}
|
|
||||||
static-gzip-all = True
|
|
||||||
offload-threads = %k
|
offload-threads = %k
|
||||||
|
|||||||
@@ -75,7 +75,4 @@ pythonpath = ${SEARXNG_SRC}
|
|||||||
socket = ${SEARXNG_UWSGI_SOCKET}
|
socket = ${SEARXNG_UWSGI_SOCKET}
|
||||||
buffer-size = 8192
|
buffer-size = 8192
|
||||||
|
|
||||||
# To serve the static files via the WSGI server
|
|
||||||
static-map = /static=${SEARXNG_STATIC}
|
|
||||||
static-gzip-all = True
|
|
||||||
offload-threads = %k
|
offload-threads = %k
|
||||||
|
|||||||
Reference in New Issue
Block a user