mirror of https://github.com/searxng/searxng.git
Compare commits
69 Commits
056dd71716
...
702eb875b6
Author | SHA1 | Date |
---|---|---|
Markus Heiser | 702eb875b6 | |
Markus Heiser | 0f9694c90b | |
Markus Heiser | ccc4f30b20 | |
Markus Heiser | c4b874e9b0 | |
Markus Heiser | 7c4e4ebd40 | |
searxng-bot | b8f1a329d3 | |
dependabot[bot] | 67f7548573 | |
dependabot[bot] | f40fc2dd4f | |
Markus Heiser | 10d3af84b8 | |
dependabot[bot] | 4b57bc3db1 | |
searxng-bot | a345cbbe51 | |
Nicolas Dato | abd9b271bc | |
Leo Liu | dfaf5868e2 | |
Leo Liu | b173f3a8b9 | |
dependabot[bot] | 2fbf15eccb | |
searxng-bot | 08c5f258d8 | |
dependabot[bot] | cd384a8a60 | |
Markus Heiser | c4055e449f | |
Markus Heiser | 2fdbf2622b | |
Bnyro | b07c0ae39f | |
Markus Heiser | 56e3d72a76 | |
searxng-bot | cc148a76b0 | |
uply23333 | fa108c140f | |
Markus Heiser | fa4dfd4efe | |
Markus Heiser | b183e620d8 | |
Markus Heiser | f63f97c56c | |
Markus Heiser | 163031c394 | |
Markus Heiser | 3e5621e1af | |
return42 | e392892578 | |
return42 | 68ed8245da | |
return42 | 2d748d1d74 | |
return42 | 2985ece0ca | |
return42 | adc38c5800 | |
return42 | a084436ff4 | |
Markus Heiser | b176323e89 | |
Markus Heiser | da28f5280b | |
dependabot[bot] | 543ab92fde | |
Markus Heiser | e08ff05fff | |
Markus Heiser | a3921b5ed7 | |
Markus Heiser | ae496e9dd0 | |
JJ | 9b01e3c9d6 | |
searxng-bot | 446ee2dd25 | |
Markus Heiser | b14d885f23 | |
Markus Heiser | 050451347b | |
dependabot[bot] | 88caa1d7db | |
dependabot[bot] | a0c704c860 | |
dependabot[bot] | 219040c766 | |
searxng-bot | eeae3664c2 | |
Markus Heiser | 038a2ff6bd | |
rhee876527 | 4ef1c706f8 | |
mrpaulblack | cf7627557a | |
mrpaulblack | 2cacc560d6 | |
Markus Heiser | 058a072404 | |
Markus Heiser | 14fb187548 | |
Markus Heiser | c96ba25f5b | |
dependabot[bot] | 2986681b31 | |
Bnyro | 9f48d5f84f | |
Grant Lanham | 3e87354f0e | |
Grant Lanham | d448def1a6 | |
dependabot[bot] | 8ba203c72b | |
Markus Heiser | e275f8e18e | |
0xhtml | 8b6a3f3e11 | |
Snoweuph | 5b6f40414a | |
Markus Heiser | 7e8b330b3e | |
Markus Heiser | 2fbedc4316 | |
Émilien (perso) | bafb92e646 | |
dependabot[bot] | 1b8db63b33 | |
searxng-bot | 5a32ee410b | |
Markus Heiser | 1184caa0fd |
|
@ -1,5 +1,5 @@
|
||||||
name: "Checker"
|
name: "Checker"
|
||||||
on:
|
on: # yamllint disable-line rule:truthy
|
||||||
schedule:
|
schedule:
|
||||||
- cron: "0 4 * * 5"
|
- cron: "0 4 * * 5"
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
name: "Update searx.data"
|
name: "Update searx.data"
|
||||||
on:
|
on: # yamllint disable-line rule:truthy
|
||||||
schedule:
|
schedule:
|
||||||
- cron: "59 23 28 * *"
|
- cron: "59 23 28 * *"
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
name: Integration
|
name: Integration
|
||||||
|
|
||||||
on:
|
on: # yamllint disable-line rule:truthy
|
||||||
push:
|
push:
|
||||||
branches: ["master"]
|
branches: ["master"]
|
||||||
pull_request:
|
pull_request:
|
||||||
|
@ -16,7 +16,7 @@ jobs:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-20.04]
|
os: [ubuntu-20.04]
|
||||||
python-version: ["3.9", "3.10", "3.11", "3.12",]
|
python-version: ["3.9", "3.10", "3.11", "3.12"]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
@ -45,14 +45,6 @@ jobs:
|
||||||
make V=1 gecko.driver
|
make V=1 gecko.driver
|
||||||
- name: Run tests
|
- name: Run tests
|
||||||
run: make V=1 ci.test
|
run: make V=1 ci.test
|
||||||
- name: Test coverage
|
|
||||||
run: make V=1 test.coverage
|
|
||||||
- name: Store coverage result
|
|
||||||
uses: actions/upload-artifact@v3
|
|
||||||
with:
|
|
||||||
name: coverage-${{ matrix.python-version }}
|
|
||||||
path: coverage/
|
|
||||||
retention-days: 60
|
|
||||||
|
|
||||||
themes:
|
themes:
|
||||||
name: Themes
|
name: Themes
|
||||||
|
@ -119,7 +111,7 @@ jobs:
|
||||||
BRANCH: gh-pages
|
BRANCH: gh-pages
|
||||||
FOLDER: dist/docs
|
FOLDER: dist/docs
|
||||||
CLEAN: true # Automatically remove deleted files from the deploy branch
|
CLEAN: true # Automatically remove deleted files from the deploy branch
|
||||||
SINGLE_COMMIT: True
|
SINGLE_COMMIT: true
|
||||||
COMMIT_MESSAGE: '[doc] build from commit ${{ github.sha }}'
|
COMMIT_MESSAGE: '[doc] build from commit ${{ github.sha }}'
|
||||||
|
|
||||||
babel:
|
babel:
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
name: "Security checks"
|
name: "Security checks"
|
||||||
on:
|
on: # yamllint disable-line rule:truthy
|
||||||
schedule:
|
schedule:
|
||||||
- cron: "42 05 * * *"
|
- cron: "42 05 * * *"
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
name: "Update translations"
|
name: "Update translations"
|
||||||
on:
|
on: # yamllint disable-line rule:truthy
|
||||||
schedule:
|
schedule:
|
||||||
- cron: "05 07 * * 5"
|
- cron: "05 07 * * 5"
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
|
@ -338,6 +338,7 @@ valid-metaclass-classmethod-first-arg=mcs
|
||||||
|
|
||||||
# Maximum number of arguments for function / method
|
# Maximum number of arguments for function / method
|
||||||
max-args=8
|
max-args=8
|
||||||
|
max-positional-arguments=14
|
||||||
|
|
||||||
# Maximum number of attributes for a class (see R0902).
|
# Maximum number of attributes for a class (see R0902).
|
||||||
max-attributes=20
|
max-attributes=20
|
||||||
|
|
|
@ -66,7 +66,7 @@ A user_, admin_ and developer_ handbook is available on the homepage_.
|
||||||
Contact
|
Contact
|
||||||
=======
|
=======
|
||||||
|
|
||||||
Ask questions or just chat about SearXNG on
|
Ask questions or chat with the SearXNG community (this not a chatbot) on
|
||||||
|
|
||||||
IRC
|
IRC
|
||||||
`#searxng on libera.chat <https://web.libera.chat/?channel=#searxng>`_
|
`#searxng on libera.chat <https://web.libera.chat/?channel=#searxng>`_
|
||||||
|
|
|
@ -4,22 +4,27 @@ Welcome to SearXNG
|
||||||
|
|
||||||
*Search without being tracked.*
|
*Search without being tracked.*
|
||||||
|
|
||||||
SearXNG is a free internet metasearch engine which aggregates results from more
|
.. jinja:: searx
|
||||||
than 70 search services. Users are neither tracked nor profiled. Additionally,
|
|
||||||
SearXNG can be used over Tor for online anonymity.
|
SearXNG is a free internet metasearch engine which aggregates results from up
|
||||||
|
to {{engines | length}} :ref:`search services <configured engines>`. Users
|
||||||
|
are neither tracked nor profiled. Additionally, SearXNG can be used over Tor
|
||||||
|
for online anonymity.
|
||||||
|
|
||||||
Get started with SearXNG by using one of the instances listed at searx.space_.
|
Get started with SearXNG by using one of the instances listed at searx.space_.
|
||||||
If you don't trust anyone, you can set up your own, see :ref:`installation`.
|
If you don't trust anyone, you can set up your own, see :ref:`installation`.
|
||||||
|
|
||||||
.. sidebar:: features
|
.. jinja:: searx
|
||||||
|
|
||||||
|
.. sidebar:: features
|
||||||
|
|
||||||
- :ref:`self hosted <installation>`
|
- :ref:`self hosted <installation>`
|
||||||
- :ref:`no user tracking / no profiling <SearXNG protect privacy>`
|
- :ref:`no user tracking / no profiling <SearXNG protect privacy>`
|
||||||
- script & cookies are optional
|
- script & cookies are optional
|
||||||
- secure, encrypted connections
|
- secure, encrypted connections
|
||||||
- :ref:`about 200 search engines <configured engines>`
|
- :ref:`{{engines | length}} search engines <configured engines>`
|
||||||
- `about 60 translations <https://translate.codeberg.org/projects/searxng/searxng/>`_
|
- `58 translations <https://translate.codeberg.org/projects/searxng/searxng/>`_
|
||||||
- about 100 `well maintained <https://uptime.searxng.org/>`__ instances on searx.space_
|
- about 70 `well maintained <https://uptime.searxng.org/>`__ instances on searx.space_
|
||||||
- :ref:`easy integration of search engines <demo online engine>`
|
- :ref:`easy integration of search engines <demo online engine>`
|
||||||
- professional development: `CI <https://github.com/searxng/searxng/actions>`_,
|
- professional development: `CI <https://github.com/searxng/searxng/actions>`_,
|
||||||
`quality assurance <https://dev.searxng.org/>`_ &
|
`quality assurance <https://dev.searxng.org/>`_ &
|
||||||
|
|
|
@ -6,3 +6,4 @@ Redis Library
|
||||||
|
|
||||||
.. automodule:: searx.redislib
|
.. automodule:: searx.redislib
|
||||||
:members:
|
:members:
|
||||||
|
:member-order: bysource
|
||||||
|
|
2
manage
2
manage
|
@ -57,7 +57,7 @@ while IFS= read -r line; do
|
||||||
if [ "$line" != "tests/unit/settings/syntaxerror_settings.yml" ]; then
|
if [ "$line" != "tests/unit/settings/syntaxerror_settings.yml" ]; then
|
||||||
YAMLLINT_FILES+=("$line")
|
YAMLLINT_FILES+=("$line")
|
||||||
fi
|
fi
|
||||||
done <<< "$(git ls-files './tests/*.yml' './searx/*.yml' './utils/templates/etc/searxng/*.yml')"
|
done <<< "$(git ls-files './tests/*.yml' './searx/*.yml' './utils/templates/etc/searxng/*.yml' '.github/*.yml' '.github/*/*.yml')"
|
||||||
|
|
||||||
RST_FILES=(
|
RST_FILES=(
|
||||||
'README.rst'
|
'README.rst'
|
||||||
|
|
|
@ -2,14 +2,14 @@ mock==5.1.0
|
||||||
nose2[coverage_plugin]==0.15.1
|
nose2[coverage_plugin]==0.15.1
|
||||||
cov-core==1.15.0
|
cov-core==1.15.0
|
||||||
black==24.3.0
|
black==24.3.0
|
||||||
pylint==3.2.7
|
pylint==3.3.1
|
||||||
splinter==0.21.0
|
splinter==0.21.0
|
||||||
selenium==4.25.0
|
selenium==4.26.1
|
||||||
Pallets-Sphinx-Themes==2.1.3
|
Pallets-Sphinx-Themes==2.3.0
|
||||||
Sphinx==7.4.7
|
Sphinx==7.4.7
|
||||||
sphinx-issues==4.1.0
|
sphinx-issues==5.0.0
|
||||||
sphinx-jinja==2.0.2
|
sphinx-jinja==2.0.2
|
||||||
sphinx-tabs==3.4.5
|
sphinx-tabs==3.4.7
|
||||||
sphinxcontrib-programoutput==0.17
|
sphinxcontrib-programoutput==0.17
|
||||||
sphinx-autobuild==2024.10.3
|
sphinx-autobuild==2024.10.3
|
||||||
sphinx-notfound-page==1.0.4
|
sphinx-notfound-page==1.0.4
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
certifi==2024.8.30
|
certifi==2024.8.30
|
||||||
babel==2.16.0
|
babel==2.16.0
|
||||||
flask-babel==4.0.0
|
flask-babel==4.0.0
|
||||||
flask==3.0.3
|
flask==3.1.0
|
||||||
jinja2==3.1.4
|
jinja2==3.1.4
|
||||||
lxml==5.3.0
|
lxml==5.3.0
|
||||||
pygments==2.18.0
|
pygments==2.18.0
|
||||||
|
@ -9,13 +9,13 @@ python-dateutil==2.9.0.post0
|
||||||
pyyaml==6.0.2
|
pyyaml==6.0.2
|
||||||
httpx[http2]==0.24.1
|
httpx[http2]==0.24.1
|
||||||
Brotli==1.1.0
|
Brotli==1.1.0
|
||||||
uvloop==0.20.0
|
uvloop==0.21.0
|
||||||
httpx-socks[asyncio]==0.7.7
|
httpx-socks[asyncio]==0.7.7
|
||||||
setproctitle==1.3.3
|
setproctitle==1.3.4
|
||||||
redis==5.0.8
|
redis==5.0.8
|
||||||
markdown-it-py==3.0.0
|
markdown-it-py==3.0.0
|
||||||
fasttext-predict==0.9.2.2
|
fasttext-predict==0.9.2.2
|
||||||
pytomlpp==1.0.13; python_version < '3.11'
|
tomli==2.0.2; python_version < '3.11'
|
||||||
pydantic==2.8.2
|
msgspec==0.18.6
|
||||||
eval_type_backport; python_version < '3.9'
|
eval_type_backport; python_version < '3.9'
|
||||||
typer-slim==0.12.5
|
typer-slim==0.13.1
|
||||||
|
|
|
@ -14,17 +14,7 @@ import typing
|
||||||
import logging
|
import logging
|
||||||
import pathlib
|
import pathlib
|
||||||
|
|
||||||
try:
|
from ..compat import tomllib
|
||||||
import tomllib
|
|
||||||
|
|
||||||
pytomlpp = None
|
|
||||||
USE_TOMLLIB = True
|
|
||||||
except ImportError:
|
|
||||||
import pytomlpp
|
|
||||||
|
|
||||||
tomllib = None
|
|
||||||
USE_TOMLLIB = False
|
|
||||||
|
|
||||||
|
|
||||||
__all__ = ['Config', 'UNSET', 'SchemaIssue']
|
__all__ = ['Config', 'UNSET', 'SchemaIssue']
|
||||||
|
|
||||||
|
@ -183,8 +173,6 @@ class Config:
|
||||||
|
|
||||||
|
|
||||||
def toml_load(file_name):
|
def toml_load(file_name):
|
||||||
if USE_TOMLLIB:
|
|
||||||
# Python >= 3.11
|
|
||||||
try:
|
try:
|
||||||
with open(file_name, "rb") as f:
|
with open(file_name, "rb") as f:
|
||||||
return tomllib.load(f)
|
return tomllib.load(f)
|
||||||
|
@ -192,13 +180,6 @@ def toml_load(file_name):
|
||||||
msg = str(exc).replace('\t', '').replace('\n', ' ')
|
msg = str(exc).replace('\t', '').replace('\n', ' ')
|
||||||
log.error("%s: %s", file_name, msg)
|
log.error("%s: %s", file_name, msg)
|
||||||
raise
|
raise
|
||||||
# fallback to pytomlpp for Python < 3.11
|
|
||||||
try:
|
|
||||||
return pytomlpp.load(file_name)
|
|
||||||
except pytomlpp.DecodeError as exc:
|
|
||||||
msg = str(exc).replace('\t', '').replace('\n', ' ')
|
|
||||||
log.error("%s: %s", file_name, msg)
|
|
||||||
raise
|
|
||||||
|
|
||||||
|
|
||||||
# working with dictionaries
|
# working with dictionaries
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -82,7 +82,7 @@
|
||||||
"af": "Albanese lek",
|
"af": "Albanese lek",
|
||||||
"ar": "ليك ألباني",
|
"ar": "ليك ألباني",
|
||||||
"bg": "Албански лек",
|
"bg": "Албански лек",
|
||||||
"ca": "lek",
|
"ca": "Lek (moneda)",
|
||||||
"cs": "Albánský lek",
|
"cs": "Albánský lek",
|
||||||
"cy": "Lek",
|
"cy": "Lek",
|
||||||
"da": "Lek",
|
"da": "Lek",
|
||||||
|
@ -383,6 +383,7 @@
|
||||||
"nl": "Azerbeidzjaanse manat",
|
"nl": "Azerbeidzjaanse manat",
|
||||||
"oc": "Manat",
|
"oc": "Manat",
|
||||||
"pa": "ਅਜ਼ਰਬਾਈਜਾਨੀ ਮਨਾਤ",
|
"pa": "ਅਜ਼ਰਬਾਈਜਾਨੀ ਮਨਾਤ",
|
||||||
|
"pap": "Manat Azerbaijano",
|
||||||
"pl": "Manat azerski",
|
"pl": "Manat azerski",
|
||||||
"pt": "Manat azeri",
|
"pt": "Manat azeri",
|
||||||
"ro": "Manat azer",
|
"ro": "Manat azer",
|
||||||
|
@ -606,6 +607,7 @@
|
||||||
"pt": "Franco do Burúndi",
|
"pt": "Franco do Burúndi",
|
||||||
"ro": "franc burundez",
|
"ro": "franc burundez",
|
||||||
"ru": "бурундийский франк",
|
"ru": "бурундийский франк",
|
||||||
|
"sk": "Burundský frank",
|
||||||
"sl": "burundijski frank",
|
"sl": "burundijski frank",
|
||||||
"sr": "бурундски франак",
|
"sr": "бурундски франак",
|
||||||
"sv": "Burundisk franc",
|
"sv": "Burundisk franc",
|
||||||
|
@ -1327,6 +1329,7 @@
|
||||||
"pl": "escudo Zielonego Przylądka",
|
"pl": "escudo Zielonego Przylądka",
|
||||||
"pt": "escudo cabo-verdiano",
|
"pt": "escudo cabo-verdiano",
|
||||||
"ru": "Эскудо Кабо-Верде",
|
"ru": "Эскудо Кабо-Верде",
|
||||||
|
"sk": "Kapverdské escudo",
|
||||||
"sl": "zelenortski eskudo",
|
"sl": "zelenortski eskudo",
|
||||||
"sr": "зеленортски ескудо",
|
"sr": "зеленортски ескудо",
|
||||||
"sv": "Kapverdisk escudo",
|
"sv": "Kapverdisk escudo",
|
||||||
|
@ -1405,6 +1408,7 @@
|
||||||
"pl": "frank Dżibuti",
|
"pl": "frank Dżibuti",
|
||||||
"pt": "franco do Jibuti",
|
"pt": "franco do Jibuti",
|
||||||
"ru": "Франк Джибути",
|
"ru": "Франк Джибути",
|
||||||
|
"sk": "Džibutský frank",
|
||||||
"sr": "џибутски франак",
|
"sr": "џибутски франак",
|
||||||
"sv": "Djiboutisk franc",
|
"sv": "Djiboutisk franc",
|
||||||
"tr": "Cibuti frangı",
|
"tr": "Cibuti frangı",
|
||||||
|
@ -1518,6 +1522,7 @@
|
||||||
"pt": "dinar argelino",
|
"pt": "dinar argelino",
|
||||||
"ro": "Dinar algerian",
|
"ro": "Dinar algerian",
|
||||||
"ru": "алжирский динар",
|
"ru": "алжирский динар",
|
||||||
|
"sk": "Alžírský dinár",
|
||||||
"sl": "alžirski dinar",
|
"sl": "alžirski dinar",
|
||||||
"sr": "алжирски динар",
|
"sr": "алжирски динар",
|
||||||
"sv": "Algerisk dinar",
|
"sv": "Algerisk dinar",
|
||||||
|
@ -1969,6 +1974,7 @@
|
||||||
"pl": "frank gwinejski",
|
"pl": "frank gwinejski",
|
||||||
"pt": "Franco da Guiné",
|
"pt": "Franco da Guiné",
|
||||||
"ru": "Гвинейский франк",
|
"ru": "Гвинейский франк",
|
||||||
|
"sk": "Guinejský frank",
|
||||||
"sl": "gvinejski frank",
|
"sl": "gvinejski frank",
|
||||||
"sr": "гвинејски франак",
|
"sr": "гвинејски франак",
|
||||||
"sv": "Guinesisk franc",
|
"sv": "Guinesisk franc",
|
||||||
|
@ -2689,6 +2695,7 @@
|
||||||
"pt": "Franco comoriano",
|
"pt": "Franco comoriano",
|
||||||
"ro": "Franc comorian",
|
"ro": "Franc comorian",
|
||||||
"ru": "Франк Комор",
|
"ru": "Франк Комор",
|
||||||
|
"sk": "Komorský frank",
|
||||||
"sr": "коморски франак",
|
"sr": "коморски франак",
|
||||||
"sv": "Komoransk franc",
|
"sv": "Komoransk franc",
|
||||||
"tr": "Komor frangı",
|
"tr": "Komor frangı",
|
||||||
|
@ -2986,6 +2993,7 @@
|
||||||
"pt": "rúpia do Sri Lanka",
|
"pt": "rúpia do Sri Lanka",
|
||||||
"ru": "ланкийская рупия",
|
"ru": "ланкийская рупия",
|
||||||
"si": "ශ්රී ලංකා රුපියල",
|
"si": "ශ්රී ලංකා රුපියල",
|
||||||
|
"sk": "Srílanská rupia",
|
||||||
"sl": "šrilanška rupija",
|
"sl": "šrilanška rupija",
|
||||||
"sr": "шриланчанска рупија",
|
"sr": "шриланчанска рупија",
|
||||||
"sv": "Lankesisk rupie",
|
"sv": "Lankesisk rupie",
|
||||||
|
@ -3059,7 +3067,7 @@
|
||||||
"uk": "Лоті"
|
"uk": "Лоті"
|
||||||
},
|
},
|
||||||
"LYD": {
|
"LYD": {
|
||||||
"ar": "دينار ليبي",
|
"ar": "دينار ذهبي",
|
||||||
"bg": "Либийски динар",
|
"bg": "Либийски динар",
|
||||||
"ca": "dinar libi",
|
"ca": "dinar libi",
|
||||||
"cs": "Libyjský dinár",
|
"cs": "Libyjský dinár",
|
||||||
|
@ -3121,6 +3129,7 @@
|
||||||
"pt": "Dirham marroquino",
|
"pt": "Dirham marroquino",
|
||||||
"ro": "Dirham marocan",
|
"ro": "Dirham marocan",
|
||||||
"ru": "марокканский дирхам",
|
"ru": "марокканский дирхам",
|
||||||
|
"sk": "Marocký dirham",
|
||||||
"sl": "maroški dirham",
|
"sl": "maroški dirham",
|
||||||
"sr": "марокански дирхам",
|
"sr": "марокански дирхам",
|
||||||
"sv": "Marockansk dirham",
|
"sv": "Marockansk dirham",
|
||||||
|
@ -3140,6 +3149,7 @@
|
||||||
"et": "Moldova leu",
|
"et": "Moldova leu",
|
||||||
"fi": "Moldovan leu",
|
"fi": "Moldovan leu",
|
||||||
"fr": "leu moldave",
|
"fr": "leu moldave",
|
||||||
|
"gl": "leu moldovo",
|
||||||
"he": "לאו מולדובני",
|
"he": "לאו מולדובני",
|
||||||
"hr": "moldavski lej",
|
"hr": "moldavski lej",
|
||||||
"hu": "moldován lej",
|
"hu": "moldován lej",
|
||||||
|
@ -3371,6 +3381,7 @@
|
||||||
"pl": "Ugija",
|
"pl": "Ugija",
|
||||||
"pt": "Uguia",
|
"pt": "Uguia",
|
||||||
"ru": "Мавританская угия",
|
"ru": "Мавританская угия",
|
||||||
|
"sk": "Mauritánska ukíjá",
|
||||||
"sr": "мауританска огија",
|
"sr": "мауританска огија",
|
||||||
"sv": "Mauretansk ouguiya",
|
"sv": "Mauretansk ouguiya",
|
||||||
"tr": "Ugiya",
|
"tr": "Ugiya",
|
||||||
|
@ -3816,6 +3827,7 @@
|
||||||
"sl": "novozelandski dolar",
|
"sl": "novozelandski dolar",
|
||||||
"sr": "новозеландски долар",
|
"sr": "новозеландски долар",
|
||||||
"sv": "Nyzeeländsk dollar",
|
"sv": "Nyzeeländsk dollar",
|
||||||
|
"th": "ดอลลาร์นิวซีแลนด์",
|
||||||
"tr": "Yeni Zelanda doları",
|
"tr": "Yeni Zelanda doları",
|
||||||
"uk": "новозеландський долар",
|
"uk": "новозеландський долар",
|
||||||
"vi": "Đô la New Zealand"
|
"vi": "Đô la New Zealand"
|
||||||
|
@ -5386,12 +5398,14 @@
|
||||||
"ja": "スム",
|
"ja": "スム",
|
||||||
"ko": "우즈베키스탄 숨",
|
"ko": "우즈베키스탄 숨",
|
||||||
"lt": "Uzbekijos sumas",
|
"lt": "Uzbekijos sumas",
|
||||||
|
"lv": "Uzbekistānas soms",
|
||||||
"nl": "Oezbeekse sum",
|
"nl": "Oezbeekse sum",
|
||||||
"pa": "ਉਜ਼ਬੇਕਿਸਤਾਨੀ ਸੋਮ",
|
"pa": "ਉਜ਼ਬੇਕਿਸਤਾਨੀ ਸੋਮ",
|
||||||
"pl": "Sum",
|
"pl": "Sum",
|
||||||
"pt": "som usbeque",
|
"pt": "som usbeque",
|
||||||
"ro": "Som uzbec",
|
"ro": "Som uzbec",
|
||||||
"ru": "узбекский сум",
|
"ru": "узбекский сум",
|
||||||
|
"sk": "Uzbecký som",
|
||||||
"sr": "узбекистански сом",
|
"sr": "узбекистански сом",
|
||||||
"sv": "Uzbekistansk som",
|
"sv": "Uzbekistansk som",
|
||||||
"tr": "Özbekistan somu",
|
"tr": "Özbekistan somu",
|
||||||
|
@ -5645,7 +5659,7 @@
|
||||||
"eo": "specialaj rajtoj de enspezo",
|
"eo": "specialaj rajtoj de enspezo",
|
||||||
"es": "Derechos Especiales de Giro",
|
"es": "Derechos Especiales de Giro",
|
||||||
"eu": "igorpen eskubide bereziak",
|
"eu": "igorpen eskubide bereziak",
|
||||||
"fi": "Erityisnosto-oikeus",
|
"fi": "erityisnosto-oikeus",
|
||||||
"fr": "droits de tirage spéciaux",
|
"fr": "droits de tirage spéciaux",
|
||||||
"hr": "Posebna prava vučenja",
|
"hr": "Posebna prava vučenja",
|
||||||
"hu": "különleges lehívási jog",
|
"hu": "különleges lehívási jog",
|
||||||
|
@ -5655,6 +5669,7 @@
|
||||||
"ko": "특별인출권",
|
"ko": "특별인출권",
|
||||||
"lt": "Specialiosios skolinimosi teisės",
|
"lt": "Specialiosios skolinimosi teisės",
|
||||||
"lv": "Speciālās aizņēmuma tiesības",
|
"lv": "Speciālās aizņēmuma tiesības",
|
||||||
|
"ms": "hak pengeluaran khas",
|
||||||
"nl": "speciale trekkingsrechten",
|
"nl": "speciale trekkingsrechten",
|
||||||
"oc": "Drechs de tiratge Especials",
|
"oc": "Drechs de tiratge Especials",
|
||||||
"pl": "specjalne prawa ciągnienia",
|
"pl": "specjalne prawa ciągnienia",
|
||||||
|
@ -5837,7 +5852,7 @@
|
||||||
"lt": "Randas",
|
"lt": "Randas",
|
||||||
"lv": "Dienvidāfrikas rands",
|
"lv": "Dienvidāfrikas rands",
|
||||||
"ml": "സൗത്ത് ആഫ്രിക്കൻ റാൻഡ്",
|
"ml": "സൗത്ത് ആഫ്രിക്കൻ റാൻഡ്",
|
||||||
"ms": "Rand",
|
"ms": "Rand Afrika Selatan",
|
||||||
"nl": "Zuid-Afrikaanse rand",
|
"nl": "Zuid-Afrikaanse rand",
|
||||||
"oc": "Rand sudafrican",
|
"oc": "Rand sudafrican",
|
||||||
"pl": "Rand",
|
"pl": "Rand",
|
||||||
|
@ -5900,6 +5915,7 @@
|
||||||
"ko": "짐바브웨 골드",
|
"ko": "짐바브웨 골드",
|
||||||
"nl": "Zimbabwe Gold",
|
"nl": "Zimbabwe Gold",
|
||||||
"pl": "Złoto Zimbabwe",
|
"pl": "Złoto Zimbabwe",
|
||||||
|
"pt": "Ouro do Zimbábue",
|
||||||
"ru": "зимбабвийский золотой",
|
"ru": "зимбабвийский золотой",
|
||||||
"sk": "zimbabwiansky zlatý",
|
"sk": "zimbabwiansky zlatý",
|
||||||
"sl": "zimbabvejski gold",
|
"sl": "zimbabvejski gold",
|
||||||
|
@ -7817,6 +7833,7 @@
|
||||||
"eritrese nakfa": "ERN",
|
"eritrese nakfa": "ERN",
|
||||||
"erityinen nosto oikeus": "XDR",
|
"erityinen nosto oikeus": "XDR",
|
||||||
"erityiset nosto oikeudet": "XDR",
|
"erityiset nosto oikeudet": "XDR",
|
||||||
|
"erityisnosto oikeudet": "XDR",
|
||||||
"erityisnosto oikeus": "XDR",
|
"erityisnosto oikeus": "XDR",
|
||||||
"ermeni dramı": "AMD",
|
"ermeni dramı": "AMD",
|
||||||
"ermenistan dramı": "AMD",
|
"ermenistan dramı": "AMD",
|
||||||
|
@ -8372,6 +8389,8 @@
|
||||||
"haitský gourde": "HTG",
|
"haitský gourde": "HTG",
|
||||||
"haïtiaanse gourde": "HTG",
|
"haïtiaanse gourde": "HTG",
|
||||||
"hak penarikan khusus": "XDR",
|
"hak penarikan khusus": "XDR",
|
||||||
|
"hak pengeluaran khas": "XDR",
|
||||||
|
"hak pengeluaran khusus": "XDR",
|
||||||
"halalas": "SAR",
|
"halalas": "SAR",
|
||||||
"hegoafrikar rand": "ZAR",
|
"hegoafrikar rand": "ZAR",
|
||||||
"heller": "CZK",
|
"heller": "CZK",
|
||||||
|
@ -9115,6 +9134,7 @@
|
||||||
"leu da roménia": "RON",
|
"leu da roménia": "RON",
|
||||||
"leu da romênia": "RON",
|
"leu da romênia": "RON",
|
||||||
"leu de moldàvia": "MDL",
|
"leu de moldàvia": "MDL",
|
||||||
|
"leu de moldova": "MDL",
|
||||||
"leu moldau": "MDL",
|
"leu moldau": "MDL",
|
||||||
"leu moldave": "MDL",
|
"leu moldave": "MDL",
|
||||||
"leu moldavo": "MDL",
|
"leu moldavo": "MDL",
|
||||||
|
@ -9122,6 +9142,7 @@
|
||||||
"leu moldofa": "MDL",
|
"leu moldofa": "MDL",
|
||||||
"leu moldova": "MDL",
|
"leu moldova": "MDL",
|
||||||
"leu moldovenesc": "MDL",
|
"leu moldovenesc": "MDL",
|
||||||
|
"leu moldovo": "MDL",
|
||||||
"leu romanès": "RON",
|
"leu romanès": "RON",
|
||||||
"leu romanés": "RON",
|
"leu romanés": "RON",
|
||||||
"leu romanian": "RON",
|
"leu romanian": "RON",
|
||||||
|
@ -9437,6 +9458,7 @@
|
||||||
"manat azerbaijandar": "AZN",
|
"manat azerbaijandar": "AZN",
|
||||||
"manat azerbaijanês": "AZN",
|
"manat azerbaijanês": "AZN",
|
||||||
"manat azerbaijano": "AZN",
|
"manat azerbaijano": "AZN",
|
||||||
|
"manat azerbaitjanés": "AZN",
|
||||||
"manat azerbaiyano": "AZN",
|
"manat azerbaiyano": "AZN",
|
||||||
"manat azerbaïdjanais": "AZN",
|
"manat azerbaïdjanais": "AZN",
|
||||||
"manat azerbejdżański": "AZN",
|
"manat azerbejdżański": "AZN",
|
||||||
|
@ -9520,6 +9542,7 @@
|
||||||
"mauritanijska ouguja": "MRU",
|
"mauritanijska ouguja": "MRU",
|
||||||
"mauritanijska uguija": "MRU",
|
"mauritanijska uguija": "MRU",
|
||||||
"mauritániai ouguiya": "MRU",
|
"mauritániai ouguiya": "MRU",
|
||||||
|
"mauritánska ukíjá": "MRU",
|
||||||
"mauritánská ukíjá": "MRU",
|
"mauritánská ukíjá": "MRU",
|
||||||
"mauritānijas oguja": "MRU",
|
"mauritānijas oguja": "MRU",
|
||||||
"mauritiaanse roepee": "MUR",
|
"mauritiaanse roepee": "MUR",
|
||||||
|
@ -9985,6 +10008,7 @@
|
||||||
"ouguiya mauritana": "MRU",
|
"ouguiya mauritana": "MRU",
|
||||||
"ouguiya mauritanien": "MRU",
|
"ouguiya mauritanien": "MRU",
|
||||||
"ouguiya mawritania": "MRU",
|
"ouguiya mawritania": "MRU",
|
||||||
|
"ouro do zimbábue": "ZWG",
|
||||||
"örmény dram": "AMD",
|
"örmény dram": "AMD",
|
||||||
"östkaribisk dollar": "XCD",
|
"östkaribisk dollar": "XCD",
|
||||||
"özbekistan somu": "UZS",
|
"özbekistan somu": "UZS",
|
||||||
|
@ -10796,6 +10820,7 @@
|
||||||
"salomona dolaro": "SBD",
|
"salomona dolaro": "SBD",
|
||||||
"salomondollar": "SBD",
|
"salomondollar": "SBD",
|
||||||
"salomonen dollar": "SBD",
|
"salomonen dollar": "SBD",
|
||||||
|
"salomoninsaarten dollari": "SBD",
|
||||||
"salomonsaarten dollari": "SBD",
|
"salomonsaarten dollari": "SBD",
|
||||||
"salomonskootočni dolar": "SBD",
|
"salomonskootočni dolar": "SBD",
|
||||||
"salüng": "THB",
|
"salüng": "THB",
|
||||||
|
@ -11152,6 +11177,7 @@
|
||||||
"srilankansk rupee": "LKR",
|
"srilankansk rupee": "LKR",
|
||||||
"srilankanske rupee": "LKR",
|
"srilankanske rupee": "LKR",
|
||||||
"srí lanka i rúpia": "LKR",
|
"srí lanka i rúpia": "LKR",
|
||||||
|
"srílanská rupia": "LKR",
|
||||||
"srílanská rupie": "LKR",
|
"srílanská rupie": "LKR",
|
||||||
"srpski dinar": "RSD",
|
"srpski dinar": "RSD",
|
||||||
"ssp": "SSP",
|
"ssp": "SSP",
|
||||||
|
@ -11415,6 +11441,7 @@
|
||||||
"tengue": "KZT",
|
"tengue": "KZT",
|
||||||
"tengue cazaque": "KZT",
|
"tengue cazaque": "KZT",
|
||||||
"teňňe": "TMT",
|
"teňňe": "TMT",
|
||||||
|
"tetri": "GEL",
|
||||||
"thai baht": "THB",
|
"thai baht": "THB",
|
||||||
"thai bát": "THB",
|
"thai bát": "THB",
|
||||||
"thailandiar baht": "THB",
|
"thailandiar baht": "THB",
|
||||||
|
@ -11539,10 +11566,10 @@
|
||||||
"turkisk lira": "TRY",
|
"turkisk lira": "TRY",
|
||||||
"turkiska lira": "TRY",
|
"turkiska lira": "TRY",
|
||||||
"turkmeense manat": "TMT",
|
"turkmeense manat": "TMT",
|
||||||
|
"turkmen manat": "TMT",
|
||||||
"turkmena manato": "TMT",
|
"turkmena manato": "TMT",
|
||||||
"turkmenistan manat": "TMT",
|
"turkmenistan manat": "TMT",
|
||||||
"turkmenistan new manat": "TMT",
|
"turkmenistan new manat": "TMT",
|
||||||
"turkmenistani manat": "TMT",
|
|
||||||
"turkmenistani new manat": "TMT",
|
"turkmenistani new manat": "TMT",
|
||||||
"turkmenistanin manat": "TMT",
|
"turkmenistanin manat": "TMT",
|
||||||
"turkmenistansk manat": "TMT",
|
"turkmenistansk manat": "TMT",
|
||||||
|
@ -11708,6 +11735,7 @@
|
||||||
"uzbekistano sumas": "UZS",
|
"uzbekistano sumas": "UZS",
|
||||||
"uzbekistansk som": "UZS",
|
"uzbekistansk som": "UZS",
|
||||||
"uzbekistanski som": "UZS",
|
"uzbekistanski som": "UZS",
|
||||||
|
"uzbekistānas soms": "UZS",
|
||||||
"uzs": "UZS",
|
"uzs": "UZS",
|
||||||
"új zélandi dollár": "NZD",
|
"új zélandi dollár": "NZD",
|
||||||
"ürdün dinarı": "JOD",
|
"ürdün dinarı": "JOD",
|
||||||
|
@ -11861,6 +11889,7 @@
|
||||||
"yuan cinese": "CNY",
|
"yuan cinese": "CNY",
|
||||||
"yuan renmimbi": "CNY",
|
"yuan renmimbi": "CNY",
|
||||||
"yuan renminbi": "CNY",
|
"yuan renminbi": "CNY",
|
||||||
|
"yuan rmb": "CNY",
|
||||||
"yuans": "CNY",
|
"yuans": "CNY",
|
||||||
"yuán chino": "CNY",
|
"yuán chino": "CNY",
|
||||||
"z$": "ZWL",
|
"z$": "ZWL",
|
||||||
|
@ -13734,6 +13763,7 @@
|
||||||
"دينار بحريني": "BHD",
|
"دينار بحريني": "BHD",
|
||||||
"دينار تونسي": "TND",
|
"دينار تونسي": "TND",
|
||||||
"دينار جزائري": "DZD",
|
"دينار جزائري": "DZD",
|
||||||
|
"دينار ذهبي": "LYD",
|
||||||
"دينار سوداني": "SDG",
|
"دينار سوداني": "SDG",
|
||||||
"دينار صربي": "RSD",
|
"دينار صربي": "RSD",
|
||||||
"دينار عراقي": "IQD",
|
"دينار عراقي": "IQD",
|
||||||
|
@ -14326,6 +14356,7 @@
|
||||||
"USD",
|
"USD",
|
||||||
"TWD"
|
"TWD"
|
||||||
],
|
],
|
||||||
|
"ดอลลาร์นิวซีแลนด์": "NZD",
|
||||||
"ดอลลาร์บรูไน": "BND",
|
"ดอลลาร์บรูไน": "BND",
|
||||||
"ดอลลาร์สหรัฐ": "USD",
|
"ดอลลาร์สหรัฐ": "USD",
|
||||||
"ดอลลาร์สิงคโปร์": "SGD",
|
"ดอลลาร์สิงคโปร์": "SGD",
|
||||||
|
@ -14998,6 +15029,7 @@
|
||||||
"ボツワナ・プラ": "BWP",
|
"ボツワナ・プラ": "BWP",
|
||||||
"ボリバル・ソベラノ": "VES",
|
"ボリバル・ソベラノ": "VES",
|
||||||
"ボリビアーノ": "BOB",
|
"ボリビアーノ": "BOB",
|
||||||
|
"ポンド・スターリング": "GBP",
|
||||||
"ポーランド・ズウォティ": [
|
"ポーランド・ズウォティ": [
|
||||||
"PLZ",
|
"PLZ",
|
||||||
"PLN"
|
"PLN"
|
||||||
|
@ -15063,7 +15095,6 @@
|
||||||
"中華人民共和国の通貨": "CNY",
|
"中華人民共和国の通貨": "CNY",
|
||||||
"中部アフリカcfaフラン": "XAF",
|
"中部アフリカcfaフラン": "XAF",
|
||||||
"人民元": "CNY",
|
"人民元": "CNY",
|
||||||
"人民币": "CNY",
|
|
||||||
"人民幣": "CNY",
|
"人民幣": "CNY",
|
||||||
"元": [
|
"元": [
|
||||||
"HKD",
|
"HKD",
|
||||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
|
@ -5,7 +5,7 @@
|
||||||
],
|
],
|
||||||
"ua": "Mozilla/5.0 ({os}; rv:{version}) Gecko/20100101 Firefox/{version}",
|
"ua": "Mozilla/5.0 ({os}; rv:{version}) Gecko/20100101 Firefox/{version}",
|
||||||
"versions": [
|
"versions": [
|
||||||
"130.0",
|
"132.0",
|
||||||
"129.0"
|
"131.0"
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -832,7 +832,7 @@
|
||||||
"Q104907390": {
|
"Q104907390": {
|
||||||
"si_name": "Q182429",
|
"si_name": "Q182429",
|
||||||
"symbol": "nmi/h",
|
"symbol": "nmi/h",
|
||||||
"to_si_factor": 0.514444
|
"to_si_factor": 0.5144444444444445
|
||||||
},
|
},
|
||||||
"Q104907398": {
|
"Q104907398": {
|
||||||
"si_name": "Q215571",
|
"si_name": "Q215571",
|
||||||
|
@ -1336,7 +1336,7 @@
|
||||||
},
|
},
|
||||||
"Q106636307": {
|
"Q106636307": {
|
||||||
"si_name": "Q80842107",
|
"si_name": "Q80842107",
|
||||||
"symbol": "μS/cm",
|
"symbol": "μS/cm-1",
|
||||||
"to_si_factor": 0.0001
|
"to_si_factor": 0.0001
|
||||||
},
|
},
|
||||||
"Q106639711": {
|
"Q106639711": {
|
||||||
|
@ -4142,7 +4142,7 @@
|
||||||
"Q23931103": {
|
"Q23931103": {
|
||||||
"si_name": "Q25343",
|
"si_name": "Q25343",
|
||||||
"symbol": "nmi²",
|
"symbol": "nmi²",
|
||||||
"to_si_factor": 3434290.0120544
|
"to_si_factor": 3429904.0
|
||||||
},
|
},
|
||||||
"Q239830": {
|
"Q239830": {
|
||||||
"si_name": "Q3395194",
|
"si_name": "Q3395194",
|
||||||
|
|
|
@ -34,10 +34,10 @@ Implementations
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from typing import List, Dict, Any, Optional
|
from typing import List, Dict, Any, Optional
|
||||||
from urllib.parse import quote
|
from urllib.parse import urlencode
|
||||||
from lxml import html
|
from lxml import html
|
||||||
|
|
||||||
from searx.utils import extract_text, eval_xpath, eval_xpath_list
|
from searx.utils import extract_text, eval_xpath, eval_xpath_getindex, eval_xpath_list
|
||||||
from searx.enginelib.traits import EngineTraits
|
from searx.enginelib.traits import EngineTraits
|
||||||
from searx.data import ENGINE_TRAITS
|
from searx.data import ENGINE_TRAITS
|
||||||
|
|
||||||
|
@ -53,7 +53,7 @@ about: Dict[str, Any] = {
|
||||||
|
|
||||||
# engine dependent config
|
# engine dependent config
|
||||||
categories: List[str] = ["files"]
|
categories: List[str] = ["files"]
|
||||||
paging: bool = False
|
paging: bool = True
|
||||||
|
|
||||||
# search-url
|
# search-url
|
||||||
base_url: str = "https://annas-archive.org"
|
base_url: str = "https://annas-archive.org"
|
||||||
|
@ -99,9 +99,18 @@ def init(engine_settings=None): # pylint: disable=unused-argument
|
||||||
|
|
||||||
|
|
||||||
def request(query, params: Dict[str, Any]) -> Dict[str, Any]:
|
def request(query, params: Dict[str, Any]) -> Dict[str, Any]:
|
||||||
q = quote(query)
|
|
||||||
lang = traits.get_language(params["language"], traits.all_locale) # type: ignore
|
lang = traits.get_language(params["language"], traits.all_locale) # type: ignore
|
||||||
params["url"] = base_url + f"/search?lang={lang or ''}&content={aa_content}&ext={aa_ext}&sort={aa_sort}&q={q}"
|
args = {
|
||||||
|
'lang': lang,
|
||||||
|
'content': aa_content,
|
||||||
|
'ext': aa_ext,
|
||||||
|
'sort': aa_sort,
|
||||||
|
'q': query,
|
||||||
|
'page': params['pageno'],
|
||||||
|
}
|
||||||
|
# filter out None and empty values
|
||||||
|
filtered_args = dict((k, v) for k, v in args.items() if v)
|
||||||
|
params["url"] = f"{base_url}/search?{urlencode(filtered_args)}"
|
||||||
return params
|
return params
|
||||||
|
|
||||||
|
|
||||||
|
@ -128,12 +137,12 @@ def response(resp) -> List[Dict[str, Optional[str]]]:
|
||||||
def _get_result(item):
|
def _get_result(item):
|
||||||
return {
|
return {
|
||||||
'template': 'paper.html',
|
'template': 'paper.html',
|
||||||
'url': base_url + item.xpath('./@href')[0],
|
'url': base_url + extract_text(eval_xpath_getindex(item, './@href', 0)),
|
||||||
'title': extract_text(eval_xpath(item, './/h3/text()[1]')),
|
'title': extract_text(eval_xpath(item, './/h3/text()[1]')),
|
||||||
'publisher': extract_text(eval_xpath(item, './/div[contains(@class, "text-sm")]')),
|
'publisher': extract_text(eval_xpath(item, './/div[contains(@class, "text-sm")]')),
|
||||||
'authors': [extract_text(eval_xpath(item, './/div[contains(@class, "italic")]'))],
|
'authors': [extract_text(eval_xpath(item, './/div[contains(@class, "italic")]'))],
|
||||||
'content': extract_text(eval_xpath(item, './/div[contains(@class, "text-xs")]')),
|
'content': extract_text(eval_xpath(item, './/div[contains(@class, "text-xs")]')),
|
||||||
'thumbnail': item.xpath('.//img/@src')[0],
|
'thumbnail': extract_text(eval_xpath_getindex(item, './/img/@src', 0, default=None), allow_none=True),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -18,13 +18,13 @@ from searx import (
|
||||||
)
|
)
|
||||||
from searx.utils import (
|
from searx.utils import (
|
||||||
eval_xpath,
|
eval_xpath,
|
||||||
eval_xpath_getindex,
|
|
||||||
extract_text,
|
extract_text,
|
||||||
)
|
)
|
||||||
from searx.network import get # see https://github.com/searxng/searxng/issues/762
|
from searx.network import get # see https://github.com/searxng/searxng/issues/762
|
||||||
from searx import redisdb
|
from searx import redisdb
|
||||||
from searx.enginelib.traits import EngineTraits
|
from searx.enginelib.traits import EngineTraits
|
||||||
from searx.utils import extr
|
from searx.utils import extr
|
||||||
|
from searx.exceptions import SearxEngineCaptchaException
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
import logging
|
import logging
|
||||||
|
@ -53,31 +53,33 @@ paging = True
|
||||||
time_range_support = True
|
time_range_support = True
|
||||||
safesearch = True # user can't select but the results are filtered
|
safesearch = True # user can't select but the results are filtered
|
||||||
|
|
||||||
url = 'https://lite.duckduckgo.com/lite/'
|
url = "https://html.duckduckgo.com/html"
|
||||||
# url_ping = 'https://duckduckgo.com/t/sl_l'
|
|
||||||
|
|
||||||
time_range_dict = {'day': 'd', 'week': 'w', 'month': 'm', 'year': 'y'}
|
time_range_dict = {'day': 'd', 'week': 'w', 'month': 'm', 'year': 'y'}
|
||||||
form_data = {'v': 'l', 'api': 'd.js', 'o': 'json'}
|
form_data = {'v': 'l', 'api': 'd.js', 'o': 'json'}
|
||||||
|
__CACHE = []
|
||||||
|
|
||||||
|
|
||||||
def cache_vqd(query, value):
|
def _cache_key(data: dict):
|
||||||
|
return 'SearXNG_ddg_web_vqd' + redislib.secret_hash(f"{data['q']}//{data['kl']}")
|
||||||
|
|
||||||
|
|
||||||
|
def cache_vqd(data: dict, value):
|
||||||
"""Caches a ``vqd`` value from a query."""
|
"""Caches a ``vqd`` value from a query."""
|
||||||
c = redisdb.client()
|
c = redisdb.client()
|
||||||
if c:
|
if c:
|
||||||
logger.debug("cache vqd value: %s", value)
|
logger.debug("cache vqd value: %s", value)
|
||||||
key = 'SearXNG_ddg_web_vqd' + redislib.secret_hash(query)
|
c.set(_cache_key(data), value, ex=600)
|
||||||
c.set(key, value, ex=600)
|
|
||||||
|
else:
|
||||||
|
logger.debug("MEM cache vqd value: %s", value)
|
||||||
|
if len(__CACHE) > 100: # cache vqd from last 100 queries
|
||||||
|
__CACHE.pop(0)
|
||||||
|
__CACHE.append((_cache_key(data), value))
|
||||||
|
|
||||||
|
|
||||||
def get_vqd(query):
|
def get_vqd(data):
|
||||||
"""Returns the ``vqd`` that fits to the *query*. If there is no ``vqd`` cached
|
"""Returns the ``vqd`` that fits to the *query* (``data`` from HTTP POST).
|
||||||
(:py:obj:`cache_vqd`) the query is sent to DDG to get a vqd value from the
|
|
||||||
response.
|
|
||||||
|
|
||||||
.. hint::
|
|
||||||
|
|
||||||
If an empty string is returned there are no results for the ``query`` and
|
|
||||||
therefore no ``vqd`` value.
|
|
||||||
|
|
||||||
DDG's bot detection is sensitive to the ``vqd`` value. For some search terms
|
DDG's bot detection is sensitive to the ``vqd`` value. For some search terms
|
||||||
(such as extremely long search terms that are often sent by bots), no ``vqd``
|
(such as extremely long search terms that are often sent by bots), no ``vqd``
|
||||||
|
@ -105,28 +107,23 @@ def get_vqd(query):
|
||||||
- DuckDuckGo News: ``https://duckduckgo.com/news.js??q=...&vqd=...``
|
- DuckDuckGo News: ``https://duckduckgo.com/news.js??q=...&vqd=...``
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
key = _cache_key(data)
|
||||||
value = None
|
value = None
|
||||||
c = redisdb.client()
|
c = redisdb.client()
|
||||||
if c:
|
if c:
|
||||||
key = 'SearXNG_ddg_web_vqd' + redislib.secret_hash(query)
|
|
||||||
value = c.get(key)
|
value = c.get(key)
|
||||||
if value or value == b'':
|
if value or value == b'':
|
||||||
value = value.decode('utf-8')
|
value = value.decode('utf-8')
|
||||||
logger.debug("re-use cached vqd value: %s", value)
|
logger.debug("re-use CACHED vqd value: %s", value)
|
||||||
return value
|
return value
|
||||||
|
|
||||||
query_url = 'https://duckduckgo.com/?' + urlencode({'q': query})
|
else:
|
||||||
res = get(query_url)
|
for k, value in __CACHE:
|
||||||
doc = lxml.html.fromstring(res.text)
|
if k == key:
|
||||||
for script in doc.xpath("//script[@type='text/javascript']"):
|
logger.debug("MEM re-use CACHED vqd value: %s", value)
|
||||||
script = script.text
|
|
||||||
if 'vqd="' in script:
|
|
||||||
value = extr(script, 'vqd="', '"')
|
|
||||||
break
|
|
||||||
logger.debug("new vqd value: '%s'", value)
|
|
||||||
if value is not None:
|
|
||||||
cache_vqd(query, value)
|
|
||||||
return value
|
return value
|
||||||
|
return None
|
||||||
|
|
||||||
|
|
||||||
def get_ddg_lang(eng_traits: EngineTraits, sxng_locale, default='en_US'):
|
def get_ddg_lang(eng_traits: EngineTraits, sxng_locale, default='en_US'):
|
||||||
|
@ -154,9 +151,10 @@ def get_ddg_lang(eng_traits: EngineTraits, sxng_locale, default='en_US'):
|
||||||
|
|
||||||
.. hint::
|
.. hint::
|
||||||
|
|
||||||
`DDG-lite <https://lite.duckduckgo.com/lite>`__ does not offer a language
|
`DDG-lite <https://lite.duckduckgo.com/lite>`__ and the *no Javascript*
|
||||||
selection to the user, only a region can be selected by the user
|
page https://html.duckduckgo.com/html do not offer a language selection
|
||||||
(``eng_region`` from the example above). DDG-lite stores the selected
|
to the user, only a region can be selected by the user (``eng_region``
|
||||||
|
from the example above). DDG-lite and *no Javascript* store the selected
|
||||||
region in a cookie::
|
region in a cookie::
|
||||||
|
|
||||||
params['cookies']['kl'] = eng_region # 'ar-es'
|
params['cookies']['kl'] = eng_region # 'ar-es'
|
||||||
|
@ -240,10 +238,27 @@ def request(query, params):
|
||||||
|
|
||||||
query = quote_ddg_bangs(query)
|
query = quote_ddg_bangs(query)
|
||||||
|
|
||||||
# request needs a vqd argument
|
if len(query) >= 500:
|
||||||
vqd = get_vqd(query)
|
# DDG does not accept queries with more than 499 chars
|
||||||
|
params["url"] = None
|
||||||
|
return
|
||||||
|
|
||||||
|
# Advanced search syntax ends in CAPTCHA
|
||||||
|
# https://duckduckgo.com/duckduckgo-help-pages/results/syntax/
|
||||||
|
query = " ".join(
|
||||||
|
[
|
||||||
|
x.removeprefix("site:").removeprefix("intitle:").removeprefix("inurl:").removeprefix("filetype:")
|
||||||
|
for x in query.split()
|
||||||
|
]
|
||||||
|
)
|
||||||
eng_region = traits.get_region(params['searxng_locale'], traits.all_locale)
|
eng_region = traits.get_region(params['searxng_locale'], traits.all_locale)
|
||||||
|
if eng_region == "wt-wt":
|
||||||
|
# https://html.duckduckgo.com/html sets an empty value for "all".
|
||||||
|
eng_region = ""
|
||||||
|
|
||||||
|
params['data']['kl'] = eng_region
|
||||||
|
params['cookies']['kl'] = eng_region
|
||||||
|
|
||||||
# eng_lang = get_ddg_lang(traits, params['searxng_locale'])
|
# eng_lang = get_ddg_lang(traits, params['searxng_locale'])
|
||||||
|
|
||||||
params['url'] = url
|
params['url'] = url
|
||||||
|
@ -251,45 +266,82 @@ def request(query, params):
|
||||||
params['data']['q'] = query
|
params['data']['q'] = query
|
||||||
|
|
||||||
# The API is not documented, so we do some reverse engineering and emulate
|
# The API is not documented, so we do some reverse engineering and emulate
|
||||||
# what https://lite.duckduckgo.com/lite/ does when you press "next Page"
|
# what https://html.duckduckgo.com/html does when you press "next Page" link
|
||||||
# link again and again ..
|
# again and again ..
|
||||||
|
|
||||||
params['headers']['Content-Type'] = 'application/x-www-form-urlencoded'
|
params['headers']['Content-Type'] = 'application/x-www-form-urlencoded'
|
||||||
params['data']['vqd'] = vqd
|
|
||||||
|
|
||||||
# initial page does not have an offset
|
params['headers']['Sec-Fetch-Dest'] = "document"
|
||||||
|
params['headers']['Sec-Fetch-Mode'] = "navigate" # at least this one is used by ddg's bot detection
|
||||||
|
params['headers']['Sec-Fetch-Site'] = "same-origin"
|
||||||
|
params['headers']['Sec-Fetch-User'] = "?1"
|
||||||
|
|
||||||
|
# Form of the initial search page does have empty values in the form
|
||||||
|
if params['pageno'] == 1:
|
||||||
|
|
||||||
|
params['data']['b'] = ""
|
||||||
|
|
||||||
|
params['data']['df'] = ''
|
||||||
|
if params['time_range'] in time_range_dict:
|
||||||
|
|
||||||
|
params['data']['df'] = time_range_dict[params['time_range']]
|
||||||
|
params['cookies']['df'] = time_range_dict[params['time_range']]
|
||||||
|
|
||||||
if params['pageno'] == 2:
|
if params['pageno'] == 2:
|
||||||
|
|
||||||
# second page does have an offset of 20
|
# second page does have an offset of 20
|
||||||
offset = (params['pageno'] - 1) * 20
|
offset = (params['pageno'] - 1) * 20
|
||||||
params['data']['s'] = offset
|
params['data']['s'] = offset
|
||||||
params['data']['dc'] = offset + 1
|
params['data']['dc'] = offset + 1
|
||||||
|
|
||||||
elif params['pageno'] > 2:
|
elif params['pageno'] > 2:
|
||||||
|
|
||||||
# third and following pages do have an offset of 20 + n*50
|
# third and following pages do have an offset of 20 + n*50
|
||||||
offset = 20 + (params['pageno'] - 2) * 50
|
offset = 20 + (params['pageno'] - 2) * 50
|
||||||
params['data']['s'] = offset
|
params['data']['s'] = offset
|
||||||
params['data']['dc'] = offset + 1
|
params['data']['dc'] = offset + 1
|
||||||
|
|
||||||
# initial page does not have additional data in the input form
|
|
||||||
if params['pageno'] > 1:
|
if params['pageno'] > 1:
|
||||||
|
|
||||||
|
# initial page does not have these additional data in the input form
|
||||||
params['data']['o'] = form_data.get('o', 'json')
|
params['data']['o'] = form_data.get('o', 'json')
|
||||||
params['data']['api'] = form_data.get('api', 'd.js')
|
params['data']['api'] = form_data.get('api', 'd.js')
|
||||||
params['data']['nextParams'] = form_data.get('nextParams', '')
|
params['data']['nextParams'] = form_data.get('nextParams', '')
|
||||||
params['data']['v'] = form_data.get('v', 'l')
|
params['data']['v'] = form_data.get('v', 'l')
|
||||||
params['headers']['Referer'] = 'https://lite.duckduckgo.com/'
|
params['headers']['Referer'] = url
|
||||||
|
|
||||||
params['data']['kl'] = eng_region
|
# from here on no more params['data'] shuld be set, since this dict is
|
||||||
params['cookies']['kl'] = eng_region
|
# needed to get a vqd value from the cache ..
|
||||||
|
|
||||||
params['data']['df'] = ''
|
vqd = get_vqd(params['data'])
|
||||||
if params['time_range'] in time_range_dict:
|
|
||||||
params['data']['df'] = time_range_dict[params['time_range']]
|
# Certain conditions must be met in order to call up one of the
|
||||||
params['cookies']['df'] = time_range_dict[params['time_range']]
|
# following pages ...
|
||||||
|
|
||||||
|
if vqd:
|
||||||
|
params['data']['vqd'] = vqd # follow up pages / requests needs a vqd argument
|
||||||
|
else:
|
||||||
|
# Don't try to call follow up pages without a vqd value. DDG
|
||||||
|
# recognizes this as a request from a bot. This lowers the
|
||||||
|
# reputation of the SearXNG IP and DDG starts to activate CAPTCHAs.
|
||||||
|
params["url"] = None
|
||||||
|
return
|
||||||
|
|
||||||
|
if params['searxng_locale'].startswith("zh"):
|
||||||
|
# Some locales (at least China) do not have a "next page" button and ddg
|
||||||
|
# will return a HTTP/2 403 Forbidden for a request of such a page.
|
||||||
|
params["url"] = None
|
||||||
|
return
|
||||||
|
|
||||||
logger.debug("param data: %s", params['data'])
|
logger.debug("param data: %s", params['data'])
|
||||||
logger.debug("param cookies: %s", params['cookies'])
|
logger.debug("param cookies: %s", params['cookies'])
|
||||||
return params
|
|
||||||
|
|
||||||
|
def is_ddg_captcha(dom):
|
||||||
|
"""In case of CAPTCHA ddg response its own *not a Robot* dialog and is not
|
||||||
|
redirected to a CAPTCHA page."""
|
||||||
|
|
||||||
|
return bool(eval_xpath(dom, "//form[@id='challenge-form']"))
|
||||||
|
|
||||||
|
|
||||||
def response(resp):
|
def response(resp):
|
||||||
|
@ -300,38 +352,40 @@ def response(resp):
|
||||||
results = []
|
results = []
|
||||||
doc = lxml.html.fromstring(resp.text)
|
doc = lxml.html.fromstring(resp.text)
|
||||||
|
|
||||||
result_table = eval_xpath(doc, '//html/body/form/div[@class="filters"]/table')
|
if is_ddg_captcha(doc):
|
||||||
|
# set suspend time to zero is OK --> ddg does not block the IP
|
||||||
|
raise SearxEngineCaptchaException(suspended_time=0, message=f"CAPTCHA ({resp.search_params['data'].get('kl')})")
|
||||||
|
|
||||||
if len(result_table) == 2:
|
form = eval_xpath(doc, '//input[@name="vqd"]/..')
|
||||||
# some locales (at least China) does not have a "next page" button and
|
|
||||||
# the layout of the HTML tables is different.
|
|
||||||
result_table = result_table[1]
|
|
||||||
elif not len(result_table) >= 3:
|
|
||||||
# no more results
|
|
||||||
return []
|
|
||||||
else:
|
|
||||||
result_table = result_table[2]
|
|
||||||
# update form data from response
|
|
||||||
form = eval_xpath(doc, '//html/body/form/div[@class="filters"]/table//input/..')
|
|
||||||
if len(form):
|
if len(form):
|
||||||
|
# some locales (at least China) does not have a "next page" button
|
||||||
form = form[0]
|
form = form[0]
|
||||||
form_data['v'] = eval_xpath(form, '//input[@name="v"]/@value')[0]
|
form_vqd = eval_xpath(form, '//input[@name="vqd"]/@value')[0]
|
||||||
form_data['api'] = eval_xpath(form, '//input[@name="api"]/@value')[0]
|
|
||||||
form_data['o'] = eval_xpath(form, '//input[@name="o"]/@value')[0]
|
|
||||||
logger.debug('form_data: %s', form_data)
|
|
||||||
|
|
||||||
tr_rows = eval_xpath(result_table, './/tr')
|
cache_vqd(resp.search_params["data"], form_vqd)
|
||||||
# In the last <tr> is the form of the 'previous/next page' links
|
|
||||||
tr_rows = tr_rows[:-1]
|
|
||||||
|
|
||||||
len_tr_rows = len(tr_rows)
|
# just select "web-result" and ignore results of class "result--ad result--ad--small"
|
||||||
offset = 0
|
for div_result in eval_xpath(doc, '//div[@id="links"]/div[contains(@class, "web-result")]'):
|
||||||
|
|
||||||
zero_click_info_xpath = '//html/body/form/div/table[2]/tr[2]/td/text()'
|
item = {}
|
||||||
|
title = eval_xpath(div_result, './/h2/a')
|
||||||
|
if not title:
|
||||||
|
# this is the "No results." item in the result list
|
||||||
|
continue
|
||||||
|
item["title"] = extract_text(title)
|
||||||
|
item["url"] = eval_xpath(div_result, './/h2/a/@href')[0]
|
||||||
|
item["content"] = extract_text(eval_xpath(div_result, './/a[contains(@class, "result__snippet")]')[0])
|
||||||
|
|
||||||
|
results.append(item)
|
||||||
|
|
||||||
|
zero_click_info_xpath = '//div[@id="zero_click_abstract"]'
|
||||||
zero_click = extract_text(eval_xpath(doc, zero_click_info_xpath)).strip()
|
zero_click = extract_text(eval_xpath(doc, zero_click_info_xpath)).strip()
|
||||||
|
|
||||||
if zero_click and "Your IP address is" not in zero_click and "Your user agent:" not in zero_click:
|
if zero_click and (
|
||||||
|
"Your IP address is" not in zero_click
|
||||||
|
and "Your user agent:" not in zero_click
|
||||||
|
and "URL Decoded:" not in zero_click
|
||||||
|
):
|
||||||
current_query = resp.search_params["data"].get("q")
|
current_query = resp.search_params["data"].get("q")
|
||||||
|
|
||||||
results.append(
|
results.append(
|
||||||
|
@ -341,33 +395,6 @@ def response(resp):
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
while len_tr_rows >= offset + 4:
|
|
||||||
|
|
||||||
# assemble table rows we need to scrap
|
|
||||||
tr_title = tr_rows[offset]
|
|
||||||
tr_content = tr_rows[offset + 1]
|
|
||||||
offset += 4
|
|
||||||
|
|
||||||
# ignore sponsored Adds <tr class="result-sponsored">
|
|
||||||
if tr_content.get('class') == 'result-sponsored':
|
|
||||||
continue
|
|
||||||
|
|
||||||
a_tag = eval_xpath_getindex(tr_title, './/td//a[@class="result-link"]', 0, None)
|
|
||||||
if a_tag is None:
|
|
||||||
continue
|
|
||||||
|
|
||||||
td_content = eval_xpath_getindex(tr_content, './/td[@class="result-snippet"]', 0, None)
|
|
||||||
if td_content is None:
|
|
||||||
continue
|
|
||||||
|
|
||||||
results.append(
|
|
||||||
{
|
|
||||||
'title': a_tag.text_content(),
|
|
||||||
'content': extract_text(td_content),
|
|
||||||
'url': a_tag.get('href'),
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
return results
|
return results
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
"""Engine to search in collaborative software platforms based on Gitea_.
|
"""Engine to search in collaborative software platforms based on Gitea_ or Forgejo_.
|
||||||
|
|
||||||
.. _Gitea: https://about.gitea.com/
|
.. _Gitea: https://about.gitea.com/
|
||||||
|
.. _Forgejo: https://forgejo.org/
|
||||||
|
|
||||||
Configuration
|
Configuration
|
||||||
=============
|
=============
|
||||||
|
@ -23,6 +24,11 @@ Optional settings are:
|
||||||
base_url: https://gitea.com
|
base_url: https://gitea.com
|
||||||
shortcut: gitea
|
shortcut: gitea
|
||||||
|
|
||||||
|
- name: forgejo.com
|
||||||
|
engine: gitea
|
||||||
|
base_url: https://code.forgejo.org
|
||||||
|
shortcut: forgejo
|
||||||
|
|
||||||
If you would like to use additional instances, just configure new engines in the
|
If you would like to use additional instances, just configure new engines in the
|
||||||
:ref:`settings <settings engine>` and set the ``base_url``.
|
:ref:`settings <settings engine>` and set the ``base_url``.
|
||||||
|
|
||||||
|
@ -95,13 +101,14 @@ def response(resp):
|
||||||
'url': item.get('html_url'),
|
'url': item.get('html_url'),
|
||||||
'title': item.get('full_name'),
|
'title': item.get('full_name'),
|
||||||
'content': ' / '.join(content),
|
'content': ' / '.join(content),
|
||||||
'img_src': item.get('owner', {}).get('avatar_url'),
|
# Use Repository Avatar and fall back to Owner Avatar if not set.
|
||||||
|
'thumbnail': item.get('avatar_url') or item.get('owner', {}).get('avatar_url'),
|
||||||
'package_name': item.get('name'),
|
'package_name': item.get('name'),
|
||||||
'maintainer': item.get('owner', {}).get('login'),
|
'maintainer': item.get('owner', {}).get('username'),
|
||||||
'publishedDate': parser.parse(item.get("updated_at") or item.get("created_at")),
|
'publishedDate': parser.parse(item.get("updated_at") or item.get("created_at")),
|
||||||
'tags': item.get('topics', []),
|
'tags': item.get('topics', []),
|
||||||
'popularity': item.get('stargazers_count'),
|
'popularity': item.get('stars_count'),
|
||||||
'homepage': item.get('homepage'),
|
'homepage': item.get('website'),
|
||||||
'source_code_url': item.get('clone_url'),
|
'source_code_url': item.get('clone_url'),
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
|
@ -62,7 +62,7 @@ filter_mapping = {0: 'off', 1: 'medium', 2: 'high'}
|
||||||
results_xpath = './/div[contains(@jscontroller, "SC7lYd")]'
|
results_xpath = './/div[contains(@jscontroller, "SC7lYd")]'
|
||||||
title_xpath = './/a/h3[1]'
|
title_xpath = './/a/h3[1]'
|
||||||
href_xpath = './/a[h3]/@href'
|
href_xpath = './/a[h3]/@href'
|
||||||
content_xpath = './/div[@data-sncf="1"]'
|
content_xpath = './/div[contains(@data-sncf, "1")]'
|
||||||
|
|
||||||
# Suggestions are links placed in a *card-section*, we extract only the text
|
# Suggestions are links placed in a *card-section*, we extract only the text
|
||||||
# from the links not the links itself.
|
# from the links not the links itself.
|
||||||
|
|
|
@ -57,7 +57,11 @@ def request(query, params):
|
||||||
|
|
||||||
if params['time_range']:
|
if params['time_range']:
|
||||||
search_type = 'search_by_date'
|
search_type = 'search_by_date'
|
||||||
timestamp = (datetime.now() - relativedelta(**{f"{params['time_range']}s": 1})).timestamp()
|
timestamp = (
|
||||||
|
# pylint: disable=unexpected-keyword-arg
|
||||||
|
datetime.now()
|
||||||
|
- relativedelta(**{f"{params['time_range']}s": 1}) # type: ignore
|
||||||
|
).timestamp()
|
||||||
query_params["numericFilters"] = f"created_at_i>{timestamp}"
|
query_params["numericFilters"] = f"created_at_i>{timestamp}"
|
||||||
|
|
||||||
params["url"] = f"{base_url}/{search_type}?{urlencode(query_params)}"
|
params["url"] = f"{base_url}/{search_type}?{urlencode(query_params)}"
|
||||||
|
|
|
@ -1,71 +0,0 @@
|
||||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
||||||
"""Internet Archive scholar(science)
|
|
||||||
"""
|
|
||||||
|
|
||||||
from datetime import datetime
|
|
||||||
from urllib.parse import urlencode
|
|
||||||
from searx.utils import html_to_text
|
|
||||||
|
|
||||||
about = {
|
|
||||||
"website": "https://scholar.archive.org/",
|
|
||||||
"wikidata_id": "Q115667709",
|
|
||||||
"official_api_documentation": "https://scholar.archive.org/api/redoc",
|
|
||||||
"use_official_api": True,
|
|
||||||
"require_api_key": False,
|
|
||||||
"results": "JSON",
|
|
||||||
}
|
|
||||||
categories = ['science', 'scientific publications']
|
|
||||||
paging = True
|
|
||||||
|
|
||||||
base_url = "https://scholar.archive.org"
|
|
||||||
results_per_page = 15
|
|
||||||
|
|
||||||
|
|
||||||
def request(query, params):
|
|
||||||
args = {
|
|
||||||
"q": query,
|
|
||||||
"limit": results_per_page,
|
|
||||||
"offset": (params["pageno"] - 1) * results_per_page,
|
|
||||||
}
|
|
||||||
params["url"] = f"{base_url}/search?{urlencode(args)}"
|
|
||||||
params["headers"]["Accept"] = "application/json"
|
|
||||||
return params
|
|
||||||
|
|
||||||
|
|
||||||
def response(resp):
|
|
||||||
results = []
|
|
||||||
|
|
||||||
json = resp.json()
|
|
||||||
|
|
||||||
for result in json["results"]:
|
|
||||||
publishedDate, content, doi = None, '', None
|
|
||||||
|
|
||||||
if result['biblio'].get('release_date'):
|
|
||||||
publishedDate = datetime.strptime(result['biblio']['release_date'], "%Y-%m-%d")
|
|
||||||
|
|
||||||
if len(result['abstracts']) > 0:
|
|
||||||
content = result['abstracts'][0].get('body')
|
|
||||||
elif len(result['_highlights']) > 0:
|
|
||||||
content = result['_highlights'][0]
|
|
||||||
|
|
||||||
if len(result['releases']) > 0:
|
|
||||||
doi = result['releases'][0].get('doi')
|
|
||||||
|
|
||||||
results.append(
|
|
||||||
{
|
|
||||||
'template': 'paper.html',
|
|
||||||
'url': result['fulltext']['access_url'],
|
|
||||||
'title': result['biblio'].get('title') or result['biblio'].get('container_name'),
|
|
||||||
'content': html_to_text(content),
|
|
||||||
'publisher': result['biblio'].get('publisher'),
|
|
||||||
'doi': doi,
|
|
||||||
'journal': result['biblio'].get('container_name'),
|
|
||||||
'authors': result['biblio'].get('contrib_names'),
|
|
||||||
'tags': result['tags'],
|
|
||||||
'publishedDate': publishedDate,
|
|
||||||
'issns': result['biblio'].get('issns'),
|
|
||||||
'pdf_url': result['fulltext'].get('access_url'),
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
return results
|
|
|
@ -27,7 +27,7 @@ categories = ['images']
|
||||||
paging = True
|
paging = True
|
||||||
|
|
||||||
endpoint = 'photos'
|
endpoint = 'photos'
|
||||||
base_url = 'https://loc.gov'
|
base_url = 'https://www.loc.gov'
|
||||||
search_string = "/{endpoint}/?sp={page}&{query}&fo=json"
|
search_string = "/{endpoint}/?sp={page}&{query}&fo=json"
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,12 +1,15 @@
|
||||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
"""Mojeek (general, images, news)"""
|
"""Mojeek (general, images, news)"""
|
||||||
|
|
||||||
|
from typing import TYPE_CHECKING
|
||||||
|
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from urllib.parse import urlencode
|
from urllib.parse import urlencode
|
||||||
from lxml import html
|
from lxml import html
|
||||||
|
|
||||||
from dateutil.relativedelta import relativedelta
|
from dateutil.relativedelta import relativedelta
|
||||||
from searx.utils import eval_xpath, eval_xpath_list, extract_text
|
from searx.utils import eval_xpath, eval_xpath_list, extract_text
|
||||||
|
from searx.enginelib.traits import EngineTraits
|
||||||
|
|
||||||
about = {
|
about = {
|
||||||
'website': 'https://mojeek.com',
|
'website': 'https://mojeek.com',
|
||||||
|
@ -42,6 +45,18 @@ news_url_xpath = './/h2/a/@href'
|
||||||
news_title_xpath = './/h2/a'
|
news_title_xpath = './/h2/a'
|
||||||
news_content_xpath = './/p[@class="s"]'
|
news_content_xpath = './/p[@class="s"]'
|
||||||
|
|
||||||
|
language_param = 'lb'
|
||||||
|
region_param = 'arc'
|
||||||
|
|
||||||
|
_delta_kwargs = {'day': 'days', 'week': 'weeks', 'month': 'months', 'year': 'years'}
|
||||||
|
|
||||||
|
if TYPE_CHECKING:
|
||||||
|
import logging
|
||||||
|
|
||||||
|
logger = logging.getLogger()
|
||||||
|
|
||||||
|
traits: EngineTraits
|
||||||
|
|
||||||
|
|
||||||
def init(_):
|
def init(_):
|
||||||
if search_type not in ('', 'images', 'news'):
|
if search_type not in ('', 'images', 'news'):
|
||||||
|
@ -53,13 +68,16 @@ def request(query, params):
|
||||||
'q': query,
|
'q': query,
|
||||||
'safe': min(params['safesearch'], 1),
|
'safe': min(params['safesearch'], 1),
|
||||||
'fmt': search_type,
|
'fmt': search_type,
|
||||||
|
language_param: traits.get_language(params['searxng_locale'], traits.custom['language_all']),
|
||||||
|
region_param: traits.get_region(params['searxng_locale'], traits.custom['region_all']),
|
||||||
}
|
}
|
||||||
|
|
||||||
if search_type == '':
|
if search_type == '':
|
||||||
args['s'] = 10 * (params['pageno'] - 1)
|
args['s'] = 10 * (params['pageno'] - 1)
|
||||||
|
|
||||||
if params['time_range'] and search_type != 'images':
|
if params['time_range'] and search_type != 'images':
|
||||||
args["since"] = (datetime.now() - relativedelta(**{f"{params['time_range']}s": 1})).strftime("%Y%m%d")
|
kwargs = {_delta_kwargs[params['time_range']]: 1}
|
||||||
|
args["since"] = (datetime.now() - relativedelta(**kwargs)).strftime("%Y%m%d") # type: ignore
|
||||||
logger.debug(args["since"])
|
logger.debug(args["since"])
|
||||||
|
|
||||||
params['url'] = f"{base_url}/search?{urlencode(args)}"
|
params['url'] = f"{base_url}/search?{urlencode(args)}"
|
||||||
|
@ -94,7 +112,7 @@ def _image_results(dom):
|
||||||
'template': 'images.html',
|
'template': 'images.html',
|
||||||
'url': extract_text(eval_xpath(result, image_url_xpath)),
|
'url': extract_text(eval_xpath(result, image_url_xpath)),
|
||||||
'title': extract_text(eval_xpath(result, image_title_xpath)),
|
'title': extract_text(eval_xpath(result, image_title_xpath)),
|
||||||
'img_src': base_url + extract_text(eval_xpath(result, image_img_src_xpath)),
|
'img_src': base_url + extract_text(eval_xpath(result, image_img_src_xpath)), # type: ignore
|
||||||
'content': '',
|
'content': '',
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
@ -130,3 +148,31 @@ def response(resp):
|
||||||
return _news_results(dom)
|
return _news_results(dom)
|
||||||
|
|
||||||
raise ValueError(f"Invalid search type {search_type}")
|
raise ValueError(f"Invalid search type {search_type}")
|
||||||
|
|
||||||
|
|
||||||
|
def fetch_traits(engine_traits: EngineTraits):
|
||||||
|
# pylint: disable=import-outside-toplevel
|
||||||
|
from searx import network
|
||||||
|
from searx.locales import get_official_locales, region_tag
|
||||||
|
from babel import Locale, UnknownLocaleError
|
||||||
|
import contextlib
|
||||||
|
|
||||||
|
resp = network.get(base_url + "/preferences", headers={'Accept-Language': 'en-US,en;q=0.5'})
|
||||||
|
dom = html.fromstring(resp.text) # type: ignore
|
||||||
|
|
||||||
|
languages = eval_xpath_list(dom, f'//select[@name="{language_param}"]/option/@value')
|
||||||
|
|
||||||
|
engine_traits.custom['language_all'] = languages[0]
|
||||||
|
|
||||||
|
for code in languages[1:]:
|
||||||
|
with contextlib.suppress(UnknownLocaleError):
|
||||||
|
locale = Locale(code)
|
||||||
|
engine_traits.languages[locale.language] = code
|
||||||
|
|
||||||
|
regions = eval_xpath_list(dom, f'//select[@name="{region_param}"]/option/@value')
|
||||||
|
|
||||||
|
engine_traits.custom['region_all'] = regions[1]
|
||||||
|
|
||||||
|
for code in regions[2:]:
|
||||||
|
for locale in get_official_locales(code, engine_traits.languages):
|
||||||
|
engine_traits.regions[region_tag(locale)] = code
|
||||||
|
|
|
@ -0,0 +1,71 @@
|
||||||
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
|
"""Open library (books)
|
||||||
|
"""
|
||||||
|
from urllib.parse import urlencode
|
||||||
|
import re
|
||||||
|
|
||||||
|
from dateutil import parser
|
||||||
|
|
||||||
|
about = {
|
||||||
|
'website': 'https://openlibrary.org',
|
||||||
|
'wikidata_id': 'Q1201876',
|
||||||
|
'require_api_key': False,
|
||||||
|
'use_official_api': False,
|
||||||
|
'official_api_documentation': 'https://openlibrary.org/developers/api',
|
||||||
|
}
|
||||||
|
|
||||||
|
paging = True
|
||||||
|
categories = []
|
||||||
|
|
||||||
|
base_url = "https://openlibrary.org"
|
||||||
|
results_per_page = 10
|
||||||
|
|
||||||
|
|
||||||
|
def request(query, params):
|
||||||
|
args = {
|
||||||
|
'q': query,
|
||||||
|
'page': params['pageno'],
|
||||||
|
'limit': results_per_page,
|
||||||
|
}
|
||||||
|
params['url'] = f"{base_url}/search.json?{urlencode(args)}"
|
||||||
|
return params
|
||||||
|
|
||||||
|
|
||||||
|
def _parse_date(date):
|
||||||
|
try:
|
||||||
|
return parser.parse(date)
|
||||||
|
except parser.ParserError:
|
||||||
|
return None
|
||||||
|
|
||||||
|
|
||||||
|
def response(resp):
|
||||||
|
results = []
|
||||||
|
|
||||||
|
for item in resp.json().get("docs", []):
|
||||||
|
cover = None
|
||||||
|
if 'lending_identifier_s' in item:
|
||||||
|
cover = f"https://archive.org/services/img/{item['lending_identifier_s']}"
|
||||||
|
|
||||||
|
published = item.get('publish_date')
|
||||||
|
if published:
|
||||||
|
published_dates = [date for date in map(_parse_date, published) if date]
|
||||||
|
if published_dates:
|
||||||
|
published = min(published_dates)
|
||||||
|
|
||||||
|
if not published:
|
||||||
|
published = parser.parse(str(item.get('first_published_year')))
|
||||||
|
|
||||||
|
result = {
|
||||||
|
'template': 'paper.html',
|
||||||
|
'url': f"{base_url}{item['key']}",
|
||||||
|
'title': item['title'],
|
||||||
|
'content': re.sub(r"\{|\}", "", item['first_sentence'][0]) if item.get('first_sentence') else '',
|
||||||
|
'isbn': item.get('isbn', [])[:5],
|
||||||
|
'authors': item.get('author_name', []),
|
||||||
|
'thumbnail': cover,
|
||||||
|
'publishedDate': published,
|
||||||
|
'tags': item.get('subject', [])[:10] + item.get('place', [])[:10],
|
||||||
|
}
|
||||||
|
results.append(result)
|
||||||
|
|
||||||
|
return results
|
|
@ -1,6 +1,7 @@
|
||||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||||
"""Exception types raised by SearXNG modules.
|
"""Exception types raised by SearXNG modules.
|
||||||
"""
|
"""
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
from typing import Optional, Union
|
from typing import Optional, Union
|
||||||
|
|
||||||
|
@ -61,7 +62,7 @@ class SearxEngineAccessDeniedException(SearxEngineResponseException):
|
||||||
"""This settings contains the default suspended time (default 86400 sec / 1
|
"""This settings contains the default suspended time (default 86400 sec / 1
|
||||||
day)."""
|
day)."""
|
||||||
|
|
||||||
def __init__(self, suspended_time: int = None, message: str = 'Access denied'):
|
def __init__(self, suspended_time: int | None = None, message: str = 'Access denied'):
|
||||||
"""Generic exception to raise when an engine denies access to the results.
|
"""Generic exception to raise when an engine denies access to the results.
|
||||||
|
|
||||||
:param suspended_time: How long the engine is going to be suspended in
|
:param suspended_time: How long the engine is going to be suspended in
|
||||||
|
@ -70,12 +71,13 @@ class SearxEngineAccessDeniedException(SearxEngineResponseException):
|
||||||
:param message: Internal message. Defaults to ``Access denied``
|
:param message: Internal message. Defaults to ``Access denied``
|
||||||
:type message: str
|
:type message: str
|
||||||
"""
|
"""
|
||||||
suspended_time = suspended_time or self._get_default_suspended_time()
|
if suspended_time is None:
|
||||||
|
suspended_time = self._get_default_suspended_time()
|
||||||
super().__init__(message + ', suspended_time=' + str(suspended_time))
|
super().__init__(message + ', suspended_time=' + str(suspended_time))
|
||||||
self.suspended_time = suspended_time
|
self.suspended_time = suspended_time
|
||||||
self.message = message
|
self.message = message
|
||||||
|
|
||||||
def _get_default_suspended_time(self):
|
def _get_default_suspended_time(self) -> int:
|
||||||
from searx import get_setting # pylint: disable=C0415
|
from searx import get_setting # pylint: disable=C0415
|
||||||
|
|
||||||
return get_setting(self.SUSPEND_TIME_SETTING)
|
return get_setting(self.SUSPEND_TIME_SETTING)
|
||||||
|
@ -88,7 +90,7 @@ class SearxEngineCaptchaException(SearxEngineAccessDeniedException):
|
||||||
"""This settings contains the default suspended time (default 86400 sec / 1
|
"""This settings contains the default suspended time (default 86400 sec / 1
|
||||||
day)."""
|
day)."""
|
||||||
|
|
||||||
def __init__(self, suspended_time=None, message='CAPTCHA'):
|
def __init__(self, suspended_time: int | None = None, message='CAPTCHA'):
|
||||||
super().__init__(message=message, suspended_time=suspended_time)
|
super().__init__(message=message, suspended_time=suspended_time)
|
||||||
|
|
||||||
|
|
||||||
|
@ -102,7 +104,7 @@ class SearxEngineTooManyRequestsException(SearxEngineAccessDeniedException):
|
||||||
"""This settings contains the default suspended time (default 3660 sec / 1
|
"""This settings contains the default suspended time (default 3660 sec / 1
|
||||||
hour)."""
|
hour)."""
|
||||||
|
|
||||||
def __init__(self, suspended_time=None, message='Too many request'):
|
def __init__(self, suspended_time: int | None = None, message='Too many request'):
|
||||||
super().__init__(message=message, suspended_time=suspended_time)
|
super().__init__(message=message, suspended_time=suspended_time)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -22,8 +22,9 @@ def init():
|
||||||
# pylint: disable=import-outside-toplevel
|
# pylint: disable=import-outside-toplevel
|
||||||
|
|
||||||
from . import config, cache, proxy
|
from . import config, cache, proxy
|
||||||
|
from .. import settings_loader
|
||||||
|
|
||||||
cfg_file = pathlib.Path("/etc/searxng/favicons.toml")
|
cfg_file = (settings_loader.get_user_cfg_folder() or pathlib.Path("/etc/searxng")) / "favicons.toml"
|
||||||
if not cfg_file.exists():
|
if not cfg_file.exists():
|
||||||
if is_active():
|
if is_active():
|
||||||
logger.error(f"missing favicon config: {cfg_file}")
|
logger.error(f"missing favicon config: {cfg_file}")
|
||||||
|
@ -34,4 +35,4 @@ def init():
|
||||||
cache.init(cfg.cache)
|
cache.init(cfg.cache)
|
||||||
proxy.init(cfg.proxy)
|
proxy.init(cfg.proxy)
|
||||||
|
|
||||||
del cache, config, proxy, cfg
|
del cache, config, proxy, cfg, settings_loader
|
||||||
|
|
|
@ -20,17 +20,17 @@
|
||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
from typing import Literal
|
from typing import Literal
|
||||||
|
|
||||||
|
import os
|
||||||
import abc
|
import abc
|
||||||
import dataclasses
|
import dataclasses
|
||||||
import hashlib
|
import hashlib
|
||||||
import logging
|
import logging
|
||||||
import pathlib
|
|
||||||
import sqlite3
|
import sqlite3
|
||||||
import tempfile
|
import tempfile
|
||||||
import time
|
import time
|
||||||
import typer
|
import typer
|
||||||
|
|
||||||
from pydantic import BaseModel
|
import msgspec
|
||||||
|
|
||||||
from searx import sqlitedb
|
from searx import sqlitedb
|
||||||
from searx import logger
|
from searx import logger
|
||||||
|
@ -90,7 +90,7 @@ def init(cfg: "FaviconCacheConfig"):
|
||||||
raise NotImplementedError(f"favicons db_type '{cfg.db_type}' is unknown")
|
raise NotImplementedError(f"favicons db_type '{cfg.db_type}' is unknown")
|
||||||
|
|
||||||
|
|
||||||
class FaviconCacheConfig(BaseModel):
|
class FaviconCacheConfig(msgspec.Struct): # pylint: disable=too-few-public-methods
|
||||||
"""Configuration of the favicon cache."""
|
"""Configuration of the favicon cache."""
|
||||||
|
|
||||||
db_type: Literal["sqlite", "mem"] = "sqlite"
|
db_type: Literal["sqlite", "mem"] = "sqlite"
|
||||||
|
@ -103,7 +103,7 @@ class FaviconCacheConfig(BaseModel):
|
||||||
:py:obj:`.cache.FaviconCacheMEM` (not recommended)
|
:py:obj:`.cache.FaviconCacheMEM` (not recommended)
|
||||||
"""
|
"""
|
||||||
|
|
||||||
db_url: pathlib.Path = pathlib.Path(tempfile.gettempdir()) / "faviconcache.db"
|
db_url: str = tempfile.gettempdir() + os.sep + "faviconcache.db"
|
||||||
"""URL of the SQLite DB, the path to the database file."""
|
"""URL of the SQLite DB, the path to the database file."""
|
||||||
|
|
||||||
HOLD_TIME: int = 60 * 60 * 24 * 30 # 30 days
|
HOLD_TIME: int = 60 * 60 * 24 * 30 # 30 days
|
||||||
|
|
|
@ -4,9 +4,8 @@
|
||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
import pathlib
|
import pathlib
|
||||||
from pydantic import BaseModel
|
import msgspec
|
||||||
|
|
||||||
from searx.compat import tomllib
|
|
||||||
from .cache import FaviconCacheConfig
|
from .cache import FaviconCacheConfig
|
||||||
from .proxy import FaviconProxyConfig
|
from .proxy import FaviconProxyConfig
|
||||||
|
|
||||||
|
@ -19,7 +18,7 @@ TOML_CACHE_CFG: dict[str, "FaviconConfig"] = {}
|
||||||
DEFAULT_CFG_TOML_PATH = pathlib.Path(__file__).parent / "favicons.toml"
|
DEFAULT_CFG_TOML_PATH = pathlib.Path(__file__).parent / "favicons.toml"
|
||||||
|
|
||||||
|
|
||||||
class FaviconConfig(BaseModel):
|
class FaviconConfig(msgspec.Struct): # pylint: disable=too-few-public-methods
|
||||||
"""The class aggregates configurations of the favicon tools"""
|
"""The class aggregates configurations of the favicon tools"""
|
||||||
|
|
||||||
cfg_schema: int
|
cfg_schema: int
|
||||||
|
@ -28,10 +27,10 @@ class FaviconConfig(BaseModel):
|
||||||
By specifying a version, it is possible to ensure downward compatibility in
|
By specifying a version, it is possible to ensure downward compatibility in
|
||||||
the event of future changes to the configuration schema"""
|
the event of future changes to the configuration schema"""
|
||||||
|
|
||||||
cache: FaviconCacheConfig = FaviconCacheConfig()
|
cache: FaviconCacheConfig = msgspec.field(default_factory=FaviconCacheConfig)
|
||||||
"""Setup of the :py:obj:`.cache.FaviconCacheConfig`."""
|
"""Setup of the :py:obj:`.cache.FaviconCacheConfig`."""
|
||||||
|
|
||||||
proxy: FaviconProxyConfig = FaviconProxyConfig()
|
proxy: FaviconProxyConfig = msgspec.field(default_factory=FaviconProxyConfig)
|
||||||
"""Setup of the :py:obj:`.proxy.FaviconProxyConfig`."""
|
"""Setup of the :py:obj:`.proxy.FaviconProxyConfig`."""
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
|
@ -45,18 +44,22 @@ class FaviconConfig(BaseModel):
|
||||||
return cached
|
return cached
|
||||||
|
|
||||||
with cfg_file.open("rb") as f:
|
with cfg_file.open("rb") as f:
|
||||||
|
data = f.read()
|
||||||
|
|
||||||
cfg = tomllib.load(f)
|
cfg = msgspec.toml.decode(data, type=_FaviconConfig)
|
||||||
cfg = cfg.get("favicons", cfg)
|
schema = cfg.favicons.cfg_schema
|
||||||
|
|
||||||
schema = cfg.get("cfg_schema")
|
|
||||||
if schema != CONFIG_SCHEMA:
|
if schema != CONFIG_SCHEMA:
|
||||||
raise ValueError(
|
raise ValueError(
|
||||||
f"config schema version {CONFIG_SCHEMA} is needed, version {schema} is given in {cfg_file}"
|
f"config schema version {CONFIG_SCHEMA} is needed, version {schema} is given in {cfg_file}"
|
||||||
)
|
)
|
||||||
|
|
||||||
cfg = cls(**cfg)
|
cfg = cfg.favicons
|
||||||
if use_cache and cached:
|
if use_cache and cached:
|
||||||
TOML_CACHE_CFG[str(cfg_file.resolve())] = cfg
|
TOML_CACHE_CFG[str(cfg_file.resolve())] = cfg
|
||||||
|
|
||||||
return cfg
|
return cfg
|
||||||
|
|
||||||
|
|
||||||
|
class _FaviconConfig(msgspec.Struct): # pylint: disable=too-few-public-methods
|
||||||
|
# wrapper struct for root object "favicons."
|
||||||
|
favicons: FaviconConfig
|
||||||
|
|
|
@ -12,7 +12,7 @@ import urllib.parse
|
||||||
|
|
||||||
import flask
|
import flask
|
||||||
from httpx import HTTPError
|
from httpx import HTTPError
|
||||||
from pydantic import BaseModel
|
import msgspec
|
||||||
|
|
||||||
from searx import get_setting
|
from searx import get_setting
|
||||||
|
|
||||||
|
@ -41,7 +41,7 @@ def _initial_resolver_map():
|
||||||
return d
|
return d
|
||||||
|
|
||||||
|
|
||||||
class FaviconProxyConfig(BaseModel):
|
class FaviconProxyConfig(msgspec.Struct):
|
||||||
"""Configuration of the favicon proxy."""
|
"""Configuration of the favicon proxy."""
|
||||||
|
|
||||||
max_age: int = 60 * 60 * 24 * 7 # seven days
|
max_age: int = 60 * 60 * 24 * 7 # seven days
|
||||||
|
@ -59,7 +59,7 @@ class FaviconProxyConfig(BaseModel):
|
||||||
outgoing request of the resolver. By default, the value from
|
outgoing request of the resolver. By default, the value from
|
||||||
:ref:`outgoing.request_timeout <settings outgoing>` setting is used."""
|
:ref:`outgoing.request_timeout <settings outgoing>` setting is used."""
|
||||||
|
|
||||||
resolver_map: dict[str, str] = _initial_resolver_map()
|
resolver_map: dict[str, str] = msgspec.field(default_factory=_initial_resolver_map)
|
||||||
"""The resolver_map is a key / value dictionary where the key is the name of
|
"""The resolver_map is a key / value dictionary where the key is the name of
|
||||||
the resolver and the value is the fully qualifying name (fqn) of resolver's
|
the resolver and the value is the fully qualifying name (fqn) of resolver's
|
||||||
function (the callable). The resolvers from the python module
|
function (the callable). The resolvers from the python module
|
||||||
|
|
|
@ -128,9 +128,6 @@ _INSTALLED = False
|
||||||
LIMITER_CFG_SCHEMA = Path(__file__).parent / "limiter.toml"
|
LIMITER_CFG_SCHEMA = Path(__file__).parent / "limiter.toml"
|
||||||
"""Base configuration (schema) of the botdetection."""
|
"""Base configuration (schema) of the botdetection."""
|
||||||
|
|
||||||
LIMITER_CFG = Path('/etc/searxng/limiter.toml')
|
|
||||||
"""Local Limiter configuration."""
|
|
||||||
|
|
||||||
CFG_DEPRECATED = {
|
CFG_DEPRECATED = {
|
||||||
# "dummy.old.foo": "config 'dummy.old.foo' exists only for tests. Don't use it in your real project config."
|
# "dummy.old.foo": "config 'dummy.old.foo' exists only for tests. Don't use it in your real project config."
|
||||||
}
|
}
|
||||||
|
@ -138,8 +135,12 @@ CFG_DEPRECATED = {
|
||||||
|
|
||||||
def get_cfg() -> config.Config:
|
def get_cfg() -> config.Config:
|
||||||
global CFG # pylint: disable=global-statement
|
global CFG # pylint: disable=global-statement
|
||||||
|
|
||||||
if CFG is None:
|
if CFG is None:
|
||||||
CFG = config.Config.from_toml(LIMITER_CFG_SCHEMA, LIMITER_CFG, CFG_DEPRECATED)
|
from . import settings_loader # pylint: disable=import-outside-toplevel
|
||||||
|
|
||||||
|
cfg_file = (settings_loader.get_user_cfg_folder() or Path("/etc/searxng")) / "limiter.toml"
|
||||||
|
CFG = config.Config.from_toml(LIMITER_CFG_SCHEMA, cfg_file, CFG_DEPRECATED)
|
||||||
return CFG
|
return CFG
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -233,8 +233,7 @@ class Network:
|
||||||
del kwargs['raise_for_httperror']
|
del kwargs['raise_for_httperror']
|
||||||
return do_raise_for_httperror
|
return do_raise_for_httperror
|
||||||
|
|
||||||
@staticmethod
|
def patch_response(self, response, do_raise_for_httperror):
|
||||||
def patch_response(response, do_raise_for_httperror):
|
|
||||||
if isinstance(response, httpx.Response):
|
if isinstance(response, httpx.Response):
|
||||||
# requests compatibility (response is not streamed)
|
# requests compatibility (response is not streamed)
|
||||||
# see also https://www.python-httpx.org/compatibility/#checking-for-4xx5xx-responses
|
# see also https://www.python-httpx.org/compatibility/#checking-for-4xx5xx-responses
|
||||||
|
@ -242,8 +241,11 @@ class Network:
|
||||||
|
|
||||||
# raise an exception
|
# raise an exception
|
||||||
if do_raise_for_httperror:
|
if do_raise_for_httperror:
|
||||||
|
try:
|
||||||
raise_for_httperror(response)
|
raise_for_httperror(response)
|
||||||
|
except:
|
||||||
|
self._logger.warning(f"HTTP Request failed: {response.request.method} {response.request.url}")
|
||||||
|
raise
|
||||||
return response
|
return response
|
||||||
|
|
||||||
def is_valid_response(self, response):
|
def is_valid_response(self, response):
|
||||||
|
@ -269,7 +271,7 @@ class Network:
|
||||||
else:
|
else:
|
||||||
response = await client.request(method, url, **kwargs)
|
response = await client.request(method, url, **kwargs)
|
||||||
if self.is_valid_response(response) or retries <= 0:
|
if self.is_valid_response(response) or retries <= 0:
|
||||||
return Network.patch_response(response, do_raise_for_httperror)
|
return self.patch_response(response, do_raise_for_httperror)
|
||||||
except httpx.RemoteProtocolError as e:
|
except httpx.RemoteProtocolError as e:
|
||||||
if not was_disconnected:
|
if not was_disconnected:
|
||||||
# the server has closed the connection:
|
# the server has closed the connection:
|
||||||
|
|
|
@ -3,9 +3,13 @@
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import ast
|
import ast
|
||||||
|
import re
|
||||||
import operator
|
import operator
|
||||||
from multiprocessing import Process, Queue
|
from multiprocessing import Process, Queue
|
||||||
|
from typing import Callable
|
||||||
|
|
||||||
|
import flask
|
||||||
|
import babel
|
||||||
from flask_babel import gettext
|
from flask_babel import gettext
|
||||||
|
|
||||||
from searx.plugins import logger
|
from searx.plugins import logger
|
||||||
|
@ -19,7 +23,7 @@ plugin_id = 'calculator'
|
||||||
|
|
||||||
logger = logger.getChild(plugin_id)
|
logger = logger.getChild(plugin_id)
|
||||||
|
|
||||||
operators = {
|
operators: dict[type, Callable] = {
|
||||||
ast.Add: operator.add,
|
ast.Add: operator.add,
|
||||||
ast.Sub: operator.sub,
|
ast.Sub: operator.sub,
|
||||||
ast.Mult: operator.mul,
|
ast.Mult: operator.mul,
|
||||||
|
@ -39,11 +43,15 @@ def _eval_expr(expr):
|
||||||
>>> _eval_expr('1 + 2*3**(4^5) / (6 + -7)')
|
>>> _eval_expr('1 + 2*3**(4^5) / (6 + -7)')
|
||||||
-5.0
|
-5.0
|
||||||
"""
|
"""
|
||||||
|
try:
|
||||||
return _eval(ast.parse(expr, mode='eval').body)
|
return _eval(ast.parse(expr, mode='eval').body)
|
||||||
|
except ZeroDivisionError:
|
||||||
|
# This is undefined
|
||||||
|
return ""
|
||||||
|
|
||||||
|
|
||||||
def _eval(node):
|
def _eval(node):
|
||||||
if isinstance(node, ast.Constant) and isinstance(node.value, int):
|
if isinstance(node, ast.Constant) and isinstance(node.value, (int, float)):
|
||||||
return node.value
|
return node.value
|
||||||
|
|
||||||
if isinstance(node, ast.BinOp):
|
if isinstance(node, ast.BinOp):
|
||||||
|
@ -93,6 +101,19 @@ def post_search(_request, search):
|
||||||
# replace commonly used math operators with their proper Python operator
|
# replace commonly used math operators with their proper Python operator
|
||||||
query = query.replace("x", "*").replace(":", "/")
|
query = query.replace("x", "*").replace(":", "/")
|
||||||
|
|
||||||
|
# use UI language
|
||||||
|
ui_locale = babel.Locale.parse(flask.request.preferences.get_value('locale'), sep='-')
|
||||||
|
|
||||||
|
# parse the number system in a localized way
|
||||||
|
def _decimal(match: re.Match) -> str:
|
||||||
|
val = match.string[match.start() : match.end()]
|
||||||
|
val = babel.numbers.parse_decimal(val, ui_locale, numbering_system="latn")
|
||||||
|
return str(val)
|
||||||
|
|
||||||
|
decimal = ui_locale.number_symbols["latn"]["decimal"]
|
||||||
|
group = ui_locale.number_symbols["latn"]["group"]
|
||||||
|
query = re.sub(f"[0-9]+[{decimal}|{group}][0-9]+[{decimal}|{group}]?[0-9]?", _decimal, query)
|
||||||
|
|
||||||
# only numbers and math operators are accepted
|
# only numbers and math operators are accepted
|
||||||
if any(str.isalpha(c) for c in query):
|
if any(str.isalpha(c) for c in query):
|
||||||
return True
|
return True
|
||||||
|
@ -102,10 +123,8 @@ def post_search(_request, search):
|
||||||
|
|
||||||
# Prevent the runtime from being longer than 50 ms
|
# Prevent the runtime from being longer than 50 ms
|
||||||
result = timeout_func(0.05, _eval_expr, query_py_formatted)
|
result = timeout_func(0.05, _eval_expr, query_py_formatted)
|
||||||
if result is None:
|
if result is None or result == "":
|
||||||
return True
|
return True
|
||||||
result = str(result)
|
result = babel.numbers.format_decimal(result, locale=ui_locale)
|
||||||
|
search.result_container.answers['calculate'] = {'answer': f"{search.search_query.query} = {result}"}
|
||||||
if result != query:
|
|
||||||
search.result_container.answers['calculate'] = {'answer': f"{query} = {result}"}
|
|
||||||
return True
|
return True
|
||||||
|
|
|
@ -28,7 +28,7 @@ from searx import get_setting
|
||||||
OLD_REDIS_URL_DEFAULT_URL = 'unix:///usr/local/searxng-redis/run/redis.sock?db=0'
|
OLD_REDIS_URL_DEFAULT_URL = 'unix:///usr/local/searxng-redis/run/redis.sock?db=0'
|
||||||
"""This was the default Redis URL in settings.yml."""
|
"""This was the default Redis URL in settings.yml."""
|
||||||
|
|
||||||
_CLIENT = None
|
_CLIENT: redis.Redis = None # type: ignore
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
|
@ -43,7 +43,7 @@ def initialize():
|
||||||
return False
|
return False
|
||||||
try:
|
try:
|
||||||
# create a client, but no connection is done
|
# create a client, but no connection is done
|
||||||
_CLIENT = redis.Redis.from_url(redis_url)
|
_CLIENT = redis.Redis.from_url(redis_url) # type: ignore
|
||||||
|
|
||||||
# log the parameters as seen by the redis lib, without the password
|
# log the parameters as seen by the redis lib, without the password
|
||||||
kwargs = _CLIENT.get_connection_kwargs().copy()
|
kwargs = _CLIENT.get_connection_kwargs().copy()
|
||||||
|
@ -58,7 +58,7 @@ def initialize():
|
||||||
logger.info("connected to Redis")
|
logger.info("connected to Redis")
|
||||||
return True
|
return True
|
||||||
except redis.exceptions.RedisError as e:
|
except redis.exceptions.RedisError as e:
|
||||||
_CLIENT = None
|
_CLIENT = None # type: ignore
|
||||||
_pw = pwd.getpwuid(os.getuid())
|
_pw = pwd.getpwuid(os.getuid())
|
||||||
logger.exception("[%s (%s)] can't connect redis DB ...", _pw.pw_name, _pw.pw_uid)
|
logger.exception("[%s (%s)] can't connect redis DB ...", _pw.pw_name, _pw.pw_uid)
|
||||||
if redis_url == OLD_REDIS_URL_DEFAULT_URL and isinstance(e, redis.exceptions.ConnectionError):
|
if redis_url == OLD_REDIS_URL_DEFAULT_URL and isinstance(e, redis.exceptions.ConnectionError):
|
||||||
|
|
|
@ -8,8 +8,12 @@ article.
|
||||||
https://redis.com/blog/bullet-proofing-lua-scripts-in-redispy/
|
https://redis.com/blog/bullet-proofing-lua-scripts-in-redispy/
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
from __future__ import annotations
|
||||||
|
from typing import Tuple, List, Iterable
|
||||||
|
|
||||||
|
from ipaddress import IPv4Network, IPv6Network
|
||||||
import hmac
|
import hmac
|
||||||
|
import redis
|
||||||
|
|
||||||
from searx import get_setting
|
from searx import get_setting
|
||||||
|
|
||||||
|
@ -83,7 +87,7 @@ def secret_hash(name: str):
|
||||||
:type name: str
|
:type name: str
|
||||||
"""
|
"""
|
||||||
m = hmac.new(bytes(name, encoding='utf-8'), digestmod='sha256')
|
m = hmac.new(bytes(name, encoding='utf-8'), digestmod='sha256')
|
||||||
m.update(bytes(get_setting('server.secret_key'), encoding='utf-8'))
|
m.update(bytes(get_setting('server.secret_key'), encoding='utf-8')) # type: ignore
|
||||||
return m.hexdigest()
|
return m.hexdigest()
|
||||||
|
|
||||||
|
|
||||||
|
@ -238,3 +242,244 @@ def incr_sliding_window(client, name: str, duration: int):
|
||||||
name = "SearXNG_counter_" + secret_hash(name)
|
name = "SearXNG_counter_" + secret_hash(name)
|
||||||
c = script(args=[duration], keys=[name])
|
c = script(args=[duration], keys=[name])
|
||||||
return c
|
return c
|
||||||
|
|
||||||
|
|
||||||
|
class RangeReader:
|
||||||
|
"""Base class of readers passed to :py:obj:`RangeTable.init_table`."""
|
||||||
|
|
||||||
|
# pylint: disable=too-few-public-methods
|
||||||
|
|
||||||
|
def __init__(self, table: List[Tuple[(int, int)]]):
|
||||||
|
self._table = table
|
||||||
|
|
||||||
|
@property
|
||||||
|
def table(self) -> List[Tuple[(int, int)]]:
|
||||||
|
"""Returns a table by a list of tuples (table's rows) with a *start*
|
||||||
|
value of the range and a *end* value. The values of *start* and *end*
|
||||||
|
column are integers."""
|
||||||
|
return self._table
|
||||||
|
|
||||||
|
|
||||||
|
class IPNetworkReader(RangeReader):
|
||||||
|
"""A reader for :py:obj:`RangeTable` that is build up from a list of
|
||||||
|
:py:obj:`IPv4Network` and :py:obj:`IPv6Network` items.
|
||||||
|
|
||||||
|
.. code:: python
|
||||||
|
|
||||||
|
>>> from ipaddress import IPv4Network, ip_address
|
||||||
|
>>> from searx import redislib
|
||||||
|
>>> reader = redislib.IPNetworkReader([
|
||||||
|
IPv4Network('192.169.0.42/32'),
|
||||||
|
IPv4Network('192.169.1.0/24'),
|
||||||
|
])
|
||||||
|
>>> ipv4_ranges = redislib.RangeTable('ipv4_ranges', client)
|
||||||
|
>>> ipv4_ranges.init_table(reader)
|
||||||
|
|
||||||
|
A IP lookup can be done by :py:obj`RangeTable.in_range`:
|
||||||
|
|
||||||
|
.. code:: python
|
||||||
|
|
||||||
|
>>> ipv4_ranges.in_range(int(ip_address('192.169.0.42')))
|
||||||
|
True
|
||||||
|
>>> ipv4_ranges.in_range(int(ip_address('192.169.0.41')))
|
||||||
|
False
|
||||||
|
>>> ipv4_ranges.in_range(int(ip_address('192.169.0.43')))
|
||||||
|
False
|
||||||
|
>>> ipv4_ranges.in_range(int(ip_address('192.169.1.43')))
|
||||||
|
True
|
||||||
|
|
||||||
|
"""
|
||||||
|
|
||||||
|
# pylint: disable=too-few-public-methods, super-init-not-called
|
||||||
|
|
||||||
|
def __init__(self, table: List[IPv4Network | IPv6Network]):
|
||||||
|
self._table = table
|
||||||
|
|
||||||
|
@property
|
||||||
|
def table(self) -> Iterable[Tuple[(int, int)]]:
|
||||||
|
"""Yields rows of a table where the *start* value of the range is the
|
||||||
|
integer of the ``net.network_address`` and the *end* value is the
|
||||||
|
integer of the ``net.broadcast_address``.
|
||||||
|
"""
|
||||||
|
|
||||||
|
for net in self._table:
|
||||||
|
yield (int(net.network_address), int(net.broadcast_address))
|
||||||
|
|
||||||
|
|
||||||
|
class RangeTable:
|
||||||
|
""".. sidebar: info
|
||||||
|
|
||||||
|
- ZRANGEBYSCORE_
|
||||||
|
- client.zrangebyscore_
|
||||||
|
|
||||||
|
A table of ranges. A range is a tuple with a *start* value of the range
|
||||||
|
and a *end* value. The values of *start* and *end* column are integers. By
|
||||||
|
example, the tuple ``(0, 10)`` is a range that includes 11 integers from 0
|
||||||
|
to 10 (includes 0 and 10).
|
||||||
|
|
||||||
|
The table of ranges is stored in the redis DB by a set with scores (aka
|
||||||
|
`sorted set`). For ultrafast lookups if a score is in a range
|
||||||
|
ZRANGEBYSCORE_ is used (client.zrangebyscore_).
|
||||||
|
|
||||||
|
A table is loaded into the redis DB by :py:obj:`RangeTable.init_table`
|
||||||
|
(client.zadd_).
|
||||||
|
|
||||||
|
.. tabs::
|
||||||
|
|
||||||
|
.. group-tab:: redis-py
|
||||||
|
|
||||||
|
.. code:: python
|
||||||
|
|
||||||
|
>>> from searx import redisdb
|
||||||
|
>>> from searx import redislib
|
||||||
|
>>> redisdb.initialize()
|
||||||
|
True
|
||||||
|
>>> client = redisdb.client()
|
||||||
|
|
||||||
|
.. code:: python
|
||||||
|
|
||||||
|
>>> table_0_100 = [
|
||||||
|
... (0, 10), # range starts by 0 and ends in 10
|
||||||
|
... (10, 19), # range starts by 10 and ends in 19
|
||||||
|
... (20, 97), # range starts by 20 and ends in 97
|
||||||
|
... ]
|
||||||
|
>>> my_table = redislib.RangeTable('mytable', client)
|
||||||
|
>>> reader = redislib.RangeReader(table_0_100)
|
||||||
|
>>> my_table.init_table(reader)
|
||||||
|
|
||||||
|
.. group-tab:: REDIS
|
||||||
|
|
||||||
|
The analogous redis command would be:
|
||||||
|
|
||||||
|
.. code::
|
||||||
|
|
||||||
|
ZADD SearXNG_range_table_my_table 10 "0-10" 19 "10-19" 97 "20-97"
|
||||||
|
|
||||||
|
In the example above, a value of 10 is in two ranges: ``(0, 10)`` and ``(10,
|
||||||
|
19)``. Only the first range that matches ``(0, 10)`` will be returned by
|
||||||
|
:py:obj:`RangeTable.get_range_of` (the second range 10 is in, is
|
||||||
|
``(10, 19)`` but is not returned).
|
||||||
|
|
||||||
|
|
||||||
|
.. tabs::
|
||||||
|
|
||||||
|
.. group-tab:: redis-py
|
||||||
|
|
||||||
|
.. code:: python
|
||||||
|
|
||||||
|
>>> my_table.get_range_of(5)
|
||||||
|
(0, 10)
|
||||||
|
>>> my_table.get_range_of(10)
|
||||||
|
(0, 10)
|
||||||
|
|
||||||
|
.. code:: python
|
||||||
|
|
||||||
|
>>> my_table.in_range(5)
|
||||||
|
True
|
||||||
|
>>> my_table.in_range(10)
|
||||||
|
True
|
||||||
|
|
||||||
|
.. group-tab:: REDIS
|
||||||
|
|
||||||
|
.. code::
|
||||||
|
|
||||||
|
ZRANGEBYSCORE SearXNG_range_table_my_table 5 +inf LIMIT 0 1
|
||||||
|
--> '0-10'
|
||||||
|
ZRANGEBYSCORE SearXNG_range_table_my_table 10 +inf LIMIT 0 1
|
||||||
|
--> '0-10'
|
||||||
|
|
||||||
|
The value 19 is only in one range: ``(10, 19)``:
|
||||||
|
|
||||||
|
.. tabs::
|
||||||
|
|
||||||
|
.. group-tab:: redis-py
|
||||||
|
|
||||||
|
.. code:: python
|
||||||
|
|
||||||
|
>>> my_table.get_range_of(19)
|
||||||
|
(10, 19)
|
||||||
|
|
||||||
|
.. group-tab:: REDIS
|
||||||
|
|
||||||
|
.. code::
|
||||||
|
|
||||||
|
ZRANGEBYSCORE SearXNG_range_table_my_table 19 +inf LIMIT 0 1
|
||||||
|
--> '10-19'
|
||||||
|
|
||||||
|
|
||||||
|
A value of ``>97`` is not in any range:
|
||||||
|
|
||||||
|
.. tabs::
|
||||||
|
|
||||||
|
.. group-tab:: redis-py
|
||||||
|
|
||||||
|
.. code:: python
|
||||||
|
|
||||||
|
>>> my_table.get_range_of(97)
|
||||||
|
(20, 97)
|
||||||
|
>>> my_table.get_range_of(98) is None
|
||||||
|
True
|
||||||
|
|
||||||
|
.. group-tab:: REDIS
|
||||||
|
|
||||||
|
.. code::
|
||||||
|
|
||||||
|
ZRANGEBYSCORE SearXNG_range_table_my_table 19 +inf LIMIT 0 1
|
||||||
|
--> '20-97'
|
||||||
|
ZRANGEBYSCORE SearXNG_range_table_my_table 98 +inf LIMIT 0 1
|
||||||
|
--> (empty array)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.. _Checking if IP falls within a range with Redis:
|
||||||
|
https://stackoverflow.com/questions/33015904/checking-if-ip-falls-within-a-range-with-redis/33020687#33020687
|
||||||
|
.. _sorted set:
|
||||||
|
https://redis.io/docs/data-types/sorted-sets/
|
||||||
|
.. _ZRANGEBYSCORE:
|
||||||
|
https://redis.io/commands/zrangebyscore/
|
||||||
|
.. _client.zrangebyscore:
|
||||||
|
https://redis-py-doc.readthedocs.io/en/master/#redis.Redis.zrangebyscore
|
||||||
|
.. _client.zadd:
|
||||||
|
https://redis-py-doc.readthedocs.io/en/master/#redis.Redis.zadd
|
||||||
|
|
||||||
|
"""
|
||||||
|
|
||||||
|
def __init__(self, table_name: str, client: redis.Redis):
|
||||||
|
self.table_name = f"SearXNG_range_table_{table_name}"
|
||||||
|
self.client = client
|
||||||
|
|
||||||
|
def get_range_of(self, score: int) -> Tuple[int, int] | None:
|
||||||
|
"""Find and return a range in this table where score is in. Only the
|
||||||
|
first range that matches will be returned (by example ``(0, 10)``). If
|
||||||
|
score is not in any of the ranges, ``None`` is returned.
|
||||||
|
"""
|
||||||
|
member = self.client.zrangebyscore(
|
||||||
|
name=self.table_name,
|
||||||
|
max='+inf',
|
||||||
|
min=score,
|
||||||
|
start=0,
|
||||||
|
num=1,
|
||||||
|
)
|
||||||
|
|
||||||
|
if not member:
|
||||||
|
return None
|
||||||
|
start, end = [int(x) for x in member[0].decode('utf-8').split('-')]
|
||||||
|
if score >= start:
|
||||||
|
# score is in range ..
|
||||||
|
return (start, end)
|
||||||
|
return None
|
||||||
|
|
||||||
|
def in_range(self, score: int) -> bool:
|
||||||
|
"""Returns ``True`` when score is in one ore more *start*, *end* ranges.
|
||||||
|
If not, ``False`` is returned.
|
||||||
|
"""
|
||||||
|
return bool(self.get_range_of(score))
|
||||||
|
|
||||||
|
def init_table(self, reader: RangeReader):
|
||||||
|
"""Init table by a list of tuples (table's rows) with a *start* value of
|
||||||
|
the range and a *end* value.
|
||||||
|
"""
|
||||||
|
mapping = {}
|
||||||
|
for start, end in reader.table:
|
||||||
|
mapping[f"{start}-{end}"] = end
|
||||||
|
self.client.zadd(self.table_name, mapping=mapping)
|
||||||
|
|
|
@ -20,7 +20,7 @@ if (next_call_ts == false or next_call_ts == nil) then
|
||||||
-- 2/ the next call is a random time between start_after_from and start_after_to
|
-- 2/ the next call is a random time between start_after_from and start_after_to
|
||||||
local initial_delay = math.random(start_after_from, start_after_to)
|
local initial_delay = math.random(start_after_from, start_after_to)
|
||||||
redis.call('SET', redis_key, now + initial_delay)
|
redis.call('SET', redis_key, now + initial_delay)
|
||||||
return { false, delay }
|
return { false, initial_delay }
|
||||||
end
|
end
|
||||||
|
|
||||||
-- next_call_ts is defined
|
-- next_call_ts is defined
|
||||||
|
|
|
@ -137,9 +137,6 @@ class OnlineProcessor(EngineProcessor):
|
||||||
self.engine.request(query, params)
|
self.engine.request(query, params)
|
||||||
|
|
||||||
# ignoring empty urls
|
# ignoring empty urls
|
||||||
if params['url'] is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if not params['url']:
|
if not params['url']:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,7 @@ def name_to_iso4217(name):
|
||||||
currency = CURRENCIES['names'].get(name, [name])
|
currency = CURRENCIES['names'].get(name, [name])
|
||||||
if isinstance(currency, str):
|
if isinstance(currency, str):
|
||||||
return currency
|
return currency
|
||||||
return currency[0]
|
return currency[-1]
|
||||||
|
|
||||||
|
|
||||||
def iso4217_to_name(iso4217, language):
|
def iso4217_to_name(iso4217, language):
|
||||||
|
|
|
@ -226,15 +226,12 @@ outgoing:
|
||||||
# - 'Hash plugin'
|
# - 'Hash plugin'
|
||||||
# - 'Self Information'
|
# - 'Self Information'
|
||||||
# - 'Tracker URL remover'
|
# - 'Tracker URL remover'
|
||||||
|
# - 'Unit converter plugin'
|
||||||
# - 'Ahmia blacklist' # activation depends on outgoing.using_tor_proxy
|
# - 'Ahmia blacklist' # activation depends on outgoing.using_tor_proxy
|
||||||
# # these plugins are disabled if nothing is configured ..
|
# # these plugins are disabled if nothing is configured ..
|
||||||
# - 'Hostnames plugin' # see 'hostnames' configuration below
|
# - 'Hostnames plugin' # see 'hostnames' configuration below
|
||||||
# - 'Open Access DOI rewrite'
|
# - 'Open Access DOI rewrite'
|
||||||
# - 'Tor check plugin'
|
# - 'Tor check plugin'
|
||||||
# # Read the docs before activate: auto-detection of the language could be
|
|
||||||
# # detrimental to users expectations / users can activate the plugin in the
|
|
||||||
# # preferences if they want.
|
|
||||||
# - 'Autodetect search language'
|
|
||||||
|
|
||||||
# Configuration of the "Hostnames plugin":
|
# Configuration of the "Hostnames plugin":
|
||||||
#
|
#
|
||||||
|
@ -1283,6 +1280,12 @@ engines:
|
||||||
require_api_key: false
|
require_api_key: false
|
||||||
results: JSON
|
results: JSON
|
||||||
|
|
||||||
|
- name: openlibrary
|
||||||
|
engine: openlibrary
|
||||||
|
shortcut: ol
|
||||||
|
timeout: 5
|
||||||
|
disabled: true
|
||||||
|
|
||||||
- name: openmeteo
|
- name: openmeteo
|
||||||
engine: open_meteo
|
engine: open_meteo
|
||||||
shortcut: om
|
shortcut: om
|
||||||
|
@ -1619,11 +1622,6 @@ engines:
|
||||||
api_site: 'askubuntu'
|
api_site: 'askubuntu'
|
||||||
categories: [it, q&a]
|
categories: [it, q&a]
|
||||||
|
|
||||||
- name: internetarchivescholar
|
|
||||||
engine: internet_archive_scholar
|
|
||||||
shortcut: ias
|
|
||||||
timeout: 15.0
|
|
||||||
|
|
||||||
- name: superuser
|
- name: superuser
|
||||||
engine: stackexchange
|
engine: stackexchange
|
||||||
shortcut: su
|
shortcut: su
|
||||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -277,7 +277,7 @@
|
||||||
@results-margin: 0.125rem;
|
@results-margin: 0.125rem;
|
||||||
@result-padding: 1rem;
|
@result-padding: 1rem;
|
||||||
@results-image-row-height: 12rem;
|
@results-image-row-height: 12rem;
|
||||||
@results-image-row-height-phone: 6rem;
|
@results-image-row-height-phone: 10rem;
|
||||||
@search-width: 44rem;
|
@search-width: 44rem;
|
||||||
// heigh of #search, see detail.less
|
// heigh of #search, see detail.less
|
||||||
@search-height: 7.6rem;
|
@search-height: 7.6rem;
|
||||||
|
|
|
@ -380,9 +380,9 @@ html.no-js #clear_search.hide_if_nojs {
|
||||||
}
|
}
|
||||||
|
|
||||||
.favicon img {
|
.favicon img {
|
||||||
height: 1.8rem;
|
height: 1.5rem;
|
||||||
width: 1.8rem;
|
width: 1.5rem;
|
||||||
border-radius: 20%;
|
border-radius: 10%;
|
||||||
background-color: var(--color-favicon-background-color);
|
background-color: var(--color-favicon-background-color);
|
||||||
border: 1px solid var(--color-favicon-border-color);
|
border: 1px solid var(--color-favicon-border-color);
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
|
@ -170,6 +170,8 @@ article[data-vim-selected].category-social {
|
||||||
.result {
|
.result {
|
||||||
margin: @results-margin 0;
|
margin: @results-margin 0;
|
||||||
padding: @result-padding;
|
padding: @result-padding;
|
||||||
|
box-sizing: border-box;
|
||||||
|
width: 100%;
|
||||||
.ltr-border-left(0.2rem solid transparent);
|
.ltr-border-left(0.2rem solid transparent);
|
||||||
|
|
||||||
h3 {
|
h3 {
|
||||||
|
@ -454,6 +456,7 @@ article[data-vim-selected].category-social {
|
||||||
margin: 0.25rem;
|
margin: 0.25rem;
|
||||||
border: none !important;
|
border: none !important;
|
||||||
height: @results-image-row-height;
|
height: @results-image-row-height;
|
||||||
|
width: unset;
|
||||||
|
|
||||||
& > a {
|
& > a {
|
||||||
position: relative;
|
position: relative;
|
||||||
|
@ -1096,7 +1099,8 @@ summary.title {
|
||||||
.result {
|
.result {
|
||||||
background: var(--color-result-background);
|
background: var(--color-result-background);
|
||||||
border: 1px solid var(--color-result-background);
|
border: 1px solid var(--color-result-background);
|
||||||
margin: 1rem 10px;
|
margin: 1rem 2%;
|
||||||
|
width: 96%;
|
||||||
.rounded-corners;
|
.rounded-corners;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1104,6 +1108,7 @@ summary.title {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
height: @results-image-row-height-phone;
|
height: @results-image-row-height-phone;
|
||||||
background: var(--color-base-background-mobile);
|
background: var(--color-base-background-mobile);
|
||||||
|
width: unset;
|
||||||
}
|
}
|
||||||
|
|
||||||
.infobox {
|
.infobox {
|
||||||
|
|
|
@ -16,9 +16,9 @@ sxng_locales = (
|
||||||
('bg', 'Български', '', 'Bulgarian', '\U0001f310'),
|
('bg', 'Български', '', 'Bulgarian', '\U0001f310'),
|
||||||
('bg-BG', 'Български', 'България', 'Bulgarian', '\U0001f1e7\U0001f1ec'),
|
('bg-BG', 'Български', 'България', 'Bulgarian', '\U0001f1e7\U0001f1ec'),
|
||||||
('ca', 'Català', '', 'Catalan', '\U0001f310'),
|
('ca', 'Català', '', 'Catalan', '\U0001f310'),
|
||||||
('ca-ES', 'Català', 'Espanya', 'Catalan', '\U0001f1ea\U0001f1f8'),
|
|
||||||
('cs', 'Čeština', '', 'Czech', '\U0001f310'),
|
('cs', 'Čeština', '', 'Czech', '\U0001f310'),
|
||||||
('cs-CZ', 'Čeština', 'Česko', 'Czech', '\U0001f1e8\U0001f1ff'),
|
('cs-CZ', 'Čeština', 'Česko', 'Czech', '\U0001f1e8\U0001f1ff'),
|
||||||
|
('cy', 'Cymraeg', '', 'Welsh', '\U0001f310'),
|
||||||
('da', 'Dansk', '', 'Danish', '\U0001f310'),
|
('da', 'Dansk', '', 'Danish', '\U0001f310'),
|
||||||
('da-DK', 'Dansk', 'Danmark', 'Danish', '\U0001f1e9\U0001f1f0'),
|
('da-DK', 'Dansk', 'Danmark', 'Danish', '\U0001f1e9\U0001f1f0'),
|
||||||
('de', 'Deutsch', '', 'German', '\U0001f310'),
|
('de', 'Deutsch', '', 'German', '\U0001f310'),
|
||||||
|
@ -56,6 +56,8 @@ sxng_locales = (
|
||||||
('fr-CA', 'Français', 'Canada', 'French', '\U0001f1e8\U0001f1e6'),
|
('fr-CA', 'Français', 'Canada', 'French', '\U0001f1e8\U0001f1e6'),
|
||||||
('fr-CH', 'Français', 'Suisse', 'French', '\U0001f1e8\U0001f1ed'),
|
('fr-CH', 'Français', 'Suisse', 'French', '\U0001f1e8\U0001f1ed'),
|
||||||
('fr-FR', 'Français', 'France', 'French', '\U0001f1eb\U0001f1f7'),
|
('fr-FR', 'Français', 'France', 'French', '\U0001f1eb\U0001f1f7'),
|
||||||
|
('ga', 'Gaeilge', '', 'Irish', '\U0001f310'),
|
||||||
|
('gd', 'Gàidhlig', '', 'Scottish Gaelic', '\U0001f310'),
|
||||||
('gl', 'Galego', '', 'Galician', '\U0001f310'),
|
('gl', 'Galego', '', 'Galician', '\U0001f310'),
|
||||||
('he', 'עברית', '', 'Hebrew', '\U0001f1ee\U0001f1f1'),
|
('he', 'עברית', '', 'Hebrew', '\U0001f1ee\U0001f1f1'),
|
||||||
('hi', 'हिन्दी', '', 'Hindi', '\U0001f310'),
|
('hi', 'हिन्दी', '', 'Hindi', '\U0001f310'),
|
||||||
|
@ -92,6 +94,7 @@ sxng_locales = (
|
||||||
('ru-RU', 'Русский', 'Россия', 'Russian', '\U0001f1f7\U0001f1fa'),
|
('ru-RU', 'Русский', 'Россия', 'Russian', '\U0001f1f7\U0001f1fa'),
|
||||||
('sk', 'Slovenčina', '', 'Slovak', '\U0001f310'),
|
('sk', 'Slovenčina', '', 'Slovak', '\U0001f310'),
|
||||||
('sl', 'Slovenščina', '', 'Slovenian', '\U0001f310'),
|
('sl', 'Slovenščina', '', 'Slovenian', '\U0001f310'),
|
||||||
|
('sq', 'Shqip', '', 'Albanian', '\U0001f310'),
|
||||||
('sv', 'Svenska', '', 'Swedish', '\U0001f310'),
|
('sv', 'Svenska', '', 'Swedish', '\U0001f310'),
|
||||||
('sv-SE', 'Svenska', 'Sverige', 'Swedish', '\U0001f1f8\U0001f1ea'),
|
('sv-SE', 'Svenska', 'Sverige', 'Swedish', '\U0001f1f8\U0001f1ea'),
|
||||||
('ta', 'தமிழ்', '', 'Tamil', '\U0001f310'),
|
('ta', 'தமிழ்', '', 'Tamil', '\U0001f310'),
|
||||||
|
@ -100,10 +103,8 @@ sxng_locales = (
|
||||||
('tr', 'Türkçe', '', 'Turkish', '\U0001f310'),
|
('tr', 'Türkçe', '', 'Turkish', '\U0001f310'),
|
||||||
('tr-TR', 'Türkçe', 'Türkiye', 'Turkish', '\U0001f1f9\U0001f1f7'),
|
('tr-TR', 'Türkçe', 'Türkiye', 'Turkish', '\U0001f1f9\U0001f1f7'),
|
||||||
('uk', 'Українська', '', 'Ukrainian', '\U0001f310'),
|
('uk', 'Українська', '', 'Ukrainian', '\U0001f310'),
|
||||||
('uk-UA', 'Українська', 'Україна', 'Ukrainian', '\U0001f1fa\U0001f1e6'),
|
|
||||||
('ur', 'اردو', '', 'Urdu', '\U0001f310'),
|
('ur', 'اردو', '', 'Urdu', '\U0001f310'),
|
||||||
('vi', 'Tiếng Việt', '', 'Vietnamese', '\U0001f310'),
|
('vi', 'Tiếng Việt', '', 'Vietnamese', '\U0001f310'),
|
||||||
('vi-VN', 'Tiếng Việt', 'Việt Nam', 'Vietnamese', '\U0001f1fb\U0001f1f3'),
|
|
||||||
('zh', '中文', '', 'Chinese', '\U0001f310'),
|
('zh', '中文', '', 'Chinese', '\U0001f310'),
|
||||||
('zh-CN', '中文', '中国', 'Chinese', '\U0001f1e8\U0001f1f3'),
|
('zh-CN', '中文', '中国', 'Chinese', '\U0001f1e8\U0001f1f3'),
|
||||||
('zh-HK', '中文', '中國香港特別行政區', 'Chinese', '\U0001f1ed\U0001f1f0'),
|
('zh-HK', '中文', '中國香港特別行政區', 'Chinese', '\U0001f1ed\U0001f1f0'),
|
||||||
|
|
Binary file not shown.
|
@ -15,7 +15,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PROJECT VERSION\n"
|
"Project-Id-Version: PROJECT VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2024-10-03 11:11+0000\n"
|
"POT-Creation-Date: 2024-10-05 06:24+0000\n"
|
||||||
"PO-Revision-Date: 2024-09-28 15:23+0000\n"
|
"PO-Revision-Date: 2024-09-28 15:23+0000\n"
|
||||||
"Last-Translator: return42 <return42@users.noreply.translate.codeberg.org>"
|
"Last-Translator: return42 <return42@users.noreply.translate.codeberg.org>"
|
||||||
"\n"
|
"\n"
|
||||||
|
@ -346,28 +346,28 @@ msgstr "toe"
|
||||||
msgid "answered"
|
msgid "answered"
|
||||||
msgstr "geantwoord"
|
msgstr "geantwoord"
|
||||||
|
|
||||||
#: searx/webapp.py:330
|
#: searx/webapp.py:332
|
||||||
msgid "No item found"
|
msgid "No item found"
|
||||||
msgstr "Geen item gevind"
|
msgstr "Geen item gevind"
|
||||||
|
|
||||||
#: searx/engines/qwant.py:288
|
#: searx/engines/qwant.py:288
|
||||||
#: searx/templates/simple/result_templates/images.html:23 searx/webapp.py:332
|
#: searx/templates/simple/result_templates/images.html:23 searx/webapp.py:334
|
||||||
msgid "Source"
|
msgid "Source"
|
||||||
msgstr "Bron"
|
msgstr "Bron"
|
||||||
|
|
||||||
#: searx/webapp.py:334
|
#: searx/webapp.py:336
|
||||||
msgid "Error loading the next page"
|
msgid "Error loading the next page"
|
||||||
msgstr "Fout met die laai van die volgende bladsy"
|
msgstr "Fout met die laai van die volgende bladsy"
|
||||||
|
|
||||||
#: searx/webapp.py:491 searx/webapp.py:894
|
#: searx/webapp.py:495 searx/webapp.py:898
|
||||||
msgid "Invalid settings, please edit your preferences"
|
msgid "Invalid settings, please edit your preferences"
|
||||||
msgstr "Ongeldige opstellings, redigeer asb jou voorkeure"
|
msgstr "Ongeldige opstellings, redigeer asb jou voorkeure"
|
||||||
|
|
||||||
#: searx/webapp.py:507
|
#: searx/webapp.py:511
|
||||||
msgid "Invalid settings"
|
msgid "Invalid settings"
|
||||||
msgstr "Ongeldige opstellings"
|
msgstr "Ongeldige opstellings"
|
||||||
|
|
||||||
#: searx/webapp.py:584 searx/webapp.py:666
|
#: searx/webapp.py:588 searx/webapp.py:670
|
||||||
msgid "search error"
|
msgid "search error"
|
||||||
msgstr "soekfout"
|
msgstr "soekfout"
|
||||||
|
|
||||||
|
@ -687,26 +687,26 @@ msgstr "Kontak instansie onderhouer"
|
||||||
msgid "Click on the magnifier to perform search"
|
msgid "Click on the magnifier to perform search"
|
||||||
msgstr "Kliek op die vergrootglas om 'n soektog te doen"
|
msgstr "Kliek op die vergrootglas om 'n soektog te doen"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:35
|
#: searx/templates/simple/macros.html:40
|
||||||
msgid "Length"
|
msgid "Length"
|
||||||
msgstr "Lengte"
|
msgstr "Lengte"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:36
|
#: searx/templates/simple/macros.html:41
|
||||||
msgid "Views"
|
msgid "Views"
|
||||||
msgstr "sienings"
|
msgstr "sienings"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:37
|
#: searx/templates/simple/macros.html:42
|
||||||
#: searx/templates/simple/result_templates/files.html:34
|
#: searx/templates/simple/result_templates/files.html:34
|
||||||
#: searx/templates/simple/result_templates/images.html:19
|
#: searx/templates/simple/result_templates/images.html:19
|
||||||
#: searx/templates/simple/result_templates/paper.html:6
|
#: searx/templates/simple/result_templates/paper.html:6
|
||||||
msgid "Author"
|
msgid "Author"
|
||||||
msgstr "Outeur"
|
msgstr "Outeur"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:45
|
#: searx/templates/simple/macros.html:50
|
||||||
msgid "cached"
|
msgid "cached"
|
||||||
msgstr "gekas"
|
msgstr "gekas"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:45
|
#: searx/templates/simple/macros.html:50
|
||||||
msgid "proxied"
|
msgid "proxied"
|
||||||
msgstr "gevolmagtig"
|
msgstr "gevolmagtig"
|
||||||
|
|
||||||
|
@ -781,27 +781,27 @@ msgstr "Algemeen"
|
||||||
msgid "Default categories"
|
msgid "Default categories"
|
||||||
msgstr "Verstek kategoriee"
|
msgstr "Verstek kategoriee"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:187
|
#: searx/templates/simple/preferences.html:190
|
||||||
msgid "User interface"
|
msgid "User interface"
|
||||||
msgstr "Gebruikerskoppelvlak"
|
msgstr "Gebruikerskoppelvlak"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:208
|
#: searx/templates/simple/preferences.html:211
|
||||||
msgid "Privacy"
|
msgid "Privacy"
|
||||||
msgstr "Privaatheid"
|
msgstr "Privaatheid"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:221
|
#: searx/templates/simple/preferences.html:224
|
||||||
msgid "Engines"
|
msgid "Engines"
|
||||||
msgstr "Enjins"
|
msgstr "Enjins"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:223
|
#: searx/templates/simple/preferences.html:226
|
||||||
msgid "Currently used search engines"
|
msgid "Currently used search engines"
|
||||||
msgstr "Huidige gebruikte soekenjins"
|
msgstr "Huidige gebruikte soekenjins"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:231
|
#: searx/templates/simple/preferences.html:234
|
||||||
msgid "Special Queries"
|
msgid "Special Queries"
|
||||||
msgstr "Spesiale Navrae"
|
msgstr "Spesiale Navrae"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:237
|
#: searx/templates/simple/preferences.html:240
|
||||||
msgid "Cookies"
|
msgid "Cookies"
|
||||||
msgstr "Koekies"
|
msgstr "Koekies"
|
||||||
|
|
||||||
|
@ -1221,6 +1221,14 @@ msgstr "Gewig"
|
||||||
msgid "Max time"
|
msgid "Max time"
|
||||||
msgstr "Maks tyd"
|
msgstr "Maks tyd"
|
||||||
|
|
||||||
|
#: searx/templates/simple/preferences/favicon.html:2
|
||||||
|
msgid "Favicon Resolver"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: searx/templates/simple/preferences/favicon.html:15
|
||||||
|
msgid "Display favicons near search results"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: searx/templates/simple/preferences/footer.html:2
|
#: searx/templates/simple/preferences/footer.html:2
|
||||||
msgid ""
|
msgid ""
|
||||||
"These settings are stored in your cookies, this allows us not to store "
|
"These settings are stored in your cookies, this allows us not to store "
|
||||||
|
|
Binary file not shown.
|
@ -18,13 +18,14 @@
|
||||||
# Yahya-Lando <Yahya-Lando@users.noreply.translate.codeberg.org>, 2024.
|
# Yahya-Lando <Yahya-Lando@users.noreply.translate.codeberg.org>, 2024.
|
||||||
# nebras <nebras@users.noreply.translate.codeberg.org>, 2024.
|
# nebras <nebras@users.noreply.translate.codeberg.org>, 2024.
|
||||||
# geekom13 <geekom13@users.noreply.translate.codeberg.org>, 2024.
|
# geekom13 <geekom13@users.noreply.translate.codeberg.org>, 2024.
|
||||||
|
# cherrad <cherrad@users.noreply.translate.codeberg.org>, 2024.
|
||||||
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: 2024-10-03 11:11+0000\n"
|
"POT-Creation-Date: 2024-10-05 06:24+0000\n"
|
||||||
"PO-Revision-Date: 2024-10-04 07:09+0000\n"
|
"PO-Revision-Date: 2024-11-17 23:56+0000\n"
|
||||||
"Last-Translator: return42 <return42@users.noreply.translate.codeberg.org>\n"
|
"Last-Translator: cherrad <cherrad@users.noreply.translate.codeberg.org>\n"
|
||||||
"Language-Team: Arabic <https://translate.codeberg.org/projects/searxng/"
|
"Language-Team: Arabic <https://translate.codeberg.org/projects/searxng/"
|
||||||
"searxng/ar/>\n"
|
"searxng/ar/>\n"
|
||||||
"Language: ar\n"
|
"Language: ar\n"
|
||||||
|
@ -33,7 +34,7 @@ msgstr ""
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
|
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
|
||||||
"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
|
"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
|
||||||
"X-Generator: Weblate 5.7.2\n"
|
"X-Generator: Weblate 5.8.1\n"
|
||||||
"Generated-By: Babel 2.16.0\n"
|
"Generated-By: Babel 2.16.0\n"
|
||||||
|
|
||||||
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
||||||
|
@ -354,28 +355,28 @@ msgstr "مغلق"
|
||||||
msgid "answered"
|
msgid "answered"
|
||||||
msgstr "أُجيبت"
|
msgstr "أُجيبت"
|
||||||
|
|
||||||
#: searx/webapp.py:330
|
#: searx/webapp.py:332
|
||||||
msgid "No item found"
|
msgid "No item found"
|
||||||
msgstr "تعذر العثور على عناصر"
|
msgstr "تعذر العثور على عناصر"
|
||||||
|
|
||||||
#: searx/engines/qwant.py:288
|
#: searx/engines/qwant.py:288
|
||||||
#: searx/templates/simple/result_templates/images.html:23 searx/webapp.py:332
|
#: searx/templates/simple/result_templates/images.html:23 searx/webapp.py:334
|
||||||
msgid "Source"
|
msgid "Source"
|
||||||
msgstr "المصدر"
|
msgstr "المصدر"
|
||||||
|
|
||||||
#: searx/webapp.py:334
|
#: searx/webapp.py:336
|
||||||
msgid "Error loading the next page"
|
msgid "Error loading the next page"
|
||||||
msgstr "حدث خلل أثناء تحميل الصفحة التالية"
|
msgstr "حدث خلل أثناء تحميل الصفحة التالية"
|
||||||
|
|
||||||
#: searx/webapp.py:491 searx/webapp.py:894
|
#: searx/webapp.py:495 searx/webapp.py:898
|
||||||
msgid "Invalid settings, please edit your preferences"
|
msgid "Invalid settings, please edit your preferences"
|
||||||
msgstr "إنّ الإعدادات خاطئة، يرجى تعديل خياراتك"
|
msgstr "إنّ الإعدادات خاطئة، يرجى تعديل خياراتك"
|
||||||
|
|
||||||
#: searx/webapp.py:507
|
#: searx/webapp.py:511
|
||||||
msgid "Invalid settings"
|
msgid "Invalid settings"
|
||||||
msgstr "إعدادات غير صالحة"
|
msgstr "إعدادات غير صالحة"
|
||||||
|
|
||||||
#: searx/webapp.py:584 searx/webapp.py:666
|
#: searx/webapp.py:588 searx/webapp.py:670
|
||||||
msgid "search error"
|
msgid "search error"
|
||||||
msgstr "خطأ في البحث"
|
msgstr "خطأ في البحث"
|
||||||
|
|
||||||
|
@ -461,7 +462,7 @@ msgstr "حوسبة معطيات ال{functions}"
|
||||||
|
|
||||||
#: searx/engines/mozhi.py:57
|
#: searx/engines/mozhi.py:57
|
||||||
msgid "Synonyms"
|
msgid "Synonyms"
|
||||||
msgstr ""
|
msgstr "مرادفات"
|
||||||
|
|
||||||
#: searx/engines/openstreetmap.py:159
|
#: searx/engines/openstreetmap.py:159
|
||||||
msgid "Get directions"
|
msgid "Get directions"
|
||||||
|
@ -690,26 +691,26 @@ msgstr "اتصال بالمشرف المخدم النموذجي"
|
||||||
msgid "Click on the magnifier to perform search"
|
msgid "Click on the magnifier to perform search"
|
||||||
msgstr "انقر على رمز المكبر للقيام بالبحث"
|
msgstr "انقر على رمز المكبر للقيام بالبحث"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:35
|
#: searx/templates/simple/macros.html:40
|
||||||
msgid "Length"
|
msgid "Length"
|
||||||
msgstr "الطول"
|
msgstr "الطول"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:36
|
#: searx/templates/simple/macros.html:41
|
||||||
msgid "Views"
|
msgid "Views"
|
||||||
msgstr "المشاهدات"
|
msgstr "المشاهدات"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:37
|
#: searx/templates/simple/macros.html:42
|
||||||
#: searx/templates/simple/result_templates/files.html:34
|
#: searx/templates/simple/result_templates/files.html:34
|
||||||
#: searx/templates/simple/result_templates/images.html:19
|
#: searx/templates/simple/result_templates/images.html:19
|
||||||
#: searx/templates/simple/result_templates/paper.html:6
|
#: searx/templates/simple/result_templates/paper.html:6
|
||||||
msgid "Author"
|
msgid "Author"
|
||||||
msgstr "الكاتب"
|
msgstr "الكاتب"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:45
|
#: searx/templates/simple/macros.html:50
|
||||||
msgid "cached"
|
msgid "cached"
|
||||||
msgstr "النسخة المخبأة"
|
msgstr "النسخة المخبأة"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:45
|
#: searx/templates/simple/macros.html:50
|
||||||
msgid "proxied"
|
msgid "proxied"
|
||||||
msgstr "المخدم البروكسي"
|
msgstr "المخدم البروكسي"
|
||||||
|
|
||||||
|
@ -782,27 +783,27 @@ msgstr "الرئيسية"
|
||||||
msgid "Default categories"
|
msgid "Default categories"
|
||||||
msgstr "القوائم الإفتراضية"
|
msgstr "القوائم الإفتراضية"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:187
|
#: searx/templates/simple/preferences.html:190
|
||||||
msgid "User interface"
|
msgid "User interface"
|
||||||
msgstr "واجهة المستخدم"
|
msgstr "واجهة المستخدم"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:208
|
#: searx/templates/simple/preferences.html:211
|
||||||
msgid "Privacy"
|
msgid "Privacy"
|
||||||
msgstr "الخصوصية"
|
msgstr "الخصوصية"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:221
|
#: searx/templates/simple/preferences.html:224
|
||||||
msgid "Engines"
|
msgid "Engines"
|
||||||
msgstr "المحركات"
|
msgstr "المحركات"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:223
|
#: searx/templates/simple/preferences.html:226
|
||||||
msgid "Currently used search engines"
|
msgid "Currently used search engines"
|
||||||
msgstr "محركات البحث المُستخدَمة حاليًا"
|
msgstr "محركات البحث المُستخدَمة حاليًا"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:231
|
#: searx/templates/simple/preferences.html:234
|
||||||
msgid "Special Queries"
|
msgid "Special Queries"
|
||||||
msgstr "استفسارات خاصة"
|
msgstr "استفسارات خاصة"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:237
|
#: searx/templates/simple/preferences.html:240
|
||||||
msgid "Cookies"
|
msgid "Cookies"
|
||||||
msgstr "كعكات الكوكيز"
|
msgstr "كعكات الكوكيز"
|
||||||
|
|
||||||
|
@ -1222,6 +1223,14 @@ msgstr "وَزن"
|
||||||
msgid "Max time"
|
msgid "Max time"
|
||||||
msgstr "أقصى مدّة"
|
msgstr "أقصى مدّة"
|
||||||
|
|
||||||
|
#: searx/templates/simple/preferences/favicon.html:2
|
||||||
|
msgid "Favicon Resolver"
|
||||||
|
msgstr "محلل أيقونة المفضلة"
|
||||||
|
|
||||||
|
#: searx/templates/simple/preferences/favicon.html:15
|
||||||
|
msgid "Display favicons near search results"
|
||||||
|
msgstr "عرض المفضلات قرب نتائج البحث"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences/footer.html:2
|
#: searx/templates/simple/preferences/footer.html:2
|
||||||
msgid ""
|
msgid ""
|
||||||
"These settings are stored in your cookies, this allows us not to store "
|
"These settings are stored in your cookies, this allows us not to store "
|
||||||
|
|
Binary file not shown.
|
@ -12,20 +12,22 @@
|
||||||
# Salif Mehmed <mail@salif.eu>, 2023, 2024.
|
# Salif Mehmed <mail@salif.eu>, 2023, 2024.
|
||||||
# return42 <return42@users.noreply.translate.codeberg.org>, 2024.
|
# return42 <return42@users.noreply.translate.codeberg.org>, 2024.
|
||||||
# krlsk <krlsk@users.noreply.translate.codeberg.org>, 2024.
|
# krlsk <krlsk@users.noreply.translate.codeberg.org>, 2024.
|
||||||
|
# stoychevww <stoychevww@users.noreply.translate.codeberg.org>, 2024.
|
||||||
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: 2024-10-03 11:11+0000\n"
|
"POT-Creation-Date: 2024-10-05 06:24+0000\n"
|
||||||
"PO-Revision-Date: 2024-05-25 08:18+0000\n"
|
"PO-Revision-Date: 2024-11-21 08:13+0000\n"
|
||||||
"Last-Translator: krlsk <krlsk@users.noreply.translate.codeberg.org>\n"
|
"Last-Translator: return42 <return42@users.noreply.translate.codeberg.org>\n"
|
||||||
|
"Language-Team: Bulgarian <https://translate.codeberg.org/projects/searxng/"
|
||||||
|
"searxng/bg/>\n"
|
||||||
"Language: bg\n"
|
"Language: bg\n"
|
||||||
"Language-Team: Bulgarian "
|
|
||||||
"<https://translate.codeberg.org/projects/searxng/searxng/bg/>\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.8.1\n"
|
||||||
"Generated-By: Babel 2.16.0\n"
|
"Generated-By: Babel 2.16.0\n"
|
||||||
|
|
||||||
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
||||||
|
@ -56,7 +58,7 @@ msgstr "музика"
|
||||||
#. CATEGORY_NAMES['SOCIAL_MEDIA']
|
#. CATEGORY_NAMES['SOCIAL_MEDIA']
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "social media"
|
msgid "social media"
|
||||||
msgstr "социална мрежа"
|
msgstr "социална медия"
|
||||||
|
|
||||||
#. CATEGORY_NAMES['IMAGES']
|
#. CATEGORY_NAMES['IMAGES']
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
|
@ -156,17 +158,17 @@ msgstr "автоматичен"
|
||||||
#. STYLE_NAMES['LIGHT']
|
#. STYLE_NAMES['LIGHT']
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "light"
|
msgid "light"
|
||||||
msgstr "светъл"
|
msgstr "светло"
|
||||||
|
|
||||||
#. STYLE_NAMES['DARK']
|
#. STYLE_NAMES['DARK']
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "dark"
|
msgid "dark"
|
||||||
msgstr "тъмен"
|
msgstr "тъмно"
|
||||||
|
|
||||||
#. STYLE_NAMES['BLACK']
|
#. STYLE_NAMES['BLACK']
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "black"
|
msgid "black"
|
||||||
msgstr ""
|
msgstr "черно"
|
||||||
|
|
||||||
#. BRAND_CUSTOM_LINKS['UPTIME']
|
#. BRAND_CUSTOM_LINKS['UPTIME']
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
|
@ -334,40 +336,40 @@ msgstr "Автор"
|
||||||
#. SOCIAL_MEDIA_TERMS['THREAD OPEN']
|
#. SOCIAL_MEDIA_TERMS['THREAD OPEN']
|
||||||
#: searx/engines/discourse.py:149 searx/searxng.msg
|
#: searx/engines/discourse.py:149 searx/searxng.msg
|
||||||
msgid "open"
|
msgid "open"
|
||||||
msgstr ""
|
msgstr "отворено"
|
||||||
|
|
||||||
#. SOCIAL_MEDIA_TERMS['THREAD CLOSED']
|
#. SOCIAL_MEDIA_TERMS['THREAD CLOSED']
|
||||||
#: searx/engines/discourse.py:149 searx/searxng.msg
|
#: searx/engines/discourse.py:149 searx/searxng.msg
|
||||||
msgid "closed"
|
msgid "closed"
|
||||||
msgstr ""
|
msgstr "Затворено"
|
||||||
|
|
||||||
#. SOCIAL_MEDIA_TERMS['THREAD ANSWERED']
|
#. SOCIAL_MEDIA_TERMS['THREAD ANSWERED']
|
||||||
#: searx/engines/discourse.py:160 searx/searxng.msg
|
#: searx/engines/discourse.py:160 searx/searxng.msg
|
||||||
msgid "answered"
|
msgid "answered"
|
||||||
msgstr ""
|
msgstr "Отговорено"
|
||||||
|
|
||||||
#: searx/webapp.py:330
|
#: searx/webapp.py:332
|
||||||
msgid "No item found"
|
msgid "No item found"
|
||||||
msgstr "Не е намерен артикул"
|
msgstr "Не е намерен артикул"
|
||||||
|
|
||||||
#: searx/engines/qwant.py:288
|
#: searx/engines/qwant.py:288
|
||||||
#: searx/templates/simple/result_templates/images.html:23 searx/webapp.py:332
|
#: searx/templates/simple/result_templates/images.html:23 searx/webapp.py:334
|
||||||
msgid "Source"
|
msgid "Source"
|
||||||
msgstr "Източник"
|
msgstr "Източник"
|
||||||
|
|
||||||
#: searx/webapp.py:334
|
#: searx/webapp.py:336
|
||||||
msgid "Error loading the next page"
|
msgid "Error loading the next page"
|
||||||
msgstr "Грешка при зареждането на следващата страница"
|
msgstr "Грешка при зареждането на следващата страница"
|
||||||
|
|
||||||
#: searx/webapp.py:491 searx/webapp.py:894
|
#: searx/webapp.py:495 searx/webapp.py:898
|
||||||
msgid "Invalid settings, please edit your preferences"
|
msgid "Invalid settings, please edit your preferences"
|
||||||
msgstr "Неправилни настройки, моля проверете предпочитанията си"
|
msgstr "Неправилни настройки, моля редактирайте предпочитанията си"
|
||||||
|
|
||||||
#: searx/webapp.py:507
|
#: searx/webapp.py:511
|
||||||
msgid "Invalid settings"
|
msgid "Invalid settings"
|
||||||
msgstr "Невалидни настройки"
|
msgstr "Невалидни настройки"
|
||||||
|
|
||||||
#: searx/webapp.py:584 searx/webapp.py:666
|
#: searx/webapp.py:588 searx/webapp.py:670
|
||||||
msgid "search error"
|
msgid "search error"
|
||||||
msgstr "Грешка при търсенето"
|
msgstr "Грешка при търсенето"
|
||||||
|
|
||||||
|
@ -409,11 +411,11 @@ msgstr "прокси грешка"
|
||||||
|
|
||||||
#: searx/webutils.py:57
|
#: searx/webutils.py:57
|
||||||
msgid "CAPTCHA"
|
msgid "CAPTCHA"
|
||||||
msgstr "Кепча"
|
msgstr "CAPTCHA"
|
||||||
|
|
||||||
#: searx/webutils.py:58
|
#: searx/webutils.py:58
|
||||||
msgid "too many requests"
|
msgid "too many requests"
|
||||||
msgstr "твърде много искания"
|
msgstr "твърде много повиквания"
|
||||||
|
|
||||||
#: searx/webutils.py:59
|
#: searx/webutils.py:59
|
||||||
msgid "access denied"
|
msgid "access denied"
|
||||||
|
@ -453,7 +455,7 @@ msgstr "Изчислете {functions} на аргументите"
|
||||||
|
|
||||||
#: searx/engines/mozhi.py:57
|
#: searx/engines/mozhi.py:57
|
||||||
msgid "Synonyms"
|
msgid "Synonyms"
|
||||||
msgstr ""
|
msgstr "Синоними"
|
||||||
|
|
||||||
#: searx/engines/openstreetmap.py:159
|
#: searx/engines/openstreetmap.py:159
|
||||||
msgid "Get directions"
|
msgid "Get directions"
|
||||||
|
@ -517,7 +519,7 @@ msgstr ""
|
||||||
|
|
||||||
#: searx/engines/tineye.py:57
|
#: searx/engines/tineye.py:57
|
||||||
msgid "The image could not be downloaded."
|
msgid "The image could not be downloaded."
|
||||||
msgstr "Снимката не може да бъде смъкната."
|
msgstr "Снимката не може да бъде свалена."
|
||||||
|
|
||||||
#: searx/engines/zlibrary.py:138
|
#: searx/engines/zlibrary.py:138
|
||||||
msgid "Book rating"
|
msgid "Book rating"
|
||||||
|
@ -678,26 +680,26 @@ msgstr "Контакт за връзка с поддържащия публич
|
||||||
msgid "Click on the magnifier to perform search"
|
msgid "Click on the magnifier to perform search"
|
||||||
msgstr "Кликнете лупичката, за да изпълните търсене"
|
msgstr "Кликнете лупичката, за да изпълните търсене"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:35
|
#: searx/templates/simple/macros.html:40
|
||||||
msgid "Length"
|
msgid "Length"
|
||||||
msgstr "Дължина"
|
msgstr "Дължина"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:36
|
#: searx/templates/simple/macros.html:41
|
||||||
msgid "Views"
|
msgid "Views"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:37
|
#: searx/templates/simple/macros.html:42
|
||||||
#: searx/templates/simple/result_templates/files.html:34
|
#: searx/templates/simple/result_templates/files.html:34
|
||||||
#: searx/templates/simple/result_templates/images.html:19
|
#: searx/templates/simple/result_templates/images.html:19
|
||||||
#: searx/templates/simple/result_templates/paper.html:6
|
#: searx/templates/simple/result_templates/paper.html:6
|
||||||
msgid "Author"
|
msgid "Author"
|
||||||
msgstr "Автор"
|
msgstr "Автор"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:45
|
#: searx/templates/simple/macros.html:50
|
||||||
msgid "cached"
|
msgid "cached"
|
||||||
msgstr "кеширана"
|
msgstr "кеширана"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:45
|
#: searx/templates/simple/macros.html:50
|
||||||
msgid "proxied"
|
msgid "proxied"
|
||||||
msgstr "прекарана"
|
msgstr "прекарана"
|
||||||
|
|
||||||
|
@ -774,27 +776,27 @@ msgstr "Общи"
|
||||||
msgid "Default categories"
|
msgid "Default categories"
|
||||||
msgstr "Първоначални категории"
|
msgstr "Първоначални категории"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:187
|
#: searx/templates/simple/preferences.html:190
|
||||||
msgid "User interface"
|
msgid "User interface"
|
||||||
msgstr "Потребителски интерфейс"
|
msgstr "Потребителски интерфейс"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:208
|
#: searx/templates/simple/preferences.html:211
|
||||||
msgid "Privacy"
|
msgid "Privacy"
|
||||||
msgstr "Поверителност"
|
msgstr "Поверителност"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:221
|
#: searx/templates/simple/preferences.html:224
|
||||||
msgid "Engines"
|
msgid "Engines"
|
||||||
msgstr "Търсачки"
|
msgstr "Търсачки"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:223
|
#: searx/templates/simple/preferences.html:226
|
||||||
msgid "Currently used search engines"
|
msgid "Currently used search engines"
|
||||||
msgstr "Използвани търсачки в момента"
|
msgstr "Използвани търсачки в момента"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:231
|
#: searx/templates/simple/preferences.html:234
|
||||||
msgid "Special Queries"
|
msgid "Special Queries"
|
||||||
msgstr "Специялни Запитвания"
|
msgstr "Специялни Запитвания"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:237
|
#: searx/templates/simple/preferences.html:240
|
||||||
msgid "Cookies"
|
msgid "Cookies"
|
||||||
msgstr "Бисквитки"
|
msgstr "Бисквитки"
|
||||||
|
|
||||||
|
@ -1219,6 +1221,14 @@ msgstr "Тегло"
|
||||||
msgid "Max time"
|
msgid "Max time"
|
||||||
msgstr "Максимално време"
|
msgstr "Максимално време"
|
||||||
|
|
||||||
|
#: searx/templates/simple/preferences/favicon.html:2
|
||||||
|
msgid "Favicon Resolver"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: searx/templates/simple/preferences/favicon.html:15
|
||||||
|
msgid "Display favicons near search results"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: searx/templates/simple/preferences/footer.html:2
|
#: searx/templates/simple/preferences/footer.html:2
|
||||||
msgid ""
|
msgid ""
|
||||||
"These settings are stored in your cookies, this allows us not to store "
|
"These settings are stored in your cookies, this allows us not to store "
|
||||||
|
@ -1967,4 +1977,3 @@ msgstr "скрий видеото"
|
||||||
|
|
||||||
#~ msgid "Engines cannot retrieve results"
|
#~ msgid "Engines cannot retrieve results"
|
||||||
#~ msgstr "Търсачките не можаха да намерят резултати"
|
#~ msgstr "Търсачките не можаха да намерят резултати"
|
||||||
|
|
||||||
|
|
Binary file not shown.
|
@ -18,17 +18,17 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PROJECT VERSION\n"
|
"Project-Id-Version: PROJECT VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2024-10-03 11:11+0000\n"
|
"POT-Creation-Date: 2024-10-05 06:24+0000\n"
|
||||||
"PO-Revision-Date: 2024-10-04 07:09+0000\n"
|
"PO-Revision-Date: 2024-10-04 07:09+0000\n"
|
||||||
"Last-Translator: return42 <return42@users.noreply.translate.codeberg.org>\n"
|
"Last-Translator: return42 <return42@users.noreply.translate.codeberg.org>"
|
||||||
"Language-Team: Bengali <https://translate.codeberg.org/projects/searxng/"
|
"\n"
|
||||||
"searxng/bn/>\n"
|
|
||||||
"Language: bn\n"
|
"Language: bn\n"
|
||||||
|
"Language-Team: Bengali "
|
||||||
|
"<https://translate.codeberg.org/projects/searxng/searxng/bn/>\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.7.2\n"
|
|
||||||
"Generated-By: Babel 2.16.0\n"
|
"Generated-By: Babel 2.16.0\n"
|
||||||
|
|
||||||
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
||||||
|
@ -349,28 +349,28 @@ msgstr "বন্ধ"
|
||||||
msgid "answered"
|
msgid "answered"
|
||||||
msgstr "উত্তরকৃত"
|
msgstr "উত্তরকৃত"
|
||||||
|
|
||||||
#: searx/webapp.py:330
|
#: searx/webapp.py:332
|
||||||
msgid "No item found"
|
msgid "No item found"
|
||||||
msgstr "কোন আইটেম পাওয়া যায়নি"
|
msgstr "কোন আইটেম পাওয়া যায়নি"
|
||||||
|
|
||||||
#: searx/engines/qwant.py:288
|
#: searx/engines/qwant.py:288
|
||||||
#: searx/templates/simple/result_templates/images.html:23 searx/webapp.py:332
|
#: searx/templates/simple/result_templates/images.html:23 searx/webapp.py:334
|
||||||
msgid "Source"
|
msgid "Source"
|
||||||
msgstr "উৎস"
|
msgstr "উৎস"
|
||||||
|
|
||||||
#: searx/webapp.py:334
|
#: searx/webapp.py:336
|
||||||
msgid "Error loading the next page"
|
msgid "Error loading the next page"
|
||||||
msgstr "পরবর্তী পৃষ্ঠাটি লোড করায় ত্রুটি দেখা যাচ্ছে"
|
msgstr "পরবর্তী পৃষ্ঠাটি লোড করায় ত্রুটি দেখা যাচ্ছে"
|
||||||
|
|
||||||
#: searx/webapp.py:491 searx/webapp.py:894
|
#: searx/webapp.py:495 searx/webapp.py:898
|
||||||
msgid "Invalid settings, please edit your preferences"
|
msgid "Invalid settings, please edit your preferences"
|
||||||
msgstr "অকেজো সেটিংস, অনুগ্রহ করে আপনার পছন্দগুলি সম্পাদনা করুন"
|
msgstr "অকেজো সেটিংস, অনুগ্রহ করে আপনার পছন্দগুলি সম্পাদনা করুন"
|
||||||
|
|
||||||
#: searx/webapp.py:507
|
#: searx/webapp.py:511
|
||||||
msgid "Invalid settings"
|
msgid "Invalid settings"
|
||||||
msgstr "অকেজো সেটিংস"
|
msgstr "অকেজো সেটিংস"
|
||||||
|
|
||||||
#: searx/webapp.py:584 searx/webapp.py:666
|
#: searx/webapp.py:588 searx/webapp.py:670
|
||||||
msgid "search error"
|
msgid "search error"
|
||||||
msgstr "সার্চ ত্রুটি"
|
msgstr "সার্চ ত্রুটি"
|
||||||
|
|
||||||
|
@ -685,26 +685,26 @@ msgstr "ইন্সট্যান্স রক্ষণাবেক্ষণ
|
||||||
msgid "Click on the magnifier to perform search"
|
msgid "Click on the magnifier to perform search"
|
||||||
msgstr "অনুসন্ধান করতে ম্যাগনিফায়ার আইকনে ক্লিক করুন"
|
msgstr "অনুসন্ধান করতে ম্যাগনিফায়ার আইকনে ক্লিক করুন"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:35
|
#: searx/templates/simple/macros.html:40
|
||||||
msgid "Length"
|
msgid "Length"
|
||||||
msgstr "দৈর্ঘ্য"
|
msgstr "দৈর্ঘ্য"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:36
|
#: searx/templates/simple/macros.html:41
|
||||||
msgid "Views"
|
msgid "Views"
|
||||||
msgstr "ভিউ"
|
msgstr "ভিউ"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:37
|
#: searx/templates/simple/macros.html:42
|
||||||
#: searx/templates/simple/result_templates/files.html:34
|
#: searx/templates/simple/result_templates/files.html:34
|
||||||
#: searx/templates/simple/result_templates/images.html:19
|
#: searx/templates/simple/result_templates/images.html:19
|
||||||
#: searx/templates/simple/result_templates/paper.html:6
|
#: searx/templates/simple/result_templates/paper.html:6
|
||||||
msgid "Author"
|
msgid "Author"
|
||||||
msgstr "লেখক"
|
msgstr "লেখক"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:45
|
#: searx/templates/simple/macros.html:50
|
||||||
msgid "cached"
|
msgid "cached"
|
||||||
msgstr "ক্যাশকৃত"
|
msgstr "ক্যাশকৃত"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:45
|
#: searx/templates/simple/macros.html:50
|
||||||
msgid "proxied"
|
msgid "proxied"
|
||||||
msgstr "প্রক্সিকৃত"
|
msgstr "প্রক্সিকৃত"
|
||||||
|
|
||||||
|
@ -781,27 +781,27 @@ msgstr "সাধারণ"
|
||||||
msgid "Default categories"
|
msgid "Default categories"
|
||||||
msgstr "ডিফল্ট বিভাগ"
|
msgstr "ডিফল্ট বিভাগ"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:187
|
#: searx/templates/simple/preferences.html:190
|
||||||
msgid "User interface"
|
msgid "User interface"
|
||||||
msgstr "ব্যবহারকারীর সম্মুখে প্রদর্শিত"
|
msgstr "ব্যবহারকারীর সম্মুখে প্রদর্শিত"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:208
|
#: searx/templates/simple/preferences.html:211
|
||||||
msgid "Privacy"
|
msgid "Privacy"
|
||||||
msgstr "গোপনীয়তা"
|
msgstr "গোপনীয়তা"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:221
|
#: searx/templates/simple/preferences.html:224
|
||||||
msgid "Engines"
|
msgid "Engines"
|
||||||
msgstr "ইঞ্জিন"
|
msgstr "ইঞ্জিন"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:223
|
#: searx/templates/simple/preferences.html:226
|
||||||
msgid "Currently used search engines"
|
msgid "Currently used search engines"
|
||||||
msgstr "বর্তমানে ব্যবহৃত সার্চ ইঞ্জিন"
|
msgstr "বর্তমানে ব্যবহৃত সার্চ ইঞ্জিন"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:231
|
#: searx/templates/simple/preferences.html:234
|
||||||
msgid "Special Queries"
|
msgid "Special Queries"
|
||||||
msgstr "বিশেষ প্রশ্ন"
|
msgstr "বিশেষ প্রশ্ন"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:237
|
#: searx/templates/simple/preferences.html:240
|
||||||
msgid "Cookies"
|
msgid "Cookies"
|
||||||
msgstr "কুকি"
|
msgstr "কুকি"
|
||||||
|
|
||||||
|
@ -1219,6 +1219,14 @@ msgstr "ওজন"
|
||||||
msgid "Max time"
|
msgid "Max time"
|
||||||
msgstr "সর্বোচ্চ সময়"
|
msgstr "সর্বোচ্চ সময়"
|
||||||
|
|
||||||
|
#: searx/templates/simple/preferences/favicon.html:2
|
||||||
|
msgid "Favicon Resolver"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: searx/templates/simple/preferences/favicon.html:15
|
||||||
|
msgid "Display favicons near search results"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: searx/templates/simple/preferences/footer.html:2
|
#: searx/templates/simple/preferences/footer.html:2
|
||||||
msgid ""
|
msgid ""
|
||||||
"These settings are stored in your cookies, this allows us not to store "
|
"These settings are stored in your cookies, this allows us not to store "
|
||||||
|
@ -1723,3 +1731,4 @@ msgstr "ভিডিও লুকিয়ে ফেলুন"
|
||||||
|
|
||||||
#~ msgid "Engines cannot retrieve results"
|
#~ msgid "Engines cannot retrieve results"
|
||||||
#~ msgstr "ইঞ্জিন ফলাফল পুনরুদ্ধার করতে পারেছেনা"
|
#~ msgstr "ইঞ্জিন ফলাফল পুনরুদ্ধার করতে পারেছেনা"
|
||||||
|
|
||||||
|
|
Binary file not shown.
|
@ -10,7 +10,7 @@ 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: 2024-10-03 11:11+0000\n"
|
"POT-Creation-Date: 2024-10-05 06:24+0000\n"
|
||||||
"PO-Revision-Date: 2023-06-02 07:07+0000\n"
|
"PO-Revision-Date: 2023-06-02 07:07+0000\n"
|
||||||
"Last-Translator: return42 <markus.heiser@darmarit.de>\n"
|
"Last-Translator: return42 <markus.heiser@darmarit.de>\n"
|
||||||
"Language: bo\n"
|
"Language: bo\n"
|
||||||
|
@ -340,28 +340,28 @@ msgstr ""
|
||||||
msgid "answered"
|
msgid "answered"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: searx/webapp.py:330
|
#: searx/webapp.py:332
|
||||||
msgid "No item found"
|
msgid "No item found"
|
||||||
msgstr "རྣམ་གྲངས་གང་ཡང་རྙེད་རྒྱུ་མ་བྱུང་།"
|
msgstr "རྣམ་གྲངས་གང་ཡང་རྙེད་རྒྱུ་མ་བྱུང་།"
|
||||||
|
|
||||||
#: searx/engines/qwant.py:288
|
#: searx/engines/qwant.py:288
|
||||||
#: searx/templates/simple/result_templates/images.html:23 searx/webapp.py:332
|
#: searx/templates/simple/result_templates/images.html:23 searx/webapp.py:334
|
||||||
msgid "Source"
|
msgid "Source"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: searx/webapp.py:334
|
#: searx/webapp.py:336
|
||||||
msgid "Error loading the next page"
|
msgid "Error loading the next page"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: searx/webapp.py:491 searx/webapp.py:894
|
#: searx/webapp.py:495 searx/webapp.py:898
|
||||||
msgid "Invalid settings, please edit your preferences"
|
msgid "Invalid settings, please edit your preferences"
|
||||||
msgstr "ནུས་མེད་ཀྱི་སྒྲིག་འགོད།ཁྱེད་ཀྱིས་གདམ་ཀ་ལ་བཅོས་སྒྲིག་གཏོང་རོགས།"
|
msgstr "ནུས་མེད་ཀྱི་སྒྲིག་འགོད།ཁྱེད་ཀྱིས་གདམ་ཀ་ལ་བཅོས་སྒྲིག་གཏོང་རོགས།"
|
||||||
|
|
||||||
#: searx/webapp.py:507
|
#: searx/webapp.py:511
|
||||||
msgid "Invalid settings"
|
msgid "Invalid settings"
|
||||||
msgstr "ནུས་མེད་ཀྱི་སྒྲིག་འགོད།"
|
msgstr "ནུས་མེད་ཀྱི་སྒྲིག་འགོད།"
|
||||||
|
|
||||||
#: searx/webapp.py:584 searx/webapp.py:666
|
#: searx/webapp.py:588 searx/webapp.py:670
|
||||||
msgid "search error"
|
msgid "search error"
|
||||||
msgstr "འཚོལ་བཤེར་ལ་ནོར་འཁྲུལ་བྱུང་།"
|
msgstr "འཚོལ་བཤེར་ལ་ནོར་འཁྲུལ་བྱུང་།"
|
||||||
|
|
||||||
|
@ -658,26 +658,26 @@ msgstr ""
|
||||||
msgid "Click on the magnifier to perform search"
|
msgid "Click on the magnifier to perform search"
|
||||||
msgstr "ས་བོན་སྟེང་གི་སྦྲེལ་ཐག་ལ་རྡེབ་ནས་འཚོལ་བཤེར་གཏོང་།"
|
msgstr "ས་བོན་སྟེང་གི་སྦྲེལ་ཐག་ལ་རྡེབ་ནས་འཚོལ་བཤེར་གཏོང་།"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:35
|
#: searx/templates/simple/macros.html:40
|
||||||
msgid "Length"
|
msgid "Length"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:36
|
#: searx/templates/simple/macros.html:41
|
||||||
msgid "Views"
|
msgid "Views"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:37
|
#: searx/templates/simple/macros.html:42
|
||||||
#: searx/templates/simple/result_templates/files.html:34
|
#: searx/templates/simple/result_templates/files.html:34
|
||||||
#: searx/templates/simple/result_templates/images.html:19
|
#: searx/templates/simple/result_templates/images.html:19
|
||||||
#: searx/templates/simple/result_templates/paper.html:6
|
#: searx/templates/simple/result_templates/paper.html:6
|
||||||
msgid "Author"
|
msgid "Author"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:45
|
#: searx/templates/simple/macros.html:50
|
||||||
msgid "cached"
|
msgid "cached"
|
||||||
msgstr "འདྲ་བཤུས་རྒྱབ་ཚར།"
|
msgstr "འདྲ་བཤུས་རྒྱབ་ཚར།"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:45
|
#: searx/templates/simple/macros.html:50
|
||||||
msgid "proxied"
|
msgid "proxied"
|
||||||
msgstr "མངག་བཅོལ་བྱེད་ཟིན།"
|
msgstr "མངག་བཅོལ་བྱེད་ཟིན།"
|
||||||
|
|
||||||
|
@ -750,27 +750,27 @@ msgstr "སྤྱི་བཏང་།"
|
||||||
msgid "Default categories"
|
msgid "Default categories"
|
||||||
msgstr "གཞི་བཞག་གི་རིགས།"
|
msgstr "གཞི་བཞག་གི་རིགས།"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:187
|
#: searx/templates/simple/preferences.html:190
|
||||||
msgid "User interface"
|
msgid "User interface"
|
||||||
msgstr "མདུན་ངོས།"
|
msgstr "མདུན་ངོས།"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:208
|
#: searx/templates/simple/preferences.html:211
|
||||||
msgid "Privacy"
|
msgid "Privacy"
|
||||||
msgstr "མི་སྒེར་གསང་དོན།"
|
msgstr "མི་སྒེར་གསང་དོན།"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:221
|
#: searx/templates/simple/preferences.html:224
|
||||||
msgid "Engines"
|
msgid "Engines"
|
||||||
msgstr "སྒུལ་བྱེད།"
|
msgstr "སྒུལ་བྱེད།"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:223
|
#: searx/templates/simple/preferences.html:226
|
||||||
msgid "Currently used search engines"
|
msgid "Currently used search engines"
|
||||||
msgstr "ཉེ་ལམ་སྤྱད་ཟིན་པའི་འཚོལ་བྱེད་སྒུལ་བྱེད།"
|
msgstr "ཉེ་ལམ་སྤྱད་ཟིན་པའི་འཚོལ་བྱེད་སྒུལ་བྱེད།"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:231
|
#: searx/templates/simple/preferences.html:234
|
||||||
msgid "Special Queries"
|
msgid "Special Queries"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:237
|
#: searx/templates/simple/preferences.html:240
|
||||||
msgid "Cookies"
|
msgid "Cookies"
|
||||||
msgstr "རྐང་རྗེས།"
|
msgstr "རྐང་རྗེས།"
|
||||||
|
|
||||||
|
@ -1182,6 +1182,14 @@ msgstr ""
|
||||||
msgid "Max time"
|
msgid "Max time"
|
||||||
msgstr "མང་མཐའི་དུས་ཚོད།"
|
msgstr "མང་མཐའི་དུས་ཚོད།"
|
||||||
|
|
||||||
|
#: searx/templates/simple/preferences/favicon.html:2
|
||||||
|
msgid "Favicon Resolver"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: searx/templates/simple/preferences/favicon.html:15
|
||||||
|
msgid "Display favicons near search results"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: searx/templates/simple/preferences/footer.html:2
|
#: searx/templates/simple/preferences/footer.html:2
|
||||||
msgid ""
|
msgid ""
|
||||||
"These settings are stored in your cookies, this allows us not to store "
|
"These settings are stored in your cookies, this allows us not to store "
|
||||||
|
|
Binary file not shown.
|
@ -21,7 +21,7 @@ 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: 2024-10-03 11:11+0000\n"
|
"POT-Creation-Date: 2024-10-05 06:24+0000\n"
|
||||||
"PO-Revision-Date: 2024-08-16 06:18+0000\n"
|
"PO-Revision-Date: 2024-08-16 06:18+0000\n"
|
||||||
"Last-Translator: return42 <return42@users.noreply.translate.codeberg.org>"
|
"Last-Translator: return42 <return42@users.noreply.translate.codeberg.org>"
|
||||||
"\n"
|
"\n"
|
||||||
|
@ -352,28 +352,28 @@ msgstr ""
|
||||||
msgid "answered"
|
msgid "answered"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: searx/webapp.py:330
|
#: searx/webapp.py:332
|
||||||
msgid "No item found"
|
msgid "No item found"
|
||||||
msgstr "No s'ha trobat cap element"
|
msgstr "No s'ha trobat cap element"
|
||||||
|
|
||||||
#: searx/engines/qwant.py:288
|
#: searx/engines/qwant.py:288
|
||||||
#: searx/templates/simple/result_templates/images.html:23 searx/webapp.py:332
|
#: searx/templates/simple/result_templates/images.html:23 searx/webapp.py:334
|
||||||
msgid "Source"
|
msgid "Source"
|
||||||
msgstr "Origen"
|
msgstr "Origen"
|
||||||
|
|
||||||
#: searx/webapp.py:334
|
#: searx/webapp.py:336
|
||||||
msgid "Error loading the next page"
|
msgid "Error loading the next page"
|
||||||
msgstr "S'ha produït un error en carregar la següent pàgina"
|
msgstr "S'ha produït un error en carregar la següent pàgina"
|
||||||
|
|
||||||
#: searx/webapp.py:491 searx/webapp.py:894
|
#: searx/webapp.py:495 searx/webapp.py:898
|
||||||
msgid "Invalid settings, please edit your preferences"
|
msgid "Invalid settings, please edit your preferences"
|
||||||
msgstr "La configuració no és vàlida, editeu-la"
|
msgstr "La configuració no és vàlida, editeu-la"
|
||||||
|
|
||||||
#: searx/webapp.py:507
|
#: searx/webapp.py:511
|
||||||
msgid "Invalid settings"
|
msgid "Invalid settings"
|
||||||
msgstr "La configuració no és vàlida"
|
msgstr "La configuració no és vàlida"
|
||||||
|
|
||||||
#: searx/webapp.py:584 searx/webapp.py:666
|
#: searx/webapp.py:588 searx/webapp.py:670
|
||||||
msgid "search error"
|
msgid "search error"
|
||||||
msgstr "error de cerca"
|
msgstr "error de cerca"
|
||||||
|
|
||||||
|
@ -686,26 +686,26 @@ msgstr "Contacteu amb el mantenidor de la instància"
|
||||||
msgid "Click on the magnifier to perform search"
|
msgid "Click on the magnifier to perform search"
|
||||||
msgstr "Feu clic en la lupa per a executar la cerca"
|
msgstr "Feu clic en la lupa per a executar la cerca"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:35
|
#: searx/templates/simple/macros.html:40
|
||||||
msgid "Length"
|
msgid "Length"
|
||||||
msgstr "Longitud"
|
msgstr "Longitud"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:36
|
#: searx/templates/simple/macros.html:41
|
||||||
msgid "Views"
|
msgid "Views"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:37
|
#: searx/templates/simple/macros.html:42
|
||||||
#: searx/templates/simple/result_templates/files.html:34
|
#: searx/templates/simple/result_templates/files.html:34
|
||||||
#: searx/templates/simple/result_templates/images.html:19
|
#: searx/templates/simple/result_templates/images.html:19
|
||||||
#: searx/templates/simple/result_templates/paper.html:6
|
#: searx/templates/simple/result_templates/paper.html:6
|
||||||
msgid "Author"
|
msgid "Author"
|
||||||
msgstr "Autor"
|
msgstr "Autor"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:45
|
#: searx/templates/simple/macros.html:50
|
||||||
msgid "cached"
|
msgid "cached"
|
||||||
msgstr "en memòria cau"
|
msgstr "en memòria cau"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:45
|
#: searx/templates/simple/macros.html:50
|
||||||
msgid "proxied"
|
msgid "proxied"
|
||||||
msgstr "en servidor intermediari"
|
msgstr "en servidor intermediari"
|
||||||
|
|
||||||
|
@ -782,27 +782,27 @@ msgstr "General"
|
||||||
msgid "Default categories"
|
msgid "Default categories"
|
||||||
msgstr "Categories predeterminades"
|
msgstr "Categories predeterminades"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:187
|
#: searx/templates/simple/preferences.html:190
|
||||||
msgid "User interface"
|
msgid "User interface"
|
||||||
msgstr "Interfície de l'usuari"
|
msgstr "Interfície de l'usuari"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:208
|
#: searx/templates/simple/preferences.html:211
|
||||||
msgid "Privacy"
|
msgid "Privacy"
|
||||||
msgstr "Privadesa"
|
msgstr "Privadesa"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:221
|
#: searx/templates/simple/preferences.html:224
|
||||||
msgid "Engines"
|
msgid "Engines"
|
||||||
msgstr "Motors de cerca"
|
msgstr "Motors de cerca"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:223
|
#: searx/templates/simple/preferences.html:226
|
||||||
msgid "Currently used search engines"
|
msgid "Currently used search engines"
|
||||||
msgstr "Cercadors usats actualment"
|
msgstr "Cercadors usats actualment"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:231
|
#: searx/templates/simple/preferences.html:234
|
||||||
msgid "Special Queries"
|
msgid "Special Queries"
|
||||||
msgstr "Consultes especials"
|
msgstr "Consultes especials"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:237
|
#: searx/templates/simple/preferences.html:240
|
||||||
msgid "Cookies"
|
msgid "Cookies"
|
||||||
msgstr "Galetes"
|
msgstr "Galetes"
|
||||||
|
|
||||||
|
@ -1223,6 +1223,14 @@ msgstr "Pes"
|
||||||
msgid "Max time"
|
msgid "Max time"
|
||||||
msgstr "Temps màxim"
|
msgstr "Temps màxim"
|
||||||
|
|
||||||
|
#: searx/templates/simple/preferences/favicon.html:2
|
||||||
|
msgid "Favicon Resolver"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: searx/templates/simple/preferences/favicon.html:15
|
||||||
|
msgid "Display favicons near search results"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: searx/templates/simple/preferences/footer.html:2
|
#: searx/templates/simple/preferences/footer.html:2
|
||||||
msgid ""
|
msgid ""
|
||||||
"These settings are stored in your cookies, this allows us not to store "
|
"These settings are stored in your cookies, this allows us not to store "
|
||||||
|
|
Binary file not shown.
|
@ -18,8 +18,8 @@ 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: 2024-10-03 11:11+0000\n"
|
"POT-Creation-Date: 2024-10-05 06:24+0000\n"
|
||||||
"PO-Revision-Date: 2024-10-03 19:18+0000\n"
|
"PO-Revision-Date: 2024-10-06 14:31+0000\n"
|
||||||
"Last-Translator: Fjuro <fjuro@alius.cz>\n"
|
"Last-Translator: Fjuro <fjuro@alius.cz>\n"
|
||||||
"Language-Team: Czech <https://translate.codeberg.org/projects/searxng/"
|
"Language-Team: Czech <https://translate.codeberg.org/projects/searxng/"
|
||||||
"searxng/cs/>\n"
|
"searxng/cs/>\n"
|
||||||
|
@ -350,28 +350,28 @@ msgstr "zavřené"
|
||||||
msgid "answered"
|
msgid "answered"
|
||||||
msgstr "zodpovězené"
|
msgstr "zodpovězené"
|
||||||
|
|
||||||
#: searx/webapp.py:330
|
#: searx/webapp.py:332
|
||||||
msgid "No item found"
|
msgid "No item found"
|
||||||
msgstr "Nic nenalezeno"
|
msgstr "Nic nenalezeno"
|
||||||
|
|
||||||
#: searx/engines/qwant.py:288
|
#: searx/engines/qwant.py:288
|
||||||
#: searx/templates/simple/result_templates/images.html:23 searx/webapp.py:332
|
#: searx/templates/simple/result_templates/images.html:23 searx/webapp.py:334
|
||||||
msgid "Source"
|
msgid "Source"
|
||||||
msgstr "zdroj"
|
msgstr "zdroj"
|
||||||
|
|
||||||
#: searx/webapp.py:334
|
#: searx/webapp.py:336
|
||||||
msgid "Error loading the next page"
|
msgid "Error loading the next page"
|
||||||
msgstr "Chyba při načítání další stránky"
|
msgstr "Chyba při načítání další stránky"
|
||||||
|
|
||||||
#: searx/webapp.py:491 searx/webapp.py:894
|
#: searx/webapp.py:495 searx/webapp.py:898
|
||||||
msgid "Invalid settings, please edit your preferences"
|
msgid "Invalid settings, please edit your preferences"
|
||||||
msgstr "Neplatné nastavení, upravte své předvolby"
|
msgstr "Neplatné nastavení, upravte své předvolby"
|
||||||
|
|
||||||
#: searx/webapp.py:507
|
#: searx/webapp.py:511
|
||||||
msgid "Invalid settings"
|
msgid "Invalid settings"
|
||||||
msgstr "Neplatné nastavení"
|
msgstr "Neplatné nastavení"
|
||||||
|
|
||||||
#: searx/webapp.py:584 searx/webapp.py:666
|
#: searx/webapp.py:588 searx/webapp.py:670
|
||||||
msgid "search error"
|
msgid "search error"
|
||||||
msgstr "chyba vyhledávání"
|
msgstr "chyba vyhledávání"
|
||||||
|
|
||||||
|
@ -686,26 +686,26 @@ msgstr "Kontaktujte správce instance"
|
||||||
msgid "Click on the magnifier to perform search"
|
msgid "Click on the magnifier to perform search"
|
||||||
msgstr "Vyhledávání provedete kliknutím na lupu"
|
msgstr "Vyhledávání provedete kliknutím na lupu"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:35
|
#: searx/templates/simple/macros.html:40
|
||||||
msgid "Length"
|
msgid "Length"
|
||||||
msgstr "Délka"
|
msgstr "Délka"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:36
|
#: searx/templates/simple/macros.html:41
|
||||||
msgid "Views"
|
msgid "Views"
|
||||||
msgstr "Zhlédnutí"
|
msgstr "Zhlédnutí"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:37
|
#: searx/templates/simple/macros.html:42
|
||||||
#: searx/templates/simple/result_templates/files.html:34
|
#: searx/templates/simple/result_templates/files.html:34
|
||||||
#: searx/templates/simple/result_templates/images.html:19
|
#: searx/templates/simple/result_templates/images.html:19
|
||||||
#: searx/templates/simple/result_templates/paper.html:6
|
#: searx/templates/simple/result_templates/paper.html:6
|
||||||
msgid "Author"
|
msgid "Author"
|
||||||
msgstr "Autor"
|
msgstr "Autor"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:45
|
#: searx/templates/simple/macros.html:50
|
||||||
msgid "cached"
|
msgid "cached"
|
||||||
msgstr "archivovaná verze"
|
msgstr "archivovaná verze"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:45
|
#: searx/templates/simple/macros.html:50
|
||||||
msgid "proxied"
|
msgid "proxied"
|
||||||
msgstr "přes proxy"
|
msgstr "přes proxy"
|
||||||
|
|
||||||
|
@ -780,27 +780,27 @@ msgstr "Obecné"
|
||||||
msgid "Default categories"
|
msgid "Default categories"
|
||||||
msgstr "Základní kategorie"
|
msgstr "Základní kategorie"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:187
|
#: searx/templates/simple/preferences.html:190
|
||||||
msgid "User interface"
|
msgid "User interface"
|
||||||
msgstr "Uživatelské rozhraní"
|
msgstr "Uživatelské rozhraní"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:208
|
#: searx/templates/simple/preferences.html:211
|
||||||
msgid "Privacy"
|
msgid "Privacy"
|
||||||
msgstr "Soukromí"
|
msgstr "Soukromí"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:221
|
#: searx/templates/simple/preferences.html:224
|
||||||
msgid "Engines"
|
msgid "Engines"
|
||||||
msgstr "Vyhledávače"
|
msgstr "Vyhledávače"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:223
|
#: searx/templates/simple/preferences.html:226
|
||||||
msgid "Currently used search engines"
|
msgid "Currently used search engines"
|
||||||
msgstr "Aktuálně používané vyhledávače"
|
msgstr "Aktuálně používané vyhledávače"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:231
|
#: searx/templates/simple/preferences.html:234
|
||||||
msgid "Special Queries"
|
msgid "Special Queries"
|
||||||
msgstr "Zvláštní dotazy"
|
msgstr "Zvláštní dotazy"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:237
|
#: searx/templates/simple/preferences.html:240
|
||||||
msgid "Cookies"
|
msgid "Cookies"
|
||||||
msgstr "Cookies"
|
msgstr "Cookies"
|
||||||
|
|
||||||
|
@ -1220,6 +1220,14 @@ msgstr "Váha"
|
||||||
msgid "Max time"
|
msgid "Max time"
|
||||||
msgstr "Max. čas"
|
msgstr "Max. čas"
|
||||||
|
|
||||||
|
#: searx/templates/simple/preferences/favicon.html:2
|
||||||
|
msgid "Favicon Resolver"
|
||||||
|
msgstr "Zobrazit ikony"
|
||||||
|
|
||||||
|
#: searx/templates/simple/preferences/favicon.html:15
|
||||||
|
msgid "Display favicons near search results"
|
||||||
|
msgstr "Zobrazit ikony webů vedle výsledků vyhledávání"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences/footer.html:2
|
#: searx/templates/simple/preferences/footer.html:2
|
||||||
msgid ""
|
msgid ""
|
||||||
"These settings are stored in your cookies, this allows us not to store "
|
"These settings are stored in your cookies, this allows us not to store "
|
||||||
|
|
Binary file not shown.
|
@ -14,7 +14,7 @@ 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: 2024-10-03 11:11+0000\n"
|
"POT-Creation-Date: 2024-10-05 06:24+0000\n"
|
||||||
"PO-Revision-Date: 2024-07-28 14:18+0000\n"
|
"PO-Revision-Date: 2024-07-28 14:18+0000\n"
|
||||||
"Last-Translator: EifionLlwyd "
|
"Last-Translator: EifionLlwyd "
|
||||||
"<EifionLlwyd@users.noreply.translate.codeberg.org>\n"
|
"<EifionLlwyd@users.noreply.translate.codeberg.org>\n"
|
||||||
|
@ -346,28 +346,28 @@ msgstr "ar gau"
|
||||||
msgid "answered"
|
msgid "answered"
|
||||||
msgstr "wedi'i ateb"
|
msgstr "wedi'i ateb"
|
||||||
|
|
||||||
#: searx/webapp.py:330
|
#: searx/webapp.py:332
|
||||||
msgid "No item found"
|
msgid "No item found"
|
||||||
msgstr "Ni chanfuwyd eitem"
|
msgstr "Ni chanfuwyd eitem"
|
||||||
|
|
||||||
#: searx/engines/qwant.py:288
|
#: searx/engines/qwant.py:288
|
||||||
#: searx/templates/simple/result_templates/images.html:23 searx/webapp.py:332
|
#: searx/templates/simple/result_templates/images.html:23 searx/webapp.py:334
|
||||||
msgid "Source"
|
msgid "Source"
|
||||||
msgstr "Ffynhonnell"
|
msgstr "Ffynhonnell"
|
||||||
|
|
||||||
#: searx/webapp.py:334
|
#: searx/webapp.py:336
|
||||||
msgid "Error loading the next page"
|
msgid "Error loading the next page"
|
||||||
msgstr "Gwall wrth lwytho'r dudalen nesaf"
|
msgstr "Gwall wrth lwytho'r dudalen nesaf"
|
||||||
|
|
||||||
#: searx/webapp.py:491 searx/webapp.py:894
|
#: searx/webapp.py:495 searx/webapp.py:898
|
||||||
msgid "Invalid settings, please edit your preferences"
|
msgid "Invalid settings, please edit your preferences"
|
||||||
msgstr "Gosodiadau annilys, golygwch eich dewisiadau"
|
msgstr "Gosodiadau annilys, golygwch eich dewisiadau"
|
||||||
|
|
||||||
#: searx/webapp.py:507
|
#: searx/webapp.py:511
|
||||||
msgid "Invalid settings"
|
msgid "Invalid settings"
|
||||||
msgstr "Gosodiadau annilys"
|
msgstr "Gosodiadau annilys"
|
||||||
|
|
||||||
#: searx/webapp.py:584 searx/webapp.py:666
|
#: searx/webapp.py:588 searx/webapp.py:670
|
||||||
msgid "search error"
|
msgid "search error"
|
||||||
msgstr "gwall chwilio"
|
msgstr "gwall chwilio"
|
||||||
|
|
||||||
|
@ -687,26 +687,26 @@ msgstr "Cysylltu â chynhaliwr y gweinydd"
|
||||||
msgid "Click on the magnifier to perform search"
|
msgid "Click on the magnifier to perform search"
|
||||||
msgstr "Cliciwch ar y chwyddwydr i chwilio"
|
msgstr "Cliciwch ar y chwyddwydr i chwilio"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:35
|
#: searx/templates/simple/macros.html:40
|
||||||
msgid "Length"
|
msgid "Length"
|
||||||
msgstr "Hyd"
|
msgstr "Hyd"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:36
|
#: searx/templates/simple/macros.html:41
|
||||||
msgid "Views"
|
msgid "Views"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:37
|
#: searx/templates/simple/macros.html:42
|
||||||
#: searx/templates/simple/result_templates/files.html:34
|
#: searx/templates/simple/result_templates/files.html:34
|
||||||
#: searx/templates/simple/result_templates/images.html:19
|
#: searx/templates/simple/result_templates/images.html:19
|
||||||
#: searx/templates/simple/result_templates/paper.html:6
|
#: searx/templates/simple/result_templates/paper.html:6
|
||||||
msgid "Author"
|
msgid "Author"
|
||||||
msgstr "Awdur"
|
msgstr "Awdur"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:45
|
#: searx/templates/simple/macros.html:50
|
||||||
msgid "cached"
|
msgid "cached"
|
||||||
msgstr "wedi'i storio"
|
msgstr "wedi'i storio"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:45
|
#: searx/templates/simple/macros.html:50
|
||||||
msgid "proxied"
|
msgid "proxied"
|
||||||
msgstr "wedi'i ddirprwyo"
|
msgstr "wedi'i ddirprwyo"
|
||||||
|
|
||||||
|
@ -781,27 +781,27 @@ msgstr "Cyffredinol"
|
||||||
msgid "Default categories"
|
msgid "Default categories"
|
||||||
msgstr "Categorïau rhagosodedig"
|
msgstr "Categorïau rhagosodedig"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:187
|
#: searx/templates/simple/preferences.html:190
|
||||||
msgid "User interface"
|
msgid "User interface"
|
||||||
msgstr "Rhyngwyneb defnyddiwr"
|
msgstr "Rhyngwyneb defnyddiwr"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:208
|
#: searx/templates/simple/preferences.html:211
|
||||||
msgid "Privacy"
|
msgid "Privacy"
|
||||||
msgstr "Preifatrwydd"
|
msgstr "Preifatrwydd"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:221
|
#: searx/templates/simple/preferences.html:224
|
||||||
msgid "Engines"
|
msgid "Engines"
|
||||||
msgstr "Peiriannau"
|
msgstr "Peiriannau"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:223
|
#: searx/templates/simple/preferences.html:226
|
||||||
msgid "Currently used search engines"
|
msgid "Currently used search engines"
|
||||||
msgstr "Peiriannau a ddefnyddir ar hyn o bryd"
|
msgstr "Peiriannau a ddefnyddir ar hyn o bryd"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:231
|
#: searx/templates/simple/preferences.html:234
|
||||||
msgid "Special Queries"
|
msgid "Special Queries"
|
||||||
msgstr "Ymholiadau arbennig"
|
msgstr "Ymholiadau arbennig"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:237
|
#: searx/templates/simple/preferences.html:240
|
||||||
msgid "Cookies"
|
msgid "Cookies"
|
||||||
msgstr "Briwsion"
|
msgstr "Briwsion"
|
||||||
|
|
||||||
|
@ -1220,6 +1220,14 @@ msgstr "Pwysau"
|
||||||
msgid "Max time"
|
msgid "Max time"
|
||||||
msgstr "Amser hiraf"
|
msgstr "Amser hiraf"
|
||||||
|
|
||||||
|
#: searx/templates/simple/preferences/favicon.html:2
|
||||||
|
msgid "Favicon Resolver"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: searx/templates/simple/preferences/favicon.html:15
|
||||||
|
msgid "Display favicons near search results"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: searx/templates/simple/preferences/footer.html:2
|
#: searx/templates/simple/preferences/footer.html:2
|
||||||
msgid ""
|
msgid ""
|
||||||
"These settings are stored in your cookies, this allows us not to store "
|
"These settings are stored in your cookies, this allows us not to store "
|
||||||
|
|
Binary file not shown.
|
@ -9,21 +9,23 @@
|
||||||
# return42 <markus.heiser@darmarit.de>, 2023.
|
# return42 <markus.heiser@darmarit.de>, 2023.
|
||||||
# return42 <return42@users.noreply.translate.codeberg.org>, 2024.
|
# return42 <return42@users.noreply.translate.codeberg.org>, 2024.
|
||||||
# lolmeOzzi <lolmeOzzi@users.noreply.translate.codeberg.org>, 2024.
|
# lolmeOzzi <lolmeOzzi@users.noreply.translate.codeberg.org>, 2024.
|
||||||
|
# AndersNordh <AndersNordh@users.noreply.translate.codeberg.org>, 2024.
|
||||||
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: 2024-10-03 11:11+0000\n"
|
"POT-Creation-Date: 2024-10-05 06:24+0000\n"
|
||||||
"PO-Revision-Date: 2024-09-05 06:18+0000\n"
|
"PO-Revision-Date: 2024-10-08 13:41+0000\n"
|
||||||
"Last-Translator: return42 <return42@users.noreply.translate.codeberg.org>"
|
"Last-Translator: AndersNordh <AndersNordh@users.noreply.translate.codeberg."
|
||||||
"\n"
|
"org>\n"
|
||||||
|
"Language-Team: Danish <https://translate.codeberg.org/projects/searxng/"
|
||||||
|
"searxng/da/>\n"
|
||||||
"Language: da\n"
|
"Language: da\n"
|
||||||
"Language-Team: Danish "
|
|
||||||
"<https://translate.codeberg.org/projects/searxng/searxng/da/>\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.7.2\n"
|
||||||
"Generated-By: Babel 2.16.0\n"
|
"Generated-By: Babel 2.16.0\n"
|
||||||
|
|
||||||
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
||||||
|
@ -164,7 +166,7 @@ msgstr "mørk"
|
||||||
#. STYLE_NAMES['BLACK']
|
#. STYLE_NAMES['BLACK']
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "black"
|
msgid "black"
|
||||||
msgstr ""
|
msgstr "sort"
|
||||||
|
|
||||||
#. BRAND_CUSTOM_LINKS['UPTIME']
|
#. BRAND_CUSTOM_LINKS['UPTIME']
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
|
@ -337,35 +339,35 @@ msgstr "Åbn"
|
||||||
#. SOCIAL_MEDIA_TERMS['THREAD CLOSED']
|
#. SOCIAL_MEDIA_TERMS['THREAD CLOSED']
|
||||||
#: searx/engines/discourse.py:149 searx/searxng.msg
|
#: searx/engines/discourse.py:149 searx/searxng.msg
|
||||||
msgid "closed"
|
msgid "closed"
|
||||||
msgstr ""
|
msgstr "lukket"
|
||||||
|
|
||||||
#. SOCIAL_MEDIA_TERMS['THREAD ANSWERED']
|
#. SOCIAL_MEDIA_TERMS['THREAD ANSWERED']
|
||||||
#: searx/engines/discourse.py:160 searx/searxng.msg
|
#: searx/engines/discourse.py:160 searx/searxng.msg
|
||||||
msgid "answered"
|
msgid "answered"
|
||||||
msgstr ""
|
msgstr "svaret"
|
||||||
|
|
||||||
#: searx/webapp.py:330
|
#: searx/webapp.py:332
|
||||||
msgid "No item found"
|
msgid "No item found"
|
||||||
msgstr "Intet fundet"
|
msgstr "Intet fundet"
|
||||||
|
|
||||||
#: searx/engines/qwant.py:288
|
#: searx/engines/qwant.py:288
|
||||||
#: searx/templates/simple/result_templates/images.html:23 searx/webapp.py:332
|
#: searx/templates/simple/result_templates/images.html:23 searx/webapp.py:334
|
||||||
msgid "Source"
|
msgid "Source"
|
||||||
msgstr "Kilde"
|
msgstr "Kilde"
|
||||||
|
|
||||||
#: searx/webapp.py:334
|
#: searx/webapp.py:336
|
||||||
msgid "Error loading the next page"
|
msgid "Error loading the next page"
|
||||||
msgstr "Fejl ved indlæsning af den næste side"
|
msgstr "Fejl ved indlæsning af den næste side"
|
||||||
|
|
||||||
#: searx/webapp.py:491 searx/webapp.py:894
|
#: searx/webapp.py:495 searx/webapp.py:898
|
||||||
msgid "Invalid settings, please edit your preferences"
|
msgid "Invalid settings, please edit your preferences"
|
||||||
msgstr "Ugyldige indstillinger, redigér venligst dine valg"
|
msgstr "Ugyldige indstillinger, redigér venligst dine valg"
|
||||||
|
|
||||||
#: searx/webapp.py:507
|
#: searx/webapp.py:511
|
||||||
msgid "Invalid settings"
|
msgid "Invalid settings"
|
||||||
msgstr "Ugyldig indstilling"
|
msgstr "Ugyldig indstilling"
|
||||||
|
|
||||||
#: searx/webapp.py:584 searx/webapp.py:666
|
#: searx/webapp.py:588 searx/webapp.py:670
|
||||||
msgid "search error"
|
msgid "search error"
|
||||||
msgstr "søgefejl"
|
msgstr "søgefejl"
|
||||||
|
|
||||||
|
@ -451,7 +453,7 @@ msgstr "Beregn {functions} af parametrene"
|
||||||
|
|
||||||
#: searx/engines/mozhi.py:57
|
#: searx/engines/mozhi.py:57
|
||||||
msgid "Synonyms"
|
msgid "Synonyms"
|
||||||
msgstr ""
|
msgstr "Synonymer"
|
||||||
|
|
||||||
#: searx/engines/openstreetmap.py:159
|
#: searx/engines/openstreetmap.py:159
|
||||||
msgid "Get directions"
|
msgid "Get directions"
|
||||||
|
@ -539,11 +541,13 @@ msgstr "hash-digest"
|
||||||
|
|
||||||
#: searx/plugins/hostnames.py:103
|
#: searx/plugins/hostnames.py:103
|
||||||
msgid "Hostnames plugin"
|
msgid "Hostnames plugin"
|
||||||
msgstr ""
|
msgstr "Værtsnavne plugin"
|
||||||
|
|
||||||
#: searx/plugins/hostnames.py:104
|
#: searx/plugins/hostnames.py:104
|
||||||
msgid "Rewrite hostnames, remove results or prioritize them based on the hostname"
|
msgid "Rewrite hostnames, remove results or prioritize them based on the hostname"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Omskriv værtsnavne, fjern resultater eller prioriter dem baseret på "
|
||||||
|
"værtsnavnet"
|
||||||
|
|
||||||
#: searx/plugins/oa_doi_rewrite.py:12
|
#: searx/plugins/oa_doi_rewrite.py:12
|
||||||
msgid "Open Access DOI rewrite"
|
msgid "Open Access DOI rewrite"
|
||||||
|
@ -571,11 +575,11 @@ msgstr ""
|
||||||
|
|
||||||
#: searx/plugins/self_info.py:28
|
#: searx/plugins/self_info.py:28
|
||||||
msgid "Your IP is: "
|
msgid "Your IP is: "
|
||||||
msgstr ""
|
msgstr "Din IP er: "
|
||||||
|
|
||||||
#: searx/plugins/self_info.py:31
|
#: searx/plugins/self_info.py:31
|
||||||
msgid "Your user-agent is: "
|
msgid "Your user-agent is: "
|
||||||
msgstr ""
|
msgstr "Din brugeragent er: "
|
||||||
|
|
||||||
#: searx/plugins/tor_check.py:24
|
#: searx/plugins/tor_check.py:24
|
||||||
msgid "Tor check plugin"
|
msgid "Tor check plugin"
|
||||||
|
@ -679,26 +683,26 @@ msgstr "Kontakt tilbyderen af instansen"
|
||||||
msgid "Click on the magnifier to perform search"
|
msgid "Click on the magnifier to perform search"
|
||||||
msgstr "Klik på forstørrelsesglasset for at udføre søgning"
|
msgstr "Klik på forstørrelsesglasset for at udføre søgning"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:35
|
#: searx/templates/simple/macros.html:40
|
||||||
msgid "Length"
|
msgid "Length"
|
||||||
msgstr "Længde"
|
msgstr "Længde"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:36
|
#: searx/templates/simple/macros.html:41
|
||||||
msgid "Views"
|
msgid "Views"
|
||||||
msgstr ""
|
msgstr "Visninger"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:37
|
#: searx/templates/simple/macros.html:42
|
||||||
#: searx/templates/simple/result_templates/files.html:34
|
#: searx/templates/simple/result_templates/files.html:34
|
||||||
#: searx/templates/simple/result_templates/images.html:19
|
#: searx/templates/simple/result_templates/images.html:19
|
||||||
#: searx/templates/simple/result_templates/paper.html:6
|
#: searx/templates/simple/result_templates/paper.html:6
|
||||||
msgid "Author"
|
msgid "Author"
|
||||||
msgstr "Forfatter"
|
msgstr "Forfatter"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:45
|
#: searx/templates/simple/macros.html:50
|
||||||
msgid "cached"
|
msgid "cached"
|
||||||
msgstr "cachet"
|
msgstr "cachet"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:45
|
#: searx/templates/simple/macros.html:50
|
||||||
msgid "proxied"
|
msgid "proxied"
|
||||||
msgstr "viderestillet"
|
msgstr "viderestillet"
|
||||||
|
|
||||||
|
@ -775,27 +779,27 @@ msgstr "Generelt"
|
||||||
msgid "Default categories"
|
msgid "Default categories"
|
||||||
msgstr "Standardkategorier"
|
msgstr "Standardkategorier"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:187
|
#: searx/templates/simple/preferences.html:190
|
||||||
msgid "User interface"
|
msgid "User interface"
|
||||||
msgstr "Brugerinterface"
|
msgstr "Brugerinterface"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:208
|
#: searx/templates/simple/preferences.html:211
|
||||||
msgid "Privacy"
|
msgid "Privacy"
|
||||||
msgstr "Privatliv"
|
msgstr "Privatliv"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:221
|
#: searx/templates/simple/preferences.html:224
|
||||||
msgid "Engines"
|
msgid "Engines"
|
||||||
msgstr "Søgemaskiner"
|
msgstr "Søgemaskiner"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:223
|
#: searx/templates/simple/preferences.html:226
|
||||||
msgid "Currently used search engines"
|
msgid "Currently used search engines"
|
||||||
msgstr "Pt. anvendte søgemaskiner"
|
msgstr "Pt. anvendte søgemaskiner"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:231
|
#: searx/templates/simple/preferences.html:234
|
||||||
msgid "Special Queries"
|
msgid "Special Queries"
|
||||||
msgstr "Specielle Søgetermer"
|
msgstr "Specielle Søgetermer"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:237
|
#: searx/templates/simple/preferences.html:240
|
||||||
msgid "Cookies"
|
msgid "Cookies"
|
||||||
msgstr "Cookies"
|
msgstr "Cookies"
|
||||||
|
|
||||||
|
@ -1216,6 +1220,14 @@ msgstr "Vægt"
|
||||||
msgid "Max time"
|
msgid "Max time"
|
||||||
msgstr "Maks-tid"
|
msgstr "Maks-tid"
|
||||||
|
|
||||||
|
#: searx/templates/simple/preferences/favicon.html:2
|
||||||
|
msgid "Favicon Resolver"
|
||||||
|
msgstr "Favicon resolver"
|
||||||
|
|
||||||
|
#: searx/templates/simple/preferences/favicon.html:15
|
||||||
|
msgid "Display favicons near search results"
|
||||||
|
msgstr "Vis favicons i nærheden af søgeresultater"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences/footer.html:2
|
#: searx/templates/simple/preferences/footer.html:2
|
||||||
msgid ""
|
msgid ""
|
||||||
"These settings are stored in your cookies, this allows us not to store "
|
"These settings are stored in your cookies, this allows us not to store "
|
||||||
|
@ -1971,4 +1983,3 @@ msgstr "skjul video"
|
||||||
|
|
||||||
#~ msgid "Engines cannot retrieve results"
|
#~ msgid "Engines cannot retrieve results"
|
||||||
#~ msgstr "Søgemotorer kan ikke hente resultater"
|
#~ msgstr "Søgemotorer kan ikke hente resultater"
|
||||||
|
|
||||||
|
|
Binary file not shown.
|
@ -26,8 +26,8 @@ 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: 2024-10-03 11:11+0000\n"
|
"POT-Creation-Date: 2024-10-05 06:24+0000\n"
|
||||||
"PO-Revision-Date: 2024-10-04 07:09+0000\n"
|
"PO-Revision-Date: 2024-10-06 14:31+0000\n"
|
||||||
"Last-Translator: return42 <return42@users.noreply.translate.codeberg.org>\n"
|
"Last-Translator: return42 <return42@users.noreply.translate.codeberg.org>\n"
|
||||||
"Language-Team: German <https://translate.codeberg.org/projects/searxng/"
|
"Language-Team: German <https://translate.codeberg.org/projects/searxng/"
|
||||||
"searxng/de/>\n"
|
"searxng/de/>\n"
|
||||||
|
@ -357,28 +357,28 @@ msgstr "geschlossen"
|
||||||
msgid "answered"
|
msgid "answered"
|
||||||
msgstr "beantwortet"
|
msgstr "beantwortet"
|
||||||
|
|
||||||
#: searx/webapp.py:330
|
#: searx/webapp.py:332
|
||||||
msgid "No item found"
|
msgid "No item found"
|
||||||
msgstr "Keine Einträge gefunden"
|
msgstr "Keine Einträge gefunden"
|
||||||
|
|
||||||
#: searx/engines/qwant.py:288
|
#: searx/engines/qwant.py:288
|
||||||
#: searx/templates/simple/result_templates/images.html:23 searx/webapp.py:332
|
#: searx/templates/simple/result_templates/images.html:23 searx/webapp.py:334
|
||||||
msgid "Source"
|
msgid "Source"
|
||||||
msgstr "Quelle"
|
msgstr "Quelle"
|
||||||
|
|
||||||
#: searx/webapp.py:334
|
#: searx/webapp.py:336
|
||||||
msgid "Error loading the next page"
|
msgid "Error loading the next page"
|
||||||
msgstr "Fehler beim Laden der nächsten Seite"
|
msgstr "Fehler beim Laden der nächsten Seite"
|
||||||
|
|
||||||
#: searx/webapp.py:491 searx/webapp.py:894
|
#: searx/webapp.py:495 searx/webapp.py:898
|
||||||
msgid "Invalid settings, please edit your preferences"
|
msgid "Invalid settings, please edit your preferences"
|
||||||
msgstr "Ungültige Einstellungen, bitte Einstellungen ändern"
|
msgstr "Ungültige Einstellungen, bitte Einstellungen ändern"
|
||||||
|
|
||||||
#: searx/webapp.py:507
|
#: searx/webapp.py:511
|
||||||
msgid "Invalid settings"
|
msgid "Invalid settings"
|
||||||
msgstr "Ungültige Einstellungen"
|
msgstr "Ungültige Einstellungen"
|
||||||
|
|
||||||
#: searx/webapp.py:584 searx/webapp.py:666
|
#: searx/webapp.py:588 searx/webapp.py:670
|
||||||
msgid "search error"
|
msgid "search error"
|
||||||
msgstr "Suchfehler"
|
msgstr "Suchfehler"
|
||||||
|
|
||||||
|
@ -698,26 +698,26 @@ msgstr "Kontakt zum Betreuer der Instanz"
|
||||||
msgid "Click on the magnifier to perform search"
|
msgid "Click on the magnifier to perform search"
|
||||||
msgstr "klicke auf die Lupe, um die Suche zu starten"
|
msgstr "klicke auf die Lupe, um die Suche zu starten"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:35
|
#: searx/templates/simple/macros.html:40
|
||||||
msgid "Length"
|
msgid "Length"
|
||||||
msgstr "Länge"
|
msgstr "Länge"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:36
|
#: searx/templates/simple/macros.html:41
|
||||||
msgid "Views"
|
msgid "Views"
|
||||||
msgstr "Aufrufe"
|
msgstr "Aufrufe"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:37
|
#: searx/templates/simple/macros.html:42
|
||||||
#: searx/templates/simple/result_templates/files.html:34
|
#: searx/templates/simple/result_templates/files.html:34
|
||||||
#: searx/templates/simple/result_templates/images.html:19
|
#: searx/templates/simple/result_templates/images.html:19
|
||||||
#: searx/templates/simple/result_templates/paper.html:6
|
#: searx/templates/simple/result_templates/paper.html:6
|
||||||
msgid "Author"
|
msgid "Author"
|
||||||
msgstr "Autor"
|
msgstr "Autor"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:45
|
#: searx/templates/simple/macros.html:50
|
||||||
msgid "cached"
|
msgid "cached"
|
||||||
msgstr "Im Cache"
|
msgstr "Im Cache"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:45
|
#: searx/templates/simple/macros.html:50
|
||||||
msgid "proxied"
|
msgid "proxied"
|
||||||
msgstr "proxy"
|
msgstr "proxy"
|
||||||
|
|
||||||
|
@ -796,27 +796,27 @@ msgstr "Allgemein"
|
||||||
msgid "Default categories"
|
msgid "Default categories"
|
||||||
msgstr "Standardkategorien"
|
msgstr "Standardkategorien"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:187
|
#: searx/templates/simple/preferences.html:190
|
||||||
msgid "User interface"
|
msgid "User interface"
|
||||||
msgstr "Benutzeroberfläche"
|
msgstr "Benutzeroberfläche"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:208
|
#: searx/templates/simple/preferences.html:211
|
||||||
msgid "Privacy"
|
msgid "Privacy"
|
||||||
msgstr "Privatsphäre"
|
msgstr "Privatsphäre"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:221
|
#: searx/templates/simple/preferences.html:224
|
||||||
msgid "Engines"
|
msgid "Engines"
|
||||||
msgstr "Suchmaschinen"
|
msgstr "Suchmaschinen"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:223
|
#: searx/templates/simple/preferences.html:226
|
||||||
msgid "Currently used search engines"
|
msgid "Currently used search engines"
|
||||||
msgstr "Aktuell benutzte Suchmaschinen"
|
msgstr "Aktuell benutzte Suchmaschinen"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:231
|
#: searx/templates/simple/preferences.html:234
|
||||||
msgid "Special Queries"
|
msgid "Special Queries"
|
||||||
msgstr "Besondere Abfragen"
|
msgstr "Besondere Abfragen"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:237
|
#: searx/templates/simple/preferences.html:240
|
||||||
msgid "Cookies"
|
msgid "Cookies"
|
||||||
msgstr "Cookies"
|
msgstr "Cookies"
|
||||||
|
|
||||||
|
@ -1237,6 +1237,14 @@ msgstr "Gewichtung"
|
||||||
msgid "Max time"
|
msgid "Max time"
|
||||||
msgstr "max. Zeit"
|
msgstr "max. Zeit"
|
||||||
|
|
||||||
|
#: searx/templates/simple/preferences/favicon.html:2
|
||||||
|
msgid "Favicon Resolver"
|
||||||
|
msgstr "Favicon Anbieter"
|
||||||
|
|
||||||
|
#: searx/templates/simple/preferences/favicon.html:15
|
||||||
|
msgid "Display favicons near search results"
|
||||||
|
msgstr "Anzeigen der Favicons neben dem Suchergebnis"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences/footer.html:2
|
#: searx/templates/simple/preferences/footer.html:2
|
||||||
msgid ""
|
msgid ""
|
||||||
"These settings are stored in your cookies, this allows us not to store "
|
"These settings are stored in your cookies, this allows us not to store "
|
||||||
|
|
Binary file not shown.
|
@ -7,7 +7,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PROJECT VERSION\n"
|
"Project-Id-Version: PROJECT VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2024-10-03 11:11+0000\n"
|
"POT-Creation-Date: 2024-10-05 06:24+0000\n"
|
||||||
"PO-Revision-Date: 2022-11-04 07:18+0000\n"
|
"PO-Revision-Date: 2022-11-04 07:18+0000\n"
|
||||||
"Last-Translator: Landhoo School Students "
|
"Last-Translator: Landhoo School Students "
|
||||||
"<landhooschoolstudents@gmail.com>\n"
|
"<landhooschoolstudents@gmail.com>\n"
|
||||||
|
@ -338,28 +338,28 @@ msgstr ""
|
||||||
msgid "answered"
|
msgid "answered"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: searx/webapp.py:330
|
#: searx/webapp.py:332
|
||||||
msgid "No item found"
|
msgid "No item found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: searx/engines/qwant.py:288
|
#: searx/engines/qwant.py:288
|
||||||
#: searx/templates/simple/result_templates/images.html:23 searx/webapp.py:332
|
#: searx/templates/simple/result_templates/images.html:23 searx/webapp.py:334
|
||||||
msgid "Source"
|
msgid "Source"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: searx/webapp.py:334
|
#: searx/webapp.py:336
|
||||||
msgid "Error loading the next page"
|
msgid "Error loading the next page"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: searx/webapp.py:491 searx/webapp.py:894
|
#: searx/webapp.py:495 searx/webapp.py:898
|
||||||
msgid "Invalid settings, please edit your preferences"
|
msgid "Invalid settings, please edit your preferences"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: searx/webapp.py:507
|
#: searx/webapp.py:511
|
||||||
msgid "Invalid settings"
|
msgid "Invalid settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: searx/webapp.py:584 searx/webapp.py:666
|
#: searx/webapp.py:588 searx/webapp.py:670
|
||||||
msgid "search error"
|
msgid "search error"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -656,26 +656,26 @@ msgstr ""
|
||||||
msgid "Click on the magnifier to perform search"
|
msgid "Click on the magnifier to perform search"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:35
|
#: searx/templates/simple/macros.html:40
|
||||||
msgid "Length"
|
msgid "Length"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:36
|
#: searx/templates/simple/macros.html:41
|
||||||
msgid "Views"
|
msgid "Views"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:37
|
#: searx/templates/simple/macros.html:42
|
||||||
#: searx/templates/simple/result_templates/files.html:34
|
#: searx/templates/simple/result_templates/files.html:34
|
||||||
#: searx/templates/simple/result_templates/images.html:19
|
#: searx/templates/simple/result_templates/images.html:19
|
||||||
#: searx/templates/simple/result_templates/paper.html:6
|
#: searx/templates/simple/result_templates/paper.html:6
|
||||||
msgid "Author"
|
msgid "Author"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:45
|
#: searx/templates/simple/macros.html:50
|
||||||
msgid "cached"
|
msgid "cached"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:45
|
#: searx/templates/simple/macros.html:50
|
||||||
msgid "proxied"
|
msgid "proxied"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -748,27 +748,27 @@ msgstr ""
|
||||||
msgid "Default categories"
|
msgid "Default categories"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:187
|
#: searx/templates/simple/preferences.html:190
|
||||||
msgid "User interface"
|
msgid "User interface"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:208
|
#: searx/templates/simple/preferences.html:211
|
||||||
msgid "Privacy"
|
msgid "Privacy"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:221
|
#: searx/templates/simple/preferences.html:224
|
||||||
msgid "Engines"
|
msgid "Engines"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:223
|
#: searx/templates/simple/preferences.html:226
|
||||||
msgid "Currently used search engines"
|
msgid "Currently used search engines"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:231
|
#: searx/templates/simple/preferences.html:234
|
||||||
msgid "Special Queries"
|
msgid "Special Queries"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:237
|
#: searx/templates/simple/preferences.html:240
|
||||||
msgid "Cookies"
|
msgid "Cookies"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -1180,6 +1180,14 @@ msgstr ""
|
||||||
msgid "Max time"
|
msgid "Max time"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: searx/templates/simple/preferences/favicon.html:2
|
||||||
|
msgid "Favicon Resolver"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: searx/templates/simple/preferences/favicon.html:15
|
||||||
|
msgid "Display favicons near search results"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: searx/templates/simple/preferences/footer.html:2
|
#: searx/templates/simple/preferences/footer.html:2
|
||||||
msgid ""
|
msgid ""
|
||||||
"These settings are stored in your cookies, this allows us not to store "
|
"These settings are stored in your cookies, this allows us not to store "
|
||||||
|
|
Binary file not shown.
|
@ -17,7 +17,7 @@ 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: 2024-10-03 11:11+0000\n"
|
"POT-Creation-Date: 2024-10-05 06:24+0000\n"
|
||||||
"PO-Revision-Date: 2024-09-05 06:18+0000\n"
|
"PO-Revision-Date: 2024-09-05 06:18+0000\n"
|
||||||
"Last-Translator: return42 <return42@users.noreply.translate.codeberg.org>"
|
"Last-Translator: return42 <return42@users.noreply.translate.codeberg.org>"
|
||||||
"\n"
|
"\n"
|
||||||
|
@ -348,28 +348,28 @@ msgstr "κλειστό"
|
||||||
msgid "answered"
|
msgid "answered"
|
||||||
msgstr "απάντησε"
|
msgstr "απάντησε"
|
||||||
|
|
||||||
#: searx/webapp.py:330
|
#: searx/webapp.py:332
|
||||||
msgid "No item found"
|
msgid "No item found"
|
||||||
msgstr "Δεν βρέθηκαν αντικείμενα"
|
msgstr "Δεν βρέθηκαν αντικείμενα"
|
||||||
|
|
||||||
#: searx/engines/qwant.py:288
|
#: searx/engines/qwant.py:288
|
||||||
#: searx/templates/simple/result_templates/images.html:23 searx/webapp.py:332
|
#: searx/templates/simple/result_templates/images.html:23 searx/webapp.py:334
|
||||||
msgid "Source"
|
msgid "Source"
|
||||||
msgstr "Πηγή"
|
msgstr "Πηγή"
|
||||||
|
|
||||||
#: searx/webapp.py:334
|
#: searx/webapp.py:336
|
||||||
msgid "Error loading the next page"
|
msgid "Error loading the next page"
|
||||||
msgstr "Σφάλμα φόρτωσης της επόμενης σελίδας"
|
msgstr "Σφάλμα φόρτωσης της επόμενης σελίδας"
|
||||||
|
|
||||||
#: searx/webapp.py:491 searx/webapp.py:894
|
#: searx/webapp.py:495 searx/webapp.py:898
|
||||||
msgid "Invalid settings, please edit your preferences"
|
msgid "Invalid settings, please edit your preferences"
|
||||||
msgstr "Μη έγκυρες ρυθμίσεις, παρακαλούμε ελέγξτε τις προτιμήσεις σας"
|
msgstr "Μη έγκυρες ρυθμίσεις, παρακαλούμε ελέγξτε τις προτιμήσεις σας"
|
||||||
|
|
||||||
#: searx/webapp.py:507
|
#: searx/webapp.py:511
|
||||||
msgid "Invalid settings"
|
msgid "Invalid settings"
|
||||||
msgstr "Μη έγκυρες ρυθμίσεις"
|
msgstr "Μη έγκυρες ρυθμίσεις"
|
||||||
|
|
||||||
#: searx/webapp.py:584 searx/webapp.py:666
|
#: searx/webapp.py:588 searx/webapp.py:670
|
||||||
msgid "search error"
|
msgid "search error"
|
||||||
msgstr "σφάλμα αναζήτησης"
|
msgstr "σφάλμα αναζήτησης"
|
||||||
|
|
||||||
|
@ -689,26 +689,26 @@ msgstr "Επικοινωνήστε με τον συντηρητή αυτής τ
|
||||||
msgid "Click on the magnifier to perform search"
|
msgid "Click on the magnifier to perform search"
|
||||||
msgstr "Κάντε κλικ στο μεγεθυντικό φακό για να πραγματοποιήσετε αναζήτηση"
|
msgstr "Κάντε κλικ στο μεγεθυντικό φακό για να πραγματοποιήσετε αναζήτηση"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:35
|
#: searx/templates/simple/macros.html:40
|
||||||
msgid "Length"
|
msgid "Length"
|
||||||
msgstr "Μήκος"
|
msgstr "Μήκος"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:36
|
#: searx/templates/simple/macros.html:41
|
||||||
msgid "Views"
|
msgid "Views"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:37
|
#: searx/templates/simple/macros.html:42
|
||||||
#: searx/templates/simple/result_templates/files.html:34
|
#: searx/templates/simple/result_templates/files.html:34
|
||||||
#: searx/templates/simple/result_templates/images.html:19
|
#: searx/templates/simple/result_templates/images.html:19
|
||||||
#: searx/templates/simple/result_templates/paper.html:6
|
#: searx/templates/simple/result_templates/paper.html:6
|
||||||
msgid "Author"
|
msgid "Author"
|
||||||
msgstr "Συγγραφέας"
|
msgstr "Συγγραφέας"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:45
|
#: searx/templates/simple/macros.html:50
|
||||||
msgid "cached"
|
msgid "cached"
|
||||||
msgstr "προσωρινά αποθηκευμένο"
|
msgstr "προσωρινά αποθηκευμένο"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:45
|
#: searx/templates/simple/macros.html:50
|
||||||
msgid "proxied"
|
msgid "proxied"
|
||||||
msgstr "Διαμεσολαβημένα"
|
msgstr "Διαμεσολαβημένα"
|
||||||
|
|
||||||
|
@ -787,27 +787,27 @@ msgstr "Γενικά"
|
||||||
msgid "Default categories"
|
msgid "Default categories"
|
||||||
msgstr "Προεπιλεγμένες κατηγορίες"
|
msgstr "Προεπιλεγμένες κατηγορίες"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:187
|
#: searx/templates/simple/preferences.html:190
|
||||||
msgid "User interface"
|
msgid "User interface"
|
||||||
msgstr "Διεπαφή χρήστη"
|
msgstr "Διεπαφή χρήστη"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:208
|
#: searx/templates/simple/preferences.html:211
|
||||||
msgid "Privacy"
|
msgid "Privacy"
|
||||||
msgstr "Ιδιωτικότητα"
|
msgstr "Ιδιωτικότητα"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:221
|
#: searx/templates/simple/preferences.html:224
|
||||||
msgid "Engines"
|
msgid "Engines"
|
||||||
msgstr "Μηχανές"
|
msgstr "Μηχανές"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:223
|
#: searx/templates/simple/preferences.html:226
|
||||||
msgid "Currently used search engines"
|
msgid "Currently used search engines"
|
||||||
msgstr "Μηχανές αναζήτησης που χρησιμοποιούνται"
|
msgstr "Μηχανές αναζήτησης που χρησιμοποιούνται"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:231
|
#: searx/templates/simple/preferences.html:234
|
||||||
msgid "Special Queries"
|
msgid "Special Queries"
|
||||||
msgstr "Ειδικά Ερωτήματα"
|
msgstr "Ειδικά Ερωτήματα"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:237
|
#: searx/templates/simple/preferences.html:240
|
||||||
msgid "Cookies"
|
msgid "Cookies"
|
||||||
msgstr "Cookies"
|
msgstr "Cookies"
|
||||||
|
|
||||||
|
@ -1233,6 +1233,14 @@ msgstr "Βάρος"
|
||||||
msgid "Max time"
|
msgid "Max time"
|
||||||
msgstr "Μέγιστος χρόνος"
|
msgstr "Μέγιστος χρόνος"
|
||||||
|
|
||||||
|
#: searx/templates/simple/preferences/favicon.html:2
|
||||||
|
msgid "Favicon Resolver"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: searx/templates/simple/preferences/favicon.html:15
|
||||||
|
msgid "Display favicons near search results"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: searx/templates/simple/preferences/footer.html:2
|
#: searx/templates/simple/preferences/footer.html:2
|
||||||
msgid ""
|
msgid ""
|
||||||
"These settings are stored in your cookies, this allows us not to store "
|
"These settings are stored in your cookies, this allows us not to store "
|
||||||
|
|
Binary file not shown.
|
@ -7,7 +7,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PROJECT VERSION\n"
|
"Project-Id-Version: PROJECT VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2024-10-03 11:11+0000\n"
|
"POT-Creation-Date: 2024-10-05 06:24+0000\n"
|
||||||
"PO-Revision-Date: 2014-01-30 15:22+0100\n"
|
"PO-Revision-Date: 2014-01-30 15:22+0100\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language: en\n"
|
"Language: en\n"
|
||||||
|
@ -336,28 +336,28 @@ msgstr ""
|
||||||
msgid "answered"
|
msgid "answered"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: searx/webapp.py:330
|
#: searx/webapp.py:332
|
||||||
msgid "No item found"
|
msgid "No item found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: searx/engines/qwant.py:288
|
#: searx/engines/qwant.py:288
|
||||||
#: searx/templates/simple/result_templates/images.html:23 searx/webapp.py:332
|
#: searx/templates/simple/result_templates/images.html:23 searx/webapp.py:334
|
||||||
msgid "Source"
|
msgid "Source"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: searx/webapp.py:334
|
#: searx/webapp.py:336
|
||||||
msgid "Error loading the next page"
|
msgid "Error loading the next page"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: searx/webapp.py:491 searx/webapp.py:894
|
#: searx/webapp.py:495 searx/webapp.py:898
|
||||||
msgid "Invalid settings, please edit your preferences"
|
msgid "Invalid settings, please edit your preferences"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: searx/webapp.py:507
|
#: searx/webapp.py:511
|
||||||
msgid "Invalid settings"
|
msgid "Invalid settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: searx/webapp.py:584 searx/webapp.py:666
|
#: searx/webapp.py:588 searx/webapp.py:670
|
||||||
msgid "search error"
|
msgid "search error"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -654,26 +654,26 @@ msgstr ""
|
||||||
msgid "Click on the magnifier to perform search"
|
msgid "Click on the magnifier to perform search"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:35
|
#: searx/templates/simple/macros.html:40
|
||||||
msgid "Length"
|
msgid "Length"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:36
|
#: searx/templates/simple/macros.html:41
|
||||||
msgid "Views"
|
msgid "Views"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:37
|
#: searx/templates/simple/macros.html:42
|
||||||
#: searx/templates/simple/result_templates/files.html:34
|
#: searx/templates/simple/result_templates/files.html:34
|
||||||
#: searx/templates/simple/result_templates/images.html:19
|
#: searx/templates/simple/result_templates/images.html:19
|
||||||
#: searx/templates/simple/result_templates/paper.html:6
|
#: searx/templates/simple/result_templates/paper.html:6
|
||||||
msgid "Author"
|
msgid "Author"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:45
|
#: searx/templates/simple/macros.html:50
|
||||||
msgid "cached"
|
msgid "cached"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:45
|
#: searx/templates/simple/macros.html:50
|
||||||
msgid "proxied"
|
msgid "proxied"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -746,27 +746,27 @@ msgstr ""
|
||||||
msgid "Default categories"
|
msgid "Default categories"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:187
|
#: searx/templates/simple/preferences.html:190
|
||||||
msgid "User interface"
|
msgid "User interface"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:208
|
#: searx/templates/simple/preferences.html:211
|
||||||
msgid "Privacy"
|
msgid "Privacy"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:221
|
#: searx/templates/simple/preferences.html:224
|
||||||
msgid "Engines"
|
msgid "Engines"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:223
|
#: searx/templates/simple/preferences.html:226
|
||||||
msgid "Currently used search engines"
|
msgid "Currently used search engines"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:231
|
#: searx/templates/simple/preferences.html:234
|
||||||
msgid "Special Queries"
|
msgid "Special Queries"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:237
|
#: searx/templates/simple/preferences.html:240
|
||||||
msgid "Cookies"
|
msgid "Cookies"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -1178,6 +1178,14 @@ msgstr ""
|
||||||
msgid "Max time"
|
msgid "Max time"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: searx/templates/simple/preferences/favicon.html:2
|
||||||
|
msgid "Favicon Resolver"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: searx/templates/simple/preferences/favicon.html:15
|
||||||
|
msgid "Display favicons near search results"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: searx/templates/simple/preferences/footer.html:2
|
#: searx/templates/simple/preferences/footer.html:2
|
||||||
msgid ""
|
msgid ""
|
||||||
"These settings are stored in your cookies, this allows us not to store "
|
"These settings are stored in your cookies, this allows us not to store "
|
||||||
|
|
Binary file not shown.
|
@ -13,21 +13,23 @@
|
||||||
# RTRedreovic <RTRedreovic@users.noreply.translate.codeberg.org>, 2023.
|
# RTRedreovic <RTRedreovic@users.noreply.translate.codeberg.org>, 2023.
|
||||||
# Azharjan <alexander.um.edu@gmail.com>, 2023.
|
# Azharjan <alexander.um.edu@gmail.com>, 2023.
|
||||||
# return42 <return42@users.noreply.translate.codeberg.org>, 2024.
|
# return42 <return42@users.noreply.translate.codeberg.org>, 2024.
|
||||||
|
# KinoCineaste <KinoCineaste@users.noreply.translate.codeberg.org>, 2024.
|
||||||
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: 2024-10-03 11:11+0000\n"
|
"POT-Creation-Date: 2024-10-05 06:24+0000\n"
|
||||||
"PO-Revision-Date: 2024-09-05 06:18+0000\n"
|
"PO-Revision-Date: 2024-11-16 08:04+0000\n"
|
||||||
"Last-Translator: return42 <return42@users.noreply.translate.codeberg.org>"
|
"Last-Translator: KinoCineaste <KinoCineaste@users.noreply.translate.codeberg."
|
||||||
"\n"
|
"org>\n"
|
||||||
|
"Language-Team: Esperanto <https://translate.codeberg.org/projects/searxng/"
|
||||||
|
"searxng/eo/>\n"
|
||||||
"Language: eo\n"
|
"Language: eo\n"
|
||||||
"Language-Team: Esperanto "
|
|
||||||
"<https://translate.codeberg.org/projects/searxng/searxng/eo/>\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.8.1\n"
|
||||||
"Generated-By: Babel 2.16.0\n"
|
"Generated-By: Babel 2.16.0\n"
|
||||||
|
|
||||||
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
||||||
|
@ -78,7 +80,7 @@ msgstr "radio"
|
||||||
#. CATEGORY_NAMES['TV']
|
#. CATEGORY_NAMES['TV']
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "tv"
|
msgid "tv"
|
||||||
msgstr ""
|
msgstr "televido"
|
||||||
|
|
||||||
#. CATEGORY_NAMES['IT']
|
#. CATEGORY_NAMES['IT']
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
|
@ -168,7 +170,7 @@ msgstr "malhela"
|
||||||
#. STYLE_NAMES['BLACK']
|
#. STYLE_NAMES['BLACK']
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "black"
|
msgid "black"
|
||||||
msgstr ""
|
msgstr "nigra"
|
||||||
|
|
||||||
#. BRAND_CUSTOM_LINKS['UPTIME']
|
#. BRAND_CUSTOM_LINKS['UPTIME']
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
|
@ -348,28 +350,28 @@ msgstr ""
|
||||||
msgid "answered"
|
msgid "answered"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: searx/webapp.py:330
|
#: searx/webapp.py:332
|
||||||
msgid "No item found"
|
msgid "No item found"
|
||||||
msgstr "Nenio trovita"
|
msgstr "Nenio trovita"
|
||||||
|
|
||||||
#: searx/engines/qwant.py:288
|
#: searx/engines/qwant.py:288
|
||||||
#: searx/templates/simple/result_templates/images.html:23 searx/webapp.py:332
|
#: searx/templates/simple/result_templates/images.html:23 searx/webapp.py:334
|
||||||
msgid "Source"
|
msgid "Source"
|
||||||
msgstr "Fonto"
|
msgstr "Fonto"
|
||||||
|
|
||||||
#: searx/webapp.py:334
|
#: searx/webapp.py:336
|
||||||
msgid "Error loading the next page"
|
msgid "Error loading the next page"
|
||||||
msgstr "Eraro dum la ŝarĝado de la sekvan paĝon"
|
msgstr "Eraro dum la ŝarĝado de la sekvan paĝon"
|
||||||
|
|
||||||
#: searx/webapp.py:491 searx/webapp.py:894
|
#: searx/webapp.py:495 searx/webapp.py:898
|
||||||
msgid "Invalid settings, please edit your preferences"
|
msgid "Invalid settings, please edit your preferences"
|
||||||
msgstr "Nevalidaj agordoj, bonvolu redaktu viajn agordojn"
|
msgstr "Nevalidaj agordoj, bonvolu redaktu viajn agordojn"
|
||||||
|
|
||||||
#: searx/webapp.py:507
|
#: searx/webapp.py:511
|
||||||
msgid "Invalid settings"
|
msgid "Invalid settings"
|
||||||
msgstr "Nevalidaj agordoj"
|
msgstr "Nevalidaj agordoj"
|
||||||
|
|
||||||
#: searx/webapp.py:584 searx/webapp.py:666
|
#: searx/webapp.py:588 searx/webapp.py:670
|
||||||
msgid "search error"
|
msgid "search error"
|
||||||
msgstr "serĉa eraro"
|
msgstr "serĉa eraro"
|
||||||
|
|
||||||
|
@ -684,26 +686,26 @@ msgstr "Kontaktu instancon prizorganto"
|
||||||
msgid "Click on the magnifier to perform search"
|
msgid "Click on the magnifier to perform search"
|
||||||
msgstr "Alklaku la lupeon por serĉi"
|
msgstr "Alklaku la lupeon por serĉi"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:35
|
#: searx/templates/simple/macros.html:40
|
||||||
msgid "Length"
|
msgid "Length"
|
||||||
msgstr "Longo"
|
msgstr "Longo"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:36
|
#: searx/templates/simple/macros.html:41
|
||||||
msgid "Views"
|
msgid "Views"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:37
|
#: searx/templates/simple/macros.html:42
|
||||||
#: searx/templates/simple/result_templates/files.html:34
|
#: searx/templates/simple/result_templates/files.html:34
|
||||||
#: searx/templates/simple/result_templates/images.html:19
|
#: searx/templates/simple/result_templates/images.html:19
|
||||||
#: searx/templates/simple/result_templates/paper.html:6
|
#: searx/templates/simple/result_templates/paper.html:6
|
||||||
msgid "Author"
|
msgid "Author"
|
||||||
msgstr "Verkisto"
|
msgstr "Verkisto"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:45
|
#: searx/templates/simple/macros.html:50
|
||||||
msgid "cached"
|
msgid "cached"
|
||||||
msgstr "kaŝmemorigita"
|
msgstr "kaŝmemorigita"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:45
|
#: searx/templates/simple/macros.html:50
|
||||||
msgid "proxied"
|
msgid "proxied"
|
||||||
msgstr "prokurata"
|
msgstr "prokurata"
|
||||||
|
|
||||||
|
@ -776,27 +778,27 @@ msgstr "Ĝenerala"
|
||||||
msgid "Default categories"
|
msgid "Default categories"
|
||||||
msgstr "Defaŭltaj kategorioj"
|
msgstr "Defaŭltaj kategorioj"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:187
|
#: searx/templates/simple/preferences.html:190
|
||||||
msgid "User interface"
|
msgid "User interface"
|
||||||
msgstr "Fasado"
|
msgstr "Fasado"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:208
|
#: searx/templates/simple/preferences.html:211
|
||||||
msgid "Privacy"
|
msgid "Privacy"
|
||||||
msgstr "Privateco"
|
msgstr "Privateco"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:221
|
#: searx/templates/simple/preferences.html:224
|
||||||
msgid "Engines"
|
msgid "Engines"
|
||||||
msgstr "Serĉiloj"
|
msgstr "Serĉiloj"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:223
|
#: searx/templates/simple/preferences.html:226
|
||||||
msgid "Currently used search engines"
|
msgid "Currently used search engines"
|
||||||
msgstr "Aktuale uzataj serĉiloj"
|
msgstr "Aktuale uzataj serĉiloj"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:231
|
#: searx/templates/simple/preferences.html:234
|
||||||
msgid "Special Queries"
|
msgid "Special Queries"
|
||||||
msgstr "Specialaj Demandoj"
|
msgstr "Specialaj Demandoj"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:237
|
#: searx/templates/simple/preferences.html:240
|
||||||
msgid "Cookies"
|
msgid "Cookies"
|
||||||
msgstr "Kuketoj"
|
msgstr "Kuketoj"
|
||||||
|
|
||||||
|
@ -1216,6 +1218,14 @@ msgstr "Pezo"
|
||||||
msgid "Max time"
|
msgid "Max time"
|
||||||
msgstr "Maksimuma tempo"
|
msgstr "Maksimuma tempo"
|
||||||
|
|
||||||
|
#: searx/templates/simple/preferences/favicon.html:2
|
||||||
|
msgid "Favicon Resolver"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: searx/templates/simple/preferences/favicon.html:15
|
||||||
|
msgid "Display favicons near search results"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: searx/templates/simple/preferences/footer.html:2
|
#: searx/templates/simple/preferences/footer.html:2
|
||||||
msgid ""
|
msgid ""
|
||||||
"These settings are stored in your cookies, this allows us not to store "
|
"These settings are stored in your cookies, this allows us not to store "
|
||||||
|
@ -1953,4 +1963,3 @@ msgstr "kaŝi videojn"
|
||||||
|
|
||||||
#~ msgid "Engines cannot retrieve results"
|
#~ msgid "Engines cannot retrieve results"
|
||||||
#~ msgstr "Serĉiloj ne povas retrovi rezultojn"
|
#~ msgstr "Serĉiloj ne povas retrovi rezultojn"
|
||||||
|
|
||||||
|
|
Binary file not shown.
|
@ -33,20 +33,22 @@
|
||||||
# tiziodcaio <tiziodcaio@users.noreply.translate.codeberg.org>, 2024.
|
# tiziodcaio <tiziodcaio@users.noreply.translate.codeberg.org>, 2024.
|
||||||
# return42 <return42@users.noreply.translate.codeberg.org>, 2024.
|
# return42 <return42@users.noreply.translate.codeberg.org>, 2024.
|
||||||
# kny5 <kny5@users.noreply.translate.codeberg.org>, 2024.
|
# kny5 <kny5@users.noreply.translate.codeberg.org>, 2024.
|
||||||
|
# Atul_Eterno <Atul_Eterno@users.noreply.translate.codeberg.org>, 2024.
|
||||||
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: 2024-10-03 11:11+0000\n"
|
"POT-Creation-Date: 2024-10-05 06:24+0000\n"
|
||||||
"PO-Revision-Date: 2024-09-15 14:18+0000\n"
|
"PO-Revision-Date: 2024-11-14 14:07+0000\n"
|
||||||
"Last-Translator: kny5 <kny5@users.noreply.translate.codeberg.org>\n"
|
"Last-Translator: return42 <return42@users.noreply.translate.codeberg.org>\n"
|
||||||
|
"Language-Team: Spanish <https://translate.codeberg.org/projects/searxng/"
|
||||||
|
"searxng/es/>\n"
|
||||||
"Language: es\n"
|
"Language: es\n"
|
||||||
"Language-Team: Spanish "
|
|
||||||
"<https://translate.codeberg.org/projects/searxng/searxng/es/>\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.8.1\n"
|
||||||
"Generated-By: Babel 2.16.0\n"
|
"Generated-By: Babel 2.16.0\n"
|
||||||
|
|
||||||
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
||||||
|
@ -152,7 +154,7 @@ msgstr "preguntas y respuestas"
|
||||||
#. CATEGORY_GROUPS['REPOS']
|
#. CATEGORY_GROUPS['REPOS']
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "repos"
|
msgid "repos"
|
||||||
msgstr "repos"
|
msgstr "repositorios"
|
||||||
|
|
||||||
#. CATEGORY_GROUPS['SOFTWARE_WIKIS']
|
#. CATEGORY_GROUPS['SOFTWARE_WIKIS']
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
|
@ -187,7 +189,7 @@ msgstr "oscuro"
|
||||||
#. STYLE_NAMES['BLACK']
|
#. STYLE_NAMES['BLACK']
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "black"
|
msgid "black"
|
||||||
msgstr ""
|
msgstr "negro"
|
||||||
|
|
||||||
#. BRAND_CUSTOM_LINKS['UPTIME']
|
#. BRAND_CUSTOM_LINKS['UPTIME']
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
|
@ -367,28 +369,28 @@ msgstr "cerrar"
|
||||||
msgid "answered"
|
msgid "answered"
|
||||||
msgstr "contestado"
|
msgstr "contestado"
|
||||||
|
|
||||||
#: searx/webapp.py:330
|
#: searx/webapp.py:332
|
||||||
msgid "No item found"
|
msgid "No item found"
|
||||||
msgstr "Ningún artículo encontrado"
|
msgstr "Ningún artículo encontrado"
|
||||||
|
|
||||||
#: searx/engines/qwant.py:288
|
#: searx/engines/qwant.py:288
|
||||||
#: searx/templates/simple/result_templates/images.html:23 searx/webapp.py:332
|
#: searx/templates/simple/result_templates/images.html:23 searx/webapp.py:334
|
||||||
msgid "Source"
|
msgid "Source"
|
||||||
msgstr "Fuente"
|
msgstr "Fuente"
|
||||||
|
|
||||||
#: searx/webapp.py:334
|
#: searx/webapp.py:336
|
||||||
msgid "Error loading the next page"
|
msgid "Error loading the next page"
|
||||||
msgstr "Error al cargar la siguiente página"
|
msgstr "Error al cargar la siguiente página"
|
||||||
|
|
||||||
#: searx/webapp.py:491 searx/webapp.py:894
|
#: searx/webapp.py:495 searx/webapp.py:898
|
||||||
msgid "Invalid settings, please edit your preferences"
|
msgid "Invalid settings, please edit your preferences"
|
||||||
msgstr "Ajustes inválidos, por favor, cambia tus preferencias"
|
msgstr "Ajustes inválidos, por favor, cambia tus preferencias"
|
||||||
|
|
||||||
#: searx/webapp.py:507
|
#: searx/webapp.py:511
|
||||||
msgid "Invalid settings"
|
msgid "Invalid settings"
|
||||||
msgstr "Ajustes inválidos"
|
msgstr "Ajustes inválidos"
|
||||||
|
|
||||||
#: searx/webapp.py:584 searx/webapp.py:666
|
#: searx/webapp.py:588 searx/webapp.py:670
|
||||||
msgid "search error"
|
msgid "search error"
|
||||||
msgstr "error en la búsqueda"
|
msgstr "error en la búsqueda"
|
||||||
|
|
||||||
|
@ -474,7 +476,7 @@ msgstr "Calcular las funciones {functions} de parámetros dados"
|
||||||
|
|
||||||
#: searx/engines/mozhi.py:57
|
#: searx/engines/mozhi.py:57
|
||||||
msgid "Synonyms"
|
msgid "Synonyms"
|
||||||
msgstr ""
|
msgstr "Sinónimos"
|
||||||
|
|
||||||
#: searx/engines/openstreetmap.py:159
|
#: searx/engines/openstreetmap.py:159
|
||||||
msgid "Get directions"
|
msgid "Get directions"
|
||||||
|
@ -706,26 +708,26 @@ msgstr "Contactar al mantenedor de la instancia"
|
||||||
msgid "Click on the magnifier to perform search"
|
msgid "Click on the magnifier to perform search"
|
||||||
msgstr "Haz clic en la lupa para realizar la búsqueda"
|
msgstr "Haz clic en la lupa para realizar la búsqueda"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:35
|
#: searx/templates/simple/macros.html:40
|
||||||
msgid "Length"
|
msgid "Length"
|
||||||
msgstr "Longitud"
|
msgstr "Longitud"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:36
|
#: searx/templates/simple/macros.html:41
|
||||||
msgid "Views"
|
msgid "Views"
|
||||||
msgstr "Visualizaciones"
|
msgstr "Visualizaciones"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:37
|
#: searx/templates/simple/macros.html:42
|
||||||
#: searx/templates/simple/result_templates/files.html:34
|
#: searx/templates/simple/result_templates/files.html:34
|
||||||
#: searx/templates/simple/result_templates/images.html:19
|
#: searx/templates/simple/result_templates/images.html:19
|
||||||
#: searx/templates/simple/result_templates/paper.html:6
|
#: searx/templates/simple/result_templates/paper.html:6
|
||||||
msgid "Author"
|
msgid "Author"
|
||||||
msgstr "Autor"
|
msgstr "Autor"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:45
|
#: searx/templates/simple/macros.html:50
|
||||||
msgid "cached"
|
msgid "cached"
|
||||||
msgstr "en caché"
|
msgstr "en caché"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:45
|
#: searx/templates/simple/macros.html:50
|
||||||
msgid "proxied"
|
msgid "proxied"
|
||||||
msgstr "por un proxy"
|
msgstr "por un proxy"
|
||||||
|
|
||||||
|
@ -800,27 +802,27 @@ msgstr "General"
|
||||||
msgid "Default categories"
|
msgid "Default categories"
|
||||||
msgstr "Categorías predeterminadas"
|
msgstr "Categorías predeterminadas"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:187
|
#: searx/templates/simple/preferences.html:190
|
||||||
msgid "User interface"
|
msgid "User interface"
|
||||||
msgstr "Interfaz de usuario"
|
msgstr "Interfaz de usuario"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:208
|
#: searx/templates/simple/preferences.html:211
|
||||||
msgid "Privacy"
|
msgid "Privacy"
|
||||||
msgstr "Privacidad"
|
msgstr "Privacidad"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:221
|
#: searx/templates/simple/preferences.html:224
|
||||||
msgid "Engines"
|
msgid "Engines"
|
||||||
msgstr "Motores"
|
msgstr "Motores"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:223
|
#: searx/templates/simple/preferences.html:226
|
||||||
msgid "Currently used search engines"
|
msgid "Currently used search engines"
|
||||||
msgstr "Motores de búsqueda actualmente en uso"
|
msgstr "Motores de búsqueda actualmente en uso"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:231
|
#: searx/templates/simple/preferences.html:234
|
||||||
msgid "Special Queries"
|
msgid "Special Queries"
|
||||||
msgstr "Consultas Especiales"
|
msgstr "Consultas Especiales"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:237
|
#: searx/templates/simple/preferences.html:240
|
||||||
msgid "Cookies"
|
msgid "Cookies"
|
||||||
msgstr "Cookies"
|
msgstr "Cookies"
|
||||||
|
|
||||||
|
@ -1241,6 +1243,14 @@ msgstr "Peso"
|
||||||
msgid "Max time"
|
msgid "Max time"
|
||||||
msgstr "Tiempo máximo"
|
msgstr "Tiempo máximo"
|
||||||
|
|
||||||
|
#: searx/templates/simple/preferences/favicon.html:2
|
||||||
|
msgid "Favicon Resolver"
|
||||||
|
msgstr "Buscador de favicon"
|
||||||
|
|
||||||
|
#: searx/templates/simple/preferences/favicon.html:15
|
||||||
|
msgid "Display favicons near search results"
|
||||||
|
msgstr "Mostrar los favicons al lado de los resultados de búsqueda"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences/footer.html:2
|
#: searx/templates/simple/preferences/footer.html:2
|
||||||
msgid ""
|
msgid ""
|
||||||
"These settings are stored in your cookies, this allows us not to store "
|
"These settings are stored in your cookies, this allows us not to store "
|
||||||
|
@ -2009,4 +2019,3 @@ msgstr "ocultar video"
|
||||||
|
|
||||||
#~ msgid "Engines cannot retrieve results"
|
#~ msgid "Engines cannot retrieve results"
|
||||||
#~ msgstr "Los motores no pueden obtener resultados"
|
#~ msgstr "Los motores no pueden obtener resultados"
|
||||||
|
|
||||||
|
|
Binary file not shown.
|
@ -16,17 +16,18 @@ 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: 2024-10-03 11:11+0000\n"
|
"POT-Creation-Date: 2024-10-05 06:24+0000\n"
|
||||||
"PO-Revision-Date: 2024-10-03 11:11+0000\n"
|
"PO-Revision-Date: 2024-10-21 20:07+0000\n"
|
||||||
"Last-Translator: Priit Jõerüüt "
|
"Last-Translator: Priit Jõerüüt <jrtcdbrg@users.noreply.translate.codeberg."
|
||||||
"<jrtcdbrg@users.noreply.translate.codeberg.org>\n"
|
"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.7.2\n"
|
||||||
"Generated-By: Babel 2.16.0\n"
|
"Generated-By: Babel 2.16.0\n"
|
||||||
|
|
||||||
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
||||||
|
@ -347,28 +348,28 @@ msgstr "suletud"
|
||||||
msgid "answered"
|
msgid "answered"
|
||||||
msgstr "vastatud"
|
msgstr "vastatud"
|
||||||
|
|
||||||
#: searx/webapp.py:330
|
#: searx/webapp.py:332
|
||||||
msgid "No item found"
|
msgid "No item found"
|
||||||
msgstr "Üksust ei leitud"
|
msgstr "Üksust ei leitud"
|
||||||
|
|
||||||
#: searx/engines/qwant.py:288
|
#: searx/engines/qwant.py:288
|
||||||
#: searx/templates/simple/result_templates/images.html:23 searx/webapp.py:332
|
#: searx/templates/simple/result_templates/images.html:23 searx/webapp.py:334
|
||||||
msgid "Source"
|
msgid "Source"
|
||||||
msgstr "Allikas"
|
msgstr "Allikas"
|
||||||
|
|
||||||
#: searx/webapp.py:334
|
#: searx/webapp.py:336
|
||||||
msgid "Error loading the next page"
|
msgid "Error loading the next page"
|
||||||
msgstr "Viga järgmise lehekülje laadimisel"
|
msgstr "Viga järgmise lehekülje laadimisel"
|
||||||
|
|
||||||
#: searx/webapp.py:491 searx/webapp.py:894
|
#: searx/webapp.py:495 searx/webapp.py:898
|
||||||
msgid "Invalid settings, please edit your preferences"
|
msgid "Invalid settings, please edit your preferences"
|
||||||
msgstr "Sobimatud seaded, palun muuda oma eelistusi"
|
msgstr "Sobimatud seaded, palun muuda oma eelistusi"
|
||||||
|
|
||||||
#: searx/webapp.py:507
|
#: searx/webapp.py:511
|
||||||
msgid "Invalid settings"
|
msgid "Invalid settings"
|
||||||
msgstr "Sobimatud seaded"
|
msgstr "Sobimatud seaded"
|
||||||
|
|
||||||
#: searx/webapp.py:584 searx/webapp.py:666
|
#: searx/webapp.py:588 searx/webapp.py:670
|
||||||
msgid "search error"
|
msgid "search error"
|
||||||
msgstr "otsingu viga"
|
msgstr "otsingu viga"
|
||||||
|
|
||||||
|
@ -454,7 +455,7 @@ msgstr "Arvuta argumentide {functions}"
|
||||||
|
|
||||||
#: searx/engines/mozhi.py:57
|
#: searx/engines/mozhi.py:57
|
||||||
msgid "Synonyms"
|
msgid "Synonyms"
|
||||||
msgstr ""
|
msgstr "Sünonüümid"
|
||||||
|
|
||||||
#: searx/engines/openstreetmap.py:159
|
#: searx/engines/openstreetmap.py:159
|
||||||
msgid "Get directions"
|
msgid "Get directions"
|
||||||
|
@ -685,26 +686,26 @@ msgstr "Võta ühendust serveri haldajaga"
|
||||||
msgid "Click on the magnifier to perform search"
|
msgid "Click on the magnifier to perform search"
|
||||||
msgstr "Otsingu teostamiseks klõpsa luubile"
|
msgstr "Otsingu teostamiseks klõpsa luubile"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:35
|
#: searx/templates/simple/macros.html:40
|
||||||
msgid "Length"
|
msgid "Length"
|
||||||
msgstr "Pikkus"
|
msgstr "Pikkus"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:36
|
#: searx/templates/simple/macros.html:41
|
||||||
msgid "Views"
|
msgid "Views"
|
||||||
msgstr "Vaateid"
|
msgstr "Vaateid"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:37
|
#: searx/templates/simple/macros.html:42
|
||||||
#: searx/templates/simple/result_templates/files.html:34
|
#: searx/templates/simple/result_templates/files.html:34
|
||||||
#: searx/templates/simple/result_templates/images.html:19
|
#: searx/templates/simple/result_templates/images.html:19
|
||||||
#: searx/templates/simple/result_templates/paper.html:6
|
#: searx/templates/simple/result_templates/paper.html:6
|
||||||
msgid "Author"
|
msgid "Author"
|
||||||
msgstr "Autor"
|
msgstr "Autor"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:45
|
#: searx/templates/simple/macros.html:50
|
||||||
msgid "cached"
|
msgid "cached"
|
||||||
msgstr "vahemälus"
|
msgstr "vahemälus"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:45
|
#: searx/templates/simple/macros.html:50
|
||||||
msgid "proxied"
|
msgid "proxied"
|
||||||
msgstr "proksiserveris"
|
msgstr "proksiserveris"
|
||||||
|
|
||||||
|
@ -781,27 +782,27 @@ msgstr "Üldine"
|
||||||
msgid "Default categories"
|
msgid "Default categories"
|
||||||
msgstr "Vaikimisi kategooriad"
|
msgstr "Vaikimisi kategooriad"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:187
|
#: searx/templates/simple/preferences.html:190
|
||||||
msgid "User interface"
|
msgid "User interface"
|
||||||
msgstr "Kasutajaliides"
|
msgstr "Kasutajaliides"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:208
|
#: searx/templates/simple/preferences.html:211
|
||||||
msgid "Privacy"
|
msgid "Privacy"
|
||||||
msgstr "Privaatsus"
|
msgstr "Privaatsus"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:221
|
#: searx/templates/simple/preferences.html:224
|
||||||
msgid "Engines"
|
msgid "Engines"
|
||||||
msgstr "Otsingumootorid"
|
msgstr "Otsingumootorid"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:223
|
#: searx/templates/simple/preferences.html:226
|
||||||
msgid "Currently used search engines"
|
msgid "Currently used search engines"
|
||||||
msgstr "Hetkel kasutatud otsingumootorid"
|
msgstr "Hetkel kasutatud otsingumootorid"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:231
|
#: searx/templates/simple/preferences.html:234
|
||||||
msgid "Special Queries"
|
msgid "Special Queries"
|
||||||
msgstr "Spetsiaalsed päringud"
|
msgstr "Spetsiaalsed päringud"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:237
|
#: searx/templates/simple/preferences.html:240
|
||||||
msgid "Cookies"
|
msgid "Cookies"
|
||||||
msgstr "Küpsised"
|
msgstr "Küpsised"
|
||||||
|
|
||||||
|
@ -1154,8 +1155,8 @@ msgid ""
|
||||||
"Note: specifying custom settings in the search URL can reduce privacy by "
|
"Note: specifying custom settings in the search URL can reduce privacy by "
|
||||||
"leaking data to the clicked result sites."
|
"leaking data to the clicked result sites."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Märkus: täpsemate seadete määramine otsingu URLis võib vähendada "
|
"Märkus: lekitades andmed klõpsatud tulemuste saitidele võib täpsemate "
|
||||||
"privaatsust, lekitades andmed klõpsatud tulemuste saitidele."
|
"seadete määramine otsingu URLis vähendada privaatsust."
|
||||||
|
|
||||||
#: 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"
|
||||||
|
@ -1221,6 +1222,14 @@ msgstr "Kaal"
|
||||||
msgid "Max time"
|
msgid "Max time"
|
||||||
msgstr "Maksimaalne aeg"
|
msgstr "Maksimaalne aeg"
|
||||||
|
|
||||||
|
#: searx/templates/simple/preferences/favicon.html:2
|
||||||
|
msgid "Favicon Resolver"
|
||||||
|
msgstr "Saidiikoonide kuvamine"
|
||||||
|
|
||||||
|
#: searx/templates/simple/preferences/favicon.html:15
|
||||||
|
msgid "Display favicons near search results"
|
||||||
|
msgstr "Kuva otsingutulemuste kõrval saidiikoone"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences/footer.html:2
|
#: searx/templates/simple/preferences/footer.html:2
|
||||||
msgid ""
|
msgid ""
|
||||||
"These settings are stored in your cookies, this allows us not to store "
|
"These settings are stored in your cookies, this allows us not to store "
|
||||||
|
@ -1954,4 +1963,3 @@ msgstr "peida video"
|
||||||
|
|
||||||
#~ msgid "Engines cannot retrieve results"
|
#~ msgid "Engines cannot retrieve results"
|
||||||
#~ msgstr "Otsingumootorid ei anna päringutele vastuseid"
|
#~ msgstr "Otsingumootorid ei anna päringutele vastuseid"
|
||||||
|
|
||||||
|
|
Binary file not shown.
|
@ -16,7 +16,7 @@ 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: 2024-10-03 11:11+0000\n"
|
"POT-Creation-Date: 2024-10-05 06:24+0000\n"
|
||||||
"PO-Revision-Date: 2024-09-09 11:18+0000\n"
|
"PO-Revision-Date: 2024-09-09 11:18+0000\n"
|
||||||
"Last-Translator: alexgabi <alexgabi@users.noreply.translate.codeberg.org>"
|
"Last-Translator: alexgabi <alexgabi@users.noreply.translate.codeberg.org>"
|
||||||
"\n"
|
"\n"
|
||||||
|
@ -347,28 +347,28 @@ msgstr "itxita"
|
||||||
msgid "answered"
|
msgid "answered"
|
||||||
msgstr "erantzunda"
|
msgstr "erantzunda"
|
||||||
|
|
||||||
#: searx/webapp.py:330
|
#: searx/webapp.py:332
|
||||||
msgid "No item found"
|
msgid "No item found"
|
||||||
msgstr "Ez da elementurik aurkitu"
|
msgstr "Ez da elementurik aurkitu"
|
||||||
|
|
||||||
#: searx/engines/qwant.py:288
|
#: searx/engines/qwant.py:288
|
||||||
#: searx/templates/simple/result_templates/images.html:23 searx/webapp.py:332
|
#: searx/templates/simple/result_templates/images.html:23 searx/webapp.py:334
|
||||||
msgid "Source"
|
msgid "Source"
|
||||||
msgstr "Iturria"
|
msgstr "Iturria"
|
||||||
|
|
||||||
#: searx/webapp.py:334
|
#: searx/webapp.py:336
|
||||||
msgid "Error loading the next page"
|
msgid "Error loading the next page"
|
||||||
msgstr "Errorea hurrengo orrialdea kargatzean"
|
msgstr "Errorea hurrengo orrialdea kargatzean"
|
||||||
|
|
||||||
#: searx/webapp.py:491 searx/webapp.py:894
|
#: searx/webapp.py:495 searx/webapp.py:898
|
||||||
msgid "Invalid settings, please edit your preferences"
|
msgid "Invalid settings, please edit your preferences"
|
||||||
msgstr "Ezarpen baliogabeak, editatu zure hobespenak"
|
msgstr "Ezarpen baliogabeak, editatu zure hobespenak"
|
||||||
|
|
||||||
#: searx/webapp.py:507
|
#: searx/webapp.py:511
|
||||||
msgid "Invalid settings"
|
msgid "Invalid settings"
|
||||||
msgstr "Ezarpen baliogabeak"
|
msgstr "Ezarpen baliogabeak"
|
||||||
|
|
||||||
#: searx/webapp.py:584 searx/webapp.py:666
|
#: searx/webapp.py:588 searx/webapp.py:670
|
||||||
msgid "search error"
|
msgid "search error"
|
||||||
msgstr "bilaketa akatsa"
|
msgstr "bilaketa akatsa"
|
||||||
|
|
||||||
|
@ -685,26 +685,26 @@ msgstr "Instantziaren mantentzailearekin harremanetan jarri"
|
||||||
msgid "Click on the magnifier to perform search"
|
msgid "Click on the magnifier to perform search"
|
||||||
msgstr "Lupan sakatu bilaketa egiteko"
|
msgstr "Lupan sakatu bilaketa egiteko"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:35
|
#: searx/templates/simple/macros.html:40
|
||||||
msgid "Length"
|
msgid "Length"
|
||||||
msgstr "Luzera"
|
msgstr "Luzera"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:36
|
#: searx/templates/simple/macros.html:41
|
||||||
msgid "Views"
|
msgid "Views"
|
||||||
msgstr "Ikuspegiak"
|
msgstr "Ikuspegiak"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:37
|
#: searx/templates/simple/macros.html:42
|
||||||
#: searx/templates/simple/result_templates/files.html:34
|
#: searx/templates/simple/result_templates/files.html:34
|
||||||
#: searx/templates/simple/result_templates/images.html:19
|
#: searx/templates/simple/result_templates/images.html:19
|
||||||
#: searx/templates/simple/result_templates/paper.html:6
|
#: searx/templates/simple/result_templates/paper.html:6
|
||||||
msgid "Author"
|
msgid "Author"
|
||||||
msgstr "Egilea"
|
msgstr "Egilea"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:45
|
#: searx/templates/simple/macros.html:50
|
||||||
msgid "cached"
|
msgid "cached"
|
||||||
msgstr "cachean gordeta"
|
msgstr "cachean gordeta"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:45
|
#: searx/templates/simple/macros.html:50
|
||||||
msgid "proxied"
|
msgid "proxied"
|
||||||
msgstr "proxyan gordeta"
|
msgstr "proxyan gordeta"
|
||||||
|
|
||||||
|
@ -777,27 +777,27 @@ msgstr "Orokorra"
|
||||||
msgid "Default categories"
|
msgid "Default categories"
|
||||||
msgstr "Lehenetsitako kategoriak"
|
msgstr "Lehenetsitako kategoriak"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:187
|
#: searx/templates/simple/preferences.html:190
|
||||||
msgid "User interface"
|
msgid "User interface"
|
||||||
msgstr "Erabiltzailearen interfazea"
|
msgstr "Erabiltzailearen interfazea"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:208
|
#: searx/templates/simple/preferences.html:211
|
||||||
msgid "Privacy"
|
msgid "Privacy"
|
||||||
msgstr "Pribatutasuna"
|
msgstr "Pribatutasuna"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:221
|
#: searx/templates/simple/preferences.html:224
|
||||||
msgid "Engines"
|
msgid "Engines"
|
||||||
msgstr "Bilatzaileak"
|
msgstr "Bilatzaileak"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:223
|
#: searx/templates/simple/preferences.html:226
|
||||||
msgid "Currently used search engines"
|
msgid "Currently used search engines"
|
||||||
msgstr "Erabiltzen ari diren bilatzaileak"
|
msgstr "Erabiltzen ari diren bilatzaileak"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:231
|
#: searx/templates/simple/preferences.html:234
|
||||||
msgid "Special Queries"
|
msgid "Special Queries"
|
||||||
msgstr "Kontsulta bereziak"
|
msgstr "Kontsulta bereziak"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:237
|
#: searx/templates/simple/preferences.html:240
|
||||||
msgid "Cookies"
|
msgid "Cookies"
|
||||||
msgstr "Cookieak"
|
msgstr "Cookieak"
|
||||||
|
|
||||||
|
@ -1217,6 +1217,14 @@ msgstr "Pisua"
|
||||||
msgid "Max time"
|
msgid "Max time"
|
||||||
msgstr "Gehienezko denbora"
|
msgstr "Gehienezko denbora"
|
||||||
|
|
||||||
|
#: searx/templates/simple/preferences/favicon.html:2
|
||||||
|
msgid "Favicon Resolver"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: searx/templates/simple/preferences/favicon.html:15
|
||||||
|
msgid "Display favicons near search results"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: searx/templates/simple/preferences/footer.html:2
|
#: searx/templates/simple/preferences/footer.html:2
|
||||||
msgid ""
|
msgid ""
|
||||||
"These settings are stored in your cookies, this allows us not to store "
|
"These settings are stored in your cookies, this allows us not to store "
|
||||||
|
|
Binary file not shown.
|
@ -21,7 +21,7 @@ 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: 2024-10-03 11:11+0000\n"
|
"POT-Creation-Date: 2024-10-05 06:24+0000\n"
|
||||||
"PO-Revision-Date: 2024-09-16 18:18+0000\n"
|
"PO-Revision-Date: 2024-09-16 18:18+0000\n"
|
||||||
"Last-Translator: MPBDev <MPBDev@users.noreply.translate.codeberg.org>\n"
|
"Last-Translator: MPBDev <MPBDev@users.noreply.translate.codeberg.org>\n"
|
||||||
"Language: fa_IR\n"
|
"Language: fa_IR\n"
|
||||||
|
@ -358,28 +358,28 @@ msgstr "بسته شده"
|
||||||
msgid "answered"
|
msgid "answered"
|
||||||
msgstr "جواب داده شده"
|
msgstr "جواب داده شده"
|
||||||
|
|
||||||
#: searx/webapp.py:330
|
#: searx/webapp.py:332
|
||||||
msgid "No item found"
|
msgid "No item found"
|
||||||
msgstr "چیزی پیدا نشد"
|
msgstr "چیزی پیدا نشد"
|
||||||
|
|
||||||
#: searx/engines/qwant.py:288
|
#: searx/engines/qwant.py:288
|
||||||
#: searx/templates/simple/result_templates/images.html:23 searx/webapp.py:332
|
#: searx/templates/simple/result_templates/images.html:23 searx/webapp.py:334
|
||||||
msgid "Source"
|
msgid "Source"
|
||||||
msgstr "منبع"
|
msgstr "منبع"
|
||||||
|
|
||||||
#: searx/webapp.py:334
|
#: searx/webapp.py:336
|
||||||
msgid "Error loading the next page"
|
msgid "Error loading the next page"
|
||||||
msgstr "خطا در بارگزاری صفحه جدید"
|
msgstr "خطا در بارگزاری صفحه جدید"
|
||||||
|
|
||||||
#: searx/webapp.py:491 searx/webapp.py:894
|
#: searx/webapp.py:495 searx/webapp.py:898
|
||||||
msgid "Invalid settings, please edit your preferences"
|
msgid "Invalid settings, please edit your preferences"
|
||||||
msgstr "تنظیمات نادرست است، لطفا تنظیمات جستجو را تغییر دهید"
|
msgstr "تنظیمات نادرست است، لطفا تنظیمات جستجو را تغییر دهید"
|
||||||
|
|
||||||
#: searx/webapp.py:507
|
#: searx/webapp.py:511
|
||||||
msgid "Invalid settings"
|
msgid "Invalid settings"
|
||||||
msgstr "تنظیمات نادرست"
|
msgstr "تنظیمات نادرست"
|
||||||
|
|
||||||
#: searx/webapp.py:584 searx/webapp.py:666
|
#: searx/webapp.py:588 searx/webapp.py:670
|
||||||
msgid "search error"
|
msgid "search error"
|
||||||
msgstr "خطای جستوجو"
|
msgstr "خطای جستوجو"
|
||||||
|
|
||||||
|
@ -700,26 +700,26 @@ msgstr "تماس با مسئولنگهداری نمونه"
|
||||||
msgid "Click on the magnifier to perform search"
|
msgid "Click on the magnifier to perform search"
|
||||||
msgstr "برای انجام جستوجو روی ذرهبین کلیک کنید"
|
msgstr "برای انجام جستوجو روی ذرهبین کلیک کنید"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:35
|
#: searx/templates/simple/macros.html:40
|
||||||
msgid "Length"
|
msgid "Length"
|
||||||
msgstr "طول"
|
msgstr "طول"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:36
|
#: searx/templates/simple/macros.html:41
|
||||||
msgid "Views"
|
msgid "Views"
|
||||||
msgstr "بازدیدها"
|
msgstr "بازدیدها"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:37
|
#: searx/templates/simple/macros.html:42
|
||||||
#: searx/templates/simple/result_templates/files.html:34
|
#: searx/templates/simple/result_templates/files.html:34
|
||||||
#: searx/templates/simple/result_templates/images.html:19
|
#: searx/templates/simple/result_templates/images.html:19
|
||||||
#: searx/templates/simple/result_templates/paper.html:6
|
#: searx/templates/simple/result_templates/paper.html:6
|
||||||
msgid "Author"
|
msgid "Author"
|
||||||
msgstr "نویسنده"
|
msgstr "نویسنده"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:45
|
#: searx/templates/simple/macros.html:50
|
||||||
msgid "cached"
|
msgid "cached"
|
||||||
msgstr "جاسازیشده"
|
msgstr "جاسازیشده"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:45
|
#: searx/templates/simple/macros.html:50
|
||||||
msgid "proxied"
|
msgid "proxied"
|
||||||
msgstr "پروکسیشده"
|
msgstr "پروکسیشده"
|
||||||
|
|
||||||
|
@ -794,27 +794,27 @@ msgstr "کلی"
|
||||||
msgid "Default categories"
|
msgid "Default categories"
|
||||||
msgstr "دستهبندیهای پیشگزیده"
|
msgstr "دستهبندیهای پیشگزیده"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:187
|
#: searx/templates/simple/preferences.html:190
|
||||||
msgid "User interface"
|
msgid "User interface"
|
||||||
msgstr "رابط کاربری"
|
msgstr "رابط کاربری"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:208
|
#: searx/templates/simple/preferences.html:211
|
||||||
msgid "Privacy"
|
msgid "Privacy"
|
||||||
msgstr "حریم شخصی"
|
msgstr "حریم شخصی"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:221
|
#: searx/templates/simple/preferences.html:224
|
||||||
msgid "Engines"
|
msgid "Engines"
|
||||||
msgstr "موتورها"
|
msgstr "موتورها"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:223
|
#: searx/templates/simple/preferences.html:226
|
||||||
msgid "Currently used search engines"
|
msgid "Currently used search engines"
|
||||||
msgstr "موتور جستجو های در حال استفاده"
|
msgstr "موتور جستجو های در حال استفاده"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:231
|
#: searx/templates/simple/preferences.html:234
|
||||||
msgid "Special Queries"
|
msgid "Special Queries"
|
||||||
msgstr "مقدارهای ویژه"
|
msgstr "مقدارهای ویژه"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:237
|
#: searx/templates/simple/preferences.html:240
|
||||||
msgid "Cookies"
|
msgid "Cookies"
|
||||||
msgstr "کلوچکها"
|
msgstr "کلوچکها"
|
||||||
|
|
||||||
|
@ -1232,6 +1232,14 @@ msgstr "وزن"
|
||||||
msgid "Max time"
|
msgid "Max time"
|
||||||
msgstr "زمان بیشینه"
|
msgstr "زمان بیشینه"
|
||||||
|
|
||||||
|
#: searx/templates/simple/preferences/favicon.html:2
|
||||||
|
msgid "Favicon Resolver"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: searx/templates/simple/preferences/favicon.html:15
|
||||||
|
msgid "Display favicons near search results"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: searx/templates/simple/preferences/footer.html:2
|
#: searx/templates/simple/preferences/footer.html:2
|
||||||
msgid ""
|
msgid ""
|
||||||
"These settings are stored in your cookies, this allows us not to store "
|
"These settings are stored in your cookies, this allows us not to store "
|
||||||
|
|
Binary file not shown.
|
@ -12,21 +12,23 @@
|
||||||
# Implosion <Implosion@users.noreply.translate.codeberg.org>, 2024.
|
# Implosion <Implosion@users.noreply.translate.codeberg.org>, 2024.
|
||||||
# artnay <artnay@users.noreply.translate.codeberg.org>, 2024.
|
# artnay <artnay@users.noreply.translate.codeberg.org>, 2024.
|
||||||
# jonkke9 <jonkke9@users.noreply.translate.codeberg.org>, 2024.
|
# jonkke9 <jonkke9@users.noreply.translate.codeberg.org>, 2024.
|
||||||
|
# Ricky-Tigg <Ricky-Tigg@users.noreply.translate.codeberg.org>, 2024.
|
||||||
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: 2024-10-03 11:11+0000\n"
|
"POT-Creation-Date: 2024-10-05 06:24+0000\n"
|
||||||
"PO-Revision-Date: 2024-09-05 06:18+0000\n"
|
"PO-Revision-Date: 2024-10-08 13:41+0000\n"
|
||||||
"Last-Translator: return42 <return42@users.noreply.translate.codeberg.org>"
|
"Last-Translator: Ricky-Tigg <Ricky-Tigg@users.noreply.translate.codeberg.org>"
|
||||||
"\n"
|
"\n"
|
||||||
|
"Language-Team: Finnish <https://translate.codeberg.org/projects/searxng/"
|
||||||
|
"searxng/fi/>\n"
|
||||||
"Language: fi\n"
|
"Language: fi\n"
|
||||||
"Language-Team: Finnish "
|
|
||||||
"<https://translate.codeberg.org/projects/searxng/searxng/fi/>\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.7.2\n"
|
||||||
"Generated-By: Babel 2.16.0\n"
|
"Generated-By: Babel 2.16.0\n"
|
||||||
|
|
||||||
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
||||||
|
@ -167,7 +169,7 @@ msgstr "tumma"
|
||||||
#. STYLE_NAMES['BLACK']
|
#. STYLE_NAMES['BLACK']
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "black"
|
msgid "black"
|
||||||
msgstr ""
|
msgstr "musta"
|
||||||
|
|
||||||
#. BRAND_CUSTOM_LINKS['UPTIME']
|
#. BRAND_CUSTOM_LINKS['UPTIME']
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
|
@ -335,7 +337,7 @@ msgstr "tekijä"
|
||||||
#. SOCIAL_MEDIA_TERMS['THREAD OPEN']
|
#. SOCIAL_MEDIA_TERMS['THREAD OPEN']
|
||||||
#: searx/engines/discourse.py:149 searx/searxng.msg
|
#: searx/engines/discourse.py:149 searx/searxng.msg
|
||||||
msgid "open"
|
msgid "open"
|
||||||
msgstr ""
|
msgstr "Avaa"
|
||||||
|
|
||||||
#. SOCIAL_MEDIA_TERMS['THREAD CLOSED']
|
#. SOCIAL_MEDIA_TERMS['THREAD CLOSED']
|
||||||
#: searx/engines/discourse.py:149 searx/searxng.msg
|
#: searx/engines/discourse.py:149 searx/searxng.msg
|
||||||
|
@ -347,28 +349,28 @@ msgstr "suljettu"
|
||||||
msgid "answered"
|
msgid "answered"
|
||||||
msgstr "vastattu"
|
msgstr "vastattu"
|
||||||
|
|
||||||
#: searx/webapp.py:330
|
#: searx/webapp.py:332
|
||||||
msgid "No item found"
|
msgid "No item found"
|
||||||
msgstr "Tietuetta ei löytynyt"
|
msgstr "Tietuetta ei löytynyt"
|
||||||
|
|
||||||
#: searx/engines/qwant.py:288
|
#: searx/engines/qwant.py:288
|
||||||
#: searx/templates/simple/result_templates/images.html:23 searx/webapp.py:332
|
#: searx/templates/simple/result_templates/images.html:23 searx/webapp.py:334
|
||||||
msgid "Source"
|
msgid "Source"
|
||||||
msgstr "Lähde"
|
msgstr "Lähde"
|
||||||
|
|
||||||
#: searx/webapp.py:334
|
#: searx/webapp.py:336
|
||||||
msgid "Error loading the next page"
|
msgid "Error loading the next page"
|
||||||
msgstr "Virhe ladattaessa seuraavaa sivua"
|
msgstr "Virhe ladattaessa seuraavaa sivua"
|
||||||
|
|
||||||
#: searx/webapp.py:491 searx/webapp.py:894
|
#: searx/webapp.py:495 searx/webapp.py:898
|
||||||
msgid "Invalid settings, please edit your preferences"
|
msgid "Invalid settings, please edit your preferences"
|
||||||
msgstr "Virheelliset asetukset, muokkaa siis asetuksia"
|
msgstr "Virheelliset asetukset, muokkaa siis asetuksia"
|
||||||
|
|
||||||
#: searx/webapp.py:507
|
#: searx/webapp.py:511
|
||||||
msgid "Invalid settings"
|
msgid "Invalid settings"
|
||||||
msgstr "Virheelliset asetukset"
|
msgstr "Virheelliset asetukset"
|
||||||
|
|
||||||
#: searx/webapp.py:584 searx/webapp.py:666
|
#: searx/webapp.py:588 searx/webapp.py:670
|
||||||
msgid "search error"
|
msgid "search error"
|
||||||
msgstr "hakuvirhe"
|
msgstr "hakuvirhe"
|
||||||
|
|
||||||
|
@ -454,7 +456,7 @@ msgstr "Laske argumenttien {functions}"
|
||||||
|
|
||||||
#: searx/engines/mozhi.py:57
|
#: searx/engines/mozhi.py:57
|
||||||
msgid "Synonyms"
|
msgid "Synonyms"
|
||||||
msgstr ""
|
msgstr "Synonyymit"
|
||||||
|
|
||||||
#: searx/engines/openstreetmap.py:159
|
#: searx/engines/openstreetmap.py:159
|
||||||
msgid "Get directions"
|
msgid "Get directions"
|
||||||
|
@ -541,11 +543,13 @@ msgstr "hash-digest"
|
||||||
|
|
||||||
#: searx/plugins/hostnames.py:103
|
#: searx/plugins/hostnames.py:103
|
||||||
msgid "Hostnames plugin"
|
msgid "Hostnames plugin"
|
||||||
msgstr ""
|
msgstr "Isäntänimien laajennus"
|
||||||
|
|
||||||
#: searx/plugins/hostnames.py:104
|
#: searx/plugins/hostnames.py:104
|
||||||
msgid "Rewrite hostnames, remove results or prioritize them based on the hostname"
|
msgid "Rewrite hostnames, remove results or prioritize them based on the hostname"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Kirjoita isäntänimiä uudelleen, poista tuloksia tai priorisoi ne isäntänimen "
|
||||||
|
"perusteella"
|
||||||
|
|
||||||
#: searx/plugins/oa_doi_rewrite.py:12
|
#: searx/plugins/oa_doi_rewrite.py:12
|
||||||
msgid "Open Access DOI rewrite"
|
msgid "Open Access DOI rewrite"
|
||||||
|
@ -683,26 +687,26 @@ msgstr "Ota yhteyttä palvelun ylläpitäjään"
|
||||||
msgid "Click on the magnifier to perform search"
|
msgid "Click on the magnifier to perform search"
|
||||||
msgstr "Napsauta suurennuslasia suorittaaksesi haun"
|
msgstr "Napsauta suurennuslasia suorittaaksesi haun"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:35
|
#: searx/templates/simple/macros.html:40
|
||||||
msgid "Length"
|
msgid "Length"
|
||||||
msgstr "Pituus"
|
msgstr "Pituus"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:36
|
#: searx/templates/simple/macros.html:41
|
||||||
msgid "Views"
|
msgid "Views"
|
||||||
msgstr ""
|
msgstr "Näkymät"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:37
|
#: searx/templates/simple/macros.html:42
|
||||||
#: searx/templates/simple/result_templates/files.html:34
|
#: searx/templates/simple/result_templates/files.html:34
|
||||||
#: searx/templates/simple/result_templates/images.html:19
|
#: searx/templates/simple/result_templates/images.html:19
|
||||||
#: searx/templates/simple/result_templates/paper.html:6
|
#: searx/templates/simple/result_templates/paper.html:6
|
||||||
msgid "Author"
|
msgid "Author"
|
||||||
msgstr "Tekijä"
|
msgstr "Tekijä"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:45
|
#: searx/templates/simple/macros.html:50
|
||||||
msgid "cached"
|
msgid "cached"
|
||||||
msgstr "välimuistissa"
|
msgstr "välimuistissa"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:45
|
#: searx/templates/simple/macros.html:50
|
||||||
msgid "proxied"
|
msgid "proxied"
|
||||||
msgstr "välityspalvelimella"
|
msgstr "välityspalvelimella"
|
||||||
|
|
||||||
|
@ -777,27 +781,27 @@ msgstr "Yleiset"
|
||||||
msgid "Default categories"
|
msgid "Default categories"
|
||||||
msgstr "Oletusluokat"
|
msgstr "Oletusluokat"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:187
|
#: searx/templates/simple/preferences.html:190
|
||||||
msgid "User interface"
|
msgid "User interface"
|
||||||
msgstr "Käyttöliittymä"
|
msgstr "Käyttöliittymä"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:208
|
#: searx/templates/simple/preferences.html:211
|
||||||
msgid "Privacy"
|
msgid "Privacy"
|
||||||
msgstr "Yksityisyys"
|
msgstr "Yksityisyys"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:221
|
#: searx/templates/simple/preferences.html:224
|
||||||
msgid "Engines"
|
msgid "Engines"
|
||||||
msgstr "Hakukoneet"
|
msgstr "Hakukoneet"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:223
|
#: searx/templates/simple/preferences.html:226
|
||||||
msgid "Currently used search engines"
|
msgid "Currently used search engines"
|
||||||
msgstr "Nyt käytetyt hakukoneet"
|
msgstr "Nyt käytetyt hakukoneet"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:231
|
#: searx/templates/simple/preferences.html:234
|
||||||
msgid "Special Queries"
|
msgid "Special Queries"
|
||||||
msgstr "Erityiset kyselyt"
|
msgstr "Erityiset kyselyt"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:237
|
#: searx/templates/simple/preferences.html:240
|
||||||
msgid "Cookies"
|
msgid "Cookies"
|
||||||
msgstr "Evästeet"
|
msgstr "Evästeet"
|
||||||
|
|
||||||
|
@ -1069,7 +1073,7 @@ msgstr "Vaihtaa toiseen instanssiin:"
|
||||||
|
|
||||||
#: searx/templates/simple/messages/no_results.html:24
|
#: searx/templates/simple/messages/no_results.html:24
|
||||||
msgid "Search for another query or select another category."
|
msgid "Search for another query or select another category."
|
||||||
msgstr ""
|
msgstr "Hae toista kyselyä tai valitse toinen luokka."
|
||||||
|
|
||||||
#: searx/templates/simple/messages/no_results.html:25
|
#: searx/templates/simple/messages/no_results.html:25
|
||||||
msgid "Go back to the previous page using the previous page button."
|
msgid "Go back to the previous page using the previous page button."
|
||||||
|
@ -1218,6 +1222,14 @@ msgstr "Paino"
|
||||||
msgid "Max time"
|
msgid "Max time"
|
||||||
msgstr "Enimmäisaika"
|
msgstr "Enimmäisaika"
|
||||||
|
|
||||||
|
#: searx/templates/simple/preferences/favicon.html:2
|
||||||
|
msgid "Favicon Resolver"
|
||||||
|
msgstr "Favicon-ratkaisija"
|
||||||
|
|
||||||
|
#: searx/templates/simple/preferences/favicon.html:15
|
||||||
|
msgid "Display favicons near search results"
|
||||||
|
msgstr "Näytä Faviconit hakutulosten lähellä"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences/footer.html:2
|
#: searx/templates/simple/preferences/footer.html:2
|
||||||
msgid ""
|
msgid ""
|
||||||
"These settings are stored in your cookies, this allows us not to store "
|
"These settings are stored in your cookies, this allows us not to store "
|
||||||
|
@ -1969,4 +1981,3 @@ msgstr "piilota video"
|
||||||
|
|
||||||
#~ msgid "Engines cannot retrieve results"
|
#~ msgid "Engines cannot retrieve results"
|
||||||
#~ msgstr "Moottorit eivät voi palauttaa tuloksia"
|
#~ msgstr "Moottorit eivät voi palauttaa tuloksia"
|
||||||
|
|
||||||
|
|
Binary file not shown.
|
@ -15,18 +15,18 @@ 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: 2024-10-03 11:11+0000\n"
|
"POT-Creation-Date: 2024-10-05 06:24+0000\n"
|
||||||
"PO-Revision-Date: 2024-08-27 16:18+0000\n"
|
"PO-Revision-Date: 2024-10-11 01:31+0000\n"
|
||||||
"Last-Translator: return42 <return42@users.noreply.translate.codeberg.org>"
|
"Last-Translator: return42 <return42@users.noreply.translate.codeberg.org>\n"
|
||||||
"\n"
|
"Language-Team: Filipino <https://translate.codeberg.org/projects/searxng/"
|
||||||
|
"searxng/fil/>\n"
|
||||||
"Language: fil\n"
|
"Language: fil\n"
|
||||||
"Language-Team: Filipino "
|
|
||||||
"<https://translate.codeberg.org/projects/searxng/searxng/fil/>\n"
|
|
||||||
"Plural-Forms: nplurals=2; plural=(n == 1 || n==2 || n==3) || (n % 10 != 4"
|
|
||||||
" || n % 10 != 6 || n % 10 != 9);\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==2 || n==3) || (n % 10 != 4 || "
|
||||||
|
"n % 10 != 6 || n % 10 != 9);\n"
|
||||||
|
"X-Generator: Weblate 5.7.2\n"
|
||||||
"Generated-By: Babel 2.16.0\n"
|
"Generated-By: Babel 2.16.0\n"
|
||||||
|
|
||||||
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
||||||
|
@ -167,7 +167,7 @@ msgstr "madilim"
|
||||||
#. STYLE_NAMES['BLACK']
|
#. STYLE_NAMES['BLACK']
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "black"
|
msgid "black"
|
||||||
msgstr ""
|
msgstr "itim"
|
||||||
|
|
||||||
#. BRAND_CUSTOM_LINKS['UPTIME']
|
#. BRAND_CUSTOM_LINKS['UPTIME']
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
|
@ -187,7 +187,7 @@ msgstr "Karaniwang temp."
|
||||||
#. WEATHER_TERMS['CLOUD COVER']
|
#. WEATHER_TERMS['CLOUD COVER']
|
||||||
#: searx/engines/open_meteo.py:91 searx/searxng.msg
|
#: searx/engines/open_meteo.py:91 searx/searxng.msg
|
||||||
msgid "Cloud cover"
|
msgid "Cloud cover"
|
||||||
msgstr ""
|
msgstr "sakop ng mga ulap"
|
||||||
|
|
||||||
#. WEATHER_TERMS['CONDITION']
|
#. WEATHER_TERMS['CONDITION']
|
||||||
#: searx/engines/duckduckgo_weather.py:45 searx/engines/wttr.py:51
|
#: searx/engines/duckduckgo_weather.py:45 searx/engines/wttr.py:51
|
||||||
|
@ -210,25 +210,25 @@ msgstr "Hapon"
|
||||||
#: searx/engines/duckduckgo_weather.py:53 searx/engines/open_meteo.py:81
|
#: searx/engines/duckduckgo_weather.py:53 searx/engines/open_meteo.py:81
|
||||||
#: searx/engines/wttr.py:59 searx/searxng.msg
|
#: searx/engines/wttr.py:59 searx/searxng.msg
|
||||||
msgid "Feels like"
|
msgid "Feels like"
|
||||||
msgstr ""
|
msgstr "parang pakiramdam ng"
|
||||||
|
|
||||||
#. WEATHER_TERMS['HUMIDITY']
|
#. WEATHER_TERMS['HUMIDITY']
|
||||||
#: searx/engines/duckduckgo_weather.py:64 searx/engines/open_meteo.py:93
|
#: searx/engines/duckduckgo_weather.py:64 searx/engines/open_meteo.py:93
|
||||||
#: searx/engines/wttr.py:68 searx/searxng.msg
|
#: searx/engines/wttr.py:68 searx/searxng.msg
|
||||||
msgid "Humidity"
|
msgid "Humidity"
|
||||||
msgstr ""
|
msgstr "halumimig"
|
||||||
|
|
||||||
#. WEATHER_TERMS['MAX TEMP.']
|
#. WEATHER_TERMS['MAX TEMP.']
|
||||||
#: searx/engines/duckduckgo_weather.py:77 searx/engines/wttr.py:34
|
#: searx/engines/duckduckgo_weather.py:77 searx/engines/wttr.py:34
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Max temp."
|
msgid "Max temp."
|
||||||
msgstr ""
|
msgstr "pinakamataas na temperatura"
|
||||||
|
|
||||||
#. WEATHER_TERMS['MIN TEMP.']
|
#. WEATHER_TERMS['MIN TEMP.']
|
||||||
#: searx/engines/duckduckgo_weather.py:73 searx/engines/wttr.py:33
|
#: searx/engines/duckduckgo_weather.py:73 searx/engines/wttr.py:33
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Min temp."
|
msgid "Min temp."
|
||||||
msgstr ""
|
msgstr "pinikamababang temperatura"
|
||||||
|
|
||||||
#. WEATHER_TERMS['MORNING']
|
#. WEATHER_TERMS['MORNING']
|
||||||
#: searx/engines/wttr.py:100 searx/searxng.msg
|
#: searx/engines/wttr.py:100 searx/searxng.msg
|
||||||
|
@ -248,127 +248,127 @@ msgstr "Tanghali"
|
||||||
#. WEATHER_TERMS['PRESSURE']
|
#. WEATHER_TERMS['PRESSURE']
|
||||||
#: searx/engines/open_meteo.py:95 searx/searxng.msg
|
#: searx/engines/open_meteo.py:95 searx/searxng.msg
|
||||||
msgid "Pressure"
|
msgid "Pressure"
|
||||||
msgstr ""
|
msgstr "presyon"
|
||||||
|
|
||||||
#. WEATHER_TERMS['SUNRISE']
|
#. WEATHER_TERMS['SUNRISE']
|
||||||
#: searx/engines/duckduckgo_weather.py:81 searx/engines/wttr.py:36
|
#: searx/engines/duckduckgo_weather.py:81 searx/engines/wttr.py:36
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Sunrise"
|
msgid "Sunrise"
|
||||||
msgstr ""
|
msgstr "silang ng araw"
|
||||||
|
|
||||||
#. WEATHER_TERMS['SUNSET']
|
#. WEATHER_TERMS['SUNSET']
|
||||||
#: searx/engines/duckduckgo_weather.py:82 searx/engines/wttr.py:37
|
#: searx/engines/duckduckgo_weather.py:82 searx/engines/wttr.py:37
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Sunset"
|
msgid "Sunset"
|
||||||
msgstr ""
|
msgstr "sibsib ng araw"
|
||||||
|
|
||||||
#. WEATHER_TERMS['TEMPERATURE']
|
#. WEATHER_TERMS['TEMPERATURE']
|
||||||
#: searx/engines/duckduckgo_weather.py:48 searx/engines/open_meteo.py:76
|
#: searx/engines/duckduckgo_weather.py:48 searx/engines/open_meteo.py:76
|
||||||
#: searx/engines/wttr.py:55 searx/searxng.msg
|
#: searx/engines/wttr.py:55 searx/searxng.msg
|
||||||
msgid "Temperature"
|
msgid "Temperature"
|
||||||
msgstr ""
|
msgstr "temperatura"
|
||||||
|
|
||||||
#. WEATHER_TERMS['UV INDEX']
|
#. WEATHER_TERMS['UV INDEX']
|
||||||
#: searx/engines/duckduckgo_weather.py:80 searx/engines/wttr.py:35
|
#: searx/engines/duckduckgo_weather.py:80 searx/engines/wttr.py:35
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "UV index"
|
msgid "UV index"
|
||||||
msgstr ""
|
msgstr "index ng UV"
|
||||||
|
|
||||||
#. WEATHER_TERMS['VISIBILITY']
|
#. WEATHER_TERMS['VISIBILITY']
|
||||||
#: searx/engines/duckduckgo_weather.py:62 searx/engines/wttr.py:66
|
#: searx/engines/duckduckgo_weather.py:62 searx/engines/wttr.py:66
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "Visibility"
|
msgid "Visibility"
|
||||||
msgstr ""
|
msgstr "bisibílidád"
|
||||||
|
|
||||||
#. WEATHER_TERMS['WIND']
|
#. WEATHER_TERMS['WIND']
|
||||||
#: searx/engines/duckduckgo_weather.py:58 searx/engines/open_meteo.py:86
|
#: searx/engines/duckduckgo_weather.py:58 searx/engines/open_meteo.py:86
|
||||||
#: searx/engines/wttr.py:62 searx/searxng.msg
|
#: searx/engines/wttr.py:62 searx/searxng.msg
|
||||||
msgid "Wind"
|
msgid "Wind"
|
||||||
msgstr ""
|
msgstr "hangin"
|
||||||
|
|
||||||
#. SOCIAL_MEDIA_TERMS['SUBSCRIBERS']
|
#. SOCIAL_MEDIA_TERMS['SUBSCRIBERS']
|
||||||
#: searx/engines/lemmy.py:85 searx/searxng.msg
|
#: searx/engines/lemmy.py:85 searx/searxng.msg
|
||||||
msgid "subscribers"
|
msgid "subscribers"
|
||||||
msgstr ""
|
msgstr "mga suskritor"
|
||||||
|
|
||||||
#. SOCIAL_MEDIA_TERMS['POSTS']
|
#. SOCIAL_MEDIA_TERMS['POSTS']
|
||||||
#: searx/engines/lemmy.py:86 searx/searxng.msg
|
#: searx/engines/lemmy.py:86 searx/searxng.msg
|
||||||
msgid "posts"
|
msgid "posts"
|
||||||
msgstr ""
|
msgstr "mga post"
|
||||||
|
|
||||||
#. SOCIAL_MEDIA_TERMS['ACTIVE USERS']
|
#. SOCIAL_MEDIA_TERMS['ACTIVE USERS']
|
||||||
#: searx/engines/lemmy.py:87 searx/searxng.msg
|
#: searx/engines/lemmy.py:87 searx/searxng.msg
|
||||||
msgid "active users"
|
msgid "active users"
|
||||||
msgstr ""
|
msgstr "mga aktibong gumagamit"
|
||||||
|
|
||||||
#. SOCIAL_MEDIA_TERMS['COMMENTS']
|
#. SOCIAL_MEDIA_TERMS['COMMENTS']
|
||||||
#: searx/engines/discourse.py:157 searx/engines/hackernews.py:78
|
#: searx/engines/discourse.py:157 searx/engines/hackernews.py:78
|
||||||
#: searx/engines/lemmy.py:130 searx/searxng.msg
|
#: searx/engines/lemmy.py:130 searx/searxng.msg
|
||||||
msgid "comments"
|
msgid "comments"
|
||||||
msgstr ""
|
msgstr "mga komento"
|
||||||
|
|
||||||
#. SOCIAL_MEDIA_TERMS['USER']
|
#. SOCIAL_MEDIA_TERMS['USER']
|
||||||
#: searx/engines/lemmy.py:129 searx/engines/lemmy.py:164 searx/searxng.msg
|
#: searx/engines/lemmy.py:129 searx/engines/lemmy.py:164 searx/searxng.msg
|
||||||
msgid "user"
|
msgid "user"
|
||||||
msgstr ""
|
msgstr "tagagamit"
|
||||||
|
|
||||||
#. SOCIAL_MEDIA_TERMS['COMMUNITY']
|
#. SOCIAL_MEDIA_TERMS['COMMUNITY']
|
||||||
#: searx/engines/lemmy.py:131 searx/engines/lemmy.py:165 searx/searxng.msg
|
#: searx/engines/lemmy.py:131 searx/engines/lemmy.py:165 searx/searxng.msg
|
||||||
msgid "community"
|
msgid "community"
|
||||||
msgstr ""
|
msgstr "pamayanan"
|
||||||
|
|
||||||
#. SOCIAL_MEDIA_TERMS['POINTS']
|
#. SOCIAL_MEDIA_TERMS['POINTS']
|
||||||
#: searx/engines/hackernews.py:78 searx/searxng.msg
|
#: searx/engines/hackernews.py:78 searx/searxng.msg
|
||||||
msgid "points"
|
msgid "points"
|
||||||
msgstr ""
|
msgstr "mga punto"
|
||||||
|
|
||||||
#. SOCIAL_MEDIA_TERMS['TITLE']
|
#. SOCIAL_MEDIA_TERMS['TITLE']
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "title"
|
msgid "title"
|
||||||
msgstr ""
|
msgstr "titulo"
|
||||||
|
|
||||||
#. SOCIAL_MEDIA_TERMS['AUTHOR']
|
#. SOCIAL_MEDIA_TERMS['AUTHOR']
|
||||||
#: searx/engines/hackernews.py:81 searx/searxng.msg
|
#: searx/engines/hackernews.py:81 searx/searxng.msg
|
||||||
msgid "author"
|
msgid "author"
|
||||||
msgstr ""
|
msgstr "maykatha"
|
||||||
|
|
||||||
#. SOCIAL_MEDIA_TERMS['THREAD OPEN']
|
#. SOCIAL_MEDIA_TERMS['THREAD OPEN']
|
||||||
#: searx/engines/discourse.py:149 searx/searxng.msg
|
#: searx/engines/discourse.py:149 searx/searxng.msg
|
||||||
msgid "open"
|
msgid "open"
|
||||||
msgstr ""
|
msgstr "bukas"
|
||||||
|
|
||||||
#. SOCIAL_MEDIA_TERMS['THREAD CLOSED']
|
#. SOCIAL_MEDIA_TERMS['THREAD CLOSED']
|
||||||
#: searx/engines/discourse.py:149 searx/searxng.msg
|
#: searx/engines/discourse.py:149 searx/searxng.msg
|
||||||
msgid "closed"
|
msgid "closed"
|
||||||
msgstr ""
|
msgstr "sarado"
|
||||||
|
|
||||||
#. SOCIAL_MEDIA_TERMS['THREAD ANSWERED']
|
#. SOCIAL_MEDIA_TERMS['THREAD ANSWERED']
|
||||||
#: searx/engines/discourse.py:160 searx/searxng.msg
|
#: searx/engines/discourse.py:160 searx/searxng.msg
|
||||||
msgid "answered"
|
msgid "answered"
|
||||||
msgstr ""
|
msgstr "sinagot"
|
||||||
|
|
||||||
#: searx/webapp.py:330
|
#: searx/webapp.py:332
|
||||||
msgid "No item found"
|
msgid "No item found"
|
||||||
msgstr "Walang nakita na aytem"
|
msgstr "Walang nakita na aytem"
|
||||||
|
|
||||||
#: searx/engines/qwant.py:288
|
#: searx/engines/qwant.py:288
|
||||||
#: searx/templates/simple/result_templates/images.html:23 searx/webapp.py:332
|
#: searx/templates/simple/result_templates/images.html:23 searx/webapp.py:334
|
||||||
msgid "Source"
|
msgid "Source"
|
||||||
msgstr "Pinagmulan"
|
msgstr "Pinagmulan"
|
||||||
|
|
||||||
#: searx/webapp.py:334
|
#: searx/webapp.py:336
|
||||||
msgid "Error loading the next page"
|
msgid "Error loading the next page"
|
||||||
msgstr "Error sa paglo-load ng susunod na pahina"
|
msgstr "Error sa paglo-load ng susunod na pahina"
|
||||||
|
|
||||||
#: searx/webapp.py:491 searx/webapp.py:894
|
#: searx/webapp.py:495 searx/webapp.py:898
|
||||||
msgid "Invalid settings, please edit your preferences"
|
msgid "Invalid settings, please edit your preferences"
|
||||||
msgstr "Di-wastong mga setting, pakibago ang iyong mga kagustuhan"
|
msgstr "Di-wastong mga setting, pakibago ang iyong mga kagustuhan"
|
||||||
|
|
||||||
#: searx/webapp.py:507
|
#: searx/webapp.py:511
|
||||||
msgid "Invalid settings"
|
msgid "Invalid settings"
|
||||||
msgstr "Di-wastong mga setting"
|
msgstr "Di-wastong mga setting"
|
||||||
|
|
||||||
#: searx/webapp.py:584 searx/webapp.py:666
|
#: searx/webapp.py:588 searx/webapp.py:670
|
||||||
msgid "search error"
|
msgid "search error"
|
||||||
msgstr "nagkaproblema sa paghahanap ng mga resulta"
|
msgstr "nagkaproblema sa paghahanap ng mga resulta"
|
||||||
|
|
||||||
|
@ -454,7 +454,7 @@ msgstr "Tuusin ang {functions} ng pangangatuwiran"
|
||||||
|
|
||||||
#: searx/engines/mozhi.py:57
|
#: searx/engines/mozhi.py:57
|
||||||
msgid "Synonyms"
|
msgid "Synonyms"
|
||||||
msgstr ""
|
msgstr "síngkahulugán"
|
||||||
|
|
||||||
#: searx/engines/openstreetmap.py:159
|
#: searx/engines/openstreetmap.py:159
|
||||||
msgid "Get directions"
|
msgid "Get directions"
|
||||||
|
@ -528,7 +528,7 @@ msgstr "Kalidad ng file"
|
||||||
|
|
||||||
#: searx/plugins/calculator.py:14
|
#: searx/plugins/calculator.py:14
|
||||||
msgid "Calculate mathematical expressions via the search bar"
|
msgid "Calculate mathematical expressions via the search bar"
|
||||||
msgstr ""
|
msgstr "kalkulahin ang matematika gamit ang rehas ng pagsaliksik"
|
||||||
|
|
||||||
#: searx/plugins/hash_plugin.py:10
|
#: searx/plugins/hash_plugin.py:10
|
||||||
msgid "Converts strings to different hash digests."
|
msgid "Converts strings to different hash digests."
|
||||||
|
@ -540,11 +540,13 @@ msgstr "Hash digest"
|
||||||
|
|
||||||
#: searx/plugins/hostnames.py:103
|
#: searx/plugins/hostnames.py:103
|
||||||
msgid "Hostnames plugin"
|
msgid "Hostnames plugin"
|
||||||
msgstr ""
|
msgstr "Hostnames plugin"
|
||||||
|
|
||||||
#: searx/plugins/hostnames.py:104
|
#: searx/plugins/hostnames.py:104
|
||||||
msgid "Rewrite hostnames, remove results or prioritize them based on the hostname"
|
msgid "Rewrite hostnames, remove results or prioritize them based on the hostname"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Isulat muli ang mga hostname, alisin ang mga resulta o unahin ang mga ito "
|
||||||
|
"batay sa hostname"
|
||||||
|
|
||||||
#: searx/plugins/oa_doi_rewrite.py:12
|
#: searx/plugins/oa_doi_rewrite.py:12
|
||||||
msgid "Open Access DOI rewrite"
|
msgid "Open Access DOI rewrite"
|
||||||
|
@ -572,11 +574,11 @@ msgstr ""
|
||||||
|
|
||||||
#: searx/plugins/self_info.py:28
|
#: searx/plugins/self_info.py:28
|
||||||
msgid "Your IP is: "
|
msgid "Your IP is: "
|
||||||
msgstr ""
|
msgstr "Ang iyong IP ay: "
|
||||||
|
|
||||||
#: searx/plugins/self_info.py:31
|
#: searx/plugins/self_info.py:31
|
||||||
msgid "Your user-agent is: "
|
msgid "Your user-agent is: "
|
||||||
msgstr ""
|
msgstr "Ang iyong user-agent ay: "
|
||||||
|
|
||||||
#: searx/plugins/tor_check.py:24
|
#: searx/plugins/tor_check.py:24
|
||||||
msgid "Tor check plugin"
|
msgid "Tor check plugin"
|
||||||
|
@ -623,7 +625,7 @@ msgstr "Alisin ang tracker sa ibabalik na URL"
|
||||||
|
|
||||||
#: searx/plugins/unit_converter.py:29
|
#: searx/plugins/unit_converter.py:29
|
||||||
msgid "Convert between units"
|
msgid "Convert between units"
|
||||||
msgstr ""
|
msgstr "ipalit sa pamamagitan ng mga yunit"
|
||||||
|
|
||||||
#: searx/templates/simple/404.html:4
|
#: searx/templates/simple/404.html:4
|
||||||
msgid "Page not found"
|
msgid "Page not found"
|
||||||
|
@ -684,26 +686,26 @@ msgstr "Kontakin ang iyong instance maintainer"
|
||||||
msgid "Click on the magnifier to perform search"
|
msgid "Click on the magnifier to perform search"
|
||||||
msgstr "Pindutin ang magnifier para maghanap"
|
msgstr "Pindutin ang magnifier para maghanap"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:35
|
#: searx/templates/simple/macros.html:40
|
||||||
msgid "Length"
|
msgid "Length"
|
||||||
msgstr "Haba"
|
msgstr "Haba"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:36
|
#: searx/templates/simple/macros.html:41
|
||||||
msgid "Views"
|
msgid "Views"
|
||||||
msgstr ""
|
msgstr "mga pananaw"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:37
|
#: searx/templates/simple/macros.html:42
|
||||||
#: searx/templates/simple/result_templates/files.html:34
|
#: searx/templates/simple/result_templates/files.html:34
|
||||||
#: searx/templates/simple/result_templates/images.html:19
|
#: searx/templates/simple/result_templates/images.html:19
|
||||||
#: searx/templates/simple/result_templates/paper.html:6
|
#: searx/templates/simple/result_templates/paper.html:6
|
||||||
msgid "Author"
|
msgid "Author"
|
||||||
msgstr "Awtor"
|
msgstr "Awtor"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:45
|
#: searx/templates/simple/macros.html:50
|
||||||
msgid "cached"
|
msgid "cached"
|
||||||
msgstr "naka-cache"
|
msgstr "naka-cache"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:45
|
#: searx/templates/simple/macros.html:50
|
||||||
msgid "proxied"
|
msgid "proxied"
|
||||||
msgstr "proxied"
|
msgstr "proxied"
|
||||||
|
|
||||||
|
@ -780,27 +782,27 @@ msgstr "Pangkalahatan"
|
||||||
msgid "Default categories"
|
msgid "Default categories"
|
||||||
msgstr "Ang mga default na uri"
|
msgstr "Ang mga default na uri"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:187
|
#: searx/templates/simple/preferences.html:190
|
||||||
msgid "User interface"
|
msgid "User interface"
|
||||||
msgstr "Ang User interface"
|
msgstr "Ang User interface"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:208
|
#: searx/templates/simple/preferences.html:211
|
||||||
msgid "Privacy"
|
msgid "Privacy"
|
||||||
msgstr "Pagiging Pribado"
|
msgstr "Pagiging Pribado"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:221
|
#: searx/templates/simple/preferences.html:224
|
||||||
msgid "Engines"
|
msgid "Engines"
|
||||||
msgstr "Engines"
|
msgstr "Engines"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:223
|
#: searx/templates/simple/preferences.html:226
|
||||||
msgid "Currently used search engines"
|
msgid "Currently used search engines"
|
||||||
msgstr "Ang ginagamit natin na search engines"
|
msgstr "Ang ginagamit natin na search engines"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:231
|
#: searx/templates/simple/preferences.html:234
|
||||||
msgid "Special Queries"
|
msgid "Special Queries"
|
||||||
msgstr "Mga Espesyal na Queries"
|
msgstr "Mga Espesyal na Queries"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:237
|
#: searx/templates/simple/preferences.html:240
|
||||||
msgid "Cookies"
|
msgid "Cookies"
|
||||||
msgstr "Cookies"
|
msgstr "Cookies"
|
||||||
|
|
||||||
|
@ -950,7 +952,7 @@ msgstr "Mga mensahe mula sa mga search engine"
|
||||||
|
|
||||||
#: searx/templates/simple/elements/engines_msg.html:7
|
#: searx/templates/simple/elements/engines_msg.html:7
|
||||||
msgid "seconds"
|
msgid "seconds"
|
||||||
msgstr ""
|
msgstr "mga segundo"
|
||||||
|
|
||||||
#: searx/templates/simple/elements/search_url.html:3
|
#: searx/templates/simple/elements/search_url.html:3
|
||||||
msgid "Search URL"
|
msgid "Search URL"
|
||||||
|
@ -1202,11 +1204,11 @@ msgstr ""
|
||||||
|
|
||||||
#: searx/templates/simple/preferences/engines.html:15
|
#: searx/templates/simple/preferences/engines.html:15
|
||||||
msgid "Enable all"
|
msgid "Enable all"
|
||||||
msgstr ""
|
msgstr "paganahin ang lahat"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences/engines.html:16
|
#: searx/templates/simple/preferences/engines.html:16
|
||||||
msgid "Disable all"
|
msgid "Disable all"
|
||||||
msgstr ""
|
msgstr "huwag paganahin ang lahat"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences/engines.html:25
|
#: searx/templates/simple/preferences/engines.html:25
|
||||||
msgid "!bang"
|
msgid "!bang"
|
||||||
|
@ -1224,6 +1226,14 @@ msgstr "Timbang"
|
||||||
msgid "Max time"
|
msgid "Max time"
|
||||||
msgstr "Ang max na oras"
|
msgstr "Ang max na oras"
|
||||||
|
|
||||||
|
#: searx/templates/simple/preferences/favicon.html:2
|
||||||
|
msgid "Favicon Resolver"
|
||||||
|
msgstr "favicon solver"
|
||||||
|
|
||||||
|
#: searx/templates/simple/preferences/favicon.html:15
|
||||||
|
msgid "Display favicons near search results"
|
||||||
|
msgstr "Ipakita ang mga favicon malapit sa mga resulta ng paghahanap"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences/footer.html:2
|
#: searx/templates/simple/preferences/footer.html:2
|
||||||
msgid ""
|
msgid ""
|
||||||
"These settings are stored in your cookies, this allows us not to store "
|
"These settings are stored in your cookies, this allows us not to store "
|
||||||
|
@ -1442,11 +1452,11 @@ msgstr "Bersyon"
|
||||||
|
|
||||||
#: searx/templates/simple/result_templates/packages.html:18
|
#: searx/templates/simple/result_templates/packages.html:18
|
||||||
msgid "Maintainer"
|
msgid "Maintainer"
|
||||||
msgstr ""
|
msgstr "Tagapangasiwa"
|
||||||
|
|
||||||
#: searx/templates/simple/result_templates/packages.html:24
|
#: searx/templates/simple/result_templates/packages.html:24
|
||||||
msgid "Updated at"
|
msgid "Updated at"
|
||||||
msgstr ""
|
msgstr "Na-update sa"
|
||||||
|
|
||||||
#: searx/templates/simple/result_templates/packages.html:30
|
#: searx/templates/simple/result_templates/packages.html:30
|
||||||
#: searx/templates/simple/result_templates/paper.html:25
|
#: searx/templates/simple/result_templates/paper.html:25
|
||||||
|
@ -1455,7 +1465,7 @@ msgstr "Mga Tag/Tatak"
|
||||||
|
|
||||||
#: searx/templates/simple/result_templates/packages.html:36
|
#: searx/templates/simple/result_templates/packages.html:36
|
||||||
msgid "Popularity"
|
msgid "Popularity"
|
||||||
msgstr ""
|
msgstr "Kasikatan"
|
||||||
|
|
||||||
#: searx/templates/simple/result_templates/packages.html:42
|
#: searx/templates/simple/result_templates/packages.html:42
|
||||||
msgid "License"
|
msgid "License"
|
||||||
|
@ -1463,11 +1473,11 @@ msgstr "Lisensya"
|
||||||
|
|
||||||
#: searx/templates/simple/result_templates/packages.html:52
|
#: searx/templates/simple/result_templates/packages.html:52
|
||||||
msgid "Project"
|
msgid "Project"
|
||||||
msgstr ""
|
msgstr "proyekto"
|
||||||
|
|
||||||
#: searx/templates/simple/result_templates/packages.html:55
|
#: searx/templates/simple/result_templates/packages.html:55
|
||||||
msgid "Project homepage"
|
msgid "Project homepage"
|
||||||
msgstr ""
|
msgstr "homepage ng proyekto"
|
||||||
|
|
||||||
#: searx/templates/simple/result_templates/paper.html:5
|
#: searx/templates/simple/result_templates/paper.html:5
|
||||||
msgid "Published date"
|
msgid "Published date"
|
||||||
|
@ -1981,4 +1991,3 @@ msgstr "itago ang video"
|
||||||
|
|
||||||
#~ msgid "Engines cannot retrieve results"
|
#~ msgid "Engines cannot retrieve results"
|
||||||
#~ msgstr "Hindi makuha ng engines ang mga resulta"
|
#~ msgstr "Hindi makuha ng engines ang mga resulta"
|
||||||
|
|
||||||
|
|
Binary file not shown.
|
@ -25,20 +25,22 @@
|
||||||
# wags07 <wags07@users.noreply.translate.codeberg.org>, 2024.
|
# wags07 <wags07@users.noreply.translate.codeberg.org>, 2024.
|
||||||
# Aeris1One <Aeris1One@users.noreply.translate.codeberg.org>, 2024.
|
# Aeris1One <Aeris1One@users.noreply.translate.codeberg.org>, 2024.
|
||||||
# kratos <kratos@users.noreply.translate.codeberg.org>, 2024.
|
# kratos <kratos@users.noreply.translate.codeberg.org>, 2024.
|
||||||
|
# hemie143 <hemie143@users.noreply.translate.codeberg.org>, 2024.
|
||||||
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: 2024-10-03 11:11+0000\n"
|
"POT-Creation-Date: 2024-10-05 06:24+0000\n"
|
||||||
"PO-Revision-Date: 2024-09-24 19:18+0000\n"
|
"PO-Revision-Date: 2024-10-18 07:22+0000\n"
|
||||||
"Last-Translator: kratos <kratos@users.noreply.translate.codeberg.org>\n"
|
"Last-Translator: hemie143 <hemie143@users.noreply.translate.codeberg.org>\n"
|
||||||
|
"Language-Team: French <https://translate.codeberg.org/projects/searxng/"
|
||||||
|
"searxng/fr/>\n"
|
||||||
"Language: fr\n"
|
"Language: fr\n"
|
||||||
"Language-Team: French "
|
|
||||||
"<https://translate.codeberg.org/projects/searxng/searxng/fr/>\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.7.2\n"
|
||||||
"Generated-By: Babel 2.16.0\n"
|
"Generated-By: Babel 2.16.0\n"
|
||||||
|
|
||||||
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
||||||
|
@ -179,7 +181,7 @@ msgstr "sombre"
|
||||||
#. STYLE_NAMES['BLACK']
|
#. STYLE_NAMES['BLACK']
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "black"
|
msgid "black"
|
||||||
msgstr ""
|
msgstr "noir"
|
||||||
|
|
||||||
#. BRAND_CUSTOM_LINKS['UPTIME']
|
#. BRAND_CUSTOM_LINKS['UPTIME']
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
|
@ -359,28 +361,28 @@ msgstr "Fermé"
|
||||||
msgid "answered"
|
msgid "answered"
|
||||||
msgstr "répondu"
|
msgstr "répondu"
|
||||||
|
|
||||||
#: searx/webapp.py:330
|
#: searx/webapp.py:332
|
||||||
msgid "No item found"
|
msgid "No item found"
|
||||||
msgstr "Pas d'élément trouvé"
|
msgstr "Pas d'élément trouvé"
|
||||||
|
|
||||||
#: searx/engines/qwant.py:288
|
#: searx/engines/qwant.py:288
|
||||||
#: searx/templates/simple/result_templates/images.html:23 searx/webapp.py:332
|
#: searx/templates/simple/result_templates/images.html:23 searx/webapp.py:334
|
||||||
msgid "Source"
|
msgid "Source"
|
||||||
msgstr "Source"
|
msgstr "Source"
|
||||||
|
|
||||||
#: searx/webapp.py:334
|
#: searx/webapp.py:336
|
||||||
msgid "Error loading the next page"
|
msgid "Error loading the next page"
|
||||||
msgstr "Erreur lors du chargement de la page suivante"
|
msgstr "Erreur lors du chargement de la page suivante"
|
||||||
|
|
||||||
#: searx/webapp.py:491 searx/webapp.py:894
|
#: searx/webapp.py:495 searx/webapp.py:898
|
||||||
msgid "Invalid settings, please edit your preferences"
|
msgid "Invalid settings, please edit your preferences"
|
||||||
msgstr "Paramètres non valides, veuillez éditer vos préférences"
|
msgstr "Paramètres non valides, veuillez éditer vos préférences"
|
||||||
|
|
||||||
#: searx/webapp.py:507
|
#: searx/webapp.py:511
|
||||||
msgid "Invalid settings"
|
msgid "Invalid settings"
|
||||||
msgstr "Paramètres non valides"
|
msgstr "Paramètres non valides"
|
||||||
|
|
||||||
#: searx/webapp.py:584 searx/webapp.py:666
|
#: searx/webapp.py:588 searx/webapp.py:670
|
||||||
msgid "search error"
|
msgid "search error"
|
||||||
msgstr "erreur de recherche"
|
msgstr "erreur de recherche"
|
||||||
|
|
||||||
|
@ -466,7 +468,7 @@ msgstr "Calcule les {functions} des arguments"
|
||||||
|
|
||||||
#: searx/engines/mozhi.py:57
|
#: searx/engines/mozhi.py:57
|
||||||
msgid "Synonyms"
|
msgid "Synonyms"
|
||||||
msgstr ""
|
msgstr "Synonymes"
|
||||||
|
|
||||||
#: searx/engines/openstreetmap.py:159
|
#: searx/engines/openstreetmap.py:159
|
||||||
msgid "Get directions"
|
msgid "Get directions"
|
||||||
|
@ -696,26 +698,26 @@ msgstr "Contacter le responsable de l'instance"
|
||||||
msgid "Click on the magnifier to perform search"
|
msgid "Click on the magnifier to perform search"
|
||||||
msgstr "Cliquez sur la loupe pour effectuer une recherche"
|
msgstr "Cliquez sur la loupe pour effectuer une recherche"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:35
|
#: searx/templates/simple/macros.html:40
|
||||||
msgid "Length"
|
msgid "Length"
|
||||||
msgstr "Durée"
|
msgstr "Durée"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:36
|
#: searx/templates/simple/macros.html:41
|
||||||
msgid "Views"
|
msgid "Views"
|
||||||
msgstr "vues"
|
msgstr "vues"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:37
|
#: searx/templates/simple/macros.html:42
|
||||||
#: searx/templates/simple/result_templates/files.html:34
|
#: searx/templates/simple/result_templates/files.html:34
|
||||||
#: searx/templates/simple/result_templates/images.html:19
|
#: searx/templates/simple/result_templates/images.html:19
|
||||||
#: searx/templates/simple/result_templates/paper.html:6
|
#: searx/templates/simple/result_templates/paper.html:6
|
||||||
msgid "Author"
|
msgid "Author"
|
||||||
msgstr "Auteur"
|
msgstr "Auteur"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:45
|
#: searx/templates/simple/macros.html:50
|
||||||
msgid "cached"
|
msgid "cached"
|
||||||
msgstr "en cache"
|
msgstr "en cache"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:45
|
#: searx/templates/simple/macros.html:50
|
||||||
msgid "proxied"
|
msgid "proxied"
|
||||||
msgstr "proxifié"
|
msgstr "proxifié"
|
||||||
|
|
||||||
|
@ -792,27 +794,27 @@ msgstr "Général"
|
||||||
msgid "Default categories"
|
msgid "Default categories"
|
||||||
msgstr "Catégories par défaut"
|
msgstr "Catégories par défaut"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:187
|
#: searx/templates/simple/preferences.html:190
|
||||||
msgid "User interface"
|
msgid "User interface"
|
||||||
msgstr "Interface utilisateur"
|
msgstr "Interface utilisateur"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:208
|
#: searx/templates/simple/preferences.html:211
|
||||||
msgid "Privacy"
|
msgid "Privacy"
|
||||||
msgstr "Vie privée"
|
msgstr "Vie privée"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:221
|
#: searx/templates/simple/preferences.html:224
|
||||||
msgid "Engines"
|
msgid "Engines"
|
||||||
msgstr "Moteurs"
|
msgstr "Moteurs"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:223
|
#: searx/templates/simple/preferences.html:226
|
||||||
msgid "Currently used search engines"
|
msgid "Currently used search engines"
|
||||||
msgstr "Moteurs de recherche actuellement utilisés"
|
msgstr "Moteurs de recherche actuellement utilisés"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:231
|
#: searx/templates/simple/preferences.html:234
|
||||||
msgid "Special Queries"
|
msgid "Special Queries"
|
||||||
msgstr "Requêtes spéciales"
|
msgstr "Requêtes spéciales"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:237
|
#: searx/templates/simple/preferences.html:240
|
||||||
msgid "Cookies"
|
msgid "Cookies"
|
||||||
msgstr "Cookies"
|
msgstr "Cookies"
|
||||||
|
|
||||||
|
@ -1233,6 +1235,14 @@ msgstr "Poids"
|
||||||
msgid "Max time"
|
msgid "Max time"
|
||||||
msgstr "Temps max"
|
msgstr "Temps max"
|
||||||
|
|
||||||
|
#: searx/templates/simple/preferences/favicon.html:2
|
||||||
|
msgid "Favicon Resolver"
|
||||||
|
msgstr "Résolveur de Favicon"
|
||||||
|
|
||||||
|
#: searx/templates/simple/preferences/favicon.html:15
|
||||||
|
msgid "Display favicons near search results"
|
||||||
|
msgstr "Affiche les favicons à côté des résultats de recherche"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences/footer.html:2
|
#: searx/templates/simple/preferences/footer.html:2
|
||||||
msgid ""
|
msgid ""
|
||||||
"These settings are stored in your cookies, this allows us not to store "
|
"These settings are stored in your cookies, this allows us not to store "
|
||||||
|
@ -2005,4 +2015,3 @@ msgstr "cacher la vidéo"
|
||||||
|
|
||||||
#~ msgid "Engines cannot retrieve results"
|
#~ msgid "Engines cannot retrieve results"
|
||||||
#~ msgstr "Les moteurs ne peuvent pas récupérer de résultats"
|
#~ msgstr "Les moteurs ne peuvent pas récupérer de résultats"
|
||||||
|
|
||||||
|
|
Binary file not shown.
|
@ -13,8 +13,8 @@ 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: 2024-10-03 11:11+0000\n"
|
"POT-Creation-Date: 2024-10-05 06:24+0000\n"
|
||||||
"PO-Revision-Date: 2024-10-04 07:09+0000\n"
|
"PO-Revision-Date: 2024-10-08 13:41+0000\n"
|
||||||
"Last-Translator: ghose <ghose@users.noreply.translate.codeberg.org>\n"
|
"Last-Translator: ghose <ghose@users.noreply.translate.codeberg.org>\n"
|
||||||
"Language-Team: Galician <https://translate.codeberg.org/projects/searxng/"
|
"Language-Team: Galician <https://translate.codeberg.org/projects/searxng/"
|
||||||
"searxng/gl/>\n"
|
"searxng/gl/>\n"
|
||||||
|
@ -344,28 +344,28 @@ msgstr "fechado"
|
||||||
msgid "answered"
|
msgid "answered"
|
||||||
msgstr "respondido"
|
msgstr "respondido"
|
||||||
|
|
||||||
#: searx/webapp.py:330
|
#: searx/webapp.py:332
|
||||||
msgid "No item found"
|
msgid "No item found"
|
||||||
msgstr "Non se atoparon elementos"
|
msgstr "Non se atoparon elementos"
|
||||||
|
|
||||||
#: searx/engines/qwant.py:288
|
#: searx/engines/qwant.py:288
|
||||||
#: searx/templates/simple/result_templates/images.html:23 searx/webapp.py:332
|
#: searx/templates/simple/result_templates/images.html:23 searx/webapp.py:334
|
||||||
msgid "Source"
|
msgid "Source"
|
||||||
msgstr "Fonte"
|
msgstr "Fonte"
|
||||||
|
|
||||||
#: searx/webapp.py:334
|
#: searx/webapp.py:336
|
||||||
msgid "Error loading the next page"
|
msgid "Error loading the next page"
|
||||||
msgstr "Erro ao cargar a páxina seguinte"
|
msgstr "Erro ao cargar a páxina seguinte"
|
||||||
|
|
||||||
#: searx/webapp.py:491 searx/webapp.py:894
|
#: searx/webapp.py:495 searx/webapp.py:898
|
||||||
msgid "Invalid settings, please edit your preferences"
|
msgid "Invalid settings, please edit your preferences"
|
||||||
msgstr "Axustes non válidos, por favor edita a configuración"
|
msgstr "Axustes non válidos, por favor edita a configuración"
|
||||||
|
|
||||||
#: searx/webapp.py:507
|
#: searx/webapp.py:511
|
||||||
msgid "Invalid settings"
|
msgid "Invalid settings"
|
||||||
msgstr "Axustes non válidos"
|
msgstr "Axustes non válidos"
|
||||||
|
|
||||||
#: searx/webapp.py:584 searx/webapp.py:666
|
#: searx/webapp.py:588 searx/webapp.py:670
|
||||||
msgid "search error"
|
msgid "search error"
|
||||||
msgstr "fallo na busca"
|
msgstr "fallo na busca"
|
||||||
|
|
||||||
|
@ -680,26 +680,26 @@ msgstr "Contactar coa administración"
|
||||||
msgid "Click on the magnifier to perform search"
|
msgid "Click on the magnifier to perform search"
|
||||||
msgstr "Preme na lupa para realizar a busca"
|
msgstr "Preme na lupa para realizar a busca"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:35
|
#: searx/templates/simple/macros.html:40
|
||||||
msgid "Length"
|
msgid "Length"
|
||||||
msgstr "Lonxitude"
|
msgstr "Lonxitude"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:36
|
#: searx/templates/simple/macros.html:41
|
||||||
msgid "Views"
|
msgid "Views"
|
||||||
msgstr "Visualizacións"
|
msgstr "Visualizacións"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:37
|
#: searx/templates/simple/macros.html:42
|
||||||
#: searx/templates/simple/result_templates/files.html:34
|
#: searx/templates/simple/result_templates/files.html:34
|
||||||
#: searx/templates/simple/result_templates/images.html:19
|
#: searx/templates/simple/result_templates/images.html:19
|
||||||
#: searx/templates/simple/result_templates/paper.html:6
|
#: searx/templates/simple/result_templates/paper.html:6
|
||||||
msgid "Author"
|
msgid "Author"
|
||||||
msgstr "Autoría"
|
msgstr "Autoría"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:45
|
#: searx/templates/simple/macros.html:50
|
||||||
msgid "cached"
|
msgid "cached"
|
||||||
msgstr "en memoria"
|
msgstr "en memoria"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:45
|
#: searx/templates/simple/macros.html:50
|
||||||
msgid "proxied"
|
msgid "proxied"
|
||||||
msgstr "a través de proxy"
|
msgstr "a través de proxy"
|
||||||
|
|
||||||
|
@ -772,27 +772,27 @@ msgstr "Xeral"
|
||||||
msgid "Default categories"
|
msgid "Default categories"
|
||||||
msgstr "Categorías por defecto"
|
msgstr "Categorías por defecto"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:187
|
#: searx/templates/simple/preferences.html:190
|
||||||
msgid "User interface"
|
msgid "User interface"
|
||||||
msgstr "Interface"
|
msgstr "Interface"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:208
|
#: searx/templates/simple/preferences.html:211
|
||||||
msgid "Privacy"
|
msgid "Privacy"
|
||||||
msgstr "Privacidade"
|
msgstr "Privacidade"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:221
|
#: searx/templates/simple/preferences.html:224
|
||||||
msgid "Engines"
|
msgid "Engines"
|
||||||
msgstr "Motores"
|
msgstr "Motores"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:223
|
#: searx/templates/simple/preferences.html:226
|
||||||
msgid "Currently used search engines"
|
msgid "Currently used search engines"
|
||||||
msgstr "Motores de busca utilizados actualmente"
|
msgstr "Motores de busca utilizados actualmente"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:231
|
#: searx/templates/simple/preferences.html:234
|
||||||
msgid "Special Queries"
|
msgid "Special Queries"
|
||||||
msgstr "Consultas especiais"
|
msgstr "Consultas especiais"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:237
|
#: searx/templates/simple/preferences.html:240
|
||||||
msgid "Cookies"
|
msgid "Cookies"
|
||||||
msgstr "Rastros"
|
msgstr "Rastros"
|
||||||
|
|
||||||
|
@ -1214,6 +1214,14 @@ msgstr "Peso"
|
||||||
msgid "Max time"
|
msgid "Max time"
|
||||||
msgstr "Tempo máx"
|
msgstr "Tempo máx"
|
||||||
|
|
||||||
|
#: searx/templates/simple/preferences/favicon.html:2
|
||||||
|
msgid "Favicon Resolver"
|
||||||
|
msgstr "Orixe da icona da web"
|
||||||
|
|
||||||
|
#: searx/templates/simple/preferences/favicon.html:15
|
||||||
|
msgid "Display favicons near search results"
|
||||||
|
msgstr "Mostrar icona da web preto do resultado da busca"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences/footer.html:2
|
#: searx/templates/simple/preferences/footer.html:2
|
||||||
msgid ""
|
msgid ""
|
||||||
"These settings are stored in your cookies, this allows us not to store "
|
"These settings are stored in your cookies, this allows us not to store "
|
||||||
|
|
Binary file not shown.
|
@ -21,7 +21,7 @@ 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: 2024-10-03 11:11+0000\n"
|
"POT-Creation-Date: 2024-10-05 06:24+0000\n"
|
||||||
"PO-Revision-Date: 2024-08-27 16:18+0000\n"
|
"PO-Revision-Date: 2024-08-27 16:18+0000\n"
|
||||||
"Last-Translator: return42 <return42@users.noreply.translate.codeberg.org>"
|
"Last-Translator: return42 <return42@users.noreply.translate.codeberg.org>"
|
||||||
"\n"
|
"\n"
|
||||||
|
@ -353,28 +353,28 @@ msgstr "סגור"
|
||||||
msgid "answered"
|
msgid "answered"
|
||||||
msgstr "נענו"
|
msgstr "נענו"
|
||||||
|
|
||||||
#: searx/webapp.py:330
|
#: searx/webapp.py:332
|
||||||
msgid "No item found"
|
msgid "No item found"
|
||||||
msgstr "לא נמצא פריט"
|
msgstr "לא נמצא פריט"
|
||||||
|
|
||||||
#: searx/engines/qwant.py:288
|
#: searx/engines/qwant.py:288
|
||||||
#: searx/templates/simple/result_templates/images.html:23 searx/webapp.py:332
|
#: searx/templates/simple/result_templates/images.html:23 searx/webapp.py:334
|
||||||
msgid "Source"
|
msgid "Source"
|
||||||
msgstr "מקור"
|
msgstr "מקור"
|
||||||
|
|
||||||
#: searx/webapp.py:334
|
#: searx/webapp.py:336
|
||||||
msgid "Error loading the next page"
|
msgid "Error loading the next page"
|
||||||
msgstr "שגיאה בטעינת העמוד הבא"
|
msgstr "שגיאה בטעינת העמוד הבא"
|
||||||
|
|
||||||
#: searx/webapp.py:491 searx/webapp.py:894
|
#: searx/webapp.py:495 searx/webapp.py:898
|
||||||
msgid "Invalid settings, please edit your preferences"
|
msgid "Invalid settings, please edit your preferences"
|
||||||
msgstr "הגדרות לא תקינות, עליך לתקן את ההעדפות שלך"
|
msgstr "הגדרות לא תקינות, עליך לתקן את ההעדפות שלך"
|
||||||
|
|
||||||
#: searx/webapp.py:507
|
#: searx/webapp.py:511
|
||||||
msgid "Invalid settings"
|
msgid "Invalid settings"
|
||||||
msgstr "הגדרות לא תקינות"
|
msgstr "הגדרות לא תקינות"
|
||||||
|
|
||||||
#: searx/webapp.py:584 searx/webapp.py:666
|
#: searx/webapp.py:588 searx/webapp.py:670
|
||||||
msgid "search error"
|
msgid "search error"
|
||||||
msgstr "שגיאת חיפוש"
|
msgstr "שגיאת חיפוש"
|
||||||
|
|
||||||
|
@ -686,26 +686,26 @@ msgstr "צור קשר עם מפעיל השירת"
|
||||||
msgid "Click on the magnifier to perform search"
|
msgid "Click on the magnifier to perform search"
|
||||||
msgstr "לחץ על זכוכית המגדלת כדי לחפש"
|
msgstr "לחץ על זכוכית המגדלת כדי לחפש"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:35
|
#: searx/templates/simple/macros.html:40
|
||||||
msgid "Length"
|
msgid "Length"
|
||||||
msgstr "אורך"
|
msgstr "אורך"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:36
|
#: searx/templates/simple/macros.html:41
|
||||||
msgid "Views"
|
msgid "Views"
|
||||||
msgstr "צפיות"
|
msgstr "צפיות"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:37
|
#: searx/templates/simple/macros.html:42
|
||||||
#: searx/templates/simple/result_templates/files.html:34
|
#: searx/templates/simple/result_templates/files.html:34
|
||||||
#: searx/templates/simple/result_templates/images.html:19
|
#: searx/templates/simple/result_templates/images.html:19
|
||||||
#: searx/templates/simple/result_templates/paper.html:6
|
#: searx/templates/simple/result_templates/paper.html:6
|
||||||
msgid "Author"
|
msgid "Author"
|
||||||
msgstr "מחבר"
|
msgstr "מחבר"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:45
|
#: searx/templates/simple/macros.html:50
|
||||||
msgid "cached"
|
msgid "cached"
|
||||||
msgstr "מוטמן"
|
msgstr "מוטמן"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:45
|
#: searx/templates/simple/macros.html:50
|
||||||
msgid "proxied"
|
msgid "proxied"
|
||||||
msgstr "פרוקסי"
|
msgstr "פרוקסי"
|
||||||
|
|
||||||
|
@ -778,27 +778,27 @@ msgstr "כללי"
|
||||||
msgid "Default categories"
|
msgid "Default categories"
|
||||||
msgstr "קטגוריות עיקריות"
|
msgstr "קטגוריות עיקריות"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:187
|
#: searx/templates/simple/preferences.html:190
|
||||||
msgid "User interface"
|
msgid "User interface"
|
||||||
msgstr "ממשק משתמש"
|
msgstr "ממשק משתמש"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:208
|
#: searx/templates/simple/preferences.html:211
|
||||||
msgid "Privacy"
|
msgid "Privacy"
|
||||||
msgstr "פרטיות"
|
msgstr "פרטיות"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:221
|
#: searx/templates/simple/preferences.html:224
|
||||||
msgid "Engines"
|
msgid "Engines"
|
||||||
msgstr "מנועים"
|
msgstr "מנועים"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:223
|
#: searx/templates/simple/preferences.html:226
|
||||||
msgid "Currently used search engines"
|
msgid "Currently used search engines"
|
||||||
msgstr "מנועי חיפוש שמופעלים כעת"
|
msgstr "מנועי חיפוש שמופעלים כעת"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:231
|
#: searx/templates/simple/preferences.html:234
|
||||||
msgid "Special Queries"
|
msgid "Special Queries"
|
||||||
msgstr "שאילתות מיוחדות"
|
msgstr "שאילתות מיוחדות"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:237
|
#: searx/templates/simple/preferences.html:240
|
||||||
msgid "Cookies"
|
msgid "Cookies"
|
||||||
msgstr "עוגיות"
|
msgstr "עוגיות"
|
||||||
|
|
||||||
|
@ -1216,6 +1216,14 @@ msgstr "משקל"
|
||||||
msgid "Max time"
|
msgid "Max time"
|
||||||
msgstr "זמן מירבי"
|
msgstr "זמן מירבי"
|
||||||
|
|
||||||
|
#: searx/templates/simple/preferences/favicon.html:2
|
||||||
|
msgid "Favicon Resolver"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: searx/templates/simple/preferences/favicon.html:15
|
||||||
|
msgid "Display favicons near search results"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: searx/templates/simple/preferences/footer.html:2
|
#: searx/templates/simple/preferences/footer.html:2
|
||||||
msgid ""
|
msgid ""
|
||||||
"These settings are stored in your cookies, this allows us not to store "
|
"These settings are stored in your cookies, this allows us not to store "
|
||||||
|
|
Binary file not shown.
|
@ -14,13 +14,15 @@
|
||||||
# return42 <return42@users.noreply.translate.codeberg.org>, 2024.
|
# return42 <return42@users.noreply.translate.codeberg.org>, 2024.
|
||||||
# Uzakmo <Uzakmo@users.noreply.translate.codeberg.org>, 2024.
|
# Uzakmo <Uzakmo@users.noreply.translate.codeberg.org>, 2024.
|
||||||
# ganoci <ganoci@users.noreply.translate.codeberg.org>, 2024.
|
# ganoci <ganoci@users.noreply.translate.codeberg.org>, 2024.
|
||||||
|
# madnomad <madnomad@users.noreply.translate.codeberg.org>, 2024.
|
||||||
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: 2024-10-03 11:11+0000\n"
|
"POT-Creation-Date: 2024-10-05 06:24+0000\n"
|
||||||
"PO-Revision-Date: 2024-06-08 13:18+0000\n"
|
"PO-Revision-Date: 2024-10-04 21:35+0000\n"
|
||||||
"Last-Translator: ganoci <ganoci@users.noreply.translate.codeberg.org>\n"
|
"Last-Translator: madnomad <madnomad@users.noreply.translate.codeberg.org>"
|
||||||
|
"\n"
|
||||||
"Language: hr\n"
|
"Language: hr\n"
|
||||||
"Language-Team: Croatian "
|
"Language-Team: Croatian "
|
||||||
"<https://translate.codeberg.org/projects/searxng/searxng/hr/>\n"
|
"<https://translate.codeberg.org/projects/searxng/searxng/hr/>\n"
|
||||||
|
@ -99,7 +101,7 @@ msgstr "karta"
|
||||||
#. CATEGORY_NAMES['ONIONS']
|
#. CATEGORY_NAMES['ONIONS']
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "onions"
|
msgid "onions"
|
||||||
msgstr "kapule"
|
msgstr "luk"
|
||||||
|
|
||||||
#. CATEGORY_NAMES['SCIENCE']
|
#. CATEGORY_NAMES['SCIENCE']
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
|
@ -169,7 +171,7 @@ msgstr "tamno"
|
||||||
#. STYLE_NAMES['BLACK']
|
#. STYLE_NAMES['BLACK']
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "black"
|
msgid "black"
|
||||||
msgstr ""
|
msgstr "crno"
|
||||||
|
|
||||||
#. BRAND_CUSTOM_LINKS['UPTIME']
|
#. BRAND_CUSTOM_LINKS['UPTIME']
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
|
@ -337,40 +339,40 @@ msgstr "autor"
|
||||||
#. SOCIAL_MEDIA_TERMS['THREAD OPEN']
|
#. SOCIAL_MEDIA_TERMS['THREAD OPEN']
|
||||||
#: searx/engines/discourse.py:149 searx/searxng.msg
|
#: searx/engines/discourse.py:149 searx/searxng.msg
|
||||||
msgid "open"
|
msgid "open"
|
||||||
msgstr ""
|
msgstr "otvoren"
|
||||||
|
|
||||||
#. SOCIAL_MEDIA_TERMS['THREAD CLOSED']
|
#. SOCIAL_MEDIA_TERMS['THREAD CLOSED']
|
||||||
#: searx/engines/discourse.py:149 searx/searxng.msg
|
#: searx/engines/discourse.py:149 searx/searxng.msg
|
||||||
msgid "closed"
|
msgid "closed"
|
||||||
msgstr ""
|
msgstr "zatvoren"
|
||||||
|
|
||||||
#. SOCIAL_MEDIA_TERMS['THREAD ANSWERED']
|
#. SOCIAL_MEDIA_TERMS['THREAD ANSWERED']
|
||||||
#: searx/engines/discourse.py:160 searx/searxng.msg
|
#: searx/engines/discourse.py:160 searx/searxng.msg
|
||||||
msgid "answered"
|
msgid "answered"
|
||||||
msgstr ""
|
msgstr "odgovoren"
|
||||||
|
|
||||||
#: searx/webapp.py:330
|
#: searx/webapp.py:332
|
||||||
msgid "No item found"
|
msgid "No item found"
|
||||||
msgstr "Nije pronađena nijedna stavka"
|
msgstr "Nije pronađena nijedna stavka"
|
||||||
|
|
||||||
#: searx/engines/qwant.py:288
|
#: searx/engines/qwant.py:288
|
||||||
#: searx/templates/simple/result_templates/images.html:23 searx/webapp.py:332
|
#: searx/templates/simple/result_templates/images.html:23 searx/webapp.py:334
|
||||||
msgid "Source"
|
msgid "Source"
|
||||||
msgstr "Izvor"
|
msgstr "Izvor"
|
||||||
|
|
||||||
#: searx/webapp.py:334
|
#: searx/webapp.py:336
|
||||||
msgid "Error loading the next page"
|
msgid "Error loading the next page"
|
||||||
msgstr "Greška u učitavnju sljedeće stranice"
|
msgstr "Greška u učitavnju sljedeće stranice"
|
||||||
|
|
||||||
#: searx/webapp.py:491 searx/webapp.py:894
|
#: searx/webapp.py:495 searx/webapp.py:898
|
||||||
msgid "Invalid settings, please edit your preferences"
|
msgid "Invalid settings, please edit your preferences"
|
||||||
msgstr "Nevažeće postavke, molimo uredite svoje postavke"
|
msgstr "Nevažeće postavke, molimo uredite svoje postavke"
|
||||||
|
|
||||||
#: searx/webapp.py:507
|
#: searx/webapp.py:511
|
||||||
msgid "Invalid settings"
|
msgid "Invalid settings"
|
||||||
msgstr "Nevažeće postavke"
|
msgstr "Nevažeće postavke"
|
||||||
|
|
||||||
#: searx/webapp.py:584 searx/webapp.py:666
|
#: searx/webapp.py:588 searx/webapp.py:670
|
||||||
msgid "search error"
|
msgid "search error"
|
||||||
msgstr "greška u pretraživanju"
|
msgstr "greška u pretraživanju"
|
||||||
|
|
||||||
|
@ -456,7 +458,7 @@ msgstr "Izračunajte {functions} argumenata"
|
||||||
|
|
||||||
#: searx/engines/mozhi.py:57
|
#: searx/engines/mozhi.py:57
|
||||||
msgid "Synonyms"
|
msgid "Synonyms"
|
||||||
msgstr ""
|
msgstr "Sinonimi"
|
||||||
|
|
||||||
#: searx/engines/openstreetmap.py:159
|
#: searx/engines/openstreetmap.py:159
|
||||||
msgid "Get directions"
|
msgid "Get directions"
|
||||||
|
@ -531,7 +533,7 @@ msgstr "Kvaliteta datoteke"
|
||||||
|
|
||||||
#: searx/plugins/calculator.py:14
|
#: searx/plugins/calculator.py:14
|
||||||
msgid "Calculate mathematical expressions via the search bar"
|
msgid "Calculate mathematical expressions via the search bar"
|
||||||
msgstr ""
|
msgstr "Izračunaj matematički izraz putem tražilice"
|
||||||
|
|
||||||
#: searx/plugins/hash_plugin.py:10
|
#: searx/plugins/hash_plugin.py:10
|
||||||
msgid "Converts strings to different hash digests."
|
msgid "Converts strings to different hash digests."
|
||||||
|
@ -543,11 +545,13 @@ msgstr "Izlaz hash funkcije"
|
||||||
|
|
||||||
#: searx/plugins/hostnames.py:103
|
#: searx/plugins/hostnames.py:103
|
||||||
msgid "Hostnames plugin"
|
msgid "Hostnames plugin"
|
||||||
msgstr ""
|
msgstr "Dodatak (plugin) za Hostnames"
|
||||||
|
|
||||||
#: searx/plugins/hostnames.py:104
|
#: searx/plugins/hostnames.py:104
|
||||||
msgid "Rewrite hostnames, remove results or prioritize them based on the hostname"
|
msgid "Rewrite hostnames, remove results or prioritize them based on the hostname"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Prepiši hostanmes, ukloni rezultate ili ih prioritiziraj na temelju "
|
||||||
|
"hostname-a"
|
||||||
|
|
||||||
#: searx/plugins/oa_doi_rewrite.py:12
|
#: searx/plugins/oa_doi_rewrite.py:12
|
||||||
msgid "Open Access DOI rewrite"
|
msgid "Open Access DOI rewrite"
|
||||||
|
@ -573,11 +577,11 @@ msgstr ""
|
||||||
|
|
||||||
#: searx/plugins/self_info.py:28
|
#: searx/plugins/self_info.py:28
|
||||||
msgid "Your IP is: "
|
msgid "Your IP is: "
|
||||||
msgstr ""
|
msgstr "Vaš IP je: "
|
||||||
|
|
||||||
#: searx/plugins/self_info.py:31
|
#: searx/plugins/self_info.py:31
|
||||||
msgid "Your user-agent is: "
|
msgid "Your user-agent is: "
|
||||||
msgstr ""
|
msgstr "Vaš user-agent je: "
|
||||||
|
|
||||||
#: searx/plugins/tor_check.py:24
|
#: searx/plugins/tor_check.py:24
|
||||||
msgid "Tor check plugin"
|
msgid "Tor check plugin"
|
||||||
|
@ -620,7 +624,7 @@ msgstr "Ukloni elemente za označavanje rezultata vraćenih s URL-a"
|
||||||
|
|
||||||
#: searx/plugins/unit_converter.py:29
|
#: searx/plugins/unit_converter.py:29
|
||||||
msgid "Convert between units"
|
msgid "Convert between units"
|
||||||
msgstr ""
|
msgstr "Konvertiraj između jedinica"
|
||||||
|
|
||||||
#: searx/templates/simple/404.html:4
|
#: searx/templates/simple/404.html:4
|
||||||
msgid "Page not found"
|
msgid "Page not found"
|
||||||
|
@ -681,26 +685,26 @@ msgstr "Kontaktirajte održavatelja instance"
|
||||||
msgid "Click on the magnifier to perform search"
|
msgid "Click on the magnifier to perform search"
|
||||||
msgstr "Kliknite na povećalo za izvođenje pretraživanja"
|
msgstr "Kliknite na povećalo za izvođenje pretraživanja"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:35
|
#: searx/templates/simple/macros.html:40
|
||||||
msgid "Length"
|
msgid "Length"
|
||||||
msgstr "Dužina"
|
msgstr "Dužina"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:36
|
#: searx/templates/simple/macros.html:41
|
||||||
msgid "Views"
|
msgid "Views"
|
||||||
msgstr ""
|
msgstr "Pogledi"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:37
|
#: searx/templates/simple/macros.html:42
|
||||||
#: searx/templates/simple/result_templates/files.html:34
|
#: searx/templates/simple/result_templates/files.html:34
|
||||||
#: searx/templates/simple/result_templates/images.html:19
|
#: searx/templates/simple/result_templates/images.html:19
|
||||||
#: searx/templates/simple/result_templates/paper.html:6
|
#: searx/templates/simple/result_templates/paper.html:6
|
||||||
msgid "Author"
|
msgid "Author"
|
||||||
msgstr "Autor"
|
msgstr "Autor"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:45
|
#: searx/templates/simple/macros.html:50
|
||||||
msgid "cached"
|
msgid "cached"
|
||||||
msgstr "spremljeno"
|
msgstr "spremljeno"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:45
|
#: searx/templates/simple/macros.html:50
|
||||||
msgid "proxied"
|
msgid "proxied"
|
||||||
msgstr "preko proxyja"
|
msgstr "preko proxyja"
|
||||||
|
|
||||||
|
@ -773,27 +777,27 @@ msgstr "Općenito"
|
||||||
msgid "Default categories"
|
msgid "Default categories"
|
||||||
msgstr "Zadane kategorije"
|
msgstr "Zadane kategorije"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:187
|
#: searx/templates/simple/preferences.html:190
|
||||||
msgid "User interface"
|
msgid "User interface"
|
||||||
msgstr "Korisničko sučelje"
|
msgstr "Korisničko sučelje"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:208
|
#: searx/templates/simple/preferences.html:211
|
||||||
msgid "Privacy"
|
msgid "Privacy"
|
||||||
msgstr "Privatnost"
|
msgstr "Privatnost"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:221
|
#: searx/templates/simple/preferences.html:224
|
||||||
msgid "Engines"
|
msgid "Engines"
|
||||||
msgstr "Tražilice"
|
msgstr "Tražilice"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:223
|
#: searx/templates/simple/preferences.html:226
|
||||||
msgid "Currently used search engines"
|
msgid "Currently used search engines"
|
||||||
msgstr "Trenutno korištene tražilice"
|
msgstr "Trenutno korištene tražilice"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:231
|
#: searx/templates/simple/preferences.html:234
|
||||||
msgid "Special Queries"
|
msgid "Special Queries"
|
||||||
msgstr "Posebni upiti"
|
msgstr "Posebni upiti"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:237
|
#: searx/templates/simple/preferences.html:240
|
||||||
msgid "Cookies"
|
msgid "Cookies"
|
||||||
msgstr "Kolačići"
|
msgstr "Kolačići"
|
||||||
|
|
||||||
|
@ -943,7 +947,7 @@ msgstr "Poruke s tražilica"
|
||||||
|
|
||||||
#: searx/templates/simple/elements/engines_msg.html:7
|
#: searx/templates/simple/elements/engines_msg.html:7
|
||||||
msgid "seconds"
|
msgid "seconds"
|
||||||
msgstr ""
|
msgstr "sekunde"
|
||||||
|
|
||||||
#: searx/templates/simple/elements/search_url.html:3
|
#: searx/templates/simple/elements/search_url.html:3
|
||||||
msgid "Search URL"
|
msgid "Search URL"
|
||||||
|
@ -1192,11 +1196,11 @@ msgstr ""
|
||||||
|
|
||||||
#: searx/templates/simple/preferences/engines.html:15
|
#: searx/templates/simple/preferences/engines.html:15
|
||||||
msgid "Enable all"
|
msgid "Enable all"
|
||||||
msgstr ""
|
msgstr "Omogući sve"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences/engines.html:16
|
#: searx/templates/simple/preferences/engines.html:16
|
||||||
msgid "Disable all"
|
msgid "Disable all"
|
||||||
msgstr ""
|
msgstr "Onemogući sve"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences/engines.html:25
|
#: searx/templates/simple/preferences/engines.html:25
|
||||||
msgid "!bang"
|
msgid "!bang"
|
||||||
|
@ -1214,6 +1218,14 @@ msgstr "Težina"
|
||||||
msgid "Max time"
|
msgid "Max time"
|
||||||
msgstr "Maksimalno vrijeme"
|
msgstr "Maksimalno vrijeme"
|
||||||
|
|
||||||
|
#: searx/templates/simple/preferences/favicon.html:2
|
||||||
|
msgid "Favicon Resolver"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: searx/templates/simple/preferences/favicon.html:15
|
||||||
|
msgid "Display favicons near search results"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: searx/templates/simple/preferences/footer.html:2
|
#: searx/templates/simple/preferences/footer.html:2
|
||||||
msgid ""
|
msgid ""
|
||||||
"These settings are stored in your cookies, this allows us not to store "
|
"These settings are stored in your cookies, this allows us not to store "
|
||||||
|
|
Binary file not shown.
|
@ -16,20 +16,22 @@
|
||||||
# meskobalazs <meskobalazs@users.noreply.translate.codeberg.org>, 2024.
|
# meskobalazs <meskobalazs@users.noreply.translate.codeberg.org>, 2024.
|
||||||
# Kran21 <Kran21@users.noreply.translate.codeberg.org>, 2024.
|
# Kran21 <Kran21@users.noreply.translate.codeberg.org>, 2024.
|
||||||
# kratos <kratos@users.noreply.translate.codeberg.org>, 2024.
|
# kratos <kratos@users.noreply.translate.codeberg.org>, 2024.
|
||||||
|
# elek <elek@users.noreply.translate.codeberg.org>, 2024.
|
||||||
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: 2024-10-03 11:11+0000\n"
|
"POT-Creation-Date: 2024-10-05 06:24+0000\n"
|
||||||
"PO-Revision-Date: 2024-09-24 19:18+0000\n"
|
"PO-Revision-Date: 2024-10-09 08:06+0000\n"
|
||||||
"Last-Translator: kratos <kratos@users.noreply.translate.codeberg.org>\n"
|
"Last-Translator: elek <elek@users.noreply.translate.codeberg.org>\n"
|
||||||
|
"Language-Team: Hungarian <https://translate.codeberg.org/projects/searxng/"
|
||||||
|
"searxng/hu/>\n"
|
||||||
"Language: hu\n"
|
"Language: hu\n"
|
||||||
"Language-Team: Hungarian "
|
|
||||||
"<https://translate.codeberg.org/projects/searxng/searxng/hu/>\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.7.2\n"
|
||||||
"Generated-By: Babel 2.16.0\n"
|
"Generated-By: Babel 2.16.0\n"
|
||||||
|
|
||||||
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
||||||
|
@ -170,7 +172,7 @@ msgstr "sötét"
|
||||||
#. STYLE_NAMES['BLACK']
|
#. STYLE_NAMES['BLACK']
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
msgid "black"
|
msgid "black"
|
||||||
msgstr ""
|
msgstr "fekete"
|
||||||
|
|
||||||
#. BRAND_CUSTOM_LINKS['UPTIME']
|
#. BRAND_CUSTOM_LINKS['UPTIME']
|
||||||
#: searx/searxng.msg
|
#: searx/searxng.msg
|
||||||
|
@ -350,28 +352,28 @@ msgstr "Lezárt"
|
||||||
msgid "answered"
|
msgid "answered"
|
||||||
msgstr "megválaszolt"
|
msgstr "megválaszolt"
|
||||||
|
|
||||||
#: searx/webapp.py:330
|
#: searx/webapp.py:332
|
||||||
msgid "No item found"
|
msgid "No item found"
|
||||||
msgstr "Nincs találat"
|
msgstr "Nincs találat"
|
||||||
|
|
||||||
#: searx/engines/qwant.py:288
|
#: searx/engines/qwant.py:288
|
||||||
#: searx/templates/simple/result_templates/images.html:23 searx/webapp.py:332
|
#: searx/templates/simple/result_templates/images.html:23 searx/webapp.py:334
|
||||||
msgid "Source"
|
msgid "Source"
|
||||||
msgstr "Forrás"
|
msgstr "Forrás"
|
||||||
|
|
||||||
#: searx/webapp.py:334
|
#: searx/webapp.py:336
|
||||||
msgid "Error loading the next page"
|
msgid "Error loading the next page"
|
||||||
msgstr "Hiba a következő oldal betöltése során"
|
msgstr "Hiba a következő oldal betöltése során"
|
||||||
|
|
||||||
#: searx/webapp.py:491 searx/webapp.py:894
|
#: searx/webapp.py:495 searx/webapp.py:898
|
||||||
msgid "Invalid settings, please edit your preferences"
|
msgid "Invalid settings, please edit your preferences"
|
||||||
msgstr "Érvénytelen beállítások, módosítsa őket"
|
msgstr "Érvénytelen beállítások, módosítsa őket"
|
||||||
|
|
||||||
#: searx/webapp.py:507
|
#: searx/webapp.py:511
|
||||||
msgid "Invalid settings"
|
msgid "Invalid settings"
|
||||||
msgstr "Érvénytelen beállítások"
|
msgstr "Érvénytelen beállítások"
|
||||||
|
|
||||||
#: searx/webapp.py:584 searx/webapp.py:666
|
#: searx/webapp.py:588 searx/webapp.py:670
|
||||||
msgid "search error"
|
msgid "search error"
|
||||||
msgstr "keresési hiba"
|
msgstr "keresési hiba"
|
||||||
|
|
||||||
|
@ -457,7 +459,7 @@ msgstr "{functions} alkalmazása az argumentumokon"
|
||||||
|
|
||||||
#: searx/engines/mozhi.py:57
|
#: searx/engines/mozhi.py:57
|
||||||
msgid "Synonyms"
|
msgid "Synonyms"
|
||||||
msgstr ""
|
msgstr "Szinonimák"
|
||||||
|
|
||||||
#: searx/engines/openstreetmap.py:159
|
#: searx/engines/openstreetmap.py:159
|
||||||
msgid "Get directions"
|
msgid "Get directions"
|
||||||
|
@ -688,26 +690,26 @@ msgstr "Kapcsolatfelvétel a példány karbantartójával"
|
||||||
msgid "Click on the magnifier to perform search"
|
msgid "Click on the magnifier to perform search"
|
||||||
msgstr "A kereséshez kattintson a nagyítóra"
|
msgstr "A kereséshez kattintson a nagyítóra"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:35
|
#: searx/templates/simple/macros.html:40
|
||||||
msgid "Length"
|
msgid "Length"
|
||||||
msgstr "Hossz"
|
msgstr "Hossz"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:36
|
#: searx/templates/simple/macros.html:41
|
||||||
msgid "Views"
|
msgid "Views"
|
||||||
msgstr "Nézetek"
|
msgstr "Nézetek"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:37
|
#: searx/templates/simple/macros.html:42
|
||||||
#: searx/templates/simple/result_templates/files.html:34
|
#: searx/templates/simple/result_templates/files.html:34
|
||||||
#: searx/templates/simple/result_templates/images.html:19
|
#: searx/templates/simple/result_templates/images.html:19
|
||||||
#: searx/templates/simple/result_templates/paper.html:6
|
#: searx/templates/simple/result_templates/paper.html:6
|
||||||
msgid "Author"
|
msgid "Author"
|
||||||
msgstr "Szerző"
|
msgstr "Szerző"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:45
|
#: searx/templates/simple/macros.html:50
|
||||||
msgid "cached"
|
msgid "cached"
|
||||||
msgstr "tárolt"
|
msgstr "tárolt"
|
||||||
|
|
||||||
#: searx/templates/simple/macros.html:45
|
#: searx/templates/simple/macros.html:50
|
||||||
msgid "proxied"
|
msgid "proxied"
|
||||||
msgstr "proxy nézet"
|
msgstr "proxy nézet"
|
||||||
|
|
||||||
|
@ -782,27 +784,27 @@ msgstr "Általános"
|
||||||
msgid "Default categories"
|
msgid "Default categories"
|
||||||
msgstr "Alapértelmezett kategóriák"
|
msgstr "Alapértelmezett kategóriák"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:187
|
#: searx/templates/simple/preferences.html:190
|
||||||
msgid "User interface"
|
msgid "User interface"
|
||||||
msgstr "Felhasználói felület"
|
msgstr "Felhasználói felület"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:208
|
#: searx/templates/simple/preferences.html:211
|
||||||
msgid "Privacy"
|
msgid "Privacy"
|
||||||
msgstr "Adatvédelem"
|
msgstr "Adatvédelem"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:221
|
#: searx/templates/simple/preferences.html:224
|
||||||
msgid "Engines"
|
msgid "Engines"
|
||||||
msgstr "Keresőmotorok"
|
msgstr "Keresőmotorok"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:223
|
#: searx/templates/simple/preferences.html:226
|
||||||
msgid "Currently used search engines"
|
msgid "Currently used search engines"
|
||||||
msgstr "Jelenleg használt keresőmotorok"
|
msgstr "Jelenleg használt keresőmotorok"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:231
|
#: searx/templates/simple/preferences.html:234
|
||||||
msgid "Special Queries"
|
msgid "Special Queries"
|
||||||
msgstr "Speciális lekérdezések"
|
msgstr "Speciális lekérdezések"
|
||||||
|
|
||||||
#: searx/templates/simple/preferences.html:237
|
#: searx/templates/simple/preferences.html:240
|
||||||
msgid "Cookies"
|
msgid "Cookies"
|
||||||
msgstr "Sütik"
|
msgstr "Sütik"
|
||||||
|
|
||||||
|
@ -1223,6 +1225,14 @@ msgstr "Súly"
|
||||||
msgid "Max time"
|
msgid "Max time"
|
||||||
msgstr "Maximális idő"
|
msgstr "Maximális idő"
|
||||||
|
|
||||||
|
#: searx/templates/simple/preferences/favicon.html:2
|
||||||
|
msgid "Favicon Resolver"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: searx/templates/simple/preferences/favicon.html:15
|
||||||
|
msgid "Display favicons near search results"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: searx/templates/simple/preferences/footer.html:2
|
#: searx/templates/simple/preferences/footer.html:2
|
||||||
msgid ""
|
msgid ""
|
||||||
"These settings are stored in your cookies, this allows us not to store "
|
"These settings are stored in your cookies, this allows us not to store "
|
||||||
|
@ -1975,4 +1985,3 @@ msgstr "videó elrejtése"
|
||||||
|
|
||||||
#~ msgid "Engines cannot retrieve results"
|
#~ msgid "Engines cannot retrieve results"
|
||||||
#~ msgstr "Nincs találat a keresőmotortól"
|
#~ msgstr "Nincs találat a keresőmotortól"
|
||||||
|
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue