mirror of
https://github.com/searxng/searxng.git
synced 2026-11-09 15:26:29 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2b60a33d1c | ||
|
|
3e95f6cd2a | ||
|
|
adbf160ff3 | ||
|
|
cccbc9e158 | ||
|
|
d138f443bd | ||
|
|
10db664f14 | ||
|
|
8b35dcd2e3 | ||
|
|
9ded3bec1a | ||
|
|
ffa88e3ba3 | ||
|
|
15ca4f3c1b | ||
|
|
1cd13d98d6 | ||
|
|
c15647b5a5 | ||
|
|
cff884f98b | ||
|
|
a65db462a4 | ||
|
|
6d85146a00 | ||
|
|
c360868e5b | ||
|
|
b5ed73fcb6 | ||
|
|
28423d332d | ||
|
|
ef7bae9ddb | ||
|
|
cb74e7f810 | ||
|
|
54ca1d9cfb | ||
|
|
ef0ec03da0 |
@@ -46,7 +46,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
|
||||
uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0
|
||||
with:
|
||||
python-version: "${{ env.PYTHON_VERSION }}"
|
||||
|
||||
@@ -140,14 +140,14 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Login to Docker Hub
|
||||
uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f # v4.6.0
|
||||
uses: docker/login-action@81c6f93d4bc991e510b342a00b419b3bb4efc5c6 # v4.7.0
|
||||
with:
|
||||
registry: "docker.io"
|
||||
username: "${{ secrets.DOCKER_USER }}"
|
||||
password: "${{ secrets.DOCKER_TOKEN }}"
|
||||
|
||||
- name: Login to GHCR
|
||||
uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f # v4.6.0
|
||||
uses: docker/login-action@81c6f93d4bc991e510b342a00b419b3bb4efc5c6 # v4.7.0
|
||||
with:
|
||||
registry: "ghcr.io"
|
||||
username: "${{ github.repository_owner }}"
|
||||
|
||||
@@ -40,7 +40,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
|
||||
uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0
|
||||
with:
|
||||
python-version: "${{ env.PYTHON_VERSION }}"
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
|
||||
uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0
|
||||
with:
|
||||
python-version: "${{ env.PYTHON_VERSION }}"
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
|
||||
uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0
|
||||
with:
|
||||
python-version: "${{ matrix.python-version }}"
|
||||
|
||||
@@ -62,7 +62,7 @@ jobs:
|
||||
runs-on: ubuntu-26.04-arm
|
||||
steps:
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
|
||||
uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0
|
||||
with:
|
||||
python-version: "${{ env.PYTHON_VERSION }}"
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
|
||||
uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0
|
||||
with:
|
||||
python-version: "${{ env.PYTHON_VERSION }}"
|
||||
|
||||
@@ -83,7 +83,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
|
||||
uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0
|
||||
with:
|
||||
python-version: "${{ env.PYTHON_VERSION }}"
|
||||
|
||||
|
||||
Generated
+224
-227
@@ -15,9 +15,9 @@
|
||||
"swiped-events": "1.2.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@biomejs/biome": "2.5.15",
|
||||
"@biomejs/biome": "2.6.4",
|
||||
"@types/node": "^26.6.5",
|
||||
"browserslist": "^4.29.4",
|
||||
"browserslist": "^4.29.5",
|
||||
"browserslist-to-esbuild": "^2.1.1",
|
||||
"edge.js": "^6.5.1",
|
||||
"less": "^4.9.0",
|
||||
@@ -29,7 +29,7 @@
|
||||
"stylelint-prettier": "^5.0.3",
|
||||
"svgo": "^4.1.0",
|
||||
"typescript": "~7.0.2",
|
||||
"vite": "^8.3.3",
|
||||
"vite": "^8.3.5",
|
||||
"vite-bundle-analyzer": "^1.3.9"
|
||||
}
|
||||
},
|
||||
@@ -69,9 +69,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@biomejs/biome": {
|
||||
"version": "2.5.15",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.5.15.tgz",
|
||||
"integrity": "sha512-WZTW4slm/pdkh92K6t/3aEN++44JD1PQ7squ7RCMLI1flHGl43DVOIGXvCjHiZgBMO1V4uYxoFNtqrIA4qGuIQ==",
|
||||
"version": "2.6.4",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.6.4.tgz",
|
||||
"integrity": "sha512-8sKKwaNW4ot22awZ3lBjwWLHnUFXgXnrBPYS2gNlBAXRbDC++7kqjK2H7dR/FgCDtPvO1xfKpgEhJkGxAKYkxA==",
|
||||
"dev": true,
|
||||
"license": "MIT OR Apache-2.0",
|
||||
"bin": {
|
||||
@@ -85,20 +85,56 @@
|
||||
"url": "https://opencollective.com/biome"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@biomejs/cli-darwin-arm64": "2.5.15",
|
||||
"@biomejs/cli-darwin-x64": "2.5.15",
|
||||
"@biomejs/cli-linux-arm64": "2.5.15",
|
||||
"@biomejs/cli-linux-arm64-musl": "2.5.15",
|
||||
"@biomejs/cli-linux-x64": "2.5.15",
|
||||
"@biomejs/cli-linux-x64-musl": "2.5.15",
|
||||
"@biomejs/cli-win32-arm64": "2.5.15",
|
||||
"@biomejs/cli-win32-x64": "2.5.15"
|
||||
"@biomejs/cli-android-arm64": "2.6.4",
|
||||
"@biomejs/cli-android-x64": "2.6.4",
|
||||
"@biomejs/cli-darwin-arm64": "2.6.4",
|
||||
"@biomejs/cli-darwin-x64": "2.6.4",
|
||||
"@biomejs/cli-linux-arm64": "2.6.4",
|
||||
"@biomejs/cli-linux-arm64-musl": "2.6.4",
|
||||
"@biomejs/cli-linux-x64": "2.6.4",
|
||||
"@biomejs/cli-linux-x64-musl": "2.6.4",
|
||||
"@biomejs/cli-win32-arm64": "2.6.4",
|
||||
"@biomejs/cli-win32-x64": "2.6.4"
|
||||
}
|
||||
},
|
||||
"node_modules/@biomejs/cli-android-arm64": {
|
||||
"version": "2.6.4",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-android-arm64/-/cli-android-arm64-2.6.4.tgz",
|
||||
"integrity": "sha512-jwrwigP4tBcHxzuV8izioX/BOUhJL/4e2rNSOE5nCjBkVC018LQAQUGiH+CNkFYvLtQ1dcZo5/xXERmaAGc7JQ==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT OR Apache-2.0",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"android"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=14.21.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@biomejs/cli-android-x64": {
|
||||
"version": "2.6.4",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-android-x64/-/cli-android-x64-2.6.4.tgz",
|
||||
"integrity": "sha512-HdGInPJ4nZFwHxzvEtcp2nmSBtUyJrurmtIK43upFckuS3+ZqVM05HtsxQWnqGsuy/pxckIAjyKWlEKRlBXUyA==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT OR Apache-2.0",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"android"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=14.21.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@biomejs/cli-darwin-arm64": {
|
||||
"version": "2.5.15",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.5.15.tgz",
|
||||
"integrity": "sha512-BZVzFhJ/mUvTLMYbc9x6el0o2Uv5zP7bACYyhFb6fSc1giroXm7PL0a5KqMJ9F+/BnkYRjagD/ROSDVOZ6eapg==",
|
||||
"version": "2.6.4",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.6.4.tgz",
|
||||
"integrity": "sha512-0VvcUz46wbg59Q4TZ59KkIjDJrxEyu4Eoe79+F4SChxoWe+W7AEyIp6F5r72C9+p6MsB6dIovnZt1D30lGM3XA==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -113,9 +149,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@biomejs/cli-darwin-x64": {
|
||||
"version": "2.5.15",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.5.15.tgz",
|
||||
"integrity": "sha512-V5Kw63V+fVGNFhFrizDxMbGXAzZCh8kYzJpy3GI6gTapWDg7bZK9oYC9CbVgQSEdTnupz0U5Efz8Ev+5vdBBXw==",
|
||||
"version": "2.6.4",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.6.4.tgz",
|
||||
"integrity": "sha512-fxmvkF81srlS3DiMyfm+aG3J0eG+6/BjaxRyjy57KbLSafnq0PO+hHfVWmtH2ty0S7nm6yDXBRwySfFeaRJKRQ==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -130,9 +166,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@biomejs/cli-linux-arm64": {
|
||||
"version": "2.5.15",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.5.15.tgz",
|
||||
"integrity": "sha512-XaG7P7eeSLYETD3K9grfB0mQmpLQZjygdbsxekWBJAg4am79fGAtRpfRyNnTvXB2fZFNnJZG3nXm7HBat0+VUw==",
|
||||
"version": "2.6.4",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.6.4.tgz",
|
||||
"integrity": "sha512-6+bK1Y/evmIUiJr7auertuMbiaYVicJhqA1bZyL47lCMWugv8l0gFQCqvR/gN1vZMHYm+HwoTKgeMxdNFCoQTg==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -150,9 +186,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@biomejs/cli-linux-arm64-musl": {
|
||||
"version": "2.5.15",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.5.15.tgz",
|
||||
"integrity": "sha512-tGzZUTcJCV7tj5Adh/Gn6nR4MycqA3iohq2LEcrarAgRBkU0h0OKd2UzCRkOsOYOuUGaUJb4YmqRqyy2feGGSw==",
|
||||
"version": "2.6.4",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.6.4.tgz",
|
||||
"integrity": "sha512-31ZaH/MHqPX+O+evRwRrCHQ8W5/9adY+/eMytGGWZnRx1T41QsWIF09+/WujynLBhWZUxNGS5CtsWLwgOFTAyg==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -170,9 +206,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@biomejs/cli-linux-x64": {
|
||||
"version": "2.5.15",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.5.15.tgz",
|
||||
"integrity": "sha512-xE4iEW/3LqlYj9GFgGrFsFSH51dEEpUbYWBfeOv0q87WkUDxK2o/HhreSb7qMJqck70RVM6Lg96hgedcAYcOkA==",
|
||||
"version": "2.6.4",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.6.4.tgz",
|
||||
"integrity": "sha512-tbFZMdL6dP/ws4edXxYG9WhvaVa1ZDzL4G5DzahnWW7Psib9H+VTdyU4XXVxpJk5j/nYZroSbvSNyYlpW3yCIw==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -190,9 +226,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@biomejs/cli-linux-x64-musl": {
|
||||
"version": "2.5.15",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.5.15.tgz",
|
||||
"integrity": "sha512-IlxUcyxilVGPsE008x13pWdkTbU3nQpP2i9b5UrbOYj6goBkKsRX1XB7yJLcV+O1H9LBchIIm4adOaVLZBX0ZQ==",
|
||||
"version": "2.6.4",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.6.4.tgz",
|
||||
"integrity": "sha512-bomSa2XdQAGGj6Cwdm4M13qE+lN9+AOlW8KtI4hdyVyRRF/Z71qPAi95T4wtdZK0QpBbkTW8hgbZZCwPi4xzIw==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -210,9 +246,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@biomejs/cli-win32-arm64": {
|
||||
"version": "2.5.15",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.5.15.tgz",
|
||||
"integrity": "sha512-2kPKzhNlm8C+Ru3GcO0Me2ODkCBLrVOUNuyi84RJyWDVKAA4+Kjj3jMjL938lF6BRfvltC4vB2nPY9SvN51Ovg==",
|
||||
"version": "2.6.4",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.6.4.tgz",
|
||||
"integrity": "sha512-eCsqt8Ma3eVap+oyJCDnJZH60SIU464B66n3y38EUTJdM1T/HfZol1FJC9vb+sHToX0ix8XzqPcwJnOzyAJz0g==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -227,9 +263,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@biomejs/cli-win32-x64": {
|
||||
"version": "2.5.15",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.5.15.tgz",
|
||||
"integrity": "sha512-yAzh4UqEImV6Hcy0zjUqNfJAsUhoD64FBQCdTG8Md/Z2wQeVP/ZmJ3XRYAs1g8J9fjTFyl2fCtc5FB5til47+g==",
|
||||
"version": "2.6.4",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.6.4.tgz",
|
||||
"integrity": "sha512-pYsMy5AThiHFOZAsngg8qN4PurM6nInKBhVX7sbj3eNpRQqo1Hb0MgCwPL7VqVMrmcEEMj9Ks3qbkallR65e8g==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -315,9 +351,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@csstools/css-syntax-patches-for-csstree": {
|
||||
"version": "1.1.15",
|
||||
"resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.1.15.tgz",
|
||||
"integrity": "sha512-J0u7HkVl2nzSlhsiTOp4AmwcUQ3D+mGEEKfBy/7To5/y7F2OHwyLrXfrhR0SMgr4p5Lo+eaMVSeai24zUcBIxA==",
|
||||
"version": "1.1.16",
|
||||
"resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.1.16.tgz",
|
||||
"integrity": "sha512-LsDbJPP/B8cPasUJyTA5S99F7C4G93ngW8hUluXz8CFeOaaRnBPtBiIlvgcPYU0HmHNz8CXg+1vwFrIB4F6Dgw==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
@@ -1078,9 +1114,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@oxc-project/types": {
|
||||
"version": "0.153.0",
|
||||
"resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.153.0.tgz",
|
||||
"integrity": "sha512-jSNrRIyvPVLL5E1z/tS5zLAprosGz/FuI1PWwEOz59j3E4TTTzSpqKb/RDGqJhhW0QHYISGXxq582wGx6T11Tw==",
|
||||
"version": "0.156.0",
|
||||
"resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.156.0.tgz",
|
||||
"integrity": "sha512-1Duyg48TdJNdyhEB8Xn1L36bT9Pv6GUtlKjHxOys8xkaF/rQq3XJE+bAurSK/AgIz5mGFsb77cn9Pb20+WCScw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"funding": {
|
||||
@@ -1148,9 +1184,9 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@poppinss/utils": {
|
||||
"version": "7.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@poppinss/utils/-/utils-7.1.1.tgz",
|
||||
"integrity": "sha512-m1pR6EsycFyDHWDyoWnTI2sgEpOAZuKECQRgZ9i+uGzU/DNoEXn70ldt1V3u2EKp2tNf9T9QqX1wBMHm+xcpiw==",
|
||||
"version": "7.1.2",
|
||||
"resolved": "https://registry.npmjs.org/@poppinss/utils/-/utils-7.1.2.tgz",
|
||||
"integrity": "sha512-fliKjqqbgEWa4yqHV2Vj7mgNmsARtJ6QeYy5/l0fDWrJ+gHZ3pmwiOqixuejZDsF+h2gdn8MMA+oAy2GfvqDVQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -1162,9 +1198,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-android-arm-eabi": {
|
||||
"version": "1.2.13",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm-eabi/-/binding-android-arm-eabi-1.2.13.tgz",
|
||||
"integrity": "sha512-Vu/NICrgdRvUOeaJZIyB2FP63s6fO/4ud5l8dXmxDx9yDyn+mN0y+gsvsVviSli+T361Aqo0h46EuMoobrwawA==",
|
||||
"version": "1.2.16",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm-eabi/-/binding-android-arm-eabi-1.2.16.tgz",
|
||||
"integrity": "sha512-ia3DwAs0OsMGS7+IConptSiyk9pEXkOx/AbJ2n/lAGxH3QkWQus1t8d7gnAT38FCU2sQu8lUbeR6AiZFv4JxaA==",
|
||||
"cpu": [
|
||||
"arm"
|
||||
],
|
||||
@@ -1179,9 +1215,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-android-arm64": {
|
||||
"version": "1.2.13",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.2.13.tgz",
|
||||
"integrity": "sha512-6LEoIrGy5vvCd2boNnv2soPSUZj/PRvhp8R/t9KlX+mIZxThIE/ZqxrGXxmuNX0FuvQFvLdZr7S4HrYpYBVhEQ==",
|
||||
"version": "1.2.16",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.2.16.tgz",
|
||||
"integrity": "sha512-kx5wBiMB6E7TEvpl2B9gjLU004BkvEm2Dr941BFjx/SontPwSzNuQUIoVKxHHoSjpFIfHMmcguyLOtyn0hObRg==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -1196,9 +1232,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-darwin-arm64": {
|
||||
"version": "1.2.13",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.2.13.tgz",
|
||||
"integrity": "sha512-CaJSRzlQ6Q+zkDMVA9OkVxBjVoPRCDEE3v0FSJ9kIQBgRjFApA3Si4ijhbNVUji7ZJt+PfO0e46qy4nPInHUPA==",
|
||||
"version": "1.2.16",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.2.16.tgz",
|
||||
"integrity": "sha512-qslZrXnKJU4cUpjoAmtAo/KQM9e2IRMlmpig6Zpwj+8KWxW8v+nkAf9216Bsek9lOC1jvg2yCjygCFo2f83msQ==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -1213,9 +1249,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-darwin-x64": {
|
||||
"version": "1.2.13",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.2.13.tgz",
|
||||
"integrity": "sha512-e4r340I5hxSzJkD3YJBxgzq/rJ3wwxwdLLb2FPt1Zpyem20nrQPT11DDEEkazwxaHumH8wpglsp/Ozgj/wT6mw==",
|
||||
"version": "1.2.16",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.2.16.tgz",
|
||||
"integrity": "sha512-FdF+y48ND13eAyM2mQn+85kvAqNlvRWROy2rhgA463X/0Gv4vGtazZtfaF1mRBLscYvtOlh4QnLjOWiFzX69OQ==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -1230,9 +1266,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-freebsd-x64": {
|
||||
"version": "1.2.13",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.2.13.tgz",
|
||||
"integrity": "sha512-hoBWDZ4/K/mJKVMbsgUd1jfpA2DiOrJ54mpegObU9TBHBBrtX4FLIXJJQRDPZ/2Dn91GvPob+Z2hwKJzf4E5SQ==",
|
||||
"version": "1.2.16",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.2.16.tgz",
|
||||
"integrity": "sha512-ddjqFM5e95AgLbUPtKIS7V1KTVlA0RUgCVr5mn+/IEhsdy3pr+Vuj/HZ7nlMN2FyxIwUktOH1LEPIQXO1v9y1Q==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -1247,9 +1283,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-linux-arm-gnueabihf": {
|
||||
"version": "1.2.13",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.2.13.tgz",
|
||||
"integrity": "sha512-oF9fZu3vTWnTiVAkDFxU9PJLt1nh20K9RRpuHsR7ZnE2L7XookBbDBVLojCVSLGbvtSlxeUNnjAj6DbNsKyzbg==",
|
||||
"version": "1.2.16",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.2.16.tgz",
|
||||
"integrity": "sha512-tHdKWbFkFBI687iim3LIyIvyL7j66VvQYkDPss5Stn/qyE2tWkR1YD0dXmXPFKKqT/o5ZEJVsaRsWS2meQwGOA==",
|
||||
"cpu": [
|
||||
"arm"
|
||||
],
|
||||
@@ -1264,9 +1300,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-linux-arm64-gnu": {
|
||||
"version": "1.2.13",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.2.13.tgz",
|
||||
"integrity": "sha512-DTpb/+jMiqWMPgphn4ksW1zW+XLJ6dJJ9FMvnIk9I291LhCctMPhMYJrP5t9p6C9qa3KXadDdUEZHBaPh3kNxQ==",
|
||||
"version": "1.2.16",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.2.16.tgz",
|
||||
"integrity": "sha512-FJiLGAblPBMlBEdbOqw6kW6QcXDWAf/oJu7gYs9ZJZwmg+K+/zjFLxPTIY9izJUzxzc24FHvmseyA0IvJSl17w==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -1284,9 +1320,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-linux-arm64-musl": {
|
||||
"version": "1.2.13",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.2.13.tgz",
|
||||
"integrity": "sha512-xU+Kvv9N2A3SY35zFh1FWWNjxbadE/BKeqnkXe7vScU4GZsw757BlVmDLITZEq8DPpk6m7uoDYkK7P+x/uU5Ow==",
|
||||
"version": "1.2.16",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.2.16.tgz",
|
||||
"integrity": "sha512-hrJpblMsrQ58U9veWpbXzkhV5zStunds6HWLprqq1qauvgBr1E6P+24kLj6lSLI9vjRn/RYpjprhkHQPKGWpNg==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -1304,9 +1340,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-linux-ppc64-gnu": {
|
||||
"version": "1.2.13",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.2.13.tgz",
|
||||
"integrity": "sha512-XMk/hnhh25oQ756Lclb1Q11h4ll0xC0Esa5w4Vzp+mAE2S3AGJgeM0SonrIgY8fHhjarb6hcoTuwoFG0VVP2ig==",
|
||||
"version": "1.2.16",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.2.16.tgz",
|
||||
"integrity": "sha512-qJd/dC6j6CwLG9/s/RP2nb1RZ0GIgj7Ioj7x/SYa3RzjVrlzrmH0fhIOpfvqQDeIsdP0loi+kHaMhJzY1PBIaA==",
|
||||
"cpu": [
|
||||
"ppc64"
|
||||
],
|
||||
@@ -1324,9 +1360,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-linux-s390x-gnu": {
|
||||
"version": "1.2.13",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.2.13.tgz",
|
||||
"integrity": "sha512-U1BoTHYmlywE2n3HUWjzZ+8EQsKr+OwpxYuDWaubx42tUL8QSL7nOqRz/NVHanibbFP3M1Rxuprz/wNcbMKjqw==",
|
||||
"version": "1.2.16",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.2.16.tgz",
|
||||
"integrity": "sha512-Vx7Xg5uUJuNcujJjI70OICaH0EYj80BtOLZTSN7uOYg8QOLlyKnaG0IW7Fn/J0IpJsaKzmDKMhOQv1JBM9m9vg==",
|
||||
"cpu": [
|
||||
"s390x"
|
||||
],
|
||||
@@ -1344,9 +1380,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-linux-x64-gnu": {
|
||||
"version": "1.2.13",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.2.13.tgz",
|
||||
"integrity": "sha512-J4cm80Pc6wEwV5AZ42o62sIQgDk+Y7R2s646jIwuvO+4V46QB58N4vVuMPWCBaNgursXLpmUWJV//WQAkPvHBQ==",
|
||||
"version": "1.2.16",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.2.16.tgz",
|
||||
"integrity": "sha512-TNKhgE3uJTsTzatUSSYt0Kgo+Oa2uSlSjz4r1aEIea7HX6ULBym4fAlYUhG1i6pjNf2njfCUAfKwr6C3E9Xg1w==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -1364,9 +1400,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-linux-x64-musl": {
|
||||
"version": "1.2.13",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.2.13.tgz",
|
||||
"integrity": "sha512-W0euZS40U4V6JkmEnVCIX9mcsL6cbXQ4X8c2w+MMOIjFg68TXUW+u3RT+2e1t1pv9mg/EP3pDtK3POXdQ7Rxyw==",
|
||||
"version": "1.2.16",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.2.16.tgz",
|
||||
"integrity": "sha512-7chXdpjXZ8qG0+mIxECN3cT9kvhZ3/oZhMX6Pp876P7CDrIy8nJswva6Mq357JR7eYXfuskwZxMeV1SzoZdHrA==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -1384,9 +1420,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-openharmony-arm64": {
|
||||
"version": "1.2.13",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.2.13.tgz",
|
||||
"integrity": "sha512-do/AF/4n9MRshia3a5aXoy8xM2c6mgfT6D7H/dY6my5z+hfCIR4ab7mk4IRj++nsEQpKy39kd0DQnDq+r692tw==",
|
||||
"version": "1.2.16",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.2.16.tgz",
|
||||
"integrity": "sha512-Kwjt+7uNTJK5/MDkGWGVO2KQPnj8yAV75dMpfwyHZrJSXWHrniOB0aUEWlVYf3H1hOqFLIStLdM5QXq6bnKmOQ==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -1401,9 +1437,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-win32-arm64-msvc": {
|
||||
"version": "1.2.13",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.2.13.tgz",
|
||||
"integrity": "sha512-6FtUf2cJZobutJdxnGYX8z0vtbgqU0b2v8vfBhkXb9wp2MppMFtkunE+IaOntyi01rkIQoPW2GHABtfzsC0BRQ==",
|
||||
"version": "1.2.16",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.2.16.tgz",
|
||||
"integrity": "sha512-/LH6WfjDRXXJz/p5xl4TmU+jpcnwcxbKEQBW/GZE0JHfN0lGIyTtsUEGaQ/q/GikkGJ2yLKe6pwm7AnEWO8pdw==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -1418,9 +1454,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-win32-x64-msvc": {
|
||||
"version": "1.2.13",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.2.13.tgz",
|
||||
"integrity": "sha512-UKhFaZTeTcbKrb3iU82m17jVcPEAoqDkCN5MBqgPyZSwp/cQmib21crTS0DdH7T1B7wZRWEI89YQAOJMet5yhg==",
|
||||
"version": "1.2.16",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.2.16.tgz",
|
||||
"integrity": "sha512-1lv1KvX0Z871zfk7vw+dnXMMnHNyDwMzWG8Kv3HxDXMOhzCX4SHc7HK319fInP0i+0p9D8brkfzL7pJOaGl+tw==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -1594,16 +1630,16 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@types/css-tree": {
|
||||
"version": "2.3.11",
|
||||
"resolved": "https://registry.npmjs.org/@types/css-tree/-/css-tree-2.3.11.tgz",
|
||||
"integrity": "sha512-aEokibJOI77uIlqoBOkVbaQGC9zII0A+JH1kcTNKW2CwyYWD8KM6qdo+4c77wD3wZOQfJuNWAr9M4hdk+YhDIg==",
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/css-tree/-/css-tree-3.2.0.tgz",
|
||||
"integrity": "sha512-J5KXmk6BFIepOT7280FdFyNs4c5fh0Uee0otjKEvzchrRs38Ii9qminqc4ds0L19X8Zd/rT+brR9jkBthygjWw==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@types/node": {
|
||||
"version": "26.6.5",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-26.6.5.tgz",
|
||||
"integrity": "sha512-uMzsv9stDdofIZBx4UGh4Z9ZgXnGC9seRDscilBcTHAeOFk67MZg/k9bWVfO+bk4qZmG+l52hRnLwUiH2LnJTg==",
|
||||
"version": "26.6.6",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-26.6.6.tgz",
|
||||
"integrity": "sha512-MzQj+8Kx3XI40OmUAE6Qoh58ZMNstNNMwn2nfd3qWsfe7nDNSqJNzes4njhz6AHwrSHOffSLwXU6yb474Q4aog==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -2004,9 +2040,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/ansi-regex": {
|
||||
"version": "6.4.0",
|
||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.4.0.tgz",
|
||||
"integrity": "sha512-KzTVk2tCWAHtYrvvvaP8bJKJq2pVinhLcGEQdtLIYPbmNGNyYe8QwNaTUYQp2J7/vIsUKt5QCqAfUkYyG9DkOw==",
|
||||
"version": "6.5.0",
|
||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.5.0.tgz",
|
||||
"integrity": "sha512-zhvbbbdt1kbw7EJ9OQoxmQcuaNR9P5kTj7e/YdmOSU10aHWbycofJxA6jKfoEy3vlLdctOF9ZHaxLtmSm998wQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
@@ -2060,9 +2096,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/baseline-browser-mapping": {
|
||||
"version": "2.11.30",
|
||||
"resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.11.30.tgz",
|
||||
"integrity": "sha512-YJs6Pz17RMNv8HoyKREtCY38E3BV1nPkWVmIb+XN1uHC1Vqt3KZCH/uJH9ZKRoiKb/icZ6tvehyee6RZNbFfRA==",
|
||||
"version": "2.11.34",
|
||||
"resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.11.34.tgz",
|
||||
"integrity": "sha512-Aqr8mA1kIvyJ3UY5YAY7ib8LSo1DmDMbMnVqGPtsKW1LxaFQFwn9Eb3yvq2fUKJsRvaXjnAV7R5osqETapzNiA==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"bin": {
|
||||
@@ -2093,9 +2129,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/browserslist": {
|
||||
"version": "4.29.4",
|
||||
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.29.4.tgz",
|
||||
"integrity": "sha512-2TcbbiwXEq+N0kD36tykpCfyyQigUXmuwNQbnPp4Xk4PX9JOqVIKjJlIDjpH7uY6tmRGoAd+apeT1p60T8wsdA==",
|
||||
"version": "4.29.5",
|
||||
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.29.5.tgz",
|
||||
"integrity": "sha512-khTmKu5NGYTotqcYo8Bew2k4RAE9PuXRSFRXG2lQBrCEQHyeQ/vX6gKMxfokwywBsLiXZMnHsmWMG1pnO8J7uQ==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
@@ -2113,10 +2149,10 @@
|
||||
],
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"baseline-browser-mapping": "^2.11.29",
|
||||
"caniuse-lite": "^1.0.30001816",
|
||||
"electron-to-chromium": "^1.5.459",
|
||||
"node-releases": "^2.0.59",
|
||||
"baseline-browser-mapping": "^2.11.33",
|
||||
"caniuse-lite": "^1.0.30001819",
|
||||
"electron-to-chromium": "^1.5.464",
|
||||
"node-releases": "^2.0.60",
|
||||
"update-browserslist-db": "^1.3.4"
|
||||
},
|
||||
"bin": {
|
||||
@@ -2170,9 +2206,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/caniuse-lite": {
|
||||
"version": "1.0.30001817",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001817.tgz",
|
||||
"integrity": "sha512-uZ1JG80BwhtMalIAGPxPfmNhHyd/B/nTdr3hITWlRamSyAdUStP1Gop01e7SD5q6J90ixJvWDbvmiFVfDgn4bw==",
|
||||
"version": "1.0.30001820",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001820.tgz",
|
||||
"integrity": "sha512-gfWD6MxqVCqAOwmODfZf7DchWvlrA+SRdNX7ceLfg3xRqe5ssjjpF7EgslC/0tiLiNTajdaNN/q8c/5u/7Gz8w==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
@@ -2401,14 +2437,21 @@
|
||||
"license": "CC0-1.0"
|
||||
},
|
||||
"node_modules/debug": {
|
||||
"version": "2.6.9",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
|
||||
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
|
||||
"version": "4.4.3",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
|
||||
"integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"ms": "2.0.0"
|
||||
"ms": "^2.1.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"supports-color": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/decimal.js": {
|
||||
@@ -2581,9 +2624,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/electron-to-chromium": {
|
||||
"version": "1.5.460",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.460.tgz",
|
||||
"integrity": "sha512-rRaVC7bNUyGsL+GMtmZfv3AfgG6za7gE9v5bT0PIbjEerddA0IQ+tCK05NFAXqCpNlrxBZqbFqquyxHRQONHTA==",
|
||||
"version": "1.5.472",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.472.tgz",
|
||||
"integrity": "sha512-s4+nfT29b0FKpVKoaIxl2pWsoNcn7A/nMPSrxayw4T3BsmPeV2lF9Y06BsAQeMGhCTQ4nYJ5XST7jkqe4ZEqFw==",
|
||||
"dev": true,
|
||||
"license": "ISC"
|
||||
},
|
||||
@@ -2703,9 +2746,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/fast-uri": {
|
||||
"version": "3.1.8",
|
||||
"resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.8.tgz",
|
||||
"integrity": "sha512-GZMtZUTNRpOVIECoXwLNZS5xUGE+mVNbTB8h/7Rwh2TFWcBQiPzTgyZi05BF9UMZKkLJv8XBRJTlU7zg8+ZfMg==",
|
||||
"version": "3.1.9",
|
||||
"resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.9.tgz",
|
||||
"integrity": "sha512-hS/0Wt3Ya043oKXs0sIxrMpKQITXhMLIrVAKKXi4gozGC9v7YRWVnXIZzjNPTO02M9BdxLCWqK1yRXgNziVyJQ==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
@@ -3017,9 +3060,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/ignore": {
|
||||
"version": "7.0.12",
|
||||
"resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.12.tgz",
|
||||
"integrity": "sha512-/8UvqAPU9DGTI9k4mxtf49U37Isfwr8Uts96+SBHIkFxPJnHS0Ew4f00sM4Scd8V8EjM0jUNtVDdv1kPdt35lg==",
|
||||
"version": "7.0.14",
|
||||
"resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.14.tgz",
|
||||
"integrity": "sha512-wCBiZ77u1tuWde6G/nfOtLaCTYcFDU5yCzARzK10y+rLhzYoL7a7yEemcopcc2Mzow7gZOIjnV2ym1NYmdiJOQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
@@ -3679,12 +3722,11 @@
|
||||
}
|
||||
},
|
||||
"node_modules/ms": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
|
||||
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
|
||||
"version": "2.1.3",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
|
||||
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/nanoid": {
|
||||
"version": "3.3.20",
|
||||
@@ -3724,9 +3766,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/node-releases": {
|
||||
"version": "2.0.59",
|
||||
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.59.tgz",
|
||||
"integrity": "sha512-5qr2okC4ItAI0hG5SaV0HoYMpnM/Y6+Oqr7AmPYy/2uEoGvS+GbSKLeRxSS1uAdu59yz0ouzcuXievSgg///WA==",
|
||||
"version": "2.0.63",
|
||||
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.63.tgz",
|
||||
"integrity": "sha512-6li2QanLsAXpIH2R6j77MzRyvOyrvdTqlKtO4CgBdHGNvN99ZZfyxszHc5o5+IZBWD5u6Hzwg83JoGXmqZNG9Q==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
@@ -3896,9 +3938,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/postcss": {
|
||||
"version": "8.5.29",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.29.tgz",
|
||||
"integrity": "sha512-49cGhUbXj8Qenv0iTMxA1cFBzxXoctpC9Ujd77t1WcbJIr6nF/eI7g/8MgxrYldFRuAXvja7xQRwavoW7kgrxQ==",
|
||||
"version": "8.5.32",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.32.tgz",
|
||||
"integrity": "sha512-LJlKCCAUFKOuZxipUdYw1NzIITEsPcgyOG9LkvRJvuKj/bRzbuRY0ARXvL0pWGpsZvn8jku+LMep2eU0seHp8g==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
@@ -3916,7 +3958,7 @@
|
||||
],
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"nanoid": "^3.3.19",
|
||||
"nanoid": "^3.3.20",
|
||||
"picocolors": "^1.1.1",
|
||||
"source-map-js": "^1.2.2"
|
||||
},
|
||||
@@ -3965,9 +4007,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/postcss-selector-parser": {
|
||||
"version": "7.1.6",
|
||||
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.6.tgz",
|
||||
"integrity": "sha512-7qASPzhKF2l2KLboRZux8CCTRMdGiV08vWmyKzPz22qZ7ZjQBOeY7rNzNoCLSUiftJ7HUq0GERHmxw/t0dCdMw==",
|
||||
"version": "7.1.7",
|
||||
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.7.tgz",
|
||||
"integrity": "sha512-wWBro/7hJ40ye6TPiXkUQoXKCw23xSsjriUvqd7Uls9Sso3oLiON1flc18cCdnjgCRXw4fBVqUJJeOdDTh3P3g==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -3986,9 +4028,9 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/prettier": {
|
||||
"version": "3.9.9",
|
||||
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.9.9.tgz",
|
||||
"integrity": "sha512-Z/CJHIkdujO/OtN7nXUii0Rf3VT5SRuhjBA82Xvu2XhBUgX3nhP67T0LHceBdQLex7OOFGTox+Q5Yg8Jk2Qivg==",
|
||||
"version": "3.9.10",
|
||||
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.9.10.tgz",
|
||||
"integrity": "sha512-skGHTH1Yb9QvaTC4hWnRTzEYtCpApF0UMBPz+t/0ZPzP8ihefo/btKd+QA7pUE0fEwA1SbS/NmhyEcstdXOIdA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
@@ -4016,9 +4058,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/probe-image-size": {
|
||||
"version": "7.4.0",
|
||||
"resolved": "https://registry.npmjs.org/probe-image-size/-/probe-image-size-7.4.0.tgz",
|
||||
"integrity": "sha512-cdEprVtZxV+awMde9X+4jILBFYh4CARxVrQaMl4wY4YcPWbul9jntXrIW95NInBDyJwcVUP3U0T6yukN8rMBaQ==",
|
||||
"version": "7.5.0",
|
||||
"resolved": "https://registry.npmjs.org/probe-image-size/-/probe-image-size-7.5.0.tgz",
|
||||
"integrity": "sha512-ietdx4XPgmnzHRZOq1/KtcnsBkL4bRsBe+Szj5Tuq1/KPqDG42OspG1IhJb7vz6Z9pSzhp0J6UPnw6hujJTWoQ==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
@@ -4034,8 +4076,7 @@
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"lodash.merge": "^4.6.2",
|
||||
"needle": "^2.5.2",
|
||||
"stream-parser": "~0.3.1"
|
||||
"needle": "^2.5.2"
|
||||
}
|
||||
},
|
||||
"node_modules/probe-image-size/node_modules/debug": {
|
||||
@@ -4063,14 +4104,6 @@
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/probe-image-size/node_modules/ms": {
|
||||
"version": "2.1.3",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
|
||||
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true
|
||||
},
|
||||
"node_modules/probe-image-size/node_modules/needle": {
|
||||
"version": "2.9.1",
|
||||
"resolved": "https://registry.npmjs.org/needle/-/needle-2.9.1.tgz",
|
||||
@@ -4230,13 +4263,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/rolldown": {
|
||||
"version": "1.2.13",
|
||||
"resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.2.13.tgz",
|
||||
"integrity": "sha512-/5apOkwWxtACcQtZ5WlrAsKS4JwXVThQPJZ3RqIruRY9UG9M8e0VlXN068xum/JRKA4aIUoJ13ghe/kGCvidiQ==",
|
||||
"version": "1.2.16",
|
||||
"resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.2.16.tgz",
|
||||
"integrity": "sha512-bWvlMpFKiTfDKfnK7FC2MPgPeWCf/Kpwsq49ApdW+FQaBZb6O6dZ4MAPbPUjp7hYQrw/RobqCzn64BRrQecGHw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@oxc-project/types": "=0.153.0",
|
||||
"@oxc-project/types": "=0.156.0",
|
||||
"@rolldown/pluginutils": "^1.0.0"
|
||||
},
|
||||
"bin": {
|
||||
@@ -4246,21 +4279,21 @@
|
||||
"node": "^20.19.0 || >=22.12.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@rolldown/binding-android-arm-eabi": "1.2.13",
|
||||
"@rolldown/binding-android-arm64": "1.2.13",
|
||||
"@rolldown/binding-darwin-arm64": "1.2.13",
|
||||
"@rolldown/binding-darwin-x64": "1.2.13",
|
||||
"@rolldown/binding-freebsd-x64": "1.2.13",
|
||||
"@rolldown/binding-linux-arm-gnueabihf": "1.2.13",
|
||||
"@rolldown/binding-linux-arm64-gnu": "1.2.13",
|
||||
"@rolldown/binding-linux-arm64-musl": "1.2.13",
|
||||
"@rolldown/binding-linux-ppc64-gnu": "1.2.13",
|
||||
"@rolldown/binding-linux-s390x-gnu": "1.2.13",
|
||||
"@rolldown/binding-linux-x64-gnu": "1.2.13",
|
||||
"@rolldown/binding-linux-x64-musl": "1.2.13",
|
||||
"@rolldown/binding-openharmony-arm64": "1.2.13",
|
||||
"@rolldown/binding-win32-arm64-msvc": "1.2.13",
|
||||
"@rolldown/binding-win32-x64-msvc": "1.2.13"
|
||||
"@rolldown/binding-android-arm-eabi": "1.2.16",
|
||||
"@rolldown/binding-android-arm64": "1.2.16",
|
||||
"@rolldown/binding-darwin-arm64": "1.2.16",
|
||||
"@rolldown/binding-darwin-x64": "1.2.16",
|
||||
"@rolldown/binding-freebsd-x64": "1.2.16",
|
||||
"@rolldown/binding-linux-arm-gnueabihf": "1.2.16",
|
||||
"@rolldown/binding-linux-arm64-gnu": "1.2.16",
|
||||
"@rolldown/binding-linux-arm64-musl": "1.2.16",
|
||||
"@rolldown/binding-linux-ppc64-gnu": "1.2.16",
|
||||
"@rolldown/binding-linux-s390x-gnu": "1.2.16",
|
||||
"@rolldown/binding-linux-x64-gnu": "1.2.16",
|
||||
"@rolldown/binding-linux-x64-musl": "1.2.16",
|
||||
"@rolldown/binding-openharmony-arm64": "1.2.16",
|
||||
"@rolldown/binding-win32-arm64-msvc": "1.2.16",
|
||||
"@rolldown/binding-win32-x64-msvc": "1.2.16"
|
||||
}
|
||||
},
|
||||
"node_modules/run-parallel": {
|
||||
@@ -4479,17 +4512,6 @@
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/stream-parser": {
|
||||
"version": "0.3.1",
|
||||
"resolved": "https://registry.npmjs.org/stream-parser/-/stream-parser-0.3.1.tgz",
|
||||
"integrity": "sha512-bJ/HgKq41nlKvlhccD5kaCr/P+Hu0wPNKPJOH7en+YrJu/9EgqUF+88w5Jb6KNcjOFMhfX4B2asfeAtIGuHObQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"debug": "2"
|
||||
}
|
||||
},
|
||||
"node_modules/string-width": {
|
||||
"version": "8.3.0",
|
||||
"resolved": "https://registry.npmjs.org/string-width/-/string-width-8.3.0.tgz",
|
||||
@@ -4689,13 +4711,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/stylelint-less": {
|
||||
"version": "4.2.1",
|
||||
"resolved": "https://registry.npmjs.org/stylelint-less/-/stylelint-less-4.2.1.tgz",
|
||||
"integrity": "sha512-FREYAwwm5cTAeCGmAJlq1228tEi62puMxM4IughUMVifIIUac7Mu03u410/S5QYCwA7L2l9HjiRyh4TQKkFhcA==",
|
||||
"version": "4.2.2",
|
||||
"resolved": "https://registry.npmjs.org/stylelint-less/-/stylelint-less-4.2.2.tgz",
|
||||
"integrity": "sha512-UmuA5cLcMAi3BZ0kd8VrbOUov6QFyHe8Y9i+sA7uiqvOEioD5KVfQT1AafJ2TjA0r2wocScbtTBbDDYUAxaQxg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@types/css-tree": "^2.3.11",
|
||||
"@types/css-tree": "^3.2.0",
|
||||
"css-tree": "^3.2.1",
|
||||
"postcss-value-parser": "4.2.0"
|
||||
},
|
||||
@@ -4721,24 +4743,6 @@
|
||||
"stylelint": ">=16.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/stylelint/node_modules/debug": {
|
||||
"version": "4.4.3",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
|
||||
"integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ms": "^2.1.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"supports-color": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/stylelint/node_modules/meow": {
|
||||
"version": "14.1.0",
|
||||
"resolved": "https://registry.npmjs.org/meow/-/meow-14.1.0.tgz",
|
||||
@@ -4752,13 +4756,6 @@
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/stylelint/node_modules/ms": {
|
||||
"version": "2.1.3",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
|
||||
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/supports-color": {
|
||||
"version": "10.2.2",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-10.2.2.tgz",
|
||||
@@ -4951,9 +4948,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/tslib": {
|
||||
"version": "2.8.1",
|
||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
|
||||
"integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
|
||||
"version": "2.9.1",
|
||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.9.1.tgz",
|
||||
"integrity": "sha512-a4Ux9VKuIMHsOS7ENbEq6hK2ZGYIT27Rtl0E4eD9KqwxhKiQeMZE/9xb3IdYwWaSOyIBQLExhQgXDTYoiCxnWA==",
|
||||
"dev": true,
|
||||
"license": "0BSD",
|
||||
"optional": true
|
||||
@@ -5071,16 +5068,16 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/vite": {
|
||||
"version": "8.3.4",
|
||||
"resolved": "https://registry.npmjs.org/vite/-/vite-8.3.4.tgz",
|
||||
"integrity": "sha512-IftLE8phJhdNRIGNEV4JCCvfNScoZQVfcXaN8TQropWGJtOHcu+iAB9pHcuGvmEb/kddw0LBe/jS8ztdC6xdiQ==",
|
||||
"version": "8.3.5",
|
||||
"resolved": "https://registry.npmjs.org/vite/-/vite-8.3.5.tgz",
|
||||
"integrity": "sha512-z1YpjieJ9g0ebTmQpLBv/oq9E3F9EIlOe+7LahW8SrE3LTiG3udBRUXQOlYXP9b+IC2q2phHeVxj9xGlw34OEQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"lightningcss": "^1.33.0",
|
||||
"picomatch": "^4.0.7",
|
||||
"postcss": "^8.5.29",
|
||||
"rolldown": "~1.2.12",
|
||||
"postcss": "^8.5.30",
|
||||
"rolldown": "~1.2.14",
|
||||
"tinyglobby": "^0.2.17"
|
||||
},
|
||||
"bin": {
|
||||
@@ -5097,7 +5094,7 @@
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@types/node": "^20.19.0 || >=22.12.0",
|
||||
"@vitejs/devtools": "^0.7.1",
|
||||
"@vitejs/devtools": "^0.7.1 || ^0.8.0",
|
||||
"esbuild": "^0.27.0 || ^0.28.0",
|
||||
"jiti": ">=1.21.0",
|
||||
"less": "^4.0.0",
|
||||
|
||||
@@ -29,9 +29,9 @@
|
||||
"swiped-events": "1.2.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@biomejs/biome": "2.5.15",
|
||||
"@biomejs/biome": "2.6.4",
|
||||
"@types/node": "^26.6.5",
|
||||
"browserslist": "^4.29.4",
|
||||
"browserslist": "^4.29.5",
|
||||
"browserslist-to-esbuild": "^2.1.1",
|
||||
"edge.js": "^6.5.1",
|
||||
"less": "^4.9.0",
|
||||
@@ -43,7 +43,7 @@
|
||||
"stylelint-prettier": "^5.0.3",
|
||||
"svgo": "^4.1.0",
|
||||
"typescript": "~7.0.2",
|
||||
"vite": "^8.3.3",
|
||||
"vite": "^8.3.5",
|
||||
"vite-bundle-analyzer": "^1.3.9"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -58,7 +58,7 @@ listen("click", "#copy-hash", async function (this: HTMLElement) {
|
||||
assertElement(target);
|
||||
|
||||
if (window.isSecureContext) {
|
||||
await navigator.clipboard.writeText(target.innerText);
|
||||
await navigator.clipboard.writeText(target.textContent);
|
||||
} else {
|
||||
const selection = window.getSelection();
|
||||
if (selection) {
|
||||
@@ -71,6 +71,6 @@ listen("click", "#copy-hash", async function (this: HTMLElement) {
|
||||
}
|
||||
|
||||
if (this.dataset.copiedText) {
|
||||
this.innerText = this.dataset.copiedText;
|
||||
this.textContent = this.dataset.copiedText;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -135,7 +135,7 @@ listen("click", "#copy_url", async function (this: HTMLElement) {
|
||||
assertElement(target);
|
||||
|
||||
if (window.isSecureContext) {
|
||||
await navigator.clipboard.writeText(target.innerText);
|
||||
await navigator.clipboard.writeText(target.textContent);
|
||||
} else {
|
||||
const selection = window.getSelection();
|
||||
if (selection) {
|
||||
@@ -148,7 +148,7 @@ listen("click", "#copy_url", async function (this: HTMLElement) {
|
||||
}
|
||||
|
||||
if (this.dataset.copiedText) {
|
||||
this.innerText = this.dataset.copiedText;
|
||||
this.textContent = this.dataset.copiedText;
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
Executable
+8
@@ -0,0 +1,8 @@
|
||||
.. _readerfunded engine:
|
||||
|
||||
============
|
||||
ReaderFunded
|
||||
============
|
||||
|
||||
.. automodule:: searx.engines.readerfunded
|
||||
:members:
|
||||
@@ -23,6 +23,6 @@ coloredlogs==15.0.1
|
||||
docutils>=0.21.2;python_version <= "3.11"
|
||||
docutils>=0.22.4; python_version > "3.11"
|
||||
parameterized==0.9.0
|
||||
granian[reload]==2.8.4
|
||||
granian[reload]==2.8.5
|
||||
basedpyright==1.40.2
|
||||
types-lxml==2026.2.16
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
granian==2.8.4
|
||||
granian[pname]==2.8.4
|
||||
granian==2.8.5
|
||||
granian[pname]==2.8.5
|
||||
|
||||
+3
-3
@@ -1,13 +1,13 @@
|
||||
certifi==2026.10.19
|
||||
certifi==2026.10.23
|
||||
babel==2.18.0
|
||||
flask-babel==4.0.0
|
||||
flask==3.1.3
|
||||
jinja2==3.1.6
|
||||
lxml==6.1.3
|
||||
pygments==2.21.0
|
||||
python-dateutil==2.9.0.post0
|
||||
python-dateutil==3.0.0
|
||||
pyyaml==6.0.3
|
||||
curl_cffi==0.16.3
|
||||
curl_cffi==0.17.0
|
||||
valkey==6.1.1
|
||||
markdown-it-py==4.2.0
|
||||
msgspec==0.22.0
|
||||
|
||||
@@ -28,19 +28,19 @@ if t.TYPE_CHECKING:
|
||||
from searx.extended_types import SXNG_Response
|
||||
|
||||
|
||||
def update_kwargs(**kwargs) -> None: # type: ignore
|
||||
def update_kwargs(kwargs) -> None: # type: ignore
|
||||
if 'timeout' not in kwargs:
|
||||
kwargs['timeout'] = settings['outgoing']['request_timeout']
|
||||
kwargs['raise_for_httperror'] = True
|
||||
|
||||
|
||||
def get(*args, **kwargs) -> "SXNG_Response": # type: ignore
|
||||
update_kwargs(**kwargs) # pyright: ignore[reportUnknownArgumentType]
|
||||
update_kwargs(kwargs)
|
||||
return http_get(*args, **kwargs) # pyright: ignore[reportUnknownArgumentType]
|
||||
|
||||
|
||||
def post(*args, **kwargs) -> "SXNG_Response": # type: ignore
|
||||
update_kwargs(**kwargs) # pyright: ignore[reportUnknownArgumentType]
|
||||
update_kwargs(kwargs)
|
||||
return http_post(*args, **kwargs) # pyright: ignore[reportUnknownArgumentType]
|
||||
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
+68
-18
@@ -195,7 +195,7 @@
|
||||
"eo": "armena dramo",
|
||||
"es": "dram armenio",
|
||||
"et": "Armeenia dramm",
|
||||
"eu": "dram",
|
||||
"eu": "armeniar dram",
|
||||
"fi": "Armenian dram",
|
||||
"fr": "dram arménien",
|
||||
"ga": "dram na hAirméine",
|
||||
@@ -322,7 +322,7 @@
|
||||
"fi": "Argentiinan peso",
|
||||
"fr": "peso argentin",
|
||||
"ga": "peso inmhalartaithe na hAirgintíne",
|
||||
"gl": "Peso arxentino",
|
||||
"gl": "peso arxentino",
|
||||
"he": "פסו ארגנטינאי",
|
||||
"hr": "Argentinski pezo",
|
||||
"hu": "argentin peso",
|
||||
@@ -1089,7 +1089,7 @@
|
||||
"ia": "Dollar canadian",
|
||||
"id": "Dolar Kanada",
|
||||
"it": "dollaro canadese",
|
||||
"ja": "カナダドル",
|
||||
"ja": "カナダ・ドル",
|
||||
"ko": "캐나다 달러",
|
||||
"lt": "Kanados doleris",
|
||||
"lv": "Kanādas dolārs",
|
||||
@@ -1112,7 +1112,7 @@
|
||||
"tr": "Kanada doları",
|
||||
"tt": "Канада дуллыры",
|
||||
"uk": "канадський долар",
|
||||
"vi": "Đô la Canada"
|
||||
"vi": "đô la Canada"
|
||||
},
|
||||
"CDF": {
|
||||
"af": "Kongolese frank",
|
||||
@@ -1235,7 +1235,7 @@
|
||||
"fi": "Chilen peso",
|
||||
"fr": "peso chilien",
|
||||
"ga": "peso na Sile",
|
||||
"gl": "Peso chileno",
|
||||
"gl": "peso chileno",
|
||||
"he": "פסו צ'יליאני",
|
||||
"hr": "Čileanski pezo",
|
||||
"hu": "chilei peso",
|
||||
@@ -1817,7 +1817,7 @@
|
||||
"cy": "Ewro",
|
||||
"da": "Euro",
|
||||
"de": "Euro",
|
||||
"en": "Euro",
|
||||
"en": "euro",
|
||||
"eo": "eŭro",
|
||||
"es": "Euro",
|
||||
"et": "euro",
|
||||
@@ -1930,6 +1930,7 @@
|
||||
"sk": "falklandská libra",
|
||||
"sl": "falklandski funt",
|
||||
"sv": "Falklandspund",
|
||||
"th": "ปอนด์หมู่เกาะฟอล์กแลนด์",
|
||||
"tr": "Falkland Adaları poundu",
|
||||
"tt": "Фолкленд утраулары фунты",
|
||||
"uk": "Фолклендський фунт"
|
||||
@@ -2926,6 +2927,7 @@
|
||||
"pa": "ਕੰਬੋਡੀਆਈ ਰਿਆਲ",
|
||||
"pl": "Riel",
|
||||
"pt": "riel cambojano",
|
||||
"ro": "riel cambodgian",
|
||||
"ru": "камбоджийский риель",
|
||||
"sk": "kambodžský riel",
|
||||
"sl": "kamboški riel",
|
||||
@@ -2996,6 +2998,7 @@
|
||||
"ja": "朝鮮民主主義人民共和国ウォン",
|
||||
"ko": "조선민주주의인민공화국 원",
|
||||
"lt": "Šiaurės Korėjos vona",
|
||||
"lv": "Ziemeļkorejas vona",
|
||||
"ml": "വോൺ",
|
||||
"ms": "Won Korea Utara",
|
||||
"nl": "Noord-Koreaanse won",
|
||||
@@ -3860,7 +3863,7 @@
|
||||
"fi": "Meksikon peso",
|
||||
"fr": "peso mexicain",
|
||||
"ga": "peso Mheicsiceo",
|
||||
"gl": "Peso mexicano",
|
||||
"gl": "peso mexicano",
|
||||
"he": "פסו מקסיקני",
|
||||
"hr": "Meksički pezo",
|
||||
"hu": "mexikói peso",
|
||||
@@ -4396,6 +4399,7 @@
|
||||
"fi": "Filippiinien peso",
|
||||
"fr": "peso philippin",
|
||||
"ga": "peso na nOileán Filipíneach",
|
||||
"gl": "peso filipino",
|
||||
"he": "פסו פיליפיני",
|
||||
"hr": "Filipinski pezo",
|
||||
"hu": "Fülöp-szigeteki peso",
|
||||
@@ -4726,7 +4730,7 @@
|
||||
"RUB": {
|
||||
"af": "Russiese roebel",
|
||||
"ar": "روبل روسي",
|
||||
"bg": "Руска рубла",
|
||||
"bg": "руска рубла",
|
||||
"bn": "রুশ রুবল",
|
||||
"ca": "ruble rus",
|
||||
"cs": "ruský rubl",
|
||||
@@ -5798,8 +5802,8 @@
|
||||
"uk": "угандійський шилінг"
|
||||
},
|
||||
"USD": {
|
||||
"af": "Amerikaanse dollar",
|
||||
"ar": "دولار أمريكي",
|
||||
"af": "dollar van die Verenigde State",
|
||||
"ar": "دولار للولايات المتحدة",
|
||||
"bg": "щатски долар",
|
||||
"bn": "মার্কিন ডলার",
|
||||
"ca": "dòlar estatunidenc",
|
||||
@@ -5813,7 +5817,7 @@
|
||||
"et": "USA dollar",
|
||||
"eu": "Estatubatuar dolar",
|
||||
"fi": "Yhdysvaltain dollari",
|
||||
"fr": "dollar américain",
|
||||
"fr": "dollar des États-Unis",
|
||||
"ga": "dollar na Stát Aontaithe",
|
||||
"gl": "dólar estadounidense",
|
||||
"he": "דולר אמריקאי",
|
||||
@@ -5821,7 +5825,7 @@
|
||||
"hu": "amerikai dollár",
|
||||
"ia": "dollar statounitese",
|
||||
"id": "Dolar Amerika Serikat",
|
||||
"it": "dollaro statunitense",
|
||||
"it": "dollaro degli Stati Uniti",
|
||||
"ja": "アメリカ合衆国ドル",
|
||||
"ko": "미국 달러",
|
||||
"lt": "Jungtinių Valstijų doleris",
|
||||
@@ -5840,7 +5844,7 @@
|
||||
"sk": "americký dolár",
|
||||
"sl": "ameriški dolar",
|
||||
"sr": "амерички долар",
|
||||
"sv": "amerikansk dollar",
|
||||
"sv": "amerikanska dollar",
|
||||
"szl": "Dolar amerikański",
|
||||
"ta": "அமெரிக்க டாலர்",
|
||||
"te": "యునైటెడ్ స్టేట్స్ డాలర్",
|
||||
@@ -6014,7 +6018,7 @@
|
||||
"es": "vatu",
|
||||
"fi": "Vanuatun vatu",
|
||||
"fr": "Vatu",
|
||||
"ga": "Vatu Vanuatú",
|
||||
"ga": "vatu Vanuatú",
|
||||
"gl": "Vatu",
|
||||
"he": "ואטו",
|
||||
"hr": "Vanuatski vatu",
|
||||
@@ -6231,7 +6235,8 @@
|
||||
"ru": "Карибский гульден",
|
||||
"sk": "Karibský gulden",
|
||||
"sl": "karibski goldinar",
|
||||
"sv": "Karibisk gulden"
|
||||
"sv": "Karibisk gulden",
|
||||
"th": "กิลเดอร์แคริบเบียน"
|
||||
},
|
||||
"XDR": {
|
||||
"ar": "حقوق السحب الخاصة",
|
||||
@@ -6395,7 +6400,7 @@
|
||||
"cs": "jemenský rijál",
|
||||
"cy": "Rial Iemen",
|
||||
"de": "Jemen-Rial",
|
||||
"en": "Yemeni Rial",
|
||||
"en": "Yemeni rial",
|
||||
"eo": "jemena rialo",
|
||||
"es": "rial yemení",
|
||||
"eu": "Rial yemendar",
|
||||
@@ -6596,6 +6601,38 @@
|
||||
"$u": "UYU",
|
||||
"$usd": "USD",
|
||||
"1000 lira": "LBP",
|
||||
"10000.00": [
|
||||
"ZWL",
|
||||
"XCD",
|
||||
"WST",
|
||||
"USD",
|
||||
"TWD",
|
||||
"TTD",
|
||||
"SRD",
|
||||
"SGD",
|
||||
"SBD",
|
||||
"NZD",
|
||||
"NAD",
|
||||
"MXN",
|
||||
"MOP",
|
||||
"LRD",
|
||||
"KYD",
|
||||
"JMD",
|
||||
"HKD",
|
||||
"FJD",
|
||||
"CUP",
|
||||
"COP",
|
||||
"CLP",
|
||||
"CAD",
|
||||
"BZD",
|
||||
"BSD",
|
||||
"BRL",
|
||||
"BND",
|
||||
"BMD",
|
||||
"BBD",
|
||||
"AUD",
|
||||
"ARS"
|
||||
],
|
||||
"100ドル紙幣": "NIO",
|
||||
"1億ベネズエラ・ボリバル": "VES",
|
||||
"2019 zimbabwean dollar": "ZWL",
|
||||
@@ -6888,6 +6925,7 @@
|
||||
"armeense dram": "AMD",
|
||||
"armena dramo": "AMD",
|
||||
"armenian dram": "AMD",
|
||||
"armeniar dram": "AMD",
|
||||
"armenijski dram": "AMD",
|
||||
"armenischer dram": "AMD",
|
||||
"armensk dram": "AMD",
|
||||
@@ -8045,6 +8083,7 @@
|
||||
"dolar de bermudas": "BMD",
|
||||
"dolar de brunei": "BND",
|
||||
"dolar de brunéi": "BND",
|
||||
"dolar de canadà": "CAD",
|
||||
"dolar de fiji": "FJD",
|
||||
"dolar de guyana": "GYD",
|
||||
"dolar de hong kong": "HKD",
|
||||
@@ -8191,7 +8230,6 @@
|
||||
"KYD",
|
||||
"HKD",
|
||||
"FJD",
|
||||
"CAD",
|
||||
"AUD"
|
||||
],
|
||||
"dollar américain": "USD",
|
||||
@@ -8233,6 +8271,7 @@
|
||||
"dollar des îles salomon": "SBD",
|
||||
"dollar du belize": "BZD",
|
||||
"dollar du bélize": "BZD",
|
||||
"dollar du canada": "CAD",
|
||||
"dollar du guyana": "GYD",
|
||||
"dollar du surinam": "SRD",
|
||||
"dollar du suriname": "SRD",
|
||||
@@ -8268,6 +8307,7 @@
|
||||
"dollar néo zélandais": "NZD",
|
||||
"dollar néozélandais": "NZD",
|
||||
"dollar nua na téaváine": "TWD",
|
||||
"dollar of canada": "CAD",
|
||||
"dollar oileáin cayman": "KYD",
|
||||
"dollar oileáin sholaimh": "SBD",
|
||||
"dollar oileán na tríonóide agus tobága": "TTD",
|
||||
@@ -8282,16 +8322,21 @@
|
||||
"dollar taiwanais": "TWD",
|
||||
"dollar taïwanais": "TWD",
|
||||
"dollar trinidadien": "TTD",
|
||||
"dollar van die verenigde state": "USD",
|
||||
"dollaro": [
|
||||
"BZD",
|
||||
"BBD"
|
||||
],
|
||||
"dollaro americano": "USD",
|
||||
"dollaro australiano": "AUD",
|
||||
"dollaro bahamense": "BSD",
|
||||
"dollaro canadese": "CAD",
|
||||
"dollaro degli stati uniti": "USD",
|
||||
"dollaro dei caraibi orientali": "XCD",
|
||||
"dollaro del belize": "BZD",
|
||||
"dollaro del brunei": "BND",
|
||||
"dollaro del canada": "CAD",
|
||||
"dollaro del canadà": "CAD",
|
||||
"dollaro del suriname": "SRD",
|
||||
"dollaro della guyana": "GYD",
|
||||
"dollaro della namibia": "NAD",
|
||||
@@ -11489,6 +11534,7 @@
|
||||
"rial yemení": "YER",
|
||||
"rial yéménite": "YER",
|
||||
"riel": "KHR",
|
||||
"riel cambodgian": "KHR",
|
||||
"riel cambodgien": "KHR",
|
||||
"riel cambogiano": "KHR",
|
||||
"riel cambojano": "KHR",
|
||||
@@ -12846,6 +12892,7 @@
|
||||
"vjetnama dongo": "VND",
|
||||
"vnd": "VND",
|
||||
"vnđ": "VND",
|
||||
"vona": "KPW",
|
||||
"vt": "VUV",
|
||||
"vuv": "VUV",
|
||||
"východokaribská měnová unie": "XCD",
|
||||
@@ -12996,6 +13043,7 @@
|
||||
"zeelandako dolarra": "NZD",
|
||||
"zelenortski eskudo": "CVE",
|
||||
"zelts kā investīcija": "XAU",
|
||||
"ziemeļkorejas vona": "KPW",
|
||||
"zig": "ZWG",
|
||||
"zimbabva dolaro": "ZWL",
|
||||
"zimbabva oro": "ZWG",
|
||||
@@ -15005,7 +15053,6 @@
|
||||
"دوبرا ساو تومية وبرينسيبية": "STN",
|
||||
"دولار الامريكي": "USD",
|
||||
"دولار الأمريكي": "USD",
|
||||
"دولار امريكي": "USD",
|
||||
"دولار أسترالي": "AUD",
|
||||
"دولار أمريكي": "USD",
|
||||
"دولار بربادوسي": "BBD",
|
||||
@@ -15026,6 +15073,7 @@
|
||||
"دولار غياني": "GYD",
|
||||
"دولار فيجي": "FJD",
|
||||
"دولار كندي": "CAD",
|
||||
"دولار للولايات المتحدة": "USD",
|
||||
"دولار ليبيري": "LRD",
|
||||
"دولار ناميبي": "NAD",
|
||||
"دولار نيوزيلندي": "NZD",
|
||||
@@ -15666,6 +15714,7 @@
|
||||
"กวันซา": "AOA",
|
||||
"กวารานีปารากวัย": "PYG",
|
||||
"กอร์โดบานิการากัว": "NIO",
|
||||
"กิลเดอร์แคริบเบียน": "XCG",
|
||||
"กีนา": "PGK",
|
||||
"กีบ": "LAK",
|
||||
"กูร์ดเฮติ": "HTG",
|
||||
@@ -15751,6 +15800,7 @@
|
||||
"ปอนด์ซูดานใต้": "SSP",
|
||||
"ปอนด์ยิบรอลตาร์": "GIP",
|
||||
"ปอนด์สเตอร์ลิง": "GBP",
|
||||
"ปอนด์หมู่เกาะฟอล์กแลนด์": "FKP",
|
||||
"ปอนด์อียิปต์": "EGP",
|
||||
"ปอนด์เซนต์เฮเลนา": "SHP",
|
||||
"ปอนด์เซาท์ซูดาน": "SSP",
|
||||
|
||||
@@ -15307,7 +15307,7 @@
|
||||
},
|
||||
"s": {
|
||||
"\u0010": "//surrey-primotc.hosted.exlibrisgroup.com/primo-explore/search?vl(freeText0)=\u0002&fn=search&vid=44SUR_VU1&tab=default_tab&query=any,contains,\u0002&search_scope=default_scope\u000115",
|
||||
"64": "http://duckduckgo.com/?q=\u0002+site:www.ss64.com\u00010",
|
||||
"64": "http://duckduckgo.com/?q=\u0002+site:ss64.com\u00010",
|
||||
"aft": "http://ssaft.com/Blog/dotclear/?q=\u0002\u00010",
|
||||
"b": {
|
||||
"\u0010": "http://www.ssbwiki.com/index.php?title=Special%3ASearch&search=\u0002&go=Go\u000136",
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
],
|
||||
"ua": "Mozilla/5.0 ({os}; rv:{version}) Gecko/20100101 Firefox/{version}",
|
||||
"versions": [
|
||||
"157.0",
|
||||
"156.0"
|
||||
"159.0",
|
||||
"158.0"
|
||||
]
|
||||
}
|
||||
@@ -41,6 +41,7 @@ time_range_map = {"day": "1", "week": "7", "month": "30", "year": "365"}
|
||||
|
||||
CACHE: EngineCache
|
||||
CACHE_SESSION_ID_KEY = "session_id_key"
|
||||
SESSION_ID_EXPIRE = 3600
|
||||
|
||||
KEYWORD_RE = re.compile(r"\[\/?Keyword\]")
|
||||
|
||||
@@ -64,7 +65,7 @@ def _get_session_id() -> str:
|
||||
if not session_id:
|
||||
raise SearxEngineAPIException("failed to obtain session id")
|
||||
|
||||
CACHE.set(CACHE_SESSION_ID_KEY, session_id)
|
||||
CACHE.set(CACHE_SESSION_ID_KEY, session_id, SESSION_ID_EXPIRE)
|
||||
return session_id
|
||||
|
||||
|
||||
@@ -97,6 +98,10 @@ def _remove_keyword_marker(text: str) -> str:
|
||||
def response(resp: "SXNG_Response") -> EngineResults:
|
||||
res = EngineResults()
|
||||
|
||||
if resp.status_code == 204:
|
||||
CACHE.set(CACHE_SESSION_ID_KEY, "")
|
||||
raise SearxEngineAPIException("session expired")
|
||||
|
||||
result: dict[str, str]
|
||||
for result in resp.json()["SearchResults"]:
|
||||
res.add(
|
||||
|
||||
@@ -28,7 +28,7 @@ import typing as t
|
||||
|
||||
from urllib.parse import urlencode
|
||||
|
||||
from searx.engines.brave import parse_video_result
|
||||
from searx.engines.brave import parse_search_result
|
||||
from searx.exceptions import SearxEngineAPIException
|
||||
from searx.result_types import EngineResults
|
||||
|
||||
@@ -91,6 +91,7 @@ def request(query: str, params: "OnlineParams") -> None:
|
||||
params["url"] = f"{base_url}?{urlencode(search_args)}"
|
||||
params["headers"]["X-Subscription-Token"] = api_key
|
||||
params["headers"]["Accept"] = "application/json"
|
||||
params["headers"]["Cache-Control"] = "no-cache"
|
||||
|
||||
|
||||
def response(resp: "SXNG_Response") -> EngineResults:
|
||||
@@ -100,6 +101,6 @@ def response(resp: "SXNG_Response") -> EngineResults:
|
||||
res = EngineResults()
|
||||
results_json = (data.get("web") or {}).get("results", [])
|
||||
for result in results_json:
|
||||
res.add(parse_video_result(result))
|
||||
res.add(parse_search_result(result))
|
||||
|
||||
return res
|
||||
|
||||
+41
-36
@@ -38,9 +38,9 @@ Implementations
|
||||
|
||||
"""
|
||||
|
||||
import contextlib
|
||||
import random
|
||||
import typing as t
|
||||
|
||||
from datetime import (
|
||||
datetime,
|
||||
timedelta,
|
||||
@@ -49,7 +49,8 @@ from json import loads
|
||||
from urllib.parse import urlencode
|
||||
|
||||
import babel
|
||||
from flask_babel import gettext # pyright: ignore[reportUnknownVariableType]
|
||||
import curl_cffi
|
||||
from flask_babel import gettext # pyright: ignore[reportMissingTypeStubs]
|
||||
|
||||
from searx.enginelib import EngineCache
|
||||
from searx.enginelib.traits import EngineTraits
|
||||
@@ -63,8 +64,8 @@ from searx.network import raise_for_httperror
|
||||
from searx.result_types import EngineResults
|
||||
|
||||
if t.TYPE_CHECKING:
|
||||
from searx.search.processors import OnlineParams
|
||||
from searx.extended_types import SXNG_Response
|
||||
from searx.search.processors import OnlineParams
|
||||
|
||||
# about
|
||||
about = {
|
||||
@@ -88,10 +89,10 @@ qwant_categ: str = None # pyright: ignore[reportAssignmentType]
|
||||
|
||||
safesearch = True
|
||||
|
||||
# tgp seems to be short for "test group" - its actual value doesn't matter, as
|
||||
# tgp is normally set by the `ab_test_group` cookie value. Actual value doesn't matter, as
|
||||
# long as it's sent and at the correct position in the query params and doesn't
|
||||
# change too frequently
|
||||
test_group_value = random.randint(1, 3)
|
||||
test_group_value = random.randint(1, 4)
|
||||
|
||||
# fmt: off
|
||||
qwant_news_locales = [
|
||||
@@ -123,13 +124,10 @@ def request(query: str, params: "OnlineParams") -> None:
|
||||
if not query:
|
||||
return
|
||||
|
||||
results_per_page = 50 if qwant_categ == "images" else 10
|
||||
q_locale = traits.get_region(params["searxng_locale"], default="en_US")
|
||||
|
||||
results_per_page = 10
|
||||
if qwant_categ == "images":
|
||||
results_per_page = 50
|
||||
|
||||
args = {
|
||||
"t": qwant_categ,
|
||||
"q": query,
|
||||
"count": results_per_page,
|
||||
"locale": q_locale,
|
||||
@@ -137,18 +135,32 @@ def request(query: str, params: "OnlineParams") -> None:
|
||||
"tgp": test_group_value,
|
||||
"device": "desktop",
|
||||
"safesearch": params["safesearch"],
|
||||
# True would be encoded to "True", instead of "true", which makes the request
|
||||
# easier to detect and block
|
||||
"displayed": "true",
|
||||
"llm": "true",
|
||||
}
|
||||
|
||||
if datadome := CACHE.get("datadome"):
|
||||
params["cookies"]["datadome"] = datadome
|
||||
|
||||
header_order = (
|
||||
"Host,Connection,"
|
||||
"sec-ch-ua-platform,User-Agent,Accept,sec-ch-ua,sec-ch-ua-mobile,"
|
||||
"Origin,Sec-Fetch-Site,Sec-Fetch-Mode,Sec-Fetch-Dest,"
|
||||
"Referer,Accept-Encoding,Accept-Language,Cookie"
|
||||
)
|
||||
params["raise_for_httperror"] = False
|
||||
|
||||
params["url"] = f"{api_url}{qwant_categ}?{urlencode(args)}"
|
||||
|
||||
params["cookies"]["datadome"] = CACHE.get("datadome")
|
||||
params["headers"].update({"Accept": "application/json", "Referer": f"{base_url}/", "Origin": base_url})
|
||||
params["headers"]["Connection"] = "keep-alive"
|
||||
params["headers"]["Accept"] = "application/json, text/plain, */*"
|
||||
params["headers"]["Origin"] = base_url
|
||||
params["headers"]["Sec-Fetch-Site"] = "same-site"
|
||||
params["headers"]["Sec-Fetch-Mode"] = "cors"
|
||||
params["headers"]["Sec-Fetch-Dest"] = "empty"
|
||||
# drop impersonate default headers - curl_cffi will drop header with None as value
|
||||
params["headers"]["sec-fetch-user"] = None # pyright: ignore[reportArgumentType]
|
||||
params["headers"]["cache-control"] = None # pyright: ignore[reportArgumentType]
|
||||
params["headers"]["upgrade-insecure-requests"] = None # pyright: ignore[reportArgumentType]
|
||||
params["headers"]["Referer"] = f"{base_url}/"
|
||||
# ensure same header wire order for chrome
|
||||
params["curl_options"] = {curl_cffi.CurlOpt.HTTPHEADER_ORDER: header_order}
|
||||
|
||||
|
||||
def response(resp: "SXNG_Response") -> EngineResults:
|
||||
@@ -156,20 +168,16 @@ def response(resp: "SXNG_Response") -> EngineResults:
|
||||
# pylint: disable=too-many-locals, too-many-branches, too-many-statements
|
||||
|
||||
# cache datadome cookie - changes on each request
|
||||
datadome = resp.cookies.get("datadome")
|
||||
if datadome:
|
||||
if datadome := resp.cookies.get("datadome"):
|
||||
CACHE.set("datadome", datadome)
|
||||
|
||||
res = EngineResults()
|
||||
|
||||
# Try to load JSON result
|
||||
search_results: dict[str, t.Any] = {}
|
||||
try:
|
||||
with contextlib.suppress(ValueError):
|
||||
search_results = resp.json()
|
||||
except ValueError:
|
||||
pass
|
||||
|
||||
data: dict[str, t.Any] = search_results.get("data", {}) # pyright: ignore[reportAny]
|
||||
data: dict[str, t.Any] = search_results.get("data", {})
|
||||
|
||||
# check for an API error
|
||||
if search_results.get("status") != "success":
|
||||
@@ -177,7 +185,7 @@ def response(resp: "SXNG_Response") -> EngineResults:
|
||||
if error_code == 24:
|
||||
raise SearxEngineTooManyRequestsException()
|
||||
if search_results.get("url") is not None:
|
||||
raise SearxEngineCaptchaException(suspended_time=0)
|
||||
raise SearxEngineCaptchaException(suspended_time=15) # needs a short timeout before second request
|
||||
if resp.status_code == 403:
|
||||
raise SearxEngineAccessDeniedException()
|
||||
msg = ",".join(data.get("message", ["unknown"]))
|
||||
@@ -222,8 +230,7 @@ def response(resp: "SXNG_Response") -> EngineResults:
|
||||
thumbnail: str = ""
|
||||
content: str = item.get("desc", "")
|
||||
|
||||
_date: float | None = item.get("date")
|
||||
if _date:
|
||||
if _date := item.get("date"):
|
||||
try:
|
||||
pub_date = datetime.fromtimestamp(_date)
|
||||
except ValueError:
|
||||
@@ -240,8 +247,7 @@ def response(resp: "SXNG_Response") -> EngineResults:
|
||||
)
|
||||
|
||||
elif mainline_type == "news":
|
||||
news_media = item.get("media", [])
|
||||
if news_media:
|
||||
if news_media := item.get("media", []):
|
||||
thumbnail = news_media[0].get("pict", {}).get("url", "")
|
||||
|
||||
res.add(
|
||||
@@ -314,7 +320,7 @@ def fetch_traits(engine_traits: EngineTraits):
|
||||
from searx.utils import extr
|
||||
|
||||
resp = get(
|
||||
base_url, # pyright: ignore[reportArgumentType]
|
||||
base_url,
|
||||
timeout=5,
|
||||
)
|
||||
if not resp.ok:
|
||||
@@ -328,7 +334,7 @@ def fetch_traits(engine_traits: EngineTraits):
|
||||
|
||||
for country, v in q_locales.items():
|
||||
for lang in v["langs"]:
|
||||
_locale = "{lang}_{country}".format(lang=lang, country=country)
|
||||
_locale = f"{lang}_{country}"
|
||||
|
||||
if qwant_categ == "news" and _locale.lower() not in qwant_news_locales:
|
||||
# qwant-news does not support all locales from qwant-web:
|
||||
@@ -340,12 +346,11 @@ def fetch_traits(engine_traits: EngineTraits):
|
||||
try:
|
||||
sxng_tag = region_tag(babel.Locale.parse(eng_tag, sep="_"))
|
||||
except babel.UnknownLocaleError:
|
||||
print("ERROR: can't determine babel locale of quant's locale %s" % eng_tag)
|
||||
print(f"ERROR: can't determine babel locale of quant's locale {eng_tag}")
|
||||
continue
|
||||
|
||||
conflict = engine_traits.regions.get(sxng_tag)
|
||||
if conflict:
|
||||
if conflict := engine_traits.regions.get(sxng_tag):
|
||||
if conflict != eng_tag:
|
||||
print("CONFLICT: babel %s --> %s, %s" % (sxng_tag, conflict, eng_tag))
|
||||
print(f"CONFLICT: babel {sxng_tag} --> {conflict}, {eng_tag}")
|
||||
continue
|
||||
engine_traits.regions[sxng_tag] = eng_tag
|
||||
|
||||
Executable
+109
@@ -0,0 +1,109 @@
|
||||
# SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
"""ReaderFunded_ is an independent web search engine with its own index. A
|
||||
site is indexed only when its readers support it with their own money: a
|
||||
link from the site to its page on Patreon, Ko-fi, Substack, GitHub
|
||||
Sponsors, Open Collective, Liberapay or a similar platform, and that page
|
||||
naming the site back, verified in both directions and re-checked monthly.
|
||||
A site ranks higher the more readers pay for it, text relevance first.
|
||||
|
||||
The engine uses the public `JSON API`_ which doesn't require an API key.
|
||||
This allows to run 120 requests per minute. If that doesn't suffice for you, you can
|
||||
obtain a free API key `here <https://readerfunded.com/api#keys>`_.
|
||||
|
||||
.. code:: yaml
|
||||
|
||||
- name: readerfunded
|
||||
engine: readerfunded
|
||||
shortcut: rfd
|
||||
api_key: "" # optional
|
||||
|
||||
.. _ReaderFunded: https://readerfunded.com
|
||||
.. _JSON API: https://readerfunded.com/api
|
||||
"""
|
||||
|
||||
import typing as t
|
||||
from datetime import datetime
|
||||
from urllib.parse import urlencode
|
||||
|
||||
from searx.exceptions import SearxEngineResponseException
|
||||
from searx.utils import searxng_useragent
|
||||
from searx.result_types import EngineResults
|
||||
from searx.extended_types import SXNG_Response
|
||||
|
||||
about = {
|
||||
"website": "https://readerfunded.com",
|
||||
"wikidata_id": None,
|
||||
"official_api_documentation": "https://readerfunded.com/api",
|
||||
"use_official_api": True,
|
||||
"require_api_key": False,
|
||||
"results": "JSON",
|
||||
}
|
||||
|
||||
categories = ["general", "web"]
|
||||
paging = False
|
||||
time_range_support = True
|
||||
|
||||
base_url = "https://readerfunded.com"
|
||||
page_size = 20
|
||||
api_key: str = ""
|
||||
"""Optional. A key from https://readerfunded.com/api#keys gives the instance
|
||||
an allowance of its own instead of the one every SearXNG instance behind
|
||||
its address shares."""
|
||||
|
||||
time_range_map = {"day": "day", "week": "week", "month": "month", "year": "year"}
|
||||
|
||||
|
||||
def request(query: str, params: dict[str, t.Any]) -> None:
|
||||
|
||||
args: dict[str, t.Any] = {"q": query, "top": page_size}
|
||||
if params.get("time_range") in time_range_map:
|
||||
args["t"] = time_range_map[params["time_range"]]
|
||||
# the API takes a two-letter language preferred first beside English;
|
||||
# ``all`` is no preference
|
||||
locale = str(params.get("searxng_locale") or params.get("language") or "all")
|
||||
lang = locale.split("-", maxsplit=1)[0].lower()
|
||||
args["lang"] = lang if lang and lang != "auto" else "all"
|
||||
|
||||
params["url"] = f"{base_url}/api/search?{urlencode(args)}"
|
||||
params["headers"]["Accept"] = "application/json"
|
||||
# the API asks callers to say who they are, and gives a SearXNG instance
|
||||
# a larger keyless allowance than an anonymous address when it does
|
||||
params["headers"]["User-Agent"] = searxng_useragent()
|
||||
if api_key:
|
||||
params["headers"]["X-Api-Key"] = api_key
|
||||
|
||||
|
||||
def _published(value: str | None) -> datetime | None:
|
||||
if not value:
|
||||
return None
|
||||
try:
|
||||
return datetime.fromisoformat(value)
|
||||
except ValueError:
|
||||
return None
|
||||
|
||||
|
||||
def response(resp: SXNG_Response) -> EngineResults:
|
||||
|
||||
res = EngineResults()
|
||||
resp_json = resp.json()
|
||||
if resp_json.get("timed_out"):
|
||||
raise SearxEngineResponseException("timeout")
|
||||
|
||||
for item in resp_json.get("results", []):
|
||||
url = item.get("url")
|
||||
if not url:
|
||||
continue
|
||||
res.add(
|
||||
res.types.MainResult(
|
||||
url=url,
|
||||
title=item.get("title") or url,
|
||||
content=item.get("snippet") or "",
|
||||
publishedDate=_published(item.get("published")),
|
||||
)
|
||||
)
|
||||
|
||||
suggestion = resp_json.get("did_you_mean")
|
||||
if suggestion:
|
||||
res.add(res.types.LegacyResult(suggestion=suggestion))
|
||||
|
||||
return res
|
||||
@@ -32,7 +32,7 @@ about = {
|
||||
}
|
||||
language = "de"
|
||||
|
||||
categories = ['general', 'news']
|
||||
categories = ['news']
|
||||
paging = True
|
||||
|
||||
results_per_page = 10
|
||||
|
||||
@@ -4,7 +4,8 @@
|
||||
import json
|
||||
import typing as t
|
||||
|
||||
from searx.exceptions import SearxEngineAPIException
|
||||
from searx.exceptions import SearxEngineAPIException, SearxEngineTooManyRequestsException
|
||||
from searx.network import raise_for_httperror
|
||||
from searx.result_types import EngineResults
|
||||
|
||||
if t.TYPE_CHECKING:
|
||||
@@ -54,8 +55,15 @@ def request(query: str, params: "OnlineParams"):
|
||||
"source": "",
|
||||
}
|
||||
|
||||
params["raise_for_httperror"] = False
|
||||
|
||||
|
||||
def response(resp: "SXNG_Response") -> EngineResults:
|
||||
if resp.status_code in (400, 429):
|
||||
raise SearxEngineTooManyRequestsException()
|
||||
|
||||
raise_for_httperror(resp)
|
||||
|
||||
res = EngineResults()
|
||||
|
||||
# response is a Server-Side Events (SSE) stream
|
||||
|
||||
@@ -186,7 +186,7 @@ class Network:
|
||||
Network._TOR_CHECK_RESULT[proxies] = False
|
||||
return False
|
||||
|
||||
response = await client.get("https://check.torproject.org/api/ip", timeout=60)
|
||||
response = await client.get("https://check.torproject.org/api/ip", timeout=10)
|
||||
result = bool(response.json()["IsTor"])
|
||||
Network._TOR_CHECK_RESULT[proxies] = result
|
||||
return result
|
||||
|
||||
@@ -2147,6 +2147,11 @@ engines:
|
||||
require_api_key: false
|
||||
results: JSON
|
||||
|
||||
- name: readerfunded
|
||||
engine: readerfunded
|
||||
shortcut: rfd
|
||||
inactive: true
|
||||
|
||||
- name: reuters
|
||||
engine: reuters
|
||||
shortcut: reu
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"BMrKiJ3q.min.js","names":["listen","searchForm","getElement","searchInput","searchReset","isMobile","isResultsPage","categoryButtons","end","event","button","categoryButton","safesearchElement","timeRangeElement","languageElement","searchCategories"],"sources":["../../../../../client/simple/src/js/main/search.ts"],"sourcesContent":["// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport { listen } from \"../toolkit.ts\";\nimport { getElement } from \"../util/getElement.ts\";\n\nconst searchForm: HTMLFormElement = getElement<HTMLFormElement>(\"search\");\nconst searchInput: HTMLInputElement = getElement<HTMLInputElement>(\"q\");\nconst searchReset: HTMLButtonElement = getElement<HTMLButtonElement>(\"clear_search\");\n\nconst isMobile: boolean = window.matchMedia(\"(max-width: 50em)\").matches;\nconst isResultsPage: boolean = document.querySelector(\"main\")?.id === \"main_results\";\n\nconst categoryButtons: HTMLButtonElement[] = Array.from(\n document.querySelectorAll<HTMLButtonElement>(\"#categories_container button.category\")\n);\n\n// focus search input on large screens\nif (!(isMobile || isResultsPage)) {\n searchInput.focus();\n}\n\n// On mobile, move cursor to the end of the input on focus\nif (isMobile) {\n listen(\"focus\", searchInput, () => {\n // Defer cursor move until the next frame to prevent a visual jump\n requestAnimationFrame(() => {\n const end = searchInput.value.length;\n searchInput.setSelectionRange(end, end);\n searchInput.scrollLeft = searchInput.scrollWidth;\n });\n });\n}\n\nlisten(\"click\", searchReset, (event: MouseEvent) => {\n event.preventDefault();\n searchInput.value = \"\";\n searchInput.focus();\n});\n\nfor (const button of categoryButtons) {\n listen(\"click\", button, (event: MouseEvent) => {\n if (event.shiftKey) {\n event.preventDefault();\n button.classList.toggle(\"selected\");\n return;\n }\n\n // deselect all other categories\n for (const categoryButton of categoryButtons) {\n categoryButton.classList.toggle(\"selected\", categoryButton === button);\n }\n });\n}\n\nif (document.querySelector(\"div.search_filters\")) {\n const safesearchElement = document.getElementById(\"safesearch\");\n if (safesearchElement) {\n listen(\"change\", safesearchElement, () => searchForm.submit());\n }\n\n const timeRangeElement = document.getElementById(\"time_range\");\n if (timeRangeElement) {\n listen(\"change\", timeRangeElement, () => searchForm.submit());\n }\n\n const languageElement = document.getElementById(\"language\");\n if (languageElement) {\n listen(\"change\", languageElement, () => searchForm.submit());\n }\n}\n\n// override searchForm submit event\nlisten(\"submit\", searchForm, (event: Event) => {\n event.preventDefault();\n\n if (categoryButtons.length > 0) {\n const searchCategories = getElement<HTMLInputElement>(\"selected-categories\");\n searchCategories.value = categoryButtons\n .filter((button) => button.classList.contains(\"selected\"))\n .map((button) => button.name.replace(\"category_\", \"\"))\n .join(\",\");\n }\n\n searchForm.submit();\n});\n"],"mappings":"yEAKA,IAAMC,EAA8BC,EAA4B,QAAQ,EAClEC,EAAgCD,EAA6B,GAAG,EAChEE,EAAiCF,EAA8B,cAAc,EAE7EG,EAAoB,OAAO,WAAW,mBAAmB,CAAC,CAAC,QAC3DC,EAAyB,SAAS,cAAc,MAAM,CAAC,EAAE,KAAO,eAEhEC,EAAuC,MAAM,KACjD,SAAS,iBAAoC,uCAAuC,CACtF,EAGMF,GAAYC,GAChBH,EAAY,MAAM,EAIhBE,GACFL,EAAO,QAASG,MAAmB,CAEjC,0BAA4B,CAC1B,IAAMK,EAAML,EAAY,MAAM,OAC9BA,EAAY,kBAAkBK,EAAKA,CAAG,EACtC,EAAY,WAAaL,EAAY,WACvC,CAAC,CACH,CAAC,EAGHH,EAAO,QAASI,EAAc,GAAsB,CAClDK,EAAM,eAAe,EACrB,EAAY,MAAQ,GACpBN,EAAY,MAAM,CACpB,CAAC,EAED,IAAK,IAAMO,KAAUH,EACnBP,EAAO,QAASU,EAAS,GAAsB,CAC7C,GAAID,EAAM,SACRA,EAAM,eAAe,EACrBC,EAAO,UAAU,OAAO,UAAU,OAKpC,IAAK,IAAMC,KAAkBJ,EAC3BI,EAAe,UAAU,OAAO,WAAYA,IAAmBD,CAAM,CAEzE,CAAC,EAGH,GAAI,SAAS,cAAc,oBAAoB,EAAG,CAChD,IAAME,EAAoB,SAAS,eAAe,YAAY,EAC1DA,GACFZ,EAAO,SAAUY,MAAyBX,EAAW,OAAO,CAAC,EAG/D,IAAMY,EAAmB,SAAS,eAAe,YAAY,EACzDA,GACFb,EAAO,SAAUa,MAAwBZ,EAAW,OAAO,CAAC,EAG9D,IAAMa,EAAkB,SAAS,eAAe,UAAU,EACtDA,GACFd,EAAO,SAAUc,MAAuBb,EAAW,OAAO,CAAC,CAE/D,CAGAD,EAAO,SAAUC,EAAa,GAAiB,CAG7C,GAFAQ,EAAM,eAAe,EAEjBF,EAAgB,OAAS,EAAG,CAC9B,IAAMQ,EAAmBb,EAA6B,qBAAqB,EAC3E,EAAiB,MAAQK,EACtB,OAAQ,GAAWG,EAAO,UAAU,SAAS,UAAU,CAAC,CAAC,CACzD,IAAK,GAAWA,EAAO,KAAK,QAAQ,YAAa,EAAE,CAAC,CAAC,CACrD,KAAK,GAAG,CACb,CAEAT,EAAW,OAAO,CACpB,CAAC"}
|
||||
{"version":3,"file":"BMrKiJ3q.min.js","names":["listen","searchForm","getElement","searchInput","searchReset","isMobile","isResultsPage","categoryButtons","end","event","button","categoryButton","safesearchElement","timeRangeElement","languageElement","searchCategories"],"sources":["../../../../../client/simple/src/js/main/search.ts"],"sourcesContent":["// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport { listen } from \"../toolkit.ts\";\nimport { getElement } from \"../util/getElement.ts\";\n\nconst searchForm: HTMLFormElement = getElement<HTMLFormElement>(\"search\");\nconst searchInput: HTMLInputElement = getElement<HTMLInputElement>(\"q\");\nconst searchReset: HTMLButtonElement = getElement<HTMLButtonElement>(\"clear_search\");\n\nconst isMobile: boolean = window.matchMedia(\"(max-width: 50em)\").matches;\nconst isResultsPage: boolean = document.querySelector(\"main\")?.id === \"main_results\";\n\nconst categoryButtons: HTMLButtonElement[] = Array.from(\n document.querySelectorAll<HTMLButtonElement>(\"#categories_container button.category\")\n);\n\n// focus search input on large screens\nif (!(isMobile || isResultsPage)) {\n searchInput.focus();\n}\n\n// On mobile, move cursor to the end of the input on focus\nif (isMobile) {\n listen(\"focus\", searchInput, () => {\n // Defer cursor move until the next frame to prevent a visual jump\n requestAnimationFrame(() => {\n const end = searchInput.value.length;\n searchInput.setSelectionRange(end, end);\n searchInput.scrollLeft = searchInput.scrollWidth;\n });\n });\n}\n\nlisten(\"click\", searchReset, (event: MouseEvent) => {\n event.preventDefault();\n searchInput.value = \"\";\n searchInput.focus();\n});\n\nfor (const button of categoryButtons) {\n listen(\"click\", button, (event: MouseEvent) => {\n if (event.shiftKey) {\n event.preventDefault();\n button.classList.toggle(\"selected\");\n return;\n }\n\n // deselect all other categories\n for (const categoryButton of categoryButtons) {\n categoryButton.classList.toggle(\"selected\", categoryButton === button);\n }\n });\n}\n\nif (document.querySelector(\"div.search_filters\")) {\n const safesearchElement = document.getElementById(\"safesearch\");\n if (safesearchElement) {\n listen(\"change\", safesearchElement, () => searchForm.submit());\n }\n\n const timeRangeElement = document.getElementById(\"time_range\");\n if (timeRangeElement) {\n listen(\"change\", timeRangeElement, () => searchForm.submit());\n }\n\n const languageElement = document.getElementById(\"language\");\n if (languageElement) {\n listen(\"change\", languageElement, () => searchForm.submit());\n }\n}\n\n// override searchForm submit event\nlisten(\"submit\", searchForm, (event: Event) => {\n event.preventDefault();\n\n if (categoryButtons.length > 0) {\n const searchCategories = getElement<HTMLInputElement>(\"selected-categories\");\n searchCategories.value = categoryButtons\n .filter((button) => button.classList.contains(\"selected\"))\n .map((button) => button.name.replace(\"category_\", \"\"))\n .join(\",\");\n }\n\n searchForm.submit();\n});\n"],"mappings":"A,yEAKA,IAAMC,EAA8BC,EAA4B,QAAQ,EAClEC,EAAgCD,EAA6B,GAAG,EAChEE,EAAiCF,EAA8B,cAAc,EAE7EG,EAAoB,OAAO,WAAW,mBAAmB,CAAC,CAAC,QAC3DC,EAAyB,SAAS,cAAc,MAAM,CAAC,EAAE,KAAO,eAEhEC,EAAuC,MAAM,KACjD,SAAS,iBAAoC,uCAAuC,CACtF,EAGMF,GAAYC,GAChBH,EAAY,MAAM,EAIhBE,GACFL,EAAO,QAASG,MAAmB,CAEjC,0BAA4B,CAC1B,IAAMK,EAAML,EAAY,MAAM,OAC9BA,EAAY,kBAAkBK,EAAKA,CAAG,EACtC,EAAY,WAAaL,EAAY,WACvC,CAAC,CACH,CAAC,EAGHH,EAAO,QAASI,EAAc,GAAsB,CAClDK,EAAM,eAAe,EACrB,EAAY,MAAQ,GACpBN,EAAY,MAAM,CACpB,CAAC,EAED,IAAK,IAAMO,KAAUH,EACnBP,EAAO,QAASU,EAAS,GAAsB,CAC7C,GAAID,EAAM,SACRA,EAAM,eAAe,EACrBC,EAAO,UAAU,OAAO,UAAU,OAKpC,IAAK,IAAMC,KAAkBJ,EAC3BI,EAAe,UAAU,OAAO,WAAYA,IAAmBD,CAAM,CAEzE,CAAC,EAGH,GAAI,SAAS,cAAc,oBAAoB,EAAG,CAChD,IAAME,EAAoB,SAAS,eAAe,YAAY,EAC1DA,GACFZ,EAAO,SAAUY,MAAyBX,EAAW,OAAO,CAAC,EAG/D,IAAMY,EAAmB,SAAS,eAAe,YAAY,EACzDA,GACFb,EAAO,SAAUa,MAAwBZ,EAAW,OAAO,CAAC,EAG9D,IAAMa,EAAkB,SAAS,eAAe,UAAU,EACtDA,GACFd,EAAO,SAAUc,MAAuBb,EAAW,OAAO,CAAC,CAE/D,CAGAD,EAAO,SAAUC,EAAa,GAAiB,CAG7C,GAFAQ,EAAM,eAAe,EAEjBF,EAAgB,OAAS,EAAG,CAC9B,IAAMQ,EAAmBb,EAA6B,qBAAqB,EAC3E,EAAiB,MAAQK,EACtB,OAAQ,GAAWG,EAAO,UAAU,SAAS,UAAU,CAAC,CAAC,CACzD,IAAK,GAAWA,EAAO,KAAK,QAAQ,YAAa,EAAE,CAAC,CAAC,CACrD,KAAK,GAAG,CACb,CAEAT,EAAW,OAAO,CACpB,CAAC"}
|
||||
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Vendored
+2
-2
@@ -7,5 +7,5 @@ import{i as e,n as t,r as n}from"../sxng-core.min.js";import{t as r}from"./DK4yU
|
||||
* @author John Doherty <www.johndoherty.info>
|
||||
* @license MIT
|
||||
*/
|
||||
(function(e,t){typeof e.CustomEvent!=`function`&&(e.CustomEvent=function(e,n){n||={bubbles:!1,cancelable:!1,detail:void 0};var r=t.createEvent(`CustomEvent`);return r.initCustomEvent(e,n.bubbles,n.cancelable,n.detail),r},e.CustomEvent.prototype=e.Event.prototype),t.addEventListener(`touchstart`,u,!1),t.addEventListener(`touchmove`,d,!1),t.addEventListener(`touchend`,l,!1);var n=null,r=null,i=null,a=null,o=null,s=null,c=0;function l(e){if(s===e.target){var l=parseInt(f(s,`data-swipe-threshold`,`20`),10),u=f(s,`data-swipe-unit`,`px`),d=parseInt(f(s,`data-swipe-timeout`,`500`),10),p=Date.now()-o,m=``,h=e.changedTouches||e.touches||[];if(u===`vh`&&(l=Math.round(l/100*t.documentElement.clientHeight)),u===`vw`&&(l=Math.round(l/100*t.documentElement.clientWidth)),Math.abs(i)>Math.abs(a)?Math.abs(i)>l&&p<d&&(m=i>0?`swiped-left`:`swiped-right`):Math.abs(a)>l&&p<d&&(m=a>0?`swiped-up`:`swiped-down`),m!==``){var g={dir:m.replace(/swiped-/,``),touchType:(h[0]||{}).touchType||`direct`,fingers:c,xStart:parseInt(n,10),xEnd:parseInt((h[0]||{}).clientX||-1,10),yStart:parseInt(r,10),yEnd:parseInt((h[0]||{}).clientY||-1,10)};s.dispatchEvent(new CustomEvent(`swiped`,{bubbles:!0,cancelable:!0,detail:g})),s.dispatchEvent(new CustomEvent(m,{bubbles:!0,cancelable:!0,detail:g}))}n=null,r=null,o=null}}function u(e){e.target.getAttribute(`data-swipe-ignore`)!==`true`&&(s=e.target,o=Date.now(),n=e.touches[0].clientX,r=e.touches[0].clientY,i=0,a=0,c=e.touches.length)}function d(e){if(n&&r){var t=e.touches[0].clientX,o=e.touches[0].clientY;i=n-t,a=r-o}}function f(e,n,r){for(;e&&e!==t.documentElement;){var i=e.getAttribute(n);if(i)return i;e=e.parentNode}return r}})(window,document);var i,a=`${e.theme_static_path}/img/img_load_error.svg`,o=e=>{i&&clearTimeout(i);let t=e.querySelector(`.result-images-source img`);if(!t)return;let n=e.querySelector(`.image_thumbnail`);if(n){if(n.src===a)return;t.onerror=()=>{t.src=n.src},t.src=n.src}let r=t.getAttribute(`data-src`);r&&(i=setTimeout(()=>{t.src=r,t.removeAttribute(`data-src`)},1e3))},s=e=>{e.classList.contains(`thumbnail`)?e.closest(`a.thumbnail_link`)?.remove():e.classList.contains(`image_thumbnail`)&&e.src!==a&&(e.src=a)};document.addEventListener(`error`,e=>{let t=e.target;t instanceof HTMLImageElement&&s(t)},!0);for(let e of document.querySelectorAll(`img.thumbnail, #urls img.image_thumbnail`))e.complete&&e.naturalWidth===0&&s(e);document.querySelector(`#search_url button#copy_url`)?.style.setProperty(`display`,`block`),n.selectImage=e=>{document.getElementById(`results`)?.classList.add(`image-detail-open`),window.location.hash=`#image-viewer`,n.scrollPageToSelected?.(),e&&o(e)},n.closeDetail=()=>{document.getElementById(`results`)?.classList.remove(`image-detail-open`),window.location.hash===`#image-viewer`&&window.history.back(),n.scrollPageToSelected?.()},t(`click`,`.btn-collapse`,function(){let e=this.getAttribute(`data-btn-text-collapsed`),t=this.getAttribute(`data-btn-text-not-collapsed`),n=this.getAttribute(`data-target`);if(!(n&&e&&t))return;let i=document.querySelector(n);r(i);let a=this.classList.contains(`collapsed`),o=a?t:e,s=a?e:t;this.innerHTML=this.innerHTML.replace(s,o),this.classList.toggle(`collapsed`),i.classList.toggle(`invisible`)}),t(`click`,`.media-loader`,function(){let e=this.getAttribute(`data-target`);if(!e)return;let t=document.querySelector(`${e} > iframe`);if(r(t),!t.getAttribute(`src`)){let e=t.getAttribute(`data-src`);e&&t.setAttribute(`src`,e)}}),t(`click`,`#copy_url`,async function(){let e=this.parentElement?.querySelector(`pre`);if(r(e),window.isSecureContext)await navigator.clipboard.writeText(e.innerText);else{let t=window.getSelection();if(t){let n=document.createRange();n.selectNodeContents(e),t.removeAllRanges(),t.addRange(n),document.execCommand(`copy`)}}this.dataset.copiedText&&(this.innerText=this.dataset.copiedText)}),t(`click`,`.result-detail-close`,e=>{e.preventDefault(),n.closeDetail?.()}),t(`click`,`.result-detail-previous`,e=>{e.preventDefault(),n.selectPrevious?.(!1)}),t(`click`,`.result-detail-next`,e=>{e.preventDefault(),n.selectNext?.(!1)}),window.addEventListener(`hashchange`,()=>{window.location.hash!==`#image-viewer`&&n.closeDetail?.()});var c=document.querySelectorAll(`.swipe-horizontal`);for(let e of c)t(`swiped-left`,e,()=>{n.selectNext?.(!1)}),t(`swiped-right`,e,()=>{n.selectPrevious?.(!1)});window.addEventListener(`scroll`,()=>{let e=document.getElementById(`backToTop`),t=document.getElementById(`results`);if(e&&t){let e=(document.documentElement.scrollTop||document.body.scrollTop)>=100;t.classList.toggle(`scrolling`,e)}},!0);
|
||||
//# sourceMappingURL=CFQtNTi4.min.js.map
|
||||
(function(e,t){typeof e.CustomEvent!=`function`&&(e.CustomEvent=function(e,n){n||={bubbles:!1,cancelable:!1,detail:void 0};var r=t.createEvent(`CustomEvent`);return r.initCustomEvent(e,n.bubbles,n.cancelable,n.detail),r},e.CustomEvent.prototype=e.Event.prototype),t.addEventListener(`touchstart`,u,!1),t.addEventListener(`touchmove`,d,!1),t.addEventListener(`touchend`,l,!1);var n=null,r=null,i=null,a=null,o=null,s=null,c=0;function l(e){if(s===e.target){var l=parseInt(f(s,`data-swipe-threshold`,`20`),10),u=f(s,`data-swipe-unit`,`px`),d=parseInt(f(s,`data-swipe-timeout`,`500`),10),p=Date.now()-o,m=``,h=e.changedTouches||e.touches||[];if(u===`vh`&&(l=Math.round(l/100*t.documentElement.clientHeight)),u===`vw`&&(l=Math.round(l/100*t.documentElement.clientWidth)),Math.abs(i)>Math.abs(a)?Math.abs(i)>l&&p<d&&(m=i>0?`swiped-left`:`swiped-right`):Math.abs(a)>l&&p<d&&(m=a>0?`swiped-up`:`swiped-down`),m!==``){var g={dir:m.replace(/swiped-/,``),touchType:(h[0]||{}).touchType||`direct`,fingers:c,xStart:parseInt(n,10),xEnd:parseInt((h[0]||{}).clientX||-1,10),yStart:parseInt(r,10),yEnd:parseInt((h[0]||{}).clientY||-1,10)};s.dispatchEvent(new CustomEvent(`swiped`,{bubbles:!0,cancelable:!0,detail:g})),s.dispatchEvent(new CustomEvent(m,{bubbles:!0,cancelable:!0,detail:g}))}n=null,r=null,o=null}}function u(e){e.target.getAttribute(`data-swipe-ignore`)!==`true`&&(s=e.target,o=Date.now(),n=e.touches[0].clientX,r=e.touches[0].clientY,i=0,a=0,c=e.touches.length)}function d(e){if(n&&r){var t=e.touches[0].clientX,o=e.touches[0].clientY;i=n-t,a=r-o}}function f(e,n,r){for(;e&&e!==t.documentElement;){var i=e.getAttribute(n);if(i)return i;e=e.parentNode}return r}})(window,document);var i,a=`${e.theme_static_path}/img/img_load_error.svg`,o=e=>{i&&clearTimeout(i);let t=e.querySelector(`.result-images-source img`);if(!t)return;let n=e.querySelector(`.image_thumbnail`);if(n){if(n.src===a)return;t.onerror=()=>{t.src=n.src},t.src=n.src}let r=t.getAttribute(`data-src`);r&&(i=setTimeout(()=>{t.src=r,t.removeAttribute(`data-src`)},1e3))},s=e=>{e.classList.contains(`thumbnail`)?e.closest(`a.thumbnail_link`)?.remove():e.classList.contains(`image_thumbnail`)&&e.src!==a&&(e.src=a)};document.addEventListener(`error`,e=>{let t=e.target;t instanceof HTMLImageElement&&s(t)},!0);for(let e of document.querySelectorAll(`img.thumbnail, #urls img.image_thumbnail`))e.complete&&e.naturalWidth===0&&s(e);document.querySelector(`#search_url button#copy_url`)?.style.setProperty(`display`,`block`),n.selectImage=e=>{document.getElementById(`results`)?.classList.add(`image-detail-open`),window.location.hash=`#image-viewer`,n.scrollPageToSelected?.(),e&&o(e)},n.closeDetail=()=>{document.getElementById(`results`)?.classList.remove(`image-detail-open`),window.location.hash===`#image-viewer`&&window.history.back(),n.scrollPageToSelected?.()},t(`click`,`.btn-collapse`,function(){let e=this.getAttribute(`data-btn-text-collapsed`),t=this.getAttribute(`data-btn-text-not-collapsed`),n=this.getAttribute(`data-target`);if(!(n&&e&&t))return;let i=document.querySelector(n);r(i);let a=this.classList.contains(`collapsed`),o=a?t:e,s=a?e:t;this.innerHTML=this.innerHTML.replace(s,o),this.classList.toggle(`collapsed`),i.classList.toggle(`invisible`)}),t(`click`,`.media-loader`,function(){let e=this.getAttribute(`data-target`);if(!e)return;let t=document.querySelector(`${e} > iframe`);if(r(t),!t.getAttribute(`src`)){let e=t.getAttribute(`data-src`);e&&t.setAttribute(`src`,e)}}),t(`click`,`#copy_url`,async function(){let e=this.parentElement?.querySelector(`pre`);if(r(e),window.isSecureContext)await navigator.clipboard.writeText(e.textContent);else{let t=window.getSelection();if(t){let n=document.createRange();n.selectNodeContents(e),t.removeAllRanges(),t.addRange(n),document.execCommand(`copy`)}}this.dataset.copiedText&&(this.textContent=this.dataset.copiedText)}),t(`click`,`.result-detail-close`,e=>{e.preventDefault(),n.closeDetail?.()}),t(`click`,`.result-detail-previous`,e=>{e.preventDefault(),n.selectPrevious?.(!1)}),t(`click`,`.result-detail-next`,e=>{e.preventDefault(),n.selectNext?.(!1)}),window.addEventListener(`hashchange`,()=>{window.location.hash!==`#image-viewer`&&n.closeDetail?.()});var c=document.querySelectorAll(`.swipe-horizontal`);for(let e of c)t(`swiped-left`,e,()=>{n.selectNext?.(!1)}),t(`swiped-right`,e,()=>{n.selectPrevious?.(!1)});window.addEventListener(`scroll`,()=>{let e=document.getElementById(`backToTop`),t=document.getElementById(`results`);if(e&&t){let e=(document.documentElement.scrollTop||document.body.scrollTop)>=100;t.classList.toggle(`scrolling`,e)}},!0);
|
||||
//# sourceMappingURL=Bu_sbHhO.min.js.map
|
||||
+1
-1
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
{"version":3,"file":"BuurKv-k.min.js","names":["Plugin","id","result","error"],"sources":["../../../../../client/simple/src/js/Plugin.ts"],"sourcesContent":["// SPDX-License-Identifier: AGPL-3.0-or-later\n\n/**\n * Base class for client-side plugins.\n *\n * @remarks\n * Handle conditional loading of the plugin in:\n *\n * - client/simple/src/js/router.ts\n *\n * @abstract\n */\nexport abstract class Plugin {\n /**\n * Plugin name.\n */\n protected readonly id: string;\n\n /**\n * @remarks\n * Don't hold references of this instance outside the class.\n */\n protected constructor(id: string) {\n this.id = id;\n\n queueMicrotask(() => this.invoke());\n }\n\n private async invoke(): Promise<void> {\n try {\n console.debug(`[PLUGIN] ${this.id}: Running...`);\n const result = await this.run();\n if (!result) return;\n\n console.debug(`[PLUGIN] ${this.id}: Running post-exec...`);\n // @ts-expect-error\n void (await this.post(result as NonNullable<Awaited<ReturnType<this[\"run\"]>>>));\n } catch (error) {\n console.error(`[PLUGIN] ${this.id}:`, error);\n } finally {\n console.debug(`[PLUGIN] ${this.id}: Done.`);\n }\n }\n\n /**\n * Plugin goes here.\n *\n * @remarks\n * The plugin is already loaded at this point. If you wish to execute\n * conditions to exit early, consider moving the logic to:\n *\n * - client/simple/src/js/router.ts\n *\n * ...to avoid unnecessarily loading this plugin on the client.\n */\n protected abstract run(): Promise<unknown>;\n\n /**\n * Post-execution hook.\n *\n * @remarks\n * The hook is only executed if `#run()` returns a truthy value.\n */\n // @ts-expect-error\n protected abstract post(result: NonNullable<Awaited<ReturnType<this[\"run\"]>>>): Promise<void>;\n}\n"],"mappings":"AAYA,IAAsBA,EAAtB,KAA6B,CAI3B,GAMA,YAAsB,EAAY,CAChC,KAAK,GAAKC,EAEV,mBAAqB,KAAK,OAAO,CAAC,CACpC,CAEA,MAAc,QAAwB,CACpC,GAAI,CACF,QAAQ,MAAM,YAAY,KAAK,GAAG,aAAa,EAC/C,IAAMC,EAAS,MAAM,KAAK,IAAI,EAC9B,GAAI,CAACA,EAAQ,OAEb,QAAQ,MAAM,YAAY,KAAK,GAAG,uBAAuB,EAEzD,MAAY,KAAK,KAAKA,CAAuD,CAC/E,OAASC,EAAO,CACd,QAAQ,MAAM,YAAY,KAAK,GAAG,GAAIA,CAAK,CAC7C,QAAU,CACR,QAAQ,MAAM,YAAY,KAAK,GAAG,QAAQ,CAC5C,CACF,CAuBF"}
|
||||
{"version":3,"file":"BuurKv-k.min.js","names":["Plugin","id","result","error"],"sources":["../../../../../client/simple/src/js/Plugin.ts"],"sourcesContent":["// SPDX-License-Identifier: AGPL-3.0-or-later\n\n/**\n * Base class for client-side plugins.\n *\n * @remarks\n * Handle conditional loading of the plugin in:\n *\n * - client/simple/src/js/router.ts\n *\n * @abstract\n */\nexport abstract class Plugin {\n /**\n * Plugin name.\n */\n protected readonly id: string;\n\n /**\n * @remarks\n * Don't hold references of this instance outside the class.\n */\n protected constructor(id: string) {\n this.id = id;\n\n queueMicrotask(() => this.invoke());\n }\n\n private async invoke(): Promise<void> {\n try {\n console.debug(`[PLUGIN] ${this.id}: Running...`);\n const result = await this.run();\n if (!result) return;\n\n console.debug(`[PLUGIN] ${this.id}: Running post-exec...`);\n // @ts-expect-error\n void (await this.post(result as NonNullable<Awaited<ReturnType<this[\"run\"]>>>));\n } catch (error) {\n console.error(`[PLUGIN] ${this.id}:`, error);\n } finally {\n console.debug(`[PLUGIN] ${this.id}: Done.`);\n }\n }\n\n /**\n * Plugin goes here.\n *\n * @remarks\n * The plugin is already loaded at this point. If you wish to execute\n * conditions to exit early, consider moving the logic to:\n *\n * - client/simple/src/js/router.ts\n *\n * ...to avoid unnecessarily loading this plugin on the client.\n */\n protected abstract run(): Promise<unknown>;\n\n /**\n * Post-execution hook.\n *\n * @remarks\n * The hook is only executed if `#run()` returns a truthy value.\n */\n // @ts-expect-error\n protected abstract post(result: NonNullable<Awaited<ReturnType<this[\"run\"]>>>): Promise<void>;\n}\n"],"mappings":"AAYA,IAAsBA,EAAtB,KAA6B,CAI3B,GAMA,YAAsB,EAAY,CAChC,KAAK,GAAKC,EAEV,mBAAqB,KAAK,OAAO,CAAC,CACpC,CAEA,MAAc,QAAwB,CACpC,GAAI,CACF,QAAQ,MAAM,YAAY,KAAK,GAAG,aAAa,EAC/C,IAAMC,EAAS,MAAM,KAAK,IAAI,EAC9B,GAAI,CAACA,EAAQ,OAEb,QAAQ,MAAM,YAAY,KAAK,GAAG,uBAAuB,EAEzD,MAAY,KAAK,KAAKA,CAAuD,CAC/E,OAASC,EAAO,CACd,QAAQ,MAAM,YAAY,KAAK,GAAG,GAAIA,CAAK,CAC7C,QAAU,CACR,QAAQ,MAAM,YAAY,KAAK,GAAG,QAAQ,CAC5C,CACF,CAuBF,E"}
|
||||
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
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
{"version":3,"file":"DK4yUVpy.min.js","names":["assertElement","element"],"sources":["../../../../../client/simple/src/js/util/assertElement.ts"],"sourcesContent":["// SPDX-License-Identifier: AGPL-3.0-or-later\n\ntype AssertElement = <T>(element?: T | null) => asserts element is T;\nexport const assertElement: AssertElement = <T>(element?: T | null): asserts element is T => {\n if (!element) {\n throw new Error(\"DOM element not found\");\n }\n};\n"],"mappings":"AAGA,IAAaA,EAAmC,GAA6C,CAC3F,GAAI,CAACC,EACH,MAAU,MAAM,uBAAuB,CAE3C"}
|
||||
{"version":3,"file":"DK4yUVpy.min.js","names":["assertElement","element"],"sources":["../../../../../client/simple/src/js/util/assertElement.ts"],"sourcesContent":["// SPDX-License-Identifier: AGPL-3.0-or-later\n\ntype AssertElement = <T>(element?: T | null) => asserts element is T;\nexport const assertElement: AssertElement = <T>(element?: T | null): asserts element is T => {\n if (!element) {\n throw new Error(\"DOM element not found\");\n }\n};\n"],"mappings":"AAGA,IAAaA,EAAmC,GAA6C,CAC3F,GAAI,CAACC,EACH,MAAU,MAAM,uBAAuB,CAE3C,E"}
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"DcK-mo-Y.min.js","names":["assertElement","getElement","element","id","options"],"sources":["../../../../../client/simple/src/js/util/getElement.ts"],"sourcesContent":["// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport { assertElement } from \"./assertElement.ts\";\n\ntype Options = {\n assert?: boolean;\n};\n\nexport function getElement<T>(id: string, options?: { assert: true }): T;\nexport function getElement<T>(id: string, options?: { assert: false }): T | null;\nexport function getElement<T>(id: string, options: Options = {}): T | null {\n options.assert ??= true;\n\n const element = document.getElementById(id) as T | null;\n\n if (options.assert) {\n assertElement(element);\n }\n\n return element;\n}\n"],"mappings":"sCAUA,SAAgBC,EAAc,EAAY,EAAmB,CAAC,EAAa,CACzE,EAAQ,SAAW,GAEnB,IAAMC,EAAU,SAAS,eAAeC,CAAE,EAM1C,OAJIC,EAAQ,QACVJ,EAAcE,CAAO,EAGhBA,CACT"}
|
||||
{"version":3,"file":"DcK-mo-Y.min.js","names":["assertElement","getElement","element","id","options"],"sources":["../../../../../client/simple/src/js/util/getElement.ts"],"sourcesContent":["// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport { assertElement } from \"./assertElement.ts\";\n\ntype Options = {\n assert?: boolean;\n};\n\nexport function getElement<T>(id: string, options?: { assert: true }): T;\nexport function getElement<T>(id: string, options?: { assert: false }): T | null;\nexport function getElement<T>(id: string, options: Options = {}): T | null {\n options.assert ??= true;\n\n const element = document.getElementById(id) as T | null;\n\n if (options.assert) {\n assertElement(element);\n }\n\n return element;\n}\n"],"mappings":"A,sCAUA,SAAgBC,EAAc,EAAY,EAAmB,CAAC,EAAa,CACzE,EAAQ,SAAW,GAEnB,IAAMC,EAAU,SAAS,eAAeC,CAAE,EAM1C,OAJIC,EAAQ,QACVJ,EAAcE,CAAO,EAGhBA,CACT,C"}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Vendored
+2
-2
@@ -1,2 +1,2 @@
|
||||
import{i as e,n as t,t as n}from"../sxng-core.min.js";import{t as r}from"./DK4yUVpy.min.js";var i,a=async()=>{if(!i){try{i=await(await n(`GET`,`engine_descriptions.json`)).json()}catch(e){console.error(`Error fetching engineDescriptions:`,e)}if(i)for(let[t,[n,r]]of Object.entries(i)){let i=document.querySelectorAll(`[data-engine-name="${t}"] .engine-description`),a=` (<i>${e.translations?.Source}: ${r}</i>)`;for(let e of i)e.innerHTML=n+a}}},o=(e,t)=>{for(let n of t)n.offsetParent&&(n.checked=!e)},s=document.querySelectorAll(`[data-engine-name]`);for(let e of s)t(`mouseenter`,e,a);var c=document.querySelectorAll(`tbody input[type=checkbox][class~=checkbox-onoff]`),l=document.querySelectorAll(`.enable-all-engines`);for(let e of l)t(`click`,e,()=>o(!0,c));var u=document.querySelectorAll(`.disable-all-engines`);for(let e of u)t(`click`,e,()=>o(!1,c));t(`click`,`#copy-hash`,async function(){let e=this.parentElement?.querySelector(`pre`);if(r(e),window.isSecureContext)await navigator.clipboard.writeText(e.innerText);else{let t=window.getSelection();if(t){let n=document.createRange();n.selectNodeContents(e),t.removeAllRanges(),t.addRange(n),document.execCommand(`copy`)}}this.dataset.copiedText&&(this.innerText=this.dataset.copiedText)});
|
||||
//# sourceMappingURL=e2-9fzwE.min.js.map
|
||||
import{i as e,n as t,t as n}from"../sxng-core.min.js";import{t as r}from"./DK4yUVpy.min.js";var i,a=async()=>{if(!i){try{i=await(await n(`GET`,`engine_descriptions.json`)).json()}catch(e){console.error(`Error fetching engineDescriptions:`,e)}if(i)for(let[t,[n,r]]of Object.entries(i)){let i=document.querySelectorAll(`[data-engine-name="${t}"] .engine-description`),a=` (<i>${e.translations?.Source}: ${r}</i>)`;for(let e of i)e.innerHTML=n+a}}},o=(e,t)=>{for(let n of t)n.offsetParent&&(n.checked=!e)},s=document.querySelectorAll(`[data-engine-name]`);for(let e of s)t(`mouseenter`,e,a);var c=document.querySelectorAll(`tbody input[type=checkbox][class~=checkbox-onoff]`),l=document.querySelectorAll(`.enable-all-engines`);for(let e of l)t(`click`,e,()=>o(!0,c));var u=document.querySelectorAll(`.disable-all-engines`);for(let e of u)t(`click`,e,()=>o(!1,c));t(`click`,`#copy-hash`,async function(){let e=this.parentElement?.querySelector(`pre`);if(r(e),window.isSecureContext)await navigator.clipboard.writeText(e.textContent);else{let t=window.getSelection();if(t){let n=document.createRange();n.selectNodeContents(e),t.removeAllRanges(),t.addRange(n),document.execCommand(`copy`)}}this.dataset.copiedText&&(this.textContent=this.dataset.copiedText)});
|
||||
//# sourceMappingURL=DrJUb27w.min.js.map
|
||||
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"e2-9fzwE.min.js","names":["settings","listen","http","assertElement","engineDescriptions","loadEngineDescriptions","error","engine_name","description","source","elements","sourceText","element","toggleEngines","engineToggle","engineToggles","enable","engineElements","engineElement","enableAllEngines","engine","disableAllEngines","target","selection","range"],"sources":["../../../../../client/simple/src/js/main/preferences.ts"],"sourcesContent":["// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport { http, listen, settings } from \"../toolkit.ts\";\nimport { assertElement } from \"../util/assertElement.ts\";\n\nlet engineDescriptions: Record<string, [string, string]> | undefined;\n\nconst loadEngineDescriptions = async (): Promise<void> => {\n if (engineDescriptions) return;\n try {\n const res = await http(\"GET\", \"engine_descriptions.json\");\n engineDescriptions = await res.json();\n } catch (error) {\n console.error(\"Error fetching engineDescriptions:\", error);\n }\n if (!engineDescriptions) return;\n\n for (const [engine_name, [description, source]] of Object.entries(engineDescriptions)) {\n const elements = document.querySelectorAll<HTMLElement>(`[data-engine-name=\"${engine_name}\"] .engine-description`);\n const sourceText = ` (<i>${settings.translations?.Source}: ${source}</i>)`;\n\n for (const element of elements) {\n element.innerHTML = description + sourceText;\n }\n }\n};\n\nconst toggleEngines = (enable: boolean, engineToggles: NodeListOf<HTMLInputElement>): void => {\n for (const engineToggle of engineToggles) {\n // check if element visible, so that only engines of the current category are modified\n if (engineToggle.offsetParent) {\n engineToggle.checked = !enable;\n }\n }\n};\n\nconst engineElements: NodeListOf<HTMLElement> = document.querySelectorAll<HTMLElement>(\"[data-engine-name]\");\nfor (const engineElement of engineElements) {\n listen(\"mouseenter\", engineElement, loadEngineDescriptions);\n}\n\nconst engineToggles: NodeListOf<HTMLInputElement> = document.querySelectorAll<HTMLInputElement>(\n \"tbody input[type=checkbox][class~=checkbox-onoff]\"\n);\n\nconst enableAllEngines: NodeListOf<HTMLElement> = document.querySelectorAll<HTMLElement>(\".enable-all-engines\");\nfor (const engine of enableAllEngines) {\n listen(\"click\", engine, () => toggleEngines(true, engineToggles));\n}\n\nconst disableAllEngines: NodeListOf<HTMLElement> = document.querySelectorAll<HTMLElement>(\".disable-all-engines\");\nfor (const engine of disableAllEngines) {\n listen(\"click\", engine, () => toggleEngines(false, engineToggles));\n}\n\nlisten(\"click\", \"#copy-hash\", async function (this: HTMLElement) {\n const target = this.parentElement?.querySelector<HTMLPreElement>(\"pre\");\n assertElement(target);\n\n if (window.isSecureContext) {\n await navigator.clipboard.writeText(target.innerText);\n } else {\n const selection = window.getSelection();\n if (selection) {\n const range = document.createRange();\n range.selectNodeContents(target);\n selection.removeAllRanges();\n selection.addRange(range);\n document.execCommand(\"copy\");\n }\n }\n\n if (this.dataset.copiedText) {\n this.innerText = this.dataset.copiedText;\n }\n});\n"],"mappings":"4FAKA,IAAII,EAEEC,EAAyB,SAA2B,CACxD,GAAI,GACJ,IAAI,CAEF,EAAqB,MAAM,MADTH,EAAK,MAAO,0BAA0B,EAAA,CACzB,KAAK,CACtC,OAASI,EAAO,CACd,QAAQ,MAAM,qCAAsCA,CAAK,CAC3D,CACA,GAAKF,EAEL,IAAK,GAAM,CAACG,EAAa,CAACC,EAAaC,MAAY,OAAO,QAAQL,CAAkB,EAAG,CACrF,IAAMM,EAAW,SAAS,iBAA8B,sBAAsBH,EAAY,uBAAuB,EAC3GI,EAAa,QAAQX,EAAS,cAAc,OAAO,SAASS,EAAO,OAEzE,IAAK,IAAMG,KAAWF,EACpB,EAAQ,UAAYF,EAAcG,CAEtC,CAVA,CAWF,EAEME,GAAiB,EAAiB,IAAsD,CAC5F,IAAK,IAAMC,KAAgBC,EAErBD,EAAa,eACf,EAAa,QAAU,CAACE,EAG9B,EAEMC,EAA0C,SAAS,iBAA8B,oBAAoB,EAC3G,IAAK,IAAMC,KAAiBD,EAC1BhB,EAAO,aAAciB,EAAeb,CAAsB,EAG5D,IAAMU,EAA8C,SAAS,iBAC3D,mDACF,EAEMI,EAA4C,SAAS,iBAA8B,qBAAqB,EAC9G,IAAK,IAAMC,KAAUD,EACnBlB,EAAO,QAASmB,MAAcP,EAAc,GAAME,CAAa,CAAC,EAGlE,IAAMM,EAA6C,SAAS,iBAA8B,sBAAsB,EAChH,IAAK,IAAMD,KAAUC,EACnBpB,EAAO,QAASmB,MAAcP,EAAc,GAAOE,CAAa,CAAC,EAGnEd,EAAO,QAAS,aAAc,gBAAmC,CAC/D,IAAMqB,EAAS,KAAK,eAAe,cAA8B,KAAK,EAGtE,GAFAnB,EAAcmB,CAAM,EAEhB,OAAO,gBACT,MAAM,UAAU,UAAU,UAAUA,EAAO,SAAS,MAC/C,CACL,IAAMC,EAAY,OAAO,aAAa,EACtC,GAAIA,EAAW,CACb,IAAMC,EAAQ,SAAS,YAAY,EACnCA,EAAM,mBAAmBF,CAAM,EAC/BC,EAAU,gBAAgB,EAC1BA,EAAU,SAASC,CAAK,EACxB,SAAS,YAAY,MAAM,CAC7B,CACF,CAEI,KAAK,QAAQ,aACf,KAAK,UAAY,KAAK,QAAQ,WAElC,CAAC"}
|
||||
{"version":3,"file":"DrJUb27w.min.js","names":["settings","listen","http","assertElement","engineDescriptions","loadEngineDescriptions","error","engine_name","description","source","elements","sourceText","element","toggleEngines","engineToggle","engineToggles","enable","engineElements","engineElement","enableAllEngines","engine","disableAllEngines","target","selection","range"],"sources":["../../../../../client/simple/src/js/main/preferences.ts"],"sourcesContent":["// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport { http, listen, settings } from \"../toolkit.ts\";\nimport { assertElement } from \"../util/assertElement.ts\";\n\nlet engineDescriptions: Record<string, [string, string]> | undefined;\n\nconst loadEngineDescriptions = async (): Promise<void> => {\n if (engineDescriptions) return;\n try {\n const res = await http(\"GET\", \"engine_descriptions.json\");\n engineDescriptions = await res.json();\n } catch (error) {\n console.error(\"Error fetching engineDescriptions:\", error);\n }\n if (!engineDescriptions) return;\n\n for (const [engine_name, [description, source]] of Object.entries(engineDescriptions)) {\n const elements = document.querySelectorAll<HTMLElement>(`[data-engine-name=\"${engine_name}\"] .engine-description`);\n const sourceText = ` (<i>${settings.translations?.Source}: ${source}</i>)`;\n\n for (const element of elements) {\n element.innerHTML = description + sourceText;\n }\n }\n};\n\nconst toggleEngines = (enable: boolean, engineToggles: NodeListOf<HTMLInputElement>): void => {\n for (const engineToggle of engineToggles) {\n // check if element visible, so that only engines of the current category are modified\n if (engineToggle.offsetParent) {\n engineToggle.checked = !enable;\n }\n }\n};\n\nconst engineElements: NodeListOf<HTMLElement> = document.querySelectorAll<HTMLElement>(\"[data-engine-name]\");\nfor (const engineElement of engineElements) {\n listen(\"mouseenter\", engineElement, loadEngineDescriptions);\n}\n\nconst engineToggles: NodeListOf<HTMLInputElement> = document.querySelectorAll<HTMLInputElement>(\n \"tbody input[type=checkbox][class~=checkbox-onoff]\"\n);\n\nconst enableAllEngines: NodeListOf<HTMLElement> = document.querySelectorAll<HTMLElement>(\".enable-all-engines\");\nfor (const engine of enableAllEngines) {\n listen(\"click\", engine, () => toggleEngines(true, engineToggles));\n}\n\nconst disableAllEngines: NodeListOf<HTMLElement> = document.querySelectorAll<HTMLElement>(\".disable-all-engines\");\nfor (const engine of disableAllEngines) {\n listen(\"click\", engine, () => toggleEngines(false, engineToggles));\n}\n\nlisten(\"click\", \"#copy-hash\", async function (this: HTMLElement) {\n const target = this.parentElement?.querySelector<HTMLPreElement>(\"pre\");\n assertElement(target);\n\n if (window.isSecureContext) {\n await navigator.clipboard.writeText(target.textContent);\n } else {\n const selection = window.getSelection();\n if (selection) {\n const range = document.createRange();\n range.selectNodeContents(target);\n selection.removeAllRanges();\n selection.addRange(range);\n document.execCommand(\"copy\");\n }\n }\n\n if (this.dataset.copiedText) {\n this.textContent = this.dataset.copiedText;\n }\n});\n"],"mappings":"A,4FAKA,IAAII,EAEEC,EAAyB,SAA2B,CACxD,GAAI,GACJ,IAAI,CAEF,EAAqB,MAAM,MADTH,EAAK,MAAO,0BAA0B,EAAA,CACzB,KAAK,CACtC,OAASI,EAAO,CACd,QAAQ,MAAM,qCAAsCA,CAAK,CAC3D,CACA,GAAKF,EAEL,IAAK,GAAM,CAACG,EAAa,CAACC,EAAaC,MAAY,OAAO,QAAQL,CAAkB,EAAG,CACrF,IAAMM,EAAW,SAAS,iBAA8B,sBAAsBH,EAAY,uBAAuB,EAC3GI,EAAa,QAAQX,EAAS,cAAc,OAAO,SAASS,EAAO,OAEzE,IAAK,IAAMG,KAAWF,EACpB,EAAQ,UAAYF,EAAcG,CAEtC,CAVA,CAWF,EAEME,GAAiB,EAAiB,IAAsD,CAC5F,IAAK,IAAMC,KAAgBC,EAErBD,EAAa,eACf,EAAa,QAAU,CAACE,EAG9B,EAEMC,EAA0C,SAAS,iBAA8B,oBAAoB,EAC3G,IAAK,IAAMC,KAAiBD,EAC1BhB,EAAO,aAAciB,EAAeb,CAAsB,EAG5D,IAAMU,EAA8C,SAAS,iBAC3D,mDACF,EAEMI,EAA4C,SAAS,iBAA8B,qBAAqB,EAC9G,IAAK,IAAMC,KAAUD,EACnBlB,EAAO,QAASmB,MAAcP,EAAc,GAAME,CAAa,CAAC,EAGlE,IAAMM,EAA6C,SAAS,iBAA8B,sBAAsB,EAChH,IAAK,IAAMD,KAAUC,EACnBpB,EAAO,QAASmB,MAAcP,EAAc,GAAOE,CAAa,CAAC,EAGnEd,EAAO,QAAS,aAAc,gBAAmC,CAC/D,IAAMqB,EAAS,KAAK,eAAe,cAA8B,KAAK,EAGtE,GAFAnB,EAAcmB,CAAM,EAEhB,OAAO,gBACT,MAAM,UAAU,UAAU,UAAUA,EAAO,WAAW,MACjD,CACL,IAAMC,EAAY,OAAO,aAAa,EACtC,GAAIA,EAAW,CACb,IAAMC,EAAQ,SAAS,YAAY,EACnCA,EAAM,mBAAmBF,CAAM,EAC/BC,EAAU,gBAAgB,EAC1BA,EAAU,SAASC,CAAK,EACxB,SAAS,YAAY,MAAM,CAC7B,CACF,CAEI,KAAK,QAAQ,aACf,KAAK,YAAc,KAAK,QAAQ,WAEpC,CAAC"}
|
||||
@@ -51,7 +51,7 @@
|
||||
]
|
||||
},
|
||||
"src/js/main/preferences.ts": {
|
||||
"file": "chunk/e2-9fzwE.min.js",
|
||||
"file": "chunk/DrJUb27w.min.js",
|
||||
"name": "preferences",
|
||||
"src": "src/js/main/preferences.ts",
|
||||
"isDynamicEntry": true,
|
||||
@@ -61,7 +61,7 @@
|
||||
]
|
||||
},
|
||||
"src/js/main/results.ts": {
|
||||
"file": "chunk/CFQtNTi4.min.js",
|
||||
"file": "chunk/Bu_sbHhO.min.js",
|
||||
"name": "results",
|
||||
"src": "src/js/main/results.ts",
|
||||
"isDynamicEntry": true,
|
||||
@@ -81,7 +81,7 @@
|
||||
]
|
||||
},
|
||||
"src/js/plugin/Calculator.ts": {
|
||||
"file": "chunk/CGtCrbI8.min.js",
|
||||
"file": "chunk/DisAuMqR.min.js",
|
||||
"name": "calculator",
|
||||
"src": "src/js/plugin/Calculator.ts",
|
||||
"isDynamicEntry": true,
|
||||
@@ -103,7 +103,7 @@
|
||||
]
|
||||
},
|
||||
"src/js/plugin/MapView.ts": {
|
||||
"file": "chunk/DAKwL16e.min.js",
|
||||
"file": "chunk/BouIGjk1.min.js",
|
||||
"name": "mapview",
|
||||
"src": "src/js/plugin/MapView.ts",
|
||||
"isDynamicEntry": true,
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./chunk/DAKwL16e.min.js","./chunk/BuurKv-k.min.js","./sxng-mapview.min.css","./chunk/D3mcqWOe.min.js","./chunk/DK4yUVpy.min.js","./chunk/DcK-mo-Y.min.js","./chunk/CGtCrbI8.min.js","./chunk/CGcztD0S.min.js","./chunk/BMrKiJ3q.min.js","./chunk/Bs-FMxfE.min.js","./chunk/CFQtNTi4.min.js","./chunk/e2-9fzwE.min.js"])))=>i.map(i=>d[i]);
|
||||
var e={index:`index`,results:`results`,preferences:`preferences`,unknown:`unknown`},t={closeDetail:void 0,scrollPageToSelected:void 0,selectImage:void 0,selectNext:void 0,selectPrevious:void 0},n=()=>{let t=document.querySelector(`meta[name="endpoint"]`)?.getAttribute(`content`);return t&&t in e?t:e.unknown},r=()=>{let e=document.querySelector(`script[client_settings]`)?.getAttribute(`client_settings`);if(!e)return{};try{return JSON.parse(atob(e))}catch(e){return console.error(`Failed to load client_settings:`,e),{}}},i=async(e,t,n)=>{let r=new AbortController,i=setTimeout(()=>r.abort(),n?.timeout??3e4),a=await fetch(t,{body:n?.body,method:e,signal:r.signal}).finally(()=>clearTimeout(i));if(!a.ok)throw Error(a.statusText);return a},a=(e,t,n,r)=>{typeof t==`string`?document.addEventListener(e,e=>{for(let r of e.composedPath())if(r instanceof HTMLElement&&r.matches(t)){try{n.call(r,e)}catch(e){console.error(e)}break}},r):t.addEventListener(e,n,r)},o=(e,t)=>{for(let e of t?.on??[])if(!e)return;document.readyState===`loading`?a(`DOMContentLoaded`,document,e,{once:!0}):e()},s=n(),c=r(),l=(e,t)=>{u(t)&&e()},u=e=>{switch(e.on){case`global`:return!0;case`endpoint`:return!!e.where.includes(s)}},d=`modulepreload`,f=function(e,t){return new URL(e,t).href},p={},m=function(e){return e.pathname.endsWith(`.css`)},h=function(e,t,n){if(t in e)return e[t];let r=n();if(!r){e[t]=void 0;return}let i=r.then(()=>{e[t]=void 0},n=>{throw e[t]=void 0,n});return e[t]=i,i},g=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e,i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?new URL(import.meta.resolve(e)):new URL(e,import.meta.url)}r=o(t.map(t=>{t=f(t,n);let r=s(t),i=m(r);return h(p,r.href,()=>{if(e===void 0){e={all:new Set,styles:new Set};let t=document.getElementsByTagName(`link`);for(let n=t.length-1;n>=0;n--){let r=t[n];e.all.add(r.href),r.rel===`stylesheet`&&e.styles.add(r.href)}}if((i?e.styles:e.all).has(r.href))return;let t=document.createElement(`link`);if(t.rel=i?`stylesheet`:d,i||(t.as=`script`),t.crossOrigin=``,t.href=r.href,a&&t.setAttribute(`nonce`,a),document.head.appendChild(t),i)return new Promise((e,n)=>{t.addEventListener(`load`,e),t.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${r}`)))})})}).filter(e=>e!==void 0))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})};o(()=>{document.documentElement.classList.remove(`no-js`),document.documentElement.classList.add(`js`),a(`click`,`.close`,function(){this.parentNode?.classList.add(`invisible`)}),a(`click`,`.searxng_init_map`,async function(t){t.preventDefault(),this.classList.remove(`searxng_init_map`),l(()=>g(async()=>{let{default:e}=await import(`./chunk/DAKwL16e.min.js`);return{default:e}},__vite__mapDeps([0,1,2]),import.meta.url).then(({default:e})=>new e(this)),{on:`endpoint`,where:[e.results]})}),c.plugins?.includes(`infiniteScroll`)&&l(()=>g(async()=>{let{default:e}=await import(`./chunk/D3mcqWOe.min.js`);return{default:e}},__vite__mapDeps([3,1,4,5]),import.meta.url).then(({default:e})=>new e),{on:`endpoint`,where:[e.results]}),c.plugins?.includes(`calculator`)&&l(()=>g(async()=>{let{default:e}=await import(`./chunk/CGtCrbI8.min.js`);return{default:e}},__vite__mapDeps([6,1,5,4]),import.meta.url).then(({default:e})=>new e),{on:`endpoint`,where:[e.results]})}),o(()=>{g(()=>import(`./chunk/CGcztD0S.min.js`),__vite__mapDeps([7,4]),import.meta.url),g(()=>import(`./chunk/BMrKiJ3q.min.js`),__vite__mapDeps([8,5,4]),import.meta.url),c.autocomplete&&g(()=>import(`./chunk/Bs-FMxfE.min.js`),__vite__mapDeps([9,4]),import.meta.url)},{on:[s===e.index]}),o(()=>{g(()=>import(`./chunk/CGcztD0S.min.js`),__vite__mapDeps([7,4]),import.meta.url),g(()=>import(`./chunk/CFQtNTi4.min.js`),__vite__mapDeps([10,4]),import.meta.url),g(()=>import(`./chunk/BMrKiJ3q.min.js`),__vite__mapDeps([8,5,4]),import.meta.url),c.autocomplete&&g(()=>import(`./chunk/Bs-FMxfE.min.js`),__vite__mapDeps([9,4]),import.meta.url)},{on:[s===e.results]}),o(()=>{g(()=>import(`./chunk/e2-9fzwE.min.js`),__vite__mapDeps([11,4]),import.meta.url)},{on:[s===e.preferences]});export{c as i,a as n,t as r,i as t};
|
||||
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./chunk/BouIGjk1.min.js","./chunk/BuurKv-k.min.js","./sxng-mapview.min.css","./chunk/D3mcqWOe.min.js","./chunk/DK4yUVpy.min.js","./chunk/DcK-mo-Y.min.js","./chunk/DisAuMqR.min.js","./chunk/CGcztD0S.min.js","./chunk/BMrKiJ3q.min.js","./chunk/Bs-FMxfE.min.js","./chunk/Bu_sbHhO.min.js","./chunk/DrJUb27w.min.js"])))=>i.map(i=>d[i]);
|
||||
var e={index:`index`,results:`results`,preferences:`preferences`,unknown:`unknown`},t={closeDetail:void 0,scrollPageToSelected:void 0,selectImage:void 0,selectNext:void 0,selectPrevious:void 0},n=()=>{let t=document.querySelector(`meta[name="endpoint"]`)?.getAttribute(`content`);return t&&t in e?t:e.unknown},r=()=>{let e=document.querySelector(`script[client_settings]`)?.getAttribute(`client_settings`);if(!e)return{};try{return JSON.parse(atob(e))}catch(e){return console.error(`Failed to load client_settings:`,e),{}}},i=async(e,t,n)=>{let r=new AbortController,i=setTimeout(()=>r.abort(),n?.timeout??3e4),a=await fetch(t,{body:n?.body,method:e,signal:r.signal}).finally(()=>clearTimeout(i));if(!a.ok)throw Error(a.statusText);return a},a=(e,t,n,r)=>{typeof t==`string`?document.addEventListener(e,e=>{for(let r of e.composedPath())if(r instanceof HTMLElement&&r.matches(t)){try{n.call(r,e)}catch(e){console.error(e)}break}},r):t.addEventListener(e,n,r)},o=(e,t)=>{for(let e of t?.on??[])if(!e)return;document.readyState===`loading`?a(`DOMContentLoaded`,document,e,{once:!0}):e()},s=n(),c=r(),l=(e,t)=>{u(t)&&e()},u=e=>{switch(e.on){case`global`:return!0;case`endpoint`:return!!e.where.includes(s)}},d=`modulepreload`,f=function(e,t){return new URL(e,t).href},p={},m=function(e){return e.pathname.endsWith(`.css`)},h=function(e,t,n){if(t in e)return e[t];let r=n();if(!r){e[t]=void 0;return}let i=r.then(()=>{e[t]=void 0},n=>{throw e[t]=void 0,n});return e[t]=i,i},g=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e,i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?new URL(import.meta.resolve(e)):new URL(e,import.meta.url)}r=o(t.map(t=>{t=f(t,n);let r=s(t),i=m(r);return h(p,r.href,()=>{if(e===void 0){e={all:new Set,styles:new Set};let t=document.getElementsByTagName(`link`);for(let n=t.length-1;n>=0;n--){let r=t[n];e.all.add(r.href),r.rel===`stylesheet`&&e.styles.add(r.href)}}if((i?e.styles:e.all).has(r.href))return;let t=document.createElement(`link`);if(t.rel=i?`stylesheet`:d,i||(t.as=`script`),t.crossOrigin=``,t.href=r.href,a&&t.setAttribute(`nonce`,a),document.head.appendChild(t),i)return new Promise((e,n)=>{t.addEventListener(`load`,e),t.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${r}`)))})})}).filter(e=>e!==void 0))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})};o(()=>{document.documentElement.classList.remove(`no-js`),document.documentElement.classList.add(`js`),a(`click`,`.close`,function(){this.parentNode?.classList.add(`invisible`)}),a(`click`,`.searxng_init_map`,async function(t){t.preventDefault(),this.classList.remove(`searxng_init_map`),l(()=>g(async()=>{let{default:e}=await import(`./chunk/BouIGjk1.min.js`);return{default:e}},__vite__mapDeps([0,1,2]),import.meta.url).then(({default:e})=>new e(this)),{on:`endpoint`,where:[e.results]})}),c.plugins?.includes(`infiniteScroll`)&&l(()=>g(async()=>{let{default:e}=await import(`./chunk/D3mcqWOe.min.js`);return{default:e}},__vite__mapDeps([3,1,4,5]),import.meta.url).then(({default:e})=>new e),{on:`endpoint`,where:[e.results]}),c.plugins?.includes(`calculator`)&&l(()=>g(async()=>{let{default:e}=await import(`./chunk/DisAuMqR.min.js`);return{default:e}},__vite__mapDeps([6,1,5,4]),import.meta.url).then(({default:e})=>new e),{on:`endpoint`,where:[e.results]})}),o(()=>{g(()=>import(`./chunk/CGcztD0S.min.js`),__vite__mapDeps([7,4]),import.meta.url),g(()=>import(`./chunk/BMrKiJ3q.min.js`),__vite__mapDeps([8,5,4]),import.meta.url),c.autocomplete&&g(()=>import(`./chunk/Bs-FMxfE.min.js`),__vite__mapDeps([9,4]),import.meta.url)},{on:[s===e.index]}),o(()=>{g(()=>import(`./chunk/CGcztD0S.min.js`),__vite__mapDeps([7,4]),import.meta.url),g(()=>import(`./chunk/Bu_sbHhO.min.js`),__vite__mapDeps([10,4]),import.meta.url),g(()=>import(`./chunk/BMrKiJ3q.min.js`),__vite__mapDeps([8,5,4]),import.meta.url),c.autocomplete&&g(()=>import(`./chunk/Bs-FMxfE.min.js`),__vite__mapDeps([9,4]),import.meta.url)},{on:[s===e.results]}),o(()=>{g(()=>import(`./chunk/DrJUb27w.min.js`),__vite__mapDeps([11,4]),import.meta.url)},{on:[s===e.preferences]});export{c as i,a as n,t as r,i as t};
|
||||
//# sourceMappingURL=sxng-core.min.js.map
|
||||
File diff suppressed because one or more lines are too long
Binary file not shown.
@@ -23,9 +23,9 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2026-10-04 05:47+0000\n"
|
||||
"PO-Revision-Date: 2026-10-01 19:27+0000\n"
|
||||
"Last-Translator: Raithlin <raithlin@noreply.codeberg.org>\n"
|
||||
"POT-Creation-Date: 2026-10-09 19:03+0000\n"
|
||||
"PO-Revision-Date: 2026-10-09 14:20+0000\n"
|
||||
"Last-Translator: return42 <return42@noreply.codeberg.org>\n"
|
||||
"Language: af\n"
|
||||
"Language-Team: Afrikaans "
|
||||
"<https://translate.codeberg.org/projects/searxng/searxng/af/>\n"
|
||||
@@ -53,7 +53,7 @@ msgstr "toeps"
|
||||
#. CATEGORY_NAMES['BLOGS']
|
||||
#: searx/searxng.msg
|
||||
msgid "blogs"
|
||||
msgstr "blogs"
|
||||
msgstr "webjoernaal"
|
||||
|
||||
#. CATEGORY_NAMES['DICTIONARIES']
|
||||
#: searx/searxng.msg
|
||||
@@ -98,7 +98,7 @@ msgstr "kaart"
|
||||
#. CATEGORY_NAMES['MOVIES']
|
||||
#: searx/searxng.msg
|
||||
msgid "movies"
|
||||
msgstr "rolprente"
|
||||
msgstr "flieks"
|
||||
|
||||
#. CATEGORY_NAMES['MUSIC']
|
||||
#: searx/searxng.msg
|
||||
@@ -589,15 +589,107 @@ msgstr "Bron"
|
||||
msgid "Error loading the next page"
|
||||
msgstr "Fout met die laai van die volgende bladsy"
|
||||
|
||||
#: searx/webapp.py:478 searx/webapp.py:878
|
||||
#: searx/webapp.py:332
|
||||
msgid "close"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:333
|
||||
msgid "How to navigate SearXNG with hotkeys"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:334
|
||||
msgid "Control"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:335
|
||||
msgid "Results"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:336
|
||||
msgid "Navigation"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:337
|
||||
msgid "Other"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:338
|
||||
msgid "remove focus from the focused input"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:339
|
||||
msgid "copy url of the selected result to the clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:340
|
||||
msgid "toggle help window"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:341
|
||||
msgid "focus on the search input"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:342
|
||||
msgid "go to next page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:343
|
||||
msgid "open search result"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:344
|
||||
msgid "go to previous page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:345
|
||||
msgid "reload page from the server"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:346
|
||||
msgid "open the result in a new tab"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:347
|
||||
msgid "select previous search result"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:348
|
||||
msgid "select next search result"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:349
|
||||
msgid "scroll one page up"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:350
|
||||
msgid "scroll half a page down"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:351
|
||||
msgid "scroll one page down"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:352
|
||||
msgid "scroll to the top of the page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:353
|
||||
msgid "scroll half a page up"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:354
|
||||
msgid "scroll to the bottom of the page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:502 searx/webapp.py:902
|
||||
msgid "Invalid settings, please edit your preferences"
|
||||
msgstr "Ongeldige opstellings, redigeer asb jou voorkeure"
|
||||
|
||||
#: searx/webapp.py:494
|
||||
#: searx/webapp.py:518
|
||||
msgid "Invalid settings"
|
||||
msgstr "Ongeldige opstellings"
|
||||
|
||||
#: searx/webapp.py:570 searx/webapp.py:660
|
||||
#: searx/webapp.py:594 searx/webapp.py:684
|
||||
msgid "search error"
|
||||
msgstr "soekfout"
|
||||
|
||||
|
||||
Binary file not shown.
@@ -33,7 +33,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: searx\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2026-10-04 05:47+0000\n"
|
||||
"POT-Creation-Date: 2026-10-09 19:03+0000\n"
|
||||
"PO-Revision-Date: 2026-06-28 18:07+0000\n"
|
||||
"Last-Translator: nebras <nebras@noreply.codeberg.org>\n"
|
||||
"Language: ar\n"
|
||||
@@ -600,15 +600,107 @@ msgstr "مصدر"
|
||||
msgid "Error loading the next page"
|
||||
msgstr "خطأ في تحميل الصفحة التالية"
|
||||
|
||||
#: searx/webapp.py:478 searx/webapp.py:878
|
||||
#: searx/webapp.py:332
|
||||
msgid "close"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:333
|
||||
msgid "How to navigate SearXNG with hotkeys"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:334
|
||||
msgid "Control"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:335
|
||||
msgid "Results"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:336
|
||||
msgid "Navigation"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:337
|
||||
msgid "Other"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:338
|
||||
msgid "remove focus from the focused input"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:339
|
||||
msgid "copy url of the selected result to the clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:340
|
||||
msgid "toggle help window"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:341
|
||||
msgid "focus on the search input"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:342
|
||||
msgid "go to next page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:343
|
||||
msgid "open search result"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:344
|
||||
msgid "go to previous page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:345
|
||||
msgid "reload page from the server"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:346
|
||||
msgid "open the result in a new tab"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:347
|
||||
msgid "select previous search result"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:348
|
||||
msgid "select next search result"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:349
|
||||
msgid "scroll one page up"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:350
|
||||
msgid "scroll half a page down"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:351
|
||||
msgid "scroll one page down"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:352
|
||||
msgid "scroll to the top of the page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:353
|
||||
msgid "scroll half a page up"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:354
|
||||
msgid "scroll to the bottom of the page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:502 searx/webapp.py:902
|
||||
msgid "Invalid settings, please edit your preferences"
|
||||
msgstr "إعدادات غير صالحة، يرجى تعديل تفضيلاتك"
|
||||
|
||||
#: searx/webapp.py:494
|
||||
#: searx/webapp.py:518
|
||||
msgid "Invalid settings"
|
||||
msgstr "إعدادات غير صالحة"
|
||||
|
||||
#: searx/webapp.py:570 searx/webapp.py:660
|
||||
#: searx/webapp.py:594 searx/webapp.py:684
|
||||
msgid "search error"
|
||||
msgstr "خطأ في البحث"
|
||||
|
||||
|
||||
Binary file not shown.
@@ -23,7 +23,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: searx\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2026-10-04 05:47+0000\n"
|
||||
"POT-Creation-Date: 2026-10-09 19:03+0000\n"
|
||||
"PO-Revision-Date: 2026-08-21 20:54+0000\n"
|
||||
"Last-Translator: return42 <return42@noreply.codeberg.org>\n"
|
||||
"Language: bg\n"
|
||||
@@ -589,15 +589,107 @@ msgstr "Източник"
|
||||
msgid "Error loading the next page"
|
||||
msgstr "Грешка при зареждането на следващата страница"
|
||||
|
||||
#: searx/webapp.py:478 searx/webapp.py:878
|
||||
#: searx/webapp.py:332
|
||||
msgid "close"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:333
|
||||
msgid "How to navigate SearXNG with hotkeys"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:334
|
||||
msgid "Control"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:335
|
||||
msgid "Results"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:336
|
||||
msgid "Navigation"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:337
|
||||
msgid "Other"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:338
|
||||
msgid "remove focus from the focused input"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:339
|
||||
msgid "copy url of the selected result to the clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:340
|
||||
msgid "toggle help window"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:341
|
||||
msgid "focus on the search input"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:342
|
||||
msgid "go to next page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:343
|
||||
msgid "open search result"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:344
|
||||
msgid "go to previous page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:345
|
||||
msgid "reload page from the server"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:346
|
||||
msgid "open the result in a new tab"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:347
|
||||
msgid "select previous search result"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:348
|
||||
msgid "select next search result"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:349
|
||||
msgid "scroll one page up"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:350
|
||||
msgid "scroll half a page down"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:351
|
||||
msgid "scroll one page down"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:352
|
||||
msgid "scroll to the top of the page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:353
|
||||
msgid "scroll half a page up"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:354
|
||||
msgid "scroll to the bottom of the page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:502 searx/webapp.py:902
|
||||
msgid "Invalid settings, please edit your preferences"
|
||||
msgstr "Неправилни настройки, моля редактирайте предпочитанията си"
|
||||
|
||||
#: searx/webapp.py:494
|
||||
#: searx/webapp.py:518
|
||||
msgid "Invalid settings"
|
||||
msgstr "Невалидни настройки"
|
||||
|
||||
#: searx/webapp.py:570 searx/webapp.py:660
|
||||
#: searx/webapp.py:594 searx/webapp.py:684
|
||||
msgid "search error"
|
||||
msgstr "Грешка при търсенето"
|
||||
|
||||
|
||||
Binary file not shown.
@@ -29,7 +29,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2026-10-04 05:47+0000\n"
|
||||
"POT-Creation-Date: 2026-10-09 19:03+0000\n"
|
||||
"PO-Revision-Date: 2026-05-19 12:07+0000\n"
|
||||
"Last-Translator: return42 <return42@noreply.codeberg.org>\n"
|
||||
"Language: bn\n"
|
||||
@@ -595,15 +595,107 @@ msgstr "উৎস"
|
||||
msgid "Error loading the next page"
|
||||
msgstr "পরবর্তী পৃষ্ঠাটি লোড করায় ত্রুটি দেখা যাচ্ছে"
|
||||
|
||||
#: searx/webapp.py:478 searx/webapp.py:878
|
||||
#: searx/webapp.py:332
|
||||
msgid "close"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:333
|
||||
msgid "How to navigate SearXNG with hotkeys"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:334
|
||||
msgid "Control"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:335
|
||||
msgid "Results"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:336
|
||||
msgid "Navigation"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:337
|
||||
msgid "Other"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:338
|
||||
msgid "remove focus from the focused input"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:339
|
||||
msgid "copy url of the selected result to the clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:340
|
||||
msgid "toggle help window"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:341
|
||||
msgid "focus on the search input"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:342
|
||||
msgid "go to next page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:343
|
||||
msgid "open search result"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:344
|
||||
msgid "go to previous page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:345
|
||||
msgid "reload page from the server"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:346
|
||||
msgid "open the result in a new tab"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:347
|
||||
msgid "select previous search result"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:348
|
||||
msgid "select next search result"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:349
|
||||
msgid "scroll one page up"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:350
|
||||
msgid "scroll half a page down"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:351
|
||||
msgid "scroll one page down"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:352
|
||||
msgid "scroll to the top of the page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:353
|
||||
msgid "scroll half a page up"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:354
|
||||
msgid "scroll to the bottom of the page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:502 searx/webapp.py:902
|
||||
msgid "Invalid settings, please edit your preferences"
|
||||
msgstr "অকেজো সেটিংস, অনুগ্রহ করে আপনার পছন্দগুলি সম্পাদনা করুন"
|
||||
|
||||
#: searx/webapp.py:494
|
||||
#: searx/webapp.py:518
|
||||
msgid "Invalid settings"
|
||||
msgstr "অকেজো সেটিংস"
|
||||
|
||||
#: searx/webapp.py:570 searx/webapp.py:660
|
||||
#: searx/webapp.py:594 searx/webapp.py:684
|
||||
msgid "search error"
|
||||
msgstr "সার্চ ত্রুটি"
|
||||
|
||||
|
||||
Binary file not shown.
@@ -13,7 +13,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: searx\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2026-10-04 05:47+0000\n"
|
||||
"POT-Creation-Date: 2026-10-09 19:03+0000\n"
|
||||
"PO-Revision-Date: 2026-05-19 12:07+0000\n"
|
||||
"Last-Translator: return42 <return42@noreply.codeberg.org>\n"
|
||||
"Language: bo\n"
|
||||
@@ -579,15 +579,107 @@ msgstr ""
|
||||
msgid "Error loading the next page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:478 searx/webapp.py:878
|
||||
#: searx/webapp.py:332
|
||||
msgid "close"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:333
|
||||
msgid "How to navigate SearXNG with hotkeys"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:334
|
||||
msgid "Control"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:335
|
||||
msgid "Results"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:336
|
||||
msgid "Navigation"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:337
|
||||
msgid "Other"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:338
|
||||
msgid "remove focus from the focused input"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:339
|
||||
msgid "copy url of the selected result to the clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:340
|
||||
msgid "toggle help window"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:341
|
||||
msgid "focus on the search input"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:342
|
||||
msgid "go to next page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:343
|
||||
msgid "open search result"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:344
|
||||
msgid "go to previous page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:345
|
||||
msgid "reload page from the server"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:346
|
||||
msgid "open the result in a new tab"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:347
|
||||
msgid "select previous search result"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:348
|
||||
msgid "select next search result"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:349
|
||||
msgid "scroll one page up"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:350
|
||||
msgid "scroll half a page down"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:351
|
||||
msgid "scroll one page down"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:352
|
||||
msgid "scroll to the top of the page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:353
|
||||
msgid "scroll half a page up"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:354
|
||||
msgid "scroll to the bottom of the page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:502 searx/webapp.py:902
|
||||
msgid "Invalid settings, please edit your preferences"
|
||||
msgstr "ནུས་མེད་ཀྱི་སྒྲིག་འགོད།ཁྱེད་ཀྱིས་གདམ་ཀ་ལ་བཅོས་སྒྲིག་གཏོང་རོགས།"
|
||||
|
||||
#: searx/webapp.py:494
|
||||
#: searx/webapp.py:518
|
||||
msgid "Invalid settings"
|
||||
msgstr "ནུས་མེད་ཀྱི་སྒྲིག་འགོད།"
|
||||
|
||||
#: searx/webapp.py:570 searx/webapp.py:660
|
||||
#: searx/webapp.py:594 searx/webapp.py:684
|
||||
msgid "search error"
|
||||
msgstr "འཚོལ་བཤེར་ལ་ནོར་འཁྲུལ་བྱུང་།"
|
||||
|
||||
|
||||
Binary file not shown.
@@ -31,7 +31,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: searx\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2026-10-04 05:47+0000\n"
|
||||
"POT-Creation-Date: 2026-10-09 19:03+0000\n"
|
||||
"PO-Revision-Date: 2026-09-19 15:25+0000\n"
|
||||
"Last-Translator: return42 <return42@noreply.codeberg.org>\n"
|
||||
"Language: ca\n"
|
||||
@@ -597,15 +597,107 @@ msgstr "Origen"
|
||||
msgid "Error loading the next page"
|
||||
msgstr "S'ha produït un error en carregar la següent pàgina"
|
||||
|
||||
#: searx/webapp.py:478 searx/webapp.py:878
|
||||
#: searx/webapp.py:332
|
||||
msgid "close"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:333
|
||||
msgid "How to navigate SearXNG with hotkeys"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:334
|
||||
msgid "Control"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:335
|
||||
msgid "Results"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:336
|
||||
msgid "Navigation"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:337
|
||||
msgid "Other"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:338
|
||||
msgid "remove focus from the focused input"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:339
|
||||
msgid "copy url of the selected result to the clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:340
|
||||
msgid "toggle help window"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:341
|
||||
msgid "focus on the search input"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:342
|
||||
msgid "go to next page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:343
|
||||
msgid "open search result"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:344
|
||||
msgid "go to previous page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:345
|
||||
msgid "reload page from the server"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:346
|
||||
msgid "open the result in a new tab"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:347
|
||||
msgid "select previous search result"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:348
|
||||
msgid "select next search result"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:349
|
||||
msgid "scroll one page up"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:350
|
||||
msgid "scroll half a page down"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:351
|
||||
msgid "scroll one page down"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:352
|
||||
msgid "scroll to the top of the page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:353
|
||||
msgid "scroll half a page up"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:354
|
||||
msgid "scroll to the bottom of the page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:502 searx/webapp.py:902
|
||||
msgid "Invalid settings, please edit your preferences"
|
||||
msgstr "La configuració no és vàlida, editeu-la"
|
||||
|
||||
#: searx/webapp.py:494
|
||||
#: searx/webapp.py:518
|
||||
msgid "Invalid settings"
|
||||
msgstr "La configuració no és vàlida"
|
||||
|
||||
#: searx/webapp.py:570 searx/webapp.py:660
|
||||
#: searx/webapp.py:594 searx/webapp.py:684
|
||||
msgid "search error"
|
||||
msgstr "error de cerca"
|
||||
|
||||
|
||||
Binary file not shown.
@@ -25,20 +25,21 @@
|
||||
# radekjuthner <radekjuthner@noreply.codeberg.org>, 2025.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: searx\n"
|
||||
"Project-Id-Version: searx\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2026-10-04 05:47+0000\n"
|
||||
"PO-Revision-Date: 2026-09-22 13:25+0000\n"
|
||||
"POT-Creation-Date: 2026-10-09 19:03+0000\n"
|
||||
"PO-Revision-Date: 2026-10-10 22:27+0000\n"
|
||||
"Last-Translator: Fjuro <fjuro@noreply.codeberg.org>\n"
|
||||
"Language: cs\n"
|
||||
"Language-Team: Czech "
|
||||
"<https://translate.codeberg.org/projects/searxng/searxng/cs/>\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && "
|
||||
"n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"
|
||||
"Language-Team: Czech <https://translate.codeberg.org/projects/searxng/"
|
||||
"searxng/cs/>\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n "
|
||||
"<= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.18.0\n"
|
||||
"X-Generator: Weblate 2026.10.1\n"
|
||||
|
||||
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
||||
#: searx/searxng.msg
|
||||
@@ -594,15 +595,107 @@ msgstr "zdroj"
|
||||
msgid "Error loading the next page"
|
||||
msgstr "Chyba při načítání další stránky"
|
||||
|
||||
#: searx/webapp.py:478 searx/webapp.py:878
|
||||
#: searx/webapp.py:332
|
||||
msgid "close"
|
||||
msgstr "zavřít"
|
||||
|
||||
#: searx/webapp.py:333
|
||||
msgid "How to navigate SearXNG with hotkeys"
|
||||
msgstr "Jak se pohybovat v SearXNG pomocí klávesových zkratek"
|
||||
|
||||
#: searx/webapp.py:334
|
||||
msgid "Control"
|
||||
msgstr "Ovládání"
|
||||
|
||||
#: searx/webapp.py:335
|
||||
msgid "Results"
|
||||
msgstr "Výsledky"
|
||||
|
||||
#: searx/webapp.py:336
|
||||
msgid "Navigation"
|
||||
msgstr "Navigace"
|
||||
|
||||
#: searx/webapp.py:337
|
||||
msgid "Other"
|
||||
msgstr "Ostatní"
|
||||
|
||||
#: searx/webapp.py:338
|
||||
msgid "remove focus from the focused input"
|
||||
msgstr "odebrat zaměření ze zaměřeného vstupu"
|
||||
|
||||
#: searx/webapp.py:339
|
||||
msgid "copy url of the selected result to the clipboard"
|
||||
msgstr "zkopírovat adresu zvoleného výsledku do schránky"
|
||||
|
||||
#: searx/webapp.py:340
|
||||
msgid "toggle help window"
|
||||
msgstr "přepnout okno nápovědy"
|
||||
|
||||
#: searx/webapp.py:341
|
||||
msgid "focus on the search input"
|
||||
msgstr "zaměřit na vyhledávací pole"
|
||||
|
||||
#: searx/webapp.py:342
|
||||
msgid "go to next page"
|
||||
msgstr "přejít na další stránku"
|
||||
|
||||
#: searx/webapp.py:343
|
||||
msgid "open search result"
|
||||
msgstr "otevřít výsledek vyhledávání"
|
||||
|
||||
#: searx/webapp.py:344
|
||||
msgid "go to previous page"
|
||||
msgstr "přejít na předchozí stránku"
|
||||
|
||||
#: searx/webapp.py:345
|
||||
msgid "reload page from the server"
|
||||
msgstr "znovu načíst stránku ze serveru"
|
||||
|
||||
#: searx/webapp.py:346
|
||||
msgid "open the result in a new tab"
|
||||
msgstr "otevřít výsledek v novém panelu"
|
||||
|
||||
#: searx/webapp.py:347
|
||||
msgid "select previous search result"
|
||||
msgstr "zvolit předchozí výsledek vyhledávání"
|
||||
|
||||
#: searx/webapp.py:348
|
||||
msgid "select next search result"
|
||||
msgstr "zvolit další výsledek vyhledávání"
|
||||
|
||||
#: searx/webapp.py:349
|
||||
msgid "scroll one page up"
|
||||
msgstr "posunout o stránku nahoru"
|
||||
|
||||
#: searx/webapp.py:350
|
||||
msgid "scroll half a page down"
|
||||
msgstr "posunout o půl stránky dolů"
|
||||
|
||||
#: searx/webapp.py:351
|
||||
msgid "scroll one page down"
|
||||
msgstr "posunout o stránku dolů"
|
||||
|
||||
#: searx/webapp.py:352
|
||||
msgid "scroll to the top of the page"
|
||||
msgstr "posunout na vršek stránky"
|
||||
|
||||
#: searx/webapp.py:353
|
||||
msgid "scroll half a page up"
|
||||
msgstr "posunout o půl stránky nahoru"
|
||||
|
||||
#: searx/webapp.py:354
|
||||
msgid "scroll to the bottom of the page"
|
||||
msgstr "posunout na spodek stránky"
|
||||
|
||||
#: searx/webapp.py:502 searx/webapp.py:902
|
||||
msgid "Invalid settings, please edit your preferences"
|
||||
msgstr "Neplatné nastavení, upravte své předvolby"
|
||||
|
||||
#: searx/webapp.py:494
|
||||
#: searx/webapp.py:518
|
||||
msgid "Invalid settings"
|
||||
msgstr "Neplatné nastavení"
|
||||
|
||||
#: searx/webapp.py:570 searx/webapp.py:660
|
||||
#: searx/webapp.py:594 searx/webapp.py:684
|
||||
msgid "search error"
|
||||
msgstr "chyba vyhledávání"
|
||||
|
||||
@@ -1438,7 +1531,7 @@ msgstr "Hash předvoleb"
|
||||
|
||||
#: searx/templates/simple/preferences/doi_resolver.html:2
|
||||
msgid "DOI Resolver"
|
||||
msgstr ""
|
||||
msgstr "Resolver DOI"
|
||||
|
||||
#: searx/templates/simple/preferences/engines.html:9
|
||||
msgid ""
|
||||
@@ -2441,4 +2534,3 @@ msgstr "skrýt video"
|
||||
|
||||
#~ msgid "Select service used by DOI rewrite"
|
||||
#~ msgstr "Výběr služby použité při přepisu DOI"
|
||||
|
||||
|
||||
Binary file not shown.
@@ -20,7 +20,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: searx\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2026-10-04 05:47+0000\n"
|
||||
"POT-Creation-Date: 2026-10-09 19:03+0000\n"
|
||||
"PO-Revision-Date: 2026-05-19 12:07+0000\n"
|
||||
"Last-Translator: return42 <return42@noreply.codeberg.org>\n"
|
||||
"Language: cy\n"
|
||||
@@ -587,15 +587,107 @@ msgstr "Ffynhonnell"
|
||||
msgid "Error loading the next page"
|
||||
msgstr "Gwall wrth lwytho'r dudalen nesaf"
|
||||
|
||||
#: searx/webapp.py:478 searx/webapp.py:878
|
||||
#: searx/webapp.py:332
|
||||
msgid "close"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:333
|
||||
msgid "How to navigate SearXNG with hotkeys"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:334
|
||||
msgid "Control"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:335
|
||||
msgid "Results"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:336
|
||||
msgid "Navigation"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:337
|
||||
msgid "Other"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:338
|
||||
msgid "remove focus from the focused input"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:339
|
||||
msgid "copy url of the selected result to the clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:340
|
||||
msgid "toggle help window"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:341
|
||||
msgid "focus on the search input"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:342
|
||||
msgid "go to next page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:343
|
||||
msgid "open search result"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:344
|
||||
msgid "go to previous page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:345
|
||||
msgid "reload page from the server"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:346
|
||||
msgid "open the result in a new tab"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:347
|
||||
msgid "select previous search result"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:348
|
||||
msgid "select next search result"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:349
|
||||
msgid "scroll one page up"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:350
|
||||
msgid "scroll half a page down"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:351
|
||||
msgid "scroll one page down"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:352
|
||||
msgid "scroll to the top of the page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:353
|
||||
msgid "scroll half a page up"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:354
|
||||
msgid "scroll to the bottom of the page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:502 searx/webapp.py:902
|
||||
msgid "Invalid settings, please edit your preferences"
|
||||
msgstr "Gosodiadau annilys, golygwch eich dewisiadau"
|
||||
|
||||
#: searx/webapp.py:494
|
||||
#: searx/webapp.py:518
|
||||
msgid "Invalid settings"
|
||||
msgstr "Gosodiadau annilys"
|
||||
|
||||
#: searx/webapp.py:570 searx/webapp.py:660
|
||||
#: searx/webapp.py:594 searx/webapp.py:684
|
||||
msgid "search error"
|
||||
msgstr "gwall chwilio"
|
||||
|
||||
|
||||
Binary file not shown.
@@ -19,7 +19,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: searx\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2026-10-04 05:47+0000\n"
|
||||
"POT-Creation-Date: 2026-10-09 19:03+0000\n"
|
||||
"PO-Revision-Date: 2026-06-16 07:07+0000\n"
|
||||
"Last-Translator: AndersNordh <andersnordh@noreply.codeberg.org>\n"
|
||||
"Language: da\n"
|
||||
@@ -585,15 +585,107 @@ msgstr "Kilde"
|
||||
msgid "Error loading the next page"
|
||||
msgstr "Fejl ved indlæsning af den næste side"
|
||||
|
||||
#: searx/webapp.py:478 searx/webapp.py:878
|
||||
#: searx/webapp.py:332
|
||||
msgid "close"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:333
|
||||
msgid "How to navigate SearXNG with hotkeys"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:334
|
||||
msgid "Control"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:335
|
||||
msgid "Results"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:336
|
||||
msgid "Navigation"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:337
|
||||
msgid "Other"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:338
|
||||
msgid "remove focus from the focused input"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:339
|
||||
msgid "copy url of the selected result to the clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:340
|
||||
msgid "toggle help window"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:341
|
||||
msgid "focus on the search input"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:342
|
||||
msgid "go to next page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:343
|
||||
msgid "open search result"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:344
|
||||
msgid "go to previous page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:345
|
||||
msgid "reload page from the server"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:346
|
||||
msgid "open the result in a new tab"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:347
|
||||
msgid "select previous search result"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:348
|
||||
msgid "select next search result"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:349
|
||||
msgid "scroll one page up"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:350
|
||||
msgid "scroll half a page down"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:351
|
||||
msgid "scroll one page down"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:352
|
||||
msgid "scroll to the top of the page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:353
|
||||
msgid "scroll half a page up"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:354
|
||||
msgid "scroll to the bottom of the page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:502 searx/webapp.py:902
|
||||
msgid "Invalid settings, please edit your preferences"
|
||||
msgstr "Ugyldige indstillinger, redigér venligst dine valg"
|
||||
|
||||
#: searx/webapp.py:494
|
||||
#: searx/webapp.py:518
|
||||
msgid "Invalid settings"
|
||||
msgstr "Ugyldig indstilling"
|
||||
|
||||
#: searx/webapp.py:570 searx/webapp.py:660
|
||||
#: searx/webapp.py:594 searx/webapp.py:684
|
||||
msgid "search error"
|
||||
msgstr "søgefejl"
|
||||
|
||||
|
||||
Binary file not shown.
@@ -32,19 +32,20 @@
|
||||
# Serpensin <serpensin@noreply.codeberg.org>, 2026.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: searx\n"
|
||||
"Project-Id-Version: searx\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2026-10-04 05:47+0000\n"
|
||||
"PO-Revision-Date: 2026-09-22 13:25+0000\n"
|
||||
"POT-Creation-Date: 2026-10-09 19:03+0000\n"
|
||||
"PO-Revision-Date: 2026-10-10 22:27+0000\n"
|
||||
"Last-Translator: return42 <return42@noreply.codeberg.org>\n"
|
||||
"Language: de\n"
|
||||
"Language-Team: German "
|
||||
"<https://translate.codeberg.org/projects/searxng/searxng/de/>\n"
|
||||
"Language-Team: German <https://translate.codeberg.org/projects/searxng/"
|
||||
"searxng/de/>\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.18.0\n"
|
||||
"X-Generator: Weblate 2026.10.1\n"
|
||||
|
||||
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
||||
#: searx/searxng.msg
|
||||
@@ -600,15 +601,107 @@ msgstr "Quelle"
|
||||
msgid "Error loading the next page"
|
||||
msgstr "Fehler beim Laden der nächsten Seite"
|
||||
|
||||
#: searx/webapp.py:478 searx/webapp.py:878
|
||||
#: searx/webapp.py:332
|
||||
msgid "close"
|
||||
msgstr "schließen"
|
||||
|
||||
#: searx/webapp.py:333
|
||||
msgid "How to navigate SearXNG with hotkeys"
|
||||
msgstr "SearXNG über Tasten steuern"
|
||||
|
||||
#: searx/webapp.py:334
|
||||
msgid "Control"
|
||||
msgstr "Steuerung"
|
||||
|
||||
#: searx/webapp.py:335
|
||||
msgid "Results"
|
||||
msgstr "Ergebnisse"
|
||||
|
||||
#: searx/webapp.py:336
|
||||
msgid "Navigation"
|
||||
msgstr "Navigation"
|
||||
|
||||
#: searx/webapp.py:337
|
||||
msgid "Other"
|
||||
msgstr "Weitere"
|
||||
|
||||
#: searx/webapp.py:338
|
||||
msgid "remove focus from the focused input"
|
||||
msgstr "Fokus vom Eingabefeld nehmen"
|
||||
|
||||
#: searx/webapp.py:339
|
||||
msgid "copy url of the selected result to the clipboard"
|
||||
msgstr "URL des Ergebnisses in die Zwischenablage kopieren"
|
||||
|
||||
#: searx/webapp.py:340
|
||||
msgid "toggle help window"
|
||||
msgstr "Hilfe anzeigen"
|
||||
|
||||
#: searx/webapp.py:341
|
||||
msgid "focus on the search input"
|
||||
msgstr "Fokus auf das Eingabefeld"
|
||||
|
||||
#: searx/webapp.py:342
|
||||
msgid "go to next page"
|
||||
msgstr "Zur nächsten Seite gehen"
|
||||
|
||||
#: searx/webapp.py:343
|
||||
msgid "open search result"
|
||||
msgstr "Öffnen der Suchergebnisse"
|
||||
|
||||
#: searx/webapp.py:344
|
||||
msgid "go to previous page"
|
||||
msgstr "Zurück zu vorherigen Seite"
|
||||
|
||||
#: searx/webapp.py:345
|
||||
msgid "reload page from the server"
|
||||
msgstr "Seite neu laden"
|
||||
|
||||
#: searx/webapp.py:346
|
||||
msgid "open the result in a new tab"
|
||||
msgstr "Verweis in neuem Tab öffnen"
|
||||
|
||||
#: searx/webapp.py:347
|
||||
msgid "select previous search result"
|
||||
msgstr "Auswahl des vorherigen Ergebnisses"
|
||||
|
||||
#: searx/webapp.py:348
|
||||
msgid "select next search result"
|
||||
msgstr "Auswahl des nächsten Ergebnisses"
|
||||
|
||||
#: searx/webapp.py:349
|
||||
msgid "scroll one page up"
|
||||
msgstr "Eine Seite aufwärts scrollen"
|
||||
|
||||
#: searx/webapp.py:350
|
||||
msgid "scroll half a page down"
|
||||
msgstr "Eine halbe Seite abwärts scrollen"
|
||||
|
||||
#: searx/webapp.py:351
|
||||
msgid "scroll one page down"
|
||||
msgstr "Eine Seite abwärts scrollen"
|
||||
|
||||
#: searx/webapp.py:352
|
||||
msgid "scroll to the top of the page"
|
||||
msgstr "Zum Anfang der Seite springen"
|
||||
|
||||
#: searx/webapp.py:353
|
||||
msgid "scroll half a page up"
|
||||
msgstr "Eine halbe Seite aufwärts scrollen"
|
||||
|
||||
#: searx/webapp.py:354
|
||||
msgid "scroll to the bottom of the page"
|
||||
msgstr "Ans Ende der Seite springen"
|
||||
|
||||
#: searx/webapp.py:502 searx/webapp.py:902
|
||||
msgid "Invalid settings, please edit your preferences"
|
||||
msgstr "Ungültige Einstellungen, bitte Einstellungen ändern"
|
||||
|
||||
#: searx/webapp.py:494
|
||||
#: searx/webapp.py:518
|
||||
msgid "Invalid settings"
|
||||
msgstr "Ungültige Einstellungen"
|
||||
|
||||
#: searx/webapp.py:570 searx/webapp.py:660
|
||||
#: searx/webapp.py:594 searx/webapp.py:684
|
||||
msgid "search error"
|
||||
msgstr "Suchfehler"
|
||||
|
||||
@@ -1123,7 +1216,7 @@ msgstr "Suchmaschinenname"
|
||||
|
||||
#: searx/templates/simple/stats.html:25
|
||||
msgid "Scores"
|
||||
msgstr "Ergebnisse"
|
||||
msgstr "Bewertung"
|
||||
|
||||
#: searx/templates/simple/stats.html:26
|
||||
msgid "Result count"
|
||||
@@ -1454,7 +1547,7 @@ msgstr "Einstellungen (ohne URL)"
|
||||
|
||||
#: searx/templates/simple/preferences/doi_resolver.html:2
|
||||
msgid "DOI Resolver"
|
||||
msgstr ""
|
||||
msgstr "DOI Auflösung"
|
||||
|
||||
#: searx/templates/simple/preferences/engines.html:9
|
||||
msgid ""
|
||||
@@ -2497,4 +2590,3 @@ msgstr "Video verstecken"
|
||||
|
||||
#~ msgid "Select service used by DOI rewrite"
|
||||
#~ msgstr "Wähle den Dienst für DOI Rewrite"
|
||||
|
||||
|
||||
Binary file not shown.
@@ -9,7 +9,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2026-10-04 05:47+0000\n"
|
||||
"POT-Creation-Date: 2026-10-09 19:03+0000\n"
|
||||
"PO-Revision-Date: 2025-08-13 08:09+0000\n"
|
||||
"Last-Translator: ijxp <ijxp@noreply.codeberg.org>\n"
|
||||
"Language: dv\n"
|
||||
@@ -576,15 +576,107 @@ msgstr ""
|
||||
msgid "Error loading the next page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:478 searx/webapp.py:878
|
||||
#: searx/webapp.py:332
|
||||
msgid "close"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:333
|
||||
msgid "How to navigate SearXNG with hotkeys"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:334
|
||||
msgid "Control"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:335
|
||||
msgid "Results"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:336
|
||||
msgid "Navigation"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:337
|
||||
msgid "Other"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:338
|
||||
msgid "remove focus from the focused input"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:339
|
||||
msgid "copy url of the selected result to the clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:340
|
||||
msgid "toggle help window"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:341
|
||||
msgid "focus on the search input"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:342
|
||||
msgid "go to next page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:343
|
||||
msgid "open search result"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:344
|
||||
msgid "go to previous page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:345
|
||||
msgid "reload page from the server"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:346
|
||||
msgid "open the result in a new tab"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:347
|
||||
msgid "select previous search result"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:348
|
||||
msgid "select next search result"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:349
|
||||
msgid "scroll one page up"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:350
|
||||
msgid "scroll half a page down"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:351
|
||||
msgid "scroll one page down"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:352
|
||||
msgid "scroll to the top of the page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:353
|
||||
msgid "scroll half a page up"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:354
|
||||
msgid "scroll to the bottom of the page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:502 searx/webapp.py:902
|
||||
msgid "Invalid settings, please edit your preferences"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:494
|
||||
#: searx/webapp.py:518
|
||||
msgid "Invalid settings"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:570 searx/webapp.py:660
|
||||
#: searx/webapp.py:594 searx/webapp.py:684
|
||||
msgid "search error"
|
||||
msgstr ""
|
||||
|
||||
|
||||
Binary file not shown.
@@ -25,7 +25,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: searx\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2026-10-04 05:47+0000\n"
|
||||
"POT-Creation-Date: 2026-10-09 19:03+0000\n"
|
||||
"PO-Revision-Date: 2026-06-17 20:19+0000\n"
|
||||
"Last-Translator: return42 <return42@noreply.codeberg.org>\n"
|
||||
"Language: el_GR\n"
|
||||
@@ -591,15 +591,107 @@ msgstr "Πηγή"
|
||||
msgid "Error loading the next page"
|
||||
msgstr "Σφάλμα φόρτωσης της επόμενης σελίδας"
|
||||
|
||||
#: searx/webapp.py:478 searx/webapp.py:878
|
||||
#: searx/webapp.py:332
|
||||
msgid "close"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:333
|
||||
msgid "How to navigate SearXNG with hotkeys"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:334
|
||||
msgid "Control"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:335
|
||||
msgid "Results"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:336
|
||||
msgid "Navigation"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:337
|
||||
msgid "Other"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:338
|
||||
msgid "remove focus from the focused input"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:339
|
||||
msgid "copy url of the selected result to the clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:340
|
||||
msgid "toggle help window"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:341
|
||||
msgid "focus on the search input"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:342
|
||||
msgid "go to next page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:343
|
||||
msgid "open search result"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:344
|
||||
msgid "go to previous page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:345
|
||||
msgid "reload page from the server"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:346
|
||||
msgid "open the result in a new tab"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:347
|
||||
msgid "select previous search result"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:348
|
||||
msgid "select next search result"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:349
|
||||
msgid "scroll one page up"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:350
|
||||
msgid "scroll half a page down"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:351
|
||||
msgid "scroll one page down"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:352
|
||||
msgid "scroll to the top of the page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:353
|
||||
msgid "scroll half a page up"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:354
|
||||
msgid "scroll to the bottom of the page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:502 searx/webapp.py:902
|
||||
msgid "Invalid settings, please edit your preferences"
|
||||
msgstr "Μη έγκυρες ρυθμίσεις, παρακαλούμε ελέγξτε τις προτιμήσεις σας"
|
||||
|
||||
#: searx/webapp.py:494
|
||||
#: searx/webapp.py:518
|
||||
msgid "Invalid settings"
|
||||
msgstr "Μη έγκυρες ρυθμίσεις"
|
||||
|
||||
#: searx/webapp.py:570 searx/webapp.py:660
|
||||
#: searx/webapp.py:594 searx/webapp.py:684
|
||||
msgid "search error"
|
||||
msgstr "σφάλμα αναζήτησης"
|
||||
|
||||
|
||||
Binary file not shown.
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2026-10-04 05:47+0000\n"
|
||||
"POT-Creation-Date: 2026-10-09 19:03+0000\n"
|
||||
"PO-Revision-Date: 2014-01-30 15:22+0100\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language: en\n"
|
||||
@@ -572,15 +572,107 @@ msgstr ""
|
||||
msgid "Error loading the next page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:478 searx/webapp.py:878
|
||||
#: searx/webapp.py:332
|
||||
msgid "close"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:333
|
||||
msgid "How to navigate SearXNG with hotkeys"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:334
|
||||
msgid "Control"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:335
|
||||
msgid "Results"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:336
|
||||
msgid "Navigation"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:337
|
||||
msgid "Other"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:338
|
||||
msgid "remove focus from the focused input"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:339
|
||||
msgid "copy url of the selected result to the clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:340
|
||||
msgid "toggle help window"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:341
|
||||
msgid "focus on the search input"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:342
|
||||
msgid "go to next page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:343
|
||||
msgid "open search result"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:344
|
||||
msgid "go to previous page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:345
|
||||
msgid "reload page from the server"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:346
|
||||
msgid "open the result in a new tab"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:347
|
||||
msgid "select previous search result"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:348
|
||||
msgid "select next search result"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:349
|
||||
msgid "scroll one page up"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:350
|
||||
msgid "scroll half a page down"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:351
|
||||
msgid "scroll one page down"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:352
|
||||
msgid "scroll to the top of the page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:353
|
||||
msgid "scroll half a page up"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:354
|
||||
msgid "scroll to the bottom of the page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:502 searx/webapp.py:902
|
||||
msgid "Invalid settings, please edit your preferences"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:494
|
||||
#: searx/webapp.py:518
|
||||
msgid "Invalid settings"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:570 searx/webapp.py:660
|
||||
#: searx/webapp.py:594 searx/webapp.py:684
|
||||
msgid "search error"
|
||||
msgstr ""
|
||||
|
||||
|
||||
Binary file not shown.
@@ -23,7 +23,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: searx\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2026-10-04 05:47+0000\n"
|
||||
"POT-Creation-Date: 2026-10-09 19:03+0000\n"
|
||||
"PO-Revision-Date: 2026-05-19 12:07+0000\n"
|
||||
"Last-Translator: return42 <return42@noreply.codeberg.org>\n"
|
||||
"Language: eo\n"
|
||||
@@ -589,15 +589,107 @@ msgstr "Fonto"
|
||||
msgid "Error loading the next page"
|
||||
msgstr "Eraro dum la ŝarĝado de la sekvan paĝon"
|
||||
|
||||
#: searx/webapp.py:478 searx/webapp.py:878
|
||||
#: searx/webapp.py:332
|
||||
msgid "close"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:333
|
||||
msgid "How to navigate SearXNG with hotkeys"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:334
|
||||
msgid "Control"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:335
|
||||
msgid "Results"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:336
|
||||
msgid "Navigation"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:337
|
||||
msgid "Other"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:338
|
||||
msgid "remove focus from the focused input"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:339
|
||||
msgid "copy url of the selected result to the clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:340
|
||||
msgid "toggle help window"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:341
|
||||
msgid "focus on the search input"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:342
|
||||
msgid "go to next page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:343
|
||||
msgid "open search result"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:344
|
||||
msgid "go to previous page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:345
|
||||
msgid "reload page from the server"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:346
|
||||
msgid "open the result in a new tab"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:347
|
||||
msgid "select previous search result"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:348
|
||||
msgid "select next search result"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:349
|
||||
msgid "scroll one page up"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:350
|
||||
msgid "scroll half a page down"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:351
|
||||
msgid "scroll one page down"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:352
|
||||
msgid "scroll to the top of the page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:353
|
||||
msgid "scroll half a page up"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:354
|
||||
msgid "scroll to the bottom of the page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:502 searx/webapp.py:902
|
||||
msgid "Invalid settings, please edit your preferences"
|
||||
msgstr "Nevalidaj agordoj, bonvolu redaktu viajn agordojn"
|
||||
|
||||
#: searx/webapp.py:494
|
||||
#: searx/webapp.py:518
|
||||
msgid "Invalid settings"
|
||||
msgstr "Nevalidaj agordoj"
|
||||
|
||||
#: searx/webapp.py:570 searx/webapp.py:660
|
||||
#: searx/webapp.py:594 searx/webapp.py:684
|
||||
msgid "search error"
|
||||
msgstr "serĉa eraro"
|
||||
|
||||
|
||||
Binary file not shown.
@@ -52,8 +52,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: searx\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2026-10-04 05:47+0000\n"
|
||||
"PO-Revision-Date: 2026-10-05 10:27+0000\n"
|
||||
"POT-Creation-Date: 2026-10-09 19:03+0000\n"
|
||||
"PO-Revision-Date: 2026-10-10 22:27+0000\n"
|
||||
"Last-Translator: gallegonovato <gallegonovato@noreply.codeberg.org>\n"
|
||||
"Language: es\n"
|
||||
"Language-Team: Spanish <https://translate.codeberg.org/projects/searxng/"
|
||||
@@ -63,7 +63,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.18.0\n"
|
||||
"X-Generator: Weblate 2026.9.1\n"
|
||||
"X-Generator: Weblate 2026.10.1\n"
|
||||
|
||||
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
||||
#: searx/searxng.msg
|
||||
@@ -619,15 +619,107 @@ msgstr "Fuente"
|
||||
msgid "Error loading the next page"
|
||||
msgstr "Error al cargar la siguiente página"
|
||||
|
||||
#: searx/webapp.py:478 searx/webapp.py:878
|
||||
#: searx/webapp.py:332
|
||||
msgid "close"
|
||||
msgstr "cerrar"
|
||||
|
||||
#: searx/webapp.py:333
|
||||
msgid "How to navigate SearXNG with hotkeys"
|
||||
msgstr "Navegar por SearXNG con atajos de teclado"
|
||||
|
||||
#: searx/webapp.py:334
|
||||
msgid "Control"
|
||||
msgstr "Control"
|
||||
|
||||
#: searx/webapp.py:335
|
||||
msgid "Results"
|
||||
msgstr "Resultados"
|
||||
|
||||
#: searx/webapp.py:336
|
||||
msgid "Navigation"
|
||||
msgstr "Navegación"
|
||||
|
||||
#: searx/webapp.py:337
|
||||
msgid "Other"
|
||||
msgstr "Otro"
|
||||
|
||||
#: searx/webapp.py:338
|
||||
msgid "remove focus from the focused input"
|
||||
msgstr "Desenfocar el campo de texto"
|
||||
|
||||
#: searx/webapp.py:339
|
||||
msgid "copy url of the selected result to the clipboard"
|
||||
msgstr "Copiar URL seleccionada al portapapeles"
|
||||
|
||||
#: searx/webapp.py:340
|
||||
msgid "toggle help window"
|
||||
msgstr "Abrir/cerrar la ventana de ayuda"
|
||||
|
||||
#: searx/webapp.py:341
|
||||
msgid "focus on the search input"
|
||||
msgstr "Ir al cuadro de búsqueda"
|
||||
|
||||
#: searx/webapp.py:342
|
||||
msgid "go to next page"
|
||||
msgstr "Siguiente página"
|
||||
|
||||
#: searx/webapp.py:343
|
||||
msgid "open search result"
|
||||
msgstr "Ver resultado"
|
||||
|
||||
#: searx/webapp.py:344
|
||||
msgid "go to previous page"
|
||||
msgstr "Página anterior"
|
||||
|
||||
#: searx/webapp.py:345
|
||||
msgid "reload page from the server"
|
||||
msgstr "Recargar página"
|
||||
|
||||
#: searx/webapp.py:346
|
||||
msgid "open the result in a new tab"
|
||||
msgstr "Abrir en nueva pestaña"
|
||||
|
||||
#: searx/webapp.py:347
|
||||
msgid "select previous search result"
|
||||
msgstr "Seleccionar resultado anterior"
|
||||
|
||||
#: searx/webapp.py:348
|
||||
msgid "select next search result"
|
||||
msgstr "Seleccionar resultado siguiente"
|
||||
|
||||
#: searx/webapp.py:349
|
||||
msgid "scroll one page up"
|
||||
msgstr "Desplazarse página arriba"
|
||||
|
||||
#: searx/webapp.py:350
|
||||
msgid "scroll half a page down"
|
||||
msgstr "Desplazarse a la mitad de la página"
|
||||
|
||||
#: searx/webapp.py:351
|
||||
msgid "scroll one page down"
|
||||
msgstr "Desplazarse página abajo"
|
||||
|
||||
#: searx/webapp.py:352
|
||||
msgid "scroll to the top of the page"
|
||||
msgstr "Ir al principio de la página"
|
||||
|
||||
#: searx/webapp.py:353
|
||||
msgid "scroll half a page up"
|
||||
msgstr "Desplazarse a la mitad de la página"
|
||||
|
||||
#: searx/webapp.py:354
|
||||
msgid "scroll to the bottom of the page"
|
||||
msgstr "Ir al final de la página"
|
||||
|
||||
#: searx/webapp.py:502 searx/webapp.py:902
|
||||
msgid "Invalid settings, please edit your preferences"
|
||||
msgstr "Ajustes inválidos, por favor, cambia tus preferencias"
|
||||
|
||||
#: searx/webapp.py:494
|
||||
#: searx/webapp.py:518
|
||||
msgid "Invalid settings"
|
||||
msgstr "Ajustes inválidos"
|
||||
|
||||
#: searx/webapp.py:570 searx/webapp.py:660
|
||||
#: searx/webapp.py:594 searx/webapp.py:684
|
||||
msgid "search error"
|
||||
msgstr "error en la búsqueda"
|
||||
|
||||
|
||||
Binary file not shown.
@@ -21,8 +21,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: searx\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2026-10-04 05:47+0000\n"
|
||||
"PO-Revision-Date: 2026-10-05 10:27+0000\n"
|
||||
"POT-Creation-Date: 2026-10-09 19:03+0000\n"
|
||||
"PO-Revision-Date: 2026-10-12 06:27+0000\n"
|
||||
"Last-Translator: Priit Jõerüüt <jrtcdbrg@noreply.codeberg.org>\n"
|
||||
"Language: et\n"
|
||||
"Language-Team: Estonian <https://translate.codeberg.org/projects/searxng/"
|
||||
@@ -32,7 +32,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.18.0\n"
|
||||
"X-Generator: Weblate 2026.9.1\n"
|
||||
"X-Generator: Weblate 2026.10.1\n"
|
||||
|
||||
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
||||
#: searx/searxng.msg
|
||||
@@ -588,15 +588,107 @@ msgstr "Allikas"
|
||||
msgid "Error loading the next page"
|
||||
msgstr "Viga järgmise lehekülje laadimisel"
|
||||
|
||||
#: searx/webapp.py:478 searx/webapp.py:878
|
||||
#: searx/webapp.py:332
|
||||
msgid "close"
|
||||
msgstr "sulge"
|
||||
|
||||
#: searx/webapp.py:333
|
||||
msgid "How to navigate SearXNG with hotkeys"
|
||||
msgstr "Kiirklahvide kasutus SearXNG-s"
|
||||
|
||||
#: searx/webapp.py:334
|
||||
msgid "Control"
|
||||
msgstr "Tegevuste juhtimine"
|
||||
|
||||
#: searx/webapp.py:335
|
||||
msgid "Results"
|
||||
msgstr "Tulemused"
|
||||
|
||||
#: searx/webapp.py:336
|
||||
msgid "Navigation"
|
||||
msgstr "Liikumine lehel"
|
||||
|
||||
#: searx/webapp.py:337
|
||||
msgid "Other"
|
||||
msgstr "Muu"
|
||||
|
||||
#: searx/webapp.py:338
|
||||
msgid "remove focus from the focused input"
|
||||
msgstr "eemalda hetkel kehtiv fookus"
|
||||
|
||||
#: searx/webapp.py:339
|
||||
msgid "copy url of the selected result to the clipboard"
|
||||
msgstr "kopeeri valitud otsingutulemuse võrguaadress lõikelauale"
|
||||
|
||||
#: searx/webapp.py:340
|
||||
msgid "toggle help window"
|
||||
msgstr "lülita abiteave sisse/välja"
|
||||
|
||||
#: searx/webapp.py:341
|
||||
msgid "focus on the search input"
|
||||
msgstr "säti fookus otsingukastile"
|
||||
|
||||
#: searx/webapp.py:342
|
||||
msgid "go to next page"
|
||||
msgstr "ava järgmine leht"
|
||||
|
||||
#: searx/webapp.py:343
|
||||
msgid "open search result"
|
||||
msgstr "ava otsingutulemused"
|
||||
|
||||
#: searx/webapp.py:344
|
||||
msgid "go to previous page"
|
||||
msgstr "ava eelmine leht"
|
||||
|
||||
#: searx/webapp.py:345
|
||||
msgid "reload page from the server"
|
||||
msgstr "laadi leht serverist uuesti"
|
||||
|
||||
#: searx/webapp.py:346
|
||||
msgid "open the result in a new tab"
|
||||
msgstr "ava otsingutulemus uuel vahekaardil"
|
||||
|
||||
#: searx/webapp.py:347
|
||||
msgid "select previous search result"
|
||||
msgstr "vali eelmine otsingutulemus"
|
||||
|
||||
#: searx/webapp.py:348
|
||||
msgid "select next search result"
|
||||
msgstr "vali järgmine otsingutulemus"
|
||||
|
||||
#: searx/webapp.py:349
|
||||
msgid "scroll one page up"
|
||||
msgstr "keri lehe jagu ülespoole"
|
||||
|
||||
#: searx/webapp.py:350
|
||||
msgid "scroll half a page down"
|
||||
msgstr "keri poole lehe jagu allapoole"
|
||||
|
||||
#: searx/webapp.py:351
|
||||
msgid "scroll one page down"
|
||||
msgstr "keri lehe jagu allapoole"
|
||||
|
||||
#: searx/webapp.py:352
|
||||
msgid "scroll to the top of the page"
|
||||
msgstr "keri lehe ülaäärde"
|
||||
|
||||
#: searx/webapp.py:353
|
||||
msgid "scroll half a page up"
|
||||
msgstr "keri poole lehe jagu ülespoole"
|
||||
|
||||
#: searx/webapp.py:354
|
||||
msgid "scroll to the bottom of the page"
|
||||
msgstr "keri lehe alaäärde"
|
||||
|
||||
#: searx/webapp.py:502 searx/webapp.py:902
|
||||
msgid "Invalid settings, please edit your preferences"
|
||||
msgstr "Sobimatud seaded, palun muuda oma eelistusi"
|
||||
msgstr "Vigased seadistused, palun muuda oma eelistusi"
|
||||
|
||||
#: searx/webapp.py:494
|
||||
#: searx/webapp.py:518
|
||||
msgid "Invalid settings"
|
||||
msgstr "Sobimatud seaded"
|
||||
msgstr "Vigased seadistused"
|
||||
|
||||
#: searx/webapp.py:570 searx/webapp.py:660
|
||||
#: searx/webapp.py:594 searx/webapp.py:684
|
||||
msgid "search error"
|
||||
msgstr "otsingu viga"
|
||||
|
||||
@@ -622,7 +714,7 @@ msgstr "SSL viga: sertifikaadi valideerimine ei õnnestunud"
|
||||
|
||||
#: searx/webutils.py:42
|
||||
msgid "unexpected crash"
|
||||
msgstr "ootamatu krahh"
|
||||
msgstr "ootamatu kokkujooksmine"
|
||||
|
||||
#: searx/webutils.py:48
|
||||
msgid "HTTP error"
|
||||
|
||||
Binary file not shown.
@@ -18,19 +18,20 @@
|
||||
# return42 <return42@noreply.codeberg.org>, 2025.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: searx\n"
|
||||
"Project-Id-Version: searx\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2026-10-04 05:47+0000\n"
|
||||
"PO-Revision-Date: 2026-07-23 22:07+0000\n"
|
||||
"POT-Creation-Date: 2026-10-09 19:03+0000\n"
|
||||
"PO-Revision-Date: 2026-10-26 23:27+0000\n"
|
||||
"Last-Translator: alexgabi <alexgabi@noreply.codeberg.org>\n"
|
||||
"Language: eu\n"
|
||||
"Language-Team: Basque "
|
||||
"<https://translate.codeberg.org/projects/searxng/searxng/eu/>\n"
|
||||
"Language-Team: Basque <https://translate.codeberg.org/projects/searxng/"
|
||||
"searxng/eu/>\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.18.0\n"
|
||||
"X-Generator: Weblate 2026.10.1\n"
|
||||
|
||||
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
||||
#: searx/searxng.msg
|
||||
@@ -50,7 +51,7 @@ msgstr "aplikazioak"
|
||||
#. CATEGORY_NAMES['BLOGS']
|
||||
#: searx/searxng.msg
|
||||
msgid "blogs"
|
||||
msgstr ""
|
||||
msgstr "blogak"
|
||||
|
||||
#. CATEGORY_NAMES['DICTIONARIES']
|
||||
#: searx/searxng.msg
|
||||
@@ -70,7 +71,7 @@ msgstr "orokorra"
|
||||
#. CATEGORY_NAMES['ICONS']
|
||||
#: searx/searxng.msg
|
||||
msgid "icons"
|
||||
msgstr ""
|
||||
msgstr "ikonoak"
|
||||
|
||||
#. CATEGORY_NAMES['IMAGES']
|
||||
#: searx/searxng.msg
|
||||
@@ -95,7 +96,7 @@ msgstr "mapa"
|
||||
#. CATEGORY_NAMES['MOVIES']
|
||||
#: searx/searxng.msg
|
||||
msgid "movies"
|
||||
msgstr ""
|
||||
msgstr "filmak"
|
||||
|
||||
#. CATEGORY_NAMES['MUSIC']
|
||||
#: searx/searxng.msg
|
||||
@@ -155,12 +156,12 @@ msgstr "software wikiak"
|
||||
#. CATEGORY_NAMES['STOCK_IMAGES']
|
||||
#: searx/searxng.msg
|
||||
msgid "stock images"
|
||||
msgstr ""
|
||||
msgstr "artxiboko irudiak"
|
||||
|
||||
#. CATEGORY_NAMES['TRANSLATE']
|
||||
#: searx/searxng.msg
|
||||
msgid "translate"
|
||||
msgstr ""
|
||||
msgstr "itzuli"
|
||||
|
||||
#. CATEGORY_NAMES['TV']
|
||||
#: searx/searxng.msg
|
||||
@@ -175,7 +176,7 @@ msgstr "bideoak"
|
||||
#. CATEGORY_NAMES['WEATHER']
|
||||
#: searx/searxng.msg
|
||||
msgid "weather"
|
||||
msgstr ""
|
||||
msgstr "eguraldia"
|
||||
|
||||
#. CATEGORY_NAMES['WEB']
|
||||
#: searx/searxng.msg
|
||||
@@ -586,15 +587,107 @@ msgstr "Iturria"
|
||||
msgid "Error loading the next page"
|
||||
msgstr "Errorea hurrengo orrialdea kargatzean"
|
||||
|
||||
#: searx/webapp.py:478 searx/webapp.py:878
|
||||
#: searx/webapp.py:332
|
||||
msgid "close"
|
||||
msgstr "itxi"
|
||||
|
||||
#: searx/webapp.py:333
|
||||
msgid "How to navigate SearXNG with hotkeys"
|
||||
msgstr "Nola nabigatu SearXNG laster-teklen bidez"
|
||||
|
||||
#: searx/webapp.py:334
|
||||
msgid "Control"
|
||||
msgstr "Kontrola"
|
||||
|
||||
#: searx/webapp.py:335
|
||||
msgid "Results"
|
||||
msgstr "Emaitzak"
|
||||
|
||||
#: searx/webapp.py:336
|
||||
msgid "Navigation"
|
||||
msgstr "Nabigazioa"
|
||||
|
||||
#: searx/webapp.py:337
|
||||
msgid "Other"
|
||||
msgstr "Bestelakoak"
|
||||
|
||||
#: searx/webapp.py:338
|
||||
msgid "remove focus from the focused input"
|
||||
msgstr "kendu fokua fokuratutako sarreratik"
|
||||
|
||||
#: searx/webapp.py:339
|
||||
msgid "copy url of the selected result to the clipboard"
|
||||
msgstr "kopiatu hautatutako emaitzen url-a arbelean"
|
||||
|
||||
#: searx/webapp.py:340
|
||||
msgid "toggle help window"
|
||||
msgstr "txandakatu laguntza leihoa"
|
||||
|
||||
#: searx/webapp.py:341
|
||||
msgid "focus on the search input"
|
||||
msgstr "zentratu bilaketa-sarreran"
|
||||
|
||||
#: searx/webapp.py:342
|
||||
msgid "go to next page"
|
||||
msgstr "joan hurrengo orrira"
|
||||
|
||||
#: searx/webapp.py:343
|
||||
msgid "open search result"
|
||||
msgstr "ireki bilaketaren emaitza"
|
||||
|
||||
#: searx/webapp.py:344
|
||||
msgid "go to previous page"
|
||||
msgstr "joan aurreko orrira"
|
||||
|
||||
#: searx/webapp.py:345
|
||||
msgid "reload page from the server"
|
||||
msgstr "birkargatu orria zerbitzaritik"
|
||||
|
||||
#: searx/webapp.py:346
|
||||
msgid "open the result in a new tab"
|
||||
msgstr "ireki emaitza fitxa berri batean"
|
||||
|
||||
#: searx/webapp.py:347
|
||||
msgid "select previous search result"
|
||||
msgstr "hautatu aurreko bilaketaren emaitza"
|
||||
|
||||
#: searx/webapp.py:348
|
||||
msgid "select next search result"
|
||||
msgstr "hautatu hurrengo bilaketaren emaitza"
|
||||
|
||||
#: searx/webapp.py:349
|
||||
msgid "scroll one page up"
|
||||
msgstr "korritu orri bat gora"
|
||||
|
||||
#: searx/webapp.py:350
|
||||
msgid "scroll half a page down"
|
||||
msgstr "korritu orri erdia behera"
|
||||
|
||||
#: searx/webapp.py:351
|
||||
msgid "scroll one page down"
|
||||
msgstr "korritu orri bat behera"
|
||||
|
||||
#: searx/webapp.py:352
|
||||
msgid "scroll to the top of the page"
|
||||
msgstr "korritu orriaren goiko aldera"
|
||||
|
||||
#: searx/webapp.py:353
|
||||
msgid "scroll half a page up"
|
||||
msgstr "korritu orri erdia gora"
|
||||
|
||||
#: searx/webapp.py:354
|
||||
msgid "scroll to the bottom of the page"
|
||||
msgstr "korritu orriaren bukaerara"
|
||||
|
||||
#: searx/webapp.py:502 searx/webapp.py:902
|
||||
msgid "Invalid settings, please edit your preferences"
|
||||
msgstr "Ezarpen baliogabeak, editatu zure hobespenak"
|
||||
|
||||
#: searx/webapp.py:494
|
||||
#: searx/webapp.py:518
|
||||
msgid "Invalid settings"
|
||||
msgstr "Ezarpen baliogabeak"
|
||||
|
||||
#: searx/webapp.py:570 searx/webapp.py:660
|
||||
#: searx/webapp.py:594 searx/webapp.py:684
|
||||
msgid "search error"
|
||||
msgstr "bilaketa akatsa"
|
||||
|
||||
@@ -1430,7 +1523,7 @@ msgstr "Hobespenen hash"
|
||||
|
||||
#: searx/templates/simple/preferences/doi_resolver.html:2
|
||||
msgid "DOI Resolver"
|
||||
msgstr ""
|
||||
msgstr "DOI ebazlea"
|
||||
|
||||
#: searx/templates/simple/preferences/engines.html:9
|
||||
msgid ""
|
||||
@@ -2426,4 +2519,3 @@ msgstr "ezkutatu bideoa"
|
||||
|
||||
#~ msgid "Select service used by DOI rewrite"
|
||||
#~ msgstr "Hautatu DOI berridazketa-k erabilitako zerbitzua"
|
||||
|
||||
|
||||
Binary file not shown.
@@ -30,7 +30,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: searx\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2026-10-04 05:47+0000\n"
|
||||
"POT-Creation-Date: 2026-10-09 19:03+0000\n"
|
||||
"PO-Revision-Date: 2026-08-04 12:25+0000\n"
|
||||
"Last-Translator: mvtbh <mvtbh@noreply.codeberg.org>\n"
|
||||
"Language: fa_IR\n"
|
||||
@@ -596,15 +596,107 @@ msgstr "منبع"
|
||||
msgid "Error loading the next page"
|
||||
msgstr "خطا در بارگزاری صفحه جدید"
|
||||
|
||||
#: searx/webapp.py:478 searx/webapp.py:878
|
||||
#: searx/webapp.py:332
|
||||
msgid "close"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:333
|
||||
msgid "How to navigate SearXNG with hotkeys"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:334
|
||||
msgid "Control"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:335
|
||||
msgid "Results"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:336
|
||||
msgid "Navigation"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:337
|
||||
msgid "Other"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:338
|
||||
msgid "remove focus from the focused input"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:339
|
||||
msgid "copy url of the selected result to the clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:340
|
||||
msgid "toggle help window"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:341
|
||||
msgid "focus on the search input"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:342
|
||||
msgid "go to next page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:343
|
||||
msgid "open search result"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:344
|
||||
msgid "go to previous page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:345
|
||||
msgid "reload page from the server"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:346
|
||||
msgid "open the result in a new tab"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:347
|
||||
msgid "select previous search result"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:348
|
||||
msgid "select next search result"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:349
|
||||
msgid "scroll one page up"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:350
|
||||
msgid "scroll half a page down"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:351
|
||||
msgid "scroll one page down"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:352
|
||||
msgid "scroll to the top of the page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:353
|
||||
msgid "scroll half a page up"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:354
|
||||
msgid "scroll to the bottom of the page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:502 searx/webapp.py:902
|
||||
msgid "Invalid settings, please edit your preferences"
|
||||
msgstr "تنظیمات نادرست است، لطفا تنظیمات جستجو را تغییر دهید"
|
||||
|
||||
#: searx/webapp.py:494
|
||||
#: searx/webapp.py:518
|
||||
msgid "Invalid settings"
|
||||
msgstr "تنظیمات نادرست"
|
||||
|
||||
#: searx/webapp.py:570 searx/webapp.py:660
|
||||
#: searx/webapp.py:594 searx/webapp.py:684
|
||||
msgid "search error"
|
||||
msgstr "خطای جستوجو"
|
||||
|
||||
|
||||
Binary file not shown.
@@ -17,23 +17,24 @@
|
||||
# Anonymous <anonymous@users.noreply.translate.codeberg.org>, 2025.
|
||||
# Ricky-Tigg <ricky-tigg@users.noreply.translate.codeberg.org>, 2025.
|
||||
# return42 <return42@noreply.codeberg.org>, 2025, 2026.
|
||||
# artnay <artnay@noreply.codeberg.org>, 2025.
|
||||
# artnay <artnay@noreply.codeberg.org>, 2025, 2026.
|
||||
# Ricky-Tigg <ricky-tigg@noreply.codeberg.org>, 2025.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: searx\n"
|
||||
"Project-Id-Version: searx\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2026-10-04 05:47+0000\n"
|
||||
"PO-Revision-Date: 2026-05-19 12:07+0000\n"
|
||||
"Last-Translator: return42 <return42@noreply.codeberg.org>\n"
|
||||
"POT-Creation-Date: 2026-10-09 19:03+0000\n"
|
||||
"PO-Revision-Date: 2026-10-29 14:05+0000\n"
|
||||
"Last-Translator: artnay <artnay@noreply.codeberg.org>\n"
|
||||
"Language: fi\n"
|
||||
"Language-Team: Finnish "
|
||||
"<https://translate.codeberg.org/projects/searxng/searxng/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"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.18.0\n"
|
||||
"X-Generator: Weblate 2026.10.1\n"
|
||||
|
||||
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
||||
#: searx/searxng.msg
|
||||
@@ -178,7 +179,7 @@ msgstr "videot"
|
||||
#. CATEGORY_NAMES['WEATHER']
|
||||
#: searx/searxng.msg
|
||||
msgid "weather"
|
||||
msgstr ""
|
||||
msgstr "sää"
|
||||
|
||||
#. CATEGORY_NAMES['WEB']
|
||||
#: searx/searxng.msg
|
||||
@@ -589,15 +590,107 @@ msgstr "Lähde"
|
||||
msgid "Error loading the next page"
|
||||
msgstr "Virhe ladattaessa seuraavaa sivua"
|
||||
|
||||
#: searx/webapp.py:478 searx/webapp.py:878
|
||||
#: searx/webapp.py:332
|
||||
msgid "close"
|
||||
msgstr "sulje"
|
||||
|
||||
#: searx/webapp.py:333
|
||||
msgid "How to navigate SearXNG with hotkeys"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:334
|
||||
msgid "Control"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:335
|
||||
msgid "Results"
|
||||
msgstr "Tulokset"
|
||||
|
||||
#: searx/webapp.py:336
|
||||
msgid "Navigation"
|
||||
msgstr "Navigaatio"
|
||||
|
||||
#: searx/webapp.py:337
|
||||
msgid "Other"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:338
|
||||
msgid "remove focus from the focused input"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:339
|
||||
msgid "copy url of the selected result to the clipboard"
|
||||
msgstr "kopioi valitun tuloksen osoite leikepöydälle"
|
||||
|
||||
#: searx/webapp.py:340
|
||||
msgid "toggle help window"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:341
|
||||
msgid "focus on the search input"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:342
|
||||
msgid "go to next page"
|
||||
msgstr "siirry seuraavalle sivulle"
|
||||
|
||||
#: searx/webapp.py:343
|
||||
msgid "open search result"
|
||||
msgstr "avaa hakutulos"
|
||||
|
||||
#: searx/webapp.py:344
|
||||
msgid "go to previous page"
|
||||
msgstr "siirry edelliselle sivulle"
|
||||
|
||||
#: searx/webapp.py:345
|
||||
msgid "reload page from the server"
|
||||
msgstr "lataa sivu uudelleen palvelimelta"
|
||||
|
||||
#: searx/webapp.py:346
|
||||
msgid "open the result in a new tab"
|
||||
msgstr "avaa tulos uuteen välilehteen"
|
||||
|
||||
#: searx/webapp.py:347
|
||||
msgid "select previous search result"
|
||||
msgstr "valitse edellinen hakutulos"
|
||||
|
||||
#: searx/webapp.py:348
|
||||
msgid "select next search result"
|
||||
msgstr "valitse seuraava hakutulos"
|
||||
|
||||
#: searx/webapp.py:349
|
||||
msgid "scroll one page up"
|
||||
msgstr "vieritä yksi sivu ylös"
|
||||
|
||||
#: searx/webapp.py:350
|
||||
msgid "scroll half a page down"
|
||||
msgstr "vieritä puoli sivua alas"
|
||||
|
||||
#: searx/webapp.py:351
|
||||
msgid "scroll one page down"
|
||||
msgstr "vieritä yksi sivu alas"
|
||||
|
||||
#: searx/webapp.py:352
|
||||
msgid "scroll to the top of the page"
|
||||
msgstr "vieritä sivun yläosaan"
|
||||
|
||||
#: searx/webapp.py:353
|
||||
msgid "scroll half a page up"
|
||||
msgstr "vieritä puoli sivua ylös"
|
||||
|
||||
#: searx/webapp.py:354
|
||||
msgid "scroll to the bottom of the page"
|
||||
msgstr "vieritä sivun alaosaan"
|
||||
|
||||
#: searx/webapp.py:502 searx/webapp.py:902
|
||||
msgid "Invalid settings, please edit your preferences"
|
||||
msgstr "Virheelliset asetukset, muokkaa siis asetuksia"
|
||||
|
||||
#: searx/webapp.py:494
|
||||
#: searx/webapp.py:518
|
||||
msgid "Invalid settings"
|
||||
msgstr "Virheelliset asetukset"
|
||||
|
||||
#: searx/webapp.py:570 searx/webapp.py:660
|
||||
#: searx/webapp.py:594 searx/webapp.py:684
|
||||
msgid "search error"
|
||||
msgstr "hakuvirhe"
|
||||
|
||||
@@ -1436,7 +1529,7 @@ msgstr "Asetusten tiiviste"
|
||||
|
||||
#: searx/templates/simple/preferences/doi_resolver.html:2
|
||||
msgid "DOI Resolver"
|
||||
msgstr ""
|
||||
msgstr "DOI-ratkaisija"
|
||||
|
||||
#: searx/templates/simple/preferences/engines.html:9
|
||||
msgid ""
|
||||
@@ -1673,11 +1766,11 @@ msgstr "Resoluutio"
|
||||
|
||||
#: searx/templates/simple/result_templates/images.html:55
|
||||
msgid "Image formats"
|
||||
msgstr ""
|
||||
msgstr "Kuvamuodot"
|
||||
|
||||
#: searx/templates/simple/result_templates/images.html:56
|
||||
msgid "original format"
|
||||
msgstr ""
|
||||
msgstr "alkuperäinen muoto"
|
||||
|
||||
#: searx/templates/simple/result_templates/images.html:64
|
||||
msgid "View source"
|
||||
@@ -2445,4 +2538,3 @@ msgstr "piilota video"
|
||||
|
||||
#~ msgid "Select service used by DOI rewrite"
|
||||
#~ msgstr "Valitse palvelu, jota käytetään DOI:n uudelleenkirjoituksessa"
|
||||
|
||||
|
||||
Binary file not shown.
@@ -20,20 +20,21 @@
|
||||
# return42 <return42@noreply.codeberg.org>, 2025, 2026.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: searx\n"
|
||||
"Project-Id-Version: searx\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2026-10-04 05:47+0000\n"
|
||||
"PO-Revision-Date: 2026-09-22 13:25+0000\n"
|
||||
"POT-Creation-Date: 2026-10-09 19:03+0000\n"
|
||||
"PO-Revision-Date: 2026-10-20 12:27+0000\n"
|
||||
"Last-Translator: marc-lopez <marc-lopez@noreply.codeberg.org>\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"
|
||||
"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"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.18.0\n"
|
||||
"X-Generator: Weblate 2026.10.1\n"
|
||||
|
||||
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
||||
#: searx/searxng.msg
|
||||
@@ -589,15 +590,107 @@ msgstr "Pinagmulan"
|
||||
msgid "Error loading the next page"
|
||||
msgstr "Error sa paglo-load ng susunod na pahina"
|
||||
|
||||
#: searx/webapp.py:478 searx/webapp.py:878
|
||||
#: searx/webapp.py:332
|
||||
msgid "close"
|
||||
msgstr "I-sara"
|
||||
|
||||
#: searx/webapp.py:333
|
||||
msgid "How to navigate SearXNG with hotkeys"
|
||||
msgstr "Paano mag-navigate sa SearXNG gamit ang hotkeys"
|
||||
|
||||
#: searx/webapp.py:334
|
||||
msgid "Control"
|
||||
msgstr "Kontrol"
|
||||
|
||||
#: searx/webapp.py:335
|
||||
msgid "Results"
|
||||
msgstr "Mga Resulta"
|
||||
|
||||
#: searx/webapp.py:336
|
||||
msgid "Navigation"
|
||||
msgstr "Nabigasyon"
|
||||
|
||||
#: searx/webapp.py:337
|
||||
msgid "Other"
|
||||
msgstr "Iba Pa"
|
||||
|
||||
#: searx/webapp.py:338
|
||||
msgid "remove focus from the focused input"
|
||||
msgstr "tanggalin ang pagtutok sa tinutukan na input"
|
||||
|
||||
#: searx/webapp.py:339
|
||||
msgid "copy url of the selected result to the clipboard"
|
||||
msgstr "i-kopya ang url ng napiling resulta sa clipboard"
|
||||
|
||||
#: searx/webapp.py:340
|
||||
msgid "toggle help window"
|
||||
msgstr "i-bukas/i-sara ang help window"
|
||||
|
||||
#: searx/webapp.py:341
|
||||
msgid "focus on the search input"
|
||||
msgstr "tumutok sa input para sa paghahanap"
|
||||
|
||||
#: searx/webapp.py:342
|
||||
msgid "go to next page"
|
||||
msgstr "lipat patungo sa susunod na pahina"
|
||||
|
||||
#: searx/webapp.py:343
|
||||
msgid "open search result"
|
||||
msgstr "buksan ang resulta ng paghahanap"
|
||||
|
||||
#: searx/webapp.py:344
|
||||
msgid "go to previous page"
|
||||
msgstr "lipat sa nakalipas na pahina"
|
||||
|
||||
#: searx/webapp.py:345
|
||||
msgid "reload page from the server"
|
||||
msgstr "i-load ulit ang pahina galing sa server"
|
||||
|
||||
#: searx/webapp.py:346
|
||||
msgid "open the result in a new tab"
|
||||
msgstr "buksan ang resulta sa panibagong tab"
|
||||
|
||||
#: searx/webapp.py:347
|
||||
msgid "select previous search result"
|
||||
msgstr "piliin ang nakalipas na resulta ng paghahanap"
|
||||
|
||||
#: searx/webapp.py:348
|
||||
msgid "select next search result"
|
||||
msgstr "piliin ang susunod na resulta ng paghahanap"
|
||||
|
||||
#: searx/webapp.py:349
|
||||
msgid "scroll one page up"
|
||||
msgstr "i-scroll pataas ng isang pahina"
|
||||
|
||||
#: searx/webapp.py:350
|
||||
msgid "scroll half a page down"
|
||||
msgstr "i-scroll pababa ng kalahating pahina"
|
||||
|
||||
#: searx/webapp.py:351
|
||||
msgid "scroll one page down"
|
||||
msgstr "i-scroll pababa ng isang pahina"
|
||||
|
||||
#: searx/webapp.py:352
|
||||
msgid "scroll to the top of the page"
|
||||
msgstr "I-scroll patungo sa tuktok ng pahina"
|
||||
|
||||
#: searx/webapp.py:353
|
||||
msgid "scroll half a page up"
|
||||
msgstr "i-scroll pataas ng kalahating pahina"
|
||||
|
||||
#: searx/webapp.py:354
|
||||
msgid "scroll to the bottom of the page"
|
||||
msgstr "i-scroll patungo sa ilalim ng pahina"
|
||||
|
||||
#: searx/webapp.py:502 searx/webapp.py:902
|
||||
msgid "Invalid settings, please edit your preferences"
|
||||
msgstr "Di-wastong mga setting, pakibago ang iyong mga kagustuhan"
|
||||
|
||||
#: searx/webapp.py:494
|
||||
#: searx/webapp.py:518
|
||||
msgid "Invalid settings"
|
||||
msgstr "Di-wastong mga setting"
|
||||
|
||||
#: searx/webapp.py:570 searx/webapp.py:660
|
||||
#: searx/webapp.py:594 searx/webapp.py:684
|
||||
msgid "search error"
|
||||
msgstr "nagkaproblema sa paghahanap ng mga resulta"
|
||||
|
||||
@@ -1360,7 +1453,7 @@ msgstr "Kusang tinatapos"
|
||||
|
||||
#: searx/templates/simple/preferences/autocomplete.html:15
|
||||
msgid "Show possible queries as you type"
|
||||
msgstr ""
|
||||
msgstr "Ipakita ang mga posible na query habang nagta-type"
|
||||
|
||||
#: searx/templates/simple/preferences/center_alignment.html:2
|
||||
msgid "Center Alignment"
|
||||
@@ -1368,7 +1461,7 @@ msgstr "Pag-align sa Gitnang"
|
||||
|
||||
#: searx/templates/simple/preferences/center_alignment.html:14
|
||||
msgid "Display results in the center of the page (Oscar layout)."
|
||||
msgstr ""
|
||||
msgstr "Ipakita ang mga resulta sa gitna ng pahina (layout na Oscar)."
|
||||
|
||||
#: searx/templates/simple/preferences/cookies.html:2
|
||||
msgid ""
|
||||
@@ -1381,6 +1474,8 @@ msgstr ""
|
||||
#: searx/templates/simple/preferences/cookies.html:3
|
||||
msgid "With this list, you can assess the transparency of SearXNG."
|
||||
msgstr ""
|
||||
"Sa pamamagitan ng listahan na ito, maaaring siyasatin ang katapatan ng "
|
||||
"SearXNG."
|
||||
|
||||
#: searx/templates/simple/preferences/cookies.html:9
|
||||
msgid "Cookie name"
|
||||
@@ -1431,13 +1526,15 @@ msgstr "Hash ng mga preference"
|
||||
|
||||
#: searx/templates/simple/preferences/doi_resolver.html:2
|
||||
msgid "DOI Resolver"
|
||||
msgstr ""
|
||||
msgstr "DOI solver"
|
||||
|
||||
#: searx/templates/simple/preferences/engines.html:9
|
||||
msgid ""
|
||||
"This tab does not exist in the user interface, but you can search with "
|
||||
"these engines via !bangs."
|
||||
msgstr ""
|
||||
"Wala ang tab na ito sa user interface, pero makakahanap ka sa mga makinang "
|
||||
"ito gamit ang !bangs."
|
||||
|
||||
#: searx/templates/simple/preferences/engines.html:15
|
||||
msgid "Enable all"
|
||||
@@ -2455,4 +2552,3 @@ msgstr "itago ang video"
|
||||
|
||||
#~ msgid "Select service used by DOI rewrite"
|
||||
#~ msgstr "Pumili ng serbisyo na ginagamit sa pagsulat ng DOI"
|
||||
|
||||
|
||||
Binary file not shown.
@@ -39,7 +39,7 @@
|
||||
# guenael <guenael@users.noreply.translate.codeberg.org>, 2025.
|
||||
# return42 <return42@noreply.codeberg.org>, 2025, 2026.
|
||||
# wags07 <wags07@noreply.codeberg.org>, 2025.
|
||||
# demilune <demilune@noreply.codeberg.org>, 2025.
|
||||
# demilune <demilune@noreply.codeberg.org>, 2025, 2026.
|
||||
# Hēphaistos <hephaistos@noreply.codeberg.org>, 2025.
|
||||
# ledjfou <ledjfou@noreply.codeberg.org>, 2025.
|
||||
# vbrodeur <vbrodeur@noreply.codeberg.org>, 2025.
|
||||
@@ -48,19 +48,20 @@
|
||||
# Machou <machou@noreply.codeberg.org>, 2026.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: searx\n"
|
||||
"Project-Id-Version: searx\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2026-10-04 05:47+0000\n"
|
||||
"PO-Revision-Date: 2026-09-22 13:25+0000\n"
|
||||
"Last-Translator: return42 <return42@noreply.codeberg.org>\n"
|
||||
"POT-Creation-Date: 2026-10-09 19:03+0000\n"
|
||||
"PO-Revision-Date: 2026-10-26 23:27+0000\n"
|
||||
"Last-Translator: demilune <demilune@noreply.codeberg.org>\n"
|
||||
"Language: fr\n"
|
||||
"Language-Team: French "
|
||||
"<https://translate.codeberg.org/projects/searxng/searxng/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"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.18.0\n"
|
||||
"X-Generator: Weblate 2026.10.1\n"
|
||||
|
||||
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
||||
#: searx/searxng.msg
|
||||
@@ -100,7 +101,7 @@ msgstr "général"
|
||||
#. CATEGORY_NAMES['ICONS']
|
||||
#: searx/searxng.msg
|
||||
msgid "icons"
|
||||
msgstr ""
|
||||
msgstr "icônes"
|
||||
|
||||
#. CATEGORY_NAMES['IMAGES']
|
||||
#: searx/searxng.msg
|
||||
@@ -616,15 +617,107 @@ msgstr "Source"
|
||||
msgid "Error loading the next page"
|
||||
msgstr "Erreur lors du chargement de la page suivante"
|
||||
|
||||
#: searx/webapp.py:478 searx/webapp.py:878
|
||||
#: searx/webapp.py:332
|
||||
msgid "close"
|
||||
msgstr "fermer"
|
||||
|
||||
#: searx/webapp.py:333
|
||||
msgid "How to navigate SearXNG with hotkeys"
|
||||
msgstr "Naviguer sur SearXNG à l'aide de raccourcis clavier"
|
||||
|
||||
#: searx/webapp.py:334
|
||||
msgid "Control"
|
||||
msgstr "Contrôle"
|
||||
|
||||
#: searx/webapp.py:335
|
||||
msgid "Results"
|
||||
msgstr "Résultats"
|
||||
|
||||
#: searx/webapp.py:336
|
||||
msgid "Navigation"
|
||||
msgstr "Navigation"
|
||||
|
||||
#: searx/webapp.py:337
|
||||
msgid "Other"
|
||||
msgstr "Autre"
|
||||
|
||||
#: searx/webapp.py:338
|
||||
msgid "remove focus from the focused input"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:339
|
||||
msgid "copy url of the selected result to the clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:340
|
||||
msgid "toggle help window"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:341
|
||||
msgid "focus on the search input"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:342
|
||||
msgid "go to next page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:343
|
||||
msgid "open search result"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:344
|
||||
msgid "go to previous page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:345
|
||||
msgid "reload page from the server"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:346
|
||||
msgid "open the result in a new tab"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:347
|
||||
msgid "select previous search result"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:348
|
||||
msgid "select next search result"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:349
|
||||
msgid "scroll one page up"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:350
|
||||
msgid "scroll half a page down"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:351
|
||||
msgid "scroll one page down"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:352
|
||||
msgid "scroll to the top of the page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:353
|
||||
msgid "scroll half a page up"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:354
|
||||
msgid "scroll to the bottom of the page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:502 searx/webapp.py:902
|
||||
msgid "Invalid settings, please edit your preferences"
|
||||
msgstr "Paramètres non valides, veuillez modifier vos préférences"
|
||||
|
||||
#: searx/webapp.py:494
|
||||
#: searx/webapp.py:518
|
||||
msgid "Invalid settings"
|
||||
msgstr "Paramètres non valides"
|
||||
|
||||
#: searx/webapp.py:570 searx/webapp.py:660
|
||||
#: searx/webapp.py:594 searx/webapp.py:684
|
||||
msgid "search error"
|
||||
msgstr "erreur de recherche"
|
||||
|
||||
@@ -2502,4 +2595,3 @@ msgstr "cacher la vidéo"
|
||||
|
||||
#~ msgid "Select service used by DOI rewrite"
|
||||
#~ msgstr "Sélectionner le service utilisé pour la réécriture par DOI"
|
||||
|
||||
|
||||
Binary file not shown.
@@ -10,19 +10,19 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2026-10-04 05:47+0000\n"
|
||||
"PO-Revision-Date: 2026-08-04 12:25+0000\n"
|
||||
"Last-Translator: Aindriú Mac Giolla Eoin <aindriu80@noreply.codeberg.org>"
|
||||
"\n"
|
||||
"POT-Creation-Date: 2026-10-09 19:03+0000\n"
|
||||
"PO-Revision-Date: 2026-10-24 14:27+0000\n"
|
||||
"Last-Translator: Aindriú Mac Giolla Eoin <aindriu80@noreply.codeberg.org>\n"
|
||||
"Language: ga\n"
|
||||
"Language-Team: Irish "
|
||||
"<https://translate.codeberg.org/projects/searxng/searxng/ga/>\n"
|
||||
"Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : (n>2 && n<7) ? 2 "
|
||||
":(n>6 && n<11) ? 3 : 4;\n"
|
||||
"Language-Team: Irish <https://translate.codeberg.org/projects/searxng/"
|
||||
"searxng/ga/>\n"
|
||||
"Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : (n>2 && n<7) ? 2 :(n>"
|
||||
"6 && n<11) ? 3 : 4;\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.18.0\n"
|
||||
"X-Generator: Weblate 2026.10.1\n"
|
||||
|
||||
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
||||
#: searx/searxng.msg
|
||||
@@ -42,7 +42,7 @@ msgstr "aipeanna"
|
||||
#. CATEGORY_NAMES['BLOGS']
|
||||
#: searx/searxng.msg
|
||||
msgid "blogs"
|
||||
msgstr ""
|
||||
msgstr "blaganna"
|
||||
|
||||
#. CATEGORY_NAMES['DICTIONARIES']
|
||||
#: searx/searxng.msg
|
||||
@@ -62,7 +62,7 @@ msgstr "ginearálta"
|
||||
#. CATEGORY_NAMES['ICONS']
|
||||
#: searx/searxng.msg
|
||||
msgid "icons"
|
||||
msgstr ""
|
||||
msgstr "deilbhíní"
|
||||
|
||||
#. CATEGORY_NAMES['IMAGES']
|
||||
#: searx/searxng.msg
|
||||
@@ -87,7 +87,7 @@ msgstr "léarscáil"
|
||||
#. CATEGORY_NAMES['MOVIES']
|
||||
#: searx/searxng.msg
|
||||
msgid "movies"
|
||||
msgstr ""
|
||||
msgstr "scannáin"
|
||||
|
||||
#. CATEGORY_NAMES['MUSIC']
|
||||
#: searx/searxng.msg
|
||||
@@ -147,12 +147,12 @@ msgstr "bogearraí wikis"
|
||||
#. CATEGORY_NAMES['STOCK_IMAGES']
|
||||
#: searx/searxng.msg
|
||||
msgid "stock images"
|
||||
msgstr ""
|
||||
msgstr "íomhánna stoic"
|
||||
|
||||
#. CATEGORY_NAMES['TRANSLATE']
|
||||
#: searx/searxng.msg
|
||||
msgid "translate"
|
||||
msgstr ""
|
||||
msgstr "aistrigh"
|
||||
|
||||
#. CATEGORY_NAMES['TV']
|
||||
#: searx/searxng.msg
|
||||
@@ -167,7 +167,7 @@ msgstr "físeáin"
|
||||
#. CATEGORY_NAMES['WEATHER']
|
||||
#: searx/searxng.msg
|
||||
msgid "weather"
|
||||
msgstr ""
|
||||
msgstr "aimsir"
|
||||
|
||||
#. CATEGORY_NAMES['WEB']
|
||||
#: searx/searxng.msg
|
||||
@@ -578,15 +578,107 @@ msgstr "Foinse"
|
||||
msgid "Error loading the next page"
|
||||
msgstr "Earráid ag luchtú an chéad leathanach eile"
|
||||
|
||||
#: searx/webapp.py:478 searx/webapp.py:878
|
||||
#: searx/webapp.py:332
|
||||
msgid "close"
|
||||
msgstr "dún"
|
||||
|
||||
#: searx/webapp.py:333
|
||||
msgid "How to navigate SearXNG with hotkeys"
|
||||
msgstr "Conas nascleanúint a dhéanamh i SearXNG le heochracha aicearra"
|
||||
|
||||
#: searx/webapp.py:334
|
||||
msgid "Control"
|
||||
msgstr "Rialú"
|
||||
|
||||
#: searx/webapp.py:335
|
||||
msgid "Results"
|
||||
msgstr "Torthaí"
|
||||
|
||||
#: searx/webapp.py:336
|
||||
msgid "Navigation"
|
||||
msgstr "Nascleanúint"
|
||||
|
||||
#: searx/webapp.py:337
|
||||
msgid "Other"
|
||||
msgstr "Eile"
|
||||
|
||||
#: searx/webapp.py:338
|
||||
msgid "remove focus from the focused input"
|
||||
msgstr "bain an fócas den ionchur atá dírithe"
|
||||
|
||||
#: searx/webapp.py:339
|
||||
msgid "copy url of the selected result to the clipboard"
|
||||
msgstr "cóipeáil url an toraidh roghnaithe chuig an ngearrthaisce"
|
||||
|
||||
#: searx/webapp.py:340
|
||||
msgid "toggle help window"
|
||||
msgstr "scoránaigh an fhuinneog chabhrach"
|
||||
|
||||
#: searx/webapp.py:341
|
||||
msgid "focus on the search input"
|
||||
msgstr "dírigh ar an ionchur cuardaigh"
|
||||
|
||||
#: searx/webapp.py:342
|
||||
msgid "go to next page"
|
||||
msgstr "téigh go dtí an chéad leathanach eile"
|
||||
|
||||
#: searx/webapp.py:343
|
||||
msgid "open search result"
|
||||
msgstr "oscail toradh cuardaigh"
|
||||
|
||||
#: searx/webapp.py:344
|
||||
msgid "go to previous page"
|
||||
msgstr "téigh go dtí an leathanach roimhe seo"
|
||||
|
||||
#: searx/webapp.py:345
|
||||
msgid "reload page from the server"
|
||||
msgstr "athlódáil an leathanach ón bhfreastalaí"
|
||||
|
||||
#: searx/webapp.py:346
|
||||
msgid "open the result in a new tab"
|
||||
msgstr "Oscail an toradh i gcluaisín nua"
|
||||
|
||||
#: searx/webapp.py:347
|
||||
msgid "select previous search result"
|
||||
msgstr "roghnaigh an toradh cuardaigh roimhe seo"
|
||||
|
||||
#: searx/webapp.py:348
|
||||
msgid "select next search result"
|
||||
msgstr "roghnaigh an chéad toradh cuardaigh eile"
|
||||
|
||||
#: searx/webapp.py:349
|
||||
msgid "scroll one page up"
|
||||
msgstr "scrollaigh suas leathanach amháin"
|
||||
|
||||
#: searx/webapp.py:350
|
||||
msgid "scroll half a page down"
|
||||
msgstr "scrollaigh síos leathleathanach"
|
||||
|
||||
#: searx/webapp.py:351
|
||||
msgid "scroll one page down"
|
||||
msgstr "scrollaigh síos leathanach amháin"
|
||||
|
||||
#: searx/webapp.py:352
|
||||
msgid "scroll to the top of the page"
|
||||
msgstr "scrollaigh go barr an leathanaigh"
|
||||
|
||||
#: searx/webapp.py:353
|
||||
msgid "scroll half a page up"
|
||||
msgstr "scrollaigh leathleathanach suas"
|
||||
|
||||
#: searx/webapp.py:354
|
||||
msgid "scroll to the bottom of the page"
|
||||
msgstr "scrollaigh go bun an leathanaigh"
|
||||
|
||||
#: searx/webapp.py:502 searx/webapp.py:902
|
||||
msgid "Invalid settings, please edit your preferences"
|
||||
msgstr "Socruithe neamhbhailí, cuir do chuid roghanna in"
|
||||
|
||||
#: searx/webapp.py:494
|
||||
#: searx/webapp.py:518
|
||||
msgid "Invalid settings"
|
||||
msgstr "Socruithe neamhbhaintí"
|
||||
|
||||
#: searx/webapp.py:570 searx/webapp.py:660
|
||||
#: searx/webapp.py:594 searx/webapp.py:684
|
||||
msgid "search error"
|
||||
msgstr "earráid cuardaigh"
|
||||
|
||||
@@ -1429,7 +1521,7 @@ msgstr "Roghanna hais"
|
||||
|
||||
#: searx/templates/simple/preferences/doi_resolver.html:2
|
||||
msgid "DOI Resolver"
|
||||
msgstr ""
|
||||
msgstr "Réiteoir DOI"
|
||||
|
||||
#: searx/templates/simple/preferences/engines.html:9
|
||||
msgid ""
|
||||
@@ -2001,4 +2093,3 @@ msgstr "físeán a cheilt"
|
||||
|
||||
#~ msgid "Select service used by DOI rewrite"
|
||||
#~ msgstr "Roghnaigh seirbhís a úsáideann DOI athscríobh"
|
||||
|
||||
|
||||
Binary file not shown.
@@ -16,8 +16,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: searx\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2026-10-04 05:47+0000\n"
|
||||
"PO-Revision-Date: 2026-10-05 10:27+0000\n"
|
||||
"POT-Creation-Date: 2026-10-09 19:03+0000\n"
|
||||
"PO-Revision-Date: 2026-10-13 08:27+0000\n"
|
||||
"Last-Translator: ghose <ghose@noreply.codeberg.org>\n"
|
||||
"Language: gl\n"
|
||||
"Language-Team: Galician <https://translate.codeberg.org/projects/searxng/"
|
||||
@@ -27,7 +27,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.18.0\n"
|
||||
"X-Generator: Weblate 2026.9.1\n"
|
||||
"X-Generator: Weblate 2026.10.1\n"
|
||||
|
||||
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
||||
#: searx/searxng.msg
|
||||
@@ -583,15 +583,107 @@ msgstr "Fonte"
|
||||
msgid "Error loading the next page"
|
||||
msgstr "Erro ao cargar a páxina seguinte"
|
||||
|
||||
#: searx/webapp.py:478 searx/webapp.py:878
|
||||
#: searx/webapp.py:332
|
||||
msgid "close"
|
||||
msgstr "fechar"
|
||||
|
||||
#: searx/webapp.py:333
|
||||
msgid "How to navigate SearXNG with hotkeys"
|
||||
msgstr "Como utilizar SearXNG usando teclas con funcións"
|
||||
|
||||
#: searx/webapp.py:334
|
||||
msgid "Control"
|
||||
msgstr "Control"
|
||||
|
||||
#: searx/webapp.py:335
|
||||
msgid "Results"
|
||||
msgstr "Resultados"
|
||||
|
||||
#: searx/webapp.py:336
|
||||
msgid "Navigation"
|
||||
msgstr "Navegación"
|
||||
|
||||
#: searx/webapp.py:337
|
||||
msgid "Other"
|
||||
msgstr "Outros"
|
||||
|
||||
#: searx/webapp.py:338
|
||||
msgid "remove focus from the focused input"
|
||||
msgstr "retirar o foco do campo que o ten actualmente"
|
||||
|
||||
#: searx/webapp.py:339
|
||||
msgid "copy url of the selected result to the clipboard"
|
||||
msgstr "copiar ao portapapeis o url do resultado seleccionado"
|
||||
|
||||
#: searx/webapp.py:340
|
||||
msgid "toggle help window"
|
||||
msgstr "activar a xanela de axuda"
|
||||
|
||||
#: searx/webapp.py:341
|
||||
msgid "focus on the search input"
|
||||
msgstr "foco na caixa de texto para buscar"
|
||||
|
||||
#: searx/webapp.py:342
|
||||
msgid "go to next page"
|
||||
msgstr "ir á páxina seguinte"
|
||||
|
||||
#: searx/webapp.py:343
|
||||
msgid "open search result"
|
||||
msgstr "abrir o resultado da búsqueda"
|
||||
|
||||
#: searx/webapp.py:344
|
||||
msgid "go to previous page"
|
||||
msgstr "ir á páxina anterior"
|
||||
|
||||
#: searx/webapp.py:345
|
||||
msgid "reload page from the server"
|
||||
msgstr "volver a cargar a páxina desde o servidor"
|
||||
|
||||
#: searx/webapp.py:346
|
||||
msgid "open the result in a new tab"
|
||||
msgstr "abrir o resultado nunha nova pestana"
|
||||
|
||||
#: searx/webapp.py:347
|
||||
msgid "select previous search result"
|
||||
msgstr "seleccionar o resultado anterior da búsqueda"
|
||||
|
||||
#: searx/webapp.py:348
|
||||
msgid "select next search result"
|
||||
msgstr "seleccionar o resultado seguinte da búsqueda"
|
||||
|
||||
#: searx/webapp.py:349
|
||||
msgid "scroll one page up"
|
||||
msgstr "desprazarse unha páxina arriba"
|
||||
|
||||
#: searx/webapp.py:350
|
||||
msgid "scroll half a page down"
|
||||
msgstr "desprazarse media páxina abaixo"
|
||||
|
||||
#: searx/webapp.py:351
|
||||
msgid "scroll one page down"
|
||||
msgstr "desprazarse unha páxina abaixo"
|
||||
|
||||
#: searx/webapp.py:352
|
||||
msgid "scroll to the top of the page"
|
||||
msgstr "desprazarse ata a parte superior da páxina"
|
||||
|
||||
#: searx/webapp.py:353
|
||||
msgid "scroll half a page up"
|
||||
msgstr "desprazarse media páxina arriba"
|
||||
|
||||
#: searx/webapp.py:354
|
||||
msgid "scroll to the bottom of the page"
|
||||
msgstr "desprazarse á parte inferior da páxina"
|
||||
|
||||
#: searx/webapp.py:502 searx/webapp.py:902
|
||||
msgid "Invalid settings, please edit your preferences"
|
||||
msgstr "Axustes non válidos, por favor edita a configuración"
|
||||
|
||||
#: searx/webapp.py:494
|
||||
#: searx/webapp.py:518
|
||||
msgid "Invalid settings"
|
||||
msgstr "Axustes non válidos"
|
||||
|
||||
#: searx/webapp.py:570 searx/webapp.py:660
|
||||
#: searx/webapp.py:594 searx/webapp.py:684
|
||||
msgid "search error"
|
||||
msgstr "fallo na busca"
|
||||
|
||||
|
||||
Binary file not shown.
@@ -29,8 +29,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: searx\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2026-10-04 05:47+0000\n"
|
||||
"PO-Revision-Date: 2026-09-29 03:27+0000\n"
|
||||
"POT-Creation-Date: 2026-10-09 19:03+0000\n"
|
||||
"PO-Revision-Date: 2026-10-09 14:20+0000\n"
|
||||
"Last-Translator: ngf <ngf@noreply.codeberg.org>\n"
|
||||
"Language: he\n"
|
||||
"Language-Team: Hebrew "
|
||||
@@ -190,7 +190,7 @@ msgstr "מזג האוויר"
|
||||
#. CATEGORY_NAMES['WEB']
|
||||
#: searx/searxng.msg
|
||||
msgid "web"
|
||||
msgstr "רשת"
|
||||
msgstr "רשתweb"
|
||||
|
||||
#. STYLE_NAMES['AUTO']
|
||||
#: searx/searxng.msg
|
||||
@@ -596,15 +596,107 @@ msgstr "מקור"
|
||||
msgid "Error loading the next page"
|
||||
msgstr "שגיאה בטעינת העמוד הבא"
|
||||
|
||||
#: searx/webapp.py:478 searx/webapp.py:878
|
||||
#: searx/webapp.py:332
|
||||
msgid "close"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:333
|
||||
msgid "How to navigate SearXNG with hotkeys"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:334
|
||||
msgid "Control"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:335
|
||||
msgid "Results"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:336
|
||||
msgid "Navigation"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:337
|
||||
msgid "Other"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:338
|
||||
msgid "remove focus from the focused input"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:339
|
||||
msgid "copy url of the selected result to the clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:340
|
||||
msgid "toggle help window"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:341
|
||||
msgid "focus on the search input"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:342
|
||||
msgid "go to next page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:343
|
||||
msgid "open search result"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:344
|
||||
msgid "go to previous page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:345
|
||||
msgid "reload page from the server"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:346
|
||||
msgid "open the result in a new tab"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:347
|
||||
msgid "select previous search result"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:348
|
||||
msgid "select next search result"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:349
|
||||
msgid "scroll one page up"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:350
|
||||
msgid "scroll half a page down"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:351
|
||||
msgid "scroll one page down"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:352
|
||||
msgid "scroll to the top of the page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:353
|
||||
msgid "scroll half a page up"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:354
|
||||
msgid "scroll to the bottom of the page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:502 searx/webapp.py:902
|
||||
msgid "Invalid settings, please edit your preferences"
|
||||
msgstr "הגדרות לא תקינות, עליך לתקן את ההעדפות שלך"
|
||||
|
||||
#: searx/webapp.py:494
|
||||
#: searx/webapp.py:518
|
||||
msgid "Invalid settings"
|
||||
msgstr "הגדרות לא תקינות"
|
||||
|
||||
#: searx/webapp.py:570 searx/webapp.py:660
|
||||
#: searx/webapp.py:594 searx/webapp.py:684
|
||||
msgid "search error"
|
||||
msgstr "שגיאת חיפוש"
|
||||
|
||||
|
||||
Binary file not shown.
@@ -24,7 +24,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: searx\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2026-10-04 05:47+0000\n"
|
||||
"POT-Creation-Date: 2026-10-09 19:03+0000\n"
|
||||
"PO-Revision-Date: 2026-09-19 15:25+0000\n"
|
||||
"Last-Translator: return42 <return42@noreply.codeberg.org>\n"
|
||||
"Language: hr\n"
|
||||
@@ -591,15 +591,107 @@ msgstr "Izvor"
|
||||
msgid "Error loading the next page"
|
||||
msgstr "Greška u učitavnju sljedeće stranice"
|
||||
|
||||
#: searx/webapp.py:478 searx/webapp.py:878
|
||||
#: searx/webapp.py:332
|
||||
msgid "close"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:333
|
||||
msgid "How to navigate SearXNG with hotkeys"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:334
|
||||
msgid "Control"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:335
|
||||
msgid "Results"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:336
|
||||
msgid "Navigation"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:337
|
||||
msgid "Other"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:338
|
||||
msgid "remove focus from the focused input"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:339
|
||||
msgid "copy url of the selected result to the clipboard"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:340
|
||||
msgid "toggle help window"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:341
|
||||
msgid "focus on the search input"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:342
|
||||
msgid "go to next page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:343
|
||||
msgid "open search result"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:344
|
||||
msgid "go to previous page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:345
|
||||
msgid "reload page from the server"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:346
|
||||
msgid "open the result in a new tab"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:347
|
||||
msgid "select previous search result"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:348
|
||||
msgid "select next search result"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:349
|
||||
msgid "scroll one page up"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:350
|
||||
msgid "scroll half a page down"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:351
|
||||
msgid "scroll one page down"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:352
|
||||
msgid "scroll to the top of the page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:353
|
||||
msgid "scroll half a page up"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:354
|
||||
msgid "scroll to the bottom of the page"
|
||||
msgstr ""
|
||||
|
||||
#: searx/webapp.py:502 searx/webapp.py:902
|
||||
msgid "Invalid settings, please edit your preferences"
|
||||
msgstr "Nevažeće postavke, molimo uredite svoje postavke"
|
||||
|
||||
#: searx/webapp.py:494
|
||||
#: searx/webapp.py:518
|
||||
msgid "Invalid settings"
|
||||
msgstr "Nevažeće postavke"
|
||||
|
||||
#: searx/webapp.py:570 searx/webapp.py:660
|
||||
#: searx/webapp.py:594 searx/webapp.py:684
|
||||
msgid "search error"
|
||||
msgstr "greška u pretraživanju"
|
||||
|
||||
|
||||
Binary file not shown.
@@ -25,8 +25,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: searx\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2026-10-04 05:47+0000\n"
|
||||
"PO-Revision-Date: 2026-10-06 13:27+0000\n"
|
||||
"POT-Creation-Date: 2026-10-09 19:03+0000\n"
|
||||
"PO-Revision-Date: 2026-10-13 08:27+0000\n"
|
||||
"Last-Translator: kratos <makesocialfoss32@keemail.me>\n"
|
||||
"Language: hu\n"
|
||||
"Language-Team: Hungarian <https://translate.codeberg.org/projects/searxng/"
|
||||
@@ -36,7 +36,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.18.0\n"
|
||||
"X-Generator: Weblate 2026.9.1\n"
|
||||
"X-Generator: Weblate 2026.10.1\n"
|
||||
|
||||
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
||||
#: searx/searxng.msg
|
||||
@@ -592,15 +592,107 @@ msgstr "Forrás"
|
||||
msgid "Error loading the next page"
|
||||
msgstr "Hiba a következő oldal betöltése során"
|
||||
|
||||
#: searx/webapp.py:478 searx/webapp.py:878
|
||||
#: searx/webapp.py:332
|
||||
msgid "close"
|
||||
msgstr "bezárás"
|
||||
|
||||
#: searx/webapp.py:333
|
||||
msgid "How to navigate SearXNG with hotkeys"
|
||||
msgstr "Hogyan navigáljon a SearXNG-ben gyorsbillentyűkkel"
|
||||
|
||||
#: searx/webapp.py:334
|
||||
msgid "Control"
|
||||
msgstr "Vezérlés"
|
||||
|
||||
#: searx/webapp.py:335
|
||||
msgid "Results"
|
||||
msgstr "Eredmények"
|
||||
|
||||
#: searx/webapp.py:336
|
||||
msgid "Navigation"
|
||||
msgstr "Navigáció"
|
||||
|
||||
#: searx/webapp.py:337
|
||||
msgid "Other"
|
||||
msgstr "Egyéb"
|
||||
|
||||
#: searx/webapp.py:338
|
||||
msgid "remove focus from the focused input"
|
||||
msgstr "a fókusz megszüntetése az aktív beviteli mezőn"
|
||||
|
||||
#: searx/webapp.py:339
|
||||
msgid "copy url of the selected result to the clipboard"
|
||||
msgstr "a kijelölt találat webcímének másolása a vágólapra"
|
||||
|
||||
#: searx/webapp.py:340
|
||||
msgid "toggle help window"
|
||||
msgstr "súgóablak megjelenítése vagy elrejtése"
|
||||
|
||||
#: searx/webapp.py:341
|
||||
msgid "focus on the search input"
|
||||
msgstr "fókusz áthelyezése a keresőmezőre"
|
||||
|
||||
#: searx/webapp.py:342
|
||||
msgid "go to next page"
|
||||
msgstr "ugrás a következő oldalra"
|
||||
|
||||
#: searx/webapp.py:343
|
||||
msgid "open search result"
|
||||
msgstr "keresési találat megnyitása"
|
||||
|
||||
#: searx/webapp.py:344
|
||||
msgid "go to previous page"
|
||||
msgstr "vissza az előző oldalra"
|
||||
|
||||
#: searx/webapp.py:345
|
||||
msgid "reload page from the server"
|
||||
msgstr "oldal újratöltése a kiszolgálóról"
|
||||
|
||||
#: searx/webapp.py:346
|
||||
msgid "open the result in a new tab"
|
||||
msgstr "találat megnyitása új lapon"
|
||||
|
||||
#: searx/webapp.py:347
|
||||
msgid "select previous search result"
|
||||
msgstr "előző keresési találat kijelölése"
|
||||
|
||||
#: searx/webapp.py:348
|
||||
msgid "select next search result"
|
||||
msgstr "következő keresési találat kijelölése"
|
||||
|
||||
#: searx/webapp.py:349
|
||||
msgid "scroll one page up"
|
||||
msgstr "görgetés egy oldallal felfelé"
|
||||
|
||||
#: searx/webapp.py:350
|
||||
msgid "scroll half a page down"
|
||||
msgstr "görgetés fél oldallal lefelé"
|
||||
|
||||
#: searx/webapp.py:351
|
||||
msgid "scroll one page down"
|
||||
msgstr "görgetés egy oldallal lefelé"
|
||||
|
||||
#: searx/webapp.py:352
|
||||
msgid "scroll to the top of the page"
|
||||
msgstr "ugrás az oldal tetejére"
|
||||
|
||||
#: searx/webapp.py:353
|
||||
msgid "scroll half a page up"
|
||||
msgstr "görgetés fél oldallal felfelé"
|
||||
|
||||
#: searx/webapp.py:354
|
||||
msgid "scroll to the bottom of the page"
|
||||
msgstr "Ugrás az oldal aljára"
|
||||
|
||||
#: searx/webapp.py:502 searx/webapp.py:902
|
||||
msgid "Invalid settings, please edit your preferences"
|
||||
msgstr "Érvénytelen beállítások, módosítsa őket"
|
||||
|
||||
#: searx/webapp.py:494
|
||||
#: searx/webapp.py:518
|
||||
msgid "Invalid settings"
|
||||
msgstr "Érvénytelen beállítások"
|
||||
|
||||
#: searx/webapp.py:570 searx/webapp.py:660
|
||||
#: searx/webapp.py:594 searx/webapp.py:684
|
||||
msgid "search error"
|
||||
msgstr "keresési hiba"
|
||||
|
||||
|
||||
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user