mirror of
https://github.com/gethomepage/homepage.git
synced 2025-12-24 22:16:39 +08:00
Compare commits
23 Commits
feature/60
...
dev
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
be7a00d631 | ||
|
|
0d99a8766f | ||
|
|
e66b58dc53 | ||
|
|
1b32cbbbfd | ||
|
|
681a8a828b | ||
|
|
f8009a7067 | ||
|
|
1ed2f16cbf | ||
|
|
ba2b3eeb9e | ||
|
|
45ca94eb6d | ||
|
|
a07cc25441 | ||
|
|
0dcd25d5ad | ||
|
|
cd34796b9d | ||
|
|
0d788e3d06 | ||
|
|
ed1dafadde | ||
|
|
96ac9046b3 | ||
|
|
6d5f35f07e | ||
|
|
c77dfa4c64 | ||
|
|
307d7f4b2d | ||
|
|
fb9927ab0c | ||
|
|
d13165699b | ||
|
|
65ff248ee7 | ||
|
|
87e5643892 | ||
|
|
8887281246 |
2
.github/workflows/docker-publish.yml
vendored
2
.github/workflows/docker-publish.yml
vendored
@@ -84,7 +84,7 @@ jobs:
|
|||||||
latest=auto
|
latest=auto
|
||||||
|
|
||||||
- name: Next.js build cache
|
- name: Next.js build cache
|
||||||
uses: actions/cache@v4
|
uses: actions/cache@v5
|
||||||
with:
|
with:
|
||||||
path: .next/cache
|
path: .next/cache
|
||||||
key: nextjs-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml') }}-${{ hashFiles('**/*.js', '**/*.jsx') }}
|
key: nextjs-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml') }}-${{ hashFiles('**/*.js', '**/*.jsx') }}
|
||||||
|
|||||||
4
.github/workflows/docs-publish.yml
vendored
4
.github/workflows/docs-publish.yml
vendored
@@ -37,7 +37,7 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
python-version: 3.x
|
python-version: 3.x
|
||||||
- run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV
|
- run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV
|
||||||
- uses: actions/cache@v4
|
- uses: actions/cache@v5
|
||||||
with:
|
with:
|
||||||
key: mkdocs-material-${{ env.cache_id }}
|
key: mkdocs-material-${{ env.cache_id }}
|
||||||
path: .cache
|
path: .cache
|
||||||
@@ -63,7 +63,7 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
python-version: 3.x
|
python-version: 3.x
|
||||||
- run: echo "cache_id=${{github.sha}}" >> $GITHUB_ENV
|
- run: echo "cache_id=${{github.sha}}" >> $GITHUB_ENV
|
||||||
- uses: actions/cache@v4
|
- uses: actions/cache@v5
|
||||||
with:
|
with:
|
||||||
key: mkdocs-material-${{ env.cache_id }}
|
key: mkdocs-material-${{ env.cache_id }}
|
||||||
path: .cache
|
path: .cache
|
||||||
|
|||||||
2
.github/workflows/repo-maintenance.yml
vendored
2
.github/workflows/repo-maintenance.yml
vendored
@@ -32,7 +32,7 @@ jobs:
|
|||||||
name: 'Lock Old Threads'
|
name: 'Lock Old Threads'
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: dessant/lock-threads@v5
|
- uses: dessant/lock-threads@v6
|
||||||
with:
|
with:
|
||||||
issue-inactive-days: '30'
|
issue-inactive-days: '30'
|
||||||
pr-inactive-days: '30'
|
pr-inactive-days: '30'
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ RUN apk add --no-cache su-exec iputils-ping shadow
|
|||||||
USER root
|
USER root
|
||||||
|
|
||||||
ENV NODE_ENV=production
|
ENV NODE_ENV=production
|
||||||
ENV HOSTNAME=0.0.0.0
|
ENV HOSTNAME=::
|
||||||
ENV PORT=3000
|
ENV PORT=3000
|
||||||
EXPOSE $PORT
|
EXPOSE $PORT
|
||||||
|
|
||||||
|
|||||||
@@ -12,6 +12,15 @@ export PGID=${PGID:-0}
|
|||||||
|
|
||||||
export HOMEPAGE_BUILDTIME=$(date +%s)
|
export HOMEPAGE_BUILDTIME=$(date +%s)
|
||||||
|
|
||||||
|
# Try IPv6 first (dual stack when available), but fall back to IPv4 if the bind fails
|
||||||
|
export HOSTNAME=${HOSTNAME:-::}
|
||||||
|
if [ "$HOSTNAME" = "::" ]; then
|
||||||
|
if ! node -e "const server = require('http').createServer(() => {}); const host = '::'; const port = process.env.PORT || 3000; server.once('error', (err) => { console.error('IPv6 bind failed:', err.message); process.exit(1); }); server.listen(port, host, () => server.close(() => process.exit(0)));"; then
|
||||||
|
echo "Falling back to IPv4 bind at 0.0.0.0"
|
||||||
|
export HOSTNAME=0.0.0.0
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
# Check ownership before chown
|
# Check ownership before chown
|
||||||
if [ -e /app/config ]; then
|
if [ -e /app/config ]; then
|
||||||
CURRENT_UID=$(stat -c %u /app/config)
|
CURRENT_UID=$(stat -c %u /app/config)
|
||||||
|
|||||||
@@ -189,6 +189,8 @@ labels: ...
|
|||||||
- homepage.widgets[1].slug=youreventslughere
|
- homepage.widgets[1].slug=youreventslughere
|
||||||
```
|
```
|
||||||
|
|
||||||
|
To pass custom HTTP headers with a widget request when using labels, use the same dot-notation: `homepage.widget.headers.X-Auth-Key=secret` (or `homepage.widgets[0].headers.X-Auth-Key=secret` when multiple widgets are present).
|
||||||
|
|
||||||
You can add specify fields for e.g. the [CustomAPI](../widgets/services/customapi.md) widget by using array-style dot notation:
|
You can add specify fields for e.g. the [CustomAPI](../widgets/services/customapi.md) widget by using array-style dot notation:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
|
|||||||
@@ -94,6 +94,7 @@ metadata:
|
|||||||
gethomepage.dev/name: Emby
|
gethomepage.dev/name: Emby
|
||||||
gethomepage.dev/widget.type: "emby"
|
gethomepage.dev/widget.type: "emby"
|
||||||
gethomepage.dev/widget.url: "https://emby.example.com"
|
gethomepage.dev/widget.url: "https://emby.example.com"
|
||||||
|
gethomepage.dev/widget.headers.X-Auth-Key: "your-secret-here"
|
||||||
gethomepage.dev/pod-selector: ""
|
gethomepage.dev/pod-selector: ""
|
||||||
gethomepage.dev/weight: 10 # optional
|
gethomepage.dev/weight: 10 # optional
|
||||||
gethomepage.dev/instance: "public" # optional
|
gethomepage.dev/instance: "public" # optional
|
||||||
|
|||||||
@@ -101,6 +101,25 @@ Each service can have multiple widgets attached to it, for example:
|
|||||||
|
|
||||||
Multiple widgets per service are not yet supported with Kubernetes ingress annotations.
|
Multiple widgets per service are not yet supported with Kubernetes ingress annotations.
|
||||||
|
|
||||||
|
#### Custom HTTP headers
|
||||||
|
|
||||||
|
Widgets that make HTTP calls support extra request headers via `headers`. This is useful when a reverse proxy expects a secret header.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
- UptimeRobot:
|
||||||
|
icon: uptimekuma.png
|
||||||
|
href: https://uptimerobot.com/
|
||||||
|
widget:
|
||||||
|
type: uptimerobot
|
||||||
|
url: https://api.uptimerobot.com
|
||||||
|
key: ${UPTIMEROBOT_API_KEY}
|
||||||
|
headers:
|
||||||
|
User-Agent: homepage
|
||||||
|
X-Auth-Key: your-secret-here
|
||||||
|
```
|
||||||
|
|
||||||
|
If you define services via Docker labels or Kubernetes annotations, use the same key with dot-notation (for example `homepage.widget.headers.X-Auth-Key=secret` or `gethomepage.dev/widget.headers.X-Auth-Key: "secret"`).
|
||||||
|
|
||||||
#### Field Visibility
|
#### Field Visibility
|
||||||
|
|
||||||
Each widget can optionally provide a list of which fields should be visible via the `fields` widget property. If no fields are specified, then all fields will be displayed. The `fields` property must be a valid YAML array of strings. As an example, here is the entry for Sonarr showing only a couple of fields.
|
Each widget can optionally provide a list of which fields should be visible via the `fields` widget property. If no fields are specified, then all fields will be displayed. The `fields` property must be a valid YAML array of strings. As an example, here is the entry for Sonarr showing only a couple of fields.
|
||||||
@@ -159,6 +178,19 @@ Widgets can tint their metric block text automatically based on rules defined al
|
|||||||
|
|
||||||
Supported numeric operators for the `when` property are `gt`, `gte`, `lt`, `lte`, `eq`, `ne`, `between`, and `outside`. String rules support `equals`, `includes`, `startsWith`, `endsWith`, and `regex`. Each rule can be inverted with `negate: true`, and string rules may pass `caseSensitive: true` or custom regex `flags`. The highlight engine does its best to coerce formatted values, but you will get the most reliable results when you pass plain numbers or strings into `<Block>`.
|
Supported numeric operators for the `when` property are `gt`, `gte`, `lt`, `lte`, `eq`, `ne`, `between`, and `outside`. String rules support `equals`, `includes`, `startsWith`, `endsWith`, and `regex`. Each rule can be inverted with `negate: true`, and string rules may pass `caseSensitive: true` or custom regex `flags`. The highlight engine does its best to coerce formatted values, but you will get the most reliable results when you pass plain numbers or strings into `<Block>`.
|
||||||
|
|
||||||
|
#### Value Only Highlighting
|
||||||
|
|
||||||
|
You can optionally apply highlighting only to the value portion of a block (not the label) by setting `valueOnly: true` on the field configuration. This keeps the label visible while highlighting only the metric value itself.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
- Sonarr:
|
||||||
|
...
|
||||||
|
highlight:
|
||||||
|
queued:
|
||||||
|
valueOnly: true
|
||||||
|
...
|
||||||
|
```
|
||||||
|
|
||||||
## Descriptions
|
## Descriptions
|
||||||
|
|
||||||
Services may have descriptions,
|
Services may have descriptions,
|
||||||
|
|||||||
@@ -396,7 +396,9 @@ 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-CN, zh-Hant
|
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)
|
||||||
|
|
||||||
|
`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.
|
||||||
|
|
||||||
|
|||||||
@@ -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,7 @@ 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
|
## 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.
|
||||||
|
|
||||||
|
|||||||
29
docs/widgets/services/pangolin.md
Normal file
29
docs/widgets/services/pangolin.md
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
---
|
||||||
|
title: Pangolin
|
||||||
|
description: Pangolin Widget Configuration
|
||||||
|
---
|
||||||
|
|
||||||
|
Learn more about [Pangolin](https://github.com/fosrl/pangolin).
|
||||||
|
|
||||||
|
This widget shows sites (online/total), resources (healthy/total), targets (healthy/total), and traffic statistics for a Pangolin organization. A resource is considered healthy if at least one of its targets is healthy, or if it has no targets.
|
||||||
|
|
||||||
|
Allowed fields: `["sites", "resources", "targets", "traffic", "in", "out"]` (maximum of 4).
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
widget:
|
||||||
|
type: pangolin
|
||||||
|
url: https://api.pangolin.net
|
||||||
|
key: your-api-key
|
||||||
|
org: your-org-id
|
||||||
|
```
|
||||||
|
|
||||||
|
Find your organization ID in the URL when logged in (e.g., `https://app.pangolin.net/{org-id}/...`).
|
||||||
|
|
||||||
|
## API Key Setup
|
||||||
|
|
||||||
|
Create an API key with the following permissions:
|
||||||
|
|
||||||
|
- **List Sites**
|
||||||
|
- **List Resources**
|
||||||
|
|
||||||
|
**Self-Hosted:** Enable the [Integration API](https://docs.pangolin.net/self-host/advanced/integration-api) in your Pangolin configuration before creating the key.
|
||||||
@@ -122,6 +122,7 @@ nav:
|
|||||||
- widgets/services/opnsense.md
|
- widgets/services/opnsense.md
|
||||||
- widgets/services/openwrt.md
|
- widgets/services/openwrt.md
|
||||||
- widgets/services/overseerr.md
|
- widgets/services/overseerr.md
|
||||||
|
- widgets/services/pangolin.md
|
||||||
- widgets/services/paperlessngx.md
|
- widgets/services/paperlessngx.md
|
||||||
- widgets/services/peanut.md
|
- widgets/services/peanut.md
|
||||||
- widgets/services/pfsense.md
|
- widgets/services/pfsense.md
|
||||||
|
|||||||
@@ -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.2",
|
"next": "^15.5.9",
|
||||||
"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.1",
|
"raw-body": "^3.0.2",
|
||||||
"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.7",
|
"systeminformation": "^5.27.11",
|
||||||
"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.6.2",
|
"prettier": "^3.7.3",
|
||||||
"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.2
|
specifier: ^15.5.9
|
||||||
version: 15.5.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
|
version: 15.5.9(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.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)
|
version: 12.1.0(next@15.5.9(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.1
|
specifier: ^3.0.2
|
||||||
version: 3.0.1
|
version: 3.0.2
|
||||||
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.7
|
specifier: ^5.27.11
|
||||||
version: 5.27.7
|
version: 5.27.11
|
||||||
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.6.2)
|
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)
|
||||||
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.6.2
|
specifier: ^3.7.3
|
||||||
version: 3.6.2
|
version: 3.7.3
|
||||||
prettier-plugin-organize-imports:
|
prettier-plugin-organize-imports:
|
||||||
specifier: ^4.3.0
|
specifier: ^4.3.0
|
||||||
version: 4.3.0(prettier@3.6.2)(typescript@5.7.3)
|
version: 4.3.0(prettier@3.7.3)(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.5.0':
|
'@emnapi/runtime@1.7.1':
|
||||||
resolution: {integrity: sha512-97/BJ3iXHww3djw6hYIfErCZFee7qCtrneuLa20UXFCOTCfBM2cvQHjWJ2EG0s0MtdNwInarqCTz35i4wWXHsQ==}
|
resolution: {integrity: sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==}
|
||||||
|
|
||||||
'@emnapi/wasi-threads@1.0.1':
|
'@emnapi/wasi-threads@1.0.1':
|
||||||
resolution: {integrity: sha512-iIBu7mwkq4UQGeMEM8bLwNK962nXdhodeScX4slfQnRhEMMzvYivHhutCIk8uojvmASXXPC2WNEjwxFWk72Oqw==}
|
resolution: {integrity: sha512-iIBu7mwkq4UQGeMEM8bLwNK962nXdhodeScX4slfQnRhEMMzvYivHhutCIk8uojvmASXXPC2WNEjwxFWk72Oqw==}
|
||||||
@@ -284,124 +284,139 @@ packages:
|
|||||||
resolution: {integrity: sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==}
|
resolution: {integrity: sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==}
|
||||||
engines: {node: '>=18.18'}
|
engines: {node: '>=18.18'}
|
||||||
|
|
||||||
'@img/sharp-darwin-arm64@0.34.3':
|
'@img/colour@1.0.0':
|
||||||
resolution: {integrity: sha512-ryFMfvxxpQRsgZJqBd4wsttYQbCxsJksrv9Lw/v798JcQ8+w84mBWuXwl+TT0WJ/WrYOLaYpwQXi3sA9nTIaIg==}
|
resolution: {integrity: sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==}
|
||||||
|
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.3':
|
'@img/sharp-darwin-x64@0.34.5':
|
||||||
resolution: {integrity: sha512-yHpJYynROAj12TA6qil58hmPmAwxKKC7reUqtGLzsOHfP7/rniNGTL8tjWX6L3CTV4+5P4ypcS7Pp+7OB+8ihA==}
|
resolution: {integrity: sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==}
|
||||||
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.0':
|
'@img/sharp-libvips-darwin-arm64@1.2.4':
|
||||||
resolution: {integrity: sha512-sBZmpwmxqwlqG9ueWFXtockhsxefaV6O84BMOrhtg/YqbTaRdqDE7hxraVE3y6gVM4eExmfzW4a8el9ArLeEiQ==}
|
resolution: {integrity: sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [darwin]
|
os: [darwin]
|
||||||
|
|
||||||
'@img/sharp-libvips-darwin-x64@1.2.0':
|
'@img/sharp-libvips-darwin-x64@1.2.4':
|
||||||
resolution: {integrity: sha512-M64XVuL94OgiNHa5/m2YvEQI5q2cl9d/wk0qFTDVXcYzi43lxuiFTftMR1tOnFQovVXNZJ5TURSDK2pNe9Yzqg==}
|
resolution: {integrity: sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [darwin]
|
os: [darwin]
|
||||||
|
|
||||||
'@img/sharp-libvips-linux-arm64@1.2.0':
|
'@img/sharp-libvips-linux-arm64@1.2.4':
|
||||||
resolution: {integrity: sha512-RXwd0CgG+uPRX5YYrkzKyalt2OJYRiJQ8ED/fi1tq9WQW2jsQIn0tqrlR5l5dr/rjqq6AHAxURhj2DVjyQWSOA==}
|
resolution: {integrity: sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@img/sharp-libvips-linux-arm@1.2.0':
|
'@img/sharp-libvips-linux-arm@1.2.4':
|
||||||
resolution: {integrity: sha512-mWd2uWvDtL/nvIzThLq3fr2nnGfyr/XMXlq8ZJ9WMR6PXijHlC3ksp0IpuhK6bougvQrchUAfzRLnbsen0Cqvw==}
|
resolution: {integrity: sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==}
|
||||||
cpu: [arm]
|
cpu: [arm]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@img/sharp-libvips-linux-ppc64@1.2.0':
|
'@img/sharp-libvips-linux-ppc64@1.2.4':
|
||||||
resolution: {integrity: sha512-Xod/7KaDDHkYu2phxxfeEPXfVXFKx70EAFZ0qyUdOjCcxbjqyJOEUpDe6RIyaunGxT34Anf9ue/wuWOqBW2WcQ==}
|
resolution: {integrity: sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==}
|
||||||
cpu: [ppc64]
|
cpu: [ppc64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@img/sharp-libvips-linux-s390x@1.2.0':
|
'@img/sharp-libvips-linux-riscv64@1.2.4':
|
||||||
resolution: {integrity: sha512-eMKfzDxLGT8mnmPJTNMcjfO33fLiTDsrMlUVcp6b96ETbnJmd4uvZxVJSKPQfS+odwfVaGifhsB07J1LynFehw==}
|
resolution: {integrity: sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==}
|
||||||
|
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.0':
|
'@img/sharp-libvips-linux-x64@1.2.4':
|
||||||
resolution: {integrity: sha512-ZW3FPWIc7K1sH9E3nxIGB3y3dZkpJlMnkk7z5tu1nSkBoCgw2nSRTFHI5pB/3CQaJM0pdzMF3paf9ckKMSE9Tg==}
|
resolution: {integrity: sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@img/sharp-libvips-linuxmusl-arm64@1.2.0':
|
'@img/sharp-libvips-linuxmusl-arm64@1.2.4':
|
||||||
resolution: {integrity: sha512-UG+LqQJbf5VJ8NWJ5Z3tdIe/HXjuIdo4JeVNADXBFuG7z9zjoegpzzGIyV5zQKi4zaJjnAd2+g2nna8TZvuW9Q==}
|
resolution: {integrity: sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@img/sharp-libvips-linuxmusl-x64@1.2.0':
|
'@img/sharp-libvips-linuxmusl-x64@1.2.4':
|
||||||
resolution: {integrity: sha512-SRYOLR7CXPgNze8akZwjoGBoN1ThNZoqpOgfnOxmWsklTGVfJiGJoC/Lod7aNMGA1jSsKWM1+HRX43OP6p9+6Q==}
|
resolution: {integrity: sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@img/sharp-linux-arm64@0.34.3':
|
'@img/sharp-linux-arm64@0.34.5':
|
||||||
resolution: {integrity: sha512-QdrKe3EvQrqwkDrtuTIjI0bu6YEJHTgEeqdzI3uWJOH6G1O8Nl1iEeVYRGdj1h5I21CqxSvQp1Yv7xeU3ZewbA==}
|
resolution: {integrity: sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==}
|
||||||
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.3':
|
'@img/sharp-linux-arm@0.34.5':
|
||||||
resolution: {integrity: sha512-oBK9l+h6KBN0i3dC8rYntLiVfW8D8wH+NPNT3O/WBHeW0OQWCjfWksLUaPidsrDKpJgXp3G3/hkmhptAW0I3+A==}
|
resolution: {integrity: sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==}
|
||||||
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.3':
|
'@img/sharp-linux-ppc64@0.34.5':
|
||||||
resolution: {integrity: sha512-GLtbLQMCNC5nxuImPR2+RgrviwKwVql28FWZIW1zWruy6zLgA5/x2ZXk3mxj58X/tszVF69KK0Is83V8YgWhLA==}
|
resolution: {integrity: sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==}
|
||||||
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-s390x@0.34.3':
|
'@img/sharp-linux-riscv64@0.34.5':
|
||||||
resolution: {integrity: sha512-3gahT+A6c4cdc2edhsLHmIOXMb17ltffJlxR0aC2VPZfwKoTGZec6u5GrFgdR7ciJSsHT27BD3TIuGcuRT0KmQ==}
|
resolution: {integrity: sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==}
|
||||||
|
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.3':
|
'@img/sharp-linux-x64@0.34.5':
|
||||||
resolution: {integrity: sha512-8kYso8d806ypnSq3/Ly0QEw90V5ZoHh10yH0HnrzOCr6DKAPI6QVHvwleqMkVQ0m+fc7EH8ah0BB0QPuWY6zJQ==}
|
resolution: {integrity: sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==}
|
||||||
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.3':
|
'@img/sharp-linuxmusl-arm64@0.34.5':
|
||||||
resolution: {integrity: sha512-vAjbHDlr4izEiXM1OTggpCcPg9tn4YriK5vAjowJsHwdBIdx0fYRsURkxLG2RLm9gyBq66gwtWI8Gx0/ov+JKQ==}
|
resolution: {integrity: sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==}
|
||||||
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.3':
|
'@img/sharp-linuxmusl-x64@0.34.5':
|
||||||
resolution: {integrity: sha512-gCWUn9547K5bwvOn9l5XGAEjVTTRji4aPTqLzGXHvIr6bIDZKNTA34seMPgM0WmSf+RYBH411VavCejp3PkOeQ==}
|
resolution: {integrity: sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==}
|
||||||
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.3':
|
'@img/sharp-wasm32@0.34.5':
|
||||||
resolution: {integrity: sha512-+CyRcpagHMGteySaWos8IbnXcHgfDn7pO2fiC2slJxvNq9gDipYBN42/RagzctVRKgxATmfqOSulgZv5e1RdMg==}
|
resolution: {integrity: sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==}
|
||||||
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.3':
|
'@img/sharp-win32-arm64@0.34.5':
|
||||||
resolution: {integrity: sha512-MjnHPnbqMXNC2UgeLJtX4XqoVHHlZNd+nPt1kRPmj63wURegwBhZlApELdtxM2OIZDRv/DFtLcNhVbd1z8GYXQ==}
|
resolution: {integrity: sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==}
|
||||||
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.3':
|
'@img/sharp-win32-ia32@0.34.5':
|
||||||
resolution: {integrity: sha512-xuCdhH44WxuXgOM714hn4amodJMZl3OEvf0GVTm0BEyMeA2to+8HEdRPShH0SLYptJY1uBw+SCFP9WVQi1Q/cw==}
|
resolution: {integrity: sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==}
|
||||||
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.3':
|
'@img/sharp-win32-x64@0.34.5':
|
||||||
resolution: {integrity: sha512-OWwz05d++TxzLEv4VnsTz5CmZ6mI6S05sfQGEMrNrQcOEERbX46332IvE7pO/EUiw7jUrrS40z/M7kPyjfl04g==}
|
resolution: {integrity: sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==}
|
||||||
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]
|
||||||
@@ -451,56 +466,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.2':
|
'@next/env@15.5.9':
|
||||||
resolution: {integrity: sha512-Qe06ew4zt12LeO6N7j8/nULSOe3fMXE4dM6xgpBQNvdzyK1sv5y4oAP3bq4LamrvGCZtmRYnW8URFCeX5nFgGg==}
|
resolution: {integrity: sha512-4GlTZ+EJM7WaW2HEZcyU317tIQDjkQIyENDLxYJfSWlfqguN+dHkZgyQTV/7ykvobU7yEH5gKvreNrH4B6QgIg==}
|
||||||
|
|
||||||
'@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.2':
|
'@next/swc-darwin-arm64@15.5.7':
|
||||||
resolution: {integrity: sha512-8bGt577BXGSd4iqFygmzIfTYizHb0LGWqH+qgIF/2EDxS5JsSdERJKA8WgwDyNBZgTIIA4D8qUtoQHmxIIquoQ==}
|
resolution: {integrity: sha512-IZwtxCEpI91HVU/rAUOOobWSZv4P2DeTtNaCdHqLcTJU4wdNXgAySvKa/qJCgR5m6KI8UsKDXtO2B31jcaw1Yw==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [darwin]
|
os: [darwin]
|
||||||
|
|
||||||
'@next/swc-darwin-x64@15.5.2':
|
'@next/swc-darwin-x64@15.5.7':
|
||||||
resolution: {integrity: sha512-2DjnmR6JHK4X+dgTXt5/sOCu/7yPtqpYt8s8hLkHFK3MGkka2snTv3yRMdHvuRtJVkPwCGsvBSwmoQCHatauFQ==}
|
resolution: {integrity: sha512-UP6CaDBcqaCBuiq/gfCEJw7sPEoX1aIjZHnBWN9v9qYHQdMKvCKcAVs4OX1vIjeE+tC5EIuwDTVIoXpUes29lg==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [darwin]
|
os: [darwin]
|
||||||
|
|
||||||
'@next/swc-linux-arm64-gnu@15.5.2':
|
'@next/swc-linux-arm64-gnu@15.5.7':
|
||||||
resolution: {integrity: sha512-3j7SWDBS2Wov/L9q0mFJtEvQ5miIqfO4l7d2m9Mo06ddsgUK8gWfHGgbjdFlCp2Ek7MmMQZSxpGFqcC8zGh2AA==}
|
resolution: {integrity: sha512-NCslw3GrNIw7OgmRBxHtdWFQYhexoUCq+0oS2ccjyYLtcn1SzGzeM54jpTFonIMUjNbHmpKpziXnpxhSWLcmBA==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@next/swc-linux-arm64-musl@15.5.2':
|
'@next/swc-linux-arm64-musl@15.5.7':
|
||||||
resolution: {integrity: sha512-s6N8k8dF9YGc5T01UPQ08yxsK6fUow5gG1/axWc1HVVBYQBgOjca4oUZF7s4p+kwhkB1bDSGR8QznWrFZ/Rt5g==}
|
resolution: {integrity: sha512-nfymt+SE5cvtTrG9u1wdoxBr9bVB7mtKTcj0ltRn6gkP/2Nu1zM5ei8rwP9qKQP0Y//umK+TtkKgNtfboBxRrw==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@next/swc-linux-x64-gnu@15.5.2':
|
'@next/swc-linux-x64-gnu@15.5.7':
|
||||||
resolution: {integrity: sha512-o1RV/KOODQh6dM6ZRJGZbc+MOAHww33Vbs5JC9Mp1gDk8cpEO+cYC/l7rweiEalkSm5/1WGa4zY7xrNwObN4+Q==}
|
resolution: {integrity: sha512-hvXcZvCaaEbCZcVzcY7E1uXN9xWZfFvkNHwbe/n4OkRhFWrs1J1QV+4U1BN06tXLdaS4DazEGXwgqnu/VMcmqw==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@next/swc-linux-x64-musl@15.5.2':
|
'@next/swc-linux-x64-musl@15.5.7':
|
||||||
resolution: {integrity: sha512-/VUnh7w8RElYZ0IV83nUcP/J4KJ6LLYliiBIri3p3aW2giF+PAVgZb6mk8jbQSB3WlTai8gEmCAr7kptFa1H6g==}
|
resolution: {integrity: sha512-4IUO539b8FmF0odY6/SqANJdgwn1xs1GkPO5doZugwZ3ETF6JUdckk7RGmsfSf7ws8Qb2YB5It33mvNL/0acqA==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
|
|
||||||
'@next/swc-win32-arm64-msvc@15.5.2':
|
'@next/swc-win32-arm64-msvc@15.5.7':
|
||||||
resolution: {integrity: sha512-sMPyTvRcNKXseNQ/7qRfVRLa0VhR0esmQ29DD6pqvG71+JdVnESJaHPA8t7bc67KD5spP3+DOCNLhqlEI2ZgQg==}
|
resolution: {integrity: sha512-CpJVTkYI3ZajQkC5vajM7/ApKJUOlm6uP4BknM3XKvJ7VXAvCqSjSLmM0LKdYzn6nBJVSjdclx8nYJSa3xlTgQ==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [arm64]
|
cpu: [arm64]
|
||||||
os: [win32]
|
os: [win32]
|
||||||
|
|
||||||
'@next/swc-win32-x64-msvc@15.5.2':
|
'@next/swc-win32-x64-msvc@15.5.7':
|
||||||
resolution: {integrity: sha512-W5VvyZHnxG/2ukhZF/9Ikdra5fdNftxI6ybeVKYvBPDtyx7x4jPPSNduUkfH5fo3zG0JQ0bPxgy41af2JX5D4Q==}
|
resolution: {integrity: sha512-gMzgBX164I6DN+9/PGA+9dQiwmTkE4TloBNx8Kv9UiGARsr9Nba7IpcBRA1iTV9vwlYnrE3Uy6I7Aj6qLjQuqw==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [win32]
|
os: [win32]
|
||||||
@@ -1105,8 +1120,8 @@ packages:
|
|||||||
resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
|
resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
|
||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
|
|
||||||
caniuse-lite@1.0.30001739:
|
caniuse-lite@1.0.30001760:
|
||||||
resolution: {integrity: sha512-y+j60d6ulelrNSwpPyrHdl+9mJnQzHBr08xm48Qno0nSk4h3Qojh+ziv2qE6rXf4k3tadF4o1J/1tAbVm1NtnA==}
|
resolution: {integrity: sha512-7AAMPcueWELt1p3mi13HR/LHH0TJLT11cnwDJEs3xA4+CK/PLKeO9Kl1oru24htkyUKtkGCvAx4ohB0Ttry8Dw==}
|
||||||
|
|
||||||
chalk@4.1.2:
|
chalk@4.1.2:
|
||||||
resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
|
resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
|
||||||
@@ -1152,10 +1167,6 @@ 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==}
|
||||||
|
|
||||||
@@ -1309,14 +1320,14 @@ packages:
|
|||||||
resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
|
resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
|
||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
|
|
||||||
detect-libc@2.0.4:
|
|
||||||
resolution: {integrity: sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==}
|
|
||||||
engines: {node: '>=8'}
|
|
||||||
|
|
||||||
detect-libc@2.1.1:
|
detect-libc@2.1.1:
|
||||||
resolution: {integrity: sha512-ecqj/sy1jcK1uWrwpR67UhYrIFQ+5WlGxth34WquCbamhFA6hkkwiu37o6J5xCHdo1oixJRfVRw+ywV+Hq/0Aw==}
|
resolution: {integrity: sha512-ecqj/sy1jcK1uWrwpR67UhYrIFQ+5WlGxth34WquCbamhFA6hkkwiu37o6J5xCHdo1oixJRfVRw+ywV+Hq/0Aw==}
|
||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
|
|
||||||
|
detect-libc@2.1.2:
|
||||||
|
resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==}
|
||||||
|
engines: {node: '>=8'}
|
||||||
|
|
||||||
docker-modem@5.0.6:
|
docker-modem@5.0.6:
|
||||||
resolution: {integrity: sha512-ens7BiayssQz/uAxGzH8zGXCtiV24rRWXdjNha5V4zSOcxmAZsfGVm/PPFbwQdqEkDnhG+SyR9E3zSHUbOKXBQ==}
|
resolution: {integrity: sha512-ens7BiayssQz/uAxGzH8zGXCtiV24rRWXdjNha5V4zSOcxmAZsfGVm/PPFbwQdqEkDnhG+SyR9E3zSHUbOKXBQ==}
|
||||||
engines: {node: '>= 8.0'}
|
engines: {node: '>= 8.0'}
|
||||||
@@ -1749,8 +1760,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.0:
|
http-errors@2.0.1:
|
||||||
resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==}
|
resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==}
|
||||||
engines: {node: '>= 0.8'}
|
engines: {node: '>= 0.8'}
|
||||||
|
|
||||||
http2-wrapper@2.2.1:
|
http2-wrapper@2.2.1:
|
||||||
@@ -2201,8 +2212,8 @@ packages:
|
|||||||
next: '>= 10.0.0'
|
next: '>= 10.0.0'
|
||||||
react: '>= 16.8.0'
|
react: '>= 16.8.0'
|
||||||
|
|
||||||
next@15.5.2:
|
next@15.5.9:
|
||||||
resolution: {integrity: sha512-H8Otr7abj1glFhbGnvUt3gz++0AF1+QoCXEBmd/6aKbfdFwrn0LpA836Ed5+00va/7HQSDD+mOoVhn3tNy3e/Q==}
|
resolution: {integrity: sha512-agNLK89seZEtC5zUHwtut0+tNrc0Xw4FT/Dg+B/VLEo9pAcS9rtTKpek3V6kVcVwsB2YlqMaHdfZL4eLEVYuCg==}
|
||||||
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:
|
||||||
@@ -2371,8 +2382,8 @@ packages:
|
|||||||
vue-tsc:
|
vue-tsc:
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
prettier@3.6.2:
|
prettier@3.7.3:
|
||||||
resolution: {integrity: sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==}
|
resolution: {integrity: sha512-QgODejq9K3OzoBbuyobZlUhznP5SKwPqp+6Q6xw6o8gnhr4O85L2U915iM2IDcfF2NPXVaM9zlo9tdwipnYwzg==}
|
||||||
engines: {node: '>=14'}
|
engines: {node: '>=14'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
@@ -2409,8 +2420,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.1:
|
raw-body@3.0.2:
|
||||||
resolution: {integrity: sha512-9G8cA+tuMS75+6G/TzW8OtLzmBDMo8p1JRxN5AZ+LAp8uxGA8V8GZm4GQ4/N5QNQEnLmg6SS7wyuSmbKepiKqA==}
|
resolution: {integrity: sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==}
|
||||||
engines: {node: '>= 0.10'}
|
engines: {node: '>= 0.10'}
|
||||||
|
|
||||||
react-dom@18.3.1:
|
react-dom@18.3.1:
|
||||||
@@ -2597,8 +2608,8 @@ packages:
|
|||||||
resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
|
resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
semver@7.7.2:
|
semver@7.7.3:
|
||||||
resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==}
|
resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==}
|
||||||
engines: {node: '>=10'}
|
engines: {node: '>=10'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
@@ -2617,8 +2628,8 @@ packages:
|
|||||||
setprototypeof@1.2.0:
|
setprototypeof@1.2.0:
|
||||||
resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
|
resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
|
||||||
|
|
||||||
sharp@0.34.3:
|
sharp@0.34.5:
|
||||||
resolution: {integrity: sha512-eX2IQ6nFohW4DbvHIOLRB3MHFpYqaqvXd3Tp5e/T/dSH83fxaNJQRvDMhASmkNTsNTVF2/OOopzRCt7xokgPfg==}
|
resolution: {integrity: sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==}
|
||||||
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:
|
||||||
@@ -2669,8 +2680,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.1:
|
statuses@2.0.2:
|
||||||
resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==}
|
resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==}
|
||||||
engines: {node: '>= 0.8'}
|
engines: {node: '>= 0.8'}
|
||||||
|
|
||||||
stop-iteration-iterator@1.1.0:
|
stop-iteration-iterator@1.1.0:
|
||||||
@@ -2776,8 +2787,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.7:
|
systeminformation@5.27.11:
|
||||||
resolution: {integrity: sha512-saaqOoVEEFaux4v0K8Q7caiauRwjXC4XbD2eH60dxHXbpKxQ8kH9Rf7Jh+nryKpOUSEFxtCdBlSUx0/lO6rwRg==}
|
resolution: {integrity: sha512-K3Lto/2m3K2twmKHdgx5B+0in9qhXK4YnoT9rIlgwN/4v7OV5c8IjbeAUkuky/6VzCQC7iKCAqi8rZathCdjHg==}
|
||||||
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
|
||||||
@@ -3078,7 +3089,7 @@ snapshots:
|
|||||||
tslib: 2.8.1
|
tslib: 2.8.1
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@emnapi/runtime@1.5.0':
|
'@emnapi/runtime@1.7.1':
|
||||||
dependencies:
|
dependencies:
|
||||||
tslib: 2.8.1
|
tslib: 2.8.1
|
||||||
optional: true
|
optional: true
|
||||||
@@ -3192,90 +3203,101 @@ snapshots:
|
|||||||
|
|
||||||
'@humanwhocodes/retry@0.4.2': {}
|
'@humanwhocodes/retry@0.4.2': {}
|
||||||
|
|
||||||
'@img/sharp-darwin-arm64@0.34.3':
|
'@img/colour@1.0.0':
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
'@img/sharp-darwin-arm64@0.34.5':
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@img/sharp-libvips-darwin-arm64': 1.2.0
|
'@img/sharp-libvips-darwin-arm64': 1.2.4
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@img/sharp-darwin-x64@0.34.3':
|
'@img/sharp-darwin-x64@0.34.5':
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@img/sharp-libvips-darwin-x64': 1.2.0
|
'@img/sharp-libvips-darwin-x64': 1.2.4
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@img/sharp-libvips-darwin-arm64@1.2.0':
|
'@img/sharp-libvips-darwin-arm64@1.2.4':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@img/sharp-libvips-darwin-x64@1.2.0':
|
'@img/sharp-libvips-darwin-x64@1.2.4':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@img/sharp-libvips-linux-arm64@1.2.0':
|
'@img/sharp-libvips-linux-arm64@1.2.4':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@img/sharp-libvips-linux-arm@1.2.0':
|
'@img/sharp-libvips-linux-arm@1.2.4':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@img/sharp-libvips-linux-ppc64@1.2.0':
|
'@img/sharp-libvips-linux-ppc64@1.2.4':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@img/sharp-libvips-linux-s390x@1.2.0':
|
'@img/sharp-libvips-linux-riscv64@1.2.4':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@img/sharp-libvips-linux-x64@1.2.0':
|
'@img/sharp-libvips-linux-s390x@1.2.4':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@img/sharp-libvips-linuxmusl-arm64@1.2.0':
|
'@img/sharp-libvips-linux-x64@1.2.4':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@img/sharp-libvips-linuxmusl-x64@1.2.0':
|
'@img/sharp-libvips-linuxmusl-arm64@1.2.4':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@img/sharp-linux-arm64@0.34.3':
|
'@img/sharp-libvips-linuxmusl-x64@1.2.4':
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
'@img/sharp-linux-arm64@0.34.5':
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@img/sharp-libvips-linux-arm64': 1.2.0
|
'@img/sharp-libvips-linux-arm64': 1.2.4
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@img/sharp-linux-arm@0.34.3':
|
'@img/sharp-linux-arm@0.34.5':
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@img/sharp-libvips-linux-arm': 1.2.0
|
'@img/sharp-libvips-linux-arm': 1.2.4
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@img/sharp-linux-ppc64@0.34.3':
|
'@img/sharp-linux-ppc64@0.34.5':
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@img/sharp-libvips-linux-ppc64': 1.2.0
|
'@img/sharp-libvips-linux-ppc64': 1.2.4
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@img/sharp-linux-s390x@0.34.3':
|
'@img/sharp-linux-riscv64@0.34.5':
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@img/sharp-libvips-linux-s390x': 1.2.0
|
'@img/sharp-libvips-linux-riscv64': 1.2.4
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@img/sharp-linux-x64@0.34.3':
|
'@img/sharp-linux-s390x@0.34.5':
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@img/sharp-libvips-linux-x64': 1.2.0
|
'@img/sharp-libvips-linux-s390x': 1.2.4
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@img/sharp-linuxmusl-arm64@0.34.3':
|
'@img/sharp-linux-x64@0.34.5':
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@img/sharp-libvips-linuxmusl-arm64': 1.2.0
|
'@img/sharp-libvips-linux-x64': 1.2.4
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@img/sharp-linuxmusl-x64@0.34.3':
|
'@img/sharp-linuxmusl-arm64@0.34.5':
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@img/sharp-libvips-linuxmusl-x64': 1.2.0
|
'@img/sharp-libvips-linuxmusl-arm64': 1.2.4
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@img/sharp-wasm32@0.34.3':
|
'@img/sharp-linuxmusl-x64@0.34.5':
|
||||||
|
optionalDependencies:
|
||||||
|
'@img/sharp-libvips-linuxmusl-x64': 1.2.4
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
'@img/sharp-wasm32@0.34.5':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@emnapi/runtime': 1.5.0
|
'@emnapi/runtime': 1.7.1
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@img/sharp-win32-arm64@0.34.3':
|
'@img/sharp-win32-arm64@0.34.5':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@img/sharp-win32-ia32@0.34.3':
|
'@img/sharp-win32-ia32@0.34.5':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@img/sharp-win32-x64@0.34.3':
|
'@img/sharp-win32-x64@0.34.5':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@isaacs/cliui@8.0.2':
|
'@isaacs/cliui@8.0.2':
|
||||||
@@ -3348,38 +3370,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.5.0
|
'@emnapi/runtime': 1.7.1
|
||||||
'@tybys/wasm-util': 0.9.0
|
'@tybys/wasm-util': 0.9.0
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@next/env@15.5.2': {}
|
'@next/env@15.5.9': {}
|
||||||
|
|
||||||
'@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.2':
|
'@next/swc-darwin-arm64@15.5.7':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@next/swc-darwin-x64@15.5.2':
|
'@next/swc-darwin-x64@15.5.7':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@next/swc-linux-arm64-gnu@15.5.2':
|
'@next/swc-linux-arm64-gnu@15.5.7':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@next/swc-linux-arm64-musl@15.5.2':
|
'@next/swc-linux-arm64-musl@15.5.7':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@next/swc-linux-x64-gnu@15.5.2':
|
'@next/swc-linux-x64-gnu@15.5.7':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@next/swc-linux-x64-musl@15.5.2':
|
'@next/swc-linux-x64-musl@15.5.7':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@next/swc-win32-arm64-msvc@15.5.2':
|
'@next/swc-win32-arm64-msvc@15.5.7':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@next/swc-win32-x64-msvc@15.5.2':
|
'@next/swc-win32-x64-msvc@15.5.7':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@nodelib/fs.scandir@2.1.5':
|
'@nodelib/fs.scandir@2.1.5':
|
||||||
@@ -3727,7 +3749,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.2
|
semver: 7.7.3
|
||||||
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:
|
||||||
@@ -4002,7 +4024,7 @@ snapshots:
|
|||||||
|
|
||||||
callsites@3.1.0: {}
|
callsites@3.1.0: {}
|
||||||
|
|
||||||
caniuse-lite@1.0.30001739: {}
|
caniuse-lite@1.0.30001760: {}
|
||||||
|
|
||||||
chalk@4.1.2:
|
chalk@4.1.2:
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -4047,12 +4069,6 @@ 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
|
||||||
@@ -4184,11 +4200,11 @@ snapshots:
|
|||||||
|
|
||||||
dequal@2.0.3: {}
|
dequal@2.0.3: {}
|
||||||
|
|
||||||
detect-libc@2.0.4:
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
detect-libc@2.1.1: {}
|
detect-libc@2.1.1: {}
|
||||||
|
|
||||||
|
detect-libc@2.1.2:
|
||||||
|
optional: true
|
||||||
|
|
||||||
docker-modem@5.0.6:
|
docker-modem@5.0.6:
|
||||||
dependencies:
|
dependencies:
|
||||||
debug: 4.4.1
|
debug: 4.4.1
|
||||||
@@ -4506,10 +4522,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.6.2):
|
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):
|
||||||
dependencies:
|
dependencies:
|
||||||
eslint: 9.25.1(jiti@2.6.1)
|
eslint: 9.25.1(jiti@2.6.1)
|
||||||
prettier: 3.6.2
|
prettier: 3.7.3
|
||||||
prettier-linter-helpers: 1.0.0
|
prettier-linter-helpers: 1.0.0
|
||||||
synckit: 0.11.11
|
synckit: 0.11.11
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
@@ -4850,12 +4866,12 @@ snapshots:
|
|||||||
|
|
||||||
http-cache-semantics@4.2.0: {}
|
http-cache-semantics@4.2.0: {}
|
||||||
|
|
||||||
http-errors@2.0.0:
|
http-errors@2.0.1:
|
||||||
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.1
|
statuses: 2.0.2
|
||||||
toidentifier: 1.0.1
|
toidentifier: 1.0.1
|
||||||
|
|
||||||
http2-wrapper@2.2.1:
|
http2-wrapper@2.2.1:
|
||||||
@@ -4931,7 +4947,7 @@ snapshots:
|
|||||||
|
|
||||||
is-bun-module@2.0.0:
|
is-bun-module@2.0.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
semver: 7.7.2
|
semver: 7.7.3
|
||||||
|
|
||||||
is-callable@1.2.7: {}
|
is-callable@1.2.7: {}
|
||||||
|
|
||||||
@@ -5243,7 +5259,7 @@ snapshots:
|
|||||||
|
|
||||||
net@1.0.2: {}
|
net@1.0.2: {}
|
||||||
|
|
||||||
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):
|
next-i18next@12.1.0(next@15.5.9(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
|
||||||
@@ -5251,32 +5267,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.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
|
next: 15.5.9(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.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
|
next@15.5.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@next/env': 15.5.2
|
'@next/env': 15.5.9
|
||||||
'@swc/helpers': 0.5.15
|
'@swc/helpers': 0.5.15
|
||||||
caniuse-lite: 1.0.30001739
|
caniuse-lite: 1.0.30001760
|
||||||
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.2
|
'@next/swc-darwin-arm64': 15.5.7
|
||||||
'@next/swc-darwin-x64': 15.5.2
|
'@next/swc-darwin-x64': 15.5.7
|
||||||
'@next/swc-linux-arm64-gnu': 15.5.2
|
'@next/swc-linux-arm64-gnu': 15.5.7
|
||||||
'@next/swc-linux-arm64-musl': 15.5.2
|
'@next/swc-linux-arm64-musl': 15.5.7
|
||||||
'@next/swc-linux-x64-gnu': 15.5.2
|
'@next/swc-linux-x64-gnu': 15.5.7
|
||||||
'@next/swc-linux-x64-musl': 15.5.2
|
'@next/swc-linux-x64-musl': 15.5.7
|
||||||
'@next/swc-win32-arm64-msvc': 15.5.2
|
'@next/swc-win32-arm64-msvc': 15.5.7
|
||||||
'@next/swc-win32-x64-msvc': 15.5.2
|
'@next/swc-win32-x64-msvc': 15.5.7
|
||||||
sharp: 0.34.3
|
sharp: 0.34.5
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- '@babel/core'
|
- '@babel/core'
|
||||||
- babel-plugin-macros
|
- babel-plugin-macros
|
||||||
@@ -5416,12 +5432,12 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
fast-diff: 1.3.0
|
fast-diff: 1.3.0
|
||||||
|
|
||||||
prettier-plugin-organize-imports@4.3.0(prettier@3.6.2)(typescript@5.7.3):
|
prettier-plugin-organize-imports@4.3.0(prettier@3.7.3)(typescript@5.7.3):
|
||||||
dependencies:
|
dependencies:
|
||||||
prettier: 3.6.2
|
prettier: 3.7.3
|
||||||
typescript: 5.7.3
|
typescript: 5.7.3
|
||||||
|
|
||||||
prettier@3.6.2: {}
|
prettier@3.7.3: {}
|
||||||
|
|
||||||
pretty-bytes@7.1.0: {}
|
pretty-bytes@7.1.0: {}
|
||||||
|
|
||||||
@@ -5465,10 +5481,10 @@ snapshots:
|
|||||||
|
|
||||||
quick-lru@5.1.1: {}
|
quick-lru@5.1.1: {}
|
||||||
|
|
||||||
raw-body@3.0.1:
|
raw-body@3.0.2:
|
||||||
dependencies:
|
dependencies:
|
||||||
bytes: 3.1.2
|
bytes: 3.1.2
|
||||||
http-errors: 2.0.0
|
http-errors: 2.0.1
|
||||||
iconv-lite: 0.7.0
|
iconv-lite: 0.7.0
|
||||||
unpipe: 1.0.0
|
unpipe: 1.0.0
|
||||||
|
|
||||||
@@ -5668,7 +5684,7 @@ snapshots:
|
|||||||
|
|
||||||
semver@6.3.1: {}
|
semver@6.3.1: {}
|
||||||
|
|
||||||
semver@7.7.2: {}
|
semver@7.7.3: {}
|
||||||
|
|
||||||
set-function-length@1.2.2:
|
set-function-length@1.2.2:
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -5694,34 +5710,36 @@ snapshots:
|
|||||||
|
|
||||||
setprototypeof@1.2.0: {}
|
setprototypeof@1.2.0: {}
|
||||||
|
|
||||||
sharp@0.34.3:
|
sharp@0.34.5:
|
||||||
dependencies:
|
dependencies:
|
||||||
color: 4.2.3
|
'@img/colour': 1.0.0
|
||||||
detect-libc: 2.0.4
|
detect-libc: 2.1.2
|
||||||
semver: 7.7.2
|
semver: 7.7.3
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@img/sharp-darwin-arm64': 0.34.3
|
'@img/sharp-darwin-arm64': 0.34.5
|
||||||
'@img/sharp-darwin-x64': 0.34.3
|
'@img/sharp-darwin-x64': 0.34.5
|
||||||
'@img/sharp-libvips-darwin-arm64': 1.2.0
|
'@img/sharp-libvips-darwin-arm64': 1.2.4
|
||||||
'@img/sharp-libvips-darwin-x64': 1.2.0
|
'@img/sharp-libvips-darwin-x64': 1.2.4
|
||||||
'@img/sharp-libvips-linux-arm': 1.2.0
|
'@img/sharp-libvips-linux-arm': 1.2.4
|
||||||
'@img/sharp-libvips-linux-arm64': 1.2.0
|
'@img/sharp-libvips-linux-arm64': 1.2.4
|
||||||
'@img/sharp-libvips-linux-ppc64': 1.2.0
|
'@img/sharp-libvips-linux-ppc64': 1.2.4
|
||||||
'@img/sharp-libvips-linux-s390x': 1.2.0
|
'@img/sharp-libvips-linux-riscv64': 1.2.4
|
||||||
'@img/sharp-libvips-linux-x64': 1.2.0
|
'@img/sharp-libvips-linux-s390x': 1.2.4
|
||||||
'@img/sharp-libvips-linuxmusl-arm64': 1.2.0
|
'@img/sharp-libvips-linux-x64': 1.2.4
|
||||||
'@img/sharp-libvips-linuxmusl-x64': 1.2.0
|
'@img/sharp-libvips-linuxmusl-arm64': 1.2.4
|
||||||
'@img/sharp-linux-arm': 0.34.3
|
'@img/sharp-libvips-linuxmusl-x64': 1.2.4
|
||||||
'@img/sharp-linux-arm64': 0.34.3
|
'@img/sharp-linux-arm': 0.34.5
|
||||||
'@img/sharp-linux-ppc64': 0.34.3
|
'@img/sharp-linux-arm64': 0.34.5
|
||||||
'@img/sharp-linux-s390x': 0.34.3
|
'@img/sharp-linux-ppc64': 0.34.5
|
||||||
'@img/sharp-linux-x64': 0.34.3
|
'@img/sharp-linux-riscv64': 0.34.5
|
||||||
'@img/sharp-linuxmusl-arm64': 0.34.3
|
'@img/sharp-linux-s390x': 0.34.5
|
||||||
'@img/sharp-linuxmusl-x64': 0.34.3
|
'@img/sharp-linux-x64': 0.34.5
|
||||||
'@img/sharp-wasm32': 0.34.3
|
'@img/sharp-linuxmusl-arm64': 0.34.5
|
||||||
'@img/sharp-win32-arm64': 0.34.3
|
'@img/sharp-linuxmusl-x64': 0.34.5
|
||||||
'@img/sharp-win32-ia32': 0.34.3
|
'@img/sharp-wasm32': 0.34.5
|
||||||
'@img/sharp-win32-x64': 0.34.3
|
'@img/sharp-win32-arm64': 0.34.5
|
||||||
|
'@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:
|
||||||
@@ -5780,7 +5798,7 @@ snapshots:
|
|||||||
|
|
||||||
stack-trace@0.0.10: {}
|
stack-trace@0.0.10: {}
|
||||||
|
|
||||||
statuses@2.0.1: {}
|
statuses@2.0.2: {}
|
||||||
|
|
||||||
stop-iteration-iterator@1.1.0:
|
stop-iteration-iterator@1.1.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -5905,7 +5923,7 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
'@pkgr/core': 0.2.9
|
'@pkgr/core': 0.2.9
|
||||||
|
|
||||||
systeminformation@5.27.7: {}
|
systeminformation@5.27.11: {}
|
||||||
|
|
||||||
tabbable@6.3.0: {}
|
tabbable@6.3.0: {}
|
||||||
|
|
||||||
|
|||||||
@@ -599,6 +599,15 @@
|
|||||||
"inbox": "Inmandjie",
|
"inbox": "Inmandjie",
|
||||||
"total": "Totaal"
|
"total": "Totaal"
|
||||||
},
|
},
|
||||||
|
"pangolin": {
|
||||||
|
"orgs": "Orgs",
|
||||||
|
"sites": "Sites",
|
||||||
|
"resources": "Bronne",
|
||||||
|
"targets": "Teikens",
|
||||||
|
"traffic": "Verkeer",
|
||||||
|
"in": "In",
|
||||||
|
"out": "Uit"
|
||||||
|
},
|
||||||
"peanut": {
|
"peanut": {
|
||||||
"battery_charge": "Batterylading",
|
"battery_charge": "Batterylading",
|
||||||
"ups_load": "SVE-lading",
|
"ups_load": "SVE-lading",
|
||||||
@@ -759,7 +768,8 @@
|
|||||||
"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",
|
||||||
|
|||||||
@@ -599,6 +599,15 @@
|
|||||||
"inbox": "صندوق الوارد",
|
"inbox": "صندوق الوارد",
|
||||||
"total": "Total"
|
"total": "Total"
|
||||||
},
|
},
|
||||||
|
"pangolin": {
|
||||||
|
"orgs": "Orgs",
|
||||||
|
"sites": "Sites",
|
||||||
|
"resources": "Resources",
|
||||||
|
"targets": "Targets",
|
||||||
|
"traffic": "Traffic",
|
||||||
|
"in": "In",
|
||||||
|
"out": "Out"
|
||||||
|
},
|
||||||
"peanut": {
|
"peanut": {
|
||||||
"battery_charge": "شحن البطارية",
|
"battery_charge": "شحن البطارية",
|
||||||
"ups_load": "حمل UPS",
|
"ups_load": "حمل UPS",
|
||||||
@@ -759,7 +768,8 @@
|
|||||||
"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": "بودكاست",
|
||||||
|
|||||||
@@ -599,6 +599,15 @@
|
|||||||
"inbox": "Входящи",
|
"inbox": "Входящи",
|
||||||
"total": "Total"
|
"total": "Total"
|
||||||
},
|
},
|
||||||
|
"pangolin": {
|
||||||
|
"orgs": "Orgs",
|
||||||
|
"sites": "Sites",
|
||||||
|
"resources": "Resources",
|
||||||
|
"targets": "Targets",
|
||||||
|
"traffic": "Traffic",
|
||||||
|
"in": "In",
|
||||||
|
"out": "Out"
|
||||||
|
},
|
||||||
"peanut": {
|
"peanut": {
|
||||||
"battery_charge": "Заряд на батерията",
|
"battery_charge": "Заряд на батерията",
|
||||||
"ups_load": "Натоварване на UPS",
|
"ups_load": "Натоварване на UPS",
|
||||||
@@ -759,7 +768,8 @@
|
|||||||
"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": "Подкасти",
|
||||||
|
|||||||
@@ -599,6 +599,15 @@
|
|||||||
"inbox": "Safata d'entrada",
|
"inbox": "Safata d'entrada",
|
||||||
"total": "Total"
|
"total": "Total"
|
||||||
},
|
},
|
||||||
|
"pangolin": {
|
||||||
|
"orgs": "Orgs",
|
||||||
|
"sites": "Sites",
|
||||||
|
"resources": "Resources",
|
||||||
|
"targets": "Targets",
|
||||||
|
"traffic": "Traffic",
|
||||||
|
"in": "In",
|
||||||
|
"out": "Out"
|
||||||
|
},
|
||||||
"peanut": {
|
"peanut": {
|
||||||
"battery_charge": "Càrrega de la bateria",
|
"battery_charge": "Càrrega de la bateria",
|
||||||
"ups_load": "Càrrega del SAI",
|
"ups_load": "Càrrega del SAI",
|
||||||
@@ -759,7 +768,8 @@
|
|||||||
"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",
|
||||||
|
|||||||
@@ -599,6 +599,15 @@
|
|||||||
"inbox": "Doručená pošta",
|
"inbox": "Doručená pošta",
|
||||||
"total": "Total"
|
"total": "Total"
|
||||||
},
|
},
|
||||||
|
"pangolin": {
|
||||||
|
"orgs": "Orgs",
|
||||||
|
"sites": "Sites",
|
||||||
|
"resources": "Resources",
|
||||||
|
"targets": "Targets",
|
||||||
|
"traffic": "Traffic",
|
||||||
|
"in": "In",
|
||||||
|
"out": "Out"
|
||||||
|
},
|
||||||
"peanut": {
|
"peanut": {
|
||||||
"battery_charge": "Úroveň baterie",
|
"battery_charge": "Úroveň baterie",
|
||||||
"ups_load": "Zítěž UPS",
|
"ups_load": "Zítěž UPS",
|
||||||
@@ -759,7 +768,8 @@
|
|||||||
"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",
|
||||||
|
|||||||
@@ -599,6 +599,15 @@
|
|||||||
"inbox": "Indbakke",
|
"inbox": "Indbakke",
|
||||||
"total": "Total"
|
"total": "Total"
|
||||||
},
|
},
|
||||||
|
"pangolin": {
|
||||||
|
"orgs": "Orgs",
|
||||||
|
"sites": "Sites",
|
||||||
|
"resources": "Resources",
|
||||||
|
"targets": "Targets",
|
||||||
|
"traffic": "Traffic",
|
||||||
|
"in": "In",
|
||||||
|
"out": "Out"
|
||||||
|
},
|
||||||
"peanut": {
|
"peanut": {
|
||||||
"battery_charge": "Batteriniveau",
|
"battery_charge": "Batteriniveau",
|
||||||
"ups_load": "UPS Load",
|
"ups_load": "UPS Load",
|
||||||
@@ -759,7 +768,8 @@
|
|||||||
"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",
|
||||||
|
|||||||
@@ -599,6 +599,15 @@
|
|||||||
"inbox": "Posteingang",
|
"inbox": "Posteingang",
|
||||||
"total": "Total"
|
"total": "Total"
|
||||||
},
|
},
|
||||||
|
"pangolin": {
|
||||||
|
"orgs": "Orgs",
|
||||||
|
"sites": "Sites",
|
||||||
|
"resources": "Resources",
|
||||||
|
"targets": "Targets",
|
||||||
|
"traffic": "Traffic",
|
||||||
|
"in": "In",
|
||||||
|
"out": "Out"
|
||||||
|
},
|
||||||
"peanut": {
|
"peanut": {
|
||||||
"battery_charge": "Akkuladung",
|
"battery_charge": "Akkuladung",
|
||||||
"ups_load": "USV-Auslastung",
|
"ups_load": "USV-Auslastung",
|
||||||
@@ -759,7 +768,8 @@
|
|||||||
"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",
|
||||||
|
|||||||
@@ -599,6 +599,15 @@
|
|||||||
"inbox": "Εισερχόμενα",
|
"inbox": "Εισερχόμενα",
|
||||||
"total": "Total"
|
"total": "Total"
|
||||||
},
|
},
|
||||||
|
"pangolin": {
|
||||||
|
"orgs": "Orgs",
|
||||||
|
"sites": "Sites",
|
||||||
|
"resources": "Resources",
|
||||||
|
"targets": "Targets",
|
||||||
|
"traffic": "Traffic",
|
||||||
|
"in": "In",
|
||||||
|
"out": "Out"
|
||||||
|
},
|
||||||
"peanut": {
|
"peanut": {
|
||||||
"battery_charge": "Battery Charge",
|
"battery_charge": "Battery Charge",
|
||||||
"ups_load": "UPS Load",
|
"ups_load": "UPS Load",
|
||||||
@@ -759,7 +768,8 @@
|
|||||||
"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",
|
||||||
|
|||||||
@@ -599,6 +599,15 @@
|
|||||||
"inbox": "Inbox",
|
"inbox": "Inbox",
|
||||||
"total": "Total"
|
"total": "Total"
|
||||||
},
|
},
|
||||||
|
"pangolin": {
|
||||||
|
"orgs": "Orgs",
|
||||||
|
"sites": "Sites",
|
||||||
|
"resources": "Resources",
|
||||||
|
"targets": "Targets",
|
||||||
|
"traffic": "Traffic",
|
||||||
|
"in": "In",
|
||||||
|
"out": "Out"
|
||||||
|
},
|
||||||
"peanut": {
|
"peanut": {
|
||||||
"battery_charge": "Battery Charge",
|
"battery_charge": "Battery Charge",
|
||||||
"ups_load": "UPS Load",
|
"ups_load": "UPS Load",
|
||||||
|
|||||||
@@ -599,6 +599,15 @@
|
|||||||
"inbox": "Inbox",
|
"inbox": "Inbox",
|
||||||
"total": "Total"
|
"total": "Total"
|
||||||
},
|
},
|
||||||
|
"pangolin": {
|
||||||
|
"orgs": "Orgs",
|
||||||
|
"sites": "Sites",
|
||||||
|
"resources": "Resources",
|
||||||
|
"targets": "Targets",
|
||||||
|
"traffic": "Traffic",
|
||||||
|
"in": "In",
|
||||||
|
"out": "Out"
|
||||||
|
},
|
||||||
"peanut": {
|
"peanut": {
|
||||||
"battery_charge": "Battery Charge",
|
"battery_charge": "Battery Charge",
|
||||||
"ups_load": "UPS Load",
|
"ups_load": "UPS Load",
|
||||||
@@ -759,7 +768,8 @@
|
|||||||
"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",
|
||||||
|
|||||||
@@ -599,6 +599,15 @@
|
|||||||
"inbox": "Bandeja de entrada",
|
"inbox": "Bandeja de entrada",
|
||||||
"total": "Total"
|
"total": "Total"
|
||||||
},
|
},
|
||||||
|
"pangolin": {
|
||||||
|
"orgs": "Orgs",
|
||||||
|
"sites": "Sites",
|
||||||
|
"resources": "Resources",
|
||||||
|
"targets": "Targets",
|
||||||
|
"traffic": "Traffic",
|
||||||
|
"in": "In",
|
||||||
|
"out": "Out"
|
||||||
|
},
|
||||||
"peanut": {
|
"peanut": {
|
||||||
"battery_charge": "Carga de la batería",
|
"battery_charge": "Carga de la batería",
|
||||||
"ups_load": "Carga del UPS",
|
"ups_load": "Carga del UPS",
|
||||||
@@ -759,7 +768,8 @@
|
|||||||
"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",
|
||||||
|
|||||||
@@ -599,6 +599,15 @@
|
|||||||
"inbox": "Inbox",
|
"inbox": "Inbox",
|
||||||
"total": "Total"
|
"total": "Total"
|
||||||
},
|
},
|
||||||
|
"pangolin": {
|
||||||
|
"orgs": "Orgs",
|
||||||
|
"sites": "Sites",
|
||||||
|
"resources": "Resources",
|
||||||
|
"targets": "Targets",
|
||||||
|
"traffic": "Traffic",
|
||||||
|
"in": "In",
|
||||||
|
"out": "Out"
|
||||||
|
},
|
||||||
"peanut": {
|
"peanut": {
|
||||||
"battery_charge": "Battery Charge",
|
"battery_charge": "Battery Charge",
|
||||||
"ups_load": "UPS Load",
|
"ups_load": "UPS Load",
|
||||||
@@ -759,7 +768,8 @@
|
|||||||
"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",
|
||||||
|
|||||||
@@ -599,6 +599,15 @@
|
|||||||
"inbox": "Inbox",
|
"inbox": "Inbox",
|
||||||
"total": "Total"
|
"total": "Total"
|
||||||
},
|
},
|
||||||
|
"pangolin": {
|
||||||
|
"orgs": "Orgs",
|
||||||
|
"sites": "Sites",
|
||||||
|
"resources": "Resources",
|
||||||
|
"targets": "Targets",
|
||||||
|
"traffic": "Traffic",
|
||||||
|
"in": "In",
|
||||||
|
"out": "Out"
|
||||||
|
},
|
||||||
"peanut": {
|
"peanut": {
|
||||||
"battery_charge": "Battery Charge",
|
"battery_charge": "Battery Charge",
|
||||||
"ups_load": "UPS Load",
|
"ups_load": "UPS Load",
|
||||||
@@ -759,7 +768,8 @@
|
|||||||
"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": "Cache Hit (B)",
|
"cachehitbytes": "Octets acquis du cache",
|
||||||
"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",
|
||||||
@@ -599,6 +599,15 @@
|
|||||||
"inbox": "Boîte de réception",
|
"inbox": "Boîte de réception",
|
||||||
"total": "Total"
|
"total": "Total"
|
||||||
},
|
},
|
||||||
|
"pangolin": {
|
||||||
|
"orgs": "Orgs",
|
||||||
|
"sites": "Sites",
|
||||||
|
"resources": "Resources",
|
||||||
|
"targets": "Targets",
|
||||||
|
"traffic": "Traffic",
|
||||||
|
"in": "In",
|
||||||
|
"out": "Out"
|
||||||
|
},
|
||||||
"peanut": {
|
"peanut": {
|
||||||
"battery_charge": "Charge de la batterie",
|
"battery_charge": "Charge de la batterie",
|
||||||
"ups_load": "Charge de l’ASI",
|
"ups_load": "Charge de l’ASI",
|
||||||
@@ -759,7 +768,8 @@
|
|||||||
"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",
|
||||||
@@ -1091,7 +1101,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": "Swap Disable",
|
"SWAP_DSBL": "Désactiver le swap",
|
||||||
"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",
|
||||||
|
|||||||
@@ -599,6 +599,15 @@
|
|||||||
"inbox": "תיבת דואר נכנס",
|
"inbox": "תיבת דואר נכנס",
|
||||||
"total": "סה\"כ"
|
"total": "סה\"כ"
|
||||||
},
|
},
|
||||||
|
"pangolin": {
|
||||||
|
"orgs": "Orgs",
|
||||||
|
"sites": "Sites",
|
||||||
|
"resources": "Resources",
|
||||||
|
"targets": "Targets",
|
||||||
|
"traffic": "Traffic",
|
||||||
|
"in": "In",
|
||||||
|
"out": "Out"
|
||||||
|
},
|
||||||
"peanut": {
|
"peanut": {
|
||||||
"battery_charge": "טעינת סוללה",
|
"battery_charge": "טעינת סוללה",
|
||||||
"ups_load": "עומס UPS",
|
"ups_load": "עומס UPS",
|
||||||
@@ -759,7 +768,8 @@
|
|||||||
"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": "פודקאסטים",
|
||||||
|
|||||||
@@ -599,6 +599,15 @@
|
|||||||
"inbox": "Inbox",
|
"inbox": "Inbox",
|
||||||
"total": "Total"
|
"total": "Total"
|
||||||
},
|
},
|
||||||
|
"pangolin": {
|
||||||
|
"orgs": "Orgs",
|
||||||
|
"sites": "Sites",
|
||||||
|
"resources": "Resources",
|
||||||
|
"targets": "Targets",
|
||||||
|
"traffic": "Traffic",
|
||||||
|
"in": "In",
|
||||||
|
"out": "Out"
|
||||||
|
},
|
||||||
"peanut": {
|
"peanut": {
|
||||||
"battery_charge": "Battery Charge",
|
"battery_charge": "Battery Charge",
|
||||||
"ups_load": "UPS Load",
|
"ups_load": "UPS Load",
|
||||||
@@ -759,7 +768,8 @@
|
|||||||
"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",
|
||||||
|
|||||||
@@ -599,6 +599,15 @@
|
|||||||
"inbox": "Ulazni sandučić",
|
"inbox": "Ulazni sandučić",
|
||||||
"total": "Ukupno"
|
"total": "Ukupno"
|
||||||
},
|
},
|
||||||
|
"pangolin": {
|
||||||
|
"orgs": "Orgs",
|
||||||
|
"sites": "Sites",
|
||||||
|
"resources": "Resources",
|
||||||
|
"targets": "Targets",
|
||||||
|
"traffic": "Traffic",
|
||||||
|
"in": "In",
|
||||||
|
"out": "Out"
|
||||||
|
},
|
||||||
"peanut": {
|
"peanut": {
|
||||||
"battery_charge": "Napunjenost baterije",
|
"battery_charge": "Napunjenost baterije",
|
||||||
"ups_load": "UPS opterećenje",
|
"ups_load": "UPS opterećenje",
|
||||||
@@ -759,7 +768,8 @@
|
|||||||
"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",
|
||||||
|
|||||||
@@ -599,6 +599,15 @@
|
|||||||
"inbox": "Beérkezett",
|
"inbox": "Beérkezett",
|
||||||
"total": "Total"
|
"total": "Total"
|
||||||
},
|
},
|
||||||
|
"pangolin": {
|
||||||
|
"orgs": "Orgs",
|
||||||
|
"sites": "Sites",
|
||||||
|
"resources": "Resources",
|
||||||
|
"targets": "Targets",
|
||||||
|
"traffic": "Traffic",
|
||||||
|
"in": "In",
|
||||||
|
"out": "Out"
|
||||||
|
},
|
||||||
"peanut": {
|
"peanut": {
|
||||||
"battery_charge": "Akku töltöttsége",
|
"battery_charge": "Akku töltöttsége",
|
||||||
"ups_load": "UPS terheltsége",
|
"ups_load": "UPS terheltsége",
|
||||||
@@ -759,7 +768,8 @@
|
|||||||
"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",
|
||||||
|
|||||||
@@ -599,6 +599,15 @@
|
|||||||
"inbox": "Kotak Masuk",
|
"inbox": "Kotak Masuk",
|
||||||
"total": "Total"
|
"total": "Total"
|
||||||
},
|
},
|
||||||
|
"pangolin": {
|
||||||
|
"orgs": "Orgs",
|
||||||
|
"sites": "Sites",
|
||||||
|
"resources": "Resources",
|
||||||
|
"targets": "Targets",
|
||||||
|
"traffic": "Traffic",
|
||||||
|
"in": "In",
|
||||||
|
"out": "Out"
|
||||||
|
},
|
||||||
"peanut": {
|
"peanut": {
|
||||||
"battery_charge": "Sisa Baterai",
|
"battery_charge": "Sisa Baterai",
|
||||||
"ups_load": "Beban UPS",
|
"ups_load": "Beban UPS",
|
||||||
@@ -759,7 +768,8 @@
|
|||||||
"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": "Playing",
|
"playing": "In riproduzione",
|
||||||
"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": "Downloaded",
|
"download": "Scaricati",
|
||||||
"nondownload": "Non Scaricato",
|
"nondownload": "Non Scaricato",
|
||||||
"read": "Read",
|
"read": "Read",
|
||||||
"unread": "Unread",
|
"unread": "Unread",
|
||||||
@@ -599,6 +599,15 @@
|
|||||||
"inbox": "In arrivo",
|
"inbox": "In arrivo",
|
||||||
"total": "Total"
|
"total": "Total"
|
||||||
},
|
},
|
||||||
|
"pangolin": {
|
||||||
|
"orgs": "Orgs",
|
||||||
|
"sites": "Sites",
|
||||||
|
"resources": "Resources",
|
||||||
|
"targets": "Targets",
|
||||||
|
"traffic": "Traffic",
|
||||||
|
"in": "In",
|
||||||
|
"out": "Out"
|
||||||
|
},
|
||||||
"peanut": {
|
"peanut": {
|
||||||
"battery_charge": "Carica Batteria",
|
"battery_charge": "Carica Batteria",
|
||||||
"ups_load": "Carico UPS",
|
"ups_load": "Carico UPS",
|
||||||
@@ -759,7 +768,8 @@
|
|||||||
"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",
|
||||||
@@ -599,6 +599,15 @@
|
|||||||
"inbox": "受信トレイ",
|
"inbox": "受信トレイ",
|
||||||
"total": "Total"
|
"total": "Total"
|
||||||
},
|
},
|
||||||
|
"pangolin": {
|
||||||
|
"orgs": "Orgs",
|
||||||
|
"sites": "Sites",
|
||||||
|
"resources": "Resources",
|
||||||
|
"targets": "Targets",
|
||||||
|
"traffic": "Traffic",
|
||||||
|
"in": "In",
|
||||||
|
"out": "Out"
|
||||||
|
},
|
||||||
"peanut": {
|
"peanut": {
|
||||||
"battery_charge": "バッテリー充電",
|
"battery_charge": "バッテリー充電",
|
||||||
"ups_load": "UPS 負荷",
|
"ups_load": "UPS 負荷",
|
||||||
@@ -692,8 +701,8 @@
|
|||||||
},
|
},
|
||||||
"diskstation": {
|
"diskstation": {
|
||||||
"days": "Days",
|
"days": "Days",
|
||||||
"uptime": "Uptime",
|
"uptime": "稼働時間",
|
||||||
"volumeAvailable": "Available"
|
"volumeAvailable": "利用可能"
|
||||||
},
|
},
|
||||||
"mylar": {
|
"mylar": {
|
||||||
"series": "Series",
|
"series": "Series",
|
||||||
@@ -754,12 +763,13 @@
|
|||||||
"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": "ポッドキャスト",
|
||||||
|
|||||||
@@ -599,6 +599,15 @@
|
|||||||
"inbox": "받은 편지함",
|
"inbox": "받은 편지함",
|
||||||
"total": "전체"
|
"total": "전체"
|
||||||
},
|
},
|
||||||
|
"pangolin": {
|
||||||
|
"orgs": "Orgs",
|
||||||
|
"sites": "Sites",
|
||||||
|
"resources": "Resources",
|
||||||
|
"targets": "Targets",
|
||||||
|
"traffic": "Traffic",
|
||||||
|
"in": "In",
|
||||||
|
"out": "Out"
|
||||||
|
},
|
||||||
"peanut": {
|
"peanut": {
|
||||||
"battery_charge": "배터리 충전",
|
"battery_charge": "배터리 충전",
|
||||||
"ups_load": "UPS 부하",
|
"ups_load": "UPS 부하",
|
||||||
@@ -759,7 +768,8 @@
|
|||||||
"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": "팟캐스트",
|
||||||
|
|||||||
@@ -599,6 +599,15 @@
|
|||||||
"inbox": "Inbox",
|
"inbox": "Inbox",
|
||||||
"total": "Total"
|
"total": "Total"
|
||||||
},
|
},
|
||||||
|
"pangolin": {
|
||||||
|
"orgs": "Orgs",
|
||||||
|
"sites": "Sites",
|
||||||
|
"resources": "Resources",
|
||||||
|
"targets": "Targets",
|
||||||
|
"traffic": "Traffic",
|
||||||
|
"in": "In",
|
||||||
|
"out": "Out"
|
||||||
|
},
|
||||||
"peanut": {
|
"peanut": {
|
||||||
"battery_charge": "Battery Charge",
|
"battery_charge": "Battery Charge",
|
||||||
"ups_load": "UPS Load",
|
"ups_load": "UPS Load",
|
||||||
@@ -759,7 +768,8 @@
|
|||||||
"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",
|
||||||
|
|||||||
@@ -599,6 +599,15 @@
|
|||||||
"inbox": "Peti Masuk",
|
"inbox": "Peti Masuk",
|
||||||
"total": "Total"
|
"total": "Total"
|
||||||
},
|
},
|
||||||
|
"pangolin": {
|
||||||
|
"orgs": "Orgs",
|
||||||
|
"sites": "Sites",
|
||||||
|
"resources": "Resources",
|
||||||
|
"targets": "Targets",
|
||||||
|
"traffic": "Traffic",
|
||||||
|
"in": "In",
|
||||||
|
"out": "Out"
|
||||||
|
},
|
||||||
"peanut": {
|
"peanut": {
|
||||||
"battery_charge": "Bateri dicas",
|
"battery_charge": "Bateri dicas",
|
||||||
"ups_load": "Beban UPS",
|
"ups_load": "Beban UPS",
|
||||||
@@ -759,7 +768,8 @@
|
|||||||
"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",
|
||||||
|
|||||||
@@ -599,6 +599,15 @@
|
|||||||
"inbox": "Postvak In",
|
"inbox": "Postvak In",
|
||||||
"total": "Totaal"
|
"total": "Totaal"
|
||||||
},
|
},
|
||||||
|
"pangolin": {
|
||||||
|
"orgs": "Orgs",
|
||||||
|
"sites": "Sites",
|
||||||
|
"resources": "Resources",
|
||||||
|
"targets": "Targets",
|
||||||
|
"traffic": "Traffic",
|
||||||
|
"in": "In",
|
||||||
|
"out": "Out"
|
||||||
|
},
|
||||||
"peanut": {
|
"peanut": {
|
||||||
"battery_charge": "Batterij opladen",
|
"battery_charge": "Batterij opladen",
|
||||||
"ups_load": "UPS-belasting",
|
"ups_load": "UPS-belasting",
|
||||||
@@ -759,7 +768,8 @@
|
|||||||
"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",
|
||||||
|
|||||||
@@ -599,6 +599,15 @@
|
|||||||
"inbox": "Innboks",
|
"inbox": "Innboks",
|
||||||
"total": "Total"
|
"total": "Total"
|
||||||
},
|
},
|
||||||
|
"pangolin": {
|
||||||
|
"orgs": "Orgs",
|
||||||
|
"sites": "Sites",
|
||||||
|
"resources": "Resources",
|
||||||
|
"targets": "Targets",
|
||||||
|
"traffic": "Traffic",
|
||||||
|
"in": "In",
|
||||||
|
"out": "Out"
|
||||||
|
},
|
||||||
"peanut": {
|
"peanut": {
|
||||||
"battery_charge": "Batteriladning",
|
"battery_charge": "Batteriladning",
|
||||||
"ups_load": "UPS last",
|
"ups_load": "UPS last",
|
||||||
@@ -759,7 +768,8 @@
|
|||||||
"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",
|
||||||
|
|||||||
@@ -599,6 +599,15 @@
|
|||||||
"inbox": "Skrzynka odbiorcza",
|
"inbox": "Skrzynka odbiorcza",
|
||||||
"total": "Total"
|
"total": "Total"
|
||||||
},
|
},
|
||||||
|
"pangolin": {
|
||||||
|
"orgs": "Orgs",
|
||||||
|
"sites": "Sites",
|
||||||
|
"resources": "Resources",
|
||||||
|
"targets": "Targets",
|
||||||
|
"traffic": "Traffic",
|
||||||
|
"in": "In",
|
||||||
|
"out": "Out"
|
||||||
|
},
|
||||||
"peanut": {
|
"peanut": {
|
||||||
"battery_charge": "Stan baterii",
|
"battery_charge": "Stan baterii",
|
||||||
"ups_load": "Obciążenie UPS",
|
"ups_load": "Obciążenie UPS",
|
||||||
@@ -759,7 +768,8 @@
|
|||||||
"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",
|
||||||
|
|||||||
@@ -599,6 +599,15 @@
|
|||||||
"inbox": "Caixa de entrada",
|
"inbox": "Caixa de entrada",
|
||||||
"total": "Total"
|
"total": "Total"
|
||||||
},
|
},
|
||||||
|
"pangolin": {
|
||||||
|
"orgs": "Orgs",
|
||||||
|
"sites": "Sites",
|
||||||
|
"resources": "Resources",
|
||||||
|
"targets": "Targets",
|
||||||
|
"traffic": "Traffic",
|
||||||
|
"in": "In",
|
||||||
|
"out": "Out"
|
||||||
|
},
|
||||||
"peanut": {
|
"peanut": {
|
||||||
"battery_charge": "Carga da bateria",
|
"battery_charge": "Carga da bateria",
|
||||||
"ups_load": "Carga da UPS",
|
"ups_load": "Carga da UPS",
|
||||||
@@ -759,7 +768,8 @@
|
|||||||
"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",
|
||||||
|
|||||||
@@ -599,6 +599,15 @@
|
|||||||
"inbox": "Caixa de entrada",
|
"inbox": "Caixa de entrada",
|
||||||
"total": "Total"
|
"total": "Total"
|
||||||
},
|
},
|
||||||
|
"pangolin": {
|
||||||
|
"orgs": "Orgs",
|
||||||
|
"sites": "Sites",
|
||||||
|
"resources": "Resources",
|
||||||
|
"targets": "Targets",
|
||||||
|
"traffic": "Traffic",
|
||||||
|
"in": "In",
|
||||||
|
"out": "Out"
|
||||||
|
},
|
||||||
"peanut": {
|
"peanut": {
|
||||||
"battery_charge": "Carga da bateria",
|
"battery_charge": "Carga da bateria",
|
||||||
"ups_load": "Carga do UPS",
|
"ups_load": "Carga do UPS",
|
||||||
@@ -759,7 +768,8 @@
|
|||||||
"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",
|
||||||
|
|||||||
@@ -599,6 +599,15 @@
|
|||||||
"inbox": "Inbox",
|
"inbox": "Inbox",
|
||||||
"total": "Total"
|
"total": "Total"
|
||||||
},
|
},
|
||||||
|
"pangolin": {
|
||||||
|
"orgs": "Orgs",
|
||||||
|
"sites": "Sites",
|
||||||
|
"resources": "Resources",
|
||||||
|
"targets": "Targets",
|
||||||
|
"traffic": "Traffic",
|
||||||
|
"in": "In",
|
||||||
|
"out": "Out"
|
||||||
|
},
|
||||||
"peanut": {
|
"peanut": {
|
||||||
"battery_charge": "Încărcare Baterie",
|
"battery_charge": "Încărcare Baterie",
|
||||||
"ups_load": "UPS Load",
|
"ups_load": "UPS Load",
|
||||||
@@ -759,7 +768,8 @@
|
|||||||
"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",
|
||||||
|
|||||||
@@ -193,7 +193,7 @@
|
|||||||
"tv": "Сериалы"
|
"tv": "Сериалы"
|
||||||
},
|
},
|
||||||
"sabnzbd": {
|
"sabnzbd": {
|
||||||
"rate": "Rate",
|
"rate": "",
|
||||||
"queue": "Очередь",
|
"queue": "Очередь",
|
||||||
"timeleft": "Осталось"
|
"timeleft": "Осталось"
|
||||||
},
|
},
|
||||||
@@ -599,6 +599,15 @@
|
|||||||
"inbox": "Входящие",
|
"inbox": "Входящие",
|
||||||
"total": "Всего"
|
"total": "Всего"
|
||||||
},
|
},
|
||||||
|
"pangolin": {
|
||||||
|
"orgs": "Orgs",
|
||||||
|
"sites": "Sites",
|
||||||
|
"resources": "Resources",
|
||||||
|
"targets": "Targets",
|
||||||
|
"traffic": "Traffic",
|
||||||
|
"in": "In",
|
||||||
|
"out": "Out"
|
||||||
|
},
|
||||||
"peanut": {
|
"peanut": {
|
||||||
"battery_charge": "Заряд батареи",
|
"battery_charge": "Заряд батареи",
|
||||||
"ups_load": "Нагрузка на UPS",
|
"ups_load": "Нагрузка на UPS",
|
||||||
@@ -759,7 +768,8 @@
|
|||||||
"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": "Подкасты",
|
||||||
@@ -1088,7 +1098,7 @@
|
|||||||
"unraid": {
|
"unraid": {
|
||||||
"STARTED": "Started",
|
"STARTED": "Started",
|
||||||
"STOPPED": "Stopped",
|
"STOPPED": "Stopped",
|
||||||
"NEW_ARRAY": "New Array",
|
"NEW_ARRAY": "Новый массив",
|
||||||
"RECON_DISK": "Reconstructing Disk",
|
"RECON_DISK": "Reconstructing Disk",
|
||||||
"DISABLE_DISK": "Disk Disabled",
|
"DISABLE_DISK": "Disk Disabled",
|
||||||
"SWAP_DSBL": "Swap Disable",
|
"SWAP_DSBL": "Swap Disable",
|
||||||
@@ -1097,8 +1107,8 @@
|
|||||||
"TOO_MANY_MISSING_DISKS": "Too Many Missing Disks",
|
"TOO_MANY_MISSING_DISKS": "Too Many Missing Disks",
|
||||||
"NEW_DISK_TOO_SMALL": "New Disk Too Small",
|
"NEW_DISK_TOO_SMALL": "New Disk Too Small",
|
||||||
"NO_DATA_DISKS": "No Data Disks",
|
"NO_DATA_DISKS": "No Data Disks",
|
||||||
"notifications": "Notifications",
|
"notifications": "Уведомления",
|
||||||
"status": "Status",
|
"status": "Статус",
|
||||||
"cpu": "CPU",
|
"cpu": "CPU",
|
||||||
"memoryUsed": "Memory Used",
|
"memoryUsed": "Memory Used",
|
||||||
"memoryAvailable": "Memory Available",
|
"memoryAvailable": "Memory Available",
|
||||||
|
|||||||
@@ -362,8 +362,8 @@
|
|||||||
},
|
},
|
||||||
"trilium": {
|
"trilium": {
|
||||||
"version": "Verzia",
|
"version": "Verzia",
|
||||||
"notesCount": "Notes",
|
"notesCount": "Poznámky",
|
||||||
"dbSize": "Database Size",
|
"dbSize": "Veľkosť databázy",
|
||||||
"unknown": "Neznáme"
|
"unknown": "Neznáme"
|
||||||
},
|
},
|
||||||
"navidrome": {
|
"navidrome": {
|
||||||
@@ -599,6 +599,15 @@
|
|||||||
"inbox": "Schránka správ",
|
"inbox": "Schránka správ",
|
||||||
"total": "Celkom"
|
"total": "Celkom"
|
||||||
},
|
},
|
||||||
|
"pangolin": {
|
||||||
|
"orgs": "Orgs",
|
||||||
|
"sites": "Sites",
|
||||||
|
"resources": "Resources",
|
||||||
|
"targets": "Targets",
|
||||||
|
"traffic": "Traffic",
|
||||||
|
"in": "In",
|
||||||
|
"out": "Out"
|
||||||
|
},
|
||||||
"peanut": {
|
"peanut": {
|
||||||
"battery_charge": "Nabitie batérie",
|
"battery_charge": "Nabitie batérie",
|
||||||
"ups_load": "Záťaž UPS",
|
"ups_load": "Záťaž UPS",
|
||||||
@@ -759,7 +768,8 @@
|
|||||||
"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",
|
||||||
@@ -786,7 +796,7 @@
|
|||||||
"downloadCount": "Poradie",
|
"downloadCount": "Poradie",
|
||||||
"downloadBytesRemaining": "Zostávajúce",
|
"downloadBytesRemaining": "Zostávajúce",
|
||||||
"downloadTotalBytes": "Veľkosť",
|
"downloadTotalBytes": "Veľkosť",
|
||||||
"downloadSpeed": "Speed"
|
"downloadSpeed": "Rýchlosť"
|
||||||
},
|
},
|
||||||
"kavita": {
|
"kavita": {
|
||||||
"seriesCount": "Series",
|
"seriesCount": "Series",
|
||||||
@@ -952,7 +962,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": "Invalid Configuration"
|
"invalidConfiguration": "Neplatná konfigurácia"
|
||||||
},
|
},
|
||||||
"frigate": {
|
"frigate": {
|
||||||
"cameras": "Kamery",
|
"cameras": "Kamery",
|
||||||
@@ -1022,10 +1032,10 @@
|
|||||||
"loading": "Načítava sa"
|
"loading": "Načítava sa"
|
||||||
},
|
},
|
||||||
"gitlab": {
|
"gitlab": {
|
||||||
"groups": "Groups",
|
"groups": "Skupiny",
|
||||||
"issues": "Issues",
|
"issues": "Problémy",
|
||||||
"merges": "Merge Requests",
|
"merges": "Merge Requests",
|
||||||
"projects": "Projects"
|
"projects": "Projekty"
|
||||||
},
|
},
|
||||||
"apcups": {
|
"apcups": {
|
||||||
"status": "Stav",
|
"status": "Stav",
|
||||||
@@ -1035,7 +1045,7 @@
|
|||||||
},
|
},
|
||||||
"karakeep": {
|
"karakeep": {
|
||||||
"bookmarks": "Bookmarks",
|
"bookmarks": "Bookmarks",
|
||||||
"favorites": "Favorites",
|
"favorites": "Obľúbené",
|
||||||
"archived": "Archived",
|
"archived": "Archived",
|
||||||
"highlights": "Highlights",
|
"highlights": "Highlights",
|
||||||
"lists": "Zoznamy",
|
"lists": "Zoznamy",
|
||||||
@@ -1065,13 +1075,13 @@
|
|||||||
"komodo": {
|
"komodo": {
|
||||||
"total": "Celkom",
|
"total": "Celkom",
|
||||||
"running": "Beží",
|
"running": "Beží",
|
||||||
"stopped": "Stopped",
|
"stopped": "Zastavené",
|
||||||
"down": "Down",
|
"down": "Down",
|
||||||
"unhealthy": "Nezdravý",
|
"unhealthy": "Nezdravý",
|
||||||
"unknown": "Neznáme",
|
"unknown": "Neznáme",
|
||||||
"servers": "Servers",
|
"servers": "Servery",
|
||||||
"stacks": "Stacks",
|
"stacks": "Stacks",
|
||||||
"containers": "Containers"
|
"containers": "Kontajnery"
|
||||||
},
|
},
|
||||||
"filebrowser": {
|
"filebrowser": {
|
||||||
"available": "Dostupné",
|
"available": "Dostupné",
|
||||||
@@ -1080,8 +1090,8 @@
|
|||||||
},
|
},
|
||||||
"wallos": {
|
"wallos": {
|
||||||
"activeSubscriptions": "Subscriptions",
|
"activeSubscriptions": "Subscriptions",
|
||||||
"thisMonthlyCost": "This Month",
|
"thisMonthlyCost": "Tento mesiac",
|
||||||
"nextMonthlyCost": "Next Month",
|
"nextMonthlyCost": "Ďalší mesiac",
|
||||||
"previousMonthlyCost": "Prev. Month",
|
"previousMonthlyCost": "Prev. Month",
|
||||||
"nextRenewingSubscription": "Next Payment"
|
"nextRenewingSubscription": "Next Payment"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -599,6 +599,15 @@
|
|||||||
"inbox": "Prejeto",
|
"inbox": "Prejeto",
|
||||||
"total": "Total"
|
"total": "Total"
|
||||||
},
|
},
|
||||||
|
"pangolin": {
|
||||||
|
"orgs": "Orgs",
|
||||||
|
"sites": "Sites",
|
||||||
|
"resources": "Resources",
|
||||||
|
"targets": "Targets",
|
||||||
|
"traffic": "Traffic",
|
||||||
|
"in": "In",
|
||||||
|
"out": "Out"
|
||||||
|
},
|
||||||
"peanut": {
|
"peanut": {
|
||||||
"battery_charge": "Napolnjenost baterije",
|
"battery_charge": "Napolnjenost baterije",
|
||||||
"ups_load": "UPS obremenitev",
|
"ups_load": "UPS obremenitev",
|
||||||
@@ -759,7 +768,8 @@
|
|||||||
"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",
|
||||||
|
|||||||
@@ -599,6 +599,15 @@
|
|||||||
"inbox": "Примљено",
|
"inbox": "Примљено",
|
||||||
"total": "Укупно"
|
"total": "Укупно"
|
||||||
},
|
},
|
||||||
|
"pangolin": {
|
||||||
|
"orgs": "Orgs",
|
||||||
|
"sites": "Sites",
|
||||||
|
"resources": "Resources",
|
||||||
|
"targets": "Targets",
|
||||||
|
"traffic": "Traffic",
|
||||||
|
"in": "In",
|
||||||
|
"out": "Out"
|
||||||
|
},
|
||||||
"peanut": {
|
"peanut": {
|
||||||
"battery_charge": "Напуњеност батерије",
|
"battery_charge": "Напуњеност батерије",
|
||||||
"ups_load": "Оптерећење УПС-а",
|
"ups_load": "Оптерећење УПС-а",
|
||||||
@@ -759,7 +768,8 @@
|
|||||||
"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": "Подкасти",
|
||||||
|
|||||||
@@ -599,6 +599,15 @@
|
|||||||
"inbox": "Inbox",
|
"inbox": "Inbox",
|
||||||
"total": "Total"
|
"total": "Total"
|
||||||
},
|
},
|
||||||
|
"pangolin": {
|
||||||
|
"orgs": "Orgs",
|
||||||
|
"sites": "Sites",
|
||||||
|
"resources": "Resources",
|
||||||
|
"targets": "Targets",
|
||||||
|
"traffic": "Traffic",
|
||||||
|
"in": "In",
|
||||||
|
"out": "Out"
|
||||||
|
},
|
||||||
"peanut": {
|
"peanut": {
|
||||||
"battery_charge": "Battery Charge",
|
"battery_charge": "Battery Charge",
|
||||||
"ups_load": "UPS Load",
|
"ups_load": "UPS Load",
|
||||||
@@ -759,7 +768,8 @@
|
|||||||
"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",
|
||||||
|
|||||||
@@ -599,6 +599,15 @@
|
|||||||
"inbox": "Inbox",
|
"inbox": "Inbox",
|
||||||
"total": "Total"
|
"total": "Total"
|
||||||
},
|
},
|
||||||
|
"pangolin": {
|
||||||
|
"orgs": "Orgs",
|
||||||
|
"sites": "Sites",
|
||||||
|
"resources": "Resources",
|
||||||
|
"targets": "Targets",
|
||||||
|
"traffic": "Traffic",
|
||||||
|
"in": "In",
|
||||||
|
"out": "Out"
|
||||||
|
},
|
||||||
"peanut": {
|
"peanut": {
|
||||||
"battery_charge": "Battery Charge",
|
"battery_charge": "Battery Charge",
|
||||||
"ups_load": "UPS Load",
|
"ups_load": "UPS Load",
|
||||||
@@ -759,7 +768,8 @@
|
|||||||
"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",
|
||||||
|
|||||||
@@ -599,6 +599,15 @@
|
|||||||
"inbox": "Inbox",
|
"inbox": "Inbox",
|
||||||
"total": "Total"
|
"total": "Total"
|
||||||
},
|
},
|
||||||
|
"pangolin": {
|
||||||
|
"orgs": "Orgs",
|
||||||
|
"sites": "Sites",
|
||||||
|
"resources": "Resources",
|
||||||
|
"targets": "Targets",
|
||||||
|
"traffic": "Traffic",
|
||||||
|
"in": "In",
|
||||||
|
"out": "Out"
|
||||||
|
},
|
||||||
"peanut": {
|
"peanut": {
|
||||||
"battery_charge": "Battery Charge",
|
"battery_charge": "Battery Charge",
|
||||||
"ups_load": "UPS Load",
|
"ups_load": "UPS Load",
|
||||||
@@ -759,7 +768,8 @@
|
|||||||
"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",
|
||||||
|
|||||||
@@ -599,6 +599,15 @@
|
|||||||
"inbox": "Gelen Kutusu",
|
"inbox": "Gelen Kutusu",
|
||||||
"total": "Toplam"
|
"total": "Toplam"
|
||||||
},
|
},
|
||||||
|
"pangolin": {
|
||||||
|
"orgs": "Orgs",
|
||||||
|
"sites": "Sites",
|
||||||
|
"resources": "Resources",
|
||||||
|
"targets": "Targets",
|
||||||
|
"traffic": "Traffic",
|
||||||
|
"in": "In",
|
||||||
|
"out": "Out"
|
||||||
|
},
|
||||||
"peanut": {
|
"peanut": {
|
||||||
"battery_charge": "Pil Yüzdesi",
|
"battery_charge": "Pil Yüzdesi",
|
||||||
"ups_load": "UPS Yükü",
|
"ups_load": "UPS Yükü",
|
||||||
@@ -759,7 +768,8 @@
|
|||||||
"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": "Please wait",
|
"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",
|
"offline_alt": "Офлайн",
|
||||||
"online": "Онлайн",
|
"online": "Онлайн",
|
||||||
"total": "Total",
|
"total": "Усього",
|
||||||
"unknown": "Невідомо"
|
"unknown": "Невідомо"
|
||||||
},
|
},
|
||||||
"evcc": {
|
"evcc": {
|
||||||
@@ -133,7 +133,7 @@
|
|||||||
"unread": "Не прочитано"
|
"unread": "Не прочитано"
|
||||||
},
|
},
|
||||||
"fritzbox": {
|
"fritzbox": {
|
||||||
"connectionStatus": "Status",
|
"connectionStatus": "Стан",
|
||||||
"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 Streams",
|
"no_active": "Немає активних потоків",
|
||||||
"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": "Open Issues"
|
"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"
|
||||||
},
|
},
|
||||||
@@ -599,6 +599,15 @@
|
|||||||
"inbox": "Вхідні",
|
"inbox": "Вхідні",
|
||||||
"total": "Total"
|
"total": "Total"
|
||||||
},
|
},
|
||||||
|
"pangolin": {
|
||||||
|
"orgs": "Orgs",
|
||||||
|
"sites": "Sites",
|
||||||
|
"resources": "Resources",
|
||||||
|
"targets": "Targets",
|
||||||
|
"traffic": "Traffic",
|
||||||
|
"in": "In",
|
||||||
|
"out": "Out"
|
||||||
|
},
|
||||||
"peanut": {
|
"peanut": {
|
||||||
"battery_charge": "Заряд батареї",
|
"battery_charge": "Заряд батареї",
|
||||||
"ups_load": "UPS завантаження",
|
"ups_load": "UPS завантаження",
|
||||||
@@ -759,7 +768,8 @@
|
|||||||
"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": "Подкасти",
|
||||||
|
|||||||
@@ -599,6 +599,15 @@
|
|||||||
"inbox": "Inbox",
|
"inbox": "Inbox",
|
||||||
"total": "Total"
|
"total": "Total"
|
||||||
},
|
},
|
||||||
|
"pangolin": {
|
||||||
|
"orgs": "Orgs",
|
||||||
|
"sites": "Sites",
|
||||||
|
"resources": "Resources",
|
||||||
|
"targets": "Targets",
|
||||||
|
"traffic": "Traffic",
|
||||||
|
"in": "In",
|
||||||
|
"out": "Out"
|
||||||
|
},
|
||||||
"peanut": {
|
"peanut": {
|
||||||
"battery_charge": "Battery Charge",
|
"battery_charge": "Battery Charge",
|
||||||
"ups_load": "UPS Load",
|
"ups_load": "UPS Load",
|
||||||
@@ -759,7 +768,8 @@
|
|||||||
"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",
|
||||||
|
|||||||
@@ -599,6 +599,15 @@
|
|||||||
"inbox": "收件箱",
|
"inbox": "收件箱",
|
||||||
"total": "Total"
|
"total": "Total"
|
||||||
},
|
},
|
||||||
|
"pangolin": {
|
||||||
|
"orgs": "Orgs",
|
||||||
|
"sites": "Sites",
|
||||||
|
"resources": "Resources",
|
||||||
|
"targets": "Targets",
|
||||||
|
"traffic": "Traffic",
|
||||||
|
"in": "In",
|
||||||
|
"out": "Out"
|
||||||
|
},
|
||||||
"peanut": {
|
"peanut": {
|
||||||
"battery_charge": "充電",
|
"battery_charge": "充電",
|
||||||
"ups_load": "備用電源負載",
|
"ups_load": "備用電源負載",
|
||||||
@@ -759,7 +768,8 @@
|
|||||||
"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": "播客",
|
||||||
|
|||||||
@@ -1,750 +0,0 @@
|
|||||||
{
|
|
||||||
"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"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -599,6 +599,15 @@
|
|||||||
"inbox": "收件箱",
|
"inbox": "收件箱",
|
||||||
"total": "Total"
|
"total": "Total"
|
||||||
},
|
},
|
||||||
|
"pangolin": {
|
||||||
|
"orgs": "Orgs",
|
||||||
|
"sites": "Sites",
|
||||||
|
"resources": "Resources",
|
||||||
|
"targets": "Targets",
|
||||||
|
"traffic": "Traffic",
|
||||||
|
"in": "In",
|
||||||
|
"out": "Out"
|
||||||
|
},
|
||||||
"peanut": {
|
"peanut": {
|
||||||
"battery_charge": "充电中",
|
"battery_charge": "充电中",
|
||||||
"ups_load": "UPS 负载",
|
"ups_load": "UPS 负载",
|
||||||
@@ -759,7 +768,8 @@
|
|||||||
"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": "播客",
|
||||||
|
|||||||
@@ -599,6 +599,15 @@
|
|||||||
"inbox": "收件箱",
|
"inbox": "收件箱",
|
||||||
"total": "Total"
|
"total": "Total"
|
||||||
},
|
},
|
||||||
|
"pangolin": {
|
||||||
|
"orgs": "Orgs",
|
||||||
|
"sites": "Sites",
|
||||||
|
"resources": "Resources",
|
||||||
|
"targets": "Targets",
|
||||||
|
"traffic": "Traffic",
|
||||||
|
"in": "In",
|
||||||
|
"out": "Out"
|
||||||
|
},
|
||||||
"peanut": {
|
"peanut": {
|
||||||
"battery_charge": "充電",
|
"battery_charge": "充電",
|
||||||
"ups_load": "備用電源負載",
|
"ups_load": "備用電源負載",
|
||||||
@@ -759,7 +768,8 @@
|
|||||||
"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",
|
||||||
|
|||||||
@@ -32,6 +32,8 @@ export default function Block({ value, label, field }) {
|
|||||||
return getHighlightClass(highlight.level, highlightConfig);
|
return getHighlightClass(highlight.level, highlightConfig);
|
||||||
}, [highlight, highlightConfig]);
|
}, [highlight, highlightConfig]);
|
||||||
|
|
||||||
|
const applyToValueOnly = highlight?.valueOnly === true;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div
|
<div
|
||||||
className={classNames(
|
className={classNames(
|
||||||
@@ -44,7 +46,11 @@ export default function Block({ value, label, field }) {
|
|||||||
data-highlight-source={highlight?.source}
|
data-highlight-source={highlight?.source}
|
||||||
>
|
>
|
||||||
<div className="font-thin text-sm">{value === undefined || value === null ? "-" : value}</div>
|
<div className="font-thin text-sm">{value === undefined || value === null ? "-" : value}</div>
|
||||||
<div className="font-bold text-xs uppercase">{t(label)}</div>
|
<div
|
||||||
|
className={classNames("font-bold text-xs uppercase", applyToValueOnly && "text-theme-700 dark:text-theme-200")}
|
||||||
|
>
|
||||||
|
{t(label)}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,14 @@
|
|||||||
import { Combobox, Listbox, Transition } from "@headlessui/react";
|
import {
|
||||||
|
Combobox,
|
||||||
|
ComboboxInput,
|
||||||
|
ComboboxOption,
|
||||||
|
ComboboxOptions,
|
||||||
|
Listbox,
|
||||||
|
ListboxButton,
|
||||||
|
ListboxOption,
|
||||||
|
ListboxOptions,
|
||||||
|
Transition,
|
||||||
|
} from "@headlessui/react";
|
||||||
import classNames from "classnames";
|
import classNames from "classnames";
|
||||||
import { useTranslation } from "next-i18next";
|
import { useTranslation } from "next-i18next";
|
||||||
import { Fragment, useEffect, useState } from "react";
|
import { Fragment, useEffect, useState } from "react";
|
||||||
@@ -158,7 +168,7 @@ export default function Search({ options }) {
|
|||||||
<div className="flex-col relative h-8 my-4 min-w-fit z-20">
|
<div className="flex-col relative h-8 my-4 min-w-fit z-20">
|
||||||
<div className="flex absolute inset-y-0 left-0 items-center pl-3 pointer-events-none w-full text-theme-800 dark:text-white" />
|
<div className="flex absolute inset-y-0 left-0 items-center pl-3 pointer-events-none w-full text-theme-800 dark:text-white" />
|
||||||
<Combobox value={query}>
|
<Combobox value={query}>
|
||||||
<Combobox.Input
|
<ComboboxInput
|
||||||
type="text"
|
type="text"
|
||||||
className="
|
className="
|
||||||
overflow-hidden w-full h-full rounded-md
|
overflow-hidden w-full h-full rounded-md
|
||||||
@@ -189,7 +199,7 @@ export default function Search({ options }) {
|
|||||||
disabled={availableProviderIds?.length === 1}
|
disabled={availableProviderIds?.length === 1}
|
||||||
>
|
>
|
||||||
<div>
|
<div>
|
||||||
<Listbox.Button
|
<ListboxButton
|
||||||
className="
|
className="
|
||||||
absolute right-0.5 bottom-0.5 rounded-r-md px-4 py-2
|
absolute right-0.5 bottom-0.5 rounded-r-md px-4 py-2
|
||||||
text-white font-medium text-sm
|
text-white font-medium text-sm
|
||||||
@@ -198,7 +208,7 @@ export default function Search({ options }) {
|
|||||||
>
|
>
|
||||||
<selectedProvider.icon className="text-white w-3 h-3" />
|
<selectedProvider.icon className="text-white w-3 h-3" />
|
||||||
<span className="sr-only">{t("search.search")}</span>
|
<span className="sr-only">{t("search.search")}</span>
|
||||||
</Listbox.Button>
|
</ListboxButton>
|
||||||
</div>
|
</div>
|
||||||
<Transition
|
<Transition
|
||||||
as={Fragment}
|
as={Fragment}
|
||||||
@@ -209,7 +219,7 @@ export default function Search({ options }) {
|
|||||||
leaveFrom="transform opacity-100 scale-100"
|
leaveFrom="transform opacity-100 scale-100"
|
||||||
leaveTo="transform opacity-0 scale-95"
|
leaveTo="transform opacity-0 scale-95"
|
||||||
>
|
>
|
||||||
<Listbox.Options
|
<ListboxOptions
|
||||||
className="absolute right-0 z-10 mt-1 origin-top-right rounded-md
|
className="absolute right-0 z-10 mt-1 origin-top-right rounded-md
|
||||||
bg-theme-100 dark:bg-theme-600 shadow-lg
|
bg-theme-100 dark:bg-theme-600 shadow-lg
|
||||||
ring-1 ring-black ring-opacity-5 focus:outline-hidden"
|
ring-1 ring-black ring-opacity-5 focus:outline-hidden"
|
||||||
@@ -218,7 +228,7 @@ export default function Search({ options }) {
|
|||||||
{availableProviderIds.map((providerId) => {
|
{availableProviderIds.map((providerId) => {
|
||||||
const p = searchProviders[providerId];
|
const p = searchProviders[providerId];
|
||||||
return (
|
return (
|
||||||
<Listbox.Option key={providerId} value={p} as={Fragment}>
|
<ListboxOption key={providerId} value={p} as={Fragment}>
|
||||||
{({ active }) => (
|
{({ active }) => (
|
||||||
<li
|
<li
|
||||||
className={classNames(
|
className={classNames(
|
||||||
@@ -229,23 +239,23 @@ export default function Search({ options }) {
|
|||||||
<p.icon className="h-4 w-4 mx-4 my-2" />
|
<p.icon className="h-4 w-4 mx-4 my-2" />
|
||||||
</li>
|
</li>
|
||||||
)}
|
)}
|
||||||
</Listbox.Option>
|
</ListboxOption>
|
||||||
);
|
);
|
||||||
})}
|
})}
|
||||||
</div>
|
</div>
|
||||||
</Listbox.Options>
|
</ListboxOptions>
|
||||||
</Transition>
|
</Transition>
|
||||||
</Listbox>
|
</Listbox>
|
||||||
|
|
||||||
{searchSuggestions[1]?.length > 0 && (
|
{searchSuggestions[1]?.length > 0 && (
|
||||||
<Combobox.Options className="mt-1 rounded-md bg-theme-50 dark:bg-theme-800 border border-theme-300 dark:border-theme-200/30 cursor-pointer shadow-lg">
|
<ComboboxOptions className="mt-1 rounded-md bg-theme-50 dark:bg-theme-800 border border-theme-300 dark:border-theme-200/30 cursor-pointer shadow-lg">
|
||||||
<div className="p-1 bg-white/50 dark:bg-white/10 text-theme-900/90 dark:text-white/90 text-xs">
|
<div className="p-1 bg-white/50 dark:bg-white/10 text-theme-900/90 dark:text-white/90 text-xs">
|
||||||
<Combobox.Option key={query} value={query} />
|
<ComboboxOption key={query} value={query} />
|
||||||
{searchSuggestions[1].map((suggestion) => (
|
{searchSuggestions[1].map((suggestion) => (
|
||||||
<Combobox.Option
|
<ComboboxOption
|
||||||
key={suggestion}
|
key={suggestion}
|
||||||
value={suggestion}
|
value={suggestion}
|
||||||
onClick={() => {
|
onMouseDown={() => {
|
||||||
doSearch(suggestion);
|
doSearch(suggestion);
|
||||||
}}
|
}}
|
||||||
className="flex w-full"
|
className="flex w-full"
|
||||||
@@ -266,10 +276,10 @@ export default function Search({ options }) {
|
|||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}}
|
}}
|
||||||
</Combobox.Option>
|
</ComboboxOption>
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
</Combobox.Options>
|
</ComboboxOptions>
|
||||||
)}
|
)}
|
||||||
</Combobox>
|
</Combobox>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ export function middleware(req) {
|
|||||||
// Check the Host header, if HOMEPAGE_ALLOWED_HOSTS is set
|
// Check the Host header, if HOMEPAGE_ALLOWED_HOSTS is set
|
||||||
const host = req.headers.get("host");
|
const host = req.headers.get("host");
|
||||||
const port = process.env.PORT || 3000;
|
const port = process.env.PORT || 3000;
|
||||||
let allowedHosts = [`localhost:${port}`, `127.0.0.1:${port}`];
|
let allowedHosts = [`localhost:${port}`, `127.0.0.1:${port}`, `[::1]:${port}`];
|
||||||
const allowAll = process.env.HOMEPAGE_ALLOWED_HOSTS === "*";
|
const allowAll = process.env.HOMEPAGE_ALLOWED_HOSTS === "*";
|
||||||
if (process.env.HOMEPAGE_ALLOWED_HOSTS) {
|
if (process.env.HOMEPAGE_ALLOWED_HOSTS) {
|
||||||
allowedHosts = allowedHosts.concat(process.env.HOMEPAGE_ALLOWED_HOSTS.split(","));
|
allowedHosts = allowedHosts.concat(process.env.HOMEPAGE_ALLOWED_HOSTS.split(","));
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ export default async function handler(req, res) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (type === "network") {
|
if (type === "network") {
|
||||||
let networkData = await si.networkStats();
|
let networkData = await si.networkStats("*");
|
||||||
let interfaceDefault;
|
let interfaceDefault;
|
||||||
logger.debug("networkData:", JSON.stringify(networkData));
|
logger.debug("networkData:", JSON.stringify(networkData));
|
||||||
if (interfaceName && interfaceName !== "default") {
|
if (interfaceName && interfaceName !== "default") {
|
||||||
|
|||||||
@@ -41,6 +41,17 @@ 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 {
|
||||||
@@ -50,6 +61,7 @@ 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: {
|
||||||
@@ -60,7 +72,7 @@ export async function getStaticProps() {
|
|||||||
"/api/widgets": widgets,
|
"/api/widgets": widgets,
|
||||||
"/api/hash": false,
|
"/api/hash": false,
|
||||||
},
|
},
|
||||||
...(await serverSideTranslations(settings.language ?? "en")),
|
...(await serverSideTranslations(language)),
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
@@ -218,8 +230,9 @@ function Home({ initialSettings }) {
|
|||||||
);
|
);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (settings.language) {
|
const language = normalizeLanguage(settings.language);
|
||||||
i18n.changeLanguage(settings.language);
|
if (language) {
|
||||||
|
i18n.changeLanguage(language);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (settings.theme && theme !== settings.theme) {
|
if (settings.theme && theme !== settings.theme) {
|
||||||
|
|||||||
@@ -111,7 +111,7 @@ export async function servicesFromDocker() {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
let substitutedVal = substituteEnvironmentVars(containerLabels[label]);
|
let substitutedVal = substituteEnvironmentVars(containerLabels[label]);
|
||||||
if (value === "widget.version") {
|
if (value === "widget.version" || /^widgets\[\d+\]\.version$/.test(value)) {
|
||||||
substitutedVal = parseInt(substitutedVal, 10);
|
substitutedVal = parseInt(substitutedVal, 10);
|
||||||
}
|
}
|
||||||
shvl.set(constructedService, value, substitutedVal);
|
shvl.set(constructedService, value, substitutedVal);
|
||||||
|
|||||||
@@ -200,7 +200,7 @@ const ensureArray = (value) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const findHighlightLevel = (ruleSet, numericValue, stringValue) => {
|
const findHighlightLevel = (ruleSet, numericValue, stringValue) => {
|
||||||
const { numeric, string } = ruleSet;
|
const { numeric, string, valueOnly } = ruleSet;
|
||||||
|
|
||||||
if (numeric && numericValue !== undefined) {
|
if (numeric && numericValue !== undefined) {
|
||||||
const numericRules = ensureArray(numeric);
|
const numericRules = ensureArray(numeric);
|
||||||
@@ -208,7 +208,7 @@ const findHighlightLevel = (ruleSet, numericValue, stringValue) => {
|
|||||||
for (const candidate of numericCandidates) {
|
for (const candidate of numericCandidates) {
|
||||||
for (const rule of numericRules) {
|
for (const rule of numericRules) {
|
||||||
if (rule?.level && evaluateNumericRule(candidate, rule)) {
|
if (rule?.level && evaluateNumericRule(candidate, rule)) {
|
||||||
return { level: rule.level, source: "numeric", rule };
|
return { level: rule.level, source: "numeric", rule, valueOnly };
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -218,7 +218,7 @@ const findHighlightLevel = (ruleSet, numericValue, stringValue) => {
|
|||||||
const stringRules = ensureArray(string);
|
const stringRules = ensureArray(string);
|
||||||
for (const rule of stringRules) {
|
for (const rule of stringRules) {
|
||||||
if (rule?.level && evaluateStringRule(stringValue, rule)) {
|
if (rule?.level && evaluateStringRule(stringValue, rule)) {
|
||||||
return { level: rule.level, source: "string", rule };
|
return { level: rule.level, source: "string", rule, valueOnly };
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,6 +27,9 @@ export default async function credentialedProxyHandler(req, res, map) {
|
|||||||
|
|
||||||
const headers = {
|
const headers = {
|
||||||
"Content-Type": "application/json",
|
"Content-Type": "application/json",
|
||||||
|
...(widgets[widget.type].headers ?? {}),
|
||||||
|
...(widget.headers ?? {}),
|
||||||
|
...(req.extraHeaders ?? {}),
|
||||||
};
|
};
|
||||||
|
|
||||||
if (widget.type === "stocks") {
|
if (widget.type === "stocks") {
|
||||||
@@ -53,6 +56,7 @@ export default async function credentialedProxyHandler(req, res, map) {
|
|||||||
"linkwarden",
|
"linkwarden",
|
||||||
"mealie",
|
"mealie",
|
||||||
"netalertx",
|
"netalertx",
|
||||||
|
"pangolin",
|
||||||
"tailscale",
|
"tailscale",
|
||||||
"tandoor",
|
"tandoor",
|
||||||
"pterodactyl",
|
"pterodactyl",
|
||||||
|
|||||||
@@ -25,7 +25,11 @@ export default async function genericProxyHandler(req, res, map) {
|
|||||||
}
|
}
|
||||||
const url = new URL(urlString);
|
const url = new URL(urlString);
|
||||||
|
|
||||||
const headers = req.extraHeaders ?? widget.headers ?? widgets[widget.type].headers ?? {};
|
const headers = {
|
||||||
|
...(widgets[widget.type].headers ?? {}),
|
||||||
|
...(widget.headers ?? {}),
|
||||||
|
...(req.extraHeaders ?? {}),
|
||||||
|
};
|
||||||
|
|
||||||
if (widget.username && widget.password) {
|
if (widget.username && widget.password) {
|
||||||
headers.Authorization = `Basic ${Buffer.from(`${widget.username}:${widget.password}`).toString("base64")}`;
|
headers.Authorization = `Basic ${Buffer.from(`${widget.username}:${widget.password}`).toString("base64")}`;
|
||||||
|
|||||||
@@ -111,7 +111,7 @@ export async function cachedRequest(url, duration = 5, ua = "homepage") {
|
|||||||
export async function httpProxy(url, params = {}) {
|
export async function httpProxy(url, params = {}) {
|
||||||
const constructedUrl = new URL(url);
|
const constructedUrl = new URL(url);
|
||||||
const disableIpv6 = process.env.HOMEPAGE_PROXY_DISABLE_IPV6 === "true";
|
const disableIpv6 = process.env.HOMEPAGE_PROXY_DISABLE_IPV6 === "true";
|
||||||
const agentOptions = disableIpv6 ? { family: 4, autoSelectFamily: false } : {};
|
const agentOptions = disableIpv6 ? { family: 4, autoSelectFamily: false } : { autoSelectFamilyAttemptTimeout: 500 };
|
||||||
|
|
||||||
let request = null;
|
let request = null;
|
||||||
if (constructedUrl.protocol === "https:") {
|
if (constructedUrl.protocol === "https:") {
|
||||||
|
|||||||
@@ -97,6 +97,7 @@ const components = {
|
|||||||
openmediavault: dynamic(() => import("./openmediavault/component")),
|
openmediavault: dynamic(() => import("./openmediavault/component")),
|
||||||
openwrt: dynamic(() => import("./openwrt/component")),
|
openwrt: dynamic(() => import("./openwrt/component")),
|
||||||
paperlessngx: dynamic(() => import("./paperlessngx/component")),
|
paperlessngx: dynamic(() => import("./paperlessngx/component")),
|
||||||
|
pangolin: dynamic(() => import("./pangolin/component")),
|
||||||
pfsense: dynamic(() => import("./pfsense/component")),
|
pfsense: dynamic(() => import("./pfsense/component")),
|
||||||
photoprism: dynamic(() => import("./photoprism/component")),
|
photoprism: dynamic(() => import("./photoprism/component")),
|
||||||
proxmoxbackupserver: dynamic(() => import("./proxmoxbackupserver/component")),
|
proxmoxbackupserver: dynamic(() => import("./proxmoxbackupserver/component")),
|
||||||
|
|||||||
@@ -38,11 +38,7 @@ export default function Component({ service }) {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
const status = serverData.online ? (
|
const status = serverData.online ? t("gamedig.online") : t("gamedig.offline");
|
||||||
<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}` : "-";
|
||||||
|
|||||||
@@ -22,11 +22,7 @@ export default function Component({ service }) {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
const statusIndicator = serverData.online ? (
|
const statusIndicator = serverData.online ? t("minecraft.up") : t("minecraft.down");
|
||||||
<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 || "-";
|
||||||
|
|
||||||
|
|||||||
@@ -20,16 +20,7 @@ export default function Component({ service }) {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<Container service={service}>
|
<Container service={service}>
|
||||||
<Block
|
<Block label="widget.status" value={up ? t("openwrt.up") : t("openwrt.down")} />
|
||||||
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>
|
||||||
|
|||||||
70
src/widgets/pangolin/component.jsx
Normal file
70
src/widgets/pangolin/component.jsx
Normal file
@@ -0,0 +1,70 @@
|
|||||||
|
import Block from "components/services/widget/block";
|
||||||
|
import Container from "components/services/widget/container";
|
||||||
|
import { useTranslation } from "next-i18next";
|
||||||
|
|
||||||
|
import useWidgetAPI from "utils/proxy/use-widget-api";
|
||||||
|
|
||||||
|
const MAX_ALLOWED_FIELDS = 4;
|
||||||
|
|
||||||
|
export default function Component({ service }) {
|
||||||
|
const { t } = useTranslation();
|
||||||
|
const { widget } = service;
|
||||||
|
|
||||||
|
if (!widget.fields) {
|
||||||
|
widget.fields = ["sites", "resources", "targets", "traffic"];
|
||||||
|
} else if (widget.fields?.length > MAX_ALLOWED_FIELDS) {
|
||||||
|
widget.fields = widget.fields.slice(0, MAX_ALLOWED_FIELDS);
|
||||||
|
}
|
||||||
|
|
||||||
|
const { data: sitesData, error: sitesError } = useWidgetAPI(widget, "sites");
|
||||||
|
const { data: resourcesData, error: resourcesError } = useWidgetAPI(widget, "resources");
|
||||||
|
|
||||||
|
if (sitesError || resourcesError) {
|
||||||
|
return <Container service={service} error={sitesError || resourcesError} />;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!sitesData || !resourcesData) {
|
||||||
|
return (
|
||||||
|
<Container service={service}>
|
||||||
|
<Block label="pangolin.sites" />
|
||||||
|
<Block label="pangolin.resources" />
|
||||||
|
<Block label="pangolin.targets" />
|
||||||
|
<Block label="pangolin.traffic" />
|
||||||
|
<Block label="pangolin.in" />
|
||||||
|
<Block label="pangolin.out" />
|
||||||
|
</Container>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
const sites = sitesData.data?.sites || [];
|
||||||
|
const resources = resourcesData.data?.resources || [];
|
||||||
|
|
||||||
|
const sitesTotal = sites.length;
|
||||||
|
const sitesOnline = sites.filter((s) => s.online).length;
|
||||||
|
|
||||||
|
const resourcesTotal = resources.length;
|
||||||
|
const resourcesHealthy = resources.filter(
|
||||||
|
(r) => r.targets?.some((t) => t.healthStatus !== "unhealthy") || !r.targets?.length,
|
||||||
|
).length;
|
||||||
|
|
||||||
|
const targetsTotal = resources.reduce((sum, r) => sum + (r.targets?.length || 0), 0);
|
||||||
|
const targetsHealthy = resources.reduce(
|
||||||
|
(sum, r) => sum + (r.targets?.filter((t) => t.healthStatus !== "unhealthy").length || 0),
|
||||||
|
0,
|
||||||
|
);
|
||||||
|
|
||||||
|
const trafficIn = sites.reduce((sum, s) => sum + (s.megabytesIn || 0), 0) * 1_000_000;
|
||||||
|
const trafficOut = sites.reduce((sum, s) => sum + (s.megabytesOut || 0), 0) * 1_000_000;
|
||||||
|
const trafficTotal = trafficIn + trafficOut;
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Container service={service}>
|
||||||
|
<Block label="pangolin.sites" value={`${sitesOnline} / ${sitesTotal}`} />
|
||||||
|
<Block label="pangolin.resources" value={`${resourcesHealthy} / ${resourcesTotal}`} />
|
||||||
|
<Block label="pangolin.targets" value={`${targetsHealthy} / ${targetsTotal}`} />
|
||||||
|
<Block label="pangolin.traffic" value={t("common.bytes", { value: trafficTotal })} />
|
||||||
|
<Block label="pangolin.in" value={t("common.bytes", { value: trafficIn })} />
|
||||||
|
<Block label="pangolin.out" value={t("common.bytes", { value: trafficOut })} />
|
||||||
|
</Container>
|
||||||
|
);
|
||||||
|
}
|
||||||
17
src/widgets/pangolin/widget.js
Normal file
17
src/widgets/pangolin/widget.js
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
import credentialedProxyHandler from "utils/proxy/handlers/credentialed";
|
||||||
|
|
||||||
|
const widget = {
|
||||||
|
api: "{url}/v1/{endpoint}",
|
||||||
|
proxyHandler: credentialedProxyHandler,
|
||||||
|
|
||||||
|
mappings: {
|
||||||
|
sites: {
|
||||||
|
endpoint: "org/{org}/sites",
|
||||||
|
},
|
||||||
|
resources: {
|
||||||
|
endpoint: "org/{org}/resources",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
export default widget;
|
||||||
@@ -56,16 +56,7 @@ 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
|
<Block label="pfsense.wanStatus" value={wan.status === "up" ? t("pfsense.up") : t("pfsense.down")} />
|
||||||
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>
|
||||||
|
|||||||
@@ -49,10 +49,12 @@ export default function Component({ service }) {
|
|||||||
|
|
||||||
// single monitor
|
// single monitor
|
||||||
const monitor = uptimerobotData.monitors[0];
|
const monitor = uptimerobotData.monitors[0];
|
||||||
|
const logs = Array.isArray(monitor.logs) ? monitor.logs : [];
|
||||||
|
const lastUpLog = logs.find((log) => log.type === 2);
|
||||||
|
const lastDownLog = logs.find((log) => log.type === 1);
|
||||||
|
|
||||||
let status;
|
let status;
|
||||||
let uptime = 0;
|
let uptime = 0;
|
||||||
let logIndex = 0;
|
|
||||||
const hasLogs = Array.isArray(monitor.logs) && monitor.logs.length > 0;
|
|
||||||
|
|
||||||
switch (monitor.status) {
|
switch (monitor.status) {
|
||||||
case 0:
|
case 0:
|
||||||
@@ -63,8 +65,7 @@ export default function Component({ service }) {
|
|||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
status = t("uptimerobot.up");
|
status = t("uptimerobot.up");
|
||||||
uptime = t("common.duration", { value: hasLogs ? monitor.logs[0].duration : 0 });
|
uptime = t("common.duration", { value: lastUpLog?.duration ?? 0 });
|
||||||
logIndex = 1;
|
|
||||||
break;
|
break;
|
||||||
case 8:
|
case 8:
|
||||||
status = t("uptimerobot.seemsdown");
|
status = t("uptimerobot.seemsdown");
|
||||||
@@ -77,14 +78,14 @@ export default function Component({ service }) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
const lastDown = hasLogs ? new Date(monitor.logs[logIndex].datetime * 1000).toLocaleString() : "";
|
const lastDown = lastDownLog ? new Date(lastDownLog.datetime * 1000).toLocaleString() : "";
|
||||||
const downDuration = t("common.duration", { value: hasLogs ? monitor.logs[logIndex].duration : 0 });
|
const downDuration = t("common.duration", { value: lastDownLog?.duration ?? 0 });
|
||||||
const hideDown = !hasLogs || (logIndex === 1 && monitor.logs[logIndex].type !== 1);
|
const hideDown = !lastDownLog;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Container service={service}>
|
<Container service={service}>
|
||||||
<Block label="uptimerobot.status" value={status} />
|
<Block label="uptimerobot.status" value={status} />
|
||||||
{hasLogs && <Block label="uptimerobot.uptime" value={uptime} />}
|
<Block label="uptimerobot.uptime" value={uptime} />
|
||||||
{!hideDown && <Block label="uptimerobot.lastDown" value={lastDown} />}
|
{!hideDown && <Block label="uptimerobot.lastDown" value={lastDown} />}
|
||||||
{!hideDown && <Block label="uptimerobot.downDuration" value={downDuration} />}
|
{!hideDown && <Block label="uptimerobot.downDuration" value={downDuration} />}
|
||||||
</Container>
|
</Container>
|
||||||
|
|||||||
@@ -87,6 +87,7 @@ import openmediavault from "./openmediavault/widget";
|
|||||||
import openwrt from "./openwrt/widget";
|
import openwrt from "./openwrt/widget";
|
||||||
import opnsense from "./opnsense/widget";
|
import opnsense from "./opnsense/widget";
|
||||||
import overseerr from "./overseerr/widget";
|
import overseerr from "./overseerr/widget";
|
||||||
|
import pangolin from "./pangolin/widget";
|
||||||
import paperlessngx from "./paperlessngx/widget";
|
import paperlessngx from "./paperlessngx/widget";
|
||||||
import peanut from "./peanut/widget";
|
import peanut from "./peanut/widget";
|
||||||
import pfsense from "./pfsense/widget";
|
import pfsense from "./pfsense/widget";
|
||||||
@@ -237,6 +238,7 @@ const widgets = {
|
|||||||
openmediavault,
|
openmediavault,
|
||||||
openwrt,
|
openwrt,
|
||||||
paperlessngx,
|
paperlessngx,
|
||||||
|
pangolin,
|
||||||
peanut,
|
peanut,
|
||||||
pfsense,
|
pfsense,
|
||||||
photoprism,
|
photoprism,
|
||||||
|
|||||||
Reference in New Issue
Block a user