mirror of
https://github.com/gethomepage/homepage.git
synced 2025-12-05 21:47:48 +01:00
Compare commits
603 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
03eb1b1112 | ||
|
|
a0665c17b8 | ||
|
|
66a565b637 | ||
|
|
922358a9c3 | ||
|
|
2031929dfb | ||
|
|
f0e16f2b0f | ||
|
|
7a7bca3deb | ||
|
|
8263e53025 | ||
|
|
e41fae1b81 | ||
|
|
7555b21211 | ||
|
|
1c7c11f093 | ||
|
|
7f7c99c361 | ||
|
|
79199dccfe | ||
|
|
1027eb00a0 | ||
|
|
f09bbd293c | ||
|
|
ad04c056ca | ||
|
|
e316175cce | ||
|
|
b50d001756 | ||
|
|
03a75e287a | ||
|
|
bc4c22b0a7 | ||
|
|
ad53770edd | ||
|
|
ee9af5cf05 | ||
|
|
9aa230fafb | ||
|
|
ad14d100df | ||
|
|
51b8b9e61e | ||
|
|
836c61effa | ||
|
|
14de8b690d | ||
|
|
d0a08edc3c | ||
|
|
2d56220115 | ||
|
|
16c4b8d8a4 | ||
|
|
062b0e468a | ||
|
|
a49f3114a0 | ||
|
|
538a718f15 | ||
|
|
f5e5e8bb40 | ||
|
|
affd585fad | ||
|
|
89a790a4a6 | ||
|
|
5b70cdc892 | ||
|
|
27d4117da7 | ||
|
|
4f4cf5beab | ||
|
|
73f850459d | ||
|
|
b764f58013 | ||
|
|
cb5c246aaf | ||
|
|
3b413c0030 | ||
|
|
811d18d18d | ||
|
|
a5a42fb9f7 | ||
|
|
57fdf5e76e | ||
|
|
92d3963804 | ||
|
|
61aff6bb56 | ||
|
|
1f41d36aa4 | ||
|
|
ec2df8fc49 | ||
|
|
cae12feac6 | ||
|
|
135f738249 | ||
|
|
bc981aae3d | ||
|
|
516423c8bd | ||
|
|
ef1dfc7323 | ||
|
|
ac2ec69b54 | ||
|
|
11a52de651 | ||
|
|
44ebf7c59f | ||
|
|
abac88e353 | ||
|
|
29d5ce063f | ||
|
|
b502726300 | ||
|
|
acf7afd2ae | ||
|
|
b53bc9f768 | ||
|
|
22bc651e13 | ||
|
|
32b95bbbc4 | ||
|
|
811758df81 | ||
|
|
48e68241c6 | ||
|
|
712b5c151d | ||
|
|
f79c1be558 | ||
|
|
81909f1fea | ||
|
|
b9df862ac0 | ||
|
|
5d671857cd | ||
|
|
2b59cfc4b9 | ||
|
|
f90c79bd70 | ||
|
|
28ace5e9da | ||
|
|
a90daa9e7e | ||
|
|
369f145be8 | ||
|
|
07e6700b3b | ||
|
|
e1a322cbba | ||
|
|
202d80b2da | ||
|
|
8aa9df891c | ||
|
|
4e7c2763eb | ||
|
|
a9286d86cd | ||
|
|
b98e716d3a | ||
|
|
8622017d5e | ||
|
|
28c8e5e5b2 | ||
|
|
f16b538689 | ||
|
|
595d4d1253 | ||
|
|
be9c281cad | ||
|
|
5b442c24c9 | ||
|
|
9fd107fef2 | ||
|
|
48a4486bcf | ||
|
|
a86d166348 | ||
|
|
77f4c8bf54 | ||
|
|
9617583ee8 | ||
|
|
0f7342a382 | ||
|
|
9c4e51e395 | ||
|
|
1511394546 | ||
|
|
93d625ed5d | ||
|
|
bba3f08a8f | ||
|
|
48130626d0 | ||
|
|
6324c895ea | ||
|
|
866bb1c330 | ||
|
|
20e3c16089 | ||
|
|
ccbe11e20c | ||
|
|
7d877fb8e0 | ||
|
|
56fe2336b9 | ||
|
|
5109ef682a | ||
|
|
d527899650 | ||
|
|
bdd4c10eb6 | ||
|
|
7a5f951c6a | ||
|
|
df1eab9369 | ||
|
|
0d7192ebc5 | ||
|
|
e358dfc9f4 | ||
|
|
344223769d | ||
|
|
c916b68463 | ||
|
|
a0499ffebb | ||
|
|
5d480b9eba | ||
|
|
8ef419f60d | ||
|
|
4c8b088b39 | ||
|
|
41e5fc2e9d | ||
|
|
a42fdca997 | ||
|
|
7b5a94b67c | ||
|
|
0e61006559 | ||
|
|
d55536c3f0 | ||
|
|
5c83ec4910 | ||
|
|
e011586078 | ||
|
|
543da08a1b | ||
|
|
f812c3c2c2 | ||
|
|
b95f07fdd0 | ||
|
|
3b33a04d94 | ||
|
|
22aab11bae | ||
|
|
ca500d3bc4 | ||
|
|
68981ccf74 | ||
|
|
00178e86a1 | ||
|
|
85b4230f8d | ||
|
|
cd97bd7e57 | ||
|
|
bd55e204fa | ||
|
|
6f93e322d0 | ||
|
|
81e9a7bcde | ||
|
|
90cc12b9d1 | ||
|
|
cf13d53c3d | ||
|
|
87ea01ce0a | ||
|
|
449cb11f7b | ||
|
|
3ee0621640 | ||
|
|
2857cc337a | ||
|
|
07fb55e17f | ||
|
|
dce095413f | ||
|
|
e39e10063d | ||
|
|
df19ad7016 | ||
|
|
892fc0842d | ||
|
|
5934db8954 | ||
|
|
6f9d795f69 | ||
|
|
ee3b5a5612 | ||
|
|
185e68f89d | ||
|
|
ab976baca6 | ||
|
|
563ece0bd9 | ||
|
|
7560715b73 | ||
|
|
afb18bc36a | ||
|
|
33a0c5a477 | ||
|
|
e745863294 | ||
|
|
33d61d2543 | ||
|
|
131ae3f0b9 | ||
|
|
597565c650 | ||
|
|
2d4f56114c | ||
|
|
30a187efde | ||
|
|
9b5518ba86 | ||
|
|
41710fb73b | ||
|
|
04e2b0aad8 | ||
|
|
1c75a20dcd | ||
|
|
a6b4508bf5 | ||
|
|
1009e4c634 | ||
|
|
3fc1d7ed3d | ||
|
|
ea47e922cc | ||
|
|
7e6383a3bf | ||
|
|
b11a970012 | ||
|
|
a05fc1777f | ||
|
|
0e13aa33af | ||
|
|
f215901895 | ||
|
|
2b920442a3 | ||
|
|
b3f1fe7d99 | ||
|
|
5c861a27c6 | ||
|
|
449b1f82b4 | ||
|
|
eb469e1918 | ||
|
|
befb2310ca | ||
|
|
cadf5028e0 | ||
|
|
8f00b7344f | ||
|
|
3496af1559 | ||
|
|
d290734099 | ||
|
|
272973922e | ||
|
|
437bf8d1f1 | ||
|
|
7a4a861778 | ||
|
|
defc1195b2 | ||
|
|
b4f700c185 | ||
|
|
9b0c0af8b8 | ||
|
|
69309e5be7 | ||
|
|
5cf06c969a | ||
|
|
728e0c4a87 | ||
|
|
20d161ae19 | ||
|
|
938f08481f | ||
|
|
8de022b721 | ||
|
|
527f4ee960 | ||
|
|
cbf98c3fa5 | ||
|
|
196a1f2d47 | ||
|
|
14d1196b30 | ||
|
|
e72c9fd83b | ||
|
|
a45ae11ff5 | ||
|
|
d8dd347ad1 | ||
|
|
997873baf2 | ||
|
|
1b3d51992b | ||
|
|
2407dbfaf5 | ||
|
|
b6a9e5b7bb | ||
|
|
550bea2aa3 | ||
|
|
75de30dd76 | ||
|
|
2acfcfbf2f | ||
|
|
db93a2128c | ||
|
|
33b947a571 | ||
|
|
5fe3c4077f | ||
|
|
0fd92d0433 | ||
|
|
94faf3faaf | ||
|
|
f40e130a0c | ||
|
|
e2bc98af4a | ||
|
|
79d568615a | ||
|
|
70fc037830 | ||
|
|
757b2db0bc | ||
|
|
b7f8f5d6a6 | ||
|
|
48d6fa7360 | ||
|
|
991c33b410 | ||
|
|
2ecdcf517c | ||
|
|
afc1584ffe | ||
|
|
98f1e29dc5 | ||
|
|
227fb3efee | ||
|
|
de47e87461 | ||
|
|
acc19ccca1 | ||
|
|
142be300e0 | ||
|
|
2f4a5adb3e | ||
|
|
fa70b606e5 | ||
|
|
3e18be8709 | ||
|
|
fc75fea5ad | ||
|
|
045620aa8c | ||
|
|
17e97df0f3 | ||
|
|
77c99e42a4 | ||
|
|
ba8cb2d148 | ||
|
|
14082aa58c | ||
|
|
e7ac03f10d | ||
|
|
87452abd03 | ||
|
|
12e9566254 | ||
|
|
ed2ed8bb96 | ||
|
|
790a964c69 | ||
|
|
d76fdc828d | ||
|
|
12de7b1c8c | ||
|
|
60a7fc7700 | ||
|
|
552700d7e1 | ||
|
|
0ed5935e2d | ||
|
|
700717b2b7 | ||
|
|
d11d2ce75a | ||
|
|
8dc4678584 | ||
|
|
7d1a393b44 | ||
|
|
1b19039da3 | ||
|
|
37a5c586c0 | ||
|
|
03ea447c75 | ||
|
|
2bed9ae486 | ||
|
|
125a3a0ce7 | ||
|
|
2a2597a72d | ||
|
|
cc59181163 | ||
|
|
5e1d916b6f | ||
|
|
f1f355ecd1 | ||
|
|
e59152db06 | ||
|
|
2bf597e385 | ||
|
|
1749adc1ee | ||
|
|
68a8310406 | ||
|
|
d40096cb0f | ||
|
|
c2d22e4839 | ||
|
|
4f3b0e7bcb | ||
|
|
75b7a5927a | ||
|
|
5d080e218f | ||
|
|
cd61166449 | ||
|
|
bd2f196ccd | ||
|
|
14a6ae4523 | ||
|
|
27837c6db8 | ||
|
|
03b347fc88 | ||
|
|
78efc220c4 | ||
|
|
fbd575bf70 | ||
|
|
7af9654c19 | ||
|
|
bbc343abae | ||
|
|
3556d7c183 | ||
|
|
57854ed168 | ||
|
|
442a76a57e | ||
|
|
dcb9d9e45c | ||
|
|
1de940dd90 | ||
|
|
6867258449 | ||
|
|
f692e71991 | ||
|
|
f4ffc2d29b | ||
|
|
8141f38807 | ||
|
|
c3e57f7235 | ||
|
|
9913bfb31b | ||
|
|
ac331f51d8 | ||
|
|
9aeb392197 | ||
|
|
bd1c2b1881 | ||
|
|
8600718c1d | ||
|
|
f1a1bc573e | ||
|
|
cf466f2f8f | ||
|
|
9c2db44226 | ||
|
|
1f89c6e699 | ||
|
|
1a7dd88a41 | ||
|
|
eb8229b75c | ||
|
|
1b34db1109 | ||
|
|
3d654e03c6 | ||
|
|
863fd797a2 | ||
|
|
f320f1a9fc | ||
|
|
d078a72a0b | ||
|
|
86d14e3617 | ||
|
|
2626429159 | ||
|
|
b5098f6a9d | ||
|
|
c78275bac5 | ||
|
|
ca03b3e829 | ||
|
|
ce4535077b | ||
|
|
010d643a0b | ||
|
|
b038e857ee | ||
|
|
fb344c546c | ||
|
|
49284289e6 | ||
|
|
095061ab1b | ||
|
|
7d9da4f6e2 | ||
|
|
f21df70a68 | ||
|
|
85ba5fde70 | ||
|
|
b323ba6561 | ||
|
|
a5ed55e723 | ||
|
|
2b2a001d7c | ||
|
|
0146872514 | ||
|
|
73c03a21e1 | ||
|
|
9e29be6445 | ||
|
|
e44faf6e9b | ||
|
|
72215b115b | ||
|
|
d8d3e199d3 | ||
|
|
a04efd512e | ||
|
|
99163f63cd | ||
|
|
3836ae31c8 | ||
|
|
88a2f213a1 | ||
|
|
14957bed15 | ||
|
|
19d227db28 | ||
|
|
7213912ab3 | ||
|
|
943b405fca | ||
|
|
76d386c417 | ||
|
|
83771e53c4 | ||
|
|
274f78312b | ||
|
|
550336957d | ||
|
|
e7ed506346 | ||
|
|
025db434a9 | ||
|
|
22bb5471a1 | ||
|
|
9d8768f4a7 | ||
|
|
f4f58409a2 | ||
|
|
dc3019da80 | ||
|
|
adab1734fc | ||
|
|
3549dfe1da | ||
|
|
1afcc32ee3 | ||
|
|
72af36b761 | ||
|
|
e7e71fd05d | ||
|
|
db9638654e | ||
|
|
308257fad9 | ||
|
|
f44b83913b | ||
|
|
efaf2d87fb | ||
|
|
dc9d984251 | ||
|
|
46a2706c6c | ||
|
|
9899bb5ef7 | ||
|
|
91f0cdfdca | ||
|
|
660cbcba64 | ||
|
|
a05fba0bae | ||
|
|
3e80b0e6dc | ||
|
|
d2a3bf7227 | ||
|
|
e9d633a7f4 | ||
|
|
0e4c63f8d3 | ||
|
|
d12ee3eb46 | ||
|
|
97dbc6412f | ||
|
|
042d3640d7 | ||
|
|
878ceebecb | ||
|
|
21b8166a7a | ||
|
|
99afd9af8b | ||
|
|
c197d67fb9 | ||
|
|
f9a4fedb6a | ||
|
|
a458561d58 | ||
|
|
51a0ee4882 | ||
|
|
8b8238d672 | ||
|
|
eaa76cd61a | ||
|
|
7ad47f005b | ||
|
|
00ee97aad3 | ||
|
|
c9eef883d2 | ||
|
|
b9d16c8383 | ||
|
|
71adb8eb83 | ||
|
|
a8ef543934 | ||
|
|
c9c8625a74 | ||
|
|
b64a94e7de | ||
|
|
abe8b3a5ee | ||
|
|
9de376d51c | ||
|
|
3e02823980 | ||
|
|
de11f81234 | ||
|
|
830d4687cd | ||
|
|
df6058967f | ||
|
|
cf3fc1d64b | ||
|
|
8cc36a2fb4 | ||
|
|
5080301efe | ||
|
|
0313140d5b | ||
|
|
415d846c40 | ||
|
|
5182dad983 | ||
|
|
ef942c1485 | ||
|
|
08edae7713 | ||
|
|
dd6a870998 | ||
|
|
26b78641d4 | ||
|
|
b5ada5ef11 | ||
|
|
9b21adbf39 | ||
|
|
9f6639d63e | ||
|
|
19947b7a74 | ||
|
|
dd02b1675b | ||
|
|
db7d987f6c | ||
|
|
41013f5ba3 | ||
|
|
bbe6779a0e | ||
|
|
8104d12674 | ||
|
|
657e3d30be | ||
|
|
1372befc72 | ||
|
|
39a44a4266 | ||
|
|
c6e4db338a | ||
|
|
6976d9a7e3 | ||
|
|
3a26d99029 | ||
|
|
c65c4d0780 | ||
|
|
1770599ef7 | ||
|
|
f5d39dd993 | ||
|
|
50083334d6 | ||
|
|
ccc0fa5b03 | ||
|
|
043ed57bbe | ||
|
|
a007e12c0f | ||
|
|
88efb402c5 | ||
|
|
b93605d8e3 | ||
|
|
5be4743507 | ||
|
|
adb394ade6 | ||
|
|
d7374384ad | ||
|
|
bc964c853a | ||
|
|
ba350f438b | ||
|
|
6c0dc966af | ||
|
|
ce370ea2ce | ||
|
|
0d823c707d | ||
|
|
9807e38a54 | ||
|
|
808acb9751 | ||
|
|
791d84d714 | ||
|
|
7b04263e2b | ||
|
|
57dea7593e | ||
|
|
e5d9eae9f1 | ||
|
|
3e00793907 | ||
|
|
af6198737b | ||
|
|
91cd423e5b | ||
|
|
e4b0e9dc37 | ||
|
|
876e6c4040 | ||
|
|
541d2c1f8b | ||
|
|
30fccfe8b7 | ||
|
|
7b697a88de | ||
|
|
656cb4ba30 | ||
|
|
3acbdda45e | ||
|
|
66dabe9872 | ||
|
|
0904776971 | ||
|
|
9dbce59417 | ||
|
|
7b82dfc4be | ||
|
|
dca8996285 | ||
|
|
4452ca77d8 | ||
|
|
03197f2eb2 | ||
|
|
fef65e8440 | ||
|
|
27805862c8 | ||
|
|
ea7d5828d5 | ||
|
|
0829a21b48 | ||
|
|
6b3ca6ac9a | ||
|
|
ada24eb069 | ||
|
|
023e6bbe23 | ||
|
|
517bba8ed4 | ||
|
|
61fd5d2fcc | ||
|
|
e133be83db | ||
|
|
eae0b25c0f | ||
|
|
2518d9ca5f | ||
|
|
c362c928c2 | ||
|
|
bc0af4128d | ||
|
|
a07175b49c | ||
|
|
46b31e752b | ||
|
|
cfe10b061f | ||
|
|
e2e7d82dc6 | ||
|
|
18d1e40604 | ||
|
|
f53176d5b2 | ||
|
|
f0bdc9df8a | ||
|
|
6947be08da | ||
|
|
ec71540547 | ||
|
|
46e228c4a1 | ||
|
|
d5c8b48363 | ||
|
|
e0b4ce05c8 | ||
|
|
bbefa459ee | ||
|
|
162e79d867 | ||
|
|
197bc5327d | ||
|
|
ac6242e2f2 | ||
|
|
6d3d6fe302 | ||
|
|
f0eb695070 | ||
|
|
c168a93f72 | ||
|
|
415710cdb3 | ||
|
|
291eba01ab | ||
|
|
e8713a95c0 | ||
|
|
1aa559537a | ||
|
|
55bc247c9e | ||
|
|
4794c8e2ed | ||
|
|
56ad8cb927 | ||
|
|
063950af05 | ||
|
|
f2fc78b63f | ||
|
|
9f91cd27f3 | ||
|
|
932c479729 | ||
|
|
db9ccaae2e | ||
|
|
188ca3186f | ||
|
|
58f35f0940 | ||
|
|
af61aa23c1 | ||
|
|
d5812d8c81 | ||
|
|
9b6755e87e | ||
|
|
a47e481330 | ||
|
|
6d1db78709 | ||
|
|
1132ac90fb | ||
|
|
6debae1a20 | ||
|
|
a074d4b15f | ||
|
|
e98bc2de0f | ||
|
|
45934cea88 | ||
|
|
bdc6d8d746 | ||
|
|
07277d76f2 | ||
|
|
af58c5ceee | ||
|
|
09d4a50aeb | ||
|
|
0bbea6d9d0 | ||
|
|
69e355cc3c | ||
|
|
12b26049b0 | ||
|
|
5ddff35d71 | ||
|
|
0ab28e93bd | ||
|
|
2dd2cabf3e | ||
|
|
9a55199cd3 | ||
|
|
0223cf7ae3 | ||
|
|
043f787b21 | ||
|
|
6ccc6f2f17 | ||
|
|
1771ba1f5e | ||
|
|
d0b673ab5c | ||
|
|
359dd39e85 | ||
|
|
0fe31d7a69 | ||
|
|
ad1a04035b | ||
|
|
9678ad45dc | ||
|
|
cc7cc6ae9d | ||
|
|
5e80c31e31 | ||
|
|
8e895db576 | ||
|
|
b780c9e460 | ||
|
|
ae3ee655bf | ||
|
|
bf511f555a | ||
|
|
fff5abb60e | ||
|
|
69060a7c59 | ||
|
|
ee00a4b352 | ||
|
|
c9ccb82a54 | ||
|
|
f29e96758c | ||
|
|
99e889b3cb | ||
|
|
4d25cd2580 | ||
|
|
488e1349d8 | ||
|
|
2f9cbe657a | ||
|
|
4367319478 | ||
|
|
352b4146f7 | ||
|
|
59448b7277 | ||
|
|
dacb038126 | ||
|
|
a83d105764 | ||
|
|
8476b97f7d | ||
|
|
d0905b9c44 | ||
|
|
0ae13d8ed3 | ||
|
|
91646888cd | ||
|
|
0416f53c04 | ||
|
|
6dcec48669 | ||
|
|
7e012993d8 | ||
|
|
1a374dec3c | ||
|
|
e6dd4f20a3 | ||
|
|
336aa26263 | ||
|
|
fc05808fb2 | ||
|
|
612d533a38 | ||
|
|
7aa496f66f | ||
|
|
48224f89a4 | ||
|
|
e4788cc7f6 | ||
|
|
4824ed1a2c | ||
|
|
cd95c93e68 | ||
|
|
379d2e59f1 | ||
|
|
64b43871c6 | ||
|
|
5c84b90634 | ||
|
|
4e138e3d0f | ||
|
|
8b38f12452 | ||
|
|
b3ea7b816d | ||
|
|
1bec7897f0 | ||
|
|
98422a0727 | ||
|
|
57c145c3d2 | ||
|
|
43233cf446 | ||
|
|
187df778bf | ||
|
|
d7dc328cdc | ||
|
|
066995702b | ||
|
|
777c78363d | ||
|
|
6701e3bd77 | ||
|
|
a42c50f1cc | ||
|
|
2fbe4e5f24 | ||
|
|
a0fa6367ca | ||
|
|
8378066bd4 | ||
|
|
db85193bbf | ||
|
|
364c7ce183 | ||
|
|
48180604f9 | ||
|
|
88089a8a11 | ||
|
|
2829f0b649 | ||
|
|
0d5856db1e | ||
|
|
f3ec238a2c | ||
|
|
df714c7556 |
@@ -1,5 +1,3 @@
|
||||
name: Feature request
|
||||
description: Suggest an idea for this project
|
||||
title: "[Feature Request] "
|
||||
labels: ["enhancement"]
|
||||
body:
|
||||
9
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
9
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@@ -69,11 +69,18 @@ body:
|
||||
attributes:
|
||||
label: Browser Logs
|
||||
description: Please review and provide any logs from the browser, if relevant
|
||||
- type: textarea
|
||||
id: troubleshooting
|
||||
attributes:
|
||||
label: Troubleshooting
|
||||
description: Please include output from your [troubleshooting tests](https://gethomepage.dev/en/more/troubleshooting/#service-widget-errors). If this is a service widget issue and you do not include any information here your issue will be closed. If it is not, indicate e.g. 'n/a'
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: other
|
||||
attributes:
|
||||
label: Other
|
||||
description: Please include output from your troubleshooting tests, if relevant. Include any other relevant details. E.g. service version or API version, docker version, etc.
|
||||
description: Include any other relevant details. E.g. service version or API version, docker version, etc.
|
||||
- type: checkboxes
|
||||
id: pre-flight
|
||||
attributes:
|
||||
|
||||
11
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
11
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
blank_issues_enabled: false
|
||||
contact_links:
|
||||
- name: 🤔 Questions and Help
|
||||
url: https://github.com/benphelps/homepage/discussions
|
||||
about: This issue tracker is for bugs only, not general support questions. Please refer to our Discussions.
|
||||
- name: 💬 Chat
|
||||
url: https://discord.gg/k4ruYNrudu
|
||||
about: Want to discuss homepage with others? Check out our chat.
|
||||
- name: 🚀 Feature Request
|
||||
url: https://github.com/benphelps/homepage/discussions/new?category=feature-requests
|
||||
about: Remember to search for existing feature requests and "up-vote" any you like
|
||||
6
.github/PULL_REQUEST_TEMPLATE.md
vendored
6
.github/PULL_REQUEST_TEMPLATE.md
vendored
@@ -3,7 +3,10 @@
|
||||
<!--
|
||||
Please include a summary of the change. Screenshots and / or videos can also be helpful if appropriate.
|
||||
|
||||
New service widgets should include example(s) of relevant relevant API output as well as a PR to the docs for the new widget. See the development guidelines for new widgets: https://gethomepage.dev/en/more/development/#service-widget-guidelines
|
||||
*** Please see the development guidelines for new widgets: https://gethomepage.dev/en/more/development/#service-widget-guidelines
|
||||
*** If you do not follow these guidelines your PR will likely be closed without review.
|
||||
|
||||
New service widgets should include example(s) of relevant relevant API output as well as a PR to the docs for the new widget.
|
||||
-->
|
||||
|
||||
Closes # (issue)
|
||||
@@ -22,5 +25,6 @@ What type of change does your PR introduce to Homepage?
|
||||
## Checklist:
|
||||
|
||||
- [ ] If adding a service widget or a change that requires it, I have added a corresponding PR to the [documentation](https://github.com/benphelps/homepage-docs) here:
|
||||
- [ ] If adding a new widget I have reviewed the [guidelines](https://gethomepage.dev/en/more/development/#service-widget-guidelines).
|
||||
- [ ] If applicable, I have checked that all tests pass with e.g. `pnpm lint`.
|
||||
- [ ] If applicable, I have tested my code for new features & regressions on both mobile & desktop devices, using the latest version of major browsers.
|
||||
|
||||
@@ -31,6 +31,9 @@ Homepage includes a lot of configuration options and is often deploying in large
|
||||
|
||||
People *love* thorough bug reports. I'm not even kidding.
|
||||
|
||||
## Development Guidelines
|
||||
Please see the [documentation regarding development](https://gethomepage.dev/en/more/development/) and specifically the [guidelines for new service widgets](https://gethomepage.dev/en/more/development/#service-widget-guidelines) if you are considering making one.
|
||||
|
||||
## Use a Consistent Coding Style
|
||||
This project follows the [Airbnb JavaScript Style Guide](https://github.com/airbnb/javascript), please follow it when submitting pull requests.
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ COPY . .
|
||||
|
||||
SHELL ["/bin/ash", "-xeo", "pipefail", "-c"]
|
||||
RUN npm run telemetry \
|
||||
&& mkdir config && echo '---' > config/settings.yaml \
|
||||
&& mkdir config \
|
||||
&& NEXT_PUBLIC_BUILDTIME=$BUILDTIME NEXT_PUBLIC_VERSION=$VERSION NEXT_PUBLIC_REVISION=$REVISION npm run build
|
||||
|
||||
# Production image, copy all the files and run next
|
||||
|
||||
@@ -10,6 +10,8 @@ export PGID=${PGID:-0}
|
||||
# while also supporting the lscr.io /config directory
|
||||
[ ! -d "/app/config" ] && ln -s /config /app/config
|
||||
|
||||
export HOMEPAGE_BUILDTIME=$(date +%s)
|
||||
|
||||
# Set privileges for /app but only if pid 1 user is root and we are dropping privileges.
|
||||
# If container is run as an unprivileged user, it means owner already handled ownership setup on their own.
|
||||
# Running chown in that case (as non-root) will cause error
|
||||
|
||||
6
package-lock.json
generated
6
package-lock.json
generated
@@ -21,7 +21,7 @@
|
||||
"minecraft-ping-js": "^1.0.2",
|
||||
"next": "^12.3.1",
|
||||
"next-i18next": "^12.0.1",
|
||||
"osx-temperature-sensor": "^1.0.8",
|
||||
"osx-temperature-sensor": "*",
|
||||
"pretty-bytes": "^6.0.0",
|
||||
"raw-body": "^2.5.1",
|
||||
"react": "^18.2.0",
|
||||
@@ -52,6 +52,9 @@
|
||||
"tailwind-scrollbar": "^2.0.1",
|
||||
"tailwindcss": "^3.1.8",
|
||||
"typescript": "^4.8.3"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"osx-temperature-sensor": "^1.0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/runtime": {
|
||||
@@ -4034,6 +4037,7 @@
|
||||
"resolved": "https://registry.npmjs.org/osx-temperature-sensor/-/osx-temperature-sensor-1.0.8.tgz",
|
||||
"integrity": "sha512-Gl3b+bn7+oDDnqPa+4v/cg3yg9lnE8ppS7ivL3opBZh4i7h99JNmkm6zWmo0m2a83UUJu+C9D7lGP0OS8IlehA==",
|
||||
"hasInstallScript": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"darwin"
|
||||
],
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
"minecraft-ping-js": "^1.0.2",
|
||||
"next": "^12.3.1",
|
||||
"next-i18next": "^12.0.1",
|
||||
"osx-temperature-sensor": "^1.0.8",
|
||||
"pretty-bytes": "^6.0.0",
|
||||
"raw-body": "^2.5.1",
|
||||
"react": "^18.2.0",
|
||||
@@ -54,5 +53,8 @@
|
||||
"tailwind-scrollbar": "^2.0.1",
|
||||
"tailwindcss": "^3.1.8",
|
||||
"typescript": "^4.8.3"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"osx-temperature-sensor": "^1.0.8"
|
||||
}
|
||||
}
|
||||
|
||||
14
pnpm-lock.yaml
generated
14
pnpm-lock.yaml
generated
@@ -40,9 +40,6 @@ dependencies:
|
||||
next-i18next:
|
||||
specifier: ^12.0.1
|
||||
version: 12.1.0(next@12.3.4)(react-dom@18.2.0)(react@18.2.0)
|
||||
osx-temperature-sensor:
|
||||
specifier: ^1.0.8
|
||||
version: 1.0.8
|
||||
pretty-bytes:
|
||||
specifier: ^6.0.0
|
||||
version: 6.1.0
|
||||
@@ -80,6 +77,11 @@ dependencies:
|
||||
specifier: ^1.6.11
|
||||
version: 1.6.11
|
||||
|
||||
optionalDependencies:
|
||||
osx-temperature-sensor:
|
||||
specifier: ^1.0.8
|
||||
version: 1.0.8
|
||||
|
||||
devDependencies:
|
||||
'@tailwindcss/forms':
|
||||
specifier: ^0.5.3
|
||||
@@ -645,6 +647,7 @@ packages:
|
||||
/autoprefixer@10.4.14(postcss@8.4.21):
|
||||
resolution: {integrity: sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==}
|
||||
engines: {node: ^10 || ^12 || >=14}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
postcss: ^8.1.0
|
||||
dependencies:
|
||||
@@ -1221,6 +1224,7 @@ packages:
|
||||
|
||||
/eslint-config-prettier@8.8.0(eslint@8.37.0):
|
||||
resolution: {integrity: sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
eslint: '>=7.0.0'
|
||||
dependencies:
|
||||
@@ -2374,6 +2378,7 @@ packages:
|
||||
/next@12.3.4(react-dom@18.2.0)(react@18.2.0):
|
||||
resolution: {integrity: sha512-VcyMJUtLZBGzLKo3oMxrEF0stxh8HwuW976pAzlHhI3t8qJ4SROjCrSh1T24bhrbjw55wfZXAbXPGwPt5FLRfQ==}
|
||||
engines: {node: '>=12.22.0'}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
fibers: '>= 3.1.0'
|
||||
node-sass: ^6.0.0 || ^7.0.0
|
||||
@@ -2574,6 +2579,7 @@ packages:
|
||||
os: [darwin]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/p-limit@3.1.0:
|
||||
resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
|
||||
@@ -3229,6 +3235,7 @@ packages:
|
||||
/tailwindcss@3.3.0(postcss@8.4.21):
|
||||
resolution: {integrity: sha512-hOXlFx+YcklJ8kXiCAfk/FMyr4Pm9ck477G0m/us2344Vuj355IpoEDB5UmGAsSpTBmr+4ZhjzW04JuFXkb/fw==}
|
||||
engines: {node: '>=12.13.0'}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
postcss: ^8.0.9
|
||||
dependencies:
|
||||
@@ -3450,6 +3457,7 @@ packages:
|
||||
|
||||
/update-browserslist-db@1.0.10(browserslist@4.21.5):
|
||||
resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
browserslist: '>= 4.21.0'
|
||||
dependencies:
|
||||
|
||||
@@ -151,7 +151,8 @@
|
||||
"plex": {
|
||||
"streams": "Active Streams",
|
||||
"movies": "أفلام",
|
||||
"tv": "مسلسلات"
|
||||
"tv": "مسلسلات",
|
||||
"albums": "Albums"
|
||||
},
|
||||
"sabnzbd": {
|
||||
"rate": "معدل",
|
||||
@@ -219,7 +220,8 @@
|
||||
"pihole": {
|
||||
"queries": "الاستعلامات",
|
||||
"blocked": "محظور",
|
||||
"gravity": "الجاذبية"
|
||||
"gravity": "الجاذبية",
|
||||
"blocked_percent": "Blocked %"
|
||||
},
|
||||
"adguard": {
|
||||
"queries": "الاستعلامات",
|
||||
@@ -512,7 +514,9 @@
|
||||
"cpuload": "Cpu Load",
|
||||
"memoryusage": "Memory Usage",
|
||||
"freespace": "Free Space",
|
||||
"activeusers": "Active Users"
|
||||
"activeusers": "Active Users",
|
||||
"numfiles": "Files",
|
||||
"numshares": "Shared Items"
|
||||
},
|
||||
"kopia": {
|
||||
"status": "Status",
|
||||
@@ -562,5 +566,59 @@
|
||||
"books": "Books",
|
||||
"podcastsDuration": "Duration",
|
||||
"booksDuration": "Duration"
|
||||
},
|
||||
"homeassistant": {
|
||||
"people_home": "People Home",
|
||||
"lights_on": "Lights On",
|
||||
"switches_on": "Switches On"
|
||||
},
|
||||
"freshrss": {
|
||||
"subscriptions": "Subscriptions",
|
||||
"unread": "Unread"
|
||||
},
|
||||
"channelsdvrserver": {
|
||||
"scheduled": "Scheduled",
|
||||
"passes": "Passes",
|
||||
"shows": "Shows",
|
||||
"recordings": "Recordings"
|
||||
},
|
||||
"whatsupdocker": {
|
||||
"monitoring": "Monitoring",
|
||||
"updates": "Updates"
|
||||
},
|
||||
"tailscale": {
|
||||
"address": "Address",
|
||||
"expires": "Expires",
|
||||
"never": "Never",
|
||||
"last_seen": "Last Seen",
|
||||
"now": "Now",
|
||||
"years": "{{number}}y",
|
||||
"weeks": "{{number}}w",
|
||||
"days": "{{number}}d",
|
||||
"hours": "{{number}}h",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "{{value}} Ago"
|
||||
},
|
||||
"qnap": {
|
||||
"cpuUsage": "CPU Usage",
|
||||
"memUsage": "MEM Usage",
|
||||
"systemTempC": "System Temp",
|
||||
"poolUsage": "Pool Usage"
|
||||
},
|
||||
"pfsense": {
|
||||
"load": "Load Avg",
|
||||
"memory": "Mem Usage",
|
||||
"wanStatus": "WAN Status",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"temp": "Temp",
|
||||
"disk": "Disk Usage",
|
||||
"wanIP": "WAN IP"
|
||||
},
|
||||
"caddy": {
|
||||
"upstreams": "Upstreams",
|
||||
"requests": "Current requests",
|
||||
"requests_failed": "Failed requests"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -99,7 +99,8 @@
|
||||
"plex": {
|
||||
"streams": "Активни Потоци",
|
||||
"movies": "Филми",
|
||||
"tv": "Сериали"
|
||||
"tv": "Сериали",
|
||||
"albums": "Albums"
|
||||
},
|
||||
"transmission": {
|
||||
"download": "Сваляне",
|
||||
@@ -157,7 +158,8 @@
|
||||
"pihole": {
|
||||
"queries": "Queries",
|
||||
"blocked": "Blocked",
|
||||
"gravity": "Gravity"
|
||||
"gravity": "Gravity",
|
||||
"blocked_percent": "Blocked %"
|
||||
},
|
||||
"adguard": {
|
||||
"queries": "Queries",
|
||||
@@ -512,7 +514,9 @@
|
||||
"cpuload": "Cpu Load",
|
||||
"memoryusage": "Memory Usage",
|
||||
"freespace": "Free Space",
|
||||
"activeusers": "Active Users"
|
||||
"activeusers": "Active Users",
|
||||
"numfiles": "Files",
|
||||
"numshares": "Shared Items"
|
||||
},
|
||||
"kopia": {
|
||||
"status": "Status",
|
||||
@@ -562,5 +566,59 @@
|
||||
"books": "Books",
|
||||
"podcastsDuration": "Duration",
|
||||
"booksDuration": "Duration"
|
||||
},
|
||||
"homeassistant": {
|
||||
"people_home": "People Home",
|
||||
"lights_on": "Lights On",
|
||||
"switches_on": "Switches On"
|
||||
},
|
||||
"freshrss": {
|
||||
"subscriptions": "Subscriptions",
|
||||
"unread": "Unread"
|
||||
},
|
||||
"channelsdvrserver": {
|
||||
"shows": "Shows",
|
||||
"recordings": "Recordings",
|
||||
"scheduled": "Scheduled",
|
||||
"passes": "Passes"
|
||||
},
|
||||
"whatsupdocker": {
|
||||
"monitoring": "Monitoring",
|
||||
"updates": "Updates"
|
||||
},
|
||||
"tailscale": {
|
||||
"address": "Address",
|
||||
"expires": "Expires",
|
||||
"never": "Never",
|
||||
"last_seen": "Last Seen",
|
||||
"now": "Now",
|
||||
"years": "{{number}}y",
|
||||
"weeks": "{{number}}w",
|
||||
"days": "{{number}}d",
|
||||
"hours": "{{number}}h",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "{{value}} Ago"
|
||||
},
|
||||
"qnap": {
|
||||
"cpuUsage": "CPU Usage",
|
||||
"memUsage": "MEM Usage",
|
||||
"systemTempC": "System Temp",
|
||||
"poolUsage": "Pool Usage"
|
||||
},
|
||||
"pfsense": {
|
||||
"load": "Load Avg",
|
||||
"memory": "Mem Usage",
|
||||
"wanStatus": "WAN Status",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"temp": "Temp",
|
||||
"disk": "Disk Usage",
|
||||
"wanIP": "WAN IP"
|
||||
},
|
||||
"caddy": {
|
||||
"upstreams": "Upstreams",
|
||||
"requests": "Current requests",
|
||||
"requests_failed": "Failed requests"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -125,7 +125,8 @@
|
||||
"pihole": {
|
||||
"queries": "Consultes",
|
||||
"blocked": "Bloquejat",
|
||||
"gravity": "Gravity"
|
||||
"gravity": "Gravity",
|
||||
"blocked_percent": "Blocked %"
|
||||
},
|
||||
"portainer": {
|
||||
"running": "Executant",
|
||||
@@ -183,7 +184,7 @@
|
||||
"qbittorrent": {
|
||||
"download": "Descàrrega",
|
||||
"upload": "Pujada",
|
||||
"leech": "Company",
|
||||
"leech": "Clients",
|
||||
"seed": "Llavors"
|
||||
},
|
||||
"mastodon": {
|
||||
@@ -228,7 +229,8 @@
|
||||
"plex": {
|
||||
"streams": "Transmissions actives",
|
||||
"movies": "Pel·lícules",
|
||||
"tv": "Programes de TV"
|
||||
"tv": "Sèries",
|
||||
"albums": "Àlbums"
|
||||
},
|
||||
"glances": {
|
||||
"cpu": "Processador",
|
||||
@@ -512,7 +514,9 @@
|
||||
"cpuload": "Cpu Load",
|
||||
"memoryusage": "Memory Usage",
|
||||
"freespace": "Free Space",
|
||||
"activeusers": "Active Users"
|
||||
"activeusers": "Active Users",
|
||||
"numfiles": "Files",
|
||||
"numshares": "Shared Items"
|
||||
},
|
||||
"kopia": {
|
||||
"status": "Status",
|
||||
@@ -562,5 +566,59 @@
|
||||
"books": "Books",
|
||||
"podcastsDuration": "Duration",
|
||||
"booksDuration": "Duration"
|
||||
},
|
||||
"homeassistant": {
|
||||
"people_home": "People Home",
|
||||
"lights_on": "Lights On",
|
||||
"switches_on": "Switches On"
|
||||
},
|
||||
"freshrss": {
|
||||
"subscriptions": "Subscriptions",
|
||||
"unread": "Unread"
|
||||
},
|
||||
"channelsdvrserver": {
|
||||
"shows": "Shows",
|
||||
"recordings": "Recordings",
|
||||
"scheduled": "Scheduled",
|
||||
"passes": "Passes"
|
||||
},
|
||||
"whatsupdocker": {
|
||||
"monitoring": "Supervisió",
|
||||
"updates": "Actualitzacions"
|
||||
},
|
||||
"tailscale": {
|
||||
"address": "Address",
|
||||
"expires": "Expires",
|
||||
"never": "Never",
|
||||
"last_seen": "Last Seen",
|
||||
"now": "Now",
|
||||
"years": "{{number}}y",
|
||||
"weeks": "{{number}}w",
|
||||
"days": "{{number}}d",
|
||||
"hours": "{{number}}h",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "{{value}} Ago"
|
||||
},
|
||||
"qnap": {
|
||||
"cpuUsage": "CPU Usage",
|
||||
"memUsage": "MEM Usage",
|
||||
"systemTempC": "System Temp",
|
||||
"poolUsage": "Pool Usage"
|
||||
},
|
||||
"pfsense": {
|
||||
"load": "Load Avg",
|
||||
"memory": "Mem Usage",
|
||||
"wanStatus": "WAN Status",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"temp": "Temp",
|
||||
"disk": "Disk Usage",
|
||||
"wanIP": "WAN IP"
|
||||
},
|
||||
"caddy": {
|
||||
"upstreams": "Upstreams",
|
||||
"requests": "Current requests",
|
||||
"requests_failed": "Failed requests"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
"downloads": "Fronta"
|
||||
},
|
||||
"truenas": {
|
||||
"load": "Vytížení systému",
|
||||
"load": "Zatížení systému",
|
||||
"uptime": "Doba spuštění",
|
||||
"alerts": "Upozornění",
|
||||
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
|
||||
@@ -30,47 +30,47 @@
|
||||
"placeholder": "Hledat…"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "CPU",
|
||||
"cpu": "PROC",
|
||||
"total": "Celkem",
|
||||
"free": "Volné",
|
||||
"used": "Využité",
|
||||
"load": "Vytížení",
|
||||
"mem": "RAM",
|
||||
"max": "Max",
|
||||
"uptime": "UP",
|
||||
"months": "mo",
|
||||
"load": "Zatížení",
|
||||
"mem": "PAM",
|
||||
"max": "Max.",
|
||||
"uptime": "BĚŽÍ",
|
||||
"months": "měs.",
|
||||
"days": "d",
|
||||
"hours": "h",
|
||||
"minutes": "m",
|
||||
"temp": "TEMP"
|
||||
"temp": "TEPLOTA"
|
||||
},
|
||||
"unifi": {
|
||||
"users": "Uživatelé",
|
||||
"uptime": "Čas od startu systému",
|
||||
"uptime": "Doba provozu systému",
|
||||
"days": "Dnů",
|
||||
"wan": "WAN",
|
||||
"lan": "LAN",
|
||||
"wlan": "WLAN",
|
||||
"devices": "Zařízení",
|
||||
"lan_devices": "LAN Zařízení",
|
||||
"wlan_devices": "WLAN Zařízení",
|
||||
"lan_users": "LAN Uživatelé",
|
||||
"wlan_users": "WLAN Uživatelé",
|
||||
"lan_devices": "Zařízení LAN",
|
||||
"wlan_devices": "Zařízení WLAN",
|
||||
"lan_users": "Uživatelé LAN",
|
||||
"wlan_users": "Uživatelé WLAN",
|
||||
"up": "BĚŽÍ",
|
||||
"down": "NEBĚŽÍ",
|
||||
"wait": "Počkejte prosím",
|
||||
"empty_data": "Status podsystému neznámý"
|
||||
"empty_data": "Stav podsystému neznámý"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
"tx": "TX",
|
||||
"mem": "RAM",
|
||||
"cpu": "CPU",
|
||||
"mem": "PAM",
|
||||
"cpu": "PROC",
|
||||
"offline": "Offline",
|
||||
"error": "Chyba",
|
||||
"unknown": "Neznámý",
|
||||
"running": "Běží",
|
||||
"starting": "Startuje",
|
||||
"starting": "Spouští se",
|
||||
"unhealthy": "Nezdravý",
|
||||
"not_found": "Nenalezen",
|
||||
"exited": "Ukončen",
|
||||
@@ -79,13 +79,13 @@
|
||||
},
|
||||
"emby": {
|
||||
"playing": "Přehrává",
|
||||
"transcoding": "Transkódování",
|
||||
"bitrate": "Bitrate",
|
||||
"transcoding": "Překódovávání",
|
||||
"bitrate": "Přenosová rychlost",
|
||||
"no_active": "Žádný aktivní stream",
|
||||
"movies": "Filmy",
|
||||
"series": "Seriály",
|
||||
"episodes": "Epizody",
|
||||
"songs": "Písničky"
|
||||
"songs": "Skladby"
|
||||
},
|
||||
"changedetectionio": {
|
||||
"totalObserved": "Celkem zjištěno",
|
||||
@@ -93,8 +93,8 @@
|
||||
},
|
||||
"tautulli": {
|
||||
"playing": "Přehrává",
|
||||
"transcoding": "Transkódování",
|
||||
"bitrate": "Bitrate",
|
||||
"transcoding": "Překódovávání",
|
||||
"bitrate": "Přenosová rychlost",
|
||||
"no_active": "Žádný aktivní stream"
|
||||
},
|
||||
"nzbget": {
|
||||
@@ -105,7 +105,8 @@
|
||||
"plex": {
|
||||
"streams": "Aktivní streamy",
|
||||
"movies": "Filmy",
|
||||
"tv": "Seriály"
|
||||
"tv": "Seriály",
|
||||
"albums": "Alba"
|
||||
},
|
||||
"sabnzbd": {
|
||||
"rate": "Rychlost",
|
||||
@@ -120,8 +121,8 @@
|
||||
"transmission": {
|
||||
"download": "Stahování",
|
||||
"upload": "Nahrávání",
|
||||
"leech": "Leecherů",
|
||||
"seed": "Seedů"
|
||||
"leech": "Leechované",
|
||||
"seed": "Seedované"
|
||||
},
|
||||
"qbittorrent": {
|
||||
"download": "Stahování",
|
||||
@@ -173,7 +174,8 @@
|
||||
"pihole": {
|
||||
"queries": "Dotazy",
|
||||
"blocked": "Blokováno",
|
||||
"gravity": "Gravity"
|
||||
"gravity": "Gravity",
|
||||
"blocked_percent": "Blokováno %"
|
||||
},
|
||||
"adguard": {
|
||||
"queries": "Dotazy",
|
||||
@@ -187,9 +189,9 @@
|
||||
"ping": "Ping"
|
||||
},
|
||||
"portainer": {
|
||||
"running": "Běží",
|
||||
"running": "Spuštěno",
|
||||
"stopped": "Zastaveno",
|
||||
"total": "Celkově"
|
||||
"total": "Celkem"
|
||||
},
|
||||
"traefik": {
|
||||
"routers": "Routery",
|
||||
@@ -299,17 +301,17 @@
|
||||
"failedLoginsLast24H": "Neúspěšná přihlášení (24h)"
|
||||
},
|
||||
"proxmox": {
|
||||
"mem": "RAM",
|
||||
"cpu": "CPU",
|
||||
"mem": "PAM",
|
||||
"cpu": "PROC",
|
||||
"lxc": "LXC",
|
||||
"vms": "Virtuální Stroje"
|
||||
},
|
||||
"glances": {
|
||||
"cpu": "CPU",
|
||||
"mem": "RAM",
|
||||
"cpu": "PROC",
|
||||
"mem": "PAM",
|
||||
"wait": "Prosím počkejte",
|
||||
"temp": "TEMP",
|
||||
"uptime": "UP",
|
||||
"temp": "TEPLOTA",
|
||||
"uptime": "BĚŽÍ",
|
||||
"days": "d",
|
||||
"hours": "h"
|
||||
},
|
||||
@@ -322,20 +324,20 @@
|
||||
"url": "URL"
|
||||
},
|
||||
"homebridge": {
|
||||
"update_available": "Dostupná",
|
||||
"up_to_date": "Žádné",
|
||||
"update_available": "Dostupná aktualizace",
|
||||
"up_to_date": "Aktuální",
|
||||
"available_update": "Systém",
|
||||
"updates": "Aktualizace",
|
||||
"child_bridges": "Podřadné můstky",
|
||||
"child_bridges": "Podřízené můstky",
|
||||
"child_bridges_status": "{{ok}}/{{total}}",
|
||||
"up": "Zapnutý",
|
||||
"pending": "Čeká se",
|
||||
"down": "Vypnutý"
|
||||
},
|
||||
"watchtower": {
|
||||
"containers_scanned": "Naskenováno",
|
||||
"containers_scanned": "Prohledáno",
|
||||
"containers_updated": "Aktualizováno",
|
||||
"containers_failed": "Chyba"
|
||||
"containers_failed": "Selhalo"
|
||||
},
|
||||
"autobrr": {
|
||||
"approvedPushes": "Schváleno",
|
||||
@@ -377,15 +379,15 @@
|
||||
},
|
||||
"deluge": {
|
||||
"upload": "Nahrávání",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed",
|
||||
"leech": "Leechované",
|
||||
"seed": "Seedované",
|
||||
"download": "Stahování"
|
||||
},
|
||||
"flood": {
|
||||
"download": "Stahování",
|
||||
"upload": "Nahrávání",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
"leech": "Leechované",
|
||||
"seed": "Seedované"
|
||||
},
|
||||
"tdarr": {
|
||||
"queue": "Fronta",
|
||||
@@ -415,8 +417,8 @@
|
||||
"downloadstation": {
|
||||
"download": "Stahování",
|
||||
"upload": "Nahrávání",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
"leech": "Leechované",
|
||||
"seed": "Seedované"
|
||||
},
|
||||
"mikrotik": {
|
||||
"cpuLoad": "Zatížení procesoru",
|
||||
@@ -425,18 +427,18 @@
|
||||
"numberOfLeases": "Pronájmy"
|
||||
},
|
||||
"xteve": {
|
||||
"streams_all": "Všechny proudy",
|
||||
"streams_active": "Aktivní proudy",
|
||||
"streams_all": "Všechny streamy",
|
||||
"streams_active": "Aktivní streamy",
|
||||
"streams_xepg": "Kanály XEPG"
|
||||
},
|
||||
"opnsense": {
|
||||
"cpu": "Zatížení procesoru",
|
||||
"memory": "Aktivní paměť",
|
||||
"wanUpload": "Nahrávání WAN",
|
||||
"wanDownload": "WAN Stažení"
|
||||
"wanDownload": "Stahování WAN"
|
||||
},
|
||||
"moonraker": {
|
||||
"print_progress": "Progres",
|
||||
"print_progress": "Průběh",
|
||||
"printer_state": "Stav tiskárny",
|
||||
"print_status": "Stav tisku",
|
||||
"layers": "Vrstvy"
|
||||
@@ -459,7 +461,7 @@
|
||||
"proxmoxbackupserver": {
|
||||
"datastore_usage": "Datové úložiště",
|
||||
"failed_tasks_24h": "Neúspěšné úlohy 24h",
|
||||
"cpu_usage": "CPU",
|
||||
"cpu_usage": "PROC",
|
||||
"memory_usage": "Paměť"
|
||||
},
|
||||
"immich": {
|
||||
@@ -503,16 +505,18 @@
|
||||
"time": "Čas"
|
||||
},
|
||||
"grafana": {
|
||||
"dashboards": "Přístrojové panely",
|
||||
"dashboards": "Nástěnky",
|
||||
"datasources": "Zdroje dat",
|
||||
"totalalerts": "Celkový počet upozornění",
|
||||
"alertstriggered": "Spuštěné výstrahy"
|
||||
},
|
||||
"nextcloud": {
|
||||
"cpuload": "CPU zatížení",
|
||||
"cpuload": "Zatížení procesoru",
|
||||
"memoryusage": "Využití paměti",
|
||||
"freespace": "Volný prostor",
|
||||
"activeusers": "Aktivní uživatelé"
|
||||
"activeusers": "Aktivní uživatelé",
|
||||
"numfiles": "Soubory",
|
||||
"numshares": "Sdílené položky"
|
||||
},
|
||||
"kopia": {
|
||||
"status": "Stav",
|
||||
@@ -562,5 +566,59 @@
|
||||
"books": "Knihy",
|
||||
"podcastsDuration": "Trvání",
|
||||
"booksDuration": "Trvání"
|
||||
},
|
||||
"homeassistant": {
|
||||
"people_home": "Lidí doma",
|
||||
"lights_on": "Rozsvícená světla",
|
||||
"switches_on": "Zapnuté přepínače"
|
||||
},
|
||||
"freshrss": {
|
||||
"subscriptions": "Odběry",
|
||||
"unread": "Nepřečteno"
|
||||
},
|
||||
"channelsdvrserver": {
|
||||
"shows": "Pořady",
|
||||
"recordings": "Nahrávky",
|
||||
"scheduled": "Naplánováno",
|
||||
"passes": "Průchody"
|
||||
},
|
||||
"whatsupdocker": {
|
||||
"monitoring": "Sledování",
|
||||
"updates": "Aktualizace"
|
||||
},
|
||||
"tailscale": {
|
||||
"address": "Adresa",
|
||||
"expires": "Vyprší",
|
||||
"never": "Nikdy",
|
||||
"last_seen": "Naposledy viděno",
|
||||
"now": "Nyní",
|
||||
"years": "{{number}}r",
|
||||
"weeks": "{{number}}t",
|
||||
"days": "{{number}}d",
|
||||
"hours": "{{number}}h",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "Před {{value}}"
|
||||
},
|
||||
"qnap": {
|
||||
"memUsage": "Využití paměti",
|
||||
"systemTempC": "Teplota systému",
|
||||
"poolUsage": "Využití fondu",
|
||||
"cpuUsage": "Využití procesoru"
|
||||
},
|
||||
"pfsense": {
|
||||
"load": "Prům. zatížení",
|
||||
"memory": "Využití paměti",
|
||||
"wanStatus": "Stav WAN",
|
||||
"up": "Běží",
|
||||
"down": "Neběží",
|
||||
"temp": "Teplota",
|
||||
"disk": "Využití disku",
|
||||
"wanIP": "IP WAN"
|
||||
},
|
||||
"caddy": {
|
||||
"upstreams": "Odesílání dat",
|
||||
"requests": "Aktuální požadavky",
|
||||
"requests_failed": "Selhavší požadavky"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,8 @@
|
||||
"plex": {
|
||||
"movies": "Film",
|
||||
"tv": "TV-Shows",
|
||||
"streams": "Aktive Streams"
|
||||
"streams": "Aktive Streams",
|
||||
"albums": "Albums"
|
||||
},
|
||||
"radarr": {
|
||||
"queued": "I Kø",
|
||||
@@ -278,7 +279,8 @@
|
||||
"pihole": {
|
||||
"blocked": "Blokerede",
|
||||
"gravity": "Gravity",
|
||||
"queries": "Forespørgsler"
|
||||
"queries": "Forespørgsler",
|
||||
"blocked_percent": "Blocked %"
|
||||
},
|
||||
"portainer": {
|
||||
"running": "Kørende",
|
||||
@@ -512,7 +514,9 @@
|
||||
"memoryusage": "Memory Usage",
|
||||
"cpuload": "Cpu Load",
|
||||
"freespace": "Free Space",
|
||||
"activeusers": "Active Users"
|
||||
"activeusers": "Active Users",
|
||||
"numfiles": "Files",
|
||||
"numshares": "Shared Items"
|
||||
},
|
||||
"kopia": {
|
||||
"status": "Status",
|
||||
@@ -562,5 +566,59 @@
|
||||
"podcasts": "Podcasts",
|
||||
"books": "Books",
|
||||
"podcastsDuration": "Duration"
|
||||
},
|
||||
"homeassistant": {
|
||||
"people_home": "People Home",
|
||||
"lights_on": "Lights On",
|
||||
"switches_on": "Switches On"
|
||||
},
|
||||
"freshrss": {
|
||||
"subscriptions": "Subscriptions",
|
||||
"unread": "Unread"
|
||||
},
|
||||
"channelsdvrserver": {
|
||||
"shows": "Shows",
|
||||
"recordings": "Recordings",
|
||||
"scheduled": "Scheduled",
|
||||
"passes": "Passes"
|
||||
},
|
||||
"whatsupdocker": {
|
||||
"monitoring": "Monitoring",
|
||||
"updates": "Updates"
|
||||
},
|
||||
"tailscale": {
|
||||
"address": "Address",
|
||||
"expires": "Expires",
|
||||
"now": "Now",
|
||||
"years": "{{number}}y",
|
||||
"weeks": "{{number}}w",
|
||||
"days": "{{number}}d",
|
||||
"hours": "{{number}}h",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"never": "Never",
|
||||
"last_seen": "Last Seen",
|
||||
"ago": "{{value}} Ago"
|
||||
},
|
||||
"qnap": {
|
||||
"cpuUsage": "CPU Usage",
|
||||
"memUsage": "MEM Usage",
|
||||
"systemTempC": "System Temp",
|
||||
"poolUsage": "Pool Usage"
|
||||
},
|
||||
"pfsense": {
|
||||
"load": "Load Avg",
|
||||
"memory": "Mem Usage",
|
||||
"wanStatus": "WAN Status",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"temp": "Temp",
|
||||
"disk": "Disk Usage",
|
||||
"wanIP": "WAN IP"
|
||||
},
|
||||
"caddy": {
|
||||
"upstreams": "Upstreams",
|
||||
"requests": "Current requests",
|
||||
"requests_failed": "Failed requests"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
"status": "Status",
|
||||
"url": "URL",
|
||||
"information": "Informationen",
|
||||
"raw_error": "Unbearbeiteter Fehler",
|
||||
"raw_error": "Roher Fehler",
|
||||
"response_data": "Empfangene Daten"
|
||||
},
|
||||
"search": {
|
||||
@@ -14,14 +14,14 @@
|
||||
"resources": {
|
||||
"total": "Gesamt",
|
||||
"free": "Frei",
|
||||
"used": "Gebraucht",
|
||||
"used": "In Verwendung",
|
||||
"load": "Last",
|
||||
"cpu": "CPU",
|
||||
"mem": "RAM",
|
||||
"cpu": "Prozessor",
|
||||
"mem": "Speicher",
|
||||
"temp": "TEMP",
|
||||
"max": "Max",
|
||||
"uptime": "UP",
|
||||
"months": "mo",
|
||||
"months": "Mo.",
|
||||
"days": "d",
|
||||
"hours": "h",
|
||||
"minutes": "m"
|
||||
@@ -29,27 +29,27 @@
|
||||
"docker": {
|
||||
"rx": "Rx",
|
||||
"tx": "Tx",
|
||||
"mem": "Mem",
|
||||
"mem": "Speicher",
|
||||
"cpu": "Prozessor",
|
||||
"offline": "Offline",
|
||||
"error": "Fehler",
|
||||
"unknown": "Unbekannt",
|
||||
"running": "Running",
|
||||
"starting": "Starting",
|
||||
"running": "Laufend",
|
||||
"starting": "Startet",
|
||||
"unhealthy": "Unhealthy",
|
||||
"not_found": "Not Found",
|
||||
"exited": "Exited",
|
||||
"partial": "Partial",
|
||||
"not_found": "Nicht gefunden",
|
||||
"exited": "Beendet",
|
||||
"partial": "Teilweise",
|
||||
"healthy": "Healthy"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "Spielen",
|
||||
"transcoding": "Transcodierung",
|
||||
"playing": "Aktuelle Wiedergaben",
|
||||
"transcoding": "Transkodieren",
|
||||
"bitrate": "Bitrate",
|
||||
"no_active": "Keine aktiven Streams",
|
||||
"movies": "Movies",
|
||||
"series": "Series",
|
||||
"episodes": "Episodes",
|
||||
"movies": "Filme",
|
||||
"series": "Serien",
|
||||
"episodes": "Folgen",
|
||||
"songs": "Songs"
|
||||
},
|
||||
"tautulli": {
|
||||
@@ -92,7 +92,8 @@
|
||||
"pihole": {
|
||||
"queries": "Abfragen",
|
||||
"blocked": "Blockiert",
|
||||
"gravity": "Gravity"
|
||||
"gravity": "Gravity",
|
||||
"blocked_percent": "Geblockt %"
|
||||
},
|
||||
"speedtest": {
|
||||
"upload": "Upload",
|
||||
@@ -215,20 +216,21 @@
|
||||
"wan": "WAN",
|
||||
"lan_users": "LAN Benutzer",
|
||||
"wlan_users": "WLAN Benutzer",
|
||||
"up": "SENDEN",
|
||||
"up": "BEREIT",
|
||||
"down": "EMPFANGEN",
|
||||
"wait": "Bitte warten",
|
||||
"lan": "LAN",
|
||||
"wlan": "WLAN",
|
||||
"devices": "Geräte",
|
||||
"lan_devices": "LAN-Geräte",
|
||||
"wlan_devices": "WLAN Geräte",
|
||||
"empty_data": "Subsystem status unbekannt"
|
||||
"wlan_devices": "WLAN-Geräte",
|
||||
"empty_data": "Subsystem-Status unbekannt"
|
||||
},
|
||||
"plex": {
|
||||
"streams": "Aktive Streams",
|
||||
"movies": "Filme",
|
||||
"tv": "TV Sendungen"
|
||||
"tv": "TV Sendungen",
|
||||
"albums": "Alben"
|
||||
},
|
||||
"glances": {
|
||||
"cpu": "Prozessor",
|
||||
@@ -236,8 +238,8 @@
|
||||
"wait": "Bitte warten",
|
||||
"temp": "TEMP",
|
||||
"uptime": "UP",
|
||||
"days": "d",
|
||||
"hours": "h"
|
||||
"days": "T",
|
||||
"hours": "S"
|
||||
},
|
||||
"changedetectionio": {
|
||||
"totalObserved": "Gesamt beobachtet",
|
||||
@@ -317,7 +319,7 @@
|
||||
"child_bridges": "Child Bridges",
|
||||
"child_bridges_status": "{{ok}}/{{total}}",
|
||||
"up": "Up",
|
||||
"pending": "Pending",
|
||||
"pending": "Ausstehend",
|
||||
"down": "Down"
|
||||
},
|
||||
"autobrr": {
|
||||
@@ -512,7 +514,9 @@
|
||||
"cpuload": "CPU Last",
|
||||
"memoryusage": "RAM Verbrauch",
|
||||
"freespace": "Freier Speicher",
|
||||
"activeusers": "Aktive Nutzer"
|
||||
"activeusers": "Aktive Nutzer",
|
||||
"numfiles": "Dateien",
|
||||
"numshares": "Geteilte Elemente"
|
||||
},
|
||||
"kopia": {
|
||||
"status": "Status",
|
||||
@@ -522,12 +526,12 @@
|
||||
"failed": "Fehlgeschlagen"
|
||||
},
|
||||
"unmanic": {
|
||||
"active_workers": "Active Workers",
|
||||
"total_workers": "Total Workers",
|
||||
"records_total": "Queue Length"
|
||||
"active_workers": "Aktive Worker",
|
||||
"total_workers": "Alle Worker",
|
||||
"records_total": "Länge der Warteschlange"
|
||||
},
|
||||
"healthchecks": {
|
||||
"grace": "In Grace Period",
|
||||
"grace": "In Karenzzeit",
|
||||
"new": "Neu",
|
||||
"up": "Online",
|
||||
"down": "Offline",
|
||||
@@ -541,9 +545,9 @@
|
||||
"nodes": "Nodes"
|
||||
},
|
||||
"prometheus": {
|
||||
"targets_up": "Targets Up",
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
"targets_up": "Ziele Up",
|
||||
"targets_down": "Ziele Down",
|
||||
"targets_total": "Alle Ziele"
|
||||
},
|
||||
"minecraft": {
|
||||
"players": "Spieler",
|
||||
@@ -553,14 +557,68 @@
|
||||
"down": "Offline"
|
||||
},
|
||||
"ghostfolio": {
|
||||
"gross_percent_max": "All time",
|
||||
"gross_percent_max": "Alle Zeit",
|
||||
"gross_percent_today": "Heute",
|
||||
"gross_percent_1y": "Ein Jahr"
|
||||
},
|
||||
"audiobookshelf": {
|
||||
"podcasts": "Podcasts",
|
||||
"books": "Books",
|
||||
"podcastsDuration": "Duration",
|
||||
"booksDuration": "Duration"
|
||||
"books": "Bücher",
|
||||
"podcastsDuration": "Dauer",
|
||||
"booksDuration": "Dauer"
|
||||
},
|
||||
"homeassistant": {
|
||||
"people_home": "Personen daheim",
|
||||
"lights_on": "Lichter an",
|
||||
"switches_on": "Schalter an"
|
||||
},
|
||||
"freshrss": {
|
||||
"subscriptions": "Abonnements",
|
||||
"unread": "Ungelesen"
|
||||
},
|
||||
"channelsdvrserver": {
|
||||
"shows": "Shows",
|
||||
"recordings": "Aufnahmen",
|
||||
"scheduled": "Geplant",
|
||||
"passes": "Pässe"
|
||||
},
|
||||
"whatsupdocker": {
|
||||
"monitoring": "Überwacht",
|
||||
"updates": "Aktualisierungen"
|
||||
},
|
||||
"tailscale": {
|
||||
"address": "Adresse",
|
||||
"weeks": "{{number}}W",
|
||||
"days": "{{number}}T",
|
||||
"hours": "{{number}}S",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "Vor {{value}}",
|
||||
"expires": "Läuft ab",
|
||||
"last_seen": "Zuletzt gesehen",
|
||||
"never": "Nie",
|
||||
"now": "Jetzt",
|
||||
"years": "{{number}}J"
|
||||
},
|
||||
"qnap": {
|
||||
"cpuUsage": "CPU Nutzung",
|
||||
"memUsage": "MEM Nutzung",
|
||||
"systemTempC": "System Temp",
|
||||
"poolUsage": "Pool Nutzung"
|
||||
},
|
||||
"pfsense": {
|
||||
"load": "Durchschnittliche Last",
|
||||
"temp": "Temp",
|
||||
"disk": "Datenträgernutzung",
|
||||
"wanIP": "WAN IP",
|
||||
"memory": "Speichernutzung",
|
||||
"wanStatus": "WAN Status",
|
||||
"up": "Up",
|
||||
"down": "Down"
|
||||
},
|
||||
"caddy": {
|
||||
"upstreams": "Upstreams",
|
||||
"requests": "Aktuelle Anfragen",
|
||||
"requests_failed": "Fehlgeschlagene Anfragen"
|
||||
}
|
||||
}
|
||||
|
||||
624
public/locales/el/common.json
Normal file
624
public/locales/el/common.json
Normal file
@@ -0,0 +1,624 @@
|
||||
{
|
||||
"resources": {
|
||||
"used": "χρησιμοποιημένο",
|
||||
"load": "Φόρτωση",
|
||||
"cpu": "Επεξεργαστής",
|
||||
"mem": "MEM",
|
||||
"temp": "ΘΕΡΜΟΚΡΑΣΪΑ",
|
||||
"total": "Σύνολο",
|
||||
"free": "Δωρεάν",
|
||||
"max": "Μέγιστο",
|
||||
"uptime": "ΠΑΝΩ",
|
||||
"months": "mo",
|
||||
"days": "d",
|
||||
"hours": "h",
|
||||
"minutes": "m"
|
||||
},
|
||||
"omada": {
|
||||
"activeUser": "Ενεργές συσκευές",
|
||||
"alerts": "Ειδοποιήσεις",
|
||||
"connectedAp": "Συνδεδεμένα APs",
|
||||
"connectedGateway": "Συνδεδεμένα gateways",
|
||||
"connectedSwitches": "Συνδεδεμένα switches"
|
||||
},
|
||||
"wmo": {
|
||||
"0-night": "Clear",
|
||||
"65-day": "Heavy Rain",
|
||||
"65-night": "Heavy Rain",
|
||||
"0-day": "Sunny",
|
||||
"1-day": "Mainly Sunny",
|
||||
"1-night": "Mainly Clear",
|
||||
"2-day": "Partly Cloudy",
|
||||
"2-night": "Partly Cloudy",
|
||||
"3-day": "Cloudy",
|
||||
"3-night": "Cloudy",
|
||||
"45-day": "Foggy",
|
||||
"45-night": "Foggy",
|
||||
"48-day": "Foggy",
|
||||
"48-night": "Foggy",
|
||||
"51-day": "Light Drizzle",
|
||||
"51-night": "Light Drizzle",
|
||||
"53-day": "Drizzle",
|
||||
"53-night": "Drizzle",
|
||||
"55-day": "Heavy Drizzle",
|
||||
"55-night": "Heavy Drizzle",
|
||||
"56-day": "Light Freezing Drizzle",
|
||||
"56-night": "Light Freezing Drizzle",
|
||||
"57-day": "Freezing Drizzle",
|
||||
"57-night": "Freezing Drizzle",
|
||||
"61-day": "Light Rain",
|
||||
"61-night": "Light Rain",
|
||||
"63-day": "Rain",
|
||||
"63-night": "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",
|
||||
"99-day": "Thunderstorm With Hail",
|
||||
"99-night": "Thunderstorm With Hail"
|
||||
},
|
||||
"common": {
|
||||
"bibyterate": "{{value, rate(bits: false; binary: true)}}",
|
||||
"bibitrate": "{{value, rate(bits: true; binary: true)}}"
|
||||
},
|
||||
"widget": {
|
||||
"missing_type": "Λείπει ο τύπος widget: {{type}}",
|
||||
"api_error": "Σφάλμα API",
|
||||
"information": "Πληροφορία",
|
||||
"status": "Κατάσταση",
|
||||
"url": "URL",
|
||||
"raw_error": "Ανεπεξέργαστο σφάλμα",
|
||||
"response_data": "Δεδομένα απόκρισης"
|
||||
},
|
||||
"weather": {
|
||||
"current": "Τωρινή τοποθεσία",
|
||||
"allow": "Κάντε κλικ για να επιτρέψετε",
|
||||
"updating": "Ενημέρωση",
|
||||
"wait": "Παρακαλώ περιμένετε"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Αναζήτηση…"
|
||||
},
|
||||
"unifi": {
|
||||
"users": "Χρήστες",
|
||||
"uptime": "Χρόνος λειτουργίας συστήματος",
|
||||
"days": "Ημέρες",
|
||||
"wan": "WAN",
|
||||
"lan": "LAN",
|
||||
"wlan": "WLAN",
|
||||
"devices": "Συσκευές",
|
||||
"lan_devices": "LAN Συσκευές",
|
||||
"wlan_devices": "WLAN Συσκευές",
|
||||
"lan_users": "LAN Χρήστες",
|
||||
"wlan_users": "WLAN Χρήστες",
|
||||
"up": "ΠΑΝΩ",
|
||||
"down": "ΚΑΤΩ",
|
||||
"wait": "Παρακαλώ περιμένετε",
|
||||
"empty_data": "Άγνωστη κατάσταση υποσυστήματος"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
"tx": "TX",
|
||||
"mem": "MEM",
|
||||
"cpu": "CPU",
|
||||
"running": "Τρέχων",
|
||||
"offline": "Εκτός σύνδεσης",
|
||||
"error": "Σφάλμα",
|
||||
"unknown": "Άγνωστο",
|
||||
"healthy": "Υγειές",
|
||||
"exited": "Έκλεισε",
|
||||
"starting": "Ξεκινάει",
|
||||
"partial": "Μερικό",
|
||||
"unhealthy": "Άρρωστο",
|
||||
"not_found": "Δεν βρέθηκε"
|
||||
},
|
||||
"ping": {
|
||||
"error": "Σφάλμα",
|
||||
"ping": "Ping"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "Παίζει",
|
||||
"transcoding": "Διακωδικοποίηση",
|
||||
"bitrate": "Ρυθμός bit",
|
||||
"no_active": "Δεν υπάρχουν ενεργές ροές",
|
||||
"movies": "Ταινίες",
|
||||
"series": "Σειρές",
|
||||
"episodes": "Επεισόδια",
|
||||
"songs": "Τραγούδια"
|
||||
},
|
||||
"flood": {
|
||||
"download": "Λήξη",
|
||||
"upload": "Φόρτωση",
|
||||
"leech": "Αφαίμαξη",
|
||||
"seed": "Σπείρε"
|
||||
},
|
||||
"changedetectionio": {
|
||||
"totalObserved": "Συνολικά παρατηρηθείσα",
|
||||
"diffsDetected": "Εντοπίστηκαν διαφορές"
|
||||
},
|
||||
"tautulli": {
|
||||
"playing": "Παίζει",
|
||||
"transcoding": "Διακωδικοποίηση",
|
||||
"bitrate": "Ρυθμός bit",
|
||||
"no_active": "Δεν υπάρχουν ενεργές ροές"
|
||||
},
|
||||
"nzbget": {
|
||||
"rate": "βαθμός",
|
||||
"remaining": "Υπόλοιπο",
|
||||
"downloaded": "Κατεβασμένο"
|
||||
},
|
||||
"plex": {
|
||||
"streams": "Ενεργά Streams",
|
||||
"movies": "Ταινίες",
|
||||
"tv": "Σειρές",
|
||||
"albums": "Δίσκοι"
|
||||
},
|
||||
"sabnzbd": {
|
||||
"rate": "Βαθμός",
|
||||
"queue": "Ουρά",
|
||||
"timeleft": "Χρόνος που απομένει"
|
||||
},
|
||||
"rutorrent": {
|
||||
"active": "Ενεργό",
|
||||
"upload": "Ανέβασμα",
|
||||
"download": "Κατέβασμα"
|
||||
},
|
||||
"transmission": {
|
||||
"download": "Κατέβασμα",
|
||||
"upload": "Ανέβασμα",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"qbittorrent": {
|
||||
"download": "Κατέβασμα",
|
||||
"upload": "Ανέβασμα",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"deluge": {
|
||||
"download": "Κατέβασμα",
|
||||
"upload": "Φόρτωση",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"sonarr": {
|
||||
"series": "Σειρές",
|
||||
"wanted": "Επιθυμούντε",
|
||||
"queued": "Σε σειρά"
|
||||
},
|
||||
"downloadstation": {
|
||||
"download": "Μεταφόρτωση",
|
||||
"upload": "Φόρτωση",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"radarr": {
|
||||
"wanted": "Επιθυμούντε",
|
||||
"missing": "Απουσιάζει",
|
||||
"queued": "Σε σειρά",
|
||||
"movies": "Ταινίες"
|
||||
},
|
||||
"lidarr": {
|
||||
"wanted": "Θέλετε",
|
||||
"queued": "Στη σειρά",
|
||||
"albums": "Δίσκοι"
|
||||
},
|
||||
"readarr": {
|
||||
"wanted": "Θέλετε",
|
||||
"queued": "Στη σειρά",
|
||||
"books": "Βιβλία"
|
||||
},
|
||||
"bazarr": {
|
||||
"missingEpisodes": "Επεισόδια που λείπουν",
|
||||
"missingMovies": "Missing Movies"
|
||||
},
|
||||
"ombi": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
"processing": "Processing",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
},
|
||||
"pihole": {
|
||||
"queries": "Queries",
|
||||
"blocked": "Blocked",
|
||||
"gravity": "Gravity",
|
||||
"blocked_percent": "Blocked %"
|
||||
},
|
||||
"adguard": {
|
||||
"queries": "Queries",
|
||||
"blocked": "Blocked",
|
||||
"filtered": "Filtered",
|
||||
"latency": "Latency"
|
||||
},
|
||||
"speedtest": {
|
||||
"upload": "Upload",
|
||||
"download": "Download",
|
||||
"ping": "Ping"
|
||||
},
|
||||
"portainer": {
|
||||
"running": "Running",
|
||||
"stopped": "Stopped",
|
||||
"total": "Total"
|
||||
},
|
||||
"tdarr": {
|
||||
"queue": "Queue",
|
||||
"processed": "Processed",
|
||||
"errored": "Errored",
|
||||
"saved": "Saved"
|
||||
},
|
||||
"traefik": {
|
||||
"routers": "Routers",
|
||||
"services": "Services",
|
||||
"middleware": "Middleware"
|
||||
},
|
||||
"navidrome": {
|
||||
"nothing_streaming": "No Active Streams",
|
||||
"please_wait": "Please Wait"
|
||||
},
|
||||
"npm": {
|
||||
"enabled": "Enabled",
|
||||
"disabled": "Disabled",
|
||||
"total": "Total"
|
||||
},
|
||||
"coinmarketcap": {
|
||||
"configure": "Configure one or more crypto currencies to track",
|
||||
"1hour": "1 Hour",
|
||||
"1day": "1 Day",
|
||||
"7days": "7 Days",
|
||||
"30days": "30 Days"
|
||||
},
|
||||
"gotify": {
|
||||
"apps": "Applications",
|
||||
"clients": "Clients",
|
||||
"messages": "Messages"
|
||||
},
|
||||
"prowlarr": {
|
||||
"enableIndexers": "Indexers",
|
||||
"numberOfGrabs": "Grabs",
|
||||
"numberOfQueries": "Queries",
|
||||
"numberOfFailGrabs": "Fail Grabs",
|
||||
"numberOfFailQueries": "Fail Queries"
|
||||
},
|
||||
"strelaysrv": {
|
||||
"numActiveSessions": "Sessions",
|
||||
"numConnections": "Connections",
|
||||
"dataRelayed": "Relayed",
|
||||
"transferRate": "Rate"
|
||||
},
|
||||
"jackett": {
|
||||
"configured": "Configured",
|
||||
"errored": "Errored"
|
||||
},
|
||||
"mastodon": {
|
||||
"user_count": "Users",
|
||||
"status_count": "Posts",
|
||||
"domain_count": "Domains"
|
||||
},
|
||||
"medusa": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"series": "Series"
|
||||
},
|
||||
"minecraft": {
|
||||
"players": "Players",
|
||||
"version": "Version",
|
||||
"down": "Offline",
|
||||
"status": "Status",
|
||||
"up": "Online"
|
||||
},
|
||||
"miniflux": {
|
||||
"read": "Read",
|
||||
"unread": "Unread"
|
||||
},
|
||||
"authentik": {
|
||||
"users": "Users",
|
||||
"loginsLast24H": "Logins (24h)",
|
||||
"failedLoginsLast24H": "Failed Logins (24h)"
|
||||
},
|
||||
"proxmox": {
|
||||
"mem": "MEM",
|
||||
"cpu": "CPU",
|
||||
"lxc": "LXC",
|
||||
"vms": "VMs"
|
||||
},
|
||||
"glances": {
|
||||
"cpu": "CPU",
|
||||
"mem": "MEM",
|
||||
"wait": "Please wait",
|
||||
"temp": "TEMP",
|
||||
"uptime": "UP",
|
||||
"days": "d",
|
||||
"hours": "h"
|
||||
},
|
||||
"quicklaunch": {
|
||||
"bookmark": "Bookmark",
|
||||
"service": "Service",
|
||||
"search": "Search",
|
||||
"custom": "Custom",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
},
|
||||
"homebridge": {
|
||||
"available_update": "System",
|
||||
"updates": "Updates",
|
||||
"update_available": "Update Available",
|
||||
"up_to_date": "Up to Date",
|
||||
"child_bridges": "Child Bridges",
|
||||
"child_bridges_status": "{{ok}}/{{total}}",
|
||||
"up": "Up",
|
||||
"pending": "Pending",
|
||||
"down": "Down"
|
||||
},
|
||||
"healthchecks": {
|
||||
"new": "New",
|
||||
"up": "Online",
|
||||
"grace": "In Grace Period",
|
||||
"down": "Offline",
|
||||
"paused": "Paused",
|
||||
"status": "Status",
|
||||
"last_ping": "Last Ping",
|
||||
"never": "No pings yet"
|
||||
},
|
||||
"watchtower": {
|
||||
"containers_scanned": "Scanned",
|
||||
"containers_updated": "Updated",
|
||||
"containers_failed": "Failed"
|
||||
},
|
||||
"autobrr": {
|
||||
"approvedPushes": "Approved",
|
||||
"rejectedPushes": "Rejected",
|
||||
"filters": "Filters",
|
||||
"indexers": "Indexers"
|
||||
},
|
||||
"tubearchivist": {
|
||||
"downloads": "Queue",
|
||||
"videos": "Videos",
|
||||
"channels": "Channels",
|
||||
"playlists": "Playlists"
|
||||
},
|
||||
"truenas": {
|
||||
"load": "System Load",
|
||||
"uptime": "Uptime",
|
||||
"alerts": "Alerts",
|
||||
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
|
||||
},
|
||||
"pyload": {
|
||||
"speed": "Speed",
|
||||
"active": "Active",
|
||||
"queue": "Queue",
|
||||
"total": "Total"
|
||||
},
|
||||
"gluetun": {
|
||||
"public_ip": "Public IP",
|
||||
"region": "Region",
|
||||
"country": "Country"
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Channels",
|
||||
"hd": "HD"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Passed",
|
||||
"failed": "Failed",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"paperlessngx": {
|
||||
"inbox": "Inbox",
|
||||
"total": "Total"
|
||||
},
|
||||
"nextdns": {
|
||||
"wait": "Please Wait",
|
||||
"no_devices": "No Device Data Received"
|
||||
},
|
||||
"mikrotik": {
|
||||
"cpuLoad": "CPU Load",
|
||||
"memoryUsed": "Memory Used",
|
||||
"uptime": "Uptime",
|
||||
"numberOfLeases": "Leases"
|
||||
},
|
||||
"xteve": {
|
||||
"streams_all": "All Streams",
|
||||
"streams_active": "Active Streams",
|
||||
"streams_xepg": "XEPG Channels"
|
||||
},
|
||||
"opnsense": {
|
||||
"cpu": "CPU Load",
|
||||
"memory": "Active Memory",
|
||||
"wanUpload": "WAN Upload",
|
||||
"wanDownload": "WAN Download"
|
||||
},
|
||||
"moonraker": {
|
||||
"printer_state": "Printer State",
|
||||
"print_status": "Print Status",
|
||||
"print_progress": "Progress",
|
||||
"layers": "Layers"
|
||||
},
|
||||
"octoprint": {
|
||||
"printer_state": "Status",
|
||||
"temp_tool": "Tool temp",
|
||||
"temp_bed": "Bed temp",
|
||||
"job_completion": "Completion"
|
||||
},
|
||||
"cloudflared": {
|
||||
"origin_ip": "Origin IP",
|
||||
"status": "Status"
|
||||
},
|
||||
"proxmoxbackupserver": {
|
||||
"datastore_usage": "Datastore",
|
||||
"failed_tasks_24h": "Failed Tasks 24h",
|
||||
"cpu_usage": "CPU",
|
||||
"memory_usage": "Memory"
|
||||
},
|
||||
"immich": {
|
||||
"users": "Users",
|
||||
"photos": "Photos",
|
||||
"videos": "Videos",
|
||||
"storage": "Storage"
|
||||
},
|
||||
"uptimekuma": {
|
||||
"up": "Sites Up",
|
||||
"down": "Sites Down",
|
||||
"uptime": "Uptime",
|
||||
"incident": "Incident",
|
||||
"m": "m"
|
||||
},
|
||||
"komga": {
|
||||
"libraries": "Libraries",
|
||||
"series": "Series",
|
||||
"books": "Books"
|
||||
},
|
||||
"diskstation": {
|
||||
"days": "Days",
|
||||
"uptime": "Uptime",
|
||||
"volumeAvailable": "Available"
|
||||
},
|
||||
"mylar": {
|
||||
"series": "Series",
|
||||
"issues": "Issues",
|
||||
"wanted": "Wanted"
|
||||
},
|
||||
"photoprism": {
|
||||
"albums": "Albums",
|
||||
"photos": "Photos",
|
||||
"videos": "Videos",
|
||||
"people": "People"
|
||||
},
|
||||
"fileflows": {
|
||||
"processed": "Processed",
|
||||
"queue": "Queue",
|
||||
"processing": "Processing",
|
||||
"time": "Time"
|
||||
},
|
||||
"grafana": {
|
||||
"dashboards": "Dashboards",
|
||||
"datasources": "Data Sources",
|
||||
"totalalerts": "Total Alerts",
|
||||
"alertstriggered": "Alerts Triggered"
|
||||
},
|
||||
"nextcloud": {
|
||||
"cpuload": "Cpu Load",
|
||||
"memoryusage": "Memory Usage",
|
||||
"freespace": "Free Space",
|
||||
"activeusers": "Active Users",
|
||||
"numfiles": "Files",
|
||||
"numshares": "Shared Items"
|
||||
},
|
||||
"kopia": {
|
||||
"status": "Status",
|
||||
"size": "Size",
|
||||
"lastrun": "Last Run",
|
||||
"nextrun": "Next Run",
|
||||
"failed": "Failed"
|
||||
},
|
||||
"unmanic": {
|
||||
"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"
|
||||
},
|
||||
"ghostfolio": {
|
||||
"gross_percent_today": "Today",
|
||||
"gross_percent_1y": "One year",
|
||||
"gross_percent_max": "All time"
|
||||
},
|
||||
"audiobookshelf": {
|
||||
"podcasts": "Podcasts",
|
||||
"books": "Books",
|
||||
"podcastsDuration": "Duration",
|
||||
"booksDuration": "Διάρκεια"
|
||||
},
|
||||
"homeassistant": {
|
||||
"people_home": "People Home",
|
||||
"lights_on": "Lights On",
|
||||
"switches_on": "Switches On"
|
||||
},
|
||||
"freshrss": {
|
||||
"subscriptions": "Συνδρομές",
|
||||
"unread": "Αδιάβαστο"
|
||||
},
|
||||
"channelsdvrserver": {
|
||||
"shows": "Εκπομπές",
|
||||
"recordings": "Εγγραφές",
|
||||
"scheduled": "Προγραμματισμένα",
|
||||
"passes": "Passes"
|
||||
},
|
||||
"whatsupdocker": {
|
||||
"monitoring": "Monitoring",
|
||||
"updates": "Updates"
|
||||
},
|
||||
"tailscale": {
|
||||
"address": "Address",
|
||||
"never": "Never",
|
||||
"years": "{{number}}y",
|
||||
"weeks": "{{number}}w",
|
||||
"days": "{{number}}d",
|
||||
"hours": "{{number}}h",
|
||||
"expires": "Expires",
|
||||
"last_seen": "Last Seen",
|
||||
"now": "Now",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "{{value}} Ago"
|
||||
},
|
||||
"qnap": {
|
||||
"cpuUsage": "Χρήση επεξεργαστή",
|
||||
"memUsage": "Χρήση μνήμης",
|
||||
"systemTempC": "Θερμοκρασία συστήματος",
|
||||
"poolUsage": "Χρήση πλειάδας"
|
||||
},
|
||||
"pfsense": {
|
||||
"load": "Load Avg",
|
||||
"memory": "Mem Usage",
|
||||
"wanStatus": "WAN Status",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"temp": "Temp",
|
||||
"disk": "Disk Usage",
|
||||
"wanIP": "WAN IP"
|
||||
},
|
||||
"caddy": {
|
||||
"upstreams": "Upstreams",
|
||||
"requests": "Current requests",
|
||||
"requests_failed": "Failed requests"
|
||||
}
|
||||
}
|
||||
@@ -91,6 +91,14 @@
|
||||
"series": "Series",
|
||||
"episodes": "Episodes",
|
||||
"songs": "Songs"
|
||||
},
|
||||
"evcc": {
|
||||
"pv_power": "Production",
|
||||
"battery_soc": "Battery",
|
||||
"grid_power": "Grid",
|
||||
"home_power": "Consumption",
|
||||
"charge_power": "Charger",
|
||||
"watt_hour": "Wh"
|
||||
},
|
||||
"flood": {
|
||||
"download": "Download",
|
||||
@@ -98,10 +106,25 @@
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"freshrss": {
|
||||
"subscriptions": "Subscriptions",
|
||||
"unread": "Unread"
|
||||
},
|
||||
"caddy": {
|
||||
"upstreams": "Upstreams",
|
||||
"requests": "Current requests",
|
||||
"requests_failed": "Failed requests"
|
||||
},
|
||||
"changedetectionio": {
|
||||
"totalObserved": "Total Observed",
|
||||
"diffsDetected": "Diffs Detected"
|
||||
},
|
||||
"channelsdvrserver": {
|
||||
"shows": "Shows",
|
||||
"recordings": "Recordings",
|
||||
"scheduled": "Scheduled",
|
||||
"passes": "Passes"
|
||||
},
|
||||
"tautulli": {
|
||||
"playing": "Playing",
|
||||
"transcoding": "Transcoding",
|
||||
@@ -122,6 +145,7 @@
|
||||
},
|
||||
"plex": {
|
||||
"streams": "Active Streams",
|
||||
"albums": "Albums",
|
||||
"movies": "Movies",
|
||||
"tv": "TV Shows"
|
||||
},
|
||||
@@ -147,6 +171,12 @@
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"qnap": {
|
||||
"cpuUsage": "CPU Usage",
|
||||
"memUsage": "MEM Usage",
|
||||
"systemTempC": "System Temp",
|
||||
"poolUsage": "Pool Usage"
|
||||
},
|
||||
"deluge": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
@@ -203,6 +233,7 @@
|
||||
"pihole": {
|
||||
"queries": "Queries",
|
||||
"blocked": "Blocked",
|
||||
"blocked_percent": "Blocked %",
|
||||
"gravity": "Gravity"
|
||||
},
|
||||
"adguard": {
|
||||
@@ -221,6 +252,20 @@
|
||||
"stopped": "Stopped",
|
||||
"total": "Total"
|
||||
},
|
||||
"tailscale": {
|
||||
"address": "Address",
|
||||
"expires": "Expires",
|
||||
"never": "Never",
|
||||
"last_seen": "Last Seen",
|
||||
"now": "Now",
|
||||
"years": "{{number}}y",
|
||||
"weeks": "{{number}}w",
|
||||
"days": "{{number}}d",
|
||||
"hours": "{{number}}h",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "{{value}} Ago"
|
||||
},
|
||||
"tdarr": {
|
||||
"queue": "Queue",
|
||||
"processed": "Processed",
|
||||
@@ -482,6 +527,16 @@
|
||||
"origin_ip": "Origin IP",
|
||||
"status": "Status"
|
||||
},
|
||||
"pfsense": {
|
||||
"load": "Load Avg",
|
||||
"memory": "Mem Usage",
|
||||
"wanStatus": "WAN Status",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"temp": "Temp",
|
||||
"disk": "Disk Usage",
|
||||
"wanIP": "WAN IP"
|
||||
},
|
||||
"proxmoxbackupserver": {
|
||||
"datastore_usage": "Datastore",
|
||||
"failed_tasks_24h": "Failed Tasks 24h",
|
||||
@@ -538,7 +593,9 @@
|
||||
"cpuload": "Cpu Load",
|
||||
"memoryusage": "Memory Usage",
|
||||
"freespace": "Free Space",
|
||||
"activeusers": "Active Users"
|
||||
"activeusers": "Active Users",
|
||||
"numfiles": "Files",
|
||||
"numshares": "Shared Items"
|
||||
},
|
||||
"kopia": {
|
||||
"status": "Status",
|
||||
@@ -571,5 +628,14 @@
|
||||
"books": "Books",
|
||||
"podcastsDuration": "Duration",
|
||||
"booksDuration": "Duration"
|
||||
},
|
||||
"homeassistant": {
|
||||
"people_home": "People Home",
|
||||
"lights_on": "Lights On",
|
||||
"switches_on": "Switches On"
|
||||
},
|
||||
"whatsupdocker": {
|
||||
"monitoring": "Monitoring",
|
||||
"updates": "Updates"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
{
|
||||
"widget": {
|
||||
"missing_type": "Missing Widget Type: {{type}}",
|
||||
"api_error": "API Error",
|
||||
"missing_type": "Manka Tipo de Fenestraĵo: {{type}}",
|
||||
"api_error": "Eraro de API",
|
||||
"information": "Informo",
|
||||
"status": "Stato",
|
||||
"url": "URL",
|
||||
"raw_error": "Raw Error",
|
||||
"response_data": "Response Data"
|
||||
"raw_error": "Kruda Eraro",
|
||||
"response_data": "Respondoj de Demandoj"
|
||||
},
|
||||
"weather": {
|
||||
"current": "Aktuala loko",
|
||||
"allow": "Click to allow",
|
||||
"updating": "Updating",
|
||||
"wait": "Please wait"
|
||||
"allow": "Klaku por permesi",
|
||||
"updating": "Ĝisdatiganta",
|
||||
"wait": "Bonvolu atendi"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Serĉi…"
|
||||
@@ -26,58 +26,58 @@
|
||||
"mem": "MEM",
|
||||
"temp": "TEMP",
|
||||
"months": "mo",
|
||||
"max": "Max",
|
||||
"max": "Maks",
|
||||
"uptime": "UP",
|
||||
"days": "d",
|
||||
"days": "t",
|
||||
"hours": "h",
|
||||
"minutes": "m"
|
||||
},
|
||||
"unifi": {
|
||||
"users": "Uzantoj",
|
||||
"uptime": "System Uptime",
|
||||
"uptime": "Uptempo de la Sistemo",
|
||||
"days": "Tagoj",
|
||||
"wan": "WAN",
|
||||
"lan": "LAN",
|
||||
"wlan": "WLAN",
|
||||
"devices": "Aparatoj",
|
||||
"lan_devices": "LAN Devices",
|
||||
"wlan_devices": "WLAN Devices",
|
||||
"lan_users": "LAN Users",
|
||||
"wlan_users": "WLAN Users",
|
||||
"lan_devices": "LAN-Aparatoj",
|
||||
"wlan_devices": "WLAN-Aparatoj",
|
||||
"lan_users": "LAN-Uzantoj",
|
||||
"wlan_users": "WLAN-Uzantoj",
|
||||
"up": "UP",
|
||||
"down": "DOWN",
|
||||
"wait": "Please wait",
|
||||
"empty_data": "Subsystem status unknown"
|
||||
"wait": "Bonvolu atendi",
|
||||
"empty_data": "Subsistemostatuso nekonata"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
"tx": "TX",
|
||||
"mem": "Memoro",
|
||||
"cpu": "Ĉefprocesoro",
|
||||
"offline": "Offline",
|
||||
"mem": "MEM",
|
||||
"cpu": "CPO",
|
||||
"offline": "Malkonekta",
|
||||
"error": "Eraro",
|
||||
"unknown": "Nekonata",
|
||||
"running": "Running",
|
||||
"starting": "Starting",
|
||||
"unhealthy": "Unhealthy",
|
||||
"not_found": "Not Found",
|
||||
"exited": "Exited",
|
||||
"partial": "Partial",
|
||||
"healthy": "Healthy"
|
||||
"running": "Rulata",
|
||||
"starting": "Lanĉante",
|
||||
"unhealthy": "Malsana",
|
||||
"not_found": "Ne trovita",
|
||||
"exited": "Eliris",
|
||||
"partial": "Parta",
|
||||
"healthy": "Sana"
|
||||
},
|
||||
"ping": {
|
||||
"error": "Eraro",
|
||||
"ping": "Ping"
|
||||
"ping": "Sondaĵo"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "Ludante",
|
||||
"transcoding": "Transcoding",
|
||||
"bitrate": "Bitrate",
|
||||
"transcoding": "Transkodigo",
|
||||
"bitrate": "Bitrapido",
|
||||
"no_active": "No Active Streams",
|
||||
"movies": "Movies",
|
||||
"series": "Series",
|
||||
"episodes": "Episodes",
|
||||
"songs": "Songs"
|
||||
"movies": "Filmoj",
|
||||
"series": "Serioj",
|
||||
"episodes": "Epizodoj",
|
||||
"songs": "Kantoj"
|
||||
},
|
||||
"changedetectionio": {
|
||||
"totalObserved": "Total Observed",
|
||||
@@ -97,7 +97,8 @@
|
||||
"plex": {
|
||||
"streams": "Active Streams",
|
||||
"movies": "Filmoj",
|
||||
"tv": "Televidprogramoj"
|
||||
"tv": "Televidprogramoj",
|
||||
"albums": "Albums"
|
||||
},
|
||||
"sabnzbd": {
|
||||
"rate": "Rate",
|
||||
@@ -171,7 +172,8 @@
|
||||
"pihole": {
|
||||
"queries": "Queries",
|
||||
"blocked": "Blocked",
|
||||
"gravity": "Gravity"
|
||||
"gravity": "Gravity",
|
||||
"blocked_percent": "Blocked %"
|
||||
},
|
||||
"adguard": {
|
||||
"queries": "Queries",
|
||||
@@ -382,8 +384,8 @@
|
||||
"total": "Totalo"
|
||||
},
|
||||
"flood": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"download": "Elŝuti",
|
||||
"upload": "Alŝuti",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
@@ -512,7 +514,9 @@
|
||||
"activeusers": "Active Users",
|
||||
"cpuload": "Cpu Load",
|
||||
"memoryusage": "Memory Usage",
|
||||
"freespace": "Free Space"
|
||||
"freespace": "Free Space",
|
||||
"numfiles": "Files",
|
||||
"numshares": "Shared Items"
|
||||
},
|
||||
"kopia": {
|
||||
"status": "Status",
|
||||
@@ -562,5 +566,59 @@
|
||||
"books": "Books",
|
||||
"podcastsDuration": "Duration",
|
||||
"booksDuration": "Duration"
|
||||
},
|
||||
"homeassistant": {
|
||||
"people_home": "People Home",
|
||||
"lights_on": "Lights On",
|
||||
"switches_on": "Switches On"
|
||||
},
|
||||
"freshrss": {
|
||||
"subscriptions": "Subscriptions",
|
||||
"unread": "Unread"
|
||||
},
|
||||
"channelsdvrserver": {
|
||||
"shows": "Shows",
|
||||
"recordings": "Recordings",
|
||||
"scheduled": "Scheduled",
|
||||
"passes": "Passes"
|
||||
},
|
||||
"whatsupdocker": {
|
||||
"monitoring": "Monitoring",
|
||||
"updates": "Updates"
|
||||
},
|
||||
"tailscale": {
|
||||
"address": "Address",
|
||||
"expires": "Expires",
|
||||
"never": "Never",
|
||||
"last_seen": "Last Seen",
|
||||
"now": "Now",
|
||||
"years": "{{number}}y",
|
||||
"weeks": "{{number}}w",
|
||||
"days": "{{number}}d",
|
||||
"hours": "{{number}}h",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "{{value}} Ago"
|
||||
},
|
||||
"qnap": {
|
||||
"cpuUsage": "CPU Usage",
|
||||
"memUsage": "MEM Usage",
|
||||
"systemTempC": "System Temp",
|
||||
"poolUsage": "Pool Usage"
|
||||
},
|
||||
"pfsense": {
|
||||
"load": "Load Avg",
|
||||
"memory": "Mem Usage",
|
||||
"wanStatus": "WAN Status",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"temp": "Temp",
|
||||
"disk": "Disk Usage",
|
||||
"wanIP": "WAN IP"
|
||||
},
|
||||
"caddy": {
|
||||
"upstreams": "Upstreams",
|
||||
"requests": "Current requests",
|
||||
"requests_failed": "Failed requests"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,8 +18,8 @@
|
||||
"load": "Carga",
|
||||
"cpu": "CPU",
|
||||
"mem": "MEM",
|
||||
"temp": "TEMPORAL",
|
||||
"max": "Máximo",
|
||||
"temp": "TEMP",
|
||||
"max": "Máx.",
|
||||
"uptime": "ARRIBA",
|
||||
"months": "Meses",
|
||||
"days": "Días",
|
||||
@@ -92,7 +92,8 @@
|
||||
"pihole": {
|
||||
"queries": "Consultas",
|
||||
"blocked": "Bloqueado",
|
||||
"gravity": "Gravedad"
|
||||
"gravity": "Gravedad",
|
||||
"blocked_percent": "% bloqueado"
|
||||
},
|
||||
"speedtest": {
|
||||
"upload": "Subida",
|
||||
@@ -118,7 +119,7 @@
|
||||
"current": "Ubicación actual",
|
||||
"allow": "Clic para permitir",
|
||||
"updating": "Actualizando",
|
||||
"wait": "Espere, por favor"
|
||||
"wait": "Espera, por favor"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pendiente",
|
||||
@@ -158,7 +159,7 @@
|
||||
"transmission": {
|
||||
"download": "Bajada",
|
||||
"upload": "Subida",
|
||||
"leech": "Sanguijuela",
|
||||
"leech": "Compañeros",
|
||||
"seed": "Semillas"
|
||||
},
|
||||
"jackett": {
|
||||
@@ -183,7 +184,7 @@
|
||||
"qbittorrent": {
|
||||
"download": "Bajada",
|
||||
"upload": "Subida",
|
||||
"leech": "Depender",
|
||||
"leech": "Pares",
|
||||
"seed": "Semillas"
|
||||
},
|
||||
"mastodon": {
|
||||
@@ -213,11 +214,11 @@
|
||||
"users": "Usuarios",
|
||||
"uptime": "Tiempo de actividad",
|
||||
"days": "Días",
|
||||
"wan": "Red WAN",
|
||||
"wan": "WAN",
|
||||
"lan_users": "Usuarios LAN",
|
||||
"wlan_users": "Usuarios WLAN",
|
||||
"down": "CAÍDO",
|
||||
"wait": "Espere por favor",
|
||||
"wait": "Espera por favor",
|
||||
"lan": "LAN",
|
||||
"wlan": "WLAN",
|
||||
"devices": "Dispositivos",
|
||||
@@ -228,12 +229,13 @@
|
||||
"plex": {
|
||||
"streams": "Transmisiones activas",
|
||||
"movies": "Películas",
|
||||
"tv": "Programas de TV"
|
||||
"tv": "Series",
|
||||
"albums": "Álbumes"
|
||||
},
|
||||
"glances": {
|
||||
"cpu": "Procesador",
|
||||
"mem": "Memoria",
|
||||
"wait": "Espere por favor",
|
||||
"wait": "Espera por favor",
|
||||
"temp": "TEMPORAL",
|
||||
"uptime": "ARRIBA",
|
||||
"days": "Días",
|
||||
@@ -277,20 +279,20 @@
|
||||
"66-night": "Granizo",
|
||||
"67-night": "Granizo",
|
||||
"71-day": "Nevada Leve",
|
||||
"71-night": "Nevada Leva",
|
||||
"71-night": "Nevada Leve",
|
||||
"73-day": "Nevada",
|
||||
"73-night": "Nevada",
|
||||
"75-day": "Fuertes Nevadas",
|
||||
"75-night": "Fuertes Nevadas",
|
||||
"77-day": "Nevada Leve",
|
||||
"77-night": "Nevada Leve",
|
||||
"80-day": "llovizna",
|
||||
"80-day": "Llovizna",
|
||||
"80-night": "Llovizna",
|
||||
"81-day": "Lluvia",
|
||||
"81-night": "Lluvia",
|
||||
"82-day": "Chubascos",
|
||||
"82-night": "Chubascos",
|
||||
"85-day": "Chubascos",
|
||||
"85-day": "Lluvia de nieve",
|
||||
"85-night": "Lluvia de nieve",
|
||||
"86-day": "Lluvia de nieve",
|
||||
"86-night": "Lluvia de nieve",
|
||||
@@ -378,12 +380,12 @@
|
||||
"deluge": {
|
||||
"download": "Descarga",
|
||||
"upload": "Subida",
|
||||
"leech": "Depender",
|
||||
"seed": "Semilla"
|
||||
"leech": "Compañeros",
|
||||
"seed": "Semillas"
|
||||
},
|
||||
"flood": {
|
||||
"download": "Descargar",
|
||||
"upload": "Subir",
|
||||
"download": "Descarga",
|
||||
"upload": "Subida",
|
||||
"leech": "Depender",
|
||||
"seed": "Semillas"
|
||||
},
|
||||
@@ -398,7 +400,7 @@
|
||||
"unread": "Sin leer"
|
||||
},
|
||||
"nextdns": {
|
||||
"wait": "Espere, por favor",
|
||||
"wait": "Espera, por favor",
|
||||
"no_devices": "No se reciben datos del dispositivo"
|
||||
},
|
||||
"common": {
|
||||
@@ -415,7 +417,7 @@
|
||||
"downloadstation": {
|
||||
"download": "Descargar",
|
||||
"upload": "Subir",
|
||||
"leech": "Sanguijuela",
|
||||
"leech": "Compañeros",
|
||||
"seed": "Semilla"
|
||||
},
|
||||
"mikrotik": {
|
||||
@@ -425,8 +427,8 @@
|
||||
"numberOfLeases": "Alquileres"
|
||||
},
|
||||
"xteve": {
|
||||
"streams_all": "Todas las corrientes",
|
||||
"streams_active": "Corrientes activas",
|
||||
"streams_all": "Todas las transmisiones",
|
||||
"streams_active": "Transmisiones activas",
|
||||
"streams_xepg": "Canales XEPG"
|
||||
},
|
||||
"opnsense": {
|
||||
@@ -437,7 +439,7 @@
|
||||
},
|
||||
"moonraker": {
|
||||
"printer_state": "Estado de la impresora",
|
||||
"print_status": "Estado de la impresora",
|
||||
"print_status": "Estado de la impresión",
|
||||
"print_progress": "Progreso",
|
||||
"layers": "Capas"
|
||||
},
|
||||
@@ -447,9 +449,9 @@
|
||||
"series": "Serie"
|
||||
},
|
||||
"octoprint": {
|
||||
"temp_bed": "temperatura de la plataforma",
|
||||
"printer_state": "Status",
|
||||
"temp_tool": "Herramienta de temperatura",
|
||||
"temp_bed": "Temperatura de la plataforma",
|
||||
"printer_state": "Estado",
|
||||
"temp_tool": "Temperatura de la herramienta",
|
||||
"job_completion": "Finalización"
|
||||
},
|
||||
"cloudflared": {
|
||||
@@ -512,7 +514,9 @@
|
||||
"cpuload": "Carga de la CPU",
|
||||
"memoryusage": "Uso de la memoria",
|
||||
"freespace": "Espacio libre",
|
||||
"activeusers": "Usuarios activos"
|
||||
"activeusers": "Usuarios activos",
|
||||
"numfiles": "Archivos",
|
||||
"numshares": "Elementos compartidos"
|
||||
},
|
||||
"kopia": {
|
||||
"status": "Estado",
|
||||
@@ -533,7 +537,7 @@
|
||||
"grace": "En Periodo de Gracia",
|
||||
"paused": "Pausado",
|
||||
"status": "Estado",
|
||||
"last_ping": "Último Ping",
|
||||
"last_ping": "Último ping",
|
||||
"never": "Aún no hay pings"
|
||||
},
|
||||
"pterodactyl": {
|
||||
@@ -562,5 +566,59 @@
|
||||
"books": "Libros",
|
||||
"podcastsDuration": "Duración",
|
||||
"booksDuration": "Duración"
|
||||
},
|
||||
"homeassistant": {
|
||||
"people_home": "Inicio de personas",
|
||||
"lights_on": "Luces encendidas",
|
||||
"switches_on": "Encendido"
|
||||
},
|
||||
"freshrss": {
|
||||
"subscriptions": "Suscripciones",
|
||||
"unread": "Sin leer"
|
||||
},
|
||||
"channelsdvrserver": {
|
||||
"shows": "Espectáculos",
|
||||
"recordings": "Grabaciones",
|
||||
"scheduled": "Programado",
|
||||
"passes": "Pases"
|
||||
},
|
||||
"whatsupdocker": {
|
||||
"monitoring": "Supervisión",
|
||||
"updates": "Actualizaciones"
|
||||
},
|
||||
"tailscale": {
|
||||
"address": "Dirección",
|
||||
"expires": "Caduca en",
|
||||
"never": "Nunca",
|
||||
"last_seen": "Visto por última vez",
|
||||
"now": "Ahora",
|
||||
"years": "{{number}}años",
|
||||
"hours": "{{number}}horas",
|
||||
"minutes": "{{number}}minutos",
|
||||
"seconds": "{{number}}segundos",
|
||||
"ago": "Hace {{value}}",
|
||||
"weeks": "{{number}}semanas",
|
||||
"days": "{{number}}días"
|
||||
},
|
||||
"qnap": {
|
||||
"cpuUsage": "Uso de la Cpu",
|
||||
"memUsage": "Uso de la memoria",
|
||||
"systemTempC": "Temperatura del sistema",
|
||||
"poolUsage": "Comprobación del uso del grupo de memoria"
|
||||
},
|
||||
"pfsense": {
|
||||
"load": "Promedio de carga",
|
||||
"memory": "Memoria utilizada",
|
||||
"wanStatus": "Estado de la WAN",
|
||||
"up": "Arriba",
|
||||
"down": "Abajo",
|
||||
"temp": "Temperatura",
|
||||
"disk": "Uso del disco",
|
||||
"wanIP": "IP de la WAN"
|
||||
},
|
||||
"caddy": {
|
||||
"upstreams": "Upstream (desarrollo de software)",
|
||||
"requests": "Peticiones actuales",
|
||||
"requests_failed": "Peticiones fallidas"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -135,7 +135,8 @@
|
||||
"pihole": {
|
||||
"queries": "Kyselyjä",
|
||||
"blocked": "Estetty",
|
||||
"gravity": "Vakavuus"
|
||||
"gravity": "Vakavuus",
|
||||
"blocked_percent": "Blocked %"
|
||||
},
|
||||
"adguard": {
|
||||
"queries": "Kyselyjä",
|
||||
@@ -228,7 +229,8 @@
|
||||
"plex": {
|
||||
"streams": "Active Streams",
|
||||
"movies": "Movies",
|
||||
"tv": "TV Shows"
|
||||
"tv": "TV Shows",
|
||||
"albums": "Albums"
|
||||
},
|
||||
"glances": {
|
||||
"wait": "Please wait",
|
||||
@@ -512,7 +514,9 @@
|
||||
"cpuload": "Cpu Load",
|
||||
"memoryusage": "Memory Usage",
|
||||
"freespace": "Free Space",
|
||||
"activeusers": "Active Users"
|
||||
"activeusers": "Active Users",
|
||||
"numshares": "Shared Items",
|
||||
"numfiles": "Files"
|
||||
},
|
||||
"kopia": {
|
||||
"status": "Status",
|
||||
@@ -562,5 +566,59 @@
|
||||
"books": "Books",
|
||||
"podcastsDuration": "Duration",
|
||||
"booksDuration": "Duration"
|
||||
},
|
||||
"homeassistant": {
|
||||
"people_home": "People Home",
|
||||
"lights_on": "Lights On",
|
||||
"switches_on": "Switches On"
|
||||
},
|
||||
"freshrss": {
|
||||
"subscriptions": "Subscriptions",
|
||||
"unread": "Unread"
|
||||
},
|
||||
"channelsdvrserver": {
|
||||
"shows": "Shows",
|
||||
"recordings": "Recordings",
|
||||
"scheduled": "Scheduled",
|
||||
"passes": "Passes"
|
||||
},
|
||||
"whatsupdocker": {
|
||||
"monitoring": "Monitoring",
|
||||
"updates": "Updates"
|
||||
},
|
||||
"tailscale": {
|
||||
"address": "Address",
|
||||
"expires": "Expires",
|
||||
"never": "Never",
|
||||
"last_seen": "Last Seen",
|
||||
"now": "Now",
|
||||
"years": "{{number}}y",
|
||||
"weeks": "{{number}}w",
|
||||
"days": "{{number}}d",
|
||||
"hours": "{{number}}h",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "{{value}} Ago"
|
||||
},
|
||||
"qnap": {
|
||||
"cpuUsage": "CPU Usage",
|
||||
"memUsage": "MEM Usage",
|
||||
"systemTempC": "System Temp",
|
||||
"poolUsage": "Pool Usage"
|
||||
},
|
||||
"pfsense": {
|
||||
"load": "Load Avg",
|
||||
"memory": "Mem Usage",
|
||||
"wanStatus": "WAN Status",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"temp": "Temp",
|
||||
"disk": "Disk Usage",
|
||||
"wanIP": "WAN IP"
|
||||
},
|
||||
"caddy": {
|
||||
"upstreams": "Upstreams",
|
||||
"requests": "Current requests",
|
||||
"requests_failed": "Failed requests"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
"months": "mo",
|
||||
"days": "d",
|
||||
"hours": "h",
|
||||
"minutes": "m"
|
||||
"minutes": "mn"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "Rx",
|
||||
@@ -92,7 +92,8 @@
|
||||
"pihole": {
|
||||
"queries": "Requêtes",
|
||||
"blocked": "Bloqué",
|
||||
"gravity": "Listes dom. bloqués"
|
||||
"gravity": "Listes dom. bloqués",
|
||||
"blocked_percent": "Bloqué %"
|
||||
},
|
||||
"speedtest": {
|
||||
"upload": "Envoi",
|
||||
@@ -228,15 +229,16 @@
|
||||
"plex": {
|
||||
"streams": "Flux actif",
|
||||
"movies": "Films",
|
||||
"tv": "Séries TV"
|
||||
"tv": "Séries TV",
|
||||
"albums": "Albums"
|
||||
},
|
||||
"glances": {
|
||||
"cpu": "Cpu",
|
||||
"mem": "Mém",
|
||||
"wait": "Merci de patienter",
|
||||
"temp": "TEMP",
|
||||
"uptime": "UP",
|
||||
"days": "d",
|
||||
"temp": "Temp",
|
||||
"uptime": "Up",
|
||||
"days": "j",
|
||||
"hours": "h"
|
||||
},
|
||||
"changedetectionio": {
|
||||
@@ -512,7 +514,9 @@
|
||||
"freespace": "Espace Libre",
|
||||
"activeusers": "Utilisateurs Actifs",
|
||||
"cpuload": "Charge Cpu",
|
||||
"memoryusage": "Utilisation Mémoire"
|
||||
"memoryusage": "Utilisation Mémoire",
|
||||
"numfiles": "Fichiers",
|
||||
"numshares": "Partages"
|
||||
},
|
||||
"kopia": {
|
||||
"status": "Statut",
|
||||
@@ -562,5 +566,59 @@
|
||||
"books": "Livres",
|
||||
"podcastsDuration": "Durée",
|
||||
"booksDuration": "Durée"
|
||||
},
|
||||
"homeassistant": {
|
||||
"people_home": "People Home",
|
||||
"lights_on": "Lumières allumées",
|
||||
"switches_on": "Switches On"
|
||||
},
|
||||
"freshrss": {
|
||||
"unread": "Non lu",
|
||||
"subscriptions": "Abonnements"
|
||||
},
|
||||
"channelsdvrserver": {
|
||||
"shows": "Affichages",
|
||||
"recordings": "Enregistrements",
|
||||
"scheduled": "Planifié",
|
||||
"passes": "Passes"
|
||||
},
|
||||
"whatsupdocker": {
|
||||
"monitoring": "Conteneurs",
|
||||
"updates": "Mises à jour"
|
||||
},
|
||||
"tailscale": {
|
||||
"address": "Adresse",
|
||||
"expires": "Expire",
|
||||
"never": "Jamais",
|
||||
"last_seen": "Vu pour la dernière fois",
|
||||
"now": "Maintenant",
|
||||
"years": "{{number}}y",
|
||||
"weeks": "{{number}}w",
|
||||
"days": "{{number}}d",
|
||||
"hours": "{{number}}h",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "Il y a {{value}}"
|
||||
},
|
||||
"qnap": {
|
||||
"cpuUsage": "Cpu",
|
||||
"memUsage": "Mém",
|
||||
"systemTempC": "Temp",
|
||||
"poolUsage": "Pool"
|
||||
},
|
||||
"pfsense": {
|
||||
"load": "Charge moy.",
|
||||
"memory": "Util. Mém.",
|
||||
"wanStatus": "Statut WAN",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"temp": "Temp",
|
||||
"disk": "Util. Disque",
|
||||
"wanIP": "IP WAN"
|
||||
},
|
||||
"caddy": {
|
||||
"upstreams": "Upstreams",
|
||||
"requests": "Demandes en cours",
|
||||
"requests_failed": "Demandes échouées"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -135,7 +135,8 @@
|
||||
"pihole": {
|
||||
"queries": "שאילתות",
|
||||
"blocked": "נחסם",
|
||||
"gravity": "Gravity"
|
||||
"gravity": "Gravity",
|
||||
"blocked_percent": "Blocked %"
|
||||
},
|
||||
"adguard": {
|
||||
"queries": "שאילתות",
|
||||
@@ -228,7 +229,8 @@
|
||||
"plex": {
|
||||
"streams": "Active Streams",
|
||||
"movies": "Movies",
|
||||
"tv": "TV Shows"
|
||||
"tv": "TV Shows",
|
||||
"albums": "Albums"
|
||||
},
|
||||
"glances": {
|
||||
"cpu": "CPU",
|
||||
@@ -512,7 +514,9 @@
|
||||
"cpuload": "Cpu Load",
|
||||
"memoryusage": "Memory Usage",
|
||||
"freespace": "Free Space",
|
||||
"activeusers": "Active Users"
|
||||
"activeusers": "Active Users",
|
||||
"numfiles": "Files",
|
||||
"numshares": "Shared Items"
|
||||
},
|
||||
"kopia": {
|
||||
"status": "Status",
|
||||
@@ -562,5 +566,59 @@
|
||||
"books": "Books",
|
||||
"podcastsDuration": "Duration",
|
||||
"booksDuration": "Duration"
|
||||
},
|
||||
"homeassistant": {
|
||||
"people_home": "People Home",
|
||||
"lights_on": "Lights On",
|
||||
"switches_on": "Switches On"
|
||||
},
|
||||
"freshrss": {
|
||||
"subscriptions": "Subscriptions",
|
||||
"unread": "Unread"
|
||||
},
|
||||
"channelsdvrserver": {
|
||||
"shows": "Shows",
|
||||
"recordings": "Recordings",
|
||||
"scheduled": "Scheduled",
|
||||
"passes": "Passes"
|
||||
},
|
||||
"whatsupdocker": {
|
||||
"monitoring": "Monitoring",
|
||||
"updates": "Updates"
|
||||
},
|
||||
"tailscale": {
|
||||
"address": "Address",
|
||||
"expires": "Expires",
|
||||
"never": "Never",
|
||||
"last_seen": "Last Seen",
|
||||
"now": "Now",
|
||||
"years": "{{number}}y",
|
||||
"weeks": "{{number}}w",
|
||||
"days": "{{number}}d",
|
||||
"hours": "{{number}}h",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "{{value}} Ago"
|
||||
},
|
||||
"qnap": {
|
||||
"cpuUsage": "CPU Usage",
|
||||
"memUsage": "MEM Usage",
|
||||
"systemTempC": "System Temp",
|
||||
"poolUsage": "Pool Usage"
|
||||
},
|
||||
"pfsense": {
|
||||
"load": "Load Avg",
|
||||
"memory": "Mem Usage",
|
||||
"wanStatus": "WAN Status",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"temp": "Temp",
|
||||
"disk": "Disk Usage",
|
||||
"wanIP": "WAN IP"
|
||||
},
|
||||
"caddy": {
|
||||
"upstreams": "Upstreams",
|
||||
"requests": "Current requests",
|
||||
"requests_failed": "Failed requests"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -127,7 +127,8 @@
|
||||
"plex": {
|
||||
"streams": "Active Streams",
|
||||
"movies": "Movies",
|
||||
"tv": "TV Shows"
|
||||
"tv": "TV Shows",
|
||||
"albums": "Albums"
|
||||
},
|
||||
"sabnzbd": {
|
||||
"rate": "Rate",
|
||||
@@ -176,7 +177,8 @@
|
||||
"pihole": {
|
||||
"queries": "Queries",
|
||||
"blocked": "Blocked",
|
||||
"gravity": "Gravity"
|
||||
"gravity": "Gravity",
|
||||
"blocked_percent": "Blocked %"
|
||||
},
|
||||
"adguard": {
|
||||
"queries": "Queries",
|
||||
@@ -512,7 +514,9 @@
|
||||
"cpuload": "Cpu Load",
|
||||
"memoryusage": "Memory Usage",
|
||||
"freespace": "Free Space",
|
||||
"activeusers": "Active Users"
|
||||
"activeusers": "Active Users",
|
||||
"numfiles": "Files",
|
||||
"numshares": "Shared Items"
|
||||
},
|
||||
"kopia": {
|
||||
"status": "Status",
|
||||
@@ -562,5 +566,59 @@
|
||||
"books": "Books",
|
||||
"podcastsDuration": "Duration",
|
||||
"booksDuration": "Duration"
|
||||
},
|
||||
"homeassistant": {
|
||||
"people_home": "People Home",
|
||||
"lights_on": "Lights On",
|
||||
"switches_on": "Switches On"
|
||||
},
|
||||
"freshrss": {
|
||||
"subscriptions": "Subscriptions",
|
||||
"unread": "Unread"
|
||||
},
|
||||
"channelsdvrserver": {
|
||||
"shows": "Shows",
|
||||
"recordings": "Recordings",
|
||||
"scheduled": "Scheduled",
|
||||
"passes": "Passes"
|
||||
},
|
||||
"whatsupdocker": {
|
||||
"monitoring": "Monitoring",
|
||||
"updates": "Updates"
|
||||
},
|
||||
"tailscale": {
|
||||
"address": "Address",
|
||||
"expires": "Expires",
|
||||
"never": "Never",
|
||||
"last_seen": "Last Seen",
|
||||
"now": "Now",
|
||||
"years": "{{number}}y",
|
||||
"weeks": "{{number}}w",
|
||||
"days": "{{number}}d",
|
||||
"hours": "{{number}}h",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "{{value}} Ago"
|
||||
},
|
||||
"qnap": {
|
||||
"cpuUsage": "CPU Usage",
|
||||
"memUsage": "MEM Usage",
|
||||
"systemTempC": "System Temp",
|
||||
"poolUsage": "Pool Usage"
|
||||
},
|
||||
"pfsense": {
|
||||
"load": "Load Avg",
|
||||
"memory": "Mem Usage",
|
||||
"wanStatus": "WAN Status",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"temp": "Temp",
|
||||
"disk": "Disk Usage",
|
||||
"wanIP": "WAN IP"
|
||||
},
|
||||
"caddy": {
|
||||
"upstreams": "Upstreams",
|
||||
"requests": "Current requests",
|
||||
"requests_failed": "Failed requests"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,10 +15,10 @@
|
||||
"load": "Opterećenje",
|
||||
"cpu": "CPU",
|
||||
"mem": "MEM",
|
||||
"minutes": "m",
|
||||
"max": "Max",
|
||||
"minutes": "min",
|
||||
"max": "Maks",
|
||||
"uptime": "UP",
|
||||
"months": "mo",
|
||||
"months": "mj",
|
||||
"temp": "TEMP",
|
||||
"days": "d",
|
||||
"hours": "h"
|
||||
@@ -37,7 +37,8 @@
|
||||
"pihole": {
|
||||
"queries": "Upiti",
|
||||
"blocked": "Blokirano",
|
||||
"gravity": "Čuvanje podataka"
|
||||
"gravity": "Gravitacija",
|
||||
"blocked_percent": "Blokirano %"
|
||||
},
|
||||
"adguard": {
|
||||
"latency": "Kašnjenje",
|
||||
@@ -78,26 +79,26 @@
|
||||
"tx": "TX",
|
||||
"mem": "MEM",
|
||||
"cpu": "CPU",
|
||||
"offline": "Nepovezan",
|
||||
"offline": "Offline",
|
||||
"error": "Greška",
|
||||
"unknown": "Nepoznato",
|
||||
"running": "Running",
|
||||
"starting": "Starting",
|
||||
"unhealthy": "Unhealthy",
|
||||
"not_found": "Not Found",
|
||||
"exited": "Exited",
|
||||
"partial": "Partial",
|
||||
"healthy": "Healthy"
|
||||
"running": "Pokrenuto",
|
||||
"starting": "Pokretanje",
|
||||
"unhealthy": "Nefunkcionalno",
|
||||
"not_found": "Nepronađeno",
|
||||
"exited": "Zatoreno",
|
||||
"partial": "Djelomično",
|
||||
"healthy": "Funkcionalno"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "Reprodukcija",
|
||||
"transcoding": "Prekodiranje",
|
||||
"bitrate": "Stopa bitova",
|
||||
"no_active": "Nema aktivnih prijenosa",
|
||||
"movies": "Movies",
|
||||
"series": "Series",
|
||||
"episodes": "Episodes",
|
||||
"songs": "Songs"
|
||||
"movies": "Filmovi",
|
||||
"series": "Serije",
|
||||
"episodes": "Epizode",
|
||||
"songs": "Pjesme"
|
||||
},
|
||||
"tautulli": {
|
||||
"playing": "Reprodukcija",
|
||||
@@ -223,12 +224,13 @@
|
||||
"devices": "Uređaji",
|
||||
"lan_devices": "LAN uređaji",
|
||||
"wlan_devices": "WLAN uređaji",
|
||||
"empty_data": "Subsystem status unknown"
|
||||
"empty_data": "Stanje podsustava nepoznato"
|
||||
},
|
||||
"plex": {
|
||||
"streams": "Aktivni prijenosi",
|
||||
"movies": "Filmovi",
|
||||
"tv": "TV emisije"
|
||||
"tv": "TV emisije",
|
||||
"albums": "Albumi"
|
||||
},
|
||||
"glances": {
|
||||
"cpu": "CPU",
|
||||
@@ -304,9 +306,9 @@
|
||||
"quicklaunch": {
|
||||
"bookmark": "Straničnik",
|
||||
"service": "Usluga",
|
||||
"search": "Search",
|
||||
"custom": "Custom",
|
||||
"visit": "Visit",
|
||||
"search": "Traži",
|
||||
"custom": "Prilagođeno",
|
||||
"visit": "Posjeti",
|
||||
"url": "URL"
|
||||
},
|
||||
"homebridge": {
|
||||
@@ -317,7 +319,7 @@
|
||||
"child_bridges": "Podređeni mosotvi",
|
||||
"child_bridges_status": "{{ok}}/{{total}}",
|
||||
"up": "Up",
|
||||
"pending": "Pending",
|
||||
"pending": "Predstoji",
|
||||
"down": "Down"
|
||||
},
|
||||
"autobrr": {
|
||||
@@ -367,7 +369,7 @@
|
||||
"ping": "Ping"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Prošlo",
|
||||
"passed": "Uspjelo",
|
||||
"failed": "Neuspjelo",
|
||||
"unknown": "Nepoznato"
|
||||
},
|
||||
@@ -399,7 +401,7 @@
|
||||
},
|
||||
"nextdns": {
|
||||
"wait": "Pričekaj",
|
||||
"no_devices": "Podaci o uređaju nisu primljeni"
|
||||
"no_devices": "Podaci uređaja nisu primljeni"
|
||||
},
|
||||
"common": {
|
||||
"bibyterate": "{{value, rate(bits: false; binary: true)}}",
|
||||
@@ -436,131 +438,187 @@
|
||||
"wanDownload": "WAN preuzimanje"
|
||||
},
|
||||
"moonraker": {
|
||||
"printer_state": "Printer State",
|
||||
"print_status": "Print Status",
|
||||
"print_progress": "Progress",
|
||||
"layers": "Layers"
|
||||
"printer_state": "Stanje pisača",
|
||||
"print_status": "Stanje ispisa",
|
||||
"print_progress": "Napredak",
|
||||
"layers": "Slojevi"
|
||||
},
|
||||
"medusa": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"series": "Series"
|
||||
"wanted": "Zatraženo",
|
||||
"queued": "U redu čekanja",
|
||||
"series": "Serije"
|
||||
},
|
||||
"octoprint": {
|
||||
"printer_state": "Status",
|
||||
"temp_tool": "Tool temp",
|
||||
"temp_bed": "Bed temp",
|
||||
"job_completion": "Completion"
|
||||
"printer_state": "Stanje",
|
||||
"temp_tool": "Temperatura alata",
|
||||
"temp_bed": "Temperatura platforme",
|
||||
"job_completion": "Dovršenost"
|
||||
},
|
||||
"cloudflared": {
|
||||
"origin_ip": "Origin IP",
|
||||
"status": "Status"
|
||||
"origin_ip": "IP izvora",
|
||||
"status": "Stanje"
|
||||
},
|
||||
"proxmoxbackupserver": {
|
||||
"datastore_usage": "Datastore",
|
||||
"failed_tasks_24h": "Failed Tasks 24h",
|
||||
"datastore_usage": "Spremište podataka",
|
||||
"failed_tasks_24h": "Neuspjeli zadaci 24 h",
|
||||
"cpu_usage": "CPU",
|
||||
"memory_usage": "Memory"
|
||||
"memory_usage": "Memorija"
|
||||
},
|
||||
"immich": {
|
||||
"users": "Users",
|
||||
"photos": "Photos",
|
||||
"videos": "Videos",
|
||||
"storage": "Storage"
|
||||
"users": "Korisnici",
|
||||
"photos": "Fotografije",
|
||||
"videos": "Videa",
|
||||
"storage": "Spremište"
|
||||
},
|
||||
"uptimekuma": {
|
||||
"up": "Sites Up",
|
||||
"down": "Sites Down",
|
||||
"uptime": "Uptime",
|
||||
"up": "Aktivne stranice",
|
||||
"down": "Neaktivne stranice",
|
||||
"uptime": "Radno vrijeme",
|
||||
"incident": "Incident",
|
||||
"m": "m"
|
||||
"m": "min"
|
||||
},
|
||||
"komga": {
|
||||
"libraries": "Libraries",
|
||||
"series": "Series",
|
||||
"books": "Books"
|
||||
"libraries": "Biblioteke",
|
||||
"series": "Serije",
|
||||
"books": "Knjige"
|
||||
},
|
||||
"mylar": {
|
||||
"series": "Series",
|
||||
"issues": "Issues",
|
||||
"wanted": "Wanted"
|
||||
"series": "Serije",
|
||||
"issues": "Problemi",
|
||||
"wanted": "Zatraženo"
|
||||
},
|
||||
"photoprism": {
|
||||
"videos": "Videos",
|
||||
"albums": "Albums",
|
||||
"photos": "Photos",
|
||||
"people": "People"
|
||||
"videos": "Videa",
|
||||
"albums": "Albumi",
|
||||
"photos": "Fotografije",
|
||||
"people": "Osobe"
|
||||
},
|
||||
"diskstation": {
|
||||
"days": "Days",
|
||||
"uptime": "Uptime",
|
||||
"volumeAvailable": "Available"
|
||||
"days": "Dani",
|
||||
"uptime": "Radno vrijeme",
|
||||
"volumeAvailable": "Dostupno"
|
||||
},
|
||||
"fileflows": {
|
||||
"queue": "Queue",
|
||||
"processing": "Processing",
|
||||
"processed": "Processed",
|
||||
"time": "Time"
|
||||
"queue": "Red čekanja",
|
||||
"processing": "Obrada",
|
||||
"processed": "Obrađeno",
|
||||
"time": "Vrijeme"
|
||||
},
|
||||
"grafana": {
|
||||
"alertstriggered": "Alerts Triggered",
|
||||
"dashboards": "Dashboards",
|
||||
"datasources": "Data Sources",
|
||||
"totalalerts": "Total Alerts"
|
||||
"alertstriggered": "Aktivirana upozorenja",
|
||||
"dashboards": "Pregledne ploče",
|
||||
"datasources": "Izvori podataka",
|
||||
"totalalerts": "Ukupno upozorenja"
|
||||
},
|
||||
"nextcloud": {
|
||||
"cpuload": "Cpu Load",
|
||||
"memoryusage": "Memory Usage",
|
||||
"freespace": "Free Space",
|
||||
"activeusers": "Active Users"
|
||||
"cpuload": "Cpu opterećenje",
|
||||
"memoryusage": "Korištenje memorije",
|
||||
"freespace": "Slobodna memorija",
|
||||
"activeusers": "Aktivni korisnici",
|
||||
"numfiles": "Datoteke",
|
||||
"numshares": "Dijeljene stavke"
|
||||
},
|
||||
"kopia": {
|
||||
"status": "Status",
|
||||
"size": "Size",
|
||||
"lastrun": "Last Run",
|
||||
"nextrun": "Next Run",
|
||||
"failed": "Failed"
|
||||
"status": "Stanje",
|
||||
"size": "Veličina",
|
||||
"lastrun": "Zadnje pokretanje",
|
||||
"nextrun": "Sljedeće pokretanje",
|
||||
"failed": "Neuspjelo"
|
||||
},
|
||||
"unmanic": {
|
||||
"active_workers": "Active Workers",
|
||||
"total_workers": "Total Workers",
|
||||
"records_total": "Queue Length"
|
||||
"active_workers": "Aktivni radnici",
|
||||
"total_workers": "Ukupni radnici",
|
||||
"records_total": "Količina zapisa u redu čekanja"
|
||||
},
|
||||
"healthchecks": {
|
||||
"new": "New",
|
||||
"new": "Novo",
|
||||
"up": "Online",
|
||||
"grace": "In Grace Period",
|
||||
"grace": "U razdoblju odgode",
|
||||
"down": "Offline",
|
||||
"paused": "Paused",
|
||||
"status": "Status",
|
||||
"last_ping": "Last Ping",
|
||||
"never": "No pings yet"
|
||||
"paused": "Zaustavljeno",
|
||||
"status": "Stanje",
|
||||
"last_ping": "Zadnji ping",
|
||||
"never": "Još nema pingova"
|
||||
},
|
||||
"pterodactyl": {
|
||||
"servers": "Servers",
|
||||
"nodes": "Nodes"
|
||||
"servers": "Serveri",
|
||||
"nodes": "Čvorovi"
|
||||
},
|
||||
"prometheus": {
|
||||
"targets_up": "Targets Up",
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
"targets_up": "Aktivni ciljevi",
|
||||
"targets_down": "Neaktivni ciljevi",
|
||||
"targets_total": "Ukupno ciljeva"
|
||||
},
|
||||
"minecraft": {
|
||||
"players": "Players",
|
||||
"version": "Version",
|
||||
"status": "Status",
|
||||
"players": "Igrači",
|
||||
"version": "Verzija",
|
||||
"status": "Stanje",
|
||||
"up": "Online",
|
||||
"down": "Offline"
|
||||
},
|
||||
"ghostfolio": {
|
||||
"gross_percent_today": "Today",
|
||||
"gross_percent_1y": "One year",
|
||||
"gross_percent_max": "All time"
|
||||
"gross_percent_today": "Danas",
|
||||
"gross_percent_1y": "Jedna godina",
|
||||
"gross_percent_max": "Svo vrijeme"
|
||||
},
|
||||
"audiobookshelf": {
|
||||
"podcasts": "Podcasts",
|
||||
"books": "Books",
|
||||
"podcastsDuration": "Duration",
|
||||
"booksDuration": "Duration"
|
||||
"podcasts": "Podcasti",
|
||||
"books": "Knjige",
|
||||
"podcastsDuration": "Trajanje",
|
||||
"booksDuration": "Trajanje"
|
||||
},
|
||||
"homeassistant": {
|
||||
"people_home": "Ljudi doma",
|
||||
"lights_on": "Upaljena svjetla",
|
||||
"switches_on": "Prekidači uključeni"
|
||||
},
|
||||
"freshrss": {
|
||||
"subscriptions": "Pretplate",
|
||||
"unread": "Nepročitano"
|
||||
},
|
||||
"channelsdvrserver": {
|
||||
"scheduled": "Planirano",
|
||||
"passes": "Prolazi",
|
||||
"shows": "Emisije",
|
||||
"recordings": "Snimanja"
|
||||
},
|
||||
"whatsupdocker": {
|
||||
"monitoring": "Monitoring",
|
||||
"updates": "Aktualiziranja"
|
||||
},
|
||||
"tailscale": {
|
||||
"address": "Adresa",
|
||||
"expires": "Isteče",
|
||||
"never": "Nikada",
|
||||
"last_seen": "Zadnje viđeno",
|
||||
"now": "Sada",
|
||||
"years": "{{number}} god",
|
||||
"weeks": "{{number}} tj",
|
||||
"days": "{{number}} dan(a)",
|
||||
"hours": "{{number}} h",
|
||||
"minutes": "{{number}} min",
|
||||
"seconds": "{{number}} s",
|
||||
"ago": "Prije {{value}}"
|
||||
},
|
||||
"qnap": {
|
||||
"systemTempC": "Temperatura sustava",
|
||||
"poolUsage": "Korištenje memorijskog skupa",
|
||||
"cpuUsage": "Korištenje procesora",
|
||||
"memUsage": "Korištenje memorije"
|
||||
},
|
||||
"pfsense": {
|
||||
"load": "Load Avg",
|
||||
"memory": "Mem Usage",
|
||||
"wanStatus": "WAN Status",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"temp": "Temp",
|
||||
"disk": "Disk Usage",
|
||||
"wanIP": "WAN IP"
|
||||
},
|
||||
"caddy": {
|
||||
"upstreams": "Upstreams",
|
||||
"requests": "Current requests",
|
||||
"requests_failed": "Failed requests"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -135,7 +135,8 @@
|
||||
"pihole": {
|
||||
"queries": "Lekérdezések",
|
||||
"blocked": "Blokkolt",
|
||||
"gravity": "Gravitáció"
|
||||
"gravity": "Gravitáció",
|
||||
"blocked_percent": "Blocked %"
|
||||
},
|
||||
"adguard": {
|
||||
"queries": "Lekérdezések",
|
||||
@@ -228,7 +229,8 @@
|
||||
"plex": {
|
||||
"streams": "Active Streams",
|
||||
"movies": "Movies",
|
||||
"tv": "TV Shows"
|
||||
"tv": "TV Shows",
|
||||
"albums": "Albums"
|
||||
},
|
||||
"glances": {
|
||||
"cpu": "CPU",
|
||||
@@ -512,7 +514,9 @@
|
||||
"cpuload": "Cpu Load",
|
||||
"memoryusage": "Memory Usage",
|
||||
"freespace": "Free Space",
|
||||
"activeusers": "Active Users"
|
||||
"activeusers": "Active Users",
|
||||
"numfiles": "Files",
|
||||
"numshares": "Shared Items"
|
||||
},
|
||||
"kopia": {
|
||||
"status": "Status",
|
||||
@@ -562,5 +566,59 @@
|
||||
"books": "Books",
|
||||
"podcastsDuration": "Duration",
|
||||
"booksDuration": "Duration"
|
||||
},
|
||||
"homeassistant": {
|
||||
"people_home": "People Home",
|
||||
"lights_on": "Lights On",
|
||||
"switches_on": "Switches On"
|
||||
},
|
||||
"freshrss": {
|
||||
"subscriptions": "Subscriptions",
|
||||
"unread": "Unread"
|
||||
},
|
||||
"channelsdvrserver": {
|
||||
"shows": "Shows",
|
||||
"recordings": "Recordings",
|
||||
"scheduled": "Scheduled",
|
||||
"passes": "Passes"
|
||||
},
|
||||
"whatsupdocker": {
|
||||
"monitoring": "Monitoring",
|
||||
"updates": "Updates"
|
||||
},
|
||||
"tailscale": {
|
||||
"address": "Address",
|
||||
"expires": "Expires",
|
||||
"never": "Never",
|
||||
"last_seen": "Last Seen",
|
||||
"now": "Now",
|
||||
"years": "{{number}}y",
|
||||
"weeks": "{{number}}w",
|
||||
"days": "{{number}}d",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "{{value}} Ago",
|
||||
"hours": "{{number}}h"
|
||||
},
|
||||
"qnap": {
|
||||
"cpuUsage": "CPU Usage",
|
||||
"memUsage": "MEM Usage",
|
||||
"systemTempC": "System Temp",
|
||||
"poolUsage": "Pool Usage"
|
||||
},
|
||||
"pfsense": {
|
||||
"load": "Load Avg",
|
||||
"memory": "Mem Usage",
|
||||
"wanStatus": "WAN Status",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"temp": "Temp",
|
||||
"disk": "Disk Usage",
|
||||
"wanIP": "WAN IP"
|
||||
},
|
||||
"caddy": {
|
||||
"upstreams": "Upstreams",
|
||||
"requests": "Current requests",
|
||||
"requests_failed": "Failed requests"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -107,7 +107,8 @@
|
||||
"pihole": {
|
||||
"queries": "Richieste",
|
||||
"blocked": "Bloccati",
|
||||
"gravity": "Severità"
|
||||
"gravity": "Severità",
|
||||
"blocked_percent": "Blocked %"
|
||||
},
|
||||
"npm": {
|
||||
"enabled": "Attivi",
|
||||
@@ -228,7 +229,8 @@
|
||||
"plex": {
|
||||
"streams": "Trasmissioni attive",
|
||||
"movies": "Film",
|
||||
"tv": "Programma televisivo"
|
||||
"tv": "Programma televisivo",
|
||||
"albums": "Albums"
|
||||
},
|
||||
"glances": {
|
||||
"cpu": "CPU",
|
||||
@@ -512,7 +514,9 @@
|
||||
"memoryusage": "Memory Usage",
|
||||
"cpuload": "Cpu Load",
|
||||
"freespace": "Free Space",
|
||||
"activeusers": "Active Users"
|
||||
"activeusers": "Active Users",
|
||||
"numfiles": "Files",
|
||||
"numshares": "Shared Items"
|
||||
},
|
||||
"kopia": {
|
||||
"status": "Status",
|
||||
@@ -562,5 +566,59 @@
|
||||
"books": "Books",
|
||||
"podcastsDuration": "Duration",
|
||||
"booksDuration": "Duration"
|
||||
},
|
||||
"homeassistant": {
|
||||
"people_home": "People Home",
|
||||
"lights_on": "Lights On",
|
||||
"switches_on": "Switches On"
|
||||
},
|
||||
"freshrss": {
|
||||
"subscriptions": "Subscriptions",
|
||||
"unread": "Unread"
|
||||
},
|
||||
"channelsdvrserver": {
|
||||
"shows": "Shows",
|
||||
"recordings": "Recordings",
|
||||
"scheduled": "Scheduled",
|
||||
"passes": "Passes"
|
||||
},
|
||||
"whatsupdocker": {
|
||||
"monitoring": "Monitoring",
|
||||
"updates": "Updates"
|
||||
},
|
||||
"tailscale": {
|
||||
"never": "Never",
|
||||
"address": "Address",
|
||||
"expires": "Expires",
|
||||
"last_seen": "Last Seen",
|
||||
"now": "Now",
|
||||
"years": "{{number}}y",
|
||||
"weeks": "{{number}}w",
|
||||
"hours": "{{number}}h",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "{{value}} Ago",
|
||||
"days": "{{number}}d"
|
||||
},
|
||||
"qnap": {
|
||||
"cpuUsage": "CPU Usage",
|
||||
"memUsage": "MEM Usage",
|
||||
"systemTempC": "System Temp",
|
||||
"poolUsage": "Pool Usage"
|
||||
},
|
||||
"pfsense": {
|
||||
"load": "Load Avg",
|
||||
"memory": "Mem Usage",
|
||||
"wanStatus": "WAN Status",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"temp": "Temp",
|
||||
"disk": "Disk Usage",
|
||||
"wanIP": "WAN IP"
|
||||
},
|
||||
"caddy": {
|
||||
"upstreams": "Upstreams",
|
||||
"requests": "Current requests",
|
||||
"requests_failed": "Failed requests"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,38 +1,38 @@
|
||||
{
|
||||
"navidrome": {
|
||||
"nothing_streaming": "No Active Streams",
|
||||
"please_wait": "Please Wait"
|
||||
"nothing_streaming": "アクティブストリームなし",
|
||||
"please_wait": "お待ちください"
|
||||
},
|
||||
"npm": {
|
||||
"total": "Total",
|
||||
"enabled": "Enabled",
|
||||
"disabled": "Disabled"
|
||||
"total": "合計",
|
||||
"enabled": "有効",
|
||||
"disabled": "無効"
|
||||
},
|
||||
"strelaysrv": {
|
||||
"numActiveSessions": "Sessions",
|
||||
"numConnections": "Connections",
|
||||
"numActiveSessions": "セッション",
|
||||
"numConnections": "コネクション",
|
||||
"dataRelayed": "Relayed",
|
||||
"transferRate": "Rate"
|
||||
"transferRate": "レート"
|
||||
},
|
||||
"glances": {
|
||||
"mem": "MEM",
|
||||
"cpu": "CPU",
|
||||
"wait": "Please wait",
|
||||
"temp": "TEMP",
|
||||
"wait": "お待ちください",
|
||||
"temp": "温度",
|
||||
"uptime": "UP",
|
||||
"days": "d",
|
||||
"hours": "h"
|
||||
"days": "日",
|
||||
"hours": "時間"
|
||||
},
|
||||
"autobrr": {
|
||||
"filters": "Filters",
|
||||
"filters": "フィルター",
|
||||
"indexers": "Indexers",
|
||||
"approvedPushes": "Approved",
|
||||
"rejectedPushes": "Rejected"
|
||||
"approvedPushes": "承認済",
|
||||
"rejectedPushes": "却下"
|
||||
},
|
||||
"gluetun": {
|
||||
"region": "Region",
|
||||
"country": "Country",
|
||||
"public_ip": "Public IP"
|
||||
"region": "地域",
|
||||
"country": "国",
|
||||
"public_ip": "パブリックIP"
|
||||
},
|
||||
"common": {
|
||||
"bibyterate": "{{value, rate(bits: false; binary: true)}}",
|
||||
@@ -42,336 +42,338 @@
|
||||
"api_error": "APIエラー",
|
||||
"information": "情報",
|
||||
"missing_type": "見つからないウィジェットタイプ: {{type}}",
|
||||
"status": "ステータス",
|
||||
"status": "状態",
|
||||
"url": "URL",
|
||||
"raw_error": "生のエラー",
|
||||
"response_data": "レスポンスデータ"
|
||||
},
|
||||
"weather": {
|
||||
"current": "Current Location",
|
||||
"allow": "Click to allow",
|
||||
"updating": "Updating",
|
||||
"wait": "Please wait"
|
||||
"current": "現在地",
|
||||
"allow": "クリックで許可",
|
||||
"updating": "アップデート中",
|
||||
"wait": "お待ちください"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Search…"
|
||||
"placeholder": "検索…"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "CPU",
|
||||
"total": "Total",
|
||||
"free": "Free",
|
||||
"used": "Used",
|
||||
"load": "Load",
|
||||
"total": "合計",
|
||||
"free": "フリー",
|
||||
"used": "使用",
|
||||
"load": "ロード",
|
||||
"mem": "MEM",
|
||||
"temp": "TEMP",
|
||||
"temp": "温度",
|
||||
"max": "Max",
|
||||
"uptime": "UP",
|
||||
"months": "mo",
|
||||
"days": "d",
|
||||
"hours": "h",
|
||||
"minutes": "m"
|
||||
"months": "月",
|
||||
"days": "日",
|
||||
"hours": "時間",
|
||||
"minutes": "分"
|
||||
},
|
||||
"unifi": {
|
||||
"users": "Users",
|
||||
"uptime": "System Uptime",
|
||||
"days": "Days",
|
||||
"users": "ユーザ",
|
||||
"uptime": "システム・アップタイム",
|
||||
"days": "日",
|
||||
"wan": "WAN",
|
||||
"lan": "LAN",
|
||||
"wlan": "WLAN",
|
||||
"devices": "Devices",
|
||||
"lan_devices": "LAN Devices",
|
||||
"wlan_devices": "WLAN Devices",
|
||||
"lan_users": "LAN Users",
|
||||
"wlan_users": "WLAN Users",
|
||||
"devices": "デバイス",
|
||||
"lan_devices": "LAN デバイス",
|
||||
"wlan_devices": "WLAN デバイス",
|
||||
"lan_users": "LAN ユーザ",
|
||||
"wlan_users": "WLAN ユーザ",
|
||||
"up": "UP",
|
||||
"down": "DOWN",
|
||||
"wait": "Please wait",
|
||||
"empty_data": "Subsystem status unknown"
|
||||
"wait": "お待ちください",
|
||||
"empty_data": "サブシステム状態・不明"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
"tx": "TX",
|
||||
"mem": "MEM",
|
||||
"cpu": "CPU",
|
||||
"offline": "Offline",
|
||||
"error": "Error",
|
||||
"unknown": "Unknown",
|
||||
"running": "Running",
|
||||
"starting": "Starting",
|
||||
"unhealthy": "Unhealthy",
|
||||
"not_found": "Not Found",
|
||||
"exited": "Exited",
|
||||
"partial": "Partial",
|
||||
"healthy": "Healthy"
|
||||
"offline": "オフライン",
|
||||
"error": "エラー",
|
||||
"unknown": "不明",
|
||||
"running": "起動中",
|
||||
"starting": "起動中",
|
||||
"unhealthy": "非健全",
|
||||
"not_found": "不明",
|
||||
"exited": "終了",
|
||||
"partial": "部分的",
|
||||
"healthy": "健全"
|
||||
},
|
||||
"ping": {
|
||||
"error": "Error",
|
||||
"error": "エラー",
|
||||
"ping": "Ping"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "Playing",
|
||||
"transcoding": "Transcoding",
|
||||
"bitrate": "Bitrate",
|
||||
"no_active": "No Active Streams",
|
||||
"movies": "Movies",
|
||||
"series": "Series",
|
||||
"episodes": "Episodes",
|
||||
"songs": "Songs"
|
||||
"playing": "再生中",
|
||||
"transcoding": "変換中",
|
||||
"bitrate": "ビットレート",
|
||||
"no_active": "アクティブ・ストリーム無し",
|
||||
"movies": "映画",
|
||||
"series": "シリーズ",
|
||||
"episodes": "エピソード",
|
||||
"songs": "曲"
|
||||
},
|
||||
"flood": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"download": "ダウンロード",
|
||||
"upload": "アップロード",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"changedetectionio": {
|
||||
"totalObserved": "Total Observed",
|
||||
"diffsDetected": "Diffs Detected"
|
||||
"totalObserved": "全観測数",
|
||||
"diffsDetected": "変更数"
|
||||
},
|
||||
"tautulli": {
|
||||
"playing": "Playing",
|
||||
"transcoding": "Transcoding",
|
||||
"bitrate": "Bitrate",
|
||||
"no_active": "No Active Streams"
|
||||
"playing": "再生中",
|
||||
"transcoding": "変換中",
|
||||
"bitrate": "ビットレート",
|
||||
"no_active": "アクティブストリームなし"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Connected APs",
|
||||
"activeUser": "Active devices",
|
||||
"alerts": "Alerts",
|
||||
"connectedGateway": "Connected gateways",
|
||||
"connectedSwitches": "Connected switches"
|
||||
"connectedAp": "接続されたAP",
|
||||
"activeUser": "アクティブデバイス",
|
||||
"alerts": "アラート",
|
||||
"connectedGateway": "接続されたゲートウェイ",
|
||||
"connectedSwitches": "接続スイッチ"
|
||||
},
|
||||
"nzbget": {
|
||||
"rate": "Rate",
|
||||
"remaining": "Remaining",
|
||||
"downloaded": "Downloaded"
|
||||
"rate": "速度",
|
||||
"remaining": "残り",
|
||||
"downloaded": "ダウンロード"
|
||||
},
|
||||
"plex": {
|
||||
"streams": "Active Streams",
|
||||
"movies": "Movies",
|
||||
"tv": "TV Shows"
|
||||
"streams": "アクティブストリーム",
|
||||
"movies": "映画",
|
||||
"tv": "テレビ番組",
|
||||
"albums": "アルバム"
|
||||
},
|
||||
"sabnzbd": {
|
||||
"rate": "Rate",
|
||||
"queue": "Queue",
|
||||
"timeleft": "Time Left"
|
||||
"rate": "速度",
|
||||
"queue": "キュー",
|
||||
"timeleft": "残り時間"
|
||||
},
|
||||
"rutorrent": {
|
||||
"active": "Active",
|
||||
"upload": "Upload",
|
||||
"download": "Download"
|
||||
"active": "アクティブ",
|
||||
"upload": "アップロード",
|
||||
"download": "ダウンロード"
|
||||
},
|
||||
"transmission": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"download": "ダウンロード",
|
||||
"upload": "アップロード",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"qbittorrent": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"download": "ダウンロード",
|
||||
"upload": "アップロード",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"deluge": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"download": "ダウンロード",
|
||||
"upload": "アップロード",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"downloadstation": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"download": "ダウンロード",
|
||||
"upload": "アップロード",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"sonarr": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"series": "Series"
|
||||
"wanted": "募集中",
|
||||
"queued": "待機中",
|
||||
"series": "シリーズ"
|
||||
},
|
||||
"radarr": {
|
||||
"wanted": "Wanted",
|
||||
"missing": "Missing",
|
||||
"queued": "Queued",
|
||||
"movies": "Movies"
|
||||
"wanted": "募集中",
|
||||
"missing": "不明",
|
||||
"queued": "キュー",
|
||||
"movies": "映画"
|
||||
},
|
||||
"lidarr": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"albums": "Albums"
|
||||
"wanted": "募集中",
|
||||
"queued": "キュー",
|
||||
"albums": "アルバム"
|
||||
},
|
||||
"readarr": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"books": "Books"
|
||||
"wanted": "募集中",
|
||||
"queued": "待機中",
|
||||
"books": "書籍"
|
||||
},
|
||||
"bazarr": {
|
||||
"missingEpisodes": "Missing Episodes",
|
||||
"missingMovies": "Missing Movies"
|
||||
"missingEpisodes": "欠番エピソード",
|
||||
"missingMovies": "不明・映画"
|
||||
},
|
||||
"ombi": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"pending": "保留中",
|
||||
"approved": "承認済",
|
||||
"available": "利用可"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"pending": "保留中",
|
||||
"approved": "承認済",
|
||||
"available": "利用可"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
"processing": "Processing",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"pending": "保留中",
|
||||
"processing": "処理中",
|
||||
"approved": "承認済",
|
||||
"available": "利用可"
|
||||
},
|
||||
"pihole": {
|
||||
"queries": "Queries",
|
||||
"blocked": "Blocked",
|
||||
"gravity": "Gravity"
|
||||
"queries": "クエリ",
|
||||
"blocked": "ブロック中",
|
||||
"gravity": "グラビティ",
|
||||
"blocked_percent": "Blocked %"
|
||||
},
|
||||
"adguard": {
|
||||
"queries": "Queries",
|
||||
"blocked": "Blocked",
|
||||
"filtered": "Filtered",
|
||||
"latency": "Latency"
|
||||
"queries": "クエリ",
|
||||
"blocked": "ブロック中",
|
||||
"filtered": "フィルタ済",
|
||||
"latency": "遅延"
|
||||
},
|
||||
"speedtest": {
|
||||
"upload": "Upload",
|
||||
"download": "Download",
|
||||
"upload": "アップロード",
|
||||
"download": "ダウンロード",
|
||||
"ping": "Ping"
|
||||
},
|
||||
"portainer": {
|
||||
"running": "Running",
|
||||
"stopped": "Stopped",
|
||||
"total": "Total"
|
||||
"running": "起動中",
|
||||
"stopped": "停止中",
|
||||
"total": "合計"
|
||||
},
|
||||
"tdarr": {
|
||||
"queue": "Queue",
|
||||
"processed": "Processed",
|
||||
"errored": "Errored",
|
||||
"saved": "Saved"
|
||||
"queue": "キュー",
|
||||
"processed": "処理済み",
|
||||
"errored": "エラー",
|
||||
"saved": "保存"
|
||||
},
|
||||
"traefik": {
|
||||
"routers": "Routers",
|
||||
"services": "Services",
|
||||
"middleware": "Middleware"
|
||||
"routers": "ルーター",
|
||||
"services": "サービス",
|
||||
"middleware": "ミドルウェア"
|
||||
},
|
||||
"coinmarketcap": {
|
||||
"configure": "Configure one or more crypto currencies to track",
|
||||
"1hour": "1 Hour",
|
||||
"1day": "1 Day",
|
||||
"7days": "7 Days",
|
||||
"30days": "30 Days"
|
||||
"configure": "1つ以上の暗号通貨を設定して追跡",
|
||||
"1hour": "1時間",
|
||||
"1day": "1日",
|
||||
"7days": "7日間",
|
||||
"30days": "30日間"
|
||||
},
|
||||
"gotify": {
|
||||
"apps": "Applications",
|
||||
"clients": "Clients",
|
||||
"messages": "Messages"
|
||||
"apps": "アプリケーション",
|
||||
"clients": "クライアント",
|
||||
"messages": "メッセージ"
|
||||
},
|
||||
"prowlarr": {
|
||||
"enableIndexers": "Indexers",
|
||||
"numberOfGrabs": "Grabs",
|
||||
"numberOfQueries": "Queries",
|
||||
"numberOfQueries": "クエリ",
|
||||
"numberOfFailGrabs": "Fail Grabs",
|
||||
"numberOfFailQueries": "Fail Queries"
|
||||
},
|
||||
"jackett": {
|
||||
"configured": "Configured",
|
||||
"errored": "Errored"
|
||||
"configured": "設定済",
|
||||
"errored": "エラー"
|
||||
},
|
||||
"mastodon": {
|
||||
"user_count": "Users",
|
||||
"status_count": "Posts",
|
||||
"domain_count": "Domains"
|
||||
"user_count": "ユーザー",
|
||||
"status_count": "ポスト",
|
||||
"domain_count": "ドメイン"
|
||||
},
|
||||
"miniflux": {
|
||||
"read": "Read",
|
||||
"unread": "Unread"
|
||||
},
|
||||
"authentik": {
|
||||
"users": "Users",
|
||||
"loginsLast24H": "Logins (24h)",
|
||||
"failedLoginsLast24H": "Failed Logins (24h)"
|
||||
"users": "ユーザー",
|
||||
"loginsLast24H": "ログイン (24時間)",
|
||||
"failedLoginsLast24H": "ログイン失敗(24時間)"
|
||||
},
|
||||
"proxmox": {
|
||||
"mem": "MEM",
|
||||
"cpu": "CPU",
|
||||
"lxc": "LXC",
|
||||
"vms": "VMs"
|
||||
"vms": "VM"
|
||||
},
|
||||
"quicklaunch": {
|
||||
"bookmark": "Bookmark",
|
||||
"service": "Service",
|
||||
"search": "Search",
|
||||
"custom": "Custom",
|
||||
"visit": "Visit",
|
||||
"bookmark": "ブックマーク",
|
||||
"service": "サービス",
|
||||
"search": "検索",
|
||||
"custom": "カスタム",
|
||||
"visit": "訪問",
|
||||
"url": "URL"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "Sunny",
|
||||
"1-day": "Mainly Sunny",
|
||||
"0-night": "Clear",
|
||||
"1-night": "Mainly Clear",
|
||||
"2-day": "Partly Cloudy",
|
||||
"2-night": "Partly Cloudy",
|
||||
"3-day": "Cloudy",
|
||||
"3-night": "Cloudy",
|
||||
"45-day": "Foggy",
|
||||
"45-night": "Foggy",
|
||||
"48-day": "Foggy",
|
||||
"48-night": "Foggy",
|
||||
"51-day": "Light Drizzle",
|
||||
"51-night": "Light Drizzle",
|
||||
"53-day": "Drizzle",
|
||||
"53-night": "Drizzle",
|
||||
"55-day": "Heavy Drizzle",
|
||||
"55-night": "Heavy Drizzle",
|
||||
"56-day": "Light Freezing Drizzle",
|
||||
"56-night": "Light Freezing Drizzle",
|
||||
"57-day": "Freezing Drizzle",
|
||||
"57-night": "Freezing Drizzle",
|
||||
"61-day": "Light Rain",
|
||||
"61-night": "Light Rain",
|
||||
"63-day": "Rain",
|
||||
"63-night": "Rain",
|
||||
"67-night": "Freezing Rain",
|
||||
"71-day": "Light Snow",
|
||||
"65-day": "Heavy Rain",
|
||||
"65-night": "Heavy Rain",
|
||||
"66-day": "Freezing Rain",
|
||||
"66-night": "Freezing Rain",
|
||||
"67-day": "Freezing Rain",
|
||||
"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",
|
||||
"99-day": "Thunderstorm With Hail",
|
||||
"99-night": "Thunderstorm With Hail"
|
||||
"0-day": "晴れ",
|
||||
"1-day": "ほぼ晴れ",
|
||||
"0-night": "晴れ",
|
||||
"1-night": "ほぼ晴れ",
|
||||
"2-day": "一時くもり",
|
||||
"2-night": "一部くもり",
|
||||
"3-day": "くもり",
|
||||
"3-night": "くもり",
|
||||
"45-day": "霧",
|
||||
"45-night": "霧",
|
||||
"48-day": "霧",
|
||||
"48-night": "霧",
|
||||
"51-day": "霧雨",
|
||||
"51-night": "霧雨",
|
||||
"53-day": "霧雨",
|
||||
"53-night": "霧雨",
|
||||
"55-day": "霧雨",
|
||||
"55-night": "霧雨",
|
||||
"56-day": "霧雨",
|
||||
"56-night": "霧雨",
|
||||
"57-day": "霧雨",
|
||||
"57-night": "霧雨",
|
||||
"61-day": "小雨",
|
||||
"61-night": "小雨",
|
||||
"63-day": "雨",
|
||||
"63-night": "雨",
|
||||
"67-night": "雨",
|
||||
"71-day": "雪",
|
||||
"65-day": "大雨",
|
||||
"65-night": "大雨",
|
||||
"66-day": "雨",
|
||||
"66-night": "雨",
|
||||
"67-day": "雨",
|
||||
"71-night": "雪",
|
||||
"73-day": "雪",
|
||||
"73-night": "雪",
|
||||
"75-day": "大雪",
|
||||
"75-night": "大雪",
|
||||
"77-day": "粒雪",
|
||||
"77-night": "粒雪",
|
||||
"80-day": "にわか雨",
|
||||
"80-night": "にわか雨",
|
||||
"81-day": "にわか雨",
|
||||
"81-night": "にわか雨",
|
||||
"82-day": "強いにわか雨",
|
||||
"82-night": "強いにわか雨",
|
||||
"85-day": "にわか雪",
|
||||
"85-night": "にわか雪",
|
||||
"86-day": "にわか雪",
|
||||
"86-night": "にわか雪",
|
||||
"95-day": "雷雨",
|
||||
"95-night": "雷雨",
|
||||
"96-day": "雷雨・ひょう",
|
||||
"96-night": "雷雨・ひょう",
|
||||
"99-day": "雷雨・ひょう",
|
||||
"99-night": "雷雨・ひょう"
|
||||
},
|
||||
"homebridge": {
|
||||
"available_update": "System",
|
||||
"updates": "Updates",
|
||||
"update_available": "Update Available",
|
||||
"up_to_date": "Up to Date",
|
||||
"available_update": "システム",
|
||||
"updates": "アップデート",
|
||||
"update_available": "更新あり",
|
||||
"up_to_date": "最新",
|
||||
"child_bridges": "Child Bridges",
|
||||
"child_bridges_status": "{{ok}}/{{total}}",
|
||||
"up": "Up",
|
||||
@@ -379,67 +381,67 @@
|
||||
"down": "Down"
|
||||
},
|
||||
"watchtower": {
|
||||
"containers_scanned": "Scanned",
|
||||
"containers_updated": "Updated",
|
||||
"containers_failed": "Failed"
|
||||
"containers_scanned": "スキャン済",
|
||||
"containers_updated": "更新済",
|
||||
"containers_failed": "失敗"
|
||||
},
|
||||
"tubearchivist": {
|
||||
"downloads": "Queue",
|
||||
"videos": "Videos",
|
||||
"channels": "Channels",
|
||||
"playlists": "Playlists"
|
||||
"downloads": "キュー",
|
||||
"videos": "ビデオ",
|
||||
"channels": "チャンネル",
|
||||
"playlists": "プレイリスト"
|
||||
},
|
||||
"truenas": {
|
||||
"load": "System Load",
|
||||
"uptime": "Uptime",
|
||||
"alerts": "Alerts",
|
||||
"load": "システム負荷",
|
||||
"uptime": "稼働時間",
|
||||
"alerts": "アラート",
|
||||
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
|
||||
},
|
||||
"pyload": {
|
||||
"speed": "Speed",
|
||||
"active": "Active",
|
||||
"queue": "Queue",
|
||||
"total": "Total"
|
||||
"speed": "スピード",
|
||||
"active": "アクティブ",
|
||||
"queue": "キュー",
|
||||
"total": "合計"
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Channels",
|
||||
"channels": "チャンネル",
|
||||
"hd": "HD"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Passed",
|
||||
"failed": "Failed",
|
||||
"unknown": "Unknown"
|
||||
"passed": "合格",
|
||||
"failed": "失敗",
|
||||
"unknown": "不明"
|
||||
},
|
||||
"paperlessngx": {
|
||||
"inbox": "Inbox",
|
||||
"total": "Total"
|
||||
"inbox": "受信箱",
|
||||
"total": "合計"
|
||||
},
|
||||
"nextdns": {
|
||||
"wait": "Please Wait",
|
||||
"no_devices": "No Device Data Received"
|
||||
"wait": "お待ちください",
|
||||
"no_devices": "デバイス データを受信していません"
|
||||
},
|
||||
"mikrotik": {
|
||||
"cpuLoad": "CPU Load",
|
||||
"memoryUsed": "Memory Used",
|
||||
"uptime": "Uptime",
|
||||
"numberOfLeases": "Leases"
|
||||
"cpuLoad": "CPU負荷",
|
||||
"memoryUsed": "使用メモリ",
|
||||
"uptime": "稼働時間",
|
||||
"numberOfLeases": "リース"
|
||||
},
|
||||
"xteve": {
|
||||
"streams_all": "All Streams",
|
||||
"streams_active": "Active Streams",
|
||||
"streams_xepg": "XEPG Channels"
|
||||
"streams_all": "全ストリーム",
|
||||
"streams_active": "アクティブ・ストリーム",
|
||||
"streams_xepg": "XEPGチャンネル"
|
||||
},
|
||||
"opnsense": {
|
||||
"cpu": "CPU Load",
|
||||
"memory": "Active Memory",
|
||||
"wanUpload": "WAN Upload",
|
||||
"wanDownload": "WAN Download"
|
||||
"cpu": "CPU負荷",
|
||||
"memory": "アクティブ・メモリ",
|
||||
"wanUpload": "WANアップロード",
|
||||
"wanDownload": "WANダウンロード"
|
||||
},
|
||||
"moonraker": {
|
||||
"printer_state": "Printer State",
|
||||
"print_status": "Print Status",
|
||||
"print_progress": "Progress",
|
||||
"layers": "Layers"
|
||||
"printer_state": "プリンタの状態",
|
||||
"print_status": "印刷状況",
|
||||
"print_progress": "進捗状況",
|
||||
"layers": "レイヤー"
|
||||
},
|
||||
"medusa": {
|
||||
"wanted": "Wanted",
|
||||
@@ -447,120 +449,176 @@
|
||||
"series": "Series"
|
||||
},
|
||||
"octoprint": {
|
||||
"temp_bed": "Bed temp",
|
||||
"printer_state": "Status",
|
||||
"temp_tool": "Tool temp",
|
||||
"job_completion": "Completion"
|
||||
"temp_bed": "ベッド温度",
|
||||
"printer_state": "状態",
|
||||
"temp_tool": "ツール温度",
|
||||
"job_completion": "完了"
|
||||
},
|
||||
"cloudflared": {
|
||||
"origin_ip": "Origin IP",
|
||||
"status": "Status"
|
||||
"origin_ip": "オリジンIP",
|
||||
"status": "状態"
|
||||
},
|
||||
"proxmoxbackupserver": {
|
||||
"datastore_usage": "Datastore",
|
||||
"failed_tasks_24h": "Failed Tasks 24h",
|
||||
"failed_tasks_24h": "失敗タスク(24h)",
|
||||
"cpu_usage": "CPU",
|
||||
"memory_usage": "Memory"
|
||||
"memory_usage": "メモリ"
|
||||
},
|
||||
"immich": {
|
||||
"users": "Users",
|
||||
"photos": "Photos",
|
||||
"videos": "Videos",
|
||||
"storage": "Storage"
|
||||
"users": "ユーザ",
|
||||
"photos": "写真",
|
||||
"videos": "ビデオ",
|
||||
"storage": "ストレージ"
|
||||
},
|
||||
"uptimekuma": {
|
||||
"up": "Sites Up",
|
||||
"down": "Sites Down",
|
||||
"uptime": "Uptime",
|
||||
"up": "サイトUp",
|
||||
"down": "サイトDown",
|
||||
"uptime": "稼働時間",
|
||||
"incident": "Incident",
|
||||
"m": "m"
|
||||
},
|
||||
"komga": {
|
||||
"libraries": "Libraries",
|
||||
"series": "Series",
|
||||
"books": "Books"
|
||||
"libraries": "ライブラリ",
|
||||
"series": "シリーズ",
|
||||
"books": "書籍"
|
||||
},
|
||||
"mylar": {
|
||||
"series": "Series",
|
||||
"series": "シリーズ",
|
||||
"issues": "Issues",
|
||||
"wanted": "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": "CPU負荷",
|
||||
"memoryusage": "メモリ使用量",
|
||||
"freespace": "空き容量",
|
||||
"activeusers": "アクティブユーザー",
|
||||
"numfiles": "ファイル",
|
||||
"numshares": "共有アイテム"
|
||||
},
|
||||
"kopia": {
|
||||
"status": "Status",
|
||||
"size": "Size",
|
||||
"lastrun": "Last Run",
|
||||
"nextrun": "Next Run",
|
||||
"failed": "Failed"
|
||||
"status": "状態",
|
||||
"size": "サイズ",
|
||||
"lastrun": "最終実行",
|
||||
"nextrun": "次の実行",
|
||||
"failed": "失敗"
|
||||
},
|
||||
"unmanic": {
|
||||
"active_workers": "Active Workers",
|
||||
"total_workers": "Total Workers",
|
||||
"records_total": "Queue Length"
|
||||
"active_workers": "アクティブ・ワーカー",
|
||||
"total_workers": "トータル・ワーカー",
|
||||
"records_total": "キューの長さ"
|
||||
},
|
||||
"healthchecks": {
|
||||
"never": "No pings yet",
|
||||
"never": "まだPingはありません",
|
||||
"new": "New",
|
||||
"up": "Online",
|
||||
"grace": "In Grace Period",
|
||||
"down": "Offline",
|
||||
"paused": "Paused",
|
||||
"status": "Status",
|
||||
"last_ping": "Last Ping"
|
||||
"up": "オンライン",
|
||||
"grace": "猶予期間中",
|
||||
"down": "オフライン",
|
||||
"paused": "一時停止中",
|
||||
"status": "状態",
|
||||
"last_ping": "最後のPing"
|
||||
},
|
||||
"pterodactyl": {
|
||||
"servers": "Servers",
|
||||
"nodes": "Nodes"
|
||||
"servers": "サーバ",
|
||||
"nodes": "ノード"
|
||||
},
|
||||
"prometheus": {
|
||||
"targets_up": "Targets Up",
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
"targets_up": "ターゲットUp",
|
||||
"targets_down": "ターゲット Down",
|
||||
"targets_total": "ターゲット合計"
|
||||
},
|
||||
"minecraft": {
|
||||
"players": "Players",
|
||||
"version": "Version",
|
||||
"status": "Status",
|
||||
"up": "Online",
|
||||
"down": "Offline"
|
||||
"players": "プレイヤー",
|
||||
"version": "バージョン",
|
||||
"status": "状態",
|
||||
"up": "オンライン",
|
||||
"down": "オフライン"
|
||||
},
|
||||
"ghostfolio": {
|
||||
"gross_percent_max": "All time",
|
||||
"gross_percent_today": "Today",
|
||||
"gross_percent_1y": "One year"
|
||||
"gross_percent_max": "全期間",
|
||||
"gross_percent_today": "今日",
|
||||
"gross_percent_1y": "1年"
|
||||
},
|
||||
"audiobookshelf": {
|
||||
"podcasts": "Podcasts",
|
||||
"books": "Books",
|
||||
"podcastsDuration": "Duration",
|
||||
"booksDuration": "Duration"
|
||||
"podcasts": "ポッドキャスト",
|
||||
"books": "書籍",
|
||||
"podcastsDuration": "時間",
|
||||
"booksDuration": "時間"
|
||||
},
|
||||
"homeassistant": {
|
||||
"people_home": "ホーム人数",
|
||||
"lights_on": "点灯",
|
||||
"switches_on": "スイッチオン"
|
||||
},
|
||||
"freshrss": {
|
||||
"subscriptions": "購読",
|
||||
"unread": "未読"
|
||||
},
|
||||
"channelsdvrserver": {
|
||||
"shows": "ショー",
|
||||
"recordings": "レコーディング",
|
||||
"scheduled": "予定済",
|
||||
"passes": "Passes"
|
||||
},
|
||||
"whatsupdocker": {
|
||||
"monitoring": "Monitoring",
|
||||
"updates": "アップデート"
|
||||
},
|
||||
"tailscale": {
|
||||
"address": "アドレス",
|
||||
"expires": "失効",
|
||||
"never": "なし",
|
||||
"last_seen": "最終日時",
|
||||
"now": "現在",
|
||||
"years": "{{number}}年",
|
||||
"weeks": "{{number}}月",
|
||||
"days": "{{number}}日",
|
||||
"hours": "{{number}}時間",
|
||||
"minutes": "{{number}}分",
|
||||
"seconds": "{{number}}秒",
|
||||
"ago": "{{value}} 前"
|
||||
},
|
||||
"qnap": {
|
||||
"cpuUsage": "CPU Usage",
|
||||
"memUsage": "MEM Usage",
|
||||
"systemTempC": "System Temp",
|
||||
"poolUsage": "Pool Usage"
|
||||
},
|
||||
"pfsense": {
|
||||
"up": "Up",
|
||||
"load": "Load Avg",
|
||||
"memory": "Mem Usage",
|
||||
"wanStatus": "WAN Status",
|
||||
"down": "Down",
|
||||
"temp": "Temp",
|
||||
"disk": "Disk Usage",
|
||||
"wanIP": "WAN IP"
|
||||
},
|
||||
"caddy": {
|
||||
"upstreams": "Upstreams",
|
||||
"requests": "Current requests",
|
||||
"requests_failed": "Failed requests"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -128,7 +128,8 @@
|
||||
"plex": {
|
||||
"streams": "활성 스트림",
|
||||
"movies": "영화",
|
||||
"tv": "TV 쇼"
|
||||
"tv": "TV 쇼",
|
||||
"albums": "Albums"
|
||||
},
|
||||
"sabnzbd": {
|
||||
"rate": "비율",
|
||||
@@ -203,7 +204,8 @@
|
||||
"pihole": {
|
||||
"queries": "쿼리",
|
||||
"blocked": "차단됨",
|
||||
"gravity": "Gravity"
|
||||
"gravity": "Gravity",
|
||||
"blocked_percent": "Blocked %"
|
||||
},
|
||||
"adguard": {
|
||||
"queries": "쿼리",
|
||||
@@ -533,7 +535,9 @@
|
||||
"cpuload": "Cpu Load",
|
||||
"memoryusage": "Memory Usage",
|
||||
"freespace": "Free Space",
|
||||
"activeusers": "Active Users"
|
||||
"activeusers": "Active Users",
|
||||
"numfiles": "Files",
|
||||
"numshares": "Shared Items"
|
||||
},
|
||||
"kopia": {
|
||||
"status": "Status",
|
||||
@@ -562,5 +566,59 @@
|
||||
"books": "Books",
|
||||
"podcastsDuration": "Duration",
|
||||
"booksDuration": "Duration"
|
||||
},
|
||||
"homeassistant": {
|
||||
"people_home": "People Home",
|
||||
"lights_on": "Lights On",
|
||||
"switches_on": "Switches On"
|
||||
},
|
||||
"freshrss": {
|
||||
"subscriptions": "Subscriptions",
|
||||
"unread": "Unread"
|
||||
},
|
||||
"channelsdvrserver": {
|
||||
"shows": "Shows",
|
||||
"recordings": "Recordings",
|
||||
"scheduled": "Scheduled",
|
||||
"passes": "Passes"
|
||||
},
|
||||
"whatsupdocker": {
|
||||
"monitoring": "Monitoring",
|
||||
"updates": "Updates"
|
||||
},
|
||||
"tailscale": {
|
||||
"address": "Address",
|
||||
"expires": "Expires",
|
||||
"never": "Never",
|
||||
"last_seen": "Last Seen",
|
||||
"now": "Now",
|
||||
"years": "{{number}}y",
|
||||
"weeks": "{{number}}w",
|
||||
"days": "{{number}}d",
|
||||
"hours": "{{number}}h",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "{{value}} Ago"
|
||||
},
|
||||
"qnap": {
|
||||
"cpuUsage": "CPU Usage",
|
||||
"memUsage": "MEM Usage",
|
||||
"systemTempC": "System Temp",
|
||||
"poolUsage": "Pool Usage"
|
||||
},
|
||||
"pfsense": {
|
||||
"temp": "Temp",
|
||||
"disk": "Disk Usage",
|
||||
"wanIP": "WAN IP",
|
||||
"load": "Load Avg",
|
||||
"memory": "Mem Usage",
|
||||
"wanStatus": "WAN Status",
|
||||
"up": "Up",
|
||||
"down": "Down"
|
||||
},
|
||||
"caddy": {
|
||||
"upstreams": "Upstreams",
|
||||
"requests": "Current requests",
|
||||
"requests_failed": "Failed requests"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -114,7 +114,8 @@
|
||||
"plex": {
|
||||
"streams": "Aktīvās straumes",
|
||||
"movies": "Filmas",
|
||||
"tv": "TV pārraides"
|
||||
"tv": "TV pārraides",
|
||||
"albums": "Albums"
|
||||
},
|
||||
"sabnzbd": {
|
||||
"rate": "Rate",
|
||||
@@ -194,7 +195,8 @@
|
||||
"pihole": {
|
||||
"queries": "Queries",
|
||||
"blocked": "Blocked",
|
||||
"gravity": "Gravity"
|
||||
"gravity": "Gravity",
|
||||
"blocked_percent": "Blocked %"
|
||||
},
|
||||
"adguard": {
|
||||
"queries": "Queries",
|
||||
@@ -512,7 +514,9 @@
|
||||
"cpuload": "Cpu Load",
|
||||
"memoryusage": "Memory Usage",
|
||||
"freespace": "Free Space",
|
||||
"activeusers": "Active Users"
|
||||
"activeusers": "Active Users",
|
||||
"numfiles": "Files",
|
||||
"numshares": "Shared Items"
|
||||
},
|
||||
"kopia": {
|
||||
"status": "Status",
|
||||
@@ -562,5 +566,59 @@
|
||||
"books": "Books",
|
||||
"podcastsDuration": "Duration",
|
||||
"booksDuration": "Duration"
|
||||
},
|
||||
"homeassistant": {
|
||||
"people_home": "People Home",
|
||||
"lights_on": "Lights On",
|
||||
"switches_on": "Switches On"
|
||||
},
|
||||
"freshrss": {
|
||||
"subscriptions": "Subscriptions",
|
||||
"unread": "Unread"
|
||||
},
|
||||
"channelsdvrserver": {
|
||||
"shows": "Shows",
|
||||
"recordings": "Recordings",
|
||||
"scheduled": "Scheduled",
|
||||
"passes": "Passes"
|
||||
},
|
||||
"whatsupdocker": {
|
||||
"monitoring": "Monitoring",
|
||||
"updates": "Updates"
|
||||
},
|
||||
"tailscale": {
|
||||
"address": "Address",
|
||||
"expires": "Expires",
|
||||
"never": "Never",
|
||||
"last_seen": "Last Seen",
|
||||
"now": "Now",
|
||||
"years": "{{number}}y",
|
||||
"weeks": "{{number}}w",
|
||||
"days": "{{number}}d",
|
||||
"hours": "{{number}}h",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "{{value}} Ago"
|
||||
},
|
||||
"qnap": {
|
||||
"cpuUsage": "CPU Usage",
|
||||
"memUsage": "MEM Usage",
|
||||
"systemTempC": "System Temp",
|
||||
"poolUsage": "Pool Usage"
|
||||
},
|
||||
"pfsense": {
|
||||
"load": "Load Avg",
|
||||
"memory": "Mem Usage",
|
||||
"wanStatus": "WAN Status",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"temp": "Temp",
|
||||
"disk": "Disk Usage",
|
||||
"wanIP": "WAN IP"
|
||||
},
|
||||
"caddy": {
|
||||
"upstreams": "Upstreams",
|
||||
"requests": "Current requests",
|
||||
"requests_failed": "Failed requests"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -201,7 +201,8 @@
|
||||
"plex": {
|
||||
"streams": "Strim Aktif",
|
||||
"movies": "Filem",
|
||||
"tv": "Rancangan TV"
|
||||
"tv": "Rancangan TV",
|
||||
"albums": "Albums"
|
||||
},
|
||||
"sabnzbd": {
|
||||
"rate": "Kadar",
|
||||
@@ -254,7 +255,8 @@
|
||||
"pihole": {
|
||||
"queries": "Permintaan",
|
||||
"blocked": "Disekat",
|
||||
"gravity": "Gravity"
|
||||
"gravity": "Gravity",
|
||||
"blocked_percent": "Blocked %"
|
||||
},
|
||||
"adguard": {
|
||||
"queries": "Permintaan",
|
||||
@@ -512,7 +514,9 @@
|
||||
"cpuload": "Cpu Load",
|
||||
"memoryusage": "Memory Usage",
|
||||
"freespace": "Free Space",
|
||||
"activeusers": "Active Users"
|
||||
"activeusers": "Active Users",
|
||||
"numfiles": "Files",
|
||||
"numshares": "Shared Items"
|
||||
},
|
||||
"kopia": {
|
||||
"status": "Status",
|
||||
@@ -562,5 +566,59 @@
|
||||
"books": "Books",
|
||||
"podcastsDuration": "Duration",
|
||||
"booksDuration": "Duration"
|
||||
},
|
||||
"homeassistant": {
|
||||
"people_home": "People Home",
|
||||
"lights_on": "Lights On",
|
||||
"switches_on": "Switches On"
|
||||
},
|
||||
"freshrss": {
|
||||
"subscriptions": "Subscriptions",
|
||||
"unread": "Unread"
|
||||
},
|
||||
"channelsdvrserver": {
|
||||
"shows": "Shows",
|
||||
"recordings": "Recordings",
|
||||
"scheduled": "Scheduled",
|
||||
"passes": "Passes"
|
||||
},
|
||||
"whatsupdocker": {
|
||||
"monitoring": "Monitoring",
|
||||
"updates": "Updates"
|
||||
},
|
||||
"tailscale": {
|
||||
"address": "Address",
|
||||
"expires": "Expires",
|
||||
"never": "Never",
|
||||
"last_seen": "Last Seen",
|
||||
"now": "Now",
|
||||
"years": "{{number}}y",
|
||||
"weeks": "{{number}}w",
|
||||
"days": "{{number}}d",
|
||||
"hours": "{{number}}h",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "{{value}} Ago"
|
||||
},
|
||||
"qnap": {
|
||||
"cpuUsage": "CPU Usage",
|
||||
"memUsage": "MEM Usage",
|
||||
"systemTempC": "System Temp",
|
||||
"poolUsage": "Pool Usage"
|
||||
},
|
||||
"pfsense": {
|
||||
"load": "Load Avg",
|
||||
"memory": "Mem Usage",
|
||||
"wanStatus": "WAN Status",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"temp": "Temp",
|
||||
"disk": "Disk Usage",
|
||||
"wanIP": "WAN IP"
|
||||
},
|
||||
"caddy": {
|
||||
"upstreams": "Upstreams",
|
||||
"requests": "Current requests",
|
||||
"requests_failed": "Failed requests"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -92,7 +92,8 @@
|
||||
"pihole": {
|
||||
"queries": "Spørringer",
|
||||
"blocked": "Blokkert",
|
||||
"gravity": "Gravitet"
|
||||
"gravity": "Gravitet",
|
||||
"blocked_percent": "Blocked %"
|
||||
},
|
||||
"speedtest": {
|
||||
"upload": "Opplasting",
|
||||
@@ -228,7 +229,8 @@
|
||||
"plex": {
|
||||
"streams": "Active Streams",
|
||||
"movies": "Movies",
|
||||
"tv": "TV Shows"
|
||||
"tv": "TV Shows",
|
||||
"albums": "Albums"
|
||||
},
|
||||
"glances": {
|
||||
"cpu": "CPU",
|
||||
@@ -512,7 +514,9 @@
|
||||
"cpuload": "Cpu Load",
|
||||
"memoryusage": "Memory Usage",
|
||||
"freespace": "Free Space",
|
||||
"activeusers": "Active Users"
|
||||
"activeusers": "Active Users",
|
||||
"numfiles": "Files",
|
||||
"numshares": "Shared Items"
|
||||
},
|
||||
"kopia": {
|
||||
"status": "Status",
|
||||
@@ -562,5 +566,59 @@
|
||||
"books": "Books",
|
||||
"podcastsDuration": "Duration",
|
||||
"booksDuration": "Duration"
|
||||
},
|
||||
"homeassistant": {
|
||||
"people_home": "People Home",
|
||||
"lights_on": "Lights On",
|
||||
"switches_on": "Switches On"
|
||||
},
|
||||
"freshrss": {
|
||||
"subscriptions": "Subscriptions",
|
||||
"unread": "Unread"
|
||||
},
|
||||
"channelsdvrserver": {
|
||||
"shows": "Shows",
|
||||
"recordings": "Recordings",
|
||||
"scheduled": "Scheduled",
|
||||
"passes": "Passes"
|
||||
},
|
||||
"whatsupdocker": {
|
||||
"monitoring": "Monitoring",
|
||||
"updates": "Updates"
|
||||
},
|
||||
"tailscale": {
|
||||
"address": "Address",
|
||||
"expires": "Expires",
|
||||
"never": "Never",
|
||||
"last_seen": "Last Seen",
|
||||
"now": "Now",
|
||||
"years": "{{number}}y",
|
||||
"weeks": "{{number}}w",
|
||||
"days": "{{number}}d",
|
||||
"hours": "{{number}}h",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "{{value}} Ago"
|
||||
},
|
||||
"qnap": {
|
||||
"cpuUsage": "CPU Usage",
|
||||
"memUsage": "MEM Usage",
|
||||
"systemTempC": "System Temp",
|
||||
"poolUsage": "Pool Usage"
|
||||
},
|
||||
"pfsense": {
|
||||
"load": "Load Avg",
|
||||
"memory": "Mem Usage",
|
||||
"wanStatus": "WAN Status",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"temp": "Temp",
|
||||
"disk": "Disk Usage",
|
||||
"wanIP": "WAN IP"
|
||||
},
|
||||
"caddy": {
|
||||
"upstreams": "Upstreams",
|
||||
"requests": "Current requests",
|
||||
"requests_failed": "Failed requests"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -108,7 +108,8 @@
|
||||
"pihole": {
|
||||
"queries": "Queries",
|
||||
"blocked": "Geblokkeerd",
|
||||
"gravity": "Gravity"
|
||||
"gravity": "Gravity",
|
||||
"blocked_percent": "Blocked %"
|
||||
},
|
||||
"traefik": {
|
||||
"routers": "Routers",
|
||||
@@ -228,7 +229,8 @@
|
||||
"plex": {
|
||||
"streams": "Actieve Streams",
|
||||
"movies": "Films",
|
||||
"tv": "TV Series"
|
||||
"tv": "TV Series",
|
||||
"albums": "Albums"
|
||||
},
|
||||
"glances": {
|
||||
"cpu": "CPU",
|
||||
@@ -512,7 +514,9 @@
|
||||
"cpuload": "Cpu Belasting",
|
||||
"memoryusage": "Geheugen Gebruik",
|
||||
"freespace": "Vrije Ruimte",
|
||||
"activeusers": "Actieve Gebruikers"
|
||||
"activeusers": "Actieve Gebruikers",
|
||||
"numfiles": "Files",
|
||||
"numshares": "Shared Items"
|
||||
},
|
||||
"kopia": {
|
||||
"status": "Status",
|
||||
@@ -562,5 +566,59 @@
|
||||
"books": "Boeken",
|
||||
"podcastsDuration": "Duur",
|
||||
"booksDuration": "Duur"
|
||||
},
|
||||
"homeassistant": {
|
||||
"people_home": "People Home",
|
||||
"lights_on": "Lights On",
|
||||
"switches_on": "Switches On"
|
||||
},
|
||||
"freshrss": {
|
||||
"subscriptions": "Subscriptions",
|
||||
"unread": "Unread"
|
||||
},
|
||||
"channelsdvrserver": {
|
||||
"shows": "Shows",
|
||||
"recordings": "Recordings",
|
||||
"scheduled": "Scheduled",
|
||||
"passes": "Passes"
|
||||
},
|
||||
"whatsupdocker": {
|
||||
"monitoring": "Monitoring",
|
||||
"updates": "Updates"
|
||||
},
|
||||
"tailscale": {
|
||||
"address": "Address",
|
||||
"expires": "Expires",
|
||||
"never": "Never",
|
||||
"last_seen": "Last Seen",
|
||||
"now": "Now",
|
||||
"years": "{{number}}y",
|
||||
"weeks": "{{number}}w",
|
||||
"days": "{{number}}d",
|
||||
"hours": "{{number}}h",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "{{value}} Ago"
|
||||
},
|
||||
"qnap": {
|
||||
"cpuUsage": "CPU Usage",
|
||||
"memUsage": "MEM Usage",
|
||||
"systemTempC": "System Temp",
|
||||
"poolUsage": "Pool Usage"
|
||||
},
|
||||
"pfsense": {
|
||||
"load": "Load Avg",
|
||||
"memory": "Mem Usage",
|
||||
"wanStatus": "WAN Status",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"temp": "Temp",
|
||||
"disk": "Disk Usage",
|
||||
"wanIP": "WAN IP"
|
||||
},
|
||||
"caddy": {
|
||||
"upstreams": "Upstreams",
|
||||
"requests": "Current requests",
|
||||
"requests_failed": "Failed requests"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,23 +15,23 @@
|
||||
"free": "Wolne",
|
||||
"cpu": "CPU",
|
||||
"mem": "PAM",
|
||||
"temp": "TEMP",
|
||||
"max": "Max",
|
||||
"uptime": "UP",
|
||||
"months": "mo",
|
||||
"days": "d",
|
||||
"hours": "h",
|
||||
"minutes": "m"
|
||||
"temp": "TEMP.",
|
||||
"max": "Maks",
|
||||
"uptime": "CZAS",
|
||||
"months": "miesiąc",
|
||||
"days": "dni",
|
||||
"hours": "godz",
|
||||
"minutes": "min"
|
||||
},
|
||||
"emby": {
|
||||
"no_active": "Brak aktywnych strumieni",
|
||||
"playing": "Odtwarzanie",
|
||||
"transcoding": "Transkodowanie",
|
||||
"bitrate": "Bitrate",
|
||||
"movies": "Movies",
|
||||
"series": "Series",
|
||||
"episodes": "Episodes",
|
||||
"songs": "Songs"
|
||||
"movies": "Filmy",
|
||||
"series": "Seriale",
|
||||
"episodes": "Odcinki",
|
||||
"songs": "Piosenki"
|
||||
},
|
||||
"tautulli": {
|
||||
"playing": "Odtwarzanie",
|
||||
@@ -79,11 +79,11 @@
|
||||
"error": "Błąd",
|
||||
"unknown": "Nieznany",
|
||||
"running": "Działa",
|
||||
"starting": "Starting",
|
||||
"unhealthy": "Unhealthy",
|
||||
"not_found": "Not Found",
|
||||
"starting": "Rozpoczynanie",
|
||||
"unhealthy": "Niezdrowe",
|
||||
"not_found": "Nie znaleziono",
|
||||
"exited": "Exited",
|
||||
"partial": "Partial",
|
||||
"partial": "Częściowe",
|
||||
"healthy": "Zdrowy"
|
||||
},
|
||||
"nzbget": {
|
||||
@@ -151,7 +151,8 @@
|
||||
"pihole": {
|
||||
"queries": "Zapytania",
|
||||
"blocked": "Zablokowane",
|
||||
"gravity": "Gravity"
|
||||
"gravity": "Grawitacja",
|
||||
"blocked_percent": "Blocked %"
|
||||
},
|
||||
"traefik": {
|
||||
"routers": "Routery",
|
||||
@@ -228,16 +229,17 @@
|
||||
"plex": {
|
||||
"streams": "Aktywne strumienie",
|
||||
"movies": "Filmy",
|
||||
"tv": "Seriale"
|
||||
"tv": "Seriale",
|
||||
"albums": "Albumy"
|
||||
},
|
||||
"glances": {
|
||||
"cpu": "Procesor",
|
||||
"mem": "Pamięć",
|
||||
"wait": "Proszę czekać",
|
||||
"temp": "TEMP",
|
||||
"uptime": "UP",
|
||||
"days": "d",
|
||||
"hours": "h"
|
||||
"uptime": "CZAS",
|
||||
"days": "dni",
|
||||
"hours": "godz"
|
||||
},
|
||||
"changedetectionio": {
|
||||
"diffsDetected": "Wykryto różnic",
|
||||
@@ -304,10 +306,10 @@
|
||||
"quicklaunch": {
|
||||
"bookmark": "Zakładka",
|
||||
"service": "Usługi",
|
||||
"search": "Search",
|
||||
"custom": "Custom",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
"search": "Wyszukaj",
|
||||
"custom": "Niestandardowe",
|
||||
"visit": "Odwiedź",
|
||||
"url": "Adres URL"
|
||||
},
|
||||
"homebridge": {
|
||||
"available_update": "System",
|
||||
@@ -317,7 +319,7 @@
|
||||
"child_bridges": "Child Bridges",
|
||||
"child_bridges_status": "{{ok}}/{{total}}",
|
||||
"up": "Up",
|
||||
"pending": "Pending",
|
||||
"pending": "Oczekujące",
|
||||
"down": "Down"
|
||||
},
|
||||
"autobrr": {
|
||||
@@ -368,7 +370,7 @@
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Powodzenie",
|
||||
"failed": "Niepowodzenie",
|
||||
"failed": "Nieudane",
|
||||
"unknown": "Nieznane"
|
||||
},
|
||||
"paperlessngx": {
|
||||
@@ -444,13 +446,13 @@
|
||||
"medusa": {
|
||||
"wanted": "Poszukiwane",
|
||||
"queued": "Zakolejkowane",
|
||||
"series": "Seria"
|
||||
"series": "Seriale"
|
||||
},
|
||||
"octoprint": {
|
||||
"printer_state": "Status",
|
||||
"temp_tool": "Tool temp",
|
||||
"temp_bed": "Bed temp",
|
||||
"job_completion": "Completion"
|
||||
"job_completion": "Ukończono"
|
||||
},
|
||||
"cloudflared": {
|
||||
"origin_ip": "Origin IP",
|
||||
@@ -460,84 +462,86 @@
|
||||
"datastore_usage": "Datastore",
|
||||
"failed_tasks_24h": "Failed Tasks 24h",
|
||||
"cpu_usage": "CPU",
|
||||
"memory_usage": "Memory"
|
||||
"memory_usage": "Pamięć"
|
||||
},
|
||||
"immich": {
|
||||
"users": "Users",
|
||||
"photos": "Photos",
|
||||
"videos": "Videos",
|
||||
"storage": "Storage"
|
||||
"users": "Użytkownicy",
|
||||
"photos": "Zdjęcia",
|
||||
"videos": "Filmy",
|
||||
"storage": "Pamięć"
|
||||
},
|
||||
"uptimekuma": {
|
||||
"up": "Sites Up",
|
||||
"down": "Sites Down",
|
||||
"uptime": "Uptime",
|
||||
"incident": "Incident",
|
||||
"m": "m"
|
||||
"down": "Niedziałające strony",
|
||||
"uptime": "Czas działania",
|
||||
"incident": "Incydent",
|
||||
"m": "min"
|
||||
},
|
||||
"komga": {
|
||||
"libraries": "Libraries",
|
||||
"series": "Series",
|
||||
"books": "Books"
|
||||
"libraries": "Biblioteki",
|
||||
"series": "Seriale",
|
||||
"books": "Książki"
|
||||
},
|
||||
"mylar": {
|
||||
"series": "Series",
|
||||
"issues": "Issues",
|
||||
"series": "Seriale",
|
||||
"issues": "Zgłoszenia",
|
||||
"wanted": "Wanted"
|
||||
},
|
||||
"photoprism": {
|
||||
"albums": "Albums",
|
||||
"photos": "Photos",
|
||||
"videos": "Videos",
|
||||
"people": "People"
|
||||
"albums": "Albumy",
|
||||
"photos": "Zdjęcia",
|
||||
"videos": "Filmy",
|
||||
"people": "Ludzie"
|
||||
},
|
||||
"diskstation": {
|
||||
"uptime": "Uptime",
|
||||
"volumeAvailable": "Available",
|
||||
"days": "Days"
|
||||
"uptime": "Czas działania",
|
||||
"volumeAvailable": "Dostępne",
|
||||
"days": "Dni"
|
||||
},
|
||||
"fileflows": {
|
||||
"queue": "Queue",
|
||||
"processing": "Processing",
|
||||
"queue": "Kolejka",
|
||||
"processing": "Przetwarzanie",
|
||||
"processed": "Processed",
|
||||
"time": "Time"
|
||||
"time": "Czas"
|
||||
},
|
||||
"grafana": {
|
||||
"dashboards": "Dashboards",
|
||||
"datasources": "Data Sources",
|
||||
"datasources": "Źródła danych",
|
||||
"totalalerts": "Total Alerts",
|
||||
"alertstriggered": "Alerts Triggered"
|
||||
},
|
||||
"nextcloud": {
|
||||
"cpuload": "Cpu Load",
|
||||
"memoryusage": "Memory Usage",
|
||||
"freespace": "Free Space",
|
||||
"activeusers": "Active Users"
|
||||
"cpuload": "Obciążenie CPU",
|
||||
"memoryusage": "Użycie pamięci",
|
||||
"freespace": "Wolna przestrzeń",
|
||||
"activeusers": "Aktywni użytkownicy",
|
||||
"numfiles": "Pliki",
|
||||
"numshares": "Shared Items"
|
||||
},
|
||||
"kopia": {
|
||||
"status": "Status",
|
||||
"size": "Size",
|
||||
"lastrun": "Last Run",
|
||||
"size": "Rozmiar",
|
||||
"lastrun": "Ostatnie uruchomienie",
|
||||
"nextrun": "Next Run",
|
||||
"failed": "Failed"
|
||||
"failed": "Nieudane"
|
||||
},
|
||||
"unmanic": {
|
||||
"active_workers": "Active Workers",
|
||||
"active_workers": "Aktywni pracownicy",
|
||||
"total_workers": "Total Workers",
|
||||
"records_total": "Queue Length"
|
||||
"records_total": "Długość kolejki"
|
||||
},
|
||||
"healthchecks": {
|
||||
"new": "New",
|
||||
"new": "Nowy",
|
||||
"up": "Online",
|
||||
"grace": "In Grace Period",
|
||||
"down": "Offline",
|
||||
"paused": "Paused",
|
||||
"paused": "Zatrzymane",
|
||||
"status": "Status",
|
||||
"last_ping": "Last Ping",
|
||||
"never": "No pings yet"
|
||||
},
|
||||
"pterodactyl": {
|
||||
"servers": "Servers",
|
||||
"servers": "Serwery",
|
||||
"nodes": "Nodes"
|
||||
},
|
||||
"prometheus": {
|
||||
@@ -546,21 +550,75 @@
|
||||
"targets_total": "Total Targets"
|
||||
},
|
||||
"minecraft": {
|
||||
"players": "Players",
|
||||
"version": "Version",
|
||||
"players": "Gracze",
|
||||
"version": "Wersja",
|
||||
"status": "Status",
|
||||
"up": "Online",
|
||||
"down": "Offline"
|
||||
},
|
||||
"ghostfolio": {
|
||||
"gross_percent_today": "Today",
|
||||
"gross_percent_1y": "One year",
|
||||
"gross_percent_today": "Dzisiaj",
|
||||
"gross_percent_1y": "Rok",
|
||||
"gross_percent_max": "All time"
|
||||
},
|
||||
"audiobookshelf": {
|
||||
"podcasts": "Podcasts",
|
||||
"books": "Books",
|
||||
"podcastsDuration": "Duration",
|
||||
"booksDuration": "Duration"
|
||||
"podcasts": "Podcasty",
|
||||
"books": "Książki",
|
||||
"podcastsDuration": "Czas trwania",
|
||||
"booksDuration": "Czas trwania"
|
||||
},
|
||||
"homeassistant": {
|
||||
"people_home": "People Home",
|
||||
"lights_on": "Lights On",
|
||||
"switches_on": "Switches On"
|
||||
},
|
||||
"freshrss": {
|
||||
"subscriptions": "Subskrypcje",
|
||||
"unread": "Nieprzeczytane"
|
||||
},
|
||||
"channelsdvrserver": {
|
||||
"shows": "Shows",
|
||||
"recordings": "Nagrywanie",
|
||||
"scheduled": "W kolejce",
|
||||
"passes": "Passes"
|
||||
},
|
||||
"whatsupdocker": {
|
||||
"monitoring": "Monitoring",
|
||||
"updates": "Aktualizacje"
|
||||
},
|
||||
"tailscale": {
|
||||
"address": "Address",
|
||||
"expires": "Expires",
|
||||
"never": "Never",
|
||||
"last_seen": "Last Seen",
|
||||
"now": "Now",
|
||||
"years": "{{number}}y",
|
||||
"weeks": "{{number}}w",
|
||||
"days": "{{number}}d",
|
||||
"hours": "{{number}}h",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "{{value}} Ago"
|
||||
},
|
||||
"qnap": {
|
||||
"cpuUsage": "CPU Usage",
|
||||
"memUsage": "MEM Usage",
|
||||
"systemTempC": "System Temp",
|
||||
"poolUsage": "Pool Usage"
|
||||
},
|
||||
"pfsense": {
|
||||
"load": "Load Avg",
|
||||
"memory": "Mem Usage",
|
||||
"wanStatus": "WAN Status",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"temp": "Temp",
|
||||
"disk": "Disk Usage",
|
||||
"wanIP": "WAN IP"
|
||||
},
|
||||
"caddy": {
|
||||
"upstreams": "Upstreams",
|
||||
"requests": "Current requests",
|
||||
"requests_failed": "Failed requests"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -52,10 +52,10 @@
|
||||
"load": "Carregamento",
|
||||
"cpu": "CPU",
|
||||
"mem": "MEM",
|
||||
"max": "Max",
|
||||
"max": "Máximo",
|
||||
"temp": "TEMP",
|
||||
"uptime": "UP",
|
||||
"months": "mo",
|
||||
"uptime": "LIGADO",
|
||||
"months": "mês",
|
||||
"days": "d",
|
||||
"hours": "h",
|
||||
"minutes": "m"
|
||||
@@ -153,7 +153,8 @@
|
||||
"pihole": {
|
||||
"queries": "Consultas",
|
||||
"blocked": "Bloqueados",
|
||||
"gravity": "Gravidade"
|
||||
"gravity": "Gravidade",
|
||||
"blocked_percent": "Blocked %"
|
||||
},
|
||||
"adguard": {
|
||||
"queries": "Consultas",
|
||||
@@ -228,14 +229,15 @@
|
||||
"plex": {
|
||||
"streams": "Transmissões ativas",
|
||||
"movies": "Filmes",
|
||||
"tv": "Séries de TV"
|
||||
"tv": "Séries de TV",
|
||||
"albums": "Albums"
|
||||
},
|
||||
"glances": {
|
||||
"cpu": "CPU",
|
||||
"mem": "MEM",
|
||||
"wait": "Por favor aguarde",
|
||||
"temp": "TEMP",
|
||||
"uptime": "UP",
|
||||
"uptime": "LIGADO",
|
||||
"days": "d",
|
||||
"hours": "h"
|
||||
},
|
||||
@@ -316,9 +318,9 @@
|
||||
"up_to_date": "Atualizado",
|
||||
"child_bridges": "Pontes Filhas",
|
||||
"child_bridges_status": "{{ok}}/{{total}}",
|
||||
"up": "Up",
|
||||
"up": "Ligado",
|
||||
"pending": "Pendente",
|
||||
"down": "Down"
|
||||
"down": "Desligado"
|
||||
},
|
||||
"autobrr": {
|
||||
"approvedPushes": "Aprovado",
|
||||
@@ -512,7 +514,9 @@
|
||||
"cpuload": "Carga de CPU",
|
||||
"memoryusage": "Memória Utilizada",
|
||||
"freespace": "Espaço Livre",
|
||||
"activeusers": "Usuários Ativos"
|
||||
"activeusers": "Usuários Ativos",
|
||||
"numfiles": "Files",
|
||||
"numshares": "Shared Items"
|
||||
},
|
||||
"kopia": {
|
||||
"status": "Status",
|
||||
@@ -562,5 +566,59 @@
|
||||
"books": "Livros",
|
||||
"podcastsDuration": "Duração",
|
||||
"booksDuration": "Duração"
|
||||
},
|
||||
"homeassistant": {
|
||||
"people_home": "Pessoas em Casa",
|
||||
"lights_on": "Luzes Ligadas",
|
||||
"switches_on": "Interruptores Ligados"
|
||||
},
|
||||
"freshrss": {
|
||||
"subscriptions": "Subscriptions",
|
||||
"unread": "Unread"
|
||||
},
|
||||
"channelsdvrserver": {
|
||||
"shows": "Shows",
|
||||
"recordings": "Recordings",
|
||||
"scheduled": "Scheduled",
|
||||
"passes": "Passes"
|
||||
},
|
||||
"whatsupdocker": {
|
||||
"monitoring": "Monitoring",
|
||||
"updates": "Updates"
|
||||
},
|
||||
"tailscale": {
|
||||
"address": "Address",
|
||||
"expires": "Expires",
|
||||
"never": "Never",
|
||||
"last_seen": "Last Seen",
|
||||
"now": "Now",
|
||||
"years": "{{number}}y",
|
||||
"weeks": "{{number}}w",
|
||||
"hours": "{{number}}h",
|
||||
"days": "{{number}}d",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "{{value}} Ago"
|
||||
},
|
||||
"qnap": {
|
||||
"systemTempC": "System Temp",
|
||||
"cpuUsage": "CPU Usage",
|
||||
"memUsage": "MEM Usage",
|
||||
"poolUsage": "Pool Usage"
|
||||
},
|
||||
"pfsense": {
|
||||
"load": "Load Avg",
|
||||
"memory": "Mem Usage",
|
||||
"wanStatus": "WAN Status",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"temp": "Temp",
|
||||
"disk": "Disk Usage",
|
||||
"wanIP": "WAN IP"
|
||||
},
|
||||
"caddy": {
|
||||
"upstreams": "Upstreams",
|
||||
"requests": "Current requests",
|
||||
"requests_failed": "Failed requests"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,10 +18,10 @@
|
||||
"load": "Carga",
|
||||
"cpu": "CPU",
|
||||
"mem": "MEM",
|
||||
"max": "Max",
|
||||
"max": "Máximo",
|
||||
"temp": "TEMP",
|
||||
"uptime": "UP",
|
||||
"months": "mo",
|
||||
"uptime": "CIMA",
|
||||
"months": "mês",
|
||||
"days": "d",
|
||||
"hours": "h",
|
||||
"minutes": "m"
|
||||
@@ -92,7 +92,8 @@
|
||||
"pihole": {
|
||||
"queries": "Consultas",
|
||||
"blocked": "Bloqueado",
|
||||
"gravity": "Gravidade"
|
||||
"gravity": "Gravidade",
|
||||
"blocked_percent": "Blocked %"
|
||||
},
|
||||
"speedtest": {
|
||||
"upload": "Envio",
|
||||
@@ -241,14 +242,15 @@
|
||||
"plex": {
|
||||
"streams": "Streams Ativas",
|
||||
"movies": "Filmes",
|
||||
"tv": "Series de TV"
|
||||
"tv": "Series de TV",
|
||||
"albums": "Albums"
|
||||
},
|
||||
"glances": {
|
||||
"cpu": "CPU",
|
||||
"mem": "MEM",
|
||||
"wait": "Por favor, aguarde",
|
||||
"temp": "TEMP",
|
||||
"uptime": "UP",
|
||||
"uptime": "Cima",
|
||||
"days": "d",
|
||||
"hours": "h"
|
||||
},
|
||||
@@ -331,7 +333,7 @@
|
||||
"child_bridges_status": "{{ok}}/{{total}}",
|
||||
"up": "Up",
|
||||
"pending": "Pendente",
|
||||
"down": "Down"
|
||||
"down": "Baixo"
|
||||
},
|
||||
"autobrr": {
|
||||
"approvedPushes": "Aprovado",
|
||||
@@ -521,7 +523,9 @@
|
||||
"cpuload": "Carga de CPU",
|
||||
"memoryusage": "Memória Utilizada",
|
||||
"freespace": "Espaço Livre",
|
||||
"activeusers": "Utilizadores Ativos"
|
||||
"activeusers": "Utilizadores Ativos",
|
||||
"numfiles": "Files",
|
||||
"numshares": "Shared Items"
|
||||
},
|
||||
"kopia": {
|
||||
"status": "Estado",
|
||||
@@ -550,8 +554,8 @@
|
||||
"nodes": "Nós"
|
||||
},
|
||||
"prometheus": {
|
||||
"targets_up": "Targets Up",
|
||||
"targets_down": "Targets Down",
|
||||
"targets_up": "Alvo ativo",
|
||||
"targets_down": "Alvo inativo",
|
||||
"targets_total": "Total de Alvos"
|
||||
},
|
||||
"minecraft": {
|
||||
@@ -571,5 +575,59 @@
|
||||
"books": "Livros",
|
||||
"podcastsDuration": "Duração",
|
||||
"booksDuration": "Duração"
|
||||
},
|
||||
"homeassistant": {
|
||||
"people_home": "Pessoas em Casa",
|
||||
"lights_on": "Luzes Acesas",
|
||||
"switches_on": "Interruptores Ligados"
|
||||
},
|
||||
"freshrss": {
|
||||
"subscriptions": "Subscriptions",
|
||||
"unread": "Unread"
|
||||
},
|
||||
"channelsdvrserver": {
|
||||
"shows": "Shows",
|
||||
"recordings": "Recordings",
|
||||
"scheduled": "Scheduled",
|
||||
"passes": "Passes"
|
||||
},
|
||||
"whatsupdocker": {
|
||||
"monitoring": "Monitoring",
|
||||
"updates": "Updates"
|
||||
},
|
||||
"tailscale": {
|
||||
"address": "Address",
|
||||
"expires": "Expires",
|
||||
"never": "Never",
|
||||
"last_seen": "Last Seen",
|
||||
"now": "Now",
|
||||
"years": "{{number}}y",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "{{value}} Ago",
|
||||
"weeks": "{{number}}w",
|
||||
"days": "{{number}}d",
|
||||
"hours": "{{number}}h"
|
||||
},
|
||||
"qnap": {
|
||||
"cpuUsage": "CPU Usage",
|
||||
"memUsage": "MEM Usage",
|
||||
"systemTempC": "System Temp",
|
||||
"poolUsage": "Pool Usage"
|
||||
},
|
||||
"pfsense": {
|
||||
"load": "Load Avg",
|
||||
"memory": "Mem Usage",
|
||||
"wanIP": "WAN IP",
|
||||
"wanStatus": "WAN Status",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"temp": "Temp",
|
||||
"disk": "Disk Usage"
|
||||
},
|
||||
"caddy": {
|
||||
"upstreams": "Upstreams",
|
||||
"requests": "Current requests",
|
||||
"requests_failed": "Failed requests"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -44,7 +44,8 @@
|
||||
"pihole": {
|
||||
"queries": "Cereri",
|
||||
"blocked": "Blocate",
|
||||
"gravity": "Gravity"
|
||||
"gravity": "Gravity",
|
||||
"blocked_percent": "Blocked %"
|
||||
},
|
||||
"adguard": {
|
||||
"blocked": "Blocate",
|
||||
@@ -228,7 +229,8 @@
|
||||
"plex": {
|
||||
"streams": "Fluxuri active",
|
||||
"movies": "Filme",
|
||||
"tv": "Seriale"
|
||||
"tv": "Seriale",
|
||||
"albums": "Albums"
|
||||
},
|
||||
"glances": {
|
||||
"cpu": "Procesor",
|
||||
@@ -403,7 +405,7 @@
|
||||
},
|
||||
"common": {
|
||||
"bibyterate": "{{valoare, rata(bits: fals; binar: adevarat)}}",
|
||||
"bibitrate": "{{value, rate(bits: true; binary: true)}}"
|
||||
"bibitrate": "{{valoare, rata(biti: adevarat; binar: adevarat)}}"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Connected APs",
|
||||
@@ -512,7 +514,9 @@
|
||||
"activeusers": "Active Users",
|
||||
"cpuload": "Cpu Load",
|
||||
"memoryusage": "Memory Usage",
|
||||
"freespace": "Free Space"
|
||||
"freespace": "Free Space",
|
||||
"numfiles": "Files",
|
||||
"numshares": "Shared Items"
|
||||
},
|
||||
"kopia": {
|
||||
"status": "Status",
|
||||
@@ -562,5 +566,59 @@
|
||||
"books": "Books",
|
||||
"podcastsDuration": "Duration",
|
||||
"booksDuration": "Duration"
|
||||
},
|
||||
"homeassistant": {
|
||||
"people_home": "People Home",
|
||||
"lights_on": "Lights On",
|
||||
"switches_on": "Switches On"
|
||||
},
|
||||
"freshrss": {
|
||||
"subscriptions": "Subscriptions",
|
||||
"unread": "Unread"
|
||||
},
|
||||
"channelsdvrserver": {
|
||||
"shows": "Shows",
|
||||
"recordings": "Recordings",
|
||||
"scheduled": "Scheduled",
|
||||
"passes": "Passes"
|
||||
},
|
||||
"whatsupdocker": {
|
||||
"monitoring": "Monitoring",
|
||||
"updates": "Acutalizari"
|
||||
},
|
||||
"tailscale": {
|
||||
"address": "Address",
|
||||
"expires": "Expires",
|
||||
"never": "Never",
|
||||
"last_seen": "Last Seen",
|
||||
"now": "Now",
|
||||
"years": "{{number}}y",
|
||||
"weeks": "{{number}}w",
|
||||
"days": "{{number}}d",
|
||||
"hours": "{{number}}h",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "{{value}} Ago"
|
||||
},
|
||||
"qnap": {
|
||||
"cpuUsage": "CPU Usage",
|
||||
"memUsage": "MEM Usage",
|
||||
"systemTempC": "System Temp",
|
||||
"poolUsage": "Pool Usage"
|
||||
},
|
||||
"pfsense": {
|
||||
"load": "Load Avg",
|
||||
"memory": "Mem Usage",
|
||||
"wanStatus": "WAN Status",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"temp": "Temp",
|
||||
"disk": "Disk Usage",
|
||||
"wanIP": "WAN IP"
|
||||
},
|
||||
"caddy": {
|
||||
"upstreams": "Upstreams",
|
||||
"requests": "Current requests",
|
||||
"requests_failed": "Failed requests"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
"status": "Статус",
|
||||
"information": "Информация",
|
||||
"url": "URL",
|
||||
"raw_error": "Raw Error",
|
||||
"raw_error": "Необработанная ошибка",
|
||||
"response_data": "Данные ответа"
|
||||
},
|
||||
"search": {
|
||||
@@ -17,14 +17,14 @@
|
||||
"used": "Использовано",
|
||||
"load": "Загрузка",
|
||||
"cpu": "Процессор",
|
||||
"mem": "MEM",
|
||||
"temp": "TEMP",
|
||||
"max": "Max",
|
||||
"mem": "Память",
|
||||
"temp": "Температура",
|
||||
"max": "Макс.",
|
||||
"uptime": "UP",
|
||||
"months": "mo",
|
||||
"days": "d",
|
||||
"hours": "h",
|
||||
"minutes": "m"
|
||||
"months": "мес",
|
||||
"days": "д",
|
||||
"hours": "ч",
|
||||
"minutes": "м"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "Rx",
|
||||
@@ -34,34 +34,34 @@
|
||||
"offline": "Не в сети",
|
||||
"error": "Ошибка",
|
||||
"unknown": "Неизвестный",
|
||||
"running": "Running",
|
||||
"starting": "Starting",
|
||||
"unhealthy": "Unhealthy",
|
||||
"not_found": "Not Found",
|
||||
"exited": "Exited",
|
||||
"partial": "Partial",
|
||||
"healthy": "Healthy"
|
||||
"running": "Запущенно",
|
||||
"starting": "Запускается",
|
||||
"unhealthy": "Не живой",
|
||||
"not_found": "Не найден",
|
||||
"exited": "Существует",
|
||||
"partial": "Частично",
|
||||
"healthy": "Живой"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "Воспроизведение",
|
||||
"transcoding": "Транскодирование",
|
||||
"bitrate": "Битрейт",
|
||||
"no_active": "Нет активных потоков",
|
||||
"movies": "Movies",
|
||||
"series": "Series",
|
||||
"episodes": "Episodes",
|
||||
"songs": "Songs"
|
||||
"movies": "Фильмы",
|
||||
"series": "Сериалы",
|
||||
"episodes": "Эпизоды",
|
||||
"songs": "Песни"
|
||||
},
|
||||
"tautulli": {
|
||||
"playing": "Воспроизведение",
|
||||
"transcoding": "Транскодирование",
|
||||
"bitrate": "Битрейт",
|
||||
"no_active": "No Active Streams"
|
||||
"no_active": "Нет активных трансляций"
|
||||
},
|
||||
"rutorrent": {
|
||||
"active": "Активный",
|
||||
"upload": "Загрузить",
|
||||
"download": "Скачать"
|
||||
"upload": "Загрузка",
|
||||
"download": "Загрузка"
|
||||
},
|
||||
"sonarr": {
|
||||
"wanted": "Хотел",
|
||||
@@ -72,12 +72,12 @@
|
||||
"wanted": "Хотел",
|
||||
"queued": "В очереди",
|
||||
"movies": "Фильмы",
|
||||
"missing": "Missing"
|
||||
"missing": "Пропущено"
|
||||
},
|
||||
"readarr": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"books": "Books"
|
||||
"wanted": "Хотел",
|
||||
"queued": "В очереди",
|
||||
"books": "Книги"
|
||||
},
|
||||
"ombi": {
|
||||
"pending": "Ожидание",
|
||||
@@ -92,15 +92,16 @@
|
||||
"pihole": {
|
||||
"queries": "Запросы",
|
||||
"blocked": "Заблокировано",
|
||||
"gravity": "Сила тяжести"
|
||||
"gravity": "Сила тяжести",
|
||||
"blocked_percent": "Blocked %"
|
||||
},
|
||||
"speedtest": {
|
||||
"upload": "Загрузка",
|
||||
"download": "Скачать",
|
||||
"ping": "пинг"
|
||||
"upload": "Отдача",
|
||||
"download": "Загрузка",
|
||||
"ping": "Пинг"
|
||||
},
|
||||
"portainer": {
|
||||
"running": "Запущено",
|
||||
"running": "Запущенно",
|
||||
"stopped": "Остановлено",
|
||||
"total": "Всего"
|
||||
},
|
||||
@@ -121,92 +122,92 @@
|
||||
"updating": "Обновление"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available",
|
||||
"processing": "Processing"
|
||||
"pending": "Ожидание",
|
||||
"approved": "Одобрено",
|
||||
"available": "Доступно",
|
||||
"processing": "Обработка"
|
||||
},
|
||||
"sabnzbd": {
|
||||
"rate": "Rate",
|
||||
"queue": "Queue",
|
||||
"timeleft": "Time Left"
|
||||
"rate": "Оценка",
|
||||
"queue": "Очередь",
|
||||
"timeleft": "Осталось времени"
|
||||
},
|
||||
"nzbget": {
|
||||
"rate": "Rate",
|
||||
"remaining": "Remaining",
|
||||
"downloaded": "Downloaded"
|
||||
"rate": "Оценка",
|
||||
"remaining": "Осталось",
|
||||
"downloaded": "Загружено"
|
||||
},
|
||||
"coinmarketcap": {
|
||||
"configure": "Configure one or more crypto currencies to track",
|
||||
"1hour": "1 Hour",
|
||||
"1day": "1 Day",
|
||||
"7days": "7 Days",
|
||||
"configure": "Настройте одну или несколько криптовалют для отслеживания",
|
||||
"1hour": "1 Час",
|
||||
"1day": "1 День",
|
||||
"7days": "7 Дней",
|
||||
"30days": "30 Дней"
|
||||
},
|
||||
"gotify": {
|
||||
"apps": "Applications",
|
||||
"clients": "Clients",
|
||||
"messages": "Messages"
|
||||
"apps": "Приложения",
|
||||
"clients": "Клиенты",
|
||||
"messages": "Сообщения"
|
||||
},
|
||||
"prowlarr": {
|
||||
"enableIndexers": "Indexers",
|
||||
"numberOfGrabs": "Grabs",
|
||||
"numberOfQueries": "Queries",
|
||||
"numberOfFailGrabs": "Fail Grabs",
|
||||
"numberOfFailQueries": "Fail Queries"
|
||||
"enableIndexers": "Индексаторы",
|
||||
"numberOfGrabs": "Захваты",
|
||||
"numberOfQueries": "Запросы",
|
||||
"numberOfFailGrabs": "Неудачные захваты",
|
||||
"numberOfFailQueries": "Неудачные запросы"
|
||||
},
|
||||
"transmission": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
"download": "Загрузка",
|
||||
"upload": "Отдача",
|
||||
"leech": "Пиры",
|
||||
"seed": "Сиды"
|
||||
},
|
||||
"jackett": {
|
||||
"configured": "Configured",
|
||||
"errored": "Errored"
|
||||
"configured": "Настроено",
|
||||
"errored": "Ошибочно"
|
||||
},
|
||||
"bazarr": {
|
||||
"missingEpisodes": "Missing Episodes",
|
||||
"missingMovies": "Missing Movies"
|
||||
"missingEpisodes": "Отсутствующие эпизоды",
|
||||
"missingMovies": "Отсутствующие фильмы"
|
||||
},
|
||||
"lidarr": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"albums": "Albums"
|
||||
"wanted": "Хотел",
|
||||
"queued": "В очереди",
|
||||
"albums": "Альбомы"
|
||||
},
|
||||
"adguard": {
|
||||
"queries": "Queries",
|
||||
"blocked": "Blocked",
|
||||
"filtered": "Filtered",
|
||||
"latency": "Latency"
|
||||
"queries": "Запросы",
|
||||
"blocked": "Заблокировано",
|
||||
"filtered": "Отсортировано",
|
||||
"latency": "Задержка"
|
||||
},
|
||||
"qbittorrent": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
"download": "Загрузка",
|
||||
"upload": "Отдача",
|
||||
"leech": "Пиры",
|
||||
"seed": "Сиды"
|
||||
},
|
||||
"mastodon": {
|
||||
"user_count": "Users",
|
||||
"status_count": "Posts",
|
||||
"domain_count": "Domains"
|
||||
"user_count": "Пользователи",
|
||||
"status_count": "Посты",
|
||||
"domain_count": "Домены"
|
||||
},
|
||||
"strelaysrv": {
|
||||
"numConnections": "Connections",
|
||||
"dataRelayed": "Relayed",
|
||||
"transferRate": "Rate",
|
||||
"numActiveSessions": "Sessions"
|
||||
"numConnections": "Соединения",
|
||||
"dataRelayed": "Ретранслировано",
|
||||
"transferRate": "Оценка",
|
||||
"numActiveSessions": "Сессий"
|
||||
},
|
||||
"authentik": {
|
||||
"users": "Users",
|
||||
"loginsLast24H": "Logins (24h)",
|
||||
"failedLoginsLast24H": "Failed Logins (24h)"
|
||||
"users": "Пользователи",
|
||||
"loginsLast24H": "Входы (24ч)",
|
||||
"failedLoginsLast24H": "Неудачные входы (24ч)"
|
||||
},
|
||||
"proxmox": {
|
||||
"mem": "MEM",
|
||||
"cpu": "CPU",
|
||||
"mem": "Память",
|
||||
"cpu": "Процессор",
|
||||
"lxc": "LXC",
|
||||
"vms": "VMs"
|
||||
"vms": "Виртуальные машины"
|
||||
},
|
||||
"unifi": {
|
||||
"users": "Пользователи",
|
||||
@@ -215,151 +216,152 @@
|
||||
"wan": "WAN",
|
||||
"lan_users": "Пользователи LAN",
|
||||
"wlan_users": "Пользователи WLAN",
|
||||
"up": "UP",
|
||||
"down": "DOWN",
|
||||
"wait": "Подождите",
|
||||
"up": "Работает",
|
||||
"down": "Не работает",
|
||||
"wait": "Пожалуйста, подождите",
|
||||
"lan": "LAN",
|
||||
"wlan": "WLAN",
|
||||
"devices": "Устройства",
|
||||
"lan_devices": "Устройства подключённые по LAN",
|
||||
"wlan_devices": "WLAN Devices",
|
||||
"empty_data": "Subsystem status unknown"
|
||||
"wlan_devices": "Подключения WLAN",
|
||||
"empty_data": "Статус системы неизвестен"
|
||||
},
|
||||
"plex": {
|
||||
"streams": "Active Streams",
|
||||
"movies": "Movies",
|
||||
"tv": "TV Shows"
|
||||
"streams": "Активные трансляции",
|
||||
"movies": "Фильмы",
|
||||
"tv": "Передачи",
|
||||
"albums": "Альбомы"
|
||||
},
|
||||
"glances": {
|
||||
"cpu": "CPU",
|
||||
"mem": "MEM",
|
||||
"wait": "Please wait",
|
||||
"temp": "TEMP",
|
||||
"uptime": "UP",
|
||||
"days": "d",
|
||||
"hours": "h"
|
||||
"cpu": "Процессор",
|
||||
"mem": "Память",
|
||||
"wait": "Пожалуйста, подождите",
|
||||
"temp": "Температура",
|
||||
"uptime": "Работает",
|
||||
"days": "д",
|
||||
"hours": "ч"
|
||||
},
|
||||
"changedetectionio": {
|
||||
"totalObserved": "Всего наблюдаемых",
|
||||
"diffsDetected": "Обнаружены различия"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "Sunny",
|
||||
"0-night": "Clear",
|
||||
"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",
|
||||
"1-day": "Mainly Sunny",
|
||||
"1-night": "Mainly Clear",
|
||||
"2-day": "Partly Cloudy",
|
||||
"2-night": "Partly Cloudy",
|
||||
"3-day": "Cloudy",
|
||||
"3-night": "Cloudy",
|
||||
"45-day": "Foggy",
|
||||
"45-night": "Foggy",
|
||||
"48-day": "Foggy",
|
||||
"48-night": "Foggy",
|
||||
"51-day": "Light Drizzle",
|
||||
"51-night": "Light Drizzle",
|
||||
"53-day": "Drizzle",
|
||||
"53-night": "Drizzle",
|
||||
"55-day": "Heavy Drizzle",
|
||||
"55-night": "Heavy Drizzle",
|
||||
"56-day": "Light Freezing Drizzle",
|
||||
"56-night": "Light Freezing Drizzle",
|
||||
"57-day": "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",
|
||||
"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",
|
||||
"99-day": "Thunderstorm With Hail",
|
||||
"99-night": "Thunderstorm With Hail"
|
||||
"0-day": "Солнечно",
|
||||
"0-night": "Ясно",
|
||||
"71-night": "Лёгкий снег",
|
||||
"73-day": "Снег",
|
||||
"73-night": "Снег",
|
||||
"75-day": "Сильный снегопад",
|
||||
"75-night": "Сильный снегопад",
|
||||
"77-day": "Снежные зёрна",
|
||||
"77-night": "Снежные зёрна",
|
||||
"80-day": "Слабый дождь",
|
||||
"80-night": "Слабый дождь",
|
||||
"81-day": "Ливень",
|
||||
"1-day": "Преимущественно солнечно",
|
||||
"1-night": "Преимущественно ясно",
|
||||
"2-day": "Переменная облачность",
|
||||
"2-night": "Переменная облачность",
|
||||
"3-day": "Облачно",
|
||||
"3-night": "Облачно",
|
||||
"45-day": "Туманно",
|
||||
"45-night": "Туманно",
|
||||
"48-day": "Туманно",
|
||||
"48-night": "Туманно",
|
||||
"51-day": "Слегка моросит",
|
||||
"51-night": "Слегка моросит",
|
||||
"53-day": "Моросит",
|
||||
"53-night": "Моросит",
|
||||
"55-day": "Сильно моросит",
|
||||
"55-night": "Сильно моросит",
|
||||
"56-day": "Лёгкая изморозь",
|
||||
"56-night": "Лёгкая изморозь",
|
||||
"57-day": "Изморозь",
|
||||
"57-night": "Изморозь",
|
||||
"61-day": "Лёгкий дождь",
|
||||
"61-night": "Лёгкий дождь",
|
||||
"63-day": "Дождь",
|
||||
"63-night": "Дождь",
|
||||
"65-day": "Сильный дождь",
|
||||
"65-night": "Сильный дождь",
|
||||
"66-day": "Ледяной дождь",
|
||||
"66-night": "Ледяной дождь",
|
||||
"67-day": "Ледяной дождь",
|
||||
"67-night": "Ледяной дождь",
|
||||
"71-day": "Лёгкий снег",
|
||||
"81-night": "Ливень",
|
||||
"82-day": "Сильный ливень",
|
||||
"82-night": "Сильный ливень",
|
||||
"85-day": "Снегопад",
|
||||
"85-night": "Снегопад",
|
||||
"86-day": "Снегопад",
|
||||
"86-night": "Снегопад",
|
||||
"95-day": "Гроза",
|
||||
"95-night": "Гроза",
|
||||
"96-day": "Гроза с градом",
|
||||
"96-night": "Гроза с градом",
|
||||
"99-day": "Гроза с градом",
|
||||
"99-night": "Гроза с градом"
|
||||
},
|
||||
"quicklaunch": {
|
||||
"bookmark": "Bookmark",
|
||||
"service": "Service",
|
||||
"search": "Search",
|
||||
"custom": "Custom",
|
||||
"visit": "Visit",
|
||||
"bookmark": "Закладка",
|
||||
"service": "Сервис",
|
||||
"search": "Поиск",
|
||||
"custom": "Пользовательский",
|
||||
"visit": "Посетить",
|
||||
"url": "URL"
|
||||
},
|
||||
"homebridge": {
|
||||
"available_update": "System",
|
||||
"updates": "Updates",
|
||||
"update_available": "Update Available",
|
||||
"up_to_date": "Up to Date",
|
||||
"available_update": "Система",
|
||||
"updates": "Обновления",
|
||||
"update_available": "Доступные обновления",
|
||||
"up_to_date": "Обновлено",
|
||||
"child_bridges_status": "{{ok}}/{{total}}",
|
||||
"child_bridges": "Child Bridges",
|
||||
"up": "Up",
|
||||
"pending": "Pending",
|
||||
"down": "Down"
|
||||
"child_bridges": "Дочерние мосты",
|
||||
"up": "Включено",
|
||||
"pending": "В ожидании",
|
||||
"down": "Выключено"
|
||||
},
|
||||
"autobrr": {
|
||||
"approvedPushes": "Approved",
|
||||
"rejectedPushes": "Rejected",
|
||||
"filters": "Filters",
|
||||
"indexers": "Indexers"
|
||||
"approvedPushes": "Одобрено",
|
||||
"rejectedPushes": "Отклонено",
|
||||
"filters": "Фильтры",
|
||||
"indexers": "Индексаторы"
|
||||
},
|
||||
"watchtower": {
|
||||
"containers_scanned": "Scanned",
|
||||
"containers_updated": "Updated",
|
||||
"containers_failed": "Failed"
|
||||
"containers_scanned": "Отсканировано",
|
||||
"containers_updated": "Обновлено",
|
||||
"containers_failed": "Неудачно"
|
||||
},
|
||||
"tubearchivist": {
|
||||
"downloads": "Queue",
|
||||
"videos": "Videos",
|
||||
"channels": "Channels",
|
||||
"playlists": "Playlists"
|
||||
"downloads": "Очередь",
|
||||
"videos": "Видео",
|
||||
"channels": "Каналы",
|
||||
"playlists": "Плейлисты"
|
||||
},
|
||||
"truenas": {
|
||||
"load": "System Load",
|
||||
"uptime": "Uptime",
|
||||
"alerts": "Alerts",
|
||||
"load": "Загрузка системы",
|
||||
"uptime": "Время работы",
|
||||
"alerts": "Уведомления",
|
||||
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
|
||||
},
|
||||
"navidrome": {
|
||||
"nothing_streaming": "No Active Streams",
|
||||
"please_wait": "Please Wait"
|
||||
"nothing_streaming": "Нет активных трансляций",
|
||||
"please_wait": "Пожалуйста, подождите"
|
||||
},
|
||||
"pyload": {
|
||||
"speed": "Speed",
|
||||
"active": "Active",
|
||||
"queue": "Queue",
|
||||
"total": "Total"
|
||||
"speed": "Скорость",
|
||||
"active": "Активный",
|
||||
"queue": "Очередь",
|
||||
"total": "Всего"
|
||||
},
|
||||
"gluetun": {
|
||||
"public_ip": "Public IP",
|
||||
"region": "Region",
|
||||
"country": "Country"
|
||||
"public_ip": "Публичный IP",
|
||||
"region": "Регион",
|
||||
"country": "Страна"
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Channels",
|
||||
"channels": "Каналы",
|
||||
"hd": "HD"
|
||||
},
|
||||
"ping": {
|
||||
@@ -367,200 +369,256 @@
|
||||
"ping": "Пинг"
|
||||
},
|
||||
"scrutiny": {
|
||||
"failed": "Failed",
|
||||
"unknown": "Unknown",
|
||||
"passed": "Passed"
|
||||
"failed": "Неудачно",
|
||||
"unknown": "Неизвестный",
|
||||
"passed": "Пройдено"
|
||||
},
|
||||
"paperlessngx": {
|
||||
"inbox": "Inbox",
|
||||
"total": "Total"
|
||||
"inbox": "Входящие",
|
||||
"total": "Всего"
|
||||
},
|
||||
"deluge": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
"download": "Загрузка",
|
||||
"upload": "Отдача",
|
||||
"leech": "Пиры",
|
||||
"seed": "Сиды"
|
||||
},
|
||||
"flood": {
|
||||
"upload": "Upload",
|
||||
"download": "Download",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
"upload": "Отдача",
|
||||
"download": "Загрузка",
|
||||
"leech": "Пиры",
|
||||
"seed": "Сиды"
|
||||
},
|
||||
"tdarr": {
|
||||
"queue": "Queue",
|
||||
"processed": "Processed",
|
||||
"errored": "Errored",
|
||||
"saved": "Saved"
|
||||
"queue": "Очередь",
|
||||
"processed": "Обработано",
|
||||
"errored": "Ошибочно",
|
||||
"saved": "Сохранено"
|
||||
},
|
||||
"miniflux": {
|
||||
"read": "Read",
|
||||
"unread": "Unread"
|
||||
"read": "Прочитанные",
|
||||
"unread": "Непрочитанные"
|
||||
},
|
||||
"nextdns": {
|
||||
"wait": "Please Wait",
|
||||
"no_devices": "No Device Data Received"
|
||||
"wait": "Пожалуйста, подождите",
|
||||
"no_devices": "Данные устройства не получены"
|
||||
},
|
||||
"common": {
|
||||
"bibyterate": "{{value, rate(bits: false; binary: true)}}",
|
||||
"bibitrate": "{{value, rate(bits: true; binary: true)}}"
|
||||
},
|
||||
"omada": {
|
||||
"connectedSwitches": "Connected switches",
|
||||
"connectedAp": "Connected APs",
|
||||
"activeUser": "Active devices",
|
||||
"alerts": "Alerts",
|
||||
"connectedGateway": "Connected gateways"
|
||||
"connectedSwitches": "Подключенные свитчи",
|
||||
"connectedAp": "Подключенные точки доступа",
|
||||
"activeUser": "Активные устройства",
|
||||
"alerts": "Оповещения",
|
||||
"connectedGateway": "Подключенные шлюзы"
|
||||
},
|
||||
"downloadstation": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
"download": "Загрузка",
|
||||
"upload": "Отдача",
|
||||
"leech": "Пиры",
|
||||
"seed": "Сиды"
|
||||
},
|
||||
"mikrotik": {
|
||||
"cpuLoad": "CPU Load",
|
||||
"memoryUsed": "Memory Used",
|
||||
"uptime": "Uptime",
|
||||
"numberOfLeases": "Leases"
|
||||
"cpuLoad": "Загрузка процессора",
|
||||
"memoryUsed": "Использование памяти",
|
||||
"uptime": "Время работы",
|
||||
"numberOfLeases": "Аренды"
|
||||
},
|
||||
"xteve": {
|
||||
"streams_all": "All Streams",
|
||||
"streams_active": "Active Streams",
|
||||
"streams_xepg": "XEPG Channels"
|
||||
"streams_all": "Все трансляции",
|
||||
"streams_active": "Активные трансляции",
|
||||
"streams_xepg": "XEPG-каналы"
|
||||
},
|
||||
"opnsense": {
|
||||
"cpu": "CPU Load",
|
||||
"memory": "Active Memory",
|
||||
"wanUpload": "WAN Upload",
|
||||
"wanDownload": "WAN Download"
|
||||
"cpu": "Загрузка процессора",
|
||||
"memory": "Активная память",
|
||||
"wanUpload": "Отдача через WAN",
|
||||
"wanDownload": "Загрузка через WAN"
|
||||
},
|
||||
"moonraker": {
|
||||
"printer_state": "Printer State",
|
||||
"print_status": "Print Status",
|
||||
"print_progress": "Progress",
|
||||
"layers": "Layers"
|
||||
"printer_state": "Состояние принтера",
|
||||
"print_status": "Статус печати",
|
||||
"print_progress": "Прогресс",
|
||||
"layers": "Слои"
|
||||
},
|
||||
"medusa": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"series": "Series"
|
||||
"wanted": "Хотел",
|
||||
"queued": "В очереди",
|
||||
"series": "Сериалы"
|
||||
},
|
||||
"octoprint": {
|
||||
"printer_state": "Status",
|
||||
"temp_tool": "Tool temp",
|
||||
"temp_bed": "Bed temp",
|
||||
"job_completion": "Completion"
|
||||
"printer_state": "Статус",
|
||||
"temp_tool": "Температура инструмента",
|
||||
"temp_bed": "Температура стола",
|
||||
"job_completion": "Завершение"
|
||||
},
|
||||
"cloudflared": {
|
||||
"origin_ip": "Origin IP",
|
||||
"status": "Status"
|
||||
"origin_ip": "IP источника",
|
||||
"status": "Статус"
|
||||
},
|
||||
"proxmoxbackupserver": {
|
||||
"datastore_usage": "Datastore",
|
||||
"failed_tasks_24h": "Failed Tasks 24h",
|
||||
"cpu_usage": "CPU",
|
||||
"memory_usage": "Memory"
|
||||
"datastore_usage": "Хранилище данных",
|
||||
"failed_tasks_24h": "Неудачные задачи 24ч",
|
||||
"cpu_usage": "Процессор",
|
||||
"memory_usage": "Память"
|
||||
},
|
||||
"immich": {
|
||||
"users": "Users",
|
||||
"photos": "Photos",
|
||||
"videos": "Videos",
|
||||
"storage": "Storage"
|
||||
"users": "Пользователи",
|
||||
"photos": "Фотографии",
|
||||
"videos": "Видео",
|
||||
"storage": "Хранилище"
|
||||
},
|
||||
"uptimekuma": {
|
||||
"up": "Sites Up",
|
||||
"down": "Sites Down",
|
||||
"uptime": "Uptime",
|
||||
"incident": "Incident",
|
||||
"m": "m"
|
||||
"up": "Сайтов включено",
|
||||
"down": "Сайтов выключено",
|
||||
"uptime": "Время работы",
|
||||
"incident": "Инцидент",
|
||||
"m": "м"
|
||||
},
|
||||
"komga": {
|
||||
"libraries": "Libraries",
|
||||
"series": "Series",
|
||||
"books": "Books"
|
||||
"libraries": "Библиотеки",
|
||||
"series": "Серии",
|
||||
"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": "Активные пользователи",
|
||||
"numfiles": "Files",
|
||||
"numshares": "Shared Items"
|
||||
},
|
||||
"kopia": {
|
||||
"status": "Status",
|
||||
"size": "Size",
|
||||
"lastrun": "Last Run",
|
||||
"nextrun": "Next Run",
|
||||
"failed": "Failed"
|
||||
"status": "Статус",
|
||||
"size": "Размер",
|
||||
"lastrun": "Последний запуск",
|
||||
"nextrun": "Следующий запуск",
|
||||
"failed": "Неудачно"
|
||||
},
|
||||
"unmanic": {
|
||||
"active_workers": "Active Workers",
|
||||
"total_workers": "Total Workers",
|
||||
"records_total": "Queue Length"
|
||||
"active_workers": "Активные воркеры",
|
||||
"total_workers": "Всего воркеров",
|
||||
"records_total": "Длина запроса"
|
||||
},
|
||||
"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"
|
||||
"servers": "Сервера",
|
||||
"nodes": "Узлы"
|
||||
},
|
||||
"prometheus": {
|
||||
"targets_up": "Targets Up",
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
"targets_up": "Целей включено",
|
||||
"targets_down": "Целей выключено",
|
||||
"targets_total": "Всего целей"
|
||||
},
|
||||
"minecraft": {
|
||||
"players": "Players",
|
||||
"version": "Version",
|
||||
"status": "Status",
|
||||
"up": "Online",
|
||||
"down": "Offline"
|
||||
"players": "Игроков",
|
||||
"version": "Версия",
|
||||
"status": "Статус",
|
||||
"up": "Онлайн",
|
||||
"down": "Офлайн"
|
||||
},
|
||||
"ghostfolio": {
|
||||
"gross_percent_today": "Today",
|
||||
"gross_percent_1y": "One year",
|
||||
"gross_percent_max": "All time"
|
||||
"gross_percent_today": "Сегодня",
|
||||
"gross_percent_1y": "1 год",
|
||||
"gross_percent_max": "За всё время"
|
||||
},
|
||||
"audiobookshelf": {
|
||||
"podcasts": "Podcasts",
|
||||
"books": "Books",
|
||||
"podcastsDuration": "Duration",
|
||||
"booksDuration": "Duration"
|
||||
"podcasts": "Подкасты",
|
||||
"books": "Книги",
|
||||
"podcastsDuration": "Продолжительность",
|
||||
"booksDuration": "Продолжительность"
|
||||
},
|
||||
"homeassistant": {
|
||||
"people_home": "Людей дома",
|
||||
"lights_on": "Включено света",
|
||||
"switches_on": "Включено переключателей"
|
||||
},
|
||||
"freshrss": {
|
||||
"subscriptions": "Подписки",
|
||||
"unread": "Непрочитанные"
|
||||
},
|
||||
"channelsdvrserver": {
|
||||
"shows": "Сериалы",
|
||||
"recordings": "Записи",
|
||||
"scheduled": "Запланировано",
|
||||
"passes": "Пройдено"
|
||||
},
|
||||
"whatsupdocker": {
|
||||
"monitoring": "Мониторинг",
|
||||
"updates": "Обновления"
|
||||
},
|
||||
"tailscale": {
|
||||
"address": "Address",
|
||||
"expires": "Expires",
|
||||
"never": "Never",
|
||||
"last_seen": "Last Seen",
|
||||
"now": "Now",
|
||||
"years": "{{number}}y",
|
||||
"weeks": "{{number}}w",
|
||||
"days": "{{number}}d",
|
||||
"hours": "{{number}}h",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "{{value}} Ago"
|
||||
},
|
||||
"qnap": {
|
||||
"cpuUsage": "CPU Usage",
|
||||
"memUsage": "MEM Usage",
|
||||
"systemTempC": "System Temp",
|
||||
"poolUsage": "Pool Usage"
|
||||
},
|
||||
"pfsense": {
|
||||
"disk": "Disk Usage",
|
||||
"wanIP": "WAN IP",
|
||||
"load": "Load Avg",
|
||||
"memory": "Mem Usage",
|
||||
"wanStatus": "WAN Status",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"temp": "Temp"
|
||||
},
|
||||
"caddy": {
|
||||
"upstreams": "Upstreams",
|
||||
"requests": "Current requests",
|
||||
"requests_failed": "Failed requests"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -238,7 +238,8 @@
|
||||
"plex": {
|
||||
"streams": "Active Streams",
|
||||
"movies": "Movies",
|
||||
"tv": "TV Shows"
|
||||
"tv": "TV Shows",
|
||||
"albums": "Albums"
|
||||
},
|
||||
"sabnzbd": {
|
||||
"rate": "Rate",
|
||||
@@ -313,7 +314,8 @@
|
||||
"pihole": {
|
||||
"queries": "Queries",
|
||||
"blocked": "Blocked",
|
||||
"gravity": "Gravity"
|
||||
"gravity": "Gravity",
|
||||
"blocked_percent": "Blocked %"
|
||||
},
|
||||
"adguard": {
|
||||
"queries": "Queries",
|
||||
@@ -533,7 +535,9 @@
|
||||
"freespace": "Free Space",
|
||||
"activeusers": "Active Users",
|
||||
"cpuload": "Cpu Load",
|
||||
"memoryusage": "Memory Usage"
|
||||
"memoryusage": "Memory Usage",
|
||||
"numfiles": "Files",
|
||||
"numshares": "Shared Items"
|
||||
},
|
||||
"kopia": {
|
||||
"status": "Status",
|
||||
@@ -562,5 +566,59 @@
|
||||
"books": "Books",
|
||||
"podcastsDuration": "Duration",
|
||||
"booksDuration": "Duration"
|
||||
},
|
||||
"homeassistant": {
|
||||
"people_home": "People Home",
|
||||
"lights_on": "Lights On",
|
||||
"switches_on": "Switches On"
|
||||
},
|
||||
"freshrss": {
|
||||
"subscriptions": "Subscriptions",
|
||||
"unread": "Unread"
|
||||
},
|
||||
"channelsdvrserver": {
|
||||
"shows": "Shows",
|
||||
"recordings": "Recordings",
|
||||
"scheduled": "Scheduled",
|
||||
"passes": "Passes"
|
||||
},
|
||||
"whatsupdocker": {
|
||||
"monitoring": "Monitoring",
|
||||
"updates": "Updates"
|
||||
},
|
||||
"tailscale": {
|
||||
"address": "Address",
|
||||
"years": "{{number}}y",
|
||||
"expires": "Expires",
|
||||
"never": "Never",
|
||||
"last_seen": "Last Seen",
|
||||
"now": "Now",
|
||||
"weeks": "{{number}}w",
|
||||
"days": "{{number}}d",
|
||||
"hours": "{{number}}h",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "{{value}} Ago"
|
||||
},
|
||||
"qnap": {
|
||||
"cpuUsage": "CPU Usage",
|
||||
"memUsage": "MEM Usage",
|
||||
"systemTempC": "System Temp",
|
||||
"poolUsage": "Pool Usage"
|
||||
},
|
||||
"pfsense": {
|
||||
"load": "Load Avg",
|
||||
"memory": "Mem Usage",
|
||||
"wanStatus": "WAN Status",
|
||||
"up": "Up",
|
||||
"disk": "Disk Usage",
|
||||
"down": "Down",
|
||||
"temp": "Temp",
|
||||
"wanIP": "WAN IP"
|
||||
},
|
||||
"caddy": {
|
||||
"upstreams": "Upstreams",
|
||||
"requests": "Current requests",
|
||||
"requests_failed": "Failed requests"
|
||||
}
|
||||
}
|
||||
|
||||
624
public/locales/sl/common.json
Normal file
624
public/locales/sl/common.json
Normal file
@@ -0,0 +1,624 @@
|
||||
{
|
||||
"common": {
|
||||
"bibyterate": "{{value, rate(bits: false; binary: true)}}",
|
||||
"bibitrate": "{{value, rate(bits: true; binary: true)}}"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"available": "Na voljo",
|
||||
"pending": "V teku",
|
||||
"approved": "Odobreno"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "V teku",
|
||||
"processing": "Procesiram",
|
||||
"approved": "Odobreno",
|
||||
"available": "Na voljo"
|
||||
},
|
||||
"pihole": {
|
||||
"queries": "Poizvedbe",
|
||||
"blocked": "Blokirano",
|
||||
"gravity": "Gravitacija",
|
||||
"blocked_percent": "Blokirano %"
|
||||
},
|
||||
"adguard": {
|
||||
"filtered": "Filtrirano",
|
||||
"latency": "Zakasnitev",
|
||||
"queries": "Poizvedbe",
|
||||
"blocked": "Blokirano"
|
||||
},
|
||||
"opnsense": {
|
||||
"wanUpload": "WAN naloženo",
|
||||
"wanDownload": "WAN prejeto",
|
||||
"cpu": "CPU obremenitev",
|
||||
"memory": "Aktiven spomin"
|
||||
},
|
||||
"octoprint": {
|
||||
"temp_bed": "Temperatura postelje",
|
||||
"job_completion": "Končano",
|
||||
"printer_state": "Status",
|
||||
"temp_tool": "Temperatura orodja"
|
||||
},
|
||||
"cloudflared": {
|
||||
"origin_ip": "Izvorni IP",
|
||||
"status": "Status"
|
||||
},
|
||||
"proxmoxbackupserver": {
|
||||
"datastore_usage": "Shramba podatkov",
|
||||
"failed_tasks_24h": "Opravila z napako 24h",
|
||||
"cpu_usage": "CPU",
|
||||
"memory_usage": "Spomin"
|
||||
},
|
||||
"mylar": {
|
||||
"wanted": "Želeno",
|
||||
"series": "Serije",
|
||||
"issues": "Težave"
|
||||
},
|
||||
"photoprism": {
|
||||
"albums": "Albumi",
|
||||
"photos": "Slike",
|
||||
"videos": "Videi",
|
||||
"people": "Ljudje"
|
||||
},
|
||||
"grafana": {
|
||||
"alertstriggered": "Sproženi alarmi",
|
||||
"dashboards": "Nadzorne plošče",
|
||||
"datasources": "Viri podatkov",
|
||||
"totalalerts": "Skupaj alarmov"
|
||||
},
|
||||
"nextcloud": {
|
||||
"cpuload": "CPU obremenitev",
|
||||
"memoryusage": "Uporabljen spomin",
|
||||
"freespace": "Prostor na voljo",
|
||||
"activeusers": "Aktivni uporabniki",
|
||||
"numfiles": "Datotek",
|
||||
"numshares": "Deljeno"
|
||||
},
|
||||
"kopia": {
|
||||
"status": "Stanje",
|
||||
"size": "Velikost",
|
||||
"lastrun": "Zadnji zagon",
|
||||
"nextrun": "Naslednji zagon",
|
||||
"failed": "Neuspešno"
|
||||
},
|
||||
"pterodactyl": {
|
||||
"nodes": "Vozlišča",
|
||||
"servers": "Strežniki"
|
||||
},
|
||||
"widget": {
|
||||
"missing_type": "Manjka tip widgeta: {{type}}",
|
||||
"api_error": "API napaka",
|
||||
"information": "Informacija",
|
||||
"raw_error": "Surova napaka",
|
||||
"response_data": "Podatki iz odgovora",
|
||||
"status": "Stanje",
|
||||
"url": "URL"
|
||||
},
|
||||
"weather": {
|
||||
"current": "Trenutna lokacija",
|
||||
"allow": "Kliknite za dovolitev",
|
||||
"updating": "Posodabljam",
|
||||
"wait": "Prosimo počakajte"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Iskanje…"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "CPU",
|
||||
"mem": "MEM",
|
||||
"total": "Skupaj",
|
||||
"free": "Prosto",
|
||||
"used": "V uporabi",
|
||||
"load": "Bremenitev",
|
||||
"temp": "TEMP",
|
||||
"max": "Maks.",
|
||||
"uptime": "Gor",
|
||||
"months": "me",
|
||||
"days": "d",
|
||||
"hours": "u",
|
||||
"minutes": "u"
|
||||
},
|
||||
"unifi": {
|
||||
"devices": "Naprave",
|
||||
"lan_devices": "LAN naprave",
|
||||
"wlan_devices": "WLAN naprave",
|
||||
"lan_users": "LAN uporabniki",
|
||||
"wlan_users": "WLAN uporabniki",
|
||||
"up": "Gor",
|
||||
"down": "Dol",
|
||||
"wait": "Prosimo počakajte",
|
||||
"users": "Uporabniki",
|
||||
"uptime": "Čas delovanja",
|
||||
"days": "Dni",
|
||||
"wan": "WAN",
|
||||
"lan": "LAN",
|
||||
"wlan": "WLAN",
|
||||
"empty_data": "Neznani status podsistema"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
"tx": "TX",
|
||||
"mem": "MEM",
|
||||
"cpu": "CPU",
|
||||
"running": "Deluje",
|
||||
"offline": "Ni povezan",
|
||||
"error": "Napaka",
|
||||
"unknown": "Neznano",
|
||||
"healthy": "Zdrav",
|
||||
"starting": "Se zaganja",
|
||||
"unhealthy": "Ni zdrav",
|
||||
"not_found": "Ni najden",
|
||||
"exited": "V izhodu",
|
||||
"partial": "Delni"
|
||||
},
|
||||
"ping": {
|
||||
"error": "Napaka",
|
||||
"ping": "Ping"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "Predvaja",
|
||||
"transcoding": "Transkodira",
|
||||
"bitrate": "Pasovna širina",
|
||||
"no_active": "Ni aktivne vsebine",
|
||||
"movies": "Filmi",
|
||||
"series": "Serije",
|
||||
"episodes": "Epizode",
|
||||
"songs": "Pesmi"
|
||||
},
|
||||
"tautulli": {
|
||||
"transcoding": "Transkodira",
|
||||
"bitrate": "Pasovna širina",
|
||||
"playing": "Predvaja",
|
||||
"no_active": "Ni aktivne vsebine"
|
||||
},
|
||||
"flood": {
|
||||
"download": "Prenos",
|
||||
"upload": "Nalaganje",
|
||||
"leech": "Pijavka",
|
||||
"seed": "Sejanje"
|
||||
},
|
||||
"changedetectionio": {
|
||||
"totalObserved": "Skupaj opazovano",
|
||||
"diffsDetected": "Zaznanih sprememb"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Povezanih AP",
|
||||
"activeUser": "Aktivne naprave",
|
||||
"alerts": "Opozorila",
|
||||
"connectedGateway": "Povezan prehod",
|
||||
"connectedSwitches": "Povezana stikala"
|
||||
},
|
||||
"nzbget": {
|
||||
"rate": "Razmerje",
|
||||
"remaining": "Še preostane",
|
||||
"downloaded": "Preneseno"
|
||||
},
|
||||
"plex": {
|
||||
"streams": "Aktivna vsebina",
|
||||
"movies": "Filmi",
|
||||
"tv": "TV serije",
|
||||
"albums": "Albumi"
|
||||
},
|
||||
"sabnzbd": {
|
||||
"rate": "Hitrost",
|
||||
"queue": "Vrsta",
|
||||
"timeleft": "Preostali čas"
|
||||
},
|
||||
"rutorrent": {
|
||||
"active": "Aktiven",
|
||||
"upload": "Nalaganje",
|
||||
"download": "Prenašanje"
|
||||
},
|
||||
"transmission": {
|
||||
"download": "Prenašanje",
|
||||
"upload": "Nalaganje",
|
||||
"leech": "Pijavk",
|
||||
"seed": "Sejanje"
|
||||
},
|
||||
"qbittorrent": {
|
||||
"download": "Prenos",
|
||||
"upload": "Nalaganje",
|
||||
"leech": "Pijavk",
|
||||
"seed": "Sejanje"
|
||||
},
|
||||
"deluge": {
|
||||
"download": "Prenos",
|
||||
"upload": "Nalaganje",
|
||||
"leech": "Pijavka",
|
||||
"seed": "Sejanje"
|
||||
},
|
||||
"downloadstation": {
|
||||
"download": "Prenos",
|
||||
"upload": "Nalaganje",
|
||||
"leech": "Pijavka",
|
||||
"seed": "Sejanje"
|
||||
},
|
||||
"sonarr": {
|
||||
"wanted": "Iskano",
|
||||
"queued": "V vrsti",
|
||||
"series": "Serije"
|
||||
},
|
||||
"radarr": {
|
||||
"wanted": "Iskano",
|
||||
"missing": "Manjka",
|
||||
"queued": "V vrsti",
|
||||
"movies": "Filmi"
|
||||
},
|
||||
"lidarr": {
|
||||
"wanted": "Iskano",
|
||||
"queued": "V vrsti",
|
||||
"albums": "Albumi"
|
||||
},
|
||||
"readarr": {
|
||||
"wanted": "Iskano",
|
||||
"queued": "V vrsti",
|
||||
"books": "Knjige"
|
||||
},
|
||||
"bazarr": {
|
||||
"missingEpisodes": "Manjkajoče epizode",
|
||||
"missingMovies": "Manjkajoči filmi"
|
||||
},
|
||||
"ombi": {
|
||||
"pending": "V teku",
|
||||
"approved": "Odobreno",
|
||||
"available": "Na voljo"
|
||||
},
|
||||
"speedtest": {
|
||||
"upload": "Nalaganje",
|
||||
"download": "Prenašanje",
|
||||
"ping": "Ping"
|
||||
},
|
||||
"portainer": {
|
||||
"running": "Deluje",
|
||||
"stopped": "Ustavljen",
|
||||
"total": "Skupaj"
|
||||
},
|
||||
"tdarr": {
|
||||
"queue": "Vrsta",
|
||||
"processed": "Procesiran",
|
||||
"errored": "Z napako",
|
||||
"saved": "Shranjen"
|
||||
},
|
||||
"npm": {
|
||||
"disabled": "Onemogočen",
|
||||
"total": "Skupaj",
|
||||
"enabled": "Omogočen"
|
||||
},
|
||||
"coinmarketcap": {
|
||||
"configure": "Nastavite eno ali več kripto valut za sledenje",
|
||||
"1hour": "1 ura",
|
||||
"1day": "1 dan",
|
||||
"7days": "7 dni",
|
||||
"30days": "30 dni"
|
||||
},
|
||||
"traefik": {
|
||||
"routers": "Usmerjevalniki",
|
||||
"services": "Servisi",
|
||||
"middleware": "Vmesna programska oprema"
|
||||
},
|
||||
"gotify": {
|
||||
"apps": "Aplikacije",
|
||||
"clients": "Klienti",
|
||||
"messages": "Sporočila"
|
||||
},
|
||||
"navidrome": {
|
||||
"nothing_streaming": "Ni aktivnega pretoka",
|
||||
"please_wait": "Prosim počakajte"
|
||||
},
|
||||
"prowlarr": {
|
||||
"enableIndexers": "Indekserji",
|
||||
"numberOfGrabs": "Zajemi",
|
||||
"numberOfQueries": "Poizvedbe",
|
||||
"numberOfFailGrabs": "Neuspešni zajemi",
|
||||
"numberOfFailQueries": "Neuspešne poizvedbe"
|
||||
},
|
||||
"jackett": {
|
||||
"configured": "Nastavljeno",
|
||||
"errored": "Z napakami"
|
||||
},
|
||||
"strelaysrv": {
|
||||
"numActiveSessions": "Seje",
|
||||
"numConnections": "Povezave",
|
||||
"dataRelayed": "Preusmerjeno",
|
||||
"transferRate": "Razmerje"
|
||||
},
|
||||
"mastodon": {
|
||||
"user_count": "Uporabniki",
|
||||
"status_count": "Objave",
|
||||
"domain_count": "Domene"
|
||||
},
|
||||
"medusa": {
|
||||
"wanted": "Želeno",
|
||||
"queued": "V vrsti",
|
||||
"series": "Serije"
|
||||
},
|
||||
"minecraft": {
|
||||
"players": "Igralci",
|
||||
"version": "Verzija",
|
||||
"status": "Status",
|
||||
"up": "Na spletu",
|
||||
"down": "Brez povezave"
|
||||
},
|
||||
"miniflux": {
|
||||
"read": "Prebrano",
|
||||
"unread": "Neprebrano"
|
||||
},
|
||||
"proxmox": {
|
||||
"lxc": "LXC",
|
||||
"vms": "VM",
|
||||
"mem": "MEM",
|
||||
"cpu": "CPU"
|
||||
},
|
||||
"glances": {
|
||||
"cpu": "CPU",
|
||||
"mem": "MEM",
|
||||
"wait": "Prosim počakajte",
|
||||
"temp": "TEMP",
|
||||
"uptime": "UP",
|
||||
"days": "d",
|
||||
"hours": "u"
|
||||
},
|
||||
"authentik": {
|
||||
"users": "Uporabniki",
|
||||
"loginsLast24H": "Prijave (24h)",
|
||||
"failedLoginsLast24H": "Neveljavne prijave (24h)"
|
||||
},
|
||||
"quicklaunch": {
|
||||
"bookmark": "Zaznamek",
|
||||
"service": "Storitev",
|
||||
"search": "Iskanje",
|
||||
"custom": "Po meri",
|
||||
"url": "URL",
|
||||
"visit": "Obišči"
|
||||
},
|
||||
"wmo": {
|
||||
"3-night": "Oblačno",
|
||||
"45-day": "Megleno",
|
||||
"0-day": "Sončno",
|
||||
"0-night": "Jasno",
|
||||
"1-day": "Večinoma sončno",
|
||||
"1-night": "Večinoma jasno",
|
||||
"45-night": "Megleno",
|
||||
"2-day": "Delno oblačno",
|
||||
"2-night": "Delno oblačno",
|
||||
"3-day": "Oblačno",
|
||||
"48-day": "Megleno",
|
||||
"48-night": "Megleno",
|
||||
"51-day": "Rahlo rosenje",
|
||||
"51-night": "Rahlo rosenje",
|
||||
"53-day": "Rosenje",
|
||||
"53-night": "Rosenje",
|
||||
"55-day": "Močnejše rosenje",
|
||||
"55-night": "Močnejše rosenje",
|
||||
"56-day": "Lahko zmrzovano pršenje",
|
||||
"56-night": "Lahko zmrzovano pršenje",
|
||||
"57-day": "Zmrzovano pršenje",
|
||||
"63-night": "Dež",
|
||||
"65-day": "Močnejši dež",
|
||||
"65-night": "Močnejši dež",
|
||||
"66-day": "Zmrznjen dež",
|
||||
"66-night": "Zmrznjen dež",
|
||||
"57-night": "Zmrzovano pršenje",
|
||||
"61-day": "Rahel dež",
|
||||
"61-night": "Rahel dež",
|
||||
"67-day": "Zmrznjen dež",
|
||||
"63-day": "Dež",
|
||||
"67-night": "Zmrznjen dež",
|
||||
"71-day": "Rahlo sneženje",
|
||||
"71-night": "Rahlo sneženje",
|
||||
"73-day": "Sneg",
|
||||
"73-night": "Sneg",
|
||||
"75-day": "Močnejši sneg",
|
||||
"75-night": "Močnejši sneg",
|
||||
"77-day": "Snežna zrna",
|
||||
"77-night": "Snežna zrna",
|
||||
"80-day": "Rahlo pršenje",
|
||||
"85-night": "Snežne plohe",
|
||||
"86-day": "Snežne plohe",
|
||||
"80-night": "Rahlo pršenje",
|
||||
"81-day": "Nalivi",
|
||||
"81-night": "Nalivi",
|
||||
"82-day": "Močnejši nalivi",
|
||||
"82-night": "Močnejši nalivi",
|
||||
"85-day": "Snežne plohe",
|
||||
"86-night": "Snežne plohe",
|
||||
"95-day": "Nevihta",
|
||||
"95-night": "Nevihta",
|
||||
"96-day": "Nevihta s točo",
|
||||
"96-night": "Nevihta s točo",
|
||||
"99-day": "Nevihta s točo",
|
||||
"99-night": "Nevihta s točo"
|
||||
},
|
||||
"homebridge": {
|
||||
"child_bridges": "Otroški mostovi",
|
||||
"child_bridges_status": "{{ok}}/{{total}}",
|
||||
"up": "Gor",
|
||||
"available_update": "Sistem",
|
||||
"updates": "Posodobitve",
|
||||
"update_available": "Posodobitve na voljo",
|
||||
"up_to_date": "Posodobljeno",
|
||||
"pending": "V teku",
|
||||
"down": "Dol"
|
||||
},
|
||||
"healthchecks": {
|
||||
"new": "Nov",
|
||||
"up": "Povezan",
|
||||
"grace": "V podaljšanem roku",
|
||||
"down": "Ni povezan",
|
||||
"paused": "Pavziran",
|
||||
"status": "Status",
|
||||
"last_ping": "Zadnji Ping",
|
||||
"never": "Še ni pinga"
|
||||
},
|
||||
"watchtower": {
|
||||
"containers_scanned": "Skeniran",
|
||||
"containers_updated": "Posodobljen",
|
||||
"containers_failed": "Neuspešno"
|
||||
},
|
||||
"autobrr": {
|
||||
"approvedPushes": "Potrjen",
|
||||
"rejectedPushes": "Zavrnjen",
|
||||
"filters": "Filtri",
|
||||
"indexers": "Indekserji"
|
||||
},
|
||||
"tubearchivist": {
|
||||
"downloads": "Vrsta",
|
||||
"videos": "Videi",
|
||||
"channels": "Kanali",
|
||||
"playlists": "Seznami predvajanja"
|
||||
},
|
||||
"truenas": {
|
||||
"load": "Obremenitev sistema",
|
||||
"uptime": "Čas delovanja",
|
||||
"alerts": "Alarmi",
|
||||
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
|
||||
},
|
||||
"pyload": {
|
||||
"speed": "Hitrost",
|
||||
"active": "Aktiven",
|
||||
"queue": "V vrsti",
|
||||
"total": "Skupaj"
|
||||
},
|
||||
"gluetun": {
|
||||
"public_ip": "Javni IP",
|
||||
"region": "Regija",
|
||||
"country": "Država"
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Kanali",
|
||||
"hd": "HD"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Opravljeno",
|
||||
"failed": "Z napako",
|
||||
"unknown": "Neznano"
|
||||
},
|
||||
"paperlessngx": {
|
||||
"inbox": "Prejeto",
|
||||
"total": "Skupaj"
|
||||
},
|
||||
"nextdns": {
|
||||
"wait": "Prosim počakajte",
|
||||
"no_devices": "Podatki o napravi niso prejeti"
|
||||
},
|
||||
"mikrotik": {
|
||||
"cpuLoad": "CPU obremenitev",
|
||||
"memoryUsed": "Uporabljen spomin",
|
||||
"uptime": "Čas delovanja",
|
||||
"numberOfLeases": "Najemi"
|
||||
},
|
||||
"xteve": {
|
||||
"streams_all": "Vsi pretoki",
|
||||
"streams_active": "Aktivni pretoki",
|
||||
"streams_xepg": "XEPG kanali"
|
||||
},
|
||||
"moonraker": {
|
||||
"printer_state": "Stanje tiskalnika",
|
||||
"print_status": "Stanje tiskanja",
|
||||
"print_progress": "Napredek",
|
||||
"layers": "Sloji"
|
||||
},
|
||||
"immich": {
|
||||
"users": "Uporabniki",
|
||||
"photos": "Slike",
|
||||
"videos": "Videi",
|
||||
"storage": "Shramba"
|
||||
},
|
||||
"uptimekuma": {
|
||||
"up": "Deluje",
|
||||
"down": "Ne deluje",
|
||||
"uptime": "Čas delovanja",
|
||||
"incident": "Incident",
|
||||
"m": "m"
|
||||
},
|
||||
"komga": {
|
||||
"libraries": "Knjižnice",
|
||||
"series": "Serije",
|
||||
"books": "Knjige"
|
||||
},
|
||||
"diskstation": {
|
||||
"days": "Dni",
|
||||
"uptime": "Čas delovanja",
|
||||
"volumeAvailable": "Na voljo"
|
||||
},
|
||||
"fileflows": {
|
||||
"queue": "Vrsta",
|
||||
"processing": "Procesiram",
|
||||
"processed": "Procesirano",
|
||||
"time": "Čas"
|
||||
},
|
||||
"prometheus": {
|
||||
"targets_up": "Tarče gor",
|
||||
"targets_down": "Tarče dol",
|
||||
"targets_total": "Skupaj tarč"
|
||||
},
|
||||
"unmanic": {
|
||||
"active_workers": "Aktivne niti",
|
||||
"total_workers": "Skupaj niti",
|
||||
"records_total": "Dolžina vrste"
|
||||
},
|
||||
"ghostfolio": {
|
||||
"gross_percent_today": "Danes",
|
||||
"gross_percent_1y": "Eno leto",
|
||||
"gross_percent_max": "Celoten čas"
|
||||
},
|
||||
"audiobookshelf": {
|
||||
"podcasts": "Podcasti",
|
||||
"books": "Knjige",
|
||||
"podcastsDuration": "Trajanje",
|
||||
"booksDuration": "Trajanje"
|
||||
},
|
||||
"homeassistant": {
|
||||
"people_home": "Ljudje doma",
|
||||
"lights_on": "Vklopljene luči",
|
||||
"switches_on": "Vklopljena stikala"
|
||||
},
|
||||
"freshrss": {
|
||||
"subscriptions": "Naročnine",
|
||||
"unread": "Neprebrano"
|
||||
},
|
||||
"channelsdvrserver": {
|
||||
"shows": "Epizode",
|
||||
"recordings": "Posnetki",
|
||||
"scheduled": "Načrtovano",
|
||||
"passes": "Prehodi"
|
||||
},
|
||||
"whatsupdocker": {
|
||||
"monitoring": "Se spremlja",
|
||||
"updates": "Posodobitve"
|
||||
},
|
||||
"tailscale": {
|
||||
"address": "Naslov",
|
||||
"expires": "Poteče",
|
||||
"never": "Nikoli",
|
||||
"last_seen": "Viden",
|
||||
"now": "Sedaj",
|
||||
"years": "{{number}}l",
|
||||
"weeks": "{{number}}t",
|
||||
"days": "{{number}}d",
|
||||
"hours": "{{number}}u",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "{{value}} nazaj"
|
||||
},
|
||||
"qnap": {
|
||||
"cpuUsage": "CPU",
|
||||
"memUsage": "MEM",
|
||||
"systemTempC": "Temperatura",
|
||||
"poolUsage": "Prostor"
|
||||
},
|
||||
"pfsense": {
|
||||
"load": "Povp. obremenitev",
|
||||
"memory": "Poraba spomina",
|
||||
"wanStatus": "WAN Status",
|
||||
"up": "Nalaganje",
|
||||
"down": "Prenašanje",
|
||||
"temp": "Temperatura",
|
||||
"disk": "Poraba diska",
|
||||
"wanIP": "WAN IP"
|
||||
},
|
||||
"caddy": {
|
||||
"upstreams": "Pretok gor",
|
||||
"requests": "Trenutnih zahtev",
|
||||
"requests_failed": "Neuspešnih zahtev"
|
||||
}
|
||||
}
|
||||
@@ -89,7 +89,8 @@
|
||||
"plex": {
|
||||
"streams": "Active Streams",
|
||||
"movies": "Movies",
|
||||
"tv": "TV Shows"
|
||||
"tv": "TV Shows",
|
||||
"albums": "Albums"
|
||||
},
|
||||
"sabnzbd": {
|
||||
"rate": "Rate",
|
||||
@@ -157,7 +158,8 @@
|
||||
"pihole": {
|
||||
"queries": "Queries",
|
||||
"blocked": "Blocked",
|
||||
"gravity": "Gravity"
|
||||
"gravity": "Gravity",
|
||||
"blocked_percent": "Blocked %"
|
||||
},
|
||||
"adguard": {
|
||||
"queries": "Queries",
|
||||
@@ -512,7 +514,9 @@
|
||||
"cpuload": "Cpu Load",
|
||||
"memoryusage": "Memory Usage",
|
||||
"freespace": "Free Space",
|
||||
"activeusers": "Active Users"
|
||||
"activeusers": "Active Users",
|
||||
"numfiles": "Files",
|
||||
"numshares": "Shared Items"
|
||||
},
|
||||
"kopia": {
|
||||
"status": "Status",
|
||||
@@ -562,5 +566,59 @@
|
||||
"books": "Books",
|
||||
"podcastsDuration": "Duration",
|
||||
"booksDuration": "Duration"
|
||||
},
|
||||
"homeassistant": {
|
||||
"people_home": "People Home",
|
||||
"lights_on": "Lights On",
|
||||
"switches_on": "Switches On"
|
||||
},
|
||||
"freshrss": {
|
||||
"subscriptions": "Subscriptions",
|
||||
"unread": "Unread"
|
||||
},
|
||||
"channelsdvrserver": {
|
||||
"shows": "Shows",
|
||||
"recordings": "Recordings",
|
||||
"scheduled": "Scheduled",
|
||||
"passes": "Passes"
|
||||
},
|
||||
"whatsupdocker": {
|
||||
"monitoring": "Monitoring",
|
||||
"updates": "Updates"
|
||||
},
|
||||
"tailscale": {
|
||||
"now": "Now",
|
||||
"years": "{{number}}y",
|
||||
"address": "Address",
|
||||
"expires": "Expires",
|
||||
"never": "Never",
|
||||
"last_seen": "Last Seen",
|
||||
"weeks": "{{number}}w",
|
||||
"days": "{{number}}d",
|
||||
"hours": "{{number}}h",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "{{value}} Ago"
|
||||
},
|
||||
"qnap": {
|
||||
"cpuUsage": "CPU Usage",
|
||||
"memUsage": "MEM Usage",
|
||||
"systemTempC": "System Temp",
|
||||
"poolUsage": "Pool Usage"
|
||||
},
|
||||
"pfsense": {
|
||||
"memory": "Mem Usage",
|
||||
"load": "Load Avg",
|
||||
"wanStatus": "WAN Status",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"temp": "Temp",
|
||||
"disk": "Disk Usage",
|
||||
"wanIP": "WAN IP"
|
||||
},
|
||||
"caddy": {
|
||||
"upstreams": "Upstreams",
|
||||
"requests": "Current requests",
|
||||
"requests_failed": "Failed requests"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -129,7 +129,8 @@
|
||||
"pihole": {
|
||||
"blocked": "Blockerad",
|
||||
"queries": "Förfrågningar",
|
||||
"gravity": "Gravity"
|
||||
"gravity": "Gravity",
|
||||
"blocked_percent": "Blocked %"
|
||||
},
|
||||
"speedtest": {
|
||||
"upload": "Uppladdning",
|
||||
@@ -228,7 +229,8 @@
|
||||
"plex": {
|
||||
"streams": "Aktiva strömmar",
|
||||
"movies": "Filmer",
|
||||
"tv": "TV-serier"
|
||||
"tv": "TV-serier",
|
||||
"albums": "Albums"
|
||||
},
|
||||
"glances": {
|
||||
"cpu": "CPU",
|
||||
@@ -512,7 +514,9 @@
|
||||
"cpuload": "Cpu Load",
|
||||
"memoryusage": "Memory Usage",
|
||||
"freespace": "Free Space",
|
||||
"activeusers": "Active Users"
|
||||
"activeusers": "Active Users",
|
||||
"numfiles": "Files",
|
||||
"numshares": "Shared Items"
|
||||
},
|
||||
"kopia": {
|
||||
"status": "Status",
|
||||
@@ -562,5 +566,59 @@
|
||||
"books": "Books",
|
||||
"podcastsDuration": "Duration",
|
||||
"booksDuration": "Duration"
|
||||
},
|
||||
"homeassistant": {
|
||||
"people_home": "People Home",
|
||||
"lights_on": "Lights On",
|
||||
"switches_on": "Switches On"
|
||||
},
|
||||
"freshrss": {
|
||||
"subscriptions": "Subscriptions",
|
||||
"unread": "Unread"
|
||||
},
|
||||
"channelsdvrserver": {
|
||||
"shows": "Shows",
|
||||
"recordings": "Recordings",
|
||||
"scheduled": "Scheduled",
|
||||
"passes": "Passes"
|
||||
},
|
||||
"whatsupdocker": {
|
||||
"monitoring": "Monitoring",
|
||||
"updates": "Updates"
|
||||
},
|
||||
"tailscale": {
|
||||
"weeks": "{{number}}w",
|
||||
"days": "{{number}}d",
|
||||
"hours": "{{number}}h",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"address": "Address",
|
||||
"expires": "Expires",
|
||||
"never": "Never",
|
||||
"last_seen": "Last Seen",
|
||||
"now": "Now",
|
||||
"years": "{{number}}y",
|
||||
"ago": "{{value}} Ago"
|
||||
},
|
||||
"qnap": {
|
||||
"cpuUsage": "CPU Usage",
|
||||
"memUsage": "MEM Usage",
|
||||
"systemTempC": "System Temp",
|
||||
"poolUsage": "Pool Usage"
|
||||
},
|
||||
"pfsense": {
|
||||
"load": "Load Avg",
|
||||
"memory": "Mem Usage",
|
||||
"wanStatus": "WAN Status",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"temp": "Temp",
|
||||
"disk": "Disk Usage",
|
||||
"wanIP": "WAN IP"
|
||||
},
|
||||
"caddy": {
|
||||
"upstreams": "Upstreams",
|
||||
"requests": "Current requests",
|
||||
"requests_failed": "Failed requests"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -147,7 +147,8 @@
|
||||
"pihole": {
|
||||
"queries": "ప్రశ్నలు",
|
||||
"blocked": "నిరోధించబడింది",
|
||||
"gravity": "గురుత్వాకర్షణ"
|
||||
"gravity": "గురుత్వాకర్షణ",
|
||||
"blocked_percent": "Blocked %"
|
||||
},
|
||||
"speedtest": {
|
||||
"upload": "అప్లోడ్",
|
||||
@@ -228,7 +229,8 @@
|
||||
"plex": {
|
||||
"streams": "యాక్టివ్ స్ట్రీమ్లు",
|
||||
"movies": "సినిమాలు",
|
||||
"tv": "దూరదర్శిని కార్యక్రమాలు"
|
||||
"tv": "దూరదర్శిని కార్యక్రమాలు",
|
||||
"albums": "Albums"
|
||||
},
|
||||
"glances": {
|
||||
"cpu": "సీపియూ",
|
||||
@@ -512,7 +514,9 @@
|
||||
"memoryusage": "Memory Usage",
|
||||
"freespace": "Free Space",
|
||||
"cpuload": "Cpu Load",
|
||||
"activeusers": "Active Users"
|
||||
"activeusers": "Active Users",
|
||||
"numfiles": "Files",
|
||||
"numshares": "Shared Items"
|
||||
},
|
||||
"kopia": {
|
||||
"status": "Status",
|
||||
@@ -562,5 +566,59 @@
|
||||
"books": "Books",
|
||||
"podcastsDuration": "Duration",
|
||||
"booksDuration": "Duration"
|
||||
},
|
||||
"homeassistant": {
|
||||
"people_home": "People Home",
|
||||
"lights_on": "Lights On",
|
||||
"switches_on": "Switches On"
|
||||
},
|
||||
"freshrss": {
|
||||
"subscriptions": "Subscriptions",
|
||||
"unread": "Unread"
|
||||
},
|
||||
"channelsdvrserver": {
|
||||
"shows": "Shows",
|
||||
"recordings": "Recordings",
|
||||
"scheduled": "Scheduled",
|
||||
"passes": "Passes"
|
||||
},
|
||||
"whatsupdocker": {
|
||||
"monitoring": "Monitoring",
|
||||
"updates": "Updates"
|
||||
},
|
||||
"tailscale": {
|
||||
"address": "Address",
|
||||
"expires": "Expires",
|
||||
"never": "Never",
|
||||
"last_seen": "Last Seen",
|
||||
"now": "Now",
|
||||
"years": "{{number}}y",
|
||||
"weeks": "{{number}}w",
|
||||
"days": "{{number}}d",
|
||||
"hours": "{{number}}h",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "{{value}} Ago"
|
||||
},
|
||||
"qnap": {
|
||||
"cpuUsage": "CPU Usage",
|
||||
"memUsage": "MEM Usage",
|
||||
"systemTempC": "System Temp",
|
||||
"poolUsage": "Pool Usage"
|
||||
},
|
||||
"pfsense": {
|
||||
"load": "Load Avg",
|
||||
"memory": "Mem Usage",
|
||||
"wanStatus": "WAN Status",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"temp": "Temp",
|
||||
"disk": "Disk Usage",
|
||||
"wanIP": "WAN IP"
|
||||
},
|
||||
"caddy": {
|
||||
"upstreams": "Upstreams",
|
||||
"requests": "Current requests",
|
||||
"requests_failed": "Failed requests"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -156,7 +156,8 @@
|
||||
"plex": {
|
||||
"streams": "Active Streams",
|
||||
"movies": "Movies",
|
||||
"tv": "TV Shows"
|
||||
"tv": "TV Shows",
|
||||
"albums": "Albums"
|
||||
},
|
||||
"sabnzbd": {
|
||||
"rate": "Rate",
|
||||
@@ -241,7 +242,8 @@
|
||||
"pihole": {
|
||||
"queries": "Queries",
|
||||
"blocked": "Blocked",
|
||||
"gravity": "Gravity"
|
||||
"gravity": "Gravity",
|
||||
"blocked_percent": "Blocked %"
|
||||
},
|
||||
"adguard": {
|
||||
"queries": "Queries",
|
||||
@@ -512,7 +514,9 @@
|
||||
"cpuload": "Cpu Load",
|
||||
"memoryusage": "Memory Usage",
|
||||
"freespace": "Free Space",
|
||||
"activeusers": "Active Users"
|
||||
"activeusers": "Active Users",
|
||||
"numfiles": "Files",
|
||||
"numshares": "Shared Items"
|
||||
},
|
||||
"kopia": {
|
||||
"status": "Status",
|
||||
@@ -562,5 +566,59 @@
|
||||
"books": "Books",
|
||||
"podcastsDuration": "Duration",
|
||||
"booksDuration": "Duration"
|
||||
},
|
||||
"homeassistant": {
|
||||
"people_home": "People Home",
|
||||
"lights_on": "Lights On",
|
||||
"switches_on": "Switches On"
|
||||
},
|
||||
"freshrss": {
|
||||
"subscriptions": "Subscriptions",
|
||||
"unread": "Unread"
|
||||
},
|
||||
"channelsdvrserver": {
|
||||
"scheduled": "Scheduled",
|
||||
"passes": "Passes",
|
||||
"shows": "Shows",
|
||||
"recordings": "Recordings"
|
||||
},
|
||||
"whatsupdocker": {
|
||||
"monitoring": "Monitoring",
|
||||
"updates": "Updates"
|
||||
},
|
||||
"tailscale": {
|
||||
"expires": "Expires",
|
||||
"never": "Never",
|
||||
"last_seen": "Last Seen",
|
||||
"now": "Now",
|
||||
"years": "{{number}}y",
|
||||
"weeks": "{{number}}w",
|
||||
"address": "Address",
|
||||
"days": "{{number}}d",
|
||||
"hours": "{{number}}h",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "{{value}} Ago"
|
||||
},
|
||||
"qnap": {
|
||||
"cpuUsage": "CPU Usage",
|
||||
"memUsage": "MEM Usage",
|
||||
"systemTempC": "System Temp",
|
||||
"poolUsage": "Pool Usage"
|
||||
},
|
||||
"pfsense": {
|
||||
"load": "Load Avg",
|
||||
"memory": "Mem Usage",
|
||||
"wanStatus": "WAN Status",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"temp": "Temp",
|
||||
"disk": "Disk Usage",
|
||||
"wanIP": "WAN IP"
|
||||
},
|
||||
"caddy": {
|
||||
"upstreams": "Upstreams",
|
||||
"requests": "Current requests",
|
||||
"requests_failed": "Failed requests"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -89,7 +89,8 @@
|
||||
"plex": {
|
||||
"streams": "Aktif Akış",
|
||||
"movies": "Filmler",
|
||||
"tv": "TV Showları"
|
||||
"tv": "TV Showları",
|
||||
"albums": "Albums"
|
||||
},
|
||||
"sabnzbd": {
|
||||
"rate": "Oran",
|
||||
@@ -157,7 +158,8 @@
|
||||
"pihole": {
|
||||
"queries": "Sorgular",
|
||||
"blocked": "Engellenen",
|
||||
"gravity": "Yer Çekimi"
|
||||
"gravity": "Yer Çekimi",
|
||||
"blocked_percent": "Blocked %"
|
||||
},
|
||||
"adguard": {
|
||||
"queries": "Sorgular",
|
||||
@@ -512,7 +514,9 @@
|
||||
"cpuload": "Cpu Load",
|
||||
"memoryusage": "Memory Usage",
|
||||
"freespace": "Free Space",
|
||||
"activeusers": "Active Users"
|
||||
"activeusers": "Active Users",
|
||||
"numfiles": "Files",
|
||||
"numshares": "Shared Items"
|
||||
},
|
||||
"kopia": {
|
||||
"status": "Status",
|
||||
@@ -562,5 +566,59 @@
|
||||
"books": "Books",
|
||||
"podcastsDuration": "Duration",
|
||||
"booksDuration": "Duration"
|
||||
},
|
||||
"homeassistant": {
|
||||
"people_home": "People Home",
|
||||
"lights_on": "Lights On",
|
||||
"switches_on": "Switches On"
|
||||
},
|
||||
"freshrss": {
|
||||
"subscriptions": "Subscriptions",
|
||||
"unread": "Unread"
|
||||
},
|
||||
"channelsdvrserver": {
|
||||
"shows": "Shows",
|
||||
"recordings": "Recordings",
|
||||
"scheduled": "Scheduled",
|
||||
"passes": "Passes"
|
||||
},
|
||||
"whatsupdocker": {
|
||||
"monitoring": "Monitoring",
|
||||
"updates": "Updates"
|
||||
},
|
||||
"tailscale": {
|
||||
"never": "Never",
|
||||
"last_seen": "Last Seen",
|
||||
"now": "Now",
|
||||
"years": "{{number}}y",
|
||||
"weeks": "{{number}}w",
|
||||
"days": "{{number}}d",
|
||||
"hours": "{{number}}h",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "{{value}} Ago",
|
||||
"address": "Address",
|
||||
"expires": "Expires"
|
||||
},
|
||||
"qnap": {
|
||||
"cpuUsage": "CPU Usage",
|
||||
"memUsage": "MEM Usage",
|
||||
"systemTempC": "System Temp",
|
||||
"poolUsage": "Pool Usage"
|
||||
},
|
||||
"pfsense": {
|
||||
"load": "Load Avg",
|
||||
"memory": "Mem Usage",
|
||||
"wanStatus": "WAN Status",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"temp": "Temp",
|
||||
"disk": "Disk Usage",
|
||||
"wanIP": "WAN IP"
|
||||
},
|
||||
"caddy": {
|
||||
"upstreams": "Upstreams",
|
||||
"requests": "Current requests",
|
||||
"requests_failed": "Failed requests"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -208,7 +208,8 @@
|
||||
"plex": {
|
||||
"streams": "Активні потоки",
|
||||
"movies": "Фільми",
|
||||
"tv": "TБ шоу"
|
||||
"tv": "TБ шоу",
|
||||
"albums": "Альбоми"
|
||||
},
|
||||
"transmission": {
|
||||
"download": "Завантаження",
|
||||
@@ -276,7 +277,8 @@
|
||||
"pihole": {
|
||||
"queries": "Запити",
|
||||
"blocked": "Заблоковано",
|
||||
"gravity": "Гравітація"
|
||||
"gravity": "Гравітація",
|
||||
"blocked_percent": "Заблоковано %"
|
||||
},
|
||||
"adguard": {
|
||||
"queries": "Запити",
|
||||
@@ -512,7 +514,9 @@
|
||||
"cpuload": "Навантаження Cpu",
|
||||
"memoryusage": "Використання пам'яті",
|
||||
"freespace": "Вільного місця",
|
||||
"activeusers": "Активні користувачі"
|
||||
"activeusers": "Активні користувачі",
|
||||
"numfiles": "Файли",
|
||||
"numshares": "Спільні елементи"
|
||||
},
|
||||
"kopia": {
|
||||
"status": "Статус",
|
||||
@@ -562,5 +566,59 @@
|
||||
"books": "Книжки",
|
||||
"podcastsDuration": "Тривалість",
|
||||
"booksDuration": "Тривалість"
|
||||
},
|
||||
"homeassistant": {
|
||||
"people_home": "Люди вдома",
|
||||
"lights_on": "Світло ввімкнено",
|
||||
"switches_on": "Вмикається"
|
||||
},
|
||||
"freshrss": {
|
||||
"subscriptions": "Передплата",
|
||||
"unread": "Не прочитано"
|
||||
},
|
||||
"channelsdvrserver": {
|
||||
"shows": "Вистави",
|
||||
"recordings": "Записи",
|
||||
"scheduled": "Заплановано",
|
||||
"passes": "Перепустки"
|
||||
},
|
||||
"whatsupdocker": {
|
||||
"monitoring": "Спостереження",
|
||||
"updates": "Оновлення"
|
||||
},
|
||||
"tailscale": {
|
||||
"address": "Адреса",
|
||||
"expires": "Дійсний до",
|
||||
"never": "Ніколи",
|
||||
"last_seen": "Востаннє у мережі",
|
||||
"now": "Зараз",
|
||||
"years": "{{number}}р",
|
||||
"weeks": "{{number}}тиж",
|
||||
"days": "{{number}}д",
|
||||
"hours": "{{number}}год",
|
||||
"minutes": "{{number}}хв",
|
||||
"seconds": "{{number}}с",
|
||||
"ago": "{{value}} тому"
|
||||
},
|
||||
"qnap": {
|
||||
"cpuUsage": "Використання CPU",
|
||||
"memUsage": "Використання пам'яті",
|
||||
"systemTempC": "Температура системи",
|
||||
"poolUsage": "Використання пулу"
|
||||
},
|
||||
"pfsense": {
|
||||
"load": "Середнє завантаження",
|
||||
"memory": "Використання пам'яті",
|
||||
"wanStatus": "Статус WAN",
|
||||
"up": "Вгору",
|
||||
"down": "Вниз",
|
||||
"temp": "Температура",
|
||||
"disk": "Використання диска",
|
||||
"wanIP": "WAN IP"
|
||||
},
|
||||
"caddy": {
|
||||
"upstreams": "Upstreams",
|
||||
"requests": "Current requests",
|
||||
"requests_failed": "Failed requests"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -92,7 +92,8 @@
|
||||
"pihole": {
|
||||
"queries": "Queries",
|
||||
"blocked": "Blocked",
|
||||
"gravity": "Gravity"
|
||||
"gravity": "Gravity",
|
||||
"blocked_percent": "Blocked %"
|
||||
},
|
||||
"speedtest": {
|
||||
"upload": "Upload",
|
||||
@@ -228,7 +229,8 @@
|
||||
"plex": {
|
||||
"streams": "Active Streams",
|
||||
"movies": "Movies",
|
||||
"tv": "TV Shows"
|
||||
"tv": "TV Shows",
|
||||
"albums": "Albums"
|
||||
},
|
||||
"glances": {
|
||||
"cpu": "CPU",
|
||||
@@ -512,7 +514,9 @@
|
||||
"cpuload": "Cpu Load",
|
||||
"memoryusage": "Memory Usage",
|
||||
"freespace": "Free Space",
|
||||
"activeusers": "Active Users"
|
||||
"activeusers": "Active Users",
|
||||
"numfiles": "Files",
|
||||
"numshares": "Shared Items"
|
||||
},
|
||||
"kopia": {
|
||||
"status": "Status",
|
||||
@@ -562,5 +566,59 @@
|
||||
"books": "Books",
|
||||
"podcastsDuration": "Duration",
|
||||
"booksDuration": "Duration"
|
||||
},
|
||||
"homeassistant": {
|
||||
"people_home": "People Home",
|
||||
"lights_on": "Lights On",
|
||||
"switches_on": "Switches On"
|
||||
},
|
||||
"freshrss": {
|
||||
"subscriptions": "Subscriptions",
|
||||
"unread": "Unread"
|
||||
},
|
||||
"channelsdvrserver": {
|
||||
"shows": "Shows",
|
||||
"recordings": "Recordings",
|
||||
"scheduled": "Scheduled",
|
||||
"passes": "Passes"
|
||||
},
|
||||
"whatsupdocker": {
|
||||
"monitoring": "Monitoring",
|
||||
"updates": "Updates"
|
||||
},
|
||||
"tailscale": {
|
||||
"address": "Address",
|
||||
"expires": "Expires",
|
||||
"never": "Never",
|
||||
"last_seen": "Last Seen",
|
||||
"hours": "{{number}}h",
|
||||
"now": "Now",
|
||||
"years": "{{number}}y",
|
||||
"weeks": "{{number}}w",
|
||||
"days": "{{number}}d",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "{{value}} Ago"
|
||||
},
|
||||
"qnap": {
|
||||
"cpuUsage": "CPU Usage",
|
||||
"memUsage": "MEM Usage",
|
||||
"systemTempC": "System Temp",
|
||||
"poolUsage": "Pool Usage"
|
||||
},
|
||||
"pfsense": {
|
||||
"load": "Load Avg",
|
||||
"memory": "Mem Usage",
|
||||
"wanStatus": "WAN Status",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"temp": "Temp",
|
||||
"disk": "Disk Usage",
|
||||
"wanIP": "WAN IP"
|
||||
},
|
||||
"caddy": {
|
||||
"upstreams": "Upstreams",
|
||||
"requests": "Current requests",
|
||||
"requests_failed": "Failed requests"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -135,7 +135,8 @@
|
||||
"pihole": {
|
||||
"queries": "查詢",
|
||||
"blocked": "封鎖",
|
||||
"gravity": "重力"
|
||||
"gravity": "重力",
|
||||
"blocked_percent": "Blocked %"
|
||||
},
|
||||
"adguard": {
|
||||
"queries": "查詢",
|
||||
@@ -228,7 +229,8 @@
|
||||
"plex": {
|
||||
"streams": "Active Streams",
|
||||
"movies": "Movies",
|
||||
"tv": "TV Shows"
|
||||
"tv": "TV Shows",
|
||||
"albums": "Albums"
|
||||
},
|
||||
"glances": {
|
||||
"cpu": "CPU",
|
||||
@@ -512,7 +514,9 @@
|
||||
"cpuload": "Cpu Load",
|
||||
"memoryusage": "Memory Usage",
|
||||
"freespace": "Free Space",
|
||||
"activeusers": "Active Users"
|
||||
"activeusers": "Active Users",
|
||||
"numfiles": "Files",
|
||||
"numshares": "Shared Items"
|
||||
},
|
||||
"kopia": {
|
||||
"lastrun": "Last Run",
|
||||
@@ -562,5 +566,59 @@
|
||||
"books": "Books",
|
||||
"podcastsDuration": "Duration",
|
||||
"booksDuration": "Duration"
|
||||
},
|
||||
"homeassistant": {
|
||||
"people_home": "People Home",
|
||||
"lights_on": "Lights On",
|
||||
"switches_on": "Switches On"
|
||||
},
|
||||
"freshrss": {
|
||||
"subscriptions": "Subscriptions",
|
||||
"unread": "Unread"
|
||||
},
|
||||
"channelsdvrserver": {
|
||||
"shows": "Shows",
|
||||
"recordings": "Recordings",
|
||||
"scheduled": "Scheduled",
|
||||
"passes": "Passes"
|
||||
},
|
||||
"whatsupdocker": {
|
||||
"monitoring": "Monitoring",
|
||||
"updates": "Updates"
|
||||
},
|
||||
"tailscale": {
|
||||
"address": "Address",
|
||||
"expires": "Expires",
|
||||
"never": "Never",
|
||||
"last_seen": "Last Seen",
|
||||
"now": "Now",
|
||||
"years": "{{number}}y",
|
||||
"weeks": "{{number}}w",
|
||||
"days": "{{number}}d",
|
||||
"hours": "{{number}}h",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "{{value}} Ago"
|
||||
},
|
||||
"qnap": {
|
||||
"systemTempC": "System Temp",
|
||||
"poolUsage": "Pool Usage",
|
||||
"cpuUsage": "CPU Usage",
|
||||
"memUsage": "MEM Usage"
|
||||
},
|
||||
"pfsense": {
|
||||
"load": "Load Avg",
|
||||
"memory": "Mem Usage",
|
||||
"wanStatus": "WAN Status",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"temp": "Temp",
|
||||
"disk": "Disk Usage",
|
||||
"wanIP": "WAN IP"
|
||||
},
|
||||
"caddy": {
|
||||
"upstreams": "Upstreams",
|
||||
"requests": "Current requests",
|
||||
"requests_failed": "Failed requests"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
"cpu": "处理器",
|
||||
"offline": "离线",
|
||||
"error": "错误",
|
||||
"unknown": "未知",
|
||||
"unknown": "未知问题",
|
||||
"starting": "启动中",
|
||||
"unhealthy": "不健康的",
|
||||
"not_found": "未找到",
|
||||
@@ -92,7 +92,8 @@
|
||||
"pihole": {
|
||||
"queries": "查询",
|
||||
"blocked": "阻止",
|
||||
"gravity": "重力"
|
||||
"gravity": "重力",
|
||||
"blocked_percent": "拦截 %"
|
||||
},
|
||||
"speedtest": {
|
||||
"upload": "上传",
|
||||
@@ -228,14 +229,15 @@
|
||||
"plex": {
|
||||
"streams": "活动流",
|
||||
"movies": "电影",
|
||||
"tv": "电视节目"
|
||||
"tv": "电视节目",
|
||||
"albums": "专辑"
|
||||
},
|
||||
"glances": {
|
||||
"cpu": "处理器",
|
||||
"mem": "内存",
|
||||
"wait": "请稍等",
|
||||
"temp": "TEMP",
|
||||
"uptime": "UP",
|
||||
"temp": "温度",
|
||||
"uptime": "运行时间",
|
||||
"days": "天",
|
||||
"hours": "时"
|
||||
},
|
||||
@@ -260,8 +262,8 @@
|
||||
"45-night": "有雾",
|
||||
"48-night": "有雾",
|
||||
"51-night": "小雨",
|
||||
"53-day": "Drizzle",
|
||||
"53-night": "Drizzle",
|
||||
"53-day": "小雨",
|
||||
"53-night": "小雨",
|
||||
"55-day": "毛毛雨",
|
||||
"55-night": "毛毛雨",
|
||||
"56-day": "小冻毛雨",
|
||||
@@ -314,7 +316,7 @@
|
||||
"updates": "更新",
|
||||
"update_available": "有可用的更新",
|
||||
"up_to_date": "Up to Date",
|
||||
"child_bridges": "Child Bridges",
|
||||
"child_bridges": "子网桥",
|
||||
"child_bridges_status": "{{ok}}/{{total}}",
|
||||
"up": "Up",
|
||||
"pending": "待定中",
|
||||
@@ -327,8 +329,8 @@
|
||||
"indexers": "索引器"
|
||||
},
|
||||
"watchtower": {
|
||||
"containers_scanned": "以扫描",
|
||||
"containers_updated": "以升级",
|
||||
"containers_scanned": "已扫描",
|
||||
"containers_updated": "已升级",
|
||||
"containers_failed": "失败"
|
||||
},
|
||||
"tubearchivist": {
|
||||
@@ -354,8 +356,8 @@
|
||||
"total": "Total"
|
||||
},
|
||||
"gluetun": {
|
||||
"public_ip": "Public IP",
|
||||
"region": "Region",
|
||||
"public_ip": "公网 IP",
|
||||
"region": "区域",
|
||||
"country": "国家"
|
||||
},
|
||||
"hdhomerun": {
|
||||
@@ -420,7 +422,7 @@
|
||||
},
|
||||
"mikrotik": {
|
||||
"cpuLoad": "处理器负载",
|
||||
"memoryUsed": "内存使用",
|
||||
"memoryUsed": "内存占用",
|
||||
"uptime": "运行时间",
|
||||
"numberOfLeases": "已连接"
|
||||
},
|
||||
@@ -447,14 +449,14 @@
|
||||
"series": "Series"
|
||||
},
|
||||
"octoprint": {
|
||||
"printer_state": "Status",
|
||||
"printer_state": "打印机状态",
|
||||
"temp_tool": "喷头温度",
|
||||
"temp_bed": "平台温度",
|
||||
"job_completion": "完成度"
|
||||
},
|
||||
"cloudflared": {
|
||||
"origin_ip": "源IP",
|
||||
"status": "Status"
|
||||
"status": "状态"
|
||||
},
|
||||
"proxmoxbackupserver": {
|
||||
"datastore_usage": "数据存储",
|
||||
@@ -510,9 +512,11 @@
|
||||
},
|
||||
"nextcloud": {
|
||||
"cpuload": "处理器负载",
|
||||
"memoryusage": "内存占用",
|
||||
"memoryusage": "内存使用",
|
||||
"freespace": "剩余空间",
|
||||
"activeusers": "活跃用户"
|
||||
"activeusers": "活跃用户",
|
||||
"numfiles": "Files",
|
||||
"numshares": "共享项目"
|
||||
},
|
||||
"kopia": {
|
||||
"status": "状态",
|
||||
@@ -541,9 +545,9 @@
|
||||
"nodes": "节点"
|
||||
},
|
||||
"prometheus": {
|
||||
"targets_up": "Targets Up",
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
"targets_up": "目标上线",
|
||||
"targets_down": "目标在线",
|
||||
"targets_total": "总目标"
|
||||
},
|
||||
"minecraft": {
|
||||
"players": "播放中",
|
||||
@@ -562,5 +566,59 @@
|
||||
"books": "图书",
|
||||
"podcastsDuration": "持续时间",
|
||||
"booksDuration": "持续时间"
|
||||
},
|
||||
"homeassistant": {
|
||||
"people_home": "People Home",
|
||||
"lights_on": "照明开",
|
||||
"switches_on": "开关开"
|
||||
},
|
||||
"freshrss": {
|
||||
"subscriptions": "订阅",
|
||||
"unread": "未读"
|
||||
},
|
||||
"channelsdvrserver": {
|
||||
"shows": "节目",
|
||||
"recordings": "录像",
|
||||
"scheduled": "已计划的",
|
||||
"passes": "通行证"
|
||||
},
|
||||
"whatsupdocker": {
|
||||
"monitoring": "监测中",
|
||||
"updates": "可更新"
|
||||
},
|
||||
"tailscale": {
|
||||
"address": "Address",
|
||||
"expires": "失效",
|
||||
"never": "从不",
|
||||
"last_seen": "最后上线",
|
||||
"days": "{{number}}d",
|
||||
"hours": "{{number}}h",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "{{value}} 以前",
|
||||
"now": "现在",
|
||||
"years": "{{number}}y",
|
||||
"weeks": "{{number}}w"
|
||||
},
|
||||
"qnap": {
|
||||
"cpuUsage": "处理器负载",
|
||||
"memUsage": "内存占用",
|
||||
"systemTempC": "系统温度",
|
||||
"poolUsage": "存储池"
|
||||
},
|
||||
"pfsense": {
|
||||
"load": "平均负载",
|
||||
"memory": "内存占用",
|
||||
"wanStatus": "WAN 状态",
|
||||
"up": "上传",
|
||||
"down": "下载",
|
||||
"temp": "温度",
|
||||
"disk": "磁盘使用",
|
||||
"wanIP": "WAN IP"
|
||||
},
|
||||
"caddy": {
|
||||
"upstreams": "上游",
|
||||
"requests": "当前请求",
|
||||
"requests_failed": "失败请求"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,8 +26,8 @@
|
||||
"starting": "啟動中",
|
||||
"unhealthy": "不健康的",
|
||||
"not_found": "未找到",
|
||||
"exited": "Exited",
|
||||
"partial": "Partial",
|
||||
"exited": "已退出",
|
||||
"partial": "部分",
|
||||
"healthy": "健康的"
|
||||
},
|
||||
"emby": {
|
||||
@@ -35,10 +35,10 @@
|
||||
"transcoding": "轉碼",
|
||||
"bitrate": "位元率",
|
||||
"no_active": "無播放活動",
|
||||
"movies": "Movies",
|
||||
"series": "Series",
|
||||
"episodes": "Episodes",
|
||||
"songs": "Songs"
|
||||
"movies": "電影",
|
||||
"series": "影集",
|
||||
"episodes": "集",
|
||||
"songs": "曲目"
|
||||
},
|
||||
"tautulli": {
|
||||
"playing": "正在播放",
|
||||
@@ -61,13 +61,13 @@
|
||||
"load": "負載",
|
||||
"cpu": "CPU",
|
||||
"mem": "記憶體",
|
||||
"temp": "TEMP",
|
||||
"max": "Max",
|
||||
"uptime": "UP",
|
||||
"months": "mo",
|
||||
"days": "d",
|
||||
"hours": "h",
|
||||
"minutes": "m"
|
||||
"temp": "溫度",
|
||||
"max": "最大",
|
||||
"uptime": "運行時間",
|
||||
"months": "月",
|
||||
"days": "天",
|
||||
"hours": "時",
|
||||
"minutes": "分"
|
||||
},
|
||||
"nzbget": {
|
||||
"rate": "速率",
|
||||
@@ -98,7 +98,7 @@
|
||||
"readarr": {
|
||||
"wanted": "關注中",
|
||||
"queued": "已加入佇列",
|
||||
"books": "書籍"
|
||||
"books": "叢書"
|
||||
},
|
||||
"ombi": {
|
||||
"pending": "待下載",
|
||||
@@ -114,7 +114,8 @@
|
||||
"pihole": {
|
||||
"queries": "查詢",
|
||||
"blocked": "已阻擋",
|
||||
"gravity": "Gravity"
|
||||
"gravity": "阻擋清單",
|
||||
"blocked_percent": "Blocked %"
|
||||
},
|
||||
"speedtest": {
|
||||
"upload": "上行速率",
|
||||
@@ -228,16 +229,17 @@
|
||||
"plex": {
|
||||
"streams": "正在播放",
|
||||
"movies": "電影",
|
||||
"tv": "影集"
|
||||
"tv": "影集",
|
||||
"albums": "專輯"
|
||||
},
|
||||
"glances": {
|
||||
"cpu": "CPU",
|
||||
"mem": "記憶體",
|
||||
"wait": "請稍後",
|
||||
"temp": "TEMP",
|
||||
"uptime": "UP",
|
||||
"days": "d",
|
||||
"hours": "h"
|
||||
"temp": "溫度",
|
||||
"uptime": "運行時間",
|
||||
"days": "天",
|
||||
"hours": "時"
|
||||
},
|
||||
"changedetectionio": {
|
||||
"totalObserved": "總監測數",
|
||||
@@ -306,8 +308,8 @@
|
||||
"service": "服務",
|
||||
"search": "搜尋",
|
||||
"custom": "自訂",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
"visit": "訪問",
|
||||
"url": "網址"
|
||||
},
|
||||
"homebridge": {
|
||||
"available_update": "系統",
|
||||
@@ -316,9 +318,9 @@
|
||||
"up_to_date": "已更新至最新",
|
||||
"child_bridges": "Child Bridges",
|
||||
"child_bridges_status": "{{ok}}/{{total}}",
|
||||
"up": "Up",
|
||||
"pending": "Pending",
|
||||
"down": "Down"
|
||||
"up": "在線",
|
||||
"pending": "處理中",
|
||||
"down": "離線"
|
||||
},
|
||||
"autobrr": {
|
||||
"approvedPushes": "已核准",
|
||||
@@ -478,7 +480,7 @@
|
||||
"komga": {
|
||||
"libraries": "文庫",
|
||||
"series": "叢刊",
|
||||
"books": "書刊"
|
||||
"books": "叢書"
|
||||
},
|
||||
"mylar": {
|
||||
"series": "系列",
|
||||
@@ -512,7 +514,9 @@
|
||||
"cpuload": "處理器負載",
|
||||
"memoryusage": "記憶體用量",
|
||||
"freespace": "可用空間",
|
||||
"activeusers": "活躍用戶"
|
||||
"activeusers": "活躍用戶",
|
||||
"numfiles": "Files",
|
||||
"numshares": "Shared Items"
|
||||
},
|
||||
"kopia": {
|
||||
"status": "狀態",
|
||||
@@ -522,9 +526,9 @@
|
||||
"failed": "失敗"
|
||||
},
|
||||
"unmanic": {
|
||||
"active_workers": "Active Workers",
|
||||
"total_workers": "Total Workers",
|
||||
"records_total": "Queue Length"
|
||||
"active_workers": "在線工作程序",
|
||||
"total_workers": "總工作程序",
|
||||
"records_total": "佇列長度"
|
||||
},
|
||||
"healthchecks": {
|
||||
"new": "新建立",
|
||||
@@ -537,30 +541,84 @@
|
||||
"never": "尚未檢查"
|
||||
},
|
||||
"pterodactyl": {
|
||||
"servers": "Servers",
|
||||
"nodes": "Nodes"
|
||||
"servers": "伺服器",
|
||||
"nodes": "節點"
|
||||
},
|
||||
"prometheus": {
|
||||
"targets_up": "Targets Up",
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
"targets_up": "目標上線",
|
||||
"targets_down": "目標離線",
|
||||
"targets_total": "目標總數"
|
||||
},
|
||||
"minecraft": {
|
||||
"players": "Players",
|
||||
"version": "Version",
|
||||
"status": "Status",
|
||||
"up": "Online",
|
||||
"down": "Offline"
|
||||
"players": "玩家",
|
||||
"version": "版本",
|
||||
"status": "狀態",
|
||||
"up": "上線",
|
||||
"down": "離線"
|
||||
},
|
||||
"ghostfolio": {
|
||||
"gross_percent_today": "Today",
|
||||
"gross_percent_1y": "One year",
|
||||
"gross_percent_max": "All time"
|
||||
"gross_percent_today": "今日",
|
||||
"gross_percent_1y": "一年",
|
||||
"gross_percent_max": "所有時間"
|
||||
},
|
||||
"audiobookshelf": {
|
||||
"podcasts": "Podcasts",
|
||||
"books": "Books",
|
||||
"podcastsDuration": "Duration",
|
||||
"booksDuration": "Duration"
|
||||
"podcasts": "播客",
|
||||
"books": "叢書",
|
||||
"podcastsDuration": "歷時",
|
||||
"booksDuration": "歷時"
|
||||
},
|
||||
"homeassistant": {
|
||||
"people_home": "在家人數",
|
||||
"lights_on": "燈亮著",
|
||||
"switches_on": "開關開著"
|
||||
},
|
||||
"freshrss": {
|
||||
"subscriptions": "訂閱",
|
||||
"unread": "未讀"
|
||||
},
|
||||
"channelsdvrserver": {
|
||||
"shows": "節目",
|
||||
"recordings": "錄影",
|
||||
"scheduled": "已排定",
|
||||
"passes": "通行證"
|
||||
},
|
||||
"whatsupdocker": {
|
||||
"monitoring": "監測中",
|
||||
"updates": "可更新"
|
||||
},
|
||||
"tailscale": {
|
||||
"address": "Address",
|
||||
"expires": "Expires",
|
||||
"never": "Never",
|
||||
"last_seen": "Last Seen",
|
||||
"now": "Now",
|
||||
"years": "{{number}}y",
|
||||
"hours": "{{number}}h",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "{{value}} Ago",
|
||||
"weeks": "{{number}}w",
|
||||
"days": "{{number}}d"
|
||||
},
|
||||
"qnap": {
|
||||
"cpuUsage": "CPU Usage",
|
||||
"memUsage": "MEM Usage",
|
||||
"systemTempC": "System Temp",
|
||||
"poolUsage": "Pool Usage"
|
||||
},
|
||||
"pfsense": {
|
||||
"load": "Load Avg",
|
||||
"memory": "Mem Usage",
|
||||
"wanStatus": "WAN Status",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"temp": "Temp",
|
||||
"disk": "Disk Usage",
|
||||
"wanIP": "WAN IP"
|
||||
},
|
||||
"caddy": {
|
||||
"upstreams": "Upstreams",
|
||||
"requests": "Current requests",
|
||||
"requests_failed": "Failed requests"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ export default function List({ bookmarks }) {
|
||||
return (
|
||||
<ul className="mt-3 flex flex-col">
|
||||
{bookmarks.map((bookmark) => (
|
||||
<Item key={bookmark.name} bookmark={bookmark} />
|
||||
<Item key={`${bookmark.name}-${bookmark.href}`} bookmark={bookmark} />
|
||||
))}
|
||||
</ul>
|
||||
);
|
||||
|
||||
@@ -161,7 +161,7 @@ export default function QuickLaunch({servicesAndBookmarks, searchString, setSear
|
||||
)} type="text" autoCorrect="false" ref={searchField} value={searchString} onChange={handleSearchChange} onKeyDown={handleSearchKeyDown} />
|
||||
{results.length > 0 && <ul className="max-h-[60vh] overflow-y-auto m-2">
|
||||
{results.map((r, i) => (
|
||||
<li key={r.name}>
|
||||
<li key={r.container ?? r.app ?? `${r.name}-${r.href}`}>
|
||||
<button type="button" data-index={i} onMouseEnter={handleItemHover} className={classNames(
|
||||
"flex flex-row w-full items-center justify-between rounded-md text-sm md:text-xl py-2 px-4 cursor-pointer text-theme-700 dark:text-theme-200",
|
||||
i === currentItemIndex && "bg-theme-300/50 dark:bg-theme-700/50",
|
||||
|
||||
@@ -1,14 +1,45 @@
|
||||
import { useContext } from "react";
|
||||
import Image from "next/future/image";
|
||||
|
||||
import { SettingsContext } from "utils/contexts/settings";
|
||||
import { ThemeContext } from "utils/contexts/theme";
|
||||
|
||||
const iconSetURLs = {
|
||||
'mdi': "https://cdn.jsdelivr.net/npm/@mdi/svg@latest/svg/",
|
||||
'si' : "https://cdn.jsdelivr.net/npm/simple-icons@latest/icons/",
|
||||
};
|
||||
|
||||
export default function ResolvedIcon({ icon, width = 32, height = 32, alt = "logo" }) {
|
||||
const { settings } = useContext(SettingsContext);
|
||||
const { theme } = useContext(ThemeContext);
|
||||
|
||||
// direct or relative URLs
|
||||
if (icon.startsWith("http") || icon.startsWith("/")) {
|
||||
return <Image src={`${icon}`} width={width} height={height} alt={alt} />;
|
||||
return (
|
||||
<Image
|
||||
src={`${icon}`}
|
||||
width={width}
|
||||
height={height}
|
||||
style={{
|
||||
width,
|
||||
height,
|
||||
objectFit: "contain",
|
||||
maxHeight: "100%",
|
||||
maxWidth: "100%",
|
||||
}}
|
||||
alt={alt}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
// mdi- prefixed, material design icons
|
||||
if (icon.startsWith("mdi-")) {
|
||||
const iconName = icon.replace("mdi-", "").replace(".svg", "");
|
||||
// check mdi- or si- prefixed icons
|
||||
const prefix = icon.split("-")[0]
|
||||
|
||||
if (prefix in iconSetURLs) {
|
||||
// get icon source
|
||||
const iconName = icon.replace(`${prefix}-`, "").replace(".svg", "");
|
||||
const iconSource = `${iconSetURLs[prefix]}${iconName}.svg`;
|
||||
|
||||
return (
|
||||
<div
|
||||
style={{
|
||||
@@ -16,21 +47,50 @@ export default function ResolvedIcon({ icon, width = 32, height = 32, alt = "log
|
||||
height,
|
||||
maxWidth: '100%',
|
||||
maxHeight: '100%',
|
||||
background: "linear-gradient(180deg, rgb(var(--color-logo-start)), rgb(var(--color-logo-stop)))",
|
||||
mask: `url(https://cdn.jsdelivr.net/npm/@mdi/svg@latest/svg/${iconName}.svg) no-repeat center / contain`,
|
||||
WebkitMask: `url(https://cdn.jsdelivr.net/npm/@mdi/svg@latest/svg/${iconName}.svg) no-repeat center / contain`,
|
||||
background: settings.iconStyle === "theme" ?
|
||||
`rgb(var(--color-${ theme === "dark" ? 300 : 900 }) / var(--tw-text-opacity, 1))` :
|
||||
"linear-gradient(180deg, rgb(var(--color-logo-start)), rgb(var(--color-logo-stop)))",
|
||||
mask: `url(${iconSource}) no-repeat center / contain`,
|
||||
WebkitMask: `url(${iconSource}) no-repeat center / contain`,
|
||||
}}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
// fallback to dashboard-icons
|
||||
if (icon.endsWith(".svg")) {
|
||||
const iconName = icon.replace(".svg", "");
|
||||
return (
|
||||
<Image
|
||||
src={`https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons/svg/${iconName}.svg`}
|
||||
width={width}
|
||||
height={height}
|
||||
style={{
|
||||
width,
|
||||
height,
|
||||
objectFit: "contain",
|
||||
maxHeight: "100%",
|
||||
maxWidth: "100%"
|
||||
}}
|
||||
alt={alt}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
const iconName = icon.replace(".png", "");
|
||||
return (
|
||||
<Image
|
||||
src={`https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons/png/${iconName}.png`}
|
||||
width={width}
|
||||
height={height}
|
||||
style={{
|
||||
width,
|
||||
height,
|
||||
objectFit: "contain",
|
||||
maxHeight: "100%",
|
||||
maxWidth: "100%"
|
||||
}}
|
||||
alt={alt}
|
||||
/>
|
||||
);
|
||||
|
||||
@@ -3,12 +3,13 @@ import classNames from "classnames";
|
||||
import List from "components/services/list";
|
||||
import ResolvedIcon from "components/resolvedicon";
|
||||
|
||||
export default function ServicesGroup({ services, layout }) {
|
||||
export default function ServicesGroup({ services, layout, fiveColumns }) {
|
||||
return (
|
||||
<div
|
||||
key={services.name}
|
||||
className={classNames(
|
||||
layout?.style === "row" ? "basis-full" : "basis-full md:basis-1/2 lg:basis-1/3 xl:basis-1/4",
|
||||
layout?.style !== "row" && fiveColumns ? "3xl:basis-1/5" : "",
|
||||
"flex-1 p-1"
|
||||
)}
|
||||
>
|
||||
|
||||
@@ -14,7 +14,8 @@ import ResolvedIcon from "components/resolvedicon";
|
||||
export default function Item({ service }) {
|
||||
const hasLink = service.href && service.href !== "#";
|
||||
const { settings } = useContext(SettingsContext);
|
||||
const [statsOpen, setStatsOpen] = useState(false);
|
||||
const showStats = (service.showStats === false) ? false : settings.showStats;
|
||||
const [statsOpen, setStatsOpen] = useState(service.showStats);
|
||||
const [statsClosing, setStatsClosing] = useState(false);
|
||||
|
||||
// set stats to closed after 300ms
|
||||
@@ -33,7 +34,7 @@ export default function Item({ service }) {
|
||||
<div
|
||||
className={`${
|
||||
hasLink ? "cursor-pointer " : " "
|
||||
}transition-all h-15 mb-3 p-1 rounded-md font-medium text-theme-700 dark:text-theme-200 dark:hover:text-theme-300 shadow-md shadow-theme-900/10 dark:shadow-theme-900/20 bg-theme-100/20 hover:bg-theme-300/20 dark:bg-white/5 dark:hover:bg-white/10 relative`}
|
||||
}transition-all h-15 mb-2 p-1 rounded-md font-medium text-theme-700 dark:text-theme-200 dark:hover:text-theme-300 shadow-md shadow-theme-900/10 dark:shadow-theme-900/20 bg-theme-100/20 hover:bg-theme-300/20 dark:bg-white/5 dark:hover:bg-white/10 relative`}
|
||||
>
|
||||
<div className="flex select-none">
|
||||
{service.icon &&
|
||||
@@ -107,21 +108,21 @@ export default function Item({ service }) {
|
||||
{service.container && service.server && (
|
||||
<div
|
||||
className={classNames(
|
||||
statsOpen && !statsClosing ? "max-h-[110px] opacity-100" : " max-h-[0] opacity-0",
|
||||
showStats || (statsOpen && !statsClosing) ? "max-h-[110px] opacity-100" : " max-h-[0] opacity-0",
|
||||
"w-full overflow-hidden transition-all duration-300 ease-in-out"
|
||||
)}
|
||||
>
|
||||
{statsOpen && <Docker service={{ widget: { container: service.container, server: service.server } }} />}
|
||||
{(showStats || statsOpen) && <Docker service={{ widget: { container: service.container, server: service.server } }} />}
|
||||
</div>
|
||||
)}
|
||||
{service.app && (
|
||||
<div
|
||||
className={classNames(
|
||||
statsOpen && !statsClosing ? "max-h-[55px] opacity-100" : " max-h-[0] opacity-0",
|
||||
showStats || (statsOpen && !statsClosing) ? "max-h-[55px] opacity-100" : " max-h-[0] opacity-0",
|
||||
"w-full overflow-hidden transition-all duration-300 ease-in-out"
|
||||
)}
|
||||
>
|
||||
{statsOpen && <Kubernetes service={{ widget: { namespace: service.namespace, app: service.app, podSelector: service.podSelector } }} />}
|
||||
{(showStats || statsOpen) && <Kubernetes service={{ widget: { namespace: service.namespace, app: service.app, podSelector: service.podSelector } }} />}
|
||||
</div>
|
||||
)}
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ export default function List({ services, layout }) {
|
||||
)}
|
||||
>
|
||||
{services.map((service) => (
|
||||
<Item key={service.name} service={service} />
|
||||
<Item key={service.container ?? service.app ?? service.name} service={service} />
|
||||
))}
|
||||
</ul>
|
||||
);
|
||||
|
||||
@@ -25,7 +25,7 @@ export default function Ping({ service }) {
|
||||
|
||||
const statusText = `${service.ping}: HTTP status ${data.status}`;
|
||||
|
||||
if (data && data.status !== 200) {
|
||||
if (data.status > 403) {
|
||||
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={statusText}>
|
||||
<div className="text-[8px] font-bold text-rose-500/80">{data.status}</div>
|
||||
@@ -33,12 +33,10 @@ export default function Ping({ service }) {
|
||||
);
|
||||
}
|
||||
|
||||
if (data && data.status === 200) {
|
||||
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={statusText}>
|
||||
<div className="text-[8px] font-bold text-emerald-500/80">{t("common.ms", { value: data.latency, style: "unit", unit: "millisecond", unitDisplay: "narrow", maximumFractionDigits: 0 })}</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
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={statusText}>
|
||||
<div className="text-[8px] font-bold text-emerald-500/80">{t("common.ms", { value: data.latency, style: "unit", unit: "millisecond", maximumFractionDigits: 0 })}</div>
|
||||
</div>
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
@@ -1,8 +1,18 @@
|
||||
import { useContext } from "react";
|
||||
|
||||
import Error from "./error";
|
||||
|
||||
import { SettingsContext } from "utils/contexts/settings";
|
||||
|
||||
export default function Container({ error = false, children, service }) {
|
||||
const { settings } = useContext(SettingsContext);
|
||||
|
||||
if (error) {
|
||||
return <Error error={error} />
|
||||
if (settings.hideErrors || service.widget.hide_errors) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return <Error service={service} error={error} />
|
||||
}
|
||||
|
||||
let visibleChildren = children;
|
||||
@@ -14,7 +24,7 @@ export default function Container({ error = false, children, service }) {
|
||||
// fields: [ "resources.cpu", "resources.mem", "field"]
|
||||
// or even
|
||||
// fields: [ "resources.cpu", "widget_type.field" ]
|
||||
visibleChildren = children.filter(child => fields.some(field => {
|
||||
visibleChildren = children?.filter(child => fields.some(field => {
|
||||
let fullField = field;
|
||||
if (!field.includes(".")) {
|
||||
fullField = `${type}.${field}`;
|
||||
@@ -23,5 +33,5 @@ export default function Container({ error = false, children, service }) {
|
||||
}));
|
||||
}
|
||||
|
||||
return <div className="relative flex flex-row w-full">{visibleChildren}</div>;
|
||||
return <div className="relative flex flex-row w-full">{visibleChildren.slice(0, 4)}</div>;
|
||||
}
|
||||
|
||||
@@ -9,12 +9,10 @@ function displayData(data) {
|
||||
return (data.type === 'Buffer') ? Buffer.from(data).toString() : JSON.stringify(data, 4);
|
||||
}
|
||||
|
||||
export default function Error({ error }) {
|
||||
export default function Error({ error: err }) {
|
||||
const { t } = useTranslation();
|
||||
|
||||
if (error?.data?.error) {
|
||||
error = error.data.error; // eslint-disable-line no-param-reassign
|
||||
}
|
||||
const { error } = err?.data ?? { error: err };
|
||||
|
||||
return (
|
||||
<details className="px-1 pb-1">
|
||||
|
||||
@@ -6,6 +6,12 @@ import { useTranslation } from "next-i18next";
|
||||
|
||||
import UsageBar from "../resources/usage-bar";
|
||||
|
||||
const cpuSensorLabels = ["cpu_thermal", "Core", "Tctl"];
|
||||
|
||||
function convertToFahrenheit(t) {
|
||||
return t * 9/5 + 32
|
||||
}
|
||||
|
||||
export default function Widget({ options }) {
|
||||
const { t, i18n } = useTranslation();
|
||||
|
||||
@@ -65,11 +71,20 @@ export default function Widget({ options }) {
|
||||
}
|
||||
|
||||
const unit = options.units === "imperial" ? "fahrenheit" : "celsius";
|
||||
let mainTemp;
|
||||
let mainTemp = 0;
|
||||
let maxTemp = 80;
|
||||
if (options.cputemp && data.sensors) {
|
||||
mainTemp = unit === "celsius" ? data.sensors.find(s => s.label.includes("cpu_thermal")).value : data.sensors.find(s => s.label.includes("cpu_thermal")).value * 5/9 + 32;
|
||||
if (data.sensors.warning) maxTemp = data.sensors.warning;
|
||||
const cpuSensors = data.sensors?.filter(s => cpuSensorLabels.some(label => s.label.startsWith(label)) && s.type === "temperature_core");
|
||||
if (options.cputemp && cpuSensors) {
|
||||
try {
|
||||
mainTemp = cpuSensors.reduce((acc, s) => acc + s.value, 0) / cpuSensors.length;
|
||||
maxTemp = Math.max(cpuSensors.reduce((acc, s) => acc + s.warning, 0) / cpuSensors.length, maxTemp);
|
||||
if (unit === "fahrenheit") {
|
||||
mainTemp = convertToFahrenheit(mainTemp);
|
||||
maxTemp = convertToFahrenheit(maxTemp);
|
||||
}
|
||||
} catch (e) {
|
||||
// cpu sensor retrieval failed
|
||||
}
|
||||
}
|
||||
const tempPercent = Math.round((mainTemp / maxTemp) * 100);
|
||||
|
||||
@@ -110,7 +125,7 @@ export default function Widget({ options }) {
|
||||
<UsageBar percent={data.quicklook.mem} />
|
||||
</div>
|
||||
</div>
|
||||
{options.cputemp && mainTemp &&
|
||||
{options.cputemp && mainTemp > 0 &&
|
||||
(<div className="flex-none flex flex-row items-center mr-3 py-1.5">
|
||||
<FaThermometerHalf className="text-theme-800 dark:text-theme-200 w-5 h-5" />
|
||||
<div className="flex flex-col ml-3 text-left min-w-[85px]">
|
||||
|
||||
@@ -6,7 +6,7 @@ import { useTranslation } from "next-i18next";
|
||||
import UsageBar from "./usage-bar";
|
||||
|
||||
function convertToFahrenheit(t) {
|
||||
return t * 5/9 + 32
|
||||
return t * 9/5 + 32
|
||||
}
|
||||
|
||||
export default function CpuTemp({ expanded, units }) {
|
||||
@@ -47,16 +47,14 @@ export default function CpuTemp({ expanded, units }) {
|
||||
);
|
||||
}
|
||||
|
||||
let minTemp = 0;
|
||||
let mainTemp = data.cputemp.main;
|
||||
if (data.cputemp.cores?.length) {
|
||||
mainTemp = data.cputemp.cores.reduce((a, b) => a + b) / data.cputemp.cores.length;
|
||||
minTemp = Math.min(...data.cputemp.cores);
|
||||
}
|
||||
const unit = units === "imperial" ? "fahrenheit" : "celsius";
|
||||
mainTemp = (unit === "celsius") ? mainTemp : convertToFahrenheit(mainTemp);
|
||||
const maxTemp = (unit === "celsius") ? data.cputemp.max : convertToFahrenheit(data.cputemp.max);
|
||||
const percent = Math.round(((mainTemp - minTemp) / (maxTemp - minTemp)) * 100);
|
||||
const percent = Math.round((mainTemp / maxTemp) * 100);
|
||||
|
||||
return (
|
||||
<div className="flex-none flex flex-row items-center mr-3 py-1.5">
|
||||
|
||||
@@ -44,7 +44,7 @@ export default function Memory({ expanded }) {
|
||||
);
|
||||
}
|
||||
|
||||
const percent = Math.round((data.memory.used / data.memory.total) * 100);
|
||||
const percent = Math.round((data.memory.active / data.memory.total) * 100);
|
||||
|
||||
return (
|
||||
<div className="flex-none flex flex-row items-center mr-3 py-1.5">
|
||||
@@ -52,7 +52,7 @@ export default function Memory({ expanded }) {
|
||||
<div className="flex flex-col ml-3 text-left min-w-[85px]">
|
||||
<span className="text-theme-800 dark:text-theme-200 text-xs flex flex-row justify-between">
|
||||
<div className="pl-0.5 pr-1">
|
||||
{t("common.bytes", { value: data.memory.free, maximumFractionDigits: 1, binary: true })}
|
||||
{t("common.bytes", { value: data.memory.available, maximumFractionDigits: 1, binary: true })}
|
||||
</div>
|
||||
<div className="pr-1">{t("resources.free")}</div>
|
||||
</span>
|
||||
|
||||
@@ -30,7 +30,7 @@ export default async function handler(req, res) {
|
||||
});
|
||||
}
|
||||
|
||||
const containerNames = containers.map((container) => container.Names[0]?.replace(/^\//, ""));
|
||||
const containerNames = containers.flatMap((container) => container.Names.map((name) => name.replace(/^\//, "")));
|
||||
const containerExists = containerNames.includes(containerName);
|
||||
|
||||
if (containerExists) {
|
||||
|
||||
@@ -30,7 +30,7 @@ export default async function handler(req, res) {
|
||||
});
|
||||
}
|
||||
|
||||
const containerNames = containers.map((container) => container.Names[0]?.replace(/^\//, ""));
|
||||
const containerNames = containers.flatMap((container) => container.Names.map((name) => name.replace(/^\//, "")));
|
||||
const containerExists = containerNames.includes(containerName);
|
||||
|
||||
if (containerExists) {
|
||||
|
||||
@@ -19,8 +19,8 @@ export default async function handler(req, res) {
|
||||
return hash(readFileSync(configYaml, "utf8"));
|
||||
});
|
||||
|
||||
// this ties hash to specific build which should force revaliation between versions
|
||||
const buildTime = process.env.NEXT_PUBLIC_BUILDTIME?.length ? process.env.NEXT_PUBLIC_BUILDTIME : '';
|
||||
// set to date by docker entrypoint, will force revalidation between restarts/recreates
|
||||
const buildTime = process.env.HOMEPAGE_BUILDTIME?.length ? process.env.HOMEPAGE_BUILDTIME : '';
|
||||
|
||||
const combinedHash = hash(hashes.join("") + buildTime);
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ export default async function handler(req, res) {
|
||||
});
|
||||
let endTime = performance.now();
|
||||
|
||||
if (status >= 400) {
|
||||
if (status > 403) {
|
||||
// try one more time as a GET in case HEAD is rejected for whatever reason
|
||||
startTime = performance.now();
|
||||
[status] = await httpProxy(pingURL);
|
||||
|
||||
@@ -286,15 +286,15 @@ function Home({ initialSettings }) {
|
||||
)}
|
||||
</div>
|
||||
|
||||
{services && (
|
||||
{services?.length > 0 && (
|
||||
<div className="flex flex-wrap p-4 sm:p-8 sm:pt-4 items-start pb-2">
|
||||
{services.map((group) => (
|
||||
<ServicesGroup key={group.name} services={group} layout={initialSettings.layout?.[group.name]} />
|
||||
<ServicesGroup key={group.name} services={group} layout={initialSettings.layout?.[group.name]} fiveColumns={settings.fiveColumns} />
|
||||
))}
|
||||
</div>
|
||||
)}
|
||||
|
||||
{bookmarks && (
|
||||
{bookmarks?.length > 0 && (
|
||||
<div className={`grow flex flex-wrap pt-0 p-4 sm:p-8 gap-2 grid-cols-1 lg:grid-cols-2 lg:grid-cols-${Math.min(6, bookmarks.length)}`}>
|
||||
{bookmarks.map((group) => (
|
||||
<BookmarksGroup key={group.name} group={group} />
|
||||
@@ -318,15 +318,26 @@ function Home({ initialSettings }) {
|
||||
|
||||
export default function Wrapper({ initialSettings, fallback }) {
|
||||
const wrappedStyle = {};
|
||||
let backgroundBlur = false;
|
||||
let backgroundSaturate = false;
|
||||
let backgroundBrightness = false;
|
||||
if (initialSettings && initialSettings.background) {
|
||||
const opacity = initialSettings.backgroundOpacity ?? 1;
|
||||
let opacity = initialSettings.backgroundOpacity ?? 1;
|
||||
let backgroundImage = initialSettings.background;
|
||||
if (typeof initialSettings.background === 'object') {
|
||||
backgroundImage = initialSettings.background.image;
|
||||
backgroundBlur = initialSettings.background.blur !== undefined;
|
||||
backgroundSaturate = initialSettings.background.saturate !== undefined;
|
||||
backgroundBrightness = initialSettings.background.brightness !== undefined;
|
||||
if (initialSettings.background.opacity !== undefined) opacity = initialSettings.background.opacity / 100;
|
||||
}
|
||||
const opacityValue = 1 - opacity;
|
||||
wrappedStyle.backgroundImage = `
|
||||
linear-gradient(
|
||||
rgb(var(--bg-color) / ${opacityValue}),
|
||||
rgb(var(--bg-color) / ${opacityValue})
|
||||
),
|
||||
url(${initialSettings.background})`;
|
||||
url(${backgroundImage})`;
|
||||
wrappedStyle.backgroundPosition = "center";
|
||||
wrappedStyle.backgroundSize = "cover";
|
||||
}
|
||||
@@ -345,7 +356,15 @@ export default function Wrapper({ initialSettings, fallback }) {
|
||||
className="fixed overflow-auto w-full h-full bg-theme-50 dark:bg-theme-800 transition-all"
|
||||
style={wrappedStyle}
|
||||
>
|
||||
<Index initialSettings={initialSettings} fallback={fallback} />
|
||||
<div
|
||||
id="inner_wrapper"
|
||||
className={classNames(
|
||||
backgroundBlur && `backdrop-blur${initialSettings.background.blur.length ? '-' : ""}${initialSettings.background.blur}`,
|
||||
backgroundSaturate && `backdrop-saturate-${initialSettings.background.saturate}`,
|
||||
backgroundBrightness && `backdrop-brightness-${initialSettings.background.brightness}`,
|
||||
)}>
|
||||
<Index initialSettings={initialSettings} fallback={fallback} />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* eslint-disable no-console */
|
||||
import { join } from "path";
|
||||
import { existsSync, copyFile, readFileSync } from "fs";
|
||||
import { existsSync, readFileSync, copyFileSync } from "fs";
|
||||
|
||||
import cache from "memory-cache";
|
||||
import yaml from "js-yaml";
|
||||
@@ -13,13 +13,13 @@ export default function checkAndCopyConfig(config) {
|
||||
const configYaml = join(process.cwd(), "config", config);
|
||||
if (!existsSync(configYaml)) {
|
||||
const configSkeleton = join(process.cwd(), "src", "skeleton", config);
|
||||
copyFile(configSkeleton, configYaml, (err) => {
|
||||
if (err) {
|
||||
try {
|
||||
copyFileSync(configSkeleton, configYaml)
|
||||
console.info("%s was copied to the config folder", config);
|
||||
} catch (err) {
|
||||
console.error("error copying config", err);
|
||||
throw err;
|
||||
}
|
||||
console.info("%s was copied to the config folder", config);
|
||||
});
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ import path from "path";
|
||||
import yaml from "js-yaml";
|
||||
import Docker from "dockerode";
|
||||
import * as shvl from "shvl";
|
||||
import { NetworkingV1Api } from "@kubernetes/client-node";
|
||||
import { CustomObjectsApi, NetworkingV1Api } from "@kubernetes/client-node";
|
||||
|
||||
import createLogger from "utils/logger";
|
||||
import checkAndCopyConfig, { substituteEnvironmentVars } from "utils/config/config";
|
||||
@@ -32,6 +32,7 @@ export async function servicesFromConfig() {
|
||||
services: servicesGroup[Object.keys(servicesGroup)[0]].map((entries) => ({
|
||||
name: Object.keys(entries)[0],
|
||||
...entries[Object.keys(entries)[0]],
|
||||
type: 'service'
|
||||
})),
|
||||
}));
|
||||
|
||||
@@ -82,6 +83,7 @@ export async function servicesFromDocker() {
|
||||
constructedService = {
|
||||
container: container.Names[0].replace(/^\//, ""),
|
||||
server: serverName,
|
||||
type: 'service'
|
||||
};
|
||||
}
|
||||
shvl.set(constructedService, label.replace("homepage.", ""), container.Labels[label]);
|
||||
@@ -145,6 +147,7 @@ export async function servicesFromKubernetes() {
|
||||
return [];
|
||||
}
|
||||
const networking = kc.makeApiClient(NetworkingV1Api);
|
||||
const crd = kc.makeApiClient(CustomObjectsApi);
|
||||
|
||||
const ingressList = await networking.listIngressForAllNamespaces(null, null, null, null)
|
||||
.then((response) => response.body)
|
||||
@@ -152,6 +155,20 @@ export async function servicesFromKubernetes() {
|
||||
logger.error("Error getting ingresses: %d %s %s", error.statusCode, error.body, error.response);
|
||||
return null;
|
||||
});
|
||||
|
||||
const traefikIngressList = await crd.listClusterCustomObject("traefik.containo.us", "v1alpha1", "ingressroutes")
|
||||
.then((response) => response.body)
|
||||
.catch((error) => {
|
||||
logger.error("Error getting traefik ingresses: %d %s %s", error.statusCode, error.body, error.response);
|
||||
return null;
|
||||
});
|
||||
|
||||
if (traefikIngressList && traefikIngressList.items.length > 0) {
|
||||
const traefikServices = traefikIngressList.items
|
||||
.filter((ingress) => ingress.metadata.annotations && ingress.metadata.annotations[`${ANNOTATION_BASE}/href`])
|
||||
ingressList.items.push(...traefikServices);
|
||||
}
|
||||
|
||||
if (!ingressList) {
|
||||
return [];
|
||||
}
|
||||
@@ -168,6 +185,7 @@ export async function servicesFromKubernetes() {
|
||||
icon: ingress.metadata.annotations[`${ANNOTATION_BASE}/icon`] || '',
|
||||
description: ingress.metadata.annotations[`${ANNOTATION_BASE}/description`] || '',
|
||||
external: false,
|
||||
type: 'service'
|
||||
};
|
||||
if (ingress.metadata.annotations[`${ANNOTATION_BASE}/external`]) {
|
||||
constructedService.external = String(ingress.metadata.annotations[`${ANNOTATION_BASE}/external`]).toLowerCase() === "true"
|
||||
@@ -221,6 +239,7 @@ export function cleanServiceGroups(groups) {
|
||||
name: serviceGroup.name,
|
||||
services: serviceGroup.services.map((service) => {
|
||||
const cleanedService = { ...service };
|
||||
if (cleanedService.showStats !== undefined) cleanedService.showStats = JSON.parse(cleanedService.showStats);
|
||||
if (typeof service.weight === 'string') {
|
||||
const weight = parseInt(service.weight, 10);
|
||||
if (Number.isNaN(weight)) {
|
||||
@@ -238,6 +257,7 @@ export function cleanServiceGroups(groups) {
|
||||
const {
|
||||
type, // all widgets
|
||||
fields,
|
||||
hideErrors,
|
||||
server, // docker widget
|
||||
container,
|
||||
currency, // coinmarketcap widget
|
||||
@@ -247,10 +267,10 @@ export function cleanServiceGroups(groups) {
|
||||
namespace, // kubernetes widget
|
||||
app,
|
||||
podSelector,
|
||||
wan, // opnsense widget,
|
||||
wan, // opnsense widget, pfsense widget
|
||||
enableBlocks, // emby/jellyfin
|
||||
enableNowPlaying,
|
||||
volume // diskstation widget
|
||||
volume, // diskstation widget
|
||||
} = cleanedService.widget;
|
||||
|
||||
const fieldsList = typeof fields === 'string' ? JSON.parse(fields) : fields;
|
||||
@@ -258,6 +278,7 @@ export function cleanServiceGroups(groups) {
|
||||
cleanedService.widget = {
|
||||
type,
|
||||
fields: fieldsList || null,
|
||||
hide_errors: hideErrors || false,
|
||||
service_name: service.name,
|
||||
service_group: serviceGroup.name,
|
||||
};
|
||||
@@ -278,12 +299,12 @@ export function cleanServiceGroups(groups) {
|
||||
if (app) cleanedService.widget.app = app;
|
||||
if (podSelector) cleanedService.widget.podSelector = podSelector;
|
||||
}
|
||||
if (type === "opnsense") {
|
||||
if (["opnsense", "pfsense"].includes(type)) {
|
||||
if (wan) cleanedService.widget.wan = wan;
|
||||
}
|
||||
if (type === "emby" || type === "jellyfin") {
|
||||
if (enableBlocks) cleanedService.widget.enableBlocks = enableBlocks === 'true';
|
||||
if (enableNowPlaying) cleanedService.widget.enableNowPlaying = enableNowPlaying === 'true';
|
||||
if (["emby", "jellyfin"].includes(type)) {
|
||||
if (enableBlocks !== undefined) cleanedService.widget.enableBlocks = JSON.parse(enableBlocks);
|
||||
if (enableNowPlaying !== undefined) cleanedService.widget.enableNowPlaying = JSON.parse(enableNowPlaying);
|
||||
}
|
||||
if (type === "diskstation") {
|
||||
if (volume) cleanedService.widget.volume = volume;
|
||||
|
||||
@@ -32,6 +32,7 @@ export default async function credentialedProxyHandler(req, res, map) {
|
||||
"authentik",
|
||||
"cloudflared",
|
||||
"ghostfolio",
|
||||
"tailscale",
|
||||
"truenas",
|
||||
"pterodactyl",
|
||||
].includes(widget.type))
|
||||
@@ -67,6 +68,10 @@ export default async function credentialedProxyHandler(req, res, map) {
|
||||
|
||||
let resultData = data;
|
||||
|
||||
if (resultData.error?.url) {
|
||||
resultData.error.url = sanitizeErrorURL(url);
|
||||
}
|
||||
|
||||
if (status === 204 || status === 304) {
|
||||
return res.status(status).end();
|
||||
}
|
||||
@@ -74,16 +79,12 @@ export default async function credentialedProxyHandler(req, res, map) {
|
||||
if (status >= 400) {
|
||||
logger.error("HTTP Error %d calling %s", status, url.toString());
|
||||
}
|
||||
|
||||
if (!validateWidgetData(widget, endpoint, data)) {
|
||||
if (data.error && data.error.url) {
|
||||
data.error.url = sanitizeErrorURL(url);
|
||||
|
||||
if (status === 200) {
|
||||
if (!validateWidgetData(widget, endpoint, resultData)) {
|
||||
return res.status(500).json({error: {message: "Invalid data", url: sanitizeErrorURL(url), data: resultData}});
|
||||
}
|
||||
return res.status(500).json({error: {message: "Invalid data", url: sanitizeErrorURL(url), data}});
|
||||
}
|
||||
|
||||
if (status === 200 && map) {
|
||||
resultData = map(data);
|
||||
if (map) resultData = map(resultData);
|
||||
}
|
||||
|
||||
if (contentType) res.setHeader("Content-Type", contentType);
|
||||
|
||||
@@ -39,15 +39,15 @@ export default async function genericProxyHandler(req, res, map) {
|
||||
|
||||
let resultData = data;
|
||||
|
||||
if (!validateWidgetData(widget, endpoint, resultData)) {
|
||||
if (resultData.error && resultData.error.url) {
|
||||
resultData.error.url = sanitizeErrorURL(url);
|
||||
}
|
||||
return res.status(status).json({error: {message: "Invalid data", url: sanitizeErrorURL(url), data: resultData}});
|
||||
if (resultData.error?.url) {
|
||||
resultData.error.url = sanitizeErrorURL(url);
|
||||
}
|
||||
|
||||
if (status === 200 && map) {
|
||||
resultData = map(data);
|
||||
|
||||
if (status === 200) {
|
||||
if (!validateWidgetData(widget, endpoint, resultData)) {
|
||||
return res.status(status).json({error: {message: "Invalid data", url: sanitizeErrorURL(url), data: resultData}});
|
||||
}
|
||||
if (map) resultData = map(resultData);
|
||||
}
|
||||
|
||||
if (contentType) res.setHeader("Content-Type", contentType);
|
||||
@@ -57,8 +57,8 @@ export default async function genericProxyHandler(req, res, map) {
|
||||
}
|
||||
|
||||
if (status >= 400) {
|
||||
logger.debug("HTTP Error %d calling %s//%s%s...", status, url.protocol, url.hostname, url.pathname);
|
||||
return res.status(status).json({error: {message: "HTTP Error", url: sanitizeErrorURL(url), data}});
|
||||
logger.debug("HTTP Error %d calling %s//%s%s%s...", status, url.protocol, url.hostname, url.port, url.pathname);
|
||||
return res.status(status).json({error: {message: "HTTP Error", url: sanitizeErrorURL(url), resultData}});
|
||||
}
|
||||
|
||||
return res.status(status).send(resultData);
|
||||
|
||||
@@ -81,7 +81,7 @@ export async function httpProxy(url, params = {}) {
|
||||
return [status, contentType, data, responseHeaders];
|
||||
}
|
||||
catch (err) {
|
||||
logger.error("Error calling %s//%s%s...", constructedUrl.protocol, constructedUrl.hostname, constructedUrl.pathname);
|
||||
logger.error("Error calling %s//%s%s%s...", constructedUrl.protocol, constructedUrl.hostname, constructedUrl.port, constructedUrl.pathname);
|
||||
logger.error(err);
|
||||
return [500, "application/json", { error: {message: err?.message ?? "Unknown error", url, rawError: err} }, null];
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ export default function useWidgetAPI(widget, ...options) {
|
||||
if (options && options[1]?.refreshInterval) {
|
||||
config.refreshInterval = options[1].refreshInterval;
|
||||
}
|
||||
const { data, error } = useSWR(formatProxyUrl(widget, ...options), config);
|
||||
const { data, error, mutate } = useSWR(formatProxyUrl(widget, ...options), config);
|
||||
// make the data error the top-level error
|
||||
return { data, error: data?.error ?? error }
|
||||
return { data, error: data?.error ?? error, mutate }
|
||||
}
|
||||
|
||||
@@ -1,21 +1,34 @@
|
||||
/* eslint-disable no-console */
|
||||
import widgets from "widgets/widgets";
|
||||
|
||||
export default function validateWidgetData(widget, endpoint, data) {
|
||||
let valid = true;
|
||||
let dataParsed;
|
||||
try {
|
||||
dataParsed = JSON.parse(data);
|
||||
} catch (e) {
|
||||
valid = false;
|
||||
let dataParsed = data;
|
||||
let error;
|
||||
let mapping;
|
||||
if (Buffer.isBuffer(data)) {
|
||||
try {
|
||||
dataParsed = JSON.parse(data);
|
||||
} catch (e) {
|
||||
error = e;
|
||||
valid = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (dataParsed && Object.entries(dataParsed).length) {
|
||||
const validate = widgets[widget.type]?.mappings?.[endpoint]?.validate;
|
||||
validate?.forEach(key => {
|
||||
if (dataParsed[key] === undefined) {
|
||||
valid = false;
|
||||
}
|
||||
});
|
||||
const mappings = widgets[widget.type]?.mappings;
|
||||
if (mappings) {
|
||||
mapping = Object.values(mappings).find(m => m.endpoint === endpoint);
|
||||
mapping?.validate?.forEach(key => {
|
||||
if (dataParsed[key] === undefined) {
|
||||
valid = false;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
if (!valid) {
|
||||
console.warn(`Invalid data for widget '${widget.type}' endpoint '${endpoint}':\nExpected:${mapping?.validate}\nParse error: ${error ?? "none"}\nData: ${JSON.stringify(data)}`);
|
||||
}
|
||||
|
||||
return valid;
|
||||
|
||||
@@ -12,7 +12,7 @@ export default function Component({ service }) {
|
||||
const { data: adguardData, error: adguardError } = useWidgetAPI(widget, "stats");
|
||||
|
||||
if (adguardError) {
|
||||
return <Container error={adguardError} />;
|
||||
return <Container service={service} error={adguardError} />;
|
||||
}
|
||||
|
||||
if (!adguardData) {
|
||||
|
||||
@@ -12,7 +12,7 @@ export default function Component({ service }) {
|
||||
|
||||
|
||||
if (librariesError) {
|
||||
return <Container error={librariesError} />;
|
||||
return <Container service={service} error={librariesError} />;
|
||||
}
|
||||
|
||||
if (!librariesData) {
|
||||
|
||||
@@ -15,7 +15,7 @@ export default function Component({ service }) {
|
||||
|
||||
if (usersError || loginsError || failedLoginsError) {
|
||||
const finalError = usersError ?? loginsError ?? failedLoginsError;
|
||||
return <Container error={finalError} />;
|
||||
return <Container service={service} error={finalError} />;
|
||||
}
|
||||
|
||||
if (!usersData || !loginsData || !failedLoginsData) {
|
||||
|
||||
@@ -15,7 +15,7 @@ export default function Component({ service }) {
|
||||
|
||||
if (statsError || filtersError || indexersError) {
|
||||
const finalError = statsError ?? filtersError ?? indexersError;
|
||||
return <Container error={finalError} />;
|
||||
return <Container service={service} error={finalError} />;
|
||||
}
|
||||
|
||||
if (!statsData || !filtersData || !indexersData) {
|
||||
|
||||
@@ -14,7 +14,7 @@ export default function Component({ service }) {
|
||||
|
||||
if (moviesError || episodesError) {
|
||||
const finalError = moviesError ?? episodesError;
|
||||
return <Container error={finalError} />;
|
||||
return <Container service={service} error={finalError} />;
|
||||
}
|
||||
|
||||
if (!episodesData || !moviesData) {
|
||||
|
||||
39
src/widgets/caddy/component.jsx
Normal file
39
src/widgets/caddy/component.jsx
Normal file
@@ -0,0 +1,39 @@
|
||||
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: resultData, error: resultError } = useWidgetAPI(widget, "result");
|
||||
|
||||
|
||||
if (resultError) {
|
||||
return <Container service={service} error={resultError} />;
|
||||
}
|
||||
|
||||
if (!resultData) {
|
||||
return (
|
||||
<Container service={service}>,
|
||||
<Block label="caddy.upstreams" />
|
||||
<Block label="caddy.requests" />
|
||||
<Block label="caddy.requests_failed" />
|
||||
</Container>
|
||||
);
|
||||
}
|
||||
|
||||
const upstreams = resultData.length;
|
||||
const requests = resultData.reduce((acc, val) => acc + val.num_requests, 0);
|
||||
const requestsFailed = resultData.reduce((acc, val) => acc + val.fails, 0);
|
||||
|
||||
return (
|
||||
<Container service={service}>
|
||||
<Block label="caddy.upstreams" value={t("common.number", { value: upstreams })} />
|
||||
<Block label="caddy.requests" value={t("common.number", { value: requests })} />
|
||||
<Block label="caddy.requests_failed" value={t("common.number", { value: requestsFailed })} />
|
||||
</Container>
|
||||
);
|
||||
}
|
||||
8
src/widgets/caddy/widget.js
Normal file
8
src/widgets/caddy/widget.js
Normal file
@@ -0,0 +1,8 @@
|
||||
import genericProxyHandler from "utils/proxy/handlers/generic";
|
||||
|
||||
const widget = {
|
||||
api: "{url}/reverse_proxy/upstreams",
|
||||
proxyHandler: genericProxyHandler,
|
||||
};
|
||||
|
||||
export default widget;
|
||||
@@ -12,7 +12,7 @@ export default function Component({ service }) {
|
||||
const { data, error } = useWidgetAPI(widget, "info");
|
||||
|
||||
if (error) {
|
||||
return <Container error={error} />;
|
||||
return <Container service={service} error={error} />;
|
||||
}
|
||||
|
||||
if (!data) {
|
||||
|
||||
36
src/widgets/channelsdvrserver/component.jsx
Normal file
36
src/widgets/channelsdvrserver/component.jsx
Normal file
@@ -0,0 +1,36 @@
|
||||
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: channelsData, error: channelsError } = useWidgetAPI(widget, "status");
|
||||
|
||||
if (channelsError) {
|
||||
return <Container service={service} error={channelsError} />;
|
||||
}
|
||||
|
||||
if (!channelsData) {
|
||||
return (
|
||||
<Container service={service}>
|
||||
<Block label="channelsdvrserver.shows" />
|
||||
<Block label="channelsdvrserver.recordings" />
|
||||
<Block label="channelsdvrserver.scheduled" />
|
||||
<Block label="channelsdvrserver.passes" />
|
||||
</Container>
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
<Container service={service}>
|
||||
<Block label="channelsdvrserver.shows" value={t("common.number", { value: channelsData.stats.groups })} />
|
||||
<Block label="channelsdvrserver.recordings" value={t("common.number", { value: channelsData.stats.files })} />
|
||||
<Block label="channelsdvrserver.scheduled" value={t("common.number", { value: channelsData.stats.jobs })} />
|
||||
<Block label="channelsdvrserver.passes" value={t("common.number", { value: channelsData.stats.rules })} />
|
||||
</Container>
|
||||
);
|
||||
}
|
||||
14
src/widgets/channelsdvrserver/widget.js
Normal file
14
src/widgets/channelsdvrserver/widget.js
Normal file
@@ -0,0 +1,14 @@
|
||||
import genericProxyHandler from "utils/proxy/handlers/generic";
|
||||
|
||||
const widget = {
|
||||
api: "{url}/{endpoint}",
|
||||
proxyHandler: genericProxyHandler,
|
||||
|
||||
mappings: {
|
||||
status: {
|
||||
endpoint: "dvr",
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
export default widget;
|
||||
@@ -8,7 +8,7 @@ export default function Component({ service }) {
|
||||
const { data: statsData, error: statsError } = useWidgetAPI(widget, "cfd_tunnel");
|
||||
|
||||
if (statsError) {
|
||||
return <Container error={statsError} />;
|
||||
return <Container service={service} error={statsError} />;
|
||||
}
|
||||
|
||||
if (!statsData) {
|
||||
@@ -28,4 +28,4 @@ export default function Component({ service }) {
|
||||
<Block label="cloudflared.origin_ip" value={originIP} />
|
||||
</Container>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,7 +38,7 @@ export default function Component({ service }) {
|
||||
}
|
||||
|
||||
if (statsError) {
|
||||
return <Container error={statsError} />;
|
||||
return <Container service={service} error={statsError} />;
|
||||
}
|
||||
|
||||
if (!statsData || !dateRange) {
|
||||
|
||||
@@ -6,7 +6,9 @@ const components = {
|
||||
authentik: dynamic(() => import("./authentik/component")),
|
||||
autobrr: dynamic(() => import("./autobrr/component")),
|
||||
bazarr: dynamic(() => import("./bazarr/component")),
|
||||
caddy: dynamic(() => import("./caddy/component")),
|
||||
changedetectionio: dynamic(() => import("./changedetectionio/component")),
|
||||
channelsdvrserver: dynamic(() => import("./channelsdvrserver/component")),
|
||||
cloudflared: dynamic(() => import("./cloudflared/component")),
|
||||
coinmarketcap: dynamic(() => import("./coinmarketcap/component")),
|
||||
deluge: dynamic(() => import("./deluge/component")),
|
||||
@@ -15,13 +17,16 @@ const components = {
|
||||
docker: dynamic(() => import("./docker/component")),
|
||||
kubernetes: dynamic(() => import("./kubernetes/component")),
|
||||
emby: dynamic(() => import("./emby/component")),
|
||||
evcc: dynamic(() => import("./evcc/component")),
|
||||
fileflows: dynamic(() => import("./fileflows/component")),
|
||||
flood: dynamic(() => import("./flood/component")),
|
||||
freshrss: dynamic(() => import("./freshrss/component")),
|
||||
ghostfolio: dynamic(() => import("./ghostfolio/component")),
|
||||
gluetun: dynamic(() => import("./gluetun/component")),
|
||||
gotify: dynamic(() => import("./gotify/component")),
|
||||
grafana: dynamic(() => import("./grafana/component")),
|
||||
hdhomerun: dynamic(() => import("./hdhomerun/component")),
|
||||
homeassistant: dynamic(() => import("./homeassistant/component")),
|
||||
homebridge: dynamic(() => import("./homebridge/component")),
|
||||
healthchecks: dynamic(() => import("./healthchecks/component")),
|
||||
immich: dynamic(() => import("./immich/component")),
|
||||
@@ -49,6 +54,7 @@ const components = {
|
||||
opnsense: dynamic(() => import("./opnsense/component")),
|
||||
overseerr: dynamic(() => import("./overseerr/component")),
|
||||
paperlessngx: dynamic(() => import("./paperlessngx/component")),
|
||||
pfsense: dynamic(() => import("./pfsense/component")),
|
||||
photoprism: dynamic(() => import("./photoprism/component")),
|
||||
proxmoxbackupserver: dynamic(() => import("./proxmoxbackupserver/component")),
|
||||
pihole: dynamic(() => import("./pihole/component")),
|
||||
@@ -60,6 +66,7 @@ const components = {
|
||||
pterodactyl: dynamic(() => import("./pterodactyl/component")),
|
||||
pyload: dynamic(() => import("./pyload/component")),
|
||||
qbittorrent: dynamic(() => import("./qbittorrent/component")),
|
||||
qnap: dynamic(() => import("./qnap/component")),
|
||||
radarr: dynamic(() => import("./radarr/component")),
|
||||
readarr: dynamic(() => import("./readarr/component")),
|
||||
rutorrent: dynamic(() => import("./rutorrent/component")),
|
||||
@@ -68,6 +75,7 @@ const components = {
|
||||
sonarr: dynamic(() => import("./sonarr/component")),
|
||||
speedtest: dynamic(() => import("./speedtest/component")),
|
||||
strelaysrv: dynamic(() => import("./strelaysrv/component")),
|
||||
tailscale: dynamic(() => import("./tailscale/component")),
|
||||
tautulli: dynamic(() => import("./tautulli/component")),
|
||||
tdarr: dynamic(() => import("./tdarr/component")),
|
||||
traefik: dynamic(() => import("./traefik/component")),
|
||||
@@ -78,6 +86,7 @@ const components = {
|
||||
unmanic: dynamic(() => import("./unmanic/component")),
|
||||
uptimekuma: dynamic(() => import("./uptimekuma/component")),
|
||||
watchtower: dynamic(() => import("./watchtower/component")),
|
||||
whatsupdocker: dynamic(() => import("./whatsupdocker/component")),
|
||||
xteve: dynamic(() => import("./xteve/component")),
|
||||
};
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ export default function Component({ service }) {
|
||||
const { data: torrentData, error: torrentError } = useWidgetAPI(widget);
|
||||
|
||||
if (torrentError) {
|
||||
return <Container error={torrentError} />;
|
||||
return <Container service={service} error={torrentError} />;
|
||||
}
|
||||
|
||||
if (!torrentData) {
|
||||
|
||||
@@ -12,7 +12,7 @@ export default function Component({ service }) {
|
||||
const { data: utilizationData, error: utilizationError } = useWidgetAPI(widget, "utilization");
|
||||
|
||||
if (storageError || infoError || utilizationError) {
|
||||
return <Container error={ storageError ?? infoError ?? utilizationError } />;
|
||||
return <Container service={service} error={ storageError ?? infoError ?? utilizationError } />;
|
||||
}
|
||||
|
||||
if (!storageData || !infoData || !utilizationData) {
|
||||
|
||||
@@ -19,7 +19,7 @@ export default function Component({ service }) {
|
||||
|
||||
if (statsError || statsData?.error || statusError || statusData?.error) {
|
||||
const finalError = statsError ?? statsData?.error ?? statusError ?? statusData?.error;
|
||||
return <Container error={finalError} />;
|
||||
return <Container service={service} error={finalError} />;
|
||||
}
|
||||
|
||||
if (statusData && !(statusData.status.includes("running") || statusData.status.includes("partial"))) {
|
||||
|
||||
@@ -10,7 +10,7 @@ export default function Component({ service }) {
|
||||
const { data: listData, error: listError } = useWidgetAPI(widget, "list");
|
||||
|
||||
if (listError) {
|
||||
return <Container error={listError} />;
|
||||
return <Container service={service} error={listError} />;
|
||||
}
|
||||
|
||||
const tasks = listData?.data?.tasks;
|
||||
|
||||
@@ -206,7 +206,7 @@ export default function Component({ service }) {
|
||||
}
|
||||
|
||||
if (sessionsError || countError) {
|
||||
return <Container error={sessionsError ?? countError} />;
|
||||
return <Container service={service} error={sessionsError ?? countError} />;
|
||||
}
|
||||
|
||||
const enableBlocks = service.widget?.enableBlocks
|
||||
@@ -272,7 +272,7 @@ export default function Component({ service }) {
|
||||
);
|
||||
}
|
||||
|
||||
if (playing.length === -1)
|
||||
if (playing.length > 0)
|
||||
return (
|
||||
<>
|
||||
{enableBlocks && <CountBlocks service={service} countData={countData} />}
|
||||
|
||||
36
src/widgets/evcc/component.jsx
Normal file
36
src/widgets/evcc/component.jsx
Normal file
@@ -0,0 +1,36 @@
|
||||
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: stateData, error: stateError } = useWidgetAPI(widget, "state");
|
||||
|
||||
if (stateError) {
|
||||
return <Container service={service} error={stateError} />;
|
||||
}
|
||||
|
||||
if (!stateData) {
|
||||
return (
|
||||
<Container service={service}>,
|
||||
<Block label="evcc.pv_power" />
|
||||
<Block label="evcc.grid_power" />
|
||||
<Block label="evcc.home_power" />
|
||||
<Block label="evcc.charge_power"/>
|
||||
</Container>
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
<Container service={service}>
|
||||
<Block label="evcc.pv_power" value={`${t("common.number", { value: stateData.result.pvPower })} ${t("evcc.watt_hour")}`} />
|
||||
<Block label="evcc.grid_power" value={`${t("common.number", { value: stateData.result.gridPower })} ${t("evcc.watt_hour")}`} />
|
||||
<Block label="evcc.home_power" value={`${t("common.number", { value: stateData.result.homePower })} ${t("evcc.watt_hour")}`} />
|
||||
<Block label="evcc.charge_power" value={`${t("common.number", { value: stateData.result.loadpoints[0].chargePower })} ${t("evcc.watt_hour")}`} />
|
||||
</Container>
|
||||
);
|
||||
}
|
||||
14
src/widgets/evcc/widget.js
Normal file
14
src/widgets/evcc/widget.js
Normal file
@@ -0,0 +1,14 @@
|
||||
import genericProxyHandler from "utils/proxy/handlers/generic";
|
||||
|
||||
const widget = {
|
||||
api: "{url}/api/{endpoint}",
|
||||
proxyHandler: genericProxyHandler,
|
||||
|
||||
mappings: {
|
||||
state: {
|
||||
endpoint: "state",
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
export default widget;
|
||||
@@ -12,7 +12,7 @@ export default function Component({ service }) {
|
||||
const { data: fileflowsData, error: fileflowsError } = useWidgetAPI(widget, "status");
|
||||
|
||||
if (fileflowsError) {
|
||||
return <Container error={fileflowsError} />;
|
||||
return <Container service={service} error={fileflowsError} />;
|
||||
}
|
||||
|
||||
if (!fileflowsData) {
|
||||
|
||||
@@ -12,7 +12,7 @@ export default function Component({ service }) {
|
||||
const { data: torrentData, error: torrentError } = useWidgetAPI(widget, "torrents");
|
||||
|
||||
if (torrentError || !torrentData?.torrents) {
|
||||
return <Container error={torrentError ?? {message: "No torrent data returned"}} />;
|
||||
return <Container service={service} error={torrentError ?? {message: "No torrent data returned"}} />;
|
||||
}
|
||||
|
||||
if (!torrentData || !torrentData.torrents) {
|
||||
|
||||
33
src/widgets/freshrss/component.jsx
Normal file
33
src/widgets/freshrss/component.jsx
Normal file
@@ -0,0 +1,33 @@
|
||||
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: freshrssData, error: freshrssError } = useWidgetAPI(widget, "info");
|
||||
|
||||
if (freshrssError) {
|
||||
return <Container service={service} error={freshrssError} />;
|
||||
}
|
||||
|
||||
if (!freshrssData) {
|
||||
return (
|
||||
<Container service={service}>
|
||||
<Block label="freshrss.unread" />
|
||||
<Block label="freshrss.subscriptions" />
|
||||
</Container>
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
<Container service={service}>
|
||||
<Block label="freshrss.unread" value={t("common.number", { value: freshrssData.unread })} />
|
||||
<Block label="freshrss.subscriptions" value={t("common.number", { value: freshrssData.subscriptions })} />
|
||||
</Container>
|
||||
);
|
||||
}
|
||||
97
src/widgets/freshrss/proxy.js
Normal file
97
src/widgets/freshrss/proxy.js
Normal file
@@ -0,0 +1,97 @@
|
||||
import cache from "memory-cache";
|
||||
|
||||
import { httpProxy } from "utils/proxy/http";
|
||||
import { formatApiCall } from "utils/proxy/api-helpers";
|
||||
import getServiceWidget from "utils/config/service-helpers";
|
||||
import createLogger from "utils/logger";
|
||||
import widgets from "widgets/widgets";
|
||||
|
||||
const proxyName = "freshrssProxyHandler";
|
||||
const sessionTokenCacheKey = `${proxyName}__sessionToken`;
|
||||
const logger = createLogger(proxyName);
|
||||
|
||||
async function login(widget, service) {
|
||||
const endpoint = "accounts/ClientLogin";
|
||||
const api = widgets?.[widget.type]?.api
|
||||
const loginUrl = new URL(formatApiCall(api, { endpoint, ...widget }));
|
||||
const headers = { "Content-Type": "application/x-www-form-urlencoded" };
|
||||
|
||||
const [, , data,] = await httpProxy(loginUrl, {
|
||||
method: "POST",
|
||||
body: new URLSearchParams({
|
||||
Email: widget.username,
|
||||
Passwd: widget.password
|
||||
}).toString(),
|
||||
headers,
|
||||
});
|
||||
|
||||
try {
|
||||
const [, token] = data.toString().split("\n").find(line => line.startsWith("Auth=")).split("=")
|
||||
cache.put(`${sessionTokenCacheKey}.${service}`, token);
|
||||
return { token };
|
||||
} catch (e) {
|
||||
logger.error("Unable to login to FreshRSS API: %s", e);
|
||||
}
|
||||
|
||||
return { token: false };
|
||||
}
|
||||
|
||||
async function apiCall(widget, endpoint, service) {
|
||||
const key = `${sessionTokenCacheKey}.${service}`;
|
||||
const headers = {
|
||||
"Authorization": `GoogleLogin auth=${cache.get(key)}`,
|
||||
}
|
||||
const url = new URL(formatApiCall(widgets[widget.type].api, { endpoint, ...widget }));
|
||||
const method = "GET";
|
||||
|
||||
let [status, contentType, data, responseHeaders] = await httpProxy(url, {
|
||||
method,
|
||||
headers,
|
||||
});
|
||||
|
||||
if (status === 401) {
|
||||
logger.debug("FreshRSS API rejected the request, attempting to obtain new session token");
|
||||
const { token } = await login(widget, service);
|
||||
headers.Authorization = `GoogleLogin auth=${token}`;
|
||||
|
||||
// retry the request, now with the new session token
|
||||
[status, contentType, data, responseHeaders] = await httpProxy(url, {
|
||||
method,
|
||||
headers,
|
||||
});
|
||||
}
|
||||
|
||||
if (status !== 200) {
|
||||
logger.error("Error getting data from FreshRSS: %s status %d. Data: %s", url, status, data);
|
||||
return { status, contentType, data: null, responseHeaders };
|
||||
}
|
||||
|
||||
return { status, contentType, data: JSON.parse(data.toString()), responseHeaders };
|
||||
}
|
||||
|
||||
export default async function freshrssProxyHandler(req, res) {
|
||||
const { group, service } = req.query;
|
||||
|
||||
if (!group || !service) {
|
||||
logger.debug("Invalid or missing service '%s' or group '%s'", service, group);
|
||||
return res.status(400).json({ error: "Invalid proxy service type" });
|
||||
}
|
||||
|
||||
const widget = await getServiceWidget(group, service);
|
||||
if (!widget) {
|
||||
logger.debug("Invalid or missing widget for service '%s' in group '%s'", service, group);
|
||||
return res.status(400).json({ error: "Invalid proxy service type" });
|
||||
}
|
||||
|
||||
if (!cache.get(`${sessionTokenCacheKey}.${service}`)) {
|
||||
await login(widget, service);
|
||||
}
|
||||
|
||||
const { data: subscriptionData } = await apiCall(widget, "reader/api/0/subscription/list", service);
|
||||
const { data: unreadCountData } = await apiCall(widget, "reader/api/0/unread-count", service);
|
||||
|
||||
return res.status(200).send({
|
||||
subscriptions: subscriptionData?.subscriptions.length,
|
||||
unread: unreadCountData?.max
|
||||
});
|
||||
}
|
||||
13
src/widgets/freshrss/widget.js
Normal file
13
src/widgets/freshrss/widget.js
Normal file
@@ -0,0 +1,13 @@
|
||||
import freshrssProxyHandler from "./proxy";
|
||||
|
||||
const widget = {
|
||||
api: "{url}/api/greader.php/{endpoint}?output=json",
|
||||
proxyHandler: freshrssProxyHandler,
|
||||
mappings: {
|
||||
info: {
|
||||
endpoint: "/"
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
export default widget;
|
||||
@@ -18,7 +18,7 @@ export default function Component({ service }) {
|
||||
|
||||
if (ghostfolioErrorToday || ghostfolioErrorYear || ghostfolioErrorMax) {
|
||||
const finalError = ghostfolioErrorToday ?? ghostfolioErrorYear ?? ghostfolioErrorMax
|
||||
return <Container error={finalError} />;
|
||||
return <Container service={service} error={finalError} />;
|
||||
}
|
||||
|
||||
if (!performanceToday || !performanceYear || !performanceMax) {
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user