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
14 changed files with 4890 additions and 4360 deletions

View File

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

View File

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

View File

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

File diff suppressed because it is too large Load Diff

View File

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

View File

@@ -8271,6 +8271,7 @@
"nr", "nr",
"nrm", "nrm",
"nso", "nso",
"nup",
"nv", "nv",
"ny", "ny",
"oc", "oc",
@@ -8287,7 +8288,6 @@
"pdc", "pdc",
"pfl", "pfl",
"pi", "pi",
"pih",
"pl", "pl",
"pms", "pms",
"pnb", "pnb",
@@ -8576,46 +8576,6 @@
"zh-classical": "zh-classical" "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": { "z-library": {
"all_locale": "", "all_locale": "",
"custom": { "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}", "ua": "Mozilla/5.0 ({os}; rv:{version}) Gecko/20100101 Firefox/{version}",
"versions": [ "versions": [
"136.0", "138.0",
"135.0" "137.0"
] ]
} }

View File

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

View File

@@ -129,6 +129,7 @@ from lxml import html
from searx import locales from searx import locales
from searx.utils import ( from searx.utils import (
extr,
extract_text, extract_text,
eval_xpath, eval_xpath,
eval_xpath_list, eval_xpath_list,
@@ -253,33 +254,6 @@ def _extract_published_date(published_date_raw):
return None 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: def response(resp) -> EngineResults:
if brave_category in ('search', 'goggles'): if brave_category in ('search', 'goggles'):
@@ -288,7 +262,15 @@ def response(resp) -> EngineResults:
if brave_category in ('news'): if brave_category in ('news'):
return _parse_news(resp) 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_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'] json_resp = json_data[1]['data']['body']['response']

View File

@@ -40,7 +40,10 @@ about = {
} }
base_url = 'https://oqi2j6v4iz-dsn.algolia.net' 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'] categories = ['images']
page_size = 20 page_size = 20
paging = True paging = True
@@ -62,11 +65,17 @@ def _get_algolia_api_key():
if __CACHED_API_KEY: if __CACHED_API_KEY:
return __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) resp = get(pdia_config_url)
if resp.status_code != 200: if resp.status_code != 200:
raise LookupError("Failed to obtain Algolia API key for PDImageArchive") 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: if api_key is None:
raise LookupError("Couldn't obtain Algolia API key for PDImageArchive") raise LookupError("Couldn't obtain Algolia API key for PDImageArchive")

View File

@@ -63,21 +63,52 @@ lang2domain = {
} }
"""Map language to domain""" """Map language to domain"""
locale_aliases = { yahoo_languages = {
'zh': 'zh_Hans', "all": "any",
'zh-HK': 'zh_Hans', "ar": "ar",
'zh-CN': 'zh_Hans', # dead since 2015 / routed to hk.search.yahoo.com "bg": "bg",
'zh-TW': 'zh_Hant', "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): def request(query, params):
"""build request""" """build request"""
lang = locale_aliases.get(params['language'], None) lang = params["language"].split("-")[0]
if not lang: lang = yahoo_languages.get(lang, "any")
lang = params['language'].split('-')[0]
lang = traits.get_language(lang, traits.all_locale)
offset = (params['pageno'] - 1) * 7 + 1 offset = (params['pageno'] - 1) * 7 + 1
age, btf = time_range_dict.get(params['time_range'], ('', '')) age, btf = time_range_dict.get(params['time_range'], ('', ''))
@@ -154,39 +185,3 @@ def response(resp):
results.append({'suggestion': extract_text(suggestion)}) results.append({'suggestion': extract_text(suggestion)})
return results 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

@@ -30,7 +30,7 @@ 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: 2025-03-29 09:21+0000\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" "Last-Translator: return42 <return42@noreply.codeberg.org>\n"
"Language-Team: Romanian <https://translate.codeberg.org/projects/searxng/" "Language-Team: Romanian <https://translate.codeberg.org/projects/searxng/"
"searxng/ro/>\n" "searxng/ro/>\n"
@@ -544,7 +544,7 @@ msgstr ""
#: searx/plugins/calculator.py:38 #: searx/plugins/calculator.py:38
msgid "Basic Calculator" msgid "Basic Calculator"
msgstr "" msgstr "Calculator de bază"
#: searx/plugins/calculator.py:39 #: searx/plugins/calculator.py:39
msgid "Calculate mathematical expressions via the search bar" msgid "Calculate mathematical expressions via the search bar"