1 Commits

Author SHA1 Message Date
searxng-bot
b1fc49e357 [l10n] update translations from Weblate
493c1d2a7 - 2026-07-07 - lukisko <lukisko@noreply.codeberg.org>
a67b467e5 - 2026-07-06 - marc-lopez <marc-lopez@noreply.codeberg.org>
2026-07-10 08:12:43 +00:00
162 changed files with 1440 additions and 1782 deletions

View File

@@ -25,21 +25,25 @@ env:
jobs: jobs:
build: build:
if: | if: github.repository_owner == 'searxng' || github.event_name == 'workflow_dispatch'
github.event_name == 'workflow_dispatch'
|| (github.repository_owner == 'searxng' && github.event.workflow_run.conclusion == 'success')
name: Build (${{ matrix.arch }}) name: Build (${{ matrix.arch }})
runs-on: ${{ matrix.runner }} runs-on: ${{ matrix.os }}
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
include: include:
- runner: ubuntu-26.04 - arch: amd64
arch: amd64 march: amd64
- runner: ubuntu-26.04-arm os: ubuntu-24.04
arch: arm64 emulation: false
- runner: ubuntu-26.04-arm - arch: arm64
arch: armv7 march: arm64
os: ubuntu-24.04-arm
emulation: false
- arch: armv7
march: arm64
os: ubuntu-24.04-arm
emulation: true
permissions: permissions:
packages: write packages: write
@@ -49,25 +53,33 @@ jobs:
git_url: ${{ steps.build.outputs.git_url }} git_url: ${{ steps.build.outputs.git_url }}
steps: steps:
- name: Login to GHCR # yamllint disable rule:line-length
uses: docker/login-action@af1e73f918a031802d376d3c8bbc3fe56130a9b0 # v4.4.0 - name: Setup podman
with: env:
registry: "ghcr.io" PODMAN_VERSION: "v5.7.1"
username: "${{ github.repository_owner }}" run: |
password: "${{ secrets.GITHUB_TOKEN }}" sudo apt-get purge -y podman runc crun conmon
curl -fsSLO "https://github.com/mgoltzsche/podman-static/releases/download/${{ env.PODMAN_VERSION }}/podman-linux-${{ matrix.march }}.tar.gz"
curl -fsSLO "https://github.com/mgoltzsche/podman-static/releases/download/${{ env.PODMAN_VERSION }}/podman-linux-${{ matrix.march }}.tar.gz.asc"
gpg --keyserver hkps://keyserver.ubuntu.com --recv-keys 0CCF102C4F95D89E583FF1D4F8B5AF50344BB503
gpg --batch --verify "podman-linux-${{ matrix.march }}.tar.gz.asc" "podman-linux-${{ matrix.march }}.tar.gz"
tar -xzf "podman-linux-${{ matrix.march }}.tar.gz"
sudo cp -rfv ./podman-linux-${{ matrix.march }}/etc/. /etc/
sudo cp -rfv ./podman-linux-${{ matrix.march }}/usr/. /usr/
sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0
# yamllint enable rule:line-length
- name: Setup Python - name: Setup Python
uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0 uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
with: with:
python-version: "${{ env.PYTHON_VERSION }}" python-version: "${{ env.PYTHON_VERSION }}"
- name: Setup QEMU
uses: docker/setup-qemu-action@96fe6ef7f33517b61c61be40b68a1882f3264fb8 # v4.2.0
- name: Checkout - name: Checkout
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with: with:
ref: "${{ github.event.workflow_run.head_sha || github.sha }}"
persist-credentials: "false" persist-credentials: "false"
fetch-depth: "0" fetch-depth: "0"
@@ -79,52 +91,71 @@ jobs:
python-${{ env.PYTHON_VERSION }}-${{ runner.arch }}- python-${{ env.PYTHON_VERSION }}-${{ runner.arch }}-
path: "./local/" path: "./local/"
- name: Get date
id: date
run: echo "date=$(date +'%Y%m%d')" >>$GITHUB_OUTPUT
- name: Setup cache container - name: Setup cache container
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with: with:
key: "container-${{ matrix.arch }}-${{ hashFiles('./requirements*.txt') }}" key: "container-${{ matrix.arch }}-${{ steps.date.outputs.date }}-${{ hashFiles('./requirements*.txt') }}"
restore-keys: | restore-keys: |
container-${{ matrix.arch }}-${{ steps.date.outputs.date }}-
container-${{ matrix.arch }}- container-${{ matrix.arch }}-
path: "/var/tmp/buildah-cache-*/*" path: "/var/tmp/buildah-cache-*/*"
- name: Build - if: ${{ matrix.emulation }}
id: build name: Setup QEMU
env: uses: docker/setup-qemu-action@96fe6ef7f33517b61c61be40b68a1882f3264fb8 # v4.2.0
OVERRIDE_ARCH: "${{ matrix.arch }}"
run: make container.build
test:
name: Test (${{ matrix.arch }})
runs-on: ${{ matrix.runner }}
needs: build
strategy:
fail-fast: false
matrix:
include:
- runner: ubuntu-26.04
arch: amd64
- runner: ubuntu-26.04-arm
arch: arm64
- runner: ubuntu-26.04-arm
arch: armv7
steps:
- name: Login to GHCR - name: Login to GHCR
uses: docker/login-action@af1e73f918a031802d376d3c8bbc3fe56130a9b0 # v4.4.0 uses: docker/login-action@c99871dec2022cc055c062a10cc1a1310835ceb4 # v4.3.0
with: with:
registry: "ghcr.io" registry: "ghcr.io"
username: "${{ github.repository_owner }}" username: "${{ github.repository_owner }}"
password: "${{ secrets.GITHUB_TOKEN }}" password: "${{ secrets.GITHUB_TOKEN }}"
- name: Setup QEMU - name: Build
uses: docker/setup-qemu-action@96fe6ef7f33517b61c61be40b68a1882f3264fb8 # v4.2.0 id: build
env:
OVERRIDE_ARCH: "${{ matrix.arch }}"
run: make podman.build
test:
name: Test (${{ matrix.arch }})
runs-on: ${{ matrix.os }}
needs: build
strategy:
fail-fast: false
matrix:
include:
- arch: amd64
os: ubuntu-24.04
emulation: false
- arch: arm64
os: ubuntu-24.04-arm
emulation: false
- arch: armv7
os: ubuntu-24.04-arm
emulation: true
steps:
- name: Checkout - name: Checkout
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with: with:
ref: "${{ github.event.workflow_run.head_sha || github.sha }}"
persist-credentials: "false" persist-credentials: "false"
- if: ${{ matrix.emulation }}
name: Setup QEMU
uses: docker/setup-qemu-action@96fe6ef7f33517b61c61be40b68a1882f3264fb8 # v4.2.0
- name: Login to GHCR
uses: docker/login-action@c99871dec2022cc055c062a10cc1a1310835ceb4 # v4.3.0
with:
registry: "ghcr.io"
username: "${{ github.repository_owner }}"
password: "${{ secrets.GITHUB_TOKEN }}"
- name: Test - name: Test
env: env:
OVERRIDE_ARCH: "${{ matrix.arch }}" OVERRIDE_ARCH: "${{ matrix.arch }}"
@@ -134,7 +165,7 @@ jobs:
release: release:
if: github.repository_owner == 'searxng' && github.ref_name == 'master' if: github.repository_owner == 'searxng' && github.ref_name == 'master'
name: Release name: Release
runs-on: ubuntu-26.04-arm runs-on: ubuntu-24.04-arm
needs: needs:
- build - build
- test - test
@@ -143,25 +174,24 @@ jobs:
packages: write packages: write
steps: steps:
- name: Login to Docker Hub - name: Checkout
uses: docker/login-action@af1e73f918a031802d376d3c8bbc3fe56130a9b0 # v4.4.0 uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with: with:
registry: "docker.io" persist-credentials: "false"
username: "${{ secrets.DOCKER_USER }}"
password: "${{ secrets.DOCKER_TOKEN }}"
- name: Login to GHCR - name: Login to GHCR
uses: docker/login-action@af1e73f918a031802d376d3c8bbc3fe56130a9b0 # v4.4.0 uses: docker/login-action@c99871dec2022cc055c062a10cc1a1310835ceb4 # v4.3.0
with: with:
registry: "ghcr.io" registry: "ghcr.io"
username: "${{ github.repository_owner }}" username: "${{ github.repository_owner }}"
password: "${{ secrets.GITHUB_TOKEN }}" password: "${{ secrets.GITHUB_TOKEN }}"
- name: Checkout - name: Login to Docker Hub
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 uses: docker/login-action@c99871dec2022cc055c062a10cc1a1310835ceb4 # v4.3.0
with: with:
ref: "${{ github.event.workflow_run.head_sha || github.sha }}" registry: "docker.io"
persist-credentials: "false" username: "${{ secrets.DOCKER_USER }}"
password: "${{ secrets.DOCKER_TOKEN }}"
- name: Release - name: Release
env: env:

View File

@@ -21,7 +21,7 @@ jobs:
data: data:
if: github.repository_owner == 'searxng' if: github.repository_owner == 'searxng'
name: ${{ matrix.fetch }} name: ${{ matrix.fetch }}
runs-on: ubuntu-26.04-arm runs-on: ubuntu-24.04-arm
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
@@ -64,17 +64,23 @@ jobs:
run: V=1 ./manage pyenv.cmd python "./searxng_extra/update/${{ matrix.fetch }}" run: V=1 ./manage pyenv.cmd python "./searxng_extra/update/${{ matrix.fetch }}"
- name: Create PR - name: Create PR
id: cpr
uses: peter-evans/create-pull-request@5f6978faf089d4d20b00c7766989d076bb2fc7f1 # v8.1.1 uses: peter-evans/create-pull-request@5f6978faf089d4d20b00c7766989d076bb2fc7f1 # v8.1.1
with: with:
author: "searxng-bot <searxng-bot@users.noreply.github.com>" author: "searxng-bot <searxng-bot@users.noreply.github.com>"
committer: "searxng-bot <searxng-bot@users.noreply.github.com>" committer: "searxng-bot <searxng-bot@users.noreply.github.com>"
title: "[mod] data: update searx.data - ${{ matrix.fetch }}" title: "[data] update searx.data - ${{ matrix.fetch }}"
commit-message: "[mod] data: update searx.data - ${{ matrix.fetch }}" commit-message: "[data] update searx.data - ${{ matrix.fetch }}"
branch: "ci-data-${{ matrix.fetch }}" branch: "update_data_${{ matrix.fetch }}"
delete-branch: "true" delete-branch: "true"
draft: "false" draft: "false"
signoff: "false" signoff: "false"
body: | body: |
Update searx.data - ${{ matrix.fetch }} [data] update searx.data - ${{ matrix.fetch }}
labels: | labels: |
data data
- name: Display information
run: |
echo "Pull Request Number - ${{ steps.cpr.outputs.pull-request-number }}"
echo "Pull Request URL - ${{ steps.cpr.outputs.pull-request-url }}"

View File

@@ -25,7 +25,7 @@ jobs:
release: release:
if: github.repository_owner == 'searxng' || github.event_name == 'workflow_dispatch' if: github.repository_owner == 'searxng' || github.event_name == 'workflow_dispatch'
name: Release name: Release
runs-on: ubuntu-26.04-arm runs-on: ubuntu-24.04-arm
permissions: permissions:
# for JamesIves/github-pages-deploy-action to push # for JamesIves/github-pages-deploy-action to push
contents: write contents: write
@@ -65,7 +65,7 @@ jobs:
with: with:
folder: "dist/docs" folder: "dist/docs"
branch: "gh-pages" branch: "gh-pages"
commit-message: "[mod] docs: build from commit ${{ github.sha }}" commit-message: "[doc] build from commit ${{ github.sha }}"
# Automatically remove deleted files from the deploy branch # Automatically remove deleted files from the deploy branch
clean: "true" clean: "true"
single-commit: "true" single-commit: "true"

View File

@@ -23,7 +23,7 @@ env:
jobs: jobs:
test: test:
name: Python ${{ matrix.python-version }} name: Python ${{ matrix.python-version }}
runs-on: ubuntu-26.04 runs-on: ubuntu-24.04
strategy: strategy:
matrix: matrix:
python-version: python-version:
@@ -59,24 +59,29 @@ jobs:
theme: theme:
name: Theme name: Theme
runs-on: ubuntu-26.04-arm runs-on: ubuntu-24.04-arm
steps: steps:
- name: Setup Python - name: Setup Python
uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0 uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0
with: with:
python-version: "${{ env.PYTHON_VERSION }}" python-version: "${{ env.PYTHON_VERSION }}"
- name: Setup Node.js
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: "26"
check-latest: "true"
- name: Checkout - name: Checkout
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with: with:
persist-credentials: "false" persist-credentials: "false"
- name: Setup Node.js
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version-file: "./.nvmrc"
- name: Setup cache Node.js
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
key: "nodejs-${{ runner.arch }}-${{ hashFiles('./.nvmrc', './package.json') }}"
path: "./client/simple/node_modules/"
- name: Setup cache Python - name: Setup cache Python
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with: with:
@@ -85,14 +90,6 @@ jobs:
python-${{ env.PYTHON_VERSION }}-${{ runner.arch }}- python-${{ env.PYTHON_VERSION }}-${{ runner.arch }}-
path: "./local/" path: "./local/"
- name: Setup cache Node.js
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
key: "nodejs-${{ runner.arch }}-${{ hashFiles('**/package-lock.json') }}"
restore-keys: |
nodejs-${{ runner.arch }}-
path: "./client/simple/node_modules/"
- name: Setup venv - name: Setup venv
run: make V=1 install run: make V=1 install

View File

@@ -26,9 +26,9 @@ env:
jobs: jobs:
update: update:
if: github.event.workflow_run.conclusion == 'success' && github.repository_owner == 'searxng' if: github.repository_owner == 'searxng' && github.event.workflow_run.conclusion == 'success'
name: Update name: Update
runs-on: ubuntu-26.04-arm runs-on: ubuntu-24.04-arm
permissions: permissions:
# For "make V=1 weblate.push.translations" # For "make V=1 weblate.push.translations"
contents: write contents: write
@@ -74,7 +74,7 @@ jobs:
github.repository_owner == 'searxng' github.repository_owner == 'searxng'
&& (github.event_name == 'workflow_dispatch' || github.event_name == 'schedule') && (github.event_name == 'workflow_dispatch' || github.event_name == 'schedule')
name: Pull Request name: Pull Request
runs-on: ubuntu-26.04-arm runs-on: ubuntu-24.04-arm
permissions: permissions:
# For "make V=1 weblate.translations.commit" # For "make V=1 weblate.translations.commit"
contents: write contents: write
@@ -118,17 +118,23 @@ jobs:
run: make V=1 weblate.translations.commit run: make V=1 weblate.translations.commit
- name: Create PR - name: Create PR
id: cpr
uses: peter-evans/create-pull-request@5f6978faf089d4d20b00c7766989d076bb2fc7f1 # v8.1.1 uses: peter-evans/create-pull-request@5f6978faf089d4d20b00c7766989d076bb2fc7f1 # v8.1.1
with: with:
author: "searxng-bot <searxng-bot@users.noreply.github.com>" author: "searxng-bot <searxng-bot@users.noreply.github.com>"
committer: "searxng-bot <searxng-bot@users.noreply.github.com>" committer: "searxng-bot <searxng-bot@users.noreply.github.com>"
title: "[mod] i18n: update translations from Weblate" title: "[l10n] update translations from Weblate"
commit-message: "[mod] i18n: update translations from Weblate" commit-message: "[l10n] update translations from Weblate"
branch: "translations_update" branch: "translations_update"
delete-branch: "true" delete-branch: "true"
draft: "false" draft: "false"
signoff: "false" signoff: "false"
body: | body: |
Update translations from Weblate [l10n] update translations from Weblate
labels: | labels: |
area:i18n area:i18n
- name: Display information
run: |
echo "Pull Request Number - ${{ steps.cpr.outputs.pull-request-number }}"
echo "Pull Request URL - ${{ steps.cpr.outputs.pull-request-url }}"

46
.github/workflows/security.yml vendored Normal file
View File

@@ -0,0 +1,46 @@
---
name: Security
# yamllint disable-line rule:truthy
on:
workflow_dispatch:
schedule:
- cron: "42 05 * * *"
concurrency:
group: ${{ github.workflow }}
cancel-in-progress: false
permissions:
contents: read
jobs:
container:
if: github.repository_owner == 'searxng'
name: Container
runs-on: ubuntu-24.04-arm
permissions:
security-events: write
steps:
- name: Checkout
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: "false"
- name: Sync GHCS from Docker Scout
uses: docker/scout-action@ce97ec1bb85613e8eb35d086fad0c77a6cedf983 # v1.23.0
with:
organization: "searxng"
dockerhub-user: "${{ secrets.DOCKER_USER }}"
dockerhub-password: "${{ secrets.DOCKER_TOKEN }}"
image: "registry://ghcr.io/searxng/searxng:latest"
command: "cves"
sarif-file: "./scout.sarif"
exit-code: "false"
write-comment: "false"
- name: Upload SARIFs
uses: github/codeql-action/upload-sarif@54f647b7e1bb85c95cddabcd46b0c578ec92bc1a # v4.36.3
with:
sarif_file: "./scout.sarif"

View File

@@ -15,9 +15,9 @@
"swiped-events": "1.2.0" "swiped-events": "1.2.0"
}, },
"devDependencies": { "devDependencies": {
"@biomejs/biome": "2.5.3", "@biomejs/biome": "2.5.2",
"@types/node": "^26.1.1", "@types/node": "^26.1.0",
"browserslist": "^4.28.6", "browserslist": "^4.28.4",
"browserslist-to-esbuild": "^2.1.1", "browserslist-to-esbuild": "^2.1.1",
"edge.js": "^6.5.1", "edge.js": "^6.5.1",
"less": "^4.6.7", "less": "^4.6.7",
@@ -27,9 +27,9 @@
"stylelint": "^17.14.0", "stylelint": "^17.14.0",
"stylelint-config-standard-less": "^4.1.0", "stylelint-config-standard-less": "^4.1.0",
"stylelint-prettier": "^5.0.3", "stylelint-prettier": "^5.0.3",
"svgo": "^4.0.2", "svgo": "^4.0.1",
"typescript": "~7.0.2", "typescript": "~6.0.3",
"vite": "^8.1.4", "vite": "^8.1.3",
"vite-bundle-analyzer": "^1.3.8" "vite-bundle-analyzer": "^1.3.8"
} }
}, },
@@ -69,9 +69,9 @@
} }
}, },
"node_modules/@biomejs/biome": { "node_modules/@biomejs/biome": {
"version": "2.5.3", "version": "2.5.2",
"resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.5.3.tgz", "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.5.2.tgz",
"integrity": "sha512-MrJswFdei9EfDwwUy2tQrPDpK0AO+RmMFvBoaaJ6ayBc3sUbHdCE+XG5N8vp+5So41ZupZJQm0roHFFhMGVD7A==", "integrity": "sha512-VQ3RCqr7JmDIX+w6stWYl+g/3bYofN3q2wDBHUKKc/c7i5QWrFKFBZYCYPWTE6agsUPMIZZe6/CMmVUfUAhkKA==",
"dev": true, "dev": true,
"license": "MIT OR Apache-2.0", "license": "MIT OR Apache-2.0",
"bin": { "bin": {
@@ -85,20 +85,20 @@
"url": "https://opencollective.com/biome" "url": "https://opencollective.com/biome"
}, },
"optionalDependencies": { "optionalDependencies": {
"@biomejs/cli-darwin-arm64": "2.5.3", "@biomejs/cli-darwin-arm64": "2.5.2",
"@biomejs/cli-darwin-x64": "2.5.3", "@biomejs/cli-darwin-x64": "2.5.2",
"@biomejs/cli-linux-arm64": "2.5.3", "@biomejs/cli-linux-arm64": "2.5.2",
"@biomejs/cli-linux-arm64-musl": "2.5.3", "@biomejs/cli-linux-arm64-musl": "2.5.2",
"@biomejs/cli-linux-x64": "2.5.3", "@biomejs/cli-linux-x64": "2.5.2",
"@biomejs/cli-linux-x64-musl": "2.5.3", "@biomejs/cli-linux-x64-musl": "2.5.2",
"@biomejs/cli-win32-arm64": "2.5.3", "@biomejs/cli-win32-arm64": "2.5.2",
"@biomejs/cli-win32-x64": "2.5.3" "@biomejs/cli-win32-x64": "2.5.2"
} }
}, },
"node_modules/@biomejs/cli-darwin-arm64": { "node_modules/@biomejs/cli-darwin-arm64": {
"version": "2.5.3", "version": "2.5.2",
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.5.3.tgz", "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.5.2.tgz",
"integrity": "sha512-QhYP9muVQ0nUO5zztFuPbEwi4+94sJWVjaZds9aMi1l/KNZBiUjdiSUrGHsTaMGDXrYl+r4AS2sUKfgH3w+V3g==", "integrity": "sha512-e7P3P7EkwFc/KiX2AHw4YDLIBOMfG9CPCAwy52k5Bp0dfhkozx9hf6wCmIr2QeXy2XeccJ3V/Sg+hDmzYEqxSg==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@@ -113,9 +113,9 @@
} }
}, },
"node_modules/@biomejs/cli-darwin-x64": { "node_modules/@biomejs/cli-darwin-x64": {
"version": "2.5.3", "version": "2.5.2",
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.5.3.tgz", "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.5.2.tgz",
"integrity": "sha512-NC1Ss13UaW7QZX+y8j44bF7AP0jSJdBl6iRhe0MAkvaSqZy+mWg3GaXsrb+eSoHoGDBtaXWEbMVV0iVN2cZ7cQ==", "integrity": "sha512-ymzMvjC1Jg0b9K0D26ZdARqFQXs7MocfLC5FOCGfkC0Ss+ACUJkX5364ZM5nT4NLZanHRZNVrZEy+Ibwcvux/g==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@@ -130,9 +130,9 @@
} }
}, },
"node_modules/@biomejs/cli-linux-arm64": { "node_modules/@biomejs/cli-linux-arm64": {
"version": "2.5.3", "version": "2.5.2",
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.5.3.tgz", "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.5.2.tgz",
"integrity": "sha512-ksx1KWeyYW18ILL04msF/J4ZBtBDN33znYK8Z/aNv/vlBVxL9/g3mGP+omgHJKy4+KWbK87vcmmpmurfNjSgiA==", "integrity": "sha512-t7sseOmqND57uUWTwlawU6BYj+J06T/9EkydzBhkrgw/FK3QVhjU2wsJR0frljrKZ0/I8A/rYw7284QgqjQfIQ==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@@ -150,9 +150,9 @@
} }
}, },
"node_modules/@biomejs/cli-linux-arm64-musl": { "node_modules/@biomejs/cli-linux-arm64-musl": {
"version": "2.5.3", "version": "2.5.2",
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.5.3.tgz", "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.5.2.tgz",
"integrity": "sha512-fccix0w6xp6csCXgxeC0dU/3ecgRQal0y+cv2SP9ajNlhe7Yrk2Ug7UDe2j9AT9ZDYitkXpvUKgZjjuoYeP4Vg==", "integrity": "sha512-w+ANG0ZvTu9IeEg9QnstoOnk6L0fpwJifW6aHR18+cb5Z39bkANItYjAfMrnvce5tmMK+IQ6nPX7/kQFdam5iw==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@@ -170,9 +170,9 @@
} }
}, },
"node_modules/@biomejs/cli-linux-x64": { "node_modules/@biomejs/cli-linux-x64": {
"version": "2.5.3", "version": "2.5.2",
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.5.3.tgz", "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.5.2.tgz",
"integrity": "sha512-yMkJtilsgvILDcVkh187aVLTb64xYsrxYajx5kym+r1ULkO5HUOfu9AYKLGQbOVLwJtT2utNw7hhFNg+17mUYA==", "integrity": "sha512-M/lOZrewzTCRDINbjhQ1gYYru37KlD3kJBQwwKCG0ckz5E9IZwIoJ3X0wBwRXA+yBDIwWUuPBHS67HzJY4dTfA==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@@ -190,9 +190,9 @@
} }
}, },
"node_modules/@biomejs/cli-linux-x64-musl": { "node_modules/@biomejs/cli-linux-x64-musl": {
"version": "2.5.3", "version": "2.5.2",
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.5.3.tgz", "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.5.2.tgz",
"integrity": "sha512-O/yU9YKRUiHhmcjF2f38PSjseVk3G4VLWYc0G2HWpzdBVREV6G8IGWIVEFf7MFPfWIzNUIvPsEjeAZQIOgnLcQ==", "integrity": "sha512-VArNLAzND063tF+XY0yPyM+DyahpzOMzOAvb7qs259nhjJWRjvjZdssuA+Rfl+l07+NOesKZ0Xu2yFrXyBMtzw==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@@ -210,9 +210,9 @@
} }
}, },
"node_modules/@biomejs/cli-win32-arm64": { "node_modules/@biomejs/cli-win32-arm64": {
"version": "2.5.3", "version": "2.5.2",
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.5.3.tgz", "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.5.2.tgz",
"integrity": "sha512-cX5z+GYwRcqEok0AH3KSfQGgqYd0Nomfp6Fbe1uiTtELE38hdH2k842wQ9wLNaF/JJ7r4rjJQ4VR+ce+fRmQbw==", "integrity": "sha512-kbjFFKyZlzYnAuw7sRy5qDoFG6zrP40UK08oPQsWK0ct3NMnGSt+Bs1iviEEyEIP57N5MrykGXdO/wRiaR4lww==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@@ -227,9 +227,9 @@
} }
}, },
"node_modules/@biomejs/cli-win32-x64": { "node_modules/@biomejs/cli-win32-x64": {
"version": "2.5.3", "version": "2.5.2",
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.5.3.tgz", "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.5.2.tgz",
"integrity": "sha512-ExSaJWi4/u6+GXCszlSKpWSjKNbDseAYqqkCznsCsZ/4uidZ/BEqsCc5/3ctlq6dfIubdIIRSVLC/PG9xPl70Q==", "integrity": "sha512-4InchVpdVmdkkkgjQqKpgvyu+VPnoF/7RPSw5YATgEVpt2j72wcCAeV5TwaE9ZGJUZWZn7v2CwSAj6CrMJEx8A==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@@ -1648,9 +1648,9 @@
} }
}, },
"node_modules/@types/node": { "node_modules/@types/node": {
"version": "26.1.1", "version": "26.1.0",
"resolved": "https://registry.npmjs.org/@types/node/-/node-26.1.1.tgz", "resolved": "https://registry.npmjs.org/@types/node/-/node-26.1.0.tgz",
"integrity": "sha512-nxAkRSVkN1Y0JC1W8ky/fTfkGsMmcrRsbx+3XoZE+rMOX71kLYTV7fLXpqud1GpbpP5TuffXFqfX7fH2GgZREw==", "integrity": "sha512-O0A1G3xPGy4w7AgQdAQYUlQ+BKk2Oovw8eRpofyp5KdBZULnbe+WqaOVNrm705SHphCiG4XHsACrSmPu1f+Kgw==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
@@ -1670,346 +1670,6 @@
"integrity": "sha512-+N+2H39P8X+Hy1I5mC6awlTX54k3FhiUmvt7HWzGJZvF+syUAAxP/stwppS8JE84YHqFgRMv6fCy31202CMFxQ==", "integrity": "sha512-+N+2H39P8X+Hy1I5mC6awlTX54k3FhiUmvt7HWzGJZvF+syUAAxP/stwppS8JE84YHqFgRMv6fCy31202CMFxQ==",
"license": "MIT" "license": "MIT"
}, },
"node_modules/@typescript/typescript-aix-ppc64": {
"version": "7.0.2",
"resolved": "https://registry.npmjs.org/@typescript/typescript-aix-ppc64/-/typescript-aix-ppc64-7.0.2.tgz",
"integrity": "sha512-MTKKkWB7p/0E9xi1d1tHtZ5PiLkGEMIq88pK2CubZjOsLtYTLqhgIgi6zepFa+9GHZ6h05NMCkQxGKiPXMxXtQ==",
"cpu": [
"ppc64"
],
"dev": true,
"license": "Apache-2.0",
"optional": true,
"os": [
"aix"
],
"engines": {
"node": ">=16.20.0"
}
},
"node_modules/@typescript/typescript-darwin-arm64": {
"version": "7.0.2",
"resolved": "https://registry.npmjs.org/@typescript/typescript-darwin-arm64/-/typescript-darwin-arm64-7.0.2.tgz",
"integrity": "sha512-gowzar9MwS/aRWp6f3a4KUqzRjAZjOsmGNCM6LcTgXum+dBfgsBVMN+AgvOCCbguXyick6LJhpBszxMebJ8syA==",
"cpu": [
"arm64"
],
"dev": true,
"license": "Apache-2.0",
"optional": true,
"os": [
"darwin"
],
"engines": {
"node": ">=16.20.0"
}
},
"node_modules/@typescript/typescript-darwin-x64": {
"version": "7.0.2",
"resolved": "https://registry.npmjs.org/@typescript/typescript-darwin-x64/-/typescript-darwin-x64-7.0.2.tgz",
"integrity": "sha512-SZ9xZInqApNlNGc9s0W1VSsktYSOe9cFqNOIqmN1Gs8SmkjKZYFt017G4VwPxASInODuAdbTW7sXiFUf893RgA==",
"cpu": [
"x64"
],
"dev": true,
"license": "Apache-2.0",
"optional": true,
"os": [
"darwin"
],
"engines": {
"node": ">=16.20.0"
}
},
"node_modules/@typescript/typescript-freebsd-arm64": {
"version": "7.0.2",
"resolved": "https://registry.npmjs.org/@typescript/typescript-freebsd-arm64/-/typescript-freebsd-arm64-7.0.2.tgz",
"integrity": "sha512-W5NH4y/J0plIIS5b2xvTEkU7JFxyqdMAOgf+Ilhl0vHQXKO5dZoxd+C/jEtq56c4F3wk71RB4BMRQ2XdI+bwYQ==",
"cpu": [
"arm64"
],
"dev": true,
"license": "Apache-2.0",
"optional": true,
"os": [
"freebsd"
],
"engines": {
"node": ">=16.20.0"
}
},
"node_modules/@typescript/typescript-freebsd-x64": {
"version": "7.0.2",
"resolved": "https://registry.npmjs.org/@typescript/typescript-freebsd-x64/-/typescript-freebsd-x64-7.0.2.tgz",
"integrity": "sha512-UMGDx5sTpzNw3WiPebH7l90IWfJggEd+egHt/q6p7/Cm3zqoV7VxkGXt+3DxPIw8CcmvAB0j3sVVfbhX+M4Tpw==",
"cpu": [
"x64"
],
"dev": true,
"license": "Apache-2.0",
"optional": true,
"os": [
"freebsd"
],
"engines": {
"node": ">=16.20.0"
}
},
"node_modules/@typescript/typescript-linux-arm": {
"version": "7.0.2",
"resolved": "https://registry.npmjs.org/@typescript/typescript-linux-arm/-/typescript-linux-arm-7.0.2.tgz",
"integrity": "sha512-gffT3xPz9sR7j/YJExkyPntrI0P2EP9XbOyWzth2/Gs0RstK+90RBcO0ncXoXy/beYll1SXw846Nf2zdnEz0QQ==",
"cpu": [
"arm"
],
"dev": true,
"license": "Apache-2.0",
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">=16.20.0"
}
},
"node_modules/@typescript/typescript-linux-arm64": {
"version": "7.0.2",
"resolved": "https://registry.npmjs.org/@typescript/typescript-linux-arm64/-/typescript-linux-arm64-7.0.2.tgz",
"integrity": "sha512-Qh4eU4/y3yDjnfjjyPYihMj5/ODIlmt+Bzu17OI+fiSRDW57QmU5SiN63exPRNJPKUzcc1INa1NXdrJ+MqHjUQ==",
"cpu": [
"arm64"
],
"dev": true,
"license": "Apache-2.0",
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">=16.20.0"
}
},
"node_modules/@typescript/typescript-linux-loong64": {
"version": "7.0.2",
"resolved": "https://registry.npmjs.org/@typescript/typescript-linux-loong64/-/typescript-linux-loong64-7.0.2.tgz",
"integrity": "sha512-uEHck9i8hoAzXPiYRib1O7miOnz23SxIeVl6F4LXox+qov1K35jHcEW6VHKvZI+pyvl7fZEP4MCU5LYvIq1GuQ==",
"cpu": [
"loong64"
],
"dev": true,
"license": "Apache-2.0",
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">=16.20.0"
}
},
"node_modules/@typescript/typescript-linux-mips64el": {
"version": "7.0.2",
"resolved": "https://registry.npmjs.org/@typescript/typescript-linux-mips64el/-/typescript-linux-mips64el-7.0.2.tgz",
"integrity": "sha512-R4KvAMnE43W5Qeqb0Ly56O3mWMWIAgsMyz36DCaycd5nbg/9kzm0liw3JocfRqyJY0KPmzFjbswozXyW0DnIYA==",
"cpu": [
"mips64el"
],
"dev": true,
"license": "Apache-2.0",
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">=16.20.0"
}
},
"node_modules/@typescript/typescript-linux-ppc64": {
"version": "7.0.2",
"resolved": "https://registry.npmjs.org/@typescript/typescript-linux-ppc64/-/typescript-linux-ppc64-7.0.2.tgz",
"integrity": "sha512-DORx5b3sd/4S7eayxm4FQv+A7CrkUIGRaHiwI8oiHTAI1fAPWhF4J0vAlkC8biAlHSVVwxMQ3tjZ2/DVbnQiiA==",
"cpu": [
"ppc64"
],
"dev": true,
"license": "Apache-2.0",
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">=16.20.0"
}
},
"node_modules/@typescript/typescript-linux-riscv64": {
"version": "7.0.2",
"resolved": "https://registry.npmjs.org/@typescript/typescript-linux-riscv64/-/typescript-linux-riscv64-7.0.2.tgz",
"integrity": "sha512-wf0jqEDOjrPRnKwYRyyJDRo11KMbvMFrU+q4zqKyChODBzvlkbhNQfKvLxQCcwTpdDaXSHZTVuh0JoCrKCUMHQ==",
"cpu": [
"riscv64"
],
"dev": true,
"license": "Apache-2.0",
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">=16.20.0"
}
},
"node_modules/@typescript/typescript-linux-s390x": {
"version": "7.0.2",
"resolved": "https://registry.npmjs.org/@typescript/typescript-linux-s390x/-/typescript-linux-s390x-7.0.2.tgz",
"integrity": "sha512-IkwJc3L7yhytWd/ewjyxNDfOmswCm9GWMJT/ue/dU4aZNbwZeYAetq42VyLmsmSjvoX7z74X6ZaYCtzAr0EuGw==",
"cpu": [
"s390x"
],
"dev": true,
"license": "Apache-2.0",
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">=16.20.0"
}
},
"node_modules/@typescript/typescript-linux-x64": {
"version": "7.0.2",
"resolved": "https://registry.npmjs.org/@typescript/typescript-linux-x64/-/typescript-linux-x64-7.0.2.tgz",
"integrity": "sha512-EYdf2cNg7rgCWJnxCdJ+F3V39O8ihb37eHAu1LK8oAFizgTQbPOK7zHHXbPt8rX24COqODXeI3sIf0fCXG7H/A==",
"cpu": [
"x64"
],
"dev": true,
"license": "Apache-2.0",
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">=16.20.0"
}
},
"node_modules/@typescript/typescript-netbsd-arm64": {
"version": "7.0.2",
"resolved": "https://registry.npmjs.org/@typescript/typescript-netbsd-arm64/-/typescript-netbsd-arm64-7.0.2.tgz",
"integrity": "sha512-+polYF4MF04aPpO5FTkHran9yUQDSXqy5GiSDKpsll5jy3l3+g9QLhpf39T+ePtefhXLOGrLl0QIjkQP6VnelA==",
"cpu": [
"arm64"
],
"dev": true,
"license": "Apache-2.0",
"optional": true,
"os": [
"netbsd"
],
"engines": {
"node": ">=16.20.0"
}
},
"node_modules/@typescript/typescript-netbsd-x64": {
"version": "7.0.2",
"resolved": "https://registry.npmjs.org/@typescript/typescript-netbsd-x64/-/typescript-netbsd-x64-7.0.2.tgz",
"integrity": "sha512-8YIT0EHM/3dq10ZOVF/A7pc/YSMtbcecct4rWtexrnSCHOPcpC2KTLXfTCR6vDpnSiY12heNb1GiN/wu+T/FyA==",
"cpu": [
"x64"
],
"dev": true,
"license": "Apache-2.0",
"optional": true,
"os": [
"netbsd"
],
"engines": {
"node": ">=16.20.0"
}
},
"node_modules/@typescript/typescript-openbsd-arm64": {
"version": "7.0.2",
"resolved": "https://registry.npmjs.org/@typescript/typescript-openbsd-arm64/-/typescript-openbsd-arm64-7.0.2.tgz",
"integrity": "sha512-APT8+ClYnuYm1u9+kgGXoMj2VzWzcymwh2gNSQVySHfkRDGOTVkoWLjCmOQSaO+PoqQ57B0flRp9SA+7GnnkzQ==",
"cpu": [
"arm64"
],
"dev": true,
"license": "Apache-2.0",
"optional": true,
"os": [
"openbsd"
],
"engines": {
"node": ">=16.20.0"
}
},
"node_modules/@typescript/typescript-openbsd-x64": {
"version": "7.0.2",
"resolved": "https://registry.npmjs.org/@typescript/typescript-openbsd-x64/-/typescript-openbsd-x64-7.0.2.tgz",
"integrity": "sha512-yX7s+Q0Dln0Dt9tEzZsAjXXR/+ytBM7AlglaqyeMPxQszJ1JhlJdZ6jLA+IzldHtflX81em7lDao1xXu+aRRkg==",
"cpu": [
"x64"
],
"dev": true,
"license": "Apache-2.0",
"optional": true,
"os": [
"openbsd"
],
"engines": {
"node": ">=16.20.0"
}
},
"node_modules/@typescript/typescript-sunos-x64": {
"version": "7.0.2",
"resolved": "https://registry.npmjs.org/@typescript/typescript-sunos-x64/-/typescript-sunos-x64-7.0.2.tgz",
"integrity": "sha512-dLJDGaLZ1D4HPQn62u1n8mBDkJREwMsAkCdkwd4Ieqw+x3TUyTsqY0YiBCtE6H6OzzgGk3iuZ3vFWRS+E8/d1g==",
"cpu": [
"x64"
],
"dev": true,
"license": "Apache-2.0",
"optional": true,
"os": [
"sunos"
],
"engines": {
"node": ">=16.20.0"
}
},
"node_modules/@typescript/typescript-win32-arm64": {
"version": "7.0.2",
"resolved": "https://registry.npmjs.org/@typescript/typescript-win32-arm64/-/typescript-win32-arm64-7.0.2.tgz",
"integrity": "sha512-Gyl1Vy6OsWesLzmq+EP0Fb7b4Nid5232AvcA2SFcdYreldpNtYFFofPjnt62y9hQy7VTaZp65ICJjuAQRaVcIQ==",
"cpu": [
"arm64"
],
"dev": true,
"license": "Apache-2.0",
"optional": true,
"os": [
"win32"
],
"engines": {
"node": ">=16.20.0"
}
},
"node_modules/@typescript/typescript-win32-x64": {
"version": "7.0.2",
"resolved": "https://registry.npmjs.org/@typescript/typescript-win32-x64/-/typescript-win32-x64-7.0.2.tgz",
"integrity": "sha512-0BQ3HkAHHlKLSp1qRvf3SUhGpGsDuhB/jgFw75guyqbxJqEaS0Cw/VFO8i2nHglJUzQCRtMMR/IBAKE3ETMC4g==",
"cpu": [
"x64"
],
"dev": true,
"license": "Apache-2.0",
"optional": true,
"os": [
"win32"
],
"engines": {
"node": ">=16.20.0"
}
},
"node_modules/@zarrita/storage": { "node_modules/@zarrita/storage": {
"version": "0.2.0", "version": "0.2.0",
"resolved": "https://registry.npmjs.org/@zarrita/storage/-/storage-0.2.0.tgz", "resolved": "https://registry.npmjs.org/@zarrita/storage/-/storage-0.2.0.tgz",
@@ -2107,9 +1767,9 @@
} }
}, },
"node_modules/baseline-browser-mapping": { "node_modules/baseline-browser-mapping": {
"version": "2.10.43", "version": "2.10.41",
"resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.43.tgz", "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.41.tgz",
"integrity": "sha512-AjYpR78kDWAY3Efj+cDTFH9t9SCoL7OoTp1BOb0mQV7S+6CiLwnWM3FyxhJtdPufDFKzmCSFoUncKjWgJEZTCQ==", "integrity": "sha512-WwS7MHhqGHHlaVsqRZnhvCEMS0owDX+SxRlve7JkuH7My1Ara3ZriTmCQupPfYjxMZ8I/tgxtJYr2t7taHaH4A==",
"dev": true, "dev": true,
"license": "Apache-2.0", "license": "Apache-2.0",
"bin": { "bin": {
@@ -2140,9 +1800,9 @@
} }
}, },
"node_modules/browserslist": { "node_modules/browserslist": {
"version": "4.28.6", "version": "4.28.4",
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.6.tgz", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.4.tgz",
"integrity": "sha512-FQBYNK15VMslhLHpA7+n+n1GOlF1kId2xcCg7/j95f24AOF6VDYMNH4mFxF7KuaTdv627faazpOAjFzMrfJOUw==", "integrity": "sha512-MTc8i/x9jBQd1iMw2CFGS+rwMa07eYjLR0CCTLDACl9xhxy+nIs3KeML/biicXtk9JrZ6dnnTatmc7ErPXIxqw==",
"dev": true, "dev": true,
"funding": [ "funding": [
{ {
@@ -2160,10 +1820,10 @@
], ],
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"baseline-browser-mapping": "^2.10.42", "baseline-browser-mapping": "^2.10.38",
"caniuse-lite": "^1.0.30001803", "caniuse-lite": "^1.0.30001799",
"electron-to-chromium": "^1.5.389", "electron-to-chromium": "^1.5.376",
"node-releases": "^2.0.51", "node-releases": "^2.0.48",
"update-browserslist-db": "^1.2.3" "update-browserslist-db": "^1.2.3"
}, },
"bin": { "bin": {
@@ -2217,9 +1877,9 @@
} }
}, },
"node_modules/caniuse-lite": { "node_modules/caniuse-lite": {
"version": "1.0.30001805", "version": "1.0.30001800",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001805.tgz", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001800.tgz",
"integrity": "sha512-52noaS3DubycKSXaU30TwPGIp+POyQSUVa5jBEq3vkRkY0kjyb3LQgvhU6WGyCcyXqVLWO0Cw0Q6BSdD0kUfVA==", "integrity": "sha512-MMHtuAz9Ys840zAY5F4k6fV5GaivZ9sPk+nz0mY+GYVzRBnYkN0mpqkSR92oWRQ19yQWo4HvBV/FnC16AJX8MA==",
"dev": true, "dev": true,
"funding": [ "funding": [
{ {
@@ -2635,9 +2295,9 @@
} }
}, },
"node_modules/electron-to-chromium": { "node_modules/electron-to-chromium": {
"version": "1.5.389", "version": "1.5.385",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.389.tgz", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.385.tgz",
"integrity": "sha512-cEto7aeOqBfU1D+c5py5pE+ooscKE75JifxLBdFUZsqAxRS6y7kebtxAZvICszSl05gPjYHDTjY+lXpyGvpJbg==", "integrity": "sha512-78sa/M08MNAYHQfjoWMvOlKQqZ0ElhSm/L5HNUc96VZ3b+KvDVnngFm8sYQy0XrhTRgAhggHr5abA7yTvRdo4Q==",
"dev": true, "dev": true,
"license": "ISC" "license": "ISC"
}, },
@@ -3770,9 +3430,9 @@
} }
}, },
"node_modules/node-releases": { "node_modules/node-releases": {
"version": "2.0.51", "version": "2.0.50",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.51.tgz", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.50.tgz",
"integrity": "sha512-wRNIrw4DmVLKQlbgOMdkMx27Wrpzes2hh5Jtbi2bjPd+4wJstWIqP5A+lscnqbm0xxmT5Bpg8Lec5ItEBwx6BQ==", "integrity": "sha512-J6l92tKHX6w8Jy5nO1Vuc01NoIiRGi/d6qBKVxh+IQ8Cr3b6HbVNfKiF8ZpFKufTwpwxMmce2W3iQZ861ZRyTg==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"engines": { "engines": {
@@ -4728,9 +4388,9 @@
"dev": true "dev": true
}, },
"node_modules/svgo": { "node_modules/svgo": {
"version": "4.0.2", "version": "4.0.1",
"resolved": "https://registry.npmjs.org/svgo/-/svgo-4.0.2.tgz", "resolved": "https://registry.npmjs.org/svgo/-/svgo-4.0.1.tgz",
"integrity": "sha512-ekx94z1rRc5LDi6oSUaeRnYhd0UOJxdtQCL2rF8xpWxD3TPAsISWOrxezqGovqS38GRZOdpDfvQe3ts6F7nsng==", "integrity": "sha512-XDpWUOPC6FEibaLzjfe0ucaV0YrOjYotGJO1WpF0Zd+n6ZGEQUsSugaoLq9QkEZtAfQIxT42UChcssDVPP3+/w==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
@@ -4901,38 +4561,17 @@
} }
}, },
"node_modules/typescript": { "node_modules/typescript": {
"version": "7.0.2", "version": "6.0.3",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-7.0.2.tgz", "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz",
"integrity": "sha512-8FYau96o3NKOhbjKi/qNvG/W5jhzxkbdm5sj9AbZ/5T5sWqn3hJgLfGx27sRKZWTvyzCP8dLRBTf5tBTSRVUNA==", "integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==",
"dev": true, "dev": true,
"license": "Apache-2.0", "license": "Apache-2.0",
"bin": { "bin": {
"tsc": "bin/tsc" "tsc": "bin/tsc",
"tsserver": "bin/tsserver"
}, },
"engines": { "engines": {
"node": ">=16.20.0" "node": ">=14.17"
},
"optionalDependencies": {
"@typescript/typescript-aix-ppc64": "7.0.2",
"@typescript/typescript-darwin-arm64": "7.0.2",
"@typescript/typescript-darwin-x64": "7.0.2",
"@typescript/typescript-freebsd-arm64": "7.0.2",
"@typescript/typescript-freebsd-x64": "7.0.2",
"@typescript/typescript-linux-arm": "7.0.2",
"@typescript/typescript-linux-arm64": "7.0.2",
"@typescript/typescript-linux-loong64": "7.0.2",
"@typescript/typescript-linux-mips64el": "7.0.2",
"@typescript/typescript-linux-ppc64": "7.0.2",
"@typescript/typescript-linux-riscv64": "7.0.2",
"@typescript/typescript-linux-s390x": "7.0.2",
"@typescript/typescript-linux-x64": "7.0.2",
"@typescript/typescript-netbsd-arm64": "7.0.2",
"@typescript/typescript-netbsd-x64": "7.0.2",
"@typescript/typescript-openbsd-arm64": "7.0.2",
"@typescript/typescript-openbsd-x64": "7.0.2",
"@typescript/typescript-sunos-x64": "7.0.2",
"@typescript/typescript-win32-arm64": "7.0.2",
"@typescript/typescript-win32-x64": "7.0.2"
} }
}, },
"node_modules/undici-types": { "node_modules/undici-types": {
@@ -5003,16 +4642,16 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/vite": { "node_modules/vite": {
"version": "8.1.4", "version": "8.1.3",
"resolved": "https://registry.npmjs.org/vite/-/vite-8.1.4.tgz", "resolved": "https://registry.npmjs.org/vite/-/vite-8.1.3.tgz",
"integrity": "sha512-bTT9PsdWO+MQMNG9ZXIP/qM9wGh37DFxTV/sPq9cFpHr3w4jkgef032PkAL9jAqhk3Nz8NQw3O8n6/xFkqO4QQ==", "integrity": "sha512-Ds+gBRbj0lwRO2Y5hwnUBdxSwlAve9LeRyU4sNnAr0ewW0gWF0n5bgXgUzbgZ49MV9BVUAQUFYVcDUcilUExMA==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"lightningcss": "^1.32.0", "lightningcss": "^1.32.0",
"picomatch": "^4.0.5", "picomatch": "^4.0.4",
"postcss": "^8.5.16", "postcss": "^8.5.16",
"rolldown": "~1.1.4", "rolldown": "~1.1.3",
"tinyglobby": "^0.2.17" "tinyglobby": "^0.2.17"
}, },
"bin": { "bin": {
@@ -5091,9 +4730,9 @@
} }
}, },
"node_modules/vite/node_modules/picomatch": { "node_modules/vite/node_modules/picomatch": {
"version": "4.0.5", "version": "4.0.4",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.5.tgz", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz",
"integrity": "sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==", "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"engines": { "engines": {

View File

@@ -29,9 +29,9 @@
"swiped-events": "1.2.0" "swiped-events": "1.2.0"
}, },
"devDependencies": { "devDependencies": {
"@biomejs/biome": "2.5.3", "@biomejs/biome": "2.5.2",
"@types/node": "^26.1.1", "@types/node": "^26.1.0",
"browserslist": "^4.28.6", "browserslist": "^4.28.4",
"browserslist-to-esbuild": "^2.1.1", "browserslist-to-esbuild": "^2.1.1",
"edge.js": "^6.5.1", "edge.js": "^6.5.1",
"less": "^4.6.7", "less": "^4.6.7",
@@ -41,9 +41,9 @@
"stylelint": "^17.14.0", "stylelint": "^17.14.0",
"stylelint-config-standard-less": "^4.1.0", "stylelint-config-standard-less": "^4.1.0",
"stylelint-prettier": "^5.0.3", "stylelint-prettier": "^5.0.3",
"svgo": "^4.0.2", "svgo": "^4.0.1",
"typescript": "~7.0.2", "typescript": "~6.0.3",
"vite": "^8.1.4", "vite": "^8.1.3",
"vite-bundle-analyzer": "^1.3.8" "vite-bundle-analyzer": "^1.3.8"
} }
} }

View File

@@ -23,6 +23,6 @@ coloredlogs==15.0.1
docutils>=0.21.2;python_version <= "3.11" docutils>=0.21.2;python_version <= "3.11"
docutils>=0.22.4; python_version > "3.11" docutils>=0.22.4; python_version > "3.11"
parameterized==0.9.0 parameterized==0.9.0
granian[reload]==2.7.9 granian[reload]==2.7.8
basedpyright==1.39.9 basedpyright==1.39.9
types-lxml==2026.2.16 types-lxml==2026.2.16

View File

@@ -1,2 +1,2 @@
granian==2.7.9 granian==2.7.8
granian[pname]==2.7.9 granian[pname]==2.7.8

View File

@@ -458,22 +458,12 @@ class ExpireCacheSQLite(sqlitedb.SQLiteAppl, ExpireCache):
# Before values are taken from the table, a maintenance interval may # Before values are taken from the table, a maintenance interval may
# need to be carried out. # need to be carried out.
self.maintenance() self.maintenance()
sql = f"SELECT value, expire FROM {table} WHERE key = ?" sql = f"SELECT value FROM {table} WHERE key = ?"
row = self.DB.execute(sql, (key,)).fetchone() row = self.DB.execute(sql, (key,)).fetchone()
if row is None: if row is None:
return default return default
# Check if value is expired. It's possible that it's expired but has not return self.deserialize(row[0])
# yet been automatically deleted by the periodic maintenance
(value, expire) = row
now = time.time()
if expire < now:
# The record is deleted during the maintenance interval. Deleting
# the record at this point offers no advantage, as a SELECT
# statement must be executed for every cache.get request anyways.
return default
return self.deserialize(value)
def pairs(self, ctx: str) -> Iterator[tuple[str, typing.Any]]: def pairs(self, ctx: str) -> Iterator[tuple[str, typing.Any]]:
"""Iterate over key/value pairs from table given by argument ``ctx``. """Iterate over key/value pairs from table given by argument ``ctx``.

View File

@@ -83,7 +83,7 @@ def extract_video_data(video_block):
published_date = None published_date = None
if create_time: if create_time:
try: try:
published_date = datetime.fromisoformat(create_time.strip()) published_date = datetime.strptime(create_time.strip(), "%Y-%m-%d")
except (ValueError, TypeError): except (ValueError, TypeError):
pass pass

View File

@@ -109,7 +109,7 @@ def response(resp: "SXNG_Response") -> EngineResults:
comments_elements = eval_xpath_getindex(entry, xpath_comment, 0, default=None) comments_elements = eval_xpath_getindex(entry, xpath_comment, 0, default=None)
comments: str = "" if comments_elements is None else comments_elements.text comments: str = "" if comments_elements is None else comments_elements.text
publishedDate = datetime.fromisoformat(eval_xpath_getindex(entry, xpath_published, 0).text.rstrip("Z")) publishedDate = datetime.strptime(eval_xpath_getindex(entry, xpath_published, 0).text, "%Y-%m-%dT%H:%M:%SZ")
res.add( res.add(
res.types.Paper( res.types.Paper(

View File

@@ -186,7 +186,7 @@ def parse_images(data):
img_date = item.get("bdImgnewsDate") img_date = item.get("bdImgnewsDate")
publishedDate = None publishedDate = None
if img_date: if img_date:
publishedDate = datetime.fromisoformat(img_date) publishedDate = datetime.strptime(img_date, "%Y-%m-%d %H:%M")
results.append( results.append(
{ {
"template": "images.html", "template": "images.html",

View File

@@ -44,7 +44,7 @@ def response(resp):
"url": 'https://www.bitchute.com/video/' + item['video_id'], "url": 'https://www.bitchute.com/video/' + item['video_id'],
"content": html_to_text(item['description']), "content": html_to_text(item['description']),
"author": item['channel']['channel_name'], "author": item['channel']['channel_name'],
"publishedDate": datetime.fromisoformat(item["date_published"].rstrip("Z")), "publishedDate": datetime.strptime(item["date_published"], "%Y-%m-%dT%H:%M:%S.%fZ"),
"length": item['duration'], "length": item['duration'],
"views": item['view_count'], "views": item['view_count'],
"thumbnail": item['thumbnail_url'], "thumbnail": item['thumbnail_url'],

View File

@@ -104,7 +104,7 @@ def response(resp: "SXNG_Response") -> EngineResults:
title=_remove_keyword_marker(result["Subject"]), title=_remove_keyword_marker(result["Subject"]),
content=_remove_keyword_marker(result["Text"]), content=_remove_keyword_marker(result["Text"]),
url=result["Url"], url=result["Url"],
publishedDate=datetime.fromisoformat(result["Published"]), publishedDate=datetime.strptime(result["Published"], "%Y-%m-%d %H:%M:%S"),
metadata=gettext.gettext("Posted by {author}").format(author=result["Author"]), metadata=gettext.gettext("Posted by {author}").format(author=result["Author"]),
) )
) )

View File

@@ -43,7 +43,7 @@ def response(resp):
publishedDate = None publishedDate = None
if recipe['submissionDate']: if recipe['submissionDate']:
publishedDate = datetime.fromisoformat(result['recipe']['submissionDate'][:19]) publishedDate = datetime.strptime(result['recipe']['submissionDate'][:19], "%Y-%m-%dT%H:%M:%S")
content = [ content = [
f"Schwierigkeitsstufe (1-3): {recipe['difficulty']}", f"Schwierigkeitsstufe (1-3): {recipe['difficulty']}",

View File

@@ -37,7 +37,7 @@ def response(resp):
for item in search_res: for item in search_res:
img = 'https://s3.thehackerblog.com/findthatmeme/' + item['image_path'] img = 'https://s3.thehackerblog.com/findthatmeme/' + item['image_path']
thumb = 'https://s3.thehackerblog.com/findthatmeme/thumb/' + item.get('thumbnail', '') thumb = 'https://s3.thehackerblog.com/findthatmeme/thumb/' + item.get('thumbnail', '')
date = datetime.fromisoformat(item["updated_at"].split("T")[0]) date = datetime.strptime(item["updated_at"].split("T")[0], "%Y-%m-%d")
formatted_date = datetime.fromtimestamp(date.timestamp()) formatted_date = datetime.fromtimestamp(date.timestamp())
results.append( results.append(

View File

@@ -47,7 +47,7 @@ def response(resp: "SXNG_Response"):
title=result["title"], title=result["title"],
content=result["description"], content=result["description"],
thumbnail=result["smallImageURL"], thumbnail=result["smallImageURL"],
publishedDate=datetime.fromisoformat(result["status_since"]), publishedDate=datetime.strptime(result["status_since"], "%Y-%m-%d %H:%M:%S"),
metadata=f"Rank: {result['rank']} || {result['episode_count']} episodes", metadata=f"Rank: {result['rank']} || {result['episode_count']} episodes",
) )
) )

View File

@@ -68,9 +68,7 @@ def _get_api_token(query: str) -> str:
if cached_token: if cached_token:
return cached_token return cached_token
resp = get( resp = get(f"{base_url}/search?q={query}", headers={"User-Agent": gen_useragent()})
f"{base_url}/search?q={query}", headers={"User-Agent": gen_useragent(), "Accept-Language": "en-US,en:q=0.9"}
)
if not resp.ok: if not resp.ok:
raise SearxEngineAPIException("failed to obtain request token: invalid response code") raise SearxEngineAPIException("failed to obtain request token: invalid response code")
@@ -78,7 +76,7 @@ def _get_api_token(query: str) -> str:
if not token: if not token:
raise SearxEngineAPIException("failed to obtain request token: no token found") raise SearxEngineAPIException("failed to obtain request token: no token found")
CACHE.set("token", token, expire=3 * 60) CACHE.set("token", token)
return token return token

View File

@@ -91,7 +91,7 @@ def response(resp) -> EngineResults:
published_date = None published_date = None
try: try:
published_date = datetime.fromisoformat(entry["createdAt"].rstrip("Z")) published_date = datetime.strptime(entry["createdAt"], "%Y-%m-%dT%H:%M:%S.%fZ")
except (ValueError, TypeError): except (ValueError, TypeError):
pass pass

View File

@@ -43,7 +43,7 @@ def _result(video: dict[str, typing.Any], album_info: dict[str, typing.Any]):
release_time = album_info.get("releaseTime", {}).get("value") release_time = album_info.get("releaseTime", {}).get("value")
if release_time: if release_time:
try: try:
published_date = datetime.fromisoformat(release_time) published_date = datetime.strptime(release_time, "%Y-%m-%d")
except (ValueError, TypeError): except (ValueError, TypeError):
pass pass

View File

@@ -92,7 +92,7 @@ def _get_communities(json):
'title': result['community']['title'], 'title': result['community']['title'],
'content': markdown_to_text(result['community'].get('description', '')), 'content': markdown_to_text(result['community'].get('description', '')),
'thumbnail': result['community'].get('icon', result['community'].get('banner')), 'thumbnail': result['community'].get('icon', result['community'].get('banner')),
'publishedDate': datetime.fromisoformat(counts['published'][:19]), 'publishedDate': datetime.strptime(counts['published'][:19], '%Y-%m-%dT%H:%M:%S'),
'metadata': metadata, 'metadata': metadata,
} }
) )
@@ -141,7 +141,7 @@ def _get_posts(json):
'title': result['post']['name'], 'title': result['post']['name'],
'content': content, 'content': content,
'thumbnail': thumbnail, 'thumbnail': thumbnail,
'publishedDate': datetime.fromisoformat(result['post']['published'][:19]), 'publishedDate': datetime.strptime(result['post']['published'][:19], '%Y-%m-%dT%H:%M:%S'),
'metadata': metadata, 'metadata': metadata,
} }
) )
@@ -170,7 +170,7 @@ def _get_comments(json):
'url': result['comment']['ap_id'], 'url': result['comment']['ap_id'],
'title': result['post']['name'], 'title': result['post']['name'],
'content': markdown_to_text(result['comment']['content']), 'content': markdown_to_text(result['comment']['content']),
'publishedDate': datetime.fromisoformat(result['comment']['published'][:19]), 'publishedDate': datetime.strptime(result['comment']['published'][:19], '%Y-%m-%dT%H:%M:%S'),
'metadata': metadata, 'metadata': metadata,
} }
) )

View File

@@ -60,7 +60,7 @@ def response(resp):
'title': result['username'] + f" ({result['followers_count']} followers)", 'title': result['username'] + f" ({result['followers_count']} followers)",
'content': result['note'], 'content': result['note'],
'thumbnail': result.get('avatar'), 'thumbnail': result.get('avatar'),
'publishedDate': datetime.fromisoformat(result['created_at'][:10]), 'publishedDate': datetime.strptime(result['created_at'][:10], "%Y-%m-%d"),
} }
) )
elif mastodon_type == "hashtags": elif mastodon_type == "hashtags":

View File

@@ -44,7 +44,7 @@ def response(resp) -> EngineResults:
cve_id = item["cve"]["id"] cve_id = item["cve"]["id"]
description = item["cve"]["descriptions"][0]["value"] description = item["cve"]["descriptions"][0]["value"]
date = datetime.fromisoformat(item["cve"]["published"]) date = datetime.strptime(item["cve"]["published"], "%Y-%m-%dT%H:%M:%S.%f")
# Extract severity (Low, Medium, High, or Critical) and CVSS score, if available # Extract severity (Low, Medium, High, or Critical) and CVSS score, if available
info = item["cve"].get("metrics", {}).get("cvssMetricV31", [{}])[0].get("cvssData", {}) info = item["cve"].get("metrics", {}).get("cvssMetricV31", [{}])[0].get("cvssData", {})

View File

@@ -76,7 +76,7 @@ def response(resp):
release_time = item["release_time"] release_time = item["release_time"]
duration = item["duration"] duration = item["duration"]
release_date = datetime.fromisoformat(release_time.split("T")[0]) release_date = datetime.strptime(release_time.split("T")[0], "%Y-%m-%d")
formatted_date = datetime.fromtimestamp(release_date.timestamp()) formatted_date = datetime.fromtimestamp(release_date.timestamp())
url = f"https://odysee.com/{name}:{claim_id}" url = f"https://odysee.com/{name}:{claim_id}"

View File

@@ -54,7 +54,7 @@ def response(resp: "SXNG_Response"):
title=result["title"], title=result["title"],
content=result["description"], content=result["description"],
thumbnail=result["image_url"], thumbnail=result["image_url"],
publishedDate=datetime.fromisoformat(result["created_at"]), publishedDate=datetime.strptime(result["created_at"], "%Y-%m-%d %H:%M:%S"),
metadata=" | ".join(metadata), metadata=" | ".join(metadata),
) )
) )

View File

@@ -140,7 +140,7 @@ def response(resp):
results.append( results.append(
{ {
'template': 'images.html', 'template': 'images.html',
'url': _clean_url(f"{pdia_base_url}/images/{result['objectID']}"), 'url': _clean_url(f"{about['website']}/images/{result['objectID']}"),
'img_src': _clean_url(base_image_url), 'img_src': _clean_url(base_image_url),
'thumbnail_src': _clean_url(base_image_url + THUMBNAIL_SUFFIX), 'thumbnail_src': _clean_url(base_image_url + THUMBNAIL_SUFFIX),
'title': f"{result['title'].strip()} by {result['artist']} {result.get('displayYear', '')}", 'title': f"{result['title'].strip()} by {result['artist']} {result.get('displayYear', '')}",

View File

@@ -292,7 +292,7 @@ def parse_news_uchq(data):
results = [] results = []
for item in data.get('feed', []): for item in data.get('feed', []):
try: try:
published_date = datetime.fromisoformat(item.get('time')) published_date = datetime.strptime(item.get('time'), "%Y-%m-%d")
except (ValueError, TypeError): except (ValueError, TypeError):
# Sometime Quark will return non-standard format like "1天前", set published_date as None # Sometime Quark will return non-standard format like "1天前", set published_date as None
published_date = None published_date = None

View File

@@ -51,7 +51,6 @@ from urllib.parse import urlencode
import babel import babel
from flask_babel import gettext # pyright: ignore[reportUnknownVariableType] from flask_babel import gettext # pyright: ignore[reportUnknownVariableType]
from searx.enginelib import EngineCache
from searx.enginelib.traits import EngineTraits from searx.enginelib.traits import EngineTraits
from searx.exceptions import ( from searx.exceptions import (
SearxEngineAccessDeniedException, SearxEngineAccessDeniedException,
@@ -106,19 +105,9 @@ qwant_news_locales = [
] ]
# fmt: on # fmt: on
base_url = "https://www.qwant.com"
api_url = "https://api.qwant.com/v3/search/" api_url = "https://api.qwant.com/v3/search/"
"""URL of Qwant's API (JSON)""" """URL of Qwant's API (JSON)"""
CACHE: EngineCache
"""Cache for storing the ``datadome`` cookie."""
def setup(engine_settings: dict[str, t.Any]) -> bool:
global CACHE # pylint: disable=global-statement
CACHE = EngineCache(engine_settings["name"])
return True
def request(query: str, params: "OnlineParams") -> None: def request(query: str, params: "OnlineParams") -> None:
"""Qwant search request""" """Qwant search request"""
@@ -140,29 +129,24 @@ def request(query: str, params: "OnlineParams") -> None:
"tgp": test_group_value, "tgp": test_group_value,
"device": "desktop", "device": "desktop",
"safesearch": params["safesearch"], "safesearch": params["safesearch"],
# True would be encoded to "True", instead of "true", which makes the request "display": True,
# easier to detect and block "llm": True,
"displayed": "true",
"llm": "true",
} }
# shuffle query parameters to be harder to fingerprint
args = list(args.items())
random.shuffle(args)
args = dict(args)
params["raise_for_httperror"] = False params["raise_for_httperror"] = False
params["url"] = f"{api_url}{qwant_categ}?{urlencode(args)}" 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})
def response(resp: "SXNG_Response") -> EngineResults: def response(resp: "SXNG_Response") -> EngineResults:
"""Parse results from Qwant's API""" """Parse results from Qwant's API"""
# pylint: disable=too-many-locals, too-many-branches, too-many-statements # 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:
CACHE.set("datadome", datadome)
res = EngineResults() res = EngineResults()
# Try to load JSON result # Try to load JSON result
@@ -179,8 +163,8 @@ def response(resp: "SXNG_Response") -> EngineResults:
error_code = data.get("error_code") error_code = data.get("error_code")
if error_code == 24: if error_code == 24:
raise SearxEngineTooManyRequestsException() raise SearxEngineTooManyRequestsException()
if search_results.get("url") is not None: if search_results.get("data", {}).get("error_data", {}).get("captchaUrl") is not None:
raise SearxEngineCaptchaException(suspended_time=0) raise SearxEngineCaptchaException()
if resp.status_code == 403: if resp.status_code == 403:
raise SearxEngineAccessDeniedException() raise SearxEngineAccessDeniedException()
msg = ",".join(data.get("message", ["unknown"])) msg = ",".join(data.get("message", ["unknown"]))

View File

@@ -58,7 +58,7 @@ def response(resp):
title = extract_text(result_dom.xpath(title_xpath)) title = extract_text(result_dom.xpath(title_xpath))
p_date = extract_text(result_dom.xpath(published_date)) p_date = extract_text(result_dom.xpath(published_date))
# fix offset date for line 644 webapp.py check # fix offset date for line 644 webapp.py check
fixed_date = datetime.fromisoformat(p_date) fixed_date = datetime.strptime(p_date, '%Y-%m-%dT%H:%M:%S%z')
earned = extract_text(result_dom.xpath(earned_xpath)) earned = extract_text(result_dom.xpath(earned_xpath))
views = extract_text(result_dom.xpath(views_xpath)) views = extract_text(result_dom.xpath(views_xpath))
rumbles = extract_text(result_dom.xpath(rumbles_xpath)) rumbles = extract_text(result_dom.xpath(rumbles_xpath))

View File

@@ -120,7 +120,7 @@ def response(resp: "SXNG_Response") -> EngineResults:
publishedDate: datetime | None publishedDate: datetime | None
if "pubDate" in result: if "pubDate" in result:
publishedDate = datetime.fromisoformat(result["pubDate"]) publishedDate = datetime.strptime(result["pubDate"], "%Y-%m-%d")
else: else:
publishedDate = None publishedDate = None

View File

@@ -95,8 +95,7 @@ def _parse_date(text):
date_match = re.search(r"(\d{4}-\d{1,2}-\d{1,2})", text) date_match = re.search(r"(\d{4}-\d{1,2}-\d{1,2})", text)
if date_match: if date_match:
try: try:
y, m, d = date_match.group(1).split("-") return datetime.strptime(date_match.group(1), "%Y-%m-%d")
return datetime(year=int(y), month=int(m), day=int(d))
except (ValueError, TypeError): except (ValueError, TypeError):
pass pass
return None return None

View File

@@ -54,7 +54,7 @@ def response(resp):
published_date = None published_date = None
if entry.get("date") and entry.get("duration"): if entry.get("date") and entry.get("duration"):
try: try:
published_date = datetime.fromisoformat(entry['date']) published_date = datetime.strptime(entry['date'], "%Y-%m-%d")
except (ValueError, TypeError): except (ValueError, TypeError):
published_date = None published_date = None

View File

@@ -134,7 +134,7 @@ def response(resp: "SXNG_Response") -> EngineResults:
return str(record.get(k, "")) return str(record.get(k, ""))
for record in json_data["records"]: for record in json_data["records"]:
published = datetime.fromisoformat(record["publicationDate"]) published = datetime.strptime(record["publicationDate"], "%Y-%m-%d")
authors: list[str] = [" ".join(author["creator"].split(", ")[::-1]) for author in record["creators"]] authors: list[str] = [" ".join(author["creator"].split(", ")[::-1]) for author in record["creators"]]
pdf_url = "" pdf_url = ""

View File

@@ -81,7 +81,7 @@ def _story(item):
return { return {
'title': item['title'], 'title': item['title'],
'thumbnail': item.get('teaserImage', {}).get('imageVariants', {}).get('16x9-256'), 'thumbnail': item.get('teaserImage', {}).get('imageVariants', {}).get('16x9-256'),
'publishedDate': datetime.fromisoformat(item['date'][:19]), 'publishedDate': datetime.strptime(item['date'][:19], '%Y-%m-%dT%H:%M:%S'),
'content': item.get('firstSentence'), 'content': item.get('firstSentence'),
'url': item['shareURL'] if use_source_url else item['detailsweb'], 'url': item['shareURL'] if use_source_url else item['detailsweb'],
} }
@@ -103,7 +103,7 @@ def _video(item):
'template': 'videos.html', 'template': 'videos.html',
'title': title, 'title': title,
'thumbnail': item.get('teaserImage', {}).get('imageVariants', {}).get('16x9-256'), 'thumbnail': item.get('teaserImage', {}).get('imageVariants', {}).get('16x9-256'),
'publishedDate': datetime.fromisoformat(item['date'][:19]), 'publishedDate': datetime.strptime(item['date'][:19], '%Y-%m-%dT%H:%M:%S'),
'content': item.get('firstSentence', ''), 'content': item.get('firstSentence', ''),
'iframe_src': video_url, 'iframe_src': video_url,
'url': url, 'url': url,

View File

@@ -117,7 +117,7 @@ def _obtain_session_code() -> str:
if not code: if not code:
raise SearxEngineAPIException("failed to obtain session code") raise SearxEngineAPIException("failed to obtain session code")
CACHE.set("session", code, expire=60 * 24 * 60 * 60) # cookie is valid for two months CACHE.set("session", code, expire=60 * 24 * 60) # cookie is valid for two months
return code return code

View File

@@ -121,7 +121,7 @@ def parse_tineye_match(match_json):
crawl_date = backlink_json.get("crawl_date") crawl_date = backlink_json.get("crawl_date")
if crawl_date: if crawl_date:
crawl_date = datetime.fromisoformat(crawl_date) crawl_date = datetime.strptime(crawl_date, '%Y-%m-%d')
else: else:
crawl_date = datetime.min crawl_date = datetime.min

View File

@@ -51,7 +51,7 @@ def response(resp):
'title': title, 'title': title,
'content': html_to_text(result['content']), 'content': html_to_text(result['content']),
'thumbnail': thumbnail, 'thumbnail': thumbnail,
'publishedDate': datetime.fromisoformat(result['created_at']), 'publishedDate': datetime.strptime(result['created_at'], '%Y-%m-%d %H:%M:%S'),
} }
) )

View File

@@ -13,7 +13,7 @@ from dateutil import parser
from searx.exceptions import SearxEngineAPIException from searx.exceptions import SearxEngineAPIException
from searx.network import get from searx.network import get
from searx.utils import gen_useragent, html_to_text from searx.utils import html_to_text
from searx.result_types import EngineResults from searx.result_types import EngineResults
if t.TYPE_CHECKING: if t.TYPE_CHECKING:
@@ -52,7 +52,7 @@ def _obtain_x_sid() -> tuple[str, str]:
The header key is usually called `x-sid-{UUIDv4}`, and the value is The header key is usually called `x-sid-{UUIDv4}`, and the value is
usually a plain UUIDv4 (but a different one than in the header key). usually a plain UUIDv4 (but a different one than in the header key).
""" """
resp = get(f"{api_url}/revcontent/embed.js", headers={"User-Agent": gen_useragent()}) resp = get(f"{api_url}/revcontent/embed.js")
if not resp.ok: if not resp.ok:
raise SearxEngineAPIException("failed to obtain request x-sid token") raise SearxEngineAPIException("failed to obtain request x-sid token")
@@ -89,14 +89,12 @@ def request(query: str, params: "OnlineParams") -> None:
params["url"] = f"{api_url}/Search/Web?{urlencode(args)}" params["url"] = f"{api_url}/Search/Web?{urlencode(args)}"
x_sid_header, x_sid_value = _obtain_x_sid() x_sid_header, x_sid_value = _obtain_x_sid()
params["headers"].update( params["headers"] = {
{
x_sid_header: x_sid_value, x_sid_header: x_sid_value,
# required - we send a random longitude and latitude instead of the actual user location # required - we send a random longitude and latitude instead of the actual user location
"x-lon": str(round(random.random() * 90, 4)), 'x-lon': str(random.random() * 90),
"x-lat": str(round(random.random() * 90, 4)), 'x-lat': str(random.random() * 90),
} }
)
def response(resp: "SXNG_Response"): def response(resp: "SXNG_Response"):

View File

@@ -79,7 +79,7 @@ def response(resp):
'img_src': result['path'], 'img_src': result['path'],
'thumbnail_src': result['thumbs']['small'], 'thumbnail_src': result['thumbs']['small'],
'resolution': result['resolution'].replace('x', ' x '), 'resolution': result['resolution'].replace('x', ' x '),
'publishedDate': datetime.fromisoformat(result['created_at']), 'publishedDate': datetime.strptime(result['created_at'], '%Y-%m-%d %H:%M:%S'),
'img_format': result['file_type'], 'img_format': result['file_type'],
'filesize': humanize_bytes(result['file_size']), 'filesize': humanize_bytes(result['file_size']),
} }

View File

@@ -52,12 +52,6 @@ def _normalize_url_fields(result: "Result | LegacyResult"):
result.parsed_url = urllib.parse.urlparse(result.url) result.parsed_url = urllib.parse.urlparse(result.url)
if result.parsed_url: if result.parsed_url:
# properly format special characters (e.g. "ä", "ö") in IDN domains
# e.g. "xn--strung-xxa.de" becomes "störung.de"
if result.parsed_url.netloc.startswith("xn--"):
netloc = result.parsed_url.netloc.encode().decode("idna")
result.parsed_url = result.parsed_url._replace(netloc=netloc)
result.parsed_url = result.parsed_url._replace( result.parsed_url = result.parsed_url._replace(
# if the result has no scheme, use http as default # if the result has no scheme, use http as default
scheme=result.parsed_url.scheme or "http", scheme=result.parsed_url.scheme or "http",

View File

@@ -477,24 +477,6 @@ engines:
engine: arxiv engine: arxiv
shortcut: arx shortcut: arx
- name: avalw
engine: json_engine
shortcut: av
categories: general
paging: true
search_url: https://avalw.org/api/search?q={query}&page={pageno}&limit=10&tbm=all
results_query: results
url_query: url
title_query: title
content_query: snippet
thumbnail: image_url
disabled: true
inactive: true
about:
website: https://avalw.com
description: "Search engine from the Romanian news company AVALW S.R.L."
results: JSON
- name: ayo - name: ayo
engine: xpath engine: xpath
categories: general categories: general

View File

@@ -1,3 +1,3 @@
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./chunk/BnnvKC7b.min.js","./sxng-mapview.min.css","./chunk/DpvWr1cn.min.js","./chunk/DK4yUVpy.min.js","./chunk/DcK-mo-Y.min.js","./chunk/C8c7HJzp.min.js","./chunk/C93hSkpT.min.js","./chunk/5Ako-qGW.min.js","./chunk/DvCYLbJr.min.js","./chunk/od7pNHfk.min.js","./chunk/e2-9fzwE.min.js"])))=>i.map(i=>d[i]); const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./chunk/BnnvKC7b.min.js","./sxng-mapview.min.css","./chunk/DpvWr1cn.min.js","./chunk/DK4yUVpy.min.js","./chunk/DcK-mo-Y.min.js","./chunk/C8c7HJzp.min.js","./chunk/C93hSkpT.min.js","./chunk/5Ako-qGW.min.js","./chunk/DvCYLbJr.min.js","./chunk/od7pNHfk.min.js","./chunk/e2-9fzwE.min.js"])))=>i.map(i=>d[i]);
var e=class{id;constructor(e){this.id=e,queueMicrotask(()=>this.invoke())}async invoke(){try{console.debug(`[PLUGIN] ${this.id}: Running...`);let e=await this.run();if(!e)return;console.debug(`[PLUGIN] ${this.id}: Running post-exec...`),await this.post(e)}catch(e){console.error(`[PLUGIN] ${this.id}:`,e)}finally{console.debug(`[PLUGIN] ${this.id}: Done.`)}}},t={index:`index`,results:`results`,preferences:`preferences`,unknown:`unknown`},n={closeDetail:void 0,scrollPageToSelected:void 0,selectImage:void 0,selectNext:void 0,selectPrevious:void 0},r=()=>{let e=document.querySelector(`meta[name="endpoint"]`)?.getAttribute(`content`);return e&&e in t?e:t.unknown},i=()=>{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),{}}},a=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},o=(e,t,n,r)=>{if(typeof t!=`string`){t.addEventListener(e,n,r);return}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)},s=(e,t)=>{for(let e of t?.on??[])if(!e)return;document.readyState===`loading`?o(`DOMContentLoaded`,document,e,{once:!0}):e()},c=r(),l=i(),u=(e,t)=>{d(t)&&e()},d=e=>{switch(e.on){case`global`:return!0;case`endpoint`:return!!e.where.includes(c)}},f=`modulepreload`,p=function(e,t){return new URL(e,t).href},m={},h=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),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?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=p(t,n),t=s(t),t in m)return;m[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:f,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}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)})};s(()=>{document.documentElement.classList.remove(`no-js`),document.documentElement.classList.add(`js`),o(`click`,`.close`,function(){this.parentNode?.classList.add(`invisible`)}),o(`click`,`.searxng_init_map`,async function(e){e.preventDefault(),this.classList.remove(`searxng_init_map`),u(()=>h(async()=>{let{default:e}=await import(`./chunk/BnnvKC7b.min.js`);return{default:e}},__vite__mapDeps([0,1]),import.meta.url).then(({default:e})=>new e(this)),{on:`endpoint`,where:[t.results]})}),l.plugins?.includes(`infiniteScroll`)&&u(()=>h(async()=>{let{default:e}=await import(`./chunk/DpvWr1cn.min.js`);return{default:e}},__vite__mapDeps([2,3,4]),import.meta.url).then(({default:e})=>new e),{on:`endpoint`,where:[t.results]}),l.plugins?.includes(`calculator`)&&u(()=>h(async()=>{let{default:e}=await import(`./chunk/C8c7HJzp.min.js`);return{default:e}},__vite__mapDeps([5,4,3]),import.meta.url).then(({default:e})=>new e),{on:`endpoint`,where:[t.results]})}),s(()=>{h(()=>import(`./chunk/C93hSkpT.min.js`),__vite__mapDeps([6,3]),import.meta.url),h(()=>import(`./chunk/5Ako-qGW.min.js`),__vite__mapDeps([7,4,3]),import.meta.url),l.autocomplete&&h(()=>import(`./chunk/DvCYLbJr.min.js`),__vite__mapDeps([8,3]),import.meta.url)},{on:[c===t.index]}),s(()=>{h(()=>import(`./chunk/C93hSkpT.min.js`),__vite__mapDeps([6,3]),import.meta.url),h(()=>import(`./chunk/od7pNHfk.min.js`),__vite__mapDeps([9,3]),import.meta.url),h(()=>import(`./chunk/5Ako-qGW.min.js`),__vite__mapDeps([7,4,3]),import.meta.url),l.autocomplete&&h(()=>import(`./chunk/DvCYLbJr.min.js`),__vite__mapDeps([8,3]),import.meta.url)},{on:[c===t.results]}),s(()=>{h(()=>import(`./chunk/e2-9fzwE.min.js`),__vite__mapDeps([10,3]),import.meta.url)},{on:[c===t.preferences]});export{e as a,l as i,o as n,n as r,a as t}; var e=class{id;constructor(e){this.id=e,queueMicrotask(()=>this.invoke())}async invoke(){try{console.debug(`[PLUGIN] ${this.id}: Running...`);let e=await this.run();if(!e)return;console.debug(`[PLUGIN] ${this.id}: Running post-exec...`),await this.post(e)}catch(e){console.error(`[PLUGIN] ${this.id}:`,e)}finally{console.debug(`[PLUGIN] ${this.id}: Done.`)}}},t={index:`index`,results:`results`,preferences:`preferences`,unknown:`unknown`},n={closeDetail:void 0,scrollPageToSelected:void 0,selectImage:void 0,selectNext:void 0,selectPrevious:void 0},r=()=>{let e=document.querySelector(`meta[name="endpoint"]`)?.getAttribute(`content`);return e&&e in t?e:t.unknown},i=()=>{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),{}}},a=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},o=(e,t,n,r)=>{if(typeof t!=`string`){t.addEventListener(e,n,r);return}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)},s=(e,t)=>{for(let e of t?.on??[])if(!e)return;document.readyState===`loading`?o(`DOMContentLoaded`,document,e,{once:!0}):e()},c=r(),l=i(),u=(e,t)=>{d(t)&&e()},d=e=>{switch(e.on){case`global`:return!0;case`endpoint`:return!!e.where.includes(c)}},f=`modulepreload`,p=function(e,t){return new URL(e,t).href},m={},h=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),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?import.meta.resolve(e):new URL(e,new URL(`../../../src/node/plugins/importAnalysisBuild.ts`,import.meta.url)).href}r=o(t.map(t=>{if(t=p(t,n),t=s(t),t in m)return;m[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:f,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}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)})};s(()=>{document.documentElement.classList.remove(`no-js`),document.documentElement.classList.add(`js`),o(`click`,`.close`,function(){this.parentNode?.classList.add(`invisible`)}),o(`click`,`.searxng_init_map`,async function(e){e.preventDefault(),this.classList.remove(`searxng_init_map`),u(()=>h(async()=>{let{default:e}=await import(`./chunk/BnnvKC7b.min.js`);return{default:e}},__vite__mapDeps([0,1]),import.meta.url).then(({default:e})=>new e(this)),{on:`endpoint`,where:[t.results]})}),l.plugins?.includes(`infiniteScroll`)&&u(()=>h(async()=>{let{default:e}=await import(`./chunk/DpvWr1cn.min.js`);return{default:e}},__vite__mapDeps([2,3,4]),import.meta.url).then(({default:e})=>new e),{on:`endpoint`,where:[t.results]}),l.plugins?.includes(`calculator`)&&u(()=>h(async()=>{let{default:e}=await import(`./chunk/C8c7HJzp.min.js`);return{default:e}},__vite__mapDeps([5,4,3]),import.meta.url).then(({default:e})=>new e),{on:`endpoint`,where:[t.results]})}),s(()=>{h(()=>import(`./chunk/C93hSkpT.min.js`),__vite__mapDeps([6,3]),import.meta.url),h(()=>import(`./chunk/5Ako-qGW.min.js`),__vite__mapDeps([7,4,3]),import.meta.url),l.autocomplete&&h(()=>import(`./chunk/DvCYLbJr.min.js`),__vite__mapDeps([8,3]),import.meta.url)},{on:[c===t.index]}),s(()=>{h(()=>import(`./chunk/C93hSkpT.min.js`),__vite__mapDeps([6,3]),import.meta.url),h(()=>import(`./chunk/od7pNHfk.min.js`),__vite__mapDeps([9,3]),import.meta.url),h(()=>import(`./chunk/5Ako-qGW.min.js`),__vite__mapDeps([7,4,3]),import.meta.url),l.autocomplete&&h(()=>import(`./chunk/DvCYLbJr.min.js`),__vite__mapDeps([8,3]),import.meta.url)},{on:[c===t.results]}),s(()=>{h(()=>import(`./chunk/e2-9fzwE.min.js`),__vite__mapDeps([10,3]),import.meta.url)},{on:[c===t.preferences]});export{e as a,l as i,o as n,n as r,a as t};
//# sourceMappingURL=sxng-core.min.js.map //# sourceMappingURL=sxng-core.min.js.map

File diff suppressed because one or more lines are too long

View File

@@ -60,7 +60,7 @@
</p> </p>
<p class="result-filesize">{{ _label(_("Filesize"), result.filesize) }}</p> <p class="result-filesize">{{ _label(_("Filesize"), result.filesize) }}</p>
<p class="result-source">{{ _label(_("Source"), result.source) }}</p> <p class="result-source">{{ _label(_("Source"), result.source) }}</p>
<p class="result-engines">{{ _label(_("Engines"), ", ".join(result.engines)) }}</p> <p class="result-engine">{{ _label(_("Engine"), result.engine) }}</p>
<p class="result-url"><span>{{ _("View source") }}:</span>{{- "" -}} <p class="result-url"><span>{{ _("View source") }}:</span>{{- "" -}}
<a {{ _target(results_on_new_tab) }} href="{{ result.url }}">{{ result.url }}</a> <a {{ _target(results_on_new_tab) }} href="{{ result.url }}">{{ result.url }}</a>
</p> </p>

View File

@@ -23,16 +23,17 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2026-07-15 15:45+0000\n" "POT-Creation-Date: 2026-06-13 11:31+0000\n"
"PO-Revision-Date: 2026-06-19 05:08+0000\n" "PO-Revision-Date: 2026-06-19 05:08+0000\n"
"Last-Translator: Raithlin <raithlin@noreply.codeberg.org>\n" "Last-Translator: Raithlin <raithlin@noreply.codeberg.org>\n"
"Language-Team: Afrikaans <https://translate.codeberg.org/projects/searxng/"
"searxng/af/>\n"
"Language: af\n" "Language: af\n"
"Language-Team: Afrikaans "
"<https://translate.codeberg.org/projects/searxng/searxng/af/>\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 2026.6.1\n"
"Generated-By: Babel 2.18.0\n" "Generated-By: Babel 2.18.0\n"
#. CONSTANT_NAMES['NO_SUBGROUPING'] #. CONSTANT_NAMES['NO_SUBGROUPING']
@@ -76,7 +77,7 @@ msgid "videos"
msgstr "videos" msgstr "videos"
#. CATEGORY_NAMES['RADIO'] #. CATEGORY_NAMES['RADIO']
#: searx/engines/radio_browser.py:160 searx/searxng.msg #: searx/engines/radio_browser.py:159 searx/searxng.msg
msgid "radio" msgid "radio"
msgstr "radio" msgstr "radio"
@@ -550,7 +551,7 @@ msgstr "geantwoord"
msgid "No item found" msgid "No item found"
msgstr "Geen item gevind" msgstr "Geen item gevind"
#: searx/engines/qwant.py:286 #: searx/engines/qwant.py:258
#: searx/templates/simple/result_templates/images.html:62 searx/webapp.py:328 #: searx/templates/simple/result_templates/images.html:62 searx/webapp.py:328
msgid "Source" msgid "Source"
msgstr "Bron" msgstr "Bron"
@@ -646,7 +647,7 @@ msgstr "Genereer verskillende ewekansige waardes"
msgid "Compute {func} of the arguments" msgid "Compute {func} of the arguments"
msgstr "Bereken {func} van die opsies" msgstr "Bereken {func} van die opsies"
#: searx/engines/boardreader.py:108 #: searx/engines/boardreader.py:107
#, python-brace-format #, python-brace-format
msgid "Posted by {author}" msgid "Posted by {author}"
msgstr "Geplaas deur {author}" msgstr "Geplaas deur {author}"
@@ -664,19 +665,19 @@ msgstr "{title} (UITGEDIEN)"
msgid "This entry has been superseded by" msgid "This entry has been superseded by"
msgstr "Hierdie inskrywing was vervang deur" msgstr "Hierdie inskrywing was vervang deur"
#: searx/engines/qwant.py:288 #: searx/engines/qwant.py:260
msgid "Channel" msgid "Channel"
msgstr "Kanaal" msgstr "Kanaal"
#: searx/engines/radio_browser.py:162 #: searx/engines/radio_browser.py:161
msgid "bitrate" msgid "bitrate"
msgstr "bitsnelheid" msgstr "bitsnelheid"
#: searx/engines/radio_browser.py:163 #: searx/engines/radio_browser.py:162
msgid "votes" msgid "votes"
msgstr "stemme" msgstr "stemme"
#: searx/engines/radio_browser.py:164 #: searx/engines/radio_browser.py:163
msgid "clicks" msgid "clicks"
msgstr "klikke" msgstr "klikke"
@@ -712,15 +713,15 @@ msgstr ""
msgid "The image could not be downloaded." msgid "The image could not be downloaded."
msgstr "Die prent kon nie afgelaai word nie." msgstr "Die prent kon nie afgelaai word nie."
#: searx/engines/zlibrary.py:80 #: searx/engines/zlibrary.py:79
msgid "Language" msgid "Language"
msgstr "Taal" msgstr "Taal"
#: searx/engines/zlibrary.py:81 #: searx/engines/zlibrary.py:80
msgid "Book rating" msgid "Book rating"
msgstr "boekgradering" msgstr "boekgradering"
#: searx/engines/zlibrary.py:82 #: searx/engines/zlibrary.py:81
msgid "File quality" msgid "File quality"
msgstr "Lêer kwaliteit" msgstr "Lêer kwaliteit"
@@ -1013,7 +1014,6 @@ msgid "Privacy"
msgstr "Privaatheid" msgstr "Privaatheid"
#: searx/templates/simple/preferences.html:235 #: searx/templates/simple/preferences.html:235
#: searx/templates/simple/result_templates/images.html:63
msgid "Engines" msgid "Engines"
msgstr "Enjins" msgstr "Enjins"
@@ -1656,6 +1656,10 @@ msgstr "Beeldformate"
msgid "original format" msgid "original format"
msgstr "oorspronklike formaat" msgstr "oorspronklike formaat"
#: searx/templates/simple/result_templates/images.html:63
msgid "Engine"
msgstr "Enjin"
#: searx/templates/simple/result_templates/images.html:64 #: searx/templates/simple/result_templates/images.html:64
msgid "View source" msgid "View source"
msgstr "Bekyk bron" msgstr "Bekyk bron"
@@ -2162,7 +2166,3 @@ msgstr "versteek video"
#~ msgid "Format" #~ msgid "Format"
#~ msgstr "Formaat" #~ msgstr "Formaat"
#~ msgid "Engine"
#~ msgstr "Enjin"

View File

@@ -33,17 +33,18 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: searx\n" "Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2026-07-15 15:45+0000\n" "POT-Creation-Date: 2026-06-13 11:31+0000\n"
"PO-Revision-Date: 2026-06-28 18:07+0000\n" "PO-Revision-Date: 2026-06-28 18:07+0000\n"
"Last-Translator: nebras <nebras@noreply.codeberg.org>\n" "Last-Translator: nebras <nebras@noreply.codeberg.org>\n"
"Language-Team: Arabic <https://translate.codeberg.org/projects/searxng/"
"searxng/ar/>\n"
"Language: ar\n" "Language: ar\n"
"Language-Team: Arabic "
"<https://translate.codeberg.org/projects/searxng/searxng/ar/>\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : "
"n%100>=3 && n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
"X-Generator: Weblate 2026.6.1\n"
"Generated-By: Babel 2.18.0\n" "Generated-By: Babel 2.18.0\n"
#. CONSTANT_NAMES['NO_SUBGROUPING'] #. CONSTANT_NAMES['NO_SUBGROUPING']
@@ -87,7 +88,7 @@ msgid "videos"
msgstr "ڤيديوهات" msgstr "ڤيديوهات"
#. CATEGORY_NAMES['RADIO'] #. CATEGORY_NAMES['RADIO']
#: searx/engines/radio_browser.py:160 searx/searxng.msg #: searx/engines/radio_browser.py:159 searx/searxng.msg
msgid "radio" msgid "radio"
msgstr "إذاعة" msgstr "إذاعة"
@@ -561,7 +562,7 @@ msgstr "تمت الإجابة"
msgid "No item found" msgid "No item found"
msgstr "لم يتم العثور على عنصر" msgstr "لم يتم العثور على عنصر"
#: searx/engines/qwant.py:286 #: searx/engines/qwant.py:258
#: searx/templates/simple/result_templates/images.html:62 searx/webapp.py:328 #: searx/templates/simple/result_templates/images.html:62 searx/webapp.py:328
msgid "Source" msgid "Source"
msgstr "مصدر" msgstr "مصدر"
@@ -657,7 +658,7 @@ msgstr "توليد قِيم عشوائية مختلفة"
msgid "Compute {func} of the arguments" msgid "Compute {func} of the arguments"
msgstr "حساب {func} من الحجج" msgstr "حساب {func} من الحجج"
#: searx/engines/boardreader.py:108 #: searx/engines/boardreader.py:107
#, python-brace-format #, python-brace-format
msgid "Posted by {author}" msgid "Posted by {author}"
msgstr "منشور بواسطة {author}" msgstr "منشور بواسطة {author}"
@@ -675,19 +676,19 @@ msgstr "{title} (قديم)"
msgid "This entry has been superseded by" msgid "This entry has been superseded by"
msgstr "تم استبدال هذا الإدخال بـ" msgstr "تم استبدال هذا الإدخال بـ"
#: searx/engines/qwant.py:288 #: searx/engines/qwant.py:260
msgid "Channel" msgid "Channel"
msgstr "القناة" msgstr "القناة"
#: searx/engines/radio_browser.py:162 #: searx/engines/radio_browser.py:161
msgid "bitrate" msgid "bitrate"
msgstr "معدل البت" msgstr "معدل البت"
#: searx/engines/radio_browser.py:163 #: searx/engines/radio_browser.py:162
msgid "votes" msgid "votes"
msgstr "تصويتات" msgstr "تصويتات"
#: searx/engines/radio_browser.py:164 #: searx/engines/radio_browser.py:163
msgid "clicks" msgid "clicks"
msgstr "نقرات" msgstr "نقرات"
@@ -721,15 +722,15 @@ msgstr ""
msgid "The image could not be downloaded." msgid "The image could not be downloaded."
msgstr "لا يمكن تنزيل الصورة." msgstr "لا يمكن تنزيل الصورة."
#: searx/engines/zlibrary.py:80 #: searx/engines/zlibrary.py:79
msgid "Language" msgid "Language"
msgstr "اللغة" msgstr "اللغة"
#: searx/engines/zlibrary.py:81 #: searx/engines/zlibrary.py:80
msgid "Book rating" msgid "Book rating"
msgstr "تقييم الكتاب" msgstr "تقييم الكتاب"
#: searx/engines/zlibrary.py:82 #: searx/engines/zlibrary.py:81
msgid "File quality" msgid "File quality"
msgstr "جودة الملف" msgstr "جودة الملف"
@@ -1021,7 +1022,6 @@ msgid "Privacy"
msgstr "الخصوصية" msgstr "الخصوصية"
#: searx/templates/simple/preferences.html:235 #: searx/templates/simple/preferences.html:235
#: searx/templates/simple/result_templates/images.html:63
msgid "Engines" msgid "Engines"
msgstr "المحركات" msgstr "المحركات"
@@ -1661,6 +1661,10 @@ msgstr "صيغ الصور"
msgid "original format" msgid "original format"
msgstr "الصيغة الاصلية" msgstr "الصيغة الاصلية"
#: searx/templates/simple/result_templates/images.html:63
msgid "Engine"
msgstr "محرك"
#: searx/templates/simple/result_templates/images.html:64 #: searx/templates/simple/result_templates/images.html:64
msgid "View source" msgid "View source"
msgstr "عرض المصدر" msgstr "عرض المصدر"
@@ -2400,7 +2404,3 @@ msgstr "إخفاء الفيديو"
#~ msgid "Format" #~ msgid "Format"
#~ msgstr "صيغة" #~ msgstr "صيغة"
#~ msgid "Engine"
#~ msgstr "محرك"

View File

@@ -23,17 +23,16 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: searx\n" "Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2026-07-15 15:45+0000\n" "POT-Creation-Date: 2026-06-13 11:31+0000\n"
"PO-Revision-Date: 2026-07-17 12:20+0000\n" "PO-Revision-Date: 2026-05-19 12:07+0000\n"
"Last-Translator: return42 <return42@noreply.codeberg.org>\n" "Last-Translator: return42 <return42@noreply.codeberg.org>\n"
"Language-Team: Bulgarian <https://translate.codeberg.org/projects/searxng/"
"searxng/bg/>\n"
"Language: bg\n" "Language: bg\n"
"Language-Team: Bulgarian "
"<https://translate.codeberg.org/projects/searxng/searxng/bg/>\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 2026.6.1\n"
"Generated-By: Babel 2.18.0\n" "Generated-By: Babel 2.18.0\n"
#. CONSTANT_NAMES['NO_SUBGROUPING'] #. CONSTANT_NAMES['NO_SUBGROUPING']
@@ -77,7 +76,7 @@ msgid "videos"
msgstr "видео" msgstr "видео"
#. CATEGORY_NAMES['RADIO'] #. CATEGORY_NAMES['RADIO']
#: searx/engines/radio_browser.py:160 searx/searxng.msg #: searx/engines/radio_browser.py:159 searx/searxng.msg
msgid "radio" msgid "radio"
msgstr "радио" msgstr "радио"
@@ -551,7 +550,7 @@ msgstr "Отговорено"
msgid "No item found" msgid "No item found"
msgstr "Не е намерен артикул" msgstr "Не е намерен артикул"
#: searx/engines/qwant.py:286 #: searx/engines/qwant.py:258
#: searx/templates/simple/result_templates/images.html:62 searx/webapp.py:328 #: searx/templates/simple/result_templates/images.html:62 searx/webapp.py:328
msgid "Source" msgid "Source"
msgstr "Източник" msgstr "Източник"
@@ -647,7 +646,7 @@ msgstr "Генерирайте различни произволни стойн
msgid "Compute {func} of the arguments" msgid "Compute {func} of the arguments"
msgstr "Изчислете {func} на аргументите" msgstr "Изчислете {func} на аргументите"
#: searx/engines/boardreader.py:108 #: searx/engines/boardreader.py:107
#, python-brace-format #, python-brace-format
msgid "Posted by {author}" msgid "Posted by {author}"
msgstr "" msgstr ""
@@ -665,19 +664,19 @@ msgstr "{title} (ОСТАРЯЛО)"
msgid "This entry has been superseded by" msgid "This entry has been superseded by"
msgstr "Този запис е заменен от" msgstr "Този запис е заменен от"
#: searx/engines/qwant.py:288 #: searx/engines/qwant.py:260
msgid "Channel" msgid "Channel"
msgstr "Канал" msgstr "Канал"
#: searx/engines/radio_browser.py:162 #: searx/engines/radio_browser.py:161
msgid "bitrate" msgid "bitrate"
msgstr "Скорост" msgstr "Скорост"
#: searx/engines/radio_browser.py:163 #: searx/engines/radio_browser.py:162
msgid "votes" msgid "votes"
msgstr "Гласове" msgstr "Гласове"
#: searx/engines/radio_browser.py:164 #: searx/engines/radio_browser.py:163
msgid "clicks" msgid "clicks"
msgstr "клика" msgstr "клика"
@@ -713,15 +712,15 @@ msgstr ""
msgid "The image could not be downloaded." msgid "The image could not be downloaded."
msgstr "Снимката не може да бъде свалена." msgstr "Снимката не може да бъде свалена."
#: searx/engines/zlibrary.py:80 #: searx/engines/zlibrary.py:79
msgid "Language" msgid "Language"
msgstr "Език" msgstr "Език"
#: searx/engines/zlibrary.py:81 #: searx/engines/zlibrary.py:80
msgid "Book rating" msgid "Book rating"
msgstr "Рейтинг на книги" msgstr "Рейтинг на книги"
#: searx/engines/zlibrary.py:82 #: searx/engines/zlibrary.py:81
msgid "File quality" msgid "File quality"
msgstr "Качество на файл" msgstr "Качество на файл"
@@ -1007,7 +1006,6 @@ msgid "Privacy"
msgstr "Поверителност" msgstr "Поверителност"
#: searx/templates/simple/preferences.html:235 #: searx/templates/simple/preferences.html:235
#: searx/templates/simple/result_templates/images.html:63
msgid "Engines" msgid "Engines"
msgstr "Търсачки" msgstr "Търсачки"
@@ -1017,7 +1015,7 @@ msgstr "Използвани търсачки в момента"
#: searx/templates/simple/preferences.html:246 #: searx/templates/simple/preferences.html:246
msgid "Special Queries" msgid "Special Queries"
msgstr "Специални Запитвания" msgstr "Специялни Запитвания"
#: searx/templates/simple/preferences.html:254 #: searx/templates/simple/preferences.html:254
msgid "Cookies" msgid "Cookies"
@@ -1659,6 +1657,10 @@ msgstr ""
msgid "original format" msgid "original format"
msgstr "" msgstr ""
#: searx/templates/simple/result_templates/images.html:63
msgid "Engine"
msgstr "Търсачка"
#: searx/templates/simple/result_templates/images.html:64 #: searx/templates/simple/result_templates/images.html:64
msgid "View source" msgid "View source"
msgstr "Покажи източник" msgstr "Покажи източник"
@@ -2402,5 +2404,3 @@ msgstr "скрий видеото"
#~ msgid "Format" #~ msgid "Format"
#~ msgstr "Формат" #~ msgstr "Формат"
#~ msgid "Engine"
#~ msgstr "Търсачка"

View File

@@ -29,7 +29,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2026-07-15 15:45+0000\n" "POT-Creation-Date: 2026-06-13 11:31+0000\n"
"PO-Revision-Date: 2026-05-19 12:07+0000\n" "PO-Revision-Date: 2026-05-19 12:07+0000\n"
"Last-Translator: return42 <return42@noreply.codeberg.org>\n" "Last-Translator: return42 <return42@noreply.codeberg.org>\n"
"Language: bn\n" "Language: bn\n"
@@ -82,7 +82,7 @@ msgid "videos"
msgstr "ভিডিও" msgstr "ভিডিও"
#. CATEGORY_NAMES['RADIO'] #. CATEGORY_NAMES['RADIO']
#: searx/engines/radio_browser.py:160 searx/searxng.msg #: searx/engines/radio_browser.py:159 searx/searxng.msg
msgid "radio" msgid "radio"
msgstr "বেতার" msgstr "বেতার"
@@ -556,7 +556,7 @@ msgstr "উত্তরকৃত"
msgid "No item found" msgid "No item found"
msgstr "কোন আইটেম পাওয়া যায়নি" msgstr "কোন আইটেম পাওয়া যায়নি"
#: searx/engines/qwant.py:286 #: searx/engines/qwant.py:258
#: searx/templates/simple/result_templates/images.html:62 searx/webapp.py:328 #: searx/templates/simple/result_templates/images.html:62 searx/webapp.py:328
msgid "Source" msgid "Source"
msgstr "উৎস" msgstr "উৎস"
@@ -652,7 +652,7 @@ msgstr "বিভিন্ন এলোমেলো মান তৈরি ক
msgid "Compute {func} of the arguments" msgid "Compute {func} of the arguments"
msgstr "{func} এই আদেশ কম্পিউট করো" msgstr "{func} এই আদেশ কম্পিউট করো"
#: searx/engines/boardreader.py:108 #: searx/engines/boardreader.py:107
#, python-brace-format #, python-brace-format
msgid "Posted by {author}" msgid "Posted by {author}"
msgstr "" msgstr ""
@@ -670,19 +670,19 @@ msgstr "{title} (অচল)"
msgid "This entry has been superseded by" msgid "This entry has been superseded by"
msgstr "এই এনট্রিটি দ্বারা বাতিল করা হয়েছে৷" msgstr "এই এনট্রিটি দ্বারা বাতিল করা হয়েছে৷"
#: searx/engines/qwant.py:288 #: searx/engines/qwant.py:260
msgid "Channel" msgid "Channel"
msgstr "চ্যানেল" msgstr "চ্যানেল"
#: searx/engines/radio_browser.py:162 #: searx/engines/radio_browser.py:161
msgid "bitrate" msgid "bitrate"
msgstr "বিটরেট" msgstr "বিটরেট"
#: searx/engines/radio_browser.py:163 #: searx/engines/radio_browser.py:162
msgid "votes" msgid "votes"
msgstr "ভোট" msgstr "ভোট"
#: searx/engines/radio_browser.py:164 #: searx/engines/radio_browser.py:163
msgid "clicks" msgid "clicks"
msgstr "ক্লিক সংখ্যা" msgstr "ক্লিক সংখ্যা"
@@ -717,15 +717,15 @@ msgstr ""
msgid "The image could not be downloaded." msgid "The image could not be downloaded."
msgstr "ছবিটি ডাউনলোড করা যায়নি ।" msgstr "ছবিটি ডাউনলোড করা যায়নি ।"
#: searx/engines/zlibrary.py:80 #: searx/engines/zlibrary.py:79
msgid "Language" msgid "Language"
msgstr "ভাষা" msgstr "ভাষা"
#: searx/engines/zlibrary.py:81 #: searx/engines/zlibrary.py:80
msgid "Book rating" msgid "Book rating"
msgstr "বই পর্যালোচনা" msgstr "বই পর্যালোচনা"
#: searx/engines/zlibrary.py:82 #: searx/engines/zlibrary.py:81
msgid "File quality" msgid "File quality"
msgstr "নথি মান" msgstr "নথি মান"
@@ -1013,7 +1013,6 @@ msgid "Privacy"
msgstr "গোপনীয়তা" msgstr "গোপনীয়তা"
#: searx/templates/simple/preferences.html:235 #: searx/templates/simple/preferences.html:235
#: searx/templates/simple/result_templates/images.html:63
msgid "Engines" msgid "Engines"
msgstr "ইঞ্জিন" msgstr "ইঞ্জিন"
@@ -1650,6 +1649,10 @@ msgstr ""
msgid "original format" msgid "original format"
msgstr "" msgstr ""
#: searx/templates/simple/result_templates/images.html:63
msgid "Engine"
msgstr "ইঞ্জিন"
#: searx/templates/simple/result_templates/images.html:64 #: searx/templates/simple/result_templates/images.html:64
msgid "View source" msgid "View source"
msgstr "উৎস দেখুন" msgstr "উৎস দেখুন"
@@ -2159,6 +2162,3 @@ msgstr "ভিডিও লুকিয়ে ফেলুন"
#~ msgid "Format" #~ msgid "Format"
#~ msgstr "সজ্জা" #~ msgstr "সজ্জা"
#~ msgid "Engine"
#~ msgstr "ইঞ্জিন"

View File

@@ -13,7 +13,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: searx\n" "Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2026-07-15 15:45+0000\n" "POT-Creation-Date: 2026-06-13 11:31+0000\n"
"PO-Revision-Date: 2026-05-19 12:07+0000\n" "PO-Revision-Date: 2026-05-19 12:07+0000\n"
"Last-Translator: return42 <return42@noreply.codeberg.org>\n" "Last-Translator: return42 <return42@noreply.codeberg.org>\n"
"Language: bo\n" "Language: bo\n"
@@ -66,7 +66,7 @@ msgid "videos"
msgstr "བརྙན་ཟློས།" msgstr "བརྙན་ཟློས།"
#. CATEGORY_NAMES['RADIO'] #. CATEGORY_NAMES['RADIO']
#: searx/engines/radio_browser.py:160 searx/searxng.msg #: searx/engines/radio_browser.py:159 searx/searxng.msg
msgid "radio" msgid "radio"
msgstr "" msgstr ""
@@ -540,7 +540,7 @@ msgstr ""
msgid "No item found" msgid "No item found"
msgstr "རྣམ་གྲངས་གང་ཡང་རྙེད་རྒྱུ་མ་བྱུང་།" msgstr "རྣམ་གྲངས་གང་ཡང་རྙེད་རྒྱུ་མ་བྱུང་།"
#: searx/engines/qwant.py:286 #: searx/engines/qwant.py:258
#: searx/templates/simple/result_templates/images.html:62 searx/webapp.py:328 #: searx/templates/simple/result_templates/images.html:62 searx/webapp.py:328
msgid "Source" msgid "Source"
msgstr "" msgstr ""
@@ -636,7 +636,7 @@ msgstr "ངེས་མེད་གྲངས་ཀ་ཁ་ཤས་ཐོབ་
msgid "Compute {func} of the arguments" msgid "Compute {func} of the arguments"
msgstr "" msgstr ""
#: searx/engines/boardreader.py:108 #: searx/engines/boardreader.py:107
#, python-brace-format #, python-brace-format
msgid "Posted by {author}" msgid "Posted by {author}"
msgstr "" msgstr ""
@@ -654,19 +654,19 @@ msgstr ""
msgid "This entry has been superseded by" msgid "This entry has been superseded by"
msgstr "འཚོལ་བྱང་འདི་གཞན་གྱིས་ཚབ་བྱེད་འདུག" msgstr "འཚོལ་བྱང་འདི་གཞན་གྱིས་ཚབ་བྱེད་འདུག"
#: searx/engines/qwant.py:288 #: searx/engines/qwant.py:260
msgid "Channel" msgid "Channel"
msgstr "" msgstr ""
#: searx/engines/radio_browser.py:162 #: searx/engines/radio_browser.py:161
msgid "bitrate" msgid "bitrate"
msgstr "" msgstr ""
#: searx/engines/radio_browser.py:163 #: searx/engines/radio_browser.py:162
msgid "votes" msgid "votes"
msgstr "" msgstr ""
#: searx/engines/radio_browser.py:164 #: searx/engines/radio_browser.py:163
msgid "clicks" msgid "clicks"
msgstr "" msgstr ""
@@ -694,15 +694,15 @@ msgstr ""
msgid "The image could not be downloaded." msgid "The image could not be downloaded."
msgstr "" msgstr ""
#: searx/engines/zlibrary.py:80 #: searx/engines/zlibrary.py:79
msgid "Language" msgid "Language"
msgstr "" msgstr ""
#: searx/engines/zlibrary.py:81 #: searx/engines/zlibrary.py:80
msgid "Book rating" msgid "Book rating"
msgstr "" msgstr ""
#: searx/engines/zlibrary.py:82 #: searx/engines/zlibrary.py:81
msgid "File quality" msgid "File quality"
msgstr "" msgstr ""
@@ -980,7 +980,6 @@ msgid "Privacy"
msgstr "མི་སྒེར་གསང་དོན།" msgstr "མི་སྒེར་གསང་དོན།"
#: searx/templates/simple/preferences.html:235 #: searx/templates/simple/preferences.html:235
#: searx/templates/simple/result_templates/images.html:63
msgid "Engines" msgid "Engines"
msgstr "སྒུལ་བྱེད།" msgstr "སྒུལ་བྱེད།"
@@ -1607,6 +1606,10 @@ msgstr ""
msgid "original format" msgid "original format"
msgstr "" msgstr ""
#: searx/templates/simple/result_templates/images.html:63
msgid "Engine"
msgstr ""
#: searx/templates/simple/result_templates/images.html:64 #: searx/templates/simple/result_templates/images.html:64
msgid "View source" msgid "View source"
msgstr "ཡོངས་ཁུངས་ལ་ལྟ།" msgstr "ཡོངས་ཁུངས་ལ་ལྟ།"
@@ -2292,6 +2295,3 @@ msgstr "རྙན་ཟློས་སྦས།"
#~ msgid "Format" #~ msgid "Format"
#~ msgstr "" #~ msgstr ""
#~ msgid "Engine"
#~ msgstr ""

View File

@@ -31,16 +31,17 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: searx\n" "Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2026-07-15 15:45+0000\n" "POT-Creation-Date: 2026-06-13 11:31+0000\n"
"PO-Revision-Date: 2026-06-17 20:19+0000\n" "PO-Revision-Date: 2026-06-17 20:19+0000\n"
"Last-Translator: return42 <return42@noreply.codeberg.org>\n" "Last-Translator: return42 <return42@noreply.codeberg.org>\n"
"Language-Team: Catalan <https://translate.codeberg.org/projects/searxng/"
"searxng/ca/>\n"
"Language: ca\n" "Language: ca\n"
"Language-Team: Catalan "
"<https://translate.codeberg.org/projects/searxng/searxng/ca/>\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 2026.6.1\n"
"Generated-By: Babel 2.18.0\n" "Generated-By: Babel 2.18.0\n"
#. CONSTANT_NAMES['NO_SUBGROUPING'] #. CONSTANT_NAMES['NO_SUBGROUPING']
@@ -84,7 +85,7 @@ msgid "videos"
msgstr "vídeos" msgstr "vídeos"
#. CATEGORY_NAMES['RADIO'] #. CATEGORY_NAMES['RADIO']
#: searx/engines/radio_browser.py:160 searx/searxng.msg #: searx/engines/radio_browser.py:159 searx/searxng.msg
msgid "radio" msgid "radio"
msgstr "radio" msgstr "radio"
@@ -558,7 +559,7 @@ msgstr "contestat"
msgid "No item found" msgid "No item found"
msgstr "No s'ha trobat cap element" msgstr "No s'ha trobat cap element"
#: searx/engines/qwant.py:286 #: searx/engines/qwant.py:258
#: searx/templates/simple/result_templates/images.html:62 searx/webapp.py:328 #: searx/templates/simple/result_templates/images.html:62 searx/webapp.py:328
msgid "Source" msgid "Source"
msgstr "Origen" msgstr "Origen"
@@ -654,7 +655,7 @@ msgstr "Genera diferents valors aleatoris"
msgid "Compute {func} of the arguments" msgid "Compute {func} of the arguments"
msgstr "" msgstr ""
#: searx/engines/boardreader.py:108 #: searx/engines/boardreader.py:107
#, python-brace-format #, python-brace-format
msgid "Posted by {author}" msgid "Posted by {author}"
msgstr "" msgstr ""
@@ -672,19 +673,19 @@ msgstr "{title} (OBSOLET)"
msgid "This entry has been superseded by" msgid "This entry has been superseded by"
msgstr "Aquesta entrada ha estat substituïda per" msgstr "Aquesta entrada ha estat substituïda per"
#: searx/engines/qwant.py:288 #: searx/engines/qwant.py:260
msgid "Channel" msgid "Channel"
msgstr "Canal" msgstr "Canal"
#: searx/engines/radio_browser.py:162 #: searx/engines/radio_browser.py:161
msgid "bitrate" msgid "bitrate"
msgstr "tasa de bits" msgstr "tasa de bits"
#: searx/engines/radio_browser.py:163 #: searx/engines/radio_browser.py:162
msgid "votes" msgid "votes"
msgstr "vots" msgstr "vots"
#: searx/engines/radio_browser.py:164 #: searx/engines/radio_browser.py:163
msgid "clicks" msgid "clicks"
msgstr "clics" msgstr "clics"
@@ -719,15 +720,15 @@ msgstr ""
msgid "The image could not be downloaded." msgid "The image could not be downloaded."
msgstr "No s'ha pogut baixar la imatge." msgstr "No s'ha pogut baixar la imatge."
#: searx/engines/zlibrary.py:80 #: searx/engines/zlibrary.py:79
msgid "Language" msgid "Language"
msgstr "Llengua" msgstr "Llengua"
#: searx/engines/zlibrary.py:81 #: searx/engines/zlibrary.py:80
msgid "Book rating" msgid "Book rating"
msgstr "Valoració de llibre" msgstr "Valoració de llibre"
#: searx/engines/zlibrary.py:82 #: searx/engines/zlibrary.py:81
msgid "File quality" msgid "File quality"
msgstr "Qualitat del fitxer" msgstr "Qualitat del fitxer"
@@ -1012,7 +1013,6 @@ msgid "Privacy"
msgstr "Privadesa" msgstr "Privadesa"
#: searx/templates/simple/preferences.html:235 #: searx/templates/simple/preferences.html:235
#: searx/templates/simple/result_templates/images.html:63
msgid "Engines" msgid "Engines"
msgstr "Motors de cerca" msgstr "Motors de cerca"
@@ -1658,6 +1658,10 @@ msgstr ""
msgid "original format" msgid "original format"
msgstr "format original" msgstr "format original"
#: searx/templates/simple/result_templates/images.html:63
msgid "Engine"
msgstr "Cercador"
#: searx/templates/simple/result_templates/images.html:64 #: searx/templates/simple/result_templates/images.html:64
msgid "View source" msgid "View source"
msgstr "Veure el codi font" msgstr "Veure el codi font"
@@ -2420,7 +2424,3 @@ msgstr "oculta el vídeo"
#~ msgid "Format" #~ msgid "Format"
#~ msgstr "Format" #~ msgstr "Format"
#~ msgid "Engine"
#~ msgstr "Cercador"

View File

@@ -27,17 +27,18 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: searx\n" "Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2026-07-15 15:45+0000\n" "POT-Creation-Date: 2026-06-13 11:31+0000\n"
"PO-Revision-Date: 2026-06-16 07:07+0000\n" "PO-Revision-Date: 2026-06-16 07:07+0000\n"
"Last-Translator: Fjuro <fjuro@noreply.codeberg.org>\n" "Last-Translator: Fjuro <fjuro@noreply.codeberg.org>\n"
"Language-Team: Czech <https://translate.codeberg.org/projects/searxng/"
"searxng/cs/>\n"
"Language: cs\n" "Language: cs\n"
"Language-Team: Czech "
"<https://translate.codeberg.org/projects/searxng/searxng/cs/>\n"
"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && "
"n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n "
"<= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"
"X-Generator: Weblate 2026.6.1\n"
"Generated-By: Babel 2.18.0\n" "Generated-By: Babel 2.18.0\n"
#. CONSTANT_NAMES['NO_SUBGROUPING'] #. CONSTANT_NAMES['NO_SUBGROUPING']
@@ -81,7 +82,7 @@ msgid "videos"
msgstr "videa" msgstr "videa"
#. CATEGORY_NAMES['RADIO'] #. CATEGORY_NAMES['RADIO']
#: searx/engines/radio_browser.py:160 searx/searxng.msg #: searx/engines/radio_browser.py:159 searx/searxng.msg
msgid "radio" msgid "radio"
msgstr "rádio" msgstr "rádio"
@@ -555,7 +556,7 @@ msgstr "zodpovězené"
msgid "No item found" msgid "No item found"
msgstr "Nic nenalezeno" msgstr "Nic nenalezeno"
#: searx/engines/qwant.py:286 #: searx/engines/qwant.py:258
#: searx/templates/simple/result_templates/images.html:62 searx/webapp.py:328 #: searx/templates/simple/result_templates/images.html:62 searx/webapp.py:328
msgid "Source" msgid "Source"
msgstr "zdroj" msgstr "zdroj"
@@ -651,7 +652,7 @@ msgstr "Generování náhodných hodnot"
msgid "Compute {func} of the arguments" msgid "Compute {func} of the arguments"
msgstr "Vypočítat {func} argumentů" msgstr "Vypočítat {func} argumentů"
#: searx/engines/boardreader.py:108 #: searx/engines/boardreader.py:107
#, python-brace-format #, python-brace-format
msgid "Posted by {author}" msgid "Posted by {author}"
msgstr "Autor: {author}" msgstr "Autor: {author}"
@@ -669,19 +670,19 @@ msgstr "{title} (ZASTARALÉ)"
msgid "This entry has been superseded by" msgid "This entry has been superseded by"
msgstr "Tato položka byla nahrazena položkou" msgstr "Tato položka byla nahrazena položkou"
#: searx/engines/qwant.py:288 #: searx/engines/qwant.py:260
msgid "Channel" msgid "Channel"
msgstr "Kanál" msgstr "Kanál"
#: searx/engines/radio_browser.py:162 #: searx/engines/radio_browser.py:161
msgid "bitrate" msgid "bitrate"
msgstr "datový tok" msgstr "datový tok"
#: searx/engines/radio_browser.py:163 #: searx/engines/radio_browser.py:162
msgid "votes" msgid "votes"
msgstr "hlasy" msgstr "hlasy"
#: searx/engines/radio_browser.py:164 #: searx/engines/radio_browser.py:163
msgid "clicks" msgid "clicks"
msgstr "kliknutí" msgstr "kliknutí"
@@ -716,15 +717,15 @@ msgstr ""
msgid "The image could not be downloaded." msgid "The image could not be downloaded."
msgstr "Obrázek se nepodařilo stáhnout." msgstr "Obrázek se nepodařilo stáhnout."
#: searx/engines/zlibrary.py:80 #: searx/engines/zlibrary.py:79
msgid "Language" msgid "Language"
msgstr "Jazyk" msgstr "Jazyk"
#: searx/engines/zlibrary.py:81 #: searx/engines/zlibrary.py:80
msgid "Book rating" msgid "Book rating"
msgstr "Hodnocení knih" msgstr "Hodnocení knih"
#: searx/engines/zlibrary.py:82 #: searx/engines/zlibrary.py:81
msgid "File quality" msgid "File quality"
msgstr "Množství souborů" msgstr "Množství souborů"
@@ -1015,7 +1016,6 @@ msgid "Privacy"
msgstr "Soukromí" msgstr "Soukromí"
#: searx/templates/simple/preferences.html:235 #: searx/templates/simple/preferences.html:235
#: searx/templates/simple/result_templates/images.html:63
msgid "Engines" msgid "Engines"
msgstr "Vyhledávače" msgstr "Vyhledávače"
@@ -1659,6 +1659,10 @@ msgstr "Formáty obrázků"
msgid "original format" msgid "original format"
msgstr "původní formát" msgstr "původní formát"
#: searx/templates/simple/result_templates/images.html:63
msgid "Engine"
msgstr "Vyhledávač"
#: searx/templates/simple/result_templates/images.html:64 #: searx/templates/simple/result_templates/images.html:64
msgid "View source" msgid "View source"
msgstr "Zobrazit zdroj" msgstr "Zobrazit zdroj"
@@ -2406,7 +2410,3 @@ msgstr "skrýt video"
#~ msgid "Format" #~ msgid "Format"
#~ msgstr "Formát" #~ msgstr "Formát"
#~ msgid "Engine"
#~ msgstr "Vyhledávač"

View File

@@ -20,7 +20,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: searx\n" "Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2026-07-15 15:45+0000\n" "POT-Creation-Date: 2026-06-13 11:31+0000\n"
"PO-Revision-Date: 2026-05-19 12:07+0000\n" "PO-Revision-Date: 2026-05-19 12:07+0000\n"
"Last-Translator: return42 <return42@noreply.codeberg.org>\n" "Last-Translator: return42 <return42@noreply.codeberg.org>\n"
"Language: cy\n" "Language: cy\n"
@@ -74,7 +74,7 @@ msgid "videos"
msgstr "fideos" msgstr "fideos"
#. CATEGORY_NAMES['RADIO'] #. CATEGORY_NAMES['RADIO']
#: searx/engines/radio_browser.py:160 searx/searxng.msg #: searx/engines/radio_browser.py:159 searx/searxng.msg
msgid "radio" msgid "radio"
msgstr "radio" msgstr "radio"
@@ -548,7 +548,7 @@ msgstr "wedi'i ateb"
msgid "No item found" msgid "No item found"
msgstr "Ni chanfuwyd eitem" msgstr "Ni chanfuwyd eitem"
#: searx/engines/qwant.py:286 #: searx/engines/qwant.py:258
#: searx/templates/simple/result_templates/images.html:62 searx/webapp.py:328 #: searx/templates/simple/result_templates/images.html:62 searx/webapp.py:328
msgid "Source" msgid "Source"
msgstr "Ffynhonnell" msgstr "Ffynhonnell"
@@ -644,7 +644,7 @@ msgstr "Cynhyrchu gwahanol werthoedd ar hap"
msgid "Compute {func} of the arguments" msgid "Compute {func} of the arguments"
msgstr "" msgstr ""
#: searx/engines/boardreader.py:108 #: searx/engines/boardreader.py:107
#, python-brace-format #, python-brace-format
msgid "Posted by {author}" msgid "Posted by {author}"
msgstr "" msgstr ""
@@ -662,19 +662,19 @@ msgstr "{title} (OBSOLETE)"
msgid "This entry has been superseded by" msgid "This entry has been superseded by"
msgstr "Mae'r cofnod hwn wedi ei ddisodli gan" msgstr "Mae'r cofnod hwn wedi ei ddisodli gan"
#: searx/engines/qwant.py:288 #: searx/engines/qwant.py:260
msgid "Channel" msgid "Channel"
msgstr "Sianel" msgstr "Sianel"
#: searx/engines/radio_browser.py:162 #: searx/engines/radio_browser.py:161
msgid "bitrate" msgid "bitrate"
msgstr "cyfradd didau" msgstr "cyfradd didau"
#: searx/engines/radio_browser.py:163 #: searx/engines/radio_browser.py:162
msgid "votes" msgid "votes"
msgstr "pleidleisiau" msgstr "pleidleisiau"
#: searx/engines/radio_browser.py:164 #: searx/engines/radio_browser.py:163
msgid "clicks" msgid "clicks"
msgstr "cliciau" msgstr "cliciau"
@@ -710,15 +710,15 @@ msgstr ""
msgid "The image could not be downloaded." msgid "The image could not be downloaded."
msgstr "Doedd dim modd islwytho'r ddelwedd." msgstr "Doedd dim modd islwytho'r ddelwedd."
#: searx/engines/zlibrary.py:80 #: searx/engines/zlibrary.py:79
msgid "Language" msgid "Language"
msgstr "Iaith" msgstr "Iaith"
#: searx/engines/zlibrary.py:81 #: searx/engines/zlibrary.py:80
msgid "Book rating" msgid "Book rating"
msgstr "Gradd llyfr" msgstr "Gradd llyfr"
#: searx/engines/zlibrary.py:82 #: searx/engines/zlibrary.py:81
msgid "File quality" msgid "File quality"
msgstr "ansawdd ffeil" msgstr "ansawdd ffeil"
@@ -1003,7 +1003,6 @@ msgid "Privacy"
msgstr "Preifatrwydd" msgstr "Preifatrwydd"
#: searx/templates/simple/preferences.html:235 #: searx/templates/simple/preferences.html:235
#: searx/templates/simple/result_templates/images.html:63
msgid "Engines" msgid "Engines"
msgstr "Peiriannau" msgstr "Peiriannau"
@@ -1639,6 +1638,10 @@ msgstr ""
msgid "original format" msgid "original format"
msgstr "" msgstr ""
#: searx/templates/simple/result_templates/images.html:63
msgid "Engine"
msgstr "Peiriant"
#: searx/templates/simple/result_templates/images.html:64 #: searx/templates/simple/result_templates/images.html:64
msgid "View source" msgid "View source"
msgstr "Gweld y ffynhonnell" msgstr "Gweld y ffynhonnell"
@@ -2360,6 +2363,3 @@ msgstr "cuddio'r fideo"
#~ msgid "Format" #~ msgid "Format"
#~ msgstr "Fformat" #~ msgstr "Fformat"
#~ msgid "Engine"
#~ msgstr "Peiriant"

View File

@@ -19,16 +19,17 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: searx\n" "Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2026-07-15 15:45+0000\n" "POT-Creation-Date: 2026-06-13 11:31+0000\n"
"PO-Revision-Date: 2026-06-16 07:07+0000\n" "PO-Revision-Date: 2026-06-16 07:07+0000\n"
"Last-Translator: AndersNordh <andersnordh@noreply.codeberg.org>\n" "Last-Translator: AndersNordh <andersnordh@noreply.codeberg.org>\n"
"Language-Team: Danish <https://translate.codeberg.org/projects/searxng/"
"searxng/da/>\n"
"Language: da\n" "Language: da\n"
"Language-Team: Danish "
"<https://translate.codeberg.org/projects/searxng/searxng/da/>\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 2026.6.1\n"
"Generated-By: Babel 2.18.0\n" "Generated-By: Babel 2.18.0\n"
#. CONSTANT_NAMES['NO_SUBGROUPING'] #. CONSTANT_NAMES['NO_SUBGROUPING']
@@ -72,7 +73,7 @@ msgid "videos"
msgstr "videoer" msgstr "videoer"
#. CATEGORY_NAMES['RADIO'] #. CATEGORY_NAMES['RADIO']
#: searx/engines/radio_browser.py:160 searx/searxng.msg #: searx/engines/radio_browser.py:159 searx/searxng.msg
msgid "radio" msgid "radio"
msgstr "Radio" msgstr "Radio"
@@ -546,7 +547,7 @@ msgstr "svaret"
msgid "No item found" msgid "No item found"
msgstr "Intet fundet" msgstr "Intet fundet"
#: searx/engines/qwant.py:286 #: searx/engines/qwant.py:258
#: searx/templates/simple/result_templates/images.html:62 searx/webapp.py:328 #: searx/templates/simple/result_templates/images.html:62 searx/webapp.py:328
msgid "Source" msgid "Source"
msgstr "Kilde" msgstr "Kilde"
@@ -642,7 +643,7 @@ msgstr "Generér forskellige tilfældige værdier"
msgid "Compute {func} of the arguments" msgid "Compute {func} of the arguments"
msgstr "Beregn {func} af argumenterne" msgstr "Beregn {func} af argumenterne"
#: searx/engines/boardreader.py:108 #: searx/engines/boardreader.py:107
#, python-brace-format #, python-brace-format
msgid "Posted by {author}" msgid "Posted by {author}"
msgstr "Indsendt af {author}" msgstr "Indsendt af {author}"
@@ -660,19 +661,19 @@ msgstr "{title} (FORÆLDET)"
msgid "This entry has been superseded by" msgid "This entry has been superseded by"
msgstr "Denne værdi er blevet overskrevet af" msgstr "Denne værdi er blevet overskrevet af"
#: searx/engines/qwant.py:288 #: searx/engines/qwant.py:260
msgid "Channel" msgid "Channel"
msgstr "Kanal" msgstr "Kanal"
#: searx/engines/radio_browser.py:162 #: searx/engines/radio_browser.py:161
msgid "bitrate" msgid "bitrate"
msgstr "Bitrate" msgstr "Bitrate"
#: searx/engines/radio_browser.py:163 #: searx/engines/radio_browser.py:162
msgid "votes" msgid "votes"
msgstr "Stemmer" msgstr "Stemmer"
#: searx/engines/radio_browser.py:164 #: searx/engines/radio_browser.py:163
msgid "clicks" msgid "clicks"
msgstr "Klik" msgstr "Klik"
@@ -708,15 +709,15 @@ msgstr ""
msgid "The image could not be downloaded." msgid "The image could not be downloaded."
msgstr "Dette billede kunne ikke downloades." msgstr "Dette billede kunne ikke downloades."
#: searx/engines/zlibrary.py:80 #: searx/engines/zlibrary.py:79
msgid "Language" msgid "Language"
msgstr "Sprog" msgstr "Sprog"
#: searx/engines/zlibrary.py:81 #: searx/engines/zlibrary.py:80
msgid "Book rating" msgid "Book rating"
msgstr "Bogbedømmelse" msgstr "Bogbedømmelse"
#: searx/engines/zlibrary.py:82 #: searx/engines/zlibrary.py:81
msgid "File quality" msgid "File quality"
msgstr "Filkvalitet" msgstr "Filkvalitet"
@@ -1009,7 +1010,6 @@ msgid "Privacy"
msgstr "Privatliv" msgstr "Privatliv"
#: searx/templates/simple/preferences.html:235 #: searx/templates/simple/preferences.html:235
#: searx/templates/simple/result_templates/images.html:63
msgid "Engines" msgid "Engines"
msgstr "Søgemaskiner" msgstr "Søgemaskiner"
@@ -1655,6 +1655,10 @@ msgstr "Billedformater"
msgid "original format" msgid "original format"
msgstr "originalt format" msgstr "originalt format"
#: searx/templates/simple/result_templates/images.html:63
msgid "Engine"
msgstr "Maskine"
#: searx/templates/simple/result_templates/images.html:64 #: searx/templates/simple/result_templates/images.html:64
msgid "View source" msgid "View source"
msgstr "Vis kilde" msgstr "Vis kilde"
@@ -2415,7 +2419,3 @@ msgstr "skjul video"
#~ msgid "Format" #~ msgid "Format"
#~ msgstr "Format" #~ msgstr "Format"
#~ msgid "Engine"
#~ msgstr "Maskine"

View File

@@ -34,16 +34,17 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: searx\n" "Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2026-07-15 15:45+0000\n" "POT-Creation-Date: 2026-06-13 11:31+0000\n"
"PO-Revision-Date: 2026-06-17 20:19+0000\n" "PO-Revision-Date: 2026-06-17 20:19+0000\n"
"Last-Translator: return42 <return42@noreply.codeberg.org>\n" "Last-Translator: return42 <return42@noreply.codeberg.org>\n"
"Language-Team: German <https://translate.codeberg.org/projects/searxng/"
"searxng/de/>\n"
"Language: de\n" "Language: 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" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 2026.6.1\n"
"Generated-By: Babel 2.18.0\n" "Generated-By: Babel 2.18.0\n"
#. CONSTANT_NAMES['NO_SUBGROUPING'] #. CONSTANT_NAMES['NO_SUBGROUPING']
@@ -87,7 +88,7 @@ msgid "videos"
msgstr "Videos" msgstr "Videos"
#. CATEGORY_NAMES['RADIO'] #. CATEGORY_NAMES['RADIO']
#: searx/engines/radio_browser.py:160 searx/searxng.msg #: searx/engines/radio_browser.py:159 searx/searxng.msg
msgid "radio" msgid "radio"
msgstr "Radio" msgstr "Radio"
@@ -561,7 +562,7 @@ msgstr "beantwortet"
msgid "No item found" msgid "No item found"
msgstr "Keine Einträge gefunden" msgstr "Keine Einträge gefunden"
#: searx/engines/qwant.py:286 #: searx/engines/qwant.py:258
#: searx/templates/simple/result_templates/images.html:62 searx/webapp.py:328 #: searx/templates/simple/result_templates/images.html:62 searx/webapp.py:328
msgid "Source" msgid "Source"
msgstr "Quelle" msgstr "Quelle"
@@ -657,7 +658,7 @@ msgstr "Erzeugt diverse Zufallswerte"
msgid "Compute {func} of the arguments" msgid "Compute {func} of the arguments"
msgstr "Berechne {func} zu den Argumenten" msgstr "Berechne {func} zu den Argumenten"
#: searx/engines/boardreader.py:108 #: searx/engines/boardreader.py:107
#, python-brace-format #, python-brace-format
msgid "Posted by {author}" msgid "Posted by {author}"
msgstr "Beitrag von {author}" msgstr "Beitrag von {author}"
@@ -675,19 +676,19 @@ msgstr "{title} (OBSOLET)"
msgid "This entry has been superseded by" msgid "This entry has been superseded by"
msgstr "Dieser Eintrag wurde überschrieben von" msgstr "Dieser Eintrag wurde überschrieben von"
#: searx/engines/qwant.py:288 #: searx/engines/qwant.py:260
msgid "Channel" msgid "Channel"
msgstr "Kanal" msgstr "Kanal"
#: searx/engines/radio_browser.py:162 #: searx/engines/radio_browser.py:161
msgid "bitrate" msgid "bitrate"
msgstr "Bitrate" msgstr "Bitrate"
#: searx/engines/radio_browser.py:163 #: searx/engines/radio_browser.py:162
msgid "votes" msgid "votes"
msgstr "Stimmen" msgstr "Stimmen"
#: searx/engines/radio_browser.py:164 #: searx/engines/radio_browser.py:163
msgid "clicks" msgid "clicks"
msgstr "Clicks" msgstr "Clicks"
@@ -723,15 +724,15 @@ msgstr ""
msgid "The image could not be downloaded." msgid "The image could not be downloaded."
msgstr "Das Bild konnte nicht heruntergeladen werden." msgstr "Das Bild konnte nicht heruntergeladen werden."
#: searx/engines/zlibrary.py:80 #: searx/engines/zlibrary.py:79
msgid "Language" msgid "Language"
msgstr "Sprache" msgstr "Sprache"
#: searx/engines/zlibrary.py:81 #: searx/engines/zlibrary.py:80
msgid "Book rating" msgid "Book rating"
msgstr "Buchbewertung" msgstr "Buchbewertung"
#: searx/engines/zlibrary.py:82 #: searx/engines/zlibrary.py:81
msgid "File quality" msgid "File quality"
msgstr "Dateiqualität" msgstr "Dateiqualität"
@@ -1030,7 +1031,6 @@ msgid "Privacy"
msgstr "Privatsphäre" msgstr "Privatsphäre"
#: searx/templates/simple/preferences.html:235 #: searx/templates/simple/preferences.html:235
#: searx/templates/simple/result_templates/images.html:63
msgid "Engines" msgid "Engines"
msgstr "Suchmaschinen" msgstr "Suchmaschinen"
@@ -1674,6 +1674,10 @@ msgstr "Bildformate"
msgid "original format" msgid "original format"
msgstr "Originalformat" msgstr "Originalformat"
#: searx/templates/simple/result_templates/images.html:63
msgid "Engine"
msgstr "Suchmaschine"
#: searx/templates/simple/result_templates/images.html:64 #: searx/templates/simple/result_templates/images.html:64
msgid "View source" msgid "View source"
msgstr "Seite besuchen" msgstr "Seite besuchen"
@@ -2462,7 +2466,3 @@ msgstr "Video verstecken"
#~ msgid "Format" #~ msgid "Format"
#~ msgstr "Format" #~ msgstr "Format"
#~ msgid "Engine"
#~ msgstr "Suchmaschine"

View File

@@ -9,7 +9,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2026-07-15 15:45+0000\n" "POT-Creation-Date: 2026-06-13 11:31+0000\n"
"PO-Revision-Date: 2025-08-13 08:09+0000\n" "PO-Revision-Date: 2025-08-13 08:09+0000\n"
"Last-Translator: ijxp <ijxp@noreply.codeberg.org>\n" "Last-Translator: ijxp <ijxp@noreply.codeberg.org>\n"
"Language: dv\n" "Language: dv\n"
@@ -63,7 +63,7 @@ msgid "videos"
msgstr "ވީޑިޔޯތައް" msgstr "ވީޑިޔޯތައް"
#. CATEGORY_NAMES['RADIO'] #. CATEGORY_NAMES['RADIO']
#: searx/engines/radio_browser.py:160 searx/searxng.msg #: searx/engines/radio_browser.py:159 searx/searxng.msg
msgid "radio" msgid "radio"
msgstr "ރޭޑިއޯ އިންނެވެ" msgstr "ރޭޑިއޯ އިންނެވެ"
@@ -537,7 +537,7 @@ msgstr ""
msgid "No item found" msgid "No item found"
msgstr "" msgstr ""
#: searx/engines/qwant.py:286 #: searx/engines/qwant.py:258
#: searx/templates/simple/result_templates/images.html:62 searx/webapp.py:328 #: searx/templates/simple/result_templates/images.html:62 searx/webapp.py:328
msgid "Source" msgid "Source"
msgstr "" msgstr ""
@@ -633,7 +633,7 @@ msgstr ""
msgid "Compute {func} of the arguments" msgid "Compute {func} of the arguments"
msgstr "" msgstr ""
#: searx/engines/boardreader.py:108 #: searx/engines/boardreader.py:107
#, python-brace-format #, python-brace-format
msgid "Posted by {author}" msgid "Posted by {author}"
msgstr "" msgstr ""
@@ -651,19 +651,19 @@ msgstr ""
msgid "This entry has been superseded by" msgid "This entry has been superseded by"
msgstr "" msgstr ""
#: searx/engines/qwant.py:288 #: searx/engines/qwant.py:260
msgid "Channel" msgid "Channel"
msgstr "" msgstr ""
#: searx/engines/radio_browser.py:162 #: searx/engines/radio_browser.py:161
msgid "bitrate" msgid "bitrate"
msgstr "" msgstr ""
#: searx/engines/radio_browser.py:163 #: searx/engines/radio_browser.py:162
msgid "votes" msgid "votes"
msgstr "" msgstr ""
#: searx/engines/radio_browser.py:164 #: searx/engines/radio_browser.py:163
msgid "clicks" msgid "clicks"
msgstr "" msgstr ""
@@ -691,15 +691,15 @@ msgstr ""
msgid "The image could not be downloaded." msgid "The image could not be downloaded."
msgstr "" msgstr ""
#: searx/engines/zlibrary.py:80 #: searx/engines/zlibrary.py:79
msgid "Language" msgid "Language"
msgstr "" msgstr ""
#: searx/engines/zlibrary.py:81 #: searx/engines/zlibrary.py:80
msgid "Book rating" msgid "Book rating"
msgstr "" msgstr ""
#: searx/engines/zlibrary.py:82 #: searx/engines/zlibrary.py:81
msgid "File quality" msgid "File quality"
msgstr "" msgstr ""
@@ -977,7 +977,6 @@ msgid "Privacy"
msgstr "" msgstr ""
#: searx/templates/simple/preferences.html:235 #: searx/templates/simple/preferences.html:235
#: searx/templates/simple/result_templates/images.html:63
msgid "Engines" msgid "Engines"
msgstr "" msgstr ""
@@ -1602,6 +1601,10 @@ msgstr ""
msgid "original format" msgid "original format"
msgstr "" msgstr ""
#: searx/templates/simple/result_templates/images.html:63
msgid "Engine"
msgstr ""
#: searx/templates/simple/result_templates/images.html:64 #: searx/templates/simple/result_templates/images.html:64
msgid "View source" msgid "View source"
msgstr "" msgstr ""
@@ -2023,6 +2026,3 @@ msgstr ""
#~ msgid "Format" #~ msgid "Format"
#~ msgstr "" #~ msgstr ""
#~ msgid "Engine"
#~ msgstr ""

View File

@@ -25,16 +25,17 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: searx\n" "Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2026-07-15 15:45+0000\n" "POT-Creation-Date: 2026-06-13 11:31+0000\n"
"PO-Revision-Date: 2026-06-17 20:19+0000\n" "PO-Revision-Date: 2026-06-17 20:19+0000\n"
"Last-Translator: return42 <return42@noreply.codeberg.org>\n" "Last-Translator: return42 <return42@noreply.codeberg.org>\n"
"Language-Team: Greek <https://translate.codeberg.org/projects/searxng/"
"searxng/el/>\n"
"Language: el_GR\n" "Language: el_GR\n"
"Language-Team: Greek "
"<https://translate.codeberg.org/projects/searxng/searxng/el/>\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 2026.6.1\n"
"Generated-By: Babel 2.18.0\n" "Generated-By: Babel 2.18.0\n"
#. CONSTANT_NAMES['NO_SUBGROUPING'] #. CONSTANT_NAMES['NO_SUBGROUPING']
@@ -78,7 +79,7 @@ msgid "videos"
msgstr "Βίντεο" msgstr "Βίντεο"
#. CATEGORY_NAMES['RADIO'] #. CATEGORY_NAMES['RADIO']
#: searx/engines/radio_browser.py:160 searx/searxng.msg #: searx/engines/radio_browser.py:159 searx/searxng.msg
msgid "radio" msgid "radio"
msgstr "ράδιο" msgstr "ράδιο"
@@ -552,7 +553,7 @@ msgstr "απάντησε"
msgid "No item found" msgid "No item found"
msgstr "Δεν βρέθηκαν αντικείμενα" msgstr "Δεν βρέθηκαν αντικείμενα"
#: searx/engines/qwant.py:286 #: searx/engines/qwant.py:258
#: searx/templates/simple/result_templates/images.html:62 searx/webapp.py:328 #: searx/templates/simple/result_templates/images.html:62 searx/webapp.py:328
msgid "Source" msgid "Source"
msgstr "Πηγή" msgstr "Πηγή"
@@ -648,7 +649,7 @@ msgstr "Δημιουργία διαφορετικών τυχαίων τιμών"
msgid "Compute {func} of the arguments" msgid "Compute {func} of the arguments"
msgstr "Υπολογίστε τη {func} των ορισμάτων" msgstr "Υπολογίστε τη {func} των ορισμάτων"
#: searx/engines/boardreader.py:108 #: searx/engines/boardreader.py:107
#, python-brace-format #, python-brace-format
msgid "Posted by {author}" msgid "Posted by {author}"
msgstr "Δημοσιεύτηκε απο {author}" msgstr "Δημοσιεύτηκε απο {author}"
@@ -666,19 +667,19 @@ msgstr "{title} (ΠΑΡΩΧΗΜΕΝΟΣ)"
msgid "This entry has been superseded by" msgid "This entry has been superseded by"
msgstr "Αυτή η καταχώριση έχει αντικατασταθεί από" msgstr "Αυτή η καταχώριση έχει αντικατασταθεί από"
#: searx/engines/qwant.py:288 #: searx/engines/qwant.py:260
msgid "Channel" msgid "Channel"
msgstr "Κανάλι" msgstr "Κανάλι"
#: searx/engines/radio_browser.py:162 #: searx/engines/radio_browser.py:161
msgid "bitrate" msgid "bitrate"
msgstr "ρυθμός μετάδοσης" msgstr "ρυθμός μετάδοσης"
#: searx/engines/radio_browser.py:163 #: searx/engines/radio_browser.py:162
msgid "votes" msgid "votes"
msgstr "ψήφους" msgstr "ψήφους"
#: searx/engines/radio_browser.py:164 #: searx/engines/radio_browser.py:163
msgid "clicks" msgid "clicks"
msgstr "κλικ" msgstr "κλικ"
@@ -714,15 +715,15 @@ msgstr ""
msgid "The image could not be downloaded." msgid "The image could not be downloaded."
msgstr "Αποτυχία μεταφόρτωσης εικόνας." msgstr "Αποτυχία μεταφόρτωσης εικόνας."
#: searx/engines/zlibrary.py:80 #: searx/engines/zlibrary.py:79
msgid "Language" msgid "Language"
msgstr "Γλώσσα" msgstr "Γλώσσα"
#: searx/engines/zlibrary.py:81 #: searx/engines/zlibrary.py:80
msgid "Book rating" msgid "Book rating"
msgstr "Βαθμολογία βιβλίου" msgstr "Βαθμολογία βιβλίου"
#: searx/engines/zlibrary.py:82 #: searx/engines/zlibrary.py:81
msgid "File quality" msgid "File quality"
msgstr "Ποιότητα αρχείου" msgstr "Ποιότητα αρχείου"
@@ -1015,7 +1016,6 @@ msgid "Privacy"
msgstr "Ιδιωτικότητα" msgstr "Ιδιωτικότητα"
#: searx/templates/simple/preferences.html:235 #: searx/templates/simple/preferences.html:235
#: searx/templates/simple/result_templates/images.html:63
msgid "Engines" msgid "Engines"
msgstr "Μηχανές" msgstr "Μηχανές"
@@ -1669,6 +1669,10 @@ msgstr ""
msgid "original format" msgid "original format"
msgstr "" msgstr ""
#: searx/templates/simple/result_templates/images.html:63
msgid "Engine"
msgstr "Μηχανή"
#: searx/templates/simple/result_templates/images.html:64 #: searx/templates/simple/result_templates/images.html:64
msgid "View source" msgid "View source"
msgstr "Προβολή πηγής" msgstr "Προβολή πηγής"
@@ -2435,7 +2439,3 @@ msgstr "απόκρυψη βίντεο"
#~ msgid "Format" #~ msgid "Format"
#~ msgstr "Μορφή" #~ msgstr "Μορφή"
#~ msgid "Engine"
#~ msgstr "Μηχανή"

View File

@@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2026-07-15 15:45+0000\n" "POT-Creation-Date: 2026-06-13 11:31+0000\n"
"PO-Revision-Date: 2014-01-30 15:22+0100\n" "PO-Revision-Date: 2014-01-30 15:22+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n" "Language: en\n"
@@ -59,7 +59,7 @@ msgid "videos"
msgstr "" msgstr ""
#. CATEGORY_NAMES['RADIO'] #. CATEGORY_NAMES['RADIO']
#: searx/engines/radio_browser.py:160 searx/searxng.msg #: searx/engines/radio_browser.py:159 searx/searxng.msg
msgid "radio" msgid "radio"
msgstr "" msgstr ""
@@ -533,7 +533,7 @@ msgstr ""
msgid "No item found" msgid "No item found"
msgstr "" msgstr ""
#: searx/engines/qwant.py:286 #: searx/engines/qwant.py:258
#: searx/templates/simple/result_templates/images.html:62 searx/webapp.py:328 #: searx/templates/simple/result_templates/images.html:62 searx/webapp.py:328
msgid "Source" msgid "Source"
msgstr "" msgstr ""
@@ -629,7 +629,7 @@ msgstr ""
msgid "Compute {func} of the arguments" msgid "Compute {func} of the arguments"
msgstr "" msgstr ""
#: searx/engines/boardreader.py:108 #: searx/engines/boardreader.py:107
#, python-brace-format #, python-brace-format
msgid "Posted by {author}" msgid "Posted by {author}"
msgstr "" msgstr ""
@@ -647,19 +647,19 @@ msgstr ""
msgid "This entry has been superseded by" msgid "This entry has been superseded by"
msgstr "" msgstr ""
#: searx/engines/qwant.py:288 #: searx/engines/qwant.py:260
msgid "Channel" msgid "Channel"
msgstr "" msgstr ""
#: searx/engines/radio_browser.py:162 #: searx/engines/radio_browser.py:161
msgid "bitrate" msgid "bitrate"
msgstr "" msgstr ""
#: searx/engines/radio_browser.py:163 #: searx/engines/radio_browser.py:162
msgid "votes" msgid "votes"
msgstr "" msgstr ""
#: searx/engines/radio_browser.py:164 #: searx/engines/radio_browser.py:163
msgid "clicks" msgid "clicks"
msgstr "" msgstr ""
@@ -687,15 +687,15 @@ msgstr ""
msgid "The image could not be downloaded." msgid "The image could not be downloaded."
msgstr "" msgstr ""
#: searx/engines/zlibrary.py:80 #: searx/engines/zlibrary.py:79
msgid "Language" msgid "Language"
msgstr "" msgstr ""
#: searx/engines/zlibrary.py:81 #: searx/engines/zlibrary.py:80
msgid "Book rating" msgid "Book rating"
msgstr "" msgstr ""
#: searx/engines/zlibrary.py:82 #: searx/engines/zlibrary.py:81
msgid "File quality" msgid "File quality"
msgstr "" msgstr ""
@@ -973,7 +973,6 @@ msgid "Privacy"
msgstr "" msgstr ""
#: searx/templates/simple/preferences.html:235 #: searx/templates/simple/preferences.html:235
#: searx/templates/simple/result_templates/images.html:63
msgid "Engines" msgid "Engines"
msgstr "" msgstr ""
@@ -1598,6 +1597,10 @@ msgstr ""
msgid "original format" msgid "original format"
msgstr "" msgstr ""
#: searx/templates/simple/result_templates/images.html:63
msgid "Engine"
msgstr ""
#: searx/templates/simple/result_templates/images.html:64 #: searx/templates/simple/result_templates/images.html:64
msgid "View source" msgid "View source"
msgstr "" msgstr ""
@@ -2284,6 +2287,3 @@ msgstr ""
#~ msgid "Format" #~ msgid "Format"
#~ msgstr "" #~ msgstr ""
#~ msgid "Engine"
#~ msgstr ""

View File

@@ -23,7 +23,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: searx\n" "Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2026-07-15 15:45+0000\n" "POT-Creation-Date: 2026-06-13 11:31+0000\n"
"PO-Revision-Date: 2026-05-19 12:07+0000\n" "PO-Revision-Date: 2026-05-19 12:07+0000\n"
"Last-Translator: return42 <return42@noreply.codeberg.org>\n" "Last-Translator: return42 <return42@noreply.codeberg.org>\n"
"Language: eo\n" "Language: eo\n"
@@ -76,7 +76,7 @@ msgid "videos"
msgstr "videoj" msgstr "videoj"
#. CATEGORY_NAMES['RADIO'] #. CATEGORY_NAMES['RADIO']
#: searx/engines/radio_browser.py:160 searx/searxng.msg #: searx/engines/radio_browser.py:159 searx/searxng.msg
msgid "radio" msgid "radio"
msgstr "radio" msgstr "radio"
@@ -550,7 +550,7 @@ msgstr ""
msgid "No item found" msgid "No item found"
msgstr "Nenio trovita" msgstr "Nenio trovita"
#: searx/engines/qwant.py:286 #: searx/engines/qwant.py:258
#: searx/templates/simple/result_templates/images.html:62 searx/webapp.py:328 #: searx/templates/simple/result_templates/images.html:62 searx/webapp.py:328
msgid "Source" msgid "Source"
msgstr "Fonto" msgstr "Fonto"
@@ -646,7 +646,7 @@ msgstr "Generi diversajn hazardajn valorojn"
msgid "Compute {func} of the arguments" msgid "Compute {func} of the arguments"
msgstr "" msgstr ""
#: searx/engines/boardreader.py:108 #: searx/engines/boardreader.py:107
#, python-brace-format #, python-brace-format
msgid "Posted by {author}" msgid "Posted by {author}"
msgstr "" msgstr ""
@@ -664,19 +664,19 @@ msgstr "{title} (MALAKTUALA)"
msgid "This entry has been superseded by" msgid "This entry has been superseded by"
msgstr "Tiu ĉi enigo estis anstataŭigita per" msgstr "Tiu ĉi enigo estis anstataŭigita per"
#: searx/engines/qwant.py:288 #: searx/engines/qwant.py:260
msgid "Channel" msgid "Channel"
msgstr "Kanalo" msgstr "Kanalo"
#: searx/engines/radio_browser.py:162 #: searx/engines/radio_browser.py:161
msgid "bitrate" msgid "bitrate"
msgstr "bito-rapido" msgstr "bito-rapido"
#: searx/engines/radio_browser.py:163 #: searx/engines/radio_browser.py:162
msgid "votes" msgid "votes"
msgstr "voĉoj" msgstr "voĉoj"
#: searx/engines/radio_browser.py:164 #: searx/engines/radio_browser.py:163
msgid "clicks" msgid "clicks"
msgstr "klakoj" msgstr "klakoj"
@@ -711,15 +711,15 @@ msgstr ""
msgid "The image could not be downloaded." msgid "The image could not be downloaded."
msgstr "La bildo ne eblis elŝuti." msgstr "La bildo ne eblis elŝuti."
#: searx/engines/zlibrary.py:80 #: searx/engines/zlibrary.py:79
msgid "Language" msgid "Language"
msgstr "Lingvo" msgstr "Lingvo"
#: searx/engines/zlibrary.py:81 #: searx/engines/zlibrary.py:80
msgid "Book rating" msgid "Book rating"
msgstr "Taksado de libro" msgstr "Taksado de libro"
#: searx/engines/zlibrary.py:82 #: searx/engines/zlibrary.py:81
msgid "File quality" msgid "File quality"
msgstr "Dosiera kvalito" msgstr "Dosiera kvalito"
@@ -1002,7 +1002,6 @@ msgid "Privacy"
msgstr "Privateco" msgstr "Privateco"
#: searx/templates/simple/preferences.html:235 #: searx/templates/simple/preferences.html:235
#: searx/templates/simple/result_templates/images.html:63
msgid "Engines" msgid "Engines"
msgstr "Serĉiloj" msgstr "Serĉiloj"
@@ -1641,6 +1640,10 @@ msgstr ""
msgid "original format" msgid "original format"
msgstr "" msgstr ""
#: searx/templates/simple/result_templates/images.html:63
msgid "Engine"
msgstr "Serĉilo"
#: searx/templates/simple/result_templates/images.html:64 #: searx/templates/simple/result_templates/images.html:64
msgid "View source" msgid "View source"
msgstr "Vidi fonton" msgstr "Vidi fonton"
@@ -2372,6 +2375,3 @@ msgstr "kaŝi videojn"
#~ msgid "Format" #~ msgid "Format"
#~ msgstr "Formato" #~ msgstr "Formato"
#~ msgid "Engine"
#~ msgstr "Serĉilo"

View File

@@ -52,16 +52,17 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: searx\n" "Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2026-07-15 15:45+0000\n" "POT-Creation-Date: 2026-06-13 11:31+0000\n"
"PO-Revision-Date: 2026-06-14 13:07+0000\n" "PO-Revision-Date: 2026-06-14 13:07+0000\n"
"Last-Translator: gallegonovato <gallegonovato@noreply.codeberg.org>\n" "Last-Translator: gallegonovato <gallegonovato@noreply.codeberg.org>\n"
"Language-Team: Spanish <https://translate.codeberg.org/projects/searxng/"
"searxng/es/>\n"
"Language: es\n" "Language: es\n"
"Language-Team: Spanish "
"<https://translate.codeberg.org/projects/searxng/searxng/es/>\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 2026.6.1\n"
"Generated-By: Babel 2.18.0\n" "Generated-By: Babel 2.18.0\n"
#. CONSTANT_NAMES['NO_SUBGROUPING'] #. CONSTANT_NAMES['NO_SUBGROUPING']
@@ -105,7 +106,7 @@ msgid "videos"
msgstr "vídeos" msgstr "vídeos"
#. CATEGORY_NAMES['RADIO'] #. CATEGORY_NAMES['RADIO']
#: searx/engines/radio_browser.py:160 searx/searxng.msg #: searx/engines/radio_browser.py:159 searx/searxng.msg
msgid "radio" msgid "radio"
msgstr "radio" msgstr "radio"
@@ -579,7 +580,7 @@ msgstr "contestado"
msgid "No item found" msgid "No item found"
msgstr "Ningún artículo encontrado" msgstr "Ningún artículo encontrado"
#: searx/engines/qwant.py:286 #: searx/engines/qwant.py:258
#: searx/templates/simple/result_templates/images.html:62 searx/webapp.py:328 #: searx/templates/simple/result_templates/images.html:62 searx/webapp.py:328
msgid "Source" msgid "Source"
msgstr "Fuente" msgstr "Fuente"
@@ -675,7 +676,7 @@ msgstr "Generar varios valores aleatorios"
msgid "Compute {func} of the arguments" msgid "Compute {func} of the arguments"
msgstr "Calcular {func} de los argumentos" msgstr "Calcular {func} de los argumentos"
#: searx/engines/boardreader.py:108 #: searx/engines/boardreader.py:107
#, python-brace-format #, python-brace-format
msgid "Posted by {author}" msgid "Posted by {author}"
msgstr "Publicado por {author}" msgstr "Publicado por {author}"
@@ -693,19 +694,19 @@ msgstr "{title} (OBSOLETO)"
msgid "This entry has been superseded by" msgid "This entry has been superseded by"
msgstr "Esta entrada ha sido sustituida por" msgstr "Esta entrada ha sido sustituida por"
#: searx/engines/qwant.py:288 #: searx/engines/qwant.py:260
msgid "Channel" msgid "Channel"
msgstr "Canal" msgstr "Canal"
#: searx/engines/radio_browser.py:162 #: searx/engines/radio_browser.py:161
msgid "bitrate" msgid "bitrate"
msgstr "bitrate" msgstr "bitrate"
#: searx/engines/radio_browser.py:163 #: searx/engines/radio_browser.py:162
msgid "votes" msgid "votes"
msgstr "votos" msgstr "votos"
#: searx/engines/radio_browser.py:164 #: searx/engines/radio_browser.py:163
msgid "clicks" msgid "clicks"
msgstr "clics" msgstr "clics"
@@ -740,15 +741,15 @@ msgstr ""
msgid "The image could not be downloaded." msgid "The image could not be downloaded."
msgstr "No se pudo descargar la imagen." msgstr "No se pudo descargar la imagen."
#: searx/engines/zlibrary.py:80 #: searx/engines/zlibrary.py:79
msgid "Language" msgid "Language"
msgstr "Idioma" msgstr "Idioma"
#: searx/engines/zlibrary.py:81 #: searx/engines/zlibrary.py:80
msgid "Book rating" msgid "Book rating"
msgstr "Valoración del libro" msgstr "Valoración del libro"
#: searx/engines/zlibrary.py:82 #: searx/engines/zlibrary.py:81
msgid "File quality" msgid "File quality"
msgstr "Calidad del archivo" msgstr "Calidad del archivo"
@@ -1041,7 +1042,6 @@ msgid "Privacy"
msgstr "Privacidad" msgstr "Privacidad"
#: searx/templates/simple/preferences.html:235 #: searx/templates/simple/preferences.html:235
#: searx/templates/simple/result_templates/images.html:63
msgid "Engines" msgid "Engines"
msgstr "Motores" msgstr "Motores"
@@ -1688,6 +1688,10 @@ msgstr "Formatos de imagen"
msgid "original format" msgid "original format"
msgstr "formato original" msgstr "formato original"
#: searx/templates/simple/result_templates/images.html:63
msgid "Engine"
msgstr "Motor"
#: searx/templates/simple/result_templates/images.html:64 #: searx/templates/simple/result_templates/images.html:64
msgid "View source" msgid "View source"
msgstr "Ver fuente" msgstr "Ver fuente"
@@ -2459,7 +2463,3 @@ msgstr "ocultar video"
#~ msgid "Format" #~ msgid "Format"
#~ msgstr "Formato" #~ msgstr "Formato"
#~ msgid "Engine"
#~ msgstr "Motor"

View File

@@ -21,16 +21,17 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: searx\n" "Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2026-07-15 15:45+0000\n" "POT-Creation-Date: 2026-06-13 11:31+0000\n"
"PO-Revision-Date: 2026-06-14 13:07+0000\n" "PO-Revision-Date: 2026-06-14 13:07+0000\n"
"Last-Translator: Priit Jõerüüt <jrtcdbrg@noreply.codeberg.org>\n" "Last-Translator: Priit Jõerüüt <jrtcdbrg@noreply.codeberg.org>\n"
"Language-Team: Estonian <https://translate.codeberg.org/projects/searxng/"
"searxng/et/>\n"
"Language: et\n" "Language: et\n"
"Language-Team: Estonian "
"<https://translate.codeberg.org/projects/searxng/searxng/et/>\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 2026.6.1\n"
"Generated-By: Babel 2.18.0\n" "Generated-By: Babel 2.18.0\n"
#. CONSTANT_NAMES['NO_SUBGROUPING'] #. CONSTANT_NAMES['NO_SUBGROUPING']
@@ -74,7 +75,7 @@ msgid "videos"
msgstr "videod" msgstr "videod"
#. CATEGORY_NAMES['RADIO'] #. CATEGORY_NAMES['RADIO']
#: searx/engines/radio_browser.py:160 searx/searxng.msg #: searx/engines/radio_browser.py:159 searx/searxng.msg
msgid "radio" msgid "radio"
msgstr "raadio" msgstr "raadio"
@@ -548,7 +549,7 @@ msgstr "vastatud"
msgid "No item found" msgid "No item found"
msgstr "Üksust ei leitud" msgstr "Üksust ei leitud"
#: searx/engines/qwant.py:286 #: searx/engines/qwant.py:258
#: searx/templates/simple/result_templates/images.html:62 searx/webapp.py:328 #: searx/templates/simple/result_templates/images.html:62 searx/webapp.py:328
msgid "Source" msgid "Source"
msgstr "Allikas" msgstr "Allikas"
@@ -644,7 +645,7 @@ msgstr "Genereeri erinevaid juhuslikke väärtusi"
msgid "Compute {func} of the arguments" msgid "Compute {func} of the arguments"
msgstr "Arvuta argumentidest {func}" msgstr "Arvuta argumentidest {func}"
#: searx/engines/boardreader.py:108 #: searx/engines/boardreader.py:107
#, python-brace-format #, python-brace-format
msgid "Posted by {author}" msgid "Posted by {author}"
msgstr "Postituse autor on {author}" msgstr "Postituse autor on {author}"
@@ -662,19 +663,19 @@ msgstr "{title} (VANANENUD)"
msgid "This entry has been superseded by" msgid "This entry has been superseded by"
msgstr "See üksus on asendatud" msgstr "See üksus on asendatud"
#: searx/engines/qwant.py:288 #: searx/engines/qwant.py:260
msgid "Channel" msgid "Channel"
msgstr "Kanal" msgstr "Kanal"
#: searx/engines/radio_browser.py:162 #: searx/engines/radio_browser.py:161
msgid "bitrate" msgid "bitrate"
msgstr "bitikiirus" msgstr "bitikiirus"
#: searx/engines/radio_browser.py:163 #: searx/engines/radio_browser.py:162
msgid "votes" msgid "votes"
msgstr "hääled" msgstr "hääled"
#: searx/engines/radio_browser.py:164 #: searx/engines/radio_browser.py:163
msgid "clicks" msgid "clicks"
msgstr "klikid" msgstr "klikid"
@@ -709,15 +710,15 @@ msgstr ""
msgid "The image could not be downloaded." msgid "The image could not be downloaded."
msgstr "Pilti ei saanud alla laadida." msgstr "Pilti ei saanud alla laadida."
#: searx/engines/zlibrary.py:80 #: searx/engines/zlibrary.py:79
msgid "Language" msgid "Language"
msgstr "Keel" msgstr "Keel"
#: searx/engines/zlibrary.py:81 #: searx/engines/zlibrary.py:80
msgid "Book rating" msgid "Book rating"
msgstr "Raamatu hinnang" msgstr "Raamatu hinnang"
#: searx/engines/zlibrary.py:82 #: searx/engines/zlibrary.py:81
msgid "File quality" msgid "File quality"
msgstr "Faili kvaliteet" msgstr "Faili kvaliteet"
@@ -1010,7 +1011,6 @@ msgid "Privacy"
msgstr "Privaatsus" msgstr "Privaatsus"
#: searx/templates/simple/preferences.html:235 #: searx/templates/simple/preferences.html:235
#: searx/templates/simple/result_templates/images.html:63
msgid "Engines" msgid "Engines"
msgstr "Otsingumootorid" msgstr "Otsingumootorid"
@@ -1653,6 +1653,10 @@ msgstr "Pildivormingud"
msgid "original format" msgid "original format"
msgstr "algne vorming" msgstr "algne vorming"
#: searx/templates/simple/result_templates/images.html:63
msgid "Engine"
msgstr "Otsingumootor"
#: searx/templates/simple/result_templates/images.html:64 #: searx/templates/simple/result_templates/images.html:64
msgid "View source" msgid "View source"
msgstr "Vaata lähtekoodi" msgstr "Vaata lähtekoodi"
@@ -2393,7 +2397,3 @@ msgstr "peida video"
#~ msgid "Format" #~ msgid "Format"
#~ msgstr "Vorming" #~ msgstr "Vorming"
#~ msgid "Engine"
#~ msgstr "Otsingumootor"

View File

@@ -20,7 +20,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: searx\n" "Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2026-07-15 15:45+0000\n" "POT-Creation-Date: 2026-06-13 11:31+0000\n"
"PO-Revision-Date: 2026-05-01 07:50+0000\n" "PO-Revision-Date: 2026-05-01 07:50+0000\n"
"Last-Translator: alexgabi <alexgabi@noreply.codeberg.org>\n" "Last-Translator: alexgabi <alexgabi@noreply.codeberg.org>\n"
"Language: eu\n" "Language: eu\n"
@@ -73,7 +73,7 @@ msgid "videos"
msgstr "bideoak" msgstr "bideoak"
#. CATEGORY_NAMES['RADIO'] #. CATEGORY_NAMES['RADIO']
#: searx/engines/radio_browser.py:160 searx/searxng.msg #: searx/engines/radio_browser.py:159 searx/searxng.msg
msgid "radio" msgid "radio"
msgstr "irratia" msgstr "irratia"
@@ -547,7 +547,7 @@ msgstr "erantzunda"
msgid "No item found" msgid "No item found"
msgstr "Ez da elementurik aurkitu" msgstr "Ez da elementurik aurkitu"
#: searx/engines/qwant.py:286 #: searx/engines/qwant.py:258
#: searx/templates/simple/result_templates/images.html:62 searx/webapp.py:328 #: searx/templates/simple/result_templates/images.html:62 searx/webapp.py:328
msgid "Source" msgid "Source"
msgstr "Iturria" msgstr "Iturria"
@@ -643,7 +643,7 @@ msgstr "Ausazko balio ezberdinak sortu"
msgid "Compute {func} of the arguments" msgid "Compute {func} of the arguments"
msgstr "Kalkulatu argumentuen {func}" msgstr "Kalkulatu argumentuen {func}"
#: searx/engines/boardreader.py:108 #: searx/engines/boardreader.py:107
#, python-brace-format #, python-brace-format
msgid "Posted by {author}" msgid "Posted by {author}"
msgstr "{author}-k argitaratuta" msgstr "{author}-k argitaratuta"
@@ -661,19 +661,19 @@ msgstr "{title} (ZAHARKITUA)"
msgid "This entry has been superseded by" msgid "This entry has been superseded by"
msgstr "Sarrera hau hurrengoarekin ordezkatu da" msgstr "Sarrera hau hurrengoarekin ordezkatu da"
#: searx/engines/qwant.py:288 #: searx/engines/qwant.py:260
msgid "Channel" msgid "Channel"
msgstr "Kanala" msgstr "Kanala"
#: searx/engines/radio_browser.py:162 #: searx/engines/radio_browser.py:161
msgid "bitrate" msgid "bitrate"
msgstr "bit emaria" msgstr "bit emaria"
#: searx/engines/radio_browser.py:163 #: searx/engines/radio_browser.py:162
msgid "votes" msgid "votes"
msgstr "botoak" msgstr "botoak"
#: searx/engines/radio_browser.py:164 #: searx/engines/radio_browser.py:163
msgid "clicks" msgid "clicks"
msgstr "klikak" msgstr "klikak"
@@ -708,15 +708,15 @@ msgstr ""
msgid "The image could not be downloaded." msgid "The image could not be downloaded."
msgstr "Ezin izan da deskargatu irudia." msgstr "Ezin izan da deskargatu irudia."
#: searx/engines/zlibrary.py:80 #: searx/engines/zlibrary.py:79
msgid "Language" msgid "Language"
msgstr "Hizkuntza" msgstr "Hizkuntza"
#: searx/engines/zlibrary.py:81 #: searx/engines/zlibrary.py:80
msgid "Book rating" msgid "Book rating"
msgstr "Liburuaren balorazioa" msgstr "Liburuaren balorazioa"
#: searx/engines/zlibrary.py:82 #: searx/engines/zlibrary.py:81
msgid "File quality" msgid "File quality"
msgstr "Fitxategiaren kalitatea" msgstr "Fitxategiaren kalitatea"
@@ -1007,7 +1007,6 @@ msgid "Privacy"
msgstr "Pribatutasuna" msgstr "Pribatutasuna"
#: searx/templates/simple/preferences.html:235 #: searx/templates/simple/preferences.html:235
#: searx/templates/simple/result_templates/images.html:63
msgid "Engines" msgid "Engines"
msgstr "Bilatzaileak" msgstr "Bilatzaileak"
@@ -1652,6 +1651,10 @@ msgstr ""
msgid "original format" msgid "original format"
msgstr "" msgstr ""
#: searx/templates/simple/result_templates/images.html:63
msgid "Engine"
msgstr "Bilatzailea"
#: searx/templates/simple/result_templates/images.html:64 #: searx/templates/simple/result_templates/images.html:64
msgid "View source" msgid "View source"
msgstr "Ikusi iturria" msgstr "Ikusi iturria"
@@ -2392,6 +2395,3 @@ msgstr "ezkutatu bideoa"
#~ msgid "Format" #~ msgid "Format"
#~ msgstr "Formatua" #~ msgstr "Formatua"
#~ msgid "Engine"
#~ msgstr "Bilatzailea"

View File

@@ -29,7 +29,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: searx\n" "Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2026-07-15 15:45+0000\n" "POT-Creation-Date: 2026-06-13 11:31+0000\n"
"PO-Revision-Date: 2026-05-19 12:07+0000\n" "PO-Revision-Date: 2026-05-19 12:07+0000\n"
"Last-Translator: return42 <return42@noreply.codeberg.org>\n" "Last-Translator: return42 <return42@noreply.codeberg.org>\n"
"Language: fa_IR\n" "Language: fa_IR\n"
@@ -82,7 +82,7 @@ msgid "videos"
msgstr "ویدیوها" msgstr "ویدیوها"
#. CATEGORY_NAMES['RADIO'] #. CATEGORY_NAMES['RADIO']
#: searx/engines/radio_browser.py:160 searx/searxng.msg #: searx/engines/radio_browser.py:159 searx/searxng.msg
msgid "radio" msgid "radio"
msgstr "رادیو" msgstr "رادیو"
@@ -556,7 +556,7 @@ msgstr "جواب داده شده"
msgid "No item found" msgid "No item found"
msgstr "چیزی پیدا نشد" msgstr "چیزی پیدا نشد"
#: searx/engines/qwant.py:286 #: searx/engines/qwant.py:258
#: searx/templates/simple/result_templates/images.html:62 searx/webapp.py:328 #: searx/templates/simple/result_templates/images.html:62 searx/webapp.py:328
msgid "Source" msgid "Source"
msgstr "منبع" msgstr "منبع"
@@ -652,7 +652,7 @@ msgstr "ایجاد مقادیر تصادفی متفاوت"
msgid "Compute {func} of the arguments" msgid "Compute {func} of the arguments"
msgstr "Compute {func} of the arguments" msgstr "Compute {func} of the arguments"
#: searx/engines/boardreader.py:108 #: searx/engines/boardreader.py:107
#, python-brace-format #, python-brace-format
msgid "Posted by {author}" msgid "Posted by {author}"
msgstr "" msgstr ""
@@ -670,19 +670,19 @@ msgstr "{title} (منسوخ شده)"
msgid "This entry has been superseded by" msgid "This entry has been superseded by"
msgstr "این ورودی معلق شده است، توسط" msgstr "این ورودی معلق شده است، توسط"
#: searx/engines/qwant.py:288 #: searx/engines/qwant.py:260
msgid "Channel" msgid "Channel"
msgstr "کانال" msgstr "کانال"
#: searx/engines/radio_browser.py:162 #: searx/engines/radio_browser.py:161
msgid "bitrate" msgid "bitrate"
msgstr "بیت ریت" msgstr "بیت ریت"
#: searx/engines/radio_browser.py:163 #: searx/engines/radio_browser.py:162
msgid "votes" msgid "votes"
msgstr "رای ها" msgstr "رای ها"
#: searx/engines/radio_browser.py:164 #: searx/engines/radio_browser.py:163
msgid "clicks" msgid "clicks"
msgstr "کلیک ها" msgstr "کلیک ها"
@@ -717,15 +717,15 @@ msgstr ""
msgid "The image could not be downloaded." msgid "The image could not be downloaded."
msgstr "تصویر نمیتواند دانلود شود." msgstr "تصویر نمیتواند دانلود شود."
#: searx/engines/zlibrary.py:80 #: searx/engines/zlibrary.py:79
msgid "Language" msgid "Language"
msgstr "زبان" msgstr "زبان"
#: searx/engines/zlibrary.py:81 #: searx/engines/zlibrary.py:80
msgid "Book rating" msgid "Book rating"
msgstr "رتبه بندی کتاب" msgstr "رتبه بندی کتاب"
#: searx/engines/zlibrary.py:82 #: searx/engines/zlibrary.py:81
msgid "File quality" msgid "File quality"
msgstr "کیفیت فایل" msgstr "کیفیت فایل"
@@ -1010,7 +1010,6 @@ msgid "Privacy"
msgstr "حریم شخصی" msgstr "حریم شخصی"
#: searx/templates/simple/preferences.html:235 #: searx/templates/simple/preferences.html:235
#: searx/templates/simple/result_templates/images.html:63
msgid "Engines" msgid "Engines"
msgstr "موتورها" msgstr "موتورها"
@@ -1651,6 +1650,10 @@ msgstr ""
msgid "original format" msgid "original format"
msgstr "" msgstr ""
#: searx/templates/simple/result_templates/images.html:63
msgid "Engine"
msgstr "موتور"
#: searx/templates/simple/result_templates/images.html:64 #: searx/templates/simple/result_templates/images.html:64
msgid "View source" msgid "View source"
msgstr "نمایش منبع" msgstr "نمایش منبع"
@@ -2404,6 +2407,3 @@ msgstr "پنهان‌سازی ویدئو"
#~ msgid "Format" #~ msgid "Format"
#~ msgstr "قالب" #~ msgstr "قالب"
#~ msgid "Engine"
#~ msgstr "موتور"

View File

@@ -23,7 +23,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: searx\n" "Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2026-07-15 15:45+0000\n" "POT-Creation-Date: 2026-06-13 11:31+0000\n"
"PO-Revision-Date: 2026-05-19 12:07+0000\n" "PO-Revision-Date: 2026-05-19 12:07+0000\n"
"Last-Translator: return42 <return42@noreply.codeberg.org>\n" "Last-Translator: return42 <return42@noreply.codeberg.org>\n"
"Language: fi\n" "Language: fi\n"
@@ -76,7 +76,7 @@ msgid "videos"
msgstr "videot" msgstr "videot"
#. CATEGORY_NAMES['RADIO'] #. CATEGORY_NAMES['RADIO']
#: searx/engines/radio_browser.py:160 searx/searxng.msg #: searx/engines/radio_browser.py:159 searx/searxng.msg
msgid "radio" msgid "radio"
msgstr "radio" msgstr "radio"
@@ -550,7 +550,7 @@ msgstr "vastattu"
msgid "No item found" msgid "No item found"
msgstr "Tietuetta ei löytynyt" msgstr "Tietuetta ei löytynyt"
#: searx/engines/qwant.py:286 #: searx/engines/qwant.py:258
#: searx/templates/simple/result_templates/images.html:62 searx/webapp.py:328 #: searx/templates/simple/result_templates/images.html:62 searx/webapp.py:328
msgid "Source" msgid "Source"
msgstr "Lähde" msgstr "Lähde"
@@ -646,7 +646,7 @@ msgstr "Generoi satunnaislukuja"
msgid "Compute {func} of the arguments" msgid "Compute {func} of the arguments"
msgstr "Laske argumenteista {func}" msgstr "Laske argumenteista {func}"
#: searx/engines/boardreader.py:108 #: searx/engines/boardreader.py:107
#, python-brace-format #, python-brace-format
msgid "Posted by {author}" msgid "Posted by {author}"
msgstr "Lähettäjä {author}" msgstr "Lähettäjä {author}"
@@ -664,19 +664,19 @@ msgstr "{title} (VANHENTUNUT)"
msgid "This entry has been superseded by" msgid "This entry has been superseded by"
msgstr "Tämän kohdan on korvannut" msgstr "Tämän kohdan on korvannut"
#: searx/engines/qwant.py:288 #: searx/engines/qwant.py:260
msgid "Channel" msgid "Channel"
msgstr "Kanava" msgstr "Kanava"
#: searx/engines/radio_browser.py:162 #: searx/engines/radio_browser.py:161
msgid "bitrate" msgid "bitrate"
msgstr "bittinopeus" msgstr "bittinopeus"
#: searx/engines/radio_browser.py:163 #: searx/engines/radio_browser.py:162
msgid "votes" msgid "votes"
msgstr "ääntä" msgstr "ääntä"
#: searx/engines/radio_browser.py:164 #: searx/engines/radio_browser.py:163
msgid "clicks" msgid "clicks"
msgstr "klikkaukset" msgstr "klikkaukset"
@@ -711,15 +711,15 @@ msgstr ""
msgid "The image could not be downloaded." msgid "The image could not be downloaded."
msgstr "Tätä kuvaa ei voida ladata." msgstr "Tätä kuvaa ei voida ladata."
#: searx/engines/zlibrary.py:80 #: searx/engines/zlibrary.py:79
msgid "Language" msgid "Language"
msgstr "Kieli" msgstr "Kieli"
#: searx/engines/zlibrary.py:81 #: searx/engines/zlibrary.py:80
msgid "Book rating" msgid "Book rating"
msgstr "Kirjan arvostelu" msgstr "Kirjan arvostelu"
#: searx/engines/zlibrary.py:82 #: searx/engines/zlibrary.py:81
msgid "File quality" msgid "File quality"
msgstr "Tiedoston laatu" msgstr "Tiedoston laatu"
@@ -1012,7 +1012,6 @@ msgid "Privacy"
msgstr "Yksityisyys" msgstr "Yksityisyys"
#: searx/templates/simple/preferences.html:235 #: searx/templates/simple/preferences.html:235
#: searx/templates/simple/result_templates/images.html:63
msgid "Engines" msgid "Engines"
msgstr "Hakukoneet" msgstr "Hakukoneet"
@@ -1656,6 +1655,10 @@ msgstr ""
msgid "original format" msgid "original format"
msgstr "" msgstr ""
#: searx/templates/simple/result_templates/images.html:63
msgid "Engine"
msgstr "Hakukone"
#: searx/templates/simple/result_templates/images.html:64 #: searx/templates/simple/result_templates/images.html:64
msgid "View source" msgid "View source"
msgstr "Näytä lähde" msgstr "Näytä lähde"
@@ -2411,6 +2414,3 @@ msgstr "piilota video"
#~ msgid "Format" #~ msgid "Format"
#~ msgstr "Muoto" #~ msgstr "Muoto"
#~ msgid "Engine"
#~ msgstr "Hakukone"

View File

@@ -22,17 +22,18 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: searx\n" "Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2026-07-15 15:45+0000\n" "POT-Creation-Date: 2026-06-13 11:31+0000\n"
"PO-Revision-Date: 2026-07-08 00:07+0000\n" "PO-Revision-Date: 2026-07-08 00:07+0000\n"
"Last-Translator: marc-lopez <marc-lopez@noreply.codeberg.org>\n" "Last-Translator: marc-lopez <marc-lopez@noreply.codeberg.org>\n"
"Language-Team: Filipino <https://translate.codeberg.org/projects/searxng/"
"searxng/fil/>\n"
"Language: fil\n" "Language: fil\n"
"Language-Team: Filipino "
"<https://translate.codeberg.org/projects/searxng/searxng/fil/>\n"
"Plural-Forms: nplurals=2; plural=(n == 1 || n==2 || n==3) || (n % 10 != 4"
" || n % 10 != 6 || n % 10 != 9);\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n == 1 || n==2 || n==3) || (n % 10 != 4 || "
"n % 10 != 6 || n % 10 != 9);\n"
"X-Generator: Weblate 2026.6.1\n"
"Generated-By: Babel 2.18.0\n" "Generated-By: Babel 2.18.0\n"
#. CONSTANT_NAMES['NO_SUBGROUPING'] #. CONSTANT_NAMES['NO_SUBGROUPING']
@@ -76,7 +77,7 @@ msgid "videos"
msgstr "mga bidyo" msgstr "mga bidyo"
#. CATEGORY_NAMES['RADIO'] #. CATEGORY_NAMES['RADIO']
#: searx/engines/radio_browser.py:160 searx/searxng.msg #: searx/engines/radio_browser.py:159 searx/searxng.msg
msgid "radio" msgid "radio"
msgstr "radyo" msgstr "radyo"
@@ -550,7 +551,7 @@ msgstr "sinagot"
msgid "No item found" msgid "No item found"
msgstr "Walang nakita na aytem" msgstr "Walang nakita na aytem"
#: searx/engines/qwant.py:286 #: searx/engines/qwant.py:258
#: searx/templates/simple/result_templates/images.html:62 searx/webapp.py:328 #: searx/templates/simple/result_templates/images.html:62 searx/webapp.py:328
msgid "Source" msgid "Source"
msgstr "Pinagmulan" msgstr "Pinagmulan"
@@ -646,7 +647,7 @@ msgstr "Maglabas ng iba't ibang halaga"
msgid "Compute {func} of the arguments" msgid "Compute {func} of the arguments"
msgstr "Ikwenta ang {func} ng mga argumento" msgstr "Ikwenta ang {func} ng mga argumento"
#: searx/engines/boardreader.py:108 #: searx/engines/boardreader.py:107
#, python-brace-format #, python-brace-format
msgid "Posted by {author}" msgid "Posted by {author}"
msgstr "" msgstr ""
@@ -664,19 +665,19 @@ msgstr "{title} (Luma)"
msgid "This entry has been superseded by" msgid "This entry has been superseded by"
msgstr "Ang tala na ito ay ipinagpaliban ng" msgstr "Ang tala na ito ay ipinagpaliban ng"
#: searx/engines/qwant.py:288 #: searx/engines/qwant.py:260
msgid "Channel" msgid "Channel"
msgstr "Tyanel" msgstr "Tyanel"
#: searx/engines/radio_browser.py:162 #: searx/engines/radio_browser.py:161
msgid "bitrate" msgid "bitrate"
msgstr "bitrate" msgstr "bitrate"
#: searx/engines/radio_browser.py:163 #: searx/engines/radio_browser.py:162
msgid "votes" msgid "votes"
msgstr "mga boto" msgstr "mga boto"
#: searx/engines/radio_browser.py:164 #: searx/engines/radio_browser.py:163
msgid "clicks" msgid "clicks"
msgstr "mga click" msgstr "mga click"
@@ -710,15 +711,15 @@ msgstr ""
msgid "The image could not be downloaded." msgid "The image could not be downloaded."
msgstr "Hindi ma-download ang imahe na ito." msgstr "Hindi ma-download ang imahe na ito."
#: searx/engines/zlibrary.py:80 #: searx/engines/zlibrary.py:79
msgid "Language" msgid "Language"
msgstr "Wika" msgstr "Wika"
#: searx/engines/zlibrary.py:81 #: searx/engines/zlibrary.py:80
msgid "Book rating" msgid "Book rating"
msgstr "rating ng libro" msgstr "rating ng libro"
#: searx/engines/zlibrary.py:82 #: searx/engines/zlibrary.py:81
msgid "File quality" msgid "File quality"
msgstr "Kalidad ng file" msgstr "Kalidad ng file"
@@ -1005,7 +1006,6 @@ msgid "Privacy"
msgstr "Pagiging Pribado" msgstr "Pagiging Pribado"
#: searx/templates/simple/preferences.html:235 #: searx/templates/simple/preferences.html:235
#: searx/templates/simple/result_templates/images.html:63
msgid "Engines" msgid "Engines"
msgstr "Engines" msgstr "Engines"
@@ -1652,6 +1652,10 @@ msgstr "Mga format ng larawan"
msgid "original format" msgid "original format"
msgstr "orihinal na format" msgstr "orihinal na format"
#: searx/templates/simple/result_templates/images.html:63
msgid "Engine"
msgstr "Engine"
#: searx/templates/simple/result_templates/images.html:64 #: searx/templates/simple/result_templates/images.html:64
msgid "View source" msgid "View source"
msgstr "Tignan ang source" msgstr "Tignan ang source"
@@ -2420,7 +2424,3 @@ msgstr "itago ang video"
#~ msgid "Format" #~ msgid "Format"
#~ msgstr "Anyo" #~ msgstr "Anyo"
#~ msgid "Engine"
#~ msgstr "Engine"

View File

@@ -49,16 +49,17 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: searx\n" "Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2026-07-15 15:45+0000\n" "POT-Creation-Date: 2026-06-13 11:31+0000\n"
"PO-Revision-Date: 2026-06-17 20:19+0000\n" "PO-Revision-Date: 2026-06-17 20:19+0000\n"
"Last-Translator: return42 <return42@noreply.codeberg.org>\n" "Last-Translator: return42 <return42@noreply.codeberg.org>\n"
"Language-Team: French <https://translate.codeberg.org/projects/searxng/"
"searxng/fr/>\n"
"Language: fr\n" "Language: fr\n"
"Language-Team: French "
"<https://translate.codeberg.org/projects/searxng/searxng/fr/>\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 2026.6.1\n"
"Generated-By: Babel 2.18.0\n" "Generated-By: Babel 2.18.0\n"
#. CONSTANT_NAMES['NO_SUBGROUPING'] #. CONSTANT_NAMES['NO_SUBGROUPING']
@@ -102,7 +103,7 @@ msgid "videos"
msgstr "vidéos" msgstr "vidéos"
#. CATEGORY_NAMES['RADIO'] #. CATEGORY_NAMES['RADIO']
#: searx/engines/radio_browser.py:160 searx/searxng.msg #: searx/engines/radio_browser.py:159 searx/searxng.msg
msgid "radio" msgid "radio"
msgstr "radio" msgstr "radio"
@@ -576,7 +577,7 @@ msgstr "répondu"
msgid "No item found" msgid "No item found"
msgstr "Pas d'élément trouvé" msgstr "Pas d'élément trouvé"
#: searx/engines/qwant.py:286 #: searx/engines/qwant.py:258
#: searx/templates/simple/result_templates/images.html:62 searx/webapp.py:328 #: searx/templates/simple/result_templates/images.html:62 searx/webapp.py:328
msgid "Source" msgid "Source"
msgstr "Source" msgstr "Source"
@@ -672,7 +673,7 @@ msgstr "Crée des valeurs aléatoires différentes"
msgid "Compute {func} of the arguments" msgid "Compute {func} of the arguments"
msgstr "Calcule les {func} des arguments" msgstr "Calcule les {func} des arguments"
#: searx/engines/boardreader.py:108 #: searx/engines/boardreader.py:107
#, python-brace-format #, python-brace-format
msgid "Posted by {author}" msgid "Posted by {author}"
msgstr "Publié par {author}" msgstr "Publié par {author}"
@@ -690,19 +691,19 @@ msgstr "{title} (OBSOLÈTE)"
msgid "This entry has been superseded by" msgid "This entry has been superseded by"
msgstr "Cet item a été remplacé par" msgstr "Cet item a été remplacé par"
#: searx/engines/qwant.py:288 #: searx/engines/qwant.py:260
msgid "Channel" msgid "Channel"
msgstr "Chaîne" msgstr "Chaîne"
#: searx/engines/radio_browser.py:162 #: searx/engines/radio_browser.py:161
msgid "bitrate" msgid "bitrate"
msgstr "débit" msgstr "débit"
#: searx/engines/radio_browser.py:163 #: searx/engines/radio_browser.py:162
msgid "votes" msgid "votes"
msgstr "voix" msgstr "voix"
#: searx/engines/radio_browser.py:164 #: searx/engines/radio_browser.py:163
msgid "clicks" msgid "clicks"
msgstr "clics" msgstr "clics"
@@ -738,15 +739,15 @@ msgstr ""
msgid "The image could not be downloaded." msgid "The image could not be downloaded."
msgstr "L'image n'a pas pu être téléchargée." msgstr "L'image n'a pas pu être téléchargée."
#: searx/engines/zlibrary.py:80 #: searx/engines/zlibrary.py:79
msgid "Language" msgid "Language"
msgstr "Langue" msgstr "Langue"
#: searx/engines/zlibrary.py:81 #: searx/engines/zlibrary.py:80
msgid "Book rating" msgid "Book rating"
msgstr "Évaluation du livre" msgstr "Évaluation du livre"
#: searx/engines/zlibrary.py:82 #: searx/engines/zlibrary.py:81
msgid "File quality" msgid "File quality"
msgstr "Qualité du fichier" msgstr "Qualité du fichier"
@@ -1041,7 +1042,6 @@ msgid "Privacy"
msgstr "Vie privée" msgstr "Vie privée"
#: searx/templates/simple/preferences.html:235 #: searx/templates/simple/preferences.html:235
#: searx/templates/simple/result_templates/images.html:63
msgid "Engines" msgid "Engines"
msgstr "Moteurs" msgstr "Moteurs"
@@ -1687,6 +1687,10 @@ msgstr "Formats d'images"
msgid "original format" msgid "original format"
msgstr "Format original" msgstr "Format original"
#: searx/templates/simple/result_templates/images.html:63
msgid "Engine"
msgstr "Moteur"
#: searx/templates/simple/result_templates/images.html:64 #: searx/templates/simple/result_templates/images.html:64
msgid "View source" msgid "View source"
msgstr "Voir la source" msgstr "Voir la source"
@@ -2466,7 +2470,3 @@ msgstr "cacher la vidéo"
#~ msgid "Format" #~ msgid "Format"
#~ msgstr "Format" #~ msgstr "Format"
#~ msgid "Engine"
#~ msgstr "Moteur"

View File

@@ -10,7 +10,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PROJECT VERSION\n" "Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2026-07-15 15:45+0000\n" "POT-Creation-Date: 2026-06-13 11:31+0000\n"
"PO-Revision-Date: 2026-05-05 12:37+0000\n" "PO-Revision-Date: 2026-05-05 12:37+0000\n"
"Last-Translator: Aindriú Mac Giolla Eoin <aindriu80@noreply.codeberg.org>" "Last-Translator: Aindriú Mac Giolla Eoin <aindriu80@noreply.codeberg.org>"
"\n" "\n"
@@ -65,7 +65,7 @@ msgid "videos"
msgstr "físeáin" msgstr "físeáin"
#. CATEGORY_NAMES['RADIO'] #. CATEGORY_NAMES['RADIO']
#: searx/engines/radio_browser.py:160 searx/searxng.msg #: searx/engines/radio_browser.py:159 searx/searxng.msg
msgid "radio" msgid "radio"
msgstr "raidió" msgstr "raidió"
@@ -539,7 +539,7 @@ msgstr "freagraí"
msgid "No item found" msgid "No item found"
msgstr "Níor aimsíodh aon rud" msgstr "Níor aimsíodh aon rud"
#: searx/engines/qwant.py:286 #: searx/engines/qwant.py:258
#: searx/templates/simple/result_templates/images.html:62 searx/webapp.py:328 #: searx/templates/simple/result_templates/images.html:62 searx/webapp.py:328
msgid "Source" msgid "Source"
msgstr "Foinse" msgstr "Foinse"
@@ -635,7 +635,7 @@ msgstr "Cruthaigh luachanna randamacha éag"
msgid "Compute {func} of the arguments" msgid "Compute {func} of the arguments"
msgstr "Ríomh {func} na n-argóintí" msgstr "Ríomh {func} na n-argóintí"
#: searx/engines/boardreader.py:108 #: searx/engines/boardreader.py:107
#, python-brace-format #, python-brace-format
msgid "Posted by {author}" msgid "Posted by {author}"
msgstr "Arna chur suas ag {author}" msgstr "Arna chur suas ag {author}"
@@ -653,19 +653,19 @@ msgstr "{title} (ÚSÁIDEACH)"
msgid "This entry has been superseded by" msgid "This entry has been superseded by"
msgstr "Cuireadh an iontráil seo in ionad ag" msgstr "Cuireadh an iontráil seo in ionad ag"
#: searx/engines/qwant.py:288 #: searx/engines/qwant.py:260
msgid "Channel" msgid "Channel"
msgstr "Cainéal" msgstr "Cainéal"
#: searx/engines/radio_browser.py:162 #: searx/engines/radio_browser.py:161
msgid "bitrate" msgid "bitrate"
msgstr "ráta giotán" msgstr "ráta giotán"
#: searx/engines/radio_browser.py:163 #: searx/engines/radio_browser.py:162
msgid "votes" msgid "votes"
msgstr "vótaí" msgstr "vótaí"
#: searx/engines/radio_browser.py:164 #: searx/engines/radio_browser.py:163
msgid "clicks" msgid "clicks"
msgstr "cliceáil" msgstr "cliceáil"
@@ -700,15 +700,15 @@ msgstr ""
msgid "The image could not be downloaded." msgid "The image could not be downloaded."
msgstr "Ní fhéadfaí an íomhá a íoslódáil." msgstr "Ní fhéadfaí an íomhá a íoslódáil."
#: searx/engines/zlibrary.py:80 #: searx/engines/zlibrary.py:79
msgid "Language" msgid "Language"
msgstr "Teanga" msgstr "Teanga"
#: searx/engines/zlibrary.py:81 #: searx/engines/zlibrary.py:80
msgid "Book rating" msgid "Book rating"
msgstr "Rátáil leabhar" msgstr "Rátáil leabhar"
#: searx/engines/zlibrary.py:82 #: searx/engines/zlibrary.py:81
msgid "File quality" msgid "File quality"
msgstr "Cáilíocht comhad" msgstr "Cáilíocht comhad"
@@ -1003,7 +1003,6 @@ msgid "Privacy"
msgstr "Príobháideacht" msgstr "Príobháideacht"
#: searx/templates/simple/preferences.html:235 #: searx/templates/simple/preferences.html:235
#: searx/templates/simple/result_templates/images.html:63
msgid "Engines" msgid "Engines"
msgstr "Innill" msgstr "Innill"
@@ -1652,6 +1651,10 @@ msgstr ""
msgid "original format" msgid "original format"
msgstr "" msgstr ""
#: searx/templates/simple/result_templates/images.html:63
msgid "Engine"
msgstr "Inneall"
#: searx/templates/simple/result_templates/images.html:64 #: searx/templates/simple/result_templates/images.html:64
msgid "View source" msgid "View source"
msgstr "Féach foinse" msgstr "Féach foinse"
@@ -1967,6 +1970,3 @@ msgstr "físeán a cheilt"
#~ msgid "Format" #~ msgid "Format"
#~ msgstr "Formáid" #~ msgstr "Formáid"
#~ msgid "Engine"
#~ msgstr "Inneall"

View File

@@ -16,16 +16,17 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: searx\n" "Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2026-07-15 15:45+0000\n" "POT-Creation-Date: 2026-06-13 11:31+0000\n"
"PO-Revision-Date: 2026-06-16 07:07+0000\n" "PO-Revision-Date: 2026-06-16 07:07+0000\n"
"Last-Translator: ghose <ghose@noreply.codeberg.org>\n" "Last-Translator: ghose <ghose@noreply.codeberg.org>\n"
"Language-Team: Galician <https://translate.codeberg.org/projects/searxng/"
"searxng/gl/>\n"
"Language: gl\n" "Language: gl\n"
"Language-Team: Galician "
"<https://translate.codeberg.org/projects/searxng/searxng/gl/>\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 2026.6.1\n"
"Generated-By: Babel 2.18.0\n" "Generated-By: Babel 2.18.0\n"
#. CONSTANT_NAMES['NO_SUBGROUPING'] #. CONSTANT_NAMES['NO_SUBGROUPING']
@@ -69,7 +70,7 @@ msgid "videos"
msgstr "vídeos" msgstr "vídeos"
#. CATEGORY_NAMES['RADIO'] #. CATEGORY_NAMES['RADIO']
#: searx/engines/radio_browser.py:160 searx/searxng.msg #: searx/engines/radio_browser.py:159 searx/searxng.msg
msgid "radio" msgid "radio"
msgstr "radio" msgstr "radio"
@@ -543,7 +544,7 @@ msgstr "respondido"
msgid "No item found" msgid "No item found"
msgstr "Non se atoparon elementos" msgstr "Non se atoparon elementos"
#: searx/engines/qwant.py:286 #: searx/engines/qwant.py:258
#: searx/templates/simple/result_templates/images.html:62 searx/webapp.py:328 #: searx/templates/simple/result_templates/images.html:62 searx/webapp.py:328
msgid "Source" msgid "Source"
msgstr "Fonte" msgstr "Fonte"
@@ -639,7 +640,7 @@ msgstr "Xerar diferentes valores aleatorios"
msgid "Compute {func} of the arguments" msgid "Compute {func} of the arguments"
msgstr "Cálculo {func} dos argumentos" msgstr "Cálculo {func} dos argumentos"
#: searx/engines/boardreader.py:108 #: searx/engines/boardreader.py:107
#, python-brace-format #, python-brace-format
msgid "Posted by {author}" msgid "Posted by {author}"
msgstr "Publicado por {author}" msgstr "Publicado por {author}"
@@ -657,19 +658,19 @@ msgstr "{title} (OBSOLETO)"
msgid "This entry has been superseded by" msgid "This entry has been superseded by"
msgstr "Esta entrada foi proporcionada por" msgstr "Esta entrada foi proporcionada por"
#: searx/engines/qwant.py:288 #: searx/engines/qwant.py:260
msgid "Channel" msgid "Channel"
msgstr "Canle" msgstr "Canle"
#: searx/engines/radio_browser.py:162 #: searx/engines/radio_browser.py:161
msgid "bitrate" msgid "bitrate"
msgstr "taxa de bits" msgstr "taxa de bits"
#: searx/engines/radio_browser.py:163 #: searx/engines/radio_browser.py:162
msgid "votes" msgid "votes"
msgstr "votos" msgstr "votos"
#: searx/engines/radio_browser.py:164 #: searx/engines/radio_browser.py:163
msgid "clicks" msgid "clicks"
msgstr "clicks" msgstr "clicks"
@@ -704,15 +705,15 @@ msgstr ""
msgid "The image could not be downloaded." msgid "The image could not be downloaded."
msgstr "Non se puido descargar a imaxe." msgstr "Non se puido descargar a imaxe."
#: searx/engines/zlibrary.py:80 #: searx/engines/zlibrary.py:79
msgid "Language" msgid "Language"
msgstr "Idioma" msgstr "Idioma"
#: searx/engines/zlibrary.py:81 #: searx/engines/zlibrary.py:80
msgid "Book rating" msgid "Book rating"
msgstr "Valoración do libro" msgstr "Valoración do libro"
#: searx/engines/zlibrary.py:82 #: searx/engines/zlibrary.py:81
msgid "File quality" msgid "File quality"
msgstr "Calidade do ficheiro" msgstr "Calidade do ficheiro"
@@ -1005,7 +1006,6 @@ msgid "Privacy"
msgstr "Privacidade" msgstr "Privacidade"
#: searx/templates/simple/preferences.html:235 #: searx/templates/simple/preferences.html:235
#: searx/templates/simple/result_templates/images.html:63
msgid "Engines" msgid "Engines"
msgstr "Motores" msgstr "Motores"
@@ -1652,6 +1652,10 @@ msgstr "Formatos de imaxe"
msgid "original format" msgid "original format"
msgstr "formato orixinal" msgstr "formato orixinal"
#: searx/templates/simple/result_templates/images.html:63
msgid "Engine"
msgstr "Motor"
#: searx/templates/simple/result_templates/images.html:64 #: searx/templates/simple/result_templates/images.html:64
msgid "View source" msgid "View source"
msgstr "Ver fonte" msgstr "Ver fonte"
@@ -2415,7 +2419,3 @@ msgstr "agochar vídeo"
#~ msgid "Format" #~ msgid "Format"
#~ msgstr "Formato" #~ msgstr "Formato"
#~ msgid "Engine"
#~ msgstr "Motor"

View File

@@ -28,7 +28,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: searx\n" "Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2026-07-15 15:45+0000\n" "POT-Creation-Date: 2026-06-13 11:31+0000\n"
"PO-Revision-Date: 2026-05-19 12:07+0000\n" "PO-Revision-Date: 2026-05-19 12:07+0000\n"
"Last-Translator: return42 <return42@noreply.codeberg.org>\n" "Last-Translator: return42 <return42@noreply.codeberg.org>\n"
"Language: he\n" "Language: he\n"
@@ -82,7 +82,7 @@ msgid "videos"
msgstr "וידאו" msgstr "וידאו"
#. CATEGORY_NAMES['RADIO'] #. CATEGORY_NAMES['RADIO']
#: searx/engines/radio_browser.py:160 searx/searxng.msg #: searx/engines/radio_browser.py:159 searx/searxng.msg
msgid "radio" msgid "radio"
msgstr "רדיו" msgstr "רדיו"
@@ -556,7 +556,7 @@ msgstr "נענו"
msgid "No item found" msgid "No item found"
msgstr "לא נמצא פריט" msgstr "לא נמצא פריט"
#: searx/engines/qwant.py:286 #: searx/engines/qwant.py:258
#: searx/templates/simple/result_templates/images.html:62 searx/webapp.py:328 #: searx/templates/simple/result_templates/images.html:62 searx/webapp.py:328
msgid "Source" msgid "Source"
msgstr "מקור" msgstr "מקור"
@@ -652,7 +652,7 @@ msgstr "מייצרת ערכים אקראיים שונים"
msgid "Compute {func} of the arguments" msgid "Compute {func} of the arguments"
msgstr "חשב {func} של הארגומנטים" msgstr "חשב {func} של הארגומנטים"
#: searx/engines/boardreader.py:108 #: searx/engines/boardreader.py:107
#, python-brace-format #, python-brace-format
msgid "Posted by {author}" msgid "Posted by {author}"
msgstr "" msgstr ""
@@ -670,19 +670,19 @@ msgstr "{title} (OBSOLETE)"
msgid "This entry has been superseded by" msgid "This entry has been superseded by"
msgstr "רשומה זו הוחלפה על ידי" msgstr "רשומה זו הוחלפה על ידי"
#: searx/engines/qwant.py:288 #: searx/engines/qwant.py:260
msgid "Channel" msgid "Channel"
msgstr "ערוץ" msgstr "ערוץ"
#: searx/engines/radio_browser.py:162 #: searx/engines/radio_browser.py:161
msgid "bitrate" msgid "bitrate"
msgstr "קצב נתונים" msgstr "קצב נתונים"
#: searx/engines/radio_browser.py:163 #: searx/engines/radio_browser.py:162
msgid "votes" msgid "votes"
msgstr "הצבעות" msgstr "הצבעות"
#: searx/engines/radio_browser.py:164 #: searx/engines/radio_browser.py:163
msgid "clicks" msgid "clicks"
msgstr "לחיצות" msgstr "לחיצות"
@@ -717,15 +717,15 @@ msgstr ""
msgid "The image could not be downloaded." msgid "The image could not be downloaded."
msgstr "אי אפשר להוריד את תמונה זו." msgstr "אי אפשר להוריד את תמונה זו."
#: searx/engines/zlibrary.py:80 #: searx/engines/zlibrary.py:79
msgid "Language" msgid "Language"
msgstr "שפה" msgstr "שפה"
#: searx/engines/zlibrary.py:81 #: searx/engines/zlibrary.py:80
msgid "Book rating" msgid "Book rating"
msgstr "דירוג ספרים" msgstr "דירוג ספרים"
#: searx/engines/zlibrary.py:82 #: searx/engines/zlibrary.py:81
msgid "File quality" msgid "File quality"
msgstr "איכות קובץ" msgstr "איכות קובץ"
@@ -1009,7 +1009,6 @@ msgid "Privacy"
msgstr "פרטיות" msgstr "פרטיות"
#: searx/templates/simple/preferences.html:235 #: searx/templates/simple/preferences.html:235
#: searx/templates/simple/result_templates/images.html:63
msgid "Engines" msgid "Engines"
msgstr "מנועי חיפוש" msgstr "מנועי חיפוש"
@@ -1648,6 +1647,10 @@ msgstr ""
msgid "original format" msgid "original format"
msgstr "" msgstr ""
#: searx/templates/simple/result_templates/images.html:63
msgid "Engine"
msgstr "מנוע"
#: searx/templates/simple/result_templates/images.html:64 #: searx/templates/simple/result_templates/images.html:64
msgid "View source" msgid "View source"
msgstr "צפה במקור" msgstr "צפה במקור"
@@ -2371,6 +2374,3 @@ msgstr "הסתר וידאו"
#~ msgid "Format" #~ msgid "Format"
#~ msgstr "פורמט" #~ msgstr "פורמט"
#~ msgid "Engine"
#~ msgstr "מנוע"

View File

@@ -24,18 +24,17 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: searx\n" "Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2026-07-15 15:45+0000\n" "POT-Creation-Date: 2026-06-13 11:31+0000\n"
"PO-Revision-Date: 2026-07-17 12:20+0000\n" "PO-Revision-Date: 2026-05-19 12:07+0000\n"
"Last-Translator: return42 <return42@noreply.codeberg.org>\n" "Last-Translator: return42 <return42@noreply.codeberg.org>\n"
"Language-Team: Croatian <https://translate.codeberg.org/projects/searxng/"
"searxng/hr/>\n"
"Language: hr\n" "Language: hr\n"
"Language-Team: Croatian "
"<https://translate.codeberg.org/projects/searxng/searxng/hr/>\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 2026.6.1\n"
"Generated-By: Babel 2.18.0\n" "Generated-By: Babel 2.18.0\n"
#. CONSTANT_NAMES['NO_SUBGROUPING'] #. CONSTANT_NAMES['NO_SUBGROUPING']
@@ -79,7 +78,7 @@ msgid "videos"
msgstr "video zapisi" msgstr "video zapisi"
#. CATEGORY_NAMES['RADIO'] #. CATEGORY_NAMES['RADIO']
#: searx/engines/radio_browser.py:160 searx/searxng.msg #: searx/engines/radio_browser.py:159 searx/searxng.msg
msgid "radio" msgid "radio"
msgstr "radio" msgstr "radio"
@@ -553,7 +552,7 @@ msgstr "odgovoren"
msgid "No item found" msgid "No item found"
msgstr "Nije pronađena nijedna stavka" msgstr "Nije pronađena nijedna stavka"
#: searx/engines/qwant.py:286 #: searx/engines/qwant.py:258
#: searx/templates/simple/result_templates/images.html:62 searx/webapp.py:328 #: searx/templates/simple/result_templates/images.html:62 searx/webapp.py:328
msgid "Source" msgid "Source"
msgstr "Izvor" msgstr "Izvor"
@@ -649,10 +648,10 @@ msgstr "Generirajte različite nasumične vrijednosti"
msgid "Compute {func} of the arguments" msgid "Compute {func} of the arguments"
msgstr "Izračunajte {func} argumenata" msgstr "Izračunajte {func} argumenata"
#: searx/engines/boardreader.py:108 #: searx/engines/boardreader.py:107
#, python-brace-format #, python-brace-format
msgid "Posted by {author}" msgid "Posted by {author}"
msgstr "Objavio/la {author}" msgstr ""
#: searx/engines/openstreetmap.py:155 #: searx/engines/openstreetmap.py:155
msgid "Show route in map .." msgid "Show route in map .."
@@ -667,19 +666,19 @@ msgstr "{title} (ZASTARJELO)"
msgid "This entry has been superseded by" msgid "This entry has been superseded by"
msgstr "Ovaj je unos zamijenio" msgstr "Ovaj je unos zamijenio"
#: searx/engines/qwant.py:288 #: searx/engines/qwant.py:260
msgid "Channel" msgid "Channel"
msgstr "Kanal" msgstr "Kanal"
#: searx/engines/radio_browser.py:162 #: searx/engines/radio_browser.py:161
msgid "bitrate" msgid "bitrate"
msgstr "bitrata" msgstr "bitrata"
#: searx/engines/radio_browser.py:163 #: searx/engines/radio_browser.py:162
msgid "votes" msgid "votes"
msgstr "glasovi" msgstr "glasovi"
#: searx/engines/radio_browser.py:164 #: searx/engines/radio_browser.py:163
msgid "clicks" msgid "clicks"
msgstr "klikovi" msgstr "klikovi"
@@ -714,15 +713,15 @@ msgstr ""
msgid "The image could not be downloaded." msgid "The image could not be downloaded."
msgstr "Sliku nije moguće preuzeti." msgstr "Sliku nije moguće preuzeti."
#: searx/engines/zlibrary.py:80 #: searx/engines/zlibrary.py:79
msgid "Language" msgid "Language"
msgstr "Jezik" msgstr "Jezik"
#: searx/engines/zlibrary.py:81 #: searx/engines/zlibrary.py:80
msgid "Book rating" msgid "Book rating"
msgstr "Ocjena knjige" msgstr "Ocjena knjige"
#: searx/engines/zlibrary.py:82 #: searx/engines/zlibrary.py:81
msgid "File quality" msgid "File quality"
msgstr "Kvaliteta datoteke" msgstr "Kvaliteta datoteke"
@@ -738,11 +737,11 @@ msgstr ""
#: searx/plugins/calculator.py:25 #: searx/plugins/calculator.py:25
msgid "Calculator" msgid "Calculator"
msgstr "Kalkulator" msgstr ""
#: searx/plugins/calculator.py:26 #: searx/plugins/calculator.py:26
msgid "Parses and solves mathematical expressions." msgid "Parses and solves mathematical expressions."
msgstr "Analizira i rješava matematičke izraze." msgstr ""
#: searx/plugins/hash_plugin.py:33 #: searx/plugins/hash_plugin.py:33
msgid "Hash plugin" msgid "Hash plugin"
@@ -814,11 +813,11 @@ msgstr "Vaš user-agent je: "
#: searx/plugins/time_zone.py:33 #: searx/plugins/time_zone.py:33
msgid "Timezones plugin" msgid "Timezones plugin"
msgstr "Dodatak za vremenske zone" msgstr ""
#: searx/plugins/time_zone.py:34 #: searx/plugins/time_zone.py:34
msgid "Display the current time on different time zones." msgid "Display the current time on different time zones."
msgstr "Prikaz trenutnog vremena u različitim vremenskim zonama." msgstr ""
#: searx/plugins/tor_check.py:41 #: searx/plugins/tor_check.py:41
msgid "Tor check plugin" msgid "Tor check plugin"
@@ -987,16 +986,14 @@ msgid ""
"This is a preview of the settings used by the 'Search URL' you used to " "This is a preview of the settings used by the 'Search URL' you used to "
"get here." "get here."
msgstr "" msgstr ""
"Ovo je pregled postavki koje koristi \"URL pretraživanja\" koji ste "
"koristili da biste došli ovdje."
#: searx/templates/simple/preferences.html:158 #: searx/templates/simple/preferences.html:158
msgid "Press save to copy these preferences to your browser." msgid "Press save to copy these preferences to your browser."
msgstr "Pritisnite spremi da biste kopirali ove postavke u svoj preglednik." msgstr ""
#: searx/templates/simple/preferences.html:159 #: searx/templates/simple/preferences.html:159
msgid "Click here to view your browser preferences instead:" msgid "Click here to view your browser preferences instead:"
msgstr "Kliknite ovdje za pregled postavki preglednika:" msgstr ""
#: searx/templates/simple/preferences.html:169 #: searx/templates/simple/preferences.html:169
msgid "General" msgid "General"
@@ -1015,7 +1012,6 @@ msgid "Privacy"
msgstr "Privatnost" msgstr "Privatnost"
#: searx/templates/simple/preferences.html:235 #: searx/templates/simple/preferences.html:235
#: searx/templates/simple/result_templates/images.html:63
msgid "Engines" msgid "Engines"
msgstr "Tražilice" msgstr "Tražilice"
@@ -1654,11 +1650,15 @@ msgstr "Razlučivost"
#: searx/templates/simple/result_templates/images.html:55 #: searx/templates/simple/result_templates/images.html:55
msgid "Image formats" msgid "Image formats"
msgstr "Formati slika" msgstr ""
#: searx/templates/simple/result_templates/images.html:56 #: searx/templates/simple/result_templates/images.html:56
msgid "original format" msgid "original format"
msgstr "izvorni format" msgstr ""
#: searx/templates/simple/result_templates/images.html:63
msgid "Engine"
msgstr "Motor"
#: searx/templates/simple/result_templates/images.html:64 #: searx/templates/simple/result_templates/images.html:64
msgid "View source" msgid "View source"
@@ -2407,5 +2407,3 @@ msgstr "sakrij video"
#~ msgid "Format" #~ msgid "Format"
#~ msgstr "Format" #~ msgstr "Format"
#~ msgid "Engine"
#~ msgstr "Motor"

View File

@@ -25,16 +25,17 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: searx\n" "Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2026-07-15 15:45+0000\n" "POT-Creation-Date: 2026-06-13 11:31+0000\n"
"PO-Revision-Date: 2026-06-16 07:07+0000\n" "PO-Revision-Date: 2026-06-16 07:07+0000\n"
"Last-Translator: kratos <makesocialfoss32@keemail.me>\n" "Last-Translator: kratos <makesocialfoss32@keemail.me>\n"
"Language-Team: Hungarian <https://translate.codeberg.org/projects/searxng/"
"searxng/hu/>\n"
"Language: hu\n" "Language: hu\n"
"Language-Team: Hungarian "
"<https://translate.codeberg.org/projects/searxng/searxng/hu/>\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 2026.6.1\n"
"Generated-By: Babel 2.18.0\n" "Generated-By: Babel 2.18.0\n"
#. CONSTANT_NAMES['NO_SUBGROUPING'] #. CONSTANT_NAMES['NO_SUBGROUPING']
@@ -78,7 +79,7 @@ msgid "videos"
msgstr "videók" msgstr "videók"
#. CATEGORY_NAMES['RADIO'] #. CATEGORY_NAMES['RADIO']
#: searx/engines/radio_browser.py:160 searx/searxng.msg #: searx/engines/radio_browser.py:159 searx/searxng.msg
msgid "radio" msgid "radio"
msgstr "rádió" msgstr "rádió"
@@ -552,7 +553,7 @@ msgstr "megválaszolt"
msgid "No item found" msgid "No item found"
msgstr "Nincs találat" msgstr "Nincs találat"
#: searx/engines/qwant.py:286 #: searx/engines/qwant.py:258
#: searx/templates/simple/result_templates/images.html:62 searx/webapp.py:328 #: searx/templates/simple/result_templates/images.html:62 searx/webapp.py:328
msgid "Source" msgid "Source"
msgstr "Forrás" msgstr "Forrás"
@@ -648,7 +649,7 @@ msgstr "Különböző véletlen értékek előállítása"
msgid "Compute {func} of the arguments" msgid "Compute {func} of the arguments"
msgstr "A(z) {func} értékének kiszámítása az argumentumokból" msgstr "A(z) {func} értékének kiszámítása az argumentumokból"
#: searx/engines/boardreader.py:108 #: searx/engines/boardreader.py:107
#, python-brace-format #, python-brace-format
msgid "Posted by {author}" msgid "Posted by {author}"
msgstr "Közzétette: {author}" msgstr "Közzétette: {author}"
@@ -666,19 +667,19 @@ msgstr "{title} (elavult)"
msgid "This entry has been superseded by" msgid "This entry has been superseded by"
msgstr "Ezt a bejegyzést leváltotta:" msgstr "Ezt a bejegyzést leváltotta:"
#: searx/engines/qwant.py:288 #: searx/engines/qwant.py:260
msgid "Channel" msgid "Channel"
msgstr "Csatorna" msgstr "Csatorna"
#: searx/engines/radio_browser.py:162 #: searx/engines/radio_browser.py:161
msgid "bitrate" msgid "bitrate"
msgstr "bitráta:" msgstr "bitráta:"
#: searx/engines/radio_browser.py:163 #: searx/engines/radio_browser.py:162
msgid "votes" msgid "votes"
msgstr "szavazatok:" msgstr "szavazatok:"
#: searx/engines/radio_browser.py:164 #: searx/engines/radio_browser.py:163
msgid "clicks" msgid "clicks"
msgstr "kattintások" msgstr "kattintások"
@@ -713,15 +714,15 @@ msgstr ""
msgid "The image could not be downloaded." msgid "The image could not be downloaded."
msgstr "A kép nem tölthető le." msgstr "A kép nem tölthető le."
#: searx/engines/zlibrary.py:80 #: searx/engines/zlibrary.py:79
msgid "Language" msgid "Language"
msgstr "Nyelv" msgstr "Nyelv"
#: searx/engines/zlibrary.py:81 #: searx/engines/zlibrary.py:80
msgid "Book rating" msgid "Book rating"
msgstr "Könyv értékelése" msgstr "Könyv értékelése"
#: searx/engines/zlibrary.py:82 #: searx/engines/zlibrary.py:81
msgid "File quality" msgid "File quality"
msgstr "Fájlminőség" msgstr "Fájlminőség"
@@ -1018,7 +1019,6 @@ msgid "Privacy"
msgstr "Adatvédelem" msgstr "Adatvédelem"
#: searx/templates/simple/preferences.html:235 #: searx/templates/simple/preferences.html:235
#: searx/templates/simple/result_templates/images.html:63
msgid "Engines" msgid "Engines"
msgstr "Keresőmotorok" msgstr "Keresőmotorok"
@@ -1665,6 +1665,10 @@ msgstr "Képformátumok"
msgid "original format" msgid "original format"
msgstr "eredeti formátum" msgstr "eredeti formátum"
#: searx/templates/simple/result_templates/images.html:63
msgid "Engine"
msgstr "Motor"
#: searx/templates/simple/result_templates/images.html:64 #: searx/templates/simple/result_templates/images.html:64
msgid "View source" msgid "View source"
msgstr "Forrás megtekintése" msgstr "Forrás megtekintése"
@@ -2417,7 +2421,3 @@ msgstr "videó elrejtése"
#~ msgid "Format" #~ msgid "Format"
#~ msgstr "Formátum" #~ msgstr "Formátum"
#~ msgid "Engine"
#~ msgstr "Motor"

View File

@@ -12,7 +12,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: searx\n" "Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2026-07-15 15:45+0000\n" "POT-Creation-Date: 2026-06-13 11:31+0000\n"
"PO-Revision-Date: 2026-05-19 12:07+0000\n" "PO-Revision-Date: 2026-05-19 12:07+0000\n"
"Last-Translator: return42 <return42@noreply.codeberg.org>\n" "Last-Translator: return42 <return42@noreply.codeberg.org>\n"
"Language: ia\n" "Language: ia\n"
@@ -65,7 +65,7 @@ msgid "videos"
msgstr "videos" msgstr "videos"
#. CATEGORY_NAMES['RADIO'] #. CATEGORY_NAMES['RADIO']
#: searx/engines/radio_browser.py:160 searx/searxng.msg #: searx/engines/radio_browser.py:159 searx/searxng.msg
msgid "radio" msgid "radio"
msgstr "" msgstr ""
@@ -539,7 +539,7 @@ msgstr ""
msgid "No item found" msgid "No item found"
msgstr "Nulle item trovate" msgstr "Nulle item trovate"
#: searx/engines/qwant.py:286 #: searx/engines/qwant.py:258
#: searx/templates/simple/result_templates/images.html:62 searx/webapp.py:328 #: searx/templates/simple/result_templates/images.html:62 searx/webapp.py:328
msgid "Source" msgid "Source"
msgstr "" msgstr ""
@@ -635,7 +635,7 @@ msgstr "Generar differente valores aleatori"
msgid "Compute {func} of the arguments" msgid "Compute {func} of the arguments"
msgstr "" msgstr ""
#: searx/engines/boardreader.py:108 #: searx/engines/boardreader.py:107
#, python-brace-format #, python-brace-format
msgid "Posted by {author}" msgid "Posted by {author}"
msgstr "" msgstr ""
@@ -653,19 +653,19 @@ msgstr ""
msgid "This entry has been superseded by" msgid "This entry has been superseded by"
msgstr "Iste entrata esseva substituite per" msgstr "Iste entrata esseva substituite per"
#: searx/engines/qwant.py:288 #: searx/engines/qwant.py:260
msgid "Channel" msgid "Channel"
msgstr "" msgstr ""
#: searx/engines/radio_browser.py:162 #: searx/engines/radio_browser.py:161
msgid "bitrate" msgid "bitrate"
msgstr "" msgstr ""
#: searx/engines/radio_browser.py:163 #: searx/engines/radio_browser.py:162
msgid "votes" msgid "votes"
msgstr "" msgstr ""
#: searx/engines/radio_browser.py:164 #: searx/engines/radio_browser.py:163
msgid "clicks" msgid "clicks"
msgstr "" msgstr ""
@@ -693,15 +693,15 @@ msgstr ""
msgid "The image could not be downloaded." msgid "The image could not be downloaded."
msgstr "" msgstr ""
#: searx/engines/zlibrary.py:80 #: searx/engines/zlibrary.py:79
msgid "Language" msgid "Language"
msgstr "" msgstr ""
#: searx/engines/zlibrary.py:81 #: searx/engines/zlibrary.py:80
msgid "Book rating" msgid "Book rating"
msgstr "" msgstr ""
#: searx/engines/zlibrary.py:82 #: searx/engines/zlibrary.py:81
msgid "File quality" msgid "File quality"
msgstr "" msgstr ""
@@ -983,7 +983,6 @@ msgid "Privacy"
msgstr "Confidentialitate" msgstr "Confidentialitate"
#: searx/templates/simple/preferences.html:235 #: searx/templates/simple/preferences.html:235
#: searx/templates/simple/result_templates/images.html:63
msgid "Engines" msgid "Engines"
msgstr "Motores" msgstr "Motores"
@@ -1617,6 +1616,10 @@ msgstr ""
msgid "original format" msgid "original format"
msgstr "" msgstr ""
#: searx/templates/simple/result_templates/images.html:63
msgid "Engine"
msgstr ""
#: searx/templates/simple/result_templates/images.html:64 #: searx/templates/simple/result_templates/images.html:64
msgid "View source" msgid "View source"
msgstr "Vider fonte" msgstr "Vider fonte"
@@ -2337,6 +2340,3 @@ msgstr "occultar video"
#~ msgid "Format" #~ msgid "Format"
#~ msgstr "" #~ msgstr ""
#~ msgid "Engine"
#~ msgstr ""

Some files were not shown because too many files have changed in this diff Show More