mirror of
https://github.com/searxng/searxng.git
synced 2026-09-14 18:26:04 +00:00
Compare commits
1 Commits
bb64231355
...
51403f9b58
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
51403f9b58 |
@@ -51,7 +51,8 @@ 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.14
|
certifi==2025.7.9
|
||||||
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,4 +19,3 @@ 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,8 +10,9 @@ 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]]
|
||||||
|
|
||||||
@@ -43,7 +44,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 .. remember: database is stored
|
# do we need a maintenance .. rember: 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):
|
||||||
@@ -70,7 +71,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 = http_get(url, timeout=3)
|
resp = httpx.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,10 +1,11 @@
|
|||||||
# 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 = {
|
||||||
@@ -16,7 +17,7 @@ about = {
|
|||||||
"results": 'HTML',
|
"results": 'HTML',
|
||||||
}
|
}
|
||||||
|
|
||||||
categories = ['dictionaries', 'define']
|
categories = ['general']
|
||||||
paging = False
|
paging = False
|
||||||
|
|
||||||
|
|
||||||
@@ -26,23 +27,46 @@ def request(query, params):
|
|||||||
|
|
||||||
|
|
||||||
def response(resp):
|
def response(resp):
|
||||||
results = EngineResults()
|
results = []
|
||||||
|
|
||||||
|
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"]'):
|
||||||
item = results.types.Translations.Item(text="")
|
src_text = extract_text(src).strip()
|
||||||
|
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))
|
||||||
|
|
||||||
# use first result as summary
|
definitions.append((src_text, src_defs))
|
||||||
if not item.text:
|
|
||||||
item.text = def_text
|
|
||||||
item.definitions.append(def_text)
|
|
||||||
|
|
||||||
results.add(results.types.Translations(translations=[item], url=resp.search_params["url"]))
|
if not definitions:
|
||||||
|
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,7 +2494,8 @@ engines:
|
|||||||
|
|
||||||
- name: wordnik
|
- name: wordnik
|
||||||
engine: wordnik
|
engine: wordnik
|
||||||
shortcut: wnik
|
shortcut: def
|
||||||
|
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((False, str), 'https://github.com/searxng/searxng/wiki'),
|
'wiki_url': SettingsValue(str, 'https://github.com/searxng/searxng/wiki'),
|
||||||
'custom': SettingsValue(dict, {'links': {}}),
|
'custom': SettingsValue(dict, {'links': {}}),
|
||||||
},
|
},
|
||||||
'search': {
|
'search': {
|
||||||
|
|||||||
Binary file not shown.
@@ -24,22 +24,20 @@
|
|||||||
# 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-07-24 15:15+0000\n"
|
"PO-Revision-Date: 2025-06-22 17:06+0000\n"
|
||||||
"Last-Translator: eudemo <eudemo@noreply.codeberg.org>\n"
|
"Last-Translator: return42 <return42@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']
|
||||||
@@ -298,7 +296,7 @@ msgstr "Cel buidat"
|
|||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Partly cloudy"
|
msgid "Partly cloudy"
|
||||||
msgstr "Parcialment ennuvolat"
|
msgstr ""
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
@@ -318,42 +316,42 @@ msgstr "Boira"
|
|||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Light rain and thunder"
|
msgid "Light rain and thunder"
|
||||||
msgstr "Pluja lleugera i trons"
|
msgstr ""
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Light rain showers and thunder"
|
msgid "Light rain showers and thunder"
|
||||||
msgstr "Ruixats lleugers i trons"
|
msgstr ""
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Light rain showers"
|
msgid "Light rain showers"
|
||||||
msgstr "Ruixats lleugers"
|
msgstr ""
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Light rain"
|
msgid "Light rain"
|
||||||
msgstr "Pluja lleugera"
|
msgstr ""
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Rain and thunder"
|
msgid "Rain and thunder"
|
||||||
msgstr "Tempesta"
|
msgstr ""
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Rain showers and thunder"
|
msgid "Rain showers and thunder"
|
||||||
msgstr "Ruixats i trons"
|
msgstr ""
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Rain showers"
|
msgid "Rain showers"
|
||||||
msgstr "Ruixats"
|
msgstr ""
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Rain"
|
msgid "Rain"
|
||||||
msgstr "Pluja"
|
msgstr ""
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
@@ -398,7 +396,7 @@ msgstr ""
|
|||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Sleet and thunder"
|
msgid "Sleet and thunder"
|
||||||
msgstr "Calamarsa i trons"
|
msgstr ""
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
@@ -413,7 +411,7 @@ msgstr ""
|
|||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Sleet"
|
msgid "Sleet"
|
||||||
msgstr "Calamarsa"
|
msgstr ""
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
@@ -473,7 +471,7 @@ msgstr ""
|
|||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Snow"
|
msgid "Snow"
|
||||||
msgstr "Neu"
|
msgstr ""
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
@@ -2369,3 +2367,4 @@ 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.
@@ -25,20 +25,19 @@
|
|||||||
# radekjuthner <radekjuthner@noreply.codeberg.org>, 2025.
|
# radekjuthner <radekjuthner@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-22 10:57+0000\n"
|
"PO-Revision-Date: 2025-06-28 09:58+0000\n"
|
||||||
"Last-Translator: Fjuro <fjuro@alius.cz>\n"
|
"Last-Translator: Fjuro <git@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']
|
||||||
@@ -829,7 +828,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 "Odstranit sledovací URL"
|
msgstr "Odstraňovač sledovacích 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"
|
||||||
@@ -928,7 +927,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 "Přidat nový problém na GitHub"
|
msgstr "Začněte přidávat novou chybu na Githubu"
|
||||||
|
|
||||||
#: 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"
|
||||||
@@ -942,11 +941,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 toto veřejná instance, uveďte prosím URL v náhlášení chyby"
|
msgstr "Pokud je tohle veřejná instance, prosím specifikujte 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 "Odeslat nový problém na GitHub včetně výše uvedených informací"
|
msgstr "Odeslání nového problému 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"
|
||||||
@@ -1246,7 +1245,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 "Časový interval"
|
msgstr "Čásový interval"
|
||||||
|
|
||||||
#: searx/templates/simple/filters/time_range.html:3
|
#: searx/templates/simple/filters/time_range.html:3
|
||||||
msgid "Anytime"
|
msgid "Anytime"
|
||||||
@@ -2367,3 +2366,4 @@ 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.
@@ -18,19 +18,18 @@
|
|||||||
# Priit Jõerüüt <jrtcdbrg@noreply.codeberg.org>, 2025.
|
# Priit Jõerüüt <jrtcdbrg@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-19 08:08+0000\n"
|
"PO-Revision-Date: 2025-06-26 02:46+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']
|
||||||
@@ -1572,7 +1571,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: searx/templates/simple/preferences/theme.html:2
|
#: searx/templates/simple/preferences/theme.html:2
|
||||||
msgid "Theme"
|
msgid "Theme"
|
||||||
msgstr "Kujundus"
|
msgstr "Teema"
|
||||||
|
|
||||||
#: 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"
|
||||||
@@ -2352,3 +2351,4 @@ msgstr "peida video"
|
|||||||
|
|
||||||
#~ msgid "Change SearXNG layout"
|
#~ msgid "Change SearXNG layout"
|
||||||
#~ msgstr "Muuda SearXNG paigutust"
|
#~ msgstr "Muuda SearXNG paigutust"
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
@@ -18,19 +18,18 @@
|
|||||||
# return42 <return42@noreply.codeberg.org>, 2025.
|
# return42 <return42@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-21 15:53+0000\n"
|
"PO-Revision-Date: 2025-06-22 17:06+0000\n"
|
||||||
"Last-Translator: alexgabi <alexgabi@noreply.codeberg.org>\n"
|
"Last-Translator: return42 <return42@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']
|
||||||
@@ -289,7 +288,7 @@ msgstr "Oskarbi"
|
|||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Partly cloudy"
|
msgid "Partly cloudy"
|
||||||
msgstr "Ostarteak"
|
msgstr ""
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
@@ -309,42 +308,42 @@ msgstr "Lainoa"
|
|||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Light rain and thunder"
|
msgid "Light rain and thunder"
|
||||||
msgstr "Euri arina eta trumoiak"
|
msgstr ""
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Light rain showers and thunder"
|
msgid "Light rain showers and thunder"
|
||||||
msgstr "Euri zaparrada arinak eta trumoiak"
|
msgstr ""
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Light rain showers"
|
msgid "Light rain showers"
|
||||||
msgstr "Euri zaparrada arinak"
|
msgstr ""
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Light rain"
|
msgid "Light rain"
|
||||||
msgstr "Euri arina"
|
msgstr ""
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Rain and thunder"
|
msgid "Rain and thunder"
|
||||||
msgstr "Euria eta trumoiak"
|
msgstr ""
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Rain showers and thunder"
|
msgid "Rain showers and thunder"
|
||||||
msgstr "Zaparradak eta trumoiak"
|
msgstr ""
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Rain showers"
|
msgid "Rain showers"
|
||||||
msgstr "Euri zaparradak"
|
msgstr ""
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Rain"
|
msgid "Rain"
|
||||||
msgstr "Euria"
|
msgstr ""
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
@@ -369,22 +368,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 "Elurbusti arina eta trumoiak"
|
msgstr ""
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Light sleet showers and thunder"
|
msgid "Light sleet showers and thunder"
|
||||||
msgstr "Elurbusti arineko zaparradak eta trumoiak"
|
msgstr ""
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Light sleet showers"
|
msgid "Light sleet showers"
|
||||||
msgstr "Elurbusti arineko zaparradak"
|
msgstr ""
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Light sleet"
|
msgid "Light sleet"
|
||||||
msgstr "Elurbusti arina"
|
msgstr ""
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
@@ -2337,3 +2336,4 @@ msgstr "ezkutatu bideoa"
|
|||||||
|
|
||||||
#~ msgid "Change SearXNG layout"
|
#~ msgid "Change SearXNG layout"
|
||||||
#~ msgstr "Aldatu SearXNGren diseinua"
|
#~ msgstr "Aldatu SearXNGren diseinua"
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
@@ -41,14 +41,13 @@
|
|||||||
# 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-20 14:08+0000\n"
|
"PO-Revision-Date: 2025-07-13 23:08+0000\n"
|
||||||
"Last-Translator: ledjfou <ledjfou@noreply.codeberg.org>\n"
|
"Last-Translator: Hēphaistos <hephaistos@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"
|
||||||
@@ -788,8 +787,6 @@ 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"
|
||||||
@@ -1400,6 +1397,7 @@ 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"
|
||||||
@@ -1537,7 +1535,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 "Résultats des images proxy via SearXNG"
|
msgstr ""
|
||||||
|
|
||||||
#: 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-22 10:57+0000\n"
|
"PO-Revision-Date: 2025-07-16 06:08+0000\n"
|
||||||
"Last-Translator: \"lucasmz.dev\" <lucasmz.dev@noreply.codeberg.org>\n"
|
"Last-Translator: Juno Takano <jutty@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 rápida com trovões"
|
msgstr "Chuva contínua com trovões"
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Rain showers"
|
msgid "Rain showers"
|
||||||
msgstr "Chuva rápida"
|
msgstr "Chuva contínua"
|
||||||
|
|
||||||
#. 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 rápida e intensa com trovões"
|
msgstr "Chuva intensa contínua com trovões"
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Heavy rain showers"
|
msgid "Heavy rain showers"
|
||||||
msgstr "Chuva rápida e intensa"
|
msgstr "Chuva intensa contínua"
|
||||||
|
|
||||||
#. 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 e rápido com trovões"
|
msgstr "Granizo leve contínuo com trovões"
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Light sleet showers"
|
msgid "Light sleet showers"
|
||||||
msgstr "Granizo leve e rápido"
|
msgstr "Granizo leve contínuo"
|
||||||
|
|
||||||
#. 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 rápido com trovões"
|
msgstr "Granizo contínuo com trovões"
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Sleet showers"
|
msgid "Sleet showers"
|
||||||
msgstr "Granizo rápido"
|
msgstr "Granizo contínuo"
|
||||||
|
|
||||||
#. 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 pesado rápido com trovões"
|
msgstr "Granizo intenso contínuo com trovões"
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Heavy sleet showers"
|
msgid "Heavy sleet showers"
|
||||||
msgstr "Chuvas rápidas e intensas de granizo"
|
msgstr "Granizo intenso contínuo"
|
||||||
|
|
||||||
#. 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 e rápida com trovões"
|
msgstr "Neve fraca contínua com trovões"
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Light snow showers"
|
msgid "Light snow showers"
|
||||||
msgstr "Neve fraca e rápida"
|
msgstr "Neve fraca contínua"
|
||||||
|
|
||||||
#. 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 rápida com trovões"
|
msgstr "Neve contínua com trovões"
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Snow showers"
|
msgid "Snow showers"
|
||||||
msgstr "Neve rápida"
|
msgstr "Neve contínua"
|
||||||
|
|
||||||
#. 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 rápida com trovões"
|
msgstr "Neve intensa contínua com trovões"
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Heavy snow showers"
|
msgid "Heavy snow showers"
|
||||||
msgstr "Neve intensa rápida"
|
msgstr "Neve intensa contínua"
|
||||||
|
|
||||||
#. 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 "Confiabilidade"
|
msgstr "Consistência"
|
||||||
|
|
||||||
#: searx/templates/simple/stats.html:59
|
#: searx/templates/simple/stats.html:59
|
||||||
msgid "Total"
|
msgid "Total"
|
||||||
|
|||||||
Binary file not shown.
@@ -30,25 +30,22 @@
|
|||||||
# 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-23 11:09+0000\n"
|
"PO-Revision-Date: 2025-07-03 10:26+0000\n"
|
||||||
"Last-Translator: IcewindX <icewindx@noreply.codeberg.org>\n"
|
"Last-Translator: return42 <return42@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']
|
||||||
@@ -580,7 +577,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"
|
||||||
@@ -714,7 +711,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."
|
||||||
|
|
||||||
@@ -810,7 +807,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"
|
||||||
@@ -831,7 +828,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 и кажется что у вас есть внешний IP-адрес"
|
msgstr "Вы используете Tor и кажется что у вас есть внешний айпи адрес"
|
||||||
|
|
||||||
#: 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"
|
||||||
@@ -942,7 +939,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"
|
||||||
@@ -1196,7 +1193,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"
|
||||||
@@ -1253,7 +1250,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
|
||||||
@@ -1364,13 +1361,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."
|
||||||
@@ -1398,7 +1395,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 ""
|
||||||
@@ -1523,7 +1520,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"
|
||||||
@@ -1564,8 +1561,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"
|
||||||
@@ -1573,7 +1570,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"
|
||||||
@@ -1597,7 +1594,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"
|
||||||
@@ -1605,7 +1602,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"
|
||||||
@@ -2393,3 +2390,4 @@ msgstr "скрыть видео"
|
|||||||
|
|
||||||
#~ msgid "Change SearXNG layout"
|
#~ msgid "Change SearXNG layout"
|
||||||
#~ msgstr "Изменить расположение элементов SearXNG"
|
#~ msgstr "Изменить расположение элементов SearXNG"
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
@@ -29,14 +29,13 @@
|
|||||||
# 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-19 08:08+0000\n"
|
"PO-Revision-Date: 2025-07-15 05:18+0000\n"
|
||||||
"Last-Translator: zbbhzdaajc <zbbhzdaajc@noreply.codeberg.org>\n"
|
"Last-Translator: Cookie_Monster <cookie_monster@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"
|
||||||
@@ -478,7 +477,7 @@ msgstr ""
|
|||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Snow"
|
msgid "Snow"
|
||||||
msgstr "Kar"
|
msgstr ""
|
||||||
|
|
||||||
#. WEATHER_CONDITIONS
|
#. WEATHER_CONDITIONS
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
|
|||||||
@@ -1,19 +1,18 @@
|
|||||||
# 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"
|
||||||
DOCKER_TAG = "1.0.0"
|
GIT_URL = "unknow"
|
||||||
GIT_URL = "unknown"
|
GIT_BRANCH = "unknow"
|
||||||
GIT_BRANCH = "unknown"
|
|
||||||
|
|
||||||
logger = logging.getLogger("searx")
|
logger = logging.getLogger("searx")
|
||||||
|
|
||||||
@@ -70,7 +69,6 @@ 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:
|
||||||
@@ -80,29 +78,10 @@ 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 = (
|
||||||
@@ -113,7 +92,18 @@ try:
|
|||||||
vf.GIT_BRANCH,
|
vf.GIT_BRANCH,
|
||||||
)
|
)
|
||||||
except ImportError:
|
except ImportError:
|
||||||
VERSION_STRING, VERSION_TAG, DOCKER_TAG, GIT_URL, GIT_BRANCH = get_information()
|
try:
|
||||||
|
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)
|
||||||
|
|
||||||
@@ -121,8 +111,6 @@ 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,9 +30,6 @@ 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 (
|
||||||
@@ -150,7 +147,7 @@ STATS_SORT_PARAMETERS = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# Flask app
|
# Flask app
|
||||||
app = Flask(__name__, static_folder=None, template_folder=templates_path)
|
app = Flask(__name__, static_folder=settings['ui']['static_path'], 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
|
||||||
@@ -248,7 +245,6 @@ 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
|
||||||
@@ -261,11 +257,9 @@ 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")
|
||||||
theme_filename = f"themes/{theme_name}/{arg_filename}"
|
arg_filename = f"themes/{theme_name}/{arg_filename}"
|
||||||
if theme_filename in _STATIC_FILES:
|
if arg_filename in _STATIC_FILES:
|
||||||
values["filename"] = theme_filename
|
values["filename"] = arg_filename
|
||||||
|
|
||||||
return f"static/{values['filename']}"
|
|
||||||
|
|
||||||
if endpoint == "info" and "locale" not in values:
|
if endpoint == "info" and "locale" not in values:
|
||||||
|
|
||||||
@@ -1430,27 +1424,8 @@ def init():
|
|||||||
favicons.init()
|
favicons.init()
|
||||||
|
|
||||||
|
|
||||||
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)
|
|
||||||
|
|
||||||
# remove when we drop support for uwsgi
|
|
||||||
application = app
|
application = app
|
||||||
|
patch_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 = http_get(BANGS_URL)
|
response = httpx.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,4 +75,7 @@ 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,4 +72,7 @@ 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,4 +78,7 @@ 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,4 +75,7 @@ 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