Compare commits

..

20 Commits

Author SHA1 Message Date
github-actions[bot]
32f28d32dd New Crowdin translations by GitHub Action (#2455)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2023-12-26 20:22:43 -08:00
myztillx
59ccc3a215 Added Option for Grafana Alertmanager (#2498)
---------

Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2023-12-26 20:21:57 -08:00
William
4d6754e4a7 Chore: bump react-icons to 4.12.0 (#2507) 2023-12-22 07:38:58 -08:00
shamoon
e0886ef715 Revert "Remove groups plugin for now"
This reverts commit afd49d5327.
2023-12-18 08:13:45 -08:00
HaveAGitGat
b9f1ddd284 Fix: Tdarr widget should use viewable count if exists (#2492) 2023-12-18 00:39:30 -08:00
shamoon
afd49d5327 Remove groups plugin for now 2023-12-17 11:51:06 -08:00
shamoon
c3e0627d62 Try updating mike, changing docs action cache_id 2023-12-17 11:28:53 -08:00
Atropos
eea20defb1 Enhancement: support instanceName filtering for kubernetes deployment (#2488)
---------

Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2023-12-17 10:55:40 -08:00
shamoon
30e4a2ae3a Include truenas in uptime refactor 2023-12-15 14:12:14 -08:00
shamoon
e768b1c83a Unify uptime formatting (#2483) 2023-12-15 14:08:37 -08:00
Thorben
24e25e8953 Enhancement: fritzbox uptime display (#2481) 2023-12-15 13:33:29 -08:00
Sean Kelly
aeaf36e0cf Fix changedetection diffs only showing up when it was the first time they were checked (#2479) 2023-12-14 19:07:52 -08:00
CosminPerRam
3bddfdfe3b Chore: update gamedig dep to 4.3.0 (#2474) 2023-12-11 14:11:44 -08:00
shamoon
15a12763f8 Fix: calendar widget radarr integration API params invalid (#2470) 2023-12-11 08:41:45 -08:00
shamoon
25767ba3c7 Fix: moonraker widget error when not printing (#2468) 2023-12-11 07:32:40 -08:00
Alice Lee
bd6f24d82a Documentation: Fix link to widgets page in docs (#2466) 2023-12-11 07:10:46 -08:00
Thorben
d38b313177 Fix: fritzbox error when response contains empty values (#2463) 2023-12-10 12:21:53 -08:00
Brandon McFarlin
bccd73fe2d Feature: Add peaNUT Widget (#2450)
---------

Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2023-12-10 09:56:35 -08:00
Denis Papec
a72ccb6d27 Fix: show recurring and multi-day events (#2451) 2023-12-10 07:19:43 -08:00
Thorben
0a3d552114 Fix typo in fritzbox documentation (#2457) 2023-12-10 07:06:52 -08:00
70 changed files with 1202 additions and 725 deletions

View File

@@ -70,7 +70,7 @@ jobs:
- uses: actions/setup-python@v5
with:
python-version: 3.x
- run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV
- run: echo "cache_id=${{github.sha}}" >> $GITHUB_ENV
- uses: actions/cache@v3
with:
key: mkdocs-material-${{ env.cache_id }}
@@ -78,7 +78,7 @@ jobs:
restore-keys: |
mkdocs-material-
- run: sudo apt-get install pngquant
- run: pip install mike==1.1.2
- run: pip install mike==2.0.0
- run: pip install git+https://${GH_TOKEN}@github.com/benphelps/mkdocs-material-insiders.git
- name: Set Git config
run: |

View File

@@ -79,6 +79,7 @@ metadata:
gethomepage.dev/widget.url: "https://emby.example.com"
gethomepage.dev/pod-selector: ""
gethomepage.dev/weight: 10 # optional
gethomepage.dev/instance: "public" # optional
spec:
rules:
- host: emby.example.com
@@ -95,6 +96,8 @@ spec:
When the Kubernetes cluster connection has been properly configured, this service will be automatically discovered and added to your Homepage. **You do not need to specify the `namespace` or `app` values, as they will be automatically inferred.**
If you are using multiple instances of homepage, an `instance` annotation can be specified to limit services to a specific instance. If no instance is provided, the service will be visible on all instances.
### Traefik IngressRoute support
Homepage can also read ingresses defined using the Traefik IngressRoute custom resource definition. Due to the complex nature of Traefik routing rules, it is required for the `gethomepage.dev/href` annotation to be set:
@@ -116,6 +119,7 @@ metadata:
gethomepage.dev/widget.url: "https://emby.example.com"
gethomepage.dev/pod-selector: ""
gethomepage.dev/weight: 10 # optional
gethomepage.dev/instance: "public" # optional
spec:
entryPoints:
- websecure

View File

@@ -179,7 +179,7 @@ Services may be connected to a Docker container, either running on the local mac
Services may also have a service widget (or integration) attached to them, this works independently of the Docker integration.
You can find information and configuration for each of the supported integrations on the [Service Widgets](service-widgets.md) page.
You can find information and configuration for each of the supported integrations on the [Widgets](../widgets/index.md) page.
Here is an example of a Radarr & Sonarr service, with their respective integrations.

View File

@@ -13,7 +13,7 @@ Home Network > Network > Network Settings > Access Settings in the Home Network
Credentials are not needed and, as such, you may want to consider using `http` instead of `https` as those requests are significantly faster.
Allowed fields (limited to a max of 4): `["connectionStatus", "upTime", "maxDown", "maxUp", "down", "up", "received", "sent", "externalIPAddress"]`.
Allowed fields (limited to a max of 4): `["connectionStatus", "uptime", "maxDown", "maxUp", "down", "up", "received", "sent", "externalIPAddress"]`.
```yaml
widget:

View File

@@ -0,0 +1,21 @@
---
title: PeaNUT
description: PeaNUT Widget Configuration
---
This widget adds support for [Network UPS Tools](https://networkupstools.org/) via a third party tool, [PeaNUT](https://github.com/Brandawg93/PeaNUT).
The default ups name is `ups`. To configure more than one ups, you must create multiple peanut services.
Allowed fields: `["battery_charge", "ups_load", "ups_status"]`
!!! note
This widget requires an additional tool, [PeaNUT](https://github.com/Brandawg93/PeaNUT), as noted. Other projects exist to achieve similar results using a `customapi` widget, for example [NUTCase](https://github.com/ArthurMitchell42/nutcase#using-nutcase-homepage).
```yaml
widget:
type: peanut
url: http://peanut.host.or.ip:port
key: nameofyourups
```

View File

@@ -96,6 +96,7 @@ nav:
- widgets/services/opnsense.md
- widgets/services/overseerr.md
- widgets/services/paperlessngx.md
- widgets/services/peanut.md
- widgets/services/pfsense.md
- widgets/services/photoprism.md
- widgets/services/pialert.md

View File

@@ -84,6 +84,22 @@ function prettyBytes(number, options) {
return `${prefix + numberString} ${unit}`;
}
function uptime(uptimeInSeconds, i18next) {
const mo = Math.floor(uptimeInSeconds / (3600 * 24 * 31));
const d = Math.floor((uptimeInSeconds % (3600 * 24 * 31)) / (3600 * 24));
const h = Math.floor((uptimeInSeconds % (3600 * 24)) / 3600);
const m = Math.floor((uptimeInSeconds % 3600) / 60);
const s = Math.floor(uptimeInSeconds % 60);
const moDisplay = mo > 0 ? mo + i18next.t("common.months") : "";
const dDisplay = d > 0 ? d + i18next.t("common.days") : "";
const hDisplay = h > 0 && mo === 0 ? h + i18next.t("common.hours") : "";
const mDisplay = m > 0 && mo === 0 && d === 0 ? m + i18next.t("common.minutes") : "";
const sDisplay = s > 0 && mo === 0 && d === 0 && h === 0 ? s + i18next.t("common.seconds") : "";
return (moDisplay + dDisplay + hDisplay + mDisplay + sDisplay).replace(/,\s*$/, "");
}
module.exports = {
i18n: {
defaultLocale: "en",
@@ -126,6 +142,7 @@ module.exports = {
i18next.services.formatter.add("date", (value, lng, options) =>
new Intl.DateTimeFormat(lng, { ...options }).format(new Date(value)),
);
i18next.services.formatter.add("uptime", (value, lng) => uptime(value, i18next));
},
type: "3rdParty",
},

21
package-lock.json generated
View File

@@ -15,7 +15,7 @@
"compare-versions": "^5.0.1",
"dockerode": "^3.3.4",
"follow-redirects": "^1.15.2",
"gamedig": "^4.1.0",
"gamedig": "^4.3.0",
"i18next": "^21.9.2",
"js-yaml": "^4.1.0",
"json-rpc-2.0": "^1.4.1",
@@ -32,6 +32,7 @@
"react-i18next": "^11.18.6",
"react-icons": "^4.4.0",
"recharts": "^2.7.2",
"rrule": "^2.8.1",
"swr": "^1.3.0",
"systeminformation": "^5.17.12",
"tough-cookie": "^4.1.2",
@@ -2957,9 +2958,9 @@
}
},
"node_modules/gamedig": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/gamedig/-/gamedig-4.1.0.tgz",
"integrity": "sha512-jvLUEakihJgpiw9t9yQRsbcemeALeTNlnaWY1gvYdwI63ZlkxznTaLqX5K/eluRTTCtAWNW3YceT6NVjyAZIwA==",
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/gamedig/-/gamedig-4.3.0.tgz",
"integrity": "sha512-73wQM/mYLh0giljtg9OmF7QySxTGUj52+MxGklm2cveakOuB2zk0cvQl7vIFYcv6uI3HwenjOZKZ5507c/ZyzA==",
"dependencies": {
"cheerio": "^1.0.0-rc.10",
"gbxremote": "^0.2.1",
@@ -5208,9 +5209,9 @@
}
},
"node_modules/react-icons": {
"version": "4.8.0",
"resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.8.0.tgz",
"integrity": "sha512-N6+kOLcihDiAnj5Czu637waJqSnwlMNROzVZMhfX68V/9bu9qHaMIJC4UdozWoOk57gahFCNHwVvWzm0MTzRjg==",
"version": "4.12.0",
"resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.12.0.tgz",
"integrity": "sha512-IBaDuHiShdZqmfc/TwHu6+d6k2ltNCf3AszxNmjJc1KUfXdEeRJOKyNvLmAHaarhzGmTSVygNdyu8/opXv2gaw==",
"peerDependencies": {
"react": "*"
}
@@ -5501,9 +5502,9 @@
}
},
"node_modules/rrule": {
"version": "2.7.2",
"resolved": "https://registry.npmjs.org/rrule/-/rrule-2.7.2.tgz",
"integrity": "sha512-NkBsEEB6FIZOZ3T8frvEBOB243dm46SPufpDckY/Ap/YH24V1zLeMmDY8OA10lk452NdrF621+ynDThE7FQU2A==",
"version": "2.8.1",
"resolved": "https://registry.npmjs.org/rrule/-/rrule-2.8.1.tgz",
"integrity": "sha512-hM3dHSBMeaJ0Ktp7W38BJZ7O1zOgaFEsn41PDk+yHoEtfLV+PoJt9E9xAlZiWgf/iqEqionN0ebHFZIDAp+iGw==",
"dependencies": {
"tslib": "^2.4.0"
}

View File

@@ -17,7 +17,7 @@
"compare-versions": "^5.0.1",
"dockerode": "^3.3.4",
"follow-redirects": "^1.15.2",
"gamedig": "^4.1.0",
"gamedig": "^4.3.0",
"i18next": "^21.9.2",
"js-yaml": "^4.1.0",
"json-rpc-2.0": "^1.4.1",
@@ -32,8 +32,9 @@
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-i18next": "^11.18.6",
"react-icons": "^4.4.0",
"react-icons": "^4.12.0",
"recharts": "^2.7.2",
"rrule": "^2.8.1",
"swr": "^1.3.0",
"systeminformation": "^5.17.12",
"tough-cookie": "^4.1.2",

72
pnpm-lock.yaml generated
View File

@@ -27,8 +27,8 @@ dependencies:
specifier: ^1.15.2
version: 1.15.2
gamedig:
specifier: ^4.1.0
version: 4.1.0
specifier: ^4.3.0
version: 4.3.0
i18next:
specifier: ^21.9.2
version: 21.10.0
@@ -72,11 +72,14 @@ dependencies:
specifier: ^11.18.6
version: 11.18.6(i18next@21.10.0)(react-dom@18.2.0)(react@18.2.0)
react-icons:
specifier: ^4.4.0
version: 4.8.0(react@18.2.0)
specifier: ^4.12.0
version: 4.12.0(react@18.2.0)
recharts:
specifier: ^2.7.2
version: 2.7.2(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0)
rrule:
specifier: ^2.8.1
version: 2.8.1
swr:
specifier: ^1.3.0
version: 1.3.0(react@18.2.0)
@@ -263,7 +266,7 @@ packages:
underscore: 1.13.6
ws: 7.5.9
optionalDependencies:
openid-client: 5.4.0
openid-client: 5.6.2
transitivePeerDependencies:
- bufferutil
- utf-8-validate
@@ -832,10 +835,9 @@ packages:
ieee754: 1.2.1
dev: false
/buildcheck@0.0.3:
resolution: {integrity: sha512-pziaA+p/wdVImfcbsZLNF32EiWyujlQLwolMqUQE8xpKNOH7KmZQaY8sXN7DGOEzPAElo9QTaeNRfGnf3iOJbA==}
/buildcheck@0.0.6:
resolution: {integrity: sha512-8f9ZJCUXyT1M35Jx7MkBgmBMo3oHTTBIPLiY9xyL0pl3T5RwcPEY8cUHr5LBNfu/fk6c2T4DJZuVM/8ZZT2D2A==}
engines: {node: '>=10.0.0'}
requiresBuild: true
dev: false
optional: true
@@ -871,7 +873,7 @@ packages:
resolution: {integrity: sha512-wlQwcF0fl4eLclyGdncF9rcNNq0ipRYZGagG6h3LVgRXvCWE1fdMUaCLXwfC9YWoz9jKKbjQAq7TpO2Y3yrvmA==}
dependencies:
ical-date-parser: 4.0.0
rrule: 2.7.2
rrule: 2.8.1
dev: false
/call-bind@1.0.2:
@@ -942,7 +944,7 @@ packages:
normalize-path: 3.0.0
readdirp: 3.6.0
optionalDependencies:
fsevents: 2.3.2
fsevents: 2.3.3
dev: true
/chownr@1.1.4:
@@ -1040,13 +1042,13 @@ packages:
resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==}
dev: false
/cpu-features@0.0.4:
resolution: {integrity: sha512-fKiZ/zp1mUwQbnzb9IghXtHtDoTMtNeb8oYGx6kX2SYfhnG0HNdBEBIzB9b5KlXu5DQPhfy3mInbBxFcgwAr3A==}
/cpu-features@0.0.9:
resolution: {integrity: sha512-AKjgn2rP2yJyfbepsmLfiYcmtNn/2eUvocUyM/09yB0YDiz39HteK/5/T4Onf0pmdYDMgkBoGvRLvEguzyL7wQ==}
engines: {node: '>=10.0.0'}
requiresBuild: true
dependencies:
buildcheck: 0.0.3
nan: 2.17.0
buildcheck: 0.0.6
nan: 2.18.0
dev: false
optional: true
@@ -1945,8 +1947,8 @@ packages:
/fs.realpath@1.0.0:
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
/fsevents@2.3.2:
resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
/fsevents@2.3.3:
resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
os: [darwin]
requiresBuild: true
@@ -1970,8 +1972,8 @@ packages:
resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
dev: true
/gamedig@4.1.0:
resolution: {integrity: sha512-jvLUEakihJgpiw9t9yQRsbcemeALeTNlnaWY1gvYdwI63ZlkxznTaLqX5K/eluRTTCtAWNW3YceT6NVjyAZIwA==}
/gamedig@4.3.0:
resolution: {integrity: sha512-73wQM/mYLh0giljtg9OmF7QySxTGUj52+MxGklm2cveakOuB2zk0cvQl7vIFYcv6uI3HwenjOZKZ5507c/ZyzA==}
engines: {node: '>=14.0.0'}
hasBin: true
dependencies:
@@ -2506,9 +2508,8 @@ packages:
resolution: {integrity: sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==}
dev: true
/jose@4.13.1:
resolution: {integrity: sha512-MSJQC5vXco5Br38mzaQKiq9mwt7lwj2eXpgpRyQYNHYt2lq1PjkWa7DLXX0WVcQLE9HhMh3jPiufS7fhJf+CLQ==}
requiresBuild: true
/jose@4.15.4:
resolution: {integrity: sha512-W+oqK4H+r5sITxfxpSU+MMdr/YSWGvgZMQDIsNoBDGGy4i7GBPTtvFKibQzW06n3U3TqHjhvBJsirShsEJ6eeQ==}
dev: false
optional: true
@@ -2778,8 +2779,8 @@ packages:
thenify-all: 1.6.0
dev: true
/nan@2.17.0:
resolution: {integrity: sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==}
/nan@2.18.0:
resolution: {integrity: sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==}
requiresBuild: true
dev: false
optional: true
@@ -2987,10 +2988,9 @@ packages:
es-abstract: 1.21.2
dev: true
/oidc-token-hash@5.0.1:
resolution: {integrity: sha512-EvoOtz6FIEBzE+9q253HsLCVRiK/0doEJ2HCvvqMQb3dHZrP3WlJKYtJ55CRTw4jmYomzH4wkPuCj/I3ZvpKxQ==}
/oidc-token-hash@5.0.3:
resolution: {integrity: sha512-IF4PcGgzAr6XXSff26Sk/+P4KZFJVuHAJZj3wgO3vX2bMdNVp/QXTP3P7CEm9V1IdG8lDLY3HhiqpsE/nOwpPw==}
engines: {node: ^10.13.0 || >=12.0.0}
requiresBuild: true
dev: false
optional: true
@@ -3012,14 +3012,14 @@ packages:
mimic-fn: 2.1.0
dev: false
/openid-client@5.4.0:
resolution: {integrity: sha512-hgJa2aQKcM2hn3eyVtN12tEA45ECjTJPXCgUh5YzTzy9qwapCvmDTVPWOcWVL0d34zeQoQ/hbG9lJhl3AYxJlQ==}
/openid-client@5.6.2:
resolution: {integrity: sha512-TIVimoK/fAvpiISLcoGZyNJx2TOfd5AE6TXn58FFj6Y8qbU/jqky54Aws7sYKuCph1bLPWSRUa1r/Rd6K21bhg==}
requiresBuild: true
dependencies:
jose: 4.13.1
jose: 4.15.4
lru-cache: 6.0.0
object-hash: 2.2.0
oidc-token-hash: 5.0.1
oidc-token-hash: 5.0.3
dev: false
optional: true
@@ -3319,8 +3319,8 @@ packages:
react-dom: 18.2.0(react@18.2.0)
dev: false
/react-icons@4.8.0(react@18.2.0):
resolution: {integrity: sha512-N6+kOLcihDiAnj5Czu637waJqSnwlMNROzVZMhfX68V/9bu9qHaMIJC4UdozWoOk57gahFCNHwVvWzm0MTzRjg==}
/react-icons@4.12.0(react@18.2.0):
resolution: {integrity: sha512-IBaDuHiShdZqmfc/TwHu6+d6k2ltNCf3AszxNmjJc1KUfXdEeRJOKyNvLmAHaarhzGmTSVygNdyu8/opXv2gaw==}
peerDependencies:
react: '*'
dependencies:
@@ -3552,8 +3552,8 @@ packages:
dependencies:
glob: 7.2.3
/rrule@2.7.2:
resolution: {integrity: sha512-NkBsEEB6FIZOZ3T8frvEBOB243dm46SPufpDckY/Ap/YH24V1zLeMmDY8OA10lk452NdrF621+ynDThE7FQU2A==}
/rrule@2.8.1:
resolution: {integrity: sha512-hM3dHSBMeaJ0Ktp7W38BJZ7O1zOgaFEsn41PDk+yHoEtfLV+PoJt9E9xAlZiWgf/iqEqionN0ebHFZIDAp+iGw==}
dependencies:
tslib: 2.5.0
dev: false
@@ -3679,8 +3679,8 @@ packages:
asn1: 0.2.6
bcrypt-pbkdf: 1.0.2
optionalDependencies:
cpu-features: 0.0.4
nan: 2.17.0
cpu-features: 0.0.9
nan: 2.18.0
dev: false
/sshpk@1.17.0:

View File

@@ -11,7 +11,13 @@
"percent": "{{value, percent}}",
"number": "{{value, number}}",
"ms": "{{value, number}}",
"date": "{{value, date}}"
"date": "{{value, date}}",
"uptime": "{{value, uptime}}",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "m",
"seconds": "s"
},
"widget": {
"missing_type": "Ontbrekende legstuk-tipe: {{type}}",
@@ -40,11 +46,7 @@
"load": "Las",
"temp": "TEMP",
"max": "Mak",
"uptime": "OP",
"months": "ma",
"days": "d",
"hours": "h",
"minutes": "m"
"uptime": "OP"
},
"unifi": {
"users": "Gebruikers",
@@ -127,7 +129,7 @@
"connectionStatusUnconfigured": "Ongekonfigureer",
"connectionStatusConnecting": "Verbind",
"connectionStatusAuthenticating": "Stel geldigheid vas",
"connectionStatusPendingDisconnect": "Pending Disconnect",
"connectionStatusPendingDisconnect": "Hangende Ontkoppel",
"connectionStatusDisconnecting": "Ontkoppel",
"connectionStatusDisconnected": "Ontkoppel",
"connectionStatusConnected": "Gekoppel",
@@ -517,8 +519,7 @@
"truenas": {
"load": "Stelsellading",
"uptime": "Optyd",
"alerts": "Waarskuwings",
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
"alerts": "Waarskuwings"
},
"pyload": {
"speed": "Spoed",
@@ -544,6 +545,14 @@
"inbox": "Inmandjie",
"total": "Totaal"
},
"peanut": {
"battery_charge": "Batterylading",
"ups_load": "SVE-lading",
"ups_status": "SVE Status",
"online": "Aanlyn",
"on_battery": "Op Battery",
"low_battery": "Battery Laag"
},
"nextdns": {
"wait": "Wag Asseblief",
"no_devices": "Geen Toesteldata Ontvang Nie"

View File

@@ -11,7 +11,13 @@
"percent": "{{value, percent}}",
"number": "{{value, number}}",
"ms": "{{value, number}}",
"date": "{{value, date}}"
"date": "{{value, date}}",
"uptime": "{{value, uptime}}",
"months": "ش",
"days": "ي",
"hours": "س",
"minutes": "د",
"seconds": "ث"
},
"widget": {
"missing_type": "نوع القطعة مفقود: {{type}}",
@@ -40,11 +46,7 @@
"load": "الضغط",
"temp": "مؤقت",
"max": "الحد الأقصى",
"uptime": "تعمل",
"months": "ش",
"days": "ي",
"hours": "س",
"minutes": "د"
"uptime": "تعمل"
},
"unifi": {
"users": "المستخدمون",
@@ -517,8 +519,7 @@
"truenas": {
"load": "حمل النظام",
"uptime": "مدة التشغيل",
"alerts": "تنبيهات",
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
"alerts": "تنبيهات"
},
"pyload": {
"speed": "السرعة",
@@ -544,6 +545,14 @@
"inbox": "صندوق الوارد",
"total": "المجموع"
},
"peanut": {
"battery_charge": "شحن البطارية",
"ups_load": "حمل UPS",
"ups_status": "حالة UPS",
"online": "مُتّصل",
"on_battery": "على البطارية",
"low_battery": "البطارية منخفضة"
},
"nextdns": {
"wait": "الرجاء الإنتظار",
"no_devices": "لم يتم استلام بيانات الجهاز"

View File

@@ -11,7 +11,13 @@
"percent": "{{value, percent}}",
"number": "{{value, number}}",
"ms": "{{value, number}}",
"date": "{{value, date}}"
"date": "{{value, date}}",
"uptime": "{{value, uptime}}",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "m",
"seconds": "s"
},
"widget": {
"missing_type": "Липсваща приставка: {{type}}",
@@ -40,11 +46,7 @@
"load": "Натоварване",
"temp": "Температура",
"max": "Макс.",
"uptime": "Онлайн",
"months": "мес",
"days": "д",
"hours": "ч",
"minutes": "мин"
"uptime": "Онлайн"
},
"unifi": {
"users": "Потребители",
@@ -401,8 +403,8 @@
"total": "Общо",
"free": "Свободни",
"used": "Заети",
"days": "д",
"hours": "ч",
"days": "d",
"hours": "h",
"crit": "Crit",
"read": "Read",
"write": "Write",
@@ -517,8 +519,7 @@
"truenas": {
"load": "System Load",
"uptime": "Uptime",
"alerts": "Предупреждения",
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
"alerts": "Предупреждения"
},
"pyload": {
"speed": "Speed",
@@ -544,6 +545,14 @@
"inbox": "Inbox",
"total": "Общо"
},
"peanut": {
"battery_charge": "Battery Charge",
"ups_load": "UPS Load",
"ups_status": "UPS Status",
"online": "Online",
"on_battery": "On Battery",
"low_battery": "Low Battery"
},
"nextdns": {
"wait": "Моля Изчакайте",
"no_devices": "No Device Data Received"
@@ -614,7 +623,7 @@
"down": "Sites Down",
"uptime": "Uptime",
"incident": "Incident",
"m": "мин"
"m": "m"
},
"atsumeru": {
"series": "Series",

View File

@@ -11,7 +11,13 @@
"percent": "{{value, percent}}",
"number": "{{value, number}}",
"ms": "{{value, number}}",
"date": "{{value, date}}"
"date": "{{value, date}}",
"uptime": "{{value, uptime}}",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "m",
"seconds": "s"
},
"widget": {
"missing_type": "Falta el tipus de widget: {{type}}",
@@ -40,11 +46,7 @@
"load": "Càrrega",
"temp": "TEMP",
"max": "Max",
"uptime": "UP",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "m"
"uptime": "UP"
},
"unifi": {
"users": "Usuaris",
@@ -517,8 +519,7 @@
"truenas": {
"load": "Càrrega del sistema",
"uptime": "Temps actiu",
"alerts": "Alerts",
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
"alerts": "Alerts"
},
"pyload": {
"speed": "Velocitat",
@@ -544,6 +545,14 @@
"inbox": "Safata d'entrada",
"total": "Total"
},
"peanut": {
"battery_charge": "Battery Charge",
"ups_load": "UPS Load",
"ups_status": "UPS Status",
"online": "Online",
"on_battery": "On Battery",
"low_battery": "Low Battery"
},
"nextdns": {
"wait": "Espereu si us plau",
"no_devices": "No Device Data Received"

View File

@@ -11,14 +11,20 @@
"percent": "{{value, percent}}",
"number": "{{value, number}}",
"ms": "{{value, number}}",
"date": "{{value, date}}"
"date": "{{value, date}}",
"uptime": "{{value, uptime}}",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "m",
"seconds": "s"
},
"widget": {
"missing_type": "Chybí typ widgetu: {{type}}",
"api_error": "Chyba API",
"information": "Informace",
"status": "Stav",
"url": "URL",
"url": "Odkaz",
"raw_error": "Nevyřešená chyba",
"response_data": "Data odezvy"
},
@@ -32,7 +38,7 @@
"placeholder": "Hledat…"
},
"resources": {
"cpu": "CPU",
"cpu": "Procesor",
"mem": "RAM",
"total": "Celkem",
"free": "Volné",
@@ -40,11 +46,7 @@
"load": "Zatížení",
"temp": "TEPLOTA",
"max": "Max.",
"uptime": "BĚŽÍ",
"months": "měs.",
"days": "d",
"hours": "h",
"minutes": "m"
"uptime": "BĚŽÍ"
},
"unifi": {
"users": "Uživatelé",
@@ -67,7 +69,7 @@
"rx": "RX",
"tx": "TX",
"mem": "RAM",
"cpu": "CPU",
"cpu": "Procesor",
"running": "Běží",
"offline": "Offline",
"error": "Chyba",
@@ -386,12 +388,12 @@
},
"proxmox": {
"mem": "RAM",
"cpu": "CPU",
"cpu": "Procesor",
"lxc": "LXC",
"vms": "Virtuální Stroje"
},
"glances": {
"cpu": "CPU",
"cpu": "Procesor",
"load": "Zatížení",
"wait": "Počkejte prosím",
"temp": "TEPLOTA",
@@ -416,7 +418,7 @@
"search": "Hledat",
"custom": "Vlastní",
"visit": "Navštivte",
"url": "URL"
"url": "Odkaz"
},
"wmo": {
"0-day": "Slunečno",
@@ -517,8 +519,7 @@
"truenas": {
"load": "Zatížení systému",
"uptime": "Doba spuštění",
"alerts": "Upozornění",
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
"alerts": "Upozornění"
},
"pyload": {
"speed": "Rychlost",
@@ -544,6 +545,14 @@
"inbox": "Doručená pošta",
"total": "Celkem"
},
"peanut": {
"battery_charge": "Battery Charge",
"ups_load": "UPS Load",
"ups_status": "UPS Status",
"online": "Online",
"on_battery": "On Battery",
"low_battery": "Low Battery"
},
"nextdns": {
"wait": "Čekejte prosím",
"no_devices": "Žádná přijatá data zařízení"
@@ -600,7 +609,7 @@
"proxmoxbackupserver": {
"datastore_usage": "Datové úložiště",
"failed_tasks_24h": "Neúspěšné úlohy 24h",
"cpu_usage": "CPU",
"cpu_usage": "Procesor",
"memory_usage": "Paměť"
},
"immich": {

View File

@@ -11,7 +11,13 @@
"percent": "{{value, percent}}",
"number": "{{value, number}}",
"ms": "{{value, number}}",
"date": "{{value, date}}"
"date": "{{value, date}}",
"uptime": "{{value, uptime}}",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "m",
"seconds": "s"
},
"widget": {
"missing_type": "Manglende Widget Type: {{type}}",
@@ -40,11 +46,7 @@
"load": "Belastning",
"temp": "TEMP",
"max": "Maks",
"uptime": "OP",
"months": "mdr",
"days": "d",
"hours": "t",
"minutes": "m"
"uptime": "OP"
},
"unifi": {
"users": "Brugere",
@@ -402,7 +404,7 @@
"free": "Fri",
"used": "Brugt",
"days": "d",
"hours": "t",
"hours": "h",
"crit": "Crit",
"read": "Læst",
"write": "Skriv",
@@ -517,8 +519,7 @@
"truenas": {
"load": "Systembelastning",
"uptime": "Oppetid",
"alerts": "Advarsler",
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
"alerts": "Advarsler"
},
"pyload": {
"speed": "Hastighed",
@@ -544,6 +545,14 @@
"inbox": "Indbakke",
"total": "Total"
},
"peanut": {
"battery_charge": "Battery Charge",
"ups_load": "UPS Load",
"ups_status": "UPS Status",
"online": "Online",
"on_battery": "On Battery",
"low_battery": "Low Battery"
},
"nextdns": {
"wait": "Vent venligst",
"no_devices": "Ingen Enhedsdata Modtaget"

View File

@@ -11,7 +11,13 @@
"percent": "{{value, percent}}",
"number": "{{value, number}}",
"ms": "{{value, number}}",
"date": "{{value, date}}"
"date": "{{value, date}}",
"uptime": "{{value, uptime}}",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "min",
"seconds": "s"
},
"widget": {
"missing_type": "Fehlender Widget-Typ: {{type}}",
@@ -40,11 +46,7 @@
"load": "Last",
"temp": "TEMP",
"max": "Max",
"uptime": "UP",
"months": "Mo.",
"days": "d",
"hours": "h",
"minutes": "min"
"uptime": "UP"
},
"unifi": {
"users": "Benutzer",
@@ -517,8 +519,7 @@
"truenas": {
"load": "Systemlast",
"uptime": "Betriebszeit",
"alerts": "Warnungen",
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
"alerts": "Warnungen"
},
"pyload": {
"speed": "Datenrate",
@@ -544,6 +545,14 @@
"inbox": "Posteingang",
"total": "Gesamt"
},
"peanut": {
"battery_charge": "Akkuladung",
"ups_load": "USV-Auslastung",
"ups_status": "USV-Status",
"online": "Online",
"on_battery": "Im Akkubetrieb",
"low_battery": "Akkustand niedrig"
},
"nextdns": {
"wait": "Bitte warten",
"no_devices": "Keine Daten empfangen"

View File

@@ -11,7 +11,13 @@
"percent": "{{value, percent}}",
"number": "{{value, number}}",
"ms": "{{value, number}}",
"date": "{{value, date}}"
"date": "{{value, date}}",
"uptime": "{{value, uptime}}",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "m",
"seconds": "s"
},
"widget": {
"missing_type": "Λείπει ο τύπος widget: {{type}}",
@@ -40,11 +46,7 @@
"load": "Φόρτωση",
"temp": "ΘΕΡΜΟΚΡΑΣΪΑ",
"max": "Μέγιστο",
"uptime": "ΠΑΝΩ",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "m"
"uptime": "ΠΑΝΩ"
},
"unifi": {
"users": "Χρήστες",
@@ -517,8 +519,7 @@
"truenas": {
"load": "System Load",
"uptime": "Uptime",
"alerts": "Ειδοποιήσεις",
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
"alerts": "Ειδοποιήσεις"
},
"pyload": {
"speed": "Speed",
@@ -544,6 +545,14 @@
"inbox": "Inbox",
"total": "Σύνολο"
},
"peanut": {
"battery_charge": "Battery Charge",
"ups_load": "UPS Load",
"ups_status": "UPS Status",
"online": "Online",
"on_battery": "On Battery",
"low_battery": "Low Battery"
},
"nextdns": {
"wait": "Please Wait",
"no_devices": "No Device Data Received"

View File

@@ -11,7 +11,13 @@
"percent": "{{value, percent}}",
"number": "{{value, number}}",
"ms": "{{value, number}}",
"date": "{{value, date}}"
"date": "{{value, date}}",
"uptime": "{{value, uptime}}",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "m",
"seconds": "s"
},
"widget": {
"missing_type": "Missing Widget Type: {{type}}",
@@ -40,11 +46,7 @@
"load": "Load",
"temp": "TEMP",
"max": "Max",
"uptime": "UP",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "m"
"uptime": "UP"
},
"unifi": {
"users": "Users",
@@ -517,8 +519,7 @@
"truenas": {
"load": "System Load",
"uptime": "Uptime",
"alerts": "Alerts",
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
"alerts": "Alerts"
},
"pyload": {
"speed": "Speed",
@@ -544,6 +545,14 @@
"inbox": "Inbox",
"total": "Total"
},
"peanut": {
"battery_charge": "Battery Charge",
"ups_load": "UPS Load",
"ups_status": "UPS Status",
"online": "Online",
"on_battery": "On Battery",
"low_battery": "Low Battery"
},
"nextdns": {
"wait": "Please Wait",
"no_devices": "No Device Data Received"

View File

@@ -11,7 +11,13 @@
"percent": "{{value, percent}}",
"number": "{{value, number}}",
"ms": "{{value, number}}",
"date": "{{value, date}}"
"date": "{{value, date}}",
"uptime": "{{value, uptime}}",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "m",
"seconds": "s"
},
"widget": {
"missing_type": "Manka Tipo de Fenestraĵo: {{type}}",
@@ -40,11 +46,7 @@
"load": "Ŝarĝo",
"temp": "TEMP",
"max": "Maks",
"uptime": "UP",
"months": "mo",
"days": "t",
"hours": "h",
"minutes": "m"
"uptime": "UP"
},
"unifi": {
"users": "Uzantoj",
@@ -401,7 +403,7 @@
"total": "Totalo",
"free": "Libera",
"used": "Uzata",
"days": "t",
"days": "d",
"hours": "h",
"crit": "Crit",
"read": "Read",
@@ -517,8 +519,7 @@
"truenas": {
"load": "System Load",
"uptime": "Uptime",
"alerts": "Alerts",
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
"alerts": "Alerts"
},
"pyload": {
"speed": "Speed",
@@ -544,6 +545,14 @@
"inbox": "Inbox",
"total": "Totalo"
},
"peanut": {
"battery_charge": "Battery Charge",
"ups_load": "UPS Load",
"ups_status": "UPS Status",
"online": "Online",
"on_battery": "On Battery",
"low_battery": "Low Battery"
},
"nextdns": {
"wait": "Please Wait",
"no_devices": "No Device Data Received"

View File

@@ -11,7 +11,13 @@
"percent": "{{value, percent}}",
"number": "{{value, number}}",
"ms": "{{value, number}}",
"date": "{{value, date}}"
"date": "{{value, date}}",
"uptime": "{{value, uptime}}",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "m",
"seconds": "s"
},
"widget": {
"missing_type": "Falta el tipo de widget: {{type}}",
@@ -40,11 +46,7 @@
"load": "Carga",
"temp": "TEMP",
"max": "Máx.",
"uptime": "ARRIBA",
"months": "Meses",
"days": "Días",
"hours": "Horas",
"minutes": "Minutos"
"uptime": "ARRIBA"
},
"unifi": {
"users": "Usuarios",
@@ -401,8 +403,8 @@
"total": "Total",
"free": "Libre",
"used": "Usado",
"days": "Días",
"hours": "Horas",
"days": "d",
"hours": "h",
"crit": "Crít.",
"read": "Leer",
"write": "Escribir",
@@ -517,8 +519,7 @@
"truenas": {
"load": "Carga del sistema",
"uptime": "Tiempo de la actividad",
"alerts": "Alertas",
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
"alerts": "Alertas"
},
"pyload": {
"speed": "Velocidad",
@@ -544,6 +545,14 @@
"inbox": "Bandeja de entrada",
"total": "Total"
},
"peanut": {
"battery_charge": "Battery Charge",
"ups_load": "UPS Load",
"ups_status": "UPS Status",
"online": "En línea",
"on_battery": "On Battery",
"low_battery": "Low Battery"
},
"nextdns": {
"wait": "Espere por favor",
"no_devices": "No se reciben datos del dispositivo"
@@ -614,7 +623,7 @@
"down": "Páginas web inactivas",
"uptime": "Tiempo de la actividad",
"incident": "Incidencia",
"m": "Minutos"
"m": "m"
},
"atsumeru": {
"series": "Serie",

View File

@@ -11,7 +11,13 @@
"percent": "{{value, percent}}",
"number": "{{value, number}}",
"ms": "{{value, number}}",
"date": "{{value, date}}"
"date": "{{value, date}}",
"uptime": "{{value, uptime}}",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "m",
"seconds": "s"
},
"widget": {
"missing_type": "Missing Widget Type: {{type}}",
@@ -40,11 +46,7 @@
"load": "Load",
"temp": "TEMP",
"max": "Max",
"uptime": "UP",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "m"
"uptime": "UP"
},
"unifi": {
"users": "Users",
@@ -517,8 +519,7 @@
"truenas": {
"load": "System Load",
"uptime": "Uptime",
"alerts": "Alerts",
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
"alerts": "Alerts"
},
"pyload": {
"speed": "Speed",
@@ -544,6 +545,14 @@
"inbox": "Inbox",
"total": "Guztira"
},
"peanut": {
"battery_charge": "Battery Charge",
"ups_load": "UPS Load",
"ups_status": "UPS Status",
"online": "Online",
"on_battery": "On Battery",
"low_battery": "Low Battery"
},
"nextdns": {
"wait": "Please Wait",
"no_devices": "No Device Data Received"

View File

@@ -11,7 +11,13 @@
"percent": "{{value, percent}}",
"number": "{{value, number}}",
"ms": "{{value, number}}",
"date": "{{value, date}}"
"date": "{{value, date}}",
"uptime": "{{value, uptime}}",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "m",
"seconds": "s"
},
"widget": {
"missing_type": "Puuttuva härpäkkeen tyyppi: {{type}}",
@@ -40,11 +46,7 @@
"load": "Kuorma",
"temp": "TEMP",
"max": "Max",
"uptime": "UP",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "m"
"uptime": "UP"
},
"unifi": {
"users": "Users",
@@ -517,8 +519,7 @@
"truenas": {
"load": "System Load",
"uptime": "Uptime",
"alerts": "Alerts",
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
"alerts": "Alerts"
},
"pyload": {
"speed": "Speed",
@@ -544,6 +545,14 @@
"inbox": "Inbox",
"total": "Yhteensä"
},
"peanut": {
"battery_charge": "Battery Charge",
"ups_load": "UPS Load",
"ups_status": "UPS Status",
"online": "Online",
"on_battery": "On Battery",
"low_battery": "Low Battery"
},
"nextdns": {
"wait": "Odota, ole hyvä",
"no_devices": "No Device Data Received"

View File

@@ -11,7 +11,13 @@
"percent": "{{value, percent}}",
"number": "{{value, number}}",
"ms": "{{value, number}}",
"date": "{{value, date}}"
"date": "{{value, date}}",
"uptime": "{{value, uptime}}",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "m",
"seconds": "s"
},
"widget": {
"missing_type": "Widget manquant: {{type}}",
@@ -40,11 +46,7 @@
"load": "Charge",
"temp": "Temp",
"max": "Max",
"uptime": "Up",
"months": "m",
"days": "j",
"hours": "h",
"minutes": "mn"
"uptime": "Up"
},
"unifi": {
"users": "Utilisateurs",
@@ -401,14 +403,14 @@
"total": "Total",
"free": "Libre",
"used": "Utilisé",
"days": "j",
"days": "d",
"hours": "h",
"crit": "Crit.",
"read": "Lu",
"write": "Écrit.",
"gpu": "gpu",
"gpu": "GPU",
"mem": "Mém.",
"swap": "swap"
"swap": "Swap"
},
"quicklaunch": {
"bookmark": "Signet",
@@ -517,8 +519,7 @@
"truenas": {
"load": "Charge Système",
"uptime": "Démarré depuis",
"alerts": "Alertes",
"time": "{{value, number(style: unitDisplay: long;)}}"
"alerts": "Alertes"
},
"pyload": {
"speed": "Débit",
@@ -544,6 +545,14 @@
"inbox": "Boîte de réception",
"total": "Total"
},
"peanut": {
"battery_charge": "Battery Charge",
"ups_load": "UPS Load",
"ups_status": "UPS Status",
"online": "En ligne",
"on_battery": "On Battery",
"low_battery": "Low Battery"
},
"nextdns": {
"wait": "Merci de patienter",
"no_devices": "Aucune donnée d'appareil reçue"
@@ -614,7 +623,7 @@
"down": "Hors ligne",
"uptime": "Démarré depuis",
"incident": "Incident",
"m": "mn"
"m": "m"
},
"atsumeru": {
"series": "Séries TV",

View File

@@ -11,7 +11,13 @@
"percent": "{{value, percent}}",
"number": "{{value, number}}",
"ms": "{{value, number}}",
"date": "{{value, date}}"
"date": "{{value, date}}",
"uptime": "{{value, uptime}}",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "m",
"seconds": "s"
},
"widget": {
"missing_type": "סוג ווידג'ט חסר: {{type}}",
@@ -40,11 +46,7 @@
"load": "עומס",
"temp": "TEMP",
"max": "Max",
"uptime": "UP",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "m"
"uptime": "UP"
},
"unifi": {
"users": "Users",
@@ -517,8 +519,7 @@
"truenas": {
"load": "System Load",
"uptime": "Uptime",
"alerts": "Alerts",
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
"alerts": "Alerts"
},
"pyload": {
"speed": "Speed",
@@ -544,6 +545,14 @@
"inbox": "Inbox",
"total": "סה\"כ"
},
"peanut": {
"battery_charge": "Battery Charge",
"ups_load": "UPS Load",
"ups_status": "UPS Status",
"online": "Online",
"on_battery": "On Battery",
"low_battery": "Low Battery"
},
"nextdns": {
"wait": "Please Wait",
"no_devices": "No Device Data Received"

View File

@@ -11,7 +11,13 @@
"percent": "{{value, percent}}",
"number": "{{value, number}}",
"ms": "{{value, number}}",
"date": "{{value, date}}"
"date": "{{value, date}}",
"uptime": "{{value, uptime}}",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "m",
"seconds": "s"
},
"widget": {
"missing_type": "Missing Widget Type: {{type}}",
@@ -40,11 +46,7 @@
"load": "Load",
"temp": "TEMP",
"max": "Max",
"uptime": "UP",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "m"
"uptime": "UP"
},
"unifi": {
"users": "Users",
@@ -517,8 +519,7 @@
"truenas": {
"load": "System Load",
"uptime": "Uptime",
"alerts": "Alerts",
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
"alerts": "Alerts"
},
"pyload": {
"speed": "Speed",
@@ -544,6 +545,14 @@
"inbox": "Inbox",
"total": "Total"
},
"peanut": {
"battery_charge": "Battery Charge",
"ups_load": "UPS Load",
"ups_status": "UPS Status",
"online": "Online",
"on_battery": "On Battery",
"low_battery": "Low Battery"
},
"nextdns": {
"wait": "Please Wait",
"no_devices": "No Device Data Received"

View File

@@ -11,7 +11,13 @@
"percent": "{{value, percent}}",
"number": "{{value, number}}",
"ms": "{{value, number}}",
"date": "{{value, date}}"
"date": "{{value, date}}",
"uptime": "{{value, uptime}}",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "m",
"seconds": "s"
},
"widget": {
"missing_type": "Nedostajuća vrsta widgeta: {{type}}",
@@ -40,11 +46,7 @@
"load": "Opterećenje",
"temp": "TEMP",
"max": "Maks",
"uptime": "UP",
"months": "mj",
"days": "d",
"hours": "h",
"minutes": "min"
"uptime": "UP"
},
"unifi": {
"users": "Korisnici",
@@ -517,8 +519,7 @@
"truenas": {
"load": "Opterećenje sustava",
"uptime": "Radno vrijeme",
"alerts": "Upozorenja",
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
"alerts": "Upozorenja"
},
"pyload": {
"speed": "Brzina",
@@ -544,6 +545,14 @@
"inbox": "Ulazni sandučić",
"total": "Ukupno"
},
"peanut": {
"battery_charge": "Battery Charge",
"ups_load": "UPS Load",
"ups_status": "UPS Status",
"online": "Online",
"on_battery": "On Battery",
"low_battery": "Low Battery"
},
"nextdns": {
"wait": "Pričekaj",
"no_devices": "Podaci uređaja nisu primljeni"
@@ -614,7 +623,7 @@
"down": "Neaktivne stranice",
"uptime": "Radno vrijeme",
"incident": "Slučaj",
"m": "min"
"m": "m"
},
"atsumeru": {
"series": "Serije",

View File

@@ -11,7 +11,13 @@
"percent": "{{value, percent}}",
"number": "{{value, number}}",
"ms": "{{value, number}}",
"date": "{{value, date}}"
"date": "{{value, date}}",
"uptime": "{{value, uptime}}",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "m",
"seconds": "s"
},
"widget": {
"missing_type": "Hiányzó Widget Típus: {{type}}",
@@ -40,11 +46,7 @@
"load": "Terhelés",
"temp": "TEMP",
"max": "Max",
"uptime": "FUT",
"months": "hó",
"days": "n",
"hours": "ó",
"minutes": "p"
"uptime": "FUT"
},
"unifi": {
"users": "Felhasználók",
@@ -82,17 +84,17 @@
"ping": {
"error": "Hiba",
"ping": "Ping",
"down": "Down",
"up": "Up",
"not_available": "Not Available"
"down": "Le",
"up": "Fel",
"not_available": "Nem elérhető"
},
"siteMonitor": {
"http_status": "HTTP status",
"http_status": "HTTP állapot",
"error": "Hiba",
"response": "Response",
"down": "Down",
"up": "Up",
"not_available": "Not Available"
"response": "Válasz",
"down": "Le",
"up": "Fel",
"not_available": "Nem elérhető"
},
"emby": {
"playing": "Lejátszás",
@@ -124,21 +126,21 @@
},
"fritzbox": {
"connectionStatus": "Státusz",
"connectionStatusUnconfigured": "Unconfigured",
"connectionStatusConnecting": "Connecting",
"connectionStatusAuthenticating": "Authenticating",
"connectionStatusPendingDisconnect": "Pending Disconnect",
"connectionStatusDisconnecting": "Disconnecting",
"connectionStatusDisconnected": "Disconnected",
"connectionStatusUnconfigured": "Nem beállított",
"connectionStatusConnecting": "Kapcsolódás",
"connectionStatusAuthenticating": "Hitelesítés",
"connectionStatusPendingDisconnect": "Szétkapcsolás függőben",
"connectionStatusDisconnecting": "Kapcsolat bontása",
"connectionStatusDisconnected": "Kapcsolat bontva",
"connectionStatusConnected": "Csatlakoztatott",
"uptime": "Üzemidő",
"maxDown": "Max. Down",
"maxUp": "Max. Up",
"down": "Down",
"up": "Up",
"received": "Received",
"sent": "Sent",
"externalIPAddress": "Ext. IP"
"down": "Le",
"up": "Fel",
"received": "Fogadott",
"sent": "Küldött",
"externalIPAddress": "Külső IP cím"
},
"caddy": {
"upstreams": "Upstreamek",
@@ -372,7 +374,7 @@
"players": "Lejátszók",
"version": "Verzió",
"status": "Státusz",
"up": "Online",
"up": "Csatlakozva",
"down": "Offline"
},
"miniflux": {
@@ -395,19 +397,19 @@
"load": "Terhelés",
"wait": "Kérjük várjon",
"temp": "TEMP",
"_temp": "Temp",
"_temp": "Hőmérséklet",
"warn": "Figyelmeztet",
"uptime": "FUT",
"total": "Összes",
"free": "Szabad",
"used": "Használt",
"days": "n",
"hours": "ó",
"days": "d",
"hours": "h",
"crit": "Crit",
"read": "Olvasott",
"write": "Write",
"write": "Írás",
"gpu": "GPU",
"mem": "Mem",
"mem": "Memória",
"swap": "Swap"
},
"quicklaunch": {
@@ -483,13 +485,13 @@
"up_to_date": "Naprakész",
"child_bridges": "Gyerek Hidak",
"child_bridges_status": "{{ok}}/{{total}}",
"up": "Up",
"up": "Fel",
"pending": "Függőben",
"down": "Down"
"down": "Le"
},
"healthchecks": {
"new": "Új",
"up": "Online",
"up": "Csatlakozva",
"grace": "Türelmi idő alatt",
"down": "Offline",
"paused": "Szünetel",
@@ -517,8 +519,7 @@
"truenas": {
"load": "Rendszerterheltség",
"uptime": "Üzemidő",
"alerts": "Riasztások",
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
"alerts": "Riasztások"
},
"pyload": {
"speed": "Sebesség",
@@ -544,6 +545,14 @@
"inbox": "Beérkezett",
"total": "Összes"
},
"peanut": {
"battery_charge": "Battery Charge",
"ups_load": "UPS Load",
"ups_status": "UPS Status",
"online": "Csatlakozva",
"on_battery": "On Battery",
"low_battery": "Low Battery"
},
"nextdns": {
"wait": "Kérjük Várjon",
"no_devices": "Nincs fogadott eszközadat"
@@ -591,9 +600,9 @@
"load": "Átlagos terhelés",
"memory": "RAM Használat",
"wanStatus": "WAN Állapot",
"up": "Up",
"down": "Down",
"temp": "Temp",
"up": "Fel",
"down": "Le",
"temp": "Hőmérséklet",
"disk": "Lemezhasználat",
"wanIP": "WAN IP"
},
@@ -614,7 +623,7 @@
"down": "Nem Elérhető Webhelyek",
"uptime": "Üzemidő",
"incident": "Incidens",
"m": "p"
"m": "m"
},
"atsumeru": {
"series": "Sorozat",
@@ -725,40 +734,40 @@
"status": "Státusz",
"buildId": "Build ID",
"succeeded": "Succeeded",
"notStarted": "Not Started",
"notStarted": "Nem indult",
"failed": "Sikertelen",
"canceled": "Canceled",
"inProgress": "In Progress",
"canceled": "Megszakítva",
"inProgress": "Folyamatban",
"totalPrs": "Total PRs",
"myPrs": "My PRs",
"approved": "Engedélyezett"
},
"gamedig": {
"status": "Státusz",
"online": "Online",
"online": "Csatlakozva",
"offline": "Offline",
"name": "Name",
"map": "Map",
"currentPlayers": "Current players",
"name": "Név",
"map": "Térkép",
"currentPlayers": "Jelenlegi játékosok",
"players": "Lejátszók",
"maxPlayers": "Max players",
"bots": "Bots",
"maxPlayers": "Max. játékosok",
"bots": "Botok",
"ping": "Ping"
},
"urbackup": {
"ok": "Ok",
"errored": "Errors",
"noRecent": "Out of Date",
"totalUsed": "Used Storage"
"ok": "OK",
"errored": "Hibák",
"noRecent": "Elavult",
"totalUsed": "Felhasznált tárhely"
},
"mealie": {
"recipes": "Recipes",
"recipes": "Receptek",
"users": "Felhasználók",
"categories": "Categories",
"tags": "Tags"
"tags": "Címkék"
},
"openmediavault": {
"downloading": "Downloading",
"downloading": "Letöltés folyamatban",
"total": "Összes",
"running": "Futó",
"stopped": "Megállított",
@@ -774,16 +783,16 @@
"sitesDown": "Nem Elérhető Webhelyek",
"paused": "Szünetel",
"notyetchecked": "Not Yet Checked",
"up": "Up",
"up": "Fel",
"seemsdown": "Seems Down",
"down": "Down",
"down": "Le",
"unknown": "Ismeretlen"
},
"calendar": {
"inCinemas": "In cinemas",
"physicalRelease": "Physical release",
"digitalRelease": "Digital release",
"noEventsToday": "No events for today!",
"noEventsFound": "No events found"
"digitalRelease": "Digitális kiadás",
"noEventsToday": "Ezen a napon nincsenek események!",
"noEventsFound": "Nem található esemény"
}
}

View File

@@ -11,7 +11,13 @@
"percent": "{{value, percent}}",
"number": "{{value, number}}",
"ms": "{{value, number}}",
"date": "{{value, date}}"
"date": "{{value, date}}",
"uptime": "{{value, uptime}}",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "m",
"seconds": "s"
},
"widget": {
"missing_type": "Missing Widget Type: {{type}}",
@@ -40,11 +46,7 @@
"load": "Load",
"temp": "TEMP",
"max": "Maks",
"uptime": "UP",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "m"
"uptime": "UP"
},
"unifi": {
"users": "Users",
@@ -517,8 +519,7 @@
"truenas": {
"load": "System Load",
"uptime": "Uptime",
"alerts": "Alerts",
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
"alerts": "Alerts"
},
"pyload": {
"speed": "Speed",
@@ -544,6 +545,14 @@
"inbox": "Inbox",
"total": "Total"
},
"peanut": {
"battery_charge": "Battery Charge",
"ups_load": "UPS Load",
"ups_status": "UPS Status",
"online": "Online",
"on_battery": "On Battery",
"low_battery": "Low Battery"
},
"nextdns": {
"wait": "Please Wait",
"no_devices": "No Device Data Received"

View File

@@ -11,7 +11,13 @@
"percent": "{{value, percent}}",
"number": "{{value, number}}",
"ms": "{{value, number}}",
"date": "{{value, date}}"
"date": "{{value, date}}",
"uptime": "{{value, uptime}}",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "m",
"seconds": "s"
},
"widget": {
"missing_type": "Tipo del Widget Mancante: {{type}}",
@@ -40,11 +46,7 @@
"load": "Carico",
"temp": "TEMP",
"max": "Max",
"uptime": "UP",
"months": "me",
"days": "g",
"hours": "o",
"minutes": "m"
"uptime": "UP"
},
"unifi": {
"users": "Utenti",
@@ -401,8 +403,8 @@
"total": "Totale",
"free": "Libero",
"used": "In utilizzo",
"days": "g",
"hours": "o",
"days": "d",
"hours": "h",
"crit": "Critico",
"read": "Letti",
"write": "Scrittura",
@@ -517,8 +519,7 @@
"truenas": {
"load": "Carico di Sistema",
"uptime": "Tempo di attività",
"alerts": "Allarmi",
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
"alerts": "Allarmi"
},
"pyload": {
"speed": "Velocità",
@@ -544,6 +545,14 @@
"inbox": "In arrivo",
"total": "Totale"
},
"peanut": {
"battery_charge": "Battery Charge",
"ups_load": "UPS Load",
"ups_status": "UPS Status",
"online": "Online",
"on_battery": "On Battery",
"low_battery": "Low Battery"
},
"nextdns": {
"wait": "Attendere prego",
"no_devices": "Nessun dato del dispositivo ricevuto"

View File

@@ -11,7 +11,13 @@
"percent": "{{value, percent}}",
"number": "{{value, number}}",
"ms": "{{value, number}}",
"date": "{{value, date}}"
"date": "{{value, date}}",
"uptime": "{{value, uptime}}",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "m",
"seconds": "s"
},
"widget": {
"missing_type": "見つからないウィジェットタイプ: {{type}}",
@@ -40,11 +46,7 @@
"load": "ロード",
"temp": "温度",
"max": "最大",
"uptime": "上へ",
"months": "月",
"days": "日",
"hours": "時間",
"minutes": "分"
"uptime": "上へ"
},
"unifi": {
"users": "ユーザ",
@@ -401,8 +403,8 @@
"total": "合計",
"free": "空き",
"used": "使用",
"days": "",
"hours": "時間",
"days": "d",
"hours": "h",
"crit": "クリティカル",
"read": "既読",
"write": "書き込み",
@@ -517,8 +519,7 @@
"truenas": {
"load": "システム負荷",
"uptime": "稼働時間",
"alerts": "アラート",
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
"alerts": "アラート"
},
"pyload": {
"speed": "スピード",
@@ -544,6 +545,14 @@
"inbox": "受信トレイ",
"total": "合計"
},
"peanut": {
"battery_charge": "Battery Charge",
"ups_load": "UPS Load",
"ups_status": "UPS Status",
"online": "オンライン",
"on_battery": "On Battery",
"low_battery": "Low Battery"
},
"nextdns": {
"wait": "お待ちください",
"no_devices": "デバイス データを受信していません"
@@ -614,7 +623,7 @@
"down": "サイトDown",
"uptime": "稼働時間",
"incident": "インシデント",
"m": ""
"m": "m"
},
"atsumeru": {
"series": "シリーズ",

View File

@@ -11,7 +11,13 @@
"percent": "{{value, percent}}",
"number": "{{value, number}}",
"ms": "{{value, number}}",
"date": "{{value, date}}"
"date": "{{value, date}}",
"uptime": "{{value, uptime}}",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "m",
"seconds": "s"
},
"widget": {
"missing_type": "Missing Widget Type: {{type}}",
@@ -40,11 +46,7 @@
"load": "부하",
"temp": "온도",
"max": "최대",
"uptime": "가동",
"months": "달",
"days": "일",
"hours": "시간",
"minutes": "분"
"uptime": "가동"
},
"unifi": {
"users": "사용자",
@@ -401,8 +403,8 @@
"total": "총합",
"free": "남음",
"used": "사용",
"days": "",
"hours": "시간",
"days": "d",
"hours": "h",
"crit": "Crit",
"read": "Read",
"write": "Write",
@@ -517,8 +519,7 @@
"truenas": {
"load": "System Load",
"uptime": "Uptime",
"alerts": "경고",
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
"alerts": "경고"
},
"pyload": {
"speed": "Speed",
@@ -544,6 +545,14 @@
"inbox": "Inbox",
"total": "총합"
},
"peanut": {
"battery_charge": "Battery Charge",
"ups_load": "UPS Load",
"ups_status": "UPS Status",
"online": "Online",
"on_battery": "On Battery",
"low_battery": "Low Battery"
},
"nextdns": {
"wait": "잠시만 기다리세요",
"no_devices": "No Device Data Received"
@@ -614,7 +623,7 @@
"down": "Sites Down",
"uptime": "Uptime",
"incident": "Incident",
"m": ""
"m": "m"
},
"atsumeru": {
"series": "시리즈",

View File

@@ -11,7 +11,13 @@
"percent": "{{value, percent}}",
"number": "{{value, number}}",
"ms": "{{value, number}}",
"date": "{{value, date}}"
"date": "{{value, date}}",
"uptime": "{{value, uptime}}",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "m",
"seconds": "s"
},
"widget": {
"missing_type": "Iztrūkst logrīka tips: {{type}}",
@@ -40,11 +46,7 @@
"load": "Ielādē",
"temp": "TEMP",
"max": "Max",
"uptime": "UP",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "m"
"uptime": "UP"
},
"unifi": {
"users": "Lietotāji",
@@ -517,8 +519,7 @@
"truenas": {
"load": "System Load",
"uptime": "Uptime",
"alerts": "Paziņojumi",
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
"alerts": "Paziņojumi"
},
"pyload": {
"speed": "Speed",
@@ -544,6 +545,14 @@
"inbox": "Inbox",
"total": "Kopā"
},
"peanut": {
"battery_charge": "Battery Charge",
"ups_load": "UPS Load",
"ups_status": "UPS Status",
"online": "Online",
"on_battery": "On Battery",
"low_battery": "Low Battery"
},
"nextdns": {
"wait": "Please Wait",
"no_devices": "No Device Data Received"

View File

@@ -11,7 +11,13 @@
"percent": "{{value, percent}}",
"number": "{{value, number}}",
"ms": "{{value, number}}",
"date": "{{value, date}}"
"date": "{{value, date}}",
"uptime": "{{value, uptime}}",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "m",
"seconds": "s"
},
"widget": {
"missing_type": "Jenis Widget Hilang: {{type}}",
@@ -40,11 +46,7 @@
"load": "Beban",
"temp": "TEMP",
"max": "Max",
"uptime": "UP",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "m"
"uptime": "UP"
},
"unifi": {
"users": "Pengguna",
@@ -517,8 +519,7 @@
"truenas": {
"load": "Beban Sistem",
"uptime": "Masa Hidup",
"alerts": "Alerts",
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
"alerts": "Alerts"
},
"pyload": {
"speed": "Kelajuan",
@@ -544,6 +545,14 @@
"inbox": "Peti Masuk",
"total": "Jumlah"
},
"peanut": {
"battery_charge": "Battery Charge",
"ups_load": "UPS Load",
"ups_status": "UPS Status",
"online": "Online",
"on_battery": "On Battery",
"low_battery": "Low Battery"
},
"nextdns": {
"wait": "Sila tunggu",
"no_devices": "No Device Data Received"

View File

@@ -11,7 +11,13 @@
"percent": "{{value, percent}}",
"number": "{{value, number}}",
"ms": "{{value, number}}",
"date": "{{value, date}}"
"date": "{{value, date}}",
"uptime": "{{value, uptime}}",
"months": "mnd",
"days": "d",
"hours": "u",
"minutes": "m",
"seconds": "s"
},
"widget": {
"missing_type": "Ontbrekende Widget Type: {{type}}",
@@ -40,11 +46,7 @@
"load": "Belasting",
"temp": "TEMP",
"max": "Max",
"uptime": "UP",
"months": "ma",
"days": "d",
"hours": "u",
"minutes": "m"
"uptime": "UP"
},
"unifi": {
"users": "Gebruikers",
@@ -68,7 +70,7 @@
"tx": "TX",
"mem": "GEH",
"cpu": "CPU",
"running": "Lopend",
"running": "Wordt uitgevoerd",
"offline": "Onbereikbaar",
"error": "Fout",
"unknown": "Onbekend",
@@ -76,7 +78,7 @@
"starting": "Starten",
"unhealthy": "Ongezond",
"not_found": "Niet Gevonden",
"exited": "Verlaten",
"exited": "Gestopt",
"partial": "Gedeeltelijk"
},
"ping": {
@@ -97,20 +99,20 @@
"emby": {
"playing": "Afspelen",
"transcoding": "Transcodering",
"bitrate": "Bitsnelheid",
"bitrate": "Bitrate",
"no_active": "Geen Actieve Streams",
"movies": "Films",
"series": "Series",
"episodes": "Afleveringen",
"songs": "Liedjes"
"songs": "Nummers"
},
"evcc": {
"pv_power": "Productie",
"battery_soc": "Batterij",
"grid_power": "Rooster",
"grid_power": "Netstroom",
"home_power": "Consumptie",
"charge_power": "Oplader",
"watt_hour": "Wu"
"watt_hour": "Wh"
},
"flood": {
"download": "Download",
@@ -127,13 +129,13 @@
"connectionStatusUnconfigured": "Niet-geconfigureerd",
"connectionStatusConnecting": "Bezig met verbinden",
"connectionStatusAuthenticating": "Verificatie",
"connectionStatusPendingDisconnect": "Pending Disconnect",
"connectionStatusDisconnecting": "Verbinding verbreken...",
"connectionStatusPendingDisconnect": "In afwachting van loskoppelen",
"connectionStatusDisconnecting": "Verbinding verbreken",
"connectionStatusDisconnected": "Verbinding verbroken",
"connectionStatusConnected": "Verbonden",
"uptime": "Online",
"maxDown": "Max. Omlaag",
"maxUp": "Max. omhoog",
"maxDown": "Max. Download",
"maxUp": "Max. Upload",
"down": "Offline",
"up": "Online",
"received": "Ontvangen",
@@ -150,7 +152,7 @@
"diffsDetected": "Verschillen Gedetecteerd"
},
"channelsdvrserver": {
"shows": "Voorstellingen",
"shows": "Shows",
"recordings": "Opnames",
"scheduled": "Gepland",
"passes": "Gepasseerd"
@@ -158,7 +160,7 @@
"tautulli": {
"playing": "Afspelen",
"transcoding": "Transcodering",
"bitrate": "Bitsnelheid",
"bitrate": "Bitrate",
"no_active": "Geen Actieve Streams",
"plex_connection_error": "Controleer Plex Connectie"
},
@@ -170,7 +172,7 @@
"connectedSwitches": "Verbonden switches"
},
"nzbget": {
"rate": "Beoordeling",
"rate": "Rate",
"remaining": "Resterend",
"downloaded": "Gedownload"
},
@@ -181,9 +183,9 @@
"tv": "TV Series"
},
"sabnzbd": {
"rate": "Beoordeling",
"rate": "Rate",
"queue": "Wachtrij",
"timeleft": "Tijd Over"
"timeleft": "Resterende Tijd"
},
"rutorrent": {
"active": "Actief",
@@ -274,16 +276,16 @@
"down_alerts": "Geen verbinding"
},
"pihole": {
"queries": "Query 's",
"queries": "Verzoeken",
"blocked": "Geblokkeerd",
"blocked_percent": "Geblokkerde %",
"gravity": "Gewicht"
"blocked_percent": "Geblokkeerde %",
"gravity": "Gravity"
},
"adguard": {
"queries": "Query 's",
"queries": "Verzoeken",
"blocked": "Geblokkeerd",
"filtered": "Gefilterde",
"latency": "Vertraging"
"filtered": "Gefilterd",
"latency": "Latentie"
},
"speedtest": {
"upload": "Upload",
@@ -291,7 +293,7 @@
"ping": "Ping"
},
"portainer": {
"running": "Lopend",
"running": "Wordt uitgevoerd",
"stopped": "Gestopt",
"total": "Totaal"
},
@@ -330,7 +332,7 @@
"total": "Totaal"
},
"coinmarketcap": {
"configure": "Configureer een of meer crypto eenheiden om bij te houden",
"configure": "Configureer een of meer crypto eenheden om bij te houden",
"1hour": "1 Uur",
"1day": "1 Dag",
"7days": "7 Dagen",
@@ -343,10 +345,10 @@
},
"prowlarr": {
"enableIndexers": "Indexeerders",
"numberOfGrabs": "Resultaten",
"numberOfQueries": "Query 's",
"numberOfGrabs": "Grabs",
"numberOfQueries": "Verzoeken",
"numberOfFailGrabs": "Ophalen mislukt",
"numberOfFailQueries": "Mislukte query's"
"numberOfFailQueries": "Mislukte verzoeken"
},
"jackett": {
"configured": "Geconfigureerd",
@@ -354,9 +356,9 @@
},
"strelaysrv": {
"numActiveSessions": "Sessies",
"numConnections": "Connecties",
"numConnections": "Verbindingen",
"dataRelayed": "Omgeleid",
"transferRate": "Beoordeling"
"transferRate": "Rate"
},
"mastodon": {
"user_count": "Gebruikers",
@@ -382,7 +384,7 @@
"authentik": {
"users": "Gebruikers",
"loginsLast24H": "Logins (24u)",
"failedLoginsLast24H": "Gefaalde Logins (24u)"
"failedLoginsLast24H": "Mislukte Logins (24u)"
},
"proxmox": {
"mem": "GEH",
@@ -396,19 +398,19 @@
"wait": "Even geduld",
"temp": "TEMP",
"_temp": "Temp",
"warn": "Alert",
"warn": "Waarschuwing",
"uptime": "UP",
"total": "Totaal",
"free": "Vrij",
"used": "Gebruikt",
"days": "d",
"hours": "u",
"crit": "Crit",
"crit": "Kritiek",
"read": "Gelezen",
"write": "Schrijven",
"gpu": "GPU",
"mem": "Geh",
"swap": "Wissel"
"mem": "Mem",
"swap": "Swap"
},
"quicklaunch": {
"bookmark": "Bladwijzer",
@@ -517,8 +519,7 @@
"truenas": {
"load": "Belasting",
"uptime": "Online",
"alerts": "Meldingen",
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
"alerts": "Meldingen"
},
"pyload": {
"speed": "Snelheid",
@@ -536,7 +537,7 @@
"hd": "HD"
},
"scrutiny": {
"passed": "Gepasseerd",
"passed": "Geslaagd",
"failed": "Gefaald",
"unknown": "Onbekend"
},
@@ -544,6 +545,14 @@
"inbox": "Postvak In",
"total": "Totaal"
},
"peanut": {
"battery_charge": "Batterij opladen",
"ups_load": "UPS-belasting",
"ups_status": "UPS status",
"online": "Bereikbaar",
"on_battery": "Op batterij",
"low_battery": "Batterij bijna leeg"
},
"nextdns": {
"wait": "Even geduld aub",
"no_devices": "Geen Apparaat Data Ontvangen"
@@ -569,7 +578,7 @@
"cpu": "CPU Belasting",
"memory": "Actief Geheugen",
"wanUpload": "WAN Upload",
"wanDownload": "WAN download"
"wanDownload": "WAN Download"
},
"moonraker": {
"printer_state": "Printer Status",
@@ -584,12 +593,12 @@
"job_completion": "Voltooiing"
},
"cloudflared": {
"origin_ip": "Oorspronkelijk IP",
"origin_ip": "Bron IP",
"status": "Status"
},
"pfsense": {
"load": "Load Gem",
"memory": "Geh Gebruik",
"load": "Gem. Load",
"memory": "Mem Gebruik",
"wanStatus": "WAN Status",
"up": "Online",
"down": "Offline",
@@ -650,10 +659,10 @@
"time": "Tijd"
},
"grafana": {
"dashboards": "Overzichten",
"dashboards": "Dashboards",
"datasources": "Data Bronnen",
"totalalerts": "Totaal Alerts",
"alertstriggered": "Getriggerde meldingen"
"alertstriggered": "Getriggerde Alerts"
},
"nextcloud": {
"cpuload": "Cpu Belasting",
@@ -698,10 +707,10 @@
"homeassistant": {
"people_home": "Mensen thuis",
"lights_on": "Lichten aan",
"switches_on": "Switches aan"
"switches_on": "Schakelaars aan"
},
"whatsupdocker": {
"monitoring": "Observeren",
"monitoring": "Monitoren",
"updates": "Updates"
},
"calibreweb": {
@@ -760,9 +769,9 @@
"openmediavault": {
"downloading": "Downloaden",
"total": "Totaal",
"running": "Lopend",
"running": "Wordt uitgevoerd",
"stopped": "Gestopt",
"passed": "Gepasseerd",
"passed": "Geslaagd",
"failed": "Gefaald"
},
"uptimerobot": {
@@ -780,7 +789,7 @@
"unknown": "Onbekend"
},
"calendar": {
"inCinemas": "In bioscopen",
"inCinemas": "In de bioscoop",
"physicalRelease": "Fysieke versie",
"digitalRelease": "Digitale versie",
"noEventsToday": "Geen gebeurtenissen voor vandaag!",

View File

@@ -11,7 +11,13 @@
"percent": "{{value, percent}}",
"number": "{{value, number}}",
"ms": "{{value, number}}",
"date": "{{value, date}}"
"date": "{{value, date}}",
"uptime": "{{value, uptime}}",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "m",
"seconds": "s"
},
"widget": {
"missing_type": "Missing Widget Type: {{type}}",
@@ -40,11 +46,7 @@
"load": "Load",
"temp": "TEMP",
"max": "Max",
"uptime": "UP",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "m"
"uptime": "UP"
},
"unifi": {
"users": "Users",
@@ -517,8 +519,7 @@
"truenas": {
"load": "System Load",
"uptime": "Uptime",
"alerts": "Alerts",
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
"alerts": "Alerts"
},
"pyload": {
"speed": "Speed",
@@ -544,6 +545,14 @@
"inbox": "Inbox",
"total": "Total"
},
"peanut": {
"battery_charge": "Battery Charge",
"ups_load": "UPS Load",
"ups_status": "UPS Status",
"online": "Online",
"on_battery": "On Battery",
"low_battery": "Low Battery"
},
"nextdns": {
"wait": "Please Wait",
"no_devices": "No Device Data Received"

View File

@@ -11,7 +11,13 @@
"percent": "{{value, percent}}",
"number": "{{value, number}}",
"ms": "{{value, number}}",
"date": "{{value, date}}"
"date": "{{value, date}}",
"uptime": "{{value, uptime}}",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "m",
"seconds": "s"
},
"widget": {
"missing_type": "Brakujący typ widżetu: {{type}}",
@@ -40,11 +46,7 @@
"load": "Obciążenie",
"temp": "TEMP.",
"max": "Maks",
"uptime": "CZAS",
"months": "miesiąc",
"days": "dni",
"hours": "godz",
"minutes": "min"
"uptime": "CZAS"
},
"unifi": {
"users": "Użytkownicy",
@@ -401,8 +403,8 @@
"total": "Całkowite",
"free": "Wolne",
"used": "Użyte",
"days": "dni",
"hours": "godz",
"days": "d",
"hours": "h",
"crit": "Crit",
"read": "Przeczytane",
"write": "Zapis",
@@ -517,8 +519,7 @@
"truenas": {
"load": "Obciążenie systemu",
"uptime": "Czas działania",
"alerts": "Alarmy",
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
"alerts": "Alarmy"
},
"pyload": {
"speed": "Prędkość",
@@ -544,6 +545,14 @@
"inbox": "Skrzynka odbiorcza",
"total": "Całkowite"
},
"peanut": {
"battery_charge": "Battery Charge",
"ups_load": "UPS Load",
"ups_status": "UPS Status",
"online": "Dostępny",
"on_battery": "On Battery",
"low_battery": "Low Battery"
},
"nextdns": {
"wait": "Proszę czekać",
"no_devices": "Nie otrzymano danych urządzenia"
@@ -614,7 +623,7 @@
"down": "Niedziałające strony",
"uptime": "Czas działania",
"incident": "Incydent",
"m": "min"
"m": "m"
},
"atsumeru": {
"series": "Seriale",

View File

@@ -11,7 +11,13 @@
"percent": "{{value, percent}}",
"number": "{{value, number}}",
"ms": "{{value, number}}",
"date": "{{value, date}}"
"date": "{{value, date}}",
"uptime": "{{value, uptime}}",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "m",
"seconds": "s"
},
"widget": {
"missing_type": "Tipo de Widget ausente: {{type}}",
@@ -40,11 +46,7 @@
"load": "Carga",
"temp": "TEMP",
"max": "Máximo",
"uptime": "CIMA",
"months": "mês",
"days": "d",
"hours": "h",
"minutes": "m"
"uptime": "CIMA"
},
"unifi": {
"users": "Utilizadores",
@@ -517,8 +519,7 @@
"truenas": {
"load": "Carga do sistema",
"uptime": "Ligado",
"alerts": "Alertas",
"time": "{{value, number(estilo: unidade; unitDisplay: long;)}}"
"alerts": "Alertas"
},
"pyload": {
"speed": "Velocidade",
@@ -544,6 +545,14 @@
"inbox": "Caixa de entrada",
"total": "Total"
},
"peanut": {
"battery_charge": "Battery Charge",
"ups_load": "UPS Load",
"ups_status": "UPS Status",
"online": "Online",
"on_battery": "On Battery",
"low_battery": "Low Battery"
},
"nextdns": {
"wait": "Por favor aguarde",
"no_devices": "Nenhum dado do dispositivo recebido"

View File

@@ -11,7 +11,13 @@
"percent": "{{value, percent}}",
"number": "{{value, number}}",
"ms": "{{value, number}}",
"date": "{{value, date}}"
"date": "{{value, date}}",
"uptime": "{{value, uptime}}",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "m",
"seconds": "s"
},
"widget": {
"missing_type": "Tipo de Widget ausente: {{type}}",
@@ -40,11 +46,7 @@
"load": "Carga",
"temp": "TEMP",
"max": "Máximo",
"uptime": "CIMA",
"months": "mês",
"days": "d",
"hours": "h",
"minutes": "m"
"uptime": "CIMA"
},
"unifi": {
"users": "Utilizadores",
@@ -517,8 +519,7 @@
"truenas": {
"load": "Carga do sistema",
"uptime": "Ligado",
"alerts": "Alertas",
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
"alerts": "Alertas"
},
"pyload": {
"speed": "Velocidade",
@@ -544,6 +545,14 @@
"inbox": "Caixa de entrada",
"total": "Total"
},
"peanut": {
"battery_charge": "Battery Charge",
"ups_load": "UPS Load",
"ups_status": "UPS Status",
"online": "Online",
"on_battery": "On Battery",
"low_battery": "Low Battery"
},
"nextdns": {
"wait": "Por favor aguarde",
"no_devices": "Nenhum dado do dispositivo recebido"

View File

@@ -11,7 +11,13 @@
"percent": "{{value, percent}}",
"number": "{{value, number}}",
"ms": "{{value, number}}",
"date": "{{value, date}}"
"date": "{{value, date}}",
"uptime": "{{value, uptime}}",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "m",
"seconds": "s"
},
"widget": {
"missing_type": "Lipsește Tipul de Widget: {{type}}",
@@ -40,11 +46,7 @@
"load": "Sarcină",
"temp": "TEMP",
"max": "Maxim",
"uptime": "UP",
"months": "lună",
"days": "zi",
"hours": "ora",
"minutes": "min"
"uptime": "UP"
},
"unifi": {
"users": "Utilizatori",
@@ -401,8 +403,8 @@
"total": "Total",
"free": "Disponibili",
"used": "Utilizați",
"days": "zi",
"hours": "ora",
"days": "d",
"hours": "h",
"crit": "Crit",
"read": "Read",
"write": "Write",
@@ -517,8 +519,7 @@
"truenas": {
"load": "System Load",
"uptime": "Uptime",
"alerts": "Alerts",
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
"alerts": "Alerts"
},
"pyload": {
"speed": "Speed",
@@ -544,6 +545,14 @@
"inbox": "Inbox",
"total": "Total"
},
"peanut": {
"battery_charge": "Battery Charge",
"ups_load": "UPS Load",
"ups_status": "UPS Status",
"online": "Online",
"on_battery": "On Battery",
"low_battery": "Low Battery"
},
"nextdns": {
"wait": "Please Wait",
"no_devices": "No Device Data Received"
@@ -614,7 +623,7 @@
"down": "Sites Down",
"uptime": "Uptime",
"incident": "Incident",
"m": "min"
"m": "m"
},
"atsumeru": {
"series": "Serie",

View File

@@ -11,7 +11,13 @@
"percent": "{{value, percent}}",
"number": "{{value, number}}",
"ms": "{{value, number}}",
"date": "{{value, date}}"
"date": "{{value, date}}",
"uptime": "{{value, uptime}}",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "m",
"seconds": "s"
},
"widget": {
"missing_type": "Отсутствует тип виджета: {{type}}",
@@ -40,11 +46,7 @@
"load": "Загрузка",
"temp": "Температура",
"max": "Максимально",
"uptime": "Онлайн",
"months": "мес",
"days": "д",
"hours": "ч",
"minutes": "м"
"uptime": "Онлайн"
},
"unifi": {
"users": "Пользователи",
@@ -401,8 +403,8 @@
"total": "Всего",
"free": "Свободно",
"used": "Использовано",
"days": "д",
"hours": "ч",
"days": "d",
"hours": "h",
"crit": "Крит",
"read": "Прочитано",
"write": "Запись",
@@ -517,8 +519,7 @@
"truenas": {
"load": "Нагрузка системы",
"uptime": "Время работы",
"alerts": "Предупреждения",
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
"alerts": "Предупреждения"
},
"pyload": {
"speed": "Скорость",
@@ -544,6 +545,14 @@
"inbox": "Входящие",
"total": "Всего"
},
"peanut": {
"battery_charge": "Battery Charge",
"ups_load": "UPS Load",
"ups_status": "UPS Status",
"online": "В сети",
"on_battery": "On Battery",
"low_battery": "Low Battery"
},
"nextdns": {
"wait": "Пожалуйста, подождите",
"no_devices": "Данные устройства не получены"
@@ -614,7 +623,7 @@
"down": "Неактивные сайты",
"uptime": "Время работы",
"incident": "Происшествия",
"m": "м"
"m": "m"
},
"atsumeru": {
"series": "Серии",

View File

@@ -11,7 +11,13 @@
"percent": "{{value, percent}}",
"number": "{{value, number}}",
"ms": "{{value, number}}",
"date": "{value, date}"
"date": "{value, date}",
"uptime": "{{value, čas prevádzky}}",
"months": "mes",
"days": "d",
"hours": "h",
"minutes": "m",
"seconds": "s"
},
"widget": {
"missing_type": "Chýba typ widgetu: {{type}}",
@@ -32,7 +38,7 @@
"placeholder": "Hľadať…"
},
"resources": {
"cpu": "Procesor",
"cpu": "CPU",
"mem": "RAM",
"total": "Celkovo",
"free": "Voľné",
@@ -40,24 +46,20 @@
"load": "Záťaž",
"temp": "TEPLOTA",
"max": "Max.",
"uptime": "BEŽÍ",
"months": "mes.",
"days": "d",
"hours": "h",
"minutes": "min"
"uptime": "BEŽÍ"
},
"unifi": {
"users": "Používatelia",
"uptime": "Doba prevádzky",
"days": "Dní",
"uptime": "Prevádzka",
"days": "dní",
"wan": "WAN",
"lan": "Lokálna sieť",
"wlan": "Bezdrôtová sieť",
"wlan": "WLAN",
"devices": "Zariadenia",
"lan_devices": "Zariadenia LAN",
"wlan_devices": "Zariadenia WLAN",
"lan_users": "Používatelia LAN",
"wlan_users": "Používatelia WLAN",
"lan_users": "Použ. LAN",
"wlan_users": "Použ. WLAN",
"up": "BEŽÍ",
"down": "NEBEŽÍ",
"wait": "Počkajte prosím",
@@ -67,7 +69,7 @@
"rx": "RX",
"tx": "TX",
"mem": "RAM",
"cpu": "Procesor",
"cpu": "CPU",
"running": "Beží",
"offline": "Nedostupný",
"error": "Chyba",
@@ -114,9 +116,9 @@
},
"flood": {
"download": "Sťahovanie",
"upload": "Odosielanie",
"leech": "Leechovanie",
"seed": "Seedovanie"
"upload": "Nahrávanie",
"leech": "Leechované",
"seed": "Seedované"
},
"freshrss": {
"subscriptions": "Odbery",
@@ -124,20 +126,20 @@
},
"fritzbox": {
"connectionStatus": "Stav",
"connectionStatusUnconfigured": "Unconfigured",
"connectionStatusConnecting": "Connecting",
"connectionStatusAuthenticating": "Authenticating",
"connectionStatusPendingDisconnect": "Pending Disconnect",
"connectionStatusDisconnecting": "Disconnecting",
"connectionStatusDisconnected": "Disconnected",
"connectionStatusUnconfigured": "Nenastavený",
"connectionStatusConnecting": "Pripájanie",
"connectionStatusAuthenticating": "Overovanie",
"connectionStatusPendingDisconnect": "Čakám na odpojenie",
"connectionStatusDisconnecting": "Odpájanie",
"connectionStatusDisconnected": "Odpojené",
"connectionStatusConnected": "Pripojené",
"uptime": "Doba prevádzky",
"uptime": "Prevádzka",
"maxDown": "Max. Down",
"maxUp": "Max. Up",
"down": "Sťahovanie",
"up": "Nahrávanie",
"received": "Received",
"sent": "Sent",
"received": "Prijaté",
"sent": "Odoslané",
"externalIPAddress": "Ext. IP"
},
"caddy": {
@@ -187,23 +189,23 @@
},
"rutorrent": {
"active": "Aktívne",
"upload": "Odosielanie",
"upload": "Nahrávanie",
"download": "Sťahovanie"
},
"transmission": {
"download": "Sťahovanie",
"upload": "Odosielanie",
"leech": "Leechovanie",
"seed": "Seedovanie"
"upload": "Nahrávanie",
"leech": "Leechované",
"seed": "Seedované"
},
"qbittorrent": {
"download": "Sťahovanie",
"upload": "Odosielanie",
"leech": "Leechovanie",
"seed": "Seedovanie"
"upload": "Nahrávanie",
"leech": "Leechované",
"seed": "Seedované"
},
"qnap": {
"cpuUsage": "Využitie procesora",
"cpuUsage": "Využitie CPU",
"memUsage": "Využitie pamäte",
"systemTempC": "Teplota systému",
"poolUsage": "Využitie zväzku",
@@ -212,15 +214,15 @@
},
"deluge": {
"download": "Sťahovanie",
"upload": "Odosielanie",
"leech": "Leechovanie",
"seed": "Seedovanie"
"upload": "Nahrávanie",
"leech": "Leechované",
"seed": "Seedované"
},
"downloadstation": {
"download": "Sťahovanie",
"upload": "Odosielanie",
"leech": "Leechovanie",
"seed": "Seedovanie"
"upload": "Nahrávanie",
"leech": "Leechované",
"seed": "Seedované"
},
"sonarr": {
"wanted": "Žiadané",
@@ -276,8 +278,8 @@
"pihole": {
"queries": "Dopyty",
"blocked": "Zablokované",
"blocked_percent": "Blokované %",
"gravity": "Gravitácia"
"blocked_percent": "Blokované",
"gravity": "Gravity"
},
"adguard": {
"queries": "Dopyty",
@@ -286,7 +288,7 @@
"latency": "Odozva"
},
"speedtest": {
"upload": "Odosielanie",
"upload": "Nahrávanie",
"download": "Sťahovanie",
"ping": "Odozva"
},
@@ -342,10 +344,10 @@
"messages": "Správy"
},
"prowlarr": {
"enableIndexers": "Indexéry",
"numberOfGrabs": "Počet zachytení",
"enableIndexers": "Indexery",
"numberOfGrabs": "Zachytení",
"numberOfQueries": "Dopyty",
"numberOfFailGrabs": "Počet neúspešných zachytení",
"numberOfFailGrabs": "Neúspešné zachytenia",
"numberOfFailQueries": "Neúspešné dopyty"
},
"jackett": {
@@ -381,17 +383,17 @@
},
"authentik": {
"users": "Používatelia",
"loginsLast24H": "Prihlásenia (24 hod.)",
"failedLoginsLast24H": "Neúspešné prihlásenia (24 hod.)"
"loginsLast24H": "Prihlás. (24 hod.)",
"failedLoginsLast24H": "Neúspešné prihlás. (24 hod.)"
},
"proxmox": {
"mem": "RAM",
"cpu": "Procesor",
"cpu": "CPU",
"lxc": "LXC",
"vms": "Virtuálne stroje"
},
"glances": {
"cpu": "Procesor",
"cpu": "CPU",
"load": "Záťaž",
"wait": "Počkajte prosím",
"temp": "TEPLOTA",
@@ -413,7 +415,7 @@
"quicklaunch": {
"bookmark": "Záložka",
"service": "Služba",
"search": "Vyhľadať",
"search": "Hľadať",
"custom": "Vlastné",
"visit": "Navštíviť",
"url": "Odkaz"
@@ -506,7 +508,7 @@
"approvedPushes": "Schválené",
"rejectedPushes": "Odmietnuté",
"filters": "Filtre",
"indexers": "Indexéry"
"indexers": "Indexery"
},
"tubearchivist": {
"downloads": "V poradí",
@@ -516,9 +518,8 @@
},
"truenas": {
"load": "Záťaž systému",
"uptime": "Doba prevádzky",
"alerts": "Upozornenia",
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
"uptime": "Prevádzka",
"alerts": "Upozornenia"
},
"pyload": {
"speed": "Rýchlosť",
@@ -544,14 +545,22 @@
"inbox": "Schránka správ",
"total": "Celkovo"
},
"peanut": {
"battery_charge": "Nabitie batérie",
"ups_load": "Záťaž UPS",
"ups_status": "Status UPS",
"online": "Online",
"on_battery": "Na batérii",
"low_battery": "Slabá batéria"
},
"nextdns": {
"wait": "Počkajte prosím",
"no_devices": "Informácie o zariadení nezískané"
},
"mikrotik": {
"cpuLoad": "Využitie procesora",
"cpuLoad": "Využitie CPU",
"memoryUsed": "Využitie pamäte",
"uptime": "Doba prevádzky",
"uptime": "Prevádzka",
"numberOfLeases": "Pridelené adresy"
},
"xteve": {
@@ -566,7 +575,7 @@
"limit": "Limit"
},
"opnsense": {
"cpu": "Využitie procesora",
"cpu": "Využitie CPU",
"memory": "Aktívna pamäť",
"wanUpload": "WAN nahrávanie",
"wanDownload": "WAN sťahovanie"
@@ -600,7 +609,7 @@
"proxmoxbackupserver": {
"datastore_usage": "Dátové úložisko",
"failed_tasks_24h": "Zlyhané úlohy za 24h",
"cpu_usage": "Procesor",
"cpu_usage": "CPU",
"memory_usage": "Pamäť"
},
"immich": {
@@ -612,9 +621,9 @@
"uptimekuma": {
"up": "Weby dostupné",
"down": "Weby nedostupné",
"uptime": "Doba prevádzky",
"uptime": "Prevádzka",
"incident": "Udalosť",
"m": "min"
"m": "m"
},
"atsumeru": {
"series": "Seriály",
@@ -628,8 +637,8 @@
"books": "Knihy"
},
"diskstation": {
"days": "Dní",
"uptime": "Doba prevádzky",
"days": "dní",
"uptime": "Prevádzka",
"volumeAvailable": "Dostupné"
},
"mylar": {
@@ -656,11 +665,11 @@
"alertstriggered": "Spustené upozornenia"
},
"nextcloud": {
"cpuload": "Využitie procesora",
"cpuload": "Využitie CPU",
"memoryusage": "Využitie pamäte",
"freespace": "Dostupné miesto",
"activeusers": "Aktívni používatelia",
"numfiles": "Počet súborov",
"numfiles": "Súborov",
"numshares": "Zdieľané položky"
},
"kopia": {
@@ -718,7 +727,7 @@
},
"kavita": {
"seriesCount": "Seriály",
"totalFiles": "Počet súborov"
"totalFiles": "Súborov"
},
"azuredevops": {
"result": "Výsledok",
@@ -767,7 +776,7 @@
},
"uptimerobot": {
"status": "Stav",
"uptime": "Doba prevádzky",
"uptime": "Prevádzka",
"lastDown": "Posledný čas nedostupnosti",
"downDuration": "Trvanie nedostupnosti",
"sitesUp": "Weby dostupné",
@@ -784,6 +793,6 @@
"physicalRelease": "Fyzické vydanie",
"digitalRelease": "Digitálne vydanie",
"noEventsToday": "Žiadne udalosti na dnešný deň!",
"noEventsFound": "No events found"
"noEventsFound": "Žiadne udalosti"
}
}

View File

@@ -11,7 +11,13 @@
"percent": "{{value, percent}}",
"number": "{{value, number}}",
"ms": "{{value, number}}",
"date": "{{value, date}}"
"date": "{{value, date}}",
"uptime": "{{value, uptime}}",
"months": "mes",
"days": "d",
"hours": "u",
"minutes": "m",
"seconds": "s"
},
"widget": {
"missing_type": "Manjka tip widgeta: {{type}}",
@@ -40,11 +46,7 @@
"load": "Bremenitev",
"temp": "TEMP",
"max": "Maks.",
"uptime": "Gor",
"months": "me",
"days": "d",
"hours": "u",
"minutes": "u"
"uptime": "Gor"
},
"unifi": {
"users": "Uporabniki",
@@ -127,7 +129,7 @@
"connectionStatusUnconfigured": "Nenastavljeno",
"connectionStatusConnecting": "Se povezuje",
"connectionStatusAuthenticating": "Avtentikacija",
"connectionStatusPendingDisconnect": "Pending Disconnect",
"connectionStatusPendingDisconnect": "Čakanje na prekinitev",
"connectionStatusDisconnecting": "Prekinitev",
"connectionStatusDisconnected": "Prekinjeno",
"connectionStatusConnected": "Povezanih",
@@ -517,8 +519,7 @@
"truenas": {
"load": "Obremenitev sistema",
"uptime": "Čas delovanja",
"alerts": "Opozorila",
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
"alerts": "Opozorila"
},
"pyload": {
"speed": "Hitrost",
@@ -544,6 +545,14 @@
"inbox": "Prejeto",
"total": "Skupaj"
},
"peanut": {
"battery_charge": "Napolnjenost baterije",
"ups_load": "UPS obremenitev",
"ups_status": "UPS status",
"online": "Na spletu",
"on_battery": "Na bateriji",
"low_battery": "Prazna baterija"
},
"nextdns": {
"wait": "Prosim počakajte",
"no_devices": "Podatki o napravi niso prejeti"
@@ -614,7 +623,7 @@
"down": "Ne deluje",
"uptime": "Čas delovanja",
"incident": "Incident",
"m": "u"
"m": "m"
},
"atsumeru": {
"series": "Serije",

View File

@@ -11,7 +11,13 @@
"percent": "{{value, percent}}",
"number": "{{value, number}}",
"ms": "{{value, number}}",
"date": "{{value, date}}"
"date": "{{value, date}}",
"uptime": "{{value, uptime}}",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "m",
"seconds": "s"
},
"widget": {
"missing_type": "Missing Widget Type: {{type}}",
@@ -40,11 +46,7 @@
"load": "Load",
"temp": "TEMP",
"max": "Max",
"uptime": "UP",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "m"
"uptime": "UP"
},
"unifi": {
"users": "Users",
@@ -517,8 +519,7 @@
"truenas": {
"load": "System Load",
"uptime": "Uptime",
"alerts": "Alerts",
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
"alerts": "Alerts"
},
"pyload": {
"speed": "Speed",
@@ -544,6 +545,14 @@
"inbox": "Inbox",
"total": "Total"
},
"peanut": {
"battery_charge": "Battery Charge",
"ups_load": "UPS Load",
"ups_status": "UPS Status",
"online": "Online",
"on_battery": "On Battery",
"low_battery": "Low Battery"
},
"nextdns": {
"wait": "Please Wait",
"no_devices": "No Device Data Received"

View File

@@ -11,7 +11,13 @@
"percent": "{{value, percent}}",
"number": "{{value, number}}",
"ms": "{{value, number}}",
"date": "{{value, date}}"
"date": "{{value, date}}",
"uptime": "{{value, uptime}}",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "m",
"seconds": "s"
},
"widget": {
"missing_type": "Saknar Widget-typ: {{type}}",
@@ -40,11 +46,7 @@
"load": "Laddar",
"temp": "TEMP",
"max": "Max",
"uptime": "UP",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "m"
"uptime": "UP"
},
"unifi": {
"users": "Användare",
@@ -517,8 +519,7 @@
"truenas": {
"load": "System Load",
"uptime": "Uptime",
"alerts": "Alerts",
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
"alerts": "Alerts"
},
"pyload": {
"speed": "Speed",
@@ -544,6 +545,14 @@
"inbox": "Inbox",
"total": "Total"
},
"peanut": {
"battery_charge": "Battery Charge",
"ups_load": "UPS Load",
"ups_status": "UPS Status",
"online": "Online",
"on_battery": "On Battery",
"low_battery": "Low Battery"
},
"nextdns": {
"wait": "Please Wait",
"no_devices": "No Device Data Received"

View File

@@ -11,7 +11,13 @@
"percent": "{{value, percent}}",
"number": "{{value, number}}",
"ms": "{{value, number}}",
"date": "{{value, date}}"
"date": "{{value, date}}",
"uptime": "{{value, uptime}}",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "m",
"seconds": "s"
},
"widget": {
"missing_type": "విడ్జెట్ లేదు: {{type}}",
@@ -40,11 +46,7 @@
"load": "లోడ్",
"temp": "TEMP",
"max": "Max",
"uptime": "UP",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "m"
"uptime": "UP"
},
"unifi": {
"users": "వినియోగదారులు",
@@ -517,8 +519,7 @@
"truenas": {
"load": "System Load",
"uptime": "Uptime",
"alerts": "Alerts",
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
"alerts": "Alerts"
},
"pyload": {
"speed": "Speed",
@@ -544,6 +545,14 @@
"inbox": "Inbox",
"total": "మొత్తం"
},
"peanut": {
"battery_charge": "Battery Charge",
"ups_load": "UPS Load",
"ups_status": "UPS Status",
"online": "Online",
"on_battery": "On Battery",
"low_battery": "Low Battery"
},
"nextdns": {
"wait": "Please Wait",
"no_devices": "No Device Data Received"

View File

@@ -11,7 +11,13 @@
"percent": "{{value, percent}}",
"number": "{{value, number}}",
"ms": "{{value, number}}",
"date": "{{value, date}}"
"date": "{{value, date}}",
"uptime": "{{value, uptime}}",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "m",
"seconds": "s"
},
"widget": {
"missing_type": "Missing Widget Type: {{type}}",
@@ -40,11 +46,7 @@
"load": "โหลด",
"temp": "TEMP",
"max": "Max",
"uptime": "UP",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "m"
"uptime": "UP"
},
"unifi": {
"users": "ผู้ใช้",
@@ -517,8 +519,7 @@
"truenas": {
"load": "System Load",
"uptime": "Uptime",
"alerts": "Alerts",
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
"alerts": "Alerts"
},
"pyload": {
"speed": "Speed",
@@ -544,6 +545,14 @@
"inbox": "Inbox",
"total": "ทั้งหมด"
},
"peanut": {
"battery_charge": "Battery Charge",
"ups_load": "UPS Load",
"ups_status": "UPS Status",
"online": "Online",
"on_battery": "On Battery",
"low_battery": "Low Battery"
},
"nextdns": {
"wait": "Please Wait",
"no_devices": "No Device Data Received"

View File

@@ -11,7 +11,13 @@
"percent": "{{value, percent}}",
"number": "{{value, number}}",
"ms": "{{value, number}}",
"date": "{{value, date}}"
"date": "{{value, date}}",
"uptime": "{{value, uptime}}",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "m",
"seconds": "s"
},
"widget": {
"missing_type": "Kayıp Araç Türü: {{type}}",
@@ -40,11 +46,7 @@
"load": "Yük",
"temp": "Geçici",
"max": "En Yüksek",
"uptime": "Çalışma Süresi",
"months": "Ay",
"days": "Gün",
"hours": "Saat",
"minutes": "Dakika"
"uptime": "Çalışma Süresi"
},
"unifi": {
"users": "Kullanıcılar",
@@ -401,8 +403,8 @@
"total": "Toplam",
"free": "Boşta",
"used": "Kullanımda",
"days": "Gün",
"hours": "Saat",
"days": "d",
"hours": "h",
"crit": "Crit",
"read": "Oku",
"write": "Write",
@@ -517,8 +519,7 @@
"truenas": {
"load": "Sistem Yükü",
"uptime": "Çalışma Süresi",
"alerts": "Alarmlar",
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
"alerts": "Alarmlar"
},
"pyload": {
"speed": "Hız",
@@ -544,6 +545,14 @@
"inbox": "Gelen Kutusu",
"total": "Toplam"
},
"peanut": {
"battery_charge": "Battery Charge",
"ups_load": "UPS Load",
"ups_status": "UPS Status",
"online": "Çevrimiçi",
"on_battery": "On Battery",
"low_battery": "Low Battery"
},
"nextdns": {
"wait": "Lütfen Bekleyin",
"no_devices": "Cihaz Verisi Alınamadı"
@@ -614,7 +623,7 @@
"down": "Sites Down",
"uptime": "Çalışma Süresi",
"incident": "Incident",
"m": "Dakika"
"m": "m"
},
"atsumeru": {
"series": "Diziler",

View File

@@ -11,7 +11,13 @@
"percent": "{{value, percent}}",
"number": "{{value, number}}",
"ms": "{{value, number}}",
"date": "{{value, date}}"
"date": "{{value, date}}",
"uptime": "{{value, uptime}}",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "m",
"seconds": "s"
},
"widget": {
"missing_type": "Відсутній тип віджета: {{type}}",
@@ -40,11 +46,7 @@
"load": "Завантаження",
"temp": "Температура",
"max": "Макс.",
"uptime": "Відправка",
"months": "міс",
"days": "д",
"hours": "г",
"minutes": "хв"
"uptime": "Відправка"
},
"unifi": {
"users": "Користувачі",
@@ -401,8 +403,8 @@
"total": "Усього",
"free": "Вільно",
"used": "Використано",
"days": "д",
"hours": "г",
"days": "d",
"hours": "h",
"crit": "Crit",
"read": "Прочитано",
"write": "Написати",
@@ -517,8 +519,7 @@
"truenas": {
"load": "Завантаження системи",
"uptime": "Час роботи",
"alerts": "Оповіщення",
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
"alerts": "Оповіщення"
},
"pyload": {
"speed": "Швидкість",
@@ -544,6 +545,14 @@
"inbox": "Вхідні",
"total": "Усього"
},
"peanut": {
"battery_charge": "Battery Charge",
"ups_load": "UPS Load",
"ups_status": "UPS Status",
"online": "Онлайн",
"on_battery": "On Battery",
"low_battery": "Low Battery"
},
"nextdns": {
"wait": "Будь ласка, зачекайте",
"no_devices": "Дані про пристрій не отримано"
@@ -614,7 +623,7 @@
"down": "Неактивні сайти",
"uptime": "Час роботи",
"incident": "Інцидент",
"m": "хв"
"m": "m"
},
"atsumeru": {
"series": "Серії",

View File

@@ -11,7 +11,13 @@
"percent": "{{value, percent}}",
"number": "{{value, number}}",
"ms": "{{value, number}}",
"date": "{{value, date}}"
"date": "{{value, date}}",
"uptime": "{{value, uptime}}",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "m",
"seconds": "s"
},
"widget": {
"missing_type": "Thiếu loại Widget: {{type}}",
@@ -40,11 +46,7 @@
"load": "Load",
"temp": "TEMP",
"max": "Max",
"uptime": "UP",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "m"
"uptime": "UP"
},
"unifi": {
"users": "Users",
@@ -517,8 +519,7 @@
"truenas": {
"load": "System Load",
"uptime": "Uptime",
"alerts": "Alerts",
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
"alerts": "Alerts"
},
"pyload": {
"speed": "Speed",
@@ -544,6 +545,14 @@
"inbox": "Inbox",
"total": "Tổng"
},
"peanut": {
"battery_charge": "Battery Charge",
"ups_load": "UPS Load",
"ups_status": "UPS Status",
"online": "Online",
"on_battery": "On Battery",
"low_battery": "Low Battery"
},
"nextdns": {
"wait": "Please Wait",
"no_devices": "No Device Data Received"

View File

@@ -11,7 +11,13 @@
"percent": "{{value, percent}}",
"number": "{{value, number}}",
"ms": "{{value, number}}",
"date": "{{value, date}}"
"date": "{{value, date}}",
"uptime": "{{value, uptime}}",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "m",
"seconds": "s"
},
"widget": {
"missing_type": "缺少小部件類型:{{type}}",
@@ -40,11 +46,7 @@
"load": "負荷",
"temp": "溫度",
"max": "最大",
"uptime": "運作時間",
"months": "月",
"days": "日",
"hours": "時",
"minutes": "分"
"uptime": "運作時間"
},
"unifi": {
"users": "使用者",
@@ -401,8 +403,8 @@
"total": "全部",
"free": "剩餘",
"used": "用咗",
"days": "",
"hours": "",
"days": "d",
"hours": "h",
"crit": "重大的",
"read": "已讀",
"write": "寫入",
@@ -517,8 +519,7 @@
"truenas": {
"load": "系統負載",
"uptime": "運行時間",
"alerts": "警示",
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
"alerts": "警示"
},
"pyload": {
"speed": "速度",
@@ -544,6 +545,14 @@
"inbox": "收件箱",
"total": "全部"
},
"peanut": {
"battery_charge": "Battery Charge",
"ups_load": "UPS Load",
"ups_status": "UPS Status",
"online": "在線",
"on_battery": "On Battery",
"low_battery": "Low Battery"
},
"nextdns": {
"wait": "請稍後",
"no_devices": "未收到裝置資料"
@@ -614,7 +623,7 @@
"down": "離線網站",
"uptime": "運行時間",
"incident": "事件",
"m": ""
"m": "m"
},
"atsumeru": {
"series": "影集",

View File

@@ -11,7 +11,13 @@
"percent": "{{value, percent}}",
"number": "{{value, number}}",
"ms": "{{value, number}}",
"date": "{{value, date}}"
"date": "{{value, date}}",
"uptime": "{{value, uptime}}",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "m",
"seconds": "s"
},
"widget": {
"missing_type": "缺失的组件类型: {{type}}",
@@ -40,11 +46,7 @@
"load": "负载",
"temp": "温度",
"max": "最大",
"uptime": "运行时间",
"months": "月",
"days": "日",
"hours": "时",
"minutes": "分"
"uptime": "运行时间"
},
"unifi": {
"users": "用户数",
@@ -401,8 +403,8 @@
"total": "总计",
"free": "空闲",
"used": "已使用",
"days": "",
"hours": "",
"days": "d",
"hours": "h",
"crit": "严重",
"read": "已读",
"write": "写入",
@@ -517,8 +519,7 @@
"truenas": {
"load": "系统负载",
"uptime": "运行时间",
"alerts": "警告",
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
"alerts": "警告"
},
"pyload": {
"speed": "速度",
@@ -544,6 +545,14 @@
"inbox": "收件箱",
"total": "总计"
},
"peanut": {
"battery_charge": "Battery Charge",
"ups_load": "UPS Load",
"ups_status": "UPS Status",
"online": "在线",
"on_battery": "On Battery",
"low_battery": "Low Battery"
},
"nextdns": {
"wait": "请稍候",
"no_devices": "未收到设备数据"
@@ -614,7 +623,7 @@
"down": "离线网站",
"uptime": "运行时间",
"incident": "事件",
"m": ""
"m": "m"
},
"atsumeru": {
"series": "剧集",

View File

@@ -11,7 +11,13 @@
"percent": "{{value, percent}}",
"number": "{{value, number}}",
"ms": "{{value, number}}",
"date": "{{value, date}}"
"date": "{{value, date}}",
"uptime": "{{value, uptime}}",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "m",
"seconds": "s"
},
"widget": {
"missing_type": "遺失小工具的類型: {{type}}",
@@ -40,11 +46,7 @@
"load": "負載",
"temp": "溫度",
"max": "最大",
"uptime": "運作時間",
"months": "月",
"days": "日",
"hours": "時",
"minutes": "分"
"uptime": "運作時間"
},
"unifi": {
"users": "使用者",
@@ -401,8 +403,8 @@
"total": "全部",
"free": "剩餘",
"used": "已使用",
"days": "",
"hours": "",
"days": "d",
"hours": "h",
"crit": "重大的",
"read": "已讀",
"write": "寫入",
@@ -517,8 +519,7 @@
"truenas": {
"load": "系統負載",
"uptime": "運行時間",
"alerts": "警示",
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
"alerts": "警示"
},
"pyload": {
"speed": "速度",
@@ -544,6 +545,14 @@
"inbox": "收件箱",
"total": "全部"
},
"peanut": {
"battery_charge": "Battery Charge",
"ups_load": "UPS Load",
"ups_status": "UPS Status",
"online": "在線",
"on_battery": "On Battery",
"low_battery": "Low Battery"
},
"nextdns": {
"wait": "請稍後",
"no_devices": "未收到裝置資料"
@@ -614,7 +623,7 @@
"down": "離線網站",
"uptime": "運行時間",
"incident": "事件",
"m": ""
"m": "m"
},
"atsumeru": {
"series": "影集",

View File

@@ -20,17 +20,14 @@ export default function Uptime({ refresh = 1500 }) {
return <Resource icon={FaRegClock} value="-" label={t("resources.uptime")} percentage="0" />;
}
const mo = Math.floor(data.uptime / (3600 * 24 * 31));
const d = Math.floor((data.uptime % (3600 * 24 * 31)) / (3600 * 24));
const h = Math.floor((data.uptime % (3600 * 24)) / 3600);
const m = Math.floor((data.uptime % 3600) / 60);
let uptime;
if (mo > 0) uptime = `${mo}${t("resources.months")} ${d}${t("resources.days")}`;
else if (d > 0) uptime = `${d}${t("resources.days")} ${h}${t("resources.hours")}`;
else uptime = `${h}${t("resources.hours")} ${m}${t("resources.minutes")}`;
const percent = Math.round((new Date().getSeconds() / 60) * 100).toString();
return <Resource icon={FaRegClock} value={uptime} label={t("resources.uptime")} percentage={percent} />;
return (
<Resource
icon={FaRegClock}
value={t("common.uptime", { value: data.uptime })}
label={t("resources.uptime")}
percentage={percent}
/>
);
}

View File

@@ -169,6 +169,7 @@ export async function checkCRD(kc, name) {
export async function servicesFromKubernetes() {
const ANNOTATION_BASE = "gethomepage.dev";
const ANNOTATION_WIDGET_BASE = `${ANNOTATION_BASE}/widget.`;
const { instanceName } = getSettings();
checkAndCopyConfig("kubernetes.yaml");
@@ -238,7 +239,10 @@ export async function servicesFromKubernetes() {
const services = ingressList.items
.filter(
(ingress) =>
ingress.metadata.annotations && ingress.metadata.annotations[`${ANNOTATION_BASE}/enabled`] === "true",
ingress.metadata.annotations &&
ingress.metadata.annotations[`${ANNOTATION_BASE}/enabled`] === "true" &&
(!ingress.metadata.annotations[`${ANNOTATION_BASE}/instance`] ||
ingress.metadata.annotations[`${ANNOTATION_BASE}/instance`] === instanceName),
)
.map((ingress) => {
let constructedService = {

View File

@@ -52,15 +52,18 @@ export default function Component({ service }) {
// params for API fetch
const params = useMemo(() => {
if (!showDate) {
return {};
const constructedParams = {
start: "",
end: "",
unmonitored: false,
};
if (showDate) {
constructedParams.start = showDate.minus({ months: 3 }).toFormat("yyyy-MM-dd");
constructedParams.end = showDate.plus({ months: 3 }).toFormat("yyyy-MM-dd");
}
return {
start: showDate.minus({ months: 3 }).toFormat("yyyy-MM-dd"),
end: showDate.plus({ months: 3 }).toFormat("yyyy-MM-dd"),
unmonitored: "false",
};
return constructedParams;
}, [showDate]);
// Load active integrations

View File

@@ -2,6 +2,7 @@ import { DateTime } from "luxon";
import { parseString } from "cal-parser";
import { useEffect } from "react";
import { useTranslation } from "next-i18next";
import { RRule } from "rrule";
import useWidgetAPI from "../../../utils/proxy/use-widget-api";
import Error from "../../../components/services/widget/error";
@@ -22,15 +23,15 @@ export default function Integration({ config, params, setEvents, hideErrors }) {
}
}
if (icalError || !parsedIcal) {
const startDate = DateTime.fromISO(params.start);
const endDate = DateTime.fromISO(params.end);
if (icalError || !parsedIcal || !startDate.isValid || !endDate.isValid) {
return;
}
const eventsToAdd = {};
const events = parsedIcal?.getEventsBetweenDates(
DateTime.fromISO(params.start).toJSDate(),
DateTime.fromISO(params.end).toJSDate(),
);
const events = parsedIcal?.getEventsBetweenDates(startDate.toJSDate(), endDate.toJSDate());
events?.forEach((event) => {
let title = `${event?.summary?.value}`;
@@ -38,16 +39,31 @@ export default function Integration({ config, params, setEvents, hideErrors }) {
title = `${config.name}: ${title}`;
}
event.matchingDates.forEach((date) => {
eventsToAdd[event?.uid?.value] = {
title,
date: DateTime.fromJSDate(date),
color: config?.color ?? "zinc",
isCompleted: DateTime.fromJSDate(date) < DateTime.now(),
additional: event.location?.value,
type: "ical",
};
});
const eventToAdd = (date, i, type) => {
const duration = event.dtend.value - event.dtstart.value;
const days = duration / (1000 * 60 * 60 * 24);
for (let j = 0; j < days; j += 1) {
eventsToAdd[`${event?.uid?.value}${i}${j}${type}`] = {
title,
date: DateTime.fromJSDate(date).plus({ days: j }),
color: config?.color ?? "zinc",
isCompleted: DateTime.fromJSDate(date) < DateTime.now(),
additional: event.location?.value,
type: "ical",
};
}
};
if (event?.recurrenceRule?.options) {
const rule = new RRule(event.recurrenceRule.options);
const recurringEvents = rule.between(startDate.toJSDate(), endDate.toJSDate());
recurringEvents.forEach((date, i) => eventToAdd(date, i, "recurring"));
return;
}
event.matchingDates.forEach((date, i) => eventToAdd(date, i, "single"));
});
setEvents((prevEvents) => ({ ...prevEvents, ...eventsToAdd }));

View File

@@ -28,7 +28,7 @@ export default function Component({ service }) {
let diffsDetected = 0;
Object.keys(data).forEach((key) => {
if (data[key].last_changed > 0 && data[key].last_checked === data[key].last_changed && !data[key].viewed) {
if (data[key].last_changed > 0 && !data[key].viewed) {
diffsDetected += 1;
}
});

View File

@@ -35,6 +35,7 @@ const components = {
gotify: dynamic(() => import("./gotify/component")),
grafana: dynamic(() => import("./grafana/component")),
hdhomerun: dynamic(() => import("./hdhomerun/component")),
peanut: dynamic(() => import("./peanut/component")),
homeassistant: dynamic(() => import("./homeassistant/component")),
homebridge: dynamic(() => import("./homebridge/component")),
healthchecks: dynamic(() => import("./healthchecks/component")),

View File

@@ -6,18 +6,6 @@ import useWidgetAPI from "utils/proxy/use-widget-api";
export const fritzboxDefaultFields = ["connectionStatus", "uptime", "maxDown", "maxUp"];
const formatUptime = (timestamp) => {
const hours = Math.floor(timestamp / 3600);
const minutes = Math.floor((timestamp % 3600) / 60);
const seconds = timestamp % 60;
const hourDuration = hours > 0 ? `${hours}h` : "00h";
const minDuration = minutes > 0 ? `${minutes}m` : "00m";
const secDuration = seconds > 0 ? `${seconds}s` : "00s";
return hourDuration + minDuration + secDuration;
};
export default function Component({ service }) {
const { t } = useTranslation();
const { widget } = service;
@@ -56,7 +44,7 @@ export default function Component({ service }) {
return (
<Container service={service}>
<Block label="fritzbox.connectionStatus" value={t(`fritzbox.connectionStatus${fritzboxData.connectionStatus}`)} />
<Block label="fritzbox.uptime" value={formatUptime(fritzboxData.uptime)} />
<Block label="fritzbox.uptime" value={t("common.uptime", { value: fritzboxData.uptime })} />
<Block label="fritzbox.maxDown" value={t("common.byterate", { value: fritzboxData.maxDown / 8, decimals: 1 })} />
<Block label="fritzbox.maxUp" value={t("common.byterate", { value: fritzboxData.maxUp / 8, decimals: 1 })} />
<Block label="fritzbox.down" value={t("common.byterate", { value: fritzboxData.down, decimals: 1 })} />

View File

@@ -33,9 +33,9 @@ async function requestEndpoint(apiBaseUrl, service, action) {
const response = {};
try {
const jsonData = JSON.parse(xml2json(data));
const responseElements = jsonData?.elements[0]?.elements[0]?.elements[0]?.elements || [];
const responseElements = jsonData?.elements?.[0]?.elements?.[0]?.elements?.[0]?.elements || [];
responseElements.forEach((element) => {
response[element.name] = element.elements[0]?.text || "";
response[element.name] = element.elements?.[0].text || "";
});
} catch (e) {
logger.debug(`Failed parsing ${service}->${action} response:`, data);
@@ -50,12 +50,12 @@ export default async function fritzboxProxyHandler(req, res) {
const serviceWidget = await getServiceWidget(group, service);
if (!serviceWidget) {
res.status(500).json({ error: "Service widget not found" });
res.status(500).json({ error: { message: "Service widget not found" } });
return;
}
if (!serviceWidget.url) {
res.status(500).json({ error: "Service widget url not configured" });
res.status(500).json({ error: { message: "Service widget url not configured" } });
return;
}
@@ -91,6 +91,6 @@ export default async function fritzboxProxyHandler(req, res) {
});
})
.catch((error) => {
res.status(500).json({ error: error.message });
res.status(500).json({ error: { message: error.message } });
});
}

View File

@@ -10,12 +10,23 @@ export default function Component({ service }) {
const { widget } = service;
const { data: statsData, error: statsError } = useWidgetAPI(widget, "stats");
const { data: alertsData, error: alertsError } = useWidgetAPI(widget, "alerts");
const { data: alertmanagerData, error: alertmanagerError } = useWidgetAPI(widget, "alertmanager");
if (statsError || alertsError) {
let alertsInt = 0;
if (alertsError || !alertsData || alertsData.length === 0) {
if (alertmanagerData) {
alertsInt = alertmanagerData.length;
}
} else {
alertsInt = alertsData.filter((a) => a.state === "alerting").length;
}
if (statsError || (alertsError && alertmanagerError)) {
return <Container service={service} error={statsError ?? alertsError} />;
}
if (!statsData || !alertsData) {
if (!statsData || (!alertsData && !alertmanagerData)) {
return (
<Container service={service}>
<Block label="grafana.dashboards" />
@@ -31,10 +42,7 @@ export default function Component({ service }) {
<Block label="grafana.dashboards" value={t("common.number", { value: statsData.dashboards })} />
<Block label="grafana.datasources" value={t("common.number", { value: statsData.datasources })} />
<Block label="grafana.totalalerts" value={t("common.number", { value: statsData.alerts })} />
<Block
label="grafana.alertstriggered"
value={t("common.number", { value: alertsData.filter((a) => a.state === "alerting").length })}
/>
<Block label="grafana.alertstriggered" value={t("common.number", { value: alertsInt })} />
</Container>
);
}

View File

@@ -8,6 +8,9 @@ const widget = {
alerts: {
endpoint: "alerts",
},
alertmanager: {
endpoint: "alertmanager/grafana/api/v2/alerts",
},
stats: {
endpoint: "admin/stats",
validate: ["dashboards"],

View File

@@ -34,12 +34,8 @@ export default function Component({ service }) {
);
}
let currentLayer = "-";
let totalLayer = "-";
if (printStats.result.status.print_stats.info.total_layer !== null) {
currentLayer = printStats.result.status.print_stats.info.current_layer;
totalLayer = printStats.result.status.print_stats.info.total_layer;
}
const printStatsInfo = printStats.result.status.print_stats.info ?? {};
const { current_layer: currentLayer = "-", total_layer: totalLayer = "-" } = printStatsInfo;
return (
<Container service={service}>

View File

@@ -0,0 +1,49 @@
import { useTranslation } from "next-i18next";
import Container from "components/services/widget/container";
import Block from "components/services/widget/block";
import useWidgetAPI from "utils/proxy/use-widget-api";
export default function Component({ service }) {
const { widget } = service;
const { t } = useTranslation();
const { data: upsData, error: upsError } = useWidgetAPI(widget, "devices");
if (upsError) {
return <Container service={service} error={upsError} />;
}
if (!upsData) {
return (
<Container service={service}>
<Block label="peanut.battery_charge" />
<Block label="peanut.ups_load" />
<Block label="peanut.ups_status" />
</Container>
);
}
let status;
switch (upsData.ups_status) {
case "OL":
status = t("peanut.online");
break;
case "OB":
status = t("peanut.on_battery");
break;
case "LB":
status = t("peanut.low_battery");
break;
default:
status = upsData.ups_status;
}
return (
<Container service={service}>
<Block label="peanut.battery_charge" value={t("common.percent", { value: upsData.battery_charge })} />
<Block label="peanut.ups_load" value={t("common.percent", { value: upsData.ups_load })} />
<Block label="peanut.ups_status" value={status} />
</Container>
);
}

View File

@@ -0,0 +1,14 @@
import genericProxyHandler from "utils/proxy/handlers/generic";
const widget = {
api: "{url}/api/v1/{endpoint}/{key}",
proxyHandler: genericProxyHandler,
mappings: {
devices: {
endpoint: "devices",
},
},
};
export default widget;

View File

@@ -26,9 +26,19 @@ export default function Component({ service }) {
);
}
const queue = parseInt(tdarrData.table1Count, 10) + parseInt(tdarrData.table4Count, 10);
const processed = parseInt(tdarrData.table2Count, 10) + parseInt(tdarrData.table5Count, 10);
const errored = parseInt(tdarrData.table3Count, 10) + parseInt(tdarrData.table6Count, 10);
// use viewable count if it exists, which removes file count of any disabled libraries etc
// only shows items which are viewable in the tables in the UI
const table1Count = tdarrData.table1ViewableCount || tdarrData.table1Count;
const table2Count = tdarrData.table2ViewableCount || tdarrData.table2Count;
const table3Count = tdarrData.table3ViewableCount || tdarrData.table3Count;
const table4Count = tdarrData.table4ViewableCount || tdarrData.table4Count;
const table5Count = tdarrData.table5ViewableCount || tdarrData.table5Count;
const table6Count = tdarrData.table6ViewableCount || tdarrData.table6Count;
const queue = parseInt(table1Count, 10) + parseInt(table4Count, 10);
const processed = parseInt(table2Count, 10) + parseInt(table5Count, 10);
const errored = parseInt(table3Count, 10) + parseInt(table6Count, 10);
const saved = parseFloat(tdarrData.sizeDiff, 10) * 1000000000;
return (

View File

@@ -4,34 +4,6 @@ import Container from "components/services/widget/container";
import Block from "components/services/widget/block";
import useWidgetAPI from "utils/proxy/use-widget-api";
const processUptime = (uptime) => {
const seconds = uptime.toFixed(0);
const levels = [
[Math.floor(seconds / 31536000), "year"],
[Math.floor((seconds % 31536000) / 2592000), "month"],
[Math.floor(((seconds % 31536000) % 2592000) / 86400), "day"],
[Math.floor(((seconds % 31536000) % 86400) / 3600), "hour"],
[Math.floor((((seconds % 31536000) % 86400) % 3600) / 60), "minute"],
[(((seconds % 31536000) % 86400) % 3600) % 60, "second"],
];
for (let i = 0; i < levels.length; i += 1) {
const level = levels[i];
if (level[0] > 0) {
return {
value: level[0],
unit: level[1],
};
}
}
return {
value: 0,
unit: "second",
};
};
export default function Component({ service }) {
const { t } = useTranslation();
@@ -58,7 +30,7 @@ export default function Component({ service }) {
return (
<Container service={service}>
<Block label="truenas.load" value={t("common.number", { value: statusData.loadavg[0] })} />
<Block label="truenas.uptime" value={t("truenas.time", processUptime(statusData.uptime_seconds))} />
<Block label="truenas.uptime" value={t("common.uptime", { value: statusData.uptime_seconds })} />
<Block label="truenas.alerts" value={t("common.number", { value: alertData.pending })} />
</Container>
);

View File

@@ -4,24 +4,6 @@ import Container from "components/services/widget/container";
import Block from "components/services/widget/block";
import useWidgetAPI from "utils/proxy/use-widget-api";
function secondsToDhms(seconds) {
const d = Math.floor(seconds / (3600 * 24));
const h = Math.floor((seconds % (3600 * 24)) / 3600);
const m = Math.floor((seconds % 3600) / 60);
const s = Math.floor(seconds % 60);
const dDisplay = d > 0 ? d + (d === 1 ? " day, " : " days, ") : "";
const hDisplay = h > 0 ? h + (h === 1 ? " hr, " : " hrs, ") : "";
let mDisplay = m > 0 && d === 0 ? m + (m === 1 ? " min" : " mins") : "";
let sDisplay = "";
if (d === 0 && h === 0) {
mDisplay = m > 0 ? m + (m === 1 ? " min, " : " mins, ") : "";
sDisplay = s > 0 ? s + (s === 1 ? " sec" : " secs") : "";
}
return (dDisplay + hDisplay + mDisplay + sDisplay).replace(/,\s*$/, "");
}
export default function Component({ service }) {
const { widget } = service;
const { t } = useTranslation();
@@ -68,7 +50,7 @@ export default function Component({ service }) {
break;
case 2:
status = t("uptimerobot.up");
uptime = secondsToDhms(monitor.logs[0].duration);
uptime = t("common.uptime", { value: monitor.logs[0].duration });
logIndex = 1;
break;
case 8:
@@ -83,7 +65,7 @@ export default function Component({ service }) {
}
const lastDown = new Date(monitor.logs[logIndex].datetime * 1000).toLocaleString();
const downDuration = secondsToDhms(monitor.logs[logIndex].duration);
const downDuration = t("common.uptime", { value: monitor.logs[logIndex].duration });
const hideDown = logIndex === 1 && monitor.logs[logIndex].type !== 1;
return (

View File

@@ -62,6 +62,7 @@ import opnsense from "./opnsense/widget";
import overseerr from "./overseerr/widget";
import openmediavault from "./openmediavault/widget";
import paperlessngx from "./paperlessngx/widget";
import peanut from "./peanut/widget";
import pfsense from "./pfsense/widget";
import photoprism from "./photoprism/widget";
import proxmoxbackupserver from "./proxmoxbackupserver/widget";
@@ -166,6 +167,7 @@ const widgets = {
overseerr,
openmediavault,
paperlessngx,
peanut,
pfsense,
photoprism,
proxmoxbackupserver,