mirror of
https://github.com/gethomepage/homepage.git
synced 2025-12-06 21:57:48 +01:00
Compare commits
19 Commits
v1.4.5
...
a4a8e70d25
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a4a8e70d25 | ||
|
|
65dce6d387 | ||
|
|
7b60a60d4e | ||
|
|
8d37cad871 | ||
|
|
cd25ae3258 | ||
|
|
a27cdbc284 | ||
|
|
e772ef0ad1 | ||
|
|
8cc00ae09a | ||
|
|
f4efc71350 | ||
|
|
b663e56174 | ||
|
|
a9ec5aa1e7 | ||
|
|
44405b4aae | ||
|
|
842cec2fee | ||
|
|
c6ad937619 | ||
|
|
a6ab095ff9 | ||
|
|
9a085bcb17 | ||
|
|
6d7be1c7f2 | ||
|
|
25cd51cee9 | ||
|
|
495de204d1 |
4
.github/workflows/repo-maintenance.yml
vendored
4
.github/workflows/repo-maintenance.yml
vendored
@@ -212,9 +212,9 @@ jobs:
|
||||
}
|
||||
|
||||
const CUTOFF_1_DAYS = 180;
|
||||
const CUTOFF_1_COUNT = 10;
|
||||
const CUTOFF_1_COUNT = 20;
|
||||
const CUTOFF_2_DAYS = 365;
|
||||
const CUTOFF_2_COUNT = 20;
|
||||
const CUTOFF_2_COUNT = 40;
|
||||
|
||||
const cutoff1Date = new Date();
|
||||
cutoff1Date.setDate(cutoff1Date.getDate() - CUTOFF_1_DAYS);
|
||||
|
||||
@@ -63,7 +63,7 @@ The homepage team appreciates all effort and interest from the community in fili
|
||||
- Issues, pull requests and discussions that are closed will be locked after 30 days of inactivity.
|
||||
- Discussions with a marked answer will be automatically closed.
|
||||
- Discussions in the 'General' or 'Support' categories will be closed after 180 days of inactivity.
|
||||
- Feature requests that do not meet the following thresholds will be closed: 10 "up-votes" after 180 days of inactivity or 20 "up-votes" after 365 days.
|
||||
- Feature requests that do not meet the following thresholds will be closed: 20 "up-votes" after 180 days of inactivity or 40 "up-votes" after 365 days.
|
||||
|
||||
In all cases, threads can be re-opened by project maintainers and, of course, users can always create a new discussion for related concerns.
|
||||
Finally, remember that all information remains searchable and 'closed' feature requests can still serve as inspiration for new features.
|
||||
|
||||
@@ -4,11 +4,13 @@ description: Proxmox Configuration
|
||||
---
|
||||
|
||||
The Proxmox connection is configured in the `proxmox.yaml` file. See [Create token](#create-token) section below for details on how to generate the required API token.
|
||||
You can configure multiple nodes - be sure to use the exact `proxmoxNode` identifier!
|
||||
|
||||
```yaml
|
||||
url: https://proxmox.host.or.ip:8006
|
||||
token: username@pam!Token ID
|
||||
secret: secret
|
||||
pve:
|
||||
url: https://proxmox.host.or.ip:8006
|
||||
token: username@pam!Token ID
|
||||
secret: secret
|
||||
```
|
||||
|
||||
## Services
|
||||
@@ -17,7 +19,7 @@ Once the Proxmox connection is configured, individual services can be configured
|
||||
|
||||
### Configuration Options
|
||||
|
||||
- `proxmoxNode`: The name of the Proxmox node where your VM/LXC is running
|
||||
- `proxmoxNode`: The name of the Proxmox node where your VM/LXC is running, must match with a node configured in the `proxmox.yaml`
|
||||
- `proxmoxVMID`: The ID of the Proxmox VM or LXC container
|
||||
- `proxmoxType`: (Optional) The type of Proxmox virtual machine. Defaults to `qemu` for VMs, but can be set to `lxc` for LXC containers
|
||||
|
||||
|
||||
@@ -264,7 +264,7 @@ fullWidth: true
|
||||
|
||||
### Maximum Group Columns
|
||||
|
||||
You can set the maximum number of columns of groups on larger screen sizes (note this is only for groups with the default `style: columns`, not groups with `stle: row`) by adding:
|
||||
You can set the maximum number of columns of groups on larger screen sizes (note this is only for groups with the default `style: columns`, not groups with `style: row`) by adding:
|
||||
|
||||
```yaml
|
||||
maxGroupColumns: 8 # default is 4 for services, 6 for bookmarks, max 8
|
||||
|
||||
@@ -17,9 +17,15 @@ The account you made the API token for also needs the following **Assigned globa
|
||||
|
||||
Allowed fields: `["users", "loginsLast24H", "failedLoginsLast24H"]`.
|
||||
|
||||
| Authentik Version | Homepage Widget Version |
|
||||
| ----------------- | ----------------------- |
|
||||
| < 2025.8.0 | 1 (default) |
|
||||
| >= 2025.8.0 | 2 |
|
||||
|
||||
```yaml
|
||||
widget:
|
||||
type: authentik
|
||||
url: http://authentik.host.or.ip:port
|
||||
key: api_token
|
||||
version: 2 # optional, default is 1
|
||||
```
|
||||
|
||||
17
docs/widgets/services/backrest.md
Normal file
17
docs/widgets/services/backrest.md
Normal file
@@ -0,0 +1,17 @@
|
||||
---
|
||||
title: Backrest
|
||||
description: Backrest Widget Configuration
|
||||
---
|
||||
|
||||
[Backrest](https://garethgeorge.github.io/backrest/) is a web-based frontend for
|
||||
the [Restic](https://restic.net/) backup tool.
|
||||
|
||||
**Allowed fields:** `["num_success_latest","num_failure_latest","num_success_30","num_plans","num_failure_30","bytes_added_30"]`
|
||||
|
||||
```yaml
|
||||
widget:
|
||||
type: backrest
|
||||
url: http://backrest.host.or.ip
|
||||
username: admin # optional if auth is enabled in Backrest
|
||||
password: admin # optional if auth is enabled in Backrest
|
||||
```
|
||||
@@ -10,7 +10,8 @@ Learn more about [Immich](https://github.com/immich-app/immich).
|
||||
| < v1.118 | 1 (default) |
|
||||
| >= v1.118 | 2 |
|
||||
|
||||
Find your API key under `Account Settings > API Keys`.
|
||||
Find your API key under `Account Settings > API Keys`. The key should have the
|
||||
`server.statistics` permission.
|
||||
|
||||
Allowed fields: `["users" ,"photos", "videos", "storage"]`.
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@ You can also find a list of all available service widgets in the sidebar navigat
|
||||
- [Authentik](authentik.md)
|
||||
- [Autobrr](autobrr.md)
|
||||
- [Azure DevOps](azuredevops.md)
|
||||
- [Backrest](backrest.md)
|
||||
- [Bazarr](bazarr.md)
|
||||
- [Beszel](beszel.md)
|
||||
- [Caddy](caddy.md)
|
||||
@@ -139,6 +140,7 @@ You can also find a list of all available service widgets in the sidebar navigat
|
||||
- [TubeArchivist](tubearchivist.md)
|
||||
- [UniFi Controller](unifi-controller.md)
|
||||
- [Unmanic](unmanic.md)
|
||||
- [Unraid](unraid.md)
|
||||
- [Uptime Kuma](uptime-kuma.md)
|
||||
- [UptimeRobot](uptimerobot.md)
|
||||
- [UrBackup](urbackup.md)
|
||||
|
||||
@@ -7,7 +7,8 @@ Learn more about [Jellyseerr](https://github.com/Fallenbagel/jellyseerr).
|
||||
|
||||
Find your API key under `Settings > General > API Key`.
|
||||
|
||||
Allowed fields: `["pending", "approved", "available"]`.
|
||||
Allowed fields: `["pending", "approved", "available", "issues"]`.
|
||||
Default fields: `["pending", "approved", "available"]`.
|
||||
|
||||
```yaml
|
||||
widget:
|
||||
|
||||
28
docs/widgets/services/unraid.md
Normal file
28
docs/widgets/services/unraid.md
Normal file
@@ -0,0 +1,28 @@
|
||||
---
|
||||
title: Unraid
|
||||
description: Unraid Widget Configuration
|
||||
---
|
||||
|
||||
Learn more about [Unraid](https://unraid.net/).
|
||||
|
||||
The Unraid widget allows you to monitor the resources of an Unraid server.
|
||||
|
||||
**Minimum Requirements:**
|
||||
|
||||
- Unraid 7.2 -or- Unraid Connect plugin 2025.08.19.1850
|
||||
- API key with the **GUEST** (read only) role: [Managing API Keys](https://docs.unraid.net/go/managing-api-keys)
|
||||
|
||||
The widget can display metrics for selected Unraid pools. If using one of the "pool" fields, you must also add the pool name to the settings.
|
||||
|
||||
**Allowed fields:** `["cpu","memoryPercent","memoryAvailable","memoryUsed","notifications","arrayFreeSpace","arrayUsedSpace","arrayUsedPercent","status","pool1UsedSpace","pool1FreeSpace","pool1UsedPercent","pool2UsedSpace","pool2FreeSpace","pool2UsedPercent","pool3UsedSpace","pool3FreeSpace","pool3UsedPercent","pool4UsedSpace","pool4FreeSpace","pool4UsedPercent"]`
|
||||
|
||||
```yaml
|
||||
widget:
|
||||
type: unraid
|
||||
url: https://unraid.host.or.ip
|
||||
key: api-key
|
||||
pool1: pool1name # required only if using pool1 fields
|
||||
pool2: pool2name # required only if using pool2 fields
|
||||
pool3: pool3name # required only if using pool3 fields
|
||||
pool4: pool4name # required only if using pool4 fields
|
||||
```
|
||||
@@ -39,6 +39,7 @@ nav:
|
||||
- widgets/services/authentik.md
|
||||
- widgets/services/autobrr.md
|
||||
- widgets/services/azuredevops.md
|
||||
- widgets/services/backrest.md
|
||||
- widgets/services/bazarr.md
|
||||
- widgets/services/beszel.md
|
||||
- widgets/services/caddy.md
|
||||
@@ -165,6 +166,7 @@ nav:
|
||||
- widgets/services/tubearchivist.md
|
||||
- widgets/services/unifi-controller.md
|
||||
- widgets/services/unmanic.md
|
||||
- widgets/services/unraid.md
|
||||
- widgets/services/uptime-kuma.md
|
||||
- widgets/services/uptimerobot.md
|
||||
- widgets/services/urbackup.md
|
||||
|
||||
12
package.json
12
package.json
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "homepage",
|
||||
"version": "1.4.5",
|
||||
"version": "1.4.6",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"preinstall": "npx only-allow pnpm",
|
||||
@@ -11,13 +11,13 @@
|
||||
"telemetry": "next telemetry disable"
|
||||
},
|
||||
"dependencies": {
|
||||
"@headlessui/react": "^1.7.19",
|
||||
"@headlessui/react": "^2.2.7",
|
||||
"@kubernetes/client-node": "^1.0.0",
|
||||
"classnames": "^2.5.1",
|
||||
"compare-versions": "^6.1.1",
|
||||
"dockerode": "^4.0.7",
|
||||
"follow-redirects": "^1.15.11",
|
||||
"gamedig": "^5.2.0",
|
||||
"gamedig": "^5.3.1",
|
||||
"i18next": "^24.2.3",
|
||||
"ical.js": "^2.1.0",
|
||||
"js-yaml": "^4.1.0",
|
||||
@@ -25,7 +25,7 @@
|
||||
"luxon": "^3.6.1",
|
||||
"memory-cache": "^0.2.0",
|
||||
"minecraftstatuspinger": "^1.2.2",
|
||||
"next": "^15.4.5",
|
||||
"next": "^15.5.2",
|
||||
"next-i18next": "^12.1.0",
|
||||
"ping": "^0.4.4",
|
||||
"pretty-bytes": "^6.1.1",
|
||||
@@ -34,10 +34,10 @@
|
||||
"react-dom": "^18.3.1",
|
||||
"react-i18next": "^15.5.3",
|
||||
"react-icons": "^5.4.0",
|
||||
"recharts": "^2.15.3",
|
||||
"recharts": "^3.1.2",
|
||||
"swr": "^2.3.3",
|
||||
"systeminformation": "^5.27.7",
|
||||
"tough-cookie": "^5.1.2",
|
||||
"tough-cookie": "^6.0.0",
|
||||
"urbackup-server-api": "^0.8.9",
|
||||
"winston": "^3.17.0",
|
||||
"xml-js": "^1.6.11"
|
||||
|
||||
679
pnpm-lock.yaml
generated
679
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
@@ -275,7 +275,8 @@
|
||||
"jellyseerr": {
|
||||
"pending": "Afwagtend",
|
||||
"approved": "Goedgekeur",
|
||||
"available": "Beskikbaar"
|
||||
"available": "Beskikbaar",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Afwagtend",
|
||||
@@ -1083,5 +1084,35 @@
|
||||
"nextMonthlyCost": "Next Month",
|
||||
"previousMonthlyCost": "Prev. Month",
|
||||
"nextRenewingSubscription": "Next Payment"
|
||||
},
|
||||
"unraid": {
|
||||
"STARTED": "Started",
|
||||
"STOPPED": "Stopped",
|
||||
"NEW_ARRAY": "New Array",
|
||||
"RECON_DISK": "Reconstructing Disk",
|
||||
"DISABLE_DISK": "Disk Disabled",
|
||||
"SWAP_DSBL": "Swap Disable",
|
||||
"INVALID_EXPANSION": "Invalid Expansion",
|
||||
"PARITY_NOT_BIGGEST": "Parity Not Biggest",
|
||||
"TOO_MANY_MISSING_DISKS": "Too Many Missing Disks",
|
||||
"NEW_DISK_TOO_SMALL": "New Disk Too Small",
|
||||
"NO_DATA_DISKS": "No Data Disks",
|
||||
"notifications": "Notifications",
|
||||
"status": "Status",
|
||||
"cpu": "CPU",
|
||||
"memoryUsed": "Memory Used",
|
||||
"memoryAvailable": "Memory Available",
|
||||
"arrayUsed": "Array Used",
|
||||
"arrayFree": "Array Free",
|
||||
"poolUsed": "{{pool}} Used",
|
||||
"poolFree": "{{pool}} Free"
|
||||
},
|
||||
"backrest": {
|
||||
"num_plans": "Plans",
|
||||
"num_success_30": "Successes",
|
||||
"num_failure_30": "Failures",
|
||||
"num_success_latest": "Succeeding",
|
||||
"num_failure_latest": "Failing",
|
||||
"bytes_added_30": "Bytes Added"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,7 +275,8 @@
|
||||
"jellyseerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"available": "Available",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
@@ -1083,5 +1084,35 @@
|
||||
"nextMonthlyCost": "Next Month",
|
||||
"previousMonthlyCost": "Prev. Month",
|
||||
"nextRenewingSubscription": "Next Payment"
|
||||
},
|
||||
"unraid": {
|
||||
"STARTED": "Started",
|
||||
"STOPPED": "Stopped",
|
||||
"NEW_ARRAY": "New Array",
|
||||
"RECON_DISK": "Reconstructing Disk",
|
||||
"DISABLE_DISK": "Disk Disabled",
|
||||
"SWAP_DSBL": "Swap Disable",
|
||||
"INVALID_EXPANSION": "Invalid Expansion",
|
||||
"PARITY_NOT_BIGGEST": "Parity Not Biggest",
|
||||
"TOO_MANY_MISSING_DISKS": "Too Many Missing Disks",
|
||||
"NEW_DISK_TOO_SMALL": "New Disk Too Small",
|
||||
"NO_DATA_DISKS": "No Data Disks",
|
||||
"notifications": "Notifications",
|
||||
"status": "Status",
|
||||
"cpu": "CPU",
|
||||
"memoryUsed": "Memory Used",
|
||||
"memoryAvailable": "Memory Available",
|
||||
"arrayUsed": "Array Used",
|
||||
"arrayFree": "Array Free",
|
||||
"poolUsed": "{{pool}} Used",
|
||||
"poolFree": "{{pool}} Free"
|
||||
},
|
||||
"backrest": {
|
||||
"num_plans": "Plans",
|
||||
"num_success_30": "Successes",
|
||||
"num_failure_30": "Failures",
|
||||
"num_success_latest": "Succeeding",
|
||||
"num_failure_latest": "Failing",
|
||||
"bytes_added_30": "Bytes Added"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,7 +275,8 @@
|
||||
"jellyseerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"available": "Available",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
@@ -1083,5 +1084,35 @@
|
||||
"nextMonthlyCost": "Next Month",
|
||||
"previousMonthlyCost": "Prev. Month",
|
||||
"nextRenewingSubscription": "Next Payment"
|
||||
},
|
||||
"unraid": {
|
||||
"STARTED": "Started",
|
||||
"STOPPED": "Stopped",
|
||||
"NEW_ARRAY": "New Array",
|
||||
"RECON_DISK": "Reconstructing Disk",
|
||||
"DISABLE_DISK": "Disk Disabled",
|
||||
"SWAP_DSBL": "Swap Disable",
|
||||
"INVALID_EXPANSION": "Invalid Expansion",
|
||||
"PARITY_NOT_BIGGEST": "Parity Not Biggest",
|
||||
"TOO_MANY_MISSING_DISKS": "Too Many Missing Disks",
|
||||
"NEW_DISK_TOO_SMALL": "New Disk Too Small",
|
||||
"NO_DATA_DISKS": "No Data Disks",
|
||||
"notifications": "Notifications",
|
||||
"status": "Status",
|
||||
"cpu": "CPU",
|
||||
"memoryUsed": "Memory Used",
|
||||
"memoryAvailable": "Memory Available",
|
||||
"arrayUsed": "Array Used",
|
||||
"arrayFree": "Array Free",
|
||||
"poolUsed": "{{pool}} Used",
|
||||
"poolFree": "{{pool}} Free"
|
||||
},
|
||||
"backrest": {
|
||||
"num_plans": "Plans",
|
||||
"num_success_30": "Successes",
|
||||
"num_failure_30": "Failures",
|
||||
"num_success_latest": "Succeeding",
|
||||
"num_failure_latest": "Failing",
|
||||
"bytes_added_30": "Bytes Added"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,7 +275,8 @@
|
||||
"jellyseerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"available": "Available",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
@@ -1083,5 +1084,35 @@
|
||||
"nextMonthlyCost": "Next Month",
|
||||
"previousMonthlyCost": "Prev. Month",
|
||||
"nextRenewingSubscription": "Next Payment"
|
||||
},
|
||||
"unraid": {
|
||||
"STARTED": "Started",
|
||||
"STOPPED": "Stopped",
|
||||
"NEW_ARRAY": "New Array",
|
||||
"RECON_DISK": "Reconstructing Disk",
|
||||
"DISABLE_DISK": "Disk Disabled",
|
||||
"SWAP_DSBL": "Swap Disable",
|
||||
"INVALID_EXPANSION": "Invalid Expansion",
|
||||
"PARITY_NOT_BIGGEST": "Parity Not Biggest",
|
||||
"TOO_MANY_MISSING_DISKS": "Too Many Missing Disks",
|
||||
"NEW_DISK_TOO_SMALL": "New Disk Too Small",
|
||||
"NO_DATA_DISKS": "No Data Disks",
|
||||
"notifications": "Notifications",
|
||||
"status": "Status",
|
||||
"cpu": "CPU",
|
||||
"memoryUsed": "Memory Used",
|
||||
"memoryAvailable": "Memory Available",
|
||||
"arrayUsed": "Array Used",
|
||||
"arrayFree": "Array Free",
|
||||
"poolUsed": "{{pool}} Used",
|
||||
"poolFree": "{{pool}} Free"
|
||||
},
|
||||
"backrest": {
|
||||
"num_plans": "Plans",
|
||||
"num_success_30": "Successes",
|
||||
"num_failure_30": "Failures",
|
||||
"num_success_latest": "Succeeding",
|
||||
"num_failure_latest": "Failing",
|
||||
"bytes_added_30": "Bytes Added"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,7 +275,8 @@
|
||||
"jellyseerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"available": "Available",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
@@ -1083,5 +1084,35 @@
|
||||
"nextMonthlyCost": "Next Month",
|
||||
"previousMonthlyCost": "Prev. Month",
|
||||
"nextRenewingSubscription": "Next Payment"
|
||||
},
|
||||
"unraid": {
|
||||
"STARTED": "Started",
|
||||
"STOPPED": "Stopped",
|
||||
"NEW_ARRAY": "New Array",
|
||||
"RECON_DISK": "Reconstructing Disk",
|
||||
"DISABLE_DISK": "Disk Disabled",
|
||||
"SWAP_DSBL": "Swap Disable",
|
||||
"INVALID_EXPANSION": "Invalid Expansion",
|
||||
"PARITY_NOT_BIGGEST": "Parity Not Biggest",
|
||||
"TOO_MANY_MISSING_DISKS": "Too Many Missing Disks",
|
||||
"NEW_DISK_TOO_SMALL": "New Disk Too Small",
|
||||
"NO_DATA_DISKS": "No Data Disks",
|
||||
"notifications": "Notifications",
|
||||
"status": "Status",
|
||||
"cpu": "CPU",
|
||||
"memoryUsed": "Memory Used",
|
||||
"memoryAvailable": "Memory Available",
|
||||
"arrayUsed": "Array Used",
|
||||
"arrayFree": "Array Free",
|
||||
"poolUsed": "{{pool}} Used",
|
||||
"poolFree": "{{pool}} Free"
|
||||
},
|
||||
"backrest": {
|
||||
"num_plans": "Plans",
|
||||
"num_success_30": "Successes",
|
||||
"num_failure_30": "Failures",
|
||||
"num_success_latest": "Succeeding",
|
||||
"num_failure_latest": "Failing",
|
||||
"bytes_added_30": "Bytes Added"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,7 +275,8 @@
|
||||
"jellyseerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"available": "Available",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
@@ -1083,5 +1084,35 @@
|
||||
"nextMonthlyCost": "Next Month",
|
||||
"previousMonthlyCost": "Prev. Month",
|
||||
"nextRenewingSubscription": "Next Payment"
|
||||
},
|
||||
"unraid": {
|
||||
"STARTED": "Started",
|
||||
"STOPPED": "Stopped",
|
||||
"NEW_ARRAY": "New Array",
|
||||
"RECON_DISK": "Reconstructing Disk",
|
||||
"DISABLE_DISK": "Disk Disabled",
|
||||
"SWAP_DSBL": "Swap Disable",
|
||||
"INVALID_EXPANSION": "Invalid Expansion",
|
||||
"PARITY_NOT_BIGGEST": "Parity Not Biggest",
|
||||
"TOO_MANY_MISSING_DISKS": "Too Many Missing Disks",
|
||||
"NEW_DISK_TOO_SMALL": "New Disk Too Small",
|
||||
"NO_DATA_DISKS": "No Data Disks",
|
||||
"notifications": "Notifications",
|
||||
"status": "Status",
|
||||
"cpu": "CPU",
|
||||
"memoryUsed": "Memory Used",
|
||||
"memoryAvailable": "Memory Available",
|
||||
"arrayUsed": "Array Used",
|
||||
"arrayFree": "Array Free",
|
||||
"poolUsed": "{{pool}} Used",
|
||||
"poolFree": "{{pool}} Free"
|
||||
},
|
||||
"backrest": {
|
||||
"num_plans": "Plans",
|
||||
"num_success_30": "Successes",
|
||||
"num_failure_30": "Failures",
|
||||
"num_success_latest": "Succeeding",
|
||||
"num_failure_latest": "Failing",
|
||||
"bytes_added_30": "Bytes Added"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,7 +275,8 @@
|
||||
"jellyseerr": {
|
||||
"pending": "Wartend",
|
||||
"approved": "Genehmigt",
|
||||
"available": "Verfügbar"
|
||||
"available": "Verfügbar",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Wartend",
|
||||
@@ -996,8 +997,8 @@
|
||||
"beszel": {
|
||||
"name": "Name",
|
||||
"systems": "Systeme",
|
||||
"up": "Offline",
|
||||
"down": "Offline",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"paused": "Pausiert",
|
||||
"pending": "Wartend",
|
||||
"status": "Status",
|
||||
@@ -1083,5 +1084,35 @@
|
||||
"nextMonthlyCost": "Nächster Monat",
|
||||
"previousMonthlyCost": "Vorh. Monat",
|
||||
"nextRenewingSubscription": "Nächste Zahlung"
|
||||
},
|
||||
"unraid": {
|
||||
"STARTED": "Started",
|
||||
"STOPPED": "Stopped",
|
||||
"NEW_ARRAY": "New Array",
|
||||
"RECON_DISK": "Reconstructing Disk",
|
||||
"DISABLE_DISK": "Disk Disabled",
|
||||
"SWAP_DSBL": "Swap Disable",
|
||||
"INVALID_EXPANSION": "Invalid Expansion",
|
||||
"PARITY_NOT_BIGGEST": "Parity Not Biggest",
|
||||
"TOO_MANY_MISSING_DISKS": "Too Many Missing Disks",
|
||||
"NEW_DISK_TOO_SMALL": "New Disk Too Small",
|
||||
"NO_DATA_DISKS": "No Data Disks",
|
||||
"notifications": "Notifications",
|
||||
"status": "Status",
|
||||
"cpu": "CPU",
|
||||
"memoryUsed": "Memory Used",
|
||||
"memoryAvailable": "Memory Available",
|
||||
"arrayUsed": "Array Used",
|
||||
"arrayFree": "Array Free",
|
||||
"poolUsed": "{{pool}} Used",
|
||||
"poolFree": "{{pool}} Free"
|
||||
},
|
||||
"backrest": {
|
||||
"num_plans": "Plans",
|
||||
"num_success_30": "Successes",
|
||||
"num_failure_30": "Failures",
|
||||
"num_success_latest": "Succeeding",
|
||||
"num_failure_latest": "Failing",
|
||||
"bytes_added_30": "Bytes Added"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,7 +275,8 @@
|
||||
"jellyseerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"available": "Available",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
@@ -1083,5 +1084,35 @@
|
||||
"nextMonthlyCost": "Next Month",
|
||||
"previousMonthlyCost": "Prev. Month",
|
||||
"nextRenewingSubscription": "Next Payment"
|
||||
},
|
||||
"unraid": {
|
||||
"STARTED": "Started",
|
||||
"STOPPED": "Stopped",
|
||||
"NEW_ARRAY": "New Array",
|
||||
"RECON_DISK": "Reconstructing Disk",
|
||||
"DISABLE_DISK": "Disk Disabled",
|
||||
"SWAP_DSBL": "Swap Disable",
|
||||
"INVALID_EXPANSION": "Invalid Expansion",
|
||||
"PARITY_NOT_BIGGEST": "Parity Not Biggest",
|
||||
"TOO_MANY_MISSING_DISKS": "Too Many Missing Disks",
|
||||
"NEW_DISK_TOO_SMALL": "New Disk Too Small",
|
||||
"NO_DATA_DISKS": "No Data Disks",
|
||||
"notifications": "Notifications",
|
||||
"status": "Status",
|
||||
"cpu": "CPU",
|
||||
"memoryUsed": "Memory Used",
|
||||
"memoryAvailable": "Memory Available",
|
||||
"arrayUsed": "Array Used",
|
||||
"arrayFree": "Array Free",
|
||||
"poolUsed": "{{pool}} Used",
|
||||
"poolFree": "{{pool}} Free"
|
||||
},
|
||||
"backrest": {
|
||||
"num_plans": "Plans",
|
||||
"num_success_30": "Successes",
|
||||
"num_failure_30": "Failures",
|
||||
"num_success_latest": "Succeeding",
|
||||
"num_failure_latest": "Failing",
|
||||
"bytes_added_30": "Bytes Added"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,7 +275,8 @@
|
||||
"jellyseerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"available": "Available",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
@@ -1083,5 +1084,35 @@
|
||||
"nextMonthlyCost": "Next Month",
|
||||
"previousMonthlyCost": "Prev. Month",
|
||||
"nextRenewingSubscription": "Next Payment"
|
||||
},
|
||||
"unraid": {
|
||||
"STARTED": "Started",
|
||||
"STOPPED": "Stopped",
|
||||
"NEW_ARRAY": "New Array",
|
||||
"RECON_DISK": "Reconstructing Disk",
|
||||
"DISABLE_DISK": "Disk Disabled",
|
||||
"SWAP_DSBL": "Swap Disable",
|
||||
"INVALID_EXPANSION": "Invalid Expansion",
|
||||
"PARITY_NOT_BIGGEST": "Parity Not Biggest",
|
||||
"TOO_MANY_MISSING_DISKS": "Too Many Missing Disks",
|
||||
"NEW_DISK_TOO_SMALL": "New Disk Too Small",
|
||||
"NO_DATA_DISKS": "No Data Disks",
|
||||
"notifications": "Notifications",
|
||||
"status": "Status",
|
||||
"cpu": "CPU",
|
||||
"memoryUsed": "Memory Used",
|
||||
"memoryAvailable": "Memory Available",
|
||||
"arrayUsed": "Array Used",
|
||||
"arrayFree": "Array Free",
|
||||
"poolUsed": "{{pool}} Used",
|
||||
"poolFree": "{{pool}} Free"
|
||||
},
|
||||
"backrest": {
|
||||
"num_plans": "Plans",
|
||||
"num_success_30": "Successes",
|
||||
"num_failure_30": "Failures",
|
||||
"num_success_latest": "Succeeding",
|
||||
"num_failure_latest": "Failing",
|
||||
"bytes_added_30": "Bytes Added"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,7 +275,8 @@
|
||||
"jellyseerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"available": "Available",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
@@ -1083,5 +1084,35 @@
|
||||
"nextMonthlyCost": "Next Month",
|
||||
"previousMonthlyCost": "Prev. Month",
|
||||
"nextRenewingSubscription": "Next Payment"
|
||||
},
|
||||
"unraid": {
|
||||
"STARTED": "Started",
|
||||
"STOPPED": "Stopped",
|
||||
"NEW_ARRAY": "New Array",
|
||||
"RECON_DISK": "Reconstructing Disk",
|
||||
"DISABLE_DISK": "Disk Disabled",
|
||||
"SWAP_DSBL": "Swap Disable",
|
||||
"INVALID_EXPANSION": "Invalid Expansion",
|
||||
"PARITY_NOT_BIGGEST": "Parity Not Biggest",
|
||||
"TOO_MANY_MISSING_DISKS": "Too Many Missing Disks",
|
||||
"NEW_DISK_TOO_SMALL": "New Disk Too Small",
|
||||
"NO_DATA_DISKS": "No Data Disks",
|
||||
"notifications": "Notifications",
|
||||
"status": "Status",
|
||||
"cpu": "CPU",
|
||||
"memoryUsed": "Memory Used",
|
||||
"memoryAvailable": "Memory Available",
|
||||
"arrayUsed": "Array Used",
|
||||
"arrayFree": "Array Free",
|
||||
"poolUsed": "{{pool}} Used",
|
||||
"poolFree": "{{pool}} Free"
|
||||
},
|
||||
"backrest": {
|
||||
"num_plans": "Plans",
|
||||
"num_success_30": "Successes",
|
||||
"num_failure_30": "Failures",
|
||||
"num_success_latest": "Succeeding",
|
||||
"num_failure_latest": "Failing",
|
||||
"bytes_added_30": "Bytes Added"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -93,9 +93,9 @@
|
||||
"http_status": "Estado HTTP",
|
||||
"error": "Error",
|
||||
"response": "Respuesta",
|
||||
"down": "Down",
|
||||
"up": "Up",
|
||||
"not_available": "Not Available"
|
||||
"down": "Inactivo",
|
||||
"up": "Activos",
|
||||
"not_available": "No disponible"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "Reproduciendo",
|
||||
@@ -108,11 +108,11 @@
|
||||
"songs": "Canciones"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "Offline",
|
||||
"offline_alt": "Offline",
|
||||
"offline": "Fuera de línea",
|
||||
"offline_alt": "Fuera de línea",
|
||||
"online": "En línea",
|
||||
"total": "Total",
|
||||
"unknown": "Unknown"
|
||||
"unknown": "Desconocido"
|
||||
},
|
||||
"evcc": {
|
||||
"pv_power": "Producción",
|
||||
@@ -133,7 +133,7 @@
|
||||
"unread": "Sin leer"
|
||||
},
|
||||
"fritzbox": {
|
||||
"connectionStatus": "Status",
|
||||
"connectionStatus": "Estado",
|
||||
"connectionStatusUnconfigured": "Sin configurar",
|
||||
"connectionStatusConnecting": "Conectando",
|
||||
"connectionStatusAuthenticating": "Autenticando",
|
||||
@@ -141,11 +141,11 @@
|
||||
"connectionStatusDisconnecting": "Desconectando",
|
||||
"connectionStatusDisconnected": "Desconectado",
|
||||
"connectionStatusConnected": "Conectado",
|
||||
"uptime": "Uptime",
|
||||
"uptime": "Tiempo activo",
|
||||
"maxDown": "Descarga máxima",
|
||||
"maxUp": "Subida máxima",
|
||||
"down": "Down",
|
||||
"up": "Up",
|
||||
"down": "Inactivo",
|
||||
"up": "Activos",
|
||||
"received": "Recibido",
|
||||
"sent": "Enviado",
|
||||
"externalIPAddress": "IP ext.",
|
||||
@@ -193,7 +193,7 @@
|
||||
"tv": "Series"
|
||||
},
|
||||
"sabnzbd": {
|
||||
"rate": "Rate",
|
||||
"rate": "Tasa",
|
||||
"queue": "En cola",
|
||||
"timeleft": "Tiempo restante"
|
||||
},
|
||||
@@ -275,7 +275,8 @@
|
||||
"jellyseerr": {
|
||||
"pending": "Pendiente",
|
||||
"approved": "Aprobado",
|
||||
"available": "Disponible"
|
||||
"available": "Disponible",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pendiente",
|
||||
@@ -315,7 +316,7 @@
|
||||
"download": "Descargado",
|
||||
"nondownload": "No descargado",
|
||||
"read": "Leído",
|
||||
"unread": "Sin leer",
|
||||
"unread": "No leídos",
|
||||
"downloadedread": "Descargado y leído",
|
||||
"downloadedunread": "Descargado y no leído",
|
||||
"nondownloadedread": "No descargado y leído",
|
||||
@@ -344,12 +345,12 @@
|
||||
"totalAuthoritative": "Autoritarios",
|
||||
"totalRecursive": "Recursivos",
|
||||
"totalCached": "En caché",
|
||||
"totalBlocked": "Blocked",
|
||||
"totalBlocked": "Bloqueado",
|
||||
"totalDropped": "Descartados",
|
||||
"totalClients": "Clientes"
|
||||
},
|
||||
"tdarr": {
|
||||
"queue": "Queue",
|
||||
"queue": "Cola",
|
||||
"processed": "Procesado",
|
||||
"errored": "Error",
|
||||
"saved": "Guardado"
|
||||
@@ -360,13 +361,13 @@
|
||||
"middleware": "Software intermedio"
|
||||
},
|
||||
"trilium": {
|
||||
"version": "Version",
|
||||
"notesCount": "Notes",
|
||||
"dbSize": "Database Size",
|
||||
"unknown": "Unknown"
|
||||
"version": "Versión",
|
||||
"notesCount": "Notas",
|
||||
"dbSize": "Tamaño de la base de datos",
|
||||
"unknown": "Desconocido"
|
||||
},
|
||||
"navidrome": {
|
||||
"nothing_streaming": "No Active Streams",
|
||||
"nothing_streaming": "Sin transmisiones activas",
|
||||
"please_wait": "Por favor, espera"
|
||||
},
|
||||
"npm": {
|
||||
@@ -401,31 +402,31 @@
|
||||
"numActiveSessions": "Sesiones",
|
||||
"numConnections": "Conexiones",
|
||||
"dataRelayed": "Retransmitido",
|
||||
"transferRate": "Rate"
|
||||
"transferRate": "Tasa"
|
||||
},
|
||||
"mastodon": {
|
||||
"user_count": "Users",
|
||||
"user_count": "Usuarios",
|
||||
"status_count": "Publicaciones",
|
||||
"domain_count": "Dominios"
|
||||
},
|
||||
"medusa": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"wanted": "Buscando",
|
||||
"queued": "En cola",
|
||||
"series": "Series"
|
||||
},
|
||||
"minecraft": {
|
||||
"players": "Jugadores",
|
||||
"version": "Versión",
|
||||
"status": "Status",
|
||||
"up": "Online",
|
||||
"down": "Offline"
|
||||
"status": "Estado",
|
||||
"up": "En línea",
|
||||
"down": "Fuera de línea"
|
||||
},
|
||||
"miniflux": {
|
||||
"read": "Leer",
|
||||
"unread": "Unread"
|
||||
"unread": "Sin leer"
|
||||
},
|
||||
"authentik": {
|
||||
"users": "Users",
|
||||
"users": "Usuarios",
|
||||
"loginsLast24H": "Inicios de sesión (24h)",
|
||||
"failedLoginsLast24H": "Inicios de sesión fallidos (24h)"
|
||||
},
|
||||
@@ -437,19 +438,19 @@
|
||||
},
|
||||
"glances": {
|
||||
"cpu": "CPU",
|
||||
"load": "Load",
|
||||
"wait": "Please wait",
|
||||
"load": "Carga",
|
||||
"wait": "Por favor, espera",
|
||||
"temp": "TEMP",
|
||||
"_temp": "Temperatura",
|
||||
"warn": "Advertir",
|
||||
"uptime": "UP",
|
||||
"uptime": "ACTIVO",
|
||||
"total": "Total",
|
||||
"free": "Free",
|
||||
"used": "Used",
|
||||
"free": "Libre",
|
||||
"used": "Usado",
|
||||
"days": "d",
|
||||
"hours": "h",
|
||||
"crit": "Crít.",
|
||||
"read": "Read",
|
||||
"read": "Leído",
|
||||
"write": "Escribir",
|
||||
"gpu": "GPU",
|
||||
"mem": "Memoria",
|
||||
@@ -470,57 +471,57 @@
|
||||
"1-day": "Mayormente soleado",
|
||||
"1-night": "Mayormente despejado",
|
||||
"2-day": "Parcialmente nuboso",
|
||||
"2-night": "Partly Cloudy",
|
||||
"2-night": "Parcialmente nublado",
|
||||
"3-day": "Nublado",
|
||||
"3-night": "Cloudy",
|
||||
"3-night": "Nublado",
|
||||
"45-day": "Niebla",
|
||||
"45-night": "Foggy",
|
||||
"48-day": "Foggy",
|
||||
"48-night": "Foggy",
|
||||
"45-night": "Neblinoso",
|
||||
"48-day": "Neblinoso",
|
||||
"48-night": "Neblinoso",
|
||||
"51-day": "Llovizna ligera",
|
||||
"51-night": "Light Drizzle",
|
||||
"51-night": "Llovizna ligera",
|
||||
"53-day": "Llovizna",
|
||||
"53-night": "Drizzle",
|
||||
"53-night": "Llovizna",
|
||||
"55-day": "Llovizna intensa",
|
||||
"55-night": "Heavy Drizzle",
|
||||
"55-night": "Llovizna intensa",
|
||||
"56-day": "Llovizna helada ligera",
|
||||
"56-night": "Light Freezing Drizzle",
|
||||
"56-night": "Llovizna helada ligera",
|
||||
"57-day": "Llovizna helada",
|
||||
"57-night": "Freezing Drizzle",
|
||||
"57-night": "Llovizna helada",
|
||||
"61-day": "Lluvia ligera",
|
||||
"61-night": "Light Rain",
|
||||
"61-night": "Lluvia ligera",
|
||||
"63-day": "Lluvia",
|
||||
"63-night": "Rain",
|
||||
"63-night": "Lluvia",
|
||||
"65-day": "Lluvia torrencial",
|
||||
"65-night": "Heavy Rain",
|
||||
"65-night": "Lluvia fuerte",
|
||||
"66-day": "Granizo",
|
||||
"66-night": "Freezing Rain",
|
||||
"67-day": "Freezing Rain",
|
||||
"67-night": "Freezing Rain",
|
||||
"66-night": "Lluvia helada",
|
||||
"67-day": "Lluvia helada",
|
||||
"67-night": "Lluvia helada",
|
||||
"71-day": "Nevada leve",
|
||||
"71-night": "Light Snow",
|
||||
"71-night": "Nieve ligera",
|
||||
"73-day": "Nevada",
|
||||
"73-night": "Snow",
|
||||
"73-night": "Nieve",
|
||||
"75-day": "Nevada intensa",
|
||||
"75-night": "Heavy Snow",
|
||||
"75-night": "Nieve intensa",
|
||||
"77-day": "Granizada",
|
||||
"77-night": "Snow Grains",
|
||||
"77-night": "Granizada",
|
||||
"80-day": "Llovizna",
|
||||
"80-night": "Light Showers",
|
||||
"80-night": "Chubascos ligeros",
|
||||
"81-day": "Lluvia",
|
||||
"81-night": "Showers",
|
||||
"81-night": "Chubascos",
|
||||
"82-day": "Lluvias torrenciales",
|
||||
"82-night": "Heavy Showers",
|
||||
"82-night": "Chubascos fuertes",
|
||||
"85-day": "Lluvia de nieve",
|
||||
"85-night": "Snow Showers",
|
||||
"86-day": "Snow Showers",
|
||||
"86-night": "Snow Showers",
|
||||
"85-night": "Chubascos de nieve",
|
||||
"86-day": "Chubascos de nieve",
|
||||
"86-night": "Chubascos de nieve",
|
||||
"95-day": "Tormenta",
|
||||
"95-night": "Thunderstorm",
|
||||
"95-night": "Tormenta",
|
||||
"96-day": "Tormenta con granizo",
|
||||
"96-night": "Thunderstorm With Hail",
|
||||
"99-day": "Thunderstorm With Hail",
|
||||
"99-night": "Thunderstorm With Hail"
|
||||
"96-night": "Tormenta con granizo",
|
||||
"99-day": "Tormenta con granizo",
|
||||
"99-night": "Tormenta con granizo"
|
||||
},
|
||||
"homebridge": {
|
||||
"available_update": "Sistema",
|
||||
@@ -535,11 +536,11 @@
|
||||
},
|
||||
"healthchecks": {
|
||||
"new": "Nuevo",
|
||||
"up": "Up",
|
||||
"up": "Activo",
|
||||
"grace": "En Periodo de Gracia",
|
||||
"down": "Down",
|
||||
"down": "Inactivo",
|
||||
"paused": "Pausado",
|
||||
"status": "Status",
|
||||
"status": "Estado",
|
||||
"last_ping": "Último ping",
|
||||
"never": "Aún no hay pings"
|
||||
},
|
||||
@@ -549,26 +550,26 @@
|
||||
"containers_failed": "Fallido"
|
||||
},
|
||||
"autobrr": {
|
||||
"approvedPushes": "Approved",
|
||||
"approvedPushes": "Aprobado",
|
||||
"rejectedPushes": "Rechazado",
|
||||
"filters": "Filtros",
|
||||
"indexers": "Indexers"
|
||||
"indexers": "Indexadores"
|
||||
},
|
||||
"tubearchivist": {
|
||||
"downloads": "Queue",
|
||||
"downloads": "Cola",
|
||||
"videos": "Videos",
|
||||
"channels": "Canales",
|
||||
"playlists": "Listas de reproducción"
|
||||
},
|
||||
"truenas": {
|
||||
"load": "Carga del sistema",
|
||||
"uptime": "Uptime",
|
||||
"alerts": "Alerts"
|
||||
"uptime": "Tiempo activo",
|
||||
"alerts": "Alertas"
|
||||
},
|
||||
"pyload": {
|
||||
"speed": "Velocidad",
|
||||
"active": "Active",
|
||||
"queue": "Queue",
|
||||
"active": "Activo",
|
||||
"queue": "Cola",
|
||||
"total": "Total"
|
||||
},
|
||||
"gluetun": {
|
||||
@@ -578,21 +579,21 @@
|
||||
"port_forwarded": "Puerto redireccionado"
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Channels",
|
||||
"channels": "Canales",
|
||||
"hd": "Alta definición",
|
||||
"tunerCount": "Sintonizadores",
|
||||
"channelNumber": "Canal",
|
||||
"channelNetwork": "Red",
|
||||
"signalStrength": "Intensidad",
|
||||
"signalQuality": "Calidad",
|
||||
"symbolQuality": "Quality",
|
||||
"networkRate": "Bitrate",
|
||||
"symbolQuality": "Calidad",
|
||||
"networkRate": "Tasa de bits",
|
||||
"clientIP": "Cliente"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Aprobado",
|
||||
"failed": "Failed",
|
||||
"unknown": "Unknown"
|
||||
"failed": "Fallido",
|
||||
"unknown": "Desconocido"
|
||||
},
|
||||
"paperlessngx": {
|
||||
"inbox": "Bandeja de entrada",
|
||||
@@ -602,23 +603,23 @@
|
||||
"battery_charge": "Carga de la batería",
|
||||
"ups_load": "Carga del UPS",
|
||||
"ups_status": "Estado del UPS",
|
||||
"online": "Online",
|
||||
"online": "En línea",
|
||||
"on_battery": "Con batería",
|
||||
"low_battery": "Batería baja"
|
||||
},
|
||||
"nextdns": {
|
||||
"wait": "Please Wait",
|
||||
"wait": "Por favor, espera",
|
||||
"no_devices": "No se recibieron datos del dispositivo"
|
||||
},
|
||||
"mikrotik": {
|
||||
"cpuLoad": "Carga de la CPU",
|
||||
"memoryUsed": "Memoria utilizada",
|
||||
"uptime": "Uptime",
|
||||
"uptime": "Tiempo activo",
|
||||
"numberOfLeases": "Alquileres"
|
||||
},
|
||||
"xteve": {
|
||||
"streams_all": "Todas las transmisiones",
|
||||
"streams_active": "Active Streams",
|
||||
"streams_active": "Transmisiones activas",
|
||||
"streams_xepg": "Canales XEPG"
|
||||
},
|
||||
"opendtu": {
|
||||
@@ -628,7 +629,7 @@
|
||||
"limit": "Límite"
|
||||
},
|
||||
"opnsense": {
|
||||
"cpu": "CPU Load",
|
||||
"cpu": "Carga de la CPU",
|
||||
"memory": "Memoria activa",
|
||||
"wanUpload": "Subida WAN",
|
||||
"wanDownload": "Descarga WAN"
|
||||
@@ -640,7 +641,7 @@
|
||||
"layers": "Capas"
|
||||
},
|
||||
"octoprint": {
|
||||
"printer_state": "Status",
|
||||
"printer_state": "Estado",
|
||||
"temp_tool": "Temperatura de la herramienta",
|
||||
"temp_bed": "Temperatura de la plataforma",
|
||||
"job_completion": "Finalización"
|
||||
@@ -653,8 +654,8 @@
|
||||
"load": "Promedio de carga",
|
||||
"memory": "Uso de memoria",
|
||||
"wanStatus": "Estado de la WAN",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"up": "Activo",
|
||||
"down": "Inactivo",
|
||||
"temp": "Temp",
|
||||
"disk": "Uso del disco",
|
||||
"wanIP": "IP de la WAN"
|
||||
@@ -666,7 +667,7 @@
|
||||
"memory_usage": "Memoria"
|
||||
},
|
||||
"immich": {
|
||||
"users": "Users",
|
||||
"users": "Usuarios",
|
||||
"photos": "Fotos",
|
||||
"videos": "Videos",
|
||||
"storage": "Almacenamiento"
|
||||
@@ -674,7 +675,7 @@
|
||||
"uptimekuma": {
|
||||
"up": "Sitios activos",
|
||||
"down": "Sitios inactivos",
|
||||
"uptime": "Uptime",
|
||||
"uptime": "Tiempo activo",
|
||||
"incident": "Incidencia",
|
||||
"m": "m"
|
||||
},
|
||||
@@ -687,17 +688,17 @@
|
||||
"komga": {
|
||||
"libraries": "Librerías",
|
||||
"series": "Series",
|
||||
"books": "Books"
|
||||
"books": "Libros"
|
||||
},
|
||||
"diskstation": {
|
||||
"days": "Days",
|
||||
"uptime": "Uptime",
|
||||
"volumeAvailable": "Available"
|
||||
"days": "Días",
|
||||
"uptime": "Tiempo activo",
|
||||
"volumeAvailable": "Disponible"
|
||||
},
|
||||
"mylar": {
|
||||
"series": "Series",
|
||||
"issues": "Números",
|
||||
"wanted": "Wanted"
|
||||
"wanted": "Buscando"
|
||||
},
|
||||
"photoprism": {
|
||||
"albums": "Álbumes",
|
||||
@@ -706,9 +707,9 @@
|
||||
"people": "Personas"
|
||||
},
|
||||
"fileflows": {
|
||||
"queue": "Queue",
|
||||
"processing": "Processing",
|
||||
"processed": "Processed",
|
||||
"queue": "Cola",
|
||||
"processing": "Procesando",
|
||||
"processed": "Procesado",
|
||||
"time": "Tiempo"
|
||||
},
|
||||
"firefly": {
|
||||
@@ -730,11 +731,11 @@
|
||||
"numshares": "Elementos compartidos"
|
||||
},
|
||||
"kopia": {
|
||||
"status": "Status",
|
||||
"status": "Estado",
|
||||
"size": "Tamaño",
|
||||
"lastrun": "Última ejecución",
|
||||
"nextrun": "Siguiente ejecución",
|
||||
"failed": "Failed"
|
||||
"failed": "Fallido"
|
||||
},
|
||||
"unmanic": {
|
||||
"active_workers": "Trabajadores activos",
|
||||
@@ -751,20 +752,20 @@
|
||||
"targets_total": "Objetivos totales"
|
||||
},
|
||||
"gatus": {
|
||||
"up": "Sites Up",
|
||||
"down": "Sites Down",
|
||||
"uptime": "Uptime"
|
||||
"up": "Sitios activos",
|
||||
"down": "Sitios inactivos",
|
||||
"uptime": "Tiempo activo"
|
||||
},
|
||||
"ghostfolio": {
|
||||
"gross_percent_today": "Today",
|
||||
"gross_percent_today": "Hoy",
|
||||
"gross_percent_1y": "Un año",
|
||||
"gross_percent_max": "Todo el tiempo"
|
||||
},
|
||||
"audiobookshelf": {
|
||||
"podcasts": "Podcasts",
|
||||
"books": "Books",
|
||||
"books": "Libros",
|
||||
"podcastsDuration": "Duración",
|
||||
"booksDuration": "Duration"
|
||||
"booksDuration": "Duración"
|
||||
},
|
||||
"homeassistant": {
|
||||
"people_home": "Personas en casa",
|
||||
@@ -789,32 +790,32 @@
|
||||
},
|
||||
"kavita": {
|
||||
"seriesCount": "Series",
|
||||
"totalFiles": "Files"
|
||||
"totalFiles": "Archivos"
|
||||
},
|
||||
"azuredevops": {
|
||||
"result": "Resultado",
|
||||
"status": "Status",
|
||||
"status": "Estado",
|
||||
"buildId": "ID de compilación",
|
||||
"succeeded": "Exitoso",
|
||||
"notStarted": "No iniciado",
|
||||
"failed": "Failed",
|
||||
"failed": "Fallido",
|
||||
"canceled": "Cancelado",
|
||||
"inProgress": "En curso",
|
||||
"totalPrs": "RP totales",
|
||||
"myPrs": "Mis logros",
|
||||
"approved": "Approved"
|
||||
"totalPrs": "PRs totales",
|
||||
"myPrs": "Mis PRs",
|
||||
"approved": "Aprobado"
|
||||
},
|
||||
"gamedig": {
|
||||
"status": "Status",
|
||||
"online": "Online",
|
||||
"offline": "Offline",
|
||||
"status": "Estado",
|
||||
"online": "En línea",
|
||||
"offline": "Fuera de línea",
|
||||
"name": "Nombre",
|
||||
"map": "Mapa",
|
||||
"currentPlayers": "Jugadores actuales",
|
||||
"players": "Players",
|
||||
"players": "Jugadores",
|
||||
"maxPlayers": "Jugadores máximos",
|
||||
"bots": "Bots",
|
||||
"ping": "Ping"
|
||||
"ping": "Latencia"
|
||||
},
|
||||
"urbackup": {
|
||||
"ok": "OK",
|
||||
@@ -824,42 +825,42 @@
|
||||
},
|
||||
"mealie": {
|
||||
"recipes": "Recetas",
|
||||
"users": "Users",
|
||||
"categories": "Categories",
|
||||
"users": "Usuarios",
|
||||
"categories": "Categorías",
|
||||
"tags": "Etiquetas"
|
||||
},
|
||||
"openmediavault": {
|
||||
"downloading": "Descargando",
|
||||
"total": "Total",
|
||||
"running": "Running",
|
||||
"stopped": "Stopped",
|
||||
"passed": "Passed",
|
||||
"failed": "Failed"
|
||||
"running": "Ejecutando",
|
||||
"stopped": "Detenido",
|
||||
"passed": "Aprobado",
|
||||
"failed": "Fallido"
|
||||
},
|
||||
"openwrt": {
|
||||
"uptime": "Uptime",
|
||||
"uptime": "Tiempo activo",
|
||||
"cpuLoad": "Carga promedio del CPU (5m)",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"up": "Activo",
|
||||
"down": "Inactivo",
|
||||
"bytesTx": "Transmitido",
|
||||
"bytesRx": "Received"
|
||||
"bytesRx": "Recibido"
|
||||
},
|
||||
"uptimerobot": {
|
||||
"status": "Status",
|
||||
"uptime": "Uptime",
|
||||
"status": "Estado",
|
||||
"uptime": "Tiempo activo",
|
||||
"lastDown": "Último periodo de inactividad",
|
||||
"downDuration": "Duración de inactividad",
|
||||
"sitesUp": "Sites Up",
|
||||
"sitesDown": "Sites Down",
|
||||
"paused": "Paused",
|
||||
"notyetchecked": "Aún no verificado",
|
||||
"up": "Up",
|
||||
"seemsdown": "Parece caída",
|
||||
"down": "Down",
|
||||
"unknown": "Unknown"
|
||||
"sitesUp": "Sitios activos",
|
||||
"sitesDown": "Sitios inactivos",
|
||||
"paused": "Pausado",
|
||||
"notyetchecked": "Aún no comprobado",
|
||||
"up": "Activo",
|
||||
"seemsdown": "Parece caído",
|
||||
"down": "Inactivo",
|
||||
"unknown": "Desconocido"
|
||||
},
|
||||
"calendar": {
|
||||
"inCinemas": "En cine",
|
||||
"inCinemas": "En cines",
|
||||
"physicalRelease": "Lanzamiento en físico",
|
||||
"digitalRelease": "Lanzamiento en digital",
|
||||
"noEventsToday": "¡Sin eventos para hoy!",
|
||||
@@ -875,10 +876,10 @@
|
||||
"totalfilesize": "Tamaño total"
|
||||
},
|
||||
"mailcow": {
|
||||
"domains": "Domains",
|
||||
"domains": "Dominios",
|
||||
"mailboxes": "Buzones de correo",
|
||||
"mails": "Correos",
|
||||
"storage": "Storage"
|
||||
"storage": "Almacenamiento"
|
||||
},
|
||||
"netdata": {
|
||||
"warnings": "Advertencias",
|
||||
@@ -887,12 +888,12 @@
|
||||
"plantit": {
|
||||
"events": "Eventos",
|
||||
"plants": "Plantas",
|
||||
"photos": "Photos",
|
||||
"photos": "Fotos",
|
||||
"species": "Especies"
|
||||
},
|
||||
"gitea": {
|
||||
"notifications": "Notificaciones",
|
||||
"issues": "Issues",
|
||||
"issues": "Incidencias",
|
||||
"pulls": "Solicitudes de cambios",
|
||||
"repositories": "Repositorios"
|
||||
},
|
||||
@@ -908,13 +909,13 @@
|
||||
"galleries": "Galerías",
|
||||
"performers": "Intérpretes",
|
||||
"studios": "Estudios",
|
||||
"movies": "Movies",
|
||||
"tags": "Tags",
|
||||
"movies": "Películas",
|
||||
"tags": "Etiquetas",
|
||||
"oCount": "Cantidad de O"
|
||||
},
|
||||
"tandoor": {
|
||||
"users": "Users",
|
||||
"recipes": "Recipes",
|
||||
"users": "Usuarios",
|
||||
"recipes": "Recetas",
|
||||
"keywords": "Palabras clave"
|
||||
},
|
||||
"homebox": {
|
||||
@@ -922,11 +923,11 @@
|
||||
"totalWithWarranty": "Con garantía",
|
||||
"locations": "Ubicaciones",
|
||||
"labels": "Etiquetas",
|
||||
"users": "Users",
|
||||
"users": "Usuarios",
|
||||
"totalValue": "Valor total"
|
||||
},
|
||||
"crowdsec": {
|
||||
"alerts": "Alerts",
|
||||
"alerts": "Alertas",
|
||||
"bans": "Baneos"
|
||||
},
|
||||
"wgeasy": {
|
||||
@@ -942,9 +943,9 @@
|
||||
"banned": "Baneado"
|
||||
},
|
||||
"myspeed": {
|
||||
"ping": "Ping",
|
||||
"download": "Download",
|
||||
"upload": "Upload"
|
||||
"ping": "Latencia",
|
||||
"download": "Descarga",
|
||||
"upload": "Subida"
|
||||
},
|
||||
"stocks": {
|
||||
"stocks": "Acciones",
|
||||
@@ -955,17 +956,17 @@
|
||||
},
|
||||
"frigate": {
|
||||
"cameras": "Cámaras",
|
||||
"uptime": "Uptime",
|
||||
"version": "Version"
|
||||
"uptime": "Tiempo activo",
|
||||
"version": "Versión"
|
||||
},
|
||||
"linkwarden": {
|
||||
"links": "Enlaces",
|
||||
"collections": "Colecciones",
|
||||
"tags": "Tags"
|
||||
"tags": "Etiquetas"
|
||||
},
|
||||
"zabbix": {
|
||||
"unclassified": "No clasificado",
|
||||
"information": "Information",
|
||||
"information": "Información",
|
||||
"warning": "Advertencia",
|
||||
"average": "Promedio",
|
||||
"high": "Alto",
|
||||
@@ -986,22 +987,22 @@
|
||||
"tasksInProgress": "Tareas en progreso"
|
||||
},
|
||||
"headscale": {
|
||||
"name": "Name",
|
||||
"address": "Address",
|
||||
"last_seen": "Last Seen",
|
||||
"status": "Status",
|
||||
"online": "Online",
|
||||
"offline": "Offline"
|
||||
"name": "Nombre",
|
||||
"address": "Dirección",
|
||||
"last_seen": "Visto por última vez",
|
||||
"status": "Estado",
|
||||
"online": "En línea",
|
||||
"offline": "Fuera de línea"
|
||||
},
|
||||
"beszel": {
|
||||
"name": "Name",
|
||||
"name": "Nombre",
|
||||
"systems": "Sistemas",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"paused": "Paused",
|
||||
"pending": "Pending",
|
||||
"status": "Status",
|
||||
"updated": "Updated",
|
||||
"up": "Activo",
|
||||
"down": "Inactivo",
|
||||
"paused": "Pausado",
|
||||
"pending": "Pendiente",
|
||||
"status": "Estado",
|
||||
"updated": "Actualizado",
|
||||
"cpu": "CPU",
|
||||
"memory": "MEM",
|
||||
"disk": "Disco",
|
||||
@@ -1011,26 +1012,26 @@
|
||||
"apps": "Apps",
|
||||
"synced": "Sincronizado",
|
||||
"outOfSync": "Desincronizado",
|
||||
"healthy": "Healthy",
|
||||
"healthy": "Saludable",
|
||||
"degraded": "Degradado",
|
||||
"progressing": "Progresando",
|
||||
"missing": "Missing",
|
||||
"missing": "Faltantes",
|
||||
"suspended": "Suspendido"
|
||||
},
|
||||
"spoolman": {
|
||||
"loading": "Loading"
|
||||
"loading": "Cargando"
|
||||
},
|
||||
"gitlab": {
|
||||
"groups": "Grupos",
|
||||
"issues": "Issues",
|
||||
"issues": "Incidencias",
|
||||
"merges": "Solicitudes de fusión",
|
||||
"projects": "Proyectos"
|
||||
},
|
||||
"apcups": {
|
||||
"status": "Status",
|
||||
"load": "Load",
|
||||
"bcharge": "Battery Charge",
|
||||
"timeleft": "Time Left"
|
||||
"status": "Estado",
|
||||
"load": "Carga",
|
||||
"bcharge": "Carga de la batería",
|
||||
"timeleft": "Tiempo restante"
|
||||
},
|
||||
"karakeep": {
|
||||
"bookmarks": "Marcadores",
|
||||
@@ -1038,10 +1039,10 @@
|
||||
"archived": "Archivado",
|
||||
"highlights": "Destacados",
|
||||
"lists": "Listas",
|
||||
"tags": "Tags"
|
||||
"tags": "Etiquetas"
|
||||
},
|
||||
"slskd": {
|
||||
"slskStatus": "Network",
|
||||
"slskStatus": "Red",
|
||||
"connected": "Conectado",
|
||||
"disconnected": "Desconectado",
|
||||
"updateStatus": "Actualización",
|
||||
@@ -1049,12 +1050,12 @@
|
||||
"update_no": "Actualizado",
|
||||
"downloads": "Descargas",
|
||||
"uploads": "Subidas",
|
||||
"sharedFiles": "Compartidos"
|
||||
"sharedFiles": "Archivos"
|
||||
},
|
||||
"jellystat": {
|
||||
"songs": "Songs",
|
||||
"movies": "Movies",
|
||||
"episodes": "Episodes",
|
||||
"songs": "Canciones",
|
||||
"movies": "Películas",
|
||||
"episodes": "Episodios",
|
||||
"other": "Otros"
|
||||
},
|
||||
"checkmk": {
|
||||
@@ -1063,25 +1064,55 @@
|
||||
},
|
||||
"komodo": {
|
||||
"total": "Total",
|
||||
"running": "Running",
|
||||
"stopped": "Stopped",
|
||||
"down": "Down",
|
||||
"unhealthy": "Unhealthy",
|
||||
"unknown": "Unknown",
|
||||
"servers": "Servers",
|
||||
"running": "En ejecución",
|
||||
"stopped": "Detenido",
|
||||
"down": "Inactivo",
|
||||
"unhealthy": "En mal estado",
|
||||
"unknown": "Desconocido",
|
||||
"servers": "Servidores",
|
||||
"stacks": "Stacks",
|
||||
"containers": "Containers"
|
||||
"containers": "Contenedores"
|
||||
},
|
||||
"filebrowser": {
|
||||
"available": "Available",
|
||||
"used": "Used",
|
||||
"available": "Disponible",
|
||||
"used": "Usado",
|
||||
"total": "Total"
|
||||
},
|
||||
"wallos": {
|
||||
"activeSubscriptions": "Subscriptions",
|
||||
"thisMonthlyCost": "This Month",
|
||||
"nextMonthlyCost": "Next Month",
|
||||
"previousMonthlyCost": "Prev. Month",
|
||||
"nextRenewingSubscription": "Next Payment"
|
||||
"activeSubscriptions": "Suscripciones",
|
||||
"thisMonthlyCost": "Este mes",
|
||||
"nextMonthlyCost": "Próximo mes",
|
||||
"previousMonthlyCost": "Mes anterior",
|
||||
"nextRenewingSubscription": "Próximo pago"
|
||||
},
|
||||
"unraid": {
|
||||
"STARTED": "Iniciado",
|
||||
"STOPPED": "Detenido",
|
||||
"NEW_ARRAY": "Nueva matriz",
|
||||
"RECON_DISK": "Reconstruyendo disco",
|
||||
"DISABLE_DISK": "Disco deshabilitado",
|
||||
"SWAP_DSBL": "Swap deshabilitado",
|
||||
"INVALID_EXPANSION": "Expansión inválida",
|
||||
"PARITY_NOT_BIGGEST": "Paridad no es el más grande",
|
||||
"TOO_MANY_MISSING_DISKS": "Demasiados discos faltantes",
|
||||
"NEW_DISK_TOO_SMALL": "Nuevo disco demasiado pequeño",
|
||||
"NO_DATA_DISKS": "Sin discos de datos",
|
||||
"notifications": "Notificaciones",
|
||||
"status": "Estado",
|
||||
"cpu": "CPU",
|
||||
"memoryUsed": "Memoria usada",
|
||||
"memoryAvailable": "Memoria disponible",
|
||||
"arrayUsed": "Matriz usada",
|
||||
"arrayFree": "Matriz libre",
|
||||
"poolUsed": "{{pool}} Usado",
|
||||
"poolFree": "{{pool}} Libre"
|
||||
},
|
||||
"backrest": {
|
||||
"num_plans": "Plans",
|
||||
"num_success_30": "Successes",
|
||||
"num_failure_30": "Failures",
|
||||
"num_success_latest": "Succeeding",
|
||||
"num_failure_latest": "Failing",
|
||||
"bytes_added_30": "Bytes Added"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,7 +275,8 @@
|
||||
"jellyseerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"available": "Available",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
@@ -1083,5 +1084,35 @@
|
||||
"nextMonthlyCost": "Next Month",
|
||||
"previousMonthlyCost": "Prev. Month",
|
||||
"nextRenewingSubscription": "Next Payment"
|
||||
},
|
||||
"unraid": {
|
||||
"STARTED": "Started",
|
||||
"STOPPED": "Stopped",
|
||||
"NEW_ARRAY": "New Array",
|
||||
"RECON_DISK": "Reconstructing Disk",
|
||||
"DISABLE_DISK": "Disk Disabled",
|
||||
"SWAP_DSBL": "Swap Disable",
|
||||
"INVALID_EXPANSION": "Invalid Expansion",
|
||||
"PARITY_NOT_BIGGEST": "Parity Not Biggest",
|
||||
"TOO_MANY_MISSING_DISKS": "Too Many Missing Disks",
|
||||
"NEW_DISK_TOO_SMALL": "New Disk Too Small",
|
||||
"NO_DATA_DISKS": "No Data Disks",
|
||||
"notifications": "Notifications",
|
||||
"status": "Status",
|
||||
"cpu": "CPU",
|
||||
"memoryUsed": "Memory Used",
|
||||
"memoryAvailable": "Memory Available",
|
||||
"arrayUsed": "Array Used",
|
||||
"arrayFree": "Array Free",
|
||||
"poolUsed": "{{pool}} Used",
|
||||
"poolFree": "{{pool}} Free"
|
||||
},
|
||||
"backrest": {
|
||||
"num_plans": "Plans",
|
||||
"num_success_30": "Successes",
|
||||
"num_failure_30": "Failures",
|
||||
"num_success_latest": "Succeeding",
|
||||
"num_failure_latest": "Failing",
|
||||
"bytes_added_30": "Bytes Added"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,7 +275,8 @@
|
||||
"jellyseerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"available": "Available",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
@@ -1083,5 +1084,35 @@
|
||||
"nextMonthlyCost": "Next Month",
|
||||
"previousMonthlyCost": "Prev. Month",
|
||||
"nextRenewingSubscription": "Next Payment"
|
||||
},
|
||||
"unraid": {
|
||||
"STARTED": "Started",
|
||||
"STOPPED": "Stopped",
|
||||
"NEW_ARRAY": "New Array",
|
||||
"RECON_DISK": "Reconstructing Disk",
|
||||
"DISABLE_DISK": "Disk Disabled",
|
||||
"SWAP_DSBL": "Swap Disable",
|
||||
"INVALID_EXPANSION": "Invalid Expansion",
|
||||
"PARITY_NOT_BIGGEST": "Parity Not Biggest",
|
||||
"TOO_MANY_MISSING_DISKS": "Too Many Missing Disks",
|
||||
"NEW_DISK_TOO_SMALL": "New Disk Too Small",
|
||||
"NO_DATA_DISKS": "No Data Disks",
|
||||
"notifications": "Notifications",
|
||||
"status": "Status",
|
||||
"cpu": "CPU",
|
||||
"memoryUsed": "Memory Used",
|
||||
"memoryAvailable": "Memory Available",
|
||||
"arrayUsed": "Array Used",
|
||||
"arrayFree": "Array Free",
|
||||
"poolUsed": "{{pool}} Used",
|
||||
"poolFree": "{{pool}} Free"
|
||||
},
|
||||
"backrest": {
|
||||
"num_plans": "Plans",
|
||||
"num_success_30": "Successes",
|
||||
"num_failure_30": "Failures",
|
||||
"num_success_latest": "Succeeding",
|
||||
"num_failure_latest": "Failing",
|
||||
"bytes_added_30": "Bytes Added"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,7 +275,8 @@
|
||||
"jellyseerr": {
|
||||
"pending": "En attente",
|
||||
"approved": "Approuvé",
|
||||
"available": "Disponible"
|
||||
"available": "Disponible",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "En attente",
|
||||
@@ -439,8 +440,8 @@
|
||||
"cpu": "CPU",
|
||||
"load": "Charge",
|
||||
"wait": "Veuillez patienter",
|
||||
"temp": "Température",
|
||||
"_temp": "Température",
|
||||
"temp": "TEMP",
|
||||
"_temp": "Temp",
|
||||
"warn": "Alerte",
|
||||
"uptime": "Démarré depuis",
|
||||
"total": "Total",
|
||||
@@ -655,7 +656,7 @@
|
||||
"wanStatus": "Statut WAN",
|
||||
"up": "Haut",
|
||||
"down": "Bas",
|
||||
"temp": "Température",
|
||||
"temp": "Temp",
|
||||
"disk": "Util. Disque",
|
||||
"wanIP": "IP WAN"
|
||||
},
|
||||
@@ -1083,5 +1084,35 @@
|
||||
"nextMonthlyCost": "Mois prochain",
|
||||
"previousMonthlyCost": "Mois précédent",
|
||||
"nextRenewingSubscription": "Prochain paiement"
|
||||
},
|
||||
"unraid": {
|
||||
"STARTED": "Started",
|
||||
"STOPPED": "Stopped",
|
||||
"NEW_ARRAY": "New Array",
|
||||
"RECON_DISK": "Reconstructing Disk",
|
||||
"DISABLE_DISK": "Disk Disabled",
|
||||
"SWAP_DSBL": "Swap Disable",
|
||||
"INVALID_EXPANSION": "Invalid Expansion",
|
||||
"PARITY_NOT_BIGGEST": "Parity Not Biggest",
|
||||
"TOO_MANY_MISSING_DISKS": "Too Many Missing Disks",
|
||||
"NEW_DISK_TOO_SMALL": "New Disk Too Small",
|
||||
"NO_DATA_DISKS": "No Data Disks",
|
||||
"notifications": "Notifications",
|
||||
"status": "Status",
|
||||
"cpu": "CPU",
|
||||
"memoryUsed": "Memory Used",
|
||||
"memoryAvailable": "Memory Available",
|
||||
"arrayUsed": "Array Used",
|
||||
"arrayFree": "Array Free",
|
||||
"poolUsed": "{{pool}} Used",
|
||||
"poolFree": "{{pool}} Free"
|
||||
},
|
||||
"backrest": {
|
||||
"num_plans": "Plans",
|
||||
"num_success_30": "Successes",
|
||||
"num_failure_30": "Failures",
|
||||
"num_success_latest": "Succeeding",
|
||||
"num_failure_latest": "Failing",
|
||||
"bytes_added_30": "Bytes Added"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,7 +275,8 @@
|
||||
"jellyseerr": {
|
||||
"pending": "ממתין לאישור",
|
||||
"approved": "מאושר",
|
||||
"available": "זמין"
|
||||
"available": "זמין",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "ממתין לאישור",
|
||||
@@ -1083,5 +1084,35 @@
|
||||
"nextMonthlyCost": "חודש הבא",
|
||||
"previousMonthlyCost": "חודש קודם",
|
||||
"nextRenewingSubscription": "תשלום הבא"
|
||||
},
|
||||
"unraid": {
|
||||
"STARTED": "Started",
|
||||
"STOPPED": "Stopped",
|
||||
"NEW_ARRAY": "New Array",
|
||||
"RECON_DISK": "Reconstructing Disk",
|
||||
"DISABLE_DISK": "Disk Disabled",
|
||||
"SWAP_DSBL": "Swap Disable",
|
||||
"INVALID_EXPANSION": "Invalid Expansion",
|
||||
"PARITY_NOT_BIGGEST": "Parity Not Biggest",
|
||||
"TOO_MANY_MISSING_DISKS": "Too Many Missing Disks",
|
||||
"NEW_DISK_TOO_SMALL": "New Disk Too Small",
|
||||
"NO_DATA_DISKS": "No Data Disks",
|
||||
"notifications": "Notifications",
|
||||
"status": "Status",
|
||||
"cpu": "CPU",
|
||||
"memoryUsed": "Memory Used",
|
||||
"memoryAvailable": "Memory Available",
|
||||
"arrayUsed": "Array Used",
|
||||
"arrayFree": "Array Free",
|
||||
"poolUsed": "{{pool}} Used",
|
||||
"poolFree": "{{pool}} Free"
|
||||
},
|
||||
"backrest": {
|
||||
"num_plans": "Plans",
|
||||
"num_success_30": "Successes",
|
||||
"num_failure_30": "Failures",
|
||||
"num_success_latest": "Succeeding",
|
||||
"num_failure_latest": "Failing",
|
||||
"bytes_added_30": "Bytes Added"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,7 +275,8 @@
|
||||
"jellyseerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"available": "Available",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
@@ -1083,5 +1084,35 @@
|
||||
"nextMonthlyCost": "Next Month",
|
||||
"previousMonthlyCost": "Prev. Month",
|
||||
"nextRenewingSubscription": "Next Payment"
|
||||
},
|
||||
"unraid": {
|
||||
"STARTED": "Started",
|
||||
"STOPPED": "Stopped",
|
||||
"NEW_ARRAY": "New Array",
|
||||
"RECON_DISK": "Reconstructing Disk",
|
||||
"DISABLE_DISK": "Disk Disabled",
|
||||
"SWAP_DSBL": "Swap Disable",
|
||||
"INVALID_EXPANSION": "Invalid Expansion",
|
||||
"PARITY_NOT_BIGGEST": "Parity Not Biggest",
|
||||
"TOO_MANY_MISSING_DISKS": "Too Many Missing Disks",
|
||||
"NEW_DISK_TOO_SMALL": "New Disk Too Small",
|
||||
"NO_DATA_DISKS": "No Data Disks",
|
||||
"notifications": "Notifications",
|
||||
"status": "Status",
|
||||
"cpu": "CPU",
|
||||
"memoryUsed": "Memory Used",
|
||||
"memoryAvailable": "Memory Available",
|
||||
"arrayUsed": "Array Used",
|
||||
"arrayFree": "Array Free",
|
||||
"poolUsed": "{{pool}} Used",
|
||||
"poolFree": "{{pool}} Free"
|
||||
},
|
||||
"backrest": {
|
||||
"num_plans": "Plans",
|
||||
"num_success_30": "Successes",
|
||||
"num_failure_30": "Failures",
|
||||
"num_success_latest": "Succeeding",
|
||||
"num_failure_latest": "Failing",
|
||||
"bytes_added_30": "Bytes Added"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,7 +275,8 @@
|
||||
"jellyseerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"available": "Available",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
@@ -1083,5 +1084,35 @@
|
||||
"nextMonthlyCost": "Next Month",
|
||||
"previousMonthlyCost": "Prev. Month",
|
||||
"nextRenewingSubscription": "Next Payment"
|
||||
},
|
||||
"unraid": {
|
||||
"STARTED": "Started",
|
||||
"STOPPED": "Stopped",
|
||||
"NEW_ARRAY": "New Array",
|
||||
"RECON_DISK": "Reconstructing Disk",
|
||||
"DISABLE_DISK": "Disk Disabled",
|
||||
"SWAP_DSBL": "Swap Disable",
|
||||
"INVALID_EXPANSION": "Invalid Expansion",
|
||||
"PARITY_NOT_BIGGEST": "Parity Not Biggest",
|
||||
"TOO_MANY_MISSING_DISKS": "Too Many Missing Disks",
|
||||
"NEW_DISK_TOO_SMALL": "New Disk Too Small",
|
||||
"NO_DATA_DISKS": "No Data Disks",
|
||||
"notifications": "Notifications",
|
||||
"status": "Status",
|
||||
"cpu": "CPU",
|
||||
"memoryUsed": "Memory Used",
|
||||
"memoryAvailable": "Memory Available",
|
||||
"arrayUsed": "Array Used",
|
||||
"arrayFree": "Array Free",
|
||||
"poolUsed": "{{pool}} Used",
|
||||
"poolFree": "{{pool}} Free"
|
||||
},
|
||||
"backrest": {
|
||||
"num_plans": "Plans",
|
||||
"num_success_30": "Successes",
|
||||
"num_failure_30": "Failures",
|
||||
"num_success_latest": "Succeeding",
|
||||
"num_failure_latest": "Failing",
|
||||
"bytes_added_30": "Bytes Added"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,7 +275,8 @@
|
||||
"jellyseerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"available": "Available",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
@@ -1083,5 +1084,35 @@
|
||||
"nextMonthlyCost": "Next Month",
|
||||
"previousMonthlyCost": "Prev. Month",
|
||||
"nextRenewingSubscription": "Next Payment"
|
||||
},
|
||||
"unraid": {
|
||||
"STARTED": "Started",
|
||||
"STOPPED": "Stopped",
|
||||
"NEW_ARRAY": "New Array",
|
||||
"RECON_DISK": "Reconstructing Disk",
|
||||
"DISABLE_DISK": "Disk Disabled",
|
||||
"SWAP_DSBL": "Swap Disable",
|
||||
"INVALID_EXPANSION": "Invalid Expansion",
|
||||
"PARITY_NOT_BIGGEST": "Parity Not Biggest",
|
||||
"TOO_MANY_MISSING_DISKS": "Too Many Missing Disks",
|
||||
"NEW_DISK_TOO_SMALL": "New Disk Too Small",
|
||||
"NO_DATA_DISKS": "No Data Disks",
|
||||
"notifications": "Notifications",
|
||||
"status": "Status",
|
||||
"cpu": "CPU",
|
||||
"memoryUsed": "Memory Used",
|
||||
"memoryAvailable": "Memory Available",
|
||||
"arrayUsed": "Array Used",
|
||||
"arrayFree": "Array Free",
|
||||
"poolUsed": "{{pool}} Used",
|
||||
"poolFree": "{{pool}} Free"
|
||||
},
|
||||
"backrest": {
|
||||
"num_plans": "Plans",
|
||||
"num_success_30": "Successes",
|
||||
"num_failure_30": "Failures",
|
||||
"num_success_latest": "Succeeding",
|
||||
"num_failure_latest": "Failing",
|
||||
"bytes_added_30": "Bytes Added"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,7 +275,8 @@
|
||||
"jellyseerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"available": "Available",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
@@ -1083,5 +1084,35 @@
|
||||
"nextMonthlyCost": "Next Month",
|
||||
"previousMonthlyCost": "Prev. Month",
|
||||
"nextRenewingSubscription": "Next Payment"
|
||||
},
|
||||
"unraid": {
|
||||
"STARTED": "Started",
|
||||
"STOPPED": "Stopped",
|
||||
"NEW_ARRAY": "New Array",
|
||||
"RECON_DISK": "Reconstructing Disk",
|
||||
"DISABLE_DISK": "Disk Disabled",
|
||||
"SWAP_DSBL": "Swap Disable",
|
||||
"INVALID_EXPANSION": "Invalid Expansion",
|
||||
"PARITY_NOT_BIGGEST": "Parity Not Biggest",
|
||||
"TOO_MANY_MISSING_DISKS": "Too Many Missing Disks",
|
||||
"NEW_DISK_TOO_SMALL": "New Disk Too Small",
|
||||
"NO_DATA_DISKS": "No Data Disks",
|
||||
"notifications": "Notifications",
|
||||
"status": "Status",
|
||||
"cpu": "CPU",
|
||||
"memoryUsed": "Memory Used",
|
||||
"memoryAvailable": "Memory Available",
|
||||
"arrayUsed": "Array Used",
|
||||
"arrayFree": "Array Free",
|
||||
"poolUsed": "{{pool}} Used",
|
||||
"poolFree": "{{pool}} Free"
|
||||
},
|
||||
"backrest": {
|
||||
"num_plans": "Plans",
|
||||
"num_success_30": "Successes",
|
||||
"num_failure_30": "Failures",
|
||||
"num_success_latest": "Succeeding",
|
||||
"num_failure_latest": "Failing",
|
||||
"bytes_added_30": "Bytes Added"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,7 +275,8 @@
|
||||
"jellyseerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"available": "Available",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
@@ -1083,5 +1084,35 @@
|
||||
"nextMonthlyCost": "Next Month",
|
||||
"previousMonthlyCost": "Prev. Month",
|
||||
"nextRenewingSubscription": "Next Payment"
|
||||
},
|
||||
"unraid": {
|
||||
"STARTED": "Started",
|
||||
"STOPPED": "Stopped",
|
||||
"NEW_ARRAY": "New Array",
|
||||
"RECON_DISK": "Reconstructing Disk",
|
||||
"DISABLE_DISK": "Disk Disabled",
|
||||
"SWAP_DSBL": "Swap Disable",
|
||||
"INVALID_EXPANSION": "Invalid Expansion",
|
||||
"PARITY_NOT_BIGGEST": "Parity Not Biggest",
|
||||
"TOO_MANY_MISSING_DISKS": "Too Many Missing Disks",
|
||||
"NEW_DISK_TOO_SMALL": "New Disk Too Small",
|
||||
"NO_DATA_DISKS": "No Data Disks",
|
||||
"notifications": "Notifications",
|
||||
"status": "Status",
|
||||
"cpu": "CPU",
|
||||
"memoryUsed": "Memory Used",
|
||||
"memoryAvailable": "Memory Available",
|
||||
"arrayUsed": "Array Used",
|
||||
"arrayFree": "Array Free",
|
||||
"poolUsed": "{{pool}} Used",
|
||||
"poolFree": "{{pool}} Free"
|
||||
},
|
||||
"backrest": {
|
||||
"num_plans": "Plans",
|
||||
"num_success_30": "Successes",
|
||||
"num_failure_30": "Failures",
|
||||
"num_success_latest": "Succeeding",
|
||||
"num_failure_latest": "Failing",
|
||||
"bytes_added_30": "Bytes Added"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,7 +275,8 @@
|
||||
"jellyseerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"available": "Available",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
@@ -1083,5 +1084,35 @@
|
||||
"nextMonthlyCost": "Next Month",
|
||||
"previousMonthlyCost": "Prev. Month",
|
||||
"nextRenewingSubscription": "Next Payment"
|
||||
},
|
||||
"unraid": {
|
||||
"STARTED": "Started",
|
||||
"STOPPED": "Stopped",
|
||||
"NEW_ARRAY": "New Array",
|
||||
"RECON_DISK": "Reconstructing Disk",
|
||||
"DISABLE_DISK": "Disk Disabled",
|
||||
"SWAP_DSBL": "Swap Disable",
|
||||
"INVALID_EXPANSION": "Invalid Expansion",
|
||||
"PARITY_NOT_BIGGEST": "Parity Not Biggest",
|
||||
"TOO_MANY_MISSING_DISKS": "Too Many Missing Disks",
|
||||
"NEW_DISK_TOO_SMALL": "New Disk Too Small",
|
||||
"NO_DATA_DISKS": "No Data Disks",
|
||||
"notifications": "Notifications",
|
||||
"status": "Status",
|
||||
"cpu": "CPU",
|
||||
"memoryUsed": "Memory Used",
|
||||
"memoryAvailable": "Memory Available",
|
||||
"arrayUsed": "Array Used",
|
||||
"arrayFree": "Array Free",
|
||||
"poolUsed": "{{pool}} Used",
|
||||
"poolFree": "{{pool}} Free"
|
||||
},
|
||||
"backrest": {
|
||||
"num_plans": "Plans",
|
||||
"num_success_30": "Successes",
|
||||
"num_failure_30": "Failures",
|
||||
"num_success_latest": "Succeeding",
|
||||
"num_failure_latest": "Failing",
|
||||
"bytes_added_30": "Bytes Added"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,7 +275,8 @@
|
||||
"jellyseerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"available": "Available",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
@@ -1083,5 +1084,35 @@
|
||||
"nextMonthlyCost": "Next Month",
|
||||
"previousMonthlyCost": "Prev. Month",
|
||||
"nextRenewingSubscription": "Next Payment"
|
||||
},
|
||||
"unraid": {
|
||||
"STARTED": "Started",
|
||||
"STOPPED": "Stopped",
|
||||
"NEW_ARRAY": "New Array",
|
||||
"RECON_DISK": "Reconstructing Disk",
|
||||
"DISABLE_DISK": "Disk Disabled",
|
||||
"SWAP_DSBL": "Swap Disable",
|
||||
"INVALID_EXPANSION": "Invalid Expansion",
|
||||
"PARITY_NOT_BIGGEST": "Parity Not Biggest",
|
||||
"TOO_MANY_MISSING_DISKS": "Too Many Missing Disks",
|
||||
"NEW_DISK_TOO_SMALL": "New Disk Too Small",
|
||||
"NO_DATA_DISKS": "No Data Disks",
|
||||
"notifications": "Notifications",
|
||||
"status": "Status",
|
||||
"cpu": "CPU",
|
||||
"memoryUsed": "Memory Used",
|
||||
"memoryAvailable": "Memory Available",
|
||||
"arrayUsed": "Array Used",
|
||||
"arrayFree": "Array Free",
|
||||
"poolUsed": "{{pool}} Used",
|
||||
"poolFree": "{{pool}} Free"
|
||||
},
|
||||
"backrest": {
|
||||
"num_plans": "Plans",
|
||||
"num_success_30": "Successes",
|
||||
"num_failure_30": "Failures",
|
||||
"num_success_latest": "Succeeding",
|
||||
"num_failure_latest": "Failing",
|
||||
"bytes_added_30": "Bytes Added"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,7 +275,8 @@
|
||||
"jellyseerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"available": "Available",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
@@ -1083,5 +1084,35 @@
|
||||
"nextMonthlyCost": "Next Month",
|
||||
"previousMonthlyCost": "Prev. Month",
|
||||
"nextRenewingSubscription": "Next Payment"
|
||||
},
|
||||
"unraid": {
|
||||
"STARTED": "Started",
|
||||
"STOPPED": "Stopped",
|
||||
"NEW_ARRAY": "New Array",
|
||||
"RECON_DISK": "Reconstructing Disk",
|
||||
"DISABLE_DISK": "Disk Disabled",
|
||||
"SWAP_DSBL": "Swap Disable",
|
||||
"INVALID_EXPANSION": "Invalid Expansion",
|
||||
"PARITY_NOT_BIGGEST": "Parity Not Biggest",
|
||||
"TOO_MANY_MISSING_DISKS": "Too Many Missing Disks",
|
||||
"NEW_DISK_TOO_SMALL": "New Disk Too Small",
|
||||
"NO_DATA_DISKS": "No Data Disks",
|
||||
"notifications": "Notifications",
|
||||
"status": "Status",
|
||||
"cpu": "CPU",
|
||||
"memoryUsed": "Memory Used",
|
||||
"memoryAvailable": "Memory Available",
|
||||
"arrayUsed": "Array Used",
|
||||
"arrayFree": "Array Free",
|
||||
"poolUsed": "{{pool}} Used",
|
||||
"poolFree": "{{pool}} Free"
|
||||
},
|
||||
"backrest": {
|
||||
"num_plans": "Plans",
|
||||
"num_success_30": "Successes",
|
||||
"num_failure_30": "Failures",
|
||||
"num_success_latest": "Succeeding",
|
||||
"num_failure_latest": "Failing",
|
||||
"bytes_added_30": "Bytes Added"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,7 +275,8 @@
|
||||
"jellyseerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"available": "Available",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
@@ -1083,5 +1084,35 @@
|
||||
"nextMonthlyCost": "Next Month",
|
||||
"previousMonthlyCost": "Prev. Month",
|
||||
"nextRenewingSubscription": "Next Payment"
|
||||
},
|
||||
"unraid": {
|
||||
"STARTED": "Started",
|
||||
"STOPPED": "Stopped",
|
||||
"NEW_ARRAY": "New Array",
|
||||
"RECON_DISK": "Reconstructing Disk",
|
||||
"DISABLE_DISK": "Disk Disabled",
|
||||
"SWAP_DSBL": "Swap Disable",
|
||||
"INVALID_EXPANSION": "Invalid Expansion",
|
||||
"PARITY_NOT_BIGGEST": "Parity Not Biggest",
|
||||
"TOO_MANY_MISSING_DISKS": "Too Many Missing Disks",
|
||||
"NEW_DISK_TOO_SMALL": "New Disk Too Small",
|
||||
"NO_DATA_DISKS": "No Data Disks",
|
||||
"notifications": "Notifications",
|
||||
"status": "Status",
|
||||
"cpu": "CPU",
|
||||
"memoryUsed": "Memory Used",
|
||||
"memoryAvailable": "Memory Available",
|
||||
"arrayUsed": "Array Used",
|
||||
"arrayFree": "Array Free",
|
||||
"poolUsed": "{{pool}} Used",
|
||||
"poolFree": "{{pool}} Free"
|
||||
},
|
||||
"backrest": {
|
||||
"num_plans": "Plans",
|
||||
"num_success_30": "Successes",
|
||||
"num_failure_30": "Failures",
|
||||
"num_success_latest": "Succeeding",
|
||||
"num_failure_latest": "Failing",
|
||||
"bytes_added_30": "Bytes Added"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,7 +275,8 @@
|
||||
"jellyseerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"available": "Available",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
@@ -1083,5 +1084,35 @@
|
||||
"nextMonthlyCost": "Next Month",
|
||||
"previousMonthlyCost": "Prev. Month",
|
||||
"nextRenewingSubscription": "Next Payment"
|
||||
},
|
||||
"unraid": {
|
||||
"STARTED": "Started",
|
||||
"STOPPED": "Stopped",
|
||||
"NEW_ARRAY": "New Array",
|
||||
"RECON_DISK": "Reconstructing Disk",
|
||||
"DISABLE_DISK": "Disk Disabled",
|
||||
"SWAP_DSBL": "Swap Disable",
|
||||
"INVALID_EXPANSION": "Invalid Expansion",
|
||||
"PARITY_NOT_BIGGEST": "Parity Not Biggest",
|
||||
"TOO_MANY_MISSING_DISKS": "Too Many Missing Disks",
|
||||
"NEW_DISK_TOO_SMALL": "New Disk Too Small",
|
||||
"NO_DATA_DISKS": "No Data Disks",
|
||||
"notifications": "Notifications",
|
||||
"status": "Status",
|
||||
"cpu": "CPU",
|
||||
"memoryUsed": "Memory Used",
|
||||
"memoryAvailable": "Memory Available",
|
||||
"arrayUsed": "Array Used",
|
||||
"arrayFree": "Array Free",
|
||||
"poolUsed": "{{pool}} Used",
|
||||
"poolFree": "{{pool}} Free"
|
||||
},
|
||||
"backrest": {
|
||||
"num_plans": "Plans",
|
||||
"num_success_30": "Successes",
|
||||
"num_failure_30": "Failures",
|
||||
"num_success_latest": "Succeeding",
|
||||
"num_failure_latest": "Failing",
|
||||
"bytes_added_30": "Bytes Added"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,7 +275,8 @@
|
||||
"jellyseerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"available": "Available",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
@@ -1083,5 +1084,35 @@
|
||||
"nextMonthlyCost": "Next Month",
|
||||
"previousMonthlyCost": "Prev. Month",
|
||||
"nextRenewingSubscription": "Next Payment"
|
||||
},
|
||||
"unraid": {
|
||||
"STARTED": "Started",
|
||||
"STOPPED": "Stopped",
|
||||
"NEW_ARRAY": "New Array",
|
||||
"RECON_DISK": "Reconstructing Disk",
|
||||
"DISABLE_DISK": "Disk Disabled",
|
||||
"SWAP_DSBL": "Swap Disable",
|
||||
"INVALID_EXPANSION": "Invalid Expansion",
|
||||
"PARITY_NOT_BIGGEST": "Parity Not Biggest",
|
||||
"TOO_MANY_MISSING_DISKS": "Too Many Missing Disks",
|
||||
"NEW_DISK_TOO_SMALL": "New Disk Too Small",
|
||||
"NO_DATA_DISKS": "No Data Disks",
|
||||
"notifications": "Notifications",
|
||||
"status": "Status",
|
||||
"cpu": "CPU",
|
||||
"memoryUsed": "Memory Used",
|
||||
"memoryAvailable": "Memory Available",
|
||||
"arrayUsed": "Array Used",
|
||||
"arrayFree": "Array Free",
|
||||
"poolUsed": "{{pool}} Used",
|
||||
"poolFree": "{{pool}} Free"
|
||||
},
|
||||
"backrest": {
|
||||
"num_plans": "Plans",
|
||||
"num_success_30": "Successes",
|
||||
"num_failure_30": "Failures",
|
||||
"num_success_latest": "Succeeding",
|
||||
"num_failure_latest": "Failing",
|
||||
"bytes_added_30": "Bytes Added"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,7 +275,8 @@
|
||||
"jellyseerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"available": "Available",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
@@ -1083,5 +1084,35 @@
|
||||
"nextMonthlyCost": "Next Month",
|
||||
"previousMonthlyCost": "Prev. Month",
|
||||
"nextRenewingSubscription": "Next Payment"
|
||||
},
|
||||
"unraid": {
|
||||
"STARTED": "Started",
|
||||
"STOPPED": "Stopped",
|
||||
"NEW_ARRAY": "New Array",
|
||||
"RECON_DISK": "Reconstructing Disk",
|
||||
"DISABLE_DISK": "Disk Disabled",
|
||||
"SWAP_DSBL": "Swap Disable",
|
||||
"INVALID_EXPANSION": "Invalid Expansion",
|
||||
"PARITY_NOT_BIGGEST": "Parity Not Biggest",
|
||||
"TOO_MANY_MISSING_DISKS": "Too Many Missing Disks",
|
||||
"NEW_DISK_TOO_SMALL": "New Disk Too Small",
|
||||
"NO_DATA_DISKS": "No Data Disks",
|
||||
"notifications": "Notifications",
|
||||
"status": "Status",
|
||||
"cpu": "CPU",
|
||||
"memoryUsed": "Memory Used",
|
||||
"memoryAvailable": "Memory Available",
|
||||
"arrayUsed": "Array Used",
|
||||
"arrayFree": "Array Free",
|
||||
"poolUsed": "{{pool}} Used",
|
||||
"poolFree": "{{pool}} Free"
|
||||
},
|
||||
"backrest": {
|
||||
"num_plans": "Plans",
|
||||
"num_success_30": "Successes",
|
||||
"num_failure_30": "Failures",
|
||||
"num_success_latest": "Succeeding",
|
||||
"num_failure_latest": "Failing",
|
||||
"bytes_added_30": "Bytes Added"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,7 +275,8 @@
|
||||
"jellyseerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"available": "Available",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
@@ -1083,5 +1084,35 @@
|
||||
"nextMonthlyCost": "Próximo mês",
|
||||
"previousMonthlyCost": "Mês anterior",
|
||||
"nextRenewingSubscription": "Próximo pagamento"
|
||||
},
|
||||
"unraid": {
|
||||
"STARTED": "Started",
|
||||
"STOPPED": "Stopped",
|
||||
"NEW_ARRAY": "New Array",
|
||||
"RECON_DISK": "Reconstructing Disk",
|
||||
"DISABLE_DISK": "Disk Disabled",
|
||||
"SWAP_DSBL": "Swap Disable",
|
||||
"INVALID_EXPANSION": "Invalid Expansion",
|
||||
"PARITY_NOT_BIGGEST": "Parity Not Biggest",
|
||||
"TOO_MANY_MISSING_DISKS": "Too Many Missing Disks",
|
||||
"NEW_DISK_TOO_SMALL": "New Disk Too Small",
|
||||
"NO_DATA_DISKS": "No Data Disks",
|
||||
"notifications": "Notifications",
|
||||
"status": "Status",
|
||||
"cpu": "CPU",
|
||||
"memoryUsed": "Memory Used",
|
||||
"memoryAvailable": "Memory Available",
|
||||
"arrayUsed": "Array Used",
|
||||
"arrayFree": "Array Free",
|
||||
"poolUsed": "{{pool}} Used",
|
||||
"poolFree": "{{pool}} Free"
|
||||
},
|
||||
"backrest": {
|
||||
"num_plans": "Plans",
|
||||
"num_success_30": "Successes",
|
||||
"num_failure_30": "Failures",
|
||||
"num_success_latest": "Succeeding",
|
||||
"num_failure_latest": "Failing",
|
||||
"bytes_added_30": "Bytes Added"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,7 +275,8 @@
|
||||
"jellyseerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"available": "Available",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
@@ -1083,5 +1084,35 @@
|
||||
"nextMonthlyCost": "Next Month",
|
||||
"previousMonthlyCost": "Prev. Month",
|
||||
"nextRenewingSubscription": "Next Payment"
|
||||
},
|
||||
"unraid": {
|
||||
"STARTED": "Started",
|
||||
"STOPPED": "Stopped",
|
||||
"NEW_ARRAY": "New Array",
|
||||
"RECON_DISK": "Reconstructing Disk",
|
||||
"DISABLE_DISK": "Disk Disabled",
|
||||
"SWAP_DSBL": "Swap Disable",
|
||||
"INVALID_EXPANSION": "Invalid Expansion",
|
||||
"PARITY_NOT_BIGGEST": "Parity Not Biggest",
|
||||
"TOO_MANY_MISSING_DISKS": "Too Many Missing Disks",
|
||||
"NEW_DISK_TOO_SMALL": "New Disk Too Small",
|
||||
"NO_DATA_DISKS": "No Data Disks",
|
||||
"notifications": "Notifications",
|
||||
"status": "Status",
|
||||
"cpu": "CPU",
|
||||
"memoryUsed": "Memory Used",
|
||||
"memoryAvailable": "Memory Available",
|
||||
"arrayUsed": "Array Used",
|
||||
"arrayFree": "Array Free",
|
||||
"poolUsed": "{{pool}} Used",
|
||||
"poolFree": "{{pool}} Free"
|
||||
},
|
||||
"backrest": {
|
||||
"num_plans": "Plans",
|
||||
"num_success_30": "Successes",
|
||||
"num_failure_30": "Failures",
|
||||
"num_success_latest": "Succeeding",
|
||||
"num_failure_latest": "Failing",
|
||||
"bytes_added_30": "Bytes Added"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,7 +275,8 @@
|
||||
"jellyseerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"available": "Available",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
@@ -1083,5 +1084,35 @@
|
||||
"nextMonthlyCost": "Next Month",
|
||||
"previousMonthlyCost": "Prev. Month",
|
||||
"nextRenewingSubscription": "Next Payment"
|
||||
},
|
||||
"unraid": {
|
||||
"STARTED": "Started",
|
||||
"STOPPED": "Stopped",
|
||||
"NEW_ARRAY": "New Array",
|
||||
"RECON_DISK": "Reconstructing Disk",
|
||||
"DISABLE_DISK": "Disk Disabled",
|
||||
"SWAP_DSBL": "Swap Disable",
|
||||
"INVALID_EXPANSION": "Invalid Expansion",
|
||||
"PARITY_NOT_BIGGEST": "Parity Not Biggest",
|
||||
"TOO_MANY_MISSING_DISKS": "Too Many Missing Disks",
|
||||
"NEW_DISK_TOO_SMALL": "New Disk Too Small",
|
||||
"NO_DATA_DISKS": "No Data Disks",
|
||||
"notifications": "Notifications",
|
||||
"status": "Status",
|
||||
"cpu": "CPU",
|
||||
"memoryUsed": "Memory Used",
|
||||
"memoryAvailable": "Memory Available",
|
||||
"arrayUsed": "Array Used",
|
||||
"arrayFree": "Array Free",
|
||||
"poolUsed": "{{pool}} Used",
|
||||
"poolFree": "{{pool}} Free"
|
||||
},
|
||||
"backrest": {
|
||||
"num_plans": "Plans",
|
||||
"num_success_30": "Successes",
|
||||
"num_failure_30": "Failures",
|
||||
"num_success_latest": "Succeeding",
|
||||
"num_failure_latest": "Failing",
|
||||
"bytes_added_30": "Bytes Added"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,7 +275,8 @@
|
||||
"jellyseerr": {
|
||||
"pending": "Ожидают",
|
||||
"approved": "Одобрено",
|
||||
"available": "Доступно"
|
||||
"available": "Доступно",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Ожидают",
|
||||
@@ -1083,5 +1084,35 @@
|
||||
"nextMonthlyCost": "Следующий месяц",
|
||||
"previousMonthlyCost": "Прошлый месяц",
|
||||
"nextRenewingSubscription": "Следующая оплата"
|
||||
},
|
||||
"unraid": {
|
||||
"STARTED": "Started",
|
||||
"STOPPED": "Stopped",
|
||||
"NEW_ARRAY": "New Array",
|
||||
"RECON_DISK": "Reconstructing Disk",
|
||||
"DISABLE_DISK": "Disk Disabled",
|
||||
"SWAP_DSBL": "Swap Disable",
|
||||
"INVALID_EXPANSION": "Invalid Expansion",
|
||||
"PARITY_NOT_BIGGEST": "Parity Not Biggest",
|
||||
"TOO_MANY_MISSING_DISKS": "Too Many Missing Disks",
|
||||
"NEW_DISK_TOO_SMALL": "New Disk Too Small",
|
||||
"NO_DATA_DISKS": "No Data Disks",
|
||||
"notifications": "Notifications",
|
||||
"status": "Status",
|
||||
"cpu": "CPU",
|
||||
"memoryUsed": "Memory Used",
|
||||
"memoryAvailable": "Memory Available",
|
||||
"arrayUsed": "Array Used",
|
||||
"arrayFree": "Array Free",
|
||||
"poolUsed": "{{pool}} Used",
|
||||
"poolFree": "{{pool}} Free"
|
||||
},
|
||||
"backrest": {
|
||||
"num_plans": "Plans",
|
||||
"num_success_30": "Successes",
|
||||
"num_failure_30": "Failures",
|
||||
"num_success_latest": "Succeeding",
|
||||
"num_failure_latest": "Failing",
|
||||
"bytes_added_30": "Bytes Added"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,7 +275,8 @@
|
||||
"jellyseerr": {
|
||||
"pending": "Čakajúce",
|
||||
"approved": "Schválené",
|
||||
"available": "Dostupné"
|
||||
"available": "Dostupné",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Čakajúce",
|
||||
@@ -470,15 +471,15 @@
|
||||
"1-day": "Prevažne slnečno",
|
||||
"1-night": "Prevažne jasno",
|
||||
"2-day": "Čiastočne zamračené",
|
||||
"2-night": "Partly Cloudy",
|
||||
"2-night": "Čiastočne zamračené",
|
||||
"3-day": "Oblačno",
|
||||
"3-night": "Cloudy",
|
||||
"3-night": "Oblačno",
|
||||
"45-day": "Hmlisto",
|
||||
"45-night": "Hmlisto",
|
||||
"48-day": "Hmlisto",
|
||||
"48-night": "Hmlisto",
|
||||
"51-day": "Mierne mrholenie",
|
||||
"51-night": "Light Drizzle",
|
||||
"51-night": "Slabé mrholenie",
|
||||
"53-day": "Mrholenie",
|
||||
"53-night": "Drizzle",
|
||||
"55-day": "Silné mrholenie",
|
||||
@@ -518,9 +519,9 @@
|
||||
"95-day": "Búrka",
|
||||
"95-night": "Búrka",
|
||||
"96-day": "Búrka s krupobitím",
|
||||
"96-night": "Thunderstorm With Hail",
|
||||
"99-day": "Thunderstorm With Hail",
|
||||
"99-night": "Thunderstorm With Hail"
|
||||
"96-night": "Búrka s krupobitím",
|
||||
"99-day": "Búrka s krupobitím",
|
||||
"99-night": "Búrka s krupobitím"
|
||||
},
|
||||
"homebridge": {
|
||||
"available_update": "Systém",
|
||||
@@ -1083,5 +1084,35 @@
|
||||
"nextMonthlyCost": "Next Month",
|
||||
"previousMonthlyCost": "Prev. Month",
|
||||
"nextRenewingSubscription": "Next Payment"
|
||||
},
|
||||
"unraid": {
|
||||
"STARTED": "Started",
|
||||
"STOPPED": "Stopped",
|
||||
"NEW_ARRAY": "New Array",
|
||||
"RECON_DISK": "Reconstructing Disk",
|
||||
"DISABLE_DISK": "Disk Disabled",
|
||||
"SWAP_DSBL": "Swap Disable",
|
||||
"INVALID_EXPANSION": "Invalid Expansion",
|
||||
"PARITY_NOT_BIGGEST": "Parity Not Biggest",
|
||||
"TOO_MANY_MISSING_DISKS": "Too Many Missing Disks",
|
||||
"NEW_DISK_TOO_SMALL": "New Disk Too Small",
|
||||
"NO_DATA_DISKS": "No Data Disks",
|
||||
"notifications": "Oznámenia",
|
||||
"status": "Stav",
|
||||
"cpu": "CPU",
|
||||
"memoryUsed": "Memory Used",
|
||||
"memoryAvailable": "Memory Available",
|
||||
"arrayUsed": "Array Used",
|
||||
"arrayFree": "Array Free",
|
||||
"poolUsed": "{{pool}} Used",
|
||||
"poolFree": "{{pool}} Free"
|
||||
},
|
||||
"backrest": {
|
||||
"num_plans": "Plans",
|
||||
"num_success_30": "Successes",
|
||||
"num_failure_30": "Failures",
|
||||
"num_success_latest": "Succeeding",
|
||||
"num_failure_latest": "Failing",
|
||||
"bytes_added_30": "Bytes Added"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,7 +275,8 @@
|
||||
"jellyseerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"available": "Available",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
@@ -1083,5 +1084,35 @@
|
||||
"nextMonthlyCost": "Next Month",
|
||||
"previousMonthlyCost": "Prev. Month",
|
||||
"nextRenewingSubscription": "Next Payment"
|
||||
},
|
||||
"unraid": {
|
||||
"STARTED": "Started",
|
||||
"STOPPED": "Stopped",
|
||||
"NEW_ARRAY": "New Array",
|
||||
"RECON_DISK": "Reconstructing Disk",
|
||||
"DISABLE_DISK": "Disk Disabled",
|
||||
"SWAP_DSBL": "Swap Disable",
|
||||
"INVALID_EXPANSION": "Invalid Expansion",
|
||||
"PARITY_NOT_BIGGEST": "Parity Not Biggest",
|
||||
"TOO_MANY_MISSING_DISKS": "Too Many Missing Disks",
|
||||
"NEW_DISK_TOO_SMALL": "New Disk Too Small",
|
||||
"NO_DATA_DISKS": "No Data Disks",
|
||||
"notifications": "Notifications",
|
||||
"status": "Status",
|
||||
"cpu": "CPU",
|
||||
"memoryUsed": "Memory Used",
|
||||
"memoryAvailable": "Memory Available",
|
||||
"arrayUsed": "Array Used",
|
||||
"arrayFree": "Array Free",
|
||||
"poolUsed": "{{pool}} Used",
|
||||
"poolFree": "{{pool}} Free"
|
||||
},
|
||||
"backrest": {
|
||||
"num_plans": "Plans",
|
||||
"num_success_30": "Successes",
|
||||
"num_failure_30": "Failures",
|
||||
"num_success_latest": "Succeeding",
|
||||
"num_failure_latest": "Failing",
|
||||
"bytes_added_30": "Bytes Added"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,7 +275,8 @@
|
||||
"jellyseerr": {
|
||||
"pending": "На чекању",
|
||||
"approved": "Одобрено",
|
||||
"available": "Доступно"
|
||||
"available": "Доступно",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "На чекању",
|
||||
@@ -1083,5 +1084,35 @@
|
||||
"nextMonthlyCost": "Следећи месец",
|
||||
"previousMonthlyCost": "Претходни месец",
|
||||
"nextRenewingSubscription": "Следећа уплата"
|
||||
},
|
||||
"unraid": {
|
||||
"STARTED": "Покренуто",
|
||||
"STOPPED": "Заустављено",
|
||||
"NEW_ARRAY": "Нови Array",
|
||||
"RECON_DISK": "Реконструкција диска",
|
||||
"DISABLE_DISK": "Диск је онемогућен",
|
||||
"SWAP_DSBL": "Swap је онемогућен",
|
||||
"INVALID_EXPANSION": "Неважеће проширење",
|
||||
"PARITY_NOT_BIGGEST": "Паритет није највећи",
|
||||
"TOO_MANY_MISSING_DISKS": "Превише недостајућих дискова",
|
||||
"NEW_DISK_TOO_SMALL": "Нови диск је премали",
|
||||
"NO_DATA_DISKS": "Нема дискова са подацима",
|
||||
"notifications": "Обавештења",
|
||||
"status": "Статус",
|
||||
"cpu": "Процесор",
|
||||
"memoryUsed": "Искоришћена меморија",
|
||||
"memoryAvailable": "Доступна меморија",
|
||||
"arrayUsed": "Коришћени Array",
|
||||
"arrayFree": "Слободан Array",
|
||||
"poolUsed": "{{pool}} коришћено",
|
||||
"poolFree": "{{pool}} слободно"
|
||||
},
|
||||
"backrest": {
|
||||
"num_plans": "Plans",
|
||||
"num_success_30": "Successes",
|
||||
"num_failure_30": "Failures",
|
||||
"num_success_latest": "Succeeding",
|
||||
"num_failure_latest": "Failing",
|
||||
"bytes_added_30": "Bytes Added"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,7 +275,8 @@
|
||||
"jellyseerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"available": "Available",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
@@ -1083,5 +1084,35 @@
|
||||
"nextMonthlyCost": "Next Month",
|
||||
"previousMonthlyCost": "Prev. Month",
|
||||
"nextRenewingSubscription": "Next Payment"
|
||||
},
|
||||
"unraid": {
|
||||
"STARTED": "Started",
|
||||
"STOPPED": "Stopped",
|
||||
"NEW_ARRAY": "New Array",
|
||||
"RECON_DISK": "Reconstructing Disk",
|
||||
"DISABLE_DISK": "Disk Disabled",
|
||||
"SWAP_DSBL": "Swap Disable",
|
||||
"INVALID_EXPANSION": "Invalid Expansion",
|
||||
"PARITY_NOT_BIGGEST": "Parity Not Biggest",
|
||||
"TOO_MANY_MISSING_DISKS": "Too Many Missing Disks",
|
||||
"NEW_DISK_TOO_SMALL": "New Disk Too Small",
|
||||
"NO_DATA_DISKS": "No Data Disks",
|
||||
"notifications": "Notifications",
|
||||
"status": "Status",
|
||||
"cpu": "CPU",
|
||||
"memoryUsed": "Memory Used",
|
||||
"memoryAvailable": "Memory Available",
|
||||
"arrayUsed": "Array Used",
|
||||
"arrayFree": "Array Free",
|
||||
"poolUsed": "{{pool}} Used",
|
||||
"poolFree": "{{pool}} Free"
|
||||
},
|
||||
"backrest": {
|
||||
"num_plans": "Plans",
|
||||
"num_success_30": "Successes",
|
||||
"num_failure_30": "Failures",
|
||||
"num_success_latest": "Succeeding",
|
||||
"num_failure_latest": "Failing",
|
||||
"bytes_added_30": "Bytes Added"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,7 +275,8 @@
|
||||
"jellyseerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"available": "Available",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
@@ -1083,5 +1084,35 @@
|
||||
"nextMonthlyCost": "Next Month",
|
||||
"previousMonthlyCost": "Prev. Month",
|
||||
"nextRenewingSubscription": "Next Payment"
|
||||
},
|
||||
"unraid": {
|
||||
"STARTED": "Started",
|
||||
"STOPPED": "Stopped",
|
||||
"NEW_ARRAY": "New Array",
|
||||
"RECON_DISK": "Reconstructing Disk",
|
||||
"DISABLE_DISK": "Disk Disabled",
|
||||
"SWAP_DSBL": "Swap Disable",
|
||||
"INVALID_EXPANSION": "Invalid Expansion",
|
||||
"PARITY_NOT_BIGGEST": "Parity Not Biggest",
|
||||
"TOO_MANY_MISSING_DISKS": "Too Many Missing Disks",
|
||||
"NEW_DISK_TOO_SMALL": "New Disk Too Small",
|
||||
"NO_DATA_DISKS": "No Data Disks",
|
||||
"notifications": "Notifications",
|
||||
"status": "Status",
|
||||
"cpu": "CPU",
|
||||
"memoryUsed": "Memory Used",
|
||||
"memoryAvailable": "Memory Available",
|
||||
"arrayUsed": "Array Used",
|
||||
"arrayFree": "Array Free",
|
||||
"poolUsed": "{{pool}} Used",
|
||||
"poolFree": "{{pool}} Free"
|
||||
},
|
||||
"backrest": {
|
||||
"num_plans": "Plans",
|
||||
"num_success_30": "Successes",
|
||||
"num_failure_30": "Failures",
|
||||
"num_success_latest": "Succeeding",
|
||||
"num_failure_latest": "Failing",
|
||||
"bytes_added_30": "Bytes Added"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,7 +275,8 @@
|
||||
"jellyseerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"available": "Available",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
@@ -1083,5 +1084,35 @@
|
||||
"nextMonthlyCost": "Next Month",
|
||||
"previousMonthlyCost": "Prev. Month",
|
||||
"nextRenewingSubscription": "Next Payment"
|
||||
},
|
||||
"unraid": {
|
||||
"STARTED": "Started",
|
||||
"STOPPED": "Stopped",
|
||||
"NEW_ARRAY": "New Array",
|
||||
"RECON_DISK": "Reconstructing Disk",
|
||||
"DISABLE_DISK": "Disk Disabled",
|
||||
"SWAP_DSBL": "Swap Disable",
|
||||
"INVALID_EXPANSION": "Invalid Expansion",
|
||||
"PARITY_NOT_BIGGEST": "Parity Not Biggest",
|
||||
"TOO_MANY_MISSING_DISKS": "Too Many Missing Disks",
|
||||
"NEW_DISK_TOO_SMALL": "New Disk Too Small",
|
||||
"NO_DATA_DISKS": "No Data Disks",
|
||||
"notifications": "Notifications",
|
||||
"status": "Status",
|
||||
"cpu": "CPU",
|
||||
"memoryUsed": "Memory Used",
|
||||
"memoryAvailable": "Memory Available",
|
||||
"arrayUsed": "Array Used",
|
||||
"arrayFree": "Array Free",
|
||||
"poolUsed": "{{pool}} Used",
|
||||
"poolFree": "{{pool}} Free"
|
||||
},
|
||||
"backrest": {
|
||||
"num_plans": "Plans",
|
||||
"num_success_30": "Successes",
|
||||
"num_failure_30": "Failures",
|
||||
"num_success_latest": "Succeeding",
|
||||
"num_failure_latest": "Failing",
|
||||
"bytes_added_30": "Bytes Added"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
"placeholder": "Ara…"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "CPU",
|
||||
"cpu": "İşlemci",
|
||||
"mem": "MEM",
|
||||
"total": "Toplam",
|
||||
"free": "Boş",
|
||||
@@ -61,7 +61,7 @@
|
||||
"wlan_devices": "WLAN Aygıtları",
|
||||
"lan_users": "LAN Kullanıcıları",
|
||||
"wlan_users": "WLAN Kullanıcıları",
|
||||
"up": "UP",
|
||||
"up": "ÇALIŞIYOR",
|
||||
"down": "Aşağı",
|
||||
"wait": "Lütfen bekleyin",
|
||||
"empty_data": "Alt sistem durumu bilinmiyor"
|
||||
@@ -69,8 +69,8 @@
|
||||
"docker": {
|
||||
"rx": "Gelen Veri",
|
||||
"tx": "Giden Veri",
|
||||
"mem": "MEM",
|
||||
"cpu": "CPU",
|
||||
"mem": "Bellek",
|
||||
"cpu": "İşlemci",
|
||||
"running": "Çalışıyor",
|
||||
"offline": "Çevrimdışı",
|
||||
"error": "Hata",
|
||||
@@ -87,21 +87,21 @@
|
||||
"ping": "Gecikme",
|
||||
"down": "İndirme",
|
||||
"up": "Yükleme",
|
||||
"not_available": "Mevcut Değil"
|
||||
"not_available": "Uygun değil"
|
||||
},
|
||||
"siteMonitor": {
|
||||
"http_status": "HTTPS durumu",
|
||||
"error": "Hata",
|
||||
"response": "Yanıt",
|
||||
"down": "Down",
|
||||
"up": "Up",
|
||||
"not_available": "Mevcut Değil"
|
||||
"down": "Çalışmayan",
|
||||
"up": "Çalışıyor",
|
||||
"not_available": "Uygun değil"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "Oynatılıyor",
|
||||
"transcoding": "Dönüştürülüyor",
|
||||
"bitrate": "Bit Oranı",
|
||||
"no_active": "Aktif akış yok",
|
||||
"no_active": "Etkin akış yok",
|
||||
"movies": "Filmler",
|
||||
"series": "Diziler",
|
||||
"episodes": "Bölümler",
|
||||
@@ -139,18 +139,18 @@
|
||||
"connectionStatusAuthenticating": "Kimlik doğrulanıyor",
|
||||
"connectionStatusPendingDisconnect": "Bağlantının Kesilmesi Bekleniyor",
|
||||
"connectionStatusDisconnecting": "Bağlantı kesiliyor...",
|
||||
"connectionStatusDisconnected": "Bağlantı kesildi",
|
||||
"connectionStatusConnected": "Bağlandı",
|
||||
"connectionStatusDisconnected": "Bağlı değil",
|
||||
"connectionStatusConnected": "Bağlı",
|
||||
"uptime": "Çalışma Süresi",
|
||||
"maxDown": "Max. Indirme",
|
||||
"maxUp": "Max. Gönderme",
|
||||
"down": "Down",
|
||||
"up": "Up",
|
||||
"down": "Çalışmayan",
|
||||
"up": "Çalışıyor",
|
||||
"received": "Alınan",
|
||||
"sent": "Gönderilen",
|
||||
"externalIPAddress": "Harici IP",
|
||||
"externalIPv6Address": "Ext. IPv6",
|
||||
"externalIPv6Prefix": "Ext. IPv6-Prefix"
|
||||
"externalIPv6Address": "Dış IPv6",
|
||||
"externalIPv6Prefix": "Dış IPv6-Önek"
|
||||
},
|
||||
"caddy": {
|
||||
"upstreams": "Akış",
|
||||
@@ -171,12 +171,12 @@
|
||||
"playing": "Oynatılıyor",
|
||||
"transcoding": "Dönüştürülüyor",
|
||||
"bitrate": "Bit Oranı",
|
||||
"no_active": "Aktif akış yok",
|
||||
"no_active": "Etkin akış yok",
|
||||
"plex_connection_error": "Plex Bağlantısı Kontrol Ediliyor"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Bağlı AP'ler",
|
||||
"activeUser": "Aktif cihazlar",
|
||||
"activeUser": "Etkin aygıtlar",
|
||||
"alerts": "Alarmlar",
|
||||
"connectedGateways": "Bağlı ağ geçitleri",
|
||||
"connectedSwitches": "Bağlı anahtarlar"
|
||||
@@ -187,7 +187,7 @@
|
||||
"downloaded": "İndirilen"
|
||||
},
|
||||
"plex": {
|
||||
"streams": "Aktif Akış",
|
||||
"streams": "Etkin akış",
|
||||
"albums": "Albümler",
|
||||
"movies": "Filmler",
|
||||
"tv": "TV Showları"
|
||||
@@ -198,7 +198,7 @@
|
||||
"timeleft": "Kalan Zaman"
|
||||
},
|
||||
"rutorrent": {
|
||||
"active": "Aktif",
|
||||
"active": "Etkin",
|
||||
"upload": "Yükleme",
|
||||
"download": "İndirme"
|
||||
},
|
||||
@@ -224,7 +224,7 @@
|
||||
},
|
||||
"deluge": {
|
||||
"download": "İndirme",
|
||||
"upload": "Upload",
|
||||
"upload": "Yükleme",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
@@ -240,7 +240,7 @@
|
||||
},
|
||||
"sonarr": {
|
||||
"wanted": "İstendi",
|
||||
"queued": "Sırada",
|
||||
"queued": "Kuyrukta",
|
||||
"series": "Seriler",
|
||||
"queue": "Kuyruk",
|
||||
"unknown": "Bilinmeyen"
|
||||
@@ -254,13 +254,13 @@
|
||||
"unknown": "Bilinmeyen"
|
||||
},
|
||||
"lidarr": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"wanted": "İstendi",
|
||||
"queued": "Kuyrukta",
|
||||
"artists": "Sanatçılar"
|
||||
},
|
||||
"readarr": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"wanted": "İstendi",
|
||||
"queued": "Kuyrukta",
|
||||
"books": "Kitaplar"
|
||||
},
|
||||
"bazarr": {
|
||||
@@ -275,17 +275,18 @@
|
||||
"jellyseerr": {
|
||||
"pending": "Bekleyen",
|
||||
"approved": "Onaylı",
|
||||
"available": "Kullanılabilir"
|
||||
"available": "Uygun",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
"processing": "İşleniyor",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"approved": "Onaylı",
|
||||
"available": "Uygun"
|
||||
},
|
||||
"netalertx": {
|
||||
"total": "Toplam",
|
||||
"connected": "Connected",
|
||||
"connected": "Bağlı",
|
||||
"new_devices": "Yeni Cihazlar",
|
||||
"down_alerts": "Hata Uyarıları"
|
||||
},
|
||||
@@ -297,7 +298,7 @@
|
||||
},
|
||||
"adguard": {
|
||||
"queries": "Queries",
|
||||
"blocked": "Blocked",
|
||||
"blocked": "Engellenen",
|
||||
"filtered": "Filtrelendi",
|
||||
"latency": "Gecikme"
|
||||
},
|
||||
@@ -308,7 +309,7 @@
|
||||
},
|
||||
"portainer": {
|
||||
"running": "Çalışıyor",
|
||||
"stopped": "Durduruldu",
|
||||
"stopped": "Durdu",
|
||||
"total": "Toplam"
|
||||
},
|
||||
"suwayomi": {
|
||||
@@ -316,10 +317,10 @@
|
||||
"nondownload": "İndirilmemiş",
|
||||
"read": "Okunan",
|
||||
"unread": "Okunmamış",
|
||||
"downloadedread": "İndirildi & Okundu",
|
||||
"downloadedunread": "İndirildi & Okunmadı",
|
||||
"nondownloadedread": "İndirilmedi & Okundu",
|
||||
"nondownloadedunread": "İndirilmedi & Okunmadı"
|
||||
"downloadedread": "İndirildi ve okundu",
|
||||
"downloadedunread": "İndirildi ve okunmadı",
|
||||
"nondownloadedread": "İndirilmedi ve okundu",
|
||||
"nondownloadedunread": "İndirilmedi ve okunmadı"
|
||||
},
|
||||
"tailscale": {
|
||||
"address": "Adres",
|
||||
@@ -366,12 +367,12 @@
|
||||
"unknown": "Bilinmeyen"
|
||||
},
|
||||
"navidrome": {
|
||||
"nothing_streaming": "Aktif akış yok",
|
||||
"nothing_streaming": "Etkin akış yok",
|
||||
"please_wait": "Lütfen Bekleyin"
|
||||
},
|
||||
"npm": {
|
||||
"enabled": "Etkin",
|
||||
"disabled": "Devre Dışı",
|
||||
"disabled": "Devre dışı",
|
||||
"total": "Toplam"
|
||||
},
|
||||
"coinmarketcap": {
|
||||
@@ -398,7 +399,7 @@
|
||||
"errored": "Hatalı"
|
||||
},
|
||||
"strelaysrv": {
|
||||
"numActiveSessions": "Aktif Sezonlar",
|
||||
"numActiveSessions": "Oturumlar",
|
||||
"numConnections": "Bağlantı Sayısı",
|
||||
"dataRelayed": "Aktarılan",
|
||||
"transferRate": "Oran"
|
||||
@@ -410,53 +411,53 @@
|
||||
},
|
||||
"medusa": {
|
||||
"wanted": "İstendi",
|
||||
"queued": "Sırada",
|
||||
"series": "Series"
|
||||
"queued": "Kuyrukta",
|
||||
"series": "Diziler"
|
||||
},
|
||||
"minecraft": {
|
||||
"players": "Oyuncular",
|
||||
"version": "Versiyon",
|
||||
"version": "Sürüm",
|
||||
"status": "Durum",
|
||||
"up": "Online",
|
||||
"down": "Offline"
|
||||
"up": "Çevrimiçi",
|
||||
"down": "Çevrimdışı"
|
||||
},
|
||||
"miniflux": {
|
||||
"read": "Okunmuş",
|
||||
"unread": "Okunmamış"
|
||||
},
|
||||
"authentik": {
|
||||
"users": "Users",
|
||||
"users": "Kullanıcılar",
|
||||
"loginsLast24H": "Girişler (24 Saat)",
|
||||
"failedLoginsLast24H": "Başarısız Girişler (24 Saat)"
|
||||
},
|
||||
"proxmox": {
|
||||
"mem": "MEM",
|
||||
"cpu": "CPU",
|
||||
"mem": "Bellek",
|
||||
"cpu": "İşlemci",
|
||||
"lxc": "LXC",
|
||||
"vms": "Sanal Makineler"
|
||||
},
|
||||
"glances": {
|
||||
"cpu": "CPU",
|
||||
"cpu": "İşlemci",
|
||||
"load": "Load",
|
||||
"wait": "Please wait",
|
||||
"wait": "Lütfen bekleyin",
|
||||
"temp": "TEMP",
|
||||
"_temp": "Sıcaklık",
|
||||
"warn": "Uyarı",
|
||||
"uptime": "UP",
|
||||
"uptime": "ÇALIŞIYOR",
|
||||
"total": "Toplam",
|
||||
"free": "Free",
|
||||
"used": "Used",
|
||||
"days": "d",
|
||||
"hours": "h",
|
||||
"free": "Boş",
|
||||
"used": "Kullanılıyor",
|
||||
"days": "g.",
|
||||
"hours": "s.",
|
||||
"crit": "Kritik",
|
||||
"read": "Read",
|
||||
"read": "Okundu",
|
||||
"write": "Yazma",
|
||||
"gpu": "GPU",
|
||||
"mem": "Hafıza",
|
||||
"swap": "Swap"
|
||||
},
|
||||
"quicklaunch": {
|
||||
"bookmark": "Yer İmi",
|
||||
"bookmark": "Yer imi",
|
||||
"service": "Hizmet",
|
||||
"search": "Ara",
|
||||
"custom": "Özel",
|
||||
@@ -529,19 +530,19 @@
|
||||
"up_to_date": "Güncel",
|
||||
"child_bridges": "Alt Köprüler",
|
||||
"child_bridges_status": "{{ok}}/{{total}}",
|
||||
"up": "Up",
|
||||
"up": "Çalışıyor",
|
||||
"pending": "Bekleyen",
|
||||
"down": "Down"
|
||||
"down": "Çalışmayan"
|
||||
},
|
||||
"healthchecks": {
|
||||
"new": "Yeni",
|
||||
"up": "Up",
|
||||
"up": "Çalışıyor",
|
||||
"grace": "Tolerans Döneminde",
|
||||
"down": "Down",
|
||||
"paused": "Duraklatıldı",
|
||||
"down": "Çalışmayan",
|
||||
"paused": "Durduruldu",
|
||||
"status": "Durum",
|
||||
"last_ping": "Son Ping",
|
||||
"never": "Henüz ping yok"
|
||||
"last_ping": "Son gecikme",
|
||||
"never": "Henüz gecikme yok"
|
||||
},
|
||||
"watchtower": {
|
||||
"containers_scanned": "Tarandı",
|
||||
@@ -556,7 +557,7 @@
|
||||
},
|
||||
"tubearchivist": {
|
||||
"downloads": "Kuyruk",
|
||||
"videos": "Videolar",
|
||||
"videos": "Video",
|
||||
"channels": "Kanallar",
|
||||
"playlists": "Oynatma Listeleri"
|
||||
},
|
||||
@@ -567,7 +568,7 @@
|
||||
},
|
||||
"pyload": {
|
||||
"speed": "Hız",
|
||||
"active": "Aktif",
|
||||
"active": "Etkin",
|
||||
"queue": "Kuyruk",
|
||||
"total": "Toplam"
|
||||
},
|
||||
@@ -611,14 +612,14 @@
|
||||
"no_devices": "Cihaz Verisi Alınamadı"
|
||||
},
|
||||
"mikrotik": {
|
||||
"cpuLoad": "CPU Yükü",
|
||||
"cpuLoad": "İşlemci yükü",
|
||||
"memoryUsed": "Bellek Kullanımı",
|
||||
"uptime": "Uptime",
|
||||
"uptime": "Çalışma süresi",
|
||||
"numberOfLeases": "Kiralama"
|
||||
},
|
||||
"xteve": {
|
||||
"streams_all": "Tüm Akışlar",
|
||||
"streams_active": "Active Streams",
|
||||
"streams_active": "Etkin akışlar",
|
||||
"streams_xepg": "XEPG Kanalları"
|
||||
},
|
||||
"opendtu": {
|
||||
@@ -628,7 +629,7 @@
|
||||
"limit": "Limit"
|
||||
},
|
||||
"opnsense": {
|
||||
"cpu": "CPU Load",
|
||||
"cpu": "İşlemci yükü",
|
||||
"memory": "Aktif Bellek",
|
||||
"wanUpload": "WAN Yükleme",
|
||||
"wanDownload": "WAN İndirme"
|
||||
@@ -653,8 +654,8 @@
|
||||
"load": "Ort. Yükleme",
|
||||
"memory": "Bellek Kullanımı",
|
||||
"wanStatus": "WAN Durumu",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"up": "Çalışıyor",
|
||||
"down": "Çalışmayan",
|
||||
"temp": "Temp",
|
||||
"disk": "Disk Kullanımı",
|
||||
"wanIP": "WAN IP"
|
||||
@@ -662,47 +663,47 @@
|
||||
"proxmoxbackupserver": {
|
||||
"datastore_usage": "Veri deposu",
|
||||
"failed_tasks_24h": "Başarısız Görevler 24h",
|
||||
"cpu_usage": "CPU",
|
||||
"cpu_usage": "İşlemci",
|
||||
"memory_usage": "Bellek"
|
||||
},
|
||||
"immich": {
|
||||
"users": "Users",
|
||||
"photos": "Fotoğraflar",
|
||||
"videos": "Videos",
|
||||
"storage": "Depo"
|
||||
"users": "Kullanıcılar",
|
||||
"photos": "Fotoğraf",
|
||||
"videos": "Video",
|
||||
"storage": "Depolama"
|
||||
},
|
||||
"uptimekuma": {
|
||||
"up": "Siteler Çalışıyor",
|
||||
"down": "Siteler Çalışmıyor",
|
||||
"uptime": "Uptime",
|
||||
"up": "Site çalışıyor",
|
||||
"down": "Çalışmayan site",
|
||||
"uptime": "Çalışma süresi",
|
||||
"incident": "Olay",
|
||||
"m": "m"
|
||||
},
|
||||
"atsumeru": {
|
||||
"series": "Series",
|
||||
"series": "Diziler",
|
||||
"archives": "Arşivler",
|
||||
"chapters": "Bölümler",
|
||||
"categories": "Kategoriler"
|
||||
},
|
||||
"komga": {
|
||||
"libraries": "Kütüphane",
|
||||
"series": "Series",
|
||||
"books": "Books"
|
||||
"series": "Seriler",
|
||||
"books": "Kitap"
|
||||
},
|
||||
"diskstation": {
|
||||
"days": "Days",
|
||||
"uptime": "Uptime",
|
||||
"volumeAvailable": "Available"
|
||||
"days": "Gün",
|
||||
"uptime": "Çalışma süresi",
|
||||
"volumeAvailable": "Uygun"
|
||||
},
|
||||
"mylar": {
|
||||
"series": "Series",
|
||||
"series": "Diziler",
|
||||
"issues": "Sorunlar",
|
||||
"wanted": "Wanted"
|
||||
"wanted": "İstendi"
|
||||
},
|
||||
"photoprism": {
|
||||
"albums": "Albums",
|
||||
"photos": "Photos",
|
||||
"videos": "Videos",
|
||||
"albums": "Albümler",
|
||||
"photos": "Fotoğraf",
|
||||
"videos": "Video",
|
||||
"people": "İnsan"
|
||||
},
|
||||
"fileflows": {
|
||||
@@ -712,8 +713,8 @@
|
||||
"time": "Zaman"
|
||||
},
|
||||
"firefly": {
|
||||
"networth": "Net Worth",
|
||||
"budget": "Budget"
|
||||
"networth": "Net değer",
|
||||
"budget": "Bütçe"
|
||||
},
|
||||
"grafana": {
|
||||
"dashboards": "Kontrol Paneli",
|
||||
@@ -722,10 +723,10 @@
|
||||
"alertstriggered": "Uyarılar Tetiklendi"
|
||||
},
|
||||
"nextcloud": {
|
||||
"cpuload": "Cpu Yükü",
|
||||
"cpuload": "İşlemci yükü",
|
||||
"memoryusage": "Bellek Kullanımı",
|
||||
"freespace": "Boş Alan",
|
||||
"activeusers": "Aktif Kullanıcılar",
|
||||
"activeusers": "Etkin kullanıcılar",
|
||||
"numfiles": "Dosyalar",
|
||||
"numshares": "Paylaşılan Öğeler"
|
||||
},
|
||||
@@ -737,7 +738,7 @@
|
||||
"failed": "Failed"
|
||||
},
|
||||
"unmanic": {
|
||||
"active_workers": "Aktif Kullanıcılar",
|
||||
"active_workers": "Etkin kullanıcılar",
|
||||
"total_workers": "Toplam Kullanıcılar",
|
||||
"records_total": "Sıra Uzunluğu"
|
||||
},
|
||||
@@ -747,24 +748,24 @@
|
||||
},
|
||||
"prometheus": {
|
||||
"targets_up": "Hedef Çalışıyor",
|
||||
"targets_down": "Hedef Çalışmıyor",
|
||||
"targets_down": "Çalışmayan hedef",
|
||||
"targets_total": "Toplam Hedef"
|
||||
},
|
||||
"gatus": {
|
||||
"up": "Sites Up",
|
||||
"down": "Sites Down",
|
||||
"uptime": "Uptime"
|
||||
"down": "Çalışmayan site",
|
||||
"uptime": "Çalışma süresi"
|
||||
},
|
||||
"ghostfolio": {
|
||||
"gross_percent_today": "Today",
|
||||
"gross_percent_today": "Bugün",
|
||||
"gross_percent_1y": "Bir yıl",
|
||||
"gross_percent_max": "Tüm zaman"
|
||||
},
|
||||
"audiobookshelf": {
|
||||
"podcasts": "Podcast",
|
||||
"books": "Books",
|
||||
"books": "Kitap",
|
||||
"podcastsDuration": "Süre",
|
||||
"booksDuration": "Duration"
|
||||
"booksDuration": "Süre"
|
||||
},
|
||||
"homeassistant": {
|
||||
"people_home": "Evdeki İnsanlar",
|
||||
@@ -788,7 +789,7 @@
|
||||
"downloadSpeed": "Hız"
|
||||
},
|
||||
"kavita": {
|
||||
"seriesCount": "Series",
|
||||
"seriesCount": "Seriler",
|
||||
"totalFiles": "Dosyalar"
|
||||
},
|
||||
"azuredevops": {
|
||||
@@ -802,19 +803,19 @@
|
||||
"inProgress": "Sürüyor",
|
||||
"totalPrs": "Toplam Çekme İstekleri",
|
||||
"myPrs": "Benim Çekme İsteklerim",
|
||||
"approved": "Approved"
|
||||
"approved": "Onaylı"
|
||||
},
|
||||
"gamedig": {
|
||||
"status": "Durum",
|
||||
"online": "Online",
|
||||
"offline": "Offline",
|
||||
"name": "İsim",
|
||||
"online": "Çevrimiçi",
|
||||
"offline": "Çevrimdışı",
|
||||
"name": "Ad",
|
||||
"map": "Harita",
|
||||
"currentPlayers": "Mevcut oyuncular",
|
||||
"players": "Players",
|
||||
"players": "Oyuncular",
|
||||
"maxPlayers": "Maks. oyuncu",
|
||||
"bots": "Botlar",
|
||||
"ping": "Ping"
|
||||
"ping": "Gecikme"
|
||||
},
|
||||
"urbackup": {
|
||||
"ok": "Tamam",
|
||||
@@ -824,39 +825,39 @@
|
||||
},
|
||||
"mealie": {
|
||||
"recipes": "Tarifler",
|
||||
"users": "Users",
|
||||
"categories": "Categories",
|
||||
"users": "Kullanıcılar",
|
||||
"categories": "Kategoriler",
|
||||
"tags": "Etiketler"
|
||||
},
|
||||
"openmediavault": {
|
||||
"downloading": "İndiriliyor",
|
||||
"total": "Toplam",
|
||||
"running": "Running",
|
||||
"stopped": "Stopped",
|
||||
"running": "Çalışıyor",
|
||||
"stopped": "Durdu",
|
||||
"passed": "Passed",
|
||||
"failed": "Failed"
|
||||
},
|
||||
"openwrt": {
|
||||
"uptime": "Uptime",
|
||||
"cpuLoad": "CPU Yükü Ortalaması (5dk)",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"uptime": "Çalışma süresi",
|
||||
"cpuLoad": "İşlemci yükü ortalaması (5dk)",
|
||||
"up": "Çalışıyor",
|
||||
"down": "Çalışmayan",
|
||||
"bytesTx": "İletilen",
|
||||
"bytesRx": "Received"
|
||||
},
|
||||
"uptimerobot": {
|
||||
"status": "Durum",
|
||||
"uptime": "Uptime",
|
||||
"uptime": "Çalışma süresi",
|
||||
"lastDown": "Son Kesinti",
|
||||
"downDuration": "Kesinti Süresi",
|
||||
"sitesUp": "Sites Up",
|
||||
"sitesDown": "Sites Down",
|
||||
"paused": "Paused",
|
||||
"sitesUp": "Site çalışıyor",
|
||||
"sitesDown": "Çalışmayan site",
|
||||
"paused": "Durduruldu",
|
||||
"notyetchecked": "Henüz Kontrol Edilmedi",
|
||||
"up": "Up",
|
||||
"up": "Çalışıyor",
|
||||
"seemsdown": "Kapalı görünüyor",
|
||||
"down": "Down",
|
||||
"unknown": "Unknown"
|
||||
"down": "Çalışmayan",
|
||||
"unknown": "Bilinmeyen"
|
||||
},
|
||||
"calendar": {
|
||||
"inCinemas": "Sinemalarda",
|
||||
@@ -864,7 +865,7 @@
|
||||
"digitalRelease": "Dijitalde Yayınlandı",
|
||||
"noEventsToday": "Bugün için etkinlik yok!",
|
||||
"noEventsFound": "Etkinlik bulunamadı",
|
||||
"errorWhenLoadingData": "Error when loading calendar data"
|
||||
"errorWhenLoadingData": "Takvim verileri yüklenirken hata"
|
||||
},
|
||||
"romm": {
|
||||
"platforms": "Platformlar",
|
||||
@@ -876,9 +877,9 @@
|
||||
},
|
||||
"mailcow": {
|
||||
"domains": "Domains",
|
||||
"mailboxes": "Mailboxes",
|
||||
"mailboxes": "Posta kutuları",
|
||||
"mails": "Postalar",
|
||||
"storage": "Storage"
|
||||
"storage": "Depolama"
|
||||
},
|
||||
"netdata": {
|
||||
"warnings": "Uyarılar",
|
||||
@@ -887,14 +888,14 @@
|
||||
"plantit": {
|
||||
"events": "Etkinlikler",
|
||||
"plants": "Bitkiler",
|
||||
"photos": "Photos",
|
||||
"photos": "Fotoğraf",
|
||||
"species": "Türler"
|
||||
},
|
||||
"gitea": {
|
||||
"notifications": "Bildirimler",
|
||||
"issues": "Issues",
|
||||
"pulls": "Değişiklik İstekleri",
|
||||
"repositories": "Repositories"
|
||||
"repositories": "Depolar"
|
||||
},
|
||||
"stash": {
|
||||
"scenes": "Sahneler",
|
||||
@@ -908,13 +909,13 @@
|
||||
"galleries": "Galeriler",
|
||||
"performers": "Oyuncu",
|
||||
"studios": "Stüdyolar",
|
||||
"movies": "Movies",
|
||||
"tags": "Tags",
|
||||
"movies": "Filmler",
|
||||
"tags": "Etiketler",
|
||||
"oCount": "O Sayısı"
|
||||
},
|
||||
"tandoor": {
|
||||
"users": "Users",
|
||||
"recipes": "Recipes",
|
||||
"users": "Kullanıcılar",
|
||||
"recipes": "Tarifler",
|
||||
"keywords": "Anahtar Sözcükler"
|
||||
},
|
||||
"homebox": {
|
||||
@@ -922,17 +923,17 @@
|
||||
"totalWithWarranty": "Garantili",
|
||||
"locations": "Konum",
|
||||
"labels": "Etiketler",
|
||||
"users": "Users",
|
||||
"users": "Kullanıcılar",
|
||||
"totalValue": "Toplam Değer"
|
||||
},
|
||||
"crowdsec": {
|
||||
"alerts": "Alerts",
|
||||
"alerts": "Uyarılar",
|
||||
"bans": "Yasaklar"
|
||||
},
|
||||
"wgeasy": {
|
||||
"connected": "Connected",
|
||||
"enabled": "Enabled",
|
||||
"disabled": "Disabled",
|
||||
"connected": "Bağlı",
|
||||
"enabled": "Etkin",
|
||||
"disabled": "Devre dışı",
|
||||
"total": "Toplam"
|
||||
},
|
||||
"swagdashboard": {
|
||||
@@ -942,9 +943,9 @@
|
||||
"banned": "Yasaklı"
|
||||
},
|
||||
"myspeed": {
|
||||
"ping": "Ping",
|
||||
"ping": "Gecikme",
|
||||
"download": "İndirme",
|
||||
"upload": "Upload"
|
||||
"upload": "Yükleme"
|
||||
},
|
||||
"stocks": {
|
||||
"stocks": "Hisse Senetleri",
|
||||
@@ -955,55 +956,55 @@
|
||||
},
|
||||
"frigate": {
|
||||
"cameras": "Kameralar",
|
||||
"uptime": "Uptime",
|
||||
"version": "Version"
|
||||
"uptime": "Çalışma süresi",
|
||||
"version": "Sürüm"
|
||||
},
|
||||
"linkwarden": {
|
||||
"links": "Bağlantılar",
|
||||
"collections": "Koleksiyonlar",
|
||||
"tags": "Tags"
|
||||
"tags": "Etiketler"
|
||||
},
|
||||
"zabbix": {
|
||||
"unclassified": "Not classified",
|
||||
"information": "Information",
|
||||
"unclassified": "Sınıflandırılmamış",
|
||||
"information": "Bilgi",
|
||||
"warning": "Uyarı",
|
||||
"average": "Ortalama",
|
||||
"high": "Yüksek",
|
||||
"disaster": "Felaket"
|
||||
},
|
||||
"lubelogger": {
|
||||
"vehicle": "Vehicle",
|
||||
"vehicles": "Vehicles",
|
||||
"vehicle": "Taşıt",
|
||||
"vehicles": "Taşıtlar",
|
||||
"serviceRecords": "Service Records",
|
||||
"reminders": "Reminders",
|
||||
"nextReminder": "Next Reminder",
|
||||
"reminders": "Hatırlatıcılar",
|
||||
"nextReminder": "Sonraki hatırlatıcı",
|
||||
"none": "None"
|
||||
},
|
||||
"vikunja": {
|
||||
"projects": "Active Projects",
|
||||
"projects": "Etkin projeler",
|
||||
"tasks7d": "Bitişi Bu Hafta Olan Görevler",
|
||||
"tasksOverdue": "Overdue Tasks",
|
||||
"tasksInProgress": "Tasks In Progress"
|
||||
},
|
||||
"headscale": {
|
||||
"name": "Name",
|
||||
"name": "Ad",
|
||||
"address": "Address",
|
||||
"last_seen": "Last Seen",
|
||||
"status": "Durum",
|
||||
"online": "Online",
|
||||
"offline": "Offline"
|
||||
"online": "Çevrimiçi",
|
||||
"offline": "Çevrimdışı"
|
||||
},
|
||||
"beszel": {
|
||||
"name": "Name",
|
||||
"systems": "Systems",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"paused": "Paused",
|
||||
"name": "Ad",
|
||||
"systems": "Sistemler",
|
||||
"up": "Çalışıyor",
|
||||
"down": "Çalışmayan",
|
||||
"paused": "Durduruldu",
|
||||
"pending": "Pending",
|
||||
"status": "Durum",
|
||||
"updated": "Updated",
|
||||
"cpu": "CPU",
|
||||
"memory": "MEM",
|
||||
"cpu": "İşlemci",
|
||||
"memory": "Bellek",
|
||||
"disk": "Disk",
|
||||
"network": "NET"
|
||||
},
|
||||
@@ -1011,14 +1012,14 @@
|
||||
"apps": "Apps",
|
||||
"synced": "Synced",
|
||||
"outOfSync": "Out Of Sync",
|
||||
"healthy": "Healthy",
|
||||
"healthy": "Sağlıklı",
|
||||
"degraded": "Degraded",
|
||||
"progressing": "Progressing",
|
||||
"missing": "Missing",
|
||||
"missing": "Eksik",
|
||||
"suspended": "Suspended"
|
||||
},
|
||||
"spoolman": {
|
||||
"loading": "Loading"
|
||||
"loading": "Yükleniyor"
|
||||
},
|
||||
"gitlab": {
|
||||
"groups": "Groups",
|
||||
@@ -1030,32 +1031,32 @@
|
||||
"status": "Durum",
|
||||
"load": "Load",
|
||||
"bcharge": "Battery Charge",
|
||||
"timeleft": "Time Left"
|
||||
"timeleft": "Kalan zaman"
|
||||
},
|
||||
"karakeep": {
|
||||
"bookmarks": "Bookmarks",
|
||||
"favorites": "Favorites",
|
||||
"bookmarks": "Yer imleri",
|
||||
"favorites": "Gözdeler",
|
||||
"archived": "Archived",
|
||||
"highlights": "Highlights",
|
||||
"lists": "Lists",
|
||||
"tags": "Tags"
|
||||
"lists": "Listeler",
|
||||
"tags": "Etiketler"
|
||||
},
|
||||
"slskd": {
|
||||
"slskStatus": "Ağ",
|
||||
"connected": "Connected",
|
||||
"disconnected": "Disconnected",
|
||||
"connected": "Bağlı",
|
||||
"disconnected": "Bağlı değil",
|
||||
"updateStatus": "Güncelleme",
|
||||
"update_yes": "Available",
|
||||
"update_no": "Up to Date",
|
||||
"update_yes": "Uygun",
|
||||
"update_no": "Güncel",
|
||||
"downloads": "İndirmeler",
|
||||
"uploads": "Uploads",
|
||||
"sharedFiles": "Files"
|
||||
"uploads": "Yüklemeler",
|
||||
"sharedFiles": "Dosyalar"
|
||||
},
|
||||
"jellystat": {
|
||||
"songs": "Songs",
|
||||
"movies": "Movies",
|
||||
"episodes": "Episodes",
|
||||
"other": "Other"
|
||||
"songs": "Şarkılar",
|
||||
"movies": "Filmler",
|
||||
"episodes": "Bölümler",
|
||||
"other": "Diğer"
|
||||
},
|
||||
"checkmk": {
|
||||
"serviceErrors": "Service issues",
|
||||
@@ -1064,17 +1065,17 @@
|
||||
"komodo": {
|
||||
"total": "Toplam",
|
||||
"running": "Çalışıyor",
|
||||
"stopped": "Stopped",
|
||||
"down": "Down",
|
||||
"unhealthy": "Unhealthy",
|
||||
"unknown": "Unknown",
|
||||
"servers": "Servers",
|
||||
"stopped": "Durdu",
|
||||
"down": "Çalışmayan",
|
||||
"unhealthy": "Sağlıksız",
|
||||
"unknown": "Bilinmeyen",
|
||||
"servers": "Sunucular",
|
||||
"stacks": "Stacks",
|
||||
"containers": "Containers"
|
||||
},
|
||||
"filebrowser": {
|
||||
"available": "Available",
|
||||
"used": "Used",
|
||||
"available": "Uygun",
|
||||
"used": "Kullanılıyor",
|
||||
"total": "Toplam"
|
||||
},
|
||||
"wallos": {
|
||||
@@ -1083,5 +1084,35 @@
|
||||
"nextMonthlyCost": "Sonraki Ay",
|
||||
"previousMonthlyCost": "Önceki Ay",
|
||||
"nextRenewingSubscription": "Sonraki Ödeme"
|
||||
},
|
||||
"unraid": {
|
||||
"STARTED": "Başladı",
|
||||
"STOPPED": "Durdu",
|
||||
"NEW_ARRAY": "Yeni dizi",
|
||||
"RECON_DISK": "Reconstructing Disk",
|
||||
"DISABLE_DISK": "Disk devre dışı",
|
||||
"SWAP_DSBL": "Swap devre dışı",
|
||||
"INVALID_EXPANSION": "Invalid Expansion",
|
||||
"PARITY_NOT_BIGGEST": "Parity Not Biggest",
|
||||
"TOO_MANY_MISSING_DISKS": "Çok fazla disk eksik",
|
||||
"NEW_DISK_TOO_SMALL": "Yeni disk çok küçük",
|
||||
"NO_DATA_DISKS": "Veri diski yok",
|
||||
"notifications": "Bildirimler",
|
||||
"status": "Durum",
|
||||
"cpu": "İşlemci",
|
||||
"memoryUsed": "Bellek kullanılıyor",
|
||||
"memoryAvailable": "Bellek uygun",
|
||||
"arrayUsed": "Kullanılan dizi",
|
||||
"arrayFree": "Uygun dizi",
|
||||
"poolUsed": "{{pool}} kullanılıyor",
|
||||
"poolFree": "{{pool}} boş"
|
||||
},
|
||||
"backrest": {
|
||||
"num_plans": "Plans",
|
||||
"num_success_30": "Successes",
|
||||
"num_failure_30": "Failures",
|
||||
"num_success_latest": "Succeeding",
|
||||
"num_failure_latest": "Failing",
|
||||
"bytes_added_30": "Bytes Added"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,7 +275,8 @@
|
||||
"jellyseerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"available": "Available",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
@@ -1083,5 +1084,35 @@
|
||||
"nextMonthlyCost": "Next Month",
|
||||
"previousMonthlyCost": "Prev. Month",
|
||||
"nextRenewingSubscription": "Next Payment"
|
||||
},
|
||||
"unraid": {
|
||||
"STARTED": "Started",
|
||||
"STOPPED": "Stopped",
|
||||
"NEW_ARRAY": "New Array",
|
||||
"RECON_DISK": "Reconstructing Disk",
|
||||
"DISABLE_DISK": "Disk Disabled",
|
||||
"SWAP_DSBL": "Swap Disable",
|
||||
"INVALID_EXPANSION": "Invalid Expansion",
|
||||
"PARITY_NOT_BIGGEST": "Parity Not Biggest",
|
||||
"TOO_MANY_MISSING_DISKS": "Too Many Missing Disks",
|
||||
"NEW_DISK_TOO_SMALL": "New Disk Too Small",
|
||||
"NO_DATA_DISKS": "No Data Disks",
|
||||
"notifications": "Notifications",
|
||||
"status": "Status",
|
||||
"cpu": "CPU",
|
||||
"memoryUsed": "Memory Used",
|
||||
"memoryAvailable": "Memory Available",
|
||||
"arrayUsed": "Array Used",
|
||||
"arrayFree": "Array Free",
|
||||
"poolUsed": "{{pool}} Used",
|
||||
"poolFree": "{{pool}} Free"
|
||||
},
|
||||
"backrest": {
|
||||
"num_plans": "Plans",
|
||||
"num_success_30": "Successes",
|
||||
"num_failure_30": "Failures",
|
||||
"num_success_latest": "Succeeding",
|
||||
"num_failure_latest": "Failing",
|
||||
"bytes_added_30": "Bytes Added"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,7 +275,8 @@
|
||||
"jellyseerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"available": "Available",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
@@ -1083,5 +1084,35 @@
|
||||
"nextMonthlyCost": "Next Month",
|
||||
"previousMonthlyCost": "Prev. Month",
|
||||
"nextRenewingSubscription": "Next Payment"
|
||||
},
|
||||
"unraid": {
|
||||
"STARTED": "Started",
|
||||
"STOPPED": "Stopped",
|
||||
"NEW_ARRAY": "New Array",
|
||||
"RECON_DISK": "Reconstructing Disk",
|
||||
"DISABLE_DISK": "Disk Disabled",
|
||||
"SWAP_DSBL": "Swap Disable",
|
||||
"INVALID_EXPANSION": "Invalid Expansion",
|
||||
"PARITY_NOT_BIGGEST": "Parity Not Biggest",
|
||||
"TOO_MANY_MISSING_DISKS": "Too Many Missing Disks",
|
||||
"NEW_DISK_TOO_SMALL": "New Disk Too Small",
|
||||
"NO_DATA_DISKS": "No Data Disks",
|
||||
"notifications": "Notifications",
|
||||
"status": "Status",
|
||||
"cpu": "CPU",
|
||||
"memoryUsed": "Memory Used",
|
||||
"memoryAvailable": "Memory Available",
|
||||
"arrayUsed": "Array Used",
|
||||
"arrayFree": "Array Free",
|
||||
"poolUsed": "{{pool}} Used",
|
||||
"poolFree": "{{pool}} Free"
|
||||
},
|
||||
"backrest": {
|
||||
"num_plans": "Plans",
|
||||
"num_success_30": "Successes",
|
||||
"num_failure_30": "Failures",
|
||||
"num_success_latest": "Succeeding",
|
||||
"num_failure_latest": "Failing",
|
||||
"bytes_added_30": "Bytes Added"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,7 +275,8 @@
|
||||
"jellyseerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"available": "Available",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
@@ -1083,5 +1084,35 @@
|
||||
"nextMonthlyCost": "Next Month",
|
||||
"previousMonthlyCost": "Prev. Month",
|
||||
"nextRenewingSubscription": "Next Payment"
|
||||
},
|
||||
"unraid": {
|
||||
"STARTED": "Started",
|
||||
"STOPPED": "Stopped",
|
||||
"NEW_ARRAY": "New Array",
|
||||
"RECON_DISK": "Reconstructing Disk",
|
||||
"DISABLE_DISK": "Disk Disabled",
|
||||
"SWAP_DSBL": "Swap Disable",
|
||||
"INVALID_EXPANSION": "Invalid Expansion",
|
||||
"PARITY_NOT_BIGGEST": "Parity Not Biggest",
|
||||
"TOO_MANY_MISSING_DISKS": "Too Many Missing Disks",
|
||||
"NEW_DISK_TOO_SMALL": "New Disk Too Small",
|
||||
"NO_DATA_DISKS": "No Data Disks",
|
||||
"notifications": "Notifications",
|
||||
"status": "Status",
|
||||
"cpu": "CPU",
|
||||
"memoryUsed": "Memory Used",
|
||||
"memoryAvailable": "Memory Available",
|
||||
"arrayUsed": "Array Used",
|
||||
"arrayFree": "Array Free",
|
||||
"poolUsed": "{{pool}} Used",
|
||||
"poolFree": "{{pool}} Free"
|
||||
},
|
||||
"backrest": {
|
||||
"num_plans": "Plans",
|
||||
"num_success_30": "Successes",
|
||||
"num_failure_30": "Failures",
|
||||
"num_success_latest": "Succeeding",
|
||||
"num_failure_latest": "Failing",
|
||||
"bytes_added_30": "Bytes Added"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,7 +275,8 @@
|
||||
"jellyseerr": {
|
||||
"pending": "待办的",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"available": "Available",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
@@ -360,9 +361,9 @@
|
||||
"middleware": "中间件"
|
||||
},
|
||||
"trilium": {
|
||||
"version": "Version",
|
||||
"notesCount": "Notes",
|
||||
"dbSize": "Database Size",
|
||||
"version": "版本",
|
||||
"notesCount": "笔记",
|
||||
"dbSize": "数据库大小",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"navidrome": {
|
||||
@@ -1083,5 +1084,35 @@
|
||||
"nextMonthlyCost": "Next Month",
|
||||
"previousMonthlyCost": "Prev. Month",
|
||||
"nextRenewingSubscription": "Next Payment"
|
||||
},
|
||||
"unraid": {
|
||||
"STARTED": "Started",
|
||||
"STOPPED": "Stopped",
|
||||
"NEW_ARRAY": "New Array",
|
||||
"RECON_DISK": "Reconstructing Disk",
|
||||
"DISABLE_DISK": "Disk Disabled",
|
||||
"SWAP_DSBL": "Swap Disable",
|
||||
"INVALID_EXPANSION": "Invalid Expansion",
|
||||
"PARITY_NOT_BIGGEST": "Parity Not Biggest",
|
||||
"TOO_MANY_MISSING_DISKS": "Too Many Missing Disks",
|
||||
"NEW_DISK_TOO_SMALL": "New Disk Too Small",
|
||||
"NO_DATA_DISKS": "No Data Disks",
|
||||
"notifications": "Notifications",
|
||||
"status": "Status",
|
||||
"cpu": "CPU",
|
||||
"memoryUsed": "Memory Used",
|
||||
"memoryAvailable": "Memory Available",
|
||||
"arrayUsed": "Array Used",
|
||||
"arrayFree": "Array Free",
|
||||
"poolUsed": "{{pool}} Used",
|
||||
"poolFree": "{{pool}} Free"
|
||||
},
|
||||
"backrest": {
|
||||
"num_plans": "Plans",
|
||||
"num_success_30": "Successes",
|
||||
"num_failure_30": "Failures",
|
||||
"num_success_latest": "Succeeding",
|
||||
"num_failure_latest": "Failing",
|
||||
"bytes_added_30": "Bytes Added"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,7 +275,8 @@
|
||||
"jellyseerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"available": "Available",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
@@ -1083,5 +1084,35 @@
|
||||
"nextMonthlyCost": "Next Month",
|
||||
"previousMonthlyCost": "Prev. Month",
|
||||
"nextRenewingSubscription": "Next Payment"
|
||||
},
|
||||
"unraid": {
|
||||
"STARTED": "Started",
|
||||
"STOPPED": "Stopped",
|
||||
"NEW_ARRAY": "New Array",
|
||||
"RECON_DISK": "Reconstructing Disk",
|
||||
"DISABLE_DISK": "Disk Disabled",
|
||||
"SWAP_DSBL": "Swap Disable",
|
||||
"INVALID_EXPANSION": "Invalid Expansion",
|
||||
"PARITY_NOT_BIGGEST": "Parity Not Biggest",
|
||||
"TOO_MANY_MISSING_DISKS": "Too Many Missing Disks",
|
||||
"NEW_DISK_TOO_SMALL": "New Disk Too Small",
|
||||
"NO_DATA_DISKS": "No Data Disks",
|
||||
"notifications": "Notifications",
|
||||
"status": "Status",
|
||||
"cpu": "CPU",
|
||||
"memoryUsed": "Memory Used",
|
||||
"memoryAvailable": "Memory Available",
|
||||
"arrayUsed": "Array Used",
|
||||
"arrayFree": "Array Free",
|
||||
"poolUsed": "{{pool}} Used",
|
||||
"poolFree": "{{pool}} Free"
|
||||
},
|
||||
"backrest": {
|
||||
"num_plans": "Plans",
|
||||
"num_success_30": "Successes",
|
||||
"num_failure_30": "Failures",
|
||||
"num_success_latest": "Succeeding",
|
||||
"num_failure_latest": "Failing",
|
||||
"bytes_added_30": "Bytes Added"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,12 +37,12 @@ export default function Container({ error = false, children, service }) {
|
||||
if (!field.includes(".")) {
|
||||
fullField = `${type}.${field}`;
|
||||
}
|
||||
let matches = fullField === child?.props?.label;
|
||||
let matches = fullField === (child?.props?.field || child?.props?.label);
|
||||
// check if the field is an 'alias'
|
||||
if (matches) {
|
||||
return true;
|
||||
} else if (ALIASED_WIDGETS[type]) {
|
||||
matches = fullField.replace(type, ALIASED_WIDGETS[type]) === child?.props?.label;
|
||||
matches = fullField.replace(type, ALIASED_WIDGETS[type]) === (child?.props?.field || child?.props?.label);
|
||||
|
||||
return matches;
|
||||
}
|
||||
|
||||
@@ -24,9 +24,28 @@ export default async function handler(req, res) {
|
||||
});
|
||||
}
|
||||
|
||||
const baseUrl = `${proxmoxConfig.url}/api2/json`;
|
||||
// Prefer per-node config (new format), fall back to legacy flat creds.
|
||||
const nodeConfig =
|
||||
(node && proxmoxConfig && proxmoxConfig[node]) ||
|
||||
(proxmoxConfig && proxmoxConfig.url && proxmoxConfig.token && proxmoxConfig.secret
|
||||
? {
|
||||
url: proxmoxConfig.url,
|
||||
token: proxmoxConfig.token,
|
||||
secret: proxmoxConfig.secret,
|
||||
}
|
||||
: null);
|
||||
|
||||
if (!nodeConfig) {
|
||||
return res.status(400).json({
|
||||
error:
|
||||
"Proxmox config not found for the specified node and no legacy credentials detected. " +
|
||||
"Add a node block in proxmox.yaml (e.g., 'pve: { url, token, secret }') or restore legacy top-level url/token/secret.",
|
||||
});
|
||||
}
|
||||
|
||||
const baseUrl = `${nodeConfig.url}/api2/json`;
|
||||
const headers = {
|
||||
Authorization: `PVEAPIToken=${proxmoxConfig.token}=${proxmoxConfig.secret}`,
|
||||
Authorization: `PVEAPIToken=${nodeConfig.token}=${nodeConfig.secret}`,
|
||||
};
|
||||
|
||||
const statusUrl = `${baseUrl}/nodes/${node}/${vmType}/${vmid}/status/current`;
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
---
|
||||
# url: https://proxmox.host.or.ip:8006
|
||||
# token: username@pam!Token ID
|
||||
# secret: secret
|
||||
# pve:
|
||||
# url: https://proxmox.host.or.ip:8006
|
||||
# token: username@pam!Token ID
|
||||
# secret: secret
|
||||
|
||||
@@ -308,7 +308,7 @@ export function cleanServiceGroups(groups) {
|
||||
// gamedig
|
||||
gameToken,
|
||||
|
||||
// beszel, glances, immich, komga, mealie, pihole, pfsense, speedtest
|
||||
// authentik, beszel, glances, immich, komga, mealie, pihole, pfsense, speedtest
|
||||
version,
|
||||
|
||||
// glances
|
||||
@@ -396,6 +396,12 @@ export function cleanServiceGroups(groups) {
|
||||
// unifi
|
||||
site,
|
||||
|
||||
// unraid
|
||||
pool1,
|
||||
pool2,
|
||||
pool3,
|
||||
pool4,
|
||||
|
||||
// vikunja
|
||||
enableTaskList,
|
||||
|
||||
@@ -518,6 +524,7 @@ export function cleanServiceGroups(groups) {
|
||||
}
|
||||
if (
|
||||
[
|
||||
"authentik",
|
||||
"beszel",
|
||||
"glances",
|
||||
"immich",
|
||||
@@ -610,6 +617,12 @@ export function cleanServiceGroups(groups) {
|
||||
if (type === "grafana") {
|
||||
if (alerts) widget.alerts = alerts;
|
||||
}
|
||||
if (type === "unraid") {
|
||||
if (pool1) widget.pool1 = pool1;
|
||||
if (pool2) widget.pool2 = pool2;
|
||||
if (pool3) widget.pool3 = pool3;
|
||||
if (pool4) widget.pool4 = pool4;
|
||||
}
|
||||
return widget;
|
||||
});
|
||||
return cleanedService;
|
||||
|
||||
@@ -10,8 +10,12 @@ export default function Component({ service }) {
|
||||
const { widget } = service;
|
||||
|
||||
const { data: usersData, error: usersError } = useWidgetAPI(widget, "users");
|
||||
const { data: loginsData, error: loginsError } = useWidgetAPI(widget, "login");
|
||||
const { data: failedLoginsData, error: failedLoginsError } = useWidgetAPI(widget, "login_failed");
|
||||
|
||||
const loginsEndpoint = widget.version === 2 ? "loginv2" : "login";
|
||||
const { data: loginsData, error: loginsError } = useWidgetAPI(widget, loginsEndpoint);
|
||||
|
||||
const failedLoginsEndpoint = widget.version === 2 ? "login_failedv2" : "login_failed";
|
||||
const { data: failedLoginsData, error: failedLoginsError } = useWidgetAPI(widget, failedLoginsEndpoint);
|
||||
|
||||
if (usersError || loginsError || failedLoginsError) {
|
||||
const finalError = usersError ?? loginsError ?? failedLoginsError;
|
||||
@@ -28,15 +32,25 @@ export default function Component({ service }) {
|
||||
);
|
||||
}
|
||||
|
||||
const yesterday = new Date(Date.now()).setHours(-24);
|
||||
const loginsLast24H = loginsData.reduce(
|
||||
(total, current) => (current.x_cord >= yesterday ? total + current.y_cord : total),
|
||||
0,
|
||||
);
|
||||
const failedLoginsLast24H = failedLoginsData.reduce(
|
||||
(total, current) => (current.x_cord >= yesterday ? total + current.y_cord : total),
|
||||
0,
|
||||
);
|
||||
let loginsLast24H;
|
||||
let failedLoginsLast24H;
|
||||
switch (widget.version) {
|
||||
case 1:
|
||||
const yesterday = new Date(Date.now()).setHours(-24);
|
||||
loginsLast24H = loginsData.reduce(
|
||||
(total, current) => (current.x_cord >= yesterday ? total + current.y_cord : total),
|
||||
0,
|
||||
);
|
||||
failedLoginsLast24H = failedLoginsData.reduce(
|
||||
(total, current) => (current.x_cord >= yesterday ? total + current.y_cord : total),
|
||||
0,
|
||||
);
|
||||
break;
|
||||
case 2:
|
||||
loginsLast24H = loginsData[0]?.count || 0;
|
||||
failedLoginsLast24H = failedLoginsData[0]?.count || 0;
|
||||
break;
|
||||
}
|
||||
|
||||
return (
|
||||
<Container service={service}>
|
||||
|
||||
@@ -11,9 +11,15 @@ const widget = {
|
||||
login: {
|
||||
endpoint: "events/events/per_month/?action=login",
|
||||
},
|
||||
loginv2: {
|
||||
endpoint: "events/events/volume/?action=login&&history_days=1",
|
||||
},
|
||||
login_failed: {
|
||||
endpoint: "events/events/per_month/?action=login_failed",
|
||||
},
|
||||
login_failedv2: {
|
||||
endpoint: "events/events/volume/?action=login_failed&&history_days=1",
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
50
src/widgets/backrest/component.jsx
Normal file
50
src/widgets/backrest/component.jsx
Normal file
@@ -0,0 +1,50 @@
|
||||
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 BACKREST_DEFAULT_FIELDS = ["num_success_latest", "num_failure_latest", "num_failure_30", "bytes_added_30"];
|
||||
const MAX_ALLOWED_FIELDS = 4;
|
||||
|
||||
export default function Component({ service }) {
|
||||
const { t } = useTranslation();
|
||||
|
||||
const { widget } = service;
|
||||
|
||||
const { data, error } = useWidgetAPI(widget, "summary");
|
||||
|
||||
if (error) {
|
||||
return <Container service={service} error={error} />;
|
||||
}
|
||||
|
||||
if (!widget.fields?.length) {
|
||||
widget.fields = BACKREST_DEFAULT_FIELDS;
|
||||
} else if (widget.fields.length > MAX_ALLOWED_FIELDS) {
|
||||
widget.fields = widget.fields.slice(0, MAX_ALLOWED_FIELDS);
|
||||
}
|
||||
|
||||
if (!data) {
|
||||
return (
|
||||
<Container service={service}>
|
||||
<Block label="backrest.num_plans" />
|
||||
<Block label="backrest.num_success_latest" />
|
||||
<Block label="backrest.num_failure_latest" />
|
||||
<Block label="backrest.num_success_30" />
|
||||
<Block label="backrest.num_failure_30" />
|
||||
<Block label="backrest.bytes_added_30" />
|
||||
</Container>
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
<Container service={service}>
|
||||
<Block label="backrest.num_plans" value={t("common.number", { value: data.numPlans })} />
|
||||
<Block label="backrest.num_success_latest" value={t("common.number", { value: data.numSuccessLatest })} />
|
||||
<Block label="backrest.num_failure_latest" value={t("common.number", { value: data.numFailureLatest })} />
|
||||
<Block label="backrest.num_success_30" value={t("common.number", { value: data.numSuccess30Days })} />
|
||||
<Block label="backrest.num_failure_30" value={t("common.number", { value: data.numFailure30Days })} />
|
||||
<Block label="backrest.bytes_added_30" value={t("common.bytes", { value: data.bytesAdded30Days })} />
|
||||
</Container>
|
||||
);
|
||||
}
|
||||
96
src/widgets/backrest/proxy.js
Normal file
96
src/widgets/backrest/proxy.js
Normal file
@@ -0,0 +1,96 @@
|
||||
import getServiceWidget from "utils/config/service-helpers";
|
||||
import createLogger from "utils/logger";
|
||||
import { asJson, formatApiCall } from "utils/proxy/api-helpers";
|
||||
import { httpProxy } from "utils/proxy/http";
|
||||
import widgets from "widgets/widgets";
|
||||
|
||||
const proxyName = "backrestProxyHandler";
|
||||
const logger = createLogger(proxyName);
|
||||
|
||||
function sumField(plans, field) {
|
||||
return plans.reduce((sum, plan) => {
|
||||
const num = Number(plan[field]);
|
||||
return sum + (Number.isNaN(num) ? 0 : num);
|
||||
}, 0);
|
||||
}
|
||||
|
||||
function buildResponse(plans) {
|
||||
const numSuccess30Days = sumField(plans, "backupsSuccessLast30days");
|
||||
const numFailure30Days = sumField(plans, "backupsFailed30days");
|
||||
const bytesAdded30Days = sumField(plans, "bytesAddedLast30days");
|
||||
|
||||
var numSuccessLatest = 0;
|
||||
var numFailureLatest = 0;
|
||||
|
||||
plans.forEach((plan) => {
|
||||
const statuses = plan?.recentBackups?.status;
|
||||
if (Array.isArray(statuses) && statuses.length > 0) {
|
||||
if (statuses[0] === "STATUS_SUCCESS") {
|
||||
numSuccessLatest++;
|
||||
} else {
|
||||
numFailureLatest++;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return {
|
||||
numPlans: plans.length,
|
||||
numSuccess30Days,
|
||||
numFailure30Days,
|
||||
numSuccessLatest,
|
||||
numFailureLatest,
|
||||
bytesAdded30Days,
|
||||
};
|
||||
}
|
||||
|
||||
export default async function backrestProxyHandler(req, res) {
|
||||
const { group, service, endpoint, index } = req.query;
|
||||
|
||||
if (!group || !service) {
|
||||
logger.debug("Invalid or missing service '%s' or group '%s'", service, group);
|
||||
return res.status(400).json({ error: "Invalid proxy service type" });
|
||||
}
|
||||
|
||||
const widget = await getServiceWidget(group, service, index);
|
||||
|
||||
if (!widget) {
|
||||
logger.debug("Invalid or missing widget for service '%s' in group '%s'", service, group);
|
||||
return res.status(400).json({ error: "Invalid proxy service type" });
|
||||
}
|
||||
|
||||
const headers = {
|
||||
"content-type": "application/json",
|
||||
};
|
||||
|
||||
if (widget.username && widget.password) {
|
||||
headers.Authorization = `Basic ${Buffer.from(`${widget.username}:${widget.password}`).toString("base64")}`;
|
||||
}
|
||||
|
||||
const { api } = widgets[widget.type];
|
||||
const url = new URL(formatApiCall(api, { endpoint, ...widget }));
|
||||
|
||||
try {
|
||||
const [status, contentType, data] = await httpProxy(url, {
|
||||
method: "POST",
|
||||
body: JSON.stringify({}),
|
||||
headers,
|
||||
});
|
||||
|
||||
if (status !== 200) {
|
||||
logger.error("Error getting data from Backrest: %d. Data: %s", status, data);
|
||||
return res.status(500).send({ error: { message: "Error getting data from Backrest", url, data } });
|
||||
}
|
||||
|
||||
if (contentType) res.setHeader("Content-Type", "application/json");
|
||||
const plans = asJson(data).planSummaries;
|
||||
if (!Array.isArray(plans)) {
|
||||
logger.error("Invalid plans data: %s", JSON.stringify(plans));
|
||||
return res.status(500).send({ error: { message: "Invalid plans data", url, data } });
|
||||
}
|
||||
const response = buildResponse(plans);
|
||||
return res.status(status).send(response);
|
||||
} catch (error) {
|
||||
logger.error("Exception calling Backrest API: %s", error.message);
|
||||
return res.status(500).json({ error: "Backrest API Error", message: error.message });
|
||||
}
|
||||
}
|
||||
14
src/widgets/backrest/widget.js
Normal file
14
src/widgets/backrest/widget.js
Normal file
@@ -0,0 +1,14 @@
|
||||
import backrestProxyHandler from "./proxy";
|
||||
|
||||
const widget = {
|
||||
api: "{url}/v1.Backrest/{endpoint}",
|
||||
proxyHandler: backrestProxyHandler,
|
||||
|
||||
mappings: {
|
||||
summary: {
|
||||
endpoint: "GetSummaryDashboard",
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
export default widget;
|
||||
@@ -9,6 +9,7 @@ const components = {
|
||||
authentik: dynamic(() => import("./authentik/component")),
|
||||
autobrr: dynamic(() => import("./autobrr/component")),
|
||||
azuredevops: dynamic(() => import("./azuredevops/component")),
|
||||
backrest: dynamic(() => import("./backrest/component")),
|
||||
bazarr: dynamic(() => import("./bazarr/component")),
|
||||
beszel: dynamic(() => import("./beszel/component")),
|
||||
caddy: dynamic(() => import("./caddy/component")),
|
||||
@@ -139,6 +140,7 @@ const components = {
|
||||
truenas: dynamic(() => import("./truenas/component")),
|
||||
unifi: dynamic(() => import("./unifi/component")),
|
||||
unmanic: dynamic(() => import("./unmanic/component")),
|
||||
unraid: dynamic(() => import("./unraid/component")),
|
||||
uptimekuma: dynamic(() => import("./uptimekuma/component")),
|
||||
uptimerobot: dynamic(() => import("./uptimerobot/component")),
|
||||
urbackup: dynamic(() => import("./urbackup/component")),
|
||||
|
||||
@@ -3,21 +3,27 @@ import Container from "components/services/widget/container";
|
||||
|
||||
import useWidgetAPI from "utils/proxy/use-widget-api";
|
||||
|
||||
export const jellyseerrDefaultFields = ["pending", "approved", "available"];
|
||||
|
||||
export default function Component({ service }) {
|
||||
const { widget } = service;
|
||||
|
||||
const { data: statsData, error: statsError } = useWidgetAPI(widget, "request/count");
|
||||
widget.fields = widget?.fields?.length ? widget.fields : jellyseerrDefaultFields;
|
||||
const isIssueEnabled = widget.fields.includes("issues");
|
||||
|
||||
if (statsError) {
|
||||
return <Container service={service} error={statsError} />;
|
||||
const { data: statsData, error: statsError } = useWidgetAPI(widget, "request/count");
|
||||
const { data: issueData, error: issueError } = useWidgetAPI(widget, isIssueEnabled ? "issue/count" : "");
|
||||
if (statsError || (isIssueEnabled && issueError)) {
|
||||
return <Container service={service} error={statsError ? statsError : issueError} />;
|
||||
}
|
||||
|
||||
if (!statsData) {
|
||||
if (!statsData || (isIssueEnabled && !issueData)) {
|
||||
return (
|
||||
<Container service={service}>
|
||||
<Block label="jellyseerr.pending" />
|
||||
<Block label="jellyseerr.approved" />
|
||||
<Block label="jellyseerr.available" />
|
||||
<Block label="jellyseerr.issues" />
|
||||
</Container>
|
||||
);
|
||||
}
|
||||
@@ -27,6 +33,7 @@ export default function Component({ service }) {
|
||||
<Block label="jellyseerr.pending" value={statsData.pending} />
|
||||
<Block label="jellyseerr.approved" value={statsData.approved} />
|
||||
<Block label="jellyseerr.available" value={statsData.available} />
|
||||
<Block label="jellyseerr.issues" value={`${issueData?.open} / ${issueData?.total}`} />
|
||||
</Container>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -9,6 +9,10 @@ const widget = {
|
||||
endpoint: "request/count",
|
||||
validate: ["pending", "approved", "available"],
|
||||
},
|
||||
"issue/count": {
|
||||
endpoint: "issue/count",
|
||||
validate: ["open", "total"],
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
93
src/widgets/unraid/component.jsx
Normal file
93
src/widgets/unraid/component.jsx
Normal file
@@ -0,0 +1,93 @@
|
||||
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 UNRAID_DEFAULT_FIELDS = ["status", "cpu", "memoryPercent", "notifications"];
|
||||
const MAX_ALLOWED_FIELDS = 4;
|
||||
|
||||
const POOLS = ["pool1", "pool2", "pool3", "pool4"];
|
||||
const POOL_FIELDS = [
|
||||
{ param: "UsedSpace", label: "poolUsed", valueKey: "fsUsed", valueType: "common.bytes" },
|
||||
{ param: "FreeSpace", label: "poolFree", valueKey: "fsFree", valueType: "common.bytes" },
|
||||
{ param: "UsedPercent", label: "poolUsed", valueKey: "fsUsedPercent", valueType: "common.percent" },
|
||||
];
|
||||
|
||||
export default function Component({ service }) {
|
||||
const { t } = useTranslation();
|
||||
const { widget } = service;
|
||||
|
||||
const { data, error } = useWidgetAPI(widget);
|
||||
|
||||
if (error) {
|
||||
return <Container service={service} error={error} />;
|
||||
}
|
||||
|
||||
if (!widget.fields?.length) {
|
||||
widget.fields = UNRAID_DEFAULT_FIELDS;
|
||||
} else if (widget.fields.length > MAX_ALLOWED_FIELDS) {
|
||||
widget.fields = widget.fields.slice(0, MAX_ALLOWED_FIELDS);
|
||||
}
|
||||
|
||||
if (!data) {
|
||||
return (
|
||||
<Container service={service}>
|
||||
<Block label="unraid.status" />
|
||||
<Block label="unraid.memoryAvailable" />
|
||||
<Block label="unraid.memoryUsed" />
|
||||
<Block field="unraid.memoryPercent" label="unraid.memoryUsed" />
|
||||
<Block label="unraid.cpu" />
|
||||
<Block label="unraid.notifications" />
|
||||
<Block field="unraid.arrayUsedSpace" label="unraid.arrayUsed" />
|
||||
<Block field="unraid.arrayFree" label="unraid.arrayFree" />
|
||||
<Block field="unraid.arrayUsedPercent" label="unraid.arrayUsed" />
|
||||
{...POOLS.flatMap((pool) =>
|
||||
POOL_FIELDS.map(({ param, label }) => (
|
||||
<Block
|
||||
key={`${pool}-${param}`}
|
||||
field={`unraid.${pool}${param}`}
|
||||
label={t(`unraid.${label}`, { pool: widget?.[pool] || pool })}
|
||||
/>
|
||||
)),
|
||||
)}
|
||||
</Container>
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
<Container service={service}>
|
||||
<Block label="unraid.status" value={t(`unraid.${data.arrayState}`)} />
|
||||
<Block label="unraid.memoryAvailable" value={t("common.bbytes", { value: data.memoryAvailable })} />
|
||||
<Block label="unraid.memoryUsed" value={t("common.bbytes", { value: data.memoryUsed })} />
|
||||
<Block
|
||||
field="unraid.memoryPercent"
|
||||
label="unraid.memoryUsed"
|
||||
value={t("common.percent", { value: data.memoryUsedPercent })}
|
||||
/>
|
||||
<Block label="unraid.cpu" value={t("common.percent", { value: data.cpuPercent })} />
|
||||
<Block label="unraid.notifications" value={t("common.number", { value: data.unreadNotifications })} />
|
||||
<Block
|
||||
field="unraid.arrayUsedSpace"
|
||||
label="unraid.arrayUsed"
|
||||
value={t("common.bytes", { value: data.arrayUsed })}
|
||||
/>
|
||||
<Block label="unraid.arrayFree" value={t("common.bytes", { value: data.arrayFree })} />
|
||||
<Block
|
||||
field="unraid.arrayUsedPercent"
|
||||
label="unraid.arrayUsed"
|
||||
value={t("common.percent", { value: data.arrayUsedPercent })}
|
||||
/>
|
||||
{...POOLS.flatMap((pool) =>
|
||||
POOL_FIELDS.map(({ param, label, valueKey, valueType }) => (
|
||||
<Block
|
||||
key={`${pool}-${param}`}
|
||||
field={`unraid.${pool}${param}`}
|
||||
label={t(`unraid.${label}`, { pool: widget?.[pool] || pool })}
|
||||
value={t(valueType, { value: data.caches?.[widget?.[pool]]?.[valueKey] || "-" })}
|
||||
/>
|
||||
)),
|
||||
)}
|
||||
</Container>
|
||||
);
|
||||
}
|
||||
138
src/widgets/unraid/proxy.js
Normal file
138
src/widgets/unraid/proxy.js
Normal file
@@ -0,0 +1,138 @@
|
||||
import getServiceWidget from "utils/config/service-helpers";
|
||||
import createLogger from "utils/logger";
|
||||
import { asJson } from "utils/proxy/api-helpers";
|
||||
import { httpProxy } from "utils/proxy/http";
|
||||
|
||||
const logger = createLogger("unraidProxyHandler");
|
||||
|
||||
const graphqlQuery = `
|
||||
{
|
||||
array {
|
||||
state
|
||||
capacity {
|
||||
kilobytes {
|
||||
free
|
||||
total
|
||||
used
|
||||
}
|
||||
}
|
||||
caches {
|
||||
name
|
||||
fsType
|
||||
fsSize
|
||||
fsFree
|
||||
fsUsed
|
||||
}
|
||||
}
|
||||
metrics {
|
||||
memory {
|
||||
active
|
||||
available
|
||||
percentTotal
|
||||
}
|
||||
cpu {
|
||||
percentTotal
|
||||
}
|
||||
}
|
||||
notifications {
|
||||
overview {
|
||||
unread {
|
||||
total
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
function processUnraidResponse(data) {
|
||||
const response = {};
|
||||
|
||||
try {
|
||||
data = asJson(data)?.data;
|
||||
|
||||
response["memoryUsedPercent"] = data?.metrics?.memory?.percentTotal ?? null;
|
||||
response["memoryUsed"] = data?.metrics?.memory?.active ?? null;
|
||||
response["memoryAvailable"] = data?.metrics?.memory?.available ?? null;
|
||||
response["cpuPercent"] = data?.metrics?.cpu?.percentTotal ?? null;
|
||||
response["unreadNotifications"] = data?.notifications?.overview?.unread?.total ?? null;
|
||||
response["arrayState"] = data?.array?.state ?? null;
|
||||
response["arrayFree"] = data?.array?.capacity?.kilobytes?.free * 1000 ?? null;
|
||||
response["arrayUsed"] = data?.array?.capacity?.kilobytes?.used * 1000 ?? null;
|
||||
response["arrayUsedPercent"] =
|
||||
(data?.array?.capacity?.kilobytes?.used / data?.array?.capacity?.kilobytes?.total) * 100 ?? null;
|
||||
|
||||
response["caches"] = {};
|
||||
if (data?.array?.caches) {
|
||||
data.array.caches.forEach((cache) => {
|
||||
if (cache.fsType) {
|
||||
response.caches[cache.name] = {
|
||||
fsFree: cache.fsFree * 1000,
|
||||
fsUsed: cache.fsUsed * 1000,
|
||||
fsUsedPercent: (cache.fsUsed / cache.fsSize) * 100 ?? null,
|
||||
};
|
||||
}
|
||||
});
|
||||
}
|
||||
} catch (error) {
|
||||
return { error: error.message };
|
||||
}
|
||||
|
||||
return response;
|
||||
}
|
||||
|
||||
export default async function unraidProxyHandler(req, res) {
|
||||
const { group, service, index } = req.query;
|
||||
|
||||
if (!group || !service) {
|
||||
logger.debug("Invalid or missing service '%s' or group '%s'", service, group);
|
||||
return res.status(400).json({ error: "Invalid proxy service type" });
|
||||
}
|
||||
|
||||
const widget = await getServiceWidget(group, service, index);
|
||||
if (!widget) {
|
||||
logger.debug("Invalid or missing widget for service '%s' in group '%s'", service, group);
|
||||
return res.status(400).json({ error: "Invalid proxy service type" });
|
||||
}
|
||||
|
||||
const url = new URL(widget.url + "/graphql");
|
||||
|
||||
const headers = {
|
||||
"Content-Type": "application/json",
|
||||
Accept: `application/json`,
|
||||
"X-API-Key": `${widget.key}`,
|
||||
};
|
||||
|
||||
const params = {
|
||||
method: "POST",
|
||||
headers,
|
||||
};
|
||||
params.body = JSON.stringify({
|
||||
query: graphqlQuery,
|
||||
});
|
||||
|
||||
const [status, , data] = await httpProxy(url, params);
|
||||
|
||||
if (status === 204 || status === 304) {
|
||||
return res.status(status).end();
|
||||
}
|
||||
|
||||
if (status !== 200) {
|
||||
logger.error(
|
||||
"Error getting data from Unraid for service '%s' in group '%s': %d. Data: %s",
|
||||
service,
|
||||
group,
|
||||
status,
|
||||
data,
|
||||
);
|
||||
return res.status(status).send({ error: { message: "Error calling Unraid API.", data } });
|
||||
}
|
||||
|
||||
const result = processUnraidResponse(data);
|
||||
if (result.error) {
|
||||
logger.error("Error processing Unraid data: %s", result.error);
|
||||
return res.status(500).json({ error: result.error });
|
||||
}
|
||||
|
||||
res.setHeader("Content-Type", "application/json");
|
||||
return res.status(status).send(result);
|
||||
}
|
||||
7
src/widgets/unraid/widget.js
Normal file
7
src/widgets/unraid/widget.js
Normal file
@@ -0,0 +1,7 @@
|
||||
import unraidProxyHandler from "./proxy";
|
||||
|
||||
const widget = {
|
||||
proxyHandler: unraidProxyHandler,
|
||||
};
|
||||
|
||||
export default widget;
|
||||
@@ -6,6 +6,7 @@ import audiobookshelf from "./audiobookshelf/widget";
|
||||
import authentik from "./authentik/widget";
|
||||
import autobrr from "./autobrr/widget";
|
||||
import azuredevops from "./azuredevops/widget";
|
||||
import backrest from "./backrest/widget";
|
||||
import bazarr from "./bazarr/widget";
|
||||
import beszel from "./beszel/widget";
|
||||
import caddy from "./caddy/widget";
|
||||
@@ -130,6 +131,7 @@ import truenas from "./truenas/widget";
|
||||
import tubearchivist from "./tubearchivist/widget";
|
||||
import unifi from "./unifi/widget";
|
||||
import unmanic from "./unmanic/widget";
|
||||
import unraid from "./unraid/widget";
|
||||
import uptimekuma from "./uptimekuma/widget";
|
||||
import uptimerobot from "./uptimerobot/widget";
|
||||
import urbackup from "./urbackup/widget";
|
||||
@@ -150,6 +152,7 @@ const widgets = {
|
||||
authentik,
|
||||
autobrr,
|
||||
azuredevops,
|
||||
backrest,
|
||||
bazarr,
|
||||
beszel,
|
||||
caddy,
|
||||
@@ -278,6 +281,7 @@ const widgets = {
|
||||
unifi,
|
||||
unifi_console: unifi,
|
||||
unmanic,
|
||||
unraid,
|
||||
uptimekuma,
|
||||
uptimerobot,
|
||||
urbackup,
|
||||
|
||||
Reference in New Issue
Block a user