Compare commits

..

185 Commits

Author SHA1 Message Date
shamoon
6fca9e342d Bump version to 1.0.1 2025-03-14 15:42:56 -07:00
shamoon
66a8b1c21e Just remove hostname
Some checks are pending
Docker / Linting Checks (push) Waiting to run
Docker / Docker Build & Push (push) Blocked by required conditions
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
Some checks are pending
Docker / Linting Checks (push) Waiting to run
Docker / Docker Build & Push (push) Blocked by required conditions
Docs / Linting Checks (push) Waiting to run
Docs / Test Build (push) Blocked by required conditions
Docs / Build & Deploy (push) Blocked by required conditions
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)
Some checks are pending
Docker / Linting Checks (push) Waiting to run
Docker / Docker Build & Push (push) Blocked by required conditions
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)
Some checks are pending
Docs / Linting Checks (push) Waiting to run
Docs / Test Build (push) Blocked by required conditions
Docs / Build & Deploy (push) Blocked by required conditions
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)
Some checks failed
Docker / Linting Checks (push) Has been cancelled
Docker / Docker Build & Push (push) Has been cancelled
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)
Some checks failed
Docker / Linting Checks (push) Has been cancelled
Docker / Docker Build & Push (push) Has been cancelled
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)
Some checks failed
Docker / Linting Checks (push) Has been cancelled
Docker / Docker Build & Push (push) Has been cancelled
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
Some checks are pending
Docker / Linting Checks (push) Waiting to run
Docker / Docker Build & Push (push) Blocked by required conditions
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)
Some checks are pending
Docker / Linting Checks (push) Waiting to run
Docker / Docker Build & Push (push) Blocked by required conditions
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
Some checks failed
Docs / Linting Checks (push) Has been cancelled
Docs / Test Build (push) Has been cancelled
Docs / Build & Deploy (push) Has been cancelled
Repository Maintenance / Stale (push) Has been cancelled
Reaction Comments / action (push) Has been cancelled
Docker / Linting Checks (push) Has been cancelled
Repository Maintenance / Lock Old Threads (push) Has been cancelled
Repository Maintenance / Close Answered Discussions (push) Has been cancelled
Repository Maintenance / Close Outdated Discussions (push) Has been cancelled
Repository Maintenance / Close Unsupported Feature Requests (push) Has been cancelled
Docker / Docker Build & Push (push) Has been cancelled
2025-02-12 16:10:19 -08:00
shamoon
e46377f461 Enhancement: better tz parsing of ical recurring events (#4749)
Some checks are pending
Docker / Linting Checks (push) Waiting to run
Docker / Docker Build & Push (push) Blocked by required conditions
2025-02-12 07:38:36 -08:00
shamoon
f283b83e6e Update support.yml
Some checks are pending
Docker / Linting Checks (push) Waiting to run
Docker / Docker Build & Push (push) Blocked by required conditions
2025-02-11 23:46:12 -08:00
shamoon
0a1265455b Update index.md
Some checks are pending
Docs / Linting Checks (push) Waiting to run
Docs / Test Build (push) Blocked by required conditions
Docs / Build & Deploy (push) Blocked by required conditions
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)
Some checks failed
Docker / Linting Checks (push) Has been cancelled
Docker / Docker Build & Push (push) Has been cancelled
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)
Some checks failed
Docker / Linting Checks (push) Has been cancelled
Docker / Docker Build & Push (push) Has been cancelled
2025-02-04 20:45:39 -08:00
shamoon
ae500fd983 Update getting-started.md
Some checks failed
Docs / Linting Checks (push) Has been cancelled
Docs / Test Build (push) Has been cancelled
Docs / Build & Deploy (push) Has been cancelled
2025-02-04 09:36:41 -08:00
shamoon
873c265205 Enhancement: filter prometheus API endpoint for active only (#4701)
Some checks failed
Docker / Linting Checks (push) Has been cancelled
Docker / Docker Build & Push (push) Has been cancelled
2025-02-03 08:56:40 -08:00
shamoon
07dff4c8a5 Enhancement: support speedtest v1.2 API (#4695)
Some checks are pending
Docker / Linting Checks (push) Waiting to run
Docker / Docker Build & Push (push) Blocked by required conditions
2025-02-02 19:11:08 -08:00
Marc Zottner
cbacf458b2 Fix: correct package version number (#4691)
Some checks are pending
Docker / Linting Checks (push) Waiting to run
Docker / Docker Build & Push (push) Blocked by required conditions
2025-02-02 08:05:25 -08:00
Amjad Alsharafi
cae304b7eb Feature: Firefly widget (#4683)
Some checks are pending
Docker / Docker Build & Push (push) Blocked by required conditions
Docker / Linting Checks (push) Waiting to run
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
Some checks failed
Docker / Linting Checks (push) Has been cancelled
Docker / Docker Build & Push (push) Has been cancelled
2025-01-27 10:50:44 -08:00
shamoon
49036a9738 Fix: fix semver detection bug
Some checks are pending
Docker / Linting Checks (push) Waiting to run
Docker / Docker Build & Push (push) Blocked by required conditions
2025-01-27 00:23:20 -08:00
shamoon
0197b449ed [BREAKING] Chore: update to next v15 (#4661)
Some checks are pending
Docker / Linting Checks (push) Waiting to run
Docker / Docker Build & Push (push) Blocked by required conditions
2025-01-26 00:20:41 -08:00
shamoon
dc3382447c Fix: fix overlap with glances charts in multi-widgets (#4653)
Some checks are pending
Docker / Linting Checks (push) Waiting to run
Docker / Docker Build & Push (push) Blocked by required conditions
2025-01-24 16:53:14 -08:00
shamoon
6beaf665fb Development: pnpm lint on ci (#4646)
Some checks are pending
Docker / Linting Checks (push) Waiting to run
Docker / Docker Build & Push (push) Blocked by required conditions
2025-01-23 21:38:23 -08:00
shamoon
b9622f75b0 Fix: generic proxy error data display
Some checks failed
Docker / Linting Checks (push) Has been cancelled
Docker / Docker Build & Push (push) Has been cancelled
2025-01-21 07:13:12 -08:00
shamoon
cd8c7d9016 Documentation: add note about multiwidget with k8s
Some checks failed
Docs / Linting Checks (push) Has been cancelled
Docs / Test Build (push) Has been cancelled
Docs / Build & Deploy (push) Has been cancelled
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)
Some checks are pending
Docker / Linting Checks (push) Waiting to run
Docker / Docker Build & Push (push) Blocked by required conditions
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)
Some checks failed
Docker / Linting Checks (push) Has been cancelled
Docs / Linting Checks (push) Has been cancelled
Docker / Docker Build & Push (push) Has been cancelled
Docs / Test Build (push) Has been cancelled
Docs / Build & Deploy (push) Has been cancelled
2025-01-06 07:25:14 -08:00
shamoon
fd50241e2a Update errorboundry.jsx
Some checks are pending
Docker / Linting Checks (push) Waiting to run
Docker / Docker Build & Push (push) Blocked by required conditions
2025-01-06 00:53:10 -08:00
Bjorn Lammers
6a0fbba407 Chore: migrate dashboard-icons to homarr-labs (#4564)
Some checks are pending
Docker / Linting Checks (push) Waiting to run
Docker / Docker Build & Push (push) Blocked by required conditions
2025-01-05 13:45:15 -08:00
shamoon
2ee5fd123b code style
Some checks are pending
Docker / Linting Checks (push) Waiting to run
Docker / Docker Build & Push (push) Blocked by required conditions
Docs / Linting Checks (push) Waiting to run
Docs / Test Build (push) Blocked by required conditions
Docs / Build & Deploy (push) Blocked by required conditions
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
Some checks are pending
Docs / Linting Checks (push) Waiting to run
Docs / Test Build (push) Blocked by required conditions
Docs / Build & Deploy (push) Blocked by required conditions
2025-01-04 22:13:28 -08:00
Martin Bjeldbak Madsen
2d98ac30f2 Documentation: update gluetun apikey config instructions (#4554)
Some checks failed
Docs / Linting Checks (push) Has been cancelled
Docs / Test Build (push) Has been cancelled
Docs / Build & Deploy (push) Has been cancelled
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)
Some checks failed
Docker / Linting Checks (push) Has been cancelled
Docker / Docker Build & Push (push) Has been cancelled
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)
Some checks failed
Docker / Linting Checks (push) Has been cancelled
Docker / Docker Build & Push (push) Has been cancelled
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
shamoon
0717607a97 Merge branch dev into main
Some checks failed
Docker / Linting Checks (push) Has been cancelled
Docs / Linting Checks (push) Has been cancelled
Docker / Docker Build & Push (push) Has been cancelled
Docs / Test Build (push) Has been cancelled
Docs / Build & Deploy (push) Has been cancelled
2024-12-31 21:48:49 -08:00
github-actions[bot]
ee5442c15c New Crowdin translations by GitHub Action (#4506)
Some checks are pending
Docker / Linting Checks (push) Waiting to run
Docker / Docker Build & Push (push) Blocked by required conditions
2024-12-31 21:48:12 -08:00
shamoon
b2158b0921 Fix: incorrect weekyear for events (#4519)
Some checks failed
Docker / Linting Checks (push) Has been cancelled
Docker / Docker Build & Push (push) Has been cancelled
2024-12-30 11:26:04 -08:00
shamoon
a158866ca1 Feature: meta description setting (#4513)
Some checks failed
Docker / Linting Checks (push) Has been cancelled
Docker / Docker Build & Push (push) Has been cancelled
2024-12-28 21:12:20 -08:00
shamoon
4f27ffbe2d Change: make region optional for gluetun api response (#4512) 2024-12-28 20:53:43 -08:00
shamoon
10bc8a15a9 Update support.yml
Some checks are pending
Docker / Linting Checks (push) Waiting to run
Docker / Docker Build & Push (push) Blocked by required conditions
2024-12-28 16:50:23 -08:00
Per Mortensen
5d63b3d212 Fix: include all Beszel status localization strings (#4504)
Some checks are pending
Docker / Linting Checks (push) Waiting to run
Docker / Docker Build & Push (push) Blocked by required conditions
2024-12-28 07:35:22 -08:00
shamoon
43decb0ed9 Fix: correct iconsOnly bookmark group spacing (#4502)
Some checks failed
Docker / Linting Checks (push) Has been cancelled
Docker / Docker Build & Push (push) Has been cancelled
2024-12-27 16:11:47 -08:00
shamoon
e4d42b5393 FIx: glances containers header position (#4496)
Some checks failed
Docker / Linting Checks (push) Has been cancelled
Docs / Linting Checks (push) Has been cancelled
Docker / Docker Build & Push (push) Has been cancelled
Docs / Test Build (push) Has been cancelled
Docs / Build & Deploy (push) Has been cancelled
2024-12-26 14:51:11 -08:00
shamoon
f717e59085 Enhancement: support 'nice name' for beszel system ID (#4495) 2024-12-26 11:07:33 -08:00
shamoon
fd05ae377c Enhancement: Better handle some beszel errors (#4493)
Some checks are pending
Docker / Linting Checks (push) Waiting to run
Docker / Docker Build & Push (push) Blocked by required conditions
2024-12-25 12:17:10 -08:00
shamoon
cc9b4782f2 Merge branch 'dev'
Some checks failed
Docker / Linting Checks (push) Has been cancelled
Docker / Docker Build & Push (push) Has been cancelled
2024-12-24 22:20:20 -08:00
github-actions[bot]
14cda38dbb New Crowdin translations by GitHub Action (#4481)
Some checks are pending
Docker / Linting Checks (push) Waiting to run
Docker / Docker Build & Push (push) Blocked by required conditions
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2024-12-24 22:19:23 -08:00
shamoon
27e3c9f1ed Merge branch 'dev' 2024-12-24 22:18:55 -08:00
shamoon
607c4b7750 Fix: fun with padding and margins (#4489)
Some checks are pending
Docker / Linting Checks (push) Waiting to run
Docker / Docker Build & Push (push) Blocked by required conditions
2024-12-24 12:22:06 -08:00
shamoon
1c6480586c Fix: fix search overlay behind status indicators in 0.10.x (#4484)
Some checks are pending
Docker / Linting Checks (push) Waiting to run
Docker / Docker Build & Push (push) Blocked by required conditions
2024-12-23 18:28:04 -08:00
shamoon
31c04006da Merge branch 'dev'
Some checks failed
Docker / Linting Checks (push) Has been cancelled
Docs / Linting Checks (push) Has been cancelled
Docker / Docker Build & Push (push) Has been cancelled
Docs / Test Build (push) Has been cancelled
Docs / Build & Deploy (push) Has been cancelled
2024-12-23 14:02:38 -08:00
github-actions[bot]
499ab4d701 New Crowdin translations by GitHub Action (#4470)
Some checks are pending
Docker / Linting Checks (push) Waiting to run
Docker / Docker Build & Push (push) Blocked by required conditions
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2024-12-23 14:02:20 -08:00
shamoon
fbb35d3dc8 Merge branch 'dev' 2024-12-23 14:01:48 -08:00
shamoon
94936ed09d Tweak: again trying to restore chart sizing in 0.10.x (#4479) 2024-12-23 13:37:48 -08:00
shamoon
31a511de02 Update getting-started.md 2024-12-23 09:27:25 -08:00
shamoon
2d91b2b748 Tweak: remove extra padding for nested groups (#4474)
Some checks are pending
Docker / Linting Checks (push) Waiting to run
Docker / Docker Build & Push (push) Blocked by required conditions
2024-12-22 17:48:49 -08:00
shamoon
7dabd0335f Remove service group bookmarksStyle 2024-12-22 17:37:46 -08:00
shamoon
96431c6085 Chore: warn and dont fail for invalid services (#4468)
Some checks failed
Docker / Linting Checks (push) Has been cancelled
Docker / Docker Build & Push (push) Has been cancelled
2024-12-21 19:26:02 -08:00
shamoon
f64aa50cc0 Fix: metric heights in 0.10.x (#4467) 2024-12-21 19:14:00 -08:00
shamoon
ac39ffdc2f Fix: dont discard service groups not included in layout (#4456)
Some checks are pending
Docker / Linting Checks (push) Waiting to run
Docker / Docker Build & Push (push) Blocked by required conditions
2024-12-20 15:00:25 -08:00
dependabot[bot]
f4adebca92 Chore(deps): Bump systeminformation from 5.23.5 to 5.23.8 (#4450)
Some checks are pending
Docker / Linting Checks (push) Waiting to run
Docker / Docker Build & Push (push) Blocked by required conditions
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-20 11:40:25 -08:00
shamoon
b2d75a99e7 Merge branch 'dev'
Some checks failed
Docker / Linting Checks (push) Waiting to run
Docker / Docker Build & Push (push) Blocked by required conditions
Docs / Linting Checks (push) Has been cancelled
Docs / Test Build (push) Has been cancelled
Docs / Build & Deploy (push) Has been cancelled
2024-12-20 09:26:50 -08:00
github-actions[bot]
bda586b04e New Crowdin translations by GitHub Action (#4330)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2024-12-20 09:02:04 -08:00
shamoon
4a4ca95fe5 Enhancement: beszel widget compatibility with v0.9.0 (#4439)
Some checks failed
Docker / Linting Checks (push) Has been cancelled
Docker / Docker Build & Push (push) Has been cancelled
2024-12-18 13:04:18 -08:00
shamoon
6753843202 Fix: always parse version as a number 2024-12-18 12:51:12 -08:00
shamoon
6b77ae835b Update proxy.js 2024-12-18 12:12:08 -08:00
shamoon
d0eabf7adb Revert "Enhancement: encode uri params for synology proxy (#4414)"
This reverts commit 93c18a8077.

Revert "Fix synology param encoding"

This reverts commit bc3adf1f2a.

Revert "I think this will actually fix the synology handler"

This reverts commit 30fd42dba4.
2024-12-18 11:48:02 -08:00
shamoon
30fd42dba4 I think this will actually fix the synology handler 2024-12-18 11:06:07 -08:00
shamoon
7bcdba16c6 Fix: chart stacking with multiple widgets 2024-12-18 10:14:59 -08:00
Mindfreak9100
59ed5ed114 Enhancement: downloading torrents list for deluge (#4436)
Some checks are pending
Docker / Linting Checks (push) Waiting to run
Docker / Docker Build & Push (push) Blocked by required conditions
2024-12-17 16:09:46 -08:00
Jesse Hills
6b2a3da7ee Enhancement: support basic auth to ESPHome widget (#4429)
Some checks are pending
Docker / Linting Checks (push) Waiting to run
Docker / Docker Build & Push (push) Blocked by required conditions
2024-12-16 20:35:15 -08:00
shamoon
b853c566b2 Some npm audit 2024-12-16 17:39:59 -08:00
shamoon
bc3adf1f2a Fix synology param encoding
Some checks are pending
Docker / Linting Checks (push) Waiting to run
Docker / Docker Build & Push (push) Blocked by required conditions
2024-12-16 11:45:35 -08:00
shamoon
c437b414ab Enhancement: better display of finnhub tickers with exchange (#4425) 2024-12-16 09:01:28 -08:00
shamoon
9aa46e4fdd Use initial settings for title
Some checks are pending
Docker / Linting Checks (push) Waiting to run
Docker / Docker Build & Push (push) Blocked by required conditions
2024-12-15 20:08:11 -08:00
shamoon
0c352b1843 Add a little debugging to stocks endpoint 2024-12-15 19:15:27 -08:00
shamoon
f229bca609 Update headscale.md
Some checks failed
Docs / Linting Checks (push) Has been cancelled
Docs / Test Build (push) Has been cancelled
Docs / Build & Deploy (push) Has been cancelled
2024-12-15 19:02:29 -08:00
shamoon
93c18a8077 Enhancement: encode uri params for synology proxy (#4414) 2024-12-15 15:36:46 -08:00
shamoon
deff2f5506 Maybe this will make the requirements more obvious 2024-12-15 15:36:28 -08:00
shamoon
d0937fe6a8 Updated requirements 2024-12-14 23:02:11 -08:00
shamoon
a35c60f973 Update repo-maintenance.yml
Some checks are pending
Docker / Linting Checks (push) Waiting to run
Docker / Docker Build & Push (push) Blocked by required conditions
2024-12-14 22:59:56 -08:00
shamoon
29928a9a5f Update requirement 2024-12-14 22:57:36 -08:00
shamoon
191a95c55c Fix: maybe prevent unnecessary search suggestion calls
Some checks are pending
Docker / Linting Checks (push) Waiting to run
Docker / Docker Build & Push (push) Blocked by required conditions
2024-12-14 15:53:15 -08:00
Epoch Philosophy
48e0a0e8ef Documentation: update k8s.md to Reflect New Traefik V3 API (#4416) 2024-12-13 12:03:32 -08:00
shamoon
20445583cd Build feature images
Some checks failed
Docker / Linting Checks (push) Has been cancelled
Docker / Docker Build & Push (push) Has been cancelled
2024-12-13 10:59:44 -08:00
shamoon
5bc67137f6 Fix: glances metric - different key for process list memory on windows host (#4410)
Some checks are pending
Docker / Linting Checks (push) Waiting to run
Docker / Docker Build & Push (push) Blocked by required conditions
2024-12-12 20:53:20 -08:00
Mindfreak9100
22c02f4e45 Enhancement: downloading torrents list for qbittorrent (#4405)
Some checks are pending
Docker / Linting Checks (push) Waiting to run
Docker / Docker Build & Push (push) Blocked by required conditions
2024-12-12 16:32:03 -08:00
shamoon
3c28e4af44 Fix empty groups with configured services 2024-12-12 15:42:06 -08:00
shamoon
01252c6193 Fix: correct evcc units (#4396)
Some checks failed
Docker / Linting Checks (push) Has been cancelled
Docker / Docker Build & Push (push) Has been cancelled
2024-12-10 08:36:32 -08:00
shamoon
27f536c267 Fix: evcc docs name 2024-12-10 08:34:21 -08:00
shamoon
cb3248117f Enhancement: icons-only bookmarks style (#4384)
Some checks failed
Docker / Linting Checks (push) Has been cancelled
Docker / Docker Build & Push (push) Has been cancelled
2024-12-05 15:35:31 -08:00
shamoon
c58f59c105 Fix: add optional chaining for info widgets options
Some checks failed
Docker / Linting Checks (push) Has been cancelled
Docker / Docker Build & Push (push) Has been cancelled
2024-12-02 14:38:55 -08:00
dependabot[bot]
8cc6640d04 Chore(deps-dev): Bump eslint-plugin-react from 7.37.1 to 7.37.2 (#4367)
Some checks failed
Docker / Linting Checks (push) Has been cancelled
Docker / Docker Build & Push (push) Has been cancelled
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-01 09:02:09 -08:00
dependabot[bot]
20df9a5e9c Chore(deps): Bump gamedig from 5.1.3 to 5.1.4 (#4369)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-01 08:56:52 -08:00
shamoon
91e529f87a Enhancement: glances containers metric widget (#4361)
Some checks failed
Docker / Linting Checks (push) Has been cancelled
Docker / Docker Build & Push (push) Has been cancelled
2024-11-29 23:32:59 -08:00
shamoon
a28952ce69 Chore: move custom css loading, add letter-spacing (#4359)
Some checks are pending
Docker / Linting Checks (push) Waiting to run
Docker / Docker Build & Push (push) Blocked by required conditions
2024-11-29 10:14:53 -08:00
shamoon
276a1c3ef4 Chore: better tailscale error handling
Some checks are pending
Docker / Linting Checks (push) Waiting to run
Docker / Docker Build & Push (push) Blocked by required conditions
2024-11-28 21:54:22 -08:00
zombaru
5cc487a96d Documentation: Add missing admonition type to UniFi docs (#4353) 2024-11-28 20:15:28 -08:00
shamoon
e626274f34 Documentation: doc updates for nesting, reorganizing, fixes
Some checks are pending
Docker / Linting Checks (push) Waiting to run
Docker / Docker Build & Push (push) Blocked by required conditions
2024-11-27 23:02:55 -08:00
shamoon
6d829bce79 Enhancement: use css color-scheme (#4349) 2024-11-27 22:12:59 -08:00
DamitusThyYeetus123
230da3d2eb Enhancement: support hrefs for info widgets (#4347)
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2024-11-27 19:45:30 -08:00
shamoon
aaf4a3e92f Add note
Some checks are pending
Docker / Linting Checks (push) Waiting to run
Docker / Docker Build & Push (push) Blocked by required conditions
2024-11-27 18:07:54 -08:00
shamoon
be8363cc35 Feature: nested groups (#4346) 2024-11-27 17:01:47 -08:00
shamoon
907abee1aa Enhancement: multiple widgets per service (#4338)
Some checks are pending
Docker / Linting Checks (push) Waiting to run
Docker / Docker Build & Push (push) Blocked by required conditions
2024-11-27 02:33:40 -08:00
shamoon
385511f773 Fix: resources network better startup behavior 2024-11-27 02:33:15 -08:00
shamoon
cbf304a4c8 Update README.md 2024-11-24 22:56:35 -08:00
shamoon
897309a47c Enhancement: resources network widget (#4327) 2024-11-24 22:56:34 -08:00
363 changed files with 6563 additions and 12797 deletions

View File

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

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,6 +51,14 @@ 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
attributes:
value: |
## ⚠️ STOP ⚠️
Before you submit this support request, please ensure you have entered your configuration files and actually followed the steps from the troubleshooting guide linked above, if relevant. The troubleshooting steps often help to solve the problem.
*Please remember that this project is maintained by regular people **just like you**, so if you don't take the time to fill out the requested information, don't expect a reply back.*

View File

@@ -1,11 +1,20 @@
<!--
==== STOP ====================
======== STOP ================
============ STOP ============
================ STOP ========
==================== STOP ====
⚠️ 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.
-->
## Proposed change ## Proposed change
<!-- <!--
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.
--> -->
@@ -19,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.

View File

@@ -46,6 +46,24 @@ jobs:
- -
name: Check files name: Check files
uses: pre-commit/action@v3.0.1 uses: pre-commit/action@v3.0.1
-
name: Install pnpm
uses: pnpm/action-setup@v4
with:
version: 10
run_install: false
-
name: Install 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
@@ -64,26 +82,7 @@ jobs:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v4 uses: actions/checkout@v4
# Setup QEMU # Login to Docker Registry
# 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 # https://github.com/docker/login-action
- name: Log into registry ${{ env.REGISTRY }} - name: Log into registry ${{ env.REGISTRY }}
if: github.event_name != 'pull_request' if: github.event_name != 'pull_request'
@@ -99,6 +98,15 @@ jobs:
username: ${{ secrets.DOCKERHUB_USERNAME }} username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }} password: ${{ secrets.DOCKERHUB_TOKEN }}
# Setup QEMU
# https://github.com/marketplace/actions/docker-setup-buildx#with-qemu
- name: Setup QEMU
uses: docker/setup-qemu-action@v3.6.0
# Workaround: https://github.com/docker/build-push-action/issues/461
- name: Setup Docker buildx
uses: docker/setup-buildx-action@v3
# Extract metadata (tags, labels) for Docker # Extract metadata (tags, labels) for Docker
# https://github.com/docker/metadata-action # https://github.com/docker/metadata-action
- name: Extract Docker metadata - name: Extract Docker metadata
@@ -118,7 +126,7 @@ jobs:
uses: docker/build-push-action@v6 uses: docker/build-push-action@v6
with: with:
context: . context: .
push: ${{ github.event_name != 'pull_request' && !(github.event_name == 'push' && startsWith(github.ref, 'refs/heads/feature')) }} push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }} tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }} labels: ${{ steps.meta.outputs.labels }}
build-args: | build-args: |
@@ -127,7 +135,7 @@ jobs:
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 # https://github.com/docker/setup-qemu-action#about
# 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/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 platforms: linux/amd64,linux/arm64
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

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

@@ -212,9 +212,9 @@ jobs:
} }
const CUTOFF_1_DAYS = 180; const CUTOFF_1_DAYS = 180;
const CUTOFF_1_COUNT = 5; const CUTOFF_1_COUNT = 10;
const CUTOFF_2_DAYS = 365; const CUTOFF_2_DAYS = 365;
const CUTOFF_2_COUNT = 10; const CUTOFF_2_COUNT = 20;
const cutoff1Date = new Date(); const cutoff1Date = new Date();
cutoff1Date.setDate(cutoff1Date.getDate() - CUTOFF_1_DAYS); cutoff1Date.setDate(cutoff1Date.getDate() - CUTOFF_1_DAYS);

View File

@@ -63,7 +63,7 @@ The homepage team appreciates all effort and interest from the community in fili
- Issues, pull requests and discussions that are closed will be locked after 30 days of inactivity. - Issues, pull requests and discussions that are closed will be locked after 30 days of inactivity.
- Discussions with a marked answer will be automatically closed. - Discussions with a marked answer will be automatically closed.
- Discussions in the 'General' or 'Support' categories will be closed after 180 days of inactivity. - Discussions in the 'General' or 'Support' categories will be closed after 180 days of inactivity.
- Feature requests that do not meet the following thresholds will be closed: 5 "up-votes" after 180 days of inactivity or 10 "up-votes" after 365 days. - Feature requests that do not meet the following thresholds will be closed: 10 "up-votes" after 180 days of inactivity or 20 "up-votes" after 365 days.
In all cases, threads can be re-opened by project maintainers and, of course, users can always create a new discussion for related concerns. In all cases, threads can be re-opened by project maintainers and, of course, users can always create a new discussion for related concerns.
Finally, remember that all information remains searchable and 'closed' feature requests can still serve as inspiration for new features. Finally, remember that all information remains searchable and 'closed' feature requests can still serve as inspiration for new features.

View File

@@ -1,7 +1,5 @@
# syntax = docker/dockerfile:latest
# Install dependencies only when needed # Install dependencies only when needed
FROM docker.io/node:18-alpine AS deps FROM docker.io/node:22-alpine AS deps
WORKDIR /app WORKDIR /app
@@ -17,9 +15,11 @@ RUN --mount=type=cache,id=pnpm-store,target=/root/.local/share/pnpm/store pnpm f
RUN --mount=type=cache,id=pnpm-store,target=/root/.local/share/pnpm/store pnpm install -r --offline RUN --mount=type=cache,id=pnpm-store,target=/root/.local/share/pnpm/store pnpm install -r --offline
# Rebuild the source code only when needed # Rebuild the source code only when needed
FROM docker.io/node:18-alpine AS builder FROM docker.io/node:22-alpine AS builder
WORKDIR /app WORKDIR /app
RUN mkdir config
ARG BUILDTIME ARG BUILDTIME
ARG VERSION ARG VERSION
ARG REVISION ARG REVISION
@@ -28,12 +28,12 @@ COPY --link --from=deps /app/node_modules ./node_modules/
COPY . . COPY . .
SHELL ["/bin/ash", "-xeo", "pipefail", "-c"] SHELL ["/bin/ash", "-xeo", "pipefail", "-c"]
RUN npm run telemetry \ RUN npm install -g pnpm \
&& mkdir config \ && pnpm run telemetry \
&& NEXT_PUBLIC_BUILDTIME=$BUILDTIME NEXT_PUBLIC_VERSION=$VERSION NEXT_PUBLIC_REVISION=$REVISION npm run build && NEXT_PUBLIC_BUILDTIME=$BUILDTIME NEXT_PUBLIC_VERSION=$VERSION NEXT_PUBLIC_REVISION=$REVISION pnpm run build
# Production image, copy all the files and run next # Production image, copy all the files and run next
FROM docker.io/node:18-alpine AS runner FROM docker.io/node:22-alpine AS runner
LABEL org.opencontainers.image.title "Homepage" 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.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.url="https://github.com/gethomepage/homepage"
@@ -41,7 +41,7 @@ LABEL org.opencontainers.image.documentation='https://github.com/gethomepage/hom
LABEL org.opencontainers.image.source='https://github.com/gethomepage/homepage' LABEL org.opencontainers.image.source='https://github.com/gethomepage/homepage'
LABEL org.opencontainers.image.licenses='Apache-2.0' LABEL org.opencontainers.image.licenses='Apache-2.0'
ENV NODE_ENV production ENV NODE_ENV=production
WORKDIR /app WORKDIR /app
@@ -56,7 +56,7 @@ COPY --link --chmod=755 docker-entrypoint.sh /usr/local/bin/
RUN apk add --no-cache su-exec RUN apk add --no-cache su-exec
ENV PORT 3000 ENV PORT=3000
EXPOSE $PORT EXPOSE $PORT
HEALTHCHECK --interval=10s --timeout=3s --start-period=20s \ HEALTHCHECK --interval=10s --timeout=3s --start-period=20s \

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.
@@ -52,7 +52,7 @@ Homepage has built-in support for Docker, and can automatically discover and add
## Service Widgets ## Service Widgets
Homepage also has support for over 100 3rd party services, including all popular starr apps, and most popular self-hosted apps. Some examples include: Radarr, Sonarr, Lidarr, Bazarr, Ombi, Tautulli, Plex, Jellyfin, Emby, Transmission, qBittorrent, Deluge, Jackett, NZBGet, SABnzbd, etc. As well as service integrations, Homepage also has a number of information providers, sourcing information from a variety of external 3rd party APIs. See the [Service](https://gethomepage.dev/widgets/) page for more information. Homepage also has support for hundreds of 3rd-party services, including all popular \*arr apps, and most popular self-hosted apps. Some examples include: Radarr, Sonarr, Lidarr, Bazarr, Ombi, Tautulli, Plex, Jellyfin, Emby, Transmission, qBittorrent, Deluge, Jackett, NZBGet, SABnzbd, etc. As well as service integrations, Homepage also has a number of information providers, sourcing information from a variety of external 3rd-party APIs. See the [Service](https://gethomepage.dev/widgets/) page for more information.
## Information Widgets ## Information Widgets
@@ -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
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

@@ -153,6 +153,18 @@ labels:
- homepage.widget.fields=["field1","field2"] # optional - homepage.widget.fields=["field1","field2"] # optional
``` ```
Multiple widgets can be specified by incrementing the index, e.g.
```yaml
labels: ...
- homepage.widgets[0].type=emby
- homepage.widgets[0].url=http://emby.home
- homepage.widgets[0].key=yourembyapikeyhere
- homepage.widgets[1].type=uptimekuma
- homepage.widgets[1].url=http://uptimekuma.home
- 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:
```yaml ```yaml

View File

@@ -0,0 +1,24 @@
---
title: Information Widgets
description: Homepage info widgets.
---
Information widgets are widgets that provide information about your system or environment and are displayed at the top of the homepage. You can find a list of all available info widgets under the [Info Widgets](../widgets/info/index.md) section.
Info widgets are defined in the widgets.yaml
Each widget has its own configuration options, which are detailed in the widget's documentation.
## Layout
Info widgets are displayed in the order they are defined in the `widgets.yaml` file. You can change the order by moving the widgets around in the file. However, some widgets (weather, search and datetime) are aligned to the right side of the screen which can affect the layout of the widgets.
## Adding A Link
You can add a link to an info widget such as the logo or text widgets by adding an `href` option, for example:
```yaml
logo:
href: https://example.com
target: _blank # Optional, can be set in settings
```

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 # enable ingress only
```
or
```yaml
ingress: true # 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

@@ -1,40 +0,0 @@
---
title: Service Widgets
description: Service Widget Configuration
---
Unless otherwise noted, URLs should not end with a `/` or other API path. Each widget will handle the path on its own.
Each service can have one widget attached to it (often matching the service type, but that's not forced).
In addition to the href of the service, you can also specify the target location in which to open that link. See [Link Target](settings.md#link-target) for more details.
Using Emby as an example, this is how you would attach the Emby service widget.
```yaml
- Emby:
icon: emby.png
href: http://emby.host.or.ip/
description: Movies & TV Shows
widget:
type: emby
url: http://emby.host.or.ip
key: apikeyapikeyapikeyapikeyapikey
```
## 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.
**In all cases a widget will work and display all fields without specifying the `fields` property.**
```yaml
- Sonarr:
icon: sonarr.png
href: http://sonarr.host.or.ip
widget:
type: sonarr
fields: ["wanted", "queued"]
url: http://sonarr.host.or.ip
key: apikeyapikeyapikeyapikeyapikey
```

View File

@@ -21,6 +21,23 @@ Groups are defined as top-level array entries.
<img width="1038" alt="Service Groups" src="https://user-images.githubusercontent.com/82196/187040754-28065242-4534-4409-881c-93d1921c6141.png"> <img width="1038" alt="Service Groups" src="https://user-images.githubusercontent.com/82196/187040754-28065242-4534-4409-881c-93d1921c6141.png">
### Nested Groups
Groups can be nested by using the same format as the top-level groups.
```yaml
- Group A:
- Service A:
href: http://localhost/
- Group B:
- Service B:
href: http://localhost/
- Service C:
href: http://localhost/
```
## Services ## Services
Services are defined as array entries on groups, Services are defined as array entries on groups,
@@ -43,6 +60,64 @@ Services are defined as array entries on groups,
<img width="1038" alt="Service Services" src="https://user-images.githubusercontent.com/82196/187040763-038023a2-8bee-4d87-b5cc-13447e7365a4.png"> <img width="1038" alt="Service Services" src="https://user-images.githubusercontent.com/82196/187040763-038023a2-8bee-4d87-b5cc-13447e7365a4.png">
### Service Widgets
Each service can have widgets attached to it (often matching the service type, but that's not forced).
In addition to the href of the service, you can also specify the target location in which to open that link. See [Link Target](settings.md#link-target) for more details.
Using Emby as an example, this is how you would attach the Emby service widget.
```yaml
- Emby:
icon: emby.png
href: http://emby.host.or.ip/
description: Movies & TV Shows
widget:
type: emby
url: http://emby.host.or.ip
key: apikeyapikeyapikeyapikeyapikey
```
#### Multiple Widgets
Each service can have multiple widgets attached to it, for example:
```yaml
- Emby:
icon: emby.png
href: http://emby.host.or.ip/
description: Movies & TV Shows
widgets:
- type: emby
url: http://emby.host.or.ip
key: apikeyapikeyapikeyapikeyapikey
- type: uptimekuma
url: http://uptimekuma.host.or.ip:port
slug: statuspageslug
```
!!! note
Multiple widgets per service are not yet supported with Kubernetes ingress annotations.
#### 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.
**In all cases a widget will work and display all fields without specifying the `fields` property.**
```yaml
- Sonarr:
icon: sonarr.png
href: http://sonarr.host.or.ip
widget:
type: sonarr
fields: ["wanted", "queued"]
url: http://sonarr.host.or.ip
key: apikeyapikeyapikeyapikeyapikey
```
## Descriptions ## Descriptions
Services may have descriptions, Services may have descriptions,
@@ -63,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:
@@ -107,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

@@ -13,6 +13,14 @@ You can customize the title of the page if you'd like.
title: My Awesome Homepage title: My Awesome Homepage
``` ```
## Description
You can customize the description of the page if you'd like.
```yaml
description: A description of my awesome homepage
```
## Start URL ## Start URL
You can customize the start_url as required for installable apps. The default is "/". You can customize the start_url as required for installable apps. The default is "/".
@@ -118,6 +126,22 @@ As an example, this would produce the following layout:
<img width="1260" alt="Screenshot 2022-09-15 at 8 03 57 PM" src="https://user-images.githubusercontent.com/82196/190466646-8ca94505-0fcf-4964-9687-3a6c7cd3144f.png"> <img width="1260" alt="Screenshot 2022-09-15 at 8 03 57 PM" src="https://user-images.githubusercontent.com/82196/190466646-8ca94505-0fcf-4964-9687-3a6c7cd3144f.png">
### Icons-Only Layout
You can also specify the an icon-only layout for bookmarks, either like so:
```yaml
layout:
Media:
iconsOnly: true
```
or globally:
```yaml
bookmarksStyle: icons
```
### Sorting ### Sorting
Service groups and bookmark groups can be mixed in order, **but should use different group names**. If you do not specify any bookmark groups they will all show at the bottom of the page. Service groups and bookmark groups can be mixed in order, **but should use different group names**. If you do not specify any bookmark groups they will all show at the bottom of the page.
@@ -137,6 +161,27 @@ layout:
columns: 3 columns: 3
``` ```
### Nested Groups
If your services config has nested groups, you can apply settings to these groups by nesting them in the layout block
and using the same settings. For example
```yaml
layout:
Group A:
style: row
columns: 4
Group C:
style: row
columns: 2
Nested Group A:
style: row
columns: 2
Nested Group B:
style: row
columns: 2
```
### Headers ### Headers
You can hide headers for each section in the layout as well by passing `header` as false, like so: You can hide headers for each section in the layout as well by passing `header` as false, like so:
@@ -348,12 +393,12 @@ This can also be set for individual services. Note setting this at the service l
## Providers ## Providers
The `providers` section allows you to define shared API provider options and secrets. Currently this allows you to define your weather API keys in secret and is also the location of the Longhorn URL and credentials. The `providers` section allows you to define shared API provider options and secrets.
```yaml ```yaml
providers: providers:
openweathermap: openweathermapapikey openweathermap: openweathermapapikey
weatherapi: weatherapiapikey finnhub: yourfinnhubapikeyhere
longhorn: longhorn:
url: https://longhorn.example.com url: https://longhorn.example.com
username: admin username: admin
@@ -363,10 +408,10 @@ providers:
You can then pass `provider` instead of `apiKey` in your widget configuration. You can then pass `provider` instead of `apiKey` in your widget configuration.
```yaml ```yaml
- weatherapi: - openweathermap:
latitude: 50.449684 latitude: 50.449684
longitude: 30.525026 longitude: 30.525026
provider: weatherapi provider: openweathermap
``` ```
## Quick Launch ## Quick Launch
@@ -402,7 +447,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:
@@ -410,6 +455,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
``` ```
### 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
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,11 +4,9 @@ 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.
@@ -28,3 +26,7 @@ You have a few options for deploying homepage, depending on your needs. We offer
{ .card } { .card }
</div> </div>
### `HOMEPAGE_ALLOWED_HOSTS`
As of v1.0 there is one required environment variable when deploying via a public URL, <code>HOMEPAGE_ALLOWED_HOSTS</code>. This is a comma separated list of allowed hosts (sometimes with the port) that can access your homepage. See the [docker](docker.md) and [source](source.md) installation pages for examples.

View File

@@ -175,6 +175,7 @@ data:
expanded: true expanded: true
cpu: true cpu: true
memory: true memory: true
network: default
- search: - search:
provider: duckduckgo provider: duckduckgo
target: _blank target: _blank
@@ -209,12 +210,20 @@ rules:
- get - get
- list - list
- apiGroups: - apiGroups:
- traefik.containo.us - traefik.io
resources: resources:
- ingressroutes - ingressroutes
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:
@@ -370,7 +379,7 @@ prevent unnecessary re-renders on page loads and window / tab focusing. The
procedure for enabling sticky sessions depends on your Ingress controller. Below procedure for enabling sticky sessions depends on your Ingress controller. Below
is an example using Traefik as the Ingress controller. is an example using Traefik as the Ingress controller.
``` ```yaml
apiVersion: traefik.io/v1alpha1 apiVersion: traefik.io/v1alpha1
kind: IngressRoute kind: IngressRoute
metadata: metadata:

View File

@@ -21,5 +21,7 @@ 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.

View File

@@ -15,11 +15,13 @@ hide:
## 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. Ensure that you follow the rule mentioned on https://gethomepage.dev/configs/service-widgets/. **Unless otherwise noted, URLs should not end with a / or other API path. Each widget will handle the path on its own.**. This is very important as 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 +29,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

View File

@@ -46,16 +46,16 @@ 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 usually 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
To ensure cohesiveness of various widgets, the following should be used as a guide for developing new widgets: To ensure cohesiveness of various widgets, the following should be used as a guide for developing new widgets:
- Please only submit widgets that target a feature request discussion with at least 10 'up-votes'. The purpose of this requirement is to avoid the addition (and maintenance) of service widgets that might only benefit a small number of users. - Please only submit widgets that target a feature request discussion with at least 20 'up-votes'. The purpose of this requirement is to avoid the addition (and maintenance) of service widgets that might only benefit a small number of users.
- Note that we reserve the right to decline widgets for projects that are very young (eg < ~1y) or those with a small reach (eg low GitHub stars). Again, this is in an effort to keep overall widget maintenance under control. - Note that we reserve the right to decline widgets for projects that are very young (eg < ~1y) or those with a small reach (eg low GitHub stars). Again, this is in an effort to keep overall widget maintenance under control.
- Widgets should be only one row of blocks - Widgets should be only one row of blocks
- Widgets should be no more than 4 blocks wide and generally conform to the styling / design choices of other widgets - Widgets should be no more than 4 blocks wide and generally conform to the styling / design choices of other widgets

View File

@@ -50,7 +50,7 @@ You can also pass API keys from the widget configuration to the proxy handler, f
### `credentialedProxyHandler` ### `credentialedProxyHandler`
A proxy handler that makes authenticated by setting request headers. Credentials are pulled from the widgets configuration. A proxy handler that makes authenticated requests by setting request headers. Credentials are pulled from the widgets configuration.
By default the key is passed as an `X-API-Key` header. If you need to pass the key as something else, either add a case to the credentialedProxyHandler or create a new proxy handler. By default the key is passed as an `X-API-Key` header. If you need to pass the key as something else, either add a case to the credentialedProxyHandler or create a new proxy handler.

View File

@@ -19,12 +19,17 @@ Service widgets are used to display the status of a service, often a web service
description: Watch movies and TV shows. description: Watch movies and TV shows.
server: localhost server: localhost
container: plex container: plex
widget: widgets:
type: tautulli - type: tautulli
url: http://172.16.1.1:8181 url: http://172.16.1.1:8181
key: aabbccddeeffgghhiijjkkllmmnnoo key: aabbccddeeffgghhiijjkkllmmnnoo
- type: uptimekuma
url: http://172.16.1.2:8080
slug: aaaaaaabbbbb
``` ```
More detail on configuring service widgets can be found in the [Service Widgets Config](../configs/services.md) section.
## Info Widgets ## Info Widgets
Info widgets are used to display information in the header, often about your system or environment. Info widgets are defined your `widgets.yaml` file. Here's an example: Info widgets are used to display information in the header, often about your system or environment. Info widgets are defined your `widgets.yaml` file. Here's an example:
@@ -36,3 +41,5 @@ Info widgets are used to display information in the header, often about your sys
longitude: -117.51 longitude: -117.51
cache: 5 cache: 5
``` ```
More detail on configuring info widgets can be found in the [Info Widgets Config](../configs/info-widgets.md) section.

View File

@@ -3,7 +3,7 @@ title: Open-Meteo
description: Open-Meteo Information Widget Configuration description: Open-Meteo Information Widget Configuration
--- ---
No registration is required at all! See [https://open-meteo.com/en/docs](https://open-meteo.com/en/docs) Homepage's recommended weather widget. No registration is required at all! See [https://open-meteo.com/en/docs](https://open-meteo.com/en/docs)
```yaml ```yaml
- openmeteo: - openmeteo:

View File

@@ -24,9 +24,10 @@ _Note: unfortunately, the package used for getting CPU temp ([systeminformation]
tempmin: 0 # optional, minimum cpu temp tempmin: 0 # optional, minimum cpu temp
tempmax: 100 # optional, maximum cpu temp tempmax: 100 # optional, maximum cpu temp
uptime: true uptime: true
units: imperial # only used by cpu temp units: imperial # only used by cpu temp, options: 'imperial' or 'metric'
refresh: 3000 # optional, in ms refresh: 3000 # optional, in ms
diskUnits: bytes # optional, bytes (default) or bbytes. Only applies to disk diskUnits: bytes # optional, bytes (default) or bbytes. Only applies to disk
network: true # optional, uses 'default' if true or specify a network interface name
``` ```
You can also pass a `label` option, which allows you to group resources under named sections, You can also pass a `label` option, which allows you to group resources under named sections,

View File

@@ -7,7 +7,7 @@ _(Find the Unifi Controller service widget [here](../services/unifi-controller.m
You can display general connectivity status from your Unifi (Network) Controller. You can display general connectivity status from your Unifi (Network) Controller.
!!! !!! warning
When authenticating you will want to use a local account that has at least read privileges. When authenticating you will want to use a local account that has at least read privileges.
@@ -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

@@ -1,22 +0,0 @@
---
title: Weather API
description: Weather API Information Widget Configuration
---
**Note: this widget is considered 'deprecated' since there is no longer a free Weather API tier for new members. See the openmeteo or openweathermap widgets for alternatives.**
The free tier is all that's required, you will need to [register](https://www.weatherapi.com/signup.aspx) and grab your API key.
```yaml
- weatherapi:
label: Kyiv # optional
latitude: 50.449684
longitude: 30.525026
units: metric # or imperial
apiKey: yourweatherapikey
cache: 5 # Time in minutes to cache API responses, to stay within limits
format: # optional, Intl.NumberFormat options
maximumFractionDigits: 1
```
You can optionally not pass a `latitude` and `longitude` and the widget will use your current location (requires a secure context, eg. HTTPS).

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

@@ -7,11 +7,18 @@ Learn more about [Beszel](https://github.com/henrygd/beszel)
The widget has two modes, a single system with detailed info if `systemId` is provided, or an overview of all systems if `systemId` is not provided. The widget has two modes, a single system with detailed info if `systemId` is provided, or an overview of all systems if `systemId` is not provided.
The `systemID` in the `id` field on the collections page of Beszel. 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"]`
| Beszel Version | Homepage Widget Version |
| -------------- | ----------------------- |
| < 0.9.0 | 1 (default) |
| >= 0.9.0 | 2 |
```yaml ```yaml
widget: widget:
type: beszel type: beszel
@@ -19,4 +26,5 @@ widget:
username: username # email username: username # email
password: password password: password
systemId: systemId # optional systemId: systemId # optional
version: 2 # optional, default is 1
``` ```

View File

@@ -62,10 +62,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

View File

@@ -14,4 +14,5 @@ widget:
type: deluge type: deluge
url: http://deluge.host.or.ip url: http://deluge.host.or.ip
password: password # webui password password: password # webui password
enableLeechProgress: true # optional, defaults to false
``` ```

View File

@@ -16,5 +16,6 @@ To group both `offline` and `unknown` devices together, users should use the `of
widget: widget:
type: esphome type: esphome
url: http://esphome.host.or.ip:port url: http://esphome.host.or.ip:port
key: myesphomecookie # only if auth enabled, get the value from a request from the frontend e.g. `authenticated=myesphomecookie` username: myesphomeuser # only if auth enabled
password: myesphomepass # only if auth enabled
``` ```

View File

@@ -3,7 +3,7 @@ title: EVCC
description: EVCC Widget Configuration description: EVCC Widget Configuration
--- ---
Learn more about [EVSS](https://github.com/evcc-io/evcc). Learn more about [EVCC](https://github.com/evcc-io/evcc).
Allowed fields: `["pv_power", "grid_power", "home_power", "charge_power]`. Allowed fields: `["pv_power", "grid_power", "home_power", "charge_power]`.

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

@@ -51,6 +51,8 @@ The metric field in the configuration determines the type of system monitoring d
`process`: Top 5 processes based on CPU usage. Gives an overview of which processes are consuming the most resources. `process`: Top 5 processes based on CPU usage. Gives an overview of which processes are consuming the most resources.
`containers`: Docker or Kubernetes containers list. Shows up to 5 containers running on the system and their resource usage.
`network:<interface_name>`: Network data usage for the specified interface. Replace `<interface_name>` with the name of your network interface, e.g., `network:enp0s25`, as specified in glances. `network:<interface_name>`: Network data usage for the specified interface. Replace `<interface_name>` with the name of your network interface, e.g., `network:enp0s25`, as specified in glances.
`sensor:<sensor_id>`: Temperature of the specified sensor, typically used to monitor CPU temperature. Replace `<sensor_id>` with the name of your sensor, e.g., `sensor:Package id 0` as specified in glances. `sensor:<sensor_id>`: Temperature of the specified sensor, typically used to monitor CPU temperature. Replace `<sensor_id>` with the name of your sensor, e.g., `sensor:Package id 0` as specified in glances.

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

@@ -14,6 +14,7 @@ Allowed fields: `["name", "address", "last_seen", "status"]`.
```yaml ```yaml
widget: widget:
type: headscale type: headscale
url: http://headscale.host.or.ip:port
nodeId: nodeid nodeId: nodeid
key: headscaleapiaccesstoken key: headscaleapiaccesstoken
``` ```

View File

@@ -0,0 +1,17 @@
---
title: Hoarder
description: Hoarder Widget Configuration
---
Learn more about [Hoarder](https://hoarder.app).
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: hoarder
url: http[s]://hoarder.host.or.ip[:port]
key: hoarderapikey
```

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)
- [Hoarder](hoarder.md)
- [Home Assistant](homeassistant.md) - [Home Assistant](homeassistant.md)
- [HomeBox](homebox.md) - [HomeBox](homebox.md)
- [Homebridge](homebridge.md) - [Homebridge](homebridge.md)

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,6 +9,11 @@ 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

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

@@ -15,4 +15,5 @@ widget:
url: http://qbittorrent.host.or.ip url: http://qbittorrent.host.or.ip
username: username username: username
password: password password: password
enableLeechProgress: true # optional, defaults to false
``` ```

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

@@ -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

@@ -9,7 +9,7 @@ _(Find the Unifi Controller information widget [here](../info/unifi_controller.m
You can display general connectivity status from your Unifi (Network) Controller. You can display general connectivity status from your Unifi (Network) Controller.
!!! !!! warning
When authenticating you will want to use a local account that has at least read privileges. When authenticating you will want to use a local account that has at least read privileges.
@@ -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

@@ -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

@@ -21,8 +21,8 @@ nav:
- configs/index.md - configs/index.md
- configs/settings.md - configs/settings.md
- configs/bookmarks.md - configs/bookmarks.md
- configs/info-widgets.md
- configs/services.md - configs/services.md
- configs/service-widgets.md
- configs/kubernetes.md - configs/kubernetes.md
- configs/docker.md - configs/docker.md
- configs/custom-css-js.md - configs/custom-css-js.md
@@ -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/hoarder.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
@@ -142,6 +145,7 @@ nav:
- widgets/services/spoolman.md - widgets/services/spoolman.md
- widgets/services/stash.md - widgets/services/stash.md
- widgets/services/stocks.md - widgets/services/stocks.md
- widgets/services/suwayomi.md
- widgets/services/swagdashboard.md - widgets/services/swagdashboard.md
- widgets/services/syncthing-relay-server.md - widgets/services/syncthing-relay-server.md
- widgets/services/tailscale.md - widgets/services/tailscale.md
@@ -177,7 +181,6 @@ nav:
- widgets/info/search.md - widgets/info/search.md
- widgets/info/stocks.md - widgets/info/stocks.md
- widgets/info/unifi_controller.md - widgets/info/unifi_controller.md
- widgets/info/weather.md
- "Learn": - "Learn":
- widgets/authoring/index.md - widgets/authoring/index.md
- "Getting Started": widgets/authoring/getting-started.md - "Getting Started": widgets/authoring/getting-started.md

8653
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.0.1",
"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,54 @@
"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.2", "gamedig": "^5.2.0",
"i18next": "^21.10.0", "i18next": "^21.10.0",
"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.1",
"next": "^12.3.4", "next": "^15.1.7",
"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": "^1.3.0",
"systeminformation": "^5.23.2", "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.1.7",
"eslint-config-next": "^14.2.3", "eslint-config-prettier": "^10.0.2",
"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.1", "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.2",
"prettier": "^3.2.5", "prettier": "^3.5.2",
"tailwind-scrollbar": "^3.0.5", "tailwind-scrollbar": "^4.0.1",
"tailwindcss": "^3.4.14", "tailwindcss": "^4.0.9",
"typescript": "^5.6.3" "typescript": "^5.7.3"
}, },
"optionalDependencies": { "optionalDependencies": {
"osx-temperature-sensor": "^1.0.8" "osx-temperature-sensor": "^1.0.8"

4370
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

@@ -120,7 +120,7 @@
"grid_power": "Rooster", "grid_power": "Rooster",
"home_power": "Verbruik", "home_power": "Verbruik",
"charge_power": "Laaier", "charge_power": "Laaier",
"watt_hour": "Wh" "kilowatt": "kW"
}, },
"flood": { "flood": {
"download": "Aflaai", "download": "Aflaai",
@@ -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",
@@ -982,6 +988,9 @@
"name": "Naam", "name": "Naam",
"systems": "Stelsels", "systems": "Stelsels",
"up": "Op", "up": "Op",
"down": "Af",
"paused": "Onderbreek",
"pending": "Afwagtend",
"status": "Status", "status": "Status",
"updated": "Opgedateer", "updated": "Opgedateer",
"cpu": "SVE", "cpu": "SVE",
@@ -990,22 +999,36 @@
"network": "NET" "network": "NET"
}, },
"argocd": { "argocd": {
"apps": "Apps", "apps": "Programme",
"synced": "Synced", "synced": "Gesinkroniseer",
"outOfSync": "Out Of Sync", "outOfSync": "Nie Gesinchroniseer Nie",
"healthy": "Gesond", "healthy": "Gesond",
"degraded": "Degraded", "degraded": "Gedegradeer",
"progressing": "Progressing", "progressing": "Vorderend",
"missing": "Vermis", "missing": "Vermis",
"suspended": "Suspended" "suspended": "Geskors"
}, },
"spoolman": { "spoolman": {
"loading": "Laai" "loading": "Laai"
}, },
"gitlab": { "gitlab": {
"groups": "Groups", "groups": "Groepe",
"issues": "Kwessies", "issues": "Kwessies",
"merges": "Merge Requests", "merges": "Saamvleg Versoeke",
"projects": "Projects" "projects": "Projekte"
},
"apcups": {
"status": "Status",
"load": "Las",
"bcharge": "Batterylading",
"timeleft": "Oorblywende Tyd"
},
"hoarder": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Merkers"
} }
} }

View File

@@ -120,7 +120,7 @@
"grid_power": "شبكة", "grid_power": "شبكة",
"home_power": "الاستهلاك", "home_power": "الاستهلاك",
"charge_power": "شاحن", "charge_power": "شاحن",
"watt_hour": "واط ساعة" "kilowatt": "kW"
}, },
"flood": { "flood": {
"download": "التنزيل", "download": "التنزيل",
@@ -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": "مصادر البيانات",
@@ -982,6 +988,9 @@
"name": "الاسم", "name": "الاسم",
"systems": "Systems", "systems": "Systems",
"up": "يعمل", "up": "يعمل",
"down": "لا يعمل",
"paused": "متوقف",
"pending": "معلق",
"status": "الحالة", "status": "الحالة",
"updated": "محدث", "updated": "محدث",
"cpu": "المعالج", "cpu": "المعالج",
@@ -1007,5 +1016,19 @@
"issues": "المُشكِلات", "issues": "المُشكِلات",
"merges": "Merge Requests", "merges": "Merge Requests",
"projects": "Projects" "projects": "Projects"
},
"apcups": {
"status": "الحالة",
"load": "الضغط",
"bcharge": "شحن البطارية",
"timeleft": "الوقت المتبقي"
},
"hoarder": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "التصنيفات"
} }
} }

File diff suppressed because it is too large Load Diff

View File

@@ -120,7 +120,7 @@
"grid_power": "Xarxa", "grid_power": "Xarxa",
"home_power": "Consum", "home_power": "Consum",
"charge_power": "Carregador", "charge_power": "Carregador",
"watt_hour": "Wh" "kilowatt": "kW"
}, },
"flood": { "flood": {
"download": "Descarregar", "download": "Descarregar",
@@ -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": {
@@ -350,7 +352,7 @@
"queue": "Cua", "queue": "Cua",
"processed": "Processat", "processed": "Processat",
"errored": "Error", "errored": "Error",
"saved": "Desat" "saved": "Estalviat"
}, },
"traefik": { "traefik": {
"routers": "Encaminadors", "routers": "Encaminadors",
@@ -581,7 +583,7 @@
"clientIP": "Client" "clientIP": "Client"
}, },
"scrutiny": { "scrutiny": {
"passed": "Aprobat", "passed": "Aprovat",
"failed": "Error", "failed": "Error",
"unknown": "Desconegut" "unknown": "Desconegut"
}, },
@@ -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",
@@ -820,7 +826,7 @@
"total": "Total", "total": "Total",
"running": "En execució", "running": "En execució",
"stopped": "Aturat", "stopped": "Aturat",
"passed": "Aprobat", "passed": "Aprovat",
"failed": "Error" "failed": "Error"
}, },
"openwrt": { "openwrt": {
@@ -982,6 +988,9 @@
"name": "Nom", "name": "Nom",
"systems": "Sistemes", "systems": "Sistemes",
"up": "Actiu", "up": "Actiu",
"down": "Inactiu",
"paused": "En pausa",
"pending": "Pendent",
"status": "Estat", "status": "Estat",
"updated": "Actualitzat", "updated": "Actualitzat",
"cpu": "CPU", "cpu": "CPU",
@@ -991,21 +1000,35 @@
}, },
"argocd": { "argocd": {
"apps": "Apps", "apps": "Apps",
"synced": "Synced", "synced": "Sincronitzats",
"outOfSync": "Out Of Sync", "outOfSync": "Dessincronitzats",
"healthy": "Saludable", "healthy": "Saludable",
"degraded": "Degraded", "degraded": "Degradats",
"progressing": "Progressing", "progressing": "Progressant",
"missing": "Falten", "missing": "Falten",
"suspended": "Suspended" "suspended": "Suspesos"
}, },
"spoolman": { "spoolman": {
"loading": "Carregant" "loading": "Carregant"
}, },
"gitlab": { "gitlab": {
"groups": "Groups", "groups": "Grups",
"issues": "Problemes", "issues": "Problemes",
"merges": "Merge Requests", "merges": "Merge Requests",
"projects": "Projects" "projects": "Projectes"
},
"apcups": {
"status": "Estat",
"load": "Càrrega",
"bcharge": "Càrrega de la bateria",
"timeleft": "Temps restant"
},
"hoarder": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Etiquetes"
} }
} }

View File

@@ -120,7 +120,7 @@
"grid_power": "Mřížka", "grid_power": "Mřížka",
"home_power": "Spotřeba", "home_power": "Spotřeba",
"charge_power": "Nabíječka", "charge_power": "Nabíječka",
"watt_hour": "Wh" "kilowatt": "kW"
}, },
"flood": { "flood": {
"download": "Stahování", "download": "Stahování",
@@ -148,7 +148,9 @@
"up": "Up", "up": "Up",
"received": "Přijaté", "received": "Přijaté",
"sent": "Odeslané", "sent": "Odeslané",
"externalIPAddress": "Ext. IP" "externalIPAddress": "Ext. IP",
"externalIPv6Address": "Ext. IPv6",
"externalIPv6Prefix": "Ext. 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": "Connected gateways",
"connectedSwitches": "Připojené přepínače" "connectedSwitches": "Připojené přepínače"
}, },
"nzbget": { "nzbget": {
@@ -702,6 +704,10 @@
"processed": "Zpracováno", "processed": "Zpracováno",
"time": "Čas" "time": "Čas"
}, },
"firefly": {
"networth": "Net Worth",
"budget": "Budget"
},
"grafana": { "grafana": {
"dashboards": "Nástěnky", "dashboards": "Nástěnky",
"datasources": "Zdroje dat", "datasources": "Zdroje dat",
@@ -982,6 +988,9 @@
"name": "Name", "name": "Name",
"systems": "Systems", "systems": "Systems",
"up": "Up", "up": "Up",
"down": "Down",
"paused": "Pozastaveno",
"pending": "Čeká",
"status": "Stav", "status": "Stav",
"updated": "Aktualizováno", "updated": "Aktualizováno",
"cpu": "CPU", "cpu": "CPU",
@@ -1007,5 +1016,19 @@
"issues": "Problémy", "issues": "Problémy",
"merges": "Merge Requests", "merges": "Merge Requests",
"projects": "Projects" "projects": "Projects"
},
"apcups": {
"status": "Stav",
"load": "Zatížení",
"bcharge": "Battery Charge",
"timeleft": "Zbývající čas"
},
"hoarder": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Tags"
} }
} }

View File

@@ -120,7 +120,7 @@
"grid_power": "Gitter", "grid_power": "Gitter",
"home_power": "Forbrug", "home_power": "Forbrug",
"charge_power": "Oplader", "charge_power": "Oplader",
"watt_hour": "Wh" "kilowatt": "kW"
}, },
"flood": { "flood": {
"download": "Download", "download": "Download",
@@ -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",
@@ -982,6 +988,9 @@
"name": "Navn", "name": "Navn",
"systems": "Systems", "systems": "Systems",
"up": "Op", "up": "Op",
"down": "Ned",
"paused": "Pause",
"pending": "Afventer",
"status": "Status", "status": "Status",
"updated": "Opdateret", "updated": "Opdateret",
"cpu": "CPU", "cpu": "CPU",
@@ -1007,5 +1016,19 @@
"issues": "Problemer", "issues": "Problemer",
"merges": "Merge Requests", "merges": "Merge Requests",
"projects": "Projects" "projects": "Projects"
},
"apcups": {
"status": "Status",
"load": "Belastning",
"bcharge": "Batteriniveau",
"timeleft": "Resterende tid"
},
"hoarder": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Tags"
} }
} }

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": {
@@ -120,7 +120,7 @@
"grid_power": "Netz", "grid_power": "Netz",
"home_power": "verbauch", "home_power": "verbauch",
"charge_power": "Ladegerät", "charge_power": "Ladegerät",
"watt_hour": "Wh" "kilowatt": "kW"
}, },
"flood": { "flood": {
"download": "Download", "download": "Download",
@@ -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",
@@ -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"
@@ -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",
@@ -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"
}, },
@@ -840,9 +846,9 @@
"sitesDown": "Seiten nicht verfügbar", "sitesDown": "Seiten nicht verfügbar",
"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": {
@@ -981,7 +987,10 @@
"beszel": { "beszel": {
"name": "Name", "name": "Name",
"systems": "Systeme", "systems": "Systeme",
"up": "Senden", "up": "Online",
"down": "Offline",
"paused": "Pausiert",
"pending": "Ausstehend",
"status": "Status", "status": "Status",
"updated": "Aktualisiert", "updated": "Aktualisiert",
"cpu": "CPU", "cpu": "CPU",
@@ -1003,9 +1012,23 @@
"loading": "Wird geladen" "loading": "Wird geladen"
}, },
"gitlab": { "gitlab": {
"groups": "Groups", "groups": "Gruppen",
"issues": "Probleme", "issues": "Probleme",
"merges": "Merge Requests", "merges": "Merge Requests",
"projects": "Projects" "projects": "Projekte"
},
"apcups": {
"status": "Status",
"load": "Last",
"bcharge": "Akkuladung",
"timeleft": "Verbleibende Zeit"
},
"hoarder": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Schlagwörter"
} }
} }

View File

@@ -120,7 +120,7 @@
"grid_power": "Πλέγμα", "grid_power": "Πλέγμα",
"home_power": "Κατανάλωση", "home_power": "Κατανάλωση",
"charge_power": "Φορτιστής", "charge_power": "Φορτιστής",
"watt_hour": "Wh" "kilowatt": "kW"
}, },
"flood": { "flood": {
"download": "Λήξη", "download": "Λήξη",
@@ -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": "Πηγές Δεδομένων",
@@ -982,6 +988,9 @@
"name": "Όνομα", "name": "Όνομα",
"systems": "Systems", "systems": "Systems",
"up": "Ping up", "up": "Ping up",
"down": "Ping down",
"paused": "Paused",
"pending": "Σε εκκρεμότητα",
"status": "Κατάσταση", "status": "Κατάσταση",
"updated": "Ενημερώθηκε", "updated": "Ενημερώθηκε",
"cpu": "Επεξεργαστής", "cpu": "Επεξεργαστής",
@@ -1007,5 +1016,19 @@
"issues": "Issues", "issues": "Issues",
"merges": "Merge Requests", "merges": "Merge Requests",
"projects": "Projects" "projects": "Projects"
},
"apcups": {
"status": "Κατάσταση",
"load": "Φόρτωση",
"bcharge": "Battery Charge",
"timeleft": "Χρόνος που απομένει"
},
"hoarder": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Ετικέτες"
} }
} }

View File

@@ -120,7 +120,7 @@
"grid_power": "Grid", "grid_power": "Grid",
"home_power": "Consumption", "home_power": "Consumption",
"charge_power": "Charger", "charge_power": "Charger",
"watt_hour": "Wh" "kilowatt": "kW"
}, },
"flood": { "flood": {
"download": "Download", "download": "Download",
@@ -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",
@@ -982,6 +988,9 @@
"name": "Name", "name": "Name",
"systems": "Systems", "systems": "Systems",
"up": "Up", "up": "Up",
"down": "Down",
"paused": "Paused",
"pending": "Pending",
"status": "Status", "status": "Status",
"updated": "Updated", "updated": "Updated",
"cpu": "CPU", "cpu": "CPU",
@@ -1007,5 +1016,19 @@
"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"
},
"hoarder": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Tags"
} }
} }

View File

@@ -120,7 +120,7 @@
"grid_power": "Grid", "grid_power": "Grid",
"home_power": "Consumption", "home_power": "Consumption",
"charge_power": "Charger", "charge_power": "Charger",
"watt_hour": "Wh" "kilowatt": "kW"
}, },
"flood": { "flood": {
"download": "Elŝuti", "download": "Elŝuti",
@@ -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",
@@ -982,6 +988,9 @@
"name": "Name", "name": "Name",
"systems": "Systems", "systems": "Systems",
"up": "Up", "up": "Up",
"down": "Down",
"paused": "Paused",
"pending": "Pending",
"status": "Stato", "status": "Stato",
"updated": "Updated", "updated": "Updated",
"cpu": "Ĉefprocesoro", "cpu": "Ĉefprocesoro",
@@ -1007,5 +1016,19 @@
"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"
},
"hoarder": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Tags"
} }
} }

View File

@@ -120,7 +120,7 @@
"grid_power": "Red", "grid_power": "Red",
"home_power": "Consumo", "home_power": "Consumo",
"charge_power": "Cargador", "charge_power": "Cargador",
"watt_hour": "vatio-hora (Wh)" "kilowatt": "kW"
}, },
"flood": { "flood": {
"download": "Descarga", "download": "Descarga",
@@ -148,7 +148,9 @@
"up": "Activo", "up": "Activo",
"received": "Recibido", "received": "Recibido",
"sent": "Enviado", "sent": "Enviado",
"externalIPAddress": "IP ext." "externalIPAddress": "IP ext.",
"externalIPv6Address": "Ext. IPv6",
"externalIPv6Prefix": "Ext. IPv6-Prefix"
}, },
"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": "Connected gateways",
"connectedSwitches": "Conmutadores conectados" "connectedSwitches": "Conmutadores conectados"
}, },
"nzbget": { "nzbget": {
@@ -311,13 +313,13 @@
}, },
"suwayomi": { "suwayomi": {
"download": "Descargado", "download": "Descargado",
"nondownload": "Non-Downloaded", "nondownload": "No descargado",
"read": "Leer", "read": "Leer",
"unread": "Sin leer", "unread": "Sin leer",
"downloadedread": "Downloaded & Read", "downloadedread": "Descargado y leído",
"downloadedunread": "Downloaded & Unread", "downloadedunread": "Descargado y no leído",
"nondownloadedread": "Non-Downloaded & Read", "nondownloadedread": "No descargado y leído",
"nondownloadedunread": "Non-Downloaded & Unread" "nondownloadedunread": "No descargado y no leído"
}, },
"tailscale": { "tailscale": {
"address": "Dirección", "address": "Dirección",
@@ -702,6 +704,10 @@
"processed": "Procesado", "processed": "Procesado",
"time": "Tiempo" "time": "Tiempo"
}, },
"firefly": {
"networth": "Net Worth",
"budget": "Budget"
},
"grafana": { "grafana": {
"dashboards": "Tableros", "dashboards": "Tableros",
"datasources": "Fuentes de datos", "datasources": "Fuentes de datos",
@@ -980,32 +986,49 @@
}, },
"beszel": { "beszel": {
"name": "Nombre", "name": "Nombre",
"systems": "Systems", "systems": "Sistemas",
"up": "Activo", "up": "Activo",
"down": "Inactivo",
"paused": "Pausado",
"pending": "Pendiente",
"status": "Estado", "status": "Estado",
"updated": "Actualizado", "updated": "Actualizado",
"cpu": "CPU", "cpu": "CPU",
"memory": "MEM", "memory": "MEM",
"disk": "Disk", "disk": "Disco",
"network": "NET" "network": "RED"
}, },
"argocd": { "argocd": {
"apps": "Apps", "apps": "Apps",
"synced": "Synced", "synced": "Sincronizado",
"outOfSync": "Out Of Sync", "outOfSync": "Desincronizado",
"healthy": "Saludable", "healthy": "Saludable",
"degraded": "Degraded", "degraded": "Degradado",
"progressing": "Progressing", "progressing": "Progresando",
"missing": "Faltantes", "missing": "Faltantes",
"suspended": "Suspended" "suspended": "Suspendido"
}, },
"spoolman": { "spoolman": {
"loading": "Cargando" "loading": "Cargando"
}, },
"gitlab": { "gitlab": {
"groups": "Groups", "groups": "Grupos",
"issues": "Números", "issues": "Números",
"merges": "Merge Requests", "merges": "Solicitudes de fusión",
"projects": "Projects" "projects": "Proyectos"
},
"apcups": {
"status": "Estado",
"load": "Carga",
"bcharge": "Carga de la batería",
"timeleft": "Tiempo restante"
},
"hoarder": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Etiquetas"
} }
} }

View File

@@ -120,7 +120,7 @@
"grid_power": "Grid", "grid_power": "Grid",
"home_power": "Consumption", "home_power": "Consumption",
"charge_power": "Charger", "charge_power": "Charger",
"watt_hour": "Wh" "kilowatt": "kW"
}, },
"flood": { "flood": {
"download": "Download", "download": "Download",
@@ -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",
@@ -982,6 +988,9 @@
"name": "Name", "name": "Name",
"systems": "Systems", "systems": "Systems",
"up": "Up", "up": "Up",
"down": "Down",
"paused": "Paused",
"pending": "Pending",
"status": "Status", "status": "Status",
"updated": "Updated", "updated": "Updated",
"cpu": "CPU", "cpu": "CPU",
@@ -1007,5 +1016,19 @@
"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"
},
"hoarder": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Tags"
} }
} }

View File

@@ -120,7 +120,7 @@
"grid_power": "Grid", "grid_power": "Grid",
"home_power": "Consumption", "home_power": "Consumption",
"charge_power": "Charger", "charge_power": "Charger",
"watt_hour": "Wh" "kilowatt": "kW"
}, },
"flood": { "flood": {
"download": "Download", "download": "Download",
@@ -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",
@@ -982,6 +988,9 @@
"name": "Name", "name": "Name",
"systems": "Systems", "systems": "Systems",
"up": "Up", "up": "Up",
"down": "Down",
"paused": "Paused",
"pending": "Vireillä",
"status": "Tila", "status": "Tila",
"updated": "Updated", "updated": "Updated",
"cpu": "CPU", "cpu": "CPU",
@@ -1007,5 +1016,19 @@
"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ä"
},
"hoarder": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Tags"
} }
} }

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": "Équipt. 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,24 +77,24 @@
"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": "Bas",
"up": "Up", "up": "Haut",
"not_available": "Non disponible" "not_available": "Non disponible"
}, },
"siteMonitor": { "siteMonitor": {
"http_status": "Statut HTTP", "http_status": "Statut HTTP",
"error": "Erreur", "error": "Erreur",
"response": "Réponse", "response": "Réponse",
"down": "Down", "down": "Bas",
"up": "Up", "up": "Haut",
"not_available": "Non disponible" "not_available": "Non disponible"
}, },
"emby": { "emby": {
@@ -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",
@@ -120,11 +120,11 @@
"grid_power": "Grille", "grid_power": "Grille",
"home_power": "Consommation", "home_power": "Consommation",
"charge_power": "Chargeur", "charge_power": "Chargeur",
"watt_hour": "Wh" "kilowatt": "kW"
}, },
"flood": { "flood": {
"download": "Récep.", "download": "Récep.",
"upload": "Envoi", "upload": "Téléverser",
"leech": "Leech", "leech": "Leech",
"seed": "Seed" "seed": "Seed"
}, },
@@ -144,23 +144,25 @@
"uptime": "Démarré depuis", "uptime": "Démarré depuis",
"maxDown": "Max. Bas", "maxDown": "Max. Bas",
"maxUp": "Max. Haut", "maxUp": "Max. Haut",
"down": "Down", "down": "Bas",
"up": "Up", "up": "Haut",
"received": "Reçu", "received": "Reçu",
"sent": "Envoyé", "sent": "Envoyé",
"externalIPAddress": "IP externe" "externalIPAddress": "IP externe",
"externalIPv6Address": "Ext. IPv6",
"externalIPv6Prefix": "Ext. IPv6-Prefix"
}, },
"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": "Connected gateways",
"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",
@@ -521,15 +523,15 @@
"up_to_date": "À jour", "up_to_date": "À jour",
"child_bridges": "Child Bridges", "child_bridges": "Child Bridges",
"child_bridges_status": "{{ok}}/{{total}}", "child_bridges_status": "{{ok}}/{{total}}",
"up": "Up", "up": "Haut",
"pending": "En attente", "pending": "En attente",
"down": "Down" "down": "Bas"
}, },
"healthchecks": { "healthchecks": {
"new": "Nouveau", "new": "Nouveau",
"up": "Up", "up": "Haut",
"grace": "En Période de Grâce", "grace": "En Période de Grâce",
"down": "Down", "down": "Bas",
"paused": "En Pause", "paused": "En Pause",
"status": "Statut", "status": "Statut",
"last_ping": "Dernier Ping", "last_ping": "Dernier Ping",
@@ -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": {
@@ -644,9 +646,9 @@
"load": "Charge moy.", "load": "Charge moy.",
"memory": "Util. Mém.", "memory": "Util. Mém.",
"wanStatus": "Statut WAN", "wanStatus": "Statut WAN",
"up": "Up", "up": "Haut",
"down": "Down", "down": "Bas",
"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",
@@ -826,8 +832,8 @@
"openwrt": { "openwrt": {
"uptime": "Démarré depuis", "uptime": "Démarré depuis",
"cpuLoad": "Charge moyenne CPU (5 min)", "cpuLoad": "Charge moyenne CPU (5 min)",
"up": "Up", "up": "Haut",
"down": "Down", "down": "Bas",
"bytesTx": "Transmis", "bytesTx": "Transmis",
"bytesRx": "Reçu" "bytesRx": "Reçu"
}, },
@@ -840,9 +846,9 @@
"sitesDown": "Hors ligne", "sitesDown": "Hors ligne",
"paused": "En Pause", "paused": "En Pause",
"notyetchecked": "Non vérifié", "notyetchecked": "Non vérifié",
"up": "Up", "up": "Haut",
"seemsdown": "Semble hors ligne", "seemsdown": "Semble hors ligne",
"down": "Down", "down": "Bas",
"unknown": "Inconnu" "unknown": "Inconnu"
}, },
"calendar": { "calendar": {
@@ -912,7 +918,7 @@
}, },
"crowdsec": { "crowdsec": {
"alerts": "Alertes", "alerts": "Alertes",
"bans": "Exclusions" "bans": "Bannissements"
}, },
"wgeasy": { "wgeasy": {
"connected": "Connecté", "connected": "Connecté",
@@ -927,12 +933,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",
@@ -981,7 +987,10 @@
"beszel": { "beszel": {
"name": "Nom", "name": "Nom",
"systems": "Systèmes", "systems": "Systèmes",
"up": "Up", "up": "Haut",
"down": "Bas",
"paused": "En Pause",
"pending": "En attente",
"status": "Statut", "status": "Statut",
"updated": "Mis à jour", "updated": "Mis à jour",
"cpu": "CPU", "cpu": "CPU",
@@ -990,22 +999,36 @@
"network": "Réseau" "network": "Réseau"
}, },
"argocd": { "argocd": {
"apps": "Apps", "apps": "Applications",
"synced": "Synced", "synced": "Synchronisé",
"outOfSync": "Out Of Sync", "outOfSync": "Désynchronisé",
"healthy": "Fonctionnel", "healthy": "Fonctionnel",
"degraded": "Degraded", "degraded": "Dégradé",
"progressing": "Progressing", "progressing": "En cours",
"missing": "Manquant", "missing": "Manquant",
"suspended": "Suspended" "suspended": "Suspendu"
}, },
"spoolman": { "spoolman": {
"loading": "Chargement" "loading": "Chargement"
}, },
"gitlab": { "gitlab": {
"groups": "Groups", "groups": "Groupes",
"issues": "Anomalies", "issues": "Anomalies",
"merges": "Merge Requests", "merges": "Demandes de fusion de branches",
"projects": "Projects" "projects": "Projets"
},
"apcups": {
"status": "Statut",
"load": "Charge",
"bcharge": "Charge de la batterie",
"timeleft": "Temps restant"
},
"hoarder": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Étiquettes"
} }
} }

View File

@@ -120,7 +120,7 @@
"grid_power": "Grid", "grid_power": "Grid",
"home_power": "Consumption", "home_power": "Consumption",
"charge_power": "Charger", "charge_power": "Charger",
"watt_hour": "Wh" "kilowatt": "kW"
}, },
"flood": { "flood": {
"download": "Download", "download": "Download",
@@ -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",
@@ -982,6 +988,9 @@
"name": "Name", "name": "Name",
"systems": "Systems", "systems": "Systems",
"up": "Up", "up": "Up",
"down": "Down",
"paused": "Paused",
"pending": "ממתין",
"status": "סטטוס", "status": "סטטוס",
"updated": "Updated", "updated": "Updated",
"cpu": "CPU", "cpu": "CPU",
@@ -1007,5 +1016,19 @@
"issues": "Issues", "issues": "Issues",
"merges": "Merge Requests", "merges": "Merge Requests",
"projects": "Projects" "projects": "Projects"
},
"apcups": {
"status": "סטטוס",
"load": "עומס",
"bcharge": "Battery Charge",
"timeleft": "זמן שנותר"
},
"hoarder": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Tags"
} }
} }

View File

@@ -120,7 +120,7 @@
"grid_power": "Grid", "grid_power": "Grid",
"home_power": "Consumption", "home_power": "Consumption",
"charge_power": "Charger", "charge_power": "Charger",
"watt_hour": "Wh" "kilowatt": "kW"
}, },
"flood": { "flood": {
"download": "Download", "download": "Download",
@@ -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",
@@ -982,6 +988,9 @@
"name": "Name", "name": "Name",
"systems": "Systems", "systems": "Systems",
"up": "Up", "up": "Up",
"down": "Down",
"paused": "Paused",
"pending": "Pending",
"status": "Status", "status": "Status",
"updated": "Updated", "updated": "Updated",
"cpu": "CPU", "cpu": "CPU",
@@ -1007,5 +1016,19 @@
"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"
},
"hoarder": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Tags"
} }
} }

View File

@@ -120,7 +120,7 @@
"grid_power": "Raspored", "grid_power": "Raspored",
"home_power": "Potrošnja", "home_power": "Potrošnja",
"charge_power": "Punjač", "charge_power": "Punjač",
"watt_hour": "Kilovat-sat" "kilowatt": "kW"
}, },
"flood": { "flood": {
"download": "Preuzimanje", "download": "Preuzimanje",
@@ -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",
@@ -982,6 +988,9 @@
"name": "Ime", "name": "Ime",
"systems": "Systems", "systems": "Systems",
"up": "Dostupno", "up": "Dostupno",
"down": "Nedostupno",
"paused": "Zaustavljeno",
"pending": "U tijeku",
"status": "Stanje", "status": "Stanje",
"updated": "Aktualizirano", "updated": "Aktualizirano",
"cpu": "CPU", "cpu": "CPU",
@@ -1007,5 +1016,19 @@
"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"
},
"hoarder": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Oznake"
} }
} }

View File

@@ -25,7 +25,7 @@
"api_error": "API Hiba", "api_error": "API Hiba",
"information": "Információ", "information": "Információ",
"status": "Státusz", "status": "Státusz",
"url": "LINK", "url": "URL",
"raw_error": "Nyers hiba", "raw_error": "Nyers hiba",
"response_data": "Válaszadatok" "response_data": "Válaszadatok"
}, },
@@ -120,7 +120,7 @@
"grid_power": "Rács", "grid_power": "Rács",
"home_power": "Fogyasztás", "home_power": "Fogyasztás",
"charge_power": "Töltő", "charge_power": "Töltő",
"watt_hour": "Wh" "kilowatt": "kW"
}, },
"flood": { "flood": {
"download": "Letöltés", "download": "Letöltés",
@@ -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": {
@@ -227,8 +229,8 @@
"seed": "Seed" "seed": "Seed"
}, },
"develancacheui": { "develancacheui": {
"cachehitbytes": "Cache Hit Bytes", "cachehitbytes": "Gyorsítótárban Sikeres Bitek",
"cachemissbytes": "Cache Miss Bytes" "cachemissbytes": "Gyorsítótárban Hibás Bitek"
}, },
"downloadstation": { "downloadstation": {
"download": "Letöltés", "download": "Letöltés",
@@ -311,13 +313,13 @@
}, },
"suwayomi": { "suwayomi": {
"download": "Letöltött", "download": "Letöltött",
"nondownload": "Non-Downloaded", "nondownload": "Nem Letöltött",
"read": "Olvasott", "read": "Olvasott",
"unread": "Olvasatlan", "unread": "Olvasatlan",
"downloadedread": "Downloaded & Read", "downloadedread": "Letöltött & Olvasott",
"downloadedunread": "Downloaded & Unread", "downloadedunread": "Letöltött & Olvasatlan",
"nondownloadedread": "Non-Downloaded & Read", "nondownloadedread": "Nem Letöltött & Olvasatlan",
"nondownloadedunread": "Non-Downloaded & Unread" "nondownloadedunread": "Nem Letöltött & Olvasatlan"
}, },
"tailscale": { "tailscale": {
"address": "Cím", "address": "Cím",
@@ -335,15 +337,15 @@
}, },
"technitium": { "technitium": {
"totalQueries": "Lekérdezések", "totalQueries": "Lekérdezések",
"totalNoError": "Success", "totalNoError": "Sikerek",
"totalServerFailure": "Failures", "totalServerFailure": "Hibák",
"totalNxDomain": "NX Domains", "totalNxDomain": "NX Domainek",
"totalRefused": "Refused", "totalRefused": "Elutasított",
"totalAuthoritative": "Authoritative", "totalAuthoritative": "Irányadó",
"totalRecursive": "Recursive", "totalRecursive": "Rekurzív",
"totalCached": "Cached", "totalCached": "Gyorsítótárazott",
"totalBlocked": "Blokkolt", "totalBlocked": "Blokkolt",
"totalDropped": "Dropped", "totalDropped": "Eldobott",
"totalClients": "Kliensek" "totalClients": "Kliensek"
}, },
"tdarr": { "tdarr": {
@@ -453,7 +455,7 @@
"search": "Keresés", "search": "Keresés",
"custom": "Egyedi", "custom": "Egyedi",
"visit": "Megnéz", "visit": "Megnéz",
"url": "LINK", "url": "URL",
"searchsuggestion": "Javaslat" "searchsuggestion": "Javaslat"
}, },
"wmo": { "wmo": {
@@ -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",
@@ -854,16 +860,16 @@
}, },
"romm": { "romm": {
"platforms": "Felület", "platforms": "Felület",
"totalRoms": "Games", "totalRoms": "Játékok",
"saves": "Saves", "saves": "Mentések",
"states": "States", "states": "Állapotok",
"screenshots": "Screenshots", "screenshots": "Képernyőképek",
"totalfilesize": "Total Size" "totalfilesize": "Teljes méret"
}, },
"mailcow": { "mailcow": {
"domains": "Domainek", "domains": "Domainek",
"mailboxes": "Mailboxes", "mailboxes": "E-mail fiókok",
"mails": "Mails", "mails": "Mailek",
"storage": "Tárhely" "storage": "Tárhely"
}, },
"netdata": { "netdata": {
@@ -912,7 +918,7 @@
}, },
"crowdsec": { "crowdsec": {
"alerts": "Riasztások", "alerts": "Riasztások",
"bans": "Bans" "bans": "Kitiltások"
}, },
"wgeasy": { "wgeasy": {
"connected": "Csatlakozva", "connected": "Csatlakozva",
@@ -921,10 +927,10 @@
"total": "Összes" "total": "Összes"
}, },
"swagdashboard": { "swagdashboard": {
"proxied": "Proxied", "proxied": "Proxyzott",
"auth": "With Auth", "auth": "Hitelesítéssel",
"outdated": "Outdated", "outdated": "Elavult",
"banned": "Banned" "banned": "Kitiltott"
}, },
"myspeed": { "myspeed": {
"ping": "Ping", "ping": "Ping",
@@ -932,29 +938,29 @@
"upload": "Feltöltés" "upload": "Feltöltés"
}, },
"stocks": { "stocks": {
"stocks": "Stocks", "stocks": "Tőzsde",
"loading": "Loading", "loading": "Betöltés",
"open": "Open - US Market", "open": "Nyitva - US Piac",
"closed": "Closed - US Market", "closed": "Zárva - US Piac",
"invalidConfiguration": "Invalid Configuration" "invalidConfiguration": "Érvénytelen konfiguráció"
}, },
"frigate": { "frigate": {
"cameras": "Cameras", "cameras": "Kamerák",
"uptime": "Üzemidő", "uptime": "Üzemidő",
"version": "Verzió" "version": "Verzió"
}, },
"linkwarden": { "linkwarden": {
"links": "Links", "links": "Linkek",
"collections": "Collections", "collections": "Gyűjtemény",
"tags": "Címkék" "tags": "Címkék"
}, },
"zabbix": { "zabbix": {
"unclassified": "Not classified", "unclassified": "Nem titkosított",
"information": "Információ", "information": "Információ",
"warning": "Warning", "warning": "Figyelmeztetés",
"average": "Average", "average": "Átlag",
"high": "High", "high": "Magas",
"disaster": "Disaster" "disaster": "Katasztrófa"
}, },
"lubelogger": { "lubelogger": {
"vehicle": "Jármű", "vehicle": "Jármű",
@@ -962,13 +968,13 @@
"serviceRecords": "Szolgáltatások nyílvántartása", "serviceRecords": "Szolgáltatások nyílvántartása",
"reminders": "Emlékeztetők", "reminders": "Emlékeztetők",
"nextReminder": "Következő emlékeztető", "nextReminder": "Következő emlékeztető",
"none": "None" "none": "Semmi"
}, },
"vikunja": { "vikunja": {
"projects": "Active Projects", "projects": "Aktív Projektek",
"tasks7d": "Tasks Due This Week", "tasks7d": "Hátralévő feladatok a héten",
"tasksOverdue": "Overdue Tasks", "tasksOverdue": "Lejárt feladatok",
"tasksInProgress": "Tasks In Progress" "tasksInProgress": "Folyamatban levő Feladatok"
}, },
"headscale": { "headscale": {
"name": "Név", "name": "Név",
@@ -980,32 +986,49 @@
}, },
"beszel": { "beszel": {
"name": "Név", "name": "Név",
"systems": "Systems", "systems": "Rendszerek",
"up": "Fel", "up": "Fel",
"down": "Le",
"paused": "Szünetel",
"pending": "Függőben",
"status": "Státusz", "status": "Státusz",
"updated": "Frissített", "updated": "Frissített",
"cpu": "Processzor", "cpu": "Processzor",
"memory": "RAM", "memory": "RAM",
"disk": "Disk", "disk": "Lemez",
"network": "NET" "network": "Hálózat"
}, },
"argocd": { "argocd": {
"apps": "Apps", "apps": "Alkalmazások",
"synced": "Synced", "synced": "Szinkronizált",
"outOfSync": "Out Of Sync", "outOfSync": "Nincs szinkronban",
"healthy": "Egészséges", "healthy": "Egészséges",
"degraded": "Degraded", "degraded": "Leépült",
"progressing": "Progressing", "progressing": "Halad",
"missing": "Hiányzik", "missing": "Hiányzik",
"suspended": "Suspended" "suspended": "Felfüggesztett"
}, },
"spoolman": { "spoolman": {
"loading": "Loading" "loading": "Betöltés"
}, },
"gitlab": { "gitlab": {
"groups": "Groups", "groups": "Csoportok",
"issues": "Problémák", "issues": "Problémák",
"merges": "Merge Requests", "merges": "Merge kérések",
"projects": "Projects" "projects": "Projektek"
},
"apcups": {
"status": "Státusz",
"load": "Terhelés",
"bcharge": "Akku töltöttsége",
"timeleft": "Hátralévő idő"
},
"hoarder": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Címkék"
} }
} }

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",
@@ -120,7 +120,7 @@
"grid_power": "Grid", "grid_power": "Grid",
"home_power": "Konsumsi", "home_power": "Konsumsi",
"charge_power": "Charger", "charge_power": "Charger",
"watt_hour": "Watt/jam" "kilowatt": "kW"
}, },
"flood": { "flood": {
"download": "Unduh", "download": "Unduh",
@@ -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,10 +337,10 @@
}, },
"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": "Recursive",
"totalCached": "Cached", "totalCached": "Cached",
@@ -702,6 +704,10 @@
"processed": "Terproses", "processed": "Terproses",
"time": "Waktu" "time": "Waktu"
}, },
"firefly": {
"networth": "Net Worth",
"budget": "Budget"
},
"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": {
@@ -882,48 +888,48 @@
"pulls": "Pull Requests" "pulls": "Pull Requests"
}, },
"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 +938,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": "Service Records",
"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,32 +986,49 @@
}, },
"beszel": { "beszel": {
"name": "Nama", "name": "Nama",
"systems": "Systems", "systems": "Sistem",
"up": "Hidup", "up": "Hidup",
"down": "Mati",
"paused": "Pause",
"pending": "Pending",
"status": "Status", "status": "Status",
"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"
},
"hoarder": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Tag"
} }
} }

View File

@@ -120,7 +120,7 @@
"grid_power": "Griglia", "grid_power": "Griglia",
"home_power": "Consumo", "home_power": "Consumo",
"charge_power": "Caricatore", "charge_power": "Caricatore",
"watt_hour": "Wh" "kilowatt": "kW"
}, },
"flood": { "flood": {
"download": "Download", "download": "Download",
@@ -148,7 +148,9 @@
"up": "Up", "up": "Up",
"received": "Ricevuti", "received": "Ricevuti",
"sent": "Inviati", "sent": "Inviati",
"externalIPAddress": "IP Esterno" "externalIPAddress": "IP Esterno",
"externalIPv6Address": "Ext. IPv6",
"externalIPv6Prefix": "Ext. IPv6-Prefix"
}, },
"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": "Connected gateways",
"connectedSwitches": "Switch connessi" "connectedSwitches": "Switch connessi"
}, },
"nzbget": { "nzbget": {
@@ -335,7 +337,7 @@
}, },
"technitium": { "technitium": {
"totalQueries": "Richieste", "totalQueries": "Richieste",
"totalNoError": "Success", "totalNoError": "Successo",
"totalServerFailure": "Failures", "totalServerFailure": "Failures",
"totalNxDomain": "NX Domains", "totalNxDomain": "NX Domains",
"totalRefused": "Refused", "totalRefused": "Refused",
@@ -590,7 +592,7 @@
"total": "Totale" "total": "Totale"
}, },
"peanut": { "peanut": {
"battery_charge": "Battery Charge", "battery_charge": "Carica Batteria",
"ups_load": "Carico UPS", "ups_load": "Carico UPS",
"ups_status": "Stato UPS", "ups_status": "Stato UPS",
"online": "Online", "online": "Online",
@@ -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",
@@ -854,7 +860,7 @@
}, },
"romm": { "romm": {
"platforms": "Piattaforme", "platforms": "Piattaforme",
"totalRoms": "Games", "totalRoms": "Giochi",
"saves": "Saves", "saves": "Saves",
"states": "States", "states": "States",
"screenshots": "Screenshots", "screenshots": "Screenshots",
@@ -890,7 +896,7 @@
"sceneDuration": "Durata Delle Scene", "sceneDuration": "Durata Delle Scene",
"images": "Immagini", "images": "Immagini",
"imageSize": "Dimensioni immagine", "imageSize": "Dimensioni immagine",
"galleries": "Galleries", "galleries": "Gallerie",
"performers": "Esecutori", "performers": "Esecutori",
"studios": "Studi", "studios": "Studi",
"movies": "Film", "movies": "Film",
@@ -933,7 +939,7 @@
}, },
"stocks": { "stocks": {
"stocks": "Stocks", "stocks": "Stocks",
"loading": "Loading", "loading": "Caricamento",
"open": "Open - US Market", "open": "Open - US Market",
"closed": "Closed - US Market", "closed": "Closed - US Market",
"invalidConfiguration": "Invalid Configuration" "invalidConfiguration": "Invalid Configuration"
@@ -944,8 +950,8 @@
"version": "Versione" "version": "Versione"
}, },
"linkwarden": { "linkwarden": {
"links": "Links", "links": "Collegamenti",
"collections": "Collections", "collections": "Raccolte",
"tags": "Tag" "tags": "Tag"
}, },
"zabbix": { "zabbix": {
@@ -957,12 +963,12 @@
"disaster": "Disaster" "disaster": "Disaster"
}, },
"lubelogger": { "lubelogger": {
"vehicle": "Vehicle", "vehicle": "Veicolo",
"vehicles": "Vehicles", "vehicles": "Veicoli",
"serviceRecords": "Service Records", "serviceRecords": "Service Records",
"reminders": "Reminders", "reminders": "Promemoria",
"nextReminder": "Next Reminder", "nextReminder": "Promemoria Seguente",
"none": "None" "none": "Nessuno"
}, },
"vikunja": { "vikunja": {
"projects": "Active Projects", "projects": "Active Projects",
@@ -982,6 +988,9 @@
"name": "Nome", "name": "Nome",
"systems": "Systems", "systems": "Systems",
"up": "Up", "up": "Up",
"down": "Down",
"paused": "In Pausa",
"pending": "In attesa",
"status": "Stato", "status": "Stato",
"updated": "Aggiornato", "updated": "Aggiornato",
"cpu": "CPU", "cpu": "CPU",
@@ -1000,12 +1009,26 @@
"suspended": "Suspended" "suspended": "Suspended"
}, },
"spoolman": { "spoolman": {
"loading": "Loading" "loading": "Caricamento"
}, },
"gitlab": { "gitlab": {
"groups": "Groups", "groups": "Groups",
"issues": "Problemi", "issues": "Problemi",
"merges": "Merge Requests", "merges": "Merge Requests",
"projects": "Projects" "projects": "Projects"
},
"apcups": {
"status": "Stato",
"load": "Carico",
"bcharge": "Carica Batteria",
"timeleft": "Tempo Rimanente"
},
"hoarder": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Tag"
} }
} }

View File

@@ -120,7 +120,7 @@
"grid_power": "グリッド", "grid_power": "グリッド",
"home_power": "消費", "home_power": "消費",
"charge_power": "チャージャー", "charge_power": "チャージャー",
"watt_hour": "Wh" "kilowatt": "kW"
}, },
"flood": { "flood": {
"download": "ダウンロード", "download": "ダウンロード",
@@ -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": "データソース",
@@ -804,7 +810,7 @@
"ping": "Ping" "ping": "Ping"
}, },
"urbackup": { "urbackup": {
"ok": "はい", "ok": "正常",
"errored": "エラー", "errored": "エラー",
"noRecent": "期限切れ", "noRecent": "期限切れ",
"totalUsed": "使用済みストレージ" "totalUsed": "使用済みストレージ"
@@ -957,7 +963,7 @@
"disaster": "災害" "disaster": "災害"
}, },
"lubelogger": { "lubelogger": {
"vehicle": "Vehicle", "vehicle": "車両",
"vehicles": "Vehicles", "vehicles": "Vehicles",
"serviceRecords": "Service Records", "serviceRecords": "Service Records",
"reminders": "Reminders", "reminders": "Reminders",
@@ -982,6 +988,9 @@
"name": "名前", "name": "名前",
"systems": "Systems", "systems": "Systems",
"up": "稼働", "up": "稼働",
"down": "下へ",
"paused": "一時停止中",
"pending": "保留中",
"status": "状態", "status": "状態",
"updated": "更新済", "updated": "更新済",
"cpu": "CPU", "cpu": "CPU",
@@ -1007,5 +1016,19 @@
"issues": "課題", "issues": "課題",
"merges": "Merge Requests", "merges": "Merge Requests",
"projects": "Projects" "projects": "Projects"
},
"apcups": {
"status": "状態",
"load": "ロード",
"bcharge": "バッテリー充電",
"timeleft": "残り時間"
},
"hoarder": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "タグ"
} }
} }

View File

@@ -120,7 +120,7 @@
"grid_power": "눈금", "grid_power": "눈금",
"home_power": "Consumption", "home_power": "Consumption",
"charge_power": "Charger", "charge_power": "Charger",
"watt_hour": "Wh" "kilowatt": "kW"
}, },
"flood": { "flood": {
"download": "다운로드", "download": "다운로드",
@@ -148,7 +148,9 @@
"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": {
@@ -702,6 +704,10 @@
"processed": "처리됨", "processed": "처리됨",
"time": "Time" "time": "Time"
}, },
"firefly": {
"networth": "Net Worth",
"budget": "Budget"
},
"grafana": { "grafana": {
"dashboards": "대시보드", "dashboards": "대시보드",
"datasources": "Data Sources", "datasources": "Data Sources",
@@ -982,6 +988,9 @@
"name": "이름", "name": "이름",
"systems": "Systems", "systems": "Systems",
"up": "Up", "up": "Up",
"down": "Down",
"paused": "Paused",
"pending": "대기 중",
"status": "상태", "status": "상태",
"updated": "Updated", "updated": "Updated",
"cpu": "CPU", "cpu": "CPU",
@@ -1007,5 +1016,19 @@
"issues": "Issues", "issues": "Issues",
"merges": "Merge Requests", "merges": "Merge Requests",
"projects": "Projects" "projects": "Projects"
},
"apcups": {
"status": "상태",
"load": "부하",
"bcharge": "배터리 충전 중",
"timeleft": "남은 시간"
},
"hoarder": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "태그"
} }
} }

View File

@@ -120,7 +120,7 @@
"grid_power": "Grid", "grid_power": "Grid",
"home_power": "Consumption", "home_power": "Consumption",
"charge_power": "Charger", "charge_power": "Charger",
"watt_hour": "Wh" "kilowatt": "kW"
}, },
"flood": { "flood": {
"download": "Lejupielāde", "download": "Lejupielāde",
@@ -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",
@@ -982,6 +988,9 @@
"name": "Name", "name": "Name",
"systems": "Systems", "systems": "Systems",
"up": "Up", "up": "Up",
"down": "Down",
"paused": "Paused",
"pending": "Pending",
"status": "Statuss", "status": "Statuss",
"updated": "Updated", "updated": "Updated",
"cpu": "CPU", "cpu": "CPU",
@@ -1007,5 +1016,19 @@
"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"
},
"hoarder": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Tags"
} }
} }

View File

@@ -120,7 +120,7 @@
"grid_power": "Grid", "grid_power": "Grid",
"home_power": "Penggunaan", "home_power": "Penggunaan",
"charge_power": "Pengecas", "charge_power": "Pengecas",
"watt_hour": "Wj" "kilowatt": "kW"
}, },
"flood": { "flood": {
"download": "Muat turun", "download": "Muat turun",
@@ -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",
@@ -982,6 +988,9 @@
"name": "Nama", "name": "Nama",
"systems": "Systems", "systems": "Systems",
"up": "Hidup", "up": "Hidup",
"down": "Mati",
"paused": "Tangguh",
"pending": "Tertunda",
"status": "Status", "status": "Status",
"updated": "Dikemaskini", "updated": "Dikemaskini",
"cpu": "CPU", "cpu": "CPU",
@@ -1007,5 +1016,19 @@
"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"
},
"hoarder": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Tanda nama"
} }
} }

View File

@@ -120,7 +120,7 @@
"grid_power": "Netstroom", "grid_power": "Netstroom",
"home_power": "Consumptie", "home_power": "Consumptie",
"charge_power": "Oplader", "charge_power": "Oplader",
"watt_hour": "Wh" "kilowatt": "kW"
}, },
"flood": { "flood": {
"download": "Download", "download": "Download",
@@ -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": {
@@ -311,13 +313,13 @@
}, },
"suwayomi": { "suwayomi": {
"download": "Gedownload", "download": "Gedownload",
"nondownload": "Non-Downloaded", "nondownload": "Niet gedownload",
"read": "Gelezen", "read": "Gelezen",
"unread": "Ongelezen", "unread": "Ongelezen",
"downloadedread": "Downloaded & Read", "downloadedread": "Gedownload & gelezen",
"downloadedunread": "Downloaded & Unread", "downloadedunread": "Gedownload & ongelezen",
"nondownloadedread": "Non-Downloaded & Read", "nondownloadedread": "Niet-gedownload & gelezen",
"nondownloadedunread": "Non-Downloaded & Unread" "nondownloadedunread": "Niet-gedownload & ongelezen"
}, },
"tailscale": { "tailscale": {
"address": "Adres", "address": "Adres",
@@ -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",
@@ -980,32 +986,49 @@
}, },
"beszel": { "beszel": {
"name": "Naam", "name": "Naam",
"systems": "Systems", "systems": "Systemen",
"up": "Online", "up": "Online",
"down": "Offline",
"paused": "Gepauzeerd",
"pending": "In afwachting",
"status": "Status", "status": "Status",
"updated": "Bijgewerkt", "updated": "Bijgewerkt",
"cpu": "CPU", "cpu": "CPU",
"memory": "GEH", "memory": "GEH",
"disk": "Disk", "disk": "Schijf",
"network": "NET" "network": "NET"
}, },
"argocd": { "argocd": {
"apps": "Apps", "apps": "Apps",
"synced": "Synced", "synced": "Gesynchroniseerd",
"outOfSync": "Out Of Sync", "outOfSync": "Niet gesynchroniseerd",
"healthy": "Gezond", "healthy": "Gezond",
"degraded": "Degraded", "degraded": "Gedegradeerd",
"progressing": "Progressing", "progressing": "Doorvoeren",
"missing": "Ontbreekt", "missing": "Ontbreekt",
"suspended": "Suspended" "suspended": "Onderbroken"
}, },
"spoolman": { "spoolman": {
"loading": "Laden" "loading": "Laden"
}, },
"gitlab": { "gitlab": {
"groups": "Groups", "groups": "Groepen",
"issues": "Problemen", "issues": "Problemen",
"merges": "Merge Requests", "merges": "Merge Verzoeken",
"projects": "Projects" "projects": "Projecten"
},
"apcups": {
"status": "Status",
"load": "Belasting",
"bcharge": "Batterij opladen",
"timeleft": "Resterende Tijd"
},
"hoarder": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Label"
} }
} }

View File

@@ -120,7 +120,7 @@
"grid_power": "Nett", "grid_power": "Nett",
"home_power": "Forbruk", "home_power": "Forbruk",
"charge_power": "Lader", "charge_power": "Lader",
"watt_hour": "W/t" "kilowatt": "kW"
}, },
"flood": { "flood": {
"download": "Last ned", "download": "Last ned",
@@ -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",
@@ -982,6 +988,9 @@
"name": "Navn", "name": "Navn",
"systems": "Systems", "systems": "Systems",
"up": "Oppe", "up": "Oppe",
"down": "Nede",
"paused": "Pauset",
"pending": "Ventende",
"status": "Status", "status": "Status",
"updated": "Oppdatert", "updated": "Oppdatert",
"cpu": "CPU", "cpu": "CPU",
@@ -1007,5 +1016,19 @@
"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"
},
"hoarder": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Stikkord"
} }
} }

View File

@@ -120,7 +120,7 @@
"grid_power": "Siatka", "grid_power": "Siatka",
"home_power": "Zużycie", "home_power": "Zużycie",
"charge_power": "Ładowarka", "charge_power": "Ładowarka",
"watt_hour": "Wh" "kilowatt": "kW"
}, },
"flood": { "flood": {
"download": "Pobieranie", "download": "Pobieranie",
@@ -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": "Ext. IPv6",
"externalIPv6Prefix": "Ext. IPv6-Prefix"
}, },
"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": {
@@ -311,13 +313,13 @@
}, },
"suwayomi": { "suwayomi": {
"download": "Pobrano", "download": "Pobrano",
"nondownload": "Non-Downloaded", "nondownload": "Niepobrane",
"read": "Przeczytane", "read": "Przeczytane",
"unread": "Nieprzeczytane", "unread": "Nieprzeczytane",
"downloadedread": "Downloaded & Read", "downloadedread": "Pobrane i przeczytane",
"downloadedunread": "Downloaded & Unread", "downloadedunread": "Pobrane i nieprzeczytane",
"nondownloadedread": "Non-Downloaded & Read", "nondownloadedread": "Niepobrane i przeczytane",
"nondownloadedunread": "Non-Downloaded & Unread" "nondownloadedunread": "Niepobrane i nieprzeczytane"
}, },
"tailscale": { "tailscale": {
"address": "Adres", "address": "Adres",
@@ -702,6 +704,10 @@
"processed": "Przetworzone", "processed": "Przetworzone",
"time": "Czas" "time": "Czas"
}, },
"firefly": {
"networth": "Net Worth",
"budget": "Budget"
},
"grafana": { "grafana": {
"dashboards": "Panel główny", "dashboards": "Panel główny",
"datasources": "Źródła danych", "datasources": "Źródła danych",
@@ -957,18 +963,18 @@
"disaster": "Katastrofa" "disaster": "Katastrofa"
}, },
"lubelogger": { "lubelogger": {
"vehicle": "Vehicle", "vehicle": "Pojazd",
"vehicles": "Vehicles", "vehicles": "Pojazdy",
"serviceRecords": "Service Records", "serviceRecords": "Wpisy serwisowe",
"reminders": "Reminders", "reminders": "Przypomnienia",
"nextReminder": "Next Reminder", "nextReminder": "Następne przypomnienie",
"none": "None" "none": "Brak"
}, },
"vikunja": { "vikunja": {
"projects": "Active Projects", "projects": "Aktywne Projekty",
"tasks7d": "Tasks Due This Week", "tasks7d": "Zadania w tym tygodniu",
"tasksOverdue": "Overdue Tasks", "tasksOverdue": "Zaległe zadania",
"tasksInProgress": "Tasks In Progress" "tasksInProgress": "Zadania w toku"
}, },
"headscale": { "headscale": {
"name": "Nazwa", "name": "Nazwa",
@@ -980,32 +986,49 @@
}, },
"beszel": { "beszel": {
"name": "Nazwa", "name": "Nazwa",
"systems": "Systems", "systems": "Systemy",
"up": "Dostępny", "up": "Dostępny",
"down": "Niedostępny",
"paused": "Zatrzymane",
"pending": "Oczekiwane",
"status": "Stan", "status": "Stan",
"updated": "Zaktualizowane", "updated": "Zaktualizowane",
"cpu": "Procesor", "cpu": "Procesor",
"memory": "RAM", "memory": "RAM",
"disk": "Disk", "disk": "Dysk",
"network": "NET" "network": "NET"
}, },
"argocd": { "argocd": {
"apps": "Apps", "apps": "Aplikacje",
"synced": "Synced", "synced": "Synchronizowane",
"outOfSync": "Out Of Sync", "outOfSync": "Bez synchronizacji",
"healthy": "Zdrowy", "healthy": "Zdrowy",
"degraded": "Degraded", "degraded": "Zdegradowane",
"progressing": "Progressing", "progressing": "Postępujące",
"missing": "Brakujące", "missing": "Brakujące",
"suspended": "Suspended" "suspended": "Zawieszone"
}, },
"spoolman": { "spoolman": {
"loading": "Wczytywanie" "loading": "Wczytywanie"
}, },
"gitlab": { "gitlab": {
"groups": "Groups", "groups": "Grupy",
"issues": "Zgłoszenia", "issues": "Zgłoszenia",
"merges": "Merge Requests", "merges": "Żądania scaleń",
"projects": "Projects" "projects": "Projekty"
},
"apcups": {
"status": "Stan",
"load": "Obciążenie",
"bcharge": "Stan baterii",
"timeleft": "Pozostało"
},
"hoarder": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Tagi"
} }
} }

View File

@@ -120,7 +120,7 @@
"grid_power": "Grelha", "grid_power": "Grelha",
"home_power": "Consumo", "home_power": "Consumo",
"charge_power": "Carregador", "charge_power": "Carregador",
"watt_hour": "Wh" "kilowatt": "kW"
}, },
"flood": { "flood": {
"download": "Descarregar", "download": "Descarregar",
@@ -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",
@@ -982,6 +988,9 @@
"name": "Nome", "name": "Nome",
"systems": "Systems", "systems": "Systems",
"up": "Up", "up": "Up",
"down": "Down",
"paused": "Pausa",
"pending": "Pendente",
"status": "Estado", "status": "Estado",
"updated": "Atualizado", "updated": "Atualizado",
"cpu": "CPU", "cpu": "CPU",
@@ -1007,5 +1016,19 @@
"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"
},
"hoarder": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Etiquetas"
} }
} }

View File

@@ -120,7 +120,7 @@
"grid_power": "Grade", "grid_power": "Grade",
"home_power": "Consumo", "home_power": "Consumo",
"charge_power": "Carregador", "charge_power": "Carregador",
"watt_hour": "Kw" "kilowatt": "kW"
}, },
"flood": { "flood": {
"download": "Descarregar", "download": "Descarregar",
@@ -148,7 +148,9 @@
"up": "Ativo", "up": "Ativo",
"received": "Recebido", "received": "Recebido",
"sent": "Enviado", "sent": "Enviado",
"externalIPAddress": "IP Externo" "externalIPAddress": "IP Externo",
"externalIPv6Address": "Ext. IPv6",
"externalIPv6Prefix": "Ext. IPv6-Prefix"
}, },
"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": "Connected gateways",
"connectedSwitches": "Switches conectados" "connectedSwitches": "Switches conectados"
}, },
"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",
@@ -982,6 +988,9 @@
"name": "Nome", "name": "Nome",
"systems": "Systems", "systems": "Systems",
"up": "Ativo", "up": "Ativo",
"down": "Inativo",
"paused": "Pausado",
"pending": "Pendente",
"status": "Status", "status": "Status",
"updated": "Atualizado", "updated": "Atualizado",
"cpu": "CPU", "cpu": "CPU",
@@ -1007,5 +1016,19 @@
"issues": "Problemas", "issues": "Problemas",
"merges": "Merge Requests", "merges": "Merge Requests",
"projects": "Projects" "projects": "Projects"
},
"apcups": {
"status": "Status",
"load": "Carga",
"bcharge": "Carga da bateria",
"timeleft": "Tempo restante"
},
"hoarder": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Marcadores"
} }
} }

View File

@@ -120,7 +120,7 @@
"grid_power": "Grilă", "grid_power": "Grilă",
"home_power": "Consum", "home_power": "Consum",
"charge_power": "Încărcător", "charge_power": "Încărcător",
"watt_hour": "Wh" "kilowatt": "kW"
}, },
"flood": { "flood": {
"download": "Descarcă", "download": "Descarcă",
@@ -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",
@@ -982,6 +988,9 @@
"name": "Name", "name": "Name",
"systems": "Systems", "systems": "Systems",
"up": "Sus", "up": "Sus",
"down": "Jos",
"paused": "Paused",
"pending": "În așteptare",
"status": "Stare", "status": "Stare",
"updated": "Updated", "updated": "Updated",
"cpu": "Procesor", "cpu": "Procesor",
@@ -1007,5 +1016,19 @@
"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"
},
"hoarder": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Tags"
} }
} }

View File

@@ -120,7 +120,7 @@
"grid_power": "Сетка", "grid_power": "Сетка",
"home_power": "Потребление", "home_power": "Потребление",
"charge_power": "Зарядка", "charge_power": "Зарядка",
"watt_hour": "Вт" "kilowatt": "кВт"
}, },
"flood": { "flood": {
"download": "Скачивание", "download": "Скачивание",
@@ -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": "Подключенные точки доступа", "connectedAp": "Подключенные точки доступа",
"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": "Источники данных",
@@ -982,6 +988,9 @@
"name": "Имя", "name": "Имя",
"systems": "Системы", "systems": "Системы",
"up": "Онлайн", "up": "Онлайн",
"down": "Офлайн",
"paused": "Приостановлено",
"pending": "В обработке",
"status": "Статус", "status": "Статус",
"updated": "Обновленно", "updated": "Обновленно",
"cpu": "ЦП", "cpu": "ЦП",
@@ -990,22 +999,36 @@
"network": "Сеть" "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": "Загрузка"
}, },
"gitlab": { "gitlab": {
"groups": "Groups", "groups": "Группы",
"issues": "Вопросы", "issues": "Вопросы",
"merges": "Merge Requests", "merges": "Мердж-реквесты",
"projects": "Projects" "projects": "Проекты"
},
"apcups": {
"status": "Статус",
"load": "Загрузка",
"bcharge": "Заряд батареи",
"timeleft": "Осталось"
},
"hoarder": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Теги"
} }
} }

View File

@@ -120,7 +120,7 @@
"grid_power": "Mriežka", "grid_power": "Mriežka",
"home_power": "Spotreba", "home_power": "Spotreba",
"charge_power": "Nabíjačka", "charge_power": "Nabíjačka",
"watt_hour": "Wh" "kilowatt": "kW"
}, },
"flood": { "flood": {
"download": "Sťahovanie", "download": "Sťahovanie",
@@ -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",
@@ -982,6 +988,9 @@
"name": "Meno", "name": "Meno",
"systems": "Systems", "systems": "Systems",
"up": "Nahrávanie", "up": "Nahrávanie",
"down": "Sťahovanie",
"paused": "Pozastavené",
"pending": "Čakajúce",
"status": "Stav", "status": "Stav",
"updated": "Aktualizované", "updated": "Aktualizované",
"cpu": "CPU", "cpu": "CPU",
@@ -1007,5 +1016,19 @@
"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"
},
"hoarder": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Štítky"
} }
} }

View File

@@ -120,7 +120,7 @@
"grid_power": "Omrežje", "grid_power": "Omrežje",
"home_power": "Poraba", "home_power": "Poraba",
"charge_power": "Polnilec", "charge_power": "Polnilec",
"watt_hour": "Wh" "kilowatt": "kW"
}, },
"flood": { "flood": {
"download": "Prenos", "download": "Prenos",
@@ -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",
@@ -982,6 +988,9 @@
"name": "Naziv", "name": "Naziv",
"systems": "Sistemi", "systems": "Sistemi",
"up": "Povezan", "up": "Povezan",
"down": "Nepovezan",
"paused": "Pavziran",
"pending": "V teku",
"status": "Stanje", "status": "Stanje",
"updated": "Posodobljen", "updated": "Posodobljen",
"cpu": "CPU", "cpu": "CPU",
@@ -1003,9 +1012,23 @@
"loading": "Nalaganje" "loading": "Nalaganje"
}, },
"gitlab": { "gitlab": {
"groups": "Groups", "groups": "Skupine",
"issues": "Težave", "issues": "Težave",
"merges": "Merge Requests", "merges": "Združi zahtevke",
"projects": "Projects" "projects": "Projekti"
},
"apcups": {
"status": "Stanje",
"load": "Bremenitev",
"bcharge": "Napolnjenost baterije",
"timeleft": "Preostali čas"
},
"hoarder": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Značke"
} }
} }

View File

@@ -120,7 +120,7 @@
"grid_power": "Grid", "grid_power": "Grid",
"home_power": "Consumption", "home_power": "Consumption",
"charge_power": "Charger", "charge_power": "Charger",
"watt_hour": "Wh" "kilowatt": "kW"
}, },
"flood": { "flood": {
"download": "Download", "download": "Download",
@@ -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",
@@ -982,6 +988,9 @@
"name": "Name", "name": "Name",
"systems": "Systems", "systems": "Systems",
"up": "Up", "up": "Up",
"down": "Down",
"paused": "Paused",
"pending": "Pending",
"status": "Status", "status": "Status",
"updated": "Updated", "updated": "Updated",
"cpu": "CPU", "cpu": "CPU",
@@ -1007,5 +1016,19 @@
"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"
},
"hoarder": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Tags"
} }
} }

View File

@@ -120,7 +120,7 @@
"grid_power": "Grid", "grid_power": "Grid",
"home_power": "Consumption", "home_power": "Consumption",
"charge_power": "Charger", "charge_power": "Charger",
"watt_hour": "Wh" "kilowatt": "kW"
}, },
"flood": { "flood": {
"download": "Download", "download": "Download",
@@ -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",
@@ -982,6 +988,9 @@
"name": "Name", "name": "Name",
"systems": "Systems", "systems": "Systems",
"up": "Up", "up": "Up",
"down": "Down",
"paused": "Paused",
"pending": "Avvaktar",
"status": "Status", "status": "Status",
"updated": "Updated", "updated": "Updated",
"cpu": "CPU", "cpu": "CPU",
@@ -1007,5 +1016,19 @@
"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"
},
"hoarder": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Tags"
} }
} }

View File

@@ -120,7 +120,7 @@
"grid_power": "Grid", "grid_power": "Grid",
"home_power": "Consumption", "home_power": "Consumption",
"charge_power": "Charger", "charge_power": "Charger",
"watt_hour": "Wh" "kilowatt": "kW"
}, },
"flood": { "flood": {
"download": "Download", "download": "Download",
@@ -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",
@@ -982,6 +988,9 @@
"name": "Name", "name": "Name",
"systems": "Systems", "systems": "Systems",
"up": "Up", "up": "Up",
"down": "Down",
"paused": "Paused",
"pending": "పెండింగ్",
"status": "హోదా", "status": "హోదా",
"updated": "నవీకరించబడింది", "updated": "నవీకరించబడింది",
"cpu": "సీపియూ", "cpu": "సీపియూ",
@@ -1007,5 +1016,19 @@
"issues": "Issues", "issues": "Issues",
"merges": "Merge Requests", "merges": "Merge Requests",
"projects": "Projects" "projects": "Projects"
},
"apcups": {
"status": "హోదా",
"load": "లోడ్",
"bcharge": "Battery Charge",
"timeleft": "మిగిలి వున్న సమయం"
},
"hoarder": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Tags"
} }
} }

View File

@@ -120,7 +120,7 @@
"grid_power": "Grid", "grid_power": "Grid",
"home_power": "Consumption", "home_power": "Consumption",
"charge_power": "Charger", "charge_power": "Charger",
"watt_hour": "Wh" "kilowatt": "kW"
}, },
"flood": { "flood": {
"download": "ดาวน์โหลด", "download": "ดาวน์โหลด",
@@ -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",
@@ -982,6 +988,9 @@
"name": "Name", "name": "Name",
"systems": "Systems", "systems": "Systems",
"up": "Up", "up": "Up",
"down": "Down",
"paused": "Paused",
"pending": "Pending",
"status": "สถานะ", "status": "สถานะ",
"updated": "Updated", "updated": "Updated",
"cpu": "ซีพียู", "cpu": "ซีพียู",
@@ -1007,5 +1016,19 @@
"issues": "Issues", "issues": "Issues",
"merges": "Merge Requests", "merges": "Merge Requests",
"projects": "Projects" "projects": "Projects"
},
"apcups": {
"status": "สถานะ",
"load": "โหลด",
"bcharge": "Battery Charge",
"timeleft": "Time Left"
},
"hoarder": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Tags"
} }
} }

View File

@@ -120,7 +120,7 @@
"grid_power": "Güç", "grid_power": "Güç",
"home_power": "Tüketim", "home_power": "Tüketim",
"charge_power": "Şarj", "charge_power": "Şarj",
"watt_hour": "Watt/Saat" "kilowatt": "kW"
}, },
"flood": { "flood": {
"download": "İndirme", "download": "İndirme",
@@ -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ı",
@@ -982,6 +988,9 @@
"name": "İsim", "name": "İsim",
"systems": "Systems", "systems": "Systems",
"up": "Yükleme", "up": "Yükleme",
"down": "İndirme",
"paused": "Duraklatıldı",
"pending": "Bekleyen",
"status": "Durum", "status": "Durum",
"updated": "Güncellendi", "updated": "Güncellendi",
"cpu": "CPU", "cpu": "CPU",
@@ -1007,5 +1016,19 @@
"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"
},
"hoarder": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Etiketler"
} }
} }

View File

@@ -120,7 +120,7 @@
"grid_power": "Сітка", "grid_power": "Сітка",
"home_power": "Споживання", "home_power": "Споживання",
"charge_power": "Зарядний пристрій", "charge_power": "Зарядний пристрій",
"watt_hour": "Вт/год" "kilowatt": "kW"
}, },
"flood": { "flood": {
"download": "Завантажено", "download": "Завантажено",
@@ -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": "Підключені точки доступу", "connectedAp": "Підключені точки доступу",
"activeUser": "Активні пристрої", "activeUser": "Активні пристрої",
"alerts": "Оповіщення", "alerts": "Оповіщення",
"connectedGateway": "Підключені шлюзи", "connectedGateways": "Connected gateways",
"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": "Запити",
@@ -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": "Джерела даних",
@@ -856,7 +862,7 @@
"platforms": "Платформи", "platforms": "Платформи",
"totalRoms": "Ігри", "totalRoms": "Ігри",
"saves": "Збереження", "saves": "Збереження",
"states": "Штати", "states": "Стани",
"screenshots": "Знімки екрану", "screenshots": "Знімки екрану",
"totalfilesize": "Загальний обсяг" "totalfilesize": "Загальний обсяг"
}, },
@@ -965,10 +971,10 @@
"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,32 +986,49 @@
}, },
"beszel": { "beszel": {
"name": "Назва", "name": "Назва",
"systems": "Systems", "systems": "Системи",
"up": "Онлайн", "up": "Онлайн",
"down": "Офлайн",
"paused": "Призупинено",
"pending": "В очікуванні",
"status": "Стан", "status": "Стан",
"updated": "Оновлено", "updated": "Оновлено",
"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": "Завантажую"
}, },
"gitlab": { "gitlab": {
"groups": "Groups", "groups": "Групи",
"issues": "Питання", "issues": "Питання",
"merges": "Merge Requests", "merges": "Запити на злиття",
"projects": "Projects" "projects": "Проєкти"
},
"apcups": {
"status": "Стан",
"load": "Завантаження",
"bcharge": "Заряд батареї",
"timeleft": "Залишилось"
},
"hoarder": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Теги"
} }
} }

View File

@@ -120,7 +120,7 @@
"grid_power": "Grid", "grid_power": "Grid",
"home_power": "Consumption", "home_power": "Consumption",
"charge_power": "Charger", "charge_power": "Charger",
"watt_hour": "Wh" "kilowatt": "kW"
}, },
"flood": { "flood": {
"download": "Download", "download": "Download",
@@ -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",
@@ -982,6 +988,9 @@
"name": "Name", "name": "Name",
"systems": "Systems", "systems": "Systems",
"up": "Up", "up": "Up",
"down": "Down",
"paused": "Paused",
"pending": "Đang xử lý",
"status": "Trạng thái", "status": "Trạng thái",
"updated": "Updated", "updated": "Updated",
"cpu": "CPU", "cpu": "CPU",
@@ -1007,5 +1016,19 @@
"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"
},
"hoarder": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Tags"
} }
} }

View File

@@ -120,7 +120,7 @@
"grid_power": "電網", "grid_power": "電網",
"home_power": "電源使用率", "home_power": "電源使用率",
"charge_power": "充電", "charge_power": "充電",
"watt_hour": "瓦時 (Wh)" "kilowatt": "kW"
}, },
"flood": { "flood": {
"download": "下載速率", "download": "下載速率",
@@ -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": "已連接的存取點", "connectedAp": "已連接的存取點",
"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": "數據來源",
@@ -982,6 +988,9 @@
"name": "名稱", "name": "名稱",
"systems": "Systems", "systems": "Systems",
"up": "在線", "up": "在線",
"down": "離線",
"paused": "擱置中",
"pending": "待定",
"status": "狀況", "status": "狀況",
"updated": "已更新", "updated": "已更新",
"cpu": "CPU", "cpu": "CPU",
@@ -1007,5 +1016,19 @@
"issues": "出版", "issues": "出版",
"merges": "Merge Requests", "merges": "Merge Requests",
"projects": "Projects" "projects": "Projects"
},
"apcups": {
"status": "狀況",
"load": "負荷",
"bcharge": "充電",
"timeleft": "用時"
},
"hoarder": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "標籤"
} }
} }

View File

@@ -120,7 +120,7 @@
"grid_power": "Grid", "grid_power": "Grid",
"home_power": "Consumption", "home_power": "Consumption",
"charge_power": "Charger", "charge_power": "Charger",
"watt_hour": "Wh" "kilowatt": "kW"
}, },
"flood": { "flood": {
"download": "下载", "download": "下载",
@@ -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": "数据来源",
@@ -980,32 +986,49 @@
}, },
"beszel": { "beszel": {
"name": "Name", "name": "Name",
"systems": "Systems", "systems": "系统",
"up": "Up", "up": "Up",
"down": "Down",
"paused": "暂停",
"pending": "待办的",
"status": "状态", "status": "状态",
"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": "剩余时间"
},
"hoarder": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Tags"
} }
} }

View File

@@ -120,7 +120,7 @@
"grid_power": "電網", "grid_power": "電網",
"home_power": "電源使用率", "home_power": "電源使用率",
"charge_power": "充電", "charge_power": "充電",
"watt_hour": "瓦時 (Wh)" "kilowatt": "kW"
}, },
"flood": { "flood": {
"download": "下載速率", "download": "下載速率",
@@ -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": "已連接的存取點", "connectedAp": "已連接的存取點",
"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": "數據來源",
@@ -982,6 +988,9 @@
"name": "名稱", "name": "名稱",
"systems": "Systems", "systems": "Systems",
"up": "在線", "up": "在線",
"down": "離線",
"paused": "擱置中",
"pending": "待下載",
"status": "狀態", "status": "狀態",
"updated": "已更新", "updated": "已更新",
"cpu": "CPU", "cpu": "CPU",
@@ -1007,5 +1016,19 @@
"issues": "出版", "issues": "出版",
"merges": "Merge Requests", "merges": "Merge Requests",
"projects": "Projects" "projects": "Projects"
},
"apcups": {
"status": "狀態",
"load": "負載",
"bcharge": "充電",
"timeleft": "剩餘時間"
},
"hoarder": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "標籤"
} }
} }

View File

@@ -2,12 +2,17 @@ import { useRef, useEffect } from "react";
import classNames from "classnames"; import classNames from "classnames";
import { Disclosure, Transition } from "@headlessui/react"; import { Disclosure, Transition } from "@headlessui/react";
import { MdKeyboardArrowDown } from "react-icons/md"; import { MdKeyboardArrowDown } from "react-icons/md";
import ErrorBoundary from "components/errorboundry"; import ErrorBoundary from "components/errorboundry";
import List from "components/bookmarks/list"; import List from "components/bookmarks/list";
import ResolvedIcon from "components/resolvedicon"; import ResolvedIcon from "components/resolvedicon";
export default function BookmarksGroup({ bookmarks, layout, disableCollapse, groupsInitiallyCollapsed }) { export default function BookmarksGroup({
bookmarks,
layout,
disableCollapse,
groupsInitiallyCollapsed,
bookmarksStyle,
}) {
const panel = useRef(); const panel = useRef();
useEffect(() => { useEffect(() => {
@@ -18,9 +23,9 @@ export default function BookmarksGroup({ bookmarks, layout, disableCollapse, gro
<div <div
key={bookmarks.name} key={bookmarks.name}
className={classNames( className={classNames(
"bookmark-group", "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?.header === false ? "flex-1 px-1 -my-1 overflow-hidden" : "flex-1 p-1 overflow-hidden", layout?.header === false ? "px-1" : "p-1 pb-0",
)} )}
> >
<Disclosure defaultOpen={!(layout?.initiallyCollapsed ?? groupsInitiallyCollapsed) ?? true}> <Disclosure defaultOpen={!(layout?.initiallyCollapsed ?? groupsInitiallyCollapsed) ?? true}>
@@ -29,7 +34,7 @@ export default function BookmarksGroup({ bookmarks, layout, disableCollapse, gro
{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>
)} )}
@@ -47,7 +52,7 @@ export default function BookmarksGroup({ bookmarks, layout, disableCollapse, gro
)} )}
<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`;
@@ -64,7 +69,7 @@ export default function BookmarksGroup({ bookmarks, layout, disableCollapse, gro
> >
<Disclosure.Panel className="transition-all overflow-hidden duration-300 ease-out" ref={panel} static> <Disclosure.Panel className="transition-all overflow-hidden duration-300 ease-out" ref={panel} static>
<ErrorBoundary> <ErrorBoundary>
<List bookmarks={bookmarks.bookmarks} layout={layout} /> <List bookmarks={bookmarks.bookmarks} layout={layout} bookmarksStyle={bookmarksStyle} />
</ErrorBoundary> </ErrorBoundary>
</Disclosure.Panel> </Disclosure.Panel>
</Transition> </Transition>

View File

@@ -1,15 +1,19 @@
import { useContext } from "react"; import { useContext } from "react";
import classNames from "classnames"; import classNames from "classnames";
import { SettingsContext } from "utils/contexts/settings"; import { SettingsContext } from "utils/contexts/settings";
import ResolvedIcon from "components/resolvedicon"; import ResolvedIcon from "components/resolvedicon";
export default function Item({ bookmark }) { 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;
const { settings } = useContext(SettingsContext); const { settings } = useContext(SettingsContext);
return ( return (
<li key={bookmark.name} id={bookmark.id} className="bookmark" data-name={bookmark.name}> <li
key={bookmark.name}
id={bookmark.id}
className={classNames("bookmark", iconOnly && "grid")}
data-name={bookmark.name}
>
<a <a
href={bookmark.href} href={bookmark.href}
title={bookmark.name} title={bookmark.name}
@@ -17,25 +21,37 @@ export default function Item({ bookmark }) {
target={bookmark.target ?? settings.target ?? "_blank"} target={bookmark.target ?? settings.target ?? "_blank"}
className={classNames( className={classNames(
settings.cardBlur !== undefined && `backdrop-blur${settings.cardBlur.length ? "-" : ""}${settings.cardBlur}`, settings.cardBlur !== undefined && `backdrop-blur${settings.cardBlur.length ? "-" : ""}${settings.cardBlur}`,
"block w-full text-left cursor-pointer transition-all h-15 mb-3 rounded-md font-medium text-theme-700 dark:text-theme-200 dark:hover:text-theme-300 shadow-md shadow-theme-900/10 dark:shadow-theme-900/20 bg-theme-100/20 hover:bg-theme-300/20 dark:bg-white/5 dark:hover:bg-white/10", "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-8 mb-3",
)} )}
> >
<div className="flex"> {iconOnly ? (
<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="flex items-center justify-center text-theme-700 hover:text-theme-700 dark:text-theme-200 text-xl font-medium rounded-md bookmark-icon py-0.5">
{bookmark.icon && ( {bookmark.icon && (
<div className="flex-shrink-0 w-5 h-5"> <div className="w-7 h-7">
<ResolvedIcon icon={bookmark.icon} alt={bookmark.abbr} /> <ResolvedIcon icon={bookmark.icon} alt={bookmark.abbr} />
</div> </div>
)} )}
{!bookmark.icon && bookmark.abbr} {!bookmark.icon && bookmark.abbr}
</div> </div>
<div className="flex-1 overflow-hidden flex items-center justify-between rounded-r-md bookmark-text"> ) : (
<div className="pl-3 py-2 text-xs bookmark-name">{bookmark.name}</div> <div className="flex">
<div className="shrink truncate px-2 py-2 text-theme-500 dark:text-theme-300 text-xs bookmark-description"> <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">
{description} {bookmark.icon && (
<div className="shrink-0 w-5 h-5">
<ResolvedIcon icon={bookmark.icon} alt={bookmark.abbr} />
</div>
)}
{!bookmark.icon && bookmark.abbr}
</div>
<div className="flex-1 overflow-hidden flex items-center justify-between rounded-r-md bookmark-text">
<div className="pl-3 py-2 text-xs bookmark-name">{bookmark.name}</div>
<div className="shrink truncate px-2 py-2 text-theme-500 dark:text-theme-300 text-xs bookmark-description">
{description}
</div>
</div> </div>
</div> </div>
</div> )}
</a> </a>
</li> </li>
); );

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