Compare commits

...

110 Commits
v1.0.3 ... main

Author SHA1 Message Date
shamoon
352c54ecc4
Remove inaccurate POST examples from authoring docs 2025-06-10 13:52:08 -07:00
Jayden
1147fc858f
Documentation: fix beszel documentation typo (#5400) 2025-06-09 06:34:19 -07:00
shamoon
1a46baae69
Bump version to 1.3.2 2025-06-01 11:58:58 -07:00
shamoon
0fa3d7e57b
Fix: fix gluetun port_forwarded detection (#5362) 2025-06-01 11:58:44 -07:00
shamoon
be7e1115cc
Allow ci for all changes to allow requiring checks to pass 2025-06-01 10:33:22 -07:00
shamoon
dc0fede4d2
Bump version to 1.3.1 2025-06-01 09:48:02 -07:00
shamoon
7850fe4651
Fix: make gluetun port_forwarded opt-in (#5345) 2025-06-01 09:10:18 -07:00
shamoon
524cb7695c
Enhancement: support breaking changes in wg-easy v15 (#5343) 2025-05-31 22:08:49 -07:00
shamoon
35be5559b3
Merge branch 'dev' 2025-05-31 18:51:54 -07:00
shamoon
75ff2e674f
Bump version to 1.3.0 2025-05-31 18:51:22 -07:00
github-actions[bot]
edab958328
New Crowdin translations by GitHub Action (#5228)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2025-05-31 18:51:04 -07:00
Octavian Dinu
2334021da0
Documentation: fix port typo in docker.md (#5333) 2025-05-30 16:35:49 -07:00
shamoon
1079d33ad1
Update support template 2025-05-28 11:03:44 -07:00
Tim Englart
42c69db7da
Fix: glances info widget system data out of bounds (#5316) 2025-05-24 07:59:07 -07:00
shamoon
27a392dcce
Chore: improve PUID/PGID support (#5314) 2025-05-23 19:39:14 -07:00
shamoon
74c2a2462b
Fix lint 2025-05-22 19:17:27 -07:00
Dmitry Chumak
0d47fa8215
Enhancement: Checkmk widget (#5301)
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2025-05-22 10:07:53 -07:00
shamoon
ee07a7dcbe
Fix: remove non-working pathPrefix option for docker connections 2025-05-22 09:45:18 -07:00
Florian Apolloner
6cf3abd45e
Enhancement: Support more docker API connection options. (#5304) 2025-05-22 07:35:29 -07:00
shamoon
ea37ab2f78
Enhancement: support nested services via labels for mixed layout-only groups (#5295) 2025-05-20 23:29:22 -07:00
shamoon
564a0880b0
Chore: approve sharp build script 2025-05-20 19:31:45 -07:00
hank
f8768711da
Fix: refresh beszel token if empty list is returned (#5292)
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2025-05-20 17:40:59 -07:00
Ben Scholer
6abb3d8758
Documentation: fix typo in settings (#5287) 2025-05-18 10:36:56 -07:00
Marcin Grabda
3f160cc4ae
Enhancement: support specifying protocol for Docker Socket Proxy (#5285)
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2025-05-18 07:02:35 -07:00
shamoon
81547f8806
Chore: disable default provenance attestations to try and fix manifest issues
https://github.com/orgs/community/discussions/45969
2025-05-15 20:19:02 -07:00
Jasper
d5f66e12fc
Enhancement: Add port_forwarded field to Gluetun widget (#2262) 2025-05-12 08:16:13 -07:00
shamoon
9c7e177b4f
Documentation: fix references to common.json file 2025-05-09 00:56:41 -07:00
Adam
49ad01733c
Documentation: fix jdownloader widget documentation (#5252) 2025-05-08 13:19:37 -07:00
Garrett
6c82883fa9
Enhancement: respect search engine order from config (#5250) 2025-05-08 00:40:51 -07:00
Matheus Vellone
3c6f99d5ae
Chore: change to ical.js for ical parsing (#5241)
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2025-05-07 08:20:04 -07:00
shamoon
b28cc0b7f6
Fix: ensure https protocol with docker tls (#5248) 2025-05-06 07:54:45 -07:00
InsertDisc
2509d8c235
Enhancement: add optional token parameter for gamedig (#5245)
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2025-05-05 09:02:47 -07:00
Ryan
a0868e3201
Documentation: add data store option to PBS widget (#5243) 2025-05-03 15:02:29 -07:00
Zlendy
7e8752243c
Feature: Jellystat widget (#5185)
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2025-05-03 08:26:56 -07:00
Tersius Kuhne
41dc2e77cb
Documentation: update Gateway API HttpRoute documentation (#5239)
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2025-05-02 19:03:31 -07:00
dependabot[bot]
8b50296dad
Chore(deps-dev): Bump eslint-plugin-prettier from 5.2.3 to 5.2.6 (#5232)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-01 21:45:20 +00:00
dependabot[bot]
61a669c85d
Chore(deps): Bump next from 15.2.4 to 15.3.1 (#5231)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-01 14:44:41 -07:00
dependabot[bot]
af7803fd04
Chore(deps-dev): Bump eslint from 9.21.0 to 9.25.1 (#5230)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-01 14:43:39 -07:00
dependabot[bot]
937cecf24e
Chore(deps): Bump recharts from 2.15.1 to 2.15.3 (#5234)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-01 14:42:27 -07:00
shamoon
c562016cce
Merge branch 'dev' 2025-04-28 10:43:58 -07:00
shamoon
2376184b14
Bump version to 1.2.0 2025-04-28 10:43:35 -07:00
github-actions[bot]
7272823d20
New Crowdin translations by GitHub Action (#5092)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2025-04-28 10:43:35 -07:00
shamoon
3223b1fb87
Merge branch 'dev' 2025-04-28 08:24:26 -07:00
github-actions[bot]
38f60a7566
New Crowdin translations by GitHub Action (#5092)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2025-04-28 08:23:41 -07:00
shamoon
63e521ae93
Merge branch 'dev' 2025-04-28 08:21:29 -07:00
shamoon
cf54c7b824
Bump version to 1.1.2 2025-04-28 08:20:50 -07:00
choehn86
4a9ca62efd
Enhancement: Add support for specifying a datastore to PBS widget (#4614)
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2025-04-28 08:00:02 -07:00
Rayan Mestiri
a35da39c03
Enhancement: add label formatting for dynamic-list customapi widget (#5217) 2025-04-25 01:11:03 -07:00
xethlyx
d99c3cb691
Fix: kubernetes statistics not respecting selector (#5199) 2025-04-20 17:39:56 -07:00
Kevin Stone
1fe4f49771
Fix: Longhorn still showing Total despite total: false (#5200) 2025-04-20 17:39:25 -07:00
dependabot[bot]
0a1bf3b2be
Chore(deps): Bump next from 15.2.3 to 15.2.4 (#5159)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-08 15:08:54 -07:00
shamoon
23e9982a7a
Documentation: clarify unique subgroups requirement 2025-04-08 13:57:15 -07:00
shamoon
e2c997f29d
Change: install iputils-ping inside docker image (#5153) 2025-04-07 23:59:22 -07:00
shamoon
ae9fbdcb8b
Chore: change hoarder widget to karakeep (#5143) 2025-04-05 23:54:48 -07:00
FromTheCToTheG
a60dbb7abc
Documentation: add info re proxmox backup server key (#5122)
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2025-04-03 07:29:53 -07:00
shamoon
6597ec566b
Fix translation issue 2025-04-01 09:52:33 -07:00
shamoon
52399e21e1
Fix depth issue with t 2025-04-01 09:48:28 -07:00
dependabot[bot]
dbc26e835c
Chore(deps): Bump swr from 1.3.0 to 2.3.3 (#5111)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-01 09:36:44 -07:00
dependabot[bot]
a59ee5a605
Chore(deps-dev): Bump eslint-config-next from 15.1.7 to 15.2.4 (#5113)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-01 09:32:05 -07:00
dependabot[bot]
f46568ec2a
Chore(deps-dev): Bump eslint-config-prettier from 10.0.2 to 10.1.1 (#5112)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-01 09:24:46 -07:00
dependabot[bot]
5e946ed2c2
Chore(deps-dev): Bump postcss from 8.5.2 to 8.5.3 (#5110)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-01 09:24:24 -07:00
dependabot[bot]
6741eb723d
Chore(deps): Bump i18next from 21.10.0 to 24.2.3 (#5109)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-01 09:22:36 -07:00
RoboMagus
1666106dcd
Chore: add more Docker Semver Tags (#5107)
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2025-03-31 06:44:17 -07:00
shamoon
eda06965fa
Chore: add organize imports to pre-commit (#5104) 2025-03-30 21:40:03 -07:00
shamoon
954ab54493
Speed up CI: Skip unnecessary build steps, optimize caching etc (#5098) 2025-03-30 08:52:23 -07:00
Chris
30cb893354
Fix: remove unneeded import from Hoarder widget.js (#5097) 2025-03-29 19:49:53 -07:00
shamoon
4567427b9c
Enhancement: add shvl fallback for custom api dynamic list (#5091) 2025-03-28 16:32:56 -07:00
Matheus Vellone
ee7e8fab61
Fix: support shvl on customapi dynamic list target (#5081)
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2025-03-28 16:29:23 -07:00
shamoon
313835c0e6
Bump version to 1.1.1 2025-03-27 20:20:02 -07:00
shamoon
999dade861
Fix: add fallback for shvl syntax (#5080) 2025-03-27 20:16:50 -07:00
shamoon
2cabe77b55
Fix: add fallback for shvl syntax 2025-03-27 20:15:39 -07:00
shamoon
0a50d5a6aa
Merge branch 'main' into dev 2025-03-27 13:27:26 -07:00
shamoon
e19dcc2729
Only deploy docs from main branch 2025-03-27 13:27:20 -07:00
shamoon
cadf1433af
Bump version to 1.1.0 2025-03-27 13:22:02 -07:00
shamoon
6bae078a8d
Merge branch 'dev' 2025-03-27 13:21:45 -07:00
github-actions[bot]
77bbdc6a04
New Crowdin translations by GitHub Action (#5010)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2025-03-27 13:21:33 -07:00
shamoon
1f8fd1c69d
Add install pnpm to source instructions 2025-03-23 07:11:20 -07:00
dependabot[bot]
5d557844cc
Chore(deps): Bump next from 15.1.7 to 15.2.3 (#5055)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-22 07:49:16 -07:00
chiragkrishna
a4b07b91fe
Enhancement: Add Repositories field to Gitea (#5053)
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2025-03-22 07:45:27 -07:00
Chris
d853bbfe44
Feature: Slskd Service Widget (#5045)
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2025-03-20 21:46:54 -07:00
IhatemyISP
7fd5e6ccb1
Tweak: change moonraker widget standby output (#4060)
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2025-03-19 16:26:49 -07:00
shamoon
aed602ad70
Tweak: try to reduce rootless startup time (#5037) 2025-03-18 19:29:43 -07:00
shamoon
fa28a11658
Fix: include new backdrop-blur-xs option (#5030) 2025-03-17 23:30:07 -07:00
shamoon
a3b693e2b6
Support maxBookmarkGroupColumns too 2025-03-17 13:03:04 -07:00
shamoon
708c4e64d1
Tweak this 2025-03-17 12:47:34 -07:00
shamoon
11a6b5d0b8
Enhancement: support maximum group cols up 8 (#5022) 2025-03-17 12:32:09 -07:00
shamoon
ce0102eb6f
Enhancement: support full width container (#5021) 2025-03-17 12:25:10 -07:00
shamoon
42f1ed3c47
Update customapi.md 2025-03-17 11:49:35 -07:00
shamoon
dca23e8547
Enhancement: support shvl syntax for customapi fields (#5020) 2025-03-17 11:47:55 -07:00
morliont
8d20f22932
Enhancement: support dynamic list rendering in custom api widget (#5012)
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2025-03-17 11:30:01 -07:00
shamoon
071b5275bc
Documentation: fix install page buttons 2025-03-17 11:19:27 -07:00
shamoon
de9c015f7f
Fix: fix minecraft players after move to minecraftstatuspinger (#5017) 2025-03-17 07:24:12 -07:00
shamoon
b4dc53c7c0
Feature: allow disable ipv6 in proxy, refactor cacheFetch to use proxy (#5011) 2025-03-16 20:09:34 -07:00
shamoon
934ad3a6f1
Fix: remove medusa widget trailing slash (#5007) 2025-03-16 15:33:38 -07:00
shamoon
6fbe080b28
Bump version to 1.0.4 2025-03-16 14:13:12 -07:00
shamoon
4047f8d6e8
Merge branch 'dev' 2025-03-16 14:12:45 -07:00
github-actions[bot]
59cd5564f8
New Crowdin translations by GitHub Action (#4985)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2025-03-16 14:12:30 -07:00
shamoon
5f19e4af91
Fix: fix custom quicklaunch search without search widget (#5003) 2025-03-16 13:12:20 -07:00
shamoon
5ea46881ee
Fix: re-add tailwind css safelist (#4999) 2025-03-16 08:32:27 -07:00
shamoon
9545757bb9
Fix: fix bookmark heights again (#4997) 2025-03-16 07:33:30 -07:00
shamoon
95507aab54
Change: re-enable k8s ingress by default (#4988) 2025-03-16 02:35:43 -07:00
shamoon
564dfb7ce3
Add k3d ingress setting and HOMEPAGE_ALLOWED_HOSTS 2025-03-15 21:05:11 -07:00
shamoon
7b72442114
Update index.md 2025-03-15 16:29:02 -07:00
shamoon
65370a7668
Fix: fix Kubernetes stats in v1.0.0 (#4984)
Co-authored-by: djeinstine <2105133+djeinstine@users.noreply.github.com>
2025-03-15 16:23:29 -07:00
shamoon
6e9339b14c
Chore: update minecraftstatuspinger to 1.2.2 (#4982) 2025-03-15 15:30:21 -07:00
shamoon
241c786710
Merge branch 'main' into dev 2025-03-15 10:18:34 -07:00
shamoon
801ce479d8
Add links to docs 2025-03-15 10:18:26 -07:00
shamoon
16730ffec2
Merge branch 'main' into dev 2025-03-15 09:46:36 -07:00
shamoon
b35dd80e8c
Improve docs 2025-03-15 09:46:23 -07:00
shamoon
82b159bf14
Improve docs 2025-03-15 09:30:10 -07:00
386 changed files with 5871 additions and 3882 deletions

View File

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

View File

@ -4,7 +4,7 @@ body:
value: |
### ⚠️ Before opening a discussion:
- [Check the troubleshooting guide](https://gethomepage.dev/troubleshooting/).
- [Check the troubleshooting guide](https://gethomepage.dev/troubleshooting/) and include the output of all steps below.
- [Search existing issues](https://github.com/gethomepage/homepage/search?q=&type=issues) [and discussions](https://github.com/gethomepage/homepage/search?q=&type=discussions) (including closed ones!).
- type: textarea
id: description
@ -59,6 +59,6 @@ body:
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.
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 *and posted the output*, if relevant. The troubleshooting steps often help to solve the problem or at least can help figure it out.
*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,9 +1,4 @@
name: Docker
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
name: Docker CI
on:
schedule:
@ -13,102 +8,62 @@ on:
- main
- feature/**
- dev
# Publish semver tags as releases.
tags: [ 'v*.*.*' ]
paths-ignore:
- 'docs/**'
- 'mkdocs.yml'
pull_request:
branches: [ "dev" ]
paths-ignore:
- 'docs/**'
- 'mkdocs.yml'
merge_group:
env:
# github.repository as <account>/<repo>
IMAGE_NAME: ${{ github.repository }}
jobs:
pre-commit:
name: Linting Checks
runs-on: ubuntu-22.04
steps:
-
name: Checkout repository
- name: Checkout repository
uses: actions/checkout@v4
-
name: Install python
- name: Install python
uses: actions/setup-python@v5
with:
python-version: 3.x
-
name: Check files
- name: Check files
uses: pre-commit/action@v3.0.1
-
name: Install pnpm
- name: Install pnpm
uses: pnpm/action-setup@v4
with:
version: 10
run_install: false
-
name: Install Node.js
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'pnpm'
-
name: Install dependencies
- name: Install dependencies
run: pnpm install
-
name: Lint frontend
- name: Lint frontend
run: pnpm run lint
build:
name: Docker Build & Push
if: github.repository == 'gethomepage/homepage'
if: github.repository == 'gethomepage/homepage'
runs-on: self-hosted
needs:
- pre-commit
needs: [ pre-commit ]
permissions:
contents: read
packages: write
# This is used to complete the identity challenge
# with sigstore/fulcio when running outside of PRs.
id-token: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
# Login to Docker Registry
# https://github.com/docker/login-action
- name: Log into registry ${{ env.REGISTRY }}
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Login to Docker Hub
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
# 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
# https://github.com/docker/metadata-action
- name: Extract Docker metadata
id: meta
uses: docker/metadata-action@v5
@ -116,11 +71,69 @@ jobs:
images: |
${{ env.IMAGE_NAME }}
ghcr.io/${{ env.IMAGE_NAME }}
tags: |
# Default tags
type=schedule,pattern=nightly
type=ref,event=branch
type=ref,event=tag
# Versioning tags
type=semver,pattern=v{{version}}
type=semver,pattern=v{{major}}.{{minor}}
type=semver,pattern=v{{major}}
flavor: |
latest=auto
# Build and push Docker image with Buildx (don't push on PR)
# https://github.com/docker/build-push-action
- name: Next.js build cache
uses: actions/cache@v4
with:
path: .next/cache
key: nextjs-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml') }}-${{ hashFiles('**/*.js', '**/*.jsx') }}
restore-keys: |
nextjs-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml') }}
- name: Install pnpm
uses: pnpm/action-setup@v4
with:
version: 10
run_install: false
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'pnpm'
- name: Install dependencies
run: pnpm install
- name: Build app
run: |
NEXT_PUBLIC_BUILDTIME="${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.created'] }}" \
NEXT_PUBLIC_VERSION="${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.version'] }}" \
NEXT_PUBLIC_REVISION="${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.revision'] }}" \
pnpm run build
- name: Log into registry ${{ env.REGISTRY }}
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Login to Docker Hub
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Setup QEMU
uses: docker/setup-qemu-action@v3.6.0
- name: Setup Docker buildx
uses: docker/setup-buildx-action@v3
- name: Build and push Docker image
id: build-and-push
uses: docker/build-push-action@v6
@ -130,18 +143,16 @@ jobs:
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
build-args: |
CI=true
BUILDTIME=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.created'] }}
VERSION=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.version'] }}
REVISION=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.revision'] }}
# 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
provenance: false
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max
# Temp fix
# https://github.com/docker/build-push-action/issues/252
# https://github.com/moby/buildkit/issues/1896
# https://github.com/docker/build-push-action/issues/252 / https://github.com/moby/buildkit/issues/1896
- name: Move cache
run: |
rm -rf /tmp/.buildx-cache

View File

@ -4,13 +4,7 @@ on:
push:
tags: ["v*.*.*"]
branches: ["main"]
paths:
- "docs/**"
- "mkdocs.yml"
pull_request:
paths:
- "docs/**"
- "mkdocs.yml"
merge_group:
workflow_dispatch:
@ -32,7 +26,7 @@ jobs:
uses: pre-commit/action@v3.0.1
test:
name: Test Build
name: Test Build Docs
if: github.repository == 'gethomepage/homepage' && github.event_name == 'pull_request'
runs-on: ubuntu-latest
needs:
@ -54,8 +48,8 @@ jobs:
- name: Test Docs Build
run: MKINSIDERS=false mkdocs build
deploy:
name: Build & Deploy
if: github.repository == 'gethomepage/homepage' && github.event_name != 'pull_request'
name: Build & Deploy Docs
if: github.repository == 'gethomepage/homepage' && github.event_name != 'pull_request' && github.ref == 'refs/heads/main'
runs-on: ubuntu-latest
needs:
- pre-commit

View File

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

View File

@ -1 +0,0 @@
{}

5
.prettierrc.js Normal file
View File

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

View File

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

View File

@ -80,7 +80,7 @@ services:
image: ghcr.io/gethomepage/homepage:latest
container_name: homepage
environment:
HOMEPAGE_ALLOWED_HOSTS: gethomepage.dev # required, may need port
HOMEPAGE_ALLOWED_HOSTS: gethomepage.dev # required, may need port. See gethomepage.dev/installation/#homepage_allowed_hosts
PUID: 1000 # optional, your user id
PGID: 1000 # optional, your group id
ports:

View File

@ -12,10 +12,43 @@ export PGID=${PGID:-0}
export HOMEPAGE_BUILDTIME=$(date +%s)
# Set privileges for /app but only if pid 1 user is root and we are dropping privileges.
# If container is run as an unprivileged user, it means owner already handled ownership setup on their own.
# Running chown in that case (as non-root) will cause error
[ "$(id -u)" == "0" ] && [ "${PUID}" != "0" ] && chown -R ${PUID}:${PGID} /app
# Check ownership before chown
if [ -e /app/config ]; then
CURRENT_UID=$(stat -c %u /app/config)
CURRENT_GID=$(stat -c %g /app/config)
if [ "$CURRENT_UID" -ne "$PUID" ] || [ "$CURRENT_GID" -ne "$PGID" ]; then
echo "Fixing ownership of /app/config"
if ! chown -R "$PUID:$PGID" /app/config 2>/dev/null; then
echo "Warning: Could not chown /app/config; continuing anyway"
fi
else
echo "/app/config already owned by correct UID/GID, skipping chown"
fi
else
echo "/app/config does not exist; skipping ownership check"
fi
# Ensure /app/config/logs exists and is owned
if [ -n "$PUID" ] && [ -n "$PGID" ]; then
mkdir -p /app/config/logs 2>/dev/null || true
if [ -d /app/config/logs ]; then
LOG_UID=$(stat -c %u /app/config/logs)
LOG_GID=$(stat -c %g /app/config/logs)
if [ "$LOG_UID" -ne "$PUID" ] || [ "$LOG_GID" -ne "$PGID" ]; then
echo "Fixing ownership of /app/config/logs"
chown -R "$PUID:$PGID" /app/config/logs 2>/dev/null || echo "Warning: Could not chown /app/config/logs"
fi
fi
fi
if [ -d /app/.next ]; then
CURRENT_UID=$(stat -c %u /app/.next)
if [ "$CURRENT_UID" -ne "$PUID" ]; then
echo "Fixing ownership of /app/.next"
chown -R "$PUID:$PGID" /app/.next || echo "Warning: Could not chown /app/.next"
fi
fi
# Drop privileges (when asked to) if root, otherwise run as current user
if [ "$(id -u)" == "0" ] && [ "${PUID}" != "0" ]; then

View File

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

View File

@ -20,7 +20,7 @@ Since Docker supports connecting with TLS and client certificate authentication,
```yaml
my-remote-docker:
host: 192.168.0.101
port: 275
port: 2375
tls:
keyFile: tls/key.pem
caFile: tls/ca.pem
@ -66,6 +66,30 @@ my-docker:
port: 2375
```
Use `protocol: https` if youre connecting through a reverse proxy (e.g., Traefik) that serves the Docker API over HTTPS:
```yaml
my-docker:
host: dockerproxy
port: 443
protocol: https
```
!!! note
Note: This does not require TLS certificates if the proxy handles encryption. Do not use `protocol: https` unless youre sure the target host supports HTTPS.
You can also include `headers` for the connection, for example, if you are using a reverse proxy that requires authentication:
```yaml
my-docker:
host: dockerproxy
port: 443
protocol: https
headers:
Authorization: Basic <base64-encoded-credentials>
```
## Using Socket Directly
If you'd rather use the socket directly, first make sure that you're passing the local socket into the Docker container.

View File

@ -25,13 +25,13 @@ To configure Kubernetes gateway-api, ingress or ingressRoute service discovery,
Example settings:
```yaml
ingress: true # enable ingress only
ingress: true # default, enable ingress only
```
or
```yaml
ingress: true # enable ingress
ingress: true # default, enable ingress
traefik: true # enable traefik ingressRoute
gateway: true # enable gateway-api
```
@ -163,6 +163,18 @@ If the `href` attribute is not present, Homepage will ignore the specific Ingres
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).
To enable Gateway API HttpRoute update `kubernetes.yaml` to include:
```
gateway: true # enable gateway-api
```
#### Using the unoffocial helm chart?
If you are using the unofficial helm chart ensure that the `ClusterRole` has required permissions for `gateway.networking.k8s.io`.
See [ClusterRole and ClusterRoleBinding](../installation/k8s.md#clusterrole-and-clusterrolebinding)
## 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`.

View File

@ -78,7 +78,7 @@ background:
You can apply a blur filter to the service & bookmark cards. Note this option is incompatible with the background blur, saturate and brightness filters.
```yaml
cardBlur: sm # sm, "", md, etc... see https://tailwindcss.com/docs/backdrop-blur
cardBlur: xs # xs, md, etc... see https://tailwindcss.com/docs/backdrop-blur
```
## Favicon
@ -101,7 +101,7 @@ theme: dark # or light
## Color Palette
You can configured a fixed color palette (and disable the palette switcher) by passing the `color` option, like so:
You can configure a fixed color palette (and disable the palette switcher) by passing the `color` option, like so:
```yaml
color: slate
@ -254,15 +254,29 @@ layout:
columns: 4
```
### Five Columns
### Full Width
You can add a fifth column to services (when `style: columns` which is default) by adding:
You can make homepage take up the entire window width by adding:
```yaml
fiveColumns: true
fullWidth: true
```
By default homepage will max out at 4 columns for services with `columns` style
### Maximum Group Columns
You can set the maximum number of columns of groups on larger screen sizes (note this is only for groups with the default `style: columns`, not groups with `stle: row`) by adding:
```yaml
maxGroupColumns: 8 # default is 4 for services, 6 for bookmarks, max 8
```
By default homepage will max out at 4 columns for services and 6 for bookmarks, thus the minimum for this setting is _5_. Of course, if you're setting this to higher numbers, you may want to consider enabling the [fullWidth](#full-width) option as well.
If you want to set the maximum columns for bookmark groups separately, you can do so by adding:
```yaml
maxBookmarkGroupColumns: 6 # default is 6, max 8
```
### Collapsible sections

View File

@ -16,7 +16,7 @@ services:
- /path/to/config:/app/config # Make sure your local config directory exists
- /var/run/docker.sock:/var/run/docker.sock # (optional) For docker integrations
environment:
HOMEPAGE_ALLOWED_HOSTS: gethomepage.dev # required, may need port
HOMEPAGE_ALLOWED_HOSTS: gethomepage.dev # required, may need port. See gethomepage.dev/installation/#homepage_allowed_hosts
```
### Running as non-root
@ -38,7 +38,7 @@ services:
- /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
environment:
HOMEPAGE_ALLOWED_HOSTS: gethomepage.dev # required, may need port
HOMEPAGE_ALLOWED_HOSTS: gethomepage.dev # required, may need port. See gethomepage.dev/installation/#homepage_allowed_hosts
PUID: $PUID
PGID: $PGID
```

View File

@ -13,24 +13,28 @@ You have a few options for deploying homepage, depending on your needs. We offer
<br>
<div class="grid cards" style="margin: 0 auto;" markdown>
:simple-docker: [&nbsp; Install on Docker :octicons-arrow-right-24:](docker.md)
[:simple-docker: &nbsp; Install on Docker :octicons-arrow-right-24:](docker.md)
{ .card }
:simple-kubernetes: [&nbsp; Install on Kubernetes :octicons-arrow-right-24:](k8s.md)
[:simple-kubernetes: &nbsp; Install on Kubernetes :octicons-arrow-right-24:](k8s.md)
{ .card }
:simple-unraid: [&nbsp; Install on UNRAID :octicons-arrow-right-24:](unraid.md)
[:simple-unraid: &nbsp; Install on UNRAID :octicons-arrow-right-24:](unraid.md)
{ .card }
:simple-nextdotjs: [&nbsp; Building from source :octicons-arrow-right-24:](source.md)
[:simple-nextdotjs: &nbsp; Building from source :octicons-arrow-right-24:](source.md)
{ .card }
</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 (no spaces) 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 more information.
As of v1.0 there is one required environment variable to access homepage via a URL other than `localhost`, <code>HOMEPAGE_ALLOWED_HOSTS</code>. The setting helps prevent certain kinds of attacks when retrieving data from the homepage API proxy.
`localhost:3000` and `127.0.0.1:3000` are always allowed, but you can add a domain or IP address to this list to allow access from that host such as `HOMEPAGE_ALLOWED_HOSTS=gethomepage.dev,192.168.1.2:1234`, etc.
The value is a comma-separated (no spaces) list of allowed hosts (sometimes with the port) that can host your homepage install. See the [docker](docker.md), [kubernetes](k8s.md) and [source](source.md) installation pages for more information about where / how to set the variable.
`localhost:3000` and `127.0.0.1:3000` are always included, but you can add a domain or IP address to this list to allow that host such as `HOMEPAGE_ALLOWED_HOSTS=gethomepage.dev,192.168.1.2:1234`, etc.
If you are seeing errors about host validation, check the homepage logs and ensure that the host exactly as output in the logs is in the `HOMEPAGE_ALLOWED_HOSTS` list.
This can be disabled by setting `HOMEPAGE_ALLOWED_HOSTS` to `*` but this is not recommended.

View File

@ -225,7 +225,7 @@ spec:
imagePullPolicy: Always
env:
- name: HOMEPAGE_ALLOWED_HOSTS
value: gethomepage.dev # required, may need port
value: gethomepage.dev # required, may need port. See gethomepage.dev/installation/#homepage_allowed_hosts
ports:
- name: http
containerPort: 3000

View File

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

View File

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

View File

@ -20,7 +20,7 @@ All service widgets work essentially the same, that is, homepage makes a proxied
1. URLs should not end with a / or other API path. Each widget will handle the path on its own.
2. All services with a widget require a unique name.
2. All services with a widget require a unique name as well as a unique group (and all subgroups) 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.:
@ -70,7 +70,9 @@ If, after correctly adding and mapping your custom icons via the [Icons](../conf
## Disabling IPv6
If you are having issues with certain widgets that are unable to reach public APIs (e.g. weather), you may need to disable IPv6 on your host machine. This can be done by adding the following to your `docker-compose.yml` file (or for docker run, the equivalent flag):
If you are having issues with certain widgets that are unable to reach public APIs (e.g. weather), in certain setups you may need to disable IPv6. You can set the environment variable `HOMEPAGE_PROXY_DISABLE_IPV6` to `true` to disable IPv6 for the homepage proxy.
Alternatively, you can use the `sysctls` option in your docker-compose file to disable IPv6 for the homepage container completely:
```yaml
services:
@ -79,12 +81,3 @@ services:
sysctls:
- net.ipv6.conf.all.disable_ipv6=1
```
or disable IPv6 for the docker network:
```yaml
networks:
some_network:
driver: bridge
enable_ipv6: false
```

View File

@ -225,20 +225,8 @@ const widgetExample = {
#### `method`
The `method` property is a string that represents the HTTP method that should be used to make the API request. The default value is `GET`.
```js
const widgetExample = {
api: "{url}/api/{endpoint}",
mappings: {
// `/api/stats`
stats: {
endpoint: "stats",
method: "POST",
},
},
};
```
The `method` represents the HTTP method that should be used to make the API request. The default value is `GET`. Note that `POST` requests are not allowed via the
widget API and require the use of a custom proxy.
#### `headers`
@ -251,7 +239,6 @@ const widgetExample = {
// `/api/stats`
stats: {
endpoint: "stats",
method: "POST",
headers: {
"Content-Type": "application/json",
},
@ -271,7 +258,6 @@ const widgetExample = {
// `/api/graphql`
stats: {
endpoint: "graphql",
method: "POST",
body: {
query: `
query {

View File

@ -34,7 +34,7 @@ Homepage uses the [next-i18next](https://github.com/i18next/next-i18next) librar
Homepage uses translated and localized strings for **all text and numerical content** in widgets. English is the default language, and other languages can be added via [Crowdin](https://crowdin.com/project/gethomepage). To add the English translations for your widget, follow these steps:
Open the `public/locales/en/common.js` file.
Open the `public/locales/en/common.json` file.
Add a new object for your widget to the bottom of the list, like this:

View File

@ -150,7 +150,7 @@ This will render the widget with placeholders for the data, i.e., a skeleton vie
!!! tip "Translation Tips"
The `label` prop in the `Block` component corresponds to the translation key we defined earlier in the `common.js` file. All text and numerical content should be translated.
The `label` prop in the `Block` component corresponds to the translation key we defined earlier in the `common.json` file. All text and numerical content should be translated.
---

View File

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

View File

@ -0,0 +1,17 @@
---
title: Checkmk
description: Checkmk Widget Configuration
---
Learn more about [Checkmk](https://github.com/Checkmk/checkmk).
To setup authentication, follow the official [Checkmk API](https://docs.checkmk.com/latest/en/rest_api.html?lquery=api#bearerauth) documentation.
```yaml
widget:
type: checkmk
url: http://checkmk.host.or.ip:port
site: your-site-name-cla-by-default
username: username
password: password
```

View File

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

View File

@ -14,4 +14,5 @@ widget:
type: gamedig
serverType: csgo # see https://github.com/gamedig/node-gamedig#games-list
url: udp://server.host.or.ip:port
gameToken: # optional, a token used by gamedig with certain games
```

View File

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

View File

@ -9,9 +9,10 @@ Learn more about [Gluetun](https://github.com/qdm12/gluetun).
Requires [HTTP control server options](https://github.com/qdm12/gluetun-wiki/blob/main/setup/advanced/control-server.md) to be enabled. By default this runs on port `8000`.
Allowed fields: `["public_ip", "region", "country"]`.
Allowed fields: `["public_ip", "region", "country", "port_forwarded"]`.
Default 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). 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.
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. Similarly, if you want to include the `port_forwarded` field, you must add the route `GET /v1/openvpn/portforwarded` to your Gluetun config.toml.
```yaml
widget:

View File

@ -1,17 +0,0 @@
---
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

@ -51,7 +51,7 @@ You can also find a list of all available service widgets in the sidebar navigat
- [HDHomeRun](hdhomerun.md)
- [Headscale](headscale.md)
- [Healthchecks](healthchecks.md)
- [Hoarder](hoarder.md)
- [Karakeep](karakeep.md)
- [Home Assistant](homeassistant.md)
- [HomeBox](homebox.md)
- [Homebridge](homebridge.md)
@ -117,6 +117,7 @@ You can also find a list of all available service widgets in the sidebar navigat
- [ruTorrent](rutorrent.md)
- [SABnzbd](sabnzbd.md)
- [Scrutiny](scrutiny.md)
- [Slskd](slskd.md)
- [Sonarr](sonarr.md)
- [Speedtest Tracker](speedtest-tracker.md)
- [Stash](stash.md)

View File

@ -1,6 +1,6 @@
---
title: JDownloader
description: NextPVR Widget Configuration
description: JDownloader Widget Configuration
---
Learn more about [JDownloader](https://jdownloader.org/).

View File

@ -0,0 +1,18 @@
---
title: Jellystat
description: Jellystat Widget Configuration
---
Learn more about [Jellystat](https://github.com/CyferShepard/Jellystat). The widget supports (at least) Jellystat version 1.1.6
You can create an API key from inside Jellystat at `Settings > API Key`.
Allowed fields: `["songs", "movies", "episodes", "other"]`.
```yaml
widget:
type: jellystat
url: http://jellystat.host.or.ip
key: apikeyapikeyapikeyapikeyapikey
days: 30 # optional, defaults to 30
```

View File

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

View File

@ -5,6 +5,8 @@ description: Proxmox Backup Server Widget Configuration
Learn more about [Proxmox Backup Server](https://www.proxmox.com/en/proxmox-backup-server/overview).
Create a user and an API token similar to the [Proxmox VE description](proxmox.md). The "Audit" role is required for both the user and token (not group).
Allowed fields: `["datastore_usage", "failed_tasks_24h", "cpu_usage", "memory_usage"]`.
```yaml
@ -13,4 +15,5 @@ widget:
url: https://proxmoxbackupserver.host:port
username: api_token_id
password: api_token_secret
datastore: datastore_name #optional; if ommitted, will display a combination of all datastores used / total
```

View File

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

View File

@ -11,10 +11,17 @@ Note: by default `["connected", "enabled", "total"]` are displayed.
To detect if a device is connected the time since the last handshake is queried. `threshold` is the time to wait in minutes since the last handshake to consider a device connected. Default is 2 minutes.
| Wg-Easy API Version | Homepage Widget Version |
| ------------------- | ----------------------- |
| < v15 | 1 (default) |
| >= v15 | 2 |
```yaml
widget:
type: wgeasy
url: http://wg.easy.or.ip
version: 2 # optional, default is 1
username: yourwgusername # required for v15 and above
password: yourwgeasypassword
threshold: 2 # optional
```

View File

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

View File

@ -74,7 +74,7 @@ nav:
- widgets/services/hdhomerun.md
- widgets/services/headscale.md
- widgets/services/healthchecks.md
- widgets/services/hoarder.md
- widgets/services/karakeep.md
- widgets/services/homeassistant.md
- widgets/services/homebox.md
- widgets/services/homebridge.md

View File

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

View File

@ -1,6 +1,6 @@
{
"name": "homepage",
"version": "1.0.3",
"version": "1.3.2",
"private": true,
"scripts": {
"preinstall": "npx only-allow pnpm",
@ -13,19 +13,19 @@
"dependencies": {
"@headlessui/react": "^1.7.19",
"@kubernetes/client-node": "^1.0.0",
"cal-parser": "^1.0.2",
"classnames": "^2.5.1",
"compare-versions": "^6.1.1",
"dockerode": "^4.0.4",
"follow-redirects": "^1.15.9",
"gamedig": "^5.2.0",
"i18next": "^21.10.0",
"i18next": "^24.2.3",
"ical.js": "^2.1.0",
"js-yaml": "^4.1.0",
"json-rpc-2.0": "^1.7.0",
"luxon": "^3.5.0",
"memory-cache": "^0.2.0",
"minecraftstatuspinger": "^1.2.1",
"next": "^15.1.7",
"minecraftstatuspinger": "^1.2.2",
"next": "^15.3.1",
"next-i18next": "^12.1.0",
"ping": "^0.4.4",
"pretty-bytes": "^6.1.1",
@ -34,9 +34,8 @@
"react-dom": "^18.3.1",
"react-i18next": "^11.18.6",
"react-icons": "^5.4.0",
"recharts": "^2.15.1",
"rrule": "^2.8.1",
"swr": "^1.3.0",
"recharts": "^2.15.3",
"swr": "^2.3.3",
"systeminformation": "^5.25.11",
"tough-cookie": "^5.1.2",
"urbackup-server-api": "^0.8.9",
@ -46,21 +45,27 @@
"devDependencies": {
"@tailwindcss/forms": "^0.5.10",
"@tailwindcss/postcss": "^4.0.9",
"eslint": "^9.21.0",
"eslint-config-next": "^15.1.7",
"eslint-config-prettier": "^10.0.2",
"eslint": "^9.25.1",
"eslint-config-next": "^15.2.4",
"eslint-config-prettier": "^10.1.1",
"eslint-plugin-import": "^2.31.0",
"eslint-plugin-jsx-a11y": "^6.10.2",
"eslint-plugin-prettier": "^5.2.3",
"eslint-plugin-prettier": "^5.2.6",
"eslint-plugin-react": "^7.37.4",
"eslint-plugin-react-hooks": "^5.1.0",
"postcss": "^8.5.2",
"postcss": "^8.5.3",
"prettier": "^3.5.2",
"prettier-plugin-organize-imports": "^4.1.0",
"tailwind-scrollbar": "^4.0.1",
"tailwindcss": "^4.0.9",
"typescript": "^5.7.3"
},
"optionalDependencies": {
"osx-temperature-sensor": "^1.0.8"
},
"pnpm": {
"onlyBuiltDependencies": [
"sharp"
]
}
}

1038
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@ -568,7 +568,8 @@
"gluetun": {
"public_ip": "Publieke IP",
"region": "Streek",
"country": "Land"
"country": "Land",
"port_forwarded": "Poort Aangestuur"
},
"hdhomerun": {
"channels": "Kanale",
@ -856,7 +857,8 @@
"physicalRelease": "Fisiese Vrylating",
"digitalRelease": "Digitale Vrylating",
"noEventsToday": "Geen gebeure vir vandag nie!",
"noEventsFound": "Geen gebeure gevind nie"
"noEventsFound": "Geen gebeure gevind nie",
"errorWhenLoadingData": "Fout tydens laai van kalenderdata"
},
"romm": {
"platforms": "Platform",
@ -885,7 +887,8 @@
"gitea": {
"notifications": "Kennisgewings",
"issues": "Kwessies",
"pulls": "Trek Versoeke"
"pulls": "Trek Versoeke",
"repositories": "Bewaarplekke"
},
"stash": {
"scenes": "Tonele",
@ -1023,12 +1026,33 @@
"bcharge": "Batterylading",
"timeleft": "Oorblywende Tyd"
},
"hoarder": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"karakeep": {
"bookmarks": "Boekmerke",
"favorites": "Gunstelinge",
"archived": "Geargiveer",
"highlights": "Hoogtepunte",
"lists": "Lyste",
"tags": "Merkers"
},
"slskd": {
"slskStatus": "Netwerk",
"connected": "Gekoppel",
"disconnected": "Ontkoppel",
"updateStatus": "Opdateer",
"update_yes": "Beskikbaar",
"update_no": "Op Datum",
"downloads": "Aflaaie",
"uploads": "Oplaaie",
"sharedFiles": "Lêers"
},
"jellystat": {
"songs": "Liedjies",
"movies": "Flieks",
"episodes": "Episodes",
"other": "Ander"
},
"checkmk": {
"serviceErrors": "Diensprobleme",
"hostErrors": "Gasheerprobleme"
}
}

View File

@ -568,7 +568,8 @@
"gluetun": {
"public_ip": "العام IP",
"region": "منطقة",
"country": "الدولة"
"country": "الدولة",
"port_forwarded": "Port Forwarded"
},
"hdhomerun": {
"channels": "القنوات",
@ -856,7 +857,8 @@
"physicalRelease": "الإصدار المادي",
"digitalRelease": "الإصدار الرقمي",
"noEventsToday": "لا توجد أحداث اليوم!",
"noEventsFound": "لم يتم العثور على أحداث"
"noEventsFound": "لم يتم العثور على أحداث",
"errorWhenLoadingData": "Error when loading calendar data"
},
"romm": {
"platforms": "المِنصات",
@ -885,7 +887,8 @@
"gitea": {
"notifications": "الإشعارات",
"issues": "المُشكِلات",
"pulls": "طلبات السحب"
"pulls": "طلبات السحب",
"repositories": "Repositories"
},
"stash": {
"scenes": "المشاهد",
@ -1023,12 +1026,33 @@
"bcharge": "شحن البطارية",
"timeleft": "الوقت المتبقي"
},
"hoarder": {
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "التصنيفات"
},
"slskd": {
"slskStatus": "الشبكة",
"connected": "متصل",
"disconnected": "غير متصل",
"updateStatus": "Update",
"update_yes": "متاح",
"update_no": "حتى الآن",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "ملفات"
},
"jellystat": {
"songs": "أغاني",
"movies": "أفلام",
"episodes": "حلقات",
"other": "Other"
},
"checkmk": {
"serviceErrors": "Service issues",
"hostErrors": "Host issues"
}
}

View File

@ -394,7 +394,7 @@
"strelaysrv": {
"numActiveSessions": "Сесии",
"numConnections": "Connections",
"dataRelayed": "Relayed",
"dataRelayed": "",
"transferRate": "Скорост"
},
"mastodon": {
@ -568,7 +568,8 @@
"gluetun": {
"public_ip": "Публично IP",
"region": "Регион",
"country": "Страна"
"country": "Страна",
"port_forwarded": "Port Forwarded"
},
"hdhomerun": {
"channels": "Канали",
@ -856,7 +857,8 @@
"physicalRelease": "Physical release",
"digitalRelease": "Дигитално издания",
"noEventsToday": "Няма събития за днес!",
"noEventsFound": "Няма намерени събития"
"noEventsFound": "Няма намерени събития",
"errorWhenLoadingData": "Error when loading calendar data"
},
"romm": {
"platforms": "Платформи",
@ -885,7 +887,8 @@
"gitea": {
"notifications": "Известия",
"issues": "Издания",
"pulls": "Заявки за сливане"
"pulls": "Заявки за сливане",
"repositories": "Repositories"
},
"stash": {
"scenes": "Сцени",
@ -1001,7 +1004,7 @@
"argocd": {
"apps": "Приложения",
"synced": "Synced",
"outOfSync": "Out Of Sync",
"outOfSync": "",
"healthy": "Здрав",
"degraded": "Деградирани",
"progressing": "Progressing",
@ -1023,12 +1026,33 @@
"bcharge": "Заряд на батерията",
"timeleft": "Оставащо Време"
},
"hoarder": {
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Тагове"
},
"slskd": {
"slskStatus": "Мрежа",
"connected": "Свързан",
"disconnected": "Не е свързан",
"updateStatus": "Update",
"update_yes": "Наличен",
"update_no": "Актуално",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "Файлове"
},
"jellystat": {
"songs": "Песни",
"movies": "Филми",
"episodes": "Епизоди",
"other": "Other"
},
"checkmk": {
"serviceErrors": "Service issues",
"hostErrors": "Host issues"
}
}

View File

@ -568,7 +568,8 @@
"gluetun": {
"public_ip": "IP Pública",
"region": "Regió",
"country": "País"
"country": "País",
"port_forwarded": "Port Forwarded"
},
"hdhomerun": {
"channels": "Canals",
@ -856,7 +857,8 @@
"physicalRelease": "Estrena física",
"digitalRelease": "Estrena digital",
"noEventsToday": "Cap esdeveniment per avui!",
"noEventsFound": "No s'han trobat esdeveniments"
"noEventsFound": "No s'han trobat esdeveniments",
"errorWhenLoadingData": "Error when loading calendar data"
},
"romm": {
"platforms": "Plataformes",
@ -885,7 +887,8 @@
"gitea": {
"notifications": "Notificacions",
"issues": "Problemes",
"pulls": "Sol·licitud de Canvis"
"pulls": "Sol·licitud de Canvis",
"repositories": "Repositories"
},
"stash": {
"scenes": "Escenes",
@ -1023,12 +1026,33 @@
"bcharge": "Càrrega de la bateria",
"timeleft": "Temps restant"
},
"hoarder": {
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Etiquetes"
},
"slskd": {
"slskStatus": "Xarxa",
"connected": "Connectat",
"disconnected": "Desconnectat",
"updateStatus": "Update",
"update_yes": "Disponible",
"update_no": "Actualitzat",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "Fitxers"
},
"jellystat": {
"songs": "Cançons",
"movies": "Pel·lícules",
"episodes": "Episodis",
"other": "Other"
},
"checkmk": {
"serviceErrors": "Service issues",
"hostErrors": "Host issues"
}
}

View File

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

View File

@ -568,7 +568,8 @@
"gluetun": {
"public_ip": "Offentlig IP",
"region": "Område",
"country": "Land"
"country": "Land",
"port_forwarded": "Port Forwarded"
},
"hdhomerun": {
"channels": "Kanaler",
@ -856,7 +857,8 @@
"physicalRelease": "Fysisk udgivelse",
"digitalRelease": "Digitale udgivelser",
"noEventsToday": "No events for today!",
"noEventsFound": "No events found"
"noEventsFound": "No events found",
"errorWhenLoadingData": "Error when loading calendar data"
},
"romm": {
"platforms": "Platforme",
@ -885,7 +887,8 @@
"gitea": {
"notifications": "Notifications",
"issues": "Problemer",
"pulls": "Pull Requests"
"pulls": "Pull Requests",
"repositories": "Repositories"
},
"stash": {
"scenes": "Scenes",
@ -1023,12 +1026,33 @@
"bcharge": "Batteriniveau",
"timeleft": "Resterende tid"
},
"hoarder": {
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Tags"
},
"slskd": {
"slskStatus": "Network",
"connected": "Connected",
"disconnected": "Disconnected",
"updateStatus": "Update",
"update_yes": "Tilgængelig",
"update_no": "Opdateret",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "Filer"
},
"jellystat": {
"songs": "Sange",
"movies": "Film",
"episodes": "Episoder",
"other": "Other"
},
"checkmk": {
"serviceErrors": "Service issues",
"hostErrors": "Host issues"
}
}

View File

@ -47,7 +47,7 @@
"load": "Last",
"temp": "TEMP",
"max": "Max",
"uptime": "UP"
"uptime": "BETRIEBSZEIT"
},
"unifi": {
"users": "Benutzer",
@ -61,7 +61,7 @@
"wlan_devices": "WLAN-Geräte",
"lan_users": "LAN-Benutzer",
"wlan_users": "WLAN-Benutzer",
"up": "UP",
"up": "BETRIEBSZEIT",
"down": "EMPFANGEN",
"wait": "Bitte warten",
"empty_data": "Subsystem-Status unbekannt"
@ -150,7 +150,7 @@
"sent": "Gesendet",
"externalIPAddress": "Externe IP",
"externalIPv6Address": "Externe IPv6",
"externalIPv6Prefix": "Externer IPv4-Präfix"
"externalIPv6Prefix": "Externes IPv6-Präfix"
},
"caddy": {
"upstreams": "Upstreams",
@ -436,7 +436,7 @@
"temp": "TEMP",
"_temp": "Temperatur",
"warn": "Warnung",
"uptime": "UP",
"uptime": "BETRIEBSZEIT",
"total": "Gesamt",
"free": "Frei",
"used": "In Benutzung",
@ -447,7 +447,7 @@
"write": "Schreiben",
"gpu": "GPU",
"mem": "RAM",
"swap": "Swap"
"swap": "Auslagerung"
},
"quicklaunch": {
"bookmark": "Lesezeichen",
@ -568,7 +568,8 @@
"gluetun": {
"public_ip": "Öffentliche IP",
"region": "Region",
"country": "Land"
"country": "Land",
"port_forwarded": "Port weitergeleitet"
},
"hdhomerun": {
"channels": "Kanäle",
@ -665,8 +666,8 @@
"storage": "Speicher"
},
"uptimekuma": {
"up": "Seiten verfügbar",
"down": "Seiten nicht verfügbar",
"up": "Up",
"down": "Down",
"uptime": "Betriebszeit",
"incident": "Vorfall",
"m": "min"
@ -744,8 +745,8 @@
"targets_total": "Alle Ziele"
},
"gatus": {
"up": "Seiten verfügbar",
"down": "Seiten nicht verfügbar",
"up": "Up",
"down": "Down",
"uptime": "Betriebszeit"
},
"ghostfolio": {
@ -842,8 +843,8 @@
"uptime": "Betriebszeit",
"lastDown": "Letzter Ausfall",
"downDuration": "Ausfalldauer",
"sitesUp": "Seiten verfügbar",
"sitesDown": "Seiten nicht verfügbar",
"sitesUp": "Up",
"sitesDown": "Down",
"paused": "Pausiert",
"notyetchecked": "Noch nicht geprüft",
"up": "Online",
@ -856,7 +857,8 @@
"physicalRelease": "Physische Version",
"digitalRelease": "Digitale Version",
"noEventsToday": "Heute keine Ereignisse!",
"noEventsFound": "Keine Termine gefunden"
"noEventsFound": "Keine Termine gefunden",
"errorWhenLoadingData": "Fehler beim Laden der Kalenderdaten"
},
"romm": {
"platforms": "Plattformen",
@ -885,7 +887,8 @@
"gitea": {
"notifications": "Benachrichtigungen",
"issues": "Probleme",
"pulls": "Pull-Requests"
"pulls": "Pull-Requests",
"repositories": "Repositories"
},
"stash": {
"scenes": "Szenen",
@ -1023,12 +1026,33 @@
"bcharge": "Akkuladung",
"timeleft": "Verbleibende Zeit"
},
"hoarder": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"karakeep": {
"bookmarks": "Lesezeichen",
"favorites": "Favoriten",
"archived": "Archiviert",
"highlights": "Highlights",
"lists": "Lists",
"lists": "Listen",
"tags": "Schlagwörter"
},
"slskd": {
"slskStatus": "Netzwerk",
"connected": "Verbunden",
"disconnected": "Getrennt",
"updateStatus": "Update",
"update_yes": "Verfügbar",
"update_no": "Aktuell",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "Dateien"
},
"jellystat": {
"songs": "Songs",
"movies": "Filme",
"episodes": "Episoden",
"other": "Andere"
},
"checkmk": {
"serviceErrors": "Dienstprobleme",
"hostErrors": "Hostprobleme"
}
}

View File

@ -568,7 +568,8 @@
"gluetun": {
"public_ip": "Δημόσια ΙΡ",
"region": "Περιοχή",
"country": "Χώρα"
"country": "Χώρα",
"port_forwarded": "Port Forwarded"
},
"hdhomerun": {
"channels": "Κανάλια",
@ -856,7 +857,8 @@
"physicalRelease": "Physical release",
"digitalRelease": "Digital release",
"noEventsToday": "No events for today!",
"noEventsFound": "No events found"
"noEventsFound": "No events found",
"errorWhenLoadingData": "Error when loading calendar data"
},
"romm": {
"platforms": "Platforms",
@ -885,7 +887,8 @@
"gitea": {
"notifications": "Notifications",
"issues": "Issues",
"pulls": "Pull Requests"
"pulls": "Pull Requests",
"repositories": "Repositories"
},
"stash": {
"scenes": "Scenes",
@ -1023,12 +1026,33 @@
"bcharge": "Battery Charge",
"timeleft": "Χρόνος που απομένει"
},
"hoarder": {
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Ετικέτες"
},
"slskd": {
"slskStatus": "Δίκτυο",
"connected": "Συνδέθηκε",
"disconnected": "Αποσυνδέθηκε",
"updateStatus": "Update",
"update_yes": "Διαθέσιμο",
"update_no": "Ενημερωμένο",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "Αρχεία"
},
"jellystat": {
"songs": "Τραγούδια",
"movies": "Ταινίες",
"episodes": "Επεισόδια",
"other": "Other"
},
"checkmk": {
"serviceErrors": "Service issues",
"hostErrors": "Host issues"
}
}

View File

@ -568,7 +568,8 @@
"gluetun": {
"public_ip": "Public IP",
"region": "Region",
"country": "Country"
"country": "Country",
"port_forwarded": "Port Forwarded"
},
"hdhomerun": {
"channels": "Channels",
@ -856,7 +857,8 @@
"physicalRelease": "Physical release",
"digitalRelease": "Digital release",
"noEventsToday": "No events for today!",
"noEventsFound": "No events found"
"noEventsFound": "No events found",
"errorWhenLoadingData": "Error when loading calendar data"
},
"romm": {
"platforms": "Platforms",
@ -883,9 +885,10 @@
"species": "Species"
},
"gitea": {
"notifications": "Notifications",
"issues": "Issues",
"pulls": "Pull Requests"
"notifications": "Notifications",
"issues": "Issues",
"pulls": "Pull Requests",
"repositories": "Repositories"
},
"stash": {
"scenes": "Scenes",
@ -1023,12 +1026,33 @@
"bcharge":"Battery Charge",
"timeleft":"Time Left"
},
"hoarder": {
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Tags"
},
"slskd": {
"slskStatus": "Network",
"connected": "Connected",
"disconnected": "Disconnected",
"updateStatus": "Update",
"update_yes": "Available",
"update_no": "Up to Date",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "Files"
},
"jellystat": {
"songs": "Songs",
"movies": "Movies",
"episodes": "Episodes",
"other": "Other"
},
"checkmk": {
"serviceErrors": "Service issues",
"hostErrors": "Host issues"
}
}

View File

@ -568,7 +568,8 @@
"gluetun": {
"public_ip": "Public IP",
"region": "Regiono",
"country": "Lando"
"country": "Lando",
"port_forwarded": "Port Forwarded"
},
"hdhomerun": {
"channels": "Kanaloj",
@ -856,7 +857,8 @@
"physicalRelease": "Physical release",
"digitalRelease": "Digital release",
"noEventsToday": "No events for today!",
"noEventsFound": "No events found"
"noEventsFound": "No events found",
"errorWhenLoadingData": "Error when loading calendar data"
},
"romm": {
"platforms": "Platforms",
@ -885,7 +887,8 @@
"gitea": {
"notifications": "Notifications",
"issues": "Issues",
"pulls": "Pull Requests"
"pulls": "Pull Requests",
"repositories": "Repositories"
},
"stash": {
"scenes": "Scenes",
@ -1023,12 +1026,33 @@
"bcharge": "Battery Charge",
"timeleft": "Time Left"
},
"hoarder": {
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Tags"
},
"slskd": {
"slskStatus": "Network",
"connected": "Connected",
"disconnected": "Disconnected",
"updateStatus": "Update",
"update_yes": "Havebla",
"update_no": "Up to Date",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "Files"
},
"jellystat": {
"songs": "Kantoj",
"movies": "Filmoj",
"episodes": "Epizodoj",
"other": "Other"
},
"checkmk": {
"serviceErrors": "Service issues",
"hostErrors": "Host issues"
}
}

View File

@ -149,8 +149,8 @@
"received": "Recibido",
"sent": "Enviado",
"externalIPAddress": "IP ext.",
"externalIPv6Address": "Ext. IPv6",
"externalIPv6Prefix": "Ext. IPv6-Prefix"
"externalIPv6Address": "IPv6 ext.",
"externalIPv6Prefix": "Prefijo IPv6 ext."
},
"caddy": {
"upstreams": "Upstream (desarrollo de software)",
@ -178,7 +178,7 @@
"connectedAp": "AP conectados",
"activeUser": "Dispositivos activos",
"alerts": "Alertas",
"connectedGateways": "Connected gateways",
"connectedGateways": "Puertas de enlace conectadas",
"connectedSwitches": "Conmutadores conectados"
},
"nzbget": {
@ -568,7 +568,8 @@
"gluetun": {
"public_ip": "IP pública",
"region": "Región",
"country": "País"
"country": "País",
"port_forwarded": "Port Forwarded"
},
"hdhomerun": {
"channels": "Canales",
@ -705,8 +706,8 @@
"time": "Tiempo"
},
"firefly": {
"networth": "Net Worth",
"budget": "Budget"
"networth": "Patrimonio neto",
"budget": "Presupuesto"
},
"grafana": {
"dashboards": "Tableros",
@ -856,7 +857,8 @@
"physicalRelease": "Lanzamiento en físico",
"digitalRelease": "Lanzamiento en digital",
"noEventsToday": "¡Sin eventos para hoy!",
"noEventsFound": "No se encontraron eventos"
"noEventsFound": "No se encontraron eventos",
"errorWhenLoadingData": "Error when loading calendar data"
},
"romm": {
"platforms": "Plataformas",
@ -885,7 +887,8 @@
"gitea": {
"notifications": "Notificaciones",
"issues": "Números",
"pulls": "Solicitudes de cambios"
"pulls": "Solicitudes de cambios",
"repositories": "Repositorios"
},
"stash": {
"scenes": "Escenas",
@ -1023,12 +1026,33 @@
"bcharge": "Carga de la batería",
"timeleft": "Tiempo restante"
},
"hoarder": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"karakeep": {
"bookmarks": "Marcadores",
"favorites": "Favoritos",
"archived": "Archivado",
"highlights": "Destacados",
"lists": "Listas",
"tags": "Etiquetas"
},
"slskd": {
"slskStatus": "Red",
"connected": "Conectado",
"disconnected": "Desconectado",
"updateStatus": "Actualización",
"update_yes": "Disponible",
"update_no": "Actualizado",
"downloads": "Descargas",
"uploads": "Subidas",
"sharedFiles": "Archivos"
},
"jellystat": {
"songs": "Canciones",
"movies": "Películas",
"episodes": "Episodios",
"other": "Otros"
},
"checkmk": {
"serviceErrors": "Service issues",
"hostErrors": "Host issues"
}
}

View File

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

View File

@ -568,7 +568,8 @@
"gluetun": {
"public_ip": "Public IP",
"region": "Region",
"country": "Country"
"country": "Country",
"port_forwarded": "Port Forwarded"
},
"hdhomerun": {
"channels": "Channels",
@ -856,7 +857,8 @@
"physicalRelease": "Physical release",
"digitalRelease": "Digital release",
"noEventsToday": "No events for today!",
"noEventsFound": "No events found"
"noEventsFound": "No events found",
"errorWhenLoadingData": "Error when loading calendar data"
},
"romm": {
"platforms": "Platforms",
@ -885,7 +887,8 @@
"gitea": {
"notifications": "Notifications",
"issues": "Issues",
"pulls": "Pull Requests"
"pulls": "Pull Requests",
"repositories": "Repositories"
},
"stash": {
"scenes": "Scenes",
@ -1023,12 +1026,33 @@
"bcharge": "Battery Charge",
"timeleft": "Aikaa jäljellä"
},
"hoarder": {
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Tags"
},
"slskd": {
"slskStatus": "Network",
"connected": "Connected",
"disconnected": "Disconnected",
"updateStatus": "Update",
"update_yes": "Saatavilla",
"update_no": "Up to Date",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "Files"
},
"jellystat": {
"songs": "Songs",
"movies": "Movies",
"episodes": "Episodes",
"other": "Other"
},
"checkmk": {
"serviceErrors": "Service issues",
"hostErrors": "Host issues"
}
}

View File

@ -85,16 +85,16 @@
"ping": {
"error": "Erreur",
"ping": "Latence",
"down": "Bas",
"up": "Haut",
"down": "Down",
"up": "Up",
"not_available": "Non disponible"
},
"siteMonitor": {
"http_status": "Statut HTTP",
"error": "Erreur",
"response": "Réponse",
"down": "Bas",
"up": "Haut",
"down": "Down",
"up": "Up",
"not_available": "Non disponible"
},
"emby": {
@ -103,7 +103,7 @@
"bitrate": "Débit",
"no_active": "Aucun flux actif",
"movies": "Films",
"series": "Séries TV",
"series": "Séries",
"episodes": "Épisodes",
"songs": "Chansons"
},
@ -142,15 +142,15 @@
"connectionStatusDisconnected": "Déconnecté",
"connectionStatusConnected": "Connecté",
"uptime": "Démarré depuis",
"maxDown": "Max. Bas",
"maxUp": "Max. Haut",
"down": "Bas",
"up": "Haut",
"maxDown": "Max. Down",
"maxUp": "Max. Up",
"down": "Down",
"up": "Up",
"received": "Reçu",
"sent": "Envoyé",
"externalIPAddress": "IP externe",
"externalIPv6Address": "Ext. IPv6",
"externalIPv6Prefix": "Ext. IPv6-Prefix"
"externalIPv6Address": "IPv6 externe",
"externalIPv6Prefix": "Préfixe IPv6 externe"
},
"caddy": {
"upstreams": "En amont",
@ -178,7 +178,7 @@
"connectedAp": "AP connectés",
"activeUser": "Périphériques actifs",
"alerts": "Alertes",
"connectedGateways": "Connected gateways",
"connectedGateways": "Passerelles connectées",
"connectedSwitches": "Switchs connectés"
},
"nzbget": {
@ -241,7 +241,7 @@
"sonarr": {
"wanted": "Demandé",
"queued": "En file d'attente",
"series": "Séries TV",
"series": "Séries",
"queue": "En attente",
"unknown": "Inconnu"
},
@ -405,7 +405,7 @@
"medusa": {
"wanted": "Demandé",
"queued": "En file d'attente",
"series": "Séries TV"
"series": "Séries"
},
"minecraft": {
"players": "Joueurs",
@ -523,15 +523,15 @@
"up_to_date": "À jour",
"child_bridges": "Child Bridges",
"child_bridges_status": "{{ok}}/{{total}}",
"up": "Haut",
"up": "Up",
"pending": "En attente",
"down": "Bas"
"down": "Down"
},
"healthchecks": {
"new": "Nouveau",
"up": "Haut",
"up": "Up",
"grace": "En Période de Grâce",
"down": "Bas",
"down": "Down",
"paused": "En Pause",
"status": "Statut",
"last_ping": "Dernier Ping",
@ -568,7 +568,8 @@
"gluetun": {
"public_ip": "IP publique",
"region": "Région",
"country": "Pays"
"country": "Pays",
"port_forwarded": "Port Transféré"
},
"hdhomerun": {
"channels": "Chaînes",
@ -646,8 +647,8 @@
"load": "Charge moy.",
"memory": "Util. Mém.",
"wanStatus": "Statut WAN",
"up": "Haut",
"down": "Bas",
"up": "Up",
"down": "Down",
"temp": "Température",
"disk": "Util. Disque",
"wanIP": "IP WAN"
@ -672,14 +673,14 @@
"m": "m"
},
"atsumeru": {
"series": "Séries TV",
"series": "Séries",
"archives": "Archives",
"chapters": "Chapitres",
"categories": "Catégories"
},
"komga": {
"libraries": "Bibliothèques",
"series": "Séries TV",
"series": "Séries",
"books": "Livres"
},
"diskstation": {
@ -688,7 +689,7 @@
"volumeAvailable": "Disponible"
},
"mylar": {
"series": "Séries TV",
"series": "Séries",
"issues": "Anomalies",
"wanted": "Demandé"
},
@ -772,7 +773,7 @@
"books": "Livres",
"authors": "Auteurs",
"categories": "Catégories",
"series": "Séries TV"
"series": "Séries"
},
"jdownloader": {
"downloadCount": "En attente",
@ -781,7 +782,7 @@
"downloadSpeed": "Débit"
},
"kavita": {
"seriesCount": "Séries TV",
"seriesCount": "Séries",
"totalFiles": "Fichiers"
},
"azuredevops": {
@ -832,8 +833,8 @@
"openwrt": {
"uptime": "Démarré depuis",
"cpuLoad": "Charge moyenne CPU (5 min)",
"up": "Haut",
"down": "Bas",
"up": "Up",
"down": "Down",
"bytesTx": "Transmis",
"bytesRx": "Reçu"
},
@ -846,9 +847,9 @@
"sitesDown": "Hors ligne",
"paused": "En Pause",
"notyetchecked": "Non vérifié",
"up": "Haut",
"up": "Up",
"seemsdown": "Semble hors ligne",
"down": "Bas",
"down": "Down",
"unknown": "Inconnu"
},
"calendar": {
@ -856,7 +857,8 @@
"physicalRelease": "Sortie physique",
"digitalRelease": "Sortie numérique",
"noEventsToday": "Rien pour aujourd'hui !",
"noEventsFound": "Aucun événement trouvé"
"noEventsFound": "Aucun événement trouvé",
"errorWhenLoadingData": "Error when loading calendar data"
},
"romm": {
"platforms": "Plateformes",
@ -885,7 +887,8 @@
"gitea": {
"notifications": "Notifications",
"issues": "Anomalies",
"pulls": "Demandes de tirage"
"pulls": "Demandes de tirage",
"repositories": "Dépôts"
},
"stash": {
"scenes": "Scènes",
@ -987,8 +990,8 @@
"beszel": {
"name": "Nom",
"systems": "Systèmes",
"up": "Haut",
"down": "Bas",
"up": "Up",
"down": "Down",
"paused": "En Pause",
"pending": "En attente",
"status": "Statut",
@ -1023,12 +1026,33 @@
"bcharge": "Charge de la batterie",
"timeleft": "Temps restant"
},
"hoarder": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"karakeep": {
"bookmarks": "Marque-pages",
"favorites": "Favoris",
"archived": "Archivé",
"highlights": "À la une",
"lists": "Listes",
"tags": "Étiquettes"
},
"slskd": {
"slskStatus": "Réseau",
"connected": "Connecté",
"disconnected": "Déconnecté",
"updateStatus": "Mise à jour",
"update_yes": "Disponible",
"update_no": "À jour",
"downloads": "Téléchargements",
"uploads": "Téléversements",
"sharedFiles": "Fichiers"
},
"jellystat": {
"songs": "Chansons",
"movies": "Films",
"episodes": "Épisodes",
"other": "Autres"
},
"checkmk": {
"serviceErrors": "Problèmes de service",
"hostErrors": "Problèmes d'hôte"
}
}

File diff suppressed because it is too large Load Diff

View File

@ -568,7 +568,8 @@
"gluetun": {
"public_ip": "Public IP",
"region": "Region",
"country": "Country"
"country": "Country",
"port_forwarded": "Port Forwarded"
},
"hdhomerun": {
"channels": "Channels",
@ -856,7 +857,8 @@
"physicalRelease": "Physical release",
"digitalRelease": "Digital release",
"noEventsToday": "No events for today!",
"noEventsFound": "No events found"
"noEventsFound": "No events found",
"errorWhenLoadingData": "Error when loading calendar data"
},
"romm": {
"platforms": "Platforms",
@ -885,7 +887,8 @@
"gitea": {
"notifications": "Notifications",
"issues": "Issues",
"pulls": "Pull Requests"
"pulls": "Pull Requests",
"repositories": "Repositories"
},
"stash": {
"scenes": "Scenes",
@ -1023,12 +1026,33 @@
"bcharge": "Battery Charge",
"timeleft": "Time Left"
},
"hoarder": {
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Tags"
},
"slskd": {
"slskStatus": "Network",
"connected": "Connected",
"disconnected": "Disconnected",
"updateStatus": "Update",
"update_yes": "Available",
"update_no": "Up to Date",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "Files"
},
"jellystat": {
"songs": "Songs",
"movies": "Movies",
"episodes": "Episodes",
"other": "Other"
},
"checkmk": {
"serviceErrors": "Service issues",
"hostErrors": "Host issues"
}
}

View File

@ -149,8 +149,8 @@
"received": "Primljeno",
"sent": "Poslano",
"externalIPAddress": "Eksterna IP adresa",
"externalIPv6Address": "Ext. IPv6",
"externalIPv6Prefix": "Ext. IPv6-Prefix"
"externalIPv6Address": "Vanjs. IPv6",
"externalIPv6Prefix": "Vanjs. IPv6 prefiks"
},
"caddy": {
"upstreams": "Glavne grane",
@ -178,7 +178,7 @@
"connectedAp": "Povezani AP-ovi",
"activeUser": "Aktivni uređaji",
"alerts": "Upozorenja",
"connectedGateways": "Connected gateways",
"connectedGateways": "Povezani pristupnici",
"connectedSwitches": "Povezani prekidači"
},
"nzbget": {
@ -229,8 +229,8 @@
"seed": "Prenošenje preuzetog sadržaja"
},
"develancacheui": {
"cachehitbytes": "Cache Hit Bytes",
"cachemissbytes": "Cache Miss Bytes"
"cachehitbytes": "Bajtovi pogodaka predmemorije",
"cachemissbytes": "Bajtovi promašaja predmemorije"
},
"downloadstation": {
"download": "Preuzimanje",
@ -313,13 +313,13 @@
},
"suwayomi": {
"download": "Preuzeto",
"nondownload": "Non-Downloaded",
"nondownload": "Nepreuzeto",
"read": "Pročitano",
"unread": "Nepročitano",
"downloadedread": "Downloaded & Read",
"downloadedunread": "Downloaded & Unread",
"nondownloadedread": "Non-Downloaded & Read",
"nondownloadedunread": "Non-Downloaded & Unread"
"downloadedread": "Preuzeto i pročitano",
"downloadedunread": "Preuzeto i nepročitano",
"nondownloadedread": "Nepreuzeto i pročitano",
"nondownloadedunread": "Nepreuzeto i nepročitano"
},
"tailscale": {
"address": "Adresa",
@ -337,15 +337,15 @@
},
"technitium": {
"totalQueries": "Upiti",
"totalNoError": "Success",
"totalServerFailure": "Failures",
"totalNxDomain": "NX Domains",
"totalRefused": "Refused",
"totalAuthoritative": "Authoritative",
"totalRecursive": "Recursive",
"totalCached": "Cached",
"totalNoError": "Uspješno",
"totalServerFailure": "Neuspješno",
"totalNxDomain": "NX domene",
"totalRefused": "Odbijeno",
"totalAuthoritative": "Autoritativan",
"totalRecursive": "Rekurzivno",
"totalCached": "Predmemorirano",
"totalBlocked": "Blokirano",
"totalDropped": "Dropped",
"totalDropped": "Odbačeno",
"totalClients": "Klijenti"
},
"tdarr": {
@ -568,7 +568,8 @@
"gluetun": {
"public_ip": "Javni IP",
"region": "Regija",
"country": "Zemlja"
"country": "Zemlja",
"port_forwarded": "Port proslijeđen"
},
"hdhomerun": {
"channels": "Kanali",
@ -705,8 +706,8 @@
"time": "Vrijeme"
},
"firefly": {
"networth": "Net Worth",
"budget": "Budget"
"networth": "Neto vrijednost",
"budget": "Budžet"
},
"grafana": {
"dashboards": "Pregledne ploče",
@ -856,20 +857,21 @@
"physicalRelease": "Fizičko izdanje",
"digitalRelease": "Digitalno izdanje",
"noEventsToday": "Danas nema događaja!",
"noEventsFound": "Nema događaja"
"noEventsFound": "Nema događaja",
"errorWhenLoadingData": "Pogreška prilikom učitavanja podataka kalendara"
},
"romm": {
"platforms": "Platforme",
"totalRoms": "Igre",
"saves": "Saves",
"states": "States",
"saves": "Spremljeno",
"states": "Stanja",
"screenshots": "Snimke ekrana",
"totalfilesize": "Ukupna veličina"
},
"mailcow": {
"domains": "Domene",
"mailboxes": "Mailboxes",
"mails": "Mails",
"mailboxes": "Poštanski sandučići",
"mails": "Pošta",
"storage": "Spremište"
},
"netdata": {
@ -885,7 +887,8 @@
"gitea": {
"notifications": "Obavijesti",
"issues": "Problemi",
"pulls": "Zahtjevi za povlačenje"
"pulls": "Zahtjevi za povlačenje",
"repositories": "Repozitoriji"
},
"stash": {
"scenes": "Scene",
@ -938,11 +941,11 @@
"upload": "Prijenos"
},
"stocks": {
"stocks": "Stocks",
"loading": "Loading",
"open": "Open - US Market",
"closed": "Closed - US Market",
"invalidConfiguration": "Invalid Configuration"
"stocks": "Dionice",
"loading": "Učitavanje",
"open": "Otvoreno - američko tržište",
"closed": "Zatvoreno - američko tržište",
"invalidConfiguration": "Nepravilna konfiguracija"
},
"frigate": {
"cameras": "Kamere",
@ -955,26 +958,26 @@
"tags": "Oznake"
},
"zabbix": {
"unclassified": "Not classified",
"unclassified": "Nije klasificirano",
"information": "Informacije",
"warning": "Upozorenje",
"average": "Average",
"high": "High",
"disaster": "Disaster"
"average": "Prosjek",
"high": "Visoko",
"disaster": "Katastrofa"
},
"lubelogger": {
"vehicle": "Vehicle",
"vehicles": "Vehicles",
"serviceRecords": "Service Records",
"vehicle": "Vozilo",
"vehicles": "Vozila",
"serviceRecords": "Servisni zapisi",
"reminders": "Podsjetnici",
"nextReminder": "Sljedeći podsjetnik",
"none": "None"
"none": "Ništa"
},
"vikunja": {
"projects": "Active Projects",
"tasks7d": "Tasks Due This Week",
"tasksOverdue": "Overdue Tasks",
"tasksInProgress": "Tasks In Progress"
"projects": "Aktivni projekti",
"tasks7d": "Zadaci dospijeća ovog tjedna",
"tasksOverdue": "Zakašnjeli zadaci",
"tasksInProgress": "Zadaci u tijeku"
},
"headscale": {
"name": "Ime",
@ -986,7 +989,7 @@
},
"beszel": {
"name": "Ime",
"systems": "Systems",
"systems": "Sustavi",
"up": "Dostupno",
"down": "Nedostupno",
"paused": "Zaustavljeno",
@ -996,26 +999,26 @@
"cpu": "CPU",
"memory": "MEM",
"disk": "Disk",
"network": "NET"
"network": "Mreža"
},
"argocd": {
"apps": "Apps",
"synced": "Synced",
"outOfSync": "Out Of Sync",
"apps": "Aplikacije",
"synced": "Sinkronizirano",
"outOfSync": "Izvan sinkronizacije",
"healthy": "Funkcionalno",
"degraded": "Degraded",
"progressing": "Progressing",
"degraded": "Degradirano",
"progressing": "Napredovanje",
"missing": "Nedostaje",
"suspended": "Suspended"
"suspended": "Suspendiran"
},
"spoolman": {
"loading": "Loading"
"loading": "Učitavanje"
},
"gitlab": {
"groups": "Groups",
"groups": "Grupe",
"issues": "Problemi",
"merges": "Merge Requests",
"projects": "Projects"
"merges": "Zahtjevi za sjedinjenjem",
"projects": "Projekti"
},
"apcups": {
"status": "Stanje",
@ -1023,12 +1026,33 @@
"bcharge": "Napunjenost baterije",
"timeleft": "Preostalo vrijeme"
},
"hoarder": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"karakeep": {
"bookmarks": "Oznake",
"favorites": "Favoriti",
"archived": "Arhivirano",
"highlights": "Izdvajamo",
"lists": "Liste",
"tags": "Oznake"
},
"slskd": {
"slskStatus": "Mreža",
"connected": "Povezano",
"disconnected": "Odspojeno",
"updateStatus": "Ažuriraj",
"update_yes": "Dostupno",
"update_no": "Aktualno",
"downloads": "Preuzimanje",
"uploads": "Prijenos",
"sharedFiles": "Datoteke"
},
"jellystat": {
"songs": "Pjesme",
"movies": "Filmovi",
"episodes": "Epizode",
"other": "Ostalo"
},
"checkmk": {
"serviceErrors": "Service issues",
"hostErrors": "Host issues"
}
}

View File

@ -568,7 +568,8 @@
"gluetun": {
"public_ip": "Nyilvános IP-cím",
"region": "Régió",
"country": "Ország"
"country": "Ország",
"port_forwarded": "Port Forwarded"
},
"hdhomerun": {
"channels": "Csatornák",
@ -856,7 +857,8 @@
"physicalRelease": "Fizikai kiadás",
"digitalRelease": "Digitális kiadás",
"noEventsToday": "Ezen a napon nincsenek események!",
"noEventsFound": "Nem található esemény"
"noEventsFound": "Nem található esemény",
"errorWhenLoadingData": "Error when loading calendar data"
},
"romm": {
"platforms": "Felület",
@ -885,7 +887,8 @@
"gitea": {
"notifications": "Üzenetek",
"issues": "Problémák",
"pulls": "Pull request-ek"
"pulls": "Pull request-ek",
"repositories": "Repositories"
},
"stash": {
"scenes": "Jelenetek",
@ -1023,12 +1026,33 @@
"bcharge": "Akku töltöttsége",
"timeleft": "Hátralévő idő"
},
"hoarder": {
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Címkék"
},
"slskd": {
"slskStatus": "Hálózat",
"connected": "Csatlakozva",
"disconnected": "Kapcsolat bontva",
"updateStatus": "Update",
"update_yes": "Elérhető",
"update_no": "Naprakész",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "Fájlok"
},
"jellystat": {
"songs": "Zeneszám",
"movies": "Film",
"episodes": "Epizód",
"other": "Other"
},
"checkmk": {
"serviceErrors": "Service issues",
"hostErrors": "Host issues"
}
}

View File

@ -342,7 +342,7 @@
"totalNxDomain": "Domain NX",
"totalRefused": "Ditolak",
"totalAuthoritative": "Authoritative",
"totalRecursive": "Recursive",
"totalRecursive": "Rekursif",
"totalCached": "Cached",
"totalBlocked": "Terblokir",
"totalDropped": "Dropped",
@ -568,7 +568,8 @@
"gluetun": {
"public_ip": "IP Publik",
"region": "Region",
"country": "Negara"
"country": "Negara",
"port_forwarded": "Port Forwarded"
},
"hdhomerun": {
"channels": "Channel",
@ -705,8 +706,8 @@
"time": "Waktu"
},
"firefly": {
"networth": "Net Worth",
"budget": "Budget"
"networth": "Kekayaan Bersih",
"budget": "Anggaran"
},
"grafana": {
"dashboards": "Dasbor",
@ -856,7 +857,8 @@
"physicalRelease": "Rilis Fisik",
"digitalRelease": "Rilis Digital",
"noEventsToday": "Tidak ada acara untuk hari ini!",
"noEventsFound": "Tidak ada acara yang ditemukan"
"noEventsFound": "Tidak ada acara yang ditemukan",
"errorWhenLoadingData": "Error when loading calendar data"
},
"romm": {
"platforms": "Platform",
@ -885,7 +887,8 @@
"gitea": {
"notifications": "Notifikasi",
"issues": "Isu",
"pulls": "Pull Requests"
"pulls": "Pull Requests",
"repositories": "Repositories"
},
"stash": {
"scenes": "Adegan",
@ -965,7 +968,7 @@
"lubelogger": {
"vehicle": "Kendaraan",
"vehicles": "Kendaraan",
"serviceRecords": "Service Records",
"serviceRecords": "Catatan Servis",
"reminders": "Pengingat",
"nextReminder": "Pengingat Berikutnya",
"none": "Tidak ada"
@ -1023,12 +1026,33 @@
"bcharge": "Sisa Baterai",
"timeleft": "Sisa Waktu"
},
"hoarder": {
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Tag"
},
"slskd": {
"slskStatus": "Jaringan",
"connected": "Tersambung",
"disconnected": "Terputus",
"updateStatus": "Update",
"update_yes": "Tersedia",
"update_no": "Terbaru",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "File"
},
"jellystat": {
"songs": "Lagu",
"movies": "Film",
"episodes": "Episode",
"other": "Other"
},
"checkmk": {
"serviceErrors": "Service issues",
"hostErrors": "Host issues"
}
}

View File

@ -14,7 +14,7 @@
"date": "{{value, date}}",
"relativeDate": "{{value, relativeDate}}",
"duration": "{{value, duration}}",
"months": "mo",
"months": "m",
"days": "g",
"hours": "o",
"minutes": "m",
@ -149,8 +149,8 @@
"received": "Ricevuti",
"sent": "Inviati",
"externalIPAddress": "IP Esterno",
"externalIPv6Address": "Ext. IPv6",
"externalIPv6Prefix": "Ext. IPv6-Prefix"
"externalIPv6Address": "IPv6 Esterno",
"externalIPv6Prefix": "Prefisso IPv6 Esterno"
},
"caddy": {
"upstreams": "Upstream",
@ -178,7 +178,7 @@
"connectedAp": "AP Connessi",
"activeUser": "Dispositivi attivi",
"alerts": "Allarmi",
"connectedGateways": "Connected gateways",
"connectedGateways": "Gateway connessi",
"connectedSwitches": "Switch connessi"
},
"nzbget": {
@ -313,13 +313,13 @@
},
"suwayomi": {
"download": "Scaricato",
"nondownload": "Non-Downloaded",
"nondownload": "Non Scaricato",
"read": "Letti",
"unread": "Non letto",
"downloadedread": "Downloaded & Read",
"downloadedunread": "Downloaded & Unread",
"nondownloadedread": "Non-Downloaded & Read",
"nondownloadedunread": "Non-Downloaded & Unread"
"downloadedread": "Scaricato E Letto",
"downloadedunread": "Scaricato E Non Letto",
"nondownloadedread": "Non Scaricato E Letto",
"nondownloadedunread": "Non Scaricato E Non Letto"
},
"tailscale": {
"address": "Indirizzo",
@ -338,14 +338,14 @@
"technitium": {
"totalQueries": "Richieste",
"totalNoError": "Successo",
"totalServerFailure": "Failures",
"totalNxDomain": "NX Domains",
"totalRefused": "Refused",
"totalAuthoritative": "Authoritative",
"totalRecursive": "Recursive",
"totalCached": "Cached",
"totalServerFailure": "Fallimenti",
"totalNxDomain": "Domini NX",
"totalRefused": "Rifiutato",
"totalAuthoritative": "Autoritario",
"totalRecursive": "Ricorsivo",
"totalCached": "In cache",
"totalBlocked": "Bloccati",
"totalDropped": "Dropped",
"totalDropped": "Saltati",
"totalClients": "Client"
},
"tdarr": {
@ -568,12 +568,13 @@
"gluetun": {
"public_ip": "IP pubblico",
"region": "Località",
"country": "Paese"
"country": "Paese",
"port_forwarded": "Port Forwarded"
},
"hdhomerun": {
"channels": "Canali",
"hd": "HD",
"tunerCount": "Tuners",
"tunerCount": "Regolatori",
"channelNumber": "Canale",
"channelNetwork": "Rete",
"signalStrength": "Intensità",
@ -705,7 +706,7 @@
"time": "Tempo"
},
"firefly": {
"networth": "Net Worth",
"networth": "Valore Netto",
"budget": "Budget"
},
"grafana": {
@ -856,36 +857,38 @@
"physicalRelease": "Release fisici",
"digitalRelease": "Versione digitale",
"noEventsToday": "Nessun evento per oggi!",
"noEventsFound": "Nessun evento trovato"
"noEventsFound": "Nessun evento trovato",
"errorWhenLoadingData": "Errore durante il caricamento dei dati del calendario"
},
"romm": {
"platforms": "Piattaforme",
"totalRoms": "Giochi",
"saves": "Saves",
"states": "States",
"screenshots": "Screenshots",
"totalfilesize": "Total Size"
"saves": "Salvati",
"states": "Stati",
"screenshots": "Screenshot",
"totalfilesize": "Dimensioni totali"
},
"mailcow": {
"domains": "Domini",
"mailboxes": "Mailboxes",
"mails": "Mails",
"mailboxes": "Caselle di posta",
"mails": "Mail",
"storage": "Archiviazione"
},
"netdata": {
"warnings": "Avvisi",
"criticals": "Criticals"
"criticals": "Critici"
},
"plantit": {
"events": "Eventi",
"plants": "Plants",
"plants": "Piante",
"photos": "Foto",
"species": "Specie"
},
"gitea": {
"notifications": "Notifiche",
"issues": "Problemi",
"pulls": "Richieste di Pull"
"pulls": "Richieste di Pull",
"repositories": "Repository"
},
"stash": {
"scenes": "Scene",
@ -927,8 +930,8 @@
"total": "Totale"
},
"swagdashboard": {
"proxied": "Proxied",
"auth": "With Auth",
"proxied": "Proxato",
"auth": "Con Autenticazione",
"outdated": "Obsoleto",
"banned": "Bannato"
},
@ -938,14 +941,14 @@
"upload": "Upload"
},
"stocks": {
"stocks": "Stocks",
"stocks": "Azioni",
"loading": "Caricamento",
"open": "Open - US Market",
"closed": "Closed - US Market",
"invalidConfiguration": "Invalid Configuration"
"open": "Aperto - Mercato USA",
"closed": "Chiuso - Mercato USA",
"invalidConfiguration": "Configurazione non valida"
},
"frigate": {
"cameras": "Cameras",
"cameras": "Telecamere",
"uptime": "Tempo di attività",
"version": "Versione"
},
@ -955,26 +958,26 @@
"tags": "Tag"
},
"zabbix": {
"unclassified": "Not classified",
"unclassified": "Non classificato",
"information": "Informazioni",
"warning": "Warning",
"average": "Average",
"high": "High",
"disaster": "Disaster"
"warning": "Avviso",
"average": "Media",
"high": "Alto",
"disaster": "Disastri"
},
"lubelogger": {
"vehicle": "Veicolo",
"vehicles": "Veicoli",
"serviceRecords": "Service Records",
"serviceRecords": "Record Di Servizio",
"reminders": "Promemoria",
"nextReminder": "Promemoria Seguente",
"none": "Nessuno"
},
"vikunja": {
"projects": "Active Projects",
"tasks7d": "Tasks Due This Week",
"tasksOverdue": "Overdue Tasks",
"tasksInProgress": "Tasks In Progress"
"projects": "Progetti attivi",
"tasks7d": "Attività Settimanali",
"tasksOverdue": "Task scaduti",
"tasksInProgress": "Task In Corso"
},
"headscale": {
"name": "Nome",
@ -986,7 +989,7 @@
},
"beszel": {
"name": "Nome",
"systems": "Systems",
"systems": "Sistemi",
"up": "Up",
"down": "Down",
"paused": "In Pausa",
@ -995,27 +998,27 @@
"updated": "Aggiornato",
"cpu": "CPU",
"memory": "MEM",
"disk": "Disk",
"disk": "Disco",
"network": "NET"
},
"argocd": {
"apps": "Apps",
"synced": "Synced",
"outOfSync": "Out Of Sync",
"apps": "Applicazioni",
"synced": "Sincronizzato",
"outOfSync": "Non Sincronizzato",
"healthy": "Sano",
"degraded": "Degraded",
"progressing": "Progressing",
"degraded": "Degradato",
"progressing": "Progressione",
"missing": "Mancanti",
"suspended": "Suspended"
"suspended": "Sospeso"
},
"spoolman": {
"loading": "Caricamento"
},
"gitlab": {
"groups": "Groups",
"groups": "Gruppi",
"issues": "Problemi",
"merges": "Merge Requests",
"projects": "Projects"
"merges": "Richieste di merge",
"projects": "Progetti"
},
"apcups": {
"status": "Stato",
@ -1023,12 +1026,33 @@
"bcharge": "Carica Batteria",
"timeleft": "Tempo Rimanente"
},
"hoarder": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"karakeep": {
"bookmarks": "Segnalibri",
"favorites": "Preferiti",
"archived": "Archiviato",
"highlights": "Highlights",
"lists": "Lists",
"lists": "Liste",
"tags": "Tag"
},
"slskd": {
"slskStatus": "Rete",
"connected": "Connesso",
"disconnected": "Disconnesso",
"updateStatus": "Aggiornamento",
"update_yes": "Disponibili",
"update_no": "Aggiornato",
"downloads": "Download",
"uploads": "Caricamenti",
"sharedFiles": "File"
},
"jellystat": {
"songs": "Canzoni",
"movies": "Film",
"episodes": "Episodi",
"other": "Altro"
},
"checkmk": {
"serviceErrors": "Problemi di servizio",
"hostErrors": "Problemi di host"
}
}

View File

@ -568,7 +568,8 @@
"gluetun": {
"public_ip": "パブリックIP",
"region": "地域",
"country": "国"
"country": "国",
"port_forwarded": "Port Forwarded"
},
"hdhomerun": {
"channels": "チャンネル",
@ -856,7 +857,8 @@
"physicalRelease": "物理的なリリース",
"digitalRelease": "デジタル・リリース",
"noEventsToday": "本日の予定なし",
"noEventsFound": "予定が見つかりません"
"noEventsFound": "予定が見つかりません",
"errorWhenLoadingData": "Error when loading calendar data"
},
"romm": {
"platforms": "プラットフォーム",
@ -885,7 +887,8 @@
"gitea": {
"notifications": "通知",
"issues": "課題",
"pulls": "プルリクエスト"
"pulls": "プルリクエスト",
"repositories": "Repositories"
},
"stash": {
"scenes": "シーン",
@ -1023,12 +1026,33 @@
"bcharge": "バッテリー充電",
"timeleft": "残り時間"
},
"hoarder": {
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "タグ"
},
"slskd": {
"slskStatus": "ネットワーク",
"connected": "接続済",
"disconnected": "切断されました",
"updateStatus": "Update",
"update_yes": "利用可",
"update_no": "最新",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "ファイル"
},
"jellystat": {
"songs": "曲",
"movies": "映画",
"episodes": "エピソード",
"other": "Other"
},
"checkmk": {
"serviceErrors": "Service issues",
"hostErrors": "Host issues"
}
}

View File

@ -14,11 +14,11 @@
"date": "{{value, date}}",
"relativeDate": "{{value, relativeDate}}",
"duration": "{{value, duration}}",
"months": "mo",
"days": "d",
"hours": "h",
"minutes": "m",
"seconds": "s"
"months": "",
"days": "",
"hours": "",
"minutes": "",
"seconds": ""
},
"widget": {
"missing_type": "없는 위젯 유형: {{type}}",
@ -51,7 +51,7 @@
},
"unifi": {
"users": "사용자",
"uptime": "Uptime",
"uptime": "가동 시간",
"days": "일",
"wan": "WAN",
"lan": "LAN",
@ -141,7 +141,7 @@
"connectionStatusDisconnecting": "연결을 끊는 중...",
"connectionStatusDisconnected": "연결 끊김",
"connectionStatusConnected": "연결됨",
"uptime": "Uptime",
"uptime": "가동 시간",
"maxDown": "Max. Down",
"maxUp": "Max. Up",
"down": "Down",
@ -188,7 +188,7 @@
},
"plex": {
"streams": "활성 스트림",
"albums": "Albums",
"albums": "앨범",
"movies": "영화",
"tv": "TV 쇼"
},
@ -440,8 +440,8 @@
"total": "총합",
"free": "남음",
"used": "사용",
"days": "d",
"hours": "h",
"days": "",
"hours": "",
"crit": "Crit",
"read": "읽음",
"write": "쓰기",
@ -556,7 +556,7 @@
},
"truenas": {
"load": "System Load",
"uptime": "Uptime",
"uptime": "가동 시간",
"alerts": "경고"
},
"pyload": {
@ -568,7 +568,8 @@
"gluetun": {
"public_ip": "Public IP",
"region": "Region",
"country": "Country"
"country": "Country",
"port_forwarded": "Port Forwarded"
},
"hdhomerun": {
"channels": "채널",
@ -606,7 +607,7 @@
"mikrotik": {
"cpuLoad": "CPU Load",
"memoryUsed": "메모리 사용량",
"uptime": "Uptime",
"uptime": "가동 시간",
"numberOfLeases": "Leases"
},
"xteve": {
@ -667,9 +668,9 @@
"uptimekuma": {
"up": "Sites Up",
"down": "Sites Down",
"uptime": "Uptime",
"uptime": "가동 시간",
"incident": "Incident",
"m": "m"
"m": ""
},
"atsumeru": {
"series": "시리즈",
@ -684,7 +685,7 @@
},
"diskstation": {
"days": "일",
"uptime": "Uptime",
"uptime": "가동 시간",
"volumeAvailable": "이용 가능"
},
"mylar": {
@ -693,7 +694,7 @@
"wanted": "요청"
},
"photoprism": {
"albums": "Albums",
"albums": "앨범",
"photos": "사진",
"videos": "동영상",
"people": "People"
@ -705,8 +706,8 @@
"time": "Time"
},
"firefly": {
"networth": "Net Worth",
"budget": "Budget"
"networth": "순자산",
"budget": "예산"
},
"grafana": {
"dashboards": "대시보드",
@ -746,7 +747,7 @@
"gatus": {
"up": "Sites Up",
"down": "Sites Down",
"uptime": "Uptime"
"uptime": "가동 시간"
},
"ghostfolio": {
"gross_percent_today": "오늘",
@ -816,7 +817,7 @@
"totalUsed": "Used Storage"
},
"mealie": {
"recipes": "Recipes",
"recipes": "레시피",
"users": "사용자",
"categories": "분류",
"tags": "태그"
@ -830,7 +831,7 @@
"failed": "Failed"
},
"openwrt": {
"uptime": "Uptime",
"uptime": "가동 시간",
"cpuLoad": "CPU Load Avg (5m)",
"up": "Up",
"down": "Down",
@ -839,7 +840,7 @@
},
"uptimerobot": {
"status": "상태",
"uptime": "Uptime",
"uptime": "가동 시간",
"lastDown": "Last Downtime",
"downDuration": "Downtime Duration",
"sitesUp": "Sites Up",
@ -856,7 +857,8 @@
"physicalRelease": "Physical release",
"digitalRelease": "Digital release",
"noEventsToday": "No events for today!",
"noEventsFound": "No events found"
"noEventsFound": "No events found",
"errorWhenLoadingData": "Error when loading calendar data"
},
"romm": {
"platforms": "기종",
@ -885,7 +887,8 @@
"gitea": {
"notifications": "알림",
"issues": "Issues",
"pulls": "Pull Requests"
"pulls": "Pull Requests",
"repositories": "Repositories"
},
"stash": {
"scenes": "장면",
@ -905,7 +908,7 @@
},
"tandoor": {
"users": "사용자",
"recipes": "Recipes",
"recipes": "레시피",
"keywords": "키워드"
},
"homebox": {
@ -946,7 +949,7 @@
},
"frigate": {
"cameras": "카메라",
"uptime": "Uptime",
"uptime": "가동 시간",
"version": "버전"
},
"linkwarden": {
@ -1023,12 +1026,33 @@
"bcharge": "배터리 충전 중",
"timeleft": "남은 시간"
},
"hoarder": {
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "태그"
},
"slskd": {
"slskStatus": "네트워크",
"connected": "연결됨",
"disconnected": "연결 끊김",
"updateStatus": "Update",
"update_yes": "이용 가능",
"update_no": "최신 상태",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "파일"
},
"jellystat": {
"songs": "음악",
"movies": "영화",
"episodes": "에피소드",
"other": "Other"
},
"checkmk": {
"serviceErrors": "Service issues",
"hostErrors": "Host issues"
}
}

View File

@ -568,7 +568,8 @@
"gluetun": {
"public_ip": "Public IP",
"region": "Region",
"country": "Country"
"country": "Country",
"port_forwarded": "Port Forwarded"
},
"hdhomerun": {
"channels": "Channels",
@ -856,7 +857,8 @@
"physicalRelease": "Physical release",
"digitalRelease": "Digital release",
"noEventsToday": "No events for today!",
"noEventsFound": "No events found"
"noEventsFound": "No events found",
"errorWhenLoadingData": "Error when loading calendar data"
},
"romm": {
"platforms": "Platforms",
@ -885,7 +887,8 @@
"gitea": {
"notifications": "Notifications",
"issues": "Issues",
"pulls": "Pull Requests"
"pulls": "Pull Requests",
"repositories": "Repositories"
},
"stash": {
"scenes": "Scenes",
@ -1023,12 +1026,33 @@
"bcharge": "Battery Charge",
"timeleft": "Atlikušais laiks"
},
"hoarder": {
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Tags"
},
"slskd": {
"slskStatus": "Network",
"connected": "Connected",
"disconnected": "Disconnected",
"updateStatus": "Update",
"update_yes": "Available",
"update_no": "Up to Date",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "Files"
},
"jellystat": {
"songs": "Songs",
"movies": "Movies",
"episodes": "Episodes",
"other": "Other"
},
"checkmk": {
"serviceErrors": "Service issues",
"hostErrors": "Host issues"
}
}

View File

@ -568,7 +568,8 @@
"gluetun": {
"public_ip": "IP Awam",
"region": "Rantau",
"country": "Negara"
"country": "Negara",
"port_forwarded": "Port Forwarded"
},
"hdhomerun": {
"channels": "Saluran",
@ -856,7 +857,8 @@
"physicalRelease": "Edaran fizikal",
"digitalRelease": "Edaran digital",
"noEventsToday": "Tiada agenda untuk hari ini!",
"noEventsFound": "Tiada agenda dijumpai"
"noEventsFound": "Tiada agenda dijumpai",
"errorWhenLoadingData": "Error when loading calendar data"
},
"romm": {
"platforms": "Platform",
@ -885,7 +887,8 @@
"gitea": {
"notifications": "Notifications",
"issues": "Issues",
"pulls": "Pull Requests"
"pulls": "Pull Requests",
"repositories": "Repositories"
},
"stash": {
"scenes": "Adegan",
@ -1023,12 +1026,33 @@
"bcharge": "Bateri dicas",
"timeleft": "Masa Tinggal"
},
"hoarder": {
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Tanda nama"
},
"slskd": {
"slskStatus": "Rangkaian",
"connected": "Connected",
"disconnected": "Sambungan Terputus",
"updateStatus": "Update",
"update_yes": "Sudah Ada",
"update_no": "Terkemaskini",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "Files"
},
"jellystat": {
"songs": "Lagu",
"movies": "Filem",
"episodes": "Episod",
"other": "Other"
},
"checkmk": {
"serviceErrors": "Service issues",
"hostErrors": "Host issues"
}
}

View File

@ -568,7 +568,8 @@
"gluetun": {
"public_ip": "Publiek IP",
"region": "Regio",
"country": "Land"
"country": "Land",
"port_forwarded": "Port Forwarded"
},
"hdhomerun": {
"channels": "Kanalen",
@ -856,7 +857,8 @@
"physicalRelease": "Fysieke versie",
"digitalRelease": "Digitale versie",
"noEventsToday": "Geen gebeurtenissen voor vandaag!",
"noEventsFound": "Geen gebeurtenissen gevonden"
"noEventsFound": "Geen gebeurtenissen gevonden",
"errorWhenLoadingData": "Error when loading calendar data"
},
"romm": {
"platforms": "Platformen",
@ -885,7 +887,8 @@
"gitea": {
"notifications": "Notificaties",
"issues": "Problemen",
"pulls": "Pull Requests"
"pulls": "Pull Requests",
"repositories": "Repositories"
},
"stash": {
"scenes": "Scènes",
@ -1023,12 +1026,33 @@
"bcharge": "Batterij opladen",
"timeleft": "Resterende Tijd"
},
"hoarder": {
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Label"
},
"slskd": {
"slskStatus": "Netwerk",
"connected": "Verbonden",
"disconnected": "Verbinding verbroken",
"updateStatus": "Update",
"update_yes": "Beschikbaar",
"update_no": "Bijgewerkt",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "Bestanden"
},
"jellystat": {
"songs": "Nummers",
"movies": "Films",
"episodes": "Afleveringen",
"other": "Other"
},
"checkmk": {
"serviceErrors": "Service issues",
"hostErrors": "Host issues"
}
}

View File

@ -568,7 +568,8 @@
"gluetun": {
"public_ip": "Offentlig IP",
"region": "Region",
"country": "Land"
"country": "Land",
"port_forwarded": "Port Forwarded"
},
"hdhomerun": {
"channels": "Kanal",
@ -856,7 +857,8 @@
"physicalRelease": "Fysisk utslipp",
"digitalRelease": "Digital utgivelse",
"noEventsToday": "Ingen hendelser for i dag!",
"noEventsFound": "Ingen hendelser funnet"
"noEventsFound": "Ingen hendelser funnet",
"errorWhenLoadingData": "Error when loading calendar data"
},
"romm": {
"platforms": "Plattformer",
@ -885,7 +887,8 @@
"gitea": {
"notifications": "Varslinger",
"issues": "Issues",
"pulls": "Forespørsel"
"pulls": "Forespørsel",
"repositories": "Repositories"
},
"stash": {
"scenes": "Scener",
@ -1023,12 +1026,33 @@
"bcharge": "Batteriladning",
"timeleft": "Gjenstående tid"
},
"hoarder": {
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Stikkord"
},
"slskd": {
"slskStatus": "Nettverk",
"connected": "Tilkoblet",
"disconnected": "Frakoblet",
"updateStatus": "Update",
"update_yes": "Tilgjengelig",
"update_no": "Oppdatert",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "Files"
},
"jellystat": {
"songs": "Sanger",
"movies": "Film",
"episodes": "Episoder",
"other": "Other"
},
"checkmk": {
"serviceErrors": "Service issues",
"hostErrors": "Host issues"
}
}

View File

@ -149,8 +149,8 @@
"received": "Odebrane",
"sent": "Wysłane",
"externalIPAddress": "Pub. IP",
"externalIPv6Address": "Ext. IPv6",
"externalIPv6Prefix": "Ext. IPv6-Prefix"
"externalIPv6Address": "Zewn. IPv6",
"externalIPv6Prefix": "Zewn. prefiks IPv6"
},
"caddy": {
"upstreams": "Upstreams",
@ -178,7 +178,7 @@
"connectedAp": "Połączone punkty dostępowe",
"activeUser": "Aktywne urządzenia",
"alerts": "Alarmy",
"connectedGateways": "Connected gateways",
"connectedGateways": "Połączone bramy",
"connectedSwitches": "Połączone przełączniki"
},
"nzbget": {
@ -568,7 +568,8 @@
"gluetun": {
"public_ip": "Adres publiczny",
"region": "Region",
"country": "Państwo"
"country": "Państwo",
"port_forwarded": "Port Forwarded"
},
"hdhomerun": {
"channels": "Kanały",
@ -705,8 +706,8 @@
"time": "Czas"
},
"firefly": {
"networth": "Net Worth",
"budget": "Budget"
"networth": "Wartość netto",
"budget": "Budżet"
},
"grafana": {
"dashboards": "Panel główny",
@ -856,7 +857,8 @@
"physicalRelease": "Wydanie fizyczne",
"digitalRelease": "Wydanie cyfrowe",
"noEventsToday": "Brak wydarzeń na dziś!",
"noEventsFound": "Nie znaleziono wydarzeń"
"noEventsFound": "Nie znaleziono wydarzeń",
"errorWhenLoadingData": "Wystąpił błąd podczas ładowania danych kalendarza"
},
"romm": {
"platforms": "Platformy",
@ -885,7 +887,8 @@
"gitea": {
"notifications": "Powiadomienia",
"issues": "Zgłoszenia",
"pulls": "Żądania Pull"
"pulls": "Żądania Pull",
"repositories": "Repozytoria"
},
"stash": {
"scenes": "Sceny",
@ -1023,12 +1026,33 @@
"bcharge": "Stan baterii",
"timeleft": "Pozostało"
},
"hoarder": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"karakeep": {
"bookmarks": "Zakładki",
"favorites": "Ulubione",
"archived": "Zarchiwizowane",
"highlights": "Wyróżnione",
"lists": "Listy",
"tags": "Tagi"
},
"slskd": {
"slskStatus": "Sieć",
"connected": "Połączono",
"disconnected": "Rozłączono",
"updateStatus": "Aktualizacja",
"update_yes": "Dostępne",
"update_no": "Aktualny",
"downloads": "Pobieranie",
"uploads": "Przesyłanie",
"sharedFiles": "Pliki"
},
"jellystat": {
"songs": "Piosenki",
"movies": "Filmy",
"episodes": "Odcinki",
"other": "Inne"
},
"checkmk": {
"serviceErrors": "Service issues",
"hostErrors": "Host issues"
}
}

View File

@ -568,7 +568,8 @@
"gluetun": {
"public_ip": "IP público",
"region": "Região",
"country": "País"
"country": "País",
"port_forwarded": "Port Forwarded"
},
"hdhomerun": {
"channels": "Canais",
@ -856,7 +857,8 @@
"physicalRelease": "Lançamento físico",
"digitalRelease": "Lançamento digital",
"noEventsToday": "Não existem eventos hoje!",
"noEventsFound": "Nenhum evento encontrado"
"noEventsFound": "Nenhum evento encontrado",
"errorWhenLoadingData": "Error when loading calendar data"
},
"romm": {
"platforms": "Plataformas",
@ -885,7 +887,8 @@
"gitea": {
"notifications": "Notificações",
"issues": "Problemas",
"pulls": "Solicitar pull"
"pulls": "Solicitar pull",
"repositories": "Repositories"
},
"stash": {
"scenes": "Cenas",
@ -1023,12 +1026,33 @@
"bcharge": "Carga da bateria",
"timeleft": "Tempo Restante"
},
"hoarder": {
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Etiquetas"
},
"slskd": {
"slskStatus": "Rede",
"connected": "Conectado",
"disconnected": "Desconectado",
"updateStatus": "Update",
"update_yes": "Disponível",
"update_no": "Atualizado",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "Ficheiros"
},
"jellystat": {
"songs": "Canções",
"movies": "Filmes",
"episodes": "Episódios",
"other": "Other"
},
"checkmk": {
"serviceErrors": "Service issues",
"hostErrors": "Host issues"
}
}

View File

@ -47,7 +47,7 @@
"load": "Carga",
"temp": "TEMP",
"max": "Máximo",
"uptime": "CIMA"
"uptime": "ATIVO"
},
"unifi": {
"users": "Usuários",
@ -61,7 +61,7 @@
"wlan_devices": "Dispositivos WLAN",
"lan_users": "Usuários de LAN",
"wlan_users": "Usuários de WLAN",
"up": "CIMA",
"up": "ATIVO",
"down": "Desligado",
"wait": "Por favor, aguarde",
"empty_data": "Status do Subsistema desconhecido"
@ -149,8 +149,8 @@
"received": "Recebido",
"sent": "Enviado",
"externalIPAddress": "IP Externo",
"externalIPv6Address": "Ext. IPv6",
"externalIPv6Prefix": "Ext. IPv6-Prefix"
"externalIPv6Address": "IPv6 Externo",
"externalIPv6Prefix": "Prefixo IPv6 Externo"
},
"caddy": {
"upstreams": "Streams de Envio",
@ -178,7 +178,7 @@
"connectedAp": "APs Ligados",
"activeUser": "Dispositivos ativos",
"alerts": "Alertas",
"connectedGateways": "Connected gateways",
"connectedGateways": "Gateways conectados",
"connectedSwitches": "Switches conectados"
},
"nzbget": {
@ -229,8 +229,8 @@
"seed": "Semente"
},
"develancacheui": {
"cachehitbytes": "Cache Hit Bytes",
"cachemissbytes": "Cache Miss Bytes"
"cachehitbytes": "Bytes de Acerto de Cache",
"cachemissbytes": "Bytes de Falha de Cache"
},
"downloadstation": {
"download": "Descarregar",
@ -313,13 +313,13 @@
},
"suwayomi": {
"download": "Baixado",
"nondownload": "Non-Downloaded",
"nondownload": "Não Baixado",
"read": "Lido",
"unread": "Não lida",
"downloadedread": "Downloaded & Read",
"downloadedunread": "Downloaded & Unread",
"nondownloadedread": "Non-Downloaded & Read",
"nondownloadedunread": "Non-Downloaded & Unread"
"downloadedread": "Baixado e Lido",
"downloadedunread": "Baixado e Não Lido",
"nondownloadedread": "Não Baixado e Lido",
"nondownloadedunread": "Não Baixado e Não Lido"
},
"tailscale": {
"address": "Endereço",
@ -337,15 +337,15 @@
},
"technitium": {
"totalQueries": "Consultas",
"totalNoError": "Success",
"totalServerFailure": "Failures",
"totalNxDomain": "NX Domains",
"totalRefused": "Refused",
"totalAuthoritative": "Authoritative",
"totalRecursive": "Recursive",
"totalCached": "Cached",
"totalNoError": "Sucesso",
"totalServerFailure": "Falhas",
"totalNxDomain": "Domínios NX",
"totalRefused": "Recusado",
"totalAuthoritative": "Autoritativo",
"totalRecursive": "Recursivo",
"totalCached": "Em cache",
"totalBlocked": "Bloqueado",
"totalDropped": "Dropped",
"totalDropped": "Perdidos",
"totalClients": "Clientes"
},
"tdarr": {
@ -436,7 +436,7 @@
"temp": "TEMP",
"_temp": "Temperatura",
"warn": "Aviso",
"uptime": "CIMA",
"uptime": "ATIVO",
"total": "Total",
"free": "Livre",
"used": "Utilizado",
@ -568,7 +568,8 @@
"gluetun": {
"public_ip": "IP público",
"region": "Região",
"country": "País"
"country": "País",
"port_forwarded": "Porta Encaminhada"
},
"hdhomerun": {
"channels": "Canais",
@ -705,8 +706,8 @@
"time": "Hora"
},
"firefly": {
"networth": "Net Worth",
"budget": "Budget"
"networth": "Valor Líquido",
"budget": "Orçamento"
},
"grafana": {
"dashboards": "Painéis",
@ -856,20 +857,21 @@
"physicalRelease": "Versão física",
"digitalRelease": "Versão digital",
"noEventsToday": "Nenhum evento para hoje!",
"noEventsFound": "Nenhum evento encontrado"
"noEventsFound": "Nenhum evento encontrado",
"errorWhenLoadingData": "Erro ao carregar dados do calendário"
},
"romm": {
"platforms": "Plataformas",
"totalRoms": "Games",
"totalRoms": "Jogos",
"saves": "Saves",
"states": "States",
"screenshots": "Screenshots",
"totalfilesize": "Total Size"
"states": "Estados",
"screenshots": "Capturas de Tela",
"totalfilesize": "Tamanho total"
},
"mailcow": {
"domains": "Domínios",
"mailboxes": "Mailboxes",
"mails": "Mails",
"mailboxes": "Caixas de e-mail",
"mails": "Mensagens",
"storage": "Armazenamento"
},
"netdata": {
@ -885,7 +887,8 @@
"gitea": {
"notifications": "Notificações",
"issues": "Problemas",
"pulls": "Solicitações de Envio"
"pulls": "Solicitações de Envio",
"repositories": "Repositórios"
},
"stash": {
"scenes": "Cenas",
@ -951,30 +954,30 @@
},
"linkwarden": {
"links": "Links",
"collections": "Collections",
"collections": "Coleções",
"tags": "Marcadores"
},
"zabbix": {
"unclassified": "Not classified",
"unclassified": "Não classificado",
"information": "Informação",
"warning": "Warning",
"average": "Average",
"high": "High",
"disaster": "Disaster"
"warning": "Aviso",
"average": "Médio",
"high": "Alto",
"disaster": "Desastre"
},
"lubelogger": {
"vehicle": "Vehicle",
"vehicles": "Vehicles",
"serviceRecords": "Service Records",
"reminders": "Reminders",
"nextReminder": "Next Reminder",
"none": "None"
"vehicle": "Veículo",
"vehicles": "Veículos",
"serviceRecords": "Registros de Serviço",
"reminders": "Lembretes",
"nextReminder": "Próximo Lembrete",
"none": "Nenhum"
},
"vikunja": {
"projects": "Active Projects",
"tasks7d": "Tasks Due This Week",
"tasksOverdue": "Overdue Tasks",
"tasksInProgress": "Tasks In Progress"
"projects": "Projetos Ativos",
"tasks7d": "Tarefas que vencem nesta semana",
"tasksOverdue": "Tarefas Atrasadas",
"tasksInProgress": "Tarefas em Andamento"
},
"headscale": {
"name": "Nome",
@ -986,7 +989,7 @@
},
"beszel": {
"name": "Nome",
"systems": "Systems",
"systems": "Sistemas",
"up": "Ativo",
"down": "Inativo",
"paused": "Pausado",
@ -995,27 +998,27 @@
"updated": "Atualizado",
"cpu": "CPU",
"memory": "MEM",
"disk": "Disk",
"network": "NET"
"disk": "Disco",
"network": "Rede"
},
"argocd": {
"apps": "Apps",
"synced": "Synced",
"outOfSync": "Out Of Sync",
"apps": "Aplicativos",
"synced": "Sincronizado",
"outOfSync": "Fora de sincronia",
"healthy": "Saudável",
"degraded": "Degraded",
"progressing": "Progressing",
"degraded": "Degradado",
"progressing": "Progredindo",
"missing": "Faltando",
"suspended": "Suspended"
"suspended": "Suspenso"
},
"spoolman": {
"loading": "Carregando"
},
"gitlab": {
"groups": "Groups",
"groups": "Grupos",
"issues": "Problemas",
"merges": "Merge Requests",
"projects": "Projects"
"merges": "Solicitações de mesclagem",
"projects": "Projetos"
},
"apcups": {
"status": "Status",
@ -1023,12 +1026,33 @@
"bcharge": "Carga da bateria",
"timeleft": "Tempo restante"
},
"hoarder": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"karakeep": {
"bookmarks": "Marcadores",
"favorites": "Favoritos",
"archived": "Arquivados",
"highlights": "Destaques",
"lists": "Listas",
"tags": "Marcadores"
},
"slskd": {
"slskStatus": "Rede",
"connected": "Conectado",
"disconnected": "Desconectado",
"updateStatus": "Atualize",
"update_yes": "Disponível",
"update_no": "Atualizado",
"downloads": "Transferências",
"uploads": "Envios",
"sharedFiles": "Arquivos"
},
"jellystat": {
"songs": "Canções",
"movies": "Filmes",
"episodes": "Episódios",
"other": "Outro"
},
"checkmk": {
"serviceErrors": "Service issues",
"hostErrors": "Host issues"
}
}

View File

@ -134,20 +134,20 @@
},
"fritzbox": {
"connectionStatus": "Stare",
"connectionStatusUnconfigured": "Unconfigured",
"connectionStatusUnconfigured": "Neconfigurat",
"connectionStatusConnecting": "Connecting",
"connectionStatusAuthenticating": "Authenticating",
"connectionStatusPendingDisconnect": "Pending Disconnect",
"connectionStatusDisconnecting": "Disconnecting",
"connectionStatusDisconnected": "Disconnected",
"connectionStatusConnected": "Connected",
"connectionStatusDisconnected": "Deconectat",
"connectionStatusConnected": "Conectat",
"uptime": "Uptime",
"maxDown": "Max. Down",
"maxUp": "Max. Up",
"down": "Jos",
"up": "Sus",
"received": "Received",
"sent": "Sent",
"received": "Primit",
"sent": "Trimis",
"externalIPAddress": "Ext. IP",
"externalIPv6Address": "Ext. IPv6",
"externalIPv6Prefix": "Ext. IPv6-Prefix"
@ -163,8 +163,8 @@
},
"channelsdvrserver": {
"shows": "Shows",
"recordings": "Recordings",
"scheduled": "Scheduled",
"recordings": "Înregistrări",
"scheduled": "Programate",
"passes": "Passes"
},
"tautulli": {
@ -176,8 +176,8 @@
},
"omada": {
"connectedAp": "Connected APs",
"activeUser": "Active devices",
"alerts": "Alerts",
"activeUser": "Dispozitive active",
"alerts": "Alerte",
"connectedGateways": "Connected gateways",
"connectedSwitches": "Connected switches"
},
@ -188,7 +188,7 @@
},
"plex": {
"streams": "Fluxuri active",
"albums": "Albums",
"albums": "Albume",
"movies": "Filme",
"tv": "Seriale"
},
@ -217,7 +217,7 @@
"qnap": {
"cpuUsage": "CPU Usage",
"memUsage": "MEM Usage",
"systemTempC": "System Temp",
"systemTempC": "Temperatură Sistem",
"poolUsage": "Pool Usage",
"volumeUsage": "Volume Usage",
"invalid": "Invalid"
@ -247,7 +247,7 @@
},
"radarr": {
"wanted": "Dorite",
"missing": "Missing",
"missing": "Lipsește",
"queued": "În coadă",
"movies": "Filme",
"queue": "Coadă",
@ -256,7 +256,7 @@
"lidarr": {
"wanted": "Dorite",
"queued": "În coadă",
"artists": "Artists"
"artists": "Artiști"
},
"readarr": {
"wanted": "Dorite",
@ -279,21 +279,21 @@
},
"overseerr": {
"pending": "În așteptare",
"processing": "Processing",
"processing": "Procesare",
"approved": "Aprobate",
"available": "Disponibile"
},
"netalertx": {
"total": "Total",
"connected": "Connected",
"new_devices": "New Devices",
"connected": "Conectat",
"new_devices": "Dispozitive Noi",
"down_alerts": "Down Alerts"
},
"pihole": {
"queries": "Cereri",
"blocked": "Blocate",
"blocked_percent": "Blocked %",
"gravity": "Gravity"
"gravity": "Gravitație"
},
"adguard": {
"queries": "Cereri",
@ -322,11 +322,11 @@
"nondownloadedunread": "Non-Downloaded & Unread"
},
"tailscale": {
"address": "Address",
"expires": "Expires",
"never": "Never",
"address": "Adresă",
"expires": "Expiră",
"never": "Niciodată",
"last_seen": "Last Seen",
"now": "Now",
"now": "Acum",
"years": "{{number}}y",
"weeks": "{{number}}w",
"days": "{{number}}d",
@ -340,9 +340,9 @@
"totalNoError": "Success",
"totalServerFailure": "Failures",
"totalNxDomain": "NX Domains",
"totalRefused": "Refused",
"totalRefused": "Refuzat",
"totalAuthoritative": "Authoritative",
"totalRecursive": "Recursive",
"totalRecursive": "Recursiv",
"totalCached": "Cached",
"totalBlocked": "Blocate",
"totalDropped": "Dropped",
@ -352,7 +352,7 @@
"queue": "Coadă",
"processed": "Processed",
"errored": "Errored",
"saved": "Saved"
"saved": "Salvat"
},
"traefik": {
"routers": "Routere",
@ -408,8 +408,8 @@
"series": "Serie"
},
"minecraft": {
"players": "Players",
"version": "Version",
"players": "Jucători",
"version": "Versiune",
"status": "Stare",
"up": "Online",
"down": "Offline"
@ -434,7 +434,7 @@
"load": "Sarcină",
"wait": "Va rugăm așteptați",
"temp": "TEMP",
"_temp": "Temp",
"_temp": "Temperatură",
"warn": "Warn",
"uptime": "UP",
"total": "Total",
@ -456,7 +456,7 @@
"custom": "Personalizat",
"visit": "Vizită",
"url": "URL",
"searchsuggestion": "Suggestion"
"searchsuggestion": "Sugestie"
},
"wmo": {
"0-day": "Însorit",
@ -481,10 +481,10 @@
"56-night": "Light Freezing Drizzle",
"57-day": "Freezing Drizzle",
"57-night": "Freezing Drizzle",
"61-day": "Light Rain",
"61-night": "Light Rain",
"63-day": "Rain",
"63-night": "Rain",
"61-day": "Ploaie Ușoară",
"61-night": "Ploaie Ușoară",
"63-day": "Ploaie",
"63-night": "Ploaie",
"65-day": "Heavy Rain",
"65-night": "Heavy Rain",
"66-day": "Freezing Rain",
@ -517,10 +517,10 @@
"99-night": "Thunderstorm With Hail"
},
"homebridge": {
"available_update": "System",
"updates": "Updates",
"update_available": "Update Available",
"up_to_date": "Up to Date",
"available_update": "Sistem",
"updates": "Actualizări",
"update_available": "Actualizare Disponibilă",
"up_to_date": "Actualizat",
"child_bridges": "Child Bridges",
"child_bridges_status": "{{ok}}/{{total}}",
"up": "Sus",
@ -528,63 +528,64 @@
"down": "Jos"
},
"healthchecks": {
"new": "New",
"new": "Nou",
"up": "Sus",
"grace": "In Grace Period",
"down": "Jos",
"paused": "Paused",
"paused": "Pau",
"status": "Stare",
"last_ping": "Last Ping",
"last_ping": "Ultimul Ping",
"never": "No pings yet"
},
"watchtower": {
"containers_scanned": "Scanned",
"containers_updated": "Updated",
"containers_failed": "Failed"
"containers_updated": "Actualizat",
"containers_failed": "Eșuat"
},
"autobrr": {
"approvedPushes": "Aprobate",
"rejectedPushes": "Rejected",
"filters": "Filters",
"rejectedPushes": "Respinse",
"filters": "Filtre",
"indexers": "Indexatori"
},
"tubearchivist": {
"downloads": "Coadă",
"videos": "Videos",
"channels": "Channels",
"channels": "Canale",
"playlists": "Playlists"
},
"truenas": {
"load": "System Load",
"uptime": "Uptime",
"alerts": "Alerts"
"alerts": "Alerte"
},
"pyload": {
"speed": "Speed",
"speed": "Viteză",
"active": "Activ",
"queue": "Coadă",
"total": "Total"
},
"gluetun": {
"public_ip": "Public IP",
"region": "Region",
"country": "Country"
"region": "Regiune",
"country": "Țară",
"port_forwarded": "Port Forwarded"
},
"hdhomerun": {
"channels": "Channels",
"channels": "Canale",
"hd": "HD",
"tunerCount": "Tuners",
"channelNumber": "Channel",
"channelNetwork": "Network",
"signalStrength": "Strength",
"signalQuality": "Quality",
"symbolQuality": "Quality",
"tunerCount": "Tunere",
"channelNumber": "Canal",
"channelNetwork": "Rețea",
"signalStrength": "Putere",
"signalQuality": "Calitate",
"symbolQuality": "Calitate",
"networkRate": "Rata de biți",
"clientIP": "Client"
},
"scrutiny": {
"passed": "Passed",
"failed": "Failed",
"failed": "Eșuat",
"unknown": "Necunoscut"
},
"paperlessngx": {
@ -592,12 +593,12 @@
"total": "Total"
},
"peanut": {
"battery_charge": "Battery Charge",
"battery_charge": "Încărcare Baterie",
"ups_load": "UPS Load",
"ups_status": "UPS Status",
"online": "Online",
"on_battery": "On Battery",
"low_battery": "Low Battery"
"low_battery": "Baterie descărcată"
},
"nextdns": {
"wait": "Please Wait",
@ -605,7 +606,7 @@
},
"mikrotik": {
"cpuLoad": "CPU Load",
"memoryUsed": "Memory Used",
"memoryUsed": "Memorie Utilizată",
"uptime": "Uptime",
"numberOfLeases": "Leases"
},
@ -615,22 +616,22 @@
"streams_xepg": "XEPG Channels"
},
"opendtu": {
"yieldDay": "Today",
"absolutePower": "Power",
"relativePower": "Power %",
"limit": "Limit"
"yieldDay": "Astăzi",
"absolutePower": "Putere",
"relativePower": "Putere %",
"limit": "Limită"
},
"opnsense": {
"cpu": "CPU Load",
"memory": "Active Memory",
"memory": "Memorie Activă",
"wanUpload": "WAN Upload",
"wanDownload": "WAN Download"
},
"moonraker": {
"printer_state": "Printer State",
"printer_state": "Starea Imprimantei",
"print_status": "Print Status",
"print_progress": "Progress",
"layers": "Layers"
"print_progress": "Progres",
"layers": "Straturi"
},
"octoprint": {
"printer_state": "Stare",
@ -648,19 +649,19 @@
"wanStatus": "WAN Status",
"up": "Sus",
"down": "Jos",
"temp": "Temp",
"disk": "Disk Usage",
"temp": "Temperatură",
"disk": "Utilizare Disc",
"wanIP": "WAN IP"
},
"proxmoxbackupserver": {
"datastore_usage": "Datastore",
"failed_tasks_24h": "Failed Tasks 24h",
"cpu_usage": "Procesor",
"memory_usage": "Memory"
"memory_usage": "Memorie"
},
"immich": {
"users": "Utilizatori",
"photos": "Photos",
"photos": "Fotografii",
"videos": "Videos",
"storage": "Storage"
},
@ -673,12 +674,12 @@
},
"atsumeru": {
"series": "Serie",
"archives": "Archives",
"archives": "Arhive",
"chapters": "Chapters",
"categories": "Categories"
"categories": "Categorii"
},
"komga": {
"libraries": "Libraries",
"libraries": "Biblioteci",
"series": "Serie",
"books": "Cărți"
},
@ -693,20 +694,20 @@
"wanted": "Dorite"
},
"photoprism": {
"albums": "Albums",
"photos": "Photos",
"albums": "Albume",
"photos": "Fotografii",
"videos": "Videos",
"people": "People"
"people": "Oameni"
},
"fileflows": {
"queue": "Coadă",
"processing": "Processing",
"processing": "Procesare",
"processed": "Processed",
"time": "Time"
"time": "Timp"
},
"firefly": {
"networth": "Net Worth",
"budget": "Budget"
"budget": "Buget"
},
"grafana": {
"dashboards": "Dashboards",
@ -716,18 +717,18 @@
},
"nextcloud": {
"cpuload": "Cpu Load",
"memoryusage": "Memory Usage",
"freespace": "Free Space",
"activeusers": "Active Users",
"numfiles": "Files",
"numshares": "Shared Items"
"memoryusage": "Memorie Utilizată",
"freespace": "Spațiu Liber",
"activeusers": "Utilizatori Activi",
"numfiles": "Fișiere",
"numshares": "Articole Partajate"
},
"kopia": {
"status": "Stare",
"size": "Size",
"lastrun": "Last Run",
"nextrun": "Next Run",
"failed": "Failed"
"size": "Mărime",
"lastrun": "Ultima Rulare",
"nextrun": "Următoarea Rulare",
"failed": "Eșuat"
},
"unmanic": {
"active_workers": "Muncitori activi",
@ -749,15 +750,15 @@
"uptime": "Uptime"
},
"ghostfolio": {
"gross_percent_today": "Today",
"gross_percent_1y": "One year",
"gross_percent_max": "All time"
"gross_percent_today": "Astăzi",
"gross_percent_1y": "Un an",
"gross_percent_max": "Tot timpul"
},
"audiobookshelf": {
"podcasts": "Podcasts",
"podcasts": "Podcasturi",
"books": "Cărți",
"podcastsDuration": "Duration",
"booksDuration": "Duration"
"podcastsDuration": "Durată",
"booksDuration": "Durată"
},
"homeassistant": {
"people_home": "People Home",
@ -766,33 +767,33 @@
},
"whatsupdocker": {
"monitoring": "Monitoring",
"updates": "Updates"
"updates": "Actualizări"
},
"calibreweb": {
"books": "Cărți",
"authors": "Authors",
"categories": "Categories",
"authors": "Autori",
"categories": "Categorii",
"series": "Serie"
},
"jdownloader": {
"downloadCount": "Coadă",
"downloadBytesRemaining": "Rămas",
"downloadTotalBytes": "Size",
"downloadSpeed": "Speed"
"downloadTotalBytes": "Mărime",
"downloadSpeed": "Viteză"
},
"kavita": {
"seriesCount": "Serie",
"totalFiles": "Files"
"totalFiles": "Fișiere"
},
"azuredevops": {
"result": "Result",
"result": "Rezultat",
"status": "Stare",
"buildId": "Build ID",
"succeeded": "Succeeded",
"notStarted": "Not Started",
"failed": "Failed",
"canceled": "Canceled",
"inProgress": "In Progress",
"failed": "Eșuat",
"canceled": "Anulat",
"inProgress": "În Progres",
"totalPrs": "Total PRs",
"myPrs": "My PRs",
"approved": "Aprobate"
@ -801,25 +802,25 @@
"status": "Stare",
"online": "Online",
"offline": "Offline",
"name": "Name",
"map": "Map",
"name": "Nume",
"map": "Hartă",
"currentPlayers": "Current players",
"players": "Players",
"players": "Jucători",
"maxPlayers": "Max players",
"bots": "Bots",
"bots": "Boți",
"ping": "Ping"
},
"urbackup": {
"ok": "Ok",
"errored": "Errors",
"errored": "Erori",
"noRecent": "Out of Date",
"totalUsed": "Used Storage"
},
"mealie": {
"recipes": "Recipes",
"users": "Utilizatori",
"categories": "Categories",
"tags": "Tags"
"categories": "Categorii",
"tags": "Etichete"
},
"openmediavault": {
"downloading": "Downloading",
@ -827,15 +828,15 @@
"running": "Rulează",
"stopped": "Oprit",
"passed": "Passed",
"failed": "Failed"
"failed": "Eșuat"
},
"openwrt": {
"uptime": "Uptime",
"cpuLoad": "CPU Load Avg (5m)",
"up": "Sus",
"down": "Jos",
"bytesTx": "Transmitted",
"bytesRx": "Received"
"bytesTx": "Transmis",
"bytesRx": "Primit"
},
"uptimerobot": {
"status": "Stare",
@ -844,7 +845,7 @@
"downDuration": "Downtime Duration",
"sitesUp": "Sites Up",
"sitesDown": "Sites Down",
"paused": "Paused",
"paused": "Pau",
"notyetchecked": "Not Yet Checked",
"up": "Sus",
"seemsdown": "Seems Down",
@ -852,76 +853,78 @@
"unknown": "Necunoscut"
},
"calendar": {
"inCinemas": "In cinemas",
"inCinemas": "În cinematografe",
"physicalRelease": "Physical release",
"digitalRelease": "Digital release",
"noEventsToday": "No events for today!",
"noEventsFound": "No events found"
"noEventsFound": "No events found",
"errorWhenLoadingData": "Error when loading calendar data"
},
"romm": {
"platforms": "Platforms",
"totalRoms": "Games",
"saves": "Saves",
"platforms": "Platforme",
"totalRoms": "Jocuri",
"saves": "Salvări",
"states": "States",
"screenshots": "Screenshots",
"totalfilesize": "Total Size"
"totalfilesize": "Mărime Totală"
},
"mailcow": {
"domains": "Domenii",
"mailboxes": "Mailboxes",
"mailboxes": "Cutii poştale",
"mails": "Mails",
"storage": "Storage"
},
"netdata": {
"warnings": "Warnings",
"criticals": "Criticals"
"criticals": "Critice"
},
"plantit": {
"events": "Events",
"plants": "Plants",
"photos": "Photos",
"species": "Species"
"events": "Evenimente",
"plants": "Plante",
"photos": "Fotografii",
"species": "Specii"
},
"gitea": {
"notifications": "Notifications",
"notifications": "Notificări",
"issues": "Issues",
"pulls": "Pull Requests"
"pulls": "Pull Requests",
"repositories": "Repozitorii"
},
"stash": {
"scenes": "Scenes",
"scenes": "Scene",
"scenesPlayed": "Scenes Played",
"playCount": "Total Plays",
"playDuration": "Time Watched",
"sceneSize": "Scenes Size",
"sceneDuration": "Scenes Duration",
"images": "Images",
"images": "Imagini",
"imageSize": "Images Size",
"galleries": "Galleries",
"galleries": "Galerii",
"performers": "Performers",
"studios": "Studios",
"movies": "Filme",
"tags": "Tags",
"tags": "Etichete",
"oCount": "O Count"
},
"tandoor": {
"users": "Utilizatori",
"recipes": "Recipes",
"keywords": "Keywords"
"keywords": "Cuvinte cheie"
},
"homebox": {
"items": "Items",
"totalWithWarranty": "With Warranty",
"locations": "Locations",
"labels": "Labels",
"totalWithWarranty": "Cu Garanție",
"locations": "Locaţii",
"labels": "Etichete",
"users": "Utilizatori",
"totalValue": "Total Value"
},
"crowdsec": {
"alerts": "Alerts",
"alerts": "Alerte",
"bans": "Bans"
},
"wgeasy": {
"connected": "Connected",
"connected": "Conectat",
"enabled": "Activat",
"disabled": "Dezactivat",
"total": "Total"
@ -929,7 +932,7 @@
"swagdashboard": {
"proxied": "Proxied",
"auth": "With Auth",
"outdated": "Outdated",
"outdated": "Învechit",
"banned": "Banned"
},
"myspeed": {
@ -938,37 +941,37 @@
"upload": "Încarcă"
},
"stocks": {
"stocks": "Stocks",
"stocks": "Acțiuni",
"loading": "Loading",
"open": "Open - US Market",
"closed": "Closed - US Market",
"invalidConfiguration": "Invalid Configuration"
},
"frigate": {
"cameras": "Cameras",
"cameras": "Camere",
"uptime": "Uptime",
"version": "Version"
"version": "Versiune"
},
"linkwarden": {
"links": "Links",
"collections": "Collections",
"tags": "Tags"
"collections": "Colecții",
"tags": "Etichete"
},
"zabbix": {
"unclassified": "Not classified",
"information": "Informație",
"warning": "Warning",
"average": "Average",
"high": "High",
"disaster": "Disaster"
"warning": "Atenție",
"average": "Medie",
"high": "Înalt",
"disaster": "Dezastru"
},
"lubelogger": {
"vehicle": "Vehicle",
"vehicles": "Vehicles",
"vehicle": "Vehicul",
"vehicles": "Vehicule",
"serviceRecords": "Service Records",
"reminders": "Reminders",
"nextReminder": "Next Reminder",
"none": "None"
"none": "Niciunul"
},
"vikunja": {
"projects": "Active Projects",
@ -977,58 +980,79 @@
"tasksInProgress": "Tasks In Progress"
},
"headscale": {
"name": "Name",
"address": "Address",
"name": "Nume",
"address": "Adresă",
"last_seen": "Last Seen",
"status": "Stare",
"online": "Online",
"offline": "Offline"
},
"beszel": {
"name": "Name",
"systems": "Systems",
"name": "Nume",
"systems": "Sistem",
"up": "Sus",
"down": "Jos",
"paused": "Paused",
"paused": "Pau",
"pending": "În așteptare",
"status": "Stare",
"updated": "Updated",
"updated": "Actualizat",
"cpu": "Procesor",
"memory": "MEM",
"disk": "Disk",
"network": "NET"
},
"argocd": {
"apps": "Apps",
"apps": "Aplicaţii",
"synced": "Synced",
"outOfSync": "Out Of Sync",
"healthy": "Sănătos",
"degraded": "Degraded",
"progressing": "Progressing",
"missing": "Missing",
"suspended": "Suspended"
"missing": "Lipsește",
"suspended": "Suspendat"
},
"spoolman": {
"loading": "Loading"
},
"gitlab": {
"groups": "Groups",
"groups": "Grupuri",
"issues": "Issues",
"merges": "Merge Requests",
"projects": "Projects"
"projects": "Proiecte"
},
"apcups": {
"status": "Stare",
"load": "Sarcină",
"bcharge": "Battery Charge",
"bcharge": "Încărcare Baterie",
"timeleft": "Timp rămas"
},
"hoarder": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"karakeep": {
"bookmarks": "Marcaje",
"favorites": "Favorite",
"archived": "Arhivat",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Tags"
"lists": "Liste",
"tags": "Etichete"
},
"slskd": {
"slskStatus": "Rețea",
"connected": "Conectat",
"disconnected": "Deconectat",
"updateStatus": "Update",
"update_yes": "Disponibile",
"update_no": "Actualizat",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "Fișiere"
},
"jellystat": {
"songs": "Melodii",
"movies": "Filme",
"episodes": "Episoade",
"other": "Altele"
},
"checkmk": {
"serviceErrors": "Service issues",
"hostErrors": "Host issues"
}
}

View File

@ -149,8 +149,8 @@
"received": "Получено",
"sent": "Отправлено",
"externalIPAddress": "Внеш. IP",
"externalIPv6Address": "Ext. IPv6",
"externalIPv6Prefix": "Ext. IPv6-Prefix"
"externalIPv6Address": "Внешний IPv6",
"externalIPv6Prefix": "Внешний IPv6 префикс"
},
"caddy": {
"upstreams": "Входящие каналы",
@ -178,7 +178,7 @@
"connectedAp": "Подключенные точки доступа",
"activeUser": "Активные устройства",
"alerts": "Предупреждения",
"connectedGateways": "Connected gateways",
"connectedGateways": "Подключенные шлюзы",
"connectedSwitches": "Подключенные коммутаторы"
},
"nzbget": {
@ -568,7 +568,8 @@
"gluetun": {
"public_ip": "Публичный IP-адрес",
"region": "Регион",
"country": "Страна"
"country": "Страна",
"port_forwarded": "Порт переадресован"
},
"hdhomerun": {
"channels": "Каналы",
@ -705,8 +706,8 @@
"time": "Время"
},
"firefly": {
"networth": "Net Worth",
"budget": "Budget"
"networth": "Общая средства",
"budget": "Бюджет"
},
"grafana": {
"dashboards": "Панели",
@ -856,12 +857,13 @@
"physicalRelease": "Физический релиз",
"digitalRelease": "Цифровой релиз",
"noEventsToday": "Нет событий на сегодня!",
"noEventsFound": "Событий не найдено"
"noEventsFound": "Событий не найдено",
"errorWhenLoadingData": "Ошибка при загрузке данных календаря"
},
"romm": {
"platforms": "Платформы",
"totalRoms": "Игры",
"saves": "Сейвы",
"saves": "Сохранения",
"states": "Состояния",
"screenshots": "Скриншоты",
"totalfilesize": "Общий объем"
@ -885,7 +887,8 @@
"gitea": {
"notifications": "Уведомления",
"issues": "Вопросы",
"pulls": "Запросы на слияние (Pull Request)"
"pulls": "Запросы на слияние (Pull Request)",
"repositories": "Репозитории"
},
"stash": {
"scenes": "Сцены",
@ -927,7 +930,7 @@
"total": "Всего"
},
"swagdashboard": {
"proxied": "Прокси",
"proxied": "Проксировано",
"auth": "С Авторизацией",
"outdated": "Устаревшие",
"banned": "Заблокированные"
@ -958,17 +961,17 @@
"unclassified": "Не классифицировано",
"information": "Информация",
"warning": "Предупреждение",
"average": "Средняя",
"average": "Среднее",
"high": "Высокая",
"disaster": "Чрезвычайная"
"disaster": "Чрезвычайное"
},
"lubelogger": {
"vehicle": "Автомобиль",
"vehicles": "Автомобили",
"serviceRecords": "Сервисные работы",
"vehicle": "Транспорт",
"vehicles": "Транспорты",
"serviceRecords": "Сервисные записи",
"reminders": "Напоминания",
"nextReminder": "Следующее напоминание",
"none": "Нет"
"none": "Отсутствует"
},
"vikunja": {
"projects": "Активные Проекты",
@ -1023,12 +1026,33 @@
"bcharge": "Заряд батареи",
"timeleft": "Осталось"
},
"hoarder": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"karakeep": {
"bookmarks": "Закладки",
"favorites": "Избранное",
"archived": "Архив",
"highlights": "События",
"lists": "Список",
"tags": "Теги"
},
"slskd": {
"slskStatus": "Сеть",
"connected": "Подключено",
"disconnected": "Отключено",
"updateStatus": "Обновление",
"update_yes": "Доступно",
"update_no": "Последняя версия",
"downloads": "Скачивания",
"uploads": "Загрузки",
"sharedFiles": "Файлов"
},
"jellystat": {
"songs": "Песни",
"movies": "Фильмы",
"episodes": "Эпизоды",
"other": "Другой"
},
"checkmk": {
"serviceErrors": "Service issues",
"hostErrors": "Host issues"
}
}

View File

@ -568,7 +568,8 @@
"gluetun": {
"public_ip": "Verejná IP",
"region": "Región",
"country": "Krajina"
"country": "Krajina",
"port_forwarded": "Port Forwarded"
},
"hdhomerun": {
"channels": "Kanály",
@ -856,7 +857,8 @@
"physicalRelease": "Fyzické vydanie",
"digitalRelease": "Digitálne vydanie",
"noEventsToday": "Žiadne udalosti na dnešný deň!",
"noEventsFound": "Žiadne udalosti"
"noEventsFound": "Žiadne udalosti",
"errorWhenLoadingData": "Error when loading calendar data"
},
"romm": {
"platforms": "Platformy",
@ -885,7 +887,8 @@
"gitea": {
"notifications": "Oznámenia",
"issues": "Problémy",
"pulls": "Pull requesty"
"pulls": "Pull requesty",
"repositories": "Repositories"
},
"stash": {
"scenes": "Scény",
@ -1023,12 +1026,33 @@
"bcharge": "Nabitie batérie",
"timeleft": "Zostávajúci čas"
},
"hoarder": {
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Štítky"
},
"slskd": {
"slskStatus": "Sieť",
"connected": "Pripojené",
"disconnected": "Odpojené",
"updateStatus": "Update",
"update_yes": "Dostupné",
"update_no": "Aktuálny",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "Súborov"
},
"jellystat": {
"songs": "Skladby",
"movies": "Filmy",
"episodes": "Epizódy",
"other": "Other"
},
"checkmk": {
"serviceErrors": "Service issues",
"hostErrors": "Host issues"
}
}

View File

@ -568,7 +568,8 @@
"gluetun": {
"public_ip": "Javni IP",
"region": "Regija",
"country": "Država"
"country": "Država",
"port_forwarded": "Port Forwarded"
},
"hdhomerun": {
"channels": "Kanali",
@ -856,7 +857,8 @@
"physicalRelease": "Fizična izdaja",
"digitalRelease": "Digitalna izdaja",
"noEventsToday": "Za danes ni dogodkov!",
"noEventsFound": "Ni dogodkov"
"noEventsFound": "Ni dogodkov",
"errorWhenLoadingData": "Error when loading calendar data"
},
"romm": {
"platforms": "Platforme",
@ -885,7 +887,8 @@
"gitea": {
"notifications": "Obvestila",
"issues": "Težave",
"pulls": "Zahteve za prenos"
"pulls": "Zahteve za prenos",
"repositories": "Repositories"
},
"stash": {
"scenes": "Scene",
@ -1023,12 +1026,33 @@
"bcharge": "Napolnjenost baterije",
"timeleft": "Preostali čas"
},
"hoarder": {
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Značke"
},
"slskd": {
"slskStatus": "Omrežje",
"connected": "Povezan",
"disconnected": "Prekinjeno",
"updateStatus": "Update",
"update_yes": "Na voljo",
"update_no": "Posodobljeno",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "Datotek"
},
"jellystat": {
"songs": "Pesmi",
"movies": "Filmi",
"episodes": "Epizode",
"other": "Other"
},
"checkmk": {
"serviceErrors": "Service issues",
"hostErrors": "Host issues"
}
}

File diff suppressed because it is too large Load Diff

View File

@ -568,7 +568,8 @@
"gluetun": {
"public_ip": "Public IP",
"region": "Region",
"country": "Country"
"country": "Country",
"port_forwarded": "Port Forwarded"
},
"hdhomerun": {
"channels": "Channels",
@ -856,7 +857,8 @@
"physicalRelease": "Physical release",
"digitalRelease": "Digital release",
"noEventsToday": "No events for today!",
"noEventsFound": "No events found"
"noEventsFound": "No events found",
"errorWhenLoadingData": "Error when loading calendar data"
},
"romm": {
"platforms": "Platforms",
@ -885,7 +887,8 @@
"gitea": {
"notifications": "Notifications",
"issues": "Issues",
"pulls": "Pull Requests"
"pulls": "Pull Requests",
"repositories": "Repositories"
},
"stash": {
"scenes": "Scenes",
@ -1023,12 +1026,33 @@
"bcharge": "Battery Charge",
"timeleft": "Tid kvar"
},
"hoarder": {
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Tags"
},
"slskd": {
"slskStatus": "Network",
"connected": "Connected",
"disconnected": "Disconnected",
"updateStatus": "Update",
"update_yes": "Tillgänglig",
"update_no": "Up to Date",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "Files"
},
"jellystat": {
"songs": "Songs",
"movies": "Movies",
"episodes": "Avsnitt",
"other": "Other"
},
"checkmk": {
"serviceErrors": "Service issues",
"hostErrors": "Host issues"
}
}

View File

@ -568,7 +568,8 @@
"gluetun": {
"public_ip": "Public IP",
"region": "Region",
"country": "Country"
"country": "Country",
"port_forwarded": "Port Forwarded"
},
"hdhomerun": {
"channels": "Channels",
@ -856,7 +857,8 @@
"physicalRelease": "Physical release",
"digitalRelease": "Digital release",
"noEventsToday": "No events for today!",
"noEventsFound": "No events found"
"noEventsFound": "No events found",
"errorWhenLoadingData": "Error when loading calendar data"
},
"romm": {
"platforms": "Platforms",
@ -885,7 +887,8 @@
"gitea": {
"notifications": "Notifications",
"issues": "Issues",
"pulls": "Pull Requests"
"pulls": "Pull Requests",
"repositories": "Repositories"
},
"stash": {
"scenes": "Scenes",
@ -1023,12 +1026,33 @@
"bcharge": "Battery Charge",
"timeleft": "మిగిలి వున్న సమయం"
},
"hoarder": {
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Tags"
},
"slskd": {
"slskStatus": "Network",
"connected": "Connected",
"disconnected": "Disconnected",
"updateStatus": "Update",
"update_yes": "అందుబాటులో వున్నవి",
"update_no": "తాజాగా",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "Files"
},
"jellystat": {
"songs": "Songs",
"movies": "Movies",
"episodes": "Episodes",
"other": "Other"
},
"checkmk": {
"serviceErrors": "Service issues",
"hostErrors": "Host issues"
}
}

View File

@ -21,7 +21,7 @@
"seconds": "s"
},
"widget": {
"missing_type": "Missing Widget Type: {{type}}",
"missing_type": "ประเภทวิดเจ็ตหาย: {{type}}",
"api_error": "API มีข้อผิดพลาด",
"information": "ข้อมูล",
"status": "สถานะ",
@ -110,7 +110,7 @@
"esphome": {
"offline": "ออฟไลน์",
"offline_alt": "ออฟไลน์",
"online": "Online",
"online": "ออนไลน์",
"total": "ทั้งหมด",
"unknown": "ไม่ทราบ"
},
@ -130,12 +130,12 @@
},
"freshrss": {
"subscriptions": "Subscriptions",
"unread": "Unread"
"unread": "ยังไม่ได้อ่าน"
},
"fritzbox": {
"connectionStatus": "สถานะ",
"connectionStatusUnconfigured": "Unconfigured",
"connectionStatusConnecting": "Connecting",
"connectionStatusUnconfigured": "ยังไม่ได้กำหนดค่า",
"connectionStatusConnecting": "กำลังเชื่อมต่อ",
"connectionStatusAuthenticating": "Authenticating",
"connectionStatusPendingDisconnect": "Pending Disconnect",
"connectionStatusDisconnecting": "Disconnecting",
@ -247,7 +247,7 @@
},
"radarr": {
"wanted": "Wanted",
"missing": "Missing",
"missing": "หายไป",
"queued": "Queued",
"movies": "Movies",
"queue": "Queue",
@ -315,7 +315,7 @@
"download": "Downloaded",
"nondownload": "Non-Downloaded",
"read": "Read",
"unread": "Unread",
"unread": "ยังไม่ได้อ่าน",
"downloadedread": "Downloaded & Read",
"downloadedunread": "Downloaded & Unread",
"nondownloadedread": "Non-Downloaded & Read",
@ -364,8 +364,8 @@
"please_wait": "Please Wait"
},
"npm": {
"enabled": "Enabled",
"disabled": "Disabled",
"enabled": "เปิด",
"disabled": "ปิด",
"total": "ทั้งหมด"
},
"coinmarketcap": {
@ -409,14 +409,14 @@
},
"minecraft": {
"players": "Players",
"version": "Version",
"version": "เวอร์ชั่น",
"status": "สถานะ",
"up": "Online",
"up": "ออนไลน์",
"down": "ออฟไลน์"
},
"miniflux": {
"read": "Read",
"unread": "Unread"
"unread": "ยังไม่ได้อ่าน"
},
"authentik": {
"users": "ผู้ใช้",
@ -568,7 +568,8 @@
"gluetun": {
"public_ip": "Public IP",
"region": "Region",
"country": "Country"
"country": "Country",
"port_forwarded": "Port Forwarded"
},
"hdhomerun": {
"channels": "Channels",
@ -595,7 +596,7 @@
"battery_charge": "Battery Charge",
"ups_load": "UPS Load",
"ups_status": "UPS Status",
"online": "Online",
"online": "ออนไลน์",
"on_battery": "On Battery",
"low_battery": "Low Battery"
},
@ -799,7 +800,7 @@
},
"gamedig": {
"status": "สถานะ",
"online": "Online",
"online": "ออนไลน์",
"offline": "ออฟไลน์",
"name": "Name",
"map": "Map",
@ -856,7 +857,8 @@
"physicalRelease": "Physical release",
"digitalRelease": "Digital release",
"noEventsToday": "No events for today!",
"noEventsFound": "No events found"
"noEventsFound": "No events found",
"errorWhenLoadingData": "Error when loading calendar data"
},
"romm": {
"platforms": "Platforms",
@ -885,7 +887,8 @@
"gitea": {
"notifications": "Notifications",
"issues": "Issues",
"pulls": "Pull Requests"
"pulls": "Pull Requests",
"repositories": "Repositories"
},
"stash": {
"scenes": "Scenes",
@ -922,8 +925,8 @@
},
"wgeasy": {
"connected": "Connected",
"enabled": "Enabled",
"disabled": "Disabled",
"enabled": "เปิด",
"disabled": "ปิด",
"total": "ทั้งหมด"
},
"swagdashboard": {
@ -947,7 +950,7 @@
"frigate": {
"cameras": "Cameras",
"uptime": "Uptime",
"version": "Version"
"version": "เวอร์ชั่น"
},
"linkwarden": {
"links": "Links",
@ -981,7 +984,7 @@
"address": "Address",
"last_seen": "Last Seen",
"status": "สถานะ",
"online": "Online",
"online": "ออนไลน์",
"offline": "ออฟไลน์"
},
"beszel": {
@ -1005,7 +1008,7 @@
"healthy": "Healthy",
"degraded": "Degraded",
"progressing": "Progressing",
"missing": "Missing",
"missing": "หายไป",
"suspended": "Suspended"
},
"spoolman": {
@ -1023,12 +1026,33 @@
"bcharge": "Battery Charge",
"timeleft": "Time Left"
},
"hoarder": {
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Tags"
},
"slskd": {
"slskStatus": "Network",
"connected": "Connected",
"disconnected": "Disconnected",
"updateStatus": "Update",
"update_yes": "Available",
"update_no": "Up to Date",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "Files"
},
"jellystat": {
"songs": "Songs",
"movies": "Movies",
"episodes": "Episodes",
"other": "Other"
},
"checkmk": {
"serviceErrors": "Service issues",
"hostErrors": "Host issues"
}
}

View File

@ -568,7 +568,8 @@
"gluetun": {
"public_ip": "Açık IP",
"region": "Bölge",
"country": "Ülke"
"country": "Ülke",
"port_forwarded": "Port Forwarded"
},
"hdhomerun": {
"channels": "Kanallar",
@ -856,7 +857,8 @@
"physicalRelease": "Fiziksel Yayınlanan",
"digitalRelease": "Dijitalde Yayınlandı",
"noEventsToday": "Bugün için etkinlik yok!",
"noEventsFound": "Etkinlik bulunamadı"
"noEventsFound": "Etkinlik bulunamadı",
"errorWhenLoadingData": "Error when loading calendar data"
},
"romm": {
"platforms": "Platformlar",
@ -885,7 +887,8 @@
"gitea": {
"notifications": "Bildirimler",
"issues": "Sorunlar",
"pulls": "Değişiklik İstekleri"
"pulls": "Değişiklik İstekleri",
"repositories": "Repositories"
},
"stash": {
"scenes": "Sahneler",
@ -1023,12 +1026,33 @@
"bcharge": "Pil Yüzdesi",
"timeleft": "Kalan Zaman"
},
"hoarder": {
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Etiketler"
},
"slskd": {
"slskStatus": "Ağ",
"connected": "Bağlandı",
"disconnected": "Bağlantı kesildi",
"updateStatus": "Update",
"update_yes": "Kullanılabilir",
"update_no": "Güncel",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "Dosyalar"
},
"jellystat": {
"songs": "Şarkılar",
"movies": "Filmler",
"episodes": "Bölümler",
"other": "Other"
},
"checkmk": {
"serviceErrors": "Service issues",
"hostErrors": "Host issues"
}
}

View File

@ -120,7 +120,7 @@
"grid_power": "Сітка",
"home_power": "Споживання",
"charge_power": "Зарядний пристрій",
"kilowatt": "kW"
"kilowatt": "кВт"
},
"flood": {
"download": "Завантажено",
@ -149,8 +149,8 @@
"received": "Отримано",
"sent": "Надіслано",
"externalIPAddress": "Зовнішній IP",
"externalIPv6Address": "Ext. IPv6",
"externalIPv6Prefix": "Ext. IPv6-Prefix"
"externalIPv6Address": "Зовнішній IPv6",
"externalIPv6Prefix": "Зовнішній Префікс IPv6-"
},
"caddy": {
"upstreams": "Потоки",
@ -178,7 +178,7 @@
"connectedAp": "Підключені точки доступу",
"activeUser": "Активні пристрої",
"alerts": "Оповіщення",
"connectedGateways": "Connected gateways",
"connectedGateways": "Підключені шлюзи",
"connectedSwitches": "Підключені перемикачі"
},
"nzbget": {
@ -420,8 +420,8 @@
},
"authentik": {
"users": "Користувачі",
"loginsLast24H": "Вхід (24 години)",
"failedLoginsLast24H": "Невдалі входи (24 години)"
"loginsLast24H": "Вхід (протягом доби)",
"failedLoginsLast24H": "Невдалі входи (протягом доби)"
},
"proxmox": {
"mem": "ОЗП",
@ -434,7 +434,7 @@
"load": "Завантаження",
"wait": "Будь ласка, зачекайте",
"temp": "Температура",
"_temp": "Темп.",
"_temp": "Температура",
"warn": "Увага",
"uptime": "Онлайн",
"total": "Усього",
@ -568,7 +568,8 @@
"gluetun": {
"public_ip": "Публічний IP",
"region": "Регіон",
"country": "Країна"
"country": "Країна",
"port_forwarded": "Port Forwarded"
},
"hdhomerun": {
"channels": "Канали",
@ -616,7 +617,7 @@
},
"opendtu": {
"yieldDay": "Сьогодні",
"absolutePower": "Абс. потуж.",
"absolutePower": "Потужність",
"relativePower": "Заряд %",
"limit": "Ліміт"
},
@ -648,13 +649,13 @@
"wanStatus": "Статус WAN",
"up": "Онлайн",
"down": "Офлайн",
"temp": "Темп.",
"temp": "Температура",
"disk": "Використання диска",
"wanIP": "WAN IP"
},
"proxmoxbackupserver": {
"datastore_usage": "Сховище даних",
"failed_tasks_24h": "Невиконані завдання 24 години",
"failed_tasks_24h": "Невиконані завдання за останню добу",
"cpu_usage": "ЦП",
"memory_usage": "Пам'ять"
},
@ -705,8 +706,8 @@
"time": "Час"
},
"firefly": {
"networth": "Net Worth",
"budget": "Budget"
"networth": "Чисті Активи",
"budget": "Бюджет"
},
"grafana": {
"dashboards": "Інформаційні панелі",
@ -831,7 +832,7 @@
},
"openwrt": {
"uptime": "Час роботи",
"cpuLoad": "Сер. навантаження ЦП (5 хв)",
"cpuLoad": "Сер. навантаження ЦП (\"5\" хв)",
"up": "Онлайн",
"down": "Офлайн",
"bytesTx": "Передано",
@ -855,8 +856,9 @@
"inCinemas": "У кінотеатрах",
"physicalRelease": "Фізичний реліз",
"digitalRelease": "Цифровий реліз",
"noEventsToday": "Події на сьогодні відсутні",
"noEventsFound": "Події не знайдено"
"noEventsToday": "Події на сьогодні відсутні!",
"noEventsFound": "Події не знайдено",
"errorWhenLoadingData": "Error when loading calendar data"
},
"romm": {
"platforms": "Платформи",
@ -885,7 +887,8 @@
"gitea": {
"notifications": "Сповіщення",
"issues": "Питання",
"pulls": "Pull-запити"
"pulls": "Pull-запити",
"repositories": "Репозиторії"
},
"stash": {
"scenes": "Сцени",
@ -1023,12 +1026,33 @@
"bcharge": "Заряд батареї",
"timeleft": "Залишилось"
},
"hoarder": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"karakeep": {
"bookmarks": "Закладки",
"favorites": "Обране",
"archived": "Заархівовані",
"highlights": "Основні моменти",
"lists": "Списки",
"tags": "Теги"
},
"slskd": {
"slskStatus": "Мережа",
"connected": "З'єднано",
"disconnected": "Відключено",
"updateStatus": "Оновити",
"update_yes": "Доступно",
"update_no": "Актуально",
"downloads": "Завантаження",
"uploads": "Вивантаження",
"sharedFiles": "Файли"
},
"jellystat": {
"songs": "Пісні",
"movies": "Фільми",
"episodes": "Епізоди",
"other": "Інше"
},
"checkmk": {
"serviceErrors": "Service issues",
"hostErrors": "Host issues"
}
}

View File

@ -568,7 +568,8 @@
"gluetun": {
"public_ip": "Public IP",
"region": "Region",
"country": "Country"
"country": "Country",
"port_forwarded": "Port Forwarded"
},
"hdhomerun": {
"channels": "Channels",
@ -856,7 +857,8 @@
"physicalRelease": "Physical release",
"digitalRelease": "Digital release",
"noEventsToday": "No events for today!",
"noEventsFound": "No events found"
"noEventsFound": "No events found",
"errorWhenLoadingData": "Error when loading calendar data"
},
"romm": {
"platforms": "Platforms",
@ -885,7 +887,8 @@
"gitea": {
"notifications": "Notifications",
"issues": "Issues",
"pulls": "Pull Requests"
"pulls": "Pull Requests",
"repositories": "Repositories"
},
"stash": {
"scenes": "Scenes",
@ -1023,12 +1026,33 @@
"bcharge": "Battery Charge",
"timeleft": "Thời gian còn lại"
},
"hoarder": {
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Tags"
},
"slskd": {
"slskStatus": "Network",
"connected": "Connected",
"disconnected": "Disconnected",
"updateStatus": "Update",
"update_yes": "Available",
"update_no": "Up to Date",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "Files"
},
"jellystat": {
"songs": "Songs",
"movies": "Movies",
"episodes": "Episodes",
"other": "Other"
},
"checkmk": {
"serviceErrors": "Service issues",
"hostErrors": "Host issues"
}
}

View File

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

View File

@ -149,7 +149,7 @@
"received": "已接收",
"sent": "已发送",
"externalIPAddress": "外部IP",
"externalIPv6Address": "Ext. IPv6",
"externalIPv6Address": "",
"externalIPv6Prefix": "Ext. IPv6-Prefix"
},
"caddy": {
@ -568,7 +568,8 @@
"gluetun": {
"public_ip": "公网 IP",
"region": "区域",
"country": "国家"
"country": "国家",
"port_forwarded": "Port Forwarded"
},
"hdhomerun": {
"channels": "频道",
@ -719,7 +720,7 @@
"memoryusage": "内存",
"freespace": "剩余空间",
"activeusers": "活跃用户",
"numfiles": "Files",
"numfiles": "文件",
"numshares": "共享项目"
},
"kopia": {
@ -760,7 +761,7 @@
"booksDuration": "持续时间"
},
"homeassistant": {
"people_home": "房间",
"people_home": "在家人数",
"lights_on": "照明开",
"switches_on": "开关开"
},
@ -782,7 +783,7 @@
},
"kavita": {
"seriesCount": "系列",
"totalFiles": "Files"
"totalFiles": "文件"
},
"azuredevops": {
"result": "Result",
@ -856,7 +857,8 @@
"physicalRelease": "Physical release",
"digitalRelease": "Digital release",
"noEventsToday": "今天没有活动!",
"noEventsFound": "未找到事件"
"noEventsFound": "未找到事件",
"errorWhenLoadingData": "Error when loading calendar data"
},
"romm": {
"platforms": "平台",
@ -885,7 +887,8 @@
"gitea": {
"notifications": "通知",
"issues": "问题",
"pulls": "PR"
"pulls": "PR",
"repositories": "代码仓库"
},
"stash": {
"scenes": "场景",
@ -1023,12 +1026,33 @@
"bcharge": "充电中",
"timeleft": "剩余时间"
},
"hoarder": {
"karakeep": {
"bookmarks": "Bookmarks",
"favorites": "Favorites",
"archived": "Archived",
"highlights": "Highlights",
"lists": "Lists",
"tags": "Tags"
},
"slskd": {
"slskStatus": "网络",
"connected": "已连接",
"disconnected": "未连接",
"updateStatus": "Update",
"update_yes": "可用",
"update_no": "Up to Date",
"downloads": "Downloads",
"uploads": "Uploads",
"sharedFiles": "文件"
},
"jellystat": {
"songs": "歌曲",
"movies": "电影",
"episodes": "剧集",
"other": "Other"
},
"checkmk": {
"serviceErrors": "Service issues",
"hostErrors": "Host issues"
}
}

View File

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

View File

@ -1,10 +1,10 @@
import { useRef, useEffect } from "react";
import classNames from "classnames";
import { Disclosure, Transition } from "@headlessui/react";
import { MdKeyboardArrowDown } from "react-icons/md";
import ErrorBoundary from "components/errorboundry";
import classNames from "classnames";
import List from "components/bookmarks/list";
import ErrorBoundary from "components/errorboundry";
import ResolvedIcon from "components/resolvedicon";
import { useEffect, useRef } from "react";
import { MdKeyboardArrowDown } from "react-icons/md";
export default function BookmarksGroup({
bookmarks,
@ -12,6 +12,7 @@ export default function BookmarksGroup({
disableCollapse,
groupsInitiallyCollapsed,
bookmarksStyle,
maxGroupColumns,
}) {
const panel = useRef();
@ -25,6 +26,9 @@ export default function BookmarksGroup({
className={classNames(
"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" && maxGroupColumns && parseInt(maxGroupColumns, 10) > 6
? `3xl:basis-1/${maxGroupColumns}`
: "",
layout?.header === false ? "px-1" : "p-1 pb-0",
)}
>

View File

@ -1,7 +1,7 @@
import { useContext } from "react";
import classNames from "classnames";
import { SettingsContext } from "utils/contexts/settings";
import ResolvedIcon from "components/resolvedicon";
import { useContext } from "react";
import { SettingsContext } from "utils/contexts/settings";
export default function Item({ bookmark, iconOnly = false }) {
const description = bookmark.description ?? new URL(bookmark.href).hostname;
@ -22,7 +22,7 @@ export default function Item({ bookmark, iconOnly = false }) {
className={classNames(
settings.cardBlur !== undefined && `backdrop-blur${settings.cardBlur.length ? "-" : ""}${settings.cardBlur}`,
"text-left cursor-pointer transition-all rounded-md font-medium text-theme-700 dark:text-theme-200 dark:hover:text-theme-300 shadow-md shadow-theme-900/10 dark:shadow-theme-900/20 bg-theme-100/20 hover:bg-theme-300/20 dark:bg-white/5 dark:hover:bg-white/10",
iconOnly ? "h-[60px] w-[60px] grid" : "block w-full h-full mb-3",
iconOnly ? "h-[60px] w-[60px] grid" : "block w-full mb-3",
)}
>
{iconOnly ? (

View File

@ -1,6 +1,6 @@
/* eslint-disable @next/next/no-img-element */
/* eslint-disable jsx-a11y/alt-text */
import { useRef, useEffect, useContext } from "react";
import { useContext, useEffect, useRef } from "react";
import { ColorContext } from "utils/contexts/color";
import themes from "utils/styles/themes";

View File

@ -1,6 +1,6 @@
import { useTranslation } from "react-i18next";
import { useEffect, useState, useRef, useCallback, useContext } from "react";
import classNames from "classnames";
import { useTranslation } from "next-i18next";
import { useCallback, useContext, useEffect, useRef, useState } from "react";
import useSWR from "swr";
import { SettingsContext } from "utils/contexts/settings";
@ -53,7 +53,7 @@ export default function QuickLaunch({ servicesAndBookmarks, searchString, setSea
const result = results[currentItemIndex];
window.open(
result.href,
newWindow ? "_blank" : result.target ?? searchProvider?.target ?? settings.target ?? "_blank",
newWindow ? "_blank" : (result.target ?? searchProvider?.target ?? settings.target ?? "_blank"),
"noreferrer",
);
}
@ -204,7 +204,8 @@ export default function QuickLaunch({ servicesAndBookmarks, searchString, setSea
return () => {
abortController.abort();
};
}, [searchString, servicesAndBookmarks, searchDescriptions, hideVisitURL, searchSuggestions, searchProvider, url, t]);
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [searchString, servicesAndBookmarks, searchDescriptions, hideVisitURL, searchSuggestions, searchProvider, url]);
const [hidden, setHidden] = useState(true);
useEffect(() => {

View File

@ -1,5 +1,5 @@
import { useContext } from "react";
import Image from "next/image";
import { useContext } from "react";
import { SettingsContext } from "utils/contexts/settings";
import { ThemeContext } from "utils/contexts/theme";

View File

@ -1,7 +1,7 @@
import { Fragment } from "react";
import { Menu, Transition } from "@headlessui/react";
import { BiCog } from "react-icons/bi";
import classNames from "classnames";
import { Fragment } from "react";
import { BiCog } from "react-icons/bi";
export default function Dropdown({ options, value, setValue }) {
return (

View File

@ -1,16 +1,16 @@
import { useRef, useEffect } from "react";
import classNames from "classnames";
import { Disclosure, Transition } from "@headlessui/react";
import { MdKeyboardArrowDown } from "react-icons/md";
import List from "components/services/list";
import classNames from "classnames";
import ResolvedIcon from "components/resolvedicon";
import List from "components/services/list";
import { useEffect, useRef } from "react";
import { MdKeyboardArrowDown } from "react-icons/md";
import { columnMap } from "../../utils/layout/columns";
export default function ServicesGroup({
group,
layout,
fiveColumns,
maxGroupColumns,
disableCollapse,
useEqualHeights,
groupsInitiallyCollapsed,
@ -31,7 +31,7 @@ export default function ServicesGroup({
className={classNames(
"services-group flex-1",
layout?.style === "row" ? "basis-full" : "basis-full md:basis-1/2 lg:basis-1/3 xl:basis-1/4",
layout?.style !== "row" && fiveColumns ? "3xl:basis-1/5" : "",
layout?.style !== "row" && maxGroupColumns ? `3xl:basis-1/${maxGroupColumns}` : "",
groupPadding,
isSubgroup ? "subgroup" : "",
)}
@ -97,7 +97,7 @@ export default function ServicesGroup({
key={subgroup.name}
group={subgroup}
layout={layout?.[subgroup.name]}
fiveColumns={fiveColumns}
maxGroupColumns={maxGroupColumns}
disableCollapse={disableCollapse}
useEqualHeights={useEqualHeights}
groupsInitiallyCollapsed={groupsInitiallyCollapsed}

View File

@ -1,15 +1,15 @@
import classNames from "classnames";
import ResolvedIcon from "components/resolvedicon";
import { useContext, useState } from "react";
import { SettingsContext } from "utils/contexts/settings";
import Docker from "widgets/docker/component";
import Kubernetes from "widgets/kubernetes/component";
import { SettingsContext } from "utils/contexts/settings";
import ResolvedIcon from "components/resolvedicon";
import Status from "./status";
import Widget from "./widget";
import KubernetesStatus from "./kubernetes-status";
import Ping from "./ping";
import SiteMonitor from "./site-monitor";
import KubernetesStatus from "./kubernetes-status";
import Status from "./status";
import Widget from "./widget";
export default function Item({ service, groupName, useEqualHeights }) {
const hasLink = service.href && service.href !== "#";

View File

@ -1,5 +1,5 @@
import useSWR from "swr";
import { t } from "i18next";
import useSWR from "swr";
export default function KubernetesStatus({ service, style }) {
const podSelectorString = service.podSelector !== undefined ? `podSelector=${service.podSelector}` : "";

View File

@ -1,4 +1,4 @@
import { useTranslation } from "react-i18next";
import { useTranslation } from "next-i18next";
import useSWR from "swr";
export default function Ping({ groupName, serviceName, style }) {

View File

@ -1,4 +1,4 @@
import { useTranslation } from "react-i18next";
import { useTranslation } from "next-i18next";
import useSWR from "swr";
export default function SiteMonitor({ groupName, serviceName, style }) {

View File

@ -1,4 +1,4 @@
import { useTranslation } from "react-i18next";
import { useTranslation } from "next-i18next";
import useSWR from "swr";
export default function Status({ service, style }) {

View File

@ -1,5 +1,5 @@
import { useTranslation } from "next-i18next";
import ErrorBoundary from "components/errorboundry";
import { useTranslation } from "next-i18next";
import components from "widgets/components";

View File

@ -1,5 +1,5 @@
import { useTranslation } from "next-i18next";
import classNames from "classnames";
import { useTranslation } from "next-i18next";
export default function Block({ value, label }) {
const { t } = useTranslation();

View File

@ -3,6 +3,11 @@ import { SettingsContext } from "utils/contexts/settings";
import Error from "./error";
const ALIASED_WIDGETS = {
pialert: "netalertx",
hoarder: "karakeep",
};
export default function Container({ error = false, children, service }) {
const { settings } = useContext(SettingsContext);
@ -32,7 +37,17 @@ export default function Container({ error = false, children, service }) {
if (!field.includes(".")) {
fullField = `${type}.${field}`;
}
return fullField === child?.props?.label;
let matches = fullField === child?.props?.label;
// check if the field is an 'alias'
if (matches) {
return true;
} else if (ALIASED_WIDGETS[type]) {
matches = fullField.replace(type, ALIASED_WIDGETS[type]) === child?.props?.label;
return matches;
}
// no match
return false;
}),
);
}

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