mirror of
https://github.com/gethomepage/homepage.git
synced 2025-12-07 09:35:54 -08:00
Compare commits
2 Commits
9ec2b1a669
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0d788e3d06 | ||
|
|
8887281246 |
1
.github/PULL_REQUEST_TEMPLATE.md
vendored
1
.github/PULL_REQUEST_TEMPLATE.md
vendored
@@ -38,4 +38,3 @@ What type of change does your PR introduce to Homepage?
|
|||||||
- [ ] If applicable, I have reviewed the [feature / enhancement](https://gethomepage.dev/more/development/#new-feature-guidelines) and / or [service widget guidelines](https://gethomepage.dev/more/development/#service-widget-guidelines).
|
- [ ] If applicable, I have reviewed the [feature / enhancement](https://gethomepage.dev/more/development/#new-feature-guidelines) and / or [service widget guidelines](https://gethomepage.dev/more/development/#service-widget-guidelines).
|
||||||
- [ ] I have checked that all code style checks pass using [pre-commit hooks](https://gethomepage.dev/more/development/#code-formatting-with-pre-commit-hooks) and [linting checks](https://gethomepage.dev/more/development/#code-linting).
|
- [ ] I have checked that all code style checks pass using [pre-commit hooks](https://gethomepage.dev/more/development/#code-formatting-with-pre-commit-hooks) and [linting checks](https://gethomepage.dev/more/development/#code-linting).
|
||||||
- [ ] If applicable, I have tested my code for new features & regressions on both mobile & desktop devices, using the latest version of major browsers.
|
- [ ] If applicable, I have tested my code for new features & regressions on both mobile & desktop devices, using the latest version of major browsers.
|
||||||
- [ ] In the description above I have disclosed the use of AI tools in the coding of this PR.
|
|
||||||
|
|||||||
2
.github/workflows/crowdin.yml
vendored
2
.github/workflows/crowdin.yml
vendored
@@ -17,7 +17,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v5
|
||||||
- name: crowdin action
|
- name: crowdin action
|
||||||
uses: crowdin/github-action@v2
|
uses: crowdin/github-action@v2
|
||||||
with:
|
with:
|
||||||
|
|||||||
4
.github/workflows/docker-publish.yml
vendored
4
.github/workflows/docker-publish.yml
vendored
@@ -22,7 +22,7 @@ jobs:
|
|||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-22.04
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
- name: Install python
|
- name: Install python
|
||||||
uses: actions/setup-python@v6
|
uses: actions/setup-python@v6
|
||||||
@@ -62,7 +62,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v5
|
||||||
|
|
||||||
- name: Extract Docker metadata
|
- name: Extract Docker metadata
|
||||||
id: meta
|
id: meta
|
||||||
|
|||||||
6
.github/workflows/docs-publish.yml
vendored
6
.github/workflows/docs-publish.yml
vendored
@@ -17,7 +17,7 @@ jobs:
|
|||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-22.04
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v5
|
||||||
- name: Install python
|
- name: Install python
|
||||||
uses: actions/setup-python@v6
|
uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
@@ -32,7 +32,7 @@ jobs:
|
|||||||
needs:
|
needs:
|
||||||
- pre-commit
|
- pre-commit
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v5
|
||||||
- uses: actions/setup-python@v6
|
- uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
python-version: 3.x
|
python-version: 3.x
|
||||||
@@ -54,7 +54,7 @@ jobs:
|
|||||||
needs:
|
needs:
|
||||||
- pre-commit
|
- pre-commit
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v5
|
||||||
- name: Configure Git Credentials
|
- name: Configure Git Credentials
|
||||||
run: |
|
run: |
|
||||||
git config user.name github-actions[bot]
|
git config user.name github-actions[bot]
|
||||||
|
|||||||
@@ -396,9 +396,7 @@ Set your desired language using:
|
|||||||
language: fr
|
language: fr
|
||||||
```
|
```
|
||||||
|
|
||||||
Currently supported languages: ca, de, en, es, fr, he, hr, hu, it, nb-NO, nl, pt, ru, sv, vi, zh-Hans (Simplified), zh-Hant (Traditional)
|
Currently supported languages: ca, de, en, es, fr, he, hr, hu, it, nb-NO, nl, pt, ru, sv, vi, zh-CN, zh-Hant
|
||||||
|
|
||||||
`zh-CN` will still work and is automatically mapped to `zh-Hans` for backwards compatibility.
|
|
||||||
|
|
||||||
You can also specify locales e.g. for the DateTime widget, e.g. en-AU, en-GB, etc.
|
You can also specify locales e.g. for the DateTime widget, e.g. en-AU, en-GB, etc.
|
||||||
|
|
||||||
@@ -573,18 +571,3 @@ or per service widget (`services.yaml`) with:
|
|||||||
```
|
```
|
||||||
|
|
||||||
If either value is set to true, the error message will be hidden.
|
If either value is set to true, the error message will be hidden.
|
||||||
|
|
||||||
## Disable Search Engine Indexing
|
|
||||||
|
|
||||||
You can request that search engines not to index your Homepage instance by enabling the `disableIndexing` setting.
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
disableIndexing: true
|
|
||||||
```
|
|
||||||
|
|
||||||
When enabled, this will:
|
|
||||||
|
|
||||||
- Disallow all crawlers in `robots.txt`
|
|
||||||
- Add `<meta name="robots" content="noindex, nofollow">` tags to prevent indexing
|
|
||||||
|
|
||||||
By default this feature is disabled.
|
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ services:
|
|||||||
- 3000:3000
|
- 3000:3000
|
||||||
volumes:
|
volumes:
|
||||||
- /path/to/config:/app/config # Make sure your local config directory exists
|
- /path/to/config:/app/config # Make sure your local config directory exists
|
||||||
- /var/run/docker.sock:/var/run/docker.sock # (optional) For docker integrations
|
- /var/run/docker.sock:/var/run/docker.sock:ro # (optional) For docker integrations
|
||||||
environment:
|
environment:
|
||||||
HOMEPAGE_ALLOWED_HOSTS: gethomepage.dev # required, may need port. See gethomepage.dev/installation/#homepage_allowed_hosts
|
HOMEPAGE_ALLOWED_HOSTS: gethomepage.dev # required, may need port. See gethomepage.dev/installation/#homepage_allowed_hosts
|
||||||
```
|
```
|
||||||
@@ -36,7 +36,7 @@ services:
|
|||||||
- 3000:3000
|
- 3000:3000
|
||||||
volumes:
|
volumes:
|
||||||
- /path/to/config:/app/config # Make sure your local config directory exists
|
- /path/to/config:/app/config # Make sure your local config directory exists
|
||||||
- /var/run/docker.sock:/var/run/docker.sock # (optional) For docker integrations, see alternative methods
|
- /var/run/docker.sock:/var/run/docker.sock:ro # (optional) For docker integrations, see alternative methods
|
||||||
environment:
|
environment:
|
||||||
HOMEPAGE_ALLOWED_HOSTS: gethomepage.dev # required, may need port. See gethomepage.dev/installation/#homepage_allowed_hosts
|
HOMEPAGE_ALLOWED_HOSTS: gethomepage.dev # required, may need port. See gethomepage.dev/installation/#homepage_allowed_hosts
|
||||||
PUID: $PUID
|
PUID: $PUID
|
||||||
|
|||||||
@@ -68,7 +68,19 @@ All service widgets work essentially the same, that is, homepage makes a proxied
|
|||||||
|
|
||||||
If, after correctly adding and mapping your custom icons via the [Icons](../configs/services.md#icons) instructions, you are still unable to see your icons please try recreating your container.
|
If, after correctly adding and mapping your custom icons via the [Icons](../configs/services.md#icons) instructions, you are still unable to see your icons please try recreating your container.
|
||||||
|
|
||||||
## Disabling IPv6
|
## Enabling IPv6 for the homepage container
|
||||||
|
|
||||||
|
To enable IPv6 support for the homepage container, you can set the `HOSTNAME` environment variable, for example:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
services:
|
||||||
|
homepage:
|
||||||
|
...
|
||||||
|
environment:
|
||||||
|
- HOSTNAME=::
|
||||||
|
```
|
||||||
|
|
||||||
|
## Disabling IPv6 for http requests {#disabling-ipv6}
|
||||||
|
|
||||||
If you are having issues with certain widgets that are unable to reach public APIs (e.g. weather), in certain setups you may need to disable IPv6. You can set the environment variable `HOMEPAGE_PROXY_DISABLE_IPV6` to `true` to disable IPv6 for the homepage proxy.
|
If you are having issues with certain widgets that are unable to reach public APIs (e.g. weather), in certain setups you may need to disable IPv6. You can set the environment variable `HOMEPAGE_PROXY_DISABLE_IPV6` to `true` to disable IPv6 for the homepage proxy.
|
||||||
|
|
||||||
|
|||||||
@@ -8,9 +8,6 @@ Learn more about [Crowdsec](https://crowdsec.net).
|
|||||||
See the [crowdsec docs](https://docs.crowdsec.net/docs/local_api/intro/#machines) for information about registering a machine,
|
See the [crowdsec docs](https://docs.crowdsec.net/docs/local_api/intro/#machines) for information about registering a machine,
|
||||||
in most instances you can use the default credentials (`/etc/crowdsec/local_api_credentials.yaml`).
|
in most instances you can use the default credentials (`/etc/crowdsec/local_api_credentials.yaml`).
|
||||||
|
|
||||||
!!! note
|
|
||||||
Without the `limit24h` option, the widget will fetch all alerts which is limited to 100 by the API to avoid performance issues.
|
|
||||||
|
|
||||||
Allowed fields: `["alerts", "bans"]`.
|
Allowed fields: `["alerts", "bans"]`.
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
@@ -19,5 +16,4 @@ widget:
|
|||||||
url: http://crowdsechostorip:port
|
url: http://crowdsechostorip:port
|
||||||
username: localhost # machine_id in crowdsec
|
username: localhost # machine_id in crowdsec
|
||||||
password: password
|
password: password
|
||||||
limit24h: true # optional, limits alerts to last 24h. Default: false
|
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -14,6 +14,4 @@ widget:
|
|||||||
type: frigate
|
type: frigate
|
||||||
url: http://frigate.host.or.ip:port
|
url: http://frigate.host.or.ip:port
|
||||||
enableRecentEvents: true # Optional, defaults to false
|
enableRecentEvents: true # Optional, defaults to false
|
||||||
username: username # optional
|
|
||||||
password: password # optional
|
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ See the [official docs](https://github.com/ghostfolio/ghostfolio#authorization-b
|
|||||||
|
|
||||||
_Note that the Bearer token is valid for 6 months, after which a new one must be generated._
|
_Note that the Bearer token is valid for 6 months, after which a new one must be generated._
|
||||||
|
|
||||||
Allowed fields: `["gross_percent_today", "gross_percent_1y", "gross_percent_max", "net_worth"]`
|
Allowed fields: `["gross_percent_today", "gross_percent_1y", "gross_percent_max"]`
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
widget:
|
widget:
|
||||||
|
|||||||
@@ -12,17 +12,11 @@ Learn more about [Gluetun](https://github.com/qdm12/gluetun).
|
|||||||
Allowed fields: `["public_ip", "region", "country", "port_forwarded"]`.
|
Allowed fields: `["public_ip", "region", "country", "port_forwarded"]`.
|
||||||
Default fields: `["public_ip", "region", "country"]`.
|
Default fields: `["public_ip", "region", "country"]`.
|
||||||
|
|
||||||
To setup authentication, follow [the official Gluetun documentation](https://github.com/qdm12/gluetun-wiki/blob/main/setup/advanced/control-server.md#authentication). Note that to use the api key method, you must add the route `GET /v1/publicip/ip` to the `routes` array in your Gluetun config.toml. Similarly, if you want to include the `port_forwarded` field, you must add the route `GET /v1/openvpn/portforwarded` (or `/v1/portforward`) to your Gluetun config.toml.
|
To setup authentication, follow [the official Gluetun documentation](https://github.com/qdm12/gluetun-wiki/blob/main/setup/advanced/control-server.md#authentication). Note that to use the api key method, you must add the route `GET /v1/publicip/ip` to the `routes` array in your Gluetun config.toml. Similarly, if you want to include the `port_forwarded` field, you must add the route `GET /v1/openvpn/portforwarded` to your Gluetun config.toml.
|
||||||
|
|
||||||
| Gluetun Version | Homepage Widget Version |
|
|
||||||
| --------------- | ----------------------- |
|
|
||||||
| < 3.40.1 | 1 (default) |
|
|
||||||
| >= 3.40.1 | 2 |
|
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
widget:
|
widget:
|
||||||
type: gluetun
|
type: gluetun
|
||||||
url: http://gluetun.host.or.ip:port
|
url: http://gluetun.host.or.ip:port
|
||||||
key: gluetunkey # Not required if /v1/publicip/ip endpoint is configured with `auth = none`
|
key: gluetunkey # Not required if /v1/publicip/ip endpoint is configured with `auth = none`
|
||||||
version: 2 # optional, default is 1
|
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -25,18 +25,18 @@
|
|||||||
"luxon": "^3.6.1",
|
"luxon": "^3.6.1",
|
||||||
"memory-cache": "^0.2.0",
|
"memory-cache": "^0.2.0",
|
||||||
"minecraftstatuspinger": "^1.2.2",
|
"minecraftstatuspinger": "^1.2.2",
|
||||||
"next": "^15.5.7",
|
"next": "^15.5.2",
|
||||||
"next-i18next": "^12.1.0",
|
"next-i18next": "^12.1.0",
|
||||||
"ping": "^0.4.4",
|
"ping": "^0.4.4",
|
||||||
"pretty-bytes": "^7.1.0",
|
"pretty-bytes": "^7.1.0",
|
||||||
"raw-body": "^3.0.2",
|
"raw-body": "^3.0.1",
|
||||||
"react": "^18.3.1",
|
"react": "^18.3.1",
|
||||||
"react-dom": "^18.3.1",
|
"react-dom": "^18.3.1",
|
||||||
"react-i18next": "^15.5.3",
|
"react-i18next": "^15.5.3",
|
||||||
"react-icons": "^5.4.0",
|
"react-icons": "^5.4.0",
|
||||||
"recharts": "^3.1.2",
|
"recharts": "^3.1.2",
|
||||||
"swr": "^2.3.3",
|
"swr": "^2.3.3",
|
||||||
"systeminformation": "^5.27.11",
|
"systeminformation": "^5.27.7",
|
||||||
"tough-cookie": "^6.0.0",
|
"tough-cookie": "^6.0.0",
|
||||||
"urbackup-server-api": "^0.8.9",
|
"urbackup-server-api": "^0.8.9",
|
||||||
"winston": "^3.17.0",
|
"winston": "^3.17.0",
|
||||||
@@ -54,7 +54,7 @@
|
|||||||
"eslint-plugin-react": "^7.37.4",
|
"eslint-plugin-react": "^7.37.4",
|
||||||
"eslint-plugin-react-hooks": "^5.2.0",
|
"eslint-plugin-react-hooks": "^5.2.0",
|
||||||
"postcss": "^8.5.6",
|
"postcss": "^8.5.6",
|
||||||
"prettier": "^3.7.3",
|
"prettier": "^3.6.2",
|
||||||
"prettier-plugin-organize-imports": "^4.3.0",
|
"prettier-plugin-organize-imports": "^4.3.0",
|
||||||
"tailwind-scrollbar": "^4.0.2",
|
"tailwind-scrollbar": "^4.0.2",
|
||||||
"tailwindcss": "^4.0.9",
|
"tailwindcss": "^4.0.9",
|
||||||
|
|||||||
434
pnpm-lock.yaml
generated
434
pnpm-lock.yaml
generated
@@ -51,11 +51,11 @@ importers:
|
|||||||
specifier: ^1.2.2
|
specifier: ^1.2.2
|
||||||
version: 1.2.2
|
version: 1.2.2
|
||||||
next:
|
next:
|
||||||
specifier: ^15.5.7
|
specifier: ^15.5.2
|
||||||
version: 15.5.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
|
version: 15.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
|
||||||
next-i18next:
|
next-i18next:
|
||||||
specifier: ^12.1.0
|
specifier: ^12.1.0
|
||||||
version: 12.1.0(next@15.5.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
|
version: 12.1.0(next@15.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
|
||||||
ping:
|
ping:
|
||||||
specifier: ^0.4.4
|
specifier: ^0.4.4
|
||||||
version: 0.4.4
|
version: 0.4.4
|
||||||
@@ -63,8 +63,8 @@ importers:
|
|||||||
specifier: ^7.1.0
|
specifier: ^7.1.0
|
||||||
version: 7.1.0
|
version: 7.1.0
|
||||||
raw-body:
|
raw-body:
|
||||||
specifier: ^3.0.2
|
specifier: ^3.0.1
|
||||||
version: 3.0.2
|
version: 3.0.1
|
||||||
react:
|
react:
|
||||||
specifier: ^18.3.1
|
specifier: ^18.3.1
|
||||||
version: 18.3.1
|
version: 18.3.1
|
||||||
@@ -84,8 +84,8 @@ importers:
|
|||||||
specifier: ^2.3.3
|
specifier: ^2.3.3
|
||||||
version: 2.3.3(react@18.3.1)
|
version: 2.3.3(react@18.3.1)
|
||||||
systeminformation:
|
systeminformation:
|
||||||
specifier: ^5.27.11
|
specifier: ^5.27.7
|
||||||
version: 5.27.11
|
version: 5.27.7
|
||||||
tough-cookie:
|
tough-cookie:
|
||||||
specifier: ^6.0.0
|
specifier: ^6.0.0
|
||||||
version: 6.0.0
|
version: 6.0.0
|
||||||
@@ -122,7 +122,7 @@ importers:
|
|||||||
version: 6.10.2(eslint@9.25.1(jiti@2.6.1))
|
version: 6.10.2(eslint@9.25.1(jiti@2.6.1))
|
||||||
eslint-plugin-prettier:
|
eslint-plugin-prettier:
|
||||||
specifier: ^5.5.4
|
specifier: ^5.5.4
|
||||||
version: 5.5.4(eslint-config-prettier@10.1.8(eslint@9.25.1(jiti@2.6.1)))(eslint@9.25.1(jiti@2.6.1))(prettier@3.7.3)
|
version: 5.5.4(eslint-config-prettier@10.1.8(eslint@9.25.1(jiti@2.6.1)))(eslint@9.25.1(jiti@2.6.1))(prettier@3.6.2)
|
||||||
eslint-plugin-react:
|
eslint-plugin-react:
|
||||||
specifier: ^7.37.4
|
specifier: ^7.37.4
|
||||||
version: 7.37.4(eslint@9.25.1(jiti@2.6.1))
|
version: 7.37.4(eslint@9.25.1(jiti@2.6.1))
|
||||||
@@ -133,11 +133,11 @@ importers:
|
|||||||
specifier: ^8.5.6
|
specifier: ^8.5.6
|
||||||
version: 8.5.6
|
version: 8.5.6
|
||||||
prettier:
|
prettier:
|
||||||
specifier: ^3.7.3
|
specifier: ^3.6.2
|
||||||
version: 3.7.3
|
version: 3.6.2
|
||||||
prettier-plugin-organize-imports:
|
prettier-plugin-organize-imports:
|
||||||
specifier: ^4.3.0
|
specifier: ^4.3.0
|
||||||
version: 4.3.0(prettier@3.7.3)(typescript@5.7.3)
|
version: 4.3.0(prettier@3.6.2)(typescript@5.7.3)
|
||||||
tailwind-scrollbar:
|
tailwind-scrollbar:
|
||||||
specifier: ^4.0.2
|
specifier: ^4.0.2
|
||||||
version: 4.0.2(react@18.3.1)(tailwindcss@4.0.9)
|
version: 4.0.2(react@18.3.1)(tailwindcss@4.0.9)
|
||||||
@@ -183,8 +183,8 @@ packages:
|
|||||||
'@emnapi/core@1.4.0':
|
'@emnapi/core@1.4.0':
|
||||||
resolution: {integrity: sha512-H+N/FqT07NmLmt6OFFtDfwe8PNygprzBikrEMyQfgqSmT0vzE515Pz7R8izwB9q/zsH/MA64AKoul3sA6/CzVg==}
|
resolution: {integrity: sha512-H+N/FqT07NmLmt6OFFtDfwe8PNygprzBikrEMyQfgqSmT0vzE515Pz7R8izwB9q/zsH/MA64AKoul3sA6/CzVg==}
|
||||||
|
|
||||||
'@emnapi/runtime@1.7.1':
|
'@emnapi/runtime@1.5.0':
|
||||||
resolution: {integrity: sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==}
|
resolution: {integrity: sha512-97/BJ3iXHww3djw6hYIfErCZFee7qCtrneuLa20UXFCOTCfBM2cvQHjWJ2EG0s0MtdNwInarqCTz35i4wWXHsQ==}
|
||||||
|
|
||||||
'@emnapi/wasi-threads@1.0.1':
|
'@emnapi/wasi-threads@1.0.1':
|
||||||
resolution: {integrity: sha512-iIBu7mwkq4UQGeMEM8bLwNK962nXdhodeScX4slfQnRhEMMzvYivHhutCIk8uojvmASXXPC2WNEjwxFWk72Oqw==}
|
resolution: {integrity: sha512-iIBu7mwkq4UQGeMEM8bLwNK962nXdhodeScX4slfQnRhEMMzvYivHhutCIk8uojvmASXXPC2WNEjwxFWk72Oqw==}
|
||||||
@@ -284,139 +284,124 @@ packages:
|
|||||||
resolution: {integrity: sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==}
|
resolution: {integrity: sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==}
|
||||||
engines: {node: '>=18.18'}
|
engines: {node: '>=18.18'}
|
||||||
|
|
||||||
'@img/colour@1.0.0':
|
'@img/sharp-darwin-arm64@0.34.3':
|
||||||
resolution: {integrity: sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==}
|
resolution: {integrity: sha512-ryFMfvxxpQRsgZJqBd4wsttYQbCxsJksrv9Lw/v798JcQ8+w84mBWuXwl+TT0WJ/WrYOLaYpwQXi3sA9nTIaIg==}
|
||||||
engines: {node: '>=18'}
|
|
||||||
|
|
||||||
'@img/sharp-darwin-arm64@0.34.5':
|
|
||||||
resolution: {integrity: sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==}
|
|
||||||
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [darwin]
|
os: [darwin]
|
||||||
|
|
||||||
'@img/sharp-darwin-x64@0.34.5':
|
'@img/sharp-darwin-x64@0.34.3':
|
||||||
resolution: {integrity: sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==}
|
resolution: {integrity: sha512-yHpJYynROAj12TA6qil58hmPmAwxKKC7reUqtGLzsOHfP7/rniNGTL8tjWX6L3CTV4+5P4ypcS7Pp+7OB+8ihA==}
|
||||||
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [darwin]
|
os: [darwin]
|
||||||
|
|
||||||
'@img/sharp-libvips-darwin-arm64@1.2.4':
|
'@img/sharp-libvips-darwin-arm64@1.2.0':
|
||||||
resolution: {integrity: sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==}
|
resolution: {integrity: sha512-sBZmpwmxqwlqG9ueWFXtockhsxefaV6O84BMOrhtg/YqbTaRdqDE7hxraVE3y6gVM4eExmfzW4a8el9ArLeEiQ==}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [darwin]
|
os: [darwin]
|
||||||
|
|
||||||
'@img/sharp-libvips-darwin-x64@1.2.4':
|
'@img/sharp-libvips-darwin-x64@1.2.0':
|
||||||
resolution: {integrity: sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==}
|
resolution: {integrity: sha512-M64XVuL94OgiNHa5/m2YvEQI5q2cl9d/wk0qFTDVXcYzi43lxuiFTftMR1tOnFQovVXNZJ5TURSDK2pNe9Yzqg==}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [darwin]
|
os: [darwin]
|
||||||
|
|
||||||
'@img/sharp-libvips-linux-arm64@1.2.4':
|
'@img/sharp-libvips-linux-arm64@1.2.0':
|
||||||
resolution: {integrity: sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==}
|
resolution: {integrity: sha512-RXwd0CgG+uPRX5YYrkzKyalt2OJYRiJQ8ED/fi1tq9WQW2jsQIn0tqrlR5l5dr/rjqq6AHAxURhj2DVjyQWSOA==}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@img/sharp-libvips-linux-arm@1.2.4':
|
'@img/sharp-libvips-linux-arm@1.2.0':
|
||||||
resolution: {integrity: sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==}
|
resolution: {integrity: sha512-mWd2uWvDtL/nvIzThLq3fr2nnGfyr/XMXlq8ZJ9WMR6PXijHlC3ksp0IpuhK6bougvQrchUAfzRLnbsen0Cqvw==}
|
||||||
cpu: [arm]
|
cpu: [arm]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@img/sharp-libvips-linux-ppc64@1.2.4':
|
'@img/sharp-libvips-linux-ppc64@1.2.0':
|
||||||
resolution: {integrity: sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==}
|
resolution: {integrity: sha512-Xod/7KaDDHkYu2phxxfeEPXfVXFKx70EAFZ0qyUdOjCcxbjqyJOEUpDe6RIyaunGxT34Anf9ue/wuWOqBW2WcQ==}
|
||||||
cpu: [ppc64]
|
cpu: [ppc64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@img/sharp-libvips-linux-riscv64@1.2.4':
|
'@img/sharp-libvips-linux-s390x@1.2.0':
|
||||||
resolution: {integrity: sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==}
|
resolution: {integrity: sha512-eMKfzDxLGT8mnmPJTNMcjfO33fLiTDsrMlUVcp6b96ETbnJmd4uvZxVJSKPQfS+odwfVaGifhsB07J1LynFehw==}
|
||||||
cpu: [riscv64]
|
|
||||||
os: [linux]
|
|
||||||
|
|
||||||
'@img/sharp-libvips-linux-s390x@1.2.4':
|
|
||||||
resolution: {integrity: sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==}
|
|
||||||
cpu: [s390x]
|
cpu: [s390x]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@img/sharp-libvips-linux-x64@1.2.4':
|
'@img/sharp-libvips-linux-x64@1.2.0':
|
||||||
resolution: {integrity: sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==}
|
resolution: {integrity: sha512-ZW3FPWIc7K1sH9E3nxIGB3y3dZkpJlMnkk7z5tu1nSkBoCgw2nSRTFHI5pB/3CQaJM0pdzMF3paf9ckKMSE9Tg==}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@img/sharp-libvips-linuxmusl-arm64@1.2.4':
|
'@img/sharp-libvips-linuxmusl-arm64@1.2.0':
|
||||||
resolution: {integrity: sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==}
|
resolution: {integrity: sha512-UG+LqQJbf5VJ8NWJ5Z3tdIe/HXjuIdo4JeVNADXBFuG7z9zjoegpzzGIyV5zQKi4zaJjnAd2+g2nna8TZvuW9Q==}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@img/sharp-libvips-linuxmusl-x64@1.2.4':
|
'@img/sharp-libvips-linuxmusl-x64@1.2.0':
|
||||||
resolution: {integrity: sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==}
|
resolution: {integrity: sha512-SRYOLR7CXPgNze8akZwjoGBoN1ThNZoqpOgfnOxmWsklTGVfJiGJoC/Lod7aNMGA1jSsKWM1+HRX43OP6p9+6Q==}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@img/sharp-linux-arm64@0.34.5':
|
'@img/sharp-linux-arm64@0.34.3':
|
||||||
resolution: {integrity: sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==}
|
resolution: {integrity: sha512-QdrKe3EvQrqwkDrtuTIjI0bu6YEJHTgEeqdzI3uWJOH6G1O8Nl1iEeVYRGdj1h5I21CqxSvQp1Yv7xeU3ZewbA==}
|
||||||
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@img/sharp-linux-arm@0.34.5':
|
'@img/sharp-linux-arm@0.34.3':
|
||||||
resolution: {integrity: sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==}
|
resolution: {integrity: sha512-oBK9l+h6KBN0i3dC8rYntLiVfW8D8wH+NPNT3O/WBHeW0OQWCjfWksLUaPidsrDKpJgXp3G3/hkmhptAW0I3+A==}
|
||||||
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
||||||
cpu: [arm]
|
cpu: [arm]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@img/sharp-linux-ppc64@0.34.5':
|
'@img/sharp-linux-ppc64@0.34.3':
|
||||||
resolution: {integrity: sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==}
|
resolution: {integrity: sha512-GLtbLQMCNC5nxuImPR2+RgrviwKwVql28FWZIW1zWruy6zLgA5/x2ZXk3mxj58X/tszVF69KK0Is83V8YgWhLA==}
|
||||||
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
||||||
cpu: [ppc64]
|
cpu: [ppc64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@img/sharp-linux-riscv64@0.34.5':
|
'@img/sharp-linux-s390x@0.34.3':
|
||||||
resolution: {integrity: sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==}
|
resolution: {integrity: sha512-3gahT+A6c4cdc2edhsLHmIOXMb17ltffJlxR0aC2VPZfwKoTGZec6u5GrFgdR7ciJSsHT27BD3TIuGcuRT0KmQ==}
|
||||||
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
|
||||||
cpu: [riscv64]
|
|
||||||
os: [linux]
|
|
||||||
|
|
||||||
'@img/sharp-linux-s390x@0.34.5':
|
|
||||||
resolution: {integrity: sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==}
|
|
||||||
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
||||||
cpu: [s390x]
|
cpu: [s390x]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@img/sharp-linux-x64@0.34.5':
|
'@img/sharp-linux-x64@0.34.3':
|
||||||
resolution: {integrity: sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==}
|
resolution: {integrity: sha512-8kYso8d806ypnSq3/Ly0QEw90V5ZoHh10yH0HnrzOCr6DKAPI6QVHvwleqMkVQ0m+fc7EH8ah0BB0QPuWY6zJQ==}
|
||||||
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@img/sharp-linuxmusl-arm64@0.34.5':
|
'@img/sharp-linuxmusl-arm64@0.34.3':
|
||||||
resolution: {integrity: sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==}
|
resolution: {integrity: sha512-vAjbHDlr4izEiXM1OTggpCcPg9tn4YriK5vAjowJsHwdBIdx0fYRsURkxLG2RLm9gyBq66gwtWI8Gx0/ov+JKQ==}
|
||||||
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@img/sharp-linuxmusl-x64@0.34.5':
|
'@img/sharp-linuxmusl-x64@0.34.3':
|
||||||
resolution: {integrity: sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==}
|
resolution: {integrity: sha512-gCWUn9547K5bwvOn9l5XGAEjVTTRji4aPTqLzGXHvIr6bIDZKNTA34seMPgM0WmSf+RYBH411VavCejp3PkOeQ==}
|
||||||
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@img/sharp-wasm32@0.34.5':
|
'@img/sharp-wasm32@0.34.3':
|
||||||
resolution: {integrity: sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==}
|
resolution: {integrity: sha512-+CyRcpagHMGteySaWos8IbnXcHgfDn7pO2fiC2slJxvNq9gDipYBN42/RagzctVRKgxATmfqOSulgZv5e1RdMg==}
|
||||||
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
||||||
cpu: [wasm32]
|
cpu: [wasm32]
|
||||||
|
|
||||||
'@img/sharp-win32-arm64@0.34.5':
|
'@img/sharp-win32-arm64@0.34.3':
|
||||||
resolution: {integrity: sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==}
|
resolution: {integrity: sha512-MjnHPnbqMXNC2UgeLJtX4XqoVHHlZNd+nPt1kRPmj63wURegwBhZlApELdtxM2OIZDRv/DFtLcNhVbd1z8GYXQ==}
|
||||||
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [win32]
|
os: [win32]
|
||||||
|
|
||||||
'@img/sharp-win32-ia32@0.34.5':
|
'@img/sharp-win32-ia32@0.34.3':
|
||||||
resolution: {integrity: sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==}
|
resolution: {integrity: sha512-xuCdhH44WxuXgOM714hn4amodJMZl3OEvf0GVTm0BEyMeA2to+8HEdRPShH0SLYptJY1uBw+SCFP9WVQi1Q/cw==}
|
||||||
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
||||||
cpu: [ia32]
|
cpu: [ia32]
|
||||||
os: [win32]
|
os: [win32]
|
||||||
|
|
||||||
'@img/sharp-win32-x64@0.34.5':
|
'@img/sharp-win32-x64@0.34.3':
|
||||||
resolution: {integrity: sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==}
|
resolution: {integrity: sha512-OWwz05d++TxzLEv4VnsTz5CmZ6mI6S05sfQGEMrNrQcOEERbX46332IvE7pO/EUiw7jUrrS40z/M7kPyjfl04g==}
|
||||||
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [win32]
|
os: [win32]
|
||||||
@@ -466,56 +451,56 @@ packages:
|
|||||||
'@napi-rs/wasm-runtime@0.2.8':
|
'@napi-rs/wasm-runtime@0.2.8':
|
||||||
resolution: {integrity: sha512-OBlgKdX7gin7OIq4fadsjpg+cp2ZphvAIKucHsNfTdJiqdOmOEwQd/bHi0VwNrcw5xpBJyUw6cK/QilCqy1BSg==}
|
resolution: {integrity: sha512-OBlgKdX7gin7OIq4fadsjpg+cp2ZphvAIKucHsNfTdJiqdOmOEwQd/bHi0VwNrcw5xpBJyUw6cK/QilCqy1BSg==}
|
||||||
|
|
||||||
'@next/env@15.5.7':
|
'@next/env@15.5.2':
|
||||||
resolution: {integrity: sha512-4h6Y2NyEkIEN7Z8YxkA27pq6zTkS09bUSYC0xjd0NpwFxjnIKeZEeH591o5WECSmjpUhLn3H2QLJcDye3Uzcvg==}
|
resolution: {integrity: sha512-Qe06ew4zt12LeO6N7j8/nULSOe3fMXE4dM6xgpBQNvdzyK1sv5y4oAP3bq4LamrvGCZtmRYnW8URFCeX5nFgGg==}
|
||||||
|
|
||||||
'@next/eslint-plugin-next@15.2.4':
|
'@next/eslint-plugin-next@15.2.4':
|
||||||
resolution: {integrity: sha512-O8ScvKtnxkp8kL9TpJTTKnMqlkZnS+QxwoQnJwPGBxjBbzd6OVVPEJ5/pMNrktSyXQD/chEfzfFzYLM6JANOOQ==}
|
resolution: {integrity: sha512-O8ScvKtnxkp8kL9TpJTTKnMqlkZnS+QxwoQnJwPGBxjBbzd6OVVPEJ5/pMNrktSyXQD/chEfzfFzYLM6JANOOQ==}
|
||||||
|
|
||||||
'@next/swc-darwin-arm64@15.5.7':
|
'@next/swc-darwin-arm64@15.5.2':
|
||||||
resolution: {integrity: sha512-IZwtxCEpI91HVU/rAUOOobWSZv4P2DeTtNaCdHqLcTJU4wdNXgAySvKa/qJCgR5m6KI8UsKDXtO2B31jcaw1Yw==}
|
resolution: {integrity: sha512-8bGt577BXGSd4iqFygmzIfTYizHb0LGWqH+qgIF/2EDxS5JsSdERJKA8WgwDyNBZgTIIA4D8qUtoQHmxIIquoQ==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [darwin]
|
os: [darwin]
|
||||||
|
|
||||||
'@next/swc-darwin-x64@15.5.7':
|
'@next/swc-darwin-x64@15.5.2':
|
||||||
resolution: {integrity: sha512-UP6CaDBcqaCBuiq/gfCEJw7sPEoX1aIjZHnBWN9v9qYHQdMKvCKcAVs4OX1vIjeE+tC5EIuwDTVIoXpUes29lg==}
|
resolution: {integrity: sha512-2DjnmR6JHK4X+dgTXt5/sOCu/7yPtqpYt8s8hLkHFK3MGkka2snTv3yRMdHvuRtJVkPwCGsvBSwmoQCHatauFQ==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [darwin]
|
os: [darwin]
|
||||||
|
|
||||||
'@next/swc-linux-arm64-gnu@15.5.7':
|
'@next/swc-linux-arm64-gnu@15.5.2':
|
||||||
resolution: {integrity: sha512-NCslw3GrNIw7OgmRBxHtdWFQYhexoUCq+0oS2ccjyYLtcn1SzGzeM54jpTFonIMUjNbHmpKpziXnpxhSWLcmBA==}
|
resolution: {integrity: sha512-3j7SWDBS2Wov/L9q0mFJtEvQ5miIqfO4l7d2m9Mo06ddsgUK8gWfHGgbjdFlCp2Ek7MmMQZSxpGFqcC8zGh2AA==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@next/swc-linux-arm64-musl@15.5.7':
|
'@next/swc-linux-arm64-musl@15.5.2':
|
||||||
resolution: {integrity: sha512-nfymt+SE5cvtTrG9u1wdoxBr9bVB7mtKTcj0ltRn6gkP/2Nu1zM5ei8rwP9qKQP0Y//umK+TtkKgNtfboBxRrw==}
|
resolution: {integrity: sha512-s6N8k8dF9YGc5T01UPQ08yxsK6fUow5gG1/axWc1HVVBYQBgOjca4oUZF7s4p+kwhkB1bDSGR8QznWrFZ/Rt5g==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@next/swc-linux-x64-gnu@15.5.7':
|
'@next/swc-linux-x64-gnu@15.5.2':
|
||||||
resolution: {integrity: sha512-hvXcZvCaaEbCZcVzcY7E1uXN9xWZfFvkNHwbe/n4OkRhFWrs1J1QV+4U1BN06tXLdaS4DazEGXwgqnu/VMcmqw==}
|
resolution: {integrity: sha512-o1RV/KOODQh6dM6ZRJGZbc+MOAHww33Vbs5JC9Mp1gDk8cpEO+cYC/l7rweiEalkSm5/1WGa4zY7xrNwObN4+Q==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@next/swc-linux-x64-musl@15.5.7':
|
'@next/swc-linux-x64-musl@15.5.2':
|
||||||
resolution: {integrity: sha512-4IUO539b8FmF0odY6/SqANJdgwn1xs1GkPO5doZugwZ3ETF6JUdckk7RGmsfSf7ws8Qb2YB5It33mvNL/0acqA==}
|
resolution: {integrity: sha512-/VUnh7w8RElYZ0IV83nUcP/J4KJ6LLYliiBIri3p3aW2giF+PAVgZb6mk8jbQSB3WlTai8gEmCAr7kptFa1H6g==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@next/swc-win32-arm64-msvc@15.5.7':
|
'@next/swc-win32-arm64-msvc@15.5.2':
|
||||||
resolution: {integrity: sha512-CpJVTkYI3ZajQkC5vajM7/ApKJUOlm6uP4BknM3XKvJ7VXAvCqSjSLmM0LKdYzn6nBJVSjdclx8nYJSa3xlTgQ==}
|
resolution: {integrity: sha512-sMPyTvRcNKXseNQ/7qRfVRLa0VhR0esmQ29DD6pqvG71+JdVnESJaHPA8t7bc67KD5spP3+DOCNLhqlEI2ZgQg==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [win32]
|
os: [win32]
|
||||||
|
|
||||||
'@next/swc-win32-x64-msvc@15.5.7':
|
'@next/swc-win32-x64-msvc@15.5.2':
|
||||||
resolution: {integrity: sha512-gMzgBX164I6DN+9/PGA+9dQiwmTkE4TloBNx8Kv9UiGARsr9Nba7IpcBRA1iTV9vwlYnrE3Uy6I7Aj6qLjQuqw==}
|
resolution: {integrity: sha512-W5VvyZHnxG/2ukhZF/9Ikdra5fdNftxI6ybeVKYvBPDtyx7x4jPPSNduUkfH5fo3zG0JQ0bPxgy41af2JX5D4Q==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [win32]
|
os: [win32]
|
||||||
@@ -1120,8 +1105,8 @@ packages:
|
|||||||
resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
|
resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
|
||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
|
|
||||||
caniuse-lite@1.0.30001759:
|
caniuse-lite@1.0.30001739:
|
||||||
resolution: {integrity: sha512-Pzfx9fOKoKvevQf8oCXoyNRQ5QyxJj+3O0Rqx2V5oxT61KGx8+n6hV/IUyJeifUci2clnmmKVpvtiqRzgiWjSw==}
|
resolution: {integrity: sha512-y+j60d6ulelrNSwpPyrHdl+9mJnQzHBr08xm48Qno0nSk4h3Qojh+ziv2qE6rXf4k3tadF4o1J/1tAbVm1NtnA==}
|
||||||
|
|
||||||
chalk@4.1.2:
|
chalk@4.1.2:
|
||||||
resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
|
resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
|
||||||
@@ -1167,6 +1152,10 @@ packages:
|
|||||||
color@3.2.1:
|
color@3.2.1:
|
||||||
resolution: {integrity: sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==}
|
resolution: {integrity: sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==}
|
||||||
|
|
||||||
|
color@4.2.3:
|
||||||
|
resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==}
|
||||||
|
engines: {node: '>=12.5.0'}
|
||||||
|
|
||||||
colorspace@1.1.4:
|
colorspace@1.1.4:
|
||||||
resolution: {integrity: sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==}
|
resolution: {integrity: sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==}
|
||||||
|
|
||||||
@@ -1320,12 +1309,12 @@ packages:
|
|||||||
resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
|
resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
|
||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
|
|
||||||
detect-libc@2.1.1:
|
detect-libc@2.0.4:
|
||||||
resolution: {integrity: sha512-ecqj/sy1jcK1uWrwpR67UhYrIFQ+5WlGxth34WquCbamhFA6hkkwiu37o6J5xCHdo1oixJRfVRw+ywV+Hq/0Aw==}
|
resolution: {integrity: sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==}
|
||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
|
|
||||||
detect-libc@2.1.2:
|
detect-libc@2.1.1:
|
||||||
resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==}
|
resolution: {integrity: sha512-ecqj/sy1jcK1uWrwpR67UhYrIFQ+5WlGxth34WquCbamhFA6hkkwiu37o6J5xCHdo1oixJRfVRw+ywV+Hq/0Aw==}
|
||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
|
|
||||||
docker-modem@5.0.6:
|
docker-modem@5.0.6:
|
||||||
@@ -1760,8 +1749,8 @@ packages:
|
|||||||
http-cache-semantics@4.2.0:
|
http-cache-semantics@4.2.0:
|
||||||
resolution: {integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==}
|
resolution: {integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==}
|
||||||
|
|
||||||
http-errors@2.0.1:
|
http-errors@2.0.0:
|
||||||
resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==}
|
resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==}
|
||||||
engines: {node: '>= 0.8'}
|
engines: {node: '>= 0.8'}
|
||||||
|
|
||||||
http2-wrapper@2.2.1:
|
http2-wrapper@2.2.1:
|
||||||
@@ -2212,8 +2201,8 @@ packages:
|
|||||||
next: '>= 10.0.0'
|
next: '>= 10.0.0'
|
||||||
react: '>= 16.8.0'
|
react: '>= 16.8.0'
|
||||||
|
|
||||||
next@15.5.7:
|
next@15.5.2:
|
||||||
resolution: {integrity: sha512-+t2/0jIJ48kUpGKkdlhgkv+zPTEOoXyr60qXe68eB/pl3CMJaLeIGjzp5D6Oqt25hCBiBTt8wEeeAzfJvUKnPQ==}
|
resolution: {integrity: sha512-H8Otr7abj1glFhbGnvUt3gz++0AF1+QoCXEBmd/6aKbfdFwrn0LpA836Ed5+00va/7HQSDD+mOoVhn3tNy3e/Q==}
|
||||||
engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0}
|
engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@@ -2382,8 +2371,8 @@ packages:
|
|||||||
vue-tsc:
|
vue-tsc:
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
prettier@3.7.3:
|
prettier@3.6.2:
|
||||||
resolution: {integrity: sha512-QgODejq9K3OzoBbuyobZlUhznP5SKwPqp+6Q6xw6o8gnhr4O85L2U915iM2IDcfF2NPXVaM9zlo9tdwipnYwzg==}
|
resolution: {integrity: sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==}
|
||||||
engines: {node: '>=14'}
|
engines: {node: '>=14'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
@@ -2420,8 +2409,8 @@ packages:
|
|||||||
resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==}
|
resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==}
|
||||||
engines: {node: '>=10'}
|
engines: {node: '>=10'}
|
||||||
|
|
||||||
raw-body@3.0.2:
|
raw-body@3.0.1:
|
||||||
resolution: {integrity: sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==}
|
resolution: {integrity: sha512-9G8cA+tuMS75+6G/TzW8OtLzmBDMo8p1JRxN5AZ+LAp8uxGA8V8GZm4GQ4/N5QNQEnLmg6SS7wyuSmbKepiKqA==}
|
||||||
engines: {node: '>= 0.10'}
|
engines: {node: '>= 0.10'}
|
||||||
|
|
||||||
react-dom@18.3.1:
|
react-dom@18.3.1:
|
||||||
@@ -2608,8 +2597,8 @@ packages:
|
|||||||
resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
|
resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
semver@7.7.3:
|
semver@7.7.2:
|
||||||
resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==}
|
resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==}
|
||||||
engines: {node: '>=10'}
|
engines: {node: '>=10'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
@@ -2628,8 +2617,8 @@ packages:
|
|||||||
setprototypeof@1.2.0:
|
setprototypeof@1.2.0:
|
||||||
resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
|
resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
|
||||||
|
|
||||||
sharp@0.34.5:
|
sharp@0.34.3:
|
||||||
resolution: {integrity: sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==}
|
resolution: {integrity: sha512-eX2IQ6nFohW4DbvHIOLRB3MHFpYqaqvXd3Tp5e/T/dSH83fxaNJQRvDMhASmkNTsNTVF2/OOopzRCt7xokgPfg==}
|
||||||
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
||||||
|
|
||||||
shebang-command@2.0.0:
|
shebang-command@2.0.0:
|
||||||
@@ -2680,8 +2669,8 @@ packages:
|
|||||||
stack-trace@0.0.10:
|
stack-trace@0.0.10:
|
||||||
resolution: {integrity: sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==}
|
resolution: {integrity: sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==}
|
||||||
|
|
||||||
statuses@2.0.2:
|
statuses@2.0.1:
|
||||||
resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==}
|
resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==}
|
||||||
engines: {node: '>= 0.8'}
|
engines: {node: '>= 0.8'}
|
||||||
|
|
||||||
stop-iteration-iterator@1.1.0:
|
stop-iteration-iterator@1.1.0:
|
||||||
@@ -2787,8 +2776,8 @@ packages:
|
|||||||
resolution: {integrity: sha512-MeQTA1r0litLUf0Rp/iisCaL8761lKAZHaimlbGK4j0HysC4PLfqygQj9srcs0m2RdtDYnF8UuYyKpbjHYp7Jw==}
|
resolution: {integrity: sha512-MeQTA1r0litLUf0Rp/iisCaL8761lKAZHaimlbGK4j0HysC4PLfqygQj9srcs0m2RdtDYnF8UuYyKpbjHYp7Jw==}
|
||||||
engines: {node: ^14.18.0 || >=16.0.0}
|
engines: {node: ^14.18.0 || >=16.0.0}
|
||||||
|
|
||||||
systeminformation@5.27.11:
|
systeminformation@5.27.7:
|
||||||
resolution: {integrity: sha512-K3Lto/2m3K2twmKHdgx5B+0in9qhXK4YnoT9rIlgwN/4v7OV5c8IjbeAUkuky/6VzCQC7iKCAqi8rZathCdjHg==}
|
resolution: {integrity: sha512-saaqOoVEEFaux4v0K8Q7caiauRwjXC4XbD2eH60dxHXbpKxQ8kH9Rf7Jh+nryKpOUSEFxtCdBlSUx0/lO6rwRg==}
|
||||||
engines: {node: '>=8.0.0'}
|
engines: {node: '>=8.0.0'}
|
||||||
os: [darwin, linux, win32, freebsd, openbsd, netbsd, sunos, android]
|
os: [darwin, linux, win32, freebsd, openbsd, netbsd, sunos, android]
|
||||||
hasBin: true
|
hasBin: true
|
||||||
@@ -3089,7 +3078,7 @@ snapshots:
|
|||||||
tslib: 2.8.1
|
tslib: 2.8.1
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@emnapi/runtime@1.7.1':
|
'@emnapi/runtime@1.5.0':
|
||||||
dependencies:
|
dependencies:
|
||||||
tslib: 2.8.1
|
tslib: 2.8.1
|
||||||
optional: true
|
optional: true
|
||||||
@@ -3203,101 +3192,90 @@ snapshots:
|
|||||||
|
|
||||||
'@humanwhocodes/retry@0.4.2': {}
|
'@humanwhocodes/retry@0.4.2': {}
|
||||||
|
|
||||||
'@img/colour@1.0.0':
|
'@img/sharp-darwin-arm64@0.34.3':
|
||||||
optional: true
|
|
||||||
|
|
||||||
'@img/sharp-darwin-arm64@0.34.5':
|
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@img/sharp-libvips-darwin-arm64': 1.2.4
|
'@img/sharp-libvips-darwin-arm64': 1.2.0
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@img/sharp-darwin-x64@0.34.5':
|
'@img/sharp-darwin-x64@0.34.3':
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@img/sharp-libvips-darwin-x64': 1.2.4
|
'@img/sharp-libvips-darwin-x64': 1.2.0
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@img/sharp-libvips-darwin-arm64@1.2.4':
|
'@img/sharp-libvips-darwin-arm64@1.2.0':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@img/sharp-libvips-darwin-x64@1.2.4':
|
'@img/sharp-libvips-darwin-x64@1.2.0':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@img/sharp-libvips-linux-arm64@1.2.4':
|
'@img/sharp-libvips-linux-arm64@1.2.0':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@img/sharp-libvips-linux-arm@1.2.4':
|
'@img/sharp-libvips-linux-arm@1.2.0':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@img/sharp-libvips-linux-ppc64@1.2.4':
|
'@img/sharp-libvips-linux-ppc64@1.2.0':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@img/sharp-libvips-linux-riscv64@1.2.4':
|
'@img/sharp-libvips-linux-s390x@1.2.0':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@img/sharp-libvips-linux-s390x@1.2.4':
|
'@img/sharp-libvips-linux-x64@1.2.0':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@img/sharp-libvips-linux-x64@1.2.4':
|
'@img/sharp-libvips-linuxmusl-arm64@1.2.0':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@img/sharp-libvips-linuxmusl-arm64@1.2.4':
|
'@img/sharp-libvips-linuxmusl-x64@1.2.0':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@img/sharp-libvips-linuxmusl-x64@1.2.4':
|
'@img/sharp-linux-arm64@0.34.3':
|
||||||
optional: true
|
|
||||||
|
|
||||||
'@img/sharp-linux-arm64@0.34.5':
|
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@img/sharp-libvips-linux-arm64': 1.2.4
|
'@img/sharp-libvips-linux-arm64': 1.2.0
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@img/sharp-linux-arm@0.34.5':
|
'@img/sharp-linux-arm@0.34.3':
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@img/sharp-libvips-linux-arm': 1.2.4
|
'@img/sharp-libvips-linux-arm': 1.2.0
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@img/sharp-linux-ppc64@0.34.5':
|
'@img/sharp-linux-ppc64@0.34.3':
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@img/sharp-libvips-linux-ppc64': 1.2.4
|
'@img/sharp-libvips-linux-ppc64': 1.2.0
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@img/sharp-linux-riscv64@0.34.5':
|
'@img/sharp-linux-s390x@0.34.3':
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@img/sharp-libvips-linux-riscv64': 1.2.4
|
'@img/sharp-libvips-linux-s390x': 1.2.0
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@img/sharp-linux-s390x@0.34.5':
|
'@img/sharp-linux-x64@0.34.3':
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@img/sharp-libvips-linux-s390x': 1.2.4
|
'@img/sharp-libvips-linux-x64': 1.2.0
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@img/sharp-linux-x64@0.34.5':
|
'@img/sharp-linuxmusl-arm64@0.34.3':
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@img/sharp-libvips-linux-x64': 1.2.4
|
'@img/sharp-libvips-linuxmusl-arm64': 1.2.0
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@img/sharp-linuxmusl-arm64@0.34.5':
|
'@img/sharp-linuxmusl-x64@0.34.3':
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@img/sharp-libvips-linuxmusl-arm64': 1.2.4
|
'@img/sharp-libvips-linuxmusl-x64': 1.2.0
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@img/sharp-linuxmusl-x64@0.34.5':
|
'@img/sharp-wasm32@0.34.3':
|
||||||
optionalDependencies:
|
|
||||||
'@img/sharp-libvips-linuxmusl-x64': 1.2.4
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
'@img/sharp-wasm32@0.34.5':
|
|
||||||
dependencies:
|
dependencies:
|
||||||
'@emnapi/runtime': 1.7.1
|
'@emnapi/runtime': 1.5.0
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@img/sharp-win32-arm64@0.34.5':
|
'@img/sharp-win32-arm64@0.34.3':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@img/sharp-win32-ia32@0.34.5':
|
'@img/sharp-win32-ia32@0.34.3':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@img/sharp-win32-x64@0.34.5':
|
'@img/sharp-win32-x64@0.34.3':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@isaacs/cliui@8.0.2':
|
'@isaacs/cliui@8.0.2':
|
||||||
@@ -3370,38 +3348,38 @@ snapshots:
|
|||||||
'@napi-rs/wasm-runtime@0.2.8':
|
'@napi-rs/wasm-runtime@0.2.8':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@emnapi/core': 1.4.0
|
'@emnapi/core': 1.4.0
|
||||||
'@emnapi/runtime': 1.7.1
|
'@emnapi/runtime': 1.5.0
|
||||||
'@tybys/wasm-util': 0.9.0
|
'@tybys/wasm-util': 0.9.0
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@next/env@15.5.7': {}
|
'@next/env@15.5.2': {}
|
||||||
|
|
||||||
'@next/eslint-plugin-next@15.2.4':
|
'@next/eslint-plugin-next@15.2.4':
|
||||||
dependencies:
|
dependencies:
|
||||||
fast-glob: 3.3.1
|
fast-glob: 3.3.1
|
||||||
|
|
||||||
'@next/swc-darwin-arm64@15.5.7':
|
'@next/swc-darwin-arm64@15.5.2':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@next/swc-darwin-x64@15.5.7':
|
'@next/swc-darwin-x64@15.5.2':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@next/swc-linux-arm64-gnu@15.5.7':
|
'@next/swc-linux-arm64-gnu@15.5.2':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@next/swc-linux-arm64-musl@15.5.7':
|
'@next/swc-linux-arm64-musl@15.5.2':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@next/swc-linux-x64-gnu@15.5.7':
|
'@next/swc-linux-x64-gnu@15.5.2':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@next/swc-linux-x64-musl@15.5.7':
|
'@next/swc-linux-x64-musl@15.5.2':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@next/swc-win32-arm64-msvc@15.5.7':
|
'@next/swc-win32-arm64-msvc@15.5.2':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@next/swc-win32-x64-msvc@15.5.7':
|
'@next/swc-win32-x64-msvc@15.5.2':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@nodelib/fs.scandir@2.1.5':
|
'@nodelib/fs.scandir@2.1.5':
|
||||||
@@ -3749,7 +3727,7 @@ snapshots:
|
|||||||
fast-glob: 3.3.3
|
fast-glob: 3.3.3
|
||||||
is-glob: 4.0.3
|
is-glob: 4.0.3
|
||||||
minimatch: 9.0.5
|
minimatch: 9.0.5
|
||||||
semver: 7.7.3
|
semver: 7.7.2
|
||||||
ts-api-utils: 2.1.0(typescript@5.7.3)
|
ts-api-utils: 2.1.0(typescript@5.7.3)
|
||||||
typescript: 5.7.3
|
typescript: 5.7.3
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
@@ -4024,7 +4002,7 @@ snapshots:
|
|||||||
|
|
||||||
callsites@3.1.0: {}
|
callsites@3.1.0: {}
|
||||||
|
|
||||||
caniuse-lite@1.0.30001759: {}
|
caniuse-lite@1.0.30001739: {}
|
||||||
|
|
||||||
chalk@4.1.2:
|
chalk@4.1.2:
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -4069,6 +4047,12 @@ snapshots:
|
|||||||
color-convert: 1.9.3
|
color-convert: 1.9.3
|
||||||
color-string: 1.9.1
|
color-string: 1.9.1
|
||||||
|
|
||||||
|
color@4.2.3:
|
||||||
|
dependencies:
|
||||||
|
color-convert: 2.0.1
|
||||||
|
color-string: 1.9.1
|
||||||
|
optional: true
|
||||||
|
|
||||||
colorspace@1.1.4:
|
colorspace@1.1.4:
|
||||||
dependencies:
|
dependencies:
|
||||||
color: 3.2.1
|
color: 3.2.1
|
||||||
@@ -4200,11 +4184,11 @@ snapshots:
|
|||||||
|
|
||||||
dequal@2.0.3: {}
|
dequal@2.0.3: {}
|
||||||
|
|
||||||
detect-libc@2.1.1: {}
|
detect-libc@2.0.4:
|
||||||
|
|
||||||
detect-libc@2.1.2:
|
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
detect-libc@2.1.1: {}
|
||||||
|
|
||||||
docker-modem@5.0.6:
|
docker-modem@5.0.6:
|
||||||
dependencies:
|
dependencies:
|
||||||
debug: 4.4.1
|
debug: 4.4.1
|
||||||
@@ -4522,10 +4506,10 @@ snapshots:
|
|||||||
safe-regex-test: 1.1.0
|
safe-regex-test: 1.1.0
|
||||||
string.prototype.includes: 2.0.1
|
string.prototype.includes: 2.0.1
|
||||||
|
|
||||||
eslint-plugin-prettier@5.5.4(eslint-config-prettier@10.1.8(eslint@9.25.1(jiti@2.6.1)))(eslint@9.25.1(jiti@2.6.1))(prettier@3.7.3):
|
eslint-plugin-prettier@5.5.4(eslint-config-prettier@10.1.8(eslint@9.25.1(jiti@2.6.1)))(eslint@9.25.1(jiti@2.6.1))(prettier@3.6.2):
|
||||||
dependencies:
|
dependencies:
|
||||||
eslint: 9.25.1(jiti@2.6.1)
|
eslint: 9.25.1(jiti@2.6.1)
|
||||||
prettier: 3.7.3
|
prettier: 3.6.2
|
||||||
prettier-linter-helpers: 1.0.0
|
prettier-linter-helpers: 1.0.0
|
||||||
synckit: 0.11.11
|
synckit: 0.11.11
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
@@ -4866,12 +4850,12 @@ snapshots:
|
|||||||
|
|
||||||
http-cache-semantics@4.2.0: {}
|
http-cache-semantics@4.2.0: {}
|
||||||
|
|
||||||
http-errors@2.0.1:
|
http-errors@2.0.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
depd: 2.0.0
|
depd: 2.0.0
|
||||||
inherits: 2.0.4
|
inherits: 2.0.4
|
||||||
setprototypeof: 1.2.0
|
setprototypeof: 1.2.0
|
||||||
statuses: 2.0.2
|
statuses: 2.0.1
|
||||||
toidentifier: 1.0.1
|
toidentifier: 1.0.1
|
||||||
|
|
||||||
http2-wrapper@2.2.1:
|
http2-wrapper@2.2.1:
|
||||||
@@ -4947,7 +4931,7 @@ snapshots:
|
|||||||
|
|
||||||
is-bun-module@2.0.0:
|
is-bun-module@2.0.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
semver: 7.7.3
|
semver: 7.7.2
|
||||||
|
|
||||||
is-callable@1.2.7: {}
|
is-callable@1.2.7: {}
|
||||||
|
|
||||||
@@ -5259,7 +5243,7 @@ snapshots:
|
|||||||
|
|
||||||
net@1.0.2: {}
|
net@1.0.2: {}
|
||||||
|
|
||||||
next-i18next@12.1.0(next@15.5.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
|
next-i18next@12.1.0(next@15.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/runtime': 7.26.9
|
'@babel/runtime': 7.26.9
|
||||||
'@types/hoist-non-react-statics': 3.3.6
|
'@types/hoist-non-react-statics': 3.3.6
|
||||||
@@ -5267,32 +5251,32 @@ snapshots:
|
|||||||
hoist-non-react-statics: 3.3.2
|
hoist-non-react-statics: 3.3.2
|
||||||
i18next: 21.10.0
|
i18next: 21.10.0
|
||||||
i18next-fs-backend: 1.2.0
|
i18next-fs-backend: 1.2.0
|
||||||
next: 15.5.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
|
next: 15.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
|
||||||
react: 18.3.1
|
react: 18.3.1
|
||||||
react-i18next: 11.18.6(i18next@21.10.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
|
react-i18next: 11.18.6(i18next@21.10.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- react-dom
|
- react-dom
|
||||||
- react-native
|
- react-native
|
||||||
|
|
||||||
next@15.5.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
|
next@15.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@next/env': 15.5.7
|
'@next/env': 15.5.2
|
||||||
'@swc/helpers': 0.5.15
|
'@swc/helpers': 0.5.15
|
||||||
caniuse-lite: 1.0.30001759
|
caniuse-lite: 1.0.30001739
|
||||||
postcss: 8.4.31
|
postcss: 8.4.31
|
||||||
react: 18.3.1
|
react: 18.3.1
|
||||||
react-dom: 18.3.1(react@18.3.1)
|
react-dom: 18.3.1(react@18.3.1)
|
||||||
styled-jsx: 5.1.6(react@18.3.1)
|
styled-jsx: 5.1.6(react@18.3.1)
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@next/swc-darwin-arm64': 15.5.7
|
'@next/swc-darwin-arm64': 15.5.2
|
||||||
'@next/swc-darwin-x64': 15.5.7
|
'@next/swc-darwin-x64': 15.5.2
|
||||||
'@next/swc-linux-arm64-gnu': 15.5.7
|
'@next/swc-linux-arm64-gnu': 15.5.2
|
||||||
'@next/swc-linux-arm64-musl': 15.5.7
|
'@next/swc-linux-arm64-musl': 15.5.2
|
||||||
'@next/swc-linux-x64-gnu': 15.5.7
|
'@next/swc-linux-x64-gnu': 15.5.2
|
||||||
'@next/swc-linux-x64-musl': 15.5.7
|
'@next/swc-linux-x64-musl': 15.5.2
|
||||||
'@next/swc-win32-arm64-msvc': 15.5.7
|
'@next/swc-win32-arm64-msvc': 15.5.2
|
||||||
'@next/swc-win32-x64-msvc': 15.5.7
|
'@next/swc-win32-x64-msvc': 15.5.2
|
||||||
sharp: 0.34.5
|
sharp: 0.34.3
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- '@babel/core'
|
- '@babel/core'
|
||||||
- babel-plugin-macros
|
- babel-plugin-macros
|
||||||
@@ -5432,12 +5416,12 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
fast-diff: 1.3.0
|
fast-diff: 1.3.0
|
||||||
|
|
||||||
prettier-plugin-organize-imports@4.3.0(prettier@3.7.3)(typescript@5.7.3):
|
prettier-plugin-organize-imports@4.3.0(prettier@3.6.2)(typescript@5.7.3):
|
||||||
dependencies:
|
dependencies:
|
||||||
prettier: 3.7.3
|
prettier: 3.6.2
|
||||||
typescript: 5.7.3
|
typescript: 5.7.3
|
||||||
|
|
||||||
prettier@3.7.3: {}
|
prettier@3.6.2: {}
|
||||||
|
|
||||||
pretty-bytes@7.1.0: {}
|
pretty-bytes@7.1.0: {}
|
||||||
|
|
||||||
@@ -5481,10 +5465,10 @@ snapshots:
|
|||||||
|
|
||||||
quick-lru@5.1.1: {}
|
quick-lru@5.1.1: {}
|
||||||
|
|
||||||
raw-body@3.0.2:
|
raw-body@3.0.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
bytes: 3.1.2
|
bytes: 3.1.2
|
||||||
http-errors: 2.0.1
|
http-errors: 2.0.0
|
||||||
iconv-lite: 0.7.0
|
iconv-lite: 0.7.0
|
||||||
unpipe: 1.0.0
|
unpipe: 1.0.0
|
||||||
|
|
||||||
@@ -5684,7 +5668,7 @@ snapshots:
|
|||||||
|
|
||||||
semver@6.3.1: {}
|
semver@6.3.1: {}
|
||||||
|
|
||||||
semver@7.7.3: {}
|
semver@7.7.2: {}
|
||||||
|
|
||||||
set-function-length@1.2.2:
|
set-function-length@1.2.2:
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -5710,36 +5694,34 @@ snapshots:
|
|||||||
|
|
||||||
setprototypeof@1.2.0: {}
|
setprototypeof@1.2.0: {}
|
||||||
|
|
||||||
sharp@0.34.5:
|
sharp@0.34.3:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@img/colour': 1.0.0
|
color: 4.2.3
|
||||||
detect-libc: 2.1.2
|
detect-libc: 2.0.4
|
||||||
semver: 7.7.3
|
semver: 7.7.2
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@img/sharp-darwin-arm64': 0.34.5
|
'@img/sharp-darwin-arm64': 0.34.3
|
||||||
'@img/sharp-darwin-x64': 0.34.5
|
'@img/sharp-darwin-x64': 0.34.3
|
||||||
'@img/sharp-libvips-darwin-arm64': 1.2.4
|
'@img/sharp-libvips-darwin-arm64': 1.2.0
|
||||||
'@img/sharp-libvips-darwin-x64': 1.2.4
|
'@img/sharp-libvips-darwin-x64': 1.2.0
|
||||||
'@img/sharp-libvips-linux-arm': 1.2.4
|
'@img/sharp-libvips-linux-arm': 1.2.0
|
||||||
'@img/sharp-libvips-linux-arm64': 1.2.4
|
'@img/sharp-libvips-linux-arm64': 1.2.0
|
||||||
'@img/sharp-libvips-linux-ppc64': 1.2.4
|
'@img/sharp-libvips-linux-ppc64': 1.2.0
|
||||||
'@img/sharp-libvips-linux-riscv64': 1.2.4
|
'@img/sharp-libvips-linux-s390x': 1.2.0
|
||||||
'@img/sharp-libvips-linux-s390x': 1.2.4
|
'@img/sharp-libvips-linux-x64': 1.2.0
|
||||||
'@img/sharp-libvips-linux-x64': 1.2.4
|
'@img/sharp-libvips-linuxmusl-arm64': 1.2.0
|
||||||
'@img/sharp-libvips-linuxmusl-arm64': 1.2.4
|
'@img/sharp-libvips-linuxmusl-x64': 1.2.0
|
||||||
'@img/sharp-libvips-linuxmusl-x64': 1.2.4
|
'@img/sharp-linux-arm': 0.34.3
|
||||||
'@img/sharp-linux-arm': 0.34.5
|
'@img/sharp-linux-arm64': 0.34.3
|
||||||
'@img/sharp-linux-arm64': 0.34.5
|
'@img/sharp-linux-ppc64': 0.34.3
|
||||||
'@img/sharp-linux-ppc64': 0.34.5
|
'@img/sharp-linux-s390x': 0.34.3
|
||||||
'@img/sharp-linux-riscv64': 0.34.5
|
'@img/sharp-linux-x64': 0.34.3
|
||||||
'@img/sharp-linux-s390x': 0.34.5
|
'@img/sharp-linuxmusl-arm64': 0.34.3
|
||||||
'@img/sharp-linux-x64': 0.34.5
|
'@img/sharp-linuxmusl-x64': 0.34.3
|
||||||
'@img/sharp-linuxmusl-arm64': 0.34.5
|
'@img/sharp-wasm32': 0.34.3
|
||||||
'@img/sharp-linuxmusl-x64': 0.34.5
|
'@img/sharp-win32-arm64': 0.34.3
|
||||||
'@img/sharp-wasm32': 0.34.5
|
'@img/sharp-win32-ia32': 0.34.3
|
||||||
'@img/sharp-win32-arm64': 0.34.5
|
'@img/sharp-win32-x64': 0.34.3
|
||||||
'@img/sharp-win32-ia32': 0.34.5
|
|
||||||
'@img/sharp-win32-x64': 0.34.5
|
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
shebang-command@2.0.0:
|
shebang-command@2.0.0:
|
||||||
@@ -5798,7 +5780,7 @@ snapshots:
|
|||||||
|
|
||||||
stack-trace@0.0.10: {}
|
stack-trace@0.0.10: {}
|
||||||
|
|
||||||
statuses@2.0.2: {}
|
statuses@2.0.1: {}
|
||||||
|
|
||||||
stop-iteration-iterator@1.1.0:
|
stop-iteration-iterator@1.1.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -5923,7 +5905,7 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
'@pkgr/core': 0.2.9
|
'@pkgr/core': 0.2.9
|
||||||
|
|
||||||
systeminformation@5.27.11: {}
|
systeminformation@5.27.7: {}
|
||||||
|
|
||||||
tabbable@6.3.0: {}
|
tabbable@6.3.0: {}
|
||||||
|
|
||||||
|
|||||||
@@ -759,8 +759,7 @@
|
|||||||
"ghostfolio": {
|
"ghostfolio": {
|
||||||
"gross_percent_today": "Vandag",
|
"gross_percent_today": "Vandag",
|
||||||
"gross_percent_1y": "Een jaar",
|
"gross_percent_1y": "Een jaar",
|
||||||
"gross_percent_max": "Alle tyd",
|
"gross_percent_max": "Alle tyd"
|
||||||
"net_worth": "Net Worth"
|
|
||||||
},
|
},
|
||||||
"audiobookshelf": {
|
"audiobookshelf": {
|
||||||
"podcasts": "Podsendinge",
|
"podcasts": "Podsendinge",
|
||||||
|
|||||||
@@ -759,8 +759,7 @@
|
|||||||
"ghostfolio": {
|
"ghostfolio": {
|
||||||
"gross_percent_today": "Today",
|
"gross_percent_today": "Today",
|
||||||
"gross_percent_1y": "سنة",
|
"gross_percent_1y": "سنة",
|
||||||
"gross_percent_max": "كل الوقت",
|
"gross_percent_max": "كل الوقت"
|
||||||
"net_worth": "Net Worth"
|
|
||||||
},
|
},
|
||||||
"audiobookshelf": {
|
"audiobookshelf": {
|
||||||
"podcasts": "بودكاست",
|
"podcasts": "بودكاست",
|
||||||
|
|||||||
@@ -759,8 +759,7 @@
|
|||||||
"ghostfolio": {
|
"ghostfolio": {
|
||||||
"gross_percent_today": "Today",
|
"gross_percent_today": "Today",
|
||||||
"gross_percent_1y": "Една година",
|
"gross_percent_1y": "Една година",
|
||||||
"gross_percent_max": "All time",
|
"gross_percent_max": "All time"
|
||||||
"net_worth": "Net Worth"
|
|
||||||
},
|
},
|
||||||
"audiobookshelf": {
|
"audiobookshelf": {
|
||||||
"podcasts": "Подкасти",
|
"podcasts": "Подкасти",
|
||||||
|
|||||||
@@ -759,8 +759,7 @@
|
|||||||
"ghostfolio": {
|
"ghostfolio": {
|
||||||
"gross_percent_today": "Today",
|
"gross_percent_today": "Today",
|
||||||
"gross_percent_1y": "Un any",
|
"gross_percent_1y": "Un any",
|
||||||
"gross_percent_max": "Sempre",
|
"gross_percent_max": "Sempre"
|
||||||
"net_worth": "Net Worth"
|
|
||||||
},
|
},
|
||||||
"audiobookshelf": {
|
"audiobookshelf": {
|
||||||
"podcasts": "Pòdcasts",
|
"podcasts": "Pòdcasts",
|
||||||
|
|||||||
@@ -759,8 +759,7 @@
|
|||||||
"ghostfolio": {
|
"ghostfolio": {
|
||||||
"gross_percent_today": "Today",
|
"gross_percent_today": "Today",
|
||||||
"gross_percent_1y": "Jeden rok",
|
"gross_percent_1y": "Jeden rok",
|
||||||
"gross_percent_max": "Za celou dobu",
|
"gross_percent_max": "Za celou dobu"
|
||||||
"net_worth": "Net Worth"
|
|
||||||
},
|
},
|
||||||
"audiobookshelf": {
|
"audiobookshelf": {
|
||||||
"podcasts": "Podcasty",
|
"podcasts": "Podcasty",
|
||||||
|
|||||||
@@ -759,8 +759,7 @@
|
|||||||
"ghostfolio": {
|
"ghostfolio": {
|
||||||
"gross_percent_today": "Today",
|
"gross_percent_today": "Today",
|
||||||
"gross_percent_1y": "Et År",
|
"gross_percent_1y": "Et År",
|
||||||
"gross_percent_max": "Altid",
|
"gross_percent_max": "Altid"
|
||||||
"net_worth": "Net Worth"
|
|
||||||
},
|
},
|
||||||
"audiobookshelf": {
|
"audiobookshelf": {
|
||||||
"podcasts": "Podcasts",
|
"podcasts": "Podcasts",
|
||||||
|
|||||||
@@ -759,8 +759,7 @@
|
|||||||
"ghostfolio": {
|
"ghostfolio": {
|
||||||
"gross_percent_today": "Heute",
|
"gross_percent_today": "Heute",
|
||||||
"gross_percent_1y": "Ein Jahr",
|
"gross_percent_1y": "Ein Jahr",
|
||||||
"gross_percent_max": "Gesamt",
|
"gross_percent_max": "Gesamt"
|
||||||
"net_worth": ""
|
|
||||||
},
|
},
|
||||||
"audiobookshelf": {
|
"audiobookshelf": {
|
||||||
"podcasts": "Podcasts",
|
"podcasts": "Podcasts",
|
||||||
|
|||||||
@@ -759,8 +759,7 @@
|
|||||||
"ghostfolio": {
|
"ghostfolio": {
|
||||||
"gross_percent_today": "Today",
|
"gross_percent_today": "Today",
|
||||||
"gross_percent_1y": "Ένας χρόνος",
|
"gross_percent_1y": "Ένας χρόνος",
|
||||||
"gross_percent_max": "Διαχρονικά",
|
"gross_percent_max": "Διαχρονικά"
|
||||||
"net_worth": "Net Worth"
|
|
||||||
},
|
},
|
||||||
"audiobookshelf": {
|
"audiobookshelf": {
|
||||||
"podcasts": "Podcasts",
|
"podcasts": "Podcasts",
|
||||||
|
|||||||
@@ -759,8 +759,7 @@
|
|||||||
"ghostfolio": {
|
"ghostfolio": {
|
||||||
"gross_percent_today": "Today",
|
"gross_percent_today": "Today",
|
||||||
"gross_percent_1y": "One year",
|
"gross_percent_1y": "One year",
|
||||||
"gross_percent_max": "All time",
|
"gross_percent_max": "All time"
|
||||||
"net_worth": "Net Worth"
|
|
||||||
},
|
},
|
||||||
"audiobookshelf": {
|
"audiobookshelf": {
|
||||||
"podcasts": "Podcasts",
|
"podcasts": "Podcasts",
|
||||||
|
|||||||
@@ -759,8 +759,7 @@
|
|||||||
"ghostfolio": {
|
"ghostfolio": {
|
||||||
"gross_percent_today": "Today",
|
"gross_percent_today": "Today",
|
||||||
"gross_percent_1y": "One year",
|
"gross_percent_1y": "One year",
|
||||||
"gross_percent_max": "All time",
|
"gross_percent_max": "All time"
|
||||||
"net_worth": "Net Worth"
|
|
||||||
},
|
},
|
||||||
"audiobookshelf": {
|
"audiobookshelf": {
|
||||||
"podcasts": "Podcasts",
|
"podcasts": "Podcasts",
|
||||||
|
|||||||
@@ -759,8 +759,7 @@
|
|||||||
"ghostfolio": {
|
"ghostfolio": {
|
||||||
"gross_percent_today": "Hoy",
|
"gross_percent_today": "Hoy",
|
||||||
"gross_percent_1y": "Un año",
|
"gross_percent_1y": "Un año",
|
||||||
"gross_percent_max": "Todo el tiempo",
|
"gross_percent_max": "Todo el tiempo"
|
||||||
"net_worth": "Net Worth"
|
|
||||||
},
|
},
|
||||||
"audiobookshelf": {
|
"audiobookshelf": {
|
||||||
"podcasts": "Podcasts",
|
"podcasts": "Podcasts",
|
||||||
|
|||||||
@@ -759,8 +759,7 @@
|
|||||||
"ghostfolio": {
|
"ghostfolio": {
|
||||||
"gross_percent_today": "Today",
|
"gross_percent_today": "Today",
|
||||||
"gross_percent_1y": "One year",
|
"gross_percent_1y": "One year",
|
||||||
"gross_percent_max": "All time",
|
"gross_percent_max": "All time"
|
||||||
"net_worth": "Net Worth"
|
|
||||||
},
|
},
|
||||||
"audiobookshelf": {
|
"audiobookshelf": {
|
||||||
"podcasts": "Podcasts",
|
"podcasts": "Podcasts",
|
||||||
|
|||||||
@@ -759,8 +759,7 @@
|
|||||||
"ghostfolio": {
|
"ghostfolio": {
|
||||||
"gross_percent_today": "Today",
|
"gross_percent_today": "Today",
|
||||||
"gross_percent_1y": "One year",
|
"gross_percent_1y": "One year",
|
||||||
"gross_percent_max": "All time",
|
"gross_percent_max": "All time"
|
||||||
"net_worth": "Net Worth"
|
|
||||||
},
|
},
|
||||||
"audiobookshelf": {
|
"audiobookshelf": {
|
||||||
"podcasts": "Podcasts",
|
"podcasts": "Podcasts",
|
||||||
|
|||||||
@@ -142,8 +142,8 @@
|
|||||||
"connectionStatusDisconnected": "Déconnecté",
|
"connectionStatusDisconnected": "Déconnecté",
|
||||||
"connectionStatusConnected": "Connecté",
|
"connectionStatusConnected": "Connecté",
|
||||||
"uptime": "Démarré depuis",
|
"uptime": "Démarré depuis",
|
||||||
"maxDown": "Réception max",
|
"maxDown": "Réception max.",
|
||||||
"maxUp": "Envoi max",
|
"maxUp": "Envoi max.",
|
||||||
"down": "Réception",
|
"down": "Réception",
|
||||||
"up": "Envoi",
|
"up": "Envoi",
|
||||||
"received": "Reçu",
|
"received": "Reçu",
|
||||||
@@ -229,7 +229,7 @@
|
|||||||
"seed": "En partage"
|
"seed": "En partage"
|
||||||
},
|
},
|
||||||
"develancacheui": {
|
"develancacheui": {
|
||||||
"cachehitbytes": "Octets acquis du cache",
|
"cachehitbytes": "Cache Hit (B)",
|
||||||
"cachemissbytes": "Cache Miss (B)"
|
"cachemissbytes": "Cache Miss (B)"
|
||||||
},
|
},
|
||||||
"downloadstation": {
|
"downloadstation": {
|
||||||
@@ -294,7 +294,7 @@
|
|||||||
"queries": "Requêtes",
|
"queries": "Requêtes",
|
||||||
"blocked": "Bloqué",
|
"blocked": "Bloqué",
|
||||||
"blocked_percent": "% bloqué",
|
"blocked_percent": "% bloqué",
|
||||||
"gravity": "Listes dom. Bloqués"
|
"gravity": "Listes dom. bloqués"
|
||||||
},
|
},
|
||||||
"adguard": {
|
"adguard": {
|
||||||
"queries": "Requêtes",
|
"queries": "Requêtes",
|
||||||
@@ -759,8 +759,7 @@
|
|||||||
"ghostfolio": {
|
"ghostfolio": {
|
||||||
"gross_percent_today": "Aujourd'hui",
|
"gross_percent_today": "Aujourd'hui",
|
||||||
"gross_percent_1y": "Un an",
|
"gross_percent_1y": "Un an",
|
||||||
"gross_percent_max": "Depuis le début",
|
"gross_percent_max": "Depuis le début"
|
||||||
"net_worth": "Patrimoine net"
|
|
||||||
},
|
},
|
||||||
"audiobookshelf": {
|
"audiobookshelf": {
|
||||||
"podcasts": "Podcasts",
|
"podcasts": "Podcasts",
|
||||||
@@ -1092,7 +1091,7 @@
|
|||||||
"NEW_ARRAY": "Nouveau tableau",
|
"NEW_ARRAY": "Nouveau tableau",
|
||||||
"RECON_DISK": "Reconstruction du disque",
|
"RECON_DISK": "Reconstruction du disque",
|
||||||
"DISABLE_DISK": "Disque désactivé",
|
"DISABLE_DISK": "Disque désactivé",
|
||||||
"SWAP_DSBL": "Désactiver le swap",
|
"SWAP_DSBL": "Swap Disable",
|
||||||
"INVALID_EXPANSION": "Extension invalide",
|
"INVALID_EXPANSION": "Extension invalide",
|
||||||
"PARITY_NOT_BIGGEST": "La parité n'est pas la plus grande",
|
"PARITY_NOT_BIGGEST": "La parité n'est pas la plus grande",
|
||||||
"TOO_MANY_MISSING_DISKS": "Trop de disques manquants",
|
"TOO_MANY_MISSING_DISKS": "Trop de disques manquants",
|
||||||
|
|||||||
@@ -759,8 +759,7 @@
|
|||||||
"ghostfolio": {
|
"ghostfolio": {
|
||||||
"gross_percent_today": "היום",
|
"gross_percent_today": "היום",
|
||||||
"gross_percent_1y": "שנה",
|
"gross_percent_1y": "שנה",
|
||||||
"gross_percent_max": "כל הזמן",
|
"gross_percent_max": "כל הזמן"
|
||||||
"net_worth": "Net Worth"
|
|
||||||
},
|
},
|
||||||
"audiobookshelf": {
|
"audiobookshelf": {
|
||||||
"podcasts": "פודקאסטים",
|
"podcasts": "פודקאסטים",
|
||||||
|
|||||||
@@ -759,8 +759,7 @@
|
|||||||
"ghostfolio": {
|
"ghostfolio": {
|
||||||
"gross_percent_today": "Today",
|
"gross_percent_today": "Today",
|
||||||
"gross_percent_1y": "One year",
|
"gross_percent_1y": "One year",
|
||||||
"gross_percent_max": "All time",
|
"gross_percent_max": "All time"
|
||||||
"net_worth": "Net Worth"
|
|
||||||
},
|
},
|
||||||
"audiobookshelf": {
|
"audiobookshelf": {
|
||||||
"podcasts": "Podcasts",
|
"podcasts": "Podcasts",
|
||||||
|
|||||||
@@ -759,8 +759,7 @@
|
|||||||
"ghostfolio": {
|
"ghostfolio": {
|
||||||
"gross_percent_today": "Danas",
|
"gross_percent_today": "Danas",
|
||||||
"gross_percent_1y": "Jedna godina",
|
"gross_percent_1y": "Jedna godina",
|
||||||
"gross_percent_max": "Svo vrijeme",
|
"gross_percent_max": "Svo vrijeme"
|
||||||
"net_worth": "Neto vrijednost"
|
|
||||||
},
|
},
|
||||||
"audiobookshelf": {
|
"audiobookshelf": {
|
||||||
"podcasts": "Podcasti",
|
"podcasts": "Podcasti",
|
||||||
|
|||||||
@@ -759,8 +759,7 @@
|
|||||||
"ghostfolio": {
|
"ghostfolio": {
|
||||||
"gross_percent_today": "Today",
|
"gross_percent_today": "Today",
|
||||||
"gross_percent_1y": "Egy év",
|
"gross_percent_1y": "Egy év",
|
||||||
"gross_percent_max": "Mindig",
|
"gross_percent_max": "Mindig"
|
||||||
"net_worth": "Net Worth"
|
|
||||||
},
|
},
|
||||||
"audiobookshelf": {
|
"audiobookshelf": {
|
||||||
"podcasts": "Podcast",
|
"podcasts": "Podcast",
|
||||||
|
|||||||
@@ -759,8 +759,7 @@
|
|||||||
"ghostfolio": {
|
"ghostfolio": {
|
||||||
"gross_percent_today": "Today",
|
"gross_percent_today": "Today",
|
||||||
"gross_percent_1y": "Satu Tahun",
|
"gross_percent_1y": "Satu Tahun",
|
||||||
"gross_percent_max": "Sepanjang Masa",
|
"gross_percent_max": "Sepanjang Masa"
|
||||||
"net_worth": "Net Worth"
|
|
||||||
},
|
},
|
||||||
"audiobookshelf": {
|
"audiobookshelf": {
|
||||||
"podcasts": "Podcast",
|
"podcasts": "Podcast",
|
||||||
|
|||||||
@@ -168,7 +168,7 @@
|
|||||||
"passes": "Tessere"
|
"passes": "Tessere"
|
||||||
},
|
},
|
||||||
"tautulli": {
|
"tautulli": {
|
||||||
"playing": "In riproduzione",
|
"playing": "Playing",
|
||||||
"transcoding": "Transcoding",
|
"transcoding": "Transcoding",
|
||||||
"bitrate": "Bitrate",
|
"bitrate": "Bitrate",
|
||||||
"no_active": "No Active Streams",
|
"no_active": "No Active Streams",
|
||||||
@@ -313,7 +313,7 @@
|
|||||||
"total": "Total"
|
"total": "Total"
|
||||||
},
|
},
|
||||||
"suwayomi": {
|
"suwayomi": {
|
||||||
"download": "Scaricati",
|
"download": "Downloaded",
|
||||||
"nondownload": "Non Scaricato",
|
"nondownload": "Non Scaricato",
|
||||||
"read": "Read",
|
"read": "Read",
|
||||||
"unread": "Unread",
|
"unread": "Unread",
|
||||||
@@ -759,8 +759,7 @@
|
|||||||
"ghostfolio": {
|
"ghostfolio": {
|
||||||
"gross_percent_today": "Today",
|
"gross_percent_today": "Today",
|
||||||
"gross_percent_1y": "Un anno",
|
"gross_percent_1y": "Un anno",
|
||||||
"gross_percent_max": "Sempre",
|
"gross_percent_max": "Sempre"
|
||||||
"net_worth": "Net Worth"
|
|
||||||
},
|
},
|
||||||
"audiobookshelf": {
|
"audiobookshelf": {
|
||||||
"podcasts": "Podcast",
|
"podcasts": "Podcast",
|
||||||
|
|||||||
@@ -69,7 +69,7 @@
|
|||||||
"docker": {
|
"docker": {
|
||||||
"rx": "受信済み",
|
"rx": "受信済み",
|
||||||
"tx": "送信済み",
|
"tx": "送信済み",
|
||||||
"mem": "メモリ",
|
"mem": "MEM",
|
||||||
"cpu": "CPU",
|
"cpu": "CPU",
|
||||||
"running": "起動中",
|
"running": "起動中",
|
||||||
"offline": "オフライン",
|
"offline": "オフライン",
|
||||||
@@ -83,7 +83,7 @@
|
|||||||
"partial": "部分的"
|
"partial": "部分的"
|
||||||
},
|
},
|
||||||
"ping": {
|
"ping": {
|
||||||
"error": "エラー",
|
"error": "Error",
|
||||||
"ping": "Ping",
|
"ping": "Ping",
|
||||||
"down": "下へ",
|
"down": "下へ",
|
||||||
"up": "稼働",
|
"up": "稼働",
|
||||||
@@ -112,7 +112,7 @@
|
|||||||
"offline_alt": "オフライン",
|
"offline_alt": "オフライン",
|
||||||
"online": "オンライン",
|
"online": "オンライン",
|
||||||
"total": "Total",
|
"total": "Total",
|
||||||
"unknown": "不明"
|
"unknown": "Unknown"
|
||||||
},
|
},
|
||||||
"evcc": {
|
"evcc": {
|
||||||
"pv_power": "発電量",
|
"pv_power": "発電量",
|
||||||
@@ -223,8 +223,8 @@
|
|||||||
"invalid": "無効"
|
"invalid": "無効"
|
||||||
},
|
},
|
||||||
"deluge": {
|
"deluge": {
|
||||||
"download": "ダウンロード",
|
"download": "Download",
|
||||||
"upload": "アップロード",
|
"upload": "Upload",
|
||||||
"leech": "Leech",
|
"leech": "Leech",
|
||||||
"seed": "Seed"
|
"seed": "Seed"
|
||||||
},
|
},
|
||||||
@@ -233,8 +233,8 @@
|
|||||||
"cachemissbytes": "キャッシュミスバイト"
|
"cachemissbytes": "キャッシュミスバイト"
|
||||||
},
|
},
|
||||||
"downloadstation": {
|
"downloadstation": {
|
||||||
"download": "ダウンロード",
|
"download": "Download",
|
||||||
"upload": "アップロード",
|
"upload": "Upload",
|
||||||
"leech": "Leech",
|
"leech": "Leech",
|
||||||
"seed": "Seed"
|
"seed": "Seed"
|
||||||
},
|
},
|
||||||
@@ -251,7 +251,7 @@
|
|||||||
"queued": "Queued",
|
"queued": "Queued",
|
||||||
"movies": "Movies",
|
"movies": "Movies",
|
||||||
"queue": "Queue",
|
"queue": "Queue",
|
||||||
"unknown": "不明"
|
"unknown": "Unknown"
|
||||||
},
|
},
|
||||||
"lidarr": {
|
"lidarr": {
|
||||||
"wanted": "Wanted",
|
"wanted": "Wanted",
|
||||||
@@ -692,8 +692,8 @@
|
|||||||
},
|
},
|
||||||
"diskstation": {
|
"diskstation": {
|
||||||
"days": "Days",
|
"days": "Days",
|
||||||
"uptime": "稼働時間",
|
"uptime": "Uptime",
|
||||||
"volumeAvailable": "利用可能"
|
"volumeAvailable": "Available"
|
||||||
},
|
},
|
||||||
"mylar": {
|
"mylar": {
|
||||||
"series": "Series",
|
"series": "Series",
|
||||||
@@ -754,13 +754,12 @@
|
|||||||
"gatus": {
|
"gatus": {
|
||||||
"up": "Sites Up",
|
"up": "Sites Up",
|
||||||
"down": "Sites Down",
|
"down": "Sites Down",
|
||||||
"uptime": "稼働時間"
|
"uptime": "Uptime"
|
||||||
},
|
},
|
||||||
"ghostfolio": {
|
"ghostfolio": {
|
||||||
"gross_percent_today": "Today",
|
"gross_percent_today": "Today",
|
||||||
"gross_percent_1y": "1年",
|
"gross_percent_1y": "1年",
|
||||||
"gross_percent_max": "全期間",
|
"gross_percent_max": "全期間"
|
||||||
"net_worth": "Net Worth"
|
|
||||||
},
|
},
|
||||||
"audiobookshelf": {
|
"audiobookshelf": {
|
||||||
"podcasts": "ポッドキャスト",
|
"podcasts": "ポッドキャスト",
|
||||||
|
|||||||
@@ -759,8 +759,7 @@
|
|||||||
"ghostfolio": {
|
"ghostfolio": {
|
||||||
"gross_percent_today": "오늘",
|
"gross_percent_today": "오늘",
|
||||||
"gross_percent_1y": "1년",
|
"gross_percent_1y": "1년",
|
||||||
"gross_percent_max": "전체 기간",
|
"gross_percent_max": "전체 기간"
|
||||||
"net_worth": "Net Worth"
|
|
||||||
},
|
},
|
||||||
"audiobookshelf": {
|
"audiobookshelf": {
|
||||||
"podcasts": "팟캐스트",
|
"podcasts": "팟캐스트",
|
||||||
|
|||||||
@@ -759,8 +759,7 @@
|
|||||||
"ghostfolio": {
|
"ghostfolio": {
|
||||||
"gross_percent_today": "Today",
|
"gross_percent_today": "Today",
|
||||||
"gross_percent_1y": "One year",
|
"gross_percent_1y": "One year",
|
||||||
"gross_percent_max": "All time",
|
"gross_percent_max": "All time"
|
||||||
"net_worth": "Net Worth"
|
|
||||||
},
|
},
|
||||||
"audiobookshelf": {
|
"audiobookshelf": {
|
||||||
"podcasts": "Podcasts",
|
"podcasts": "Podcasts",
|
||||||
|
|||||||
@@ -759,8 +759,7 @@
|
|||||||
"ghostfolio": {
|
"ghostfolio": {
|
||||||
"gross_percent_today": "Today",
|
"gross_percent_today": "Today",
|
||||||
"gross_percent_1y": "Satu tahun",
|
"gross_percent_1y": "Satu tahun",
|
||||||
"gross_percent_max": "Sepanjang masa",
|
"gross_percent_max": "Sepanjang masa"
|
||||||
"net_worth": "Net Worth"
|
|
||||||
},
|
},
|
||||||
"audiobookshelf": {
|
"audiobookshelf": {
|
||||||
"podcasts": "Podkas",
|
"podcasts": "Podkas",
|
||||||
|
|||||||
@@ -759,8 +759,7 @@
|
|||||||
"ghostfolio": {
|
"ghostfolio": {
|
||||||
"gross_percent_today": "Vandaag",
|
"gross_percent_today": "Vandaag",
|
||||||
"gross_percent_1y": "Een jaar",
|
"gross_percent_1y": "Een jaar",
|
||||||
"gross_percent_max": "Altijd",
|
"gross_percent_max": "Altijd"
|
||||||
"net_worth": "Net Worth"
|
|
||||||
},
|
},
|
||||||
"audiobookshelf": {
|
"audiobookshelf": {
|
||||||
"podcasts": "Podcasts",
|
"podcasts": "Podcasts",
|
||||||
|
|||||||
@@ -759,8 +759,7 @@
|
|||||||
"ghostfolio": {
|
"ghostfolio": {
|
||||||
"gross_percent_today": "Today",
|
"gross_percent_today": "Today",
|
||||||
"gross_percent_1y": "Ett år",
|
"gross_percent_1y": "Ett år",
|
||||||
"gross_percent_max": "Gjennom tidene",
|
"gross_percent_max": "Gjennom tidene"
|
||||||
"net_worth": "Net Worth"
|
|
||||||
},
|
},
|
||||||
"audiobookshelf": {
|
"audiobookshelf": {
|
||||||
"podcasts": "Podkaster",
|
"podcasts": "Podkaster",
|
||||||
|
|||||||
@@ -759,8 +759,7 @@
|
|||||||
"ghostfolio": {
|
"ghostfolio": {
|
||||||
"gross_percent_today": "Dzisiaj",
|
"gross_percent_today": "Dzisiaj",
|
||||||
"gross_percent_1y": "Rok",
|
"gross_percent_1y": "Rok",
|
||||||
"gross_percent_max": "Od początku",
|
"gross_percent_max": "Od początku"
|
||||||
"net_worth": "Net Worth"
|
|
||||||
},
|
},
|
||||||
"audiobookshelf": {
|
"audiobookshelf": {
|
||||||
"podcasts": "Podcasty",
|
"podcasts": "Podcasty",
|
||||||
|
|||||||
@@ -759,8 +759,7 @@
|
|||||||
"ghostfolio": {
|
"ghostfolio": {
|
||||||
"gross_percent_today": "Today",
|
"gross_percent_today": "Today",
|
||||||
"gross_percent_1y": "Um ano",
|
"gross_percent_1y": "Um ano",
|
||||||
"gross_percent_max": "Desde Sempre",
|
"gross_percent_max": "Desde Sempre"
|
||||||
"net_worth": "Net Worth"
|
|
||||||
},
|
},
|
||||||
"audiobookshelf": {
|
"audiobookshelf": {
|
||||||
"podcasts": "Podcasts",
|
"podcasts": "Podcasts",
|
||||||
|
|||||||
@@ -759,8 +759,7 @@
|
|||||||
"ghostfolio": {
|
"ghostfolio": {
|
||||||
"gross_percent_today": "Hoje",
|
"gross_percent_today": "Hoje",
|
||||||
"gross_percent_1y": "Um ano",
|
"gross_percent_1y": "Um ano",
|
||||||
"gross_percent_max": "Todo o tempo",
|
"gross_percent_max": "Todo o tempo"
|
||||||
"net_worth": "Patrimônio Líquido"
|
|
||||||
},
|
},
|
||||||
"audiobookshelf": {
|
"audiobookshelf": {
|
||||||
"podcasts": "Podcasts",
|
"podcasts": "Podcasts",
|
||||||
|
|||||||
@@ -759,8 +759,7 @@
|
|||||||
"ghostfolio": {
|
"ghostfolio": {
|
||||||
"gross_percent_today": "Today",
|
"gross_percent_today": "Today",
|
||||||
"gross_percent_1y": "Un an",
|
"gross_percent_1y": "Un an",
|
||||||
"gross_percent_max": "Tot timpul",
|
"gross_percent_max": "Tot timpul"
|
||||||
"net_worth": "Net Worth"
|
|
||||||
},
|
},
|
||||||
"audiobookshelf": {
|
"audiobookshelf": {
|
||||||
"podcasts": "Podcasturi",
|
"podcasts": "Podcasturi",
|
||||||
|
|||||||
@@ -759,8 +759,7 @@
|
|||||||
"ghostfolio": {
|
"ghostfolio": {
|
||||||
"gross_percent_today": "Сегодня",
|
"gross_percent_today": "Сегодня",
|
||||||
"gross_percent_1y": "Один год",
|
"gross_percent_1y": "Один год",
|
||||||
"gross_percent_max": "Все время",
|
"gross_percent_max": "Все время"
|
||||||
"net_worth": "Net Worth"
|
|
||||||
},
|
},
|
||||||
"audiobookshelf": {
|
"audiobookshelf": {
|
||||||
"podcasts": "Подкасты",
|
"podcasts": "Подкасты",
|
||||||
|
|||||||
@@ -362,8 +362,8 @@
|
|||||||
},
|
},
|
||||||
"trilium": {
|
"trilium": {
|
||||||
"version": "Verzia",
|
"version": "Verzia",
|
||||||
"notesCount": "Poznámky",
|
"notesCount": "Notes",
|
||||||
"dbSize": "Veľkosť databázy",
|
"dbSize": "Database Size",
|
||||||
"unknown": "Neznáme"
|
"unknown": "Neznáme"
|
||||||
},
|
},
|
||||||
"navidrome": {
|
"navidrome": {
|
||||||
@@ -759,8 +759,7 @@
|
|||||||
"ghostfolio": {
|
"ghostfolio": {
|
||||||
"gross_percent_today": "Dnes",
|
"gross_percent_today": "Dnes",
|
||||||
"gross_percent_1y": "Jeden rok",
|
"gross_percent_1y": "Jeden rok",
|
||||||
"gross_percent_max": "Za celý čas",
|
"gross_percent_max": "Za celý čas"
|
||||||
"net_worth": "Net Worth"
|
|
||||||
},
|
},
|
||||||
"audiobookshelf": {
|
"audiobookshelf": {
|
||||||
"podcasts": "Podcasty",
|
"podcasts": "Podcasty",
|
||||||
@@ -787,7 +786,7 @@
|
|||||||
"downloadCount": "Poradie",
|
"downloadCount": "Poradie",
|
||||||
"downloadBytesRemaining": "Zostávajúce",
|
"downloadBytesRemaining": "Zostávajúce",
|
||||||
"downloadTotalBytes": "Veľkosť",
|
"downloadTotalBytes": "Veľkosť",
|
||||||
"downloadSpeed": "Rýchlosť"
|
"downloadSpeed": "Speed"
|
||||||
},
|
},
|
||||||
"kavita": {
|
"kavita": {
|
||||||
"seriesCount": "Series",
|
"seriesCount": "Series",
|
||||||
@@ -953,7 +952,7 @@
|
|||||||
"loading": "Načítava sa",
|
"loading": "Načítava sa",
|
||||||
"open": "Open - US Market",
|
"open": "Open - US Market",
|
||||||
"closed": "Closed - US Market",
|
"closed": "Closed - US Market",
|
||||||
"invalidConfiguration": "Neplatná konfigurácia"
|
"invalidConfiguration": "Invalid Configuration"
|
||||||
},
|
},
|
||||||
"frigate": {
|
"frigate": {
|
||||||
"cameras": "Kamery",
|
"cameras": "Kamery",
|
||||||
@@ -1023,10 +1022,10 @@
|
|||||||
"loading": "Načítava sa"
|
"loading": "Načítava sa"
|
||||||
},
|
},
|
||||||
"gitlab": {
|
"gitlab": {
|
||||||
"groups": "Skupiny",
|
"groups": "Groups",
|
||||||
"issues": "Problémy",
|
"issues": "Issues",
|
||||||
"merges": "Merge Requests",
|
"merges": "Merge Requests",
|
||||||
"projects": "Projekty"
|
"projects": "Projects"
|
||||||
},
|
},
|
||||||
"apcups": {
|
"apcups": {
|
||||||
"status": "Stav",
|
"status": "Stav",
|
||||||
@@ -1036,7 +1035,7 @@
|
|||||||
},
|
},
|
||||||
"karakeep": {
|
"karakeep": {
|
||||||
"bookmarks": "Bookmarks",
|
"bookmarks": "Bookmarks",
|
||||||
"favorites": "Obľúbené",
|
"favorites": "Favorites",
|
||||||
"archived": "Archived",
|
"archived": "Archived",
|
||||||
"highlights": "Highlights",
|
"highlights": "Highlights",
|
||||||
"lists": "Zoznamy",
|
"lists": "Zoznamy",
|
||||||
@@ -1066,13 +1065,13 @@
|
|||||||
"komodo": {
|
"komodo": {
|
||||||
"total": "Celkom",
|
"total": "Celkom",
|
||||||
"running": "Beží",
|
"running": "Beží",
|
||||||
"stopped": "Zastavené",
|
"stopped": "Stopped",
|
||||||
"down": "Down",
|
"down": "Down",
|
||||||
"unhealthy": "Nezdravý",
|
"unhealthy": "Nezdravý",
|
||||||
"unknown": "Neznáme",
|
"unknown": "Neznáme",
|
||||||
"servers": "Servery",
|
"servers": "Servers",
|
||||||
"stacks": "Stacks",
|
"stacks": "Stacks",
|
||||||
"containers": "Kontajnery"
|
"containers": "Containers"
|
||||||
},
|
},
|
||||||
"filebrowser": {
|
"filebrowser": {
|
||||||
"available": "Dostupné",
|
"available": "Dostupné",
|
||||||
@@ -1081,8 +1080,8 @@
|
|||||||
},
|
},
|
||||||
"wallos": {
|
"wallos": {
|
||||||
"activeSubscriptions": "Subscriptions",
|
"activeSubscriptions": "Subscriptions",
|
||||||
"thisMonthlyCost": "Tento mesiac",
|
"thisMonthlyCost": "This Month",
|
||||||
"nextMonthlyCost": "Ďalší mesiac",
|
"nextMonthlyCost": "Next Month",
|
||||||
"previousMonthlyCost": "Prev. Month",
|
"previousMonthlyCost": "Prev. Month",
|
||||||
"nextRenewingSubscription": "Next Payment"
|
"nextRenewingSubscription": "Next Payment"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -759,8 +759,7 @@
|
|||||||
"ghostfolio": {
|
"ghostfolio": {
|
||||||
"gross_percent_today": "Today",
|
"gross_percent_today": "Today",
|
||||||
"gross_percent_1y": "Eno leto",
|
"gross_percent_1y": "Eno leto",
|
||||||
"gross_percent_max": "Celoten čas",
|
"gross_percent_max": "Celoten čas"
|
||||||
"net_worth": "Net Worth"
|
|
||||||
},
|
},
|
||||||
"audiobookshelf": {
|
"audiobookshelf": {
|
||||||
"podcasts": "Podcasti",
|
"podcasts": "Podcasti",
|
||||||
|
|||||||
@@ -759,8 +759,7 @@
|
|||||||
"ghostfolio": {
|
"ghostfolio": {
|
||||||
"gross_percent_today": "Данас",
|
"gross_percent_today": "Данас",
|
||||||
"gross_percent_1y": "Једна година",
|
"gross_percent_1y": "Једна година",
|
||||||
"gross_percent_max": "Све време",
|
"gross_percent_max": "Све време"
|
||||||
"net_worth": "Нето вредност"
|
|
||||||
},
|
},
|
||||||
"audiobookshelf": {
|
"audiobookshelf": {
|
||||||
"podcasts": "Подкасти",
|
"podcasts": "Подкасти",
|
||||||
|
|||||||
@@ -759,8 +759,7 @@
|
|||||||
"ghostfolio": {
|
"ghostfolio": {
|
||||||
"gross_percent_today": "Today",
|
"gross_percent_today": "Today",
|
||||||
"gross_percent_1y": "One year",
|
"gross_percent_1y": "One year",
|
||||||
"gross_percent_max": "All time",
|
"gross_percent_max": "All time"
|
||||||
"net_worth": "Net Worth"
|
|
||||||
},
|
},
|
||||||
"audiobookshelf": {
|
"audiobookshelf": {
|
||||||
"podcasts": "Podcasts",
|
"podcasts": "Podcasts",
|
||||||
|
|||||||
@@ -759,8 +759,7 @@
|
|||||||
"ghostfolio": {
|
"ghostfolio": {
|
||||||
"gross_percent_today": "Today",
|
"gross_percent_today": "Today",
|
||||||
"gross_percent_1y": "One year",
|
"gross_percent_1y": "One year",
|
||||||
"gross_percent_max": "All time",
|
"gross_percent_max": "All time"
|
||||||
"net_worth": "Net Worth"
|
|
||||||
},
|
},
|
||||||
"audiobookshelf": {
|
"audiobookshelf": {
|
||||||
"podcasts": "Podcasts",
|
"podcasts": "Podcasts",
|
||||||
|
|||||||
@@ -759,8 +759,7 @@
|
|||||||
"ghostfolio": {
|
"ghostfolio": {
|
||||||
"gross_percent_today": "Today",
|
"gross_percent_today": "Today",
|
||||||
"gross_percent_1y": "One year",
|
"gross_percent_1y": "One year",
|
||||||
"gross_percent_max": "All time",
|
"gross_percent_max": "All time"
|
||||||
"net_worth": "Net Worth"
|
|
||||||
},
|
},
|
||||||
"audiobookshelf": {
|
"audiobookshelf": {
|
||||||
"podcasts": "Podcasts",
|
"podcasts": "Podcasts",
|
||||||
|
|||||||
@@ -759,8 +759,7 @@
|
|||||||
"ghostfolio": {
|
"ghostfolio": {
|
||||||
"gross_percent_today": "Bugün",
|
"gross_percent_today": "Bugün",
|
||||||
"gross_percent_1y": "Bir yıl",
|
"gross_percent_1y": "Bir yıl",
|
||||||
"gross_percent_max": "Tüm zaman",
|
"gross_percent_max": "Tüm zaman"
|
||||||
"net_worth": "Net Worth"
|
|
||||||
},
|
},
|
||||||
"audiobookshelf": {
|
"audiobookshelf": {
|
||||||
"podcasts": "Podcast",
|
"podcasts": "Podcast",
|
||||||
|
|||||||
@@ -63,14 +63,14 @@
|
|||||||
"wlan_users": "WLAN користувачі",
|
"wlan_users": "WLAN користувачі",
|
||||||
"up": "UP",
|
"up": "UP",
|
||||||
"down": "Завантаження",
|
"down": "Завантаження",
|
||||||
"wait": "Будь ласка, зачекайте",
|
"wait": "Please wait",
|
||||||
"empty_data": "Статус підсистеми невідомий"
|
"empty_data": "Статус підсистеми невідомий"
|
||||||
},
|
},
|
||||||
"docker": {
|
"docker": {
|
||||||
"rx": "RX",
|
"rx": "RX",
|
||||||
"tx": "TX",
|
"tx": "TX",
|
||||||
"mem": "Пам'ять",
|
"mem": "MEM",
|
||||||
"cpu": "Процесор",
|
"cpu": "CPU",
|
||||||
"running": "Запущено",
|
"running": "Запущено",
|
||||||
"offline": "Офлайн",
|
"offline": "Офлайн",
|
||||||
"error": "Помилка",
|
"error": "Помилка",
|
||||||
@@ -83,7 +83,7 @@
|
|||||||
"partial": "Частковий"
|
"partial": "Частковий"
|
||||||
},
|
},
|
||||||
"ping": {
|
"ping": {
|
||||||
"error": "Помилка",
|
"error": "Error",
|
||||||
"ping": "Пінг",
|
"ping": "Пінг",
|
||||||
"down": "Офлайн",
|
"down": "Офлайн",
|
||||||
"up": "Онлайн",
|
"up": "Онлайн",
|
||||||
@@ -91,11 +91,11 @@
|
|||||||
},
|
},
|
||||||
"siteMonitor": {
|
"siteMonitor": {
|
||||||
"http_status": "HTTP статус",
|
"http_status": "HTTP статус",
|
||||||
"error": "Помилка",
|
"error": "Error",
|
||||||
"response": "Відповідь",
|
"response": "Відповідь",
|
||||||
"down": "Офлайн",
|
"down": "Down",
|
||||||
"up": "Онлайн",
|
"up": "Up",
|
||||||
"not_available": "Не доступний"
|
"not_available": "Not Available"
|
||||||
},
|
},
|
||||||
"emby": {
|
"emby": {
|
||||||
"playing": "Відтворення",
|
"playing": "Відтворення",
|
||||||
@@ -108,10 +108,10 @@
|
|||||||
"songs": "Пісні"
|
"songs": "Пісні"
|
||||||
},
|
},
|
||||||
"esphome": {
|
"esphome": {
|
||||||
"offline": "Офлайн",
|
"offline": "Offline",
|
||||||
"offline_alt": "Офлайн",
|
"offline_alt": "Offline",
|
||||||
"online": "Онлайн",
|
"online": "Онлайн",
|
||||||
"total": "Усього",
|
"total": "Total",
|
||||||
"unknown": "Невідомо"
|
"unknown": "Невідомо"
|
||||||
},
|
},
|
||||||
"evcc": {
|
"evcc": {
|
||||||
@@ -133,7 +133,7 @@
|
|||||||
"unread": "Не прочитано"
|
"unread": "Не прочитано"
|
||||||
},
|
},
|
||||||
"fritzbox": {
|
"fritzbox": {
|
||||||
"connectionStatus": "Стан",
|
"connectionStatus": "Status",
|
||||||
"connectionStatusUnconfigured": "Не налаштовано",
|
"connectionStatusUnconfigured": "Не налаштовано",
|
||||||
"connectionStatusConnecting": "Підключення",
|
"connectionStatusConnecting": "Підключення",
|
||||||
"connectionStatusAuthenticating": "Автентифікація",
|
"connectionStatusAuthenticating": "Автентифікація",
|
||||||
@@ -141,11 +141,11 @@
|
|||||||
"connectionStatusDisconnecting": "Відключення",
|
"connectionStatusDisconnecting": "Відключення",
|
||||||
"connectionStatusDisconnected": "Відключено",
|
"connectionStatusDisconnected": "Відключено",
|
||||||
"connectionStatusConnected": "З'єднано",
|
"connectionStatusConnected": "З'єднано",
|
||||||
"uptime": "Час роботи",
|
"uptime": "Uptime",
|
||||||
"maxDown": "Макс. завантаження",
|
"maxDown": "Макс. завантаження",
|
||||||
"maxUp": "Макс. віддача",
|
"maxUp": "Макс. віддача",
|
||||||
"down": "Офлайн",
|
"down": "Down",
|
||||||
"up": "Онлайн",
|
"up": "Up",
|
||||||
"received": "Отримано",
|
"received": "Отримано",
|
||||||
"sent": "Надіслано",
|
"sent": "Надіслано",
|
||||||
"externalIPAddress": "Зовнішній IP",
|
"externalIPAddress": "Зовнішній IP",
|
||||||
@@ -168,10 +168,10 @@
|
|||||||
"passes": "Пропуски"
|
"passes": "Пропуски"
|
||||||
},
|
},
|
||||||
"tautulli": {
|
"tautulli": {
|
||||||
"playing": "Грає",
|
"playing": "Playing",
|
||||||
"transcoding": "Транскодування",
|
"transcoding": "Transcoding",
|
||||||
"bitrate": "Бітрейт",
|
"bitrate": "Bitrate",
|
||||||
"no_active": "Немає активних потоків",
|
"no_active": "No Active Streams",
|
||||||
"plex_connection_error": "Перевірте з'єднання Plex"
|
"plex_connection_error": "Перевірте з'єднання Plex"
|
||||||
},
|
},
|
||||||
"omada": {
|
"omada": {
|
||||||
@@ -189,30 +189,30 @@
|
|||||||
"plex": {
|
"plex": {
|
||||||
"streams": "Активні потоки",
|
"streams": "Активні потоки",
|
||||||
"albums": "Альбоми",
|
"albums": "Альбоми",
|
||||||
"movies": "Фільми",
|
"movies": "Movies",
|
||||||
"tv": "TБ шоу"
|
"tv": "TБ шоу"
|
||||||
},
|
},
|
||||||
"sabnzbd": {
|
"sabnzbd": {
|
||||||
"rate": "Швидкість",
|
"rate": "Rate",
|
||||||
"queue": "Черга",
|
"queue": "Черга",
|
||||||
"timeleft": "Залишилось"
|
"timeleft": "Залишилось"
|
||||||
},
|
},
|
||||||
"rutorrent": {
|
"rutorrent": {
|
||||||
"active": "Активний",
|
"active": "Активний",
|
||||||
"upload": "Вивантаж.",
|
"upload": "Upload",
|
||||||
"download": "Завантажено"
|
"download": "Download"
|
||||||
},
|
},
|
||||||
"transmission": {
|
"transmission": {
|
||||||
"download": "Завантажено",
|
"download": "Download",
|
||||||
"upload": "Вивантаж.",
|
"upload": "Upload",
|
||||||
"leech": "Ліч",
|
"leech": "Leech",
|
||||||
"seed": "Сід"
|
"seed": "Seed"
|
||||||
},
|
},
|
||||||
"qbittorrent": {
|
"qbittorrent": {
|
||||||
"download": "Завантажити",
|
"download": "Download",
|
||||||
"upload": "Вивантаж.",
|
"upload": "Upload",
|
||||||
"leech": "Ліч",
|
"leech": "Leech",
|
||||||
"seed": "Сід"
|
"seed": "Seed"
|
||||||
},
|
},
|
||||||
"qnap": {
|
"qnap": {
|
||||||
"cpuUsage": "Використання CPU",
|
"cpuUsage": "Використання CPU",
|
||||||
@@ -225,8 +225,8 @@
|
|||||||
"deluge": {
|
"deluge": {
|
||||||
"download": "Download",
|
"download": "Download",
|
||||||
"upload": "Upload",
|
"upload": "Upload",
|
||||||
"leech": "Ліч",
|
"leech": "Leech",
|
||||||
"seed": "Сід"
|
"seed": "Seed"
|
||||||
},
|
},
|
||||||
"develancacheui": {
|
"develancacheui": {
|
||||||
"cachehitbytes": "Кеш-хіт байт",
|
"cachehitbytes": "Кеш-хіт байт",
|
||||||
@@ -234,33 +234,33 @@
|
|||||||
},
|
},
|
||||||
"downloadstation": {
|
"downloadstation": {
|
||||||
"download": "Download",
|
"download": "Download",
|
||||||
"upload": "Вивантаж.",
|
"upload": "Upload",
|
||||||
"leech": "Ліч",
|
"leech": "Leech",
|
||||||
"seed": "Сід"
|
"seed": "Seed"
|
||||||
},
|
},
|
||||||
"sonarr": {
|
"sonarr": {
|
||||||
"wanted": "Розшукується",
|
"wanted": "Розшукується",
|
||||||
"queued": "У черзі",
|
"queued": "У черзі",
|
||||||
"series": "Серіали",
|
"series": "Series",
|
||||||
"queue": "Черга",
|
"queue": "Queue",
|
||||||
"unknown": "Невідомо"
|
"unknown": "Unknown"
|
||||||
},
|
},
|
||||||
"radarr": {
|
"radarr": {
|
||||||
"wanted": "У бажаних",
|
"wanted": "Wanted",
|
||||||
"missing": "Відсутній",
|
"missing": "Відсутній",
|
||||||
"queued": "У черзі",
|
"queued": "Queued",
|
||||||
"movies": "Фільми",
|
"movies": "Movies",
|
||||||
"queue": "Черга",
|
"queue": "Queue",
|
||||||
"unknown": "Невідомо"
|
"unknown": "Unknown"
|
||||||
},
|
},
|
||||||
"lidarr": {
|
"lidarr": {
|
||||||
"wanted": "У бажаних",
|
"wanted": "Wanted",
|
||||||
"queued": "У черзі",
|
"queued": "Queued",
|
||||||
"artists": "Виконавці"
|
"artists": "Виконавці"
|
||||||
},
|
},
|
||||||
"readarr": {
|
"readarr": {
|
||||||
"wanted": "У бажаних",
|
"wanted": "Wanted",
|
||||||
"queued": "У черзі",
|
"queued": "Queued",
|
||||||
"books": "Книжки"
|
"books": "Книжки"
|
||||||
},
|
},
|
||||||
"bazarr": {
|
"bazarr": {
|
||||||
@@ -273,20 +273,20 @@
|
|||||||
"available": "Доступно"
|
"available": "Доступно"
|
||||||
},
|
},
|
||||||
"jellyseerr": {
|
"jellyseerr": {
|
||||||
"pending": "Очікує",
|
"pending": "Pending",
|
||||||
"approved": "Схвалено",
|
"approved": "Approved",
|
||||||
"available": "Доступно",
|
"available": "Available",
|
||||||
"issues": "Проблеми до усунення"
|
"issues": "Open Issues"
|
||||||
},
|
},
|
||||||
"overseerr": {
|
"overseerr": {
|
||||||
"pending": "Очікує",
|
"pending": "Pending",
|
||||||
"processing": "Обробка",
|
"processing": "Обробка",
|
||||||
"approved": "Схвалено",
|
"approved": "Approved",
|
||||||
"available": "Доступно"
|
"available": "Available"
|
||||||
},
|
},
|
||||||
"netalertx": {
|
"netalertx": {
|
||||||
"total": "Усього",
|
"total": "Total",
|
||||||
"connected": "З'єднано",
|
"connected": "Connected",
|
||||||
"new_devices": "Нові пристрої",
|
"new_devices": "Нові пристрої",
|
||||||
"down_alerts": "Сповіщення про падіння"
|
"down_alerts": "Сповіщення про падіння"
|
||||||
},
|
},
|
||||||
@@ -297,13 +297,13 @@
|
|||||||
"gravity": "Доменів в списку"
|
"gravity": "Доменів в списку"
|
||||||
},
|
},
|
||||||
"adguard": {
|
"adguard": {
|
||||||
"queries": "Запити",
|
"queries": "Queries",
|
||||||
"blocked": "Заблоковано",
|
"blocked": "Blocked",
|
||||||
"filtered": "Відфільтровано",
|
"filtered": "Відфільтровано",
|
||||||
"latency": "Затримка"
|
"latency": "Затримка"
|
||||||
},
|
},
|
||||||
"speedtest": {
|
"speedtest": {
|
||||||
"upload": "Вивантаж.",
|
"upload": "Upload",
|
||||||
"download": "Download",
|
"download": "Download",
|
||||||
"ping": "Ping"
|
"ping": "Ping"
|
||||||
},
|
},
|
||||||
@@ -759,8 +759,7 @@
|
|||||||
"ghostfolio": {
|
"ghostfolio": {
|
||||||
"gross_percent_today": "Today",
|
"gross_percent_today": "Today",
|
||||||
"gross_percent_1y": "Один рік",
|
"gross_percent_1y": "Один рік",
|
||||||
"gross_percent_max": "Весь час",
|
"gross_percent_max": "Весь час"
|
||||||
"net_worth": "Net Worth"
|
|
||||||
},
|
},
|
||||||
"audiobookshelf": {
|
"audiobookshelf": {
|
||||||
"podcasts": "Подкасти",
|
"podcasts": "Подкасти",
|
||||||
|
|||||||
@@ -759,8 +759,7 @@
|
|||||||
"ghostfolio": {
|
"ghostfolio": {
|
||||||
"gross_percent_today": "Today",
|
"gross_percent_today": "Today",
|
||||||
"gross_percent_1y": "One year",
|
"gross_percent_1y": "One year",
|
||||||
"gross_percent_max": "All time",
|
"gross_percent_max": "All time"
|
||||||
"net_worth": "Net Worth"
|
|
||||||
},
|
},
|
||||||
"audiobookshelf": {
|
"audiobookshelf": {
|
||||||
"podcasts": "Podcasts",
|
"podcasts": "Podcasts",
|
||||||
|
|||||||
@@ -759,8 +759,7 @@
|
|||||||
"ghostfolio": {
|
"ghostfolio": {
|
||||||
"gross_percent_today": "Today",
|
"gross_percent_today": "Today",
|
||||||
"gross_percent_1y": "一年",
|
"gross_percent_1y": "一年",
|
||||||
"gross_percent_max": "所有時間",
|
"gross_percent_max": "所有時間"
|
||||||
"net_worth": "Net Worth"
|
|
||||||
},
|
},
|
||||||
"audiobookshelf": {
|
"audiobookshelf": {
|
||||||
"podcasts": "播客",
|
"podcasts": "播客",
|
||||||
|
|||||||
750
public/locales/zh-CN/common.json
Normal file
750
public/locales/zh-CN/common.json
Normal file
@@ -0,0 +1,750 @@
|
|||||||
|
{
|
||||||
|
"widget": {
|
||||||
|
"missing_type": "缺少小部件类型:{{type}}",
|
||||||
|
"api_error": "API错误",
|
||||||
|
"status": "状态",
|
||||||
|
"information": "信息",
|
||||||
|
"url": "URL",
|
||||||
|
"raw_error": "原始错误",
|
||||||
|
"response_data": "返回数据"
|
||||||
|
},
|
||||||
|
"search": {
|
||||||
|
"placeholder": "搜索…"
|
||||||
|
},
|
||||||
|
"resources": {
|
||||||
|
"total": "总计",
|
||||||
|
"free": "空闲",
|
||||||
|
"used": "已用",
|
||||||
|
"load": "负载",
|
||||||
|
"cpu": "处理器",
|
||||||
|
"mem": "内存",
|
||||||
|
"temp": "温度",
|
||||||
|
"max": "最大",
|
||||||
|
"uptime": "运行时间",
|
||||||
|
"months": "月",
|
||||||
|
"days": "天",
|
||||||
|
"hours": "时",
|
||||||
|
"minutes": "分"
|
||||||
|
},
|
||||||
|
"docker": {
|
||||||
|
"rx": "接收",
|
||||||
|
"tx": "发送",
|
||||||
|
"mem": "内存",
|
||||||
|
"cpu": "处理器",
|
||||||
|
"offline": "离线",
|
||||||
|
"error": "错误",
|
||||||
|
"unknown": "未知问题",
|
||||||
|
"starting": "启动中",
|
||||||
|
"unhealthy": "不健康的",
|
||||||
|
"not_found": "未找到",
|
||||||
|
"running": "运行中",
|
||||||
|
"exited": "已退出",
|
||||||
|
"partial": "部分",
|
||||||
|
"healthy": "健康的"
|
||||||
|
},
|
||||||
|
"emby": {
|
||||||
|
"playing": "播放中",
|
||||||
|
"transcoding": "转码",
|
||||||
|
"bitrate": "比特率",
|
||||||
|
"no_active": "暂无播放",
|
||||||
|
"movies": "电影",
|
||||||
|
"series": "系列",
|
||||||
|
"episodes": "剧集",
|
||||||
|
"songs": "歌曲"
|
||||||
|
},
|
||||||
|
"tautulli": {
|
||||||
|
"playing": "播放中",
|
||||||
|
"transcoding": "转码",
|
||||||
|
"bitrate": "比特率",
|
||||||
|
"no_active": "暂无播放",
|
||||||
|
"plex_connection_error": "Check Plex Connection"
|
||||||
|
},
|
||||||
|
"rutorrent": {
|
||||||
|
"active": "活动中",
|
||||||
|
"upload": "上传",
|
||||||
|
"download": "下载"
|
||||||
|
},
|
||||||
|
"sonarr": {
|
||||||
|
"wanted": "想看",
|
||||||
|
"queued": "排队",
|
||||||
|
"series": "系列",
|
||||||
|
"queue": "Queue",
|
||||||
|
"unknown": "Unknown"
|
||||||
|
},
|
||||||
|
"radarr": {
|
||||||
|
"wanted": "想看",
|
||||||
|
"queued": "队列",
|
||||||
|
"movies": "电影",
|
||||||
|
"missing": "丢失",
|
||||||
|
"queue": "Queue",
|
||||||
|
"unknown": "Unknown"
|
||||||
|
},
|
||||||
|
"readarr": {
|
||||||
|
"wanted": "订阅",
|
||||||
|
"queued": "队列",
|
||||||
|
"books": "书籍"
|
||||||
|
},
|
||||||
|
"ombi": {
|
||||||
|
"pending": "待办的",
|
||||||
|
"approved": "已批准",
|
||||||
|
"available": "可用的"
|
||||||
|
},
|
||||||
|
"jellyseerr": {
|
||||||
|
"pending": "待办的",
|
||||||
|
"approved": "得到正式认可的",
|
||||||
|
"available": "可用的"
|
||||||
|
},
|
||||||
|
"pihole": {
|
||||||
|
"queries": "查询",
|
||||||
|
"blocked": "阻止",
|
||||||
|
"gravity": "重力",
|
||||||
|
"blocked_percent": "拦截 %"
|
||||||
|
},
|
||||||
|
"speedtest": {
|
||||||
|
"upload": "上传",
|
||||||
|
"download": "下载",
|
||||||
|
"ping": "ping"
|
||||||
|
},
|
||||||
|
"portainer": {
|
||||||
|
"running": "运行中",
|
||||||
|
"stopped": "停止",
|
||||||
|
"total": "总计"
|
||||||
|
},
|
||||||
|
"traefik": {
|
||||||
|
"routers": "路由器",
|
||||||
|
"services": "服务",
|
||||||
|
"middleware": "中间件"
|
||||||
|
},
|
||||||
|
"npm": {
|
||||||
|
"enabled": "已启用",
|
||||||
|
"disabled": "禁用",
|
||||||
|
"total": "全部的"
|
||||||
|
},
|
||||||
|
"weather": {
|
||||||
|
"current": "当前定位",
|
||||||
|
"allow": "点击并允许",
|
||||||
|
"updating": "更新中",
|
||||||
|
"wait": "请稍候"
|
||||||
|
},
|
||||||
|
"overseerr": {
|
||||||
|
"pending": "待办",
|
||||||
|
"approved": "已批准",
|
||||||
|
"available": "可用",
|
||||||
|
"processing": "处理中"
|
||||||
|
},
|
||||||
|
"sabnzbd": {
|
||||||
|
"rate": "速率",
|
||||||
|
"queue": "队列",
|
||||||
|
"timeleft": "剩余时间"
|
||||||
|
},
|
||||||
|
"nzbget": {
|
||||||
|
"rate": "速率",
|
||||||
|
"remaining": "剩余",
|
||||||
|
"downloaded": "下载"
|
||||||
|
},
|
||||||
|
"coinmarketcap": {
|
||||||
|
"configure": "配置一个或多个需要追踪的加密",
|
||||||
|
"1hour": "1小时",
|
||||||
|
"1day": "1天",
|
||||||
|
"7days": "7天",
|
||||||
|
"30days": "30天"
|
||||||
|
},
|
||||||
|
"gotify": {
|
||||||
|
"apps": "应用",
|
||||||
|
"clients": "客户端",
|
||||||
|
"messages": "信息"
|
||||||
|
},
|
||||||
|
"prowlarr": {
|
||||||
|
"enableIndexers": "索引器",
|
||||||
|
"numberOfGrabs": "抓取",
|
||||||
|
"numberOfQueries": "查询",
|
||||||
|
"numberOfFailGrabs": "抓取失败",
|
||||||
|
"numberOfFailQueries": "查询失败"
|
||||||
|
},
|
||||||
|
"transmission": {
|
||||||
|
"download": "下载",
|
||||||
|
"upload": "上传",
|
||||||
|
"leech": "下载中",
|
||||||
|
"seed": "做种"
|
||||||
|
},
|
||||||
|
"jackett": {
|
||||||
|
"configured": "已配置",
|
||||||
|
"errored": "出错了"
|
||||||
|
},
|
||||||
|
"bazarr": {
|
||||||
|
"missingEpisodes": "缺少的剧集",
|
||||||
|
"missingMovies": "缺少的电影"
|
||||||
|
},
|
||||||
|
"lidarr": {
|
||||||
|
"wanted": "订阅",
|
||||||
|
"queued": "队列",
|
||||||
|
"artists": "Artists"
|
||||||
|
},
|
||||||
|
"adguard": {
|
||||||
|
"queries": "查询",
|
||||||
|
"blocked": "阻止",
|
||||||
|
"filtered": "过滤",
|
||||||
|
"latency": "延迟"
|
||||||
|
},
|
||||||
|
"qbittorrent": {
|
||||||
|
"download": "下载",
|
||||||
|
"upload": "上传",
|
||||||
|
"leech": "下载中",
|
||||||
|
"seed": "做种"
|
||||||
|
},
|
||||||
|
"mastodon": {
|
||||||
|
"user_count": "用户",
|
||||||
|
"status_count": "帖子",
|
||||||
|
"domain_count": "域"
|
||||||
|
},
|
||||||
|
"strelaysrv": {
|
||||||
|
"numActiveSessions": "会话",
|
||||||
|
"dataRelayed": "中继",
|
||||||
|
"numConnections": "连接",
|
||||||
|
"transferRate": "速度"
|
||||||
|
},
|
||||||
|
"authentik": {
|
||||||
|
"users": "用户",
|
||||||
|
"loginsLast24H": "登录 (24h)",
|
||||||
|
"failedLoginsLast24H": "登录失败 (24h)"
|
||||||
|
},
|
||||||
|
"proxmox": {
|
||||||
|
"mem": "内存",
|
||||||
|
"cpu": "处理器",
|
||||||
|
"lxc": "容器",
|
||||||
|
"vms": "虚拟机"
|
||||||
|
},
|
||||||
|
"unifi": {
|
||||||
|
"users": "用户",
|
||||||
|
"uptime": "系统运行时间",
|
||||||
|
"days": "天",
|
||||||
|
"wan": "广域网",
|
||||||
|
"lan_users": "局域网用户",
|
||||||
|
"wlan_users": "无线局域网用户",
|
||||||
|
"up": "向上",
|
||||||
|
"down": "向下",
|
||||||
|
"wait": "请稍候",
|
||||||
|
"lan": "局域网",
|
||||||
|
"wlan": "无线局域网",
|
||||||
|
"devices": "设备",
|
||||||
|
"lan_devices": "局域网设备",
|
||||||
|
"wlan_devices": "无线局域网设备",
|
||||||
|
"empty_data": "子系统状态未知"
|
||||||
|
},
|
||||||
|
"plex": {
|
||||||
|
"streams": "活动流",
|
||||||
|
"movies": "电影",
|
||||||
|
"tv": "电视节目",
|
||||||
|
"albums": "专辑"
|
||||||
|
},
|
||||||
|
"glances": {
|
||||||
|
"cpu": "处理器",
|
||||||
|
"wait": "请稍等",
|
||||||
|
"temp": "温度",
|
||||||
|
"uptime": "运行时间",
|
||||||
|
"days": "天",
|
||||||
|
"hours": "时",
|
||||||
|
"load": "Load",
|
||||||
|
"warn": "Warn",
|
||||||
|
"total": "Total",
|
||||||
|
"free": "Free",
|
||||||
|
"used": "Used",
|
||||||
|
"crit": "Crit",
|
||||||
|
"read": "Read",
|
||||||
|
"write": "Write",
|
||||||
|
"gpu": "GPU",
|
||||||
|
"mem": "Mem",
|
||||||
|
"swap": "Swap",
|
||||||
|
"_temp": "Temp"
|
||||||
|
},
|
||||||
|
"changedetectionio": {
|
||||||
|
"totalObserved": "观察到的总数",
|
||||||
|
"diffsDetected": "检测到差异"
|
||||||
|
},
|
||||||
|
"wmo": {
|
||||||
|
"0-day": "晴天",
|
||||||
|
"0-night": "晴朗",
|
||||||
|
"1-day": "主要是晴天",
|
||||||
|
"3-day": "阴天",
|
||||||
|
"3-night": "阴天",
|
||||||
|
"45-day": "有雾",
|
||||||
|
"48-day": "有雾",
|
||||||
|
"51-day": "小雨",
|
||||||
|
"73-night": "中雪",
|
||||||
|
"75-day": "大雪",
|
||||||
|
"1-night": "大部晴朗",
|
||||||
|
"2-day": "多云",
|
||||||
|
"2-night": "多云",
|
||||||
|
"45-night": "有雾",
|
||||||
|
"48-night": "有雾",
|
||||||
|
"51-night": "小雨",
|
||||||
|
"53-day": "小雨",
|
||||||
|
"53-night": "小雨",
|
||||||
|
"55-day": "毛毛雨",
|
||||||
|
"55-night": "毛毛雨",
|
||||||
|
"56-day": "小冻毛雨",
|
||||||
|
"56-night": "小冻毛雨",
|
||||||
|
"57-day": "冻毛雨",
|
||||||
|
"57-night": "冻毛雨",
|
||||||
|
"61-day": "小雨",
|
||||||
|
"61-night": "小雨",
|
||||||
|
"63-day": "雨",
|
||||||
|
"63-night": "雨",
|
||||||
|
"65-day": "大雨",
|
||||||
|
"65-night": "大雨",
|
||||||
|
"66-day": "冻雨",
|
||||||
|
"66-night": "冻雨",
|
||||||
|
"67-day": "冻雨",
|
||||||
|
"67-night": "冻雨",
|
||||||
|
"71-day": "小雪",
|
||||||
|
"71-night": "小雪",
|
||||||
|
"73-day": "中雪",
|
||||||
|
"75-night": "大雪",
|
||||||
|
"77-day": "雪粒",
|
||||||
|
"77-night": "雪粒",
|
||||||
|
"80-day": "微阵雨",
|
||||||
|
"80-night": "微阵雨",
|
||||||
|
"81-day": "阵雨",
|
||||||
|
"81-night": "阵雨",
|
||||||
|
"82-day": "强阵雨",
|
||||||
|
"82-night": "强阵雨",
|
||||||
|
"85-day": "阵雪",
|
||||||
|
"85-night": "阵雪",
|
||||||
|
"86-day": "阵雪",
|
||||||
|
"86-night": "阵雪",
|
||||||
|
"95-day": "雷雨",
|
||||||
|
"95-night": "雷雨",
|
||||||
|
"96-day": "雷雨伴随冰雹",
|
||||||
|
"96-night": "雷雨伴随冰雹",
|
||||||
|
"99-day": "雷雨伴随冰雹",
|
||||||
|
"99-night": "雷雨伴随冰雹"
|
||||||
|
},
|
||||||
|
"quicklaunch": {
|
||||||
|
"bookmark": "书签",
|
||||||
|
"service": "服务",
|
||||||
|
"search": "搜索",
|
||||||
|
"custom": "自定",
|
||||||
|
"visit": "访问",
|
||||||
|
"url": "网址"
|
||||||
|
},
|
||||||
|
"homebridge": {
|
||||||
|
"available_update": "System",
|
||||||
|
"updates": "更新",
|
||||||
|
"update_available": "有可用的更新",
|
||||||
|
"up_to_date": "Up to Date",
|
||||||
|
"child_bridges": "子网桥",
|
||||||
|
"child_bridges_status": "{{ok}}/{{total}}",
|
||||||
|
"up": "Up",
|
||||||
|
"pending": "待定中",
|
||||||
|
"down": "Down"
|
||||||
|
},
|
||||||
|
"autobrr": {
|
||||||
|
"approvedPushes": "已核准",
|
||||||
|
"rejectedPushes": "拒绝",
|
||||||
|
"filters": "Filters",
|
||||||
|
"indexers": "索引器"
|
||||||
|
},
|
||||||
|
"watchtower": {
|
||||||
|
"containers_scanned": "已扫描",
|
||||||
|
"containers_updated": "已升级",
|
||||||
|
"containers_failed": "失败"
|
||||||
|
},
|
||||||
|
"tubearchivist": {
|
||||||
|
"downloads": "队列",
|
||||||
|
"videos": "影片",
|
||||||
|
"channels": "频道",
|
||||||
|
"playlists": "播放清单"
|
||||||
|
},
|
||||||
|
"truenas": {
|
||||||
|
"load": "系统负载",
|
||||||
|
"uptime": "运行时间",
|
||||||
|
"alerts": "警报",
|
||||||
|
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
|
||||||
|
},
|
||||||
|
"navidrome": {
|
||||||
|
"nothing_streaming": "暂无播放",
|
||||||
|
"please_wait": "请等待"
|
||||||
|
},
|
||||||
|
"pyload": {
|
||||||
|
"speed": "速度",
|
||||||
|
"active": "Active",
|
||||||
|
"queue": "队列",
|
||||||
|
"total": "Total"
|
||||||
|
},
|
||||||
|
"gluetun": {
|
||||||
|
"public_ip": "公网 IP",
|
||||||
|
"region": "区域",
|
||||||
|
"country": "国家"
|
||||||
|
},
|
||||||
|
"hdhomerun": {
|
||||||
|
"channels": "频道",
|
||||||
|
"hd": "HD"
|
||||||
|
},
|
||||||
|
"ping": {
|
||||||
|
"error": "错误",
|
||||||
|
"ping": "Ping",
|
||||||
|
"up": "Up",
|
||||||
|
"down": "Down"
|
||||||
|
},
|
||||||
|
"scrutiny": {
|
||||||
|
"passed": "通过",
|
||||||
|
"failed": "失败",
|
||||||
|
"unknown": "未知的"
|
||||||
|
},
|
||||||
|
"paperlessngx": {
|
||||||
|
"inbox": "收件箱",
|
||||||
|
"total": "Total"
|
||||||
|
},
|
||||||
|
"deluge": {
|
||||||
|
"download": "下载",
|
||||||
|
"upload": "上传",
|
||||||
|
"leech": "下载中",
|
||||||
|
"seed": "做种"
|
||||||
|
},
|
||||||
|
"flood": {
|
||||||
|
"leech": "下载中",
|
||||||
|
"download": "下载",
|
||||||
|
"upload": "上传",
|
||||||
|
"seed": "做种"
|
||||||
|
},
|
||||||
|
"tdarr": {
|
||||||
|
"saved": "已保存",
|
||||||
|
"queue": "队列",
|
||||||
|
"processed": "已处理",
|
||||||
|
"errored": "出错"
|
||||||
|
},
|
||||||
|
"miniflux": {
|
||||||
|
"read": "已读",
|
||||||
|
"unread": "未读"
|
||||||
|
},
|
||||||
|
"nextdns": {
|
||||||
|
"wait": "请稍候",
|
||||||
|
"no_devices": "没有接收到设备数据"
|
||||||
|
},
|
||||||
|
"common": {
|
||||||
|
"bibyterate": "{{value, rate(bits: false; binary: true)}}",
|
||||||
|
"bibitrate": "{{value, rate(bits: true; binary: true)}}"
|
||||||
|
},
|
||||||
|
"omada": {
|
||||||
|
"connectedAp": "连接中的AP",
|
||||||
|
"activeUser": "活跃设备",
|
||||||
|
"alerts": "警报",
|
||||||
|
"connectedGateway": "已连接网关",
|
||||||
|
"connectedSwitches": "已连接开关"
|
||||||
|
},
|
||||||
|
"downloadstation": {
|
||||||
|
"download": "下载",
|
||||||
|
"upload": "上传",
|
||||||
|
"leech": "下载中",
|
||||||
|
"seed": "做种"
|
||||||
|
},
|
||||||
|
"mikrotik": {
|
||||||
|
"cpuLoad": "处理器",
|
||||||
|
"memoryUsed": "内存",
|
||||||
|
"uptime": "运行时间",
|
||||||
|
"numberOfLeases": "租约"
|
||||||
|
},
|
||||||
|
"xteve": {
|
||||||
|
"streams_all": "所有播放活动",
|
||||||
|
"streams_active": "正在播放",
|
||||||
|
"streams_xepg": "XEPG 频道"
|
||||||
|
},
|
||||||
|
"opnsense": {
|
||||||
|
"cpu": "处理器",
|
||||||
|
"memory": "内存",
|
||||||
|
"wanUpload": "WAN上传",
|
||||||
|
"wanDownload": "WAN下载"
|
||||||
|
},
|
||||||
|
"moonraker": {
|
||||||
|
"printer_state": "打印机状态",
|
||||||
|
"print_status": "打印状态",
|
||||||
|
"print_progress": "打印进程",
|
||||||
|
"layers": "层"
|
||||||
|
},
|
||||||
|
"medusa": {
|
||||||
|
"wanted": "关注中",
|
||||||
|
"queued": "已加入队列",
|
||||||
|
"series": "Series"
|
||||||
|
},
|
||||||
|
"octoprint": {
|
||||||
|
"printer_state": "打印机状态",
|
||||||
|
"temp_tool": "喷头温度",
|
||||||
|
"temp_bed": "平台温度",
|
||||||
|
"job_completion": "完成度"
|
||||||
|
},
|
||||||
|
"cloudflared": {
|
||||||
|
"origin_ip": "源IP",
|
||||||
|
"status": "状态"
|
||||||
|
},
|
||||||
|
"proxmoxbackupserver": {
|
||||||
|
"datastore_usage": "数据存储",
|
||||||
|
"failed_tasks_24h": "24h失败任务",
|
||||||
|
"cpu_usage": "处理器",
|
||||||
|
"memory_usage": "内存"
|
||||||
|
},
|
||||||
|
"immich": {
|
||||||
|
"users": "使用者",
|
||||||
|
"photos": "照片",
|
||||||
|
"videos": "影片",
|
||||||
|
"storage": "储存空间"
|
||||||
|
},
|
||||||
|
"uptimekuma": {
|
||||||
|
"up": "在线网站",
|
||||||
|
"down": "离线网站",
|
||||||
|
"uptime": "运行时间",
|
||||||
|
"incident": "严重事件",
|
||||||
|
"m": "m"
|
||||||
|
},
|
||||||
|
"komga": {
|
||||||
|
"libraries": "书库",
|
||||||
|
"series": "系列",
|
||||||
|
"books": "书刊"
|
||||||
|
},
|
||||||
|
"mylar": {
|
||||||
|
"series": "系列",
|
||||||
|
"issues": "问题",
|
||||||
|
"wanted": "关注中"
|
||||||
|
},
|
||||||
|
"photoprism": {
|
||||||
|
"albums": "相册",
|
||||||
|
"photos": "照片",
|
||||||
|
"videos": "视频",
|
||||||
|
"people": "人物"
|
||||||
|
},
|
||||||
|
"diskstation": {
|
||||||
|
"uptime": "运行时间",
|
||||||
|
"volumeAvailable": "剩余存储",
|
||||||
|
"days": "天"
|
||||||
|
},
|
||||||
|
"fileflows": {
|
||||||
|
"queue": "队列",
|
||||||
|
"processing": "处理中",
|
||||||
|
"processed": "已处理",
|
||||||
|
"time": "时间"
|
||||||
|
},
|
||||||
|
"grafana": {
|
||||||
|
"totalalerts": "警报总数",
|
||||||
|
"dashboards": "控制面板",
|
||||||
|
"datasources": "数据来源",
|
||||||
|
"alertstriggered": "触发的警报"
|
||||||
|
},
|
||||||
|
"nextcloud": {
|
||||||
|
"cpuload": "处理器",
|
||||||
|
"memoryusage": "内存",
|
||||||
|
"freespace": "剩余空间",
|
||||||
|
"activeusers": "活跃用户",
|
||||||
|
"numfiles": "Files",
|
||||||
|
"numshares": "共享项目"
|
||||||
|
},
|
||||||
|
"kopia": {
|
||||||
|
"status": "状态",
|
||||||
|
"size": "大小",
|
||||||
|
"lastrun": "最后运行",
|
||||||
|
"nextrun": "下次运行",
|
||||||
|
"failed": "失败"
|
||||||
|
},
|
||||||
|
"unmanic": {
|
||||||
|
"active_workers": "在线工作节点",
|
||||||
|
"total_workers": "工作节点总数",
|
||||||
|
"records_total": "队列长度"
|
||||||
|
},
|
||||||
|
"healthchecks": {
|
||||||
|
"new": "新建立",
|
||||||
|
"up": "在线的",
|
||||||
|
"grace": "延缓中",
|
||||||
|
"down": "离线",
|
||||||
|
"paused": "暂停",
|
||||||
|
"status": "状态",
|
||||||
|
"last_ping": "上次检查",
|
||||||
|
"never": "尚未检查"
|
||||||
|
},
|
||||||
|
"pterodactyl": {
|
||||||
|
"servers": "服务器",
|
||||||
|
"nodes": "节点"
|
||||||
|
},
|
||||||
|
"prometheus": {
|
||||||
|
"targets_up": "目标上线",
|
||||||
|
"targets_down": "目标在线",
|
||||||
|
"targets_total": "总目标"
|
||||||
|
},
|
||||||
|
"minecraft": {
|
||||||
|
"players": "玩家",
|
||||||
|
"version": "版本",
|
||||||
|
"status": "状态",
|
||||||
|
"up": "在线的",
|
||||||
|
"down": "离线"
|
||||||
|
},
|
||||||
|
"ghostfolio": {
|
||||||
|
"gross_percent_today": "今天",
|
||||||
|
"gross_percent_1y": "一年",
|
||||||
|
"gross_percent_max": "所有时间"
|
||||||
|
},
|
||||||
|
"audiobookshelf": {
|
||||||
|
"podcasts": "播客",
|
||||||
|
"books": "图书",
|
||||||
|
"podcastsDuration": "持续时间",
|
||||||
|
"booksDuration": "持续时间"
|
||||||
|
},
|
||||||
|
"homeassistant": {
|
||||||
|
"people_home": "房间",
|
||||||
|
"lights_on": "照明开",
|
||||||
|
"switches_on": "开关开"
|
||||||
|
},
|
||||||
|
"freshrss": {
|
||||||
|
"subscriptions": "订阅",
|
||||||
|
"unread": "未读"
|
||||||
|
},
|
||||||
|
"channelsdvrserver": {
|
||||||
|
"shows": "节目",
|
||||||
|
"recordings": "录像",
|
||||||
|
"scheduled": "已计划的",
|
||||||
|
"passes": "通行证"
|
||||||
|
},
|
||||||
|
"whatsupdocker": {
|
||||||
|
"monitoring": "监测中",
|
||||||
|
"updates": "可更新"
|
||||||
|
},
|
||||||
|
"tailscale": {
|
||||||
|
"address": "地址",
|
||||||
|
"expires": "失效",
|
||||||
|
"never": "从不",
|
||||||
|
"last_seen": "最后上线",
|
||||||
|
"days": "{{number}}d",
|
||||||
|
"hours": "{{number}}h",
|
||||||
|
"minutes": "{{number}}m",
|
||||||
|
"seconds": "{{number}}s",
|
||||||
|
"ago": "{{value}} 以前",
|
||||||
|
"now": "现在",
|
||||||
|
"years": "{{number}}年",
|
||||||
|
"weeks": "{{number}}周"
|
||||||
|
},
|
||||||
|
"qnap": {
|
||||||
|
"cpuUsage": "处理器",
|
||||||
|
"memUsage": "内存",
|
||||||
|
"systemTempC": "系统温度",
|
||||||
|
"poolUsage": "存储池",
|
||||||
|
"volumeUsage": "Volume Usage",
|
||||||
|
"invalid": "Invalid"
|
||||||
|
},
|
||||||
|
"pfsense": {
|
||||||
|
"load": "平均负载",
|
||||||
|
"memory": "内存",
|
||||||
|
"wanStatus": "WAN 状态",
|
||||||
|
"up": "上传",
|
||||||
|
"down": "下载",
|
||||||
|
"temp": "温度",
|
||||||
|
"disk": "磁盘",
|
||||||
|
"wanIP": "WAN IP"
|
||||||
|
},
|
||||||
|
"caddy": {
|
||||||
|
"upstreams": "上游",
|
||||||
|
"requests": "当前请求",
|
||||||
|
"requests_failed": "失败请求"
|
||||||
|
},
|
||||||
|
"evcc": {
|
||||||
|
"pv_power": "正式环境",
|
||||||
|
"battery_soc": "Battery",
|
||||||
|
"grid_power": "Grid",
|
||||||
|
"home_power": "Consumption",
|
||||||
|
"charge_power": "Charger",
|
||||||
|
"watt_hour": "Wh"
|
||||||
|
},
|
||||||
|
"pialert": {
|
||||||
|
"total": "Total",
|
||||||
|
"connected": "Connected",
|
||||||
|
"new_devices": "New Devices",
|
||||||
|
"down_alerts": "Down Alerts"
|
||||||
|
},
|
||||||
|
"jdownloader": {
|
||||||
|
"downloadCount": "Queue Count",
|
||||||
|
"downloadSpeed": "Download Speed",
|
||||||
|
"downloadBytesRemaining": "Remaining",
|
||||||
|
"downloadTotalBytes": "Size"
|
||||||
|
},
|
||||||
|
"kavita": {
|
||||||
|
"seriesCount": "系列",
|
||||||
|
"totalFiles": "文件"
|
||||||
|
},
|
||||||
|
"gamedig": {
|
||||||
|
"name": "Name",
|
||||||
|
"map": "Map",
|
||||||
|
"currentPlayers": "Current players",
|
||||||
|
"players": "Players",
|
||||||
|
"maxPlayers": "Max players",
|
||||||
|
"bots": "Bots",
|
||||||
|
"ping": "Ping",
|
||||||
|
"status": "Status",
|
||||||
|
"online": "Online",
|
||||||
|
"offline": "Offline"
|
||||||
|
},
|
||||||
|
"azuredevops": {
|
||||||
|
"canceled": "Canceled",
|
||||||
|
"inProgress": "In Progress",
|
||||||
|
"result": "Result",
|
||||||
|
"status": "Status",
|
||||||
|
"buildId": "Build ID",
|
||||||
|
"succeeded": "Succeeded",
|
||||||
|
"notStarted": "Not Started",
|
||||||
|
"failed": "Failed",
|
||||||
|
"totalPrs": "Total PRs",
|
||||||
|
"myPrs": "My PRs",
|
||||||
|
"approved": "Approved"
|
||||||
|
},
|
||||||
|
"urbackup": {
|
||||||
|
"ok": "Ok",
|
||||||
|
"errored": "Errors",
|
||||||
|
"noRecent": "Out of Date",
|
||||||
|
"totalUsed": "Used Storage"
|
||||||
|
},
|
||||||
|
"openmediavault": {
|
||||||
|
"downloading": "Downloading",
|
||||||
|
"total": "Total",
|
||||||
|
"running": "Running",
|
||||||
|
"stopped": "Stopped",
|
||||||
|
"passed": "Passed",
|
||||||
|
"failed": "Failed"
|
||||||
|
},
|
||||||
|
"mealie": {
|
||||||
|
"recipes": "Recipes",
|
||||||
|
"users": "Users",
|
||||||
|
"categories": "Categories",
|
||||||
|
"tags": "Tags"
|
||||||
|
},
|
||||||
|
"atsumeru": {
|
||||||
|
"series": "Series",
|
||||||
|
"archives": "Archives",
|
||||||
|
"chapters": "Chapters",
|
||||||
|
"categories": "Categories"
|
||||||
|
},
|
||||||
|
"calibreweb": {
|
||||||
|
"books": "书籍",
|
||||||
|
"authors": "作者",
|
||||||
|
"categories": "分类",
|
||||||
|
"series": "丛书"
|
||||||
|
},
|
||||||
|
"uptimerobot": {
|
||||||
|
"status": "Status",
|
||||||
|
"uptime": "Uptime",
|
||||||
|
"lastDown": "Last Downtime",
|
||||||
|
"downDuration": "Downtime Duration",
|
||||||
|
"sitesUp": "Sites Up",
|
||||||
|
"sitesDown": "Sites Down",
|
||||||
|
"paused": "Paused",
|
||||||
|
"notyetchecked": "Not Yet Checked",
|
||||||
|
"up": "Up",
|
||||||
|
"seemsdown": "Seems Down",
|
||||||
|
"down": "Down",
|
||||||
|
"unknown": "Unknown"
|
||||||
|
},
|
||||||
|
"opendtu": {
|
||||||
|
"relativePower": "Power %",
|
||||||
|
"yieldDay": "Today",
|
||||||
|
"limit": "Limit",
|
||||||
|
"absolutePower": "Power"
|
||||||
|
},
|
||||||
|
"calendar": {
|
||||||
|
"physicalRelease": "Physical release",
|
||||||
|
"inCinemas": "In cinemas",
|
||||||
|
"digitalRelease": "Digital release"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -759,8 +759,7 @@
|
|||||||
"ghostfolio": {
|
"ghostfolio": {
|
||||||
"gross_percent_today": "Today",
|
"gross_percent_today": "Today",
|
||||||
"gross_percent_1y": "一年",
|
"gross_percent_1y": "一年",
|
||||||
"gross_percent_max": "所有时间",
|
"gross_percent_max": "所有时间"
|
||||||
"net_worth": "Net Worth"
|
|
||||||
},
|
},
|
||||||
"audiobookshelf": {
|
"audiobookshelf": {
|
||||||
"podcasts": "播客",
|
"podcasts": "播客",
|
||||||
|
|||||||
@@ -759,8 +759,7 @@
|
|||||||
"ghostfolio": {
|
"ghostfolio": {
|
||||||
"gross_percent_today": "Today",
|
"gross_percent_today": "Today",
|
||||||
"gross_percent_1y": "一年",
|
"gross_percent_1y": "一年",
|
||||||
"gross_percent_max": "所有時間",
|
"gross_percent_max": "所有時間"
|
||||||
"net_worth": "Net Worth"
|
|
||||||
},
|
},
|
||||||
"audiobookshelf": {
|
"audiobookshelf": {
|
||||||
"podcasts": "Podcasts",
|
"podcasts": "Podcasts",
|
||||||
|
|||||||
@@ -14,8 +14,6 @@ export default function Error({ error }) {
|
|||||||
|
|
||||||
if (typeof error === "string") {
|
if (typeof error === "string") {
|
||||||
error = { message: error }; // eslint-disable-line no-param-reassign
|
error = { message: error }; // eslint-disable-line no-param-reassign
|
||||||
} else if (typeof error === "number") {
|
|
||||||
error = { message: `Error ${error}` }; // eslint-disable-line no-param-reassign
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (error?.data?.error) {
|
if (error?.data?.error) {
|
||||||
|
|||||||
@@ -41,17 +41,6 @@ const Version = dynamic(() => import("components/version"), {
|
|||||||
|
|
||||||
const rightAlignedWidgets = ["weatherapi", "openweathermap", "weather", "openmeteo", "search", "datetime"];
|
const rightAlignedWidgets = ["weatherapi", "openweathermap", "weather", "openmeteo", "search", "datetime"];
|
||||||
|
|
||||||
// Normalize language codes so older config values like zh-CN still point to Crowdin-provided ones
|
|
||||||
const LANGUAGE_ALIASES = {
|
|
||||||
"zh-cn": "zh-Hans",
|
|
||||||
};
|
|
||||||
|
|
||||||
const normalizeLanguage = (language) => {
|
|
||||||
if (!language) return "en";
|
|
||||||
const alias = LANGUAGE_ALIASES[language.toLowerCase()];
|
|
||||||
return alias || language;
|
|
||||||
};
|
|
||||||
|
|
||||||
export async function getStaticProps() {
|
export async function getStaticProps() {
|
||||||
let logger;
|
let logger;
|
||||||
try {
|
try {
|
||||||
@@ -61,7 +50,6 @@ export async function getStaticProps() {
|
|||||||
const services = await servicesResponse();
|
const services = await servicesResponse();
|
||||||
const bookmarks = await bookmarksResponse();
|
const bookmarks = await bookmarksResponse();
|
||||||
const widgets = await widgetsResponse();
|
const widgets = await widgetsResponse();
|
||||||
const language = normalizeLanguage(settings.language);
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
props: {
|
props: {
|
||||||
@@ -72,7 +60,7 @@ export async function getStaticProps() {
|
|||||||
"/api/widgets": widgets,
|
"/api/widgets": widgets,
|
||||||
"/api/hash": false,
|
"/api/hash": false,
|
||||||
},
|
},
|
||||||
...(await serverSideTranslations(language)),
|
...(await serverSideTranslations(settings.language ?? "en")),
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
@@ -230,9 +218,8 @@ function Home({ initialSettings }) {
|
|||||||
);
|
);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const language = normalizeLanguage(settings.language);
|
if (settings.language) {
|
||||||
if (language) {
|
i18n.changeLanguage(settings.language);
|
||||||
i18n.changeLanguage(language);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (settings.theme && theme !== settings.theme) {
|
if (settings.theme && theme !== settings.theme) {
|
||||||
@@ -413,7 +400,6 @@ function Home({ initialSettings }) {
|
|||||||
"A highly customizable homepage (or startpage / application dashboard) with Docker and service API integrations."
|
"A highly customizable homepage (or startpage / application dashboard) with Docker and service API integrations."
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
{settings.disableIndexing && <meta name="robots" content="noindex, nofollow" />}
|
|
||||||
{settings.base && <base href={settings.base} />}
|
{settings.base && <base href={settings.base} />}
|
||||||
{settings.favicon ? (
|
{settings.favicon ? (
|
||||||
<>
|
<>
|
||||||
|
|||||||
@@ -1,19 +0,0 @@
|
|||||||
import { getSettings } from "utils/config/config";
|
|
||||||
|
|
||||||
export async function getServerSideProps({ res }) {
|
|
||||||
const settings = getSettings();
|
|
||||||
const content = ["User-agent: *", !!settings.disableIndexing ? "Disallow: /" : "Allow: /"].join("\n");
|
|
||||||
|
|
||||||
res.setHeader("Content-Type", "text/plain");
|
|
||||||
res.write(content);
|
|
||||||
res.end();
|
|
||||||
|
|
||||||
return {
|
|
||||||
props: {},
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
export default function RobotsTxt() {
|
|
||||||
// placeholder component
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
@@ -279,9 +279,6 @@ export function cleanServiceGroups(groups) {
|
|||||||
slugs,
|
slugs,
|
||||||
symbols,
|
symbols,
|
||||||
|
|
||||||
// crowdsec
|
|
||||||
limit24h,
|
|
||||||
|
|
||||||
// customapi
|
// customapi
|
||||||
mappings,
|
mappings,
|
||||||
display,
|
display,
|
||||||
@@ -476,10 +473,6 @@ export function cleanServiceGroups(groups) {
|
|||||||
if (defaultinterval) widget.defaultinterval = defaultinterval;
|
if (defaultinterval) widget.defaultinterval = defaultinterval;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (limit24h !== undefined) {
|
|
||||||
widget.limit24h = !!limit24h;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (type === "docker") {
|
if (type === "docker") {
|
||||||
if (server) widget.server = server;
|
if (server) widget.server = server;
|
||||||
if (container) widget.container = container;
|
if (container) widget.container = container;
|
||||||
@@ -563,7 +556,6 @@ export function cleanServiceGroups(groups) {
|
|||||||
"speedtest",
|
"speedtest",
|
||||||
"wgeasy",
|
"wgeasy",
|
||||||
"grafana",
|
"grafana",
|
||||||
"gluetun",
|
|
||||||
].includes(type)
|
].includes(type)
|
||||||
) {
|
) {
|
||||||
if (version) widget.version = parseInt(version, 10);
|
if (version) widget.version = parseInt(version, 10);
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ export default function Component({ service }) {
|
|||||||
|
|
||||||
const { widget } = service;
|
const { widget } = service;
|
||||||
|
|
||||||
const { data: alerts, error: alertsError } = useWidgetAPI(widget, !!widget.limit24h ? "alerts24h" : "alerts");
|
const { data: alerts, error: alertsError } = useWidgetAPI(widget, "alerts");
|
||||||
const { data: bans, error: bansError } = useWidgetAPI(widget, "bans");
|
const { data: bans, error: bansError } = useWidgetAPI(widget, "bans");
|
||||||
|
|
||||||
if (alertsError || bansError) {
|
if (alertsError || bansError) {
|
||||||
|
|||||||
@@ -9,9 +9,6 @@ const widget = {
|
|||||||
alerts: {
|
alerts: {
|
||||||
endpoint: "alerts",
|
endpoint: "alerts",
|
||||||
},
|
},
|
||||||
alerts24h: {
|
|
||||||
endpoint: "alerts?limit=0&since=24h",
|
|
||||||
},
|
|
||||||
bans: {
|
bans: {
|
||||||
endpoint: "alerts?decision_type=ban&origin=crowdsec&has_active_decision=1",
|
endpoint: "alerts?decision_type=ban&origin=crowdsec&has_active_decision=1",
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -166,11 +166,7 @@ export default function Component({ service }) {
|
|||||||
refreshInterval: Math.max(1000, refreshInterval),
|
refreshInterval: Math.max(1000, refreshInterval),
|
||||||
});
|
});
|
||||||
|
|
||||||
// if mappings includes an error field and the data contains an error field then show data even if there is an error
|
if (customError) {
|
||||||
const mappingsIncludesError = Array.isArray(mappings) && mappings.find((mapping) => mapping.field === "error");
|
|
||||||
const errorIsData = customData && typeof customData === "object" && "error" in customData;
|
|
||||||
|
|
||||||
if (customError && !(mappingsIncludesError && errorIsData)) {
|
|
||||||
return <Container service={service} error={customError} />;
|
return <Container service={service} error={customError} />;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,95 +0,0 @@
|
|||||||
import getServiceWidget from "utils/config/service-helpers";
|
|
||||||
import createLogger from "utils/logger";
|
|
||||||
import { asJson, formatApiCall, sanitizeErrorURL } from "utils/proxy/api-helpers";
|
|
||||||
import { addCookieToJar } from "utils/proxy/cookie-jar";
|
|
||||||
import { httpProxy } from "utils/proxy/http";
|
|
||||||
import widgets from "widgets/widgets";
|
|
||||||
|
|
||||||
const proxyName = "frigateProxyHandler";
|
|
||||||
const logger = createLogger(proxyName);
|
|
||||||
|
|
||||||
export default async function frigateProxyHandler(req, res, map) {
|
|
||||||
const { group, service, endpoint, index } = req.query;
|
|
||||||
|
|
||||||
if (group && service) {
|
|
||||||
const widget = await getServiceWidget(group, service, index);
|
|
||||||
|
|
||||||
if (!widgets?.[widget.type]?.api) {
|
|
||||||
return res.status(403).json({ error: "Service does not support API calls" });
|
|
||||||
}
|
|
||||||
|
|
||||||
if (widget) {
|
|
||||||
const url = formatApiCall(widgets[widget.type].api, { endpoint, ...widget });
|
|
||||||
|
|
||||||
const params = {
|
|
||||||
method: "GET",
|
|
||||||
headers: {
|
|
||||||
"Content-Type": "application/json",
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
let [status, , data] = await httpProxy(url, params);
|
|
||||||
|
|
||||||
if (status === 401 && widget.username && widget.password) {
|
|
||||||
const loginUrl = `${widget.url}/api/login`;
|
|
||||||
logger.debug("Attempting login to Frigate at %s", loginUrl);
|
|
||||||
const [loginStatus, , , loginResponseHeaders] = await httpProxy(loginUrl, {
|
|
||||||
method: "POST",
|
|
||||||
body: JSON.stringify({ user: widget.username, password: widget.password }),
|
|
||||||
headers: {
|
|
||||||
"Content-Type": "application/json",
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
if (loginStatus !== 200) {
|
|
||||||
logger.error("HTTP Error %d calling %s", loginStatus, sanitizeErrorURL(loginUrl));
|
|
||||||
return res.status(status).json({
|
|
||||||
error: {
|
|
||||||
message: `HTTP Error ${status} while trying to login to Frigate`,
|
|
||||||
url: sanitizeErrorURL(url),
|
|
||||||
},
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
addCookieToJar(url, loginResponseHeaders);
|
|
||||||
// Retry original request with cookie set
|
|
||||||
[status, , data] = await httpProxy(url, params);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (status >= 400) {
|
|
||||||
logger.error("HTTP Error %d calling %s", status, sanitizeErrorURL(url));
|
|
||||||
return res.status(status).json({
|
|
||||||
error: {
|
|
||||||
message: `HTTP Error ${status} from Frigate`,
|
|
||||||
url: sanitizeErrorURL(url),
|
|
||||||
},
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
data = asJson(data);
|
|
||||||
|
|
||||||
if (endpoint == "stats") {
|
|
||||||
res.status(status).send({
|
|
||||||
num_cameras: data?.cameras !== undefined ? Object.keys(data?.cameras).length : 0,
|
|
||||||
uptime: data?.service?.uptime,
|
|
||||||
version: data?.service.version,
|
|
||||||
});
|
|
||||||
} else if (endpoint == "events") {
|
|
||||||
return res.status(status).send(
|
|
||||||
data.slice(0, 5).map((event) => ({
|
|
||||||
id: event.id,
|
|
||||||
camera: event.camera,
|
|
||||||
label: event.label,
|
|
||||||
start_time: new Date(event.start_time * 1000),
|
|
||||||
thumbnail: event.thumbnail,
|
|
||||||
score: event.data.score,
|
|
||||||
type: event.data.type,
|
|
||||||
})),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
logger.debug("Invalid or missing proxy service type '%s' in group '%s'", service, group);
|
|
||||||
return res.status(400).json({ error: "Invalid proxy service type" });
|
|
||||||
}
|
|
||||||
@@ -1,12 +1,37 @@
|
|||||||
import frigateProxyHandler from "./proxy";
|
import { asJson } from "utils/proxy/api-helpers";
|
||||||
|
import genericProxyHandler from "utils/proxy/handlers/generic";
|
||||||
|
|
||||||
const widget = {
|
const widget = {
|
||||||
api: "{url}/api/{endpoint}",
|
api: "{url}/api/{endpoint}",
|
||||||
proxyHandler: frigateProxyHandler,
|
proxyHandler: genericProxyHandler,
|
||||||
|
|
||||||
mappings: {
|
mappings: {
|
||||||
stats: { endpoint: "stats" },
|
stats: {
|
||||||
events: { endpoint: "events" },
|
endpoint: "stats",
|
||||||
|
map: (data) => {
|
||||||
|
const jsonData = asJson(data);
|
||||||
|
return {
|
||||||
|
num_cameras: jsonData?.cameras !== undefined ? Object.keys(jsonData?.cameras).length : 0,
|
||||||
|
uptime: jsonData?.service?.uptime,
|
||||||
|
version: jsonData?.service.version,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
},
|
||||||
|
events: {
|
||||||
|
endpoint: "events",
|
||||||
|
map: (data) =>
|
||||||
|
asJson(data)
|
||||||
|
.slice(0, 5)
|
||||||
|
.map((event) => ({
|
||||||
|
id: event.id,
|
||||||
|
camera: event.camera,
|
||||||
|
label: event.label,
|
||||||
|
start_time: new Date(event.start_time * 1000),
|
||||||
|
thumbnail: event.thumbnail,
|
||||||
|
score: event.data.score,
|
||||||
|
type: event.data.type,
|
||||||
|
})),
|
||||||
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -38,7 +38,11 @@ export default function Component({ service }) {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
const status = serverData.online ? t("gamedig.online") : t("gamedig.offline");
|
const status = serverData.online ? (
|
||||||
|
<span className="text-green-500">{t("gamedig.online")}</span>
|
||||||
|
) : (
|
||||||
|
<span className="text-red-500">{t("gamedig.offline")}</span>
|
||||||
|
);
|
||||||
const name = serverData.online ? serverData.name : "-";
|
const name = serverData.online ? serverData.name : "-";
|
||||||
const map = serverData.online ? serverData.map : "-";
|
const map = serverData.online ? serverData.map : "-";
|
||||||
const currentPlayers = serverData.online ? `${serverData.players} / ${serverData.maxplayers}` : "-";
|
const currentPlayers = serverData.online ? `${serverData.players} / ${serverData.maxplayers}` : "-";
|
||||||
|
|||||||
@@ -20,15 +20,13 @@ function getPerformancePercent(t, performanceRange) {
|
|||||||
export default function Component({ service }) {
|
export default function Component({ service }) {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
const { widget } = service;
|
const { widget } = service;
|
||||||
const includeNetWorth = widget.fields?.includes("net_worth");
|
|
||||||
|
|
||||||
const { data: performanceToday, error: ghostfolioErrorToday } = useWidgetAPI(widget, "today");
|
const { data: performanceToday, error: ghostfolioErrorToday } = useWidgetAPI(widget, "today");
|
||||||
const { data: performanceYear, error: ghostfolioErrorYear } = useWidgetAPI(widget, "year");
|
const { data: performanceYear, error: ghostfolioErrorYear } = useWidgetAPI(widget, "year");
|
||||||
const { data: performanceMax, error: ghostfolioErrorMax } = useWidgetAPI(widget, "max");
|
const { data: performanceMax, error: ghostfolioErrorMax } = useWidgetAPI(widget, "max");
|
||||||
const { data: userInfo, error: ghostfolioErrorUserInfo } = useWidgetAPI(widget, includeNetWorth ? "userInfo" : "");
|
|
||||||
|
|
||||||
if (ghostfolioErrorToday || ghostfolioErrorYear || ghostfolioErrorMax || ghostfolioErrorUserInfo) {
|
if (ghostfolioErrorToday || ghostfolioErrorYear || ghostfolioErrorMax) {
|
||||||
const finalError = ghostfolioErrorToday ?? ghostfolioErrorYear ?? ghostfolioErrorMax ?? ghostfolioErrorUserInfo;
|
const finalError = ghostfolioErrorToday ?? ghostfolioErrorYear ?? ghostfolioErrorMax;
|
||||||
return <Container service={service} error={finalError} />;
|
return <Container service={service} error={finalError} />;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -36,13 +34,12 @@ export default function Component({ service }) {
|
|||||||
return <Container service={service} error={performanceToday} />;
|
return <Container service={service} error={performanceToday} />;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!performanceToday || !performanceYear || !performanceMax || (includeNetWorth && !userInfo)) {
|
if (!performanceToday || !performanceYear || !performanceMax) {
|
||||||
return (
|
return (
|
||||||
<Container service={service}>
|
<Container service={service}>
|
||||||
<Block label="ghostfolio.gross_percent_today" />
|
<Block label="ghostfolio.gross_percent_today" />
|
||||||
<Block label="ghostfolio.gross_percent_1y" />
|
<Block label="ghostfolio.gross_percent_1y" />
|
||||||
<Block label="ghostfolio.gross_percent_max" />
|
<Block label="ghostfolio.gross_percent_max" />
|
||||||
{includeNetWorth && <Block label="ghostfolio.net_worth" />}
|
|
||||||
</Container>
|
</Container>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -52,12 +49,6 @@ export default function Component({ service }) {
|
|||||||
<Block label="ghostfolio.gross_percent_today" value={getPerformancePercent(t, performanceToday)} />
|
<Block label="ghostfolio.gross_percent_today" value={getPerformancePercent(t, performanceToday)} />
|
||||||
<Block label="ghostfolio.gross_percent_1y" value={getPerformancePercent(t, performanceYear)} />
|
<Block label="ghostfolio.gross_percent_1y" value={getPerformancePercent(t, performanceYear)} />
|
||||||
<Block label="ghostfolio.gross_percent_max" value={getPerformancePercent(t, performanceMax)} />
|
<Block label="ghostfolio.gross_percent_max" value={getPerformancePercent(t, performanceMax)} />
|
||||||
{includeNetWorth && (
|
|
||||||
<Block
|
|
||||||
label="ghostfolio.net_worth"
|
|
||||||
value={`${performanceToday.performance.currentNetWorth.toFixed(2)} ${userInfo?.settings?.currency ?? ""}`}
|
|
||||||
/>
|
|
||||||
)}
|
|
||||||
</Container>
|
</Container>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,21 +1,18 @@
|
|||||||
import credentialedProxyHandler from "utils/proxy/handlers/credentialed";
|
import credentialedProxyHandler from "utils/proxy/handlers/credentialed";
|
||||||
|
|
||||||
const widget = {
|
const widget = {
|
||||||
api: "{url}/api/{endpoint}",
|
api: "{url}/api/v2/portfolio/performance?range={endpoint}",
|
||||||
proxyHandler: credentialedProxyHandler,
|
proxyHandler: credentialedProxyHandler,
|
||||||
|
|
||||||
mappings: {
|
mappings: {
|
||||||
today: {
|
today: {
|
||||||
endpoint: "v2/portfolio/performance?range=1d",
|
endpoint: "1d",
|
||||||
},
|
},
|
||||||
year: {
|
year: {
|
||||||
endpoint: "v2/portfolio/performance?range=1y",
|
endpoint: "1y",
|
||||||
},
|
},
|
||||||
max: {
|
max: {
|
||||||
endpoint: "v2/portfolio/performance?range=max",
|
endpoint: "max",
|
||||||
},
|
|
||||||
userInfo: {
|
|
||||||
endpoint: "v1/user",
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -12,8 +12,10 @@ export default function Component({ service }) {
|
|||||||
|
|
||||||
const { data: gluetunData, error: gluetunError } = useWidgetAPI(widget, "ip");
|
const { data: gluetunData, error: gluetunError } = useWidgetAPI(widget, "ip");
|
||||||
const includePF = widget.fields.includes("port_forwarded");
|
const includePF = widget.fields.includes("port_forwarded");
|
||||||
const pfEndpoint = widget.version > 1 ? "port_forwarded_v2" : "port_forwarded";
|
const { data: portForwardedData, error: portForwardedError } = useWidgetAPI(
|
||||||
const { data: portForwardedData, error: portForwardedError } = useWidgetAPI(widget, includePF ? pfEndpoint : "");
|
widget,
|
||||||
|
includePF ? "port_forwarded" : "",
|
||||||
|
);
|
||||||
|
|
||||||
if (gluetunError || (includePF && portForwardedError)) {
|
if (gluetunError || (includePF && portForwardedError)) {
|
||||||
return <Container service={service} error={gluetunError || portForwardedError} />;
|
return <Container service={service} error={gluetunError || portForwardedError} />;
|
||||||
|
|||||||
@@ -13,10 +13,6 @@ const widget = {
|
|||||||
endpoint: "openvpn/portforwarded",
|
endpoint: "openvpn/portforwarded",
|
||||||
validate: ["port"],
|
validate: ["port"],
|
||||||
},
|
},
|
||||||
port_forwarded_v2: {
|
|
||||||
endpoint: "portforward",
|
|
||||||
validate: ["port"],
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -22,7 +22,11 @@ export default function Component({ service }) {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
const statusIndicator = serverData.online ? t("minecraft.up") : t("minecraft.down");
|
const statusIndicator = serverData.online ? (
|
||||||
|
<span className="text-green-500">{t("minecraft.up")}</span>
|
||||||
|
) : (
|
||||||
|
<span className="text-red-500">{t("minecraft.down")}</span>
|
||||||
|
);
|
||||||
const players = serverData.players ? `${serverData.players.online} / ${serverData.players.max}` : "-";
|
const players = serverData.players ? `${serverData.players.online} / ${serverData.players.max}` : "-";
|
||||||
const version = serverData.version || "-";
|
const version = serverData.version || "-";
|
||||||
|
|
||||||
|
|||||||
@@ -24,9 +24,9 @@ export default function Component({ service }) {
|
|||||||
if (!data || (data && data.length === 0)) {
|
if (!data || (data && data.length === 0)) {
|
||||||
return (
|
return (
|
||||||
<Container service={service}>
|
<Container service={service}>
|
||||||
|
<Block label="myspeed.ping" />
|
||||||
<Block label="myspeed.download" />
|
<Block label="myspeed.download" />
|
||||||
<Block label="myspeed.upload" />
|
<Block label="myspeed.upload" />
|
||||||
<Block label="myspeed.ping" />
|
|
||||||
</Container>
|
</Container>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,7 +20,16 @@ export default function Component({ service }) {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<Container service={service}>
|
<Container service={service}>
|
||||||
<Block label="widget.status" value={up ? t("openwrt.up") : t("openwrt.down")} />
|
<Block
|
||||||
|
label="widget.status"
|
||||||
|
value={
|
||||||
|
up ? (
|
||||||
|
<span className="text-green-500">{t("openwrt.up")}</span>
|
||||||
|
) : (
|
||||||
|
<span className="text-red-500">{t("openwrt.down")}</span>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
/>
|
||||||
<Block label="openwrt.bytesTx" value={t("common.bytes", { value: bytesTx })} />
|
<Block label="openwrt.bytesTx" value={t("common.bytes", { value: bytesTx })} />
|
||||||
<Block label="openwrt.bytesRx" value={t("common.bytes", { value: bytesRx })} />
|
<Block label="openwrt.bytesRx" value={t("common.bytes", { value: bytesRx })} />
|
||||||
</Container>
|
</Container>
|
||||||
|
|||||||
@@ -56,7 +56,16 @@ export default function Component({ service }) {
|
|||||||
label="pfsense.temp"
|
label="pfsense.temp"
|
||||||
value={t("common.number", { value: systemData.data.temp_c, style: "unit", unit: "celsius" })}
|
value={t("common.number", { value: systemData.data.temp_c, style: "unit", unit: "celsius" })}
|
||||||
/>
|
/>
|
||||||
<Block label="pfsense.wanStatus" value={wan.status === "up" ? t("pfsense.up") : t("pfsense.down")} />
|
<Block
|
||||||
|
label="pfsense.wanStatus"
|
||||||
|
value={
|
||||||
|
wan.status === "up" ? (
|
||||||
|
<span className="text-green-500">{t("pfsense.up")}</span>
|
||||||
|
) : (
|
||||||
|
<span className="text-red-500">{t("pfsense.down")}</span>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
/>
|
||||||
{showWanIP && <Block label="pfsense.wanIP" value={wan.ipaddr} />}
|
{showWanIP && <Block label="pfsense.wanIP" value={wan.ipaddr} />}
|
||||||
{showDiskUsage && <Block label="pfsense.disk" value={t("common.percent", { value: diskUsage.toFixed(2) })} />}
|
{showDiskUsage && <Block label="pfsense.disk" value={t("common.percent", { value: diskUsage.toFixed(2) })} />}
|
||||||
</Container>
|
</Container>
|
||||||
|
|||||||
Reference in New Issue
Block a user