mirror of https://github.com/searxng/searxng.git
Merge branch 'searxng:master' into gl/feature/mullvad-leta
This commit is contained in:
commit
11e82887b2
|
@ -163,7 +163,6 @@ jobs:
|
|||
- name: Update transations
|
||||
id: update
|
||||
run: |
|
||||
git restore utils/brand.env
|
||||
make V=1 weblate.push.translations
|
||||
|
||||
dockers:
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
## Resources in the documentation
|
||||
|
||||
* [Development quickstart](https://docs.searxng.org/dev/contribution_guide.html)
|
||||
* [Development quickstart](https://docs.searxng.org/dev/quickstart.html)
|
||||
* [Contribution guide](https://docs.searxng.org/dev/contribution_guide.html)
|
||||
|
||||
## Submitting PRs
|
||||
|
|
3
Makefile
3
Makefile
|
@ -56,7 +56,7 @@ test.shell:
|
|||
$(Q)shellcheck -x -s dash \
|
||||
dockerfiles/docker-entrypoint.sh
|
||||
$(Q)shellcheck -x -s bash \
|
||||
utils/brand.env \
|
||||
utils/brand.sh \
|
||||
$(MTOOLS) \
|
||||
utils/lib.sh \
|
||||
utils/lib_sxng*.sh \
|
||||
|
@ -74,7 +74,6 @@ test.shell:
|
|||
|
||||
# wrap ./manage script
|
||||
|
||||
MANAGE += buildenv
|
||||
MANAGE += weblate.translations.commit weblate.push.translations
|
||||
MANAGE += data.all data.traits data.useragents
|
||||
MANAGE += docs.html docs.live docs.gh-pages docs.prebuild docs.clean
|
||||
|
|
|
@ -21,17 +21,13 @@
|
|||
X-Robots-Tag : noindex, nofollow
|
||||
Referrer-Policy : no-referrer
|
||||
|
||||
``base_url`` : ``$SEARXNG_URL`` :ref:`buildenv <make buildenv>`
|
||||
``base_url`` : ``$SEARXNG_URL``
|
||||
The base URL where SearXNG is deployed. Used to create correct inbound links.
|
||||
If you change the value, don't forget to rebuild instance's environment
|
||||
(:ref:`utils/brand.env <make buildenv>`)
|
||||
|
||||
``port`` & ``bind_address``: ``$SEARXNG_PORT`` & ``$SEARXNG_BIND_ADDRESS`` :ref:`buildenv <make buildenv>`
|
||||
``port`` & ``bind_address``: ``$SEARXNG_PORT`` & ``$SEARXNG_BIND_ADDRESS``
|
||||
Port number and *bind address* of the SearXNG web application if you run it
|
||||
directly using ``python searx/webapp.py``. Doesn't apply to a SearXNG
|
||||
services running behind a proxy and using socket communications. If you
|
||||
change the value, don't forget to rebuild instance's environment
|
||||
(:ref:`utils/brand.env <make buildenv>`)
|
||||
services running behind a proxy and using socket communications.
|
||||
|
||||
``secret_key`` : ``$SEARXNG_SECRET``
|
||||
Used for cryptography purpose.
|
||||
|
|
|
@ -61,13 +61,9 @@ working tree and release a ``make install`` to get a virtualenv with a
|
|||
$ make install
|
||||
PYENV [virtualenv] installing ./requirements*.txt into local/py3
|
||||
...
|
||||
PYENV OK
|
||||
PYENV [install] pip install -e 'searx[test]'
|
||||
...
|
||||
Successfully installed argparse-1.4.0 searx
|
||||
BUILDENV INFO:searx:load the default settings from ./searx/settings.yml
|
||||
BUILDENV INFO:searx:Initialisation done
|
||||
BUILDENV build utils/brand.env
|
||||
Successfully installed searxng-2023.7.19+a446dea1b
|
||||
|
||||
If you release ``make install`` multiple times the installation will only
|
||||
rebuild if the sha256 sum of the *requirement files* fails. With other words:
|
||||
|
@ -82,13 +78,9 @@ the check fails if you edit the requirements listed in
|
|||
...
|
||||
PYENV [virtualenv] installing ./requirements*.txt into local/py3
|
||||
...
|
||||
PYENV OK
|
||||
PYENV [install] pip install -e 'searx[test]'
|
||||
...
|
||||
Successfully installed argparse-1.4.0 searx
|
||||
BUILDENV INFO:searx:load the default settings from ./searx/settings.yml
|
||||
BUILDENV INFO:searx:Initialisation done
|
||||
BUILDENV build utils/brand.env
|
||||
Successfully installed searxng-2023.7.19+a446dea1b
|
||||
|
||||
.. sidebar:: drop environment
|
||||
|
||||
|
@ -98,67 +90,6 @@ the check fails if you edit the requirements listed in
|
|||
If you think, something goes wrong with your ./local environment or you change
|
||||
the :origin:`setup.py` file, you have to call :ref:`make clean`.
|
||||
|
||||
.. _make buildenv:
|
||||
|
||||
``make buildenv``
|
||||
=================
|
||||
|
||||
Rebuild instance's environment with the modified settings from the
|
||||
:ref:`settings brand` and :ref:`settings server` section of your
|
||||
:ref:`settings.yml <settings location>`.
|
||||
|
||||
What is the :origin:`utils/brand.env` needed for and why do you need to rebuild
|
||||
it if necessary?
|
||||
|
||||
Short answer: :ref:`installation and maintenance <searxng maintenance>`
|
||||
scripts are running outside of instance's runtime environment and need some
|
||||
values defined in the runtime environment.
|
||||
|
||||
All the SearXNG setups are centralized in the :ref:`settings.yml` file. This
|
||||
setup is available as long we are in a *installed instance*. E.g. the
|
||||
*installed instance* on the server or the *installed developer instance* at
|
||||
``./local`` (the later one is created by a :ref:`make install <make install>` or
|
||||
:ref:`make run <make run>`).
|
||||
|
||||
Tasks running outside of an *installed instance*, especially :ref:`installation
|
||||
and maintenance <searxng maintenance>` tasks running at (pre-) installation time
|
||||
do not have access to the SearXNG setup (from a *installed instance*). Those
|
||||
tasks need a *build environment*.
|
||||
|
||||
The ``make buildenv`` target will update the *build environment* in:
|
||||
|
||||
- :origin:`utils/brand.env`
|
||||
|
||||
Tasks running outside of an *installed instance*, need the following settings
|
||||
from the YAML configuration:
|
||||
|
||||
- ``SEARXNG_URL`` from :ref:`server.base_url <settings server>` (aka
|
||||
``PUBLIC_URL``)
|
||||
- ``SEARXNG_BIND_ADDRESS`` from :ref:`server.bind_address <settings server>`
|
||||
- ``SEARXNG_PORT`` from :ref:`server.port <settings server>`
|
||||
|
||||
The ``GIT_URL`` and ``GIT_BRANCH`` in the origin:`utils/brand.env` file, are
|
||||
read from the git VCS and the branch that is checked out when ``make
|
||||
buildenv`` command runs.
|
||||
|
||||
.. _brand:
|
||||
|
||||
**I would like to create my own brand, how should I proceed?**
|
||||
|
||||
Create a remote branch (``example.org``), checkout the remote branch (on your
|
||||
local developer desktop) and in the :origin:`searx/settings.yml` file in the
|
||||
:ref:`settings server` section set ``base_url``. Run ``make buildenv`` and
|
||||
create a commit for your brand.
|
||||
|
||||
On your server you clone the branch (``example.org``) into your HOME folder
|
||||
``~`` from where you run the :ref:`installation <installation>` and
|
||||
:ref:`maintenance <searxng maintenance>` task.
|
||||
|
||||
To upgrade you brand, rebase on SearXNG's master branch (on your local
|
||||
developer desktop), force push it to your remote branch. Go to your server, do
|
||||
a force pull and run :ref:`sudo -H ./utils/searxng.sh instance update <update
|
||||
searxng>`.
|
||||
|
||||
.. _make node.env:
|
||||
|
||||
Node.js environment (``make node.env``)
|
||||
|
|
|
@ -69,7 +69,7 @@ Parameters
|
|||
|
||||
``autocomplete`` : default from :ref:`settings search`
|
||||
[ ``google``, ``dbpedia``, ``duckduckgo``, ``mwmbl``, ``startpage``,
|
||||
``wikipedia``, ``swisscows``, ``qwant`` ]
|
||||
``wikipedia``, ``stract``, ``swisscows``, ``qwant`` ]
|
||||
|
||||
Service which completes words as you type.
|
||||
|
||||
|
|
26
manage
26
manage
|
@ -83,8 +83,6 @@ PYLINT_OPTIONS="-m pylint -j 0 --rcfile .pylintrc"
|
|||
help() {
|
||||
nvm.help
|
||||
cat <<EOF
|
||||
buildenv:
|
||||
rebuild ./utils/brand.env
|
||||
webapp.:
|
||||
run : run developer instance
|
||||
docs.:
|
||||
|
@ -155,29 +153,6 @@ webapp.run() {
|
|||
SEARXNG_DEBUG=1 pyenv.cmd python -m searx.webapp
|
||||
}
|
||||
|
||||
buildenv() {
|
||||
|
||||
# settings file from repository's working tree are used by default
|
||||
SEARXNG_SETTINGS_PATH="${REPO_ROOT}/searx/settings.yml"
|
||||
|
||||
if [ -f /etc/searx/settings.yml ]; then
|
||||
err_msg "settings.yml in /etc/searx/ is deprecated, move file to folder /etc/searxng/"
|
||||
fi
|
||||
|
||||
if [ -r '/etc/searxng/settings.yml' ]; then
|
||||
if ask_yn "should settings read from: /etc/searxng/settings.yml"; then
|
||||
SEARXNG_SETTINGS_PATH='/etc/searxng/settings.yml'
|
||||
fi
|
||||
fi
|
||||
export SEARXNG_SETTINGS_PATH
|
||||
(
|
||||
set -e
|
||||
SEARXNG_DEBUG=1 pyenv.cmd python utils/build_env.py 2>&1 \
|
||||
| prefix_stdout "${_Blue}BUILDENV${_creset} "
|
||||
)
|
||||
return "${PIPESTATUS[0]}"
|
||||
}
|
||||
|
||||
docker.push() {
|
||||
docker.build push
|
||||
}
|
||||
|
@ -345,7 +320,6 @@ pyenv.install() {
|
|||
pyenv
|
||||
build_msg PYENV "[install] pip install -e 'searx${PY_SETUP_EXTRAS}'"
|
||||
"${PY_ENV_BIN}/python" -m pip install -e ".${PY_SETUP_EXTRAS}"
|
||||
buildenv
|
||||
)
|
||||
local exit_val=$?
|
||||
if [ ! $exit_val -eq 0 ]; then
|
||||
|
|
|
@ -2,8 +2,8 @@ certifi==2023.11.17
|
|||
babel==2.14.0
|
||||
flask-babel==4.0.0
|
||||
flask==3.0.0
|
||||
jinja2==3.1.2
|
||||
lxml==4.9.4
|
||||
jinja2==3.1.3
|
||||
lxml==5.1.0
|
||||
pygments==2.17.2
|
||||
python-dateutil==2.8.2
|
||||
pyyaml==6.0.1
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
# pylint: disable=use-dict-literal
|
||||
|
||||
import json
|
||||
from urllib.parse import urlencode
|
||||
from urllib.parse import urlencode, quote_plus
|
||||
|
||||
import lxml
|
||||
from httpx import HTTPError
|
||||
|
@ -16,17 +16,26 @@ from searx.engines import (
|
|||
engines,
|
||||
google,
|
||||
)
|
||||
from searx.network import get as http_get
|
||||
from searx.network import get as http_get, post as http_post
|
||||
from searx.exceptions import SearxEngineResponseException
|
||||
|
||||
|
||||
def get(*args, **kwargs):
|
||||
def update_kwargs(**kwargs):
|
||||
if 'timeout' not in kwargs:
|
||||
kwargs['timeout'] = settings['outgoing']['request_timeout']
|
||||
kwargs['raise_for_httperror'] = True
|
||||
|
||||
|
||||
def get(*args, **kwargs):
|
||||
update_kwargs(**kwargs)
|
||||
return http_get(*args, **kwargs)
|
||||
|
||||
|
||||
def post(*args, **kwargs):
|
||||
update_kwargs(**kwargs)
|
||||
return http_post(*args, **kwargs)
|
||||
|
||||
|
||||
def brave(query, _lang):
|
||||
# brave search autocompleter
|
||||
url = 'https://search.brave.com/api/suggest?'
|
||||
|
@ -145,6 +154,18 @@ def seznam(query, _lang):
|
|||
]
|
||||
|
||||
|
||||
def stract(query, _lang):
|
||||
# stract autocompleter (beta)
|
||||
url = f"https://stract.com/beta/api/autosuggest?q={quote_plus(query)}"
|
||||
|
||||
resp = post(url)
|
||||
|
||||
if not resp.ok:
|
||||
return []
|
||||
|
||||
return [suggestion['raw'] for suggestion in resp.json()]
|
||||
|
||||
|
||||
def startpage(query, sxng_locale):
|
||||
"""Autocomplete from Startpage. Supports Startpage's languages"""
|
||||
lui = engines['startpage'].traits.get_language(sxng_locale, 'english')
|
||||
|
@ -223,6 +244,7 @@ backends = {
|
|||
'mwmbl': mwmbl,
|
||||
'seznam': seznam,
|
||||
'startpage': startpage,
|
||||
'stract': stract,
|
||||
'swisscows': swisscows,
|
||||
'qwant': qwant,
|
||||
'wikipedia': wikipedia,
|
||||
|
|
|
@ -0,0 +1,43 @@
|
|||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
# lint: pylint
|
||||
"""Stract is an independent open source search engine.
|
||||
At this state, it's still in beta and hence this implementation will need to be updated once beta ends.
|
||||
"""
|
||||
|
||||
from json import dumps
|
||||
|
||||
about = {
|
||||
"website": "https://stract.com/",
|
||||
"use_official_api": True,
|
||||
"official_api_documentation": "https://stract.com/beta/api/docs/#/search/api",
|
||||
"require_api_key": False,
|
||||
"results": "JSON",
|
||||
}
|
||||
categories = ['general']
|
||||
paging = True
|
||||
|
||||
search_url = "https://stract.com/beta/api/search"
|
||||
|
||||
|
||||
def request(query, params):
|
||||
params['url'] = search_url
|
||||
params['method'] = "POST"
|
||||
params['headers'] = {'Accept': 'application/json', 'Content-Type': 'application/json'}
|
||||
params['data'] = dumps({'query': query, 'page': params['pageno'] - 1})
|
||||
|
||||
return params
|
||||
|
||||
|
||||
def response(resp):
|
||||
results = []
|
||||
|
||||
for result in resp.json()["webpages"]:
|
||||
results.append(
|
||||
{
|
||||
'url': result['url'],
|
||||
'title': result['title'],
|
||||
'content': ''.join(fragment['text'] for fragment in result['snippet']['text']['fragments']),
|
||||
}
|
||||
)
|
||||
|
||||
return results
|
|
@ -24,7 +24,7 @@ search:
|
|||
# Filter results. 0: None, 1: Moderate, 2: Strict
|
||||
safe_search: 0
|
||||
# Existing autocomplete backends: "dbpedia", "duckduckgo", "google", "yandex", "mwmbl",
|
||||
# "seznam", "startpage", "swisscows", "qwant", "wikipedia" - leave blank to turn it off
|
||||
# "seznam", "startpage", "stract", "swisscows", "qwant", "wikipedia" - leave blank to turn it off
|
||||
# by default.
|
||||
autocomplete: ""
|
||||
# minimun characters to type before autocompleter starts
|
||||
|
@ -66,9 +66,7 @@ search:
|
|||
- html
|
||||
|
||||
server:
|
||||
# If you change port, bind_address or base_url don't forget to rebuild
|
||||
# instance's environment (make buildenv). Is overwritten by ${SEARXNG_PORT}
|
||||
# and ${SEARXNG_BIND_ADDRESS}
|
||||
# Is overwritten by ${SEARXNG_PORT} and ${SEARXNG_BIND_ADDRESS}
|
||||
port: 8888
|
||||
bind_address: "127.0.0.1"
|
||||
# public URL of the instance, to ensure correct inbound links. Is overwritten
|
||||
|
@ -2093,6 +2091,11 @@ engines:
|
|||
timeout: 5.0
|
||||
disabled: true
|
||||
|
||||
- name: stract
|
||||
engine: stract
|
||||
shortcut: str
|
||||
disabled: true
|
||||
|
||||
- name: svgrepo
|
||||
engine: svgrepo
|
||||
shortcut: svg
|
||||
|
|
Binary file not shown.
|
@ -6,43 +6,44 @@
|
|||
# Markus Heiser <markus.heiser@darmarit.de>, 2022.
|
||||
# Sean Botha <seanbotha@gmail.com>, 2022.
|
||||
# jestie <jestie@gmail.com>, 2023.
|
||||
# return42 <markus.heiser@darmarit.de>, 2023.
|
||||
# return42 <markus.heiser@darmarit.de>, 2023, 2024.
|
||||
# APoniatowski <adam@poniatowski.dev>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2023-12-23 08:54+0000\n"
|
||||
"PO-Revision-Date: 2023-12-08 07:07+0000\n"
|
||||
"Last-Translator: APoniatowski <adam@poniatowski.dev>\n"
|
||||
"PO-Revision-Date: 2024-01-03 15:56+0000\n"
|
||||
"Last-Translator: return42 <markus.heiser@darmarit.de>\n"
|
||||
"Language-Team: Afrikaans <https://translate.codeberg.org/projects/searxng/"
|
||||
"searxng/af/>\n"
|
||||
"Language: af\n"
|
||||
"Language-Team: Afrikaans "
|
||||
"<https://translate.codeberg.org/projects/searxng/searxng/af/>\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 5.3.1\n"
|
||||
"Generated-By: Babel 2.14.0\n"
|
||||
|
||||
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
||||
#: searx/searxng.msg
|
||||
msgid "without further subgrouping"
|
||||
msgstr "sonder verdere subgroeperin"
|
||||
msgstr "sonder verdere subgroepering"
|
||||
|
||||
#. CONSTANT_NAMES['DEFAULT_CATEGORY']
|
||||
#: searx/searxng.msg
|
||||
msgid "other"
|
||||
msgstr "ande"
|
||||
msgstr "ander"
|
||||
|
||||
#. CATEGORY_NAMES['FILES']
|
||||
#: searx/searxng.msg
|
||||
msgid "files"
|
||||
msgstr "lêer"
|
||||
msgstr "lêers"
|
||||
|
||||
#. CATEGORY_NAMES['GENERAL']
|
||||
#: searx/searxng.msg
|
||||
msgid "general"
|
||||
msgstr "algemen"
|
||||
msgstr "algemeen"
|
||||
|
||||
#. CATEGORY_NAMES['MUSIC']
|
||||
#: searx/searxng.msg
|
||||
|
@ -67,7 +68,7 @@ msgstr "video's"
|
|||
#. CATEGORY_NAMES['IT']
|
||||
#: searx/searxng.msg
|
||||
msgid "it"
|
||||
msgstr "it"
|
||||
msgstr "inligtingstegnologie"
|
||||
|
||||
#. CATEGORY_NAMES['NEWS']
|
||||
#: searx/searxng.msg
|
||||
|
@ -122,7 +123,7 @@ msgstr "bewaarplekke"
|
|||
#. CATEGORY_GROUPS['SOFTWARE_WIKIS']
|
||||
#: searx/searxng.msg
|
||||
msgid "software wikis"
|
||||
msgstr "programmatuur wiki's"
|
||||
msgstr "sagteware wiki's"
|
||||
|
||||
#. CATEGORY_GROUPS['WEB']
|
||||
#: searx/searxng.msg
|
||||
|
@ -343,7 +344,7 @@ msgstr "boekgradering"
|
|||
|
||||
#: searx/engines/zlibrary.py:131
|
||||
msgid "File quality"
|
||||
msgstr ""
|
||||
msgstr "Lêer kwaliteit"
|
||||
|
||||
#: searx/plugins/hash_plugin.py:24
|
||||
msgid "Converts strings to different hash digests."
|
||||
|
@ -507,7 +508,6 @@ msgid "cached"
|
|||
msgstr "gekas"
|
||||
|
||||
#: searx/templates/simple/macros.html:45
|
||||
#, fuzzy
|
||||
msgid "proxied"
|
||||
msgstr "gevolmagtig"
|
||||
|
||||
|
@ -524,11 +524,9 @@ msgid "I confirm there is no existing bug about the issue I encounter"
|
|||
msgstr "Ek bevestig daar is geen bestaande gogga oor die probleem wat ek teekom"
|
||||
|
||||
#: searx/templates/simple/new_issue.html:71
|
||||
#, fuzzy
|
||||
msgid "If this is a public instance, please specify the URL in the bug report"
|
||||
msgstr ""
|
||||
"As dit 'n publieke geval is, spesifiseer asseblief die URL in die "
|
||||
"foutverslag"
|
||||
"As dit 'n publieke geval is, spesifiseer asseblief die URL in die foutverslag"
|
||||
|
||||
#: searx/templates/simple/new_issue.html:72
|
||||
msgid "Submit a new issue on Github including the above information"
|
||||
|
@ -541,7 +539,6 @@ msgstr "Geen HTTPS"
|
|||
#: searx/templates/simple/elements/engines_msg.html:18
|
||||
#: searx/templates/simple/preferences.html:69
|
||||
#: searx/templates/simple/preferences.html:70
|
||||
#, fuzzy
|
||||
msgid "View error logs and submit a bug report"
|
||||
msgstr "Bekyk foutlogboeke en dien 'n foutverslag in"
|
||||
|
||||
|
@ -569,7 +566,6 @@ msgid "P95"
|
|||
msgstr "P95"
|
||||
|
||||
#: searx/templates/simple/preferences.html:136
|
||||
#, fuzzy
|
||||
msgid "Failed checker test(s): "
|
||||
msgstr "Mislukte toetsertoets(e): "
|
||||
|
||||
|
@ -648,7 +644,6 @@ msgstr "Soek vir..."
|
|||
|
||||
#: searx/templates/simple/search.html:10
|
||||
#: searx/templates/simple/simple_search.html:6
|
||||
#, fuzzy
|
||||
msgid "clear"
|
||||
msgstr "maak skoon"
|
||||
|
||||
|
@ -693,7 +688,6 @@ msgid "HTTP"
|
|||
msgstr "HTTP"
|
||||
|
||||
#: searx/templates/simple/stats.html:61
|
||||
#, fuzzy
|
||||
msgid "Processing"
|
||||
msgstr "Verwerking"
|
||||
|
||||
|
@ -731,27 +725,27 @@ msgstr "Funksie"
|
|||
|
||||
#: searx/templates/simple/stats.html:121
|
||||
msgid "Code"
|
||||
msgstr ""
|
||||
msgstr "Kode"
|
||||
|
||||
#: searx/templates/simple/stats.html:128
|
||||
msgid "Checker"
|
||||
msgstr ""
|
||||
msgstr "Inspekteur"
|
||||
|
||||
#: searx/templates/simple/stats.html:131
|
||||
msgid "Failed test"
|
||||
msgstr ""
|
||||
msgstr "Mislukte toets"
|
||||
|
||||
#: searx/templates/simple/stats.html:132
|
||||
msgid "Comment(s)"
|
||||
msgstr ""
|
||||
msgstr "Opmerking(s)"
|
||||
|
||||
#: searx/templates/simple/elements/apis.html:3
|
||||
msgid "Download results"
|
||||
msgstr ""
|
||||
msgstr "Laai resultate af"
|
||||
|
||||
#: searx/templates/simple/elements/engines_msg.html:7
|
||||
msgid "Messages from the search engines"
|
||||
msgstr ""
|
||||
msgstr "Boodskappe van die soek enjins"
|
||||
|
||||
#: searx/templates/simple/elements/engines_msg.html:12
|
||||
msgid "Error!"
|
||||
|
@ -759,23 +753,23 @@ msgstr "Fout!"
|
|||
|
||||
#: searx/templates/simple/elements/engines_msg.html:13
|
||||
msgid "Engines cannot retrieve results"
|
||||
msgstr ""
|
||||
msgstr "Enjins kan nie resultate ophaal nie"
|
||||
|
||||
#: searx/templates/simple/elements/search_url.html:3
|
||||
msgid "Search URL"
|
||||
msgstr ""
|
||||
msgstr "Soek URL"
|
||||
|
||||
#: searx/templates/simple/elements/search_url.html:4
|
||||
msgid "Copied"
|
||||
msgstr ""
|
||||
msgstr "Gekopieer"
|
||||
|
||||
#: searx/templates/simple/elements/search_url.html:4
|
||||
msgid "Copy"
|
||||
msgstr ""
|
||||
msgstr "kopieer"
|
||||
|
||||
#: searx/templates/simple/elements/suggestions.html:3
|
||||
msgid "Suggestions"
|
||||
msgstr ""
|
||||
msgstr "Voorstelle"
|
||||
|
||||
#: searx/templates/simple/filters/languages.html:1
|
||||
#: searx/templates/simple/preferences/language.html:2
|
||||
|
@ -790,7 +784,7 @@ msgstr "Verstek taal"
|
|||
#: searx/templates/simple/filters/languages.html:4
|
||||
#: searx/templates/simple/preferences/language.html:11
|
||||
msgid "Auto-detect"
|
||||
msgstr ""
|
||||
msgstr "Outo-bespeur"
|
||||
|
||||
#: searx/templates/simple/filters/safesearch.html:1
|
||||
#: searx/templates/simple/filters/safesearch.html:2
|
||||
|
@ -823,67 +817,68 @@ msgstr "Tydreeks"
|
|||
|
||||
#: searx/templates/simple/filters/time_range.html:3
|
||||
msgid "Anytime"
|
||||
msgstr ""
|
||||
msgstr "Enige tyd"
|
||||
|
||||
#: searx/templates/simple/filters/time_range.html:6
|
||||
msgid "Last day"
|
||||
msgstr ""
|
||||
msgstr "Laaste dag"
|
||||
|
||||
#: searx/templates/simple/filters/time_range.html:9
|
||||
msgid "Last week"
|
||||
msgstr ""
|
||||
msgstr "Laas week"
|
||||
|
||||
#: searx/templates/simple/filters/time_range.html:12
|
||||
msgid "Last month"
|
||||
msgstr ""
|
||||
msgstr "Laas maand"
|
||||
|
||||
#: searx/templates/simple/filters/time_range.html:15
|
||||
msgid "Last year"
|
||||
msgstr ""
|
||||
msgstr "Laas jaar"
|
||||
|
||||
#: searx/templates/simple/messages/no_cookies.html:3
|
||||
msgid "Information!"
|
||||
msgstr ""
|
||||
msgstr "Informasie!"
|
||||
|
||||
#: searx/templates/simple/messages/no_cookies.html:4
|
||||
msgid "currently, there are no cookies defined."
|
||||
msgstr ""
|
||||
msgstr "tans is daar geen koekies gedefinieer nie."
|
||||
|
||||
#: searx/templates/simple/messages/no_results.html:6
|
||||
msgid "Sorry!"
|
||||
msgstr ""
|
||||
msgstr "Jammer!"
|
||||
|
||||
#: searx/templates/simple/messages/no_results.html:12
|
||||
msgid "No results were found. You can try to:"
|
||||
msgstr ""
|
||||
msgstr "Geen resultate was gevind nie. Jy kan probeer om:"
|
||||
|
||||
#: searx/templates/simple/messages/no_results.html:14
|
||||
msgid "There are no more results. You can try to:"
|
||||
msgstr ""
|
||||
msgstr "Daar is geen meer resultate nie. Jy kan probeer om:"
|
||||
|
||||
#: searx/templates/simple/messages/no_results.html:19
|
||||
msgid "Refresh the page."
|
||||
msgstr ""
|
||||
msgstr "Verfris die bladsy."
|
||||
|
||||
#: searx/templates/simple/messages/no_results.html:20
|
||||
msgid "Search for another query or select another category (above)."
|
||||
msgstr ""
|
||||
msgstr "Soek vir 'n ander navraag of kies 'n ander kategorie (hierbo)."
|
||||
|
||||
#: searx/templates/simple/messages/no_results.html:21
|
||||
msgid "Change the search engine used in the preferences:"
|
||||
msgstr ""
|
||||
msgstr "Verander die soekenjin wat in die voorkeure gebruik word:"
|
||||
|
||||
#: searx/templates/simple/messages/no_results.html:22
|
||||
msgid "Switch to another instance:"
|
||||
msgstr ""
|
||||
msgstr "Skakel oor na 'n ander geval:"
|
||||
|
||||
#: searx/templates/simple/messages/no_results.html:24
|
||||
msgid "Search for another query or select another category."
|
||||
msgstr ""
|
||||
msgstr "Soek vir 'n ander navraag of kies 'n ander kategorie."
|
||||
|
||||
#: searx/templates/simple/messages/no_results.html:25
|
||||
msgid "Go back to the previous page using the previous page button."
|
||||
msgstr ""
|
||||
"Gaan terug na die vorige bladsy deur die vorige bladsy-knoppie te gebruik."
|
||||
|
||||
#: searx/templates/simple/preferences/answerers.html:4
|
||||
#: searx/templates/simple/preferences/engines.html:17
|
||||
|
@ -923,9 +918,8 @@ msgid "Find stuff as you type"
|
|||
msgstr "Vind goed soos jy tik"
|
||||
|
||||
#: searx/templates/simple/preferences/center_alignment.html:2
|
||||
#, fuzzy
|
||||
msgid "Center Alignment"
|
||||
msgstr "Sentrumbelyning"
|
||||
msgstr "Middelbelyning"
|
||||
|
||||
#: searx/templates/simple/preferences/center_alignment.html:14
|
||||
msgid "Displays results in the center of the page (Oscar layout)."
|
||||
|
@ -960,34 +954,40 @@ msgid ""
|
|||
"Note: specifying custom settings in the search URL can reduce privacy by "
|
||||
"leaking data to the clicked result sites."
|
||||
msgstr ""
|
||||
"Let wel: om gepasmaakte instellings in die soek-URL te spesifiseer, kan "
|
||||
"privaatheid verminder deur data na die geklikte resultaatwebwerwe te lek."
|
||||
|
||||
#: searx/templates/simple/preferences/cookies.html:35
|
||||
msgid "URL to restore your preferences in another browser"
|
||||
msgstr ""
|
||||
msgstr "URL om jou voorkeure in 'n ander blaaier te herstel"
|
||||
|
||||
#: searx/templates/simple/preferences/cookies.html:44
|
||||
msgid ""
|
||||
"Specifying custom settings in the preferences URL can be used to sync "
|
||||
"preferences across devices."
|
||||
msgstr ""
|
||||
"Deur gepasmaakte instellings in die voorkeur-URL te spesifiseer, kan dit "
|
||||
"gebruik word om voorkeure oor toestelle heen te sinkroniseer."
|
||||
|
||||
#: searx/templates/simple/preferences/doi_resolver.html:2
|
||||
msgid "Open Access DOI resolver"
|
||||
msgstr ""
|
||||
msgstr "Ooptoegang DOI-oplosser"
|
||||
|
||||
#: searx/templates/simple/preferences/doi_resolver.html:14
|
||||
msgid "Select service used by DOI rewrite"
|
||||
msgstr ""
|
||||
msgstr "Kies diens wat deur DOI herskryf gebruik word"
|
||||
|
||||
#: searx/templates/simple/preferences/engines.html:9
|
||||
msgid ""
|
||||
"This tab does not exists in the user interface, but you can search in "
|
||||
"these engines by its !bangs."
|
||||
msgstr ""
|
||||
"Hierdie oortjie bestaan nie in die gebruikerskoppelvlak nie, maar jy kan in "
|
||||
"hierdie enjins soek volgens sy !bangs."
|
||||
|
||||
#: searx/templates/simple/preferences/engines.html:19
|
||||
msgid "!bang"
|
||||
msgstr ""
|
||||
msgstr "!bang"
|
||||
|
||||
#: searx/templates/simple/preferences/engines.html:20
|
||||
msgid "Supports selected language"
|
||||
|
@ -1010,20 +1010,18 @@ msgstr ""
|
|||
"hierdie data oor jou te stoor nie."
|
||||
|
||||
#: searx/templates/simple/preferences/footer.html:3
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"These cookies serve your sole convenience, we don't use these cookies to "
|
||||
"track you."
|
||||
msgstr ""
|
||||
"Hierdie koekies dien jou enigste gerief, ons gebruik nie hierdie koekies "
|
||||
"om jou op te spoor nie."
|
||||
"Hierdie koekies dien jou enigste gerief, ons gebruik nie hierdie koekies om "
|
||||
"jou op te spoor nie."
|
||||
|
||||
#: searx/templates/simple/preferences/footer.html:6
|
||||
msgid "Save"
|
||||
msgstr "Stoor"
|
||||
|
||||
#: searx/templates/simple/preferences/footer.html:9
|
||||
#, fuzzy
|
||||
msgid "Reset defaults"
|
||||
msgstr "Stel verstekwaardes terug"
|
||||
|
||||
|
@ -1032,22 +1030,20 @@ msgid "Back"
|
|||
msgstr "Terug"
|
||||
|
||||
#: searx/templates/simple/preferences/hotkeys.html:2
|
||||
#, fuzzy
|
||||
msgid "Hotkeys"
|
||||
msgstr "Sneltoetse"
|
||||
msgstr "sleutelbord kortpaaie"
|
||||
|
||||
#: searx/templates/simple/preferences/hotkeys.html:13
|
||||
msgid "Vim-like"
|
||||
msgstr "Vim-agtig"
|
||||
|
||||
#: searx/templates/simple/preferences/hotkeys.html:18
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Navigate search results with hotkeys (JavaScript required). Press \"h\" "
|
||||
"key on main or result page to get help."
|
||||
msgstr ""
|
||||
"Navigeer soekresultate met sneltoetse (JavaScript vereis). Druk "
|
||||
"\"h\"-sleutel op hoof- of resultaatbladsy om hulp te kry."
|
||||
"Navigeer soekresultate met sneltoetse (JavaScript vereis). Druk \"h\"-"
|
||||
"sleutel op hoof- of resultaatbladsy om hulp te kry."
|
||||
|
||||
#: searx/templates/simple/preferences/image_proxy.html:2
|
||||
msgid "Image proxy"
|
||||
|
@ -1072,7 +1068,6 @@ msgid "What language do you prefer for search?"
|
|||
msgstr "Watter taal verkies jy vir soek?"
|
||||
|
||||
#: searx/templates/simple/preferences/language.html:25
|
||||
#, fuzzy
|
||||
msgid "Choose Auto-detect to let SearXNG detect the language of your query."
|
||||
msgstr "Kies Outo-detect om SearXNG die taal van jou navraag te laat opspoor."
|
||||
|
||||
|
@ -1113,7 +1108,6 @@ msgid "Search on category select"
|
|||
msgstr "Soek op kategorie selekteer"
|
||||
|
||||
#: searx/templates/simple/preferences/search_on_category_select.html:14
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Perform search immediately if a category selected. Disable to select "
|
||||
"multiple categories"
|
||||
|
@ -1138,7 +1132,6 @@ msgid "Choose auto to follow your browser settings"
|
|||
msgstr "Kies outo om jou blaaier verstellings te volg"
|
||||
|
||||
#: searx/templates/simple/preferences/tokens.html:2
|
||||
#, fuzzy
|
||||
msgid "Engine tokens"
|
||||
msgstr "Enjin tekens"
|
||||
|
||||
|
@ -1147,7 +1140,6 @@ msgid "Access tokens for private engines"
|
|||
msgstr "Toegangstekens vir private enjins"
|
||||
|
||||
#: searx/templates/simple/preferences/ui_locale.html:2
|
||||
#, fuzzy
|
||||
msgid "Interface language"
|
||||
msgstr "Koppelvlak taal"
|
||||
|
||||
|
@ -1156,9 +1148,8 @@ msgid "Change the language of the layout"
|
|||
msgstr "Verander die uitleg taal"
|
||||
|
||||
#: searx/templates/simple/result_templates/code.html:13
|
||||
#, fuzzy
|
||||
msgid "repo"
|
||||
msgstr "repo"
|
||||
msgstr "bewaarplek"
|
||||
|
||||
#: searx/templates/simple/result_templates/default.html:6
|
||||
msgid "show media"
|
||||
|
@ -1198,7 +1189,6 @@ msgid "hide map"
|
|||
msgstr "versteek kaart"
|
||||
|
||||
#: searx/templates/simple/result_templates/paper.html:5
|
||||
#, fuzzy
|
||||
msgid "Published date"
|
||||
msgstr "Gepubliseerde datum"
|
||||
|
||||
|
@ -1207,7 +1197,6 @@ msgid "Journal"
|
|||
msgstr "Joernaal"
|
||||
|
||||
#: searx/templates/simple/result_templates/paper.html:22
|
||||
#, fuzzy
|
||||
msgid "Editor"
|
||||
msgstr "Redakteur"
|
||||
|
||||
|
@ -1216,9 +1205,8 @@ msgid "Publisher"
|
|||
msgstr "Uitgewer"
|
||||
|
||||
#: searx/templates/simple/result_templates/paper.html:24
|
||||
#, fuzzy
|
||||
msgid "Type"
|
||||
msgstr "Tipe"
|
||||
msgstr "Tik"
|
||||
|
||||
#: searx/templates/simple/result_templates/paper.html:25
|
||||
msgid "Tags"
|
||||
|
@ -1257,9 +1245,8 @@ msgid "Seeder"
|
|||
msgstr "Saaier"
|
||||
|
||||
#: searx/templates/simple/result_templates/torrent.html:9
|
||||
#, fuzzy
|
||||
msgid "Leecher"
|
||||
msgstr "Leecher"
|
||||
msgstr "Suier"
|
||||
|
||||
#: searx/templates/simple/result_templates/torrent.html:11
|
||||
msgid "Filesize"
|
||||
|
@ -1452,4 +1439,3 @@ msgstr "versteek video"
|
|||
#~ "use another query or search in "
|
||||
#~ "more categories."
|
||||
#~ msgstr ""
|
||||
|
||||
|
|
Binary file not shown.
|
@ -13,18 +13,19 @@
|
|||
# alexgabi <alexgabi@disroot.org>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: searx\n"
|
||||
"Project-Id-Version: searx\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2023-12-23 08:54+0000\n"
|
||||
"PO-Revision-Date: 2023-10-15 20:53+0000\n"
|
||||
"PO-Revision-Date: 2023-12-30 09:19+0000\n"
|
||||
"Last-Translator: alexgabi <alexgabi@disroot.org>\n"
|
||||
"Language-Team: Basque <https://translate.codeberg.org/projects/searxng/"
|
||||
"searxng/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"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 5.3.1\n"
|
||||
"Generated-By: Babel 2.14.0\n"
|
||||
|
||||
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
||||
|
@ -759,11 +760,11 @@ msgstr "Bilaketaren URLa"
|
|||
|
||||
#: searx/templates/simple/elements/search_url.html:4
|
||||
msgid "Copied"
|
||||
msgstr ""
|
||||
msgstr "Kopiatuta"
|
||||
|
||||
#: searx/templates/simple/elements/search_url.html:4
|
||||
msgid "Copy"
|
||||
msgstr ""
|
||||
msgstr "Kopiatu"
|
||||
|
||||
#: searx/templates/simple/elements/suggestions.html:3
|
||||
msgid "Suggestions"
|
||||
|
@ -851,7 +852,7 @@ msgstr "Ez da emaitzarik aurkitu. Saia zaitezke:"
|
|||
|
||||
#: searx/templates/simple/messages/no_results.html:14
|
||||
msgid "There are no more results. You can try to:"
|
||||
msgstr ""
|
||||
msgstr "Ez dago emaitza gehiago. Saia zaitezke:"
|
||||
|
||||
#: searx/templates/simple/messages/no_results.html:19
|
||||
msgid "Refresh the page."
|
||||
|
@ -871,11 +872,11 @@ msgstr "Aldatu beste instantzia batera:"
|
|||
|
||||
#: searx/templates/simple/messages/no_results.html:24
|
||||
msgid "Search for another query or select another category."
|
||||
msgstr ""
|
||||
msgstr "Bilatu beste kontsulta bat edo hautatu beste kategoria bat."
|
||||
|
||||
#: searx/templates/simple/messages/no_results.html:25
|
||||
msgid "Go back to the previous page using the previous page button."
|
||||
msgstr ""
|
||||
msgstr "Itzuli aurreko orrialdera aurreko orrialdeko botoia erabiliz."
|
||||
|
||||
#: searx/templates/simple/preferences/answerers.html:4
|
||||
#: searx/templates/simple/preferences/engines.html:17
|
||||
|
@ -1685,4 +1686,3 @@ msgstr "ezkutatu bideoa"
|
|||
#~ "ez dugu emaitzarik aurkitu. Mesedez "
|
||||
#~ "beste kontsulta bat egin edo bilatu "
|
||||
#~ "kategoria gehiagotan."
|
||||
|
||||
|
|
Binary file not shown.
|
@ -11,23 +11,24 @@
|
|||
# stf <stefan.marsiske@gmail.com>, 2014
|
||||
# Markus Heiser <markus.heiser@darmarit.de>, 2022, 2023.
|
||||
# Shopimisrel <shopisrael12@gmail.com>, 2022.
|
||||
# return42 <markus.heiser@darmarit.de>, 2023.
|
||||
# return42 <markus.heiser@darmarit.de>, 2023, 2024.
|
||||
# shoko <nickskorohod@outlook.com>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: searx\n"
|
||||
"Project-Id-Version: searx\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2023-12-23 08:54+0000\n"
|
||||
"PO-Revision-Date: 2023-11-05 21:47+0000\n"
|
||||
"PO-Revision-Date: 2024-01-03 15:56+0000\n"
|
||||
"Last-Translator: return42 <markus.heiser@darmarit.de>\n"
|
||||
"Language-Team: Hebrew <https://translate.codeberg.org/projects/searxng/"
|
||||
"searxng/he/>\n"
|
||||
"Language: he\n"
|
||||
"Language-Team: Hebrew "
|
||||
"<https://translate.codeberg.org/projects/searxng/searxng/he/>\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n == 2) ? 1 : ((n > 10 "
|
||||
"&& n % 10 == 0) ? 2 : 3));\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n == 2) ? 1 : ((n > 10 && "
|
||||
"n % 10 == 0) ? 2 : 3));\n"
|
||||
"X-Generator: Weblate 5.3.1\n"
|
||||
"Generated-By: Babel 2.14.0\n"
|
||||
|
||||
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
||||
|
@ -73,7 +74,7 @@ msgstr "וידאו"
|
|||
#. CATEGORY_NAMES['IT']
|
||||
#: searx/searxng.msg
|
||||
msgid "it"
|
||||
msgstr "IT"
|
||||
msgstr "טכנולוגיה"
|
||||
|
||||
#. CATEGORY_NAMES['NEWS']
|
||||
#: searx/searxng.msg
|
||||
|
@ -1668,4 +1669,3 @@ msgstr "הסתר וידאו"
|
|||
#~ "use another query or search in "
|
||||
#~ "more categories."
|
||||
#~ msgstr "לא מצאנו תוצאות. אנא נסו שאילתא אחרת או חפשו בתוך יותר קטגוריות."
|
||||
|
||||
|
|
Binary file not shown.
|
@ -7,31 +7,32 @@
|
|||
# Issa1552 <fairfull.playing@gmail.com>, 2020
|
||||
# Matija Kromar <matija.kromar@gmail.com>, 2022.
|
||||
# Markus Heiser <markus.heiser@darmarit.de>, 2022.
|
||||
# SecularSteve <fairfull.playing@gmail.com>, 2022.
|
||||
# SecularSteve <fairfull.playing@gmail.com>, 2022, 2023.
|
||||
# prljav <marin.ruskica@gmail.com>, 2022.
|
||||
# ptomljanovic <phill2605@gmail.com>, 2022.
|
||||
# return42 <markus.heiser@darmarit.de>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: searx\n"
|
||||
"Project-Id-Version: searx\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2023-12-23 08:54+0000\n"
|
||||
"PO-Revision-Date: 2023-09-12 14:53+0000\n"
|
||||
"Last-Translator: return42 <markus.heiser@darmarit.de>\n"
|
||||
"PO-Revision-Date: 2023-12-29 14:09+0000\n"
|
||||
"Last-Translator: SecularSteve <fairfull.playing@gmail.com>\n"
|
||||
"Language-Team: Croatian <https://translate.codeberg.org/projects/searxng/"
|
||||
"searxng/hr/>\n"
|
||||
"Language: hr\n"
|
||||
"Language-Team: Croatian "
|
||||
"<https://translate.codeberg.org/projects/searxng/searxng/hr/>\n"
|
||||
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
|
||||
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
|
||||
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||
"X-Generator: Weblate 5.3.1\n"
|
||||
"Generated-By: Babel 2.14.0\n"
|
||||
|
||||
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
||||
#: searx/searxng.msg
|
||||
msgid "without further subgrouping"
|
||||
msgstr ""
|
||||
msgstr "bez daljnjeg podgrupiranja"
|
||||
|
||||
#. CONSTANT_NAMES['DEFAULT_CATEGORY']
|
||||
#: searx/searxng.msg
|
||||
|
@ -276,19 +277,19 @@ msgstr "Kanal"
|
|||
|
||||
#: searx/engines/radio_browser.py:104
|
||||
msgid "radio"
|
||||
msgstr ""
|
||||
msgstr "radio"
|
||||
|
||||
#: searx/engines/radio_browser.py:106
|
||||
msgid "bitrate"
|
||||
msgstr ""
|
||||
msgstr "bitrata"
|
||||
|
||||
#: searx/engines/radio_browser.py:107
|
||||
msgid "votes"
|
||||
msgstr ""
|
||||
msgstr "glasovi"
|
||||
|
||||
#: searx/engines/radio_browser.py:108
|
||||
msgid "clicks"
|
||||
msgstr ""
|
||||
msgstr "klikovi"
|
||||
|
||||
#: searx/engines/seekr.py:194 searx/engines/zlibrary.py:129
|
||||
msgid "Language"
|
||||
|
@ -342,11 +343,11 @@ msgstr "Noć"
|
|||
|
||||
#: searx/engines/zlibrary.py:130
|
||||
msgid "Book rating"
|
||||
msgstr ""
|
||||
msgstr "Ocjena knjige"
|
||||
|
||||
#: searx/engines/zlibrary.py:131
|
||||
msgid "File quality"
|
||||
msgstr ""
|
||||
msgstr "Kvaliteta datoteke"
|
||||
|
||||
#: searx/plugins/hash_plugin.py:24
|
||||
msgid "Converts strings to different hash digests."
|
||||
|
@ -404,16 +405,18 @@ msgid ""
|
|||
"Could not download the list of Tor exit-nodes from: "
|
||||
"https://check.torproject.org/exit-addresses"
|
||||
msgstr ""
|
||||
"Nije moguće preuzeti popis Tor izlaznih čvorova s: https://check.torproject."
|
||||
"org/exit-addresses"
|
||||
|
||||
#: searx/plugins/tor_check.py:78
|
||||
msgid ""
|
||||
"You are using Tor and it looks like you have this external IP address: "
|
||||
"{ip_address}"
|
||||
msgstr ""
|
||||
msgstr "Vi koristite Tor i izgleda da imate ovu vanjsku IP adresu: {ip_address}"
|
||||
|
||||
#: searx/plugins/tor_check.py:86
|
||||
msgid "You are not using Tor and you have this external IP address: {ip_address}"
|
||||
msgstr ""
|
||||
msgstr "Vi ne koristite Tor i imate ovu vanjsku IP adresu: {ip_address}"
|
||||
|
||||
#: searx/plugins/tracker_url_remover.py:29
|
||||
msgid "Tracker URL remover"
|
||||
|
@ -535,11 +538,11 @@ msgstr "Pogledajte zapisnike grešaka i pošaljite izvješće o greškama"
|
|||
|
||||
#: searx/templates/simple/preferences.html:74
|
||||
msgid "!bang for this engine"
|
||||
msgstr ""
|
||||
msgstr "!bang za ovaj motor"
|
||||
|
||||
#: searx/templates/simple/preferences.html:80
|
||||
msgid "!bang for its categories"
|
||||
msgstr ""
|
||||
msgstr "!bang za svoje kategorije"
|
||||
|
||||
#: searx/templates/simple/preferences.html:102
|
||||
#: searx/templates/simple/stats.html:64
|
||||
|
@ -736,7 +739,7 @@ msgstr "Preuzmi rezultate"
|
|||
|
||||
#: searx/templates/simple/elements/engines_msg.html:7
|
||||
msgid "Messages from the search engines"
|
||||
msgstr ""
|
||||
msgstr "Poruke s tražilica"
|
||||
|
||||
#: searx/templates/simple/elements/engines_msg.html:12
|
||||
msgid "Error!"
|
||||
|
@ -752,11 +755,11 @@ msgstr "Pretraži URL"
|
|||
|
||||
#: searx/templates/simple/elements/search_url.html:4
|
||||
msgid "Copied"
|
||||
msgstr ""
|
||||
msgstr "Kopirano"
|
||||
|
||||
#: searx/templates/simple/elements/search_url.html:4
|
||||
msgid "Copy"
|
||||
msgstr ""
|
||||
msgstr "Kopiraj"
|
||||
|
||||
#: searx/templates/simple/elements/suggestions.html:3
|
||||
msgid "Suggestions"
|
||||
|
@ -775,7 +778,7 @@ msgstr "Zadani jezik"
|
|||
#: searx/templates/simple/filters/languages.html:4
|
||||
#: searx/templates/simple/preferences/language.html:11
|
||||
msgid "Auto-detect"
|
||||
msgstr ""
|
||||
msgstr "Automatski otkrij"
|
||||
|
||||
#: searx/templates/simple/filters/safesearch.html:1
|
||||
#: searx/templates/simple/filters/safesearch.html:2
|
||||
|
@ -840,35 +843,35 @@ msgstr "Ispričavamo se!"
|
|||
|
||||
#: searx/templates/simple/messages/no_results.html:12
|
||||
msgid "No results were found. You can try to:"
|
||||
msgstr ""
|
||||
msgstr "Nema rezultata. Možete pokušati:"
|
||||
|
||||
#: searx/templates/simple/messages/no_results.html:14
|
||||
msgid "There are no more results. You can try to:"
|
||||
msgstr ""
|
||||
msgstr "Nema više rezultata. Možete pokušati:"
|
||||
|
||||
#: searx/templates/simple/messages/no_results.html:19
|
||||
msgid "Refresh the page."
|
||||
msgstr ""
|
||||
msgstr "Osvježiti stranicu."
|
||||
|
||||
#: searx/templates/simple/messages/no_results.html:20
|
||||
msgid "Search for another query or select another category (above)."
|
||||
msgstr ""
|
||||
msgstr "Potražiti druge upite ili da odaberete drugu kategoriju (iznad)."
|
||||
|
||||
#: searx/templates/simple/messages/no_results.html:21
|
||||
msgid "Change the search engine used in the preferences:"
|
||||
msgstr ""
|
||||
msgstr "Promijenite tražilicu korištenu u postavkama:"
|
||||
|
||||
#: searx/templates/simple/messages/no_results.html:22
|
||||
msgid "Switch to another instance:"
|
||||
msgstr ""
|
||||
msgstr "Prijeđi na drugu instancu:"
|
||||
|
||||
#: searx/templates/simple/messages/no_results.html:24
|
||||
msgid "Search for another query or select another category."
|
||||
msgstr ""
|
||||
msgstr "Potražite drugi upit ili odaberite drugu kategoriju."
|
||||
|
||||
#: searx/templates/simple/messages/no_results.html:25
|
||||
msgid "Go back to the previous page using the previous page button."
|
||||
msgstr ""
|
||||
msgstr "Vratite se na prethodnu stranicu pomoću gumba prethodne stranice."
|
||||
|
||||
#: searx/templates/simple/preferences/answerers.html:4
|
||||
#: searx/templates/simple/preferences/engines.html:17
|
||||
|
@ -966,17 +969,19 @@ msgstr "Otvoreni pristup DOI rješenja"
|
|||
|
||||
#: searx/templates/simple/preferences/doi_resolver.html:14
|
||||
msgid "Select service used by DOI rewrite"
|
||||
msgstr ""
|
||||
msgstr "Odaberite uslugu koju koristi DOI iznovopis"
|
||||
|
||||
#: searx/templates/simple/preferences/engines.html:9
|
||||
msgid ""
|
||||
"This tab does not exists in the user interface, but you can search in "
|
||||
"these engines by its !bangs."
|
||||
msgstr ""
|
||||
"Ova kartica ne postoji u korisničkom sučelju, ali u ovim tražilicama možete "
|
||||
"pretraživati po !bangs-ima."
|
||||
|
||||
#: searx/templates/simple/preferences/engines.html:19
|
||||
msgid "!bang"
|
||||
msgstr ""
|
||||
msgstr "!bang"
|
||||
|
||||
#: searx/templates/simple/preferences/engines.html:20
|
||||
msgid "Supports selected language"
|
||||
|
@ -984,7 +989,7 @@ msgstr "Podržava odabrani jezik"
|
|||
|
||||
#: searx/templates/simple/preferences/engines.html:23
|
||||
msgid "Weight"
|
||||
msgstr ""
|
||||
msgstr "Težina"
|
||||
|
||||
#: searx/templates/simple/preferences/engines.html:27
|
||||
msgid "Max time"
|
||||
|
@ -1020,17 +1025,20 @@ msgstr "Natrag"
|
|||
|
||||
#: searx/templates/simple/preferences/hotkeys.html:2
|
||||
msgid "Hotkeys"
|
||||
msgstr ""
|
||||
msgstr "Prečaci"
|
||||
|
||||
#: searx/templates/simple/preferences/hotkeys.html:13
|
||||
msgid "Vim-like"
|
||||
msgstr ""
|
||||
msgstr "Slično Vimu"
|
||||
|
||||
#: searx/templates/simple/preferences/hotkeys.html:18
|
||||
msgid ""
|
||||
"Navigate search results with hotkeys (JavaScript required). Press \"h\" "
|
||||
"key on main or result page to get help."
|
||||
msgstr ""
|
||||
"Krećite se rezultatima pretraživanja pomoću prečaca (potreban je JavaScript)"
|
||||
". Pritisnite tipku \"h\" na glavnoj stranici ili stranici s rezultatima za "
|
||||
"pomoć."
|
||||
|
||||
#: searx/templates/simple/preferences/image_proxy.html:2
|
||||
msgid "Image proxy"
|
||||
|
@ -1057,6 +1065,7 @@ msgstr "Koji jezik želite za pretraživanje?"
|
|||
#: searx/templates/simple/preferences/language.html:25
|
||||
msgid "Choose Auto-detect to let SearXNG detect the language of your query."
|
||||
msgstr ""
|
||||
"Odaberite Automatsko otkrivanje kako bi SearXNG otkrio jezik vašeg upita."
|
||||
|
||||
#: searx/templates/simple/preferences/method.html:2
|
||||
msgid "HTTP Method"
|
||||
|
@ -1064,7 +1073,7 @@ msgstr "HTTP metoda"
|
|||
|
||||
#: searx/templates/simple/preferences/method.html:14
|
||||
msgid "Change how forms are submitted"
|
||||
msgstr ""
|
||||
msgstr "Promijenite način slanja obrazaca"
|
||||
|
||||
#: searx/templates/simple/preferences/query_in_title.html:2
|
||||
msgid "Query in the page's title"
|
||||
|
@ -1099,6 +1108,8 @@ msgid ""
|
|||
"Perform search immediately if a category selected. Disable to select "
|
||||
"multiple categories"
|
||||
msgstr ""
|
||||
"Izvršite pretragu odmah ako je odabrana kategorija. Onemogući odabir više "
|
||||
"kategorija"
|
||||
|
||||
#: searx/templates/simple/preferences/theme.html:2
|
||||
msgid "Theme"
|
||||
|
@ -1685,4 +1696,3 @@ msgstr "sakrij video"
|
|||
#~ msgstr ""
|
||||
#~ "nema rezultata pretraživanja. Unesite novi "
|
||||
#~ "upit ili pretražite u više kategorija."
|
||||
|
||||
|
|
Binary file not shown.
|
@ -19,23 +19,24 @@
|
|||
# random <thrizem+wnd43@gmail.com>, 2022.
|
||||
# Franco Longo <longofrancoale@gmail.com>, 2022.
|
||||
# VaiTon <eyadlorenzo@gmail.com>, 2023.
|
||||
# return42 <markus.heiser@darmarit.de>, 2023.
|
||||
# return42 <markus.heiser@darmarit.de>, 2023, 2024.
|
||||
# SonoAX <giovanniilgiovo@gmail.com>, 2023.
|
||||
# nicfab <nicfab@icloud.com>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: searx\n"
|
||||
"Project-Id-Version: searx\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2023-12-23 08:54+0000\n"
|
||||
"PO-Revision-Date: 2023-12-10 13:56+0000\n"
|
||||
"PO-Revision-Date: 2024-01-03 15:56+0000\n"
|
||||
"Last-Translator: return42 <markus.heiser@darmarit.de>\n"
|
||||
"Language-Team: Italian <https://translate.codeberg.org/projects/searxng/"
|
||||
"searxng/it/>\n"
|
||||
"Language: it\n"
|
||||
"Language-Team: Italian "
|
||||
"<https://translate.codeberg.org/projects/searxng/searxng/it/>\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 5.3.1\n"
|
||||
"Generated-By: Babel 2.14.0\n"
|
||||
|
||||
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
||||
|
@ -868,7 +869,7 @@ msgstr "Non sono stati trovati risultati. Puoi provare a:"
|
|||
|
||||
#: searx/templates/simple/messages/no_results.html:14
|
||||
msgid "There are no more results. You can try to:"
|
||||
msgstr ""
|
||||
msgstr "Non ci sono più risultati. Puoi provare a:"
|
||||
|
||||
#: searx/templates/simple/messages/no_results.html:19
|
||||
msgid "Refresh the page."
|
||||
|
@ -888,11 +889,12 @@ msgstr "Passa ad un'altra istanza:"
|
|||
|
||||
#: searx/templates/simple/messages/no_results.html:24
|
||||
msgid "Search for another query or select another category."
|
||||
msgstr ""
|
||||
msgstr "Prova con un’altra ricerca o seleziona un’altra categoria."
|
||||
|
||||
#: searx/templates/simple/messages/no_results.html:25
|
||||
msgid "Go back to the previous page using the previous page button."
|
||||
msgstr ""
|
||||
"Torna alla pagina precedente utilizzando il pulsante della pagina precedente."
|
||||
|
||||
#: searx/templates/simple/preferences/answerers.html:4
|
||||
#: searx/templates/simple/preferences/engines.html:17
|
||||
|
@ -1166,7 +1168,7 @@ msgstr "Cambia la lingua dell'interfaccia"
|
|||
|
||||
#: searx/templates/simple/result_templates/code.html:13
|
||||
msgid "repo"
|
||||
msgstr "ripostigli"
|
||||
msgstr "ripostiglo"
|
||||
|
||||
#: searx/templates/simple/result_templates/default.html:6
|
||||
msgid "show media"
|
||||
|
@ -1725,4 +1727,3 @@ msgstr "nascondi video"
|
|||
#~ "non abbiamo trovato alcun risultato. "
|
||||
#~ "Prova una nuova ricerca, o cerca "
|
||||
#~ "in più categorie."
|
||||
|
||||
|
|
Binary file not shown.
|
@ -14,7 +14,7 @@ msgstr ""
|
|||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2023-12-23 08:54+0000\n"
|
||||
"PO-Revision-Date: 2023-12-29 07:07+0000\n"
|
||||
"PO-Revision-Date: 2023-12-29 14:09+0000\n"
|
||||
"Last-Translator: staram <gritty.year0043@fastmail.com>\n"
|
||||
"Language-Team: Malay <https://translate.codeberg.org/projects/searxng/"
|
||||
"searxng/ms/>\n"
|
||||
|
@ -355,11 +355,9 @@ msgid "Hostname replace"
|
|||
msgstr "Gantikan nama hos"
|
||||
|
||||
#: searx/plugins/hostname_replace.py:10
|
||||
#, fuzzy
|
||||
msgid "Rewrite result hostnames or remove results based on the hostname"
|
||||
msgstr ""
|
||||
"Tulis semula menyebabkan nama hos atau buang keputusan berdasarkan nama "
|
||||
"hos"
|
||||
"Buat semula keputusan nama hos atau buang keputusan berdasarkan nama hos"
|
||||
|
||||
#: searx/plugins/oa_doi_rewrite.py:9
|
||||
msgid "Open Access DOI rewrite"
|
||||
|
@ -923,9 +921,8 @@ msgid ""
|
|||
msgstr ""
|
||||
|
||||
#: searx/templates/simple/preferences/cookies.html:3
|
||||
#, fuzzy
|
||||
msgid "With that list, you can assess SearXNG transparency."
|
||||
msgstr "Dengan senarai ini, anda boleh menilai ketelusan SearXNG."
|
||||
msgstr "Dengan senarai itu, anda boleh menilai ketelusan SearXNG."
|
||||
|
||||
#: searx/templates/simple/preferences/cookies.html:9
|
||||
msgid "Cookie name"
|
||||
|
|
Binary file not shown.
|
@ -9,7 +9,7 @@
|
|||
# Rejo Zenger <rejo@zenger.nl>, 2016-2017
|
||||
# Markus Heiser <markus.heiser@darmarit.de>, 2022.
|
||||
# Chris Capisce <christof1588@gmail.com>, 2022.
|
||||
# SecularSteve <fairfull.playing@gmail.com>, 2022.
|
||||
# SecularSteve <fairfull.playing@gmail.com>, 2022, 2023.
|
||||
# Sweder doc <swederdvl@gmail.com>, 2022.
|
||||
# Peter Martin <weblate@pe7er.com>, 2022.
|
||||
# Max Westen <max@maxwesten.nl>, 2023.
|
||||
|
@ -19,18 +19,19 @@
|
|||
# microsoftocsharp <kottiberyu@gmail.com>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: searx\n"
|
||||
"Project-Id-Version: searx\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2023-12-23 08:54+0000\n"
|
||||
"PO-Revision-Date: 2023-12-10 13:56+0000\n"
|
||||
"Last-Translator: return42 <markus.heiser@darmarit.de>\n"
|
||||
"PO-Revision-Date: 2023-12-29 14:09+0000\n"
|
||||
"Last-Translator: SecularSteve <fairfull.playing@gmail.com>\n"
|
||||
"Language-Team: Dutch <https://translate.codeberg.org/projects/searxng/"
|
||||
"searxng/nl/>\n"
|
||||
"Language: nl\n"
|
||||
"Language-Team: Dutch "
|
||||
"<https://translate.codeberg.org/projects/searxng/searxng/nl/>\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 5.3.1\n"
|
||||
"Generated-By: Babel 2.14.0\n"
|
||||
|
||||
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
||||
|
@ -862,7 +863,7 @@ msgstr "Geen zoekresultaten. Probeer:"
|
|||
|
||||
#: searx/templates/simple/messages/no_results.html:14
|
||||
msgid "There are no more results. You can try to:"
|
||||
msgstr ""
|
||||
msgstr "Er zijn geen resultaten meer. U kunt proberen om:"
|
||||
|
||||
#: searx/templates/simple/messages/no_results.html:19
|
||||
msgid "Refresh the page."
|
||||
|
@ -882,11 +883,11 @@ msgstr "Verbind met een andere instance:"
|
|||
|
||||
#: searx/templates/simple/messages/no_results.html:24
|
||||
msgid "Search for another query or select another category."
|
||||
msgstr ""
|
||||
msgstr "Zoek naar een andere zoekopdracht of selecteer een andere categorie."
|
||||
|
||||
#: searx/templates/simple/messages/no_results.html:25
|
||||
msgid "Go back to the previous page using the previous page button."
|
||||
msgstr ""
|
||||
msgstr "Ga terug naar de vorige pagina met de knop Vorige pagina."
|
||||
|
||||
#: searx/templates/simple/preferences/answerers.html:4
|
||||
#: searx/templates/simple/preferences/engines.html:17
|
||||
|
@ -1720,4 +1721,3 @@ msgstr "verberg video"
|
|||
#~ "We konden geen resultaten vinden. "
|
||||
#~ "Probeer een andere zoekopdracht, of zoek"
|
||||
#~ " in meer categorieën."
|
||||
|
||||
|
|
Binary file not shown.
|
@ -10,23 +10,24 @@
|
|||
# Ricardo Simões <xmcorporation@gmail.com>, 2022.
|
||||
# zaioti <zaioti@tuta.io>, 2022.
|
||||
# Alexandre Flament <alex@al-f.net>, 2022.
|
||||
# return42 <markus.heiser@darmarit.de>, 2023.
|
||||
# return42 <markus.heiser@darmarit.de>, 2023, 2024.
|
||||
# fabiosantoscode <fabiosantosart@gmail.com>, 2023.
|
||||
# Coccocoas_Helper <coccocoahelper@gmail.com>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: searx\n"
|
||||
"Project-Id-Version: searx\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2023-12-23 08:54+0000\n"
|
||||
"PO-Revision-Date: 2023-12-21 20:16+0000\n"
|
||||
"PO-Revision-Date: 2024-01-03 15:56+0000\n"
|
||||
"Last-Translator: return42 <markus.heiser@darmarit.de>\n"
|
||||
"Language-Team: Portuguese <https://translate.codeberg.org/projects/searxng/"
|
||||
"searxng/pt/>\n"
|
||||
"Language: pt\n"
|
||||
"Language-Team: Portuguese "
|
||||
"<https://translate.codeberg.org/projects/searxng/searxng/pt/>\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Weblate 5.3.1\n"
|
||||
"Generated-By: Babel 2.14.0\n"
|
||||
|
||||
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
||||
|
@ -853,7 +854,7 @@ msgstr "Nenhum resultado encontrado. Pode tentar:"
|
|||
|
||||
#: searx/templates/simple/messages/no_results.html:14
|
||||
msgid "There are no more results. You can try to:"
|
||||
msgstr ""
|
||||
msgstr "Não existem mais resultados. Podes tentar:"
|
||||
|
||||
#: searx/templates/simple/messages/no_results.html:19
|
||||
msgid "Refresh the page."
|
||||
|
@ -862,22 +863,24 @@ msgstr "Atualize a página"
|
|||
#: searx/templates/simple/messages/no_results.html:20
|
||||
msgid "Search for another query or select another category (above)."
|
||||
msgstr ""
|
||||
"Pesquisar por outras palavras chaves ou escolher outra categoria (abaixo)."
|
||||
|
||||
#: searx/templates/simple/messages/no_results.html:21
|
||||
msgid "Change the search engine used in the preferences:"
|
||||
msgstr ""
|
||||
msgstr "Alterar o motor de busca usado nas preferências:"
|
||||
|
||||
#: searx/templates/simple/messages/no_results.html:22
|
||||
msgid "Switch to another instance:"
|
||||
msgstr ""
|
||||
msgstr "Troque de instância:"
|
||||
|
||||
#: searx/templates/simple/messages/no_results.html:24
|
||||
msgid "Search for another query or select another category."
|
||||
msgstr ""
|
||||
"Pesquisar por outras palavras-chave ou selecionar outra categoria (abaixo)."
|
||||
|
||||
#: searx/templates/simple/messages/no_results.html:25
|
||||
msgid "Go back to the previous page using the previous page button."
|
||||
msgstr ""
|
||||
msgstr "Volte à página anterior usando o botão de 'página anterior'."
|
||||
|
||||
#: searx/templates/simple/preferences/answerers.html:4
|
||||
#: searx/templates/simple/preferences/engines.html:17
|
||||
|
@ -1031,17 +1034,20 @@ msgstr "Voltar"
|
|||
|
||||
#: searx/templates/simple/preferences/hotkeys.html:2
|
||||
msgid "Hotkeys"
|
||||
msgstr ""
|
||||
msgstr "Teclas de atalho"
|
||||
|
||||
#: searx/templates/simple/preferences/hotkeys.html:13
|
||||
msgid "Vim-like"
|
||||
msgstr ""
|
||||
msgstr "Vim-like"
|
||||
|
||||
#: searx/templates/simple/preferences/hotkeys.html:18
|
||||
msgid ""
|
||||
"Navigate search results with hotkeys (JavaScript required). Press \"h\" "
|
||||
"key on main or result page to get help."
|
||||
msgstr ""
|
||||
"Navegue os resultados de pesquisa com teclas de atalhos de (JavaScript "
|
||||
"necessário). Pressione a tecla \"h\" na página principal ou de resultados "
|
||||
"para conseguir ajuda."
|
||||
|
||||
#: searx/templates/simple/preferences/image_proxy.html:2
|
||||
msgid "Image proxy"
|
||||
|
@ -1110,6 +1116,8 @@ msgid ""
|
|||
"Perform search immediately if a category selected. Disable to select "
|
||||
"multiple categories"
|
||||
msgstr ""
|
||||
"Pesquisar imediatamente se uma categoria estiver selecionada. Desative para "
|
||||
"selecionar múltiplas categorias."
|
||||
|
||||
#: searx/templates/simple/preferences/theme.html:2
|
||||
msgid "Theme"
|
||||
|
@ -1708,4 +1716,3 @@ msgstr "esconder vídeo"
|
|||
#~ "não encontramos nenhum resultado. Por "
|
||||
#~ "favor pesquise outra coisa ou utilize"
|
||||
#~ " mais categorias na sua pesquisa."
|
||||
|
||||
|
|
Binary file not shown.
|
@ -21,20 +21,22 @@
|
|||
# lhostfree951 <freeehost9191@gmail.com>, 2023.
|
||||
# return42 <markus.heiser@darmarit.de>, 2023.
|
||||
# Coccocoas_Helper <coccocoahelper@gmail.com>, 2023.
|
||||
# ETRB <codeberg-cm58mk@r.acmrb.uk>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: searx\n"
|
||||
"Project-Id-Version: searx\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2023-12-23 08:54+0000\n"
|
||||
"PO-Revision-Date: 2023-11-21 07:13+0000\n"
|
||||
"Last-Translator: return42 <markus.heiser@darmarit.de>\n"
|
||||
"PO-Revision-Date: 2023-12-29 14:09+0000\n"
|
||||
"Last-Translator: ETRB <codeberg-cm58mk@r.acmrb.uk>\n"
|
||||
"Language-Team: Portuguese (Brazil) <https://translate.codeberg.org/projects/"
|
||||
"searxng/searxng/pt_BR/>\n"
|
||||
"Language: pt_BR\n"
|
||||
"Language-Team: Portuguese (Brazil) "
|
||||
"<https://translate.codeberg.org/projects/searxng/searxng/pt_BR/>\n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: Weblate 5.3.1\n"
|
||||
"Generated-By: Babel 2.14.0\n"
|
||||
|
||||
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
||||
|
@ -864,7 +866,7 @@ msgstr "Nenhum resultado foi encontrado. Você pode tentar:"
|
|||
|
||||
#: searx/templates/simple/messages/no_results.html:14
|
||||
msgid "There are no more results. You can try to:"
|
||||
msgstr ""
|
||||
msgstr "Sem mais resultados, você pode tentar:"
|
||||
|
||||
#: searx/templates/simple/messages/no_results.html:19
|
||||
msgid "Refresh the page."
|
||||
|
@ -884,11 +886,11 @@ msgstr "Mude para outra instância:"
|
|||
|
||||
#: searx/templates/simple/messages/no_results.html:24
|
||||
msgid "Search for another query or select another category."
|
||||
msgstr ""
|
||||
msgstr "Pesquise outro termo ou selecione uma categoria diferente."
|
||||
|
||||
#: searx/templates/simple/messages/no_results.html:25
|
||||
msgid "Go back to the previous page using the previous page button."
|
||||
msgstr ""
|
||||
msgstr "Volte para a página anterior usando o botão 'página anterior'."
|
||||
|
||||
#: searx/templates/simple/preferences/answerers.html:4
|
||||
#: searx/templates/simple/preferences/engines.html:17
|
||||
|
@ -1731,4 +1733,3 @@ msgstr "ocultar vídeo"
|
|||
#~ "Não encontramos nenhum resultado. Utilize "
|
||||
#~ "outra consulta ou pesquisa em mais "
|
||||
#~ "categorias."
|
||||
|
||||
|
|
Binary file not shown.
|
@ -15,19 +15,20 @@
|
|||
# microsoftocsharp <kottiberyu@gmail.com>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: searx\n"
|
||||
"Project-Id-Version: searx\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2023-12-23 08:54+0000\n"
|
||||
"PO-Revision-Date: 2023-11-21 07:13+0000\n"
|
||||
"PO-Revision-Date: 2023-12-30 09:19+0000\n"
|
||||
"Last-Translator: alextecplayz <alextec70@outlook.com>\n"
|
||||
"Language-Team: Romanian <https://translate.codeberg.org/projects/searxng/"
|
||||
"searxng/ro/>\n"
|
||||
"Language: ro\n"
|
||||
"Language-Team: Romanian "
|
||||
"<https://translate.codeberg.org/projects/searxng/searxng/ro/>\n"
|
||||
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 "
|
||||
"< 20)) ? 1 : 2;\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
|
||||
"20)) ? 1 : 2;\n"
|
||||
"X-Generator: Weblate 5.3.1\n"
|
||||
"Generated-By: Babel 2.14.0\n"
|
||||
|
||||
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
||||
|
@ -858,7 +859,7 @@ msgstr "Niciun rezultat nu a fost găsit. Puteți încerca să:"
|
|||
|
||||
#: searx/templates/simple/messages/no_results.html:14
|
||||
msgid "There are no more results. You can try to:"
|
||||
msgstr ""
|
||||
msgstr "Nu mai sunt rezultate. Puteți să:"
|
||||
|
||||
#: searx/templates/simple/messages/no_results.html:19
|
||||
msgid "Refresh the page."
|
||||
|
@ -878,11 +879,12 @@ msgstr "Treceți la o altă instanță:"
|
|||
|
||||
#: searx/templates/simple/messages/no_results.html:24
|
||||
msgid "Search for another query or select another category."
|
||||
msgstr ""
|
||||
msgstr "Căutați folosind o altă solicitare sau selectați altă categorie."
|
||||
|
||||
#: searx/templates/simple/messages/no_results.html:25
|
||||
msgid "Go back to the previous page using the previous page button."
|
||||
msgstr ""
|
||||
"Reveniți la pagina anterioară folosind butonul pentru pagina anterioară."
|
||||
|
||||
#: searx/templates/simple/preferences/answerers.html:4
|
||||
#: searx/templates/simple/preferences/engines.html:17
|
||||
|
@ -1715,4 +1717,3 @@ msgstr "ascunde video"
|
|||
#~ "n-am găsit nici un rezultat. Folosiți"
|
||||
#~ " o altă interogare sau căutați în "
|
||||
#~ "mai multe categorii."
|
||||
|
||||
|
|
Binary file not shown.
|
@ -7,23 +7,24 @@
|
|||
# Marc Abonce Seguin, 2019
|
||||
# jugi1, 2017
|
||||
# Markus Heiser <markus.heiser@darmarit.de>, 2022.
|
||||
# SecularSteve <fairfull.playing@gmail.com>, 2022.
|
||||
# SecularSteve <fairfull.playing@gmail.com>, 2022, 2023.
|
||||
# return42 <markus.heiser@darmarit.de>, 2023.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: searx\n"
|
||||
"Project-Id-Version: searx\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2023-12-23 08:54+0000\n"
|
||||
"PO-Revision-Date: 2023-09-12 14:53+0000\n"
|
||||
"Last-Translator: return42 <markus.heiser@darmarit.de>\n"
|
||||
"PO-Revision-Date: 2023-12-29 14:09+0000\n"
|
||||
"Last-Translator: SecularSteve <fairfull.playing@gmail.com>\n"
|
||||
"Language-Team: Serbian <https://translate.codeberg.org/projects/searxng/"
|
||||
"searxng/sr/>\n"
|
||||
"Language: sr\n"
|
||||
"Language-Team: Serbian "
|
||||
"<https://translate.codeberg.org/projects/searxng/searxng/sr/>\n"
|
||||
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
|
||||
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
|
||||
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||
"X-Generator: Weblate 5.3.1\n"
|
||||
"Generated-By: Babel 2.14.0\n"
|
||||
|
||||
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
||||
|
@ -274,19 +275,19 @@ msgstr "Канал"
|
|||
|
||||
#: searx/engines/radio_browser.py:104
|
||||
msgid "radio"
|
||||
msgstr ""
|
||||
msgstr "радио"
|
||||
|
||||
#: searx/engines/radio_browser.py:106
|
||||
msgid "bitrate"
|
||||
msgstr ""
|
||||
msgstr "битрата"
|
||||
|
||||
#: searx/engines/radio_browser.py:107
|
||||
msgid "votes"
|
||||
msgstr ""
|
||||
msgstr "гласови"
|
||||
|
||||
#: searx/engines/radio_browser.py:108
|
||||
msgid "clicks"
|
||||
msgstr ""
|
||||
msgstr "кликови"
|
||||
|
||||
#: searx/engines/seekr.py:194 searx/engines/zlibrary.py:129
|
||||
msgid "Language"
|
||||
|
@ -340,11 +341,11 @@ msgstr "Noc"
|
|||
|
||||
#: searx/engines/zlibrary.py:130
|
||||
msgid "Book rating"
|
||||
msgstr ""
|
||||
msgstr "Оцена књиге"
|
||||
|
||||
#: searx/engines/zlibrary.py:131
|
||||
msgid "File quality"
|
||||
msgstr ""
|
||||
msgstr "Квалитет датотеке"
|
||||
|
||||
#: searx/plugins/hash_plugin.py:24
|
||||
msgid "Converts strings to different hash digests."
|
||||
|
@ -403,6 +404,8 @@ msgid ""
|
|||
"Could not download the list of Tor exit-nodes from: "
|
||||
"https://check.torproject.org/exit-addresses"
|
||||
msgstr ""
|
||||
"Није могуће преузети листу Тор излазних чворова са: https://check.torproject."
|
||||
"org/exit-addresses"
|
||||
|
||||
#: searx/plugins/tor_check.py:78
|
||||
msgid ""
|
||||
|
@ -414,7 +417,7 @@ msgstr ""
|
|||
|
||||
#: searx/plugins/tor_check.py:86
|
||||
msgid "You are not using Tor and you have this external IP address: {ip_address}"
|
||||
msgstr ""
|
||||
msgstr "Не користите Тор и имате ову спољну ИП адресу: {ip_address}"
|
||||
|
||||
#: searx/plugins/tracker_url_remover.py:29
|
||||
msgid "Tracker URL remover"
|
||||
|
@ -536,11 +539,11 @@ msgstr "Погледајте информације о грешки и приј
|
|||
|
||||
#: searx/templates/simple/preferences.html:74
|
||||
msgid "!bang for this engine"
|
||||
msgstr ""
|
||||
msgstr "!bang за овај мотор"
|
||||
|
||||
#: searx/templates/simple/preferences.html:80
|
||||
msgid "!bang for its categories"
|
||||
msgstr ""
|
||||
msgstr "!bang за своје категорије"
|
||||
|
||||
#: searx/templates/simple/preferences.html:102
|
||||
#: searx/templates/simple/stats.html:64
|
||||
|
@ -737,7 +740,7 @@ msgstr "Резултати преузимања"
|
|||
|
||||
#: searx/templates/simple/elements/engines_msg.html:7
|
||||
msgid "Messages from the search engines"
|
||||
msgstr ""
|
||||
msgstr "Поруке из претраживача"
|
||||
|
||||
#: searx/templates/simple/elements/engines_msg.html:12
|
||||
msgid "Error!"
|
||||
|
@ -753,11 +756,11 @@ msgstr "Тражи URL адресу"
|
|||
|
||||
#: searx/templates/simple/elements/search_url.html:4
|
||||
msgid "Copied"
|
||||
msgstr ""
|
||||
msgstr "Копирано"
|
||||
|
||||
#: searx/templates/simple/elements/search_url.html:4
|
||||
msgid "Copy"
|
||||
msgstr ""
|
||||
msgstr "Копирај"
|
||||
|
||||
#: searx/templates/simple/elements/suggestions.html:3
|
||||
msgid "Suggestions"
|
||||
|
@ -776,7 +779,7 @@ msgstr "Подразумевани језик"
|
|||
#: searx/templates/simple/filters/languages.html:4
|
||||
#: searx/templates/simple/preferences/language.html:11
|
||||
msgid "Auto-detect"
|
||||
msgstr ""
|
||||
msgstr "Аутоматски откриј"
|
||||
|
||||
#: searx/templates/simple/filters/safesearch.html:1
|
||||
#: searx/templates/simple/filters/safesearch.html:2
|
||||
|
@ -841,35 +844,35 @@ msgstr "Опростите!"
|
|||
|
||||
#: searx/templates/simple/messages/no_results.html:12
|
||||
msgid "No results were found. You can try to:"
|
||||
msgstr ""
|
||||
msgstr "Нису пронађени резултати. Можете покушати да:"
|
||||
|
||||
#: searx/templates/simple/messages/no_results.html:14
|
||||
msgid "There are no more results. You can try to:"
|
||||
msgstr ""
|
||||
msgstr "Нема више резултата. Можете покушати да:"
|
||||
|
||||
#: searx/templates/simple/messages/no_results.html:19
|
||||
msgid "Refresh the page."
|
||||
msgstr ""
|
||||
msgstr "Освежите страницу."
|
||||
|
||||
#: searx/templates/simple/messages/no_results.html:20
|
||||
msgid "Search for another query or select another category (above)."
|
||||
msgstr ""
|
||||
msgstr "Потражите други упит или да изаберете другу категорију (изнад)."
|
||||
|
||||
#: searx/templates/simple/messages/no_results.html:21
|
||||
msgid "Change the search engine used in the preferences:"
|
||||
msgstr ""
|
||||
msgstr "Промените претраживач који се користи у подешавањима:"
|
||||
|
||||
#: searx/templates/simple/messages/no_results.html:22
|
||||
msgid "Switch to another instance:"
|
||||
msgstr ""
|
||||
msgstr "Пребаците се на другу инстанцу:"
|
||||
|
||||
#: searx/templates/simple/messages/no_results.html:24
|
||||
msgid "Search for another query or select another category."
|
||||
msgstr ""
|
||||
msgstr "Потражите други упит или изаберите другу категорију."
|
||||
|
||||
#: searx/templates/simple/messages/no_results.html:25
|
||||
msgid "Go back to the previous page using the previous page button."
|
||||
msgstr ""
|
||||
msgstr "Вратите се на претходну страницу помоћу дугмета за претходну страницу."
|
||||
|
||||
#: searx/templates/simple/preferences/answerers.html:4
|
||||
#: searx/templates/simple/preferences/engines.html:17
|
||||
|
@ -966,17 +969,19 @@ msgstr "Отворени приступ DOI решења"
|
|||
|
||||
#: searx/templates/simple/preferences/doi_resolver.html:14
|
||||
msgid "Select service used by DOI rewrite"
|
||||
msgstr ""
|
||||
msgstr "Изаберите услугу коју користи ДОИ изновопис"
|
||||
|
||||
#: searx/templates/simple/preferences/engines.html:9
|
||||
msgid ""
|
||||
"This tab does not exists in the user interface, but you can search in "
|
||||
"these engines by its !bangs."
|
||||
msgstr ""
|
||||
"Ова картица не постоји у корисничком интерфејсу, али можете претраживати у "
|
||||
"овим машинама по његовим !bangs-има."
|
||||
|
||||
#: searx/templates/simple/preferences/engines.html:19
|
||||
msgid "!bang"
|
||||
msgstr ""
|
||||
msgstr "!bang"
|
||||
|
||||
#: searx/templates/simple/preferences/engines.html:20
|
||||
msgid "Supports selected language"
|
||||
|
@ -984,7 +989,7 @@ msgstr "Подржава изабрани језик"
|
|||
|
||||
#: searx/templates/simple/preferences/engines.html:23
|
||||
msgid "Weight"
|
||||
msgstr ""
|
||||
msgstr "Тежина"
|
||||
|
||||
#: searx/templates/simple/preferences/engines.html:27
|
||||
msgid "Max time"
|
||||
|
@ -1020,17 +1025,20 @@ msgstr "Назад"
|
|||
|
||||
#: searx/templates/simple/preferences/hotkeys.html:2
|
||||
msgid "Hotkeys"
|
||||
msgstr ""
|
||||
msgstr "Пречаци"
|
||||
|
||||
#: searx/templates/simple/preferences/hotkeys.html:13
|
||||
msgid "Vim-like"
|
||||
msgstr ""
|
||||
msgstr "Слично Вим-у"
|
||||
|
||||
#: searx/templates/simple/preferences/hotkeys.html:18
|
||||
msgid ""
|
||||
"Navigate search results with hotkeys (JavaScript required). Press \"h\" "
|
||||
"key on main or result page to get help."
|
||||
msgstr ""
|
||||
"Крећите се кроз резултате претраге помоћу пречаћних тастера (потребан је "
|
||||
"JavaScript). Притисните тастер \"х\" на главној страници или страници са "
|
||||
"резултатима да бисте добили помоћ."
|
||||
|
||||
#: searx/templates/simple/preferences/image_proxy.html:2
|
||||
msgid "Image proxy"
|
||||
|
@ -1057,6 +1065,8 @@ msgstr "Који језик преферирате за претрагу?"
|
|||
#: searx/templates/simple/preferences/language.html:25
|
||||
msgid "Choose Auto-detect to let SearXNG detect the language of your query."
|
||||
msgstr ""
|
||||
"Одаберите Ауто-детецт да бисте дозволили SearXNG да открије језик вашег "
|
||||
"упита."
|
||||
|
||||
#: searx/templates/simple/preferences/method.html:2
|
||||
msgid "HTTP Method"
|
||||
|
@ -1064,7 +1074,7 @@ msgstr "ХТТП метода"
|
|||
|
||||
#: searx/templates/simple/preferences/method.html:14
|
||||
msgid "Change how forms are submitted"
|
||||
msgstr ""
|
||||
msgstr "Промените начин слања образаца"
|
||||
|
||||
#: searx/templates/simple/preferences/query_in_title.html:2
|
||||
msgid "Query in the page's title"
|
||||
|
@ -1099,6 +1109,8 @@ msgid ""
|
|||
"Perform search immediately if a category selected. Disable to select "
|
||||
"multiple categories"
|
||||
msgstr ""
|
||||
"Извршите претрагу одмах ако је одабрана категорија. Онемогућите да бисте "
|
||||
"изабрали више категорија"
|
||||
|
||||
#: searx/templates/simple/preferences/theme.html:2
|
||||
msgid "Theme"
|
||||
|
@ -1678,4 +1690,3 @@ msgstr "сакриј видео"
|
|||
#~ msgstr ""
|
||||
#~ "нема никавих резултата претраге. Молимо "
|
||||
#~ "покишајте другу претрагу или категорију."
|
||||
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
export SEARXNG_URL=''
|
||||
export SEARXNG_PORT='8888'
|
||||
export SEARXNG_BIND_ADDRESS='127.0.0.1'
|
||||
export GIT_URL='https://github.com/searxng/searxng'
|
||||
export GIT_BRANCH='master'
|
|
@ -0,0 +1,32 @@
|
|||
#!/usr/bin/env bash
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
# shellcheck source=utils/lib.sh
|
||||
. /dev/null
|
||||
|
||||
build.env.export() {
|
||||
GIT_BRANCH="$(git branch | grep '\*' | cut -d' ' -f2-)"
|
||||
GIT_REMOTE="$(git config "branch.${GIT_BRANCH}.remote")"
|
||||
GIT_URL="$(git config --get "remote.${GIT_REMOTE}.url")"
|
||||
if [[ "${GIT_URL}" == git@* ]]; then
|
||||
GIT_URL="${GIT_URL/://}"
|
||||
GIT_URL="${GIT_URL/git@/https://}"
|
||||
fi
|
||||
if [[ "${GIT_URL}" == *.git ]]; then
|
||||
GIT_URL="${GIT_URL%.git}"
|
||||
fi
|
||||
|
||||
SEARXNG_URL="$(python "${REPO_ROOT}/utils/get_setting.py" server.base_url)"
|
||||
SEARXNG_PORT="$(python "${REPO_ROOT}/utils/get_setting.py" server.port)"
|
||||
SEARXNG_BIND_ADDRESS="$(python "${REPO_ROOT}/utils/get_setting.py" server.bind_address)"
|
||||
export GIT_URL
|
||||
export GIT_BRANCH
|
||||
export SEARXNG_URL
|
||||
export SEARXNG_PORT
|
||||
export SEARXNG_BIND_ADDRESS
|
||||
|
||||
}
|
||||
|
||||
pushd "${REPO_ROOT}" &> /dev/null
|
||||
build.env.export
|
||||
popd &> /dev/null
|
|
@ -1,61 +0,0 @@
|
|||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
"""build environment used by shell scripts
|
||||
"""
|
||||
|
||||
# set path
|
||||
import sys
|
||||
import os
|
||||
from os.path import realpath, dirname, join, sep, abspath
|
||||
|
||||
repo_root = realpath(dirname(realpath(__file__)) + sep + '..')
|
||||
sys.path.insert(0, repo_root)
|
||||
|
||||
# Assure that the settings file from repository's working tree is used to
|
||||
# generate the build_env, not from /etc/searxng/settings.yml.
|
||||
os.environ['SEARXNG_SETTINGS_PATH'] = join(repo_root, 'etc', 'settings.yml')
|
||||
|
||||
def _env(*arg, **kwargs):
|
||||
val = get_setting(*arg, **kwargs)
|
||||
if val is True:
|
||||
val = '1'
|
||||
elif val is False:
|
||||
val = ''
|
||||
return val
|
||||
|
||||
# If you add or remove variables here, do not forget to update:
|
||||
# - ./docs/admin/engines/settings.rst
|
||||
# - ./docs/dev/makefile.rst (section make buildenv)
|
||||
|
||||
name_val = [
|
||||
|
||||
('SEARXNG_URL' , 'server.base_url'),
|
||||
('SEARXNG_PORT' , 'server.port'),
|
||||
('SEARXNG_BIND_ADDRESS' , 'server.bind_address'),
|
||||
|
||||
]
|
||||
|
||||
brand_env = 'utils' + sep + 'brand.env'
|
||||
|
||||
# Some defaults in the settings.yml are taken from the environment,
|
||||
# e.g. SEARXNG_BIND_ADDRESS (:py:obj:`searx.settings_defaults.SHEMA`). When the
|
||||
# 'brand.env' file is created these environment variables should be unset first::
|
||||
|
||||
_unset = object()
|
||||
for name, option in name_val:
|
||||
if not os.environ.get(name, _unset) is _unset:
|
||||
del os.environ[name]
|
||||
|
||||
# After the variables are unset in the environ, we can import from the searx
|
||||
# package (what will read the values from the settings.yml).
|
||||
|
||||
from searx.version import GIT_URL, GIT_BRANCH
|
||||
from searx import get_setting
|
||||
|
||||
print('build %s (settings from: %s)' % (brand_env, os.environ['SEARXNG_SETTINGS_PATH']))
|
||||
sys.path.insert(0, repo_root)
|
||||
|
||||
with open(repo_root + sep + brand_env, 'w', encoding='utf-8') as f:
|
||||
for name, option in name_val:
|
||||
print("export %s='%s'" % (name, _env(option)), file=f)
|
||||
print(f"export GIT_URL='{GIT_URL}'", file=f)
|
||||
print(f"export GIT_BRANCH='{GIT_BRANCH}'", file=f)
|
|
@ -4,8 +4,6 @@
|
|||
|
||||
# shellcheck source=utils/lib.sh
|
||||
source "$(dirname "${BASH_SOURCE[0]}")/lib.sh"
|
||||
# shellcheck source=utils/brand.env
|
||||
source "${REPO_ROOT}/utils/brand.env"
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# config
|
||||
|
|
|
@ -0,0 +1,123 @@
|
|||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
"""build environment used by shell scripts
|
||||
"""
|
||||
|
||||
# set path
|
||||
import sys
|
||||
import importlib.util
|
||||
import re
|
||||
|
||||
from pathlib import Path
|
||||
|
||||
repo_root = Path(__file__).resolve().parent.parent
|
||||
|
||||
|
||||
def main(setting_name):
|
||||
|
||||
settings_path = repo_root / "searx" / "settings.yml"
|
||||
with open(settings_path) as f:
|
||||
settings = parse_yaml(f.read())
|
||||
print(get_setting_value(settings, setting_name))
|
||||
|
||||
|
||||
def get_setting_value(settings, name):
|
||||
value = settings
|
||||
for a in name.split("."):
|
||||
value = value[a]
|
||||
if value is True:
|
||||
value = "1"
|
||||
elif value is False:
|
||||
value = ""
|
||||
return value
|
||||
|
||||
|
||||
def parse_yaml(yaml_str):
|
||||
"""A simple YAML parser that converts a YAML string to a Python dictionary.
|
||||
This parser can handle nested dictionaries, but does not handle list or JSON
|
||||
like structures.
|
||||
|
||||
Good enough parser to get the values of server.base_url, server.port and
|
||||
server.bind_address
|
||||
|
||||
"""
|
||||
|
||||
def get_type_and_value_without_comment(line):
|
||||
"""Extract value without comment and quote
|
||||
|
||||
Returns a tuple:
|
||||
|
||||
1. str or None: str when the value is written inside quote, None otherwise
|
||||
2. the value without quote if any
|
||||
"""
|
||||
match = re.search(r"\"(.*)\"(\s+#)?|\'(.*)\'(\s+#)?|([^#]*)(\s+#)?", line)
|
||||
if match:
|
||||
g = match.groups()
|
||||
if g[0] is not None:
|
||||
return str, g[0]
|
||||
elif g[2] is not None:
|
||||
return str, g[2]
|
||||
elif g[4] is not None:
|
||||
return None, g[4].strip()
|
||||
return None, line.strip()
|
||||
|
||||
# fmt: off
|
||||
true_values = ("y", "Y", "yes", "Yes", "YES", "true", "True", "TRUE", "on", "On", "ON",)
|
||||
false_values = ("n", "N", "no", "No", "NO", "false", "False", "FALSE", "off", "Off", "OFF",)
|
||||
# fmt: on
|
||||
|
||||
def process_line(line):
|
||||
"""Extract key and value from a line, considering its indentation."""
|
||||
if ": " in line:
|
||||
key, value = line.split(": ", 1)
|
||||
key = key.strip()
|
||||
value_type, value = get_type_and_value_without_comment(value)
|
||||
if value in true_values and value_type is None:
|
||||
value = True
|
||||
elif value in false_values and value_type is None:
|
||||
value = False
|
||||
elif value.replace(".", "").isdigit() and value_type is None:
|
||||
for t in (int, float):
|
||||
try:
|
||||
value = t(value)
|
||||
break
|
||||
except ValueError:
|
||||
continue
|
||||
return key, value
|
||||
return None, None
|
||||
|
||||
def get_indentation_level(line):
|
||||
"""Determine the indentation level of a line."""
|
||||
return len(line) - len(line.lstrip())
|
||||
|
||||
yaml_dict = {}
|
||||
lines = yaml_str.split("\n")
|
||||
stack = [yaml_dict]
|
||||
|
||||
for line in lines:
|
||||
if not line.strip():
|
||||
continue # Skip empty lines
|
||||
|
||||
indentation_level = get_indentation_level(line)
|
||||
# Assuming 2 spaces per indentation level
|
||||
# see .yamllint.yml
|
||||
current_level = indentation_level // 2
|
||||
|
||||
# Adjust the stack based on the current indentation level
|
||||
while len(stack) > current_level + 1:
|
||||
stack.pop()
|
||||
|
||||
if line.endswith(":"):
|
||||
key = line[0:-1].strip()
|
||||
new_dict = {}
|
||||
stack[-1][key] = new_dict
|
||||
stack.append(new_dict)
|
||||
else:
|
||||
key, value = process_line(line)
|
||||
if key is not None:
|
||||
stack[-1][key] = value
|
||||
|
||||
return yaml_dict
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main(sys.argv[1])
|
|
@ -194,6 +194,7 @@ wait_key(){
|
|||
[[ -n $FORCE_TIMEOUT ]] && _t=$FORCE_TIMEOUT
|
||||
[[ -n $_t ]] && _t="-t $_t"
|
||||
printf "$msg"
|
||||
# shellcheck disable=SC2229
|
||||
# shellcheck disable=SC2086
|
||||
read -r -s -n1 $_t || true
|
||||
echo
|
||||
|
@ -227,7 +228,7 @@ ask_yn() {
|
|||
while true; do
|
||||
clean_stdin
|
||||
printf "$1 ${choice} "
|
||||
# shellcheck disable=SC2086
|
||||
# shellcheck disable=SC2086,SC2229
|
||||
read -r -n1 $_t
|
||||
if [[ -z $REPLY ]]; then
|
||||
printf "$default\n"; break
|
||||
|
@ -261,7 +262,7 @@ tee_stderr () {
|
|||
if [[ -n $1 ]] ; then _t="$1"; fi
|
||||
|
||||
(while read -r line; do
|
||||
# shellcheck disable=SC2086
|
||||
# shellcheck disable=SC2086,SC2229
|
||||
sleep $_t
|
||||
echo -e "$line" >&2
|
||||
echo "$line"
|
||||
|
@ -367,7 +368,7 @@ choose_one() {
|
|||
printf "$1 [${_BGreen}$default${_creset}] "
|
||||
|
||||
if (( 10 > max )); then
|
||||
# shellcheck disable=SC2086
|
||||
# shellcheck disable=SC2086,SC2229
|
||||
read -r -n1 $_t
|
||||
else
|
||||
# shellcheck disable=SC2086,SC2229
|
||||
|
@ -708,6 +709,7 @@ pyenv.uninstall() {
|
|||
pyenv.cmd python setup.py develop --uninstall 2>&1 \
|
||||
| prefix_stdout "${_Blue}PYENV ${_creset}[pyenv.uninstall] "
|
||||
else
|
||||
# shellcheck disable=SC2086
|
||||
pyenv.cmd python -m pip uninstall --yes ${PYOBJECTS} 2>&1 \
|
||||
| prefix_stdout "${_Blue}PYENV ${_creset}[pyenv.uninstall] "
|
||||
fi
|
||||
|
|
|
@ -37,7 +37,7 @@ is.static.build.commit() {
|
|||
|
||||
# check all files of the commit belongs to $STATIC_BUILT_PATHS
|
||||
commit_files=$(git diff-tree --no-commit-id --name-only -r "${commit_sha}")
|
||||
for i in ${STATIC_BUILT_PATHS[*]}; do
|
||||
for i in "${STATIC_BUILT_PATHS[@]}"; do
|
||||
# remove files of ${STATIC_BUILT_PATHS}
|
||||
commit_files=$(echo "${commit_files}" | grep -v "^${i}")
|
||||
done
|
||||
|
|
|
@ -4,8 +4,6 @@
|
|||
|
||||
# shellcheck source=utils/lib.sh
|
||||
source "$(dirname "${BASH_SOURCE[0]}")/lib.sh"
|
||||
# shellcheck source=utils/brand.env
|
||||
source "${REPO_ROOT}/utils/brand.env"
|
||||
|
||||
# load environment of the LXC suite
|
||||
LXC_ENV="${LXC_ENV:-${REPO_ROOT}/utils/lxc-searxng.env}"
|
||||
|
|
|
@ -3,8 +3,6 @@
|
|||
|
||||
# shellcheck source=utils/lib.sh
|
||||
source "$(dirname "${BASH_SOURCE[0]}")/lib.sh"
|
||||
# shellcheck source=utils/brand.env
|
||||
source "${REPO_ROOT}/utils/brand.env"
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# config
|
||||
|
|
|
@ -4,8 +4,6 @@
|
|||
|
||||
# shellcheck source=utils/lib.sh
|
||||
source "$(dirname "${BASH_SOURCE[0]}")/lib.sh"
|
||||
# shellcheck source=utils/brand.env
|
||||
source "${REPO_ROOT}/utils/brand.env"
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# config
|
||||
|
|
|
@ -9,8 +9,8 @@ SEARXNG_UWSGI_USE_SOCKET="${SEARXNG_UWSGI_USE_SOCKET:-true}"
|
|||
source "$(dirname "${BASH_SOURCE[0]}")/lib.sh"
|
||||
# shellcheck source=utils/lib_redis.sh
|
||||
source "$(dirname "${BASH_SOURCE[0]}")/lib_redis.sh"
|
||||
# shellcheck source=utils/brand.env
|
||||
source "${REPO_ROOT}/utils/brand.env"
|
||||
# shellcheck source=utils/brand.sh
|
||||
source "${REPO_ROOT}/utils/brand.sh"
|
||||
|
||||
SERVICE_NAME="searxng"
|
||||
SERVICE_USER="searxng"
|
||||
|
@ -159,7 +159,7 @@ searxng.instance.env() {
|
|||
echo " SEARXNG_INTERNAL_HTTP: ${SEARXNG_INTERNAL_HTTP}"
|
||||
fi
|
||||
cat <<EOF
|
||||
environment ${SEARXNG_SRC}/utils/brand.env:
|
||||
environment:
|
||||
GIT_URL : ${GIT_URL}
|
||||
GIT_BRANCH : ${GIT_BRANCH}
|
||||
SEARXNG_URL : ${SEARXNG_URL}
|
||||
|
@ -527,7 +527,6 @@ searxng.install.settings() {
|
|||
|
||||
if ! [[ -f "${SEARXNG_SRC}/.git/config" ]]; then
|
||||
die "Before install settings, first install SearXNG."
|
||||
exit 42
|
||||
fi
|
||||
|
||||
mkdir -p "$(dirname "${SEARXNG_SETTINGS_PATH}")"
|
||||
|
@ -608,8 +607,8 @@ searxng.install.uwsgi.http() {
|
|||
|
||||
searxng.install.uwsgi.socket() {
|
||||
rst_para "Install ${SEARXNG_UWSGI_APP} using socket at: ${SEARXNG_UWSGI_SOCKET}"
|
||||
mkdir -p "$(dirname ${SEARXNG_UWSGI_SOCKET})"
|
||||
chown -R "${SERVICE_USER}:${SERVICE_GROUP}" "$(dirname ${SEARXNG_UWSGI_SOCKET})"
|
||||
mkdir -p "$(dirname "${SEARXNG_UWSGI_SOCKET}")"
|
||||
chown -R "${SERVICE_USER}:${SERVICE_GROUP}" "$(dirname "${SEARXNG_UWSGI_SOCKET}")"
|
||||
|
||||
case $DIST_ID-$DIST_VERS in
|
||||
fedora-*)
|
||||
|
|
|
@ -7,6 +7,9 @@ import os
|
|||
import sys
|
||||
import logging
|
||||
import warnings
|
||||
from pathlib import Path
|
||||
|
||||
repo_root = Path(__file__).resolve().parent.parent
|
||||
|
||||
LOG_FORMAT_DEBUG = '%(levelname)-7s %(name)-30.30s: %(message)s'
|
||||
logging.basicConfig(level=logging.getLevelName('DEBUG'), format=LOG_FORMAT_DEBUG)
|
||||
|
@ -26,6 +29,12 @@ if os.path.isfile(OLD_SETTING):
|
|||
))
|
||||
warnings.warn(msg, DeprecationWarning)
|
||||
|
||||
OLD_BRAND_ENV = repo_root / 'utils' / 'brand.env'
|
||||
|
||||
if os.path.isfile(OLD_BRAND_ENV):
|
||||
msg = ('%s is no longer needed, remove the file' % (OLD_BRAND_ENV))
|
||||
warnings.warn(msg, DeprecationWarning)
|
||||
|
||||
from searx import redisdb, get_setting
|
||||
|
||||
if not redisdb.initialize():
|
||||
|
|
Loading…
Reference in New Issue