Merge branch 'main' into Mylar

This commit is contained in:
Bryan 2023-02-03 20:47:58 -05:00 committed by GitHub
commit 77e02e6729
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
43 changed files with 380 additions and 79 deletions

View File

@ -38,7 +38,8 @@
"wlan_users": "WLAN مستخدمين", "wlan_users": "WLAN مستخدمين",
"up": "يعمل", "up": "يعمل",
"down": "لا يعمل", "down": "لا يعمل",
"wait": "الرجاء الإنتظار" "wait": "الرجاء الإنتظار",
"empty_data": "Subsystem status unknown"
}, },
"wmo": { "wmo": {
"73-day": "ثلج", "73-day": "ثلج",
@ -445,5 +446,10 @@
"uptime": "Uptime", "uptime": "Uptime",
"incident": "Incident", "incident": "Incident",
"m": "m" "m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
} }
} }

View File

@ -48,7 +48,8 @@
"wlan": "WLAN", "wlan": "WLAN",
"devices": "Devices", "devices": "Devices",
"lan_devices": "LAN Devices", "lan_devices": "LAN Devices",
"wlan_devices": "WLAN Devices" "wlan_devices": "WLAN Devices",
"empty_data": "Subsystem status unknown"
}, },
"docker": { "docker": {
"offline": "Изключен", "offline": "Изключен",
@ -445,5 +446,10 @@
"uptime": "Uptime", "uptime": "Uptime",
"incident": "Incident", "incident": "Incident",
"m": "m" "m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
} }
} }

View File

@ -203,7 +203,8 @@
"wlan": "WLAN", "wlan": "WLAN",
"devices": "Dispositius", "devices": "Dispositius",
"lan_devices": "Dispositius LAN", "lan_devices": "Dispositius LAN",
"wlan_devices": "Dispositius WLAN" "wlan_devices": "Dispositius WLAN",
"empty_data": "Subsystem status unknown"
}, },
"plex": { "plex": {
"streams": "Transmissions actives", "streams": "Transmissions actives",
@ -445,5 +446,10 @@
"down": "Sites Down", "down": "Sites Down",
"uptime": "Uptime", "uptime": "Uptime",
"incident": "Incident" "incident": "Incident"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
} }
} }

View File

@ -50,7 +50,8 @@
"wlan_users": "WLAN Uživatelé", "wlan_users": "WLAN Uživatelé",
"up": "BĚŽÍ", "up": "BĚŽÍ",
"down": "NEBĚŽÍ", "down": "NEBĚŽÍ",
"wait": "Počkejte prosím" "wait": "Počkejte prosím",
"empty_data": "Subsystem status unknown"
}, },
"docker": { "docker": {
"rx": "RX", "rx": "RX",
@ -445,5 +446,10 @@
"uptime": "Uptime", "uptime": "Uptime",
"incident": "Incident", "incident": "Incident",
"m": "m" "m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
} }
} }

View File

@ -175,7 +175,8 @@
"wlan_users": "WLAN Brugere", "wlan_users": "WLAN Brugere",
"up": "Oppe", "up": "Oppe",
"down": "NED", "down": "NED",
"wait": "Vent venligst" "wait": "Vent venligst",
"empty_data": "Subsystem status unknown"
}, },
"docker": { "docker": {
"cpu": "CPU", "cpu": "CPU",
@ -445,5 +446,10 @@
"uptime": "Uptime", "uptime": "Uptime",
"incident": "Incident", "incident": "Incident",
"m": "m" "m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
} }
} }

View File

@ -203,7 +203,8 @@
"wlan": "WLAN", "wlan": "WLAN",
"devices": "Geräte", "devices": "Geräte",
"lan_devices": "LAN-Geräte", "lan_devices": "LAN-Geräte",
"wlan_devices": "WLAN Geräte" "wlan_devices": "WLAN Geräte",
"empty_data": "Subsystem status unknown"
}, },
"plex": { "plex": {
"streams": "Aktive Streams", "streams": "Aktive Streams",
@ -445,5 +446,10 @@
"uptime": "Uptime", "uptime": "Uptime",
"incident": "Incident", "incident": "Incident",
"m": "m" "m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
} }
} }

View File

@ -51,7 +51,8 @@
"wlan_users": "WLAN Users", "wlan_users": "WLAN Users",
"up": "UP", "up": "UP",
"down": "DOWN", "down": "DOWN",
"wait": "Please wait" "wait": "Please wait",
"empty_data": "Subsystem status unknown"
}, },
"docker": { "docker": {
"rx": "RX", "rx": "RX",
@ -455,6 +456,11 @@
"incident": "Incident", "incident": "Incident",
"m": "m" "m": "m"
}, },
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
},
"mylar": { "mylar": {
"series": "Series", "series": "Series",
"issues": "Issues", "issues": "Issues",

View File

@ -38,7 +38,8 @@
"wlan_users": "WLAN Users", "wlan_users": "WLAN Users",
"up": "UP", "up": "UP",
"down": "DOWN", "down": "DOWN",
"wait": "Please wait" "wait": "Please wait",
"empty_data": "Subsystem status unknown"
}, },
"docker": { "docker": {
"rx": "RX", "rx": "RX",
@ -445,5 +446,10 @@
"uptime": "Uptime", "uptime": "Uptime",
"incident": "Incident", "incident": "Incident",
"m": "m" "m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
} }
} }

View File

@ -203,7 +203,8 @@
"wlan": "WLAN", "wlan": "WLAN",
"devices": "Dispositivos", "devices": "Dispositivos",
"lan_devices": "Dispositivos LAN", "lan_devices": "Dispositivos LAN",
"wlan_devices": "Dispositivos WLAN" "wlan_devices": "Dispositivos WLAN",
"empty_data": "Se desconoce el estado del subsistema"
}, },
"plex": { "plex": {
"streams": "Transmisiones activas", "streams": "Transmisiones activas",
@ -440,10 +441,15 @@
"storage": "Almacenamiento" "storage": "Almacenamiento"
}, },
"uptimekuma": { "uptimekuma": {
"up": "Sites Up", "up": "Páginas web activas",
"down": "Sites Down", "down": "Páginas web inactivas",
"uptime": "Uptime", "uptime": "Disponibilidad",
"incident": "Incident", "incident": "Incidencia",
"m": "m" "m": "m"
},
"komga": {
"libraries": "Librerías",
"series": "Series",
"books": "Libros"
} }
} }

View File

@ -203,7 +203,8 @@
"lan_devices": "LAN Devices", "lan_devices": "LAN Devices",
"lan": "LAN", "lan": "LAN",
"wlan": "WLAN", "wlan": "WLAN",
"wlan_devices": "WLAN Devices" "wlan_devices": "WLAN Devices",
"empty_data": "Subsystem status unknown"
}, },
"plex": { "plex": {
"streams": "Active Streams", "streams": "Active Streams",
@ -445,5 +446,10 @@
"uptime": "Uptime", "uptime": "Uptime",
"incident": "Incident", "incident": "Incident",
"m": "m" "m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
} }
} }

View File

@ -203,7 +203,8 @@
"wlan": "WLAN", "wlan": "WLAN",
"devices": "Équipt.", "devices": "Équipt.",
"lan_devices": "Équipt. LAN", "lan_devices": "Équipt. LAN",
"wlan_devices": "Équipt. WLAN" "wlan_devices": "Équipt. WLAN",
"empty_data": "Statut sous-système inconnu"
}, },
"plex": { "plex": {
"streams": "Flux actif", "streams": "Flux actif",
@ -440,10 +441,15 @@
"storage": "Stockage" "storage": "Stockage"
}, },
"uptimekuma": { "uptimekuma": {
"up": "Sites Up", "up": "En ligne",
"down": "Sites Down", "down": "Hors ligne",
"uptime": "Uptime", "uptime": "Dispo.",
"incident": "Incident", "incident": "Incident",
"m": "m" "m": "m"
},
"komga": {
"libraries": "Librairies",
"series": "Séries",
"books": "Livres"
} }
} }

View File

@ -203,7 +203,8 @@
"wlan": "WLAN", "wlan": "WLAN",
"devices": "Devices", "devices": "Devices",
"lan_devices": "LAN Devices", "lan_devices": "LAN Devices",
"wlan_devices": "WLAN Devices" "wlan_devices": "WLAN Devices",
"empty_data": "Subsystem status unknown"
}, },
"plex": { "plex": {
"streams": "Active Streams", "streams": "Active Streams",
@ -445,5 +446,10 @@
"uptime": "Uptime", "uptime": "Uptime",
"incident": "Incident", "incident": "Incident",
"m": "m" "m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
} }
} }

View File

@ -72,7 +72,8 @@
"wlan_users": "WLAN Users", "wlan_users": "WLAN Users",
"up": "UP", "up": "UP",
"down": "DOWN", "down": "DOWN",
"wait": "Please wait" "wait": "Please wait",
"empty_data": "Subsystem status unknown"
}, },
"docker": { "docker": {
"rx": "RX", "rx": "RX",
@ -445,5 +446,10 @@
"uptime": "Uptime", "uptime": "Uptime",
"incident": "Incident", "incident": "Incident",
"m": "m" "m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
} }
} }

View File

@ -203,7 +203,8 @@
"wlan": "WLAN", "wlan": "WLAN",
"devices": "Uređaji", "devices": "Uređaji",
"lan_devices": "LAN uređaji", "lan_devices": "LAN uređaji",
"wlan_devices": "WLAN uređaji" "wlan_devices": "WLAN uređaji",
"empty_data": "Subsystem status unknown"
}, },
"plex": { "plex": {
"streams": "Aktivni prijenosi", "streams": "Aktivni prijenosi",
@ -445,5 +446,10 @@
"uptime": "Uptime", "uptime": "Uptime",
"incident": "Incident", "incident": "Incident",
"m": "m" "m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
} }
} }

View File

@ -203,7 +203,8 @@
"wlan": "WLAN", "wlan": "WLAN",
"devices": "Devices", "devices": "Devices",
"lan_devices": "LAN Devices", "lan_devices": "LAN Devices",
"wlan_devices": "WLAN Devices" "wlan_devices": "WLAN Devices",
"empty_data": "Subsystem status unknown"
}, },
"plex": { "plex": {
"streams": "Active Streams", "streams": "Active Streams",
@ -445,5 +446,10 @@
"uptime": "Uptime", "uptime": "Uptime",
"incident": "Incident", "incident": "Incident",
"m": "m" "m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
} }
} }

View File

@ -203,7 +203,8 @@
"wlan": "WLAN", "wlan": "WLAN",
"devices": "Dispositivi", "devices": "Dispositivi",
"lan_devices": "Dispositivi LAN", "lan_devices": "Dispositivi LAN",
"wlan_devices": "Dispositivi WLAN" "wlan_devices": "Dispositivi WLAN",
"empty_data": "Subsystem status unknown"
}, },
"plex": { "plex": {
"streams": "Trasmissioni attive", "streams": "Trasmissioni attive",
@ -445,5 +446,10 @@
"uptime": "Uptime", "uptime": "Uptime",
"incident": "Incident", "incident": "Incident",
"m": "m" "m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
} }
} }

View File

@ -73,7 +73,8 @@
"wlan_users": "WLAN Users", "wlan_users": "WLAN Users",
"up": "UP", "up": "UP",
"down": "DOWN", "down": "DOWN",
"wait": "Please wait" "wait": "Please wait",
"empty_data": "Subsystem status unknown"
}, },
"docker": { "docker": {
"rx": "RX", "rx": "RX",
@ -445,5 +446,10 @@
"uptime": "Uptime", "uptime": "Uptime",
"incident": "Incident", "incident": "Incident",
"m": "m" "m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
} }
} }

View File

@ -42,7 +42,8 @@
"wlan_users": "WLAN lietotāji", "wlan_users": "WLAN lietotāji",
"up": "DARBOJAS", "up": "DARBOJAS",
"down": "NEDARBOJAS", "down": "NEDARBOJAS",
"wait": "Lūdzu, uzgaidiet" "wait": "Lūdzu, uzgaidiet",
"empty_data": "Subsystem status unknown"
}, },
"docker": { "docker": {
"rx": "RX", "rx": "RX",
@ -445,5 +446,10 @@
"uptime": "Uptime", "uptime": "Uptime",
"incident": "Incident", "incident": "Incident",
"m": "m" "m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
} }
} }

View File

@ -20,7 +20,8 @@
"wlan_users": "Pengguna WLAN", "wlan_users": "Pengguna WLAN",
"up": "HIDUP", "up": "HIDUP",
"down": "MATI", "down": "MATI",
"wait": "Sila tunggu" "wait": "Sila tunggu",
"empty_data": "Subsystem status unknown"
}, },
"lidarr": { "lidarr": {
"queued": "Dibaris Gilir", "queued": "Dibaris Gilir",
@ -445,5 +446,10 @@
"uptime": "Uptime", "uptime": "Uptime",
"incident": "Incident", "incident": "Incident",
"m": "m" "m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
} }
} }

View File

@ -203,7 +203,8 @@
"wlan": "WLAN", "wlan": "WLAN",
"devices": "Devices", "devices": "Devices",
"lan_devices": "LAN Devices", "lan_devices": "LAN Devices",
"wlan_devices": "WLAN Devices" "wlan_devices": "WLAN Devices",
"empty_data": "Subsystem status unknown"
}, },
"plex": { "plex": {
"streams": "Active Streams", "streams": "Active Streams",
@ -445,5 +446,10 @@
"uptime": "Uptime", "uptime": "Uptime",
"incident": "Incident", "incident": "Incident",
"m": "m" "m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
} }
} }

View File

@ -203,7 +203,8 @@
"wlan": "WLAN", "wlan": "WLAN",
"devices": "Apparaten", "devices": "Apparaten",
"lan_devices": "LAN Apparaten", "lan_devices": "LAN Apparaten",
"wlan_devices": "WLAN Apparaten" "wlan_devices": "WLAN Apparaten",
"empty_data": "Subsystem status unknown"
}, },
"plex": { "plex": {
"streams": "Active Streams", "streams": "Active Streams",
@ -445,5 +446,10 @@
"uptime": "Uptime", "uptime": "Uptime",
"incident": "Incident", "incident": "Incident",
"m": "m" "m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
} }
} }

View File

@ -203,7 +203,8 @@
"wlan": "WLAN", "wlan": "WLAN",
"devices": "Urządzenia", "devices": "Urządzenia",
"lan_devices": "Urządzenia LAN", "lan_devices": "Urządzenia LAN",
"wlan_devices": "Urządzenia WLAN" "wlan_devices": "Urządzenia WLAN",
"empty_data": "Subsystem status unknown"
}, },
"plex": { "plex": {
"streams": "Aktywne strumienie", "streams": "Aktywne strumienie",
@ -445,5 +446,10 @@
"uptime": "Uptime", "uptime": "Uptime",
"incident": "Incident", "incident": "Incident",
"m": "m" "m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
} }
} }

View File

@ -203,7 +203,8 @@
"wlan": "WLAN", "wlan": "WLAN",
"devices": "Dispositivos", "devices": "Dispositivos",
"lan_devices": "Dispositivos LAN", "lan_devices": "Dispositivos LAN",
"wlan_devices": "Dispositivos WLAN" "wlan_devices": "Dispositivos WLAN",
"empty_data": "Subsystem status unknown"
}, },
"plex": { "plex": {
"streams": "Transmissões ativas", "streams": "Transmissões ativas",
@ -445,5 +446,10 @@
"uptime": "Uptime", "uptime": "Uptime",
"incident": "Incident", "incident": "Incident",
"m": "m" "m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
} }
} }

View File

@ -216,7 +216,8 @@
"wlan": "WLAN", "wlan": "WLAN",
"devices": "Dispositivos", "devices": "Dispositivos",
"lan_devices": "Dispositivos LAN", "lan_devices": "Dispositivos LAN",
"wlan_devices": "Dispositivos WLAN" "wlan_devices": "Dispositivos WLAN",
"empty_data": "Subsystem status unknown"
}, },
"plex": { "plex": {
"streams": "Streams Ativas", "streams": "Streams Ativas",
@ -454,5 +455,10 @@
"uptime": "Uptime", "uptime": "Uptime",
"incident": "Incident", "incident": "Incident",
"m": "m" "m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
} }
} }

View File

@ -203,7 +203,8 @@
"wlan": "WLAN", "wlan": "WLAN",
"devices": "Devices", "devices": "Devices",
"lan_devices": "LAN Devices", "lan_devices": "LAN Devices",
"wlan_devices": "WLAN Devices" "wlan_devices": "WLAN Devices",
"empty_data": "Subsystem status unknown"
}, },
"plex": { "plex": {
"streams": "Fluxuri active", "streams": "Fluxuri active",
@ -445,5 +446,10 @@
"uptime": "Uptime", "uptime": "Uptime",
"incident": "Incident", "incident": "Incident",
"m": "m" "m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
} }
} }

View File

@ -203,7 +203,8 @@
"wlan": "WLAN", "wlan": "WLAN",
"devices": "Устройства", "devices": "Устройства",
"lan_devices": "Устройства подключённые по LAN", "lan_devices": "Устройства подключённые по LAN",
"wlan_devices": "WLAN Devices" "wlan_devices": "WLAN Devices",
"empty_data": "Subsystem status unknown"
}, },
"plex": { "plex": {
"streams": "Active Streams", "streams": "Active Streams",
@ -445,5 +446,10 @@
"uptime": "Uptime", "uptime": "Uptime",
"incident": "Incident", "incident": "Incident",
"m": "m" "m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
} }
} }

View File

@ -38,7 +38,8 @@
"wlan_users": "WLAN Users", "wlan_users": "WLAN Users",
"up": "UP", "up": "UP",
"down": "DOWN", "down": "DOWN",
"wait": "Please wait" "wait": "Please wait",
"empty_data": "Subsystem status unknown"
}, },
"docker": { "docker": {
"rx": "RX", "rx": "RX",
@ -445,5 +446,10 @@
"uptime": "Uptime", "uptime": "Uptime",
"incident": "Incident", "incident": "Incident",
"m": "m" "m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
} }
} }

View File

@ -203,7 +203,8 @@
"wlan": "WLAN", "wlan": "WLAN",
"devices": "Devices", "devices": "Devices",
"lan_devices": "LAN Devices", "lan_devices": "LAN Devices",
"wlan_devices": "WLAN Devices" "wlan_devices": "WLAN Devices",
"empty_data": "Subsystem status unknown"
}, },
"plex": { "plex": {
"streams": "Aktiva strömmar", "streams": "Aktiva strömmar",
@ -445,5 +446,10 @@
"uptime": "Uptime", "uptime": "Uptime",
"incident": "Incident", "incident": "Incident",
"m": "m" "m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
} }
} }

View File

@ -203,7 +203,8 @@
"wlan": "WLAN", "wlan": "WLAN",
"devices": "పరికరాలు", "devices": "పరికరాలు",
"lan_devices": "LAN పరికరాలు", "lan_devices": "LAN పరికరాలు",
"wlan_devices": "WLAN పరికరాలు" "wlan_devices": "WLAN పరికరాలు",
"empty_data": "Subsystem status unknown"
}, },
"plex": { "plex": {
"streams": "యాక్టివ్ స్ట్రీమ్‌లు", "streams": "యాక్టివ్ స్ట్రీమ్‌లు",
@ -445,5 +446,10 @@
"uptime": "Uptime", "uptime": "Uptime",
"incident": "Incident", "incident": "Incident",
"m": "m" "m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
} }
} }

View File

@ -38,7 +38,8 @@
"wlan": "WLAN", "wlan": "WLAN",
"devices": "Aygıtlar", "devices": "Aygıtlar",
"lan_devices": "LAN Aygıtları", "lan_devices": "LAN Aygıtları",
"wlan_devices": "WLAN Aygıtları" "wlan_devices": "WLAN Aygıtları",
"empty_data": "Subsystem status unknown"
}, },
"docker": { "docker": {
"rx": "Gelen Veri", "rx": "Gelen Veri",
@ -445,5 +446,10 @@
"uptime": "Uptime", "uptime": "Uptime",
"incident": "Incident", "incident": "Incident",
"m": "m" "m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
} }
} }

View File

@ -143,7 +143,8 @@
"wlan_users": "WLAN користувачі", "wlan_users": "WLAN користувачі",
"up": "Відправка", "up": "Відправка",
"down": "Завантаження", "down": "Завантаження",
"wait": "Будь ласка, зачекайте" "wait": "Будь ласка, зачекайте",
"empty_data": "Статус підсистеми невідомий"
}, },
"docker": { "docker": {
"rx": "RX", "rx": "RX",
@ -440,10 +441,15 @@
"storage": "Сховище" "storage": "Сховище"
}, },
"uptimekuma": { "uptimekuma": {
"up": "Sites Up", "up": "Активні сайти",
"down": "Sites Down", "down": "Неактивні сайти",
"uptime": "Uptime", "uptime": "Час роботи",
"incident": "Incident", "incident": "Інцидент",
"m": "m" "m": "хв"
},
"komga": {
"libraries": "Бібліотеки",
"series": "Серії",
"books": "Книжки"
} }
} }

View File

@ -203,7 +203,8 @@
"wlan": "WLAN", "wlan": "WLAN",
"devices": "Devices", "devices": "Devices",
"lan_devices": "LAN Devices", "lan_devices": "LAN Devices",
"wlan_devices": "WLAN Devices" "wlan_devices": "WLAN Devices",
"empty_data": "Subsystem status unknown"
}, },
"plex": { "plex": {
"streams": "Active Streams", "streams": "Active Streams",
@ -445,5 +446,10 @@
"uptime": "Uptime", "uptime": "Uptime",
"incident": "Incident", "incident": "Incident",
"m": "m" "m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
} }
} }

View File

@ -203,7 +203,8 @@
"wlan": "WLAN", "wlan": "WLAN",
"devices": "Devices", "devices": "Devices",
"lan_devices": "LAN Devices", "lan_devices": "LAN Devices",
"wlan_devices": "WLAN Devices" "wlan_devices": "WLAN Devices",
"empty_data": "Subsystem status unknown"
}, },
"plex": { "plex": {
"streams": "Active Streams", "streams": "Active Streams",
@ -445,5 +446,10 @@
"uptime": "Uptime", "uptime": "Uptime",
"incident": "Incident", "incident": "Incident",
"m": "m" "m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
} }
} }

View File

@ -203,7 +203,8 @@
"wlan": "无线局域网", "wlan": "无线局域网",
"devices": "设备", "devices": "设备",
"lan_devices": "局域网设备", "lan_devices": "局域网设备",
"wlan_devices": "无线局域网设备" "wlan_devices": "无线局域网设备",
"empty_data": "Subsystem status unknown"
}, },
"plex": { "plex": {
"streams": "活动流", "streams": "活动流",
@ -445,5 +446,10 @@
"uptime": "Uptime", "uptime": "Uptime",
"incident": "Incident", "incident": "Incident",
"m": "m" "m": "m"
},
"komga": {
"libraries": "Libraries",
"series": "Series",
"books": "Books"
} }
} }

View File

@ -4,9 +4,9 @@
"api_error": "API錯誤", "api_error": "API錯誤",
"status": "狀態", "status": "狀態",
"information": "資訊", "information": "資訊",
"url": "URL", "url": "網址",
"raw_error": "Raw Error", "raw_error": "原始錯誤",
"response_data": "Response Data" "response_data": "回復數據"
}, },
"weather": { "weather": {
"current": "目前位置", "current": "目前位置",
@ -36,9 +36,9 @@
"no_active": "無播放活動" "no_active": "無播放活動"
}, },
"jellyseerr": { "jellyseerr": {
"pending": "待", "pending": "待下載",
"approved": "已接受", "approved": "已核准",
"available": "可用的" "available": "可觀看"
}, },
"search": { "search": {
"placeholder": "搜尋…" "placeholder": "搜尋…"
@ -82,14 +82,14 @@
"books": "書籍" "books": "書籍"
}, },
"ombi": { "ombi": {
"pending": "待", "pending": "待下載",
"approved": "已接受", "approved": "已核准",
"available": "可用的" "available": "可觀看"
}, },
"overseerr": { "overseerr": {
"pending": "待", "pending": "待下載",
"approved": "已接受", "approved": "已核准",
"available": "可用的", "available": "可觀看",
"processing": "處理中" "processing": "處理中"
}, },
"pihole": { "pihole": {
@ -203,7 +203,8 @@
"wlan": "WLAN", "wlan": "WLAN",
"devices": "設備", "devices": "設備",
"lan_devices": "LAN設備", "lan_devices": "LAN設備",
"wlan_devices": "WLAN設備" "wlan_devices": "WLAN設備",
"empty_data": "Subsystem status unknown"
}, },
"plex": { "plex": {
"streams": "正在播放", "streams": "正在播放",
@ -280,8 +281,8 @@
"quicklaunch": { "quicklaunch": {
"bookmark": "書籤", "bookmark": "書籤",
"service": "服務", "service": "服務",
"search": "Search", "search": "搜尋",
"custom": "Custom" "custom": "自訂"
}, },
"homebridge": { "homebridge": {
"available_update": "系統", "available_update": "系統",
@ -292,7 +293,7 @@
"child_bridges_status": "{{ok}}/{{total}}" "child_bridges_status": "{{ok}}/{{total}}"
}, },
"autobrr": { "autobrr": {
"approvedPushes": "接受", "approvedPushes": "已核准",
"rejectedPushes": "拒絕", "rejectedPushes": "拒絕",
"filters": "篩選器", "filters": "篩選器",
"indexers": "索引器" "indexers": "索引器"
@ -424,26 +425,31 @@
"job_completion": "完成度" "job_completion": "完成度"
}, },
"cloudflared": { "cloudflared": {
"origin_ip": "Origin IP", "origin_ip": "源頭IP",
"status": "Status" "status": "狀態"
}, },
"proxmoxbackupserver": { "proxmoxbackupserver": {
"datastore_usage": "Datastore", "datastore_usage": "數據存儲",
"failed_tasks_24h": "Failed Tasks 24h", "failed_tasks_24h": "24小時內失敗任務",
"cpu_usage": "CPU", "cpu_usage": "CPU",
"memory_usage": "Memory" "memory_usage": "記憶體"
}, },
"immich": { "immich": {
"users": "Users", "users": "使用者",
"photos": "Photos", "photos": "照片",
"videos": "Videos", "videos": "影片",
"storage": "Storage" "storage": "儲存空間"
}, },
"uptimekuma": { "uptimekuma": {
"up": "Sites Up", "up": "在線網站",
"down": "Sites Down", "down": "離線網站",
"uptime": "Uptime", "uptime": "在線時間",
"incident": "Incident", "incident": "事件",
"m": "m" "m": "m"
},
"komga": {
"libraries": "文庫",
"series": "叢刊",
"books": "書刊"
} }
} }

View File

@ -20,7 +20,6 @@ export default function Widget({ options }) {
<BiError className="w-8 h-8 text-theme-800 dark:text-theme-200" /> <BiError className="w-8 h-8 text-theme-800 dark:text-theme-200" />
<div className="flex flex-col ml-3 text-left"> <div className="flex flex-col ml-3 text-left">
<span className="text-theme-800 dark:text-theme-200 text-sm">{t("widget.api_error")}</span> <span className="text-theme-800 dark:text-theme-200 text-sm">{t("widget.api_error")}</span>
<span className="text-theme-800 dark:text-theme-200 text-xs">-</span>
</div> </div>
</div> </div>
</div> </div>
@ -28,7 +27,7 @@ export default function Widget({ options }) {
); );
} }
const defaultSite = statsData?.data?.find(s => s.name === "default"); const defaultSite = options.site ? statsData?.data.find(s => s.desc === options.site) : statsData?.data?.find(s => s.name === "default");
if (!defaultSite) { if (!defaultSite) {
return ( return (
@ -55,6 +54,8 @@ export default function Widget({ options }) {
const name = wan.gw_name ?? defaultSite.desc; const name = wan.gw_name ?? defaultSite.desc;
const uptime = wan["gw_system-stats"] ? wan["gw_system-stats"].uptime : null; const uptime = wan["gw_system-stats"] ? wan["gw_system-stats"].uptime : null;
const dataEmpty = !(wan.show || lan.show || wlan.show || uptime);
return ( return (
<div className="flex-none flex flex-row items-center mr-3 py-1.5"> <div className="flex-none flex flex-row items-center mr-3 py-1.5">
<div className="flex flex-col"> <div className="flex flex-col">
@ -64,6 +65,14 @@ export default function Widget({ options }) {
{name} {name}
</div> </div>
</div> </div>
{dataEmpty && <div className="flex flex-row ml-3 text-[8px] justify-between">
<div className="flex flex-row items-center justify-end">
<div className="flex flex-row">
<BiError className="w-4 h-4 text-theme-800 dark:text-theme-200" />
<span className="text-theme-800 dark:text-theme-200 text-xs">{t("unifi.empty_data")}</span>
</div>
</div>
</div>}
<div className="flex flex-row ml-3 text-[10px] justify-between"> <div className="flex flex-row ml-3 text-[10px] justify-between">
{uptime && <div className="flex flex-row" title={t("unifi.uptime")}> {uptime && <div className="flex flex-row" title={t("unifi.uptime")}>
<div className="pr-0.5 text-theme-800 dark:text-theme-200"> <div className="pr-0.5 text-theme-800 dark:text-theme-200">

View File

@ -233,6 +233,7 @@ export function cleanServiceGroups(groups) {
currency, // coinmarketcap widget currency, // coinmarketcap widget
symbols, symbols,
defaultinterval, defaultinterval,
site, // unifi widget
namespace, // kubernetes widget namespace, // kubernetes widget
app, app,
podSelector, podSelector,
@ -256,6 +257,9 @@ export function cleanServiceGroups(groups) {
if (server) cleanedService.widget.server = server; if (server) cleanedService.widget.server = server;
if (container) cleanedService.widget.container = container; if (container) cleanedService.widget.container = container;
} }
if (type === "unifi") {
if (site) cleanedService.widget.site = site;
}
if (type === "kubernetes") { if (type === "kubernetes") {
if (namespace) cleanedService.widget.namespace = namespace; if (namespace) cleanedService.widget.namespace = namespace;
if (app) cleanedService.widget.app = app; if (app) cleanedService.widget.app = app;

View File

@ -21,6 +21,7 @@ const components = {
jackett: dynamic(() => import("./jackett/component")), jackett: dynamic(() => import("./jackett/component")),
jellyfin: dynamic(() => import("./emby/component")), jellyfin: dynamic(() => import("./emby/component")),
jellyseerr: dynamic(() => import("./jellyseerr/component")), jellyseerr: dynamic(() => import("./jellyseerr/component")),
komga: dynamic(() => import("./komga/component")),
lidarr: dynamic(() => import("./lidarr/component")), lidarr: dynamic(() => import("./lidarr/component")),
mastodon: dynamic(() => import("./mastodon/component")), mastodon: dynamic(() => import("./mastodon/component")),
medusa: dynamic(() => import("./medusa/component")), medusa: dynamic(() => import("./medusa/component")),

View File

@ -0,0 +1,37 @@
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 { t } = useTranslation();
const { widget } = service;
const { data: libraryData, error: libraryError } = useWidgetAPI(widget, "libraries");
const { data: seriesData, error: seriesError } = useWidgetAPI(widget, "series");
const { data: bookData, error: bookError } = useWidgetAPI(widget, "books");
if (libraryError || seriesError || bookError) {
const finalError = libraryError ?? seriesError ?? bookError;
return <Container error={finalError} />;
}
if (!libraryData || !seriesData || !bookData) {
return (
<Container service={service}>
<Block label="komga.libraries" />
<Block label="komga.series" />
<Block label="komga.books" />
</Container>
);
}
return (
<Container service={service}>
<Block label="komga.libraries" value={t("common.number", { value: libraryData.total })} />
<Block label="komga.series" value={t("common.number", { value: seriesData.totalElements })} />
<Block label="komga.books" value={t("common.number", { value: bookData.totalElements })} />
</Container>
);
}

View File

@ -0,0 +1,30 @@
import genericProxyHandler from "utils/proxy/handlers/generic";
import { jsonArrayFilter } from "utils/proxy/api-helpers";
const widget = {
api: "{url}/api/v1/{endpoint}",
proxyHandler: genericProxyHandler,
mappings: {
libraries: {
endpoint: "libraries",
map: (data) => ({
total: jsonArrayFilter(data, (item) => !item.unavailable).length,
}),
},
series: {
endpoint: "series",
validate: [
"totalElements"
]
},
books: {
endpoint: "books",
validate: [
"totalElements"
]
},
},
};
export default widget;

View File

@ -22,7 +22,7 @@ export default function Component({ service }) {
return ( return (
<Container service={service}> <Container service={service}>
<Block label="proxmoxbackupserver.datastore_usage" /> <Block label="proxmoxbackupserver.datastore_usage" />
<Block label="proxmoxbackupserver.failed_tasks" /> <Block label="proxmoxbackupserver.failed_tasks_24h" />
<Block label="proxmoxbackupserver.cpu_usage" /> <Block label="proxmoxbackupserver.cpu_usage" />
<Block label="proxmoxbackupserver.memory_usage" /> <Block label="proxmoxbackupserver.memory_usage" />
</Container> </Container>

View File

@ -15,7 +15,7 @@ export default function Component({ service }) {
return <Container error={statsError} />; return <Container error={statsError} />;
} }
const defaultSite = statsData?.data?.find(s => s.name === "default"); const defaultSite = widget.site ? statsData?.data.find(s => s.desc === widget.site) : statsData?.data?.find(s => s.name === "default");
if (!defaultSite) { if (!defaultSite) {
return ( return (
@ -38,6 +38,14 @@ export default function Component({ service }) {
const uptime = wan["gw_system-stats"] ? `${t("common.number", { value: wan["gw_system-stats"].uptime / 86400, maximumFractionDigits: 1 })} ${t("unifi.days")}` : null; const uptime = wan["gw_system-stats"] ? `${t("common.number", { value: wan["gw_system-stats"].uptime / 86400, maximumFractionDigits: 1 })} ${t("unifi.days")}` : null;
if (!(wan.show || lan.show || wlan.show || uptime)) {
return (
<Container service={service}>
<Block value={ t("unifi.empty_data") } />
</Container>
)
}
return ( return (
<Container service={service}> <Container service={service}>
{uptime && <Block label="unifi.uptime" value={ uptime } />} {uptime && <Block label="unifi.uptime" value={ uptime } />}

View File

@ -15,6 +15,7 @@ import hdhomerun from "./hdhomerun/widget";
import homebridge from "./homebridge/widget"; import homebridge from "./homebridge/widget";
import jackett from "./jackett/widget"; import jackett from "./jackett/widget";
import jellyseerr from "./jellyseerr/widget"; import jellyseerr from "./jellyseerr/widget";
import komga from "./komga/widget";
import lidarr from "./lidarr/widget"; import lidarr from "./lidarr/widget";
import mastodon from "./mastodon/widget"; import mastodon from "./mastodon/widget";
import medusa from "./medusa/widget"; import medusa from "./medusa/widget";
@ -80,6 +81,7 @@ const widgets = {
jackett, jackett,
jellyfin: emby, jellyfin: emby,
jellyseerr, jellyseerr,
komga,
lidarr, lidarr,
mastodon, mastodon,
medusa, medusa,