mirror of
https://github.com/searxng/searxng.git
synced 2026-11-02 03:46:28 +00:00
Compare commits
10
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
10db664f14 | ||
|
|
8b35dcd2e3 | ||
|
|
9ded3bec1a | ||
|
|
ffa88e3ba3 | ||
|
|
15ca4f3c1b | ||
|
|
1cd13d98d6 | ||
|
|
c15647b5a5 | ||
|
|
cff884f98b | ||
|
|
a65db462a4 | ||
|
|
6d85146a00 |
@@ -46,7 +46,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
|
||||
uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0
|
||||
with:
|
||||
python-version: "${{ env.PYTHON_VERSION }}"
|
||||
|
||||
@@ -140,14 +140,14 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Login to Docker Hub
|
||||
uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f # v4.6.0
|
||||
uses: docker/login-action@81c6f93d4bc991e510b342a00b419b3bb4efc5c6 # v4.7.0
|
||||
with:
|
||||
registry: "docker.io"
|
||||
username: "${{ secrets.DOCKER_USER }}"
|
||||
password: "${{ secrets.DOCKER_TOKEN }}"
|
||||
|
||||
- name: Login to GHCR
|
||||
uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f # v4.6.0
|
||||
uses: docker/login-action@81c6f93d4bc991e510b342a00b419b3bb4efc5c6 # v4.7.0
|
||||
with:
|
||||
registry: "ghcr.io"
|
||||
username: "${{ github.repository_owner }}"
|
||||
|
||||
@@ -40,7 +40,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
|
||||
uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0
|
||||
with:
|
||||
python-version: "${{ env.PYTHON_VERSION }}"
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
|
||||
uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0
|
||||
with:
|
||||
python-version: "${{ env.PYTHON_VERSION }}"
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
|
||||
uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0
|
||||
with:
|
||||
python-version: "${{ matrix.python-version }}"
|
||||
|
||||
@@ -62,7 +62,7 @@ jobs:
|
||||
runs-on: ubuntu-26.04-arm
|
||||
steps:
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
|
||||
uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0
|
||||
with:
|
||||
python-version: "${{ env.PYTHON_VERSION }}"
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
|
||||
uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0
|
||||
with:
|
||||
python-version: "${{ env.PYTHON_VERSION }}"
|
||||
|
||||
@@ -83,7 +83,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
|
||||
uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0
|
||||
with:
|
||||
python-version: "${{ env.PYTHON_VERSION }}"
|
||||
|
||||
|
||||
Generated
+224
-227
@@ -15,9 +15,9 @@
|
||||
"swiped-events": "1.2.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@biomejs/biome": "2.5.15",
|
||||
"@biomejs/biome": "2.6.3",
|
||||
"@types/node": "^26.6.5",
|
||||
"browserslist": "^4.29.4",
|
||||
"browserslist": "^4.29.5",
|
||||
"browserslist-to-esbuild": "^2.1.1",
|
||||
"edge.js": "^6.5.1",
|
||||
"less": "^4.9.0",
|
||||
@@ -29,7 +29,7 @@
|
||||
"stylelint-prettier": "^5.0.3",
|
||||
"svgo": "^4.1.0",
|
||||
"typescript": "~7.0.2",
|
||||
"vite": "^8.3.3",
|
||||
"vite": "^8.3.5",
|
||||
"vite-bundle-analyzer": "^1.3.9"
|
||||
}
|
||||
},
|
||||
@@ -69,9 +69,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@biomejs/biome": {
|
||||
"version": "2.5.15",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.5.15.tgz",
|
||||
"integrity": "sha512-WZTW4slm/pdkh92K6t/3aEN++44JD1PQ7squ7RCMLI1flHGl43DVOIGXvCjHiZgBMO1V4uYxoFNtqrIA4qGuIQ==",
|
||||
"version": "2.6.3",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.6.3.tgz",
|
||||
"integrity": "sha512-va/0xPku7wnfzv+D8Zpdm5uKiGJWiV8neqoEPnRjvNQQwhl4tVXS4fETs4H0CCB2rGeqJ4cu9y4iOZOnOYKAUA==",
|
||||
"dev": true,
|
||||
"license": "MIT OR Apache-2.0",
|
||||
"bin": {
|
||||
@@ -85,20 +85,56 @@
|
||||
"url": "https://opencollective.com/biome"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@biomejs/cli-darwin-arm64": "2.5.15",
|
||||
"@biomejs/cli-darwin-x64": "2.5.15",
|
||||
"@biomejs/cli-linux-arm64": "2.5.15",
|
||||
"@biomejs/cli-linux-arm64-musl": "2.5.15",
|
||||
"@biomejs/cli-linux-x64": "2.5.15",
|
||||
"@biomejs/cli-linux-x64-musl": "2.5.15",
|
||||
"@biomejs/cli-win32-arm64": "2.5.15",
|
||||
"@biomejs/cli-win32-x64": "2.5.15"
|
||||
"@biomejs/cli-android-arm64": "2.6.3",
|
||||
"@biomejs/cli-android-x64": "2.6.3",
|
||||
"@biomejs/cli-darwin-arm64": "2.6.3",
|
||||
"@biomejs/cli-darwin-x64": "2.6.3",
|
||||
"@biomejs/cli-linux-arm64": "2.6.3",
|
||||
"@biomejs/cli-linux-arm64-musl": "2.6.3",
|
||||
"@biomejs/cli-linux-x64": "2.6.3",
|
||||
"@biomejs/cli-linux-x64-musl": "2.6.3",
|
||||
"@biomejs/cli-win32-arm64": "2.6.3",
|
||||
"@biomejs/cli-win32-x64": "2.6.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@biomejs/cli-android-arm64": {
|
||||
"version": "2.6.3",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-android-arm64/-/cli-android-arm64-2.6.3.tgz",
|
||||
"integrity": "sha512-5JD7QQDEHxdeEb4sftEHG+lsuUyu8Cob/hVLqRELbgGlFl68Rldv/PPi2k4dRjERZ/EItJ3O6Xmv8lqsEtUBiw==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT OR Apache-2.0",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"android"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=14.21.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@biomejs/cli-android-x64": {
|
||||
"version": "2.6.3",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-android-x64/-/cli-android-x64-2.6.3.tgz",
|
||||
"integrity": "sha512-70WOGKCgpT+Uqg6LFdTLqefV54/DypdZg+LnBQDO6AWvkgXO+9xhVClajQyDsIHYjnXMtI1pRO5sP+zMXlS/bw==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT OR Apache-2.0",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"android"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=14.21.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@biomejs/cli-darwin-arm64": {
|
||||
"version": "2.5.15",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.5.15.tgz",
|
||||
"integrity": "sha512-BZVzFhJ/mUvTLMYbc9x6el0o2Uv5zP7bACYyhFb6fSc1giroXm7PL0a5KqMJ9F+/BnkYRjagD/ROSDVOZ6eapg==",
|
||||
"version": "2.6.3",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.6.3.tgz",
|
||||
"integrity": "sha512-ezf+XEKeyJ2yYlBhrzyEEHLvfRYrhtNKc6maLzR/WcAcBccb4RVDeFxsymjBve2LO0bpIMRUAiS90D4bUBRT0A==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -113,9 +149,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@biomejs/cli-darwin-x64": {
|
||||
"version": "2.5.15",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.5.15.tgz",
|
||||
"integrity": "sha512-V5Kw63V+fVGNFhFrizDxMbGXAzZCh8kYzJpy3GI6gTapWDg7bZK9oYC9CbVgQSEdTnupz0U5Efz8Ev+5vdBBXw==",
|
||||
"version": "2.6.3",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.6.3.tgz",
|
||||
"integrity": "sha512-Lg2tFdg4elJo+7i707PpLMs6N1hATVt4kqDo6MD/q/VnPs8rsKReKXsz1TA5GNdfRVAQNJ5GRiyK2EwNptK+MA==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -130,9 +166,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@biomejs/cli-linux-arm64": {
|
||||
"version": "2.5.15",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.5.15.tgz",
|
||||
"integrity": "sha512-XaG7P7eeSLYETD3K9grfB0mQmpLQZjygdbsxekWBJAg4am79fGAtRpfRyNnTvXB2fZFNnJZG3nXm7HBat0+VUw==",
|
||||
"version": "2.6.3",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.6.3.tgz",
|
||||
"integrity": "sha512-8Stcvq98n1gs9VyLKuaWrnsd8kbXE2nKDAHtuLHGSYdGyNWN5JIIm5a28xdnmgdKzKHmiDgYyATetkEv7+zGow==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -150,9 +186,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@biomejs/cli-linux-arm64-musl": {
|
||||
"version": "2.5.15",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.5.15.tgz",
|
||||
"integrity": "sha512-tGzZUTcJCV7tj5Adh/Gn6nR4MycqA3iohq2LEcrarAgRBkU0h0OKd2UzCRkOsOYOuUGaUJb4YmqRqyy2feGGSw==",
|
||||
"version": "2.6.3",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.6.3.tgz",
|
||||
"integrity": "sha512-dYU70A89OFHzakQPE9VOPbE60JNcQt4mtxvUGQl+EgTkGtqCFxLD2RUn1SbiMu8Mu5xFscS1bfYDpoasaUrqNA==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -170,9 +206,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@biomejs/cli-linux-x64": {
|
||||
"version": "2.5.15",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.5.15.tgz",
|
||||
"integrity": "sha512-xE4iEW/3LqlYj9GFgGrFsFSH51dEEpUbYWBfeOv0q87WkUDxK2o/HhreSb7qMJqck70RVM6Lg96hgedcAYcOkA==",
|
||||
"version": "2.6.3",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.6.3.tgz",
|
||||
"integrity": "sha512-CShmx0bO6BngywT3minv8K1xsQX1ig1vsBqYTLnmDY3mBiDYHlaLRIsdHoM1pEU9dV3BN5a0uiH0IGDtYh9TWA==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -190,9 +226,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@biomejs/cli-linux-x64-musl": {
|
||||
"version": "2.5.15",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.5.15.tgz",
|
||||
"integrity": "sha512-IlxUcyxilVGPsE008x13pWdkTbU3nQpP2i9b5UrbOYj6goBkKsRX1XB7yJLcV+O1H9LBchIIm4adOaVLZBX0ZQ==",
|
||||
"version": "2.6.3",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.6.3.tgz",
|
||||
"integrity": "sha512-j6eFjUcWSphmgVTbrobEMA0wdbfNHKrGi8hRsFkc17jeS1n7nHwFACxp6jWqe9sxQqyFAeyOgt2/1bOGVcbATA==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -210,9 +246,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@biomejs/cli-win32-arm64": {
|
||||
"version": "2.5.15",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.5.15.tgz",
|
||||
"integrity": "sha512-2kPKzhNlm8C+Ru3GcO0Me2ODkCBLrVOUNuyi84RJyWDVKAA4+Kjj3jMjL938lF6BRfvltC4vB2nPY9SvN51Ovg==",
|
||||
"version": "2.6.3",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.6.3.tgz",
|
||||
"integrity": "sha512-00SthDxBPwNiT7IL/mOneif6fiEU1PXK875zhr+InpeZjovY1mF5tCuDhXo1Hh0GYyiKHKzLbItzn58SAyLhJQ==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -227,9 +263,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@biomejs/cli-win32-x64": {
|
||||
"version": "2.5.15",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.5.15.tgz",
|
||||
"integrity": "sha512-yAzh4UqEImV6Hcy0zjUqNfJAsUhoD64FBQCdTG8Md/Z2wQeVP/ZmJ3XRYAs1g8J9fjTFyl2fCtc5FB5til47+g==",
|
||||
"version": "2.6.3",
|
||||
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.6.3.tgz",
|
||||
"integrity": "sha512-GhtOPphBWlnCepqpNk/w5eGN5oGRCzL20EbAkL1XCIpyboeVC9R642noyT43l8LSenGS4qz9IL8sKPfwY37V/Q==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -315,9 +351,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@csstools/css-syntax-patches-for-csstree": {
|
||||
"version": "1.1.15",
|
||||
"resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.1.15.tgz",
|
||||
"integrity": "sha512-J0u7HkVl2nzSlhsiTOp4AmwcUQ3D+mGEEKfBy/7To5/y7F2OHwyLrXfrhR0SMgr4p5Lo+eaMVSeai24zUcBIxA==",
|
||||
"version": "1.1.16",
|
||||
"resolved": "https://registry.npmjs.org/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.1.16.tgz",
|
||||
"integrity": "sha512-LsDbJPP/B8cPasUJyTA5S99F7C4G93ngW8hUluXz8CFeOaaRnBPtBiIlvgcPYU0HmHNz8CXg+1vwFrIB4F6Dgw==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
@@ -1078,9 +1114,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@oxc-project/types": {
|
||||
"version": "0.153.0",
|
||||
"resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.153.0.tgz",
|
||||
"integrity": "sha512-jSNrRIyvPVLL5E1z/tS5zLAprosGz/FuI1PWwEOz59j3E4TTTzSpqKb/RDGqJhhW0QHYISGXxq582wGx6T11Tw==",
|
||||
"version": "0.156.0",
|
||||
"resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.156.0.tgz",
|
||||
"integrity": "sha512-1Duyg48TdJNdyhEB8Xn1L36bT9Pv6GUtlKjHxOys8xkaF/rQq3XJE+bAurSK/AgIz5mGFsb77cn9Pb20+WCScw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"funding": {
|
||||
@@ -1148,9 +1184,9 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@poppinss/utils": {
|
||||
"version": "7.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@poppinss/utils/-/utils-7.1.1.tgz",
|
||||
"integrity": "sha512-m1pR6EsycFyDHWDyoWnTI2sgEpOAZuKECQRgZ9i+uGzU/DNoEXn70ldt1V3u2EKp2tNf9T9QqX1wBMHm+xcpiw==",
|
||||
"version": "7.1.2",
|
||||
"resolved": "https://registry.npmjs.org/@poppinss/utils/-/utils-7.1.2.tgz",
|
||||
"integrity": "sha512-fliKjqqbgEWa4yqHV2Vj7mgNmsARtJ6QeYy5/l0fDWrJ+gHZ3pmwiOqixuejZDsF+h2gdn8MMA+oAy2GfvqDVQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -1162,9 +1198,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-android-arm-eabi": {
|
||||
"version": "1.2.13",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm-eabi/-/binding-android-arm-eabi-1.2.13.tgz",
|
||||
"integrity": "sha512-Vu/NICrgdRvUOeaJZIyB2FP63s6fO/4ud5l8dXmxDx9yDyn+mN0y+gsvsVviSli+T361Aqo0h46EuMoobrwawA==",
|
||||
"version": "1.2.16",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm-eabi/-/binding-android-arm-eabi-1.2.16.tgz",
|
||||
"integrity": "sha512-ia3DwAs0OsMGS7+IConptSiyk9pEXkOx/AbJ2n/lAGxH3QkWQus1t8d7gnAT38FCU2sQu8lUbeR6AiZFv4JxaA==",
|
||||
"cpu": [
|
||||
"arm"
|
||||
],
|
||||
@@ -1179,9 +1215,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-android-arm64": {
|
||||
"version": "1.2.13",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.2.13.tgz",
|
||||
"integrity": "sha512-6LEoIrGy5vvCd2boNnv2soPSUZj/PRvhp8R/t9KlX+mIZxThIE/ZqxrGXxmuNX0FuvQFvLdZr7S4HrYpYBVhEQ==",
|
||||
"version": "1.2.16",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.2.16.tgz",
|
||||
"integrity": "sha512-kx5wBiMB6E7TEvpl2B9gjLU004BkvEm2Dr941BFjx/SontPwSzNuQUIoVKxHHoSjpFIfHMmcguyLOtyn0hObRg==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -1196,9 +1232,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-darwin-arm64": {
|
||||
"version": "1.2.13",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.2.13.tgz",
|
||||
"integrity": "sha512-CaJSRzlQ6Q+zkDMVA9OkVxBjVoPRCDEE3v0FSJ9kIQBgRjFApA3Si4ijhbNVUji7ZJt+PfO0e46qy4nPInHUPA==",
|
||||
"version": "1.2.16",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.2.16.tgz",
|
||||
"integrity": "sha512-qslZrXnKJU4cUpjoAmtAo/KQM9e2IRMlmpig6Zpwj+8KWxW8v+nkAf9216Bsek9lOC1jvg2yCjygCFo2f83msQ==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -1213,9 +1249,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-darwin-x64": {
|
||||
"version": "1.2.13",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.2.13.tgz",
|
||||
"integrity": "sha512-e4r340I5hxSzJkD3YJBxgzq/rJ3wwxwdLLb2FPt1Zpyem20nrQPT11DDEEkazwxaHumH8wpglsp/Ozgj/wT6mw==",
|
||||
"version": "1.2.16",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.2.16.tgz",
|
||||
"integrity": "sha512-FdF+y48ND13eAyM2mQn+85kvAqNlvRWROy2rhgA463X/0Gv4vGtazZtfaF1mRBLscYvtOlh4QnLjOWiFzX69OQ==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -1230,9 +1266,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-freebsd-x64": {
|
||||
"version": "1.2.13",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.2.13.tgz",
|
||||
"integrity": "sha512-hoBWDZ4/K/mJKVMbsgUd1jfpA2DiOrJ54mpegObU9TBHBBrtX4FLIXJJQRDPZ/2Dn91GvPob+Z2hwKJzf4E5SQ==",
|
||||
"version": "1.2.16",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.2.16.tgz",
|
||||
"integrity": "sha512-ddjqFM5e95AgLbUPtKIS7V1KTVlA0RUgCVr5mn+/IEhsdy3pr+Vuj/HZ7nlMN2FyxIwUktOH1LEPIQXO1v9y1Q==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -1247,9 +1283,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-linux-arm-gnueabihf": {
|
||||
"version": "1.2.13",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.2.13.tgz",
|
||||
"integrity": "sha512-oF9fZu3vTWnTiVAkDFxU9PJLt1nh20K9RRpuHsR7ZnE2L7XookBbDBVLojCVSLGbvtSlxeUNnjAj6DbNsKyzbg==",
|
||||
"version": "1.2.16",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.2.16.tgz",
|
||||
"integrity": "sha512-tHdKWbFkFBI687iim3LIyIvyL7j66VvQYkDPss5Stn/qyE2tWkR1YD0dXmXPFKKqT/o5ZEJVsaRsWS2meQwGOA==",
|
||||
"cpu": [
|
||||
"arm"
|
||||
],
|
||||
@@ -1264,9 +1300,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-linux-arm64-gnu": {
|
||||
"version": "1.2.13",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.2.13.tgz",
|
||||
"integrity": "sha512-DTpb/+jMiqWMPgphn4ksW1zW+XLJ6dJJ9FMvnIk9I291LhCctMPhMYJrP5t9p6C9qa3KXadDdUEZHBaPh3kNxQ==",
|
||||
"version": "1.2.16",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.2.16.tgz",
|
||||
"integrity": "sha512-FJiLGAblPBMlBEdbOqw6kW6QcXDWAf/oJu7gYs9ZJZwmg+K+/zjFLxPTIY9izJUzxzc24FHvmseyA0IvJSl17w==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -1284,9 +1320,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-linux-arm64-musl": {
|
||||
"version": "1.2.13",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.2.13.tgz",
|
||||
"integrity": "sha512-xU+Kvv9N2A3SY35zFh1FWWNjxbadE/BKeqnkXe7vScU4GZsw757BlVmDLITZEq8DPpk6m7uoDYkK7P+x/uU5Ow==",
|
||||
"version": "1.2.16",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.2.16.tgz",
|
||||
"integrity": "sha512-hrJpblMsrQ58U9veWpbXzkhV5zStunds6HWLprqq1qauvgBr1E6P+24kLj6lSLI9vjRn/RYpjprhkHQPKGWpNg==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -1304,9 +1340,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-linux-ppc64-gnu": {
|
||||
"version": "1.2.13",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.2.13.tgz",
|
||||
"integrity": "sha512-XMk/hnhh25oQ756Lclb1Q11h4ll0xC0Esa5w4Vzp+mAE2S3AGJgeM0SonrIgY8fHhjarb6hcoTuwoFG0VVP2ig==",
|
||||
"version": "1.2.16",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.2.16.tgz",
|
||||
"integrity": "sha512-qJd/dC6j6CwLG9/s/RP2nb1RZ0GIgj7Ioj7x/SYa3RzjVrlzrmH0fhIOpfvqQDeIsdP0loi+kHaMhJzY1PBIaA==",
|
||||
"cpu": [
|
||||
"ppc64"
|
||||
],
|
||||
@@ -1324,9 +1360,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-linux-s390x-gnu": {
|
||||
"version": "1.2.13",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.2.13.tgz",
|
||||
"integrity": "sha512-U1BoTHYmlywE2n3HUWjzZ+8EQsKr+OwpxYuDWaubx42tUL8QSL7nOqRz/NVHanibbFP3M1Rxuprz/wNcbMKjqw==",
|
||||
"version": "1.2.16",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.2.16.tgz",
|
||||
"integrity": "sha512-Vx7Xg5uUJuNcujJjI70OICaH0EYj80BtOLZTSN7uOYg8QOLlyKnaG0IW7Fn/J0IpJsaKzmDKMhOQv1JBM9m9vg==",
|
||||
"cpu": [
|
||||
"s390x"
|
||||
],
|
||||
@@ -1344,9 +1380,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-linux-x64-gnu": {
|
||||
"version": "1.2.13",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.2.13.tgz",
|
||||
"integrity": "sha512-J4cm80Pc6wEwV5AZ42o62sIQgDk+Y7R2s646jIwuvO+4V46QB58N4vVuMPWCBaNgursXLpmUWJV//WQAkPvHBQ==",
|
||||
"version": "1.2.16",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.2.16.tgz",
|
||||
"integrity": "sha512-TNKhgE3uJTsTzatUSSYt0Kgo+Oa2uSlSjz4r1aEIea7HX6ULBym4fAlYUhG1i6pjNf2njfCUAfKwr6C3E9Xg1w==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -1364,9 +1400,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-linux-x64-musl": {
|
||||
"version": "1.2.13",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.2.13.tgz",
|
||||
"integrity": "sha512-W0euZS40U4V6JkmEnVCIX9mcsL6cbXQ4X8c2w+MMOIjFg68TXUW+u3RT+2e1t1pv9mg/EP3pDtK3POXdQ7Rxyw==",
|
||||
"version": "1.2.16",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.2.16.tgz",
|
||||
"integrity": "sha512-7chXdpjXZ8qG0+mIxECN3cT9kvhZ3/oZhMX6Pp876P7CDrIy8nJswva6Mq357JR7eYXfuskwZxMeV1SzoZdHrA==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -1384,9 +1420,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-openharmony-arm64": {
|
||||
"version": "1.2.13",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.2.13.tgz",
|
||||
"integrity": "sha512-do/AF/4n9MRshia3a5aXoy8xM2c6mgfT6D7H/dY6my5z+hfCIR4ab7mk4IRj++nsEQpKy39kd0DQnDq+r692tw==",
|
||||
"version": "1.2.16",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.2.16.tgz",
|
||||
"integrity": "sha512-Kwjt+7uNTJK5/MDkGWGVO2KQPnj8yAV75dMpfwyHZrJSXWHrniOB0aUEWlVYf3H1hOqFLIStLdM5QXq6bnKmOQ==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -1401,9 +1437,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-win32-arm64-msvc": {
|
||||
"version": "1.2.13",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.2.13.tgz",
|
||||
"integrity": "sha512-6FtUf2cJZobutJdxnGYX8z0vtbgqU0b2v8vfBhkXb9wp2MppMFtkunE+IaOntyi01rkIQoPW2GHABtfzsC0BRQ==",
|
||||
"version": "1.2.16",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.2.16.tgz",
|
||||
"integrity": "sha512-/LH6WfjDRXXJz/p5xl4TmU+jpcnwcxbKEQBW/GZE0JHfN0lGIyTtsUEGaQ/q/GikkGJ2yLKe6pwm7AnEWO8pdw==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
@@ -1418,9 +1454,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/binding-win32-x64-msvc": {
|
||||
"version": "1.2.13",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.2.13.tgz",
|
||||
"integrity": "sha512-UKhFaZTeTcbKrb3iU82m17jVcPEAoqDkCN5MBqgPyZSwp/cQmib21crTS0DdH7T1B7wZRWEI89YQAOJMet5yhg==",
|
||||
"version": "1.2.16",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.2.16.tgz",
|
||||
"integrity": "sha512-1lv1KvX0Z871zfk7vw+dnXMMnHNyDwMzWG8Kv3HxDXMOhzCX4SHc7HK319fInP0i+0p9D8brkfzL7pJOaGl+tw==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
@@ -1594,16 +1630,16 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@types/css-tree": {
|
||||
"version": "2.3.11",
|
||||
"resolved": "https://registry.npmjs.org/@types/css-tree/-/css-tree-2.3.11.tgz",
|
||||
"integrity": "sha512-aEokibJOI77uIlqoBOkVbaQGC9zII0A+JH1kcTNKW2CwyYWD8KM6qdo+4c77wD3wZOQfJuNWAr9M4hdk+YhDIg==",
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/css-tree/-/css-tree-3.2.0.tgz",
|
||||
"integrity": "sha512-J5KXmk6BFIepOT7280FdFyNs4c5fh0Uee0otjKEvzchrRs38Ii9qminqc4ds0L19X8Zd/rT+brR9jkBthygjWw==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@types/node": {
|
||||
"version": "26.6.5",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-26.6.5.tgz",
|
||||
"integrity": "sha512-uMzsv9stDdofIZBx4UGh4Z9ZgXnGC9seRDscilBcTHAeOFk67MZg/k9bWVfO+bk4qZmG+l52hRnLwUiH2LnJTg==",
|
||||
"version": "26.6.6",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-26.6.6.tgz",
|
||||
"integrity": "sha512-MzQj+8Kx3XI40OmUAE6Qoh58ZMNstNNMwn2nfd3qWsfe7nDNSqJNzes4njhz6AHwrSHOffSLwXU6yb474Q4aog==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -2004,9 +2040,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/ansi-regex": {
|
||||
"version": "6.4.0",
|
||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.4.0.tgz",
|
||||
"integrity": "sha512-KzTVk2tCWAHtYrvvvaP8bJKJq2pVinhLcGEQdtLIYPbmNGNyYe8QwNaTUYQp2J7/vIsUKt5QCqAfUkYyG9DkOw==",
|
||||
"version": "6.5.0",
|
||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.5.0.tgz",
|
||||
"integrity": "sha512-zhvbbbdt1kbw7EJ9OQoxmQcuaNR9P5kTj7e/YdmOSU10aHWbycofJxA6jKfoEy3vlLdctOF9ZHaxLtmSm998wQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
@@ -2060,9 +2096,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/baseline-browser-mapping": {
|
||||
"version": "2.11.30",
|
||||
"resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.11.30.tgz",
|
||||
"integrity": "sha512-YJs6Pz17RMNv8HoyKREtCY38E3BV1nPkWVmIb+XN1uHC1Vqt3KZCH/uJH9ZKRoiKb/icZ6tvehyee6RZNbFfRA==",
|
||||
"version": "2.11.34",
|
||||
"resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.11.34.tgz",
|
||||
"integrity": "sha512-Aqr8mA1kIvyJ3UY5YAY7ib8LSo1DmDMbMnVqGPtsKW1LxaFQFwn9Eb3yvq2fUKJsRvaXjnAV7R5osqETapzNiA==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"bin": {
|
||||
@@ -2093,9 +2129,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/browserslist": {
|
||||
"version": "4.29.4",
|
||||
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.29.4.tgz",
|
||||
"integrity": "sha512-2TcbbiwXEq+N0kD36tykpCfyyQigUXmuwNQbnPp4Xk4PX9JOqVIKjJlIDjpH7uY6tmRGoAd+apeT1p60T8wsdA==",
|
||||
"version": "4.29.5",
|
||||
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.29.5.tgz",
|
||||
"integrity": "sha512-khTmKu5NGYTotqcYo8Bew2k4RAE9PuXRSFRXG2lQBrCEQHyeQ/vX6gKMxfokwywBsLiXZMnHsmWMG1pnO8J7uQ==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
@@ -2113,10 +2149,10 @@
|
||||
],
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"baseline-browser-mapping": "^2.11.29",
|
||||
"caniuse-lite": "^1.0.30001816",
|
||||
"electron-to-chromium": "^1.5.459",
|
||||
"node-releases": "^2.0.59",
|
||||
"baseline-browser-mapping": "^2.11.33",
|
||||
"caniuse-lite": "^1.0.30001819",
|
||||
"electron-to-chromium": "^1.5.464",
|
||||
"node-releases": "^2.0.60",
|
||||
"update-browserslist-db": "^1.3.4"
|
||||
},
|
||||
"bin": {
|
||||
@@ -2170,9 +2206,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/caniuse-lite": {
|
||||
"version": "1.0.30001817",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001817.tgz",
|
||||
"integrity": "sha512-uZ1JG80BwhtMalIAGPxPfmNhHyd/B/nTdr3hITWlRamSyAdUStP1Gop01e7SD5q6J90ixJvWDbvmiFVfDgn4bw==",
|
||||
"version": "1.0.30001820",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001820.tgz",
|
||||
"integrity": "sha512-gfWD6MxqVCqAOwmODfZf7DchWvlrA+SRdNX7ceLfg3xRqe5ssjjpF7EgslC/0tiLiNTajdaNN/q8c/5u/7Gz8w==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
@@ -2401,14 +2437,21 @@
|
||||
"license": "CC0-1.0"
|
||||
},
|
||||
"node_modules/debug": {
|
||||
"version": "2.6.9",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
|
||||
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
|
||||
"version": "4.4.3",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
|
||||
"integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"ms": "2.0.0"
|
||||
"ms": "^2.1.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"supports-color": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/decimal.js": {
|
||||
@@ -2581,9 +2624,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/electron-to-chromium": {
|
||||
"version": "1.5.460",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.460.tgz",
|
||||
"integrity": "sha512-rRaVC7bNUyGsL+GMtmZfv3AfgG6za7gE9v5bT0PIbjEerddA0IQ+tCK05NFAXqCpNlrxBZqbFqquyxHRQONHTA==",
|
||||
"version": "1.5.472",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.472.tgz",
|
||||
"integrity": "sha512-s4+nfT29b0FKpVKoaIxl2pWsoNcn7A/nMPSrxayw4T3BsmPeV2lF9Y06BsAQeMGhCTQ4nYJ5XST7jkqe4ZEqFw==",
|
||||
"dev": true,
|
||||
"license": "ISC"
|
||||
},
|
||||
@@ -2703,9 +2746,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/fast-uri": {
|
||||
"version": "3.1.8",
|
||||
"resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.8.tgz",
|
||||
"integrity": "sha512-GZMtZUTNRpOVIECoXwLNZS5xUGE+mVNbTB8h/7Rwh2TFWcBQiPzTgyZi05BF9UMZKkLJv8XBRJTlU7zg8+ZfMg==",
|
||||
"version": "3.1.9",
|
||||
"resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.9.tgz",
|
||||
"integrity": "sha512-hS/0Wt3Ya043oKXs0sIxrMpKQITXhMLIrVAKKXi4gozGC9v7YRWVnXIZzjNPTO02M9BdxLCWqK1yRXgNziVyJQ==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
@@ -3017,9 +3060,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/ignore": {
|
||||
"version": "7.0.12",
|
||||
"resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.12.tgz",
|
||||
"integrity": "sha512-/8UvqAPU9DGTI9k4mxtf49U37Isfwr8Uts96+SBHIkFxPJnHS0Ew4f00sM4Scd8V8EjM0jUNtVDdv1kPdt35lg==",
|
||||
"version": "7.0.14",
|
||||
"resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.14.tgz",
|
||||
"integrity": "sha512-wCBiZ77u1tuWde6G/nfOtLaCTYcFDU5yCzARzK10y+rLhzYoL7a7yEemcopcc2Mzow7gZOIjnV2ym1NYmdiJOQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
@@ -3679,12 +3722,11 @@
|
||||
}
|
||||
},
|
||||
"node_modules/ms": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
|
||||
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
|
||||
"version": "2.1.3",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
|
||||
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/nanoid": {
|
||||
"version": "3.3.20",
|
||||
@@ -3724,9 +3766,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/node-releases": {
|
||||
"version": "2.0.59",
|
||||
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.59.tgz",
|
||||
"integrity": "sha512-5qr2okC4ItAI0hG5SaV0HoYMpnM/Y6+Oqr7AmPYy/2uEoGvS+GbSKLeRxSS1uAdu59yz0ouzcuXievSgg///WA==",
|
||||
"version": "2.0.63",
|
||||
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.63.tgz",
|
||||
"integrity": "sha512-6li2QanLsAXpIH2R6j77MzRyvOyrvdTqlKtO4CgBdHGNvN99ZZfyxszHc5o5+IZBWD5u6Hzwg83JoGXmqZNG9Q==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
@@ -3896,9 +3938,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/postcss": {
|
||||
"version": "8.5.29",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.29.tgz",
|
||||
"integrity": "sha512-49cGhUbXj8Qenv0iTMxA1cFBzxXoctpC9Ujd77t1WcbJIr6nF/eI7g/8MgxrYldFRuAXvja7xQRwavoW7kgrxQ==",
|
||||
"version": "8.5.32",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.32.tgz",
|
||||
"integrity": "sha512-LJlKCCAUFKOuZxipUdYw1NzIITEsPcgyOG9LkvRJvuKj/bRzbuRY0ARXvL0pWGpsZvn8jku+LMep2eU0seHp8g==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
@@ -3916,7 +3958,7 @@
|
||||
],
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"nanoid": "^3.3.19",
|
||||
"nanoid": "^3.3.20",
|
||||
"picocolors": "^1.1.1",
|
||||
"source-map-js": "^1.2.2"
|
||||
},
|
||||
@@ -3965,9 +4007,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/postcss-selector-parser": {
|
||||
"version": "7.1.6",
|
||||
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.6.tgz",
|
||||
"integrity": "sha512-7qASPzhKF2l2KLboRZux8CCTRMdGiV08vWmyKzPz22qZ7ZjQBOeY7rNzNoCLSUiftJ7HUq0GERHmxw/t0dCdMw==",
|
||||
"version": "7.1.7",
|
||||
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.7.tgz",
|
||||
"integrity": "sha512-wWBro/7hJ40ye6TPiXkUQoXKCw23xSsjriUvqd7Uls9Sso3oLiON1flc18cCdnjgCRXw4fBVqUJJeOdDTh3P3g==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -3986,9 +4028,9 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/prettier": {
|
||||
"version": "3.9.9",
|
||||
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.9.9.tgz",
|
||||
"integrity": "sha512-Z/CJHIkdujO/OtN7nXUii0Rf3VT5SRuhjBA82Xvu2XhBUgX3nhP67T0LHceBdQLex7OOFGTox+Q5Yg8Jk2Qivg==",
|
||||
"version": "3.9.10",
|
||||
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.9.10.tgz",
|
||||
"integrity": "sha512-skGHTH1Yb9QvaTC4hWnRTzEYtCpApF0UMBPz+t/0ZPzP8ihefo/btKd+QA7pUE0fEwA1SbS/NmhyEcstdXOIdA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"peer": true,
|
||||
@@ -4016,9 +4058,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/probe-image-size": {
|
||||
"version": "7.4.0",
|
||||
"resolved": "https://registry.npmjs.org/probe-image-size/-/probe-image-size-7.4.0.tgz",
|
||||
"integrity": "sha512-cdEprVtZxV+awMde9X+4jILBFYh4CARxVrQaMl4wY4YcPWbul9jntXrIW95NInBDyJwcVUP3U0T6yukN8rMBaQ==",
|
||||
"version": "7.5.0",
|
||||
"resolved": "https://registry.npmjs.org/probe-image-size/-/probe-image-size-7.5.0.tgz",
|
||||
"integrity": "sha512-ietdx4XPgmnzHRZOq1/KtcnsBkL4bRsBe+Szj5Tuq1/KPqDG42OspG1IhJb7vz6Z9pSzhp0J6UPnw6hujJTWoQ==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
@@ -4034,8 +4076,7 @@
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"lodash.merge": "^4.6.2",
|
||||
"needle": "^2.5.2",
|
||||
"stream-parser": "~0.3.1"
|
||||
"needle": "^2.5.2"
|
||||
}
|
||||
},
|
||||
"node_modules/probe-image-size/node_modules/debug": {
|
||||
@@ -4063,14 +4104,6 @@
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/probe-image-size/node_modules/ms": {
|
||||
"version": "2.1.3",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
|
||||
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true
|
||||
},
|
||||
"node_modules/probe-image-size/node_modules/needle": {
|
||||
"version": "2.9.1",
|
||||
"resolved": "https://registry.npmjs.org/needle/-/needle-2.9.1.tgz",
|
||||
@@ -4230,13 +4263,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/rolldown": {
|
||||
"version": "1.2.13",
|
||||
"resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.2.13.tgz",
|
||||
"integrity": "sha512-/5apOkwWxtACcQtZ5WlrAsKS4JwXVThQPJZ3RqIruRY9UG9M8e0VlXN068xum/JRKA4aIUoJ13ghe/kGCvidiQ==",
|
||||
"version": "1.2.16",
|
||||
"resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.2.16.tgz",
|
||||
"integrity": "sha512-bWvlMpFKiTfDKfnK7FC2MPgPeWCf/Kpwsq49ApdW+FQaBZb6O6dZ4MAPbPUjp7hYQrw/RobqCzn64BRrQecGHw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@oxc-project/types": "=0.153.0",
|
||||
"@oxc-project/types": "=0.156.0",
|
||||
"@rolldown/pluginutils": "^1.0.0"
|
||||
},
|
||||
"bin": {
|
||||
@@ -4246,21 +4279,21 @@
|
||||
"node": "^20.19.0 || >=22.12.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@rolldown/binding-android-arm-eabi": "1.2.13",
|
||||
"@rolldown/binding-android-arm64": "1.2.13",
|
||||
"@rolldown/binding-darwin-arm64": "1.2.13",
|
||||
"@rolldown/binding-darwin-x64": "1.2.13",
|
||||
"@rolldown/binding-freebsd-x64": "1.2.13",
|
||||
"@rolldown/binding-linux-arm-gnueabihf": "1.2.13",
|
||||
"@rolldown/binding-linux-arm64-gnu": "1.2.13",
|
||||
"@rolldown/binding-linux-arm64-musl": "1.2.13",
|
||||
"@rolldown/binding-linux-ppc64-gnu": "1.2.13",
|
||||
"@rolldown/binding-linux-s390x-gnu": "1.2.13",
|
||||
"@rolldown/binding-linux-x64-gnu": "1.2.13",
|
||||
"@rolldown/binding-linux-x64-musl": "1.2.13",
|
||||
"@rolldown/binding-openharmony-arm64": "1.2.13",
|
||||
"@rolldown/binding-win32-arm64-msvc": "1.2.13",
|
||||
"@rolldown/binding-win32-x64-msvc": "1.2.13"
|
||||
"@rolldown/binding-android-arm-eabi": "1.2.16",
|
||||
"@rolldown/binding-android-arm64": "1.2.16",
|
||||
"@rolldown/binding-darwin-arm64": "1.2.16",
|
||||
"@rolldown/binding-darwin-x64": "1.2.16",
|
||||
"@rolldown/binding-freebsd-x64": "1.2.16",
|
||||
"@rolldown/binding-linux-arm-gnueabihf": "1.2.16",
|
||||
"@rolldown/binding-linux-arm64-gnu": "1.2.16",
|
||||
"@rolldown/binding-linux-arm64-musl": "1.2.16",
|
||||
"@rolldown/binding-linux-ppc64-gnu": "1.2.16",
|
||||
"@rolldown/binding-linux-s390x-gnu": "1.2.16",
|
||||
"@rolldown/binding-linux-x64-gnu": "1.2.16",
|
||||
"@rolldown/binding-linux-x64-musl": "1.2.16",
|
||||
"@rolldown/binding-openharmony-arm64": "1.2.16",
|
||||
"@rolldown/binding-win32-arm64-msvc": "1.2.16",
|
||||
"@rolldown/binding-win32-x64-msvc": "1.2.16"
|
||||
}
|
||||
},
|
||||
"node_modules/run-parallel": {
|
||||
@@ -4479,17 +4512,6 @@
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/stream-parser": {
|
||||
"version": "0.3.1",
|
||||
"resolved": "https://registry.npmjs.org/stream-parser/-/stream-parser-0.3.1.tgz",
|
||||
"integrity": "sha512-bJ/HgKq41nlKvlhccD5kaCr/P+Hu0wPNKPJOH7en+YrJu/9EgqUF+88w5Jb6KNcjOFMhfX4B2asfeAtIGuHObQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"debug": "2"
|
||||
}
|
||||
},
|
||||
"node_modules/string-width": {
|
||||
"version": "8.3.0",
|
||||
"resolved": "https://registry.npmjs.org/string-width/-/string-width-8.3.0.tgz",
|
||||
@@ -4689,13 +4711,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/stylelint-less": {
|
||||
"version": "4.2.1",
|
||||
"resolved": "https://registry.npmjs.org/stylelint-less/-/stylelint-less-4.2.1.tgz",
|
||||
"integrity": "sha512-FREYAwwm5cTAeCGmAJlq1228tEi62puMxM4IughUMVifIIUac7Mu03u410/S5QYCwA7L2l9HjiRyh4TQKkFhcA==",
|
||||
"version": "4.2.2",
|
||||
"resolved": "https://registry.npmjs.org/stylelint-less/-/stylelint-less-4.2.2.tgz",
|
||||
"integrity": "sha512-UmuA5cLcMAi3BZ0kd8VrbOUov6QFyHe8Y9i+sA7uiqvOEioD5KVfQT1AafJ2TjA0r2wocScbtTBbDDYUAxaQxg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@types/css-tree": "^2.3.11",
|
||||
"@types/css-tree": "^3.2.0",
|
||||
"css-tree": "^3.2.1",
|
||||
"postcss-value-parser": "4.2.0"
|
||||
},
|
||||
@@ -4721,24 +4743,6 @@
|
||||
"stylelint": ">=16.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/stylelint/node_modules/debug": {
|
||||
"version": "4.4.3",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
|
||||
"integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"ms": "^2.1.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"supports-color": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/stylelint/node_modules/meow": {
|
||||
"version": "14.1.0",
|
||||
"resolved": "https://registry.npmjs.org/meow/-/meow-14.1.0.tgz",
|
||||
@@ -4752,13 +4756,6 @@
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/stylelint/node_modules/ms": {
|
||||
"version": "2.1.3",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
|
||||
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/supports-color": {
|
||||
"version": "10.2.2",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-10.2.2.tgz",
|
||||
@@ -4951,9 +4948,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/tslib": {
|
||||
"version": "2.8.1",
|
||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
|
||||
"integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
|
||||
"version": "2.9.1",
|
||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.9.1.tgz",
|
||||
"integrity": "sha512-a4Ux9VKuIMHsOS7ENbEq6hK2ZGYIT27Rtl0E4eD9KqwxhKiQeMZE/9xb3IdYwWaSOyIBQLExhQgXDTYoiCxnWA==",
|
||||
"dev": true,
|
||||
"license": "0BSD",
|
||||
"optional": true
|
||||
@@ -5071,16 +5068,16 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/vite": {
|
||||
"version": "8.3.4",
|
||||
"resolved": "https://registry.npmjs.org/vite/-/vite-8.3.4.tgz",
|
||||
"integrity": "sha512-IftLE8phJhdNRIGNEV4JCCvfNScoZQVfcXaN8TQropWGJtOHcu+iAB9pHcuGvmEb/kddw0LBe/jS8ztdC6xdiQ==",
|
||||
"version": "8.3.5",
|
||||
"resolved": "https://registry.npmjs.org/vite/-/vite-8.3.5.tgz",
|
||||
"integrity": "sha512-z1YpjieJ9g0ebTmQpLBv/oq9E3F9EIlOe+7LahW8SrE3LTiG3udBRUXQOlYXP9b+IC2q2phHeVxj9xGlw34OEQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"lightningcss": "^1.33.0",
|
||||
"picomatch": "^4.0.7",
|
||||
"postcss": "^8.5.29",
|
||||
"rolldown": "~1.2.12",
|
||||
"postcss": "^8.5.30",
|
||||
"rolldown": "~1.2.14",
|
||||
"tinyglobby": "^0.2.17"
|
||||
},
|
||||
"bin": {
|
||||
@@ -5097,7 +5094,7 @@
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@types/node": "^20.19.0 || >=22.12.0",
|
||||
"@vitejs/devtools": "^0.7.1",
|
||||
"@vitejs/devtools": "^0.7.1 || ^0.8.0",
|
||||
"esbuild": "^0.27.0 || ^0.28.0",
|
||||
"jiti": ">=1.21.0",
|
||||
"less": "^4.0.0",
|
||||
|
||||
@@ -29,9 +29,9 @@
|
||||
"swiped-events": "1.2.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@biomejs/biome": "2.5.15",
|
||||
"@biomejs/biome": "2.6.3",
|
||||
"@types/node": "^26.6.5",
|
||||
"browserslist": "^4.29.4",
|
||||
"browserslist": "^4.29.5",
|
||||
"browserslist-to-esbuild": "^2.1.1",
|
||||
"edge.js": "^6.5.1",
|
||||
"less": "^4.9.0",
|
||||
@@ -43,7 +43,7 @@
|
||||
"stylelint-prettier": "^5.0.3",
|
||||
"svgo": "^4.1.0",
|
||||
"typescript": "~7.0.2",
|
||||
"vite": "^8.3.3",
|
||||
"vite": "^8.3.5",
|
||||
"vite-bundle-analyzer": "^1.3.9"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -58,7 +58,7 @@ listen("click", "#copy-hash", async function (this: HTMLElement) {
|
||||
assertElement(target);
|
||||
|
||||
if (window.isSecureContext) {
|
||||
await navigator.clipboard.writeText(target.innerText);
|
||||
await navigator.clipboard.writeText(target.textContent);
|
||||
} else {
|
||||
const selection = window.getSelection();
|
||||
if (selection) {
|
||||
@@ -71,6 +71,6 @@ listen("click", "#copy-hash", async function (this: HTMLElement) {
|
||||
}
|
||||
|
||||
if (this.dataset.copiedText) {
|
||||
this.innerText = this.dataset.copiedText;
|
||||
this.textContent = this.dataset.copiedText;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -135,7 +135,7 @@ listen("click", "#copy_url", async function (this: HTMLElement) {
|
||||
assertElement(target);
|
||||
|
||||
if (window.isSecureContext) {
|
||||
await navigator.clipboard.writeText(target.innerText);
|
||||
await navigator.clipboard.writeText(target.textContent);
|
||||
} else {
|
||||
const selection = window.getSelection();
|
||||
if (selection) {
|
||||
@@ -148,7 +148,7 @@ listen("click", "#copy_url", async function (this: HTMLElement) {
|
||||
}
|
||||
|
||||
if (this.dataset.copiedText) {
|
||||
this.innerText = this.dataset.copiedText;
|
||||
this.textContent = this.dataset.copiedText;
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
+68
-18
@@ -195,7 +195,7 @@
|
||||
"eo": "armena dramo",
|
||||
"es": "dram armenio",
|
||||
"et": "Armeenia dramm",
|
||||
"eu": "dram",
|
||||
"eu": "armeniar dram",
|
||||
"fi": "Armenian dram",
|
||||
"fr": "dram arménien",
|
||||
"ga": "dram na hAirméine",
|
||||
@@ -322,7 +322,7 @@
|
||||
"fi": "Argentiinan peso",
|
||||
"fr": "peso argentin",
|
||||
"ga": "peso inmhalartaithe na hAirgintíne",
|
||||
"gl": "Peso arxentino",
|
||||
"gl": "peso arxentino",
|
||||
"he": "פסו ארגנטינאי",
|
||||
"hr": "Argentinski pezo",
|
||||
"hu": "argentin peso",
|
||||
@@ -1089,7 +1089,7 @@
|
||||
"ia": "Dollar canadian",
|
||||
"id": "Dolar Kanada",
|
||||
"it": "dollaro canadese",
|
||||
"ja": "カナダドル",
|
||||
"ja": "カナダ・ドル",
|
||||
"ko": "캐나다 달러",
|
||||
"lt": "Kanados doleris",
|
||||
"lv": "Kanādas dolārs",
|
||||
@@ -1112,7 +1112,7 @@
|
||||
"tr": "Kanada doları",
|
||||
"tt": "Канада дуллыры",
|
||||
"uk": "канадський долар",
|
||||
"vi": "Đô la Canada"
|
||||
"vi": "đô la Canada"
|
||||
},
|
||||
"CDF": {
|
||||
"af": "Kongolese frank",
|
||||
@@ -1235,7 +1235,7 @@
|
||||
"fi": "Chilen peso",
|
||||
"fr": "peso chilien",
|
||||
"ga": "peso na Sile",
|
||||
"gl": "Peso chileno",
|
||||
"gl": "peso chileno",
|
||||
"he": "פסו צ'יליאני",
|
||||
"hr": "Čileanski pezo",
|
||||
"hu": "chilei peso",
|
||||
@@ -1817,7 +1817,7 @@
|
||||
"cy": "Ewro",
|
||||
"da": "Euro",
|
||||
"de": "Euro",
|
||||
"en": "Euro",
|
||||
"en": "euro",
|
||||
"eo": "eŭro",
|
||||
"es": "Euro",
|
||||
"et": "euro",
|
||||
@@ -1930,6 +1930,7 @@
|
||||
"sk": "falklandská libra",
|
||||
"sl": "falklandski funt",
|
||||
"sv": "Falklandspund",
|
||||
"th": "ปอนด์หมู่เกาะฟอล์กแลนด์",
|
||||
"tr": "Falkland Adaları poundu",
|
||||
"tt": "Фолкленд утраулары фунты",
|
||||
"uk": "Фолклендський фунт"
|
||||
@@ -2926,6 +2927,7 @@
|
||||
"pa": "ਕੰਬੋਡੀਆਈ ਰਿਆਲ",
|
||||
"pl": "Riel",
|
||||
"pt": "riel cambojano",
|
||||
"ro": "riel cambodgian",
|
||||
"ru": "камбоджийский риель",
|
||||
"sk": "kambodžský riel",
|
||||
"sl": "kamboški riel",
|
||||
@@ -2996,6 +2998,7 @@
|
||||
"ja": "朝鮮民主主義人民共和国ウォン",
|
||||
"ko": "조선민주주의인민공화국 원",
|
||||
"lt": "Šiaurės Korėjos vona",
|
||||
"lv": "Ziemeļkorejas vona",
|
||||
"ml": "വോൺ",
|
||||
"ms": "Won Korea Utara",
|
||||
"nl": "Noord-Koreaanse won",
|
||||
@@ -3860,7 +3863,7 @@
|
||||
"fi": "Meksikon peso",
|
||||
"fr": "peso mexicain",
|
||||
"ga": "peso Mheicsiceo",
|
||||
"gl": "Peso mexicano",
|
||||
"gl": "peso mexicano",
|
||||
"he": "פסו מקסיקני",
|
||||
"hr": "Meksički pezo",
|
||||
"hu": "mexikói peso",
|
||||
@@ -4396,6 +4399,7 @@
|
||||
"fi": "Filippiinien peso",
|
||||
"fr": "peso philippin",
|
||||
"ga": "peso na nOileán Filipíneach",
|
||||
"gl": "peso filipino",
|
||||
"he": "פסו פיליפיני",
|
||||
"hr": "Filipinski pezo",
|
||||
"hu": "Fülöp-szigeteki peso",
|
||||
@@ -4726,7 +4730,7 @@
|
||||
"RUB": {
|
||||
"af": "Russiese roebel",
|
||||
"ar": "روبل روسي",
|
||||
"bg": "Руска рубла",
|
||||
"bg": "руска рубла",
|
||||
"bn": "রুশ রুবল",
|
||||
"ca": "ruble rus",
|
||||
"cs": "ruský rubl",
|
||||
@@ -5798,8 +5802,8 @@
|
||||
"uk": "угандійський шилінг"
|
||||
},
|
||||
"USD": {
|
||||
"af": "Amerikaanse dollar",
|
||||
"ar": "دولار أمريكي",
|
||||
"af": "dollar van die Verenigde State",
|
||||
"ar": "دولار للولايات المتحدة",
|
||||
"bg": "щатски долар",
|
||||
"bn": "মার্কিন ডলার",
|
||||
"ca": "dòlar estatunidenc",
|
||||
@@ -5813,7 +5817,7 @@
|
||||
"et": "USA dollar",
|
||||
"eu": "Estatubatuar dolar",
|
||||
"fi": "Yhdysvaltain dollari",
|
||||
"fr": "dollar américain",
|
||||
"fr": "dollar des États-Unis",
|
||||
"ga": "dollar na Stát Aontaithe",
|
||||
"gl": "dólar estadounidense",
|
||||
"he": "דולר אמריקאי",
|
||||
@@ -5821,7 +5825,7 @@
|
||||
"hu": "amerikai dollár",
|
||||
"ia": "dollar statounitese",
|
||||
"id": "Dolar Amerika Serikat",
|
||||
"it": "dollaro statunitense",
|
||||
"it": "dollaro degli Stati Uniti",
|
||||
"ja": "アメリカ合衆国ドル",
|
||||
"ko": "미국 달러",
|
||||
"lt": "Jungtinių Valstijų doleris",
|
||||
@@ -5840,7 +5844,7 @@
|
||||
"sk": "americký dolár",
|
||||
"sl": "ameriški dolar",
|
||||
"sr": "амерички долар",
|
||||
"sv": "amerikansk dollar",
|
||||
"sv": "amerikanska dollar",
|
||||
"szl": "Dolar amerikański",
|
||||
"ta": "அமெரிக்க டாலர்",
|
||||
"te": "యునైటెడ్ స్టేట్స్ డాలర్",
|
||||
@@ -6014,7 +6018,7 @@
|
||||
"es": "vatu",
|
||||
"fi": "Vanuatun vatu",
|
||||
"fr": "Vatu",
|
||||
"ga": "Vatu Vanuatú",
|
||||
"ga": "vatu Vanuatú",
|
||||
"gl": "Vatu",
|
||||
"he": "ואטו",
|
||||
"hr": "Vanuatski vatu",
|
||||
@@ -6231,7 +6235,8 @@
|
||||
"ru": "Карибский гульден",
|
||||
"sk": "Karibský gulden",
|
||||
"sl": "karibski goldinar",
|
||||
"sv": "Karibisk gulden"
|
||||
"sv": "Karibisk gulden",
|
||||
"th": "กิลเดอร์แคริบเบียน"
|
||||
},
|
||||
"XDR": {
|
||||
"ar": "حقوق السحب الخاصة",
|
||||
@@ -6395,7 +6400,7 @@
|
||||
"cs": "jemenský rijál",
|
||||
"cy": "Rial Iemen",
|
||||
"de": "Jemen-Rial",
|
||||
"en": "Yemeni Rial",
|
||||
"en": "Yemeni rial",
|
||||
"eo": "jemena rialo",
|
||||
"es": "rial yemení",
|
||||
"eu": "Rial yemendar",
|
||||
@@ -6596,6 +6601,38 @@
|
||||
"$u": "UYU",
|
||||
"$usd": "USD",
|
||||
"1000 lira": "LBP",
|
||||
"10000.00": [
|
||||
"ZWL",
|
||||
"XCD",
|
||||
"WST",
|
||||
"USD",
|
||||
"TWD",
|
||||
"TTD",
|
||||
"SRD",
|
||||
"SGD",
|
||||
"SBD",
|
||||
"NZD",
|
||||
"NAD",
|
||||
"MXN",
|
||||
"MOP",
|
||||
"LRD",
|
||||
"KYD",
|
||||
"JMD",
|
||||
"HKD",
|
||||
"FJD",
|
||||
"CUP",
|
||||
"COP",
|
||||
"CLP",
|
||||
"CAD",
|
||||
"BZD",
|
||||
"BSD",
|
||||
"BRL",
|
||||
"BND",
|
||||
"BMD",
|
||||
"BBD",
|
||||
"AUD",
|
||||
"ARS"
|
||||
],
|
||||
"100ドル紙幣": "NIO",
|
||||
"1億ベネズエラ・ボリバル": "VES",
|
||||
"2019 zimbabwean dollar": "ZWL",
|
||||
@@ -6888,6 +6925,7 @@
|
||||
"armeense dram": "AMD",
|
||||
"armena dramo": "AMD",
|
||||
"armenian dram": "AMD",
|
||||
"armeniar dram": "AMD",
|
||||
"armenijski dram": "AMD",
|
||||
"armenischer dram": "AMD",
|
||||
"armensk dram": "AMD",
|
||||
@@ -8045,6 +8083,7 @@
|
||||
"dolar de bermudas": "BMD",
|
||||
"dolar de brunei": "BND",
|
||||
"dolar de brunéi": "BND",
|
||||
"dolar de canadà": "CAD",
|
||||
"dolar de fiji": "FJD",
|
||||
"dolar de guyana": "GYD",
|
||||
"dolar de hong kong": "HKD",
|
||||
@@ -8191,7 +8230,6 @@
|
||||
"KYD",
|
||||
"HKD",
|
||||
"FJD",
|
||||
"CAD",
|
||||
"AUD"
|
||||
],
|
||||
"dollar américain": "USD",
|
||||
@@ -8233,6 +8271,7 @@
|
||||
"dollar des îles salomon": "SBD",
|
||||
"dollar du belize": "BZD",
|
||||
"dollar du bélize": "BZD",
|
||||
"dollar du canada": "CAD",
|
||||
"dollar du guyana": "GYD",
|
||||
"dollar du surinam": "SRD",
|
||||
"dollar du suriname": "SRD",
|
||||
@@ -8268,6 +8307,7 @@
|
||||
"dollar néo zélandais": "NZD",
|
||||
"dollar néozélandais": "NZD",
|
||||
"dollar nua na téaváine": "TWD",
|
||||
"dollar of canada": "CAD",
|
||||
"dollar oileáin cayman": "KYD",
|
||||
"dollar oileáin sholaimh": "SBD",
|
||||
"dollar oileán na tríonóide agus tobága": "TTD",
|
||||
@@ -8282,16 +8322,21 @@
|
||||
"dollar taiwanais": "TWD",
|
||||
"dollar taïwanais": "TWD",
|
||||
"dollar trinidadien": "TTD",
|
||||
"dollar van die verenigde state": "USD",
|
||||
"dollaro": [
|
||||
"BZD",
|
||||
"BBD"
|
||||
],
|
||||
"dollaro americano": "USD",
|
||||
"dollaro australiano": "AUD",
|
||||
"dollaro bahamense": "BSD",
|
||||
"dollaro canadese": "CAD",
|
||||
"dollaro degli stati uniti": "USD",
|
||||
"dollaro dei caraibi orientali": "XCD",
|
||||
"dollaro del belize": "BZD",
|
||||
"dollaro del brunei": "BND",
|
||||
"dollaro del canada": "CAD",
|
||||
"dollaro del canadà": "CAD",
|
||||
"dollaro del suriname": "SRD",
|
||||
"dollaro della guyana": "GYD",
|
||||
"dollaro della namibia": "NAD",
|
||||
@@ -11489,6 +11534,7 @@
|
||||
"rial yemení": "YER",
|
||||
"rial yéménite": "YER",
|
||||
"riel": "KHR",
|
||||
"riel cambodgian": "KHR",
|
||||
"riel cambodgien": "KHR",
|
||||
"riel cambogiano": "KHR",
|
||||
"riel cambojano": "KHR",
|
||||
@@ -12846,6 +12892,7 @@
|
||||
"vjetnama dongo": "VND",
|
||||
"vnd": "VND",
|
||||
"vnđ": "VND",
|
||||
"vona": "KPW",
|
||||
"vt": "VUV",
|
||||
"vuv": "VUV",
|
||||
"východokaribská měnová unie": "XCD",
|
||||
@@ -12996,6 +13043,7 @@
|
||||
"zeelandako dolarra": "NZD",
|
||||
"zelenortski eskudo": "CVE",
|
||||
"zelts kā investīcija": "XAU",
|
||||
"ziemeļkorejas vona": "KPW",
|
||||
"zig": "ZWG",
|
||||
"zimbabva dolaro": "ZWL",
|
||||
"zimbabva oro": "ZWG",
|
||||
@@ -15005,7 +15053,6 @@
|
||||
"دوبرا ساو تومية وبرينسيبية": "STN",
|
||||
"دولار الامريكي": "USD",
|
||||
"دولار الأمريكي": "USD",
|
||||
"دولار امريكي": "USD",
|
||||
"دولار أسترالي": "AUD",
|
||||
"دولار أمريكي": "USD",
|
||||
"دولار بربادوسي": "BBD",
|
||||
@@ -15026,6 +15073,7 @@
|
||||
"دولار غياني": "GYD",
|
||||
"دولار فيجي": "FJD",
|
||||
"دولار كندي": "CAD",
|
||||
"دولار للولايات المتحدة": "USD",
|
||||
"دولار ليبيري": "LRD",
|
||||
"دولار ناميبي": "NAD",
|
||||
"دولار نيوزيلندي": "NZD",
|
||||
@@ -15666,6 +15714,7 @@
|
||||
"กวันซา": "AOA",
|
||||
"กวารานีปารากวัย": "PYG",
|
||||
"กอร์โดบานิการากัว": "NIO",
|
||||
"กิลเดอร์แคริบเบียน": "XCG",
|
||||
"กีนา": "PGK",
|
||||
"กีบ": "LAK",
|
||||
"กูร์ดเฮติ": "HTG",
|
||||
@@ -15751,6 +15800,7 @@
|
||||
"ปอนด์ซูดานใต้": "SSP",
|
||||
"ปอนด์ยิบรอลตาร์": "GIP",
|
||||
"ปอนด์สเตอร์ลิง": "GBP",
|
||||
"ปอนด์หมู่เกาะฟอล์กแลนด์": "FKP",
|
||||
"ปอนด์อียิปต์": "EGP",
|
||||
"ปอนด์เซนต์เฮเลนา": "SHP",
|
||||
"ปอนด์เซาท์ซูดาน": "SSP",
|
||||
|
||||
@@ -15307,7 +15307,7 @@
|
||||
},
|
||||
"s": {
|
||||
"\u0010": "//surrey-primotc.hosted.exlibrisgroup.com/primo-explore/search?vl(freeText0)=\u0002&fn=search&vid=44SUR_VU1&tab=default_tab&query=any,contains,\u0002&search_scope=default_scope\u000115",
|
||||
"64": "http://duckduckgo.com/?q=\u0002+site:www.ss64.com\u00010",
|
||||
"64": "http://duckduckgo.com/?q=\u0002+site:ss64.com\u00010",
|
||||
"aft": "http://ssaft.com/Blog/dotclear/?q=\u0002\u00010",
|
||||
"b": {
|
||||
"\u0010": "http://www.ssbwiki.com/index.php?title=Special%3ASearch&search=\u0002&go=Go\u000136",
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
],
|
||||
"ua": "Mozilla/5.0 ({os}; rv:{version}) Gecko/20100101 Firefox/{version}",
|
||||
"versions": [
|
||||
"157.0",
|
||||
"156.0"
|
||||
"159.0",
|
||||
"158.0"
|
||||
]
|
||||
}
|
||||
+41
-36
@@ -38,9 +38,9 @@ Implementations
|
||||
|
||||
"""
|
||||
|
||||
import contextlib
|
||||
import random
|
||||
import typing as t
|
||||
|
||||
from datetime import (
|
||||
datetime,
|
||||
timedelta,
|
||||
@@ -49,7 +49,8 @@ from json import loads
|
||||
from urllib.parse import urlencode
|
||||
|
||||
import babel
|
||||
from flask_babel import gettext # pyright: ignore[reportUnknownVariableType]
|
||||
import curl_cffi
|
||||
from flask_babel import gettext # pyright: ignore[reportMissingTypeStubs]
|
||||
|
||||
from searx.enginelib import EngineCache
|
||||
from searx.enginelib.traits import EngineTraits
|
||||
@@ -63,8 +64,8 @@ from searx.network import raise_for_httperror
|
||||
from searx.result_types import EngineResults
|
||||
|
||||
if t.TYPE_CHECKING:
|
||||
from searx.search.processors import OnlineParams
|
||||
from searx.extended_types import SXNG_Response
|
||||
from searx.search.processors import OnlineParams
|
||||
|
||||
# about
|
||||
about = {
|
||||
@@ -88,10 +89,10 @@ qwant_categ: str = None # pyright: ignore[reportAssignmentType]
|
||||
|
||||
safesearch = True
|
||||
|
||||
# tgp seems to be short for "test group" - its actual value doesn't matter, as
|
||||
# tgp is normally set by the `ab_test_group` cookie value. Actual value doesn't matter, as
|
||||
# long as it's sent and at the correct position in the query params and doesn't
|
||||
# change too frequently
|
||||
test_group_value = random.randint(1, 3)
|
||||
test_group_value = random.randint(1, 4)
|
||||
|
||||
# fmt: off
|
||||
qwant_news_locales = [
|
||||
@@ -123,13 +124,10 @@ def request(query: str, params: "OnlineParams") -> None:
|
||||
if not query:
|
||||
return
|
||||
|
||||
results_per_page = 50 if qwant_categ == "images" else 10
|
||||
q_locale = traits.get_region(params["searxng_locale"], default="en_US")
|
||||
|
||||
results_per_page = 10
|
||||
if qwant_categ == "images":
|
||||
results_per_page = 50
|
||||
|
||||
args = {
|
||||
"t": qwant_categ,
|
||||
"q": query,
|
||||
"count": results_per_page,
|
||||
"locale": q_locale,
|
||||
@@ -137,18 +135,32 @@ def request(query: str, params: "OnlineParams") -> None:
|
||||
"tgp": test_group_value,
|
||||
"device": "desktop",
|
||||
"safesearch": params["safesearch"],
|
||||
# True would be encoded to "True", instead of "true", which makes the request
|
||||
# easier to detect and block
|
||||
"displayed": "true",
|
||||
"llm": "true",
|
||||
}
|
||||
|
||||
if datadome := CACHE.get("datadome"):
|
||||
params["cookies"]["datadome"] = datadome
|
||||
|
||||
header_order = (
|
||||
"Host,Connection,"
|
||||
"sec-ch-ua-platform,User-Agent,Accept,sec-ch-ua,sec-ch-ua-mobile,"
|
||||
"Origin,Sec-Fetch-Site,Sec-Fetch-Mode,Sec-Fetch-Dest,"
|
||||
"Referer,Accept-Encoding,Accept-Language,Cookie"
|
||||
)
|
||||
params["raise_for_httperror"] = False
|
||||
|
||||
params["url"] = f"{api_url}{qwant_categ}?{urlencode(args)}"
|
||||
|
||||
params["cookies"]["datadome"] = CACHE.get("datadome")
|
||||
params["headers"].update({"Accept": "application/json", "Referer": f"{base_url}/", "Origin": base_url})
|
||||
params["headers"]["Connection"] = "keep-alive"
|
||||
params["headers"]["Accept"] = "application/json, text/plain, */*"
|
||||
params["headers"]["Origin"] = base_url
|
||||
params["headers"]["Sec-Fetch-Site"] = "same-site"
|
||||
params["headers"]["Sec-Fetch-Mode"] = "cors"
|
||||
params["headers"]["Sec-Fetch-Dest"] = "empty"
|
||||
# drop impersonate default headers - curl_cffi will drop header with None as value
|
||||
params["headers"]["sec-fetch-user"] = None # pyright: ignore[reportArgumentType]
|
||||
params["headers"]["cache-control"] = None # pyright: ignore[reportArgumentType]
|
||||
params["headers"]["upgrade-insecure-requests"] = None # pyright: ignore[reportArgumentType]
|
||||
params["headers"]["Referer"] = f"{base_url}/"
|
||||
# ensure same header wire order for chrome
|
||||
params["curl_options"] = {curl_cffi.CurlOpt.HTTPHEADER_ORDER: header_order}
|
||||
|
||||
|
||||
def response(resp: "SXNG_Response") -> EngineResults:
|
||||
@@ -156,20 +168,16 @@ def response(resp: "SXNG_Response") -> EngineResults:
|
||||
# pylint: disable=too-many-locals, too-many-branches, too-many-statements
|
||||
|
||||
# cache datadome cookie - changes on each request
|
||||
datadome = resp.cookies.get("datadome")
|
||||
if datadome:
|
||||
if datadome := resp.cookies.get("datadome"):
|
||||
CACHE.set("datadome", datadome)
|
||||
|
||||
res = EngineResults()
|
||||
|
||||
# Try to load JSON result
|
||||
search_results: dict[str, t.Any] = {}
|
||||
try:
|
||||
with contextlib.suppress(ValueError):
|
||||
search_results = resp.json()
|
||||
except ValueError:
|
||||
pass
|
||||
|
||||
data: dict[str, t.Any] = search_results.get("data", {}) # pyright: ignore[reportAny]
|
||||
data: dict[str, t.Any] = search_results.get("data", {})
|
||||
|
||||
# check for an API error
|
||||
if search_results.get("status") != "success":
|
||||
@@ -177,7 +185,7 @@ def response(resp: "SXNG_Response") -> EngineResults:
|
||||
if error_code == 24:
|
||||
raise SearxEngineTooManyRequestsException()
|
||||
if search_results.get("url") is not None:
|
||||
raise SearxEngineCaptchaException(suspended_time=0)
|
||||
raise SearxEngineCaptchaException(suspended_time=15) # needs a short timeout before second request
|
||||
if resp.status_code == 403:
|
||||
raise SearxEngineAccessDeniedException()
|
||||
msg = ",".join(data.get("message", ["unknown"]))
|
||||
@@ -222,8 +230,7 @@ def response(resp: "SXNG_Response") -> EngineResults:
|
||||
thumbnail: str = ""
|
||||
content: str = item.get("desc", "")
|
||||
|
||||
_date: float | None = item.get("date")
|
||||
if _date:
|
||||
if _date := item.get("date"):
|
||||
try:
|
||||
pub_date = datetime.fromtimestamp(_date)
|
||||
except ValueError:
|
||||
@@ -240,8 +247,7 @@ def response(resp: "SXNG_Response") -> EngineResults:
|
||||
)
|
||||
|
||||
elif mainline_type == "news":
|
||||
news_media = item.get("media", [])
|
||||
if news_media:
|
||||
if news_media := item.get("media", []):
|
||||
thumbnail = news_media[0].get("pict", {}).get("url", "")
|
||||
|
||||
res.add(
|
||||
@@ -314,7 +320,7 @@ def fetch_traits(engine_traits: EngineTraits):
|
||||
from searx.utils import extr
|
||||
|
||||
resp = get(
|
||||
base_url, # pyright: ignore[reportArgumentType]
|
||||
base_url,
|
||||
timeout=5,
|
||||
)
|
||||
if not resp.ok:
|
||||
@@ -328,7 +334,7 @@ def fetch_traits(engine_traits: EngineTraits):
|
||||
|
||||
for country, v in q_locales.items():
|
||||
for lang in v["langs"]:
|
||||
_locale = "{lang}_{country}".format(lang=lang, country=country)
|
||||
_locale = f"{lang}_{country}"
|
||||
|
||||
if qwant_categ == "news" and _locale.lower() not in qwant_news_locales:
|
||||
# qwant-news does not support all locales from qwant-web:
|
||||
@@ -340,12 +346,11 @@ def fetch_traits(engine_traits: EngineTraits):
|
||||
try:
|
||||
sxng_tag = region_tag(babel.Locale.parse(eng_tag, sep="_"))
|
||||
except babel.UnknownLocaleError:
|
||||
print("ERROR: can't determine babel locale of quant's locale %s" % eng_tag)
|
||||
print(f"ERROR: can't determine babel locale of quant's locale {eng_tag}")
|
||||
continue
|
||||
|
||||
conflict = engine_traits.regions.get(sxng_tag)
|
||||
if conflict:
|
||||
if conflict := engine_traits.regions.get(sxng_tag):
|
||||
if conflict != eng_tag:
|
||||
print("CONFLICT: babel %s --> %s, %s" % (sxng_tag, conflict, eng_tag))
|
||||
print(f"CONFLICT: babel {sxng_tag} --> {conflict}, {eng_tag}")
|
||||
continue
|
||||
engine_traits.regions[sxng_tag] = eng_tag
|
||||
|
||||
@@ -186,7 +186,7 @@ class Network:
|
||||
Network._TOR_CHECK_RESULT[proxies] = False
|
||||
return False
|
||||
|
||||
response = await client.get("https://check.torproject.org/api/ip", timeout=60)
|
||||
response = await client.get("https://check.torproject.org/api/ip", timeout=10)
|
||||
result = bool(response.json()["IsTor"])
|
||||
Network._TOR_CHECK_RESULT[proxies] = result
|
||||
return result
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"BMrKiJ3q.min.js","names":["listen","searchForm","getElement","searchInput","searchReset","isMobile","isResultsPage","categoryButtons","end","event","button","categoryButton","safesearchElement","timeRangeElement","languageElement","searchCategories"],"sources":["../../../../../client/simple/src/js/main/search.ts"],"sourcesContent":["// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport { listen } from \"../toolkit.ts\";\nimport { getElement } from \"../util/getElement.ts\";\n\nconst searchForm: HTMLFormElement = getElement<HTMLFormElement>(\"search\");\nconst searchInput: HTMLInputElement = getElement<HTMLInputElement>(\"q\");\nconst searchReset: HTMLButtonElement = getElement<HTMLButtonElement>(\"clear_search\");\n\nconst isMobile: boolean = window.matchMedia(\"(max-width: 50em)\").matches;\nconst isResultsPage: boolean = document.querySelector(\"main\")?.id === \"main_results\";\n\nconst categoryButtons: HTMLButtonElement[] = Array.from(\n document.querySelectorAll<HTMLButtonElement>(\"#categories_container button.category\")\n);\n\n// focus search input on large screens\nif (!(isMobile || isResultsPage)) {\n searchInput.focus();\n}\n\n// On mobile, move cursor to the end of the input on focus\nif (isMobile) {\n listen(\"focus\", searchInput, () => {\n // Defer cursor move until the next frame to prevent a visual jump\n requestAnimationFrame(() => {\n const end = searchInput.value.length;\n searchInput.setSelectionRange(end, end);\n searchInput.scrollLeft = searchInput.scrollWidth;\n });\n });\n}\n\nlisten(\"click\", searchReset, (event: MouseEvent) => {\n event.preventDefault();\n searchInput.value = \"\";\n searchInput.focus();\n});\n\nfor (const button of categoryButtons) {\n listen(\"click\", button, (event: MouseEvent) => {\n if (event.shiftKey) {\n event.preventDefault();\n button.classList.toggle(\"selected\");\n return;\n }\n\n // deselect all other categories\n for (const categoryButton of categoryButtons) {\n categoryButton.classList.toggle(\"selected\", categoryButton === button);\n }\n });\n}\n\nif (document.querySelector(\"div.search_filters\")) {\n const safesearchElement = document.getElementById(\"safesearch\");\n if (safesearchElement) {\n listen(\"change\", safesearchElement, () => searchForm.submit());\n }\n\n const timeRangeElement = document.getElementById(\"time_range\");\n if (timeRangeElement) {\n listen(\"change\", timeRangeElement, () => searchForm.submit());\n }\n\n const languageElement = document.getElementById(\"language\");\n if (languageElement) {\n listen(\"change\", languageElement, () => searchForm.submit());\n }\n}\n\n// override searchForm submit event\nlisten(\"submit\", searchForm, (event: Event) => {\n event.preventDefault();\n\n if (categoryButtons.length > 0) {\n const searchCategories = getElement<HTMLInputElement>(\"selected-categories\");\n searchCategories.value = categoryButtons\n .filter((button) => button.classList.contains(\"selected\"))\n .map((button) => button.name.replace(\"category_\", \"\"))\n .join(\",\");\n }\n\n searchForm.submit();\n});\n"],"mappings":"yEAKA,IAAMC,EAA8BC,EAA4B,QAAQ,EAClEC,EAAgCD,EAA6B,GAAG,EAChEE,EAAiCF,EAA8B,cAAc,EAE7EG,EAAoB,OAAO,WAAW,mBAAmB,CAAC,CAAC,QAC3DC,EAAyB,SAAS,cAAc,MAAM,CAAC,EAAE,KAAO,eAEhEC,EAAuC,MAAM,KACjD,SAAS,iBAAoC,uCAAuC,CACtF,EAGMF,GAAYC,GAChBH,EAAY,MAAM,EAIhBE,GACFL,EAAO,QAASG,MAAmB,CAEjC,0BAA4B,CAC1B,IAAMK,EAAML,EAAY,MAAM,OAC9BA,EAAY,kBAAkBK,EAAKA,CAAG,EACtC,EAAY,WAAaL,EAAY,WACvC,CAAC,CACH,CAAC,EAGHH,EAAO,QAASI,EAAc,GAAsB,CAClDK,EAAM,eAAe,EACrB,EAAY,MAAQ,GACpBN,EAAY,MAAM,CACpB,CAAC,EAED,IAAK,IAAMO,KAAUH,EACnBP,EAAO,QAASU,EAAS,GAAsB,CAC7C,GAAID,EAAM,SACRA,EAAM,eAAe,EACrBC,EAAO,UAAU,OAAO,UAAU,OAKpC,IAAK,IAAMC,KAAkBJ,EAC3BI,EAAe,UAAU,OAAO,WAAYA,IAAmBD,CAAM,CAEzE,CAAC,EAGH,GAAI,SAAS,cAAc,oBAAoB,EAAG,CAChD,IAAME,EAAoB,SAAS,eAAe,YAAY,EAC1DA,GACFZ,EAAO,SAAUY,MAAyBX,EAAW,OAAO,CAAC,EAG/D,IAAMY,EAAmB,SAAS,eAAe,YAAY,EACzDA,GACFb,EAAO,SAAUa,MAAwBZ,EAAW,OAAO,CAAC,EAG9D,IAAMa,EAAkB,SAAS,eAAe,UAAU,EACtDA,GACFd,EAAO,SAAUc,MAAuBb,EAAW,OAAO,CAAC,CAE/D,CAGAD,EAAO,SAAUC,EAAa,GAAiB,CAG7C,GAFAQ,EAAM,eAAe,EAEjBF,EAAgB,OAAS,EAAG,CAC9B,IAAMQ,EAAmBb,EAA6B,qBAAqB,EAC3E,EAAiB,MAAQK,EACtB,OAAQ,GAAWG,EAAO,UAAU,SAAS,UAAU,CAAC,CAAC,CACzD,IAAK,GAAWA,EAAO,KAAK,QAAQ,YAAa,EAAE,CAAC,CAAC,CACrD,KAAK,GAAG,CACb,CAEAT,EAAW,OAAO,CACpB,CAAC"}
|
||||
{"version":3,"file":"BMrKiJ3q.min.js","names":["listen","searchForm","getElement","searchInput","searchReset","isMobile","isResultsPage","categoryButtons","end","event","button","categoryButton","safesearchElement","timeRangeElement","languageElement","searchCategories"],"sources":["../../../../../client/simple/src/js/main/search.ts"],"sourcesContent":["// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport { listen } from \"../toolkit.ts\";\nimport { getElement } from \"../util/getElement.ts\";\n\nconst searchForm: HTMLFormElement = getElement<HTMLFormElement>(\"search\");\nconst searchInput: HTMLInputElement = getElement<HTMLInputElement>(\"q\");\nconst searchReset: HTMLButtonElement = getElement<HTMLButtonElement>(\"clear_search\");\n\nconst isMobile: boolean = window.matchMedia(\"(max-width: 50em)\").matches;\nconst isResultsPage: boolean = document.querySelector(\"main\")?.id === \"main_results\";\n\nconst categoryButtons: HTMLButtonElement[] = Array.from(\n document.querySelectorAll<HTMLButtonElement>(\"#categories_container button.category\")\n);\n\n// focus search input on large screens\nif (!(isMobile || isResultsPage)) {\n searchInput.focus();\n}\n\n// On mobile, move cursor to the end of the input on focus\nif (isMobile) {\n listen(\"focus\", searchInput, () => {\n // Defer cursor move until the next frame to prevent a visual jump\n requestAnimationFrame(() => {\n const end = searchInput.value.length;\n searchInput.setSelectionRange(end, end);\n searchInput.scrollLeft = searchInput.scrollWidth;\n });\n });\n}\n\nlisten(\"click\", searchReset, (event: MouseEvent) => {\n event.preventDefault();\n searchInput.value = \"\";\n searchInput.focus();\n});\n\nfor (const button of categoryButtons) {\n listen(\"click\", button, (event: MouseEvent) => {\n if (event.shiftKey) {\n event.preventDefault();\n button.classList.toggle(\"selected\");\n return;\n }\n\n // deselect all other categories\n for (const categoryButton of categoryButtons) {\n categoryButton.classList.toggle(\"selected\", categoryButton === button);\n }\n });\n}\n\nif (document.querySelector(\"div.search_filters\")) {\n const safesearchElement = document.getElementById(\"safesearch\");\n if (safesearchElement) {\n listen(\"change\", safesearchElement, () => searchForm.submit());\n }\n\n const timeRangeElement = document.getElementById(\"time_range\");\n if (timeRangeElement) {\n listen(\"change\", timeRangeElement, () => searchForm.submit());\n }\n\n const languageElement = document.getElementById(\"language\");\n if (languageElement) {\n listen(\"change\", languageElement, () => searchForm.submit());\n }\n}\n\n// override searchForm submit event\nlisten(\"submit\", searchForm, (event: Event) => {\n event.preventDefault();\n\n if (categoryButtons.length > 0) {\n const searchCategories = getElement<HTMLInputElement>(\"selected-categories\");\n searchCategories.value = categoryButtons\n .filter((button) => button.classList.contains(\"selected\"))\n .map((button) => button.name.replace(\"category_\", \"\"))\n .join(\",\");\n }\n\n searchForm.submit();\n});\n"],"mappings":"A,yEAKA,IAAMC,EAA8BC,EAA4B,QAAQ,EAClEC,EAAgCD,EAA6B,GAAG,EAChEE,EAAiCF,EAA8B,cAAc,EAE7EG,EAAoB,OAAO,WAAW,mBAAmB,CAAC,CAAC,QAC3DC,EAAyB,SAAS,cAAc,MAAM,CAAC,EAAE,KAAO,eAEhEC,EAAuC,MAAM,KACjD,SAAS,iBAAoC,uCAAuC,CACtF,EAGMF,GAAYC,GAChBH,EAAY,MAAM,EAIhBE,GACFL,EAAO,QAASG,MAAmB,CAEjC,0BAA4B,CAC1B,IAAMK,EAAML,EAAY,MAAM,OAC9BA,EAAY,kBAAkBK,EAAKA,CAAG,EACtC,EAAY,WAAaL,EAAY,WACvC,CAAC,CACH,CAAC,EAGHH,EAAO,QAASI,EAAc,GAAsB,CAClDK,EAAM,eAAe,EACrB,EAAY,MAAQ,GACpBN,EAAY,MAAM,CACpB,CAAC,EAED,IAAK,IAAMO,KAAUH,EACnBP,EAAO,QAASU,EAAS,GAAsB,CAC7C,GAAID,EAAM,SACRA,EAAM,eAAe,EACrBC,EAAO,UAAU,OAAO,UAAU,OAKpC,IAAK,IAAMC,KAAkBJ,EAC3BI,EAAe,UAAU,OAAO,WAAYA,IAAmBD,CAAM,CAEzE,CAAC,EAGH,GAAI,SAAS,cAAc,oBAAoB,EAAG,CAChD,IAAME,EAAoB,SAAS,eAAe,YAAY,EAC1DA,GACFZ,EAAO,SAAUY,MAAyBX,EAAW,OAAO,CAAC,EAG/D,IAAMY,EAAmB,SAAS,eAAe,YAAY,EACzDA,GACFb,EAAO,SAAUa,MAAwBZ,EAAW,OAAO,CAAC,EAG9D,IAAMa,EAAkB,SAAS,eAAe,UAAU,EACtDA,GACFd,EAAO,SAAUc,MAAuBb,EAAW,OAAO,CAAC,CAE/D,CAGAD,EAAO,SAAUC,EAAa,GAAiB,CAG7C,GAFAQ,EAAM,eAAe,EAEjBF,EAAgB,OAAS,EAAG,CAC9B,IAAMQ,EAAmBb,EAA6B,qBAAqB,EAC3E,EAAiB,MAAQK,EACtB,OAAQ,GAAWG,EAAO,UAAU,SAAS,UAAU,CAAC,CAAC,CACzD,IAAK,GAAWA,EAAO,KAAK,QAAQ,YAAa,EAAE,CAAC,CAAC,CACrD,KAAK,GAAG,CACb,CAEAT,EAAW,OAAO,CACpB,CAAC"}
|
||||
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Vendored
+2
-2
@@ -7,5 +7,5 @@ import{i as e,n as t,r as n}from"../sxng-core.min.js";import{t as r}from"./DK4yU
|
||||
* @author John Doherty <www.johndoherty.info>
|
||||
* @license MIT
|
||||
*/
|
||||
(function(e,t){typeof e.CustomEvent!=`function`&&(e.CustomEvent=function(e,n){n||={bubbles:!1,cancelable:!1,detail:void 0};var r=t.createEvent(`CustomEvent`);return r.initCustomEvent(e,n.bubbles,n.cancelable,n.detail),r},e.CustomEvent.prototype=e.Event.prototype),t.addEventListener(`touchstart`,u,!1),t.addEventListener(`touchmove`,d,!1),t.addEventListener(`touchend`,l,!1);var n=null,r=null,i=null,a=null,o=null,s=null,c=0;function l(e){if(s===e.target){var l=parseInt(f(s,`data-swipe-threshold`,`20`),10),u=f(s,`data-swipe-unit`,`px`),d=parseInt(f(s,`data-swipe-timeout`,`500`),10),p=Date.now()-o,m=``,h=e.changedTouches||e.touches||[];if(u===`vh`&&(l=Math.round(l/100*t.documentElement.clientHeight)),u===`vw`&&(l=Math.round(l/100*t.documentElement.clientWidth)),Math.abs(i)>Math.abs(a)?Math.abs(i)>l&&p<d&&(m=i>0?`swiped-left`:`swiped-right`):Math.abs(a)>l&&p<d&&(m=a>0?`swiped-up`:`swiped-down`),m!==``){var g={dir:m.replace(/swiped-/,``),touchType:(h[0]||{}).touchType||`direct`,fingers:c,xStart:parseInt(n,10),xEnd:parseInt((h[0]||{}).clientX||-1,10),yStart:parseInt(r,10),yEnd:parseInt((h[0]||{}).clientY||-1,10)};s.dispatchEvent(new CustomEvent(`swiped`,{bubbles:!0,cancelable:!0,detail:g})),s.dispatchEvent(new CustomEvent(m,{bubbles:!0,cancelable:!0,detail:g}))}n=null,r=null,o=null}}function u(e){e.target.getAttribute(`data-swipe-ignore`)!==`true`&&(s=e.target,o=Date.now(),n=e.touches[0].clientX,r=e.touches[0].clientY,i=0,a=0,c=e.touches.length)}function d(e){if(n&&r){var t=e.touches[0].clientX,o=e.touches[0].clientY;i=n-t,a=r-o}}function f(e,n,r){for(;e&&e!==t.documentElement;){var i=e.getAttribute(n);if(i)return i;e=e.parentNode}return r}})(window,document);var i,a=`${e.theme_static_path}/img/img_load_error.svg`,o=e=>{i&&clearTimeout(i);let t=e.querySelector(`.result-images-source img`);if(!t)return;let n=e.querySelector(`.image_thumbnail`);if(n){if(n.src===a)return;t.onerror=()=>{t.src=n.src},t.src=n.src}let r=t.getAttribute(`data-src`);r&&(i=setTimeout(()=>{t.src=r,t.removeAttribute(`data-src`)},1e3))},s=e=>{e.classList.contains(`thumbnail`)?e.closest(`a.thumbnail_link`)?.remove():e.classList.contains(`image_thumbnail`)&&e.src!==a&&(e.src=a)};document.addEventListener(`error`,e=>{let t=e.target;t instanceof HTMLImageElement&&s(t)},!0);for(let e of document.querySelectorAll(`img.thumbnail, #urls img.image_thumbnail`))e.complete&&e.naturalWidth===0&&s(e);document.querySelector(`#search_url button#copy_url`)?.style.setProperty(`display`,`block`),n.selectImage=e=>{document.getElementById(`results`)?.classList.add(`image-detail-open`),window.location.hash=`#image-viewer`,n.scrollPageToSelected?.(),e&&o(e)},n.closeDetail=()=>{document.getElementById(`results`)?.classList.remove(`image-detail-open`),window.location.hash===`#image-viewer`&&window.history.back(),n.scrollPageToSelected?.()},t(`click`,`.btn-collapse`,function(){let e=this.getAttribute(`data-btn-text-collapsed`),t=this.getAttribute(`data-btn-text-not-collapsed`),n=this.getAttribute(`data-target`);if(!(n&&e&&t))return;let i=document.querySelector(n);r(i);let a=this.classList.contains(`collapsed`),o=a?t:e,s=a?e:t;this.innerHTML=this.innerHTML.replace(s,o),this.classList.toggle(`collapsed`),i.classList.toggle(`invisible`)}),t(`click`,`.media-loader`,function(){let e=this.getAttribute(`data-target`);if(!e)return;let t=document.querySelector(`${e} > iframe`);if(r(t),!t.getAttribute(`src`)){let e=t.getAttribute(`data-src`);e&&t.setAttribute(`src`,e)}}),t(`click`,`#copy_url`,async function(){let e=this.parentElement?.querySelector(`pre`);if(r(e),window.isSecureContext)await navigator.clipboard.writeText(e.innerText);else{let t=window.getSelection();if(t){let n=document.createRange();n.selectNodeContents(e),t.removeAllRanges(),t.addRange(n),document.execCommand(`copy`)}}this.dataset.copiedText&&(this.innerText=this.dataset.copiedText)}),t(`click`,`.result-detail-close`,e=>{e.preventDefault(),n.closeDetail?.()}),t(`click`,`.result-detail-previous`,e=>{e.preventDefault(),n.selectPrevious?.(!1)}),t(`click`,`.result-detail-next`,e=>{e.preventDefault(),n.selectNext?.(!1)}),window.addEventListener(`hashchange`,()=>{window.location.hash!==`#image-viewer`&&n.closeDetail?.()});var c=document.querySelectorAll(`.swipe-horizontal`);for(let e of c)t(`swiped-left`,e,()=>{n.selectNext?.(!1)}),t(`swiped-right`,e,()=>{n.selectPrevious?.(!1)});window.addEventListener(`scroll`,()=>{let e=document.getElementById(`backToTop`),t=document.getElementById(`results`);if(e&&t){let e=(document.documentElement.scrollTop||document.body.scrollTop)>=100;t.classList.toggle(`scrolling`,e)}},!0);
|
||||
//# sourceMappingURL=CFQtNTi4.min.js.map
|
||||
(function(e,t){typeof e.CustomEvent!=`function`&&(e.CustomEvent=function(e,n){n||={bubbles:!1,cancelable:!1,detail:void 0};var r=t.createEvent(`CustomEvent`);return r.initCustomEvent(e,n.bubbles,n.cancelable,n.detail),r},e.CustomEvent.prototype=e.Event.prototype),t.addEventListener(`touchstart`,u,!1),t.addEventListener(`touchmove`,d,!1),t.addEventListener(`touchend`,l,!1);var n=null,r=null,i=null,a=null,o=null,s=null,c=0;function l(e){if(s===e.target){var l=parseInt(f(s,`data-swipe-threshold`,`20`),10),u=f(s,`data-swipe-unit`,`px`),d=parseInt(f(s,`data-swipe-timeout`,`500`),10),p=Date.now()-o,m=``,h=e.changedTouches||e.touches||[];if(u===`vh`&&(l=Math.round(l/100*t.documentElement.clientHeight)),u===`vw`&&(l=Math.round(l/100*t.documentElement.clientWidth)),Math.abs(i)>Math.abs(a)?Math.abs(i)>l&&p<d&&(m=i>0?`swiped-left`:`swiped-right`):Math.abs(a)>l&&p<d&&(m=a>0?`swiped-up`:`swiped-down`),m!==``){var g={dir:m.replace(/swiped-/,``),touchType:(h[0]||{}).touchType||`direct`,fingers:c,xStart:parseInt(n,10),xEnd:parseInt((h[0]||{}).clientX||-1,10),yStart:parseInt(r,10),yEnd:parseInt((h[0]||{}).clientY||-1,10)};s.dispatchEvent(new CustomEvent(`swiped`,{bubbles:!0,cancelable:!0,detail:g})),s.dispatchEvent(new CustomEvent(m,{bubbles:!0,cancelable:!0,detail:g}))}n=null,r=null,o=null}}function u(e){e.target.getAttribute(`data-swipe-ignore`)!==`true`&&(s=e.target,o=Date.now(),n=e.touches[0].clientX,r=e.touches[0].clientY,i=0,a=0,c=e.touches.length)}function d(e){if(n&&r){var t=e.touches[0].clientX,o=e.touches[0].clientY;i=n-t,a=r-o}}function f(e,n,r){for(;e&&e!==t.documentElement;){var i=e.getAttribute(n);if(i)return i;e=e.parentNode}return r}})(window,document);var i,a=`${e.theme_static_path}/img/img_load_error.svg`,o=e=>{i&&clearTimeout(i);let t=e.querySelector(`.result-images-source img`);if(!t)return;let n=e.querySelector(`.image_thumbnail`);if(n){if(n.src===a)return;t.onerror=()=>{t.src=n.src},t.src=n.src}let r=t.getAttribute(`data-src`);r&&(i=setTimeout(()=>{t.src=r,t.removeAttribute(`data-src`)},1e3))},s=e=>{e.classList.contains(`thumbnail`)?e.closest(`a.thumbnail_link`)?.remove():e.classList.contains(`image_thumbnail`)&&e.src!==a&&(e.src=a)};document.addEventListener(`error`,e=>{let t=e.target;t instanceof HTMLImageElement&&s(t)},!0);for(let e of document.querySelectorAll(`img.thumbnail, #urls img.image_thumbnail`))e.complete&&e.naturalWidth===0&&s(e);document.querySelector(`#search_url button#copy_url`)?.style.setProperty(`display`,`block`),n.selectImage=e=>{document.getElementById(`results`)?.classList.add(`image-detail-open`),window.location.hash=`#image-viewer`,n.scrollPageToSelected?.(),e&&o(e)},n.closeDetail=()=>{document.getElementById(`results`)?.classList.remove(`image-detail-open`),window.location.hash===`#image-viewer`&&window.history.back(),n.scrollPageToSelected?.()},t(`click`,`.btn-collapse`,function(){let e=this.getAttribute(`data-btn-text-collapsed`),t=this.getAttribute(`data-btn-text-not-collapsed`),n=this.getAttribute(`data-target`);if(!(n&&e&&t))return;let i=document.querySelector(n);r(i);let a=this.classList.contains(`collapsed`),o=a?t:e,s=a?e:t;this.innerHTML=this.innerHTML.replace(s,o),this.classList.toggle(`collapsed`),i.classList.toggle(`invisible`)}),t(`click`,`.media-loader`,function(){let e=this.getAttribute(`data-target`);if(!e)return;let t=document.querySelector(`${e} > iframe`);if(r(t),!t.getAttribute(`src`)){let e=t.getAttribute(`data-src`);e&&t.setAttribute(`src`,e)}}),t(`click`,`#copy_url`,async function(){let e=this.parentElement?.querySelector(`pre`);if(r(e),window.isSecureContext)await navigator.clipboard.writeText(e.textContent);else{let t=window.getSelection();if(t){let n=document.createRange();n.selectNodeContents(e),t.removeAllRanges(),t.addRange(n),document.execCommand(`copy`)}}this.dataset.copiedText&&(this.textContent=this.dataset.copiedText)}),t(`click`,`.result-detail-close`,e=>{e.preventDefault(),n.closeDetail?.()}),t(`click`,`.result-detail-previous`,e=>{e.preventDefault(),n.selectPrevious?.(!1)}),t(`click`,`.result-detail-next`,e=>{e.preventDefault(),n.selectNext?.(!1)}),window.addEventListener(`hashchange`,()=>{window.location.hash!==`#image-viewer`&&n.closeDetail?.()});var c=document.querySelectorAll(`.swipe-horizontal`);for(let e of c)t(`swiped-left`,e,()=>{n.selectNext?.(!1)}),t(`swiped-right`,e,()=>{n.selectPrevious?.(!1)});window.addEventListener(`scroll`,()=>{let e=document.getElementById(`backToTop`),t=document.getElementById(`results`);if(e&&t){let e=(document.documentElement.scrollTop||document.body.scrollTop)>=100;t.classList.toggle(`scrolling`,e)}},!0);
|
||||
//# sourceMappingURL=Bu_sbHhO.min.js.map
|
||||
+1
-1
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
{"version":3,"file":"BuurKv-k.min.js","names":["Plugin","id","result","error"],"sources":["../../../../../client/simple/src/js/Plugin.ts"],"sourcesContent":["// SPDX-License-Identifier: AGPL-3.0-or-later\n\n/**\n * Base class for client-side plugins.\n *\n * @remarks\n * Handle conditional loading of the plugin in:\n *\n * - client/simple/src/js/router.ts\n *\n * @abstract\n */\nexport abstract class Plugin {\n /**\n * Plugin name.\n */\n protected readonly id: string;\n\n /**\n * @remarks\n * Don't hold references of this instance outside the class.\n */\n protected constructor(id: string) {\n this.id = id;\n\n queueMicrotask(() => this.invoke());\n }\n\n private async invoke(): Promise<void> {\n try {\n console.debug(`[PLUGIN] ${this.id}: Running...`);\n const result = await this.run();\n if (!result) return;\n\n console.debug(`[PLUGIN] ${this.id}: Running post-exec...`);\n // @ts-expect-error\n void (await this.post(result as NonNullable<Awaited<ReturnType<this[\"run\"]>>>));\n } catch (error) {\n console.error(`[PLUGIN] ${this.id}:`, error);\n } finally {\n console.debug(`[PLUGIN] ${this.id}: Done.`);\n }\n }\n\n /**\n * Plugin goes here.\n *\n * @remarks\n * The plugin is already loaded at this point. If you wish to execute\n * conditions to exit early, consider moving the logic to:\n *\n * - client/simple/src/js/router.ts\n *\n * ...to avoid unnecessarily loading this plugin on the client.\n */\n protected abstract run(): Promise<unknown>;\n\n /**\n * Post-execution hook.\n *\n * @remarks\n * The hook is only executed if `#run()` returns a truthy value.\n */\n // @ts-expect-error\n protected abstract post(result: NonNullable<Awaited<ReturnType<this[\"run\"]>>>): Promise<void>;\n}\n"],"mappings":"AAYA,IAAsBA,EAAtB,KAA6B,CAI3B,GAMA,YAAsB,EAAY,CAChC,KAAK,GAAKC,EAEV,mBAAqB,KAAK,OAAO,CAAC,CACpC,CAEA,MAAc,QAAwB,CACpC,GAAI,CACF,QAAQ,MAAM,YAAY,KAAK,GAAG,aAAa,EAC/C,IAAMC,EAAS,MAAM,KAAK,IAAI,EAC9B,GAAI,CAACA,EAAQ,OAEb,QAAQ,MAAM,YAAY,KAAK,GAAG,uBAAuB,EAEzD,MAAY,KAAK,KAAKA,CAAuD,CAC/E,OAASC,EAAO,CACd,QAAQ,MAAM,YAAY,KAAK,GAAG,GAAIA,CAAK,CAC7C,QAAU,CACR,QAAQ,MAAM,YAAY,KAAK,GAAG,QAAQ,CAC5C,CACF,CAuBF"}
|
||||
{"version":3,"file":"BuurKv-k.min.js","names":["Plugin","id","result","error"],"sources":["../../../../../client/simple/src/js/Plugin.ts"],"sourcesContent":["// SPDX-License-Identifier: AGPL-3.0-or-later\n\n/**\n * Base class for client-side plugins.\n *\n * @remarks\n * Handle conditional loading of the plugin in:\n *\n * - client/simple/src/js/router.ts\n *\n * @abstract\n */\nexport abstract class Plugin {\n /**\n * Plugin name.\n */\n protected readonly id: string;\n\n /**\n * @remarks\n * Don't hold references of this instance outside the class.\n */\n protected constructor(id: string) {\n this.id = id;\n\n queueMicrotask(() => this.invoke());\n }\n\n private async invoke(): Promise<void> {\n try {\n console.debug(`[PLUGIN] ${this.id}: Running...`);\n const result = await this.run();\n if (!result) return;\n\n console.debug(`[PLUGIN] ${this.id}: Running post-exec...`);\n // @ts-expect-error\n void (await this.post(result as NonNullable<Awaited<ReturnType<this[\"run\"]>>>));\n } catch (error) {\n console.error(`[PLUGIN] ${this.id}:`, error);\n } finally {\n console.debug(`[PLUGIN] ${this.id}: Done.`);\n }\n }\n\n /**\n * Plugin goes here.\n *\n * @remarks\n * The plugin is already loaded at this point. If you wish to execute\n * conditions to exit early, consider moving the logic to:\n *\n * - client/simple/src/js/router.ts\n *\n * ...to avoid unnecessarily loading this plugin on the client.\n */\n protected abstract run(): Promise<unknown>;\n\n /**\n * Post-execution hook.\n *\n * @remarks\n * The hook is only executed if `#run()` returns a truthy value.\n */\n // @ts-expect-error\n protected abstract post(result: NonNullable<Awaited<ReturnType<this[\"run\"]>>>): Promise<void>;\n}\n"],"mappings":"AAYA,IAAsBA,EAAtB,KAA6B,CAI3B,GAMA,YAAsB,EAAY,CAChC,KAAK,GAAKC,EAEV,mBAAqB,KAAK,OAAO,CAAC,CACpC,CAEA,MAAc,QAAwB,CACpC,GAAI,CACF,QAAQ,MAAM,YAAY,KAAK,GAAG,aAAa,EAC/C,IAAMC,EAAS,MAAM,KAAK,IAAI,EAC9B,GAAI,CAACA,EAAQ,OAEb,QAAQ,MAAM,YAAY,KAAK,GAAG,uBAAuB,EAEzD,MAAY,KAAK,KAAKA,CAAuD,CAC/E,OAASC,EAAO,CACd,QAAQ,MAAM,YAAY,KAAK,GAAG,GAAIA,CAAK,CAC7C,QAAU,CACR,QAAQ,MAAM,YAAY,KAAK,GAAG,QAAQ,CAC5C,CACF,CAuBF,E"}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
{"version":3,"file":"DK4yUVpy.min.js","names":["assertElement","element"],"sources":["../../../../../client/simple/src/js/util/assertElement.ts"],"sourcesContent":["// SPDX-License-Identifier: AGPL-3.0-or-later\n\ntype AssertElement = <T>(element?: T | null) => asserts element is T;\nexport const assertElement: AssertElement = <T>(element?: T | null): asserts element is T => {\n if (!element) {\n throw new Error(\"DOM element not found\");\n }\n};\n"],"mappings":"AAGA,IAAaA,EAAmC,GAA6C,CAC3F,GAAI,CAACC,EACH,MAAU,MAAM,uBAAuB,CAE3C"}
|
||||
{"version":3,"file":"DK4yUVpy.min.js","names":["assertElement","element"],"sources":["../../../../../client/simple/src/js/util/assertElement.ts"],"sourcesContent":["// SPDX-License-Identifier: AGPL-3.0-or-later\n\ntype AssertElement = <T>(element?: T | null) => asserts element is T;\nexport const assertElement: AssertElement = <T>(element?: T | null): asserts element is T => {\n if (!element) {\n throw new Error(\"DOM element not found\");\n }\n};\n"],"mappings":"AAGA,IAAaA,EAAmC,GAA6C,CAC3F,GAAI,CAACC,EACH,MAAU,MAAM,uBAAuB,CAE3C,E"}
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"DcK-mo-Y.min.js","names":["assertElement","getElement","element","id","options"],"sources":["../../../../../client/simple/src/js/util/getElement.ts"],"sourcesContent":["// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport { assertElement } from \"./assertElement.ts\";\n\ntype Options = {\n assert?: boolean;\n};\n\nexport function getElement<T>(id: string, options?: { assert: true }): T;\nexport function getElement<T>(id: string, options?: { assert: false }): T | null;\nexport function getElement<T>(id: string, options: Options = {}): T | null {\n options.assert ??= true;\n\n const element = document.getElementById(id) as T | null;\n\n if (options.assert) {\n assertElement(element);\n }\n\n return element;\n}\n"],"mappings":"sCAUA,SAAgBC,EAAc,EAAY,EAAmB,CAAC,EAAa,CACzE,EAAQ,SAAW,GAEnB,IAAMC,EAAU,SAAS,eAAeC,CAAE,EAM1C,OAJIC,EAAQ,QACVJ,EAAcE,CAAO,EAGhBA,CACT"}
|
||||
{"version":3,"file":"DcK-mo-Y.min.js","names":["assertElement","getElement","element","id","options"],"sources":["../../../../../client/simple/src/js/util/getElement.ts"],"sourcesContent":["// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport { assertElement } from \"./assertElement.ts\";\n\ntype Options = {\n assert?: boolean;\n};\n\nexport function getElement<T>(id: string, options?: { assert: true }): T;\nexport function getElement<T>(id: string, options?: { assert: false }): T | null;\nexport function getElement<T>(id: string, options: Options = {}): T | null {\n options.assert ??= true;\n\n const element = document.getElementById(id) as T | null;\n\n if (options.assert) {\n assertElement(element);\n }\n\n return element;\n}\n"],"mappings":"A,sCAUA,SAAgBC,EAAc,EAAY,EAAmB,CAAC,EAAa,CACzE,EAAQ,SAAW,GAEnB,IAAMC,EAAU,SAAS,eAAeC,CAAE,EAM1C,OAJIC,EAAQ,QACVJ,EAAcE,CAAO,EAGhBA,CACT,C"}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Vendored
+2
-2
@@ -1,2 +1,2 @@
|
||||
import{i as e,n as t,t as n}from"../sxng-core.min.js";import{t as r}from"./DK4yUVpy.min.js";var i,a=async()=>{if(!i){try{i=await(await n(`GET`,`engine_descriptions.json`)).json()}catch(e){console.error(`Error fetching engineDescriptions:`,e)}if(i)for(let[t,[n,r]]of Object.entries(i)){let i=document.querySelectorAll(`[data-engine-name="${t}"] .engine-description`),a=` (<i>${e.translations?.Source}: ${r}</i>)`;for(let e of i)e.innerHTML=n+a}}},o=(e,t)=>{for(let n of t)n.offsetParent&&(n.checked=!e)},s=document.querySelectorAll(`[data-engine-name]`);for(let e of s)t(`mouseenter`,e,a);var c=document.querySelectorAll(`tbody input[type=checkbox][class~=checkbox-onoff]`),l=document.querySelectorAll(`.enable-all-engines`);for(let e of l)t(`click`,e,()=>o(!0,c));var u=document.querySelectorAll(`.disable-all-engines`);for(let e of u)t(`click`,e,()=>o(!1,c));t(`click`,`#copy-hash`,async function(){let e=this.parentElement?.querySelector(`pre`);if(r(e),window.isSecureContext)await navigator.clipboard.writeText(e.innerText);else{let t=window.getSelection();if(t){let n=document.createRange();n.selectNodeContents(e),t.removeAllRanges(),t.addRange(n),document.execCommand(`copy`)}}this.dataset.copiedText&&(this.innerText=this.dataset.copiedText)});
|
||||
//# sourceMappingURL=e2-9fzwE.min.js.map
|
||||
import{i as e,n as t,t as n}from"../sxng-core.min.js";import{t as r}from"./DK4yUVpy.min.js";var i,a=async()=>{if(!i){try{i=await(await n(`GET`,`engine_descriptions.json`)).json()}catch(e){console.error(`Error fetching engineDescriptions:`,e)}if(i)for(let[t,[n,r]]of Object.entries(i)){let i=document.querySelectorAll(`[data-engine-name="${t}"] .engine-description`),a=` (<i>${e.translations?.Source}: ${r}</i>)`;for(let e of i)e.innerHTML=n+a}}},o=(e,t)=>{for(let n of t)n.offsetParent&&(n.checked=!e)},s=document.querySelectorAll(`[data-engine-name]`);for(let e of s)t(`mouseenter`,e,a);var c=document.querySelectorAll(`tbody input[type=checkbox][class~=checkbox-onoff]`),l=document.querySelectorAll(`.enable-all-engines`);for(let e of l)t(`click`,e,()=>o(!0,c));var u=document.querySelectorAll(`.disable-all-engines`);for(let e of u)t(`click`,e,()=>o(!1,c));t(`click`,`#copy-hash`,async function(){let e=this.parentElement?.querySelector(`pre`);if(r(e),window.isSecureContext)await navigator.clipboard.writeText(e.textContent);else{let t=window.getSelection();if(t){let n=document.createRange();n.selectNodeContents(e),t.removeAllRanges(),t.addRange(n),document.execCommand(`copy`)}}this.dataset.copiedText&&(this.textContent=this.dataset.copiedText)});
|
||||
//# sourceMappingURL=DrJUb27w.min.js.map
|
||||
+1
-1
@@ -1 +1 @@
|
||||
{"version":3,"file":"e2-9fzwE.min.js","names":["settings","listen","http","assertElement","engineDescriptions","loadEngineDescriptions","error","engine_name","description","source","elements","sourceText","element","toggleEngines","engineToggle","engineToggles","enable","engineElements","engineElement","enableAllEngines","engine","disableAllEngines","target","selection","range"],"sources":["../../../../../client/simple/src/js/main/preferences.ts"],"sourcesContent":["// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport { http, listen, settings } from \"../toolkit.ts\";\nimport { assertElement } from \"../util/assertElement.ts\";\n\nlet engineDescriptions: Record<string, [string, string]> | undefined;\n\nconst loadEngineDescriptions = async (): Promise<void> => {\n if (engineDescriptions) return;\n try {\n const res = await http(\"GET\", \"engine_descriptions.json\");\n engineDescriptions = await res.json();\n } catch (error) {\n console.error(\"Error fetching engineDescriptions:\", error);\n }\n if (!engineDescriptions) return;\n\n for (const [engine_name, [description, source]] of Object.entries(engineDescriptions)) {\n const elements = document.querySelectorAll<HTMLElement>(`[data-engine-name=\"${engine_name}\"] .engine-description`);\n const sourceText = ` (<i>${settings.translations?.Source}: ${source}</i>)`;\n\n for (const element of elements) {\n element.innerHTML = description + sourceText;\n }\n }\n};\n\nconst toggleEngines = (enable: boolean, engineToggles: NodeListOf<HTMLInputElement>): void => {\n for (const engineToggle of engineToggles) {\n // check if element visible, so that only engines of the current category are modified\n if (engineToggle.offsetParent) {\n engineToggle.checked = !enable;\n }\n }\n};\n\nconst engineElements: NodeListOf<HTMLElement> = document.querySelectorAll<HTMLElement>(\"[data-engine-name]\");\nfor (const engineElement of engineElements) {\n listen(\"mouseenter\", engineElement, loadEngineDescriptions);\n}\n\nconst engineToggles: NodeListOf<HTMLInputElement> = document.querySelectorAll<HTMLInputElement>(\n \"tbody input[type=checkbox][class~=checkbox-onoff]\"\n);\n\nconst enableAllEngines: NodeListOf<HTMLElement> = document.querySelectorAll<HTMLElement>(\".enable-all-engines\");\nfor (const engine of enableAllEngines) {\n listen(\"click\", engine, () => toggleEngines(true, engineToggles));\n}\n\nconst disableAllEngines: NodeListOf<HTMLElement> = document.querySelectorAll<HTMLElement>(\".disable-all-engines\");\nfor (const engine of disableAllEngines) {\n listen(\"click\", engine, () => toggleEngines(false, engineToggles));\n}\n\nlisten(\"click\", \"#copy-hash\", async function (this: HTMLElement) {\n const target = this.parentElement?.querySelector<HTMLPreElement>(\"pre\");\n assertElement(target);\n\n if (window.isSecureContext) {\n await navigator.clipboard.writeText(target.innerText);\n } else {\n const selection = window.getSelection();\n if (selection) {\n const range = document.createRange();\n range.selectNodeContents(target);\n selection.removeAllRanges();\n selection.addRange(range);\n document.execCommand(\"copy\");\n }\n }\n\n if (this.dataset.copiedText) {\n this.innerText = this.dataset.copiedText;\n }\n});\n"],"mappings":"4FAKA,IAAII,EAEEC,EAAyB,SAA2B,CACxD,GAAI,GACJ,IAAI,CAEF,EAAqB,MAAM,MADTH,EAAK,MAAO,0BAA0B,EAAA,CACzB,KAAK,CACtC,OAASI,EAAO,CACd,QAAQ,MAAM,qCAAsCA,CAAK,CAC3D,CACA,GAAKF,EAEL,IAAK,GAAM,CAACG,EAAa,CAACC,EAAaC,MAAY,OAAO,QAAQL,CAAkB,EAAG,CACrF,IAAMM,EAAW,SAAS,iBAA8B,sBAAsBH,EAAY,uBAAuB,EAC3GI,EAAa,QAAQX,EAAS,cAAc,OAAO,SAASS,EAAO,OAEzE,IAAK,IAAMG,KAAWF,EACpB,EAAQ,UAAYF,EAAcG,CAEtC,CAVA,CAWF,EAEME,GAAiB,EAAiB,IAAsD,CAC5F,IAAK,IAAMC,KAAgBC,EAErBD,EAAa,eACf,EAAa,QAAU,CAACE,EAG9B,EAEMC,EAA0C,SAAS,iBAA8B,oBAAoB,EAC3G,IAAK,IAAMC,KAAiBD,EAC1BhB,EAAO,aAAciB,EAAeb,CAAsB,EAG5D,IAAMU,EAA8C,SAAS,iBAC3D,mDACF,EAEMI,EAA4C,SAAS,iBAA8B,qBAAqB,EAC9G,IAAK,IAAMC,KAAUD,EACnBlB,EAAO,QAASmB,MAAcP,EAAc,GAAME,CAAa,CAAC,EAGlE,IAAMM,EAA6C,SAAS,iBAA8B,sBAAsB,EAChH,IAAK,IAAMD,KAAUC,EACnBpB,EAAO,QAASmB,MAAcP,EAAc,GAAOE,CAAa,CAAC,EAGnEd,EAAO,QAAS,aAAc,gBAAmC,CAC/D,IAAMqB,EAAS,KAAK,eAAe,cAA8B,KAAK,EAGtE,GAFAnB,EAAcmB,CAAM,EAEhB,OAAO,gBACT,MAAM,UAAU,UAAU,UAAUA,EAAO,SAAS,MAC/C,CACL,IAAMC,EAAY,OAAO,aAAa,EACtC,GAAIA,EAAW,CACb,IAAMC,EAAQ,SAAS,YAAY,EACnCA,EAAM,mBAAmBF,CAAM,EAC/BC,EAAU,gBAAgB,EAC1BA,EAAU,SAASC,CAAK,EACxB,SAAS,YAAY,MAAM,CAC7B,CACF,CAEI,KAAK,QAAQ,aACf,KAAK,UAAY,KAAK,QAAQ,WAElC,CAAC"}
|
||||
{"version":3,"file":"DrJUb27w.min.js","names":["settings","listen","http","assertElement","engineDescriptions","loadEngineDescriptions","error","engine_name","description","source","elements","sourceText","element","toggleEngines","engineToggle","engineToggles","enable","engineElements","engineElement","enableAllEngines","engine","disableAllEngines","target","selection","range"],"sources":["../../../../../client/simple/src/js/main/preferences.ts"],"sourcesContent":["// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport { http, listen, settings } from \"../toolkit.ts\";\nimport { assertElement } from \"../util/assertElement.ts\";\n\nlet engineDescriptions: Record<string, [string, string]> | undefined;\n\nconst loadEngineDescriptions = async (): Promise<void> => {\n if (engineDescriptions) return;\n try {\n const res = await http(\"GET\", \"engine_descriptions.json\");\n engineDescriptions = await res.json();\n } catch (error) {\n console.error(\"Error fetching engineDescriptions:\", error);\n }\n if (!engineDescriptions) return;\n\n for (const [engine_name, [description, source]] of Object.entries(engineDescriptions)) {\n const elements = document.querySelectorAll<HTMLElement>(`[data-engine-name=\"${engine_name}\"] .engine-description`);\n const sourceText = ` (<i>${settings.translations?.Source}: ${source}</i>)`;\n\n for (const element of elements) {\n element.innerHTML = description + sourceText;\n }\n }\n};\n\nconst toggleEngines = (enable: boolean, engineToggles: NodeListOf<HTMLInputElement>): void => {\n for (const engineToggle of engineToggles) {\n // check if element visible, so that only engines of the current category are modified\n if (engineToggle.offsetParent) {\n engineToggle.checked = !enable;\n }\n }\n};\n\nconst engineElements: NodeListOf<HTMLElement> = document.querySelectorAll<HTMLElement>(\"[data-engine-name]\");\nfor (const engineElement of engineElements) {\n listen(\"mouseenter\", engineElement, loadEngineDescriptions);\n}\n\nconst engineToggles: NodeListOf<HTMLInputElement> = document.querySelectorAll<HTMLInputElement>(\n \"tbody input[type=checkbox][class~=checkbox-onoff]\"\n);\n\nconst enableAllEngines: NodeListOf<HTMLElement> = document.querySelectorAll<HTMLElement>(\".enable-all-engines\");\nfor (const engine of enableAllEngines) {\n listen(\"click\", engine, () => toggleEngines(true, engineToggles));\n}\n\nconst disableAllEngines: NodeListOf<HTMLElement> = document.querySelectorAll<HTMLElement>(\".disable-all-engines\");\nfor (const engine of disableAllEngines) {\n listen(\"click\", engine, () => toggleEngines(false, engineToggles));\n}\n\nlisten(\"click\", \"#copy-hash\", async function (this: HTMLElement) {\n const target = this.parentElement?.querySelector<HTMLPreElement>(\"pre\");\n assertElement(target);\n\n if (window.isSecureContext) {\n await navigator.clipboard.writeText(target.textContent);\n } else {\n const selection = window.getSelection();\n if (selection) {\n const range = document.createRange();\n range.selectNodeContents(target);\n selection.removeAllRanges();\n selection.addRange(range);\n document.execCommand(\"copy\");\n }\n }\n\n if (this.dataset.copiedText) {\n this.textContent = this.dataset.copiedText;\n }\n});\n"],"mappings":"A,4FAKA,IAAII,EAEEC,EAAyB,SAA2B,CACxD,GAAI,GACJ,IAAI,CAEF,EAAqB,MAAM,MADTH,EAAK,MAAO,0BAA0B,EAAA,CACzB,KAAK,CACtC,OAASI,EAAO,CACd,QAAQ,MAAM,qCAAsCA,CAAK,CAC3D,CACA,GAAKF,EAEL,IAAK,GAAM,CAACG,EAAa,CAACC,EAAaC,MAAY,OAAO,QAAQL,CAAkB,EAAG,CACrF,IAAMM,EAAW,SAAS,iBAA8B,sBAAsBH,EAAY,uBAAuB,EAC3GI,EAAa,QAAQX,EAAS,cAAc,OAAO,SAASS,EAAO,OAEzE,IAAK,IAAMG,KAAWF,EACpB,EAAQ,UAAYF,EAAcG,CAEtC,CAVA,CAWF,EAEME,GAAiB,EAAiB,IAAsD,CAC5F,IAAK,IAAMC,KAAgBC,EAErBD,EAAa,eACf,EAAa,QAAU,CAACE,EAG9B,EAEMC,EAA0C,SAAS,iBAA8B,oBAAoB,EAC3G,IAAK,IAAMC,KAAiBD,EAC1BhB,EAAO,aAAciB,EAAeb,CAAsB,EAG5D,IAAMU,EAA8C,SAAS,iBAC3D,mDACF,EAEMI,EAA4C,SAAS,iBAA8B,qBAAqB,EAC9G,IAAK,IAAMC,KAAUD,EACnBlB,EAAO,QAASmB,MAAcP,EAAc,GAAME,CAAa,CAAC,EAGlE,IAAMM,EAA6C,SAAS,iBAA8B,sBAAsB,EAChH,IAAK,IAAMD,KAAUC,EACnBpB,EAAO,QAASmB,MAAcP,EAAc,GAAOE,CAAa,CAAC,EAGnEd,EAAO,QAAS,aAAc,gBAAmC,CAC/D,IAAMqB,EAAS,KAAK,eAAe,cAA8B,KAAK,EAGtE,GAFAnB,EAAcmB,CAAM,EAEhB,OAAO,gBACT,MAAM,UAAU,UAAU,UAAUA,EAAO,WAAW,MACjD,CACL,IAAMC,EAAY,OAAO,aAAa,EACtC,GAAIA,EAAW,CACb,IAAMC,EAAQ,SAAS,YAAY,EACnCA,EAAM,mBAAmBF,CAAM,EAC/BC,EAAU,gBAAgB,EAC1BA,EAAU,SAASC,CAAK,EACxB,SAAS,YAAY,MAAM,CAC7B,CACF,CAEI,KAAK,QAAQ,aACf,KAAK,YAAc,KAAK,QAAQ,WAEpC,CAAC"}
|
||||
@@ -51,7 +51,7 @@
|
||||
]
|
||||
},
|
||||
"src/js/main/preferences.ts": {
|
||||
"file": "chunk/e2-9fzwE.min.js",
|
||||
"file": "chunk/DrJUb27w.min.js",
|
||||
"name": "preferences",
|
||||
"src": "src/js/main/preferences.ts",
|
||||
"isDynamicEntry": true,
|
||||
@@ -61,7 +61,7 @@
|
||||
]
|
||||
},
|
||||
"src/js/main/results.ts": {
|
||||
"file": "chunk/CFQtNTi4.min.js",
|
||||
"file": "chunk/Bu_sbHhO.min.js",
|
||||
"name": "results",
|
||||
"src": "src/js/main/results.ts",
|
||||
"isDynamicEntry": true,
|
||||
@@ -81,7 +81,7 @@
|
||||
]
|
||||
},
|
||||
"src/js/plugin/Calculator.ts": {
|
||||
"file": "chunk/CGtCrbI8.min.js",
|
||||
"file": "chunk/DisAuMqR.min.js",
|
||||
"name": "calculator",
|
||||
"src": "src/js/plugin/Calculator.ts",
|
||||
"isDynamicEntry": true,
|
||||
@@ -103,7 +103,7 @@
|
||||
]
|
||||
},
|
||||
"src/js/plugin/MapView.ts": {
|
||||
"file": "chunk/DAKwL16e.min.js",
|
||||
"file": "chunk/BouIGjk1.min.js",
|
||||
"name": "mapview",
|
||||
"src": "src/js/plugin/MapView.ts",
|
||||
"isDynamicEntry": true,
|
||||
|
||||
+2
-2
@@ -1,3 +1,3 @@
|
||||
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./chunk/DAKwL16e.min.js","./chunk/BuurKv-k.min.js","./sxng-mapview.min.css","./chunk/D3mcqWOe.min.js","./chunk/DK4yUVpy.min.js","./chunk/DcK-mo-Y.min.js","./chunk/CGtCrbI8.min.js","./chunk/CGcztD0S.min.js","./chunk/BMrKiJ3q.min.js","./chunk/Bs-FMxfE.min.js","./chunk/CFQtNTi4.min.js","./chunk/e2-9fzwE.min.js"])))=>i.map(i=>d[i]);
|
||||
var e={index:`index`,results:`results`,preferences:`preferences`,unknown:`unknown`},t={closeDetail:void 0,scrollPageToSelected:void 0,selectImage:void 0,selectNext:void 0,selectPrevious:void 0},n=()=>{let t=document.querySelector(`meta[name="endpoint"]`)?.getAttribute(`content`);return t&&t in e?t:e.unknown},r=()=>{let e=document.querySelector(`script[client_settings]`)?.getAttribute(`client_settings`);if(!e)return{};try{return JSON.parse(atob(e))}catch(e){return console.error(`Failed to load client_settings:`,e),{}}},i=async(e,t,n)=>{let r=new AbortController,i=setTimeout(()=>r.abort(),n?.timeout??3e4),a=await fetch(t,{body:n?.body,method:e,signal:r.signal}).finally(()=>clearTimeout(i));if(!a.ok)throw Error(a.statusText);return a},a=(e,t,n,r)=>{typeof t==`string`?document.addEventListener(e,e=>{for(let r of e.composedPath())if(r instanceof HTMLElement&&r.matches(t)){try{n.call(r,e)}catch(e){console.error(e)}break}},r):t.addEventListener(e,n,r)},o=(e,t)=>{for(let e of t?.on??[])if(!e)return;document.readyState===`loading`?a(`DOMContentLoaded`,document,e,{once:!0}):e()},s=n(),c=r(),l=(e,t)=>{u(t)&&e()},u=e=>{switch(e.on){case`global`:return!0;case`endpoint`:return!!e.where.includes(s)}},d=`modulepreload`,f=function(e,t){return new URL(e,t).href},p={},m=function(e){return e.pathname.endsWith(`.css`)},h=function(e,t,n){if(t in e)return e[t];let r=n();if(!r){e[t]=void 0;return}let i=r.then(()=>{e[t]=void 0},n=>{throw e[t]=void 0,n});return e[t]=i,i},g=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e,i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?new URL(import.meta.resolve(e)):new URL(e,import.meta.url)}r=o(t.map(t=>{t=f(t,n);let r=s(t),i=m(r);return h(p,r.href,()=>{if(e===void 0){e={all:new Set,styles:new Set};let t=document.getElementsByTagName(`link`);for(let n=t.length-1;n>=0;n--){let r=t[n];e.all.add(r.href),r.rel===`stylesheet`&&e.styles.add(r.href)}}if((i?e.styles:e.all).has(r.href))return;let t=document.createElement(`link`);if(t.rel=i?`stylesheet`:d,i||(t.as=`script`),t.crossOrigin=``,t.href=r.href,a&&t.setAttribute(`nonce`,a),document.head.appendChild(t),i)return new Promise((e,n)=>{t.addEventListener(`load`,e),t.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${r}`)))})})}).filter(e=>e!==void 0))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})};o(()=>{document.documentElement.classList.remove(`no-js`),document.documentElement.classList.add(`js`),a(`click`,`.close`,function(){this.parentNode?.classList.add(`invisible`)}),a(`click`,`.searxng_init_map`,async function(t){t.preventDefault(),this.classList.remove(`searxng_init_map`),l(()=>g(async()=>{let{default:e}=await import(`./chunk/DAKwL16e.min.js`);return{default:e}},__vite__mapDeps([0,1,2]),import.meta.url).then(({default:e})=>new e(this)),{on:`endpoint`,where:[e.results]})}),c.plugins?.includes(`infiniteScroll`)&&l(()=>g(async()=>{let{default:e}=await import(`./chunk/D3mcqWOe.min.js`);return{default:e}},__vite__mapDeps([3,1,4,5]),import.meta.url).then(({default:e})=>new e),{on:`endpoint`,where:[e.results]}),c.plugins?.includes(`calculator`)&&l(()=>g(async()=>{let{default:e}=await import(`./chunk/CGtCrbI8.min.js`);return{default:e}},__vite__mapDeps([6,1,5,4]),import.meta.url).then(({default:e})=>new e),{on:`endpoint`,where:[e.results]})}),o(()=>{g(()=>import(`./chunk/CGcztD0S.min.js`),__vite__mapDeps([7,4]),import.meta.url),g(()=>import(`./chunk/BMrKiJ3q.min.js`),__vite__mapDeps([8,5,4]),import.meta.url),c.autocomplete&&g(()=>import(`./chunk/Bs-FMxfE.min.js`),__vite__mapDeps([9,4]),import.meta.url)},{on:[s===e.index]}),o(()=>{g(()=>import(`./chunk/CGcztD0S.min.js`),__vite__mapDeps([7,4]),import.meta.url),g(()=>import(`./chunk/CFQtNTi4.min.js`),__vite__mapDeps([10,4]),import.meta.url),g(()=>import(`./chunk/BMrKiJ3q.min.js`),__vite__mapDeps([8,5,4]),import.meta.url),c.autocomplete&&g(()=>import(`./chunk/Bs-FMxfE.min.js`),__vite__mapDeps([9,4]),import.meta.url)},{on:[s===e.results]}),o(()=>{g(()=>import(`./chunk/e2-9fzwE.min.js`),__vite__mapDeps([11,4]),import.meta.url)},{on:[s===e.preferences]});export{c as i,a as n,t as r,i as t};
|
||||
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./chunk/BouIGjk1.min.js","./chunk/BuurKv-k.min.js","./sxng-mapview.min.css","./chunk/D3mcqWOe.min.js","./chunk/DK4yUVpy.min.js","./chunk/DcK-mo-Y.min.js","./chunk/DisAuMqR.min.js","./chunk/CGcztD0S.min.js","./chunk/BMrKiJ3q.min.js","./chunk/Bs-FMxfE.min.js","./chunk/Bu_sbHhO.min.js","./chunk/DrJUb27w.min.js"])))=>i.map(i=>d[i]);
|
||||
var e={index:`index`,results:`results`,preferences:`preferences`,unknown:`unknown`},t={closeDetail:void 0,scrollPageToSelected:void 0,selectImage:void 0,selectNext:void 0,selectPrevious:void 0},n=()=>{let t=document.querySelector(`meta[name="endpoint"]`)?.getAttribute(`content`);return t&&t in e?t:e.unknown},r=()=>{let e=document.querySelector(`script[client_settings]`)?.getAttribute(`client_settings`);if(!e)return{};try{return JSON.parse(atob(e))}catch(e){return console.error(`Failed to load client_settings:`,e),{}}},i=async(e,t,n)=>{let r=new AbortController,i=setTimeout(()=>r.abort(),n?.timeout??3e4),a=await fetch(t,{body:n?.body,method:e,signal:r.signal}).finally(()=>clearTimeout(i));if(!a.ok)throw Error(a.statusText);return a},a=(e,t,n,r)=>{typeof t==`string`?document.addEventListener(e,e=>{for(let r of e.composedPath())if(r instanceof HTMLElement&&r.matches(t)){try{n.call(r,e)}catch(e){console.error(e)}break}},r):t.addEventListener(e,n,r)},o=(e,t)=>{for(let e of t?.on??[])if(!e)return;document.readyState===`loading`?a(`DOMContentLoaded`,document,e,{once:!0}):e()},s=n(),c=r(),l=(e,t)=>{u(t)&&e()},u=e=>{switch(e.on){case`global`:return!0;case`endpoint`:return!!e.where.includes(s)}},d=`modulepreload`,f=function(e,t){return new URL(e,t).href},p={},m=function(e){return e.pathname.endsWith(`.css`)},h=function(e,t,n){if(t in e)return e[t];let r=n();if(!r){e[t]=void 0;return}let i=r.then(()=>{e[t]=void 0},n=>{throw e[t]=void 0,n});return e[t]=i,i},g=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e,i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?new URL(import.meta.resolve(e)):new URL(e,import.meta.url)}r=o(t.map(t=>{t=f(t,n);let r=s(t),i=m(r);return h(p,r.href,()=>{if(e===void 0){e={all:new Set,styles:new Set};let t=document.getElementsByTagName(`link`);for(let n=t.length-1;n>=0;n--){let r=t[n];e.all.add(r.href),r.rel===`stylesheet`&&e.styles.add(r.href)}}if((i?e.styles:e.all).has(r.href))return;let t=document.createElement(`link`);if(t.rel=i?`stylesheet`:d,i||(t.as=`script`),t.crossOrigin=``,t.href=r.href,a&&t.setAttribute(`nonce`,a),document.head.appendChild(t),i)return new Promise((e,n)=>{t.addEventListener(`load`,e),t.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${r}`)))})})}).filter(e=>e!==void 0))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})};o(()=>{document.documentElement.classList.remove(`no-js`),document.documentElement.classList.add(`js`),a(`click`,`.close`,function(){this.parentNode?.classList.add(`invisible`)}),a(`click`,`.searxng_init_map`,async function(t){t.preventDefault(),this.classList.remove(`searxng_init_map`),l(()=>g(async()=>{let{default:e}=await import(`./chunk/BouIGjk1.min.js`);return{default:e}},__vite__mapDeps([0,1,2]),import.meta.url).then(({default:e})=>new e(this)),{on:`endpoint`,where:[e.results]})}),c.plugins?.includes(`infiniteScroll`)&&l(()=>g(async()=>{let{default:e}=await import(`./chunk/D3mcqWOe.min.js`);return{default:e}},__vite__mapDeps([3,1,4,5]),import.meta.url).then(({default:e})=>new e),{on:`endpoint`,where:[e.results]}),c.plugins?.includes(`calculator`)&&l(()=>g(async()=>{let{default:e}=await import(`./chunk/DisAuMqR.min.js`);return{default:e}},__vite__mapDeps([6,1,5,4]),import.meta.url).then(({default:e})=>new e),{on:`endpoint`,where:[e.results]})}),o(()=>{g(()=>import(`./chunk/CGcztD0S.min.js`),__vite__mapDeps([7,4]),import.meta.url),g(()=>import(`./chunk/BMrKiJ3q.min.js`),__vite__mapDeps([8,5,4]),import.meta.url),c.autocomplete&&g(()=>import(`./chunk/Bs-FMxfE.min.js`),__vite__mapDeps([9,4]),import.meta.url)},{on:[s===e.index]}),o(()=>{g(()=>import(`./chunk/CGcztD0S.min.js`),__vite__mapDeps([7,4]),import.meta.url),g(()=>import(`./chunk/Bu_sbHhO.min.js`),__vite__mapDeps([10,4]),import.meta.url),g(()=>import(`./chunk/BMrKiJ3q.min.js`),__vite__mapDeps([8,5,4]),import.meta.url),c.autocomplete&&g(()=>import(`./chunk/Bs-FMxfE.min.js`),__vite__mapDeps([9,4]),import.meta.url)},{on:[s===e.results]}),o(()=>{g(()=>import(`./chunk/DrJUb27w.min.js`),__vite__mapDeps([11,4]),import.meta.url)},{on:[s===e.preferences]});export{c as i,a as n,t as r,i as t};
|
||||
//# sourceMappingURL=sxng-core.min.js.map
|
||||
File diff suppressed because one or more lines are too long
Binary file not shown.
@@ -18,19 +18,20 @@
|
||||
# return42 <return42@noreply.codeberg.org>, 2025.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: searx\n"
|
||||
"Project-Id-Version: searx\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2026-10-09 19:03+0000\n"
|
||||
"PO-Revision-Date: 2026-07-23 22:07+0000\n"
|
||||
"PO-Revision-Date: 2026-10-26 23:27+0000\n"
|
||||
"Last-Translator: alexgabi <alexgabi@noreply.codeberg.org>\n"
|
||||
"Language: eu\n"
|
||||
"Language-Team: Basque "
|
||||
"<https://translate.codeberg.org/projects/searxng/searxng/eu/>\n"
|
||||
"Language-Team: Basque <https://translate.codeberg.org/projects/searxng/"
|
||||
"searxng/eu/>\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.18.0\n"
|
||||
"X-Generator: Weblate 2026.10.1\n"
|
||||
|
||||
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
||||
#: searx/searxng.msg
|
||||
@@ -50,7 +51,7 @@ msgstr "aplikazioak"
|
||||
#. CATEGORY_NAMES['BLOGS']
|
||||
#: searx/searxng.msg
|
||||
msgid "blogs"
|
||||
msgstr ""
|
||||
msgstr "blogak"
|
||||
|
||||
#. CATEGORY_NAMES['DICTIONARIES']
|
||||
#: searx/searxng.msg
|
||||
@@ -70,7 +71,7 @@ msgstr "orokorra"
|
||||
#. CATEGORY_NAMES['ICONS']
|
||||
#: searx/searxng.msg
|
||||
msgid "icons"
|
||||
msgstr ""
|
||||
msgstr "ikonoak"
|
||||
|
||||
#. CATEGORY_NAMES['IMAGES']
|
||||
#: searx/searxng.msg
|
||||
@@ -95,7 +96,7 @@ msgstr "mapa"
|
||||
#. CATEGORY_NAMES['MOVIES']
|
||||
#: searx/searxng.msg
|
||||
msgid "movies"
|
||||
msgstr ""
|
||||
msgstr "filmak"
|
||||
|
||||
#. CATEGORY_NAMES['MUSIC']
|
||||
#: searx/searxng.msg
|
||||
@@ -155,12 +156,12 @@ msgstr "software wikiak"
|
||||
#. CATEGORY_NAMES['STOCK_IMAGES']
|
||||
#: searx/searxng.msg
|
||||
msgid "stock images"
|
||||
msgstr ""
|
||||
msgstr "artxiboko irudiak"
|
||||
|
||||
#. CATEGORY_NAMES['TRANSLATE']
|
||||
#: searx/searxng.msg
|
||||
msgid "translate"
|
||||
msgstr ""
|
||||
msgstr "itzuli"
|
||||
|
||||
#. CATEGORY_NAMES['TV']
|
||||
#: searx/searxng.msg
|
||||
@@ -175,7 +176,7 @@ msgstr "bideoak"
|
||||
#. CATEGORY_NAMES['WEATHER']
|
||||
#: searx/searxng.msg
|
||||
msgid "weather"
|
||||
msgstr ""
|
||||
msgstr "eguraldia"
|
||||
|
||||
#. CATEGORY_NAMES['WEB']
|
||||
#: searx/searxng.msg
|
||||
@@ -588,95 +589,95 @@ msgstr "Errorea hurrengo orrialdea kargatzean"
|
||||
|
||||
#: searx/webapp.py:332
|
||||
msgid "close"
|
||||
msgstr ""
|
||||
msgstr "itxi"
|
||||
|
||||
#: searx/webapp.py:333
|
||||
msgid "How to navigate SearXNG with hotkeys"
|
||||
msgstr ""
|
||||
msgstr "Nola nabigatu SearXNG laster-teklen bidez"
|
||||
|
||||
#: searx/webapp.py:334
|
||||
msgid "Control"
|
||||
msgstr ""
|
||||
msgstr "Kontrola"
|
||||
|
||||
#: searx/webapp.py:335
|
||||
msgid "Results"
|
||||
msgstr ""
|
||||
msgstr "Emaitzak"
|
||||
|
||||
#: searx/webapp.py:336
|
||||
msgid "Navigation"
|
||||
msgstr ""
|
||||
msgstr "Nabigazioa"
|
||||
|
||||
#: searx/webapp.py:337
|
||||
msgid "Other"
|
||||
msgstr ""
|
||||
msgstr "Bestelakoak"
|
||||
|
||||
#: searx/webapp.py:338
|
||||
msgid "remove focus from the focused input"
|
||||
msgstr ""
|
||||
msgstr "kendu fokua fokuratutako sarreratik"
|
||||
|
||||
#: searx/webapp.py:339
|
||||
msgid "copy url of the selected result to the clipboard"
|
||||
msgstr ""
|
||||
msgstr "kopiatu hautatutako emaitzen url-a arbelean"
|
||||
|
||||
#: searx/webapp.py:340
|
||||
msgid "toggle help window"
|
||||
msgstr ""
|
||||
msgstr "txandakatu laguntza leihoa"
|
||||
|
||||
#: searx/webapp.py:341
|
||||
msgid "focus on the search input"
|
||||
msgstr ""
|
||||
msgstr "zentratu bilaketa-sarreran"
|
||||
|
||||
#: searx/webapp.py:342
|
||||
msgid "go to next page"
|
||||
msgstr ""
|
||||
msgstr "joan hurrengo orrira"
|
||||
|
||||
#: searx/webapp.py:343
|
||||
msgid "open search result"
|
||||
msgstr ""
|
||||
msgstr "ireki bilaketaren emaitza"
|
||||
|
||||
#: searx/webapp.py:344
|
||||
msgid "go to previous page"
|
||||
msgstr ""
|
||||
msgstr "joan aurreko orrira"
|
||||
|
||||
#: searx/webapp.py:345
|
||||
msgid "reload page from the server"
|
||||
msgstr ""
|
||||
msgstr "birkargatu orria zerbitzaritik"
|
||||
|
||||
#: searx/webapp.py:346
|
||||
msgid "open the result in a new tab"
|
||||
msgstr ""
|
||||
msgstr "ireki emaitza fitxa berri batean"
|
||||
|
||||
#: searx/webapp.py:347
|
||||
msgid "select previous search result"
|
||||
msgstr ""
|
||||
msgstr "hautatu aurreko bilaketaren emaitza"
|
||||
|
||||
#: searx/webapp.py:348
|
||||
msgid "select next search result"
|
||||
msgstr ""
|
||||
msgstr "hautatu hurrengo bilaketaren emaitza"
|
||||
|
||||
#: searx/webapp.py:349
|
||||
msgid "scroll one page up"
|
||||
msgstr ""
|
||||
msgstr "korritu orri bat gora"
|
||||
|
||||
#: searx/webapp.py:350
|
||||
msgid "scroll half a page down"
|
||||
msgstr ""
|
||||
msgstr "korritu orri erdia behera"
|
||||
|
||||
#: searx/webapp.py:351
|
||||
msgid "scroll one page down"
|
||||
msgstr ""
|
||||
msgstr "korritu orri bat behera"
|
||||
|
||||
#: searx/webapp.py:352
|
||||
msgid "scroll to the top of the page"
|
||||
msgstr ""
|
||||
msgstr "korritu orriaren goiko aldera"
|
||||
|
||||
#: searx/webapp.py:353
|
||||
msgid "scroll half a page up"
|
||||
msgstr ""
|
||||
msgstr "korritu orri erdia gora"
|
||||
|
||||
#: searx/webapp.py:354
|
||||
msgid "scroll to the bottom of the page"
|
||||
msgstr ""
|
||||
msgstr "korritu orriaren bukaerara"
|
||||
|
||||
#: searx/webapp.py:502 searx/webapp.py:902
|
||||
msgid "Invalid settings, please edit your preferences"
|
||||
@@ -1522,7 +1523,7 @@ msgstr "Hobespenen hash"
|
||||
|
||||
#: searx/templates/simple/preferences/doi_resolver.html:2
|
||||
msgid "DOI Resolver"
|
||||
msgstr ""
|
||||
msgstr "DOI ebazlea"
|
||||
|
||||
#: searx/templates/simple/preferences/engines.html:9
|
||||
msgid ""
|
||||
@@ -2518,4 +2519,3 @@ msgstr "ezkutatu bideoa"
|
||||
|
||||
#~ msgid "Select service used by DOI rewrite"
|
||||
#~ msgstr "Hautatu DOI berridazketa-k erabilitako zerbitzua"
|
||||
|
||||
|
||||
Binary file not shown.
@@ -17,23 +17,24 @@
|
||||
# Anonymous <anonymous@users.noreply.translate.codeberg.org>, 2025.
|
||||
# Ricky-Tigg <ricky-tigg@users.noreply.translate.codeberg.org>, 2025.
|
||||
# return42 <return42@noreply.codeberg.org>, 2025, 2026.
|
||||
# artnay <artnay@noreply.codeberg.org>, 2025.
|
||||
# artnay <artnay@noreply.codeberg.org>, 2025, 2026.
|
||||
# Ricky-Tigg <ricky-tigg@noreply.codeberg.org>, 2025.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: searx\n"
|
||||
"Project-Id-Version: searx\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2026-10-09 19:03+0000\n"
|
||||
"PO-Revision-Date: 2026-05-19 12:07+0000\n"
|
||||
"Last-Translator: return42 <return42@noreply.codeberg.org>\n"
|
||||
"PO-Revision-Date: 2026-10-29 14:05+0000\n"
|
||||
"Last-Translator: artnay <artnay@noreply.codeberg.org>\n"
|
||||
"Language: fi\n"
|
||||
"Language-Team: Finnish "
|
||||
"<https://translate.codeberg.org/projects/searxng/searxng/fi/>\n"
|
||||
"Language-Team: Finnish <https://translate.codeberg.org/projects/searxng/"
|
||||
"searxng/fi/>\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.18.0\n"
|
||||
"X-Generator: Weblate 2026.10.1\n"
|
||||
|
||||
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
||||
#: searx/searxng.msg
|
||||
@@ -178,7 +179,7 @@ msgstr "videot"
|
||||
#. CATEGORY_NAMES['WEATHER']
|
||||
#: searx/searxng.msg
|
||||
msgid "weather"
|
||||
msgstr ""
|
||||
msgstr "sää"
|
||||
|
||||
#. CATEGORY_NAMES['WEB']
|
||||
#: searx/searxng.msg
|
||||
@@ -591,7 +592,7 @@ msgstr "Virhe ladattaessa seuraavaa sivua"
|
||||
|
||||
#: searx/webapp.py:332
|
||||
msgid "close"
|
||||
msgstr ""
|
||||
msgstr "sulje"
|
||||
|
||||
#: searx/webapp.py:333
|
||||
msgid "How to navigate SearXNG with hotkeys"
|
||||
@@ -603,11 +604,11 @@ msgstr ""
|
||||
|
||||
#: searx/webapp.py:335
|
||||
msgid "Results"
|
||||
msgstr ""
|
||||
msgstr "Tulokset"
|
||||
|
||||
#: searx/webapp.py:336
|
||||
msgid "Navigation"
|
||||
msgstr ""
|
||||
msgstr "Navigaatio"
|
||||
|
||||
#: searx/webapp.py:337
|
||||
msgid "Other"
|
||||
@@ -619,7 +620,7 @@ msgstr ""
|
||||
|
||||
#: searx/webapp.py:339
|
||||
msgid "copy url of the selected result to the clipboard"
|
||||
msgstr ""
|
||||
msgstr "kopioi valitun tuloksen osoite leikepöydälle"
|
||||
|
||||
#: searx/webapp.py:340
|
||||
msgid "toggle help window"
|
||||
@@ -631,55 +632,55 @@ msgstr ""
|
||||
|
||||
#: searx/webapp.py:342
|
||||
msgid "go to next page"
|
||||
msgstr ""
|
||||
msgstr "siirry seuraavalle sivulle"
|
||||
|
||||
#: searx/webapp.py:343
|
||||
msgid "open search result"
|
||||
msgstr ""
|
||||
msgstr "avaa hakutulos"
|
||||
|
||||
#: searx/webapp.py:344
|
||||
msgid "go to previous page"
|
||||
msgstr ""
|
||||
msgstr "siirry edelliselle sivulle"
|
||||
|
||||
#: searx/webapp.py:345
|
||||
msgid "reload page from the server"
|
||||
msgstr ""
|
||||
msgstr "lataa sivu uudelleen palvelimelta"
|
||||
|
||||
#: searx/webapp.py:346
|
||||
msgid "open the result in a new tab"
|
||||
msgstr ""
|
||||
msgstr "avaa tulos uuteen välilehteen"
|
||||
|
||||
#: searx/webapp.py:347
|
||||
msgid "select previous search result"
|
||||
msgstr ""
|
||||
msgstr "valitse edellinen hakutulos"
|
||||
|
||||
#: searx/webapp.py:348
|
||||
msgid "select next search result"
|
||||
msgstr ""
|
||||
msgstr "valitse seuraava hakutulos"
|
||||
|
||||
#: searx/webapp.py:349
|
||||
msgid "scroll one page up"
|
||||
msgstr ""
|
||||
msgstr "vieritä yksi sivu ylös"
|
||||
|
||||
#: searx/webapp.py:350
|
||||
msgid "scroll half a page down"
|
||||
msgstr ""
|
||||
msgstr "vieritä puoli sivua alas"
|
||||
|
||||
#: searx/webapp.py:351
|
||||
msgid "scroll one page down"
|
||||
msgstr ""
|
||||
msgstr "vieritä yksi sivu alas"
|
||||
|
||||
#: searx/webapp.py:352
|
||||
msgid "scroll to the top of the page"
|
||||
msgstr ""
|
||||
msgstr "vieritä sivun yläosaan"
|
||||
|
||||
#: searx/webapp.py:353
|
||||
msgid "scroll half a page up"
|
||||
msgstr ""
|
||||
msgstr "vieritä puoli sivua ylös"
|
||||
|
||||
#: searx/webapp.py:354
|
||||
msgid "scroll to the bottom of the page"
|
||||
msgstr ""
|
||||
msgstr "vieritä sivun alaosaan"
|
||||
|
||||
#: searx/webapp.py:502 searx/webapp.py:902
|
||||
msgid "Invalid settings, please edit your preferences"
|
||||
@@ -1528,7 +1529,7 @@ msgstr "Asetusten tiiviste"
|
||||
|
||||
#: searx/templates/simple/preferences/doi_resolver.html:2
|
||||
msgid "DOI Resolver"
|
||||
msgstr ""
|
||||
msgstr "DOI-ratkaisija"
|
||||
|
||||
#: searx/templates/simple/preferences/engines.html:9
|
||||
msgid ""
|
||||
@@ -1765,11 +1766,11 @@ msgstr "Resoluutio"
|
||||
|
||||
#: searx/templates/simple/result_templates/images.html:55
|
||||
msgid "Image formats"
|
||||
msgstr ""
|
||||
msgstr "Kuvamuodot"
|
||||
|
||||
#: searx/templates/simple/result_templates/images.html:56
|
||||
msgid "original format"
|
||||
msgstr ""
|
||||
msgstr "alkuperäinen muoto"
|
||||
|
||||
#: searx/templates/simple/result_templates/images.html:64
|
||||
msgid "View source"
|
||||
@@ -2537,4 +2538,3 @@ msgstr "piilota video"
|
||||
|
||||
#~ msgid "Select service used by DOI rewrite"
|
||||
#~ msgstr "Valitse palvelu, jota käytetään DOI:n uudelleenkirjoituksessa"
|
||||
|
||||
|
||||
Binary file not shown.
@@ -39,7 +39,7 @@
|
||||
# guenael <guenael@users.noreply.translate.codeberg.org>, 2025.
|
||||
# return42 <return42@noreply.codeberg.org>, 2025, 2026.
|
||||
# wags07 <wags07@noreply.codeberg.org>, 2025.
|
||||
# demilune <demilune@noreply.codeberg.org>, 2025.
|
||||
# demilune <demilune@noreply.codeberg.org>, 2025, 2026.
|
||||
# Hēphaistos <hephaistos@noreply.codeberg.org>, 2025.
|
||||
# ledjfou <ledjfou@noreply.codeberg.org>, 2025.
|
||||
# vbrodeur <vbrodeur@noreply.codeberg.org>, 2025.
|
||||
@@ -48,19 +48,20 @@
|
||||
# Machou <machou@noreply.codeberg.org>, 2026.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: searx\n"
|
||||
"Project-Id-Version: searx\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2026-10-09 19:03+0000\n"
|
||||
"PO-Revision-Date: 2026-09-22 13:25+0000\n"
|
||||
"Last-Translator: return42 <return42@noreply.codeberg.org>\n"
|
||||
"PO-Revision-Date: 2026-10-26 23:27+0000\n"
|
||||
"Last-Translator: demilune <demilune@noreply.codeberg.org>\n"
|
||||
"Language: fr\n"
|
||||
"Language-Team: French "
|
||||
"<https://translate.codeberg.org/projects/searxng/searxng/fr/>\n"
|
||||
"Language-Team: French <https://translate.codeberg.org/projects/searxng/"
|
||||
"searxng/fr/>\n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.18.0\n"
|
||||
"X-Generator: Weblate 2026.10.1\n"
|
||||
|
||||
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
||||
#: searx/searxng.msg
|
||||
@@ -100,7 +101,7 @@ msgstr "général"
|
||||
#. CATEGORY_NAMES['ICONS']
|
||||
#: searx/searxng.msg
|
||||
msgid "icons"
|
||||
msgstr ""
|
||||
msgstr "icônes"
|
||||
|
||||
#. CATEGORY_NAMES['IMAGES']
|
||||
#: searx/searxng.msg
|
||||
@@ -618,27 +619,27 @@ msgstr "Erreur lors du chargement de la page suivante"
|
||||
|
||||
#: searx/webapp.py:332
|
||||
msgid "close"
|
||||
msgstr ""
|
||||
msgstr "fermer"
|
||||
|
||||
#: searx/webapp.py:333
|
||||
msgid "How to navigate SearXNG with hotkeys"
|
||||
msgstr ""
|
||||
msgstr "Naviguer sur SearXNG à l'aide de raccourcis clavier"
|
||||
|
||||
#: searx/webapp.py:334
|
||||
msgid "Control"
|
||||
msgstr ""
|
||||
msgstr "Contrôle"
|
||||
|
||||
#: searx/webapp.py:335
|
||||
msgid "Results"
|
||||
msgstr ""
|
||||
msgstr "Résultats"
|
||||
|
||||
#: searx/webapp.py:336
|
||||
msgid "Navigation"
|
||||
msgstr ""
|
||||
msgstr "Navigation"
|
||||
|
||||
#: searx/webapp.py:337
|
||||
msgid "Other"
|
||||
msgstr ""
|
||||
msgstr "Autre"
|
||||
|
||||
#: searx/webapp.py:338
|
||||
msgid "remove focus from the focused input"
|
||||
@@ -2594,4 +2595,3 @@ msgstr "cacher la vidéo"
|
||||
|
||||
#~ msgid "Select service used by DOI rewrite"
|
||||
#~ msgstr "Sélectionner le service utilisé pour la réécriture par DOI"
|
||||
|
||||
|
||||
Binary file not shown.
@@ -11,18 +11,18 @@ msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2026-10-09 19:03+0000\n"
|
||||
"PO-Revision-Date: 2026-08-04 12:25+0000\n"
|
||||
"Last-Translator: Aindriú Mac Giolla Eoin <aindriu80@noreply.codeberg.org>"
|
||||
"\n"
|
||||
"PO-Revision-Date: 2026-10-24 14:27+0000\n"
|
||||
"Last-Translator: Aindriú Mac Giolla Eoin <aindriu80@noreply.codeberg.org>\n"
|
||||
"Language: ga\n"
|
||||
"Language-Team: Irish "
|
||||
"<https://translate.codeberg.org/projects/searxng/searxng/ga/>\n"
|
||||
"Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : (n>2 && n<7) ? 2 "
|
||||
":(n>6 && n<11) ? 3 : 4;\n"
|
||||
"Language-Team: Irish <https://translate.codeberg.org/projects/searxng/"
|
||||
"searxng/ga/>\n"
|
||||
"Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : (n>2 && n<7) ? 2 :(n>"
|
||||
"6 && n<11) ? 3 : 4;\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.18.0\n"
|
||||
"X-Generator: Weblate 2026.10.1\n"
|
||||
|
||||
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
||||
#: searx/searxng.msg
|
||||
@@ -42,7 +42,7 @@ msgstr "aipeanna"
|
||||
#. CATEGORY_NAMES['BLOGS']
|
||||
#: searx/searxng.msg
|
||||
msgid "blogs"
|
||||
msgstr ""
|
||||
msgstr "blaganna"
|
||||
|
||||
#. CATEGORY_NAMES['DICTIONARIES']
|
||||
#: searx/searxng.msg
|
||||
@@ -62,7 +62,7 @@ msgstr "ginearálta"
|
||||
#. CATEGORY_NAMES['ICONS']
|
||||
#: searx/searxng.msg
|
||||
msgid "icons"
|
||||
msgstr ""
|
||||
msgstr "deilbhíní"
|
||||
|
||||
#. CATEGORY_NAMES['IMAGES']
|
||||
#: searx/searxng.msg
|
||||
@@ -87,7 +87,7 @@ msgstr "léarscáil"
|
||||
#. CATEGORY_NAMES['MOVIES']
|
||||
#: searx/searxng.msg
|
||||
msgid "movies"
|
||||
msgstr ""
|
||||
msgstr "scannáin"
|
||||
|
||||
#. CATEGORY_NAMES['MUSIC']
|
||||
#: searx/searxng.msg
|
||||
@@ -147,12 +147,12 @@ msgstr "bogearraí wikis"
|
||||
#. CATEGORY_NAMES['STOCK_IMAGES']
|
||||
#: searx/searxng.msg
|
||||
msgid "stock images"
|
||||
msgstr ""
|
||||
msgstr "íomhánna stoic"
|
||||
|
||||
#. CATEGORY_NAMES['TRANSLATE']
|
||||
#: searx/searxng.msg
|
||||
msgid "translate"
|
||||
msgstr ""
|
||||
msgstr "aistrigh"
|
||||
|
||||
#. CATEGORY_NAMES['TV']
|
||||
#: searx/searxng.msg
|
||||
@@ -167,7 +167,7 @@ msgstr "físeáin"
|
||||
#. CATEGORY_NAMES['WEATHER']
|
||||
#: searx/searxng.msg
|
||||
msgid "weather"
|
||||
msgstr ""
|
||||
msgstr "aimsir"
|
||||
|
||||
#. CATEGORY_NAMES['WEB']
|
||||
#: searx/searxng.msg
|
||||
@@ -580,95 +580,95 @@ msgstr "Earráid ag luchtú an chéad leathanach eile"
|
||||
|
||||
#: searx/webapp.py:332
|
||||
msgid "close"
|
||||
msgstr ""
|
||||
msgstr "dún"
|
||||
|
||||
#: searx/webapp.py:333
|
||||
msgid "How to navigate SearXNG with hotkeys"
|
||||
msgstr ""
|
||||
msgstr "Conas nascleanúint a dhéanamh i SearXNG le heochracha aicearra"
|
||||
|
||||
#: searx/webapp.py:334
|
||||
msgid "Control"
|
||||
msgstr ""
|
||||
msgstr "Rialú"
|
||||
|
||||
#: searx/webapp.py:335
|
||||
msgid "Results"
|
||||
msgstr ""
|
||||
msgstr "Torthaí"
|
||||
|
||||
#: searx/webapp.py:336
|
||||
msgid "Navigation"
|
||||
msgstr ""
|
||||
msgstr "Nascleanúint"
|
||||
|
||||
#: searx/webapp.py:337
|
||||
msgid "Other"
|
||||
msgstr ""
|
||||
msgstr "Eile"
|
||||
|
||||
#: searx/webapp.py:338
|
||||
msgid "remove focus from the focused input"
|
||||
msgstr ""
|
||||
msgstr "bain an fócas den ionchur atá dírithe"
|
||||
|
||||
#: searx/webapp.py:339
|
||||
msgid "copy url of the selected result to the clipboard"
|
||||
msgstr ""
|
||||
msgstr "cóipeáil url an toraidh roghnaithe chuig an ngearrthaisce"
|
||||
|
||||
#: searx/webapp.py:340
|
||||
msgid "toggle help window"
|
||||
msgstr ""
|
||||
msgstr "scoránaigh an fhuinneog chabhrach"
|
||||
|
||||
#: searx/webapp.py:341
|
||||
msgid "focus on the search input"
|
||||
msgstr ""
|
||||
msgstr "dírigh ar an ionchur cuardaigh"
|
||||
|
||||
#: searx/webapp.py:342
|
||||
msgid "go to next page"
|
||||
msgstr ""
|
||||
msgstr "téigh go dtí an chéad leathanach eile"
|
||||
|
||||
#: searx/webapp.py:343
|
||||
msgid "open search result"
|
||||
msgstr ""
|
||||
msgstr "oscail toradh cuardaigh"
|
||||
|
||||
#: searx/webapp.py:344
|
||||
msgid "go to previous page"
|
||||
msgstr ""
|
||||
msgstr "téigh go dtí an leathanach roimhe seo"
|
||||
|
||||
#: searx/webapp.py:345
|
||||
msgid "reload page from the server"
|
||||
msgstr ""
|
||||
msgstr "athlódáil an leathanach ón bhfreastalaí"
|
||||
|
||||
#: searx/webapp.py:346
|
||||
msgid "open the result in a new tab"
|
||||
msgstr ""
|
||||
msgstr "Oscail an toradh i gcluaisín nua"
|
||||
|
||||
#: searx/webapp.py:347
|
||||
msgid "select previous search result"
|
||||
msgstr ""
|
||||
msgstr "roghnaigh an toradh cuardaigh roimhe seo"
|
||||
|
||||
#: searx/webapp.py:348
|
||||
msgid "select next search result"
|
||||
msgstr ""
|
||||
msgstr "roghnaigh an chéad toradh cuardaigh eile"
|
||||
|
||||
#: searx/webapp.py:349
|
||||
msgid "scroll one page up"
|
||||
msgstr ""
|
||||
msgstr "scrollaigh suas leathanach amháin"
|
||||
|
||||
#: searx/webapp.py:350
|
||||
msgid "scroll half a page down"
|
||||
msgstr ""
|
||||
msgstr "scrollaigh síos leathleathanach"
|
||||
|
||||
#: searx/webapp.py:351
|
||||
msgid "scroll one page down"
|
||||
msgstr ""
|
||||
msgstr "scrollaigh síos leathanach amháin"
|
||||
|
||||
#: searx/webapp.py:352
|
||||
msgid "scroll to the top of the page"
|
||||
msgstr ""
|
||||
msgstr "scrollaigh go barr an leathanaigh"
|
||||
|
||||
#: searx/webapp.py:353
|
||||
msgid "scroll half a page up"
|
||||
msgstr ""
|
||||
msgstr "scrollaigh leathleathanach suas"
|
||||
|
||||
#: searx/webapp.py:354
|
||||
msgid "scroll to the bottom of the page"
|
||||
msgstr ""
|
||||
msgstr "scrollaigh go bun an leathanaigh"
|
||||
|
||||
#: searx/webapp.py:502 searx/webapp.py:902
|
||||
msgid "Invalid settings, please edit your preferences"
|
||||
@@ -1521,7 +1521,7 @@ msgstr "Roghanna hais"
|
||||
|
||||
#: searx/templates/simple/preferences/doi_resolver.html:2
|
||||
msgid "DOI Resolver"
|
||||
msgstr ""
|
||||
msgstr "Réiteoir DOI"
|
||||
|
||||
#: searx/templates/simple/preferences/engines.html:9
|
||||
msgid ""
|
||||
@@ -2093,4 +2093,3 @@ msgstr "físeán a cheilt"
|
||||
|
||||
#~ msgid "Select service used by DOI rewrite"
|
||||
#~ msgstr "Roghnaigh seirbhís a úsáideann DOI athscríobh"
|
||||
|
||||
|
||||
Binary file not shown.
@@ -24,7 +24,7 @@ msgstr ""
|
||||
"Project-Id-Version: PROJECT VERSION\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2026-10-09 19:03+0000\n"
|
||||
"PO-Revision-Date: 2026-10-12 06:27+0000\n"
|
||||
"PO-Revision-Date: 2026-10-28 05:27+0000\n"
|
||||
"Last-Translator: lugged9922 <lugged9922@noreply.codeberg.org>\n"
|
||||
"Language: ko\n"
|
||||
"Language-Team: Korean <https://translate.codeberg.org/projects/searxng/"
|
||||
@@ -608,79 +608,79 @@ msgstr "결과"
|
||||
|
||||
#: searx/webapp.py:336
|
||||
msgid "Navigation"
|
||||
msgstr ""
|
||||
msgstr "탐색"
|
||||
|
||||
#: searx/webapp.py:337
|
||||
msgid "Other"
|
||||
msgstr ""
|
||||
msgstr "기타"
|
||||
|
||||
#: searx/webapp.py:338
|
||||
msgid "remove focus from the focused input"
|
||||
msgstr ""
|
||||
msgstr "입력란 포커스 해제"
|
||||
|
||||
#: searx/webapp.py:339
|
||||
msgid "copy url of the selected result to the clipboard"
|
||||
msgstr ""
|
||||
msgstr "선택한 결과의 URL을 클립보드에 복사"
|
||||
|
||||
#: searx/webapp.py:340
|
||||
msgid "toggle help window"
|
||||
msgstr ""
|
||||
msgstr "도움말 창 전환"
|
||||
|
||||
#: searx/webapp.py:341
|
||||
msgid "focus on the search input"
|
||||
msgstr ""
|
||||
msgstr "검색창에 포커스"
|
||||
|
||||
#: searx/webapp.py:342
|
||||
msgid "go to next page"
|
||||
msgstr ""
|
||||
msgstr "다음 페이지로"
|
||||
|
||||
#: searx/webapp.py:343
|
||||
msgid "open search result"
|
||||
msgstr ""
|
||||
msgstr "검색 결과 열기"
|
||||
|
||||
#: searx/webapp.py:344
|
||||
msgid "go to previous page"
|
||||
msgstr ""
|
||||
msgstr "이전 페이지로"
|
||||
|
||||
#: searx/webapp.py:345
|
||||
msgid "reload page from the server"
|
||||
msgstr ""
|
||||
msgstr "서버에서 페이지 다시 불러오기"
|
||||
|
||||
#: searx/webapp.py:346
|
||||
msgid "open the result in a new tab"
|
||||
msgstr ""
|
||||
msgstr "새 탭에서 결과 열기"
|
||||
|
||||
#: searx/webapp.py:347
|
||||
msgid "select previous search result"
|
||||
msgstr ""
|
||||
msgstr "이전 검색 결과 선택"
|
||||
|
||||
#: searx/webapp.py:348
|
||||
msgid "select next search result"
|
||||
msgstr ""
|
||||
msgstr "다음 검색 결과 선택"
|
||||
|
||||
#: searx/webapp.py:349
|
||||
msgid "scroll one page up"
|
||||
msgstr ""
|
||||
msgstr "한 화면 위로 스크롤"
|
||||
|
||||
#: searx/webapp.py:350
|
||||
msgid "scroll half a page down"
|
||||
msgstr ""
|
||||
msgstr "반 화면 아래로 스크롤"
|
||||
|
||||
#: searx/webapp.py:351
|
||||
msgid "scroll one page down"
|
||||
msgstr ""
|
||||
msgstr "한 화면 아래로 스크롤"
|
||||
|
||||
#: searx/webapp.py:352
|
||||
msgid "scroll to the top of the page"
|
||||
msgstr ""
|
||||
msgstr "맨 위로 스크"
|
||||
|
||||
#: searx/webapp.py:353
|
||||
msgid "scroll half a page up"
|
||||
msgstr ""
|
||||
msgstr "반 화면 위로 스크롤"
|
||||
|
||||
#: searx/webapp.py:354
|
||||
msgid "scroll to the bottom of the page"
|
||||
msgstr ""
|
||||
msgstr "맨 아래로 스크롤"
|
||||
|
||||
#: searx/webapp.py:502 searx/webapp.py:902
|
||||
msgid "Invalid settings, please edit your preferences"
|
||||
|
||||
Binary file not shown.
@@ -28,21 +28,23 @@
|
||||
# return42 <return42@noreply.codeberg.org>, 2025, 2026.
|
||||
# sourdragon <sourdragon@noreply.codeberg.org>, 2025.
|
||||
# tace16 <tace16@noreply.codeberg.org>, 2025.
|
||||
# Kamalavelan <demonshreder@noreply.codeberg.org>, 2026.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: searx\n"
|
||||
"Project-Id-Version: searx\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2026-10-09 19:03+0000\n"
|
||||
"PO-Revision-Date: 2026-05-19 12:08+0000\n"
|
||||
"Last-Translator: return42 <return42@noreply.codeberg.org>\n"
|
||||
"PO-Revision-Date: 2026-10-26 23:27+0000\n"
|
||||
"Last-Translator: Kamalavelan <demonshreder@noreply.codeberg.org>\n"
|
||||
"Language: ta\n"
|
||||
"Language-Team: Tamil "
|
||||
"<https://translate.codeberg.org/projects/searxng/searxng/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"
|
||||
"Generated-By: Babel 2.18.0\n"
|
||||
"X-Generator: Weblate 2026.10.1\n"
|
||||
|
||||
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
||||
#: searx/searxng.msg
|
||||
@@ -62,7 +64,7 @@ msgstr "செயலிகள்"
|
||||
#. CATEGORY_NAMES['BLOGS']
|
||||
#: searx/searxng.msg
|
||||
msgid "blogs"
|
||||
msgstr ""
|
||||
msgstr "வலைப்பதிவு"
|
||||
|
||||
#. CATEGORY_NAMES['DICTIONARIES']
|
||||
#: searx/searxng.msg
|
||||
@@ -82,7 +84,7 @@ msgstr "பொதுத் தேடல்"
|
||||
#. CATEGORY_NAMES['ICONS']
|
||||
#: searx/searxng.msg
|
||||
msgid "icons"
|
||||
msgstr ""
|
||||
msgstr "படிவம்"
|
||||
|
||||
#. CATEGORY_NAMES['IMAGES']
|
||||
#: searx/searxng.msg
|
||||
@@ -107,7 +109,7 @@ msgstr "வரைப்படம்"
|
||||
#. CATEGORY_NAMES['MOVIES']
|
||||
#: searx/searxng.msg
|
||||
msgid "movies"
|
||||
msgstr ""
|
||||
msgstr "திரைப்படம்"
|
||||
|
||||
#. CATEGORY_NAMES['MUSIC']
|
||||
#: searx/searxng.msg
|
||||
@@ -167,12 +169,12 @@ msgstr "மென்பொருள் விக்கி"
|
||||
#. CATEGORY_NAMES['STOCK_IMAGES']
|
||||
#: searx/searxng.msg
|
||||
msgid "stock images"
|
||||
msgstr ""
|
||||
msgstr "இருப்பு படம்"
|
||||
|
||||
#. CATEGORY_NAMES['TRANSLATE']
|
||||
#: searx/searxng.msg
|
||||
msgid "translate"
|
||||
msgstr ""
|
||||
msgstr "மொழிபெயர்"
|
||||
|
||||
#. CATEGORY_NAMES['TV']
|
||||
#: searx/searxng.msg
|
||||
@@ -187,7 +189,7 @@ msgstr "காணொளிகள்"
|
||||
#. CATEGORY_NAMES['WEATHER']
|
||||
#: searx/searxng.msg
|
||||
msgid "weather"
|
||||
msgstr ""
|
||||
msgstr "வானிலை"
|
||||
|
||||
#. CATEGORY_NAMES['WEB']
|
||||
#: searx/searxng.msg
|
||||
@@ -600,27 +602,27 @@ msgstr "அடுத்த பக்கத்தைத் திறப்பத
|
||||
|
||||
#: searx/webapp.py:332
|
||||
msgid "close"
|
||||
msgstr ""
|
||||
msgstr "மூடு"
|
||||
|
||||
#: searx/webapp.py:333
|
||||
msgid "How to navigate SearXNG with hotkeys"
|
||||
msgstr ""
|
||||
msgstr "SearXNG-இல் குறுக்குவிசைகளைப் பயன்படுத்திச் செயல்படுவது எப்படி"
|
||||
|
||||
#: searx/webapp.py:334
|
||||
msgid "Control"
|
||||
msgstr ""
|
||||
msgstr "கட்டுப்பாடு"
|
||||
|
||||
#: searx/webapp.py:335
|
||||
msgid "Results"
|
||||
msgstr ""
|
||||
msgstr "முடிவுகள்"
|
||||
|
||||
#: searx/webapp.py:336
|
||||
msgid "Navigation"
|
||||
msgstr ""
|
||||
msgstr "வழிசெலுத்தல்"
|
||||
|
||||
#: searx/webapp.py:337
|
||||
msgid "Other"
|
||||
msgstr ""
|
||||
msgstr "இதர"
|
||||
|
||||
#: searx/webapp.py:338
|
||||
msgid "remove focus from the focused input"
|
||||
@@ -632,27 +634,27 @@ msgstr ""
|
||||
|
||||
#: searx/webapp.py:340
|
||||
msgid "toggle help window"
|
||||
msgstr ""
|
||||
msgstr "உதவிச் சாளரத்தை மாற்றவும்"
|
||||
|
||||
#: searx/webapp.py:341
|
||||
msgid "focus on the search input"
|
||||
msgstr ""
|
||||
msgstr "தேடல் உள்ளீட்டில் கவனம் செலுத்த"
|
||||
|
||||
#: searx/webapp.py:342
|
||||
msgid "go to next page"
|
||||
msgstr ""
|
||||
msgstr "அடுத்த பக்கத்திற்குச் செல்லவும்"
|
||||
|
||||
#: searx/webapp.py:343
|
||||
msgid "open search result"
|
||||
msgstr ""
|
||||
msgstr "தேடல் முடிவைத் திறக்கவும்"
|
||||
|
||||
#: searx/webapp.py:344
|
||||
msgid "go to previous page"
|
||||
msgstr ""
|
||||
msgstr "முந்தைய பக்கத்திற்குச் செல்லவும்"
|
||||
|
||||
#: searx/webapp.py:345
|
||||
msgid "reload page from the server"
|
||||
msgstr ""
|
||||
msgstr "வழங்கியிலிருந்து பக்கத்தை மீண்டும் இறக்க"
|
||||
|
||||
#: searx/webapp.py:346
|
||||
msgid "open the result in a new tab"
|
||||
@@ -2526,4 +2528,3 @@ msgstr "காணொளிகளை மறை"
|
||||
|
||||
#~ msgid "Select service used by DOI rewrite"
|
||||
#~ msgstr "DOI மீண்டும் எழுதும் சேவையைத் தேர்ந்தெடுக்கவும்"
|
||||
|
||||
|
||||
Binary file not shown.
@@ -34,21 +34,23 @@
|
||||
# hhadi34 <hhadi34@noreply.codeberg.org>, 2025.
|
||||
# boradog <boradog@noreply.codeberg.org>, 2026.
|
||||
# cdli <cdli@noreply.codeberg.org>, 2026.
|
||||
# seferkalkan <seferkalkan@noreply.codeberg.org>, 2026.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: searx\n"
|
||||
"Project-Id-Version: searx\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2026-10-09 19:03+0000\n"
|
||||
"PO-Revision-Date: 2026-08-21 20:55+0000\n"
|
||||
"Last-Translator: return42 <return42@noreply.codeberg.org>\n"
|
||||
"PO-Revision-Date: 2026-10-29 14:05+0000\n"
|
||||
"Last-Translator: seferkalkan <seferkalkan@noreply.codeberg.org>\n"
|
||||
"Language: tr\n"
|
||||
"Language-Team: Turkish "
|
||||
"<https://translate.codeberg.org/projects/searxng/searxng/tr/>\n"
|
||||
"Language-Team: Turkish <https://translate.codeberg.org/projects/searxng/"
|
||||
"searxng/tr/>\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.18.0\n"
|
||||
"X-Generator: Weblate 2026.10.1\n"
|
||||
|
||||
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
||||
#: searx/searxng.msg
|
||||
@@ -68,7 +70,7 @@ msgstr "uygulamalar"
|
||||
#. CATEGORY_NAMES['BLOGS']
|
||||
#: searx/searxng.msg
|
||||
msgid "blogs"
|
||||
msgstr ""
|
||||
msgstr "Blog"
|
||||
|
||||
#. CATEGORY_NAMES['DICTIONARIES']
|
||||
#: searx/searxng.msg
|
||||
@@ -88,7 +90,7 @@ msgstr "genel"
|
||||
#. CATEGORY_NAMES['ICONS']
|
||||
#: searx/searxng.msg
|
||||
msgid "icons"
|
||||
msgstr ""
|
||||
msgstr "İkonlar"
|
||||
|
||||
#. CATEGORY_NAMES['IMAGES']
|
||||
#: searx/searxng.msg
|
||||
@@ -113,7 +115,7 @@ msgstr "harita"
|
||||
#. CATEGORY_NAMES['MOVIES']
|
||||
#: searx/searxng.msg
|
||||
msgid "movies"
|
||||
msgstr ""
|
||||
msgstr "Filmler"
|
||||
|
||||
#. CATEGORY_NAMES['MUSIC']
|
||||
#: searx/searxng.msg
|
||||
@@ -173,12 +175,12 @@ msgstr "yazılım vikileri"
|
||||
#. CATEGORY_NAMES['STOCK_IMAGES']
|
||||
#: searx/searxng.msg
|
||||
msgid "stock images"
|
||||
msgstr ""
|
||||
msgstr "Stok Görseller"
|
||||
|
||||
#. CATEGORY_NAMES['TRANSLATE']
|
||||
#: searx/searxng.msg
|
||||
msgid "translate"
|
||||
msgstr ""
|
||||
msgstr "Çeviri"
|
||||
|
||||
#. CATEGORY_NAMES['TV']
|
||||
#: searx/searxng.msg
|
||||
@@ -193,7 +195,7 @@ msgstr "videolar"
|
||||
#. CATEGORY_NAMES['WEATHER']
|
||||
#: searx/searxng.msg
|
||||
msgid "weather"
|
||||
msgstr ""
|
||||
msgstr "Hava Durumu"
|
||||
|
||||
#. CATEGORY_NAMES['WEB']
|
||||
#: searx/searxng.msg
|
||||
@@ -528,7 +530,7 @@ msgstr "Yoğun kar yağışı"
|
||||
#. WEATHER_CONDITIONS
|
||||
#: searx/searxng.msg
|
||||
msgid "Heavy snow"
|
||||
msgstr "Yoğun kar yağışı"
|
||||
msgstr "Yoğun kar"
|
||||
|
||||
#. SOCIAL_MEDIA_TERMS['SUBSCRIBERS']
|
||||
#: searx/engines/lemmy.py:85 searx/searxng.msg
|
||||
@@ -606,95 +608,95 @@ msgstr "Sonraki sayfa yüklenemedi"
|
||||
|
||||
#: searx/webapp.py:332
|
||||
msgid "close"
|
||||
msgstr ""
|
||||
msgstr "Kapat"
|
||||
|
||||
#: searx/webapp.py:333
|
||||
msgid "How to navigate SearXNG with hotkeys"
|
||||
msgstr ""
|
||||
msgstr "SearXNG'de kısayol tuşlarıyla nasıl gezinilir"
|
||||
|
||||
#: searx/webapp.py:334
|
||||
msgid "Control"
|
||||
msgstr ""
|
||||
msgstr "Kontrol"
|
||||
|
||||
#: searx/webapp.py:335
|
||||
msgid "Results"
|
||||
msgstr ""
|
||||
msgstr "Sonuçlar"
|
||||
|
||||
#: searx/webapp.py:336
|
||||
msgid "Navigation"
|
||||
msgstr ""
|
||||
msgstr "Navigasyon"
|
||||
|
||||
#: searx/webapp.py:337
|
||||
msgid "Other"
|
||||
msgstr ""
|
||||
msgstr "Diğer"
|
||||
|
||||
#: searx/webapp.py:338
|
||||
msgid "remove focus from the focused input"
|
||||
msgstr ""
|
||||
msgstr "odaklanmış girdi alanından odağı kaldırın"
|
||||
|
||||
#: searx/webapp.py:339
|
||||
msgid "copy url of the selected result to the clipboard"
|
||||
msgstr ""
|
||||
msgstr "Seçilen sonucun Url'sini panoya kopyala"
|
||||
|
||||
#: searx/webapp.py:340
|
||||
msgid "toggle help window"
|
||||
msgstr ""
|
||||
msgstr "yardım penceresini aç/kapat"
|
||||
|
||||
#: searx/webapp.py:341
|
||||
msgid "focus on the search input"
|
||||
msgstr ""
|
||||
msgstr "arama girişine odaklan"
|
||||
|
||||
#: searx/webapp.py:342
|
||||
msgid "go to next page"
|
||||
msgstr ""
|
||||
msgstr "sonraki sayfaya git"
|
||||
|
||||
#: searx/webapp.py:343
|
||||
msgid "open search result"
|
||||
msgstr ""
|
||||
msgstr "arama sonucunu aç"
|
||||
|
||||
#: searx/webapp.py:344
|
||||
msgid "go to previous page"
|
||||
msgstr ""
|
||||
msgstr "önceki sayfaya git"
|
||||
|
||||
#: searx/webapp.py:345
|
||||
msgid "reload page from the server"
|
||||
msgstr ""
|
||||
msgstr "sayfayı sunucudan yeniden yükle"
|
||||
|
||||
#: searx/webapp.py:346
|
||||
msgid "open the result in a new tab"
|
||||
msgstr ""
|
||||
msgstr "sonucu yeni bir sekmede aç"
|
||||
|
||||
#: searx/webapp.py:347
|
||||
msgid "select previous search result"
|
||||
msgstr ""
|
||||
msgstr "önceki arama sonucunu seç"
|
||||
|
||||
#: searx/webapp.py:348
|
||||
msgid "select next search result"
|
||||
msgstr ""
|
||||
msgstr "Sonraki arama sonucunu seç"
|
||||
|
||||
#: searx/webapp.py:349
|
||||
msgid "scroll one page up"
|
||||
msgstr ""
|
||||
msgstr "bir sayfa yukarı kaydır"
|
||||
|
||||
#: searx/webapp.py:350
|
||||
msgid "scroll half a page down"
|
||||
msgstr ""
|
||||
msgstr "sayfayı yarım sayfa aşağı kaydır"
|
||||
|
||||
#: searx/webapp.py:351
|
||||
msgid "scroll one page down"
|
||||
msgstr ""
|
||||
msgstr "bir sayfa aşağı kaydır"
|
||||
|
||||
#: searx/webapp.py:352
|
||||
msgid "scroll to the top of the page"
|
||||
msgstr ""
|
||||
msgstr "sayfanın en üstüne kaydırın"
|
||||
|
||||
#: searx/webapp.py:353
|
||||
msgid "scroll half a page up"
|
||||
msgstr ""
|
||||
msgstr "sayfayı yarım sayfa yukarı kaydır"
|
||||
|
||||
#: searx/webapp.py:354
|
||||
msgid "scroll to the bottom of the page"
|
||||
msgstr ""
|
||||
msgstr "sayfanın en altına kaydırın"
|
||||
|
||||
#: searx/webapp.py:502 searx/webapp.py:902
|
||||
msgid "Invalid settings, please edit your preferences"
|
||||
@@ -1540,7 +1542,7 @@ msgstr "Hah tercihleri"
|
||||
|
||||
#: searx/templates/simple/preferences/doi_resolver.html:2
|
||||
msgid "DOI Resolver"
|
||||
msgstr ""
|
||||
msgstr "DOI Çözümleyici"
|
||||
|
||||
#: searx/templates/simple/preferences/engines.html:9
|
||||
msgid ""
|
||||
@@ -2556,4 +2558,3 @@ msgstr "videoyu gizle"
|
||||
|
||||
#~ msgid "Select service used by DOI rewrite"
|
||||
#~ msgstr "DOI rewrite tarafından kullanılan hizmeti seçin"
|
||||
|
||||
|
||||
Binary file not shown.
@@ -41,21 +41,23 @@
|
||||
# ajiou <ajiou@noreply.codeberg.org>, 2025.
|
||||
# zymurge <zymurge@noreply.codeberg.org>, 2025.
|
||||
# Maoyue_OUO <maoyue_ouo@noreply.codeberg.org>, 2026.
|
||||
# itsxiaobai <itsxiaobai@noreply.codeberg.org>, 2026.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: searx\n"
|
||||
"Project-Id-Version: searx\n"
|
||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||
"POT-Creation-Date: 2026-10-09 19:03+0000\n"
|
||||
"PO-Revision-Date: 2026-03-29 23:07+0000\n"
|
||||
"Last-Translator: Maoyue_OUO <maoyue_ouo@noreply.codeberg.org>\n"
|
||||
"PO-Revision-Date: 2026-10-29 14:05+0000\n"
|
||||
"Last-Translator: itsxiaobai <itsxiaobai@noreply.codeberg.org>\n"
|
||||
"Language: zh_Hant_TW\n"
|
||||
"Language-Team: Chinese (Traditional Han script, Taiwan) "
|
||||
"<https://translate.codeberg.org/projects/searxng/searxng/zh_Hant_TW/>\n"
|
||||
"Language-Team: Chinese (Traditional Han script, Taiwan) <https://"
|
||||
"translate.codeberg.org/projects/searxng/searxng/zh_Hant_TW/>\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: Babel 2.18.0\n"
|
||||
"X-Generator: Weblate 2026.10.1\n"
|
||||
|
||||
#. CONSTANT_NAMES['NO_SUBGROUPING']
|
||||
#: searx/searxng.msg
|
||||
@@ -75,7 +77,7 @@ msgstr "應用程式"
|
||||
#. CATEGORY_NAMES['BLOGS']
|
||||
#: searx/searxng.msg
|
||||
msgid "blogs"
|
||||
msgstr ""
|
||||
msgstr "部落格"
|
||||
|
||||
#. CATEGORY_NAMES['DICTIONARIES']
|
||||
#: searx/searxng.msg
|
||||
@@ -95,7 +97,7 @@ msgstr "一般"
|
||||
#. CATEGORY_NAMES['ICONS']
|
||||
#: searx/searxng.msg
|
||||
msgid "icons"
|
||||
msgstr ""
|
||||
msgstr "圖示"
|
||||
|
||||
#. CATEGORY_NAMES['IMAGES']
|
||||
#: searx/searxng.msg
|
||||
@@ -120,7 +122,7 @@ msgstr "地圖"
|
||||
#. CATEGORY_NAMES['MOVIES']
|
||||
#: searx/searxng.msg
|
||||
msgid "movies"
|
||||
msgstr ""
|
||||
msgstr "電影"
|
||||
|
||||
#. CATEGORY_NAMES['MUSIC']
|
||||
#: searx/searxng.msg
|
||||
@@ -180,12 +182,12 @@ msgstr "軟體維基"
|
||||
#. CATEGORY_NAMES['STOCK_IMAGES']
|
||||
#: searx/searxng.msg
|
||||
msgid "stock images"
|
||||
msgstr ""
|
||||
msgstr "庫存圖片"
|
||||
|
||||
#. CATEGORY_NAMES['TRANSLATE']
|
||||
#: searx/searxng.msg
|
||||
msgid "translate"
|
||||
msgstr ""
|
||||
msgstr "翻譯"
|
||||
|
||||
#. CATEGORY_NAMES['TV']
|
||||
#: searx/searxng.msg
|
||||
@@ -200,7 +202,7 @@ msgstr "影片"
|
||||
#. CATEGORY_NAMES['WEATHER']
|
||||
#: searx/searxng.msg
|
||||
msgid "weather"
|
||||
msgstr ""
|
||||
msgstr "天氣"
|
||||
|
||||
#. CATEGORY_NAMES['WEB']
|
||||
#: searx/searxng.msg
|
||||
@@ -613,95 +615,95 @@ msgstr "載入下個頁面時發生錯誤"
|
||||
|
||||
#: searx/webapp.py:332
|
||||
msgid "close"
|
||||
msgstr ""
|
||||
msgstr "關閉"
|
||||
|
||||
#: searx/webapp.py:333
|
||||
msgid "How to navigate SearXNG with hotkeys"
|
||||
msgstr ""
|
||||
msgstr "如何使用熱鍵導航 SearXNG"
|
||||
|
||||
#: searx/webapp.py:334
|
||||
msgid "Control"
|
||||
msgstr ""
|
||||
msgstr "控制"
|
||||
|
||||
#: searx/webapp.py:335
|
||||
msgid "Results"
|
||||
msgstr ""
|
||||
msgstr "結果"
|
||||
|
||||
#: searx/webapp.py:336
|
||||
msgid "Navigation"
|
||||
msgstr ""
|
||||
msgstr "導航"
|
||||
|
||||
#: searx/webapp.py:337
|
||||
msgid "Other"
|
||||
msgstr ""
|
||||
msgstr "其他"
|
||||
|
||||
#: searx/webapp.py:338
|
||||
msgid "remove focus from the focused input"
|
||||
msgstr ""
|
||||
msgstr "從輸入中移除焦點"
|
||||
|
||||
#: searx/webapp.py:339
|
||||
msgid "copy url of the selected result to the clipboard"
|
||||
msgstr ""
|
||||
msgstr "複製選取結果的連結到剪貼簿"
|
||||
|
||||
#: searx/webapp.py:340
|
||||
msgid "toggle help window"
|
||||
msgstr ""
|
||||
msgstr "切換到幫助視窗"
|
||||
|
||||
#: searx/webapp.py:341
|
||||
msgid "focus on the search input"
|
||||
msgstr ""
|
||||
msgstr "聚焦在搜尋輸入"
|
||||
|
||||
#: searx/webapp.py:342
|
||||
msgid "go to next page"
|
||||
msgstr ""
|
||||
msgstr "到下一頁"
|
||||
|
||||
#: searx/webapp.py:343
|
||||
msgid "open search result"
|
||||
msgstr ""
|
||||
msgstr "開啟搜尋結果"
|
||||
|
||||
#: searx/webapp.py:344
|
||||
msgid "go to previous page"
|
||||
msgstr ""
|
||||
msgstr "回到上一頁"
|
||||
|
||||
#: searx/webapp.py:345
|
||||
msgid "reload page from the server"
|
||||
msgstr ""
|
||||
msgstr "從伺服器重新載入頁面"
|
||||
|
||||
#: searx/webapp.py:346
|
||||
msgid "open the result in a new tab"
|
||||
msgstr ""
|
||||
msgstr "在新分頁開啟結果"
|
||||
|
||||
#: searx/webapp.py:347
|
||||
msgid "select previous search result"
|
||||
msgstr ""
|
||||
msgstr "選擇前一個搜尋結果"
|
||||
|
||||
#: searx/webapp.py:348
|
||||
msgid "select next search result"
|
||||
msgstr ""
|
||||
msgstr "選擇下一個搜尋結果"
|
||||
|
||||
#: searx/webapp.py:349
|
||||
msgid "scroll one page up"
|
||||
msgstr ""
|
||||
msgstr "上滑一頁"
|
||||
|
||||
#: searx/webapp.py:350
|
||||
msgid "scroll half a page down"
|
||||
msgstr ""
|
||||
msgstr "下滑半頁"
|
||||
|
||||
#: searx/webapp.py:351
|
||||
msgid "scroll one page down"
|
||||
msgstr ""
|
||||
msgstr "下滑一頁"
|
||||
|
||||
#: searx/webapp.py:352
|
||||
msgid "scroll to the top of the page"
|
||||
msgstr ""
|
||||
msgstr "翻到最上頁"
|
||||
|
||||
#: searx/webapp.py:353
|
||||
msgid "scroll half a page up"
|
||||
msgstr ""
|
||||
msgstr "上滑半頁"
|
||||
|
||||
#: searx/webapp.py:354
|
||||
msgid "scroll to the bottom of the page"
|
||||
msgstr ""
|
||||
msgstr "翻到頁面最底下"
|
||||
|
||||
#: searx/webapp.py:502 searx/webapp.py:902
|
||||
msgid "Invalid settings, please edit your preferences"
|
||||
@@ -1523,7 +1525,7 @@ msgstr "偏好設定雜湊"
|
||||
|
||||
#: searx/templates/simple/preferences/doi_resolver.html:2
|
||||
msgid "DOI Resolver"
|
||||
msgstr ""
|
||||
msgstr "DOI 解析器"
|
||||
|
||||
#: searx/templates/simple/preferences/engines.html:9
|
||||
msgid ""
|
||||
@@ -1748,11 +1750,11 @@ msgstr "解析度"
|
||||
|
||||
#: searx/templates/simple/result_templates/images.html:55
|
||||
msgid "Image formats"
|
||||
msgstr ""
|
||||
msgstr "圖片格式"
|
||||
|
||||
#: searx/templates/simple/result_templates/images.html:56
|
||||
msgid "original format"
|
||||
msgstr ""
|
||||
msgstr "原始格式"
|
||||
|
||||
#: searx/templates/simple/result_templates/images.html:64
|
||||
msgid "View source"
|
||||
@@ -2445,4 +2447,3 @@ msgstr "隱藏影片"
|
||||
|
||||
#~ msgid "Select service used by DOI rewrite"
|
||||
#~ msgstr "選擇 DOI 重寫所使用的服務"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user