1 Commits

Author SHA1 Message Date
searxng-bot
c687698e79 [l10n] update translations from Weblate
b17f6ca00 - 2026-03-26 - bittin <bittin@noreply.codeberg.org>
e43bc66a4 - 2026-03-26 - Priit Jõerüüt <jrtcdbrg@noreply.codeberg.org>
41cb62330 - 2026-03-26 - gallegonovato <gallegonovato@noreply.codeberg.org>
48308f385 - 2026-03-25 - Outbreak2096 <outbreak2096@noreply.codeberg.org>
a91644d65 - 2026-03-25 - Stephan-P <stephan-p@noreply.codeberg.org>
af44a9e71 - 2026-03-25 - kratos <makesocialfoss32@keemail.me>
f5be3ecd0 - 2026-03-25 - ghose <ghose@noreply.codeberg.org>
7e4a2e0a5 - 2026-03-25 - return42 <return42@noreply.codeberg.org>
6768f2fbc - 2026-03-25 - Fjuro <fjuro@noreply.codeberg.org>
2026-03-27 07:33:53 +00:00
22 changed files with 5716 additions and 7294 deletions

View File

@@ -29,7 +29,7 @@ jobs:
persist-credentials: "false" persist-credentials: "false"
- name: Sync GHCS from Docker Scout - name: Sync GHCS from Docker Scout
uses: docker/scout-action@8910519cee8ac046f3ee99686b0dc6654d5ba1a7 # v1.20.3 uses: docker/scout-action@1128f02d1e60f339af7306e0e62b9fdc13d9fab9 # v1.20.2
with: with:
organization: "searxng" organization: "searxng"
dockerhub-user: "${{ secrets.DOCKER_USER }}" dockerhub-user: "${{ secrets.DOCKER_USER }}"
@@ -41,6 +41,6 @@ jobs:
write-comment: "false" write-comment: "false"
- name: Upload SARIFs - name: Upload SARIFs
uses: github/codeql-action/upload-sarif@38697555549f1db7851b81482ff19f1fa5c4fedc # v4.34.1 uses: github/codeql-action/upload-sarif@b1bff81932f5cdfc8695c7752dcee935dcd061c8 # v4.33.0
with: with:
sarif_file: "./scout.sarif" sarif_file: "./scout.sarif"

View File

@@ -1,5 +1,5 @@
{ {
"$schema": "https://biomejs.dev/schemas/2.4.9/schema.json", "$schema": "https://biomejs.dev/schemas/2.4.8/schema.json",
"files": { "files": {
"ignoreUnknown": true, "ignoreUnknown": true,
"includes": ["**", "!node_modules"] "includes": ["**", "!node_modules"]

View File

@@ -15,7 +15,7 @@
"swiped-events": "1.2.0" "swiped-events": "1.2.0"
}, },
"devDependencies": { "devDependencies": {
"@biomejs/biome": "2.4.9", "@biomejs/biome": "2.4.8",
"@types/node": "^25.5.0", "@types/node": "^25.5.0",
"browserslist": "^4.28.1", "browserslist": "^4.28.1",
"browserslist-to-esbuild": "^2.1.1", "browserslist-to-esbuild": "^2.1.1",
@@ -24,12 +24,12 @@
"mathjs": "^15.1.1", "mathjs": "^15.1.1",
"sharp": "~0.34.5", "sharp": "~0.34.5",
"sort-package-json": "^3.6.1", "sort-package-json": "^3.6.1",
"stylelint": "^17.6.0", "stylelint": "^17.5.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.1", "svgo": "^4.0.1",
"typescript": "~6.0.2", "typescript": "~6.0.2",
"vite": "^8.0.3", "vite": "^8.0.2",
"vite-bundle-analyzer": "^1.3.6" "vite-bundle-analyzer": "^1.3.6"
} }
}, },
@@ -69,9 +69,9 @@
} }
}, },
"node_modules/@biomejs/biome": { "node_modules/@biomejs/biome": {
"version": "2.4.9", "version": "2.4.8",
"resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.4.9.tgz", "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.4.8.tgz",
"integrity": "sha512-wvZW92FrwitTcacvCBT8xdAbfbxWfDLwjYMmU3djjqQTh7Ni4ZdiWIT/x5VcZ+RQuxiKzIOzi5D+dcyJDFZMsA==", "integrity": "sha512-ponn0oKOky1oRXBV+rlSaUlixUxf1aZvWC19Z41zBfUOUesthrQqL3OtiAlSB1EjFjyWpn98Q64DHelhA6jNlA==",
"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.4.9", "@biomejs/cli-darwin-arm64": "2.4.8",
"@biomejs/cli-darwin-x64": "2.4.9", "@biomejs/cli-darwin-x64": "2.4.8",
"@biomejs/cli-linux-arm64": "2.4.9", "@biomejs/cli-linux-arm64": "2.4.8",
"@biomejs/cli-linux-arm64-musl": "2.4.9", "@biomejs/cli-linux-arm64-musl": "2.4.8",
"@biomejs/cli-linux-x64": "2.4.9", "@biomejs/cli-linux-x64": "2.4.8",
"@biomejs/cli-linux-x64-musl": "2.4.9", "@biomejs/cli-linux-x64-musl": "2.4.8",
"@biomejs/cli-win32-arm64": "2.4.9", "@biomejs/cli-win32-arm64": "2.4.8",
"@biomejs/cli-win32-x64": "2.4.9" "@biomejs/cli-win32-x64": "2.4.8"
} }
}, },
"node_modules/@biomejs/cli-darwin-arm64": { "node_modules/@biomejs/cli-darwin-arm64": {
"version": "2.4.9", "version": "2.4.8",
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.4.9.tgz", "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.4.8.tgz",
"integrity": "sha512-d5G8Gf2RpH5pYwiHLPA+UpG3G9TLQu4WM+VK6sfL7K68AmhcEQ9r+nkj/DvR/GYhYox6twsHUtmWWWIKfcfQQA==", "integrity": "sha512-ARx0tECE8I7S2C2yjnWYLNbBdDoPdq3oyNLhMglmuctThwUsuzFWRKrHmIGwIRWKz0Mat9DuzLEDp52hGnrxGQ==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@@ -113,9 +113,9 @@
} }
}, },
"node_modules/@biomejs/cli-darwin-x64": { "node_modules/@biomejs/cli-darwin-x64": {
"version": "2.4.9", "version": "2.4.8",
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.4.9.tgz", "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.4.8.tgz",
"integrity": "sha512-LNCLNgqDMG7BLdc3a8aY/dwKPK7+R8/JXJoXjCvZh2gx8KseqBdFDKbhrr7HCWF8SzNhbTaALhTBoh/I6rf9lA==", "integrity": "sha512-Jg9/PsB9vDCJlANE8uhG7qDhb5w0Ix69D7XIIc8IfZPUoiPrbLm33k2Ig3NOJ/7nb3UbesFz3D1aDKm9DvzjhQ==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@@ -130,9 +130,9 @@
} }
}, },
"node_modules/@biomejs/cli-linux-arm64": { "node_modules/@biomejs/cli-linux-arm64": {
"version": "2.4.9", "version": "2.4.8",
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.4.9.tgz", "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.4.8.tgz",
"integrity": "sha512-4adnkAUi6K4C/emPRgYznMOcLlUqZdXWM6aIui4VP4LraE764g6Q4YguygnAUoxKjKIXIWPteKMgRbN0wsgwcg==", "integrity": "sha512-5CdrsJct76XG2hpKFwXnEtlT1p+4g4yV+XvvwBpzKsTNLO9c6iLlAxwcae2BJ7ekPGWjNGw9j09T5KGPKKxQig==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@@ -147,9 +147,9 @@
} }
}, },
"node_modules/@biomejs/cli-linux-arm64-musl": { "node_modules/@biomejs/cli-linux-arm64-musl": {
"version": "2.4.9", "version": "2.4.8",
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.4.9.tgz", "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.4.8.tgz",
"integrity": "sha512-8RCww5xnPn2wpK4L/QDGDOW0dq80uVWfppPxHIUg6mOs9B6gRmqPp32h1Ls3T8GnW8Wo5A8u7vpTwz4fExN+sw==", "integrity": "sha512-Zo9OhBQDJ3IBGPlqHiTISloo5H0+FBIpemqIJdW/0edJ+gEcLR+MZeZozcUyz3o1nXkVA7++DdRKQT0599j9jA==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@@ -164,9 +164,9 @@
} }
}, },
"node_modules/@biomejs/cli-linux-x64": { "node_modules/@biomejs/cli-linux-x64": {
"version": "2.4.9", "version": "2.4.8",
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.4.9.tgz", "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.4.8.tgz",
"integrity": "sha512-L10na7POF0Ks/cgLFNF1ZvIe+X4onLkTi5oP9hY+Rh60Q+7fWzKDDCeGyiHUFf1nGIa9dQOOUPGe2MyYg8nMSQ==", "integrity": "sha512-PdKXspVEaMCQLjtZCn6vfSck/li4KX9KGwSDbZdgIqlrizJ2MnMcE3TvHa2tVfXNmbjMikzcfJpuPWH695yJrw==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@@ -181,9 +181,9 @@
} }
}, },
"node_modules/@biomejs/cli-linux-x64-musl": { "node_modules/@biomejs/cli-linux-x64-musl": {
"version": "2.4.9", "version": "2.4.8",
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.4.9.tgz", "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.4.8.tgz",
"integrity": "sha512-5TD+WS9v5vzXKzjetF0hgoaNFHMcpQeBUwKKVi3JbG1e9UCrFuUK3Gt185fyTzvRdwYkJJEMqglRPjmesmVv4A==", "integrity": "sha512-Gi8quv8MEuDdKaPFtS2XjEnMqODPsRg6POT6KhoP+VrkNb+T2ywunVB+TvOU0LX1jAZzfBr+3V1mIbBhzAMKvw==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@@ -198,9 +198,9 @@
} }
}, },
"node_modules/@biomejs/cli-win32-arm64": { "node_modules/@biomejs/cli-win32-arm64": {
"version": "2.4.9", "version": "2.4.8",
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.4.9.tgz", "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.4.8.tgz",
"integrity": "sha512-aDZr0RBC3sMGJOU10BvG7eZIlWLK/i51HRIfScE2lVhfts2dQTreowLiJJd+UYg/tHKxS470IbzpuKmd0MiD6g==", "integrity": "sha512-LoFatS0tnHv6KkCVpIy3qZCih+MxUMvdYiPWLHRri7mhi2vyOOs8OrbZBcLTUEWCS+ktO72nZMy4F96oMhkOHQ==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@@ -215,9 +215,9 @@
} }
}, },
"node_modules/@biomejs/cli-win32-x64": { "node_modules/@biomejs/cli-win32-x64": {
"version": "2.4.9", "version": "2.4.8",
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.4.9.tgz", "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.4.8.tgz",
"integrity": "sha512-NS4g/2G9SoQ4ktKtz31pvyc/rmgzlcIDCGU/zWbmHJAqx6gcRj2gj5Q/guXhoWTzCUaQZDIqiCQXHS7BcGYc0w==", "integrity": "sha512-vAn7iXDoUbqFXqVocuq1sMYAd33p8+mmurqJkWl6CtIhobd/O6moe4rY5AJvzbunn/qZCdiDVcveqtkFh1e7Hg==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@@ -295,6 +295,7 @@
} }
], ],
"license": "MIT", "license": "MIT",
"peer": true,
"engines": { "engines": {
"node": ">=20.19.0" "node": ">=20.19.0"
}, },
@@ -343,6 +344,7 @@
} }
], ],
"license": "MIT", "license": "MIT",
"peer": true,
"engines": { "engines": {
"node": ">=20.19.0" "node": ">=20.19.0"
} }
@@ -1105,9 +1107,9 @@
} }
}, },
"node_modules/@rolldown/binding-android-arm64": { "node_modules/@rolldown/binding-android-arm64": {
"version": "1.0.0-rc.12", "version": "1.0.0-rc.11",
"resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-rc.12.tgz", "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-rc.11.tgz",
"integrity": "sha512-pv1y2Fv0JybcykuiiD3qBOBdz6RteYojRFY1d+b95WVuzx211CRh+ytI/+9iVyWQ6koTh5dawe4S/yRfOFjgaA==", "integrity": "sha512-SJ+/g+xNnOh6NqYxD0V3uVN4W3VfnrGsC9/hoglicgTNfABFG9JjISvkkU0dNY84MNHLWyOgxP9v9Y9pX4S7+A==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@@ -1122,9 +1124,9 @@
} }
}, },
"node_modules/@rolldown/binding-darwin-arm64": { "node_modules/@rolldown/binding-darwin-arm64": {
"version": "1.0.0-rc.12", "version": "1.0.0-rc.11",
"resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-rc.12.tgz", "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-rc.11.tgz",
"integrity": "sha512-cFYr6zTG/3PXXF3pUO+umXxt1wkRK/0AYT8lDwuqvRC+LuKYWSAQAQZjCWDQpAH172ZV6ieYrNnFzVVcnSflAg==", "integrity": "sha512-7WQgR8SfOPwmDZGFkThUvsmd/nwAWv91oCO4I5LS7RKrssPZmOt7jONN0cW17ydGC1n/+puol1IpoieKqQidmg==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@@ -1139,9 +1141,9 @@
} }
}, },
"node_modules/@rolldown/binding-darwin-x64": { "node_modules/@rolldown/binding-darwin-x64": {
"version": "1.0.0-rc.12", "version": "1.0.0-rc.11",
"resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-rc.12.tgz", "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-rc.11.tgz",
"integrity": "sha512-ZCsYknnHzeXYps0lGBz8JrF37GpE9bFVefrlmDrAQhOEi4IOIlcoU1+FwHEtyXGx2VkYAvhu7dyBf75EJQffBw==", "integrity": "sha512-39Ks6UvIHq4rEogIfQBoBRusj0Q0nPVWIvqmwBLaT6aqQGIakHdESBVOPRRLacy4WwUPIx4ZKzfZ9PMW+IeyUQ==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@@ -1156,9 +1158,9 @@
} }
}, },
"node_modules/@rolldown/binding-freebsd-x64": { "node_modules/@rolldown/binding-freebsd-x64": {
"version": "1.0.0-rc.12", "version": "1.0.0-rc.11",
"resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-rc.12.tgz", "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-rc.11.tgz",
"integrity": "sha512-dMLeprcVsyJsKolRXyoTH3NL6qtsT0Y2xeuEA8WQJquWFXkEC4bcu1rLZZSnZRMtAqwtrF/Ib9Ddtpa/Gkge9Q==", "integrity": "sha512-jfsm0ZHfhiqrvWjJAmzsqiIFPz5e7mAoCOPBNTcNgkiid/LaFKiq92+0ojH+nmJmKYkre4t71BWXUZDNp7vsag==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@@ -1173,9 +1175,9 @@
} }
}, },
"node_modules/@rolldown/binding-linux-arm-gnueabihf": { "node_modules/@rolldown/binding-linux-arm-gnueabihf": {
"version": "1.0.0-rc.12", "version": "1.0.0-rc.11",
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-rc.12.tgz", "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-rc.11.tgz",
"integrity": "sha512-YqWjAgGC/9M1lz3GR1r1rP79nMgo3mQiiA+Hfo+pvKFK1fAJ1bCi0ZQVh8noOqNacuY1qIcfyVfP6HoyBRZ85Q==", "integrity": "sha512-zjQaUtSyq1nVe3nxmlSCuR96T1LPlpvmJ0SZy0WJFEsV4kFbXcq2u68L4E6O0XeFj4aex9bEauqjW8UQBeAvfQ==",
"cpu": [ "cpu": [
"arm" "arm"
], ],
@@ -1190,9 +1192,9 @@
} }
}, },
"node_modules/@rolldown/binding-linux-arm64-gnu": { "node_modules/@rolldown/binding-linux-arm64-gnu": {
"version": "1.0.0-rc.12", "version": "1.0.0-rc.11",
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-rc.12.tgz", "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-rc.11.tgz",
"integrity": "sha512-/I5AS4cIroLpslsmzXfwbe5OmWvSsrFuEw3mwvbQ1kDxJ822hFHIx+vsN/TAzNVyepI/j/GSzrtCIwQPeKCLIg==", "integrity": "sha512-WMW1yE6IOnehTcFE9eipFkm3XN63zypWlrJQ2iF7NrQ9b2LDRjumFoOGJE8RJJTJCTBAdmLMnJ8uVitACUUo1Q==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@@ -1207,9 +1209,9 @@
} }
}, },
"node_modules/@rolldown/binding-linux-arm64-musl": { "node_modules/@rolldown/binding-linux-arm64-musl": {
"version": "1.0.0-rc.12", "version": "1.0.0-rc.11",
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-rc.12.tgz", "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-rc.11.tgz",
"integrity": "sha512-V6/wZztnBqlx5hJQqNWwFdxIKN0m38p8Jas+VoSfgH54HSj9tKTt1dZvG6JRHcjh6D7TvrJPWFGaY9UBVOaWPw==", "integrity": "sha512-jfndI9tsfm4APzjNt6QdBkYwre5lRPUgHeDHoI7ydKUuJvz3lZeCfMsI56BZj+7BYqiKsJm7cfd/6KYV7ubrBg==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@@ -1224,9 +1226,9 @@
} }
}, },
"node_modules/@rolldown/binding-linux-ppc64-gnu": { "node_modules/@rolldown/binding-linux-ppc64-gnu": {
"version": "1.0.0-rc.12", "version": "1.0.0-rc.11",
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.0-rc.12.tgz", "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.0-rc.11.tgz",
"integrity": "sha512-AP3E9BpcUYliZCxa3w5Kwj9OtEVDYK6sVoUzy4vTOJsjPOgdaJZKFmN4oOlX0Wp0RPV2ETfmIra9x1xuayFB7g==", "integrity": "sha512-ZlFgw46NOAGMgcdvdYwAGu2Q+SLFA9LzbJLW+iyMOJyhj5wk6P3KEE9Gct4xWwSzFoPI7JCdYmYMzVtlgQ+zfw==",
"cpu": [ "cpu": [
"ppc64" "ppc64"
], ],
@@ -1241,9 +1243,9 @@
} }
}, },
"node_modules/@rolldown/binding-linux-s390x-gnu": { "node_modules/@rolldown/binding-linux-s390x-gnu": {
"version": "1.0.0-rc.12", "version": "1.0.0-rc.11",
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.0-rc.12.tgz", "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.0-rc.11.tgz",
"integrity": "sha512-nWwpvUSPkoFmZo0kQazZYOrT7J5DGOJ/+QHHzjvNlooDZED8oH82Yg67HvehPPLAg5fUff7TfWFHQS8IV1n3og==", "integrity": "sha512-hIOYmuT6ofM4K04XAZd3OzMySEO4K0/nc9+jmNcxNAxRi6c5UWpqfw3KMFV4MVFWL+jQsSh+bGw2VqmaPMTLyw==",
"cpu": [ "cpu": [
"s390x" "s390x"
], ],
@@ -1258,9 +1260,9 @@
} }
}, },
"node_modules/@rolldown/binding-linux-x64-gnu": { "node_modules/@rolldown/binding-linux-x64-gnu": {
"version": "1.0.0-rc.12", "version": "1.0.0-rc.11",
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-rc.12.tgz", "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-rc.11.tgz",
"integrity": "sha512-RNrafz5bcwRy+O9e6P8Z/OCAJW/A+qtBczIqVYwTs14pf4iV1/+eKEjdOUta93q2TsT/FI0XYDP3TCky38LMAg==", "integrity": "sha512-qXBQQO9OvkjjQPLdUVr7Nr2t3QTZI7s4KZtfw7HzBgjbmAPSFwSv4rmET9lLSgq3rH/ndA3ngv3Qb8l2njoPNA==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@@ -1275,9 +1277,9 @@
} }
}, },
"node_modules/@rolldown/binding-linux-x64-musl": { "node_modules/@rolldown/binding-linux-x64-musl": {
"version": "1.0.0-rc.12", "version": "1.0.0-rc.11",
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-rc.12.tgz", "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-rc.11.tgz",
"integrity": "sha512-Jpw/0iwoKWx3LJ2rc1yjFrj+T7iHZn2JDg1Yny1ma0luviFS4mhAIcd1LFNxK3EYu3DHWCps0ydXQ5i/rrJ2ig==", "integrity": "sha512-/tpFfoSTzUkH9LPY+cYbqZBDyyX62w5fICq9qzsHLL8uTI6BHip3Q9Uzft0wylk/i8OOwKik8OxW+QAhDmzwmg==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@@ -1292,9 +1294,9 @@
} }
}, },
"node_modules/@rolldown/binding-openharmony-arm64": { "node_modules/@rolldown/binding-openharmony-arm64": {
"version": "1.0.0-rc.12", "version": "1.0.0-rc.11",
"resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-rc.12.tgz", "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-rc.11.tgz",
"integrity": "sha512-vRugONE4yMfVn0+7lUKdKvN4D5YusEiPilaoO2sgUWpCvrncvWgPMzK00ZFFJuiPgLwgFNP5eSiUlv2tfc+lpA==", "integrity": "sha512-mcp3Rio2w72IvdZG0oQ4bM2c2oumtwHfUfKncUM6zGgz0KgPz4YmDPQfnXEiY5t3+KD/i8HG2rOB/LxdmieK2g==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@@ -1309,9 +1311,9 @@
} }
}, },
"node_modules/@rolldown/binding-wasm32-wasi": { "node_modules/@rolldown/binding-wasm32-wasi": {
"version": "1.0.0-rc.12", "version": "1.0.0-rc.11",
"resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-rc.12.tgz", "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-rc.11.tgz",
"integrity": "sha512-ykGiLr/6kkiHc0XnBfmFJuCjr5ZYKKofkx+chJWDjitX+KsJuAmrzWhwyOMSHzPhzOHOy7u9HlFoa5MoAOJ/Zg==", "integrity": "sha512-LXk5Hii1Ph9asuGRjBuz8TUxdc1lWzB7nyfdoRgI0WGPZKmCxvlKk8KfYysqtr4MfGElu/f/pEQRh8fcEgkrWw==",
"cpu": [ "cpu": [
"wasm32" "wasm32"
], ],
@@ -1326,9 +1328,9 @@
} }
}, },
"node_modules/@rolldown/binding-win32-arm64-msvc": { "node_modules/@rolldown/binding-win32-arm64-msvc": {
"version": "1.0.0-rc.12", "version": "1.0.0-rc.11",
"resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-rc.12.tgz", "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-rc.11.tgz",
"integrity": "sha512-5eOND4duWkwx1AzCxadcOrNeighiLwMInEADT0YM7xeEOOFcovWZCq8dadXgcRHSf3Ulh1kFo/qvzoFiCLOL1Q==", "integrity": "sha512-dDwf5otnx0XgRY1yqxOC4ITizcdzS/8cQ3goOWv3jFAo4F+xQYni+hnMuO6+LssHHdJW7+OCVL3CoU4ycnh35Q==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@@ -1343,9 +1345,9 @@
} }
}, },
"node_modules/@rolldown/binding-win32-x64-msvc": { "node_modules/@rolldown/binding-win32-x64-msvc": {
"version": "1.0.0-rc.12", "version": "1.0.0-rc.11",
"resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-rc.12.tgz", "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-rc.11.tgz",
"integrity": "sha512-PyqoipaswDLAZtot351MLhrlrh6lcZPo2LSYE+VDxbVk24LVKAGOuE4hb8xZQmrPAuEtTZW8E6D2zc5EUZX4Lw==", "integrity": "sha512-LN4/skhSggybX71ews7dAj6r2geaMJfm3kMbK2KhFMg9B10AZXnKoLCVVgzhMHL0S+aKtr4p8QbAW8k+w95bAA==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@@ -1360,9 +1362,9 @@
} }
}, },
"node_modules/@rolldown/pluginutils": { "node_modules/@rolldown/pluginutils": {
"version": "1.0.0-rc.12", "version": "1.0.0-rc.11",
"resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.12.tgz", "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.11.tgz",
"integrity": "sha512-HHMwmarRKvoFsJorqYlFeFRzXZqCt2ETQlEDOb9aqssrnVBB1/+xgTGtuTrIk5vzLNX1MjMtTf7W9z3tsSbrxw==", "integrity": "sha512-xQO9vbwBecJRv9EUcQ/y0dzSTJgA7Q6UVN7xp6B81+tBGSLVAK03yJ9NkJaUA7JFD91kbjxRSC/mDnmvXzbHoQ==",
"dev": true, "dev": true,
"license": "MIT" "license": "MIT"
}, },
@@ -1523,6 +1525,7 @@
"integrity": "sha512-jp2P3tQMSxWugkCUKLRPVUpGaL5MVFwF8RDuSRztfwgN1wmqJeMSbKlnEtQqU8UrhTmzEmZdu2I6v2dpp7XIxw==", "integrity": "sha512-jp2P3tQMSxWugkCUKLRPVUpGaL5MVFwF8RDuSRztfwgN1wmqJeMSbKlnEtQqU8UrhTmzEmZdu2I6v2dpp7XIxw==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"peer": true,
"dependencies": { "dependencies": {
"undici-types": "~7.18.0" "undici-types": "~7.18.0"
} }
@@ -1689,6 +1692,7 @@
} }
], ],
"license": "MIT", "license": "MIT",
"peer": true,
"dependencies": { "dependencies": {
"baseline-browser-mapping": "^2.9.0", "baseline-browser-mapping": "^2.9.0",
"caniuse-lite": "^1.0.30001759", "caniuse-lite": "^1.0.30001759",
@@ -1907,6 +1911,7 @@
"integrity": "sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==", "integrity": "sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"peer": true,
"dependencies": { "dependencies": {
"mdn-data": "2.27.1", "mdn-data": "2.27.1",
"source-map-js": "^1.2.1" "source-map-js": "^1.2.1"
@@ -2651,6 +2656,16 @@
"url": "https://github.com/sponsors/wooorm" "url": "https://github.com/sponsors/wooorm"
} }
}, },
"node_modules/imurmurhash": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
"integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=0.8.19"
}
},
"node_modules/ini": { "node_modules/ini": {
"version": "1.3.8", "version": "1.3.8",
"resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
@@ -2827,6 +2842,7 @@
"integrity": "sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==", "integrity": "sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"peer": true,
"dependencies": { "dependencies": {
"@keyv/serialize": "^1.1.1" "@keyv/serialize": "^1.1.1"
} }
@@ -2853,6 +2869,7 @@
"integrity": "sha512-OJmO5+HxZLLw0RLzkqaNHzcgEAQG7C0y3aMbwtCzIUFZsLMNNq/1IdAdHEycQ58CwUO3jPTHmoN+tE5I7FQxNg==", "integrity": "sha512-OJmO5+HxZLLw0RLzkqaNHzcgEAQG7C0y3aMbwtCzIUFZsLMNNq/1IdAdHEycQ58CwUO3jPTHmoN+tE5I7FQxNg==",
"dev": true, "dev": true,
"license": "Apache-2.0", "license": "Apache-2.0",
"peer": true,
"dependencies": { "dependencies": {
"copy-anything": "^3.0.5", "copy-anything": "^3.0.5",
"parse-node-version": "^1.0.1" "parse-node-version": "^1.0.1"
@@ -3490,6 +3507,7 @@
} }
], ],
"license": "MIT", "license": "MIT",
"peer": true,
"dependencies": { "dependencies": {
"nanoid": "^3.3.11", "nanoid": "^3.3.11",
"picocolors": "^1.1.1", "picocolors": "^1.1.1",
@@ -3552,6 +3570,7 @@
"integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"peer": true,
"dependencies": { "dependencies": {
"cssesc": "^3.0.0", "cssesc": "^3.0.0",
"util-deprecate": "^1.0.2" "util-deprecate": "^1.0.2"
@@ -3737,14 +3756,14 @@
} }
}, },
"node_modules/rolldown": { "node_modules/rolldown": {
"version": "1.0.0-rc.12", "version": "1.0.0-rc.11",
"resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-rc.12.tgz", "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-rc.11.tgz",
"integrity": "sha512-yP4USLIMYrwpPHEFB5JGH1uxhcslv6/hL0OyvTuY+3qlOSJvZ7ntYnoWpehBxufkgN0cvXxppuTu5hHa/zPh+A==", "integrity": "sha512-NRjoKMusSjfRbSYiH3VSumlkgFe7kYAa3pzVOsVYVFY3zb5d7nS+a3KGQ7hJKXuYWbzJKPVQ9Wxq2UvyK+ENpw==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@oxc-project/types": "=0.122.0", "@oxc-project/types": "=0.122.0",
"@rolldown/pluginutils": "1.0.0-rc.12" "@rolldown/pluginutils": "1.0.0-rc.11"
}, },
"bin": { "bin": {
"rolldown": "bin/cli.mjs" "rolldown": "bin/cli.mjs"
@@ -3753,21 +3772,21 @@
"node": "^20.19.0 || >=22.12.0" "node": "^20.19.0 || >=22.12.0"
}, },
"optionalDependencies": { "optionalDependencies": {
"@rolldown/binding-android-arm64": "1.0.0-rc.12", "@rolldown/binding-android-arm64": "1.0.0-rc.11",
"@rolldown/binding-darwin-arm64": "1.0.0-rc.12", "@rolldown/binding-darwin-arm64": "1.0.0-rc.11",
"@rolldown/binding-darwin-x64": "1.0.0-rc.12", "@rolldown/binding-darwin-x64": "1.0.0-rc.11",
"@rolldown/binding-freebsd-x64": "1.0.0-rc.12", "@rolldown/binding-freebsd-x64": "1.0.0-rc.11",
"@rolldown/binding-linux-arm-gnueabihf": "1.0.0-rc.12", "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-rc.11",
"@rolldown/binding-linux-arm64-gnu": "1.0.0-rc.12", "@rolldown/binding-linux-arm64-gnu": "1.0.0-rc.11",
"@rolldown/binding-linux-arm64-musl": "1.0.0-rc.12", "@rolldown/binding-linux-arm64-musl": "1.0.0-rc.11",
"@rolldown/binding-linux-ppc64-gnu": "1.0.0-rc.12", "@rolldown/binding-linux-ppc64-gnu": "1.0.0-rc.11",
"@rolldown/binding-linux-s390x-gnu": "1.0.0-rc.12", "@rolldown/binding-linux-s390x-gnu": "1.0.0-rc.11",
"@rolldown/binding-linux-x64-gnu": "1.0.0-rc.12", "@rolldown/binding-linux-x64-gnu": "1.0.0-rc.11",
"@rolldown/binding-linux-x64-musl": "1.0.0-rc.12", "@rolldown/binding-linux-x64-musl": "1.0.0-rc.11",
"@rolldown/binding-openharmony-arm64": "1.0.0-rc.12", "@rolldown/binding-openharmony-arm64": "1.0.0-rc.11",
"@rolldown/binding-wasm32-wasi": "1.0.0-rc.12", "@rolldown/binding-wasm32-wasi": "1.0.0-rc.11",
"@rolldown/binding-win32-arm64-msvc": "1.0.0-rc.12", "@rolldown/binding-win32-arm64-msvc": "1.0.0-rc.11",
"@rolldown/binding-win32-x64-msvc": "1.0.0-rc.12" "@rolldown/binding-win32-x64-msvc": "1.0.0-rc.11"
} }
}, },
"node_modules/run-parallel": { "node_modules/run-parallel": {
@@ -4055,9 +4074,9 @@
} }
}, },
"node_modules/stylelint": { "node_modules/stylelint": {
"version": "17.6.0", "version": "17.5.0",
"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-17.6.0.tgz", "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-17.5.0.tgz",
"integrity": "sha512-tokrsMIVAR9vAQ/q3UVEr7S0dGXCi7zkCezPRnS2kqPUulvUh5Vgfwngrk4EoAoW7wnrThqTdnTFN5Ra7CaxIg==", "integrity": "sha512-o/NS6zhsPZFmgUm5tXX4pVNg1XDOZSlucLdf2qow/lVn4JIyzZIQ5b3kad1ugqUj3GSIgr2u5lQw7X8rjqw33g==",
"dev": true, "dev": true,
"funding": [ "funding": [
{ {
@@ -4070,10 +4089,11 @@
} }
], ],
"license": "MIT", "license": "MIT",
"peer": true,
"dependencies": { "dependencies": {
"@csstools/css-calc": "^3.1.1", "@csstools/css-calc": "^3.1.1",
"@csstools/css-parser-algorithms": "^4.0.0", "@csstools/css-parser-algorithms": "^4.0.0",
"@csstools/css-syntax-patches-for-csstree": "^1.1.1", "@csstools/css-syntax-patches-for-csstree": "^1.0.29",
"@csstools/css-tokenizer": "^4.0.0", "@csstools/css-tokenizer": "^4.0.0",
"@csstools/media-query-list-parser": "^5.0.0", "@csstools/media-query-list-parser": "^5.0.0",
"@csstools/selector-resolve-nested": "^4.0.0", "@csstools/selector-resolve-nested": "^4.0.0",
@@ -4092,6 +4112,7 @@
"html-tags": "^5.1.0", "html-tags": "^5.1.0",
"ignore": "^7.0.5", "ignore": "^7.0.5",
"import-meta-resolve": "^4.2.0", "import-meta-resolve": "^4.2.0",
"imurmurhash": "^0.1.4",
"is-plain-object": "^5.0.0", "is-plain-object": "^5.0.0",
"mathml-tag-names": "^4.0.0", "mathml-tag-names": "^4.0.0",
"meow": "^14.1.0", "meow": "^14.1.0",
@@ -4106,7 +4127,7 @@
"supports-hyperlinks": "^4.4.0", "supports-hyperlinks": "^4.4.0",
"svg-tags": "^1.0.0", "svg-tags": "^1.0.0",
"table": "^6.9.0", "table": "^6.9.0",
"write-file-atomic": "^7.0.1" "write-file-atomic": "^7.0.0"
}, },
"bin": { "bin": {
"stylelint": "bin/stylelint.mjs" "stylelint": "bin/stylelint.mjs"
@@ -4421,6 +4442,7 @@
"integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"peer": true,
"engines": { "engines": {
"node": ">=12" "node": ">=12"
}, },
@@ -4465,6 +4487,7 @@
"integrity": "sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ==", "integrity": "sha512-bGdAIrZ0wiGDo5l8c++HWtbaNCWTS4UTv7RaTH/ThVIgjkveJt83m74bBHMJkuCbslY8ixgLBVZJIOiQlQTjfQ==",
"dev": true, "dev": true,
"license": "Apache-2.0", "license": "Apache-2.0",
"peer": true,
"bin": { "bin": {
"tsc": "bin/tsc", "tsc": "bin/tsc",
"tsserver": "bin/tsserver" "tsserver": "bin/tsserver"
@@ -4550,16 +4573,16 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/vite": { "node_modules/vite": {
"version": "8.0.3", "version": "8.0.2",
"resolved": "https://registry.npmjs.org/vite/-/vite-8.0.3.tgz", "resolved": "https://registry.npmjs.org/vite/-/vite-8.0.2.tgz",
"integrity": "sha512-B9ifbFudT1TFhfltfaIPgjo9Z3mDynBTJSUYxTjOQruf/zHH+ezCQKcoqO+h7a9Pw9Nm/OtlXAiGT1axBgwqrQ==", "integrity": "sha512-1gFhNi+bHhRE/qKZOJXACm6tX4bA3Isy9KuKF15AgSRuRazNBOJfdDemPBU16/mpMxApDPrWvZ08DcLPEoRnuA==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"lightningcss": "^1.32.0", "lightningcss": "^1.32.0",
"picomatch": "^4.0.4", "picomatch": "^4.0.3",
"postcss": "^8.5.8", "postcss": "^8.5.8",
"rolldown": "1.0.0-rc.12", "rolldown": "1.0.0-rc.11",
"tinyglobby": "^0.2.15" "tinyglobby": "^0.2.15"
}, },
"bin": { "bin": {

View File

@@ -29,7 +29,7 @@
"swiped-events": "1.2.0" "swiped-events": "1.2.0"
}, },
"devDependencies": { "devDependencies": {
"@biomejs/biome": "2.4.9", "@biomejs/biome": "2.4.8",
"@types/node": "^25.5.0", "@types/node": "^25.5.0",
"browserslist": "^4.28.1", "browserslist": "^4.28.1",
"browserslist-to-esbuild": "^2.1.1", "browserslist-to-esbuild": "^2.1.1",
@@ -38,12 +38,12 @@
"mathjs": "^15.1.1", "mathjs": "^15.1.1",
"sharp": "~0.34.5", "sharp": "~0.34.5",
"sort-package-json": "^3.6.1", "sort-package-json": "^3.6.1",
"stylelint": "^17.6.0", "stylelint": "^17.5.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.1", "svgo": "^4.0.1",
"typescript": "~6.0.2", "typescript": "~6.0.2",
"vite": "^8.0.3", "vite": "^8.0.2",
"vite-bundle-analyzer": "^1.3.6" "vite-bundle-analyzer": "^1.3.6"
} }
} }

View File

@@ -1,15 +0,0 @@
# Read the documentation before using the `docker-compose.yml` file:
# https://docs.searxng.org/admin/installation-docker.html
#
# Additional ENVs:
# https://docs.searxng.org/admin/settings/settings_general.html#settings-general
# https://docs.searxng.org/admin/settings/settings_server.html#settings-server
# Use a specific version tag. E.g. "latest" or "2026.3.25-541c6c3cb".
#SEARXNG_VERSION=latest
# Listen to a specific address.
#SEARXNG_HOST=[::]
# Listen to a specific port.
#SEARXNG_PORT=8080

View File

@@ -15,17 +15,17 @@ ARG VCS_URL="unknown"
ARG VCS_REVISION="unknown" ARG VCS_REVISION="unknown"
LABEL org.opencontainers.image.created="$CREATED" \ LABEL org.opencontainers.image.created="$CREATED" \
org.opencontainers.image.description="SearXNG is a metasearch engine. Users are neither tracked nor profiled." \ org.opencontainers.image.description="SearXNG is a metasearch engine. Users are neither tracked nor profiled." \
org.opencontainers.image.documentation="https://docs.searxng.org/admin/installation-docker" \ org.opencontainers.image.documentation="https://docs.searxng.org/admin/installation-docker" \
org.opencontainers.image.licenses="AGPL-3.0-or-later" \ org.opencontainers.image.licenses="AGPL-3.0-or-later" \
org.opencontainers.image.revision="$VCS_REVISION" \ org.opencontainers.image.revision="$VCS_REVISION" \
org.opencontainers.image.source="$VCS_URL" \ org.opencontainers.image.source="$VCS_URL" \
org.opencontainers.image.title="SearXNG" \ org.opencontainers.image.title="SearXNG" \
org.opencontainers.image.url="https://searxng.org" \ org.opencontainers.image.url="https://searxng.org" \
org.opencontainers.image.version="$VERSION" org.opencontainers.image.version="$VERSION"
ENV __SEARXNG_VERSION="$VERSION" \ ENV SEARXNG_VERSION="$VERSION" \
__SEARXNG_SETTINGS_PATH="$__SEARXNG_CONFIG_PATH/settings.yml" \ SEARXNG_SETTINGS_PATH="$CONFIG_PATH/settings.yml" \
GRANIAN_PROCESS_NAME="searxng" \ GRANIAN_PROCESS_NAME="searxng" \
GRANIAN_INTERFACE="wsgi" \ GRANIAN_INTERFACE="wsgi" \
GRANIAN_HOST="::" \ GRANIAN_HOST="::" \
@@ -36,8 +36,8 @@ ENV __SEARXNG_VERSION="$VERSION" \
GRANIAN_BLOCKING_THREADS_IDLE_TIMEOUT="5m" GRANIAN_BLOCKING_THREADS_IDLE_TIMEOUT="5m"
# "*_PATH" ENVs are defined in base images # "*_PATH" ENVs are defined in base images
VOLUME $__SEARXNG_CONFIG_PATH VOLUME $CONFIG_PATH
VOLUME $__SEARXNG_DATA_PATH VOLUME $DATA_PATH
EXPOSE 8080 EXPOSE 8080

View File

@@ -1,28 +0,0 @@
# Read the documentation before using the `docker-compose.yml` file:
# https://docs.searxng.org/admin/installation-docker.html
name: searxng
services:
core:
container_name: searxng-core
image: docker.io/searxng/searxng:${SEARXNG_VERSION:-latest}
restart: always
ports:
- ${SEARXNG_HOST:+${SEARXNG_HOST}:}${SEARXNG_PORT:-8080}:${SEARXNG_PORT:-8080}
env_file: ./.env
volumes:
- ./core-config/:/etc/searxng/:Z
- core-data:/var/cache/searxng/
valkey:
container_name: searxng-valkey
image: docker.io/valkey/valkey:9-alpine
command: valkey-server --save 30 1 --loglevel warning
restart: always
volumes:
- valkey-data:/data/
volumes:
core-data:
valkey-data:

View File

@@ -117,22 +117,16 @@ EOF
} }
cat <<EOF cat <<EOF
SearXNG $__SEARXNG_VERSION SearXNG $SEARXNG_VERSION
EOF EOF
# Check for volume mounts # Check for volume mounts
volume_handler "$__SEARXNG_CONFIG_PATH" volume_handler "$CONFIG_PATH"
volume_handler "$__SEARXNG_DATA_PATH" volume_handler "$DATA_PATH"
# Check for files # Check for files
config_handler "$__SEARXNG_SETTINGS_PATH" "/usr/local/searxng/searx/settings.yml" config_handler "$SEARXNG_SETTINGS_PATH" "/usr/local/searxng/searx/settings.yml"
# root only features update-ca-certificates
if [ "$(id -u)" -eq 0 ]; then
update-ca-certificates
fi
# ENVs aliases
export GRANIAN_PORT="${SEARXNG_PORT:-$GRANIAN_PORT}"
exec /usr/local/searxng/.venv/bin/granian searx.webapp:app exec /usr/local/searxng/.venv/bin/granian searx.webapp:app

View File

@@ -9,6 +9,7 @@ Installation container
.. _Podman rootless containers: https://github.com/containers/podman/blob/main/docs/tutorials/rootless_tutorial.md .. _Podman rootless containers: https://github.com/containers/podman/blob/main/docs/tutorials/rootless_tutorial.md
.. _DockerHub mirror: https://hub.docker.com/r/searxng/searxng .. _DockerHub mirror: https://hub.docker.com/r/searxng/searxng
.. _GHCR mirror: https://ghcr.io/searxng/searxng .. _GHCR mirror: https://ghcr.io/searxng/searxng
.. _Docker compose: https://github.com/searxng/searxng-docker
.. sidebar:: info .. sidebar:: info
@@ -26,7 +27,7 @@ Installation container
`Docker 101`_ before proceeding. `Docker 101`_ before proceeding.
Container images are the basis for deployments in containerized environments, Container images are the basis for deployments in containerized environments,
Compose, Kubernetes and more. `Docker compose`_, Kubernetes and more.
.. _Container installation: .. _Container installation:
@@ -54,10 +55,10 @@ In the case of Docker, you need to add the user running the container to the
In the case of Podman, no additional steps are generally required, but there In the case of Podman, no additional steps are generally required, but there
are some considerations when running `Podman rootless containers`_. are some considerations when running `Podman rootless containers`_.
.. _Container registries: .. _Container pulling images:
Registries Pulling images
---------- --------------
.. note:: .. note::
@@ -69,108 +70,26 @@ The official images are mirrored at:
- `DockerHub mirror`_ - `DockerHub mirror`_
- `GHCR mirror`_ (GitHub Container Registry) - `GHCR mirror`_ (GitHub Container Registry)
.. _Container compose instancing: Pull the latest image:
Compose instancing
==================
This is the recommended way to deploy SearXNG in a containerized environment.
Compose templates allow you to define container configurations in a
declarative manner.
.. _Container compose instancing setup:
Setup
-----
1. Create the environment:
.. code:: sh .. code:: sh
# Create the environment and configuration directories $ docker pull docker.io/searxng/searxng:latest
$ mkdir -p ./searxng/core-config/
$ cd ./searxng/
# Fetch the latest compose template \.\. or if you want to lock in to a specific version:
$ curl -fsSLO \
https://raw.githubusercontent.com/searxng/searxng/master/container/docker-compose.yml \
https://raw.githubusercontent.com/searxng/searxng/master/container/.env.example
2. Rename the ``.env.example`` file to ``.env`` and edit the values as needed.
3. Start & stop the services:
.. code:: sh .. code:: sh
$ docker compose up -d $ docker pull docker.io/searxng/searxng:2025.8.1-3d96414
$ docker compose down
4. Setup your settings in ``core-config/settings.yml`` according to your preferences. .. _Container instancing:
.. _Container compose instancing maintenance: Instancing
==========
Management
----------
.. important::
Remember to review the new templates for any changes that may affect your
deployment, and update the ``.env`` file accordingly.
To update the templates to their latest versions:
.. code:: sh
$ docker compose down
$ curl -fsSLO \
https://raw.githubusercontent.com/searxng/searxng/master/container/docker-compose.yml \
https://raw.githubusercontent.com/searxng/searxng/master/container/.env.example
$ docker compose up -d
To update the services to their latest versions:
.. code:: sh
$ docker compose down
$ docker compose pull
$ docker compose up -d
List running services:
.. code:: sh
$ docker compose ps
NAME IMAGE ... CREATED STATUS PORTS
searxng-core ... ... 3 minutes ago Up 3 minutes 0.0.0.0:8080->8080/tcp
searxng-valkey ... ... 3 minutes ago Up 3 minutes 6379/tcp
Print a service container logs:
.. code:: sh
$ docker compose logs -f core
Access a service container shell (troubleshooting):
.. code:: sh
$ docker compose exec -it --user root core /bin/sh -l
/usr/local/searxng #
Stop and remove the services:
.. code:: sh
$ docker compose down
.. _Container manual instancing:
Manual instancing
=================
This section is intended for advanced users who need custom deployments. We This section is intended for advanced users who need custom deployments. We
recommend using `Container compose instancing`_, which provides a preconfigured recommend using `Docker compose`_, which provides a preconfigured environment
environment with sensible defaults. with sensible defaults.
Basic container instancing example: Basic container instancing example:
@@ -202,18 +121,12 @@ List running containers:
CONTAINER ID IMAGE ... CREATED PORTS NAMES CONTAINER ID IMAGE ... CREATED PORTS NAMES
1af574997e63 ... ... 3 minutes ago 0.0.0.0:8888->8080/tcp searxng 1af574997e63 ... ... 3 minutes ago 0.0.0.0:8888->8080/tcp searxng
Print the container logs:
.. code:: sh
$ docker container logs -f searxng
Access the container shell (troubleshooting): Access the container shell (troubleshooting):
.. code:: sh .. code:: sh
$ docker container exec -it --user root searxng /bin/sh -l $ docker container exec -it --user root searxng /bin/sh -l
/usr/local/searxng # 1af574997e63:/usr/local/searxng#
Stop and remove the container: Stop and remove the container:
@@ -240,12 +153,18 @@ Environment variables
The following environment variables can be configured: The following environment variables can be configured:
- ``$SEARXNG_*``: Controls the SearXNG configuration options, look out for - ``$SEARXNG_*``: Controls the SearXNG configuration options, look out for
environment ``$SEARXNG_*`` in :ref:`settings server`, :ref:`settings environment ``$SEARXNG_*`` in :ref:`settings server` and :ref:`settings
general` and the :origin:`container/.env.example` template. general`.
- ``$GRANIAN_*``: Controls the :ref:`Granian server options <Granian configuration>`. - ``$GRANIAN_*``: Controls the :ref:`Granian server options <Granian configuration>`.
- ``$FORCE_OWNERSHIP``: Ensures mounted volumes/files are owned by the - ``$FORCE_OWNERSHIP``: Ensures mounted volumes/files are owned by the
``searxng:searxng`` user (default: ``true``) ``searxng:searxng`` user (default: ``true``)
Container internal paths (don't modify unless you know what you're doing):
- ``$CONFIG_PATH``: Path to the SearXNG configuration directory (default: ``/etc/searxng``)
- ``$SEARXNG_SETTINGS_PATH``: Path to the SearXNG settings file (default: ``$CONFIG_PATH/settings.yml``)
- ``$DATA_PATH``: Path to the SearXNG data directory (default: ``/var/cache/searxng``)
.. _Container custom certificates: .. _Container custom certificates:
Custom certificates Custom certificates
@@ -257,8 +176,6 @@ additional certificates as needed.
They will be available on container (re)start or when running They will be available on container (re)start or when running
``update-ca-certificates`` in the container shell. ``update-ca-certificates`` in the container shell.
This requires the container to be running with ``root`` privileges.
.. _Container custom images: .. _Container custom images:
Custom images Custom images
@@ -282,57 +199,3 @@ container images are not officially supported):
localhost/searxng/searxng builder ... About a minute ago 524 MB localhost/searxng/searxng builder ... About a minute ago 524 MB
ghcr.io/searxng/base searxng-builder ... 2 days ago 378 MB ghcr.io/searxng/base searxng-builder ... 2 days ago 378 MB
ghcr.io/searxng/base searxng ... 2 days ago 42.2 MB ghcr.io/searxng/base searxng ... 2 days ago 42.2 MB
Migrate from ``searxng-docker``
===============================
We expect the following source directory structure:
.. code:: sh
.
└── searxng-docker
├── searxng
│ ├── favicons.toml
│ ├── limiter.toml
│ ├── settings.yml
│ └── ...
├── .env
├── Caddyfile
├── docker-compose.yml
└── ...
Create a brand new environment outside ``searxng-docker`` directory, following
`Container compose instancing setup`_.
Once up and running, stop the services and move the configuration files from
the old mount to the new one:
.. code:: sh
$ mv ./searxng-docker/searxng/* ./searxng/core-config/
If you have any custom environment variables in the old ``.env`` file, make
sure to add them manually to the new one.
Consider setting up a reverse proxy if exposing the instance to the public.
You should end with the following directory structure:
.. code:: sh
.
├── searxng
│ ├── core-config
│ │ ├── favicons.toml
│ │ ├── limiter.toml
│ │ ├── settings.yml
│ │ └── ...
│ ├── .env.example
│ ├── .env
│ └── docker-compose.yml
└── searxng-docker
└── ...
If everything is working on the new environment, you can remove the old
``searxng-docker`` directory and its contents.

View File

@@ -22,5 +22,5 @@ coloredlogs==15.0.1
docutils>=0.21.2 docutils>=0.21.2
parameterized==0.9.0 parameterized==0.9.0
granian[reload]==2.7.2 granian[reload]==2.7.2
basedpyright==1.38.4 basedpyright==1.38.3
types-lxml==2026.2.16 types-lxml==2026.2.16

File diff suppressed because it is too large Load Diff

View File

@@ -418,7 +418,7 @@
"pap": "Florin", "pap": "Florin",
"pl": "Florin arubański", "pl": "Florin arubański",
"pt": "Florim arubano", "pt": "Florim arubano",
"ro": "florin arubez", "ro": "Florin arubez",
"ru": "арубанский флорин", "ru": "арубанский флорин",
"sk": "Arubský florin", "sk": "Arubský florin",
"sr": "арупски флорин", "sr": "арупски флорин",
@@ -507,7 +507,7 @@
"pa": "ਬੋਸਨੀਆ ਅਤੇ ਹਰਜ਼ੇਗੋਵੀਨਾ ਵਟਾਂਦਰਾਯੋਗ ਮਾਰਕ", "pa": "ਬੋਸਨੀਆ ਅਤੇ ਹਰਜ਼ੇਗੋਵੀਨਾ ਵਟਾਂਦਰਾਯੋਗ ਮਾਰਕ",
"pl": "Marka zamienna", "pl": "Marka zamienna",
"pt": "marco conversível", "pt": "marco conversível",
"ro": "marcă convertibilă", "ro": "Marcă bosniacă convertibilă",
"ru": "конвертируемая марка", "ru": "конвертируемая марка",
"sk": "Konvertibilná marka", "sk": "Konvertibilná marka",
"sl": "konvertibilna marka Bosne in Hercegovine", "sl": "konvertibilna marka Bosne in Hercegovine",
@@ -577,7 +577,6 @@
"ja": "タカ", "ja": "タカ",
"ko": "방글라데시 타카", "ko": "방글라데시 타카",
"lt": "Bangladešo taka", "lt": "Bangladešo taka",
"lv": "Bangladešas taka",
"nl": "Bengalese taka", "nl": "Bengalese taka",
"oc": "Taka", "oc": "Taka",
"pa": "ਬੰਗਲਾਦੇਸ਼ੀ ਟਕਾ", "pa": "ਬੰਗਲਾਦੇਸ਼ੀ ਟਕਾ",
@@ -2142,7 +2141,7 @@
"ar": "كتزال غواتيمالي", "ar": "كتزال غواتيمالي",
"bg": "Гватемалски кецал", "bg": "Гватемалски кецал",
"ca": "quetzal", "ca": "quetzal",
"cs": "guatemalský quetzal", "cs": "Guatemalský quetzal",
"cy": "Quetzal Gwatemala", "cy": "Quetzal Gwatemala",
"de": "guatemaltekischer Quetzal", "de": "guatemaltekischer Quetzal",
"en": "quetzal", "en": "quetzal",
@@ -2559,7 +2558,7 @@
"bg": "Ирански риал", "bg": "Ирански риал",
"bn": "ইরানি রিয়াল", "bn": "ইরানি রিয়াল",
"ca": "rial iranià", "ca": "rial iranià",
"cs": "íránský rijál", "cs": "Íránský riál",
"cy": "rial Iranaidd", "cy": "rial Iranaidd",
"da": "Rial", "da": "Rial",
"de": "iranischer Rial", "de": "iranischer Rial",
@@ -3493,7 +3492,7 @@
"pa": "ਮਕਦੂਨੀਆਈ ਦਿਨਾਰ", "pa": "ਮਕਦੂਨੀਆਈ ਦਿਨਾਰ",
"pl": "denar", "pl": "denar",
"pt": "dinar macedónio", "pt": "dinar macedónio",
"ro": "denar macedonean", "ro": "Denar macedonean",
"ru": "македонский денар", "ru": "македонский денар",
"sk": "Macedónsky denár", "sk": "Macedónsky denár",
"sl": "makedonski denar", "sl": "makedonski denar",
@@ -4893,7 +4892,7 @@
"pa": "ਸਵੀਡਨੀ ਕਰੋਨਾ", "pa": "ਸਵੀਡਨੀ ਕਰੋਨਾ",
"pl": "korona szwedzka", "pl": "korona szwedzka",
"pt": "coroa sueca", "pt": "coroa sueca",
"ro": "coroană suedeză", "ro": "Coroană suedeză",
"ru": "шведская крона", "ru": "шведская крона",
"sk": "Švédska koruna", "sk": "Švédska koruna",
"sl": "švedska krona", "sl": "švedska krona",
@@ -5417,7 +5416,7 @@
"hu": "tongai paʻanga", "hu": "tongai paʻanga",
"id": "Pa'anga", "id": "Pa'anga",
"it": "pa'anga tongano", "it": "pa'anga tongano",
"ja": "パアンガ", "ja": "パアンガ",
"ko": "통가 팡가", "ko": "통가 팡가",
"lt": "Tongos paanga", "lt": "Tongos paanga",
"ms": "Paʻanga", "ms": "Paʻanga",
@@ -5781,7 +5780,7 @@
"ca": "som uzbek", "ca": "som uzbek",
"cs": "Uzbecký sum", "cs": "Uzbecký sum",
"de": "Soʻm", "de": "Soʻm",
"en": "Uzbek som", "en": "Uzbekistani som",
"eo": "uzbeka somo", "eo": "uzbeka somo",
"es": "som", "es": "som",
"fi": "Uzbekistanin som", "fi": "Uzbekistanin som",
@@ -6892,7 +6891,6 @@
"bangladeshin taka": "BDT", "bangladeshin taka": "BDT",
"bangladesi taka": "BDT", "bangladesi taka": "BDT",
"bangladeŝa tako": "BDT", "bangladeŝa tako": "BDT",
"bangladešas taka": "BDT",
"bangladeška taka": "BDT", "bangladeška taka": "BDT",
"bangladešo taka": "BDT", "bangladešo taka": "BDT",
"bangladeş takası": "BDT", "bangladeş takası": "BDT",
@@ -9265,6 +9263,7 @@
"izraelski novi šekel": "ILS", "izraelski novi šekel": "ILS",
"izraēlas jaunais šekelis": "ILS", "izraēlas jaunais šekelis": "ILS",
"izraēlas šekelis": "ILS", "izraēlas šekelis": "ILS",
"íránský rial": "IRR",
"íránský riál": "IRR", "íránský riál": "IRR",
"íránský rijál": "IRR", "íránský rijál": "IRR",
"i̇ngiliz sterlini": "GBP", "i̇ngiliz sterlini": "GBP",
@@ -10210,7 +10209,6 @@
"marca convertibilă a bosniei și herțegovinei": "BAM", "marca convertibilă a bosniei și herțegovinei": "BAM",
"marca convertibilă a bosniei şi herţegovinei": "BAM", "marca convertibilă a bosniei şi herţegovinei": "BAM",
"marcă bosniacă convertibilă": "BAM", "marcă bosniacă convertibilă": "BAM",
"marcă convertibilă": "BAM",
"marcă convertibilă a bosniei și herțegovinei": "BAM", "marcă convertibilă a bosniei și herțegovinei": "BAM",
"marcă convertibilă a bosniei şi herţegovinei": "BAM", "marcă convertibilă a bosniei şi herţegovinei": "BAM",
"marco bosniaco": "BAM", "marco bosniaco": "BAM",
@@ -12556,12 +12554,11 @@
"uyw": "UYW", "uyw": "UYW",
"uzbecký som": "UZS", "uzbecký som": "UZS",
"uzbecký sum": "UZS", "uzbecký sum": "UZS",
"uzbek som": "UZS",
"uzbek sum": "UZS",
"uzbeka somo": "UZS", "uzbeka somo": "UZS",
"uzbeka sumo": "UZS", "uzbeka sumo": "UZS",
"uzbekijos somas": "UZS", "uzbekijos somas": "UZS",
"uzbekijos sumas": "UZS", "uzbekijos sumas": "UZS",
"uzbekistani som": "UZS",
"uzbekistani sum": "UZS", "uzbekistani sum": "UZS",
"uzbekistanin som": "UZS", "uzbekistanin som": "UZS",
"uzbekistano sumas": "UZS", "uzbekistano sumas": "UZS",
@@ -14853,7 +14850,8 @@
"رينغيت ماليزي": "MYR", "رينغيت ماليزي": "MYR",
"ریال": [ "ریال": [
"YER", "YER",
"SAR" "SAR",
"IRR"
], ],
"ریال,": "IRR", "ریال,": "IRR",
"زلوتي": [ "زلوتي": [
@@ -15430,10 +15428,8 @@
"ด่ง": "VND", "ด่ง": "VND",
"ด่อง": "VND", "ด่อง": "VND",
"ด่องเวียดนาม": "VND", "ด่องเวียดนาม": "VND",
"ทิคัล": "THB",
"ทูกรีก": "MNT", "ทูกรีก": "MNT",
"บาท": "THB", "บาท": "THB",
"บาทสยาม": "THB",
"บาทไทย": "THB", "บาทไทย": "THB",
"ปอนด์ซูดานใต้": "SSP", "ปอนด์ซูดานใต้": "SSP",
"ปอนด์สเตอร์ลิง": "GBP", "ปอนด์สเตอร์ลิง": "GBP",
@@ -15468,9 +15464,7 @@
"เงินบาท": "THB", "เงินบาท": "THB",
"เงินปอนด์": "GBP", "เงินปอนด์": "GBP",
"เงินวอนเกาหลีใต้": "KRW", "เงินวอนเกาหลีใต้": "KRW",
"เงินสยาม": "THB",
"เงินหยวน": "CNY", "เงินหยวน": "CNY",
"เงินไทย": "THB",
"เท็งเก": "KZT", "เท็งเก": "KZT",
"เปโซคิวบา": "CUP", "เปโซคิวบา": "CUP",
"เปโซชิลี": "CLP", "เปโซชิลี": "CLP",
@@ -16037,7 +16031,6 @@
"トルクメン・マナト": "TMT", "トルクメン・マナト": "TMT",
"トルコリラ": "TRY", "トルコリラ": "TRY",
"トルコ・リラ": "TRY", "トルコ・リラ": "TRY",
"トンガ・パアンガ": "TOP",
"トンガ・パ・アンガ": "TOP", "トンガ・パ・アンガ": "TOP",
"ナイジェリア・ナイラ": "NGN", "ナイジェリア・ナイラ": "NGN",
"ナイラ": "NGN", "ナイラ": "NGN",

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -5,7 +5,7 @@
], ],
"ua": "Mozilla/5.0 ({os}; rv:{version}) Gecko/20100101 Firefox/{version}", "ua": "Mozilla/5.0 ({os}; rv:{version}) Gecko/20100101 Firefox/{version}",
"versions": [ "versions": [
"149.0", "148.0",
"148.0" "147.0"
] ]
} }

View File

@@ -127,7 +127,7 @@ def request(query, params):
return False return False
args = {'query': query} args = {'query': query}
params['url'] = f"{base_url.rstrip('/')}/api/search/?{urlencode(args)}" params['url'] = f"{base_url.rstrip('/')}/api/search?{urlencode(args)}"
params['headers']['Authorization'] = f'Token {ta_token}' params['headers']['Authorization'] = f'Token {ta_token}'
return params return params

View File

@@ -25,16 +25,15 @@ 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-03-24 18:43+0000\n" "POT-Creation-Date: 2026-03-24 18:43+0000\n"
"PO-Revision-Date: 2026-04-01 18:57+0000\n" "PO-Revision-Date: 2026-03-04 15:29+0000\n"
"Last-Translator: Linerly <linerly@noreply.codeberg.org>\n" "Last-Translator: Linerly <linerly@noreply.codeberg.org>\n"
"Language-Team: Indonesian <https://translate.codeberg.org/projects/searxng/"
"searxng/id/>\n"
"Language: id\n" "Language: id\n"
"Language-Team: Indonesian "
"<https://translate.codeberg.org/projects/searxng/searxng/id/>\n"
"Plural-Forms: nplurals=1; plural=0;\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=1; plural=0;\n"
"X-Generator: Weblate 5.16.2\n"
"Generated-By: Babel 2.18.0\n" "Generated-By: Babel 2.18.0\n"
#. CONSTANT_NAMES['NO_SUBGROUPING'] #. CONSTANT_NAMES['NO_SUBGROUPING']
@@ -651,7 +650,7 @@ msgstr "Hitung {func} dari argumen"
#: searx/engines/boardreader.py:107 #: searx/engines/boardreader.py:107
#, python-brace-format #, python-brace-format
msgid "Posted by {author}" msgid "Posted by {author}"
msgstr "Dipos oleh {author}" msgstr ""
#: searx/engines/openstreetmap.py:155 #: searx/engines/openstreetmap.py:155
msgid "Show route in map .." msgid "Show route in map .."
@@ -2305,3 +2304,4 @@ msgstr "sembunyikan video"
#~ msgstr "" #~ msgstr ""
#~ "Laporkan sebuah masalah baru di Github" #~ "Laporkan sebuah masalah baru di Github"
#~ " yang mengandung informasi di atas" #~ " yang mengandung informasi di atas"

View File

@@ -45,22 +45,20 @@
# bdcdo <bdcdo@noreply.codeberg.org>, 2025. # bdcdo <bdcdo@noreply.codeberg.org>, 2025.
# "lucasmz.dev" <lucasmz.dev@noreply.codeberg.org>, 2025. # "lucasmz.dev" <lucasmz.dev@noreply.codeberg.org>, 2025.
# return42 <return42@noreply.codeberg.org>, 2025. # return42 <return42@noreply.codeberg.org>, 2025.
# danilo-jlle <danilo-jlle@noreply.codeberg.org>, 2026.
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: searx\n" "Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2026-03-24 18:43+0000\n" "POT-Creation-Date: 2026-03-24 18:43+0000\n"
"PO-Revision-Date: 2026-03-31 16:57+0000\n" "PO-Revision-Date: 2025-12-08 06:44+0000\n"
"Last-Translator: danilo-jlle <danilo-jlle@noreply.codeberg.org>\n" "Last-Translator: \"lucasmz.dev\" <lucasmz.dev@noreply.codeberg.org>\n"
"Language-Team: Portuguese (Brazil) <https://translate.codeberg.org/projects/"
"searxng/searxng/pt_BR/>\n"
"Language: pt_BR\n" "Language: pt_BR\n"
"Language-Team: Portuguese (Brazil) "
"<https://translate.codeberg.org/projects/searxng/searxng/pt_BR/>\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n" "Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 5.16.2\n"
"Generated-By: Babel 2.18.0\n" "Generated-By: Babel 2.18.0\n"
#. CONSTANT_NAMES['NO_SUBGROUPING'] #. CONSTANT_NAMES['NO_SUBGROUPING']
@@ -677,7 +675,7 @@ msgstr "Calcular {func} dos argumentos"
#: searx/engines/boardreader.py:107 #: searx/engines/boardreader.py:107
#, python-brace-format #, python-brace-format
msgid "Posted by {author}" msgid "Posted by {author}"
msgstr "Postado por {author}" msgstr ""
#: searx/engines/openstreetmap.py:155 #: searx/engines/openstreetmap.py:155
msgid "Show route in map .." msgid "Show route in map .."
@@ -2456,3 +2454,4 @@ msgstr "ocultar vídeo"
#~ msgid "Submit a new issue on Github including the above information" #~ msgid "Submit a new issue on Github including the above information"
#~ msgstr "Envie um novo problema no GitHub e inclua as informações acima" #~ msgstr "Envie um novo problema no GitHub e inclua as informações acima"

View File

@@ -43,19 +43,18 @@
# Maoyue_OUO <maoyue_ouo@noreply.codeberg.org>, 2026. # Maoyue_OUO <maoyue_ouo@noreply.codeberg.org>, 2026.
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: searx\n" "Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2026-03-24 18:43+0000\n" "POT-Creation-Date: 2026-03-24 18:43+0000\n"
"PO-Revision-Date: 2026-03-29 23:07+0000\n" "PO-Revision-Date: 2026-01-10 17:50+0000\n"
"Last-Translator: Maoyue_OUO <maoyue_ouo@noreply.codeberg.org>\n" "Last-Translator: Maoyue_OUO <maoyue_ouo@noreply.codeberg.org>\n"
"Language-Team: Chinese (Traditional Han script, Taiwan) <https://"
"translate.codeberg.org/projects/searxng/searxng/zh_Hant_TW/>\n"
"Language: zh_Hant_TW\n" "Language: zh_Hant_TW\n"
"Language-Team: Chinese (Traditional Han script, Taiwan) "
"<https://translate.codeberg.org/projects/searxng/searxng/zh_Hant_TW/>\n"
"Plural-Forms: nplurals=1; plural=0;\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=1; plural=0;\n"
"X-Generator: Weblate 5.16.2\n"
"Generated-By: Babel 2.18.0\n" "Generated-By: Babel 2.18.0\n"
#. CONSTANT_NAMES['NO_SUBGROUPING'] #. CONSTANT_NAMES['NO_SUBGROUPING']
@@ -672,7 +671,7 @@ msgstr "計算參數的 {func}"
#: searx/engines/boardreader.py:107 #: searx/engines/boardreader.py:107
#, python-brace-format #, python-brace-format
msgid "Posted by {author}" msgid "Posted by {author}"
msgstr "由 {author} 發布" msgstr ""
#: searx/engines/openstreetmap.py:155 #: searx/engines/openstreetmap.py:155
msgid "Show route in map .." msgid "Show route in map .."
@@ -2317,3 +2316,4 @@ msgstr "隱藏影片"
#~ msgid "Submit a new issue on Github including the above information" #~ msgid "Submit a new issue on Github including the above information"
#~ msgstr "在 GitHub 上提交包含上述資訊的新問題" #~ msgstr "在 GitHub 上提交包含上述資訊的新問題"