mirror of
https://github.com/gethomepage/homepage.git
synced 2025-12-05 21:47:48 +01:00
Compare commits
146 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
af2566c237 | ||
|
|
bf2f527f76 | ||
|
|
009b13817a | ||
|
|
397dfa98a2 | ||
|
|
b46f07244a | ||
|
|
371aec0d98 | ||
|
|
f6aef7e2f9 | ||
|
|
8a1be1e02d | ||
|
|
e2d5f94b04 | ||
|
|
7b455e0c1b | ||
|
|
4aedbe4bdc | ||
|
|
c2ed7feab7 | ||
|
|
0989c02d38 | ||
|
|
dd026c85d9 | ||
|
|
66e45d2594 | ||
|
|
ea578d6185 | ||
|
|
aadb2ecdb3 | ||
|
|
296e80b7d5 | ||
|
|
6f298eb4ee | ||
|
|
644fcdc57b | ||
|
|
f9b963da6b | ||
|
|
56be3474db | ||
|
|
2850111024 | ||
|
|
abe20929c3 | ||
|
|
820eaa67d7 | ||
|
|
3ce25830cc | ||
|
|
6e899c0684 | ||
|
|
40bf9202ec | ||
|
|
92ba57e1e0 | ||
|
|
34ca28b65f | ||
|
|
34ebf27b06 | ||
|
|
3adfaf9e26 | ||
|
|
5bdef9c6a1 | ||
|
|
e5bd5bb423 | ||
|
|
5bc7fc168c | ||
|
|
44c99af690 | ||
|
|
befefd9af6 | ||
|
|
78e92dac22 | ||
|
|
af147c0da0 | ||
|
|
6d5434fa3a | ||
|
|
cbf11e3fb4 | ||
|
|
e9790e5677 | ||
|
|
86383e5dce | ||
|
|
449c23a63d | ||
|
|
829f7e33bc | ||
|
|
9f4237f07d | ||
|
|
7458b9f685 | ||
|
|
9a11cd5f81 | ||
|
|
81aaf5aa56 | ||
|
|
716660318b | ||
|
|
a861971ba6 | ||
|
|
6a7a30b423 | ||
|
|
e60768d156 | ||
|
|
dfa9cf29f9 | ||
|
|
ab576f173b | ||
|
|
10604fc5d2 | ||
|
|
ebc8b745a4 | ||
|
|
f0151a5d57 | ||
|
|
76274a7843 | ||
|
|
20635da031 | ||
|
|
a52f4ed984 | ||
|
|
1f4e89cf10 | ||
|
|
2ae71a27fe | ||
|
|
eb508170f0 | ||
|
|
7ba37c894d | ||
|
|
37d7a94d8a | ||
|
|
98595a84e2 | ||
|
|
509d0a785e | ||
|
|
49e564af8a | ||
|
|
72a65e9a15 | ||
|
|
dcbfd25d04 | ||
|
|
e7e46db9a1 | ||
|
|
4c2cbb180f | ||
|
|
6b56311955 | ||
|
|
7cce64a91a | ||
|
|
aaf4a5855e | ||
|
|
2e83eec155 | ||
|
|
21e9b55b74 | ||
|
|
5976a3c27f | ||
|
|
cb9755d8e6 | ||
|
|
c139fbebd7 | ||
|
|
8ef7b301ec | ||
|
|
102ce2b1fe | ||
|
|
fe494a4ab3 | ||
|
|
8dcb3a27bd | ||
|
|
7740f7e2dd | ||
|
|
99efe2e7aa | ||
|
|
79df42a743 | ||
|
|
555e9463e8 | ||
|
|
a2424ea0bd | ||
|
|
743e9dcbf8 | ||
|
|
350bb1ff25 | ||
|
|
bf50eaff17 | ||
|
|
2594068fd0 | ||
|
|
72f66385ae | ||
|
|
9cae86d88b | ||
|
|
9f5b381b17 | ||
|
|
707bb93ad6 | ||
|
|
dfcd4d8e84 | ||
|
|
3d99302e33 | ||
|
|
a5036a701b | ||
|
|
3aa0fd594c | ||
|
|
67c60b4256 | ||
|
|
42675c2e71 | ||
|
|
35098385c0 | ||
|
|
409204c564 | ||
|
|
7ad59dc85f | ||
|
|
f87d3d4ae3 | ||
|
|
c84fecd981 | ||
|
|
321ede5297 | ||
|
|
6bea32ad83 | ||
|
|
2a73b603c9 | ||
|
|
8203537915 | ||
|
|
c56f48fb42 | ||
|
|
743267ba7b | ||
|
|
218327b4a2 | ||
|
|
7754b8b8f1 | ||
|
|
c0df7db05e | ||
|
|
2c8aea1cd9 | ||
|
|
d0ba6aebbf | ||
|
|
5ed50bbb57 | ||
|
|
311b7b1cea | ||
|
|
101b706cd9 | ||
|
|
bdfb09b1a4 | ||
|
|
65c06adb5a | ||
|
|
8c26da6655 | ||
|
|
c0d58d8206 | ||
|
|
c2136e8353 | ||
|
|
bc26d4f3b3 | ||
|
|
563cc9ce60 | ||
|
|
060d5afcaa | ||
|
|
8e9ce016b1 | ||
|
|
b65f6fca19 | ||
|
|
f8f96645b0 | ||
|
|
81a2e1e692 | ||
|
|
50a9bdbcb8 | ||
|
|
601edb8d6b | ||
|
|
9eafac346b | ||
|
|
767fc1ec39 | ||
|
|
09fa08b037 | ||
|
|
fe204dd0c3 | ||
|
|
93fe847667 | ||
|
|
f474b746d3 | ||
|
|
b69bb94253 | ||
|
|
9df4ba0881 | ||
|
|
b2f26e1a43 |
@@ -283,7 +283,9 @@
|
||||
"bookmark": "مفضلة",
|
||||
"service": "خدمة",
|
||||
"search": "Search",
|
||||
"custom": "Custom"
|
||||
"custom": "Custom",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
},
|
||||
"homebridge": {
|
||||
"available_update": "نظام",
|
||||
@@ -508,5 +510,14 @@
|
||||
"status": "Status",
|
||||
"last_ping": "Last Ping",
|
||||
"never": "No pings yet"
|
||||
},
|
||||
"pterodactyl": {
|
||||
"servers": "Servers",
|
||||
"nodes": "Nodes"
|
||||
},
|
||||
"prometheus": {
|
||||
"targets_up": "Targets Up",
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -283,7 +283,9 @@
|
||||
"bookmark": "Bookmark",
|
||||
"service": "Service",
|
||||
"search": "Search",
|
||||
"custom": "Custom"
|
||||
"custom": "Custom",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
},
|
||||
"homebridge": {
|
||||
"available_update": "System",
|
||||
@@ -508,5 +510,14 @@
|
||||
"status": "Status",
|
||||
"last_ping": "Last Ping",
|
||||
"never": "No pings yet"
|
||||
},
|
||||
"pterodactyl": {
|
||||
"servers": "Servers",
|
||||
"nodes": "Nodes"
|
||||
},
|
||||
"prometheus": {
|
||||
"targets_up": "Targets Up",
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -283,7 +283,9 @@
|
||||
"bookmark": "Marcador",
|
||||
"service": "Servei",
|
||||
"search": "Search",
|
||||
"custom": "Custom"
|
||||
"custom": "Custom",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
},
|
||||
"homebridge": {
|
||||
"available_update": "Sistema",
|
||||
@@ -508,5 +510,14 @@
|
||||
"status": "Status",
|
||||
"last_ping": "Last Ping",
|
||||
"never": "No pings yet"
|
||||
},
|
||||
"pterodactyl": {
|
||||
"servers": "Servers",
|
||||
"nodes": "Nodes"
|
||||
},
|
||||
"prometheus": {
|
||||
"targets_up": "Targets Up",
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,10 +15,10 @@
|
||||
"missing_type": "Chybí typ widgetu: {{type}}",
|
||||
"api_error": "Chyba API",
|
||||
"status": "Status",
|
||||
"information": "Information",
|
||||
"information": "Informace",
|
||||
"url": "URL",
|
||||
"raw_error": "Raw Error",
|
||||
"response_data": "Response Data"
|
||||
"response_data": "Data odpovědi"
|
||||
},
|
||||
"weather": {
|
||||
"current": "Aktuální poloha",
|
||||
@@ -52,7 +52,7 @@
|
||||
"up": "BĚŽÍ",
|
||||
"down": "NEBĚŽÍ",
|
||||
"wait": "Počkejte prosím",
|
||||
"empty_data": "Subsystem status unknown"
|
||||
"empty_data": "Status podsystému neznámý"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
@@ -60,8 +60,8 @@
|
||||
"mem": "RAM",
|
||||
"cpu": "CPU",
|
||||
"offline": "Offline",
|
||||
"error": "Error",
|
||||
"unknown": "Unknown"
|
||||
"error": "Chyba",
|
||||
"unknown": "Neznámý"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "Přehrává",
|
||||
@@ -150,7 +150,7 @@
|
||||
"pending": "Čeká",
|
||||
"approved": "Schváleno",
|
||||
"available": "Dostupný",
|
||||
"processing": "Processing"
|
||||
"processing": "Zpracováváno"
|
||||
},
|
||||
"pihole": {
|
||||
"queries": "Dotazy",
|
||||
@@ -295,7 +295,9 @@
|
||||
"bookmark": "Záložka",
|
||||
"service": "Služba",
|
||||
"search": "Search",
|
||||
"custom": "Custom"
|
||||
"custom": "Custom",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
},
|
||||
"homebridge": {
|
||||
"update_available": "Dostupná aktualizace",
|
||||
@@ -317,8 +319,8 @@
|
||||
"indexers": "Indexery"
|
||||
},
|
||||
"navidrome": {
|
||||
"nothing_streaming": "No Active Streams",
|
||||
"please_wait": "Please Wait"
|
||||
"nothing_streaming": "Žádné aktivní streams",
|
||||
"please_wait": "Prosím vyčkejte"
|
||||
},
|
||||
"pyload": {
|
||||
"speed": "Speed",
|
||||
@@ -336,8 +338,8 @@
|
||||
"hd": "HD"
|
||||
},
|
||||
"ping": {
|
||||
"error": "Error",
|
||||
"ping": "Ping"
|
||||
"error": "Chyba",
|
||||
"ping": "Odezva"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Passed",
|
||||
@@ -349,22 +351,22 @@
|
||||
"total": "Total"
|
||||
},
|
||||
"deluge": {
|
||||
"upload": "Upload",
|
||||
"upload": "Nahrávání",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed",
|
||||
"download": "Download"
|
||||
"download": "Stahování"
|
||||
},
|
||||
"flood": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"download": "Stahování",
|
||||
"upload": "Nahrávání",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"tdarr": {
|
||||
"queue": "Queue",
|
||||
"processed": "Processed",
|
||||
"errored": "Errored",
|
||||
"saved": "Saved"
|
||||
"queue": "Fronta",
|
||||
"processed": "Zpracováno",
|
||||
"errored": "Chybné",
|
||||
"saved": "Uložené"
|
||||
},
|
||||
"miniflux": {
|
||||
"read": "Read",
|
||||
@@ -379,15 +381,15 @@
|
||||
"bibitrate": "{{value, rate(bits: true; binary: true)}}"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Connected APs",
|
||||
"activeUser": "Active devices",
|
||||
"alerts": "Alerts",
|
||||
"connectedGateway": "Connected gateways",
|
||||
"connectedSwitches": "Connected switches"
|
||||
"connectedAp": "Připojené APs",
|
||||
"activeUser": "Aktivní zařízení",
|
||||
"alerts": "Upozornění",
|
||||
"connectedGateway": "Připojené brány",
|
||||
"connectedSwitches": "Připojené přepínače"
|
||||
},
|
||||
"downloadstation": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"download": "Stahování",
|
||||
"upload": "Nahrávání",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
@@ -508,5 +510,14 @@
|
||||
"status": "Status",
|
||||
"last_ping": "Last Ping",
|
||||
"never": "No pings yet"
|
||||
},
|
||||
"pterodactyl": {
|
||||
"servers": "Servers",
|
||||
"nodes": "Nodes"
|
||||
},
|
||||
"prometheus": {
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets",
|
||||
"targets_up": "Targets Up"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -291,7 +291,9 @@
|
||||
"bookmark": "Bogmærker",
|
||||
"service": "Service",
|
||||
"search": "Search",
|
||||
"custom": "Custom"
|
||||
"custom": "Custom",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
},
|
||||
"watchtower": {
|
||||
"containers_scanned": "Scannet",
|
||||
@@ -508,5 +510,14 @@
|
||||
"status": "Status",
|
||||
"last_ping": "Last Ping",
|
||||
"never": "No pings yet"
|
||||
},
|
||||
"pterodactyl": {
|
||||
"servers": "Servers",
|
||||
"nodes": "Nodes"
|
||||
},
|
||||
"prometheus": {
|
||||
"targets_up": "Targets Up",
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -283,7 +283,9 @@
|
||||
"bookmark": "Lesezeichen",
|
||||
"service": "Dienst",
|
||||
"search": "Search",
|
||||
"custom": "Custom"
|
||||
"custom": "Custom",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
},
|
||||
"homebridge": {
|
||||
"available_update": "System",
|
||||
@@ -508,5 +510,14 @@
|
||||
"status": "Status",
|
||||
"last_ping": "Last Ping",
|
||||
"never": "No pings yet"
|
||||
},
|
||||
"pterodactyl": {
|
||||
"servers": "Servers",
|
||||
"nodes": "Nodes"
|
||||
},
|
||||
"prometheus": {
|
||||
"targets_up": "Targets Up",
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -286,7 +286,9 @@
|
||||
"bookmark": "Bookmark",
|
||||
"service": "Service",
|
||||
"search": "Search",
|
||||
"custom": "Custom"
|
||||
"custom": "Custom",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "Sunny",
|
||||
@@ -517,5 +519,14 @@
|
||||
"active_workers": "Active Workers",
|
||||
"total_workers": "Total Workers",
|
||||
"records_total": "Queue Length"
|
||||
},
|
||||
"pterodactyl": {
|
||||
"servers": "Servers",
|
||||
"nodes": "Nodes"
|
||||
},
|
||||
"prometheus": {
|
||||
"targets_up": "Targets Up",
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -239,7 +239,9 @@
|
||||
"bookmark": "Bookmark",
|
||||
"service": "Servo",
|
||||
"search": "Search",
|
||||
"custom": "Custom"
|
||||
"custom": "Custom",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "Suna",
|
||||
@@ -508,5 +510,14 @@
|
||||
"status": "Status",
|
||||
"last_ping": "Last Ping",
|
||||
"never": "No pings yet"
|
||||
},
|
||||
"pterodactyl": {
|
||||
"servers": "Servers",
|
||||
"nodes": "Nodes"
|
||||
},
|
||||
"prometheus": {
|
||||
"targets_up": "Targets Up",
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -283,7 +283,9 @@
|
||||
"bookmark": "Marcadores",
|
||||
"service": "Servicio",
|
||||
"search": "Buscar",
|
||||
"custom": "Personalizado"
|
||||
"custom": "Personalizado",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
},
|
||||
"homebridge": {
|
||||
"available_update": "Sistema",
|
||||
@@ -500,13 +502,22 @@
|
||||
"records_total": "Duración de la cola"
|
||||
},
|
||||
"healthchecks": {
|
||||
"new": "New",
|
||||
"up": "Online",
|
||||
"down": "Offline",
|
||||
"grace": "In Grace Period",
|
||||
"paused": "Paused",
|
||||
"status": "Status",
|
||||
"last_ping": "Last Ping",
|
||||
"never": "No pings yet"
|
||||
"new": "Nuevo",
|
||||
"up": "Conectado",
|
||||
"down": "Desconectado",
|
||||
"grace": "En Periodo de Gracia",
|
||||
"paused": "Pausado",
|
||||
"status": "Estado",
|
||||
"last_ping": "Último Ping",
|
||||
"never": "Aún no hay pings"
|
||||
},
|
||||
"pterodactyl": {
|
||||
"servers": "Servidores",
|
||||
"nodes": "Nodos"
|
||||
},
|
||||
"prometheus": {
|
||||
"targets_up": "Objetivos arriba",
|
||||
"targets_down": "Objetivos abajo",
|
||||
"targets_total": "Objetivos totales"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -283,7 +283,9 @@
|
||||
"bookmark": "Bookmark",
|
||||
"service": "Service",
|
||||
"search": "Search",
|
||||
"custom": "Custom"
|
||||
"custom": "Custom",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
},
|
||||
"homebridge": {
|
||||
"available_update": "System",
|
||||
@@ -508,5 +510,14 @@
|
||||
"status": "Status",
|
||||
"last_ping": "Last Ping",
|
||||
"never": "No pings yet"
|
||||
},
|
||||
"pterodactyl": {
|
||||
"servers": "Servers",
|
||||
"nodes": "Nodes"
|
||||
},
|
||||
"prometheus": {
|
||||
"targets_up": "Targets Up",
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -283,7 +283,9 @@
|
||||
"bookmark": "Signet",
|
||||
"service": "Service",
|
||||
"search": "Recherche",
|
||||
"custom": "Personnalisé"
|
||||
"custom": "Personnalisé",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
},
|
||||
"homebridge": {
|
||||
"available_update": "Système",
|
||||
@@ -500,13 +502,22 @@
|
||||
"records_total": "En attente"
|
||||
},
|
||||
"healthchecks": {
|
||||
"new": "New",
|
||||
"up": "Online",
|
||||
"grace": "In Grace Period",
|
||||
"down": "Offline",
|
||||
"paused": "Paused",
|
||||
"status": "Status",
|
||||
"last_ping": "Last Ping",
|
||||
"never": "No pings yet"
|
||||
"new": "Nouveau",
|
||||
"up": "En ligne",
|
||||
"grace": "En Période de Grâce",
|
||||
"down": "Hors ligne",
|
||||
"paused": "En Pause",
|
||||
"status": "Statut",
|
||||
"last_ping": "Dernier Ping",
|
||||
"never": "Pas de Ping"
|
||||
},
|
||||
"pterodactyl": {
|
||||
"servers": "Serveurs",
|
||||
"nodes": "Nœuds"
|
||||
},
|
||||
"prometheus": {
|
||||
"targets_up": "Targets Up",
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -283,7 +283,9 @@
|
||||
"bookmark": "Bookmark",
|
||||
"service": "Service",
|
||||
"search": "Search",
|
||||
"custom": "Custom"
|
||||
"custom": "Custom",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
},
|
||||
"homebridge": {
|
||||
"available_update": "System",
|
||||
@@ -508,5 +510,14 @@
|
||||
"grace": "In Grace Period",
|
||||
"down": "Offline",
|
||||
"never": "No pings yet"
|
||||
},
|
||||
"pterodactyl": {
|
||||
"servers": "Servers",
|
||||
"nodes": "Nodes"
|
||||
},
|
||||
"prometheus": {
|
||||
"targets_up": "Targets Up",
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -229,7 +229,9 @@
|
||||
"bookmark": "Bookmark",
|
||||
"service": "Service",
|
||||
"search": "Search",
|
||||
"custom": "Custom"
|
||||
"custom": "Custom",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "Sunny",
|
||||
@@ -508,5 +510,14 @@
|
||||
"status": "Status",
|
||||
"last_ping": "Last Ping",
|
||||
"never": "No pings yet"
|
||||
},
|
||||
"pterodactyl": {
|
||||
"servers": "Servers",
|
||||
"nodes": "Nodes"
|
||||
},
|
||||
"prometheus": {
|
||||
"targets_up": "Targets Up",
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -283,7 +283,9 @@
|
||||
"bookmark": "Straničnik",
|
||||
"service": "Usluga",
|
||||
"search": "Search",
|
||||
"custom": "Custom"
|
||||
"custom": "Custom",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
},
|
||||
"homebridge": {
|
||||
"available_update": "Sustav",
|
||||
@@ -508,5 +510,14 @@
|
||||
"status": "Status",
|
||||
"last_ping": "Last Ping",
|
||||
"never": "No pings yet"
|
||||
},
|
||||
"pterodactyl": {
|
||||
"servers": "Servers",
|
||||
"nodes": "Nodes"
|
||||
},
|
||||
"prometheus": {
|
||||
"targets_up": "Targets Up",
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -283,7 +283,9 @@
|
||||
"bookmark": "Bookmark",
|
||||
"service": "Service",
|
||||
"search": "Search",
|
||||
"custom": "Custom"
|
||||
"custom": "Custom",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
},
|
||||
"homebridge": {
|
||||
"available_update": "System",
|
||||
@@ -508,5 +510,14 @@
|
||||
"status": "Status",
|
||||
"last_ping": "Last Ping",
|
||||
"never": "No pings yet"
|
||||
},
|
||||
"pterodactyl": {
|
||||
"servers": "Servers",
|
||||
"nodes": "Nodes"
|
||||
},
|
||||
"prometheus": {
|
||||
"targets_up": "Targets Up",
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -283,7 +283,9 @@
|
||||
"bookmark": "Segnalibro",
|
||||
"service": "Servizio",
|
||||
"search": "Search",
|
||||
"custom": "Custom"
|
||||
"custom": "Custom",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
},
|
||||
"homebridge": {
|
||||
"available_update": "Sistema",
|
||||
@@ -508,5 +510,14 @@
|
||||
"status": "Status",
|
||||
"last_ping": "Last Ping",
|
||||
"never": "No pings yet"
|
||||
},
|
||||
"pterodactyl": {
|
||||
"servers": "Servers",
|
||||
"nodes": "Nodes"
|
||||
},
|
||||
"prometheus": {
|
||||
"targets_up": "Targets Up",
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -283,7 +283,9 @@
|
||||
"bookmark": "Bookmark",
|
||||
"service": "Service",
|
||||
"search": "Search",
|
||||
"custom": "Custom"
|
||||
"custom": "Custom",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "Sunny",
|
||||
@@ -508,5 +510,14 @@
|
||||
"paused": "Paused",
|
||||
"status": "Status",
|
||||
"last_ping": "Last Ping"
|
||||
},
|
||||
"pterodactyl": {
|
||||
"servers": "Servers",
|
||||
"nodes": "Nodes"
|
||||
},
|
||||
"prometheus": {
|
||||
"targets_up": "Targets Up",
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -277,7 +277,9 @@
|
||||
"bookmark": "Bookmark",
|
||||
"service": "Service",
|
||||
"search": "Search",
|
||||
"custom": "Custom"
|
||||
"custom": "Custom",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "Saulains",
|
||||
@@ -508,5 +510,14 @@
|
||||
"status": "Status",
|
||||
"last_ping": "Last Ping",
|
||||
"never": "No pings yet"
|
||||
},
|
||||
"pterodactyl": {
|
||||
"servers": "Servers",
|
||||
"nodes": "Nodes"
|
||||
},
|
||||
"prometheus": {
|
||||
"targets_up": "Targets Up",
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,7 +66,9 @@
|
||||
"bookmark": "Tandabuku",
|
||||
"service": "Servis",
|
||||
"search": "Search",
|
||||
"custom": "Custom"
|
||||
"custom": "Custom",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "Terik",
|
||||
@@ -508,5 +510,14 @@
|
||||
"status": "Status",
|
||||
"last_ping": "Last Ping",
|
||||
"never": "No pings yet"
|
||||
},
|
||||
"pterodactyl": {
|
||||
"servers": "Servers",
|
||||
"nodes": "Nodes"
|
||||
},
|
||||
"prometheus": {
|
||||
"targets_up": "Targets Up",
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -283,7 +283,9 @@
|
||||
"bookmark": "Bookmark",
|
||||
"service": "Service",
|
||||
"search": "Search",
|
||||
"custom": "Custom"
|
||||
"custom": "Custom",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
},
|
||||
"homebridge": {
|
||||
"available_update": "System",
|
||||
@@ -508,5 +510,14 @@
|
||||
"status": "Status",
|
||||
"last_ping": "Last Ping",
|
||||
"never": "No pings yet"
|
||||
},
|
||||
"pterodactyl": {
|
||||
"servers": "Servers",
|
||||
"nodes": "Nodes"
|
||||
},
|
||||
"prometheus": {
|
||||
"targets_up": "Targets Up",
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -283,7 +283,9 @@
|
||||
"bookmark": "Bookmark",
|
||||
"service": "Service",
|
||||
"search": "Search",
|
||||
"custom": "Custom"
|
||||
"custom": "Custom",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
},
|
||||
"homebridge": {
|
||||
"available_update": "System",
|
||||
@@ -508,5 +510,14 @@
|
||||
"status": "Status",
|
||||
"last_ping": "Last Ping",
|
||||
"never": "No pings yet"
|
||||
},
|
||||
"pterodactyl": {
|
||||
"servers": "Servers",
|
||||
"nodes": "Nodes"
|
||||
},
|
||||
"prometheus": {
|
||||
"targets_up": "Targets Up",
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -283,7 +283,9 @@
|
||||
"bookmark": "Zakładka",
|
||||
"service": "Usługi",
|
||||
"search": "Search",
|
||||
"custom": "Custom"
|
||||
"custom": "Custom",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
},
|
||||
"homebridge": {
|
||||
"available_update": "System",
|
||||
@@ -508,5 +510,14 @@
|
||||
"status": "Status",
|
||||
"last_ping": "Last Ping",
|
||||
"never": "No pings yet"
|
||||
},
|
||||
"pterodactyl": {
|
||||
"servers": "Servers",
|
||||
"nodes": "Nodes"
|
||||
},
|
||||
"prometheus": {
|
||||
"targets_up": "Targets Up",
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -33,14 +33,14 @@
|
||||
"status": "Status",
|
||||
"information": "Informação",
|
||||
"url": "URL",
|
||||
"raw_error": "Raw Error",
|
||||
"raw_error": "Erro Bruto",
|
||||
"response_data": "Dados de Resposta"
|
||||
},
|
||||
"weather": {
|
||||
"current": "Localização atual",
|
||||
"allow": "Clique para permitir",
|
||||
"updating": "Atualizando",
|
||||
"wait": "Aguarde, por favor"
|
||||
"wait": "Por favor aguarde"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Buscar…"
|
||||
@@ -134,7 +134,7 @@
|
||||
},
|
||||
"pihole": {
|
||||
"queries": "Consultas",
|
||||
"blocked": "Bloquado",
|
||||
"blocked": "Bloqueados",
|
||||
"gravity": "Gravity"
|
||||
},
|
||||
"adguard": {
|
||||
@@ -165,9 +165,9 @@
|
||||
},
|
||||
"prowlarr": {
|
||||
"enableIndexers": "Indexadores",
|
||||
"numberOfGrabs": "Pegos",
|
||||
"numberOfGrabs": "Buscas",
|
||||
"numberOfQueries": "Consultas",
|
||||
"numberOfFailGrabs": "Fail Grabs",
|
||||
"numberOfFailGrabs": "Buscas sem êxito",
|
||||
"numberOfFailQueries": "Consultas Falhas"
|
||||
},
|
||||
"jackett": {
|
||||
@@ -182,11 +182,11 @@
|
||||
"authentik": {
|
||||
"users": "Usuários",
|
||||
"loginsLast24H": "Logins (24h)",
|
||||
"failedLoginsLast24H": "Failed Logins (24h)"
|
||||
"failedLoginsLast24H": "Logins Falhos (24h)"
|
||||
},
|
||||
"proxmox": {
|
||||
"mem": "Memória",
|
||||
"cpu": "Processador",
|
||||
"cpu": "CPU",
|
||||
"lxc": "LXC",
|
||||
"vms": "VMs"
|
||||
},
|
||||
@@ -199,13 +199,13 @@
|
||||
"wlan_users": "Usuarios WLAN",
|
||||
"up": "LIGADO",
|
||||
"down": "CÁIDO",
|
||||
"wait": "Por favor guarde",
|
||||
"wait": "Por favor aguarde",
|
||||
"lan": "LAN",
|
||||
"wlan": "WLAN",
|
||||
"devices": "Dispositivos",
|
||||
"lan_devices": "Dispositivos LAN",
|
||||
"wlan_devices": "Dispositivos WLAN",
|
||||
"empty_data": "Subsystem status unknown"
|
||||
"empty_data": "Status de Subsistema Desconhecido"
|
||||
},
|
||||
"plex": {
|
||||
"streams": "Transmissões ativas",
|
||||
@@ -215,105 +215,107 @@
|
||||
"glances": {
|
||||
"cpu": "CPU",
|
||||
"mem": "MEM",
|
||||
"wait": "Please wait"
|
||||
"wait": "Por favor aguarde"
|
||||
},
|
||||
"changedetectionio": {
|
||||
"totalObserved": "Observados",
|
||||
"diffsDetected": "Mudanças"
|
||||
},
|
||||
"wmo": {
|
||||
"1-night": "Mainly Clear",
|
||||
"2-day": "Partly Cloudy",
|
||||
"1-night": "Principalmente Limpo",
|
||||
"2-day": "Parcialmente Nublado",
|
||||
"2-night": "Parcialmente nublado",
|
||||
"3-day": "Nublado",
|
||||
"3-night": "Nublado",
|
||||
"45-day": "Névoa",
|
||||
"45-night": "Foggy",
|
||||
"48-day": "Foggy",
|
||||
"48-night": "Foggy",
|
||||
"56-night": "Light Freezing Drizzle",
|
||||
"57-day": "Freezing Drizzle",
|
||||
"99-day": "Thunderstorm With Hail",
|
||||
"99-night": "Thunderstorm With Hail",
|
||||
"45-night": "Névoa",
|
||||
"48-day": "Névoa",
|
||||
"48-night": "Névoa",
|
||||
"56-night": "Leve Garoa Congelante",
|
||||
"57-day": "Garoa Congelante",
|
||||
"99-day": "Trovoada Com Granizo",
|
||||
"99-night": "Trovoada Com Granizo",
|
||||
"0-day": "Ensolarado",
|
||||
"53-day": "Drizzle",
|
||||
"53-day": "Garoando",
|
||||
"0-night": "Limpo",
|
||||
"1-day": "Mainly Sunny",
|
||||
"51-day": "Light Drizzle",
|
||||
"51-night": "Light Drizzle",
|
||||
"53-night": "Drizzle",
|
||||
"55-day": "Heavy Drizzle",
|
||||
"55-night": "Heavy Drizzle",
|
||||
"56-day": "Light Freezing Drizzle",
|
||||
"57-night": "Freezing Drizzle",
|
||||
"61-day": "Light Rain",
|
||||
"61-night": "Light Rain",
|
||||
"63-day": "Rain",
|
||||
"63-night": "Rain",
|
||||
"65-day": "Heavy Rain",
|
||||
"65-night": "Heavy Rain",
|
||||
"66-day": "Freezing Rain",
|
||||
"66-night": "Freezing Rain",
|
||||
"67-day": "Freezing Rain",
|
||||
"67-night": "Freezing Rain",
|
||||
"71-day": "Light Snow",
|
||||
"71-night": "Light Snow",
|
||||
"73-day": "Snow",
|
||||
"73-night": "Snow",
|
||||
"75-day": "Heavy Snow",
|
||||
"75-night": "Heavy Snow",
|
||||
"77-day": "Snow Grains",
|
||||
"77-night": "Snow Grains",
|
||||
"80-day": "Light Showers",
|
||||
"80-night": "Light Showers",
|
||||
"81-day": "Showers",
|
||||
"81-night": "Showers",
|
||||
"82-day": "Heavy Showers",
|
||||
"82-night": "Heavy Showers",
|
||||
"85-day": "Snow Showers",
|
||||
"85-night": "Snow Showers",
|
||||
"86-day": "Snow Showers",
|
||||
"86-night": "Snow Showers",
|
||||
"95-day": "Thunderstorm",
|
||||
"95-night": "Thunderstorm",
|
||||
"96-day": "Thunderstorm With Hail",
|
||||
"96-night": "Thunderstorm With Hail"
|
||||
"1-day": "Principalmente Ensolarado",
|
||||
"51-day": "Leve Garoa",
|
||||
"51-night": "Leve Garoa",
|
||||
"53-night": "Garoando",
|
||||
"55-day": "Garoa Pesada",
|
||||
"55-night": "Garoa Pesada",
|
||||
"56-day": "Leve Garoa Congelante",
|
||||
"57-night": "Garoa Congelante",
|
||||
"61-day": "Chuva Leve",
|
||||
"61-night": "Chuva Leve",
|
||||
"63-day": "Chuva",
|
||||
"63-night": "Chuva",
|
||||
"65-day": "Chuva Pesada",
|
||||
"65-night": "Chuva Pesada",
|
||||
"66-day": "Chuva Congelante",
|
||||
"66-night": "Chuva Congelante",
|
||||
"67-day": "Chuva Congelante",
|
||||
"67-night": "Chuva Congelante",
|
||||
"71-day": "Neve Leve",
|
||||
"71-night": "Neve Leve",
|
||||
"73-day": "Neve",
|
||||
"73-night": "Neve",
|
||||
"75-day": "Neve Pesada",
|
||||
"75-night": "Neve Pesada",
|
||||
"77-day": "Grãos de Neve",
|
||||
"77-night": "Grãos de Neve",
|
||||
"80-day": "Chuviscos Leve",
|
||||
"80-night": "Chuviscos Leve",
|
||||
"81-day": "Chuviscos",
|
||||
"81-night": "Chuviscos",
|
||||
"82-day": "Chuviscos Pesado",
|
||||
"82-night": "Chuviscos Pesado",
|
||||
"85-day": "Precipitação de Neve",
|
||||
"85-night": "Precipitação de Neve",
|
||||
"86-day": "Precipitação de Neve",
|
||||
"86-night": "Precipitação de Neve",
|
||||
"95-day": "Trovoada",
|
||||
"95-night": "Trovoada",
|
||||
"96-day": "Trovoada Com Granizo",
|
||||
"96-night": "Trovoada Com Granizo"
|
||||
},
|
||||
"quicklaunch": {
|
||||
"bookmark": "Bookmark",
|
||||
"service": "Service",
|
||||
"search": "Search",
|
||||
"custom": "Custom"
|
||||
"bookmark": "Favorito",
|
||||
"service": "Serviço",
|
||||
"search": "Busca",
|
||||
"custom": "Personalizado",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
},
|
||||
"homebridge": {
|
||||
"available_update": "System",
|
||||
"updates": "Updates",
|
||||
"update_available": "Update Available",
|
||||
"up_to_date": "Up to Date",
|
||||
"child_bridges": "Child Bridges",
|
||||
"available_update": "Sistema",
|
||||
"updates": "Atualizações",
|
||||
"update_available": "Atualização Disponível",
|
||||
"up_to_date": "Atualizado",
|
||||
"child_bridges": "Pontes Filhas",
|
||||
"child_bridges_status": "{{ok}}/{{total}}"
|
||||
},
|
||||
"autobrr": {
|
||||
"approvedPushes": "Approved",
|
||||
"rejectedPushes": "Rejected",
|
||||
"filters": "Filters",
|
||||
"indexers": "Indexers"
|
||||
"approvedPushes": "Aprovado",
|
||||
"rejectedPushes": "Rejeitado",
|
||||
"filters": "Filtros",
|
||||
"indexers": "Indexadores"
|
||||
},
|
||||
"watchtower": {
|
||||
"containers_scanned": "Scanned",
|
||||
"containers_updated": "Updated",
|
||||
"containers_failed": "Failed"
|
||||
"containers_scanned": "Escaneado",
|
||||
"containers_updated": "Atualizado",
|
||||
"containers_failed": "Falha"
|
||||
},
|
||||
"tubearchivist": {
|
||||
"downloads": "Queue",
|
||||
"videos": "Videos",
|
||||
"channels": "Channels",
|
||||
"playlists": "Playlists"
|
||||
"downloads": "Fila",
|
||||
"videos": "Vídeos",
|
||||
"channels": "Canais",
|
||||
"playlists": "Listas"
|
||||
},
|
||||
"truenas": {
|
||||
"load": "System Load",
|
||||
"uptime": "Uptime",
|
||||
"alerts": "Alerts",
|
||||
"load": "Carga do Sistema",
|
||||
"uptime": "Tempo Ativo",
|
||||
"alerts": "Alertas",
|
||||
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
|
||||
},
|
||||
"navidrome": {
|
||||
@@ -321,18 +323,18 @@
|
||||
"please_wait": "Por favor aguarde"
|
||||
},
|
||||
"pyload": {
|
||||
"speed": "Speed",
|
||||
"active": "Active",
|
||||
"queue": "Queue",
|
||||
"speed": "Velocidade",
|
||||
"active": "Ativo",
|
||||
"queue": "Fila",
|
||||
"total": "Total"
|
||||
},
|
||||
"gluetun": {
|
||||
"public_ip": "Public IP",
|
||||
"region": "Region",
|
||||
"country": "Country"
|
||||
"public_ip": "IP Público",
|
||||
"region": "Região",
|
||||
"country": "País"
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Channels",
|
||||
"channels": "Canais",
|
||||
"hd": "HD"
|
||||
},
|
||||
"ping": {
|
||||
@@ -340,12 +342,12 @@
|
||||
"ping": "Ping"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Passed",
|
||||
"failed": "Failed",
|
||||
"unknown": "Unknown"
|
||||
"passed": "Passou",
|
||||
"failed": "Falha",
|
||||
"unknown": "Desconhecido"
|
||||
},
|
||||
"paperlessngx": {
|
||||
"inbox": "Inbox",
|
||||
"inbox": "Caixa de Entrada",
|
||||
"total": "Total"
|
||||
},
|
||||
"deluge": {
|
||||
@@ -371,8 +373,8 @@
|
||||
"unread": "Não Lidos"
|
||||
},
|
||||
"nextdns": {
|
||||
"wait": "Please Wait",
|
||||
"no_devices": "No Device Data Received"
|
||||
"wait": "Por favor aguarde",
|
||||
"no_devices": "Nenhum dado de dispositivo recebido"
|
||||
},
|
||||
"common": {
|
||||
"bibyterate": "{{value, rate(bits: false; binary: true)}}",
|
||||
@@ -392,121 +394,130 @@
|
||||
"seed": "Seed"
|
||||
},
|
||||
"mikrotik": {
|
||||
"cpuLoad": "CPU Load",
|
||||
"memoryUsed": "Memory Used",
|
||||
"uptime": "Uptime",
|
||||
"numberOfLeases": "Leases"
|
||||
"cpuLoad": "Carga de CPU",
|
||||
"memoryUsed": "Memória Utilizada",
|
||||
"uptime": "Tempo Ativo",
|
||||
"numberOfLeases": "Concessões"
|
||||
},
|
||||
"xteve": {
|
||||
"streams_all": "All Streams",
|
||||
"streams_active": "Active Streams",
|
||||
"streams_xepg": "XEPG Channels"
|
||||
"streams_all": "Todos Fluxos",
|
||||
"streams_active": "Fluxos Ativos",
|
||||
"streams_xepg": "Canais XEPG"
|
||||
},
|
||||
"opnsense": {
|
||||
"cpu": "CPU Load",
|
||||
"memory": "Active Memory",
|
||||
"cpu": "Carga de CPU",
|
||||
"memory": "Memória Ativa",
|
||||
"wanUpload": "WAN Upload",
|
||||
"wanDownload": "WAN Download"
|
||||
},
|
||||
"moonraker": {
|
||||
"printer_state": "Printer State",
|
||||
"print_status": "Print Status",
|
||||
"print_progress": "Progress",
|
||||
"layers": "Layers"
|
||||
"printer_state": "Estado da Impressora",
|
||||
"print_status": "Status da Impressora",
|
||||
"print_progress": "Progresso",
|
||||
"layers": "Camadas"
|
||||
},
|
||||
"medusa": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"series": "Series"
|
||||
"wanted": "Desejado",
|
||||
"queued": "Na fila",
|
||||
"series": "Séries"
|
||||
},
|
||||
"octoprint": {
|
||||
"printer_state": "Status",
|
||||
"temp_tool": "Tool temp",
|
||||
"temp_bed": "Bed temp",
|
||||
"job_completion": "Completion"
|
||||
"temp_tool": "Temp. Ferramenta",
|
||||
"temp_bed": "Temp. Cama",
|
||||
"job_completion": "Conclusão"
|
||||
},
|
||||
"cloudflared": {
|
||||
"origin_ip": "Origin IP",
|
||||
"origin_ip": "IP Origem",
|
||||
"status": "Status"
|
||||
},
|
||||
"proxmoxbackupserver": {
|
||||
"datastore_usage": "Datastore",
|
||||
"failed_tasks_24h": "Failed Tasks 24h",
|
||||
"datastore_usage": "Armaz. de Dados",
|
||||
"failed_tasks_24h": "Tarefas Falhas 24h",
|
||||
"cpu_usage": "CPU",
|
||||
"memory_usage": "Memory"
|
||||
"memory_usage": "Memória"
|
||||
},
|
||||
"immich": {
|
||||
"users": "Users",
|
||||
"photos": "Photos",
|
||||
"videos": "Videos",
|
||||
"storage": "Storage"
|
||||
"users": "Usuários",
|
||||
"photos": "Fotos",
|
||||
"videos": "Vídeos",
|
||||
"storage": "Armazenamento"
|
||||
},
|
||||
"uptimekuma": {
|
||||
"up": "Sites Up",
|
||||
"down": "Sites Down",
|
||||
"uptime": "Uptime",
|
||||
"incident": "Incident",
|
||||
"up": "Sites no Ar",
|
||||
"down": "Sites Fora do Ar",
|
||||
"uptime": "Tempo Ativo",
|
||||
"incident": "Incidente",
|
||||
"m": "m"
|
||||
},
|
||||
"komga": {
|
||||
"libraries": "Libraries",
|
||||
"series": "Series",
|
||||
"books": "Books"
|
||||
"libraries": "Bibliotecas",
|
||||
"series": "Séries",
|
||||
"books": "Livros"
|
||||
},
|
||||
"mylar": {
|
||||
"series": "Series",
|
||||
"issues": "Issues",
|
||||
"wanted": "Wanted"
|
||||
"series": "Séries",
|
||||
"issues": "Problemas",
|
||||
"wanted": "Desejado"
|
||||
},
|
||||
"photoprism": {
|
||||
"videos": "Videos",
|
||||
"albums": "Albums",
|
||||
"photos": "Photos",
|
||||
"people": "People"
|
||||
"videos": "Vídeos",
|
||||
"albums": "Álbuns",
|
||||
"photos": "Fotos",
|
||||
"people": "Pessoa"
|
||||
},
|
||||
"diskstation": {
|
||||
"days": "Days",
|
||||
"uptime": "Uptime",
|
||||
"volumeAvailable": "Available"
|
||||
"days": "Dias",
|
||||
"uptime": "Tempo Ativo",
|
||||
"volumeAvailable": "Disponível"
|
||||
},
|
||||
"fileflows": {
|
||||
"queue": "Queue",
|
||||
"processing": "Processing",
|
||||
"processed": "Processed",
|
||||
"time": "Time"
|
||||
"queue": "Fila",
|
||||
"processing": "Processando",
|
||||
"processed": "Processado",
|
||||
"time": "Hora"
|
||||
},
|
||||
"grafana": {
|
||||
"dashboards": "Dashboards",
|
||||
"datasources": "Data Sources",
|
||||
"totalalerts": "Total Alerts",
|
||||
"alertstriggered": "Alerts Triggered"
|
||||
"dashboards": "Painéis",
|
||||
"datasources": "Origem de Dados",
|
||||
"totalalerts": "Total Alertas",
|
||||
"alertstriggered": "Alertas Disparados"
|
||||
},
|
||||
"nextcloud": {
|
||||
"cpuload": "Cpu Load",
|
||||
"memoryusage": "Memory Usage",
|
||||
"freespace": "Free Space",
|
||||
"activeusers": "Active Users"
|
||||
"cpuload": "Carga de CPU",
|
||||
"memoryusage": "Memória Utilizada",
|
||||
"freespace": "Espaço Livre",
|
||||
"activeusers": "Usuários Ativos"
|
||||
},
|
||||
"kopia": {
|
||||
"status": "Status",
|
||||
"size": "Size",
|
||||
"lastrun": "Last Run",
|
||||
"nextrun": "Next Run",
|
||||
"failed": "Failed"
|
||||
"size": "Tamanho",
|
||||
"lastrun": "Ultima Execução",
|
||||
"nextrun": "Próxima Execução",
|
||||
"failed": "Falha"
|
||||
},
|
||||
"unmanic": {
|
||||
"active_workers": "Active Workers",
|
||||
"active_workers": "Workers Ativos",
|
||||
"total_workers": "Total Workers",
|
||||
"records_total": "Queue Length"
|
||||
"records_total": "Comprimento da Fila"
|
||||
},
|
||||
"healthchecks": {
|
||||
"new": "New",
|
||||
"new": "Novo",
|
||||
"up": "Online",
|
||||
"grace": "In Grace Period",
|
||||
"grace": "Em Período Gratuito",
|
||||
"down": "Offline",
|
||||
"paused": "Paused",
|
||||
"paused": "Pausado",
|
||||
"status": "Status",
|
||||
"last_ping": "Last Ping",
|
||||
"never": "No pings yet"
|
||||
"last_ping": "Ultimo Ping",
|
||||
"never": "Nenhum ping ainda"
|
||||
},
|
||||
"pterodactyl": {
|
||||
"servers": "Servidores",
|
||||
"nodes": "Nós"
|
||||
},
|
||||
"prometheus": {
|
||||
"targets_up": "Targets Up",
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -296,7 +296,9 @@
|
||||
"bookmark": "Marcador",
|
||||
"service": "Serviço",
|
||||
"search": "Search",
|
||||
"custom": "Custom"
|
||||
"custom": "Custom",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
},
|
||||
"homebridge": {
|
||||
"available_update": "Sistema",
|
||||
@@ -517,5 +519,14 @@
|
||||
"paused": "Paused",
|
||||
"status": "Status",
|
||||
"last_ping": "Last Ping"
|
||||
},
|
||||
"pterodactyl": {
|
||||
"servers": "Servers",
|
||||
"nodes": "Nodes"
|
||||
},
|
||||
"prometheus": {
|
||||
"targets_up": "Targets Up",
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -283,7 +283,9 @@
|
||||
"bookmark": "Bookmark",
|
||||
"service": "Service",
|
||||
"search": "Search",
|
||||
"custom": "Custom"
|
||||
"custom": "Custom",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
},
|
||||
"homebridge": {
|
||||
"update_available": "Update Available",
|
||||
@@ -508,5 +510,14 @@
|
||||
"status": "Status",
|
||||
"last_ping": "Last Ping",
|
||||
"never": "No pings yet"
|
||||
},
|
||||
"pterodactyl": {
|
||||
"servers": "Servers",
|
||||
"nodes": "Nodes"
|
||||
},
|
||||
"prometheus": {
|
||||
"targets_up": "Targets Up",
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -283,7 +283,9 @@
|
||||
"bookmark": "Bookmark",
|
||||
"service": "Service",
|
||||
"search": "Search",
|
||||
"custom": "Custom"
|
||||
"custom": "Custom",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
},
|
||||
"homebridge": {
|
||||
"available_update": "System",
|
||||
@@ -508,5 +510,14 @@
|
||||
"status": "Status",
|
||||
"last_ping": "Last Ping",
|
||||
"never": "No pings yet"
|
||||
},
|
||||
"pterodactyl": {
|
||||
"servers": "Servers",
|
||||
"nodes": "Nodes"
|
||||
},
|
||||
"prometheus": {
|
||||
"targets_up": "Targets Up",
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -283,7 +283,9 @@
|
||||
"bookmark": "Bookmark",
|
||||
"service": "Service",
|
||||
"search": "Search",
|
||||
"custom": "Custom"
|
||||
"custom": "Custom",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
},
|
||||
"homebridge": {
|
||||
"available_update": "System",
|
||||
@@ -508,5 +510,14 @@
|
||||
"status": "Status",
|
||||
"last_ping": "Last Ping",
|
||||
"never": "No pings yet"
|
||||
},
|
||||
"pterodactyl": {
|
||||
"nodes": "Nodes",
|
||||
"servers": "Servers"
|
||||
},
|
||||
"prometheus": {
|
||||
"targets_total": "Total Targets",
|
||||
"targets_up": "Targets Up",
|
||||
"targets_down": "Targets Down"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -283,7 +283,9 @@
|
||||
"bookmark": "Bookmark",
|
||||
"service": "Service",
|
||||
"search": "Search",
|
||||
"custom": "Custom"
|
||||
"custom": "Custom",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
},
|
||||
"homebridge": {
|
||||
"available_update": "System",
|
||||
@@ -508,5 +510,14 @@
|
||||
"status": "Status",
|
||||
"last_ping": "Last Ping",
|
||||
"never": "No pings yet"
|
||||
},
|
||||
"pterodactyl": {
|
||||
"servers": "Servers",
|
||||
"nodes": "Nodes"
|
||||
},
|
||||
"prometheus": {
|
||||
"targets_up": "Targets Up",
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -283,7 +283,9 @@
|
||||
"bookmark": "బుక్మార్క్",
|
||||
"service": "సేవ",
|
||||
"search": "Search",
|
||||
"custom": "Custom"
|
||||
"custom": "Custom",
|
||||
"url": "URL",
|
||||
"visit": "Visit"
|
||||
},
|
||||
"homebridge": {
|
||||
"available_update": "వ్యవస్థ",
|
||||
@@ -508,5 +510,14 @@
|
||||
"status": "Status",
|
||||
"last_ping": "Last Ping",
|
||||
"never": "No pings yet"
|
||||
},
|
||||
"pterodactyl": {
|
||||
"servers": "Servers",
|
||||
"nodes": "Nodes"
|
||||
},
|
||||
"prometheus": {
|
||||
"targets_up": "Targets Up",
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -297,7 +297,9 @@
|
||||
"bookmark": "Bookmark",
|
||||
"service": "Service",
|
||||
"search": "Search",
|
||||
"custom": "Custom"
|
||||
"custom": "Custom",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
},
|
||||
"wmo": {
|
||||
"67-day": "Freezing Rain",
|
||||
@@ -508,5 +510,14 @@
|
||||
"status": "Status",
|
||||
"last_ping": "Last Ping",
|
||||
"never": "No pings yet"
|
||||
},
|
||||
"pterodactyl": {
|
||||
"servers": "Servers",
|
||||
"nodes": "Nodes"
|
||||
},
|
||||
"prometheus": {
|
||||
"targets_up": "Targets Up",
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -283,7 +283,9 @@
|
||||
"bookmark": "Yer İmi",
|
||||
"service": "Hizmet",
|
||||
"search": "Ara",
|
||||
"custom": "Custom"
|
||||
"custom": "Custom",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
},
|
||||
"homebridge": {
|
||||
"available_update": "Sistem",
|
||||
@@ -508,5 +510,14 @@
|
||||
"status": "Status",
|
||||
"last_ping": "Last Ping",
|
||||
"never": "No pings yet"
|
||||
},
|
||||
"pterodactyl": {
|
||||
"servers": "Servers",
|
||||
"nodes": "Nodes"
|
||||
},
|
||||
"prometheus": {
|
||||
"targets_up": "Targets Up",
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -345,7 +345,9 @@
|
||||
"bookmark": "Закладка",
|
||||
"service": "Сервіс",
|
||||
"search": "Пошук",
|
||||
"custom": "Користувацький"
|
||||
"custom": "Користувацький",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
},
|
||||
"homebridge": {
|
||||
"available_update": "Система",
|
||||
@@ -500,13 +502,22 @@
|
||||
"records_total": "Довжина черги"
|
||||
},
|
||||
"healthchecks": {
|
||||
"new": "New",
|
||||
"up": "Online",
|
||||
"down": "Offline",
|
||||
"grace": "In Grace Period",
|
||||
"paused": "Paused",
|
||||
"status": "Status",
|
||||
"last_ping": "Last Ping",
|
||||
"never": "No pings yet"
|
||||
"new": "Новий",
|
||||
"up": "Онлайн",
|
||||
"down": "Офлайн",
|
||||
"grace": "У пільговий період",
|
||||
"paused": "Призупинено",
|
||||
"status": "Стан",
|
||||
"last_ping": "Останній пінг",
|
||||
"never": "Пінгів ще немає"
|
||||
},
|
||||
"pterodactyl": {
|
||||
"servers": "Сервери",
|
||||
"nodes": "Вузли"
|
||||
},
|
||||
"prometheus": {
|
||||
"targets_up": "Targets Up",
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -283,7 +283,9 @@
|
||||
"bookmark": "Bookmark",
|
||||
"service": "Service",
|
||||
"search": "Search",
|
||||
"custom": "Custom"
|
||||
"custom": "Custom",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
},
|
||||
"homebridge": {
|
||||
"available_update": "System",
|
||||
@@ -508,5 +510,14 @@
|
||||
"status": "Status",
|
||||
"last_ping": "Last Ping",
|
||||
"never": "No pings yet"
|
||||
},
|
||||
"pterodactyl": {
|
||||
"servers": "Servers",
|
||||
"nodes": "Nodes"
|
||||
},
|
||||
"prometheus": {
|
||||
"targets_up": "Targets Up",
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -283,7 +283,9 @@
|
||||
"bookmark": "Bookmark",
|
||||
"service": "Service",
|
||||
"search": "Search",
|
||||
"custom": "Custom"
|
||||
"custom": "Custom",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
},
|
||||
"homebridge": {
|
||||
"available_update": "System",
|
||||
@@ -508,5 +510,14 @@
|
||||
"status": "Status",
|
||||
"last_ping": "Last Ping",
|
||||
"never": "No pings yet"
|
||||
},
|
||||
"pterodactyl": {
|
||||
"servers": "Servers",
|
||||
"nodes": "Nodes"
|
||||
},
|
||||
"prometheus": {
|
||||
"targets_up": "Targets Up",
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -283,7 +283,9 @@
|
||||
"bookmark": "书签",
|
||||
"service": "服务",
|
||||
"search": "搜索",
|
||||
"custom": "Custom"
|
||||
"custom": "Custom",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
},
|
||||
"homebridge": {
|
||||
"available_update": "System",
|
||||
@@ -508,5 +510,14 @@
|
||||
"status": "Status",
|
||||
"last_ping": "Last Ping",
|
||||
"never": "No pings yet"
|
||||
},
|
||||
"pterodactyl": {
|
||||
"servers": "Servers",
|
||||
"nodes": "Nodes"
|
||||
},
|
||||
"prometheus": {
|
||||
"targets_up": "Targets Up",
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
"used": "已使用",
|
||||
"load": "負載",
|
||||
"cpu": "CPU",
|
||||
"mem": "MEM"
|
||||
"mem": "記憶體"
|
||||
},
|
||||
"nzbget": {
|
||||
"rate": "速率",
|
||||
@@ -197,15 +197,15 @@
|
||||
"wan": "WAN",
|
||||
"lan_users": "LAN使用者",
|
||||
"wlan_users": "WLAN使用者",
|
||||
"up": "UP",
|
||||
"down": "DOWN",
|
||||
"up": "上線",
|
||||
"down": "離線",
|
||||
"wait": "請稍後",
|
||||
"lan": "LAN",
|
||||
"wlan": "WLAN",
|
||||
"devices": "設備",
|
||||
"lan_devices": "LAN設備",
|
||||
"wlan_devices": "WLAN設備",
|
||||
"empty_data": "Subsystem status unknown"
|
||||
"empty_data": "子系統狀態未知"
|
||||
},
|
||||
"plex": {
|
||||
"streams": "正在播放",
|
||||
@@ -283,7 +283,9 @@
|
||||
"bookmark": "書籤",
|
||||
"service": "服務",
|
||||
"search": "搜尋",
|
||||
"custom": "自訂"
|
||||
"custom": "自訂",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
},
|
||||
"homebridge": {
|
||||
"available_update": "系統",
|
||||
@@ -404,7 +406,7 @@
|
||||
},
|
||||
"opnsense": {
|
||||
"cpu": "CPU負載",
|
||||
"memory": "Active Memory",
|
||||
"memory": "記憶體",
|
||||
"wanUpload": "WAN上傳",
|
||||
"wanDownload": "WAN下載"
|
||||
},
|
||||
@@ -454,45 +456,45 @@
|
||||
"books": "書刊"
|
||||
},
|
||||
"mylar": {
|
||||
"series": "Series",
|
||||
"issues": "Issues",
|
||||
"wanted": "Wanted"
|
||||
"series": "系列",
|
||||
"issues": "出版",
|
||||
"wanted": "關注中"
|
||||
},
|
||||
"photoprism": {
|
||||
"albums": "Albums",
|
||||
"photos": "Photos",
|
||||
"videos": "Videos",
|
||||
"people": "People"
|
||||
"albums": "相簿",
|
||||
"photos": "照片",
|
||||
"videos": "影片",
|
||||
"people": "人物"
|
||||
},
|
||||
"diskstation": {
|
||||
"days": "Days",
|
||||
"uptime": "Uptime",
|
||||
"volumeAvailable": "Available"
|
||||
"days": "天",
|
||||
"uptime": "運行時間",
|
||||
"volumeAvailable": "剩餘容量"
|
||||
},
|
||||
"fileflows": {
|
||||
"queue": "Queue",
|
||||
"processing": "Processing",
|
||||
"processed": "Processed",
|
||||
"time": "Time"
|
||||
"queue": "佇列",
|
||||
"processing": "處理中",
|
||||
"processed": "已處理",
|
||||
"time": "時間"
|
||||
},
|
||||
"grafana": {
|
||||
"dashboards": "Dashboards",
|
||||
"datasources": "Data Sources",
|
||||
"totalalerts": "Total Alerts",
|
||||
"alertstriggered": "Alerts Triggered"
|
||||
"dashboards": "控制面板",
|
||||
"datasources": "數據來源",
|
||||
"totalalerts": "警報總數",
|
||||
"alertstriggered": "觸發的警報"
|
||||
},
|
||||
"nextcloud": {
|
||||
"cpuload": "Cpu Load",
|
||||
"memoryusage": "Memory Usage",
|
||||
"freespace": "Free Space",
|
||||
"activeusers": "Active Users"
|
||||
"cpuload": "處理器負載",
|
||||
"memoryusage": "記憶體用量",
|
||||
"freespace": "可用空間",
|
||||
"activeusers": "活躍用戶"
|
||||
},
|
||||
"kopia": {
|
||||
"status": "Status",
|
||||
"size": "Size",
|
||||
"lastrun": "Last Run",
|
||||
"nextrun": "Next Run",
|
||||
"failed": "Failed"
|
||||
"status": "狀態",
|
||||
"size": "檔案大小",
|
||||
"lastrun": "上次運行",
|
||||
"nextrun": "下次運行",
|
||||
"failed": "失敗"
|
||||
},
|
||||
"unmanic": {
|
||||
"active_workers": "Active Workers",
|
||||
@@ -500,13 +502,22 @@
|
||||
"records_total": "Queue Length"
|
||||
},
|
||||
"healthchecks": {
|
||||
"new": "New",
|
||||
"up": "Online",
|
||||
"grace": "In Grace Period",
|
||||
"down": "Offline",
|
||||
"paused": "Paused",
|
||||
"status": "Status",
|
||||
"last_ping": "Last Ping",
|
||||
"never": "No pings yet"
|
||||
"new": "新建立",
|
||||
"up": "上線",
|
||||
"grace": "延緩中",
|
||||
"down": "離線",
|
||||
"paused": "擱置中",
|
||||
"status": "狀態",
|
||||
"last_ping": "上次檢查",
|
||||
"never": "尚未檢查"
|
||||
},
|
||||
"pterodactyl": {
|
||||
"servers": "Servers",
|
||||
"nodes": "Nodes"
|
||||
},
|
||||
"prometheus": {
|
||||
"targets_up": "Targets Up",
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,14 +6,16 @@ import ResolvedIcon from "./resolvedicon";
|
||||
|
||||
import { SettingsContext } from "utils/contexts/settings";
|
||||
|
||||
export default function QuickLaunch({servicesAndBookmarks, searchString, setSearchString, isOpen, close, searchDescriptions, searchProvider}) {
|
||||
export default function QuickLaunch({servicesAndBookmarks, searchString, setSearchString, isOpen, close, searchProvider}) {
|
||||
const { t } = useTranslation();
|
||||
const { settings } = useContext(SettingsContext);
|
||||
const { searchDescriptions, hideVisitURL } = settings?.quicklaunch ? settings.quicklaunch : { searchDescriptions: false, hideVisitURL: false };
|
||||
|
||||
const searchField = useRef();
|
||||
|
||||
const [results, setResults] = useState([]);
|
||||
const [currentItemIndex, setCurrentItemIndex] = useState(null);
|
||||
const [url, setUrl] = useState(null);
|
||||
|
||||
function openCurrentItem(newWindow) {
|
||||
const result = results[currentItemIndex];
|
||||
@@ -29,7 +31,16 @@ export default function QuickLaunch({servicesAndBookmarks, searchString, setSear
|
||||
}, [close, setSearchString, setCurrentItemIndex]);
|
||||
|
||||
function handleSearchChange(event) {
|
||||
setSearchString(event.target.value.toLowerCase())
|
||||
const rawSearchString = event.target.value.toLowerCase();
|
||||
try {
|
||||
if (!/.+[.:].+/g.test(rawSearchString)) throw new Error(); // basic test for probably a url
|
||||
let urlString = rawSearchString;
|
||||
if (urlString.indexOf('http') !== 0) urlString = `https://${rawSearchString}`;
|
||||
setUrl(new URL(urlString)); // basic validation
|
||||
} catch (e) {
|
||||
setUrl(null);
|
||||
}
|
||||
setSearchString(rawSearchString);
|
||||
}
|
||||
|
||||
function handleSearchKeyDown(event) {
|
||||
@@ -76,6 +87,7 @@ export default function QuickLaunch({servicesAndBookmarks, searchString, setSear
|
||||
if (searchDescriptions) {
|
||||
newResults = newResults.sort((a, b) => b.priority - a.priority);
|
||||
}
|
||||
|
||||
if (searchProvider) {
|
||||
newResults.push(
|
||||
{
|
||||
@@ -86,13 +98,23 @@ export default function QuickLaunch({servicesAndBookmarks, searchString, setSear
|
||||
)
|
||||
}
|
||||
|
||||
if (!hideVisitURL && url) {
|
||||
newResults.unshift(
|
||||
{
|
||||
href: url.toString(),
|
||||
name: `${t("quicklaunch.visit")} URL`,
|
||||
type: 'url',
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
setResults(newResults);
|
||||
|
||||
if (newResults.length) {
|
||||
setCurrentItemIndex(0);
|
||||
}
|
||||
}
|
||||
}, [searchString, servicesAndBookmarks, searchDescriptions, searchProvider, t]);
|
||||
}, [searchString, servicesAndBookmarks, searchDescriptions, hideVisitURL, searchProvider, url, t]);
|
||||
|
||||
|
||||
const [hidden, setHidden] = useState(true);
|
||||
|
||||
@@ -91,7 +91,7 @@ export default function Item({ service }) {
|
||||
<span className="sr-only">View container stats</span>
|
||||
</button>
|
||||
)}
|
||||
{service.app && (
|
||||
{(service.app && !service.external) && (
|
||||
<button
|
||||
type="button"
|
||||
onClick={() => (statsOpen ? closeStats() : setStatsOpen(true))}
|
||||
|
||||
@@ -12,7 +12,7 @@ export default function Status({ service }) {
|
||||
</div>
|
||||
}
|
||||
|
||||
if (data && data.status.includes("running")) {
|
||||
if (data && data.status?.includes("running")) {
|
||||
if (data.health === "starting") {
|
||||
return (
|
||||
<div className="w-auto px-1.5 py-0.5 text-center bg-theme-500/10 dark:bg-theme-900/50 rounded-b-[3px] overflow-hidden" title={data.health}>
|
||||
|
||||
@@ -175,7 +175,7 @@ function Home({ initialSettings }) {
|
||||
const { data: services } = useSWR("/api/services");
|
||||
const { data: bookmarks } = useSWR("/api/bookmarks");
|
||||
const { data: widgets } = useSWR("/api/widgets");
|
||||
|
||||
|
||||
const servicesAndBookmarks = [...services.map(sg => sg.services).flat(), ...bookmarks.map(bg => bg.bookmarks).flat()]
|
||||
|
||||
useEffect(() => {
|
||||
@@ -265,7 +265,6 @@ function Home({ initialSettings }) {
|
||||
setSearchString={setSearchString}
|
||||
isOpen={searching}
|
||||
close={setSearching}
|
||||
searchDescriptions={settings.quicklaunch?.searchDescriptions}
|
||||
searchProvider={settings.quicklaunch?.hideInternetSearch ? null : searchProvider}
|
||||
/>
|
||||
{widgets && (
|
||||
@@ -310,7 +309,7 @@ function Home({ initialSettings }) {
|
||||
</div>
|
||||
|
||||
<div className="flex p-8 pt-4 w-full justify-end">
|
||||
<Version />
|
||||
{!initialSettings?.hideVersion && <Version />}
|
||||
</div>
|
||||
</div>
|
||||
</>
|
||||
|
||||
@@ -164,7 +164,11 @@ export async function servicesFromKubernetes() {
|
||||
weight: ingress.metadata.annotations[`${ANNOTATION_BASE}/weight`] || '0',
|
||||
icon: ingress.metadata.annotations[`${ANNOTATION_BASE}/icon`] || '',
|
||||
description: ingress.metadata.annotations[`${ANNOTATION_BASE}/description`] || '',
|
||||
external: false,
|
||||
};
|
||||
if (ingress.metadata.annotations[`${ANNOTATION_BASE}/external`]) {
|
||||
constructedService.external = String(ingress.metadata.annotations[`${ANNOTATION_BASE}/external`]).toLowerCase() === "true"
|
||||
}
|
||||
if (ingress.metadata.annotations[ANNOTATION_POD_SELECTOR]) {
|
||||
constructedService.podSelector = ingress.metadata.annotations[ANNOTATION_POD_SELECTOR];
|
||||
}
|
||||
|
||||
@@ -44,8 +44,9 @@ export default async function credentialedProxyHandler(req, res, map) {
|
||||
} else if (widget.type === "miniflux") {
|
||||
headers["X-Auth-Token"] = `${widget.key}`;
|
||||
} else if (widget.type === "cloudflared") {
|
||||
headers["X-Auth-Email"] = `${widget.email}`;
|
||||
headers["X-Auth-Key"] = `${widget.key}`;
|
||||
headers.Authorization = `Bearer ${widget.key}`;
|
||||
} else if (widget.type === "pterodactyl") {
|
||||
headers.Authorization = `Bearer ${widget.key}`;
|
||||
} else {
|
||||
headers["X-API-Key"] = `${widget.key}`;
|
||||
}
|
||||
|
||||
@@ -22,6 +22,7 @@ const components = {
|
||||
hdhomerun: dynamic(() => import("./hdhomerun/component")),
|
||||
homebridge: dynamic(() => import("./homebridge/component")),
|
||||
healthchecks: dynamic(() => import("./healthchecks/component")),
|
||||
immich: dynamic(() => import("./immich/component")),
|
||||
jackett: dynamic(() => import("./jackett/component")),
|
||||
jellyfin: dynamic(() => import("./emby/component")),
|
||||
jellyseerr: dynamic(() => import("./jellyseerr/component")),
|
||||
@@ -50,8 +51,10 @@ const components = {
|
||||
pihole: dynamic(() => import("./pihole/component")),
|
||||
plex: dynamic(() => import("./plex/component")),
|
||||
portainer: dynamic(() => import("./portainer/component")),
|
||||
prometheus: dynamic(() => import("./prometheus/component")),
|
||||
prowlarr: dynamic(() => import("./prowlarr/component")),
|
||||
proxmox: dynamic(() => import("./proxmox/component")),
|
||||
pterodactyl: dynamic(() => import("./pterodactyl/component")),
|
||||
pyload: dynamic(() => import("./pyload/component")),
|
||||
qbittorrent: dynamic(() => import("./qbittorrent/component")),
|
||||
radarr: dynamic(() => import("./radarr/component")),
|
||||
@@ -70,10 +73,9 @@ const components = {
|
||||
truenas: dynamic(() => import("./truenas/component")),
|
||||
unifi: dynamic(() => import("./unifi/component")),
|
||||
unmanic: dynamic(() => import("./unmanic/component")),
|
||||
uptimekuma: dynamic(() => import("./uptimekuma/component")),
|
||||
watchtower: dynamic(() => import("./watchtower/component")),
|
||||
xteve: dynamic(() => import("./xteve/component")),
|
||||
immich: dynamic(() => import("./immich/component")),
|
||||
uptimekuma: dynamic(() => import("./uptimekuma/component")),
|
||||
};
|
||||
|
||||
export default components;
|
||||
export default components;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import credentialedProxyHandler from "utils/proxy/handlers/credentialed";
|
||||
|
||||
const widget = {
|
||||
api: "https://healthchecks.io/api/v2/{endpoint}/{uuid}",
|
||||
api: "{url}/api/v2/{endpoint}/{uuid}",
|
||||
proxyHandler: credentialedProxyHandler,
|
||||
|
||||
mappings: {
|
||||
|
||||
@@ -50,7 +50,7 @@ async function apiCall(widget, endpoint, service) {
|
||||
headers,
|
||||
});
|
||||
|
||||
if (status === 401) {
|
||||
if (status === 401 || status === 403) {
|
||||
logger.debug("Homebridge API rejected the request, attempting to obtain new session token");
|
||||
const { accessToken } = login(widget, service);
|
||||
headers.Authorization = `Bearer ${accessToken}`;
|
||||
@@ -63,7 +63,8 @@ async function apiCall(widget, endpoint, service) {
|
||||
}
|
||||
|
||||
if (status !== 200) {
|
||||
logger.error("Error getting data from Homebridge: %d. Data: %s", status, data);
|
||||
logger.error("Error getting data from Homebridge: %s status %d. Data: %s", url, status, data);
|
||||
return { status, contentType, data: null, responseHeaders };
|
||||
}
|
||||
|
||||
return { status, contentType, data: JSON.parse(data.toString()), responseHeaders };
|
||||
|
||||
38
src/widgets/prometheus/component.jsx
Normal file
38
src/widgets/prometheus/component.jsx
Normal file
@@ -0,0 +1,38 @@
|
||||
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: targetsData, error: targetsError } = useWidgetAPI(widget, "targets");
|
||||
|
||||
if (targetsError) {
|
||||
return <Container error={targetsError} />;
|
||||
}
|
||||
|
||||
if (!targetsData) {
|
||||
return (
|
||||
<Container service={service}>
|
||||
<Block label="prometheus.targets_up" />
|
||||
<Block label="prometheus.targets_down" />
|
||||
<Block label="prometheus.targets_total" />
|
||||
</Container>
|
||||
);
|
||||
}
|
||||
|
||||
const upCount = targetsData.data.activeTargets.filter(a => a.health === "up").length;
|
||||
const downCount = targetsData.data.activeTargets.filter(a => a.health === "down").length;
|
||||
const totalCount = targetsData.data.activeTargets.length;
|
||||
|
||||
return (
|
||||
<Container service={service}>
|
||||
<Block label="prometheus.targets_up" value={t("common.number", { value: upCount })} />
|
||||
<Block label="prometheus.targets_down" value={t("common.number", { value: downCount })} />
|
||||
<Block label="prometheus.targets_total" value={t("common.number", { value: totalCount })} />
|
||||
</Container>
|
||||
);
|
||||
}
|
||||
17
src/widgets/prometheus/widget.js
Normal file
17
src/widgets/prometheus/widget.js
Normal file
@@ -0,0 +1,17 @@
|
||||
import genericProxyHandler from "utils/proxy/handlers/generic";
|
||||
|
||||
const widget = {
|
||||
api: "{url}/api/v1/{endpoint}",
|
||||
proxyHandler: genericProxyHandler,
|
||||
|
||||
mappings: {
|
||||
targets: {
|
||||
endpoint: "targets",
|
||||
validate: [
|
||||
"data"
|
||||
]
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
export default widget;
|
||||
34
src/widgets/pterodactyl/component.jsx
Normal file
34
src/widgets/pterodactyl/component.jsx
Normal file
@@ -0,0 +1,34 @@
|
||||
|
||||
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 {data: nodesData, error: nodesError} = useWidgetAPI(widget, "nodes");
|
||||
|
||||
if (nodesError) {
|
||||
return <Container error={ nodesError } />;
|
||||
}
|
||||
|
||||
if (!nodesData) {
|
||||
return (
|
||||
<Container service={service}>
|
||||
<Block label="pterodactyl.nodes" />
|
||||
<Block label="pterodactyl.servers" />
|
||||
</Container>
|
||||
);
|
||||
}
|
||||
|
||||
const totalServers = nodesData.data.reduce((total, node) =>
|
||||
node.attributes?.relationships?.servers?.data?.length ?? 0 + total, 0);
|
||||
|
||||
return (
|
||||
<Container service={service}>
|
||||
<Block label="pterodactyl.nodes" value={nodesData.data.length} />
|
||||
<Block label="pterodactyl.servers" value={totalServers} />
|
||||
</Container>
|
||||
);
|
||||
}
|
||||
17
src/widgets/pterodactyl/widget.js
Normal file
17
src/widgets/pterodactyl/widget.js
Normal file
@@ -0,0 +1,17 @@
|
||||
import credentialedProxyHandler from "utils/proxy/handlers/credentialed";
|
||||
|
||||
const widget = {
|
||||
api: "{url}/api/application/{endpoint}",
|
||||
proxyHandler: credentialedProxyHandler,
|
||||
|
||||
mappings: {
|
||||
nodes: {
|
||||
endpoint: "nodes?include=servers",
|
||||
validate: [
|
||||
"data"
|
||||
]
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
export default widget;
|
||||
@@ -17,6 +17,7 @@ import grafana from "./grafana/widget";
|
||||
import hdhomerun from "./hdhomerun/widget";
|
||||
import homebridge from "./homebridge/widget";
|
||||
import healthchecks from "./healthchecks/widget";
|
||||
import immich from "./immich/widget";
|
||||
import jackett from "./jackett/widget";
|
||||
import jellyseerr from "./jellyseerr/widget";
|
||||
import komga from "./komga/widget";
|
||||
@@ -44,8 +45,10 @@ import proxmoxbackupserver from "./proxmoxbackupserver/widget";
|
||||
import pihole from "./pihole/widget";
|
||||
import plex from "./plex/widget";
|
||||
import portainer from "./portainer/widget";
|
||||
import prometheus from "./prometheus/widget";
|
||||
import prowlarr from "./prowlarr/widget";
|
||||
import proxmox from "./proxmox/widget";
|
||||
import pterodactyl from "./pterodactyl/widget";
|
||||
import pyload from "./pyload/widget";
|
||||
import qbittorrent from "./qbittorrent/widget";
|
||||
import radarr from "./radarr/widget";
|
||||
@@ -63,11 +66,10 @@ import transmission from "./transmission/widget";
|
||||
import tubearchivist from "./tubearchivist/widget";
|
||||
import truenas from "./truenas/widget";
|
||||
import unifi from "./unifi/widget";
|
||||
import unmanic from "./unmanic/widget";
|
||||
import uptimekuma from "./uptimekuma/widget";
|
||||
import watchtower from "./watchtower/widget";
|
||||
import xteve from "./xteve/widget";
|
||||
import immich from "./immich/widget";
|
||||
import uptimekuma from "./uptimekuma/widget";
|
||||
import unmanic from "./unmanic/widget";
|
||||
|
||||
const widgets = {
|
||||
adguard,
|
||||
@@ -89,6 +91,7 @@ const widgets = {
|
||||
hdhomerun,
|
||||
homebridge,
|
||||
healthchecks,
|
||||
immich,
|
||||
jackett,
|
||||
jellyfin: emby,
|
||||
jellyseerr,
|
||||
@@ -117,8 +120,10 @@ const widgets = {
|
||||
pihole,
|
||||
plex,
|
||||
portainer,
|
||||
prometheus,
|
||||
prowlarr,
|
||||
proxmox,
|
||||
pterodactyl,
|
||||
pyload,
|
||||
qbittorrent,
|
||||
radarr,
|
||||
@@ -138,10 +143,9 @@ const widgets = {
|
||||
unifi,
|
||||
unifi_console: unifi,
|
||||
unmanic,
|
||||
uptimekuma,
|
||||
watchtower,
|
||||
xteve,
|
||||
immich,
|
||||
uptimekuma,
|
||||
};
|
||||
|
||||
export default widgets;
|
||||
export default widgets;
|
||||
|
||||
Reference in New Issue
Block a user