18 Commits

Author SHA1 Message Date
searxng-bot
4e4858a155 [l10n] update translations from Weblate
244e1f3f2 - 2025-04-30 - return42 <return42@noreply.codeberg.org>
2025-05-02 07:10:08 +00:00
dependabot[bot]
1a16281490 Bump vite from 6.3.3 to 6.3.4 in /client/simple
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.3.3 to 6.3.4.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.3.4/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 6.3.4
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-01 09:43:39 +02:00
Bnyro
fd33559cfb [fix] brave: fix images and videos engines 2025-04-30 08:28:04 +02:00
Denperidge
60e31eacfc [fix] pdia: dynamically fetch API key config file location
As suggested by @Bnyro at
https://github.com/searxng/searxng/pull/4652#discussion_r2055760390 !
2025-04-29 20:45:08 +02:00
return42
c45b970546 [data] update searx.data - update_currencies.py 2025-04-29 09:12:06 +02:00
Markus Heiser
a4251be397 [data] update searx.data - make data.traits
Related:

- https://github.com/searxng/searxng/pull/4687

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-04-29 09:11:33 +02:00
Markus Heiser
c20038e7c3 [fix] engine yahoo: replace fetch_traits by a list of languages
The Yahoo engine's fetch_traits function has been encountering an error in CI
jobs for several months [1], thus aborting the process for all other engines as
well.

The language selection dialog (which fetch_traits calls) requires an `EuConsent`
cookie. Strangely, the cookie is not needed for searching, which is why the
engine itself still works.

Since Yahoo won't be conquering any new marketplaces in the foreseeable future,
it should be sufficient to hard-implement the list of currently available
languages ​​(`yahoo_languages`).

[1] https://github.com/searxng/searxng/actions/runs/14720458830/job/41313149268

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2025-04-29 08:48:56 +02:00
return42
20e40ded6d [data] update searx.data - update_wikidata_units.py 2025-04-29 07:07:15 +02:00
return42
4de0766b76 [data] update searx.data - update_ahmia_blacklist.py 2025-04-29 07:06:49 +02:00
return42
6de83ca47f [data] update searx.data - update_firefox_version.py 2025-04-29 07:06:26 +02:00
return42
a32bcd54c5 [data] update searx.data - update_external_bangs.py 2025-04-29 07:06:10 +02:00
searxng-bot
c733aa83e8 [l10n] update translations from Weblate
bec89c8a4 - 2025-04-24 - Atul_Eterno <atul_eterno@noreply.codeberg.org>
97edb4d63 - 2025-04-23 - whytf <whytf@noreply.codeberg.org>
e7111d6ec - 2025-04-22 - prashere <prashere@noreply.codeberg.org>
f5eeda966 - 2025-04-20 - return42 <return42@noreply.codeberg.org>
2025-04-27 17:13:43 +02:00
dependabot[bot]
9dfc6f38d5 [upd] web-client (simple): Bump vite in /client/simple
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.3.2 to 6.3.3.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.3.3/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 6.3.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-27 10:16:44 +02:00
dependabot[bot]
e1076f5c35 [upd] web-client (simple): Bump @eslint/js in /client/simple
Bumps [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) from 9.24.0 to 9.25.1.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/commits/v9.25.1/packages/js)

---
updated-dependencies:
- dependency-name: "@eslint/js"
  dependency-version: 9.25.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-27 10:16:26 +02:00
dependabot[bot]
8489817561 [upd] web-client (simple): Bump webpack in /client/simple
Bumps [webpack](https://github.com/webpack/webpack) from 5.99.5 to 5.99.6.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.99.5...v5.99.6)

---
updated-dependencies:
- dependency-name: webpack
  dependency-version: 5.99.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-27 10:16:03 +02:00
dependabot[bot]
38ff1e4a7d [upd] web-client (simple): Bump stylelint in /client/simple
Bumps [stylelint](https://github.com/stylelint/stylelint) from 16.18.0 to 16.19.0.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/16.18.0...16.19.0)

---
updated-dependencies:
- dependency-name: stylelint
  dependency-version: 16.19.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-27 10:15:40 +02:00
dependabot[bot]
21cdb0332b [upd] web-client (simple): Bump eslint in /client/simple
Bumps [eslint](https://github.com/eslint/eslint) from 9.24.0 to 9.25.1.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.24.0...v9.25.1)

---
updated-dependencies:
- dependency-name: eslint
  dependency-version: 9.25.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-27 10:15:33 +02:00
dependabot[bot]
30330617d9 [upd] pypi: Bump lxml from 5.3.2 to 5.4.0
Bumps [lxml](https://github.com/lxml/lxml) from 5.3.2 to 5.4.0.
- [Release notes](https://github.com/lxml/lxml/releases)
- [Changelog](https://github.com/lxml/lxml/blob/master/CHANGES.txt)
- [Commits](https://github.com/lxml/lxml/compare/lxml-5.3.2...lxml-5.4.0)

---
updated-dependencies:
- dependency-name: lxml
  dependency-version: 5.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-26 13:46:56 +02:00
22 changed files with 4949 additions and 4409 deletions

View File

@@ -11,11 +11,11 @@
"autocomplete-js": "^2.7.1"
},
"devDependencies": {
"@eslint/js": "^9.22.0",
"@eslint/js": "^9.25.1",
"copy-webpack-plugin": "^13.0.0",
"css-loader": "^7.1.2",
"edge.js": "^6.2.1",
"eslint": "^9.24.0",
"eslint": "^9.25.1",
"filemanager-webpack-plugin": "^8.0.0",
"globals": "^16.0.0",
"ionicons": "^7.4.0",
@@ -25,16 +25,16 @@
"normalize.css": "^8.0.1",
"sharp": "^0.34.1",
"style-loader": "^4.0.0",
"stylelint": "^16.17.0",
"stylelint": "^16.19.0",
"stylelint-config-standard": "^38.0.0",
"stylelint-config-standard-less": "^3.0.1",
"stylelint-prettier": "^5.0.3",
"svgo": "^3.3.2",
"swiped-events": "^1.2.0",
"vite": "^6.3.2",
"vite": "^6.3.4",
"vite-plugin-static-copy": "^2.3.1",
"vite-plugin-stylelint": "^6.0.0",
"webpack": "^5.99.5",
"webpack": "^5.99.6",
"webpack-cli": "^6.0.1"
}
},
@@ -668,9 +668,9 @@
}
},
"node_modules/@eslint/config-helpers": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.0.tgz",
"integrity": "sha512-yJLLmLexii32mGrhW29qvU3QBVTu0GUmEf/J4XsBtVhp4JkIUFN/BjWqTF63yRvGApIDpZm5fa97LtYtINmfeQ==",
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.1.tgz",
"integrity": "sha512-RI17tsD2frtDu/3dmI7QRrD4bedNKPM08ziRYaC5AhkGrzIAJelm9kJU1TznK+apx6V+cqRz8tfpEeG3oIyjxw==",
"dev": true,
"license": "Apache-2.0",
"engines": {
@@ -678,9 +678,9 @@
}
},
"node_modules/@eslint/core": {
"version": "0.12.0",
"resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.12.0.tgz",
"integrity": "sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg==",
"version": "0.13.0",
"resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.13.0.tgz",
"integrity": "sha512-yfkgDw1KR66rkT5A8ci4irzDysN7FRpq3ttJolR88OqQikAWqwA8j5VZyas+vjyBNFIJ7MfybJ9plMILI2UrCw==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
@@ -728,9 +728,9 @@
}
},
"node_modules/@eslint/js": {
"version": "9.24.0",
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.24.0.tgz",
"integrity": "sha512-uIY/y3z0uvOGX8cp1C2fiC4+ZmBhp6yZWkojtHL1YEMnRt1Y63HB9TM17proGEmeG7HeUY+UP36F0aknKYTpYA==",
"version": "9.25.1",
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.25.1.tgz",
"integrity": "sha512-dEIwmjntEx8u3Uvv+kr3PDeeArL8Hw07H9kyYxCjnM9pBjfEhk6uLXSchxxzgiwtRhhzVzqmUSDFBOi1TuZ7qg==",
"dev": true,
"license": "MIT",
"engines": {
@@ -748,13 +748,13 @@
}
},
"node_modules/@eslint/plugin-kit": {
"version": "0.2.7",
"resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.7.tgz",
"integrity": "sha512-JubJ5B2pJ4k4yGxaNLdbjrnk9d/iDz6/q8wOilpIowd6PJPgaxCuHBnBszq7Ce2TyMrywm5r4PnKm6V3iiZF+g==",
"version": "0.2.8",
"resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.8.tgz",
"integrity": "sha512-ZAoA40rNMPwSm+AeHpCq8STiNAwzWLJuP8Xv4CHIc9wv/PSuExjMrmjfYNj682vW0OOiZ1HKxzvjQr9XZIisQA==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
"@eslint/core": "^0.12.0",
"@eslint/core": "^0.13.0",
"levn": "^0.4.1"
},
"engines": {
@@ -2521,20 +2521,20 @@
}
},
"node_modules/cacheable": {
"version": "1.8.9",
"resolved": "https://registry.npmjs.org/cacheable/-/cacheable-1.8.9.tgz",
"integrity": "sha512-FicwAUyWnrtnd4QqYAoRlNs44/a1jTL7XDKqm5gJ90wz1DQPlC7U2Rd1Tydpv+E7WAr4sQHuw8Q8M3nZMAyecQ==",
"version": "1.8.10",
"resolved": "https://registry.npmjs.org/cacheable/-/cacheable-1.8.10.tgz",
"integrity": "sha512-0ZnbicB/N2R6uziva8l6O6BieBklArWyiGx4GkwAhLKhSHyQtRfM9T1nx7HHuHDKkYB/efJQhz3QJ6x/YqoZzA==",
"dev": true,
"license": "MIT",
"dependencies": {
"hookified": "^1.7.1",
"keyv": "^5.3.1"
"hookified": "^1.8.1",
"keyv": "^5.3.2"
}
},
"node_modules/cacheable/node_modules/keyv": {
"version": "5.3.2",
"resolved": "https://registry.npmjs.org/keyv/-/keyv-5.3.2.tgz",
"integrity": "sha512-Lji2XRxqqa5Wg+CHLVfFKBImfJZ4pCSccu9eVWK6w4c2SDFLd8JAn1zqTuSFnsxb7ope6rMsnIHfp+eBbRBRZQ==",
"version": "5.3.3",
"resolved": "https://registry.npmjs.org/keyv/-/keyv-5.3.3.tgz",
"integrity": "sha512-Rwu4+nXI9fqcxiEHtbkvoes2X+QfkTRo1TMkPfwzipGsJlJO/z69vqB4FNl9xJ3xCpAcbkvmEabZfPzrwN3+gQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -3454,20 +3454,20 @@
}
},
"node_modules/eslint": {
"version": "9.24.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-9.24.0.tgz",
"integrity": "sha512-eh/jxIEJyZrvbWRe4XuVclLPDYSYYYgLy5zXGGxD6j8zjSAxFEzI2fL/8xNq6O2yKqVt+eF2YhV+hxjV6UKXwQ==",
"version": "9.25.1",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-9.25.1.tgz",
"integrity": "sha512-E6Mtz9oGQWDCpV12319d59n4tx9zOTXSTmc8BLVxBx+G/0RdM5MvEEJLU9c0+aleoePYYgVTOsRblx433qmhWQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"@eslint-community/eslint-utils": "^4.2.0",
"@eslint-community/regexpp": "^4.12.1",
"@eslint/config-array": "^0.20.0",
"@eslint/config-helpers": "^0.2.0",
"@eslint/core": "^0.12.0",
"@eslint/config-helpers": "^0.2.1",
"@eslint/core": "^0.13.0",
"@eslint/eslintrc": "^3.3.1",
"@eslint/js": "9.24.0",
"@eslint/plugin-kit": "^0.2.7",
"@eslint/js": "9.25.1",
"@eslint/plugin-kit": "^0.2.8",
"@humanfs/node": "^0.16.6",
"@humanwhocodes/module-importer": "^1.0.1",
"@humanwhocodes/retry": "^0.4.2",
@@ -4032,9 +4032,9 @@
}
},
"node_modules/hookified": {
"version": "1.8.1",
"resolved": "https://registry.npmjs.org/hookified/-/hookified-1.8.1.tgz",
"integrity": "sha512-GrO2l93P8xCWBSTBX9l2BxI78VU/MAAYag+pG8curS3aBGy0++ZlxrQ7PdUOUVMbn5BwkGb6+eRrnf43ipnFEA==",
"version": "1.8.2",
"resolved": "https://registry.npmjs.org/hookified/-/hookified-1.8.2.tgz",
"integrity": "sha512-5nZbBNP44sFCDjSoB//0N7m508APCgbQ4mGGo1KJGBYyCKNHfry1Pvd0JVHZIxjdnqn8nFRBAN/eFB6Rk/4w5w==",
"dev": true,
"license": "MIT"
},
@@ -4486,9 +4486,9 @@
}
},
"node_modules/known-css-properties": {
"version": "0.35.0",
"resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.35.0.tgz",
"integrity": "sha512-a/RAk2BfKk+WFGhhOCAYqSiFLc34k8Mt/6NWRI4joER0EYUzXIcFivjjnoD3+XU1DggLn/tZc3DOAgke7l8a4A==",
"version": "0.36.0",
"resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.36.0.tgz",
"integrity": "sha512-A+9jP+IUmuQsNdsLdcg6Yt7voiMF/D4K83ew0OpJtpu+l34ef7LaohWV0Rc6KNvzw6ZDizkqfyB5JznZnzuKQA==",
"dev": true,
"license": "MIT"
},
@@ -6098,9 +6098,9 @@
}
},
"node_modules/stylelint": {
"version": "16.18.0",
"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.18.0.tgz",
"integrity": "sha512-OXb68qzesv7J70BSbFwfK3yTVLEVXiQ/ro6wUE4UrSbKCMjLLA02S8Qq3LC01DxKyVjk7z8xh35aB4JzO3/sNA==",
"version": "16.19.0",
"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.19.0.tgz",
"integrity": "sha512-BJzc5mo/ez0H/ZSl3UbxGdkK/s0kFGsF5/k6IGu4z8wJ1qp49WrOS9RxswvcN6HMirt0g/iiJqOwLHTbWv49IQ==",
"dev": true,
"funding": [
{
@@ -6127,7 +6127,7 @@
"debug": "^4.3.7",
"fast-glob": "^3.3.3",
"fastest-levenshtein": "^1.0.16",
"file-entry-cache": "^10.0.7",
"file-entry-cache": "^10.0.8",
"global-modules": "^2.0.0",
"globby": "^11.1.0",
"globjoin": "^0.1.4",
@@ -6135,7 +6135,7 @@
"ignore": "^7.0.3",
"imurmurhash": "^0.1.4",
"is-plain-object": "^5.0.0",
"known-css-properties": "^0.35.0",
"known-css-properties": "^0.36.0",
"mathml-tag-names": "^2.1.3",
"meow": "^13.2.0",
"micromatch": "^4.0.8",
@@ -6352,25 +6352,25 @@
"license": "MIT"
},
"node_modules/stylelint/node_modules/file-entry-cache": {
"version": "10.0.7",
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-10.0.7.tgz",
"integrity": "sha512-txsf5fu3anp2ff3+gOJJzRImtrtm/oa9tYLN0iTuINZ++EyVR/nRrg2fKYwvG/pXDofcrvvb0scEbX3NyW/COw==",
"version": "10.0.8",
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-10.0.8.tgz",
"integrity": "sha512-FGXHpfmI4XyzbLd3HQ8cbUcsFGohJpZtmQRHr8z8FxxtCe2PcpgIlVLwIgunqjvRmXypBETvwhV4ptJizA+Y1Q==",
"dev": true,
"license": "MIT",
"dependencies": {
"flat-cache": "^6.1.7"
"flat-cache": "^6.1.8"
}
},
"node_modules/stylelint/node_modules/flat-cache": {
"version": "6.1.7",
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-6.1.7.tgz",
"integrity": "sha512-qwZ4xf1v1m7Rc9XiORly31YaChvKt6oNVHuqqZcoED/7O+ToyNVGobKsIAopY9ODcWpEDKEBAbrSOCBHtNQvew==",
"version": "6.1.8",
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-6.1.8.tgz",
"integrity": "sha512-R6MaD3nrJAtO7C3QOuS79ficm2pEAy++TgEUD8ii1LVlbcgZ9DtASLkt9B+RZSFCzm7QHDMlXPsqqB6W2Pfr1Q==",
"dev": true,
"license": "MIT",
"dependencies": {
"cacheable": "^1.8.9",
"flatted": "^3.3.3",
"hookified": "^1.7.1"
"hookified": "^1.8.1"
}
},
"node_modules/stylelint/node_modules/globby": {
@@ -6657,13 +6657,13 @@
"license": "MIT"
},
"node_modules/tinyglobby": {
"version": "0.2.12",
"resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.12.tgz",
"integrity": "sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww==",
"version": "0.2.13",
"resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.13.tgz",
"integrity": "sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==",
"dev": true,
"license": "MIT",
"dependencies": {
"fdir": "^6.4.3",
"fdir": "^6.4.4",
"picomatch": "^4.0.2"
},
"engines": {
@@ -6674,9 +6674,9 @@
}
},
"node_modules/tinyglobby/node_modules/fdir": {
"version": "6.4.3",
"resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.3.tgz",
"integrity": "sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==",
"version": "6.4.4",
"resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.4.tgz",
"integrity": "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==",
"dev": true,
"license": "MIT",
"peerDependencies": {
@@ -6807,18 +6807,18 @@
"license": "MIT"
},
"node_modules/vite": {
"version": "6.3.2",
"resolved": "https://registry.npmjs.org/vite/-/vite-6.3.2.tgz",
"integrity": "sha512-ZSvGOXKGceizRQIZSz7TGJ0pS3QLlVY/9hwxVh17W3re67je1RKYzFHivZ/t0tubU78Vkyb9WnHPENSBCzbckg==",
"version": "6.3.4",
"resolved": "https://registry.npmjs.org/vite/-/vite-6.3.4.tgz",
"integrity": "sha512-BiReIiMS2fyFqbqNT/Qqt4CVITDU9M9vE+DKcVAsB+ZV0wvTKd+3hMbkpxz1b+NmEDMegpVbisKiAZOnvO92Sw==",
"dev": true,
"license": "MIT",
"dependencies": {
"esbuild": "^0.25.0",
"fdir": "^6.4.3",
"fdir": "^6.4.4",
"picomatch": "^4.0.2",
"postcss": "^8.5.3",
"rollup": "^4.34.9",
"tinyglobby": "^0.2.12"
"tinyglobby": "^0.2.13"
},
"bin": {
"vite": "bin/vite.js"
@@ -6962,9 +6962,9 @@
}
},
"node_modules/vite/node_modules/fdir": {
"version": "6.4.3",
"resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.3.tgz",
"integrity": "sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==",
"version": "6.4.4",
"resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.4.tgz",
"integrity": "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==",
"dev": true,
"license": "MIT",
"peerDependencies": {
@@ -7004,9 +7004,9 @@
}
},
"node_modules/webpack": {
"version": "5.99.5",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.99.5.tgz",
"integrity": "sha512-q+vHBa6H9qwBLUlHL4Y7L0L1/LlyBKZtS9FHNCQmtayxjI5RKC9yD8gpvLeqGv5lCQp1Re04yi0MF40pf30Pvg==",
"version": "5.99.6",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.99.6.tgz",
"integrity": "sha512-TJOLrJ6oeccsGWPl7ujCYuc0pIq2cNsuD6GZDma8i5o5Npvcco/z+NKvZSFsP0/x6SShVb0+X2JK/JHUjKY9dQ==",
"dev": true,
"license": "MIT",
"dependencies": {

View File

@@ -9,11 +9,11 @@
"icons.html": "node theme_icons.js"
},
"devDependencies": {
"@eslint/js": "^9.22.0",
"@eslint/js": "^9.25.1",
"copy-webpack-plugin": "^13.0.0",
"css-loader": "^7.1.2",
"edge.js": "^6.2.1",
"eslint": "^9.24.0",
"eslint": "^9.25.1",
"filemanager-webpack-plugin": "^8.0.0",
"globals": "^16.0.0",
"ionicons": "^7.4.0",
@@ -23,16 +23,16 @@
"normalize.css": "^8.0.1",
"sharp": "^0.34.1",
"style-loader": "^4.0.0",
"stylelint": "^16.17.0",
"stylelint": "^16.19.0",
"stylelint-config-standard": "^38.0.0",
"stylelint-config-standard-less": "^3.0.1",
"stylelint-prettier": "^5.0.3",
"svgo": "^3.3.2",
"swiped-events": "^1.2.0",
"vite": "^6.3.2",
"vite": "^6.3.4",
"vite-plugin-static-copy": "^2.3.1",
"vite-plugin-stylelint": "^6.0.0",
"webpack": "^5.99.5",
"webpack": "^5.99.6",
"webpack-cli": "^6.0.1"
},
"dependencies": {

View File

@@ -3,7 +3,7 @@ babel==2.17.0
flask-babel==4.0.0
flask==3.1.0
jinja2==3.1.6
lxml==5.3.2
lxml==5.4.0
pygments==2.19.1
python-dateutil==2.9.0.post0
pyyaml==6.0.2

File diff suppressed because it is too large Load Diff

View File

@@ -839,6 +839,7 @@
"ja": "バハマ・ドル",
"ko": "바하마 달러",
"lt": "Bahamų doleris",
"lv": "Bahamu dolārs",
"nl": "Bahamaanse dollar",
"oc": "Dolar de las Bahamas",
"pa": "ਬਹਾਮਾਸੀ ਡਾਲਰ",
@@ -2119,7 +2120,7 @@
"de": "guatemaltekischer Quetzal",
"en": "quetzal",
"eo": "gvatemala kecalo",
"es": "quetzal",
"es": "Quetzal",
"eu": "Quetzal",
"fi": "Guatemalan quetzal",
"fr": "Quetzal",
@@ -2211,6 +2212,7 @@
"ja": "香港ドル",
"ko": "홍콩 달러",
"lt": "Honkongo doleris",
"lv": "Honkongas dolārs",
"ml": "ഹോങ്കോങ്ങ് ഡോളർ",
"ms": "dolar Hong Kong",
"nl": "Hongkongse dollar",
@@ -2424,7 +2426,7 @@
"pa": "ਇਜ਼ਰਾਇਲੀ ਨਵਾਂ ਸ਼ੇਕਲ",
"pl": "Nowy izraelski szekel",
"pt": "novo shekel israelense",
"ro": "Shekel",
"ro": "shekel",
"ru": "новый израильский шекель",
"si": "සෙකල්",
"sk": "Nový izraelský šekel",
@@ -2591,6 +2593,7 @@
"ja": "アイスランド・クローナ",
"ko": "아이슬란드 크로나",
"lt": "Islandijos krona",
"lv": "Islandes krona",
"nl": "IJslandse kroon",
"pa": "ਆਈਸਲੈਂਡੀ ਕਰੋਨਾ",
"pl": "Korona islandzka",
@@ -2628,6 +2631,7 @@
"ja": "ジャマイカ・ドル",
"ko": "자메이카 달러",
"lt": "Jamaikos doleris",
"lv": "Jamaikas dolārs",
"nl": "Jamaicaanse dollar",
"pa": "ਜਮੈਕੀ ਡਾਲਰ",
"pl": "Dolar jamajski",
@@ -3104,6 +3108,7 @@
"ja": "キープ",
"ko": "라오스 킵",
"lt": "Laoso kipas",
"lv": "Laosas kips",
"ms": "Kip",
"nl": "Laotiaanse kip",
"oc": "kip laossian",
@@ -3221,6 +3226,7 @@
"ja": "リベリア・ドル",
"ko": "라이베리아 달러",
"lt": "Liberijos doleris",
"lv": "Libērijas dolārs",
"ms": "Dolar Liberia",
"nl": "Liberiaanse dollar",
"oc": "Dolar liberian",
@@ -3427,7 +3433,7 @@
"cy": "denar (Macedonia)",
"da": "Makedonske denarer",
"de": "mazedonischer Denar",
"en": "North Macedonian denar",
"en": "Macedonian denar",
"eo": "makedona denaro",
"es": "denar macedonio",
"et": "Makedoonia denaar",
@@ -3691,7 +3697,7 @@
"de": "Malawi-Kwacha",
"en": "Malawian kwacha",
"eo": "malavia kvaĉo",
"es": "kwacha malauí",
"es": "kuacha malauí",
"et": "Malawi kvatša",
"fi": "Malawin kwacha",
"fr": "kwacha malawien",
@@ -3867,6 +3873,7 @@
"ja": "ナミビア・ドル",
"ko": "나미비아 달러",
"lt": "Namibijos doleris",
"lv": "Namībijas dolārs",
"ms": "Dolar Namibia",
"nl": "Namibische dollar",
"oc": "Dolar namibian",
@@ -4874,6 +4881,7 @@
"ja": "シンガポールドル",
"ko": "싱가포르 달러",
"lt": "Singapūro doleris",
"lv": "Singapūras dolārs",
"ml": "സിംഗപ്പൂർ ഡോളർ",
"ms": "Dolar Singapura",
"nl": "Singaporese dollar",
@@ -5843,7 +5851,7 @@
"ca": "tala",
"cs": "Samojská tala",
"de": "samoanischer Tala",
"en": "Samoan Tālā",
"en": "Samoan tālā",
"eo": "samoa talao",
"es": "tālā",
"et": "Samoa tala",
@@ -5998,6 +6006,7 @@
"XCG": {
"ar": "الجلدر الكاريبي",
"ca": "florí caribeny",
"cs": "Karibský gulden",
"de": "Karibischer Gulden",
"en": "Caribbean guilder",
"eo": "Karibia guldeno",
@@ -6006,6 +6015,7 @@
"hr": "Karipski gulden",
"hu": "karibi forint",
"it": "fiorino caraibico",
"ja": "カリブ・ギルダー",
"nl": "Caribische gulden",
"pap": "Florin karibense",
"pt": "Florim do Caribe",
@@ -6251,7 +6261,7 @@
"de": "sambischer Kwacha",
"en": "Zambian Kwacha",
"eo": "zambia kvaĉo",
"es": "kwacha zambiano",
"es": "kuacha zambiano",
"et": "Sambia kvatša",
"fi": "Sambian kwacha",
"fr": "kwacha zambien",
@@ -6745,6 +6755,7 @@
"bahamski dolar": "BSD",
"bahamský dolar": "BSD",
"bahamský dolár": "BSD",
"bahamu dolārs": "BSD",
"bahamų doleris": "BSD",
"bahrain dinar": "BHD",
"bahraini dinar": "BHD",
@@ -8011,6 +8022,10 @@
"dop": "DOP",
"dopene": "DOP",
"dòlar australià": "AUD",
"dòlar bahamià": "BSD",
"dòlar barbadià": "BBD",
"dòlar belizià": "BZD",
"dòlar bruneiès": "BND",
"dòlar canadenc": "CAD",
"dòlar de bahames": "BSD",
"dòlar de barbados": "BBD",
@@ -8042,14 +8057,18 @@
"dòlar del canadà": "CAD",
"dòlar del carib oriental": "XCD",
"dòlar dels estats units": "USD",
"dòlar estatunidenc": "USD",
"dòlar etíop": "ETB",
"dòlar fijià": "FJD",
"dòlar guyanès": "GYD",
"dòlar jamaicà": "JMD",
"dòlar liberià": "LRD",
"dòlar malai": "MYR",
"dòlar namibi": "NAD",
"dòlar namibià": "NAD",
"dòlar neozelandès": "NZD",
"dòlar salomonès": "SBD",
"dòlar surinamès": "SRD",
"dòlar taiwanès": "TWD",
"dòlars canadencs": "CAD",
"dòlars neozelandesos": "NZD",
@@ -8252,6 +8271,7 @@
"egyptská libra": "EGP",
"eiro": "EUR",
"ekialdeko karibeko dolar": "XCD",
"el peso": "GTQ",
"emalangeni": "SZL",
"emas sebagai pelaburan": "XAU",
"emirati dirham": "AED",
@@ -8304,6 +8324,7 @@
"escudo tanjung verde": "CVE",
"escudo zielonego przylądka": "CVE",
"escudos cabo verdianos": "CVE",
"escut capverdià": "CVE",
"escut de cap verd": "CVE",
"esloti": [
"PLZ",
@@ -8490,6 +8511,7 @@
"franc an chongó": "CDF",
"franc burundais": "BIF",
"franc burundez": "BIF",
"franc burundès": "BIF",
"franc burundi": "BIF",
"franc centrafrican cfa": "XAF",
"franc central african cfa": "XAF",
@@ -8514,6 +8536,7 @@
"franc cfa vest african": "XOF",
"franc cfp": "XPF",
"franc comorian": "KMF",
"franc comorià": "KMF",
"franc comorien": "KMF",
"franc comoros": "KMF",
"franc congo": "CDF",
@@ -8530,6 +8553,7 @@
"franc del congo belga": "CDF",
"franc des collectivités françaises du pacifique": "XPF",
"franc djibouti": "DJF",
"franc djiboutià": "DJF",
"franc djiboutien": "DJF",
"franc elvețian": "CHF",
"franc elveţian": "CHF",
@@ -8741,6 +8765,7 @@
"greenback": "USD",
"grivina": "UAH",
"grivna": "UAH",
"grivna ucraina": "UAH",
"grivna ucraniana": "UAH",
"grivnas": "UAH",
"grivnă": "UAH",
@@ -8892,6 +8917,7 @@
"hongkonský dolár": "HKD",
"hongkonški dolar": "HKD",
"honkonga dolaro": "HKD",
"honkongas dolārs": "HKD",
"honkongo doleris": "HKD",
"honkonški dolar": "HKD",
"hrivna": "UAH",
@@ -9013,6 +9039,7 @@
"irr": "IRR",
"isk": "ISK",
"islanda krono": "ISK",
"islandes krona": "ISK",
"islandi kroon": "ISK",
"islandiar koroa": "ISK",
"islandijos krona": "ISK",
@@ -9077,6 +9104,7 @@
"jamaika doları": "JMD",
"jamaika dollar": "JMD",
"jamaikan dollari": "JMD",
"jamaikas dolārs": "JMD",
"jamaikos doleris": "JMD",
"jamajčanski dolar": "JMD",
"jamajka dolaro": "JMD",
@@ -9202,6 +9230,7 @@
"karibia guldeno": "XCG",
"karibischer gulden": "XCG",
"karibski goldinar": "XCG",
"karibský gulden": "XCG",
"karipski gulden": "XCG",
"karod": "NPR",
"kartvela lario": "GEL",
@@ -9395,6 +9424,8 @@
"krw": "KRW",
"ks": "MMK",
"ksh": "KES",
"kuacha malauí": "MWK",
"kuacha zambiano": "ZMW",
"kuanza angoleño": "AOA",
"kuba peso": "CUP",
"kubai peso": "CUP",
@@ -9445,10 +9476,8 @@
"kwacha do malawi": "MWK",
"kwacha do maláui": "MWK",
"kwacha do malávi": "MWK",
"kwacha malaui": "MWK",
"kwacha malauiana": "MWK",
"kwacha malauiano": "MWK",
"kwacha malauí": "MWK",
"kwacha malaviana": "MWK",
"kwacha malawi": "MWK",
"kwacha malawiana": "MWK",
@@ -9510,6 +9539,7 @@
"lao kip": "LAK",
"laos kipi": "LAK",
"laosa kipo": "LAK",
"laosas kips": "LAK",
"laosin kip": "LAK",
"laoski kip": "LAK",
"laoský kip": "LAK",
@@ -9671,6 +9701,7 @@
"liberisk dollar": "LRD",
"liberya doları": "LRD",
"libériai dollár": "LRD",
"libērijas dolārs": "LRD",
"libia dinaro": "LYD",
"libijos dinaras": "LYD",
"libijski dinar": "LYD",
@@ -10213,6 +10244,7 @@
"namibya doları": "NAD",
"namíbiai dollár": "NAD",
"namíbijský dolár": "NAD",
"namībijas dolārs": "NAD",
"naujasis solis": "PEN",
"naujasis taivano doleris": "TWD",
"naujoji rumunijos lėja": "RON",
@@ -11075,6 +11107,7 @@
"riyal oman": "OMR",
"riyal qatar": "QAR",
"riyal qatari": "QAR",
"riyal qatarià": "QAR",
"riyal qatarien": "QAR",
"riyal qatariota": "QAR",
"riyal qatarita": "QAR",
@@ -11256,6 +11289,7 @@
"rupia índia": "INR",
"rupia lankijska": "LKR",
"rupia maldiva": "MVR",
"rupia maldiviana": "MVR",
"rupia maldívia": "MVR",
"rupia malediwska": "MVR",
"rupia mauricia": "MUR",
@@ -11276,6 +11310,7 @@
"rupia seszelska": "SCR",
"rupia seychelense": "SCR",
"rupia seychellense": "SCR",
"rupia seychellesa": "SCR",
"rupia singalesa": "LKR",
"rupia singalese": "LKR",
"rupia sri lanki": "LKR",
@@ -11556,6 +11591,7 @@
"singapurski dolar": "SGD",
"singapurský dolar": "SGD",
"singapurský dolár": "SGD",
"singapūras dolārs": "SGD",
"singapūro doleris": "SGD",
"sint heleens pond": "SHP",
"siria pundo": "SYP",
@@ -11870,7 +11906,6 @@
"švýcarský frank": "CHF",
"șekel nou": "ILS",
"şekel": "ILS",
"şekel nou": "ILS",
"şili pesosu": "CLP",
"s₣": "CHF",
"t": "TMT",
@@ -11918,6 +11953,7 @@
"tala samoana": "WST",
"tala samoano": "WST",
"tala samoà": "WST",
"talao": "WST",
"tambala": "MWK",
"tamil rupee": "LKR",
"tamilska rupija": "LKR",
@@ -14413,6 +14449,9 @@
"دوبرا": "STN",
"دوبرا ساو تومي وبرينسيب": "STN",
"دوبرا ساو تومية وبرينسيبية": "STN",
"دولار الامريكي": "USD",
"دولار الأمريكي": "USD",
"دولار امريكي": "USD",
"دولار أسترالي": "AUD",
"دولار أمريكي": "USD",
"دولار بربادوسي": "BBD",
@@ -15109,6 +15148,7 @@
"เยน": "JPY",
"เรนมินบิ": "CNY",
"เรอัลบราซิล": "BRL",
"เรียล": "KHR",
"เรียลกัมพูชา": "KHR",
"เรียลบราซิล": "BRL",
"เลวูโรมาเนีย": "RON",
@@ -15479,7 +15519,6 @@
"₽": "RUB",
"₾": "GEL",
"⃀": "KGS",
"⃁": "SAR",
"〒": "KZT",
"アイスランドクローナ": "ISK",
"アイスランド・クローナ": "ISK",
@@ -15535,6 +15574,7 @@
"カタール・リヤル": "QAR",
"カナダドル": "CAD",
"カナダ・ドル": "CAD",
"カリブ・ギルダー": "XCG",
"カーボベルデ・エスクード": "CVE",
"ギニア・フラン": "GNF",
"ギニー": "EGP",

View File

@@ -8271,6 +8271,7 @@
"nr",
"nrm",
"nso",
"nup",
"nv",
"ny",
"oc",
@@ -8287,7 +8288,6 @@
"pdc",
"pfl",
"pi",
"pih",
"pl",
"pms",
"pnb",
@@ -8576,46 +8576,6 @@
"zh-classical": "zh-classical"
}
},
"yahoo": {
"all_locale": "any",
"custom": {},
"data_type": "traits_v1",
"languages": {
"ar": "ar",
"bg": "bg",
"cs": "cs",
"da": "da",
"de": "de",
"el": "el",
"en": "en",
"es": "es",
"et": "et",
"fi": "fi",
"fr": "fr",
"he": "he",
"hr": "hr",
"hu": "hu",
"it": "it",
"ja": "ja",
"ko": "ko",
"lt": "lt",
"lv": "lv",
"nl": "nl",
"no": "no",
"pl": "pl",
"pt": "pt",
"ro": "ro",
"ru": "ru",
"sk": "sk",
"sl": "sl",
"sv": "sv",
"th": "th",
"tr": "tr",
"zh_Hans": "zh_chs",
"zh_Hant": "zh_cht"
},
"regions": {}
},
"z-library": {
"all_locale": "",
"custom": {

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}",
"versions": [
"136.0",
"135.0"
"138.0",
"137.0"
]
}

View File

@@ -4244,6 +4244,11 @@
"symbol": "cm³/mol",
"to_si_factor": 1e-06
},
"Q240468": {
"si_name": null,
"symbol": "syr£",
"to_si_factor": null
},
"Q242988": {
"si_name": null,
"symbol": "Lib$",
@@ -5279,6 +5284,11 @@
"symbol": "bhp EDR",
"to_si_factor": 12.958174
},
"Q3984193": {
"si_name": "Q25269",
"symbol": "TeV",
"to_si_factor": 1.602176634e-07
},
"Q39978339": {
"si_name": "Q25377184",
"symbol": "kg/cm²",
@@ -6917,7 +6927,7 @@
"Q72081071": {
"si_name": "Q25269",
"symbol": "MeV",
"to_si_factor": 1.602176634e-13
"to_si_factor": 1.60217656535e-13
},
"Q7235648": {
"si_name": null,

View File

@@ -129,6 +129,7 @@ from lxml import html
from searx import locales
from searx.utils import (
extr,
extract_text,
eval_xpath,
eval_xpath_list,
@@ -253,33 +254,6 @@ def _extract_published_date(published_date_raw):
return None
def parse_data_string(resp):
# kit.start(app, element, {
# node_ids: [0, 19],
# data: [{"type":"data","data" .... ["q","goggles_id"],"route":1,"url":1}}]
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
kit_start = resp.text.index("kit.start(app,")
start = resp.text[kit_start:].index('data: [{"type":"data"')
start = kit_start + start + len('data: ')
lev = 0
end = start
inner = False
for c in resp.text[start:]:
if inner and lev == 0:
break
end += 1
if c == "[":
lev += 1
inner = True
continue
if c == "]":
lev -= 1
json_data = js_variable_to_python(resp.text[start:end])
return json_data
def response(resp) -> EngineResults:
if brave_category in ('search', 'goggles'):
@@ -288,7 +262,15 @@ def response(resp) -> EngineResults:
if brave_category in ('news'):
return _parse_news(resp)
json_data = parse_data_string(resp)
# Example script source containing the data:
#
# kit.start(app, element, {
# node_ids: [0, 19],
# data: [{type:"data",data: .... ["q","goggles_id"],route:1,url:1}}]
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
js_object = "[{" + extr(resp.text, "data: [{", "}}],") + "}}]"
json_data = js_variable_to_python(js_object)
# json_data is a list and at the second position (0,1) in this list we find the "response" data we need ..
json_resp = json_data[1]['data']['body']['response']

View File

@@ -40,7 +40,10 @@ about = {
}
base_url = 'https://oqi2j6v4iz-dsn.algolia.net'
pdia_config_url = 'https://pdimagearchive.org/_astro/config.BiNvrvzG.js'
pdia_base_url = 'https://pdimagearchive.org'
pdia_search_url = pdia_base_url + '/search/?q='
pdia_config_start = "/_astro/InfiniteSearch."
pdia_config_end = ".js"
categories = ['images']
page_size = 20
paging = True
@@ -62,11 +65,17 @@ def _get_algolia_api_key():
if __CACHED_API_KEY:
return __CACHED_API_KEY
resp = get(pdia_search_url)
if resp.status_code != 200:
raise LookupError("Failed to fetch config location (and as such the API key) for PDImageArchive")
pdia_config_filepart = extr(resp.text, pdia_config_start, pdia_config_end)
pdia_config_url = pdia_base_url + pdia_config_start + pdia_config_filepart + pdia_config_end
resp = get(pdia_config_url)
if resp.status_code != 200:
raise LookupError("Failed to obtain Algolia API key for PDImageArchive")
api_key = extr(resp.text, 'r="', '"', default=None)
api_key = extr(resp.text, 'const r="', '"', default=None)
if api_key is None:
raise LookupError("Couldn't obtain Algolia API key for PDImageArchive")

View File

@@ -63,21 +63,52 @@ lang2domain = {
}
"""Map language to domain"""
locale_aliases = {
'zh': 'zh_Hans',
'zh-HK': 'zh_Hans',
'zh-CN': 'zh_Hans', # dead since 2015 / routed to hk.search.yahoo.com
'zh-TW': 'zh_Hant',
yahoo_languages = {
"all": "any",
"ar": "ar",
"bg": "bg",
"cs": "cs",
"da": "da",
"de": "de",
"el": "el",
"en": "en",
"es": "es",
"et": "et",
"fi": "fi",
"fr": "fr",
"he": "he",
"hr": "hr",
"hu": "hu",
"it": "it",
"ja": "ja",
"ko": "ko",
"lt": "lt",
"lv": "lv",
"nl": "nl",
"no": "no",
"pl": "pl",
"pt": "pt",
"ro": "ro",
"ru": "ru",
"sk": "sk",
"sl": "sl",
"sv": "sv",
"th": "th",
"tr": "tr",
"zh": "zh_chs",
"zh_Hans": "zh_chs",
'zh-CN': "zh_chs",
"zh_Hant": "zh_cht",
"zh-HK": "zh_cht",
'zh-TW': "zh_cht",
}
def request(query, params):
"""build request"""
lang = locale_aliases.get(params['language'], None)
if not lang:
lang = params['language'].split('-')[0]
lang = traits.get_language(lang, traits.all_locale)
lang = params["language"].split("-")[0]
lang = yahoo_languages.get(lang, "any")
offset = (params['pageno'] - 1) * 7 + 1
age, btf = time_range_dict.get(params['time_range'], ('', ''))
@@ -154,39 +185,3 @@ def response(resp):
results.append({'suggestion': extract_text(suggestion)})
return results
def fetch_traits(engine_traits: EngineTraits):
"""Fetch languages from yahoo"""
# pylint: disable=import-outside-toplevel
import babel
from searx import network
from searx.locales import language_tag
engine_traits.all_locale = 'any'
resp = network.get('https://search.yahoo.com/preferences/languages')
if not resp.ok:
print("ERROR: response from yahoo is not OK.")
dom = html.fromstring(resp.text)
offset = len('lang_')
eng2sxng = {'zh_chs': 'zh_Hans', 'zh_cht': 'zh_Hant'}
for val in eval_xpath_list(dom, '//div[contains(@class, "lang-item")]/input/@value'):
eng_tag = val[offset:]
try:
sxng_tag = language_tag(babel.Locale.parse(eng2sxng.get(eng_tag, eng_tag)))
except babel.UnknownLocaleError:
print('ERROR: unknown language --> %s' % eng_tag)
continue
conflict = engine_traits.languages.get(sxng_tag)
if conflict:
if conflict != eng_tag:
print("CONFLICT: babel %s --> %s, %s" % (sxng_tag, conflict, eng_tag))
continue
engine_traits.languages[sxng_tag] = eng_tag

View File

@@ -43,13 +43,14 @@
# pxrb <pxrb@users.noreply.translate.codeberg.org>, 2025.
# curtwheeler <curtwheeler@users.noreply.translate.codeberg.org>, 2025.
# return42 <return42@noreply.codeberg.org>, 2025.
# Atul_Eterno <atul_eterno@noreply.codeberg.org>, 2025.
msgid ""
msgstr ""
"Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2025-03-29 09:21+0000\n"
"PO-Revision-Date: 2025-04-08 11:34+0000\n"
"Last-Translator: return42 <return42@noreply.codeberg.org>\n"
"PO-Revision-Date: 2025-04-24 14:06+0000\n"
"Last-Translator: Atul_Eterno <atul_eterno@noreply.codeberg.org>\n"
"Language-Team: Spanish <https://translate.codeberg.org/projects/searxng/"
"searxng/es/>\n"
"Language: es\n"
@@ -553,7 +554,7 @@ msgstr "Calidad del archivo"
#: searx/plugins/ahmia_filter.py:32
msgid "Ahmia blacklist"
msgstr ""
msgstr "Lista negra de Ahmia"
#: searx/plugins/ahmia_filter.py:33
msgid "Filter out onion results that appear in Ahmia's blacklist."
@@ -1210,6 +1211,8 @@ msgid ""
"A URL containing your preferences. This URL can be used to restore your "
"settings on a different device."
msgstr ""
"Una URL conteniendo sus preferencias. Esta URL puede ser usada para "
"restaurar sus ajustes en un dispositivo diferente."
#: searx/templates/simple/preferences/cookies.html:46
msgid "Copy preferences hash"

View File

@@ -16,20 +16,21 @@
# return42 <return42@noreply.codeberg.org>, 2025.
msgid ""
msgstr ""
"Project-Id-Version: searx\n"
"Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2025-03-29 09:21+0000\n"
"PO-Revision-Date: 2025-03-27 13:44+0000\n"
"PO-Revision-Date: 2025-04-20 12:41+0000\n"
"Last-Translator: return42 <return42@noreply.codeberg.org>\n"
"Language-Team: Lithuanian <https://translate.codeberg.org/projects/searxng/"
"searxng/lt/>\n"
"Language: lt\n"
"Language-Team: Lithuanian "
"<https://translate.codeberg.org/projects/searxng/searxng/lt/>\n"
"Plural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100"
" < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < "
"11) ? 1 : n % 1 != 0 ? 2: 3);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < "
"11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 :"
" n % 1 != 0 ? 2: 3);\n"
"X-Generator: Weblate 5.10.2\n"
"Generated-By: Babel 2.17.0\n"
#. CONSTANT_NAMES['NO_SUBGROUPING']
@@ -525,15 +526,15 @@ msgstr "Failo kokybė"
#: searx/plugins/ahmia_filter.py:32
msgid "Ahmia blacklist"
msgstr ""
msgstr "Ahmia juodasis sąrašas"
#: searx/plugins/ahmia_filter.py:33
msgid "Filter out onion results that appear in Ahmia's blacklist."
msgstr ""
msgstr "Išfiltruoti onion rezultatus esančius Ahmia juodajame sąraše."
#: searx/plugins/calculator.py:38
msgid "Basic Calculator"
msgstr ""
msgstr "Bazinis skaičiuotuvas"
#: searx/plugins/calculator.py:39
msgid "Calculate mathematical expressions via the search bar"
@@ -582,6 +583,8 @@ msgid ""
"Displays your IP if the query is \"ip\" and your user agent if the query "
"is \"user-agent\"."
msgstr ""
"Rodo tavo IP jei užklausa yra „ip“ ir tavo naudotojo agentą jei užklausa yra "
"„user-agent“."
#: searx/plugins/self_info.py:52
msgid "Your IP is: "
@@ -589,7 +592,7 @@ msgstr "Jūsų IP adresas: "
#: searx/plugins/self_info.py:55
msgid "Your user-agent is: "
msgstr ""
msgstr "Tavo naudotojo agentas (user-agent) yra: "
#: searx/plugins/tor_check.py:42
msgid "Tor check plugin"
@@ -606,15 +609,15 @@ msgstr ""
#: searx/plugins/tor_check.py:65
msgid "Could not download the list of Tor exit-nodes from"
msgstr ""
msgstr "Nepavyko atsisiųsti Tor išėjimo mazgų iš"
#: searx/plugins/tor_check.py:72
msgid "You are using Tor and it looks like you have the external IP address"
msgstr ""
msgstr "Jūs naudojate Tor ir atrodo, kad turite išorinį IP adresą"
#: searx/plugins/tor_check.py:76
msgid "You are not using Tor and you have the external IP address"
msgstr ""
msgstr "Jūs nenaudojate Tor, tačiau atrodo, kad turite išorinį IP adresą"
#: searx/plugins/tracker_url_remover.py:37
msgid "Tracker URL remover"
@@ -626,11 +629,11 @@ msgstr "Šalinti seklių argumentus iš grąžinamų URL"
#: searx/plugins/unit_converter.py:49
msgid "Unit converter plugin"
msgstr ""
msgstr "Matavimo vienetų konvertavimo papildinys"
#: searx/plugins/unit_converter.py:50
msgid "Convert between units"
msgstr ""
msgstr "Konvertuoti tarp matavimo vienetų"
#: searx/templates/simple/404.html:4
msgid "Page not found"
@@ -942,7 +945,7 @@ msgstr "Pavyzdžiai"
#: searx/templates/simple/answer/translations.html:21
msgid "Definitions"
msgstr ""
msgstr "Apibrėžimai"
#: searx/templates/simple/answer/translations.html:30
msgid "Synonyms"
@@ -966,7 +969,7 @@ msgstr "Pranešimai iš paieškos sistemų"
#: searx/templates/simple/elements/engines_msg.html:7
msgid "seconds"
msgstr ""
msgstr "sekundės"
#: searx/templates/simple/elements/search_url.html:3
msgid "Search URL"
@@ -1084,11 +1087,11 @@ msgstr "Pakeiskite nuostatose naudojamą paieškos variklį:"
#: searx/templates/simple/messages/no_results.html:22
msgid "Switch to another instance:"
msgstr ""
msgstr "Pakeisti instanciją:"
#: searx/templates/simple/messages/no_results.html:24
msgid "Search for another query or select another category."
msgstr ""
msgstr "Ieškoti kitos užklausos arba pasirinkti kitą kategoriją."
#: searx/templates/simple/messages/no_results.html:25
msgid "Go back to the previous page using the previous page button."
@@ -1101,7 +1104,7 @@ msgstr "Leisti"
#: searx/templates/simple/preferences/answerers.html:5
msgid "Keywords (first word in query)"
msgstr ""
msgstr "Raktažodžiai (pirmasis užklausos žodis)"
#: searx/templates/simple/preferences/answerers.html:6
#: searx/templates/simple/result_templates/packages.html:7
@@ -1178,6 +1181,8 @@ msgid ""
"A URL containing your preferences. This URL can be used to restore your "
"settings on a different device."
msgstr ""
"URL adresas su jūsų nustatymais. Šis URL adresas gali būti panaudotas "
"atstatyti jūsų nustatymus kitame įrenginyje."
#: searx/templates/simple/preferences/cookies.html:46
msgid "Copy preferences hash"
@@ -1193,7 +1198,7 @@ msgstr ""
#: searx/templates/simple/preferences/doi_resolver.html:1
msgid "Digital Object Identifier (DOI)"
msgstr ""
msgstr "Skaitmeninis objekto identifikatorius (DOI)"
#: searx/templates/simple/preferences/doi_resolver.html:6
msgid "Open Access DOI resolver"
@@ -2058,4 +2063,3 @@ msgstr "slėpti vaizdo įrašą"
#~ "Nurodant tinkintus nustatymus nuostatų URL,"
#~ " jūs galite susinchronizuoti nuostatas tarp"
#~ " prietaisų."

View File

@@ -30,7 +30,7 @@ msgstr ""
"Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2025-03-29 09:21+0000\n"
"PO-Revision-Date: 2025-03-31 18:08+0000\n"
"PO-Revision-Date: 2025-04-30 15:18+0000\n"
"Last-Translator: return42 <return42@noreply.codeberg.org>\n"
"Language-Team: Romanian <https://translate.codeberg.org/projects/searxng/"
"searxng/ro/>\n"
@@ -544,7 +544,7 @@ msgstr ""
#: searx/plugins/calculator.py:38
msgid "Basic Calculator"
msgstr ""
msgstr "Calculator de bază"
#: searx/plugins/calculator.py:39
msgid "Calculate mathematical expressions via the search bar"

View File

@@ -14,21 +14,23 @@
# Vision <vision@users.noreply.translate.codeberg.org>, 2025.
# curtwheeler <curtwheeler@users.noreply.translate.codeberg.org>, 2025.
# return42 <return42@noreply.codeberg.org>, 2025.
# whytf <whytf@noreply.codeberg.org>, 2025.
msgid ""
msgstr ""
"Project-Id-Version: searx\n"
"Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2025-03-29 09:21+0000\n"
"PO-Revision-Date: 2025-03-27 13:44+0000\n"
"Last-Translator: return42 <return42@noreply.codeberg.org>\n"
"PO-Revision-Date: 2025-04-23 19:16+0000\n"
"Last-Translator: whytf <whytf@noreply.codeberg.org>\n"
"Language-Team: Slovak <https://translate.codeberg.org/projects/searxng/"
"searxng/sk/>\n"
"Language: sk\n"
"Language-Team: Slovak "
"<https://translate.codeberg.org/projects/searxng/searxng/sk/>\n"
"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 "
"&& n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n "
">= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);\n"
"X-Generator: Weblate 5.10.2\n"
"Generated-By: Babel 2.17.0\n"
#. CONSTANT_NAMES['NO_SUBGROUPING']
@@ -433,12 +435,12 @@ msgstr "Pozastavené"
#: searx/webutils.py:314
#, python-brace-format
msgid "{minutes} minute(s) ago"
msgstr "pred {minutes} min."
msgstr "pred {minutes} minútami"
#: searx/webutils.py:315
#, python-brace-format
msgid "{hours} hour(s), {minutes} minute(s) ago"
msgstr "pred {hours} hod., {minutes} min."
msgstr "pred {hours} hodinami, {minutes} minútami"
#: searx/answerers/random.py:69
msgid "Generate different random values"
@@ -524,15 +526,15 @@ msgstr "Kvalita súboru"
#: searx/plugins/ahmia_filter.py:32
msgid "Ahmia blacklist"
msgstr ""
msgstr "Čierna listina Ahmia"
#: searx/plugins/ahmia_filter.py:33
msgid "Filter out onion results that appear in Ahmia's blacklist."
msgstr ""
msgstr "Odfiltruj výsledky onion, ktoré sa zobrazujú na čiernej listine Ahmia."
#: searx/plugins/calculator.py:38
msgid "Basic Calculator"
msgstr ""
msgstr "Základná Kalkulačka"
#: searx/plugins/calculator.py:39
msgid "Calculate mathematical expressions via the search bar"
@@ -626,7 +628,7 @@ msgstr "Odstrániť sledovacie argumenty z vrátenej URL"
#: searx/plugins/unit_converter.py:49
msgid "Unit converter plugin"
msgstr ""
msgstr "Modul konvertora jednotiek"
#: searx/plugins/unit_converter.py:50
msgid "Convert between units"
@@ -1182,6 +1184,8 @@ msgid ""
"A URL containing your preferences. This URL can be used to restore your "
"settings on a different device."
msgstr ""
"Adresa URL obsahujúca vaše preferencie. Túto adresu URL môžete použiť na "
"obnovenie nastavení v inom zariadení."
#: searx/templates/simple/preferences/cookies.html:46
msgid "Copy preferences hash"
@@ -2079,4 +2083,3 @@ msgstr "skryť video"
#~ "Zadaním osobitých nastavení v adrese "
#~ "(URL) nastavení je možné synchronizovať "
#~ "nastavenia do iných zariadení."

View File

@@ -24,21 +24,22 @@
# return42 <return42@users.noreply.translate.codeberg.org>, 2025.
# Eshan-K-I <eshan-k-i@users.noreply.translate.codeberg.org>, 2025.
# rajeeban <rajeeban@users.noreply.translate.codeberg.org>, 2025.
# prashere <prashere@noreply.codeberg.org>, 2025.
msgid ""
msgstr ""
"Project-Id-Version: searx\n"
"Project-Id-Version: searx\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2025-03-29 09:21+0000\n"
"PO-Revision-Date: 2025-01-20 03:36+0000\n"
"Last-Translator: rajeeban <rajeeban@users.noreply.translate.codeberg.org>"
"\n"
"PO-Revision-Date: 2025-04-22 10:45+0000\n"
"Last-Translator: prashere <prashere@noreply.codeberg.org>\n"
"Language-Team: Tamil <https://translate.codeberg.org/projects/searxng/"
"searxng/ta/>\n"
"Language: ta\n"
"Language-Team: Tamil "
"<https://translate.codeberg.org/projects/searxng/searxng/ta/>\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.10.2\n"
"Generated-By: Babel 2.17.0\n"
#. CONSTANT_NAMES['NO_SUBGROUPING']
@@ -149,7 +150,7 @@ msgstr "கிடங்கு"
#. CATEGORY_GROUPS['SOFTWARE_WIKIS']
#: searx/searxng.msg
msgid "software wikis"
msgstr "மென்பொருள் விகி"
msgstr "மென்பொருள் விக்கி"
#. CATEGORY_GROUPS['WEB']
#: searx/searxng.msg
@@ -2064,4 +2065,3 @@ msgstr "காணொளிகளை மறை"
#~ "preferences URL can be used to "
#~ "sync preferences across devices."
#~ msgstr ""