mirror of
https://github.com/gethomepage/homepage.git
synced 2025-12-05 21:47:48 +01:00
Compare commits
1519 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
01eea51555 | ||
|
|
67e72fb96a | ||
|
|
c7e4a52b99 | ||
|
|
627ce179ef | ||
|
|
1ee2356028 | ||
|
|
335e2fcb1f | ||
|
|
a71fe3796f | ||
|
|
ab8114ee4f | ||
|
|
be4ed7481a | ||
|
|
4ee85bc108 | ||
|
|
a88a5aa922 | ||
|
|
87e82f5339 | ||
|
|
c741fee788 | ||
|
|
98ecb192fd | ||
|
|
ba34bb5aba | ||
|
|
1f9f9070a9 | ||
|
|
a86fa90a58 | ||
|
|
388bc74464 | ||
|
|
dd66f51105 | ||
|
|
e126a04a35 | ||
|
|
83ec439513 | ||
|
|
8afcb4e427 | ||
|
|
e84ea3a89d | ||
|
|
b80bda077d | ||
|
|
e1247a40a7 | ||
|
|
238835c625 | ||
|
|
8b229c0096 | ||
|
|
41290cf909 | ||
|
|
96ec29efd9 | ||
|
|
9c6a71c463 | ||
|
|
f7f4033e21 | ||
|
|
af3f65a648 | ||
|
|
b73d36fbd4 | ||
|
|
23a2c43e50 | ||
|
|
fe7d7a9feb | ||
|
|
ce8cef99e8 | ||
|
|
60958cad5f | ||
|
|
76701c245c | ||
|
|
2053ce7361 | ||
|
|
1935965095 | ||
|
|
006fb80533 | ||
|
|
ab2c3c6412 | ||
|
|
2c3947ea3f | ||
|
|
725189a7b0 | ||
|
|
7b61ca81bc | ||
|
|
f2d737b156 | ||
|
|
b6bee279d4 | ||
|
|
365783204a | ||
|
|
047f7af99a | ||
|
|
a880cdbc68 | ||
|
|
9f008fc04e | ||
|
|
aa8c41e715 | ||
|
|
2a5442940f | ||
|
|
3317cd8b5b | ||
|
|
d9241e03bb | ||
|
|
8e191d4103 | ||
|
|
d882e43603 | ||
|
|
4edd0edc3d | ||
|
|
9043e4d648 | ||
|
|
fb3f1d61cc | ||
|
|
4b21740e64 | ||
|
|
ef5a063af3 | ||
|
|
5aa29aafb7 | ||
|
|
d7be68e040 | ||
|
|
3d96b508d5 | ||
|
|
6c13e65802 | ||
|
|
fe9c355af5 | ||
|
|
ef7afb2589 | ||
|
|
0e19765e8b | ||
|
|
857fec1d47 | ||
|
|
a8287cb20f | ||
|
|
2507848575 | ||
|
|
fdd66c1435 | ||
|
|
827679ced6 | ||
|
|
e112b3f737 | ||
|
|
8598f4c315 | ||
|
|
8329aabe74 | ||
|
|
667519f81e | ||
|
|
ea9fa2b9c2 | ||
|
|
df3bac842e | ||
|
|
32e7323b45 | ||
|
|
62e1cfea59 | ||
|
|
92b3433e1d | ||
|
|
8723b1f101 | ||
|
|
88d2ce7d6f | ||
|
|
f65884183d | ||
|
|
fa1f51d42c | ||
|
|
578de2c52e | ||
|
|
12e111b76c | ||
|
|
82a6553c58 | ||
|
|
2a24277757 | ||
|
|
e20a0e90b2 | ||
|
|
b3e976860a | ||
|
|
1a9acd753c | ||
|
|
7f7e083a41 | ||
|
|
3aec4e6da4 | ||
|
|
59bec6e65e | ||
|
|
93dda99aaa | ||
|
|
16c419f816 | ||
|
|
a8e506504a | ||
|
|
bf5b82445f | ||
|
|
a58eebb448 | ||
|
|
233391fc4a | ||
|
|
7a4ac9ddd9 | ||
|
|
9de4bfc6fe | ||
|
|
c981a737a6 | ||
|
|
5a6b65aeb0 | ||
|
|
fa325b2497 | ||
|
|
f355464aae | ||
|
|
893b709f8b | ||
|
|
a4d1589493 | ||
|
|
4060fdc902 | ||
|
|
54f263da15 | ||
|
|
2a777e55d9 | ||
|
|
e1d6d46420 | ||
|
|
ed8e7aa01d | ||
|
|
56618ead39 | ||
|
|
1549bc67be | ||
|
|
a7f9dad6df | ||
|
|
5d6e078c87 | ||
|
|
6100cdba93 | ||
|
|
e04594defb | ||
|
|
5bc475b9df | ||
|
|
d27262c934 | ||
|
|
20e4449fd5 | ||
|
|
f3698aaeb5 | ||
|
|
7fec2af8e3 | ||
|
|
dc01dbd649 | ||
|
|
5e44ac2448 | ||
|
|
113bbc3ef1 | ||
|
|
294b27ab71 | ||
|
|
a444945faa | ||
|
|
0febf05d8d | ||
|
|
03294b5a2f | ||
|
|
a04c7677e4 | ||
|
|
67f63219f4 | ||
|
|
9634a89c81 | ||
|
|
f36c0710d8 | ||
|
|
b724f520cd | ||
|
|
a7f290dfdd | ||
|
|
98ce0e8c2e | ||
|
|
b6e8b64a2e | ||
|
|
4d6ce1f7e2 | ||
|
|
cf38395100 | ||
|
|
fc2e17fa59 | ||
|
|
642f21e56b | ||
|
|
e1799f17e3 | ||
|
|
730f1c5ec1 | ||
|
|
34a7b25c9c | ||
|
|
f93106970a | ||
|
|
2b4fb03dcf | ||
|
|
11fad11b6d | ||
|
|
885dca1750 | ||
|
|
1caa9faded | ||
|
|
4f24c0f909 | ||
|
|
1fd198c255 | ||
|
|
84b7f103c3 | ||
|
|
272be2c086 | ||
|
|
6705197a35 | ||
|
|
2ac06937f9 | ||
|
|
35a2cd9b94 | ||
|
|
9a072cddde | ||
|
|
36ed1022e3 | ||
|
|
3a43cf247b | ||
|
|
af29f5b266 | ||
|
|
e15ba1c82c | ||
|
|
7ac862be75 | ||
|
|
f6b1304e22 | ||
|
|
ee729a7e6a | ||
|
|
bc7937db71 | ||
|
|
0e1aeaf54c | ||
|
|
2e8717247d | ||
|
|
d17a17bd3c | ||
|
|
0afc1b96f1 | ||
|
|
5fbc6702bc | ||
|
|
75455a23e2 | ||
|
|
2aed46671f | ||
|
|
88934ec39a | ||
|
|
21c0c687cd | ||
|
|
9f63a5a1d5 | ||
|
|
679704949e | ||
|
|
e46d291c78 | ||
|
|
54b01b302b | ||
|
|
aa1726df05 | ||
|
|
810390c1be | ||
|
|
b7b5e4a117 | ||
|
|
e99a38063c | ||
|
|
dacfc30cea | ||
|
|
7803b815af | ||
|
|
3500c81a1c | ||
|
|
6aa77faea0 | ||
|
|
3ca720953a | ||
|
|
4396d0a5f1 | ||
|
|
87ec2ea20c | ||
|
|
700fb09e64 | ||
|
|
3736194c7c | ||
|
|
08c9379eba | ||
|
|
040e784526 | ||
|
|
443a073ae3 | ||
|
|
b792ba8267 | ||
|
|
349f2a1c66 | ||
|
|
7750a1c1f4 | ||
|
|
631e7adb7c | ||
|
|
9a70bb7e3d | ||
|
|
c08ca4ce44 | ||
|
|
cddf393714 | ||
|
|
fe0eeb5332 | ||
|
|
9ad78f8204 | ||
|
|
87be6b1105 | ||
|
|
fc799000d3 | ||
|
|
d4ee7962ce | ||
|
|
762a02f287 | ||
|
|
cc1f580e46 | ||
|
|
765c6f9b99 | ||
|
|
94f43b1210 | ||
|
|
ba4cbad601 | ||
|
|
ab75534d3e | ||
|
|
a697a6e8d4 | ||
|
|
5c3d7af929 | ||
|
|
5b8d781eb3 | ||
|
|
2c8ab6e9d6 | ||
|
|
fb9dc36226 | ||
|
|
e549fc50af | ||
|
|
1b847136ab | ||
|
|
94e156b078 | ||
|
|
00aacba639 | ||
|
|
7ebd509036 | ||
|
|
b335c9603c | ||
|
|
4e58341443 | ||
|
|
3b0931c012 | ||
|
|
513d187567 | ||
|
|
0d9068c6fa | ||
|
|
1f756c1a67 | ||
|
|
0e18d14eb1 | ||
|
|
ccf8d2c611 | ||
|
|
cad721dee2 | ||
|
|
a3e21e56c0 | ||
|
|
e0213269c0 | ||
|
|
d0f83aa30a | ||
|
|
acbc66f26b | ||
|
|
ee1fc2fa55 | ||
|
|
f0231e17fd | ||
|
|
2182ffb894 | ||
|
|
fbbf007fc7 | ||
|
|
ba87f8b64d | ||
|
|
0ab30b711c | ||
|
|
63de2888c4 | ||
|
|
bdbe81268b | ||
|
|
1dd7947c71 | ||
|
|
43a11eadfc | ||
|
|
3a27486c34 | ||
|
|
54fb201874 | ||
|
|
977c65f911 | ||
|
|
8bdd03a632 | ||
|
|
6f34aaefa4 | ||
|
|
4017997448 | ||
|
|
82c290d5d8 | ||
|
|
4417161e0c | ||
|
|
2b41121a80 | ||
|
|
b1a0b4ebcf | ||
|
|
5a8ae8a626 | ||
|
|
59e966c6dd | ||
|
|
4ff2799c0e | ||
|
|
789831ff57 | ||
|
|
b4602a2e4b | ||
|
|
6722c3712d | ||
|
|
d650d1cae5 | ||
|
|
a8084e9e80 | ||
|
|
458d376ce5 | ||
|
|
4c658cf717 | ||
|
|
8dff267305 | ||
|
|
d69dda762a | ||
|
|
b0b5d8b381 | ||
|
|
1662302b13 | ||
|
|
ae781a942e | ||
|
|
f5f6c57ba8 | ||
|
|
ca6065d428 | ||
|
|
7602ec8479 | ||
|
|
cf4c8885a1 | ||
|
|
644014419c | ||
|
|
922df3288b | ||
|
|
195ebf2067 | ||
|
|
f363f90da5 | ||
|
|
667b88a450 | ||
|
|
3b0e2797ca | ||
|
|
cbded542f9 | ||
|
|
e9610f7c34 | ||
|
|
31fec3cead | ||
|
|
38d81b654e | ||
|
|
17e7d449b0 | ||
|
|
3249e03bf6 | ||
|
|
817e5b630e | ||
|
|
953ade7506 | ||
|
|
a834d2a4e4 | ||
|
|
b419ddde2d | ||
|
|
bb422179e5 | ||
|
|
efa35b4bd4 | ||
|
|
450babf95d | ||
|
|
1452d846e4 | ||
|
|
4c646c660b | ||
|
|
40657049a6 | ||
|
|
0c8fe35af1 | ||
|
|
bf1b874368 | ||
|
|
207bd04489 | ||
|
|
b4ca671902 | ||
|
|
4062671466 | ||
|
|
ecccab9ebf | ||
|
|
5c8b821732 | ||
|
|
2400357666 | ||
|
|
b7e58ae07b | ||
|
|
3f523111b3 | ||
|
|
874a51f56c | ||
|
|
efe763fff8 | ||
|
|
05c0f39354 | ||
|
|
3722caee73 | ||
|
|
303acc24f6 | ||
|
|
4a747f1f93 | ||
|
|
caa97f774e | ||
|
|
805d57bf31 | ||
|
|
3e86920b95 | ||
|
|
da32e54a4b | ||
|
|
d1dce8b605 | ||
|
|
79176852b8 | ||
|
|
c68cc3c8ed | ||
|
|
c8ea72c217 | ||
|
|
1cac02f2c0 | ||
|
|
ca2f0ab229 | ||
|
|
e7db56101b | ||
|
|
f63732fd19 | ||
|
|
bbfe92cda6 | ||
|
|
ff54a8d1c3 | ||
|
|
6f912bfcdc | ||
|
|
7c14e682e7 | ||
|
|
15a0e77450 | ||
|
|
35c6e92799 | ||
|
|
b4682aebd6 | ||
|
|
7f1ea3f67b | ||
|
|
b903240b40 | ||
|
|
a5f4e81d37 | ||
|
|
3466732b8e | ||
|
|
e908bc2078 | ||
|
|
0aa8439301 | ||
|
|
7a69636794 | ||
|
|
e4728e2cc9 | ||
|
|
ca1af07aff | ||
|
|
c4e5574518 | ||
|
|
f34e7c9640 | ||
|
|
17f289b00b | ||
|
|
966dabe3b5 | ||
|
|
c3de335f2d | ||
|
|
155ef11596 | ||
|
|
0083379d96 | ||
|
|
f26af72dbe | ||
|
|
c29e97a738 | ||
|
|
1f5aac7e8f | ||
|
|
34673e9bb5 | ||
|
|
a535d052ec | ||
|
|
f48a214024 | ||
|
|
ce629128e1 | ||
|
|
df72dcfc7f | ||
|
|
b9415b43b0 | ||
|
|
6b90d3ef28 | ||
|
|
cac21ebd38 | ||
|
|
ccba3d87b0 | ||
|
|
23ba45729e | ||
|
|
04f803676a | ||
|
|
61f77947ac | ||
|
|
a9429e5335 | ||
|
|
952305492c | ||
|
|
b01e6eaf56 | ||
|
|
4a3f836020 | ||
|
|
a9cc0100f6 | ||
|
|
de584eae8f | ||
|
|
92641695ad | ||
|
|
8e40aa1869 | ||
|
|
e606b50cd0 | ||
|
|
d16fd0cd05 | ||
|
|
6dc6ee54ea | ||
|
|
5b515822d3 | ||
|
|
f81d754044 | ||
|
|
483c5cf87a | ||
|
|
6b634b4ef5 | ||
|
|
f58ae97c6e | ||
|
|
5deb58f092 | ||
|
|
55cd4c5ada | ||
|
|
27a7adc282 | ||
|
|
6b72b60b5e | ||
|
|
c2d6b9738f | ||
|
|
44dbff308a | ||
|
|
c224a26bc8 | ||
|
|
a1e9afae85 | ||
|
|
bca6340ded | ||
|
|
f1e7df394e | ||
|
|
a2bbcce69e | ||
|
|
de8747c9f5 | ||
|
|
0b8ce67e10 | ||
|
|
0de4d00d83 | ||
|
|
0b47e083ea | ||
|
|
2e0b55bd37 | ||
|
|
ee5bb5364b | ||
|
|
bb3fd88a90 | ||
|
|
ac5dfe5a9c | ||
|
|
0bc65e4345 | ||
|
|
92b80d1e46 | ||
|
|
dab627e248 | ||
|
|
70a77718db | ||
|
|
9a81c9a418 | ||
|
|
6ef05b8118 | ||
|
|
6fd187c54c | ||
|
|
abf65caba7 | ||
|
|
5470c68cb4 | ||
|
|
f0bca41c5e | ||
|
|
c985c4788b | ||
|
|
2df5e8d791 | ||
|
|
2e8ea3b0d8 | ||
|
|
8a2a624956 | ||
|
|
b1aa093f5d | ||
|
|
216a67fc12 | ||
|
|
85d9b2fc8a | ||
|
|
65454014ef | ||
|
|
4e23a931cd | ||
|
|
3446c9b2a1 | ||
|
|
ccda10fca4 | ||
|
|
a14dfb9360 | ||
|
|
f3e52f0bdf | ||
|
|
f7a666e8c5 | ||
|
|
1feaae7291 | ||
|
|
112cbaf813 | ||
|
|
5263a66fbe | ||
|
|
d1971986ea | ||
|
|
988f3dfdd5 | ||
|
|
95794dc837 | ||
|
|
8bb716e1c5 | ||
|
|
ec3faa31a5 | ||
|
|
09d7b8f5ed | ||
|
|
60fcbbfeaf | ||
|
|
6d1c9263b7 | ||
|
|
5bd1dd71f6 | ||
|
|
4fcc8f004d | ||
|
|
a11f22cd49 | ||
|
|
d79bf7ef80 | ||
|
|
a88a803d38 | ||
|
|
23b59dc542 | ||
|
|
751167fb17 | ||
|
|
d1336c5b95 | ||
|
|
18765f7b4d | ||
|
|
04f2d2a0e4 | ||
|
|
64a6af7bf6 | ||
|
|
158bb0ae41 | ||
|
|
c3e14a0593 | ||
|
|
3e177ec39d | ||
|
|
b7d9124228 | ||
|
|
67ed9b294b | ||
|
|
931947bffc | ||
|
|
de9ca09e70 | ||
|
|
7ef294291a | ||
|
|
e44972ec44 | ||
|
|
b7a45512cf | ||
|
|
4621724fc6 | ||
|
|
fb9c673130 | ||
|
|
15b08cdd44 | ||
|
|
76db303368 | ||
|
|
d5d0313b21 | ||
|
|
f419b3753a | ||
|
|
705258d30d | ||
|
|
413b7a7203 | ||
|
|
d3a8d27276 | ||
|
|
725c1b7da4 | ||
|
|
45767d4b27 | ||
|
|
0e4d1da1cc | ||
|
|
55f9d77054 | ||
|
|
757ef40afc | ||
|
|
ee95c23c3d | ||
|
|
93445a2831 | ||
|
|
3bef3dd6c6 | ||
|
|
db46931246 | ||
|
|
7ca7a9cc58 | ||
|
|
f7d5582f57 | ||
|
|
82486d1e13 | ||
|
|
80cc9fc984 | ||
|
|
17b21eb029 | ||
|
|
0a2528d476 | ||
|
|
db9afd4d7c | ||
|
|
5f116226cf | ||
|
|
41ce91cf81 | ||
|
|
a6599b1ea0 | ||
|
|
aed29762fd | ||
|
|
411ca43729 | ||
|
|
5401896829 | ||
|
|
92a5e20c7e | ||
|
|
c6677d55da | ||
|
|
1168b301dd | ||
|
|
e1d835259d | ||
|
|
4b38db6380 | ||
|
|
d7f06dbfbb | ||
|
|
86485740eb | ||
|
|
97550a67b7 | ||
|
|
e8d50201a5 | ||
|
|
39e276644f | ||
|
|
d72cbb79f5 | ||
|
|
0a260db335 | ||
|
|
64a77ce04f | ||
|
|
5f33f061cc | ||
|
|
7606763cc6 | ||
|
|
d73430b299 | ||
|
|
0ab988119d | ||
|
|
6d97ac77f6 | ||
|
|
cd2b9d2e0a | ||
|
|
32ef47e6d2 | ||
|
|
cb3c20ecbd | ||
|
|
12ed730897 | ||
|
|
aaa1f76176 | ||
|
|
fb2492e577 | ||
|
|
e7b0fc1419 | ||
|
|
7dd0b0e4eb | ||
|
|
6b55a50b05 | ||
|
|
4f38c0ee80 | ||
|
|
95dcb8802a | ||
|
|
9188f5cdd9 | ||
|
|
645cf211dd | ||
|
|
c720df0805 | ||
|
|
b7722ed333 | ||
|
|
fb883c7b27 | ||
|
|
f51e755216 | ||
|
|
146326f427 | ||
|
|
ccc1229098 | ||
|
|
f6b6c64b93 | ||
|
|
91d8e56471 | ||
|
|
702dbd8a82 | ||
|
|
5e722b4d11 | ||
|
|
51ff424d98 | ||
|
|
ec08535204 | ||
|
|
a146c13c4f | ||
|
|
8543118607 | ||
|
|
27d067dc4c | ||
|
|
712fbb53c7 | ||
|
|
09eb172079 | ||
|
|
174cb651b4 | ||
|
|
88c437562b | ||
|
|
537fd0ac21 | ||
|
|
59cb7baf0b | ||
|
|
94af8044f1 | ||
|
|
5d8b937e9c | ||
|
|
f89093a067 | ||
|
|
e303888119 | ||
|
|
a7676c4daa | ||
|
|
535a7d2f2d | ||
|
|
656b818488 | ||
|
|
249c3eab8c | ||
|
|
6de0205d07 | ||
|
|
826fe15e15 | ||
|
|
0ce5311b5f | ||
|
|
90cb395dc6 | ||
|
|
cbf72eedab | ||
|
|
3f79a2fdda | ||
|
|
1a94453849 | ||
|
|
6045e53207 | ||
|
|
d3c6d1fe85 | ||
|
|
35a7ba77e3 | ||
|
|
57d12c32fc | ||
|
|
c01b60dbd1 | ||
|
|
f09268230e | ||
|
|
98cefe37d2 | ||
|
|
01b55a17f1 | ||
|
|
aaacf2ea4b | ||
|
|
8672998f08 | ||
|
|
d8039031ca | ||
|
|
f5ad46f1e1 | ||
|
|
c1473b4045 | ||
|
|
285ae970c8 | ||
|
|
bf1c67a7ac | ||
|
|
98165bf9dd | ||
|
|
19e297e4c6 | ||
|
|
8eaa942572 | ||
|
|
ce1be46c0b | ||
|
|
da75b7b0d3 | ||
|
|
d70c618442 | ||
|
|
f4e3cafa25 | ||
|
|
dcafcb983e | ||
|
|
faac4518f5 | ||
|
|
45ba9c6961 | ||
|
|
25c5f36a0c | ||
|
|
2ff06d12b0 | ||
|
|
c3305c2cd7 | ||
|
|
7cae96a77b | ||
|
|
0a7616f0f6 | ||
|
|
5de93bcad2 | ||
|
|
c72961573b | ||
|
|
2a9c39532a | ||
|
|
2e6d760c53 | ||
|
|
d2f3098b2a | ||
|
|
22dd4e5f77 | ||
|
|
31e6c1fa86 | ||
|
|
ba44c0ae9d | ||
|
|
8c918f1ea6 | ||
|
|
ff31b36b46 | ||
|
|
01704ec38b | ||
|
|
8a84eba232 | ||
|
|
0d28fe25f8 | ||
|
|
97a3346ff6 | ||
|
|
9d2f1ab8c8 | ||
|
|
7087ed80cc | ||
|
|
1aeb3a3b63 | ||
|
|
df5ff48000 | ||
|
|
1a29c1fc8f | ||
|
|
458b16ff6d | ||
|
|
a4e1a22783 | ||
|
|
2725bcbbe1 | ||
|
|
2c717636a6 | ||
|
|
585fe5fb1c | ||
|
|
5b43b07e1f | ||
|
|
8e1b99ee32 | ||
|
|
e238db9336 | ||
|
|
65e3d50367 | ||
|
|
6da0ebd11b | ||
|
|
531b1a91ba | ||
|
|
77d523e2a4 | ||
|
|
5443c1e1cd | ||
|
|
25c0502e02 | ||
|
|
16979dfcc4 | ||
|
|
6225f3a6c1 | ||
|
|
c1fd9559df | ||
|
|
ff3e0bcbc8 | ||
|
|
a3bf7e2da7 | ||
|
|
70972d1b85 | ||
|
|
ebb1e330a2 | ||
|
|
e0789cb4b6 | ||
|
|
fe39bb3695 | ||
|
|
4efcedcee4 | ||
|
|
323930c5d5 | ||
|
|
c5acca3e5a | ||
|
|
ac9023ecdb | ||
|
|
a8647db988 | ||
|
|
d5ff929c70 | ||
|
|
474f041578 | ||
|
|
4bf9fa08df | ||
|
|
1de017add9 | ||
|
|
537b1b344d | ||
|
|
98c8f2078d | ||
|
|
039d3df7d8 | ||
|
|
94678be85e | ||
|
|
b0cce6dbde | ||
|
|
33bd349e43 | ||
|
|
4eabdc1e5e | ||
|
|
c880fb344f | ||
|
|
c2230fb308 | ||
|
|
de27b10cf9 | ||
|
|
7a390b38f5 | ||
|
|
d2d0341dd9 | ||
|
|
7fe542d2e9 | ||
|
|
6a324f4554 | ||
|
|
54de1ff256 | ||
|
|
a1fdc7b4a2 | ||
|
|
8d4c01354e | ||
|
|
5500b8a115 | ||
|
|
c3280f0143 | ||
|
|
d9002b6e41 | ||
|
|
38585d9d6d | ||
|
|
f59b6b69d9 | ||
|
|
a81cc70722 | ||
|
|
c185994c32 | ||
|
|
acde90cf72 | ||
|
|
c7d8e3afdd | ||
|
|
b8da8509de | ||
|
|
0df4f63df1 | ||
|
|
257cf17c6d | ||
|
|
a7d37c559e | ||
|
|
d08458c895 | ||
|
|
66cd972949 | ||
|
|
0ba956f685 | ||
|
|
4a519233a2 | ||
|
|
541bb3cc2b | ||
|
|
d0b198d5e5 | ||
|
|
4864eae23d | ||
|
|
00e50283ee | ||
|
|
ea96fdabd9 | ||
|
|
d02c2cb244 | ||
|
|
9e41163d66 | ||
|
|
b1bba66a6b | ||
|
|
2f523abe9d | ||
|
|
69b1049c17 | ||
|
|
44c2a1ecbd | ||
|
|
4f9df3c9e7 | ||
|
|
4c70bff952 | ||
|
|
bc4d662b2d | ||
|
|
8a1c0a5d06 | ||
|
|
3e9e379712 | ||
|
|
d65e919f57 | ||
|
|
b235a89dc7 | ||
|
|
812eb3d70f | ||
|
|
9de82559ca | ||
|
|
d26fbe589b | ||
|
|
c9f508d321 | ||
|
|
04fbf315ee | ||
|
|
41639752e8 | ||
|
|
e0edc2735d | ||
|
|
e1f217ad80 | ||
|
|
aadedd1864 | ||
|
|
07385dc91e | ||
|
|
2631e15275 | ||
|
|
4f3f25457e | ||
|
|
c1291b43a4 | ||
|
|
f16bd91978 | ||
|
|
7743335f9e | ||
|
|
ed220a7dc4 | ||
|
|
7087809f74 | ||
|
|
f6fc9c2450 | ||
|
|
023da6e79a | ||
|
|
08c5c65b11 | ||
|
|
3de68fd4de | ||
|
|
e902ffa104 | ||
|
|
9f91fda6a6 | ||
|
|
32c84e9f9e | ||
|
|
8856177959 | ||
|
|
4c28d366f0 | ||
|
|
89861fe5fb | ||
|
|
b68f5a4be1 | ||
|
|
9beb280378 | ||
|
|
8af9474408 | ||
|
|
c6467e9ddd | ||
|
|
aa9284b2e0 | ||
|
|
22f47e6db3 | ||
|
|
122a380bb9 | ||
|
|
eb7fa37603 | ||
|
|
bd73d8bffa | ||
|
|
ac5e752db6 | ||
|
|
2472596acd | ||
|
|
0e25f9043c | ||
|
|
2b0c77cfa3 | ||
|
|
674230b19e | ||
|
|
35bc61b954 | ||
|
|
2272c87f85 | ||
|
|
bf8fa65a5a | ||
|
|
c0e7130d62 | ||
|
|
f99f46d640 | ||
|
|
7398b1d6ab | ||
|
|
ff27d90a54 | ||
|
|
034dbb956a | ||
|
|
1ca1d6a5c8 | ||
|
|
4406c65046 | ||
|
|
be39e50282 | ||
|
|
6befcd521e | ||
|
|
d313d398a2 | ||
|
|
0c87f0ce86 | ||
|
|
3a78d44350 | ||
|
|
69dbcd40f3 | ||
|
|
6aafebd2af | ||
|
|
76f4246161 | ||
|
|
9c457bdcb9 | ||
|
|
c5461f51a7 | ||
|
|
f7db29a51f | ||
|
|
f48a755e71 | ||
|
|
646555a215 | ||
|
|
763b9abda0 | ||
|
|
4e310e5133 | ||
|
|
60c919dcfa | ||
|
|
8cbe013fd4 | ||
|
|
8b57b34986 | ||
|
|
e4c315bfb9 | ||
|
|
68245e71e9 | ||
|
|
9abc92f54e | ||
|
|
5fe9070839 | ||
|
|
8dfa586e46 | ||
|
|
60815e0f7d | ||
|
|
318fc0c2d5 | ||
|
|
059fe69ff0 | ||
|
|
7137508287 | ||
|
|
fb0c40bbac | ||
|
|
17f6c15df5 | ||
|
|
f3c1063013 | ||
|
|
a488cc0115 | ||
|
|
c54374068d | ||
|
|
a677a507b8 | ||
|
|
9f03d18e49 | ||
|
|
69af4286a9 | ||
|
|
980a399516 | ||
|
|
ccfafe1b31 | ||
|
|
165add7f53 | ||
|
|
894d3ae0cb | ||
|
|
bec62a0949 | ||
|
|
7266390491 | ||
|
|
7c06926aa7 | ||
|
|
0299f0e4b7 | ||
|
|
52bb43a573 | ||
|
|
6cdf2a1049 | ||
|
|
9f023f7942 | ||
|
|
1aea5e177c | ||
|
|
3caf6f7c2f | ||
|
|
1e471c6ced | ||
|
|
722aa4cf04 | ||
|
|
8afb87aa6f | ||
|
|
58c042249e | ||
|
|
f90c543afa | ||
|
|
4e92f0f55a | ||
|
|
4889dc100e | ||
|
|
c6d28fb0e6 | ||
|
|
6166a3f7e2 | ||
|
|
4dceb121ae | ||
|
|
ea4cfbcb03 | ||
|
|
ce909fd152 | ||
|
|
889643156b | ||
|
|
0e5e796923 | ||
|
|
0c824dfb67 | ||
|
|
c1d6653d22 | ||
|
|
71d8fb63eb | ||
|
|
4a885ec3a2 | ||
|
|
d6e6e57fa7 | ||
|
|
3332ba34fc | ||
|
|
9a55874951 | ||
|
|
7c587a9708 | ||
|
|
88201cc11a | ||
|
|
3ebfad821c | ||
|
|
16561bac79 | ||
|
|
c8d0b5ac4b | ||
|
|
451a2e1753 | ||
|
|
cadc174819 | ||
|
|
8a2d00440b | ||
|
|
4584384beb | ||
|
|
92d456dbf4 | ||
|
|
e4c0a62fd9 | ||
|
|
b393318084 | ||
|
|
0c0bbe9317 | ||
|
|
44da4e9317 | ||
|
|
24814ec6e4 | ||
|
|
553e629ae9 | ||
|
|
d6e7451a13 | ||
|
|
411f6c3152 | ||
|
|
6c986c7b32 | ||
|
|
6af10c50c5 | ||
|
|
972210b184 | ||
|
|
9b4054f7cc | ||
|
|
8cfa6d6ef3 | ||
|
|
3f1890f32f | ||
|
|
4be7f15e7d | ||
|
|
45c6501dd5 | ||
|
|
36a153c6c3 | ||
|
|
27542befdd | ||
|
|
eb525e8ea5 | ||
|
|
44477a9e1c | ||
|
|
b8c61f18ef | ||
|
|
7b2b56ff0c | ||
|
|
1843c588b8 | ||
|
|
17cb8ffd0b | ||
|
|
e7c4254bb6 | ||
|
|
4f0adea0da | ||
|
|
3e126824ff | ||
|
|
12300391e2 | ||
|
|
65d7bcd468 | ||
|
|
10b2772782 | ||
|
|
cedd00c054 | ||
|
|
1a8a2b67a1 | ||
|
|
ff6a6c17b1 | ||
|
|
72374b3ae9 | ||
|
|
eab2cce41f | ||
|
|
4a21ad647f | ||
|
|
ab0cb6145f | ||
|
|
e3725b02c8 | ||
|
|
354f819041 | ||
|
|
0428914690 | ||
|
|
0653b12104 | ||
|
|
c57d980558 | ||
|
|
b5bb9c0272 | ||
|
|
c8806a8775 | ||
|
|
a1f2003a77 | ||
|
|
f9c2f40ad1 | ||
|
|
4ccf8eddae | ||
|
|
9d5e401fe2 | ||
|
|
a282538782 | ||
|
|
e3d60297bc | ||
|
|
d76a18565c | ||
|
|
b9f434418a | ||
|
|
11acfd8f65 | ||
|
|
72fa0192e5 | ||
|
|
57d71ac528 | ||
|
|
71592bb508 | ||
|
|
596ddd1604 | ||
|
|
96957d2e2a | ||
|
|
3a24e60099 | ||
|
|
7b72467f37 | ||
|
|
14ab5b446b | ||
|
|
c7e33e2afa | ||
|
|
6fcc6c74f8 | ||
|
|
76216bd524 | ||
|
|
f8ae1864de | ||
|
|
20df3a0725 | ||
|
|
16c77a7cd1 | ||
|
|
37d32d3660 | ||
|
|
d4a0586e35 | ||
|
|
69e54b4c27 | ||
|
|
a5da583bae | ||
|
|
adc3fe136e | ||
|
|
4395a8299e | ||
|
|
2a6c1382f7 | ||
|
|
dacee3055d | ||
|
|
3af05d25c7 | ||
|
|
728a528ee1 | ||
|
|
87c2b93355 | ||
|
|
be250bd845 | ||
|
|
47f15a3724 | ||
|
|
27855c50be | ||
|
|
46bb56c0b3 | ||
|
|
3393cbcfc1 | ||
|
|
fe4a967a15 | ||
|
|
b5d5b7c552 | ||
|
|
1b00ac2e37 | ||
|
|
4ddcaeae82 | ||
|
|
10c65fa42d | ||
|
|
7267989a5d | ||
|
|
4fb8f9064b | ||
|
|
1aca48b742 | ||
|
|
6419fdb0d7 | ||
|
|
20bec2b3c5 | ||
|
|
1d2b337677 | ||
|
|
c31ebdc17f | ||
|
|
64c338f424 | ||
|
|
c94ec171c8 | ||
|
|
78549f2f59 | ||
|
|
1d95b563e7 | ||
|
|
90c61da8e1 | ||
|
|
784f8d4e75 | ||
|
|
ea501ded20 | ||
|
|
4988a2539c | ||
|
|
30066fb106 | ||
|
|
870055cea5 | ||
|
|
d297ce409a | ||
|
|
70301c4adc | ||
|
|
2d1f79eae8 | ||
|
|
3577168d23 | ||
|
|
489e114c0a | ||
|
|
5a944602c2 | ||
|
|
f20da2e273 | ||
|
|
6df21b8d02 | ||
|
|
83a3a8c2d0 | ||
|
|
52adaca439 | ||
|
|
1eee0d93a9 | ||
|
|
292bfd1b76 | ||
|
|
15d7c70a40 | ||
|
|
0ad026503a | ||
|
|
b0fc8098a7 | ||
|
|
1ca61114ef | ||
|
|
fdb143304f | ||
|
|
83a3a06386 | ||
|
|
1215808dd4 | ||
|
|
8a783ba9f6 | ||
|
|
00163d2f44 | ||
|
|
f473d324df | ||
|
|
7c4d8a77cf | ||
|
|
1695fd5bee | ||
|
|
21017e4716 | ||
|
|
7b7740563e | ||
|
|
5b7d2eaf07 | ||
|
|
e24b534843 | ||
|
|
a58f1cb093 | ||
|
|
68b86d9527 | ||
|
|
27966678a3 | ||
|
|
48bbd9c095 | ||
|
|
70fa2f5836 | ||
|
|
cdc98b831f | ||
|
|
1ff56bf198 | ||
|
|
5ec2b1a1b5 | ||
|
|
0903c541f1 | ||
|
|
f2daf92c60 | ||
|
|
3b5db74f9b | ||
|
|
d091993410 | ||
|
|
9869ba5c26 | ||
|
|
59a0cfac7b | ||
|
|
8a44f7d215 | ||
|
|
6767aef3c0 | ||
|
|
d9f279d1c0 | ||
|
|
bbd06bc7df | ||
|
|
40232fc73e | ||
|
|
61c89a0683 | ||
|
|
f20d59c6a8 | ||
|
|
cede5053a4 | ||
|
|
3fcb6b50a3 | ||
|
|
992fe49b6d | ||
|
|
de34abc8ac | ||
|
|
049ea23eb9 | ||
|
|
c5cf7fa1a9 | ||
|
|
13e664ad05 | ||
|
|
a23429d143 | ||
|
|
686a12b2c7 | ||
|
|
6e7236981b | ||
|
|
5f0cac020c | ||
|
|
1a9708d45c | ||
|
|
0a286ac66a | ||
|
|
1cf5e39767 | ||
|
|
8a47deadfe | ||
|
|
cd092ce60b | ||
|
|
2a500bd6fc | ||
|
|
6871f32885 | ||
|
|
9fd4063025 | ||
|
|
c117f18d20 | ||
|
|
3c0b18570e | ||
|
|
eff2f1a99e | ||
|
|
d4cf27db70 | ||
|
|
f11173bcaf | ||
|
|
fd9b50d345 | ||
|
|
9060d3436c | ||
|
|
074d42a8bd | ||
|
|
280bd0e621 | ||
|
|
a5eceaa9f4 | ||
|
|
f48ff3cd61 | ||
|
|
847991c3c7 | ||
|
|
739336fc2d | ||
|
|
4fa170219b | ||
|
|
f2040f539c | ||
|
|
4b436cb491 | ||
|
|
b92eccc431 | ||
|
|
35b16dc81f | ||
|
|
f3f54fd69d | ||
|
|
9e2060d7e8 | ||
|
|
4ad237ab60 | ||
|
|
265828f4e8 | ||
|
|
99972940e4 | ||
|
|
24898f1f43 | ||
|
|
dddd785731 | ||
|
|
8f119ed6f2 | ||
|
|
88d223bd39 | ||
|
|
510c57c815 | ||
|
|
5cf1258cb8 | ||
|
|
bd409b8d28 | ||
|
|
f1f9b10470 | ||
|
|
1a4322d474 | ||
|
|
1715903ce3 | ||
|
|
4be7d211bf | ||
|
|
41a7de73c0 | ||
|
|
e3e6900385 | ||
|
|
347d13e3eb | ||
|
|
68119ce160 | ||
|
|
c19cb8fc8e | ||
|
|
88a5a06280 | ||
|
|
d8891cd748 | ||
|
|
473efd2804 | ||
|
|
b719a9f6a0 | ||
|
|
1fd9686e41 | ||
|
|
2bcfc36bc2 | ||
|
|
4a9a034626 | ||
|
|
0990e8d889 | ||
|
|
0e10623350 | ||
|
|
bddb4ae73d | ||
|
|
9f072581db | ||
|
|
7721258e89 | ||
|
|
14dddfcd66 | ||
|
|
acc2da7168 | ||
|
|
733a42ad71 | ||
|
|
be1bedadba | ||
|
|
65178f71c0 | ||
|
|
e2d97a84a3 | ||
|
|
3c83b05d01 | ||
|
|
7056b05cbf | ||
|
|
fa6dbca295 | ||
|
|
8486f01c84 | ||
|
|
68e0bbbd0c | ||
|
|
127416171a | ||
|
|
c8753463ae | ||
|
|
1f0a60c6de | ||
|
|
2591f9c8e8 | ||
|
|
3f86c720b1 | ||
|
|
341a5af281 | ||
|
|
ee23d7c860 | ||
|
|
796e1d18af | ||
|
|
79cdf1a57d | ||
|
|
5af26dfb4e | ||
|
|
d241dcb781 | ||
|
|
9440b05176 | ||
|
|
6326983f65 | ||
|
|
91779a34fe | ||
|
|
3e73fb65ea | ||
|
|
1c456b70c0 | ||
|
|
31b644c939 | ||
|
|
69786600b1 | ||
|
|
8b2b8d7b35 | ||
|
|
210d746ef6 | ||
|
|
319d3bfae3 | ||
|
|
2ab05350a3 | ||
|
|
f3a22b057b | ||
|
|
35ae655ba3 | ||
|
|
5592c53028 | ||
|
|
3c7f7ea27e | ||
|
|
9757ee0def | ||
|
|
bbacf4e671 | ||
|
|
ce77a5c4ad | ||
|
|
0a159d9c6d | ||
|
|
6576e51a79 | ||
|
|
f35feae49c | ||
|
|
ea04e45df5 | ||
|
|
19799aa514 | ||
|
|
056e26dfd3 | ||
|
|
0c6f7dbee1 | ||
|
|
4fc6db49ca | ||
|
|
8887fcc3ee | ||
|
|
c4333fd2dc | ||
|
|
02027deb06 | ||
|
|
d6f53ab1e9 | ||
|
|
5b21444c2e | ||
|
|
b25ba09e18 | ||
|
|
57fef06931 | ||
|
|
5fd5762c0c | ||
|
|
b438cc2419 | ||
|
|
8115b54ef9 | ||
|
|
71faaa56dc | ||
|
|
bfd4e7e890 | ||
|
|
5a4ee5ce50 | ||
|
|
bee26001f6 | ||
|
|
66d5a3b877 | ||
|
|
fa57c79722 | ||
|
|
330fd2cf8b | ||
|
|
4965e3eb1f | ||
|
|
10ce7e80af | ||
|
|
6ee0b3ff84 | ||
|
|
d4b2e27997 | ||
|
|
2e86cd21b6 | ||
|
|
f65cb63305 | ||
|
|
181461a19f | ||
|
|
d0a07effc6 | ||
|
|
0e97a4256a | ||
|
|
a402643630 | ||
|
|
a2d3d15142 | ||
|
|
cca6b49e38 | ||
|
|
d4c580fde3 | ||
|
|
15adb9d3f9 | ||
|
|
bef2384599 | ||
|
|
4f6b49ba99 | ||
|
|
7f25f62b4c | ||
|
|
fb6b639945 | ||
|
|
0519bb83fb | ||
|
|
cdcfde4f74 | ||
|
|
d096048106 | ||
|
|
5073acf398 | ||
|
|
c9bed8665f | ||
|
|
ee0dd5029a | ||
|
|
d9a367494a | ||
|
|
bbabac5f96 | ||
|
|
a95945c87a | ||
|
|
632d4006fd | ||
|
|
9f7d4c3b47 | ||
|
|
73b6f273dd | ||
|
|
fae0fb6c25 | ||
|
|
37425cc506 | ||
|
|
872d2a8ace | ||
|
|
be5a8c0060 | ||
|
|
ae3f847cef | ||
|
|
bd97d5ff2e | ||
|
|
3740426bb5 | ||
|
|
82c69ff68d | ||
|
|
672fc3716a | ||
|
|
d29ea104d2 | ||
|
|
7f1410e161 | ||
|
|
ba480fe1d8 | ||
|
|
85dbaf7aa8 | ||
|
|
1429d7b376 | ||
|
|
ce7b532c7f | ||
|
|
30c35f99d2 | ||
|
|
71de8fe0d8 | ||
|
|
ad3cf15ea4 | ||
|
|
a5e7b59a81 | ||
|
|
01c31aa8a8 | ||
|
|
4a93a31bb3 | ||
|
|
a95901ee5e | ||
|
|
0f3916520a | ||
|
|
35dc2b6e24 | ||
|
|
1536589a81 | ||
|
|
a6a056c622 | ||
|
|
81308f0569 | ||
|
|
6f8fdeb3fd | ||
|
|
471f270cb9 | ||
|
|
f0d9438e51 | ||
|
|
352b116049 | ||
|
|
b473576dec | ||
|
|
1ffdae45b3 | ||
|
|
7ce184f6cb | ||
|
|
88f41994d3 | ||
|
|
97a5d30b51 | ||
|
|
a14d88bcf8 | ||
|
|
aedc9244b5 | ||
|
|
ba6e72b421 | ||
|
|
0e1ddf8853 | ||
|
|
f81b074537 | ||
|
|
b41224f965 | ||
|
|
da46b9de21 | ||
|
|
b9f9ce7734 | ||
|
|
aaa8343b01 | ||
|
|
e5ce081e11 | ||
|
|
8974b96fbe | ||
|
|
68b8e4b376 | ||
|
|
49a764e864 | ||
|
|
161164b2cc | ||
|
|
e30d21aa7d | ||
|
|
4419019855 | ||
|
|
e062d895b6 | ||
|
|
88e876d10b | ||
|
|
1963a94f74 | ||
|
|
546de7f0bf | ||
|
|
958cae3e5d | ||
|
|
f4181c9e13 | ||
|
|
bf04ec2a97 | ||
|
|
4c56eace33 | ||
|
|
826258f646 | ||
|
|
6836b721d3 | ||
|
|
bfa81274af | ||
|
|
330a772240 | ||
|
|
16a9fe5230 | ||
|
|
162b882534 | ||
|
|
b503c7c4d4 | ||
|
|
2e9cf474e5 | ||
|
|
7675d97033 | ||
|
|
e8a0abafaa | ||
|
|
d1901e5815 | ||
|
|
5d1639a22e | ||
|
|
2fd02e42c3 | ||
|
|
90c0d4323f | ||
|
|
422aefb04b | ||
|
|
d1d73ab251 | ||
|
|
4bb564a35c | ||
|
|
57f503aa56 | ||
|
|
a6a0ace703 | ||
|
|
c9bbdbb24a | ||
|
|
9da4319dd4 | ||
|
|
a76813893c | ||
|
|
5f71486b74 | ||
|
|
6fb9ce1b53 | ||
|
|
87c3ba8faa | ||
|
|
5d101b0ded | ||
|
|
2969e8afc7 | ||
|
|
300bb3487e | ||
|
|
c14ae6ee72 | ||
|
|
25f27dcfdd | ||
|
|
7ad1947faa | ||
|
|
4f934969d4 | ||
|
|
b4d020c7c0 | ||
|
|
3f36771559 | ||
|
|
b059edbbe2 | ||
|
|
af1d3ee196 | ||
|
|
745b2f45a2 | ||
|
|
771cb9fd83 | ||
|
|
5823204964 | ||
|
|
9f9912f746 | ||
|
|
aaba2443fa | ||
|
|
b995c73b1e | ||
|
|
6951220a8a | ||
|
|
5fa6336d6f | ||
|
|
7a8082a88f | ||
|
|
8e987c0aec | ||
|
|
6a1dac2703 | ||
|
|
3d6a82c174 | ||
|
|
1fc5620af9 | ||
|
|
49ead8113e | ||
|
|
3cb9cab395 | ||
|
|
ecf7aba812 | ||
|
|
cc7b5e33d5 | ||
|
|
8b59e5491e | ||
|
|
1a11a72fc4 | ||
|
|
844615751f | ||
|
|
fbaeed19e2 | ||
|
|
4a30af2efe | ||
|
|
490b7c8448 | ||
|
|
0d89c980cb | ||
|
|
a2a5382ddb | ||
|
|
3483fe1188 | ||
|
|
99b2ba8944 | ||
|
|
6d46647fc9 | ||
|
|
1a253e02e8 | ||
|
|
2c62e691c3 | ||
|
|
73be2a22df | ||
|
|
9eee281255 | ||
|
|
3b06c3770b | ||
|
|
d2f7a5a18b | ||
|
|
54c71ebfd1 | ||
|
|
94c1038c79 | ||
|
|
21582d3886 | ||
|
|
7ea95fff72 | ||
|
|
c83ecbdda0 | ||
|
|
7d5cdbe895 | ||
|
|
13b130f2e5 | ||
|
|
d62c121e36 | ||
|
|
54c0d9a425 | ||
|
|
dec1805311 | ||
|
|
aae96a7c8c | ||
|
|
bae8da24b6 | ||
|
|
eb363db566 | ||
|
|
619f1eb3d1 | ||
|
|
a72f08ea2d | ||
|
|
afe5d8826d | ||
|
|
c19f49383f | ||
|
|
063edd7de2 | ||
|
|
68631a6e48 | ||
|
|
e19583b6b0 | ||
|
|
c601094c32 | ||
|
|
d942e989bd | ||
|
|
df3e2eff11 | ||
|
|
57dae4021d | ||
|
|
b1bf251309 | ||
|
|
5c5b677075 | ||
|
|
c9512a6d26 | ||
|
|
428f0385f6 | ||
|
|
2cfcec30e9 | ||
|
|
28777d9b6d | ||
|
|
6c50b7dafe | ||
|
|
858628b912 | ||
|
|
78f9abe350 | ||
|
|
9844127eed | ||
|
|
ed0aa08641 | ||
|
|
5c5a7ff79f | ||
|
|
a86a39c5ee | ||
|
|
45608b76b1 | ||
|
|
a3ed070921 | ||
|
|
9e8aad4cce | ||
|
|
d413aae44c | ||
|
|
9594ce60ad | ||
|
|
43f5cd083f | ||
|
|
3d26f83208 | ||
|
|
623e32d8bb | ||
|
|
6d6eb0c02c | ||
|
|
94baac9c4f | ||
|
|
69bb544165 | ||
|
|
6f4ac0a953 | ||
|
|
1a3ddfb172 | ||
|
|
4a0215e191 | ||
|
|
3c154e78b2 | ||
|
|
861e5968f5 | ||
|
|
4f324bc9cf | ||
|
|
16e2fb4f35 | ||
|
|
0e98f62502 | ||
|
|
82379ac8a3 | ||
|
|
07bde84b3f | ||
|
|
21cd33bea4 | ||
|
|
ceb0cb1669 | ||
|
|
8037a27cf5 | ||
|
|
976ec8e7f0 | ||
|
|
68c41f56dd | ||
|
|
7c3b0cdf91 | ||
|
|
3749954551 | ||
|
|
75c2c9e034 | ||
|
|
e924b904d0 | ||
|
|
60b70dc3dc | ||
|
|
93ceaf2343 | ||
|
|
741a3d6225 | ||
|
|
5e09cb3bf8 | ||
|
|
41803266f5 | ||
|
|
c8e116615c | ||
|
|
34ee3519cb | ||
|
|
4116e86433 | ||
|
|
cc6d36fd6e | ||
|
|
b325bc5e7c | ||
|
|
61a489fd01 | ||
|
|
6b1280b239 | ||
|
|
dbaa8a3bdb | ||
|
|
fab967d4fc | ||
|
|
505100372d | ||
|
|
9931ba125a | ||
|
|
05ae9cb9c2 | ||
|
|
e15fd2910b | ||
|
|
59713fc179 | ||
|
|
198ee5baa9 | ||
|
|
bc78185803 | ||
|
|
1de2418ed3 | ||
|
|
176525beb5 | ||
|
|
8f0a1e7a43 | ||
|
|
ca89ff36e2 | ||
|
|
cc5e4b9980 | ||
|
|
c1d060cd78 | ||
|
|
d93d185181 | ||
|
|
997adc7ea0 | ||
|
|
0ae785833b | ||
|
|
6788c238d2 | ||
|
|
afd126fb1e | ||
|
|
51f27e2f82 | ||
|
|
11a735fc5f | ||
|
|
5d92b60b2d | ||
|
|
340e0db0b7 | ||
|
|
a93b244b62 | ||
|
|
624c7ccac6 | ||
|
|
c8231bfb25 | ||
|
|
831fd4484f | ||
|
|
76296b7368 | ||
|
|
b07f2e321c | ||
|
|
2e6200f4f7 | ||
|
|
4010219579 | ||
|
|
5d2a86fecd | ||
|
|
87bf4efbe5 | ||
|
|
f589cbaae5 | ||
|
|
b24e7fc295 | ||
|
|
1c677fe001 | ||
|
|
c86392c0c9 | ||
|
|
befa6a1853 | ||
|
|
c62b2e7ee6 | ||
|
|
3fb29629c9 | ||
|
|
70942090bf | ||
|
|
bdb1bbe4fa | ||
|
|
f3b0aca83c | ||
|
|
b003cf4259 | ||
|
|
0506efb554 | ||
|
|
aedd9cfeb9 | ||
|
|
1174e299e0 | ||
|
|
08c94d3cee | ||
|
|
8244601d40 | ||
|
|
3cd6a6df4a | ||
|
|
4f65af78d2 | ||
|
|
973029aa3e | ||
|
|
6052b6dd0d | ||
|
|
142ac82910 | ||
|
|
653a000ae7 | ||
|
|
9ea166bdd3 | ||
|
|
13e7ae8d21 | ||
|
|
c82328dcb2 | ||
|
|
8404fad870 | ||
|
|
caf05dd530 | ||
|
|
99ee02c830 | ||
|
|
bac4213871 | ||
|
|
296d0131fd | ||
|
|
2bbab5ec8a | ||
|
|
09844d55e2 | ||
|
|
190c5b731e | ||
|
|
c6c82cc058 | ||
|
|
06ec26c5d0 | ||
|
|
803fbac840 | ||
|
|
6ee9767747 | ||
|
|
573fed68a4 | ||
|
|
838ed5de07 | ||
|
|
1a4cbd1d36 | ||
|
|
f7c5f88780 | ||
|
|
689e2a8011 | ||
|
|
9c1c0e4465 | ||
|
|
f62021633b | ||
|
|
5abe13c726 | ||
|
|
a1788b01c3 | ||
|
|
484d69a4b5 | ||
|
|
b5410eea12 | ||
|
|
ba4a1eb646 | ||
|
|
db9633496b | ||
|
|
fa46c9a1a4 | ||
|
|
3249c95a74 | ||
|
|
fe770c3864 | ||
|
|
e1a62a69f6 | ||
|
|
13f622b323 | ||
|
|
b2973909d4 | ||
|
|
6bbf194a74 | ||
|
|
0774453008 | ||
|
|
efd3ad21f2 | ||
|
|
2acf3ec7be | ||
|
|
77256fdfb7 | ||
|
|
2def84d9e0 | ||
|
|
a4d26cc3ad | ||
|
|
d56e0e563b | ||
|
|
07150df624 | ||
|
|
0b384a842f | ||
|
|
d08a0b1bba | ||
|
|
f73fee4a60 | ||
|
|
a682c6bbe4 | ||
|
|
baf43a81f0 | ||
|
|
8d943b483b | ||
|
|
bedd106c37 | ||
|
|
720709f298 | ||
|
|
5c48894d08 | ||
|
|
d3f559dfd6 | ||
|
|
f4a5e2477f | ||
|
|
61fab9e132 | ||
|
|
90fed7a1f9 | ||
|
|
3ca59e429d | ||
|
|
59e61ee0c6 | ||
|
|
74de07a22a | ||
|
|
cec193b93a | ||
|
|
f022315d11 | ||
|
|
d4ddbf0458 | ||
|
|
1286466669 | ||
|
|
20b7b0706e | ||
|
|
fe5708ac93 | ||
|
|
16485cee49 | ||
|
|
d2052c1403 | ||
|
|
db1804b4a7 | ||
|
|
d74618e9b6 | ||
|
|
6ca50257b4 | ||
|
|
a419314e38 | ||
|
|
f313f985ca | ||
|
|
9092f3210a | ||
|
|
d43dd7c5c9 | ||
|
|
582f631a88 | ||
|
|
5247aef49d | ||
|
|
a495c19635 | ||
|
|
ff6e9bb323 | ||
|
|
6fcdbf2e2a | ||
|
|
257295d63e | ||
|
|
92165bb7eb | ||
|
|
ab9eb5e8f7 | ||
|
|
2f82300b7d | ||
|
|
4d762660eb | ||
|
|
03847409cc | ||
|
|
9d04569b10 | ||
|
|
47074f97d7 | ||
|
|
2b8a3612cd | ||
|
|
33b81f5a1c | ||
|
|
23986a168e | ||
|
|
edd266a35d | ||
|
|
5f929205c3 | ||
|
|
3e3e10c59a | ||
|
|
2871f6e759 | ||
|
|
5e6f1041cb | ||
|
|
203783953d | ||
|
|
23b16d765c | ||
|
|
ba155a6cbb | ||
|
|
57d7c9846a | ||
|
|
0159be798f | ||
|
|
e5e0d43725 | ||
|
|
2bf3ae61b3 | ||
|
|
c09d8c05b3 | ||
|
|
78a75a1ff9 | ||
|
|
93bfc039f9 | ||
|
|
94f9ef3c30 | ||
|
|
3d89d7ad1b | ||
|
|
4ec8fc1350 | ||
|
|
8dc8b2d06f | ||
|
|
f8000756dc | ||
|
|
8f8fa50e43 | ||
|
|
472edbdcc6 | ||
|
|
a486cc46fa | ||
|
|
ce6a6ad723 | ||
|
|
da76203a5b | ||
|
|
86d1f5c6c3 |
9
.all-contributorsrc
Normal file
9
.all-contributorsrc
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"projectName": "homepage",
|
||||
"projectOwner": "benphelps",
|
||||
"files": [
|
||||
"README.md"
|
||||
],
|
||||
"imageSize": 100,
|
||||
"contributors": []
|
||||
}
|
||||
6
.devcontainer/Dockerfile
Normal file
6
.devcontainer/Dockerfile
Normal file
@@ -0,0 +1,6 @@
|
||||
ARG VARIANT="16-buster"
|
||||
FROM mcr.microsoft.com/vscode/devcontainers/javascript-node:${VARIANT}
|
||||
|
||||
RUN npm install -g pnpm
|
||||
|
||||
ENV PATH="${PATH}:./node_modules/.bin"
|
||||
27
.devcontainer/devcontainer.json
Normal file
27
.devcontainer/devcontainer.json
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"name": "homepage",
|
||||
"build": {
|
||||
"dockerfile": "Dockerfile",
|
||||
"args": {
|
||||
"VARIANT": "18-buster"
|
||||
}
|
||||
},
|
||||
"customizations": {
|
||||
"vscode": {
|
||||
"extensions": [
|
||||
"dbaeumer.vscode-eslint",
|
||||
"mhutchie.git-graph",
|
||||
"streetsidesoftware.code-spell-checker",
|
||||
],
|
||||
"settings": {
|
||||
"eslint.format.enable": true,
|
||||
"eslint.lintTask.enable": true,
|
||||
"eslint.packageManager": "pnpm"
|
||||
}
|
||||
}
|
||||
},
|
||||
"postCreateCommand": ".devcontainer/setup.sh",
|
||||
"forwardPorts": [
|
||||
3000
|
||||
]
|
||||
}
|
||||
11
.devcontainer/setup.sh
Executable file
11
.devcontainer/setup.sh
Executable file
@@ -0,0 +1,11 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Install Node packages
|
||||
pnpm install
|
||||
|
||||
# Copy in skeleton configuration if there is no existing configuration
|
||||
if [ ! -d "config/" ]; then
|
||||
echo "Adding skeleton config"
|
||||
mkdir config/
|
||||
cp -r src/skeleton/* config
|
||||
fi
|
||||
@@ -20,5 +20,7 @@
|
||||
**/obj
|
||||
**/secrets.dev.yaml
|
||||
**/values.dev.yaml
|
||||
**/.next
|
||||
README.md
|
||||
config/
|
||||
k3d/
|
||||
|
||||
30
.github/ISSUE_TEMPLATE/bug_report.md
vendored
30
.github/ISSUE_TEMPLATE/bug_report.md
vendored
@@ -1,30 +0,0 @@
|
||||
---
|
||||
name: Bug report
|
||||
about: Create a report to help us improve
|
||||
title: "[Bug] "
|
||||
labels: ''
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**Describe the bug**
|
||||
A clear and concise description of what the bug is.
|
||||
|
||||
**Expected behavior**
|
||||
A clear and concise description of what you expected to happen.
|
||||
|
||||
**Screenshots**
|
||||
If applicable, add screenshots to help explain your problem.
|
||||
|
||||
**Configuration**
|
||||
If applicable,
|
||||
```yaml
|
||||
# Please provide your service, widget or otherwise related configuration here
|
||||
```
|
||||
|
||||
**Additional context**
|
||||
Add any other context about the problem here. This includes things like:
|
||||
- Service version or API version
|
||||
- Docker version
|
||||
- Deployment method
|
||||
- Sample YAML configurations
|
||||
87
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
Normal file
87
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
Normal file
@@ -0,0 +1,87 @@
|
||||
name: Bug report
|
||||
description: Create a report to help us improve
|
||||
title: "[Bug] "
|
||||
labels: ["bug"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Have a question? 👉 [Start a new discussion](https://github.com/benphelps/homepage/discussions/new) or [ask in chat](https://discord.gg/SaPGSzrEZC).
|
||||
|
||||
Before opening an issue, please double check:
|
||||
|
||||
- [The troubleshooting guide](https://gethomepage.dev/en/more/troubleshooting/).
|
||||
- [The homepage documentation](https://gethomepage.dev/)
|
||||
- [Existing issues](https://github.com/benphelps/homepage/search?q=&type=issues) and [discussions](https://github.com/benphelps/homepage/search?q=&type=discussions).
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Description
|
||||
description: A clear and concise description of what the bug is. If applicable, add screenshots to help explain your problem.
|
||||
placeholder: |
|
||||
Currently homepage does not work when...
|
||||
|
||||
[Screenshot if applicable]
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: reproduction
|
||||
attributes:
|
||||
label: Steps to reproduce
|
||||
description: Steps to reproduce the behavior.
|
||||
placeholder: |
|
||||
1. Go to '...'
|
||||
2. Click on '....'
|
||||
3. See error
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: version
|
||||
attributes:
|
||||
label: homepage version
|
||||
placeholder: e.g. v0.4.18 (4ea2798)
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: install-method
|
||||
attributes:
|
||||
label: Installation method
|
||||
options:
|
||||
- Docker
|
||||
- Unraid
|
||||
- Source
|
||||
- Other (please describe above)
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: config
|
||||
attributes:
|
||||
label: Configuration
|
||||
description: Please provide any relevant service, widget or otherwise related configuration here
|
||||
render: yaml
|
||||
- type: textarea
|
||||
id: container-logs
|
||||
attributes:
|
||||
label: Container Logs
|
||||
description: Please review and provide any logs from the container, if relevant
|
||||
- type: textarea
|
||||
id: browser-logs
|
||||
attributes:
|
||||
label: Browser Logs
|
||||
description: Please review and provide any logs from the browser, if relevant
|
||||
- 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.
|
||||
- type: checkboxes
|
||||
id: pre-flight
|
||||
attributes:
|
||||
label: Before submitting, I have made sure to
|
||||
options:
|
||||
- label: Check [the documentation](https://gethomepage.dev/)
|
||||
required: true
|
||||
- label: Follow [the troubleshooting guide](https://gethomepage.dev/en/more/troubleshooting/) (please include output above if applicable).
|
||||
required: true
|
||||
- label: Search [existing issues](https://github.com/benphelps/homepage/search?q=&type=issues) and [discussions](https://github.com/benphelps/homepage/search?q=&type=discussions).
|
||||
required: true
|
||||
17
.github/ISSUE_TEMPLATE/feature_request.md
vendored
17
.github/ISSUE_TEMPLATE/feature_request.md
vendored
@@ -1,17 +0,0 @@
|
||||
---
|
||||
name: Feature request
|
||||
about: Suggest an idea for this project
|
||||
title: "[Feature Request] "
|
||||
labels: ''
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**Is your feature request related to a service? Please describe.**
|
||||
A clear and concise description of what you would like to see from this service.
|
||||
|
||||
**Is your feature request related to a problem? Please describe.**
|
||||
A clear and concise description of what the problem is. Ex. I would like it if [...]
|
||||
|
||||
**Additional context**
|
||||
Add any other context or screenshots about the feature request here.
|
||||
17
.github/ISSUE_TEMPLATE/feature_request.yml
vendored
Normal file
17
.github/ISSUE_TEMPLATE/feature_request.yml
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
name: Feature request
|
||||
description: Suggest an idea for this project
|
||||
title: "[Feature Request] "
|
||||
labels: ["enhancement"]
|
||||
body:
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Description
|
||||
description: A clear and concise description of what you would like to see.
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: other
|
||||
attributes:
|
||||
label: Other
|
||||
description: Add any other context or information about the feature request here.
|
||||
16
.github/workflows/docker-publish.yml
vendored
16
.github/workflows/docker-publish.yml
vendored
@@ -43,7 +43,7 @@ jobs:
|
||||
if: github.event_name != 'pull_request'
|
||||
uses: sigstore/cosign-installer@main
|
||||
with:
|
||||
cosign-release: 'v1.11.0' # optional
|
||||
cosign-release: 'v1.13.1' # optional
|
||||
|
||||
# Setup QEMU
|
||||
# https://github.com/marketplace/actions/docker-setup-buildx#with-qemu
|
||||
@@ -109,13 +109,13 @@ jobs:
|
||||
# repository is public to avoid leaking data. If you would like to publish
|
||||
# transparency data even for private images, pass --force to cosign below.
|
||||
# https://github.com/sigstore/cosign
|
||||
- name: Sign the published Docker image
|
||||
if: ${{ github.event_name != 'pull_request' }}
|
||||
env:
|
||||
COSIGN_EXPERIMENTAL: "true"
|
||||
# This step uses the identity token to provision an ephemeral certificate
|
||||
# against the sigstore community Fulcio instance.
|
||||
run: echo "${{ steps.meta.outputs.tags }}" | xargs -I {} cosign sign {}@${{ steps.build-and-push.outputs.digest }}
|
||||
# - name: Sign the published Docker image
|
||||
# if: ${{ github.event_name != 'pull_request' }}
|
||||
# env:
|
||||
# COSIGN_EXPERIMENTAL: "true"
|
||||
# # This step uses the identity token to provision an ephemeral certificate
|
||||
# # against the sigstore community Fulcio instance.
|
||||
# run: echo "${{ steps.meta.outputs.tags }}" | xargs -I {} cosign sign {}@${{ steps.build-and-push.outputs.digest }}
|
||||
|
||||
# Temp fix
|
||||
# https://github.com/docker/build-push-action/issues/252
|
||||
|
||||
5
.gitignore
vendored
5
.gitignore
vendored
@@ -41,3 +41,8 @@ next-env.d.ts
|
||||
|
||||
# homepage
|
||||
/config
|
||||
|
||||
# IDEs
|
||||
/.idea/
|
||||
|
||||
|
||||
|
||||
10
Dockerfile
10
Dockerfile
@@ -1,7 +1,7 @@
|
||||
# syntax = docker/dockerfile:latest
|
||||
|
||||
# Install dependencies only when needed
|
||||
FROM node:current-alpine AS deps
|
||||
FROM docker.io/node:18-alpine AS deps
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
@@ -11,7 +11,7 @@ RUN <<EOF
|
||||
set -xe
|
||||
apk add libc6-compat
|
||||
apk add --virtual .gyp python3 make g++
|
||||
yarn global add pnpm
|
||||
npm install -g pnpm
|
||||
EOF
|
||||
|
||||
RUN --mount=type=cache,id=pnpm-store,target=/root/.local/share/pnpm/store pnpm fetch | grep -v "cross-device link not permitted\|Falling back to copying packages from store"
|
||||
@@ -19,7 +19,7 @@ RUN --mount=type=cache,id=pnpm-store,target=/root/.local/share/pnpm/store pnpm f
|
||||
RUN --mount=type=cache,id=pnpm-store,target=/root/.local/share/pnpm/store pnpm install -r --offline
|
||||
|
||||
# Rebuild the source code only when needed
|
||||
FROM node:current-alpine AS builder
|
||||
FROM docker.io/node:18-alpine AS builder
|
||||
WORKDIR /app
|
||||
|
||||
ARG BUILDTIME
|
||||
@@ -31,13 +31,13 @@ COPY . .
|
||||
|
||||
RUN <<EOF
|
||||
set -xe
|
||||
yarn next telemetry disable
|
||||
npm run telemetry
|
||||
mkdir config && echo '-' > config/settings.yaml
|
||||
NEXT_PUBLIC_BUILDTIME=$BUILDTIME NEXT_PUBLIC_VERSION=$VERSION NEXT_PUBLIC_REVISION=$REVISION npm run build
|
||||
EOF
|
||||
|
||||
# Production image, copy all the files and run next
|
||||
FROM node:current-alpine AS runner
|
||||
FROM docker.io/node:18-alpine AS runner
|
||||
LABEL org.opencontainers.image.title "Homepage"
|
||||
LABEL org.opencontainers.image.description "A self-hosted services landing page, with docker and service integrations."
|
||||
LABEL org.opencontainers.image.url="https://github.com/benphelps/homepage"
|
||||
|
||||
22
Dockerfile-tilt
Normal file
22
Dockerfile-tilt
Normal file
@@ -0,0 +1,22 @@
|
||||
# syntax = docker/dockerfile:latest
|
||||
FROM docker.io/node:18-alpine
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
COPY --link package.json pnpm-lock.yaml* ./
|
||||
|
||||
RUN <<EOF
|
||||
set -xe
|
||||
apk add libc6-compat
|
||||
apk add --virtual .gyp python3 make g++
|
||||
npm install -g pnpm
|
||||
npm install -g next
|
||||
EOF
|
||||
|
||||
RUN --mount=type=cache,id=pnpm-store,target=/root/.local/share/pnpm/store pnpm fetch | grep -v "cross-device link not permitted\|Falling back to copying packages from store"
|
||||
|
||||
RUN --mount=type=cache,id=pnpm-store,target=/root/.local/share/pnpm/store pnpm install -r --offline
|
||||
|
||||
COPY . .
|
||||
|
||||
CMD ["npx", "next", "dev"]
|
||||
78
README.md
78
README.md
@@ -38,22 +38,24 @@
|
||||
- Images built for AMD64 (x86_64), ARM64, ARMv7 and ARMv6
|
||||
- Supports all Raspberry Pi's, most SBCs & Apple Silicon
|
||||
- Full i18n support with automatic language detection
|
||||
- Translantions for Catalan, Chinese, Dutch, Finnish, French, German, Hebrew, Hungarian, Norwegian Bokmål, Polish, Portuguese, Portuguese (Brazil), Romainian, Russian, Spanish, Swedish and Yue
|
||||
- Translations for Catalan, Chinese, Dutch, Finnish, French, German, Hebrew, Hungarian, Malay, Norwegian Bokmål, Polish, Portuguese, Portuguese (Brazil), Romanian, Russian, Spanish, Swedish and Yue
|
||||
- Want to help translate? [Join the Weblate project](https://hosted.weblate.org/engage/homepage/)
|
||||
- Service & Web Bookmarks
|
||||
- Docker Integration
|
||||
- Container status (Running / Stopped) & statistics (CPU, Memory, Network)
|
||||
- Automatic service discovery (via labels)
|
||||
- Service Integration
|
||||
- Sonarr, Radarr, Readarr, Prowlarr, Bazarr, Lidarr, Emby, Jellyfin, Tautulli (Plex)
|
||||
- Ombi, Overseerr, Jellyseerr, Jackett, NZBGet, SABnzbd, ruTorrent, Transmission, qBittorrent
|
||||
- Portainer, Traefik, Speedtest Tracker, PiHole, AdGuard Home, Nginx Proxy Manager, Gotify, Syncthing Relay Server, Authentic, Proxmox
|
||||
- Sonarr, Radarr, Readarr, Prowlarr, Bazarr, Lidarr, Emby, Jellyfin, Tautulli, Plex and more
|
||||
- Ombi, Overseerr, Jellyseerr, Jackett, NZBGet, SABnzbd, ruTorrent, Transmission, qBittorrent and more
|
||||
- Portainer, Traefik, Speedtest Tracker, PiHole, AdGuard Home, Nginx Proxy Manager, Gotify, Syncthing Relay Server, Authentik, Proxmox and more
|
||||
- Information Providers
|
||||
- Coin Market Cap, Mastodon
|
||||
- Coin Market Cap, Mastodon and more
|
||||
- Information & Utility Widgets
|
||||
- System Stats (Disk, CPU, Memory)
|
||||
- Weather via WeatherAPI.com or OpenWeatherMap
|
||||
- Search Bar
|
||||
- Weather via [OpenWeatherMap](https://openweathermap.org/) or [Open-Meteo](https://open-meteo.com/)
|
||||
- Web Search Bar
|
||||
- UniFi Console, Glances and more
|
||||
- Instant "Quick-launch" search
|
||||
- Customizable
|
||||
- 21 theme colors with light and dark mode support
|
||||
- Background image support
|
||||
@@ -63,11 +65,11 @@
|
||||
|
||||
If you have any questions, suggestions, or general issues, please start a discussion on the [Discussions](https://github.com/benphelps/homepage/discussions) page.
|
||||
|
||||
If you have a more specific issue, please open an issue on the [Issues](https://github.com/benphelps/homepage/issues) page.
|
||||
For bug reports, please open an issue on the [Issues](https://github.com/benphelps/homepage/issues) page.
|
||||
|
||||
## Getting Started
|
||||
|
||||
For configuration options, examples and more, [please check out the Wiki](https://github.com/benphelps/homepage/wiki).
|
||||
For configuration options, examples and more, [please check out the homepage site](http://gethomepage.dev).
|
||||
|
||||
### With Docker
|
||||
|
||||
@@ -83,7 +85,7 @@ services:
|
||||
- 3000:3000
|
||||
volumes:
|
||||
- /path/to/config:/app/config # Make sure your local config directory exists
|
||||
- /var/run/docker.sock:/var/run/docker.sock # (optional) For docker integrations
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro # (optional) For docker integrations
|
||||
```
|
||||
|
||||
or docker run:
|
||||
@@ -117,12 +119,12 @@ pnpm start
|
||||
|
||||
## Configuration
|
||||
|
||||
Configuration files will be genereted and placed on the first request.
|
||||
Configuration files will be generated and placed on the first request.
|
||||
|
||||
Configuration is done in the /config directory using .yaml files. Refer to each config for
|
||||
the specific configuration options.
|
||||
|
||||
You may also check [the wiki](https://github.com/benphelps/homepage/wiki) for detailed configuration instructions, examples and more.
|
||||
You may also check [the homepage site](http://gethomepage.dev) for detailed configuration instructions, examples and more.
|
||||
|
||||
## Development
|
||||
|
||||
@@ -144,47 +146,17 @@ This is a [Next.js](https://nextjs.org/) application, see their doucmentation fo
|
||||
|
||||
## Contributors
|
||||
|
||||
Huge thanks to the all the contributors who have helped make this project what it is today! In alphabetical order:
|
||||
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
|
||||
<!-- prettier-ignore-start -->
|
||||
<!-- markdownlint-disable -->
|
||||
|
||||
- [aidenpwnz](https://github.com/benphelps/homepage/commits?author=aidenpwnz) - Nginx Proxy Manager, Search Bar Widget
|
||||
- [AlexFullmoon](https://github.com/benphelps/homepage/commits?author=AlexFullmoon) - OpenWeatherMap Widget
|
||||
- [andrii-kryvoviaz](https://github.com/benphelps/homepage/commits?author=andrii-kryvoviaz) - Background opacity option
|
||||
- [DevPGSV](https://github.com/benphelps/homepage/commits?author=DevPGSV) - Syncthing Relay Server & Mastodon widgets
|
||||
- [ilusi0n](https://github.com/benphelps/homepage/commits?author=ilusi0n) - Jellyseerr Integration
|
||||
- [ItsJustMeChris](https://github.com/benphelps/homepage/commits?author=ItsJustMeChris) - Coin Market Cap Widget
|
||||
- [JazzFisch](https://github.com/benphelps/homepage/commits?author=JazzFisch) - Readarr, Bazarr, Lidarr, SABnzbd, Transmission, qBittorrent, Proxmox Integrations & countless more improvements
|
||||
- [josways](https://github.com/benphelps/homepage/commits?author=josways) - Baidu search provider
|
||||
- [mauricio-kalil](https://github.com/benphelps/homepage/commits?author=mauricio-kalil) - Portuguese (Brazil)
|
||||
- [modem7](https://github.com/benphelps/homepage/commits?author=modem7) - Impvoed Docker Image
|
||||
- [MountainGod2](https://github.com/benphelps/homepage/discussions/243) - Homepage Logo
|
||||
- [quod](https://github.com/benphelps/homepage/commits?author=quod) - Fixed Typos
|
||||
- [schklom](https://github.com/benphelps/homepage/commits?author=schklom) - ARM64, ARMv7 and ARMv6
|
||||
- [xicopitz](https://github.com/benphelps/homepage/commits?author=xicopitz) - Gotify & Prowlarr Integration
|
||||
<!-- markdownlint-restore -->
|
||||
<!-- prettier-ignore-end -->
|
||||
|
||||
### Translators
|
||||
<!-- ALL-CONTRIBUTORS-LIST:END -->
|
||||
|
||||
- [3vilson](https://github.com/benphelps/homepage/commits?author=3vilson) - German
|
||||
- [4lenz1](https://github.com/benphelps/homepage/commits?author=4lenz1) - Chinese
|
||||
- [AmadeusGraves](https://github.com/benphelps/homepage/commits?author=AmadeusGraves) - Spanish
|
||||
- [boerniee](https://github.com/benphelps/homepage/commits?author=boerniee) - German
|
||||
- [brunoccr](https://github.com/benphelps/homepage/commits?author=brunoccr) - Portuguese (Brazil)
|
||||
- [C8opmBM](https://github.com/benphelps/homepage/commits?author=C8opmBM) - Romainian
|
||||
- [comradekingu](https://github.com/benphelps/homepage/commits?author=comradekingu) - Norwegian Bokmål
|
||||
- Daniel Varga - German & Hungarian
|
||||
- [deffcolony](https://github.com/benphelps/homepage/commits?author=deffcolony) - Dutch
|
||||
- [desolaris](https://github.com/benphelps/homepage/commits?author=desolaris) - Russian
|
||||
- [ericlokz](https://github.com/benphelps/homepage/commits?author=ericlokz) - Yue
|
||||
- [FunsKiTo](https://github.com/benphelps/homepage/commits?author=FunsKiTo) - Spanish
|
||||
- [jackblk](https://github.com/benphelps/homepage/commits?author=jackblk) - Vietnamese
|
||||
- [juanmanuelbc](https://github.com/benphelps/homepage/commits?author=juanmanuelbc) - Spanish and Catalan
|
||||
- [ling0412](https://github.com/benphelps/homepage/commits?author=ling0412) - Chinese
|
||||
- [milotype](https://github.com/benphelps/homepage/commits?author=milotype) - Croatian
|
||||
- [nicedc](https://github.com/benphelps/homepage/commits?author=nicedc) - Chinese
|
||||
- [Nonoss117](https://github.com/benphelps/homepage/commits?author=Nonoss117) - French
|
||||
- [pacoculebras](https://github.com/benphelps/homepage/commits?author=pacoculebras) - Catalan
|
||||
- [Prilann](https://github.com/benphelps/homepage/commits?author=Prilann) - German
|
||||
- [psychodracon](https://github.com/benphelps/homepage/commits?author=psychodracon) - Polish
|
||||
- Sascha Jelinek - German
|
||||
- [ShlomiPorush](https://github.com/benphelps/homepage/commits?author=ShlomiPorush) - Hebrew
|
||||
- [SuperDOS](https://github.com/benphelps/homepage/commits?author=SuperDOS) - Swedish
|
||||
- [kaihu](https://github.com/benphelps/homepage/commits?author=kaihu) - Finnish
|
||||
|
||||
|
||||
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
|
||||
[](#contributors)
|
||||
<!-- ALL-CONTRIBUTORS-BADGE:END -->
|
||||
|
||||
2
k3d/.envrc
Normal file
2
k3d/.envrc
Normal file
@@ -0,0 +1,2 @@
|
||||
#shellcheck disable=SC2148,SC2155
|
||||
export KUBECONFIG=$(readlink -f ./kubeconfig)
|
||||
2
k3d/.gitignore
vendored
Normal file
2
k3d/.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
kubeconfig
|
||||
|
||||
64
k3d/README.md
Normal file
64
k3d/README.md
Normal file
@@ -0,0 +1,64 @@
|
||||
# Kubernetes Development
|
||||
|
||||
These configs and scripts attempt to simplify spinning up a kubernetes cluster
|
||||
for development and testing purposes. It leverages [k3d](https://k3d.io) to create
|
||||
a [k3s](https://k3s.io) cluster in Docker. Homepage can then be deployed either via
|
||||
the `k3d-deploy.sh` script, or [tilt](https://tilt.dev) can be used to spin up a
|
||||
local CI loop that will automatically update the deployment.
|
||||
|
||||
All the commands in the document should be run from the `k3d` directory.
|
||||
|
||||
## Requisite Tools
|
||||
|
||||
| Tool | Description |
|
||||
|-------------------------------------------------------------|----------------------------------------------------------|
|
||||
| [docker](https://docker.io) | Docker container runtime |
|
||||
| [kubectl](https://kubernetes.io/releases/download/#kubectl) | Kubernetes CLI |
|
||||
| [helm](https://helm.sh) | Kubernetes package manager |
|
||||
| [k3d](https://k3d.io) | Kubernetes on Docker - used to create the cluster |
|
||||
| [k9s](https://k9scli.io) | (Optional) Command line view for kubernetes cluster |
|
||||
| [tilt](https://tilt.dev) | (Optional) Local CI loop for kubernetes deployment |
|
||||
| [direnv](https://direnv.net/) | (Optional) Automatically loads `kubeconfig` via `.envrc` |
|
||||
|
||||
|
||||
## One-off Test Deployments
|
||||
|
||||
Create a cluster:
|
||||
|
||||
```sh
|
||||
./k3d-up.sh
|
||||
```
|
||||
|
||||
Build and deploy:
|
||||
|
||||
```sh
|
||||
./k3d-deploy.sh
|
||||
```
|
||||
|
||||
Open the Homepage deployment:
|
||||
|
||||
```sh
|
||||
xdg-open http://homepage.k3d.localhost:8080/
|
||||
```
|
||||
|
||||
## Continuous Deployment
|
||||
|
||||
Create a cluster:
|
||||
|
||||
```sh
|
||||
./k3d-up.sh
|
||||
```
|
||||
|
||||
Kick off tilt:
|
||||
|
||||
```sh
|
||||
tilt up
|
||||
```
|
||||
|
||||
Press space bar to open the tilt web UI, which is quite informative.
|
||||
|
||||
Open the Homepage deployment:
|
||||
|
||||
```sh
|
||||
xdg-open http://homepage.k3d.localhost:8080/
|
||||
```
|
||||
25
k3d/Tiltfile
Normal file
25
k3d/Tiltfile
Normal file
@@ -0,0 +1,25 @@
|
||||
docker_build('k3d-registry.localhost:55000/homepage:local', '..',
|
||||
dockerfile = "../Dockerfile-tilt",
|
||||
build_args={'node_env': 'development'},
|
||||
#entrypoint='pnpm run nodemon /app/server.js',
|
||||
live_update=[
|
||||
sync('.', '/app'),
|
||||
run('cd /app && pnpm install', trigger=['.package.json', './pnpm-lock.yaml'])
|
||||
]
|
||||
)
|
||||
load('ext://helm_resource', 'helm_resource', 'helm_repo')
|
||||
helm_repo('jameswynn', 'https://jameswynn.github.io/helm-charts')
|
||||
|
||||
helm_resource('homepage', 'jameswynn/homepage',
|
||||
image_deps=[
|
||||
"k3d-registry.localhost:55000/homepage:local"
|
||||
],
|
||||
image_keys=[
|
||||
("image.repository", "image.tag")
|
||||
],
|
||||
# image_selector= "k3d-registry.localhost:55000/homepage:local",
|
||||
flags=[
|
||||
"-f", "k3d-helm-values.yaml",
|
||||
"--set", "persistence.dotnext.enabled=true"
|
||||
]
|
||||
)
|
||||
14
k3d/k3d-deploy.sh
Executable file
14
k3d/k3d-deploy.sh
Executable file
@@ -0,0 +1,14 @@
|
||||
#!/bin/bash
|
||||
|
||||
DOCKER_BUILDKIT=1 docker build -t k3d-registry.localhost:55000/homepage:local ..
|
||||
docker push k3d-registry.localhost:55000/homepage:local
|
||||
|
||||
HELM_REPO_NAME=jameswynn
|
||||
HELM_REPO_URL=https://jameswynn.github.io/helm-charts
|
||||
|
||||
if ! helm repo list | grep $HELM_REPO_URL > /dev/null; then
|
||||
helm repo add $HELM_REPO_NAME $HELM_REPO_URL
|
||||
helm repo update
|
||||
fi
|
||||
|
||||
helm upgrade --install homepage jameswynn/homepage -f k3d-helm-values.yaml
|
||||
4
k3d/k3d-down.sh
Executable file
4
k3d/k3d-down.sh
Executable file
@@ -0,0 +1,4 @@
|
||||
#!/bin/bash
|
||||
|
||||
k3d cluster delete homepage
|
||||
rm kubeconfig
|
||||
78
k3d/k3d-helm-values.yaml
Normal file
78
k3d/k3d-helm-values.yaml
Normal file
@@ -0,0 +1,78 @@
|
||||
image:
|
||||
repository: k3d-registry.localhost:55000/homepage
|
||||
tag: local
|
||||
pullPolicy: Always
|
||||
|
||||
config:
|
||||
bookmarks:
|
||||
- Developer:
|
||||
- Github:
|
||||
- abbr: GH
|
||||
href: https://github.com/
|
||||
services:
|
||||
- My First Group:
|
||||
- My First Service:
|
||||
href: http://localhost/
|
||||
description: Homepage is awesome
|
||||
|
||||
- My Second Group:
|
||||
- My Second Service:
|
||||
href: http://localhost/
|
||||
description: Homepage is the best
|
||||
|
||||
- My Third Group:
|
||||
- My Third Service:
|
||||
href: http://localhost/
|
||||
description: Homepage is 😎
|
||||
widgets:
|
||||
# show the kubernetes widget, with the cluster summary and individual nodes
|
||||
- kubernetes:
|
||||
cluster:
|
||||
show: true
|
||||
cpu: true
|
||||
memory: true
|
||||
showLabel: true
|
||||
label: "cluster"
|
||||
nodes:
|
||||
show: true
|
||||
cpu: true
|
||||
memory: true
|
||||
showLabel: true
|
||||
- search:
|
||||
provider: duckduckgo
|
||||
target: _blank
|
||||
kubernetes:
|
||||
mode: cluster
|
||||
docker:
|
||||
settings:
|
||||
|
||||
serviceAccount:
|
||||
create: true
|
||||
name: homepage
|
||||
|
||||
enableRbac: true
|
||||
|
||||
ingress:
|
||||
main:
|
||||
enabled: true
|
||||
annotations:
|
||||
gethomepage.dev/enabled: "true"
|
||||
gethomepage.dev/name: "Homepage"
|
||||
gethomepage.dev/description: "Dynamically Detected Homepage"
|
||||
gethomepage.dev/group: "Dynamic"
|
||||
gethomepage.dev/icon: "homepage.png"
|
||||
hosts:
|
||||
- host: homepage.k3d.localhost
|
||||
paths:
|
||||
- path: /
|
||||
pathType: Prefix
|
||||
|
||||
persistence:
|
||||
# this persists the .next directory which greatly improves successive pod startup times in Tilt,
|
||||
# but it breaks normal deployments, so it is disabled by default
|
||||
dotnext:
|
||||
enabled: false
|
||||
type: pvc
|
||||
accessMode: ReadWriteOnce
|
||||
size: 1Gi
|
||||
mountPath: /app/.next
|
||||
9
k3d/k3d-up.sh
Executable file
9
k3d/k3d-up.sh
Executable file
@@ -0,0 +1,9 @@
|
||||
#!/bin/bash
|
||||
|
||||
k3d cluster create --config k3d.yaml --wait
|
||||
k3d kubeconfig get homepage > kubeconfig
|
||||
chmod 600 kubeconfig
|
||||
export KUBECONFIG=$(pwd)/kubeconfig
|
||||
|
||||
echo "Waiting for traefik install job to complete (CTRL+C is safe if you're impatient)"
|
||||
kubectl wait jobs/helm-install-traefik -n kube-system --for condition=complete --timeout 90s && echo "Completed" || echo "Timed out (but it should still come up eventually)"
|
||||
59
k3d/k3d.yaml
Normal file
59
k3d/k3d.yaml
Normal file
@@ -0,0 +1,59 @@
|
||||
kind: Simple
|
||||
apiVersion: k3d.io/v1alpha3
|
||||
name: homepage
|
||||
servers: 1
|
||||
agents: 2
|
||||
kubeAPI:
|
||||
hostIP: 0.0.0.0
|
||||
hostPort: "6443"
|
||||
image: rancher/k3s:v1.25.5-k3s1
|
||||
volumes:
|
||||
- volume: /tmp:/tmp/k3d-homepage
|
||||
nodeFilters:
|
||||
- all
|
||||
ports:
|
||||
- port: 8080:80
|
||||
nodeFilters:
|
||||
- loadbalancer
|
||||
- port: 0.0.0.0:8443:443
|
||||
nodeFilters:
|
||||
- loadbalancer
|
||||
options:
|
||||
k3d:
|
||||
wait: true
|
||||
timeout: 6m0s
|
||||
disableLoadbalancer: false
|
||||
disableImageVolume: false
|
||||
disableRollback: false
|
||||
k3s:
|
||||
extraArgs:
|
||||
- arg: --tls-san=127.0.0.1
|
||||
nodeFilters:
|
||||
- server:*
|
||||
nodeLabels: []
|
||||
kubeconfig:
|
||||
updateDefaultKubeconfig: false
|
||||
switchCurrentContext: false
|
||||
runtime:
|
||||
gpuRequest: ""
|
||||
serversMemory: "1024Mi"
|
||||
agentsMemory: "1024Mi"
|
||||
labels:
|
||||
- label: foo=bar
|
||||
nodeFilters:
|
||||
- server:0
|
||||
- loadbalancer
|
||||
env:
|
||||
- envVar: bar=baz
|
||||
nodeFilters:
|
||||
- all
|
||||
registries:
|
||||
create:
|
||||
name: k3d-registry
|
||||
# host: 0.0.0.0
|
||||
hostPort: "55000"
|
||||
config: |
|
||||
mirrors:
|
||||
"k3d-registry.localhost:55000":
|
||||
endpoint:
|
||||
- http://k3d-registry:5000
|
||||
147
kubernetes.md
Normal file
147
kubernetes.md
Normal file
@@ -0,0 +1,147 @@
|
||||
# Kubernetes Support
|
||||
|
||||
## Requirements
|
||||
|
||||
* Kubernetes 1.19+
|
||||
* Metrics service
|
||||
* An Ingress controller
|
||||
|
||||
## Deployment
|
||||
|
||||
Use the unofficial helm chart: https://github.com/jameswynn/helm-charts/tree/main/charts/homepage
|
||||
|
||||
```sh
|
||||
helm repo add jameswynn https://jameswynn.github.io/helm-charts
|
||||
helm install my-release jameswynn/homepage
|
||||
```
|
||||
|
||||
### Configuration
|
||||
|
||||
Set the `mode` in the `kubernetes.yaml` to `cluster`.
|
||||
|
||||
```yaml
|
||||
mode: default
|
||||
```
|
||||
|
||||
## Widgets
|
||||
|
||||
The Kubernetes widget can show a high-level overview of the cluster,
|
||||
individual nodes, or both.
|
||||
|
||||
```yaml
|
||||
- kubernetes:
|
||||
cluster:
|
||||
# Shows the cluster node
|
||||
show: true
|
||||
# Shows the aggregate CPU stats
|
||||
cpu: true
|
||||
# Shows the aggregate memory stats
|
||||
memory: true
|
||||
# Shows a custom label
|
||||
showLabel: true
|
||||
label: "cluster"
|
||||
nodes:
|
||||
# Shows the clusters
|
||||
show: true
|
||||
# Shows the CPU for each node
|
||||
cpu: true
|
||||
# Shows the memory for each node
|
||||
memory: true
|
||||
# Shows the label, which is always the node name
|
||||
showLabel: true
|
||||
```
|
||||
|
||||
## Service Discovery
|
||||
|
||||
Sample yaml:
|
||||
|
||||
```yaml
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: homepage
|
||||
annotations:
|
||||
gethomepage.dev/enabled: "true"
|
||||
gethomepage.dev/description: Dynamically Detected Homepage
|
||||
gethomepage.dev/group: Operations
|
||||
gethomepage.dev/icon: homepage.png
|
||||
gethomepage.dev/name: Homepage
|
||||
spec:
|
||||
rules:
|
||||
- host: homepage.example.com
|
||||
http:
|
||||
paths:
|
||||
- backend:
|
||||
service:
|
||||
name: homepage
|
||||
port:
|
||||
number: 3000
|
||||
path: /
|
||||
pathType: Prefix
|
||||
```
|
||||
|
||||
## Service Widgets
|
||||
|
||||
To manually configure a Service Widget the `namespace` and `app` fields must
|
||||
be configured on the service entry.
|
||||
|
||||
```yaml
|
||||
- Home Automation
|
||||
- Home-Assistant:
|
||||
icon: home-assistant.png
|
||||
href: https://home.example.com
|
||||
description: Home Automation
|
||||
app: home-assistant
|
||||
namespace: home
|
||||
```
|
||||
|
||||
This works by creating a label selector `app.kubernetes.io/name=home-assistant`,
|
||||
which typically will be the same both for the ingress and the deployment. However,
|
||||
some deployments can be complex and will not conform to this rule. In such
|
||||
cases the `podSelector` variable can bridge the gap. Any field selector can
|
||||
be used in it which allows for some powerful selection capabilities.
|
||||
|
||||
For instance, it can be utilized to roll multiple underlying deployments under
|
||||
one application to see a high-level aggregate:
|
||||
|
||||
```yaml
|
||||
- Comms
|
||||
- Element Chat:
|
||||
icon: matrix-light.png
|
||||
href: https://chat.example.com
|
||||
description: Matrix Synapse Powered Chat
|
||||
app: matrix-element
|
||||
namespace: comms
|
||||
podSelector: >-
|
||||
app.kubernetes.io/instance in (
|
||||
matrix-element,
|
||||
matrix-media-repo,
|
||||
matrix-media-repo-postgresql,
|
||||
matrix-synapse
|
||||
)
|
||||
```
|
||||
|
||||
## Longhorn Widget
|
||||
|
||||
There is a widget for showing storage stats from [Longhorn](https://longhorn.io).
|
||||
Configure it from the `widgets.yaml`.
|
||||
|
||||
```yaml
|
||||
- longhorn:
|
||||
# Show the expanded
|
||||
expanded: true
|
||||
# Shows a node representing the aggregate values
|
||||
total: true
|
||||
# Shows the node names as labels
|
||||
labels: true
|
||||
# Show the nodes
|
||||
nodes: true
|
||||
# An explicit list of nodes to show. All are shown by default if "nodes" is true
|
||||
include:
|
||||
- node1
|
||||
- node2
|
||||
```
|
||||
|
||||
## Testing
|
||||
|
||||
Refer to the [k3d readme](k3d/README.md).
|
||||
@@ -98,20 +98,21 @@ module.exports = {
|
||||
);
|
||||
|
||||
i18next.services.formatter.add("rate", (value, lng, options) => {
|
||||
if (value === 0) return "0 Bps";
|
||||
|
||||
const bits = options.bits ? value : value / 8;
|
||||
const k = 1024;
|
||||
const k = options.binary ? 1024 : 1000;
|
||||
const sizes = options.bits ? (options.binary ? BIBIT_UNITS : BIT_UNITS) : (options.binary ? BIBYTE_UNITS : BYTE_UNITS);
|
||||
|
||||
if (value === 0) return `0 ${sizes[0]}/s`;
|
||||
|
||||
const dm = options.decimals ? options.decimals : 0;
|
||||
const sizes = ["Bps", "Kbps", "Mbps", "Gbps", "Tbps", "Pbps", "Ebps", "Zbps", "Ybps"];
|
||||
|
||||
const i = Math.floor(Math.log(bits) / Math.log(k));
|
||||
const i = options.binary ? 2 : Math.floor(Math.log(value) / Math.log(k));
|
||||
|
||||
const formatted = new Intl.NumberFormat(lng, { maximumFractionDigits: dm, minimumFractionDigits: dm }).format(
|
||||
parseFloat(bits / k ** i)
|
||||
parseFloat(value / k ** i)
|
||||
);
|
||||
|
||||
return `${formatted} ${sizes[i]}`;
|
||||
return `${formatted} ${sizes[i]}/s`;
|
||||
});
|
||||
|
||||
i18next.services.formatter.add("percent", (value, lng, options) =>
|
||||
|
||||
8518
package-lock.json
generated
Normal file
8518
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
@@ -11,6 +11,7 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@headlessui/react": "^1.7.2",
|
||||
"@kubernetes/client-node": "^0.17.1",
|
||||
"classnames": "^2.3.2",
|
||||
"compare-versions": "^5.0.1",
|
||||
"dockerode": "^3.3.4",
|
||||
|
||||
480
pnpm-lock.yaml
generated
480
pnpm-lock.yaml
generated
@@ -2,6 +2,7 @@ lockfileVersion: 5.4
|
||||
|
||||
specifiers:
|
||||
'@headlessui/react': ^1.7.2
|
||||
'@kubernetes/client-node': ^0.17.1
|
||||
'@tailwindcss/forms': ^0.5.3
|
||||
autoprefixer: ^10.4.12
|
||||
classnames: ^2.3.2
|
||||
@@ -44,6 +45,7 @@ specifiers:
|
||||
|
||||
dependencies:
|
||||
'@headlessui/react': 1.7.2_biqbaboplfbrettd7655fr4n2y
|
||||
'@kubernetes/client-node': 0.17.1
|
||||
classnames: 2.3.2
|
||||
compare-versions: 5.0.1
|
||||
dockerode: 3.3.4
|
||||
@@ -171,6 +173,30 @@ packages:
|
||||
resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==}
|
||||
dev: true
|
||||
|
||||
/@kubernetes/client-node/0.17.1:
|
||||
resolution: {integrity: sha512-qXANjukuTq/drb1hq1NCYZafpdRTvbyTzbliWO6RwW7eEb2b9qwINbw0DiVHpBQg3e9DeQd8+brI1sR1Fck5kQ==}
|
||||
dependencies:
|
||||
byline: 5.0.0
|
||||
execa: 5.0.0
|
||||
isomorphic-ws: 4.0.1_ws@7.5.9
|
||||
js-yaml: 4.1.0
|
||||
jsonpath-plus: 0.19.0
|
||||
request: 2.88.2
|
||||
rfc4648: 1.5.2
|
||||
shelljs: 0.8.5
|
||||
stream-buffers: 3.0.2
|
||||
tar: 6.1.13
|
||||
tmp-promise: 3.0.3
|
||||
tslib: 1.14.1
|
||||
underscore: 1.13.6
|
||||
ws: 7.5.9
|
||||
optionalDependencies:
|
||||
openid-client: 5.3.1
|
||||
transitivePeerDependencies:
|
||||
- bufferutil
|
||||
- utf-8-validate
|
||||
dev: false
|
||||
|
||||
/@next/env/12.3.1:
|
||||
resolution: {integrity: sha512-9P9THmRFVKGKt9DYqeC2aKIxm8rlvkK38V1P1sRE7qyoPBIs8l9oo79QoSdPtOWfzkbDAVUqvbQGgTMsb8BtJg==}
|
||||
dev: false
|
||||
@@ -467,7 +493,6 @@ packages:
|
||||
fast-json-stable-stringify: 2.1.0
|
||||
json-schema-traverse: 0.4.1
|
||||
uri-js: 4.4.1
|
||||
dev: true
|
||||
|
||||
/ansi-regex/5.0.1:
|
||||
resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
|
||||
@@ -546,6 +571,11 @@ packages:
|
||||
safer-buffer: 2.1.2
|
||||
dev: false
|
||||
|
||||
/assert-plus/1.0.0:
|
||||
resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==}
|
||||
engines: {node: '>=0.8'}
|
||||
dev: false
|
||||
|
||||
/ast-types-flow/0.0.7:
|
||||
resolution: {integrity: sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==}
|
||||
dev: true
|
||||
@@ -574,6 +604,14 @@ packages:
|
||||
postcss-value-parser: 4.2.0
|
||||
dev: true
|
||||
|
||||
/aws-sign2/0.7.0:
|
||||
resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==}
|
||||
dev: false
|
||||
|
||||
/aws4/1.12.0:
|
||||
resolution: {integrity: sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==}
|
||||
dev: false
|
||||
|
||||
/axe-core/4.4.3:
|
||||
resolution: {integrity: sha512-32+ub6kkdhhWick/UjvEwRchgoetXqTK14INLqbGm5U2TzBkBNF3nQtLYm8ovxSkQWArjEQvftCKryjZaATu3w==}
|
||||
engines: {node: '>=4'}
|
||||
@@ -585,7 +623,6 @@ packages:
|
||||
|
||||
/balanced-match/1.0.2:
|
||||
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
|
||||
dev: true
|
||||
|
||||
/base64-js/1.5.1:
|
||||
resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
|
||||
@@ -615,7 +652,6 @@ packages:
|
||||
dependencies:
|
||||
balanced-match: 1.0.2
|
||||
concat-map: 0.0.1
|
||||
dev: true
|
||||
|
||||
/braces/3.0.2:
|
||||
resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
|
||||
@@ -648,6 +684,11 @@ packages:
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/byline/5.0.0:
|
||||
resolution: {integrity: sha512-s6webAy+R4SR8XVuJWt2V2rGvhnrhxN+9S15GNuTK3wKPOXFF6RNc+8ug2XhH+2s4f+uudG4kUVYmYOQWL2g0Q==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: false
|
||||
|
||||
/bytes/3.1.2:
|
||||
resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
|
||||
engines: {node: '>= 0.8'}
|
||||
@@ -673,6 +714,10 @@ packages:
|
||||
/caniuse-lite/1.0.30001410:
|
||||
resolution: {integrity: sha512-QoblBnuE+rG0lc3Ur9ltP5q47lbguipa/ncNMyyGuqPk44FxbScWAeEO+k5fSQ8WekdAK4mWqNs1rADDAiN5xQ==}
|
||||
|
||||
/caseless/0.12.0:
|
||||
resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==}
|
||||
dev: false
|
||||
|
||||
/chalk/4.1.2:
|
||||
resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
|
||||
engines: {node: '>=10'}
|
||||
@@ -700,6 +745,11 @@ packages:
|
||||
resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==}
|
||||
dev: false
|
||||
|
||||
/chownr/2.0.0:
|
||||
resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==}
|
||||
engines: {node: '>=10'}
|
||||
dev: false
|
||||
|
||||
/classnames/2.3.2:
|
||||
resolution: {integrity: sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==}
|
||||
dev: false
|
||||
@@ -758,7 +808,6 @@ packages:
|
||||
|
||||
/concat-map/0.0.1:
|
||||
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
|
||||
dev: true
|
||||
|
||||
/confusing-browser-globals/1.0.11:
|
||||
resolution: {integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==}
|
||||
@@ -774,13 +823,17 @@ packages:
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
|
||||
/core-util-is/1.0.2:
|
||||
resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==}
|
||||
dev: false
|
||||
|
||||
/cpu-features/0.0.4:
|
||||
resolution: {integrity: sha512-fKiZ/zp1mUwQbnzb9IghXtHtDoTMtNeb8oYGx6kX2SYfhnG0HNdBEBIzB9b5KlXu5DQPhfy3mInbBxFcgwAr3A==}
|
||||
engines: {node: '>=10.0.0'}
|
||||
requiresBuild: true
|
||||
dependencies:
|
||||
buildcheck: 0.0.3
|
||||
nan: 2.16.0
|
||||
nan: 2.17.0
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
@@ -791,7 +844,6 @@ packages:
|
||||
path-key: 3.1.1
|
||||
shebang-command: 2.0.0
|
||||
which: 2.0.2
|
||||
dev: true
|
||||
|
||||
/cssesc/3.0.0:
|
||||
resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
|
||||
@@ -807,6 +859,13 @@ packages:
|
||||
resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==}
|
||||
dev: true
|
||||
|
||||
/dashdash/1.14.1:
|
||||
resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==}
|
||||
engines: {node: '>=0.10'}
|
||||
dependencies:
|
||||
assert-plus: 1.0.0
|
||||
dev: false
|
||||
|
||||
/debug/2.6.9:
|
||||
resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
|
||||
peerDependencies:
|
||||
@@ -928,6 +987,13 @@ packages:
|
||||
esutils: 2.0.3
|
||||
dev: true
|
||||
|
||||
/ecc-jsbn/0.1.2:
|
||||
resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==}
|
||||
dependencies:
|
||||
jsbn: 0.1.1
|
||||
safer-buffer: 2.1.2
|
||||
dev: false
|
||||
|
||||
/electron-to-chromium/1.4.261:
|
||||
resolution: {integrity: sha512-fVXliNUGJ7XUVJSAasPseBbVgJIeyw5M1xIkgXdTSRjlmCqBbiSTsEdLOCJS31Fc8B7CaloQ/BFAg8By3ODLdg==}
|
||||
dev: true
|
||||
@@ -1396,9 +1462,32 @@ packages:
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: true
|
||||
|
||||
/execa/5.0.0:
|
||||
resolution: {integrity: sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ==}
|
||||
engines: {node: '>=10'}
|
||||
dependencies:
|
||||
cross-spawn: 7.0.3
|
||||
get-stream: 6.0.1
|
||||
human-signals: 2.1.0
|
||||
is-stream: 2.0.1
|
||||
merge-stream: 2.0.0
|
||||
npm-run-path: 4.0.1
|
||||
onetime: 5.1.2
|
||||
signal-exit: 3.0.7
|
||||
strip-final-newline: 2.0.0
|
||||
dev: false
|
||||
|
||||
/extend/3.0.2:
|
||||
resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
|
||||
dev: false
|
||||
|
||||
/extsprintf/1.3.0:
|
||||
resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==}
|
||||
engines: {'0': node >=0.6.0}
|
||||
dev: false
|
||||
|
||||
/fast-deep-equal/3.1.3:
|
||||
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
|
||||
dev: true
|
||||
|
||||
/fast-diff/1.2.0:
|
||||
resolution: {integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==}
|
||||
@@ -1417,7 +1506,6 @@ packages:
|
||||
|
||||
/fast-json-stable-stringify/2.1.0:
|
||||
resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
|
||||
dev: true
|
||||
|
||||
/fast-levenshtein/2.0.6:
|
||||
resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
|
||||
@@ -1481,6 +1569,19 @@ packages:
|
||||
optional: true
|
||||
dev: false
|
||||
|
||||
/forever-agent/0.6.1:
|
||||
resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==}
|
||||
dev: false
|
||||
|
||||
/form-data/2.3.3:
|
||||
resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==}
|
||||
engines: {node: '>= 0.12'}
|
||||
dependencies:
|
||||
asynckit: 0.4.0
|
||||
combined-stream: 1.0.8
|
||||
mime-types: 2.1.35
|
||||
dev: false
|
||||
|
||||
/form-data/3.0.1:
|
||||
resolution: {integrity: sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==}
|
||||
engines: {node: '>= 6'}
|
||||
@@ -1498,9 +1599,15 @@ packages:
|
||||
resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==}
|
||||
dev: false
|
||||
|
||||
/fs-minipass/2.1.0:
|
||||
resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==}
|
||||
engines: {node: '>= 8'}
|
||||
dependencies:
|
||||
minipass: 3.3.6
|
||||
dev: false
|
||||
|
||||
/fs.realpath/1.0.0:
|
||||
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
|
||||
dev: true
|
||||
|
||||
/fsevents/2.3.2:
|
||||
resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
|
||||
@@ -1512,7 +1619,6 @@ packages:
|
||||
|
||||
/function-bind/1.1.1:
|
||||
resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
|
||||
dev: true
|
||||
|
||||
/function.prototype.name/1.1.5:
|
||||
resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==}
|
||||
@@ -1536,6 +1642,11 @@ packages:
|
||||
has-symbols: 1.0.3
|
||||
dev: true
|
||||
|
||||
/get-stream/6.0.1:
|
||||
resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
|
||||
engines: {node: '>=10'}
|
||||
dev: false
|
||||
|
||||
/get-symbol-description/1.0.0:
|
||||
resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==}
|
||||
engines: {node: '>= 0.4'}
|
||||
@@ -1544,6 +1655,12 @@ packages:
|
||||
get-intrinsic: 1.1.3
|
||||
dev: true
|
||||
|
||||
/getpass/0.1.7:
|
||||
resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==}
|
||||
dependencies:
|
||||
assert-plus: 1.0.0
|
||||
dev: false
|
||||
|
||||
/glob-parent/5.1.2:
|
||||
resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
|
||||
engines: {node: '>= 6'}
|
||||
@@ -1578,7 +1695,6 @@ packages:
|
||||
minimatch: 3.1.2
|
||||
once: 1.4.0
|
||||
path-is-absolute: 1.0.1
|
||||
dev: true
|
||||
|
||||
/globals/13.17.0:
|
||||
resolution: {integrity: sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==}
|
||||
@@ -1603,6 +1719,20 @@ packages:
|
||||
resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==}
|
||||
dev: true
|
||||
|
||||
/har-schema/2.0.0:
|
||||
resolution: {integrity: sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==}
|
||||
engines: {node: '>=4'}
|
||||
dev: false
|
||||
|
||||
/har-validator/5.1.5:
|
||||
resolution: {integrity: sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==}
|
||||
engines: {node: '>=6'}
|
||||
deprecated: this library is no longer supported
|
||||
dependencies:
|
||||
ajv: 6.12.6
|
||||
har-schema: 2.0.0
|
||||
dev: false
|
||||
|
||||
/has-bigints/1.0.2:
|
||||
resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
|
||||
dev: true
|
||||
@@ -1635,7 +1765,6 @@ packages:
|
||||
engines: {node: '>= 0.4.0'}
|
||||
dependencies:
|
||||
function-bind: 1.1.1
|
||||
dev: true
|
||||
|
||||
/hoist-non-react-statics/3.3.2:
|
||||
resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==}
|
||||
@@ -1660,6 +1789,20 @@ packages:
|
||||
toidentifier: 1.0.1
|
||||
dev: false
|
||||
|
||||
/http-signature/1.2.0:
|
||||
resolution: {integrity: sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==}
|
||||
engines: {node: '>=0.8', npm: '>=1.3.7'}
|
||||
dependencies:
|
||||
assert-plus: 1.0.0
|
||||
jsprim: 1.4.2
|
||||
sshpk: 1.17.0
|
||||
dev: false
|
||||
|
||||
/human-signals/2.1.0:
|
||||
resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
|
||||
engines: {node: '>=10.17.0'}
|
||||
dev: false
|
||||
|
||||
/i18next-fs-backend/1.1.5:
|
||||
resolution: {integrity: sha512-raTel3EfshiUXxR0gvmIoqp75jhkj8+7R1LjB006VZKPTFBbXyx6TlUVhb8Z9+7ahgpFbcQg1QWVOdf/iNzI5A==}
|
||||
dev: false
|
||||
@@ -1704,7 +1847,6 @@ packages:
|
||||
dependencies:
|
||||
once: 1.4.0
|
||||
wrappy: 1.0.2
|
||||
dev: true
|
||||
|
||||
/inherits/2.0.4:
|
||||
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
|
||||
@@ -1718,6 +1860,11 @@ packages:
|
||||
side-channel: 1.0.4
|
||||
dev: true
|
||||
|
||||
/interpret/1.4.0:
|
||||
resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==}
|
||||
engines: {node: '>= 0.10'}
|
||||
dev: false
|
||||
|
||||
/is-arrayish/0.3.2:
|
||||
resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==}
|
||||
dev: false
|
||||
@@ -1752,7 +1899,6 @@ packages:
|
||||
resolution: {integrity: sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==}
|
||||
dependencies:
|
||||
has: 1.0.3
|
||||
dev: true
|
||||
|
||||
/is-date-object/1.0.5:
|
||||
resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
|
||||
@@ -1823,6 +1969,10 @@ packages:
|
||||
has-symbols: 1.0.3
|
||||
dev: true
|
||||
|
||||
/is-typedarray/1.0.0:
|
||||
resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==}
|
||||
dev: false
|
||||
|
||||
/is-weakref/1.0.2:
|
||||
resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==}
|
||||
dependencies:
|
||||
@@ -1831,7 +1981,23 @@ packages:
|
||||
|
||||
/isexe/2.0.0:
|
||||
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
|
||||
dev: true
|
||||
|
||||
/isomorphic-ws/4.0.1_ws@7.5.9:
|
||||
resolution: {integrity: sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==}
|
||||
peerDependencies:
|
||||
ws: '*'
|
||||
dependencies:
|
||||
ws: 7.5.9
|
||||
dev: false
|
||||
|
||||
/isstream/0.1.2:
|
||||
resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==}
|
||||
dev: false
|
||||
|
||||
/jose/4.11.2:
|
||||
resolution: {integrity: sha512-njj0VL2TsIxCtgzhO+9RRobBvws4oYyCM8TpvoUQwl/MbIM3NFJRR9+e6x0sS5xXaP1t6OCBkaBME98OV9zU5A==}
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/js-sdsl/4.1.4:
|
||||
resolution: {integrity: sha512-Y2/yD55y5jteOAmY50JbUZYwk3CP3wnLPEZnlR1w9oKhITrBEtAxwuWKebFf8hMrPMgbYwFoWK/lH2sBkErELw==}
|
||||
@@ -1846,18 +2012,29 @@ packages:
|
||||
dependencies:
|
||||
argparse: 2.0.1
|
||||
|
||||
/jsbn/0.1.1:
|
||||
resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==}
|
||||
dev: false
|
||||
|
||||
/json-rpc-2.0/1.4.1:
|
||||
resolution: {integrity: sha512-OX1NJhpIfuK4GjDnJ/gKtZy1HOYo0l4eL0a4rb0rNeQheX1xlyQ9+JMmPzs/sFNthpS/TXKPWlGo09X7B5l81A==}
|
||||
dev: false
|
||||
|
||||
/json-schema-traverse/0.4.1:
|
||||
resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
|
||||
dev: true
|
||||
|
||||
/json-schema/0.4.0:
|
||||
resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==}
|
||||
dev: false
|
||||
|
||||
/json-stable-stringify-without-jsonify/1.0.1:
|
||||
resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
|
||||
dev: true
|
||||
|
||||
/json-stringify-safe/5.0.1:
|
||||
resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==}
|
||||
dev: false
|
||||
|
||||
/json5/1.0.1:
|
||||
resolution: {integrity: sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==}
|
||||
hasBin: true
|
||||
@@ -1865,6 +2042,21 @@ packages:
|
||||
minimist: 1.2.6
|
||||
dev: true
|
||||
|
||||
/jsonpath-plus/0.19.0:
|
||||
resolution: {integrity: sha512-GSVwsrzW9LsA5lzsqe4CkuZ9wp+kxBb2GwNniaWzI2YFn5Ig42rSW8ZxVpWXaAfakXNrx5pgY5AbQq7kzX29kg==}
|
||||
engines: {node: '>=6.0'}
|
||||
dev: false
|
||||
|
||||
/jsprim/1.4.2:
|
||||
resolution: {integrity: sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==}
|
||||
engines: {node: '>=0.6.0'}
|
||||
dependencies:
|
||||
assert-plus: 1.0.0
|
||||
extsprintf: 1.3.0
|
||||
json-schema: 0.4.0
|
||||
verror: 1.10.0
|
||||
dev: false
|
||||
|
||||
/jsx-ast-utils/3.3.3:
|
||||
resolution: {integrity: sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==}
|
||||
engines: {node: '>=4.0'}
|
||||
@@ -1932,12 +2124,15 @@ packages:
|
||||
engines: {node: '>=10'}
|
||||
dependencies:
|
||||
yallist: 4.0.0
|
||||
dev: true
|
||||
|
||||
/memory-cache/0.2.0:
|
||||
resolution: {integrity: sha512-OcjA+jzjOYzKmKS6IQVALHLVz+rNTMPoJvCztFaZxwG14wtAW7VRZjwTQu06vKCYOxh4jVnik7ya0SXTB0W+xA==}
|
||||
dev: false
|
||||
|
||||
/merge-stream/2.0.0:
|
||||
resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
|
||||
dev: false
|
||||
|
||||
/merge2/1.4.1:
|
||||
resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
|
||||
engines: {node: '>= 8'}
|
||||
@@ -1963,6 +2158,11 @@ packages:
|
||||
mime-db: 1.52.0
|
||||
dev: false
|
||||
|
||||
/mimic-fn/2.1.0:
|
||||
resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
|
||||
engines: {node: '>=6'}
|
||||
dev: false
|
||||
|
||||
/mini-svg-data-uri/1.4.4:
|
||||
resolution: {integrity: sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==}
|
||||
hasBin: true
|
||||
@@ -1972,16 +2172,43 @@ packages:
|
||||
resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
|
||||
dependencies:
|
||||
brace-expansion: 1.1.11
|
||||
dev: true
|
||||
|
||||
/minimist/1.2.6:
|
||||
resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==}
|
||||
dev: true
|
||||
|
||||
/minipass/3.3.6:
|
||||
resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==}
|
||||
engines: {node: '>=8'}
|
||||
dependencies:
|
||||
yallist: 4.0.0
|
||||
dev: false
|
||||
|
||||
/minipass/4.0.0:
|
||||
resolution: {integrity: sha512-g2Uuh2jEKoht+zvO6vJqXmYpflPqzRBT+Th2h01DKh5z7wbY/AZ2gCQ78cP70YoHPyFdY30YBV5WxgLOEwOykw==}
|
||||
engines: {node: '>=8'}
|
||||
dependencies:
|
||||
yallist: 4.0.0
|
||||
dev: false
|
||||
|
||||
/minizlib/2.1.2:
|
||||
resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==}
|
||||
engines: {node: '>= 8'}
|
||||
dependencies:
|
||||
minipass: 3.3.6
|
||||
yallist: 4.0.0
|
||||
dev: false
|
||||
|
||||
/mkdirp-classic/0.5.3:
|
||||
resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==}
|
||||
dev: false
|
||||
|
||||
/mkdirp/1.0.4:
|
||||
resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==}
|
||||
engines: {node: '>=10'}
|
||||
hasBin: true
|
||||
dev: false
|
||||
|
||||
/ms/2.0.0:
|
||||
resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
|
||||
dev: true
|
||||
@@ -1992,8 +2219,8 @@ packages:
|
||||
/ms/2.1.3:
|
||||
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
|
||||
|
||||
/nan/2.16.0:
|
||||
resolution: {integrity: sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==}
|
||||
/nan/2.17.0:
|
||||
resolution: {integrity: sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==}
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
@@ -2102,11 +2329,28 @@ packages:
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: true
|
||||
|
||||
/npm-run-path/4.0.1:
|
||||
resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
|
||||
engines: {node: '>=8'}
|
||||
dependencies:
|
||||
path-key: 3.1.1
|
||||
dev: false
|
||||
|
||||
/oauth-sign/0.9.0:
|
||||
resolution: {integrity: sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==}
|
||||
dev: false
|
||||
|
||||
/object-assign/4.1.1:
|
||||
resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: true
|
||||
|
||||
/object-hash/2.2.0:
|
||||
resolution: {integrity: sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==}
|
||||
engines: {node: '>= 6'}
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/object-hash/3.0.0:
|
||||
resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
|
||||
engines: {node: '>= 6'}
|
||||
@@ -2165,6 +2409,12 @@ packages:
|
||||
es-abstract: 1.20.3
|
||||
dev: true
|
||||
|
||||
/oidc-token-hash/5.0.1:
|
||||
resolution: {integrity: sha512-EvoOtz6FIEBzE+9q253HsLCVRiK/0doEJ2HCvvqMQb3dHZrP3WlJKYtJ55CRTw4jmYomzH4wkPuCj/I3ZvpKxQ==}
|
||||
engines: {node: ^10.13.0 || >=12.0.0}
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/once/1.4.0:
|
||||
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
|
||||
dependencies:
|
||||
@@ -2176,6 +2426,24 @@ packages:
|
||||
fn.name: 1.1.0
|
||||
dev: false
|
||||
|
||||
/onetime/5.1.2:
|
||||
resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
|
||||
engines: {node: '>=6'}
|
||||
dependencies:
|
||||
mimic-fn: 2.1.0
|
||||
dev: false
|
||||
|
||||
/openid-client/5.3.1:
|
||||
resolution: {integrity: sha512-RLfehQiHch9N6tRWNx68cicf3b1WR0x74bJWHRc25uYIbSRwjxYcTFaRnzbbpls5jroLAaB/bFIodTgA5LJMvw==}
|
||||
requiresBuild: true
|
||||
dependencies:
|
||||
jose: 4.11.2
|
||||
lru-cache: 6.0.0
|
||||
object-hash: 2.2.0
|
||||
oidc-token-hash: 5.0.1
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/optionator/0.9.1:
|
||||
resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==}
|
||||
engines: {node: '>= 0.8.0'}
|
||||
@@ -2217,22 +2485,23 @@ packages:
|
||||
/path-is-absolute/1.0.1:
|
||||
resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: true
|
||||
|
||||
/path-key/3.1.1:
|
||||
resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
|
||||
engines: {node: '>=8'}
|
||||
dev: true
|
||||
|
||||
/path-parse/1.0.7:
|
||||
resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
|
||||
dev: true
|
||||
|
||||
/path-type/4.0.0:
|
||||
resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
|
||||
engines: {node: '>=8'}
|
||||
dev: true
|
||||
|
||||
/performance-now/2.1.0:
|
||||
resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==}
|
||||
dev: false
|
||||
|
||||
/picocolors/1.0.0:
|
||||
resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
|
||||
|
||||
@@ -2371,6 +2640,11 @@ packages:
|
||||
resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==}
|
||||
engines: {node: '>=6'}
|
||||
|
||||
/qs/6.5.3:
|
||||
resolution: {integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==}
|
||||
engines: {node: '>=0.6'}
|
||||
dev: false
|
||||
|
||||
/querystringify/2.2.0:
|
||||
resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==}
|
||||
dev: false
|
||||
@@ -2464,6 +2738,13 @@ packages:
|
||||
picomatch: 2.3.1
|
||||
dev: true
|
||||
|
||||
/rechoir/0.6.2:
|
||||
resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==}
|
||||
engines: {node: '>= 0.10'}
|
||||
dependencies:
|
||||
resolve: 1.22.1
|
||||
dev: false
|
||||
|
||||
/regenerator-runtime/0.13.9:
|
||||
resolution: {integrity: sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==}
|
||||
|
||||
@@ -2481,6 +2762,33 @@ packages:
|
||||
engines: {node: '>=8'}
|
||||
dev: true
|
||||
|
||||
/request/2.88.2:
|
||||
resolution: {integrity: sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==}
|
||||
engines: {node: '>= 6'}
|
||||
deprecated: request has been deprecated, see https://github.com/request/request/issues/3142
|
||||
dependencies:
|
||||
aws-sign2: 0.7.0
|
||||
aws4: 1.12.0
|
||||
caseless: 0.12.0
|
||||
combined-stream: 1.0.8
|
||||
extend: 3.0.2
|
||||
forever-agent: 0.6.1
|
||||
form-data: 2.3.3
|
||||
har-validator: 5.1.5
|
||||
http-signature: 1.2.0
|
||||
is-typedarray: 1.0.0
|
||||
isstream: 0.1.2
|
||||
json-stringify-safe: 5.0.1
|
||||
mime-types: 2.1.35
|
||||
oauth-sign: 0.9.0
|
||||
performance-now: 2.1.0
|
||||
qs: 6.5.3
|
||||
safe-buffer: 5.2.1
|
||||
tough-cookie: 2.5.0
|
||||
tunnel-agent: 0.6.0
|
||||
uuid: 3.4.0
|
||||
dev: false
|
||||
|
||||
/requires-port/1.0.0:
|
||||
resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==}
|
||||
dev: false
|
||||
@@ -2497,7 +2805,6 @@ packages:
|
||||
is-core-module: 2.10.0
|
||||
path-parse: 1.0.7
|
||||
supports-preserve-symlinks-flag: 1.0.0
|
||||
dev: true
|
||||
|
||||
/resolve/2.0.0-next.4:
|
||||
resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==}
|
||||
@@ -2513,12 +2820,15 @@ packages:
|
||||
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
|
||||
dev: true
|
||||
|
||||
/rfc4648/1.5.2:
|
||||
resolution: {integrity: sha512-tLOizhR6YGovrEBLatX1sdcuhoSCXddw3mqNVAcKxGJ+J0hFeJ+SjeWCv5UPA/WU3YzWPPuCVYgXBKZUPGpKtg==}
|
||||
dev: false
|
||||
|
||||
/rimraf/3.0.2:
|
||||
resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
glob: 7.2.3
|
||||
dev: true
|
||||
|
||||
/run-parallel/1.2.0:
|
||||
resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
|
||||
@@ -2588,12 +2898,20 @@ packages:
|
||||
engines: {node: '>=8'}
|
||||
dependencies:
|
||||
shebang-regex: 3.0.0
|
||||
dev: true
|
||||
|
||||
/shebang-regex/3.0.0:
|
||||
resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
|
||||
engines: {node: '>=8'}
|
||||
dev: true
|
||||
|
||||
/shelljs/0.8.5:
|
||||
resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==}
|
||||
engines: {node: '>=4'}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
glob: 7.2.3
|
||||
interpret: 1.4.0
|
||||
rechoir: 0.6.2
|
||||
dev: false
|
||||
|
||||
/shvl/3.0.0:
|
||||
resolution: {integrity: sha512-5IomAM3ykE/g9K9L6lhODc+TpCuN03rrhlboegeKyyfh66DDdpRD5JN37DYhNHH+RaYjiIDx64K/Ms/xQYOR5w==}
|
||||
@@ -2607,6 +2925,10 @@ packages:
|
||||
object-inspect: 1.12.2
|
||||
dev: true
|
||||
|
||||
/signal-exit/3.0.7:
|
||||
resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
|
||||
dev: false
|
||||
|
||||
/simple-swizzle/0.2.2:
|
||||
resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==}
|
||||
dependencies:
|
||||
@@ -2635,7 +2957,23 @@ packages:
|
||||
bcrypt-pbkdf: 1.0.2
|
||||
optionalDependencies:
|
||||
cpu-features: 0.0.4
|
||||
nan: 2.16.0
|
||||
nan: 2.17.0
|
||||
dev: false
|
||||
|
||||
/sshpk/1.17.0:
|
||||
resolution: {integrity: sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
asn1: 0.2.6
|
||||
assert-plus: 1.0.0
|
||||
bcrypt-pbkdf: 1.0.2
|
||||
dashdash: 1.14.1
|
||||
ecc-jsbn: 0.1.2
|
||||
getpass: 0.1.7
|
||||
jsbn: 0.1.1
|
||||
safer-buffer: 2.1.2
|
||||
tweetnacl: 0.14.5
|
||||
dev: false
|
||||
|
||||
/stack-trace/0.0.10:
|
||||
@@ -2647,6 +2985,11 @@ packages:
|
||||
engines: {node: '>= 0.8'}
|
||||
dev: false
|
||||
|
||||
/stream-buffers/3.0.2:
|
||||
resolution: {integrity: sha512-DQi1h8VEBA/lURbSwFtEHnSTb9s2/pwLEaFuNhXwy1Dx3Sa0lOuYT2yNUr4/j2fs8oCAMANtrZ5OrPZtyVs3MQ==}
|
||||
engines: {node: '>= 0.10.0'}
|
||||
dev: false
|
||||
|
||||
/string.prototype.matchall/4.0.7:
|
||||
resolution: {integrity: sha512-f48okCX7JiwVi1NXCVWcFnZgADDC/n2vePlQ/KUCNqCikLLilQvwjMO8+BHVKvgzH0JB0J9LEPgxOGT02RoETg==}
|
||||
dependencies:
|
||||
@@ -2694,6 +3037,11 @@ packages:
|
||||
engines: {node: '>=4'}
|
||||
dev: true
|
||||
|
||||
/strip-final-newline/2.0.0:
|
||||
resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
|
||||
engines: {node: '>=6'}
|
||||
dev: false
|
||||
|
||||
/strip-json-comments/3.1.1:
|
||||
resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
|
||||
engines: {node: '>=8'}
|
||||
@@ -2725,7 +3073,6 @@ packages:
|
||||
/supports-preserve-symlinks-flag/1.0.0:
|
||||
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
|
||||
engines: {node: '>= 0.4'}
|
||||
dev: true
|
||||
|
||||
/swr/1.3.0_react@18.2.0:
|
||||
resolution: {integrity: sha512-dkghQrOl2ORX9HYrMDtPa7LTVHJjCTeZoB1dqTbnnEDlSvN8JEKpYIYurDfvbQFUUS8Cg8PceFVZNkW0KNNYPw==}
|
||||
@@ -2797,6 +3144,18 @@ packages:
|
||||
readable-stream: 3.6.0
|
||||
dev: false
|
||||
|
||||
/tar/6.1.13:
|
||||
resolution: {integrity: sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==}
|
||||
engines: {node: '>=10'}
|
||||
dependencies:
|
||||
chownr: 2.0.0
|
||||
fs-minipass: 2.1.0
|
||||
minipass: 4.0.0
|
||||
minizlib: 2.1.2
|
||||
mkdirp: 1.0.4
|
||||
yallist: 4.0.0
|
||||
dev: false
|
||||
|
||||
/text-hex/1.0.0:
|
||||
resolution: {integrity: sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==}
|
||||
dev: false
|
||||
@@ -2805,6 +3164,19 @@ packages:
|
||||
resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
|
||||
dev: true
|
||||
|
||||
/tmp-promise/3.0.3:
|
||||
resolution: {integrity: sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==}
|
||||
dependencies:
|
||||
tmp: 0.2.1
|
||||
dev: false
|
||||
|
||||
/tmp/0.2.1:
|
||||
resolution: {integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==}
|
||||
engines: {node: '>=8.17.0'}
|
||||
dependencies:
|
||||
rimraf: 3.0.2
|
||||
dev: false
|
||||
|
||||
/to-regex-range/5.0.1:
|
||||
resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
|
||||
engines: {node: '>=8.0'}
|
||||
@@ -2817,6 +3189,14 @@ packages:
|
||||
engines: {node: '>=0.6'}
|
||||
dev: false
|
||||
|
||||
/tough-cookie/2.5.0:
|
||||
resolution: {integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==}
|
||||
engines: {node: '>=0.8'}
|
||||
dependencies:
|
||||
psl: 1.9.0
|
||||
punycode: 2.1.1
|
||||
dev: false
|
||||
|
||||
/tough-cookie/4.1.2:
|
||||
resolution: {integrity: sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==}
|
||||
engines: {node: '>=6'}
|
||||
@@ -2846,7 +3226,6 @@ packages:
|
||||
|
||||
/tslib/1.14.1:
|
||||
resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
|
||||
dev: true
|
||||
|
||||
/tslib/2.4.0:
|
||||
resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==}
|
||||
@@ -2862,6 +3241,12 @@ packages:
|
||||
typescript: 4.8.3
|
||||
dev: true
|
||||
|
||||
/tunnel-agent/0.6.0:
|
||||
resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==}
|
||||
dependencies:
|
||||
safe-buffer: 5.2.1
|
||||
dev: false
|
||||
|
||||
/tweetnacl/0.14.5:
|
||||
resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==}
|
||||
dev: false
|
||||
@@ -2893,6 +3278,10 @@ packages:
|
||||
which-boxed-primitive: 1.0.2
|
||||
dev: true
|
||||
|
||||
/underscore/1.13.6:
|
||||
resolution: {integrity: sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==}
|
||||
dev: false
|
||||
|
||||
/universalify/0.2.0:
|
||||
resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==}
|
||||
engines: {node: '>= 4.0.0'}
|
||||
@@ -2918,7 +3307,6 @@ packages:
|
||||
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
|
||||
dependencies:
|
||||
punycode: 2.1.1
|
||||
dev: true
|
||||
|
||||
/url-parse/1.5.10:
|
||||
resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==}
|
||||
@@ -2938,6 +3326,21 @@ packages:
|
||||
/util-deprecate/1.0.2:
|
||||
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
|
||||
|
||||
/uuid/3.4.0:
|
||||
resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==}
|
||||
deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
|
||||
hasBin: true
|
||||
dev: false
|
||||
|
||||
/verror/1.10.0:
|
||||
resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==}
|
||||
engines: {'0': node >=0.6.0}
|
||||
dependencies:
|
||||
assert-plus: 1.0.0
|
||||
core-util-is: 1.0.2
|
||||
extsprintf: 1.3.0
|
||||
dev: false
|
||||
|
||||
/void-elements/3.1.0:
|
||||
resolution: {integrity: sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
@@ -2970,7 +3373,6 @@ packages:
|
||||
hasBin: true
|
||||
dependencies:
|
||||
isexe: 2.0.0
|
||||
dev: true
|
||||
|
||||
/winston-transport/4.5.0:
|
||||
resolution: {integrity: sha512-YpZzcUzBedhlTAfJg6vJDlyEai/IFMIVcaEZZyl3UXIl4gmqRpU7AE89AHLkbzLUsv0NVmw7ts+iztqKxxPW1Q==}
|
||||
@@ -3006,6 +3408,19 @@ packages:
|
||||
/wrappy/1.0.2:
|
||||
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
|
||||
|
||||
/ws/7.5.9:
|
||||
resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==}
|
||||
engines: {node: '>=8.3.0'}
|
||||
peerDependencies:
|
||||
bufferutil: ^4.0.1
|
||||
utf-8-validate: ^5.0.2
|
||||
peerDependenciesMeta:
|
||||
bufferutil:
|
||||
optional: true
|
||||
utf-8-validate:
|
||||
optional: true
|
||||
dev: false
|
||||
|
||||
/xml-js/1.6.11:
|
||||
resolution: {integrity: sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==}
|
||||
hasBin: true
|
||||
@@ -3020,7 +3435,6 @@ packages:
|
||||
|
||||
/yallist/4.0.0:
|
||||
resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
|
||||
dev: true
|
||||
|
||||
/yaml/1.10.2:
|
||||
resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
|
||||
|
||||
424
public/locales/ar/common.json
Normal file
424
public/locales/ar/common.json
Normal file
@@ -0,0 +1,424 @@
|
||||
{
|
||||
"widget": {
|
||||
"missing_type": "نوع القطعة مفقود: {{type}}",
|
||||
"api_error": "API خطأ",
|
||||
"status": "الحالة",
|
||||
"information": "Information",
|
||||
"url": "URL",
|
||||
"raw_error": "Raw Error",
|
||||
"response_data": "Response Data"
|
||||
},
|
||||
"weather": {
|
||||
"current": "الموقع الحالي",
|
||||
"allow": "اضغط للسماح",
|
||||
"updating": "جاري التحديث",
|
||||
"wait": "الرجاء الانتظار"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "بحث …"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "المعالج",
|
||||
"total": "المجموع",
|
||||
"free": "متاح",
|
||||
"used": "مستخدم",
|
||||
"load": "الضغط"
|
||||
},
|
||||
"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": "الرجاء الانتظار"
|
||||
},
|
||||
"wmo": {
|
||||
"73-day": "Snow",
|
||||
"0-day": "Sunny",
|
||||
"0-night": "Clear",
|
||||
"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",
|
||||
"71-night": "Light 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"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
"tx": "TX",
|
||||
"mem": "الرام",
|
||||
"cpu": "المعالج",
|
||||
"offline": "غير متصل",
|
||||
"error": "Error",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "يعمل الان",
|
||||
"transcoding": "التحويل",
|
||||
"bitrate": "معدل البت",
|
||||
"no_active": "No Active Streams"
|
||||
},
|
||||
"changedetectionio": {
|
||||
"totalObserved": "Total Observed",
|
||||
"diffsDetected": "Diffs Detected"
|
||||
},
|
||||
"tautulli": {
|
||||
"playing": "Playing",
|
||||
"transcoding": "Transcoding",
|
||||
"bitrate": "Bitrate",
|
||||
"no_active": "No Active Streams"
|
||||
},
|
||||
"nzbget": {
|
||||
"rate": "Rate",
|
||||
"remaining": "Remaining",
|
||||
"downloaded": "Downloaded"
|
||||
},
|
||||
"plex": {
|
||||
"streams": "Active Streams",
|
||||
"movies": "Movies",
|
||||
"tv": "TV Shows"
|
||||
},
|
||||
"sabnzbd": {
|
||||
"rate": "Rate",
|
||||
"queue": "Queue",
|
||||
"timeleft": "Time Left"
|
||||
},
|
||||
"rutorrent": {
|
||||
"active": "Active",
|
||||
"upload": "Upload",
|
||||
"download": "Download"
|
||||
},
|
||||
"transmission": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"qbittorrent": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"sonarr": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"series": "Series"
|
||||
},
|
||||
"radarr": {
|
||||
"wanted": "Wanted",
|
||||
"missing": "Missing",
|
||||
"queued": "Queued",
|
||||
"movies": "Movies"
|
||||
},
|
||||
"lidarr": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"albums": "Albums"
|
||||
},
|
||||
"readarr": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"books": "Books"
|
||||
},
|
||||
"bazarr": {
|
||||
"missingEpisodes": "Missing Episodes",
|
||||
"missingMovies": "Missing Movies"
|
||||
},
|
||||
"ombi": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available",
|
||||
"processing": "Processing"
|
||||
},
|
||||
"pihole": {
|
||||
"queries": "Queries",
|
||||
"blocked": "Blocked",
|
||||
"gravity": "Gravity"
|
||||
},
|
||||
"adguard": {
|
||||
"queries": "Queries",
|
||||
"blocked": "Blocked",
|
||||
"filtered": "Filtered",
|
||||
"latency": "Latency"
|
||||
},
|
||||
"speedtest": {
|
||||
"upload": "Upload",
|
||||
"download": "Download",
|
||||
"ping": "Ping"
|
||||
},
|
||||
"portainer": {
|
||||
"running": "Running",
|
||||
"stopped": "Stopped",
|
||||
"total": "Total"
|
||||
},
|
||||
"traefik": {
|
||||
"routers": "Routers",
|
||||
"services": "Services",
|
||||
"middleware": "Middleware"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"jackett": {
|
||||
"configured": "Configured",
|
||||
"errored": "Errored"
|
||||
},
|
||||
"strelaysrv": {
|
||||
"numActiveSessions": "Sessions",
|
||||
"numConnections": "Connections",
|
||||
"dataRelayed": "Relayed",
|
||||
"transferRate": "Rate"
|
||||
},
|
||||
"mastodon": {
|
||||
"user_count": "Users",
|
||||
"status_count": "Posts",
|
||||
"domain_count": "Domains"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"quicklaunch": {
|
||||
"bookmark": "Bookmark",
|
||||
"service": "Service"
|
||||
},
|
||||
"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}}"
|
||||
},
|
||||
"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;)}}"
|
||||
},
|
||||
"navidrome": {
|
||||
"nothing_streaming": "No Active Streams",
|
||||
"please_wait": "Please Wait"
|
||||
},
|
||||
"pyload": {
|
||||
"speed": "Speed",
|
||||
"active": "Active",
|
||||
"queue": "Queue",
|
||||
"total": "Total"
|
||||
},
|
||||
"gluetun": {
|
||||
"public_ip": "Public IP",
|
||||
"region": "Region",
|
||||
"country": "Country"
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Channels",
|
||||
"hd": "HD"
|
||||
},
|
||||
"ping": {
|
||||
"error": "Error",
|
||||
"ping": "Ping"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Passed",
|
||||
"failed": "Failed",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"paperlessngx": {
|
||||
"inbox": "Inbox",
|
||||
"total": "Total"
|
||||
},
|
||||
"deluge": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"flood": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"tdarr": {
|
||||
"queue": "Queue",
|
||||
"processed": "Processed",
|
||||
"errored": "Errored",
|
||||
"saved": "Saved"
|
||||
},
|
||||
"miniflux": {
|
||||
"read": "Read",
|
||||
"unread": "Unread"
|
||||
},
|
||||
"nextdns": {
|
||||
"wait": "Please Wait",
|
||||
"no_devices": "No Device Data Received"
|
||||
},
|
||||
"common": {
|
||||
"bibyterate": "{{value, rate(bits: false; binary: true)}}",
|
||||
"bibitrate": "{{value, rate(bits: true; binary: true)}}"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Connected APs",
|
||||
"activeUser": "Active devices",
|
||||
"alerts": "Alerts",
|
||||
"connectedGateway": "Connected gateways",
|
||||
"connectedSwitches": "Connected switches"
|
||||
},
|
||||
"downloadstation": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"medusa": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"series": "Series"
|
||||
},
|
||||
"octoPrint": {
|
||||
"printer_state": "Status",
|
||||
"temp_tool": "Tool temp",
|
||||
"temp_bed": "Bed temp",
|
||||
"job_completion": "Completion"
|
||||
}
|
||||
}
|
||||
@@ -12,7 +12,11 @@
|
||||
"widget": {
|
||||
"missing_type": "Липсваща приставка: {{type}}",
|
||||
"api_error": "API Грешка",
|
||||
"status": "Статус"
|
||||
"status": "Статус",
|
||||
"information": "Information",
|
||||
"url": "URL",
|
||||
"raw_error": "Raw Error",
|
||||
"response_data": "Response Data"
|
||||
},
|
||||
"weather": {
|
||||
"current": "Текущо местоположение",
|
||||
@@ -39,14 +43,21 @@
|
||||
"wlan_users": "WLAN Потребители",
|
||||
"up": "UP",
|
||||
"down": "DOWN",
|
||||
"wait": "Моля изчакайте"
|
||||
"wait": "Моля изчакайте",
|
||||
"lan": "LAN",
|
||||
"wlan": "WLAN",
|
||||
"devices": "Devices",
|
||||
"lan_devices": "LAN Devices",
|
||||
"wlan_devices": "WLAN Devices"
|
||||
},
|
||||
"docker": {
|
||||
"offline": "Изключен",
|
||||
"rx": "RX",
|
||||
"tx": "TX",
|
||||
"mem": "MEM",
|
||||
"cpu": "CPU"
|
||||
"cpu": "CPU",
|
||||
"error": "Error",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "Възпроизвежда",
|
||||
@@ -90,7 +101,8 @@
|
||||
"radarr": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"movies": "Movies"
|
||||
"movies": "Movies",
|
||||
"missing": "Missing"
|
||||
},
|
||||
"lidarr": {
|
||||
"wanted": "Wanted",
|
||||
@@ -119,7 +131,8 @@
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"available": "Available",
|
||||
"processing": "Processing"
|
||||
},
|
||||
"pihole": {
|
||||
"queries": "Queries",
|
||||
@@ -201,5 +214,211 @@
|
||||
"cpu": "CPU",
|
||||
"mem": "MEM",
|
||||
"wait": "Please wait"
|
||||
},
|
||||
"changedetectionio": {
|
||||
"totalObserved": "Total Observed",
|
||||
"diffsDetected": "Diffs Detected"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "Sunny",
|
||||
"57-day": "Freezing Drizzle",
|
||||
"57-night": "Freezing Drizzle",
|
||||
"96-day": "Thunderstorm With Hail",
|
||||
"96-night": "Thunderstorm With Hail",
|
||||
"0-night": "Clear",
|
||||
"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",
|
||||
"61-day": "Light Rain",
|
||||
"61-night": "Light Rain",
|
||||
"63-day": "Rain",
|
||||
"63-night": "Rain",
|
||||
"65-day": "Heavy Rain",
|
||||
"65-night": "Heavy Rain",
|
||||
"66-day": "Freezing Rain",
|
||||
"66-night": "Freezing Rain",
|
||||
"67-day": "Freezing Rain",
|
||||
"67-night": "Freezing Rain",
|
||||
"71-day": "Light Snow",
|
||||
"71-night": "Light Snow",
|
||||
"73-day": "Snow",
|
||||
"73-night": "Snow",
|
||||
"75-day": "Heavy Snow",
|
||||
"75-night": "Heavy Snow",
|
||||
"77-day": "Snow Grains",
|
||||
"77-night": "Snow Grains",
|
||||
"80-day": "Light Showers",
|
||||
"80-night": "Light Showers",
|
||||
"81-day": "Showers",
|
||||
"81-night": "Showers",
|
||||
"82-day": "Heavy Showers",
|
||||
"82-night": "Heavy Showers",
|
||||
"85-day": "Snow Showers",
|
||||
"85-night": "Snow Showers",
|
||||
"86-day": "Snow Showers",
|
||||
"86-night": "Snow Showers",
|
||||
"95-day": "Thunderstorm",
|
||||
"95-night": "Thunderstorm",
|
||||
"99-day": "Thunderstorm With Hail",
|
||||
"99-night": "Thunderstorm With Hail"
|
||||
},
|
||||
"quicklaunch": {
|
||||
"bookmark": "Bookmark",
|
||||
"service": "Service"
|
||||
},
|
||||
"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}}"
|
||||
},
|
||||
"autobrr": {
|
||||
"rejectedPushes": "Rejected",
|
||||
"filters": "Filters",
|
||||
"indexers": "Indexers",
|
||||
"approvedPushes": "Approved"
|
||||
},
|
||||
"watchtower": {
|
||||
"containers_scanned": "Scanned",
|
||||
"containers_updated": "Updated",
|
||||
"containers_failed": "Failed"
|
||||
},
|
||||
"tubearchivist": {
|
||||
"downloads": "Queue",
|
||||
"videos": "Videos",
|
||||
"channels": "Channels",
|
||||
"playlists": "Playlists"
|
||||
},
|
||||
"truenas": {
|
||||
"load": "System Load",
|
||||
"uptime": "Uptime",
|
||||
"alerts": "Alerts",
|
||||
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
|
||||
},
|
||||
"navidrome": {
|
||||
"nothing_streaming": "No Active Streams",
|
||||
"please_wait": "Please Wait"
|
||||
},
|
||||
"pyload": {
|
||||
"speed": "Speed",
|
||||
"active": "Active",
|
||||
"queue": "Queue",
|
||||
"total": "Total"
|
||||
},
|
||||
"gluetun": {
|
||||
"public_ip": "Public IP",
|
||||
"region": "Region",
|
||||
"country": "Country"
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Channels",
|
||||
"hd": "HD"
|
||||
},
|
||||
"ping": {
|
||||
"ping": "Ping",
|
||||
"error": "Error"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Passed",
|
||||
"failed": "Failed",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"paperlessngx": {
|
||||
"inbox": "Inbox",
|
||||
"total": "Total"
|
||||
},
|
||||
"deluge": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"flood": {
|
||||
"leech": "Leech",
|
||||
"seed": "Seed",
|
||||
"download": "Download",
|
||||
"upload": "Upload"
|
||||
},
|
||||
"tdarr": {
|
||||
"saved": "Saved",
|
||||
"queue": "Queue",
|
||||
"processed": "Processed",
|
||||
"errored": "Errored"
|
||||
},
|
||||
"miniflux": {
|
||||
"read": "Read",
|
||||
"unread": "Unread"
|
||||
},
|
||||
"nextdns": {
|
||||
"wait": "Please Wait",
|
||||
"no_devices": "No Device Data Received"
|
||||
},
|
||||
"common": {
|
||||
"bibyterate": "{{value, rate(bits: false; binary: true)}}",
|
||||
"bibitrate": "{{value, rate(bits: true; binary: true)}}"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Connected APs",
|
||||
"activeUser": "Active devices",
|
||||
"alerts": "Alerts",
|
||||
"connectedGateway": "Connected gateways",
|
||||
"connectedSwitches": "Connected switches"
|
||||
},
|
||||
"downloadstation": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"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": {
|
||||
"print_progress": "Progress",
|
||||
"printer_state": "Printer State",
|
||||
"print_status": "Print Status",
|
||||
"layers": "Layers"
|
||||
},
|
||||
"medusa": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"series": "Series"
|
||||
},
|
||||
"octoPrint": {
|
||||
"printer_state": "Status",
|
||||
"temp_tool": "Tool temp",
|
||||
"temp_bed": "Bed temp",
|
||||
"job_completion": "Completion"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,11 @@
|
||||
"widget": {
|
||||
"missing_type": "Falta el tipus de widget: {{type}}",
|
||||
"api_error": "Error d'API",
|
||||
"status": "Estat"
|
||||
"status": "Estat",
|
||||
"information": "Informació",
|
||||
"url": "URL",
|
||||
"raw_error": "Error sense processar",
|
||||
"response_data": "Dades de resposta"
|
||||
},
|
||||
"weather": {
|
||||
"allow": "Feu clic per permetre",
|
||||
@@ -16,8 +20,8 @@
|
||||
"transmission": {
|
||||
"seed": "Llavors",
|
||||
"download": "Descàrrega",
|
||||
"upload": "Càrrega",
|
||||
"leech": "Companys"
|
||||
"upload": "Pujada",
|
||||
"leech": "Company"
|
||||
},
|
||||
"sonarr": {
|
||||
"wanted": "Volgut",
|
||||
@@ -26,13 +30,13 @@
|
||||
},
|
||||
"speedtest": {
|
||||
"ping": "Ping",
|
||||
"upload": "Càrrega",
|
||||
"upload": "Pujada",
|
||||
"download": "Descàrrega"
|
||||
},
|
||||
"resources": {
|
||||
"total": "Total",
|
||||
"free": "Lliure",
|
||||
"used": "Usat",
|
||||
"used": "Utilitzat",
|
||||
"load": "Càrrega",
|
||||
"cpu": "CPU"
|
||||
},
|
||||
@@ -41,13 +45,15 @@
|
||||
"tx": "Transmès",
|
||||
"mem": "Memòria",
|
||||
"cpu": "Processador",
|
||||
"offline": "Fora de línia"
|
||||
"offline": "Fora de línia",
|
||||
"error": "Error",
|
||||
"unknown": "Desconegut"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "Reproduint",
|
||||
"transcoding": "Transcodificant",
|
||||
"bitrate": "Taxa de bits",
|
||||
"no_active": "Sense transmissions actives"
|
||||
"no_active": "Sense reproduccions actives"
|
||||
},
|
||||
"tautulli": {
|
||||
"playing": "Reproduint",
|
||||
@@ -67,13 +73,14 @@
|
||||
},
|
||||
"rutorrent": {
|
||||
"active": "Actiu",
|
||||
"upload": "Càrrega",
|
||||
"upload": "Pujada",
|
||||
"download": "Descàrrega"
|
||||
},
|
||||
"radarr": {
|
||||
"wanted": "Volgut",
|
||||
"queued": "En cua",
|
||||
"movies": "Pel·lícules"
|
||||
"movies": "Pel·lícules",
|
||||
"missing": "Faltant"
|
||||
},
|
||||
"readarr": {
|
||||
"wanted": "Volgut",
|
||||
@@ -93,7 +100,8 @@
|
||||
"overseerr": {
|
||||
"pending": "Pendent",
|
||||
"approved": "Aprovat",
|
||||
"available": "Disponible"
|
||||
"available": "Disponible",
|
||||
"processing": "Processant"
|
||||
},
|
||||
"pihole": {
|
||||
"queries": "Consultes",
|
||||
@@ -155,8 +163,8 @@
|
||||
},
|
||||
"qbittorrent": {
|
||||
"download": "Descàrrega",
|
||||
"upload": "Càrrega",
|
||||
"leech": "Companys",
|
||||
"upload": "Pujada",
|
||||
"leech": "Company",
|
||||
"seed": "Llavors"
|
||||
},
|
||||
"mastodon": {
|
||||
@@ -176,30 +184,241 @@
|
||||
"failedLoginsLast24H": "Errors d'inici de sessió (24h)"
|
||||
},
|
||||
"proxmox": {
|
||||
"vms": "VMs",
|
||||
"vms": "Màquines Virtuals",
|
||||
"mem": "Memòria",
|
||||
"cpu": "Processador",
|
||||
"lxc": "LXC"
|
||||
},
|
||||
"unifi": {
|
||||
"users": "Users",
|
||||
"uptime": "System Uptime",
|
||||
"days": "Days",
|
||||
"users": "Usuaris",
|
||||
"uptime": "Temps actiu",
|
||||
"days": "Dies",
|
||||
"wan": "WAN",
|
||||
"lan_users": "LAN Users",
|
||||
"wlan_users": "WLAN Users",
|
||||
"up": "UP",
|
||||
"down": "DOWN",
|
||||
"wait": "Please wait"
|
||||
"lan_users": "Usuaris LAN",
|
||||
"wlan_users": "Usuaris WLAN",
|
||||
"up": "ACTIU",
|
||||
"down": "INACTIU",
|
||||
"wait": "Si us plau, espereu",
|
||||
"lan": "LAN",
|
||||
"wlan": "WLAN",
|
||||
"devices": "Dispositius",
|
||||
"lan_devices": "Dispositius LAN",
|
||||
"wlan_devices": "Dispositius WLAN"
|
||||
},
|
||||
"plex": {
|
||||
"streams": "Active Streams",
|
||||
"movies": "Movies",
|
||||
"tv": "TV Shows"
|
||||
"streams": "Transmissions actives",
|
||||
"movies": "Pel·lícules",
|
||||
"tv": "Programes de TV"
|
||||
},
|
||||
"glances": {
|
||||
"cpu": "CPU",
|
||||
"mem": "MEM",
|
||||
"wait": "Please wait"
|
||||
"cpu": "Processador",
|
||||
"mem": "Memòria",
|
||||
"wait": "Si us plau, espereu"
|
||||
},
|
||||
"changedetectionio": {
|
||||
"totalObserved": "Total d'observats",
|
||||
"diffsDetected": "Diferències detectades"
|
||||
},
|
||||
"wmo": {
|
||||
"66-day": "Pluja gelada",
|
||||
"95-day": "Tempesta",
|
||||
"95-night": "Tempesta",
|
||||
"96-day": "Tempesta amb calamarsa",
|
||||
"0-day": "Assolellat",
|
||||
"0-night": "Cel clar",
|
||||
"1-day": "Majorment assolellat",
|
||||
"1-night": "Majorment clar",
|
||||
"2-day": "Parcialment ennuvolat",
|
||||
"2-night": "Parcialment ennuvolat",
|
||||
"3-day": "Ennuvolat",
|
||||
"3-night": "Ennuvolat",
|
||||
"45-day": "Boirós",
|
||||
"45-night": "Boirós",
|
||||
"48-day": "Boirós",
|
||||
"48-night": "Boirós",
|
||||
"51-day": "Ruixats lleugers",
|
||||
"51-night": "Ruixats lleugers",
|
||||
"53-day": "Ruixat",
|
||||
"53-night": "Ruxiat",
|
||||
"55-day": "Ruixat intens",
|
||||
"55-night": "Ruixat intens",
|
||||
"56-day": "Lleuger ruixat gelat",
|
||||
"56-night": "Lleuger ruixat gelat",
|
||||
"65-night": "Pluja intensa",
|
||||
"57-day": "Ruixat gelat",
|
||||
"57-night": "Ruixat gelat",
|
||||
"61-day": "Pluja lleugera",
|
||||
"61-night": "Pluja lleugera",
|
||||
"63-day": "Pluja",
|
||||
"63-night": "Pluja",
|
||||
"65-day": "Pluja intensa",
|
||||
"66-night": "Pluja gelada",
|
||||
"67-day": "Pluja gelada",
|
||||
"67-night": "Pluja gelada",
|
||||
"71-day": "Neu lleugera",
|
||||
"71-night": "Neu lleugera",
|
||||
"73-day": "Neu",
|
||||
"73-night": "Neu",
|
||||
"75-day": "Neu intensa",
|
||||
"75-night": "Neu intensa",
|
||||
"77-day": "Neu lleugera",
|
||||
"77-night": "Neu lleugera",
|
||||
"80-day": "Plovisqueig",
|
||||
"80-night": "Plovisqueig",
|
||||
"81-day": "Xàfecs",
|
||||
"81-night": "Xàfecs",
|
||||
"82-day": "Xàfecs intensos",
|
||||
"82-night": "Xàfecs intensos",
|
||||
"85-day": "Xàfecs de neu",
|
||||
"85-night": "Xàfecs de neu",
|
||||
"86-day": "Xàfecs de neu",
|
||||
"86-night": "Xàfecs de neu",
|
||||
"96-night": "Tempesta amb calamarsa",
|
||||
"99-day": "Tempesta amb calamarsa",
|
||||
"99-night": "Tempesta amb calamarsa"
|
||||
},
|
||||
"quicklaunch": {
|
||||
"bookmark": "Marcador",
|
||||
"service": "Servei"
|
||||
},
|
||||
"homebridge": {
|
||||
"available_update": "Sistema",
|
||||
"updates": "Actualitzacions",
|
||||
"update_available": "Actualització disponible",
|
||||
"up_to_date": "Actualitzat",
|
||||
"child_bridges": "Child Bridges",
|
||||
"child_bridges_status": "{{ok}}/{{total}}"
|
||||
},
|
||||
"autobrr": {
|
||||
"approvedPushes": "Aprovat",
|
||||
"rejectedPushes": "Rebutjat",
|
||||
"filters": "Filtres",
|
||||
"indexers": "Indexadors"
|
||||
},
|
||||
"watchtower": {
|
||||
"containers_scanned": "Escanejat",
|
||||
"containers_updated": "Actualitzat",
|
||||
"containers_failed": "Error"
|
||||
},
|
||||
"tubearchivist": {
|
||||
"downloads": "Cua",
|
||||
"videos": "Vídeos",
|
||||
"channels": "Canals",
|
||||
"playlists": "Llistes de reproducció"
|
||||
},
|
||||
"truenas": {
|
||||
"load": "Càrrega del sistema",
|
||||
"uptime": "Temps actiu",
|
||||
"alerts": "Alertes",
|
||||
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
|
||||
},
|
||||
"navidrome": {
|
||||
"nothing_streaming": "Cap reproducció activa",
|
||||
"please_wait": "Espereu si us plau"
|
||||
},
|
||||
"pyload": {
|
||||
"speed": "Velocitat",
|
||||
"active": "Actiu",
|
||||
"queue": "Cua",
|
||||
"total": "Total"
|
||||
},
|
||||
"gluetun": {
|
||||
"public_ip": "IP Pública",
|
||||
"region": "Regió",
|
||||
"country": "País"
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Canals",
|
||||
"hd": "HD"
|
||||
},
|
||||
"ping": {
|
||||
"error": "Error",
|
||||
"ping": "Ping"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Aprobat",
|
||||
"failed": "Error",
|
||||
"unknown": "Desconegut"
|
||||
},
|
||||
"paperlessngx": {
|
||||
"inbox": "Safata d'entrada",
|
||||
"total": "Total"
|
||||
},
|
||||
"deluge": {
|
||||
"seed": "Llavor",
|
||||
"download": "Descàrrega",
|
||||
"upload": "Pujada",
|
||||
"leech": "Company"
|
||||
},
|
||||
"flood": {
|
||||
"download": "Descarregar",
|
||||
"upload": "Pujada",
|
||||
"leech": "Company",
|
||||
"seed": "Llavor"
|
||||
},
|
||||
"tdarr": {
|
||||
"queue": "Queue",
|
||||
"processed": "Processed",
|
||||
"errored": "Errored",
|
||||
"saved": "Saved"
|
||||
},
|
||||
"miniflux": {
|
||||
"read": "Read",
|
||||
"unread": "Unread"
|
||||
},
|
||||
"nextdns": {
|
||||
"wait": "Please Wait",
|
||||
"no_devices": "No Device Data Received"
|
||||
},
|
||||
"common": {
|
||||
"bibyterate": "{{value, rate(bits: false; binary: true)}}",
|
||||
"bibitrate": "{{value, rate(bits: true; binary: true)}}"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Connected APs",
|
||||
"activeUser": "Active devices",
|
||||
"alerts": "Alerts",
|
||||
"connectedGateway": "Connected gateways",
|
||||
"connectedSwitches": "Connected switches"
|
||||
},
|
||||
"downloadstation": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"medusa": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"series": "Series"
|
||||
},
|
||||
"octoPrint": {
|
||||
"printer_state": "Status",
|
||||
"temp_tool": "Tool temp",
|
||||
"temp_bed": "Bed temp",
|
||||
"job_completion": "Completion"
|
||||
}
|
||||
}
|
||||
|
||||
424
public/locales/cs/common.json
Normal file
424
public/locales/cs/common.json
Normal file
@@ -0,0 +1,424 @@
|
||||
{
|
||||
"tubearchivist": {
|
||||
"videos": "Videa",
|
||||
"channels": "Kanály",
|
||||
"playlists": "Playlisty",
|
||||
"downloads": "Fronta"
|
||||
},
|
||||
"truenas": {
|
||||
"load": "Vytížení systému",
|
||||
"uptime": "Doba spuštění",
|
||||
"alerts": "Upozornění",
|
||||
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
|
||||
},
|
||||
"widget": {
|
||||
"missing_type": "Chybí typ widgetu: {{type}}",
|
||||
"api_error": "Chyba API",
|
||||
"status": "Status",
|
||||
"information": "Information",
|
||||
"url": "URL",
|
||||
"raw_error": "Raw Error",
|
||||
"response_data": "Response Data"
|
||||
},
|
||||
"weather": {
|
||||
"current": "Aktuální poloha",
|
||||
"allow": "Klikni pro povolení",
|
||||
"updating": "Probíhá aktualizace",
|
||||
"wait": "Počkejte prosím"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Hledat…"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "CPU",
|
||||
"total": "Celkem",
|
||||
"free": "Volné",
|
||||
"used": "Využité",
|
||||
"load": "Vytížení"
|
||||
},
|
||||
"unifi": {
|
||||
"users": "Uživatelé",
|
||||
"uptime": "Čas od startu 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é",
|
||||
"up": "BĚŽÍ",
|
||||
"down": "NEBĚŽÍ",
|
||||
"wait": "Počkejte prosím"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
"tx": "TX",
|
||||
"mem": "RAM",
|
||||
"cpu": "CPU",
|
||||
"offline": "Offline",
|
||||
"error": "Error",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "Přehrává",
|
||||
"transcoding": "Transkódování",
|
||||
"bitrate": "Bitrate",
|
||||
"no_active": "Žádný aktivní stream"
|
||||
},
|
||||
"changedetectionio": {
|
||||
"totalObserved": "Celkem zjištěno",
|
||||
"diffsDetected": "Rozdíly detekovány"
|
||||
},
|
||||
"tautulli": {
|
||||
"playing": "Přehrává",
|
||||
"transcoding": "Transkódování",
|
||||
"bitrate": "Bitrate",
|
||||
"no_active": "Žádný aktivní stream"
|
||||
},
|
||||
"nzbget": {
|
||||
"rate": "Rychlost",
|
||||
"remaining": "Zbývá",
|
||||
"downloaded": "Staženo"
|
||||
},
|
||||
"plex": {
|
||||
"streams": "Aktivní streamy",
|
||||
"movies": "Filmy",
|
||||
"tv": "Seriály"
|
||||
},
|
||||
"sabnzbd": {
|
||||
"rate": "Rychlost",
|
||||
"queue": "Fronta",
|
||||
"timeleft": "Zbývající čas"
|
||||
},
|
||||
"rutorrent": {
|
||||
"active": "Aktivní",
|
||||
"upload": "Nahrávání",
|
||||
"download": "Stahování"
|
||||
},
|
||||
"transmission": {
|
||||
"download": "Stahování",
|
||||
"upload": "Nahrávání",
|
||||
"leech": "Leecher",
|
||||
"seed": "Seeder"
|
||||
},
|
||||
"qbittorrent": {
|
||||
"download": "Stahování",
|
||||
"upload": "Nahrávání",
|
||||
"leech": "Leecher",
|
||||
"seed": "Seeder"
|
||||
},
|
||||
"sonarr": {
|
||||
"wanted": "Hledaný",
|
||||
"queued": "Ve frontě",
|
||||
"series": "Seriály"
|
||||
},
|
||||
"radarr": {
|
||||
"wanted": "Hledaný",
|
||||
"missing": "Chybějící",
|
||||
"queued": "Ve frontě",
|
||||
"movies": "Filmy"
|
||||
},
|
||||
"lidarr": {
|
||||
"wanted": "Hledaný",
|
||||
"queued": "Ve frontě",
|
||||
"albums": "Alba"
|
||||
},
|
||||
"readarr": {
|
||||
"wanted": "Hledaný",
|
||||
"queued": "Ve frontě",
|
||||
"books": "Knihy"
|
||||
},
|
||||
"bazarr": {
|
||||
"missingEpisodes": "Chybějící epizody",
|
||||
"missingMovies": "Chybějící filmy"
|
||||
},
|
||||
"ombi": {
|
||||
"pending": "Čeká",
|
||||
"approved": "Schváleno",
|
||||
"available": "Dostupný"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"pending": "Čeká",
|
||||
"approved": "Schváleno",
|
||||
"available": "Dostupný"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Čeká",
|
||||
"approved": "Schváleno",
|
||||
"available": "Dostupný",
|
||||
"processing": "Processing"
|
||||
},
|
||||
"pihole": {
|
||||
"queries": "Dotazy",
|
||||
"blocked": "Blokováno",
|
||||
"gravity": "Gravitace"
|
||||
},
|
||||
"adguard": {
|
||||
"queries": "Dotazy",
|
||||
"blocked": "Blokováno",
|
||||
"filtered": "Filtrováno",
|
||||
"latency": "Odezva"
|
||||
},
|
||||
"speedtest": {
|
||||
"upload": "Nahrávání",
|
||||
"download": "Stahování",
|
||||
"ping": "Ping"
|
||||
},
|
||||
"portainer": {
|
||||
"running": "Běží",
|
||||
"stopped": "Zastaveno",
|
||||
"total": "Celkově"
|
||||
},
|
||||
"traefik": {
|
||||
"routers": "Routery",
|
||||
"services": "Služby",
|
||||
"middleware": "Prostředník"
|
||||
},
|
||||
"npm": {
|
||||
"enabled": "Povoleno",
|
||||
"disabled": "Zakázáno",
|
||||
"total": "Celkově"
|
||||
},
|
||||
"coinmarketcap": {
|
||||
"configure": "Nakonfigurujte alespoň jednu crypto měnu ke sledování",
|
||||
"1hour": "1 Hodina",
|
||||
"1day": "1 Den",
|
||||
"7days": "7 Dní",
|
||||
"30days": "30 Dní"
|
||||
},
|
||||
"wmo": {
|
||||
"1-night": "Převážně jasno",
|
||||
"2-day": "Polojasno",
|
||||
"0-day": "Slunečno",
|
||||
"0-night": "Jasno",
|
||||
"1-day": "Převážně slunečno",
|
||||
"2-night": "Polojasno",
|
||||
"3-day": "Oblačno",
|
||||
"3-night": "Oblačno",
|
||||
"45-day": "Mlha",
|
||||
"45-night": "Mlha",
|
||||
"48-day": "Mlha",
|
||||
"48-night": "Mlha",
|
||||
"51-day": "Lehké mrholení",
|
||||
"53-day": "Mrholení",
|
||||
"53-night": "Mrholení",
|
||||
"55-day": "Silné mrholení",
|
||||
"55-night": "Silné mrholení",
|
||||
"56-day": "Mírné mrznoucí mrholení",
|
||||
"56-night": "Mírné mrznoucí mrholení",
|
||||
"57-day": "Mrznoucí mrholení",
|
||||
"57-night": "Mrznoucí mrholení",
|
||||
"61-day": "Slabý déšť",
|
||||
"61-night": "Slabý déšť",
|
||||
"51-night": "Lehké mrholení",
|
||||
"63-day": "Déšť",
|
||||
"63-night": "Déšť",
|
||||
"65-day": "Silný déšť",
|
||||
"65-night": "Silný déšť",
|
||||
"66-day": "Mrznoucí déšť",
|
||||
"66-night": "Mrznoucí déšť",
|
||||
"67-day": "Mrznoucí déšť",
|
||||
"67-night": "Mrznoucí déšť",
|
||||
"71-day": "Slabé sněžení",
|
||||
"73-night": "Sněžení",
|
||||
"75-day": "Silné sněžení",
|
||||
"75-night": "Silné sněžení",
|
||||
"77-day": "Sněhová zrna",
|
||||
"71-night": "Slabé sněžení",
|
||||
"73-day": "Sněžení",
|
||||
"77-night": "Sněhová zrna",
|
||||
"80-day": "Lehké přeháňky",
|
||||
"80-night": "Lehké přeháňky",
|
||||
"81-day": "Přeháňky",
|
||||
"81-night": "Přeháňky",
|
||||
"82-day": "Silné přeháňky",
|
||||
"82-night": "Silné přeháňky",
|
||||
"85-day": "Déšť se sněhem",
|
||||
"85-night": "Déšť se sněhem",
|
||||
"86-day": "Déšť se sněhem",
|
||||
"86-night": "Déšť se sněhem",
|
||||
"95-day": "Bouřka",
|
||||
"95-night": "Bouřka",
|
||||
"96-day": "Bouřka s krupobitím",
|
||||
"96-night": "Bouřka s krupobitím",
|
||||
"99-day": "Bouřka s krupobitím",
|
||||
"99-night": "Bouřka s krupobitím"
|
||||
},
|
||||
"gotify": {
|
||||
"apps": "Aplikace",
|
||||
"clients": "Klienti",
|
||||
"messages": "Zprávy"
|
||||
},
|
||||
"prowlarr": {
|
||||
"enableIndexers": "Indexery",
|
||||
"numberOfGrabs": "Uchopení",
|
||||
"numberOfQueries": "Dotazy",
|
||||
"numberOfFailGrabs": "Neúspěšné uchopení",
|
||||
"numberOfFailQueries": "Neúspěšné dotazy"
|
||||
},
|
||||
"jackett": {
|
||||
"configured": "Konfigurováno",
|
||||
"errored": "Chybné"
|
||||
},
|
||||
"strelaysrv": {
|
||||
"numActiveSessions": "Sezení",
|
||||
"numConnections": "Připojení",
|
||||
"dataRelayed": "Přenášení",
|
||||
"transferRate": "Tempo"
|
||||
},
|
||||
"mastodon": {
|
||||
"user_count": "Uživatelé",
|
||||
"status_count": "Příspěvky",
|
||||
"domain_count": "Domény"
|
||||
},
|
||||
"authentik": {
|
||||
"users": "Uživatelé",
|
||||
"loginsLast24H": "Příhlášení (24h)",
|
||||
"failedLoginsLast24H": "Neúspěšná přihlášení (24h)"
|
||||
},
|
||||
"proxmox": {
|
||||
"mem": "RAM",
|
||||
"cpu": "CPU",
|
||||
"lxc": "LXC",
|
||||
"vms": "Virtuální Stroje"
|
||||
},
|
||||
"glances": {
|
||||
"cpu": "CPU",
|
||||
"mem": "RAM",
|
||||
"wait": "Prosím počkejte"
|
||||
},
|
||||
"quicklaunch": {
|
||||
"bookmark": "Záložka",
|
||||
"service": "Služba"
|
||||
},
|
||||
"homebridge": {
|
||||
"update_available": "Dostupná aktualizace",
|
||||
"up_to_date": "Aktuální",
|
||||
"available_update": "Systém",
|
||||
"updates": "Aktualizace",
|
||||
"child_bridges": "Podřadné můstky",
|
||||
"child_bridges_status": "{{ok}}/{{total}}"
|
||||
},
|
||||
"watchtower": {
|
||||
"containers_scanned": "Naskenováno",
|
||||
"containers_updated": "Aktualizováno",
|
||||
"containers_failed": "Chyba"
|
||||
},
|
||||
"autobrr": {
|
||||
"approvedPushes": "Schváleno",
|
||||
"rejectedPushes": "Zamítnuto",
|
||||
"filters": "Filtry",
|
||||
"indexers": "Indexery"
|
||||
},
|
||||
"navidrome": {
|
||||
"nothing_streaming": "No Active Streams",
|
||||
"please_wait": "Please Wait"
|
||||
},
|
||||
"pyload": {
|
||||
"speed": "Speed",
|
||||
"active": "Active",
|
||||
"queue": "Queue",
|
||||
"total": "Total"
|
||||
},
|
||||
"gluetun": {
|
||||
"public_ip": "Public IP",
|
||||
"region": "Region",
|
||||
"country": "Country"
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Channels",
|
||||
"hd": "HD"
|
||||
},
|
||||
"ping": {
|
||||
"error": "Error",
|
||||
"ping": "Ping"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Passed",
|
||||
"failed": "Failed",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"paperlessngx": {
|
||||
"inbox": "Inbox",
|
||||
"total": "Total"
|
||||
},
|
||||
"deluge": {
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed",
|
||||
"download": "Download"
|
||||
},
|
||||
"flood": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"tdarr": {
|
||||
"queue": "Queue",
|
||||
"processed": "Processed",
|
||||
"errored": "Errored",
|
||||
"saved": "Saved"
|
||||
},
|
||||
"miniflux": {
|
||||
"read": "Read",
|
||||
"unread": "Unread"
|
||||
},
|
||||
"nextdns": {
|
||||
"wait": "Please Wait",
|
||||
"no_devices": "No Device Data Received"
|
||||
},
|
||||
"common": {
|
||||
"bibyterate": "{{value, rate(bits: false; binary: true)}}",
|
||||
"bibitrate": "{{value, rate(bits: true; binary: true)}}"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Connected APs",
|
||||
"activeUser": "Active devices",
|
||||
"alerts": "Alerts",
|
||||
"connectedGateway": "Connected gateways",
|
||||
"connectedSwitches": "Connected switches"
|
||||
},
|
||||
"downloadstation": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"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": {
|
||||
"print_progress": "Progress",
|
||||
"printer_state": "Printer State",
|
||||
"print_status": "Print Status",
|
||||
"layers": "Layers"
|
||||
},
|
||||
"medusa": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"series": "Series"
|
||||
},
|
||||
"octoPrint": {
|
||||
"printer_state": "Status",
|
||||
"temp_tool": "Tool temp",
|
||||
"temp_bed": "Bed temp",
|
||||
"job_completion": "Completion"
|
||||
}
|
||||
}
|
||||
424
public/locales/da/common.json
Normal file
424
public/locales/da/common.json
Normal file
@@ -0,0 +1,424 @@
|
||||
{
|
||||
"plex": {
|
||||
"movies": "Film",
|
||||
"tv": "TV-Shows",
|
||||
"streams": "Aktive Streams"
|
||||
},
|
||||
"radarr": {
|
||||
"queued": "I Kø",
|
||||
"movies": "Film",
|
||||
"wanted": "Ønskede",
|
||||
"missing": "Mangler"
|
||||
},
|
||||
"lidarr": {
|
||||
"wanted": "Ønsket",
|
||||
"queued": "I Kø",
|
||||
"albums": "Albums"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"available": "Tilgængelig",
|
||||
"pending": "Afventer",
|
||||
"approved": "Godkendt"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Afventer",
|
||||
"approved": "Godkendt",
|
||||
"available": "Tilgængelig",
|
||||
"processing": "Processing"
|
||||
},
|
||||
"adguard": {
|
||||
"queries": "Forespørgsler",
|
||||
"blocked": "Blokerede",
|
||||
"filtered": "Filtreret",
|
||||
"latency": "Latency"
|
||||
},
|
||||
"speedtest": {
|
||||
"upload": "Upload",
|
||||
"download": "Download",
|
||||
"ping": "Ping"
|
||||
},
|
||||
"npm": {
|
||||
"total": "Total",
|
||||
"enabled": "Aktiveret",
|
||||
"disabled": "Deaktiveret"
|
||||
},
|
||||
"coinmarketcap": {
|
||||
"30days": "30 Dage",
|
||||
"1day": "1 Dag",
|
||||
"configure": "Konfigurer en eller flere crypto valutaer til tracking",
|
||||
"7days": "7 Dage",
|
||||
"1hour": "1 time"
|
||||
},
|
||||
"strelaysrv": {
|
||||
"numActiveSessions": "Sessioner",
|
||||
"dataRelayed": "Videresendt",
|
||||
"numConnections": "Forbindelser",
|
||||
"transferRate": "Rate"
|
||||
},
|
||||
"mastodon": {
|
||||
"domain_count": "Domæner",
|
||||
"status_count": "Indlæg",
|
||||
"user_count": "Brugere"
|
||||
},
|
||||
"authentik": {
|
||||
"users": "Brugere",
|
||||
"loginsLast24H": "Login (24 timer)",
|
||||
"failedLoginsLast24H": "Mislykkede logins (24 timer)"
|
||||
},
|
||||
"glances": {
|
||||
"cpu": "CPU",
|
||||
"mem": "RAM",
|
||||
"wait": "Vent venligst"
|
||||
},
|
||||
"wmo": {
|
||||
"1-day": "Hovedsageligt solrigt",
|
||||
"48-day": "Tåget",
|
||||
"48-night": "Tåget",
|
||||
"51-day": "Let støvregn",
|
||||
"51-night": "Let støvregn",
|
||||
"66-night": "Frysende regn",
|
||||
"67-day": "Frysende regn",
|
||||
"67-night": "Frysende regn",
|
||||
"71-day": "Let Sne",
|
||||
"75-night": "Kraftig Sne",
|
||||
"86-day": "Snebyger",
|
||||
"86-night": "Snebyger",
|
||||
"95-day": "Tordenvejr",
|
||||
"99-day": "Tordenvejr med hagl",
|
||||
"99-night": "Tordenvejr med hagl",
|
||||
"0-day": "Solrig",
|
||||
"0-night": "Klart",
|
||||
"1-night": "Hovedsageligt klart",
|
||||
"2-day": "Delvist skyet",
|
||||
"2-night": "Delvist skyet",
|
||||
"3-day": "Skyet",
|
||||
"3-night": "Skyet",
|
||||
"45-day": "Tåget",
|
||||
"65-day": "Kraftig regn",
|
||||
"65-night": "Kraftig regn",
|
||||
"45-night": "Tåget",
|
||||
"53-day": "Støvregn",
|
||||
"53-night": "Støvregn",
|
||||
"55-day": "Kraftig støvregn",
|
||||
"55-night": "Kraftig støvregn",
|
||||
"56-day": "Let frysende støvregn",
|
||||
"56-night": "Let frysende støvregn",
|
||||
"57-day": "Frysende støvregn",
|
||||
"57-night": "Frysende støvregn",
|
||||
"61-day": "Let Regn",
|
||||
"61-night": "Let Regn",
|
||||
"63-day": "Regn",
|
||||
"63-night": "Regn",
|
||||
"66-day": "Frysende regn",
|
||||
"71-night": "Let Sne",
|
||||
"73-day": "Sne",
|
||||
"73-night": "Sne",
|
||||
"75-day": "Kraftig Sne",
|
||||
"77-day": "Snekorn",
|
||||
"80-day": "Lette byger",
|
||||
"80-night": "Lette byger",
|
||||
"81-day": "Byger",
|
||||
"77-night": "Snekorn",
|
||||
"81-night": "Byger",
|
||||
"82-day": "Kraftige Byger",
|
||||
"82-night": "Kraftige Byger",
|
||||
"85-day": "Snebyger",
|
||||
"85-night": "Snebyger",
|
||||
"95-night": "Tordenvejr",
|
||||
"96-day": "Tordenvejr med hagl",
|
||||
"96-night": "Tordenvejr med hagl"
|
||||
},
|
||||
"homebridge": {
|
||||
"available_update": "System",
|
||||
"updates": "Opdateringer",
|
||||
"update_available": "Opdateringer tilgængelige",
|
||||
"up_to_date": "Opdateret",
|
||||
"child_bridges": "Child Bridges",
|
||||
"child_bridges_status": "{{ok}}/{{total}}"
|
||||
},
|
||||
"widget": {
|
||||
"missing_type": "Manglende Widget Type: {{type}}",
|
||||
"api_error": "API fejl",
|
||||
"status": "Status",
|
||||
"information": "Information",
|
||||
"url": "URL",
|
||||
"raw_error": "Raw Error",
|
||||
"response_data": "Response Data"
|
||||
},
|
||||
"weather": {
|
||||
"current": "Nuværende lokation",
|
||||
"allow": "Klik for at tillade",
|
||||
"updating": "Opdaterer",
|
||||
"wait": "Vent venligst"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Søg…"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "CPU",
|
||||
"total": "Total",
|
||||
"free": "Fri",
|
||||
"used": "Brugt",
|
||||
"load": "Belastning"
|
||||
},
|
||||
"unifi": {
|
||||
"users": "Brugere",
|
||||
"uptime": "System Oppetid",
|
||||
"days": "Dage",
|
||||
"wan": "WAN",
|
||||
"lan": "LAN",
|
||||
"wlan": "Wifi",
|
||||
"devices": "Enheder",
|
||||
"lan_devices": "LAN Enheder",
|
||||
"wlan_devices": "WLAN Enheder",
|
||||
"lan_users": "LAN Brugere",
|
||||
"wlan_users": "WLAN Brugere",
|
||||
"up": "Oppe",
|
||||
"down": "NED",
|
||||
"wait": "Vent venligst"
|
||||
},
|
||||
"docker": {
|
||||
"cpu": "CPU",
|
||||
"rx": "RX",
|
||||
"tx": "TX",
|
||||
"mem": "RAM",
|
||||
"offline": "Offline",
|
||||
"error": "Error",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "Afspiller",
|
||||
"transcoding": "Transcoder",
|
||||
"bitrate": "Bitrate",
|
||||
"no_active": "Ingen Aktive Streams"
|
||||
},
|
||||
"changedetectionio": {
|
||||
"totalObserved": "Total Observeret",
|
||||
"diffsDetected": "Forskelle Detekteret"
|
||||
},
|
||||
"tautulli": {
|
||||
"playing": "Afspiller",
|
||||
"transcoding": "Transcoder",
|
||||
"bitrate": "Bitrate",
|
||||
"no_active": "Ingen Aktive Streams"
|
||||
},
|
||||
"nzbget": {
|
||||
"rate": "Rate",
|
||||
"remaining": "Manglende",
|
||||
"downloaded": "Hentet"
|
||||
},
|
||||
"sabnzbd": {
|
||||
"rate": "Rate",
|
||||
"queue": "Kø",
|
||||
"timeleft": "Resterende tid"
|
||||
},
|
||||
"rutorrent": {
|
||||
"active": "Aktive",
|
||||
"upload": "Upload",
|
||||
"download": "Download"
|
||||
},
|
||||
"transmission": {
|
||||
"upload": "Upload",
|
||||
"download": "Download",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"qbittorrent": {
|
||||
"upload": "Upload",
|
||||
"download": "Download",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"sonarr": {
|
||||
"wanted": "Ønsket",
|
||||
"queued": "I Kø",
|
||||
"series": "Serier"
|
||||
},
|
||||
"readarr": {
|
||||
"wanted": "Ønskede",
|
||||
"queued": "I Kø",
|
||||
"books": "Bøger"
|
||||
},
|
||||
"bazarr": {
|
||||
"missingEpisodes": "Manglende Afsnit",
|
||||
"missingMovies": "Manglende Film"
|
||||
},
|
||||
"ombi": {
|
||||
"pending": "Afventer",
|
||||
"approved": "Godkendt",
|
||||
"available": "Tilgængelig"
|
||||
},
|
||||
"pihole": {
|
||||
"blocked": "Blokerede",
|
||||
"gravity": "Gravity",
|
||||
"queries": "Forespørgsler"
|
||||
},
|
||||
"portainer": {
|
||||
"running": "Kørende",
|
||||
"stopped": "Stoppede",
|
||||
"total": "Total"
|
||||
},
|
||||
"traefik": {
|
||||
"routers": "Routere",
|
||||
"services": "Services",
|
||||
"middleware": "Middleware"
|
||||
},
|
||||
"gotify": {
|
||||
"apps": "Applikationer",
|
||||
"clients": "Klienter",
|
||||
"messages": "Beskeder"
|
||||
},
|
||||
"prowlarr": {
|
||||
"enableIndexers": "Indeksører",
|
||||
"numberOfGrabs": "Grabs",
|
||||
"numberOfQueries": "Forespørgsler",
|
||||
"numberOfFailGrabs": "Fail Grabs",
|
||||
"numberOfFailQueries": "Fejl forespørgsler"
|
||||
},
|
||||
"jackett": {
|
||||
"configured": "Konfigureret",
|
||||
"errored": "Fejlede"
|
||||
},
|
||||
"proxmox": {
|
||||
"mem": "RAM",
|
||||
"cpu": "CPU",
|
||||
"lxc": "LXC",
|
||||
"vms": "VMs"
|
||||
},
|
||||
"quicklaunch": {
|
||||
"bookmark": "Bogmærker",
|
||||
"service": "Service"
|
||||
},
|
||||
"watchtower": {
|
||||
"containers_scanned": "Scannet",
|
||||
"containers_updated": "Opdateret",
|
||||
"containers_failed": "Fejlet"
|
||||
},
|
||||
"autobrr": {
|
||||
"indexers": "Indeksører",
|
||||
"approvedPushes": "Godkendte",
|
||||
"rejectedPushes": "Afviste",
|
||||
"filters": "Filtre"
|
||||
},
|
||||
"tubearchivist": {
|
||||
"downloads": "Kø",
|
||||
"videos": "Videoer",
|
||||
"channels": "Kanaler",
|
||||
"playlists": "Afspilningslister"
|
||||
},
|
||||
"truenas": {
|
||||
"load": "Systembelastning",
|
||||
"uptime": "Oppetid",
|
||||
"alerts": "Advarsler",
|
||||
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
|
||||
},
|
||||
"navidrome": {
|
||||
"nothing_streaming": "Ingen Aktive Streams",
|
||||
"please_wait": "Vent venligst"
|
||||
},
|
||||
"pyload": {
|
||||
"speed": "Hastighed",
|
||||
"active": "Aktive",
|
||||
"queue": "Kø",
|
||||
"total": "Total"
|
||||
},
|
||||
"gluetun": {
|
||||
"public_ip": "Public IP",
|
||||
"region": "Region",
|
||||
"country": "Country"
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Channels",
|
||||
"hd": "HD"
|
||||
},
|
||||
"ping": {
|
||||
"error": "Error",
|
||||
"ping": "Ping"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Passed",
|
||||
"failed": "Failed",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"paperlessngx": {
|
||||
"inbox": "Inbox",
|
||||
"total": "Total"
|
||||
},
|
||||
"deluge": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"flood": {
|
||||
"leech": "Leech",
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"tdarr": {
|
||||
"queue": "Queue",
|
||||
"processed": "Processed",
|
||||
"errored": "Errored",
|
||||
"saved": "Saved"
|
||||
},
|
||||
"miniflux": {
|
||||
"read": "Read",
|
||||
"unread": "Unread"
|
||||
},
|
||||
"nextdns": {
|
||||
"wait": "Please Wait",
|
||||
"no_devices": "No Device Data Received"
|
||||
},
|
||||
"common": {
|
||||
"bibyterate": "{{value, rate(bits: false; binary: true)}}",
|
||||
"bibitrate": "{{value, rate(bits: true; binary: true)}}"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Connected APs",
|
||||
"activeUser": "Active devices",
|
||||
"alerts": "Alerts",
|
||||
"connectedGateway": "Connected gateways",
|
||||
"connectedSwitches": "Connected switches"
|
||||
},
|
||||
"downloadstation": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"medusa": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"series": "Series"
|
||||
},
|
||||
"octoPrint": {
|
||||
"printer_state": "Status",
|
||||
"temp_tool": "Tool temp",
|
||||
"temp_bed": "Bed temp",
|
||||
"job_completion": "Completion"
|
||||
}
|
||||
}
|
||||
@@ -2,7 +2,11 @@
|
||||
"widget": {
|
||||
"missing_type": "Fehlender Widget-Typ: {{type}}",
|
||||
"api_error": "API-Fehler",
|
||||
"status": "Status"
|
||||
"status": "Status",
|
||||
"url": "URL",
|
||||
"information": "Information",
|
||||
"raw_error": "Raw Error",
|
||||
"response_data": "Empfangene Daten"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Suche…"
|
||||
@@ -11,7 +15,7 @@
|
||||
"total": "Gesamt",
|
||||
"free": "Frei",
|
||||
"used": "Gebraucht",
|
||||
"load": "Belastung",
|
||||
"load": "Last",
|
||||
"cpu": "CPU"
|
||||
},
|
||||
"docker": {
|
||||
@@ -19,19 +23,21 @@
|
||||
"tx": "Tx",
|
||||
"mem": "Mem",
|
||||
"cpu": "Prozessor",
|
||||
"offline": "Offline"
|
||||
"offline": "Offline",
|
||||
"error": "Error",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "Spielen",
|
||||
"transcoding": "Transcodierung",
|
||||
"bitrate": "Bitrate",
|
||||
"no_active": "Keine aktive Streams"
|
||||
"no_active": "Keine aktiven Streams"
|
||||
},
|
||||
"tautulli": {
|
||||
"playing": "Spielen",
|
||||
"transcoding": "Transcodierung",
|
||||
"bitrate": "Bitrate",
|
||||
"no_active": "Keine aktiven streamen"
|
||||
"no_active": "Keine aktiven Streams"
|
||||
},
|
||||
"rutorrent": {
|
||||
"active": "Aktiv",
|
||||
@@ -41,12 +47,13 @@
|
||||
"sonarr": {
|
||||
"wanted": "Gesucht",
|
||||
"queued": "In Warteschlange",
|
||||
"series": "Serie"
|
||||
"series": "Serien"
|
||||
},
|
||||
"radarr": {
|
||||
"wanted": "Gesucht",
|
||||
"queued": "In Warteschlange",
|
||||
"movies": "Filme"
|
||||
"movies": "Filme",
|
||||
"missing": "Fehlt"
|
||||
},
|
||||
"readarr": {
|
||||
"wanted": "Gesucht",
|
||||
@@ -97,7 +104,8 @@
|
||||
"overseerr": {
|
||||
"pending": "Ausstehend",
|
||||
"approved": "Genehmigt",
|
||||
"available": "Verfügbar"
|
||||
"available": "Verfügbar",
|
||||
"processing": "Processing"
|
||||
},
|
||||
"sabnzbd": {
|
||||
"rate": "Geschwindigkeit",
|
||||
@@ -176,30 +184,241 @@
|
||||
"failedLoginsLast24H": "fehlerhafte Anmeldungen (24h)"
|
||||
},
|
||||
"proxmox": {
|
||||
"mem": "MEM",
|
||||
"mem": "RAM",
|
||||
"cpu": "CPU",
|
||||
"lxc": "LXC",
|
||||
"vms": "VMs"
|
||||
},
|
||||
"unifi": {
|
||||
"users": "Users",
|
||||
"uptime": "System Uptime",
|
||||
"days": "Days",
|
||||
"users": "Benutzer",
|
||||
"uptime": "System-Betriebszeit",
|
||||
"days": "Tage",
|
||||
"wan": "WAN",
|
||||
"lan_users": "LAN Users",
|
||||
"wlan_users": "WLAN Users",
|
||||
"up": "UP",
|
||||
"down": "DOWN",
|
||||
"wait": "Please wait"
|
||||
"lan_users": "LAN Benutzer",
|
||||
"wlan_users": "WLAN Benutzer",
|
||||
"up": "SENDEN",
|
||||
"down": "EMPFANGEN",
|
||||
"wait": "Bitte warten",
|
||||
"lan": "LAN",
|
||||
"wlan": "WLAN",
|
||||
"devices": "Geräte",
|
||||
"lan_devices": "LAN-Geräte",
|
||||
"wlan_devices": "WLAN Geräte"
|
||||
},
|
||||
"plex": {
|
||||
"streams": "Active Streams",
|
||||
"movies": "Movies",
|
||||
"tv": "TV Shows"
|
||||
"streams": "Aktive Streams",
|
||||
"movies": "Filme",
|
||||
"tv": "TV Sendungen"
|
||||
},
|
||||
"glances": {
|
||||
"cpu": "CPU",
|
||||
"mem": "MEM",
|
||||
"wait": "Please wait"
|
||||
"cpu": "Prozessor",
|
||||
"mem": "RAM",
|
||||
"wait": "Bitte warten"
|
||||
},
|
||||
"changedetectionio": {
|
||||
"totalObserved": "Gesamt beobachtet",
|
||||
"diffsDetected": "Erkannte Differenzen"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "Sonnig",
|
||||
"0-night": "Klar",
|
||||
"1-day": "Überwiegend sonnig",
|
||||
"1-night": "Überwiegend klar",
|
||||
"2-day": "Teilweise bewölkt",
|
||||
"2-night": "Teilweise bewölkt",
|
||||
"3-day": "bewölkt",
|
||||
"57-day": "Gefrierender Nieselregen",
|
||||
"61-day": "Leichter Regen",
|
||||
"65-night": "Starker Regen",
|
||||
"66-day": "Gefrierender Regen",
|
||||
"66-night": "Gefrierender Regen",
|
||||
"3-night": "Bewölkt",
|
||||
"45-day": "Neblig",
|
||||
"45-night": "Neblig",
|
||||
"48-day": "Neblig",
|
||||
"48-night": "Neblig",
|
||||
"51-day": "Leichter Nieselregen",
|
||||
"51-night": "Leichter Nieselregen",
|
||||
"55-day": "Starker Nieselregen",
|
||||
"53-day": "Nieselregen",
|
||||
"53-night": "Nieselregen",
|
||||
"55-night": "Starker Nieselregen",
|
||||
"56-day": "Leichter gefrierender Nieselregen",
|
||||
"56-night": "Leichter eisiger Nieselregen",
|
||||
"57-night": "Gefrierender Nieselregen",
|
||||
"61-night": "Leichter Regen",
|
||||
"63-day": "Regen",
|
||||
"63-night": "Regen",
|
||||
"65-day": "Starker Regen",
|
||||
"67-day": "Gefrierender Regen",
|
||||
"67-night": "Gefrierender Regen",
|
||||
"71-day": "Leichter Schneefall",
|
||||
"71-night": "Leichter Schnee",
|
||||
"73-day": "Schnee",
|
||||
"73-night": "Schnee",
|
||||
"75-day": "Schwerer Schnee",
|
||||
"75-night": "Schwerer Schnee",
|
||||
"77-day": "Schneegriesel",
|
||||
"77-night": "Schneegriesel",
|
||||
"80-day": "Leichter Schauer",
|
||||
"80-night": "Leichter Schauer",
|
||||
"81-day": "Schauer",
|
||||
"81-night": "Schauer",
|
||||
"82-day": "Starke Regenschauer",
|
||||
"82-night": "Starke Regenschauer",
|
||||
"85-day": "Schneeschauer",
|
||||
"85-night": "Schneeregen",
|
||||
"86-day": "Schneeregen",
|
||||
"86-night": "Schneeregen",
|
||||
"95-day": "Gewitter",
|
||||
"95-night": "Gewitter",
|
||||
"96-day": "Gewitter mit Hagel",
|
||||
"96-night": "Gewitter mit Hagel",
|
||||
"99-day": "Gewitter mit Hagel",
|
||||
"99-night": "Gewitter mit Hagel"
|
||||
},
|
||||
"quicklaunch": {
|
||||
"bookmark": "Lesezeichen",
|
||||
"service": "Dienst"
|
||||
},
|
||||
"homebridge": {
|
||||
"available_update": "System",
|
||||
"updates": "Aktualisierungen",
|
||||
"update_available": "Aktualisierung verfügbar",
|
||||
"up_to_date": "Aktuell",
|
||||
"child_bridges": "Child Bridges",
|
||||
"child_bridges_status": "{{ok}}/{{total}}"
|
||||
},
|
||||
"autobrr": {
|
||||
"approvedPushes": "Genehmigt",
|
||||
"rejectedPushes": "Abgelehnt",
|
||||
"filters": "Filter",
|
||||
"indexers": "Indexer"
|
||||
},
|
||||
"watchtower": {
|
||||
"containers_scanned": "Überprüft",
|
||||
"containers_updated": "Aktualisiert",
|
||||
"containers_failed": "Fehlgeschlagen"
|
||||
},
|
||||
"tubearchivist": {
|
||||
"downloads": "Warteschlange",
|
||||
"videos": "Videos",
|
||||
"channels": "Kanäle",
|
||||
"playlists": "Wiedergabelisten"
|
||||
},
|
||||
"truenas": {
|
||||
"load": "Systembelastung",
|
||||
"uptime": "Betriebszeit",
|
||||
"alerts": "Warnungen",
|
||||
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
|
||||
},
|
||||
"navidrome": {
|
||||
"nothing_streaming": "No Active Streams",
|
||||
"please_wait": "Please Wait"
|
||||
},
|
||||
"pyload": {
|
||||
"speed": "Speed",
|
||||
"active": "Active",
|
||||
"queue": "Queue",
|
||||
"total": "Total"
|
||||
},
|
||||
"gluetun": {
|
||||
"public_ip": "Public IP",
|
||||
"region": "Region",
|
||||
"country": "Country"
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Channels",
|
||||
"hd": "HD"
|
||||
},
|
||||
"ping": {
|
||||
"ping": "Ping",
|
||||
"error": "Error"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Passed",
|
||||
"failed": "Failed",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"paperlessngx": {
|
||||
"inbox": "Inbox",
|
||||
"total": "Total"
|
||||
},
|
||||
"deluge": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"flood": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"tdarr": {
|
||||
"queue": "Queue",
|
||||
"processed": "Processed",
|
||||
"errored": "Errored",
|
||||
"saved": "Saved"
|
||||
},
|
||||
"miniflux": {
|
||||
"unread": "Unread",
|
||||
"read": "Read"
|
||||
},
|
||||
"nextdns": {
|
||||
"wait": "Please Wait",
|
||||
"no_devices": "No Device Data Received"
|
||||
},
|
||||
"common": {
|
||||
"bibyterate": "{{value, rate(bits: false; binary: true)}}",
|
||||
"bibitrate": "{{value, rate(bits: true; binary: true)}}"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Connected APs",
|
||||
"activeUser": "Active devices",
|
||||
"alerts": "Alerts",
|
||||
"connectedGateway": "Connected gateways",
|
||||
"connectedSwitches": "Connected switches"
|
||||
},
|
||||
"downloadstation": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"medusa": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"series": "Series"
|
||||
},
|
||||
"octoPrint": {
|
||||
"printer_state": "Status",
|
||||
"temp_tool": "Tool temp",
|
||||
"temp_bed": "Bed temp",
|
||||
"job_completion": "Completion"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,9 +3,11 @@
|
||||
"bytes": "{{value, bytes}}",
|
||||
"bits": "{{value, bytes(bits: true)}}",
|
||||
"bbytes": "{{value, bytes(binary: true)}}",
|
||||
"bbits": "{{value, bytes(bits: true, binary: true)}}",
|
||||
"byterate": "{{value, rate}}",
|
||||
"bbits": "{{value, bytes(bits: true; binary: true)}}",
|
||||
"byterate": "{{value, rate(bits: false)}}",
|
||||
"bibyterate": "{{value, rate(bits: false; binary: true)}}",
|
||||
"bitrate": "{{value, rate(bits: true)}}",
|
||||
"bibitrate": "{{value, rate(bits: true; binary: true)}}",
|
||||
"percent": "{{value, percent}}",
|
||||
"number": "{{value, number}}",
|
||||
"ms": "{{value, number}}"
|
||||
@@ -13,13 +15,17 @@
|
||||
"widget": {
|
||||
"missing_type": "Missing Widget Type: {{type}}",
|
||||
"api_error": "API Error",
|
||||
"status": "Status"
|
||||
"information": "Information",
|
||||
"status": "Status",
|
||||
"url": "URL",
|
||||
"raw_error": "Raw Error",
|
||||
"response_data": "Response Data"
|
||||
},
|
||||
"weather": {
|
||||
"current": "Current Location",
|
||||
"allow": "Click to allow",
|
||||
"updating": "Updating",
|
||||
"wait": "Please wait"
|
||||
"current": "Current Location",
|
||||
"allow": "Click to allow",
|
||||
"updating": "Updating",
|
||||
"wait": "Please wait"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Search…"
|
||||
@@ -36,6 +42,11 @@
|
||||
"uptime": "System Uptime",
|
||||
"days": "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",
|
||||
"up": "UP",
|
||||
@@ -47,7 +58,13 @@
|
||||
"tx": "TX",
|
||||
"mem": "MEM",
|
||||
"cpu": "CPU",
|
||||
"offline": "Offline"
|
||||
"offline": "Offline",
|
||||
"error": "Error",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"ping": {
|
||||
"error": "Error",
|
||||
"ping": "Ping"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "Playing",
|
||||
@@ -55,12 +72,29 @@
|
||||
"bitrate": "Bitrate",
|
||||
"no_active": "No Active Streams"
|
||||
},
|
||||
"flood": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"changedetectionio": {
|
||||
"totalObserved": "Total Observed",
|
||||
"diffsDetected": "Diffs Detected"
|
||||
},
|
||||
"tautulli": {
|
||||
"playing": "Playing",
|
||||
"transcoding": "Transcoding",
|
||||
"bitrate": "Bitrate",
|
||||
"no_active": "No Active Streams"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Connected APs",
|
||||
"activeUser": "Active devices",
|
||||
"alerts": "Alerts",
|
||||
"connectedGateway": "Connected gateways",
|
||||
"connectedSwitches": "Connected switches"
|
||||
},
|
||||
"nzbget": {
|
||||
"rate": "Rate",
|
||||
"remaining": "Remaining",
|
||||
@@ -93,6 +127,18 @@
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"deluge": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"downloadstation": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"sonarr": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
@@ -100,6 +146,7 @@
|
||||
},
|
||||
"radarr": {
|
||||
"wanted": "Wanted",
|
||||
"missing": "Missing",
|
||||
"queued": "Queued",
|
||||
"movies": "Movies"
|
||||
},
|
||||
@@ -128,9 +175,10 @@
|
||||
"available": "Available"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"pending": "Pending",
|
||||
"processing": "Processing",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
},
|
||||
"pihole": {
|
||||
"queries": "Queries",
|
||||
@@ -138,10 +186,10 @@
|
||||
"gravity": "Gravity"
|
||||
},
|
||||
"adguard": {
|
||||
"queries": "Queries",
|
||||
"blocked": "Blocked",
|
||||
"filtered": "Filtered",
|
||||
"latency": "Latency"
|
||||
"queries": "Queries",
|
||||
"blocked": "Blocked",
|
||||
"filtered": "Filtered",
|
||||
"latency": "Latency"
|
||||
},
|
||||
"speedtest": {
|
||||
"upload": "Upload",
|
||||
@@ -153,11 +201,21 @@
|
||||
"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",
|
||||
@@ -175,7 +233,7 @@
|
||||
"clients": "Clients",
|
||||
"messages": "Messages"
|
||||
},
|
||||
"prowlarr":{
|
||||
"prowlarr": {
|
||||
"enableIndexers": "Indexers",
|
||||
"numberOfGrabs": "Grabs",
|
||||
"numberOfQueries": "Queries",
|
||||
@@ -197,6 +255,15 @@
|
||||
"status_count": "Posts",
|
||||
"domain_count": "Domains"
|
||||
},
|
||||
"medusa": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"series": "Series"
|
||||
},
|
||||
"miniflux": {
|
||||
"read": "Read",
|
||||
"unread": "Unread"
|
||||
},
|
||||
"authentik": {
|
||||
"users": "Users",
|
||||
"loginsLast24H": "Logins (24h)",
|
||||
@@ -212,5 +279,155 @@
|
||||
"cpu": "CPU",
|
||||
"mem": "MEM",
|
||||
"wait": "Please wait"
|
||||
},
|
||||
"quicklaunch": {
|
||||
"bookmark": "Bookmark",
|
||||
"service": "Service"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "Sunny",
|
||||
"0-night": "Clear",
|
||||
"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",
|
||||
"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"
|
||||
},
|
||||
"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}}"
|
||||
},
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
424
public/locales/eo/common.json
Normal file
424
public/locales/eo/common.json
Normal file
@@ -0,0 +1,424 @@
|
||||
{
|
||||
"widget": {
|
||||
"missing_type": "Missing Widget Type: {{type}}",
|
||||
"api_error": "API Error",
|
||||
"information": "Informo",
|
||||
"status": "Stato",
|
||||
"url": "URL",
|
||||
"raw_error": "Raw Error",
|
||||
"response_data": "Response Data"
|
||||
},
|
||||
"weather": {
|
||||
"current": "Aktuala loko",
|
||||
"allow": "Click to allow",
|
||||
"updating": "Updating",
|
||||
"wait": "Please wait"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Serĉi…"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "Ĉefprocesoro",
|
||||
"total": "Totalo",
|
||||
"free": "Libera",
|
||||
"used": "Uzata",
|
||||
"load": "Ŝarĝo"
|
||||
},
|
||||
"unifi": {
|
||||
"users": "Uzantoj",
|
||||
"uptime": "System Uptime",
|
||||
"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",
|
||||
"up": "UP",
|
||||
"down": "DOWN",
|
||||
"wait": "Please wait"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
"tx": "TX",
|
||||
"mem": "Memoro",
|
||||
"cpu": "Ĉefprocesoro",
|
||||
"offline": "Offline",
|
||||
"error": "Eraro",
|
||||
"unknown": "Nekonata"
|
||||
},
|
||||
"ping": {
|
||||
"error": "Eraro",
|
||||
"ping": "Ping"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "Ludante",
|
||||
"transcoding": "Transcoding",
|
||||
"bitrate": "Bitrate",
|
||||
"no_active": "No Active Streams"
|
||||
},
|
||||
"changedetectionio": {
|
||||
"totalObserved": "Total Observed",
|
||||
"diffsDetected": "Diffs Detected"
|
||||
},
|
||||
"tautulli": {
|
||||
"playing": "Playing",
|
||||
"transcoding": "Transcoding",
|
||||
"bitrate": "Bitrate",
|
||||
"no_active": "No Active Streams"
|
||||
},
|
||||
"nzbget": {
|
||||
"rate": "Rate",
|
||||
"remaining": "Remaining",
|
||||
"downloaded": "Downloaded"
|
||||
},
|
||||
"plex": {
|
||||
"streams": "Active Streams",
|
||||
"movies": "Filmoj",
|
||||
"tv": "Televidprogramoj"
|
||||
},
|
||||
"sabnzbd": {
|
||||
"rate": "Rate",
|
||||
"queue": "Queue",
|
||||
"timeleft": "Time Left"
|
||||
},
|
||||
"rutorrent": {
|
||||
"active": "Active",
|
||||
"upload": "Alŝuto",
|
||||
"download": "Elŝuto"
|
||||
},
|
||||
"transmission": {
|
||||
"download": "Elŝuto",
|
||||
"upload": "Alŝuto",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"qbittorrent": {
|
||||
"download": "Elŝuto",
|
||||
"upload": "Alŝuto",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"deluge": {
|
||||
"download": "Elŝuto",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"sonarr": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"series": "Serio"
|
||||
},
|
||||
"radarr": {
|
||||
"wanted": "Wanted",
|
||||
"missing": "Missing",
|
||||
"queued": "Queued",
|
||||
"movies": "Filmoj"
|
||||
},
|
||||
"lidarr": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"albums": "Albumoj"
|
||||
},
|
||||
"readarr": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"books": "Libroj"
|
||||
},
|
||||
"bazarr": {
|
||||
"missingEpisodes": "Missing Episodes",
|
||||
"missingMovies": "Missing Movies"
|
||||
},
|
||||
"ombi": {
|
||||
"pending": "Pending",
|
||||
"approved": "Aprobita",
|
||||
"available": "Havebla"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Aprobita",
|
||||
"available": "Havebla"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
"processing": "Processing",
|
||||
"approved": "Aprobita",
|
||||
"available": "Havebla"
|
||||
},
|
||||
"pihole": {
|
||||
"queries": "Queries",
|
||||
"blocked": "Blocked",
|
||||
"gravity": "Gravity"
|
||||
},
|
||||
"adguard": {
|
||||
"queries": "Queries",
|
||||
"blocked": "Blokitaj",
|
||||
"filtered": "Filtritaj",
|
||||
"latency": "Latency"
|
||||
},
|
||||
"speedtest": {
|
||||
"upload": "Upload",
|
||||
"download": "Download",
|
||||
"ping": "Ping"
|
||||
},
|
||||
"portainer": {
|
||||
"running": "Running",
|
||||
"stopped": "Stopped",
|
||||
"total": "Totalo"
|
||||
},
|
||||
"traefik": {
|
||||
"routers": "Routers",
|
||||
"services": "Servoj",
|
||||
"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 horo",
|
||||
"1day": "1 tago",
|
||||
"7days": "7 tagoj",
|
||||
"30days": "30 tagoj"
|
||||
},
|
||||
"gotify": {
|
||||
"apps": "Applications",
|
||||
"clients": "Klientoj",
|
||||
"messages": "Mesaĝoj"
|
||||
},
|
||||
"prowlarr": {
|
||||
"enableIndexers": "Indexers",
|
||||
"numberOfGrabs": "Grabs",
|
||||
"numberOfQueries": "Queries",
|
||||
"numberOfFailGrabs": "Fail Grabs",
|
||||
"numberOfFailQueries": "Fail Queries"
|
||||
},
|
||||
"jackett": {
|
||||
"configured": "Configured",
|
||||
"errored": "Errored"
|
||||
},
|
||||
"strelaysrv": {
|
||||
"numActiveSessions": "Seancoj",
|
||||
"numConnections": "Konektoj",
|
||||
"dataRelayed": "Relayed",
|
||||
"transferRate": "Rate"
|
||||
},
|
||||
"mastodon": {
|
||||
"user_count": "Uzantoj",
|
||||
"status_count": "Afiŝoj",
|
||||
"domain_count": "Domains"
|
||||
},
|
||||
"authentik": {
|
||||
"users": "Users",
|
||||
"loginsLast24H": "Logins (24h)",
|
||||
"failedLoginsLast24H": "Failed Logins (24h)"
|
||||
},
|
||||
"proxmox": {
|
||||
"mem": "Memoro",
|
||||
"cpu": "Ĉefprocesoro",
|
||||
"lxc": "LXC",
|
||||
"vms": "VMs"
|
||||
},
|
||||
"glances": {
|
||||
"cpu": "Ĉefprocesoro",
|
||||
"mem": "Memoro",
|
||||
"wait": "Bonvolu atendi"
|
||||
},
|
||||
"quicklaunch": {
|
||||
"bookmark": "Bookmark",
|
||||
"service": "Servo"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "Suna",
|
||||
"0-night": "Sennuba",
|
||||
"1-day": "Mainly Sunny",
|
||||
"1-night": "Mainly Clear",
|
||||
"2-day": "Nubeta",
|
||||
"2-night": "Nubeta",
|
||||
"3-day": "Nuba",
|
||||
"3-night": "Nuba",
|
||||
"45-day": "Nebula",
|
||||
"45-night": "Nebula",
|
||||
"48-day": "Nebula",
|
||||
"48-night": "Nebula",
|
||||
"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": "Pluvo",
|
||||
"63-night": "Pluvo",
|
||||
"65-day": "Pluvego",
|
||||
"65-night": "Pluvego",
|
||||
"66-day": "Frosta pluvo",
|
||||
"66-night": "Frosta pluvo",
|
||||
"67-day": "Frosta pluvo",
|
||||
"67-night": "Frosta pluvo",
|
||||
"71-day": "Light Snow",
|
||||
"71-night": "Light Snow",
|
||||
"73-day": "Neĝo",
|
||||
"73-night": "Neĝo",
|
||||
"75-day": "Neĝego",
|
||||
"75-night": "Neĝego",
|
||||
"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": "Fulmotondro",
|
||||
"95-night": "Fulmotondro",
|
||||
"96-day": "Fulmotondro kun hajlo",
|
||||
"96-night": "Fulmotondro kun hajlo",
|
||||
"99-day": "Fulmotondro kun hajlo",
|
||||
"99-night": "Fulmotondro kun hajlo"
|
||||
},
|
||||
"homebridge": {
|
||||
"available_update": "Sistemo",
|
||||
"updates": "Updates",
|
||||
"update_available": "Update Available",
|
||||
"up_to_date": "Up to Date",
|
||||
"child_bridges": "Child Bridges",
|
||||
"child_bridges_status": "{{ok}}/{{total}}"
|
||||
},
|
||||
"watchtower": {
|
||||
"containers_scanned": "Scanned",
|
||||
"containers_updated": "Updated",
|
||||
"containers_failed": "Failed"
|
||||
},
|
||||
"autobrr": {
|
||||
"approvedPushes": "Approved",
|
||||
"rejectedPushes": "Rejected",
|
||||
"filters": "Filtriloj",
|
||||
"indexers": "Indexers"
|
||||
},
|
||||
"tubearchivist": {
|
||||
"downloads": "Queue",
|
||||
"videos": "Videos",
|
||||
"channels": "Kanaloj",
|
||||
"playlists": "Playlists"
|
||||
},
|
||||
"truenas": {
|
||||
"load": "System Load",
|
||||
"uptime": "Uptime",
|
||||
"alerts": "Alerts",
|
||||
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
|
||||
},
|
||||
"pyload": {
|
||||
"speed": "Speed",
|
||||
"active": "Aktiva",
|
||||
"queue": "Queue",
|
||||
"total": "Total"
|
||||
},
|
||||
"gluetun": {
|
||||
"public_ip": "Public IP",
|
||||
"region": "Regiono",
|
||||
"country": "Lando"
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Kanaloj",
|
||||
"hd": "HD"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Passed",
|
||||
"failed": "Failed",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"paperlessngx": {
|
||||
"inbox": "Inbox",
|
||||
"total": "Totalo"
|
||||
},
|
||||
"flood": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"tdarr": {
|
||||
"queue": "Queue",
|
||||
"processed": "Processed",
|
||||
"errored": "Errored",
|
||||
"saved": "Saved"
|
||||
},
|
||||
"miniflux": {
|
||||
"read": "Read",
|
||||
"unread": "Unread"
|
||||
},
|
||||
"nextdns": {
|
||||
"wait": "Please Wait",
|
||||
"no_devices": "No Device Data Received"
|
||||
},
|
||||
"common": {
|
||||
"bibyterate": "{{value, rate(bits: false; binary: true)}}",
|
||||
"bibitrate": "{{value, rate(bits: true; binary: true)}}"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Connected APs",
|
||||
"activeUser": "Active devices",
|
||||
"alerts": "Alerts",
|
||||
"connectedGateway": "Connected gateways",
|
||||
"connectedSwitches": "Connected switches"
|
||||
},
|
||||
"downloadstation": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"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",
|
||||
"layers": "Layers",
|
||||
"print_progress": "Progress"
|
||||
},
|
||||
"medusa": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"series": "Series"
|
||||
},
|
||||
"octoPrint": {
|
||||
"printer_state": "Status",
|
||||
"temp_tool": "Tool temp",
|
||||
"temp_bed": "Bed temp",
|
||||
"job_completion": "Completion"
|
||||
}
|
||||
}
|
||||
@@ -2,7 +2,11 @@
|
||||
"widget": {
|
||||
"missing_type": "Falta el tipo de widget: {{type}}",
|
||||
"api_error": "Error de API",
|
||||
"status": "Estado"
|
||||
"status": "Estado",
|
||||
"information": "Información",
|
||||
"url": "URL",
|
||||
"raw_error": "Error sin procesar",
|
||||
"response_data": "Datos de respuesta"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Buscar…"
|
||||
@@ -19,7 +23,9 @@
|
||||
"tx": "Transmitido",
|
||||
"mem": "Memoria",
|
||||
"cpu": "Procesador",
|
||||
"offline": "Desconectado"
|
||||
"offline": "Desconectado",
|
||||
"error": "Fallo",
|
||||
"unknown": "Desconocido"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "Reproduciendo",
|
||||
@@ -46,7 +52,8 @@
|
||||
"radarr": {
|
||||
"wanted": "Buscando",
|
||||
"queued": "En cola",
|
||||
"movies": "Películas"
|
||||
"movies": "Películas",
|
||||
"missing": "Faltan"
|
||||
},
|
||||
"readarr": {
|
||||
"wanted": "Buscando",
|
||||
@@ -81,7 +88,7 @@
|
||||
"traefik": {
|
||||
"routers": "Enrutadores",
|
||||
"services": "Servicios",
|
||||
"middleware": "Middleware"
|
||||
"middleware": "Software intermedio"
|
||||
},
|
||||
"npm": {
|
||||
"enabled": "Activado",
|
||||
@@ -97,7 +104,8 @@
|
||||
"overseerr": {
|
||||
"pending": "Pendiente",
|
||||
"approved": "Aprobado",
|
||||
"available": "Disponible"
|
||||
"available": "Disponible",
|
||||
"processing": "Procesando"
|
||||
},
|
||||
"sabnzbd": {
|
||||
"rate": "Tasa",
|
||||
@@ -131,7 +139,7 @@
|
||||
"transmission": {
|
||||
"download": "Bajada",
|
||||
"upload": "Subida",
|
||||
"leech": "Compañeros",
|
||||
"leech": "Leech",
|
||||
"seed": "Semillas"
|
||||
},
|
||||
"jackett": {
|
||||
@@ -156,7 +164,7 @@
|
||||
"qbittorrent": {
|
||||
"download": "Bajada",
|
||||
"upload": "Subida",
|
||||
"leech": "Compañeros",
|
||||
"leech": "Depender",
|
||||
"seed": "Semillas"
|
||||
},
|
||||
"mastodon": {
|
||||
@@ -178,28 +186,239 @@
|
||||
"proxmox": {
|
||||
"mem": "Memoria",
|
||||
"cpu": "Procesador",
|
||||
"lxc": "LXC",
|
||||
"vms": "VMs"
|
||||
"lxc": "Contenedores Linux",
|
||||
"vms": "Máquinas Virtuales"
|
||||
},
|
||||
"unifi": {
|
||||
"up": "UP",
|
||||
"users": "Users",
|
||||
"uptime": "System Uptime",
|
||||
"days": "Days",
|
||||
"wan": "WAN",
|
||||
"lan_users": "LAN Users",
|
||||
"wlan_users": "WLAN Users",
|
||||
"down": "DOWN",
|
||||
"wait": "Please wait"
|
||||
"up": "LEVANTADO",
|
||||
"users": "Usuarios",
|
||||
"uptime": "Tiempo de actividad",
|
||||
"days": "Días",
|
||||
"wan": "Red WAN",
|
||||
"lan_users": "Usuarios LAN",
|
||||
"wlan_users": "Usuarios WLAN",
|
||||
"down": "CAÍDO",
|
||||
"wait": "Espere por favor",
|
||||
"lan": "LAN",
|
||||
"wlan": "WLAN",
|
||||
"devices": "Dispositivos",
|
||||
"lan_devices": "Dispositivos LAN",
|
||||
"wlan_devices": "Dispositivos WLAN"
|
||||
},
|
||||
"plex": {
|
||||
"streams": "Active Streams",
|
||||
"movies": "Movies",
|
||||
"tv": "TV Shows"
|
||||
"streams": "Transmisiones activas",
|
||||
"movies": "Películas",
|
||||
"tv": "Programas de TV"
|
||||
},
|
||||
"glances": {
|
||||
"cpu": "CPU",
|
||||
"mem": "MEM",
|
||||
"wait": "Please wait"
|
||||
"cpu": "Procesador",
|
||||
"mem": "Memoria",
|
||||
"wait": "Espere por favor"
|
||||
},
|
||||
"changedetectionio": {
|
||||
"totalObserved": "Total Observados",
|
||||
"diffsDetected": "Diferencias detectadas"
|
||||
},
|
||||
"wmo": {
|
||||
"48-night": "Niebla",
|
||||
"51-day": "Llovizna ligera",
|
||||
"51-night": "Llovizna ligera",
|
||||
"2-day": "Parcialmente nuboso",
|
||||
"0-day": "Soleado",
|
||||
"0-night": "Despejado",
|
||||
"1-day": "Mayormente soleado",
|
||||
"1-night": "Mayormente despejado",
|
||||
"2-night": "Parcialmente nuboso",
|
||||
"3-day": "Nublado",
|
||||
"3-night": "Nublado",
|
||||
"45-day": "Niebla",
|
||||
"45-night": "Niebla",
|
||||
"48-day": "Niebla",
|
||||
"53-day": "Llovizna",
|
||||
"53-night": "Llovizna",
|
||||
"55-day": "Llovizna pesada",
|
||||
"55-night": "Llovizna pesada",
|
||||
"56-day": "Llovizna helada ligera",
|
||||
"56-night": "Llovizna helada ligera",
|
||||
"57-day": "Llovizna helada",
|
||||
"57-night": "Llovizna helada",
|
||||
"61-day": "Lluvia ligera",
|
||||
"61-night": "Lluvia ligera",
|
||||
"67-day": "Granizo",
|
||||
"63-day": "Lluvia",
|
||||
"63-night": "Lluvia",
|
||||
"65-day": "Chubascos",
|
||||
"65-night": "Chubascos",
|
||||
"66-day": "Granizo",
|
||||
"66-night": "Granizo",
|
||||
"67-night": "Granizo",
|
||||
"71-day": "Nevada Leve",
|
||||
"71-night": "Nevada Leva",
|
||||
"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-night": "Llovizna",
|
||||
"81-day": "Lluvia",
|
||||
"81-night": "Lluvia",
|
||||
"82-day": "Chubascos",
|
||||
"82-night": "Chubascos",
|
||||
"85-day": "Chubascos",
|
||||
"85-night": "Lluvia de nieve",
|
||||
"86-day": "Lluvia de nieve",
|
||||
"86-night": "Lluvia de nieve",
|
||||
"95-day": "Tormenta",
|
||||
"95-night": "Tormenta",
|
||||
"96-day": "Tormenta con granizo",
|
||||
"96-night": "Tormenta con granizo",
|
||||
"99-day": "Tormenta con granizo",
|
||||
"99-night": "Tormenta con granizo"
|
||||
},
|
||||
"quicklaunch": {
|
||||
"bookmark": "Marcadores",
|
||||
"service": "Servicio"
|
||||
},
|
||||
"homebridge": {
|
||||
"available_update": "Sistema",
|
||||
"updates": "Actualizaciones",
|
||||
"update_available": "Actualización disponible",
|
||||
"up_to_date": "Actualizado",
|
||||
"child_bridges": "Child Bridges",
|
||||
"child_bridges_status": "{{ok}}/{{total}}"
|
||||
},
|
||||
"autobrr": {
|
||||
"approvedPushes": "Aprobado",
|
||||
"rejectedPushes": "Rechazado",
|
||||
"filters": "Filtros",
|
||||
"indexers": "Indexadores"
|
||||
},
|
||||
"watchtower": {
|
||||
"containers_scanned": "Escaneado",
|
||||
"containers_updated": "Actualizado",
|
||||
"containers_failed": "Fallido"
|
||||
},
|
||||
"tubearchivist": {
|
||||
"downloads": "Cola",
|
||||
"videos": "Vídeos",
|
||||
"channels": "Canales",
|
||||
"playlists": "Listas de reproducción"
|
||||
},
|
||||
"truenas": {
|
||||
"load": "Carga del sistema",
|
||||
"uptime": "Tiempo de la actividad",
|
||||
"alerts": "Alertas",
|
||||
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
|
||||
},
|
||||
"navidrome": {
|
||||
"nothing_streaming": "Sin transmisiones activas",
|
||||
"please_wait": "Espere por favor"
|
||||
},
|
||||
"pyload": {
|
||||
"speed": "Velocidad",
|
||||
"active": "Activo",
|
||||
"queue": "Cola",
|
||||
"total": "Total"
|
||||
},
|
||||
"gluetun": {
|
||||
"public_ip": "IP pública",
|
||||
"region": "Región",
|
||||
"country": "País"
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Canales",
|
||||
"hd": "Alta definición"
|
||||
},
|
||||
"ping": {
|
||||
"error": "Error",
|
||||
"ping": "Ping"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Aprobado",
|
||||
"failed": "Fallido",
|
||||
"unknown": "Desconocido"
|
||||
},
|
||||
"paperlessngx": {
|
||||
"inbox": "Bandeja de entrada",
|
||||
"total": "Total"
|
||||
},
|
||||
"deluge": {
|
||||
"download": "Descarga",
|
||||
"upload": "Subida",
|
||||
"leech": "Depender",
|
||||
"seed": "Semilla"
|
||||
},
|
||||
"flood": {
|
||||
"download": "Descargar",
|
||||
"upload": "Subir",
|
||||
"leech": "Depender",
|
||||
"seed": "Semillas"
|
||||
},
|
||||
"tdarr": {
|
||||
"queue": "Cola",
|
||||
"processed": "Procesado",
|
||||
"saved": "Guardado",
|
||||
"errored": "Error"
|
||||
},
|
||||
"miniflux": {
|
||||
"read": "Leer",
|
||||
"unread": "Sin leer"
|
||||
},
|
||||
"nextdns": {
|
||||
"wait": "Espere, por favor",
|
||||
"no_devices": "No se reciben datos del dispositivo"
|
||||
},
|
||||
"common": {
|
||||
"bibyterate": "{{value, rate(bits: false; binary: true)}}",
|
||||
"bibitrate": "{{value, rate(bits: true; binary: true)}}"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "AP conectados",
|
||||
"activeUser": "Dispositivos activos",
|
||||
"alerts": "Alertas",
|
||||
"connectedGateway": "Pasarelas conectadas",
|
||||
"connectedSwitches": "Interruptores conectados"
|
||||
},
|
||||
"downloadstation": {
|
||||
"download": "Descargar",
|
||||
"upload": "Subir",
|
||||
"leech": "Sanguijuela",
|
||||
"seed": "Semilla"
|
||||
},
|
||||
"mikrotik": {
|
||||
"cpuLoad": "Carga de la CPU",
|
||||
"memoryUsed": "Memoria utilizada",
|
||||
"uptime": "Tiempo en funcionamiento",
|
||||
"numberOfLeases": "Alquileres"
|
||||
},
|
||||
"xteve": {
|
||||
"streams_all": "Todas las corrientes",
|
||||
"streams_active": "Corrientes activas",
|
||||
"streams_xepg": "Canales XEPG"
|
||||
},
|
||||
"opnsense": {
|
||||
"cpu": "Carga de la CPU",
|
||||
"memory": "Memoria activa",
|
||||
"wanUpload": "Carga WAN",
|
||||
"wanDownload": "Descargar WAN"
|
||||
},
|
||||
"moonraker": {
|
||||
"printer_state": "Estado de la impresora",
|
||||
"print_status": "Estado de la impresora",
|
||||
"print_progress": "Progreso",
|
||||
"layers": "Capas"
|
||||
},
|
||||
"medusa": {
|
||||
"wanted": "Querido",
|
||||
"queued": "A la espera",
|
||||
"series": "Serie"
|
||||
},
|
||||
"octoPrint": {
|
||||
"printer_state": "Status",
|
||||
"temp_tool": "Tool temp",
|
||||
"temp_bed": "Bed temp",
|
||||
"job_completion": "Completion"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,11 @@
|
||||
"widget": {
|
||||
"missing_type": "Puuttuva härpäkkeen tyyppi: {{type}}",
|
||||
"api_error": "API-virhe",
|
||||
"status": "Tila"
|
||||
"status": "Tila",
|
||||
"information": "Information",
|
||||
"url": "URL",
|
||||
"raw_error": "Raw Error",
|
||||
"response_data": "Response Data"
|
||||
},
|
||||
"weather": {
|
||||
"current": "Nykyinen sijainti",
|
||||
@@ -25,7 +29,9 @@
|
||||
"tx": "TX",
|
||||
"mem": "RAM",
|
||||
"cpu": "CPU",
|
||||
"offline": "Offline"
|
||||
"offline": "Offline",
|
||||
"error": "Error",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "Toistaa",
|
||||
@@ -74,7 +80,8 @@
|
||||
"radarr": {
|
||||
"wanted": "Haluttu",
|
||||
"queued": "Jonossa",
|
||||
"movies": "Elokuvia"
|
||||
"movies": "Elokuvia",
|
||||
"missing": "Missing"
|
||||
},
|
||||
"lidarr": {
|
||||
"wanted": "Haluttu",
|
||||
@@ -103,7 +110,8 @@
|
||||
"overseerr": {
|
||||
"pending": "Vireillä",
|
||||
"approved": "Hyväksytty",
|
||||
"available": "Saatavilla"
|
||||
"available": "Saatavilla",
|
||||
"processing": "Processing"
|
||||
},
|
||||
"pihole": {
|
||||
"queries": "Kyselyjä",
|
||||
@@ -190,7 +198,12 @@
|
||||
"days": "Days",
|
||||
"wan": "WAN",
|
||||
"up": "UP",
|
||||
"down": "DOWN"
|
||||
"down": "DOWN",
|
||||
"devices": "Devices",
|
||||
"lan_devices": "LAN Devices",
|
||||
"lan": "LAN",
|
||||
"wlan": "WLAN",
|
||||
"wlan_devices": "WLAN Devices"
|
||||
},
|
||||
"plex": {
|
||||
"streams": "Active Streams",
|
||||
@@ -201,5 +214,211 @@
|
||||
"wait": "Please wait",
|
||||
"cpu": "CPU",
|
||||
"mem": "MEM"
|
||||
},
|
||||
"changedetectionio": {
|
||||
"totalObserved": "Total Observed",
|
||||
"diffsDetected": "Diffs Detected"
|
||||
},
|
||||
"wmo": {
|
||||
"3-day": "Cloudy",
|
||||
"3-night": "Cloudy",
|
||||
"45-day": "Foggy",
|
||||
"0-day": "Sunny",
|
||||
"0-night": "Clear",
|
||||
"1-day": "Mainly Sunny",
|
||||
"1-night": "Mainly Clear",
|
||||
"2-day": "Partly Cloudy",
|
||||
"2-night": "Partly Cloudy",
|
||||
"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",
|
||||
"71-night": "Light Snow",
|
||||
"73-day": "Snow",
|
||||
"73-night": "Snow",
|
||||
"75-day": "Heavy Snow",
|
||||
"80-night": "Light Showers",
|
||||
"75-night": "Heavy Snow",
|
||||
"77-day": "Snow Grains",
|
||||
"77-night": "Snow Grains",
|
||||
"80-day": "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"
|
||||
},
|
||||
"quicklaunch": {
|
||||
"bookmark": "Bookmark",
|
||||
"service": "Service"
|
||||
},
|
||||
"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}}"
|
||||
},
|
||||
"autobrr": {
|
||||
"approvedPushes": "Approved",
|
||||
"rejectedPushes": "Rejected",
|
||||
"filters": "Filters",
|
||||
"indexers": "Indexers"
|
||||
},
|
||||
"watchtower": {
|
||||
"containers_scanned": "Scanned",
|
||||
"containers_updated": "Updated",
|
||||
"containers_failed": "Failed"
|
||||
},
|
||||
"tubearchivist": {
|
||||
"downloads": "Queue",
|
||||
"videos": "Videos",
|
||||
"channels": "Channels",
|
||||
"playlists": "Playlists"
|
||||
},
|
||||
"truenas": {
|
||||
"load": "System Load",
|
||||
"uptime": "Uptime",
|
||||
"alerts": "Alerts",
|
||||
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
|
||||
},
|
||||
"navidrome": {
|
||||
"nothing_streaming": "No Active Streams",
|
||||
"please_wait": "Please Wait"
|
||||
},
|
||||
"pyload": {
|
||||
"speed": "Speed",
|
||||
"active": "Active",
|
||||
"queue": "Queue",
|
||||
"total": "Total"
|
||||
},
|
||||
"gluetun": {
|
||||
"public_ip": "Public IP",
|
||||
"region": "Region",
|
||||
"country": "Country"
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Channels",
|
||||
"hd": "HD"
|
||||
},
|
||||
"ping": {
|
||||
"error": "Error",
|
||||
"ping": "Ping"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Passed",
|
||||
"failed": "Failed",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"paperlessngx": {
|
||||
"inbox": "Inbox",
|
||||
"total": "Total"
|
||||
},
|
||||
"deluge": {
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed",
|
||||
"download": "Download"
|
||||
},
|
||||
"flood": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"tdarr": {
|
||||
"queue": "Queue",
|
||||
"processed": "Processed",
|
||||
"errored": "Errored",
|
||||
"saved": "Saved"
|
||||
},
|
||||
"miniflux": {
|
||||
"read": "Read",
|
||||
"unread": "Unread"
|
||||
},
|
||||
"nextdns": {
|
||||
"wait": "Please Wait",
|
||||
"no_devices": "No Device Data Received"
|
||||
},
|
||||
"common": {
|
||||
"bibyterate": "{{value, rate(bits: false; binary: true)}}",
|
||||
"bibitrate": "{{value, rate(bits: true; binary: true)}}"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Connected APs",
|
||||
"activeUser": "Active devices",
|
||||
"alerts": "Alerts",
|
||||
"connectedSwitches": "Connected switches",
|
||||
"connectedGateway": "Connected gateways"
|
||||
},
|
||||
"downloadstation": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"medusa": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"series": "Series"
|
||||
},
|
||||
"octoPrint": {
|
||||
"printer_state": "Status",
|
||||
"temp_tool": "Tool temp",
|
||||
"temp_bed": "Bed temp",
|
||||
"job_completion": "Completion"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,11 @@
|
||||
"widget": {
|
||||
"missing_type": "Type de widget manquant: {{type}}",
|
||||
"api_error": "Erreur de l'API",
|
||||
"status": "Statut"
|
||||
"status": "Statut",
|
||||
"information": "Information",
|
||||
"url": "URL",
|
||||
"raw_error": "Raw Error",
|
||||
"response_data": "Response Data"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Recherche…"
|
||||
@@ -19,7 +23,9 @@
|
||||
"tx": "Tx",
|
||||
"mem": "Mém",
|
||||
"cpu": "Cpu",
|
||||
"offline": "Hors ligne"
|
||||
"offline": "Hors ligne",
|
||||
"error": "Erreur",
|
||||
"unknown": "Inconnu"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "En lecture",
|
||||
@@ -46,7 +52,8 @@
|
||||
"radarr": {
|
||||
"wanted": "Demande",
|
||||
"queued": "En attente",
|
||||
"movies": "Films"
|
||||
"movies": "Films",
|
||||
"missing": "Manquant"
|
||||
},
|
||||
"readarr": {
|
||||
"wanted": "Demande",
|
||||
@@ -97,7 +104,8 @@
|
||||
"overseerr": {
|
||||
"pending": "En attente",
|
||||
"approved": "Demande",
|
||||
"available": "Disponible"
|
||||
"available": "Disponible",
|
||||
"processing": "En traitement"
|
||||
},
|
||||
"sabnzbd": {
|
||||
"rate": "Débit",
|
||||
@@ -190,7 +198,12 @@
|
||||
"wlan_users": "Utilisateurs WLAN",
|
||||
"up": "UP",
|
||||
"down": "DOWN",
|
||||
"wait": "Merci de patienter"
|
||||
"wait": "Merci de patienter",
|
||||
"lan": "LAN",
|
||||
"wlan": "WLAN",
|
||||
"devices": "Équipt.",
|
||||
"lan_devices": "Équipt. LAN",
|
||||
"wlan_devices": "Équipt. WLAN"
|
||||
},
|
||||
"plex": {
|
||||
"streams": "Flux actif",
|
||||
@@ -198,8 +211,214 @@
|
||||
"tv": "Séries TV"
|
||||
},
|
||||
"glances": {
|
||||
"cpu": "CPU",
|
||||
"mem": "MEM",
|
||||
"wait": "Please wait"
|
||||
"cpu": "Cpu",
|
||||
"mem": "Mém",
|
||||
"wait": "Merci de patienter"
|
||||
},
|
||||
"changedetectionio": {
|
||||
"totalObserved": "Total Observé",
|
||||
"diffsDetected": "Diffs Detectées"
|
||||
},
|
||||
"wmo": {
|
||||
"1-day": "Principalement ensoleillé",
|
||||
"1-night": "Principalement clair",
|
||||
"2-day": "Partiellement couvert",
|
||||
"2-night": "Partiellement couvert",
|
||||
"3-day": "Couvert",
|
||||
"3-night": "Couvert",
|
||||
"63-night": "Pluie",
|
||||
"65-day": "Pluie forte",
|
||||
"85-day": "Averses de neige",
|
||||
"85-night": "Averses de neige",
|
||||
"86-day": "Averses de neige",
|
||||
"0-night": "Ciel clair",
|
||||
"45-day": "Brumeux",
|
||||
"45-night": "Brumeux",
|
||||
"48-day": "Brumeux",
|
||||
"48-night": "Brumeux",
|
||||
"51-day": "Bruine légère",
|
||||
"51-night": "Bruine légère",
|
||||
"53-day": "Bruine",
|
||||
"53-night": "Bruine",
|
||||
"55-day": "Bruine épaisse",
|
||||
"55-night": "Bruine épaisse",
|
||||
"56-day": "Légère bruine verglaçante",
|
||||
"56-night": "Légère bruine verglaçante",
|
||||
"57-day": "Bruine verglaçante",
|
||||
"57-night": "Bruine verglaçante",
|
||||
"61-day": "Pluie légère",
|
||||
"61-night": "Pluie légère",
|
||||
"63-day": "Pluie",
|
||||
"65-night": "Pluie forte",
|
||||
"66-day": "Pluie verglaçante",
|
||||
"66-night": "Pluie verglaçante",
|
||||
"67-day": "Pluie verglaçante",
|
||||
"67-night": "Pluie verglaçante",
|
||||
"71-day": "Neige légère",
|
||||
"71-night": "Neige légère",
|
||||
"73-day": "Neige",
|
||||
"73-night": "Neige",
|
||||
"75-day": "Neige abondante",
|
||||
"75-night": "Neige abondante",
|
||||
"77-day": "Grains de neige",
|
||||
"77-night": "Grains de neige",
|
||||
"80-day": "Averses légères",
|
||||
"80-night": "Averses légères",
|
||||
"81-day": "Averses",
|
||||
"81-night": "Averses",
|
||||
"82-day": "Averses fortes",
|
||||
"82-night": "Averses fortes",
|
||||
"86-night": "Averses de neige",
|
||||
"95-day": "Orage",
|
||||
"95-night": "Orage",
|
||||
"96-day": "Orage avec grêle",
|
||||
"96-night": "Orage avec grêle",
|
||||
"99-day": "Orage avec grêle",
|
||||
"99-night": "Orage avec grêle",
|
||||
"0-day": "Ensoleillé"
|
||||
},
|
||||
"quicklaunch": {
|
||||
"bookmark": "Signet",
|
||||
"service": "Service"
|
||||
},
|
||||
"homebridge": {
|
||||
"available_update": "Système",
|
||||
"updates": "Mises à jour",
|
||||
"update_available": "Mise à jour disponible",
|
||||
"up_to_date": "À jour",
|
||||
"child_bridges": "Child Bridges",
|
||||
"child_bridges_status": "{{ok}}/{{total}}"
|
||||
},
|
||||
"autobrr": {
|
||||
"approvedPushes": "Approuvé",
|
||||
"rejectedPushes": "Rejeté",
|
||||
"filters": "Filtres",
|
||||
"indexers": "Indexeur"
|
||||
},
|
||||
"watchtower": {
|
||||
"containers_scanned": "Scanné",
|
||||
"containers_updated": "Mis à jour",
|
||||
"containers_failed": "Échoué"
|
||||
},
|
||||
"tubearchivist": {
|
||||
"downloads": "Queue",
|
||||
"videos": "Vidéos",
|
||||
"channels": "Chaînes",
|
||||
"playlists": "Playlists"
|
||||
},
|
||||
"truenas": {
|
||||
"load": "Charge Système",
|
||||
"uptime": "Démarré depuis",
|
||||
"alerts": "Alertes",
|
||||
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
|
||||
},
|
||||
"navidrome": {
|
||||
"nothing_streaming": "Aucun flux actif",
|
||||
"please_wait": "Merci de patienter"
|
||||
},
|
||||
"pyload": {
|
||||
"speed": "Débit",
|
||||
"active": "Actif",
|
||||
"queue": "Queue",
|
||||
"total": "Total"
|
||||
},
|
||||
"gluetun": {
|
||||
"public_ip": "IP Publique",
|
||||
"region": "Région",
|
||||
"country": "Pays"
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Canaux",
|
||||
"hd": "HD"
|
||||
},
|
||||
"ping": {
|
||||
"error": "Erreur",
|
||||
"ping": "Ping"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Réussi",
|
||||
"failed": "Échoué",
|
||||
"unknown": "Inconnu"
|
||||
},
|
||||
"paperlessngx": {
|
||||
"inbox": "Boîte de réception",
|
||||
"total": "Total"
|
||||
},
|
||||
"deluge": {
|
||||
"download": "Récep.",
|
||||
"upload": "Envoi",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"flood": {
|
||||
"download": "Récep.",
|
||||
"upload": "Envoi",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"tdarr": {
|
||||
"queue": "À traiter",
|
||||
"processed": "Traité",
|
||||
"errored": "En erreur",
|
||||
"saved": "Enregistré"
|
||||
},
|
||||
"miniflux": {
|
||||
"read": "Lu",
|
||||
"unread": "Non lu"
|
||||
},
|
||||
"nextdns": {
|
||||
"wait": "Patientez...",
|
||||
"no_devices": "Aucune donnée d'appareil reçue"
|
||||
},
|
||||
"common": {
|
||||
"bibitrate": "{{value, rate(bits: true; binary: true)}}",
|
||||
"bibyterate": "{{value, rate(bits: false; binary: true)}}"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "APs connectées",
|
||||
"activeUser": "Équipts actifs",
|
||||
"alerts": "Alertes",
|
||||
"connectedGateway": "Passerelles connectées",
|
||||
"connectedSwitches": "Switches connectés"
|
||||
},
|
||||
"downloadstation": {
|
||||
"download": "Récep.",
|
||||
"upload": "Envoi",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"mikrotik": {
|
||||
"cpuLoad": "Charge CPU",
|
||||
"memoryUsed": "Mém. Utilisée",
|
||||
"uptime": "Disponibilité",
|
||||
"numberOfLeases": "Baux"
|
||||
},
|
||||
"xteve": {
|
||||
"streams_all": "Tous les flux",
|
||||
"streams_active": "Flux actif",
|
||||
"streams_xepg": "Canal XEPG"
|
||||
},
|
||||
"opnsense": {
|
||||
"cpu": "Charge CPU",
|
||||
"memory": "Mém. Utilisée",
|
||||
"wanUpload": "WAN Envoi",
|
||||
"wanDownload": "WAN Récep."
|
||||
},
|
||||
"moonraker": {
|
||||
"printer_state": "État Imprimante",
|
||||
"print_status": "Statut Imprimante",
|
||||
"print_progress": "Progression",
|
||||
"layers": "Couches"
|
||||
},
|
||||
"medusa": {
|
||||
"wanted": "Demande",
|
||||
"queued": "En attente",
|
||||
"series": "Séries"
|
||||
},
|
||||
"octoPrint": {
|
||||
"printer_state": "Status",
|
||||
"temp_tool": "Tool temp",
|
||||
"temp_bed": "Bed temp",
|
||||
"job_completion": "Completion"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,11 @@
|
||||
"widget": {
|
||||
"missing_type": "סוג ווידג'ט חסר: {{type}}",
|
||||
"api_error": "שגיאת API",
|
||||
"status": "סטטוס"
|
||||
"status": "סטטוס",
|
||||
"information": "Information",
|
||||
"url": "URL",
|
||||
"raw_error": "Raw Error",
|
||||
"response_data": "Response Data"
|
||||
},
|
||||
"weather": {
|
||||
"current": "מיקום נוכחי",
|
||||
@@ -25,7 +29,9 @@
|
||||
"tx": "TX",
|
||||
"mem": "זיכרון",
|
||||
"cpu": "מעבד",
|
||||
"offline": "כבוי"
|
||||
"offline": "כבוי",
|
||||
"error": "Error",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "מנגן",
|
||||
@@ -74,7 +80,8 @@
|
||||
"radarr": {
|
||||
"wanted": "מבוקש",
|
||||
"queued": "בתור",
|
||||
"movies": "סרטים"
|
||||
"movies": "סרטים",
|
||||
"missing": "Missing"
|
||||
},
|
||||
"lidarr": {
|
||||
"wanted": "מבוקש",
|
||||
@@ -103,7 +110,8 @@
|
||||
"overseerr": {
|
||||
"pending": "ממתין",
|
||||
"approved": "מאושר",
|
||||
"available": "זמין"
|
||||
"available": "זמין",
|
||||
"processing": "Processing"
|
||||
},
|
||||
"pihole": {
|
||||
"queries": "שאילתות",
|
||||
@@ -190,7 +198,12 @@
|
||||
"wlan_users": "WLAN Users",
|
||||
"up": "UP",
|
||||
"down": "DOWN",
|
||||
"wait": "Please wait"
|
||||
"wait": "Please wait",
|
||||
"lan": "LAN",
|
||||
"wlan": "WLAN",
|
||||
"devices": "Devices",
|
||||
"lan_devices": "LAN Devices",
|
||||
"wlan_devices": "WLAN Devices"
|
||||
},
|
||||
"plex": {
|
||||
"streams": "Active Streams",
|
||||
@@ -201,5 +214,211 @@
|
||||
"cpu": "CPU",
|
||||
"mem": "MEM",
|
||||
"wait": "Please wait"
|
||||
},
|
||||
"changedetectionio": {
|
||||
"totalObserved": "Total Observed",
|
||||
"diffsDetected": "Diffs Detected"
|
||||
},
|
||||
"wmo": {
|
||||
"80-day": "Light Showers",
|
||||
"0-day": "Sunny",
|
||||
"0-night": "Clear",
|
||||
"1-day": "Mainly Sunny",
|
||||
"2-night": "Partly Cloudy",
|
||||
"1-night": "Mainly Clear",
|
||||
"2-day": "Partly Cloudy",
|
||||
"3-day": "Cloudy",
|
||||
"3-night": "Cloudy",
|
||||
"45-day": "Foggy",
|
||||
"45-night": "Foggy",
|
||||
"48-day": "Foggy",
|
||||
"48-night": "Foggy",
|
||||
"57-night": "Freezing Drizzle",
|
||||
"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",
|
||||
"61-day": "Light Rain",
|
||||
"56-night": "Light Freezing Drizzle",
|
||||
"57-day": "Freezing Drizzle",
|
||||
"61-night": "Light Rain",
|
||||
"63-day": "Rain",
|
||||
"63-night": "Rain",
|
||||
"65-day": "Heavy Rain",
|
||||
"65-night": "Heavy Rain",
|
||||
"66-day": "Freezing Rain",
|
||||
"66-night": "Freezing Rain",
|
||||
"67-day": "Freezing Rain",
|
||||
"67-night": "Freezing Rain",
|
||||
"71-day": "Light Snow",
|
||||
"71-night": "Light Snow",
|
||||
"73-day": "Snow",
|
||||
"73-night": "Snow",
|
||||
"75-day": "Heavy Snow",
|
||||
"95-night": "Thunderstorm",
|
||||
"75-night": "Heavy Snow",
|
||||
"77-day": "Snow Grains",
|
||||
"77-night": "Snow Grains",
|
||||
"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",
|
||||
"96-day": "Thunderstorm With Hail",
|
||||
"96-night": "Thunderstorm With Hail",
|
||||
"99-day": "Thunderstorm With Hail",
|
||||
"99-night": "Thunderstorm With Hail"
|
||||
},
|
||||
"quicklaunch": {
|
||||
"bookmark": "Bookmark",
|
||||
"service": "Service"
|
||||
},
|
||||
"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}}"
|
||||
},
|
||||
"autobrr": {
|
||||
"approvedPushes": "Approved",
|
||||
"rejectedPushes": "Rejected",
|
||||
"filters": "Filters",
|
||||
"indexers": "Indexers"
|
||||
},
|
||||
"watchtower": {
|
||||
"containers_scanned": "Scanned",
|
||||
"containers_updated": "Updated",
|
||||
"containers_failed": "Failed"
|
||||
},
|
||||
"tubearchivist": {
|
||||
"downloads": "Queue",
|
||||
"videos": "Videos",
|
||||
"channels": "Channels",
|
||||
"playlists": "Playlists"
|
||||
},
|
||||
"truenas": {
|
||||
"load": "System Load",
|
||||
"uptime": "Uptime",
|
||||
"alerts": "Alerts",
|
||||
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
|
||||
},
|
||||
"navidrome": {
|
||||
"nothing_streaming": "No Active Streams",
|
||||
"please_wait": "Please Wait"
|
||||
},
|
||||
"pyload": {
|
||||
"speed": "Speed",
|
||||
"active": "Active",
|
||||
"queue": "Queue",
|
||||
"total": "Total"
|
||||
},
|
||||
"gluetun": {
|
||||
"public_ip": "Public IP",
|
||||
"region": "Region",
|
||||
"country": "Country"
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Channels",
|
||||
"hd": "HD"
|
||||
},
|
||||
"ping": {
|
||||
"error": "Error",
|
||||
"ping": "Ping"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Passed",
|
||||
"failed": "Failed",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"paperlessngx": {
|
||||
"inbox": "Inbox",
|
||||
"total": "Total"
|
||||
},
|
||||
"deluge": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"flood": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"tdarr": {
|
||||
"queue": "Queue",
|
||||
"processed": "Processed",
|
||||
"errored": "Errored",
|
||||
"saved": "Saved"
|
||||
},
|
||||
"miniflux": {
|
||||
"read": "Read",
|
||||
"unread": "Unread"
|
||||
},
|
||||
"nextdns": {
|
||||
"wait": "Please Wait",
|
||||
"no_devices": "No Device Data Received"
|
||||
},
|
||||
"common": {
|
||||
"bibyterate": "{{value, rate(bits: false; binary: true)}}",
|
||||
"bibitrate": "{{value, rate(bits: true; binary: true)}}"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Connected APs",
|
||||
"activeUser": "Active devices",
|
||||
"alerts": "Alerts",
|
||||
"connectedGateway": "Connected gateways",
|
||||
"connectedSwitches": "Connected switches"
|
||||
},
|
||||
"downloadstation": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"medusa": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"series": "Series"
|
||||
},
|
||||
"octoPrint": {
|
||||
"printer_state": "Status",
|
||||
"temp_tool": "Tool temp",
|
||||
"temp_bed": "Bed temp",
|
||||
"job_completion": "Completion"
|
||||
}
|
||||
}
|
||||
|
||||
424
public/locales/hi/common.json
Normal file
424
public/locales/hi/common.json
Normal file
@@ -0,0 +1,424 @@
|
||||
{
|
||||
"widget": {
|
||||
"missing_type": "Missing Widget Type: {{type}}",
|
||||
"api_error": "API Error",
|
||||
"status": "Status",
|
||||
"information": "Information",
|
||||
"url": "URL",
|
||||
"raw_error": "Raw Error",
|
||||
"response_data": "Response Data"
|
||||
},
|
||||
"weather": {
|
||||
"current": "Current Location",
|
||||
"allow": "Click to allow",
|
||||
"updating": "Updating",
|
||||
"wait": "Please wait"
|
||||
},
|
||||
"readarr": {
|
||||
"queued": "Queued",
|
||||
"books": "Books",
|
||||
"wanted": "Wanted"
|
||||
},
|
||||
"bazarr": {
|
||||
"missingEpisodes": "Missing Episodes",
|
||||
"missingMovies": "Missing Movies"
|
||||
},
|
||||
"ombi": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
},
|
||||
"traefik": {
|
||||
"services": "Services",
|
||||
"middleware": "Middleware",
|
||||
"routers": "Routers"
|
||||
},
|
||||
"mastodon": {
|
||||
"domain_count": "Domains",
|
||||
"user_count": "Users",
|
||||
"status_count": "Posts"
|
||||
},
|
||||
"authentik": {
|
||||
"users": "Users",
|
||||
"loginsLast24H": "Logins (24h)",
|
||||
"failedLoginsLast24H": "Failed Logins (24h)"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Search…"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "CPU",
|
||||
"total": "Total",
|
||||
"free": "Free",
|
||||
"used": "Used",
|
||||
"load": "Load"
|
||||
},
|
||||
"unifi": {
|
||||
"users": "Users",
|
||||
"uptime": "System Uptime",
|
||||
"days": "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",
|
||||
"up": "UP",
|
||||
"down": "DOWN",
|
||||
"wait": "Please wait"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
"tx": "TX",
|
||||
"mem": "MEM",
|
||||
"cpu": "CPU",
|
||||
"offline": "Offline",
|
||||
"error": "Error",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "Playing",
|
||||
"transcoding": "Transcoding",
|
||||
"bitrate": "Bitrate",
|
||||
"no_active": "No Active Streams"
|
||||
},
|
||||
"changedetectionio": {
|
||||
"totalObserved": "Total Observed",
|
||||
"diffsDetected": "Diffs Detected"
|
||||
},
|
||||
"tautulli": {
|
||||
"playing": "Playing",
|
||||
"transcoding": "Transcoding",
|
||||
"bitrate": "Bitrate",
|
||||
"no_active": "No Active Streams"
|
||||
},
|
||||
"nzbget": {
|
||||
"rate": "Rate",
|
||||
"remaining": "Remaining",
|
||||
"downloaded": "Downloaded"
|
||||
},
|
||||
"plex": {
|
||||
"streams": "Active Streams",
|
||||
"movies": "Movies",
|
||||
"tv": "TV Shows"
|
||||
},
|
||||
"sabnzbd": {
|
||||
"rate": "Rate",
|
||||
"queue": "Queue",
|
||||
"timeleft": "Time Left"
|
||||
},
|
||||
"rutorrent": {
|
||||
"active": "Active",
|
||||
"upload": "Upload",
|
||||
"download": "Download"
|
||||
},
|
||||
"transmission": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"qbittorrent": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"sonarr": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"series": "Series"
|
||||
},
|
||||
"radarr": {
|
||||
"wanted": "Wanted",
|
||||
"missing": "Missing",
|
||||
"queued": "Queued",
|
||||
"movies": "Movies"
|
||||
},
|
||||
"lidarr": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"albums": "Albums"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available",
|
||||
"processing": "Processing"
|
||||
},
|
||||
"pihole": {
|
||||
"queries": "Queries",
|
||||
"blocked": "Blocked",
|
||||
"gravity": "Gravity"
|
||||
},
|
||||
"adguard": {
|
||||
"queries": "Queries",
|
||||
"blocked": "Blocked",
|
||||
"filtered": "Filtered",
|
||||
"latency": "Latency"
|
||||
},
|
||||
"speedtest": {
|
||||
"upload": "Upload",
|
||||
"download": "Download",
|
||||
"ping": "Ping"
|
||||
},
|
||||
"portainer": {
|
||||
"running": "Running",
|
||||
"stopped": "Stopped",
|
||||
"total": "Total"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"jackett": {
|
||||
"configured": "Configured",
|
||||
"errored": "Errored"
|
||||
},
|
||||
"strelaysrv": {
|
||||
"numActiveSessions": "Sessions",
|
||||
"numConnections": "Connections",
|
||||
"dataRelayed": "Relayed",
|
||||
"transferRate": "Rate"
|
||||
},
|
||||
"proxmox": {
|
||||
"mem": "MEM",
|
||||
"cpu": "CPU",
|
||||
"lxc": "LXC",
|
||||
"vms": "VMs"
|
||||
},
|
||||
"glances": {
|
||||
"cpu": "CPU",
|
||||
"mem": "MEM",
|
||||
"wait": "Please wait"
|
||||
},
|
||||
"quicklaunch": {
|
||||
"bookmark": "Bookmark",
|
||||
"service": "Service"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "Sunny",
|
||||
"0-night": "Clear",
|
||||
"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",
|
||||
"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"
|
||||
},
|
||||
"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}}"
|
||||
},
|
||||
"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",
|
||||
"time": "{{value, number(style: unit; unitDisplay: long;)}}",
|
||||
"alerts": "Alerts"
|
||||
},
|
||||
"pyload": {
|
||||
"speed": "Speed",
|
||||
"active": "Active",
|
||||
"queue": "Queue",
|
||||
"total": "Total"
|
||||
},
|
||||
"gluetun": {
|
||||
"public_ip": "Public IP",
|
||||
"region": "Region",
|
||||
"country": "Country"
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Channels",
|
||||
"hd": "HD"
|
||||
},
|
||||
"ping": {
|
||||
"error": "Error",
|
||||
"ping": "Ping"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Passed",
|
||||
"failed": "Failed",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"paperlessngx": {
|
||||
"inbox": "Inbox",
|
||||
"total": "Total"
|
||||
},
|
||||
"deluge": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"flood": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"tdarr": {
|
||||
"queue": "Queue",
|
||||
"processed": "Processed",
|
||||
"errored": "Errored",
|
||||
"saved": "Saved"
|
||||
},
|
||||
"miniflux": {
|
||||
"read": "Read",
|
||||
"unread": "Unread"
|
||||
},
|
||||
"nextdns": {
|
||||
"wait": "Please Wait",
|
||||
"no_devices": "No Device Data Received"
|
||||
},
|
||||
"common": {
|
||||
"bibyterate": "{{value, rate(bits: false; binary: true)}}",
|
||||
"bibitrate": "{{value, rate(bits: true; binary: true)}}"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Connected APs",
|
||||
"activeUser": "Active devices",
|
||||
"alerts": "Alerts",
|
||||
"connectedGateway": "Connected gateways",
|
||||
"connectedSwitches": "Connected switches"
|
||||
},
|
||||
"downloadstation": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"medusa": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"series": "Series"
|
||||
},
|
||||
"octoPrint": {
|
||||
"printer_state": "Status",
|
||||
"temp_tool": "Tool temp",
|
||||
"temp_bed": "Bed temp",
|
||||
"job_completion": "Completion"
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"weather": {
|
||||
"current": "Tranutačna lokacija",
|
||||
"current": "Trenutačna lokacija",
|
||||
"allow": "Pritisni za dozvoljavanje",
|
||||
"updating": "Aktualiziranje",
|
||||
"wait": "Pričekaj"
|
||||
@@ -17,18 +17,19 @@
|
||||
},
|
||||
"sabnzbd": {
|
||||
"rate": "Stopa",
|
||||
"queue": "Red",
|
||||
"queue": "Red čekanja",
|
||||
"timeleft": "Preostalo vrijeme"
|
||||
},
|
||||
"overseerr": {
|
||||
"available": "Dostupno",
|
||||
"pending": "Predstoji",
|
||||
"approved": "Odobreno"
|
||||
"approved": "Odobreno",
|
||||
"processing": "Obrada"
|
||||
},
|
||||
"pihole": {
|
||||
"queries": "Upiti",
|
||||
"blocked": "Blokirano",
|
||||
"gravity": "Ozbiljnost"
|
||||
"gravity": "Čuvanje podataka"
|
||||
},
|
||||
"adguard": {
|
||||
"latency": "Kašnjenje",
|
||||
@@ -58,25 +59,31 @@
|
||||
"widget": {
|
||||
"missing_type": "Nedostajuća vrsta widgeta: {{type}}",
|
||||
"api_error": "API greška",
|
||||
"status": "Stanje"
|
||||
"status": "Stanje",
|
||||
"information": "Informacije",
|
||||
"url": "URL",
|
||||
"raw_error": "Raw greška",
|
||||
"response_data": "Podaci odgovora"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
"tx": "TX",
|
||||
"mem": "MEM",
|
||||
"cpu": "CPU",
|
||||
"offline": "Odspojen"
|
||||
"offline": "Nepovezan",
|
||||
"error": "Greška",
|
||||
"unknown": "Nepoznato"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "Reprodukcija",
|
||||
"transcoding": "Prekodiranje",
|
||||
"bitrate": "Brzina prijenosa",
|
||||
"bitrate": "Stopa bitova",
|
||||
"no_active": "Nema aktivnih prijenosa"
|
||||
},
|
||||
"tautulli": {
|
||||
"playing": "Reprodukcija",
|
||||
"transcoding": "Prekodiranje",
|
||||
"bitrate": "Brzina prijenosa",
|
||||
"bitrate": "Stopa bitova",
|
||||
"no_active": "Nema aktivnih prijenosa"
|
||||
},
|
||||
"nzbget": {
|
||||
@@ -92,26 +99,27 @@
|
||||
"transmission": {
|
||||
"download": "Preuzimanje",
|
||||
"upload": "Prijenos",
|
||||
"leech": "Krvopija",
|
||||
"seed": "Prijenos preuzetog sadržaja"
|
||||
"leech": "Leecher",
|
||||
"seed": "Seeder"
|
||||
},
|
||||
"sonarr": {
|
||||
"wanted": "Željeno",
|
||||
"wanted": "Zatraženo",
|
||||
"queued": "U redu čekanja",
|
||||
"series": "Serije"
|
||||
},
|
||||
"radarr": {
|
||||
"wanted": "Željeno",
|
||||
"wanted": "Zatraženo",
|
||||
"queued": "U redu čekanja",
|
||||
"movies": "Filmovi"
|
||||
"movies": "Filmovi",
|
||||
"missing": "Nedostaje"
|
||||
},
|
||||
"lidarr": {
|
||||
"wanted": "Željeno",
|
||||
"wanted": "Zatraženo",
|
||||
"queued": "U redu čekanja",
|
||||
"albums": "Albumi"
|
||||
},
|
||||
"readarr": {
|
||||
"wanted": "Željeno",
|
||||
"wanted": "Zatraženo",
|
||||
"queued": "U redu čekanja",
|
||||
"books": "Knjige"
|
||||
},
|
||||
@@ -142,7 +150,7 @@
|
||||
"traefik": {
|
||||
"routers": "Ruteri",
|
||||
"services": "Usluge",
|
||||
"middleware": "Middleware"
|
||||
"middleware": "Posrednički softver"
|
||||
},
|
||||
"gotify": {
|
||||
"clients": "Klijenti",
|
||||
@@ -156,8 +164,8 @@
|
||||
"qbittorrent": {
|
||||
"download": "Preuzimanje",
|
||||
"upload": "Prijenos",
|
||||
"leech": "Krvopija",
|
||||
"seed": "Prijenos preuzetog sadržaja"
|
||||
"leech": "Leecher",
|
||||
"seed": "Seeder"
|
||||
},
|
||||
"mastodon": {
|
||||
"user_count": "Korisnici",
|
||||
@@ -171,35 +179,246 @@
|
||||
"transferRate": "Stopa"
|
||||
},
|
||||
"authentik": {
|
||||
"users": "Users",
|
||||
"loginsLast24H": "Logins (24h)",
|
||||
"failedLoginsLast24H": "Failed Logins (24h)"
|
||||
"users": "Korisnici",
|
||||
"loginsLast24H": "Prijave (24 h)",
|
||||
"failedLoginsLast24H": "Neuspjele prijave (24 h)"
|
||||
},
|
||||
"proxmox": {
|
||||
"mem": "MEM",
|
||||
"cpu": "CPU",
|
||||
"lxc": "LXC",
|
||||
"vms": "VMs"
|
||||
"lxc": "Linux kontejner",
|
||||
"vms": "Virtualni uređaji"
|
||||
},
|
||||
"unifi": {
|
||||
"users": "Users",
|
||||
"uptime": "System Uptime",
|
||||
"days": "Days",
|
||||
"users": "Korisnici",
|
||||
"uptime": "Radno vrijeme sustava",
|
||||
"days": "Dani",
|
||||
"wan": "WAN",
|
||||
"lan_users": "LAN Users",
|
||||
"wlan_users": "WLAN Users",
|
||||
"up": "UP",
|
||||
"down": "DOWN",
|
||||
"wait": "Please wait"
|
||||
"lan_users": "LAN korisnici",
|
||||
"wlan_users": "WLAN korisnici",
|
||||
"up": "SLANJE",
|
||||
"down": "PRIMANJE",
|
||||
"wait": "Pričekaj",
|
||||
"lan": "LAN",
|
||||
"wlan": "WLAN",
|
||||
"devices": "Uređaji",
|
||||
"lan_devices": "LAN uređaji",
|
||||
"wlan_devices": "WLAN uređaji"
|
||||
},
|
||||
"plex": {
|
||||
"streams": "Active Streams",
|
||||
"movies": "Movies",
|
||||
"tv": "TV Shows"
|
||||
"streams": "Aktivni prijenosi",
|
||||
"movies": "Filmovi",
|
||||
"tv": "TV emisije"
|
||||
},
|
||||
"glances": {
|
||||
"cpu": "CPU",
|
||||
"mem": "MEM",
|
||||
"wait": "Please wait"
|
||||
"wait": "Pričekaj"
|
||||
},
|
||||
"changedetectionio": {
|
||||
"totalObserved": "Ukupno promatrano",
|
||||
"diffsDetected": "Otkrivene razlike"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "Sunčano",
|
||||
"0-night": "Vedro",
|
||||
"1-day": "Pretežno sunčano",
|
||||
"1-night": "Pretežno verdo",
|
||||
"2-day": "Djelimično oblačno",
|
||||
"45-day": "Maglovito",
|
||||
"45-night": "Maglovito",
|
||||
"48-day": "Maglovito",
|
||||
"2-night": "Djelimično oblačno",
|
||||
"3-day": "Oblačno",
|
||||
"3-night": "Oblačno",
|
||||
"48-night": "Maglovito",
|
||||
"51-day": "Laka rosulja",
|
||||
"51-night": "Laka rosulja",
|
||||
"53-day": "Rosulja",
|
||||
"53-night": "Rosulja",
|
||||
"55-day": "Jaka rosulja",
|
||||
"55-night": "Jaka rosulja",
|
||||
"56-day": "Laka ledena rosulja",
|
||||
"56-night": "Laka ledena rosulja",
|
||||
"57-day": "Ledena rosulja",
|
||||
"57-night": "Ledena rosulja",
|
||||
"61-day": "Laka kiša",
|
||||
"61-night": "Laka kiša",
|
||||
"63-day": "Kiša",
|
||||
"63-night": "Kiša",
|
||||
"65-day": "Jaka kiša",
|
||||
"65-night": "Jaka kiša",
|
||||
"66-day": "Ledena kiša",
|
||||
"66-night": "Ledena kiša",
|
||||
"67-day": "Ledena kiša",
|
||||
"67-night": "Ledena kiša",
|
||||
"75-night": "Jaki snijeg",
|
||||
"77-day": "Zrnati snijeg",
|
||||
"71-day": "Laki snijeg",
|
||||
"71-night": "Laki snijeg",
|
||||
"73-day": "Snijeg",
|
||||
"73-night": "Snijeg",
|
||||
"75-day": "Jaki snijeg",
|
||||
"77-night": "Zrnati snijeg",
|
||||
"80-day": "Laki pljuskovi",
|
||||
"80-night": "Laki pljuskovi",
|
||||
"81-day": "Pljuskovi",
|
||||
"81-night": "Pljuskovi",
|
||||
"82-day": "Jaki pljuskovi",
|
||||
"82-night": "Jaki pljuskovi",
|
||||
"85-day": "Snježni pljuskovi",
|
||||
"85-night": "Snježni pljuskovi",
|
||||
"86-day": "Snježni pljuskovi",
|
||||
"86-night": "Snježni pljuskovi",
|
||||
"95-day": "Oluja",
|
||||
"95-night": "Oluja",
|
||||
"96-day": "Oluja s tučom",
|
||||
"96-night": "Oluja s tučom",
|
||||
"99-day": "Oluja s tučom",
|
||||
"99-night": "Oluja s tučom"
|
||||
},
|
||||
"quicklaunch": {
|
||||
"bookmark": "Straničnik",
|
||||
"service": "Usluga"
|
||||
},
|
||||
"homebridge": {
|
||||
"available_update": "Sustav",
|
||||
"updates": "Aktualiziranja",
|
||||
"update_available": "Dostupna je nova verzija",
|
||||
"up_to_date": "Aktualno",
|
||||
"child_bridges": "Podređeni mosotvi",
|
||||
"child_bridges_status": "{{ok}}/{{total}}"
|
||||
},
|
||||
"autobrr": {
|
||||
"rejectedPushes": "Odbijeno",
|
||||
"approvedPushes": "Odobreno",
|
||||
"filters": "Filtri",
|
||||
"indexers": "Indeksatori"
|
||||
},
|
||||
"watchtower": {
|
||||
"containers_scanned": "Skenirano",
|
||||
"containers_updated": "Aktualizirano",
|
||||
"containers_failed": "Neuspjelo"
|
||||
},
|
||||
"tubearchivist": {
|
||||
"downloads": "Red čekanja",
|
||||
"videos": "Videa",
|
||||
"channels": "Kanali",
|
||||
"playlists": "Playliste"
|
||||
},
|
||||
"truenas": {
|
||||
"load": "Opterećenje sustava",
|
||||
"uptime": "Radno vrijeme",
|
||||
"alerts": "Upozorenja",
|
||||
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
|
||||
},
|
||||
"navidrome": {
|
||||
"nothing_streaming": "Nema aktivnih prijenosa",
|
||||
"please_wait": "Pričekaj"
|
||||
},
|
||||
"pyload": {
|
||||
"speed": "Brzina",
|
||||
"active": "Aktivno",
|
||||
"queue": "Red čekanja",
|
||||
"total": "Ukupno"
|
||||
},
|
||||
"gluetun": {
|
||||
"public_ip": "Javni IP",
|
||||
"region": "Regija",
|
||||
"country": "Zemlja"
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Kanali",
|
||||
"hd": "HD"
|
||||
},
|
||||
"ping": {
|
||||
"error": "Greška",
|
||||
"ping": "Ping"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Prošlo",
|
||||
"failed": "Neuspjelo",
|
||||
"unknown": "Nepoznato"
|
||||
},
|
||||
"paperlessngx": {
|
||||
"inbox": "Ulazni sandučić",
|
||||
"total": "Ukupno"
|
||||
},
|
||||
"deluge": {
|
||||
"download": "Preuzimanje",
|
||||
"upload": "Prijenos",
|
||||
"leech": "Korištenje tuđeg sadržaja",
|
||||
"seed": "Prenošenje preuzetog sadržaja"
|
||||
},
|
||||
"flood": {
|
||||
"download": "Preuzimanje",
|
||||
"upload": "Prijenos",
|
||||
"leech": "Korištenje tuđeg sadržaja",
|
||||
"seed": "Prenošenje preuzetog sadržaja"
|
||||
},
|
||||
"tdarr": {
|
||||
"queue": "Red čekanja",
|
||||
"processed": "Obrađeno",
|
||||
"errored": "S greškom",
|
||||
"saved": "Spremljeno"
|
||||
},
|
||||
"miniflux": {
|
||||
"read": "Pročitano",
|
||||
"unread": "Nepročitano"
|
||||
},
|
||||
"nextdns": {
|
||||
"wait": "Pričekaj",
|
||||
"no_devices": "Podaci o uređaju nisu primljeni"
|
||||
},
|
||||
"common": {
|
||||
"bibyterate": "{{value, rate(bits: false; binary: true)}}",
|
||||
"bibitrate": "{{value, rate(bits: true; binary: true)}}"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Povezani AP-ovi",
|
||||
"activeUser": "Aktivni uređaji",
|
||||
"alerts": "Upozorenja",
|
||||
"connectedGateway": "Povezani pristupi",
|
||||
"connectedSwitches": "Povezani prekidači"
|
||||
},
|
||||
"downloadstation": {
|
||||
"download": "Preuzimanje",
|
||||
"upload": "Prijenos",
|
||||
"leech": "Korištenje tuđeg sadržaja",
|
||||
"seed": "Prenošenje preuzetog sadržaja"
|
||||
},
|
||||
"mikrotik": {
|
||||
"cpuLoad": "CPU opterećenje",
|
||||
"memoryUsed": "Korištena memorija",
|
||||
"uptime": "Radno vrijeme",
|
||||
"numberOfLeases": "Unajmljivanja"
|
||||
},
|
||||
"xteve": {
|
||||
"streams_all": "Svi prijenosi",
|
||||
"streams_active": "Aktivni prijenosi",
|
||||
"streams_xepg": "XEPG kanali"
|
||||
},
|
||||
"opnsense": {
|
||||
"cpu": "CPU opterećenje",
|
||||
"memory": "Aktivna memorija",
|
||||
"wanUpload": "WAN prijenos",
|
||||
"wanDownload": "WAN preuzimanje"
|
||||
},
|
||||
"moonraker": {
|
||||
"printer_state": "Printer State",
|
||||
"print_status": "Print Status",
|
||||
"print_progress": "Progress",
|
||||
"layers": "Layers"
|
||||
},
|
||||
"medusa": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"series": "Series"
|
||||
},
|
||||
"octoPrint": {
|
||||
"printer_state": "Status",
|
||||
"temp_tool": "Tool temp",
|
||||
"temp_bed": "Bed temp",
|
||||
"job_completion": "Completion"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,7 +11,9 @@
|
||||
"tx": "TX",
|
||||
"mem": "MEM",
|
||||
"cpu": "CPU",
|
||||
"offline": "Offline"
|
||||
"offline": "Offline",
|
||||
"error": "Error",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"lidarr": {
|
||||
"albums": "Albumok",
|
||||
@@ -30,7 +32,11 @@
|
||||
"widget": {
|
||||
"missing_type": "Hiányzó Widget Típus: {{type}}",
|
||||
"api_error": "API Hiba",
|
||||
"status": "Státusz"
|
||||
"status": "Státusz",
|
||||
"information": "Information",
|
||||
"url": "URL",
|
||||
"raw_error": "Raw Error",
|
||||
"response_data": "Response Data"
|
||||
},
|
||||
"weather": {
|
||||
"current": "Aktuális hely",
|
||||
@@ -88,7 +94,8 @@
|
||||
"radarr": {
|
||||
"wanted": "Keresett",
|
||||
"queued": "Sorban áll",
|
||||
"movies": "Filmek"
|
||||
"movies": "Filmek",
|
||||
"missing": "Missing"
|
||||
},
|
||||
"ombi": {
|
||||
"pending": "Függőben",
|
||||
@@ -103,7 +110,8 @@
|
||||
"overseerr": {
|
||||
"pending": "Függőben",
|
||||
"approved": "Engedélyezett",
|
||||
"available": "Elérhető"
|
||||
"available": "Elérhető",
|
||||
"processing": "Processing"
|
||||
},
|
||||
"pihole": {
|
||||
"queries": "Lekérdezések",
|
||||
@@ -190,7 +198,12 @@
|
||||
"wlan_users": "WLAN Users",
|
||||
"up": "UP",
|
||||
"down": "DOWN",
|
||||
"wait": "Please wait"
|
||||
"wait": "Please wait",
|
||||
"lan": "LAN",
|
||||
"wlan": "WLAN",
|
||||
"devices": "Devices",
|
||||
"lan_devices": "LAN Devices",
|
||||
"wlan_devices": "WLAN Devices"
|
||||
},
|
||||
"plex": {
|
||||
"streams": "Active Streams",
|
||||
@@ -201,5 +214,211 @@
|
||||
"cpu": "CPU",
|
||||
"mem": "MEM",
|
||||
"wait": "Please wait"
|
||||
},
|
||||
"changedetectionio": {
|
||||
"totalObserved": "Total Observed",
|
||||
"diffsDetected": "Diffs Detected"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "Sunny",
|
||||
"0-night": "Clear",
|
||||
"3-day": "Cloudy",
|
||||
"3-night": "Cloudy",
|
||||
"45-day": "Foggy",
|
||||
"53-day": "Drizzle",
|
||||
"56-night": "Light Freezing Drizzle",
|
||||
"57-day": "Freezing Drizzle",
|
||||
"1-day": "Mainly Sunny",
|
||||
"1-night": "Mainly Clear",
|
||||
"2-day": "Partly Cloudy",
|
||||
"2-night": "Partly Cloudy",
|
||||
"45-night": "Foggy",
|
||||
"48-day": "Foggy",
|
||||
"48-night": "Foggy",
|
||||
"51-day": "Light Drizzle",
|
||||
"51-night": "Light Drizzle",
|
||||
"57-night": "Freezing Drizzle",
|
||||
"61-day": "Light Rain",
|
||||
"61-night": "Light Rain",
|
||||
"53-night": "Drizzle",
|
||||
"55-day": "Heavy Drizzle",
|
||||
"55-night": "Heavy Drizzle",
|
||||
"56-day": "Light Freezing Drizzle",
|
||||
"63-day": "Rain",
|
||||
"63-night": "Rain",
|
||||
"65-day": "Heavy Rain",
|
||||
"65-night": "Heavy Rain",
|
||||
"66-day": "Freezing Rain",
|
||||
"66-night": "Freezing Rain",
|
||||
"67-day": "Freezing Rain",
|
||||
"67-night": "Freezing Rain",
|
||||
"71-day": "Light Snow",
|
||||
"71-night": "Light Snow",
|
||||
"73-day": "Snow",
|
||||
"73-night": "Snow",
|
||||
"75-day": "Heavy Snow",
|
||||
"75-night": "Heavy Snow",
|
||||
"77-day": "Snow Grains",
|
||||
"77-night": "Snow Grains",
|
||||
"80-day": "Light Showers",
|
||||
"80-night": "Light Showers",
|
||||
"81-day": "Showers",
|
||||
"81-night": "Showers",
|
||||
"82-day": "Heavy Showers",
|
||||
"82-night": "Heavy Showers",
|
||||
"85-day": "Snow Showers",
|
||||
"85-night": "Snow Showers",
|
||||
"86-day": "Snow Showers",
|
||||
"86-night": "Snow Showers",
|
||||
"95-day": "Thunderstorm",
|
||||
"95-night": "Thunderstorm",
|
||||
"96-day": "Thunderstorm With Hail",
|
||||
"96-night": "Thunderstorm With Hail",
|
||||
"99-day": "Thunderstorm With Hail",
|
||||
"99-night": "Thunderstorm With Hail"
|
||||
},
|
||||
"quicklaunch": {
|
||||
"bookmark": "Bookmark",
|
||||
"service": "Service"
|
||||
},
|
||||
"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}}"
|
||||
},
|
||||
"autobrr": {
|
||||
"approvedPushes": "Approved",
|
||||
"rejectedPushes": "Rejected",
|
||||
"filters": "Filters",
|
||||
"indexers": "Indexers"
|
||||
},
|
||||
"watchtower": {
|
||||
"containers_scanned": "Scanned",
|
||||
"containers_updated": "Updated",
|
||||
"containers_failed": "Failed"
|
||||
},
|
||||
"tubearchivist": {
|
||||
"downloads": "Queue",
|
||||
"videos": "Videos",
|
||||
"channels": "Channels",
|
||||
"playlists": "Playlists"
|
||||
},
|
||||
"truenas": {
|
||||
"load": "System Load",
|
||||
"uptime": "Uptime",
|
||||
"alerts": "Alerts",
|
||||
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
|
||||
},
|
||||
"navidrome": {
|
||||
"nothing_streaming": "No Active Streams",
|
||||
"please_wait": "Please Wait"
|
||||
},
|
||||
"pyload": {
|
||||
"speed": "Speed",
|
||||
"active": "Active",
|
||||
"queue": "Queue",
|
||||
"total": "Total"
|
||||
},
|
||||
"gluetun": {
|
||||
"public_ip": "Public IP",
|
||||
"region": "Region",
|
||||
"country": "Country"
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Channels",
|
||||
"hd": "HD"
|
||||
},
|
||||
"ping": {
|
||||
"error": "Error",
|
||||
"ping": "Ping"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Passed",
|
||||
"failed": "Failed",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"paperlessngx": {
|
||||
"inbox": "Inbox",
|
||||
"total": "Total"
|
||||
},
|
||||
"deluge": {
|
||||
"download": "Download",
|
||||
"seed": "Seed",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech"
|
||||
},
|
||||
"flood": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"tdarr": {
|
||||
"queue": "Queue",
|
||||
"processed": "Processed",
|
||||
"errored": "Errored",
|
||||
"saved": "Saved"
|
||||
},
|
||||
"miniflux": {
|
||||
"read": "Read",
|
||||
"unread": "Unread"
|
||||
},
|
||||
"nextdns": {
|
||||
"wait": "Please Wait",
|
||||
"no_devices": "No Device Data Received"
|
||||
},
|
||||
"common": {
|
||||
"bibyterate": "{{value, rate(bits: false; binary: true)}}",
|
||||
"bibitrate": "{{value, rate(bits: true; binary: true)}}"
|
||||
},
|
||||
"omada": {
|
||||
"activeUser": "Active devices",
|
||||
"alerts": "Alerts",
|
||||
"connectedAp": "Connected APs",
|
||||
"connectedGateway": "Connected gateways",
|
||||
"connectedSwitches": "Connected switches"
|
||||
},
|
||||
"downloadstation": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"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": {
|
||||
"layers": "Layers",
|
||||
"printer_state": "Printer State",
|
||||
"print_status": "Print Status",
|
||||
"print_progress": "Progress"
|
||||
},
|
||||
"medusa": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"series": "Series"
|
||||
},
|
||||
"octoPrint": {
|
||||
"printer_state": "Status",
|
||||
"temp_tool": "Tool temp",
|
||||
"temp_bed": "Bed temp",
|
||||
"job_completion": "Completion"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,17 +4,19 @@
|
||||
"mem": "MEM",
|
||||
"cpu": "CPU",
|
||||
"offline": "Offline",
|
||||
"rx": "RX"
|
||||
"rx": "RX",
|
||||
"error": "Errore",
|
||||
"unknown": "Sconosciuto"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "In riproduzione",
|
||||
"transcoding": "Transcoding",
|
||||
"transcoding": "Transcodifica",
|
||||
"bitrate": "Bitrate",
|
||||
"no_active": "Nessuno Stream Attivo"
|
||||
},
|
||||
"tautulli": {
|
||||
"playing": "In riproduzione",
|
||||
"transcoding": "Transcoding",
|
||||
"transcoding": "Transcodifica",
|
||||
"bitrate": "Bitrate",
|
||||
"no_active": "Nessuno Stream Attivo"
|
||||
},
|
||||
@@ -29,14 +31,18 @@
|
||||
"total": "Totali"
|
||||
},
|
||||
"traefik": {
|
||||
"routers": "Routers",
|
||||
"routers": "Router",
|
||||
"services": "Servizi",
|
||||
"middleware": "Middleware"
|
||||
},
|
||||
"widget": {
|
||||
"missing_type": "Missing Widget Type: {{type}}",
|
||||
"missing_type": "Tipo del Widget Mancante: {{type}}",
|
||||
"api_error": "Errore API",
|
||||
"status": "Stato"
|
||||
"status": "Stato",
|
||||
"url": "URL",
|
||||
"information": "Informazione",
|
||||
"raw_error": "Raw Error",
|
||||
"response_data": "Dati risposta"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Cerca…"
|
||||
@@ -45,7 +51,7 @@
|
||||
"total": "Totale",
|
||||
"free": "Libero",
|
||||
"used": "In utilizzo",
|
||||
"load": "Load",
|
||||
"load": "Carico",
|
||||
"cpu": "CPU"
|
||||
},
|
||||
"rutorrent": {
|
||||
@@ -55,18 +61,19 @@
|
||||
},
|
||||
"sonarr": {
|
||||
"series": "Serie",
|
||||
"wanted": "Rchiesti",
|
||||
"wanted": "Richiesti",
|
||||
"queued": "In coda"
|
||||
},
|
||||
"radarr": {
|
||||
"wanted": "Richiesti",
|
||||
"queued": "In coda",
|
||||
"movies": "Film"
|
||||
"movies": "Film",
|
||||
"missing": "Mancanti"
|
||||
},
|
||||
"readarr": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"books": "Books"
|
||||
"wanted": "Richiesti",
|
||||
"queued": "In coda",
|
||||
"books": "Libri"
|
||||
},
|
||||
"ombi": {
|
||||
"pending": "In attesa",
|
||||
@@ -97,7 +104,8 @@
|
||||
"overseerr": {
|
||||
"pending": "In attesa",
|
||||
"approved": "Approvati",
|
||||
"available": "Disponibili"
|
||||
"available": "Disponibili",
|
||||
"processing": "In lavorazione"
|
||||
},
|
||||
"sabnzbd": {
|
||||
"rate": "Rapporto",
|
||||
@@ -110,23 +118,23 @@
|
||||
"downloaded": "Scaricato"
|
||||
},
|
||||
"coinmarketcap": {
|
||||
"configure": "Configure one or more crypto currencies to track",
|
||||
"1day": "1 Day",
|
||||
"7days": "7 Days",
|
||||
"1hour": "1 Hour",
|
||||
"30days": "30 Days"
|
||||
"configure": "Configurare una o più criptomonete da seguire",
|
||||
"1day": "1 Giorno",
|
||||
"7days": "7 Giorni",
|
||||
"1hour": "1 Ora",
|
||||
"30days": "30 Giorni"
|
||||
},
|
||||
"gotify": {
|
||||
"apps": "Applicazioni",
|
||||
"clients": "Clients",
|
||||
"clients": "Client",
|
||||
"messages": "Messaggi"
|
||||
},
|
||||
"prowlarr": {
|
||||
"enableIndexers": "Indexers",
|
||||
"enableIndexers": "Indicizzatori",
|
||||
"numberOfGrabs": "Grabs",
|
||||
"numberOfQueries": "Queries",
|
||||
"numberOfFailGrabs": "Fail Grabs",
|
||||
"numberOfFailQueries": "Fail Queries"
|
||||
"numberOfQueries": "Interrogazioni",
|
||||
"numberOfFailGrabs": "Grabs Falliti",
|
||||
"numberOfFailQueries": "Queries Fallite"
|
||||
},
|
||||
"transmission": {
|
||||
"download": "Download",
|
||||
@@ -135,23 +143,23 @@
|
||||
"seed": "Seed"
|
||||
},
|
||||
"jackett": {
|
||||
"configured": "Configured",
|
||||
"errored": "Errored"
|
||||
"configured": "Configurato",
|
||||
"errored": "Errore"
|
||||
},
|
||||
"bazarr": {
|
||||
"missingEpisodes": "Missing Episodes",
|
||||
"missingMovies": "Missing Movies"
|
||||
"missingEpisodes": "Episodi Mancanti",
|
||||
"missingMovies": "Film Mancanti"
|
||||
},
|
||||
"lidarr": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"albums": "Albums"
|
||||
"wanted": "Mancanti",
|
||||
"queued": "In coda",
|
||||
"albums": "Album"
|
||||
},
|
||||
"adguard": {
|
||||
"queries": "Queries",
|
||||
"blocked": "Blocked",
|
||||
"filtered": "Filtered",
|
||||
"latency": "Latency"
|
||||
"queries": "Interrogazioni",
|
||||
"blocked": "Bloccati",
|
||||
"filtered": "Filtrati",
|
||||
"latency": "Latenza"
|
||||
},
|
||||
"qbittorrent": {
|
||||
"download": "Download",
|
||||
@@ -160,46 +168,257 @@
|
||||
"seed": "Seed"
|
||||
},
|
||||
"mastodon": {
|
||||
"user_count": "Users",
|
||||
"user_count": "Utenti",
|
||||
"status_count": "Posts",
|
||||
"domain_count": "Domains"
|
||||
"domain_count": "Domini"
|
||||
},
|
||||
"strelaysrv": {
|
||||
"numActiveSessions": "Sessions",
|
||||
"numConnections": "Connections",
|
||||
"dataRelayed": "Relayed",
|
||||
"transferRate": "Rate"
|
||||
"numActiveSessions": "Sessioni",
|
||||
"numConnections": "Connessioni",
|
||||
"dataRelayed": "Ritrasmessi",
|
||||
"transferRate": "Velocità"
|
||||
},
|
||||
"authentik": {
|
||||
"users": "Users",
|
||||
"loginsLast24H": "Logins (24h)",
|
||||
"failedLoginsLast24H": "Failed Logins (24h)"
|
||||
"users": "Utenti",
|
||||
"loginsLast24H": "Accessi (24h)",
|
||||
"failedLoginsLast24H": "Accessi Falliti (24h)"
|
||||
},
|
||||
"proxmox": {
|
||||
"mem": "MEM",
|
||||
"cpu": "CPU",
|
||||
"lxc": "LXC",
|
||||
"vms": "VMs"
|
||||
"vms": "Macchine Virtuali"
|
||||
},
|
||||
"unifi": {
|
||||
"users": "Users",
|
||||
"uptime": "System Uptime",
|
||||
"days": "Days",
|
||||
"users": "Utenti",
|
||||
"uptime": "Uptime di Sistema",
|
||||
"days": "Giorni",
|
||||
"wan": "WAN",
|
||||
"lan_users": "LAN Users",
|
||||
"wait": "Please wait",
|
||||
"wlan_users": "WLAN Users",
|
||||
"lan_users": "Utenti LAN",
|
||||
"wait": "Attendere prego",
|
||||
"wlan_users": "Utenti WLAN",
|
||||
"up": "UP",
|
||||
"down": "DOWN"
|
||||
"down": "DOWN",
|
||||
"lan": "LAN",
|
||||
"wlan": "WLAN",
|
||||
"devices": "Dispositivi",
|
||||
"lan_devices": "Dispositivi LAN",
|
||||
"wlan_devices": "Dispositivi WLAN"
|
||||
},
|
||||
"plex": {
|
||||
"streams": "Active Streams",
|
||||
"movies": "Movies",
|
||||
"tv": "TV Shows"
|
||||
"streams": "Trasmissioni attive",
|
||||
"movies": "Film",
|
||||
"tv": "Programma televisivo"
|
||||
},
|
||||
"glances": {
|
||||
"cpu": "CPU",
|
||||
"mem": "MEM",
|
||||
"wait": "Please wait"
|
||||
"wait": "Attendere prego"
|
||||
},
|
||||
"changedetectionio": {
|
||||
"totalObserved": "Totale Osservato",
|
||||
"diffsDetected": "Differenze Rilevate"
|
||||
},
|
||||
"wmo": {
|
||||
"65-day": "Pioggia Intensa",
|
||||
"2-night": "Parzialmente Nuvoloso",
|
||||
"0-day": "Soleggiato",
|
||||
"0-night": "Sereno",
|
||||
"1-day": "Prevalentemente Soleggiato",
|
||||
"1-night": "Prevalentemente Sereno",
|
||||
"2-day": "Parzialmente Nuvoloso",
|
||||
"3-day": "Nuvoloso",
|
||||
"3-night": "Nuvoloso",
|
||||
"45-day": "Nebbioso",
|
||||
"45-night": "Nebbioso",
|
||||
"48-day": "Nebbioso",
|
||||
"48-night": "Nebbioso",
|
||||
"51-day": "Pioggerella Leggera",
|
||||
"51-night": "Pioggerella Leggera",
|
||||
"53-day": "Pioggerella",
|
||||
"53-night": "Pioggerella",
|
||||
"55-day": "Pioggerella Pesante",
|
||||
"55-night": "Pioggerella Pesante",
|
||||
"56-day": "Leggera Pioggia Gelata",
|
||||
"56-night": "Leggera Pioggia Gelata",
|
||||
"57-day": "Pioggerella Gelata",
|
||||
"57-night": "Pioggerella Gelata",
|
||||
"61-day": "Pioggia Leggera",
|
||||
"61-night": "Pioggia Leggera",
|
||||
"63-day": "Pioggia",
|
||||
"63-night": "Pioggia",
|
||||
"65-night": "Pioggia Intensa",
|
||||
"66-day": "Grandine",
|
||||
"66-night": "Grandine",
|
||||
"67-day": "Grandine",
|
||||
"67-night": "Grandine",
|
||||
"71-day": "Leggera Nevicata",
|
||||
"71-night": "Leggera Nevicata",
|
||||
"73-day": "Neve",
|
||||
"73-night": "Neve",
|
||||
"75-day": "Nevicata Intensa",
|
||||
"75-night": "Nevicata Intensa",
|
||||
"77-day": "Fiocchi di Neve",
|
||||
"77-night": "Fiocchi di Neve",
|
||||
"80-day": "Leggeri Rovesci",
|
||||
"80-night": "Leggeri Rovesci",
|
||||
"81-day": "Rovesci",
|
||||
"81-night": "Rovesci",
|
||||
"82-day": "Intensi Rovesci",
|
||||
"82-night": "Intensi Rovesci",
|
||||
"85-day": "Rovesci di Neve",
|
||||
"85-night": "Rovesci di Neve",
|
||||
"86-day": "Rovesci di Neve",
|
||||
"86-night": "Rovesci di Neve",
|
||||
"95-day": "Temporale",
|
||||
"95-night": "Temporale",
|
||||
"96-day": "Temporale con grandine",
|
||||
"96-night": "Temporale con grandine",
|
||||
"99-day": "Temporale con grandine",
|
||||
"99-night": "Temporale con grandine"
|
||||
},
|
||||
"quicklaunch": {
|
||||
"bookmark": "Segnalibro",
|
||||
"service": "Servizio"
|
||||
},
|
||||
"homebridge": {
|
||||
"available_update": "Sistema",
|
||||
"updates": "Aggiornamenti",
|
||||
"update_available": "Aggiornamento Disponibile",
|
||||
"up_to_date": "Aggiornato",
|
||||
"child_bridges": "Child Bridges",
|
||||
"child_bridges_status": "{{ok}}/{{total}}"
|
||||
},
|
||||
"autobrr": {
|
||||
"approvedPushes": "Approvato",
|
||||
"rejectedPushes": "Rifiutato",
|
||||
"filters": "Filtri",
|
||||
"indexers": "Indicizzatori"
|
||||
},
|
||||
"watchtower": {
|
||||
"containers_scanned": "Scansionato",
|
||||
"containers_updated": "Aggiornato",
|
||||
"containers_failed": "Fallito"
|
||||
},
|
||||
"tubearchivist": {
|
||||
"downloads": "Coda",
|
||||
"videos": "Video",
|
||||
"channels": "Canali",
|
||||
"playlists": "Playlist"
|
||||
},
|
||||
"truenas": {
|
||||
"load": "Carico di Sistema",
|
||||
"uptime": "Tempo di attività",
|
||||
"alerts": "Avvisi",
|
||||
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
|
||||
},
|
||||
"navidrome": {
|
||||
"nothing_streaming": "Nessun Sistema Attivo",
|
||||
"please_wait": "Attendere prego"
|
||||
},
|
||||
"pyload": {
|
||||
"speed": "Velocità",
|
||||
"active": "Attivo",
|
||||
"queue": "Coda",
|
||||
"total": "Totale"
|
||||
},
|
||||
"gluetun": {
|
||||
"public_ip": "IP pubblico",
|
||||
"region": "Località",
|
||||
"country": "Stato"
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Canali",
|
||||
"hd": "HD"
|
||||
},
|
||||
"ping": {
|
||||
"error": "Errore",
|
||||
"ping": "Ping"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Passati",
|
||||
"failed": "Falliti",
|
||||
"unknown": "Sconosciuto"
|
||||
},
|
||||
"paperlessngx": {
|
||||
"inbox": "In arrivo",
|
||||
"total": "Totali"
|
||||
},
|
||||
"deluge": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"flood": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"tdarr": {
|
||||
"queue": "In coda",
|
||||
"processed": "Elaborati",
|
||||
"errored": "Errori",
|
||||
"saved": "Salvati"
|
||||
},
|
||||
"miniflux": {
|
||||
"unread": "Non letti",
|
||||
"read": "Letti"
|
||||
},
|
||||
"nextdns": {
|
||||
"wait": "Attendi",
|
||||
"no_devices": "Nessun dato del dispositivo ricevuto"
|
||||
},
|
||||
"common": {
|
||||
"bibyterate": "{{value, rate(bits: false; binary: true)}}",
|
||||
"bibitrate": "{{value, rate(bits: true; binary: true)}}"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "AP Connessi",
|
||||
"activeUser": "Dispositivi attivi",
|
||||
"alerts": "Allarmi",
|
||||
"connectedGateway": "Gateway connessi",
|
||||
"connectedSwitches": "Switch connessi"
|
||||
},
|
||||
"downloadstation": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"mikrotik": {
|
||||
"cpuLoad": "Carico della CPU",
|
||||
"memoryUsed": "Memoria Utilizzata",
|
||||
"uptime": "Tempo di attività",
|
||||
"numberOfLeases": "Lease"
|
||||
},
|
||||
"xteve": {
|
||||
"streams_all": "Tutti gli stream",
|
||||
"streams_active": "Stream attivi",
|
||||
"streams_xepg": "Canali XEPG"
|
||||
},
|
||||
"opnsense": {
|
||||
"cpu": "Carico CPU",
|
||||
"memory": "Memoria in uso",
|
||||
"wanUpload": "WAN Upload",
|
||||
"wanDownload": "WAN Download"
|
||||
},
|
||||
"moonraker": {
|
||||
"printer_state": "Printer State",
|
||||
"print_status": "Print Status",
|
||||
"print_progress": "Progress",
|
||||
"layers": "Layers"
|
||||
},
|
||||
"medusa": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"series": "Series"
|
||||
},
|
||||
"octoPrint": {
|
||||
"printer_state": "Status",
|
||||
"temp_tool": "Tool temp",
|
||||
"temp_bed": "Bed temp",
|
||||
"job_completion": "Completion"
|
||||
}
|
||||
}
|
||||
|
||||
424
public/locales/ja/common.json
Normal file
424
public/locales/ja/common.json
Normal file
@@ -0,0 +1,424 @@
|
||||
{
|
||||
"navidrome": {
|
||||
"nothing_streaming": "No Active Streams",
|
||||
"please_wait": "Please Wait"
|
||||
},
|
||||
"npm": {
|
||||
"total": "Total",
|
||||
"enabled": "Enabled",
|
||||
"disabled": "Disabled"
|
||||
},
|
||||
"strelaysrv": {
|
||||
"numActiveSessions": "Sessions",
|
||||
"numConnections": "Connections",
|
||||
"dataRelayed": "Relayed",
|
||||
"transferRate": "Rate"
|
||||
},
|
||||
"glances": {
|
||||
"mem": "MEM",
|
||||
"cpu": "CPU",
|
||||
"wait": "Please wait"
|
||||
},
|
||||
"autobrr": {
|
||||
"filters": "Filters",
|
||||
"indexers": "Indexers",
|
||||
"approvedPushes": "Approved",
|
||||
"rejectedPushes": "Rejected"
|
||||
},
|
||||
"gluetun": {
|
||||
"region": "Region",
|
||||
"country": "Country",
|
||||
"public_ip": "Public IP"
|
||||
},
|
||||
"common": {
|
||||
"bibyterate": "{{value, rate(bits: false; binary: true)}}",
|
||||
"bibitrate": "{{value, rate(bits: true; binary: true)}}"
|
||||
},
|
||||
"widget": {
|
||||
"api_error": "APIエラー",
|
||||
"information": "情報",
|
||||
"missing_type": "見つからないウィジェットタイプ: {{type}}",
|
||||
"status": "ステータス",
|
||||
"url": "URL",
|
||||
"raw_error": "生のエラー",
|
||||
"response_data": "レスポンスデータ"
|
||||
},
|
||||
"weather": {
|
||||
"current": "Current Location",
|
||||
"allow": "Click to allow",
|
||||
"updating": "Updating",
|
||||
"wait": "Please wait"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Search…"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "CPU",
|
||||
"total": "Total",
|
||||
"free": "Free",
|
||||
"used": "Used",
|
||||
"load": "Load"
|
||||
},
|
||||
"unifi": {
|
||||
"users": "Users",
|
||||
"uptime": "System Uptime",
|
||||
"days": "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",
|
||||
"up": "UP",
|
||||
"down": "DOWN",
|
||||
"wait": "Please wait"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
"tx": "TX",
|
||||
"mem": "MEM",
|
||||
"cpu": "CPU",
|
||||
"offline": "Offline",
|
||||
"error": "Error",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"ping": {
|
||||
"error": "Error",
|
||||
"ping": "Ping"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "Playing",
|
||||
"transcoding": "Transcoding",
|
||||
"bitrate": "Bitrate",
|
||||
"no_active": "No Active Streams"
|
||||
},
|
||||
"flood": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"changedetectionio": {
|
||||
"totalObserved": "Total Observed",
|
||||
"diffsDetected": "Diffs Detected"
|
||||
},
|
||||
"tautulli": {
|
||||
"playing": "Playing",
|
||||
"transcoding": "Transcoding",
|
||||
"bitrate": "Bitrate",
|
||||
"no_active": "No Active Streams"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Connected APs",
|
||||
"activeUser": "Active devices",
|
||||
"alerts": "Alerts",
|
||||
"connectedGateway": "Connected gateways",
|
||||
"connectedSwitches": "Connected switches"
|
||||
},
|
||||
"nzbget": {
|
||||
"rate": "Rate",
|
||||
"remaining": "Remaining",
|
||||
"downloaded": "Downloaded"
|
||||
},
|
||||
"plex": {
|
||||
"streams": "Active Streams",
|
||||
"movies": "Movies",
|
||||
"tv": "TV Shows"
|
||||
},
|
||||
"sabnzbd": {
|
||||
"rate": "Rate",
|
||||
"queue": "Queue",
|
||||
"timeleft": "Time Left"
|
||||
},
|
||||
"rutorrent": {
|
||||
"active": "Active",
|
||||
"upload": "Upload",
|
||||
"download": "Download"
|
||||
},
|
||||
"transmission": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"qbittorrent": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"deluge": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"downloadstation": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"sonarr": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"series": "Series"
|
||||
},
|
||||
"radarr": {
|
||||
"wanted": "Wanted",
|
||||
"missing": "Missing",
|
||||
"queued": "Queued",
|
||||
"movies": "Movies"
|
||||
},
|
||||
"lidarr": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"albums": "Albums"
|
||||
},
|
||||
"readarr": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"books": "Books"
|
||||
},
|
||||
"bazarr": {
|
||||
"missingEpisodes": "Missing Episodes",
|
||||
"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"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"jackett": {
|
||||
"configured": "Configured",
|
||||
"errored": "Errored"
|
||||
},
|
||||
"mastodon": {
|
||||
"user_count": "Users",
|
||||
"status_count": "Posts",
|
||||
"domain_count": "Domains"
|
||||
},
|
||||
"miniflux": {
|
||||
"read": "Read",
|
||||
"unread": "Unread"
|
||||
},
|
||||
"authentik": {
|
||||
"users": "Users",
|
||||
"loginsLast24H": "Logins (24h)",
|
||||
"failedLoginsLast24H": "Failed Logins (24h)"
|
||||
},
|
||||
"proxmox": {
|
||||
"mem": "MEM",
|
||||
"cpu": "CPU",
|
||||
"lxc": "LXC",
|
||||
"vms": "VMs"
|
||||
},
|
||||
"quicklaunch": {
|
||||
"bookmark": "Bookmark",
|
||||
"service": "Service"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"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}}"
|
||||
},
|
||||
"watchtower": {
|
||||
"containers_scanned": "Scanned",
|
||||
"containers_updated": "Updated",
|
||||
"containers_failed": "Failed"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"medusa": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"series": "Series"
|
||||
},
|
||||
"octoPrint": {
|
||||
"printer_state": "Status",
|
||||
"temp_tool": "Tool temp",
|
||||
"temp_bed": "Bed temp",
|
||||
"job_completion": "Completion"
|
||||
}
|
||||
}
|
||||
424
public/locales/lv/common.json
Normal file
424
public/locales/lv/common.json
Normal file
@@ -0,0 +1,424 @@
|
||||
{
|
||||
"common": {
|
||||
"bibyterate": "{{value, rate(bits: false; binary: true)}}",
|
||||
"bibitrate": "{{value, rate(bits: true; binary: true)}}"
|
||||
},
|
||||
"widget": {
|
||||
"missing_type": "Iztrūkst logrīka tips: {{type}}",
|
||||
"api_error": "API kļūda",
|
||||
"information": "Informācija",
|
||||
"status": "Statuss",
|
||||
"url": "URL",
|
||||
"raw_error": "Kļūda",
|
||||
"response_data": "Atbilde"
|
||||
},
|
||||
"weather": {
|
||||
"current": "Pašreizējā atrašanās vieta",
|
||||
"allow": "Piemiedziet, lai atļaut",
|
||||
"updating": "Atjaunina",
|
||||
"wait": "Lūdzu, uzgaidiet"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Meklēt…"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "CPU",
|
||||
"total": "Kopā",
|
||||
"free": "Brīvs",
|
||||
"used": "Izmantojas",
|
||||
"load": "Ielādē"
|
||||
},
|
||||
"unifi": {
|
||||
"users": "Lietotāji",
|
||||
"uptime": "Sistēmas darbības laiks",
|
||||
"days": "Dienas",
|
||||
"wan": "WAN",
|
||||
"lan": "LAN",
|
||||
"wlan": "WLAN",
|
||||
"devices": "Ierīces",
|
||||
"lan_devices": "LAN ierīces",
|
||||
"wlan_devices": "WLAN ierīces",
|
||||
"lan_users": "LAN lietotāji",
|
||||
"wlan_users": "WLAN lietotāji",
|
||||
"up": "DARBOJAS",
|
||||
"down": "NEDARBOJAS",
|
||||
"wait": "Lūdzu, uzgaidiet"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
"tx": "TX",
|
||||
"mem": "Atmiņa",
|
||||
"cpu": "CPU",
|
||||
"offline": "Bezsaistē",
|
||||
"error": "Kļūda",
|
||||
"unknown": "Nezināms"
|
||||
},
|
||||
"ping": {
|
||||
"error": "Kļūda",
|
||||
"ping": "Ping"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "Atskaņo",
|
||||
"transcoding": "Pārkodē",
|
||||
"bitrate": "Bitrate",
|
||||
"no_active": "Nav aktīvu straumju"
|
||||
},
|
||||
"flood": {
|
||||
"download": "Lejupielāde",
|
||||
"upload": "Augšupielāde",
|
||||
"leech": "Ņēmēji",
|
||||
"seed": "Devēji"
|
||||
},
|
||||
"changedetectionio": {
|
||||
"totalObserved": "Kopā novēro",
|
||||
"diffsDetected": "Atšķirības atrastas"
|
||||
},
|
||||
"tautulli": {
|
||||
"playing": "Atskaņo",
|
||||
"transcoding": "Pārkodē",
|
||||
"bitrate": "Bitrate",
|
||||
"no_active": "Nav aktīvu straumju"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Savienotie piekļuves punkti",
|
||||
"activeUser": "Aktīvās ierīces",
|
||||
"alerts": "Paziņojumi",
|
||||
"connectedGateway": "Savienotās vārtejas",
|
||||
"connectedSwitches": "Savienotie komutatori"
|
||||
},
|
||||
"nzbget": {
|
||||
"rate": "Rate",
|
||||
"remaining": "Palika",
|
||||
"downloaded": "Lejupielādēts"
|
||||
},
|
||||
"plex": {
|
||||
"streams": "Aktīvās straumes",
|
||||
"movies": "Filmas",
|
||||
"tv": "TV pārraides"
|
||||
},
|
||||
"sabnzbd": {
|
||||
"rate": "Rate",
|
||||
"queue": "Rindā",
|
||||
"timeleft": "Atlikušais laiks"
|
||||
},
|
||||
"rutorrent": {
|
||||
"active": "Aktīvs",
|
||||
"upload": "Augšupielāde",
|
||||
"download": "Lejupielāde"
|
||||
},
|
||||
"transmission": {
|
||||
"download": "Lejupielāde",
|
||||
"upload": "Augšupielāde",
|
||||
"leech": "Leech",
|
||||
"seed": "Devēji"
|
||||
},
|
||||
"qbittorrent": {
|
||||
"download": "Lejupielāde",
|
||||
"upload": "Augšupielāde",
|
||||
"leech": "Leech",
|
||||
"seed": "Devēji"
|
||||
},
|
||||
"deluge": {
|
||||
"download": "Lejupielāde",
|
||||
"upload": "Augšupielāde",
|
||||
"leech": "Leech",
|
||||
"seed": "Devēji"
|
||||
},
|
||||
"downloadstation": {
|
||||
"download": "Download",
|
||||
"upload": "Augšupielāde",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"sonarr": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"series": "Series"
|
||||
},
|
||||
"radarr": {
|
||||
"wanted": "Wanted",
|
||||
"missing": "Missing",
|
||||
"queued": "Queued",
|
||||
"movies": "Filmas"
|
||||
},
|
||||
"lidarr": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"albums": "Albumi"
|
||||
},
|
||||
"readarr": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"books": "Grāmatas"
|
||||
},
|
||||
"bazarr": {
|
||||
"missingEpisodes": "Missing Episodes",
|
||||
"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"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"jackett": {
|
||||
"configured": "Configured",
|
||||
"errored": "Errored"
|
||||
},
|
||||
"strelaysrv": {
|
||||
"numActiveSessions": "Sessions",
|
||||
"numConnections": "Connections",
|
||||
"dataRelayed": "Relayed",
|
||||
"transferRate": "Rate"
|
||||
},
|
||||
"mastodon": {
|
||||
"user_count": "Users",
|
||||
"status_count": "Posts",
|
||||
"domain_count": "Domains"
|
||||
},
|
||||
"medusa": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"series": "Series"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"quicklaunch": {
|
||||
"bookmark": "Bookmark",
|
||||
"service": "Service"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "Saulains",
|
||||
"0-night": "Skaidrs",
|
||||
"1-day": "Galvenokārt saulains",
|
||||
"1-night": "Galvenokārt skaidrs",
|
||||
"2-day": "Daļēji apmācies",
|
||||
"2-night": "Daļēji apmācies",
|
||||
"3-day": "Apmācies",
|
||||
"3-night": "Apmācies",
|
||||
"45-day": "Miglains",
|
||||
"45-night": "Miglains",
|
||||
"48-day": "Miglains",
|
||||
"48-night": "Miglains",
|
||||
"51-day": "Neliels lietus",
|
||||
"51-night": "Neliels lietus",
|
||||
"53-day": "Lietus",
|
||||
"53-night": "Lietus",
|
||||
"55-day": "Spēcīgs lietus",
|
||||
"55-night": "Spēcīgs lietus",
|
||||
"56-day": "Neliels stindzinošs lietus",
|
||||
"56-night": "Neliels stindzinošs lietus",
|
||||
"57-day": "Sasalstošs lietus",
|
||||
"57-night": "Freezing Drizzle",
|
||||
"61-day": "Viegls lietus",
|
||||
"61-night": "Viegls lietus",
|
||||
"63-day": "Lietus",
|
||||
"63-night": "Lietus",
|
||||
"65-day": "Spēcīgs lietus",
|
||||
"65-night": "Spēcīgs lietus",
|
||||
"66-day": "Ledains lietus",
|
||||
"66-night": "Ledains lietus",
|
||||
"67-day": "Ledains lietus",
|
||||
"67-night": "Ledains lietus",
|
||||
"71-day": "Neliels sniegs",
|
||||
"71-night": "Neliels sniegs",
|
||||
"73-day": "Sniegs",
|
||||
"73-night": "Sniegs",
|
||||
"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"
|
||||
},
|
||||
"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}}"
|
||||
},
|
||||
"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"
|
||||
}
|
||||
}
|
||||
424
public/locales/ms/common.json
Normal file
424
public/locales/ms/common.json
Normal file
@@ -0,0 +1,424 @@
|
||||
{
|
||||
"resources": {
|
||||
"cpu": "CPU",
|
||||
"total": "Jumlah",
|
||||
"free": "Bebas",
|
||||
"used": "Telah diguna",
|
||||
"load": "Beban"
|
||||
},
|
||||
"unifi": {
|
||||
"uptime": "Masa Operasi Sistem",
|
||||
"users": "Pengguna",
|
||||
"days": "Hari",
|
||||
"wan": "WAN",
|
||||
"lan": "LAN",
|
||||
"wlan": "WLAN",
|
||||
"devices": "Peranti",
|
||||
"lan_devices": "Peranti LAN",
|
||||
"wlan_devices": "Peranti WLAN",
|
||||
"lan_users": "Pengguna LAN",
|
||||
"wlan_users": "Pengguna WLAN",
|
||||
"up": "HIDUP",
|
||||
"down": "MATI",
|
||||
"wait": "Sila tunggu"
|
||||
},
|
||||
"lidarr": {
|
||||
"queued": "Dibaris Gilir",
|
||||
"albums": "Album",
|
||||
"wanted": "Mahu"
|
||||
},
|
||||
"readarr": {
|
||||
"wanted": "Mahu",
|
||||
"queued": "Dibaris Gilir",
|
||||
"books": "Buku"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"pending": "Tertangguh",
|
||||
"approved": "Lulus",
|
||||
"available": "Sudah Ada"
|
||||
},
|
||||
"coinmarketcap": {
|
||||
"30days": "30 Hari",
|
||||
"configure": "Konfigurasikan satu atau lebih matawang crypto untuk dipantau",
|
||||
"1hour": "1 Jam",
|
||||
"1day": "1 Hari",
|
||||
"7days": "7 Hari"
|
||||
},
|
||||
"gotify": {
|
||||
"apps": "Aplikasi",
|
||||
"clients": "Klien",
|
||||
"messages": "Mesej"
|
||||
},
|
||||
"proxmox": {
|
||||
"mem": "MEM",
|
||||
"cpu": "CPU",
|
||||
"lxc": "LXC",
|
||||
"vms": "Mesin Maya"
|
||||
},
|
||||
"glances": {
|
||||
"cpu": "CPU",
|
||||
"mem": "MEM",
|
||||
"wait": "Sila tunggu"
|
||||
},
|
||||
"quicklaunch": {
|
||||
"bookmark": "Tandabuku",
|
||||
"service": "Servis"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "Terik",
|
||||
"0-night": "Cerah",
|
||||
"1-day": "Sebahagian Besar Terik",
|
||||
"1-night": "Sebahagian Besar Cerah",
|
||||
"63-day": "Hujan",
|
||||
"63-night": "Hujan",
|
||||
"2-day": "Sebahagian Mendung",
|
||||
"2-night": "Sebahagian Mendung",
|
||||
"3-day": "Mendung",
|
||||
"3-night": "Mendung",
|
||||
"45-day": "Berkabus",
|
||||
"45-night": "Berkabus",
|
||||
"48-day": "Berkabus",
|
||||
"48-night": "Berkabus",
|
||||
"51-day": "Gerimis",
|
||||
"51-night": "Gerimis",
|
||||
"53-day": "Renyai",
|
||||
"53-night": "Renyai",
|
||||
"55-day": "Renyai Kuat",
|
||||
"55-night": "Renyai Kuat",
|
||||
"56-day": "Gerimis Sejuk Ringan",
|
||||
"56-night": "Gerimis Sejuk Ringan",
|
||||
"57-day": "Gerimis Sejuk",
|
||||
"57-night": "Gerimis Sejuk",
|
||||
"61-day": "Hujan Renyai",
|
||||
"61-night": "Hujan Renyai",
|
||||
"65-day": "Hujan Lebat",
|
||||
"65-night": "Hujan Lebat",
|
||||
"66-day": "Hujan Sejuk",
|
||||
"66-night": "Hujan Sejuk",
|
||||
"67-day": "Hujan Sejuk",
|
||||
"67-night": "Hujan Sejuk",
|
||||
"71-day": "Salji Ringan",
|
||||
"71-night": "Salji Ringan",
|
||||
"73-day": "Salji",
|
||||
"73-night": "Salji",
|
||||
"75-day": "Salji Lebat",
|
||||
"75-night": "Salji Lebat",
|
||||
"81-day": "Rintik",
|
||||
"77-day": "Butiran Salji",
|
||||
"77-night": "Butiran Salji",
|
||||
"80-day": "Rintik Ringan",
|
||||
"80-night": "Rintik Ringan",
|
||||
"81-night": "Rintik",
|
||||
"82-day": "Rintik Lebat",
|
||||
"82-night": "Rintik Lebat",
|
||||
"85-day": "Rintik Salji",
|
||||
"85-night": "Rintik Salji",
|
||||
"86-day": "Rintik Salji",
|
||||
"86-night": "Rintik Salji",
|
||||
"95-day": "Ribut",
|
||||
"95-night": "Ribut",
|
||||
"96-day": "Ribut Hujan Batu",
|
||||
"96-night": "Ribut Hujan Batu",
|
||||
"99-day": "Ribut Hujan Batu",
|
||||
"99-night": "Ribut Hujan Batu"
|
||||
},
|
||||
"widget": {
|
||||
"missing_type": "Jenis Widget Hilang: {{type}}",
|
||||
"api_error": "Masalah API",
|
||||
"status": "Status",
|
||||
"information": "Informasi",
|
||||
"url": "URL",
|
||||
"raw_error": "Ralat Mentah",
|
||||
"response_data": "Data Respon"
|
||||
},
|
||||
"weather": {
|
||||
"current": "Lokasi Sekarang",
|
||||
"allow": "Klik untuk benarkan",
|
||||
"updating": "Mengemas kini",
|
||||
"wait": "Sila tunggu"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Carian…"
|
||||
},
|
||||
"nzbget": {
|
||||
"remaining": "Baki",
|
||||
"downloaded": "Telah Muat Turun",
|
||||
"rate": "Kadar"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
"tx": "TX",
|
||||
"mem": "MEM",
|
||||
"cpu": "CPU",
|
||||
"offline": "Luar talian",
|
||||
"error": "Ralat",
|
||||
"unknown": "Tidak Diketahui"
|
||||
},
|
||||
"changedetectionio": {
|
||||
"totalObserved": "Jumlah Diperhatikan",
|
||||
"diffsDetected": "Perbezaan Dikesan"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "Sedang dimainkan",
|
||||
"transcoding": "Transkoding",
|
||||
"bitrate": "Kadar bit",
|
||||
"no_active": "Tiada Strim Aktif"
|
||||
},
|
||||
"tautulli": {
|
||||
"playing": "Sedang Dimainkan",
|
||||
"transcoding": "Transkoding",
|
||||
"bitrate": "Kadar bit",
|
||||
"no_active": "Tiada Strim Aktif"
|
||||
},
|
||||
"plex": {
|
||||
"streams": "Strim Aktif",
|
||||
"movies": "Filem",
|
||||
"tv": "Rancangan TV"
|
||||
},
|
||||
"sabnzbd": {
|
||||
"rate": "Kadar",
|
||||
"queue": "Barisan",
|
||||
"timeleft": "Masa Tinggal"
|
||||
},
|
||||
"rutorrent": {
|
||||
"active": "Aktif",
|
||||
"upload": "Muat Naik",
|
||||
"download": "Muat Turun"
|
||||
},
|
||||
"transmission": {
|
||||
"leech": "Leech",
|
||||
"download": "Muat Turun",
|
||||
"upload": "Muat Naik",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"qbittorrent": {
|
||||
"download": "Muat Turun",
|
||||
"upload": "Muat Naik",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"sonarr": {
|
||||
"wanted": "Mahu",
|
||||
"queued": "Dibaris Gilir",
|
||||
"series": "Bersiri"
|
||||
},
|
||||
"radarr": {
|
||||
"wanted": "Mahu",
|
||||
"missing": "Hilang",
|
||||
"queued": "Dibaris Gilir",
|
||||
"movies": "Filem"
|
||||
},
|
||||
"bazarr": {
|
||||
"missingEpisodes": "Episod Yang Hilang",
|
||||
"missingMovies": "Filem Yang Hilang"
|
||||
},
|
||||
"ombi": {
|
||||
"pending": "Tertunda",
|
||||
"approved": "Lulus",
|
||||
"available": "Sudah Ada"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Tertangguh",
|
||||
"approved": "Lulus",
|
||||
"available": "Sudah Ada",
|
||||
"processing": "Processing"
|
||||
},
|
||||
"pihole": {
|
||||
"queries": "Permintaan",
|
||||
"blocked": "Disekat",
|
||||
"gravity": "Gravity"
|
||||
},
|
||||
"adguard": {
|
||||
"queries": "Permintaan",
|
||||
"blocked": "Disekat",
|
||||
"filtered": "Ditapis",
|
||||
"latency": "Kependaman"
|
||||
},
|
||||
"speedtest": {
|
||||
"upload": "Muat Naik",
|
||||
"download": "Muat Turun",
|
||||
"ping": "Ping"
|
||||
},
|
||||
"portainer": {
|
||||
"running": "Sedang Berjalan",
|
||||
"stopped": "Terhenti",
|
||||
"total": "Jumlah"
|
||||
},
|
||||
"traefik": {
|
||||
"routers": "Router",
|
||||
"services": "Servis",
|
||||
"middleware": "Perisian Tengah"
|
||||
},
|
||||
"npm": {
|
||||
"enabled": "Didayakan",
|
||||
"disabled": "Dinyahdayakan",
|
||||
"total": "Jumlah"
|
||||
},
|
||||
"prowlarr": {
|
||||
"enableIndexers": "Pengindeks",
|
||||
"numberOfGrabs": "Capai",
|
||||
"numberOfQueries": "Permintaan",
|
||||
"numberOfFailGrabs": "Capai Yang Ggagal",
|
||||
"numberOfFailQueries": "Permintaan Yang Gagal"
|
||||
},
|
||||
"jackett": {
|
||||
"configured": "Telah Dikonfigurasi",
|
||||
"errored": "Telah Tersalah"
|
||||
},
|
||||
"strelaysrv": {
|
||||
"numActiveSessions": "Sesi",
|
||||
"numConnections": "Penyambungan",
|
||||
"dataRelayed": "Disalurkan",
|
||||
"transferRate": "Kadar"
|
||||
},
|
||||
"mastodon": {
|
||||
"user_count": "Pengguna",
|
||||
"status_count": "Pos",
|
||||
"domain_count": "Domain"
|
||||
},
|
||||
"authentik": {
|
||||
"users": "Pengguna",
|
||||
"loginsLast24H": "Logmasuk (24j)",
|
||||
"failedLoginsLast24H": "Logmasuk Gagal (24j)"
|
||||
},
|
||||
"homebridge": {
|
||||
"child_bridges_status": "{{ok}}/{{total}}",
|
||||
"available_update": "Sistem",
|
||||
"updates": "Kemaskini",
|
||||
"update_available": "Kemaskini Tersedia",
|
||||
"up_to_date": "Terkemaskini",
|
||||
"child_bridges": "Jambatan Anak"
|
||||
},
|
||||
"watchtower": {
|
||||
"containers_scanned": "Terimbas",
|
||||
"containers_updated": "Dikemaskini",
|
||||
"containers_failed": "Gagal"
|
||||
},
|
||||
"autobrr": {
|
||||
"approvedPushes": "Lulus",
|
||||
"rejectedPushes": "Ditolak",
|
||||
"filters": "Tapisan",
|
||||
"indexers": "Pengindeks"
|
||||
},
|
||||
"tubearchivist": {
|
||||
"downloads": "Baris Gilir",
|
||||
"videos": "Video",
|
||||
"channels": "Saluran",
|
||||
"playlists": "Senarai Siar"
|
||||
},
|
||||
"truenas": {
|
||||
"load": "Beban Sistem",
|
||||
"uptime": "Masa Hidup",
|
||||
"alerts": "Amaran",
|
||||
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
|
||||
},
|
||||
"navidrome": {
|
||||
"nothing_streaming": "Tiada Strim Aktif",
|
||||
"please_wait": "Sila tunggu"
|
||||
},
|
||||
"pyload": {
|
||||
"speed": "Kelajuan",
|
||||
"active": "Aktif",
|
||||
"queue": "Baris Gilir",
|
||||
"total": "Jumlah"
|
||||
},
|
||||
"gluetun": {
|
||||
"public_ip": "IP Awam",
|
||||
"region": "Rantau",
|
||||
"country": "Negara"
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Saluran",
|
||||
"hd": "HD"
|
||||
},
|
||||
"ping": {
|
||||
"error": "Ralat",
|
||||
"ping": "Ping"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Lulus",
|
||||
"failed": "Gagal",
|
||||
"unknown": "Tidak Diketahui"
|
||||
},
|
||||
"paperlessngx": {
|
||||
"inbox": "Peti Masuk",
|
||||
"total": "Jumlah"
|
||||
},
|
||||
"deluge": {
|
||||
"download": "Muat Turun",
|
||||
"upload": "Muat Naik",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"flood": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"tdarr": {
|
||||
"queue": "Queue",
|
||||
"processed": "Processed",
|
||||
"errored": "Errored",
|
||||
"saved": "Saved"
|
||||
},
|
||||
"miniflux": {
|
||||
"read": "Read",
|
||||
"unread": "Unread"
|
||||
},
|
||||
"nextdns": {
|
||||
"wait": "Please Wait",
|
||||
"no_devices": "No Device Data Received"
|
||||
},
|
||||
"common": {
|
||||
"bibyterate": "{{value, rate(bits: false; binary: true)}}",
|
||||
"bibitrate": "{{value, rate(bits: true; binary: true)}}"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Connected APs",
|
||||
"activeUser": "Active devices",
|
||||
"alerts": "Alerts",
|
||||
"connectedGateway": "Connected gateways",
|
||||
"connectedSwitches": "Connected switches"
|
||||
},
|
||||
"downloadstation": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"medusa": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"series": "Series"
|
||||
},
|
||||
"octoPrint": {
|
||||
"printer_state": "Status",
|
||||
"temp_tool": "Tool temp",
|
||||
"temp_bed": "Bed temp",
|
||||
"job_completion": "Completion"
|
||||
}
|
||||
}
|
||||
@@ -2,7 +2,11 @@
|
||||
"widget": {
|
||||
"missing_type": "Manglende miniprogramstype: {{type}}",
|
||||
"api_error": "API-feil",
|
||||
"status": "Status"
|
||||
"status": "Status",
|
||||
"information": "Information",
|
||||
"url": "URL",
|
||||
"raw_error": "Raw Error",
|
||||
"response_data": "Response Data"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Søk …"
|
||||
@@ -19,7 +23,9 @@
|
||||
"tx": "Sendt",
|
||||
"mem": "Minne",
|
||||
"cpu": "Prosessor",
|
||||
"offline": "Frakoblet"
|
||||
"offline": "Frakoblet",
|
||||
"error": "Error",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "Spiller",
|
||||
@@ -46,7 +52,8 @@
|
||||
"radarr": {
|
||||
"wanted": "Ønsket",
|
||||
"queued": "I kø",
|
||||
"movies": "Filmer"
|
||||
"movies": "Filmer",
|
||||
"missing": "Missing"
|
||||
},
|
||||
"readarr": {
|
||||
"wanted": "Wanted",
|
||||
@@ -97,7 +104,8 @@
|
||||
"overseerr": {
|
||||
"pending": "Venter",
|
||||
"approved": "Godkjent",
|
||||
"available": "Tilgjengelig"
|
||||
"available": "Tilgjengelig",
|
||||
"processing": "Processing"
|
||||
},
|
||||
"sabnzbd": {
|
||||
"rate": "Takt",
|
||||
@@ -190,7 +198,12 @@
|
||||
"wlan_users": "WLAN Users",
|
||||
"up": "UP",
|
||||
"down": "DOWN",
|
||||
"wait": "Please wait"
|
||||
"wait": "Please wait",
|
||||
"lan": "LAN",
|
||||
"wlan": "WLAN",
|
||||
"devices": "Devices",
|
||||
"lan_devices": "LAN Devices",
|
||||
"wlan_devices": "WLAN Devices"
|
||||
},
|
||||
"plex": {
|
||||
"streams": "Active Streams",
|
||||
@@ -201,5 +214,211 @@
|
||||
"cpu": "CPU",
|
||||
"mem": "MEM",
|
||||
"wait": "Please wait"
|
||||
},
|
||||
"changedetectionio": {
|
||||
"totalObserved": "Total Observed",
|
||||
"diffsDetected": "Diffs Detected"
|
||||
},
|
||||
"wmo": {
|
||||
"2-day": "Partly Cloudy",
|
||||
"2-night": "Partly Cloudy",
|
||||
"3-day": "Cloudy",
|
||||
"3-night": "Cloudy",
|
||||
"45-day": "Foggy",
|
||||
"45-night": "Foggy",
|
||||
"0-day": "Sunny",
|
||||
"0-night": "Clear",
|
||||
"1-day": "Mainly Sunny",
|
||||
"1-night": "Mainly Clear",
|
||||
"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",
|
||||
"63-day": "Rain",
|
||||
"57-day": "Freezing Drizzle",
|
||||
"57-night": "Freezing Drizzle",
|
||||
"61-day": "Light Rain",
|
||||
"61-night": "Light Rain",
|
||||
"63-night": "Rain",
|
||||
"65-day": "Heavy Rain",
|
||||
"65-night": "Heavy Rain",
|
||||
"66-day": "Freezing Rain",
|
||||
"66-night": "Freezing Rain",
|
||||
"67-day": "Freezing Rain",
|
||||
"67-night": "Freezing Rain",
|
||||
"71-day": "Light Snow",
|
||||
"71-night": "Light Snow",
|
||||
"73-day": "Snow",
|
||||
"73-night": "Snow",
|
||||
"75-day": "Heavy Snow",
|
||||
"75-night": "Heavy Snow",
|
||||
"77-day": "Snow Grains",
|
||||
"77-night": "Snow Grains",
|
||||
"80-day": "Light Showers",
|
||||
"80-night": "Light Showers",
|
||||
"81-day": "Showers",
|
||||
"81-night": "Showers",
|
||||
"82-day": "Heavy Showers",
|
||||
"82-night": "Heavy Showers",
|
||||
"85-day": "Snow Showers",
|
||||
"95-day": "Thunderstorm",
|
||||
"85-night": "Snow Showers",
|
||||
"86-day": "Snow Showers",
|
||||
"86-night": "Snow Showers",
|
||||
"95-night": "Thunderstorm",
|
||||
"96-day": "Thunderstorm With Hail",
|
||||
"96-night": "Thunderstorm With Hail",
|
||||
"99-day": "Thunderstorm With Hail",
|
||||
"99-night": "Thunderstorm With Hail"
|
||||
},
|
||||
"quicklaunch": {
|
||||
"bookmark": "Bookmark",
|
||||
"service": "Service"
|
||||
},
|
||||
"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}}"
|
||||
},
|
||||
"autobrr": {
|
||||
"approvedPushes": "Approved",
|
||||
"rejectedPushes": "Rejected",
|
||||
"filters": "Filters",
|
||||
"indexers": "Indexers"
|
||||
},
|
||||
"watchtower": {
|
||||
"containers_scanned": "Scanned",
|
||||
"containers_updated": "Updated",
|
||||
"containers_failed": "Failed"
|
||||
},
|
||||
"tubearchivist": {
|
||||
"downloads": "Queue",
|
||||
"videos": "Videos",
|
||||
"channels": "Channels",
|
||||
"playlists": "Playlists"
|
||||
},
|
||||
"truenas": {
|
||||
"load": "System Load",
|
||||
"uptime": "Uptime",
|
||||
"alerts": "Alerts",
|
||||
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
|
||||
},
|
||||
"navidrome": {
|
||||
"nothing_streaming": "No Active Streams",
|
||||
"please_wait": "Please Wait"
|
||||
},
|
||||
"pyload": {
|
||||
"speed": "Speed",
|
||||
"active": "Active",
|
||||
"queue": "Queue",
|
||||
"total": "Total"
|
||||
},
|
||||
"gluetun": {
|
||||
"public_ip": "Public IP",
|
||||
"region": "Region",
|
||||
"country": "Country"
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Channels",
|
||||
"hd": "HD"
|
||||
},
|
||||
"ping": {
|
||||
"error": "Error",
|
||||
"ping": "Ping"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Passed",
|
||||
"failed": "Failed",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"paperlessngx": {
|
||||
"inbox": "Inbox",
|
||||
"total": "Total"
|
||||
},
|
||||
"deluge": {
|
||||
"leech": "Leech",
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"flood": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"tdarr": {
|
||||
"queue": "Queue",
|
||||
"processed": "Processed",
|
||||
"errored": "Errored",
|
||||
"saved": "Saved"
|
||||
},
|
||||
"miniflux": {
|
||||
"read": "Read",
|
||||
"unread": "Unread"
|
||||
},
|
||||
"nextdns": {
|
||||
"wait": "Please Wait",
|
||||
"no_devices": "No Device Data Received"
|
||||
},
|
||||
"common": {
|
||||
"bibyterate": "{{value, rate(bits: false; binary: true)}}",
|
||||
"bibitrate": "{{value, rate(bits: true; binary: true)}}"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Connected APs",
|
||||
"activeUser": "Active devices",
|
||||
"alerts": "Alerts",
|
||||
"connectedGateway": "Connected gateways",
|
||||
"connectedSwitches": "Connected switches"
|
||||
},
|
||||
"downloadstation": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"mikrotik": {
|
||||
"uptime": "Uptime",
|
||||
"numberOfLeases": "Leases",
|
||||
"cpuLoad": "CPU Load",
|
||||
"memoryUsed": "Memory Used"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"medusa": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"series": "Series"
|
||||
},
|
||||
"octoPrint": {
|
||||
"printer_state": "Status",
|
||||
"temp_tool": "Tool temp",
|
||||
"temp_bed": "Bed temp",
|
||||
"job_completion": "Completion"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,13 +2,17 @@
|
||||
"widget": {
|
||||
"missing_type": "Missing Widget Type: {{type}}",
|
||||
"api_error": "API Error",
|
||||
"status": "Status"
|
||||
"status": "Status",
|
||||
"information": "Informatie",
|
||||
"url": "URL",
|
||||
"raw_error": "Raw Fout",
|
||||
"response_data": "Reactiegegevens"
|
||||
},
|
||||
"resources": {
|
||||
"total": "Totaal",
|
||||
"free": "Vrij",
|
||||
"used": "Gebruikt",
|
||||
"load": "Load",
|
||||
"load": "Laadt",
|
||||
"cpu": "CPU"
|
||||
},
|
||||
"docker": {
|
||||
@@ -16,7 +20,9 @@
|
||||
"tx": "TX",
|
||||
"mem": "MEM",
|
||||
"cpu": "CPU",
|
||||
"offline": "Offline"
|
||||
"offline": "Offline",
|
||||
"error": "Fout",
|
||||
"unknown": "Onbekend"
|
||||
},
|
||||
"speedtest": {
|
||||
"upload": "Upload",
|
||||
@@ -62,7 +68,8 @@
|
||||
"radarr": {
|
||||
"movies": "Films",
|
||||
"wanted": "Gezocht",
|
||||
"queued": "In de wachtrij"
|
||||
"queued": "In de wachtrij",
|
||||
"missing": "Missing"
|
||||
},
|
||||
"readarr": {
|
||||
"wanted": "Wanted",
|
||||
@@ -97,7 +104,8 @@
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"available": "Available",
|
||||
"processing": "Processing"
|
||||
},
|
||||
"sabnzbd": {
|
||||
"rate": "Rate",
|
||||
@@ -182,15 +190,20 @@
|
||||
"vms": "VMs"
|
||||
},
|
||||
"unifi": {
|
||||
"users": "Users",
|
||||
"lan_users": "LAN Users",
|
||||
"uptime": "System Uptime",
|
||||
"days": "Days",
|
||||
"users": "Gebruikers",
|
||||
"lan_users": "LAN Gebruikers",
|
||||
"uptime": "Uptime van het systeem",
|
||||
"days": "Dagen",
|
||||
"wan": "WAN",
|
||||
"wlan_users": "WLAN Users",
|
||||
"wlan_users": "WLAN Gebruikers",
|
||||
"up": "UP",
|
||||
"down": "DOWN",
|
||||
"wait": "Please wait"
|
||||
"wait": "Wachten aub",
|
||||
"lan": "LAN",
|
||||
"wlan": "WLAN",
|
||||
"devices": "Apparaten",
|
||||
"lan_devices": "LAN Apparaten",
|
||||
"wlan_devices": "WLAN Apparaten"
|
||||
},
|
||||
"plex": {
|
||||
"streams": "Active Streams",
|
||||
@@ -201,5 +214,211 @@
|
||||
"cpu": "CPU",
|
||||
"mem": "MEM",
|
||||
"wait": "Please wait"
|
||||
},
|
||||
"changedetectionio": {
|
||||
"totalObserved": "Totaal waargenomen",
|
||||
"diffsDetected": "Diffs Detected"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "Sunny",
|
||||
"0-night": "Clear",
|
||||
"1-day": "Mainly Sunny",
|
||||
"1-night": "Mainly Clear",
|
||||
"3-day": "Cloudy",
|
||||
"99-night": "Thunderstorm With Hail",
|
||||
"3-night": "Cloudy",
|
||||
"2-day": "Partly Cloudy",
|
||||
"2-night": "Partly 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-night": "Heavy Drizzle",
|
||||
"55-day": "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",
|
||||
"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-night": "Heavy Showers",
|
||||
"85-day": "Snow Showers",
|
||||
"82-day": "Heavy 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"
|
||||
},
|
||||
"quicklaunch": {
|
||||
"bookmark": "Bookmark",
|
||||
"service": "Service"
|
||||
},
|
||||
"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}}"
|
||||
},
|
||||
"autobrr": {
|
||||
"approvedPushes": "Approved",
|
||||
"rejectedPushes": "Rejected",
|
||||
"filters": "Filters",
|
||||
"indexers": "Indexers"
|
||||
},
|
||||
"watchtower": {
|
||||
"containers_scanned": "Scanned",
|
||||
"containers_updated": "Updated",
|
||||
"containers_failed": "Failed"
|
||||
},
|
||||
"tubearchivist": {
|
||||
"downloads": "Queue",
|
||||
"videos": "Videos",
|
||||
"channels": "Channels",
|
||||
"playlists": "Playlists"
|
||||
},
|
||||
"truenas": {
|
||||
"load": "System Load",
|
||||
"uptime": "Uptime",
|
||||
"alerts": "Alerts",
|
||||
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
|
||||
},
|
||||
"navidrome": {
|
||||
"nothing_streaming": "No Active Streams",
|
||||
"please_wait": "Please Wait"
|
||||
},
|
||||
"pyload": {
|
||||
"speed": "Speed",
|
||||
"active": "Active",
|
||||
"total": "Total",
|
||||
"queue": "Queue"
|
||||
},
|
||||
"gluetun": {
|
||||
"public_ip": "Public IP",
|
||||
"region": "Region",
|
||||
"country": "Country"
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Channels",
|
||||
"hd": "HD"
|
||||
},
|
||||
"ping": {
|
||||
"error": "Fout",
|
||||
"ping": "Ping"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Passed",
|
||||
"failed": "Failed",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"paperlessngx": {
|
||||
"inbox": "Inbox",
|
||||
"total": "Total"
|
||||
},
|
||||
"deluge": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"flood": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"tdarr": {
|
||||
"queue": "Queue",
|
||||
"processed": "Processed",
|
||||
"errored": "Errored",
|
||||
"saved": "Saved"
|
||||
},
|
||||
"miniflux": {
|
||||
"read": "Read",
|
||||
"unread": "Unread"
|
||||
},
|
||||
"nextdns": {
|
||||
"wait": "Please Wait",
|
||||
"no_devices": "No Device Data Received"
|
||||
},
|
||||
"common": {
|
||||
"bibyterate": "{{value, rate(bits: false; binary: true)}}",
|
||||
"bibitrate": "{{value, rate(bits: true; binary: true)}}"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Connected APs",
|
||||
"activeUser": "Active devices",
|
||||
"alerts": "Alerts",
|
||||
"connectedGateway": "Connected gateways",
|
||||
"connectedSwitches": "Connected switches"
|
||||
},
|
||||
"downloadstation": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"medusa": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"series": "Series"
|
||||
},
|
||||
"octoPrint": {
|
||||
"printer_state": "Status",
|
||||
"temp_tool": "Tool temp",
|
||||
"temp_bed": "Bed temp",
|
||||
"job_completion": "Completion"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -52,14 +52,20 @@
|
||||
"widget": {
|
||||
"missing_type": "Brakujący typ widżetu: {{type}}",
|
||||
"api_error": "Błąd API",
|
||||
"status": "Stan"
|
||||
"status": "Stan",
|
||||
"url": "Adres URL",
|
||||
"information": "Informacje",
|
||||
"raw_error": "Niesformatowany błąd",
|
||||
"response_data": "Dane odpowiedzi"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
"tx": "TX",
|
||||
"mem": "MEM",
|
||||
"cpu": "CPU",
|
||||
"offline": "Offline"
|
||||
"rx": "Rx",
|
||||
"tx": "Tx",
|
||||
"mem": "Pamięć",
|
||||
"cpu": "Procesor",
|
||||
"offline": "Offline",
|
||||
"error": "Błąd",
|
||||
"unknown": "Nieznany"
|
||||
},
|
||||
"nzbget": {
|
||||
"rate": "Szybkość",
|
||||
@@ -90,7 +96,8 @@
|
||||
"radarr": {
|
||||
"wanted": "Poszukiwane",
|
||||
"queued": "W kolejce",
|
||||
"movies": "Filmy"
|
||||
"movies": "Filmy",
|
||||
"missing": "Brakujące"
|
||||
},
|
||||
"lidarr": {
|
||||
"wanted": "Poszukiwane",
|
||||
@@ -119,7 +126,8 @@
|
||||
"overseerr": {
|
||||
"pending": "Oczekiwane",
|
||||
"approved": "Zaakceptowane",
|
||||
"available": "Dostępne"
|
||||
"available": "Dostępne",
|
||||
"processing": "Przetwarzane"
|
||||
},
|
||||
"pihole": {
|
||||
"queries": "Zapytania",
|
||||
@@ -148,58 +156,269 @@
|
||||
"errored": "Błędne"
|
||||
},
|
||||
"adguard": {
|
||||
"queries": "Queries",
|
||||
"blocked": "Blocked",
|
||||
"filtered": "Filtered",
|
||||
"latency": "Latency"
|
||||
"queries": "Zapytania",
|
||||
"blocked": "Zablokowane",
|
||||
"filtered": "Przefiltrowane",
|
||||
"latency": "Opóźnienia"
|
||||
},
|
||||
"qbittorrent": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"download": "Pobieranie",
|
||||
"upload": "Wysyłanie",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"mastodon": {
|
||||
"user_count": "Users",
|
||||
"status_count": "Posts",
|
||||
"domain_count": "Domains"
|
||||
"user_count": "Użytkownicy",
|
||||
"status_count": "Posty",
|
||||
"domain_count": "Domeny"
|
||||
},
|
||||
"strelaysrv": {
|
||||
"numActiveSessions": "Sessions",
|
||||
"numConnections": "Connections",
|
||||
"dataRelayed": "Relayed",
|
||||
"transferRate": "Rate"
|
||||
"numActiveSessions": "Sesje",
|
||||
"numConnections": "Połączenia",
|
||||
"dataRelayed": "Przekazane",
|
||||
"transferRate": "Przesył"
|
||||
},
|
||||
"authentik": {
|
||||
"users": "Users",
|
||||
"loginsLast24H": "Logins (24h)",
|
||||
"failedLoginsLast24H": "Failed Logins (24h)"
|
||||
"users": "Użytkownicy",
|
||||
"loginsLast24H": "Logowania (24h)",
|
||||
"failedLoginsLast24H": "Nieudane logowania (24h)"
|
||||
},
|
||||
"proxmox": {
|
||||
"mem": "MEM",
|
||||
"cpu": "CPU",
|
||||
"lxc": "LXC",
|
||||
"vms": "VMs"
|
||||
"mem": "Pamięć",
|
||||
"cpu": "Procesor",
|
||||
"lxc": "Kontenery LXC",
|
||||
"vms": "Maszyn wirtualnych"
|
||||
},
|
||||
"unifi": {
|
||||
"users": "Users",
|
||||
"uptime": "System Uptime",
|
||||
"days": "Days",
|
||||
"users": "Użytkownicy",
|
||||
"uptime": "Czas pracy systemu",
|
||||
"days": "Dni",
|
||||
"wan": "WAN",
|
||||
"lan_users": "LAN Users",
|
||||
"wlan_users": "WLAN Users",
|
||||
"up": "UP",
|
||||
"down": "DOWN",
|
||||
"wait": "Please wait"
|
||||
"lan_users": "Użytkownicy LAN",
|
||||
"wlan_users": "Użytkownicy WLAN",
|
||||
"up": "Wysyłanie",
|
||||
"down": "Pobieranie",
|
||||
"wait": "Proszę czekać",
|
||||
"lan": "LAN",
|
||||
"wlan": "WLAN",
|
||||
"devices": "Urządzenia",
|
||||
"lan_devices": "Urządzenia LAN",
|
||||
"wlan_devices": "Urządzenia WLAN"
|
||||
},
|
||||
"plex": {
|
||||
"streams": "Active Streams",
|
||||
"movies": "Movies",
|
||||
"tv": "TV Shows"
|
||||
"streams": "Aktywne strumienie",
|
||||
"movies": "Filmy",
|
||||
"tv": "Seriale"
|
||||
},
|
||||
"glances": {
|
||||
"cpu": "CPU",
|
||||
"mem": "MEM",
|
||||
"wait": "Please wait"
|
||||
"cpu": "Procesor",
|
||||
"mem": "Pamięć",
|
||||
"wait": "Proszę czekać"
|
||||
},
|
||||
"changedetectionio": {
|
||||
"diffsDetected": "Wykryto różnic",
|
||||
"totalObserved": "Obserwowanych ogółem"
|
||||
},
|
||||
"wmo": {
|
||||
"77-day": "Ziarnisty śnieg",
|
||||
"0-day": "Słoneczny",
|
||||
"0-night": "Bezchmurny",
|
||||
"1-day": "Głównie słoneczny",
|
||||
"1-night": "Głównie bezchmurny",
|
||||
"2-day": "Częściowo pochmurnie",
|
||||
"2-night": "Częściowo pochmurnie",
|
||||
"3-day": "Pochmurnie",
|
||||
"3-night": "Pochmurnie",
|
||||
"45-day": "Mgliście",
|
||||
"45-night": "Mgliście",
|
||||
"48-day": "Mgliście",
|
||||
"48-night": "Mgliście",
|
||||
"51-day": "Lekka mżawka",
|
||||
"51-night": "Lekka mżawka",
|
||||
"53-day": "Mżawka",
|
||||
"53-night": "Mżawka",
|
||||
"55-day": "Ciężka mżawka",
|
||||
"55-night": "Ciężka mżawka",
|
||||
"56-day": "Lekko chłodna mżawka",
|
||||
"56-night": "Lekko chłodna mżawka",
|
||||
"57-day": "Chłodna mżawka",
|
||||
"57-night": "Chłodna mżawka",
|
||||
"61-day": "Lekki deszcz",
|
||||
"61-night": "Lekki deszcz",
|
||||
"63-day": "Deszcz",
|
||||
"63-night": "Deszcz",
|
||||
"65-day": "Ciężki deszcz",
|
||||
"65-night": "Ciężki deszcz",
|
||||
"66-day": "Mroźny deszcz",
|
||||
"66-night": "Mroźny deszcz",
|
||||
"67-day": "Mroźny deszcz",
|
||||
"67-night": "Mroźny deszcz",
|
||||
"71-day": "Lekki śnieg",
|
||||
"71-night": "Lekki śnieg",
|
||||
"73-day": "Śnieg",
|
||||
"73-night": "Śnieg",
|
||||
"75-day": "Ciężki śnieg",
|
||||
"75-night": "Ciężki śnieg",
|
||||
"77-night": "Ziarnisty śnieg",
|
||||
"80-day": "Lekkie opady",
|
||||
"80-night": "Lekkie opady",
|
||||
"81-day": "Opady",
|
||||
"81-night": "Opady",
|
||||
"82-day": "Ciężkie opady",
|
||||
"82-night": "Ciężkie opady",
|
||||
"85-day": "Opady śniegu",
|
||||
"85-night": "Opady śniegu",
|
||||
"86-day": "Opady śniegu",
|
||||
"86-night": "Opady śniegu",
|
||||
"95-day": "Burze z piorunami",
|
||||
"95-night": "Burze z piorunami",
|
||||
"96-day": "Burza z gradobiciem",
|
||||
"96-night": "Burza z gradobiciem",
|
||||
"99-day": "Burza z gradobiciem",
|
||||
"99-night": "Burza z gradobiciem"
|
||||
},
|
||||
"quicklaunch": {
|
||||
"bookmark": "Zakładka",
|
||||
"service": "Usługi"
|
||||
},
|
||||
"homebridge": {
|
||||
"available_update": "System",
|
||||
"updates": "Aktualizacje",
|
||||
"update_available": "Dostępna aktualizacja",
|
||||
"up_to_date": "Aktualny",
|
||||
"child_bridges": "Child Bridges",
|
||||
"child_bridges_status": "{{ok}}/{{total}}"
|
||||
},
|
||||
"autobrr": {
|
||||
"approvedPushes": "Zaakceptowane",
|
||||
"rejectedPushes": "Odrzucone",
|
||||
"filters": "Filtry",
|
||||
"indexers": "Indeksery"
|
||||
},
|
||||
"watchtower": {
|
||||
"containers_scanned": "Zeskanowane",
|
||||
"containers_updated": "Zaktualizowane",
|
||||
"containers_failed": "Niepowodzenie"
|
||||
},
|
||||
"tubearchivist": {
|
||||
"downloads": "Kolejka",
|
||||
"videos": "Pliki wideo",
|
||||
"channels": "Kanały",
|
||||
"playlists": "Playlisty"
|
||||
},
|
||||
"truenas": {
|
||||
"load": "Obciążenie systemu",
|
||||
"uptime": "Czas działania",
|
||||
"alerts": "Ostrzeżenia",
|
||||
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
|
||||
},
|
||||
"navidrome": {
|
||||
"please_wait": "Proszę czekać",
|
||||
"nothing_streaming": "Brak aktywnych strumieni"
|
||||
},
|
||||
"pyload": {
|
||||
"speed": "Prędkość",
|
||||
"active": "Aktywne",
|
||||
"queue": "Kolejka",
|
||||
"total": "Razem"
|
||||
},
|
||||
"gluetun": {
|
||||
"public_ip": "Adres publiczny",
|
||||
"region": "Region",
|
||||
"country": "Państwo"
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Kanały",
|
||||
"hd": "HD"
|
||||
},
|
||||
"ping": {
|
||||
"error": "Błąd",
|
||||
"ping": "Ping"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Powodzenie",
|
||||
"failed": "Niepowodzenie",
|
||||
"unknown": "Nieznane"
|
||||
},
|
||||
"paperlessngx": {
|
||||
"inbox": "Skrzynka odbiorcza",
|
||||
"total": "W sumie"
|
||||
},
|
||||
"deluge": {
|
||||
"download": "Pobieranie",
|
||||
"upload": "Wysyłanie",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"flood": {
|
||||
"download": "Pobieranie",
|
||||
"upload": "Wysyłanie",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"tdarr": {
|
||||
"queue": "Kolejka",
|
||||
"processed": "Przetworzone",
|
||||
"errored": "Błędne",
|
||||
"saved": "Zapisane"
|
||||
},
|
||||
"miniflux": {
|
||||
"read": "Przeczytane",
|
||||
"unread": "Nieprzeczytane"
|
||||
},
|
||||
"nextdns": {
|
||||
"wait": "Proszę czekać",
|
||||
"no_devices": "Nie otrzymano danych urządzenia"
|
||||
},
|
||||
"common": {
|
||||
"bibyterate": "{{value, rate(bits: false; binary: true)}}",
|
||||
"bibitrate": "{{value, rate(bits: true; binary: true)}}"
|
||||
},
|
||||
"omada": {
|
||||
"connectedSwitches": "Połączone przełączniki",
|
||||
"connectedAp": "Połączone punkty dostępowe",
|
||||
"activeUser": "Aktywne urządzenia",
|
||||
"alerts": "Alarmy",
|
||||
"connectedGateway": "Połączone bramy"
|
||||
},
|
||||
"downloadstation": {
|
||||
"download": "Pobieranie",
|
||||
"upload": "Wysyłanie",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"mikrotik": {
|
||||
"cpuLoad": "Obciążenie procesora",
|
||||
"memoryUsed": "Zuyżyta pamięć",
|
||||
"uptime": "Czas działania",
|
||||
"numberOfLeases": "Dzierżawy"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"medusa": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"series": "Series"
|
||||
},
|
||||
"octoPrint": {
|
||||
"printer_state": "Status",
|
||||
"temp_tool": "Tool temp",
|
||||
"temp_bed": "Bed temp",
|
||||
"job_completion": "Completion"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,7 +30,11 @@
|
||||
"widget": {
|
||||
"missing_type": "Tipo de Widget ausente: {{type}}",
|
||||
"api_error": "Erro da API",
|
||||
"status": "Status"
|
||||
"status": "Status",
|
||||
"information": "Information",
|
||||
"url": "URL",
|
||||
"raw_error": "Raw Error",
|
||||
"response_data": "Response Data"
|
||||
},
|
||||
"weather": {
|
||||
"current": "Localização atual",
|
||||
@@ -53,7 +57,9 @@
|
||||
"tx": "Tx",
|
||||
"mem": "Mem",
|
||||
"cpu": "CPU",
|
||||
"offline": "Desligado"
|
||||
"offline": "Desligado",
|
||||
"error": "Error",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "Reproduzindo",
|
||||
@@ -92,7 +98,8 @@
|
||||
"radarr": {
|
||||
"wanted": "Desejado",
|
||||
"queued": "Na fila",
|
||||
"movies": "Filmes"
|
||||
"movies": "Filmes",
|
||||
"missing": "Missing"
|
||||
},
|
||||
"lidarr": {
|
||||
"wanted": "Desejado",
|
||||
@@ -121,7 +128,8 @@
|
||||
"overseerr": {
|
||||
"pending": "Pendente",
|
||||
"approved": "Aprovado",
|
||||
"available": "Disponível"
|
||||
"available": "Disponível",
|
||||
"processing": "Processing"
|
||||
},
|
||||
"pihole": {
|
||||
"queries": "Consultas",
|
||||
@@ -190,7 +198,12 @@
|
||||
"wlan_users": "WLAN Users",
|
||||
"up": "UP",
|
||||
"down": "DOWN",
|
||||
"wait": "Please wait"
|
||||
"wait": "Please wait",
|
||||
"lan": "LAN",
|
||||
"wlan": "WLAN",
|
||||
"devices": "Devices",
|
||||
"lan_devices": "LAN Devices",
|
||||
"wlan_devices": "WLAN Devices"
|
||||
},
|
||||
"plex": {
|
||||
"streams": "Active Streams",
|
||||
@@ -201,5 +214,211 @@
|
||||
"cpu": "CPU",
|
||||
"mem": "MEM",
|
||||
"wait": "Please wait"
|
||||
},
|
||||
"changedetectionio": {
|
||||
"totalObserved": "Observados",
|
||||
"diffsDetected": "Mudanças"
|
||||
},
|
||||
"wmo": {
|
||||
"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",
|
||||
"56-night": "Light Freezing Drizzle",
|
||||
"57-day": "Freezing Drizzle",
|
||||
"99-day": "Thunderstorm With Hail",
|
||||
"99-night": "Thunderstorm With Hail",
|
||||
"0-day": "Sunny",
|
||||
"53-day": "Drizzle",
|
||||
"0-night": "Clear",
|
||||
"1-day": "Mainly Sunny",
|
||||
"51-day": "Light Drizzle",
|
||||
"51-night": "Light Drizzle",
|
||||
"53-night": "Drizzle",
|
||||
"55-day": "Heavy Drizzle",
|
||||
"55-night": "Heavy Drizzle",
|
||||
"56-day": "Light Freezing Drizzle",
|
||||
"57-night": "Freezing Drizzle",
|
||||
"61-day": "Light Rain",
|
||||
"61-night": "Light Rain",
|
||||
"63-day": "Rain",
|
||||
"63-night": "Rain",
|
||||
"65-day": "Heavy Rain",
|
||||
"65-night": "Heavy Rain",
|
||||
"66-day": "Freezing Rain",
|
||||
"66-night": "Freezing Rain",
|
||||
"67-day": "Freezing Rain",
|
||||
"67-night": "Freezing Rain",
|
||||
"71-day": "Light Snow",
|
||||
"71-night": "Light Snow",
|
||||
"73-day": "Snow",
|
||||
"73-night": "Snow",
|
||||
"75-day": "Heavy Snow",
|
||||
"75-night": "Heavy Snow",
|
||||
"77-day": "Snow Grains",
|
||||
"77-night": "Snow Grains",
|
||||
"80-day": "Light Showers",
|
||||
"80-night": "Light Showers",
|
||||
"81-day": "Showers",
|
||||
"81-night": "Showers",
|
||||
"82-day": "Heavy Showers",
|
||||
"82-night": "Heavy Showers",
|
||||
"85-day": "Snow Showers",
|
||||
"85-night": "Snow Showers",
|
||||
"86-day": "Snow Showers",
|
||||
"86-night": "Snow Showers",
|
||||
"95-day": "Thunderstorm",
|
||||
"95-night": "Thunderstorm",
|
||||
"96-day": "Thunderstorm With Hail",
|
||||
"96-night": "Thunderstorm With Hail"
|
||||
},
|
||||
"quicklaunch": {
|
||||
"bookmark": "Bookmark",
|
||||
"service": "Service"
|
||||
},
|
||||
"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}}"
|
||||
},
|
||||
"autobrr": {
|
||||
"approvedPushes": "Approved",
|
||||
"rejectedPushes": "Rejected",
|
||||
"filters": "Filters",
|
||||
"indexers": "Indexers"
|
||||
},
|
||||
"watchtower": {
|
||||
"containers_scanned": "Scanned",
|
||||
"containers_updated": "Updated",
|
||||
"containers_failed": "Failed"
|
||||
},
|
||||
"tubearchivist": {
|
||||
"downloads": "Queue",
|
||||
"videos": "Videos",
|
||||
"channels": "Channels",
|
||||
"playlists": "Playlists"
|
||||
},
|
||||
"truenas": {
|
||||
"load": "System Load",
|
||||
"uptime": "Uptime",
|
||||
"alerts": "Alerts",
|
||||
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
|
||||
},
|
||||
"navidrome": {
|
||||
"nothing_streaming": "No Active Streams",
|
||||
"please_wait": "Please Wait"
|
||||
},
|
||||
"pyload": {
|
||||
"speed": "Speed",
|
||||
"active": "Active",
|
||||
"queue": "Queue",
|
||||
"total": "Total"
|
||||
},
|
||||
"gluetun": {
|
||||
"public_ip": "Public IP",
|
||||
"region": "Region",
|
||||
"country": "Country"
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Channels",
|
||||
"hd": "HD"
|
||||
},
|
||||
"ping": {
|
||||
"error": "Error",
|
||||
"ping": "Ping"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Passed",
|
||||
"failed": "Failed",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"paperlessngx": {
|
||||
"inbox": "Inbox",
|
||||
"total": "Total"
|
||||
},
|
||||
"deluge": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"flood": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"tdarr": {
|
||||
"queue": "Queue",
|
||||
"processed": "Processed",
|
||||
"errored": "Errored",
|
||||
"saved": "Saved"
|
||||
},
|
||||
"miniflux": {
|
||||
"read": "Read",
|
||||
"unread": "Unread"
|
||||
},
|
||||
"nextdns": {
|
||||
"wait": "Please Wait",
|
||||
"no_devices": "No Device Data Received"
|
||||
},
|
||||
"common": {
|
||||
"bibyterate": "{{value, rate(bits: false; binary: true)}}",
|
||||
"bibitrate": "{{value, rate(bits: true; binary: true)}}"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Connected APs",
|
||||
"activeUser": "Active devices",
|
||||
"alerts": "Alerts",
|
||||
"connectedGateway": "Connected gateways",
|
||||
"connectedSwitches": "Connected switches"
|
||||
},
|
||||
"downloadstation": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"medusa": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"series": "Series"
|
||||
},
|
||||
"octoPrint": {
|
||||
"printer_state": "Status",
|
||||
"temp_tool": "Tool temp",
|
||||
"temp_bed": "Bed temp",
|
||||
"job_completion": "Completion"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,8 +1,12 @@
|
||||
{
|
||||
"widget": {
|
||||
"missing_type": "Widget ausente: {{type}}",
|
||||
"missing_type": "Tipo de Widget ausente: {{type}}",
|
||||
"api_error": "Erro da API",
|
||||
"status": "Status"
|
||||
"status": "Estado",
|
||||
"information": "Informação",
|
||||
"url": "Endereço URL",
|
||||
"raw_error": "Erro",
|
||||
"response_data": "Dados da Resposta"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Pesquisar…"
|
||||
@@ -10,8 +14,8 @@
|
||||
"resources": {
|
||||
"total": "Total",
|
||||
"free": "Livre",
|
||||
"used": "Usado",
|
||||
"load": "Carregar",
|
||||
"used": "Utilizado",
|
||||
"load": "Carga",
|
||||
"cpu": "CPU"
|
||||
},
|
||||
"docker": {
|
||||
@@ -19,7 +23,9 @@
|
||||
"tx": "Tx",
|
||||
"mem": "Mem",
|
||||
"cpu": "CPU",
|
||||
"offline": "Desligado"
|
||||
"offline": "Desligado",
|
||||
"error": "Erro",
|
||||
"unknown": "Desconhecido"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "A reproduzir",
|
||||
@@ -46,7 +52,8 @@
|
||||
"radarr": {
|
||||
"wanted": "Desejado",
|
||||
"queued": "Fila",
|
||||
"movies": "Filmes"
|
||||
"movies": "Filmes",
|
||||
"missing": "Faltando"
|
||||
},
|
||||
"readarr": {
|
||||
"wanted": "Desejados",
|
||||
@@ -97,18 +104,21 @@
|
||||
"byterate": "{{value, bytes}}",
|
||||
"ms": "{{value, number}}",
|
||||
"bitrate": "{{value, bytes(bits: true)}}",
|
||||
"percent": "{{value, percent}}"
|
||||
"percent": "{{value, percent}}",
|
||||
"bibyterate": "{{value, rate(bits: false; binary: true)}}",
|
||||
"bibitrate": "{{value, rate(bits: true; binary: true)}}"
|
||||
},
|
||||
"weather": {
|
||||
"current": "Localização atual",
|
||||
"allow": "Clicar para permitir",
|
||||
"updating": "A atualizar",
|
||||
"updating": "Atualizando",
|
||||
"wait": "Por favor aguarde"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pendente",
|
||||
"approved": "Aprovado",
|
||||
"available": "Disponível"
|
||||
"available": "Disponível",
|
||||
"processing": "Processando"
|
||||
},
|
||||
"sabnzbd": {
|
||||
"rate": "Taxa",
|
||||
@@ -142,7 +152,7 @@
|
||||
"transmission": {
|
||||
"download": "Baixando",
|
||||
"upload": "Enviando",
|
||||
"leech": "Sanguessugas",
|
||||
"leech": "Leech",
|
||||
"seed": "Semeadores"
|
||||
},
|
||||
"jackett": {
|
||||
@@ -182,9 +192,9 @@
|
||||
"transferRate": "Taxa"
|
||||
},
|
||||
"authentik": {
|
||||
"loginsLast24H": "Logins (24h)",
|
||||
"failedLoginsLast24H": "Failed Logins (24h)",
|
||||
"users": "Users"
|
||||
"loginsLast24H": "Inícios de sessão (24h)",
|
||||
"failedLoginsLast24H": "Inícios de sessão falhados (24h)",
|
||||
"users": "Utilizadores"
|
||||
},
|
||||
"proxmox": {
|
||||
"mem": "MEM",
|
||||
@@ -193,24 +203,231 @@
|
||||
"vms": "VMs"
|
||||
},
|
||||
"unifi": {
|
||||
"users": "Users",
|
||||
"uptime": "System Uptime",
|
||||
"days": "Days",
|
||||
"users": "Utilizadores",
|
||||
"uptime": "Sistema Ativo",
|
||||
"days": "Dias",
|
||||
"wan": "WAN",
|
||||
"lan_users": "LAN Users",
|
||||
"wlan_users": "WLAN Users",
|
||||
"up": "UP",
|
||||
"down": "DOWN",
|
||||
"wait": "Please wait"
|
||||
"lan_users": "Utilizadores LAN",
|
||||
"wlan_users": "Utilizadores WLAN",
|
||||
"up": "Ligado",
|
||||
"down": "Desligado",
|
||||
"wait": "Por favor, aguarde",
|
||||
"lan": "LAN",
|
||||
"wlan": "WLAN",
|
||||
"devices": "Dispositivos",
|
||||
"lan_devices": "Dispositivos LAN",
|
||||
"wlan_devices": "Dispositivos WLAN"
|
||||
},
|
||||
"plex": {
|
||||
"streams": "Active Streams",
|
||||
"movies": "Movies",
|
||||
"tv": "TV Shows"
|
||||
"streams": "Streams Ativas",
|
||||
"movies": "Filmes",
|
||||
"tv": "Series de TV"
|
||||
},
|
||||
"glances": {
|
||||
"cpu": "CPU",
|
||||
"mem": "MEM",
|
||||
"wait": "Please wait"
|
||||
"wait": "Por favor, aguarde"
|
||||
},
|
||||
"changedetectionio": {
|
||||
"totalObserved": "Total Observado",
|
||||
"diffsDetected": "Diferenças Detetadas"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "Solarengo",
|
||||
"0-night": "Limpo",
|
||||
"1-day": "Maioritariamente ensolarado",
|
||||
"1-night": "Maioritariamente Limpo",
|
||||
"2-day": "Parcialmente Nublado",
|
||||
"2-night": "Parcialmente nublado",
|
||||
"3-day": "Nublado",
|
||||
"3-night": "Nublado",
|
||||
"99-night": "Trovoada com granizo",
|
||||
"45-day": "Nevoeiro",
|
||||
"45-night": "Nevoeiro",
|
||||
"48-day": "Nevoeiro",
|
||||
"48-night": "Nevoeiro",
|
||||
"51-day": "Aguaceiros",
|
||||
"51-night": "Aguaceiros",
|
||||
"53-day": "Chuvisco",
|
||||
"53-night": "Chuvisco",
|
||||
"55-day": "Aguaceiro Forte",
|
||||
"55-night": "Aguaceiro Forte",
|
||||
"56-day": "Light Freezing Drizzle",
|
||||
"56-night": "Light Freezing Drizzle",
|
||||
"57-day": "Freezing Drizzle",
|
||||
"57-night": "Freezing Drizzle",
|
||||
"66-day": "Freezing Rain",
|
||||
"61-day": "Chuva fraca",
|
||||
"61-night": "Chuva fraca",
|
||||
"63-day": "Chuva",
|
||||
"63-night": "Chuva",
|
||||
"65-day": "Chuva forte",
|
||||
"66-night": "Freezing Rain",
|
||||
"65-night": "Chuva forte",
|
||||
"67-day": "Freezing Rain",
|
||||
"67-night": "Freezing Rain",
|
||||
"71-day": "Neve fraca",
|
||||
"71-night": "Neve fraca",
|
||||
"73-day": "Neve",
|
||||
"73-night": "Neve",
|
||||
"75-day": "Neve forte",
|
||||
"75-night": "Neve forte",
|
||||
"77-day": "Snow Grains",
|
||||
"77-night": "Snow Grains",
|
||||
"80-day": "Neve fraca",
|
||||
"80-night": "Chuviscos ligeiros",
|
||||
"81-day": "Chuviscos",
|
||||
"81-night": "Chuviscos",
|
||||
"82-day": "Chuviscos fortes",
|
||||
"82-night": "Chuviscos fortes",
|
||||
"85-day": "Snow Showers",
|
||||
"85-night": "Snow Showers",
|
||||
"86-day": "Snow Showers",
|
||||
"86-night": "Snow Showers",
|
||||
"95-day": "Trovoada",
|
||||
"95-night": "Trovoada",
|
||||
"96-day": "Trovoada com granizo",
|
||||
"96-night": "Trovoada com granizo",
|
||||
"99-day": "Trovoada com granizo"
|
||||
},
|
||||
"quicklaunch": {
|
||||
"bookmark": "Marcador",
|
||||
"service": "Serviço"
|
||||
},
|
||||
"homebridge": {
|
||||
"available_update": "Sistema",
|
||||
"updates": "Atualizações",
|
||||
"update_available": "Atualização disponível",
|
||||
"up_to_date": "Atualizado",
|
||||
"child_bridges": "Child Bridges",
|
||||
"child_bridges_status": "{{ok}}/{{total}}"
|
||||
},
|
||||
"autobrr": {
|
||||
"approvedPushes": "Aprovado",
|
||||
"rejectedPushes": "Rejeitado",
|
||||
"filters": "Filtros",
|
||||
"indexers": "Indexadores"
|
||||
},
|
||||
"watchtower": {
|
||||
"containers_scanned": "Verificado",
|
||||
"containers_updated": "Atualizado",
|
||||
"containers_failed": "Falhou"
|
||||
},
|
||||
"tubearchivist": {
|
||||
"downloads": "Fila",
|
||||
"videos": "Vídeos",
|
||||
"channels": "Canais",
|
||||
"playlists": "Listas"
|
||||
},
|
||||
"truenas": {
|
||||
"load": "Carga do sistema",
|
||||
"uptime": "Ligado",
|
||||
"alerts": "Alertas",
|
||||
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
|
||||
},
|
||||
"navidrome": {
|
||||
"nothing_streaming": "Sem streams ativos",
|
||||
"please_wait": "Por favor aguarde"
|
||||
},
|
||||
"pyload": {
|
||||
"queue": "Fila",
|
||||
"total": "Total",
|
||||
"speed": "Velocidade",
|
||||
"active": "Ativo"
|
||||
},
|
||||
"gluetun": {
|
||||
"region": "Região",
|
||||
"country": "País",
|
||||
"public_ip": "IP público"
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Canais",
|
||||
"hd": "HD"
|
||||
},
|
||||
"ping": {
|
||||
"error": "Erro",
|
||||
"ping": "Tempo de resposta"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Aprovado",
|
||||
"failed": "Falhou",
|
||||
"unknown": "Desconhecido"
|
||||
},
|
||||
"paperlessngx": {
|
||||
"inbox": "Caixa de entrada",
|
||||
"total": "Total"
|
||||
},
|
||||
"deluge": {
|
||||
"download": "Descarregar",
|
||||
"upload": "Enviar",
|
||||
"leech": "Leech",
|
||||
"seed": "Semente"
|
||||
},
|
||||
"flood": {
|
||||
"download": "Descarregar",
|
||||
"upload": "Carregar",
|
||||
"leech": "Leech",
|
||||
"seed": "Semente"
|
||||
},
|
||||
"tdarr": {
|
||||
"queue": "Fila",
|
||||
"processed": "Processado",
|
||||
"errored": "Erro",
|
||||
"saved": "Guardado"
|
||||
},
|
||||
"miniflux": {
|
||||
"read": "Lido",
|
||||
"unread": "Não lido"
|
||||
},
|
||||
"nextdns": {
|
||||
"wait": "Aguarde",
|
||||
"no_devices": "Nenhum dado do dispositivo recebido"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "APs Ligados",
|
||||
"activeUser": "Dispositivos activos",
|
||||
"alerts": "Alertas",
|
||||
"connectedGateway": "Gateways ligados",
|
||||
"connectedSwitches": "Switches ligados"
|
||||
},
|
||||
"downloadstation": {
|
||||
"download": "Descarregar",
|
||||
"upload": "Enviar",
|
||||
"leech": "Leech",
|
||||
"seed": "Semente"
|
||||
},
|
||||
"mikrotik": {
|
||||
"cpuLoad": "Carga do CPU",
|
||||
"memoryUsed": "Memória Utilizada",
|
||||
"uptime": "Ativo",
|
||||
"numberOfLeases": "Leases"
|
||||
},
|
||||
"xteve": {
|
||||
"streams_all": "Todos os Streams",
|
||||
"streams_active": "Streams ativos",
|
||||
"streams_xepg": "Canais XEPG"
|
||||
},
|
||||
"opnsense": {
|
||||
"cpu": "Carga do CPU",
|
||||
"memory": "Memória Ativa",
|
||||
"wanUpload": "Envio WAN",
|
||||
"wanDownload": "WAN Descarga"
|
||||
},
|
||||
"moonraker": {
|
||||
"printer_state": "Printer State",
|
||||
"print_status": "Print Status",
|
||||
"print_progress": "Progress",
|
||||
"layers": "Layers"
|
||||
},
|
||||
"medusa": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"series": "Series"
|
||||
},
|
||||
"octoPrint": {
|
||||
"printer_state": "Status",
|
||||
"temp_tool": "Tool temp",
|
||||
"temp_bed": "Bed temp",
|
||||
"job_completion": "Completion"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,14 +4,16 @@
|
||||
"load": "Sarcină",
|
||||
"total": "Total",
|
||||
"free": "Disponibili",
|
||||
"cpu": "CPU"
|
||||
"cpu": "Procesor"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
"tx": "TX",
|
||||
"mem": "MEM",
|
||||
"cpu": "CPU",
|
||||
"offline": "Offline"
|
||||
"offline": "Offline",
|
||||
"error": "Error",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"approved": "Aprobate",
|
||||
@@ -21,7 +23,8 @@
|
||||
"overseerr": {
|
||||
"pending": "În așteptare",
|
||||
"approved": "Aprobate",
|
||||
"available": "Disponibile"
|
||||
"available": "Disponibile",
|
||||
"processing": "Processing"
|
||||
},
|
||||
"pihole": {
|
||||
"queries": "Cereri",
|
||||
@@ -60,7 +63,11 @@
|
||||
"widget": {
|
||||
"missing_type": "Lipsește Tipul de Widget: {{type}}",
|
||||
"api_error": "Eroare API",
|
||||
"status": "Status"
|
||||
"status": "Status",
|
||||
"information": "Information",
|
||||
"url": "URL",
|
||||
"raw_error": "Raw Error",
|
||||
"response_data": "Response Data"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Caută…"
|
||||
@@ -112,7 +119,8 @@
|
||||
"radarr": {
|
||||
"queued": "În coadă",
|
||||
"wanted": "Dorite",
|
||||
"movies": "Filme"
|
||||
"movies": "Filme",
|
||||
"missing": "Missing"
|
||||
},
|
||||
"lidarr": {
|
||||
"wanted": "Dorite",
|
||||
@@ -176,30 +184,241 @@
|
||||
"failedLoginsLast24H": "Conectări eșuate (24h)"
|
||||
},
|
||||
"proxmox": {
|
||||
"vms": "VMs",
|
||||
"mem": "MEM",
|
||||
"cpu": "CPU",
|
||||
"lxc": "LXC"
|
||||
"vms": "Masini Virtuale",
|
||||
"mem": "Memorie",
|
||||
"cpu": "Procesor",
|
||||
"lxc": "Container"
|
||||
},
|
||||
"unifi": {
|
||||
"users": "Users",
|
||||
"uptime": "System Uptime",
|
||||
"days": "Days",
|
||||
"users": "Utilizatori",
|
||||
"uptime": "Timp de funcționare a sistemului",
|
||||
"days": "Zile",
|
||||
"wan": "WAN",
|
||||
"lan_users": "LAN Users",
|
||||
"wlan_users": "WLAN Users",
|
||||
"up": "UP",
|
||||
"down": "DOWN",
|
||||
"wait": "Please wait"
|
||||
"lan_users": "Utilizatori LAN",
|
||||
"wlan_users": "Utilizatori WLAN",
|
||||
"up": "Pornit",
|
||||
"down": "Oprit",
|
||||
"wait": "Va rugam asteptati",
|
||||
"lan": "LAN",
|
||||
"wlan": "WLAN",
|
||||
"devices": "Devices",
|
||||
"lan_devices": "LAN Devices",
|
||||
"wlan_devices": "WLAN Devices"
|
||||
},
|
||||
"plex": {
|
||||
"streams": "Active Streams",
|
||||
"movies": "Movies",
|
||||
"tv": "TV Shows"
|
||||
"streams": "Fluxuri active",
|
||||
"movies": "Filme",
|
||||
"tv": "Seriale"
|
||||
},
|
||||
"glances": {
|
||||
"cpu": "CPU",
|
||||
"mem": "MEM",
|
||||
"wait": "Please wait"
|
||||
"cpu": "Procesor",
|
||||
"mem": "Memorie",
|
||||
"wait": "Te rugam sa astepti"
|
||||
},
|
||||
"changedetectionio": {
|
||||
"totalObserved": "Total Observed",
|
||||
"diffsDetected": "Diffs Detected"
|
||||
},
|
||||
"wmo": {
|
||||
"55-day": "Heavy Drizzle",
|
||||
"55-night": "Heavy Drizzle",
|
||||
"77-night": "Snow Grains",
|
||||
"80-day": "Light Showers",
|
||||
"99-night": "Thunderstorm With Hail",
|
||||
"0-day": "Sunny",
|
||||
"0-night": "Clear",
|
||||
"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",
|
||||
"56-day": "Light Freezing Drizzle",
|
||||
"56-night": "Light Freezing Drizzle",
|
||||
"57-day": "Freezing Drizzle",
|
||||
"57-night": "Freezing Drizzle",
|
||||
"63-day": "Rain",
|
||||
"63-night": "Rain",
|
||||
"61-day": "Light Rain",
|
||||
"61-night": "Light Rain",
|
||||
"65-day": "Heavy Rain",
|
||||
"65-night": "Heavy Rain",
|
||||
"66-day": "Freezing Rain",
|
||||
"66-night": "Freezing Rain",
|
||||
"67-day": "Freezing Rain",
|
||||
"67-night": "Freezing Rain",
|
||||
"71-day": "Light Snow",
|
||||
"71-night": "Light Snow",
|
||||
"73-day": "Snow",
|
||||
"73-night": "Snow",
|
||||
"75-day": "Heavy Snow",
|
||||
"75-night": "Heavy Snow",
|
||||
"77-day": "Snow Grains",
|
||||
"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"
|
||||
},
|
||||
"quicklaunch": {
|
||||
"bookmark": "Bookmark",
|
||||
"service": "Service"
|
||||
},
|
||||
"homebridge": {
|
||||
"update_available": "Update Available",
|
||||
"up_to_date": "Up to Date",
|
||||
"child_bridges": "Child Bridges",
|
||||
"available_update": "System",
|
||||
"updates": "Updates",
|
||||
"child_bridges_status": "{{ok}}/{{total}}"
|
||||
},
|
||||
"autobrr": {
|
||||
"approvedPushes": "Approved",
|
||||
"rejectedPushes": "Rejected",
|
||||
"filters": "Filters",
|
||||
"indexers": "Indexers"
|
||||
},
|
||||
"watchtower": {
|
||||
"containers_scanned": "Scanned",
|
||||
"containers_updated": "Updated",
|
||||
"containers_failed": "Failed"
|
||||
},
|
||||
"tubearchivist": {
|
||||
"downloads": "Queue",
|
||||
"videos": "Videos",
|
||||
"channels": "Channels",
|
||||
"playlists": "Playlists"
|
||||
},
|
||||
"truenas": {
|
||||
"load": "System Load",
|
||||
"uptime": "Uptime",
|
||||
"alerts": "Alerts",
|
||||
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
|
||||
},
|
||||
"navidrome": {
|
||||
"nothing_streaming": "No Active Streams",
|
||||
"please_wait": "Please Wait"
|
||||
},
|
||||
"pyload": {
|
||||
"speed": "Speed",
|
||||
"active": "Active",
|
||||
"queue": "Queue",
|
||||
"total": "Total"
|
||||
},
|
||||
"gluetun": {
|
||||
"public_ip": "Public IP",
|
||||
"region": "Region",
|
||||
"country": "Country"
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Channels",
|
||||
"hd": "HD"
|
||||
},
|
||||
"ping": {
|
||||
"error": "Error",
|
||||
"ping": "Ping"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Passed",
|
||||
"failed": "Failed",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"paperlessngx": {
|
||||
"inbox": "Inbox",
|
||||
"total": "Total"
|
||||
},
|
||||
"deluge": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"flood": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"tdarr": {
|
||||
"queue": "Queue",
|
||||
"processed": "Processed",
|
||||
"errored": "Errored",
|
||||
"saved": "Saved"
|
||||
},
|
||||
"miniflux": {
|
||||
"read": "Read",
|
||||
"unread": "Unread"
|
||||
},
|
||||
"nextdns": {
|
||||
"wait": "Please Wait",
|
||||
"no_devices": "No Device Data Received"
|
||||
},
|
||||
"common": {
|
||||
"bibyterate": "{{value, rate(bits: false; binary: true)}}",
|
||||
"bibitrate": "{{value, rate(bits: true; binary: true)}}"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Connected APs",
|
||||
"activeUser": "Active devices",
|
||||
"alerts": "Alerts",
|
||||
"connectedGateway": "Connected gateways",
|
||||
"connectedSwitches": "Connected switches"
|
||||
},
|
||||
"downloadstation": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"mikrotik": {
|
||||
"numberOfLeases": "Leases",
|
||||
"cpuLoad": "CPU Load",
|
||||
"memoryUsed": "Memory Used",
|
||||
"uptime": "Uptime"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"medusa": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"series": "Series"
|
||||
},
|
||||
"octoPrint": {
|
||||
"printer_state": "Status",
|
||||
"temp_tool": "Tool temp",
|
||||
"temp_bed": "Bed temp",
|
||||
"job_completion": "Completion"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,11 @@
|
||||
"widget": {
|
||||
"missing_type": "Отсутствует тип виджета: {{type}}",
|
||||
"api_error": "Ошибка API",
|
||||
"status": "Статус"
|
||||
"status": "Статус",
|
||||
"information": "Информация",
|
||||
"url": "URL",
|
||||
"raw_error": "Raw Error",
|
||||
"response_data": "Данные ответа"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Поиск…"
|
||||
@@ -11,21 +15,23 @@
|
||||
"total": "Всего",
|
||||
"free": "Свободно",
|
||||
"used": "Использовано",
|
||||
"load": "Load",
|
||||
"cpu": "CPU"
|
||||
"load": "Загрузка",
|
||||
"cpu": "Процессор"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "Rx",
|
||||
"tx": "Тx",
|
||||
"mem": "Память",
|
||||
"cpu": "Процессор",
|
||||
"offline": "Не в сети"
|
||||
"offline": "Не в сети",
|
||||
"error": "Ошибка",
|
||||
"unknown": "Неизвестный"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "Воспроизведение",
|
||||
"transcoding": "Транскодирование",
|
||||
"bitrate": "Битрейт",
|
||||
"no_active": "No Active Streams"
|
||||
"no_active": "Нет активных потоков"
|
||||
},
|
||||
"tautulli": {
|
||||
"playing": "Воспроизведение",
|
||||
@@ -46,7 +52,8 @@
|
||||
"radarr": {
|
||||
"wanted": "Хотел",
|
||||
"queued": "В очереди",
|
||||
"movies": "Фильмы"
|
||||
"movies": "Фильмы",
|
||||
"missing": "Missing"
|
||||
},
|
||||
"readarr": {
|
||||
"wanted": "Wanted",
|
||||
@@ -97,7 +104,8 @@
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"available": "Available",
|
||||
"processing": "Processing"
|
||||
},
|
||||
"sabnzbd": {
|
||||
"rate": "Rate",
|
||||
@@ -182,15 +190,20 @@
|
||||
"vms": "VMs"
|
||||
},
|
||||
"unifi": {
|
||||
"users": "Users",
|
||||
"uptime": "System Uptime",
|
||||
"days": "Days",
|
||||
"users": "Пользователи",
|
||||
"uptime": "Время работы системы",
|
||||
"days": "Дней",
|
||||
"wan": "WAN",
|
||||
"lan_users": "LAN Users",
|
||||
"wlan_users": "WLAN Users",
|
||||
"lan_users": "Пользователи LAN",
|
||||
"wlan_users": "Пользователи WLAN",
|
||||
"up": "UP",
|
||||
"down": "DOWN",
|
||||
"wait": "Please wait"
|
||||
"wait": "Подождите",
|
||||
"lan": "LAN",
|
||||
"wlan": "WLAN",
|
||||
"devices": "Устройства",
|
||||
"lan_devices": "Устройства подключённые по LAN",
|
||||
"wlan_devices": "WLAN Devices"
|
||||
},
|
||||
"plex": {
|
||||
"streams": "Active Streams",
|
||||
@@ -201,5 +214,211 @@
|
||||
"cpu": "CPU",
|
||||
"mem": "MEM",
|
||||
"wait": "Please wait"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"quicklaunch": {
|
||||
"bookmark": "Bookmark",
|
||||
"service": "Service"
|
||||
},
|
||||
"homebridge": {
|
||||
"available_update": "System",
|
||||
"updates": "Updates",
|
||||
"update_available": "Update Available",
|
||||
"up_to_date": "Up to Date",
|
||||
"child_bridges_status": "{{ok}}/{{total}}",
|
||||
"child_bridges": "Child Bridges"
|
||||
},
|
||||
"autobrr": {
|
||||
"approvedPushes": "Approved",
|
||||
"rejectedPushes": "Rejected",
|
||||
"filters": "Filters",
|
||||
"indexers": "Indexers"
|
||||
},
|
||||
"watchtower": {
|
||||
"containers_scanned": "Scanned",
|
||||
"containers_updated": "Updated",
|
||||
"containers_failed": "Failed"
|
||||
},
|
||||
"tubearchivist": {
|
||||
"downloads": "Queue",
|
||||
"videos": "Videos",
|
||||
"channels": "Channels",
|
||||
"playlists": "Playlists"
|
||||
},
|
||||
"truenas": {
|
||||
"load": "System Load",
|
||||
"uptime": "Uptime",
|
||||
"alerts": "Alerts",
|
||||
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
|
||||
},
|
||||
"navidrome": {
|
||||
"nothing_streaming": "No Active Streams",
|
||||
"please_wait": "Please Wait"
|
||||
},
|
||||
"pyload": {
|
||||
"speed": "Speed",
|
||||
"active": "Active",
|
||||
"queue": "Queue",
|
||||
"total": "Total"
|
||||
},
|
||||
"gluetun": {
|
||||
"public_ip": "Public IP",
|
||||
"region": "Region",
|
||||
"country": "Country"
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Channels",
|
||||
"hd": "HD"
|
||||
},
|
||||
"ping": {
|
||||
"error": "Ошибка",
|
||||
"ping": "Пинг"
|
||||
},
|
||||
"scrutiny": {
|
||||
"failed": "Failed",
|
||||
"unknown": "Unknown",
|
||||
"passed": "Passed"
|
||||
},
|
||||
"paperlessngx": {
|
||||
"inbox": "Inbox",
|
||||
"total": "Total"
|
||||
},
|
||||
"deluge": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"flood": {
|
||||
"upload": "Upload",
|
||||
"download": "Download",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"tdarr": {
|
||||
"queue": "Queue",
|
||||
"processed": "Processed",
|
||||
"errored": "Errored",
|
||||
"saved": "Saved"
|
||||
},
|
||||
"miniflux": {
|
||||
"read": "Read",
|
||||
"unread": "Unread"
|
||||
},
|
||||
"nextdns": {
|
||||
"wait": "Please Wait",
|
||||
"no_devices": "No Device Data Received"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"downloadstation": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"medusa": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"series": "Series"
|
||||
},
|
||||
"octoPrint": {
|
||||
"printer_state": "Status",
|
||||
"temp_tool": "Tool temp",
|
||||
"temp_bed": "Bed temp",
|
||||
"job_completion": "Completion"
|
||||
}
|
||||
}
|
||||
|
||||
424
public/locales/sr/common.json
Normal file
424
public/locales/sr/common.json
Normal file
@@ -0,0 +1,424 @@
|
||||
{
|
||||
"widget": {
|
||||
"missing_type": "Missing Widget Type: {{type}}",
|
||||
"api_error": "API Error",
|
||||
"status": "Status",
|
||||
"information": "Information",
|
||||
"url": "URL",
|
||||
"raw_error": "Raw Error",
|
||||
"response_data": "Response Data"
|
||||
},
|
||||
"weather": {
|
||||
"current": "Current Location",
|
||||
"allow": "Click to allow",
|
||||
"updating": "Updating",
|
||||
"wait": "Please wait"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Search…"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "CPU",
|
||||
"total": "Total",
|
||||
"free": "Free",
|
||||
"used": "Used",
|
||||
"load": "Load"
|
||||
},
|
||||
"unifi": {
|
||||
"users": "Users",
|
||||
"uptime": "System Uptime",
|
||||
"days": "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",
|
||||
"up": "UP",
|
||||
"down": "DOWN",
|
||||
"wait": "Please wait"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
"tx": "TX",
|
||||
"mem": "MEM",
|
||||
"cpu": "CPU",
|
||||
"offline": "Offline",
|
||||
"error": "Error",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "Playing",
|
||||
"transcoding": "Transcoding",
|
||||
"bitrate": "Bitrate",
|
||||
"no_active": "No Active Streams"
|
||||
},
|
||||
"tautulli": {
|
||||
"playing": "Playing",
|
||||
"transcoding": "Transcoding",
|
||||
"bitrate": "Bitrate",
|
||||
"no_active": "No Active Streams"
|
||||
},
|
||||
"nzbget": {
|
||||
"rate": "Rate",
|
||||
"remaining": "Remaining",
|
||||
"downloaded": "Downloaded"
|
||||
},
|
||||
"plex": {
|
||||
"streams": "Active Streams",
|
||||
"movies": "Movies",
|
||||
"tv": "TV Shows"
|
||||
},
|
||||
"sabnzbd": {
|
||||
"rate": "Rate",
|
||||
"queue": "Queue",
|
||||
"timeleft": "Time Left"
|
||||
},
|
||||
"rutorrent": {
|
||||
"active": "Active",
|
||||
"upload": "Upload",
|
||||
"download": "Download"
|
||||
},
|
||||
"transmission": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"qbittorrent": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"sonarr": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"series": "Series"
|
||||
},
|
||||
"radarr": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"movies": "Movies",
|
||||
"missing": "Missing"
|
||||
},
|
||||
"lidarr": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"albums": "Albums"
|
||||
},
|
||||
"readarr": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"books": "Books"
|
||||
},
|
||||
"bazarr": {
|
||||
"missingEpisodes": "Missing Episodes",
|
||||
"missingMovies": "Missing Movies"
|
||||
},
|
||||
"ombi": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available",
|
||||
"processing": "Processing"
|
||||
},
|
||||
"pihole": {
|
||||
"queries": "Queries",
|
||||
"blocked": "Blocked",
|
||||
"gravity": "Gravity"
|
||||
},
|
||||
"adguard": {
|
||||
"queries": "Queries",
|
||||
"blocked": "Blocked",
|
||||
"filtered": "Filtered",
|
||||
"latency": "Latency"
|
||||
},
|
||||
"speedtest": {
|
||||
"upload": "Upload",
|
||||
"download": "Download",
|
||||
"ping": "Ping"
|
||||
},
|
||||
"portainer": {
|
||||
"running": "Running",
|
||||
"stopped": "Stopped",
|
||||
"total": "Total"
|
||||
},
|
||||
"traefik": {
|
||||
"routers": "Routers",
|
||||
"services": "Services",
|
||||
"middleware": "Middleware"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"jackett": {
|
||||
"configured": "Configured",
|
||||
"errored": "Errored"
|
||||
},
|
||||
"strelaysrv": {
|
||||
"numActiveSessions": "Sessions",
|
||||
"numConnections": "Connections",
|
||||
"dataRelayed": "Relayed",
|
||||
"transferRate": "Rate"
|
||||
},
|
||||
"mastodon": {
|
||||
"user_count": "Users",
|
||||
"status_count": "Posts",
|
||||
"domain_count": "Domains"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"changedetectionio": {
|
||||
"totalObserved": "Total Observed",
|
||||
"diffsDetected": "Diffs Detected"
|
||||
},
|
||||
"wmo": {
|
||||
"48-night": "Foggy",
|
||||
"51-day": "Light Drizzle",
|
||||
"51-night": "Light Drizzle",
|
||||
"53-day": "Drizzle",
|
||||
"99-night": "Thunderstorm With Hail",
|
||||
"0-day": "Sunny",
|
||||
"0-night": "Clear",
|
||||
"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",
|
||||
"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",
|
||||
"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"
|
||||
},
|
||||
"quicklaunch": {
|
||||
"bookmark": "Bookmark",
|
||||
"service": "Service"
|
||||
},
|
||||
"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}}"
|
||||
},
|
||||
"autobrr": {
|
||||
"approvedPushes": "Approved",
|
||||
"rejectedPushes": "Rejected",
|
||||
"filters": "Filters",
|
||||
"indexers": "Indexers"
|
||||
},
|
||||
"watchtower": {
|
||||
"containers_scanned": "Scanned",
|
||||
"containers_updated": "Updated",
|
||||
"containers_failed": "Failed"
|
||||
},
|
||||
"tubearchivist": {
|
||||
"downloads": "Queue",
|
||||
"videos": "Videos",
|
||||
"channels": "Channels",
|
||||
"playlists": "Playlists"
|
||||
},
|
||||
"truenas": {
|
||||
"load": "System Load",
|
||||
"uptime": "Uptime",
|
||||
"alerts": "Alerts",
|
||||
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
|
||||
},
|
||||
"navidrome": {
|
||||
"nothing_streaming": "No Active Streams",
|
||||
"please_wait": "Please Wait"
|
||||
},
|
||||
"pyload": {
|
||||
"speed": "Speed",
|
||||
"active": "Active",
|
||||
"queue": "Queue",
|
||||
"total": "Total"
|
||||
},
|
||||
"gluetun": {
|
||||
"public_ip": "Public IP",
|
||||
"region": "Region",
|
||||
"country": "Country"
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Channels",
|
||||
"hd": "HD"
|
||||
},
|
||||
"ping": {
|
||||
"error": "Error",
|
||||
"ping": "Ping"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Passed",
|
||||
"failed": "Failed",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"paperlessngx": {
|
||||
"inbox": "Inbox",
|
||||
"total": "Total"
|
||||
},
|
||||
"deluge": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"flood": {
|
||||
"download": "Download",
|
||||
"seed": "Seed",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech"
|
||||
},
|
||||
"tdarr": {
|
||||
"queue": "Queue",
|
||||
"processed": "Processed",
|
||||
"errored": "Errored",
|
||||
"saved": "Saved"
|
||||
},
|
||||
"miniflux": {
|
||||
"read": "Read",
|
||||
"unread": "Unread"
|
||||
},
|
||||
"nextdns": {
|
||||
"wait": "Please Wait",
|
||||
"no_devices": "No Device Data Received"
|
||||
},
|
||||
"common": {
|
||||
"bibyterate": "{{value, rate(bits: false; binary: true)}}",
|
||||
"bibitrate": "{{value, rate(bits: true; binary: true)}}"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Connected APs",
|
||||
"activeUser": "Active devices",
|
||||
"alerts": "Alerts",
|
||||
"connectedGateway": "Connected gateways",
|
||||
"connectedSwitches": "Connected switches"
|
||||
},
|
||||
"downloadstation": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"medusa": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"series": "Series"
|
||||
},
|
||||
"octoPrint": {
|
||||
"printer_state": "Status",
|
||||
"temp_tool": "Tool temp",
|
||||
"temp_bed": "Bed temp",
|
||||
"job_completion": "Completion"
|
||||
}
|
||||
}
|
||||
@@ -2,7 +2,11 @@
|
||||
"widget": {
|
||||
"missing_type": "Saknar Widget-typ: {{type}}",
|
||||
"api_error": "API-fel",
|
||||
"status": "Status"
|
||||
"status": "Status",
|
||||
"information": "Information",
|
||||
"url": "URL",
|
||||
"raw_error": "Raw Error",
|
||||
"response_data": "Response Data"
|
||||
},
|
||||
"weather": {
|
||||
"current": "Nuvarande plats",
|
||||
@@ -22,7 +26,9 @@
|
||||
"tx": "TX",
|
||||
"mem": "MEM",
|
||||
"cpu": "CPU",
|
||||
"offline": "Offline"
|
||||
"offline": "Offline",
|
||||
"error": "Error",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Sök…"
|
||||
@@ -68,7 +74,8 @@
|
||||
"radarr": {
|
||||
"wanted": "Eftersöker",
|
||||
"queued": "I kö",
|
||||
"movies": "Filmer"
|
||||
"movies": "Filmer",
|
||||
"missing": "Missing"
|
||||
},
|
||||
"lidarr": {
|
||||
"wanted": "Eftersöker",
|
||||
@@ -97,7 +104,8 @@
|
||||
"overseerr": {
|
||||
"pending": "Avvaktar",
|
||||
"approved": "Godkända",
|
||||
"available": "Tillgänglig"
|
||||
"available": "Tillgänglig",
|
||||
"processing": "Processing"
|
||||
},
|
||||
"pihole": {
|
||||
"blocked": "Blockerad",
|
||||
@@ -171,9 +179,9 @@
|
||||
"transferRate": "Rate"
|
||||
},
|
||||
"authentik": {
|
||||
"users": "Users",
|
||||
"loginsLast24H": "Logins (24h)",
|
||||
"failedLoginsLast24H": "Failed Logins (24h)"
|
||||
"users": "Användare",
|
||||
"loginsLast24H": "Inloggningar (24h)",
|
||||
"failedLoginsLast24H": "Misslyckade inloggningar (24h)"
|
||||
},
|
||||
"proxmox": {
|
||||
"mem": "MEM",
|
||||
@@ -182,24 +190,235 @@
|
||||
"vms": "VMs"
|
||||
},
|
||||
"unifi": {
|
||||
"users": "Users",
|
||||
"uptime": "System Uptime",
|
||||
"days": "Days",
|
||||
"users": "Användare",
|
||||
"uptime": "Upptid",
|
||||
"days": "Dagar",
|
||||
"wan": "WAN",
|
||||
"lan_users": "LAN Users",
|
||||
"wlan_users": "WLAN Users",
|
||||
"up": "UP",
|
||||
"down": "DOWN",
|
||||
"wait": "Please wait"
|
||||
"lan_users": "LAN-användare",
|
||||
"wlan_users": "WLAN-användare",
|
||||
"up": "SKICKAT",
|
||||
"down": "MOTTAGIT",
|
||||
"wait": "Vänligen vänta",
|
||||
"lan": "LAN",
|
||||
"wlan": "WLAN",
|
||||
"devices": "Devices",
|
||||
"lan_devices": "LAN Devices",
|
||||
"wlan_devices": "WLAN Devices"
|
||||
},
|
||||
"plex": {
|
||||
"streams": "Active Streams",
|
||||
"movies": "Movies",
|
||||
"tv": "TV Shows"
|
||||
"streams": "Aktiva strömmar",
|
||||
"movies": "Filmer",
|
||||
"tv": "TV-serier"
|
||||
},
|
||||
"glances": {
|
||||
"cpu": "CPU",
|
||||
"mem": "MEM",
|
||||
"wait": "Please wait"
|
||||
"wait": "Vänligen vänta"
|
||||
},
|
||||
"changedetectionio": {
|
||||
"totalObserved": "Total Observed",
|
||||
"diffsDetected": "Diffs Detected"
|
||||
},
|
||||
"wmo": {
|
||||
"1-day": "Mainly Sunny",
|
||||
"1-night": "Mainly Clear",
|
||||
"2-day": "Partly Cloudy",
|
||||
"2-night": "Partly Cloudy",
|
||||
"0-day": "Sunny",
|
||||
"0-night": "Clear",
|
||||
"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",
|
||||
"71-night": "Light Snow",
|
||||
"73-day": "Snow",
|
||||
"75-night": "Heavy Snow",
|
||||
"77-day": "Snow Grains",
|
||||
"73-night": "Snow",
|
||||
"77-night": "Snow Grains",
|
||||
"75-day": "Heavy Snow",
|
||||
"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",
|
||||
"96-night": "Thunderstorm With Hail",
|
||||
"99-day": "Thunderstorm With Hail",
|
||||
"95-night": "Thunderstorm",
|
||||
"99-night": "Thunderstorm With Hail",
|
||||
"96-day": "Thunderstorm With Hail"
|
||||
},
|
||||
"quicklaunch": {
|
||||
"bookmark": "Bookmark",
|
||||
"service": "Service"
|
||||
},
|
||||
"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}}"
|
||||
},
|
||||
"autobrr": {
|
||||
"approvedPushes": "Approved",
|
||||
"rejectedPushes": "Rejected",
|
||||
"filters": "Filters",
|
||||
"indexers": "Indexers"
|
||||
},
|
||||
"watchtower": {
|
||||
"containers_scanned": "Scanned",
|
||||
"containers_updated": "Updated",
|
||||
"containers_failed": "Failed"
|
||||
},
|
||||
"tubearchivist": {
|
||||
"downloads": "Queue",
|
||||
"videos": "Videos",
|
||||
"channels": "Channels",
|
||||
"playlists": "Playlists"
|
||||
},
|
||||
"truenas": {
|
||||
"load": "System Load",
|
||||
"uptime": "Uptime",
|
||||
"alerts": "Alerts",
|
||||
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
|
||||
},
|
||||
"navidrome": {
|
||||
"nothing_streaming": "No Active Streams",
|
||||
"please_wait": "Please Wait"
|
||||
},
|
||||
"pyload": {
|
||||
"speed": "Speed",
|
||||
"active": "Active",
|
||||
"queue": "Queue",
|
||||
"total": "Total"
|
||||
},
|
||||
"gluetun": {
|
||||
"public_ip": "Public IP",
|
||||
"region": "Region",
|
||||
"country": "Country"
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Channels",
|
||||
"hd": "HD"
|
||||
},
|
||||
"ping": {
|
||||
"error": "Error",
|
||||
"ping": "Ping"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Passed",
|
||||
"failed": "Failed",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"paperlessngx": {
|
||||
"inbox": "Inbox",
|
||||
"total": "Total"
|
||||
},
|
||||
"deluge": {
|
||||
"download": "Download",
|
||||
"leech": "Leech",
|
||||
"upload": "Upload",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"flood": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"tdarr": {
|
||||
"queue": "Queue",
|
||||
"processed": "Processed",
|
||||
"errored": "Errored",
|
||||
"saved": "Saved"
|
||||
},
|
||||
"miniflux": {
|
||||
"read": "Read",
|
||||
"unread": "Unread"
|
||||
},
|
||||
"nextdns": {
|
||||
"wait": "Please Wait",
|
||||
"no_devices": "No Device Data Received"
|
||||
},
|
||||
"common": {
|
||||
"bibyterate": "{{value, rate(bits: false; binary: true)}}",
|
||||
"bibitrate": "{{value, rate(bits: true; binary: true)}}"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Connected APs",
|
||||
"activeUser": "Active devices",
|
||||
"alerts": "Alerts",
|
||||
"connectedGateway": "Connected gateways",
|
||||
"connectedSwitches": "Connected switches"
|
||||
},
|
||||
"downloadstation": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"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": {
|
||||
"print_progress": "Progress",
|
||||
"printer_state": "Printer State",
|
||||
"print_status": "Print Status",
|
||||
"layers": "Layers"
|
||||
},
|
||||
"medusa": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"series": "Series"
|
||||
},
|
||||
"octoPrint": {
|
||||
"printer_state": "Status",
|
||||
"temp_tool": "Tool temp",
|
||||
"temp_bed": "Bed temp",
|
||||
"job_completion": "Completion"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,7 +19,11 @@
|
||||
"widget": {
|
||||
"missing_type": "విడ్జెట్ లేదు: {{type}}",
|
||||
"api_error": "API లోపం",
|
||||
"status": "హోదా"
|
||||
"status": "హోదా",
|
||||
"information": "Information",
|
||||
"url": "URL",
|
||||
"raw_error": "Raw Error",
|
||||
"response_data": "Response Data"
|
||||
},
|
||||
"weather": {
|
||||
"current": "ప్రస్తుత స్తలం",
|
||||
@@ -42,7 +46,9 @@
|
||||
"tx": "TX",
|
||||
"mem": "MEM",
|
||||
"cpu": "సీపియూ",
|
||||
"offline": "ఆఫ్లైన్"
|
||||
"offline": "ఆఫ్లైన్",
|
||||
"error": "Error",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "ఆడుతున్నారు",
|
||||
@@ -91,7 +97,8 @@
|
||||
"radarr": {
|
||||
"wanted": "కావలెను",
|
||||
"queued": "క్యూయూఎడ్",
|
||||
"movies": "సినిమాలు"
|
||||
"movies": "సినిమాలు",
|
||||
"missing": "మిస్సింగ్"
|
||||
},
|
||||
"lidarr": {
|
||||
"wanted": "కావలెను",
|
||||
@@ -115,7 +122,8 @@
|
||||
"overseerr": {
|
||||
"pending": "పెండింగ్",
|
||||
"approved": "ఆమోదించబడింది",
|
||||
"available": "అందుబాటులో"
|
||||
"available": "అందుబాటులో",
|
||||
"processing": "Processing"
|
||||
},
|
||||
"pihole": {
|
||||
"queries": "ప్రశ్నలు",
|
||||
@@ -190,7 +198,12 @@
|
||||
"wlan_users": "WLAN వినియోగదారులు",
|
||||
"up": "అప్",
|
||||
"down": "డౌన్",
|
||||
"wait": "దయచేసి వేచి ఉండండి"
|
||||
"wait": "దయచేసి వేచి ఉండండి",
|
||||
"lan": "లాన్",
|
||||
"wlan": "WLAN",
|
||||
"devices": "పరికరాలు",
|
||||
"lan_devices": "LAN పరికరాలు",
|
||||
"wlan_devices": "WLAN పరికరాలు"
|
||||
},
|
||||
"plex": {
|
||||
"streams": "యాక్టివ్ స్ట్రీమ్లు",
|
||||
@@ -198,8 +211,214 @@
|
||||
"tv": "దూరదర్శిని కార్యక్రమాలు"
|
||||
},
|
||||
"glances": {
|
||||
"cpu": "CPU",
|
||||
"cpu": "సీపియూ",
|
||||
"mem": "MEM",
|
||||
"wait": "Please wait"
|
||||
"wait": "దయచేసి వేచి ఉండండి"
|
||||
},
|
||||
"changedetectionio": {
|
||||
"totalObserved": "మొత్తం గమనించబడింది",
|
||||
"diffsDetected": "తేడాలు గుర్తించబడ్డాయి"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "సన్నీ",
|
||||
"0-night": "స్పష్టమైన",
|
||||
"57-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": "మంచు జల్లులు",
|
||||
"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": "గడ్డకట్టే చినుకులు",
|
||||
"61-day": "తేలికపాటి వర్షం",
|
||||
"61-night": "తేలికపాటి వర్షం",
|
||||
"63-day": "వర్షం",
|
||||
"63-night": "వర్షం",
|
||||
"65-day": "భారీవర్షం",
|
||||
"65-night": "భారీవర్షం",
|
||||
"66-day": "గడ్డకట్టే వర్షం",
|
||||
"66-night": "గడ్డకట్టే వర్షం",
|
||||
"67-day": "గడ్డకట్టే వర్షం",
|
||||
"67-night": "గడ్డకట్టే వర్షం",
|
||||
"71-day": "తేలికపాటి మంచు",
|
||||
"71-night": "తేలికపాటి మంచు",
|
||||
"86-day": "మంచు జల్లులు",
|
||||
"86-night": "మంచు జల్లులు",
|
||||
"95-day": "ఉరుము",
|
||||
"95-night": "ఉరుము",
|
||||
"96-day": "వడగళ్లతో కూడిన ఉరుములతో కూడిన వర్షం",
|
||||
"96-night": "వడగళ్లతో కూడిన ఉరుములతో కూడిన వర్షం",
|
||||
"99-day": "వడగళ్లతో కూడిన ఉరుములతో కూడిన వర్షం",
|
||||
"99-night": "వడగళ్లతో కూడిన ఉరుములతో కూడిన వర్షం"
|
||||
},
|
||||
"quicklaunch": {
|
||||
"bookmark": "బుక్మార్క్",
|
||||
"service": "సేవ"
|
||||
},
|
||||
"homebridge": {
|
||||
"available_update": "వ్యవస్థ",
|
||||
"updates": "నవీకరణలు",
|
||||
"update_available": "అందుబాటులో నవీకరణ",
|
||||
"up_to_date": "తాజాగా",
|
||||
"child_bridges": "పిల్ల వంతెనలు",
|
||||
"child_bridges_status": "{{ok}}/{{total}}"
|
||||
},
|
||||
"autobrr": {
|
||||
"rejectedPushes": "తిరస్కరించారు",
|
||||
"approvedPushes": "ఆమోదించబడింది",
|
||||
"filters": "ఫిల్టర్లు",
|
||||
"indexers": "సూచికలు"
|
||||
},
|
||||
"watchtower": {
|
||||
"containers_scanned": "స్కాన్ చేశారు",
|
||||
"containers_updated": "నవీకరించబడింది",
|
||||
"containers_failed": "విఫలమయ్యారు"
|
||||
},
|
||||
"tubearchivist": {
|
||||
"downloads": "Queue",
|
||||
"videos": "Videos",
|
||||
"channels": "Channels",
|
||||
"playlists": "Playlists"
|
||||
},
|
||||
"truenas": {
|
||||
"load": "System Load",
|
||||
"uptime": "Uptime",
|
||||
"alerts": "Alerts",
|
||||
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
|
||||
},
|
||||
"navidrome": {
|
||||
"nothing_streaming": "No Active Streams",
|
||||
"please_wait": "Please Wait"
|
||||
},
|
||||
"pyload": {
|
||||
"speed": "Speed",
|
||||
"active": "Active",
|
||||
"queue": "Queue",
|
||||
"total": "Total"
|
||||
},
|
||||
"gluetun": {
|
||||
"public_ip": "Public IP",
|
||||
"region": "Region",
|
||||
"country": "Country"
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Channels",
|
||||
"hd": "HD"
|
||||
},
|
||||
"ping": {
|
||||
"error": "Error",
|
||||
"ping": "Ping"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Passed",
|
||||
"failed": "Failed",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"paperlessngx": {
|
||||
"inbox": "Inbox",
|
||||
"total": "Total"
|
||||
},
|
||||
"deluge": {
|
||||
"seed": "Seed",
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech"
|
||||
},
|
||||
"flood": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"tdarr": {
|
||||
"queue": "Queue",
|
||||
"processed": "Processed",
|
||||
"errored": "Errored",
|
||||
"saved": "Saved"
|
||||
},
|
||||
"miniflux": {
|
||||
"read": "Read",
|
||||
"unread": "Unread"
|
||||
},
|
||||
"nextdns": {
|
||||
"wait": "Please Wait",
|
||||
"no_devices": "No Device Data Received"
|
||||
},
|
||||
"common": {
|
||||
"bibyterate": "{{value, rate(bits: false; binary: true)}}",
|
||||
"bibitrate": "{{value, rate(bits: true; binary: true)}}"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Connected APs",
|
||||
"activeUser": "Active devices",
|
||||
"alerts": "Alerts",
|
||||
"connectedGateway": "Connected gateways",
|
||||
"connectedSwitches": "Connected switches"
|
||||
},
|
||||
"downloadstation": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"mikrotik": {
|
||||
"cpuLoad": "CPU Load",
|
||||
"uptime": "Uptime",
|
||||
"numberOfLeases": "Leases",
|
||||
"memoryUsed": "Memory Used"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"medusa": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"series": "Series"
|
||||
},
|
||||
"octoPrint": {
|
||||
"printer_state": "Status",
|
||||
"temp_tool": "Tool temp",
|
||||
"temp_bed": "Bed temp",
|
||||
"job_completion": "Completion"
|
||||
}
|
||||
}
|
||||
|
||||
424
public/locales/tr/common.json
Normal file
424
public/locales/tr/common.json
Normal file
@@ -0,0 +1,424 @@
|
||||
{
|
||||
"widget": {
|
||||
"missing_type": "Kayıp Araç Türü: {{type}}",
|
||||
"api_error": "API Hatası",
|
||||
"status": "Durum",
|
||||
"information": "Information",
|
||||
"url": "URL",
|
||||
"raw_error": "Raw Error",
|
||||
"response_data": "Response Data"
|
||||
},
|
||||
"weather": {
|
||||
"current": "Mevcut Konum",
|
||||
"allow": "İzin vermek için tıklayın",
|
||||
"updating": "Güncelleniyor",
|
||||
"wait": "Lütfen bekleyin"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Ara…"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "İşlemci",
|
||||
"total": "Toplam",
|
||||
"free": "Boşta",
|
||||
"used": "Kullanımda",
|
||||
"load": "Yük"
|
||||
},
|
||||
"unifi": {
|
||||
"users": "Kullanıcılar",
|
||||
"uptime": "Çalışma Süresi",
|
||||
"days": "Günler",
|
||||
"wan": "WAN",
|
||||
"lan_users": "LAN Kullanıcıları",
|
||||
"wlan_users": "WLAN Kullanıcıları",
|
||||
"up": "Yukarı",
|
||||
"down": "Aşağı",
|
||||
"wait": "Lütfen bekleyin",
|
||||
"lan": "LAN",
|
||||
"wlan": "WLAN",
|
||||
"devices": "Aygıtlar",
|
||||
"lan_devices": "LAN Aygıtları",
|
||||
"wlan_devices": "WLAN Aygıtları"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "Gelen Veri",
|
||||
"tx": "Giden Veri",
|
||||
"mem": "Bellek",
|
||||
"cpu": "İşlemci",
|
||||
"offline": "Çevrimdışı",
|
||||
"error": "Error",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "Oynatılıyor",
|
||||
"transcoding": "Dönüştürülüyor",
|
||||
"bitrate": "Bit Oranı",
|
||||
"no_active": "Aktif akış yok"
|
||||
},
|
||||
"tautulli": {
|
||||
"playing": "Oynatılıyor",
|
||||
"transcoding": "Dönüştürülüyor",
|
||||
"bitrate": "Bit Oranı",
|
||||
"no_active": "Aktif akış yok"
|
||||
},
|
||||
"nzbget": {
|
||||
"rate": "Oran",
|
||||
"remaining": "Kalan",
|
||||
"downloaded": "İndirilen"
|
||||
},
|
||||
"plex": {
|
||||
"streams": "Aktif Akış",
|
||||
"movies": "Filmler",
|
||||
"tv": "TV Showları"
|
||||
},
|
||||
"sabnzbd": {
|
||||
"rate": "Oran",
|
||||
"queue": "Kuyruk",
|
||||
"timeleft": "Kalan Zaman"
|
||||
},
|
||||
"rutorrent": {
|
||||
"active": "Aktif",
|
||||
"upload": "Yükleme",
|
||||
"download": "İndirme"
|
||||
},
|
||||
"transmission": {
|
||||
"download": "İndirme",
|
||||
"upload": "Yükleme",
|
||||
"leech": "İsteyen",
|
||||
"seed": "Sunan"
|
||||
},
|
||||
"qbittorrent": {
|
||||
"download": "İndirme",
|
||||
"upload": "Yükleme",
|
||||
"leech": "İsteyen",
|
||||
"seed": "Sunan"
|
||||
},
|
||||
"sonarr": {
|
||||
"wanted": "Aranan",
|
||||
"queued": "Kuyrukta",
|
||||
"series": "Seriler"
|
||||
},
|
||||
"radarr": {
|
||||
"wanted": "Aranan",
|
||||
"queued": "Kuyrukta",
|
||||
"movies": "Filmler",
|
||||
"missing": "Kayıp"
|
||||
},
|
||||
"lidarr": {
|
||||
"wanted": "Aranan",
|
||||
"queued": "Kuyrukta",
|
||||
"albums": "Albümler"
|
||||
},
|
||||
"readarr": {
|
||||
"wanted": "Aranan",
|
||||
"queued": "Kuyrukta",
|
||||
"books": "Kitaplar"
|
||||
},
|
||||
"bazarr": {
|
||||
"missingEpisodes": "Kayıp Bölümler",
|
||||
"missingMovies": "Kayıp Filmler"
|
||||
},
|
||||
"ombi": {
|
||||
"pending": "Bekliyor",
|
||||
"approved": "Onaylı",
|
||||
"available": "Kullanılabilir"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"pending": "Bekliyor",
|
||||
"approved": "Onaylı",
|
||||
"available": "Kullanılabilir"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Bekliyor",
|
||||
"approved": "Onaylı",
|
||||
"available": "Kullanılabilir",
|
||||
"processing": "Processing"
|
||||
},
|
||||
"pihole": {
|
||||
"queries": "Sorgular",
|
||||
"blocked": "Engellenen",
|
||||
"gravity": "Yer Çekimi"
|
||||
},
|
||||
"adguard": {
|
||||
"queries": "Sorgular",
|
||||
"blocked": "Engellenen",
|
||||
"filtered": "Filtrelenen",
|
||||
"latency": "Gecikme"
|
||||
},
|
||||
"speedtest": {
|
||||
"upload": "Yükleme",
|
||||
"download": "İndirme",
|
||||
"ping": "Ping"
|
||||
},
|
||||
"portainer": {
|
||||
"running": "Çalışıyor",
|
||||
"stopped": "Durduruldu",
|
||||
"total": "Toplam"
|
||||
},
|
||||
"traefik": {
|
||||
"routers": "Yönlendiriciler",
|
||||
"services": "Hizmetler",
|
||||
"middleware": "Ara Katman"
|
||||
},
|
||||
"npm": {
|
||||
"enabled": "Etkin",
|
||||
"disabled": "Devre Dışı",
|
||||
"total": "Toplam"
|
||||
},
|
||||
"coinmarketcap": {
|
||||
"configure": "İzleme için bir veya daha fazla kripto para birimi yapılandırın",
|
||||
"1hour": "1 Saat",
|
||||
"1day": "1 Gün",
|
||||
"7days": "7 Gün",
|
||||
"30days": "30 Gün"
|
||||
},
|
||||
"gotify": {
|
||||
"apps": "Uygulamalar",
|
||||
"clients": "Alıcılar",
|
||||
"messages": "İletiler"
|
||||
},
|
||||
"prowlarr": {
|
||||
"enableIndexers": "Dizin Oluşturucular",
|
||||
"numberOfGrabs": "Yakalama Sayısı",
|
||||
"numberOfQueries": "Sorgu Sayısı",
|
||||
"numberOfFailGrabs": "Başarısız Yakalama Sayısı",
|
||||
"numberOfFailQueries": "Başarısız Sorgu Sayısı"
|
||||
},
|
||||
"jackett": {
|
||||
"configured": "Yapılandırılmış",
|
||||
"errored": "Hatalı"
|
||||
},
|
||||
"strelaysrv": {
|
||||
"numActiveSessions": "Aktif Sezonlar",
|
||||
"numConnections": "Bağlantı Sayısı",
|
||||
"dataRelayed": "Aktarılan",
|
||||
"transferRate": "Oran"
|
||||
},
|
||||
"mastodon": {
|
||||
"user_count": "Kullanıcılar",
|
||||
"status_count": "Gönderiler",
|
||||
"domain_count": "Etki Alanları"
|
||||
},
|
||||
"authentik": {
|
||||
"users": "Kullanıcılar",
|
||||
"loginsLast24H": "Girişler (24 Saat)",
|
||||
"failedLoginsLast24H": "Başarısız Girişler (24 Saat)"
|
||||
},
|
||||
"proxmox": {
|
||||
"mem": "Bellek",
|
||||
"cpu": "İşlemci",
|
||||
"lxc": "LXC",
|
||||
"vms": "Sanal Makineler"
|
||||
},
|
||||
"glances": {
|
||||
"cpu": "İşlemci",
|
||||
"mem": "Bellek",
|
||||
"wait": "Lütfen bekleyiniz"
|
||||
},
|
||||
"changedetectionio": {
|
||||
"totalObserved": "Toplam Gözlenen",
|
||||
"diffsDetected": "Farklar Algılandı"
|
||||
},
|
||||
"wmo": {
|
||||
"99-day": "Dolu İle Gök Gürültülü Fırtına",
|
||||
"0-day": "Güneşli",
|
||||
"0-night": "Açık",
|
||||
"1-day": "Çoğunlukla Güneşli",
|
||||
"1-night": "Çoğunlukla Açık",
|
||||
"2-day": "Parçalı Bulutlu",
|
||||
"2-night": "Parçalı Bulutlu",
|
||||
"3-day": "Bulutlu",
|
||||
"3-night": "Bulutlu",
|
||||
"45-day": "Sisli",
|
||||
"45-night": "Sisli",
|
||||
"48-day": "Sisli",
|
||||
"48-night": "Sisli",
|
||||
"51-day": "Az Çiseleyen Yağmur",
|
||||
"51-night": "Az Çiseleyen Yağmur",
|
||||
"53-day": "Çiseleyen Yağmur",
|
||||
"53-night": "Çiseleyen Yağmur",
|
||||
"55-day": "Çok Çiseleyen Yağmur",
|
||||
"55-night": "Çok Çiseleyen Yağmur",
|
||||
"56-day": "Soğuk Az Çiseleyen Yağmur",
|
||||
"56-night": "Soğuk Az Çiseleyen Yağmur",
|
||||
"57-day": "Soğuk Çiseleyen Yağmur",
|
||||
"57-night": "Soğuk Çiseleyen Yağmur",
|
||||
"61-day": "Hafif Yağmur",
|
||||
"61-night": "Hafif Yağmur",
|
||||
"63-day": "Yağmur",
|
||||
"63-night": "Yağmur",
|
||||
"65-day": "Çok Yağmur",
|
||||
"65-night": "Çok Yağmur",
|
||||
"66-day": "Dondurucu Yağmur",
|
||||
"66-night": "Dondurucu Yağmur",
|
||||
"67-day": "Dondurucu Yağmur",
|
||||
"67-night": "Dondurucu Yağmur",
|
||||
"71-day": "Hafif Kar",
|
||||
"71-night": "Hafif Kar",
|
||||
"73-day": "Kar",
|
||||
"73-night": "Kar",
|
||||
"75-day": "Çok Kar",
|
||||
"75-night": "Çok Kar",
|
||||
"77-day": "Kar Taneleri",
|
||||
"77-night": "Kar Taneleri",
|
||||
"80-day": "Hafif Sağanak",
|
||||
"80-night": "Hafif Sağanak",
|
||||
"81-day": "Sağanak",
|
||||
"81-night": "Sağanak",
|
||||
"82-day": "Yoğun Sağanak",
|
||||
"95-night": "Gök Gürültülü Fırtına",
|
||||
"82-night": "Yoğun Sağanak",
|
||||
"85-day": "Karlı Sağanak",
|
||||
"85-night": "Karlı Sağanak",
|
||||
"86-day": "Karlı Sağanak",
|
||||
"86-night": "Karlı Sağanak",
|
||||
"95-day": "Gök Gürültülü Fırtına",
|
||||
"96-day": "Dolu İle Gök Gürültülü Fırtına",
|
||||
"96-night": "Dolu İle Gök Gürültülü Fırtına",
|
||||
"99-night": "Dolu İle Gök Gürültülü Fırtına"
|
||||
},
|
||||
"quicklaunch": {
|
||||
"bookmark": "Yer İmi",
|
||||
"service": "Hizmet"
|
||||
},
|
||||
"homebridge": {
|
||||
"available_update": "Sistem",
|
||||
"updates": "Güncellemeler",
|
||||
"update_available": "Güncelleme Kullanılabilir",
|
||||
"up_to_date": "Güncel",
|
||||
"child_bridges": "Alt Köprüler",
|
||||
"child_bridges_status": "{{ok}}/{{total}}"
|
||||
},
|
||||
"autobrr": {
|
||||
"approvedPushes": "Onaylandı",
|
||||
"rejectedPushes": "Reddedildi",
|
||||
"filters": "Süzgeçler",
|
||||
"indexers": "Dizin Oluşturucular"
|
||||
},
|
||||
"watchtower": {
|
||||
"containers_scanned": "Tarandı",
|
||||
"containers_updated": "Güncellendi",
|
||||
"containers_failed": "Başarısız"
|
||||
},
|
||||
"tubearchivist": {
|
||||
"downloads": "Kuyruk",
|
||||
"videos": "Videolar",
|
||||
"channels": "Kanallar",
|
||||
"playlists": "Oynatma Listeleri"
|
||||
},
|
||||
"truenas": {
|
||||
"load": "Sistem Yükü",
|
||||
"uptime": "Çalışma Süresi",
|
||||
"alerts": "Alarmlar",
|
||||
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
|
||||
},
|
||||
"navidrome": {
|
||||
"nothing_streaming": "Geçerli Akış Yok",
|
||||
"please_wait": "Lütfen Bekleyin"
|
||||
},
|
||||
"pyload": {
|
||||
"speed": "Hız",
|
||||
"active": "Geçerli",
|
||||
"queue": "Kuyruk",
|
||||
"total": "Toplam"
|
||||
},
|
||||
"gluetun": {
|
||||
"public_ip": "Public IP",
|
||||
"region": "Region",
|
||||
"country": "Country"
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Channels",
|
||||
"hd": "HD"
|
||||
},
|
||||
"ping": {
|
||||
"error": "Error",
|
||||
"ping": "Ping"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Passed",
|
||||
"failed": "Failed",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"paperlessngx": {
|
||||
"inbox": "Inbox",
|
||||
"total": "Total"
|
||||
},
|
||||
"deluge": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"flood": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"tdarr": {
|
||||
"queue": "Queue",
|
||||
"processed": "Processed",
|
||||
"errored": "Errored",
|
||||
"saved": "Saved"
|
||||
},
|
||||
"miniflux": {
|
||||
"read": "Read",
|
||||
"unread": "Unread"
|
||||
},
|
||||
"nextdns": {
|
||||
"wait": "Please Wait",
|
||||
"no_devices": "No Device Data Received"
|
||||
},
|
||||
"common": {
|
||||
"bibyterate": "{{value, rate(bits: false; binary: true)}}",
|
||||
"bibitrate": "{{value, rate(bits: true; binary: true)}}"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Connected APs",
|
||||
"activeUser": "Active devices",
|
||||
"alerts": "Alerts",
|
||||
"connectedGateway": "Connected gateways",
|
||||
"connectedSwitches": "Connected switches"
|
||||
},
|
||||
"downloadstation": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"medusa": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"series": "Series"
|
||||
},
|
||||
"octoPrint": {
|
||||
"printer_state": "Status",
|
||||
"temp_tool": "Tool temp",
|
||||
"temp_bed": "Bed temp",
|
||||
"job_completion": "Completion"
|
||||
}
|
||||
}
|
||||
424
public/locales/uk/common.json
Normal file
424
public/locales/uk/common.json
Normal file
@@ -0,0 +1,424 @@
|
||||
{
|
||||
"common": {
|
||||
"bibyterate": "{{value, rate(bits: false; binary: true)}}",
|
||||
"bibitrate": "{{value, rate(bits: true; binary: true)}}"
|
||||
},
|
||||
"omada": {
|
||||
"alerts": "Оповіщення",
|
||||
"connectedGateway": "Підключені шлюзи",
|
||||
"connectedSwitches": "Підключені перемикачі",
|
||||
"connectedAp": "Підключені точки доступу",
|
||||
"activeUser": "Активні пристрої"
|
||||
},
|
||||
"sabnzbd": {
|
||||
"rate": "Швидкість",
|
||||
"queue": "Черга",
|
||||
"timeleft": "Залишилось"
|
||||
},
|
||||
"rutorrent": {
|
||||
"active": "Активний",
|
||||
"upload": "Відправлення",
|
||||
"download": "Завантаження"
|
||||
},
|
||||
"deluge": {
|
||||
"download": "Завантаження",
|
||||
"upload": "Відправлення",
|
||||
"leech": "Ліч",
|
||||
"seed": "Сід"
|
||||
},
|
||||
"readarr": {
|
||||
"wanted": "Розшукується",
|
||||
"queued": "У черзі",
|
||||
"books": "Книжки"
|
||||
},
|
||||
"wmo": {
|
||||
"55-day": "Сильна мряка",
|
||||
"55-night": "Сильна мряка",
|
||||
"56-day": "Невеликий морозний дощ",
|
||||
"56-night": "Невеликий морозний дощ",
|
||||
"0-day": "Сонячно",
|
||||
"0-night": "Ясно",
|
||||
"1-day": "Переважно сонячно",
|
||||
"1-night": "Переважно ясно",
|
||||
"2-day": "Частково хмарно",
|
||||
"2-night": "Частково хмарно",
|
||||
"3-day": "Хмарно",
|
||||
"3-night": "Хмарно",
|
||||
"53-day": "Мряка",
|
||||
"45-day": "Туманно",
|
||||
"45-night": "Туманно",
|
||||
"48-day": "Туманно",
|
||||
"48-night": "Туманно",
|
||||
"51-day": "Легка мряка",
|
||||
"51-night": "Легка мряка",
|
||||
"53-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": "Невеликий сніг",
|
||||
"71-night": "Невеликий сніг",
|
||||
"73-day": "Сніг",
|
||||
"73-night": "Сніг",
|
||||
"75-day": "Снігопад",
|
||||
"75-night": "Снігопад",
|
||||
"77-day": "Снігові зерна",
|
||||
"77-night": "Снігові зерна",
|
||||
"80-day": "Невелика злива",
|
||||
"80-night": "Невелика злива",
|
||||
"81-day": "Злива",
|
||||
"82-day": "Сильна злива",
|
||||
"82-night": "Сильна злива",
|
||||
"81-night": "Злива",
|
||||
"85-day": "Дощ зі снігом",
|
||||
"85-night": "Дощ зі снігом",
|
||||
"86-day": "Дощ зі снігом",
|
||||
"86-night": "Дощ зі снігом",
|
||||
"95-day": "Гроза",
|
||||
"95-night": "Гроза",
|
||||
"96-day": "Гроза з градом",
|
||||
"96-night": "Гроза з градом",
|
||||
"99-day": "Гроза з градом",
|
||||
"99-night": "Гроза з градом"
|
||||
},
|
||||
"pyload": {
|
||||
"speed": "Швидкість",
|
||||
"active": "Активно",
|
||||
"queue": "Черга",
|
||||
"total": "Всього"
|
||||
},
|
||||
"gluetun": {
|
||||
"country": "Країна",
|
||||
"public_ip": "Публічний IP",
|
||||
"region": "Регіон"
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Канали",
|
||||
"hd": "HD"
|
||||
},
|
||||
"widget": {
|
||||
"missing_type": "Відсутній тип віджета: {{type}}",
|
||||
"api_error": "Помилка API",
|
||||
"information": "Інформація",
|
||||
"status": "Стан",
|
||||
"url": "URL",
|
||||
"raw_error": "Помилка Raw",
|
||||
"response_data": "Дані відповіді"
|
||||
},
|
||||
"weather": {
|
||||
"current": "Поточне розташування",
|
||||
"allow": "Натисніть, щоб дозволити",
|
||||
"updating": "Оновлення",
|
||||
"wait": "Будь ласка, зачекайте"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Пошук…"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "CPU",
|
||||
"total": "Всього",
|
||||
"free": "Вільно",
|
||||
"used": "Використано",
|
||||
"load": "Навантаження"
|
||||
},
|
||||
"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": "Будь ласка, зачекайте"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
"tx": "TX",
|
||||
"mem": "Пам'ять",
|
||||
"cpu": "CPU",
|
||||
"offline": "Офлайн",
|
||||
"error": "Помилка",
|
||||
"unknown": "Невідомий"
|
||||
},
|
||||
"ping": {
|
||||
"error": "Помилка",
|
||||
"ping": "Пінг"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "Відтворення",
|
||||
"transcoding": "Перекодування",
|
||||
"bitrate": "Бітрейт",
|
||||
"no_active": "Немає активних потоків"
|
||||
},
|
||||
"flood": {
|
||||
"download": "Завантаження",
|
||||
"upload": "Відправлення",
|
||||
"leech": "Ліч",
|
||||
"seed": "Сід"
|
||||
},
|
||||
"changedetectionio": {
|
||||
"totalObserved": "Всього спостережень",
|
||||
"diffsDetected": "Виявлено відмінності"
|
||||
},
|
||||
"tautulli": {
|
||||
"playing": "Відтворення",
|
||||
"transcoding": "Перекодування",
|
||||
"bitrate": "Бітрейт",
|
||||
"no_active": "Немає активних потоків"
|
||||
},
|
||||
"nzbget": {
|
||||
"rate": "Швидкість",
|
||||
"downloaded": "Завантажено",
|
||||
"remaining": "Залишилося"
|
||||
},
|
||||
"plex": {
|
||||
"streams": "Активні потоки",
|
||||
"movies": "Фільми",
|
||||
"tv": "TБ шоу"
|
||||
},
|
||||
"transmission": {
|
||||
"download": "Завантаження",
|
||||
"upload": "Відправлення",
|
||||
"leech": "Ліч",
|
||||
"seed": "Сід"
|
||||
},
|
||||
"qbittorrent": {
|
||||
"download": "Завантаження",
|
||||
"upload": "Відправлення",
|
||||
"leech": "Ліч",
|
||||
"seed": "Сід"
|
||||
},
|
||||
"downloadstation": {
|
||||
"download": "Завантаження",
|
||||
"upload": "Відправлення",
|
||||
"leech": "Ліч",
|
||||
"seed": "Сід"
|
||||
},
|
||||
"sonarr": {
|
||||
"wanted": "Розшукується",
|
||||
"queued": "У черзі",
|
||||
"series": "Серії"
|
||||
},
|
||||
"radarr": {
|
||||
"wanted": "Розшукується",
|
||||
"missing": "Відсутній",
|
||||
"queued": "У черзі",
|
||||
"movies": "Фільми"
|
||||
},
|
||||
"lidarr": {
|
||||
"wanted": "Розшукується",
|
||||
"queued": "У черзі",
|
||||
"albums": "Альбоми"
|
||||
},
|
||||
"traefik": {
|
||||
"middleware": "Проміжне програмне забезпечення",
|
||||
"routers": "Роутери",
|
||||
"services": "Сервіси"
|
||||
},
|
||||
"navidrome": {
|
||||
"nothing_streaming": "Немає активних потоків",
|
||||
"please_wait": "Будь ласка, зачекайте"
|
||||
},
|
||||
"bazarr": {
|
||||
"missingEpisodes": "Відсутні епізоди",
|
||||
"missingMovies": "Відсутні фільми"
|
||||
},
|
||||
"ombi": {
|
||||
"pending": "В очікуванні",
|
||||
"approved": "Затверджено",
|
||||
"available": "Доступно"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"pending": "В очікуванні",
|
||||
"approved": "Затверджено",
|
||||
"available": "Доступно"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "В очікуванні",
|
||||
"processing": "Обробка",
|
||||
"approved": "Затверджено",
|
||||
"available": "Доступно"
|
||||
},
|
||||
"pihole": {
|
||||
"queries": "Запити",
|
||||
"blocked": "Заблоковано",
|
||||
"gravity": "Гравітація"
|
||||
},
|
||||
"adguard": {
|
||||
"queries": "Запити",
|
||||
"blocked": "Заблоковано",
|
||||
"filtered": "Відфільтровано",
|
||||
"latency": "Затримка"
|
||||
},
|
||||
"speedtest": {
|
||||
"upload": "Відправлення",
|
||||
"download": "Завантаження",
|
||||
"ping": "Пінг"
|
||||
},
|
||||
"portainer": {
|
||||
"running": "Запущено",
|
||||
"stopped": "Зупинено",
|
||||
"total": "Всього"
|
||||
},
|
||||
"tdarr": {
|
||||
"queue": "Черга",
|
||||
"processed": "Обробка",
|
||||
"errored": "Помилка",
|
||||
"saved": "Збережено"
|
||||
},
|
||||
"npm": {
|
||||
"enabled": "Увімкнено",
|
||||
"disabled": "Вимкнено",
|
||||
"total": "Всього"
|
||||
},
|
||||
"coinmarketcap": {
|
||||
"configure": "Налаштуйте одну або кілька криптовалют для відстеження",
|
||||
"1hour": "1 година",
|
||||
"1day": "1 день",
|
||||
"7days": "7 днів",
|
||||
"30days": "30 днів"
|
||||
},
|
||||
"mastodon": {
|
||||
"domain_count": "Домени",
|
||||
"user_count": "Користувачі",
|
||||
"status_count": "Пости"
|
||||
},
|
||||
"miniflux": {
|
||||
"read": "Прочитано",
|
||||
"unread": "Не прочитано"
|
||||
},
|
||||
"gotify": {
|
||||
"apps": "Застосунки",
|
||||
"clients": "Клієнти",
|
||||
"messages": "Повідомлення"
|
||||
},
|
||||
"prowlarr": {
|
||||
"enableIndexers": "Індексатори",
|
||||
"numberOfGrabs": "Захоплення",
|
||||
"numberOfQueries": "Запити",
|
||||
"numberOfFailGrabs": "Невдалі захоплення",
|
||||
"numberOfFailQueries": "Невдалі запити"
|
||||
},
|
||||
"jackett": {
|
||||
"configured": "Налаштовано",
|
||||
"errored": "Помилка"
|
||||
},
|
||||
"strelaysrv": {
|
||||
"numActiveSessions": "Сесії",
|
||||
"numConnections": "Підключення",
|
||||
"dataRelayed": "Ретрансльовано",
|
||||
"transferRate": "Швидкість"
|
||||
},
|
||||
"authentik": {
|
||||
"users": "Користувачі",
|
||||
"loginsLast24H": "Вхід (24 години)",
|
||||
"failedLoginsLast24H": "Невдалі входи (24 години)"
|
||||
},
|
||||
"proxmox": {
|
||||
"mem": "Пам'ять",
|
||||
"cpu": "CPU",
|
||||
"vms": "Віртуальні машини",
|
||||
"lxc": "Контейнери Linux"
|
||||
},
|
||||
"glances": {
|
||||
"cpu": "CPU",
|
||||
"mem": "Пам'ять",
|
||||
"wait": "Будь ласка, зачекайте"
|
||||
},
|
||||
"quicklaunch": {
|
||||
"bookmark": "Закладка",
|
||||
"service": "Сервіс"
|
||||
},
|
||||
"homebridge": {
|
||||
"available_update": "Система",
|
||||
"updates": "Оновлення",
|
||||
"child_bridges_status": "{{ok}}/{{total}}",
|
||||
"update_available": "Доступне оновлення",
|
||||
"up_to_date": "Актуально",
|
||||
"child_bridges": "Дитячі мости"
|
||||
},
|
||||
"watchtower": {
|
||||
"containers_scanned": "Відскановано",
|
||||
"containers_updated": "Оновлено",
|
||||
"containers_failed": "Невдача"
|
||||
},
|
||||
"autobrr": {
|
||||
"approvedPushes": "Схвалено",
|
||||
"rejectedPushes": "Відхилено",
|
||||
"filters": "Фільтри",
|
||||
"indexers": "Індексатори"
|
||||
},
|
||||
"tubearchivist": {
|
||||
"downloads": "Черга",
|
||||
"videos": "Відео",
|
||||
"channels": "Канали",
|
||||
"playlists": "Плейлисти"
|
||||
},
|
||||
"truenas": {
|
||||
"load": "Завантаження системи",
|
||||
"uptime": "Час роботи",
|
||||
"alerts": "Сповіщення",
|
||||
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Пройшов",
|
||||
"failed": "Невдача",
|
||||
"unknown": "Невідомо"
|
||||
},
|
||||
"paperlessngx": {
|
||||
"inbox": "Вхідні",
|
||||
"total": "Всього"
|
||||
},
|
||||
"nextdns": {
|
||||
"wait": "Будь ласка, зачекайте",
|
||||
"no_devices": "Дані про пристрій не отримано"
|
||||
},
|
||||
"mikrotik": {
|
||||
"cpuLoad": "Завантаження CPU",
|
||||
"memoryUsed": "Використана пам'ять",
|
||||
"uptime": "Час роботи",
|
||||
"numberOfLeases": "Оренди"
|
||||
},
|
||||
"xteve": {
|
||||
"streams_all": "Всі потоки",
|
||||
"streams_active": "Активні потоки",
|
||||
"streams_xepg": "Канали XEPG"
|
||||
},
|
||||
"opnsense": {
|
||||
"cpu": "Завантаження CPU",
|
||||
"memory": "Активна пам'ять",
|
||||
"wanUpload": "Вивантаження WAN",
|
||||
"wanDownload": "Завантаження WAN"
|
||||
},
|
||||
"moonraker": {
|
||||
"printer_state": "Стан принтера",
|
||||
"print_status": "Статус друку",
|
||||
"print_progress": "Прогрес",
|
||||
"layers": "Шари"
|
||||
},
|
||||
"medusa": {
|
||||
"wanted": "Розшукується",
|
||||
"queued": "У черзі",
|
||||
"series": "Серії"
|
||||
},
|
||||
"octoPrint": {
|
||||
"printer_state": "Status",
|
||||
"temp_tool": "Tool temp",
|
||||
"temp_bed": "Bed temp",
|
||||
"job_completion": "Completion"
|
||||
}
|
||||
}
|
||||
@@ -2,7 +2,11 @@
|
||||
"widget": {
|
||||
"missing_type": "Thiếu loại Widget: {{type}}",
|
||||
"api_error": "Lỗi API",
|
||||
"status": "Trạng thái"
|
||||
"status": "Trạng thái",
|
||||
"information": "Information",
|
||||
"url": "URL",
|
||||
"raw_error": "Raw Error",
|
||||
"response_data": "Response Data"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Tìm kiếm…"
|
||||
@@ -19,7 +23,9 @@
|
||||
"tx": "TX",
|
||||
"mem": "BỘ NHỚ",
|
||||
"cpu": "CPU",
|
||||
"offline": "Ngoại tuyến"
|
||||
"offline": "Ngoại tuyến",
|
||||
"error": "Error",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "Đang chơi",
|
||||
@@ -46,7 +52,8 @@
|
||||
"radarr": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"movies": "Phim"
|
||||
"movies": "Phim",
|
||||
"missing": "Missing"
|
||||
},
|
||||
"readarr": {
|
||||
"wanted": "Đang tìm",
|
||||
@@ -97,7 +104,8 @@
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Đã duyệt",
|
||||
"available": "Available"
|
||||
"available": "Available",
|
||||
"processing": "Processing"
|
||||
},
|
||||
"sabnzbd": {
|
||||
"rate": "Rate",
|
||||
@@ -190,7 +198,12 @@
|
||||
"wlan_users": "WLAN Users",
|
||||
"up": "UP",
|
||||
"down": "DOWN",
|
||||
"wait": "Please wait"
|
||||
"wait": "Please wait",
|
||||
"lan": "LAN",
|
||||
"wlan": "WLAN",
|
||||
"devices": "Devices",
|
||||
"lan_devices": "LAN Devices",
|
||||
"wlan_devices": "WLAN Devices"
|
||||
},
|
||||
"plex": {
|
||||
"streams": "Active Streams",
|
||||
@@ -201,5 +214,211 @@
|
||||
"cpu": "CPU",
|
||||
"mem": "MEM",
|
||||
"wait": "Please wait"
|
||||
},
|
||||
"changedetectionio": {
|
||||
"totalObserved": "Total Observed",
|
||||
"diffsDetected": "Diffs Detected"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "Sunny",
|
||||
"0-night": "Clear",
|
||||
"63-day": "Rain",
|
||||
"63-night": "Rain",
|
||||
"80-day": "Light Showers",
|
||||
"81-day": "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",
|
||||
"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",
|
||||
"65-day": "Heavy Rain",
|
||||
"65-night": "Heavy Rain",
|
||||
"66-day": "Freezing Rain",
|
||||
"66-night": "Freezing Rain",
|
||||
"67-day": "Freezing Rain",
|
||||
"67-night": "Freezing Rain",
|
||||
"77-night": "Snow Grains",
|
||||
"80-night": "Light Showers",
|
||||
"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",
|
||||
"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"
|
||||
},
|
||||
"quicklaunch": {
|
||||
"bookmark": "Bookmark",
|
||||
"service": "Service"
|
||||
},
|
||||
"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}}"
|
||||
},
|
||||
"autobrr": {
|
||||
"approvedPushes": "Approved",
|
||||
"rejectedPushes": "Rejected",
|
||||
"filters": "Filters",
|
||||
"indexers": "Indexers"
|
||||
},
|
||||
"watchtower": {
|
||||
"containers_scanned": "Scanned",
|
||||
"containers_updated": "Updated",
|
||||
"containers_failed": "Failed"
|
||||
},
|
||||
"tubearchivist": {
|
||||
"downloads": "Queue",
|
||||
"videos": "Videos",
|
||||
"channels": "Channels",
|
||||
"playlists": "Playlists"
|
||||
},
|
||||
"truenas": {
|
||||
"load": "System Load",
|
||||
"uptime": "Uptime",
|
||||
"alerts": "Alerts",
|
||||
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
|
||||
},
|
||||
"navidrome": {
|
||||
"nothing_streaming": "No Active Streams",
|
||||
"please_wait": "Please Wait"
|
||||
},
|
||||
"pyload": {
|
||||
"speed": "Speed",
|
||||
"active": "Active",
|
||||
"queue": "Queue",
|
||||
"total": "Total"
|
||||
},
|
||||
"gluetun": {
|
||||
"public_ip": "Public IP",
|
||||
"region": "Region",
|
||||
"country": "Country"
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Channels",
|
||||
"hd": "HD"
|
||||
},
|
||||
"ping": {
|
||||
"error": "Error",
|
||||
"ping": "Ping"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Passed",
|
||||
"failed": "Failed",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"paperlessngx": {
|
||||
"inbox": "Inbox",
|
||||
"total": "Total"
|
||||
},
|
||||
"deluge": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"flood": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"seed": "Seed",
|
||||
"leech": "Leech"
|
||||
},
|
||||
"tdarr": {
|
||||
"queue": "Queue",
|
||||
"processed": "Processed",
|
||||
"errored": "Errored",
|
||||
"saved": "Saved"
|
||||
},
|
||||
"miniflux": {
|
||||
"read": "Read",
|
||||
"unread": "Unread"
|
||||
},
|
||||
"nextdns": {
|
||||
"wait": "Please Wait",
|
||||
"no_devices": "No Device Data Received"
|
||||
},
|
||||
"common": {
|
||||
"bibyterate": "{{value, rate(bits: false; binary: true)}}",
|
||||
"bibitrate": "{{value, rate(bits: true; binary: true)}}"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Connected APs",
|
||||
"activeUser": "Active devices",
|
||||
"alerts": "Alerts",
|
||||
"connectedGateway": "Connected gateways",
|
||||
"connectedSwitches": "Connected switches"
|
||||
},
|
||||
"downloadstation": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"mikrotik": {
|
||||
"uptime": "Uptime",
|
||||
"numberOfLeases": "Leases",
|
||||
"cpuLoad": "CPU Load",
|
||||
"memoryUsed": "Memory Used"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"medusa": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"series": "Series"
|
||||
},
|
||||
"octoPrint": {
|
||||
"printer_state": "Status",
|
||||
"temp_tool": "Tool temp",
|
||||
"temp_bed": "Bed temp",
|
||||
"job_completion": "Completion"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,7 +20,11 @@
|
||||
"widget": {
|
||||
"missing_type": "缺少小部件類型:{{type}}",
|
||||
"api_error": "API 錯誤",
|
||||
"status": "狀況"
|
||||
"status": "狀況",
|
||||
"url": "URL",
|
||||
"information": "Information",
|
||||
"raw_error": "Raw Error",
|
||||
"response_data": "Response Data"
|
||||
},
|
||||
"weather": {
|
||||
"current": "依家位置",
|
||||
@@ -43,7 +47,9 @@
|
||||
"tx": "發送",
|
||||
"mem": "內存",
|
||||
"cpu": "處理器",
|
||||
"offline": "離線"
|
||||
"offline": "離線",
|
||||
"error": "Error",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"nzbget": {
|
||||
"rate": "速度",
|
||||
@@ -74,7 +80,8 @@
|
||||
"radarr": {
|
||||
"wanted": "想睇",
|
||||
"queued": "排緊隊",
|
||||
"movies": "電影"
|
||||
"movies": "電影",
|
||||
"missing": "Missing"
|
||||
},
|
||||
"lidarr": {
|
||||
"wanted": "想睇",
|
||||
@@ -103,7 +110,8 @@
|
||||
"overseerr": {
|
||||
"pending": "待定",
|
||||
"approved": "批准",
|
||||
"available": "可用"
|
||||
"available": "可用",
|
||||
"processing": "Processing"
|
||||
},
|
||||
"pihole": {
|
||||
"queries": "查詢",
|
||||
@@ -190,7 +198,12 @@
|
||||
"wlan_users": "WLAN Users",
|
||||
"up": "UP",
|
||||
"down": "DOWN",
|
||||
"wait": "Please wait"
|
||||
"wait": "Please wait",
|
||||
"lan": "LAN",
|
||||
"wlan": "WLAN",
|
||||
"devices": "Devices",
|
||||
"lan_devices": "LAN Devices",
|
||||
"wlan_devices": "WLAN Devices"
|
||||
},
|
||||
"plex": {
|
||||
"streams": "Active Streams",
|
||||
@@ -201,5 +214,211 @@
|
||||
"cpu": "CPU",
|
||||
"mem": "MEM",
|
||||
"wait": "Please wait"
|
||||
},
|
||||
"changedetectionio": {
|
||||
"totalObserved": "Total Observed",
|
||||
"diffsDetected": "Diffs Detected"
|
||||
},
|
||||
"wmo": {
|
||||
"55-day": "Heavy Drizzle",
|
||||
"55-night": "Heavy Drizzle",
|
||||
"56-day": "Light Freezing Drizzle",
|
||||
"63-day": "Rain",
|
||||
"65-night": "Heavy Rain",
|
||||
"66-day": "Freezing Rain",
|
||||
"75-day": "Heavy Snow",
|
||||
"75-night": "Heavy Snow",
|
||||
"77-day": "Snow Grains",
|
||||
"77-night": "Snow Grains",
|
||||
"81-night": "Showers",
|
||||
"82-day": "Heavy Showers",
|
||||
"82-night": "Heavy Showers",
|
||||
"99-day": "Thunderstorm With Hail",
|
||||
"99-night": "Thunderstorm With Hail",
|
||||
"0-day": "Sunny",
|
||||
"0-night": "Clear",
|
||||
"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",
|
||||
"51-day": "Light Drizzle",
|
||||
"48-night": "Foggy",
|
||||
"51-night": "Light Drizzle",
|
||||
"53-day": "Drizzle",
|
||||
"53-night": "Drizzle",
|
||||
"56-night": "Light Freezing Drizzle",
|
||||
"57-day": "Freezing Drizzle",
|
||||
"57-night": "Freezing Drizzle",
|
||||
"61-day": "Light Rain",
|
||||
"61-night": "Light Rain",
|
||||
"63-night": "Rain",
|
||||
"65-day": "Heavy Rain",
|
||||
"66-night": "Freezing Rain",
|
||||
"67-day": "Freezing Rain",
|
||||
"67-night": "Freezing Rain",
|
||||
"80-night": "Light Showers",
|
||||
"71-day": "Light Snow",
|
||||
"71-night": "Light Snow",
|
||||
"73-day": "Snow",
|
||||
"73-night": "Snow",
|
||||
"80-day": "Light Showers",
|
||||
"81-day": "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"
|
||||
},
|
||||
"quicklaunch": {
|
||||
"bookmark": "Bookmark",
|
||||
"service": "Service"
|
||||
},
|
||||
"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}}"
|
||||
},
|
||||
"autobrr": {
|
||||
"approvedPushes": "Approved",
|
||||
"rejectedPushes": "Rejected",
|
||||
"filters": "Filters",
|
||||
"indexers": "Indexers"
|
||||
},
|
||||
"watchtower": {
|
||||
"containers_scanned": "Scanned",
|
||||
"containers_updated": "Updated",
|
||||
"containers_failed": "Failed"
|
||||
},
|
||||
"tubearchivist": {
|
||||
"downloads": "Queue",
|
||||
"videos": "Videos",
|
||||
"channels": "Channels",
|
||||
"playlists": "Playlists"
|
||||
},
|
||||
"truenas": {
|
||||
"load": "System Load",
|
||||
"uptime": "Uptime",
|
||||
"alerts": "Alerts",
|
||||
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
|
||||
},
|
||||
"navidrome": {
|
||||
"nothing_streaming": "No Active Streams",
|
||||
"please_wait": "Please Wait"
|
||||
},
|
||||
"pyload": {
|
||||
"speed": "Speed",
|
||||
"active": "Active",
|
||||
"queue": "Queue",
|
||||
"total": "Total"
|
||||
},
|
||||
"gluetun": {
|
||||
"public_ip": "Public IP",
|
||||
"region": "Region",
|
||||
"country": "Country"
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Channels",
|
||||
"hd": "HD"
|
||||
},
|
||||
"ping": {
|
||||
"error": "Error",
|
||||
"ping": "Ping"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Passed",
|
||||
"failed": "Failed",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"paperlessngx": {
|
||||
"inbox": "Inbox",
|
||||
"total": "Total"
|
||||
},
|
||||
"deluge": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"flood": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"tdarr": {
|
||||
"queue": "Queue",
|
||||
"processed": "Processed",
|
||||
"errored": "Errored",
|
||||
"saved": "Saved"
|
||||
},
|
||||
"miniflux": {
|
||||
"read": "Read",
|
||||
"unread": "Unread"
|
||||
},
|
||||
"nextdns": {
|
||||
"wait": "Please Wait",
|
||||
"no_devices": "No Device Data Received"
|
||||
},
|
||||
"common": {
|
||||
"bibyterate": "{{value, rate(bits: false; binary: true)}}",
|
||||
"bibitrate": "{{value, rate(bits: true; binary: true)}}"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Connected APs",
|
||||
"activeUser": "Active devices",
|
||||
"alerts": "Alerts",
|
||||
"connectedGateway": "Connected gateways",
|
||||
"connectedSwitches": "Connected switches"
|
||||
},
|
||||
"downloadstation": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"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": {
|
||||
"print_progress": "Progress",
|
||||
"layers": "Layers",
|
||||
"printer_state": "Printer State",
|
||||
"print_status": "Print Status"
|
||||
},
|
||||
"medusa": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"series": "Series"
|
||||
},
|
||||
"octoPrint": {
|
||||
"printer_state": "Status",
|
||||
"temp_tool": "Tool temp",
|
||||
"temp_bed": "Bed temp",
|
||||
"job_completion": "Completion"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,11 @@
|
||||
"widget": {
|
||||
"missing_type": "缺少小部件类型:{{type}}",
|
||||
"api_error": "API错误",
|
||||
"status": "状态"
|
||||
"status": "状态",
|
||||
"information": "Information",
|
||||
"url": "URL",
|
||||
"raw_error": "Raw Error",
|
||||
"response_data": "Response Data"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "搜索…"
|
||||
@@ -19,7 +23,9 @@
|
||||
"tx": "发送",
|
||||
"mem": "内存",
|
||||
"cpu": "处理器",
|
||||
"offline": "离线"
|
||||
"offline": "离线",
|
||||
"error": "Error",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "播放中",
|
||||
@@ -46,7 +52,8 @@
|
||||
"radarr": {
|
||||
"wanted": "想看",
|
||||
"queued": "队列",
|
||||
"movies": "电影"
|
||||
"movies": "电影",
|
||||
"missing": "丢失"
|
||||
},
|
||||
"readarr": {
|
||||
"wanted": "订阅",
|
||||
@@ -97,7 +104,8 @@
|
||||
"overseerr": {
|
||||
"pending": "待办",
|
||||
"approved": "已批准",
|
||||
"available": "可用"
|
||||
"available": "可用",
|
||||
"processing": "Processing"
|
||||
},
|
||||
"sabnzbd": {
|
||||
"rate": "速率",
|
||||
@@ -161,7 +169,7 @@
|
||||
},
|
||||
"mastodon": {
|
||||
"user_count": "用户",
|
||||
"status_count": "Posts",
|
||||
"status_count": "帖子",
|
||||
"domain_count": "域"
|
||||
},
|
||||
"strelaysrv": {
|
||||
@@ -182,24 +190,235 @@
|
||||
"vms": "VMs"
|
||||
},
|
||||
"unifi": {
|
||||
"users": "Users",
|
||||
"uptime": "System Uptime",
|
||||
"days": "Days",
|
||||
"wan": "WAN",
|
||||
"lan_users": "LAN Users",
|
||||
"wlan_users": "WLAN Users",
|
||||
"up": "UP",
|
||||
"down": "DOWN",
|
||||
"wait": "请稍候"
|
||||
"users": "用户",
|
||||
"uptime": "系统运行时间",
|
||||
"days": "天",
|
||||
"wan": "广域网",
|
||||
"lan_users": "局域网用户",
|
||||
"wlan_users": "无线局域网用户",
|
||||
"up": "向上",
|
||||
"down": "向下",
|
||||
"wait": "请稍候",
|
||||
"lan": "局域网",
|
||||
"wlan": "无线局域网",
|
||||
"devices": "设备",
|
||||
"lan_devices": "局域网设备",
|
||||
"wlan_devices": "无线局域网设备"
|
||||
},
|
||||
"plex": {
|
||||
"streams": "Active Streams",
|
||||
"movies": "Movies",
|
||||
"tv": "TV Shows"
|
||||
"streams": "活动流",
|
||||
"movies": "电影",
|
||||
"tv": "电视节目"
|
||||
},
|
||||
"glances": {
|
||||
"cpu": "CPU",
|
||||
"mem": "MEM",
|
||||
"wait": "Please wait"
|
||||
"cpu": "处理器",
|
||||
"mem": "内存",
|
||||
"wait": "请稍等"
|
||||
},
|
||||
"changedetectionio": {
|
||||
"totalObserved": "观察到的总数",
|
||||
"diffsDetected": "检测到差异"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "晴天",
|
||||
"0-night": "晴朗",
|
||||
"1-day": "主要是晴天",
|
||||
"3-day": "阴天",
|
||||
"3-night": "阴天",
|
||||
"45-day": "有雾",
|
||||
"48-day": "有雾",
|
||||
"51-day": "小雨",
|
||||
"73-night": "Snow",
|
||||
"75-day": "Heavy Snow",
|
||||
"1-night": "大部晴朗",
|
||||
"2-day": "多云",
|
||||
"2-night": "多云",
|
||||
"45-night": "有雾",
|
||||
"48-night": "有雾",
|
||||
"51-night": "小雨",
|
||||
"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",
|
||||
"71-night": "Light Snow",
|
||||
"73-day": "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"
|
||||
},
|
||||
"quicklaunch": {
|
||||
"bookmark": "书签",
|
||||
"service": "服务"
|
||||
},
|
||||
"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}}"
|
||||
},
|
||||
"autobrr": {
|
||||
"approvedPushes": "Approved",
|
||||
"rejectedPushes": "Rejected",
|
||||
"filters": "Filters",
|
||||
"indexers": "Indexers"
|
||||
},
|
||||
"watchtower": {
|
||||
"containers_scanned": "以扫描",
|
||||
"containers_updated": "以升级",
|
||||
"containers_failed": "失败"
|
||||
},
|
||||
"tubearchivist": {
|
||||
"downloads": "Queue",
|
||||
"videos": "Videos",
|
||||
"channels": "Channels",
|
||||
"playlists": "Playlists"
|
||||
},
|
||||
"truenas": {
|
||||
"load": "System Load",
|
||||
"uptime": "Uptime",
|
||||
"alerts": "警报",
|
||||
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
|
||||
},
|
||||
"navidrome": {
|
||||
"nothing_streaming": "暂无播放",
|
||||
"please_wait": "请等待"
|
||||
},
|
||||
"pyload": {
|
||||
"speed": "Speed",
|
||||
"active": "Active",
|
||||
"queue": "Queue",
|
||||
"total": "Total"
|
||||
},
|
||||
"gluetun": {
|
||||
"public_ip": "Public IP",
|
||||
"region": "Region",
|
||||
"country": "Country"
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Channels",
|
||||
"hd": "HD"
|
||||
},
|
||||
"ping": {
|
||||
"error": "Error",
|
||||
"ping": "Ping"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Passed",
|
||||
"failed": "Failed",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"paperlessngx": {
|
||||
"inbox": "Inbox",
|
||||
"total": "Total"
|
||||
},
|
||||
"deluge": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"flood": {
|
||||
"leech": "Leech",
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"tdarr": {
|
||||
"saved": "Saved",
|
||||
"queue": "Queue",
|
||||
"processed": "Processed",
|
||||
"errored": "Errored"
|
||||
},
|
||||
"miniflux": {
|
||||
"read": "Read",
|
||||
"unread": "Unread"
|
||||
},
|
||||
"nextdns": {
|
||||
"wait": "Please Wait",
|
||||
"no_devices": "No Device Data Received"
|
||||
},
|
||||
"common": {
|
||||
"bibyterate": "{{value, rate(bits: false; binary: true)}}",
|
||||
"bibitrate": "{{value, rate(bits: true; binary: true)}}"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Connected APs",
|
||||
"activeUser": "Active devices",
|
||||
"alerts": "Alerts",
|
||||
"connectedGateway": "Connected gateways",
|
||||
"connectedSwitches": "Connected switches"
|
||||
},
|
||||
"downloadstation": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"medusa": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"series": "Series"
|
||||
},
|
||||
"octoPrint": {
|
||||
"printer_state": "Status",
|
||||
"temp_tool": "Tool temp",
|
||||
"temp_bed": "Bed temp",
|
||||
"job_completion": "Completion"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,205 +1,424 @@
|
||||
{
|
||||
"widget": {
|
||||
"missing_type": "Missing Widget Type: {{type}}",
|
||||
"api_error": "API Error",
|
||||
"status": "Status"
|
||||
"missing_type": "遺失小工具的類型: {{type}}",
|
||||
"api_error": "API錯誤",
|
||||
"status": "狀態",
|
||||
"information": "資訊",
|
||||
"url": "URL",
|
||||
"raw_error": "Raw Error",
|
||||
"response_data": "Response Data"
|
||||
},
|
||||
"weather": {
|
||||
"current": "Current Location",
|
||||
"allow": "Click to allow",
|
||||
"updating": "Updating",
|
||||
"wait": "Please wait"
|
||||
"current": "目前位置",
|
||||
"allow": "點擊以允許",
|
||||
"updating": "更新中",
|
||||
"wait": "請稍後"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
"offline": "Offline",
|
||||
"tx": "TX",
|
||||
"mem": "MEM",
|
||||
"cpu": "CPU"
|
||||
"rx": "接收",
|
||||
"offline": "離線",
|
||||
"tx": "發送",
|
||||
"mem": "記憶體",
|
||||
"cpu": "處理器",
|
||||
"error": "錯誤",
|
||||
"unknown": "未知的"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "Playing",
|
||||
"transcoding": "Transcoding",
|
||||
"bitrate": "Bitrate",
|
||||
"no_active": "No Active Streams"
|
||||
"playing": "正在播放",
|
||||
"transcoding": "轉碼",
|
||||
"bitrate": "位元率",
|
||||
"no_active": "無播放活動"
|
||||
},
|
||||
"tautulli": {
|
||||
"playing": "Playing",
|
||||
"transcoding": "Transcoding",
|
||||
"bitrate": "Bitrate",
|
||||
"no_active": "No Active Streams"
|
||||
"playing": "正在播放",
|
||||
"transcoding": "轉碼",
|
||||
"bitrate": "位元率",
|
||||
"no_active": "無播放活動"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"pending": "待定",
|
||||
"approved": "已接受",
|
||||
"available": "可用的"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "Search…"
|
||||
"placeholder": "搜尋…"
|
||||
},
|
||||
"resources": {
|
||||
"total": "Total",
|
||||
"free": "Free",
|
||||
"used": "Used",
|
||||
"load": "Load",
|
||||
"total": "全部",
|
||||
"free": "剩餘",
|
||||
"used": "已使用",
|
||||
"load": "負載",
|
||||
"cpu": "CPU"
|
||||
},
|
||||
"nzbget": {
|
||||
"rate": "Rate",
|
||||
"remaining": "Remaining",
|
||||
"downloaded": "Downloaded"
|
||||
"rate": "速率",
|
||||
"remaining": "剩餘",
|
||||
"downloaded": "已下載"
|
||||
},
|
||||
"sabnzbd": {
|
||||
"rate": "Rate",
|
||||
"queue": "Queue",
|
||||
"timeleft": "Time Left"
|
||||
"rate": "速率",
|
||||
"queue": "佇列",
|
||||
"timeleft": "剩餘時間"
|
||||
},
|
||||
"rutorrent": {
|
||||
"active": "Active",
|
||||
"upload": "Upload",
|
||||
"download": "Download"
|
||||
"upload": "上傳",
|
||||
"download": "下載"
|
||||
},
|
||||
"radarr": {
|
||||
"movies": "Movies",
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued"
|
||||
"movies": "電影",
|
||||
"wanted": "關注中",
|
||||
"queued": "已加入佇列",
|
||||
"missing": "遺失"
|
||||
},
|
||||
"sonarr": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"series": "Series"
|
||||
"wanted": "關注中",
|
||||
"queued": "已加入佇列",
|
||||
"series": "系列"
|
||||
},
|
||||
"readarr": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"books": "Books"
|
||||
"wanted": "關注中",
|
||||
"queued": "已加入佇列",
|
||||
"books": "書籍"
|
||||
},
|
||||
"ombi": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"pending": "待定",
|
||||
"approved": "已接受",
|
||||
"available": "可用的"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"pending": "待定",
|
||||
"approved": "已接受",
|
||||
"available": "可用的",
|
||||
"processing": "處理中"
|
||||
},
|
||||
"pihole": {
|
||||
"queries": "Queries",
|
||||
"blocked": "Blocked",
|
||||
"queries": "查詢數",
|
||||
"blocked": "已阻擋",
|
||||
"gravity": "Gravity"
|
||||
},
|
||||
"speedtest": {
|
||||
"upload": "Upload",
|
||||
"download": "Download",
|
||||
"upload": "上行",
|
||||
"download": "下行",
|
||||
"ping": "Ping"
|
||||
},
|
||||
"portainer": {
|
||||
"running": "Running",
|
||||
"stopped": "Stopped",
|
||||
"total": "Total"
|
||||
"running": "運行中",
|
||||
"stopped": "未運行",
|
||||
"total": "全部"
|
||||
},
|
||||
"traefik": {
|
||||
"routers": "Routers",
|
||||
"services": "Services",
|
||||
"middleware": "Middleware"
|
||||
"routers": "路由器",
|
||||
"services": "服務",
|
||||
"middleware": "中介軟體"
|
||||
},
|
||||
"gotify": {
|
||||
"clients": "Clients",
|
||||
"apps": "Applications",
|
||||
"messages": "Messages"
|
||||
"clients": "客戶端",
|
||||
"apps": "應用程式",
|
||||
"messages": "訊息"
|
||||
},
|
||||
"npm": {
|
||||
"enabled": "Enabled",
|
||||
"disabled": "Disabled",
|
||||
"total": "Total"
|
||||
"enabled": "已啟用",
|
||||
"disabled": "已停用",
|
||||
"total": "全部"
|
||||
},
|
||||
"coinmarketcap": {
|
||||
"configure": "Configure one or more crypto currencies to track",
|
||||
"1hour": "1 Hour",
|
||||
"1day": "1 Day",
|
||||
"7days": "7 Days",
|
||||
"30days": "30 Days"
|
||||
"configure": "請設定一個或多個欲追蹤的加密貨幣",
|
||||
"1hour": "1小時",
|
||||
"1day": "1天",
|
||||
"7days": "7天",
|
||||
"30days": "30天"
|
||||
},
|
||||
"prowlarr": {
|
||||
"enableIndexers": "Indexers",
|
||||
"numberOfGrabs": "Grabs",
|
||||
"numberOfQueries": "Queries",
|
||||
"numberOfFailGrabs": "Fail Grabs",
|
||||
"numberOfFailQueries": "Fail Queries"
|
||||
"enableIndexers": "索引器",
|
||||
"numberOfGrabs": "抓取",
|
||||
"numberOfQueries": "查詢數",
|
||||
"numberOfFailGrabs": "抓取失敗",
|
||||
"numberOfFailQueries": "查詢失敗"
|
||||
},
|
||||
"transmission": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"download": "下載",
|
||||
"upload": "上傳",
|
||||
"leech": "Leech",
|
||||
"seed": "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",
|
||||
"download": "下載",
|
||||
"upload": "上傳",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"mastodon": {
|
||||
"user_count": "Users",
|
||||
"status_count": "Posts",
|
||||
"domain_count": "Domains"
|
||||
"user_count": "使用者",
|
||||
"status_count": "文章",
|
||||
"domain_count": "網域"
|
||||
},
|
||||
"strelaysrv": {
|
||||
"numActiveSessions": "Sessions",
|
||||
"numConnections": "Connections",
|
||||
"dataRelayed": "Relayed",
|
||||
"transferRate": "Rate"
|
||||
"numActiveSessions": "工作階段",
|
||||
"numConnections": "連線",
|
||||
"dataRelayed": "中繼",
|
||||
"transferRate": "速率"
|
||||
},
|
||||
"authentik": {
|
||||
"users": "Users",
|
||||
"loginsLast24H": "Logins (24h)",
|
||||
"failedLoginsLast24H": "Failed Logins (24h)"
|
||||
"users": "使用者",
|
||||
"loginsLast24H": "登錄(24h)",
|
||||
"failedLoginsLast24H": "登錄失敗(24h)"
|
||||
},
|
||||
"proxmox": {
|
||||
"mem": "MEM",
|
||||
"mem": "記憶體",
|
||||
"cpu": "CPU",
|
||||
"lxc": "LXC",
|
||||
"vms": "VMs"
|
||||
},
|
||||
"unifi": {
|
||||
"users": "Users",
|
||||
"uptime": "System Uptime",
|
||||
"days": "Days",
|
||||
"users": "使用者",
|
||||
"uptime": "系統運行時間",
|
||||
"days": "天",
|
||||
"wan": "WAN",
|
||||
"lan_users": "LAN Users",
|
||||
"wlan_users": "WLAN Users",
|
||||
"lan_users": "LAN使用者",
|
||||
"wlan_users": "WLAN使用者",
|
||||
"up": "UP",
|
||||
"down": "DOWN",
|
||||
"wait": "Please wait"
|
||||
"wait": "請稍後",
|
||||
"lan": "LAN",
|
||||
"wlan": "WLAN",
|
||||
"devices": "設備",
|
||||
"lan_devices": "LAN設備",
|
||||
"wlan_devices": "WLAN設備"
|
||||
},
|
||||
"plex": {
|
||||
"streams": "Active Streams",
|
||||
"movies": "Movies",
|
||||
"tv": "TV Shows"
|
||||
"streams": "正在播放",
|
||||
"movies": "電影",
|
||||
"tv": "影集"
|
||||
},
|
||||
"glances": {
|
||||
"cpu": "CPU",
|
||||
"mem": "MEM",
|
||||
"wait": "Please wait"
|
||||
"mem": "記憶體",
|
||||
"wait": "請稍後"
|
||||
},
|
||||
"changedetectionio": {
|
||||
"totalObserved": "Total Observed",
|
||||
"diffsDetected": "Diffs Detected"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "晴",
|
||||
"0-night": "晴朗",
|
||||
"71-day": "小雪",
|
||||
"71-night": "小雪",
|
||||
"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": "凍雨",
|
||||
"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": "雷雨伴隨冰雹"
|
||||
},
|
||||
"quicklaunch": {
|
||||
"bookmark": "書籤",
|
||||
"service": "服務"
|
||||
},
|
||||
"homebridge": {
|
||||
"available_update": "系統",
|
||||
"updates": "更新",
|
||||
"update_available": "有可用的更新",
|
||||
"up_to_date": "已更新至最新",
|
||||
"child_bridges": "Child Bridges",
|
||||
"child_bridges_status": "{{ok}}/{{total}}"
|
||||
},
|
||||
"autobrr": {
|
||||
"approvedPushes": "接受",
|
||||
"rejectedPushes": "拒絕",
|
||||
"filters": "篩選器",
|
||||
"indexers": "索引器"
|
||||
},
|
||||
"watchtower": {
|
||||
"containers_scanned": "已掃描",
|
||||
"containers_updated": "已更新",
|
||||
"containers_failed": "失敗"
|
||||
},
|
||||
"tubearchivist": {
|
||||
"downloads": "佇列",
|
||||
"videos": "影片",
|
||||
"channels": "頻道",
|
||||
"playlists": "播放清單"
|
||||
},
|
||||
"truenas": {
|
||||
"load": "系統負載",
|
||||
"uptime": "運行時間",
|
||||
"alerts": "警示",
|
||||
"time": "{{value, number(style: unit; unitDisplay: long;)}}"
|
||||
},
|
||||
"navidrome": {
|
||||
"nothing_streaming": "無播放活動",
|
||||
"please_wait": "請稍後"
|
||||
},
|
||||
"pyload": {
|
||||
"speed": "速度",
|
||||
"active": "運行中",
|
||||
"queue": "佇列",
|
||||
"total": "全部"
|
||||
},
|
||||
"gluetun": {
|
||||
"public_ip": "公用IP",
|
||||
"region": "地區",
|
||||
"country": "國家"
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "頻道",
|
||||
"hd": "高畫質"
|
||||
},
|
||||
"ping": {
|
||||
"error": "錯誤",
|
||||
"ping": "Ping"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "通過",
|
||||
"failed": "失敗",
|
||||
"unknown": "未知的"
|
||||
},
|
||||
"paperlessngx": {
|
||||
"inbox": "收件箱",
|
||||
"total": "全部"
|
||||
},
|
||||
"deluge": {
|
||||
"download": "下載",
|
||||
"upload": "上傳",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"flood": {
|
||||
"download": "下載",
|
||||
"upload": "上傳",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"tdarr": {
|
||||
"queue": "佇列",
|
||||
"processed": "已處理",
|
||||
"errored": "發生錯誤",
|
||||
"saved": "已儲存"
|
||||
},
|
||||
"miniflux": {
|
||||
"read": "已讀",
|
||||
"unread": "未讀"
|
||||
},
|
||||
"nextdns": {
|
||||
"wait": "請稍後",
|
||||
"no_devices": "未收到裝置資料"
|
||||
},
|
||||
"common": {
|
||||
"bibyterate": "{{value, rate(bits: false; binary: true)}}",
|
||||
"bibitrate": "{{value, rate(bits: true; binary: true)}}"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "已連接的存取點",
|
||||
"activeUser": "在線裝置",
|
||||
"alerts": "警示",
|
||||
"connectedGateway": "已連接的閘道",
|
||||
"connectedSwitches": "已連接的交換器"
|
||||
},
|
||||
"downloadstation": {
|
||||
"download": "下載",
|
||||
"upload": "上傳",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"mikrotik": {
|
||||
"cpuLoad": "CPU負載",
|
||||
"memoryUsed": "已使用的記憶體",
|
||||
"uptime": "運行時間",
|
||||
"numberOfLeases": "租約"
|
||||
},
|
||||
"xteve": {
|
||||
"streams_all": "所有播放活動",
|
||||
"streams_active": "正在播放",
|
||||
"streams_xepg": "XEPG頻道"
|
||||
},
|
||||
"opnsense": {
|
||||
"cpu": "CPU負載",
|
||||
"memory": "Active Memory",
|
||||
"wanUpload": "WAN上傳",
|
||||
"wanDownload": "WAN下載"
|
||||
},
|
||||
"moonraker": {
|
||||
"printer_state": "Printer State",
|
||||
"print_status": "Print Status",
|
||||
"print_progress": "Progress",
|
||||
"layers": "Layers"
|
||||
},
|
||||
"medusa": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"series": "Series"
|
||||
},
|
||||
"octoPrint": {
|
||||
"printer_state": "Status",
|
||||
"temp_tool": "Tool temp",
|
||||
"temp_bed": "Bed temp",
|
||||
"job_completion": "Completion"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ import List from "components/bookmarks/list";
|
||||
|
||||
export default function BookmarksGroup({ group }) {
|
||||
return (
|
||||
<div key={group.name} className="basis-full md:basis-1/2 lg:basis-1/3 xl:basis-1/4 flex-1">
|
||||
<div key={group.name} className="flex-1">
|
||||
<h2 className="text-theme-800 dark:text-theme-300 text-xl font-medium">{group.name}</h2>
|
||||
<ErrorBoundary>
|
||||
<List bookmarks={group.bookmarks} />
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import { useContext } from "react";
|
||||
|
||||
import { SettingsContext } from "utils/contexts/settings";
|
||||
import ResolvedIcon from "components/resolvedicon";
|
||||
|
||||
export default function Item({ bookmark }) {
|
||||
const { hostname } = new URL(bookmark.href);
|
||||
@@ -11,12 +12,17 @@ export default function Item({ bookmark }) {
|
||||
<a
|
||||
href={bookmark.href}
|
||||
title={bookmark.name}
|
||||
target={settings.target ?? "_blank"}
|
||||
target={bookmark.target ?? settings.target ?? "_blank"}
|
||||
className="block w-full text-left cursor-pointer transition-all h-15 mb-3 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"
|
||||
>
|
||||
<div className="flex">
|
||||
<div className="flex-shrink-0 flex items-center justify-center w-11 bg-theme-500/10 dark:bg-theme-900/50 text-theme-700 hover:text-theme-700 dark:text-theme-200 text-sm font-medium rounded-l-md">
|
||||
{bookmark.abbr}
|
||||
{bookmark.icon &&
|
||||
<div className="flex-shrink-0 w-5 h-5">
|
||||
<ResolvedIcon icon={bookmark.icon} alt={bookmark.abbr} />
|
||||
</div>
|
||||
}
|
||||
{!bookmark.icon && bookmark.abbr}
|
||||
</div>
|
||||
<div className="flex-1 flex items-center justify-between rounded-r-md ">
|
||||
<div className="flex-1 grow pl-3 py-2 text-xs">{bookmark.name}</div>
|
||||
|
||||
161
src/components/quicklaunch.jsx
Normal file
161
src/components/quicklaunch.jsx
Normal file
@@ -0,0 +1,161 @@
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { useEffect, useState, useRef, useCallback, useContext } from "react";
|
||||
import classNames from "classnames";
|
||||
|
||||
import ResolvedIcon from "./resolvedicon";
|
||||
|
||||
import { SettingsContext } from "utils/contexts/settings";
|
||||
|
||||
export default function QuickLaunch({servicesAndBookmarks, searchString, setSearchString, isOpen, close, searchDescriptions}) {
|
||||
const { t } = useTranslation();
|
||||
const { settings } = useContext(SettingsContext);
|
||||
|
||||
const searchField = useRef();
|
||||
|
||||
const [results, setResults] = useState([]);
|
||||
const [currentItemIndex, setCurrentItemIndex] = useState(null);
|
||||
|
||||
function openCurrentItem(newWindow) {
|
||||
const result = results[currentItemIndex];
|
||||
window.open(result.href, newWindow ? "_blank" : result.target ?? settings.target ?? "_blank");
|
||||
}
|
||||
|
||||
const closeAndReset = useCallback(() => {
|
||||
close(false);
|
||||
setTimeout(() => {
|
||||
setSearchString("");
|
||||
setCurrentItemIndex(null);
|
||||
}, 200); // delay a little for animations
|
||||
}, [close, setSearchString, setCurrentItemIndex]);
|
||||
|
||||
function handleSearchChange(event) {
|
||||
setSearchString(event.target.value.toLowerCase())
|
||||
}
|
||||
|
||||
function handleSearchKeyDown(event) {
|
||||
if (!isOpen) return;
|
||||
|
||||
if (event.key === "Escape") {
|
||||
closeAndReset();
|
||||
event.preventDefault();
|
||||
} else if (event.key === "Enter" && results.length) {
|
||||
closeAndReset();
|
||||
openCurrentItem(event.metaKey);
|
||||
} else if (event.key === "ArrowDown" && results[currentItemIndex + 1]) {
|
||||
setCurrentItemIndex(currentItemIndex + 1);
|
||||
event.preventDefault();
|
||||
} else if (event.key === "ArrowUp" && currentItemIndex > 0) {
|
||||
setCurrentItemIndex(currentItemIndex - 1);
|
||||
event.preventDefault();
|
||||
}
|
||||
}
|
||||
|
||||
function handleItemHover(event) {
|
||||
setCurrentItemIndex(parseInt(event.target?.dataset?.index, 10));
|
||||
}
|
||||
|
||||
function handleItemClick(event) {
|
||||
closeAndReset();
|
||||
openCurrentItem(event.metaKey);
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
if (searchString.length === 0) setResults([]);
|
||||
else {
|
||||
let newResults = servicesAndBookmarks.filter(r => {
|
||||
const nameMatch = r.name.toLowerCase().includes(searchString);
|
||||
let descriptionMatch;
|
||||
if (searchDescriptions) {
|
||||
descriptionMatch = r.description?.toLowerCase().includes(searchString)
|
||||
r.priority = nameMatch ? 2 * (+nameMatch) : +descriptionMatch; // eslint-disable-line no-param-reassign
|
||||
}
|
||||
return nameMatch || descriptionMatch;
|
||||
});
|
||||
|
||||
if (searchDescriptions) {
|
||||
newResults = newResults.sort((a, b) => b.priority - a.priority);
|
||||
}
|
||||
|
||||
setResults(newResults);
|
||||
|
||||
if (newResults.length) {
|
||||
setCurrentItemIndex(0);
|
||||
}
|
||||
}
|
||||
}, [searchString, servicesAndBookmarks, searchDescriptions]);
|
||||
|
||||
|
||||
const [hidden, setHidden] = useState(true);
|
||||
useEffect(() => {
|
||||
function handleBackdropClick(event) {
|
||||
if (event.target?.tagName === "DIV") closeAndReset();
|
||||
}
|
||||
|
||||
if (isOpen) {
|
||||
searchField.current.focus();
|
||||
document.body.addEventListener('click', handleBackdropClick);
|
||||
setHidden(false);
|
||||
} else {
|
||||
document.body.removeEventListener('click', handleBackdropClick);
|
||||
searchField.current.blur();
|
||||
setTimeout(() => {
|
||||
setHidden(true);
|
||||
}, 300); // disable on close
|
||||
}
|
||||
|
||||
}, [isOpen, closeAndReset]);
|
||||
|
||||
function highlightText(text) {
|
||||
const parts = text.split(new RegExp(`(${searchString})`, 'gi'));
|
||||
// eslint-disable-next-line react/no-array-index-key
|
||||
return <span>{parts.map((part, i) => part.toLowerCase() === searchString.toLowerCase() ? <span key={`${searchString}_${i}`} className="bg-theme-300/10">{part}</span> : part)}</span>;
|
||||
}
|
||||
|
||||
return (
|
||||
<div className={classNames(
|
||||
"relative z-20 ease-in-out duration-300 transition-opacity",
|
||||
hidden && !isOpen && "hidden",
|
||||
!hidden && isOpen && "opacity-100",
|
||||
!isOpen && "opacity-0",
|
||||
)} role="dialog" aria-modal="true">
|
||||
<div className="fixed inset-0 bg-gray-500 bg-opacity-50" />
|
||||
<div className="fixed inset-0 z-20 overflow-y-auto">
|
||||
<div className="flex min-h-full min-w-full items-start justify-center text-center">
|
||||
<dialog className="mt-[10%] min-w-[80%] max-w-[90%] md:min-w-[40%] rounded-md p-0 block 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-50 dark:bg-theme-800">
|
||||
<input placeholder="Search" className={classNames(
|
||||
results.length > 0 && "rounded-t-md",
|
||||
results.length === 0 && "rounded-md",
|
||||
"w-full p-4 m-0 border-0 border-b border-slate-700 focus:border-slate-700 focus:outline-0 focus:ring-0 text-sm md:text-xl text-theme-700 dark:text-theme-200 bg-theme-60 dark:bg-theme-800"
|
||||
)} 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}>
|
||||
<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",
|
||||
)} onClick={handleItemClick}>
|
||||
<div className="flex flex-row items-center mr-4 pointer-events-none">
|
||||
<div className="w-5 text-xs mr-4">
|
||||
{r.icon && <ResolvedIcon icon={r.icon} />}
|
||||
{r.abbr && r.abbr}
|
||||
</div>
|
||||
<div className="flex flex-col md:flex-row text-left items-baseline mr-4 pointer-events-none">
|
||||
<span className="mr-4">{r.name}</span>
|
||||
{r.description &&
|
||||
<span className="text-xs text-theme-600 text-light">
|
||||
{searchDescriptions && r.priority < 2 ? highlightText(r.description) : r.description}
|
||||
</span>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
<div className="text-xs text-theme-600 font-bold pointer-events-none">{r.type === 'service' ? t("quicklaunch.service") : t("quicklaunch.bookmark")}</div>
|
||||
</button>
|
||||
</li>
|
||||
))}
|
||||
</ul>}
|
||||
</dialog>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
37
src/components/resolvedicon.jsx
Normal file
37
src/components/resolvedicon.jsx
Normal file
@@ -0,0 +1,37 @@
|
||||
import Image from "next/future/image";
|
||||
|
||||
export default function ResolvedIcon({ icon, width = 32, height = 32, alt = "logo" }) {
|
||||
// direct or relative URLs
|
||||
if (icon.startsWith("http") || icon.startsWith("/")) {
|
||||
return <Image src={`${icon}`} width={width} height={height} alt={alt} />;
|
||||
}
|
||||
|
||||
// mdi- prefixed, material design icons
|
||||
if (icon.startsWith("mdi-")) {
|
||||
const iconName = icon.replace("mdi-", "").replace(".svg", "");
|
||||
return (
|
||||
<div
|
||||
style={{
|
||||
width,
|
||||
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`,
|
||||
}}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
// fallback to dashboard-icons
|
||||
const iconName = icon.replace(".png", "");
|
||||
return (
|
||||
<Image
|
||||
src={`https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons/png/${iconName}.png`}
|
||||
width={width}
|
||||
height={height}
|
||||
alt={alt}
|
||||
/>
|
||||
);
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
import classNames from "classnames";
|
||||
|
||||
import List from "components/services/list";
|
||||
import ResolvedIcon from "components/resolvedicon";
|
||||
|
||||
export default function ServicesGroup({ services, layout }) {
|
||||
return (
|
||||
@@ -11,7 +12,14 @@ export default function ServicesGroup({ services, layout }) {
|
||||
"flex-1 p-1"
|
||||
)}
|
||||
>
|
||||
<h2 className="text-theme-800 dark:text-theme-300 text-xl font-medium">{services.name}</h2>
|
||||
<div className="flex select-none items-center">
|
||||
{layout?.icon &&
|
||||
<div className="flex-shrink-0 mr-2 w-7 h-7">
|
||||
<ResolvedIcon icon={layout.icon} />
|
||||
</div>
|
||||
}
|
||||
<h2 className="text-theme-800 dark:text-theme-300 text-xl font-medium">{services.name}</h2>
|
||||
</div>
|
||||
<List services={services.services} layout={layout} />
|
||||
</div>
|
||||
);
|
||||
|
||||
@@ -1,46 +1,15 @@
|
||||
import Image from "next/future/image";
|
||||
import classNames from "classnames";
|
||||
import { useContext, useState } from "react";
|
||||
|
||||
import Status from "./status";
|
||||
import Widget from "./widget";
|
||||
import Ping from "./ping";
|
||||
import KubernetesStatus from "./kubernetes-status";
|
||||
|
||||
import Docker from "widgets/docker/component";
|
||||
import Kubernetes from "widgets/kubernetes/component";
|
||||
import { SettingsContext } from "utils/contexts/settings";
|
||||
|
||||
function resolveIcon(icon) {
|
||||
// direct or relative URLs
|
||||
if (icon.startsWith("http") || icon.startsWith("/")) {
|
||||
return <Image src={`${icon}`} width={32} height={32} alt="logo" />;
|
||||
}
|
||||
|
||||
// mdi- prefixed, material design icons
|
||||
if (icon.startsWith("mdi-")) {
|
||||
const iconName = icon.replace("mdi-", "").replace(".svg", "");
|
||||
return (
|
||||
<div
|
||||
style={{
|
||||
width: 32,
|
||||
height: 32,
|
||||
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`,
|
||||
}}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
// fallback to dashboard-icons
|
||||
const iconName = icon.replace(".png", "");
|
||||
return (
|
||||
<Image
|
||||
src={`https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons/png/${iconName}.png`}
|
||||
width={32}
|
||||
height={32}
|
||||
alt="logo"
|
||||
/>
|
||||
);
|
||||
}
|
||||
import ResolvedIcon from "components/resolvedicon";
|
||||
|
||||
export default function Item({ service }) {
|
||||
const hasLink = service.href && service.href !== "#";
|
||||
@@ -64,27 +33,29 @@ 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`}
|
||||
}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`}
|
||||
>
|
||||
<div className="flex select-none">
|
||||
{service.icon &&
|
||||
(hasLink ? (
|
||||
<a
|
||||
href={service.href}
|
||||
target={settings.target ?? "_blank"}
|
||||
target={service.target ?? settings.target ?? "_blank"}
|
||||
rel="noreferrer"
|
||||
className="flex-shrink-0 flex items-center justify-center w-12 "
|
||||
>
|
||||
{resolveIcon(service.icon)}
|
||||
<ResolvedIcon icon={service.icon} />
|
||||
</a>
|
||||
) : (
|
||||
<div className="flex-shrink-0 flex items-center justify-center w-12 ">{resolveIcon(service.icon)}</div>
|
||||
<div className="flex-shrink-0 flex items-center justify-center w-12 ">
|
||||
<ResolvedIcon icon={service.icon} />
|
||||
</div>
|
||||
))}
|
||||
|
||||
{hasLink ? (
|
||||
<a
|
||||
href={service.href}
|
||||
target={settings.target ?? "_blank"}
|
||||
target={service.target ?? settings.target ?? "_blank"}
|
||||
rel="noreferrer"
|
||||
className="flex-1 flex items-center justify-between rounded-r-md "
|
||||
>
|
||||
@@ -102,26 +73,55 @@ export default function Item({ service }) {
|
||||
</div>
|
||||
)}
|
||||
|
||||
{service.container && (
|
||||
<button
|
||||
type="button"
|
||||
onClick={() => (statsOpen ? closeStats() : setStatsOpen(true))}
|
||||
className="flex-shrink-0 flex items-center justify-center w-12 cursor-pointer"
|
||||
>
|
||||
<Status service={service} />
|
||||
<span className="sr-only">View container stats</span>
|
||||
</button>
|
||||
)}
|
||||
<div className="absolute top-0 right-0 w-1/2 flex flex-row justify-end gap-2 mr-2">
|
||||
{service.ping && (
|
||||
<div className="flex-shrink-0 flex items-center justify-center cursor-pointer">
|
||||
<Ping service={service} />
|
||||
<span className="sr-only">Ping status</span>
|
||||
</div>
|
||||
)}
|
||||
|
||||
{service.container && (
|
||||
<button
|
||||
type="button"
|
||||
onClick={() => (statsOpen ? closeStats() : setStatsOpen(true))}
|
||||
className="flex-shrink-0 flex items-center justify-center cursor-pointer"
|
||||
>
|
||||
<Status service={service} />
|
||||
<span className="sr-only">View container stats</span>
|
||||
</button>
|
||||
)}
|
||||
{service.app && (
|
||||
<button
|
||||
type="button"
|
||||
onClick={() => (statsOpen ? closeStats() : setStatsOpen(true))}
|
||||
className="flex-shrink-0 flex items-center justify-center cursor-pointer"
|
||||
>
|
||||
<KubernetesStatus service={service} />
|
||||
<span className="sr-only">View container stats</span>
|
||||
</button>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{service.container && service.server && (
|
||||
<div
|
||||
className={classNames(
|
||||
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 } }} />}
|
||||
</div>
|
||||
)}
|
||||
{service.app && (
|
||||
<div
|
||||
className={classNames(
|
||||
statsOpen && !statsClosing ? "max-h-[55px] 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 } }} />}
|
||||
{statsOpen && <Kubernetes service={{ widget: { namespace: service.namespace, app: service.app, podSelector: service.podSelector } }} />}
|
||||
</div>
|
||||
)}
|
||||
|
||||
|
||||
35
src/components/services/kubernetes-status.jsx
Normal file
35
src/components/services/kubernetes-status.jsx
Normal file
@@ -0,0 +1,35 @@
|
||||
import useSWR from "swr";
|
||||
import { t } from "i18next";
|
||||
|
||||
export default function KubernetesStatus({ service }) {
|
||||
const podSelectorString = service.podSelector !== undefined ? `podSelector=${service.podSelector}` : "";
|
||||
const { data, error } = useSWR(`/api/kubernetes/status/${service.namespace}/${service.app}?${podSelectorString}`);
|
||||
|
||||
if (error) {
|
||||
<div className="w-auto px-1.5 py-0.5 text-center bg-theme-500/10 dark:bg-theme-900/50 rounded-b-[3px] overflow-hidden" title={data.status}>
|
||||
<div className="text-[8px] font-bold text-rose-500/80 uppercase">{t("docker.error")}</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
if (data && data.status === "running") {
|
||||
return (
|
||||
<div className="w-auto px-1.5 py-0.5 text-center bg-theme-500/10 dark:bg-theme-900/50 rounded-b-[3px] overflow-hidden" title={data.health ?? data.status}>
|
||||
<div className="text-[8px] font-bold text-emerald-500/80 uppercase">{data.health ?? data.status}</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
if (data && (data.status === "not found" || data.status === "down" || data.status === "partial")) {
|
||||
return (
|
||||
<div className="w-auto px-1.5 py-0.5 text-center bg-theme-500/10 dark:bg-theme-900/50 rounded-b-[3px] overflow-hidden" title={data.status}>
|
||||
<div className="text-[8px] font-bold text-orange-400/50 dark:text-orange-400/80 uppercase">{data.status}</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">
|
||||
<div className="text-[8px] font-bold text-black/20 dark:text-white/40 uppercase">{t("docker.unknown")}</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
44
src/components/services/ping.jsx
Normal file
44
src/components/services/ping.jsx
Normal file
@@ -0,0 +1,44 @@
|
||||
import { useTranslation } from "react-i18next";
|
||||
import useSWR from "swr";
|
||||
|
||||
export default function Ping({ service }) {
|
||||
const { t } = useTranslation();
|
||||
const { data, error } = useSWR(`/api/ping?${new URLSearchParams({ping: service.ping}).toString()}`, {
|
||||
refreshInterval: 30000
|
||||
});
|
||||
|
||||
if (error) {
|
||||
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">
|
||||
<div className="text-[8px] font-bold text-rose-500 uppercase">{t("ping.error")}</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
if (!data) {
|
||||
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">
|
||||
<div className="text-[8px] font-bold text-black/20 dark:text-white/40 uppercase">{t("ping.ping")}</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
const statusText = `${service.ping}: HTTP status ${data.status}`;
|
||||
|
||||
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-rose-500/80">{data.status}</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
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>
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,19 +1,52 @@
|
||||
import { useTranslation } from "react-i18next";
|
||||
import useSWR from "swr";
|
||||
|
||||
export default function Status({ service }) {
|
||||
const { t } = useTranslation();
|
||||
|
||||
const { data, error } = useSWR(`/api/docker/status/${service.container}/${service.server || ""}`);
|
||||
|
||||
if (error) {
|
||||
return <div className="w-3 h-3 bg-rose-300 dark:bg-rose-500 rounded-full" />;
|
||||
<div className="w-auto px-1.5 py-0.5 text-center bg-theme-500/10 dark:bg-theme-900/50 rounded-b-[3px] overflow-hidden" title={data.status}>
|
||||
<div className="text-[8px] font-bold text-rose-500/80 uppercase">{t("docker.error")}</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
if (data && data.status === "running") {
|
||||
return <div className="w-3 h-3 bg-emerald-300 dark:bg-emerald-500 rounded-full" />;
|
||||
if (data.health === "starting") {
|
||||
return (
|
||||
<div className="w-auto px-1.5 py-0.5 text-center bg-theme-500/10 dark:bg-theme-900/50 rounded-b-[3px] overflow-hidden" title={data.health}>
|
||||
<div className="text-[8px] font-bold text-blue-500/80 uppercase">{data.health}</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
if (data.health === "unhealthy") {
|
||||
return (
|
||||
<div className="w-auto px-1.5 py-0.5 text-center bg-theme-500/10 dark:bg-theme-900/50 rounded-b-[3px] overflow-hidden" title={data.health}>
|
||||
<div className="text-[8px] font-bold text-orange-400/50 dark:text-orange-400/80 uppercase">{data.health}</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={data.health ?? data.status}>
|
||||
<div className="text-[8px] font-bold text-emerald-500/80 uppercase">{data.health ?? data.status}</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
if (data && data.status === "not found") {
|
||||
return <div className="h-2.5 w-2.5 bg-orange-400/50 dark:bg-yellow-200/40 -rotate-45" />;
|
||||
if (data && (data.status === "not found" || data.status === "exited")) {
|
||||
return (
|
||||
<div className="w-auto px-1.5 py-0.5 text-center bg-theme-500/10 dark:bg-theme-900/50 rounded-b-[3px] overflow-hidden" title={data.status}>
|
||||
<div className="text-[8px] font-bold text-orange-400/50 dark:text-orange-400/80 uppercase">{data.status}</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
return <div className="w-3 h-3 bg-black/20 dark:bg-white/40 rounded-full" />;
|
||||
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">
|
||||
<div className="text-[8px] font-bold text-black/20 dark:text-white/40 uppercase">{t("docker.unknown")}</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ export default function Block({ value, label }) {
|
||||
return (
|
||||
<div
|
||||
className={classNames(
|
||||
"bg-theme-200/50 dark:bg-theme-900/20 rounded m-1 flex-1 flex flex-col items-center justify-center p-1",
|
||||
"bg-theme-200/50 dark:bg-theme-900/20 rounded m-1 flex-1 flex flex-col items-center justify-center text-center p-1",
|
||||
value === undefined ? "animate-pulse" : ""
|
||||
)}
|
||||
>
|
||||
|
||||
@@ -1,17 +1,15 @@
|
||||
import Error from "./error";
|
||||
|
||||
export default function Container({ error = false, children, service }) {
|
||||
if (error) {
|
||||
return (
|
||||
<div className="bg-theme-200/50 dark:bg-theme-900/20 rounded m-1 flex-1 flex flex-col items-center justify-center p-1">
|
||||
<div className="font-thin text-sm">{error}</div>
|
||||
</div>
|
||||
);
|
||||
return <Error error={error} />
|
||||
}
|
||||
|
||||
let visibleChildren = children;
|
||||
const fields = service?.widget?.fields;
|
||||
const type = service?.widget?.type;
|
||||
if (fields && type) {
|
||||
visibleChildren = children.filter(child => fields.some(field => `${type}.${field}` === child.props?.label));
|
||||
visibleChildren = children.filter(child => fields.some(field => `${type}.${field}` === child?.props?.label));
|
||||
}
|
||||
|
||||
return <div className="relative flex flex-row w-full">{visibleChildren}</div>;
|
||||
|
||||
50
src/components/services/widget/error.jsx
Normal file
50
src/components/services/widget/error.jsx
Normal file
@@ -0,0 +1,50 @@
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { IoAlertCircle } from "react-icons/io5";
|
||||
|
||||
function displayError(error) {
|
||||
return JSON.stringify(error[1] ? error[1] : error, null, 4);
|
||||
}
|
||||
|
||||
function displayData(data) {
|
||||
return (data.type === 'Buffer') ? Buffer.from(data).toString() : JSON.stringify(data, 4);
|
||||
}
|
||||
|
||||
export default function Error({ error }) {
|
||||
const { t } = useTranslation();
|
||||
|
||||
if (error?.data?.error) {
|
||||
error = error.data.error; // eslint-disable-line no-param-reassign
|
||||
}
|
||||
|
||||
return (
|
||||
<details className="px-1 pb-1">
|
||||
<summary className="block text-center mt-1 mb-0 mx-auto p-3 rounded bg-rose-900/80 hover:bg-rose-900/95 text-theme-900 cursor-pointer">
|
||||
<div className="flex items-center justify-center text-xs font-bold">
|
||||
<IoAlertCircle className="mr-1 w-5 h-5"/>{t("widget.api_error")} {error.message && t("widget.information")}
|
||||
</div>
|
||||
</summary>
|
||||
<div className="bg-white dark:bg-theme-200/50 mt-2 rounded text-rose-900 text-xs font-mono whitespace-pre-wrap break-all">
|
||||
<ul className="p-4">
|
||||
{error.message && <li>
|
||||
<span className="text-black">{t("widget.api_error")}:</span> {error.message}
|
||||
</li>}
|
||||
{error.url && <li className="mt-2">
|
||||
<span className="text-black">{t("widget.url")}:</span> {error.url}
|
||||
</li>}
|
||||
{error.rawError && <li className="mt-2">
|
||||
<span className="text-black">{t("widget.raw_error")}:</span>
|
||||
<div className="ml-2">
|
||||
{displayError(error.rawError)}
|
||||
</div>
|
||||
</li>}
|
||||
{error.data && <li className="mt-2">
|
||||
<span className="text-black">{t("widget.response_data")}:</span>
|
||||
<div className="ml-2">
|
||||
{displayData(error.data)}
|
||||
</div>
|
||||
</li>}
|
||||
</ul>
|
||||
</div>
|
||||
</details>
|
||||
);
|
||||
}
|
||||
@@ -3,18 +3,14 @@ import useSWR from "swr";
|
||||
import { compareVersions } from "compare-versions";
|
||||
import { MdNewReleases } from "react-icons/md";
|
||||
|
||||
import cachedFetch from "utils/proxy/cached-fetch";
|
||||
|
||||
export default function Version() {
|
||||
const { t, i18n } = useTranslation();
|
||||
|
||||
const buildTime = process.env.NEXT_PUBLIC_BUILDTIME ?? new Date().toISOString();
|
||||
const revision = process.env.NEXT_PUBLIC_REVISION ?? "dev";
|
||||
const version = process.env.NEXT_PUBLIC_VERSION ?? "dev";
|
||||
const buildTime = process.env.NEXT_PUBLIC_BUILDTIME?.length ? process.env.NEXT_PUBLIC_BUILDTIME : new Date().toISOString();
|
||||
const revision = process.env.NEXT_PUBLIC_REVISION?.length ? process.env.NEXT_PUBLIC_REVISION : "dev";
|
||||
const version = process.env.NEXT_PUBLIC_VERSION?.length ? process.env.NEXT_PUBLIC_VERSION : "dev";
|
||||
|
||||
const cachedFetcher = (resource) => cachedFetch(resource, 5).then((res) => res.json());
|
||||
|
||||
const { data: releaseData } = useSWR("https://api.github.com/repos/benphelps/homepage/releases", cachedFetcher);
|
||||
const { data: releaseData } = useSWR("/api/releases");
|
||||
|
||||
// use Intl.DateTimeFormat to format the date
|
||||
const formatDate = (date) => {
|
||||
@@ -31,11 +27,24 @@ export default function Version() {
|
||||
return (
|
||||
<div className="flex flex-row items-center">
|
||||
<span className="text-xs text-theme-500 dark:text-theme-400">
|
||||
{version} ({revision.substring(0, 7)}, {formatDate(buildTime)})
|
||||
{version === "main" || version === "dev" || version === "nightly" ? (
|
||||
<>
|
||||
{version} ({revision.substring(0, 7)}, {formatDate(buildTime)})
|
||||
</>
|
||||
) : (
|
||||
<a
|
||||
href={`https://github.com/benphelps/homepage/releases/tag/${version}`}
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="ml-2 text-xs text-theme-500 dark:text-theme-400 flex flex-row items-center"
|
||||
>
|
||||
{version} ({revision.substring(0, 7)}, {formatDate(buildTime)})
|
||||
</a>
|
||||
)}
|
||||
</span>
|
||||
{version === "main" || version === "dev" || version === "nightly"
|
||||
? null
|
||||
: releaseData &&
|
||||
: releaseData && latestRelease &&
|
||||
compareVersions(latestRelease.tag_name, version) > 0 && (
|
||||
<a
|
||||
href={latestRelease.html_url}
|
||||
|
||||
@@ -13,24 +13,26 @@ const textSizes = {
|
||||
};
|
||||
|
||||
export default function DateTime({ options }) {
|
||||
const { text_size: textSize, format } = options;
|
||||
const { text_size: textSize, locale, format } = options;
|
||||
const { i18n } = useTranslation();
|
||||
const [date, setDate] = useState(new Date());
|
||||
|
||||
const [date, setDate] = useState("");
|
||||
const dateLocale = locale ?? i18n.language;
|
||||
|
||||
useEffect(() => {
|
||||
const dateFormat = new Intl.DateTimeFormat(dateLocale, { ...format });
|
||||
const interval = setInterval(() => {
|
||||
setDate(new Date());
|
||||
setDate(dateFormat.format(new Date()));
|
||||
}, 1000);
|
||||
return () => clearInterval(interval);
|
||||
}, [setDate]);
|
||||
|
||||
const dateFormat = new Intl.DateTimeFormat(i18n.language, { ...format });
|
||||
}, [date, setDate, dateLocale, format]);
|
||||
|
||||
return (
|
||||
<div className="flex flex-row items-center grow justify-end">
|
||||
<span className={`text-theme-800 dark:text-theme-200 ${textSizes[textSize || "lg"]}`}>
|
||||
{dateFormat.format(date)}
|
||||
</span>
|
||||
<div className="flex flex-col justify-center first:ml-0 ml-4">
|
||||
<div className="flex flex-row items-center grow justify-end">
|
||||
<span className={`text-theme-800 dark:text-theme-200 tabular-nums ${textSizes[textSize || "lg"]}`}>
|
||||
{date}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
74
src/components/widgets/kubernetes/kubernetes.jsx
Normal file
74
src/components/widgets/kubernetes/kubernetes.jsx
Normal file
@@ -0,0 +1,74 @@
|
||||
import useSWR from "swr";
|
||||
import { BiError } from "react-icons/bi";
|
||||
import { useTranslation } from "next-i18next";
|
||||
|
||||
import Node from "./node";
|
||||
|
||||
export default function Widget({ options }) {
|
||||
const { cluster, nodes } = options;
|
||||
const { t, i18n } = useTranslation();
|
||||
|
||||
const defaultData = {
|
||||
cpu: {
|
||||
load: 0,
|
||||
total: 0,
|
||||
percent: 0
|
||||
},
|
||||
memory: {
|
||||
used: 0,
|
||||
total: 0,
|
||||
free: 0,
|
||||
precent: 0
|
||||
}
|
||||
};
|
||||
|
||||
const { data, error } = useSWR(
|
||||
`/api/widgets/kubernetes?${new URLSearchParams({ lang: i18n.language }).toString()}`, {
|
||||
refreshInterval: 1500
|
||||
}
|
||||
);
|
||||
|
||||
if (error || data?.error) {
|
||||
return (
|
||||
<div className="flex flex-col justify-center first:ml-0 ml-4">
|
||||
<div className="flex flex-row items-center justify-end">
|
||||
<div className="flex flex-row items-center">
|
||||
<BiError className="w-8 h-8 text-theme-800 dark:text-theme-200" />
|
||||
<div className="flex flex-col ml-3 text-left">
|
||||
<span className="text-theme-800 dark:text-theme-200 text-sm">{t("widget.api_error")}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
if (!data) {
|
||||
return (
|
||||
<div className="flex flex-col max-w:full sm:basis-auto self-center grow-0 flex-wrap">
|
||||
<div className="flex flex-row self-center flex-wrap justify-between">
|
||||
{cluster.show &&
|
||||
<Node type="cluster" key="cluster" options={options.cluster} data={defaultData} />
|
||||
}
|
||||
{nodes.show &&
|
||||
<Node type="node" key="nodes" options={options.nodes} data={defaultData} />
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="flex flex-col max-w:full sm:basis-auto self-center grow-0 flex-wrap">
|
||||
<div className="flex flex-row self-center flex-wrap justify-between">
|
||||
{cluster.show &&
|
||||
<Node key="cluster" type="cluster" options={options.cluster} data={data.cluster} />
|
||||
}
|
||||
{nodes.show && data.nodes &&
|
||||
data.nodes.map((node) =>
|
||||
<Node key={node.name} type="node" options={options.nodes} data={node} />)
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
60
src/components/widgets/kubernetes/node.jsx
Normal file
60
src/components/widgets/kubernetes/node.jsx
Normal file
@@ -0,0 +1,60 @@
|
||||
import { FaMemory } from "react-icons/fa";
|
||||
import { FiAlertTriangle, FiCpu, FiServer } from "react-icons/fi";
|
||||
import { SiKubernetes } from "react-icons/si";
|
||||
import { useTranslation } from "next-i18next";
|
||||
|
||||
import UsageBar from "./usage-bar";
|
||||
|
||||
|
||||
export default function Node({ type, options, data }) {
|
||||
const { t } = useTranslation();
|
||||
|
||||
|
||||
function icon() {
|
||||
if (type === "cluster") {
|
||||
return <SiKubernetes className="text-theme-800 dark:text-theme-200 w-5 h-5" />;
|
||||
}
|
||||
if (data.ready) {
|
||||
return <FiServer className="text-theme-800 dark:text-theme-200 w-5 h-5" />;
|
||||
}
|
||||
return <FiAlertTriangle className="text-theme-800 dark:text-theme-200 w-5 h-5" />;
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="flex flex-col max-w:full sm:basis-auto self-center grow-0 flex-wrap ml-4">
|
||||
<div className="flex flex-row self-center flex-wrap justify-between">
|
||||
<div className="flex-none flex flex-row items-center mr-3 py-1.5">
|
||||
{icon()}
|
||||
<div className="flex flex-col ml-3 text-left min-w-[85px]">
|
||||
<div className="text-theme-800 dark:text-theme-200 text-xs flex flex-row justify-between">
|
||||
<div className="pl-0.5">
|
||||
{t("common.number", {
|
||||
value: data.cpu.percent,
|
||||
style: "unit",
|
||||
unit: "percent",
|
||||
maximumFractionDigits: 0
|
||||
})}
|
||||
</div>
|
||||
<FiCpu className="text-theme-800 dark:text-theme-200 w-3 h-3" />
|
||||
</div>
|
||||
<UsageBar percent={data.cpu.percent} />
|
||||
<div className="text-theme-800 dark:text-theme-200 text-xs flex flex-row justify-between">
|
||||
<div className="pl-0.5">
|
||||
{t("common.bytes", {
|
||||
value: data.memory.free,
|
||||
maximumFractionDigits: 0,
|
||||
binary: true
|
||||
})}
|
||||
</div>
|
||||
<FaMemory className="text-theme-800 dark:text-theme-200 w-3 h-3" />
|
||||
</div>
|
||||
<UsageBar percent={data.memory.percent} />
|
||||
{options.showLabel && (
|
||||
<div className="pt-1 text-center text-theme-800 dark:text-theme-200 text-xs">{type === "cluster" ? options.label : data.name}</div>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
12
src/components/widgets/kubernetes/usage-bar.jsx
Normal file
12
src/components/widgets/kubernetes/usage-bar.jsx
Normal file
@@ -0,0 +1,12 @@
|
||||
export default function UsageBar({ percent }) {
|
||||
return (
|
||||
<div className="mt-0.5 w-full bg-theme-800/30 rounded-full h-1 dark:bg-theme-200/20">
|
||||
<div
|
||||
className="bg-theme-800/70 h-1 rounded-full dark:bg-theme-200/50 transition-all duration-1000"
|
||||
style={{
|
||||
width: `${percent}%`,
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
@@ -1,56 +1,62 @@
|
||||
export default function Logo() {
|
||||
import ResolvedIcon from "components/resolvedicon"
|
||||
|
||||
export default function Logo({ options }) {
|
||||
return (
|
||||
<div className="w-12 h-12 flex flex-row items-center align-middle mr-3 self-center">
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox="0 0 1024 1024"
|
||||
style={{
|
||||
enableBackground: "new 0 0 1024 1024",
|
||||
}}
|
||||
xmlSpace="preserve"
|
||||
className="w-full h-full"
|
||||
>
|
||||
<style>
|
||||
{
|
||||
".st0{display:none}.st3{stroke-linecap:square}.st3,.st4{fill:none;stroke:#fff;stroke-miterlimit:10}.st6{display:inline;fill:#333}.st7{fill:#fff}"
|
||||
}
|
||||
</style>
|
||||
<g id="Icon">
|
||||
<path
|
||||
d="M771.9 191c27.7 0 50.1 26.5 50.1 59.3v186.4l-100.2.3V250.3c0-32.8 22.4-59.3 50.1-59.3z"
|
||||
style={{
|
||||
fill: "rgba(var(--color-logo-start))",
|
||||
}}
|
||||
/>
|
||||
<linearGradient
|
||||
id="homepage_logo_gradient"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1={200.746}
|
||||
y1={225.015}
|
||||
x2={764.986}
|
||||
y2={789.255}
|
||||
>
|
||||
<stop
|
||||
offset={0}
|
||||
{options.icon ?
|
||||
<ResolvedIcon icon={options.icon} width={48} height={48} /> :
|
||||
// fallback to homepage logo
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox="0 0 1024 1024"
|
||||
style={{
|
||||
enableBackground: "new 0 0 1024 1024",
|
||||
}}
|
||||
xmlSpace="preserve"
|
||||
className="w-full h-full"
|
||||
>
|
||||
<style>
|
||||
{
|
||||
".st0{display:none}.st3{stroke-linecap:square}.st3,.st4{fill:none;stroke:#fff;stroke-miterlimit:10}.st6{display:inline;fill:#333}.st7{fill:#fff}"
|
||||
}
|
||||
</style>
|
||||
<g id="Icon">
|
||||
<path
|
||||
d="M771.9 191c27.7 0 50.1 26.5 50.1 59.3v186.4l-100.2.3V250.3c0-32.8 22.4-59.3 50.1-59.3z"
|
||||
style={{
|
||||
stopColor: "rgba(var(--color-logo-start))",
|
||||
fill: "rgba(var(--color-logo-start))",
|
||||
}}
|
||||
/>
|
||||
<stop
|
||||
offset={1}
|
||||
<linearGradient
|
||||
id="homepage_logo_gradient"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1={200.746}
|
||||
y1={225.015}
|
||||
x2={764.986}
|
||||
y2={789.255}
|
||||
>
|
||||
<stop
|
||||
offset={0}
|
||||
style={{
|
||||
stopColor: "rgba(var(--color-logo-start))",
|
||||
}}
|
||||
/>
|
||||
<stop
|
||||
offset={1}
|
||||
style={{
|
||||
stopColor: "rgba(var(--color-logo-stop))",
|
||||
}}
|
||||
/>
|
||||
</linearGradient>
|
||||
<path
|
||||
d="M721.8 250.3c0-32.7 22.4-59.3 50.1-59.3H253.1c-27.7 0-50.1 26.5-50.1 59.3v582.2l90.2-75.7-.1-130.3H375v61.8l88-73.8 258.8 217.9V250.6"
|
||||
style={{
|
||||
stopColor: "rgba(var(--color-logo-stop))",
|
||||
fill: "url(#homepage_logo_gradient)",
|
||||
}}
|
||||
/>
|
||||
</linearGradient>
|
||||
<path
|
||||
d="M721.8 250.3c0-32.7 22.4-59.3 50.1-59.3H253.1c-27.7 0-50.1 26.5-50.1 59.3v582.2l90.2-75.7-.1-130.3H375v61.8l88-73.8 258.8 217.9V250.6"
|
||||
style={{
|
||||
fill: "url(#homepage_logo_gradient)",
|
||||
}}
|
||||
/>
|
||||
</g>
|
||||
</svg>
|
||||
</g>
|
||||
</svg>
|
||||
}
|
||||
</div>
|
||||
);
|
||||
)
|
||||
}
|
||||
|
||||
57
src/components/widgets/longhorn/longhorn.jsx
Normal file
57
src/components/widgets/longhorn/longhorn.jsx
Normal file
@@ -0,0 +1,57 @@
|
||||
import useSWR from "swr";
|
||||
import { BiError } from "react-icons/bi";
|
||||
import { useTranslation } from "next-i18next";
|
||||
|
||||
import Node from "./node";
|
||||
|
||||
export default function Longhorn({ options }) {
|
||||
const { expanded, total, labels, include, nodes } = options;
|
||||
const { t } = useTranslation();
|
||||
const { data, error } = useSWR(`/api/widgets/longhorn`, {
|
||||
refreshInterval: 1500
|
||||
});
|
||||
|
||||
if (error || data?.error) {
|
||||
return (
|
||||
<div className="flex flex-col max-w:full sm:basis-auto self-center grow-0 flex-wrap">
|
||||
<BiError className="text-theme-800 dark:text-theme-200 w-5 h-5" />
|
||||
<div className="flex flex-col ml-3 text-left">
|
||||
<span className="text-theme-800 dark:text-theme-200 text-xs">{t("widget.api_error")}</span>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
if (!data) {
|
||||
return (
|
||||
<div className="flex flex-col max-w:full sm:basis-auto self-center grow-0 flex-wrap">
|
||||
<div className="flex flex-row self-center flex-wrap justify-between" />
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="flex flex-col max-w:full sm:basis-auto self-center grow-0 flex-wrap">
|
||||
<div className="flex flex-row self-center flex-wrap justify-between">
|
||||
{data.nodes
|
||||
.filter((node) => {
|
||||
if (node.id === 'total' && total) {
|
||||
return true;
|
||||
}
|
||||
if (!nodes) {
|
||||
return false;
|
||||
}
|
||||
if (include && !include.includes(node.id)) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
})
|
||||
.map((node) =>
|
||||
<div key={node.id}>
|
||||
<Node data={{ node }} expanded={expanded} labels={labels} />
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
32
src/components/widgets/longhorn/node.jsx
Normal file
32
src/components/widgets/longhorn/node.jsx
Normal file
@@ -0,0 +1,32 @@
|
||||
import { FiHardDrive } from "react-icons/fi";
|
||||
import { useTranslation } from "next-i18next";
|
||||
|
||||
import UsageBar from "../resources/usage-bar";
|
||||
|
||||
export default function Node({ data, expanded, labels }) {
|
||||
const { t } = useTranslation();
|
||||
|
||||
return (
|
||||
<>
|
||||
<div className="flex-none flex flex-row items-center mr-3 py-1.5">
|
||||
<FiHardDrive className="text-theme-800 dark:text-theme-200 w-5 h-5" />
|
||||
<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">{t("common.bytes", { value: data.node.available })}</div>
|
||||
<div className="pr-1">{t("resources.free")}</div>
|
||||
</span>
|
||||
{expanded && (
|
||||
<span className="text-theme-800 dark:text-theme-200 text-xs flex flex-row justify-between">
|
||||
<div className="pl-0.5">{t("common.bytes", { value: data.node.maximum })}</div>
|
||||
<div className="pr-1">{t("resources.total")}</div>
|
||||
</span>
|
||||
)}
|
||||
<UsageBar percent={Math.round(((data.node.maximum - data.node.available) / data.node.maximum) * 100)} />
|
||||
</div>
|
||||
</div>
|
||||
{labels && (
|
||||
<div className="ml-6 pt-1 text-center text-theme-800 dark:text-theme-200 text-xs">{data.node.id}</div>
|
||||
)}
|
||||
</>
|
||||
);
|
||||
}
|
||||
7
src/components/widgets/openmeteo/icon.jsx
Normal file
7
src/components/widgets/openmeteo/icon.jsx
Normal file
@@ -0,0 +1,7 @@
|
||||
import mapIcon from "utils/weather/openmeteo-condition-map";
|
||||
|
||||
export default function Icon({ condition, timeOfDay }) {
|
||||
const IconComponent = mapIcon(condition, timeOfDay);
|
||||
|
||||
return <IconComponent className="w-10 h-10 text-theme-800 dark:text-theme-200" />;
|
||||
}
|
||||
130
src/components/widgets/openmeteo/openmeteo.jsx
Normal file
130
src/components/widgets/openmeteo/openmeteo.jsx
Normal file
@@ -0,0 +1,130 @@
|
||||
import useSWR from "swr";
|
||||
import { useState } from "react";
|
||||
import { BiError } from "react-icons/bi";
|
||||
import { WiCloudDown } from "react-icons/wi";
|
||||
import { MdLocationDisabled, MdLocationSearching } from "react-icons/md";
|
||||
import { useTranslation } from "next-i18next";
|
||||
|
||||
import Icon from "./icon";
|
||||
|
||||
function Widget({ options }) {
|
||||
const { t } = useTranslation();
|
||||
|
||||
const { data, error } = useSWR(
|
||||
`/api/widgets/openmeteo?${new URLSearchParams({ ...options }).toString()}`
|
||||
);
|
||||
|
||||
if (error || data?.error) {
|
||||
return (
|
||||
<div className="flex flex-col justify-center first:ml-0 ml-4 mr-2">
|
||||
<div className="flex flex-row items-center justify-end">
|
||||
<div className="flex flex-col items-center">
|
||||
<BiError className="w-8 h-8 text-theme-800 dark:text-theme-200" />
|
||||
<div className="flex flex-col ml-3 text-left">
|
||||
<span className="text-theme-800 dark:text-theme-200 text-sm">{t("widget.api_error")}</span>
|
||||
<span className="text-theme-800 dark:text-theme-200 text-xs">-</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
if (!data) {
|
||||
return (
|
||||
<div className="flex flex-col justify-center first:ml-0 ml-4 mr-2">
|
||||
<div className="flex flex-row items-center justify-end">
|
||||
<div className="flex flex-col items-center">
|
||||
<WiCloudDown className="w-8 h-8 text-theme-800 dark:text-theme-200" />
|
||||
</div>
|
||||
<div className="flex flex-col ml-3 text-left">
|
||||
<span className="text-theme-800 dark:text-theme-200 text-sm">{t("weather.updating")}</span>
|
||||
<span className="text-theme-800 dark:text-theme-200 text-xs">{t("weather.wait")}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
const unit = options.units === "metric" ? "celsius" : "fahrenheit";
|
||||
const timeOfDay = data.current_weather.time > data.daily.sunrise[0] && data.current_weather.time < data.daily.sunset[0] ? "day" : "night";
|
||||
|
||||
return (
|
||||
<div className="flex flex-col justify-center first:ml-0 ml-4 mr-2">
|
||||
<div className="flex flex-row items-center justify-end">
|
||||
<div className="flex flex-col items-center">
|
||||
<Icon condition={data.current_weather.weathercode} timeOfDay={timeOfDay} />
|
||||
</div>
|
||||
<div className="flex flex-col ml-3 text-left">
|
||||
<span className="text-theme-800 dark:text-theme-200 text-sm">
|
||||
{options.label && `${options.label}, `}
|
||||
{t("common.number", {
|
||||
value: data.current_weather.temperature,
|
||||
style: "unit",
|
||||
unit,
|
||||
})}
|
||||
</span>
|
||||
<span className="text-theme-800 dark:text-theme-200 text-xs">{t(`wmo.${data.current_weather.weathercode}-${timeOfDay}`)}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export default function OpenMeteo({ options }) {
|
||||
const { t } = useTranslation();
|
||||
const [location, setLocation] = useState(false);
|
||||
const [requesting, setRequesting] = useState(false);
|
||||
|
||||
if (!location && options.latitude && options.longitude) {
|
||||
setLocation({ latitude: options.latitude, longitude: options.longitude });
|
||||
}
|
||||
|
||||
const requestLocation = () => {
|
||||
setRequesting(true);
|
||||
if (typeof window !== "undefined") {
|
||||
navigator.geolocation.getCurrentPosition(
|
||||
(position) => {
|
||||
setLocation({ latitude: position.coords.latitude, longitude: position.coords.longitude });
|
||||
setRequesting(false);
|
||||
},
|
||||
() => {
|
||||
setRequesting(false);
|
||||
},
|
||||
{
|
||||
enableHighAccuracy: true,
|
||||
maximumAge: 1000 * 60 * 60 * 3,
|
||||
timeout: 1000 * 30,
|
||||
}
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
// if (!requesting && !location) requestLocation();
|
||||
|
||||
if (!location) {
|
||||
return (
|
||||
<button
|
||||
type="button"
|
||||
onClick={() => requestLocation()}
|
||||
className="flex flex-col justify-center first:ml-0 ml-4 mr-2"
|
||||
>
|
||||
<div className="flex flex-row items-center justify-end">
|
||||
<div className="flex flex-col items-center">
|
||||
{requesting ? (
|
||||
<MdLocationSearching className="w-6 h-6 text-theme-800 dark:text-theme-200 animate-pulse" />
|
||||
) : (
|
||||
<MdLocationDisabled className="w-6 h-6 text-theme-800 dark:text-theme-200" />
|
||||
)}
|
||||
</div>
|
||||
<div className="flex flex-col ml-3 text-left">
|
||||
<span className="text-theme-800 dark:text-theme-200 text-sm">{t("weather.current")}</span>
|
||||
<span className="text-theme-800 dark:text-theme-200 text-xs">{t("weather.allow")}</span>
|
||||
</div>
|
||||
</div>
|
||||
</button>
|
||||
);
|
||||
}
|
||||
|
||||
return <Widget options={{ ...location, ...options }} />;
|
||||
}
|
||||
@@ -54,7 +54,7 @@ function Widget({ options }) {
|
||||
<div className="hidden sm:flex flex-col items-center">
|
||||
<Icon
|
||||
condition={data.weather[0].id}
|
||||
timeOfDay={data.dt > data.sys.sunrise && data.dt < data.sys.sundown ? "day" : "night"}
|
||||
timeOfDay={data.dt > data.sys.sunrise && data.dt < data.sys.sunset ? "day" : "night"}
|
||||
/>
|
||||
</div>
|
||||
<div className="flex flex-col ml-3 text-left">
|
||||
|
||||
@@ -38,7 +38,7 @@ export default function Cpu({ expanded }) {
|
||||
<div className="pr-1">{t("resources.load")}</div>
|
||||
</div>
|
||||
)}
|
||||
<UsageBar percent={100} />
|
||||
<UsageBar percent={0} />
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
|
||||
@@ -38,7 +38,7 @@ export default function Disk({ options, expanded }) {
|
||||
<div className="pr-1">{t("resources.total")}</div>
|
||||
</span>
|
||||
)}
|
||||
<UsageBar percent={100} />
|
||||
<UsageBar percent={0} />
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
|
||||
@@ -38,7 +38,7 @@ export default function Memory({ expanded }) {
|
||||
<div className="pr-1">{t("resources.total")}</div>
|
||||
</span>
|
||||
)}
|
||||
<UsageBar percent={100} />
|
||||
<UsageBar percent={0} />
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
@@ -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">
|
||||
{t("common.bytes", { value: data.memory.freeMemMb * 1024 * 1024, maximumFractionDigits: 0, binary: true })}
|
||||
{t("common.bytes", { value: data.memory.freeMemMb * 1024 * 1024, maximumFractionDigits: 1, binary: true })}
|
||||
</div>
|
||||
<div className="pr-1">{t("resources.free")}</div>
|
||||
</span>
|
||||
@@ -61,7 +61,7 @@ export default function Memory({ expanded }) {
|
||||
<div className="pl-0.5">
|
||||
{t("common.bytes", {
|
||||
value: data.memory.totalMemMb * 1024 * 1024,
|
||||
maximumFractionDigits: 0,
|
||||
maximumFractionDigits: 1,
|
||||
binary: true,
|
||||
})}
|
||||
</div>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { useState } from "react";
|
||||
import { useTranslation } from "next-i18next";
|
||||
import { FiSearch } from "react-icons/fi";
|
||||
import { SiDuckduckgo, SiMicrosoftbing, SiGoogle, SiBaidu } from "react-icons/si";
|
||||
import { SiDuckduckgo, SiMicrosoftbing, SiGoogle, SiBaidu, SiBrave } from "react-icons/si";
|
||||
|
||||
const providers = {
|
||||
google: {
|
||||
@@ -24,6 +24,11 @@ const providers = {
|
||||
url: "https://www.baidu.com/s?wd=",
|
||||
icon: SiBaidu,
|
||||
},
|
||||
brave: {
|
||||
name: "Brave",
|
||||
url: "https://search.brave.com/search?q=",
|
||||
icon: SiBrave,
|
||||
},
|
||||
custom: {
|
||||
name: "Custom",
|
||||
url: false,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { BiError, BiWifi, BiCheckCircle, BiXCircle } from "react-icons/bi";
|
||||
import { BiError, BiWifi, BiCheckCircle, BiXCircle, BiNetworkChart } from "react-icons/bi";
|
||||
import { MdSettingsEthernet } from "react-icons/md";
|
||||
import { useTranslation } from "next-i18next";
|
||||
import { SiUbiquiti } from "react-icons/si";
|
||||
@@ -12,7 +12,7 @@ export default function Widget({ options }) {
|
||||
options.type = "unifi_console";
|
||||
const { data: statsData, error: statsError } = useWidgetAPI(options, "stat/sites", { index: options.index });
|
||||
|
||||
if (statsError || statsData?.error) {
|
||||
if (statsError) {
|
||||
return (
|
||||
<div className="flex flex-col justify-center first:ml-0 ml-4">
|
||||
<div className="flex flex-row items-center justify-end">
|
||||
@@ -48,71 +48,89 @@ export default function Widget({ options }) {
|
||||
const wan = defaultSite.health.find(h => h.subsystem === "wan");
|
||||
const lan = defaultSite.health.find(h => h.subsystem === "lan");
|
||||
const wlan = defaultSite.health.find(h => h.subsystem === "wlan");
|
||||
const data = {
|
||||
name: wan.gw_name,
|
||||
uptime: wan["gw_system-stats"].uptime,
|
||||
up: wan.status === 'ok',
|
||||
wlan: {
|
||||
users: wlan.num_user,
|
||||
status: wlan.status
|
||||
},
|
||||
lan: {
|
||||
users: lan.num_user,
|
||||
status: lan.status
|
||||
}
|
||||
};
|
||||
[wan, lan, wlan].forEach(s => {
|
||||
s.up = s.status === "ok" // eslint-disable-line no-param-reassign
|
||||
s.show = s.status !== "unknown" // eslint-disable-line no-param-reassign
|
||||
});
|
||||
const name = wan.gw_name ?? defaultSite.desc;
|
||||
const uptime = wan["gw_system-stats"] ? wan["gw_system-stats"].uptime : null;
|
||||
|
||||
return (
|
||||
<div className="flex-none flex flex-row items-center mr-3 py-1.5">
|
||||
<div className="flex flex-col">
|
||||
<div className="flex flex-row ml-3">
|
||||
<div className="flex flex-row ml-3 mb-0.5">
|
||||
<SiUbiquiti className="text-theme-800 dark:text-theme-200 w-3 h-3 mr-1" />
|
||||
<div className="text-theme-800 dark:text-theme-200 text-xs font-bold flex flex-row justify-between">
|
||||
{data.name}
|
||||
{name}
|
||||
</div>
|
||||
</div>
|
||||
<div className="flex flex-row ml-3 text-[10px] justify-between">
|
||||
<div className="flex flex-row" title={t("unifi.uptime")}>
|
||||
{uptime && <div className="flex flex-row" title={t("unifi.uptime")}>
|
||||
<div className="pr-0.5 text-theme-800 dark:text-theme-200">
|
||||
{t("common.number", {
|
||||
value: data.uptime / 86400,
|
||||
value: uptime / 86400,
|
||||
maximumFractionDigits: 1,
|
||||
})}
|
||||
</div>
|
||||
<div className="pr-1 text-theme-800 dark:text-theme-200">{t("unifi.days")}</div>
|
||||
</div>
|
||||
<div className="flex flex-row">
|
||||
</div>}
|
||||
{wan.show && <div className="flex flex-row">
|
||||
<div className="pr-1 text-theme-800 dark:text-theme-200">{t("unifi.wan")}</div>
|
||||
{ data.up
|
||||
{wan.up
|
||||
? <BiCheckCircle className="text-theme-800 dark:text-theme-200 h-4 w-3" />
|
||||
: <BiXCircle className="text-theme-800 dark:text-theme-200 h-4 w-3" />
|
||||
}
|
||||
</div>
|
||||
</div>}
|
||||
{!wan.show && !lan.show && wlan.show && <div className="flex flex-row">
|
||||
<div className="pr-1 text-theme-800 dark:text-theme-200">{t("unifi.wlan")}</div>
|
||||
{wlan.up
|
||||
? <BiCheckCircle className="text-theme-800 dark:text-theme-200 h-4 w-3" />
|
||||
: <BiXCircle className="text-theme-800 dark:text-theme-200 h-4 w-3" />
|
||||
}
|
||||
</div>}
|
||||
{!wan.show && !wlan.show && lan.show && <div className="flex flex-row">
|
||||
<div className="pr-1 text-theme-800 dark:text-theme-200">{t("unifi.lan")}</div>
|
||||
{lan.up
|
||||
? <BiCheckCircle className="text-theme-800 dark:text-theme-200 h-4 w-3" />
|
||||
: <BiXCircle className="text-theme-800 dark:text-theme-200 h-4 w-3" />
|
||||
}
|
||||
</div>}
|
||||
</div>
|
||||
</div>
|
||||
<div className="flex flex-col">
|
||||
<div className="flex flex-row ml-3 py-0.5">
|
||||
{wlan.show && <div className="flex flex-row ml-3 py-0.5">
|
||||
<BiWifi className="text-theme-800 dark:text-theme-200 w-4 h-4 mr-1" />
|
||||
<div className="text-theme-800 dark:text-theme-200 text-xs flex flex-row justify-between" title={t("unifi.users")}>
|
||||
<div className="pr-0.5">
|
||||
{t("common.number", {
|
||||
value: data.wlan.users,
|
||||
value: wlan.num_user,
|
||||
maximumFractionDigits: 0,
|
||||
})}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="flex flex-row ml-3 pb-0.5">
|
||||
</div>}
|
||||
{lan.show && <div className="flex flex-row ml-3 pb-0.5">
|
||||
<MdSettingsEthernet className="text-theme-800 dark:text-theme-200 w-4 h-4 mr-1" />
|
||||
<div className="text-theme-800 dark:text-theme-200 text-xs flex flex-row justify-between" title={t("unifi.users")}>
|
||||
<div className="pr-0.5">
|
||||
{t("common.number", {
|
||||
value: data.lan.users,
|
||||
value: lan.num_user,
|
||||
maximumFractionDigits: 0,
|
||||
})}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>}
|
||||
{(wlan.show && !lan.show || !wlan.show && lan.show) && <div className="flex flex-row ml-3 py-0.5">
|
||||
<BiNetworkChart className="text-theme-800 dark:text-theme-200 w-4 h-4 mr-1" />
|
||||
<div className="text-theme-800 dark:text-theme-200 text-xs flex flex-row justify-between" title={t("unifi.devices")}>
|
||||
<div className="pr-0.5">
|
||||
{t("common.number", {
|
||||
value: wlan.show ? wlan.num_adopted : lan.num_adopted,
|
||||
maximumFractionDigits: 0,
|
||||
})}
|
||||
</div>
|
||||
</div>
|
||||
</div>}
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
|
||||
@@ -12,6 +12,9 @@ const widgetMappings = {
|
||||
logo: dynamic(() => import("components/widgets/logo/logo"), { ssr: false }),
|
||||
unifi_console: dynamic(() => import("components/widgets/unifi_console/unifi_console")),
|
||||
glances: dynamic(() => import("components/widgets/glances/glances")),
|
||||
openmeteo: dynamic(() => import("components/widgets/openmeteo/openmeteo")),
|
||||
longhorn: dynamic(() => import("components/widgets/longhorn/longhorn")),
|
||||
kubernetes: dynamic(() => import("components/widgets/kubernetes/kubernetes")),
|
||||
};
|
||||
|
||||
export default function Widget({ widget }) {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
/* eslint-disable react/jsx-props-no-spreading */
|
||||
import { SWRConfig } from "swr";
|
||||
import { appWithTranslation } from "next-i18next";
|
||||
import Head from "next/head";
|
||||
|
||||
import "styles/globals.css";
|
||||
import "styles/theme.css";
|
||||
@@ -18,6 +19,10 @@ function MyApp({ Component, pageProps }) {
|
||||
fetcher: (resource, init) => fetch(resource, init).then((res) => res.json()),
|
||||
}}
|
||||
>
|
||||
<Head>
|
||||
{/* https://nextjs.org/docs/messages/no-document-viewport-meta */}
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" />
|
||||
</Head>
|
||||
<ColorProvider>
|
||||
<ThemeProvider>
|
||||
<SettingsProvider>
|
||||
|
||||
@@ -9,10 +9,6 @@ export default function Document() {
|
||||
content="A highly customizable homepage (or startpage / application dashboard) with Docker and service API integrations."
|
||||
/>
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" />
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png?v=4" />
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png?v=4" />
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png?v=4" />
|
||||
<link rel="manifest" href="/site.webmanifest?v=4" />
|
||||
<link rel="mask-icon" href="/safari-pinned-tab.svg?v=4" color="#1e9cd7" />
|
||||
</Head>
|
||||
|
||||
@@ -14,7 +14,8 @@ export default async function handler(req, res) {
|
||||
}
|
||||
|
||||
try {
|
||||
const docker = new Docker(getDockerArguments(containerServer));
|
||||
const dockerArgs = getDockerArguments(containerServer);
|
||||
const docker = new Docker(dockerArgs.conn);
|
||||
const containers = await docker.listContainers({
|
||||
all: true,
|
||||
});
|
||||
@@ -31,22 +32,48 @@ export default async function handler(req, res) {
|
||||
const containerNames = containers.map((container) => container.Names[0].replace(/^\//, ""));
|
||||
const containerExists = containerNames.includes(containerName);
|
||||
|
||||
if (!containerExists) {
|
||||
res.status(200).send({
|
||||
error: "not found",
|
||||
if (containerExists) {
|
||||
const container = docker.getContainer(containerName);
|
||||
const stats = await container.stats({ stream: false });
|
||||
|
||||
res.status(200).json({
|
||||
stats,
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
const container = docker.getContainer(containerName);
|
||||
const stats = await container.stats({ stream: false });
|
||||
// Try with a service deployed in Docker Swarm, if enabled
|
||||
if (dockerArgs.swarm) {
|
||||
const tasks = await docker.listTasks({
|
||||
filters: {
|
||||
service: [containerName],
|
||||
// A service can have several offline containers, so we only look for an active one.
|
||||
"desired-state": ["running"],
|
||||
},
|
||||
})
|
||||
.catch(() => []);
|
||||
|
||||
res.status(200).json({
|
||||
stats,
|
||||
// For now we are only interested in the first one (in case replicas > 1).
|
||||
// TODO: Show the result for all replicas/containers?
|
||||
const taskContainerId = tasks.at(0)?.Status?.ContainerStatus?.ContainerID;
|
||||
|
||||
if (taskContainerId) {
|
||||
const container = docker.getContainer(taskContainerId);
|
||||
const stats = await container.stats({ stream: false });
|
||||
|
||||
res.status(200).json({
|
||||
stats,
|
||||
});
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
res.status(200).send({
|
||||
error: "not found",
|
||||
});
|
||||
} catch {
|
||||
res.status(500).send({
|
||||
error: "unknown error",
|
||||
error: {message: "Unknown error"},
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,8 @@ export default async function handler(req, res) {
|
||||
}
|
||||
|
||||
try {
|
||||
const docker = new Docker(getDockerArguments(containerServer));
|
||||
const dockerArgs = getDockerArguments(containerServer);
|
||||
const docker = new Docker(dockerArgs.conn);
|
||||
const containers = await docker.listContainers({
|
||||
all: true,
|
||||
});
|
||||
@@ -29,17 +30,43 @@ export default async function handler(req, res) {
|
||||
const containerNames = containers.map((container) => container.Names[0].replace(/^\//, ""));
|
||||
const containerExists = containerNames.includes(containerName);
|
||||
|
||||
if (!containerExists) {
|
||||
return res.status(200).send({
|
||||
error: "not found",
|
||||
if (containerExists) {
|
||||
const container = docker.getContainer(containerName);
|
||||
const info = await container.inspect();
|
||||
|
||||
return res.status(200).json({
|
||||
status: info.State.Status,
|
||||
health: info.State.Health?.Status,
|
||||
});
|
||||
}
|
||||
|
||||
const container = docker.getContainer(containerName);
|
||||
const info = await container.inspect();
|
||||
if (dockerArgs.swarm) {
|
||||
const tasks = await docker.listTasks({
|
||||
filters: {
|
||||
service: [containerName],
|
||||
// A service can have several offline containers, we only look for an active one.
|
||||
"desired-state": ["running"],
|
||||
},
|
||||
})
|
||||
.catch(() => []);
|
||||
|
||||
return res.status(200).json({
|
||||
status: info.State.Status,
|
||||
// For now we are only interested in the first one (in case replicas > 1).
|
||||
// TODO: Show the result for all replicas/containers?
|
||||
const taskContainerId = tasks.at(0)?.Status?.ContainerStatus?.ContainerID;
|
||||
|
||||
if (taskContainerId) {
|
||||
const container = docker.getContainer(taskContainerId);
|
||||
const info = await container.inspect();
|
||||
|
||||
return res.status(200).json({
|
||||
status: info.State.Status,
|
||||
health: info.State.Health?.Status,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
return res.status(200).send({
|
||||
error: "not found",
|
||||
});
|
||||
} catch {
|
||||
return res.status(500).send({
|
||||
|
||||
110
src/pages/api/kubernetes/stats/[...service].js
Normal file
110
src/pages/api/kubernetes/stats/[...service].js
Normal file
@@ -0,0 +1,110 @@
|
||||
import { CoreV1Api, Metrics } from "@kubernetes/client-node";
|
||||
|
||||
import getKubeConfig from "../../../../utils/config/kubernetes";
|
||||
import { parseCpu, parseMemory } from "../../../../utils/kubernetes/kubernetes-utils";
|
||||
import createLogger from "../../../../utils/logger";
|
||||
|
||||
const logger = createLogger("kubernetesStatsService");
|
||||
|
||||
export default async function handler(req, res) {
|
||||
const APP_LABEL = "app.kubernetes.io/name";
|
||||
const { service, podSelector } = req.query;
|
||||
|
||||
const [namespace, appName] = service;
|
||||
if (!namespace && !appName) {
|
||||
res.status(400).send({
|
||||
error: "kubernetes query parameters are required"
|
||||
});
|
||||
return;
|
||||
}
|
||||
const labelSelector = podSelector !== undefined ? podSelector : `${APP_LABEL}=${appName}`;
|
||||
|
||||
try {
|
||||
const kc = getKubeConfig();
|
||||
if (!kc) {
|
||||
res.status(500).send({
|
||||
error: "No kubernetes configuration"
|
||||
});
|
||||
return;
|
||||
}
|
||||
const coreApi = kc.makeApiClient(CoreV1Api);
|
||||
const metricsApi = new Metrics(kc);
|
||||
const podsResponse = await coreApi.listNamespacedPod(namespace, null, null, null, null, labelSelector)
|
||||
.then((response) => response.body)
|
||||
.catch((err) => {
|
||||
logger.error("Error getting pods: %d %s %s", err.statusCode, err.body, err.response);
|
||||
return null;
|
||||
});
|
||||
if (!podsResponse) {
|
||||
res.status(500).send({
|
||||
error: "Error communicating with kubernetes"
|
||||
});
|
||||
return;
|
||||
}
|
||||
const pods = podsResponse.items;
|
||||
|
||||
if (pods.length === 0) {
|
||||
res.status(404).send({
|
||||
error: "not found"
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
let cpuLimit = 0;
|
||||
let memLimit = 0;
|
||||
pods.forEach((pod) => {
|
||||
pod.spec.containers.forEach((container) => {
|
||||
if (container?.resources?.limits?.cpu) {
|
||||
cpuLimit += parseCpu(container?.resources?.limits?.cpu);
|
||||
}
|
||||
if (container?.resources?.limits?.memory) {
|
||||
memLimit += parseMemory(container?.resources?.limits?.memory);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
const podStatsList = await Promise.all(pods.map(async (pod) => {
|
||||
let depMem = 0;
|
||||
let depCpu = 0;
|
||||
const podMetrics = await metricsApi.getPodMetrics(namespace, pod.metadata.name)
|
||||
.then((response) => response)
|
||||
.catch((err) => {
|
||||
// 404 generally means that the metrics have not been populated yet
|
||||
if (err.statusCode !== 404) {
|
||||
logger.error("Error getting pod metrics: %d %s %s", err.statusCode, err.body, err.response);
|
||||
}
|
||||
return null;
|
||||
});
|
||||
if (podMetrics) {
|
||||
podMetrics.containers.forEach((container) => {
|
||||
depMem += parseMemory(container.usage.memory);
|
||||
depCpu += parseCpu(container.usage.cpu);
|
||||
});
|
||||
}
|
||||
return {
|
||||
mem: depMem,
|
||||
cpu: depCpu
|
||||
};
|
||||
}));
|
||||
const stats = {
|
||||
mem: 0,
|
||||
cpu: 0
|
||||
}
|
||||
podStatsList.forEach((podStat) => {
|
||||
stats.mem += podStat.mem;
|
||||
stats.cpu += podStat.cpu;
|
||||
});
|
||||
stats.cpuLimit = cpuLimit;
|
||||
stats.memLimit = memLimit;
|
||||
stats.cpuUsage = cpuLimit ? stats.cpu / cpuLimit : 0;
|
||||
stats.memUsage = memLimit ? stats.mem / memLimit : 0;
|
||||
res.status(200).json({
|
||||
stats
|
||||
});
|
||||
} catch (e) {
|
||||
logger.error(e);
|
||||
res.status(500).send({
|
||||
error: "unknown error"
|
||||
});
|
||||
}
|
||||
}
|
||||
66
src/pages/api/kubernetes/status/[...service].js
Normal file
66
src/pages/api/kubernetes/status/[...service].js
Normal file
@@ -0,0 +1,66 @@
|
||||
import { CoreV1Api } from "@kubernetes/client-node";
|
||||
|
||||
import getKubeConfig from "../../../../utils/config/kubernetes";
|
||||
import createLogger from "../../../../utils/logger";
|
||||
|
||||
const logger = createLogger("kubernetesStatusService");
|
||||
|
||||
export default async function handler(req, res) {
|
||||
const APP_LABEL = "app.kubernetes.io/name";
|
||||
const { service, podSelector } = req.query;
|
||||
|
||||
const [namespace, appName] = service;
|
||||
if (!namespace && !appName) {
|
||||
res.status(400).send({
|
||||
error: "kubernetes query parameters are required",
|
||||
});
|
||||
return;
|
||||
}
|
||||
const labelSelector = podSelector !== undefined ? podSelector : `${APP_LABEL}=${appName}`;
|
||||
try {
|
||||
const kc = getKubeConfig();
|
||||
if (!kc) {
|
||||
res.status(500).send({
|
||||
error: "No kubernetes configuration"
|
||||
});
|
||||
return;
|
||||
}
|
||||
const coreApi = kc.makeApiClient(CoreV1Api);
|
||||
const podsResponse = await coreApi.listNamespacedPod(namespace, null, null, null, null, labelSelector)
|
||||
.then((response) => response.body)
|
||||
.catch((err) => {
|
||||
logger.error("Error getting pods: %d %s %s", err.statusCode, err.body, err.response);
|
||||
return null;
|
||||
});
|
||||
if (!podsResponse) {
|
||||
res.status(500).send({
|
||||
error: "Error communicating with kubernetes"
|
||||
});
|
||||
return;
|
||||
}
|
||||
const pods = podsResponse.items;
|
||||
|
||||
if (pods.length === 0) {
|
||||
res.status(404).send({
|
||||
error: "not found",
|
||||
});
|
||||
return;
|
||||
}
|
||||
const someReady = pods.find(pod => pod.status.phase === "Running");
|
||||
const allReady = pods.every((pod) => pod.status.phase === "Running");
|
||||
let status = "down";
|
||||
if (allReady) {
|
||||
status = "running";
|
||||
} else if (someReady) {
|
||||
status = "partial";
|
||||
}
|
||||
res.status(200).json({
|
||||
status
|
||||
});
|
||||
} catch (e) {
|
||||
logger.error(e);
|
||||
res.status(500).send({
|
||||
error: "unknown error",
|
||||
});
|
||||
}
|
||||
}
|
||||
35
src/pages/api/ping.js
Normal file
35
src/pages/api/ping.js
Normal file
@@ -0,0 +1,35 @@
|
||||
import { performance } from "perf_hooks";
|
||||
|
||||
import createLogger from "utils/logger";
|
||||
import { httpProxy } from "utils/proxy/http";
|
||||
|
||||
const logger = createLogger("ping");
|
||||
|
||||
export default async function handler(req, res) {
|
||||
const { ping: pingURL } = req.query;
|
||||
|
||||
if (!pingURL) {
|
||||
logger.debug("No ping URL specified");
|
||||
return res.status(400).send({
|
||||
error: "No ping URL given",
|
||||
});
|
||||
}
|
||||
|
||||
let startTime = performance.now();
|
||||
let [status] = await httpProxy(pingURL, {
|
||||
method: "HEAD"
|
||||
});
|
||||
let endTime = performance.now();
|
||||
|
||||
if (status >= 400) {
|
||||
// try one more time as a GET in case HEAD is rejected for whatever reason
|
||||
startTime = performance.now();
|
||||
[status] = await httpProxy(pingURL);
|
||||
endTime = performance.now();
|
||||
}
|
||||
|
||||
return res.status(200).json({
|
||||
status,
|
||||
latency: endTime - startTime
|
||||
});
|
||||
}
|
||||
6
src/pages/api/releases.js
Normal file
6
src/pages/api/releases.js
Normal file
@@ -0,0 +1,6 @@
|
||||
import cachedFetch from "utils/proxy/cached-fetch";
|
||||
|
||||
export default async function handler(req, res) {
|
||||
const releasesURL = "https://api.github.com/repos/benphelps/homepage/releases";
|
||||
return res.send(await cachedFetch(releasesURL, 5));
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user