Compare commits

..

195 commits

Author SHA1 Message Date
1370cd195a homepage-plus
Some checks failed
Docker CI / Linting Checks (push) Has been cancelled
Docker CI / Docker Build & Push (push) Has been cancelled
2025-05-07 09:16:23 +02:00
shamoon
2376184b14
Bump version to 1.2.0 2025-04-28 10:43:35 -07:00
github-actions[bot]
7272823d20
New Crowdin translations by GitHub Action (#5092)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2025-04-28 10:43:35 -07:00
choehn86
4a9ca62efd
Enhancement: Add support for specifying a datastore to PBS widget (#4614)
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2025-04-28 08:00:02 -07:00
Rayan Mestiri
a35da39c03
Enhancement: add label formatting for dynamic-list customapi widget (#5217) 2025-04-25 01:11:03 -07:00
xethlyx
d99c3cb691
Fix: kubernetes statistics not respecting selector (#5199) 2025-04-20 17:39:56 -07:00
Kevin Stone
1fe4f49771
Fix: Longhorn still showing Total despite total: false (#5200) 2025-04-20 17:39:25 -07:00
dependabot[bot]
0a1bf3b2be
Chore(deps): Bump next from 15.2.3 to 15.2.4 (#5159)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-08 15:08:54 -07:00
shamoon
e2c997f29d
Change: install iputils-ping inside docker image (#5153) 2025-04-07 23:59:22 -07:00
shamoon
ae9fbdcb8b
Chore: change hoarder widget to karakeep (#5143) 2025-04-05 23:54:48 -07:00
shamoon
6597ec566b
Fix translation issue 2025-04-01 09:52:33 -07:00
shamoon
52399e21e1
Fix depth issue with t 2025-04-01 09:48:28 -07:00
dependabot[bot]
dbc26e835c
Chore(deps): Bump swr from 1.3.0 to 2.3.3 (#5111)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-01 09:36:44 -07:00
dependabot[bot]
a59ee5a605
Chore(deps-dev): Bump eslint-config-next from 15.1.7 to 15.2.4 (#5113)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-01 09:32:05 -07:00
dependabot[bot]
f46568ec2a
Chore(deps-dev): Bump eslint-config-prettier from 10.0.2 to 10.1.1 (#5112)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-01 09:24:46 -07:00
dependabot[bot]
5e946ed2c2
Chore(deps-dev): Bump postcss from 8.5.2 to 8.5.3 (#5110)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-01 09:24:24 -07:00
dependabot[bot]
6741eb723d
Chore(deps): Bump i18next from 21.10.0 to 24.2.3 (#5109)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-01 09:22:36 -07:00
RoboMagus
1666106dcd
Chore: add more Docker Semver Tags (#5107)
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2025-03-31 06:44:17 -07:00
shamoon
eda06965fa
Chore: add organize imports to pre-commit (#5104) 2025-03-30 21:40:03 -07:00
shamoon
954ab54493
Speed up CI: Skip unnecessary build steps, optimize caching etc (#5098) 2025-03-30 08:52:23 -07:00
Chris
30cb893354
Fix: remove unneeded import from Hoarder widget.js (#5097) 2025-03-29 19:49:53 -07:00
shamoon
4567427b9c
Enhancement: add shvl fallback for custom api dynamic list (#5091) 2025-03-28 16:32:56 -07:00
Matheus Vellone
ee7e8fab61
Fix: support shvl on customapi dynamic list target (#5081)
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2025-03-28 16:29:23 -07:00
shamoon
313835c0e6
Bump version to 1.1.1 2025-03-27 20:20:02 -07:00
shamoon
999dade861
Fix: add fallback for shvl syntax (#5080) 2025-03-27 20:16:50 -07:00
shamoon
2cabe77b55
Fix: add fallback for shvl syntax 2025-03-27 20:15:39 -07:00
shamoon
0a50d5a6aa
Merge branch 'main' into dev 2025-03-27 13:27:26 -07:00
shamoon
e19dcc2729
Only deploy docs from main branch 2025-03-27 13:27:20 -07:00
shamoon
cadf1433af
Bump version to 1.1.0 2025-03-27 13:22:02 -07:00
shamoon
6bae078a8d
Merge branch 'dev' 2025-03-27 13:21:45 -07:00
github-actions[bot]
77bbdc6a04
New Crowdin translations by GitHub Action (#5010)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2025-03-27 13:21:33 -07:00
shamoon
1f8fd1c69d
Add install pnpm to source instructions 2025-03-23 07:11:20 -07:00
dependabot[bot]
5d557844cc
Chore(deps): Bump next from 15.1.7 to 15.2.3 (#5055)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-22 07:49:16 -07:00
chiragkrishna
a4b07b91fe
Enhancement: Add Repositories field to Gitea (#5053)
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2025-03-22 07:45:27 -07:00
Chris
d853bbfe44
Feature: Slskd Service Widget (#5045)
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2025-03-20 21:46:54 -07:00
IhatemyISP
7fd5e6ccb1
Tweak: change moonraker widget standby output (#4060)
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2025-03-19 16:26:49 -07:00
shamoon
aed602ad70
Tweak: try to reduce rootless startup time (#5037) 2025-03-18 19:29:43 -07:00
shamoon
fa28a11658
Fix: include new backdrop-blur-xs option (#5030) 2025-03-17 23:30:07 -07:00
shamoon
a3b693e2b6
Support maxBookmarkGroupColumns too 2025-03-17 13:03:04 -07:00
shamoon
708c4e64d1
Tweak this 2025-03-17 12:47:34 -07:00
shamoon
11a6b5d0b8
Enhancement: support maximum group cols up 8 (#5022) 2025-03-17 12:32:09 -07:00
shamoon
ce0102eb6f
Enhancement: support full width container (#5021) 2025-03-17 12:25:10 -07:00
shamoon
42f1ed3c47
Update customapi.md 2025-03-17 11:49:35 -07:00
shamoon
dca23e8547
Enhancement: support shvl syntax for customapi fields (#5020) 2025-03-17 11:47:55 -07:00
morliont
8d20f22932
Enhancement: support dynamic list rendering in custom api widget (#5012)
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2025-03-17 11:30:01 -07:00
shamoon
071b5275bc
Documentation: fix install page buttons 2025-03-17 11:19:27 -07:00
shamoon
de9c015f7f
Fix: fix minecraft players after move to minecraftstatuspinger (#5017) 2025-03-17 07:24:12 -07:00
shamoon
b4dc53c7c0
Feature: allow disable ipv6 in proxy, refactor cacheFetch to use proxy (#5011) 2025-03-16 20:09:34 -07:00
shamoon
934ad3a6f1
Fix: remove medusa widget trailing slash (#5007) 2025-03-16 15:33:38 -07:00
shamoon
6fbe080b28
Bump version to 1.0.4 2025-03-16 14:13:12 -07:00
shamoon
4047f8d6e8
Merge branch 'dev' 2025-03-16 14:12:45 -07:00
github-actions[bot]
59cd5564f8
New Crowdin translations by GitHub Action (#4985)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2025-03-16 14:12:30 -07:00
shamoon
5f19e4af91
Fix: fix custom quicklaunch search without search widget (#5003) 2025-03-16 13:12:20 -07:00
shamoon
5ea46881ee
Fix: re-add tailwind css safelist (#4999) 2025-03-16 08:32:27 -07:00
shamoon
9545757bb9
Fix: fix bookmark heights again (#4997) 2025-03-16 07:33:30 -07:00
shamoon
95507aab54
Change: re-enable k8s ingress by default (#4988) 2025-03-16 02:35:43 -07:00
shamoon
564dfb7ce3
Add k3d ingress setting and HOMEPAGE_ALLOWED_HOSTS 2025-03-15 21:05:11 -07:00
shamoon
7b72442114
Update index.md 2025-03-15 16:29:02 -07:00
shamoon
65370a7668
Fix: fix Kubernetes stats in v1.0.0 (#4984)
Co-authored-by: djeinstine <2105133+djeinstine@users.noreply.github.com>
2025-03-15 16:23:29 -07:00
shamoon
6e9339b14c
Chore: update minecraftstatuspinger to 1.2.2 (#4982) 2025-03-15 15:30:21 -07:00
shamoon
241c786710
Merge branch 'main' into dev 2025-03-15 10:18:34 -07:00
shamoon
801ce479d8
Add links to docs 2025-03-15 10:18:26 -07:00
shamoon
16730ffec2
Merge branch 'main' into dev 2025-03-15 09:46:36 -07:00
shamoon
b35dd80e8c
Improve docs 2025-03-15 09:46:23 -07:00
shamoon
82b159bf14
Improve docs 2025-03-15 09:30:10 -07:00
shamoon
6292a0709c
Bump version to 1.0.3 2025-03-15 07:43:43 -07:00
shamoon
42af93bef3
Merge branch 'dev' 2025-03-15 07:43:30 -07:00
Xavier Alexander
964991781c
Documentation: add HOMEPAGE_ALLOWED_HOSTS to k8s docs (#4969) 2025-03-15 07:40:26 -07:00
shamoon
607a14083e
Fix: jellyfin handle empty episode numbers (#4970) 2025-03-15 07:38:35 -07:00
shamoon
133a0a6539
Fix this 2025-03-15 07:31:15 -07:00
shamoon
0d0f465e16
Update index.md 2025-03-15 07:16:42 -07:00
shamoon
16c1b2da9b
Enhancement: allow disabling host header checking (#4967) 2025-03-15 07:14:41 -07:00
shamoon
4761a56b3d
Remove reference to helm chart 2025-03-15 07:13:23 -07:00
shamoon
9d40b67d49
Change: prefer IPv4 in docker image (#4954) 2025-03-14 22:51:07 -07:00
shamoon
97f4bcbdb0
Documentation: note disable ipv6 2025-03-14 22:35:47 -07:00
brikim
ea1375e575
Fix: correct units for speedtest tracker API v2 (#4950)
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2025-03-14 22:02:13 -07:00
shamoon
733a3140d1
Documentation: note komga api key 2025-03-14 21:16:20 -07:00
shamoon
b5ac617597
Fix: fix kavita API body with key (#4948) 2025-03-14 21:09:46 -07:00
shamoon
9b06212a92
Fix: wrapping in bookmarks (#4945) 2025-03-14 18:29:27 -07:00
shamoon
6b4182ab96
Merge branch 'dev' 2025-03-14 18:16:55 -07:00
shamoon
8656b8e2f1
Revert hostname change 2025-03-14 18:16:45 -07:00
shamoon
dd8e9270f2 bump version 2025-03-14 17:59:05 -07:00
shamoon
90dd8e5967
Update index.md 2025-03-14 16:59:52 -07:00
shamoon
6fca9e342d
Bump version to 1.0.1 2025-03-14 15:42:56 -07:00
shamoon
66a8b1c21e
Just remove hostname 2025-03-14 15:13:08 -07:00
shamoon
a0dc8c9ccb
Fix: fix larger breakpoint (#4935) 2025-03-14 14:20:33 -07:00
shamoon
8190260400
Fix: fix plex total size with larger libraries (#4933) 2025-03-14 14:12:33 -07:00
shamoon
7ced73b206
Merge branch 'main' into dev 2025-03-14 12:49:46 -07:00
shamoon
a2f4dd289b
Update README.md 2025-03-14 12:48:03 -07:00
shamoon
0c7cac74ea
Update docker.md 2025-03-14 12:47:32 -07:00
shamoon
d81fcee31f
Merge branch 'main' into dev 2025-03-14 12:31:20 -07:00
shamoon
f7889eab27
Clarify port 2025-03-14 12:31:10 -07:00
shamoon
91518d972d
Update index.md 2025-03-14 12:30:22 -07:00
shamoon
a090f98fab
Add HOMEPAGE_ALLOWED_HOSTS to readme 2025-03-14 12:30:22 -07:00
shamoon
5629440acf
Fix: fix fiveColumns option (#4924) 2025-03-14 12:20:10 -07:00
shamoon
471800d5bc
Update index.md 2025-03-14 12:18:57 -07:00
shamoon
6ab57b7b14
Update middleware.js 2025-03-14 11:58:44 -07:00
shamoon
f767ff047f
Add HOMEPAGE_ALLOWED_HOSTS to readme 2025-03-14 11:23:52 -07:00
shamoon
26242d657d
Bump version to 1.0.0 2025-03-14 09:00:34 -07:00
shamoon
3ff61cfad6
Merge branch 'dev' 2025-03-14 09:00:16 -07:00
github-actions[bot]
9c1ac747be
New Crowdin translations by GitHub Action (#4599)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2025-03-14 08:45:52 -07:00
shamoon
859bd459a8
Feature: cache release data, allow disable release checking (#4917) 2025-03-14 08:34:59 -07:00
Chris
544b9aef2f
Feature: Hoarder service widget (#4913) 2025-03-12 06:46:01 -07:00
shamoon
bea02fc8c7
Update Dockerfile 2025-03-11 13:56:20 -07:00
shamoon
1f282a1a93
Chore: migrate to pnpm only (#4907) 2025-03-11 09:41:25 -07:00
shamoon
bb5cb36491 Fix: fix another tailwind automatic error 2025-03-11 07:11:57 -07:00
Jason Sallis
9a6489c117
Documentation: correct documentation for multiple widgets in docker labels (#4766) 2025-03-11 00:59:24 -07:00
shamoon
955baf9cb1
Fix: better display tubearchivist error detail 2025-03-10 23:59:57 -07:00
shamoon
e9630afa30
Chore: add plex container size to requests (#4903) 2025-03-10 13:42:49 -07:00
shamoon
4c91dfa71b
Enhancement: support automatic service discovery services with layout-only nesting (#4900) 2025-03-10 09:45:50 -07:00
shamoon
f33ff582fd
Fix: fix incorrect backdrop-blur automatic change 2025-03-10 00:02:10 -07:00
Julian Nodorp
b8b5c1a4cb
Fix: fix k8s get nodes error log (#4887) 2025-03-07 06:57:40 -08:00
shamoon
03cd98b1d6
Fix: use 'real_usage' for synology diskstation memory stats (#4880) 2025-03-05 09:43:23 -08:00
shamoon
f7def5c2ce
Handle very long pihole session lengths 2025-03-04 18:39:53 -08:00
shamoon
d26ec27942
Enhancement: support komga API keys, breaking API changes (#4874) 2025-03-04 08:16:10 -08:00
shamoon
548b5f8081
Fix: fix pi-hole cache expiration 2025-03-03 23:21:42 -08:00
shamoon
b466be684f
Fix: correct omada widget connectedGateways (#4872) 2025-03-03 17:57:01 -08:00
Arthur Leclerc
99cde187d8
Fix: return all http routes of a namespace (k8s) (#4865)
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2025-03-02 22:36:16 -08:00
shamoon
d55a5e5efe
Chore: upgrade to tailwind v4 (#4863) 2025-03-02 08:42:57 -08:00
Nicu Pavel
fdf405fe0a
Feature: Add APC UPS widget (#4840)
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2025-03-02 07:33:44 -08:00
dependabot[bot]
9b8dd94aae
Chore(deps): Bump tough-cookie from 4.1.4 to 5.1.2 (#4857)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-01 11:26:46 -08:00
dependabot[bot]
8b1f1c391f
Chore(deps-dev): Bump eslint from 9.20.1 to 9.21.0 (#4858)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-01 11:26:15 -08:00
shamoon
a8961c3345
Enhancement: support new unifi network api and api key (#4860) 2025-03-01 11:25:34 -08:00
dependabot[bot]
7f910814f8
Chore(deps-dev): Bump prettier from 3.5.1 to 3.5.2 (#4859)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-01 09:40:17 -08:00
dependabot[bot]
862b0e5821
Chore(deps-dev): Bump eslint-config-prettier from 9.1.0 to 10.0.2 (#4856)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-01 09:35:21 -08:00
dependabot[bot]
d682b6a4bf
Chore(deps): Bump docker/setup-qemu-action from 3.5.0 to 3.6.0 (#4848)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-28 12:22:58 -08:00
Georges-Antoine Assi
bee16c7eb6
Documentation: remove auth info from romm widget (#4846) 2025-02-27 20:18:57 -08:00
shamoon
9097da2341
Update http.js 2025-02-27 16:50:25 -08:00
shamoon
58391ff33f
Fix: subtract inactive_file from glances container memory usage (#4844) 2025-02-27 09:16:14 -08:00
dependabot[bot]
666d075ec4
Chore(deps): Bump docker/setup-qemu-action from 3.4.0 to 3.5.0 (#4836)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-26 09:07:06 -08:00
shamoon
7b7c7a5b80 Documentation: allowed hosts section 2025-02-21 20:29:52 -08:00
shamoon
1dd5a9e1b0
Enhancement: better handle recurring events poorly handled by ical library (#4807) 2025-02-20 11:29:43 -08:00
Brandon McFarlin
0fd4ac17cd
Documentation: add auth documentation to PeaNUT (#4803) 2025-02-19 14:58:56 -08:00
shamoon
94738e2c0d
Update reaction-comments.yml 2025-02-18 16:32:32 -08:00
shamoon
1c24bd7449
Chore: another big deps update (#4795) 2025-02-18 16:16:53 -08:00
dependabot[bot]
2881114816
Chore(deps): Bump jsonpath-plus from 10.2.0 to 10.3.0 (#4794)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-18 15:29:21 -08:00
shamoon
f1ec02fb6f
Make heads up clearer 2025-02-18 10:19:18 -08:00
shamoon
68480a65db
Enhancement: support API key for Kavita (#4784) 2025-02-18 00:29:36 -08:00
shamoon
63b9d395dd
Update api-helpers.js 2025-02-17 21:47:55 -08:00
shamoon
a5bdfd92d7
Enhancement: improve try to prune trailing slashes (#4783) 2025-02-17 21:44:52 -08:00
shamoon
48e2c494eb
Update index.md 2025-02-17 21:39:03 -08:00
shamoon
d95709de95
Merge branch 'main' into dev 2025-02-17 21:38:17 -08:00
Oleh Astappiev
cf90312089
Fixhancement: add an option to fritzbox widget to display IPv6 (#4778)
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2025-02-16 17:10:16 -08:00
Jason Sallis
bcdd4a149b Documentation: correct documentation for multiple widgets in docker labels (#4766) 2025-02-15 09:27:04 -08:00
shamoon
96af6cf804 CI: Add back the PR exclusion for registry login 2025-02-15 09:27:04 -08:00
Dudley
b63d740ed1 Enhancement: support gamedig numplayers (#4760)
Co-Authored-By: shamoon <4887959+shamoon@users.noreply.github.com>
2025-02-15 09:27:04 -08:00
shamoon
fea4b27bb4 CI: Bump qemu action, move login earlier 2025-02-13 12:55:18 -08:00
shamoon
455103a9f1
Fix: correct k8s node response 2025-02-13 10:31:25 -08:00
Brett Dudo
277fbe8051
Fix: handle possible null reference in k8s gateway api (#4752)
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2025-02-12 21:44:49 -08:00
shamoon
477392aa29
Documentation: add beszel superuser note 2025-02-12 16:10:19 -08:00
shamoon
e46377f461
Enhancement: better tz parsing of ical recurring events (#4749) 2025-02-12 07:38:36 -08:00
shamoon
f283b83e6e
Update support.yml 2025-02-11 23:46:12 -08:00
shamoon
0a1265455b
Update index.md 2025-02-11 23:40:36 -08:00
shamoon
05af70d11b
[BREAKING] Enhancement: require host validation (#4744) 2025-02-11 21:30:00 -08:00
djeinstine
91d5fc8e42
Enhancement: support for Kubernetes gateway API (#4643)
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
Co-authored-by: lyons <gittea.sand@gmail.com>
Co-authored-by: Brett Dudo <brett@dudo.io>
2025-02-11 18:57:22 -08:00
Randall Hand
2a95f88cdf
Fix: Timezone-aware Date comparison for Calendar integration (#4742)
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2025-02-11 18:52:32 -08:00
shamoon
0615799c6c
Chore: upgrade kubernetes/client-node (#4715) 2025-02-06 16:12:42 -08:00
shamoon
839f6d4baf
Enhancement: use datasets for truenas pools (#4716) 2025-02-06 16:12:09 -08:00
shamoon
cc6fe63d40
Fix nesting with unsorted groups (#4711) 2025-02-04 20:45:39 -08:00
shamoon
ae500fd983 Update getting-started.md 2025-02-04 09:36:41 -08:00
shamoon
873c265205
Enhancement: filter prometheus API endpoint for active only (#4701) 2025-02-03 08:56:40 -08:00
shamoon
07dff4c8a5
Enhancement: support speedtest v1.2 API (#4695) 2025-02-02 19:11:08 -08:00
Marc Zottner
cbacf458b2
Fix: correct package version number (#4691) 2025-02-02 08:05:25 -08:00
Amjad Alsharafi
cae304b7eb
Feature: Firefly widget (#4683)
Signed-off-by: Amjad Alsharafi <26300843+Amjad50@users.noreply.github.com>
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2025-02-01 19:40:21 -08:00
shamoon
e6a821ecc3 Bind all addreses in docker container 2025-01-27 10:50:44 -08:00
shamoon
49036a9738
Fix: fix semver detection bug 2025-01-27 00:23:20 -08:00
shamoon
0197b449ed
[BREAKING] Chore: update to next v15 (#4661) 2025-01-26 00:20:41 -08:00
shamoon
dc3382447c
Fix: fix overlap with glances charts in multi-widgets (#4653) 2025-01-24 16:53:14 -08:00
shamoon
6beaf665fb
Development: pnpm lint on ci (#4646) 2025-01-23 21:38:23 -08:00
shamoon
b9622f75b0 Fix: generic proxy error data display 2025-01-21 07:13:12 -08:00
shamoon
cd8c7d9016
Documentation: add note about multiwidget with k8s 2025-01-20 21:25:45 -08:00
shamoon
9021182c2c
Documentation: add note about ping on underlying host 2025-01-20 21:20:58 -08:00
shamoon
fe462a71d6
Fix: handle evcc breaking change (#4630) 2025-01-20 07:55:26 -08:00
Jesse Houston
1e556e105d
Documentation: add note about clearing UniFi cache non-docker (#4585) 2025-01-08 15:42:38 -08:00
shamoon
b5f4daa8ef
Fix: fix bing search logo (#4571) 2025-01-06 07:25:14 -08:00
shamoon
fd50241e2a
Update errorboundry.jsx 2025-01-06 00:53:10 -08:00
Bjorn Lammers
6a0fbba407
Chore: migrate dashboard-icons to homarr-labs (#4564) 2025-01-05 13:45:15 -08:00
shamoon
2ee5fd123b code style 2025-01-05 07:58:28 -08:00
shamoon
86a13817df Merge branch 'main' into dev 2025-01-05 07:57:05 -08:00
Adi Vaknin
2f7d948a5c
Fix: quick launch not showing nested services (#4561)
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2025-01-05 07:56:12 -08:00
shamoon
1b79e51194
Update source.md 2025-01-04 22:13:28 -08:00
Martin Bjeldbak Madsen
2d98ac30f2
Documentation: update gluetun apikey config instructions (#4554)
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2025-01-02 21:07:55 -08:00
shamoon
1a85175b15
Fix: toggle light / dark makes background white (#4553) 2025-01-02 19:13:14 -08:00
Peder Toftegaard Olsen
6f429a6a4b
Enhancement: add duration format to customapi widget (#4549)
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2025-01-02 19:11:33 -08:00
shamoon
3020a2d1fd
Fix: better fs height (#4552) 2025-01-02 18:56:48 -08:00
shamoon
a6e85240c6 Update getting-started.md 2025-01-02 17:13:48 -08:00
shamoon
98e816204a Update getting-started.md 2025-01-02 17:13:36 -08:00
shamoon
a0b5ac318a
Update PULL_REQUEST_TEMPLATE.md 2025-01-02 16:34:24 -08:00
shamoon
101461b7b5 Update getting-started.md 2025-01-02 16:26:15 -08:00
shamoon
ba6f50f21d Merge branch 'main' into dev 2025-01-02 16:26:01 -08:00
shamoon
dd3a229559 Update getting-started.md 2025-01-02 16:25:32 -08:00
dependabot[bot]
630d5024ac
Chore(deps): Bump systeminformation from 5.23.8 to 5.24.3 (#4546)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-01 08:35:15 -08:00
dependabot[bot]
d239687e2e
Chore(deps): Bump react-icons from 4.12.0 to 5.4.0 (#4536)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-01 08:34:05 -08:00
dependabot[bot]
81a3dfbfe4
Chore(deps-dev): Bump tailwindcss from 3.4.14 to 3.4.17 (#4537)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-01 08:33:37 -08:00
dependabot[bot]
034720f47a
Chore(deps-dev): Bump eslint-plugin-react from 7.37.2 to 7.37.3 (#4534)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-01 08:33:23 -08:00
410 changed files with 7726 additions and 13555 deletions

View file

@ -1,3 +0,0 @@
{
"presets": ["next/babel"]
}

View file

@ -16,11 +16,11 @@
**/compose* **/compose*
**/Dockerfile* **/Dockerfile*
**/node_modules **/node_modules
!.next/standalone/node_modules
**/npm-debug.log **/npm-debug.log
**/obj **/obj
**/secrets.dev.yaml **/secrets.dev.yaml
**/values.dev.yaml **/values.dev.yaml
**/.next
README.md README.md
config/ config/
k3d/ k3d/

View file

@ -1,5 +1,9 @@
{ {
"extends": ["airbnb", "next/core-web-vitals", "prettier"], "extends": [
"next/core-web-vitals",
"prettier",
"plugin:react-hooks/recommended"
],
"plugins": ["prettier"], "plugins": ["prettier"],
"rules": { "rules": {
"import/no-cycle": [ "import/no-cycle": [
@ -27,5 +31,12 @@
"paths": ["src"] "paths": ["src"]
} }
} }
},
"parserOptions": {
"ecmaVersion": 6,
"sourceType": "module",
"ecmaFeatures": {
"modules": true
}
} }
} }

View file

@ -51,7 +51,7 @@ body:
id: troubleshooting id: troubleshooting
attributes: attributes:
label: Troubleshooting label: Troubleshooting
description: Please include output from your [troubleshooting tests](https://gethomepage.dev/more/troubleshooting/#service-widget-errors), if relevant. description: Please include output from your [troubleshooting steps](https://gethomepage.dev/more/troubleshooting/#service-widget-errors), if relevant.
validations: validations:
required: true required: true
- type: markdown - type: markdown

View file

@ -6,6 +6,7 @@
==================== STOP ==== ==================== STOP ====
⚠️ Before opening this pull request please review the guidelines in the checklist below. ⚠️ Before opening this pull request please review the guidelines in the checklist below.
If this PR does not meet those guidelines it will not be accepted, and everyone will be sad. If this PR does not meet those guidelines it will not be accepted, and everyone will be sad.
--> -->
@ -14,9 +15,6 @@ If this PR does not meet those guidelines it will not be accepted, and everyone
<!-- <!--
Please include a summary of the change. Screenshots and/or videos can also be helpful if appropriate. Please include a summary of the change. Screenshots and/or videos can also be helpful if appropriate.
*** Please see the development guidelines for new widgets: https://gethomepage.dev/more/development/#service-widget-guidelines
*** If you do not follow these guidelines your PR will likely be closed without review.
New service widgets should include example(s) of relevant API output as well as updates to the docs for the new widget. New service widgets should include example(s) of relevant API output as well as updates to the docs for the new widget.
--> -->
@ -30,13 +28,13 @@ What type of change does your PR introduce to Homepage?
- [ ] New service widget - [ ] New service widget
- [ ] Bug fix (non-breaking change which fixes an issue) - [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality) - [ ] New feature or enhancement (non-breaking change which adds functionality)
- [ ] Documentation only - [ ] Documentation only
- [ ] Other (please explain) - [ ] Other (please explain)
## Checklist: ## Checklist:
- [ ] If applicable, I have added corresponding documentation changes. - [ ] If applicable, I have added corresponding documentation changes.
- [ ] If applicable, I have reviewed the [feature](https://gethomepage.dev/more/development/#new-feature-guidelines) and / or [service widget guidelines](https://gethomepage.dev/more/development/#service-widget-guidelines). - [ ] If applicable, I have reviewed the [feature / enhancement](https://gethomepage.dev/more/development/#new-feature-guidelines) and / or [service widget guidelines](https://gethomepage.dev/more/development/#service-widget-guidelines).
- [ ] I have checked that all code style checks pass using [pre-commit hooks](https://gethomepage.dev/more/development/#code-formatting-with-pre-commit-hooks) and [linting checks](https://gethomepage.dev/more/development/#code-linting). - [ ] I have checked that all code style checks pass using [pre-commit hooks](https://gethomepage.dev/more/development/#code-formatting-with-pre-commit-hooks) and [linting checks](https://gethomepage.dev/more/development/#code-linting).
- [ ] If applicable, I have tested my code for new features & regressions on both mobile & desktop devices, using the latest version of major browsers. - [ ] If applicable, I have tested my code for new features & regressions on both mobile & desktop devices, using the latest version of major browsers.

5
.github/pull.yml vendored
View file

@ -1,5 +0,0 @@
version: "1"
rules:
- base: dev
upstream: gethomepage:dev
mergeMethod: hardreset

View file

@ -2,8 +2,8 @@ name: Crowdin Action
on: on:
workflow_dispatch: workflow_dispatch:
schedule: # schedule:
- cron: '2 */12 * * *' # - cron: '2 */12 * * *'
push: push:
paths: [ paths: [
'/public/locales/en/**', '/public/locales/en/**',

View file

@ -1,9 +1,4 @@
name: Docker name: Docker CI
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
on: on:
# schedule: # schedule:
@ -28,26 +23,41 @@ on:
workflow_dispatch: workflow_dispatch:
env: env:
# github.repository as <account>/<repo>
IMAGE_NAME: ${{ github.repository }} IMAGE_NAME: ${{ github.repository }}
jobs: jobs:
pre-commit: pre-commit:
name: Linting Checks name: Linting Checks
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- - name: Checkout repository
name: Checkout repository
uses: actions/checkout@v4 uses: actions/checkout@v4
-
name: Install python - name: Install python
uses: actions/setup-python@v5 uses: actions/setup-python@v5
with: with:
python-version: 3.x python-version: 3.x
-
name: Check files - name: Check files
uses: pre-commit/action@v3.0.0 uses: pre-commit/action@v3.0.1
- name: Install pnpm
uses: pnpm/action-setup@v4
with:
version: 10
run_install: false
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'pnpm'
- name: Install dependencies
run: pnpm install
- name: Lint frontend
run: pnpm run lint
build: build:
name: Docker Build & Push name: Docker Build & Push
@ -62,43 +72,6 @@ jobs:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v4 uses: actions/checkout@v4
# Setup QEMU
# https://github.com/marketplace/actions/docker-setup-buildx#with-qemu
- name: Setup QEMU
uses: docker/setup-qemu-action@v3
# Workaround: https://github.com/docker/build-push-action/issues/461
- name: Setup Docker buildx
uses: docker/setup-buildx-action@v3
# This step is being disabled because the runner is on a self-hosted machine
# where the cache will stick between runs.
- name: Cache Docker layers
uses: actions/cache@v3
with:
path: /tmp/.buildx-cache
key: ${{ runner.os }}-buildx-${{ github.sha }}
restore-keys: |
${{ runner.os }}-buildx-
# Login against a Docker registry except on PR
# https://github.com/docker/login-action
- name: Log into registry ${{ env.REGISTRY }}
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Login to Docker Hub
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
# Extract metadata (tags, labels) for Docker
# https://github.com/docker/metadata-action
- name: Extract Docker metadata - name: Extract Docker metadata
id: meta id: meta
uses: docker/metadata-action@v5 uses: docker/metadata-action@v5
@ -106,11 +79,69 @@ jobs:
images: | images: |
${{ env.IMAGE_NAME }} ${{ env.IMAGE_NAME }}
ghcr.io/${{ env.IMAGE_NAME }} ghcr.io/${{ env.IMAGE_NAME }}
tags: |
# Default tags
type=schedule,pattern=nightly
type=ref,event=branch
type=ref,event=tag
# Versioning tags
type=semver,pattern=v{{version}}
type=semver,pattern=v{{major}}.{{minor}}
type=semver,pattern=v{{major}}
flavor: | flavor: |
latest=auto latest=auto
# Build and push Docker image with Buildx (don't push on PR) - name: Next.js build cache
# https://github.com/docker/build-push-action uses: actions/cache@v4
with:
path: .next/cache
key: nextjs-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml') }}-${{ hashFiles('**/*.js', '**/*.jsx') }}
restore-keys: |
nextjs-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml') }}
- name: Install pnpm
uses: pnpm/action-setup@v4
with:
version: 10
run_install: false
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'pnpm'
- name: Install dependencies
run: pnpm install
- name: Build app
run: |
NEXT_PUBLIC_BUILDTIME="${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.created'] }}" \
NEXT_PUBLIC_VERSION="${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.version'] }}" \
NEXT_PUBLIC_REVISION="${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.revision'] }}" \
pnpm run build
- name: Log into registry ${{ env.REGISTRY }}
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Login to Docker Hub
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Setup QEMU
uses: docker/setup-qemu-action@v3.6.0
- name: Setup Docker buildx
uses: docker/setup-buildx-action@v3
- name: Build and push Docker image - name: Build and push Docker image
id: build-and-push id: build-and-push
uses: docker/build-push-action@v6 uses: docker/build-push-action@v6
@ -120,18 +151,15 @@ jobs:
tags: ${{ steps.meta.outputs.tags }} tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }} labels: ${{ steps.meta.outputs.labels }}
build-args: | build-args: |
CI=true
BUILDTIME=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.created'] }} BUILDTIME=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.created'] }}
VERSION=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.version'] }} VERSION=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.version'] }}
REVISION=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.revision'] }} REVISION=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.revision'] }}
# https://github.com/docker/setup-qemu-action#about platforms: linux/amd64,linux/arm64
# platforms: linux/amd64,linux/arm64,linux/riscv64,linux/ppc64le,linux/s390x,linux/386,linux/mips64le,linux/mips64,linux/arm/v7,linux/arm/v6
platforms: linux/amd64,linux/arm64,linux/arm/v7,linux/arm/v6
cache-from: type=local,src=/tmp/.buildx-cache cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max
# Temp fix # https://github.com/docker/build-push-action/issues/252 / https://github.com/moby/buildkit/issues/1896
# https://github.com/docker/build-push-action/issues/252
# https://github.com/moby/buildkit/issues/1896
- name: Move cache - name: Move cache
run: | run: |
rm -rf /tmp/.buildx-cache rm -rf /tmp/.buildx-cache

View file

@ -55,7 +55,7 @@ jobs:
run: MKINSIDERS=false mkdocs build run: MKINSIDERS=false mkdocs build
deploy: deploy:
name: Build & Deploy name: Build & Deploy
if: github.repository == 'gethomepage/homepage' && github.event_name != 'pull_request' if: github.repository == 'gethomepage/homepage' && github.event_name != 'pull_request' && github.ref == 'refs/heads/main'
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: needs:
- pre-commit - pre-commit

View file

@ -5,8 +5,6 @@ on:
types: [created, edited] types: [created, edited]
pull_request_review_comment: pull_request_review_comment:
types: [created, edited] types: [created, edited]
schedule:
- cron: '0 0 * * *'
permissions: permissions:
actions: write actions: write

View file

@ -9,11 +9,14 @@ repos:
- id: check-yaml - id: check-yaml
exclude: "(^mkdocs\\.yml$)" exclude: "(^mkdocs\\.yml$)"
- id: check-added-large-files - id: check-added-large-files
- repo: https://github.com/pre-commit/mirrors-prettier - repo: https://github.com/rbubley/mirrors-prettier
rev: 'v3.0.3' rev: 'v3.3.3'
hooks: hooks:
- id: prettier - id: prettier
types_or: types_or:
- javascript - javascript
- markdown - markdown
- jsx - jsx
additional_dependencies:
- prettier@3.3.3
- 'prettier-plugin-organize-imports@4.1.0'

View file

@ -1 +0,0 @@
{}

5
.prettierrc.js Normal file
View file

@ -0,0 +1,5 @@
const config = {
plugins: [require("prettier-plugin-organize-imports")],
};
module.exports = config;

View file

@ -1,66 +1,63 @@
# syntax = docker/dockerfile:latest # =========================
# Builder Stage
# Install dependencies only when needed # =========================
FROM docker.io/node:18-alpine AS deps FROM node:22-slim AS builder
WORKDIR /app WORKDIR /app
COPY --link package.json pnpm-lock.yaml* ./ # Setup
RUN mkdir config
SHELL ["/bin/ash", "-xeo", "pipefail", "-c"] COPY . .
RUN apk add --no-cache libc6-compat \
&& apk add --no-cache --virtual .gyp python3 make g++ \
&& npm install -g pnpm
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
# Rebuild the source code only when needed
FROM docker.io/node:18-alpine AS builder
WORKDIR /app
ARG CI
ARG BUILDTIME ARG BUILDTIME
ARG VERSION ARG VERSION
ARG REVISION ARG REVISION
ENV CI=$CI
COPY --link --from=deps /app/node_modules ./node_modules/ # Install and build only outside CI
COPY . . RUN if [ "$CI" != "true" ]; then \
corepack enable && corepack prepare pnpm@latest --activate && \
pnpm install --frozen-lockfile --prefer-offline && \
NEXT_TELEMETRY_DISABLED=1 \
NEXT_PUBLIC_BUILDTIME=$BUILDTIME \
NEXT_PUBLIC_VERSION=$VERSION \
NEXT_PUBLIC_REVISION=$REVISION \
pnpm run build; \
else \
echo "✅ Using prebuilt app from CI context"; \
fi
SHELL ["/bin/ash", "-xeo", "pipefail", "-c"] # =========================
RUN npm run telemetry \ # Runtime Stage
&& mkdir config \ # =========================
&& NEXT_PUBLIC_BUILDTIME=$BUILDTIME NEXT_PUBLIC_VERSION=$VERSION NEXT_PUBLIC_REVISION=$REVISION npm run build FROM node:22-alpine AS runner
LABEL org.opencontainers.image.title="Homepage"
# Production image, copy all the files and run next LABEL org.opencontainers.image.description="A self-hosted services landing page, with docker and service integrations."
FROM docker.io/node:18-alpine AS runner LABEL org.opencontainers.image.url="https://github.com/di0ik/homepage-plus"
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/gethomepage/homepage"
LABEL org.opencontainers.image.documentation='https://github.com/gethomepage/homepage/wiki' LABEL org.opencontainers.image.documentation='https://github.com/gethomepage/homepage/wiki'
LABEL org.opencontainers.image.source='https://github.com/gethomepage/homepage' LABEL org.opencontainers.image.source='https://github.com/di0ik/homepage-plus'
LABEL org.opencontainers.image.licenses='Apache-2.0' LABEL org.opencontainers.image.licenses='Apache-2.0'
ENV NODE_ENV production # Setup
WORKDIR /app WORKDIR /app
# Copy files from context (this allows the files to copy before the builder stage is done). # Copy some files from context
COPY --link --chown=1000:1000 package.json next.config.js ./
COPY --link --chown=1000:1000 /public ./public/ COPY --link --chown=1000:1000 /public ./public/
# Copy files from builder
COPY --link --from=builder --chown=1000:1000 /app/.next/standalone ./
COPY --link --from=builder --chown=1000:1000 /app/.next/static/ ./.next/static/
COPY --link --chmod=755 docker-entrypoint.sh /usr/local/bin/ COPY --link --chmod=755 docker-entrypoint.sh /usr/local/bin/
RUN apk add --no-cache su-exec # Copy only necessary files from the build stage
COPY --link --from=builder --chown=1000:1000 /app/.next/standalone/ ./
COPY --link --from=builder --chown=1000:1000 /app/.next/static/ ./.next/static
ENV PORT 3000 RUN apk add --no-cache su-exec iputils-ping
ENV NODE_ENV=production
ENV HOSTNAME=0.0.0.0
ENV PORT=3000
EXPOSE $PORT EXPOSE $PORT
HEALTHCHECK --interval=10s --timeout=3s --start-period=20s \ HEALTHCHECK --interval=10s --timeout=3s --start-period=20s \
CMD wget --no-verbose --tries=1 --spider --no-check-certificate http://localhost:$PORT/api/healthcheck || exit 1 CMD wget --no-verbose --tries=1 --spider http://127.0.0.1:$PORT/api/healthcheck || exit 1
ENTRYPOINT ["docker-entrypoint.sh"] ENTRYPOINT ["docker-entrypoint.sh"]
CMD ["node", "server.js"] CMD ["node", "server.js"]

View file

@ -10,7 +10,7 @@ RUN <<EOF
apk add libc6-compat apk add libc6-compat
apk add --virtual .gyp python3 make g++ apk add --virtual .gyp python3 make g++
npm install -g pnpm npm install -g pnpm
npm install -g next pnpm install -g next
EOF 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 fetch | grep -v "cross-device link not permitted\|Falling back to copying packages from store"

View file

@ -38,7 +38,7 @@ With features like quick search, bookmarks, weather support, a wide range of int
- **Fast** - The site is statically generated at build time for instant load times. - **Fast** - The site is statically generated at build time for instant load times.
- **Secure** - All API requests to backend services are proxied, keeping your API keys hidden. Constantly reviewed for security by the community. - **Secure** - All API requests to backend services are proxied, keeping your API keys hidden. Constantly reviewed for security by the community.
- **For Everyone** - Images built for AMD64, ARM64, ARMv7, and ARMv6. - **For Everyone** - Images built for AMD64, ARM64.
- **Full i18n** - Support for over 40 languages. - **Full i18n** - Support for over 40 languages.
- **Service & Web Bookmarks** - Add custom links to the homepage. - **Service & Web Bookmarks** - Add custom links to the homepage.
- **Docker Integration** - Container status and stats. Automatic service discovery via labels. - **Docker Integration** - Container status and stats. Automatic service discovery via labels.
@ -80,6 +80,7 @@ services:
image: ghcr.io/gethomepage/homepage:latest image: ghcr.io/gethomepage/homepage:latest
container_name: homepage container_name: homepage
environment: environment:
HOMEPAGE_ALLOWED_HOSTS: gethomepage.dev # required, may need port. See gethomepage.dev/installation/#homepage_allowed_hosts
PUID: 1000 # optional, your user id PUID: 1000 # optional, your user id
PGID: 1000 # optional, your group id PGID: 1000 # optional, your group id
ports: ports:
@ -94,6 +95,7 @@ or docker run:
```bash ```bash
docker run --name homepage \ docker run --name homepage \
-e HOMEPAGE_ALLOWED_HOSTS=gethomepage.dev \
-e PUID=1000 \ -e PUID=1000 \
-e PGID=1000 \ -e PGID=1000 \
-p 3000:3000 \ -p 3000:3000 \
@ -111,7 +113,7 @@ First, clone the repository:
git clone https://github.com/gethomepage/homepage.git git clone https://github.com/gethomepage/homepage.git
``` ```
Then install dependencies and build the production bundle (I'm using pnpm here, you can use npm or yarn if you like): Then install dependencies and build the production bundle:
```bash ```bash
pnpm install pnpm install

View file

@ -15,7 +15,7 @@ export HOMEPAGE_BUILDTIME=$(date +%s)
# Set privileges for /app but only if pid 1 user is root and we are dropping privileges. # Set privileges for /app but only if pid 1 user is root and we are dropping privileges.
# If container is run as an unprivileged user, it means owner already handled ownership setup on their own. # If container is run as an unprivileged user, it means owner already handled ownership setup on their own.
# Running chown in that case (as non-root) will cause error # Running chown in that case (as non-root) will cause error
[ "$(id -u)" == "0" ] && [ "${PUID}" != "0" ] && chown -R ${PUID}:${PGID} /app [ "$(id -u)" == "0" ] && [ "${PUID}" != "0" ] && chown -R ${PUID}:${PGID} /app/config /app/public
# Drop privileges (when asked to) if root, otherwise run as current user # Drop privileges (when asked to) if root, otherwise run as current user
if [ "$(id -u)" == "0" ] && [ "${PUID}" != "0" ]; then if [ "$(id -u)" == "0" ] && [ "${PUID}" != "0" ]; then

View file

@ -1,3 +0,0 @@
.md-typeset[data-page-id="landing"] .md-header-anchor {
display: none;
}

View file

@ -157,12 +157,12 @@ Multiple widgets can be specified by incrementing the index, e.g.
```yaml ```yaml
labels: ... labels: ...
- homepage.widget[0].type=emby - homepage.widgets[0].type=emby
- homepage.widget[0].url=http://emby.home - homepage.widgets[0].url=http://emby.home
- homepage.widget[0].key=yourembyapikeyhere - homepage.widgets[0].key=yourembyapikeyhere
- homepage.widget[1].type=uptimekuma - homepage.widgets[1].type=uptimekuma
- homepage.widget[1].url=http://uptimekuma.home - homepage.widgets[1].url=http://uptimekuma.home
- homepage.widget[1].slug=youreventslughere - homepage.widgets[1].slug=youreventslughere
``` ```
You can add specify fields for e.g. the [CustomAPI](../widgets/services/customapi.md) widget by using array-style dot notation: You can add specify fields for e.g. the [CustomAPI](../widgets/services/customapi.md) widget by using array-style dot notation:

View file

@ -8,6 +8,7 @@ The Kubernetes connectivity has the following requirements:
- Kubernetes 1.19+ - Kubernetes 1.19+
- Metrics Service - Metrics Service
- An Ingress controller - An Ingress controller
- Optionally: Gateway-API
The Kubernetes connection is configured in the `kubernetes.yaml` file. There are 3 modes to choose from: The Kubernetes connection is configured in the `kubernetes.yaml` file. There are 3 modes to choose from:
@ -19,6 +20,22 @@ The Kubernetes connection is configured in the `kubernetes.yaml` file. There are
mode: default mode: default
``` ```
To configure Kubernetes gateway-api, ingress or ingressRoute service discovery, add one or multiple of the following settings.
Example settings:
```yaml
ingress: true # default, enable ingress only
```
or
```yaml
ingress: true # default, enable ingress
traefik: true # enable traefik ingressRoute
gateway: true # enable gateway-api
```
## Services ## Services
Once the Kubernetes connection is configured, individual services can be configured to pull statistics. Only CPU and Memory are currently supported. Once the Kubernetes connection is configured, individual services can be configured to pull statistics. Only CPU and Memory are currently supported.
@ -142,6 +159,10 @@ spec:
If the `href` attribute is not present, Homepage will ignore the specific IngressRoute. If the `href` attribute is not present, Homepage will ignore the specific IngressRoute.
### Gateway API HttpRoute support
Homepage also features automatic service discovery for Gateway API. Service definitions are read by annotating the HttpRoute custom resource definition and are indentical to the Ingress example as defined in [Automatic Service Discovery](#automatic-service-discovery).
## Caveats ## Caveats
Similarly to Docker service discovery, there currently is no rigid ordering to discovered services and discovered services will be displayed above those specified in the `services.yaml`. Similarly to Docker service discovery, there currently is no rigid ordering to discovered services and discovered services will be displayed above those specified in the `services.yaml`.

View file

@ -97,6 +97,10 @@ Each service can have multiple widgets attached to it, for example:
slug: statuspageslug slug: statuspageslug
``` ```
!!! note
Multiple widgets per service are not yet supported with Kubernetes ingress annotations.
#### Field Visibility #### Field Visibility
Each widget can optionally provide a list of which fields should be visible via the `fields` widget property. If no fields are specified, then all fields will be displayed. The `fields` property must be a valid YAML array of strings. As an example, here is the entry for Sonarr showing only a couple of fields. Each widget can optionally provide a list of which fields should be visible via the `fields` widget property. If no fields are specified, then all fields will be displayed. The `fields` property must be a valid YAML array of strings. As an example, here is the entry for Sonarr showing only a couple of fields.
@ -134,7 +138,7 @@ Services may have descriptions,
## Icons ## Icons
Services may have an icon attached to them, you can use icons from [Dashboard Icons](https://github.com/walkxcode/dashboard-icons) automatically, by passing the name of the icon, with, or without `.png` or with `.svg` to use the svg version. Services may have an icon attached to them, you can use icons from [Dashboard Icons](https://github.com/homarr-labs/dashboard-icons) automatically, by passing the name of the icon, with, or without `.png`, `.webp` or `.svg` to specify the desired version.
You can also specify prefixed icons from: You can also specify prefixed icons from:
@ -178,6 +182,10 @@ To use a local icon, first create a Docker mount to `/app/public/icons` and then
Services may have an optional `ping` property that allows you to monitor the availability of an external host. As of v0.8.0, the ping feature attempts to use a true (ICMP) ping command on the underlying host. Currently, only IPv4 is supported. Services may have an optional `ping` property that allows you to monitor the availability of an external host. As of v0.8.0, the ping feature attempts to use a true (ICMP) ping command on the underlying host. Currently, only IPv4 is supported.
!!! note
Because ping uses the ping command on the underlying host, in some cases you may need to install e.g. the `iputils-ping` package on the host system.
```yaml ```yaml
- Group A: - Group A:
- Sonarr: - Sonarr:

View file

@ -78,7 +78,7 @@ background:
You can apply a blur filter to the service & bookmark cards. Note this option is incompatible with the background blur, saturate and brightness filters. You can apply a blur filter to the service & bookmark cards. Note this option is incompatible with the background blur, saturate and brightness filters.
```yaml ```yaml
cardBlur: sm # sm, "", md, etc... see https://tailwindcss.com/docs/backdrop-blur cardBlur: xs # xs, md, etc... see https://tailwindcss.com/docs/backdrop-blur
``` ```
## Favicon ## Favicon
@ -254,15 +254,29 @@ layout:
columns: 4 columns: 4
``` ```
### Five Columns ### Full Width
You can add a fifth column to services (when `style: columns` which is default) by adding: You can make homepage take up the entire window width by adding:
```yaml ```yaml
fiveColumns: true fullWidth: true
``` ```
By default homepage will max out at 4 columns for services with `columns` style ### Maximum Group Columns
You can set the maximum number of columns of groups on larger screen sizes (note this is only for groups with the default `style: columns`, not groups with `stle: row`) by adding:
```yaml
maxGroupColumns: 8 # default is 4 for services, 6 for bookmarks, max 8
```
By default homepage will max out at 4 columns for services and 6 for bookmarks, thus the minimum for this setting is _5_. Of course, if you're setting this to higher numbers, you may want to consider enabling the [fullWidth](#full-width) option as well.
If you want to set the maximum columns for bookmark groups separately, you can do so by adding:
```yaml
maxBookmarkGroupColumns: 6 # default is 6, max 8
```
### Collapsible sections ### Collapsible sections
@ -447,7 +461,7 @@ quicklaunch:
suggestionUrl: https://ac.ecosia.org/autocomplete?type=list&q= suggestionUrl: https://ac.ecosia.org/autocomplete?type=list&q=
``` ```
## Homepage Version ## Homepage Version & Update Checking
By default the release version is displayed at the bottom of the page. To hide this, use the `hideVersion` setting, like so: By default the release version is displayed at the bottom of the page. To hide this, use the `hideVersion` setting, like so:
@ -455,6 +469,12 @@ By default the release version is displayed at the bottom of the page. To hide t
hideVersion: true hideVersion: true
``` ```
You can disable checking for new versions from GitHub (enabled by default) with:
```yaml
disableUpdateCheck: true
```
## Log Path ## Log Path
By default the homepage logfile is written to the a `logs` subdirectory of the `config` folder. In order to customize this path, you can set the `logpath` setting. A `logs` folder will be created in that location where the logfile will be written. By default the homepage logfile is written to the a `logs` subdirectory of the `config` folder. In order to customize this path, you can set the `logpath` setting. A `logs` folder will be created in that location where the logfile will be written.

View file

@ -15,6 +15,8 @@ services:
volumes: volumes:
- /path/to/config:/app/config # Make sure your local config directory exists - /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 # (optional) For docker integrations
environment:
HOMEPAGE_ALLOWED_HOSTS: gethomepage.dev # required, may need port. See gethomepage.dev/installation/#homepage_allowed_hosts
``` ```
### Running as non-root ### Running as non-root
@ -36,6 +38,7 @@ services:
- /path/to/config:/app/config # Make sure your local config directory exists - /path/to/config:/app/config # Make sure your local config directory exists
- /var/run/docker.sock:/var/run/docker.sock # (optional) For docker integrations, see alternative methods - /var/run/docker.sock:/var/run/docker.sock # (optional) For docker integrations, see alternative methods
environment: environment:
HOMEPAGE_ALLOWED_HOSTS: gethomepage.dev # required, may need port. See gethomepage.dev/installation/#homepage_allowed_hosts
PUID: $PUID PUID: $PUID
PGID: $PGID PGID: $PGID
``` ```
@ -43,7 +46,7 @@ services:
### With Docker Run ### With Docker Run
```bash ```bash
docker run -p 3000:3000 -v /path/to/config:/app/config -v /var/run/docker.sock:/var/run/docker.sock ghcr.io/gethomepage/homepage:latest docker run -p 3000:3000 -e HOMEPAGE_ALLOWED_HOSTS=gethomepage.dev -v /path/to/config:/app/config -v /var/run/docker.sock:/var/run/docker.sock ghcr.io/gethomepage/homepage:latest
``` ```
### Using Environment Secrets ### Using Environment Secrets

View file

@ -4,27 +4,37 @@ description: Docs intro
icon: simple/docker icon: simple/docker
--- ---
<p>
You have a few options for deploying homepage, depending on your needs. We offer docker images for a majority of platforms. You can also install and run homepage from source if Docker is not your thing. It can even be installed on Kubernetes with Helm. You have a few options for deploying homepage, depending on your needs. We offer docker images for a majority of platforms. You can also install and run homepage from source if Docker is not your thing. It can even be installed on Kubernetes with Helm.
</p>
!!! warning !!! info
Please note that when using features such as widgets, Homepage can access personal information (for example from your home automation system) and Homepage currently does not (and is not planned to) include any authentication layer itself. Thus, we recommend homepage be deployed behind a reverse proxy including authentication, SSL etc, and / or behind a VPN. Please note that when using features such as widgets, Homepage can access personal information (for example from your home automation system) and Homepage currently does not (and is not planned to) include any authentication layer itself. Thus, we recommend homepage be deployed behind a reverse proxy including authentication, SSL etc, and / or behind a VPN.
<br> <br>
<div class="grid cards" style="margin: 0 auto;" markdown> <div class="grid cards" style="margin: 0 auto;" markdown>
:simple-docker: [&nbsp; Install on Docker :octicons-arrow-right-24:](docker.md) [:simple-docker: &nbsp; Install on Docker :octicons-arrow-right-24:](docker.md)
{ .card } { .card }
:simple-kubernetes: [&nbsp; Install on Kubernetes :octicons-arrow-right-24:](k8s.md) [:simple-kubernetes: &nbsp; Install on Kubernetes :octicons-arrow-right-24:](k8s.md)
{ .card } { .card }
:simple-unraid: [&nbsp; Install on UNRAID :octicons-arrow-right-24:](unraid.md) [:simple-unraid: &nbsp; Install on UNRAID :octicons-arrow-right-24:](unraid.md)
{ .card } { .card }
:simple-nextdotjs: [&nbsp; Building from source :octicons-arrow-right-24:](source.md) [:simple-nextdotjs: &nbsp; Building from source :octicons-arrow-right-24:](source.md)
{ .card } { .card }
</div> </div>
### `HOMEPAGE_ALLOWED_HOSTS`
As of v1.0 there is one required environment variable to access homepage via a URL other than `localhost`, <code>HOMEPAGE_ALLOWED_HOSTS</code>. The setting helps prevent certain kinds of attacks when retrieving data from the homepage API proxy.
The value is a comma-separated (no spaces) list of allowed hosts (sometimes with the port) that can host your homepage install. See the [docker](docker.md), [kubernetes](k8s.md) and [source](source.md) installation pages for more information about where / how to set the variable.
`localhost:3000` and `127.0.0.1:3000` are always included, but you can add a domain or IP address to this list to allow that host such as `HOMEPAGE_ALLOWED_HOSTS=gethomepage.dev,192.168.1.2:1234`, etc.
If you are seeing errors about host validation, check the homepage logs and ensure that the host exactly as output in the logs is in the `HOMEPAGE_ALLOWED_HOSTS` list.
This can be disabled by setting `HOMEPAGE_ALLOWED_HOSTS` to `*` but this is not recommended.

View file

@ -3,85 +3,6 @@ title: Kubernetes Installation
description: Install on Kubernetes description: Install on Kubernetes
--- ---
## Install with Helm
There is an [unofficial helm chart](https://github.com/jameswynn/helm-charts/tree/main/charts/homepage) that creates all the necessary manifests, including the service account and RBAC entities necessary for service discovery.
```sh
helm repo add jameswynn https://jameswynn.github.io/helm-charts
helm install homepage jameswynn/homepage -f values.yaml
```
The helm chart allows for all the configurations to be inlined directly in your `values.yaml`:
```yaml
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
settings:
# The service account is necessary to allow discovery of other services
serviceAccount:
create: true
name: homepage
# This enables the service account to access the necessary resources
enableRbac: true
ingress:
main:
enabled: true
annotations:
# Example annotations to add Homepage to your Homepage!
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.example.com
paths:
- path: /
pathType: Prefix
```
## Install with Kubernetes Manifests ## Install with Kubernetes Manifests
If you don't want to use the unofficial Helm chart, you can also create your own Kubernetes manifest(s) and apply them with `kubectl apply -f filename.yaml`. If you don't want to use the unofficial Helm chart, you can also create your own Kubernetes manifest(s) and apply them with `kubectl apply -f filename.yaml`.
@ -216,6 +137,14 @@ rules:
verbs: verbs:
- get - get
- list - list
- apiGroups:
- gateway.networking.k8s.io
resources:
- httproutes
- gateways
verbs:
- get
- list
- apiGroups: - apiGroups:
- metrics.k8s.io - metrics.k8s.io
resources: resources:
@ -294,6 +223,9 @@ spec:
- name: homepage - name: homepage
image: "ghcr.io/gethomepage/homepage:latest" image: "ghcr.io/gethomepage/homepage:latest"
imagePullPolicy: Always imagePullPolicy: Always
env:
- name: HOMEPAGE_ALLOWED_HOSTS
value: gethomepage.dev # required, may need port. See gethomepage.dev/installation/#homepage_allowed_hosts
ports: ports:
- name: http - name: http
containerPort: 3000 containerPort: 3000

View file

@ -9,7 +9,13 @@ First, clone the repository:
git clone https://github.com/gethomepage/homepage.git git clone https://github.com/gethomepage/homepage.git
``` ```
Then install dependencies and build the production bundle (I'm using pnpm here, you can use npm or yarn if you like): If `pnpm` is not installed, install it:
```bash
npm install -g pnpm
```
Then install dependencies and build the production bundle:
```bash ```bash
pnpm install pnpm install
@ -21,5 +27,9 @@ If this is your first time starting, copy the `src/skeleton` directory to `confi
Finally, run the server: Finally, run the server:
```bash ```bash
pnpm start HOMEPAGE_ALLOWED_HOSTS=gethomepage.dev:1234 pnpm start
``` ```
When updating homepage versions you will need to re-build the static files i.e. repeat the process above.
See [HOMEPAGE_ALLOWED_HOSTS](index.md#homepage_allowed_hosts) for more information on this environment variable.

View file

@ -286,3 +286,13 @@ body[data-md-color-scheme="default"] {
.md-tabs__link { .md-tabs__link {
transform: translateZ(0); transform: translateZ(0);
} }
.grid.cards .card {
padding: 0;
}
.grid.cards .card a {
display: block;
padding: 0.8rem;
text-decoration: none;
}

View file

@ -12,14 +12,17 @@ hide:
- Check config/logs/homepage.log, on docker simply e.g. `docker logs homepage`. This may provide some insight into the reason for an error. - Check config/logs/homepage.log, on docker simply e.g. `docker logs homepage`. This may provide some insight into the reason for an error.
- Check the browser error console, this can also sometimes provide useful information. - Check the browser error console, this can also sometimes provide useful information.
- Consider setting the `ENV` variable `LOG_LEVEL` to `debug`. - Consider setting the `ENV` variable `LOG_LEVEL` to `debug`.
- If certain widgets are failing when connecting to public APIs, consider [disabling IPv6](#disabling-ipv6).
## Service Widget Errors ## Service Widget Errors
All service widgets work essentially the same, that is, homepage makes a proxied call to an API made available by that service. The majority of the time widgets don't work it is a configuration issue. Of course, sometimes things do break. Some basic steps to try: All service widgets work essentially the same, that is, homepage makes a proxied call to an API made available by that service. The majority of the time widgets don't work it is a configuration issue. Of course, sometimes things do break. Some basic steps to check:
1. **URLs should not end with a / or other API path. Each widget will handle the path on its own.**. Including a trailing slash can result in an error. 1. URLs should not end with a / or other API path. Each widget will handle the path on its own.
2. Verify the homepage installation can connect to the IP address or host you are using for the widget `url`. This is most simply achieved by pinging the server from the homepage machine, in Docker this means _from inside the container_ itself, e.g.: 2. All services with a widget require a unique name.
3. Verify the homepage installation can connect to the IP address or host you are using for the widget `url`. This is most simply achieved by pinging the server from the homepage machine, in Docker this means _from inside the container_ itself, e.g.:
``` ```
docker exec homepage ping SERVICEIPORDOMAIN docker exec homepage ping SERVICEIPORDOMAIN
@ -27,7 +30,7 @@ All service widgets work essentially the same, that is, homepage makes a proxied
If your homepage install (container) cannot reach the service then you need to figure out why, for example in Docker this can mean putting the two containers on the same network, checking firewall issues, etc. If your homepage install (container) cannot reach the service then you need to figure out why, for example in Docker this can mean putting the two containers on the same network, checking firewall issues, etc.
3. If you have verified that homepage can in fact reach the service then you can also check the API output using e.g. `curl`, which is often helpful if you do need to file a bug report. Again, depending on your networking setup this may need to be run from _inside the container_ as IP / hostname resolution can differ inside vs outside. 4. If you have verified that homepage can in fact reach the service then you can also check the API output using e.g. `curl`, which is often helpful if you do need to file a bug report. Again, depending on your networking setup this may need to be run from _inside the container_ as IP / hostname resolution can differ inside vs outside.
!!! note !!! note
@ -64,3 +67,17 @@ All service widgets work essentially the same, that is, homepage makes a proxied
## Missing custom icons ## Missing custom icons
If, after correctly adding and mapping your custom icons via the [Icons](../configs/services.md#icons) instructions, you are still unable to see your icons please try recreating your container. If, after correctly adding and mapping your custom icons via the [Icons](../configs/services.md#icons) instructions, you are still unable to see your icons please try recreating your container.
## Disabling IPv6
If you are having issues with certain widgets that are unable to reach public APIs (e.g. weather), in certain setups you may need to disable IPv6. You can set the environment variable `HOMEPAGE_PROXY_DISABLE_IPV6` to `true` to disable IPv6 for the homepage proxy.
Alternatively, you can use the `sysctls` option in your docker-compose file to disable IPv6 for the homepage container completely:
```yaml
services:
homepage:
...
sysctls:
- net.ipv6.conf.all.disable_ipv6=1
```

View file

@ -46,9 +46,9 @@ See the [pre-commit documentation](https://pre-commit.com/#install) to get start
In general, homepage is meant to be a dashboard for 'self-hosted' services and we believe it is a small way we can help showcase this kind of software. While exceptions are made, mostly when there is no viable In general, homepage is meant to be a dashboard for 'self-hosted' services and we believe it is a small way we can help showcase this kind of software. While exceptions are made, mostly when there is no viable
self-hosted / open-source alternative, we ask that any widgets, etc. are developed primarily for a self-hosted tool. self-hosted / open-source alternative, we ask that any widgets, etc. are developed primarily for a self-hosted tool.
## New Feature Guidelines ## New Feature or Enhancement Guidelines {#new-feature-guidelines}
- New features should be linked to an existing feature request. The purpose of this requirement is to avoid the addition (and maintenance) of features that might only benefit a small number of users. - New features or enhancements, **no matter how small**, must be linked to an existing feature request with some comments or 'up-votes' that demonstrate community interest. The purpose of this requirement is to avoid the addition (and maintenance) of features that might only benefit a small number of users.
- If you have ideas for a larger feature you may want to open a discussion first. - If you have ideas for a larger feature you may want to open a discussion first.
## Service Widget Guidelines ## Service Widget Guidelines

View file

@ -22,9 +22,8 @@ An optional 'site' parameter can be supplied, if it is not the widget will use t
```yaml ```yaml
- unifi_console: - unifi_console:
url: https://unifi.host.or.ip:port url: https://unifi.host.or.ip:port
site: Site Name # optional
username: user username: user
password: pass password: pass
site: Site Name # optional key: unifiapikey # required if using API key instead of username/password
``` ```
_Added in v0.4.18, updated in 0.6.7_

View file

@ -0,0 +1,16 @@
---
title: APC UPS Monitoring
description: Lightweight monitoring widget for APC UPSs using apcupsd daemon
---
This widget extracts UPS information from an apcupsd daemon.
Only works for [APC/Schneider](https://www.se.com/us/en/product-range/61915-smartups/#products) UPS products.
[!NOTE]
By default apcupsd daemon is bound to 127.0.0.1. Edit `/etc/apcupsd.conf` and change `NISIP` to an IP accessible from your homepage docker (usually your internal LAN interface).
```yaml
widget:
type: apcups
url: tcp://your.acpupsd.host:3551
```

View file

@ -9,6 +9,8 @@ The widget has two modes, a single system with detailed info if `systemId` is pr
The `systemID` is the `id` field on the collections page of Beszel under the PocketBase admin panel. You can also use the 'nice name' from the Beszel UI. The `systemID` is the `id` field on the collections page of Beszel under the PocketBase admin panel. You can also use the 'nice name' from the Beszel UI.
A "superuser" is currently required to access the data from tbe Beszel API.
Allowed fields for 'overview' mode: `["systems", "up"]` Allowed fields for 'overview' mode: `["systems", "up"]`
Allowed fields for a single system: `["name", "status", "updated", "cpu", "memory", "disk", "network"]` Allowed fields for a single system: `["name", "status", "updated", "cpu", "memory", "disk", "network"]`

View file

@ -19,27 +19,22 @@ widget:
requestBody: # optional, can be string or object, see below requestBody: # optional, can be string or object, see below
display: # optional, default to block, see below display: # optional, default to block, see below
mappings: mappings:
- field: key # needs to be YAML string or object - field: key
label: Field 1 label: Field 1
format: text # optional - defaults to text format: text # optional - defaults to text
- field: # needs to be YAML string or object - field: path.to.key2
path:
to: key2
format: number # optional - defaults to text format: number # optional - defaults to text
label: Field 2 label: Field 2
- field: # needs to be YAML string or object - field: path.to.another.key3
path:
to:
another: key3
label: Field 3 label: Field 3
format: percent # optional - defaults to text format: percent # optional - defaults to text
- field: key # needs to be YAML string or object - field: key
label: Field 4 label: Field 4
format: date # optional - defaults to text format: date # optional - defaults to text
locale: nl # optional locale: nl # optional
dateStyle: long # optional - defaults to "long". Allowed values: `["full", "long", "medium", "short"]`. dateStyle: long # optional - defaults to "long". Allowed values: `["full", "long", "medium", "short"]`.
timeStyle: medium # optional - Allowed values: `["full", "long", "medium", "short"]`. timeStyle: medium # optional - Allowed values: `["full", "long", "medium", "short"]`.
- field: key # needs to be YAML string or object - field: key
label: Field 5 label: Field 5
format: relativeDate # optional - defaults to text format: relativeDate # optional - defaults to text
locale: nl # optional locale: nl # optional
@ -49,9 +44,7 @@ widget:
label: Field 6 label: Field 6
format: text format: text
additionalField: # optional additionalField: # optional
field: field: hourly.time.key
hourly:
time: other key
color: theme # optional - defaults to "". Allowed values: `["theme", "adaptive", "black", "white"]`. color: theme # optional - defaults to "". Allowed values: `["theme", "adaptive", "black", "white"]`.
format: date # optional format: date # optional
- field: key - field: key
@ -62,10 +55,12 @@ widget:
format: size format: size
``` ```
Supported formats for the values are `text`, `number`, `float`, `percent`, `bytes`, `bitrate`, `size`, `date` and `relativeDate`. Supported formats for the values are `text`, `number`, `float`, `percent`, `duration`, `bytes`, `bitrate`, `size`, `date` and `relativeDate`.
The `dateStyle` and `timeStyle` options of the `date` format are passed directly to [Intl.DateTimeFormat](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/DateTimeFormat) and the `style` and `numeric` options of `relativeDate` are passed to [Intl.RelativeTimeFormat](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat/RelativeTimeFormat). The `dateStyle` and `timeStyle` options of the `date` format are passed directly to [Intl.DateTimeFormat](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/DateTimeFormat) and the `style` and `numeric` options of `relativeDate` are passed to [Intl.RelativeTimeFormat](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/RelativeTimeFormat/RelativeTimeFormat).
The `duration` format expects the duration to be specified in seconds. The `scale` transformation tool can be used if a conversion is required.
The `size` format will return the length of the array or string, or the number of keys in an object. This is then formatted as `number`. The `size` format will return the length of the array or string, or the number of keys in an object. This is then formatted as `number`.
## Example ## Example
@ -101,9 +96,16 @@ mappings:
label: Name label: Name
- field: status # Alive - field: status # Alive
label: Status label: Status
- field: - field: origin.name # Earth (C-137)
origin: name # Earth (C-137)
label: Origin label: Origin
- field: locations.1.name # Citadel of Ricks
label: Location
```
Note that older versions of the widget accepted fields as a yaml object, which is still supported. E.g.:
```yaml
mappings:
- field: - field:
locations: locations:
1: name # Citadel of Ricks 1: name # Citadel of Ricks
@ -136,7 +138,15 @@ You can manipulate data with the following tools `remap`, `scale`, `prefix` and
prefix: "$" prefix: "$"
``` ```
## List View ## Display Options
The widget supports different display modes that can be set using the `display` property.
### Block View (Default)
The default display mode is `block`, which shows fields in a block format.
### List View
You can change the default block view to a list view by setting the `display` option to `list`. You can change the default block view to a list view by setting the `display` option to `list`.
@ -160,13 +170,54 @@ The list view can optionally display an additional field next to the primary fie
- any: true # will map all other values - any: true # will map all other values
to: Unknown to: Unknown
additionalField: additionalField:
field: field: hourly.time.key
hourly:
time: key
color: theme color: theme
format: date format: date
``` ```
### Dynamic List View
To display a list of items from an array in the API response, set the `display` property to `dynamic-list` and configure the `mappings` object with the following properties:
```yaml
widget:
type: customapi
url: https://example.com/api/servers
display: dynamic-list
mappings:
items: data # optional, the path to the array in the API response. Omit this option if the array is at the root level
name: id # required, field in each item to use as the item name (left side)
label: ip_address # required, field in each item to use as the item label (right side)
limit: 5 # optional, limit the number of items to display
format: text # optional - format of the label field
target: https://example.com/server/{id} # optional, makes items clickable with template support
```
This configuration would work with an API that returns a response like:
```json
{
"data": [
{ "id": "server1", "name": "Server 1", "ip_address": "192.168.0.1" },
{ "id": "server2", "name": "Server 2", "ip_address": "192.168.0.2" }
]
}
```
The widget would display a list with two items:
- "Server 1" on the left and "192.168.0.1" on the right, clickable to "https://example.com/server/server1"
- "Server 2" on the left and "192.168.0.2" on the right, clickable to "https://example.com/server/server2"
For nested fields in the items, you can use dot notation:
```yaml
mappings:
items: data.results.servers
name: details.id
label: details.name
```
## Custom Headers ## Custom Headers
Pass custom headers using the `headers` option, for example: Pass custom headers using the `headers` option, for example:

View file

@ -0,0 +1,17 @@
---
title: Firefly III
description: Firefly III Widget Configuration
---
Learn more about [Firefly III](https://www.firefly-iii.org/).
Find your API key under `Options > Profile > OAuth > Personal Access Tokens`.
Allowed fields: `["networth" ,"budget"]`.
```yaml
widget:
type: firefly
url: https://firefly.host.or.ip
key: personalaccesstoken.personalaccesstoken.personalaccesstoken
```

View file

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

View file

@ -7,7 +7,7 @@ Learn more about [Gitea](https://gitea.com).
API token requires `notifications`, `repository` and `issue` permissions. See the [gitea documentation](https://docs.gitea.com/development/api-usage#generating-and-listing-api-tokens) for details on generating tokens. API token requires `notifications`, `repository` and `issue` permissions. See the [gitea documentation](https://docs.gitea.com/development/api-usage#generating-and-listing-api-tokens) for details on generating tokens.
Allowed fields: `["notifications", "issues", "pulls"]`. Allowed fields: `["repositories", "notifications", "issues", "pulls"]`.
```yaml ```yaml
widget: widget:

View file

@ -11,7 +11,7 @@ Learn more about [Gluetun](https://github.com/qdm12/gluetun).
Allowed fields: `["public_ip", "region", "country"]`. Allowed fields: `["public_ip", "region", "country"]`.
To setup authentication, follow [the official Gluetun documentation](https://github.com/qdm12/gluetun-wiki/blob/main/setup/advanced/control-server.md#authentication). To setup authentication, follow [the official Gluetun documentation](https://github.com/qdm12/gluetun-wiki/blob/main/setup/advanced/control-server.md#authentication). Note that to use the api key method, you must add the route `GET /v1/publicip/ip` to the `routes` array in your Gluetun config.toml.
```yaml ```yaml
widget: widget:

View file

@ -8,6 +8,7 @@ search:
You can also find a list of all available service widgets in the sidebar navigation. You can also find a list of all available service widgets in the sidebar navigation.
- [Adguard Home](adguard-home.md) - [Adguard Home](adguard-home.md)
- [APC UPS](apcups.md)
- [ArgoCD](argocd.md) - [ArgoCD](argocd.md)
- [Atsumeru](atsumeru.md) - [Atsumeru](atsumeru.md)
- [Audiobookshelf](audiobookshelf.md) - [Audiobookshelf](audiobookshelf.md)
@ -33,6 +34,7 @@ You can also find a list of all available service widgets in the sidebar navigat
- [ESPHome](esphome.md) - [ESPHome](esphome.md)
- [EVCC](evcc.md) - [EVCC](evcc.md)
- [Fileflows](fileflows.md) - [Fileflows](fileflows.md)
- [Firefly III](firefly.md)
- [Flood](flood.md) - [Flood](flood.md)
- [FreshRSS](freshrss.md) - [FreshRSS](freshrss.md)
- [Frigate](frigate.md) - [Frigate](frigate.md)
@ -49,6 +51,7 @@ You can also find a list of all available service widgets in the sidebar navigat
- [HDHomeRun](hdhomerun.md) - [HDHomeRun](hdhomerun.md)
- [Headscale](headscale.md) - [Headscale](headscale.md)
- [Healthchecks](healthchecks.md) - [Healthchecks](healthchecks.md)
- [Karakeep](karakeep.md)
- [Home Assistant](homeassistant.md) - [Home Assistant](homeassistant.md)
- [HomeBox](homebox.md) - [HomeBox](homebox.md)
- [Homebridge](homebridge.md) - [Homebridge](homebridge.md)
@ -114,6 +117,7 @@ You can also find a list of all available service widgets in the sidebar navigat
- [ruTorrent](rutorrent.md) - [ruTorrent](rutorrent.md)
- [SABnzbd](sabnzbd.md) - [SABnzbd](sabnzbd.md)
- [Scrutiny](scrutiny.md) - [Scrutiny](scrutiny.md)
- [Slskd](slskd.md)
- [Sonarr](sonarr.md) - [Sonarr](sonarr.md)
- [Speedtest Tracker](speedtest-tracker.md) - [Speedtest Tracker](speedtest-tracker.md)
- [Stash](stash.md) - [Stash](stash.md)

View file

@ -0,0 +1,17 @@
---
title: Karakeep
description: Karakeep Widget Configuration
---
Learn more about [Karakeep](https://karakeep.app) (formerly known as Hoarder).
Generate an API key for your user at `User Settings > API Keys`.
Allowed fields: `["bookmarks", "favorites", "archived", "highlights", "lists", "tags"]` (maximum of 4).
```yaml
widget:
type: karakeep
url: http[s]://karakeep.host.or.ip[:port]
key: karakeep_api_key
```

View file

@ -15,4 +15,5 @@ widget:
url: http://kavita.host.or.ip:port url: http://kavita.host.or.ip:port
username: username username: username
password: password password: password
key: kavitaapikey # Optional, e.g. if not using username and password
``` ```

View file

@ -9,10 +9,16 @@ Uses the same username and password used to login from the web.
Allowed fields: `["libraries", "series", "books"]`. Allowed fields: `["libraries", "series", "books"]`.
| Komga API Version | Homepage Widget Version |
| ----------------- | ----------------------- |
| < v2 | 1 (default) |
| >= v2 | 2 |
```yaml ```yaml
widget: widget:
type: komga type: komga
url: http://komga.host.or.ip:port url: http://komga.host.or.ip:port
username: username username: username
password: password password: password
key: komgaapikey # optional
``` ```

View file

@ -20,4 +20,6 @@ widget:
type: peanut type: peanut
url: http://peanut.host.or.ip:port url: http://peanut.host.or.ip:port
key: nameofyourups key: nameofyourups
username: username # only needed if set
password: password # only needed if set
``` ```

View file

@ -10,7 +10,5 @@ If more than (4) fields are provided, only the first (4) will be used.
widget: widget:
type: romm type: romm
url: http://romm.host.or.ip url: http://romm.host.or.ip
username: username # optional
password: password # optional
fields: ["platforms", "totalRoms", "saves", "states"] # optional - default fields shown fields: ["platforms", "totalRoms", "saves", "states"] # optional - default fields shown
``` ```

View file

@ -0,0 +1,25 @@
---
title: Slskd
description: Slskd Widget Configuration
---
Learn more about [Slskd](https://github.com/slskd/slskd).
Generate an API key for slskd with `openssl rand -base64 48`.
Add it to your `path/to/config/slskd.yml` in `web > authentication > api_keys`:
```yaml
homepage_widget:
key: <generated key>
role: readonly
cidr: <homepage subnet>
```
Allowed fields: `["slskStatus", "updateStatus", "downloads", "uploads", "sharedFiles"]` (maximum of 4).
```yaml
widget:
type: slskd
url: http[s]://slskd.host.or.ip[:5030]
key: generatedapikey
```

View file

@ -8,7 +8,12 @@ Learn more about [Speedtest Tracker](https://github.com/alexjustesen/speedtest-t
No extra configuration is required. No extra configuration is required.
This widget is compatible with both [alexjustesen/speedtest-tracker](https://github.com/alexjustesen/speedtest-tracker) and [henrywhitaker3/Speedtest-Tracker](https://github.com/henrywhitaker3/Speedtest-Tracker). Version 1 of the widget is compatible with both [alexjustesen/speedtest-tracker](https://github.com/alexjustesen/speedtest-tracker) and [henrywhitaker3/Speedtest-Tracker](https://github.com/henrywhitaker3/Speedtest-Tracker), while version 2 is only compatible with [alexjustesen/speedtest-tracker](https://github.com/alexjustesen/speedtest-tracker).
| Speedtest Version (AJ) | Speedtest Version (HW) | Homepage Widget Version |
| ---------------------- | ---------------------- | ----------------------- |
| < 1.2.1 | 1.12.0 | 1 (default) |
| >= 1.2.1 | N/A | 2 |
Allowed fields: `["download", "upload", "ping"]`. Allowed fields: `["download", "upload", "ping"]`.
@ -16,5 +21,7 @@ Allowed fields: `["download", "upload", "ping"]`.
widget: widget:
type: speedtest type: speedtest
url: http://speedtest.host.or.ip url: http://speedtest.host.or.ip
version: 1 # optional, default is 1
key: speedtestapikey # required for version 2
bitratePrecision: 3 # optional, default is 0 bitratePrecision: 3 # optional, default is 0
``` ```

View file

@ -19,15 +19,14 @@ Allowed fields: `["uptime", "wan", "lan", "lan_users", "lan_devices", "wlan", "w
!!! hint !!! hint
If you enter e.g. incorrect credentials and receive an "API Error", you may need to recreate the container to clear the cache. If you enter e.g. incorrect credentials and receive an "API Error", you may need to recreate the container or restart the service to clear the cache.
```yaml ```yaml
widget: widget:
type: unifi type: unifi
url: https://unifi.host.or.ip:port url: https://unifi.host.or.ip:port
username: username
password: password
site: Site Name # optional site: Site Name # optional
username: user
password: pass
key: unifiapikey # required if using API key instead of username/password
``` ```
_Added in v0.4.18, updated in 0.6.7_

View file

@ -46,6 +46,10 @@ config:
docker: docker:
settings: settings:
env:
- name: HOMEPAGE_ALLOWED_HOSTS
value: "homepage.k3d.localhost:8080"
serviceAccount: serviceAccount:
create: true create: true
name: homepage name: homepage

View file

@ -23,6 +23,12 @@ Set the `mode` in the `kubernetes.yaml` to `cluster`.
mode: default mode: default
``` ```
To enable Kubernetes gateway-api compatibility, set `route` to `gateway`.
```yaml
route: gateway
```
## Widgets ## Widgets
The Kubernetes widget can show a high-level overview of the cluster, The Kubernetes widget can show a high-level overview of the cluster,

View file

@ -31,6 +31,7 @@ nav:
- "Service Widgets": - "Service Widgets":
- widgets/services/index.md - widgets/services/index.md
- widgets/services/adguard-home.md - widgets/services/adguard-home.md
- widgets/services/apcups.md
- widgets/services/argocd.md - widgets/services/argocd.md
- widgets/services/atsumeru.md - widgets/services/atsumeru.md
- widgets/services/audiobookshelf.md - widgets/services/audiobookshelf.md
@ -56,6 +57,7 @@ nav:
- widgets/services/esphome.md - widgets/services/esphome.md
- widgets/services/evcc.md - widgets/services/evcc.md
- widgets/services/fileflows.md - widgets/services/fileflows.md
- widgets/services/firefly.md
- widgets/services/flood.md - widgets/services/flood.md
- widgets/services/freshrss.md - widgets/services/freshrss.md
- widgets/services/frigate.md - widgets/services/frigate.md
@ -72,6 +74,7 @@ nav:
- widgets/services/hdhomerun.md - widgets/services/hdhomerun.md
- widgets/services/headscale.md - widgets/services/headscale.md
- widgets/services/healthchecks.md - widgets/services/healthchecks.md
- widgets/services/karakeep.md
- widgets/services/homeassistant.md - widgets/services/homeassistant.md
- widgets/services/homebox.md - widgets/services/homebox.md
- widgets/services/homebridge.md - widgets/services/homebridge.md

View file

@ -131,8 +131,8 @@ module.exports = {
? BIBIT_UNITS ? BIBIT_UNITS
: BIT_UNITS : BIT_UNITS
: options.binary : options.binary
? BIBYTE_UNITS ? BIBYTE_UNITS
: BYTE_UNITS; : BYTE_UNITS;
if (value === 0) return `0 ${sizes[0]}/s`; if (value === 0) return `0 ${sizes[0]}/s`;

8660
package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -1,8 +1,9 @@
{ {
"name": "homepage", "name": "homepage",
"version": "0.9.6", "version": "1.2.0",
"private": true, "private": true,
"scripts": { "scripts": {
"preinstall": "npx only-allow pnpm",
"dev": "next dev", "dev": "next dev",
"build": "next build", "build": "next build",
"start": "next start", "start": "next start",
@ -10,55 +11,55 @@
"telemetry": "next telemetry disable" "telemetry": "next telemetry disable"
}, },
"dependencies": { "dependencies": {
"@headlessui/react": "^1.7.18", "@headlessui/react": "^1.7.19",
"@kubernetes/client-node": "^0.17.1", "@kubernetes/client-node": "^1.0.0",
"cal-parser": "^1.0.2", "cal-parser": "^1.0.2",
"classnames": "^2.5.1", "classnames": "^2.5.1",
"compare-versions": "^6.1.0", "compare-versions": "^6.1.1",
"dockerode": "^4.0.2", "dockerode": "^4.0.4",
"follow-redirects": "^1.15.9", "follow-redirects": "^1.15.9",
"gamedig": "^5.1.4", "gamedig": "^5.2.0",
"i18next": "^21.10.0", "i18next": "^24.2.3",
"js-yaml": "^4.1.0", "js-yaml": "^4.1.0",
"json-rpc-2.0": "^1.7.0", "json-rpc-2.0": "^1.7.0",
"luxon": "^3.5.0", "luxon": "^3.5.0",
"memory-cache": "^0.2.0", "memory-cache": "^0.2.0",
"minecraft-ping-js": "^1.0.2", "minecraftstatuspinger": "^1.2.2",
"next": "^12.3.4", "next": "^15.2.4",
"next-i18next": "^12.1.0", "next-i18next": "^12.1.0",
"ping": "^0.4.4", "ping": "^0.4.4",
"pretty-bytes": "^6.1.1", "pretty-bytes": "^6.1.1",
"raw-body": "^3.0.0", "raw-body": "^3.0.0",
"react": "^18.3.1", "react": "^18.3.1",
"react-dom": "^18.2.0", "react-dom": "^18.3.1",
"react-i18next": "^11.18.6", "react-i18next": "^11.18.6",
"react-icons": "^4.12.0", "react-icons": "^5.4.0",
"recharts": "^2.12.6", "recharts": "^2.15.1",
"rrule": "^2.8.1", "rrule": "^2.8.1",
"swr": "^1.3.0", "swr": "^2.3.3",
"systeminformation": "^5.23.8", "systeminformation": "^5.25.11",
"tough-cookie": "^4.1.3", "tough-cookie": "^5.1.2",
"urbackup-server-api": "^0.52.1", "urbackup-server-api": "^0.8.9",
"winston": "^3.11.0", "winston": "^3.17.0",
"xml-js": "^1.6.11" "xml-js": "^1.6.11"
}, },
"devDependencies": { "devDependencies": {
"@tailwindcss/forms": "^0.5.8", "@tailwindcss/forms": "^0.5.10",
"autoprefixer": "^10.4.20", "@tailwindcss/postcss": "^4.0.9",
"eslint": "^8.57.1", "eslint": "^9.21.0",
"eslint-config-airbnb": "^19.0.4", "eslint-config-next": "^15.2.4",
"eslint-config-next": "^14.2.3", "eslint-config-prettier": "^10.1.1",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-import": "^2.31.0", "eslint-plugin-import": "^2.31.0",
"eslint-plugin-jsx-a11y": "^6.8.0", "eslint-plugin-jsx-a11y": "^6.10.2",
"eslint-plugin-prettier": "^5.2.1", "eslint-plugin-prettier": "^5.2.3",
"eslint-plugin-react": "^7.37.2", "eslint-plugin-react": "^7.37.4",
"eslint-plugin-react-hooks": "^4.6.2", "eslint-plugin-react-hooks": "^5.1.0",
"postcss": "^8.4.47", "postcss": "^8.5.3",
"prettier": "^3.2.5", "prettier": "^3.5.2",
"tailwind-scrollbar": "^3.0.5", "prettier-plugin-organize-imports": "^4.1.0",
"tailwindcss": "^3.4.14", "tailwind-scrollbar": "^4.0.1",
"typescript": "^5.6.3" "tailwindcss": "^4.0.9",
"typescript": "^5.7.3"
}, },
"optionalDependencies": { "optionalDependencies": {
"osx-temperature-sensor": "^1.0.8" "osx-temperature-sensor": "^1.0.8"

4650
pnpm-lock.yaml generated

File diff suppressed because it is too large Load diff

View file

@ -1,6 +1,5 @@
module.exports = { module.exports = {
plugins: { plugins: {
tailwindcss: {}, "@tailwindcss/postcss": {},
autoprefixer: {},
}, },
}; };

View file

@ -148,7 +148,9 @@
"up": "Op", "up": "Op",
"received": "Ontvang", "received": "Ontvang",
"sent": "Gestuur", "sent": "Gestuur",
"externalIPAddress": "Ext. IP" "externalIPAddress": "Ext. IP",
"externalIPv6Address": "Ext. IPv6",
"externalIPv6Prefix": "Ext. IPv6-Voorvoegsel"
}, },
"caddy": { "caddy": {
"upstreams": "Stroomop", "upstreams": "Stroomop",
@ -176,7 +178,7 @@
"connectedAp": "Gekoppelde APs", "connectedAp": "Gekoppelde APs",
"activeUser": "Aktiewe toestelle", "activeUser": "Aktiewe toestelle",
"alerts": "Waarskuwings", "alerts": "Waarskuwings",
"connectedGateway": "Gekoppelde poorte", "connectedGateways": "Gekoppelde poorte",
"connectedSwitches": "Gekoppelde skakelaars" "connectedSwitches": "Gekoppelde skakelaars"
}, },
"nzbget": { "nzbget": {
@ -702,6 +704,10 @@
"processed": "Verwerk", "processed": "Verwerk",
"time": "Tyd" "time": "Tyd"
}, },
"firefly": {
"networth": "Netto Waarde",
"budget": "Begroting"
},
"grafana": { "grafana": {
"dashboards": "Dashboards", "dashboards": "Dashboards",
"datasources": "Databronne", "datasources": "Databronne",
@ -879,7 +885,8 @@
"gitea": { "gitea": {
"notifications": "Kennisgewings", "notifications": "Kennisgewings",
"issues": "Kwessies", "issues": "Kwessies",
"pulls": "Trek Versoeke" "pulls": "Trek Versoeke",
"repositories": "Bewaarplekke"
}, },
"stash": { "stash": {
"scenes": "Tonele", "scenes": "Tonele",
@ -1010,5 +1017,30 @@
"issues": "Kwessies", "issues": "Kwessies",
"merges": "Saamvleg Versoeke", "merges": "Saamvleg Versoeke",
"projects": "Projekte" "projects": "Projekte"
},
"apcups": {
"status": "Status",
"load": "Las",
"bcharge": "Batterylading",
"timeleft": "Oorblywende Tyd"
},
"karakeep": {
"bookmarks": "Boekmerke",
"favorites": "Gunstelinge",
"archived": "Geargiveer",
"highlights": "Hoogtepunte",
"lists": "Lyste",
"tags": "Merkers"
},
"slskd": {
"slskStatus": "Netwerk",
"connected": "Gekoppel",
"disconnected": "Ontkoppel",
"updateStatus": "Opdateer",
"update_yes": "Beskikbaar",
"update_no": "Op Datum",
"downloads": "Aflaaie",
"uploads": "Oplaaie",
"sharedFiles": "Lêers"
} }
} }

View file

@ -148,7 +148,9 @@
"up": "يعمل", "up": "يعمل",
"received": "تم الإستلام", "received": "تم الإستلام",
"sent": "تم الإرسال", "sent": "تم الإرسال",
"externalIPAddress": "IP الخارجي" "externalIPAddress": "IP الخارجي",
"externalIPv6Address": "Ext. IPv6",
"externalIPv6Prefix": "Ext. IPv6-Prefix"
}, },
"caddy": { "caddy": {
"upstreams": "تدفق", "upstreams": "تدفق",
@ -176,7 +178,7 @@
"connectedAp": "المتصلة APs", "connectedAp": "المتصلة APs",
"activeUser": "الأجهزة النشطة", "activeUser": "الأجهزة النشطة",
"alerts": "تنبيهات", "alerts": "تنبيهات",
"connectedGateway": "البوابات المتصلة", "connectedGateways": "Connected gateways",
"connectedSwitches": "مفاتيح التبديل المتصلة" "connectedSwitches": "مفاتيح التبديل المتصلة"
}, },
"nzbget": { "nzbget": {
@ -702,6 +704,10 @@
"processed": "معالجة", "processed": "معالجة",
"time": "الوقت" "time": "الوقت"
}, },
"firefly": {
"networth": "Net Worth",
"budget": "Budget"
},
"grafana": { "grafana": {
"dashboards": "لوحات المعلومات", "dashboards": "لوحات المعلومات",
"datasources": "مصادر البيانات", "datasources": "مصادر البيانات",
@ -879,7 +885,8 @@
"gitea": { "gitea": {
"notifications": "الإشعارات", "notifications": "الإشعارات",
"issues": "المُشكِلات", "issues": "المُشكِلات",
"pulls": "طلبات السحب" "pulls": "طلبات السحب",
"repositories": "Repositories"
}, },
"stash": { "stash": {
"scenes": "المشاهد", "scenes": "المشاهد",
@ -1010,5 +1017,30 @@
"issues": "المُشكِلات", "issues": "المُشكِلات",
"merges": "Merge Requests", "merges": "Merge Requests",
"projects": "Projects" "projects": "Projects"
},
"apcups": {
"status": "الحالة",
"load": "الضغط",
"bcharge": "شحن البطارية",
"timeleft": "الوقت المتبقي"
},
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "التصنيفات"
},
"slskd": {
"slskStatus": "الشبكة",
"connected": "متصل",
"disconnected": "غير متصل",
"updateStatus": "Update",
"update_yes": "متاح",
"update_no": "حتى الآن",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "ملفات"
} }
} }

File diff suppressed because it is too large Load diff

View file

@ -148,7 +148,9 @@
"up": "Actiu", "up": "Actiu",
"received": "Rebuts", "received": "Rebuts",
"sent": "Enviats", "sent": "Enviats",
"externalIPAddress": "IP ext." "externalIPAddress": "IP ext.",
"externalIPv6Address": "Ext. IPv6",
"externalIPv6Prefix": "Ext. IPv6-Prefix"
}, },
"caddy": { "caddy": {
"upstreams": "Upstreams", "upstreams": "Upstreams",
@ -176,7 +178,7 @@
"connectedAp": "AP connectats", "connectedAp": "AP connectats",
"activeUser": "Dispositius actius", "activeUser": "Dispositius actius",
"alerts": "Alertes", "alerts": "Alertes",
"connectedGateway": "Pasarel·les connectades", "connectedGateways": "Connected gateways",
"connectedSwitches": "Conmutadors connectats" "connectedSwitches": "Conmutadors connectats"
}, },
"nzbget": { "nzbget": {
@ -702,6 +704,10 @@
"processed": "Processat", "processed": "Processat",
"time": "Temps" "time": "Temps"
}, },
"firefly": {
"networth": "Net Worth",
"budget": "Budget"
},
"grafana": { "grafana": {
"dashboards": "Taulells", "dashboards": "Taulells",
"datasources": "Orígens de dades", "datasources": "Orígens de dades",
@ -879,7 +885,8 @@
"gitea": { "gitea": {
"notifications": "Notificacions", "notifications": "Notificacions",
"issues": "Problemes", "issues": "Problemes",
"pulls": "Sol·licitud de Canvis" "pulls": "Sol·licitud de Canvis",
"repositories": "Repositories"
}, },
"stash": { "stash": {
"scenes": "Escenes", "scenes": "Escenes",
@ -1010,5 +1017,30 @@
"issues": "Problemes", "issues": "Problemes",
"merges": "Merge Requests", "merges": "Merge Requests",
"projects": "Projectes" "projects": "Projectes"
},
"apcups": {
"status": "Estat",
"load": "Càrrega",
"bcharge": "Càrrega de la bateria",
"timeleft": "Temps restant"
},
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Etiquetes"
},
"slskd": {
"slskStatus": "Xarxa",
"connected": "Connectat",
"disconnected": "Desconnectat",
"updateStatus": "Update",
"update_yes": "Disponible",
"update_no": "Actualitzat",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "Fitxers"
} }
} }

View file

@ -85,16 +85,16 @@
"ping": { "ping": {
"error": "Chyba", "error": "Chyba",
"ping": "Odezva", "ping": "Odezva",
"down": "Down", "down": "Výpadek",
"up": "Up", "up": "Běží",
"not_available": "Není k dispozici" "not_available": "Není k dispozici"
}, },
"siteMonitor": { "siteMonitor": {
"http_status": "Stav HTTP", "http_status": "Stav HTTP",
"error": "Chyba", "error": "Chyba",
"response": "Odpověď", "response": "Odpověď",
"down": "Down", "down": "Výpadek",
"up": "Up", "up": "Běží",
"not_available": "Není k dispozici" "not_available": "Není k dispozici"
}, },
"emby": { "emby": {
@ -144,11 +144,13 @@
"uptime": "Doba spuštění", "uptime": "Doba spuštění",
"maxDown": "Max. Down", "maxDown": "Max. Down",
"maxUp": "Max. Up", "maxUp": "Max. Up",
"down": "Down", "down": "Výpadek",
"up": "Up", "up": "Běží",
"received": "Přijaté", "received": "Přijaté",
"sent": "Odeslané", "sent": "Odeslané",
"externalIPAddress": "Ext. IP" "externalIPAddress": "Ext. IP",
"externalIPv6Address": "Veřejná IPv6",
"externalIPv6Prefix": "Věřejná IPv6 prefix"
}, },
"caddy": { "caddy": {
"upstreams": "Odesílání dat", "upstreams": "Odesílání dat",
@ -176,7 +178,7 @@
"connectedAp": "Připojené APs", "connectedAp": "Připojené APs",
"activeUser": "Aktivní zařízení", "activeUser": "Aktivní zařízení",
"alerts": "Upozornění", "alerts": "Upozornění",
"connectedGateway": "Připojené brány", "connectedGateways": "Připojené brány",
"connectedSwitches": "Připojené přepínače" "connectedSwitches": "Připojené přepínače"
}, },
"nzbget": { "nzbget": {
@ -227,8 +229,8 @@
"seed": "Seedované" "seed": "Seedované"
}, },
"develancacheui": { "develancacheui": {
"cachehitbytes": "Cache Hit Bytes", "cachehitbytes": "Byty nalezené v mezipaměti",
"cachemissbytes": "Cache Miss Bytes" "cachemissbytes": "Byty nenalezené v mezipaměti"
}, },
"downloadstation": { "downloadstation": {
"download": "Stahování", "download": "Stahování",
@ -285,7 +287,7 @@
"total": "Celkem", "total": "Celkem",
"connected": "", "connected": "",
"new_devices": "", "new_devices": "",
"down_alerts": "Down Alerts" "down_alerts": "Upozornění na výpadek"
}, },
"pihole": { "pihole": {
"queries": "Dotazy", "queries": "Dotazy",
@ -311,13 +313,13 @@
}, },
"suwayomi": { "suwayomi": {
"download": "Staženo", "download": "Staženo",
"nondownload": "Non-Downloaded", "nondownload": "Nestaženo",
"read": "Přečteno", "read": "Přečteno",
"unread": "Nepřečteno", "unread": "Nepřečteno",
"downloadedread": "Downloaded & Read", "downloadedread": "Staženo a přečteno",
"downloadedunread": "Downloaded & Unread", "downloadedunread": "Staženo a nepřečteno",
"nondownloadedread": "Non-Downloaded & Read", "nondownloadedread": "Nestaženo a přečteno",
"nondownloadedunread": "Non-Downloaded & Unread" "nondownloadedunread": "Nestaženo a nepřečteno"
}, },
"tailscale": { "tailscale": {
"address": "Adresa", "address": "Adresa",
@ -335,15 +337,15 @@
}, },
"technitium": { "technitium": {
"totalQueries": "Dotazy", "totalQueries": "Dotazy",
"totalNoError": "Success", "totalNoError": "Úspěšně",
"totalServerFailure": "Failures", "totalServerFailure": "Chyby",
"totalNxDomain": "NX Domains", "totalNxDomain": "NX domény",
"totalRefused": "Refused", "totalRefused": "Odmítnuto",
"totalAuthoritative": "Authoritative", "totalAuthoritative": "Autoritativní",
"totalRecursive": "Recursive", "totalRecursive": "Rekurzivní",
"totalCached": "Cached", "totalCached": "V mezipaměti",
"totalBlocked": "Blokováno", "totalBlocked": "Blokováno",
"totalDropped": "Dropped", "totalDropped": "Vynecháno",
"totalClients": "Klienti" "totalClients": "Klienti"
}, },
"tdarr": { "tdarr": {
@ -432,7 +434,7 @@
"load": "Zatížení", "load": "Zatížení",
"wait": "Počkejte prosím", "wait": "Počkejte prosím",
"temp": "TEPLOTA", "temp": "TEPLOTA",
"_temp": "Temp", "_temp": "Teplota",
"warn": "Varováni", "warn": "Varováni",
"uptime": "BĚŽÍ", "uptime": "BĚŽÍ",
"total": "Celkem", "total": "Celkem",
@ -440,12 +442,12 @@
"used": "Využité", "used": "Využité",
"days": "d", "days": "d",
"hours": "h", "hours": "h",
"crit": "Crit", "crit": "Kritické",
"read": "Přečteno", "read": "Přečteno",
"write": "Write", "write": "Zápis",
"gpu": "GPU", "gpu": "Grafická karta",
"mem": "Mem", "mem": "Pamět RAM",
"swap": "Swap" "swap": "Swap RAM"
}, },
"quicklaunch": { "quicklaunch": {
"bookmark": "Záložka", "bookmark": "Záložka",
@ -454,7 +456,7 @@
"custom": "Vlastní", "custom": "Vlastní",
"visit": "Navštivte", "visit": "Navštivte",
"url": "Odkaz", "url": "Odkaz",
"searchsuggestion": "Suggestion" "searchsuggestion": "Doporučení"
}, },
"wmo": { "wmo": {
"0-day": "Slunečno", "0-day": "Slunečno",
@ -521,15 +523,15 @@
"up_to_date": "Žádné", "up_to_date": "Žádné",
"child_bridges": "Podřízené můstky", "child_bridges": "Podřízené můstky",
"child_bridges_status": "{{ok}}/{{total}}", "child_bridges_status": "{{ok}}/{{total}}",
"up": "Up", "up": "Běží",
"pending": "Čeká", "pending": "Čeká",
"down": "Down" "down": "Výpadek"
}, },
"healthchecks": { "healthchecks": {
"new": "Nové", "new": "Nové",
"up": "Up", "up": "Běží",
"grace": "V období odkladu", "grace": "V období odkladu",
"down": "Down", "down": "Výpadek",
"paused": "Pozastaveno", "paused": "Pozastaveno",
"status": "Stav", "status": "Stav",
"last_ping": "Poslední ping", "last_ping": "Poslední ping",
@ -571,14 +573,14 @@
"hdhomerun": { "hdhomerun": {
"channels": "Kanály", "channels": "Kanály",
"hd": "HD", "hd": "HD",
"tunerCount": "Tuners", "tunerCount": "Tuner",
"channelNumber": "Channel", "channelNumber": "Kanál",
"channelNetwork": "Network", "channelNetwork": "Síť",
"signalStrength": "Strength", "signalStrength": "Síla",
"signalQuality": "Quality", "signalQuality": "Kvalita",
"symbolQuality": "Quality", "symbolQuality": "Kvalita",
"networkRate": "Přenosová rychlost", "networkRate": "Přenosová rychlost",
"clientIP": "Client" "clientIP": "Klient"
}, },
"scrutiny": { "scrutiny": {
"passed": "Úspěšné", "passed": "Úspěšné",
@ -590,12 +592,12 @@
"total": "Celkem" "total": "Celkem"
}, },
"peanut": { "peanut": {
"battery_charge": "Battery Charge", "battery_charge": "Úroveň baterie",
"ups_load": "UPS Load", "ups_load": "Zítěž UPS",
"ups_status": "UPS Status", "ups_status": "Stav UPS",
"online": "Online", "online": "Online",
"on_battery": "On Battery", "on_battery": "Na baterii",
"low_battery": "Low Battery" "low_battery": "Nízký stav baterie"
}, },
"nextdns": { "nextdns": {
"wait": "Čekejte prosím", "wait": "Čekejte prosím",
@ -613,9 +615,9 @@
"streams_xepg": "Kanály XEPG" "streams_xepg": "Kanály XEPG"
}, },
"opendtu": { "opendtu": {
"yieldDay": "Today", "yieldDay": "Dnes",
"absolutePower": "Power", "absolutePower": "Výkon",
"relativePower": "Power %", "relativePower": "Výkon %",
"limit": "Limit" "limit": "Limit"
}, },
"opnsense": { "opnsense": {
@ -644,9 +646,9 @@
"load": "Prům. zatížení", "load": "Prům. zatížení",
"memory": "Využití paměti", "memory": "Využití paměti",
"wanStatus": "Stav WAN", "wanStatus": "Stav WAN",
"up": "Up", "up": "Běží",
"down": "Down", "down": "Výpadek",
"temp": "Temp", "temp": "Teplota",
"disk": "Využití disku", "disk": "Využití disku",
"wanIP": "IP WAN" "wanIP": "IP WAN"
}, },
@ -666,14 +668,14 @@
"up": "Stránky Up", "up": "Stránky Up",
"down": "Stránky Down", "down": "Stránky Down",
"uptime": "Doba spuštění", "uptime": "Doba spuštění",
"incident": "Incident", "incident": "Událost",
"m": "m" "m": "m"
}, },
"atsumeru": { "atsumeru": {
"series": "Seriály", "series": "Seriály",
"archives": "Archives", "archives": "Archivy",
"chapters": "Chapters", "chapters": "Kapitoly",
"categories": "Categories" "categories": "Kategorie"
}, },
"komga": { "komga": {
"libraries": "Knihovny", "libraries": "Knihovny",
@ -702,10 +704,14 @@
"processed": "Zpracováno", "processed": "Zpracováno",
"time": "Čas" "time": "Čas"
}, },
"firefly": {
"networth": "Čisté jmění",
"budget": "Rozpočet"
},
"grafana": { "grafana": {
"dashboards": "Nástěnky", "dashboards": "Nástěnky",
"datasources": "Zdroje dat", "datasources": "Zdroje dat",
"totalalerts": "Celkový počet upozornění", "totalalerts": "Celkový počet upozornění2",
"alertstriggered": "Spuštěné výstrahy" "alertstriggered": "Spuštěné výstrahy"
}, },
"nextcloud": { "nextcloud": {
@ -743,7 +749,7 @@
"uptime": "Doba spuštění" "uptime": "Doba spuštění"
}, },
"ghostfolio": { "ghostfolio": {
"gross_percent_today": "Today", "gross_percent_today": "Dnes",
"gross_percent_1y": "Jeden rok", "gross_percent_1y": "Jeden rok",
"gross_percent_max": "Za celou dobu" "gross_percent_max": "Za celou dobu"
}, },
@ -764,8 +770,8 @@
}, },
"calibreweb": { "calibreweb": {
"books": "Knihy", "books": "Knihy",
"authors": "Authors", "authors": "Autoři",
"categories": "Categories", "categories": "Kategorie",
"series": "Seriály" "series": "Seriály"
}, },
"jdownloader": { "jdownloader": {
@ -779,44 +785,44 @@
"totalFiles": "Soubory" "totalFiles": "Soubory"
}, },
"azuredevops": { "azuredevops": {
"result": "Result", "result": "Výsledek",
"status": "Stav", "status": "Stav",
"buildId": "Build ID", "buildId": "ID sestavení",
"succeeded": "Succeeded", "succeeded": "Úspěšně",
"notStarted": "Not Started", "notStarted": "Nezahájeno",
"failed": "Selhalo", "failed": "Selhalo",
"canceled": "Canceled", "canceled": "Zrušeno",
"inProgress": "In Progress", "inProgress": "Probíhá",
"totalPrs": "Total PRs", "totalPrs": "Celkem PR",
"myPrs": "My PRs", "myPrs": "Moje PR",
"approved": "Schváleno" "approved": "Schváleno"
}, },
"gamedig": { "gamedig": {
"status": "Stav", "status": "Stav",
"online": "Online", "online": "Online",
"offline": "Offline", "offline": "Offline",
"name": "Name", "name": "Jméno",
"map": "Map", "map": "Mapa",
"currentPlayers": "Current players", "currentPlayers": "Počet hráčů",
"players": "Hráči", "players": "Hráči",
"maxPlayers": "Max players", "maxPlayers": "Maximální počet hráčů",
"bots": "Bots", "bots": "Boti",
"ping": "Odezva" "ping": "Odezva"
}, },
"urbackup": { "urbackup": {
"ok": "Ok", "ok": "Ok",
"errored": "Errors", "errored": "Chyby",
"noRecent": "Out of Date", "noRecent": "Zastaralý",
"totalUsed": "Used Storage" "totalUsed": "Využití úložiště"
}, },
"mealie": { "mealie": {
"recipes": "Recipes", "recipes": "Recepty",
"users": "Uživatelé", "users": "Uživatelé",
"categories": "Categories", "categories": "Kategorie",
"tags": "Tags" "tags": "Štítky"
}, },
"openmediavault": { "openmediavault": {
"downloading": "Downloading", "downloading": "Stahování",
"total": "Celkem", "total": "Celkem",
"running": "Běží", "running": "Běží",
"stopped": "Zastaveno", "stopped": "Zastaveno",
@ -825,94 +831,95 @@
}, },
"openwrt": { "openwrt": {
"uptime": "Doba spuštění", "uptime": "Doba spuštění",
"cpuLoad": "CPU Load Avg (5m)", "cpuLoad": "Prům. zatížení procesoru (5m)",
"up": "Up", "up": "Běží",
"down": "Down", "down": "Výpadek",
"bytesTx": "Transmitted", "bytesTx": "Přeneseno",
"bytesRx": "Přijaté" "bytesRx": "Přijaté"
}, },
"uptimerobot": { "uptimerobot": {
"status": "Stav", "status": "Stav",
"uptime": "Doba spuštění", "uptime": "Doba spuštění",
"lastDown": "Last Downtime", "lastDown": "Poslední výpadek",
"downDuration": "Downtime Duration", "downDuration": "Trvání výpadku",
"sitesUp": "Stránky Up", "sitesUp": "Stránky Up",
"sitesDown": "Stránky Down", "sitesDown": "Stránky Down",
"paused": "Pozastaveno", "paused": "Pozastaveno",
"notyetchecked": "Not Yet Checked", "notyetchecked": "Zatím nezkontrolováno",
"up": "Up", "up": "Běží",
"seemsdown": "Seems Down", "seemsdown": "Zdá se nedostupný",
"down": "Down", "down": "Výpadek",
"unknown": "Neznámý" "unknown": "Neznámý"
}, },
"calendar": { "calendar": {
"inCinemas": "In cinemas", "inCinemas": "V kinech",
"physicalRelease": "Physical release", "physicalRelease": "Fyzické vydání",
"digitalRelease": "Digital release", "digitalRelease": "Digitální vydání",
"noEventsToday": "No events for today!", "noEventsToday": "Pro dnešek žádné události!",
"noEventsFound": "No events found" "noEventsFound": "Nemáte žádné události"
}, },
"romm": { "romm": {
"platforms": "Platforms", "platforms": "Platformy",
"totalRoms": "Games", "totalRoms": "Hry",
"saves": "Saves", "saves": "Uložené",
"states": "States", "states": "Stavy",
"screenshots": "Screenshots", "screenshots": "Snímky obrazovky",
"totalfilesize": "Total Size" "totalfilesize": "Celková velikost"
}, },
"mailcow": { "mailcow": {
"domains": "Domény", "domains": "Domény",
"mailboxes": "Mailboxes", "mailboxes": "E-mailové schránky",
"mails": "Mails", "mails": "Maily",
"storage": "Úložiště" "storage": "Úložiště"
}, },
"netdata": { "netdata": {
"warnings": "Warnings", "warnings": "Upozornění",
"criticals": "Criticals" "criticals": "Kritické"
}, },
"plantit": { "plantit": {
"events": "Events", "events": "Události",
"plants": "Plants", "plants": "Rostliny",
"photos": "Fotografie", "photos": "Fotografie",
"species": "Species" "species": "Druhy"
}, },
"gitea": { "gitea": {
"notifications": "Notifications", "notifications": "Oznámení",
"issues": "Problémy", "issues": "Problémy",
"pulls": "Pull Requests" "pulls": "Pull Requests",
"repositories": "Repozitáře"
}, },
"stash": { "stash": {
"scenes": "Scenes", "scenes": "Scény",
"scenesPlayed": "Scenes Played", "scenesPlayed": "Přehrané scény",
"playCount": "Total Plays", "playCount": "Celkový počet přehrání",
"playDuration": "Time Watched", "playDuration": "Čas sledování",
"sceneSize": "Scenes Size", "sceneSize": "Velikost scén",
"sceneDuration": "Scenes Duration", "sceneDuration": "Délka scény",
"images": "Images", "images": "Obrázky",
"imageSize": "Images Size", "imageSize": "Velikost obrázků",
"galleries": "Galleries", "galleries": "Galerie",
"performers": "Performers", "performers": "Herci",
"studios": "Studios", "studios": "Studia",
"movies": "Filmy", "movies": "Filmy",
"tags": "Tags", "tags": "Štítky",
"oCount": "O Count" "oCount": "Počet O"
}, },
"tandoor": { "tandoor": {
"users": "Uživatelé", "users": "Uživatelé",
"recipes": "Recipes", "recipes": "Recepty",
"keywords": "Keywords" "keywords": "Klíčová slova"
}, },
"homebox": { "homebox": {
"items": "Items", "items": "Položky",
"totalWithWarranty": "With Warranty", "totalWithWarranty": "Se zárukou",
"locations": "Locations", "locations": "Lokality",
"labels": "Labels", "labels": "Štítky",
"users": "Uživatelé", "users": "Uživatelé",
"totalValue": "Total Value" "totalValue": "Celková hodnota"
}, },
"crowdsec": { "crowdsec": {
"alerts": "Upozornění", "alerts": "Upozornění",
"bans": "Bans" "bans": "Bany"
}, },
"wgeasy": { "wgeasy": {
"connected": "", "connected": "",
@ -921,10 +928,10 @@
"total": "Celkem" "total": "Celkem"
}, },
"swagdashboard": { "swagdashboard": {
"proxied": "Proxied", "proxied": "Přes proxy",
"auth": "With Auth", "auth": "S ověřením",
"outdated": "Outdated", "outdated": "Zastaralé",
"banned": "Banned" "banned": "Zabanován"
}, },
"myspeed": { "myspeed": {
"ping": "Odezva", "ping": "Odezva",
@ -932,46 +939,46 @@
"upload": "Nahrávání" "upload": "Nahrávání"
}, },
"stocks": { "stocks": {
"stocks": "Stocks", "stocks": "Akcie",
"loading": "Loading", "loading": "Načítání",
"open": "Open - US Market", "open": "Otevřeno - US trh",
"closed": "Closed - US Market", "closed": "Uzavřeno - US trh",
"invalidConfiguration": "Invalid Configuration" "invalidConfiguration": "Neplatná konfigurace"
}, },
"frigate": { "frigate": {
"cameras": "Cameras", "cameras": "Kamery",
"uptime": "Doba spuštění", "uptime": "Doba spuštění",
"version": "Verze" "version": "Verze"
}, },
"linkwarden": { "linkwarden": {
"links": "Links", "links": "Linky",
"collections": "Collections", "collections": "Sbírky",
"tags": "Tags" "tags": "Štítky"
}, },
"zabbix": { "zabbix": {
"unclassified": "Not classified", "unclassified": "Neklasifikováno",
"information": "Informace", "information": "Informace",
"warning": "Warning", "warning": "Upozornění",
"average": "Average", "average": "Průměr",
"high": "High", "high": "Vysoký",
"disaster": "Disaster" "disaster": "Katastrofa"
}, },
"lubelogger": { "lubelogger": {
"vehicle": "Vehicle", "vehicle": "Vozidlo",
"vehicles": "Vehicles", "vehicles": "Vozidla",
"serviceRecords": "Service Records", "serviceRecords": "Servisní záznamy",
"reminders": "Reminders", "reminders": "Připomenutí",
"nextReminder": "Next Reminder", "nextReminder": "Další připomenutí",
"none": "None" "none": "Žádné"
}, },
"vikunja": { "vikunja": {
"projects": "Active Projects", "projects": "Aktivní projekty",
"tasks7d": "Tasks Due This Week", "tasks7d": "Úkoly k dokončení tento týden",
"tasksOverdue": "Overdue Tasks", "tasksOverdue": "Zpožděné úkoly",
"tasksInProgress": "Tasks In Progress" "tasksInProgress": "Probíhají úkoly"
}, },
"headscale": { "headscale": {
"name": "Name", "name": "Jméno",
"address": "Adresa", "address": "Adresa",
"last_seen": "Naposledy viděno", "last_seen": "Naposledy viděno",
"status": "Stav", "status": "Stav",
@ -979,10 +986,10 @@
"offline": "Offline" "offline": "Offline"
}, },
"beszel": { "beszel": {
"name": "Name", "name": "Jméno",
"systems": "Systems", "systems": "Systém",
"up": "Up", "up": "Běží",
"down": "Down", "down": "Výpadek",
"paused": "Pozastaveno", "paused": "Pozastaveno",
"pending": "Čeká", "pending": "Čeká",
"status": "Stav", "status": "Stav",
@ -990,25 +997,50 @@
"cpu": "CPU", "cpu": "CPU",
"memory": "RAM", "memory": "RAM",
"disk": "Disk", "disk": "Disk",
"network": "NET" "network": "Síť"
}, },
"argocd": { "argocd": {
"apps": "Apps", "apps": "Aplikace",
"synced": "Synced", "synced": "Synchronizováno",
"outOfSync": "Out Of Sync", "outOfSync": "Nesynchronizováno",
"healthy": "Zdravý", "healthy": "Zdravý",
"degraded": "Degraded", "degraded": "Degradováno",
"progressing": "Progressing", "progressing": "Probíhá",
"missing": "Chybějící", "missing": "Chybějící",
"suspended": "Suspended" "suspended": "Pozastaveno"
}, },
"spoolman": { "spoolman": {
"loading": "Loading" "loading": "Načítání"
}, },
"gitlab": { "gitlab": {
"groups": "Groups", "groups": "Skupiny",
"issues": "Problémy", "issues": "Problémy",
"merges": "Merge Requests", "merges": "Žádosti o sloučení",
"projects": "Projects" "projects": "Projekty"
},
"apcups": {
"status": "Stav",
"load": "Zatížení",
"bcharge": "Úroveň baterie",
"timeleft": "Zbývající čas"
},
"karakeep": {
"bookmarks": "Záložky",
"favorites": "Oblíbené",
"archived": "Archivováno",
"highlights": "Zvýraznění",
"lists": "Seznamy",
"tags": "Štítky"
},
"slskd": {
"slskStatus": "Síť",
"connected": "",
"disconnected": "Odpojeno",
"updateStatus": "Aktualizace",
"update_yes": "Dostupné",
"update_no": "Žádné",
"downloads": "Stažení",
"uploads": "Nahrávání",
"sharedFiles": "Soubory"
} }
} }

View file

@ -148,7 +148,9 @@
"up": "Op", "up": "Op",
"received": "Modtaget", "received": "Modtaget",
"sent": "Sendt", "sent": "Sendt",
"externalIPAddress": "Ekstern IP" "externalIPAddress": "Ekstern IP",
"externalIPv6Address": "Ext. IPv6",
"externalIPv6Prefix": "Ext. IPv6-Prefix"
}, },
"caddy": { "caddy": {
"upstreams": "Upstreams", "upstreams": "Upstreams",
@ -176,7 +178,7 @@
"connectedAp": "Forbundne APs", "connectedAp": "Forbundne APs",
"activeUser": "Aktive enheder", "activeUser": "Aktive enheder",
"alerts": "Advarsler", "alerts": "Advarsler",
"connectedGateway": "Forbundne gateways", "connectedGateways": "Connected gateways",
"connectedSwitches": "Forbundne switches" "connectedSwitches": "Forbundne switches"
}, },
"nzbget": { "nzbget": {
@ -702,6 +704,10 @@
"processed": "Behandlet", "processed": "Behandlet",
"time": "Tid" "time": "Tid"
}, },
"firefly": {
"networth": "Net Worth",
"budget": "Budget"
},
"grafana": { "grafana": {
"dashboards": "Kontrolpanel", "dashboards": "Kontrolpanel",
"datasources": "Data Kilder", "datasources": "Data Kilder",
@ -879,7 +885,8 @@
"gitea": { "gitea": {
"notifications": "Notifications", "notifications": "Notifications",
"issues": "Problemer", "issues": "Problemer",
"pulls": "Pull Requests" "pulls": "Pull Requests",
"repositories": "Repositories"
}, },
"stash": { "stash": {
"scenes": "Scenes", "scenes": "Scenes",
@ -1010,5 +1017,30 @@
"issues": "Problemer", "issues": "Problemer",
"merges": "Merge Requests", "merges": "Merge Requests",
"projects": "Projects" "projects": "Projects"
},
"apcups": {
"status": "Status",
"load": "Belastning",
"bcharge": "Batteriniveau",
"timeleft": "Resterende tid"
},
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Tags"
},
"slskd": {
"slskStatus": "Network",
"connected": "Connected",
"disconnected": "Disconnected",
"updateStatus": "Update",
"update_yes": "Tilgængelig",
"update_no": "Opdateret",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "Filer"
} }
} }

View file

@ -85,16 +85,16 @@
"ping": { "ping": {
"error": "Fehler", "error": "Fehler",
"ping": "Ping", "ping": "Ping",
"down": "Empfangen", "down": "Offline",
"up": "Senden", "up": "Online",
"not_available": "Nicht verfügbar" "not_available": "Nicht verfügbar"
}, },
"siteMonitor": { "siteMonitor": {
"http_status": "HTTP-Status", "http_status": "HTTP-Status",
"error": "Fehler", "error": "Fehler",
"response": "Antwort", "response": "Antwort",
"down": "Empfangen", "down": "Offline",
"up": "Senden", "up": "Online",
"not_available": "Nicht verfügbar" "not_available": "Nicht verfügbar"
}, },
"emby": { "emby": {
@ -144,11 +144,13 @@
"uptime": "Betriebszeit", "uptime": "Betriebszeit",
"maxDown": "Max. Down", "maxDown": "Max. Down",
"maxUp": "Max. Up", "maxUp": "Max. Up",
"down": "Empfangen", "down": "Offline",
"up": "Senden", "up": "Online",
"received": "Empfangen", "received": "Empfangen",
"sent": "Gesendet", "sent": "Gesendet",
"externalIPAddress": "Externe IP" "externalIPAddress": "Externe IP",
"externalIPv6Address": "Externe IPv6",
"externalIPv6Prefix": "Externer IPv4-Präfix"
}, },
"caddy": { "caddy": {
"upstreams": "Upstreams", "upstreams": "Upstreams",
@ -176,7 +178,7 @@
"connectedAp": "Verbundene APs", "connectedAp": "Verbundene APs",
"activeUser": "Aktive Geräte", "activeUser": "Aktive Geräte",
"alerts": "Warnungen", "alerts": "Warnungen",
"connectedGateway": "Verbundene Gateways", "connectedGateways": "Verbundene Gateways",
"connectedSwitches": "Verbundene Switche" "connectedSwitches": "Verbundene Switche"
}, },
"nzbget": { "nzbget": {
@ -350,7 +352,7 @@
"queue": "Warteschlange", "queue": "Warteschlange",
"processed": "Verarbeitet", "processed": "Verarbeitet",
"errored": "Fehlgeschlagen", "errored": "Fehlgeschlagen",
"saved": "Gespeichert" "saved": "Eingespart"
}, },
"traefik": { "traefik": {
"routers": "Router", "routers": "Router",
@ -445,7 +447,7 @@
"write": "Schreiben", "write": "Schreiben",
"gpu": "GPU", "gpu": "GPU",
"mem": "RAM", "mem": "RAM",
"swap": "Swap" "swap": "Auslagerung"
}, },
"quicklaunch": { "quicklaunch": {
"bookmark": "Lesezeichen", "bookmark": "Lesezeichen",
@ -521,15 +523,15 @@
"up_to_date": "Aktuell", "up_to_date": "Aktuell",
"child_bridges": "Unter-Bridges", "child_bridges": "Unter-Bridges",
"child_bridges_status": "{{ok}}/{{total}}", "child_bridges_status": "{{ok}}/{{total}}",
"up": "Senden", "up": "Online",
"pending": "Ausstehend", "pending": "Ausstehend",
"down": "Empfangen" "down": "Offline"
}, },
"healthchecks": { "healthchecks": {
"new": "Neu", "new": "Neu",
"up": "Senden", "up": "Online",
"grace": "In Karenzzeit", "grace": "In Karenzzeit",
"down": "Empfangen", "down": "Offline",
"paused": "Pausiert", "paused": "Pausiert",
"status": "Status", "status": "Status",
"last_ping": "Letzter Ping", "last_ping": "Letzter Ping",
@ -644,8 +646,8 @@
"load": "Durchschnittliche Last", "load": "Durchschnittliche Last",
"memory": "Speichernutzung", "memory": "Speichernutzung",
"wanStatus": "WAN-Status", "wanStatus": "WAN-Status",
"up": "Senden", "up": "Online",
"down": "Empfangen", "down": "Offline",
"temp": "Temperatur", "temp": "Temperatur",
"disk": "Datenträgernutzung", "disk": "Datenträgernutzung",
"wanIP": "WAN-IP" "wanIP": "WAN-IP"
@ -663,8 +665,8 @@
"storage": "Speicher" "storage": "Speicher"
}, },
"uptimekuma": { "uptimekuma": {
"up": "Seiten verfügbar", "up": "Up",
"down": "Seiten nicht verfügbar", "down": "Down",
"uptime": "Betriebszeit", "uptime": "Betriebszeit",
"incident": "Vorfall", "incident": "Vorfall",
"m": "min" "m": "min"
@ -702,6 +704,10 @@
"processed": "Verarbeitet", "processed": "Verarbeitet",
"time": "Zeit" "time": "Zeit"
}, },
"firefly": {
"networth": "Reinvermögen",
"budget": "Budget"
},
"grafana": { "grafana": {
"dashboards": "Dashboards", "dashboards": "Dashboards",
"datasources": "Datenquellen", "datasources": "Datenquellen",
@ -738,8 +744,8 @@
"targets_total": "Alle Ziele" "targets_total": "Alle Ziele"
}, },
"gatus": { "gatus": {
"up": "Seiten verfügbar", "up": "Up",
"down": "Seiten nicht verfügbar", "down": "Down",
"uptime": "Betriebszeit" "uptime": "Betriebszeit"
}, },
"ghostfolio": { "ghostfolio": {
@ -826,8 +832,8 @@
"openwrt": { "openwrt": {
"uptime": "Betriebszeit", "uptime": "Betriebszeit",
"cpuLoad": "CPU-Last (5 min-Durchschnitt)", "cpuLoad": "CPU-Last (5 min-Durchschnitt)",
"up": "Senden", "up": "Online",
"down": "Empfangen", "down": "Offline",
"bytesTx": "Übertragen", "bytesTx": "Übertragen",
"bytesRx": "Empfangen" "bytesRx": "Empfangen"
}, },
@ -836,13 +842,13 @@
"uptime": "Betriebszeit", "uptime": "Betriebszeit",
"lastDown": "Letzter Ausfall", "lastDown": "Letzter Ausfall",
"downDuration": "Ausfalldauer", "downDuration": "Ausfalldauer",
"sitesUp": "Seiten verfügbar", "sitesUp": "Up",
"sitesDown": "Seiten nicht verfügbar", "sitesDown": "Down",
"paused": "Pausiert", "paused": "Pausiert",
"notyetchecked": "Noch nicht geprüft", "notyetchecked": "Noch nicht geprüft",
"up": "Senden", "up": "Online",
"seemsdown": "Scheint nicht verfügbar", "seemsdown": "Scheint nicht verfügbar",
"down": "Empfangen", "down": "Offline",
"unknown": "Unbekannt" "unknown": "Unbekannt"
}, },
"calendar": { "calendar": {
@ -879,7 +885,8 @@
"gitea": { "gitea": {
"notifications": "Benachrichtigungen", "notifications": "Benachrichtigungen",
"issues": "Probleme", "issues": "Probleme",
"pulls": "Pull-Requests" "pulls": "Pull-Requests",
"repositories": "Repositories"
}, },
"stash": { "stash": {
"scenes": "Szenen", "scenes": "Szenen",
@ -981,8 +988,8 @@
"beszel": { "beszel": {
"name": "Name", "name": "Name",
"systems": "Systeme", "systems": "Systeme",
"up": "Senden", "up": "Online",
"down": "Empfangen", "down": "Offline",
"paused": "Pausiert", "paused": "Pausiert",
"pending": "Ausstehend", "pending": "Ausstehend",
"status": "Status", "status": "Status",
@ -1010,5 +1017,30 @@
"issues": "Probleme", "issues": "Probleme",
"merges": "Merge Requests", "merges": "Merge Requests",
"projects": "Projekte" "projects": "Projekte"
},
"apcups": {
"status": "Status",
"load": "Last",
"bcharge": "Akkuladung",
"timeleft": "Verbleibende Zeit"
},
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Schlagwörter"
},
"slskd": {
"slskStatus": "Netzwerk",
"connected": "Verbunden",
"disconnected": "Getrennt",
"updateStatus": "Update",
"update_yes": "Verfügbar",
"update_no": "Aktuell",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "Dateien"
} }
} }

View file

@ -148,7 +148,9 @@
"up": "Ping up", "up": "Ping up",
"received": "Ληφθέντα", "received": "Ληφθέντα",
"sent": "Απεσταλμένα", "sent": "Απεσταλμένα",
"externalIPAddress": "Εξωτερική IP" "externalIPAddress": "Εξωτερική IP",
"externalIPv6Address": "Ext. IPv6",
"externalIPv6Prefix": "Ext. IPv6-Prefix"
}, },
"caddy": { "caddy": {
"upstreams": "Upstreams", "upstreams": "Upstreams",
@ -176,7 +178,7 @@
"connectedAp": "Συνδεδεμένα APs", "connectedAp": "Συνδεδεμένα APs",
"activeUser": "Ενεργές συσκευές", "activeUser": "Ενεργές συσκευές",
"alerts": "Ειδοποιήσεις", "alerts": "Ειδοποιήσεις",
"connectedGateway": "Συνδεδεμένα gateways", "connectedGateways": "Connected gateways",
"connectedSwitches": "Συνδεδεμένα switches" "connectedSwitches": "Συνδεδεμένα switches"
}, },
"nzbget": { "nzbget": {
@ -702,6 +704,10 @@
"processed": "Σε επεξεργασία", "processed": "Σε επεξεργασία",
"time": "Ώρα" "time": "Ώρα"
}, },
"firefly": {
"networth": "Net Worth",
"budget": "Budget"
},
"grafana": { "grafana": {
"dashboards": "Πίνακας Ελέγχου", "dashboards": "Πίνακας Ελέγχου",
"datasources": "Πηγές Δεδομένων", "datasources": "Πηγές Δεδομένων",
@ -879,7 +885,8 @@
"gitea": { "gitea": {
"notifications": "Notifications", "notifications": "Notifications",
"issues": "Issues", "issues": "Issues",
"pulls": "Pull Requests" "pulls": "Pull Requests",
"repositories": "Repositories"
}, },
"stash": { "stash": {
"scenes": "Scenes", "scenes": "Scenes",
@ -1010,5 +1017,30 @@
"issues": "Issues", "issues": "Issues",
"merges": "Merge Requests", "merges": "Merge Requests",
"projects": "Projects" "projects": "Projects"
},
"apcups": {
"status": "Κατάσταση",
"load": "Φόρτωση",
"bcharge": "Battery Charge",
"timeleft": "Χρόνος που απομένει"
},
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Ετικέτες"
},
"slskd": {
"slskStatus": "Δίκτυο",
"connected": "Συνδέθηκε",
"disconnected": "Αποσυνδέθηκε",
"updateStatus": "Update",
"update_yes": "Διαθέσιμο",
"update_no": "Ενημερωμένο",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "Αρχεία"
} }
} }

View file

@ -148,7 +148,9 @@
"up": "Up", "up": "Up",
"received": "Received", "received": "Received",
"sent": "Sent", "sent": "Sent",
"externalIPAddress": "Ext. IP" "externalIPAddress": "Ext. IP",
"externalIPv6Address": "Ext. IPv6",
"externalIPv6Prefix": "Ext. IPv6-Prefix"
}, },
"caddy": { "caddy": {
"upstreams": "Upstreams", "upstreams": "Upstreams",
@ -176,7 +178,7 @@
"connectedAp": "Connected APs", "connectedAp": "Connected APs",
"activeUser": "Active devices", "activeUser": "Active devices",
"alerts": "Alerts", "alerts": "Alerts",
"connectedGateway": "Connected gateways", "connectedGateways": "Connected gateways",
"connectedSwitches": "Connected switches" "connectedSwitches": "Connected switches"
}, },
"nzbget": { "nzbget": {
@ -702,6 +704,10 @@
"processed": "Processed", "processed": "Processed",
"time": "Time" "time": "Time"
}, },
"firefly": {
"networth": "Net Worth",
"budget": "Budget"
},
"grafana": { "grafana": {
"dashboards": "Dashboards", "dashboards": "Dashboards",
"datasources": "Data Sources", "datasources": "Data Sources",
@ -877,9 +883,10 @@
"species": "Species" "species": "Species"
}, },
"gitea": { "gitea": {
"notifications": "Notifications", "notifications": "Notifications",
"issues": "Issues", "issues": "Issues",
"pulls": "Pull Requests" "pulls": "Pull Requests",
"repositories": "Repositories"
}, },
"stash": { "stash": {
"scenes": "Scenes", "scenes": "Scenes",
@ -1010,5 +1017,30 @@
"issues": "Issues", "issues": "Issues",
"merges": "Merge Requests", "merges": "Merge Requests",
"projects": "Projects" "projects": "Projects"
},
"apcups": {
"status": "Status",
"load": "Load",
"bcharge":"Battery Charge",
"timeleft":"Time Left"
},
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Tags"
},
"slskd": {
"slskStatus": "Network",
"connected": "Connected",
"disconnected": "Disconnected",
"updateStatus": "Update",
"update_yes": "Available",
"update_no": "Up to Date",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "Files"
} }
} }

View file

@ -148,7 +148,9 @@
"up": "Up", "up": "Up",
"received": "Received", "received": "Received",
"sent": "Sent", "sent": "Sent",
"externalIPAddress": "Ext. IP" "externalIPAddress": "Ext. IP",
"externalIPv6Address": "Ext. IPv6",
"externalIPv6Prefix": "Ext. IPv6-Prefix"
}, },
"caddy": { "caddy": {
"upstreams": "Upstreams", "upstreams": "Upstreams",
@ -176,7 +178,7 @@
"connectedAp": "Connected APs", "connectedAp": "Connected APs",
"activeUser": "Active devices", "activeUser": "Active devices",
"alerts": "Alerts", "alerts": "Alerts",
"connectedGateway": "Connected gateways", "connectedGateways": "Connected gateways",
"connectedSwitches": "Connected switches" "connectedSwitches": "Connected switches"
}, },
"nzbget": { "nzbget": {
@ -702,6 +704,10 @@
"processed": "Processed", "processed": "Processed",
"time": "Time" "time": "Time"
}, },
"firefly": {
"networth": "Net Worth",
"budget": "Budget"
},
"grafana": { "grafana": {
"dashboards": "Dashboards", "dashboards": "Dashboards",
"datasources": "Data Sources", "datasources": "Data Sources",
@ -879,7 +885,8 @@
"gitea": { "gitea": {
"notifications": "Notifications", "notifications": "Notifications",
"issues": "Issues", "issues": "Issues",
"pulls": "Pull Requests" "pulls": "Pull Requests",
"repositories": "Repositories"
}, },
"stash": { "stash": {
"scenes": "Scenes", "scenes": "Scenes",
@ -1010,5 +1017,30 @@
"issues": "Issues", "issues": "Issues",
"merges": "Merge Requests", "merges": "Merge Requests",
"projects": "Projects" "projects": "Projects"
},
"apcups": {
"status": "Stato",
"load": "Ŝarĝo",
"bcharge": "Battery Charge",
"timeleft": "Time Left"
},
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Tags"
},
"slskd": {
"slskStatus": "Network",
"connected": "Connected",
"disconnected": "Disconnected",
"updateStatus": "Update",
"update_yes": "Havebla",
"update_no": "Up to Date",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "Files"
} }
} }

View file

@ -148,7 +148,9 @@
"up": "Activo", "up": "Activo",
"received": "Recibido", "received": "Recibido",
"sent": "Enviado", "sent": "Enviado",
"externalIPAddress": "IP ext." "externalIPAddress": "IP ext.",
"externalIPv6Address": "IPv6 ext.",
"externalIPv6Prefix": "Prefijo IPv6 ext."
}, },
"caddy": { "caddy": {
"upstreams": "Upstream (desarrollo de software)", "upstreams": "Upstream (desarrollo de software)",
@ -176,7 +178,7 @@
"connectedAp": "AP conectados", "connectedAp": "AP conectados",
"activeUser": "Dispositivos activos", "activeUser": "Dispositivos activos",
"alerts": "Alertas", "alerts": "Alertas",
"connectedGateway": "Puertas de enlace conectadas", "connectedGateways": "Puertas de enlace conectadas",
"connectedSwitches": "Conmutadores conectados" "connectedSwitches": "Conmutadores conectados"
}, },
"nzbget": { "nzbget": {
@ -702,6 +704,10 @@
"processed": "Procesado", "processed": "Procesado",
"time": "Tiempo" "time": "Tiempo"
}, },
"firefly": {
"networth": "Patrimonio neto",
"budget": "Presupuesto"
},
"grafana": { "grafana": {
"dashboards": "Tableros", "dashboards": "Tableros",
"datasources": "Fuentes de datos", "datasources": "Fuentes de datos",
@ -879,7 +885,8 @@
"gitea": { "gitea": {
"notifications": "Notificaciones", "notifications": "Notificaciones",
"issues": "Números", "issues": "Números",
"pulls": "Solicitudes de cambios" "pulls": "Solicitudes de cambios",
"repositories": "Repositorios"
}, },
"stash": { "stash": {
"scenes": "Escenas", "scenes": "Escenas",
@ -1010,5 +1017,30 @@
"issues": "Números", "issues": "Números",
"merges": "Solicitudes de fusión", "merges": "Solicitudes de fusión",
"projects": "Proyectos" "projects": "Proyectos"
},
"apcups": {
"status": "Estado",
"load": "Carga",
"bcharge": "Carga de la batería",
"timeleft": "Tiempo restante"
},
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Etiquetas"
},
"slskd": {
"slskStatus": "Red",
"connected": "Conectado",
"disconnected": "Desconectado",
"updateStatus": "Actualización",
"update_yes": "Disponible",
"update_no": "Actualizado",
"downloads": "Descargas",
"uploads": "Subidas",
"sharedFiles": "Archivos"
} }
} }

View file

@ -85,16 +85,16 @@
"ping": { "ping": {
"error": "Error", "error": "Error",
"ping": "Ping", "ping": "Ping",
"down": "Down", "down": "Behera",
"up": "Up", "up": "Gora",
"not_available": "Not Available" "not_available": "Not Available"
}, },
"siteMonitor": { "siteMonitor": {
"http_status": "HTTP status", "http_status": "HTTP status",
"error": "Error", "error": "Error",
"response": "Response", "response": "Erantzuna",
"down": "Down", "down": "Behera",
"up": "Up", "up": "Gora",
"not_available": "Not Available" "not_available": "Not Available"
}, },
"emby": { "emby": {
@ -102,8 +102,8 @@
"transcoding": "Transcoding", "transcoding": "Transcoding",
"bitrate": "Bit-tasa", "bitrate": "Bit-tasa",
"no_active": "No Active Streams", "no_active": "No Active Streams",
"movies": "Movies", "movies": "Filmak",
"series": "Series", "series": "Serieak",
"episodes": "Episodes", "episodes": "Episodes",
"songs": "Abestiak" "songs": "Abestiak"
}, },
@ -115,40 +115,42 @@
"unknown": "Ezezaguna" "unknown": "Ezezaguna"
}, },
"evcc": { "evcc": {
"pv_power": "Production", "pv_power": "Produkzioak",
"battery_soc": "Battery", "battery_soc": "Bateria",
"grid_power": "Grid", "grid_power": "Sarea",
"home_power": "Consumption", "home_power": "Kontsumoa",
"charge_power": "Charger", "charge_power": "Kargagailua",
"kilowatt": "kW" "kilowatt": "kW"
}, },
"flood": { "flood": {
"download": "Download", "download": "Jeitsierak",
"upload": "Upload", "upload": "Kargatu",
"leech": "Leech", "leech": "Leech",
"seed": "Seed" "seed": "Seed"
}, },
"freshrss": { "freshrss": {
"subscriptions": "Subscriptions", "subscriptions": "Harpidetzak",
"unread": "Unread" "unread": "Irakurri gabe"
}, },
"fritzbox": { "fritzbox": {
"connectionStatus": "Status", "connectionStatus": "Status",
"connectionStatusUnconfigured": "Unconfigured", "connectionStatusUnconfigured": "Unconfigured",
"connectionStatusConnecting": "Connecting", "connectionStatusConnecting": "Konektatzen",
"connectionStatusAuthenticating": "Authenticating", "connectionStatusAuthenticating": "Authenticating",
"connectionStatusPendingDisconnect": "Pending Disconnect", "connectionStatusPendingDisconnect": "Pending Disconnect",
"connectionStatusDisconnecting": "Disconnecting", "connectionStatusDisconnecting": "Disconnecting",
"connectionStatusDisconnected": "Disconnected", "connectionStatusDisconnected": "Deskonektatuta",
"connectionStatusConnected": "Connected", "connectionStatusConnected": "Konektatuta",
"uptime": "Uptime", "uptime": "Uptime",
"maxDown": "Max. Down", "maxDown": "Max. Down",
"maxUp": "Max. Up", "maxUp": "Max. Up",
"down": "Down", "down": "Behera",
"up": "Up", "up": "Gora",
"received": "Received", "received": "Received",
"sent": "Sent", "sent": "Bidalita",
"externalIPAddress": "Ext. IP" "externalIPAddress": "Ext. IP",
"externalIPv6Address": "Ext. IPv6",
"externalIPv6Prefix": "Ext. IPv6-Prefix"
}, },
"caddy": { "caddy": {
"upstreams": "Upstreams", "upstreams": "Upstreams",
@ -176,7 +178,7 @@
"connectedAp": "Connected APs", "connectedAp": "Connected APs",
"activeUser": "Active devices", "activeUser": "Active devices",
"alerts": "Alerts", "alerts": "Alerts",
"connectedGateway": "Connected gateways", "connectedGateways": "Connected gateways",
"connectedSwitches": "Connected switches" "connectedSwitches": "Connected switches"
}, },
"nzbget": { "nzbget": {
@ -187,7 +189,7 @@
"plex": { "plex": {
"streams": "Active Streams", "streams": "Active Streams",
"albums": "Albums", "albums": "Albums",
"movies": "Movies", "movies": "Filmak",
"tv": "TV Shows" "tv": "TV Shows"
}, },
"sabnzbd": { "sabnzbd": {
@ -197,18 +199,18 @@
}, },
"rutorrent": { "rutorrent": {
"active": "Active", "active": "Active",
"upload": "Upload", "upload": "Kargatu",
"download": "Download" "download": "Jeitsierak"
}, },
"transmission": { "transmission": {
"download": "Download", "download": "Jeitsierak",
"upload": "Upload", "upload": "Kargatu",
"leech": "Leech", "leech": "Leech",
"seed": "Seed" "seed": "Seed"
}, },
"qbittorrent": { "qbittorrent": {
"download": "Download", "download": "Jeitsierak",
"upload": "Upload", "upload": "Kargatu",
"leech": "Leech", "leech": "Leech",
"seed": "Seed" "seed": "Seed"
}, },
@ -221,8 +223,8 @@
"invalid": "Invalid" "invalid": "Invalid"
}, },
"deluge": { "deluge": {
"download": "Download", "download": "Jeitsierak",
"upload": "Upload", "upload": "Kargatu",
"leech": "Leech", "leech": "Leech",
"seed": "Seed" "seed": "Seed"
}, },
@ -231,15 +233,15 @@
"cachemissbytes": "Cache Miss Bytes" "cachemissbytes": "Cache Miss Bytes"
}, },
"downloadstation": { "downloadstation": {
"download": "Download", "download": "Jeitsierak",
"upload": "Upload", "upload": "Kargatu",
"leech": "Leech", "leech": "Leech",
"seed": "Seed" "seed": "Seed"
}, },
"sonarr": { "sonarr": {
"wanted": "Wanted", "wanted": "Wanted",
"queued": "Queued", "queued": "Queued",
"series": "Series", "series": "Serieak",
"queue": "Queue", "queue": "Queue",
"unknown": "Ezezaguna" "unknown": "Ezezaguna"
}, },
@ -247,7 +249,7 @@
"wanted": "Wanted", "wanted": "Wanted",
"missing": "Missing", "missing": "Missing",
"queued": "Queued", "queued": "Queued",
"movies": "Movies", "movies": "Filmak",
"queue": "Queue", "queue": "Queue",
"unknown": "Ezezaguna" "unknown": "Ezezaguna"
}, },
@ -283,7 +285,7 @@
}, },
"netalertx": { "netalertx": {
"total": "Guztira", "total": "Guztira",
"connected": "Connected", "connected": "Konektatuta",
"new_devices": "New Devices", "new_devices": "New Devices",
"down_alerts": "Down Alerts" "down_alerts": "Down Alerts"
}, },
@ -300,8 +302,8 @@
"latency": "Latency" "latency": "Latency"
}, },
"speedtest": { "speedtest": {
"upload": "Upload", "upload": "Kargatu",
"download": "Download", "download": "Jeitsierak",
"ping": "Ping" "ping": "Ping"
}, },
"portainer": { "portainer": {
@ -313,7 +315,7 @@
"download": "Downloaded", "download": "Downloaded",
"nondownload": "Non-Downloaded", "nondownload": "Non-Downloaded",
"read": "Read", "read": "Read",
"unread": "Unread", "unread": "Irakurri gabe",
"downloadedread": "Downloaded & Read", "downloadedread": "Downloaded & Read",
"downloadedunread": "Downloaded & Unread", "downloadedunread": "Downloaded & Unread",
"nondownloadedread": "Non-Downloaded & Read", "nondownloadedread": "Non-Downloaded & Read",
@ -403,7 +405,7 @@
"medusa": { "medusa": {
"wanted": "Wanted", "wanted": "Wanted",
"queued": "Queued", "queued": "Queued",
"series": "Series" "series": "Serieak"
}, },
"minecraft": { "minecraft": {
"players": "Jokalariak", "players": "Jokalariak",
@ -414,7 +416,7 @@
}, },
"miniflux": { "miniflux": {
"read": "Read", "read": "Read",
"unread": "Unread" "unread": "Irakurri gabe"
}, },
"authentik": { "authentik": {
"users": "Users", "users": "Users",
@ -521,15 +523,15 @@
"up_to_date": "Up to Date", "up_to_date": "Up to Date",
"child_bridges": "Child Bridges", "child_bridges": "Child Bridges",
"child_bridges_status": "{{ok}}/{{total}}", "child_bridges_status": "{{ok}}/{{total}}",
"up": "Up", "up": "Gora",
"pending": "Pending", "pending": "Pending",
"down": "Down" "down": "Behera"
}, },
"healthchecks": { "healthchecks": {
"new": "New", "new": "New",
"up": "Up", "up": "Gora",
"grace": "In Grace Period", "grace": "In Grace Period",
"down": "Down", "down": "Behera",
"paused": "Paused", "paused": "Paused",
"status": "Status", "status": "Status",
"last_ping": "Last Ping", "last_ping": "Last Ping",
@ -644,8 +646,8 @@
"load": "Load Avg", "load": "Load Avg",
"memory": "Mem Usage", "memory": "Mem Usage",
"wanStatus": "WAN Status", "wanStatus": "WAN Status",
"up": "Up", "up": "Gora",
"down": "Down", "down": "Behera",
"temp": "Temp", "temp": "Temp",
"disk": "Disk Usage", "disk": "Disk Usage",
"wanIP": "WAN IP" "wanIP": "WAN IP"
@ -658,7 +660,7 @@
}, },
"immich": { "immich": {
"users": "Users", "users": "Users",
"photos": "Photos", "photos": "Argazkiak",
"videos": "Videos", "videos": "Videos",
"storage": "Storage" "storage": "Storage"
}, },
@ -670,14 +672,14 @@
"m": "m" "m": "m"
}, },
"atsumeru": { "atsumeru": {
"series": "Series", "series": "Serieak",
"archives": "Archives", "archives": "Archives",
"chapters": "Chapters", "chapters": "Chapters",
"categories": "Categories" "categories": "Categories"
}, },
"komga": { "komga": {
"libraries": "Libraries", "libraries": "Libraries",
"series": "Series", "series": "Serieak",
"books": "Books" "books": "Books"
}, },
"diskstation": { "diskstation": {
@ -686,13 +688,13 @@
"volumeAvailable": "Available" "volumeAvailable": "Available"
}, },
"mylar": { "mylar": {
"series": "Series", "series": "Serieak",
"issues": "Issues", "issues": "Arazoak",
"wanted": "Wanted" "wanted": "Wanted"
}, },
"photoprism": { "photoprism": {
"albums": "Albums", "albums": "Albums",
"photos": "Photos", "photos": "Argazkiak",
"videos": "Videos", "videos": "Videos",
"people": "People" "people": "People"
}, },
@ -702,6 +704,10 @@
"processed": "Processed", "processed": "Processed",
"time": "Time" "time": "Time"
}, },
"firefly": {
"networth": "Net Worth",
"budget": "Budget"
},
"grafana": { "grafana": {
"dashboards": "Dashboards", "dashboards": "Dashboards",
"datasources": "Data Sources", "datasources": "Data Sources",
@ -766,7 +772,7 @@
"books": "Books", "books": "Books",
"authors": "Authors", "authors": "Authors",
"categories": "Categories", "categories": "Categories",
"series": "Series" "series": "Serieak"
}, },
"jdownloader": { "jdownloader": {
"downloadCount": "Queue", "downloadCount": "Queue",
@ -775,7 +781,7 @@
"downloadSpeed": "Speed" "downloadSpeed": "Speed"
}, },
"kavita": { "kavita": {
"seriesCount": "Series", "seriesCount": "Serieak",
"totalFiles": "Files" "totalFiles": "Files"
}, },
"azuredevops": { "azuredevops": {
@ -795,8 +801,8 @@
"status": "Status", "status": "Status",
"online": "Online", "online": "Online",
"offline": "Offline", "offline": "Offline",
"name": "Name", "name": "Izena",
"map": "Map", "map": "Mapa",
"currentPlayers": "Current players", "currentPlayers": "Current players",
"players": "Jokalariak", "players": "Jokalariak",
"maxPlayers": "Max players", "maxPlayers": "Max players",
@ -813,10 +819,10 @@
"recipes": "Recipes", "recipes": "Recipes",
"users": "Users", "users": "Users",
"categories": "Categories", "categories": "Categories",
"tags": "Tags" "tags": "Etiketak"
}, },
"openmediavault": { "openmediavault": {
"downloading": "Downloading", "downloading": "Deskargatzen",
"total": "Guztira", "total": "Guztira",
"running": "Running", "running": "Running",
"stopped": "Stopped", "stopped": "Stopped",
@ -826,8 +832,8 @@
"openwrt": { "openwrt": {
"uptime": "Uptime", "uptime": "Uptime",
"cpuLoad": "CPU Load Avg (5m)", "cpuLoad": "CPU Load Avg (5m)",
"up": "Up", "up": "Gora",
"down": "Down", "down": "Behera",
"bytesTx": "Transmitted", "bytesTx": "Transmitted",
"bytesRx": "Received" "bytesRx": "Received"
}, },
@ -840,9 +846,9 @@
"sitesDown": "Sites Down", "sitesDown": "Sites Down",
"paused": "Paused", "paused": "Paused",
"notyetchecked": "Not Yet Checked", "notyetchecked": "Not Yet Checked",
"up": "Up", "up": "Gora",
"seemsdown": "Seems Down", "seemsdown": "Seems Down",
"down": "Down", "down": "Behera",
"unknown": "Ezezaguna" "unknown": "Ezezaguna"
}, },
"calendar": { "calendar": {
@ -850,7 +856,7 @@
"physicalRelease": "Physical release", "physicalRelease": "Physical release",
"digitalRelease": "Digital release", "digitalRelease": "Digital release",
"noEventsToday": "No events for today!", "noEventsToday": "No events for today!",
"noEventsFound": "No events found" "noEventsFound": "Ez da gertaerarik aurkitu."
}, },
"romm": { "romm": {
"platforms": "Platforms", "platforms": "Platforms",
@ -862,7 +868,7 @@
}, },
"mailcow": { "mailcow": {
"domains": "Domains", "domains": "Domains",
"mailboxes": "Mailboxes", "mailboxes": "Gutunontziak",
"mails": "Mails", "mails": "Mails",
"storage": "Storage" "storage": "Storage"
}, },
@ -871,15 +877,16 @@
"criticals": "Criticals" "criticals": "Criticals"
}, },
"plantit": { "plantit": {
"events": "Events", "events": "Ekitaldiak",
"plants": "Plants", "plants": "Landareak",
"photos": "Photos", "photos": "Argazkiak",
"species": "Species" "species": "Species"
}, },
"gitea": { "gitea": {
"notifications": "Notifications", "notifications": "Jakinarazpenak",
"issues": "Issues", "issues": "Arazoak",
"pulls": "Pull Requests" "pulls": "Pull Requests",
"repositories": "Repositories"
}, },
"stash": { "stash": {
"scenes": "Scenes", "scenes": "Scenes",
@ -888,34 +895,34 @@
"playDuration": "Time Watched", "playDuration": "Time Watched",
"sceneSize": "Scenes Size", "sceneSize": "Scenes Size",
"sceneDuration": "Scenes Duration", "sceneDuration": "Scenes Duration",
"images": "Images", "images": "Irudia",
"imageSize": "Images Size", "imageSize": "Irudiaren tamaina",
"galleries": "Galleries", "galleries": "Galleries",
"performers": "Performers", "performers": "Performers",
"studios": "Studios", "studios": "Studios",
"movies": "Movies", "movies": "Filmak",
"tags": "Tags", "tags": "Etiketak",
"oCount": "O Count" "oCount": "O Count"
}, },
"tandoor": { "tandoor": {
"users": "Users", "users": "Users",
"recipes": "Recipes", "recipes": "Recipes",
"keywords": "Keywords" "keywords": "Hitz gakoak"
}, },
"homebox": { "homebox": {
"items": "Items", "items": "Elementuak",
"totalWithWarranty": "With Warranty", "totalWithWarranty": "With Warranty",
"locations": "Locations", "locations": "Locations",
"labels": "Labels", "labels": "Etiketak",
"users": "Users", "users": "Users",
"totalValue": "Total Value" "totalValue": "Guztira"
}, },
"crowdsec": { "crowdsec": {
"alerts": "Alerts", "alerts": "Alerts",
"bans": "Bans" "bans": "Bans"
}, },
"wgeasy": { "wgeasy": {
"connected": "Connected", "connected": "Konektatuta",
"enabled": "Enabled", "enabled": "Enabled",
"disabled": "Disabled", "disabled": "Disabled",
"total": "Guztira" "total": "Guztira"
@ -928,8 +935,8 @@
}, },
"myspeed": { "myspeed": {
"ping": "Ping", "ping": "Ping",
"download": "Download", "download": "Jeitsierak",
"upload": "Upload" "upload": "Kargatu"
}, },
"stocks": { "stocks": {
"stocks": "Stocks", "stocks": "Stocks",
@ -945,23 +952,23 @@
}, },
"linkwarden": { "linkwarden": {
"links": "Links", "links": "Links",
"collections": "Collections", "collections": "Bildumak",
"tags": "Tags" "tags": "Etiketak"
}, },
"zabbix": { "zabbix": {
"unclassified": "Not classified", "unclassified": "Not classified",
"information": "Informazioa", "information": "Informazioa",
"warning": "Warning", "warning": "Abisua",
"average": "Average", "average": "Batez besteko",
"high": "High", "high": "Altua",
"disaster": "Disaster" "disaster": "Disaster"
}, },
"lubelogger": { "lubelogger": {
"vehicle": "Vehicle", "vehicle": "Vehicle",
"vehicles": "Vehicles", "vehicles": "Ibilgailuak",
"serviceRecords": "Service Records", "serviceRecords": "Service Records",
"reminders": "Reminders", "reminders": "Oroigarriak",
"nextReminder": "Next Reminder", "nextReminder": "Hurrengo abisua",
"none": "None" "none": "None"
}, },
"vikunja": { "vikunja": {
@ -971,7 +978,7 @@
"tasksInProgress": "Tasks In Progress" "tasksInProgress": "Tasks In Progress"
}, },
"headscale": { "headscale": {
"name": "Name", "name": "Izena",
"address": "Address", "address": "Address",
"last_seen": "Last Seen", "last_seen": "Last Seen",
"status": "Status", "status": "Status",
@ -979,10 +986,10 @@
"offline": "Offline" "offline": "Offline"
}, },
"beszel": { "beszel": {
"name": "Name", "name": "Izena",
"systems": "Systems", "systems": "Systems",
"up": "Up", "up": "Gora",
"down": "Down", "down": "Behera",
"paused": "Paused", "paused": "Paused",
"pending": "Pending", "pending": "Pending",
"status": "Status", "status": "Status",
@ -993,22 +1000,47 @@
"network": "NET" "network": "NET"
}, },
"argocd": { "argocd": {
"apps": "Apps", "apps": "Aplikazioak",
"synced": "Synced", "synced": "Sinkronizatuta",
"outOfSync": "Out Of Sync", "outOfSync": "Out Of Sync",
"healthy": "Osasuntsu", "healthy": "Osasuntsu",
"degraded": "Degraded", "degraded": "Degraded",
"progressing": "Progressing", "progressing": "Progressing",
"missing": "Missing", "missing": "Missing",
"suspended": "Suspended" "suspended": "Etenda"
}, },
"spoolman": { "spoolman": {
"loading": "Loading" "loading": "Loading"
}, },
"gitlab": { "gitlab": {
"groups": "Groups", "groups": "Taldeak",
"issues": "Issues", "issues": "Arazoak",
"merges": "Merge Requests", "merges": "Merge Requests",
"projects": "Projects" "projects": "Proiektuak"
},
"apcups": {
"status": "Status",
"load": "Load",
"bcharge": "Battery Charge",
"timeleft": "Time Left"
},
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Etiketak"
},
"slskd": {
"slskStatus": "Network",
"connected": "Konektatuta",
"disconnected": "Deskonektatuta",
"updateStatus": "Update",
"update_yes": "Available",
"update_no": "Up to Date",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "Files"
} }
} }

View file

@ -148,7 +148,9 @@
"up": "Up", "up": "Up",
"received": "Received", "received": "Received",
"sent": "Sent", "sent": "Sent",
"externalIPAddress": "Ext. IP" "externalIPAddress": "Ext. IP",
"externalIPv6Address": "Ext. IPv6",
"externalIPv6Prefix": "Ext. IPv6-Prefix"
}, },
"caddy": { "caddy": {
"upstreams": "Upstreams", "upstreams": "Upstreams",
@ -176,7 +178,7 @@
"connectedAp": "Connected APs", "connectedAp": "Connected APs",
"activeUser": "Active devices", "activeUser": "Active devices",
"alerts": "Alerts", "alerts": "Alerts",
"connectedGateway": "Connected gateways", "connectedGateways": "Connected gateways",
"connectedSwitches": "Connected switches" "connectedSwitches": "Connected switches"
}, },
"nzbget": { "nzbget": {
@ -702,6 +704,10 @@
"processed": "Processed", "processed": "Processed",
"time": "Time" "time": "Time"
}, },
"firefly": {
"networth": "Net Worth",
"budget": "Budget"
},
"grafana": { "grafana": {
"dashboards": "Dashboards", "dashboards": "Dashboards",
"datasources": "Data Sources", "datasources": "Data Sources",
@ -879,7 +885,8 @@
"gitea": { "gitea": {
"notifications": "Notifications", "notifications": "Notifications",
"issues": "Issues", "issues": "Issues",
"pulls": "Pull Requests" "pulls": "Pull Requests",
"repositories": "Repositories"
}, },
"stash": { "stash": {
"scenes": "Scenes", "scenes": "Scenes",
@ -1010,5 +1017,30 @@
"issues": "Issues", "issues": "Issues",
"merges": "Merge Requests", "merges": "Merge Requests",
"projects": "Projects" "projects": "Projects"
},
"apcups": {
"status": "Tila",
"load": "Kuorma",
"bcharge": "Battery Charge",
"timeleft": "Aikaa jäljellä"
},
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Tags"
},
"slskd": {
"slskStatus": "Network",
"connected": "Connected",
"disconnected": "Disconnected",
"updateStatus": "Update",
"update_yes": "Saatavilla",
"update_no": "Up to Date",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "Files"
} }
} }

View file

@ -57,14 +57,14 @@
"lan": "LAN", "lan": "LAN",
"wlan": "WLAN", "wlan": "WLAN",
"devices": "Équipt.", "devices": "Équipt.",
"lan_devices": "Équipt. LAN", "lan_devices": "Périphériques LAN",
"wlan_devices": "Périphériques WLAN", "wlan_devices": "Périphériques WLAN",
"lan_users": "Utilisateurs LAN", "lan_users": "Utilisateurs LAN",
"wlan_users": "Utilisateurs WLAN", "wlan_users": "Utilisateurs WLAN",
"up": "Up", "up": "Up",
"down": "INACTIF", "down": "INACTIF",
"wait": "Veuillez patienter", "wait": "Veuillez patienter",
"empty_data": "Statut sous-système inconnu" "empty_data": "Statut du sous-système inconnu"
}, },
"docker": { "docker": {
"rx": "Rx", "rx": "Rx",
@ -77,14 +77,14 @@
"unknown": "Inconnu", "unknown": "Inconnu",
"healthy": "Fonctionnel", "healthy": "Fonctionnel",
"starting": "Démarrage", "starting": "Démarrage",
"unhealthy": "Dysfonctionnement", "unhealthy": "Mauvaise santé",
"not_found": "Inconnu", "not_found": "Introuvable",
"exited": "Arrêté", "exited": "Arrêté",
"partial": "Partiel" "partial": "Partiel"
}, },
"ping": { "ping": {
"error": "Erreur", "error": "Erreur",
"ping": "Ping", "ping": "Latence",
"down": "Down", "down": "Down",
"up": "Up", "up": "Up",
"not_available": "Non disponible" "not_available": "Non disponible"
@ -105,7 +105,7 @@
"movies": "Films", "movies": "Films",
"series": "Séries TV", "series": "Séries TV",
"episodes": "Épisodes", "episodes": "Épisodes",
"songs": "Musique" "songs": "Chansons"
}, },
"esphome": { "esphome": {
"offline": "Hors ligne", "offline": "Hors ligne",
@ -124,7 +124,7 @@
}, },
"flood": { "flood": {
"download": "Récep.", "download": "Récep.",
"upload": "Envoi", "upload": "Téléverser",
"leech": "Leech", "leech": "Leech",
"seed": "Seed" "seed": "Seed"
}, },
@ -142,25 +142,27 @@
"connectionStatusDisconnected": "Déconnecté", "connectionStatusDisconnected": "Déconnecté",
"connectionStatusConnected": "Connecté", "connectionStatusConnected": "Connecté",
"uptime": "Démarré depuis", "uptime": "Démarré depuis",
"maxDown": "Max. Bas", "maxDown": "Max. Down",
"maxUp": "Max. Haut", "maxUp": "Max. Up",
"down": "Down", "down": "Down",
"up": "Up", "up": "Up",
"received": "Reçu", "received": "Reçu",
"sent": "Envoyé", "sent": "Envoyé",
"externalIPAddress": "IP externe" "externalIPAddress": "IP externe",
"externalIPv6Address": "IPv6 externe",
"externalIPv6Prefix": "Préfixe IPv6 externe"
}, },
"caddy": { "caddy": {
"upstreams": "Upstreams", "upstreams": "En amont",
"requests": "Demandes en cours", "requests": "Demandes en cours",
"requests_failed": "Demandes échouées" "requests_failed": "Demandes échouées"
}, },
"changedetectionio": { "changedetectionio": {
"totalObserved": "Total Observé", "totalObserved": "Total Observé",
"diffsDetected": "Diffs détectées" "diffsDetected": "Différences détectées"
}, },
"channelsdvrserver": { "channelsdvrserver": {
"shows": "Affichages", "shows": "Séries",
"recordings": "Enregistrements", "recordings": "Enregistrements",
"scheduled": "Planifié", "scheduled": "Planifié",
"passes": "Passes" "passes": "Passes"
@ -174,10 +176,10 @@
}, },
"omada": { "omada": {
"connectedAp": "AP connectés", "connectedAp": "AP connectés",
"activeUser": "Équipts actifs", "activeUser": "Périphériques actifs",
"alerts": "Alertes", "alerts": "Alertes",
"connectedGateway": "Passerelles connectées", "connectedGateways": "Passerelles connectées",
"connectedSwitches": "Switches connectés" "connectedSwitches": "Switchs connectés"
}, },
"nzbget": { "nzbget": {
"rate": "Débit", "rate": "Débit",
@ -188,7 +190,7 @@
"streams": "Flux actif", "streams": "Flux actif",
"albums": "Albums", "albums": "Albums",
"movies": "Films", "movies": "Films",
"tv": "Séries TV" "tv": "Séries"
}, },
"sabnzbd": { "sabnzbd": {
"rate": "Débit", "rate": "Débit",
@ -197,32 +199,32 @@
}, },
"rutorrent": { "rutorrent": {
"active": "Actif", "active": "Actif",
"upload": "Envoi", "upload": "Téléverser",
"download": "Récep." "download": "Récep."
}, },
"transmission": { "transmission": {
"download": "Récep.", "download": "Récep.",
"upload": "Envoi", "upload": "Téléverser",
"leech": "Leech", "leech": "Leech",
"seed": "Seed" "seed": "Seed"
}, },
"qbittorrent": { "qbittorrent": {
"download": "Récep.", "download": "Récep.",
"upload": "Envoi", "upload": "Téléverser",
"leech": "Leech", "leech": "Leech",
"seed": "Seed" "seed": "Seed"
}, },
"qnap": { "qnap": {
"cpuUsage": "Cpu", "cpuUsage": "Processeur utilisé",
"memUsage": "Mém", "memUsage": "Mémoire utilisée",
"systemTempC": "Temp", "systemTempC": "Température système",
"poolUsage": "Pool", "poolUsage": "Utilisation de la pool",
"volumeUsage": "Volume", "volumeUsage": "Utilisation du volume",
"invalid": "Invalide" "invalid": "Invalide"
}, },
"deluge": { "deluge": {
"download": "Récep.", "download": "Récep.",
"upload": "Envoi", "upload": "Téléverser",
"leech": "Leech", "leech": "Leech",
"seed": "Seed" "seed": "Seed"
}, },
@ -232,33 +234,33 @@
}, },
"downloadstation": { "downloadstation": {
"download": "Récep.", "download": "Récep.",
"upload": "Envoi", "upload": "Téléverser",
"leech": "Leech", "leech": "Leech",
"seed": "Seed" "seed": "Seed"
}, },
"sonarr": { "sonarr": {
"wanted": "Demande", "wanted": "Demandé",
"queued": "Attente", "queued": "En file d'attente",
"series": "Séries TV", "series": "Séries TV",
"queue": "En attente", "queue": "En attente",
"unknown": "Inconnu" "unknown": "Inconnu"
}, },
"radarr": { "radarr": {
"wanted": "Demande", "wanted": "Demandé",
"missing": "Manquant", "missing": "Manquant",
"queued": "Attente", "queued": "En file d'attente",
"movies": "Films", "movies": "Films",
"queue": "En attente", "queue": "En attente",
"unknown": "Inconnu" "unknown": "Inconnu"
}, },
"lidarr": { "lidarr": {
"wanted": "Demande", "wanted": "Demandé",
"queued": "Attente", "queued": "En file d'attente",
"artists": "Artistes" "artists": "Artistes"
}, },
"readarr": { "readarr": {
"wanted": "Demande", "wanted": "Demandé",
"queued": "Attente", "queued": "En file d'attente",
"books": "Livres" "books": "Livres"
}, },
"bazarr": { "bazarr": {
@ -267,18 +269,18 @@
}, },
"ombi": { "ombi": {
"pending": "En attente", "pending": "En attente",
"approved": "Validé", "approved": "Approuvé",
"available": "Disponible" "available": "Disponible"
}, },
"jellyseerr": { "jellyseerr": {
"pending": "En attente", "pending": "En attente",
"approved": "Validé", "approved": "Approuvé",
"available": "Disponible" "available": "Disponible"
}, },
"overseerr": { "overseerr": {
"pending": "En attente", "pending": "En attente",
"processing": "Traitement", "processing": "En cours de traitement",
"approved": "Validé", "approved": "Approuvé",
"available": "Disponible" "available": "Disponible"
}, },
"netalertx": { "netalertx": {
@ -290,7 +292,7 @@
"pihole": { "pihole": {
"queries": "Requêtes", "queries": "Requêtes",
"blocked": "Bloqué", "blocked": "Bloqué",
"blocked_percent": "Bloqué %", "blocked_percent": "% bloqué",
"gravity": "Listes dom. bloqués" "gravity": "Listes dom. bloqués"
}, },
"adguard": { "adguard": {
@ -300,9 +302,9 @@
"latency": "Latence" "latency": "Latence"
}, },
"speedtest": { "speedtest": {
"upload": "Envoi", "upload": "Téléverser",
"download": "Récep.", "download": "Récep.",
"ping": "Ping" "ping": "Latence"
}, },
"portainer": { "portainer": {
"running": "Démarré", "running": "Démarré",
@ -335,7 +337,7 @@
}, },
"technitium": { "technitium": {
"totalQueries": "Requêtes", "totalQueries": "Requêtes",
"totalNoError": "Effectué avec succès", "totalNoError": "Succès",
"totalServerFailure": "Échecs", "totalServerFailure": "Échecs",
"totalNxDomain": "Domaines NX", "totalNxDomain": "Domaines NX",
"totalRefused": "Refusés", "totalRefused": "Refusés",
@ -349,8 +351,8 @@
"tdarr": { "tdarr": {
"queue": "En attente", "queue": "En attente",
"processed": "Traité", "processed": "Traité",
"errored": "En erreur", "errored": "Erroné",
"saved": "Libéré" "saved": "Enregistré"
}, },
"traefik": { "traefik": {
"routers": "Routeurs", "routers": "Routeurs",
@ -374,35 +376,35 @@
"30days": "30 Jours" "30days": "30 Jours"
}, },
"gotify": { "gotify": {
"apps": "Applis", "apps": "Applications",
"clients": "Clients", "clients": "Clients",
"messages": "Msg" "messages": "Messages"
}, },
"prowlarr": { "prowlarr": {
"enableIndexers": "Indexeur", "enableIndexers": "Indexeur",
"numberOfGrabs": "Capture", "numberOfGrabs": "Captures",
"numberOfQueries": "Requêtes", "numberOfQueries": "Requêtes",
"numberOfFailGrabs": "Capt. échouée", "numberOfFailGrabs": "Captures échouées",
"numberOfFailQueries": "Dem. échouée" "numberOfFailQueries": "Demandes échouées"
}, },
"jackett": { "jackett": {
"configured": "Configuré", "configured": "Configuré",
"errored": "En erreur" "errored": "Erroné"
}, },
"strelaysrv": { "strelaysrv": {
"numActiveSessions": "Sessions", "numActiveSessions": "Sessions",
"numConnections": "Cnx", "numConnections": "Connexions",
"dataRelayed": "Relayé", "dataRelayed": "Relayé",
"transferRate": "Débit" "transferRate": "Débit"
}, },
"mastodon": { "mastodon": {
"user_count": "Utilisateurs", "user_count": "Utilisateurs",
"status_count": "Messages", "status_count": "Articles",
"domain_count": "Domaines" "domain_count": "Domaines"
}, },
"medusa": { "medusa": {
"wanted": "Demande", "wanted": "Demandé",
"queued": "Attente", "queued": "En file d'attente",
"series": "Séries TV" "series": "Séries TV"
}, },
"minecraft": { "minecraft": {
@ -418,13 +420,13 @@
}, },
"authentik": { "authentik": {
"users": "Utilisateurs", "users": "Utilisateurs",
"loginsLast24H": "Cnx. (24h)", "loginsLast24H": "Connexions (24 h)",
"failedLoginsLast24H": "Cnx. échouées (24h)" "failedLoginsLast24H": "Connexions échouées (24 h)"
}, },
"proxmox": { "proxmox": {
"mem": "MÉM", "mem": "MÉM",
"cpu": "CPU", "cpu": "CPU",
"lxc": "LxC", "lxc": "LXC",
"vms": "VMs" "vms": "VMs"
}, },
"glances": { "glances": {
@ -432,7 +434,7 @@
"load": "Charge", "load": "Charge",
"wait": "Veuillez patienter", "wait": "Veuillez patienter",
"temp": "Temp", "temp": "Temp",
"_temp": "T°", "_temp": "Température",
"warn": "Alerte", "warn": "Alerte",
"uptime": "Up", "uptime": "Up",
"total": "Total", "total": "Total",
@ -443,12 +445,12 @@
"crit": "Crit.", "crit": "Crit.",
"read": "Lu", "read": "Lu",
"write": "Écrit.", "write": "Écrit.",
"gpu": "GPU", "gpu": "Carte Graphique",
"mem": "Mém.", "mem": "Mém.",
"swap": "Swap" "swap": "Swap"
}, },
"quicklaunch": { "quicklaunch": {
"bookmark": "Signet", "bookmark": "Marque-Page",
"service": "Service", "service": "Service",
"search": "Recherche", "search": "Recherche",
"custom": "Personnalisé", "custom": "Personnalisé",
@ -458,13 +460,13 @@
}, },
"wmo": { "wmo": {
"0-day": "Ensoleillé", "0-day": "Ensoleillé",
"0-night": "Ciel clair", "0-night": "Clair",
"1-day": "Principalement ensoleillé", "1-day": "Principalement ensoleillé",
"1-night": "Principalement clair", "1-night": "Principalement clair",
"2-day": "Partiellement couvert", "2-day": "Partiellement nuageux",
"2-night": "Partiellement couvert", "2-night": "Partiellement nuageux",
"3-day": "Couvert", "3-day": "Nuageux",
"3-night": "Couvert", "3-night": "Nuageux",
"45-day": "Brumeux", "45-day": "Brumeux",
"45-night": "Brumeux", "45-night": "Brumeux",
"48-day": "Brumeux", "48-day": "Brumeux",
@ -483,14 +485,14 @@
"61-night": "Pluie légère", "61-night": "Pluie légère",
"63-day": "Pluie", "63-day": "Pluie",
"63-night": "Pluie", "63-night": "Pluie",
"65-day": "Pluie forte", "65-day": "Forte pluie",
"65-night": "Pluie forte", "65-night": "Forte pluie",
"66-day": "Pluie verglaçante", "66-day": "Pluie verglaçante",
"66-night": "Pluie verglaçante", "66-night": "Pluie verglaçante",
"67-day": "Pluie verglaçante", "67-day": "Pluie verglaçante",
"67-night": "Pluie verglaçante", "67-night": "Pluie verglaçante",
"71-day": "Neige légère", "71-day": "Légères chutes de neige",
"71-night": "Neige légère", "71-night": "Légères chutes de neige",
"73-day": "Neige", "73-day": "Neige",
"73-night": "Neige", "73-night": "Neige",
"75-day": "Neige abondante", "75-day": "Neige abondante",
@ -541,7 +543,7 @@
"containers_failed": "Échoué" "containers_failed": "Échoué"
}, },
"autobrr": { "autobrr": {
"approvedPushes": "Validé", "approvedPushes": "Approuvé",
"rejectedPushes": "Rejeté", "rejectedPushes": "Rejeté",
"filters": "Filtres", "filters": "Filtres",
"indexers": "Indexeur" "indexers": "Indexeur"
@ -550,7 +552,7 @@
"downloads": "En attente", "downloads": "En attente",
"videos": "Vidéos", "videos": "Vidéos",
"channels": "Chaînes", "channels": "Chaînes",
"playlists": "Playlists" "playlists": "Listes de lecture"
}, },
"truenas": { "truenas": {
"load": "Charge Système", "load": "Charge Système",
@ -590,9 +592,9 @@
"total": "Total" "total": "Total"
}, },
"peanut": { "peanut": {
"battery_charge": "Charge Batterie", "battery_charge": "Charge de la batterie",
"ups_load": "Charge de l'UPS", "ups_load": "Charge de lASI",
"ups_status": "État de l'UPS", "ups_status": "État de lASI",
"online": "En ligne", "online": "En ligne",
"on_battery": "Sur Batterie", "on_battery": "Sur Batterie",
"low_battery": "Batterie Faible" "low_battery": "Batterie Faible"
@ -602,8 +604,8 @@
"no_devices": "Aucune donnée d'appareil reçue" "no_devices": "Aucune donnée d'appareil reçue"
}, },
"mikrotik": { "mikrotik": {
"cpuLoad": "Charge CPU", "cpuLoad": "Charge du processeur",
"memoryUsed": "Mém. Utilisée", "memoryUsed": "Mémoire utilisée",
"uptime": "Démarré depuis", "uptime": "Démarré depuis",
"numberOfLeases": "Baux" "numberOfLeases": "Baux"
}, },
@ -615,25 +617,25 @@
"opendtu": { "opendtu": {
"yieldDay": "Aujourd'hui", "yieldDay": "Aujourd'hui",
"absolutePower": "Puissance", "absolutePower": "Puissance",
"relativePower": "Puissance %", "relativePower": "% de puissance",
"limit": "Limite" "limit": "Limite"
}, },
"opnsense": { "opnsense": {
"cpu": "Charge CPU", "cpu": "Charge du processeur",
"memory": "Mém. utilisée", "memory": "Mémoire utilisée",
"wanUpload": "WAN Envoi", "wanUpload": "WAN Envoi",
"wanDownload": "WAN Récep." "wanDownload": "WAN Récep."
}, },
"moonraker": { "moonraker": {
"printer_state": "État Imprimante", "printer_state": "État de l'imprimante",
"print_status": "Statut Imprimante", "print_status": "Statut de l'imprimante",
"print_progress": "Progression", "print_progress": "Progression",
"layers": "Couches" "layers": "Couches"
}, },
"octoprint": { "octoprint": {
"printer_state": "Statut", "printer_state": "Statut",
"temp_tool": "Tool T°", "temp_tool": "Temp. de l'outil",
"temp_bed": "Bed T°", "temp_bed": "Temp. du lit",
"job_completion": "Achèvement" "job_completion": "Achèvement"
}, },
"cloudflared": { "cloudflared": {
@ -646,7 +648,7 @@
"wanStatus": "Statut WAN", "wanStatus": "Statut WAN",
"up": "Up", "up": "Up",
"down": "Down", "down": "Down",
"temp": "T°", "temp": "Température",
"disk": "Util. Disque", "disk": "Util. Disque",
"wanIP": "IP WAN" "wanIP": "IP WAN"
}, },
@ -688,7 +690,7 @@
"mylar": { "mylar": {
"series": "Séries TV", "series": "Séries TV",
"issues": "Anomalies", "issues": "Anomalies",
"wanted": "Demande" "wanted": "Demandé"
}, },
"photoprism": { "photoprism": {
"albums": "Albums", "albums": "Albums",
@ -698,10 +700,14 @@
}, },
"fileflows": { "fileflows": {
"queue": "En attente", "queue": "En attente",
"processing": "Traitement", "processing": "En cours de traitement",
"processed": "Traité", "processed": "Traité",
"time": "Temps" "time": "Temps"
}, },
"firefly": {
"networth": "Valeur Nette",
"budget": "Budget"
},
"grafana": { "grafana": {
"dashboards": "Tableau de bord", "dashboards": "Tableau de bord",
"datasources": "Sources données", "datasources": "Sources données",
@ -754,9 +760,9 @@
"booksDuration": "Durée" "booksDuration": "Durée"
}, },
"homeassistant": { "homeassistant": {
"people_home": "People Home", "people_home": "Personne à la maison",
"lights_on": "Lumières allumées", "lights_on": "Lumières allumées",
"switches_on": "Commutateur On" "switches_on": "Interrupteurs allumés"
}, },
"whatsupdocker": { "whatsupdocker": {
"monitoring": "Conteneurs", "monitoring": "Conteneurs",
@ -789,7 +795,7 @@
"inProgress": "En cours", "inProgress": "En cours",
"totalPrs": "PRs Total", "totalPrs": "PRs Total",
"myPrs": "Mes PRs", "myPrs": "Mes PRs",
"approved": "Validé" "approved": "Approuvé"
}, },
"gamedig": { "gamedig": {
"status": "Statut", "status": "Statut",
@ -800,8 +806,8 @@
"currentPlayers": "Joueurs actuels", "currentPlayers": "Joueurs actuels",
"players": "Joueurs", "players": "Joueurs",
"maxPlayers": "Joueurs max", "maxPlayers": "Joueurs max",
"bots": "Bots", "bots": "Robots",
"ping": "Ping" "ping": "Latence"
}, },
"urbackup": { "urbackup": {
"ok": "Ok", "ok": "Ok",
@ -879,7 +885,8 @@
"gitea": { "gitea": {
"notifications": "Notifications", "notifications": "Notifications",
"issues": "Anomalies", "issues": "Anomalies",
"pulls": "Demandes de tirage" "pulls": "Demandes de tirage",
"repositories": "Dépôts"
}, },
"stash": { "stash": {
"scenes": "Scènes", "scenes": "Scènes",
@ -912,7 +919,7 @@
}, },
"crowdsec": { "crowdsec": {
"alerts": "Alertes", "alerts": "Alertes",
"bans": "Exclusions" "bans": "Bannissements"
}, },
"wgeasy": { "wgeasy": {
"connected": "Connecté", "connected": "Connecté",
@ -927,12 +934,12 @@
"banned": "Banni" "banned": "Banni"
}, },
"myspeed": { "myspeed": {
"ping": "Ping", "ping": "Latence",
"download": "Récep.", "download": "Récep.",
"upload": "Envoi" "upload": "Téléverser"
}, },
"stocks": { "stocks": {
"stocks": "Actions", "stocks": "Stocks",
"loading": "Chargement", "loading": "Chargement",
"open": "Ouvert - Marché américain", "open": "Ouvert - Marché américain",
"closed": "Fermé - marché américain", "closed": "Fermé - marché américain",
@ -1010,5 +1017,30 @@
"issues": "Anomalies", "issues": "Anomalies",
"merges": "Demandes de fusion de branches", "merges": "Demandes de fusion de branches",
"projects": "Projets" "projects": "Projets"
},
"apcups": {
"status": "Statut",
"load": "Charge",
"bcharge": "Charge de la batterie",
"timeleft": "Temps restant"
},
"karakeep": {
"bookmarks": "Marque-pages",
"favorites": "Favoris",
"archived": "Archivé",
"highlights": "Highlights",
"lists": "Listes",
"tags": "Étiquettes"
},
"slskd": {
"slskStatus": "Réseau",
"connected": "Connecté",
"disconnected": "Déconnecté",
"updateStatus": "Mise à jour",
"update_yes": "Disponible",
"update_no": "À jour",
"downloads": "Téléchargements",
"uploads": "Téléversements",
"sharedFiles": "Fichiers"
} }
} }

View file

@ -148,7 +148,9 @@
"up": "Up", "up": "Up",
"received": "Received", "received": "Received",
"sent": "Sent", "sent": "Sent",
"externalIPAddress": "Ext. IP" "externalIPAddress": "Ext. IP",
"externalIPv6Address": "Ext. IPv6",
"externalIPv6Prefix": "Ext. IPv6-Prefix"
}, },
"caddy": { "caddy": {
"upstreams": "Upstreams", "upstreams": "Upstreams",
@ -176,7 +178,7 @@
"connectedAp": "Connected APs", "connectedAp": "Connected APs",
"activeUser": "Active devices", "activeUser": "Active devices",
"alerts": "Alerts", "alerts": "Alerts",
"connectedGateway": "Connected gateways", "connectedGateways": "Connected gateways",
"connectedSwitches": "Connected switches" "connectedSwitches": "Connected switches"
}, },
"nzbget": { "nzbget": {
@ -702,6 +704,10 @@
"processed": "Processed", "processed": "Processed",
"time": "Time" "time": "Time"
}, },
"firefly": {
"networth": "Net Worth",
"budget": "Budget"
},
"grafana": { "grafana": {
"dashboards": "Dashboards", "dashboards": "Dashboards",
"datasources": "Data Sources", "datasources": "Data Sources",
@ -879,7 +885,8 @@
"gitea": { "gitea": {
"notifications": "Notifications", "notifications": "Notifications",
"issues": "Issues", "issues": "Issues",
"pulls": "Pull Requests" "pulls": "Pull Requests",
"repositories": "Repositories"
}, },
"stash": { "stash": {
"scenes": "Scenes", "scenes": "Scenes",
@ -1010,5 +1017,30 @@
"issues": "Issues", "issues": "Issues",
"merges": "Merge Requests", "merges": "Merge Requests",
"projects": "Projects" "projects": "Projects"
},
"apcups": {
"status": "סטטוס",
"load": "עומס",
"bcharge": "Battery Charge",
"timeleft": "זמן שנותר"
},
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Tags"
},
"slskd": {
"slskStatus": "Network",
"connected": "Connected",
"disconnected": "Disconnected",
"updateStatus": "Update",
"update_yes": "זמין",
"update_no": "Up to Date",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "Files"
} }
} }

View file

@ -148,7 +148,9 @@
"up": "Up", "up": "Up",
"received": "Received", "received": "Received",
"sent": "Sent", "sent": "Sent",
"externalIPAddress": "Ext. IP" "externalIPAddress": "Ext. IP",
"externalIPv6Address": "Ext. IPv6",
"externalIPv6Prefix": "Ext. IPv6-Prefix"
}, },
"caddy": { "caddy": {
"upstreams": "Upstreams", "upstreams": "Upstreams",
@ -176,7 +178,7 @@
"connectedAp": "Connected APs", "connectedAp": "Connected APs",
"activeUser": "Active devices", "activeUser": "Active devices",
"alerts": "Alerts", "alerts": "Alerts",
"connectedGateway": "Connected gateways", "connectedGateways": "Connected gateways",
"connectedSwitches": "Connected switches" "connectedSwitches": "Connected switches"
}, },
"nzbget": { "nzbget": {
@ -702,6 +704,10 @@
"processed": "Processed", "processed": "Processed",
"time": "Time" "time": "Time"
}, },
"firefly": {
"networth": "Net Worth",
"budget": "Budget"
},
"grafana": { "grafana": {
"dashboards": "Dashboards", "dashboards": "Dashboards",
"datasources": "Data Sources", "datasources": "Data Sources",
@ -879,7 +885,8 @@
"gitea": { "gitea": {
"notifications": "Notifications", "notifications": "Notifications",
"issues": "Issues", "issues": "Issues",
"pulls": "Pull Requests" "pulls": "Pull Requests",
"repositories": "Repositories"
}, },
"stash": { "stash": {
"scenes": "Scenes", "scenes": "Scenes",
@ -1010,5 +1017,30 @@
"issues": "Issues", "issues": "Issues",
"merges": "Merge Requests", "merges": "Merge Requests",
"projects": "Projects" "projects": "Projects"
},
"apcups": {
"status": "Status",
"load": "Load",
"bcharge": "Battery Charge",
"timeleft": "Time Left"
},
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Tags"
},
"slskd": {
"slskStatus": "Network",
"connected": "Connected",
"disconnected": "Disconnected",
"updateStatus": "Update",
"update_yes": "Available",
"update_no": "Up to Date",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "Files"
} }
} }

View file

@ -148,7 +148,9 @@
"up": "Dostupno", "up": "Dostupno",
"received": "Primljeno", "received": "Primljeno",
"sent": "Poslano", "sent": "Poslano",
"externalIPAddress": "Eksterna IP adresa" "externalIPAddress": "Eksterna IP adresa",
"externalIPv6Address": "Ext. IPv6",
"externalIPv6Prefix": "Ext. IPv6-Prefix"
}, },
"caddy": { "caddy": {
"upstreams": "Glavne grane", "upstreams": "Glavne grane",
@ -176,7 +178,7 @@
"connectedAp": "Povezani AP-ovi", "connectedAp": "Povezani AP-ovi",
"activeUser": "Aktivni uređaji", "activeUser": "Aktivni uređaji",
"alerts": "Upozorenja", "alerts": "Upozorenja",
"connectedGateway": "Povezani pristupi", "connectedGateways": "Connected gateways",
"connectedSwitches": "Povezani prekidači" "connectedSwitches": "Povezani prekidači"
}, },
"nzbget": { "nzbget": {
@ -702,6 +704,10 @@
"processed": "Obrađeno", "processed": "Obrađeno",
"time": "Vrijeme" "time": "Vrijeme"
}, },
"firefly": {
"networth": "Net Worth",
"budget": "Budget"
},
"grafana": { "grafana": {
"dashboards": "Pregledne ploče", "dashboards": "Pregledne ploče",
"datasources": "Izvori podataka", "datasources": "Izvori podataka",
@ -879,7 +885,8 @@
"gitea": { "gitea": {
"notifications": "Obavijesti", "notifications": "Obavijesti",
"issues": "Problemi", "issues": "Problemi",
"pulls": "Zahtjevi za povlačenje" "pulls": "Zahtjevi za povlačenje",
"repositories": "Repositories"
}, },
"stash": { "stash": {
"scenes": "Scene", "scenes": "Scene",
@ -1010,5 +1017,30 @@
"issues": "Problemi", "issues": "Problemi",
"merges": "Merge Requests", "merges": "Merge Requests",
"projects": "Projects" "projects": "Projects"
},
"apcups": {
"status": "Stanje",
"load": "Opterećenje",
"bcharge": "Napunjenost baterije",
"timeleft": "Preostalo vrijeme"
},
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Oznake"
},
"slskd": {
"slskStatus": "Mreža",
"connected": "Povezano",
"disconnected": "Odspojeno",
"updateStatus": "Update",
"update_yes": "Dostupno",
"update_no": "Aktualno",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "Datoteke"
} }
} }

View file

@ -148,7 +148,9 @@
"up": "Fel", "up": "Fel",
"received": "Fogadott", "received": "Fogadott",
"sent": "Küldött", "sent": "Küldött",
"externalIPAddress": "Külső IP cím" "externalIPAddress": "Külső IP cím",
"externalIPv6Address": "Ext. IPv6",
"externalIPv6Prefix": "Ext. IPv6-Prefix"
}, },
"caddy": { "caddy": {
"upstreams": "Upstreamek", "upstreams": "Upstreamek",
@ -176,7 +178,7 @@
"connectedAp": "Csatlakoztatott AP-k", "connectedAp": "Csatlakoztatott AP-k",
"activeUser": "Aktív eszközök", "activeUser": "Aktív eszközök",
"alerts": "Riasztások", "alerts": "Riasztások",
"connectedGateway": "Csatlakoztatott gateway-ek", "connectedGateways": "Connected gateways",
"connectedSwitches": "Csatlakoztatott switch-ek" "connectedSwitches": "Csatlakoztatott switch-ek"
}, },
"nzbget": { "nzbget": {
@ -702,6 +704,10 @@
"processed": "Feldolgozott", "processed": "Feldolgozott",
"time": "Idő" "time": "Idő"
}, },
"firefly": {
"networth": "Nettó érték",
"budget": "Költségkeret"
},
"grafana": { "grafana": {
"dashboards": "Műszerfalak", "dashboards": "Műszerfalak",
"datasources": "Adatforrások", "datasources": "Adatforrások",
@ -879,7 +885,8 @@
"gitea": { "gitea": {
"notifications": "Üzenetek", "notifications": "Üzenetek",
"issues": "Problémák", "issues": "Problémák",
"pulls": "Pull request-ek" "pulls": "Pull request-ek",
"repositories": "Repositories"
}, },
"stash": { "stash": {
"scenes": "Jelenetek", "scenes": "Jelenetek",
@ -1010,5 +1017,30 @@
"issues": "Problémák", "issues": "Problémák",
"merges": "Merge kérések", "merges": "Merge kérések",
"projects": "Projektek" "projects": "Projektek"
},
"apcups": {
"status": "Státusz",
"load": "Terhelés",
"bcharge": "Akku töltöttsége",
"timeleft": "Hátralévő idő"
},
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Címkék"
},
"slskd": {
"slskStatus": "Hálózat",
"connected": "Csatlakozva",
"disconnected": "Kapcsolat bontva",
"updateStatus": "Update",
"update_yes": "Elérhető",
"update_no": "Naprakész",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "Fájlok"
} }
} }

View file

@ -14,7 +14,7 @@
"date": "{{value, date}}", "date": "{{value, date}}",
"relativeDate": "{{value, relativeDate}}", "relativeDate": "{{value, relativeDate}}",
"duration": "{{value, duration}}", "duration": "{{value, duration}}",
"months": "bulan", "months": "bln",
"days": "h", "days": "h",
"hours": "j", "hours": "j",
"minutes": "m", "minutes": "m",
@ -140,7 +140,7 @@
"connectionStatusPendingDisconnect": "Menunggu Terputus", "connectionStatusPendingDisconnect": "Menunggu Terputus",
"connectionStatusDisconnecting": "Sedan Memutus", "connectionStatusDisconnecting": "Sedan Memutus",
"connectionStatusDisconnected": "Terputus", "connectionStatusDisconnected": "Terputus",
"connectionStatusConnected": "Connected", "connectionStatusConnected": "Tersambung",
"uptime": "Waktu Aktif", "uptime": "Waktu Aktif",
"maxDown": "Maks Unduh", "maxDown": "Maks Unduh",
"maxUp": "Maks Unggah", "maxUp": "Maks Unggah",
@ -148,7 +148,9 @@
"up": "Hidup", "up": "Hidup",
"received": "Diterima", "received": "Diterima",
"sent": "Terkirim", "sent": "Terkirim",
"externalIPAddress": "IP Eksternal" "externalIPAddress": "IP Eksternal",
"externalIPv6Address": "Ext. IPv6",
"externalIPv6Prefix": "Ext. IPv6-Prefix"
}, },
"caddy": { "caddy": {
"upstreams": "Strim Luar", "upstreams": "Strim Luar",
@ -176,7 +178,7 @@
"connectedAp": "AP Tersambung", "connectedAp": "AP Tersambung",
"activeUser": "Perangakat yang Aktif", "activeUser": "Perangakat yang Aktif",
"alerts": "Peringatan", "alerts": "Peringatan",
"connectedGateway": "Gateway Tersambung", "connectedGateways": "Connected gateways",
"connectedSwitches": "Switch Tersambung" "connectedSwitches": "Switch Tersambung"
}, },
"nzbget": { "nzbget": {
@ -283,9 +285,9 @@
}, },
"netalertx": { "netalertx": {
"total": "Total", "total": "Total",
"connected": "Connected", "connected": "Tersambung",
"new_devices": "New Devices", "new_devices": "Perangkat Baru",
"down_alerts": "Down Alerts" "down_alerts": "Peringatan Pemadaman"
}, },
"pihole": { "pihole": {
"queries": "Kueri", "queries": "Kueri",
@ -311,17 +313,17 @@
}, },
"suwayomi": { "suwayomi": {
"download": "Terunduh", "download": "Terunduh",
"nondownload": "Non-Downloaded", "nondownload": "Belum Diunduh",
"read": "Baca", "read": "Baca",
"unread": "Belum Dibaca", "unread": "Belum Dibaca",
"downloadedread": "Downloaded & Read", "downloadedread": "Diunduh & Dibaca",
"downloadedunread": "Downloaded & Unread", "downloadedunread": "Diunduh & Belum Dibaca",
"nondownloadedread": "Non-Downloaded & Read", "nondownloadedread": "Belum Diunduh & Dibaca",
"nondownloadedunread": "Non-Downloaded & Unread" "nondownloadedunread": "Belum Diunduh & Belum Dibaca"
}, },
"tailscale": { "tailscale": {
"address": "Alamat", "address": "Alamat",
"expires": "Kadaluarsa", "expires": "Kedaluwarsa",
"never": "Tidak Pernah", "never": "Tidak Pernah",
"last_seen": "Terakhir terlihat", "last_seen": "Terakhir terlihat",
"now": "Sekarang", "now": "Sekarang",
@ -335,12 +337,12 @@
}, },
"technitium": { "technitium": {
"totalQueries": "Kueri", "totalQueries": "Kueri",
"totalNoError": "Success", "totalNoError": "Berhasil",
"totalServerFailure": "Failures", "totalServerFailure": "Gagal",
"totalNxDomain": "NX Domains", "totalNxDomain": "Domain NX",
"totalRefused": "Refused", "totalRefused": "Ditolak",
"totalAuthoritative": "Authoritative", "totalAuthoritative": "Authoritative",
"totalRecursive": "Recursive", "totalRecursive": "Rekursif",
"totalCached": "Cached", "totalCached": "Cached",
"totalBlocked": "Terblokir", "totalBlocked": "Terblokir",
"totalDropped": "Dropped", "totalDropped": "Dropped",
@ -702,6 +704,10 @@
"processed": "Terproses", "processed": "Terproses",
"time": "Waktu" "time": "Waktu"
}, },
"firefly": {
"networth": "Kekayaan Bersih",
"budget": "Anggaran"
},
"grafana": { "grafana": {
"dashboards": "Dasbor", "dashboards": "Dasbor",
"datasources": "Sumber Data", "datasources": "Sumber Data",
@ -854,16 +860,16 @@
}, },
"romm": { "romm": {
"platforms": "Platform", "platforms": "Platform",
"totalRoms": "Games", "totalRoms": "Permainan",
"saves": "Saves", "saves": "Saves",
"states": "States", "states": "Kondisi",
"screenshots": "Screenshots", "screenshots": "Tangkapan Layar",
"totalfilesize": "Total Size" "totalfilesize": "Total Ukuran"
}, },
"mailcow": { "mailcow": {
"domains": "Jumlah Domain", "domains": "Jumlah Domain",
"mailboxes": "Mailboxes", "mailboxes": "Kotak surat",
"mails": "Mails", "mails": "Surat",
"storage": "Penyimpanan" "storage": "Penyimpanan"
}, },
"netdata": { "netdata": {
@ -879,51 +885,52 @@
"gitea": { "gitea": {
"notifications": "Notifikasi", "notifications": "Notifikasi",
"issues": "Isu", "issues": "Isu",
"pulls": "Pull Requests" "pulls": "Pull Requests",
"repositories": "Repositories"
}, },
"stash": { "stash": {
"scenes": "Scenes", "scenes": "Adegan",
"scenesPlayed": "Scenes Played", "scenesPlayed": "Adegan Dimainkan",
"playCount": "Total Plays", "playCount": "Total Dimainkan",
"playDuration": "Time Watched", "playDuration": "Waktu Ditonton",
"sceneSize": "Scenes Size", "sceneSize": "Ukuran Adegan",
"sceneDuration": "Scenes Duration", "sceneDuration": "Durasi Adegan",
"images": "Images", "images": "Gambar",
"imageSize": "Images Size", "imageSize": "Ukuran Gambar",
"galleries": "Galleries", "galleries": "Galeri",
"performers": "Performers", "performers": "Pemain",
"studios": "Studios", "studios": "Studio",
"movies": "Film", "movies": "Film",
"tags": "Tag", "tags": "Tag",
"oCount": "O Count" "oCount": "Jumlah O"
}, },
"tandoor": { "tandoor": {
"users": "Pengguna", "users": "Pengguna",
"recipes": "Resep", "recipes": "Resep",
"keywords": "Keywords" "keywords": "Kata Kunci"
}, },
"homebox": { "homebox": {
"items": "Items", "items": "Items",
"totalWithWarranty": "With Warranty", "totalWithWarranty": "Dengan Garansi",
"locations": "Locations", "locations": "Lokasi",
"labels": "Labels", "labels": "Label",
"users": "Pengguna", "users": "Pengguna",
"totalValue": "Total Value" "totalValue": "Total Nilai"
}, },
"crowdsec": { "crowdsec": {
"alerts": "Peringatan", "alerts": "Peringatan",
"bans": "Bans" "bans": "Bans"
}, },
"wgeasy": { "wgeasy": {
"connected": "Connected", "connected": "Tersambung",
"enabled": "Aktif", "enabled": "Aktif",
"disabled": "Nonaktif", "disabled": "Nonaktif",
"total": "Total" "total": "Total"
}, },
"swagdashboard": { "swagdashboard": {
"proxied": "Proxied", "proxied": "Diproksi",
"auth": "With Auth", "auth": "With Auth",
"outdated": "Outdated", "outdated": "Usang",
"banned": "Banned" "banned": "Banned"
}, },
"myspeed": { "myspeed": {
@ -932,43 +939,43 @@
"upload": "Unggah" "upload": "Unggah"
}, },
"stocks": { "stocks": {
"stocks": "Stocks", "stocks": "Saham",
"loading": "Loading", "loading": "Memuat",
"open": "Open - US Market", "open": "Buka - Pasar AS",
"closed": "Closed - US Market", "closed": "Tutup - Pasar AS",
"invalidConfiguration": "Invalid Configuration" "invalidConfiguration": "Konfigurasi Invalid"
}, },
"frigate": { "frigate": {
"cameras": "Cameras", "cameras": "Kamera",
"uptime": "Waktu Aktif", "uptime": "Waktu Aktif",
"version": "Versi" "version": "Versi"
}, },
"linkwarden": { "linkwarden": {
"links": "Links", "links": "Tautan",
"collections": "Collections", "collections": "Koleksi",
"tags": "Tag" "tags": "Tag"
}, },
"zabbix": { "zabbix": {
"unclassified": "Not classified", "unclassified": "Not classified",
"information": "Informasi", "information": "Informasi",
"warning": "Warning", "warning": "Peringatan",
"average": "Average", "average": "Rata-rata",
"high": "High", "high": "Tinggi",
"disaster": "Disaster" "disaster": "Bencana"
}, },
"lubelogger": { "lubelogger": {
"vehicle": "Vehicle", "vehicle": "Kendaraan",
"vehicles": "Vehicles", "vehicles": "Kendaraan",
"serviceRecords": "Service Records", "serviceRecords": "Catatan Servis",
"reminders": "Reminders", "reminders": "Pengingat",
"nextReminder": "Next Reminder", "nextReminder": "Pengingat Berikutnya",
"none": "None" "none": "Tidak ada"
}, },
"vikunja": { "vikunja": {
"projects": "Active Projects", "projects": "Proyek Aktif",
"tasks7d": "Tasks Due This Week", "tasks7d": "Tugas Jatuh Tempo Minggu Ini",
"tasksOverdue": "Overdue Tasks", "tasksOverdue": "Tugas Terlewat",
"tasksInProgress": "Tasks In Progress" "tasksInProgress": "Tugas Berlangsung"
}, },
"headscale": { "headscale": {
"name": "Nama", "name": "Nama",
@ -980,7 +987,7 @@
}, },
"beszel": { "beszel": {
"name": "Nama", "name": "Nama",
"systems": "Systems", "systems": "Sistem",
"up": "Hidup", "up": "Hidup",
"down": "Mati", "down": "Mati",
"paused": "Pause", "paused": "Pause",
@ -989,26 +996,51 @@
"updated": "Terbarui", "updated": "Terbarui",
"cpu": "CPU", "cpu": "CPU",
"memory": "MEM", "memory": "MEM",
"disk": "Disk", "disk": "Diska",
"network": "NET" "network": "NET"
}, },
"argocd": { "argocd": {
"apps": "Apps", "apps": "Apl",
"synced": "Synced", "synced": "Tersinkron",
"outOfSync": "Out Of Sync", "outOfSync": "Tidak Sinkron",
"healthy": "Lancar", "healthy": "Lancar",
"degraded": "Degraded", "degraded": "Terdegradasi",
"progressing": "Progressing", "progressing": "Progressing",
"missing": "Tidak Ditemukan", "missing": "Tidak Ditemukan",
"suspended": "Suspended" "suspended": "Ditangguhkan"
}, },
"spoolman": { "spoolman": {
"loading": "Loading" "loading": "Memuat"
}, },
"gitlab": { "gitlab": {
"groups": "Groups", "groups": "Grup",
"issues": "Isu", "issues": "Isu",
"merges": "Merge Requests", "merges": "Merge Requests",
"projects": "Projects" "projects": "Proyek"
},
"apcups": {
"status": "Status",
"load": "Beban",
"bcharge": "Sisa Baterai",
"timeleft": "Sisa Waktu"
},
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Tag"
},
"slskd": {
"slskStatus": "Jaringan",
"connected": "Tersambung",
"disconnected": "Terputus",
"updateStatus": "Update",
"update_yes": "Tersedia",
"update_no": "Terbaru",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "File"
} }
} }

View file

@ -148,7 +148,9 @@
"up": "Up", "up": "Up",
"received": "Ricevuti", "received": "Ricevuti",
"sent": "Inviati", "sent": "Inviati",
"externalIPAddress": "IP Esterno" "externalIPAddress": "IP Esterno",
"externalIPv6Address": "IPv6 Esterno",
"externalIPv6Prefix": "Prefisso IPv6 Esterno"
}, },
"caddy": { "caddy": {
"upstreams": "Upstream", "upstreams": "Upstream",
@ -176,7 +178,7 @@
"connectedAp": "AP Connessi", "connectedAp": "AP Connessi",
"activeUser": "Dispositivi attivi", "activeUser": "Dispositivi attivi",
"alerts": "Allarmi", "alerts": "Allarmi",
"connectedGateway": "Gateway connessi", "connectedGateways": "Gateway connessi",
"connectedSwitches": "Switch connessi" "connectedSwitches": "Switch connessi"
}, },
"nzbget": { "nzbget": {
@ -336,7 +338,7 @@
"technitium": { "technitium": {
"totalQueries": "Richieste", "totalQueries": "Richieste",
"totalNoError": "Successo", "totalNoError": "Successo",
"totalServerFailure": "Failures", "totalServerFailure": "Fallimenti",
"totalNxDomain": "NX Domains", "totalNxDomain": "NX Domains",
"totalRefused": "Refused", "totalRefused": "Refused",
"totalAuthoritative": "Authoritative", "totalAuthoritative": "Authoritative",
@ -702,6 +704,10 @@
"processed": "Elaborati", "processed": "Elaborati",
"time": "Tempo" "time": "Tempo"
}, },
"firefly": {
"networth": "Net Worth",
"budget": "Budget"
},
"grafana": { "grafana": {
"dashboards": "Dashboard", "dashboards": "Dashboard",
"datasources": "Origine dei Dati", "datasources": "Origine dei Dati",
@ -879,7 +885,8 @@
"gitea": { "gitea": {
"notifications": "Notifiche", "notifications": "Notifiche",
"issues": "Problemi", "issues": "Problemi",
"pulls": "Richieste di Pull" "pulls": "Richieste di Pull",
"repositories": "Repositories"
}, },
"stash": { "stash": {
"scenes": "Scene", "scenes": "Scene",
@ -936,7 +943,7 @@
"loading": "Caricamento", "loading": "Caricamento",
"open": "Open - US Market", "open": "Open - US Market",
"closed": "Closed - US Market", "closed": "Closed - US Market",
"invalidConfiguration": "Invalid Configuration" "invalidConfiguration": "Configurazione non valida"
}, },
"frigate": { "frigate": {
"cameras": "Cameras", "cameras": "Cameras",
@ -952,7 +959,7 @@
"unclassified": "Not classified", "unclassified": "Not classified",
"information": "Informazioni", "information": "Informazioni",
"warning": "Warning", "warning": "Warning",
"average": "Average", "average": "Media",
"high": "High", "high": "High",
"disaster": "Disaster" "disaster": "Disaster"
}, },
@ -980,7 +987,7 @@
}, },
"beszel": { "beszel": {
"name": "Nome", "name": "Nome",
"systems": "Systems", "systems": "Sistemi",
"up": "Up", "up": "Up",
"down": "Down", "down": "Down",
"paused": "In Pausa", "paused": "In Pausa",
@ -989,15 +996,15 @@
"updated": "Aggiornato", "updated": "Aggiornato",
"cpu": "CPU", "cpu": "CPU",
"memory": "MEM", "memory": "MEM",
"disk": "Disk", "disk": "Disco",
"network": "NET" "network": "NET"
}, },
"argocd": { "argocd": {
"apps": "Apps", "apps": "Applicazioni",
"synced": "Synced", "synced": "Sincronizzato",
"outOfSync": "Out Of Sync", "outOfSync": "Non Sincronizzato",
"healthy": "Sano", "healthy": "Sano",
"degraded": "Degraded", "degraded": "Degradato",
"progressing": "Progressing", "progressing": "Progressing",
"missing": "Mancanti", "missing": "Mancanti",
"suspended": "Suspended" "suspended": "Suspended"
@ -1006,9 +1013,34 @@
"loading": "Caricamento" "loading": "Caricamento"
}, },
"gitlab": { "gitlab": {
"groups": "Groups", "groups": "Gruppi",
"issues": "Problemi", "issues": "Problemi",
"merges": "Merge Requests", "merges": "Richieste di merge",
"projects": "Projects" "projects": "Progetti"
},
"apcups": {
"status": "Stato",
"load": "Carico",
"bcharge": "Carica Batteria",
"timeleft": "Tempo Rimanente"
},
"karakeep": {
"bookmarks": "Segnalibri",
"favorites": "Preferiti",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Liste",
"tags": "Tag"
},
"slskd": {
"slskStatus": "Rete",
"connected": "Connesso",
"disconnected": "Disconnesso",
"updateStatus": "Update",
"update_yes": "Disponibili",
"update_no": "Aggiornato",
"downloads": "Download",
"uploads": "Uploads",
"sharedFiles": "File"
} }
} }

View file

@ -148,7 +148,9 @@
"up": "稼働", "up": "稼働",
"received": "受信済み", "received": "受信済み",
"sent": "送信済み", "sent": "送信済み",
"externalIPAddress": "退出ID" "externalIPAddress": "退出ID",
"externalIPv6Address": "Ext. IPv6",
"externalIPv6Prefix": "Ext. IPv6-Prefix"
}, },
"caddy": { "caddy": {
"upstreams": "アップストリーム", "upstreams": "アップストリーム",
@ -176,7 +178,7 @@
"connectedAp": "接続されたAP", "connectedAp": "接続されたAP",
"activeUser": "アクティブデバイス", "activeUser": "アクティブデバイス",
"alerts": "アラート", "alerts": "アラート",
"connectedGateway": "接続されたゲートウェイ", "connectedGateways": "Connected gateways",
"connectedSwitches": "接続スイッチ" "connectedSwitches": "接続スイッチ"
}, },
"nzbget": { "nzbget": {
@ -702,6 +704,10 @@
"processed": "処理済み", "processed": "処理済み",
"time": "時間" "time": "時間"
}, },
"firefly": {
"networth": "Net Worth",
"budget": "Budget"
},
"grafana": { "grafana": {
"dashboards": "ダッシュ ボード", "dashboards": "ダッシュ ボード",
"datasources": "データソース", "datasources": "データソース",
@ -879,7 +885,8 @@
"gitea": { "gitea": {
"notifications": "通知", "notifications": "通知",
"issues": "課題", "issues": "課題",
"pulls": "プルリクエスト" "pulls": "プルリクエスト",
"repositories": "Repositories"
}, },
"stash": { "stash": {
"scenes": "シーン", "scenes": "シーン",
@ -1010,5 +1017,30 @@
"issues": "課題", "issues": "課題",
"merges": "Merge Requests", "merges": "Merge Requests",
"projects": "Projects" "projects": "Projects"
},
"apcups": {
"status": "状態",
"load": "ロード",
"bcharge": "バッテリー充電",
"timeleft": "残り時間"
},
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "タグ"
},
"slskd": {
"slskStatus": "ネットワーク",
"connected": "接続済",
"disconnected": "切断されました",
"updateStatus": "Update",
"update_yes": "利用可",
"update_no": "最新",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "ファイル"
} }
} }

View file

@ -14,11 +14,11 @@
"date": "{{value, date}}", "date": "{{value, date}}",
"relativeDate": "{{value, relativeDate}}", "relativeDate": "{{value, relativeDate}}",
"duration": "{{value, duration}}", "duration": "{{value, duration}}",
"months": "mo", "months": "",
"days": "d", "days": "",
"hours": "h", "hours": "",
"minutes": "m", "minutes": "",
"seconds": "s" "seconds": ""
}, },
"widget": { "widget": {
"missing_type": "없는 위젯 유형: {{type}}", "missing_type": "없는 위젯 유형: {{type}}",
@ -51,7 +51,7 @@
}, },
"unifi": { "unifi": {
"users": "사용자", "users": "사용자",
"uptime": "Uptime", "uptime": "가동 시간",
"days": "일", "days": "일",
"wan": "WAN", "wan": "WAN",
"lan": "LAN", "lan": "LAN",
@ -141,14 +141,16 @@
"connectionStatusDisconnecting": "연결을 끊는 중...", "connectionStatusDisconnecting": "연결을 끊는 중...",
"connectionStatusDisconnected": "연결 끊김", "connectionStatusDisconnected": "연결 끊김",
"connectionStatusConnected": "연결됨", "connectionStatusConnected": "연결됨",
"uptime": "Uptime", "uptime": "가동 시간",
"maxDown": "Max. Down", "maxDown": "Max. Down",
"maxUp": "Max. Up", "maxUp": "Max. Up",
"down": "Down", "down": "Down",
"up": "Up", "up": "Up",
"received": "수신됨", "received": "수신됨",
"sent": "전송됨", "sent": "전송됨",
"externalIPAddress": "Ext. IP" "externalIPAddress": "Ext. IP",
"externalIPv6Address": "Ext. IPv6",
"externalIPv6Prefix": "Ext. IPv6-Prefix"
}, },
"caddy": { "caddy": {
"upstreams": "Upstreams", "upstreams": "Upstreams",
@ -176,7 +178,7 @@
"connectedAp": "연결된 AP", "connectedAp": "연결된 AP",
"activeUser": "활성 장치", "activeUser": "활성 장치",
"alerts": "경고", "alerts": "경고",
"connectedGateway": "연결된 게이트웨이", "connectedGateways": "Connected gateways",
"connectedSwitches": "연결된 스위치" "connectedSwitches": "연결된 스위치"
}, },
"nzbget": { "nzbget": {
@ -186,7 +188,7 @@
}, },
"plex": { "plex": {
"streams": "활성 스트림", "streams": "활성 스트림",
"albums": "Albums", "albums": "앨범",
"movies": "영화", "movies": "영화",
"tv": "TV 쇼" "tv": "TV 쇼"
}, },
@ -438,8 +440,8 @@
"total": "총합", "total": "총합",
"free": "남음", "free": "남음",
"used": "사용", "used": "사용",
"days": "d", "days": "",
"hours": "h", "hours": "",
"crit": "Crit", "crit": "Crit",
"read": "읽음", "read": "읽음",
"write": "쓰기", "write": "쓰기",
@ -554,7 +556,7 @@
}, },
"truenas": { "truenas": {
"load": "System Load", "load": "System Load",
"uptime": "Uptime", "uptime": "가동 시간",
"alerts": "경고" "alerts": "경고"
}, },
"pyload": { "pyload": {
@ -604,7 +606,7 @@
"mikrotik": { "mikrotik": {
"cpuLoad": "CPU Load", "cpuLoad": "CPU Load",
"memoryUsed": "메모리 사용량", "memoryUsed": "메모리 사용량",
"uptime": "Uptime", "uptime": "가동 시간",
"numberOfLeases": "Leases" "numberOfLeases": "Leases"
}, },
"xteve": { "xteve": {
@ -665,9 +667,9 @@
"uptimekuma": { "uptimekuma": {
"up": "Sites Up", "up": "Sites Up",
"down": "Sites Down", "down": "Sites Down",
"uptime": "Uptime", "uptime": "가동 시간",
"incident": "Incident", "incident": "Incident",
"m": "m" "m": ""
}, },
"atsumeru": { "atsumeru": {
"series": "시리즈", "series": "시리즈",
@ -682,7 +684,7 @@
}, },
"diskstation": { "diskstation": {
"days": "일", "days": "일",
"uptime": "Uptime", "uptime": "가동 시간",
"volumeAvailable": "이용 가능" "volumeAvailable": "이용 가능"
}, },
"mylar": { "mylar": {
@ -691,7 +693,7 @@
"wanted": "요청" "wanted": "요청"
}, },
"photoprism": { "photoprism": {
"albums": "Albums", "albums": "앨범",
"photos": "사진", "photos": "사진",
"videos": "동영상", "videos": "동영상",
"people": "People" "people": "People"
@ -702,6 +704,10 @@
"processed": "처리됨", "processed": "처리됨",
"time": "Time" "time": "Time"
}, },
"firefly": {
"networth": "순자산",
"budget": "예산"
},
"grafana": { "grafana": {
"dashboards": "대시보드", "dashboards": "대시보드",
"datasources": "Data Sources", "datasources": "Data Sources",
@ -740,7 +746,7 @@
"gatus": { "gatus": {
"up": "Sites Up", "up": "Sites Up",
"down": "Sites Down", "down": "Sites Down",
"uptime": "Uptime" "uptime": "가동 시간"
}, },
"ghostfolio": { "ghostfolio": {
"gross_percent_today": "오늘", "gross_percent_today": "오늘",
@ -810,7 +816,7 @@
"totalUsed": "Used Storage" "totalUsed": "Used Storage"
}, },
"mealie": { "mealie": {
"recipes": "Recipes", "recipes": "레시피",
"users": "사용자", "users": "사용자",
"categories": "분류", "categories": "분류",
"tags": "태그" "tags": "태그"
@ -824,7 +830,7 @@
"failed": "Failed" "failed": "Failed"
}, },
"openwrt": { "openwrt": {
"uptime": "Uptime", "uptime": "가동 시간",
"cpuLoad": "CPU Load Avg (5m)", "cpuLoad": "CPU Load Avg (5m)",
"up": "Up", "up": "Up",
"down": "Down", "down": "Down",
@ -833,7 +839,7 @@
}, },
"uptimerobot": { "uptimerobot": {
"status": "상태", "status": "상태",
"uptime": "Uptime", "uptime": "가동 시간",
"lastDown": "Last Downtime", "lastDown": "Last Downtime",
"downDuration": "Downtime Duration", "downDuration": "Downtime Duration",
"sitesUp": "Sites Up", "sitesUp": "Sites Up",
@ -879,7 +885,8 @@
"gitea": { "gitea": {
"notifications": "알림", "notifications": "알림",
"issues": "Issues", "issues": "Issues",
"pulls": "Pull Requests" "pulls": "Pull Requests",
"repositories": "Repositories"
}, },
"stash": { "stash": {
"scenes": "장면", "scenes": "장면",
@ -899,7 +906,7 @@
}, },
"tandoor": { "tandoor": {
"users": "사용자", "users": "사용자",
"recipes": "Recipes", "recipes": "레시피",
"keywords": "키워드" "keywords": "키워드"
}, },
"homebox": { "homebox": {
@ -940,7 +947,7 @@
}, },
"frigate": { "frigate": {
"cameras": "카메라", "cameras": "카메라",
"uptime": "Uptime", "uptime": "가동 시간",
"version": "버전" "version": "버전"
}, },
"linkwarden": { "linkwarden": {
@ -1010,5 +1017,30 @@
"issues": "Issues", "issues": "Issues",
"merges": "Merge Requests", "merges": "Merge Requests",
"projects": "Projects" "projects": "Projects"
},
"apcups": {
"status": "상태",
"load": "부하",
"bcharge": "배터리 충전 중",
"timeleft": "남은 시간"
},
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "태그"
},
"slskd": {
"slskStatus": "네트워크",
"connected": "연결됨",
"disconnected": "연결 끊김",
"updateStatus": "Update",
"update_yes": "이용 가능",
"update_no": "최신 상태",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "파일"
} }
} }

View file

@ -148,7 +148,9 @@
"up": "Up", "up": "Up",
"received": "Received", "received": "Received",
"sent": "Sent", "sent": "Sent",
"externalIPAddress": "Ext. IP" "externalIPAddress": "Ext. IP",
"externalIPv6Address": "Ext. IPv6",
"externalIPv6Prefix": "Ext. IPv6-Prefix"
}, },
"caddy": { "caddy": {
"upstreams": "Upstreams", "upstreams": "Upstreams",
@ -176,7 +178,7 @@
"connectedAp": "Savienotie piekļuves punkti", "connectedAp": "Savienotie piekļuves punkti",
"activeUser": "Aktīvās ierīces", "activeUser": "Aktīvās ierīces",
"alerts": "Paziņojumi", "alerts": "Paziņojumi",
"connectedGateway": "Savienotās vārtejas", "connectedGateways": "Connected gateways",
"connectedSwitches": "Savienotie komutatori" "connectedSwitches": "Savienotie komutatori"
}, },
"nzbget": { "nzbget": {
@ -702,6 +704,10 @@
"processed": "Processed", "processed": "Processed",
"time": "Time" "time": "Time"
}, },
"firefly": {
"networth": "Net Worth",
"budget": "Budget"
},
"grafana": { "grafana": {
"dashboards": "Dashboards", "dashboards": "Dashboards",
"datasources": "Data Sources", "datasources": "Data Sources",
@ -879,7 +885,8 @@
"gitea": { "gitea": {
"notifications": "Notifications", "notifications": "Notifications",
"issues": "Issues", "issues": "Issues",
"pulls": "Pull Requests" "pulls": "Pull Requests",
"repositories": "Repositories"
}, },
"stash": { "stash": {
"scenes": "Scenes", "scenes": "Scenes",
@ -1010,5 +1017,30 @@
"issues": "Issues", "issues": "Issues",
"merges": "Merge Requests", "merges": "Merge Requests",
"projects": "Projects" "projects": "Projects"
},
"apcups": {
"status": "Statuss",
"load": "Ielādē",
"bcharge": "Battery Charge",
"timeleft": "Atlikušais laiks"
},
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Tags"
},
"slskd": {
"slskStatus": "Network",
"connected": "Connected",
"disconnected": "Disconnected",
"updateStatus": "Update",
"update_yes": "Available",
"update_no": "Up to Date",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "Files"
} }
} }

View file

@ -148,7 +148,9 @@
"up": "Hidup", "up": "Hidup",
"received": "Diterima", "received": "Diterima",
"sent": "Telah dihantar", "sent": "Telah dihantar",
"externalIPAddress": "IP Luaran" "externalIPAddress": "IP Luaran",
"externalIPv6Address": "Ext. IPv6",
"externalIPv6Prefix": "Ext. IPv6-Prefix"
}, },
"caddy": { "caddy": {
"upstreams": "Upstreams", "upstreams": "Upstreams",
@ -176,7 +178,7 @@
"connectedAp": "Connected APs", "connectedAp": "Connected APs",
"activeUser": "Peranti aktif", "activeUser": "Peranti aktif",
"alerts": "Perhatian", "alerts": "Perhatian",
"connectedGateway": "Connected gateways", "connectedGateways": "Connected gateways",
"connectedSwitches": "Connected switches" "connectedSwitches": "Connected switches"
}, },
"nzbget": { "nzbget": {
@ -702,6 +704,10 @@
"processed": "Sudah diprosess", "processed": "Sudah diprosess",
"time": "Time" "time": "Time"
}, },
"firefly": {
"networth": "Net Worth",
"budget": "Budget"
},
"grafana": { "grafana": {
"dashboards": "Dashboards", "dashboards": "Dashboards",
"datasources": "Data Sources", "datasources": "Data Sources",
@ -879,7 +885,8 @@
"gitea": { "gitea": {
"notifications": "Notifications", "notifications": "Notifications",
"issues": "Issues", "issues": "Issues",
"pulls": "Pull Requests" "pulls": "Pull Requests",
"repositories": "Repositories"
}, },
"stash": { "stash": {
"scenes": "Adegan", "scenes": "Adegan",
@ -1010,5 +1017,30 @@
"issues": "Issues", "issues": "Issues",
"merges": "Merge Requests", "merges": "Merge Requests",
"projects": "Projects" "projects": "Projects"
},
"apcups": {
"status": "Status",
"load": "Beban",
"bcharge": "Bateri dicas",
"timeleft": "Masa Tinggal"
},
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Tanda nama"
},
"slskd": {
"slskStatus": "Rangkaian",
"connected": "Connected",
"disconnected": "Sambungan Terputus",
"updateStatus": "Update",
"update_yes": "Sudah Ada",
"update_no": "Terkemaskini",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "Files"
} }
} }

View file

@ -148,7 +148,9 @@
"up": "Online", "up": "Online",
"received": "Ontvangen", "received": "Ontvangen",
"sent": "Verzonden", "sent": "Verzonden",
"externalIPAddress": "Ext. IP" "externalIPAddress": "Ext. IP",
"externalIPv6Address": "Ext. IPv6",
"externalIPv6Prefix": "Ext. IPv6-Prefix"
}, },
"caddy": { "caddy": {
"upstreams": "Upstreams", "upstreams": "Upstreams",
@ -176,7 +178,7 @@
"connectedAp": "Verbonden APs", "connectedAp": "Verbonden APs",
"activeUser": "Actieve apparaten", "activeUser": "Actieve apparaten",
"alerts": "Meldingen", "alerts": "Meldingen",
"connectedGateway": "Verbonden gateways", "connectedGateways": "Connected gateways",
"connectedSwitches": "Verbonden switches" "connectedSwitches": "Verbonden switches"
}, },
"nzbget": { "nzbget": {
@ -702,6 +704,10 @@
"processed": "Verwerkt", "processed": "Verwerkt",
"time": "Tijd" "time": "Tijd"
}, },
"firefly": {
"networth": "Net Worth",
"budget": "Budget"
},
"grafana": { "grafana": {
"dashboards": "Dashboards", "dashboards": "Dashboards",
"datasources": "Data Bronnen", "datasources": "Data Bronnen",
@ -879,7 +885,8 @@
"gitea": { "gitea": {
"notifications": "Notificaties", "notifications": "Notificaties",
"issues": "Problemen", "issues": "Problemen",
"pulls": "Pull Requests" "pulls": "Pull Requests",
"repositories": "Repositories"
}, },
"stash": { "stash": {
"scenes": "Scènes", "scenes": "Scènes",
@ -1010,5 +1017,30 @@
"issues": "Problemen", "issues": "Problemen",
"merges": "Merge Verzoeken", "merges": "Merge Verzoeken",
"projects": "Projecten" "projects": "Projecten"
},
"apcups": {
"status": "Status",
"load": "Belasting",
"bcharge": "Batterij opladen",
"timeleft": "Resterende Tijd"
},
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Label"
},
"slskd": {
"slskStatus": "Netwerk",
"connected": "Verbonden",
"disconnected": "Verbinding verbroken",
"updateStatus": "Update",
"update_yes": "Beschikbaar",
"update_no": "Bijgewerkt",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "Bestanden"
} }
} }

View file

@ -148,7 +148,9 @@
"up": "Oppe", "up": "Oppe",
"received": "Mottatt", "received": "Mottatt",
"sent": "Sendt", "sent": "Sendt",
"externalIPAddress": "Ekstern IP" "externalIPAddress": "Ekstern IP",
"externalIPv6Address": "Ext. IPv6",
"externalIPv6Prefix": "Ext. IPv6-Prefix"
}, },
"caddy": { "caddy": {
"upstreams": "Oppstrøms", "upstreams": "Oppstrøms",
@ -176,7 +178,7 @@
"connectedAp": "Tilkoblede AP'er", "connectedAp": "Tilkoblede AP'er",
"activeUser": "Aktive enheter", "activeUser": "Aktive enheter",
"alerts": "Varsler", "alerts": "Varsler",
"connectedGateway": "Tilkoblede gateways", "connectedGateways": "Connected gateways",
"connectedSwitches": "Tilkoblede switcher" "connectedSwitches": "Tilkoblede switcher"
}, },
"nzbget": { "nzbget": {
@ -702,6 +704,10 @@
"processed": "Behandlet", "processed": "Behandlet",
"time": "Time" "time": "Time"
}, },
"firefly": {
"networth": "Net Worth",
"budget": "Budget"
},
"grafana": { "grafana": {
"dashboards": "Dashboards", "dashboards": "Dashboards",
"datasources": "Data Sources", "datasources": "Data Sources",
@ -879,7 +885,8 @@
"gitea": { "gitea": {
"notifications": "Varslinger", "notifications": "Varslinger",
"issues": "Issues", "issues": "Issues",
"pulls": "Forespørsel" "pulls": "Forespørsel",
"repositories": "Repositories"
}, },
"stash": { "stash": {
"scenes": "Scener", "scenes": "Scener",
@ -1010,5 +1017,30 @@
"issues": "Issues", "issues": "Issues",
"merges": "Merge Requests", "merges": "Merge Requests",
"projects": "Projects" "projects": "Projects"
},
"apcups": {
"status": "Status",
"load": "Last",
"bcharge": "Batteriladning",
"timeleft": "Gjenstående tid"
},
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Stikkord"
},
"slskd": {
"slskStatus": "Nettverk",
"connected": "Tilkoblet",
"disconnected": "Frakoblet",
"updateStatus": "Update",
"update_yes": "Tilgjengelig",
"update_no": "Oppdatert",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "Files"
} }
} }

View file

@ -148,7 +148,9 @@
"up": "Dostępny", "up": "Dostępny",
"received": "Odebrane", "received": "Odebrane",
"sent": "Wysłane", "sent": "Wysłane",
"externalIPAddress": "Pub. IP" "externalIPAddress": "Pub. IP",
"externalIPv6Address": "Zewn. IPv6",
"externalIPv6Prefix": "Zewn. prefiks IPv6"
}, },
"caddy": { "caddy": {
"upstreams": "Upstreams", "upstreams": "Upstreams",
@ -176,7 +178,7 @@
"connectedAp": "Połączone punkty dostępowe", "connectedAp": "Połączone punkty dostępowe",
"activeUser": "Aktywne urządzenia", "activeUser": "Aktywne urządzenia",
"alerts": "Alarmy", "alerts": "Alarmy",
"connectedGateway": "Połączone bramy", "connectedGateways": "Connected gateways",
"connectedSwitches": "Połączone przełączniki" "connectedSwitches": "Połączone przełączniki"
}, },
"nzbget": { "nzbget": {
@ -702,6 +704,10 @@
"processed": "Przetworzone", "processed": "Przetworzone",
"time": "Czas" "time": "Czas"
}, },
"firefly": {
"networth": "Wartość netto",
"budget": "Budżet"
},
"grafana": { "grafana": {
"dashboards": "Panel główny", "dashboards": "Panel główny",
"datasources": "Źródła danych", "datasources": "Źródła danych",
@ -879,7 +885,8 @@
"gitea": { "gitea": {
"notifications": "Powiadomienia", "notifications": "Powiadomienia",
"issues": "Zgłoszenia", "issues": "Zgłoszenia",
"pulls": "Żądania Pull" "pulls": "Żądania Pull",
"repositories": "Repozytoria"
}, },
"stash": { "stash": {
"scenes": "Sceny", "scenes": "Sceny",
@ -1010,5 +1017,30 @@
"issues": "Zgłoszenia", "issues": "Zgłoszenia",
"merges": "Żądania scaleń", "merges": "Żądania scaleń",
"projects": "Projekty" "projects": "Projekty"
},
"apcups": {
"status": "Stan",
"load": "Obciążenie",
"bcharge": "Stan baterii",
"timeleft": "Pozostało"
},
"karakeep": {
"bookmarks": "Zakładki",
"favorites": "Ulubione",
"archived": "Zarchiwizowane",
"highlights": "Wyróżnione",
"lists": "Listy",
"tags": "Tagi"
},
"slskd": {
"slskStatus": "Sieć",
"connected": "Połączono",
"disconnected": "Rozłączono",
"updateStatus": "Update",
"update_yes": "Dostępne",
"update_no": "Aktualny",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "Pliki"
} }
} }

View file

@ -148,7 +148,9 @@
"up": "Up", "up": "Up",
"received": "Recebido", "received": "Recebido",
"sent": "Enviado", "sent": "Enviado",
"externalIPAddress": "Endereço IP Externo" "externalIPAddress": "Endereço IP Externo",
"externalIPv6Address": "Ext. IPv6",
"externalIPv6Prefix": "Ext. IPv6-Prefix"
}, },
"caddy": { "caddy": {
"upstreams": "Upstreams", "upstreams": "Upstreams",
@ -176,7 +178,7 @@
"connectedAp": "APs Ligados", "connectedAp": "APs Ligados",
"activeUser": "Dispositivos activos", "activeUser": "Dispositivos activos",
"alerts": "Alertas", "alerts": "Alertas",
"connectedGateway": "Gateways ligados", "connectedGateways": "Connected gateways",
"connectedSwitches": "Switches ligados" "connectedSwitches": "Switches ligados"
}, },
"nzbget": { "nzbget": {
@ -702,6 +704,10 @@
"processed": "Processado", "processed": "Processado",
"time": "Hora" "time": "Hora"
}, },
"firefly": {
"networth": "Net Worth",
"budget": "Budget"
},
"grafana": { "grafana": {
"dashboards": "Painéis", "dashboards": "Painéis",
"datasources": "Origem de Dados", "datasources": "Origem de Dados",
@ -879,7 +885,8 @@
"gitea": { "gitea": {
"notifications": "Notificações", "notifications": "Notificações",
"issues": "Problemas", "issues": "Problemas",
"pulls": "Solicitar pull" "pulls": "Solicitar pull",
"repositories": "Repositories"
}, },
"stash": { "stash": {
"scenes": "Cenas", "scenes": "Cenas",
@ -1010,5 +1017,30 @@
"issues": "Problemas", "issues": "Problemas",
"merges": "Merge Requests", "merges": "Merge Requests",
"projects": "Projects" "projects": "Projects"
},
"apcups": {
"status": "Estado",
"load": "Carga",
"bcharge": "Carga da bateria",
"timeleft": "Tempo Restante"
},
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Etiquetas"
},
"slskd": {
"slskStatus": "Rede",
"connected": "Conectado",
"disconnected": "Desconectado",
"updateStatus": "Update",
"update_yes": "Disponível",
"update_no": "Atualizado",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "Ficheiros"
} }
} }

View file

@ -47,7 +47,7 @@
"load": "Carga", "load": "Carga",
"temp": "TEMP", "temp": "TEMP",
"max": "Máximo", "max": "Máximo",
"uptime": "CIMA" "uptime": "ATIVO"
}, },
"unifi": { "unifi": {
"users": "Usuários", "users": "Usuários",
@ -61,7 +61,7 @@
"wlan_devices": "Dispositivos WLAN", "wlan_devices": "Dispositivos WLAN",
"lan_users": "Usuários de LAN", "lan_users": "Usuários de LAN",
"wlan_users": "Usuários de WLAN", "wlan_users": "Usuários de WLAN",
"up": "CIMA", "up": "ATIVO",
"down": "Desligado", "down": "Desligado",
"wait": "Por favor, aguarde", "wait": "Por favor, aguarde",
"empty_data": "Status do Subsistema desconhecido" "empty_data": "Status do Subsistema desconhecido"
@ -148,7 +148,9 @@
"up": "Ativo", "up": "Ativo",
"received": "Recebido", "received": "Recebido",
"sent": "Enviado", "sent": "Enviado",
"externalIPAddress": "IP Externo" "externalIPAddress": "IP Externo",
"externalIPv6Address": "IPv6 Externo",
"externalIPv6Prefix": "Prefixo IPv6 Externo"
}, },
"caddy": { "caddy": {
"upstreams": "Streams de Envio", "upstreams": "Streams de Envio",
@ -176,7 +178,7 @@
"connectedAp": "APs Ligados", "connectedAp": "APs Ligados",
"activeUser": "Dispositivos ativos", "activeUser": "Dispositivos ativos",
"alerts": "Alertas", "alerts": "Alertas",
"connectedGateway": "Gateways conectados", "connectedGateways": "Gateways conectados",
"connectedSwitches": "Switches conectados" "connectedSwitches": "Switches conectados"
}, },
"nzbget": { "nzbget": {
@ -227,8 +229,8 @@
"seed": "Semente" "seed": "Semente"
}, },
"develancacheui": { "develancacheui": {
"cachehitbytes": "Cache Hit Bytes", "cachehitbytes": "Bytes de Acerto de Cache",
"cachemissbytes": "Cache Miss Bytes" "cachemissbytes": "Bytes de Falha de Cache"
}, },
"downloadstation": { "downloadstation": {
"download": "Descarregar", "download": "Descarregar",
@ -311,13 +313,13 @@
}, },
"suwayomi": { "suwayomi": {
"download": "Baixado", "download": "Baixado",
"nondownload": "Non-Downloaded", "nondownload": "Não Baixado",
"read": "Lido", "read": "Lido",
"unread": "Não lida", "unread": "Não lida",
"downloadedread": "Downloaded & Read", "downloadedread": "Baixado e Lido",
"downloadedunread": "Downloaded & Unread", "downloadedunread": "Baixado e Não Lido",
"nondownloadedread": "Non-Downloaded & Read", "nondownloadedread": "Não Baixado e Lido",
"nondownloadedunread": "Non-Downloaded & Unread" "nondownloadedunread": "Não Baixado e Não Lido"
}, },
"tailscale": { "tailscale": {
"address": "Endereço", "address": "Endereço",
@ -335,15 +337,15 @@
}, },
"technitium": { "technitium": {
"totalQueries": "Consultas", "totalQueries": "Consultas",
"totalNoError": "Success", "totalNoError": "Sucesso",
"totalServerFailure": "Failures", "totalServerFailure": "Falhas",
"totalNxDomain": "NX Domains", "totalNxDomain": "Domínios NX",
"totalRefused": "Refused", "totalRefused": "Recusado",
"totalAuthoritative": "Authoritative", "totalAuthoritative": "Autoritativo",
"totalRecursive": "Recursive", "totalRecursive": "Recursivo",
"totalCached": "Cached", "totalCached": "Em cache",
"totalBlocked": "Bloqueado", "totalBlocked": "Bloqueado",
"totalDropped": "Dropped", "totalDropped": "Perdidos",
"totalClients": "Clientes" "totalClients": "Clientes"
}, },
"tdarr": { "tdarr": {
@ -434,7 +436,7 @@
"temp": "TEMP", "temp": "TEMP",
"_temp": "Temperatura", "_temp": "Temperatura",
"warn": "Aviso", "warn": "Aviso",
"uptime": "CIMA", "uptime": "ATIVO",
"total": "Total", "total": "Total",
"free": "Livre", "free": "Livre",
"used": "Utilizado", "used": "Utilizado",
@ -702,6 +704,10 @@
"processed": "Processado", "processed": "Processado",
"time": "Hora" "time": "Hora"
}, },
"firefly": {
"networth": "Valor Líquido",
"budget": "Orçamento"
},
"grafana": { "grafana": {
"dashboards": "Painéis", "dashboards": "Painéis",
"datasources": "Origem de Dados", "datasources": "Origem de Dados",
@ -854,16 +860,16 @@
}, },
"romm": { "romm": {
"platforms": "Plataformas", "platforms": "Plataformas",
"totalRoms": "Games", "totalRoms": "Jogos",
"saves": "Saves", "saves": "Saves",
"states": "States", "states": "Estados",
"screenshots": "Screenshots", "screenshots": "Capturas de Tela",
"totalfilesize": "Total Size" "totalfilesize": "Tamanho total"
}, },
"mailcow": { "mailcow": {
"domains": "Domínios", "domains": "Domínios",
"mailboxes": "Mailboxes", "mailboxes": "Caixas de e-mail",
"mails": "Mails", "mails": "Mensagens",
"storage": "Armazenamento" "storage": "Armazenamento"
}, },
"netdata": { "netdata": {
@ -879,7 +885,8 @@
"gitea": { "gitea": {
"notifications": "Notificações", "notifications": "Notificações",
"issues": "Problemas", "issues": "Problemas",
"pulls": "Solicitações de Envio" "pulls": "Solicitações de Envio",
"repositories": "Repositórios"
}, },
"stash": { "stash": {
"scenes": "Cenas", "scenes": "Cenas",
@ -945,30 +952,30 @@
}, },
"linkwarden": { "linkwarden": {
"links": "Links", "links": "Links",
"collections": "Collections", "collections": "Coleções",
"tags": "Marcadores" "tags": "Marcadores"
}, },
"zabbix": { "zabbix": {
"unclassified": "Not classified", "unclassified": "Não classificado",
"information": "Informação", "information": "Informação",
"warning": "Warning", "warning": "Aviso",
"average": "Average", "average": "Médio",
"high": "High", "high": "Alto",
"disaster": "Disaster" "disaster": "Desastre"
}, },
"lubelogger": { "lubelogger": {
"vehicle": "Vehicle", "vehicle": "Veículo",
"vehicles": "Vehicles", "vehicles": "Veículos",
"serviceRecords": "Service Records", "serviceRecords": "Registros de Serviço",
"reminders": "Reminders", "reminders": "Lembretes",
"nextReminder": "Next Reminder", "nextReminder": "Próximo Lembrete",
"none": "None" "none": "Nenhum"
}, },
"vikunja": { "vikunja": {
"projects": "Active Projects", "projects": "Projetos Ativos",
"tasks7d": "Tasks Due This Week", "tasks7d": "Tarefas que vencem nesta semana",
"tasksOverdue": "Overdue Tasks", "tasksOverdue": "Tarefas Atrasadas",
"tasksInProgress": "Tasks In Progress" "tasksInProgress": "Tarefas em Andamento"
}, },
"headscale": { "headscale": {
"name": "Nome", "name": "Nome",
@ -980,7 +987,7 @@
}, },
"beszel": { "beszel": {
"name": "Nome", "name": "Nome",
"systems": "Systems", "systems": "Sistemas",
"up": "Ativo", "up": "Ativo",
"down": "Inativo", "down": "Inativo",
"paused": "Pausado", "paused": "Pausado",
@ -989,26 +996,51 @@
"updated": "Atualizado", "updated": "Atualizado",
"cpu": "CPU", "cpu": "CPU",
"memory": "MEM", "memory": "MEM",
"disk": "Disk", "disk": "Disco",
"network": "NET" "network": "Rede"
}, },
"argocd": { "argocd": {
"apps": "Apps", "apps": "Aplicativos",
"synced": "Synced", "synced": "Sincronizado",
"outOfSync": "Out Of Sync", "outOfSync": "Fora de sincronia",
"healthy": "Saudável", "healthy": "Saudável",
"degraded": "Degraded", "degraded": "Degradado",
"progressing": "Progressing", "progressing": "Progredindo",
"missing": "Faltando", "missing": "Faltando",
"suspended": "Suspended" "suspended": "Suspenso"
}, },
"spoolman": { "spoolman": {
"loading": "Carregando" "loading": "Carregando"
}, },
"gitlab": { "gitlab": {
"groups": "Groups", "groups": "Grupos",
"issues": "Problemas", "issues": "Problemas",
"merges": "Merge Requests", "merges": "Solicitações de mesclagem",
"projects": "Projects" "projects": "Projetos"
},
"apcups": {
"status": "Status",
"load": "Carga",
"bcharge": "Carga da bateria",
"timeleft": "Tempo restante"
},
"karakeep": {
"bookmarks": "Marcadores",
"favorites": "Favoritos",
"archived": "Arquivados",
"highlights": "Destaques",
"lists": "Listas",
"tags": "Marcadores"
},
"slskd": {
"slskStatus": "Rede",
"connected": "Conectado",
"disconnected": "Desconectado",
"updateStatus": "Atualize",
"update_yes": "Disponível",
"update_no": "Atualizado",
"downloads": "Transferências",
"uploads": "Envios",
"sharedFiles": "Arquivos"
} }
} }

View file

@ -148,7 +148,9 @@
"up": "Sus", "up": "Sus",
"received": "Received", "received": "Received",
"sent": "Sent", "sent": "Sent",
"externalIPAddress": "Ext. IP" "externalIPAddress": "Ext. IP",
"externalIPv6Address": "Ext. IPv6",
"externalIPv6Prefix": "Ext. IPv6-Prefix"
}, },
"caddy": { "caddy": {
"upstreams": "Upstreamuri", "upstreams": "Upstreamuri",
@ -176,7 +178,7 @@
"connectedAp": "Connected APs", "connectedAp": "Connected APs",
"activeUser": "Active devices", "activeUser": "Active devices",
"alerts": "Alerts", "alerts": "Alerts",
"connectedGateway": "Connected gateways", "connectedGateways": "Connected gateways",
"connectedSwitches": "Connected switches" "connectedSwitches": "Connected switches"
}, },
"nzbget": { "nzbget": {
@ -702,6 +704,10 @@
"processed": "Processed", "processed": "Processed",
"time": "Time" "time": "Time"
}, },
"firefly": {
"networth": "Net Worth",
"budget": "Budget"
},
"grafana": { "grafana": {
"dashboards": "Dashboards", "dashboards": "Dashboards",
"datasources": "Data Sources", "datasources": "Data Sources",
@ -879,7 +885,8 @@
"gitea": { "gitea": {
"notifications": "Notifications", "notifications": "Notifications",
"issues": "Issues", "issues": "Issues",
"pulls": "Pull Requests" "pulls": "Pull Requests",
"repositories": "Repositories"
}, },
"stash": { "stash": {
"scenes": "Scenes", "scenes": "Scenes",
@ -1010,5 +1017,30 @@
"issues": "Issues", "issues": "Issues",
"merges": "Merge Requests", "merges": "Merge Requests",
"projects": "Projects" "projects": "Projects"
},
"apcups": {
"status": "Stare",
"load": "Sarcină",
"bcharge": "Battery Charge",
"timeleft": "Timp rămas"
},
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Tags"
},
"slskd": {
"slskStatus": "Network",
"connected": "Connected",
"disconnected": "Disconnected",
"updateStatus": "Update",
"update_yes": "Disponibile",
"update_no": "Up to Date",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "Files"
} }
} }

View file

@ -148,7 +148,9 @@
"up": "Онлайн", "up": "Онлайн",
"received": "Получено", "received": "Получено",
"sent": "Отправлено", "sent": "Отправлено",
"externalIPAddress": "Внеш. IP" "externalIPAddress": "Внеш. IP",
"externalIPv6Address": "Внешний IPv6",
"externalIPv6Prefix": "Внешний IPv6 префикс"
}, },
"caddy": { "caddy": {
"upstreams": "Входящие каналы", "upstreams": "Входящие каналы",
@ -176,7 +178,7 @@
"connectedAp": "Подключенные точки доступа", "connectedAp": "Подключенные точки доступа",
"activeUser": "Активные устройства", "activeUser": "Активные устройства",
"alerts": "Предупреждения", "alerts": "Предупреждения",
"connectedGateway": "Подключенные шлюзы", "connectedGateways": "Подключенные шлюзы",
"connectedSwitches": "Подключенные коммутаторы" "connectedSwitches": "Подключенные коммутаторы"
}, },
"nzbget": { "nzbget": {
@ -702,6 +704,10 @@
"processed": "Обработано", "processed": "Обработано",
"time": "Время" "time": "Время"
}, },
"firefly": {
"networth": "Общая средства",
"budget": "Бюджет"
},
"grafana": { "grafana": {
"dashboards": "Панели", "dashboards": "Панели",
"datasources": "Источники данных", "datasources": "Источники данных",
@ -855,7 +861,7 @@
"romm": { "romm": {
"platforms": "Платформы", "platforms": "Платформы",
"totalRoms": "Игры", "totalRoms": "Игры",
"saves": "Сейвы", "saves": "Сохранения",
"states": "Состояния", "states": "Состояния",
"screenshots": "Скриншоты", "screenshots": "Скриншоты",
"totalfilesize": "Общий объем" "totalfilesize": "Общий объем"
@ -879,7 +885,8 @@
"gitea": { "gitea": {
"notifications": "Уведомления", "notifications": "Уведомления",
"issues": "Вопросы", "issues": "Вопросы",
"pulls": "Запросы на слияние (Pull Request)" "pulls": "Запросы на слияние (Pull Request)",
"repositories": "Репозитории"
}, },
"stash": { "stash": {
"scenes": "Сцены", "scenes": "Сцены",
@ -921,7 +928,7 @@
"total": "Всего" "total": "Всего"
}, },
"swagdashboard": { "swagdashboard": {
"proxied": "Прокси", "proxied": "Проксировано",
"auth": "С Авторизацией", "auth": "С Авторизацией",
"outdated": "Устаревшие", "outdated": "Устаревшие",
"banned": "Заблокированные" "banned": "Заблокированные"
@ -952,17 +959,17 @@
"unclassified": "Не классифицировано", "unclassified": "Не классифицировано",
"information": "Информация", "information": "Информация",
"warning": "Предупреждение", "warning": "Предупреждение",
"average": "Средняя", "average": "Среднее",
"high": "Высокая", "high": "Высокая",
"disaster": "Чрезвычайная" "disaster": "Чрезвычайное"
}, },
"lubelogger": { "lubelogger": {
"vehicle": "Автомобиль", "vehicle": "Транспорт",
"vehicles": "Автомобили", "vehicles": "Транспорты",
"serviceRecords": "Сервисные работы", "serviceRecords": "Сервисные записи",
"reminders": "Напоминания", "reminders": "Напоминания",
"nextReminder": "Следующее напоминание", "nextReminder": "Следующее напоминание",
"none": "Нет" "none": "Отсутствует"
}, },
"vikunja": { "vikunja": {
"projects": "Активные Проекты", "projects": "Активные Проекты",
@ -1010,5 +1017,30 @@
"issues": "Вопросы", "issues": "Вопросы",
"merges": "Мердж-реквесты", "merges": "Мердж-реквесты",
"projects": "Проекты" "projects": "Проекты"
},
"apcups": {
"status": "Статус",
"load": "Загрузка",
"bcharge": "Заряд батареи",
"timeleft": "Осталось"
},
"karakeep": {
"bookmarks": "Закладки",
"favorites": "Избранное",
"archived": "Архив",
"highlights": "События",
"lists": "Список",
"tags": "Теги"
},
"slskd": {
"slskStatus": "Сеть",
"connected": "Подключено",
"disconnected": "Отключено",
"updateStatus": "Обновление",
"update_yes": "Доступно",
"update_no": "Последняя версия",
"downloads": "Скачивания",
"uploads": "Загрузки",
"sharedFiles": "Файлов"
} }
} }

View file

@ -148,7 +148,9 @@
"up": "Nahrávanie", "up": "Nahrávanie",
"received": "Prijaté", "received": "Prijaté",
"sent": "Odoslané", "sent": "Odoslané",
"externalIPAddress": "Ext. IP" "externalIPAddress": "Ext. IP",
"externalIPv6Address": "Ext. IPv6",
"externalIPv6Prefix": "Ext. IPv6-Prefix"
}, },
"caddy": { "caddy": {
"upstreams": "Odosielanie dát", "upstreams": "Odosielanie dát",
@ -176,7 +178,7 @@
"connectedAp": "Pripojené prístupové body", "connectedAp": "Pripojené prístupové body",
"activeUser": "Aktívne zariadenia", "activeUser": "Aktívne zariadenia",
"alerts": "Upozornenia", "alerts": "Upozornenia",
"connectedGateway": "Pripojené sieťové brány", "connectedGateways": "Connected gateways",
"connectedSwitches": "Pripojené prepínače" "connectedSwitches": "Pripojené prepínače"
}, },
"nzbget": { "nzbget": {
@ -702,6 +704,10 @@
"processed": "Spracované", "processed": "Spracované",
"time": "Čas" "time": "Čas"
}, },
"firefly": {
"networth": "Net Worth",
"budget": "Budget"
},
"grafana": { "grafana": {
"dashboards": "Panely", "dashboards": "Panely",
"datasources": "Zdroje dát", "datasources": "Zdroje dát",
@ -879,7 +885,8 @@
"gitea": { "gitea": {
"notifications": "Oznámenia", "notifications": "Oznámenia",
"issues": "Problémy", "issues": "Problémy",
"pulls": "Pull requesty" "pulls": "Pull requesty",
"repositories": "Repositories"
}, },
"stash": { "stash": {
"scenes": "Scény", "scenes": "Scény",
@ -1010,5 +1017,30 @@
"issues": "Problémy", "issues": "Problémy",
"merges": "Merge Requests", "merges": "Merge Requests",
"projects": "Projects" "projects": "Projects"
},
"apcups": {
"status": "Stav",
"load": "Záťaž",
"bcharge": "Nabitie batérie",
"timeleft": "Zostávajúci čas"
},
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Štítky"
},
"slskd": {
"slskStatus": "Sieť",
"connected": "Pripojené",
"disconnected": "Odpojené",
"updateStatus": "Update",
"update_yes": "Dostupné",
"update_no": "Aktuálny",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "Súborov"
} }
} }

View file

@ -148,7 +148,9 @@
"up": "Povezan", "up": "Povezan",
"received": "Prejeto", "received": "Prejeto",
"sent": "Poslano", "sent": "Poslano",
"externalIPAddress": "Zun. IP" "externalIPAddress": "Zun. IP",
"externalIPv6Address": "Eks. IPv6",
"externalIPv6Prefix": "Eks. IPv6-predpona"
}, },
"caddy": { "caddy": {
"upstreams": "Pretok gor", "upstreams": "Pretok gor",
@ -176,7 +178,7 @@
"connectedAp": "Povezanih AP", "connectedAp": "Povezanih AP",
"activeUser": "Aktivne naprave", "activeUser": "Aktivne naprave",
"alerts": "Opozorila", "alerts": "Opozorila",
"connectedGateway": "Povezan prehod", "connectedGateways": "Povezani prehodi",
"connectedSwitches": "Povezana stikala" "connectedSwitches": "Povezana stikala"
}, },
"nzbget": { "nzbget": {
@ -702,6 +704,10 @@
"processed": "Procesiran", "processed": "Procesiran",
"time": "Čas" "time": "Čas"
}, },
"firefly": {
"networth": "Neto vrednost",
"budget": "Proračun"
},
"grafana": { "grafana": {
"dashboards": "Nadzorne plošče", "dashboards": "Nadzorne plošče",
"datasources": "Viri podatkov", "datasources": "Viri podatkov",
@ -879,7 +885,8 @@
"gitea": { "gitea": {
"notifications": "Obvestila", "notifications": "Obvestila",
"issues": "Težave", "issues": "Težave",
"pulls": "Zahteve za prenos" "pulls": "Zahteve za prenos",
"repositories": "Repositories"
}, },
"stash": { "stash": {
"scenes": "Scene", "scenes": "Scene",
@ -1010,5 +1017,30 @@
"issues": "Težave", "issues": "Težave",
"merges": "Združi zahtevke", "merges": "Združi zahtevke",
"projects": "Projekti" "projects": "Projekti"
},
"apcups": {
"status": "Stanje",
"load": "Bremenitev",
"bcharge": "Napolnjenost baterije",
"timeleft": "Preostali čas"
},
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Značke"
},
"slskd": {
"slskStatus": "Omrežje",
"connected": "Povezan",
"disconnected": "Prekinjeno",
"updateStatus": "Update",
"update_yes": "Na voljo",
"update_no": "Posodobljeno",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "Datotek"
} }
} }

View file

@ -148,7 +148,9 @@
"up": "Up", "up": "Up",
"received": "Received", "received": "Received",
"sent": "Sent", "sent": "Sent",
"externalIPAddress": "Ext. IP" "externalIPAddress": "Ext. IP",
"externalIPv6Address": "Ext. IPv6",
"externalIPv6Prefix": "Ext. IPv6-Prefix"
}, },
"caddy": { "caddy": {
"upstreams": "Upstreams", "upstreams": "Upstreams",
@ -176,7 +178,7 @@
"connectedAp": "Connected APs", "connectedAp": "Connected APs",
"activeUser": "Active devices", "activeUser": "Active devices",
"alerts": "Alerts", "alerts": "Alerts",
"connectedGateway": "Connected gateways", "connectedGateways": "Connected gateways",
"connectedSwitches": "Connected switches" "connectedSwitches": "Connected switches"
}, },
"nzbget": { "nzbget": {
@ -702,6 +704,10 @@
"processed": "Processed", "processed": "Processed",
"time": "Time" "time": "Time"
}, },
"firefly": {
"networth": "Net Worth",
"budget": "Budget"
},
"grafana": { "grafana": {
"dashboards": "Dashboards", "dashboards": "Dashboards",
"datasources": "Data Sources", "datasources": "Data Sources",
@ -879,7 +885,8 @@
"gitea": { "gitea": {
"notifications": "Notifications", "notifications": "Notifications",
"issues": "Issues", "issues": "Issues",
"pulls": "Pull Requests" "pulls": "Pull Requests",
"repositories": "Repositories"
}, },
"stash": { "stash": {
"scenes": "Scenes", "scenes": "Scenes",
@ -1010,5 +1017,30 @@
"issues": "Issues", "issues": "Issues",
"merges": "Merge Requests", "merges": "Merge Requests",
"projects": "Projects" "projects": "Projects"
},
"apcups": {
"status": "Status",
"load": "Load",
"bcharge": "Battery Charge",
"timeleft": "Time Left"
},
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Tags"
},
"slskd": {
"slskStatus": "Network",
"connected": "Connected",
"disconnected": "Disconnected",
"updateStatus": "Update",
"update_yes": "Available",
"update_no": "Up to Date",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "Files"
} }
} }

View file

@ -148,7 +148,9 @@
"up": "Up", "up": "Up",
"received": "Received", "received": "Received",
"sent": "Sent", "sent": "Sent",
"externalIPAddress": "Ext. IP" "externalIPAddress": "Ext. IP",
"externalIPv6Address": "Ext. IPv6",
"externalIPv6Prefix": "Ext. IPv6-Prefix"
}, },
"caddy": { "caddy": {
"upstreams": "Upstreams", "upstreams": "Upstreams",
@ -176,7 +178,7 @@
"connectedAp": "Connected APs", "connectedAp": "Connected APs",
"activeUser": "Active devices", "activeUser": "Active devices",
"alerts": "Alerts", "alerts": "Alerts",
"connectedGateway": "Connected gateways", "connectedGateways": "Connected gateways",
"connectedSwitches": "Connected switches" "connectedSwitches": "Connected switches"
}, },
"nzbget": { "nzbget": {
@ -702,6 +704,10 @@
"processed": "Processed", "processed": "Processed",
"time": "Time" "time": "Time"
}, },
"firefly": {
"networth": "Net Worth",
"budget": "Budget"
},
"grafana": { "grafana": {
"dashboards": "Dashboards", "dashboards": "Dashboards",
"datasources": "Data Sources", "datasources": "Data Sources",
@ -879,7 +885,8 @@
"gitea": { "gitea": {
"notifications": "Notifications", "notifications": "Notifications",
"issues": "Issues", "issues": "Issues",
"pulls": "Pull Requests" "pulls": "Pull Requests",
"repositories": "Repositories"
}, },
"stash": { "stash": {
"scenes": "Scenes", "scenes": "Scenes",
@ -1010,5 +1017,30 @@
"issues": "Issues", "issues": "Issues",
"merges": "Merge Requests", "merges": "Merge Requests",
"projects": "Projects" "projects": "Projects"
},
"apcups": {
"status": "Status",
"load": "Laddar",
"bcharge": "Battery Charge",
"timeleft": "Tid kvar"
},
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Tags"
},
"slskd": {
"slskStatus": "Network",
"connected": "Connected",
"disconnected": "Disconnected",
"updateStatus": "Update",
"update_yes": "Tillgänglig",
"update_no": "Up to Date",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "Files"
} }
} }

View file

@ -148,7 +148,9 @@
"up": "Up", "up": "Up",
"received": "Received", "received": "Received",
"sent": "Sent", "sent": "Sent",
"externalIPAddress": "Ext. IP" "externalIPAddress": "Ext. IP",
"externalIPv6Address": "Ext. IPv6",
"externalIPv6Prefix": "Ext. IPv6-Prefix"
}, },
"caddy": { "caddy": {
"upstreams": "Upstreams", "upstreams": "Upstreams",
@ -176,7 +178,7 @@
"connectedAp": "Connected APs", "connectedAp": "Connected APs",
"activeUser": "Active devices", "activeUser": "Active devices",
"alerts": "Alerts", "alerts": "Alerts",
"connectedGateway": "Connected gateways", "connectedGateways": "Connected gateways",
"connectedSwitches": "Connected switches" "connectedSwitches": "Connected switches"
}, },
"nzbget": { "nzbget": {
@ -702,6 +704,10 @@
"processed": "Processed", "processed": "Processed",
"time": "Time" "time": "Time"
}, },
"firefly": {
"networth": "Net Worth",
"budget": "Budget"
},
"grafana": { "grafana": {
"dashboards": "Dashboards", "dashboards": "Dashboards",
"datasources": "Data Sources", "datasources": "Data Sources",
@ -879,7 +885,8 @@
"gitea": { "gitea": {
"notifications": "Notifications", "notifications": "Notifications",
"issues": "Issues", "issues": "Issues",
"pulls": "Pull Requests" "pulls": "Pull Requests",
"repositories": "Repositories"
}, },
"stash": { "stash": {
"scenes": "Scenes", "scenes": "Scenes",
@ -1010,5 +1017,30 @@
"issues": "Issues", "issues": "Issues",
"merges": "Merge Requests", "merges": "Merge Requests",
"projects": "Projects" "projects": "Projects"
},
"apcups": {
"status": "హోదా",
"load": "లోడ్",
"bcharge": "Battery Charge",
"timeleft": "మిగిలి వున్న సమయం"
},
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Tags"
},
"slskd": {
"slskStatus": "Network",
"connected": "Connected",
"disconnected": "Disconnected",
"updateStatus": "Update",
"update_yes": "అందుబాటులో వున్నవి",
"update_no": "తాజాగా",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "Files"
} }
} }

View file

@ -148,7 +148,9 @@
"up": "Up", "up": "Up",
"received": "Received", "received": "Received",
"sent": "Sent", "sent": "Sent",
"externalIPAddress": "Ext. IP" "externalIPAddress": "Ext. IP",
"externalIPv6Address": "Ext. IPv6",
"externalIPv6Prefix": "Ext. IPv6-Prefix"
}, },
"caddy": { "caddy": {
"upstreams": "Upstreams", "upstreams": "Upstreams",
@ -176,7 +178,7 @@
"connectedAp": "Connected APs", "connectedAp": "Connected APs",
"activeUser": "Active devices", "activeUser": "Active devices",
"alerts": "Alerts", "alerts": "Alerts",
"connectedGateway": "Connected gateways", "connectedGateways": "Connected gateways",
"connectedSwitches": "Connected switches" "connectedSwitches": "Connected switches"
}, },
"nzbget": { "nzbget": {
@ -702,6 +704,10 @@
"processed": "Processed", "processed": "Processed",
"time": "Time" "time": "Time"
}, },
"firefly": {
"networth": "Net Worth",
"budget": "Budget"
},
"grafana": { "grafana": {
"dashboards": "Dashboards", "dashboards": "Dashboards",
"datasources": "Data Sources", "datasources": "Data Sources",
@ -879,7 +885,8 @@
"gitea": { "gitea": {
"notifications": "Notifications", "notifications": "Notifications",
"issues": "Issues", "issues": "Issues",
"pulls": "Pull Requests" "pulls": "Pull Requests",
"repositories": "Repositories"
}, },
"stash": { "stash": {
"scenes": "Scenes", "scenes": "Scenes",
@ -1010,5 +1017,30 @@
"issues": "Issues", "issues": "Issues",
"merges": "Merge Requests", "merges": "Merge Requests",
"projects": "Projects" "projects": "Projects"
},
"apcups": {
"status": "สถานะ",
"load": "โหลด",
"bcharge": "Battery Charge",
"timeleft": "Time Left"
},
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Tags"
},
"slskd": {
"slskStatus": "Network",
"connected": "Connected",
"disconnected": "Disconnected",
"updateStatus": "Update",
"update_yes": "Available",
"update_no": "Up to Date",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "Files"
} }
} }

View file

@ -148,7 +148,9 @@
"up": "Yükleme", "up": "Yükleme",
"received": "Alınan", "received": "Alınan",
"sent": "Gönderilen", "sent": "Gönderilen",
"externalIPAddress": "Harici IP" "externalIPAddress": "Harici IP",
"externalIPv6Address": "Ext. IPv6",
"externalIPv6Prefix": "Ext. IPv6-Prefix"
}, },
"caddy": { "caddy": {
"upstreams": "Akış", "upstreams": "Akış",
@ -176,7 +178,7 @@
"connectedAp": "Bağlı AP'ler", "connectedAp": "Bağlı AP'ler",
"activeUser": "Aktif cihazlar", "activeUser": "Aktif cihazlar",
"alerts": "Alarmlar", "alerts": "Alarmlar",
"connectedGateway": "Bağlı ağ geçitleri", "connectedGateways": "Connected gateways",
"connectedSwitches": "Bağlı anahtarlar" "connectedSwitches": "Bağlı anahtarlar"
}, },
"nzbget": { "nzbget": {
@ -702,6 +704,10 @@
"processed": "İşlendi", "processed": "İşlendi",
"time": "Zaman" "time": "Zaman"
}, },
"firefly": {
"networth": "Net Worth",
"budget": "Budget"
},
"grafana": { "grafana": {
"dashboards": "Kontrol Paneli", "dashboards": "Kontrol Paneli",
"datasources": "Veri Kaynakları", "datasources": "Veri Kaynakları",
@ -879,7 +885,8 @@
"gitea": { "gitea": {
"notifications": "Bildirimler", "notifications": "Bildirimler",
"issues": "Sorunlar", "issues": "Sorunlar",
"pulls": "Değişiklik İstekleri" "pulls": "Değişiklik İstekleri",
"repositories": "Repositories"
}, },
"stash": { "stash": {
"scenes": "Sahneler", "scenes": "Sahneler",
@ -1010,5 +1017,30 @@
"issues": "Sorunlar", "issues": "Sorunlar",
"merges": "Merge Requests", "merges": "Merge Requests",
"projects": "Projects" "projects": "Projects"
},
"apcups": {
"status": "Durum",
"load": "Yük",
"bcharge": "Pil Yüzdesi",
"timeleft": "Kalan Zaman"
},
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Etiketler"
},
"slskd": {
"slskStatus": "Ağ",
"connected": "Bağlandı",
"disconnected": "Bağlantı kesildi",
"updateStatus": "Update",
"update_yes": "Kullanılabilir",
"update_no": "Güncel",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "Dosyalar"
} }
} }

View file

@ -120,7 +120,7 @@
"grid_power": "Сітка", "grid_power": "Сітка",
"home_power": "Споживання", "home_power": "Споживання",
"charge_power": "Зарядний пристрій", "charge_power": "Зарядний пристрій",
"kilowatt": "kW" "kilowatt": "кВт"
}, },
"flood": { "flood": {
"download": "Завантажено", "download": "Завантажено",
@ -148,7 +148,9 @@
"up": "Онлайн", "up": "Онлайн",
"received": "Отримано", "received": "Отримано",
"sent": "Надіслано", "sent": "Надіслано",
"externalIPAddress": "Зовнішній IP" "externalIPAddress": "Зовнішній IP",
"externalIPv6Address": "Зовнішній IPv6",
"externalIPv6Prefix": "Зовнішній Префікс IPv6-"
}, },
"caddy": { "caddy": {
"upstreams": "Потоки", "upstreams": "Потоки",
@ -176,7 +178,7 @@
"connectedAp": "Підключені точки доступу", "connectedAp": "Підключені точки доступу",
"activeUser": "Активні пристрої", "activeUser": "Активні пристрої",
"alerts": "Оповіщення", "alerts": "Оповіщення",
"connectedGateway": "Підключені шлюзи", "connectedGateways": "Підключені шлюзи",
"connectedSwitches": "Підключені перемикачі" "connectedSwitches": "Підключені перемикачі"
}, },
"nzbget": { "nzbget": {
@ -285,13 +287,13 @@
"total": "Усього", "total": "Усього",
"connected": "З'єднано", "connected": "З'єднано",
"new_devices": "Нові пристрої", "new_devices": "Нові пристрої",
"down_alerts": "Спов. про падіння" "down_alerts": "Сповіщення про падіння"
}, },
"pihole": { "pihole": {
"queries": "Запити", "queries": "Запити",
"blocked": "Заблоковано", "blocked": "Заблоковано",
"blocked_percent": "Заблоковано %", "blocked_percent": "Заблоковано %",
"gravity": "Гравітація" "gravity": "Доменів в списку"
}, },
"adguard": { "adguard": {
"queries": "Запити", "queries": "Запити",
@ -418,8 +420,8 @@
}, },
"authentik": { "authentik": {
"users": "Користувачі", "users": "Користувачі",
"loginsLast24H": "Вхід (24 години)", "loginsLast24H": "Вхід (протягом доби)",
"failedLoginsLast24H": "Невдалі входи (24 години)" "failedLoginsLast24H": "Невдалі входи (протягом доби)"
}, },
"proxmox": { "proxmox": {
"mem": "ОЗП", "mem": "ОЗП",
@ -432,7 +434,7 @@
"load": "Завантаження", "load": "Завантаження",
"wait": "Будь ласка, зачекайте", "wait": "Будь ласка, зачекайте",
"temp": "Температура", "temp": "Температура",
"_temp": "Темп.", "_temp": "Температура",
"warn": "Увага", "warn": "Увага",
"uptime": "Онлайн", "uptime": "Онлайн",
"total": "Усього", "total": "Усього",
@ -614,7 +616,7 @@
}, },
"opendtu": { "opendtu": {
"yieldDay": "Сьогодні", "yieldDay": "Сьогодні",
"absolutePower": "Абс. потуж.", "absolutePower": "Потужність",
"relativePower": "Заряд %", "relativePower": "Заряд %",
"limit": "Ліміт" "limit": "Ліміт"
}, },
@ -646,13 +648,13 @@
"wanStatus": "Статус WAN", "wanStatus": "Статус WAN",
"up": "Онлайн", "up": "Онлайн",
"down": "Офлайн", "down": "Офлайн",
"temp": "Темп.", "temp": "Температура",
"disk": "Використання диска", "disk": "Використання диска",
"wanIP": "WAN IP" "wanIP": "WAN IP"
}, },
"proxmoxbackupserver": { "proxmoxbackupserver": {
"datastore_usage": "Сховище даних", "datastore_usage": "Сховище даних",
"failed_tasks_24h": "Невиконані завдання 24 години", "failed_tasks_24h": "Невиконані завдання за останню добу",
"cpu_usage": "ЦП", "cpu_usage": "ЦП",
"memory_usage": "Пам'ять" "memory_usage": "Пам'ять"
}, },
@ -702,6 +704,10 @@
"processed": "Обробка", "processed": "Обробка",
"time": "Час" "time": "Час"
}, },
"firefly": {
"networth": "Чисті Активи",
"budget": "Бюджет"
},
"grafana": { "grafana": {
"dashboards": "Інформаційні панелі", "dashboards": "Інформаційні панелі",
"datasources": "Джерела даних", "datasources": "Джерела даних",
@ -825,7 +831,7 @@
}, },
"openwrt": { "openwrt": {
"uptime": "Час роботи", "uptime": "Час роботи",
"cpuLoad": "Сер. навантаження ЦП (5 хв)", "cpuLoad": "Сер. навантаження ЦП (\"5\" хв)",
"up": "Онлайн", "up": "Онлайн",
"down": "Офлайн", "down": "Офлайн",
"bytesTx": "Передано", "bytesTx": "Передано",
@ -849,14 +855,14 @@
"inCinemas": "У кінотеатрах", "inCinemas": "У кінотеатрах",
"physicalRelease": "Фізичний реліз", "physicalRelease": "Фізичний реліз",
"digitalRelease": "Цифровий реліз", "digitalRelease": "Цифровий реліз",
"noEventsToday": "Події на сьогодні відсутні", "noEventsToday": "Події на сьогодні відсутні!",
"noEventsFound": "Події не знайдено" "noEventsFound": "Події не знайдено"
}, },
"romm": { "romm": {
"platforms": "Платформи", "platforms": "Платформи",
"totalRoms": "Ігри", "totalRoms": "Ігри",
"saves": "Збереження", "saves": "Збереження",
"states": "Штати", "states": "Стани",
"screenshots": "Знімки екрану", "screenshots": "Знімки екрану",
"totalfilesize": "Загальний обсяг" "totalfilesize": "Загальний обсяг"
}, },
@ -879,7 +885,8 @@
"gitea": { "gitea": {
"notifications": "Сповіщення", "notifications": "Сповіщення",
"issues": "Питання", "issues": "Питання",
"pulls": "Pull-запити" "pulls": "Pull-запити",
"repositories": "Репозиторії"
}, },
"stash": { "stash": {
"scenes": "Сцени", "scenes": "Сцени",
@ -1010,5 +1017,30 @@
"issues": "Питання", "issues": "Питання",
"merges": "Запити на злиття", "merges": "Запити на злиття",
"projects": "Проєкти" "projects": "Проєкти"
},
"apcups": {
"status": "Стан",
"load": "Завантаження",
"bcharge": "Заряд батареї",
"timeleft": "Залишилось"
},
"karakeep": {
"bookmarks": "Закладки",
"favorites": "Обране",
"archived": "Заархівовані",
"highlights": "Основні моменти",
"lists": "Списки",
"tags": "Теги"
},
"slskd": {
"slskStatus": "Мережа",
"connected": "З'єднано",
"disconnected": "Відключено",
"updateStatus": "Оновити",
"update_yes": "Доступно",
"update_no": "Актуально",
"downloads": "Завантаження",
"uploads": "Вивантаження",
"sharedFiles": "Файли"
} }
} }

View file

@ -148,7 +148,9 @@
"up": "Up", "up": "Up",
"received": "Received", "received": "Received",
"sent": "Sent", "sent": "Sent",
"externalIPAddress": "Ext. IP" "externalIPAddress": "Ext. IP",
"externalIPv6Address": "Ext. IPv6",
"externalIPv6Prefix": "Ext. IPv6-Prefix"
}, },
"caddy": { "caddy": {
"upstreams": "Upstreams", "upstreams": "Upstreams",
@ -176,7 +178,7 @@
"connectedAp": "Connected APs", "connectedAp": "Connected APs",
"activeUser": "Active devices", "activeUser": "Active devices",
"alerts": "Alerts", "alerts": "Alerts",
"connectedGateway": "Connected gateways", "connectedGateways": "Connected gateways",
"connectedSwitches": "Connected switches" "connectedSwitches": "Connected switches"
}, },
"nzbget": { "nzbget": {
@ -702,6 +704,10 @@
"processed": "Processed", "processed": "Processed",
"time": "Time" "time": "Time"
}, },
"firefly": {
"networth": "Net Worth",
"budget": "Budget"
},
"grafana": { "grafana": {
"dashboards": "Dashboards", "dashboards": "Dashboards",
"datasources": "Data Sources", "datasources": "Data Sources",
@ -879,7 +885,8 @@
"gitea": { "gitea": {
"notifications": "Notifications", "notifications": "Notifications",
"issues": "Issues", "issues": "Issues",
"pulls": "Pull Requests" "pulls": "Pull Requests",
"repositories": "Repositories"
}, },
"stash": { "stash": {
"scenes": "Scenes", "scenes": "Scenes",
@ -1010,5 +1017,30 @@
"issues": "Issues", "issues": "Issues",
"merges": "Merge Requests", "merges": "Merge Requests",
"projects": "Projects" "projects": "Projects"
},
"apcups": {
"status": "Trạng thái",
"load": "Load",
"bcharge": "Battery Charge",
"timeleft": "Thời gian còn lại"
},
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Tags"
},
"slskd": {
"slskStatus": "Network",
"connected": "Connected",
"disconnected": "Disconnected",
"updateStatus": "Update",
"update_yes": "Available",
"update_no": "Up to Date",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "Files"
} }
} }

View file

@ -5,9 +5,9 @@
"bbytes": "{{value, bytes(binary: true)}}", "bbytes": "{{value, bytes(binary: true)}}",
"bbits": "{{value, bytes(bits: true; binary: true)}}", "bbits": "{{value, bytes(bits: true; binary: true)}}",
"byterate": "{{value, rate(bits: false)}}", "byterate": "{{value, rate(bits: false)}}",
"bibyterate": "{{value, rate(bits: false; binary: true)}}", "bibyterate": "{{value, bytes(bits: true; binary: true)}}",
"bitrate": "{{value, rate(bits: true)}}", "bitrate": "{{value, rate(bits: true)}}",
"bibitrate": "{{value, rate(bits: true; binary: true)}}", "bibitrate": "{{value, bytes(bits: true; binary: true)}}",
"percent": "{{value, percent}}", "percent": "{{value, percent}}",
"number": "{{value, number}}", "number": "{{value, number}}",
"ms": "{{value, number}}", "ms": "{{value, number}}",
@ -120,7 +120,7 @@
"grid_power": "電網", "grid_power": "電網",
"home_power": "電源使用率", "home_power": "電源使用率",
"charge_power": "充電", "charge_power": "充電",
"kilowatt": "kW" "kilowatt": "千瓦"
}, },
"flood": { "flood": {
"download": "下載速率", "download": "下載速率",
@ -140,7 +140,7 @@
"connectionStatusPendingDisconnect": "待辦的斷開", "connectionStatusPendingDisconnect": "待辦的斷開",
"connectionStatusDisconnecting": "正在中斷連線", "connectionStatusDisconnecting": "正在中斷連線",
"connectionStatusDisconnected": "連接已中斷", "connectionStatusDisconnected": "連接已中斷",
"connectionStatusConnected": "Connected", "connectionStatusConnected": "已連線",
"uptime": "運行時間", "uptime": "運行時間",
"maxDown": "最大下載速率", "maxDown": "最大下載速率",
"maxUp": "最大上傳速率", "maxUp": "最大上傳速率",
@ -148,7 +148,9 @@
"up": "在線", "up": "在線",
"received": "已接收", "received": "已接收",
"sent": "已送出", "sent": "已送出",
"externalIPAddress": "外部 IP" "externalIPAddress": "外部 IP",
"externalIPv6Address": "外部 IP",
"externalIPv6Prefix": "擴展 IPv-前綴"
}, },
"caddy": { "caddy": {
"upstreams": "上行", "upstreams": "上行",
@ -176,7 +178,7 @@
"connectedAp": "已連接的存取點", "connectedAp": "已連接的存取點",
"activeUser": "在線裝置", "activeUser": "在線裝置",
"alerts": "警示", "alerts": "警示",
"connectedGateway": "已連接的閘道", "connectedGateways": "已連繫的網關",
"connectedSwitches": "已連接的交換器" "connectedSwitches": "已連接的交換器"
}, },
"nzbget": { "nzbget": {
@ -227,8 +229,8 @@
"seed": "已完成下載" "seed": "已完成下載"
}, },
"develancacheui": { "develancacheui": {
"cachehitbytes": "Cache Hit Bytes", "cachehitbytes": "快取未命中位元組",
"cachemissbytes": "Cache Miss Bytes" "cachemissbytes": "快取未命中位元組"
}, },
"downloadstation": { "downloadstation": {
"download": "下載速率", "download": "下載速率",
@ -283,9 +285,9 @@
}, },
"netalertx": { "netalertx": {
"total": "全部", "total": "全部",
"connected": "Connected", "connected": "已連線",
"new_devices": "New Devices", "new_devices": "新裝置",
"down_alerts": "Down Alerts" "down_alerts": "離線警告"
}, },
"pihole": { "pihole": {
"queries": "查詢", "queries": "查詢",
@ -311,13 +313,13 @@
}, },
"suwayomi": { "suwayomi": {
"download": "下載咗", "download": "下載咗",
"nondownload": "Non-Downloaded", "nondownload": "已下載",
"read": "已讀", "read": "已讀",
"unread": "未讀", "unread": "未讀",
"downloadedread": "Downloaded & Read", "downloadedread": "已下載且已閱讀",
"downloadedunread": "Downloaded & Unread", "downloadedunread": "已下載且未閱讀",
"nondownloadedread": "Non-Downloaded & Read", "nondownloadedread": "未下載但已閱讀",
"nondownloadedunread": "Non-Downloaded & Unread" "nondownloadedunread": "未下載且未閱讀"
}, },
"tailscale": { "tailscale": {
"address": "位址", "address": "位址",
@ -335,15 +337,15 @@
}, },
"technitium": { "technitium": {
"totalQueries": "查詢", "totalQueries": "查詢",
"totalNoError": "Success", "totalNoError": "成功",
"totalServerFailure": "Failures", "totalServerFailure": "失敗",
"totalNxDomain": "NX Domains", "totalNxDomain": "網域",
"totalRefused": "Refused", "totalRefused": "對方拒投誠信",
"totalAuthoritative": "Authoritative", "totalAuthoritative": "權威的",
"totalRecursive": "Recursive", "totalRecursive": "遞迴",
"totalCached": "Cached", "totalCached": "快取",
"totalBlocked": "封鎖", "totalBlocked": "封鎖",
"totalDropped": "Dropped", "totalDropped": "丟棄",
"totalClients": "客戶端" "totalClients": "客戶端"
}, },
"tdarr": { "tdarr": {
@ -702,6 +704,10 @@
"processed": "已處理", "processed": "已處理",
"time": "時間" "time": "時間"
}, },
"firefly": {
"networth": "淨值",
"budget": "預算"
},
"grafana": { "grafana": {
"dashboards": "控制面板", "dashboards": "控制面板",
"datasources": "數據來源", "datasources": "數據來源",
@ -854,16 +860,16 @@
}, },
"romm": { "romm": {
"platforms": "平台", "platforms": "平台",
"totalRoms": "Games", "totalRoms": "遊戲",
"saves": "Saves", "saves": "已儲存",
"states": "States", "states": "",
"screenshots": "Screenshots", "screenshots": "螢幕截圖",
"totalfilesize": "Total Size" "totalfilesize": "大小總計"
}, },
"mailcow": { "mailcow": {
"domains": "域", "domains": "域",
"mailboxes": "Mailboxes", "mailboxes": "信箱",
"mails": "Mails", "mails": "郵件數",
"storage": "儲存空間" "storage": "儲存空間"
}, },
"netdata": { "netdata": {
@ -879,7 +885,8 @@
"gitea": { "gitea": {
"notifications": "信息", "notifications": "信息",
"issues": "出版", "issues": "出版",
"pulls": "提取請求" "pulls": "提取請求",
"repositories": "套件來源"
}, },
"stash": { "stash": {
"scenes": "場景", "scenes": "場景",
@ -915,16 +922,16 @@
"bans": "禁止" "bans": "禁止"
}, },
"wgeasy": { "wgeasy": {
"connected": "Connected", "connected": "已連線",
"enabled": "啟用", "enabled": "啟用",
"disabled": "停用咗", "disabled": "停用咗",
"total": "全部" "total": "全部"
}, },
"swagdashboard": { "swagdashboard": {
"proxied": "Proxied", "proxied": "已代理",
"auth": "With Auth", "auth": "已授權",
"outdated": "Outdated", "outdated": "須更新",
"banned": "Banned" "banned": "已封鎖"
}, },
"myspeed": { "myspeed": {
"ping": "延遲", "ping": "延遲",
@ -932,43 +939,43 @@
"upload": "上傳速率" "upload": "上傳速率"
}, },
"stocks": { "stocks": {
"stocks": "Stocks", "stocks": "股票",
"loading": "Loading", "loading": "載入中 ",
"open": "Open - US Market", "open": "美國市場已開放",
"closed": "Closed - US Market", "closed": "美國市場已關閉",
"invalidConfiguration": "Invalid Configuration" "invalidConfiguration": "無效的設定"
}, },
"frigate": { "frigate": {
"cameras": "Cameras", "cameras": " ",
"uptime": "運行時間", "uptime": "運行時間",
"version": "版本" "version": "版本"
}, },
"linkwarden": { "linkwarden": {
"links": "Links", "links": " ",
"collections": "Collections", "collections": "收藏庫",
"tags": "標籤" "tags": "標籤"
}, },
"zabbix": { "zabbix": {
"unclassified": "Not classified", "unclassified": "未分類",
"information": "資訊", "information": "資訊",
"warning": "Warning", "warning": "警告",
"average": "Average", "average": "平均",
"high": "High", "high": "高優先權",
"disaster": "Disaster" "disaster": "災難"
}, },
"lubelogger": { "lubelogger": {
"vehicle": "Vehicle", "vehicle": "車輛",
"vehicles": "Vehicles", "vehicles": "車輛",
"serviceRecords": "Service Records", "serviceRecords": "保養記錄",
"reminders": "Reminders", "reminders": "提醒",
"nextReminder": "Next Reminder", "nextReminder": "下一個提醒",
"none": "None" "none": "沒有"
}, },
"vikunja": { "vikunja": {
"projects": "Active Projects", "projects": "正在應用的項目",
"tasks7d": "Tasks Due This Week", "tasks7d": "本週到期任務",
"tasksOverdue": "Overdue Tasks", "tasksOverdue": "逾期處理",
"tasksInProgress": "Tasks In Progress" "tasksInProgress": "正在執行的任務"
}, },
"headscale": { "headscale": {
"name": "名稱", "name": "名稱",
@ -980,7 +987,7 @@
}, },
"beszel": { "beszel": {
"name": "名稱", "name": "名稱",
"systems": "Systems", "systems": "系統",
"up": "在線", "up": "在線",
"down": "離線", "down": "離線",
"paused": "擱置中", "paused": "擱置中",
@ -989,26 +996,51 @@
"updated": "已更新", "updated": "已更新",
"cpu": "CPU", "cpu": "CPU",
"memory": "記憶體", "memory": "記憶體",
"disk": "Disk", "disk": "儲存空間",
"network": "NET" "network": "網路"
}, },
"argocd": { "argocd": {
"apps": "Apps", "apps": "應用程式",
"synced": "Synced", "synced": "已同步",
"outOfSync": "Out Of Sync", "outOfSync": "不同步",
"healthy": "健康", "healthy": "健康",
"degraded": "Degraded", "degraded": "已降級",
"progressing": "Progressing", "progressing": "進度",
"missing": "缺少", "missing": "缺少",
"suspended": "Suspended" "suspended": "暫停"
}, },
"spoolman": { "spoolman": {
"loading": "Loading" "loading": "載入中 "
}, },
"gitlab": { "gitlab": {
"groups": "Groups", "groups": "群組",
"issues": "出版", "issues": "出版",
"merges": "Merge Requests", "merges": "合併請求",
"projects": "Projects" "projects": "專"
},
"apcups": {
"status": "狀況",
"load": "負荷",
"bcharge": "充電",
"timeleft": "用時"
},
"karakeep": {
"bookmarks": "書籤",
"favorites": "我的最愛",
"archived": "已存檔",
"highlights": "標記",
"lists": "列表",
"tags": "標籤"
},
"slskd": {
"slskStatus": "網絡",
"connected": "已連線",
"disconnected": "連接已中斷",
"updateStatus": "更新",
"update_yes": "可用",
"update_no": "已更新至最新",
"downloads": "下載",
"uploads": "上傳",
"sharedFiles": "檔案"
} }
} }

View file

@ -148,7 +148,9 @@
"up": "Up", "up": "Up",
"received": "已接收", "received": "已接收",
"sent": "已发送", "sent": "已发送",
"externalIPAddress": "外部IP" "externalIPAddress": "外部IP",
"externalIPv6Address": "Ext. IPv6",
"externalIPv6Prefix": "Ext. IPv6-Prefix"
}, },
"caddy": { "caddy": {
"upstreams": "上游", "upstreams": "上游",
@ -176,7 +178,7 @@
"connectedAp": "连接中的AP", "connectedAp": "连接中的AP",
"activeUser": "活跃设备", "activeUser": "活跃设备",
"alerts": "警报", "alerts": "警报",
"connectedGateway": "已连接网关", "connectedGateways": "Connected gateways",
"connectedSwitches": "已连接开关" "connectedSwitches": "已连接开关"
}, },
"nzbget": { "nzbget": {
@ -311,13 +313,13 @@
}, },
"suwayomi": { "suwayomi": {
"download": "下载", "download": "下载",
"nondownload": "Non-Downloaded", "nondownload": "未下载",
"read": "已读", "read": "已读",
"unread": "未读", "unread": "未读",
"downloadedread": "Downloaded & Read", "downloadedread": "已下载 & 已读",
"downloadedunread": "Downloaded & Unread", "downloadedunread": "已下载 & 未读",
"nondownloadedread": "Non-Downloaded & Read", "nondownloadedread": "未下载 & 已读",
"nondownloadedunread": "Non-Downloaded & Unread" "nondownloadedunread": "未下载 & 未读"
}, },
"tailscale": { "tailscale": {
"address": "地址", "address": "地址",
@ -702,6 +704,10 @@
"processed": "已处理", "processed": "已处理",
"time": "时间" "time": "时间"
}, },
"firefly": {
"networth": "Net Worth",
"budget": "Budget"
},
"grafana": { "grafana": {
"dashboards": "控制面板", "dashboards": "控制面板",
"datasources": "数据来源", "datasources": "数据来源",
@ -879,7 +885,8 @@
"gitea": { "gitea": {
"notifications": "通知", "notifications": "通知",
"issues": "问题", "issues": "问题",
"pulls": "PR" "pulls": "PR",
"repositories": "Repositories"
}, },
"stash": { "stash": {
"scenes": "场景", "scenes": "场景",
@ -980,7 +987,7 @@
}, },
"beszel": { "beszel": {
"name": "Name", "name": "Name",
"systems": "Systems", "systems": "系统",
"up": "Up", "up": "Up",
"down": "Down", "down": "Down",
"paused": "暂停", "paused": "暂停",
@ -989,26 +996,51 @@
"updated": "已升级", "updated": "已升级",
"cpu": "CPU", "cpu": "CPU",
"memory": "内存", "memory": "内存",
"disk": "Disk", "disk": "磁盘",
"network": "NET" "network": "网络"
}, },
"argocd": { "argocd": {
"apps": "应用程序", "apps": "应用程序",
"synced": "Synced", "synced": "已同步",
"outOfSync": "Out Of Sync", "outOfSync": "未同步",
"healthy": "健康", "healthy": "健康",
"degraded": "Degraded", "degraded": "已降级",
"progressing": "Progressing", "progressing": "进行中",
"missing": "丢失", "missing": "丢失",
"suspended": "Suspended" "suspended": "已停用"
}, },
"spoolman": { "spoolman": {
"loading": "正在加载" "loading": "正在加载"
}, },
"gitlab": { "gitlab": {
"groups": "Groups", "groups": "群组",
"issues": "问题", "issues": "问题",
"merges": "Merge Requests", "merges": "合并请求",
"projects": "Projects" "projects": "项目"
},
"apcups": {
"status": "状态",
"load": "负载",
"bcharge": "充电中",
"timeleft": "剩余时间"
},
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Tags"
},
"slskd": {
"slskStatus": "网络",
"connected": "已连接",
"disconnected": "未连接",
"updateStatus": "Update",
"update_yes": "可用",
"update_no": "Up to Date",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "Files"
} }
} }

View file

@ -5,9 +5,9 @@
"bbytes": "{{value, bytes(binary: true)}}", "bbytes": "{{value, bytes(binary: true)}}",
"bbits": "{{value, bytes(bits: true; binary: true)}}", "bbits": "{{value, bytes(bits: true; binary: true)}}",
"byterate": "{{value, rate(bits: false)}}", "byterate": "{{value, rate(bits: false)}}",
"bibyterate": "{{value, rate(bits: false; binary: true)}}", "bibyterate": "{{value, bytes(bits: true; binary: true)}}",
"bitrate": "{{value, rate(bits: true)}}", "bitrate": "{{value, rate(bits: true)}}",
"bibitrate": "{{value, rate(bits: true; binary: true)}}", "bibitrate": "{{value, bytes(bits: true; binary: true)}}",
"percent": "{{value, percent}}", "percent": "{{value, percent}}",
"number": "{{value, number}}", "number": "{{value, number}}",
"ms": "{{value, number}}", "ms": "{{value, number}}",
@ -120,7 +120,7 @@
"grid_power": "電網", "grid_power": "電網",
"home_power": "電源使用率", "home_power": "電源使用率",
"charge_power": "充電", "charge_power": "充電",
"kilowatt": "kW" "kilowatt": "千瓦"
}, },
"flood": { "flood": {
"download": "下載速率", "download": "下載速率",
@ -140,7 +140,7 @@
"connectionStatusPendingDisconnect": "待辦的斷開", "connectionStatusPendingDisconnect": "待辦的斷開",
"connectionStatusDisconnecting": "正在中斷連線", "connectionStatusDisconnecting": "正在中斷連線",
"connectionStatusDisconnected": "連接已中斷", "connectionStatusDisconnected": "連接已中斷",
"connectionStatusConnected": "Connected", "connectionStatusConnected": "已連線",
"uptime": "運行時間", "uptime": "運行時間",
"maxDown": "最大下載速率", "maxDown": "最大下載速率",
"maxUp": "最大上傳速率", "maxUp": "最大上傳速率",
@ -148,7 +148,9 @@
"up": "在線", "up": "在線",
"received": "已接收", "received": "已接收",
"sent": "已送出", "sent": "已送出",
"externalIPAddress": "外部 IP" "externalIPAddress": "外部 IP",
"externalIPv6Address": "外部 IP",
"externalIPv6Prefix": "擴展 IPv-前綴"
}, },
"caddy": { "caddy": {
"upstreams": "上行", "upstreams": "上行",
@ -176,7 +178,7 @@
"connectedAp": "已連接的存取點", "connectedAp": "已連接的存取點",
"activeUser": "在線裝置", "activeUser": "在線裝置",
"alerts": "警示", "alerts": "警示",
"connectedGateway": "已連接的閘道", "connectedGateways": "已連繫的網關",
"connectedSwitches": "已連接的交換器" "connectedSwitches": "已連接的交換器"
}, },
"nzbget": { "nzbget": {
@ -227,8 +229,8 @@
"seed": "已完成下載" "seed": "已完成下載"
}, },
"develancacheui": { "develancacheui": {
"cachehitbytes": "Cache Hit Bytes", "cachehitbytes": "快取未命中位元組",
"cachemissbytes": "Cache Miss Bytes" "cachemissbytes": "快取未命中位元組"
}, },
"downloadstation": { "downloadstation": {
"download": "下載速率", "download": "下載速率",
@ -283,9 +285,9 @@
}, },
"netalertx": { "netalertx": {
"total": "全部", "total": "全部",
"connected": "Connected", "connected": "已連線",
"new_devices": "New Devices", "new_devices": "新裝置",
"down_alerts": "Down Alerts" "down_alerts": "離線警告"
}, },
"pihole": { "pihole": {
"queries": "查詢", "queries": "查詢",
@ -311,13 +313,13 @@
}, },
"suwayomi": { "suwayomi": {
"download": "已下載", "download": "已下載",
"nondownload": "Non-Downloaded", "nondownload": "已下載",
"read": "已讀", "read": "已讀",
"unread": "未讀", "unread": "未讀",
"downloadedread": "Downloaded & Read", "downloadedread": "已下載且已閱讀",
"downloadedunread": "Downloaded & Unread", "downloadedunread": "已下載且未閱讀",
"nondownloadedread": "Non-Downloaded & Read", "nondownloadedread": "未下載但已閱讀",
"nondownloadedunread": "Non-Downloaded & Unread" "nondownloadedunread": "未下載且未閱讀"
}, },
"tailscale": { "tailscale": {
"address": "位址", "address": "位址",
@ -335,15 +337,15 @@
}, },
"technitium": { "technitium": {
"totalQueries": "查詢", "totalQueries": "查詢",
"totalNoError": "Success", "totalNoError": "成功",
"totalServerFailure": "Failures", "totalServerFailure": "失敗",
"totalNxDomain": "NX Domains", "totalNxDomain": "網域",
"totalRefused": "Refused", "totalRefused": "對方拒投誠信",
"totalAuthoritative": "Authoritative", "totalAuthoritative": "權威的",
"totalRecursive": "Recursive", "totalRecursive": "遞迴",
"totalCached": "Cached", "totalCached": "快取",
"totalBlocked": "已阻擋", "totalBlocked": "已阻擋",
"totalDropped": "Dropped", "totalDropped": "丟棄",
"totalClients": "客戶端" "totalClients": "客戶端"
}, },
"tdarr": { "tdarr": {
@ -702,6 +704,10 @@
"processed": "已處理", "processed": "已處理",
"time": "時間" "time": "時間"
}, },
"firefly": {
"networth": "淨值",
"budget": "預算"
},
"grafana": { "grafana": {
"dashboards": "控制面板", "dashboards": "控制面板",
"datasources": "數據來源", "datasources": "數據來源",
@ -854,16 +860,16 @@
}, },
"romm": { "romm": {
"platforms": "平台", "platforms": "平台",
"totalRoms": "Games", "totalRoms": "遊戲",
"saves": "Saves", "saves": "已儲存",
"states": "States", "states": "",
"screenshots": "Screenshots", "screenshots": "螢幕截圖",
"totalfilesize": "Total Size" "totalfilesize": "大小總計"
}, },
"mailcow": { "mailcow": {
"domains": "網域", "domains": "網域",
"mailboxes": "Mailboxes", "mailboxes": "信箱",
"mails": "Mails", "mails": "郵件數",
"storage": "儲存空間" "storage": "儲存空間"
}, },
"netdata": { "netdata": {
@ -879,7 +885,8 @@
"gitea": { "gitea": {
"notifications": "信息", "notifications": "信息",
"issues": "出版", "issues": "出版",
"pulls": "提取請求" "pulls": "提取請求",
"repositories": "套件來源"
}, },
"stash": { "stash": {
"scenes": "場景", "scenes": "場景",
@ -915,16 +922,16 @@
"bans": "禁止" "bans": "禁止"
}, },
"wgeasy": { "wgeasy": {
"connected": "Connected", "connected": "已連線",
"enabled": "已啟用", "enabled": "已啟用",
"disabled": "已停用", "disabled": "已停用",
"total": "全部" "total": "全部"
}, },
"swagdashboard": { "swagdashboard": {
"proxied": "Proxied", "proxied": "已代理",
"auth": "With Auth", "auth": "已授權",
"outdated": "Outdated", "outdated": "須更新",
"banned": "Banned" "banned": "已封鎖"
}, },
"myspeed": { "myspeed": {
"ping": "延遲", "ping": "延遲",
@ -932,43 +939,43 @@
"upload": "上傳速率" "upload": "上傳速率"
}, },
"stocks": { "stocks": {
"stocks": "Stocks", "stocks": "股票",
"loading": "Loading", "loading": "載入中 ",
"open": "Open - US Market", "open": "美國市場已開放",
"closed": "Closed - US Market", "closed": "美國市場已關閉",
"invalidConfiguration": "Invalid Configuration" "invalidConfiguration": "無效的設定"
}, },
"frigate": { "frigate": {
"cameras": "Cameras", "cameras": " ",
"uptime": "運行時間", "uptime": "運行時間",
"version": "版本" "version": "版本"
}, },
"linkwarden": { "linkwarden": {
"links": "Links", "links": " ",
"collections": "Collections", "collections": "收藏庫",
"tags": "標籤" "tags": "標籤"
}, },
"zabbix": { "zabbix": {
"unclassified": "Not classified", "unclassified": "未分類",
"information": "資訊", "information": "資訊",
"warning": "Warning", "warning": "警告",
"average": "Average", "average": "平均",
"high": "High", "high": "高優先權",
"disaster": "Disaster" "disaster": "災難"
}, },
"lubelogger": { "lubelogger": {
"vehicle": "Vehicle", "vehicle": "車輛",
"vehicles": "Vehicles", "vehicles": "車輛",
"serviceRecords": "Service Records", "serviceRecords": "保養記錄",
"reminders": "Reminders", "reminders": "提醒",
"nextReminder": "Next Reminder", "nextReminder": "下一個提醒",
"none": "None" "none": "沒有"
}, },
"vikunja": { "vikunja": {
"projects": "Active Projects", "projects": "正在應用的項目",
"tasks7d": "Tasks Due This Week", "tasks7d": "本週到期任務",
"tasksOverdue": "Overdue Tasks", "tasksOverdue": "逾期處理",
"tasksInProgress": "Tasks In Progress" "tasksInProgress": "正在執行的任務"
}, },
"headscale": { "headscale": {
"name": "名稱", "name": "名稱",
@ -980,7 +987,7 @@
}, },
"beszel": { "beszel": {
"name": "名稱", "name": "名稱",
"systems": "Systems", "systems": "系統",
"up": "在線", "up": "在線",
"down": "離線", "down": "離線",
"paused": "擱置中", "paused": "擱置中",
@ -989,26 +996,51 @@
"updated": "已更新", "updated": "已更新",
"cpu": "CPU", "cpu": "CPU",
"memory": "記憶體", "memory": "記憶體",
"disk": "Disk", "disk": "儲存空間",
"network": "NET" "network": "網路"
}, },
"argocd": { "argocd": {
"apps": "Apps", "apps": "應用程式",
"synced": "Synced", "synced": "已同步",
"outOfSync": "Out Of Sync", "outOfSync": "不同步",
"healthy": "健康", "healthy": "健康",
"degraded": "Degraded", "degraded": "已降級",
"progressing": "Progressing", "progressing": "進度",
"missing": "缺少", "missing": "缺少",
"suspended": "Suspended" "suspended": "暫停"
}, },
"spoolman": { "spoolman": {
"loading": "Loading" "loading": "載入中 "
}, },
"gitlab": { "gitlab": {
"groups": "Groups", "groups": "群組",
"issues": "出版", "issues": "出版",
"merges": "Merge Requests", "merges": "合併請求",
"projects": "Projects" "projects": "專"
},
"apcups": {
"status": "狀態",
"load": "負載",
"bcharge": "充電",
"timeleft": "剩餘時間"
},
"karakeep": {
"bookmarks": "書籤",
"favorites": "我的最愛",
"archived": "已存檔",
"highlights": "標記",
"lists": "列表",
"tags": "標籤"
},
"slskd": {
"slskStatus": "網絡",
"connected": "已連線",
"disconnected": "連接已中斷",
"updateStatus": "更新",
"update_yes": "可觀看",
"update_no": "已更新至最新",
"downloads": "下載",
"uploads": "上傳",
"sharedFiles": "檔案"
} }
} }

View file

@ -1,11 +1,10 @@
import { useRef, useEffect } from "react";
import classNames from "classnames";
import { Disclosure, Transition } from "@headlessui/react"; import { Disclosure, Transition } from "@headlessui/react";
import { MdKeyboardArrowDown } from "react-icons/md"; import classNames from "classnames";
import ErrorBoundary from "components/errorboundry";
import List from "components/bookmarks/list"; import List from "components/bookmarks/list";
import ErrorBoundary from "components/errorboundry";
import ResolvedIcon from "components/resolvedicon"; import ResolvedIcon from "components/resolvedicon";
import { useEffect, useRef } from "react";
import { MdKeyboardArrowDown } from "react-icons/md";
export default function BookmarksGroup({ export default function BookmarksGroup({
bookmarks, bookmarks,
@ -13,6 +12,7 @@ export default function BookmarksGroup({
disableCollapse, disableCollapse,
groupsInitiallyCollapsed, groupsInitiallyCollapsed,
bookmarksStyle, bookmarksStyle,
maxGroupColumns,
}) { }) {
const panel = useRef(); const panel = useRef();
@ -26,6 +26,9 @@ export default function BookmarksGroup({
className={classNames( className={classNames(
"bookmark-group flex-1 overflow-hidden", "bookmark-group flex-1 overflow-hidden",
layout?.style === "row" ? "basis-full" : "basis-full md:basis-1/4 lg:basis-1/5 xl:basis-1/6", layout?.style === "row" ? "basis-full" : "basis-full md:basis-1/4 lg:basis-1/5 xl:basis-1/6",
layout?.style !== "row" && maxGroupColumns && parseInt(maxGroupColumns, 10) > 6
? `3xl:basis-1/${maxGroupColumns}`
: "",
layout?.header === false ? "px-1" : "p-1 pb-0", layout?.header === false ? "px-1" : "p-1 pb-0",
)} )}
> >
@ -35,7 +38,7 @@ export default function BookmarksGroup({
{layout?.header !== false && ( {layout?.header !== false && (
<Disclosure.Button disabled={disableCollapse} className="flex w-full select-none items-center group"> <Disclosure.Button disabled={disableCollapse} className="flex w-full select-none items-center group">
{layout?.icon && ( {layout?.icon && (
<div className="flex-shrink-0 mr-2 w-7 h-7 bookmark-group-icon"> <div className="shrink-0 mr-2 w-7 h-7 bookmark-group-icon">
<ResolvedIcon icon={layout.icon} /> <ResolvedIcon icon={layout.icon} />
</div> </div>
)} )}
@ -53,7 +56,7 @@ export default function BookmarksGroup({
)} )}
<Transition <Transition
// Otherwise the transition group does display: none and cancels animation // Otherwise the transition group does display: none and cancels animation
className="!block" className="block!"
unmount={false} unmount={false}
beforeLeave={() => { beforeLeave={() => {
panel.current.style.height = `${panel.current.scrollHeight}px`; panel.current.style.height = `${panel.current.scrollHeight}px`;

View file

@ -1,8 +1,7 @@
import { useContext } from "react";
import classNames from "classnames"; import classNames from "classnames";
import { SettingsContext } from "utils/contexts/settings";
import ResolvedIcon from "components/resolvedicon"; import ResolvedIcon from "components/resolvedicon";
import { useContext } from "react";
import { SettingsContext } from "utils/contexts/settings";
export default function Item({ bookmark, iconOnly = false }) { export default function Item({ bookmark, iconOnly = false }) {
const description = bookmark.description ?? new URL(bookmark.href).hostname; const description = bookmark.description ?? new URL(bookmark.href).hostname;
@ -23,7 +22,7 @@ export default function Item({ bookmark, iconOnly = false }) {
className={classNames( className={classNames(
settings.cardBlur !== undefined && `backdrop-blur${settings.cardBlur.length ? "-" : ""}${settings.cardBlur}`, settings.cardBlur !== undefined && `backdrop-blur${settings.cardBlur.length ? "-" : ""}${settings.cardBlur}`,
"text-left cursor-pointer transition-all 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", "text-left cursor-pointer transition-all 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",
iconOnly ? "h-[60px] w-[60px] grid" : "block w-full h-15 mb-3", iconOnly ? "h-[60px] w-[60px] grid" : "block w-full mb-3",
)} )}
> >
{iconOnly ? ( {iconOnly ? (
@ -37,9 +36,9 @@ export default function Item({ bookmark, iconOnly = false }) {
</div> </div>
) : ( ) : (
<div className="flex"> <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-icon"> <div className="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-icon">
{bookmark.icon && ( {bookmark.icon && (
<div className="flex-shrink-0 w-5 h-5"> <div className="shrink-0 w-5 h-5">
<ResolvedIcon icon={bookmark.icon} alt={bookmark.abbr} /> <ResolvedIcon icon={bookmark.icon} alt={bookmark.abbr} />
</div> </div>
)} )}

View file

@ -1,9 +1,8 @@
import classNames from "classnames"; import classNames from "classnames";
import Item from "components/bookmarks/item";
import { columnMap } from "../../utils/layout/columns"; import { columnMap } from "../../utils/layout/columns";
import Item from "components/bookmarks/item";
export default function List({ bookmarks, layout, bookmarksStyle }) { export default function List({ bookmarks, layout, bookmarksStyle }) {
let classes = layout?.style === "row" ? `grid ${columnMap[layout?.columns]} gap-x-2` : "flex flex-col bookmark-list"; let classes = layout?.style === "row" ? `grid ${columnMap[layout?.columns]} gap-x-2` : "flex flex-col bookmark-list";
const style = {}; const style = {};

Some files were not shown because too many files have changed in this diff Show more