Compare commits

..

22 Commits

Author SHA1 Message Date
djeinstine
af75f33e62 update kubernetes.md with gateway-api configuration. 2024-11-13 10:35:07 +00:00
djeinstine
c32f1f1d59 Merge branch 'gethomepage:dev' into integration 2024-11-13 10:33:10 +01:00
djeinstine
11c6f587ab Fix lint issues 2024-11-13 09:11:05 +00:00
djeinstine
a44e6a8f4b Fix null config issue 2024-11-13 09:08:27 +00:00
djeinstine
9b06761964 Fix linting issues 2024-11-13 09:03:39 +00:00
djeinstine
01e30f2ecb Fix linting issues 2024-11-13 08:17:41 +00:00
djeinstine
9326155ab8 Merge branch 'gethomepage:dev' into integration 2024-11-12 20:07:41 +01:00
djeinstine
11c3127aad Merge branch 'gethomepage:dev' into integration 2024-11-11 10:48:31 +01:00
djeinstine
94a934ec65 Applied pnpm prettier rules to code. 2024-11-11 09:31:18 +00:00
djeinstine
ac997ea841 Applied ESLint rules to code. Plus minor rewrite. 2024-11-11 09:29:47 +00:00
djeinstine
60eee26ac4 Add gateway api to docs. And ESLint rules. 2024-11-10 20:21:00 +00:00
djeinstine
c584d5d020 revert docker publish 2024-11-09 20:04:16 +00:00
djeinstine
3d462e5958 trigger docker action 2024-11-09 19:34:45 +00:00
djeinstine
bd1c11a716 trigger docker publish 2024-11-09 19:33:02 +00:00
djeinstine
bbb1ef5a55 Applied prettier to code 2024-11-09 19:30:09 +00:00
djeinstine
cb2c7b9147 fix linter error 2024-11-08 15:13:06 +00:00
djeinstine
d65cb638be Moved crd checker to kubernetes-routes 2024-11-08 15:08:01 +00:00
djeinstine
9367fd761b getUrlSchema now uses async call 2024-11-08 14:23:57 +00:00
djeinstine
29993dad3a Cleaned comments. 2024-11-07 19:52:39 +00:00
djeinstine
a15b5bd692 First step of integrating gateway-api with homepage. 2024-11-06 11:15:52 +00:00
djeinstine
f7810cb67a Merge remote-tracking branch 'origin/dev' into integration 2024-11-06 09:37:33 +00:00
djeinstine
02e1104452 replaced getKubeConfig with getKubeArguments to be in line with getDockerArguments 2024-10-17 13:56:35 +00:00
176 changed files with 1364 additions and 4252 deletions

View File

@@ -1,14 +1,3 @@
<!--
==== STOP ====================
======== STOP ================
============ STOP ============
================ STOP ========
==================== STOP ====
⚠️ Before opening this pull request please review the guidelines in the checklist below.
If this PR does not meet those guidelines it will not be accepted, and everyone will be sad.
-->
## Proposed change
<!--

View File

@@ -26,6 +26,8 @@ on:
merge_group:
env:
# Use docker.io for Docker Hub if empty
REGISTRY: ghcr.io
# github.repository as <account>/<repo>
IMAGE_NAME: ${{ github.repository }}
@@ -64,6 +66,14 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v4
# Install the cosign tool except on PR
# https://github.com/sigstore/cosign-installer
- name: Install cosign
if: github.event_name != 'pull_request'
uses: sigstore/cosign-installer@main
with:
cosign-release: 'v1.13.1' # optional
# Setup QEMU
# https://github.com/marketplace/actions/docker-setup-buildx#with-qemu
- name: Setup QEMU
@@ -89,15 +99,9 @@ jobs:
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
registry: ghcr.io
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Login to Docker Hub
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
# Extract metadata (tags, labels) for Docker
# https://github.com/docker/metadata-action
@@ -105,9 +109,7 @@ jobs:
id: meta
uses: docker/metadata-action@v5
with:
images: |
${{ env.IMAGE_NAME }}
ghcr.io/${{ env.IMAGE_NAME }}
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
flavor: |
latest=auto
@@ -118,7 +120,7 @@ jobs:
uses: docker/build-push-action@v6
with:
context: .
push: ${{ github.event_name != 'pull_request' }}
push: ${{ github.event_name != 'pull_request' && !(github.event_name == 'push' && startsWith(github.ref, 'refs/heads/feature')) }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
build-args: |
@@ -131,6 +133,19 @@ jobs:
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max
# Sign the resulting Docker image digest except on PRs.
# This will only write to the public Rekor transparency log when the Docker
# repository is public to avoid leaking data. If you would like to publish
# transparency data even for private images, pass --force to cosign below.
# https://github.com/sigstore/cosign
# - name: Sign the published Docker image
# if: ${{ github.event_name != 'pull_request' }}
# env:
# COSIGN_EXPERIMENTAL: "true"
# # This step uses the identity token to provision an ephemeral certificate
# # against the sigstore community Fulcio instance.
# run: echo "${{ steps.meta.outputs.tags }}" | xargs -I {} cosign sign {}@${{ steps.build-and-push.outputs.digest }}
# Temp fix
# https://github.com/docker/build-push-action/issues/252
# https://github.com/moby/buildkit/issues/1896

View File

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

View File

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

View File

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

View File

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

View File

@@ -8,6 +8,7 @@ The Kubernetes connectivity has the following requirements:
- Kubernetes 1.19+
- Metrics Service
- An Ingress controller
- Optionally: Gateway-API
The Kubernetes connection is configured in the `kubernetes.yaml` file. There are 3 modes to choose from:
@@ -19,6 +20,12 @@ The Kubernetes connection is configured in the `kubernetes.yaml` file. There are
mode: default
```
To enable Kubernetes gateway-api compatibility, add the following setting:
```yaml
route: gateway
```
## Services
Once the Kubernetes connection is configured, individual services can be configured to pull statistics. Only CPU and Memory are currently supported.
@@ -100,8 +107,6 @@ If you are using multiple instances of homepage, an `instance` annotation can be
If you have a single service that needs to be shown on multiple specific instances of homepage (but not on all of them), the service can be annotated by multiple `instance.name` annotations, where `name` can be the names of your specific multiple homepage instances. For example, a service that is annotated with `gethomepage.dev/instance.public: ""` and `gethomepage.dev/instance.internal: ""` will be shown on `public` and `internal` homepage instances.
Use the `gethomepage.dev/pod-selector` selector to specify the pod used for the health check. For example, a service that is annotated with `gethomepage.dev/pod-selector: app.kubernetes.io/name=deployment` would link to a pod with the label `app.kubernetes.io/name: deployment`.
### Traefik IngressRoute support
Homepage can also read ingresses defined using the Traefik IngressRoute custom resource definition. Due to the complex nature of Traefik routing rules, it is required for the `gethomepage.dev/href` annotation to be set:
@@ -142,6 +147,10 @@ spec:
If the `href` attribute is not present, Homepage will ignore the specific IngressRoute.
### Gateway API HttpRoute support
Homepage also features automatic service discovery for gateway-api. Service definitions are read by annotating the HttpRoute custom resource definition and are indentical to the Ingress example as defined in [Automatic Service Discovery](#automatic-service-discovery).
## Caveats
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

@@ -0,0 +1,40 @@
---
title: Service Widgets
description: Service Widget Configuration
---
Unless otherwise noted, URLs should not end with a `/` or other API path. Each widget will handle the path on its own.
Each service can have one widget attached to it (often matching the service type, but that's not forced).
In addition to the href of the service, you can also specify the target location in which to open that link. See [Link Target](settings.md#link-target) for more details.
Using Emby as an example, this is how you would attach the Emby service widget.
```yaml
- Emby:
icon: emby.png
href: http://emby.host.or.ip/
description: Movies & TV Shows
widget:
type: emby
url: http://emby.host.or.ip
key: apikeyapikeyapikeyapikeyapikey
```
## Field Visibility
Each widget can optionally provide a list of which fields should be visible via the `fields` widget property. If no fields are specified, then all fields will be displayed. The `fields` property must be a valid YAML array of strings. As an example, here is the entry for Sonarr showing only a couple of fields.
**In all cases a widget will work and display all fields without specifying the `fields` property.**
```yaml
- Sonarr:
icon: sonarr.png
href: http://sonarr.host.or.ip
widget:
type: sonarr
fields: ["wanted", "queued"]
url: http://sonarr.host.or.ip
key: apikeyapikeyapikeyapikeyapikey
```

View File

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

View File

@@ -118,22 +118,6 @@ As an example, this would produce the following layout:
<img width="1260" alt="Screenshot 2022-09-15 at 8 03 57 PM" src="https://user-images.githubusercontent.com/82196/190466646-8ca94505-0fcf-4964-9687-3a6c7cd3144f.png">
### Icons-Only Layout
You can also specify the an icon-only layout for bookmarks, either like so:
```yaml
layout:
Media:
iconsOnly: true
```
or globally:
```yaml
bookmarksStyle: icons
```
### Sorting
Service groups and bookmark groups can be mixed in order, **but should use different group names**. If you do not specify any bookmark groups they will all show at the bottom of the page.
@@ -153,27 +137,6 @@ layout:
columns: 3
```
### Nested Groups
If your services config has nested groups, you can apply settings to these groups by nesting them in the layout block
and using the same settings. For example
```yaml
layout:
Group A:
style: row
columns: 4
Group C:
style: row
columns: 2
Nested Group A:
style: row
columns: 2
Nested Group B:
style: row
columns: 2
```
### Headers
You can hide headers for each section in the layout as well by passing `header` as false, like so:
@@ -385,12 +348,12 @@ This can also be set for individual services. Note setting this at the service l
## Providers
The `providers` section allows you to define shared API provider options and secrets.
The `providers` section allows you to define shared API provider options and secrets. Currently this allows you to define your weather API keys in secret and is also the location of the Longhorn URL and credentials.
```yaml
providers:
openweathermap: openweathermapapikey
finnhub: yourfinnhubapikeyhere
weatherapi: weatherapiapikey
longhorn:
url: https://longhorn.example.com
username: admin
@@ -400,10 +363,10 @@ providers:
You can then pass `provider` instead of `apiKey` in your widget configuration.
```yaml
- openweathermap:
- weatherapi:
latitude: 50.449684
longitude: 30.525026
provider: openweathermap
provider: weatherapi
```
## Quick Launch

View File

@@ -175,7 +175,6 @@ data:
expanded: true
cpu: true
memory: true
network: default
- search:
provider: duckduckgo
target: _blank
@@ -210,12 +209,21 @@ rules:
- get
- list
- apiGroups:
- traefik.io
- traefik.containo.us
resources:
- ingressroutes
verbs:
- get
- list
# if using gateway api add the following:
# - apiGroups:
# - gateway.networking.k8s.io
# resources:
# - httproutes
# - gateways
# verbs:
# - get
# - list
- apiGroups:
- metrics.k8s.io
resources:
@@ -371,7 +379,7 @@ prevent unnecessary re-renders on page loads and window / tab focusing. The
procedure for enabling sticky sessions depends on your Ingress controller. Below
is an example using Traefik as the Ingress controller.
```yaml
```
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:

View File

@@ -17,7 +17,7 @@ hide:
All service widgets work essentially the same, that is, homepage makes a proxied call to an API made available by that service. The majority of the time widgets don't work it is a configuration issue. Of course, sometimes things do break. Some basic steps to try:
1. **URLs should not end with a / or other API path. Each widget will handle the path on its own.**. Including a trailing slash can result in an error.
1. Ensure that you follow the rule mentioned on https://gethomepage.dev/configs/service-widgets/. **Unless otherwise noted, URLs should not end with a / or other API path. Each widget will handle the path on its own.**. This is very important as including a trailing slash can result in an error.
2. Verify the homepage installation can connect to the IP address or host you are using for the widget `url`. This is most simply achieved by pinging the server from the homepage machine, in Docker this means _from inside the container_ itself, e.g.:

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -5,11 +5,7 @@ description: Unifi Controller Information Widget Configuration
_(Find the Unifi Controller service widget [here](../services/unifi-controller.md))_
You can display general connectivity status from your Unifi (Network) Controller.
!!! warning
When authenticating you will want to use a local account that has at least read privileges.
You can display general connectivity status from your Unifi (Network) Controller. When authenticating you will want to use a local account that has at least read privileges.
An optional 'site' parameter can be supplied, if it is not the widget will use the default site for the controller.

View File

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

View File

@@ -1,33 +0,0 @@
---
title: ArgoCD
description: ArgoCD Widget Configuration
---
Learn more about [ArgoCD](https://argo-cd.readthedocs.io/en/stable/).
Allowed fields (limited to a max of 4): `["apps", "synced", "outOfSync", "healthy", "progressing", "degraded", "suspended", "missing"]`
```yaml
widget:
type: argocd
url: http://argocd.host.or.ip:port
key: argocdapikey
```
You can generate an API key either by creating a bearer token for an existing account, see [Authorization](https://argo-cd.readthedocs.io/en/latest/developer-guide/api-docs/#authorization) (not recommended) or create a new local user account with limited privileges and generate an authentication token for this account. To do this the steps are:
- [Create a new local user](https://argo-cd.readthedocs.io/en/stable/operator-manual/user-management/#create-new-user) and give it the `apiKey` capability
- Setup [RBAC configuration](https://argo-cd.readthedocs.io/en/stable/operator-manual/rbac/#rbac-configuration) for your the user and give it readonly access to your ArgoCD resources, e.g. by giving it the `role:readonly` role.
- In your ArgoCD project under _Settings / Accounts_ open the newly created account and in the _Tokens_ section click on _Generate New_ to generate an access token, optionally specifying an expiry date.
If you installed ArgoCD via the official Helm chart, the account creation and rbac config can be achived by overriding these helm values:
```yaml
configs:
cm:
accounts.readonly: apiKey
rbac:
policy.csv: "g, readonly, role:readonly"
```
This creates a new account called `readonly` and attaches the `role:readonly` role to it.

View File

@@ -20,6 +20,6 @@ Allowed fields: `["users", "loginsLast24H", "failedLoginsLast24H"]`.
```yaml
widget:
type: authentik
url: http://authentik.host.or.ip:port
url: http://authentik.host.or.ip:22070
key: api_token
```

View File

@@ -12,11 +12,6 @@ The `systemID` in the `id` field on the collections page of Beszel.
Allowed fields for 'overview' mode: `["systems", "up"]`
Allowed fields for a single system: `["name", "status", "updated", "cpu", "memory", "disk", "network"]`
| Beszel Version | Homepage Widget Version |
| -------------- | ----------------------- |
| < 0.9.0 | 1 (default) |
| >= 0.9.0 | 2 |
```yaml
widget:
type: beszel
@@ -24,5 +19,4 @@ widget:
username: username # email
password: password
systemId: systemId # optional
version: 2 # optional, default is 1
```

View File

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

View File

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

View File

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

View File

@@ -1,20 +0,0 @@
---
title: Gitlab
description: Gitlab Widget Configuration
---
Learn more about [Gitlab](https://gitlab.com).
API requires a personal access token with either `read_api` or `api` permission. See the [gitlab documentation](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html#create-a-personal-access-token) for details on generating one.
Your Gitlab user ID can be found on [your profile page](https://support.circleci.com/hc/en-us/articles/20761157174043-How-to-find-your-GitLab-User-ID).
Allowed fields: `["events", "issues", "merges", "projects"]`.
```yaml
widget:
type: gitlab
url: http://gitlab.host.or.ip:port
key: personal-access-token
user_id: 123456
```

View File

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

View File

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

View File

@@ -8,7 +8,6 @@ search:
You can also find a list of all available service widgets in the sidebar navigation.
- [Adguard Home](adguard-home.md)
- [ArgoCD](argocd.md)
- [Atsumeru](atsumeru.md)
- [Audiobookshelf](audiobookshelf.md)
- [Authentik](authentik.md)
@@ -41,7 +40,6 @@ You can also find a list of all available service widgets in the sidebar navigat
- [Gatus](gatus.md)
- [Ghostfolio](ghostfolio.md)
- [Gitea](gitea.md)
- [Gitlab](gitlab.md)
- [Glances](glances.md)
- [Gluetun](gluetun.md)
- [Gotify](gotify.md)

View File

@@ -8,7 +8,7 @@ Learn more about [OPNSense](https://opnsense.org/).
The API key & secret can be generated via the webui by creating a new user at _System/Access/Users_. Ensure "Generate a scrambled password to prevent local database logins for this user" is checked and then edit the effective privileges selecting **only**:
- Diagnostics: System Activity
- Status: Traffic Graph / Reporting: Traffic (OPNSENSE 24.7.x)
- Status: Traffic Graph
Finally, create a new API key which will download an `apikey.txt` file with your key and secret in it. Use the values as the username and password fields, respectively, in your homepage config.
@@ -20,5 +20,4 @@ widget:
url: http://opnsense.host.or.ip
username: key
password: secret
wan: opt1 # optional, defaults to wan
```

View File

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

View File

@@ -1,15 +0,0 @@
---
title: Spoolman
description: Spoolman Widget Configuration
---
Learn more about [Spoolman](https://github.com/Donkie/Spoolman).
4 spools are displayed by default. If more than 4 spools are configured in spoolman you can use the spoolIds configuration option to control which are displayed.
```yaml
widget:
type: spoolman
url: http://spoolman.host.or.ip
spoolIds: [1, 2, 3, 4] # optional
```

View File

@@ -7,11 +7,7 @@ Learn more about [Unifi Controller](https://ui.com/).
_(Find the Unifi Controller information widget [here](../info/unifi_controller.md))_
You can display general connectivity status from your Unifi (Network) Controller.
!!! warning
When authenticating you will want to use a local account that has at least read privileges.
You can display general connectivity status from your Unifi (Network) Controller. When authenticating you will want to use a local account that has at least read privileges.
An optional 'site' parameter can be supplied, if it is not the widget will use the default site for the controller.

View File

@@ -3,7 +3,7 @@ title: Zabbix
description: Zabbix Widget Configuration
---
Learn more about [Zabbix](https://github.com/zabbix/zabbix). The widget supports (at least) Zabbix server version 7.0.
Learn more about [Zabbix](https://github.com/zabbix/zabbix). The widget supports (at least) Zibbax server version 7.0.
---

View File

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

View File

@@ -21,8 +21,8 @@ nav:
- configs/index.md
- configs/settings.md
- configs/bookmarks.md
- configs/info-widgets.md
- configs/services.md
- configs/service-widgets.md
- configs/kubernetes.md
- configs/docker.md
- configs/custom-css-js.md
@@ -31,7 +31,6 @@ nav:
- "Service Widgets":
- widgets/services/index.md
- widgets/services/adguard-home.md
- widgets/services/argocd.md
- widgets/services/atsumeru.md
- widgets/services/audiobookshelf.md
- widgets/services/authentik.md
@@ -64,7 +63,6 @@ nav:
- widgets/services/gatus.md
- widgets/services/ghostfolio.md
- widgets/services/gitea.md
- widgets/services/gitlab.md
- widgets/services/glances.md
- widgets/services/gluetun.md
- widgets/services/gotify.md
@@ -139,10 +137,8 @@ nav:
- widgets/services/scrutiny.md
- widgets/services/sonarr.md
- widgets/services/speedtest-tracker.md
- widgets/services/spoolman.md
- widgets/services/stash.md
- widgets/services/stocks.md
- widgets/services/suwayomi.md
- widgets/services/swagdashboard.md
- widgets/services/syncthing-relay-server.md
- widgets/services/tailscale.md
@@ -178,6 +174,7 @@ nav:
- widgets/info/search.md
- widgets/info/stocks.md
- widgets/info/unifi_controller.md
- widgets/info/weather.md
- "Learn":
- widgets/authoring/index.md
- "Getting Started": widgets/authoring/getting-started.md

112
package-lock.json generated
View File

@@ -15,7 +15,7 @@
"compare-versions": "^6.1.0",
"dockerode": "^4.0.2",
"follow-redirects": "^1.15.9",
"gamedig": "^5.1.4",
"gamedig": "^5.1.2",
"i18next": "^21.10.0",
"js-yaml": "^4.1.0",
"json-rpc-2.0": "^1.7.0",
@@ -50,7 +50,7 @@
"eslint-plugin-import": "^2.31.0",
"eslint-plugin-jsx-a11y": "^6.8.0",
"eslint-plugin-prettier": "^5.2.1",
"eslint-plugin-react": "^7.37.2",
"eslint-plugin-react": "^7.37.1",
"eslint-plugin-react-hooks": "^4.6.2",
"postcss": "^8.4.47",
"prettier": "^3.2.5",
@@ -2115,9 +2115,9 @@
}
},
"node_modules/cross-spawn": {
"version": "7.0.6",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
"integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
"integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
"license": "MIT",
"dependencies": {
"path-key": "^3.1.0",
@@ -2729,9 +2729,9 @@
}
},
"node_modules/es-abstract": {
"version": "1.23.5",
"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.5.tgz",
"integrity": "sha512-vlmniQ0WNPwXqA0BnmwV3Ng7HxiGlh6r5U6JcTMNx8OilcAGqVJBHJcPjqOMaczU9fRuRK5Px2BdVyPRnKMMVQ==",
"version": "1.23.3",
"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz",
"integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -2750,7 +2750,7 @@
"function.prototype.name": "^1.1.6",
"get-intrinsic": "^1.2.4",
"get-symbol-description": "^1.0.2",
"globalthis": "^1.0.4",
"globalthis": "^1.0.3",
"gopd": "^1.0.1",
"has-property-descriptors": "^1.0.2",
"has-proto": "^1.0.3",
@@ -2766,10 +2766,10 @@
"is-string": "^1.0.7",
"is-typed-array": "^1.1.13",
"is-weakref": "^1.0.2",
"object-inspect": "^1.13.3",
"object-inspect": "^1.13.1",
"object-keys": "^1.1.1",
"object.assign": "^4.1.5",
"regexp.prototype.flags": "^1.5.3",
"regexp.prototype.flags": "^1.5.2",
"safe-array-concat": "^1.1.2",
"safe-regex-test": "^1.0.3",
"string.prototype.trim": "^1.2.9",
@@ -2834,9 +2834,9 @@
}
},
"node_modules/es-iterator-helpers": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.0.tgz",
"integrity": "sha512-tpxqxncxnpw3c93u8n3VOzACmRFoVmWJqbWXvX/JfKbkhBw1oslgPrUfeSt2psuqyEJFD6N/9lg5i7bsKpoq+Q==",
"version": "1.0.19",
"resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.19.tgz",
"integrity": "sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -2847,13 +2847,12 @@
"es-set-tostringtag": "^2.0.3",
"function-bind": "^1.1.2",
"get-intrinsic": "^1.2.4",
"globalthis": "^1.0.4",
"gopd": "^1.0.1",
"globalthis": "^1.0.3",
"has-property-descriptors": "^1.0.2",
"has-proto": "^1.0.3",
"has-symbols": "^1.0.3",
"internal-slot": "^1.0.7",
"iterator.prototype": "^1.1.3",
"iterator.prototype": "^1.1.2",
"safe-array-concat": "^1.1.2"
},
"engines": {
@@ -3281,18 +3280,17 @@
}
},
"node_modules/eslint-plugin-react": {
"version": "7.37.2",
"resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.2.tgz",
"integrity": "sha512-EsTAnj9fLVr/GZleBLFbj/sSuXeWmp1eXIN60ceYnZveqEaUCyW4X+Vh4WTdUhCkW4xutXYqTXCUSyqD4rB75w==",
"version": "7.37.1",
"resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.1.tgz",
"integrity": "sha512-xwTnwDqzbDRA8uJ7BMxPs/EXRB3i8ZfnOIp8BsxEQkT0nHPp+WWceqGgo6rKb9ctNi8GJLDT4Go5HAWELa/WMg==",
"dev": true,
"license": "MIT",
"dependencies": {
"array-includes": "^3.1.8",
"array.prototype.findlast": "^1.2.5",
"array.prototype.flatmap": "^1.3.2",
"array.prototype.tosorted": "^1.1.4",
"doctrine": "^2.1.0",
"es-iterator-helpers": "^1.1.0",
"es-iterator-helpers": "^1.0.19",
"estraverse": "^5.3.0",
"hasown": "^2.0.2",
"jsx-ast-utils": "^2.4.1 || ^3.0.0",
@@ -3849,9 +3847,9 @@
}
},
"node_modules/gamedig": {
"version": "5.1.4",
"resolved": "https://registry.npmjs.org/gamedig/-/gamedig-5.1.4.tgz",
"integrity": "sha512-MgSbNVGh5QMdrmRTrZ3W7W6sC5/Mx+dMgTy2uZCKQ9vns9eFXkQj61Pw2Y2FNHNMMp4DXFSUMYAPJWLcR16Wwg==",
"version": "5.1.3",
"resolved": "https://registry.npmjs.org/gamedig/-/gamedig-5.1.3.tgz",
"integrity": "sha512-ECksJC4idM3a+P+a+j9/XHcPOsP4DUrwowK38QucDQ4x5T7mQDWErY2n8NE4kV4HKjCq16ifNMAEt+/nyCKWog==",
"license": "MIT",
"dependencies": {
"cheerio": "1.0.0-rc.12",
@@ -3860,6 +3858,7 @@
"iconv-lite": "0.6.3",
"long": "5.2.3",
"minimist": "1.2.8",
"punycode": "2.3.1",
"seek-bzip": "2.0.0",
"varint": "6.0.0"
},
@@ -4678,16 +4677,13 @@
}
},
"node_modules/is-finalizationregistry": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.0.tgz",
"integrity": "sha512-qfMdqbAQEwBw78ZyReKnlA8ezmPdb9BemzIIip/JkjaZUhitfXDkkr+3QTboW0JrSXT1QWyYShpvnNHGZ4c4yA==",
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz",
"integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==",
"dev": true,
"license": "MIT",
"dependencies": {
"call-bind": "^1.0.7"
},
"engines": {
"node": ">= 0.4"
"call-bind": "^1.0.2"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -4978,9 +4974,9 @@
"license": "MIT"
},
"node_modules/iterator.prototype": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.3.tgz",
"integrity": "sha512-FW5iMbeQ6rBGm/oKgzq2aW4KvAGpxPzYES8N4g4xNXUKpL1mclMvOe+76AcLDTvD+Ze+sOpVhgdAQEKF4L9iGQ==",
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz",
"integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -4989,9 +4985,6 @@
"has-symbols": "^1.0.3",
"reflect.getprototypeof": "^1.0.4",
"set-function-name": "^2.0.1"
},
"engines": {
"node": ">= 0.4"
}
},
"node_modules/jackspeak": {
@@ -5510,9 +5503,9 @@
"optional": true
},
"node_modules/nanoid": {
"version": "3.3.8",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz",
"integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==",
"version": "3.3.7",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
"integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
"funding": [
{
"type": "github",
@@ -5765,9 +5758,9 @@
}
},
"node_modules/object-inspect": {
"version": "1.13.3",
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.3.tgz",
"integrity": "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==",
"version": "1.13.2",
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz",
"integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==",
"dev": true,
"license": "MIT",
"engines": {
@@ -6684,19 +6677,19 @@
}
},
"node_modules/reflect.getprototypeof": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.7.tgz",
"integrity": "sha512-bMvFGIUKlc/eSfXNX+aZ+EL95/EgZzuwA0OBPTbZZDEJw/0AkentjMuM1oiRfwHrshqk4RzdgiTg5CcDalXN5g==",
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz",
"integrity": "sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==",
"dev": true,
"license": "MIT",
"dependencies": {
"call-bind": "^1.0.7",
"define-properties": "^1.2.1",
"es-abstract": "^1.23.5",
"es-abstract": "^1.23.1",
"es-errors": "^1.3.0",
"get-intrinsic": "^1.2.4",
"gopd": "^1.0.1",
"which-builtin-type": "^1.1.4"
"globalthis": "^1.0.3",
"which-builtin-type": "^1.1.3"
},
"engines": {
"node": ">= 0.4"
@@ -6712,16 +6705,16 @@
"license": "MIT"
},
"node_modules/regexp.prototype.flags": {
"version": "1.5.3",
"resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.3.tgz",
"integrity": "sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==",
"version": "1.5.2",
"resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz",
"integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==",
"dev": true,
"license": "MIT",
"dependencies": {
"call-bind": "^1.0.7",
"call-bind": "^1.0.6",
"define-properties": "^1.2.1",
"es-errors": "^1.3.0",
"set-function-name": "^2.0.2"
"set-function-name": "^2.0.1"
},
"engines": {
"node": ">= 0.4"
@@ -8344,18 +8337,17 @@
}
},
"node_modules/which-builtin-type": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.0.tgz",
"integrity": "sha512-I+qLGQ/vucCby4tf5HsLmGueEla4ZhwTBSqaooS+Y0BuxN4Cp+okmGuV+8mXZ84KDI9BA+oklo+RzKg0ONdSUA==",
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.4.tgz",
"integrity": "sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==",
"dev": true,
"license": "MIT",
"dependencies": {
"call-bind": "^1.0.7",
"function.prototype.name": "^1.1.6",
"has-tostringtag": "^1.0.2",
"is-async-function": "^2.0.0",
"is-date-object": "^1.0.5",
"is-finalizationregistry": "^1.1.0",
"is-finalizationregistry": "^1.0.2",
"is-generator-function": "^1.0.10",
"is-regex": "^1.1.4",
"is-weakref": "^1.0.2",

View File

@@ -17,7 +17,7 @@
"compare-versions": "^6.1.0",
"dockerode": "^4.0.2",
"follow-redirects": "^1.15.9",
"gamedig": "^5.1.4",
"gamedig": "^5.1.2",
"i18next": "^21.10.0",
"js-yaml": "^4.1.0",
"json-rpc-2.0": "^1.7.0",
@@ -52,7 +52,7 @@
"eslint-plugin-import": "^2.31.0",
"eslint-plugin-jsx-a11y": "^6.8.0",
"eslint-plugin-prettier": "^5.2.1",
"eslint-plugin-react": "^7.37.2",
"eslint-plugin-react": "^7.37.1",
"eslint-plugin-react-hooks": "^4.6.2",
"postcss": "^8.4.47",
"prettier": "^3.2.5",

105
pnpm-lock.yaml generated
View File

@@ -30,8 +30,8 @@ importers:
specifier: ^1.15.9
version: 1.15.9
gamedig:
specifier: ^5.1.4
version: 5.1.4
specifier: ^5.1.2
version: 5.1.3
i18next:
specifier: ^21.10.0
version: 21.10.0
@@ -117,7 +117,7 @@ importers:
version: 8.57.1
eslint-config-airbnb:
specifier: ^19.0.4
version: 19.0.4(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-jsx-a11y@6.10.0(eslint@8.57.1))(eslint-plugin-react-hooks@4.6.2(eslint@8.57.1))(eslint-plugin-react@7.37.2(eslint@8.57.1))(eslint@8.57.1)
version: 19.0.4(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-jsx-a11y@6.10.0(eslint@8.57.1))(eslint-plugin-react-hooks@4.6.2(eslint@8.57.1))(eslint-plugin-react@7.37.1(eslint@8.57.1))(eslint@8.57.1)
eslint-config-next:
specifier: ^14.2.3
version: 14.2.8(eslint@8.57.1)(typescript@5.6.3)
@@ -126,7 +126,7 @@ importers:
version: 9.1.0(eslint@8.57.1)
eslint-plugin-import:
specifier: ^2.31.0
version: 2.31.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1)
version: 2.31.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1)
eslint-plugin-jsx-a11y:
specifier: ^6.8.0
version: 6.10.0(eslint@8.57.1)
@@ -134,8 +134,8 @@ importers:
specifier: ^5.2.1
version: 5.2.1(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3)
eslint-plugin-react:
specifier: ^7.37.2
version: 7.37.2(eslint@8.57.1)
specifier: ^7.37.1
version: 7.37.1(eslint@8.57.1)
eslint-plugin-react-hooks:
specifier: ^4.6.2
version: 4.6.2(eslint@8.57.1)
@@ -783,8 +783,8 @@ packages:
resolution: {integrity: sha512-9IkYqtX3YHPCzoVg1Py+o9057a3i0fp7S530UWokCSaFVTc7CwXPRiOjRjBQQ18ZCNafx78YfnG+HALxtVmOGA==}
engines: {node: '>=10.0.0'}
cross-spawn@7.0.6:
resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
cross-spawn@7.0.3:
resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
engines: {node: '>= 8'}
css-select@5.1.0:
@@ -1006,10 +1006,6 @@ packages:
resolution: {integrity: sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==}
engines: {node: '>= 0.4'}
es-iterator-helpers@1.2.0:
resolution: {integrity: sha512-tpxqxncxnpw3c93u8n3VOzACmRFoVmWJqbWXvX/JfKbkhBw1oslgPrUfeSt2psuqyEJFD6N/9lg5i7bsKpoq+Q==}
engines: {node: '>= 0.4'}
es-object-atoms@1.0.0:
resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==}
engines: {node: '>= 0.4'}
@@ -1159,8 +1155,8 @@ packages:
peerDependencies:
eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0
eslint-plugin-react@7.37.2:
resolution: {integrity: sha512-EsTAnj9fLVr/GZleBLFbj/sSuXeWmp1eXIN60ceYnZveqEaUCyW4X+Vh4WTdUhCkW4xutXYqTXCUSyqD4rB75w==}
eslint-plugin-react@7.37.1:
resolution: {integrity: sha512-xwTnwDqzbDRA8uJ7BMxPs/EXRB3i8ZfnOIp8BsxEQkT0nHPp+WWceqGgo6rKb9ctNi8GJLDT4Go5HAWELa/WMg==}
engines: {node: '>=4'}
peerDependencies:
eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7
@@ -1320,8 +1316,8 @@ packages:
functions-have-names@1.2.3:
resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
gamedig@5.1.4:
resolution: {integrity: sha512-MgSbNVGh5QMdrmRTrZ3W7W6sC5/Mx+dMgTy2uZCKQ9vns9eFXkQj61Pw2Y2FNHNMMp4DXFSUMYAPJWLcR16Wwg==}
gamedig@5.1.3:
resolution: {integrity: sha512-ECksJC4idM3a+P+a+j9/XHcPOsP4DUrwowK38QucDQ4x5T7mQDWErY2n8NE4kV4HKjCq16ifNMAEt+/nyCKWog==}
engines: {node: '>=16.20.0'}
hasBin: true
@@ -1652,10 +1648,6 @@ packages:
iterator.prototype@1.1.2:
resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==}
iterator.prototype@1.1.3:
resolution: {integrity: sha512-FW5iMbeQ6rBGm/oKgzq2aW4KvAGpxPzYES8N4g4xNXUKpL1mclMvOe+76AcLDTvD+Ze+sOpVhgdAQEKF4L9iGQ==}
engines: {node: '>= 0.4'}
jackspeak@2.3.6:
resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==}
engines: {node: '>=14'}
@@ -3462,7 +3454,7 @@ snapshots:
nan: 2.20.0
optional: true
cross-spawn@7.0.6:
cross-spawn@7.0.3:
dependencies:
path-key: 3.1.1
shebang-command: 2.0.0
@@ -3765,24 +3757,6 @@ snapshots:
iterator.prototype: 1.1.2
safe-array-concat: 1.1.2
es-iterator-helpers@1.2.0:
dependencies:
call-bind: 1.0.7
define-properties: 1.2.1
es-abstract: 1.23.3
es-errors: 1.3.0
es-set-tostringtag: 2.0.3
function-bind: 1.1.2
get-intrinsic: 1.2.4
globalthis: 1.0.4
gopd: 1.0.1
has-property-descriptors: 1.0.2
has-proto: 1.0.3
has-symbols: 1.0.3
internal-slot: 1.0.7
iterator.prototype: 1.1.3
safe-array-concat: 1.1.2
es-object-atoms@1.0.0:
dependencies:
es-errors: 1.3.0
@@ -3811,18 +3785,18 @@ snapshots:
dependencies:
confusing-browser-globals: 1.0.11
eslint: 8.57.1
eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1)
eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1)
object.assign: 4.1.5
object.entries: 1.1.8
semver: 6.3.1
eslint-config-airbnb@19.0.4(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-jsx-a11y@6.10.0(eslint@8.57.1))(eslint-plugin-react-hooks@4.6.2(eslint@8.57.1))(eslint-plugin-react@7.37.2(eslint@8.57.1))(eslint@8.57.1):
eslint-config-airbnb@19.0.4(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint-plugin-jsx-a11y@6.10.0(eslint@8.57.1))(eslint-plugin-react-hooks@4.6.2(eslint@8.57.1))(eslint-plugin-react@7.37.1(eslint@8.57.1))(eslint@8.57.1):
dependencies:
eslint: 8.57.1
eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint@8.57.1)
eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1)
eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1)
eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.1)
eslint-plugin-react: 7.37.2(eslint@8.57.1)
eslint-plugin-react: 7.37.1(eslint@8.57.1)
eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1)
object.assign: 4.1.5
object.entries: 1.1.8
@@ -3835,10 +3809,10 @@ snapshots:
'@typescript-eslint/parser': 7.2.0(eslint@8.57.1)(typescript@5.6.3)
eslint: 8.57.1
eslint-import-resolver-node: 0.3.9
eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint@8.57.1)
eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1)
eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1)
eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1)
eslint-plugin-jsx-a11y: 6.10.0(eslint@8.57.1)
eslint-plugin-react: 7.37.2(eslint@8.57.1)
eslint-plugin-react: 7.37.1(eslint@8.57.1)
eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1)
optionalDependencies:
typescript: 5.6.3
@@ -3859,48 +3833,48 @@ snapshots:
transitivePeerDependencies:
- supports-color
eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint@8.57.1):
eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1):
dependencies:
'@nolyfill/is-core-module': 1.0.39
debug: 4.3.6
enhanced-resolve: 5.17.1
eslint: 8.57.1
eslint-module-utils: 2.9.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1)
eslint-module-utils: 2.9.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1))(eslint@8.57.1)
fast-glob: 3.3.2
get-tsconfig: 4.8.0
is-bun-module: 1.1.0
is-glob: 4.0.3
optionalDependencies:
eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1)
eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1)
transitivePeerDependencies:
- '@typescript-eslint/parser'
- eslint-import-resolver-node
- eslint-import-resolver-webpack
- supports-color
eslint-module-utils@2.12.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1):
eslint-module-utils@2.12.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1))(eslint@8.57.1):
dependencies:
debug: 3.2.7
optionalDependencies:
'@typescript-eslint/parser': 7.2.0(eslint@8.57.1)(typescript@5.6.3)
eslint: 8.57.1
eslint-import-resolver-node: 0.3.9
eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint@8.57.1)
eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1)
transitivePeerDependencies:
- supports-color
eslint-module-utils@2.9.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1):
eslint-module-utils@2.9.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1))(eslint@8.57.1):
dependencies:
debug: 3.2.7
optionalDependencies:
'@typescript-eslint/parser': 7.2.0(eslint@8.57.1)(typescript@5.6.3)
eslint: 8.57.1
eslint-import-resolver-node: 0.3.9
eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint@8.57.1)
eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1)
transitivePeerDependencies:
- supports-color
eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1):
eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1):
dependencies:
'@rtsao/scc': 1.1.0
array-includes: 3.1.8
@@ -3911,7 +3885,7 @@ snapshots:
doctrine: 2.1.0
eslint: 8.57.1
eslint-import-resolver-node: 0.3.9
eslint-module-utils: 2.12.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1)
eslint-module-utils: 2.12.0(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@7.2.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.31.0)(eslint@8.57.1))(eslint@8.57.1)
hasown: 2.0.2
is-core-module: 2.15.1
is-glob: 4.0.3
@@ -3962,14 +3936,14 @@ snapshots:
dependencies:
eslint: 8.57.1
eslint-plugin-react@7.37.2(eslint@8.57.1):
eslint-plugin-react@7.37.1(eslint@8.57.1):
dependencies:
array-includes: 3.1.8
array.prototype.findlast: 1.2.5
array.prototype.flatmap: 1.3.2
array.prototype.tosorted: 1.1.4
doctrine: 2.1.0
es-iterator-helpers: 1.2.0
es-iterator-helpers: 1.0.19
eslint: 8.57.1
estraverse: 5.3.0
hasown: 2.0.2
@@ -4003,7 +3977,7 @@ snapshots:
'@ungap/structured-clone': 1.2.0
ajv: 6.12.6
chalk: 4.1.2
cross-spawn: 7.0.6
cross-spawn: 7.0.3
debug: 4.3.6
doctrine: 3.0.0
escape-string-regexp: 4.0.0
@@ -4058,7 +4032,7 @@ snapshots:
execa@5.0.0:
dependencies:
cross-spawn: 7.0.6
cross-spawn: 7.0.3
get-stream: 6.0.1
human-signals: 2.1.0
is-stream: 2.0.1
@@ -4127,7 +4101,7 @@ snapshots:
foreground-child@3.3.0:
dependencies:
cross-spawn: 7.0.6
cross-spawn: 7.0.3
signal-exit: 4.1.0
forever-agent@0.6.1: {}
@@ -4164,7 +4138,7 @@ snapshots:
functions-have-names@1.2.3: {}
gamedig@5.1.4:
gamedig@5.1.3:
dependencies:
cheerio: 1.0.0-rc.12
gbxremote: 0.2.1
@@ -4172,6 +4146,7 @@ snapshots:
iconv-lite: 0.6.3
long: 5.2.3
minimist: 1.2.8
punycode: 2.3.1
seek-bzip: 2.0.0
varint: 6.0.0
@@ -4521,14 +4496,6 @@ snapshots:
reflect.getprototypeof: 1.0.6
set-function-name: 2.0.2
iterator.prototype@1.1.3:
dependencies:
define-properties: 1.2.1
get-intrinsic: 1.2.4
has-symbols: 1.0.3
reflect.getprototypeof: 1.0.6
set-function-name: 2.0.2
jackspeak@2.3.6:
dependencies:
'@isaacs/cliui': 8.0.2

View File

@@ -13,7 +13,7 @@
"ms": "{{value, number}}",
"date": "{{value, date}}",
"relativeDate": "{{value, relativeDate}}",
"duration": "{{value, duration}}",
"uptime": "{{value, uptime}}",
"months": "ma",
"days": "d",
"hours": "h",
@@ -120,7 +120,7 @@
"grid_power": "Rooster",
"home_power": "Verbruik",
"charge_power": "Laaier",
"kilowatt": "kW"
"watt_hour": "Wh"
},
"flood": {
"download": "Aflaai",
@@ -309,16 +309,6 @@
"stopped": "Gestop",
"total": "Totaal"
},
"suwayomi": {
"download": "Afgelaai",
"nondownload": "Nie-Afgelaai",
"read": "Gelees",
"unread": "Ongelees",
"downloadedread": "Afgelaai & Gelees",
"downloadedunread": "Afgelaai en Ongelees",
"nondownloadedread": "Nie-Afgelaai & Gelees",
"nondownloadedunread": "Nie-Afgelaai & Ongelees"
},
"tailscale": {
"address": "Adres",
"expires": "Verval",
@@ -957,55 +947,11 @@
"disaster": "Ramp"
},
"lubelogger": {
"vehicle": "Voertuig",
"vehicles": "Voertuie",
"serviceRecords": "Diensrekords",
"reminders": "Herinneringe",
"nextReminder": "Volgende Herinnering",
"none": "Geen"
},
"vikunja": {
"projects": "Aktiewe Projekte",
"tasks7d": "Take Hierdie week",
"tasksOverdue": "Agterstallige Take",
"tasksInProgress": "Take Aan Die Gang"
},
"headscale": {
"name": "Naam",
"address": "Adres",
"last_seen": "Laaste Gesien",
"status": "Status",
"online": "Aanlyn",
"offline": "Vanlyn"
},
"beszel": {
"name": "Naam",
"systems": "Stelsels",
"up": "Op",
"status": "Status",
"updated": "Opgedateer",
"cpu": "SVE",
"memory": "GEH",
"disk": "Skyf",
"network": "NET"
},
"argocd": {
"apps": "Programme",
"synced": "Gesinkroniseer",
"outOfSync": "Nie Gesinchroniseer Nie",
"healthy": "Gesond",
"degraded": "Gedegradeer",
"progressing": "Vorderend",
"missing": "Vermis",
"suspended": "Geskors"
},
"spoolman": {
"loading": "Laai"
},
"gitlab": {
"groups": "Groepe",
"issues": "Kwessies",
"merges": "Saamvleg Versoeke",
"projects": "Projekte"
"vehicle": "Vehicle",
"vehicles": "Vehicles",
"serviceRecords": "Service Records",
"reminders": "Reminders",
"nextReminder": "Next Reminder",
"none": "None"
}
}

View File

@@ -13,7 +13,7 @@
"ms": "{{value, number}}",
"date": "{{value, date}}",
"relativeDate": "{{value, relativeDate}}",
"duration": "{{value, duration}}",
"uptime": "{{value, uptime}}",
"months": "ش",
"days": "ي",
"hours": "س",
@@ -120,7 +120,7 @@
"grid_power": "شبكة",
"home_power": "الاستهلاك",
"charge_power": "شاحن",
"kilowatt": "kW"
"watt_hour": "واط ساعة"
},
"flood": {
"download": "التنزيل",
@@ -309,16 +309,6 @@
"stopped": "متوقف",
"total": "المجموع"
},
"suwayomi": {
"download": "مُنزل",
"nondownload": "Non-Downloaded",
"read": "قراءة",
"unread": "غير مقروءة",
"downloadedread": "Downloaded & Read",
"downloadedunread": "Downloaded & Unread",
"nondownloadedread": "Non-Downloaded & Read",
"nondownloadedunread": "Non-Downloaded & Unread"
},
"tailscale": {
"address": "عنوان",
"expires": "تنتهي",
@@ -963,49 +953,5 @@
"reminders": "Reminders",
"nextReminder": "Next Reminder",
"none": "None"
},
"vikunja": {
"projects": "Active Projects",
"tasks7d": "Tasks Due This Week",
"tasksOverdue": "Overdue Tasks",
"tasksInProgress": "Tasks In Progress"
},
"headscale": {
"name": "الاسم",
"address": "عنوان",
"last_seen": "آخر ظهور",
"status": "الحالة",
"online": "مُتّصل",
"offline": "غير متصل"
},
"beszel": {
"name": "الاسم",
"systems": "Systems",
"up": "يعمل",
"status": "الحالة",
"updated": "محدث",
"cpu": "المعالج",
"memory": "الذاكرة",
"disk": "Disk",
"network": "NET"
},
"argocd": {
"apps": "Apps",
"synced": "Synced",
"outOfSync": "Out Of Sync",
"healthy": "سليم",
"degraded": "Degraded",
"progressing": "Progressing",
"missing": "مفقود",
"suspended": "Suspended"
},
"spoolman": {
"loading": "تحميل"
},
"gitlab": {
"groups": "Groups",
"issues": "المُشكِلات",
"merges": "Merge Requests",
"projects": "Projects"
}
}

View File

@@ -13,7 +13,7 @@
"ms": "{{value, number}}",
"date": "{{value, date}}",
"relativeDate": "{{value, relativeDate}}",
"duration": "{{value, duration}}",
"uptime": "{{value, uptime}}",
"months": "mo",
"days": "d",
"hours": "ч",
@@ -120,7 +120,7 @@
"grid_power": "Grid",
"home_power": "Consumption",
"charge_power": "Charger",
"kilowatt": "kW"
"watt_hour": "Wh"
},
"flood": {
"download": "Download",
@@ -309,16 +309,6 @@
"stopped": "Спрян",
"total": "Общо"
},
"suwayomi": {
"download": "Изтеглени",
"nondownload": "Non-Downloaded",
"read": "Read",
"unread": "Unread",
"downloadedread": "Downloaded & Read",
"downloadedunread": "Downloaded & Unread",
"nondownloadedread": "Non-Downloaded & Read",
"nondownloadedunread": "Non-Downloaded & Unread"
},
"tailscale": {
"address": "Address",
"expires": "Expires",
@@ -963,49 +953,5 @@
"reminders": "Reminders",
"nextReminder": "Next Reminder",
"none": "None"
},
"vikunja": {
"projects": "Active Projects",
"tasks7d": "Tasks Due This Week",
"tasksOverdue": "Overdue Tasks",
"tasksInProgress": "Tasks In Progress"
},
"headscale": {
"name": "Name",
"address": "Address",
"last_seen": "Последно видян",
"status": "Статус",
"online": "Online",
"offline": "Изключен"
},
"beszel": {
"name": "Name",
"systems": "Systems",
"up": "Up",
"status": "Статус",
"updated": "Updated",
"cpu": "Процесор",
"memory": "Памет",
"disk": "Disk",
"network": "NET"
},
"argocd": {
"apps": "Apps",
"synced": "Synced",
"outOfSync": "Out Of Sync",
"healthy": "Healthy",
"degraded": "Degraded",
"progressing": "Progressing",
"missing": "Липсващи",
"suspended": "Suspended"
},
"spoolman": {
"loading": "Loading"
},
"gitlab": {
"groups": "Groups",
"issues": "Issues",
"merges": "Merge Requests",
"projects": "Projects"
}
}

View File

@@ -13,7 +13,7 @@
"ms": "{{value, number}}",
"date": "{{value, date}}",
"relativeDate": "{{value, relativeDate}}",
"duration": "{{value, duration}}",
"uptime": "{{value, uptime}}",
"months": "mes",
"days": "d",
"hours": "h",
@@ -120,7 +120,7 @@
"grid_power": "Xarxa",
"home_power": "Consum",
"charge_power": "Carregador",
"kilowatt": "kW"
"watt_hour": "Wh"
},
"flood": {
"download": "Descarregar",
@@ -227,8 +227,8 @@
"seed": "Llavors"
},
"develancacheui": {
"cachehitbytes": "Bytes trobats a la memòria cau",
"cachemissbytes": "Bytes no trobats a la memòria cau"
"cachehitbytes": "Cache Hit Bytes",
"cachemissbytes": "Cache Miss Bytes"
},
"downloadstation": {
"download": "Descarregar",
@@ -309,16 +309,6 @@
"stopped": "Aturat",
"total": "Total"
},
"suwayomi": {
"download": "Descarregat",
"nondownload": "No descarregat",
"read": "Llegit",
"unread": "Sense llegir",
"downloadedread": "Descarregat i llegit",
"downloadedunread": "Descarregat i per llegir",
"nondownloadedread": "No descarregat i llegit",
"nondownloadedunread": "No descarregat i per llegir"
},
"tailscale": {
"address": "Adreça",
"expires": "Caduca",
@@ -335,22 +325,22 @@
},
"technitium": {
"totalQueries": "Consultes",
"totalNoError": "Èxits",
"totalServerFailure": "Fallades",
"totalNxDomain": "Dominis NX",
"totalRefused": "Rebutjat",
"totalAuthoritative": "Autoritatiu",
"totalRecursive": "Recursiu",
"totalCached": "A la memòria cau",
"totalNoError": "Success",
"totalServerFailure": "Failures",
"totalNxDomain": "NX Domains",
"totalRefused": "Refused",
"totalAuthoritative": "Authoritative",
"totalRecursive": "Recursive",
"totalCached": "Cached",
"totalBlocked": "Bloquejat",
"totalDropped": "Abandonat",
"totalDropped": "Dropped",
"totalClients": "Clients"
},
"tdarr": {
"queue": "Cua",
"processed": "Processat",
"errored": "Error",
"saved": "Estalviat"
"saved": "Desat"
},
"traefik": {
"routers": "Encaminadors",
@@ -581,7 +571,7 @@
"clientIP": "Client"
},
"scrutiny": {
"passed": "Aprovat",
"passed": "Aprobat",
"failed": "Error",
"unknown": "Desconegut"
},
@@ -820,7 +810,7 @@
"total": "Total",
"running": "En execució",
"stopped": "Aturat",
"passed": "Aprovat",
"passed": "Aprobat",
"failed": "Error"
},
"openwrt": {
@@ -854,16 +844,16 @@
},
"romm": {
"platforms": "Plataformes",
"totalRoms": "Jocs",
"saves": "Partides desades",
"states": "Estats",
"screenshots": "Captures de pantalla",
"totalfilesize": "Tamany total"
"totalRoms": "Games",
"saves": "Saves",
"states": "States",
"screenshots": "Screenshots",
"totalfilesize": "Total Size"
},
"mailcow": {
"domains": "Dominis",
"mailboxes": "Bústies",
"mails": "Correus",
"mailboxes": "Mailboxes",
"mails": "Mails",
"storage": "Emmagatzematge"
},
"netdata": {
@@ -944,68 +934,24 @@
"version": "Versió"
},
"linkwarden": {
"links": "Enllaços",
"collections": "Col·leccions",
"links": "Links",
"collections": "Collections",
"tags": "Etiquetes"
},
"zabbix": {
"unclassified": "No classificat",
"unclassified": "Not classified",
"information": "Informació",
"warning": "Avís",
"average": "Mitjana",
"high": "Alt",
"disaster": "Desastre"
"warning": "Warning",
"average": "Average",
"high": "High",
"disaster": "Disaster"
},
"lubelogger": {
"vehicle": "Vehicle",
"vehicles": "Vehicles",
"serviceRecords": "Constàncies de manteniment",
"reminders": "Recordatoris",
"nextReminder": "Proper recordatori",
"none": "Cap"
},
"vikunja": {
"projects": "Projectes actius",
"tasks7d": "Tasques a completar aquesta setmana",
"tasksOverdue": "Tasques vençudes",
"tasksInProgress": "Tasques en marxa"
},
"headscale": {
"name": "Nom",
"address": "Adreça",
"last_seen": "Vist per darrer cop",
"status": "Estat",
"online": "En línia",
"offline": "Fora de línia"
},
"beszel": {
"name": "Nom",
"systems": "Sistemes",
"up": "Actiu",
"status": "Estat",
"updated": "Actualitzat",
"cpu": "CPU",
"memory": "MEM",
"disk": "Disc",
"network": "XARXA"
},
"argocd": {
"apps": "Apps",
"synced": "Sincronitzats",
"outOfSync": "Dessincronitzats",
"healthy": "Saludable",
"degraded": "Degradats",
"progressing": "Progressant",
"missing": "Falten",
"suspended": "Suspesos"
},
"spoolman": {
"loading": "Carregant"
},
"gitlab": {
"groups": "Grups",
"issues": "Problemes",
"merges": "Merge Requests",
"projects": "Projectes"
"serviceRecords": "Service Records",
"reminders": "Reminders",
"nextReminder": "Next Reminder",
"none": "None"
}
}

View File

@@ -13,7 +13,7 @@
"ms": "{{value, number}}",
"date": "{{value, date}}",
"relativeDate": "{{value, relativeDate}}",
"duration": "{{value, duration}}",
"uptime": "{{value, uptime}}",
"months": "měs.",
"days": "d",
"hours": "h",
@@ -120,7 +120,7 @@
"grid_power": "Mřížka",
"home_power": "Spotřeba",
"charge_power": "Nabíječka",
"kilowatt": "kW"
"watt_hour": "Wh"
},
"flood": {
"download": "Stahování",
@@ -309,16 +309,6 @@
"stopped": "Zastaveno",
"total": "Celkem"
},
"suwayomi": {
"download": "Staženo",
"nondownload": "Non-Downloaded",
"read": "Přečteno",
"unread": "Nepřečteno",
"downloadedread": "Downloaded & Read",
"downloadedunread": "Downloaded & Unread",
"nondownloadedread": "Non-Downloaded & Read",
"nondownloadedunread": "Non-Downloaded & Unread"
},
"tailscale": {
"address": "Adresa",
"expires": "Vyprší",
@@ -963,49 +953,5 @@
"reminders": "Reminders",
"nextReminder": "Next Reminder",
"none": "None"
},
"vikunja": {
"projects": "Active Projects",
"tasks7d": "Tasks Due This Week",
"tasksOverdue": "Overdue Tasks",
"tasksInProgress": "Tasks In Progress"
},
"headscale": {
"name": "Name",
"address": "Adresa",
"last_seen": "Naposledy viděno",
"status": "Stav",
"online": "Online",
"offline": "Offline"
},
"beszel": {
"name": "Name",
"systems": "Systems",
"up": "Up",
"status": "Stav",
"updated": "Aktualizováno",
"cpu": "CPU",
"memory": "RAM",
"disk": "Disk",
"network": "NET"
},
"argocd": {
"apps": "Apps",
"synced": "Synced",
"outOfSync": "Out Of Sync",
"healthy": "Zdravý",
"degraded": "Degraded",
"progressing": "Progressing",
"missing": "Chybějící",
"suspended": "Suspended"
},
"spoolman": {
"loading": "Loading"
},
"gitlab": {
"groups": "Groups",
"issues": "Problémy",
"merges": "Merge Requests",
"projects": "Projects"
}
}

View File

@@ -13,7 +13,7 @@
"ms": "{{value, number}}",
"date": "{{value, date}}",
"relativeDate": "{{value, relativeDate}}",
"duration": "{{value, duration}}",
"uptime": "{{value, uptime}}",
"months": "mnd",
"days": "d",
"hours": "t",
@@ -120,7 +120,7 @@
"grid_power": "Gitter",
"home_power": "Forbrug",
"charge_power": "Oplader",
"kilowatt": "kW"
"watt_hour": "Wh"
},
"flood": {
"download": "Download",
@@ -309,16 +309,6 @@
"stopped": "Stoppede",
"total": "Total"
},
"suwayomi": {
"download": "Hentet",
"nondownload": "Non-Downloaded",
"read": "Læst",
"unread": "Ulæst",
"downloadedread": "Downloaded & Read",
"downloadedunread": "Downloaded & Unread",
"nondownloadedread": "Non-Downloaded & Read",
"nondownloadedunread": "Non-Downloaded & Unread"
},
"tailscale": {
"address": "Adresse",
"expires": "Udløber",
@@ -963,49 +953,5 @@
"reminders": "Reminders",
"nextReminder": "Next Reminder",
"none": "None"
},
"vikunja": {
"projects": "Active Projects",
"tasks7d": "Tasks Due This Week",
"tasksOverdue": "Overdue Tasks",
"tasksInProgress": "Tasks In Progress"
},
"headscale": {
"name": "Navn",
"address": "Adresse",
"last_seen": "Sidst Set",
"status": "Status",
"online": "Online",
"offline": "Offline"
},
"beszel": {
"name": "Navn",
"systems": "Systems",
"up": "Op",
"status": "Status",
"updated": "Opdateret",
"cpu": "CPU",
"memory": "RAM",
"disk": "Disk",
"network": "NET"
},
"argocd": {
"apps": "Apps",
"synced": "Synced",
"outOfSync": "Out Of Sync",
"healthy": "Sund",
"degraded": "Degraded",
"progressing": "Progressing",
"missing": "Mangler",
"suspended": "Suspended"
},
"spoolman": {
"loading": "Loading"
},
"gitlab": {
"groups": "Groups",
"issues": "Problemer",
"merges": "Merge Requests",
"projects": "Projects"
}
}

View File

@@ -13,7 +13,7 @@
"ms": "{{value, number}}",
"date": "{{value, date}}",
"relativeDate": "{{value, relativeDate}}",
"duration": "{{value, duration}}",
"uptime": "{{value, uptime}}",
"months": "Mo.",
"days": "d",
"hours": "h",
@@ -120,7 +120,7 @@
"grid_power": "Netz",
"home_power": "verbauch",
"charge_power": "Ladegerät",
"kilowatt": "kW"
"watt_hour": "Wh"
},
"flood": {
"download": "Download",
@@ -305,20 +305,10 @@
"ping": "Ping"
},
"portainer": {
"running": "Wird ausgeführt",
"running": "Werden ausgeführt",
"stopped": "Gestoppt",
"total": "Gesamt"
},
"suwayomi": {
"download": "Heruntergeladen",
"nondownload": "Nicht heruntergeladen",
"read": "Gelesen",
"unread": "Ungelesen",
"downloadedread": "Heruntergeladen & gelesen",
"downloadedunread": "Heruntergeladen & ungelesen",
"nondownloadedread": "Nicht heruntergeladen & gelesen",
"nondownloadedunread": "Nicht heruntergeladen & ungelesen"
},
"tailscale": {
"address": "Adresse",
"expires": "Läuft ab",
@@ -963,49 +953,5 @@
"reminders": "Erinnerungen",
"nextReminder": "Nächste Erinnerung",
"none": "Keine"
},
"vikunja": {
"projects": "Aktive Projekte",
"tasks7d": "Diese Woche fällige Aufgaben",
"tasksOverdue": "Überfällige Aufgaben",
"tasksInProgress": "Aufgaben in Arbeit"
},
"headscale": {
"name": "Name",
"address": "Adresse",
"last_seen": "Zuletzt gesehen",
"status": "Status",
"online": "Online",
"offline": "Offline"
},
"beszel": {
"name": "Name",
"systems": "Systeme",
"up": "Senden",
"status": "Status",
"updated": "Aktualisiert",
"cpu": "CPU",
"memory": "RAM",
"disk": "Festplatte",
"network": "NET"
},
"argocd": {
"apps": "Anwendungen",
"synced": "Synchronisiert",
"outOfSync": "Nicht mehr synchronisiert",
"healthy": "Fehlerfrei",
"degraded": "Beeinträchtigt",
"progressing": "Fortschritt",
"missing": "Fehlend",
"suspended": "Unterbrochen"
},
"spoolman": {
"loading": "Wird geladen"
},
"gitlab": {
"groups": "Gruppen",
"issues": "Probleme",
"merges": "Merge Requests",
"projects": "Projekte"
}
}

View File

@@ -13,7 +13,7 @@
"ms": "{{value, number}}",
"date": "{{value, date}}",
"relativeDate": "{{value, relativeDate}}",
"duration": "{{value, duration}}",
"uptime": "{{value, uptime}}",
"months": "mo",
"days": "d",
"hours": "h",
@@ -120,7 +120,7 @@
"grid_power": "Πλέγμα",
"home_power": "Κατανάλωση",
"charge_power": "Φορτιστής",
"kilowatt": "kW"
"watt_hour": "Wh"
},
"flood": {
"download": "Λήξη",
@@ -309,16 +309,6 @@
"stopped": "Σταματημένο",
"total": "Σύνολο"
},
"suwayomi": {
"download": "Κατεβασμένο",
"nondownload": "Non-Downloaded",
"read": "Διαβάστηκε",
"unread": "Μη Διαβασμένο",
"downloadedread": "Downloaded & Read",
"downloadedunread": "Downloaded & Unread",
"nondownloadedread": "Non-Downloaded & Read",
"nondownloadedunread": "Non-Downloaded & Unread"
},
"tailscale": {
"address": "Διεύθυνση",
"expires": "Λήγει",
@@ -963,49 +953,5 @@
"reminders": "Reminders",
"nextReminder": "Next Reminder",
"none": "None"
},
"vikunja": {
"projects": "Active Projects",
"tasks7d": "Tasks Due This Week",
"tasksOverdue": "Overdue Tasks",
"tasksInProgress": "Tasks In Progress"
},
"headscale": {
"name": "Όνομα",
"address": "Διεύθυνση",
"last_seen": "Τελευταία Σύνδεση",
"status": "Κατάσταση",
"online": "Συνδεδεμένοι",
"offline": "Εκτός σύνδεσης"
},
"beszel": {
"name": "Όνομα",
"systems": "Systems",
"up": "Ping up",
"status": "Κατάσταση",
"updated": "Ενημερώθηκε",
"cpu": "Επεξεργαστής",
"memory": "Μνήμη",
"disk": "Disk",
"network": "NET"
},
"argocd": {
"apps": "Apps",
"synced": "Synced",
"outOfSync": "Out Of Sync",
"healthy": "Υγειές",
"degraded": "Degraded",
"progressing": "Progressing",
"missing": "Απουσιάζει",
"suspended": "Suspended"
},
"spoolman": {
"loading": "Loading"
},
"gitlab": {
"groups": "Groups",
"issues": "Issues",
"merges": "Merge Requests",
"projects": "Projects"
}
}

View File

@@ -120,7 +120,7 @@
"grid_power": "Grid",
"home_power": "Consumption",
"charge_power": "Charger",
"kilowatt": "kW"
"watt_hour": "Wh"
},
"flood": {
"download": "Download",
@@ -988,24 +988,5 @@
"memory": "MEM",
"disk": "Disk",
"network": "NET"
},
"argocd": {
"apps": "Apps",
"synced": "Synced",
"outOfSync": "Out Of Sync",
"healthy": "Healthy",
"degraded": "Degraded",
"progressing": "Progressing",
"missing": "Missing",
"suspended": "Suspended"
},
"spoolman": {
"loading": "Loading"
},
"gitlab": {
"groups": "Groups",
"issues": "Issues",
"merges": "Merge Requests",
"projects": "Projects"
}
}

View File

@@ -13,7 +13,7 @@
"ms": "{{value, number}}",
"date": "{{value, date}}",
"relativeDate": "{{value, relativeDate}}",
"duration": "{{value, duration}}",
"uptime": "{{value, uptime}}",
"months": "mo",
"days": "d",
"hours": "h",
@@ -120,7 +120,7 @@
"grid_power": "Grid",
"home_power": "Consumption",
"charge_power": "Charger",
"kilowatt": "kW"
"watt_hour": "Wh"
},
"flood": {
"download": "Elŝuti",
@@ -309,16 +309,6 @@
"stopped": "Stopped",
"total": "Totalo"
},
"suwayomi": {
"download": "Downloaded",
"nondownload": "Non-Downloaded",
"read": "Read",
"unread": "Unread",
"downloadedread": "Downloaded & Read",
"downloadedunread": "Downloaded & Unread",
"nondownloadedread": "Non-Downloaded & Read",
"nondownloadedunread": "Non-Downloaded & Unread"
},
"tailscale": {
"address": "Address",
"expires": "Expires",
@@ -963,49 +953,5 @@
"reminders": "Reminders",
"nextReminder": "Next Reminder",
"none": "None"
},
"vikunja": {
"projects": "Active Projects",
"tasks7d": "Tasks Due This Week",
"tasksOverdue": "Overdue Tasks",
"tasksInProgress": "Tasks In Progress"
},
"headscale": {
"name": "Name",
"address": "Address",
"last_seen": "Last Seen",
"status": "Stato",
"online": "Online",
"offline": "Malkonekta"
},
"beszel": {
"name": "Name",
"systems": "Systems",
"up": "Up",
"status": "Stato",
"updated": "Updated",
"cpu": "Ĉefprocesoro",
"memory": "MEM",
"disk": "Disk",
"network": "NET"
},
"argocd": {
"apps": "Apps",
"synced": "Synced",
"outOfSync": "Out Of Sync",
"healthy": "Sana",
"degraded": "Degraded",
"progressing": "Progressing",
"missing": "Missing",
"suspended": "Suspended"
},
"spoolman": {
"loading": "Loading"
},
"gitlab": {
"groups": "Groups",
"issues": "Issues",
"merges": "Merge Requests",
"projects": "Projects"
}
}

View File

@@ -13,7 +13,7 @@
"ms": "{{value, number}}",
"date": "{{value, date}}",
"relativeDate": "{{value, relativeDate}}",
"duration": "{{value, duration}}",
"uptime": "{{value, uptime}}",
"months": "me",
"days": "d",
"hours": "h",
@@ -120,7 +120,7 @@
"grid_power": "Red",
"home_power": "Consumo",
"charge_power": "Cargador",
"kilowatt": "kW"
"watt_hour": "vatio-hora (Wh)"
},
"flood": {
"download": "Descarga",
@@ -309,16 +309,6 @@
"stopped": "Detenido",
"total": "Total"
},
"suwayomi": {
"download": "Descargado",
"nondownload": "Non-Downloaded",
"read": "Leer",
"unread": "Sin leer",
"downloadedread": "Downloaded & Read",
"downloadedunread": "Downloaded & Unread",
"nondownloadedread": "Non-Downloaded & Read",
"nondownloadedunread": "Non-Downloaded & Unread"
},
"tailscale": {
"address": "Dirección",
"expires": "Caduca en",
@@ -963,49 +953,5 @@
"reminders": "Recordatorios",
"nextReminder": "Siguiente recordatorio",
"none": "Nada"
},
"vikunja": {
"projects": "Proyectos activos",
"tasks7d": "Tareas que vencen esta semana",
"tasksOverdue": "Tareas vencidas",
"tasksInProgress": "Tareas en progreso"
},
"headscale": {
"name": "Nombre",
"address": "Dirección",
"last_seen": "Visto por última vez",
"status": "Estado",
"online": "En línea",
"offline": "Desconectado"
},
"beszel": {
"name": "Nombre",
"systems": "Systems",
"up": "Activo",
"status": "Estado",
"updated": "Actualizado",
"cpu": "CPU",
"memory": "MEM",
"disk": "Disk",
"network": "NET"
},
"argocd": {
"apps": "Apps",
"synced": "Synced",
"outOfSync": "Out Of Sync",
"healthy": "Saludable",
"degraded": "Degraded",
"progressing": "Progressing",
"missing": "Faltantes",
"suspended": "Suspended"
},
"spoolman": {
"loading": "Cargando"
},
"gitlab": {
"groups": "Groups",
"issues": "Números",
"merges": "Merge Requests",
"projects": "Projects"
}
}

View File

@@ -13,7 +13,7 @@
"ms": "{{value, number}}",
"date": "{{value, date}}",
"relativeDate": "{{value, relativeDate}}",
"duration": "{{value, duration}}",
"uptime": "{{value, uptime}}",
"months": "mo",
"days": "d",
"hours": "h",
@@ -120,7 +120,7 @@
"grid_power": "Grid",
"home_power": "Consumption",
"charge_power": "Charger",
"kilowatt": "kW"
"watt_hour": "Wh"
},
"flood": {
"download": "Download",
@@ -309,16 +309,6 @@
"stopped": "Stopped",
"total": "Guztira"
},
"suwayomi": {
"download": "Downloaded",
"nondownload": "Non-Downloaded",
"read": "Read",
"unread": "Unread",
"downloadedread": "Downloaded & Read",
"downloadedunread": "Downloaded & Unread",
"nondownloadedread": "Non-Downloaded & Read",
"nondownloadedunread": "Non-Downloaded & Unread"
},
"tailscale": {
"address": "Address",
"expires": "Expires",
@@ -963,49 +953,5 @@
"reminders": "Reminders",
"nextReminder": "Next Reminder",
"none": "None"
},
"vikunja": {
"projects": "Active Projects",
"tasks7d": "Tasks Due This Week",
"tasksOverdue": "Overdue Tasks",
"tasksInProgress": "Tasks In Progress"
},
"headscale": {
"name": "Name",
"address": "Address",
"last_seen": "Last Seen",
"status": "Status",
"online": "Online",
"offline": "Offline"
},
"beszel": {
"name": "Name",
"systems": "Systems",
"up": "Up",
"status": "Status",
"updated": "Updated",
"cpu": "CPU",
"memory": "MEM",
"disk": "Disk",
"network": "NET"
},
"argocd": {
"apps": "Apps",
"synced": "Synced",
"outOfSync": "Out Of Sync",
"healthy": "Osasuntsu",
"degraded": "Degraded",
"progressing": "Progressing",
"missing": "Missing",
"suspended": "Suspended"
},
"spoolman": {
"loading": "Loading"
},
"gitlab": {
"groups": "Groups",
"issues": "Issues",
"merges": "Merge Requests",
"projects": "Projects"
}
}

View File

@@ -13,7 +13,7 @@
"ms": "{{value, number}}",
"date": "{{value, date}}",
"relativeDate": "{{value, relativeDate}}",
"duration": "{{value, duration}}",
"uptime": "{{value, uptime}}",
"months": "mo",
"days": "d",
"hours": "h",
@@ -120,7 +120,7 @@
"grid_power": "Grid",
"home_power": "Consumption",
"charge_power": "Charger",
"kilowatt": "kW"
"watt_hour": "Wh"
},
"flood": {
"download": "Download",
@@ -309,16 +309,6 @@
"stopped": "Pysäytetty",
"total": "Yhteensä"
},
"suwayomi": {
"download": "Ladattu",
"nondownload": "Non-Downloaded",
"read": "Read",
"unread": "Unread",
"downloadedread": "Downloaded & Read",
"downloadedunread": "Downloaded & Unread",
"nondownloadedread": "Non-Downloaded & Read",
"nondownloadedunread": "Non-Downloaded & Unread"
},
"tailscale": {
"address": "Address",
"expires": "Expires",
@@ -963,49 +953,5 @@
"reminders": "Reminders",
"nextReminder": "Next Reminder",
"none": "None"
},
"vikunja": {
"projects": "Active Projects",
"tasks7d": "Tasks Due This Week",
"tasksOverdue": "Overdue Tasks",
"tasksInProgress": "Tasks In Progress"
},
"headscale": {
"name": "Name",
"address": "Address",
"last_seen": "Last Seen",
"status": "Tila",
"online": "Online",
"offline": "Offline"
},
"beszel": {
"name": "Name",
"systems": "Systems",
"up": "Up",
"status": "Tila",
"updated": "Updated",
"cpu": "CPU",
"memory": "MEM",
"disk": "Disk",
"network": "NET"
},
"argocd": {
"apps": "Apps",
"synced": "Synced",
"outOfSync": "Out Of Sync",
"healthy": "Healthy",
"degraded": "Degraded",
"progressing": "Progressing",
"missing": "Missing",
"suspended": "Suspended"
},
"spoolman": {
"loading": "Loading"
},
"gitlab": {
"groups": "Groups",
"issues": "Issues",
"merges": "Merge Requests",
"projects": "Projects"
}
}

View File

@@ -13,7 +13,7 @@
"ms": "{{value, number}}",
"date": "{{value, date}}",
"relativeDate": "{{value, relativeDate}}",
"duration": "{{value, duration}}",
"uptime": "{{value, uptime}}",
"months": "mo",
"days": "j",
"hours": "h",
@@ -120,7 +120,7 @@
"grid_power": "Grille",
"home_power": "Consommation",
"charge_power": "Chargeur",
"kilowatt": "kW"
"watt_hour": "Wh"
},
"flood": {
"download": "Récep.",
@@ -227,8 +227,8 @@
"seed": "Seed"
},
"develancacheui": {
"cachehitbytes": "Octets de la mémoire cache",
"cachemissbytes": "Octets manquants du cache"
"cachehitbytes": "Cache Hit Bytes",
"cachemissbytes": "Cache Miss Bytes"
},
"downloadstation": {
"download": "Récep.",
@@ -309,16 +309,6 @@
"stopped": "Arrêté",
"total": "Total"
},
"suwayomi": {
"download": "Téléchargé",
"nondownload": "Non téléchargé",
"read": "Lu",
"unread": "Non lu",
"downloadedread": "Téléchargé et lu",
"downloadedunread": "Téléchargé et non lu",
"nondownloadedread": "Non téléchargé et lu",
"nondownloadedunread": "Non téléchargé et non lu"
},
"tailscale": {
"address": "Adresse",
"expires": "Expire",
@@ -335,15 +325,15 @@
},
"technitium": {
"totalQueries": "Requêtes",
"totalNoError": "Effectué avec succès",
"totalServerFailure": "Échecs",
"totalNxDomain": "Domaines NX",
"totalRefused": "Refusés",
"totalAuthoritative": "Autoritaire",
"totalRecursive": "Récursif",
"totalCached": "Mis en cache",
"totalNoError": "Success",
"totalServerFailure": "Failures",
"totalNxDomain": "NX Domains",
"totalRefused": "Refused",
"totalAuthoritative": "Authoritative",
"totalRecursive": "Recursive",
"totalCached": "Cached",
"totalBlocked": "Bloqué",
"totalDropped": "Abandonné",
"totalDropped": "Dropped",
"totalClients": "Clients"
},
"tdarr": {
@@ -766,7 +756,7 @@
"books": "Livres",
"authors": "Auteurs",
"categories": "Catégories",
"series": "Séries TV"
"series": "Séries"
},
"jdownloader": {
"downloadCount": "En attente",
@@ -854,16 +844,16 @@
},
"romm": {
"platforms": "Plateformes",
"totalRoms": "Jeux",
"saves": "Sauvegardes",
"states": "États",
"screenshots": "Captures d'écran",
"totalfilesize": "Taille totale"
"totalRoms": "Games",
"saves": "Saves",
"states": "States",
"screenshots": "Screenshots",
"totalfilesize": "Total Size"
},
"mailcow": {
"domains": "Domaines",
"mailboxes": "Boites mail",
"mails": "Courriels",
"mailboxes": "Mailboxes",
"mails": "Mails",
"storage": "Stockage"
},
"netdata": {
@@ -932,80 +922,36 @@
"upload": "Envoi"
},
"stocks": {
"stocks": "Actions",
"loading": "Chargement",
"open": "Ouvert - Marché américain",
"closed": "Fermé - marché américain",
"invalidConfiguration": "Configuration invalide"
"stocks": "Stocks",
"loading": "Loading",
"open": "Open - US Market",
"closed": "Closed - US Market",
"invalidConfiguration": "Invalid Configuration"
},
"frigate": {
"cameras": "Caméras",
"cameras": "Cameras",
"uptime": "Démarré depuis",
"version": "Version"
},
"linkwarden": {
"links": "Liens",
"links": "Links",
"collections": "Collections",
"tags": "Étiquettes"
},
"zabbix": {
"unclassified": "Non classé",
"unclassified": "Not classified",
"information": "Informations",
"warning": "Attention",
"average": "Moyenne",
"high": "Élevé",
"disaster": ""
"warning": "Warning",
"average": "Average",
"high": "High",
"disaster": "Disaster"
},
"lubelogger": {
"vehicle": "Véhicule",
"vehicles": "Véhicules",
"serviceRecords": "Service d'enregistrements",
"reminders": "Rappels",
"nextReminder": "Prochain rappel",
"none": "Aucun"
},
"vikunja": {
"projects": "Projets actifs",
"tasks7d": "Tâches à faire cette semaine",
"tasksOverdue": "Tâches en retard",
"tasksInProgress": "Tâche en cours"
},
"headscale": {
"name": "Nom",
"address": "Adresse",
"last_seen": "Vu pour la dernière fois",
"status": "Statut",
"online": "En ligne",
"offline": "Hors ligne"
},
"beszel": {
"name": "Nom",
"systems": "Systèmes",
"up": "Up",
"status": "Statut",
"updated": "Mis à jour",
"cpu": "CPU",
"memory": "MÉM",
"disk": "Disque",
"network": "Réseau"
},
"argocd": {
"apps": "Apps",
"synced": "Synced",
"outOfSync": "Out Of Sync",
"healthy": "Fonctionnel",
"degraded": "Degraded",
"progressing": "Progressing",
"missing": "Manquant",
"suspended": "Suspended"
},
"spoolman": {
"loading": "Chargement"
},
"gitlab": {
"groups": "Groups",
"issues": "Anomalies",
"merges": "Merge Requests",
"projects": "Projects"
"vehicle": "Vehicle",
"vehicles": "Vehicles",
"serviceRecords": "Service Records",
"reminders": "Reminders",
"nextReminder": "Next Reminder",
"none": "None"
}
}

View File

@@ -13,7 +13,7 @@
"ms": "{{value, number}}",
"date": "{{value, date}}",
"relativeDate": "{{value, relativeDate}}",
"duration": "{{value, duration}}",
"uptime": "{{value, uptime}}",
"months": "mo",
"days": "d",
"hours": "h",
@@ -120,7 +120,7 @@
"grid_power": "Grid",
"home_power": "Consumption",
"charge_power": "Charger",
"kilowatt": "kW"
"watt_hour": "Wh"
},
"flood": {
"download": "Download",
@@ -309,16 +309,6 @@
"stopped": "נעצר",
"total": "סה\"כ"
},
"suwayomi": {
"download": "הורד",
"nondownload": "Non-Downloaded",
"read": "Read",
"unread": "Unread",
"downloadedread": "Downloaded & Read",
"downloadedunread": "Downloaded & Unread",
"nondownloadedread": "Non-Downloaded & Read",
"nondownloadedunread": "Non-Downloaded & Unread"
},
"tailscale": {
"address": "Address",
"expires": "Expires",
@@ -963,49 +953,5 @@
"reminders": "Reminders",
"nextReminder": "Next Reminder",
"none": "None"
},
"vikunja": {
"projects": "Active Projects",
"tasks7d": "Tasks Due This Week",
"tasksOverdue": "Overdue Tasks",
"tasksInProgress": "Tasks In Progress"
},
"headscale": {
"name": "Name",
"address": "Address",
"last_seen": "Last Seen",
"status": "סטטוס",
"online": "Online",
"offline": "כבוי"
},
"beszel": {
"name": "Name",
"systems": "Systems",
"up": "Up",
"status": "סטטוס",
"updated": "Updated",
"cpu": "CPU",
"memory": "MEM",
"disk": "Disk",
"network": "NET"
},
"argocd": {
"apps": "Apps",
"synced": "Synced",
"outOfSync": "Out Of Sync",
"healthy": "Healthy",
"degraded": "Degraded",
"progressing": "Progressing",
"missing": "Missing",
"suspended": "Suspended"
},
"spoolman": {
"loading": "Loading"
},
"gitlab": {
"groups": "Groups",
"issues": "Issues",
"merges": "Merge Requests",
"projects": "Projects"
}
}

View File

@@ -13,7 +13,7 @@
"ms": "{{value, number}}",
"date": "{value, date}",
"relativeDate": "{{value, relativeDate}}",
"duration": "{{value, duration}}",
"uptime": "{{value, uptime}}",
"months": "माह",
"days": "d",
"hours": "घं.",
@@ -120,7 +120,7 @@
"grid_power": "Grid",
"home_power": "Consumption",
"charge_power": "Charger",
"kilowatt": "kW"
"watt_hour": "Wh"
},
"flood": {
"download": "Download",
@@ -309,16 +309,6 @@
"stopped": "Stopped",
"total": "Total"
},
"suwayomi": {
"download": "Downloaded",
"nondownload": "Non-Downloaded",
"read": "Read",
"unread": "Unread",
"downloadedread": "Downloaded & Read",
"downloadedunread": "Downloaded & Unread",
"nondownloadedread": "Non-Downloaded & Read",
"nondownloadedunread": "Non-Downloaded & Unread"
},
"tailscale": {
"address": "Address",
"expires": "Expires",
@@ -963,49 +953,5 @@
"reminders": "Reminders",
"nextReminder": "Next Reminder",
"none": "None"
},
"vikunja": {
"projects": "Active Projects",
"tasks7d": "Tasks Due This Week",
"tasksOverdue": "Overdue Tasks",
"tasksInProgress": "Tasks In Progress"
},
"headscale": {
"name": "Name",
"address": "Address",
"last_seen": "Last Seen",
"status": "Status",
"online": "Online",
"offline": "Offline"
},
"beszel": {
"name": "Name",
"systems": "Systems",
"up": "Up",
"status": "Status",
"updated": "Updated",
"cpu": "CPU",
"memory": "MEM",
"disk": "Disk",
"network": "NET"
},
"argocd": {
"apps": "Apps",
"synced": "Synced",
"outOfSync": "Out Of Sync",
"healthy": "Healthy",
"degraded": "Degraded",
"progressing": "Progressing",
"missing": "Missing",
"suspended": "Suspended"
},
"spoolman": {
"loading": "Loading"
},
"gitlab": {
"groups": "Groups",
"issues": "Issues",
"merges": "Merge Requests",
"projects": "Projects"
}
}

View File

@@ -13,7 +13,7 @@
"ms": "{{value, number}}",
"date": "{{value, date}}",
"relativeDate": "{{value, relativeDate}}",
"duration": "{{value, duration}}",
"uptime": "{{value, uptime}}",
"months": "mj",
"days": "dan(a)",
"hours": "h",
@@ -120,7 +120,7 @@
"grid_power": "Raspored",
"home_power": "Potrošnja",
"charge_power": "Punjač",
"kilowatt": "kW"
"watt_hour": "Kilovat-sat"
},
"flood": {
"download": "Preuzimanje",
@@ -309,16 +309,6 @@
"stopped": "Prekinuto",
"total": "Ukupno"
},
"suwayomi": {
"download": "Preuzeto",
"nondownload": "Non-Downloaded",
"read": "Pročitano",
"unread": "Nepročitano",
"downloadedread": "Downloaded & Read",
"downloadedunread": "Downloaded & Unread",
"nondownloadedread": "Non-Downloaded & Read",
"nondownloadedunread": "Non-Downloaded & Unread"
},
"tailscale": {
"address": "Adresa",
"expires": "Isteče",
@@ -854,11 +844,11 @@
},
"romm": {
"platforms": "Platforme",
"totalRoms": "Igre",
"totalRoms": "Games",
"saves": "Saves",
"states": "States",
"screenshots": "Snimke ekrana",
"totalfilesize": "Ukupna veličina"
"screenshots": "Screenshots",
"totalfilesize": "Total Size"
},
"mailcow": {
"domains": "Domene",
@@ -939,19 +929,19 @@
"invalidConfiguration": "Invalid Configuration"
},
"frigate": {
"cameras": "Kamere",
"cameras": "Cameras",
"uptime": "Vrijeme rada",
"version": "Verzija"
},
"linkwarden": {
"links": "Poveznice",
"collections": "Zbirke",
"links": "Links",
"collections": "Collections",
"tags": "Oznake"
},
"zabbix": {
"unclassified": "Not classified",
"information": "Informacije",
"warning": "Upozorenje",
"warning": "Warning",
"average": "Average",
"high": "High",
"disaster": "Disaster"
@@ -960,52 +950,8 @@
"vehicle": "Vehicle",
"vehicles": "Vehicles",
"serviceRecords": "Service Records",
"reminders": "Podsjetnici",
"nextReminder": "Sljedeći podsjetnik",
"reminders": "Reminders",
"nextReminder": "Next Reminder",
"none": "None"
},
"vikunja": {
"projects": "Active Projects",
"tasks7d": "Tasks Due This Week",
"tasksOverdue": "Overdue Tasks",
"tasksInProgress": "Tasks In Progress"
},
"headscale": {
"name": "Ime",
"address": "Adresa",
"last_seen": "Zadnje viđeno",
"status": "Stanje",
"online": "Online",
"offline": "Offline"
},
"beszel": {
"name": "Ime",
"systems": "Systems",
"up": "Dostupno",
"status": "Stanje",
"updated": "Aktualizirano",
"cpu": "CPU",
"memory": "MEM",
"disk": "Disk",
"network": "NET"
},
"argocd": {
"apps": "Apps",
"synced": "Synced",
"outOfSync": "Out Of Sync",
"healthy": "Funkcionalno",
"degraded": "Degraded",
"progressing": "Progressing",
"missing": "Nedostaje",
"suspended": "Suspended"
},
"spoolman": {
"loading": "Loading"
},
"gitlab": {
"groups": "Groups",
"issues": "Problemi",
"merges": "Merge Requests",
"projects": "Projects"
}
}

View File

@@ -13,7 +13,7 @@
"ms": "{{value, number}}",
"date": "{{value, date}}",
"relativeDate": "{{value, relativeDate}}",
"duration": "{{value, duration}}",
"uptime": "{{value, uptime}}",
"months": "hó",
"days": "n",
"hours": "ó",
@@ -25,7 +25,7 @@
"api_error": "API Hiba",
"information": "Információ",
"status": "Státusz",
"url": "URL",
"url": "LINK",
"raw_error": "Nyers hiba",
"response_data": "Válaszadatok"
},
@@ -120,7 +120,7 @@
"grid_power": "Rács",
"home_power": "Fogyasztás",
"charge_power": "Töltő",
"kilowatt": "kW"
"watt_hour": "Wh"
},
"flood": {
"download": "Letöltés",
@@ -227,8 +227,8 @@
"seed": "Seed"
},
"develancacheui": {
"cachehitbytes": "Gyorsítótárban Sikeres Bitek",
"cachemissbytes": "Gyorsítótárban Hibás Bitek"
"cachehitbytes": "Cache Hit Bytes",
"cachemissbytes": "Cache Miss Bytes"
},
"downloadstation": {
"download": "Letöltés",
@@ -309,16 +309,6 @@
"stopped": "Megállított",
"total": "Összes"
},
"suwayomi": {
"download": "Letöltött",
"nondownload": "Nem Letöltött",
"read": "Olvasott",
"unread": "Olvasatlan",
"downloadedread": "Letöltött & Olvasott",
"downloadedunread": "Letöltött & Olvasatlan",
"nondownloadedread": "Nem Letöltött & Olvasatlan",
"nondownloadedunread": "Nem Letöltött & Olvasatlan"
},
"tailscale": {
"address": "Cím",
"expires": "Lejár",
@@ -335,15 +325,15 @@
},
"technitium": {
"totalQueries": "Lekérdezések",
"totalNoError": "Sikerek",
"totalServerFailure": "Hibák",
"totalNxDomain": "NX Domainek",
"totalRefused": "Elutasított",
"totalAuthoritative": "Irányadó",
"totalRecursive": "Rekurzív",
"totalCached": "Gyorsítótárazott",
"totalNoError": "Success",
"totalServerFailure": "Failures",
"totalNxDomain": "NX Domains",
"totalRefused": "Refused",
"totalAuthoritative": "Authoritative",
"totalRecursive": "Recursive",
"totalCached": "Cached",
"totalBlocked": "Blokkolt",
"totalDropped": "Eldobott",
"totalDropped": "Dropped",
"totalClients": "Kliensek"
},
"tdarr": {
@@ -453,7 +443,7 @@
"search": "Keresés",
"custom": "Egyedi",
"visit": "Megnéz",
"url": "URL",
"url": "LINK",
"searchsuggestion": "Javaslat"
},
"wmo": {
@@ -854,16 +844,16 @@
},
"romm": {
"platforms": "Felület",
"totalRoms": "Játékok",
"saves": "Mentések",
"states": "Állapotok",
"screenshots": "Képernyőképek",
"totalfilesize": "Teljes méret"
"totalRoms": "Games",
"saves": "Saves",
"states": "States",
"screenshots": "Screenshots",
"totalfilesize": "Total Size"
},
"mailcow": {
"domains": "Domainek",
"mailboxes": "E-mail fiókok",
"mails": "Mailek",
"mailboxes": "Mailboxes",
"mails": "Mails",
"storage": "Tárhely"
},
"netdata": {
@@ -912,7 +902,7 @@
},
"crowdsec": {
"alerts": "Riasztások",
"bans": "Kitiltások"
"bans": "Bans"
},
"wgeasy": {
"connected": "Csatlakozva",
@@ -921,10 +911,10 @@
"total": "Összes"
},
"swagdashboard": {
"proxied": "Proxyzott",
"auth": "Hitelesítéssel",
"outdated": "Elavult",
"banned": "Kitiltott"
"proxied": "Proxied",
"auth": "With Auth",
"outdated": "Outdated",
"banned": "Banned"
},
"myspeed": {
"ping": "Ping",
@@ -932,29 +922,29 @@
"upload": "Feltöltés"
},
"stocks": {
"stocks": "Tőzsde",
"loading": "Betöltés",
"open": "Nyitva - US Piac",
"closed": "Zárva - US Piac",
"invalidConfiguration": "Érvénytelen konfiguráció"
"stocks": "Stocks",
"loading": "Loading",
"open": "Open - US Market",
"closed": "Closed - US Market",
"invalidConfiguration": "Invalid Configuration"
},
"frigate": {
"cameras": "Kamerák",
"cameras": "Cameras",
"uptime": "Üzemidő",
"version": "Verzió"
},
"linkwarden": {
"links": "Linkek",
"collections": "Gyűjtemény",
"links": "Links",
"collections": "Collections",
"tags": "Címkék"
},
"zabbix": {
"unclassified": "Nem titkosított",
"unclassified": "Not classified",
"information": "Információ",
"warning": "Figyelmeztetés",
"average": "Átlag",
"high": "Magas",
"disaster": "Katasztrófa"
"warning": "Warning",
"average": "Average",
"high": "High",
"disaster": "Disaster"
},
"lubelogger": {
"vehicle": "Jármű",
@@ -962,50 +952,6 @@
"serviceRecords": "Szolgáltatások nyílvántartása",
"reminders": "Emlékeztetők",
"nextReminder": "Következő emlékeztető",
"none": "Semmi"
},
"vikunja": {
"projects": "Aktív Projektek",
"tasks7d": "Hátralévő feladatok a héten",
"tasksOverdue": "Lejárt feladatok",
"tasksInProgress": "Folyamatban levő Feladatok"
},
"headscale": {
"name": "Név",
"address": "Cím",
"last_seen": "Utoljára látott",
"status": "Státusz",
"online": "Csatlakozva",
"offline": "Nem elérhető"
},
"beszel": {
"name": "Név",
"systems": "Rendszerek",
"up": "Fel",
"status": "Státusz",
"updated": "Frissített",
"cpu": "Processzor",
"memory": "RAM",
"disk": "Lemez",
"network": "Hálózat"
},
"argocd": {
"apps": "Alkalmazások",
"synced": "Szinkronizált",
"outOfSync": "Nincs szinkronban",
"healthy": "Egészséges",
"degraded": "Leépült",
"progressing": "Halad",
"missing": "Hiányzik",
"suspended": "Felfüggesztett"
},
"spoolman": {
"loading": "Betöltés"
},
"gitlab": {
"groups": "Csoportok",
"issues": "Problémák",
"merges": "Merge kérések",
"projects": "Projektek"
"none": "None"
}
}

View File

@@ -13,7 +13,7 @@
"ms": "{{value, number}}",
"date": "{{value, date}}",
"relativeDate": "{{value, relativeDate}}",
"duration": "{{value, duration}}",
"uptime": "{{value, uptime}}",
"months": "bulan",
"days": "h",
"hours": "j",
@@ -120,7 +120,7 @@
"grid_power": "Grid",
"home_power": "Konsumsi",
"charge_power": "Charger",
"kilowatt": "kW"
"watt_hour": "Watt/jam"
},
"flood": {
"download": "Unduh",
@@ -309,16 +309,6 @@
"stopped": "Terhenti",
"total": "Total"
},
"suwayomi": {
"download": "Terunduh",
"nondownload": "Non-Downloaded",
"read": "Baca",
"unread": "Belum Dibaca",
"downloadedread": "Downloaded & Read",
"downloadedunread": "Downloaded & Unread",
"nondownloadedread": "Non-Downloaded & Read",
"nondownloadedunread": "Non-Downloaded & Unread"
},
"tailscale": {
"address": "Alamat",
"expires": "Kadaluarsa",
@@ -963,49 +953,5 @@
"reminders": "Reminders",
"nextReminder": "Next Reminder",
"none": "None"
},
"vikunja": {
"projects": "Active Projects",
"tasks7d": "Tasks Due This Week",
"tasksOverdue": "Overdue Tasks",
"tasksInProgress": "Tasks In Progress"
},
"headscale": {
"name": "Nama",
"address": "Alamat",
"last_seen": "Terakhir terlihat",
"status": "Status",
"online": "Online",
"offline": "Offline"
},
"beszel": {
"name": "Nama",
"systems": "Systems",
"up": "Hidup",
"status": "Status",
"updated": "Terbarui",
"cpu": "CPU",
"memory": "MEM",
"disk": "Disk",
"network": "NET"
},
"argocd": {
"apps": "Apps",
"synced": "Synced",
"outOfSync": "Out Of Sync",
"healthy": "Lancar",
"degraded": "Degraded",
"progressing": "Progressing",
"missing": "Tidak Ditemukan",
"suspended": "Suspended"
},
"spoolman": {
"loading": "Loading"
},
"gitlab": {
"groups": "Groups",
"issues": "Isu",
"merges": "Merge Requests",
"projects": "Projects"
}
}

View File

@@ -13,7 +13,7 @@
"ms": "{{value, number}}",
"date": "{{value, date}}",
"relativeDate": "{{value, relativeDate}}",
"duration": "{{value, duration}}",
"uptime": "{{value, uptime}}",
"months": "mo",
"days": "g",
"hours": "o",
@@ -120,7 +120,7 @@
"grid_power": "Griglia",
"home_power": "Consumo",
"charge_power": "Caricatore",
"kilowatt": "kW"
"watt_hour": "Wh"
},
"flood": {
"download": "Download",
@@ -309,16 +309,6 @@
"stopped": "Fermati",
"total": "Totale"
},
"suwayomi": {
"download": "Scaricato",
"nondownload": "Non-Downloaded",
"read": "Letti",
"unread": "Non letto",
"downloadedread": "Downloaded & Read",
"downloadedunread": "Downloaded & Unread",
"nondownloadedread": "Non-Downloaded & Read",
"nondownloadedunread": "Non-Downloaded & Unread"
},
"tailscale": {
"address": "Indirizzo",
"expires": "Scade",
@@ -963,49 +953,5 @@
"reminders": "Reminders",
"nextReminder": "Next Reminder",
"none": "None"
},
"vikunja": {
"projects": "Active Projects",
"tasks7d": "Tasks Due This Week",
"tasksOverdue": "Overdue Tasks",
"tasksInProgress": "Tasks In Progress"
},
"headscale": {
"name": "Nome",
"address": "Indirizzo",
"last_seen": "Ultima visualizzazione",
"status": "Stato",
"online": "Online",
"offline": "Non in linea"
},
"beszel": {
"name": "Nome",
"systems": "Systems",
"up": "Up",
"status": "Stato",
"updated": "Aggiornato",
"cpu": "CPU",
"memory": "MEM",
"disk": "Disk",
"network": "NET"
},
"argocd": {
"apps": "Apps",
"synced": "Synced",
"outOfSync": "Out Of Sync",
"healthy": "Sano",
"degraded": "Degraded",
"progressing": "Progressing",
"missing": "Mancanti",
"suspended": "Suspended"
},
"spoolman": {
"loading": "Loading"
},
"gitlab": {
"groups": "Groups",
"issues": "Problemi",
"merges": "Merge Requests",
"projects": "Projects"
}
}

View File

@@ -13,7 +13,7 @@
"ms": "{{value, number}}",
"date": "{{value, date}}",
"relativeDate": "{{value, relativeDate}}",
"duration": "{{value, duration}}",
"uptime": "{{value, uptime}}",
"months": "月",
"days": "日",
"hours": "時間",
@@ -120,7 +120,7 @@
"grid_power": "グリッド",
"home_power": "消費",
"charge_power": "チャージャー",
"kilowatt": "kW"
"watt_hour": "Wh"
},
"flood": {
"download": "ダウンロード",
@@ -309,16 +309,6 @@
"stopped": "停止中",
"total": "合計"
},
"suwayomi": {
"download": "ダウンロード",
"nondownload": "Non-Downloaded",
"read": "既読",
"unread": "未読",
"downloadedread": "Downloaded & Read",
"downloadedunread": "Downloaded & Unread",
"nondownloadedread": "Non-Downloaded & Read",
"nondownloadedunread": "Non-Downloaded & Unread"
},
"tailscale": {
"address": "アドレス",
"expires": "失効",
@@ -804,7 +794,7 @@
"ping": "Ping"
},
"urbackup": {
"ok": "正常",
"ok": "はい",
"errored": "エラー",
"noRecent": "期限切れ",
"totalUsed": "使用済みストレージ"
@@ -957,55 +947,11 @@
"disaster": "災害"
},
"lubelogger": {
"vehicle": "車両",
"vehicle": "Vehicle",
"vehicles": "Vehicles",
"serviceRecords": "Service Records",
"reminders": "Reminders",
"nextReminder": "Next Reminder",
"none": "None"
},
"vikunja": {
"projects": "Active Projects",
"tasks7d": "Tasks Due This Week",
"tasksOverdue": "Overdue Tasks",
"tasksInProgress": "Tasks In Progress"
},
"headscale": {
"name": "名前",
"address": "アドレス",
"last_seen": "最終日時",
"status": "状態",
"online": "オンライン",
"offline": "オフライン"
},
"beszel": {
"name": "名前",
"systems": "Systems",
"up": "稼働",
"status": "状態",
"updated": "更新済",
"cpu": "CPU",
"memory": "MEM",
"disk": "Disk",
"network": "NET"
},
"argocd": {
"apps": "Apps",
"synced": "Synced",
"outOfSync": "Out Of Sync",
"healthy": "正常",
"degraded": "Degraded",
"progressing": "Progressing",
"missing": "不明",
"suspended": "Suspended"
},
"spoolman": {
"loading": "読み込み中"
},
"gitlab": {
"groups": "Groups",
"issues": "課題",
"merges": "Merge Requests",
"projects": "Projects"
}
}

View File

@@ -13,7 +13,7 @@
"ms": "{{value, number}}",
"date": "{{value, date}}",
"relativeDate": "{{value, relativeDate}}",
"duration": "{{value, duration}}",
"uptime": "{{value, uptime}}",
"months": "mo",
"days": "d",
"hours": "h",
@@ -120,7 +120,7 @@
"grid_power": "눈금",
"home_power": "Consumption",
"charge_power": "Charger",
"kilowatt": "kW"
"watt_hour": "Wh"
},
"flood": {
"download": "다운로드",
@@ -309,16 +309,6 @@
"stopped": "중지",
"total": "총합"
},
"suwayomi": {
"download": "다운로드됨",
"nondownload": "Non-Downloaded",
"read": "읽음",
"unread": "미열람",
"downloadedread": "Downloaded & Read",
"downloadedunread": "Downloaded & Unread",
"nondownloadedread": "Non-Downloaded & Read",
"nondownloadedunread": "Non-Downloaded & Unread"
},
"tailscale": {
"address": "주소",
"expires": "만료",
@@ -963,49 +953,5 @@
"reminders": "Reminders",
"nextReminder": "Next Reminder",
"none": "None"
},
"vikunja": {
"projects": "Active Projects",
"tasks7d": "Tasks Due This Week",
"tasksOverdue": "Overdue Tasks",
"tasksInProgress": "Tasks In Progress"
},
"headscale": {
"name": "이름",
"address": "주소",
"last_seen": "마지막 접속",
"status": "상태",
"online": "온라인",
"offline": "중지"
},
"beszel": {
"name": "이름",
"systems": "Systems",
"up": "Up",
"status": "상태",
"updated": "Updated",
"cpu": "CPU",
"memory": "MEM",
"disk": "Disk",
"network": "NET"
},
"argocd": {
"apps": "Apps",
"synced": "Synced",
"outOfSync": "Out Of Sync",
"healthy": "좋음",
"degraded": "Degraded",
"progressing": "Progressing",
"missing": "빠짐",
"suspended": "Suspended"
},
"spoolman": {
"loading": "로드 중"
},
"gitlab": {
"groups": "Groups",
"issues": "Issues",
"merges": "Merge Requests",
"projects": "Projects"
}
}

View File

@@ -13,7 +13,7 @@
"ms": "{{value, number}}",
"date": "{{value, date}}",
"relativeDate": "{{value, relativeDate}}",
"duration": "{{value, duration}}",
"uptime": "{{value, uptime}}",
"months": "mo",
"days": "d",
"hours": "h",
@@ -120,7 +120,7 @@
"grid_power": "Grid",
"home_power": "Consumption",
"charge_power": "Charger",
"kilowatt": "kW"
"watt_hour": "Wh"
},
"flood": {
"download": "Lejupielāde",
@@ -309,16 +309,6 @@
"stopped": "Stopped",
"total": "Kopā"
},
"suwayomi": {
"download": "Lejupielādēts",
"nondownload": "Non-Downloaded",
"read": "Read",
"unread": "Unread",
"downloadedread": "Downloaded & Read",
"downloadedunread": "Downloaded & Unread",
"nondownloadedread": "Non-Downloaded & Read",
"nondownloadedunread": "Non-Downloaded & Unread"
},
"tailscale": {
"address": "Address",
"expires": "Expires",
@@ -963,49 +953,5 @@
"reminders": "Reminders",
"nextReminder": "Next Reminder",
"none": "None"
},
"vikunja": {
"projects": "Active Projects",
"tasks7d": "Tasks Due This Week",
"tasksOverdue": "Overdue Tasks",
"tasksInProgress": "Tasks In Progress"
},
"headscale": {
"name": "Name",
"address": "Address",
"last_seen": "Last Seen",
"status": "Statuss",
"online": "Online",
"offline": "Bezsaistē"
},
"beszel": {
"name": "Name",
"systems": "Systems",
"up": "Up",
"status": "Statuss",
"updated": "Updated",
"cpu": "CPU",
"memory": "MEM",
"disk": "Disk",
"network": "NET"
},
"argocd": {
"apps": "Apps",
"synced": "Synced",
"outOfSync": "Out Of Sync",
"healthy": "Healthy",
"degraded": "Degraded",
"progressing": "Progressing",
"missing": "Missing",
"suspended": "Suspended"
},
"spoolman": {
"loading": "Loading"
},
"gitlab": {
"groups": "Groups",
"issues": "Issues",
"merges": "Merge Requests",
"projects": "Projects"
}
}

View File

@@ -13,7 +13,7 @@
"ms": "{{value, number}}",
"date": "{{value, date}}",
"relativeDate": "{{value, relativeDate}}",
"duration": "{{value, duration}}",
"uptime": "{{value, uptime}}",
"months": "bln",
"days": "h",
"hours": "j",
@@ -120,7 +120,7 @@
"grid_power": "Grid",
"home_power": "Penggunaan",
"charge_power": "Pengecas",
"kilowatt": "kW"
"watt_hour": "Wj"
},
"flood": {
"download": "Muat turun",
@@ -309,16 +309,6 @@
"stopped": "Terhenti",
"total": "Jumlah"
},
"suwayomi": {
"download": "Telah Muat Turun",
"nondownload": "Non-Downloaded",
"read": "Baca",
"unread": "Belum dibaca",
"downloadedread": "Downloaded & Read",
"downloadedunread": "Downloaded & Unread",
"nondownloadedread": "Non-Downloaded & Read",
"nondownloadedunread": "Non-Downloaded & Unread"
},
"tailscale": {
"address": "Address",
"expires": "Expires",
@@ -963,49 +953,5 @@
"reminders": "Reminders",
"nextReminder": "Next Reminder",
"none": "None"
},
"vikunja": {
"projects": "Active Projects",
"tasks7d": "Tasks Due This Week",
"tasksOverdue": "Overdue Tasks",
"tasksInProgress": "Tasks In Progress"
},
"headscale": {
"name": "Nama",
"address": "Address",
"last_seen": "Last Seen",
"status": "Status",
"online": "Dalam Talian",
"offline": "Luar talian"
},
"beszel": {
"name": "Nama",
"systems": "Systems",
"up": "Hidup",
"status": "Status",
"updated": "Dikemaskini",
"cpu": "CPU",
"memory": "MEM",
"disk": "Disk",
"network": "NET"
},
"argocd": {
"apps": "Apps",
"synced": "Synced",
"outOfSync": "Out Of Sync",
"healthy": "Sihat",
"degraded": "Degraded",
"progressing": "Progressing",
"missing": "Hilang",
"suspended": "Suspended"
},
"spoolman": {
"loading": "Loading"
},
"gitlab": {
"groups": "Groups",
"issues": "Issues",
"merges": "Merge Requests",
"projects": "Projects"
}
}

View File

@@ -13,7 +13,7 @@
"ms": "{{value, number}}",
"date": "{{value, date}}",
"relativeDate": "{{value, relativeDate}}",
"duration": "{{value, duration}}",
"uptime": "{{value, uptime}}",
"months": "mnd",
"days": "d",
"hours": "u",
@@ -120,7 +120,7 @@
"grid_power": "Netstroom",
"home_power": "Consumptie",
"charge_power": "Oplader",
"kilowatt": "kW"
"watt_hour": "Wh"
},
"flood": {
"download": "Download",
@@ -309,16 +309,6 @@
"stopped": "Gestopt",
"total": "Totaal"
},
"suwayomi": {
"download": "Gedownload",
"nondownload": "Non-Downloaded",
"read": "Gelezen",
"unread": "Ongelezen",
"downloadedread": "Downloaded & Read",
"downloadedunread": "Downloaded & Unread",
"nondownloadedread": "Non-Downloaded & Read",
"nondownloadedunread": "Non-Downloaded & Unread"
},
"tailscale": {
"address": "Adres",
"expires": "Verloopt",
@@ -862,7 +852,7 @@
},
"mailcow": {
"domains": "Domeinen",
"mailboxes": "Mailboxen",
"mailboxes": "Mailboxes",
"mails": "Mails",
"storage": "Opslag"
},
@@ -957,55 +947,11 @@
"disaster": "Disaster"
},
"lubelogger": {
"vehicle": "Voertuig",
"vehicles": "Voertuigen",
"serviceRecords": "Service Historie",
"reminders": "Herinneringen",
"nextReminder": "Volgende Herinnering",
"none": "Geen"
},
"vikunja": {
"projects": "Actieve Projecten",
"tasks7d": "Taken Die Deze Week Af Moeten Zijn",
"tasksOverdue": "Achterstallige Taken",
"tasksInProgress": "Taken In Uitvoering"
},
"headscale": {
"name": "Naam",
"address": "Adres",
"last_seen": "Laatst Gezien",
"status": "Status",
"online": "Bereikbaar",
"offline": "Offline"
},
"beszel": {
"name": "Naam",
"systems": "Systems",
"up": "Online",
"status": "Status",
"updated": "Bijgewerkt",
"cpu": "CPU",
"memory": "GEH",
"disk": "Disk",
"network": "NET"
},
"argocd": {
"apps": "Apps",
"synced": "Synced",
"outOfSync": "Out Of Sync",
"healthy": "Gezond",
"degraded": "Degraded",
"progressing": "Progressing",
"missing": "Ontbreekt",
"suspended": "Suspended"
},
"spoolman": {
"loading": "Laden"
},
"gitlab": {
"groups": "Groups",
"issues": "Problemen",
"merges": "Merge Requests",
"projects": "Projects"
"vehicle": "Vehicle",
"vehicles": "Vehicles",
"serviceRecords": "Service Records",
"reminders": "Reminders",
"nextReminder": "Next Reminder",
"none": "None"
}
}

View File

@@ -13,7 +13,7 @@
"ms": "{{value, number}}",
"date": "{{value, date}}",
"relativeDate": "{{value, relativeDate}}",
"duration": "{{value, duration}}",
"uptime": "{{value, uptime}}",
"months": "mnd",
"days": "d",
"hours": "t",
@@ -120,7 +120,7 @@
"grid_power": "Nett",
"home_power": "Forbruk",
"charge_power": "Lader",
"kilowatt": "kW"
"watt_hour": "W/t"
},
"flood": {
"download": "Last ned",
@@ -309,16 +309,6 @@
"stopped": "Stoppet",
"total": "Totalt"
},
"suwayomi": {
"download": "Nedlastede",
"nondownload": "Non-Downloaded",
"read": "Read",
"unread": "Ulest",
"downloadedread": "Downloaded & Read",
"downloadedunread": "Downloaded & Unread",
"nondownloadedread": "Non-Downloaded & Read",
"nondownloadedunread": "Non-Downloaded & Unread"
},
"tailscale": {
"address": "Adresse",
"expires": "Utgår",
@@ -963,49 +953,5 @@
"reminders": "Reminders",
"nextReminder": "Next Reminder",
"none": "None"
},
"vikunja": {
"projects": "Active Projects",
"tasks7d": "Tasks Due This Week",
"tasksOverdue": "Overdue Tasks",
"tasksInProgress": "Tasks In Progress"
},
"headscale": {
"name": "Navn",
"address": "Adresse",
"last_seen": "Sist sett",
"status": "Status",
"online": "På nett",
"offline": "Frakoblet"
},
"beszel": {
"name": "Navn",
"systems": "Systems",
"up": "Oppe",
"status": "Status",
"updated": "Oppdatert",
"cpu": "CPU",
"memory": "MEM",
"disk": "Disk",
"network": "NET"
},
"argocd": {
"apps": "Apps",
"synced": "Synced",
"outOfSync": "Out Of Sync",
"healthy": "Friskt",
"degraded": "Degraded",
"progressing": "Progressing",
"missing": "Mangler",
"suspended": "Suspended"
},
"spoolman": {
"loading": "Loading"
},
"gitlab": {
"groups": "Groups",
"issues": "Issues",
"merges": "Merge Requests",
"projects": "Projects"
}
}

View File

@@ -13,7 +13,7 @@
"ms": "{{value, number}}",
"date": "{{value, date}}",
"relativeDate": "{{value, relativeDate}}",
"duration": "{value, duration}",
"uptime": "{{value, uptime}}",
"months": "mc",
"days": "d",
"hours": "g",
@@ -120,7 +120,7 @@
"grid_power": "Siatka",
"home_power": "Zużycie",
"charge_power": "Ładowarka",
"kilowatt": "kW"
"watt_hour": "Wh"
},
"flood": {
"download": "Pobieranie",
@@ -309,16 +309,6 @@
"stopped": "Zatrzymane",
"total": "Całkowite"
},
"suwayomi": {
"download": "Pobrano",
"nondownload": "Niepobrane",
"read": "Przeczytane",
"unread": "Nieprzeczytane",
"downloadedread": "Pobrane i przeczytane",
"downloadedunread": "Pobrane i nieprzeczytane",
"nondownloadedread": "Niepobrane i przeczytane",
"nondownloadedunread": "Niepobrane i nieprzeczytane"
},
"tailscale": {
"address": "Adres",
"expires": "Wygasa za",
@@ -335,15 +325,15 @@
},
"technitium": {
"totalQueries": "Zapytania",
"totalNoError": "Sukces",
"totalServerFailure": "Porażki",
"totalNxDomain": "Domeny NX",
"totalRefused": "Odrzucone",
"totalAuthoritative": "Autorytatywne",
"totalRecursive": "Rekursywne",
"totalCached": "Zbuforowane",
"totalNoError": "Success",
"totalServerFailure": "Failures",
"totalNxDomain": "NX Domains",
"totalRefused": "Refused",
"totalAuthoritative": "Authoritative",
"totalRecursive": "Recursive",
"totalCached": "Cached",
"totalBlocked": "Zablokowane",
"totalDropped": "Upuszczone",
"totalDropped": "Dropped",
"totalClients": "Klienci"
},
"tdarr": {
@@ -854,16 +844,16 @@
},
"romm": {
"platforms": "Platformy",
"totalRoms": "Gry",
"saves": "Zapisy",
"states": "Stany",
"screenshots": "Screeny",
"totalfilesize": "Rozmiar całkowity"
"totalRoms": "Games",
"saves": "Saves",
"states": "States",
"screenshots": "Screenshots",
"totalfilesize": "Total Size"
},
"mailcow": {
"domains": "Domeny",
"mailboxes": "Skrzynki",
"mails": "Poczta",
"mailboxes": "Mailboxes",
"mails": "Mails",
"storage": "Pamięć"
},
"netdata": {
@@ -949,63 +939,19 @@
"tags": "Tagi"
},
"zabbix": {
"unclassified": "Niezaklasyfikowane",
"unclassified": "Not classified",
"information": "Informacje",
"warning": "Ostrzeżenie",
"average": "Średnia",
"high": "Wysokie",
"disaster": "Katastrofa"
"warning": "Warning",
"average": "Average",
"high": "High",
"disaster": "Disaster"
},
"lubelogger": {
"vehicle": "Pojazd",
"vehicles": "Pojazdy",
"serviceRecords": "Wpisy serwisowe",
"reminders": "Przypomnienia",
"nextReminder": "Następne przypomnienie",
"none": "Brak"
},
"vikunja": {
"projects": "Aktywne Projekty",
"tasks7d": "Zadania w tym tygodniu",
"tasksOverdue": "Zaległe zadania",
"tasksInProgress": "Zadania w toku"
},
"headscale": {
"name": "Nazwa",
"address": "Adres",
"last_seen": "Ostatnio dostępny",
"status": "Stan",
"online": "Dostępny",
"offline": "Nieosiągalny"
},
"beszel": {
"name": "Nazwa",
"systems": "Systemy",
"up": "Dostępny",
"status": "Stan",
"updated": "Zaktualizowane",
"cpu": "Procesor",
"memory": "RAM",
"disk": "Dysk",
"network": "NET"
},
"argocd": {
"apps": "Aplikacje",
"synced": "Synchronizowane",
"outOfSync": "Bez synchronizacji",
"healthy": "Zdrowy",
"degraded": "Zdegradowane",
"progressing": "Postępujące",
"missing": "Brakujące",
"suspended": "Zawieszone"
},
"spoolman": {
"loading": "Wczytywanie"
},
"gitlab": {
"groups": "Grupy",
"issues": "Zgłoszenia",
"merges": "Żądania scaleń",
"projects": "Projekty"
"vehicle": "Vehicle",
"vehicles": "Vehicles",
"serviceRecords": "Service Records",
"reminders": "Reminders",
"nextReminder": "Next Reminder",
"none": "None"
}
}

View File

@@ -13,7 +13,7 @@
"ms": "{{value, number}}",
"date": "{{value, date}}",
"relativeDate": "{{value, relativeDate}}",
"duration": "{{value, duration}}",
"uptime": "{{value, uptime}}",
"months": "mês",
"days": "d",
"hours": "h",
@@ -30,9 +30,9 @@
"response_data": "Dados da Resposta"
},
"weather": {
"current": "Localização actual",
"current": "Localização atual",
"allow": "Clique para permitir",
"updating": "A actualizar",
"updating": "Atualizando",
"wait": "Por favor aguarde"
},
"search": {
@@ -79,7 +79,7 @@
"starting": "A iniciar",
"unhealthy": "Não-saudável",
"not_found": "Não Encontrado",
"exited": "Saiu",
"exited": "Encerrado",
"partial": "Parcial"
},
"ping": {
@@ -117,10 +117,10 @@
"evcc": {
"pv_power": "Produção",
"battery_soc": "Bateria",
"grid_power": "Grelha",
"grid_power": "Grade",
"home_power": "Consumo",
"charge_power": "Carregador",
"kilowatt": "kW"
"watt_hour": "Kw"
},
"flood": {
"download": "Descarregar",
@@ -129,16 +129,16 @@
"seed": "Semente"
},
"freshrss": {
"subscriptions": "Subscrições",
"subscriptions": "Assinaturas",
"unread": "Não lida"
},
"fritzbox": {
"connectionStatus": "Estado",
"connectionStatusUnconfigured": "Desconfigurado",
"connectionStatusUnconfigured": "Não configurado",
"connectionStatusConnecting": "A conectar",
"connectionStatusAuthenticating": "A Autenticar",
"connectionStatusAuthenticating": "Autenticando",
"connectionStatusPendingDisconnect": "Desconexão pendente",
"connectionStatusDisconnecting": "A Desconectar",
"connectionStatusDisconnecting": "Desconectando",
"connectionStatusDisconnected": "Desconectado",
"connectionStatusConnected": "Conectado",
"uptime": "Ligado",
@@ -148,19 +148,19 @@
"up": "Up",
"received": "Recebido",
"sent": "Enviado",
"externalIPAddress": "Endereço IP Externo"
"externalIPAddress": "Endereço IP externo"
},
"caddy": {
"upstreams": "Upstreams",
"requests": "Solicitações actuais",
"requests_failed": "Solicitações falhadas"
"requests": "Solicitações atuais",
"requests_failed": "Solicitações com falha"
},
"changedetectionio": {
"totalObserved": "Total Observado",
"diffsDetected": "Diferenças Detectadas"
"diffsDetected": "Diferenças Detetadas"
},
"channelsdvrserver": {
"shows": "Séries",
"shows": "Shows",
"recordings": "Gravações",
"scheduled": "Agendado",
"passes": "Passes"
@@ -170,7 +170,7 @@
"transcoding": "Transcodificação",
"bitrate": "Taxa de bits",
"no_active": "Sem streams ativas",
"plex_connection_error": "Verifique a conexão do Plex"
"plex_connection_error": "Verifique a conexão Plex"
},
"omada": {
"connectedAp": "APs Ligados",
@@ -182,10 +182,10 @@
"nzbget": {
"rate": "Taxa",
"remaining": "Restante",
"downloaded": "Descarregado"
"downloaded": "Baixado"
},
"plex": {
"streams": "Streams Activas",
"streams": "Streams Ativas",
"albums": "Álbuns",
"movies": "Filmes",
"tv": "Series de TV"
@@ -193,10 +193,10 @@
"sabnzbd": {
"rate": "Taxa",
"queue": "Fila",
"timeleft": "Tempo Restante"
"timeleft": "Tempo restante"
},
"rutorrent": {
"active": "Activo",
"active": "Ativo",
"upload": "Carregar",
"download": "Descarregar"
},
@@ -214,8 +214,8 @@
},
"qnap": {
"cpuUsage": "Utilização do CPU",
"memUsage": "Utilização de Memória",
"systemTempC": "Temperatura do Sistema",
"memUsage": "Utilização de memória",
"systemTempC": "Temperatura do sistema",
"poolUsage": "Uso de Banco",
"volumeUsage": "Uso do Volume",
"invalid": "Inválido"
@@ -227,8 +227,8 @@
"seed": "Semente"
},
"develancacheui": {
"cachehitbytes": "Bytes de Acerto na Memória transitória",
"cachemissbytes": "Bytes de Falha de Memória transitória"
"cachehitbytes": "Cache Hit Bytes",
"cachemissbytes": "Cache Miss Bytes"
},
"downloadstation": {
"download": "Descarregar",
@@ -237,54 +237,54 @@
"seed": "Semente"
},
"sonarr": {
"wanted": "Desejados",
"queued": "Em fila de espera",
"wanted": "Desejada",
"queued": "Em fila",
"series": "Séries",
"queue": "Fila",
"unknown": "Desconhecido"
},
"radarr": {
"wanted": "Desejados",
"missing": "Em falta",
"queued": "Em fila de espera",
"wanted": "Desejada",
"missing": "Faltando",
"queued": "Em fila",
"movies": "Filmes",
"queue": "Fila",
"unknown": "Desconhecido"
},
"lidarr": {
"wanted": "Desejados",
"queued": "Em fila de espera",
"wanted": "Desejada",
"queued": "Em fila",
"artists": "Artistas"
},
"readarr": {
"wanted": "Desejados",
"queued": "Em fila de espera",
"wanted": "Desejada",
"queued": "Em fila",
"books": "Livros"
},
"bazarr": {
"missingEpisodes": "Episódios em Falta",
"missingMovies": "Filmes em Falta"
"missingEpisodes": "Episódios Faltantes",
"missingMovies": "Filmes Faltantes"
},
"ombi": {
"pending": "Pendente",
"approved": "Aprovado",
"approved": "Aprovada",
"available": "Disponível"
},
"jellyseerr": {
"pending": "Pendente",
"approved": "Aprovado",
"approved": "Aprovada",
"available": "Disponível"
},
"overseerr": {
"pending": "Pendente",
"processing": "A Processar",
"approved": "Aprovado",
"processing": "Processando",
"approved": "Aprovada",
"available": "Disponível"
},
"netalertx": {
"total": "Total",
"connected": "Conectado",
"new_devices": "Novos Dispositivos",
"new_devices": "Novos dispositivos",
"down_alerts": "Alertas de Falha"
},
"pihole": {
@@ -309,21 +309,11 @@
"stopped": "Parado",
"total": "Total"
},
"suwayomi": {
"download": "Descarregado",
"nondownload": "Non-Downloaded",
"read": "Lido",
"unread": "Não lida",
"downloadedread": "Downloaded & Read",
"downloadedunread": "Downloaded & Unread",
"nondownloadedread": "Non-Downloaded & Read",
"nondownloadedunread": "Non-Downloaded & Unread"
},
"tailscale": {
"address": "Endereço",
"expires": "Expira",
"never": "Nunca",
"last_seen": "Última Vez Visto",
"last_seen": "Última vez visto",
"now": "Agora",
"years": "{{number}}y",
"weeks": "{{number}}w",
@@ -335,15 +325,15 @@
},
"technitium": {
"totalQueries": "Consultas",
"totalNoError": "Sucesso",
"totalServerFailure": "Falhas",
"totalNxDomain": "Domínios NX",
"totalRefused": "Recusado",
"totalAuthoritative": "Autoritário",
"totalRecursive": "Recursivo",
"totalCached": "Em Memória transitória",
"totalNoError": "Success",
"totalServerFailure": "Failures",
"totalNxDomain": "NX Domains",
"totalRefused": "Refused",
"totalAuthoritative": "Authoritative",
"totalRecursive": "Recursive",
"totalCached": "Cached",
"totalBlocked": "Bloqueado",
"totalDropped": "Perdidos",
"totalDropped": "Dropped",
"totalClients": "Clientes"
},
"tdarr": {
@@ -355,19 +345,19 @@
"traefik": {
"routers": "Roteadores",
"services": "Serviços",
"middleware": "Middleware"
"middleware": "Software Middleware"
},
"navidrome": {
"nothing_streaming": "Sem streams ativas",
"please_wait": "Por Favor, Aguarde"
"please_wait": "Por favor aguarde"
},
"npm": {
"enabled": "Activo",
"enabled": "Ativo",
"disabled": "Desabilitado",
"total": "Total"
},
"coinmarketcap": {
"configure": "Configure uma ou mais criptomoedas para rastrear",
"configure": "Configurar uma ou mais moedas",
"1hour": "1 Hora",
"1day": "1 Dia",
"7days": "7 Dias",
@@ -401,8 +391,8 @@
"domain_count": "Domínios"
},
"medusa": {
"wanted": "Desejados",
"queued": "Em fila de espera",
"wanted": "Desejada",
"queued": "Em fila",
"series": "Séries"
},
"minecraft": {
@@ -418,8 +408,8 @@
},
"authentik": {
"users": "Utilizadores",
"loginsLast24H": "Inícios de Sessão (24h)",
"failedLoginsLast24H": "Inícios de Sessão Falhados (24h)"
"loginsLast24H": "Inícios de sessão (24h)",
"failedLoginsLast24H": "Inícios de sessão falhados (24h)"
},
"proxmox": {
"mem": "MEM",
@@ -450,7 +440,7 @@
"quicklaunch": {
"bookmark": "Marcador",
"service": "Serviço",
"search": "Pesquisa",
"search": "Busca",
"custom": "Personalizado",
"visit": "Visitar",
"url": "Endereço URL",
@@ -459,7 +449,7 @@
"wmo": {
"0-day": "Solarengo",
"0-night": "Limpo",
"1-day": "Maioritariamente Solarengo",
"1-day": "Maioritariamente ensolarado",
"1-night": "Maioritariamente Limpo",
"2-day": "Parcialmente Nublado",
"2-night": "Parcialmente Nublado",
@@ -497,16 +487,16 @@
"75-night": "Neve forte",
"77-day": "Grãos de Neve",
"77-night": "Grãos de Neve",
"80-day": "Chuviscos Leves",
"80-night": "Chuviscos Leves",
"80-day": "Neve fraca",
"80-night": "Neve fraca",
"81-day": "Chuviscos",
"81-night": "Chuviscos",
"82-day": "Chuviscos fortes",
"82-night": "Chuviscos fortes",
"85-day": "Chuva de Neve",
"85-night": "Chuva de Neve",
"86-day": "Chuva de Neve",
"86-night": "Chuva de Neve",
"85-day": "Precipitação de Neve",
"85-night": "Precipitação de Neve",
"86-day": "Precipitação de Neve",
"86-night": "Precipitação de Neve",
"95-day": "Trovoada",
"95-night": "Trovoada",
"96-day": "Trovoada com granizo",
@@ -516,10 +506,10 @@
},
"homebridge": {
"available_update": "Sistema",
"updates": "Actualizações",
"updates": "Atualizações",
"update_available": "Atualização disponível",
"up_to_date": "Atualizado",
"child_bridges": "Child Bridges",
"child_bridges": "Pontes Filhas",
"child_bridges_status": "{{ok}}/{{total}}",
"up": "Up",
"pending": "Pendente",
@@ -528,12 +518,12 @@
"healthchecks": {
"new": "Novo",
"up": "Up",
"grace": "Em Período de Graça",
"grace": "Em Período Gratuito",
"down": "Down",
"paused": "Pausa",
"paused": "Pausado",
"status": "Estado",
"last_ping": "Ultimo Ping",
"never": "Nenhum Ping ainda"
"never": "Nenhum ping ainda"
},
"watchtower": {
"containers_scanned": "Verificado",
@@ -541,7 +531,7 @@
"containers_failed": "Falhou"
},
"autobrr": {
"approvedPushes": "Aprovado",
"approvedPushes": "Aprovada",
"rejectedPushes": "Rejeitado",
"filters": "Filtros",
"indexers": "Indexadores"
@@ -559,7 +549,7 @@
},
"pyload": {
"speed": "Velocidade",
"active": "Activo",
"active": "Ativo",
"queue": "Fila",
"total": "Total"
},
@@ -598,8 +588,8 @@
"low_battery": "Bateria Fraca"
},
"nextdns": {
"wait": "Por Favor, Aguarde",
"no_devices": "Nenhum Dado do Dispositivo Recebido"
"wait": "Por favor aguarde",
"no_devices": "Nenhum dado do dispositivo recebido"
},
"mikrotik": {
"cpuLoad": "Carga do CPU",
@@ -609,7 +599,7 @@
},
"xteve": {
"streams_all": "Todos os Streams",
"streams_active": "Streams Activas",
"streams_active": "Streams Ativas",
"streams_xepg": "Canais XEPG"
},
"opendtu": {
@@ -647,7 +637,7 @@
"up": "Up",
"down": "Down",
"temp": "Temp",
"disk": "Utilização do Disco",
"disk": "Utilização",
"wanIP": "WAN IP"
},
"proxmoxbackupserver": {
@@ -688,17 +678,17 @@
"mylar": {
"series": "Séries",
"issues": "Problemas",
"wanted": "Desejados"
"wanted": "Desejada"
},
"photoprism": {
"albums": "Álbuns",
"photos": "Fotos",
"videos": "Vídeos",
"people": "Pessoas"
"people": "Pessoa"
},
"fileflows": {
"queue": "Fila",
"processing": "A Processar",
"processing": "Processando",
"processed": "Processado",
"time": "Hora"
},
@@ -706,13 +696,13 @@
"dashboards": "Painéis",
"datasources": "Origem de Dados",
"totalalerts": "Total Alertas",
"alertstriggered": "Alertas Desencadeados"
"alertstriggered": "Alertas Disparados"
},
"nextcloud": {
"cpuload": "Carga de CPU",
"memoryusage": "Memória Utilizada",
"freespace": "Espaço Livre",
"activeusers": "Utilizadores Activos",
"activeusers": "Utilizadores Ativos",
"numfiles": "Ficheiros",
"numshares": "Itens partilhados"
},
@@ -734,7 +724,7 @@
},
"prometheus": {
"targets_up": "Alvo ativo",
"targets_down": "Alvo Inactivo",
"targets_down": "Alvo inativo",
"targets_total": "Total de Alvos"
},
"gatus": {
@@ -745,7 +735,7 @@
"ghostfolio": {
"gross_percent_today": "Hoje",
"gross_percent_1y": "Um ano",
"gross_percent_max": "Desde Sempre"
"gross_percent_max": "Todo o tempo"
},
"audiobookshelf": {
"podcasts": "Podcasts",
@@ -760,7 +750,7 @@
},
"whatsupdocker": {
"monitoring": "A monitorizar",
"updates": "Actualizações"
"updates": "Atualizações"
},
"calibreweb": {
"books": "Livros",
@@ -782,14 +772,14 @@
"result": "Resultado",
"status": "Estado",
"buildId": "ID da compilação",
"succeeded": "Bem sucedido",
"succeeded": "Com êxito",
"notStarted": "Não Iniciado",
"failed": "Falhou",
"canceled": "Cancelado",
"inProgress": "Em progresso",
"totalPrs": "Total de PRs",
"myPrs": "Os Meus PRs",
"approved": "Aprovado"
"myPrs": "Meus PRs",
"approved": "Aprovada"
},
"gamedig": {
"status": "Estado",
@@ -797,7 +787,7 @@
"offline": "Desligado",
"name": "Nome",
"map": "Mapa",
"currentPlayers": "Jogadores actuais",
"currentPlayers": "Jogadores atuais",
"players": "Reprodutores",
"maxPlayers": "Máximo de Jogadores",
"bots": "Bots",
@@ -806,7 +796,7 @@
"urbackup": {
"ok": "Ok",
"errored": "Erros",
"noRecent": "Desactualizado",
"noRecent": "Desatualizado",
"totalUsed": "Espaço utilizado"
},
"mealie": {
@@ -816,7 +806,7 @@
"tags": "Etiquetas"
},
"openmediavault": {
"downloading": "A descarregar",
"downloading": "A transferir",
"total": "Total",
"running": "A correr",
"stopped": "Parado",
@@ -834,14 +824,14 @@
"uptimerobot": {
"status": "Estado",
"uptime": "Ligado",
"lastDown": "Última Inactividade",
"downDuration": "Duração de Inactividade",
"lastDown": "Última inatividade",
"downDuration": "Duração de inatividade",
"sitesUp": "Sites no Ar",
"sitesDown": "Sites Fora do Ar",
"paused": "Pausa",
"paused": "Pausado",
"notyetchecked": "Ainda não verificado",
"up": "Up",
"seemsdown": "Parece em Baixo",
"seemsdown": "Parece Baixo",
"down": "Down",
"unknown": "Desconhecido"
},
@@ -854,16 +844,16 @@
},
"romm": {
"platforms": "Plataformas",
"totalRoms": "Jogos",
"totalRoms": "Games",
"saves": "Saves",
"states": "Estados",
"states": "States",
"screenshots": "Screenshots",
"totalfilesize": "Tamanho Total"
"totalfilesize": "Total Size"
},
"mailcow": {
"domains": "Domínios",
"mailboxes": "Caixas de Correio",
"mails": "E-mails",
"mailboxes": "Mailboxes",
"mails": "Mails",
"storage": "Armazenamento"
},
"netdata": {
@@ -891,7 +881,7 @@
"images": "Imagens",
"imageSize": "Tamanho das imagens",
"galleries": "Galerias",
"performers": "Artistas de palco",
"performers": "Artistas",
"studios": "Estúdios",
"movies": "Filmes",
"tags": "Etiquetas",
@@ -916,14 +906,14 @@
},
"wgeasy": {
"connected": "Conectado",
"enabled": "Activo",
"enabled": "Ativo",
"disabled": "Desabilitado",
"total": "Total"
},
"swagdashboard": {
"proxied": "Com proxy",
"auth": "Com Autorização",
"outdated": "Desactualizado",
"outdated": "Desatualizado",
"banned": "Banido"
},
"myspeed": {
@@ -932,80 +922,36 @@
"upload": "Carregar"
},
"stocks": {
"stocks": "Acções",
"loading": "A carregar",
"stocks": "Ações",
"loading": "Carregando",
"open": "Aberto - Mercado dos EUA",
"closed": "Fechado - Mercado dos EUA",
"invalidConfiguration": "Configuração Inválida"
"invalidConfiguration": "Configuração inválida"
},
"frigate": {
"cameras": "Câmeras",
"cameras": "Câmaras",
"uptime": "Ligado",
"version": "Versão"
},
"linkwarden": {
"links": "Links",
"collections": "Colecções",
"collections": "Collections",
"tags": "Etiquetas"
},
"zabbix": {
"unclassified": "Não Classificados",
"unclassified": "Not classified",
"information": "Informação",
"warning": "Avisos",
"average": "Média",
"high": "Elevado",
"disaster": "Desastre"
"warning": "Warning",
"average": "Average",
"high": "High",
"disaster": "Disaster"
},
"lubelogger": {
"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"
},
"headscale": {
"name": "Nome",
"address": "Endereço",
"last_seen": "Última Vez Visto",
"status": "Estado",
"online": "Online",
"offline": "Desligado"
},
"beszel": {
"name": "Nome",
"systems": "Systems",
"up": "Up",
"status": "Estado",
"updated": "Atualizado",
"cpu": "CPU",
"memory": "MEM",
"disk": "Disk",
"network": "NET"
},
"argocd": {
"apps": "Apps",
"synced": "Synced",
"outOfSync": "Out Of Sync",
"healthy": "Saudável",
"degraded": "Degraded",
"progressing": "Progressing",
"missing": "Em falta",
"suspended": "Suspended"
},
"spoolman": {
"loading": "A carregar"
},
"gitlab": {
"groups": "Groups",
"issues": "Problemas",
"merges": "Merge Requests",
"projects": "Projects"
"vehicle": "Vehicle",
"vehicles": "Vehicles",
"serviceRecords": "Service Records",
"reminders": "Reminders",
"nextReminder": "Next Reminder",
"none": "None"
}
}

View File

@@ -13,7 +13,7 @@
"ms": "{{value, number}}",
"date": "{{value, date}}",
"relativeDate": "{{value, relativeDate}}",
"duration": "{{value, duration}}",
"uptime": "{{value, uptime}}",
"months": "M",
"days": "d",
"hours": "h",
@@ -120,7 +120,7 @@
"grid_power": "Grade",
"home_power": "Consumo",
"charge_power": "Carregador",
"kilowatt": "kW"
"watt_hour": "Kw"
},
"flood": {
"download": "Descarregar",
@@ -309,16 +309,6 @@
"stopped": "Parado",
"total": "Total"
},
"suwayomi": {
"download": "Baixado",
"nondownload": "Non-Downloaded",
"read": "Lido",
"unread": "Não lida",
"downloadedread": "Downloaded & Read",
"downloadedunread": "Downloaded & Unread",
"nondownloadedread": "Non-Downloaded & Read",
"nondownloadedunread": "Non-Downloaded & Unread"
},
"tailscale": {
"address": "Endereço",
"expires": "Expira em",
@@ -963,49 +953,5 @@
"reminders": "Reminders",
"nextReminder": "Next Reminder",
"none": "None"
},
"vikunja": {
"projects": "Active Projects",
"tasks7d": "Tasks Due This Week",
"tasksOverdue": "Overdue Tasks",
"tasksInProgress": "Tasks In Progress"
},
"headscale": {
"name": "Nome",
"address": "Endereço",
"last_seen": "Visto por último",
"status": "Status",
"online": "Disponível",
"offline": "Offline"
},
"beszel": {
"name": "Nome",
"systems": "Systems",
"up": "Ativo",
"status": "Status",
"updated": "Atualizado",
"cpu": "CPU",
"memory": "MEM",
"disk": "Disk",
"network": "NET"
},
"argocd": {
"apps": "Apps",
"synced": "Synced",
"outOfSync": "Out Of Sync",
"healthy": "Saudável",
"degraded": "Degraded",
"progressing": "Progressing",
"missing": "Faltando",
"suspended": "Suspended"
},
"spoolman": {
"loading": "Carregando"
},
"gitlab": {
"groups": "Groups",
"issues": "Problemas",
"merges": "Merge Requests",
"projects": "Projects"
}
}

View File

@@ -13,7 +13,7 @@
"ms": "{{value, number}}",
"date": "{{value, date}}",
"relativeDate": "{{value, relativeDate}}",
"duration": "{{value, duration}}",
"uptime": "{{value, uptime}}",
"months": "mo",
"days": "d",
"hours": "h",
@@ -120,7 +120,7 @@
"grid_power": "Grilă",
"home_power": "Consum",
"charge_power": "Încărcător",
"kilowatt": "kW"
"watt_hour": "Wh"
},
"flood": {
"download": "Descarcă",
@@ -309,16 +309,6 @@
"stopped": "Oprit",
"total": "Total"
},
"suwayomi": {
"download": "Descărcat",
"nondownload": "Non-Downloaded",
"read": "Read",
"unread": "Necitit",
"downloadedread": "Downloaded & Read",
"downloadedunread": "Downloaded & Unread",
"nondownloadedread": "Non-Downloaded & Read",
"nondownloadedunread": "Non-Downloaded & Unread"
},
"tailscale": {
"address": "Address",
"expires": "Expires",
@@ -963,49 +953,5 @@
"reminders": "Reminders",
"nextReminder": "Next Reminder",
"none": "None"
},
"vikunja": {
"projects": "Active Projects",
"tasks7d": "Tasks Due This Week",
"tasksOverdue": "Overdue Tasks",
"tasksInProgress": "Tasks In Progress"
},
"headscale": {
"name": "Name",
"address": "Address",
"last_seen": "Last Seen",
"status": "Stare",
"online": "Online",
"offline": "Offline"
},
"beszel": {
"name": "Name",
"systems": "Systems",
"up": "Sus",
"status": "Stare",
"updated": "Updated",
"cpu": "Procesor",
"memory": "MEM",
"disk": "Disk",
"network": "NET"
},
"argocd": {
"apps": "Apps",
"synced": "Synced",
"outOfSync": "Out Of Sync",
"healthy": "Sănătos",
"degraded": "Degraded",
"progressing": "Progressing",
"missing": "Missing",
"suspended": "Suspended"
},
"spoolman": {
"loading": "Loading"
},
"gitlab": {
"groups": "Groups",
"issues": "Issues",
"merges": "Merge Requests",
"projects": "Projects"
}
}

View File

@@ -13,7 +13,7 @@
"ms": "{{value, number}}",
"date": "{{value, date}}",
"relativeDate": "{{value, relativeDate}}",
"duration": "{{value, duration}}",
"uptime": "{{value, uptime}}",
"months": "мес",
"days": "дней",
"hours": "час",
@@ -120,7 +120,7 @@
"grid_power": "Сетка",
"home_power": "Потребление",
"charge_power": "Зарядка",
"kilowatt": "кВт"
"watt_hour": "Вт"
},
"flood": {
"download": "Скачивание",
@@ -227,8 +227,8 @@
"seed": "Сид"
},
"develancacheui": {
"cachehitbytes": "Хит байты кэша",
"cachemissbytes": "Мисс байты кэша"
"cachehitbytes": "Cache Hit Bytes",
"cachemissbytes": "Cache Miss Bytes"
},
"downloadstation": {
"download": "Скачивание",
@@ -284,7 +284,7 @@
"netalertx": {
"total": "Всего",
"connected": "Подключено",
"new_devices": "Новые устройства",
"new_devices": "Новое устройство",
"down_alerts": "Оповещение о недоступности"
},
"pihole": {
@@ -309,16 +309,6 @@
"stopped": "Остановлено",
"total": "Всего"
},
"suwayomi": {
"download": "Загружено",
"nondownload": "Незагруженные",
"read": "Прочитано",
"unread": "Не прочитано",
"downloadedread": "Загруженные и прочитанные",
"downloadedunread": "Загруженные и непрочитанные",
"nondownloadedread": "Незагруженные и прочитанные",
"nondownloadedunread": "Незагруженные и непрочитанные"
},
"tailscale": {
"address": "Адрес",
"expires": "Истекает",
@@ -335,15 +325,15 @@
},
"technitium": {
"totalQueries": "Запросы",
"totalNoError": "Успешные",
"totalServerFailure": "Ошибки",
"totalNxDomain": "NX домены",
"totalRefused": "Отказано",
"totalAuthoritative": "Авторитетные",
"totalRecursive": "Рекурсивные",
"totalCached": "Кэш",
"totalNoError": "Success",
"totalServerFailure": "Failures",
"totalNxDomain": "NX Domains",
"totalRefused": "Refused",
"totalAuthoritative": "Authoritative",
"totalRecursive": "Recursive",
"totalCached": "Cached",
"totalBlocked": "Заблокировано",
"totalDropped": "Отброшенные",
"totalDropped": "Dropped",
"totalClients": "Клиенты"
},
"tdarr": {
@@ -854,16 +844,16 @@
},
"romm": {
"platforms": "Платформы",
"totalRoms": "Игры",
"saves": "Сейвы",
"states": "Состояния",
"screenshots": "Скриншоты",
"totalfilesize": "Общий объем"
"totalRoms": "Games",
"saves": "Saves",
"states": "States",
"screenshots": "Screenshots",
"totalfilesize": "Total Size"
},
"mailcow": {
"domains": "Домены",
"mailboxes": "Почтовые ящики",
"mails": "Письма",
"mailboxes": "Mailboxes",
"mails": "Mails",
"storage": "Хранилище"
},
"netdata": {
@@ -912,7 +902,7 @@
},
"crowdsec": {
"alerts": "Предупреждения",
"bans": "Блокировки"
"bans": "Запреты"
},
"wgeasy": {
"connected": "Подключено",
@@ -921,10 +911,10 @@
"total": "Всего"
},
"swagdashboard": {
"proxied": "Прокси",
"auth": "С Авторизацией",
"outdated": "Устаревшие",
"banned": "Заблокированные"
"proxied": "Proxied",
"auth": "With Auth",
"outdated": "Outdated",
"banned": "Banned"
},
"myspeed": {
"ping": "Пинг",
@@ -932,80 +922,36 @@
"upload": "Загрузка"
},
"stocks": {
"stocks": "Акции",
"loading": "Загрузка",
"open": "Открыто - Рынок США",
"closed": "Закрыто - рынок США",
"invalidConfiguration": "Неверная конфигурация"
"stocks": "Stocks",
"loading": "Loading",
"open": "Open - US Market",
"closed": "Closed - US Market",
"invalidConfiguration": "Invalid Configuration"
},
"frigate": {
"cameras": "Камеры",
"cameras": "Cameras",
"uptime": "Время работы",
"version": "Версия"
},
"linkwarden": {
"links": "Ссылки",
"collections": "Коллекции",
"links": "Links",
"collections": "Collections",
"tags": "Теги"
},
"zabbix": {
"unclassified": "Не классифицировано",
"unclassified": "Not classified",
"information": "Информация",
"warning": "Предупреждение",
"average": "Средняя",
"high": "Высокая",
"disaster": "Чрезвычайная"
"warning": "Warning",
"average": "Average",
"high": "High",
"disaster": "Disaster"
},
"lubelogger": {
"vehicle": "Автомобиль",
"vehicles": "Автомобили",
"serviceRecords": "Сервисные работы",
"reminders": "Напоминания",
"nextReminder": "Следующее напоминание",
"none": "Нет"
},
"vikunja": {
"projects": "Активные Проекты",
"tasks7d": "Задачи на этой неделе",
"tasksOverdue": "Просроченные задачи",
"tasksInProgress": "Задачи в процессе"
},
"headscale": {
"name": "Имя",
"address": "Адрес",
"last_seen": "Последнее посещение",
"status": "Статус",
"online": "В сети",
"offline": "Не в сети"
},
"beszel": {
"name": "Имя",
"systems": "Системы",
"up": "Онлайн",
"status": "Статус",
"updated": "Обновленно",
"cpu": "ЦП",
"memory": "ОЗУ",
"disk": "Диск",
"network": "Сеть"
},
"argocd": {
"apps": "Приложения",
"synced": "Синхронизированные",
"outOfSync": "Не синхронизированные",
"healthy": "Здоровый",
"degraded": "Деградированные",
"progressing": "Выполняются",
"missing": "Отсутствует",
"suspended": "Приостановленные"
},
"spoolman": {
"loading": "Загрузка"
},
"gitlab": {
"groups": "Группы",
"issues": "Вопросы",
"merges": "Мердж-реквесты",
"projects": "Проекты"
"vehicle": "Vehicle",
"vehicles": "Vehicles",
"serviceRecords": "Service Records",
"reminders": "Reminders",
"nextReminder": "Next Reminder",
"none": "None"
}
}

View File

@@ -13,7 +13,7 @@
"ms": "{{value, number}}",
"date": "{{value, date}}",
"relativeDate": "{{value, relativeDate}}",
"duration": "{{value, duration}}",
"uptime": "{{value, uptime}}",
"months": "mes",
"days": "d",
"hours": "h",
@@ -120,7 +120,7 @@
"grid_power": "Mriežka",
"home_power": "Spotreba",
"charge_power": "Nabíjačka",
"kilowatt": "kW"
"watt_hour": "Wh"
},
"flood": {
"download": "Sťahovanie",
@@ -309,16 +309,6 @@
"stopped": "Zastavené",
"total": "Celkovo"
},
"suwayomi": {
"download": "Stiahnuté",
"nondownload": "Non-Downloaded",
"read": "Prečítané",
"unread": "Neprečítané",
"downloadedread": "Downloaded & Read",
"downloadedunread": "Downloaded & Unread",
"nondownloadedread": "Non-Downloaded & Read",
"nondownloadedunread": "Non-Downloaded & Unread"
},
"tailscale": {
"address": "Adresa",
"expires": "Vyprší",
@@ -963,49 +953,5 @@
"reminders": "Reminders",
"nextReminder": "Next Reminder",
"none": "None"
},
"vikunja": {
"projects": "Active Projects",
"tasks7d": "Tasks Due This Week",
"tasksOverdue": "Overdue Tasks",
"tasksInProgress": "Tasks In Progress"
},
"headscale": {
"name": "Meno",
"address": "Adresa",
"last_seen": "Naposledy videné",
"status": "Stav",
"online": "Online",
"offline": "Nedostupný"
},
"beszel": {
"name": "Meno",
"systems": "Systems",
"up": "Nahrávanie",
"status": "Stav",
"updated": "Aktualizované",
"cpu": "CPU",
"memory": "RAM",
"disk": "Disk",
"network": "NET"
},
"argocd": {
"apps": "Apps",
"synced": "Synced",
"outOfSync": "Out Of Sync",
"healthy": "Zdravý",
"degraded": "Degraded",
"progressing": "Progressing",
"missing": "Chýbajúce",
"suspended": "Suspended"
},
"spoolman": {
"loading": "Loading"
},
"gitlab": {
"groups": "Groups",
"issues": "Problémy",
"merges": "Merge Requests",
"projects": "Projects"
}
}

View File

@@ -13,7 +13,7 @@
"ms": "{{value, number}}",
"date": "{{value, date}}",
"relativeDate": "{{value, relativeDate}}",
"duration": "{{value, duration}}",
"uptime": "{{value, uptime}}",
"months": "mes",
"days": "d",
"hours": "u",
@@ -120,7 +120,7 @@
"grid_power": "Omrežje",
"home_power": "Poraba",
"charge_power": "Polnilec",
"kilowatt": "kW"
"watt_hour": "Wh"
},
"flood": {
"download": "Prenos",
@@ -309,16 +309,6 @@
"stopped": "Ustavljen",
"total": "Skupaj"
},
"suwayomi": {
"download": "Preneseno",
"nondownload": "Nepreneseno",
"read": "Prebrano",
"unread": "Neprebrano",
"downloadedread": "Preneseno in prebrano",
"downloadedunread": "Preneseno in neprebrano",
"nondownloadedread": "Nepreneseno in prebrano",
"nondownloadedunread": "Nepreneseno in neprebrano"
},
"tailscale": {
"address": "Naslov",
"expires": "Poteče",
@@ -963,49 +953,5 @@
"reminders": "Opomniki",
"nextReminder": "Naslednji opomnik",
"none": "Brez"
},
"vikunja": {
"projects": "Aktivni projekti",
"tasks7d": "Potekla opravila tega tedna",
"tasksOverdue": "Potekla opravila",
"tasksInProgress": "Tekoča opravila"
},
"headscale": {
"name": "Naziv",
"address": "Naslov",
"last_seen": "Viden",
"status": "Stanje",
"online": "Na spletu",
"offline": "Ni povezan"
},
"beszel": {
"name": "Naziv",
"systems": "Sistemi",
"up": "Povezan",
"status": "Stanje",
"updated": "Posodobljen",
"cpu": "CPU",
"memory": "MEM",
"disk": "Disk",
"network": "Mreža"
},
"argocd": {
"apps": "Aplikacije",
"synced": "Sinhro",
"outOfSync": "Ni sinhro",
"healthy": "Zdrav",
"degraded": "Degragirano",
"progressing": "V teku",
"missing": "Manjka",
"suspended": "Prekinjeno"
},
"spoolman": {
"loading": "Nalaganje"
},
"gitlab": {
"groups": "Skupine",
"issues": "Težave",
"merges": "Združi zahtevke",
"projects": "Projekti"
}
}

View File

@@ -13,7 +13,7 @@
"ms": "{{value, number}}",
"date": "{{value, date}}",
"relativeDate": "{{value, relativeDate}}",
"duration": "{{value, duration}}",
"uptime": "{{value, uptime}}",
"months": "mo",
"days": "d",
"hours": "h",
@@ -120,7 +120,7 @@
"grid_power": "Grid",
"home_power": "Consumption",
"charge_power": "Charger",
"kilowatt": "kW"
"watt_hour": "Wh"
},
"flood": {
"download": "Download",
@@ -309,16 +309,6 @@
"stopped": "Stopped",
"total": "Total"
},
"suwayomi": {
"download": "Downloaded",
"nondownload": "Non-Downloaded",
"read": "Read",
"unread": "Unread",
"downloadedread": "Downloaded & Read",
"downloadedunread": "Downloaded & Unread",
"nondownloadedread": "Non-Downloaded & Read",
"nondownloadedunread": "Non-Downloaded & Unread"
},
"tailscale": {
"address": "Address",
"expires": "Expires",
@@ -963,49 +953,5 @@
"reminders": "Reminders",
"nextReminder": "Next Reminder",
"none": "None"
},
"vikunja": {
"projects": "Active Projects",
"tasks7d": "Tasks Due This Week",
"tasksOverdue": "Overdue Tasks",
"tasksInProgress": "Tasks In Progress"
},
"headscale": {
"name": "Name",
"address": "Address",
"last_seen": "Last Seen",
"status": "Status",
"online": "Online",
"offline": "Offline"
},
"beszel": {
"name": "Name",
"systems": "Systems",
"up": "Up",
"status": "Status",
"updated": "Updated",
"cpu": "CPU",
"memory": "MEM",
"disk": "Disk",
"network": "NET"
},
"argocd": {
"apps": "Apps",
"synced": "Synced",
"outOfSync": "Out Of Sync",
"healthy": "Healthy",
"degraded": "Degraded",
"progressing": "Progressing",
"missing": "Missing",
"suspended": "Suspended"
},
"spoolman": {
"loading": "Loading"
},
"gitlab": {
"groups": "Groups",
"issues": "Issues",
"merges": "Merge Requests",
"projects": "Projects"
}
}

View File

@@ -13,7 +13,7 @@
"ms": "{{value, number}}",
"date": "{{value, date}}",
"relativeDate": "{{value, relativeDate}}",
"duration": "{{value, duration}}",
"uptime": "{{value, uptime}}",
"months": "mån",
"days": "d",
"hours": "h",
@@ -120,7 +120,7 @@
"grid_power": "Grid",
"home_power": "Consumption",
"charge_power": "Charger",
"kilowatt": "kW"
"watt_hour": "Wh"
},
"flood": {
"download": "Download",
@@ -309,16 +309,6 @@
"stopped": "Stoppade",
"total": "Total"
},
"suwayomi": {
"download": "Nedladdat",
"nondownload": "Non-Downloaded",
"read": "Read",
"unread": "Unread",
"downloadedread": "Downloaded & Read",
"downloadedunread": "Downloaded & Unread",
"nondownloadedread": "Non-Downloaded & Read",
"nondownloadedunread": "Non-Downloaded & Unread"
},
"tailscale": {
"address": "Address",
"expires": "Expires",
@@ -963,49 +953,5 @@
"reminders": "Reminders",
"nextReminder": "Next Reminder",
"none": "None"
},
"vikunja": {
"projects": "Active Projects",
"tasks7d": "Tasks Due This Week",
"tasksOverdue": "Overdue Tasks",
"tasksInProgress": "Tasks In Progress"
},
"headscale": {
"name": "Name",
"address": "Address",
"last_seen": "Last Seen",
"status": "Status",
"online": "Online",
"offline": "Offline"
},
"beszel": {
"name": "Name",
"systems": "Systems",
"up": "Up",
"status": "Status",
"updated": "Updated",
"cpu": "CPU",
"memory": "MEM",
"disk": "Disk",
"network": "NET"
},
"argocd": {
"apps": "Apps",
"synced": "Synced",
"outOfSync": "Out Of Sync",
"healthy": "Healthy",
"degraded": "Degraded",
"progressing": "Progressing",
"missing": "Missing",
"suspended": "Suspended"
},
"spoolman": {
"loading": "Loading"
},
"gitlab": {
"groups": "Groups",
"issues": "Issues",
"merges": "Merge Requests",
"projects": "Projects"
}
}

View File

@@ -13,7 +13,7 @@
"ms": "{{value, number}}",
"date": "{{value, date}}",
"relativeDate": "{{value, relativeDate}}",
"duration": "{{value, duration}}",
"uptime": "{{value, uptime}}",
"months": "mo",
"days": "d",
"hours": "h",
@@ -120,7 +120,7 @@
"grid_power": "Grid",
"home_power": "Consumption",
"charge_power": "Charger",
"kilowatt": "kW"
"watt_hour": "Wh"
},
"flood": {
"download": "Download",
@@ -309,16 +309,6 @@
"stopped": "ఆగిపోయినవి",
"total": "మొత్తం"
},
"suwayomi": {
"download": "డౌన్‌లోడ్ చేయబడింది",
"nondownload": "Non-Downloaded",
"read": "Read",
"unread": "Unread",
"downloadedread": "Downloaded & Read",
"downloadedunread": "Downloaded & Unread",
"nondownloadedread": "Non-Downloaded & Read",
"nondownloadedunread": "Non-Downloaded & Unread"
},
"tailscale": {
"address": "Address",
"expires": "Expires",
@@ -963,49 +953,5 @@
"reminders": "Reminders",
"nextReminder": "Next Reminder",
"none": "None"
},
"vikunja": {
"projects": "Active Projects",
"tasks7d": "Tasks Due This Week",
"tasksOverdue": "Overdue Tasks",
"tasksInProgress": "Tasks In Progress"
},
"headscale": {
"name": "Name",
"address": "Address",
"last_seen": "Last Seen",
"status": "హోదా",
"online": "Online",
"offline": "ఆఫ్‌లైన్"
},
"beszel": {
"name": "Name",
"systems": "Systems",
"up": "Up",
"status": "హోదా",
"updated": "నవీకరించబడింది",
"cpu": "సీపియూ",
"memory": "MEM",
"disk": "Disk",
"network": "NET"
},
"argocd": {
"apps": "Apps",
"synced": "Synced",
"outOfSync": "Out Of Sync",
"healthy": "Healthy",
"degraded": "Degraded",
"progressing": "Progressing",
"missing": "మిస్సింగ్",
"suspended": "Suspended"
},
"spoolman": {
"loading": "Loading"
},
"gitlab": {
"groups": "Groups",
"issues": "Issues",
"merges": "Merge Requests",
"projects": "Projects"
}
}

View File

@@ -13,7 +13,7 @@
"ms": "{{value, number}}",
"date": "{{value, date}}",
"relativeDate": "{{value, relativeDate}}",
"duration": "{{value, duration}}",
"uptime": "{{value, uptime}}",
"months": "mo",
"days": "d",
"hours": "h",
@@ -120,7 +120,7 @@
"grid_power": "Grid",
"home_power": "Consumption",
"charge_power": "Charger",
"kilowatt": "kW"
"watt_hour": "Wh"
},
"flood": {
"download": "ดาวน์โหลด",
@@ -309,16 +309,6 @@
"stopped": "Stopped",
"total": "ทั้งหมด"
},
"suwayomi": {
"download": "Downloaded",
"nondownload": "Non-Downloaded",
"read": "Read",
"unread": "Unread",
"downloadedread": "Downloaded & Read",
"downloadedunread": "Downloaded & Unread",
"nondownloadedread": "Non-Downloaded & Read",
"nondownloadedunread": "Non-Downloaded & Unread"
},
"tailscale": {
"address": "Address",
"expires": "Expires",
@@ -963,49 +953,5 @@
"reminders": "Reminders",
"nextReminder": "Next Reminder",
"none": "None"
},
"vikunja": {
"projects": "Active Projects",
"tasks7d": "Tasks Due This Week",
"tasksOverdue": "Overdue Tasks",
"tasksInProgress": "Tasks In Progress"
},
"headscale": {
"name": "Name",
"address": "Address",
"last_seen": "Last Seen",
"status": "สถานะ",
"online": "Online",
"offline": "ออฟไลน์"
},
"beszel": {
"name": "Name",
"systems": "Systems",
"up": "Up",
"status": "สถานะ",
"updated": "Updated",
"cpu": "ซีพียู",
"memory": "เมม",
"disk": "Disk",
"network": "NET"
},
"argocd": {
"apps": "Apps",
"synced": "Synced",
"outOfSync": "Out Of Sync",
"healthy": "Healthy",
"degraded": "Degraded",
"progressing": "Progressing",
"missing": "Missing",
"suspended": "Suspended"
},
"spoolman": {
"loading": "Loading"
},
"gitlab": {
"groups": "Groups",
"issues": "Issues",
"merges": "Merge Requests",
"projects": "Projects"
}
}

View File

@@ -13,7 +13,7 @@
"ms": "{{value, number}}",
"date": "{{value, date}}",
"relativeDate": "{{value, relativeDate}}",
"duration": "{{value, duration}}",
"uptime": "{{value, uptime}}",
"months": "ay",
"days": "g",
"hours": "sa",
@@ -120,7 +120,7 @@
"grid_power": "Güç",
"home_power": "Tüketim",
"charge_power": "Şarj",
"kilowatt": "kW"
"watt_hour": "Watt/Saat"
},
"flood": {
"download": "İndirme",
@@ -309,16 +309,6 @@
"stopped": "Durduruldu",
"total": "Toplam"
},
"suwayomi": {
"download": "İndirilen",
"nondownload": "Non-Downloaded",
"read": "Okunan",
"unread": "Okunmamış",
"downloadedread": "Downloaded & Read",
"downloadedunread": "Downloaded & Unread",
"nondownloadedread": "Non-Downloaded & Read",
"nondownloadedunread": "Non-Downloaded & Unread"
},
"tailscale": {
"address": "Adres",
"expires": "Geciken",
@@ -863,7 +853,7 @@
"mailcow": {
"domains": "Etki Alanları",
"mailboxes": "Mailboxes",
"mails": "Postalar",
"mails": "Mails",
"storage": "Depo"
},
"netdata": {
@@ -963,49 +953,5 @@
"reminders": "Reminders",
"nextReminder": "Next Reminder",
"none": "None"
},
"vikunja": {
"projects": "Active Projects",
"tasks7d": "Bitişi Bu Hafta Olan Görevler",
"tasksOverdue": "Overdue Tasks",
"tasksInProgress": "Tasks In Progress"
},
"headscale": {
"name": "İsim",
"address": "Adres",
"last_seen": "Son Görülme",
"status": "Durum",
"online": "Çevrimiçi",
"offline": "Çevrimdışı"
},
"beszel": {
"name": "İsim",
"systems": "Systems",
"up": "Yükleme",
"status": "Durum",
"updated": "Güncellendi",
"cpu": "CPU",
"memory": "MEM",
"disk": "Disk",
"network": "NET"
},
"argocd": {
"apps": "Apps",
"synced": "Synced",
"outOfSync": "Out Of Sync",
"healthy": "Sağlıklı",
"degraded": "Degraded",
"progressing": "Progressing",
"missing": "Eksik",
"suspended": "Suspended"
},
"spoolman": {
"loading": "Yükleniyor"
},
"gitlab": {
"groups": "Groups",
"issues": "Sorunlar",
"merges": "Merge Requests",
"projects": "Projects"
}
}

View File

@@ -13,10 +13,10 @@
"ms": "{{value, number}}",
"date": "{{value, date}}",
"relativeDate": "{{value, relativeDate}}",
"duration": "{{value, duration}}",
"uptime": "{{value, uptime}}",
"months": "міс",
"days": нів",
"hours": "год",
"days": "д",
"hours": "г",
"minutes": "хв",
"seconds": "с"
},
@@ -47,7 +47,7 @@
"load": "Завантаження",
"temp": "Температура",
"max": "Макс.",
"uptime": "Онлайн"
"uptime": "Відправка"
},
"unifi": {
"users": "Користувачі",
@@ -61,7 +61,7 @@
"wlan_devices": "WLAN пристрої",
"lan_users": "LAN користувачі",
"wlan_users": "WLAN користувачі",
"up": "Онлайн",
"up": "Відправка",
"down": "Завантаження",
"wait": "Будь ласка, зачекайте",
"empty_data": "Статус підсистеми невідомий"
@@ -75,7 +75,7 @@
"offline": "Офлайн",
"error": "Помилка",
"unknown": "Невідомий",
"healthy": "Здоровий",
"healthy": "Здоров",
"starting": "Запуск",
"unhealthy": "Нездоровий",
"not_found": "Не знайдено",
@@ -99,7 +99,7 @@
},
"emby": {
"playing": "Відтворення",
"transcoding": "Транскодування",
"transcoding": "Перекодування",
"bitrate": "Бітрейт",
"no_active": "Немає активних потоків",
"movies": "Фільми",
@@ -120,11 +120,11 @@
"grid_power": "Сітка",
"home_power": "Споживання",
"charge_power": "Зарядний пристрій",
"kilowatt": "kW"
"watt_hour": "Вт/год"
},
"flood": {
"download": "Завантажено",
"upload": "Відправлено",
"download": "Завантаження",
"upload": "Відправлення",
"leech": "Ліч",
"seed": "Сід"
},
@@ -142,13 +142,13 @@
"connectionStatusDisconnected": "Відключено",
"connectionStatusConnected": "З'єднано",
"uptime": "Час роботи",
"maxDown": "Макс. завантаження",
"maxDown": "Макс. зав",
"maxUp": "Макс. віддача",
"down": "Офлайн",
"up": "Онлайн",
"received": "Отримано",
"sent": "Надіслано",
"externalIPAddress": "Зовнішній IP"
"sent": "Надісл.",
"externalIPAddress": "Зовн. IP"
},
"caddy": {
"upstreams": "Потоки",
@@ -163,11 +163,11 @@
"shows": "Вистави",
"recordings": "Записи",
"scheduled": "Заплановано",
"passes": ропуски"
"passes": ерепустки"
},
"tautulli": {
"playing": "Відтворення",
"transcoding": "Транскодування",
"transcoding": "Перекодування",
"bitrate": "Бітрейт",
"no_active": "Немає активних потоків",
"plex_connection_error": "Перевірте з'єднання Plex"
@@ -197,18 +197,18 @@
},
"rutorrent": {
"active": "Активний",
"upload": "Відправлено",
"download": "Завантажено"
"upload": "Відправлення",
"download": "Завантаження"
},
"transmission": {
"download": "Завантажено",
"upload": "Відправлено",
"download": "Завантаження",
"upload": "Відправлення",
"leech": "Ліч",
"seed": "Сід"
},
"qbittorrent": {
"download": "Завантажено",
"upload": "Відправлено",
"download": "Завантаження",
"upload": "Відправлення",
"leech": "Ліч",
"seed": "Сід"
},
@@ -221,18 +221,18 @@
"invalid": "Недійсний"
},
"deluge": {
"download": "Завантажено",
"upload": "Відправлено",
"download": "Завантаження",
"upload": "Відправлення",
"leech": "Ліч",
"seed": "Сід"
},
"develancacheui": {
"cachehitbytes": "Кеш-хіт байт",
"cachemissbytes": "Кеш-міс байт"
"cachehitbytes": "Cache Hit Bytes",
"cachemissbytes": "Cache Miss Bytes"
},
"downloadstation": {
"download": "Завантажено",
"upload": "Відправлено",
"download": "Завантаження",
"upload": "Відправлення",
"leech": "Ліч",
"seed": "Сід"
},
@@ -300,8 +300,8 @@
"latency": "Затримка"
},
"speedtest": {
"upload": "Відправлено",
"download": "Завантажено",
"upload": "Відправлення",
"download": "Завантаження",
"ping": "Пінг"
},
"portainer": {
@@ -309,16 +309,6 @@
"stopped": "Зупинено",
"total": "Усього"
},
"suwayomi": {
"download": "Завантажено",
"nondownload": "Не завантажено",
"read": "Прочитано",
"unread": "Не прочитано",
"downloadedread": "Завантажено та Прочитано",
"downloadedunread": "Завантажено та Непрочитано",
"nondownloadedread": "Не завантажено та Прочитано",
"nondownloadedunread": "Не завантажено та Не прочитано"
},
"tailscale": {
"address": "Адреса",
"expires": "Дійсний до",
@@ -335,15 +325,15 @@
},
"technitium": {
"totalQueries": "Запити",
"totalNoError": "Успішно",
"totalServerFailure": "Помилки",
"totalNxDomain": "NX Домени",
"totalRefused": "Відмовлено",
"totalAuthoritative": "Авторитетні",
"totalRecursive": "Рекурсивні",
"totalCached": "Кешовані",
"totalNoError": "Success",
"totalServerFailure": "Failures",
"totalNxDomain": "NX Domains",
"totalRefused": "Refused",
"totalAuthoritative": "Authoritative",
"totalRecursive": "Recursive",
"totalCached": "Cached",
"totalBlocked": "Заблоковано",
"totalDropped": "Видалені",
"totalDropped": "Dropped",
"totalClients": "Клієнти"
},
"tdarr": {
@@ -434,12 +424,12 @@
"temp": "Температура",
"_temp": "Темп.",
"warn": "Увага",
"uptime": "Онлайн",
"uptime": "Відправка",
"total": "Усього",
"free": "Вільно",
"used": "Використано",
"days": нів",
"hours": "год",
"days": "д",
"hours": "г",
"crit": "Крит",
"read": "Прочитано",
"write": "Написати",
@@ -825,77 +815,77 @@
},
"openwrt": {
"uptime": "Час роботи",
"cpuLoad": "Сер. навантаження ЦП (5 хв)",
"cpuLoad": "CPU Load Avg (5m)",
"up": "Онлайн",
"down": "Офлайн",
"bytesTx": "Передано",
"bytesTx": "Transmitted",
"bytesRx": "Отримано"
},
"uptimerobot": {
"status": "Стан",
"uptime": "Час роботи",
"lastDown": "Останній час простою",
"downDuration": "Тривалість простою",
"lastDown": "Last Downtime",
"downDuration": "Downtime Duration",
"sitesUp": "Активні сайти",
"sitesDown": "Неактивні сайти",
"paused": "Призупинено",
"notyetchecked": "Ще не перевірено",
"notyetchecked": "Not Yet Checked",
"up": "Онлайн",
"seemsdown": "Вірогідно в простої",
"seemsdown": "Seems Down",
"down": "Офлайн",
"unknown": "Невідомий"
},
"calendar": {
"inCinemas": "У кінотеатрах",
"physicalRelease": "Фізичний реліз",
"digitalRelease": "Цифровий реліз",
"noEventsToday": "Події на сьогодні відсутні",
"noEventsFound": "Події не знайдено"
"inCinemas": "In cinemas",
"physicalRelease": "Physical release",
"digitalRelease": "Digital release",
"noEventsToday": "No events for today!",
"noEventsFound": "No events found"
},
"romm": {
"platforms": "Платформи",
"totalRoms": "Ігри",
"saves": "Збереження",
"states": "Штати",
"screenshots": "Знімки екрану",
"totalfilesize": "Загальний обсяг"
"platforms": "Platforms",
"totalRoms": "Games",
"saves": "Saves",
"states": "States",
"screenshots": "Screenshots",
"totalfilesize": "Total Size"
},
"mailcow": {
"domains": "Домени",
"mailboxes": "Пошта",
"mails": "Листи",
"mailboxes": "Mailboxes",
"mails": "Mails",
"storage": "Сховище"
},
"netdata": {
"warnings": "Попередження",
"criticals": "Критичні"
"criticals": "Criticals"
},
"plantit": {
"events": "Події",
"plants": "Рослини",
"events": "Events",
"plants": "Plants",
"photos": "Фотографії",
"species": "Види"
"species": "Species"
},
"gitea": {
"notifications": "Сповіщення",
"issues": "Питання",
"pulls": "Pull-запити"
"pulls": "Pull Requests"
},
"stash": {
"scenes": "Сцени",
"scenesPlayed": "Зіграні сцени",
"playCount": "Всього п'єс",
"playDuration": "Переглянуто",
"sceneSize": "Розміри сцен",
"sceneDuration": "Тривалість сцен",
"images": "Зображення",
"imageSize": "Розміри зображень",
"galleries": "Галереї",
"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": "Виконавці",
"studios": "Студії",
"studios": "Studios",
"movies": "Фільми",
"tags": "Теги",
"oCount": "Кількість O"
"oCount": "O Count"
},
"tandoor": {
"users": "Користувачі",
@@ -903,16 +893,16 @@
"keywords": "Ключові слова"
},
"homebox": {
"items": "Речі",
"totalWithWarranty": "З гарантією",
"items": "Items",
"totalWithWarranty": "With Warranty",
"locations": "Місцезнаходження",
"labels": "Мітки",
"users": "Користувачі",
"totalValue": "Загальне значення"
"totalValue": "Total Value"
},
"crowdsec": {
"alerts": "Оповіщення",
"bans": "Блокування"
"bans": "Bans"
},
"wgeasy": {
"connected": "З'єднано",
@@ -921,21 +911,21 @@
"total": "Усього"
},
"swagdashboard": {
"proxied": "Пропущено через проксі",
"auth": "З аутентифікацією",
"outdated": "Застаріле",
"banned": "Заблоковано"
"proxied": "Proxied",
"auth": "With Auth",
"outdated": "Outdated",
"banned": "Banned"
},
"myspeed": {
"ping": "Пінг",
"download": "Завантажено",
"upload": "Відправлено"
"download": "Завантаження",
"upload": "Відправлення"
},
"stocks": {
"stocks": "Акції",
"stocks": "Stocks",
"loading": "Завантажую",
"open": "Відкрито - ринок США",
"closed": "Закрито - ринок США",
"open": "Open - US Market",
"closed": "Closed - US Market",
"invalidConfiguration": "Неприпустима конфігурація"
},
"frigate": {
@@ -944,68 +934,24 @@
"version": "Версія"
},
"linkwarden": {
"links": "Посилання",
"collections": "Колекції",
"links": "Links",
"collections": "Collections",
"tags": "Теги"
},
"zabbix": {
"unclassified": "Не визначено",
"unclassified": "Not classified",
"information": "Інформація",
"warning": "Попередження",
"average": "Середнє",
"high": "Високе",
"disaster": "Катастрофа"
"warning": "Warning",
"average": "Average",
"high": "High",
"disaster": "Disaster"
},
"lubelogger": {
"vehicle": "Транспортний засіб",
"vehicles": "Транспортні засоби",
"serviceRecords": "Записи служб",
"reminders": "Нагадування",
"nextReminder": "Наступне нагадування",
"none": "Жодного"
},
"vikunja": {
"projects": "Активні проекти",
"tasks7d": "Завдання цього тижня",
"tasksOverdue": "Прострочені завдання",
"tasksInProgress": "Завдання в процесі"
},
"headscale": {
"name": "Назва",
"address": "Адреса",
"last_seen": "Востаннє у мережі",
"status": "Стан",
"online": "Онлайн",
"offline": "Офлайн"
},
"beszel": {
"name": "Назва",
"systems": "Системи",
"up": "Онлайн",
"status": "Стан",
"updated": "Оновлено",
"cpu": "ЦП",
"memory": "ОЗП",
"disk": "Диск",
"network": "МЕРЕЖА"
},
"argocd": {
"apps": "Додатки",
"synced": "Синхронізовано",
"outOfSync": "Не синхронізовано",
"healthy": "Здоровий",
"degraded": "Деградує",
"progressing": "Прогрес",
"missing": "Відсутній",
"suspended": "Призупинено"
},
"spoolman": {
"loading": "Завантажую"
},
"gitlab": {
"groups": "Групи",
"issues": "Питання",
"merges": "Запити на злиття",
"projects": "Проєкти"
"vehicle": "Vehicle",
"vehicles": "Vehicles",
"serviceRecords": "Service Records",
"reminders": "Reminders",
"nextReminder": "Next Reminder",
"none": "None"
}
}

View File

@@ -13,7 +13,7 @@
"ms": "{{value, number}}",
"date": "{{value, date}}",
"relativeDate": "{{value, relativeDate}}",
"duration": "{{value, duration}}",
"uptime": "{{value, uptime}}",
"months": "mo",
"days": "d",
"hours": "h",
@@ -120,7 +120,7 @@
"grid_power": "Grid",
"home_power": "Consumption",
"charge_power": "Charger",
"kilowatt": "kW"
"watt_hour": "Wh"
},
"flood": {
"download": "Download",
@@ -309,16 +309,6 @@
"stopped": "Stopped",
"total": "Tổng"
},
"suwayomi": {
"download": "Đã tải",
"nondownload": "Non-Downloaded",
"read": "Read",
"unread": "Unread",
"downloadedread": "Downloaded & Read",
"downloadedunread": "Downloaded & Unread",
"nondownloadedread": "Non-Downloaded & Read",
"nondownloadedunread": "Non-Downloaded & Unread"
},
"tailscale": {
"address": "Address",
"expires": "Expires",
@@ -963,49 +953,5 @@
"reminders": "Reminders",
"nextReminder": "Next Reminder",
"none": "None"
},
"vikunja": {
"projects": "Active Projects",
"tasks7d": "Tasks Due This Week",
"tasksOverdue": "Overdue Tasks",
"tasksInProgress": "Tasks In Progress"
},
"headscale": {
"name": "Name",
"address": "Address",
"last_seen": "Last Seen",
"status": "Trạng thái",
"online": "Online",
"offline": "Ngoại tuyến"
},
"beszel": {
"name": "Name",
"systems": "Systems",
"up": "Up",
"status": "Trạng thái",
"updated": "Updated",
"cpu": "CPU",
"memory": "MEM",
"disk": "Disk",
"network": "NET"
},
"argocd": {
"apps": "Apps",
"synced": "Synced",
"outOfSync": "Out Of Sync",
"healthy": "Healthy",
"degraded": "Degraded",
"progressing": "Progressing",
"missing": "Missing",
"suspended": "Suspended"
},
"spoolman": {
"loading": "Loading"
},
"gitlab": {
"groups": "Groups",
"issues": "Issues",
"merges": "Merge Requests",
"projects": "Projects"
}
}

View File

@@ -13,7 +13,7 @@
"ms": "{{value, number}}",
"date": "{{value, date}}",
"relativeDate": "{{value, relativeDate}}",
"duration": "{{value, duration}}",
"uptime": "{{value, uptime}}",
"months": "月",
"days": "天",
"hours": "小時",
@@ -120,7 +120,7 @@
"grid_power": "電網",
"home_power": "電源使用率",
"charge_power": "充電",
"kilowatt": "kW"
"watt_hour": "瓦時 (Wh)"
},
"flood": {
"download": "下載速率",
@@ -309,16 +309,6 @@
"stopped": "暫停",
"total": "全部"
},
"suwayomi": {
"download": "下載咗",
"nondownload": "Non-Downloaded",
"read": "已讀",
"unread": "未讀",
"downloadedread": "Downloaded & Read",
"downloadedunread": "Downloaded & Unread",
"nondownloadedread": "Non-Downloaded & Read",
"nondownloadedunread": "Non-Downloaded & Unread"
},
"tailscale": {
"address": "位址",
"expires": "已失效",
@@ -963,49 +953,5 @@
"reminders": "Reminders",
"nextReminder": "Next Reminder",
"none": "None"
},
"vikunja": {
"projects": "Active Projects",
"tasks7d": "Tasks Due This Week",
"tasksOverdue": "Overdue Tasks",
"tasksInProgress": "Tasks In Progress"
},
"headscale": {
"name": "名稱",
"address": "位址",
"last_seen": "上次連線",
"status": "狀況",
"online": "在線",
"offline": "離線"
},
"beszel": {
"name": "名稱",
"systems": "Systems",
"up": "在線",
"status": "狀況",
"updated": "已更新",
"cpu": "CPU",
"memory": "記憶體",
"disk": "Disk",
"network": "NET"
},
"argocd": {
"apps": "Apps",
"synced": "Synced",
"outOfSync": "Out Of Sync",
"healthy": "健康",
"degraded": "Degraded",
"progressing": "Progressing",
"missing": "缺少",
"suspended": "Suspended"
},
"spoolman": {
"loading": "Loading"
},
"gitlab": {
"groups": "Groups",
"issues": "出版",
"merges": "Merge Requests",
"projects": "Projects"
}
}

View File

@@ -13,7 +13,7 @@
"ms": "{{value, number}}",
"date": "{{value, date}}",
"relativeDate": "{{value, relativeDate}}",
"duration": "{{value, duration}}",
"uptime": "{{value, uptime}}",
"months": "月",
"days": "日",
"hours": "时",
@@ -61,7 +61,7 @@
"wlan_devices": "无线局域网设备",
"lan_users": "局域网用户",
"wlan_users": "无线局域网用户",
"up": "运行时间",
"up": "在线",
"down": "离线",
"wait": "请稍候",
"empty_data": "子系统状态未知"
@@ -120,7 +120,7 @@
"grid_power": "Grid",
"home_power": "Consumption",
"charge_power": "Charger",
"kilowatt": "kW"
"watt_hour": "Wh"
},
"flood": {
"download": "下载",
@@ -227,8 +227,8 @@
"seed": "做种"
},
"develancacheui": {
"cachehitbytes": "缓存命中字节",
"cachemissbytes": "缓存Bytes失败"
"cachehitbytes": "Cache Hit Bytes",
"cachemissbytes": "Cache Miss Bytes"
},
"downloadstation": {
"download": "下载",
@@ -309,16 +309,6 @@
"stopped": "停止",
"total": "总计"
},
"suwayomi": {
"download": "下载",
"nondownload": "Non-Downloaded",
"read": "已读",
"unread": "未读",
"downloadedread": "Downloaded & Read",
"downloadedunread": "Downloaded & Unread",
"nondownloadedread": "Non-Downloaded & Read",
"nondownloadedunread": "Non-Downloaded & Unread"
},
"tailscale": {
"address": "地址",
"expires": "失效",
@@ -337,7 +327,7 @@
"totalQueries": "查询",
"totalNoError": "成功",
"totalServerFailure": "失败",
"totalNxDomain": "",
"totalNxDomain": "NX Domains",
"totalRefused": "已拒绝",
"totalAuthoritative": "权威",
"totalRecursive": "递归",
@@ -734,7 +724,7 @@
},
"prometheus": {
"targets_up": "目标上线",
"targets_down": "目标离线",
"targets_down": "离线目标",
"targets_total": "总目标"
},
"gatus": {
@@ -854,16 +844,16 @@
},
"romm": {
"platforms": "平台",
"totalRoms": "游戏数",
"saves": "已保存",
"states": "状态",
"screenshots": "屏幕截图",
"totalfilesize": "总大小"
"totalRoms": "Games",
"saves": "Saves",
"states": "States",
"screenshots": "Screenshots",
"totalfilesize": "Total Size"
},
"mailcow": {
"domains": "域",
"mailboxes": "邮箱",
"mails": "邮件",
"mailboxes": "Mailboxes",
"mails": "Mails",
"storage": "储存空间"
},
"netdata": {
@@ -932,80 +922,36 @@
"upload": "上传速率"
},
"stocks": {
"stocks": "库存",
"loading": "正在加载",
"open": "打開-美国商店",
"closed": "关闭-美国市场",
"invalidConfiguration": "无效配置"
"stocks": "Stocks",
"loading": "Loading",
"open": "Open - US Market",
"closed": "Closed - US Market",
"invalidConfiguration": "Invalid Configuration"
},
"frigate": {
"cameras": "摄像头",
"cameras": "Cameras",
"uptime": "运行时间",
"version": "版本"
},
"linkwarden": {
"links": "链接",
"collections": "收藏",
"links": "Links",
"collections": "Collections",
"tags": "Tags"
},
"zabbix": {
"unclassified": "未分类",
"unclassified": "Not classified",
"information": "信息",
"warning": "警告",
"average": "平均红包",
"high": "",
"disaster": "灾难"
"warning": "Warning",
"average": "Average",
"high": "High",
"disaster": "Disaster"
},
"lubelogger": {
"vehicle": "载具",
"vehicles": "交通工具",
"serviceRecords": "保养记录",
"reminders": "提示",
"nextReminder": "下次提醒",
"none": ""
},
"vikunja": {
"projects": "积极的项目",
"tasks7d": "本周到期的任务",
"tasksOverdue": "过期的任务",
"tasksInProgress": "正在处理的任务"
},
"headscale": {
"name": "Name",
"address": "地址",
"last_seen": "最后上线",
"status": "状态",
"online": "在线的",
"offline": "离线"
},
"beszel": {
"name": "Name",
"systems": "Systems",
"up": "Up",
"status": "状态",
"updated": "已升级",
"cpu": "CPU",
"memory": "内存",
"disk": "Disk",
"network": "NET"
},
"argocd": {
"apps": "应用程序",
"synced": "Synced",
"outOfSync": "Out Of Sync",
"healthy": "健康",
"degraded": "Degraded",
"progressing": "Progressing",
"missing": "丢失",
"suspended": "Suspended"
},
"spoolman": {
"loading": "正在加载"
},
"gitlab": {
"groups": "Groups",
"issues": "问题",
"merges": "Merge Requests",
"projects": "Projects"
"vehicle": "Vehicle",
"vehicles": "Vehicles",
"serviceRecords": "Service Records",
"reminders": "Reminders",
"nextReminder": "Next Reminder",
"none": "None"
}
}

View File

@@ -13,7 +13,7 @@
"ms": "{{value, number}}",
"date": "{{value, date}}",
"relativeDate": "{{value, relativeDate}}",
"duration": "{{value, duration}}",
"uptime": "{{value, uptime}}",
"months": "月",
"days": "天",
"hours": "小時",
@@ -120,7 +120,7 @@
"grid_power": "電網",
"home_power": "電源使用率",
"charge_power": "充電",
"kilowatt": "kW"
"watt_hour": "瓦時 (Wh)"
},
"flood": {
"download": "下載速率",
@@ -309,16 +309,6 @@
"stopped": "已停止",
"total": "全部"
},
"suwayomi": {
"download": "已下載",
"nondownload": "Non-Downloaded",
"read": "已讀",
"unread": "未讀",
"downloadedread": "Downloaded & Read",
"downloadedunread": "Downloaded & Unread",
"nondownloadedread": "Non-Downloaded & Read",
"nondownloadedunread": "Non-Downloaded & Unread"
},
"tailscale": {
"address": "位址",
"expires": "已失效",
@@ -963,49 +953,5 @@
"reminders": "Reminders",
"nextReminder": "Next Reminder",
"none": "None"
},
"vikunja": {
"projects": "Active Projects",
"tasks7d": "Tasks Due This Week",
"tasksOverdue": "Overdue Tasks",
"tasksInProgress": "Tasks In Progress"
},
"headscale": {
"name": "名稱",
"address": "位址",
"last_seen": "上次連線",
"status": "狀態",
"online": "在線",
"offline": "離線"
},
"beszel": {
"name": "名稱",
"systems": "Systems",
"up": "在線",
"status": "狀態",
"updated": "已更新",
"cpu": "CPU",
"memory": "記憶體",
"disk": "Disk",
"network": "NET"
},
"argocd": {
"apps": "Apps",
"synced": "Synced",
"outOfSync": "Out Of Sync",
"healthy": "健康",
"degraded": "Degraded",
"progressing": "Progressing",
"missing": "缺少",
"suspended": "Suspended"
},
"spoolman": {
"loading": "Loading"
},
"gitlab": {
"groups": "Groups",
"issues": "出版",
"merges": "Merge Requests",
"projects": "Projects"
}
}

View File

@@ -7,13 +7,7 @@ import ErrorBoundary from "components/errorboundry";
import List from "components/bookmarks/list";
import ResolvedIcon from "components/resolvedicon";
export default function BookmarksGroup({
bookmarks,
layout,
disableCollapse,
groupsInitiallyCollapsed,
bookmarksStyle,
}) {
export default function BookmarksGroup({ bookmarks, layout, disableCollapse, groupsInitiallyCollapsed }) {
const panel = useRef();
useEffect(() => {
@@ -70,7 +64,7 @@ export default function BookmarksGroup({
>
<Disclosure.Panel className="transition-all overflow-hidden duration-300 ease-out" ref={panel} static>
<ErrorBoundary>
<List bookmarks={bookmarks.bookmarks} layout={layout} bookmarksStyle={bookmarksStyle} />
<List bookmarks={bookmarks.bookmarks} layout={layout} />
</ErrorBoundary>
</Disclosure.Panel>
</Transition>

View File

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

View File

@@ -4,22 +4,16 @@ import { columnMap } from "../../utils/layout/columns";
import Item from "components/bookmarks/item";
export default function List({ bookmarks, layout, bookmarksStyle }) {
let classes =
layout?.style === "row" ? `grid ${columnMap[layout?.columns]} gap-x-2` : "flex flex-col mt-3 bookmark-list";
const style = {};
if (layout?.iconsOnly || bookmarksStyle === "icons") {
classes = "grid gap-3 mt-3 bookmark-list";
style.gridTemplateColumns = "repeat(auto-fill, minmax(60px, 1fr))";
}
export default function List({ bookmarks, layout }) {
return (
<ul className={classNames(classes)} style={style}>
<ul
className={classNames(
layout?.style === "row" ? `grid ${columnMap[layout?.columns]} gap-x-2` : "flex flex-col",
"mt-3 bookmark-list",
)}
>
{bookmarks.map((bookmark) => (
<Item
key={`${bookmark.name}-${bookmark.href}`}
bookmark={bookmark}
iconOnly={layout?.iconsOnly || bookmarksStyle === "icons"}
/>
<Item key={`${bookmark.name}-${bookmark.href}`} bookmark={bookmark} />
))}
</ul>
);

View File

@@ -129,7 +129,7 @@ export default function QuickLaunch({ servicesAndBookmarks, searchString, setSea
useEffect(() => {
const abortController = new AbortController();
if (searchString.trim().length === 0) setResults([]);
if (searchString.length === 0) setResults([]);
else {
let newResults = servicesAndBookmarks.filter((r) => {
const nameMatch = r.name.toLowerCase().includes(searchString);

View File

@@ -3,13 +3,12 @@ import classNames from "classnames";
import { Disclosure, Transition } from "@headlessui/react";
import { MdKeyboardArrowDown } from "react-icons/md";
import { columnMap } from "../../utils/layout/columns";
import List from "components/services/list";
import ResolvedIcon from "components/resolvedicon";
export default function ServicesGroup({
group,
services,
layout,
fiveColumns,
disableCollapse,
@@ -24,7 +23,7 @@ export default function ServicesGroup({
return (
<div
key={group.name}
key={services.name}
className={classNames(
"services-group",
layout?.style === "row" ? "basis-full" : "basis-full md:basis-1/2 lg:basis-1/3 xl:basis-1/4",
@@ -43,7 +42,7 @@ export default function ServicesGroup({
</div>
)}
<h2 className="flex text-theme-800 dark:text-theme-300 text-xl font-medium service-group-name">
{group.name}
{services.name}
</h2>
<MdKeyboardArrowDown
className={classNames(
@@ -75,31 +74,7 @@ export default function ServicesGroup({
}}
>
<Disclosure.Panel className="transition-all overflow-hidden duration-300 ease-out" ref={panel} static>
<List
groupName={group.name}
services={group.services}
layout={layout}
useEqualHeights={useEqualHeights}
/>
{group.groups?.length > 0 && (
<div
className={`grid ${
layout?.style === "row" ? `grid ${columnMap[layout?.columns]} gap-x-2` : "flex flex-col"
} gap-2`}
>
{group.groups.map((subgroup) => (
<ServicesGroup
key={subgroup.name}
group={subgroup}
layout={layout?.[subgroup.name]}
fiveColumns={fiveColumns}
disableCollapse={disableCollapse}
useEqualHeights={useEqualHeights}
groupsInitiallyCollapsed={groupsInitiallyCollapsed}
/>
))}
</div>
)}
<List group={group} services={services.services} layout={layout} useEqualHeights={useEqualHeights} />
</Disclosure.Panel>
</Transition>
</>

View File

@@ -12,7 +12,7 @@ import Kubernetes from "widgets/kubernetes/component";
import { SettingsContext } from "utils/contexts/settings";
import ResolvedIcon from "components/resolvedicon";
export default function Item({ service, groupName, useEqualHeights }) {
export default function Item({ service, group, useEqualHeights }) {
const hasLink = service.href && service.href !== "#";
const { settings } = useContext(SettingsContext);
const showStats = service.showStats === false ? false : settings.showStats;
@@ -90,14 +90,14 @@ export default function Item({ service, groupName, useEqualHeights }) {
>
{service.ping && (
<div className="flex-shrink-0 flex items-center justify-center service-tag service-ping">
<Ping groupName={groupName} serviceName={service.name} style={statusStyle} />
<Ping group={group} service={service.name} style={statusStyle} />
<span className="sr-only">Ping status</span>
</div>
)}
{service.siteMonitor && (
<div className="flex-shrink-0 flex items-center justify-center service-tag service-site-monitor">
<SiteMonitor groupName={groupName} serviceName={service.name} style={statusStyle} />
<SiteMonitor group={group} service={service.name} style={statusStyle} />
<span className="sr-only">Site monitor status</span>
</div>
)}
@@ -154,9 +154,7 @@ export default function Item({ service, groupName, useEqualHeights }) {
</div>
)}
{service.widgets.map((widget) => (
<Widget widget={widget} service={service} key={widget.index} />
))}
{service.widget && <Widget service={service} />}
</div>
</li>
);

View File

@@ -4,7 +4,7 @@ import { columnMap } from "../../utils/layout/columns";
import Item from "components/services/item";
export default function List({ groupName, services, layout, useEqualHeights }) {
export default function List({ group, services, layout, useEqualHeights }) {
return (
<ul
className={classNames(
@@ -16,7 +16,7 @@ export default function List({ groupName, services, layout, useEqualHeights }) {
<Item
key={[service.container, service.app, service.name].filter((s) => s).join("-")}
service={service}
groupName={groupName}
group={group}
useEqualHeights={layout?.useEqualHeights ?? useEqualHeights}
/>
))}

View File

@@ -1,9 +1,9 @@
import { useTranslation } from "react-i18next";
import useSWR from "swr";
export default function Ping({ groupName, serviceName, style }) {
export default function Ping({ group, service, style }) {
const { t } = useTranslation();
const { data, error } = useSWR(`/api/ping?${new URLSearchParams({ groupName, serviceName }).toString()}`, {
const { data, error } = useSWR(`/api/ping?${new URLSearchParams({ group, service }).toString()}`, {
refreshInterval: 30000,
});

View File

@@ -1,9 +1,9 @@
import { useTranslation } from "react-i18next";
import useSWR from "swr";
export default function SiteMonitor({ groupName, serviceName, style }) {
export default function SiteMonitor({ group, service, style }) {
const { t } = useTranslation();
const { data, error } = useSWR(`/api/siteMonitor?${new URLSearchParams({ groupName, serviceName }).toString()}`, {
const { data, error } = useSWR(`/api/siteMonitor?${new URLSearchParams({ group, service }).toString()}`, {
refreshInterval: 30000,
});

View File

@@ -3,24 +3,22 @@ import { useTranslation } from "next-i18next";
import ErrorBoundary from "components/errorboundry";
import components from "widgets/components";
export default function Widget({ widget, service }) {
export default function Widget({ service }) {
const { t } = useTranslation("common");
const ServiceWidget = components[widget.type];
const ServiceWidget = components[service.widget.type];
const fullService = Object.apply({}, service);
fullService.widget = widget;
if (ServiceWidget) {
return (
<ErrorBoundary>
<ServiceWidget service={fullService} />
<ServiceWidget service={service} />
</ErrorBoundary>
);
}
return (
<div className="bg-theme-200/50 dark:bg-theme-900/20 rounded m-1 flex-1 flex flex-col items-center justify-center p-1 service-missing">
<div className="font-thin text-sm">{t("widget.missing_type", { type: widget.type })}</div>
<div className="font-thin text-sm">{t("widget.missing_type", { type: service.widget.type })}</div>
</div>
);
}

View File

@@ -1,47 +0,0 @@
import useSWR from "swr";
import { FaNetworkWired } from "react-icons/fa";
import { useTranslation } from "next-i18next";
import Resource from "../widget/resource";
import Error from "../widget/error";
export default function Network({ options, refresh = 1500 }) {
const { t } = useTranslation();
// eslint-disable-next-line no-param-reassign
if (options.network === true) options.network = "default";
const { data, error } = useSWR(`/api/widgets/resources?type=network&interfaceName=${options.network}`, {
refreshInterval: refresh,
});
if (error || data?.error) {
return <Error />;
}
if (!data || !data.network || !data.network.rx_sec || !data.network.tx_sec) {
return (
<Resource
icon={FaNetworkWired}
value="- ↑"
label="- ↓"
expandedValue="- ↑"
expandedLabel="- ↓"
percentage="0"
wide
/>
);
}
return (
<Resource
icon={FaNetworkWired}
value={`${t("common.byterate", { value: data.network.tx_sec })} ↑`}
label={`${t("common.byterate", { value: data.network.rx_sec })} ↓`}
expandedValue={`${t("common.bytes", { value: data.network.tx_bytes })} ↑`}
expandedLabel={`${t("common.bytes", { value: data.network.rx_bytes })} ↓`}
expanded={options.expanded}
wide
percentage={(100 * data.network.rx_sec) / (data.network.rx_sec + data.network.tx_sec)}
/>
);
}

View File

@@ -6,7 +6,6 @@ import Cpu from "./cpu";
import Memory from "./memory";
import CpuTemp from "./cputemp";
import Uptime from "./uptime";
import Network from "./network";
export default function Resources({ options }) {
const { expanded, units, diskUnits, tempmin, tempmax } = options;
@@ -24,7 +23,6 @@ export default function Resources({ options }) {
<Disk key={disk} options={{ disk }} expanded={expanded} diskUnits={diskUnits} refresh={refresh} />
))
: options.disk && <Disk options={options} expanded={expanded} diskUnits={diskUnits} refresh={refresh} />}
{options.network && <Network options={options} refresh={refresh} />}
{options.cputemp && (
<CpuTemp expanded={expanded} units={units} refresh={refresh} tempmin={tempmin} tempmax={tempmax} />
)}

View File

@@ -94,7 +94,6 @@ export default function Search({ options }) {
if (
options.showSearchSuggestions &&
(selectedProvider.suggestionUrl || options.suggestionUrl) && // custom providers pass url via options
query.trim().length > 0 &&
query.trim() !== searchSuggestions[0]
) {
fetch(`/api/search/searchSuggestion?query=${encodeURIComponent(query)}&providerName=${selectedProvider.name}`, {

View File

@@ -51,9 +51,7 @@ export default function Widget({ options }) {
key={stock.ticker}
className="rounded h-full text-xs px-1 w-[4.75rem] flex flex-col items-center justify-center"
>
<span className="text-theme-800 dark:text-theme-200 text-xs">
{stock.ticker.split(":").pop()}
</span>
<span className="text-theme-800 dark:text-theme-200 text-xs">{stock.ticker}</span>
{!viewingPercentChange ? (
<span
className={

View File

@@ -1,13 +1,10 @@
import classNames from "classnames";
import { useContext } from "react";
import WidgetIcon from "./widget_icon";
import PrimaryText from "./primary_text";
import SecondaryText from "./secondary_text";
import Raw from "./raw";
import { SettingsContext } from "utils/contexts/settings";
export function getAllClasses(options, additionalClassNames = "") {
if (options?.style?.header === "boxedWidgets") {
if (options?.style?.cardBlur !== undefined) {
@@ -59,17 +56,7 @@ export function getBottomBlock(children) {
}
export default function Container({ children = [], options, additionalClassNames = "" }) {
const { settings } = useContext(SettingsContext);
return options?.href ? (
<a
href={options.href}
target={options.target ?? settings.target ?? "_blank"}
className={getAllClasses(options, `${additionalClassNames} widget-container`)}
>
{getInnerBlock(children)}
{getBottomBlock(children)}
</a>
) : (
return (
<div className={getAllClasses(options, `${additionalClassNames} widget-container`)}>
{getInnerBlock(children)}
{getBottomBlock(children)}

View File

@@ -10,7 +10,6 @@ export default function Resource({
percentage,
expanded = false,
additionalClassNames = "",
wide = false,
}) {
const Icon = icon;
@@ -19,11 +18,7 @@ export default function Resource({
className={`flex-none flex flex-row items-center mr-3 py-1.5 information-widget-resource ${additionalClassNames}`}
>
<Icon className="text-theme-800 dark:text-theme-200 w-5 h-5 resource-icon" />
<div
className={`flex flex-col ml-3 text-left ${expanded ? " expanded" : ""} ${
wide ? " min-w-[120px]" : "min-w-[85px]"
}`}
>
<div className={`flex flex-col ml-3 text-left min-w-[85px] ${expanded ? " expanded" : ""}`}>
<div className="text-theme-800 dark:text-theme-200 text-xs flex flex-row justify-between">
<div className="pl-0.5">{value}</div>
<div className="pr-1">{label}</div>

View File

@@ -10,8 +10,6 @@ export default function Document() {
/>
<meta name="mobile-web-app-capable" content="yes" />
<link rel="manifest" href="/site.webmanifest?v=4" crossOrigin="use-credentials" />
<link rel="preload" href="/api/config/custom.css" as="style" />
<link rel="stylesheet" href="/api/config/custom.css" /> {/* eslint-disable-line @next/next/no-css-tags */}
</Head>
<body>
<Main />

View File

@@ -1,6 +1,6 @@
import { CoreV1Api, Metrics } from "@kubernetes/client-node";
import getKubeConfig from "../../../../utils/config/kubernetes";
import getKubeArguments from "../../../../utils/config/kubernetes";
import { parseCpu, parseMemory } from "../../../../utils/kubernetes/kubernetes-utils";
import createLogger from "../../../../utils/logger";
@@ -20,7 +20,7 @@ export default async function handler(req, res) {
const labelSelector = podSelector !== undefined ? podSelector : `${APP_LABEL}=${appName}`;
try {
const kc = getKubeConfig();
const kc = getKubeArguments().config;
if (!kc) {
res.status(500).send({
error: "No kubernetes configuration",

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