Merge remote-tracking branch 'origin/benphelpsMain' into LocalMain

This commit is contained in:
Karl Hudgell 2024-06-14 11:02:05 +01:00
commit 01b7431b66
228 changed files with 10749 additions and 4109 deletions

View File

@ -11,3 +11,6 @@ charset = utf-8
trim_trailing_whitespace = true trim_trailing_whitespace = true
insert_final_newline = true insert_final_newline = true
max_line_length = 120 max_line_length = 120
[*.md]
trim_trailing_whitespace = false

3
.github/FUNDING.yml vendored
View File

@ -1,2 +1,3 @@
github: [gethomepage, benphelps, shamoon] github: [gethomepage]
open_collective: homepage open_collective: homepage
patreon: gethomepage

33
.github/ISSUE_TEMPLATE/bug_report.yml vendored Normal file
View File

@ -0,0 +1,33 @@
name: 🐛 Bug report
description: Please only raise an issue if you've been advised to do so in a GitHub discussion. Thanks! 🙏
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
## ⚠️ Please note
The starting point for a bug report should always be a [GitHub discussion](https://github.com/gethomepage/homepage/discussions/new?category=support)
Thank you for contributing to homepage! ✊
- type: checkboxes
id: pre-flight
attributes:
label: Before submitting, please confirm the following
options:
- label: I confirm this was discussed, and the maintainers suggest I open an issue (note that AI bots are not maintainers).
required: true
- label: I am aware that if I create this issue without a discussion, it will be removed without a response.
required: true
- type: input
id: discussion
attributes:
label: Discussion Link
description: |
Please link to the GitHub discussion that led to this issue.
validations:
required: true
- type: textarea
id: additional
attributes:
label: Additional context
description: Optional
render: Text

View File

@ -2,7 +2,7 @@ blank_issues_enabled: false
contact_links: contact_links:
- name: 🤔 Questions and Help - name: 🤔 Questions and Help
url: https://github.com/gethomepage/homepage/discussions url: https://github.com/gethomepage/homepage/discussions
about: For support or general questions. about: For support, possible bug reports or general questions.
- name: 💬 Chat - name: 💬 Chat
url: https://discord.gg/k4ruYNrudu url: https://discord.gg/k4ruYNrudu
about: Want to discuss homepage with others? Check out our chat. about: Want to discuss homepage with others? Check out our chat.

View File

@ -1,12 +1,12 @@
## Proposed change ## Proposed change
<!-- <!--
Please include a summary of the change. Screenshots and / or videos can also be helpful if appropriate. Please include a summary of the change. Screenshots and/or videos can also be helpful if appropriate.
*** Please see the development guidelines for new widgets: https://gethomepage.dev/latest/more/development/#service-widget-guidelines *** Please see the development guidelines for new widgets: https://gethomepage.dev/latest/more/development/#service-widget-guidelines
*** If you do not follow these guidelines your PR will likely be closed without review. *** If you do not follow these guidelines your PR will likely be closed without review.
New service widgets should include example(s) of relevant relevant API output as well updates to the docs for the new widget. New service widgets should include example(s) of relevant API output as well as updates to the docs for the new widget.
--> -->
Closes # (issue) Closes # (issue)

View File

@ -19,7 +19,7 @@ jobs:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: crowdin action - name: crowdin action
uses: crowdin/github-action@v1 uses: crowdin/github-action@v2
with: with:
upload_translations: false upload_translations: false
download_translations: true download_translations: true

View File

@ -2,15 +2,15 @@ name: Docs
on: on:
push: push:
tags: [ 'v*.*.*' ] tags: ["v*.*.*"]
branches: ['main'] branches: ["main"]
paths: paths:
- 'docs/**' - "docs/**"
- 'mkdocs.yml' - "mkdocs.yml"
pull_request: pull_request:
paths: paths:
- 'docs/**' - "docs/**"
- 'mkdocs.yml' - "mkdocs.yml"
merge_group: merge_group:
workflow_dispatch: workflow_dispatch:
@ -22,16 +22,13 @@ jobs:
name: Linting Checks name: Linting Checks
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
steps: steps:
- - name: Checkout repository
name: Checkout repository
uses: actions/checkout@v4 uses: actions/checkout@v4
- - name: Install python
name: Install python
uses: actions/setup-python@v5 uses: actions/setup-python@v5
with: with:
python-version: 3.x python-version: 3.x
- - name: Check files
name: Check files
uses: pre-commit/action@v3.0.1 uses: pre-commit/action@v3.0.1
test: test:
@ -55,6 +52,7 @@ jobs:
- run: sudo apt-get install pngquant - run: sudo apt-get install pngquant
- run: pip install mike - run: pip install mike
- run: pip install mkdocs-material - run: pip install mkdocs-material
- run: pip install "mkdocs-material[imaging]"
- name: Test Docs Build - name: Test Docs Build
run: MKINSIDERS=false mkdocs build run: MKINSIDERS=false mkdocs build
deploy: deploy:
@ -80,6 +78,7 @@ jobs:
- run: sudo apt-get install pngquant - run: sudo apt-get install pngquant
- run: pip install mike==2.0.0 - run: pip install mike==2.0.0
- run: pip install git+https://${GH_TOKEN}@github.com/benphelps/mkdocs-material-insiders.git - run: pip install git+https://${GH_TOKEN}@github.com/benphelps/mkdocs-material-insiders.git
- run: pip install "mkdocs-material[imaging]"
- name: Set Git config - name: Set Git config
run: | run: |
git config --global user.name "GitHub Action" git config --global user.name "GitHub Action"

View File

@ -42,17 +42,17 @@ jobs:
This issue has been automatically locked since there This issue has been automatically locked since there
has not been any recent activity after it was closed. has not been any recent activity after it was closed.
Please open a new discussion for related concerns. Please open a new discussion for related concerns.
See our [contributing guidelines](https://github.com/gethomepage/homepage/blob/main/CONTRIBUTING.md#automatic-respoistory-maintenance) for more details. See our [contributing guidelines](https://github.com/gethomepage/homepage/blob/main/CONTRIBUTING.md#automatic-repository-maintenance) for more details.
pr-comment: > pr-comment: >
This pull request has been automatically locked since there This pull request has been automatically locked since there
has not been any recent activity after it was closed. has not been any recent activity after it was closed.
Please open a new discussion for related concerns. Please open a new discussion for related concerns.
See our [contributing guidelines](https://github.com/gethomepage/homepage/blob/main/CONTRIBUTING.md#automatic-respoistory-maintenance) for more details. See our [contributing guidelines](https://github.com/gethomepage/homepage/blob/main/CONTRIBUTING.md#automatic-repository-maintenance) for more details.
discussion-comment: > discussion-comment: >
This discussion has been automatically locked since there This discussion has been automatically locked since there
has not been any recent activity after it was closed. has not been any recent activity after it was closed.
Please open a new discussion for related concerns. Please open a new discussion for related concerns.
See our [contributing guidelines](https://github.com/gethomepage/homepage/blob/main/CONTRIBUTING.md#automatic-respoistory-maintenance) for more details. See our [contributing guidelines](https://github.com/gethomepage/homepage/blob/main/CONTRIBUTING.md#automatic-repository-maintenance) for more details.
close-answered-discussions: close-answered-discussions:
name: 'Close Answered Discussions' name: 'Close Answered Discussions'
runs-on: ubuntu-latest runs-on: ubuntu-latest
@ -92,7 +92,7 @@ jobs:
}`; }`;
const commentVariables = { const commentVariables = {
discussion: discussion.id, discussion: discussion.id,
body: 'This discussion has been automatically closed because it was marked as answered. See our [contributing guidelines](https://github.com/gethomepage/homepage/blob/main/CONTRIBUTING.md#automatic-respoistory-maintenance) for more details.', body: 'This discussion has been automatically closed because it was marked as answered. See our [contributing guidelines](https://github.com/gethomepage/homepage/blob/main/CONTRIBUTING.md#automatic-repository-maintenance) for more details.',
} }
await github.graphql(addCommentMutation, commentVariables) await github.graphql(addCommentMutation, commentVariables)
@ -182,7 +182,7 @@ jobs:
}`; }`;
const commentVariables = { const commentVariables = {
discussion: discussion.id, discussion: discussion.id,
body: 'This discussion has been automatically closed due to inactivity. See our [contributing guidelines](https://github.com/gethomepage/homepage/blob/main/CONTRIBUTING.md#automatic-respoistory-maintenance) for more details.', body: 'This discussion has been automatically closed due to inactivity. See our [contributing guidelines](https://github.com/gethomepage/homepage/blob/main/CONTRIBUTING.md#automatic-repository-maintenance) for more details.',
} }
await github.graphql(addCommentMutation, commentVariables); await github.graphql(addCommentMutation, commentVariables);
@ -260,7 +260,7 @@ jobs:
}`; }`;
const commentVariables = { const commentVariables = {
discussion: discussion.id, discussion: discussion.id,
body: 'This discussion has been automatically closed due to lack of community support. See our [contributing guidelines](https://github.com/gethomepage/homepage/blob/main/CONTRIBUTING.md#automatic-respoistory-maintenance) for more details.', body: 'This discussion has been automatically closed due to lack of community support. See our [contributing guidelines](https://github.com/gethomepage/homepage/blob/main/CONTRIBUTING.md#automatic-repository-maintenance) for more details.',
} }
await github.graphql(addCommentMutation, commentVariables); await github.graphql(addCommentMutation, commentVariables);

View File

@ -18,7 +18,7 @@ In short, when you submit code changes, your submissions are understood to be un
## Report bugs using Github [discussions](https://github.com/gethomepage/homepage/discussions) ## Report bugs using Github [discussions](https://github.com/gethomepage/homepage/discussions)
We use GitHub discussions to triage bugs. Report a bug by [opening a new discussion](https://github.com/gethomepage/homepage/discussions/new?category=support); it's that easy! We use GitHub discussions to triage bugs. Report a bug by [opening a new discussion](https://github.com/gethomepage/homepage/discussions/new?category=support); it's that easy! Please do not open an issue unless instructed to do so by a project maintainer.
## Write bug reports with detail, background, and sample configurations ## Write bug reports with detail, background, and sample configurations
@ -48,15 +48,18 @@ Please see information in the docs regarding [code formatting with pre-commit ho
By contributing, you agree that your contributions will be licensed under its GNU General Public License. By contributing, you agree that your contributions will be licensed under its GNU General Public License.
## Use of AI for pull requests
In general, homepage does not accept "AI-generated" PRs. If you choose to use something like that to aid the development process to generate a significant proportion of the pull request, please make sure this is explicitly stated in the PR itself.
## References ## References
This document was adapted from the open-source contribution guidelines for [Facebook's Draft](https://github.com/facebook/draft-js/blob/main/CONTRIBUTING.md) This document was adapted from the open-source contribution guidelines for [Facebook's Draft](https://github.com/facebook/draft-js/blob/main/CONTRIBUTING.md)
# Automatic Respoistory Maintenance ## Automatic Respository Maintenance
The homepage team appreciates all effort and interest from the community in filing bug reports, creating feature requests, sharing ideas and helping other community members. That said, in an effort to keep the repository organized and managebale the project uses automatic handling of certain areas: The homepage team appreciates all effort and interest from the community in filing bug reports, creating feature requests, sharing ideas and helping other community members. That said, in an effort to keep the repository organized and managebale the project uses automatic handling of certain areas:
- Issues that cannot be reproduced will be marked 'stale' after 7 days of inactivity and closed after 14 further days of inactivity.
- Issues, pull requests and discussions that are closed will be locked after 30 days of inactivity. - Issues, pull requests and discussions that are closed will be locked after 30 days of inactivity.
- Discussions with a marked answer will be automatically closed. - Discussions with a marked answer will be automatically closed.
- Discussions in the 'General' or 'Support' categories will be closed after 180 days of inactivity. - Discussions in the 'General' or 'Support' categories will be closed after 180 days of inactivity.

View File

@ -25,6 +25,13 @@
<a href="https://paypal.me/phelpsben" title="Donate"><img alt="GitHub Sponsors" src="https://img.shields.io/github/sponsors/benphelps"></a> <a href="https://paypal.me/phelpsben" title="Donate"><img alt="GitHub Sponsors" src="https://img.shields.io/github/sponsors/benphelps"></a>
</p> </p>
<p align="center">
<a href="https://www.digitalocean.com/?refcode=df14bcb7c016&utm_campaign=Referral_Invite&utm_medium=Referral_Program&utm_source=badge"><img src="https://web-platforms.sfo2.cdn.digitaloceanspaces.com/WWW/Badge%201.svg" alt="DigitalOcean Referral Badge" /></a>
</p>
<p align="center">
<em>Homepage builds are kindly powered by DigitalOcean.</em>
</p>
# Features # Features
With features like quick search, bookmarks, weather support, a wide range of integrations and widgets, an elegant and modern design, and a focus on performance, Homepage is your ideal start to the day and a handy companion throughout it. With features like quick search, bookmarks, weather support, a wide range of integrations and widgets, an elegant and modern design, and a focus on performance, Homepage is your ideal start to the day and a handy companion throughout it.
@ -41,7 +48,7 @@ With features like quick search, bookmarks, weather support, a wide range of int
## Docker Integration ## Docker Integration
Homepage has built-in support for Docker, and can automatically discover and add services to the homepage based on labels. See the [Docker](https://gethomepage.dev/latest/installation/docker/) page for more information. Homepage has built-in support for Docker, and can automatically discover and add services to the homepage based on labels. See the [Docker Service Discovery](https://gethomepage.dev/latest/configs/docker/#automatic-service-discovery) page for more information.
## Service Widgets ## Service Widgets
@ -59,6 +66,10 @@ Homepage is highly customizable, with support for custom themes, custom CSS & JS
For configuration options, examples and more, [please check out the homepage documentation](http://gethomepage.dev). For configuration options, examples and more, [please check out the homepage documentation](http://gethomepage.dev).
## Security Notice 🔒
Please note that when using features such as widgets, Homepage can access personal information (for example from your home automation system) and Homepage currently does not (and is not planned to) include any authentication layer itself. Thus, we recommend homepage be deployed behind a reverse proxy including authentication, SSL etc, and / or behind a VPN.
## With Docker ## With Docker
Using docker compose: Using docker compose:

Binary file not shown.

After

Width:  |  Height:  |  Size: 981 KiB

BIN
docs/assets/sections.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 331 KiB

View File

@ -235,4 +235,4 @@ You can show the docker stats by clicking the status indicator but this can also
showStats: true showStats: true
``` ```
Also see the settings for [show docker stats](docker.md#show-docker-stats). Also see the settings for [show docker stats](settings.md#show-docker-stats).

View File

@ -98,6 +98,8 @@ When the Kubernetes cluster connection has been properly configured, this servic
If you are using multiple instances of homepage, an `instance` annotation can be specified to limit services to a specific instance. If no instance is provided, the service will be visible on all instances. If you are using multiple instances of homepage, an `instance` annotation can be specified to limit services to a specific instance. If no instance is provided, the service will be visible on all instances.
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.
### Traefik IngressRoute support ### 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: 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:

View File

@ -85,7 +85,7 @@ Or you may pass the path to a local image relative to the `/app/public` director
## Theme ## Theme
You can configure a fixed them (and disable the theme switcher) by passing the `theme` option, like so: You can configure a fixed theme (and disable the theme switcher) by passing the `theme` option, like so:
```yaml ```yaml
theme: dark # or light theme: dark # or light
@ -211,13 +211,13 @@ layout:
### Five Columns ### Five Columns
You can add a fifth column (when `style: columns` which is default) by adding: You can add a fifth column to services (when `style: columns` which is default) by adding:
```yaml ```yaml
fiveColumns: true fiveColumns: true
``` ```
By default homepage will max out at 4 columns for column style By default homepage will max out at 4 columns for services with `columns` style
### Collapsible sections ### Collapsible sections
@ -363,7 +363,7 @@ providers:
You can then pass `provider` instead of `apiKey` in your widget configuration. You can then pass `provider` instead of `apiKey` in your widget configuration.
```yaml ```yaml
- weather: - weatherapi:
latitude: 50.449684 latitude: 50.449684
longitude: 30.525026 longitude: 30.525026
provider: weatherapi provider: weatherapi
@ -377,9 +377,10 @@ You can use the 'Quick Launch' feature to search services, perform a web search
There are a few optional settings for the Quick Launch feature: There are a few optional settings for the Quick Launch feature:
- `searchDescriptions`: which lets you control whether item descriptions are included in searches. This is off by default. When enabled, results that match the item name will be placed above those that only match the description. - `searchDescriptions`: which lets you control whether item descriptions are included in searches. This is false by default. When enabled, results that match the item name will be placed above those that only match the description.
- `hideInternetSearch`: disable automatically including the currently-selected web search (e.g. from the widget) as a Quick Launch option. This is false by default, enabling the feature. - `hideInternetSearch`: disable automatically including the currently-selected web search (e.g. from the widget) as a Quick Launch option. This is false by default, enabling the feature.
- `showSearchSuggestions`: shows search suggestions for the internet search. This value will be inherited from the search widget if it is not specified. If it is not specified there either, it will default to false. - `showSearchSuggestions`: show search suggestions for the internet search. If this is not specified then the setting will be inherited from the search widget. If it is not specified there either, it will default to false. For custom providers the `suggestionUrl` needs to be set in order for this to work.
- `provider`: search engine provider. If none is specified it will try to use the provider set for the Search Widget, if neither are present then internet search will be disabled.
- `hideVisitURL`: disable detecting and offering an option to open URLs. This is false by default, enabling the feature. - `hideVisitURL`: disable detecting and offering an option to open URLs. This is false by default, enabling the feature.
```yaml ```yaml
@ -388,6 +389,17 @@ quicklaunch:
hideInternetSearch: true hideInternetSearch: true
showSearchSuggestions: true showSearchSuggestions: true
hideVisitURL: true hideVisitURL: true
provider: google # google, duckduckgo, bing, baidu, brave or custom
```
or for a custom search:
```yaml
quicklaunch:
provider: custom
url: https://www.ecosia.org/search?q=
target: _blank
suggestionUrl: https://ac.ecosia.org/autocomplete?type=list&q=
``` ```
## Homepage Version ## Homepage Version
@ -406,6 +418,8 @@ By default the homepage logfile is written to the a `logs` subdirectory of the `
logpath: /logfile/path logpath: /logfile/path
``` ```
By default, logs are sent both to `stdout` and to a file at the path specified. This can be changed by setting the `LOG_TARGETS` environment variable to one of `both` (default), `stdout` or `file`.
## Show Docker Stats ## Show Docker Stats
You can show all docker stats expanded in `settings.yaml`: You can show all docker stats expanded in `settings.yaml`:

View File

@ -17,3 +17,10 @@ hide:
A modern, <em>fully static, fast</em>, secure <em>fully proxied</em>, highly customizable application dashboard with integrations for over 100 services and translations into multiple languages. Easily configured via YAML files or through docker label discovery. A modern, <em>fully static, fast</em>, secure <em>fully proxied</em>, highly customizable application dashboard with integrations for over 100 services and translations into multiple languages. Easily configured via YAML files or through docker label discovery.
![Alt text](assets/homepage_demo.png) ![Alt text](assets/homepage_demo.png)
<p align="center">
<a href="https://www.digitalocean.com/?refcode=df14bcb7c016&utm_campaign=Referral_Invite&utm_medium=Referral_Program&utm_source=badge"><img src="https://web-platforms.sfo2.cdn.digitaloceanspaces.com/WWW/Badge%203.svg" alt="DigitalOcean Referral Badge" /></a>
</p>
<p align="center">
<em>Homepage builds are kindly powered by DigitalOcean.</em>
</p>

View File

@ -7,6 +7,10 @@ description: Docs intro
You have a few options for deploying homepage, depending on your needs. We offer docker images for a majority of platforms. You can also install and run homepage from source if Docker is not your thing. It can even be installed on Kubernetes with Helm. You have a few options for deploying homepage, depending on your needs. We offer docker images for a majority of platforms. You can also install and run homepage from source if Docker is not your thing. It can even be installed on Kubernetes with Helm.
</p> </p>
!!! danger
Please note that when using features such as widgets, Homepage can access personal information (for example from your home automation system) and Homepage currently does not (and is not planned to) include any authentication layer itself. Thus, we recommend homepage be deployed behind a reverse proxy including authentication, SSL etc, and / or behind a VPN.
<br> <br>
<div class="grid cards" style="margin: 0 auto;" markdown> <div class="grid cards" style="margin: 0 auto;" markdown>

View File

@ -361,3 +361,33 @@ spec:
port: port:
number: 3000 number: 3000
``` ```
### Multiple Replicas
If you plan to deploy homepage with a replica count greater than 1, you may
want to consider enabling sticky sessions on the homepage route. This will
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.
```
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: homepage.example.com
spec:
entryPoints:
- websecure
routes:
- kind: Rule
match: Host(`homepage.example.com`)
services:
- kind: Service
name: homepage
port: 3000
sticky:
cookie:
httpOnly: true
secure: true
sameSite: none
```

View File

@ -39,6 +39,11 @@ Once installed, hooks will run when you commit. If the formatting isn't quite ri
See the [pre-commit documentation](https://pre-commit.com/#install) to get started. See the [pre-commit documentation](https://pre-commit.com/#install) to get started.
## Preferring self-hosted open-source software
In general, homepage is meant to be a dashboard for 'self-hosted' services and we believe it is a small way we can help showcase this kind of software. While exceptions are made, mostly when there is no viable
self-hosted / open-source alternative, we ask that any widgets, etc. are developed primarily for a self-hosted tool.
## New Feature Guidelines ## New Feature Guidelines
- New features should be linked to an existing feature request with at least 10 'up-votes'. The purpose of this requirement is to avoid the addition (and maintenance) of features that might only benefit a small number of users. - New features should be linked to an existing feature request with at least 10 'up-votes'. The purpose of this requirement is to avoid the addition (and maintenance) of features that might only benefit a small number of users.

47
docs/overrides/main.html Normal file
View File

@ -0,0 +1,47 @@
{% extends "base.html" %}
{% block site_nav %}
<!-- Navigation -->
{% if nav %}
{% if page.meta and page.meta.hide %}
{% set hidden = "hidden" if "navigation" in page.meta.hide %}
{% endif %}
<div
class="md-sidebar md-sidebar--primary"
data-md-component="sidebar"
data-md-type="navigation"
{{ hidden }}
>
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
{% include "partials/nav.html" %}
{% if 'widgets/' not in page.url and 'more/' not in page.url %}
<script async type="text/javascript" src="//cdn.carbonads.com/carbon.js?serve=CWYIL2JU&placement=gethomepagedev&format=cover" id="_carbonads_js"></script>
{% endif %}
</div>
</div>
</div>
{% endif %}
<!-- Table of contents -->
{% if "toc.integrate" not in features %}
{% if page.meta and page.meta.hide %}
{% set hidden = "hidden" if "toc" in page.meta.hide %}
{% endif %}
<div
class="md-sidebar md-sidebar--secondary"
data-md-component="sidebar"
data-md-type="toc"
{{ hidden }}
>
<div class="md-sidebar__scrollwrap" style="height: 200px;">
<div class="md-sidebar__inner">
{% include "partials/toc.html" %}
{% if 'widgets/' in page.url or 'more/' in page.url %}
<script async type="text/javascript" src="//cdn.carbonads.com/carbon.js?serve=CWYIL2JU&placement=gethomepagedev&format=cover" id="_carbonads_js"></script>
{% endif %}
</div>
</div>
</div>
{% endif %}
{% endblock %}

View File

@ -1,16 +1,16 @@
[data-md-toggle="search"]:not(:checked) ~ .md-header .md-search__form::after { [data-md-toggle="search"]:not(:checked) ~ .md-header .md-search__form::after {
position: absolute; position: absolute;
top: .3rem; top: 0.3rem;
right: .3rem; right: 0.3rem;
display: block; display: block;
padding: .1rem .4rem; padding: 0.1rem 0.4rem;
color: var(--md-default-fg-color--lighter); color: var(--md-default-fg-color--lighter);
font-weight: bold; font-weight: bold;
font-size: .8rem; font-size: 0.8rem;
border: .05rem solid var(--md-default-fg-color--lighter); border: 0.05rem solid var(--md-default-fg-color--lighter);
border-radius: .1rem; border-radius: 0.1rem;
content: "/"; content: "/";
} }
[data-md-color-scheme="default"][data-md-color-primary="black"] { [data-md-color-scheme="default"][data-md-color-primary="black"] {
[data-md-toggle="search"]:not(:checked) ~ .md-header .md-search__form::after { [data-md-toggle="search"]:not(:checked) ~ .md-header .md-search__form::after {
@ -22,3 +22,23 @@
#glimeRoot * { #glimeRoot * {
font-family: var(--md-text-font) !important; font-family: var(--md-text-font) !important;
} }
#carbonads {
margin-top: 10px;
}
#carbon-responsive {
--carbon-padding: 1em;
--carbon-max-char: 20ch;
--carbon-bg-primary: var(--md-default-bg-color) !important;
--carbon-bg-secondary: var(--md-default-fg-color--lightest) !important;
--carbon-text-color: var(--md-typeset-color) !important;
}
.md-typeset__table {
width: 100%;
}
.md-typeset table:not([class]) {
display: table;
}

View File

@ -0,0 +1,50 @@
---
title: API Guide
description: How to fetch data from an API in Homepage widgets.
---
Homepage provides the `useWidgetAPI` hook to help you fetch data from an API. This hook insures that the data is fetched using a proxy, and is critical for security.
Here is an example of how the `useWidgetAPI` hook looks:
```js title="Fetch data from the stats endpoint"
import useWidgetAPI from "utils/proxy/use-widget-api";
export default function Component({ service }) {
const { data, error } = useWidgetAPI(widget, "stats");
}
```
## `useWidgetAPI`
`useWidgetAPI` takes three possible arguments:
- `widget`: The widget metadata object.
- `endpoint`: The name of the endpoint to fetch data from.
- `params`: An optional object containing query parameters to pass to the API.
### `widget`
The `widget` argument is the metadata object for the widget. It contains information about the API endpoint, proxy handler, and mappings. This object is used by the `useWidgetAPI` hook to fetch data from the API. This is generally passed in as a prop from the parent component.
### `endpoint`
The `endpoint` argument is the name of the endpoint to fetch data from. This is [defined in the widget metadata object](widget.md#endpoint). The `useWidgetAPI` hook uses this argument to determine which endpoint to fetch data from.
If no endpoint is provided, the `useWidgetAPI` hook will call the API endpoint defined in the widget metadata object directly.
### `params`
The `params` argument is an optional object containing query parameters to pass to the API. This is useful for filtering data or passing additional information to the API. This object is passed directly to the API endpoint as query parameters.
Here is an example of how to use the `params` argument:
```js title="Fetch data from the stats endpoint with query parameters"
import useWidgetAPI from "utils/proxy/use-widget-api";
export default function Component({ service }) {
const { data, error } = useWidgetAPI(widget, "stats", { start: "2021-01-01", end: "2021-12-31" });
}
```
The `params` must be [whitelisted in the widget metadata object](widget.md#params). This is done to prevent arbitrary query parameters from being passed to the API.

View File

@ -0,0 +1,102 @@
---
title: Component Guide
description: How to create and configure Homepage widget components.
---
Homepage widgets are built using React components. These components are responsible for fetching data from the API and rendering the widget UI. Homepage provides a set of hooks and utilities to help you build your widget component.
## A Basic Widget Component
Here is an example of a basic widget component:
```js
import { useTranslation } from "next-i18next";
import Container from "components/services/widget/container";
import Block from "components/services/widget/block";
import useWidgetAPI from "utils/proxy/use-widget-api";
export default function Component({ service }) {
const { t } = useTranslation();
const { widget } = service;
const { data, error } = useWidgetAPI(widget, "info");
if (error) {
return <Container service={service} error={error} />;
}
if (!data) {
return (
<Container service={service}>
<Block label="yourwidget.key1" />
<Block label="yourwidget.key2" />
<Block label="yourwidget.key3" />
</Container>
);
}
return (
<Container service={service}>
<Block label="yourwidget.key1" value={t("common.number", { value: data.key1 })} />
<Block label="yourwidget.key2" value={t("common.number", { value: data.key2 })} />
<Block label="yourwidget.key3" value={t("common.number", { value: data.key3 })} />
</Container>
);
}
```
### Breakdown
We'll cover two sections of the widget component: hooks and components.
#### Hooks
**`useTranslation`**
This hook is used to translate text and numerical content in widgets. Homepage provides a set of helpers to help you localize your widgets. You can learn more about translations in the [Translations Guide](translations.md).
**`useWidgetAPI`**
This hook is used to fetch data from the API. We cover this hook in more detail in the [API Guide](api.md).
#### Components
Homepage provides a set of components to help you build your widget UI. These components are designed to provide a consistent layout, and all widgets are expected to use these components.
![Component Sections](../../assets/sections.png)
**`<Container>`**
This component is a wrapper for the widget. It provides a consistent layout for all widgets.
```js
<Container service={service}></Container>
```
`service` is a prop that is passed to the widget component. It contains information about the service that the widget is displaying.
If there is an error fetching data from the API, the `error` prop can be passed to the `Container` component.
```js
<Container service={service} error={error}></Container>
```
**`<Block>`**
This component is used to display a key-value pair. It takes a label and value as props.
```js
<Block label="yourwidget.key1" value={t("common.number", { value: data.key1 })} />
```
The `label` prop is used to look up the translation key in the translation files. The `value` prop is used to display the value of the block. To learn more about translations, please refer to the [Translations Guide](translations.md).
If there is no data available, the `Block` component can be used to display a placeholder layout.
```js
<Container service={service}>
<Block label="yourwidget.key1" />
<Block label="yourwidget.key2" />
<Block label="yourwidget.key3" />
</Container>
```

View File

@ -0,0 +1,289 @@
---
title: Widget Guide
description: How to create a custom widget for Homepage.
---
In this guide, we'll walk through the process of creating a custom widget for Homepage. We'll cover the basic structure of a widget, how to use translations, and how to fetch data from an API. By the end of this guide, you'll have a solid understanding of how to build your own custom widget.
**Prerequisites:**
- Basic knowledge of React and JavaScript
- Familiarity with the Homepage platform
- Understanding of JSON and API interactions
Throughout this guide, we'll use `yourwidget` as a placeholder for the unique name of your custom widget. Replace `yourwidget` with the actual name of your widget. It should contain only lowercase letters and no spaces.
This guide makes use of a fake API, which would return a JSON response as such, when called with the `v1/info` endpoint:
```json
{ "key1": 123, "key2": 456, "key3": 789 }
```
## Set up the widget definition
Create a new folder for your widget in the `src/widgets` directory. Name the folder `yourwidget`.
Inside the `yourwidget` folder, create a new file named `widget.js`. This file will contain the metadata for your widget.
Open the `widget.js` file and add the following code:
```js title="src/widgets/yourwidget/widget.js"
import genericProxyHandler from "utils/proxy/handlers/generic"; // (1)!
const widget = /* (2)! */ {
api: "{url}/{endpoint}" /* (3)! */,
proxyHandler: genericProxyHandler /* (1)! */,
mappings: /* (4)! */ {
info: /* (5)! */ {
endpoint: "v1/info" /* (6)! */,
},
},
};
export default widget;
```
1. We import the `genericProxyHandler` from the `utils/proxy/handlers/generic` module. The `genericProxyHandler` is a generic handler that can be used to fetch data from an API. We then assign the `genericProxyHandler` to the `proxyHandler` property of the `widget` object. There are other handlers available that you can use depending on your requirements. You can also create custom handlers if needed.
2. We define a `widget` object that contains the metadata for the widget.
3. The API endpoint to fetch data from. You can use placeholders like `{url}` and `{endpoint}` to dynamically generate the API endpoint based on the widget configuration.
4. An object that contains mappings for different endpoints. Each mapping should have an `endpoint` property that specifies the endpoint to fetch data from.
5. A mapping named `info` that specifies the `v1/info` endpoint to fetch data from. This would be called from the component as such: `#!js useWidgetAPI(widget, "info");`
6. The `endpoint` property of the `info` mapping specifies the endpoint to fetch data from. There are other properties you can pass to the mapping, such as `method`, `headers`, and `body`.
!!! warning "Important"
All widgets that fetch data from dynamic endpoints should have either `mappings` or an `allowedEndpoints` property.
## Set up translation strings
Homepage uses translated and localized strings for **all text and numerical content** in widgets. English is the default language, and other languages can be added via [Crowdin](https://crowdin.com/project/gethomepage). To add the English translations for your widget, follow these steps:
Open the `public/locales/en/common.js` file.
Add a new object for your widget to the bottom of the list, like this:
```json
"yourwidget": {
"key1": "Value 1",
"key2": "Value 2",
"key3": "Value 3"
}
```
!!! note
Even if you nativly speak another language, you should only add English translations. You can then add translations in your native language via [Crowdin](https://crowdin.com/project/gethomepage), once your widget is merged.
## Create the widget component
Create a new file for your widgets component, named `component.jsx`, in the `src/widgets/yourwidget` directory. We'll build the contents of the `component.jsx` file step by step.
First, we'll import the necessary dependencies:
```js title="src/widgets/yourwidget/component.jsx" linenums="1"
import { useTranslation } from "next-i18next"; // (1)!
import Container from "components/services/widget/container"; // (2)!
import Block from "components/services/widget/block"; // (3)!
import useWidgetAPI from "utils/proxy/use-widget-api"; // (4)!
```
1. `#!js useTranslation()` is a hook provided by `next-i18next` that allows us to access the translation strings
2. `#!jsx <Container>` and `#!jsx <Block>` are custom components that we'll use to structure our widget.
3. `#!jsx <Container>` and `#!jsx <Block>` are custom components that we'll use to structure our widget.
4. `#!js useWidgetAPI(widget, endpoint)` is a custom hook that we'll use to fetch data from an API.
---
Next, we'll define a functional component named `Component` that takes a `service` prop.
```js title="src/widgets/yourwidget/component.jsx" linenums="7"
export default function Component({ service }) {}
```
---
We grab the helper functions from the `useTranslation` hook.
```js title="src/widgets/yourwidget/component.jsx" linenums="8"
const { t } = useTranslation();
```
---
We destructure the `widget` object from the `service` prop. The `widget` object contains the metadata for the widget, such as the API endpoint to fetch data from.
```js title="src/widgets/yourwidget/component.jsx" linenums="9"
const { widget } = service;
```
---
Now, the fun part! We use the `useWidgetAPI` hook to fetch data from an API. The `useWidgetAPI` hook takes two arguments: the `widget` object and the API endpoint to fetch data from. The `useWidgetAPI` hook returns an object with `data` and `error` properties.
```js title="src/widgets/yourwidget/component.jsx" linenums="10"
const { data, error } = useWidgetAPI(widget, "info");
```
!!! tip "API Tips"
You'll see here how part of the API url is built using the `url` and `endpoint` properties from the widget definition.
In this case, we're fetching data from the `info` endpoint. The `info` endpoint is defined in the `mappings` object. So the full API endpoint will be `"{url}/v1/info"`.
The mapping and endpoint are often the same, but must be defined regardless.
---
Next, we check if there's an error or no data.
If there's an error, we return a `Container` and pass it the `service` and `error` as props. The `Container` component will handle displaying the error message.
```js title="src/widgets/yourwidget/component.jsx" linenums="12"
if (error) {
return <Container service={service} error={error} />;
}
```
---
If there's no data, we return a `Container` component with three `Block` components, each with a `label`.
```js title="src/widgets/yourwidget/component.jsx" linenums="16"
if (!data) {
return (
<Container service={service}>
<Block label="yourwidget.key1" />
<Block label="yourwidget.key2" />
<Block label="yourwidget.key3" />
</Container>
);
}
```
This will render the widget with placeholders for the data, i.e., a skeleton view.
!!! tip "Translation Tips"
The `label` prop in the `Block` component corresponds to the translation key we defined earlier in the `common.js` file. All text and numerical content should be translated.
---
If there is data, we return a `Container` component with three `Block` components, each with a `label` and a `value`.
Here we use the `t` function from the `useTranslation` hook to translate the data values. The `t` function takes the translation key and an object with variables to interpolate into the translation string.
We're using the `common.number` translation key to format the data values as numbers. This allows for easy localization of numbers, such as using commas or periods as decimal separators.
There are a large number of `common` numerical translation keys available, which you can learn more about in the [Translation Guide](translations.md).
```js title="src/widgets/yourwidget/component.jsx" linenums="26"
return (
<Container service={service}>
<Block label="yourwidget.key1" value={t("common.number", { value: data.key1 })} />
<Block label="yourwidget.key2" value={t("common.number", { value: data.key2 })} />
<Block label="yourwidget.key3" value={t("common.number", { value: data.key3 })} />
</Container>
);
```
---
Here's the complete `component.jsx` file:
```js title="src/widgets/yourwidget/component.jsx" linenums="1"
import { useTranslation } from "next-i18next";
import Container from "components/services/widget/container";
import Block from "components/services/widget/block";
import useWidgetAPI from "utils/proxy/use-widget-api";
export default function Component({ service }) {
const { t } = useTranslation();
const { widget } = service;
const { data, error } = useWidgetAPI(widget, "info");
if (error) {
return <Container service={service} error={error} />;
}
if (!data) {
return (
<Container service={service}>
<Block label="yourwidget.key1" />
<Block label="yourwidget.key2" />
<Block label="yourwidget.key3" />
</Container>
);
}
return (
<Container service={service}>
<Block label="yourwidget.key1" value={t("common.number", { value: data.key1 })} />
<Block label="yourwidget.key2" value={t("common.number", { value: data.key2 })} />
<Block label="yourwidget.key3" value={t("common.number", { value: data.key3 })} />
</Container>
);
}
```
## Add the widget to the Homepage
To add your widget to the Homepage, you need to register it in the `src/widgets/widgets.js` file.
Open the `src/widgets/widgets.js` file and import the `Component` from your widget's `component.jsx` file. Please keep the alphabetical order.
```js
// ...
import yourwidget from "./yourwidget/widget";
// ...
```
Add `yourwidget` to the `widgets` object. Please keep the alphabetical order.
```js
const widgets = {
// ...
yourwidget: yourwidget,
// ...
};
```
You also need to add the widget to the `components` object in the `src/widgets/components.js` file.
Open the `src/widgets/components.js` file and import the `Component` from your widget's `component.jsx` file.
Please keep the alphabetical order.
```js
const components = {
// ...
yourwidget: dynamic(() => import("./yourwidget/component")),
// ...
};
```
## Using the widget
You can now use your custom widget in your Homepage. Open your `services.yaml` file and add a new service with the `yourwidget` widget.
```yaml
- Services:
- Your Widget:
icon: yourwidget.svg
href: https://example.com/
widget:
type: yourwidget
url: http://127.0.0.1:1337
```
!!! tip "API Tips"
You'll see here how part of the API url is built using the `url` and `endpoint` properties from the widget definition.
We defined the api endpoint as `"{url}/{endpoint}"`. This is where the `url` is defined. So the full API endpoint will be `http://127.0.0.1:1337/{endpoint}`.
---
That's it! You've successfully created a custom widget for Homepage. If you have any questions or need help, feel free to reach out to the Homepage community for assistance. Happy coding!

View File

@ -0,0 +1,34 @@
---
title: Homepage Widget Guides
description: How to create and configure Homepage widgets.
---
Widgets are a core component of Homepage. They are used to display information about your system, services, and environment.
## Overview
If you are new to Homepage widgets, and are looking to create a new widget, please follow along with the guide here: [Widget Guide](guide.md).
### Translations
All text and numerical content in widgets should be translated and localized. English is the default language, and other languages can be added via [Crowdin](https://crowdin.com/project/gethomepage).
The Homepage community prides itself on being multilingual, and we strongly encourage you to add translations for your widgets.
If you are looking to learn more about translations, please refer to the guide here: [Translations Guide](translations.md).
### Widget Component
The widget component is the core of the widget. It is responsible for [fetching data from the API](api.md) and rendering the widget UI. Homepage provides a set of hooks and utilities to help you build your widget component.
If you are looking to learn more about widget components, please refer to the guide here: [Component Guide](component.md).
### Widget Metadata
Widget metadata defines the configuration of the widget. It defines the API endpoint to fetch data from, the proxy handler to use, and any data mappings.
If you are looking to learn more about widget metadata, endpoint and data mapping, please refer to the guide here: [Metadata Guide](widget.md).
If you are looking to learn more about proxy handlers, please refer to the guide here: [Proxies Guide](proxies.md).
If you are looking to learn more making API calls from inside your widget, please refer to the guide here: [API Guide](api.md).

View File

@ -0,0 +1,178 @@
---
title: Proxies Guide
description: How to use and create Homepage widget proxies.
---
Homepage includes a set of built-in proxy handlers that can be used to fetch data from an API. We will go over how to use these proxy handlers and briefly cover how to create your own.
## Available Proxy Handlers
Homepage comes with a few built-in proxy handlers that can be used to fetch data from an API. These handlers are located in the `utils/proxy/handlers` directory.
### `genericProxyHandler`
A proxy handler that makes generally unauthenticated requests to the specified API endpoint.
```js
import genericProxyHandler from "utils/proxy/handlers/generic";
const widgetExample = {
api: "{url}/api/{endpoint}",
proxyHandler: genericProxyHandler,
};
```
You can also pass API keys from the widget configuration to the proxy handler, for authenticated requests.
=== "widget.js"
```js
import genericProxyHandler from "utils/proxy/handlers/generic";
const widgetExample = {
api: "{url}/api/{endpoint}?key={key}",
proxyHandler: genericProxyHandler,
};
```
=== "services.yaml"
```yaml
# Widget Configuration
- Your Widget:
icon: yourwidget.svg
href: https://example.com/
widget:
type: yourwidget
url: http://example.com
key: your-api-key
```
### `credentialedProxyHandler`
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.
=== "widget.js"
```js
import credentialedProxyHandler from "utils/proxy/handlers/credentialed";
const widgetExample = {
api: "{url}/api/{endpoint}?key={key}",
proxyHandler: credentialedProxyHandler,
};
```
=== "services.yaml"
```yaml
- Your Widget:
icon: yourwidget.svg
href: https://example.com/
widget:
type: yourwidget
url: http://127.0.0.1:1337
key: your-api-key
```
### `jsonrpcProxyHandler`
A proxy handler that makes authenticated JSON-RPC requests to the specified API endpoint. Where the endpoint is the method to call.
=== "widget.js"
```js
import jsonrpcProxyHandler from "utils/proxy/handlers/jsonrpc";
const widgetExample = {
api: "{url}/api/jsonrpc",
proxyHandler: jsonrpcProxyHandler,
mappings: {
total: { endpoint: "total" },
average: { endpoint: "average" },
},
};
```
=== "services.yaml"
```yaml
- Your Widget:
icon: yourwidget.svg
href: https://example.com/
widget:
type: yourwidget
url: http://127.0.0.1:1337
username: your-username
password: your-password
```
### `synologyProxyHandler`
A proxy handler that makes authenticated requests to the specified Synology API endpoint. This is used exclusively for Synology DSM services.
=== "widget.js"
```js
import synologyProxyHandler from "utils/proxy/handlers/synology";
const widgetExample = {
api: "{url}/webapi/{cgiPath}?api={apiName}&version={maxVersion}&method={apiMethod}",
proxyHandler: synologyProxyHandler,
mappings: {
system_storage: {
apiName: "SYNO.Core.System",
apiMethod: 'info&type="storage"',
endpoint: "system_storage",
}
},
};
```
=== "services.yaml"
```yaml
- Your Widget:
icon: yourwidget.svg
href: https://example.com/
widget:
type: yourwidget
url: http://127.0.0.1:1337
username: your-username
password: your-password
```
## Creating a Custom Proxy Handler
You can create your own proxy handler to fetch data from an API. A proxy handler is a function that takes a configuration object and returns a function that makes the API request.
The proxy handler function takes three arguments:
- `req`: The request object.
- `res`: The response object.
- `map`: A function that maps the API response to the widget data.
The proxy handler function should return a promise that resolves to the API response.
Here is an example of a simple proxy handler that fetches data from an API and passes it to the widget:
```js
import createLogger from "utils/logger";
import { httpProxy } from "utils/proxy/http";
const logger = createLogger("customProxyHandler");
export default async function customProxyHandler(req, res, map) {
const { url } = req.query;
const [status, contentType, data] = await httpProxy(url);
return res.status(status).send(data);
}
```
Proxy handlers are a complex topic and require a good understanding of JavaScript and the Homepage codebase. If you are new to Homepage, we recommend using the built-in proxy handlers.

View File

@ -0,0 +1,80 @@
---
title: Translations Guide
description: Tips and tricks for translating and localizing Homepage widgets.
---
All text and numerical content in widgets should be translated and localized. English is the default language, and other languages can be added via [Crowdin](https://crowdin.com/project/gethomepage).
The Homepage community prides itself on being multilingual, and we strongly encourage you to add translations for your widgets.
## Translations
Homepage uses the [next-i18next](https://github.com/i18next/next-i18next) library to handle translations. This library provides a set of hooks and utilities to help you localize your widgets, and Homepage has extended this library to support additional features.
=== "component.jsx"
```js
import { useTranslation } from "next-i18next";
import Container from "components/services/widget/container";
import Block from "components/services/widget/block";
export default function Component() {
const { t } = useTranslation();
return (
<Container service={service}>
<Block label="yourwidget.key1" />
<Block label="yourwidget.key2" />
<Block label="yourwidget.key3" />
</Container>
);
}
```
=== "en.json"
```json
"yourwidget": {
"key1": "Value 1",
"key2": "Value 2",
"key3": "Value 3"
}
```
## Common Translations
Homepage provides a set of common translations that you can use in your widgets. These translations are used to format numerical content, dates, and other common elements.
### Numbers
| Key | Translation | Description |
| --------------------- | --------------- | -------------------------------- |
| `common.bytes` | `1,000 B` | Format a number in bytes. |
| `common.bits` | `1,000 bit` | Format a number in bits. |
| `common.bbytes` | `1 KiB` | Format a number in binary bytes. |
| `common.bbits` | `1 Kibit` | Format a number in binary bits. |
| `common.byterate` | `1,000 B/s` | Format a byte rate. |
| `common.bibyterate` | `1 KiB/s` | Format a binary byte rate. |
| `common.bitrate` | `1,000 bit/s` | Format a bit rate. |
| `common.bibitrate` | `1 Kibit/s` | Format a binary bit rate. |
| `common.percent` | `50%` | Format a percentage. |
| `common.number` | `1,000` | Format a number. |
| `common.ms` | `1,000 ms` | Format a number in milliseconds. |
| `common.date` | `2024-01-01` | Format a date. |
| `common.relativeDate` | `1 day ago` | Format a relative date. |
| `common.uptime` | `1 day, 1 hour` | Format an uptime. |
### Text
| Key | Translation | Description |
| ------------------ | ----------- | ------------------ |
| `resources.cpu` | `CPU` | CPU usage. |
| `resources.mem` | `MEM` | Memory usage. |
| `resources.total` | `Total` | Total resource. |
| `resources.free` | `Free` | Free resource. |
| `resources.used` | `Used` | Used resource. |
| `resources.load` | `Load` | Load value. |
| `resources.temp` | `TEMP` | Temperature value. |
| `resources.max` | `Max` | Maximum value. |
| `resources.uptime` | `UP` | Uptime. |

View File

@ -0,0 +1,310 @@
---
title: Metadata Guide
description: How to create and configure Homepage widget metadata.
---
Here, we will go over how to create and configure Homepage widget metadata. Metadata is a JS object that contains information about the widget, such as the API endpoint, proxy handler, and mappings. This metadata is used by Homepage to fetch data from the API and pass it to the widget.
## Widgets Configuration
Here are some examples of how to configure a widget's metadata object.
=== "Basic Example"
```js
import genericProxyHandler from "utils/proxy/handlers/generic";
const widgetExample = {
api: "{url}/api/{endpoint}",
proxyHandler: genericProxyHandler,
mappings: {
stats: { endpoint: "stats" }
},
};
```
=== "Advanced Example"
```js
import credentialedProxyHandler from "utils/proxy/handlers/credentialed";
import { asJson, jsonArrayFilter } from "utils/proxy/api-helpers";
const widgetExample = {
api: "{url}/api/{endpoint}",
proxyHandler: credentialedProxyHandler,
mappings: {
stats: {
endpoint: "stats",
validate: ["total", "average"],
params: ["start", "end"],
},
notices: {
endpoint: "notices",
map: (data) => {
total: asJson(data).length;
},
},
warnings: {
endpoint: "notices",
map: (data) => {
total: jsonArrayFilter(data, (alert) => alert.type === "warning").length;
},
},
},
};
```
A widgets metadata is quite powerful and can be configured in many different ways.
## Configuration Properties
### `api`
The `api` property is a string that represents the URL of the API endpoint that the widget will use to fetch data. The URL can contain placeholders that will be replaced with actual values at runtime. For example, the `{url}` placeholder will be replaced with the URL of the configured widget, and the `{endpoint}` placeholder will be replaced with the value of the `endpoint` property in the `mappings` object.
```js
const widgetExample = {
api: "{url}/api/{endpoint}",
};
```
### `proxyHandler`
The `proxyHandler` property is a function that will be used to make the API request. Homepage includes some built-in proxy handlers that can be used out of the box:
Here is an example of the generic proxy handler that makes unauthenticated requests to the specified API endpoint.
=== "widget.js"
```js
const widgetExample = {
api: "{url}/api/{endpoint}",
proxyHandler: genericProxyHandler,
};
```
=== "services.yaml"
```yaml
- Services:
- Your Widget:
icon: yourwidget.svg
href: https://example.com/
widget:
type: yourwidget
url: http://127.0.0.1:1337
```
If you are looking to learn more about proxy handlers, please refer to the guide here: [Proxies Guide](proxies.md).
### `mappings`
The `mappings` property is an object that contains information about the API endpoint, such as the endpoint name, validation rules, and parameter names. The `mappings` object can contain multiple endpoints, each with its own configuration.
!!! note "Security Note"
The `mappings` or `allowedEndpoints` property is required for the widget to fetch data from more than a static URL. Homepage uses a whitelist approach to ensure that widgets only access allowed endpoints.
```js
import { asJson } from "utils/proxy/api-helpers";
const widgetExample = {
api: "{url}/api/{endpoint}",
mappings: {
// `/api/stats?start=...&end=...`
stats: {
endpoint: "stats",
validate: ["total", "average"],
params: ["start", "end"],
},
// `/api/notices`
notices: {
endpoint: "notices",
map: (data) => {
total: asJson(data).length;
},
},
},
};
```
#### `endpoint`
The `endpoint` property is a string that represents the name of the API endpoint that the widget will use to fetch data. This value will be used to replace the `{endpoint}` placeholder in the `api` property.
```js
const widgetExample = {
api: "{url}/api/{endpoint}",
mappings: {
// `/api/stats`
stats: {
endpoint: "stats",
},
},
};
```
#### `validate`
The `validate` property is an array of strings that represent the keys that should be validated in the API response. If the response does not contain all of the specified keys, the widget will not render.
```js
const widgetExample = {
api: "{url}/api/{endpoint}",
mappings: {
// `/api/stats`
stats: {
endpoint: "stats",
validate: ["total", "average"],
},
},
};
```
This configuration will ensure that the API response contains the `total` and `average` keys before the widget is rendered.
#### `params`
The `params` property is an array of strings that represent the keys that should be passed as parameters to the API endpoint. These keys will be replaced with the actual values at runtime.
=== "widget.js"
```js
const widgetExample = {
api: "{url}/api/{endpoint}",
mappings: {
// `/api/stats?start=...&end=...`
stats: {
endpoint: "stats",
params: ["start", "end"],
},
},
};
```
=== "component.jsx"
```js
const { data: statsData, error: statsError } = useWidgetAPI(widget, "stats", {
start: new Date(Date.now() - 7 * 24 * 60 * 60 * 1000),
end: new Date(),
});
```
This configuration will pass the `start` and `end` keys as parameters to the API endpoint. The values are passed as an object to the `useWidgetAPI` hook.
#### `map`
The `map` property is a function that will be used to transform the API response before it is passed to the widget. This function is passed the raw API response and should return the transformed data.
```js
import { asJson } from "utils/proxy/api-helpers";
const widgetExample = {
api: "{url}/api/{endpoint}",
mappings: {
// `/api/notices`
notices: {
endpoint: "notices",
map: (data) => {
total: asJson(data).length;
},
},
// `/api/notices`
warnings: {
endpoint: "notices",
map: (data) => {
total: asJson(data).filter((alert) => alert.type === "warning").length;
},
},
},
};
```
#### `method`
The `method` property is a string that represents the HTTP method that should be used to make the API request. The default value is `GET`.
```js
const widgetExample = {
api: "{url}/api/{endpoint}",
mappings: {
// `/api/stats`
stats: {
endpoint: "stats",
method: "POST",
},
},
};
```
#### `headers`
The `headers` property is an object that contains additional headers that should be included in the API request. If your endpoint requires specific headers, you can include them here.
```js
const widgetExample = {
api: "{url}/api/{endpoint}",
mappings: {
// `/api/stats`
stats: {
endpoint: "stats",
method: "POST",
headers: {
"Content-Type": "application/json",
},
},
},
};
```
#### `body`
The `body` property is an object that contains the data that should be sent in the request body. This property is only used when the `method` property is set to `POST` or `PUT`.
```js
const widgetExample = {
api: "{url}/api/{endpoint}",
mappings: {
// `/api/graphql`
stats: {
endpoint: "graphql",
method: "POST",
body: {
query: `
query {
stats {
total
average
}
}
`,
},
headers: {
"Content-Type": "application/json",
},
},
},
};
```
### `allowedEndpoints`
The `allowedEndpoints` property is a RegExp that represents the allowed endpoints that the widget can use. If the widget tries to access an endpoint that is not allowed, the request will be blocked.
`allowedEndpoints` can be used when endpoint validation is simple and can be done using a regular expression, and more control is not required.
!!! note "Security Note"
The `mappings` or `allowedEndpoints` property is required for the widget to fetch data from more than a static URL. Homepage uses a whitelist approach to ensure that widgets only access allowed endpoints.
```js
const widgetExample = {
api: "{url}/api/{endpoint}",
allowedEndpoints: /^stats|notices$/,
};
```
This configuration will only allow the widget to access the `stats` and `notices` endpoints.

View File

@ -12,6 +12,7 @@ The Glances widget allows you to monitor the resources (CPU, memory, storage, te
url: http://host.or.ip:port url: http://host.or.ip:port
username: user # optional if auth enabled in Glances username: user # optional if auth enabled in Glances
password: pass # optional if auth enabled in Glances password: pass # optional if auth enabled in Glances
version: 4 # required only if running glances v4 or higher, defaults to 3
cpu: true # optional, enabled by default, disable by setting to false cpu: true # optional, enabled by default, disable by setting to false
mem: true # optional, enabled by default, disable by setting to false mem: true # optional, enabled by default, disable by setting to false
cputemp: true # disabled by default cputemp: true # disabled by default

View File

@ -13,6 +13,8 @@ No registration is required at all! See [https://open-meteo.com/en/docs](https:/
timezone: Europe/Kiev # optional timezone: Europe/Kiev # optional
units: metric # or imperial units: metric # or imperial
cache: 5 # Time in minutes to cache API responses, to stay within limits 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). 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

@ -14,6 +14,8 @@ The free tier "One Call API" is all that's required, you will need to [subscribe
provider: openweathermap provider: openweathermap
apiKey: youropenweathermapkey # required only if not using provider, this reveals api key in requests apiKey: youropenweathermapkey # required only if not using provider, this reveals api key in requests
cache: 5 # Time in minutes to cache API responses, to stay within limits 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). 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

@ -19,6 +19,8 @@ _Note: unfortunately, the package used for getting CPU temp ([systeminformation]
memory: true memory: true
disk: /disk/mount/path disk: /disk/mount/path
cputemp: true cputemp: true
tempmin: 0 # optional, minimum cpu temp
tempmax: 100 # optional, maximum cpu temp
uptime: true uptime: true
units: imperial # only used by cpu temp units: imperial # only used by cpu temp
refresh: 3000 # optional, in ms refresh: 3000 # optional, in ms

View File

@ -15,6 +15,8 @@ The free tier is all that's required, you will need to [register](https://www.we
units: metric # or imperial units: metric # or imperial
apiKey: yourweatherapikey apiKey: yourweatherapikey
cache: 5 # Time in minutes to cache API responses, to stay within limits 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). 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

@ -7,14 +7,13 @@ Learn more about [Authentik](https://github.com/goauthentik/authentik).
This widget reads the number of active users in the system, as well as logins for the last 24 hours. This widget reads the number of active users in the system, as well as logins for the last 24 hours.
You will need to generate an API token for an existing user. To do so follow these steps: You will need to generate an API token for an existing user under `Admin Portal` > `Directory` > `Tokens & App passwords`.
Make sure to set Intent to "API Token".
1. Navigate to the Authentik Admin Portal The account you made the API token for also needs the following **Assigned global permissions** in Authentik:
2. Expand Directory, the click Tokens & App passwords
3. Click the Create button - authentik Core -> Can view User (Model: User)
4. Fill out the dialog making sure to set Intent to API Token - authentik Events -> Can view Event (Model: Event)
5. Click the Create button on the dialog
6. Click the copy button on the far right of the newly created API Token
Allowed fields: `["users", "loginsLast24H", "failedLoginsLast24H"]`. Allowed fields: `["users", "loginsLast24H", "failedLoginsLast24H"]`.

View File

@ -7,10 +7,10 @@ Learn more about [Azure DevOps](https://azure.microsoft.com/en-us/products/devop
This widget has 2 functions: This widget has 2 functions:
1. Pipelines: checks if the relevant pipeline is running or not, and if not, reports the last status.\ 1. Pipelines: checks if the relevant pipeline is running or not, and if not, reports the last status.<br>
Allowed fields: `["result", "status"]`. Allowed fields: `["result", "status"]`.
2. Pull Requests: returns the amount of open PRs, the amount of the PRs you have open, and how many PRs that you open are marked as 'Approved' by at least 1 person and not yet completed.\ 2. Pull Requests: returns the amount of open PRs, the amount of the PRs you have open, and how many PRs that you open are marked as 'Approved' by at least 1 person and not yet completed.<br>
Allowed fields: `["totalPrs", "myPrs", "approved"]`. Allowed fields: `["totalPrs", "myPrs", "approved"]`.
You will need to generate a personal access token for an existing user, see the [azure documentation](https://learn.microsoft.com/en-us/azure/devops/organizations/accounts/use-personal-access-tokens-to-authenticate?view=azure-devops&tabs=Windows#create-a-pat) You will need to generate a personal access token for an existing user, see the [azure documentation](https://learn.microsoft.com/en-us/azure/devops/organizations/accounts/use-personal-access-tokens-to-authenticate?view=azure-devops&tabs=Windows#create-a-pat)

View File

@ -8,5 +8,5 @@ Learn more about [Channels DVR Server](https://getchannels.com/dvr-server/).
```yaml ```yaml
widget: widget:
type: channelsdvrserver type: channelsdvrserver
url: http://192.168.1.55:8089 url: http://server.host.or.ip:port
``` ```

View File

@ -0,0 +1,19 @@
---
title: Crowdsec
description: Crowdsec Widget Configuration
---
Learn more about [Crowdsec](https://crowdsec.net).
See the [crowdsec docs](https://docs.crowdsec.net/docs/local_api/intro/#machines) for information about registering a machine,
in most instances you can use the default credentials (`/etc/crowdsec/local_api_credentials.yaml`).
Allowed fields: `["alerts", "bans"]`.
```yaml
widget:
type: crowdsec
url: http://crowdsechostorip:port
username: localhost # machine_id in crowdsec
password: password
```

View File

@ -11,22 +11,27 @@ An optional 'volume' parameter can be supplied to specify which volume's free sp
Allowed fields: `["uptime", "volumeAvailable", "resources.cpu", "resources.mem"]`. Allowed fields: `["uptime", "volumeAvailable", "resources.cpu", "resources.mem"]`.
To access these system metrics you need to connect to the DiskStation with an account that is a member of the default `Administrators` group. That is because these metrics are requested from the API's `SYNO.Core.System` part that is only available to admin users. In order to keep the security impact as small as possible we can set the account in DSM up to limit the user's permissions inside the Synology system. In DSM 7.x, for instance, follow these steps: To access these system metrics you need to connect to the DiskStation (`DSM`) with an account that is a member of the default `Administrators` group. That is because these metrics are requested from the API's `SYNO.Core.System` part that is only available to admin users. In order to keep the security impact as small as possible we can set the account in DSM up to limit the user's permissions inside the Synology system. In DSM 7.x, for instance, follow these steps:
1. Create a new user, i.e. `remote_stats`. 1. Create a new user, i.e. `remote_stats`.
2. Set up a strong password for the new user 2. Set up a strong password for the new user
3. Under the `User Groups` tab of the user config dialogue check the box for `Administrators`. 3. Under the `User Groups` tab of the user config dialogue check the box for `Administrators`.
4. On the `Permissions` tab check the top box for `No Access`, effectively prohibiting the user from accessing anything in the shared folders. 4. On the `Permissions` tab check the top box for `No Access`, effectively prohibiting the user from accessing anything in the shared folders.
5. Under `Applications` check the box next to `Deny` in the header to explicitly prohibit login to all applications. 5. Under `Applications` check the box next to `Deny` in the header to explicitly prohibit login to all applications.
6. Now _only_ allow login to the `Download Station` application, either by 6. Now _only_ allow login to the `DSM` application, either by
- unchecking `Deny` in the respective row, or (if inheriting permission doesn't work because of other group settings) - unchecking `Deny` in the respective row, or (if inheriting permission doesn't work because of other group settings)
- checking `Allow` for this app, or - checking `Allow` for this app, or
- checking `By IP` for this app to limit the source of login attempts to one or more IP addresses/subnets. - checking `By IP` for this app to limit the source of login attempts to one or more IP addresses/subnets.
7. When the `Preview` column shows `Allow` in the `Download Station` row, click `Save`. 7. When the `Preview` column shows `Allow` in the `DSM` row, click `Save`.
Now configure the widget with the correct login information and test it. Now configure the widget with the correct login information and test it.
If you encounter issues during testing, make sure to uncheck the option for automatic blocking due to invalid logins under `Control Panel > Security > Protection`. If desired, this setting can be reactivated once the login is established working. If you encounter issues during testing:
1. Make sure to uncheck the option for automatic blocking due to invalid logins under `Control Panel > Security > Protection`.
- If desired, this setting can be reactivated once the login is established working.
2. Login to your Synology DSM with the newly created account and accept terms and conditions.
3. Reattempt
```yaml ```yaml
widget: widget:

View File

@ -16,4 +16,7 @@ widget:
key: apikeyapikeyapikeyapikeyapikey key: apikeyapikeyapikeyapikeyapikey
enableBlocks: true # optional, defaults to false enableBlocks: true # optional, defaults to false
enableNowPlaying: true # optional, defaults to true enableNowPlaying: true # optional, defaults to true
enableUser: true # optional, defaults to false
showEpisodeNumber: true # optional, defaults to false
expandOneStreamToTwoRows: false # optional, defaults to true
``` ```

View File

@ -0,0 +1,19 @@
---
title: ESPHome
description: ESPHome Widget Configuration
---
Learn more about [ESPHome](https://esphome.io/).
Show the number of ESPHome devices based on their state.
Allowed fields: `["total", "online", "offline", "offline_alt", "unknown"]` (maximum of 4).
By default ESPHome will only mark devices as `offline` if their address cannot be pinged. If it has an invalid config or its name cannot be resolved (by DNS) its status will be marked as `unknown`.
To group both `offline` and `unknown` devices together, users should use the `offline_alt` field instead. This sums all devices that are _not_ online together.
```yaml
widget:
type: esphome
url: http://esphome.host.or.ip:port
```

View File

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

View File

@ -17,8 +17,11 @@ widget:
url: http://glances.host.or.ip:port url: http://glances.host.or.ip:port
username: user # optional if auth enabled in Glances username: user # optional if auth enabled in Glances
password: pass # optional if auth enabled in Glances password: pass # optional if auth enabled in Glances
version: 4 # required only if running glances v4 or higher, defaults to 3
metric: cpu metric: cpu
diskUnits: bytes # optional, bytes (default) or bbytes. Only applies to disk diskUnits: bytes # optional, bytes (default) or bbytes. Only applies to disk
refreshInterval: 5000 # optional - in milliseconds, defaults to 1000 or more, depending on the metric
pointsLimit: 15 # optional, defaults to 15
``` ```
_Please note, this widget does not need an `href`, `icon` or `description` on its parent service. To achieve the same effect as the examples above, see as an example:_ _Please note, this widget does not need an `href`, `icon` or `description` on its parent service. To achieve the same effect as the examples above, see as an example:_

View File

@ -18,7 +18,7 @@ The `custom` property will have no effect as long as the `fields` property is de
- state labels and values can be user defined and may reference entity attributes in curly brackets - state labels and values can be user defined and may reference entity attributes in curly brackets
- if no state label is defined it will default to `"{attributes.friendly_name}"` - if no state label is defined it will default to `"{attributes.friendly_name}"`
- if no state value is defined it will default to `"{state} {attributes.unit_of_measurement}"` - if no state value is defined it will default to `"{state} {attributes.unit_of_measurement}"`
- `template` will query the specified template, see (Home Assistant Templating)[https://www.home-assistant.io/docs/configuration/templating] - `template` will query the specified template, see [Home Assistant Templating](https://www.home-assistant.io/docs/configuration/templating)
- if no template label is defined it will be empty - if no template label is defined it will be empty
```yaml ```yaml

View File

@ -0,0 +1,23 @@
---
title: Homebox
description: Homebox Widget Configuration
---
Learn more about [Homebox](https://github.com/hay-kot/homebox).
Uses the same username and password used to login from the web.
The `totalValue` field will attempt to format using the currency you have configured in Homebox.
Allowed fields: `["items", "totalWithWarranty", "locations", "labels", "users", "totalValue"]`.
If more than 4 fields are provided, only the first 4 are displayed.
```yaml
widget:
type: homebox
url: http://homebox.host.or.ip:port
username: username
password: password
fields: ["items", "locations", "totalValue"] # optional - default fields shown
```

View File

@ -5,7 +5,7 @@ description: Jackett Widget Configuration
Learn more about [Jackett](https://github.com/Jackett/Jackett). Learn more about [Jackett](https://github.com/Jackett/Jackett).
Jackett must not have any authentication for the widget to work. If Jackett has an admin password set, you must set the `password` field for the widget to work.
Allowed fields: `["configured", "errored"]`. Allowed fields: `["configured", "errored"]`.
@ -13,5 +13,5 @@ Allowed fields: `["configured", "errored"]`.
widget: widget:
type: jackett type: jackett
url: http://jackett.host.or.ip url: http://jackett.host.or.ip
key: jackettapikey password: jackettadminpassword # optional
``` ```

View File

@ -16,4 +16,7 @@ widget:
key: apikeyapikeyapikeyapikeyapikey key: apikeyapikeyapikeyapikeyapikey
enableBlocks: true # optional, defaults to false enableBlocks: true # optional, defaults to false
enableNowPlaying: true # optional, defaults to true enableNowPlaying: true # optional, defaults to true
enableUser: true # optional, defaults to false
showEpisodeNumber: true # optional, defaults to false
expandOneStreamToTwoRows: false # optional, defaults to true
``` ```

View File

@ -3,7 +3,7 @@ title: Medusa
description: Medusa Widget Configuration description: Medusa Widget Configuration
--- ---
Learn more about [Medusa](https://github.com/medusajs/medusa). Learn more about [Medusa](https://github.com/pymedusa/Medusa).
Allowed fields: `["wanted", "queued", "series"]`. Allowed fields: `["wanted", "queued", "series"]`.

View File

@ -3,7 +3,7 @@ title: MJPEG
description: MJPEG Stream Widget Configuration description: MJPEG Stream Widget Configuration
--- ---
![camera-preview](https://github.com/gethomepage/homepage-docs/assets/82196/dc375ae3-0670-489f-8db6-83ff1f423d12) ![camera-preview](https://github.com/gethomepage/homepage/assets/4887959/dbc388d7-04a6-482c-8f36-f9534689b062)
Pass the stream URL from a service like [µStreamer](https://github.com/pikvm/ustreamer) or [camera-streamer](https://github.com/ayufan/camera-streamer). Pass the stream URL from a service like [µStreamer](https://github.com/pikvm/ustreamer) or [camera-streamer](https://github.com/ayufan/camera-streamer).

View File

@ -0,0 +1,16 @@
---
title: NetAlertX
description: NetAlertX (formerly PiAlert) Widget Configuration
---
Learn more about [NetAlertX](https://github.com/jokob-sk/NetAlertX).
_Note that the project was renamed from PiAlert to NetAlertX._
Allowed fields: `["total", "connected", "new_devices", "down_alerts"]`.
```yaml
widget:
type: netalertx
url: http://ip:port
```

View File

@ -26,7 +26,7 @@ In order for homepage to access the OpenWRT RPC endpoints you will need to [crea
Create an ACL named `homepage.json` in `/usr/share/rpcd/acl.d/`, the following permissions will suffice: Create an ACL named `homepage.json` in `/usr/share/rpcd/acl.d/`, the following permissions will suffice:
``` ```json
{ {
"homepage": { "homepage": {
"description": "Homepage widget", "description": "Homepage widget",
@ -34,21 +34,27 @@ Create an ACL named `homepage.json` in `/usr/share/rpcd/acl.d/`, the following p
"ubus": { "ubus": {
"network.interface.wan": ["status"], "network.interface.wan": ["status"],
"network.interface.lan": ["status"], "network.interface.lan": ["status"],
"network.device": ["status"] "network.device": ["status"],
"system": ["info"] "system": ["info"]
} }
}, }
} }
} }
``` ```
Then add a user that will use that ACL in `/etc/config/rpc`: Create a `crypt(5)` password hash using the following command in the OpenWRT shell:
```config login ```sh
uhttpd -m "<somepassphrase>"
```
Then add a user that will use the ACL and hashed password in `/etc/config/rpcd`:
```
config login
option username 'homepage' option username 'homepage'
option password '<password>' option password '<hashedpassword>'
list read homepage list read homepage
list write '*'
``` ```
This username and password will be used in Homepage's services.yaml to grant access. This username and password will be used in Homepage's services.yaml to grant access.

View File

@ -9,7 +9,7 @@ This widget adds support for [Network UPS Tools](https://networkupstools.org/) v
The default ups name is `ups`. To configure more than one ups, you must create multiple peanut services. The default ups name is `ups`. To configure more than one ups, you must create multiple peanut services.
Allowed fields: `["battery_charge", "ups_load", "ups_status"]` Allowed fields: `["battery_charge", "ups_load", "ups_status"]`.
!!! note !!! note

View File

@ -9,9 +9,9 @@ This widget requires the installation of the [pfsense-api](https://github.com/ja
Once pfSense API is installed, you can set the API to be read-only in System > API > Settings. Once pfSense API is installed, you can set the API to be read-only in System > API > Settings.
Currently the only supported authentication mode is 'Local Database'. There are two currently supported authentication modes: 'Local Database' and 'API Token'. For 'Local Database', use `username` and `password` with the credentials of an admin user. For 'API Token', utilize the `headers` parameter with `client_token` and `client_id` obtained from pfSense as shown below. Do not use both headers and username / password.
WAN interface to monitor can be defined by updating the `wan` param. The interface to monitor is defined by updating the `wan` parameter. It should be referenced as it is shown under Interfaces > Assignments in pfSense.
Load is returned instead of cpu utilization. This is a limitation in the pfSense API due to the complexity of this calculation. This may become available in future versions. Load is returned instead of cpu utilization. This is a limitation in the pfSense API due to the complexity of this calculation. This may become available in future versions.
@ -21,7 +21,10 @@ Allowed fields: `["load", "memory", "temp", "wanStatus", "wanIP", "disk"]` (maxi
widget: widget:
type: pfsense type: pfsense
url: http://pfsense.host.or.ip:port url: http://pfsense.host.or.ip:port
username: user username: user # optional, or API token
password: pass password: pass # optional, or API token
headers: # optional, or username/password
Authorization: client_id client_token
wan: igb0 wan: igb0
fields: ["load", "memory", "temp", "wanStatus"] # optional
``` ```

View File

@ -1,16 +0,0 @@
---
title: PiAlert
description: PiAlert Widget Configuration
---
Learn more about [PiAlert](https://github.com/jokob-sk/Pi.Alert).
Note that [pucherot/PiAlert](https://github.com/pucherot/Pi.Alert) has been abandoned and might not work properly.
Allowed fields: `["total", "connected", "new_devices", "down_alerts"]`.
```yaml
widget:
type: pialert
url: http://ip:port
```

View File

@ -9,11 +9,14 @@ As of v2022.12 [PiHole requires the use of an API key](https://pi-hole.net/blog/
Allowed fields: `["queries", "blocked", "blocked_percent", "gravity"]`. Allowed fields: `["queries", "blocked", "blocked_percent", "gravity"]`.
Note: by default the "blocked" and "blocked_percent" fields are merged e.g. "1,234 (15%)" but explicitly including the "blocked_percent" field will change them to display separately.
```yaml ```yaml
widget: widget:
type: pihole type: pihole
url: http://pi.hole.or.ip url: http://pi.hole.or.ip
version: 6 # required if running v6 or higher, defaults to 5
key: yourpiholeapikey # optional key: yourpiholeapikey # optional
``` ```
_Added in v0.1.0, updated in v0.6.18_ _Added in v0.1.0, updated in v0.8.9_

View File

@ -7,6 +7,8 @@ Learn more about [Plantit](https://github.com/MDeLuise/plant-it).
API key can be created from the REST API. API key can be created from the REST API.
Allowed fields: `["events", "plants", "photos", "species"]`.
```yaml ```yaml
widget: widget:
type: plantit type: plantit

View File

@ -14,4 +14,7 @@ widget:
type: tautulli type: tautulli
url: http://tautulli.host.or.ip url: http://tautulli.host.or.ip
key: apikeyapikeyapikeyapikeyapikey key: apikeyapikeyapikeyapikeyapikey
enableUser: true # optional, defaults to false
showEpisodeNumber: true # optional, defaults to false
expandOneStreamToTwoRows: false # optional, defaults to true
``` ```

View File

@ -5,7 +5,7 @@ description: Prometheus Widget Configuration
Learn more about [Prometheus](https://github.com/prometheus/prometheus). Learn more about [Prometheus](https://github.com/prometheus/prometheus).
Allowed fields: `["targets_up", "targets_down", "targets_total"]` Allowed fields: `["targets_up", "targets_down", "targets_total"]`.
```yaml ```yaml
widget: widget:

View File

@ -5,7 +5,7 @@ description: Pterodactyl Widget Configuration
Learn more about [Pterodactyl](https://github.com/pterodactyl). Learn more about [Pterodactyl](https://github.com/pterodactyl).
Allowed fields: `["nodes", "servers"]` Allowed fields: `["nodes", "servers"]`.
```yaml ```yaml
widget: widget:

View File

@ -16,4 +16,5 @@ Allowed fields: `["download", "upload", "ping"]`.
widget: widget:
type: speedtest type: speedtest
url: http://speedtest.host.or.ip url: http://speedtest.host.or.ip
bitratePrecision: 3 # optional, default is 0
``` ```

View File

@ -0,0 +1,20 @@
---
title: Stash
description: Stash Widget Configuration
---
Learn more about [Stash](https://github.com/stashapp/stash).
Find your API key from inside Stash at `Settings > Security > API Key`. Note that the API key is only required if your Stash instance has login credentials.
Allowed fields: `["scenes", "scenesPlayed", "playCount", "playDuration", "sceneSize", "sceneDuration", "images", "imageSize", "galleries", "performers", "studios", "movies", "tags", "oCount"]`.
If more than 4 fields are provided, only the first 4 are displayed.
```yaml
widget:
type: stash
url: http://stash.host.or.ip
key: stashapikey
fields: ["scenes", "images"] # optional - default fields shown
```

View File

@ -0,0 +1,14 @@
---
title: SWAG Dashboard
description: SWAG Dashboard Widget Configuration
---
Learn more about [SWAG Dashboard](https://github.com/linuxserver/docker-mods/tree/swag-dashboard).
Allowed fields: `["proxied", "auth", "outdated", "banned"]`.
```yaml
widget:
type: swagdashboard
url: http://swagdashboard.host.or.ip:adminport # default port is 81
```

View File

@ -0,0 +1,15 @@
---
title: Tandoor
description: Tandoor Widget Configuration
---
Generate a user API key under `Settings > API > Generate`. For the token's scope, use `read`.
Allowed fields: `["users", "recipes", "keywords"]`.
```yaml
widget:
type: tandoor
url: http://tandoor-frontend.host.or.ip
key: tandoor-api-token
```

View File

@ -11,6 +11,8 @@ To create an API Key, follow [the official TrueNAS documentation](https://www.tr
A detailed pool listing is disabled by default, but can be enabled with the `enablePools` option. A detailed pool listing is disabled by default, but can be enabled with the `enablePools` option.
To use the `enablePools` option with TrueNAS Core, the `nasType` parameter is required.
```yaml ```yaml
widget: widget:
type: truenas type: truenas
@ -19,4 +21,5 @@ widget:
password: pass # not required if using api key password: pass # not required if using api key
key: yourtruenasapikey # not required if using username / password key: yourtruenasapikey # not required if using username / password
enablePools: true # optional, defaults to false enablePools: true # optional, defaults to false
nasType: scale # defaults to scale, must be set to 'core' if using enablePools with TrueNAS Core
``` ```

View File

@ -5,7 +5,7 @@ description: Uptime Kuma Widget Configuration
Learn more about [Uptime Kuma](https://github.com/louislam/uptime-kuma). Learn more about [Uptime Kuma](https://github.com/louislam/uptime-kuma).
As Uptime Kuma does not yet have a full API the widget uses data from a single "status page". As such you will need a status page setup with a group of monitored sites, which is where you get the slug (without the `/status/` portion). As Uptime Kuma does not yet have a full API the widget uses data from a single "status page". As such you will need a status page setup with a group of monitored sites, which is where you get the slug (the url without the `/status/` portion). E.g. if your status page is URL http://uptimekuma.host/status/statuspageslug, insert `slug: statuspageslug`.
Allowed fields: `["up", "down", "uptime", "incident"]`. Allowed fields: `["up", "down", "uptime", "incident"]`.

View File

@ -0,0 +1,20 @@
---
title: Wg-Easy
description: Wg-Easy Widget Configuration
---
Learn more about [Wg-Easy](https://github.com/wg-easy/wg-easy).
Allowed fields: `["connected", "enabled", "disabled", "total"]`.
Note: by default `["connected", "enabled", "total"]` are displayed.
To detect if a device is connected the time since the last handshake is queried. `threshold` is the time to wait in minutes since the last handshake to consider a device connected. Default is 2 minutes.
```yaml
widget:
type: wgeasy
url: http://wg.easy.or.ip
password: yourwgeasypassword
threshold: 2 # optional
```

View File

@ -1,11 +1,9 @@
--- ---
title: Whats Up Docker title: What's Up Docker
description: WhatsUpDocker Widget Configuration description: What's Up Docker Widget Configuration
--- ---
Learn more about [Whats Up Docker](https://github.com/fmartinou/whats-up-docker). Learn more about [What's Up Docker](https://github.com/fmartinou/whats-up-docker).
Currently requires unauthenticated whatsupdocker instance.
Allowed fields: `["monitoring", "updates"]`. Allowed fields: `["monitoring", "updates"]`.
@ -13,4 +11,6 @@ Allowed fields: `["monitoring", "updates"]`.
widget: widget:
type: whatsupdocker type: whatsupdocker
url: http://whatsupdocker:port url: http://whatsupdocker:port
username: username # optional
password: password # optional
``` ```

View File

@ -44,11 +44,13 @@ nav:
- widgets/services/channelsdvrserver.md - widgets/services/channelsdvrserver.md
- widgets/services/cloudflared.md - widgets/services/cloudflared.md
- widgets/services/coin-market-cap.md - widgets/services/coin-market-cap.md
- widgets/services/crowdsec.md
- widgets/services/customapi.md - widgets/services/customapi.md
- widgets/services/deluge.md - widgets/services/deluge.md
- widgets/services/diskstation.md - widgets/services/diskstation.md
- widgets/services/downloadstation.md - widgets/services/downloadstation.md
- widgets/services/emby.md - widgets/services/emby.md
- widgets/services/esphome.md
- widgets/services/evcc.md - widgets/services/evcc.md
- widgets/services/fileflows.md - widgets/services/fileflows.md
- widgets/services/flood.md - widgets/services/flood.md
@ -65,6 +67,7 @@ nav:
- widgets/services/hdhomerun.md - widgets/services/hdhomerun.md
- widgets/services/healthchecks.md - widgets/services/healthchecks.md
- widgets/services/homeassistant.md - widgets/services/homeassistant.md
- widgets/services/homebox.md
- widgets/services/homebridge.md - widgets/services/homebridge.md
- widgets/services/iframe.md - widgets/services/iframe.md
- widgets/services/immich.md - widgets/services/immich.md
@ -87,6 +90,7 @@ nav:
- widgets/services/mylar.md - widgets/services/mylar.md
- widgets/services/navidrome.md - widgets/services/navidrome.md
- widgets/services/netdata.md - widgets/services/netdata.md
- widgets/services/netalertx.md
- widgets/services/nextcloud.md - widgets/services/nextcloud.md
- widgets/services/nextdns.md - widgets/services/nextdns.md
- widgets/services/nginx-proxy-manager.md - widgets/services/nginx-proxy-manager.md
@ -97,12 +101,12 @@ nav:
- widgets/services/opendtu.md - widgets/services/opendtu.md
- widgets/services/openmediavault.md - widgets/services/openmediavault.md
- widgets/services/opnsense.md - widgets/services/opnsense.md
- widgets/services/openwrt.md
- widgets/services/overseerr.md - widgets/services/overseerr.md
- widgets/services/paperlessngx.md - widgets/services/paperlessngx.md
- widgets/services/peanut.md - widgets/services/peanut.md
- widgets/services/pfsense.md - widgets/services/pfsense.md
- widgets/services/photoprism.md - widgets/services/photoprism.md
- widgets/services/pialert.md
- widgets/services/pihole.md - widgets/services/pihole.md
- widgets/services/plantit.md - widgets/services/plantit.md
- widgets/services/plex-tautulli.md - widgets/services/plex-tautulli.md
@ -124,8 +128,11 @@ nav:
- widgets/services/scrutiny.md - widgets/services/scrutiny.md
- widgets/services/sonarr.md - widgets/services/sonarr.md
- widgets/services/speedtest-tracker.md - widgets/services/speedtest-tracker.md
- widgets/services/stash.md
- widgets/services/swagdashboard.md
- widgets/services/syncthing-relay-server.md - widgets/services/syncthing-relay-server.md
- widgets/services/tailscale.md - widgets/services/tailscale.md
- widgets/services/tandoor.md
- widgets/services/tdarr.md - widgets/services/tdarr.md
- widgets/services/traefik.md - widgets/services/traefik.md
- widgets/services/transmission.md - widgets/services/transmission.md
@ -153,6 +160,14 @@ nav:
- widgets/info/search.md - widgets/info/search.md
- widgets/info/unifi_controller.md - widgets/info/unifi_controller.md
- widgets/info/weather.md - widgets/info/weather.md
- "Guides":
- widgets/authoring/index.md
- widgets/authoring/guide.md
- widgets/authoring/component.md
- widgets/authoring/widget.md
- widgets/authoring/proxies.md
- widgets/authoring/api.md
- widgets/authoring/translations.md
- more/troubleshooting.md - more/troubleshooting.md
- "More": - "More":
- more/index.md - more/index.md
@ -162,6 +177,7 @@ nav:
theme: theme:
name: material name: material
custom_dir: docs/overrides
language: en language: en
palette: palette:
- media: "(prefers-color-scheme)" - media: "(prefers-color-scheme)"
@ -195,6 +211,7 @@ theme:
- navigation.tabs - navigation.tabs
- navigation.sections - navigation.sections
- navigation.indexes - navigation.indexes
- content.code.annotate
extra_css: extra_css:
- "stylesheets/extra.css" - "stylesheets/extra.css"
@ -223,6 +240,8 @@ markdown_extensions:
- pymdownx.inlinehilite - pymdownx.inlinehilite
- pymdownx.snippets - pymdownx.snippets
- pymdownx.superfences - pymdownx.superfences
- pymdownx.tabbed:
alternate_style: true
- pymdownx.critic - pymdownx.critic
- pymdownx.caret - pymdownx.caret
- pymdownx.keys - pymdownx.keys
@ -239,7 +258,12 @@ plugins:
plugins: plugins:
- optimize - optimize
- typeset - typeset
- social - social:
cards_layout: default/variant
cards_layout_options:
background_image: docs/assets/BlossomValley.jpg
background_color: "rgba(13, 29, 41, 128)"
color: "#ffffff"
- tags - tags
- search: - search:
pipeline: pipeline:

1060
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -16,7 +16,7 @@
"classnames": "^2.5.1", "classnames": "^2.5.1",
"compare-versions": "^6.1.0", "compare-versions": "^6.1.0",
"dockerode": "^4.0.2", "dockerode": "^4.0.2",
"follow-redirects": "^1.15.5", "follow-redirects": "^1.15.6",
"gamedig": "^4.3.1", "gamedig": "^4.3.1",
"i18next": "^21.10.0", "i18next": "^21.10.0",
"js-yaml": "^4.1.0", "js-yaml": "^4.1.0",
@ -29,15 +29,15 @@
"ping": "^0.4.4", "ping": "^0.4.4",
"pretty-bytes": "^6.1.1", "pretty-bytes": "^6.1.1",
"raw-body": "^2.5.2", "raw-body": "^2.5.2",
"react": "^18.2.0", "react": "^18.3.1",
"react-dom": "^18.2.0", "react-dom": "^18.2.0",
"react-i18next": "^11.18.6", "react-i18next": "^11.18.6",
"salted-md5": "^4.0.5", "salted-md5": "^4.0.5",
"react-icons": "^4.12.0", "react-icons": "^4.12.0",
"recharts": "^2.11.0", "recharts": "^2.12.6",
"rrule": "^2.8.1", "rrule": "^2.8.1",
"swr": "^1.3.0", "swr": "^1.3.0",
"systeminformation": "^5.21.24", "systeminformation": "^5.22.7",
"tough-cookie": "^4.1.3", "tough-cookie": "^4.1.3",
"urbackup-server-api": "^0.8.9", "urbackup-server-api": "^0.8.9",
"winston": "^3.11.0", "winston": "^3.11.0",
@ -46,20 +46,20 @@
"devDependencies": { "devDependencies": {
"@tailwindcss/forms": "^0.5.7", "@tailwindcss/forms": "^0.5.7",
"autoprefixer": "^10.4.17", "autoprefixer": "^10.4.17",
"eslint": "^8.56.0", "eslint": "^8.57.0",
"eslint-config-airbnb": "^19.0.4", "eslint-config-airbnb": "^19.0.4",
"eslint-config-next": "^12.3.4", "eslint-config-next": "^14.2.3",
"eslint-config-prettier": "^9.1.0", "eslint-config-prettier": "^9.1.0",
"eslint-plugin-import": "^2.29.1", "eslint-plugin-import": "^2.29.1",
"eslint-plugin-jsx-a11y": "^6.8.0", "eslint-plugin-jsx-a11y": "^6.8.0",
"eslint-plugin-prettier": "^4.2.1", "eslint-plugin-prettier": "^4.2.1",
"eslint-plugin-react": "^7.33.2", "eslint-plugin-react": "^7.34.2",
"eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-hooks": "^4.6.2",
"postcss": "^8.4.33", "postcss": "^8.4.38",
"prettier": "^3.2.4", "prettier": "^3.2.5",
"tailwind-scrollbar": "^3.0.5", "tailwind-scrollbar": "^3.0.5",
"tailwindcss": "^3.4.1", "tailwindcss": "^3.4.3",
"typescript": "^4.9.5" "typescript": "^5.4.5"
}, },
"optionalDependencies": { "optionalDependencies": {
"osx-temperature-sensor": "^1.0.8" "osx-temperature-sensor": "^1.0.8"

1130
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@ -107,6 +107,13 @@
"episodes": "Episodes", "episodes": "Episodes",
"songs": "Liedjies" "songs": "Liedjies"
}, },
"esphome": {
"offline": "Vanlyn",
"offline_alt": "Vanlyn",
"online": "Aanlyn",
"total": "Totaal",
"unknown": "Onbekend"
},
"evcc": { "evcc": {
"pv_power": "Produksie", "pv_power": "Produksie",
"battery_soc": "Battery", "battery_soc": "Battery",
@ -270,7 +277,7 @@
"approved": "Goedgekeur", "approved": "Goedgekeur",
"available": "Beskikbaar" "available": "Beskikbaar"
}, },
"pialert": { "netalertx": {
"total": "Totaal", "total": "Totaal",
"connected": "Gekoppel", "connected": "Gekoppel",
"new_devices": "Nuwe Toestelle", "new_devices": "Nuwe Toestelle",
@ -419,7 +426,8 @@
"search": "Soek", "search": "Soek",
"custom": "Pasgemaak", "custom": "Pasgemaak",
"visit": "Besoek", "visit": "Besoek",
"url": "URL" "url": "URL",
"searchsuggestion": "Voorstelling"
}, },
"wmo": { "wmo": {
"0-day": "Sonnig", "0-day": "Sonnig",
@ -535,7 +543,15 @@
}, },
"hdhomerun": { "hdhomerun": {
"channels": "Kanale", "channels": "Kanale",
"hd": "HD" "hd": "HD",
"tunerCount": "Tuners",
"channelNumber": "Kanaal",
"channelNetwork": "Netwerk",
"signalStrength": "Sterkte",
"signalQuality": "Kwaliteit",
"symbolQuality": "Kwaliteit",
"networkRate": "Bistempo",
"clientIP": "Kliënt"
}, },
"scrutiny": { "scrutiny": {
"passed": "Geslaag", "passed": "Geslaag",
@ -694,6 +710,11 @@
"targets_down": "Teikens Af", "targets_down": "Teikens Af",
"targets_total": "Totale Teikens" "targets_total": "Totale Teikens"
}, },
"gatus": {
"up": "Werwe Op",
"down": "Werwe Af",
"uptime": "Optyd"
},
"ghostfolio": { "ghostfolio": {
"gross_percent_today": "Vandag", "gross_percent_today": "Vandag",
"gross_percent_1y": "Een jaar", "gross_percent_1y": "Een jaar",
@ -775,6 +796,14 @@
"passed": "Geslaag", "passed": "Geslaag",
"failed": "Misluk" "failed": "Misluk"
}, },
"openwrt": {
"uptime": "Optyd",
"cpuLoad": "SVE-lading gemiddelde (5m)",
"up": "Op",
"down": "Af",
"bytesTx": "Oorgedra",
"bytesRx": "Ontvang"
},
"uptimerobot": { "uptimerobot": {
"status": "Status", "status": "Status",
"uptime": "Optyd", "uptime": "Optyd",
@ -797,11 +826,67 @@
"noEventsFound": "Geen gebeure gevind nie" "noEventsFound": "Geen gebeure gevind nie"
}, },
"romm": { "romm": {
"platforms": "Platforms", "platforms": "Platform",
"totalRoms": "Total ROMs" "totalRoms": "Totale ROMs"
}, },
"netdata": { "netdata": {
"warnings": "Warnings", "warnings": "Waarskuwings",
"criticals": "Criticals" "criticals": "Kritici"
},
"plantit": {
"events": "Gebeure",
"plants": "Plante",
"photos": "Foto's",
"species": "Spesies"
},
"gitea": {
"notifications": "Kennisgewings",
"issues": "Kwessies",
"pulls": "Trek Versoeke"
},
"stash": {
"scenes": "Tonele",
"scenesPlayed": "Tonele Gekyk",
"playCount": "Totale Toneelstukke",
"playDuration": "Tyd Gekyk",
"sceneSize": "Toneel Grootte",
"sceneDuration": "Tonele Duur",
"images": "Beelde",
"imageSize": "Beeldgrootte",
"galleries": "Galerye",
"performers": "Kunstenaars",
"studios": "Ateljees",
"movies": "Flieks",
"tags": "Merkers",
"oCount": "O Tel"
},
"tandoor": {
"users": "Gebruikers",
"recipes": "Resepte",
"keywords": "Sleutelwoorde"
},
"homebox": {
"items": "Items",
"totalWithWarranty": "Met Waarborg",
"locations": "Plekke",
"labels": "Etikette",
"users": "Gebruikers",
"totalValue": "Totale Waarde"
},
"crowdsec": {
"alerts": "Waarskuwings",
"bans": "Verbanne"
},
"wgeasy": {
"connected": "Gekoppel",
"enabled": "Geaktiveer",
"disabled": "Onaktief",
"total": "Totaal"
},
"swagdashboard": {
"proxied": "Proxied",
"auth": "With Auth",
"outdated": "Outdated",
"banned": "Banned"
} }
} }

View File

@ -107,6 +107,13 @@
"episodes": "حلقات", "episodes": "حلقات",
"songs": "أغاني" "songs": "أغاني"
}, },
"esphome": {
"offline": "غير متصل",
"offline_alt": "غير متصل",
"online": "مُتّصل",
"total": "المجموع",
"unknown": "مجهول"
},
"evcc": { "evcc": {
"pv_power": "إنتاج", "pv_power": "إنتاج",
"battery_soc": "البطارية", "battery_soc": "البطارية",
@ -133,7 +140,7 @@
"connectionStatusPendingDisconnect": "في انتظار قطع الاتصال", "connectionStatusPendingDisconnect": "في انتظار قطع الاتصال",
"connectionStatusDisconnecting": "جار قطع الاتصال", "connectionStatusDisconnecting": "جار قطع الاتصال",
"connectionStatusDisconnected": "غير متصل", "connectionStatusDisconnected": "غير متصل",
"connectionStatusConnected": "متصل", "connectionStatusConnected": "Connected",
"uptime": "مدة التشغيل", "uptime": "مدة التشغيل",
"maxDown": "أقصى حد للتنزيل", "maxDown": "أقصى حد للتنزيل",
"maxUp": "أقصى حد للتحميل", "maxUp": "أقصى حد للتحميل",
@ -270,11 +277,11 @@
"approved": "مصدق", "approved": "مصدق",
"available": "متاح" "available": "متاح"
}, },
"pialert": { "netalertx": {
"total": "المجموع", "total": "المجموع",
"connected": "متصل", "connected": "Connected",
"new_devices": "أجهزة جديدة", "new_devices": "New Devices",
"down_alerts": "تنبيهات تعطل الخوادم" "down_alerts": "Down Alerts"
}, },
"pihole": { "pihole": {
"queries": "الاستعلامات", "queries": "الاستعلامات",
@ -419,7 +426,8 @@
"search": "البحث", "search": "البحث",
"custom": "مُخصّص", "custom": "مُخصّص",
"visit": "زيارة", "visit": "زيارة",
"url": "الرابط" "url": "الرابط",
"searchsuggestion": "Suggestion"
}, },
"wmo": { "wmo": {
"0-day": "مشمس", "0-day": "مشمس",
@ -535,7 +543,15 @@
}, },
"hdhomerun": { "hdhomerun": {
"channels": "القنوات", "channels": "القنوات",
"hd": "جودة HD" "hd": "جودة HD",
"tunerCount": "Tuners",
"channelNumber": "القناة",
"channelNetwork": "الشبكة",
"signalStrength": "القوة",
"signalQuality": "الجودة",
"symbolQuality": "الجودة",
"networkRate": "معدل البت",
"clientIP": "العميل"
}, },
"scrutiny": { "scrutiny": {
"passed": "إجتاز", "passed": "إجتاز",
@ -694,6 +710,11 @@
"targets_down": "الأهداف لا تعمل", "targets_down": "الأهداف لا تعمل",
"targets_total": "الأهداف الإجمالية" "targets_total": "الأهداف الإجمالية"
}, },
"gatus": {
"up": "المواقع تعمل",
"down": "مواقع لا تعمل",
"uptime": "مدة التشغيل"
},
"ghostfolio": { "ghostfolio": {
"gross_percent_today": "اليوم", "gross_percent_today": "اليوم",
"gross_percent_1y": "سنة", "gross_percent_1y": "سنة",
@ -775,6 +796,14 @@
"passed": "إجتاز", "passed": "إجتاز",
"failed": "فشل" "failed": "فشل"
}, },
"openwrt": {
"uptime": "مدة التشغيل",
"cpuLoad": "متوسط حمولة المعالج (5دق)",
"up": "يعمل",
"down": "لا يعمل",
"bytesTx": "مرسلة",
"bytesRx": "تم الإستلام"
},
"uptimerobot": { "uptimerobot": {
"status": "الحالة", "status": "الحالة",
"uptime": "مدة التشغيل", "uptime": "مدة التشغيل",
@ -797,11 +826,67 @@
"noEventsFound": "لم يتم العثور على أحداث" "noEventsFound": "لم يتم العثور على أحداث"
}, },
"romm": { "romm": {
"platforms": "Platforms", "platforms": "المِنصات",
"totalRoms": "Total ROMs" "totalRoms": "مجموع الروومات"
}, },
"netdata": { "netdata": {
"warnings": "Warnings", "warnings": "تحذيرات",
"criticals": "Criticals" "criticals": "حرج"
},
"plantit": {
"events": "أحداث",
"plants": "نباتات",
"photos": "الصور",
"species": "الأنواع"
},
"gitea": {
"notifications": "الإشعارات",
"issues": "المُشكِلات",
"pulls": "طلبات السحب"
},
"stash": {
"scenes": "المشاهد",
"scenesPlayed": "Scenes Played",
"playCount": "إجمالي المشغلات",
"playDuration": "وقت المشاهدة",
"sceneSize": "حجم المشاهد",
"sceneDuration": "مدة المشهد",
"images": "صور",
"imageSize": "حجم الصور",
"galleries": "المعارض",
"performers": "Performers",
"studios": "استوديوهات",
"movies": "أفلام",
"tags": "التصنيفات",
"oCount": "عدد O"
},
"tandoor": {
"users": "المستخدمون",
"recipes": "وصفات",
"keywords": "Keywords"
},
"homebox": {
"items": "Items",
"totalWithWarranty": "With Warranty",
"locations": "Locations",
"labels": "Labels",
"users": "المستخدمون",
"totalValue": "Total Value"
},
"crowdsec": {
"alerts": "تنبيهات",
"bans": "Bans"
},
"wgeasy": {
"connected": "Connected",
"enabled": "مفعل",
"disabled": "معطل",
"total": "المجموع"
},
"swagdashboard": {
"proxied": "Proxied",
"auth": "With Auth",
"outdated": "Outdated",
"banned": "Banned"
} }
} }

View File

@ -107,6 +107,13 @@
"episodes": "Episodes", "episodes": "Episodes",
"songs": "Songs" "songs": "Songs"
}, },
"esphome": {
"offline": "Изключен",
"offline_alt": "Изключен",
"online": "Online",
"total": "Общо",
"unknown": "Неизв."
},
"evcc": { "evcc": {
"pv_power": "Production", "pv_power": "Production",
"battery_soc": "Battery", "battery_soc": "Battery",
@ -133,7 +140,7 @@
"connectionStatusPendingDisconnect": "Pending Disconnect", "connectionStatusPendingDisconnect": "Pending Disconnect",
"connectionStatusDisconnecting": "Disconnecting", "connectionStatusDisconnecting": "Disconnecting",
"connectionStatusDisconnected": "Disconnected", "connectionStatusDisconnected": "Disconnected",
"connectionStatusConnected": "Свързано", "connectionStatusConnected": "Connected",
"uptime": "Uptime", "uptime": "Uptime",
"maxDown": "Max. Down", "maxDown": "Max. Down",
"maxUp": "Max. Up", "maxUp": "Max. Up",
@ -270,10 +277,10 @@
"approved": "Одобрен", "approved": "Одобрен",
"available": "Наличен" "available": "Наличен"
}, },
"pialert": { "netalertx": {
"total": "Общо", "total": "Общо",
"connected": "Свързано", "connected": "Connected",
"new_devices": "Нови устройства", "new_devices": "New Devices",
"down_alerts": "Down Alerts" "down_alerts": "Down Alerts"
}, },
"pihole": { "pihole": {
@ -419,7 +426,8 @@
"search": "Търсене", "search": "Търсене",
"custom": "Custom", "custom": "Custom",
"visit": "Visit", "visit": "Visit",
"url": "URL" "url": "URL",
"searchsuggestion": "Suggestion"
}, },
"wmo": { "wmo": {
"0-day": "Слънчево", "0-day": "Слънчево",
@ -535,7 +543,15 @@
}, },
"hdhomerun": { "hdhomerun": {
"channels": "Канали", "channels": "Канали",
"hd": "HD" "hd": "HD",
"tunerCount": "Tuners",
"channelNumber": "Channel",
"channelNetwork": "Network",
"signalStrength": "Strength",
"signalQuality": "Quality",
"symbolQuality": "Quality",
"networkRate": "Bitrate",
"clientIP": "Client"
}, },
"scrutiny": { "scrutiny": {
"passed": "Passed", "passed": "Passed",
@ -694,6 +710,11 @@
"targets_down": "Targets Down", "targets_down": "Targets Down",
"targets_total": "Total Targets" "targets_total": "Total Targets"
}, },
"gatus": {
"up": "Sites Up",
"down": "Sites Down",
"uptime": "Uptime"
},
"ghostfolio": { "ghostfolio": {
"gross_percent_today": "Today", "gross_percent_today": "Today",
"gross_percent_1y": "One year", "gross_percent_1y": "One year",
@ -775,6 +796,14 @@
"passed": "Passed", "passed": "Passed",
"failed": "Failed" "failed": "Failed"
}, },
"openwrt": {
"uptime": "Uptime",
"cpuLoad": "CPU Load Avg (5m)",
"up": "Up",
"down": "Down",
"bytesTx": "Transmitted",
"bytesRx": "Received"
},
"uptimerobot": { "uptimerobot": {
"status": "Статус", "status": "Статус",
"uptime": "Uptime", "uptime": "Uptime",
@ -803,5 +832,61 @@
"netdata": { "netdata": {
"warnings": "Warnings", "warnings": "Warnings",
"criticals": "Criticals" "criticals": "Criticals"
},
"plantit": {
"events": "Events",
"plants": "Plants",
"photos": "Photos",
"species": "Species"
},
"gitea": {
"notifications": "Notifications",
"issues": "Issues",
"pulls": "Pull Requests"
},
"stash": {
"scenes": "Scenes",
"scenesPlayed": "Scenes Played",
"playCount": "Total Plays",
"playDuration": "Time Watched",
"sceneSize": "Scenes Size",
"sceneDuration": "Scenes Duration",
"images": "Images",
"imageSize": "Images Size",
"galleries": "Galleries",
"performers": "Performers",
"studios": "Studios",
"movies": "Филми",
"tags": "Тагове",
"oCount": "O Count"
},
"tandoor": {
"users": "Потребители",
"recipes": "Рецепти",
"keywords": "Keywords"
},
"homebox": {
"items": "Items",
"totalWithWarranty": "With Warranty",
"locations": "Locations",
"labels": "Labels",
"users": "Потребители",
"totalValue": "Total Value"
},
"crowdsec": {
"alerts": "Предупреждения",
"bans": "Bans"
},
"wgeasy": {
"connected": "Connected",
"enabled": "Активирано",
"disabled": "Деактивирано",
"total": "Общо"
},
"swagdashboard": {
"proxied": "Proxied",
"auth": "With Auth",
"outdated": "Outdated",
"banned": "Banned"
} }
} }

View File

@ -14,7 +14,7 @@
"date": "{{value, date}}", "date": "{{value, date}}",
"relativeDate": "{{value, relativeDate}}", "relativeDate": "{{value, relativeDate}}",
"uptime": "{{value, uptime}}", "uptime": "{{value, uptime}}",
"months": "mo", "months": "mes",
"days": "d", "days": "d",
"hours": "h", "hours": "h",
"minutes": "m", "minutes": "m",
@ -46,8 +46,8 @@
"used": "Utilitzat", "used": "Utilitzat",
"load": "Càrrega", "load": "Càrrega",
"temp": "TEMP", "temp": "TEMP",
"max": "Max", "max": "Màx.",
"uptime": "UP" "uptime": "ACTIU"
}, },
"unifi": { "unifi": {
"users": "Usuaris", "users": "Usuaris",
@ -61,58 +61,65 @@
"wlan_devices": "Dispositius WLAN", "wlan_devices": "Dispositius WLAN",
"lan_users": "Usuaris LAN", "lan_users": "Usuaris LAN",
"wlan_users": "Usuaris WLAN", "wlan_users": "Usuaris WLAN",
"up": "UP", "up": "ACTIU",
"down": "INACTIU", "down": "INACTIU",
"wait": "Si us plau, espereu", "wait": "Si us plau, espereu",
"empty_data": "Subsystem status unknown" "empty_data": "Estat del subsistema desconegut"
}, },
"docker": { "docker": {
"rx": "Rebut", "rx": "Rebut",
"tx": "Transmès", "tx": "Transmès",
"mem": "MEM", "mem": "MEM",
"cpu": "CPU", "cpu": "CPU",
"running": "Running", "running": "En execució",
"offline": "Fora de línia", "offline": "Fora de línia",
"error": "Error", "error": "Error",
"unknown": "Desconegut", "unknown": "Desconegut",
"healthy": "Healthy", "healthy": "Saludable",
"starting": "Starting", "starting": "Iniciant",
"unhealthy": "Unhealthy", "unhealthy": "No saludable",
"not_found": "Not Found", "not_found": "No trobat",
"exited": "Exited", "exited": "Tancat",
"partial": "Partial" "partial": "Parcial"
}, },
"ping": { "ping": {
"error": "Error", "error": "Error",
"ping": "Ping", "ping": "Latència",
"down": "Down", "down": "Inactiu",
"up": "Up", "up": "Actiu",
"not_available": "Not Available" "not_available": "No Disponible"
}, },
"siteMonitor": { "siteMonitor": {
"http_status": "HTTP status", "http_status": "Estat HTTP",
"error": "Error", "error": "Error",
"response": "Response", "response": "Resposta",
"down": "Down", "down": "Inactiu",
"up": "Up", "up": "Actiu",
"not_available": "Not Available" "not_available": "No Disponible"
}, },
"emby": { "emby": {
"playing": "Reproduint", "playing": "Reproduint",
"transcoding": "Transcodificant", "transcoding": "Transcodificant",
"bitrate": "Taxa de bits", "bitrate": "Taxa de bits",
"no_active": "Sense reproduccions actives", "no_active": "Sense reproduccions actives",
"movies": "Movies", "movies": "Pel·lícules",
"series": "Series", "series": "Sèries",
"episodes": "Episodes", "episodes": "Episodis",
"songs": "Songs" "songs": "Cançons"
},
"esphome": {
"offline": "Fora de línia",
"offline_alt": "Fora de línia",
"online": "En línia",
"total": "Total",
"unknown": "Desconegut"
}, },
"evcc": { "evcc": {
"pv_power": "Production", "pv_power": "Producció",
"battery_soc": "Battery", "battery_soc": "Bateria",
"grid_power": "Grid", "grid_power": "Xarxa",
"home_power": "Consumption", "home_power": "Consum",
"charge_power": "Charger", "charge_power": "Carregador",
"watt_hour": "Wh" "watt_hour": "Wh"
}, },
"flood": { "flood": {
@ -122,55 +129,55 @@
"seed": "Llavor" "seed": "Llavor"
}, },
"freshrss": { "freshrss": {
"subscriptions": "Subscriptions", "subscriptions": "Subcripcions",
"unread": "Unread" "unread": "Sense llegir"
}, },
"fritzbox": { "fritzbox": {
"connectionStatus": "Estat", "connectionStatus": "Estat",
"connectionStatusUnconfigured": "Unconfigured", "connectionStatusUnconfigured": "Sense configurar",
"connectionStatusConnecting": "Connecting", "connectionStatusConnecting": "Connectant",
"connectionStatusAuthenticating": "Authenticating", "connectionStatusAuthenticating": "Autenticant",
"connectionStatusPendingDisconnect": "Pending Disconnect", "connectionStatusPendingDisconnect": "Desconnexió pendent",
"connectionStatusDisconnecting": "Disconnecting", "connectionStatusDisconnecting": "Desconnectant",
"connectionStatusDisconnected": "Disconnected", "connectionStatusDisconnected": "Desconnectat",
"connectionStatusConnected": "Connected", "connectionStatusConnected": "Connectat",
"uptime": "Temps actiu", "uptime": "Temps actiu",
"maxDown": "Max. Down", "maxDown": "Màx. Descàrrega",
"maxUp": "Max. Up", "maxUp": "Màx. Càrrega",
"down": "Down", "down": "Inactiu",
"up": "Up", "up": "Actiu",
"received": "Received", "received": "Rebuts",
"sent": "Sent", "sent": "Enviats",
"externalIPAddress": "Ext. IP" "externalIPAddress": "IP ext."
}, },
"caddy": { "caddy": {
"upstreams": "Upstreams", "upstreams": "Upstreams",
"requests": "Current requests", "requests": "Peticions actuals",
"requests_failed": "Failed requests" "requests_failed": "Peticions fallides"
}, },
"changedetectionio": { "changedetectionio": {
"totalObserved": "Total d'observats", "totalObserved": "Total d'observats",
"diffsDetected": "Diferències detectades" "diffsDetected": "Diferències detectades"
}, },
"channelsdvrserver": { "channelsdvrserver": {
"shows": "Shows", "shows": "Sèries",
"recordings": "Recordings", "recordings": "Gravacions",
"scheduled": "Scheduled", "scheduled": "Programat",
"passes": "Passes" "passes": "Aprovat"
}, },
"tautulli": { "tautulli": {
"playing": "Reproduint", "playing": "Reproduint",
"transcoding": "Transcodificant", "transcoding": "Transcodificant",
"bitrate": "Taxa de bits", "bitrate": "Taxa de bits",
"no_active": "Sense reproduccions actives", "no_active": "Sense reproduccions actives",
"plex_connection_error": "Check Plex Connection" "plex_connection_error": "Comprova la connexió de Plex"
}, },
"omada": { "omada": {
"connectedAp": "Connected APs", "connectedAp": "AP connectats",
"activeUser": "Active devices", "activeUser": "Dispositius actius",
"alerts": "Alerts", "alerts": "Alertes",
"connectedGateway": "Connected gateways", "connectedGateway": "Pasarel·les connectades",
"connectedSwitches": "Connected switches" "connectedSwitches": "Conmutadors connectats"
}, },
"nzbget": { "nzbget": {
"rate": "Taxa", "rate": "Taxa",
@ -180,7 +187,7 @@
"plex": { "plex": {
"streams": "Transmissions actives", "streams": "Transmissions actives",
"albums": "Àlbums", "albums": "Àlbums",
"movies": "Movies", "movies": "Pel·lícules",
"tv": "Sèries" "tv": "Sèries"
}, },
"sabnzbd": { "sabnzbd": {
@ -206,12 +213,12 @@
"seed": "Llavor" "seed": "Llavor"
}, },
"qnap": { "qnap": {
"cpuUsage": "CPU Usage", "cpuUsage": "Ús de CPU",
"memUsage": "MEM Usage", "memUsage": "Ús de Memòria",
"systemTempC": "System Temp", "systemTempC": "Temp. Sistema",
"poolUsage": "Pool Usage", "poolUsage": "Ús de les Reserves",
"volumeUsage": "Volume Usage", "volumeUsage": "Ús dels Volums",
"invalid": "Invalid" "invalid": "No vàlid"
}, },
"deluge": { "deluge": {
"download": "Descarregar", "download": "Descarregar",
@ -228,7 +235,7 @@
"sonarr": { "sonarr": {
"wanted": "Volgut", "wanted": "Volgut",
"queued": "En cua", "queued": "En cua",
"series": "Series", "series": "Sèries",
"queue": "Cua", "queue": "Cua",
"unknown": "Desconegut" "unknown": "Desconegut"
}, },
@ -236,14 +243,14 @@
"wanted": "Volgut", "wanted": "Volgut",
"missing": "Faltant", "missing": "Faltant",
"queued": "En cua", "queued": "En cua",
"movies": "Movies", "movies": "Pel·lícules",
"queue": "Cua", "queue": "Cua",
"unknown": "Desconegut" "unknown": "Desconegut"
}, },
"lidarr": { "lidarr": {
"wanted": "Volgut", "wanted": "Volgut",
"queued": "En cua", "queued": "En cua",
"artists": "Artists" "artists": "Artistes"
}, },
"readarr": { "readarr": {
"wanted": "Volgut", "wanted": "Volgut",
@ -270,17 +277,17 @@
"approved": "Aprovat", "approved": "Aprovat",
"available": "Disponible" "available": "Disponible"
}, },
"pialert": { "netalertx": {
"total": "Total", "total": "Total",
"connected": "Connected", "connected": "Connectat",
"new_devices": "New Devices", "new_devices": "Nous dispositius",
"down_alerts": "Down Alerts" "down_alerts": "Alertes de caigudes"
}, },
"pihole": { "pihole": {
"queries": "Consultes", "queries": "Consultes",
"blocked": "Bloquejat", "blocked": "Bloquejat",
"blocked_percent": "Blocked %", "blocked_percent": "Bloquejat %",
"gravity": "Gravity" "gravity": "Gravetat"
}, },
"adguard": { "adguard": {
"queries": "Consultes", "queries": "Consultes",
@ -291,37 +298,37 @@
"speedtest": { "speedtest": {
"upload": "Pujada", "upload": "Pujada",
"download": "Descarregar", "download": "Descarregar",
"ping": "Ping" "ping": "Latència"
}, },
"portainer": { "portainer": {
"running": "Running", "running": "En execució",
"stopped": "Aturat", "stopped": "Aturat",
"total": "Total" "total": "Total"
}, },
"tailscale": { "tailscale": {
"address": "Address", "address": "Adreça",
"expires": "Expires", "expires": "Caduca",
"never": "Never", "never": "Mai",
"last_seen": "Last Seen", "last_seen": "Vist per darrer cop",
"now": "Now", "now": "Ara",
"years": "{{number}}y", "years": "{{number}}a",
"weeks": "{{number}}w", "weeks": "{{number}}set",
"days": "{{number}}d", "days": "{{number}}d",
"hours": "{{number}}h", "hours": "{{number}}h",
"minutes": "{{number}}m", "minutes": "{{number}}m",
"seconds": "{{number}}s", "seconds": "{{number}}s",
"ago": "{{value}} Ago" "ago": "Fa {{value}}"
}, },
"tdarr": { "tdarr": {
"queue": "Cua", "queue": "Cua",
"processed": "Processed", "processed": "Processat",
"errored": "Errored", "errored": "Error",
"saved": "Saved" "saved": "Desat"
}, },
"traefik": { "traefik": {
"routers": "Encaminadors", "routers": "Encaminadors",
"services": "Serveis", "services": "Serveis",
"middleware": "Middleware" "middleware": "Intermediari"
}, },
"navidrome": { "navidrome": {
"nothing_streaming": "Sense reproduccions actives", "nothing_streaming": "Sense reproduccions actives",
@ -353,7 +360,7 @@
}, },
"jackett": { "jackett": {
"configured": "Configurat", "configured": "Configurat",
"errored": "Errored" "errored": "Error"
}, },
"strelaysrv": { "strelaysrv": {
"numActiveSessions": "Sessions", "numActiveSessions": "Sessions",
@ -369,18 +376,18 @@
"medusa": { "medusa": {
"wanted": "Volgut", "wanted": "Volgut",
"queued": "En cua", "queued": "En cua",
"series": "Series" "series": "Sèries"
}, },
"minecraft": { "minecraft": {
"players": "Players", "players": "Jugadors",
"version": "Version", "version": "Versió",
"status": "Estat", "status": "Estat",
"up": "Online", "up": "En línia",
"down": "Fora de línia" "down": "Fora de línia"
}, },
"miniflux": { "miniflux": {
"read": "Read", "read": "Llegir",
"unread": "Unread" "unread": "Sense llegir"
}, },
"authentik": { "authentik": {
"users": "Usuaris", "users": "Usuaris",
@ -399,27 +406,28 @@
"wait": "Si us plau, espereu", "wait": "Si us plau, espereu",
"temp": "TEMP", "temp": "TEMP",
"_temp": "Temp", "_temp": "Temp",
"warn": "Warn", "warn": "Avís",
"uptime": "UP", "uptime": "ACTIU",
"total": "Total", "total": "Total",
"free": "Lliure", "free": "Lliure",
"used": "Utilitzat", "used": "Utilitzat",
"days": "d", "days": "d",
"hours": "h", "hours": "h",
"crit": "Crit", "crit": "Crític",
"read": "Read", "read": "Llegir",
"write": "Write", "write": "Escriure",
"gpu": "GPU", "gpu": "GPU",
"mem": "Mem", "mem": "Mem",
"swap": "Swap" "swap": "Intercanvi"
}, },
"quicklaunch": { "quicklaunch": {
"bookmark": "Marcador", "bookmark": "Marcador",
"service": "Servei", "service": "Servei",
"search": "Search", "search": "Cercar",
"custom": "Custom", "custom": "Personalitzat",
"visit": "Visit", "visit": "Visitar",
"url": "URL" "url": "URL",
"searchsuggestion": "Suggeriment"
}, },
"wmo": { "wmo": {
"0-day": "Assolellat", "0-day": "Assolellat",
@ -484,21 +492,21 @@
"updates": "Actualitzacions", "updates": "Actualitzacions",
"update_available": "Actualització disponible", "update_available": "Actualització disponible",
"up_to_date": "Actualitzat", "up_to_date": "Actualitzat",
"child_bridges": "Child Bridges", "child_bridges": "Ponts fills",
"child_bridges_status": "{{ok}}/{{total}}", "child_bridges_status": "{{ok}}/{{total}}",
"up": "Up", "up": "Actiu",
"pending": "Pendent", "pending": "Pendent",
"down": "Down" "down": "Inactiu"
}, },
"healthchecks": { "healthchecks": {
"new": "New", "new": "Nou",
"up": "Up", "up": "Actiu",
"grace": "In Grace Period", "grace": "En Període de gràcia",
"down": "Down", "down": "Inactiu",
"paused": "Paused", "paused": "En pausa",
"status": "Estat", "status": "Estat",
"last_ping": "Last Ping", "last_ping": "Últim ping",
"never": "No pings yet" "never": "Sense pings"
}, },
"watchtower": { "watchtower": {
"containers_scanned": "Escanejat", "containers_scanned": "Escanejat",
@ -520,7 +528,7 @@
"truenas": { "truenas": {
"load": "Càrrega del sistema", "load": "Càrrega del sistema",
"uptime": "Temps actiu", "uptime": "Temps actiu",
"alerts": "Alerts" "alerts": "Alertes"
}, },
"pyload": { "pyload": {
"speed": "Velocitat", "speed": "Velocitat",
@ -535,7 +543,15 @@
}, },
"hdhomerun": { "hdhomerun": {
"channels": "Canals", "channels": "Canals",
"hd": "HD" "hd": "HD",
"tunerCount": "Sintonitzadors",
"channelNumber": "Canal",
"channelNetwork": "Xarxa",
"signalStrength": "Intensitat",
"signalQuality": "Qualitat",
"symbolQuality": "Qualitat",
"networkRate": "Taxa de bits",
"clientIP": "Client"
}, },
"scrutiny": { "scrutiny": {
"passed": "Aprobat", "passed": "Aprobat",
@ -547,94 +563,94 @@
"total": "Total" "total": "Total"
}, },
"peanut": { "peanut": {
"battery_charge": "Battery Charge", "battery_charge": "Càrrega de la bateria",
"ups_load": "UPS Load", "ups_load": "Càrrega del SAI",
"ups_status": "UPS Status", "ups_status": "Estat del SAI",
"online": "Online", "online": "En línia",
"on_battery": "On Battery", "on_battery": "En Bateria",
"low_battery": "Low Battery" "low_battery": "Bateria Baixa"
}, },
"nextdns": { "nextdns": {
"wait": "Espereu si us plau", "wait": "Espereu si us plau",
"no_devices": "No Device Data Received" "no_devices": "No s'han rebut dades del Dispositiu"
}, },
"mikrotik": { "mikrotik": {
"cpuLoad": "CPU Load", "cpuLoad": "Càrrega de CPU",
"memoryUsed": "Memory Used", "memoryUsed": "Memoria en ús",
"uptime": "Temps actiu", "uptime": "Temps actiu",
"numberOfLeases": "Leases" "numberOfLeases": "IPs assignades"
}, },
"xteve": { "xteve": {
"streams_all": "All Streams", "streams_all": "Tots els fluxos",
"streams_active": "Transmissions actives", "streams_active": "Transmissions actives",
"streams_xepg": "XEPG Channels" "streams_xepg": "Canals XEPG"
}, },
"opendtu": { "opendtu": {
"yieldDay": "Today", "yieldDay": "Avui",
"absolutePower": "Power", "absolutePower": "Potència",
"relativePower": "Power %", "relativePower": "Potència %",
"limit": "Limit" "limit": "Límit"
}, },
"opnsense": { "opnsense": {
"cpu": "CPU Load", "cpu": "Càrrega de CPU",
"memory": "Active Memory", "memory": "Memòria activa",
"wanUpload": "WAN Upload", "wanUpload": "Pujada WAN",
"wanDownload": "WAN Download" "wanDownload": "Baixada WAN"
}, },
"moonraker": { "moonraker": {
"printer_state": "Printer State", "printer_state": "Estat de l'impressora",
"print_status": "Print Status", "print_status": "Estat de l'impressió",
"print_progress": "Progress", "print_progress": "Progress",
"layers": "Layers" "layers": "Capes"
}, },
"octoprint": { "octoprint": {
"printer_state": "Estat", "printer_state": "Estat",
"temp_tool": "Tool temp", "temp_tool": "Temperatura capçal",
"temp_bed": "Bed temp", "temp_bed": "Temperatura llit",
"job_completion": "Completion" "job_completion": "Finalització"
}, },
"cloudflared": { "cloudflared": {
"origin_ip": "Origin IP", "origin_ip": "IP Origen",
"status": "Estat" "status": "Estat"
}, },
"pfsense": { "pfsense": {
"load": "Load Avg", "load": "Promig Càrrega",
"memory": "Mem Usage", "memory": "Ús Memòria",
"wanStatus": "WAN Status", "wanStatus": "Estat WAN",
"up": "Up", "up": "Actiu",
"down": "Down", "down": "Inactiu",
"temp": "Temp", "temp": "Temp",
"disk": "Disk Usage", "disk": "Ús Disc",
"wanIP": "WAN IP" "wanIP": "WAN IP"
}, },
"proxmoxbackupserver": { "proxmoxbackupserver": {
"datastore_usage": "Datastore", "datastore_usage": "Datastore",
"failed_tasks_24h": "Failed Tasks 24h", "failed_tasks_24h": "Tasques fallides (24h)",
"cpu_usage": "CPU", "cpu_usage": "CPU",
"memory_usage": "Memory" "memory_usage": "Memòria"
}, },
"immich": { "immich": {
"users": "Usuaris", "users": "Usuaris",
"photos": "Photos", "photos": "Fotos",
"videos": "Vídeos", "videos": "Vídeos",
"storage": "Storage" "storage": "Emmagatzematge"
}, },
"uptimekuma": { "uptimekuma": {
"up": "Sites Up", "up": "Actius",
"down": "Sites Down", "down": "Caiguts",
"uptime": "Temps actiu", "uptime": "Temps actiu",
"incident": "Incident", "incident": "Incidència",
"m": "m" "m": "m"
}, },
"atsumeru": { "atsumeru": {
"series": "Series", "series": "Sèries",
"archives": "Archives", "archives": "Arxius",
"chapters": "Chapters", "chapters": "Capítols",
"categories": "Categories" "categories": "Categories"
}, },
"komga": { "komga": {
"libraries": "Libraries", "libraries": "Biblioteques",
"series": "Series", "series": "Sèries",
"books": "Llibres" "books": "Llibres"
}, },
"diskstation": { "diskstation": {
@ -643,72 +659,77 @@
"volumeAvailable": "Disponible" "volumeAvailable": "Disponible"
}, },
"mylar": { "mylar": {
"series": "Series", "series": "Sèries",
"issues": "Issues", "issues": "Problemes",
"wanted": "Volgut" "wanted": "Volgut"
}, },
"photoprism": { "photoprism": {
"albums": "Àlbums", "albums": "Àlbums",
"photos": "Photos", "photos": "Fotos",
"videos": "Vídeos", "videos": "Vídeos",
"people": "People" "people": "Gent"
}, },
"fileflows": { "fileflows": {
"queue": "Cua", "queue": "Cua",
"processing": "Processant", "processing": "Processant",
"processed": "Processed", "processed": "Processat",
"time": "Time" "time": "Temps"
}, },
"grafana": { "grafana": {
"dashboards": "Dashboards", "dashboards": "Taulells",
"datasources": "Data Sources", "datasources": "Origen de dades",
"totalalerts": "Total Alerts", "totalalerts": "Alertes Totals",
"alertstriggered": "Alerts Triggered" "alertstriggered": "Alertes disparades"
}, },
"nextcloud": { "nextcloud": {
"cpuload": "Cpu Load", "cpuload": "Càrrega de CPU",
"memoryusage": "Memory Usage", "memoryusage": "Ús Memòria",
"freespace": "Free Space", "freespace": "Espai lliure",
"activeusers": "Active Users", "activeusers": "Usuaris actius",
"numfiles": "Files", "numfiles": "Fitxers",
"numshares": "Shared Items" "numshares": "Elements compartits"
}, },
"kopia": { "kopia": {
"status": "Estat", "status": "Estat",
"size": "Size", "size": "Mida",
"lastrun": "Last Run", "lastrun": "Darrera execució",
"nextrun": "Next Run", "nextrun": "Següent execució",
"failed": "Error" "failed": "Error"
}, },
"unmanic": { "unmanic": {
"active_workers": "Active Workers", "active_workers": "Treballadors actius",
"total_workers": "Total Workers", "total_workers": "Treballadors Totals",
"records_total": "Queue Length" "records_total": "Llargada de la Cua"
}, },
"pterodactyl": { "pterodactyl": {
"servers": "Servers", "servers": "Servidors",
"nodes": "Nodes" "nodes": "Nodes"
}, },
"prometheus": { "prometheus": {
"targets_up": "Targets Up", "targets_up": "Objectius actius",
"targets_down": "Targets Down", "targets_down": "Objectius caiguts",
"targets_total": "Total Targets" "targets_total": "Objectius Totals"
},
"gatus": {
"up": "Actius",
"down": "Caiguts",
"uptime": "Temps actiu"
}, },
"ghostfolio": { "ghostfolio": {
"gross_percent_today": "Today", "gross_percent_today": "Avui",
"gross_percent_1y": "One year", "gross_percent_1y": "Un any",
"gross_percent_max": "All time" "gross_percent_max": "Tot"
}, },
"audiobookshelf": { "audiobookshelf": {
"podcasts": "Podcasts", "podcasts": "Podcasts",
"books": "Llibres", "books": "Llibres",
"podcastsDuration": "Duration", "podcastsDuration": "Durada",
"booksDuration": "Duration" "booksDuration": "Durada"
}, },
"homeassistant": { "homeassistant": {
"people_home": "People Home", "people_home": "Gent a casa",
"lights_on": "Lights On", "lights_on": "Llums enceses",
"switches_on": "Switches On" "switches_on": "Endolls activats"
}, },
"whatsupdocker": { "whatsupdocker": {
"monitoring": "Supervisió", "monitoring": "Supervisió",
@ -716,92 +737,156 @@
}, },
"calibreweb": { "calibreweb": {
"books": "Llibres", "books": "Llibres",
"authors": "Authors", "authors": "Autors",
"categories": "Categories", "categories": "Categories",
"series": "Series" "series": "Sèries"
}, },
"jdownloader": { "jdownloader": {
"downloadCount": "Cua", "downloadCount": "Cua",
"downloadBytesRemaining": "Restant", "downloadBytesRemaining": "Restant",
"downloadTotalBytes": "Size", "downloadTotalBytes": "Mida",
"downloadSpeed": "Velocitat" "downloadSpeed": "Velocitat"
}, },
"kavita": { "kavita": {
"seriesCount": "Series", "seriesCount": "Sèries",
"totalFiles": "Files" "totalFiles": "Fitxers"
}, },
"azuredevops": { "azuredevops": {
"result": "Result", "result": "Resultat",
"status": "Estat", "status": "Estat",
"buildId": "Build ID", "buildId": "Id de compilació",
"succeeded": "Succeeded", "succeeded": "Amb èxit",
"notStarted": "Not Started", "notStarted": "No Iniciat",
"failed": "Error", "failed": "Error",
"canceled": "Canceled", "canceled": "Cancel·lat",
"inProgress": "In Progress", "inProgress": "En curs",
"totalPrs": "Total PRs", "totalPrs": "RP Totals",
"myPrs": "My PRs", "myPrs": "Els meus RP",
"approved": "Aprovat" "approved": "Aprovat"
}, },
"gamedig": { "gamedig": {
"status": "Estat", "status": "Estat",
"online": "Online", "online": "En línia",
"offline": "Fora de línia", "offline": "Fora de línia",
"name": "Name", "name": "Nom",
"map": "Map", "map": "Mapa",
"currentPlayers": "Current players", "currentPlayers": "Jugadors actuals",
"players": "Players", "players": "Jugadors",
"maxPlayers": "Max players", "maxPlayers": "Màxim de jugadors",
"bots": "Bots", "bots": "Bots",
"ping": "Ping" "ping": "Latència"
}, },
"urbackup": { "urbackup": {
"ok": "Ok", "ok": "Ok",
"errored": "Errors", "errored": "Errors",
"noRecent": "Out of Date", "noRecent": "Obsolet",
"totalUsed": "Used Storage" "totalUsed": "Emmagatzematge utilitzat"
}, },
"mealie": { "mealie": {
"recipes": "Recipes", "recipes": "Receptes",
"users": "Usuaris", "users": "Usuaris",
"categories": "Categories", "categories": "Categories",
"tags": "Tags" "tags": "Etiquetes"
}, },
"openmediavault": { "openmediavault": {
"downloading": "Downloading", "downloading": "Descarregant",
"total": "Total", "total": "Total",
"running": "Running", "running": "En execució",
"stopped": "Aturat", "stopped": "Aturat",
"passed": "Aprobat", "passed": "Aprobat",
"failed": "Error" "failed": "Error"
}, },
"openwrt": {
"uptime": "Temps actiu",
"cpuLoad": "Càrrega promig de CPU (5m)",
"up": "Actiu",
"down": "Inactiu",
"bytesTx": "Enviat",
"bytesRx": "Rebuts"
},
"uptimerobot": { "uptimerobot": {
"status": "Estat", "status": "Estat",
"uptime": "Temps actiu", "uptime": "Temps actiu",
"lastDown": "Last Downtime", "lastDown": "Darrera Inactivitat",
"downDuration": "Downtime Duration", "downDuration": "Duració d'Inactivitat",
"sitesUp": "Sites Up", "sitesUp": "Actius",
"sitesDown": "Sites Down", "sitesDown": "Caiguts",
"paused": "Paused", "paused": "En pausa",
"notyetchecked": "Not Yet Checked", "notyetchecked": "Sense verificar",
"up": "Up", "up": "Actiu",
"seemsdown": "Seems Down", "seemsdown": "Sembla caigut",
"down": "Down", "down": "Inactiu",
"unknown": "Desconegut" "unknown": "Desconegut"
}, },
"calendar": { "calendar": {
"inCinemas": "In cinemas", "inCinemas": "En cines",
"physicalRelease": "Physical release", "physicalRelease": "Estrena física",
"digitalRelease": "Digital release", "digitalRelease": "Estrena digital",
"noEventsToday": "No events for today!", "noEventsToday": "Cap esdeveniment per avui!",
"noEventsFound": "No events found" "noEventsFound": "No s'han trobat esdeveniments"
}, },
"romm": { "romm": {
"platforms": "Platforms", "platforms": "Plataformes",
"totalRoms": "Total ROMs" "totalRoms": "ROMs totals"
}, },
"netdata": { "netdata": {
"warnings": "Warnings", "warnings": "Avisos",
"criticals": "Criticals" "criticals": "Crítics"
},
"plantit": {
"events": "Esdeveniments",
"plants": "Plantes",
"photos": "Fotos",
"species": "Espècies"
},
"gitea": {
"notifications": "Notificacions",
"issues": "Problemes",
"pulls": "Sol·licitud de Canvis"
},
"stash": {
"scenes": "Escenes",
"scenesPlayed": "Escenes reproduïdes",
"playCount": "Total reproduccions",
"playDuration": "Temps visionat",
"sceneSize": "Tamany Escena",
"sceneDuration": "Duració Escenes",
"images": "Imatges",
"imageSize": "Mida Imatges",
"galleries": "Biblioteques",
"performers": "Intèrprets",
"studios": "Estudis",
"movies": "Pel·lícules",
"tags": "Etiquetes",
"oCount": "O Count"
},
"tandoor": {
"users": "Usuaris",
"recipes": "Receptes",
"keywords": "Paraules claus"
},
"homebox": {
"items": "Elements",
"totalWithWarranty": "Amb Garantia",
"locations": "Ubicacions",
"labels": "Etiquetes",
"users": "Usuaris",
"totalValue": "Valor total"
},
"crowdsec": {
"alerts": "Alertes",
"bans": "Prohibicions"
},
"wgeasy": {
"connected": "Connectat",
"enabled": "Activat",
"disabled": "Desactivat",
"total": "Total"
},
"swagdashboard": {
"proxied": "Proxied",
"auth": "With Auth",
"outdated": "Outdated",
"banned": "Banned"
} }
} }

View File

@ -14,7 +14,7 @@
"date": "{{value, date}}", "date": "{{value, date}}",
"relativeDate": "{{value, relativeDate}}", "relativeDate": "{{value, relativeDate}}",
"uptime": "{{value, uptime}}", "uptime": "{{value, uptime}}",
"months": "mo", "months": "měs.",
"days": "d", "days": "d",
"hours": "h", "hours": "h",
"minutes": "m", "minutes": "m",
@ -39,7 +39,7 @@
"placeholder": "Hledat…" "placeholder": "Hledat…"
}, },
"resources": { "resources": {
"cpu": "Procesor", "cpu": "CPU",
"mem": "RAM", "mem": "RAM",
"total": "Celkem", "total": "Celkem",
"free": "Volné", "free": "Volné",
@ -70,7 +70,7 @@
"rx": "RX", "rx": "RX",
"tx": "TX", "tx": "TX",
"mem": "RAM", "mem": "RAM",
"cpu": "Procesor", "cpu": "CPU",
"running": "Běží", "running": "Běží",
"offline": "Offline", "offline": "Offline",
"error": "Chyba", "error": "Chyba",
@ -87,15 +87,15 @@
"ping": "Odezva", "ping": "Odezva",
"down": "Down", "down": "Down",
"up": "Up", "up": "Up",
"not_available": "Not Available" "not_available": "Není k dispozici"
}, },
"siteMonitor": { "siteMonitor": {
"http_status": "HTTP status", "http_status": "Stav HTTP",
"error": "Chyba", "error": "Chyba",
"response": "Response", "response": "Odpověď",
"down": "Down", "down": "Down",
"up": "Up", "up": "Up",
"not_available": "Not Available" "not_available": "Není k dispozici"
}, },
"emby": { "emby": {
"playing": "Přehrává", "playing": "Přehrává",
@ -107,12 +107,19 @@
"episodes": "Epizody", "episodes": "Epizody",
"songs": "Skladby" "songs": "Skladby"
}, },
"esphome": {
"offline": "Offline",
"offline_alt": "Offline",
"online": "Online",
"total": "Celkem",
"unknown": "Neznámý"
},
"evcc": { "evcc": {
"pv_power": "Produkce", "pv_power": "Produkce",
"battery_soc": "Battery", "battery_soc": "Baterie",
"grid_power": "Grid", "grid_power": "Mřížka",
"home_power": "Consumption", "home_power": "Spotřeba",
"charge_power": "Charger", "charge_power": "Nabíječka",
"watt_hour": "Wh" "watt_hour": "Wh"
}, },
"flood": { "flood": {
@ -127,20 +134,20 @@
}, },
"fritzbox": { "fritzbox": {
"connectionStatus": "Stav", "connectionStatus": "Stav",
"connectionStatusUnconfigured": "Unconfigured", "connectionStatusUnconfigured": "Nenastaveno",
"connectionStatusConnecting": "Connecting", "connectionStatusConnecting": "Připojuji",
"connectionStatusAuthenticating": "Authenticating", "connectionStatusAuthenticating": "Ověřování",
"connectionStatusPendingDisconnect": "Pending Disconnect", "connectionStatusPendingDisconnect": "Čeká na odpojení",
"connectionStatusDisconnecting": "Disconnecting", "connectionStatusDisconnecting": "Odpojování",
"connectionStatusDisconnected": "Disconnected", "connectionStatusDisconnected": "Odpojeno",
"connectionStatusConnected": "Connected", "connectionStatusConnected": "Connected",
"uptime": "Doba spuštění", "uptime": "Doba spuštění",
"maxDown": "Max. Down", "maxDown": "Max. Down",
"maxUp": "Max. Up", "maxUp": "Max. Up",
"down": "Down", "down": "Down",
"up": "Up", "up": "Up",
"received": "Received", "received": "Přijaté",
"sent": "Sent", "sent": "Odeslané",
"externalIPAddress": "Ext. IP" "externalIPAddress": "Ext. IP"
}, },
"caddy": { "caddy": {
@ -163,7 +170,7 @@
"transcoding": "Překódovávání", "transcoding": "Překódovávání",
"bitrate": "Přenosová rychlost", "bitrate": "Přenosová rychlost",
"no_active": "Žádný aktivní stream", "no_active": "Žádný aktivní stream",
"plex_connection_error": "Check Plex Connection" "plex_connection_error": "Zkontrolujte připojení Plexu"
}, },
"omada": { "omada": {
"connectedAp": "Připojené APs", "connectedAp": "Připojené APs",
@ -210,8 +217,8 @@
"memUsage": "Využití paměti", "memUsage": "Využití paměti",
"systemTempC": "Teplota systému", "systemTempC": "Teplota systému",
"poolUsage": "Využití fondu", "poolUsage": "Využití fondu",
"volumeUsage": "Volume Usage", "volumeUsage": "Využití svazku",
"invalid": "Invalid" "invalid": "Neplatné"
}, },
"deluge": { "deluge": {
"download": "Stahování", "download": "Stahování",
@ -243,7 +250,7 @@
"lidarr": { "lidarr": {
"wanted": "Hledané", "wanted": "Hledané",
"queued": "Ve frontě", "queued": "Ve frontě",
"artists": "Artists" "artists": "Interpreti"
}, },
"readarr": { "readarr": {
"wanted": "Hledané", "wanted": "Hledané",
@ -270,7 +277,7 @@
"approved": "Schváleno", "approved": "Schváleno",
"available": "Dostupné" "available": "Dostupné"
}, },
"pialert": { "netalertx": {
"total": "Celkem", "total": "Celkem",
"connected": "Connected", "connected": "Connected",
"new_devices": "New Devices", "new_devices": "New Devices",
@ -389,17 +396,17 @@
}, },
"proxmox": { "proxmox": {
"mem": "RAM", "mem": "RAM",
"cpu": "Procesor", "cpu": "CPU",
"lxc": "LXC", "lxc": "LXC",
"vms": "Virtuální Stroje" "vms": "Virtuální Stroje"
}, },
"glances": { "glances": {
"cpu": "Procesor", "cpu": "CPU",
"load": "Zatížení", "load": "Zatížení",
"wait": "Počkejte prosím", "wait": "Počkejte prosím",
"temp": "TEPLOTA", "temp": "TEPLOTA",
"_temp": "Temp", "_temp": "Temp",
"warn": "Warn", "warn": "Varováni",
"uptime": "BĚŽÍ", "uptime": "BĚŽÍ",
"total": "Celkem", "total": "Celkem",
"free": "Volné", "free": "Volné",
@ -419,7 +426,8 @@
"search": "Hledat", "search": "Hledat",
"custom": "Vlastní", "custom": "Vlastní",
"visit": "Navštivte", "visit": "Navštivte",
"url": "Odkaz" "url": "Odkaz",
"searchsuggestion": "Suggestion"
}, },
"wmo": { "wmo": {
"0-day": "Slunečno", "0-day": "Slunečno",
@ -535,7 +543,15 @@
}, },
"hdhomerun": { "hdhomerun": {
"channels": "Kanály", "channels": "Kanály",
"hd": "HD" "hd": "HD",
"tunerCount": "Tuners",
"channelNumber": "Channel",
"channelNetwork": "Network",
"signalStrength": "Strength",
"signalQuality": "Quality",
"symbolQuality": "Quality",
"networkRate": "Přenosová rychlost",
"clientIP": "Client"
}, },
"scrutiny": { "scrutiny": {
"passed": "Úspěšné", "passed": "Úspěšné",
@ -610,7 +626,7 @@
"proxmoxbackupserver": { "proxmoxbackupserver": {
"datastore_usage": "Datové úložiště", "datastore_usage": "Datové úložiště",
"failed_tasks_24h": "Neúspěšné úlohy 24h", "failed_tasks_24h": "Neúspěšné úlohy 24h",
"cpu_usage": "Procesor", "cpu_usage": "CPU",
"memory_usage": "Paměť" "memory_usage": "Paměť"
}, },
"immich": { "immich": {
@ -694,6 +710,11 @@
"targets_down": "Cíle vypnuté", "targets_down": "Cíle vypnuté",
"targets_total": "Cíle celkem" "targets_total": "Cíle celkem"
}, },
"gatus": {
"up": "Stránky Up",
"down": "Stránky Down",
"uptime": "Doba spuštění"
},
"ghostfolio": { "ghostfolio": {
"gross_percent_today": "Today", "gross_percent_today": "Today",
"gross_percent_1y": "Jeden rok", "gross_percent_1y": "Jeden rok",
@ -775,6 +796,14 @@
"passed": "Úspěšné", "passed": "Úspěšné",
"failed": "Selhalo" "failed": "Selhalo"
}, },
"openwrt": {
"uptime": "Doba spuštění",
"cpuLoad": "CPU Load Avg (5m)",
"up": "Up",
"down": "Down",
"bytesTx": "Transmitted",
"bytesRx": "Přijaté"
},
"uptimerobot": { "uptimerobot": {
"status": "Stav", "status": "Stav",
"uptime": "Doba spuštění", "uptime": "Doba spuštění",
@ -803,5 +832,61 @@
"netdata": { "netdata": {
"warnings": "Warnings", "warnings": "Warnings",
"criticals": "Criticals" "criticals": "Criticals"
},
"plantit": {
"events": "Events",
"plants": "Plants",
"photos": "Fotografie",
"species": "Species"
},
"gitea": {
"notifications": "Notifications",
"issues": "Problémy",
"pulls": "Pull Requests"
},
"stash": {
"scenes": "Scenes",
"scenesPlayed": "Scenes Played",
"playCount": "Total Plays",
"playDuration": "Time Watched",
"sceneSize": "Scenes Size",
"sceneDuration": "Scenes Duration",
"images": "Images",
"imageSize": "Images Size",
"galleries": "Galleries",
"performers": "Performers",
"studios": "Studios",
"movies": "Filmy",
"tags": "Tags",
"oCount": "O Count"
},
"tandoor": {
"users": "Uživatelé",
"recipes": "Recipes",
"keywords": "Keywords"
},
"homebox": {
"items": "Items",
"totalWithWarranty": "With Warranty",
"locations": "Locations",
"labels": "Labels",
"users": "Uživatelé",
"totalValue": "Total Value"
},
"crowdsec": {
"alerts": "Upozornění",
"bans": "Bans"
},
"wgeasy": {
"connected": "Connected",
"enabled": "Povoleno",
"disabled": "Zakázáno",
"total": "Celkem"
},
"swagdashboard": {
"proxied": "Proxied",
"auth": "With Auth",
"outdated": "Outdated",
"banned": "Banned"
} }
} }

View File

@ -14,9 +14,9 @@
"date": "{{value, date}}", "date": "{{value, date}}",
"relativeDate": "{{value, relativeDate}}", "relativeDate": "{{value, relativeDate}}",
"uptime": "{{value, uptime}}", "uptime": "{{value, uptime}}",
"months": "mo", "months": "mnd",
"days": "d", "days": "d",
"hours": "h", "hours": "t",
"minutes": "m", "minutes": "m",
"seconds": "s" "seconds": "s"
}, },
@ -90,7 +90,7 @@
"not_available": "Ikke tilgængelig" "not_available": "Ikke tilgængelig"
}, },
"siteMonitor": { "siteMonitor": {
"http_status": "HTTP status", "http_status": "HTTP-status",
"error": "Fejl", "error": "Fejl",
"response": "Response", "response": "Response",
"down": "Ned", "down": "Ned",
@ -107,6 +107,13 @@
"episodes": "Episoder", "episodes": "Episoder",
"songs": "Sange" "songs": "Sange"
}, },
"esphome": {
"offline": "Offline",
"offline_alt": "Offline",
"online": "Online",
"total": "Total",
"unknown": "Ukendt"
},
"evcc": { "evcc": {
"pv_power": "Produktion", "pv_power": "Produktion",
"battery_soc": "Batteri", "battery_soc": "Batteri",
@ -133,15 +140,15 @@
"connectionStatusPendingDisconnect": "Pending Disconnect", "connectionStatusPendingDisconnect": "Pending Disconnect",
"connectionStatusDisconnecting": "Disconnecting", "connectionStatusDisconnecting": "Disconnecting",
"connectionStatusDisconnected": "Disconnected", "connectionStatusDisconnected": "Disconnected",
"connectionStatusConnected": "Forbundet", "connectionStatusConnected": "Connected",
"uptime": "Oppetid", "uptime": "Oppetid",
"maxDown": "Max. Down", "maxDown": "Max. Down",
"maxUp": "Max. Up", "maxUp": "Max. Up",
"down": "Ned", "down": "Ned",
"up": "Op", "up": "Op",
"received": "Received", "received": "Modtaget",
"sent": "Sent", "sent": "Sendt",
"externalIPAddress": "Ext. IP" "externalIPAddress": "Ekstern IP"
}, },
"caddy": { "caddy": {
"upstreams": "Upstreams", "upstreams": "Upstreams",
@ -270,11 +277,11 @@
"approved": "Godkendt", "approved": "Godkendt",
"available": "Tilgængelig" "available": "Tilgængelig"
}, },
"pialert": { "netalertx": {
"total": "Total", "total": "Total",
"connected": "Forbundet", "connected": "Connected",
"new_devices": "Nye Enheder", "new_devices": "New Devices",
"down_alerts": "Nedadvarsler" "down_alerts": "Down Alerts"
}, },
"pihole": { "pihole": {
"queries": "Forespørgsler", "queries": "Forespørgsler",
@ -405,7 +412,7 @@
"free": "Fri", "free": "Fri",
"used": "Brugt", "used": "Brugt",
"days": "d", "days": "d",
"hours": "h", "hours": "t",
"crit": "Crit", "crit": "Crit",
"read": "Læst", "read": "Læst",
"write": "Skriv", "write": "Skriv",
@ -419,7 +426,8 @@
"search": "Søg", "search": "Søg",
"custom": "Brugerdefinerede", "custom": "Brugerdefinerede",
"visit": "Besøg", "visit": "Besøg",
"url": "URL" "url": "URL",
"searchsuggestion": "Suggestion"
}, },
"wmo": { "wmo": {
"0-day": "Solrig", "0-day": "Solrig",
@ -535,7 +543,15 @@
}, },
"hdhomerun": { "hdhomerun": {
"channels": "Kanaler", "channels": "Kanaler",
"hd": "HD" "hd": "HD",
"tunerCount": "Tuners",
"channelNumber": "Channel",
"channelNetwork": "Network",
"signalStrength": "Strength",
"signalQuality": "Quality",
"symbolQuality": "Quality",
"networkRate": "Bitrate",
"clientIP": "Client"
}, },
"scrutiny": { "scrutiny": {
"passed": "Bestået", "passed": "Bestået",
@ -547,12 +563,12 @@
"total": "Total" "total": "Total"
}, },
"peanut": { "peanut": {
"battery_charge": "Battery Charge", "battery_charge": "Batteriniveau",
"ups_load": "UPS Load", "ups_load": "UPS Load",
"ups_status": "UPS Status", "ups_status": "UPS Status",
"online": "Online", "online": "Online",
"on_battery": "On Battery", "on_battery": "På batteri",
"low_battery": "Low Battery" "low_battery": "Lavt batteriniveau"
}, },
"nextdns": { "nextdns": {
"wait": "Vent venligst", "wait": "Vent venligst",
@ -694,6 +710,11 @@
"targets_down": "Mål Nede", "targets_down": "Mål Nede",
"targets_total": "Totale Mål" "targets_total": "Totale Mål"
}, },
"gatus": {
"up": "Sider Oppe",
"down": "Sider Nede",
"uptime": "Oppetid"
},
"ghostfolio": { "ghostfolio": {
"gross_percent_today": "I dag", "gross_percent_today": "I dag",
"gross_percent_1y": "Et År", "gross_percent_1y": "Et År",
@ -775,6 +796,14 @@
"passed": "Bestået", "passed": "Bestået",
"failed": "Fejlet" "failed": "Fejlet"
}, },
"openwrt": {
"uptime": "Oppetid",
"cpuLoad": "CPU Load Avg (5m)",
"up": "Op",
"down": "Ned",
"bytesTx": "Transmitted",
"bytesRx": "Modtaget"
},
"uptimerobot": { "uptimerobot": {
"status": "Status", "status": "Status",
"uptime": "Oppetid", "uptime": "Oppetid",
@ -797,11 +826,67 @@
"noEventsFound": "No events found" "noEventsFound": "No events found"
}, },
"romm": { "romm": {
"platforms": "Platforms", "platforms": "Platforme",
"totalRoms": "Total ROMs" "totalRoms": "Total ROMs"
}, },
"netdata": { "netdata": {
"warnings": "Warnings", "warnings": "Advarsler",
"criticals": "Criticals" "criticals": "Criticals"
},
"plantit": {
"events": "Events",
"plants": "Plants",
"photos": "Billeder",
"species": "Species"
},
"gitea": {
"notifications": "Notifications",
"issues": "Problemer",
"pulls": "Pull Requests"
},
"stash": {
"scenes": "Scenes",
"scenesPlayed": "Scenes Played",
"playCount": "Total Plays",
"playDuration": "Time Watched",
"sceneSize": "Scenes Size",
"sceneDuration": "Scenes Duration",
"images": "Images",
"imageSize": "Images Size",
"galleries": "Galleries",
"performers": "Performers",
"studios": "Studios",
"movies": "Film",
"tags": "Tags",
"oCount": "O Count"
},
"tandoor": {
"users": "Brugere",
"recipes": "Opskrifter",
"keywords": "Keywords"
},
"homebox": {
"items": "Items",
"totalWithWarranty": "With Warranty",
"locations": "Locations",
"labels": "Labels",
"users": "Brugere",
"totalValue": "Total Value"
},
"crowdsec": {
"alerts": "Advarsler",
"bans": "Bans"
},
"wgeasy": {
"connected": "Connected",
"enabled": "Aktiveret",
"disabled": "Deaktiveret",
"total": "Total"
},
"swagdashboard": {
"proxied": "Proxied",
"auth": "With Auth",
"outdated": "Outdated",
"banned": "Banned"
} }
} }

View File

@ -107,6 +107,13 @@
"episodes": "Episoden", "episodes": "Episoden",
"songs": "Songs" "songs": "Songs"
}, },
"esphome": {
"offline": "Offline",
"offline_alt": "Offline",
"online": "Online",
"total": "Gesamt",
"unknown": "Unbekannt"
},
"evcc": { "evcc": {
"pv_power": "Erzeugung", "pv_power": "Erzeugung",
"battery_soc": "Batterie", "battery_soc": "Batterie",
@ -135,8 +142,8 @@
"connectionStatusDisconnected": "Getrennt", "connectionStatusDisconnected": "Getrennt",
"connectionStatusConnected": "Verbunden", "connectionStatusConnected": "Verbunden",
"uptime": "Betriebszeit", "uptime": "Betriebszeit",
"maxDown": "Max. Empfang", "maxDown": "Max. Down",
"maxUp": "Max. Senden", "maxUp": "Max. Up",
"down": "Empfangen", "down": "Empfangen",
"up": "Senden", "up": "Senden",
"received": "Empfangen", "received": "Empfangen",
@ -270,7 +277,7 @@
"approved": "Genehmigt", "approved": "Genehmigt",
"available": "Verfügbar" "available": "Verfügbar"
}, },
"pialert": { "netalertx": {
"total": "Gesamt", "total": "Gesamt",
"connected": "Verbunden", "connected": "Verbunden",
"new_devices": "Neue Geräte", "new_devices": "Neue Geräte",
@ -379,13 +386,13 @@
"down": "Offline" "down": "Offline"
}, },
"miniflux": { "miniflux": {
"read": "Lesen", "read": "Gelesen",
"unread": "Ungelesen" "unread": "Ungelesen"
}, },
"authentik": { "authentik": {
"users": "Benutzer", "users": "Benutzer",
"loginsLast24H": "Anmeldungen (24 h)", "loginsLast24H": "Anmeldungen (24 h)",
"failedLoginsLast24H": "Fehlgeschlagene Anmeldungen (24 h)" "failedLoginsLast24H": "Fehlversuche (24 h)"
}, },
"proxmox": { "proxmox": {
"mem": "RAM", "mem": "RAM",
@ -407,7 +414,7 @@
"days": "d", "days": "d",
"hours": "h", "hours": "h",
"crit": "Krit", "crit": "Krit",
"read": "Lesen", "read": "Gelesen",
"write": "Schreiben", "write": "Schreiben",
"gpu": "GPU", "gpu": "GPU",
"mem": "RAM", "mem": "RAM",
@ -536,7 +543,15 @@
}, },
"hdhomerun": { "hdhomerun": {
"channels": "Kanäle", "channels": "Kanäle",
"hd": "HD" "hd": "HD",
"tunerCount": "Empfänger",
"channelNumber": "Kanal",
"channelNetwork": "Netzwerk",
"signalStrength": "Stärke",
"signalQuality": "Qualität",
"symbolQuality": "Qualität",
"networkRate": "Bitrate",
"clientIP": "Client"
}, },
"scrutiny": { "scrutiny": {
"passed": "Bestanden", "passed": "Bestanden",
@ -695,6 +710,11 @@
"targets_down": "Ziele Down", "targets_down": "Ziele Down",
"targets_total": "Alle Ziele" "targets_total": "Alle Ziele"
}, },
"gatus": {
"up": "Seiten verfügbar",
"down": "Seiten nicht verfügbar",
"uptime": "Betriebszeit"
},
"ghostfolio": { "ghostfolio": {
"gross_percent_today": "Heute", "gross_percent_today": "Heute",
"gross_percent_1y": "Ein Jahr", "gross_percent_1y": "Ein Jahr",
@ -776,6 +796,14 @@
"passed": "Bestanden", "passed": "Bestanden",
"failed": "Fehlgeschlagen" "failed": "Fehlgeschlagen"
}, },
"openwrt": {
"uptime": "Betriebszeit",
"cpuLoad": "CPU-Last (5 min-Durchschnitt)",
"up": "Senden",
"down": "Empfangen",
"bytesTx": "Übertragen",
"bytesRx": "Empfangen"
},
"uptimerobot": { "uptimerobot": {
"status": "Status", "status": "Status",
"uptime": "Betriebszeit", "uptime": "Betriebszeit",
@ -798,11 +826,67 @@
"noEventsFound": "Keine Termine gefunden" "noEventsFound": "Keine Termine gefunden"
}, },
"romm": { "romm": {
"platforms": "Platforms", "platforms": "Plattformen",
"totalRoms": "Total ROMs" "totalRoms": "ROMs gesamt"
}, },
"netdata": { "netdata": {
"warnings": "Warnungen", "warnings": "Warnungen",
"criticals": "Kritisch" "criticals": "Kritisch"
},
"plantit": {
"events": "Ereignisse",
"plants": "Pflanzen",
"photos": "Fotos",
"species": "Spezies"
},
"gitea": {
"notifications": "Benachrichtigungen",
"issues": "Probleme",
"pulls": "Pull-Requests"
},
"stash": {
"scenes": "Szenen",
"scenesPlayed": "Gespielte Szenen",
"playCount": "Wiedergaben gesamt",
"playDuration": "Zeit angesehen",
"sceneSize": "Szenengröße",
"sceneDuration": "Szenendauer",
"images": "Bilder",
"imageSize": "Bildgröße",
"galleries": "Galerien",
"performers": "Darsteller",
"studios": "Studios",
"movies": "Filme",
"tags": "Schlagwörter",
"oCount": "O-Anzahl"
},
"tandoor": {
"users": "Benutzer",
"recipes": "Rezepte",
"keywords": "Schlagwörter"
},
"homebox": {
"items": "Objekte",
"totalWithWarranty": "Mit Garantie",
"locations": "Orte",
"labels": "Labels",
"users": "Benutzer",
"totalValue": "Gesamtwert"
},
"crowdsec": {
"alerts": "Warnungen",
"bans": "Banns"
},
"wgeasy": {
"connected": "Verbunden",
"enabled": "Aktiviert",
"disabled": "Deaktiviert",
"total": "Gesamt"
},
"swagdashboard": {
"proxied": "Proxied",
"auth": "Mit Auth",
"outdated": "Veraltet",
"banned": "Gebannt"
} }
} }

View File

@ -40,14 +40,14 @@
}, },
"resources": { "resources": {
"cpu": "Επεξεργαστής", "cpu": "Επεξεργαστής",
"mem": "MEM", "mem": "Μνήμη",
"total": "Σύνολο", "total": "Σύνολο",
"free": "Δωρεάν", "free": "Δωρεάν",
"used": "χρησιμοποιημένο", "used": "χρησιμοποιημένο",
"load": "Φόρτωση", "load": "Φόρτωση",
"temp": ΕΡΜΟΚΡΑΣΪΑ", "temp": ερμοκρασία",
"max": "Μέγιστο", "max": "Μέγιστο",
"uptime": "ΠΑΝΩ" "uptime": "Χρόνος Λειτουργίας"
}, },
"unifi": { "unifi": {
"users": "Χρήστες", "users": "Χρήστες",
@ -61,7 +61,7 @@
"wlan_devices": "WLAN Συσκευές", "wlan_devices": "WLAN Συσκευές",
"lan_users": "LAN Χρήστες", "lan_users": "LAN Χρήστες",
"wlan_users": "WLAN Χρήστες", "wlan_users": "WLAN Χρήστες",
"up": "ΠΑΝΩ", "up": "Χρόνος Λειτουργίας",
"down": "ΚΑΤΩ", "down": "ΚΑΤΩ",
"wait": "Παρακαλώ περιμένετε", "wait": "Παρακαλώ περιμένετε",
"empty_data": "Άγνωστη κατάσταση υποσυστήματος" "empty_data": "Άγνωστη κατάσταση υποσυστήματος"
@ -69,7 +69,7 @@
"docker": { "docker": {
"rx": "RX", "rx": "RX",
"tx": "TX", "tx": "TX",
"mem": "MEM", "mem": "Μνήμη",
"cpu": "Επεξεργαστής", "cpu": "Επεξεργαστής",
"running": "Τρέχων", "running": "Τρέχων",
"offline": "Εκτός σύνδεσης", "offline": "Εκτός σύνδεσης",
@ -85,16 +85,16 @@
"ping": { "ping": {
"error": "Σφάλμα", "error": "Σφάλμα",
"ping": "Ping", "ping": "Ping",
"down": "Down", "down": "Ping down",
"up": "Up", "up": "Ping up",
"not_available": "Μη διαθέσιμο" "not_available": "Μη διαθέσιμο"
}, },
"siteMonitor": { "siteMonitor": {
"http_status": "Κατάσταση HTTP", "http_status": "Κατάσταση HTTP",
"error": "Σφάλμα", "error": "Σφάλμα",
"response": "Απόκριση", "response": "Απόκριση",
"down": "Down", "down": "Ping down",
"up": "Up", "up": "Ping up",
"not_available": "Μη διαθέσιμο" "not_available": "Μη διαθέσιμο"
}, },
"emby": { "emby": {
@ -107,6 +107,13 @@
"episodes": "Επεισόδια", "episodes": "Επεισόδια",
"songs": "Τραγούδια" "songs": "Τραγούδια"
}, },
"esphome": {
"offline": "Εκτός σύνδεσης",
"offline_alt": "Εκτός σύνδεσης",
"online": "Συνδεδεμένοι",
"total": "Σύνολο",
"unknown": "Άγνωστο"
},
"evcc": { "evcc": {
"pv_power": "Παραγωγή", "pv_power": "Παραγωγή",
"battery_soc": "Μπαταρία", "battery_soc": "Μπαταρία",
@ -129,19 +136,19 @@
"connectionStatus": "Κατάσταση", "connectionStatus": "Κατάσταση",
"connectionStatusUnconfigured": "Μη Ρυθμισμένο", "connectionStatusUnconfigured": "Μη Ρυθμισμένο",
"connectionStatusConnecting": "Κατάσταση Σύνδεσης", "connectionStatusConnecting": "Κατάσταση Σύνδεσης",
"connectionStatusAuthenticating": "Authenticating", "connectionStatusAuthenticating": "Ταυτοποίηση",
"connectionStatusPendingDisconnect": "Pending Disconnect", "connectionStatusPendingDisconnect": "Εκκρεμεί Αποσύνδεση",
"connectionStatusDisconnecting": "Disconnecting", "connectionStatusDisconnecting": "Αποσύνδεση",
"connectionStatusDisconnected": "Disconnected", "connectionStatusDisconnected": "Αποσυνδέθηκε",
"connectionStatusConnected": "Connected", "connectionStatusConnected": "Συνδέθηκε",
"uptime": "Χρόνος Λειτουργίας", "uptime": "Χρόνος Λειτουργίας",
"maxDown": "Max. Down", "maxDown": "Μέγιστο Download",
"maxUp": "Max. Up", "maxUp": "Μέγιστο Upload",
"down": "Down", "down": "Ping down",
"up": "Up", "up": "Ping up",
"received": "Received", "received": "Ληφθέντα",
"sent": "Sent", "sent": "Απεσταλμένα",
"externalIPAddress": "Ext. IP" "externalIPAddress": "Εξωτερική IP"
}, },
"caddy": { "caddy": {
"upstreams": "Upstreams", "upstreams": "Upstreams",
@ -210,7 +217,7 @@
"memUsage": "Χρήση μνήμης", "memUsage": "Χρήση μνήμης",
"systemTempC": "Θερμοκρασία συστήματος", "systemTempC": "Θερμοκρασία συστήματος",
"poolUsage": "Χρήση πισίνας", "poolUsage": "Χρήση πισίνας",
"volumeUsage": "Volume Usage", "volumeUsage": "Χρήση Όγκου",
"invalid": "Μη έγκυρο" "invalid": "Μη έγκυρο"
}, },
"deluge": { "deluge": {
@ -266,15 +273,15 @@
}, },
"overseerr": { "overseerr": {
"pending": "Σε εκκρεμότητα", "pending": "Σε εκκρεμότητα",
"processing": "Processing", "processing": "Σε επεξεργασία",
"approved": "Εγκρίθηκε", "approved": "Εγκρίθηκε",
"available": "Διαθέσιμο" "available": "Διαθέσιμο"
}, },
"pialert": { "netalertx": {
"total": "Σύνολο", "total": "Σύνολο",
"connected": "Connected", "connected": "Συνδέθηκε",
"new_devices": "New Devices", "new_devices": "Νέες συσκευές",
"down_alerts": "Down Alerts" "down_alerts": "Ειδοποιήσεις offline"
}, },
"pihole": { "pihole": {
"queries": "Queries", "queries": "Queries",
@ -302,26 +309,26 @@
"address": "Διεύθυνση", "address": "Διεύθυνση",
"expires": "Λήγει", "expires": "Λήγει",
"never": "Ποτέ", "never": "Ποτέ",
"last_seen": "Last Seen", "last_seen": "Τελευταία Σύνδεση",
"now": "Τώρα", "now": "Τώρα",
"years": "{{number}}y", "years": "{{number}}χρόνια",
"weeks": "{{number}}w", "weeks": "{{number}}εβδομάδες",
"days": "{{number}}d", "days": "{{number}}μέρες",
"hours": "{{number}}h", "hours": "{{number}}ώρες",
"minutes": "{{number}}m", "minutes": "{{number}}λεπτά",
"seconds": "{{number}}s", "seconds": "{{number}}δευτερόλεπτα",
"ago": "{{value}} πρίν" "ago": "{{value}} πρίν"
}, },
"tdarr": { "tdarr": {
"queue": "Ουρά", "queue": "Ουρά",
"processed": "Processed", "processed": "Σε επεξεργασία",
"errored": "Errored", "errored": "Σφάλματα",
"saved": "Saved" "saved": "Αποθηκεύτηκε"
}, },
"traefik": { "traefik": {
"routers": "Routers", "routers": "Δρομολογητές",
"services": "Services", "services": "Υπηρεσίες",
"middleware": "Middleware" "middleware": "Ενδιάμεσο λογισμικό"
}, },
"navidrome": { "navidrome": {
"nothing_streaming": "Δεν υπάρχουν ενεργές ροές", "nothing_streaming": "Δεν υπάρχουν ενεργές ροές",
@ -353,7 +360,7 @@
}, },
"jackett": { "jackett": {
"configured": "Ρυθμισμένο", "configured": "Ρυθμισμένο",
"errored": "Errored" "errored": "Σφάλματα"
}, },
"strelaysrv": { "strelaysrv": {
"numActiveSessions": "Συνεδρίες", "numActiveSessions": "Συνεδρίες",
@ -364,7 +371,7 @@
"mastodon": { "mastodon": {
"user_count": "Χρήστες", "user_count": "Χρήστες",
"status_count": "Δημοσιεύσεις", "status_count": "Δημοσιεύσεις",
"domain_count": "Domains" "domain_count": "Τομείς"
}, },
"medusa": { "medusa": {
"wanted": "Επιθυμούντε", "wanted": "Επιθυμούντε",
@ -379,7 +386,7 @@
"down": "Εκτός σύνδεσης" "down": "Εκτός σύνδεσης"
}, },
"miniflux": { "miniflux": {
"read": "Read", "read": "Διαβάστηκε",
"unread": "Μη Διαβασμένο" "unread": "Μη Διαβασμένο"
}, },
"authentik": { "authentik": {
@ -388,7 +395,7 @@
"failedLoginsLast24H": "Αποτυχημένες Συνδέσεις (24h)" "failedLoginsLast24H": "Αποτυχημένες Συνδέσεις (24h)"
}, },
"proxmox": { "proxmox": {
"mem": "MEM", "mem": "Μνήμη",
"cpu": "Επεξεργαστής", "cpu": "Επεξεργαστής",
"lxc": "LXC", "lxc": "LXC",
"vms": "VMs" "vms": "VMs"
@ -397,17 +404,17 @@
"cpu": "Επεξεργαστής", "cpu": "Επεξεργαστής",
"load": "Φόρτωση", "load": "Φόρτωση",
"wait": "Παρακαλώ περιμένετε", "wait": "Παρακαλώ περιμένετε",
"temp": ΕΡΜΟΚΡΑΣΪΑ", "temp": ερμοκρασία",
"_temp": "Temp", "_temp": "Temp",
"warn": "Warn", "warn": "Warn",
"uptime": "ΠΑΝΩ", "uptime": "Χρόνος Λειτουργίας",
"total": "Σύνολο", "total": "Σύνολο",
"free": "Δωρεάν", "free": "Δωρεάν",
"used": "χρησιμοποιημένο", "used": "χρησιμοποιημένο",
"days": "d", "days": "d",
"hours": "h", "hours": "h",
"crit": "Crit", "crit": "Crit",
"read": "Read", "read": "Διαβάστηκε",
"write": "Write", "write": "Write",
"gpu": "GPU", "gpu": "GPU",
"mem": "Μνήμη", "mem": "Μνήμη",
@ -419,7 +426,8 @@
"search": "Search", "search": "Search",
"custom": "Custom", "custom": "Custom",
"visit": "Visit", "visit": "Visit",
"url": "URL" "url": "URL",
"searchsuggestion": "Suggestion"
}, },
"wmo": { "wmo": {
"0-day": "Λιακάδα", "0-day": "Λιακάδα",
@ -442,80 +450,80 @@
"55-night": "Heavy Drizzle", "55-night": "Heavy Drizzle",
"56-day": "Light Freezing Drizzle", "56-day": "Light Freezing Drizzle",
"56-night": "Light Freezing Drizzle", "56-night": "Light Freezing Drizzle",
"57-day": "Freezing Drizzle", "57-day": "Παγωμένο ψιχάλισμα",
"57-night": "Freezing Drizzle", "57-night": "Παγωμένο ψιχάλισμα",
"61-day": "Light Rain", "61-day": "Ψιλόβροχο",
"61-night": "Light Rain", "61-night": "Ψιλόβροχο",
"63-day": "Rain", "63-day": "Βροχή",
"63-night": "Rain", "63-night": "Βροχή",
"65-day": "Heavy Rain", "65-day": "Δυνατή βροχή",
"65-night": "Heavy Rain", "65-night": "Δυνατή βροχή",
"66-day": "Freezing Rain", "66-day": "Παγωμένη βροχή",
"66-night": "Freezing Rain", "66-night": "Παγωμένη βροχή",
"67-day": "Freezing Rain", "67-day": "Παγωμένη βροχή",
"67-night": "Freezing Rain", "67-night": "Παγωμένη βροχή",
"71-day": "Light Snow", "71-day": "Ελαφριά Χιονόπτωση",
"71-night": "Light Snow", "71-night": "Ελαφριά Χιονόπτωση",
"73-day": "Snow", "73-day": "Χιόνι",
"73-night": "Snow", "73-night": "Χιόνι",
"75-day": "Heavy Snow", "75-day": "Ισχυρή χιονόπτωση",
"75-night": "Heavy Snow", "75-night": "Ισχυρή χιονόπτωση",
"77-day": "Snow Grains", "77-day": "Κόκκοι Χιονιού",
"77-night": "Snow Grains", "77-night": "Κόκκοι Χιονιού",
"80-day": "Light Showers", "80-day": "Ασθενείς βροχές",
"80-night": "Light Showers", "80-night": "Ασθενείς βροχές",
"81-day": "Showers", "81-day": "Βροχοπτώσεις",
"81-night": "Showers", "81-night": "Βροχοπτώσεις",
"82-day": "Heavy Showers", "82-day": "Ισχυρές βροχοπτώσεις",
"82-night": "Heavy Showers", "82-night": "Ισχυρές βροχοπτώσεις",
"85-day": "Snow Showers", "85-day": "Χιονοπτώσεις",
"85-night": "Snow Showers", "85-night": "Χιονοπτώσεις",
"86-day": "Snow Showers", "86-day": "Χιονοπτώσεις",
"86-night": "Snow Showers", "86-night": "Χιονοπτώσεις",
"95-day": "Thunderstorm", "95-day": "Καταιγίδα",
"95-night": "Thunderstorm", "95-night": "Καταιγίδα",
"96-day": "Thunderstorm With Hail", "96-day": "Καταιγίδα Με Χαλάζι",
"96-night": "Thunderstorm With Hail", "96-night": "Καταιγίδα Με Χαλάζι",
"99-day": "Thunderstorm With Hail", "99-day": "Καταιγίδα Με Χαλάζι",
"99-night": "Thunderstorm With Hail" "99-night": "Καταιγίδα Με Χαλάζι"
}, },
"homebridge": { "homebridge": {
"available_update": "System", "available_update": "Σύστημα",
"updates": "Updates", "updates": "Ενημερώσεις",
"update_available": "Update Available", "update_available": "Διαθέσιμη ενημέρωση",
"up_to_date": "Up to Date", "up_to_date": "Ενημερωμένο",
"child_bridges": "Child Bridges", "child_bridges": "Child Bridges",
"child_bridges_status": "{{ok}}/{{total}}", "child_bridges_status": "{{ok}}/{{total}}",
"up": "Up", "up": "Ping up",
"pending": "Σε εκκρεμότητα", "pending": "Σε εκκρεμότητα",
"down": "Down" "down": "Ping down"
}, },
"healthchecks": { "healthchecks": {
"new": "New", "new": "New",
"up": "Up", "up": "Ping up",
"grace": "In Grace Period", "grace": "In Grace Period",
"down": "Down", "down": "Ping down",
"paused": "Paused", "paused": "Paused",
"status": "Κατάσταση", "status": "Κατάσταση",
"last_ping": "Last Ping", "last_ping": "Τελευταίο Ping",
"never": "No pings yet" "never": "Δεν υπάρχουν ping ακόμα"
}, },
"watchtower": { "watchtower": {
"containers_scanned": "Scanned", "containers_scanned": "Σκαναρισμένο",
"containers_updated": "Updated", "containers_updated": "Ενημερώθηκε",
"containers_failed": "Failed" "containers_failed": "Απέτυχε"
}, },
"autobrr": { "autobrr": {
"approvedPushes": "Εγκρίθηκε", "approvedPushes": "Εγκρίθηκε",
"rejectedPushes": "Rejected", "rejectedPushes": "Απορρίφθηκε",
"filters": "Filters", "filters": "Φίλτρα",
"indexers": "Ευρετήρια" "indexers": "Ευρετήρια"
}, },
"tubearchivist": { "tubearchivist": {
"downloads": "Ουρά", "downloads": "Ουρά",
"videos": "Videos", "videos": "Βίντεο",
"channels": "Channels", "channels": "Κανάλια",
"playlists": "Playlists" "playlists": "Λίστες αναπαραγωγής"
}, },
"truenas": { "truenas": {
"load": "Φόρτος Συστήματος", "load": "Φόρτος Συστήματος",
@ -534,16 +542,24 @@
"country": "Χώρα" "country": "Χώρα"
}, },
"hdhomerun": { "hdhomerun": {
"channels": "Channels", "channels": "Κανάλια",
"hd": "HD" "hd": "HD",
"tunerCount": "Δέκτες",
"channelNumber": "Κανάλι",
"channelNetwork": "Δίκτυο",
"signalStrength": "Ισχύς σήματος",
"signalQuality": "Ποιότητα",
"symbolQuality": "Ποιότητα",
"networkRate": "Ρυθμός bit",
"clientIP": "Πελάτης"
}, },
"scrutiny": { "scrutiny": {
"passed": "Passed", "passed": "Passed",
"failed": "Failed", "failed": "Απέτυχε",
"unknown": "Άγνωστο" "unknown": "Άγνωστο"
}, },
"paperlessngx": { "paperlessngx": {
"inbox": "Inbox", "inbox": "Εισερχόμενα",
"total": "Σύνολο" "total": "Σύνολο"
}, },
"peanut": { "peanut": {
@ -551,8 +567,8 @@
"ups_load": "UPS Load", "ups_load": "UPS Load",
"ups_status": "UPS Status", "ups_status": "UPS Status",
"online": "Συνδεδεμένοι", "online": "Συνδεδεμένοι",
"on_battery": "On Battery", "on_battery": "Σε μπαταρία",
"low_battery": "Low Battery" "low_battery": "Χαμηλή μπαταρία"
}, },
"nextdns": { "nextdns": {
"wait": "Παρακαλώ περιμένετε", "wait": "Παρακαλώ περιμένετε",
@ -601,10 +617,10 @@
"load": "Load Avg", "load": "Load Avg",
"memory": "Mem Usage", "memory": "Mem Usage",
"wanStatus": "WAN Status", "wanStatus": "WAN Status",
"up": "Up", "up": "Ping up",
"down": "Down", "down": "Ping down",
"temp": "Temp", "temp": "Temp",
"disk": "Disk Usage", "disk": "Χρήση δίσκου",
"wanIP": "WAN IP" "wanIP": "WAN IP"
}, },
"proxmoxbackupserver": { "proxmoxbackupserver": {
@ -615,22 +631,22 @@
}, },
"immich": { "immich": {
"users": "Χρήστες", "users": "Χρήστες",
"photos": "Photos", "photos": "Φωτογραφίες",
"videos": "Videos", "videos": "Βίντεο",
"storage": "Storage" "storage": "Αποθηκευτικός χώρος"
}, },
"uptimekuma": { "uptimekuma": {
"up": "Sites Up", "up": "Online τοποθεσίες",
"down": "Sites Down", "down": "Offline τοποθεσίες",
"uptime": "Χρόνος Λειτουργίας", "uptime": "Χρόνος Λειτουργίας",
"incident": "Incident", "incident": "Περιστατικό",
"m": "m" "m": "m"
}, },
"atsumeru": { "atsumeru": {
"series": "Σειρές", "series": "Σειρές",
"archives": "Archives", "archives": "Archives",
"chapters": "Chapters", "chapters": "Chapters",
"categories": "Categories" "categories": "Κατηγορίες"
}, },
"komga": { "komga": {
"libraries": "Libraries", "libraries": "Libraries",
@ -649,96 +665,101 @@
}, },
"photoprism": { "photoprism": {
"albums": "Άλμπουμ", "albums": "Άλμπουμ",
"photos": "Photos", "photos": "Φωτογραφίες",
"videos": "Videos", "videos": "Βίντεο",
"people": "People" "people": "Άνθρωποι"
}, },
"fileflows": { "fileflows": {
"queue": "Ουρά", "queue": "Ουρά",
"processing": "Processing", "processing": "Σε επεξεργασία",
"processed": "Processed", "processed": "Σε επεξεργασία",
"time": "Time" "time": "Ώρα"
}, },
"grafana": { "grafana": {
"dashboards": "Dashboards", "dashboards": "Πίνακας Ελέγχου",
"datasources": "Data Sources", "datasources": "Πηγές Δεδομένων",
"totalalerts": "Total Alerts", "totalalerts": "Σύνολο Ειδοποιήσεων",
"alertstriggered": "Alerts Triggered" "alertstriggered": "Ενεργοποιημένες Ειδοποιήσεις"
}, },
"nextcloud": { "nextcloud": {
"cpuload": "Cpu Load", "cpuload": "Φόρτος CPU",
"memoryusage": "Memory Usage", "memoryusage": "Χρήση Mνήμης",
"freespace": "Free Space", "freespace": "Ελεύθερος χώρος",
"activeusers": "Active Users", "activeusers": "Ενεργοί χρήστες",
"numfiles": "Files", "numfiles": "Αρχεία",
"numshares": "Shared Items" "numshares": "Κοινόχρηστα στοιχεία"
}, },
"kopia": { "kopia": {
"status": "Κατάσταση", "status": "Κατάσταση",
"size": "Size", "size": "Μέγεθος",
"lastrun": "Last Run", "lastrun": "Τελευταία εκτέλεση",
"nextrun": "Next Run", "nextrun": "Επόμενη εκτέλεση",
"failed": "Failed" "failed": "Απέτυχε"
}, },
"unmanic": { "unmanic": {
"active_workers": "Active Workers", "active_workers": "Ενεργοί χρήστες",
"total_workers": "Total Workers", "total_workers": "Total Workers",
"records_total": "Queue Length" "records_total": "Μήκος Ουράς"
}, },
"pterodactyl": { "pterodactyl": {
"servers": "Διακομιστές", "servers": "Διακομιστές",
"nodes": "Nodes" "nodes": "Κόμβοι [Nodes]"
}, },
"prometheus": { "prometheus": {
"targets_up": "Targets Up", "targets_up": "Στόχοι Πάνω",
"targets_down": "Targets Down", "targets_down": "Στόχοι Κάτω",
"targets_total": "Total Targets" "targets_total": "Συνολικοί Στόχοι"
},
"gatus": {
"up": "Online τοποθεσίες",
"down": "Offline τοποθεσίες",
"uptime": "Χρόνος Λειτουργίας"
}, },
"ghostfolio": { "ghostfolio": {
"gross_percent_today": "Σήμερα", "gross_percent_today": "Σήμερα",
"gross_percent_1y": "One year", "gross_percent_1y": "Ένας χρόνος",
"gross_percent_max": "All time" "gross_percent_max": "Διαχρονικά"
}, },
"audiobookshelf": { "audiobookshelf": {
"podcasts": "Podcasts", "podcasts": "Podcasts",
"books": "Βιβλία", "books": "Βιβλία",
"podcastsDuration": "Duration", "podcastsDuration": "Διάρκεια",
"booksDuration": "Duration" "booksDuration": "Διάρκεια"
}, },
"homeassistant": { "homeassistant": {
"people_home": "People Home", "people_home": "Σύνολο ανθρώπων στο σπίτι",
"lights_on": "Lights On", "lights_on": "Αναμμένα φώτα",
"switches_on": "Switches On" "switches_on": "Ανοιχτοί διακόπτες"
}, },
"whatsupdocker": { "whatsupdocker": {
"monitoring": "Monitoring", "monitoring": "Παρακολούθηση",
"updates": "Updates" "updates": "Ενημερώσεις"
}, },
"calibreweb": { "calibreweb": {
"books": "Βιβλία", "books": "Βιβλία",
"authors": "Authors", "authors": "Συντάκτες",
"categories": "Categories", "categories": "Κατηγορίες",
"series": "Σειρές" "series": "Σειρές"
}, },
"jdownloader": { "jdownloader": {
"downloadCount": "Ουρά", "downloadCount": "Ουρά",
"downloadBytesRemaining": "Υπόλοιπο", "downloadBytesRemaining": "Υπόλοιπο",
"downloadTotalBytes": "Size", "downloadTotalBytes": "Μέγεθος",
"downloadSpeed": "Ταχύτητα" "downloadSpeed": "Ταχύτητα"
}, },
"kavita": { "kavita": {
"seriesCount": "Σειρές", "seriesCount": "Σειρές",
"totalFiles": "Files" "totalFiles": "Αρχεία"
}, },
"azuredevops": { "azuredevops": {
"result": "Result", "result": "Αποτέλεσμα",
"status": "Κατάσταση", "status": "Κατάσταση",
"buildId": "Build ID", "buildId": "Build ID",
"succeeded": "Succeeded", "succeeded": "Πέτυχε",
"notStarted": "Not Started", "notStarted": "Δεν ξεκίνησε",
"failed": "Failed", "failed": "Απέτυχε",
"canceled": "Canceled", "canceled": "Ακυρώθηκε",
"inProgress": "In Progress", "inProgress": "Σε εξέλιξη",
"totalPrs": "Total PRs", "totalPrs": "Total PRs",
"myPrs": "My PRs", "myPrs": "My PRs",
"approved": "Εγκρίθηκε" "approved": "Εγκρίθηκε"
@ -747,8 +768,8 @@
"status": "Κατάσταση", "status": "Κατάσταση",
"online": "Συνδεδεμένοι", "online": "Συνδεδεμένοι",
"offline": "Εκτός σύνδεσης", "offline": "Εκτός σύνδεσης",
"name": "Name", "name": "Όνομα",
"map": "Map", "map": "Χάρτης",
"currentPlayers": "Current players", "currentPlayers": "Current players",
"players": "Παίκτες", "players": "Παίκτες",
"maxPlayers": "Max players", "maxPlayers": "Max players",
@ -756,37 +777,45 @@
"ping": "Ping" "ping": "Ping"
}, },
"urbackup": { "urbackup": {
"ok": "Ok", "ok": "Οκ",
"errored": "Errors", "errored": "Σφάλματα",
"noRecent": "Out of Date", "noRecent": "Απαρχαιωμένη έκδοση",
"totalUsed": "Used Storage" "totalUsed": "Χώρος αποθήκευσης σε χρήση"
}, },
"mealie": { "mealie": {
"recipes": "Recipes", "recipes": "Συνταγές",
"users": "Χρήστες", "users": "Χρήστες",
"categories": "Categories", "categories": "Κατηγορίες",
"tags": "Tags" "tags": "Ετικέτες"
}, },
"openmediavault": { "openmediavault": {
"downloading": "Downloading", "downloading": "Γίνεται λήψη",
"total": "Σύνολο", "total": "Σύνολο",
"running": "Τρέχων", "running": "Τρέχων",
"stopped": "Σταματημένο", "stopped": "Σταματημένο",
"passed": "Passed", "passed": "Passed",
"failed": "Failed" "failed": "Απέτυχε"
},
"openwrt": {
"uptime": "Χρόνος Λειτουργίας",
"cpuLoad": "CPU Load Avg (5m)",
"up": "Ping up",
"down": "Ping down",
"bytesTx": "Transmitted",
"bytesRx": "Ληφθέντα"
}, },
"uptimerobot": { "uptimerobot": {
"status": "Κατάσταση", "status": "Κατάσταση",
"uptime": "Χρόνος Λειτουργίας", "uptime": "Χρόνος Λειτουργίας",
"lastDown": "Last Downtime", "lastDown": "Last Downtime",
"downDuration": "Downtime Duration", "downDuration": "Downtime Duration",
"sitesUp": "Sites Up", "sitesUp": "Online τοποθεσίες",
"sitesDown": "Sites Down", "sitesDown": "Offline τοποθεσίες",
"paused": "Paused", "paused": "Paused",
"notyetchecked": "Not Yet Checked", "notyetchecked": "Not Yet Checked",
"up": "Up", "up": "Ping up",
"seemsdown": "Seems Down", "seemsdown": "Seems Down",
"down": "Down", "down": "Ping down",
"unknown": "Άγνωστο" "unknown": "Άγνωστο"
}, },
"calendar": { "calendar": {
@ -803,5 +832,61 @@
"netdata": { "netdata": {
"warnings": "Warnings", "warnings": "Warnings",
"criticals": "Criticals" "criticals": "Criticals"
},
"plantit": {
"events": "Events",
"plants": "Plants",
"photos": "Φωτογραφίες",
"species": "Species"
},
"gitea": {
"notifications": "Notifications",
"issues": "Issues",
"pulls": "Pull Requests"
},
"stash": {
"scenes": "Scenes",
"scenesPlayed": "Scenes Played",
"playCount": "Total Plays",
"playDuration": "Time Watched",
"sceneSize": "Scenes Size",
"sceneDuration": "Scenes Duration",
"images": "Images",
"imageSize": "Images Size",
"galleries": "Galleries",
"performers": "Performers",
"studios": "Studios",
"movies": "Ταινίες",
"tags": "Ετικέτες",
"oCount": "O Count"
},
"tandoor": {
"users": "Χρήστες",
"recipes": "Συνταγές",
"keywords": "Keywords"
},
"homebox": {
"items": "Items",
"totalWithWarranty": "With Warranty",
"locations": "Locations",
"labels": "Labels",
"users": "Χρήστες",
"totalValue": "Total Value"
},
"crowdsec": {
"alerts": "Ειδοποιήσεις",
"bans": "Bans"
},
"wgeasy": {
"connected": "Συνδέθηκε",
"enabled": "Ενεργοποιημένο",
"disabled": "Απενεργοποιημένο",
"total": "Σύνολο"
},
"swagdashboard": {
"proxied": "Proxied",
"auth": "With Auth",
"outdated": "Outdated",
"banned": "Banned"
} }
} }

View File

@ -107,6 +107,13 @@
"episodes": "Episodes", "episodes": "Episodes",
"songs": "Songs" "songs": "Songs"
}, },
"esphome": {
"offline": "Offline",
"offline_alt": "Offline",
"online": "Online",
"total": "Total",
"unknown": "Unknown"
},
"evcc": { "evcc": {
"pv_power": "Production", "pv_power": "Production",
"battery_soc": "Battery", "battery_soc": "Battery",
@ -270,7 +277,7 @@
"approved": "Approved", "approved": "Approved",
"available": "Available" "available": "Available"
}, },
"pialert": { "netalertx": {
"total": "Total", "total": "Total",
"connected": "Connected", "connected": "Connected",
"new_devices": "New Devices", "new_devices": "New Devices",
@ -749,9 +756,6 @@
"retryCache": "Retry Cache", "retryCache": "Retry Cache",
"feedCache": "Feed Cache" "feedCache": "Feed Cache"
}, },
"wgeasy": {
"clients": "Total Clients"
},
"kavita": { "kavita": {
"seriesCount": "Series", "seriesCount": "Series",
"totalFiles": "Files" "totalFiles": "Files"
@ -869,5 +873,50 @@
"serverName": "Server Name", "serverName": "Server Name",
"numberOfActiveCams": "Active Cameras", "numberOfActiveCams": "Active Cameras",
"numberOfAlerts": "Total Alerts" "numberOfAlerts": "Total Alerts"
},
"stash": {
"scenes": "Scenes",
"scenesPlayed": "Scenes Played",
"playCount": "Total Plays",
"playDuration": "Time Watched",
"sceneSize": "Scenes Size",
"sceneDuration": "Scenes Duration",
"images": "Images",
"imageSize": "Images Size",
"galleries": "Galleries",
"performers": "Performers",
"studios": "Studios",
"movies": "Movies",
"tags": "Tags",
"oCount": "O Count"
},
"tandoor": {
"users": "Users",
"recipes": "Recipes",
"keywords": "Keywords"
},
"homebox": {
"items": "Items",
"totalWithWarranty": "With Warranty",
"locations": "Locations",
"labels": "Labels",
"users": "Users",
"totalValue": "Total Value"
},
"crowdsec": {
"alerts": "Alerts",
"bans": "Bans"
},
"wgeasy": {
"connected": "Connected",
"enabled": "Enabled",
"disabled": "Disabled",
"total": "Total"
},
"swagdashboard": {
"proxied": "Proxied",
"auth": "With Auth",
"outdated": "Outdated",
"banned": "Banned"
} }
} }

View File

@ -107,6 +107,13 @@
"episodes": "Epizodoj", "episodes": "Epizodoj",
"songs": "Kantoj" "songs": "Kantoj"
}, },
"esphome": {
"offline": "Malkonekta",
"offline_alt": "Malkonekta",
"online": "Online",
"total": "Totalo",
"unknown": "Nekonata"
},
"evcc": { "evcc": {
"pv_power": "Production", "pv_power": "Production",
"battery_soc": "Battery", "battery_soc": "Battery",
@ -270,7 +277,7 @@
"approved": "Aprobita", "approved": "Aprobita",
"available": "Havebla" "available": "Havebla"
}, },
"pialert": { "netalertx": {
"total": "Totalo", "total": "Totalo",
"connected": "Connected", "connected": "Connected",
"new_devices": "New Devices", "new_devices": "New Devices",
@ -419,7 +426,8 @@
"search": "Search", "search": "Search",
"custom": "Custom", "custom": "Custom",
"visit": "Visit", "visit": "Visit",
"url": "URL" "url": "URL",
"searchsuggestion": "Suggestion"
}, },
"wmo": { "wmo": {
"0-day": "Suna", "0-day": "Suna",
@ -535,7 +543,15 @@
}, },
"hdhomerun": { "hdhomerun": {
"channels": "Kanaloj", "channels": "Kanaloj",
"hd": "HD" "hd": "HD",
"tunerCount": "Tuners",
"channelNumber": "Channel",
"channelNetwork": "Network",
"signalStrength": "Strength",
"signalQuality": "Quality",
"symbolQuality": "Quality",
"networkRate": "Bitrapido",
"clientIP": "Client"
}, },
"scrutiny": { "scrutiny": {
"passed": "Passed", "passed": "Passed",
@ -694,6 +710,11 @@
"targets_down": "Targets Down", "targets_down": "Targets Down",
"targets_total": "Total Targets" "targets_total": "Total Targets"
}, },
"gatus": {
"up": "Sites Up",
"down": "Sites Down",
"uptime": "Uptime"
},
"ghostfolio": { "ghostfolio": {
"gross_percent_today": "Today", "gross_percent_today": "Today",
"gross_percent_1y": "One year", "gross_percent_1y": "One year",
@ -775,6 +796,14 @@
"passed": "Passed", "passed": "Passed",
"failed": "Failed" "failed": "Failed"
}, },
"openwrt": {
"uptime": "Uptime",
"cpuLoad": "CPU Load Avg (5m)",
"up": "Up",
"down": "Down",
"bytesTx": "Transmitted",
"bytesRx": "Received"
},
"uptimerobot": { "uptimerobot": {
"status": "Stato", "status": "Stato",
"uptime": "Uptime", "uptime": "Uptime",
@ -803,5 +832,61 @@
"netdata": { "netdata": {
"warnings": "Warnings", "warnings": "Warnings",
"criticals": "Criticals" "criticals": "Criticals"
},
"plantit": {
"events": "Events",
"plants": "Plants",
"photos": "Photos",
"species": "Species"
},
"gitea": {
"notifications": "Notifications",
"issues": "Issues",
"pulls": "Pull Requests"
},
"stash": {
"scenes": "Scenes",
"scenesPlayed": "Scenes Played",
"playCount": "Total Plays",
"playDuration": "Time Watched",
"sceneSize": "Scenes Size",
"sceneDuration": "Scenes Duration",
"images": "Images",
"imageSize": "Images Size",
"galleries": "Galleries",
"performers": "Performers",
"studios": "Studios",
"movies": "Filmoj",
"tags": "Tags",
"oCount": "O Count"
},
"tandoor": {
"users": "Uzantoj",
"recipes": "Recipes",
"keywords": "Keywords"
},
"homebox": {
"items": "Items",
"totalWithWarranty": "With Warranty",
"locations": "Locations",
"labels": "Labels",
"users": "Uzantoj",
"totalValue": "Total Value"
},
"crowdsec": {
"alerts": "Alerts",
"bans": "Bans"
},
"wgeasy": {
"connected": "Connected",
"enabled": "Enabled",
"disabled": "Disabled",
"total": "Totalo"
},
"swagdashboard": {
"proxied": "Proxied",
"auth": "With Auth",
"outdated": "Outdated",
"banned": "Banned"
} }
} }

View File

@ -12,7 +12,7 @@
"number": "{{value, number}}", "number": "{{value, number}}",
"ms": "{{value, number}}", "ms": "{{value, number}}",
"date": "{{value, date}}", "date": "{{value, date}}",
"relativeDate": "{{value, relativeDate}}", "relativeDate": "{{valor, relativaFecha}}",
"uptime": "{{value, uptime}}", "uptime": "{{value, uptime}}",
"months": "me", "months": "me",
"days": "d", "days": "d",
@ -107,6 +107,13 @@
"episodes": "Episodios", "episodes": "Episodios",
"songs": "Canciones" "songs": "Canciones"
}, },
"esphome": {
"offline": "Desconectado",
"offline_alt": "Desconectado",
"online": "En línea",
"total": "Total",
"unknown": "Desconocido"
},
"evcc": { "evcc": {
"pv_power": "Producción", "pv_power": "Producción",
"battery_soc": "Batería", "battery_soc": "Batería",
@ -270,11 +277,11 @@
"approved": "Aprobado", "approved": "Aprobado",
"available": "Disponible" "available": "Disponible"
}, },
"pialert": { "netalertx": {
"total": "Total", "total": "Total",
"connected": "Conectado", "connected": "Conectado",
"new_devices": "Nuevos dispositivos", "new_devices": "Nuevos dispositivos",
"down_alerts": "Alertas de caídas" "down_alerts": "Alertas de caída"
}, },
"pihole": { "pihole": {
"queries": "Consultas", "queries": "Consultas",
@ -419,7 +426,8 @@
"search": "Buscar", "search": "Buscar",
"custom": "Personalizado", "custom": "Personalizado",
"visit": "Visitar", "visit": "Visitar",
"url": "Enlace" "url": "Enlace",
"searchsuggestion": "Sugerencia"
}, },
"wmo": { "wmo": {
"0-day": "Soleado", "0-day": "Soleado",
@ -535,7 +543,15 @@
}, },
"hdhomerun": { "hdhomerun": {
"channels": "Canales", "channels": "Canales",
"hd": "Alta definición" "hd": "Alta definición",
"tunerCount": "Sintonizadores",
"channelNumber": "Canal",
"channelNetwork": "Red",
"signalStrength": "Intensidad",
"signalQuality": "Calidad",
"symbolQuality": "Calidad",
"networkRate": "Tasa de bits",
"clientIP": "Cliente"
}, },
"scrutiny": { "scrutiny": {
"passed": "Aprobado", "passed": "Aprobado",
@ -694,6 +710,11 @@
"targets_down": "Objetivos inactivos", "targets_down": "Objetivos inactivos",
"targets_total": "Objetivos totales" "targets_total": "Objetivos totales"
}, },
"gatus": {
"up": "Sitios activos",
"down": "Sitios inactivos",
"uptime": "Tiempo activo"
},
"ghostfolio": { "ghostfolio": {
"gross_percent_today": "Hoy", "gross_percent_today": "Hoy",
"gross_percent_1y": "Un año", "gross_percent_1y": "Un año",
@ -775,6 +796,14 @@
"passed": "Aprobado", "passed": "Aprobado",
"failed": "Fallido" "failed": "Fallido"
}, },
"openwrt": {
"uptime": "Tiempo activo",
"cpuLoad": "Carga promedio del CPU (5m)",
"up": "Activo",
"down": "Inactivo",
"bytesTx": "Transmitido",
"bytesRx": "Recibido"
},
"uptimerobot": { "uptimerobot": {
"status": "Estado", "status": "Estado",
"uptime": "Tiempo activo", "uptime": "Tiempo activo",
@ -797,11 +826,67 @@
"noEventsFound": "No se encontraron eventos" "noEventsFound": "No se encontraron eventos"
}, },
"romm": { "romm": {
"platforms": "Platforms", "platforms": "Plataformas",
"totalRoms": "Total ROMs" "totalRoms": "ROMs totales"
}, },
"netdata": { "netdata": {
"warnings": "Warnings", "warnings": "Advertencias",
"criticals": "Criticals" "criticals": "Críticos"
},
"plantit": {
"events": "Eventos",
"plants": "Plantas",
"photos": "Fotos",
"species": "Especies"
},
"gitea": {
"notifications": "Notificaciones",
"issues": "Números",
"pulls": "Solicitudes de cambios"
},
"stash": {
"scenes": "Escenas",
"scenesPlayed": "Escenas reproducidas",
"playCount": "Reproducciones totales",
"playDuration": "Tiempo visto",
"sceneSize": "Tamaño de las escenas",
"sceneDuration": "Duración de las escenas",
"images": "Imágenes",
"imageSize": "Tamaño de imagen",
"galleries": "Galerías",
"performers": "Intérpretes",
"studios": "Estudios",
"movies": "Películas",
"tags": "Etiquetas",
"oCount": "O cuenta"
},
"tandoor": {
"users": "Usuarios",
"recipes": "Recetas",
"keywords": "Palabras clave"
},
"homebox": {
"items": "Objetos",
"totalWithWarranty": "Con Garantía",
"locations": "Ubicaciones",
"labels": "Etiquetas",
"users": "Usuarios",
"totalValue": "Valor total"
},
"crowdsec": {
"alerts": "Alertas",
"bans": "Baneos"
},
"wgeasy": {
"connected": "Conectado",
"enabled": "Activado",
"disabled": "Desactivado",
"total": "Total"
},
"swagdashboard": {
"proxied": "Proxied",
"auth": "With Auth",
"outdated": "Outdated",
"banned": "Banned"
} }
} }

View File

@ -107,6 +107,13 @@
"episodes": "Episodes", "episodes": "Episodes",
"songs": "Abestiak" "songs": "Abestiak"
}, },
"esphome": {
"offline": "Offline",
"offline_alt": "Offline",
"online": "Online",
"total": "Guztira",
"unknown": "Ezezaguna"
},
"evcc": { "evcc": {
"pv_power": "Production", "pv_power": "Production",
"battery_soc": "Battery", "battery_soc": "Battery",
@ -270,7 +277,7 @@
"approved": "Approved", "approved": "Approved",
"available": "Available" "available": "Available"
}, },
"pialert": { "netalertx": {
"total": "Guztira", "total": "Guztira",
"connected": "Connected", "connected": "Connected",
"new_devices": "New Devices", "new_devices": "New Devices",
@ -419,7 +426,8 @@
"search": "Search", "search": "Search",
"custom": "Custom", "custom": "Custom",
"visit": "Visit", "visit": "Visit",
"url": "URL" "url": "URL",
"searchsuggestion": "Suggestion"
}, },
"wmo": { "wmo": {
"0-day": "Sunny", "0-day": "Sunny",
@ -535,7 +543,15 @@
}, },
"hdhomerun": { "hdhomerun": {
"channels": "Channels", "channels": "Channels",
"hd": "HD" "hd": "HD",
"tunerCount": "Tuners",
"channelNumber": "Channel",
"channelNetwork": "Network",
"signalStrength": "Strength",
"signalQuality": "Quality",
"symbolQuality": "Quality",
"networkRate": "Bit-tasa",
"clientIP": "Client"
}, },
"scrutiny": { "scrutiny": {
"passed": "Passed", "passed": "Passed",
@ -694,6 +710,11 @@
"targets_down": "Targets Down", "targets_down": "Targets Down",
"targets_total": "Total Targets" "targets_total": "Total Targets"
}, },
"gatus": {
"up": "Sites Up",
"down": "Sites Down",
"uptime": "Uptime"
},
"ghostfolio": { "ghostfolio": {
"gross_percent_today": "Today", "gross_percent_today": "Today",
"gross_percent_1y": "One year", "gross_percent_1y": "One year",
@ -775,6 +796,14 @@
"passed": "Passed", "passed": "Passed",
"failed": "Failed" "failed": "Failed"
}, },
"openwrt": {
"uptime": "Uptime",
"cpuLoad": "CPU Load Avg (5m)",
"up": "Up",
"down": "Down",
"bytesTx": "Transmitted",
"bytesRx": "Received"
},
"uptimerobot": { "uptimerobot": {
"status": "Status", "status": "Status",
"uptime": "Uptime", "uptime": "Uptime",
@ -803,5 +832,61 @@
"netdata": { "netdata": {
"warnings": "Warnings", "warnings": "Warnings",
"criticals": "Criticals" "criticals": "Criticals"
},
"plantit": {
"events": "Events",
"plants": "Plants",
"photos": "Photos",
"species": "Species"
},
"gitea": {
"notifications": "Notifications",
"issues": "Issues",
"pulls": "Pull Requests"
},
"stash": {
"scenes": "Scenes",
"scenesPlayed": "Scenes Played",
"playCount": "Total Plays",
"playDuration": "Time Watched",
"sceneSize": "Scenes Size",
"sceneDuration": "Scenes Duration",
"images": "Images",
"imageSize": "Images Size",
"galleries": "Galleries",
"performers": "Performers",
"studios": "Studios",
"movies": "Movies",
"tags": "Tags",
"oCount": "O Count"
},
"tandoor": {
"users": "Users",
"recipes": "Recipes",
"keywords": "Keywords"
},
"homebox": {
"items": "Items",
"totalWithWarranty": "With Warranty",
"locations": "Locations",
"labels": "Labels",
"users": "Users",
"totalValue": "Total Value"
},
"crowdsec": {
"alerts": "Alerts",
"bans": "Bans"
},
"wgeasy": {
"connected": "Connected",
"enabled": "Enabled",
"disabled": "Disabled",
"total": "Guztira"
},
"swagdashboard": {
"proxied": "Proxied",
"auth": "With Auth",
"outdated": "Outdated",
"banned": "Banned"
} }
} }

View File

@ -107,6 +107,13 @@
"episodes": "Episodes", "episodes": "Episodes",
"songs": "Songs" "songs": "Songs"
}, },
"esphome": {
"offline": "Offline",
"offline_alt": "Offline",
"online": "Online",
"total": "Yhteensä",
"unknown": "Unknown"
},
"evcc": { "evcc": {
"pv_power": "Production", "pv_power": "Production",
"battery_soc": "Battery", "battery_soc": "Battery",
@ -270,7 +277,7 @@
"approved": "Hyväksytty", "approved": "Hyväksytty",
"available": "Saatavilla" "available": "Saatavilla"
}, },
"pialert": { "netalertx": {
"total": "Yhteensä", "total": "Yhteensä",
"connected": "Connected", "connected": "Connected",
"new_devices": "New Devices", "new_devices": "New Devices",
@ -419,7 +426,8 @@
"search": "Search", "search": "Search",
"custom": "Custom", "custom": "Custom",
"visit": "Visit", "visit": "Visit",
"url": "URL" "url": "URL",
"searchsuggestion": "Suggestion"
}, },
"wmo": { "wmo": {
"0-day": "Sunny", "0-day": "Sunny",
@ -535,7 +543,15 @@
}, },
"hdhomerun": { "hdhomerun": {
"channels": "Channels", "channels": "Channels",
"hd": "HD" "hd": "HD",
"tunerCount": "Tuners",
"channelNumber": "Channel",
"channelNetwork": "Network",
"signalStrength": "Strength",
"signalQuality": "Quality",
"symbolQuality": "Quality",
"networkRate": "Bittinopeus",
"clientIP": "Client"
}, },
"scrutiny": { "scrutiny": {
"passed": "Passed", "passed": "Passed",
@ -694,6 +710,11 @@
"targets_down": "Targets Down", "targets_down": "Targets Down",
"targets_total": "Total Targets" "targets_total": "Total Targets"
}, },
"gatus": {
"up": "Sites Up",
"down": "Sites Down",
"uptime": "Uptime"
},
"ghostfolio": { "ghostfolio": {
"gross_percent_today": "Today", "gross_percent_today": "Today",
"gross_percent_1y": "One year", "gross_percent_1y": "One year",
@ -775,6 +796,14 @@
"passed": "Passed", "passed": "Passed",
"failed": "Failed" "failed": "Failed"
}, },
"openwrt": {
"uptime": "Uptime",
"cpuLoad": "CPU Load Avg (5m)",
"up": "Up",
"down": "Down",
"bytesTx": "Transmitted",
"bytesRx": "Received"
},
"uptimerobot": { "uptimerobot": {
"status": "Tila", "status": "Tila",
"uptime": "Uptime", "uptime": "Uptime",
@ -803,5 +832,61 @@
"netdata": { "netdata": {
"warnings": "Warnings", "warnings": "Warnings",
"criticals": "Criticals" "criticals": "Criticals"
},
"plantit": {
"events": "Events",
"plants": "Plants",
"photos": "Photos",
"species": "Species"
},
"gitea": {
"notifications": "Notifications",
"issues": "Issues",
"pulls": "Pull Requests"
},
"stash": {
"scenes": "Scenes",
"scenesPlayed": "Scenes Played",
"playCount": "Total Plays",
"playDuration": "Time Watched",
"sceneSize": "Scenes Size",
"sceneDuration": "Scenes Duration",
"images": "Images",
"imageSize": "Images Size",
"galleries": "Galleries",
"performers": "Performers",
"studios": "Studios",
"movies": "Movies",
"tags": "Tags",
"oCount": "O Count"
},
"tandoor": {
"users": "Users",
"recipes": "Recipes",
"keywords": "Keywords"
},
"homebox": {
"items": "Items",
"totalWithWarranty": "With Warranty",
"locations": "Locations",
"labels": "Labels",
"users": "Users",
"totalValue": "Total Value"
},
"crowdsec": {
"alerts": "Alerts",
"bans": "Bans"
},
"wgeasy": {
"connected": "Connected",
"enabled": "Käytössä",
"disabled": "Poissa käytöstä",
"total": "Yhteensä"
},
"swagdashboard": {
"proxied": "Proxied",
"auth": "With Auth",
"outdated": "Outdated",
"banned": "Banned"
} }
} }

View File

@ -15,17 +15,17 @@
"relativeDate": "{{value, relativeDate}}", "relativeDate": "{{value, relativeDate}}",
"uptime": "{{value, uptime}}", "uptime": "{{value, uptime}}",
"months": "mo", "months": "mo",
"days": "d", "days": "j",
"hours": "h", "hours": "h",
"minutes": "m", "minutes": "m",
"seconds": "s" "seconds": "s"
}, },
"widget": { "widget": {
"missing_type": "Widget manquant: {{type}}", "missing_type": "Type de widget manquant: {{type}}",
"api_error": "Erreur API", "api_error": "Erreur API",
"information": "Informations", "information": "Informations",
"status": "Statut", "status": "Statut",
"url": "Url", "url": "URL",
"raw_error": "Erreur brute", "raw_error": "Erreur brute",
"response_data": "Données de réponse" "response_data": "Données de réponse"
}, },
@ -39,8 +39,8 @@
"placeholder": "Recherche…" "placeholder": "Recherche…"
}, },
"resources": { "resources": {
"cpu": "Cpu", "cpu": "CPU",
"mem": "Mém", "mem": "MÉM",
"total": "Total", "total": "Total",
"free": "Libre", "free": "Libre",
"used": "Utilisé", "used": "Utilisé",
@ -69,8 +69,8 @@
"docker": { "docker": {
"rx": "Rx", "rx": "Rx",
"tx": "Tx", "tx": "Tx",
"mem": "Mém", "mem": "MÉM",
"cpu": "Cpu", "cpu": "CPU",
"running": "Démarré", "running": "Démarré",
"offline": "Hors ligne", "offline": "Hors ligne",
"error": "Erreur", "error": "Erreur",
@ -107,6 +107,13 @@
"episodes": "Épisodes", "episodes": "Épisodes",
"songs": "Musique" "songs": "Musique"
}, },
"esphome": {
"offline": "Hors ligne",
"offline_alt": "Hors ligne",
"online": "En ligne",
"total": "Total",
"unknown": "Inconnu"
},
"evcc": { "evcc": {
"pv_power": "Production", "pv_power": "Production",
"battery_soc": "Batterie", "battery_soc": "Batterie",
@ -150,7 +157,7 @@
}, },
"changedetectionio": { "changedetectionio": {
"totalObserved": "Total Observé", "totalObserved": "Total Observé",
"diffsDetected": "Diffs Detectées" "diffsDetected": "Diffs tectées"
}, },
"channelsdvrserver": { "channelsdvrserver": {
"shows": "Affichages", "shows": "Affichages",
@ -166,7 +173,7 @@
"plex_connection_error": "Vérifier la connexion à Plex" "plex_connection_error": "Vérifier la connexion à Plex"
}, },
"omada": { "omada": {
"connectedAp": "APs connectées", "connectedAp": "AP connectés",
"activeUser": "Équipts actifs", "activeUser": "Équipts actifs",
"alerts": "Alertes", "alerts": "Alertes",
"connectedGateway": "Passerelles connectées", "connectedGateway": "Passerelles connectées",
@ -270,11 +277,11 @@
"approved": "Validé", "approved": "Validé",
"available": "Disponible" "available": "Disponible"
}, },
"pialert": { "netalertx": {
"total": "Total", "total": "Total",
"connected": "Connecté", "connected": "Connecté",
"new_devices": "Nouvel Appareil", "new_devices": "Nouveaux appareils",
"down_alerts": "Alertes" "down_alerts": "Alertes d'arrêt"
}, },
"pihole": { "pihole": {
"queries": "Requêtes", "queries": "Requêtes",
@ -388,13 +395,13 @@
"failedLoginsLast24H": "Cnx. échouées (24h)" "failedLoginsLast24H": "Cnx. échouées (24h)"
}, },
"proxmox": { "proxmox": {
"mem": "Mém", "mem": "MÉM",
"cpu": "Cpu", "cpu": "CPU",
"lxc": "LxC", "lxc": "LxC",
"vms": "VMs" "vms": "VMs"
}, },
"glances": { "glances": {
"cpu": "Cpu", "cpu": "CPU",
"load": "Charge", "load": "Charge",
"wait": "Veuillez patienter", "wait": "Veuillez patienter",
"temp": "Temp", "temp": "Temp",
@ -404,7 +411,7 @@
"total": "Total", "total": "Total",
"free": "Libre", "free": "Libre",
"used": "Utilisé", "used": "Utilisé",
"days": "d", "days": "j",
"hours": "h", "hours": "h",
"crit": "Crit.", "crit": "Crit.",
"read": "Lu", "read": "Lu",
@ -419,7 +426,8 @@
"search": "Recherche", "search": "Recherche",
"custom": "Personnalisé", "custom": "Personnalisé",
"visit": "Aller vers", "visit": "Aller vers",
"url": "Url" "url": "URL",
"searchsuggestion": "Suggestions"
}, },
"wmo": { "wmo": {
"0-day": "Ensoleillé", "0-day": "Ensoleillé",
@ -529,13 +537,21 @@
"total": "Total" "total": "Total"
}, },
"gluetun": { "gluetun": {
"public_ip": "IP Publique", "public_ip": "IP publique",
"region": "Région", "region": "Région",
"country": "Pays" "country": "Pays"
}, },
"hdhomerun": { "hdhomerun": {
"channels": "Chaînes", "channels": "Chaînes",
"hd": "HD" "hd": "HD",
"tunerCount": "Tuners",
"channelNumber": "Canal",
"channelNetwork": "Réseau",
"signalStrength": "Force",
"signalQuality": "Qualité",
"symbolQuality": "Qualité",
"networkRate": "Débit",
"clientIP": "Client"
}, },
"scrutiny": { "scrutiny": {
"passed": "Réussi", "passed": "Réussi",
@ -547,11 +563,11 @@
"total": "Total" "total": "Total"
}, },
"peanut": { "peanut": {
"battery_charge": "Battery Charge", "battery_charge": "Charge Batterie",
"ups_load": "Charge de l'UPS", "ups_load": "Charge de l'UPS",
"ups_status": "État de l'UPS", "ups_status": "État de l'UPS",
"online": "En ligne", "online": "En ligne",
"on_battery": "On Battery", "on_battery": "Sur Batterie",
"low_battery": "Batterie Faible" "low_battery": "Batterie Faible"
}, },
"nextdns": { "nextdns": {
@ -577,7 +593,7 @@
}, },
"opnsense": { "opnsense": {
"cpu": "Charge CPU", "cpu": "Charge CPU",
"memory": "Mém. Utilisée", "memory": "Mém. utilisée",
"wanUpload": "WAN Envoi", "wanUpload": "WAN Envoi",
"wanDownload": "WAN Récep." "wanDownload": "WAN Récep."
}, },
@ -610,7 +626,7 @@
"proxmoxbackupserver": { "proxmoxbackupserver": {
"datastore_usage": "Datastore", "datastore_usage": "Datastore",
"failed_tasks_24h": "Tâches échouées 24h", "failed_tasks_24h": "Tâches échouées 24h",
"cpu_usage": "Cpu", "cpu_usage": "CPU",
"memory_usage": "Mémoire" "memory_usage": "Mémoire"
}, },
"immich": { "immich": {
@ -633,7 +649,7 @@
"categories": "Catégories" "categories": "Catégories"
}, },
"komga": { "komga": {
"libraries": "Librairies", "libraries": "Bibliothèques",
"series": "Séries TV", "series": "Séries TV",
"books": "Livres" "books": "Livres"
}, },
@ -666,7 +682,7 @@
"alertstriggered": "Alertes déclenchées" "alertstriggered": "Alertes déclenchées"
}, },
"nextcloud": { "nextcloud": {
"cpuload": "Charge Cpu", "cpuload": "Charge CPU",
"memoryusage": "Utilisation Mémoire", "memoryusage": "Utilisation Mémoire",
"freespace": "Libre", "freespace": "Libre",
"activeusers": "Utilisateurs Actifs", "activeusers": "Utilisateurs Actifs",
@ -694,6 +710,11 @@
"targets_down": "Down", "targets_down": "Down",
"targets_total": "Total" "targets_total": "Total"
}, },
"gatus": {
"up": "En ligne",
"down": "Hors ligne",
"uptime": "Démarré depuis"
},
"ghostfolio": { "ghostfolio": {
"gross_percent_today": "Aujourd'hui", "gross_percent_today": "Aujourd'hui",
"gross_percent_1y": "Un an", "gross_percent_1y": "Un an",
@ -775,6 +796,14 @@
"passed": "Réussi", "passed": "Réussi",
"failed": "Échoué" "failed": "Échoué"
}, },
"openwrt": {
"uptime": "Démarré depuis",
"cpuLoad": "Charge moyenne CPU (5 min)",
"up": "Up",
"down": "Down",
"bytesTx": "Transmis",
"bytesRx": "Reçu"
},
"uptimerobot": { "uptimerobot": {
"status": "Statut", "status": "Statut",
"uptime": "Démarré depuis", "uptime": "Démarré depuis",
@ -797,11 +826,67 @@
"noEventsFound": "Aucun événement trouvé" "noEventsFound": "Aucun événement trouvé"
}, },
"romm": { "romm": {
"platforms": "Platforms", "platforms": "Plateformes",
"totalRoms": "Total ROMs" "totalRoms": "Total des ROMs"
}, },
"netdata": { "netdata": {
"warnings": "Warnings", "warnings": "Avertissements",
"criticals": "Criticals" "criticals": "Urgent"
},
"plantit": {
"events": "Événements",
"plants": "Plantes",
"photos": "Photos",
"species": "Espèces"
},
"gitea": {
"notifications": "Notifications",
"issues": "Anomalies",
"pulls": "Demandes de tirage"
},
"stash": {
"scenes": "Scènes",
"scenesPlayed": "Scènes jouées",
"playCount": "Lectures Totales",
"playDuration": "Temps regardé",
"sceneSize": "Taille des scènes",
"sceneDuration": "Durée des scènes",
"images": "Images",
"imageSize": "Taille des images",
"galleries": "Galeries",
"performers": "Acteurs",
"studios": "Studios",
"movies": "Films",
"tags": "Étiquettes",
"oCount": "0 Compte"
},
"tandoor": {
"users": "Utilisateurs",
"recipes": "Recettes",
"keywords": "Mots-clés"
},
"homebox": {
"items": "Objets",
"totalWithWarranty": "Avec garantie",
"locations": "Emplacements",
"labels": "Étiquettes",
"users": "Utilisateurs",
"totalValue": "Valeur Totale"
},
"crowdsec": {
"alerts": "Alertes",
"bans": "Exclusions"
},
"wgeasy": {
"connected": "Connecté",
"enabled": "Activé",
"disabled": "Désactivé",
"total": "Total"
},
"swagdashboard": {
"proxied": "Par proxy",
"auth": "Avec authentification",
"outdated": "Obsolète",
"banned": "Banni"
} }
} }

View File

@ -107,6 +107,13 @@
"episodes": "Episodes", "episodes": "Episodes",
"songs": "Songs" "songs": "Songs"
}, },
"esphome": {
"offline": "כבוי",
"offline_alt": "כבוי",
"online": "Online",
"total": "סה\"כ",
"unknown": "Unknown"
},
"evcc": { "evcc": {
"pv_power": "Production", "pv_power": "Production",
"battery_soc": "Battery", "battery_soc": "Battery",
@ -270,7 +277,7 @@
"approved": "מאושר", "approved": "מאושר",
"available": "זמין" "available": "זמין"
}, },
"pialert": { "netalertx": {
"total": "סה\"כ", "total": "סה\"כ",
"connected": "Connected", "connected": "Connected",
"new_devices": "New Devices", "new_devices": "New Devices",
@ -419,7 +426,8 @@
"search": "Search", "search": "Search",
"custom": "Custom", "custom": "Custom",
"visit": "Visit", "visit": "Visit",
"url": "URL" "url": "URL",
"searchsuggestion": "Suggestion"
}, },
"wmo": { "wmo": {
"0-day": "Sunny", "0-day": "Sunny",
@ -535,7 +543,15 @@
}, },
"hdhomerun": { "hdhomerun": {
"channels": "Channels", "channels": "Channels",
"hd": "HD" "hd": "HD",
"tunerCount": "Tuners",
"channelNumber": "Channel",
"channelNetwork": "Network",
"signalStrength": "Strength",
"signalQuality": "Quality",
"symbolQuality": "Quality",
"networkRate": "סיביות",
"clientIP": "Client"
}, },
"scrutiny": { "scrutiny": {
"passed": "Passed", "passed": "Passed",
@ -694,6 +710,11 @@
"targets_down": "Targets Down", "targets_down": "Targets Down",
"targets_total": "Total Targets" "targets_total": "Total Targets"
}, },
"gatus": {
"up": "Sites Up",
"down": "Sites Down",
"uptime": "Uptime"
},
"ghostfolio": { "ghostfolio": {
"gross_percent_today": "Today", "gross_percent_today": "Today",
"gross_percent_1y": "One year", "gross_percent_1y": "One year",
@ -775,6 +796,14 @@
"passed": "Passed", "passed": "Passed",
"failed": "Failed" "failed": "Failed"
}, },
"openwrt": {
"uptime": "Uptime",
"cpuLoad": "CPU Load Avg (5m)",
"up": "Up",
"down": "Down",
"bytesTx": "Transmitted",
"bytesRx": "Received"
},
"uptimerobot": { "uptimerobot": {
"status": "סטטוס", "status": "סטטוס",
"uptime": "Uptime", "uptime": "Uptime",
@ -803,5 +832,61 @@
"netdata": { "netdata": {
"warnings": "Warnings", "warnings": "Warnings",
"criticals": "Criticals" "criticals": "Criticals"
},
"plantit": {
"events": "Events",
"plants": "Plants",
"photos": "Photos",
"species": "Species"
},
"gitea": {
"notifications": "Notifications",
"issues": "Issues",
"pulls": "Pull Requests"
},
"stash": {
"scenes": "Scenes",
"scenesPlayed": "Scenes Played",
"playCount": "Total Plays",
"playDuration": "Time Watched",
"sceneSize": "Scenes Size",
"sceneDuration": "Scenes Duration",
"images": "Images",
"imageSize": "Images Size",
"galleries": "Galleries",
"performers": "Performers",
"studios": "Studios",
"movies": "Movies",
"tags": "Tags",
"oCount": "O Count"
},
"tandoor": {
"users": "Users",
"recipes": "Recipes",
"keywords": "Keywords"
},
"homebox": {
"items": "Items",
"totalWithWarranty": "With Warranty",
"locations": "Locations",
"labels": "Labels",
"users": "Users",
"totalValue": "Total Value"
},
"crowdsec": {
"alerts": "Alerts",
"bans": "Bans"
},
"wgeasy": {
"connected": "Connected",
"enabled": "מופעל",
"disabled": "מבוטל",
"total": "סה\"כ"
},
"swagdashboard": {
"proxied": "Proxied",
"auth": "With Auth",
"outdated": "Outdated",
"banned": "Banned"
} }
} }

View File

@ -11,14 +11,14 @@
"percent": "{{value, percent}}", "percent": "{{value, percent}}",
"number": "{{value, number}}", "number": "{{value, number}}",
"ms": "{{value, number}}", "ms": "{{value, number}}",
"date": "{{value, date}}", "date": "{value, date}",
"relativeDate": "{{value, relativeDate}}", "relativeDate": "{{value, relativeDate}}",
"uptime": "{{value, uptime}}", "uptime": "{{value, uptime}}",
"months": "mo", "months": "माह",
"days": "d", "days": "d",
"hours": "h", "hours": "घं.",
"minutes": "m", "minutes": "m",
"seconds": "s" "seconds": "पल"
}, },
"widget": { "widget": {
"missing_type": "Missing Widget Type: {{type}}", "missing_type": "Missing Widget Type: {{type}}",
@ -107,6 +107,13 @@
"episodes": "Episodes", "episodes": "Episodes",
"songs": "Songs" "songs": "Songs"
}, },
"esphome": {
"offline": "Offline",
"offline_alt": "Offline",
"online": "Online",
"total": "Total",
"unknown": "Unknown"
},
"evcc": { "evcc": {
"pv_power": "Production", "pv_power": "Production",
"battery_soc": "Battery", "battery_soc": "Battery",
@ -270,7 +277,7 @@
"approved": "Approved", "approved": "Approved",
"available": "Available" "available": "Available"
}, },
"pialert": { "netalertx": {
"total": "Total", "total": "Total",
"connected": "Connected", "connected": "Connected",
"new_devices": "New Devices", "new_devices": "New Devices",
@ -405,7 +412,7 @@
"free": "Free", "free": "Free",
"used": "Used", "used": "Used",
"days": "d", "days": "d",
"hours": "h", "hours": "घं.",
"crit": "Crit", "crit": "Crit",
"read": "Read", "read": "Read",
"write": "Write", "write": "Write",
@ -419,7 +426,8 @@
"search": "Search", "search": "Search",
"custom": "Custom", "custom": "Custom",
"visit": "Visit", "visit": "Visit",
"url": "URL" "url": "URL",
"searchsuggestion": "Suggestion"
}, },
"wmo": { "wmo": {
"0-day": "Sunny", "0-day": "Sunny",
@ -535,7 +543,15 @@
}, },
"hdhomerun": { "hdhomerun": {
"channels": "Channels", "channels": "Channels",
"hd": "HD" "hd": "HD",
"tunerCount": "Tuners",
"channelNumber": "Channel",
"channelNetwork": "Network",
"signalStrength": "Strength",
"signalQuality": "Quality",
"symbolQuality": "Quality",
"networkRate": "Bitrate",
"clientIP": "Client"
}, },
"scrutiny": { "scrutiny": {
"passed": "Passed", "passed": "Passed",
@ -694,6 +710,11 @@
"targets_down": "Targets Down", "targets_down": "Targets Down",
"targets_total": "Total Targets" "targets_total": "Total Targets"
}, },
"gatus": {
"up": "Sites Up",
"down": "Sites Down",
"uptime": "Uptime"
},
"ghostfolio": { "ghostfolio": {
"gross_percent_today": "Today", "gross_percent_today": "Today",
"gross_percent_1y": "One year", "gross_percent_1y": "One year",
@ -775,6 +796,14 @@
"passed": "Passed", "passed": "Passed",
"failed": "Failed" "failed": "Failed"
}, },
"openwrt": {
"uptime": "Uptime",
"cpuLoad": "CPU Load Avg (5m)",
"up": "Up",
"down": "Down",
"bytesTx": "Transmitted",
"bytesRx": "Received"
},
"uptimerobot": { "uptimerobot": {
"status": "Status", "status": "Status",
"uptime": "Uptime", "uptime": "Uptime",
@ -803,5 +832,61 @@
"netdata": { "netdata": {
"warnings": "Warnings", "warnings": "Warnings",
"criticals": "Criticals" "criticals": "Criticals"
},
"plantit": {
"events": "Events",
"plants": "Plants",
"photos": "Photos",
"species": "Species"
},
"gitea": {
"notifications": "Notifications",
"issues": "Issues",
"pulls": "Pull Requests"
},
"stash": {
"scenes": "Scenes",
"scenesPlayed": "Scenes Played",
"playCount": "Total Plays",
"playDuration": "Time Watched",
"sceneSize": "Scenes Size",
"sceneDuration": "Scenes Duration",
"images": "Images",
"imageSize": "Images Size",
"galleries": "Galleries",
"performers": "Performers",
"studios": "Studios",
"movies": "Movies",
"tags": "Tags",
"oCount": "O Count"
},
"tandoor": {
"users": "Users",
"recipes": "Recipes",
"keywords": "Keywords"
},
"homebox": {
"items": "Items",
"totalWithWarranty": "With Warranty",
"locations": "Locations",
"labels": "Labels",
"users": "Users",
"totalValue": "Total Value"
},
"crowdsec": {
"alerts": "Alerts",
"bans": "Bans"
},
"wgeasy": {
"connected": "Connected",
"enabled": "Enabled",
"disabled": "Disabled",
"total": "Total"
},
"swagdashboard": {
"proxied": "Proxied",
"auth": "With Auth",
"outdated": "Outdated",
"banned": "Banned"
} }
} }

View File

@ -14,10 +14,10 @@
"date": "{{value, date}}", "date": "{{value, date}}",
"relativeDate": "{{value, relativeDate}}", "relativeDate": "{{value, relativeDate}}",
"uptime": "{{value, uptime}}", "uptime": "{{value, uptime}}",
"months": "mo", "months": "mj",
"days": "d", "days": "dan(a)",
"hours": "h", "hours": "h",
"minutes": "m", "minutes": "min",
"seconds": "s" "seconds": "s"
}, },
"widget": { "widget": {
@ -46,12 +46,12 @@
"used": "Korišteno", "used": "Korišteno",
"load": "Opterećenje", "load": "Opterećenje",
"temp": "TEMP", "temp": "TEMP",
"max": "Maks", "max": "Maks.",
"uptime": "UP" "uptime": "Vrijeme rada"
}, },
"unifi": { "unifi": {
"users": "Korisnici", "users": "Korisnici",
"uptime": "Radno vrijeme", "uptime": "Vrijeme rada",
"days": "Dani", "days": "Dani",
"wan": "WAN", "wan": "WAN",
"lan": "LAN", "lan": "LAN",
@ -61,8 +61,8 @@
"wlan_devices": "WLAN uređaji", "wlan_devices": "WLAN uređaji",
"lan_users": "LAN korisnici", "lan_users": "LAN korisnici",
"wlan_users": "WLAN korisnici", "wlan_users": "WLAN korisnici",
"up": "UP", "up": "Vrijeme rada",
"down": "PRIMANJE", "down": "NEDOSTUPNO",
"wait": "Pričekaj", "wait": "Pričekaj",
"empty_data": "Stanje podsustava nepoznato" "empty_data": "Stanje podsustava nepoznato"
}, },
@ -85,17 +85,17 @@
"ping": { "ping": {
"error": "Greška", "error": "Greška",
"ping": "Ping", "ping": "Ping",
"down": "Down", "down": "Nedostupno",
"up": "Up", "up": "Dostupno",
"not_available": "Not Available" "not_available": "Nije dostupno"
}, },
"siteMonitor": { "siteMonitor": {
"http_status": "HTTP status", "http_status": "Stanje HTTP-a",
"error": "Greška", "error": "Greška",
"response": "Response", "response": "Odgovor",
"down": "Down", "down": "Nedostupno",
"up": "Up", "up": "Dostupno",
"not_available": "Not Available" "not_available": "Nije dostupno"
}, },
"emby": { "emby": {
"playing": "Reprodukcija", "playing": "Reprodukcija",
@ -107,13 +107,20 @@
"episodes": "Epizode", "episodes": "Epizode",
"songs": "Pjesme" "songs": "Pjesme"
}, },
"esphome": {
"offline": "Offline",
"offline_alt": "Offline",
"online": "Online",
"total": "Ukupno",
"unknown": "Nepoznato"
},
"evcc": { "evcc": {
"pv_power": "Proizvodnja", "pv_power": "Proizvodnja",
"battery_soc": "Baterija", "battery_soc": "Baterija",
"grid_power": "Raspored", "grid_power": "Raspored",
"home_power": "Potrošnja", "home_power": "Potrošnja",
"charge_power": "Punjač", "charge_power": "Punjač",
"watt_hour": "Wh" "watt_hour": "Kilovat-sat"
}, },
"flood": { "flood": {
"download": "Preuzimanje", "download": "Preuzimanje",
@ -127,21 +134,21 @@
}, },
"fritzbox": { "fritzbox": {
"connectionStatus": "Stanje", "connectionStatus": "Stanje",
"connectionStatusUnconfigured": "Unconfigured", "connectionStatusUnconfigured": "Nekonfigurirano",
"connectionStatusConnecting": "Connecting", "connectionStatusConnecting": "Povezivanje",
"connectionStatusAuthenticating": "Authenticating", "connectionStatusAuthenticating": "Autentificiranje",
"connectionStatusPendingDisconnect": "Pending Disconnect", "connectionStatusPendingDisconnect": "Odspajanje u tijeku",
"connectionStatusDisconnecting": "Disconnecting", "connectionStatusDisconnecting": "Odspajanje",
"connectionStatusDisconnected": "Disconnected", "connectionStatusDisconnected": "Odspojeno",
"connectionStatusConnected": "Povezano", "connectionStatusConnected": "Povezano",
"uptime": "Radno vrijeme", "uptime": "Vrijeme rada",
"maxDown": "Max. Down", "maxDown": "Maksimum preuzimanja",
"maxUp": "Max. Up", "maxUp": "Maksimum prijenosa",
"down": "Down", "down": "Nedostupno",
"up": "Up", "up": "Dostupno",
"received": "Received", "received": "Primljeno",
"sent": "Sent", "sent": "Poslano",
"externalIPAddress": "Ext. IP" "externalIPAddress": "Eksterna IP adresa"
}, },
"caddy": { "caddy": {
"upstreams": "Glavne grane", "upstreams": "Glavne grane",
@ -255,26 +262,26 @@
"missingMovies": "Nedostajući filmovi" "missingMovies": "Nedostajući filmovi"
}, },
"ombi": { "ombi": {
"pending": "Predstoji", "pending": "U tijeku",
"approved": "Odobreno", "approved": "Odobreno",
"available": "Dostupno" "available": "Dostupno"
}, },
"jellyseerr": { "jellyseerr": {
"pending": "Predstoji", "pending": "U tijeku",
"approved": "Odobreno", "approved": "Odobreno",
"available": "Dostupno" "available": "Dostupno"
}, },
"overseerr": { "overseerr": {
"pending": "Predstoji", "pending": "U tijeku",
"processing": "Obrada", "processing": "Obrada",
"approved": "Odobreno", "approved": "Odobreno",
"available": "Dostupno" "available": "Dostupno"
}, },
"pialert": { "netalertx": {
"total": "Ukupno", "total": "Ukupno",
"connected": "Povezano", "connected": "Povezano",
"new_devices": "Novi uređaji", "new_devices": "Novi uređaji",
"down_alerts": "Obavijest o rušenju" "down_alerts": "Obavijesti o nedostupnosti"
}, },
"pihole": { "pihole": {
"queries": "Upiti", "queries": "Upiti",
@ -398,20 +405,20 @@
"load": "Opterećenje", "load": "Opterećenje",
"wait": "Pričekaj", "wait": "Pričekaj",
"temp": "TEMP", "temp": "TEMP",
"_temp": "Temp", "_temp": "Temperatura",
"warn": "Upozori", "warn": "Upozori",
"uptime": "UP", "uptime": "Vrijeme rada",
"total": "Ukupno", "total": "Ukupno",
"free": "Slobodno", "free": "Slobodno",
"used": "Korišteno", "used": "Korišteno",
"days": "d", "days": "dan(a)",
"hours": "h", "hours": "h",
"crit": "Crit", "crit": "Krritično",
"read": "Pročitano", "read": "Pročitano",
"write": "Write", "write": "Piši",
"gpu": "GPU", "gpu": "GPU",
"mem": "Mem", "mem": "Memorija",
"swap": "Swap" "swap": "Virtualna memorija"
}, },
"quicklaunch": { "quicklaunch": {
"bookmark": "Straničnik", "bookmark": "Straničnik",
@ -419,7 +426,8 @@
"search": "Traži", "search": "Traži",
"custom": "Prilagođeno", "custom": "Prilagođeno",
"visit": "Posjeti", "visit": "Posjeti",
"url": "URL" "url": "URL",
"searchsuggestion": "Prijedlog"
}, },
"wmo": { "wmo": {
"0-day": "Sunčano", "0-day": "Sunčano",
@ -486,15 +494,15 @@
"up_to_date": "Aktualno", "up_to_date": "Aktualno",
"child_bridges": "Podređeni mosotvi", "child_bridges": "Podređeni mosotvi",
"child_bridges_status": "{{ok}}/{{total}}", "child_bridges_status": "{{ok}}/{{total}}",
"up": "Up", "up": "Dostupno",
"pending": "Predstoji", "pending": "U tijeku",
"down": "Down" "down": "Nedostupno"
}, },
"healthchecks": { "healthchecks": {
"new": "Novo", "new": "Novo",
"up": "Up", "up": "Dostupno",
"grace": "U razdoblju odgode", "grace": "U razdoblju odgode",
"down": "Down", "down": "Nedostupno",
"paused": "Zaustavljeno", "paused": "Zaustavljeno",
"status": "Stanje", "status": "Stanje",
"last_ping": "Zadnji ping", "last_ping": "Zadnji ping",
@ -519,7 +527,7 @@
}, },
"truenas": { "truenas": {
"load": "Opterećenje sustava", "load": "Opterećenje sustava",
"uptime": "Radno vrijeme", "uptime": "Vrijeme rada",
"alerts": "Upozorenja" "alerts": "Upozorenja"
}, },
"pyload": { "pyload": {
@ -535,7 +543,15 @@
}, },
"hdhomerun": { "hdhomerun": {
"channels": "Kanali", "channels": "Kanali",
"hd": "HD" "hd": "HD",
"tunerCount": "Tuneri",
"channelNumber": "Kanal",
"channelNetwork": "Mreža",
"signalStrength": "Jačina",
"signalQuality": "Kvaliteta",
"symbolQuality": "Kvaliteta",
"networkRate": "Stopa bitova",
"clientIP": "Klijent"
}, },
"scrutiny": { "scrutiny": {
"passed": "Uspjelo", "passed": "Uspjelo",
@ -547,12 +563,12 @@
"total": "Ukupno" "total": "Ukupno"
}, },
"peanut": { "peanut": {
"battery_charge": "Battery Charge", "battery_charge": "Napunjenost baterije",
"ups_load": "UPS Load", "ups_load": "UPS opterećenje",
"ups_status": "UPS Status", "ups_status": "UPS stanje",
"online": "Online", "online": "Online",
"on_battery": "On Battery", "on_battery": "Koristi bateriju",
"low_battery": "Low Battery" "low_battery": "Slaba baterija"
}, },
"nextdns": { "nextdns": {
"wait": "Pričekaj", "wait": "Pričekaj",
@ -561,7 +577,7 @@
"mikrotik": { "mikrotik": {
"cpuLoad": "CPU opterećenje", "cpuLoad": "CPU opterećenje",
"memoryUsed": "Korištena memorija", "memoryUsed": "Korištena memorija",
"uptime": "Radno vrijeme", "uptime": "Vrijeme rada",
"numberOfLeases": "Unajmljivanja" "numberOfLeases": "Unajmljivanja"
}, },
"xteve": { "xteve": {
@ -570,10 +586,10 @@
"streams_xepg": "XEPG kanali" "streams_xepg": "XEPG kanali"
}, },
"opendtu": { "opendtu": {
"yieldDay": "Today", "yieldDay": "Danas",
"absolutePower": "Power", "absolutePower": "Snaga",
"relativePower": "Power %", "relativePower": "Postotak snage",
"limit": "Limit" "limit": "Ograničenje"
}, },
"opnsense": { "opnsense": {
"cpu": "CPU opterećenje", "cpu": "CPU opterećenje",
@ -601,9 +617,9 @@
"load": "Prosječno opterećenje", "load": "Prosječno opterećenje",
"memory": "Korištenje memorije", "memory": "Korištenje memorije",
"wanStatus": "Stanje WAN-a", "wanStatus": "Stanje WAN-a",
"up": "Up", "up": "Dostupno",
"down": "Down", "down": "Nedostupno",
"temp": "Temp", "temp": "Temperatura",
"disk": "Korištenje diska", "disk": "Korištenje diska",
"wanIP": "WAN IP" "wanIP": "WAN IP"
}, },
@ -620,17 +636,17 @@
"storage": "Spremište" "storage": "Spremište"
}, },
"uptimekuma": { "uptimekuma": {
"up": "Aktivne stranice", "up": "Dostupne stranice",
"down": "Neaktivne stranice", "down": "Nedostupne stranice",
"uptime": "Radno vrijeme", "uptime": "Vrijeme rada",
"incident": "Slučaj", "incident": "Slučaj",
"m": "m" "m": "min"
}, },
"atsumeru": { "atsumeru": {
"series": "Serije", "series": "Serije",
"archives": "Archives", "archives": "Arhive",
"chapters": "Chapters", "chapters": "Poglavlja",
"categories": "Categories" "categories": "Kategorije"
}, },
"komga": { "komga": {
"libraries": "Biblioteke", "libraries": "Biblioteke",
@ -639,7 +655,7 @@
}, },
"diskstation": { "diskstation": {
"days": "Dani", "days": "Dani",
"uptime": "Radno vrijeme", "uptime": "Vrijeme rada",
"volumeAvailable": "Dostupno" "volumeAvailable": "Dostupno"
}, },
"mylar": { "mylar": {
@ -662,7 +678,7 @@
"grafana": { "grafana": {
"dashboards": "Pregledne ploče", "dashboards": "Pregledne ploče",
"datasources": "Izvori podataka", "datasources": "Izvori podataka",
"totalalerts": "Ukupno upozorenja", "totalalerts": "Ukupni broj upozorenja",
"alertstriggered": "Aktivirana upozorenja" "alertstriggered": "Aktivirana upozorenja"
}, },
"nextcloud": { "nextcloud": {
@ -682,7 +698,7 @@
}, },
"unmanic": { "unmanic": {
"active_workers": "Aktivni radnici", "active_workers": "Aktivni radnici",
"total_workers": "Ukupni radnici", "total_workers": "Ukupni broj radnika",
"records_total": "Količina zapisa u redu čekanja" "records_total": "Količina zapisa u redu čekanja"
}, },
"pterodactyl": { "pterodactyl": {
@ -692,10 +708,15 @@
"prometheus": { "prometheus": {
"targets_up": "Aktivni ciljevi", "targets_up": "Aktivni ciljevi",
"targets_down": "Neaktivni ciljevi", "targets_down": "Neaktivni ciljevi",
"targets_total": "Ukupno ciljeva" "targets_total": "Ukupni broj ciljeva"
},
"gatus": {
"up": "Dostupne stranice",
"down": "Nedostupne stranice",
"uptime": "Vrijeme rada"
}, },
"ghostfolio": { "ghostfolio": {
"gross_percent_today": "Today", "gross_percent_today": "Danas",
"gross_percent_1y": "Jedna godina", "gross_percent_1y": "Jedna godina",
"gross_percent_max": "Svo vrijeme" "gross_percent_max": "Svo vrijeme"
}, },
@ -711,13 +732,13 @@
"switches_on": "Prekidači uključeni" "switches_on": "Prekidači uključeni"
}, },
"whatsupdocker": { "whatsupdocker": {
"monitoring": "Monitoring", "monitoring": "Praćenje",
"updates": "Aktualiziranja" "updates": "Aktualiziranja"
}, },
"calibreweb": { "calibreweb": {
"books": "Knjige", "books": "Knjige",
"authors": "Authors", "authors": "Autori",
"categories": "Categories", "categories": "Kategorije",
"series": "Serije" "series": "Serije"
}, },
"jdownloader": { "jdownloader": {
@ -731,77 +752,141 @@
"totalFiles": "Datoteke" "totalFiles": "Datoteke"
}, },
"azuredevops": { "azuredevops": {
"result": "Result", "result": "Rezultat",
"status": "Stanje", "status": "Stanje",
"buildId": "Build ID", "buildId": "ID izgradnje",
"succeeded": "Succeeded", "succeeded": "Uspjelo",
"notStarted": "Not Started", "notStarted": "Nije započeto",
"failed": "Neuspjelo", "failed": "Neuspjelo",
"canceled": "Canceled", "canceled": "Prekinuto",
"inProgress": "In Progress", "inProgress": "U tijeku",
"totalPrs": "Total PRs", "totalPrs": "Ukupni broj PR-ova",
"myPrs": "My PRs", "myPrs": "Moji zahtjevi za preuzimanje (PR-ovi)",
"approved": "Odobreno" "approved": "Odobreno"
}, },
"gamedig": { "gamedig": {
"status": "Stanje", "status": "Stanje",
"online": "Online", "online": "Online",
"offline": "Offline", "offline": "Offline",
"name": "Name", "name": "Ime",
"map": "Map", "map": "Karta",
"currentPlayers": "Current players", "currentPlayers": "Trenutačni igrači",
"players": "Igrači", "players": "Igrači",
"maxPlayers": "Max players", "maxPlayers": "Maks. broj igrača",
"bots": "Bots", "bots": "Botovi",
"ping": "Ping" "ping": "Ping"
}, },
"urbackup": { "urbackup": {
"ok": "Ok", "ok": "U redu",
"errored": "Errors", "errored": "Greške",
"noRecent": "Out of Date", "noRecent": "Zastarjelo",
"totalUsed": "Used Storage" "totalUsed": "Korištena memorija"
}, },
"mealie": { "mealie": {
"recipes": "Recipes", "recipes": "Recepti",
"users": "Korisnici", "users": "Korisnici",
"categories": "Categories", "categories": "Kategorije",
"tags": "Tags" "tags": "Oznake"
}, },
"openmediavault": { "openmediavault": {
"downloading": "Downloading", "downloading": "Preuzimanje",
"total": "Ukupno", "total": "Ukupno",
"running": "Pokrenuto", "running": "Pokrenuto",
"stopped": "Prekinuto", "stopped": "Prekinuto",
"passed": "Uspjelo", "passed": "Uspjelo",
"failed": "Neuspjelo" "failed": "Neuspjelo"
}, },
"openwrt": {
"uptime": "Vrijeme rada",
"cpuLoad": "Prosjećno CPU opterećenje (5m)",
"up": "Dostupno",
"down": "Nedostupno",
"bytesTx": "Preneseno",
"bytesRx": "Primljeno"
},
"uptimerobot": { "uptimerobot": {
"status": "Stanje", "status": "Stanje",
"uptime": "Radno vrijeme", "uptime": "Vrijeme rada",
"lastDown": "Last Downtime", "lastDown": "Zadnja nedostupnost",
"downDuration": "Downtime Duration", "downDuration": "Trajanje nedostupnosti",
"sitesUp": "Aktivne stranice", "sitesUp": "Dostupne stranice",
"sitesDown": "Neaktivne stranice", "sitesDown": "Nedostupne stranice",
"paused": "Zaustavljeno", "paused": "Zaustavljeno",
"notyetchecked": "Not Yet Checked", "notyetchecked": "Još nije provjereno",
"up": "Up", "up": "Dostupno",
"seemsdown": "Seems Down", "seemsdown": "Čini se da je nedostupno",
"down": "Down", "down": "Nedostupno",
"unknown": "Nepoznato" "unknown": "Nepoznato"
}, },
"calendar": { "calendar": {
"inCinemas": "In cinemas", "inCinemas": "U kinima",
"physicalRelease": "Physical release", "physicalRelease": "Fizičko izdanje",
"digitalRelease": "Digital release", "digitalRelease": "Digitalno izdanje",
"noEventsToday": "No events for today!", "noEventsToday": "Danas nema događaja!",
"noEventsFound": "No events found" "noEventsFound": "Nema događaja"
}, },
"romm": { "romm": {
"platforms": "Platforms", "platforms": "Platforme",
"totalRoms": "Total ROMs" "totalRoms": "Ukupne ROM memorije"
}, },
"netdata": { "netdata": {
"warnings": "Warnings", "warnings": "Upozorenja",
"criticals": "Criticals" "criticals": "Kritično"
},
"plantit": {
"events": "Događaji",
"plants": "Biljke",
"photos": "Fotografije",
"species": "Vrste"
},
"gitea": {
"notifications": "Obavijesti",
"issues": "Problemi",
"pulls": "Zahtjevi za povlačenje"
},
"stash": {
"scenes": "Scene",
"scenesPlayed": "Reproducirane scene",
"playCount": "Ukupni broj reprodukcija",
"playDuration": "Vrijeme gledanja",
"sceneSize": "Veličina scene",
"sceneDuration": "Trajanje scene",
"images": "Slike",
"imageSize": "Veličina slike",
"galleries": "Galerije",
"performers": "Glumci",
"studios": "Studiji",
"movies": "Filmovi",
"tags": "Oznake",
"oCount": "O zbroj"
},
"tandoor": {
"users": "Korisnici",
"recipes": "Recepti",
"keywords": "Ključne riječi"
},
"homebox": {
"items": "Stavke",
"totalWithWarranty": "S garancijom",
"locations": "Lokacije",
"labels": "Oznake",
"users": "Korisnici",
"totalValue": "Svukupno"
},
"crowdsec": {
"alerts": "Upozorenja",
"bans": "Zabrane"
},
"wgeasy": {
"connected": "Povezano",
"enabled": "Aktivirano",
"disabled": "Deaktivirano",
"total": "Ukupno"
},
"swagdashboard": {
"proxied": "Posredovano",
"auth": "S autentifikacijom",
"outdated": "Zastarjelo",
"banned": "Zabranjen pristup"
} }
} }

View File

@ -14,18 +14,18 @@
"date": "{{value, date}}", "date": "{{value, date}}",
"relativeDate": "{{value, relativeDate}}", "relativeDate": "{{value, relativeDate}}",
"uptime": "{{value, uptime}}", "uptime": "{{value, uptime}}",
"months": "mo", "months": "",
"days": "d", "days": "n",
"hours": "h", "hours": "ó",
"minutes": "m", "minutes": "p",
"seconds": "s" "seconds": "mp"
}, },
"widget": { "widget": {
"missing_type": "Hiányzó Widget Típus: {{type}}", "missing_type": "Hiányzó Widget Típus: {{type}}",
"api_error": "API Hiba", "api_error": "API Hiba",
"information": "Információ", "information": "Információ",
"status": "Státusz", "status": "Státusz",
"url": "URL", "url": "LINK",
"raw_error": "Nyers hiba", "raw_error": "Nyers hiba",
"response_data": "Válaszadatok" "response_data": "Válaszadatok"
}, },
@ -40,12 +40,12 @@
}, },
"resources": { "resources": {
"cpu": "Processzor", "cpu": "Processzor",
"mem": "MEM", "mem": "RAM",
"total": "Összes", "total": "Összes",
"free": "Szabad", "free": "Szabad",
"used": "Használt", "used": "Használt",
"load": "Terhelés", "load": "Terhelés",
"temp": "TEMP", "temp": "HŐM",
"max": "Max", "max": "Max",
"uptime": "FUT" "uptime": "FUT"
}, },
@ -69,10 +69,10 @@
"docker": { "docker": {
"rx": "RX", "rx": "RX",
"tx": "TX", "tx": "TX",
"mem": "MEM", "mem": "RAM",
"cpu": "Processzor", "cpu": "Processzor",
"running": "Futó", "running": "Futó",
"offline": "Offline", "offline": "Nem elérhető",
"error": "Hiba", "error": "Hiba",
"unknown": "Ismeretlen", "unknown": "Ismeretlen",
"healthy": "Egészséges", "healthy": "Egészséges",
@ -107,6 +107,13 @@
"episodes": "Epizód", "episodes": "Epizód",
"songs": "Zeneszám" "songs": "Zeneszám"
}, },
"esphome": {
"offline": "Nem elérhető",
"offline_alt": "Nem elérhető",
"online": "Csatlakozva",
"total": "Összes",
"unknown": "Ismeretlen"
},
"evcc": { "evcc": {
"pv_power": "Termelés", "pv_power": "Termelés",
"battery_soc": "Akkumulátor", "battery_soc": "Akkumulátor",
@ -133,10 +140,10 @@
"connectionStatusPendingDisconnect": "Szétkapcsolás függőben", "connectionStatusPendingDisconnect": "Szétkapcsolás függőben",
"connectionStatusDisconnecting": "Kapcsolat bontása", "connectionStatusDisconnecting": "Kapcsolat bontása",
"connectionStatusDisconnected": "Kapcsolat bontva", "connectionStatusDisconnected": "Kapcsolat bontva",
"connectionStatusConnected": "Csatlakoztatott", "connectionStatusConnected": "Csatlakozva",
"uptime": "Üzemidő", "uptime": "Üzemidő",
"maxDown": "Max. Down", "maxDown": "Max let.",
"maxUp": "Max. Up", "maxUp": "Max felt.",
"down": "Le", "down": "Le",
"up": "Fel", "up": "Fel",
"received": "Fogadott", "received": "Fogadott",
@ -270,11 +277,11 @@
"approved": "Engedélyezett", "approved": "Engedélyezett",
"available": "Elérhető" "available": "Elérhető"
}, },
"pialert": { "netalertx": {
"total": "Összes", "total": "Összes",
"connected": "Csatlakoztatott", "connected": "Csatlakozva",
"new_devices": "Új Eszközök", "new_devices": "Új eszközök",
"down_alerts": "Leállási Figyelmeztetések" "down_alerts": "Leállási riasztások"
}, },
"pihole": { "pihole": {
"queries": "Lekérdezések", "queries": "Lekérdezések",
@ -304,12 +311,12 @@
"never": "Soha", "never": "Soha",
"last_seen": "Utoljára látott", "last_seen": "Utoljára látott",
"now": "Most", "now": "Most",
"years": "{{number}}y", "years": "{{number}}év",
"weeks": "{{number}}w", "weeks": "{{number}}h",
"days": "{{number}}d", "days": "{{number}}n",
"hours": "{{number}}h", "hours": "{{number}}ó",
"minutes": "{{number}}m", "minutes": "{{number}}p",
"seconds": "{{number}}s", "seconds": "{{number}}mp",
"ago": "{{value}} Ezelőtt" "ago": "{{value}} Ezelőtt"
}, },
"tdarr": { "tdarr": {
@ -376,7 +383,7 @@
"version": "Verzió", "version": "Verzió",
"status": "Státusz", "status": "Státusz",
"up": "Csatlakozva", "up": "Csatlakozva",
"down": "Offline" "down": "Nem elérhető"
}, },
"miniflux": { "miniflux": {
"read": "Olvasott", "read": "Olvasott",
@ -388,30 +395,30 @@
"failedLoginsLast24H": "Sikertelen bejelentkezések (24h)" "failedLoginsLast24H": "Sikertelen bejelentkezések (24h)"
}, },
"proxmox": { "proxmox": {
"mem": "MEM", "mem": "RAM",
"cpu": "Processzor", "cpu": "Processzor",
"lxc": "LXC", "lxc": "LXC-k",
"vms": "VM-ek" "vms": "VM-ek"
}, },
"glances": { "glances": {
"cpu": "Processzor", "cpu": "Processzor",
"load": "Terhelés", "load": "Terhelés",
"wait": "Kérjük várjon", "wait": "Kérjük várjon",
"temp": "TEMP", "temp": "HŐM",
"_temp": "Hőmérséklet", "_temp": "Hőmérséklet",
"warn": "Figyelmeztet", "warn": "Figyelmeztet",
"uptime": "FUT", "uptime": "FUT",
"total": "Összes", "total": "Összes",
"free": "Szabad", "free": "Szabad",
"used": "Használt", "used": "Használt",
"days": "d", "days": "n",
"hours": "h", "hours": "ó",
"crit": "Crit", "crit": "Kritikus",
"read": "Olvasott", "read": "Olvasott",
"write": "Írás", "write": "Írás",
"gpu": "GPU", "gpu": "GPU",
"mem": "Memória", "mem": "Memória",
"swap": "Swap" "swap": "Csere"
}, },
"quicklaunch": { "quicklaunch": {
"bookmark": "Könyvjelző", "bookmark": "Könyvjelző",
@ -419,7 +426,8 @@
"search": "Keresés", "search": "Keresés",
"custom": "Egyedi", "custom": "Egyedi",
"visit": "Megnéz", "visit": "Megnéz",
"url": "URL" "url": "LINK",
"searchsuggestion": "Javaslat"
}, },
"wmo": { "wmo": {
"0-day": "Napos", "0-day": "Napos",
@ -518,7 +526,7 @@
"playlists": "Lejátszási listák" "playlists": "Lejátszási listák"
}, },
"truenas": { "truenas": {
"load": "Rendszerterheltség", "load": "Rendszerterhelés",
"uptime": "Üzemidő", "uptime": "Üzemidő",
"alerts": "Riasztások" "alerts": "Riasztások"
}, },
@ -535,7 +543,15 @@
}, },
"hdhomerun": { "hdhomerun": {
"channels": "Csatornák", "channels": "Csatornák",
"hd": "HD" "hd": "HD",
"tunerCount": "Tuner-ek",
"channelNumber": "Csatorna",
"channelNetwork": "Hálózat",
"signalStrength": "Erősség",
"signalQuality": "Minőség",
"symbolQuality": "Minőség",
"networkRate": "Bitráta",
"clientIP": "Kliens"
}, },
"scrutiny": { "scrutiny": {
"passed": "Megfelelt", "passed": "Megfelelt",
@ -547,12 +563,12 @@
"total": "Összes" "total": "Összes"
}, },
"peanut": { "peanut": {
"battery_charge": "Battery Charge", "battery_charge": "Akku töltöttsége",
"ups_load": "UPS Load", "ups_load": "UPS terheltsége",
"ups_status": "UPS Status", "ups_status": "UPS állapot",
"online": "Csatlakozva", "online": "Csatlakozva",
"on_battery": "On Battery", "on_battery": "Akkuról",
"low_battery": "Low Battery" "low_battery": "Alacsony töltöttség"
}, },
"nextdns": { "nextdns": {
"wait": "Kérjük Várjon", "wait": "Kérjük Várjon",
@ -570,10 +586,10 @@
"streams_xepg": "XEPG Csatornák" "streams_xepg": "XEPG Csatornák"
}, },
"opendtu": { "opendtu": {
"yieldDay": "Today", "yieldDay": "Ma",
"absolutePower": "Power", "absolutePower": "Energia",
"relativePower": "Power %", "relativePower": "Energia %",
"limit": "Limit" "limit": "Korlát"
}, },
"opnsense": { "opnsense": {
"cpu": "Processzor Terhelés", "cpu": "Processzor Terhelés",
@ -624,13 +640,13 @@
"down": "Nem Elérhető Webhelyek", "down": "Nem Elérhető Webhelyek",
"uptime": "Üzemidő", "uptime": "Üzemidő",
"incident": "Incidens", "incident": "Incidens",
"m": "m" "m": "p"
}, },
"atsumeru": { "atsumeru": {
"series": "Sorozat", "series": "Sorozat",
"archives": "Archives", "archives": "Archívum",
"chapters": "Chapters", "chapters": "Fejezetek",
"categories": "Categories" "categories": "Kategóriák"
}, },
"komga": { "komga": {
"libraries": "Könyvtárak", "libraries": "Könyvtárak",
@ -694,8 +710,13 @@
"targets_down": "Célpontok Állnak", "targets_down": "Célpontok Állnak",
"targets_total": "Összes Célpont" "targets_total": "Összes Célpont"
}, },
"gatus": {
"up": "Futó Webhelyek",
"down": "Nem Elérhető Webhelyek",
"uptime": "Üzemidő"
},
"ghostfolio": { "ghostfolio": {
"gross_percent_today": "Today", "gross_percent_today": "Ma",
"gross_percent_1y": "Egy év", "gross_percent_1y": "Egy év",
"gross_percent_max": "Mindig" "gross_percent_max": "Mindig"
}, },
@ -716,8 +737,8 @@
}, },
"calibreweb": { "calibreweb": {
"books": "Könyvek", "books": "Könyvek",
"authors": "Authors", "authors": "Szerzők",
"categories": "Categories", "categories": "Kategóriák",
"series": "Sorozat" "series": "Sorozat"
}, },
"jdownloader": { "jdownloader": {
@ -731,22 +752,22 @@
"totalFiles": "Fájlok" "totalFiles": "Fájlok"
}, },
"azuredevops": { "azuredevops": {
"result": "Result", "result": "Eredmény",
"status": "Státusz", "status": "Státusz",
"buildId": "Build ID", "buildId": "Gyártás ID",
"succeeded": "Succeeded", "succeeded": "Sikerült",
"notStarted": "Nem indult", "notStarted": "Nem indult",
"failed": "Sikertelen", "failed": "Sikertelen",
"canceled": "Megszakítva", "canceled": "Megszakítva",
"inProgress": "Folyamatban", "inProgress": "Folyamatban",
"totalPrs": "Total PRs", "totalPrs": "Minden PR",
"myPrs": "My PRs", "myPrs": "Saját PR-ek",
"approved": "Engedélyezett" "approved": "Engedélyezett"
}, },
"gamedig": { "gamedig": {
"status": "Státusz", "status": "Státusz",
"online": "Csatlakozva", "online": "Csatlakozva",
"offline": "Offline", "offline": "Nem elérhető",
"name": "Név", "name": "Név",
"map": "Térkép", "map": "Térkép",
"currentPlayers": "Jelenlegi játékosok", "currentPlayers": "Jelenlegi játékosok",
@ -764,7 +785,7 @@
"mealie": { "mealie": {
"recipes": "Receptek", "recipes": "Receptek",
"users": "Felhasználók", "users": "Felhasználók",
"categories": "Categories", "categories": "Kategóriák",
"tags": "Címkék" "tags": "Címkék"
}, },
"openmediavault": { "openmediavault": {
@ -775,33 +796,97 @@
"passed": "Megfelelt", "passed": "Megfelelt",
"failed": "Sikertelen" "failed": "Sikertelen"
}, },
"openwrt": {
"uptime": "Üzemidő",
"cpuLoad": "Átlag CPU terhelés (5p)",
"up": "Fel",
"down": "Le",
"bytesTx": "Továbbított",
"bytesRx": "Fogadott"
},
"uptimerobot": { "uptimerobot": {
"status": "Státusz", "status": "Státusz",
"uptime": "Üzemidő", "uptime": "Üzemidő",
"lastDown": "Last Downtime", "lastDown": "Utolsó leállás",
"downDuration": "Downtime Duration", "downDuration": "Leállás ideje",
"sitesUp": "Futó Webhelyek", "sitesUp": "Futó Webhelyek",
"sitesDown": "Nem Elérhető Webhelyek", "sitesDown": "Nem Elérhető Webhelyek",
"paused": "Szünetel", "paused": "Szünetel",
"notyetchecked": "Not Yet Checked", "notyetchecked": "Még nincs ellenőrizve",
"up": "Fel", "up": "Fel",
"seemsdown": "Seems Down", "seemsdown": "Elérhetetlennek tűnik",
"down": "Le", "down": "Le",
"unknown": "Ismeretlen" "unknown": "Ismeretlen"
}, },
"calendar": { "calendar": {
"inCinemas": "In cinemas", "inCinemas": "Mozikban",
"physicalRelease": "Physical release", "physicalRelease": "Fizikai kiadás",
"digitalRelease": "Digitális kiadás", "digitalRelease": "Digitális kiadás",
"noEventsToday": "Ezen a napon nincsenek események!", "noEventsToday": "Ezen a napon nincsenek események!",
"noEventsFound": "Nem található esemény" "noEventsFound": "Nem található esemény"
}, },
"romm": { "romm": {
"platforms": "Platforms", "platforms": "Felület",
"totalRoms": "Total ROMs" "totalRoms": "Minden ROM"
}, },
"netdata": { "netdata": {
"warnings": "Warnings", "warnings": "Figyelmeztetések",
"criticals": "Criticals" "criticals": "Kritikusok"
},
"plantit": {
"events": "Események",
"plants": "Növények",
"photos": "Fényképek",
"species": "Fajok"
},
"gitea": {
"notifications": "Üzenetek",
"issues": "Problémák",
"pulls": "Pull request-ek"
},
"stash": {
"scenes": "Jelenetek",
"scenesPlayed": "Lejátszott jelenetek",
"playCount": "Összes leátszás",
"playDuration": "Nézett idő",
"sceneSize": "Jelenetek mérete",
"sceneDuration": "Jelenetek hossza",
"images": "Képek",
"imageSize": "Képek mérete",
"galleries": "Galériák",
"performers": "Előadók",
"studios": "Stúdiók",
"movies": "Film",
"tags": "Címkék",
"oCount": "O szám"
},
"tandoor": {
"users": "Felhasználók",
"recipes": "Receptek",
"keywords": "Kulcsszavak"
},
"homebox": {
"items": "Tárgyak",
"totalWithWarranty": "Garanciával",
"locations": "Helyek",
"labels": "Címkék",
"users": "Felhasználók",
"totalValue": "Teljes érték"
},
"crowdsec": {
"alerts": "Riasztások",
"bans": "Bans"
},
"wgeasy": {
"connected": "Csatlakozva",
"enabled": "Bekapcsolva",
"disabled": "Kikapcsolva",
"total": "Összes"
},
"swagdashboard": {
"proxied": "Proxied",
"auth": "With Auth",
"outdated": "Outdated",
"banned": "Banned"
} }
} }

File diff suppressed because it is too large Load Diff

View File

@ -15,8 +15,8 @@
"relativeDate": "{{value, relativeDate}}", "relativeDate": "{{value, relativeDate}}",
"uptime": "{{value, uptime}}", "uptime": "{{value, uptime}}",
"months": "mo", "months": "mo",
"days": "d", "days": "g",
"hours": "h", "hours": "o",
"minutes": "m", "minutes": "m",
"seconds": "s" "seconds": "s"
}, },
@ -107,6 +107,13 @@
"episodes": "Episodi", "episodes": "Episodi",
"songs": "Canzoni" "songs": "Canzoni"
}, },
"esphome": {
"offline": "Non in linea",
"offline_alt": "Non in linea",
"online": "Online",
"total": "Totale",
"unknown": "Sconosciuto"
},
"evcc": { "evcc": {
"pv_power": "Produzione", "pv_power": "Produzione",
"battery_soc": "Batteria", "battery_soc": "Batteria",
@ -127,21 +134,21 @@
}, },
"fritzbox": { "fritzbox": {
"connectionStatus": "Stato", "connectionStatus": "Stato",
"connectionStatusUnconfigured": "Unconfigured", "connectionStatusUnconfigured": "Non configurato",
"connectionStatusConnecting": "Connecting", "connectionStatusConnecting": "Connessione in corso",
"connectionStatusAuthenticating": "Authenticating", "connectionStatusAuthenticating": "In fase di autenticazione",
"connectionStatusPendingDisconnect": "Pending Disconnect", "connectionStatusPendingDisconnect": "In attesa di disconnessione",
"connectionStatusDisconnecting": "Disconnecting", "connectionStatusDisconnecting": "Disconnessione in corso",
"connectionStatusDisconnected": "Disconnected", "connectionStatusDisconnected": "Disconnesso",
"connectionStatusConnected": "Connesso", "connectionStatusConnected": "Connesso",
"uptime": "Tempo di attività", "uptime": "Tempo di attività",
"maxDown": "Max. Down", "maxDown": "Max. Down",
"maxUp": "Max. Up", "maxUp": "Max. Up",
"down": "Down", "down": "Down",
"up": "Up", "up": "Up",
"received": "Received", "received": "Ricevuti",
"sent": "Sent", "sent": "Inviati",
"externalIPAddress": "Ext. IP" "externalIPAddress": "IP Esterno"
}, },
"caddy": { "caddy": {
"upstreams": "Upstream", "upstreams": "Upstream",
@ -270,7 +277,7 @@
"approved": "Approvati", "approved": "Approvati",
"available": "Disponibili" "available": "Disponibili"
}, },
"pialert": { "netalertx": {
"total": "Totale", "total": "Totale",
"connected": "Connesso", "connected": "Connesso",
"new_devices": "Nuovi Dispositivi", "new_devices": "Nuovi Dispositivi",
@ -404,8 +411,8 @@
"total": "Totale", "total": "Totale",
"free": "Libero", "free": "Libero",
"used": "In utilizzo", "used": "In utilizzo",
"days": "d", "days": "g",
"hours": "h", "hours": "o",
"crit": "Critico", "crit": "Critico",
"read": "Letti", "read": "Letti",
"write": "Scrittura", "write": "Scrittura",
@ -419,7 +426,8 @@
"search": "Cerca", "search": "Cerca",
"custom": "Personalizzato", "custom": "Personalizzato",
"visit": "Visita", "visit": "Visita",
"url": "URL" "url": "URL",
"searchsuggestion": "Suggerimenti"
}, },
"wmo": { "wmo": {
"0-day": "Soleggiato", "0-day": "Soleggiato",
@ -535,7 +543,15 @@
}, },
"hdhomerun": { "hdhomerun": {
"channels": "Canali", "channels": "Canali",
"hd": "HD" "hd": "HD",
"tunerCount": "Tuners",
"channelNumber": "Channel",
"channelNetwork": "Rete",
"signalStrength": "Intensità",
"signalQuality": "Quality",
"symbolQuality": "Quality",
"networkRate": "Bitrate",
"clientIP": "Client"
}, },
"scrutiny": { "scrutiny": {
"passed": "Passati", "passed": "Passati",
@ -694,6 +710,11 @@
"targets_down": "Target Non Attivi", "targets_down": "Target Non Attivi",
"targets_total": "Targets Totali" "targets_total": "Targets Totali"
}, },
"gatus": {
"up": "Siti On",
"down": "Siti Down",
"uptime": "Tempo di attività"
},
"ghostfolio": { "ghostfolio": {
"gross_percent_today": "Oggi", "gross_percent_today": "Oggi",
"gross_percent_1y": "Un anno", "gross_percent_1y": "Un anno",
@ -775,6 +796,14 @@
"passed": "Passati", "passed": "Passati",
"failed": "Fallito" "failed": "Fallito"
}, },
"openwrt": {
"uptime": "Tempo di attività",
"cpuLoad": "CPU Load Avg (5m)",
"up": "Up",
"down": "Down",
"bytesTx": "Transmitted",
"bytesRx": "Ricevuti"
},
"uptimerobot": { "uptimerobot": {
"status": "Stato", "status": "Stato",
"uptime": "Tempo di attività", "uptime": "Tempo di attività",
@ -801,13 +830,63 @@
"totalRoms": "Total ROMs" "totalRoms": "Total ROMs"
}, },
"netdata": { "netdata": {
"warnings": "Warnings", "warnings": "Avvisi",
"criticals": "Criticals" "criticals": "Criticals"
}, },
"plantit": { "plantit": {
"events": "Eventi", "events": "Events",
"plants": "Piante", "plants": "Plants",
"species": "Specie", "photos": "Foto",
"images": "Immagini" "species": "Specie"
},
"gitea": {
"notifications": "Notifiche",
"issues": "Problemi",
"pulls": "Richieste di Pull"
},
"stash": {
"scenes": "Scene",
"scenesPlayed": "Scene Riprodotte",
"playCount": "Totale Riproduzioni",
"playDuration": "Tempo Guardato",
"sceneSize": "Dimensione Delle Scene",
"sceneDuration": "Durata Delle Scene",
"images": "Immagini",
"imageSize": "Images Size",
"galleries": "Galleries",
"performers": "Esecutori",
"studios": "Studi",
"movies": "Film",
"tags": "Tag",
"oCount": "O Count"
},
"tandoor": {
"users": "Utenti",
"recipes": "Ricette",
"keywords": "Keywords"
},
"homebox": {
"items": "Items",
"totalWithWarranty": "With Warranty",
"locations": "Locations",
"labels": "Labels",
"users": "Utenti",
"totalValue": "Total Value"
},
"crowdsec": {
"alerts": "Allarmi",
"bans": "Bans"
},
"wgeasy": {
"connected": "Connesso",
"enabled": "Abilitato",
"disabled": "Disabilitati",
"total": "Totale"
},
"swagdashboard": {
"proxied": "Proxied",
"auth": "With Auth",
"outdated": "Outdated",
"banned": "Banned"
} }
} }

View File

@ -14,11 +14,11 @@
"date": "{{value, date}}", "date": "{{value, date}}",
"relativeDate": "{{value, relativeDate}}", "relativeDate": "{{value, relativeDate}}",
"uptime": "{{value, uptime}}", "uptime": "{{value, uptime}}",
"months": "mo", "months": "",
"days": "d", "days": "",
"hours": "h", "hours": "時間",
"minutes": "m", "minutes": "",
"seconds": "s" "seconds": ""
}, },
"widget": { "widget": {
"missing_type": "見つからないウィジェットタイプ: {{type}}", "missing_type": "見つからないウィジェットタイプ: {{type}}",
@ -47,7 +47,7 @@
"load": "ロード", "load": "ロード",
"temp": "温度", "temp": "温度",
"max": "最大", "max": "最大",
"uptime": "上へ" "uptime": "UP"
}, },
"unifi": { "unifi": {
"users": "ユーザ", "users": "ユーザ",
@ -61,40 +61,40 @@
"wlan_devices": "WLAN デバイス", "wlan_devices": "WLAN デバイス",
"lan_users": "LAN ユーザ", "lan_users": "LAN ユーザ",
"wlan_users": "WLAN ユーザ", "wlan_users": "WLAN ユーザ",
"up": "上へ", "up": "UP",
"down": "下へ", "down": "下へ",
"wait": "お待ちください", "wait": "お待ちください",
"empty_data": "サブシステム状態・不明" "empty_data": "サブシステムの状態は不明"
}, },
"docker": { "docker": {
"rx": "RX", "rx": "受信済み",
"tx": "TX", "tx": "送信済み",
"mem": "MEM", "mem": "MEM",
"cpu": "CPU", "cpu": "CPU",
"running": "起動中", "running": "起動中",
"offline": "オフライン", "offline": "オフライン",
"error": "エラー", "error": "エラー",
"unknown": "不明", "unknown": "不明",
"healthy": "健全", "healthy": "正常",
"starting": "起動中", "starting": "起動中",
"unhealthy": "非健全", "unhealthy": "非健全",
"not_found": "不明", "not_found": "不明",
"exited": "終了", "exited": "停止しました",
"partial": "部分的" "partial": "部分的"
}, },
"ping": { "ping": {
"error": "エラー", "error": "エラー",
"ping": "Ping", "ping": "Ping",
"down": "下へ", "down": "下へ",
"up": "上へ", "up": "稼働",
"not_available": "利用できません。" "not_available": "利用できません。"
}, },
"siteMonitor": { "siteMonitor": {
"http_status": "HTTP status", "http_status": "HTTP ステータス",
"error": "エラー", "error": "エラー",
"response": "Response", "response": "応答",
"down": "下へ", "down": "下へ",
"up": "上へ", "up": "稼働",
"not_available": "利用できません。" "not_available": "利用できません。"
}, },
"emby": { "emby": {
@ -107,6 +107,13 @@
"episodes": "エピソード", "episodes": "エピソード",
"songs": "曲" "songs": "曲"
}, },
"esphome": {
"offline": "オフライン",
"offline_alt": "オフライン",
"online": "オンライン",
"total": "合計",
"unknown": "不明"
},
"evcc": { "evcc": {
"pv_power": "発電量", "pv_power": "発電量",
"battery_soc": "バッテリー", "battery_soc": "バッテリー",
@ -127,21 +134,21 @@
}, },
"fritzbox": { "fritzbox": {
"connectionStatus": "状態", "connectionStatus": "状態",
"connectionStatusUnconfigured": "Unconfigured", "connectionStatusUnconfigured": "未設定",
"connectionStatusConnecting": "Connecting", "connectionStatusConnecting": "接続中",
"connectionStatusAuthenticating": "Authenticating", "connectionStatusAuthenticating": "認証中",
"connectionStatusPendingDisconnect": "Pending Disconnect", "connectionStatusPendingDisconnect": "接続を切断する",
"connectionStatusDisconnecting": "Disconnecting", "connectionStatusDisconnecting": "接続を切断中",
"connectionStatusDisconnected": "Disconnected", "connectionStatusDisconnected": "切断されました",
"connectionStatusConnected": "接続済", "connectionStatusConnected": "接続済",
"uptime": "稼働時間", "uptime": "稼働時間",
"maxDown": "Max. Down", "maxDown": "最大ダウン",
"maxUp": "Max. Up", "maxUp": "最大アップ",
"down": "下へ", "down": "下へ",
"up": "上へ", "up": "稼働",
"received": "Received", "received": "受信済み",
"sent": "Sent", "sent": "送信済み",
"externalIPAddress": "Ext. IP" "externalIPAddress": "退出ID"
}, },
"caddy": { "caddy": {
"upstreams": "アップストリーム", "upstreams": "アップストリーム",
@ -270,10 +277,10 @@
"approved": "承認済", "approved": "承認済",
"available": "利用可" "available": "利用可"
}, },
"pialert": { "netalertx": {
"total": "合計", "total": "合計",
"connected": "接続済", "connected": "接続済",
"new_devices": "新しいデバイス", "new_devices": "新デバイス",
"down_alerts": "ダウンアラート" "down_alerts": "ダウンアラート"
}, },
"pihole": { "pihole": {
@ -400,12 +407,12 @@
"temp": "温度", "temp": "温度",
"_temp": "温度", "_temp": "温度",
"warn": "警告", "warn": "警告",
"uptime": "上へ", "uptime": "UP",
"total": "合計", "total": "合計",
"free": "空き", "free": "空き",
"used": "使用", "used": "使用",
"days": "d", "days": "",
"hours": "h", "hours": "時間",
"crit": "クリティカル", "crit": "クリティカル",
"read": "既読", "read": "既読",
"write": "書き込み", "write": "書き込み",
@ -419,7 +426,8 @@
"search": "検索", "search": "検索",
"custom": "カスタム", "custom": "カスタム",
"visit": "訪問", "visit": "訪問",
"url": "URL" "url": "URL",
"searchsuggestion": "提案"
}, },
"wmo": { "wmo": {
"0-day": "晴れ", "0-day": "晴れ",
@ -486,13 +494,13 @@
"up_to_date": "最新", "up_to_date": "最新",
"child_bridges": "子ブリッジ", "child_bridges": "子ブリッジ",
"child_bridges_status": "{{ok}}/{{total}}", "child_bridges_status": "{{ok}}/{{total}}",
"up": "上へ", "up": "稼働",
"pending": "保留中", "pending": "保留中",
"down": "下へ" "down": "下へ"
}, },
"healthchecks": { "healthchecks": {
"new": "新着", "new": "新着",
"up": "上へ", "up": "稼働",
"grace": "猶予期間中", "grace": "猶予期間中",
"down": "下へ", "down": "下へ",
"paused": "一時停止中", "paused": "一時停止中",
@ -523,7 +531,7 @@
"alerts": "アラート" "alerts": "アラート"
}, },
"pyload": { "pyload": {
"speed": "スピード", "speed": "速度",
"active": "アクティブ", "active": "アクティブ",
"queue": "キュー", "queue": "キュー",
"total": "合計" "total": "合計"
@ -535,7 +543,15 @@
}, },
"hdhomerun": { "hdhomerun": {
"channels": "チャンネル", "channels": "チャンネル",
"hd": "HD" "hd": "HD",
"tunerCount": "チューナー",
"channelNumber": "チャンネル",
"channelNetwork": "ネットワーク",
"signalStrength": "強さ",
"signalQuality": "クオリティ",
"symbolQuality": "クオリティ",
"networkRate": "ビットレート",
"clientIP": "クライアント IP"
}, },
"scrutiny": { "scrutiny": {
"passed": "合格", "passed": "合格",
@ -547,12 +563,12 @@
"total": "合計" "total": "合計"
}, },
"peanut": { "peanut": {
"battery_charge": "Battery Charge", "battery_charge": "バッテリー充電",
"ups_load": "UPS Load", "ups_load": "UPS 負荷",
"ups_status": "UPS Status", "ups_status": "UPS 状態",
"online": "オンライン", "online": "オンライン",
"on_battery": "On Battery", "on_battery": "バッテリー稼働中",
"low_battery": "Low Battery" "low_battery": "バッテリー残量低下"
}, },
"nextdns": { "nextdns": {
"wait": "お待ちください", "wait": "お待ちください",
@ -560,7 +576,7 @@
}, },
"mikrotik": { "mikrotik": {
"cpuLoad": "CPU負荷", "cpuLoad": "CPU負荷",
"memoryUsed": "使用済みメモリ", "memoryUsed": "メモリ使用量",
"uptime": "稼働時間", "uptime": "稼働時間",
"numberOfLeases": "リース" "numberOfLeases": "リース"
}, },
@ -601,7 +617,7 @@
"load": "読み込み平均", "load": "読み込み平均",
"memory": "メモリ使用量", "memory": "メモリ使用量",
"wanStatus": "WANステータス", "wanStatus": "WANステータス",
"up": "上へ", "up": "稼働",
"down": "下へ", "down": "下へ",
"temp": "温度", "temp": "温度",
"disk": "ディスク使用量", "disk": "ディスク使用量",
@ -623,8 +639,8 @@
"up": "サイトUp", "up": "サイトUp",
"down": "サイトDown", "down": "サイトDown",
"uptime": "稼働時間", "uptime": "稼働時間",
"incident": "インシデント", "incident": "事件",
"m": "m" "m": ""
}, },
"atsumeru": { "atsumeru": {
"series": "シリーズ", "series": "シリーズ",
@ -694,6 +710,11 @@
"targets_down": "ターゲット Down", "targets_down": "ターゲット Down",
"targets_total": "ターゲット合計" "targets_total": "ターゲット合計"
}, },
"gatus": {
"up": "サイトUp",
"down": "サイトDown",
"uptime": "稼働時間"
},
"ghostfolio": { "ghostfolio": {
"gross_percent_today": "今日", "gross_percent_today": "今日",
"gross_percent_1y": "1年", "gross_percent_1y": "1年",
@ -724,7 +745,7 @@
"downloadCount": "キュー", "downloadCount": "キュー",
"downloadBytesRemaining": "残り", "downloadBytesRemaining": "残り",
"downloadTotalBytes": "サイズ", "downloadTotalBytes": "サイズ",
"downloadSpeed": "スピード" "downloadSpeed": "速度"
}, },
"kavita": { "kavita": {
"seriesCount": "シリーズ", "seriesCount": "シリーズ",
@ -775,16 +796,24 @@
"passed": "合格", "passed": "合格",
"failed": "失敗" "failed": "失敗"
}, },
"openwrt": {
"uptime": "稼働時間",
"cpuLoad": "CPU 平均負荷5 分)",
"up": "稼働",
"down": "下へ",
"bytesTx": "送信済み",
"bytesRx": "受信済み"
},
"uptimerobot": { "uptimerobot": {
"status": "状態", "status": "状態",
"uptime": "稼働時間", "uptime": "稼働時間",
"lastDown": "最後のダウンタイム", "lastDown": "最後のダウンタイム",
"downDuration": "ダウンタイム感覚", "downDuration": "ダウンタイム時間",
"sitesUp": "サイトUp", "sitesUp": "サイトUp",
"sitesDown": "サイトDown", "sitesDown": "サイトDown",
"paused": "一時停止中", "paused": "一時停止中",
"notyetchecked": "チェックされていません", "notyetchecked": "チェックされていません",
"up": "上へ", "up": "稼働",
"seemsdown": "ダウンしているようです", "seemsdown": "ダウンしているようです",
"down": "下へ", "down": "下へ",
"unknown": "不明" "unknown": "不明"
@ -793,15 +822,71 @@
"inCinemas": "映画館内", "inCinemas": "映画館内",
"physicalRelease": "物理的なリリース", "physicalRelease": "物理的なリリース",
"digitalRelease": "デジタル・リリース", "digitalRelease": "デジタル・リリース",
"noEventsToday": "No events for today!", "noEventsToday": "本日の予定なし",
"noEventsFound": "No events found" "noEventsFound": "予定が見つかりません"
}, },
"romm": { "romm": {
"platforms": "Platforms", "platforms": "プラットフォーム",
"totalRoms": "Total ROMs" "totalRoms": "ROMの合計"
}, },
"netdata": { "netdata": {
"warnings": "Warnings", "warnings": "警告",
"criticals": "Criticals" "criticals": "重大"
},
"plantit": {
"events": "イベント",
"plants": "植物",
"photos": "写真",
"species": "種"
},
"gitea": {
"notifications": "通知",
"issues": "課題",
"pulls": "プルリクエスト"
},
"stash": {
"scenes": "シーン",
"scenesPlayed": "再生されたシーン",
"playCount": "合計再生数",
"playDuration": "視聴時間",
"sceneSize": "シーンサイズ",
"sceneDuration": "シーンの長さ",
"images": "画像",
"imageSize": "画像サイズ",
"galleries": "ギャラリー",
"performers": "出演者",
"studios": "スタジオ",
"movies": "映画",
"tags": "タグ",
"oCount": "O カウント"
},
"tandoor": {
"users": "ユーザ",
"recipes": "レシピ",
"keywords": "キーワード"
},
"homebox": {
"items": "アイテム",
"totalWithWarranty": "保証付き",
"locations": "場所",
"labels": "ラベル",
"users": "ユーザ",
"totalValue": "合計値"
},
"crowdsec": {
"alerts": "アラート",
"bans": "禁止"
},
"wgeasy": {
"connected": "接続済",
"enabled": "有効",
"disabled": "無効",
"total": "合計"
},
"swagdashboard": {
"proxied": "Proxied",
"auth": "With Auth",
"outdated": "Outdated",
"banned": "Banned"
} }
} }

View File

@ -107,6 +107,13 @@
"episodes": "에피소드", "episodes": "에피소드",
"songs": "음악" "songs": "음악"
}, },
"esphome": {
"offline": "중지",
"offline_alt": "중지",
"online": "Online",
"total": "총합",
"unknown": "알 수 없음"
},
"evcc": { "evcc": {
"pv_power": "Production", "pv_power": "Production",
"battery_soc": "Battery", "battery_soc": "Battery",
@ -270,7 +277,7 @@
"approved": "승인됨", "approved": "승인됨",
"available": "이용 가능" "available": "이용 가능"
}, },
"pialert": { "netalertx": {
"total": "총합", "total": "총합",
"connected": "Connected", "connected": "Connected",
"new_devices": "New Devices", "new_devices": "New Devices",
@ -419,7 +426,8 @@
"search": "Search", "search": "Search",
"custom": "Custom", "custom": "Custom",
"visit": "Visit", "visit": "Visit",
"url": "URL" "url": "URL",
"searchsuggestion": "Suggestion"
}, },
"wmo": { "wmo": {
"0-day": "Sunny", "0-day": "Sunny",
@ -535,7 +543,15 @@
}, },
"hdhomerun": { "hdhomerun": {
"channels": "Channels", "channels": "Channels",
"hd": "HD" "hd": "HD",
"tunerCount": "Tuners",
"channelNumber": "Channel",
"channelNetwork": "Network",
"signalStrength": "Strength",
"signalQuality": "Quality",
"symbolQuality": "Quality",
"networkRate": "비트레이트",
"clientIP": "Client"
}, },
"scrutiny": { "scrutiny": {
"passed": "Passed", "passed": "Passed",
@ -694,6 +710,11 @@
"targets_down": "Targets Down", "targets_down": "Targets Down",
"targets_total": "Total Targets" "targets_total": "Total Targets"
}, },
"gatus": {
"up": "Sites Up",
"down": "Sites Down",
"uptime": "Uptime"
},
"ghostfolio": { "ghostfolio": {
"gross_percent_today": "Today", "gross_percent_today": "Today",
"gross_percent_1y": "One year", "gross_percent_1y": "One year",
@ -775,6 +796,14 @@
"passed": "Passed", "passed": "Passed",
"failed": "Failed" "failed": "Failed"
}, },
"openwrt": {
"uptime": "Uptime",
"cpuLoad": "CPU Load Avg (5m)",
"up": "Up",
"down": "Down",
"bytesTx": "Transmitted",
"bytesRx": "Received"
},
"uptimerobot": { "uptimerobot": {
"status": "상태", "status": "상태",
"uptime": "Uptime", "uptime": "Uptime",
@ -803,5 +832,61 @@
"netdata": { "netdata": {
"warnings": "Warnings", "warnings": "Warnings",
"criticals": "Criticals" "criticals": "Criticals"
},
"plantit": {
"events": "Events",
"plants": "Plants",
"photos": "Photos",
"species": "Species"
},
"gitea": {
"notifications": "Notifications",
"issues": "Issues",
"pulls": "Pull Requests"
},
"stash": {
"scenes": "Scenes",
"scenesPlayed": "Scenes Played",
"playCount": "Total Plays",
"playDuration": "Time Watched",
"sceneSize": "Scenes Size",
"sceneDuration": "Scenes Duration",
"images": "Images",
"imageSize": "Images Size",
"galleries": "Galleries",
"performers": "Performers",
"studios": "Studios",
"movies": "영화",
"tags": "Tags",
"oCount": "O Count"
},
"tandoor": {
"users": "사용자",
"recipes": "Recipes",
"keywords": "Keywords"
},
"homebox": {
"items": "Items",
"totalWithWarranty": "With Warranty",
"locations": "Locations",
"labels": "Labels",
"users": "사용자",
"totalValue": "Total Value"
},
"crowdsec": {
"alerts": "경고",
"bans": "Bans"
},
"wgeasy": {
"connected": "Connected",
"enabled": "활성",
"disabled": "비활성",
"total": "총합"
},
"swagdashboard": {
"proxied": "Proxied",
"auth": "With Auth",
"outdated": "Outdated",
"banned": "Banned"
} }
} }

View File

@ -107,6 +107,13 @@
"episodes": "Episodes", "episodes": "Episodes",
"songs": "Songs" "songs": "Songs"
}, },
"esphome": {
"offline": "Bezsaistē",
"offline_alt": "Bezsaistē",
"online": "Online",
"total": "Kopā",
"unknown": "Nezināms"
},
"evcc": { "evcc": {
"pv_power": "Production", "pv_power": "Production",
"battery_soc": "Battery", "battery_soc": "Battery",
@ -270,7 +277,7 @@
"approved": "Approved", "approved": "Approved",
"available": "Available" "available": "Available"
}, },
"pialert": { "netalertx": {
"total": "Kopā", "total": "Kopā",
"connected": "Connected", "connected": "Connected",
"new_devices": "New Devices", "new_devices": "New Devices",
@ -419,7 +426,8 @@
"search": "Search", "search": "Search",
"custom": "Custom", "custom": "Custom",
"visit": "Visit", "visit": "Visit",
"url": "URL" "url": "URL",
"searchsuggestion": "Suggestion"
}, },
"wmo": { "wmo": {
"0-day": "Saulains", "0-day": "Saulains",
@ -535,7 +543,15 @@
}, },
"hdhomerun": { "hdhomerun": {
"channels": "Channels", "channels": "Channels",
"hd": "HD" "hd": "HD",
"tunerCount": "Tuners",
"channelNumber": "Channel",
"channelNetwork": "Network",
"signalStrength": "Strength",
"signalQuality": "Quality",
"symbolQuality": "Quality",
"networkRate": "Bitrate",
"clientIP": "Client"
}, },
"scrutiny": { "scrutiny": {
"passed": "Passed", "passed": "Passed",
@ -694,6 +710,11 @@
"targets_down": "Targets Down", "targets_down": "Targets Down",
"targets_total": "Total Targets" "targets_total": "Total Targets"
}, },
"gatus": {
"up": "Sites Up",
"down": "Sites Down",
"uptime": "Uptime"
},
"ghostfolio": { "ghostfolio": {
"gross_percent_today": "Today", "gross_percent_today": "Today",
"gross_percent_1y": "One year", "gross_percent_1y": "One year",
@ -775,6 +796,14 @@
"passed": "Passed", "passed": "Passed",
"failed": "Failed" "failed": "Failed"
}, },
"openwrt": {
"uptime": "Uptime",
"cpuLoad": "CPU Load Avg (5m)",
"up": "Up",
"down": "Down",
"bytesTx": "Transmitted",
"bytesRx": "Received"
},
"uptimerobot": { "uptimerobot": {
"status": "Statuss", "status": "Statuss",
"uptime": "Uptime", "uptime": "Uptime",
@ -803,5 +832,61 @@
"netdata": { "netdata": {
"warnings": "Warnings", "warnings": "Warnings",
"criticals": "Criticals" "criticals": "Criticals"
},
"plantit": {
"events": "Events",
"plants": "Plants",
"photos": "Photos",
"species": "Species"
},
"gitea": {
"notifications": "Notifications",
"issues": "Issues",
"pulls": "Pull Requests"
},
"stash": {
"scenes": "Scenes",
"scenesPlayed": "Scenes Played",
"playCount": "Total Plays",
"playDuration": "Time Watched",
"sceneSize": "Scenes Size",
"sceneDuration": "Scenes Duration",
"images": "Images",
"imageSize": "Images Size",
"galleries": "Galleries",
"performers": "Performers",
"studios": "Studios",
"movies": "Movies",
"tags": "Tags",
"oCount": "O Count"
},
"tandoor": {
"users": "Lietotāji",
"recipes": "Recipes",
"keywords": "Keywords"
},
"homebox": {
"items": "Items",
"totalWithWarranty": "With Warranty",
"locations": "Locations",
"labels": "Labels",
"users": "Lietotāji",
"totalValue": "Total Value"
},
"crowdsec": {
"alerts": "Paziņojumi",
"bans": "Bans"
},
"wgeasy": {
"connected": "Connected",
"enabled": "Enabled",
"disabled": "Disabled",
"total": "Kopā"
},
"swagdashboard": {
"proxied": "Proxied",
"auth": "With Auth",
"outdated": "Outdated",
"banned": "Banned"
} }
} }

View File

@ -14,9 +14,9 @@
"date": "{{value, date}}", "date": "{{value, date}}",
"relativeDate": "{{value, relativeDate}}", "relativeDate": "{{value, relativeDate}}",
"uptime": "{{value, uptime}}", "uptime": "{{value, uptime}}",
"months": "mo", "months": "bln",
"days": "d", "days": "h",
"hours": "h", "hours": "j",
"minutes": "m", "minutes": "m",
"seconds": "s" "seconds": "s"
}, },
@ -45,9 +45,9 @@
"free": "Bebas", "free": "Bebas",
"used": "Telah diguna", "used": "Telah diguna",
"load": "Beban", "load": "Beban",
"temp": "TEMP", "temp": "SUHU",
"max": "Max", "max": "Tertinggi",
"uptime": "UP" "uptime": "HIDUP"
}, },
"unifi": { "unifi": {
"users": "Pengguna", "users": "Pengguna",
@ -61,102 +61,109 @@
"wlan_devices": "Peranti WLAN", "wlan_devices": "Peranti WLAN",
"lan_users": "Pengguna LAN", "lan_users": "Pengguna LAN",
"wlan_users": "Pengguna WLAN", "wlan_users": "Pengguna WLAN",
"up": "UP", "up": "HIDUP",
"down": "MATI", "down": "MATI",
"wait": "Sila tunggu", "wait": "Sila tunggu",
"empty_data": "Subsystem status unknown" "empty_data": "Status subsistem tak diketahui"
}, },
"docker": { "docker": {
"rx": "RX", "rx": "RX",
"tx": "TX", "tx": "TX",
"mem": "MEM", "mem": "MEM",
"cpu": "CPU", "cpu": "CPU",
"running": "Running", "running": "Sedang jalan",
"offline": "Luar talian", "offline": "Luar talian",
"error": "Ralat", "error": "Ralat",
"unknown": "Tidak Diketahui", "unknown": "Tidak Diketahui",
"healthy": "Healthy", "healthy": "Sihat",
"starting": "Starting", "starting": "Bermula",
"unhealthy": "Unhealthy", "unhealthy": "Kurang sihat",
"not_found": "Not Found", "not_found": "Tidak dijumpai",
"exited": "Exited", "exited": "Dimatikan",
"partial": "Partial" "partial": "Sebahagian"
}, },
"ping": { "ping": {
"error": "Ralat", "error": "Ralat",
"ping": "Ping", "ping": "Ping",
"down": "Down", "down": "Mati",
"up": "Up", "up": "Hidup",
"not_available": "Not Available" "not_available": "Tidak dijumpai"
}, },
"siteMonitor": { "siteMonitor": {
"http_status": "HTTP status", "http_status": "Status HTTP",
"error": "Ralat", "error": "Ralat",
"response": "Response", "response": "Tindak balas",
"down": "Down", "down": "Mati",
"up": "Up", "up": "Hidup",
"not_available": "Not Available" "not_available": "Tidak dijumpai"
}, },
"emby": { "emby": {
"playing": "Sedang dimainkan", "playing": "Sedang dimainkan",
"transcoding": "Transkoding", "transcoding": "Transkoding",
"bitrate": "Kadar bit", "bitrate": "Kadar bit",
"no_active": "Tiada Strim Aktif", "no_active": "Tiada Strim Aktif",
"movies": "Movies", "movies": "Filem",
"series": "Series", "series": "Siri",
"episodes": "Episodes", "episodes": "Episod",
"songs": "Songs" "songs": "Lagu"
},
"esphome": {
"offline": "Luar talian",
"offline_alt": "Luar talian",
"online": "Dalam Talian",
"total": "Jumlah",
"unknown": "Tidak Diketahui"
}, },
"evcc": { "evcc": {
"pv_power": "Production", "pv_power": "Produksi",
"battery_soc": "Battery", "battery_soc": "Bateri",
"grid_power": "Grid", "grid_power": "Grid",
"home_power": "Consumption", "home_power": "Penggunaan",
"charge_power": "Charger", "charge_power": "Pengecas",
"watt_hour": "Wh" "watt_hour": "Wj"
}, },
"flood": { "flood": {
"download": "Download", "download": "Muat turun",
"upload": "Upload", "upload": "Muat naik",
"leech": "Leech", "leech": "Leech",
"seed": "Seed" "seed": "Seed"
}, },
"freshrss": { "freshrss": {
"subscriptions": "Subscriptions", "subscriptions": "Langganan",
"unread": "Unread" "unread": "Belum dibaca"
}, },
"fritzbox": { "fritzbox": {
"connectionStatus": "Status", "connectionStatus": "Status",
"connectionStatusUnconfigured": "Unconfigured", "connectionStatusUnconfigured": "Belum disuai",
"connectionStatusConnecting": "Connecting", "connectionStatusConnecting": "Menyambung",
"connectionStatusAuthenticating": "Authenticating", "connectionStatusAuthenticating": "Pengesahan",
"connectionStatusPendingDisconnect": "Pending Disconnect", "connectionStatusPendingDisconnect": "Tunggu untuk Putus",
"connectionStatusDisconnecting": "Disconnecting", "connectionStatusDisconnecting": "Putuskan",
"connectionStatusDisconnected": "Disconnected", "connectionStatusDisconnected": "Sambungan Terputus",
"connectionStatusConnected": "Connected", "connectionStatusConnected": "Connected",
"uptime": "Masa Hidup", "uptime": "Masa Hidup",
"maxDown": "Max. Down", "maxDown": "Mati Maksima",
"maxUp": "Max. Up", "maxUp": "Hidup Maksima",
"down": "Down", "down": "Mati",
"up": "Up", "up": "Hidup",
"received": "Received", "received": "Diterima",
"sent": "Sent", "sent": "Telah dihantar",
"externalIPAddress": "Ext. IP" "externalIPAddress": "IP Luaran"
}, },
"caddy": { "caddy": {
"upstreams": "Upstreams", "upstreams": "Upstreams",
"requests": "Current requests", "requests": "Permintaan semasa",
"requests_failed": "Failed requests" "requests_failed": "Permintaan gagal"
}, },
"changedetectionio": { "changedetectionio": {
"totalObserved": "Jumlah Diperhatikan", "totalObserved": "Jumlah Diperhatikan",
"diffsDetected": "Perbezaan Dikesan" "diffsDetected": "Perbezaan Dikesan"
}, },
"channelsdvrserver": { "channelsdvrserver": {
"shows": "Shows", "shows": "Papar",
"recordings": "Recordings", "recordings": "Rakaman",
"scheduled": "Scheduled", "scheduled": "Dijadualkan",
"passes": "Passes" "passes": "Lulus"
}, },
"tautulli": { "tautulli": {
"playing": "Sedang dimainkan", "playing": "Sedang dimainkan",
@ -180,7 +187,7 @@
"plex": { "plex": {
"streams": "Strim Aktif", "streams": "Strim Aktif",
"albums": "Albums", "albums": "Albums",
"movies": "Movies", "movies": "Filem",
"tv": "Rancangan TV" "tv": "Rancangan TV"
}, },
"sabnzbd": { "sabnzbd": {
@ -190,18 +197,18 @@
}, },
"rutorrent": { "rutorrent": {
"active": "Aktif", "active": "Aktif",
"upload": "Upload", "upload": "Muat naik",
"download": "Download" "download": "Muat turun"
}, },
"transmission": { "transmission": {
"download": "Download", "download": "Muat turun",
"upload": "Upload", "upload": "Muat naik",
"leech": "Leech", "leech": "Leech",
"seed": "Seed" "seed": "Seed"
}, },
"qbittorrent": { "qbittorrent": {
"download": "Download", "download": "Muat turun",
"upload": "Upload", "upload": "Muat naik",
"leech": "Leech", "leech": "Leech",
"seed": "Seed" "seed": "Seed"
}, },
@ -214,21 +221,21 @@
"invalid": "Invalid" "invalid": "Invalid"
}, },
"deluge": { "deluge": {
"download": "Download", "download": "Muat turun",
"upload": "Upload", "upload": "Muat naik",
"leech": "Leech", "leech": "Leech",
"seed": "Seed" "seed": "Seed"
}, },
"downloadstation": { "downloadstation": {
"download": "Download", "download": "Muat turun",
"upload": "Upload", "upload": "Muat naik",
"leech": "Leech", "leech": "Leech",
"seed": "Seed" "seed": "Seed"
}, },
"sonarr": { "sonarr": {
"wanted": "Mahu", "wanted": "Mahu",
"queued": "Dibaris Gilir", "queued": "Dibaris Gilir",
"series": "Series", "series": "Siri",
"queue": "Barisan", "queue": "Barisan",
"unknown": "Tidak Diketahui" "unknown": "Tidak Diketahui"
}, },
@ -236,7 +243,7 @@
"wanted": "Mahu", "wanted": "Mahu",
"missing": "Hilang", "missing": "Hilang",
"queued": "Dibaris Gilir", "queued": "Dibaris Gilir",
"movies": "Movies", "movies": "Filem",
"queue": "Barisan", "queue": "Barisan",
"unknown": "Tidak Diketahui" "unknown": "Tidak Diketahui"
}, },
@ -270,7 +277,7 @@
"approved": "Lulus", "approved": "Lulus",
"available": "Sudah Ada" "available": "Sudah Ada"
}, },
"pialert": { "netalertx": {
"total": "Jumlah", "total": "Jumlah",
"connected": "Connected", "connected": "Connected",
"new_devices": "New Devices", "new_devices": "New Devices",
@ -289,12 +296,12 @@
"latency": "Kependaman" "latency": "Kependaman"
}, },
"speedtest": { "speedtest": {
"upload": "Upload", "upload": "Muat naik",
"download": "Download", "download": "Muat turun",
"ping": "Ping" "ping": "Ping"
}, },
"portainer": { "portainer": {
"running": "Running", "running": "Sedang jalan",
"stopped": "Terhenti", "stopped": "Terhenti",
"total": "Jumlah" "total": "Jumlah"
}, },
@ -310,13 +317,13 @@
"hours": "{{number}}h", "hours": "{{number}}h",
"minutes": "{{number}}m", "minutes": "{{number}}m",
"seconds": "{{number}}s", "seconds": "{{number}}s",
"ago": "{{value}} Ago" "ago": "{{value}} Lepas"
}, },
"tdarr": { "tdarr": {
"queue": "Barisan", "queue": "Barisan",
"processed": "Processed", "processed": "Sudah diprosess",
"errored": "Errored", "errored": "Ralat",
"saved": "Saved" "saved": "Simpan"
}, },
"traefik": { "traefik": {
"routers": "Router", "routers": "Router",
@ -353,7 +360,7 @@
}, },
"jackett": { "jackett": {
"configured": "Telah Dikonfigurasi", "configured": "Telah Dikonfigurasi",
"errored": "Errored" "errored": "Ralat"
}, },
"strelaysrv": { "strelaysrv": {
"numActiveSessions": "Sesi", "numActiveSessions": "Sesi",
@ -369,18 +376,18 @@
"medusa": { "medusa": {
"wanted": "Mahu", "wanted": "Mahu",
"queued": "Dibaris Gilir", "queued": "Dibaris Gilir",
"series": "Series" "series": "Siri"
}, },
"minecraft": { "minecraft": {
"players": "Players", "players": "Senarai pemain",
"version": "Version", "version": "Versi",
"status": "Status", "status": "Status",
"up": "Online", "up": "Dalam Talian",
"down": "Luar talian" "down": "Luar talian"
}, },
"miniflux": { "miniflux": {
"read": "Read", "read": "Baca",
"unread": "Unread" "unread": "Belum dibaca"
}, },
"authentik": { "authentik": {
"users": "Pengguna", "users": "Pengguna",
@ -390,36 +397,37 @@
"proxmox": { "proxmox": {
"mem": "MEM", "mem": "MEM",
"cpu": "CPU", "cpu": "CPU",
"lxc": "LXC", "lxc": "LCX",
"vms": "Mesin Maya" "vms": "Mesin Maya"
}, },
"glances": { "glances": {
"cpu": "CPU", "cpu": "CPU",
"load": "Beban", "load": "Beban",
"wait": "Sila tunggu", "wait": "Sila tunggu",
"temp": "TEMP", "temp": "SUHU",
"_temp": "Temp", "_temp": "Suhu",
"warn": "Warn", "warn": "Amaran",
"uptime": "UP", "uptime": "HIDUP",
"total": "Jumlah", "total": "Jumlah",
"free": "Bebas", "free": "Bebas",
"used": "Telah diguna", "used": "Telah diguna",
"days": "d", "days": "h",
"hours": "h", "hours": "j",
"crit": "Crit", "crit": "Krit",
"read": "Read", "read": "Baca",
"write": "Write", "write": "Tulis",
"gpu": "GPU", "gpu": "GPU",
"mem": "Mem", "mem": "Mem",
"swap": "Swap" "swap": "Penukaran"
}, },
"quicklaunch": { "quicklaunch": {
"bookmark": "Tandabuku", "bookmark": "Tandabuku",
"service": "Servis", "service": "Servis",
"search": "Search", "search": "Carian",
"custom": "Custom", "custom": "Khusus",
"visit": "Visit", "visit": "Lawat",
"url": "URL" "url": "URL",
"searchsuggestion": "Cadangan"
}, },
"wmo": { "wmo": {
"0-day": "Terik", "0-day": "Terik",
@ -486,19 +494,19 @@
"up_to_date": "Terkemaskini", "up_to_date": "Terkemaskini",
"child_bridges": "Jambatan Anak", "child_bridges": "Jambatan Anak",
"child_bridges_status": "{{ok}}/{{total}}", "child_bridges_status": "{{ok}}/{{total}}",
"up": "Up", "up": "Hidup",
"pending": "Tertunda", "pending": "Tertunda",
"down": "Down" "down": "Mati"
}, },
"healthchecks": { "healthchecks": {
"new": "New", "new": "Baharu",
"up": "Up", "up": "Hidup",
"grace": "In Grace Period", "grace": "Tempoh Aman",
"down": "Down", "down": "Mati",
"paused": "Paused", "paused": "Tangguh",
"status": "Status", "status": "Status",
"last_ping": "Last Ping", "last_ping": "Ping terakhir",
"never": "No pings yet" "never": "Tiada ping"
}, },
"watchtower": { "watchtower": {
"containers_scanned": "Terimbas", "containers_scanned": "Terimbas",
@ -535,7 +543,15 @@
}, },
"hdhomerun": { "hdhomerun": {
"channels": "Saluran", "channels": "Saluran",
"hd": "HD" "hd": "HD",
"tunerCount": "Penala",
"channelNumber": "Saluran",
"channelNetwork": "Rangkaian",
"signalStrength": "Kekuatan",
"signalQuality": "Kualiti",
"symbolQuality": "Kualiti",
"networkRate": "Kadar bit",
"clientIP": "Klien"
}, },
"scrutiny": { "scrutiny": {
"passed": "Lulus", "passed": "Lulus",
@ -547,36 +563,36 @@
"total": "Jumlah" "total": "Jumlah"
}, },
"peanut": { "peanut": {
"battery_charge": "Battery Charge", "battery_charge": "Bateri dicas",
"ups_load": "UPS Load", "ups_load": "Beban UPS",
"ups_status": "UPS Status", "ups_status": "Status UPS",
"online": "Online", "online": "Dalam Talian",
"on_battery": "On Battery", "on_battery": "Guna bateri",
"low_battery": "Low Battery" "low_battery": "Bateri lemah"
}, },
"nextdns": { "nextdns": {
"wait": "Sila tunggu", "wait": "Sila tunggu",
"no_devices": "No Device Data Received" "no_devices": "Tiada Data Diterima Peranti"
}, },
"mikrotik": { "mikrotik": {
"cpuLoad": "CPU Load", "cpuLoad": "Beban CPU",
"memoryUsed": "Memory Used", "memoryUsed": "Penggunaan memori",
"uptime": "Masa Hidup", "uptime": "Masa Hidup",
"numberOfLeases": "Leases" "numberOfLeases": "Sewaan"
}, },
"xteve": { "xteve": {
"streams_all": "All Streams", "streams_all": "Semua Strim",
"streams_active": "Strim Aktif", "streams_active": "Strim Aktif",
"streams_xepg": "XEPG Channels" "streams_xepg": "Saluran XEPG"
}, },
"opendtu": { "opendtu": {
"yieldDay": "Today", "yieldDay": "Hari ini",
"absolutePower": "Power", "absolutePower": "Kuasa",
"relativePower": "Power %", "relativePower": "Kuasa %",
"limit": "Limit" "limit": "Had/Batas"
}, },
"opnsense": { "opnsense": {
"cpu": "CPU Load", "cpu": "Beban CPU",
"memory": "Active Memory", "memory": "Active Memory",
"wanUpload": "WAN Upload", "wanUpload": "WAN Upload",
"wanDownload": "WAN Download" "wanDownload": "WAN Download"
@ -601,9 +617,9 @@
"load": "Load Avg", "load": "Load Avg",
"memory": "Mem Usage", "memory": "Mem Usage",
"wanStatus": "WAN Status", "wanStatus": "WAN Status",
"up": "Up", "up": "Hidup",
"down": "Down", "down": "Mati",
"temp": "Temp", "temp": "Suhu",
"disk": "Disk Usage", "disk": "Disk Usage",
"wanIP": "WAN IP" "wanIP": "WAN IP"
}, },
@ -627,14 +643,14 @@
"m": "m" "m": "m"
}, },
"atsumeru": { "atsumeru": {
"series": "Series", "series": "Siri",
"archives": "Archives", "archives": "Archives",
"chapters": "Chapters", "chapters": "Chapters",
"categories": "Categories" "categories": "Categories"
}, },
"komga": { "komga": {
"libraries": "Libraries", "libraries": "Libraries",
"series": "Series", "series": "Siri",
"books": "Buku" "books": "Buku"
}, },
"diskstation": { "diskstation": {
@ -643,7 +659,7 @@
"volumeAvailable": "Sudah Ada" "volumeAvailable": "Sudah Ada"
}, },
"mylar": { "mylar": {
"series": "Series", "series": "Siri",
"issues": "Issues", "issues": "Issues",
"wanted": "Mahu" "wanted": "Mahu"
}, },
@ -656,7 +672,7 @@
"fileflows": { "fileflows": {
"queue": "Barisan", "queue": "Barisan",
"processing": "Processing", "processing": "Processing",
"processed": "Processed", "processed": "Sudah diprosess",
"time": "Time" "time": "Time"
}, },
"grafana": { "grafana": {
@ -691,34 +707,39 @@
}, },
"prometheus": { "prometheus": {
"targets_up": "Targets Up", "targets_up": "Targets Up",
"targets_down": "Targets Down", "targets_down": "Sasaran Mati",
"targets_total": "Total Targets" "targets_total": "Jumlah Sasaran"
},
"gatus": {
"up": "Sites Up",
"down": "Sites Down",
"uptime": "Masa Hidup"
}, },
"ghostfolio": { "ghostfolio": {
"gross_percent_today": "Today", "gross_percent_today": "Hari ini",
"gross_percent_1y": "One year", "gross_percent_1y": "Satu tahun",
"gross_percent_max": "All time" "gross_percent_max": "Sepanjang masa"
}, },
"audiobookshelf": { "audiobookshelf": {
"podcasts": "Podcasts", "podcasts": "Podkas",
"books": "Buku", "books": "Buku",
"podcastsDuration": "Duration", "podcastsDuration": "Tempoh",
"booksDuration": "Duration" "booksDuration": "Tempoh"
}, },
"homeassistant": { "homeassistant": {
"people_home": "People Home", "people_home": "Orang Dirumah",
"lights_on": "Lights On", "lights_on": "Hidupkan Lampu",
"switches_on": "Switches On" "switches_on": "Hidupkan Suis"
}, },
"whatsupdocker": { "whatsupdocker": {
"monitoring": "Monitoring", "monitoring": "Pemantauan",
"updates": "Kemaskini" "updates": "Kemaskini"
}, },
"calibreweb": { "calibreweb": {
"books": "Buku", "books": "Buku",
"authors": "Authors", "authors": "Pengarang/Penulis",
"categories": "Categories", "categories": "Categories",
"series": "Series" "series": "Siri"
}, },
"jdownloader": { "jdownloader": {
"downloadCount": "Barisan", "downloadCount": "Barisan",
@ -727,81 +748,145 @@
"downloadSpeed": "Kelajuan" "downloadSpeed": "Kelajuan"
}, },
"kavita": { "kavita": {
"seriesCount": "Series", "seriesCount": "Siri",
"totalFiles": "Files" "totalFiles": "Files"
}, },
"azuredevops": { "azuredevops": {
"result": "Result", "result": "Keputusan",
"status": "Status", "status": "Status",
"buildId": "Build ID", "buildId": "ID Binaan",
"succeeded": "Succeeded", "succeeded": "Berjaya",
"notStarted": "Not Started", "notStarted": "Belum Bermula",
"failed": "Gagal", "failed": "Gagal",
"canceled": "Canceled", "canceled": "Dibatalkan",
"inProgress": "In Progress", "inProgress": "Sedang Diproses",
"totalPrs": "Total PRs", "totalPrs": "Jumlah PR",
"myPrs": "My PRs", "myPrs": "PR Sendiri",
"approved": "Lulus" "approved": "Lulus"
}, },
"gamedig": { "gamedig": {
"status": "Status", "status": "Status",
"online": "Online", "online": "Dalam Talian",
"offline": "Luar talian", "offline": "Luar talian",
"name": "Name", "name": "Nama",
"map": "Map", "map": "Peta",
"currentPlayers": "Current players", "currentPlayers": "Pemain Semasa",
"players": "Players", "players": "Senarai pemain",
"maxPlayers": "Max players", "maxPlayers": "Bilangan peserta maksimum",
"bots": "Bots", "bots": "Bot",
"ping": "Ping" "ping": "Ping"
}, },
"urbackup": { "urbackup": {
"ok": "Ok", "ok": "Ok",
"errored": "Errors", "errored": "Ralat",
"noRecent": "Out of Date", "noRecent": "Luput tarikh",
"totalUsed": "Used Storage" "totalUsed": "Storan digunakan"
}, },
"mealie": { "mealie": {
"recipes": "Recipes", "recipes": "Resipi",
"users": "Pengguna", "users": "Pengguna",
"categories": "Categories", "categories": "Categories",
"tags": "Tags" "tags": "Tanda nama"
}, },
"openmediavault": { "openmediavault": {
"downloading": "Downloading", "downloading": "Sedang muat turun",
"total": "Jumlah", "total": "Jumlah",
"running": "Running", "running": "Sedang jalan",
"stopped": "Terhenti", "stopped": "Terhenti",
"passed": "Lulus", "passed": "Lulus",
"failed": "Gagal" "failed": "Gagal"
}, },
"openwrt": {
"uptime": "Masa Hidup",
"cpuLoad": "Purata Beban CPU (5m)",
"up": "Hidup",
"down": "Mati",
"bytesTx": "Terpancar",
"bytesRx": "Diterima"
},
"uptimerobot": { "uptimerobot": {
"status": "Status", "status": "Status",
"uptime": "Masa Hidup", "uptime": "Masa Hidup",
"lastDown": "Last Downtime", "lastDown": "Masa Mati Terakhir",
"downDuration": "Downtime Duration", "downDuration": "Jangkamasa Kematian",
"sitesUp": "Sites Up", "sitesUp": "Sites Up",
"sitesDown": "Sites Down", "sitesDown": "Sites Down",
"paused": "Paused", "paused": "Tangguh",
"notyetchecked": "Not Yet Checked", "notyetchecked": "Belum Disemak",
"up": "Up", "up": "Hidup",
"seemsdown": "Seems Down", "seemsdown": "Seperti Mati",
"down": "Down", "down": "Mati",
"unknown": "Tidak Diketahui" "unknown": "Tidak Diketahui"
}, },
"calendar": { "calendar": {
"inCinemas": "In cinemas", "inCinemas": "Di pawagam",
"physicalRelease": "Physical release", "physicalRelease": "Edaran fizikal",
"digitalRelease": "Digital release", "digitalRelease": "Edaran digital",
"noEventsToday": "No events for today!", "noEventsToday": "Tiada agenda untuk hari ini!",
"noEventsFound": "No events found" "noEventsFound": "Tiada agenda dijumpai"
}, },
"romm": { "romm": {
"platforms": "Platforms", "platforms": "Platform",
"totalRoms": "Total ROMs" "totalRoms": "Jumlah ROM"
}, },
"netdata": { "netdata": {
"warnings": "Warnings", "warnings": "Amaran",
"criticals": "Criticals" "criticals": "Kritikal"
},
"plantit": {
"events": "Events",
"plants": "Plants",
"photos": "Photos",
"species": "Species"
},
"gitea": {
"notifications": "Notifications",
"issues": "Issues",
"pulls": "Pull Requests"
},
"stash": {
"scenes": "Scenes",
"scenesPlayed": "Scenes Played",
"playCount": "Total Plays",
"playDuration": "Time Watched",
"sceneSize": "Scenes Size",
"sceneDuration": "Scenes Duration",
"images": "Images",
"imageSize": "Images Size",
"galleries": "Galleries",
"performers": "Performers",
"studios": "Studios",
"movies": "Filem",
"tags": "Tanda nama",
"oCount": "O Count"
},
"tandoor": {
"users": "Pengguna",
"recipes": "Resipi",
"keywords": "Keywords"
},
"homebox": {
"items": "Items",
"totalWithWarranty": "With Warranty",
"locations": "Locations",
"labels": "Labels",
"users": "Pengguna",
"totalValue": "Total Value"
},
"crowdsec": {
"alerts": "Alerts",
"bans": "Bans"
},
"wgeasy": {
"connected": "Connected",
"enabled": "Didayakan",
"disabled": "Dinyahdayakan",
"total": "Jumlah"
},
"swagdashboard": {
"proxied": "Proxied",
"auth": "With Auth",
"outdated": "Outdated",
"banned": "Banned"
} }
} }

View File

@ -107,6 +107,13 @@
"episodes": "Afleveringen", "episodes": "Afleveringen",
"songs": "Nummers" "songs": "Nummers"
}, },
"esphome": {
"offline": "Onbereikbaar",
"offline_alt": "Onbereikbaar",
"online": "Bereikbaar",
"total": "Totaal",
"unknown": "Onbekend"
},
"evcc": { "evcc": {
"pv_power": "Productie", "pv_power": "Productie",
"battery_soc": "Batterij", "battery_soc": "Batterij",
@ -270,7 +277,7 @@
"approved": "Goedgekeurd", "approved": "Goedgekeurd",
"available": "Beschikbaar" "available": "Beschikbaar"
}, },
"pialert": { "netalertx": {
"total": "Totaal", "total": "Totaal",
"connected": "Verbonden", "connected": "Verbonden",
"new_devices": "Nieuwe Apparaten", "new_devices": "Nieuwe Apparaten",
@ -419,7 +426,8 @@
"search": "Zoek", "search": "Zoek",
"custom": "Aangepast", "custom": "Aangepast",
"visit": "Bezoek", "visit": "Bezoek",
"url": "URL" "url": "URL",
"searchsuggestion": "Suggestie"
}, },
"wmo": { "wmo": {
"0-day": "Zonnig", "0-day": "Zonnig",
@ -535,7 +543,15 @@
}, },
"hdhomerun": { "hdhomerun": {
"channels": "Kanalen", "channels": "Kanalen",
"hd": "HD" "hd": "HD",
"tunerCount": "Tuners",
"channelNumber": "Kanaal",
"channelNetwork": "Netwerk",
"signalStrength": "Sterkte",
"signalQuality": "Kwaliteit",
"symbolQuality": "Kwaliteit",
"networkRate": "Bitrate",
"clientIP": "Client"
}, },
"scrutiny": { "scrutiny": {
"passed": "Geslaagd", "passed": "Geslaagd",
@ -694,6 +710,11 @@
"targets_down": "Doelen onbereikbaar", "targets_down": "Doelen onbereikbaar",
"targets_total": "Totaal aantal doelen" "targets_total": "Totaal aantal doelen"
}, },
"gatus": {
"up": "Sites Bereikbaar",
"down": "Sites Onbereikbaar",
"uptime": "Online"
},
"ghostfolio": { "ghostfolio": {
"gross_percent_today": "Vandaag", "gross_percent_today": "Vandaag",
"gross_percent_1y": "Een jaar", "gross_percent_1y": "Een jaar",
@ -775,6 +796,14 @@
"passed": "Geslaagd", "passed": "Geslaagd",
"failed": "Gefaald" "failed": "Gefaald"
}, },
"openwrt": {
"uptime": "Online",
"cpuLoad": "CPU Load Gem. (5m)",
"up": "Online",
"down": "Offline",
"bytesTx": "Verzonden",
"bytesRx": "Ontvangen"
},
"uptimerobot": { "uptimerobot": {
"status": "Status", "status": "Status",
"uptime": "Online", "uptime": "Online",
@ -797,11 +826,67 @@
"noEventsFound": "Geen gebeurtenissen gevonden" "noEventsFound": "Geen gebeurtenissen gevonden"
}, },
"romm": { "romm": {
"platforms": "Platforms", "platforms": "Platformen",
"totalRoms": "Total ROMs" "totalRoms": "Totale ROM's"
}, },
"netdata": { "netdata": {
"warnings": "Waarschuwingen", "warnings": "Waarschuwingen",
"criticals": "Kritiek" "criticals": "Kritiek"
},
"plantit": {
"events": "Gebeurtenissen",
"plants": "Planten",
"photos": "Foto's",
"species": "Soorten"
},
"gitea": {
"notifications": "Notificaties",
"issues": "Problemen",
"pulls": "Pull Requests"
},
"stash": {
"scenes": "Scènes",
"scenesPlayed": "Afgespeelde scènes",
"playCount": "Totaal aantal keer gespeeld",
"playDuration": "Tijd Bekeken",
"sceneSize": "Grootte Scènes",
"sceneDuration": "Duur scènes",
"images": "Afbeeldingen",
"imageSize": "Afbeeldingsgrootte",
"galleries": "Galerijen",
"performers": "Uitvoerenden",
"studios": "Studio's",
"movies": "Films",
"tags": "Label",
"oCount": "O Aantal"
},
"tandoor": {
"users": "Gebruikers",
"recipes": "Recepten",
"keywords": "Trefwoorden"
},
"homebox": {
"items": "Items",
"totalWithWarranty": "Met garantie",
"locations": "Locaties",
"labels": "Labels",
"users": "Gebruikers",
"totalValue": "Totale waarde"
},
"crowdsec": {
"alerts": "Meldingen",
"bans": "Bans"
},
"wgeasy": {
"connected": "Verbonden",
"enabled": "Ingeschakeld",
"disabled": "Uitgeschakeld",
"total": "Totaal"
},
"swagdashboard": {
"proxied": "Proxied",
"auth": "With Auth",
"outdated": "Outdated",
"banned": "Banned"
} }
} }

File diff suppressed because it is too large Load Diff

View File

@ -14,9 +14,9 @@
"date": "{{value, date}}", "date": "{{value, date}}",
"relativeDate": "{{value, relativeDate}}", "relativeDate": "{{value, relativeDate}}",
"uptime": "{{value, uptime}}", "uptime": "{{value, uptime}}",
"months": "mo", "months": "mc",
"days": "d", "days": "d",
"hours": "h", "hours": "g",
"minutes": "m", "minutes": "m",
"seconds": "s" "seconds": "s"
}, },
@ -40,7 +40,7 @@
}, },
"resources": { "resources": {
"cpu": "Procesor", "cpu": "Procesor",
"mem": "PAM", "mem": "RAM",
"total": "Całkowite", "total": "Całkowite",
"free": "Wolne", "free": "Wolne",
"used": "Użyte", "used": "Użyte",
@ -53,9 +53,9 @@
"users": "Użytkownicy", "users": "Użytkownicy",
"uptime": "Czas działania", "uptime": "Czas działania",
"days": "Dni", "days": "Dni",
"wan": "Sieć WAN", "wan": "WAN",
"lan": "Sieć LAN", "lan": "LAN",
"wlan": "Sieć WLAN", "wlan": "WLAN",
"devices": "Urządzenia", "devices": "Urządzenia",
"lan_devices": "Urządzenia LAN", "lan_devices": "Urządzenia LAN",
"wlan_devices": "Urządzenia WLAN", "wlan_devices": "Urządzenia WLAN",
@ -64,23 +64,23 @@
"up": "CZAS", "up": "CZAS",
"down": "Pobieranie", "down": "Pobieranie",
"wait": "Proszę czekać", "wait": "Proszę czekać",
"empty_data": "Nieznany stan" "empty_data": "Status podsystemu nieznany"
}, },
"docker": { "docker": {
"rx": "Rx", "rx": "Rx",
"tx": "Tx", "tx": "Tx",
"mem": "PAM", "mem": "RAM",
"cpu": "Procesor", "cpu": "Procesor",
"running": "Działa", "running": "Działa",
"offline": "Nieosiągalny", "offline": "Nieosiągalny",
"error": "Błąd", "error": "Błąd",
"unknown": "Nieznany", "unknown": "Nieznany",
"healthy": "Zdrowy", "healthy": "Zdrowy",
"starting": "Rozpoczynanie", "starting": "Uruchamianie",
"unhealthy": "Niezdrowe", "unhealthy": "Niezdrowy",
"not_found": "Nie znaleziono", "not_found": "Nie znaleziono",
"exited": "Zakończone", "exited": "Zakończony",
"partial": "Częściowe" "partial": "Częściowy"
}, },
"ping": { "ping": {
"error": "Błąd", "error": "Błąd",
@ -107,6 +107,13 @@
"episodes": "Odcinki", "episodes": "Odcinki",
"songs": "Piosenki" "songs": "Piosenki"
}, },
"esphome": {
"offline": "Nieosiągalny",
"offline_alt": "Nieosiągalny",
"online": "Dostępny",
"total": "Całkowite",
"unknown": "Nieznany"
},
"evcc": { "evcc": {
"pv_power": "Produkcja", "pv_power": "Produkcja",
"battery_soc": "Bateria", "battery_soc": "Bateria",
@ -130,18 +137,18 @@
"connectionStatusUnconfigured": "Nieskonfigurowane", "connectionStatusUnconfigured": "Nieskonfigurowane",
"connectionStatusConnecting": "Łączenie", "connectionStatusConnecting": "Łączenie",
"connectionStatusAuthenticating": "Uwierzytelnianie", "connectionStatusAuthenticating": "Uwierzytelnianie",
"connectionStatusPendingDisconnect": "Pending Disconnect", "connectionStatusPendingDisconnect": "Oczekujące rozłączenie",
"connectionStatusDisconnecting": "Rozłączanie", "connectionStatusDisconnecting": "Rozłączanie",
"connectionStatusDisconnected": "Rozłączono", "connectionStatusDisconnected": "Rozłączono",
"connectionStatusConnected": "Połączony", "connectionStatusConnected": "Connected",
"uptime": "Czas działania", "uptime": "Czas działania",
"maxDown": "Max. Down", "maxDown": "Maks. Pobieranie",
"maxUp": "Max. Up", "maxUp": "Maks. Wysyłanie",
"down": "Niedostępny", "down": "Niedostępny",
"up": "Dostępny", "up": "Dostępny",
"received": "Odebrane", "received": "Odebrane",
"sent": "Wysłane", "sent": "Wysłane",
"externalIPAddress": "Ext. IP" "externalIPAddress": "Pub. IP"
}, },
"caddy": { "caddy": {
"upstreams": "Upstreams", "upstreams": "Upstreams",
@ -149,12 +156,12 @@
"requests_failed": "Nieudane zapytania" "requests_failed": "Nieudane zapytania"
}, },
"changedetectionio": { "changedetectionio": {
"totalObserved": "Obserwowanych ogółem", "totalObserved": "Łącznie obserwowanych",
"diffsDetected": "Wykryto różnic" "diffsDetected": "Wykrytych różnic"
}, },
"channelsdvrserver": { "channelsdvrserver": {
"shows": "Seriale", "shows": "Seriale",
"recordings": "Nagrywanie", "recordings": "Nagrania",
"scheduled": "W kolejce", "scheduled": "W kolejce",
"passes": "Przebiegi" "passes": "Przebiegi"
}, },
@ -270,11 +277,11 @@
"approved": "Zaakceptowane", "approved": "Zaakceptowane",
"available": "Dostępne" "available": "Dostępne"
}, },
"pialert": { "netalertx": {
"total": "Całkowite", "total": "Całkowite",
"connected": "Połączony", "connected": "Connected",
"new_devices": "Nowe urządzenia", "new_devices": "New Devices",
"down_alerts": "Powiadomienia o niedostępności" "down_alerts": "Down Alerts"
}, },
"pihole": { "pihole": {
"queries": "Zapytania", "queries": "Zapytania",
@ -388,7 +395,7 @@
"failedLoginsLast24H": "Nieudane logowania (24h)" "failedLoginsLast24H": "Nieudane logowania (24h)"
}, },
"proxmox": { "proxmox": {
"mem": "PAM", "mem": "RAM",
"cpu": "Procesor", "cpu": "Procesor",
"lxc": "Kontenery LXC", "lxc": "Kontenery LXC",
"vms": "Maszyn wirtualnych" "vms": "Maszyn wirtualnych"
@ -405,8 +412,8 @@
"free": "Wolne", "free": "Wolne",
"used": "Użyte", "used": "Użyte",
"days": "d", "days": "d",
"hours": "h", "hours": "g",
"crit": "Crit", "crit": "Krytyczyny",
"read": "Przeczytane", "read": "Przeczytane",
"write": "Zapis", "write": "Zapis",
"gpu": "Karta graficzna", "gpu": "Karta graficzna",
@ -419,7 +426,8 @@
"search": "Wyszukaj", "search": "Wyszukaj",
"custom": "Niestandardowe", "custom": "Niestandardowe",
"visit": "Odwiedź", "visit": "Odwiedź",
"url": "Adres URL" "url": "Adres URL",
"searchsuggestion": "Sugestia"
}, },
"wmo": { "wmo": {
"0-day": "Słoneczny", "0-day": "Słoneczny",
@ -484,7 +492,7 @@
"updates": "Aktualizacje", "updates": "Aktualizacje",
"update_available": "Dostępna aktualizacja", "update_available": "Dostępna aktualizacja",
"up_to_date": "Aktualny", "up_to_date": "Aktualny",
"child_bridges": "Child Bridges", "child_bridges": "Mostki podrzędne",
"child_bridges_status": "{{ok}}/{{total}}", "child_bridges_status": "{{ok}}/{{total}}",
"up": "Dostępny", "up": "Dostępny",
"pending": "Oczekiwane", "pending": "Oczekiwane",
@ -493,12 +501,12 @@
"healthchecks": { "healthchecks": {
"new": "Nowy", "new": "Nowy",
"up": "Dostępny", "up": "Dostępny",
"grace": "In Grace Period", "grace": "W okresie karencji",
"down": "Niedostępny", "down": "Niedostępny",
"paused": "Zatrzymane", "paused": "Zatrzymane",
"status": "Stan", "status": "Stan",
"last_ping": "Ostatni ping", "last_ping": "Ostatni ping",
"never": "No pings yet" "never": "Brak pingów"
}, },
"watchtower": { "watchtower": {
"containers_scanned": "Zeskanowane", "containers_scanned": "Zeskanowane",
@ -535,7 +543,15 @@
}, },
"hdhomerun": { "hdhomerun": {
"channels": "Kanały", "channels": "Kanały",
"hd": "HD" "hd": "HD",
"tunerCount": "Tunery",
"channelNumber": "Kanał",
"channelNetwork": "Sieć",
"signalStrength": "Siła",
"signalQuality": "Jakość",
"symbolQuality": "Jakość",
"networkRate": "Bitrate",
"clientIP": "Klient"
}, },
"scrutiny": { "scrutiny": {
"passed": "Powodzenie", "passed": "Powodzenie",
@ -547,12 +563,12 @@
"total": "Całkowite" "total": "Całkowite"
}, },
"peanut": { "peanut": {
"battery_charge": "Battery Charge", "battery_charge": "Stan baterii",
"ups_load": "UPS Load", "ups_load": "Obciążenie UPS",
"ups_status": "UPS Status", "ups_status": "Status UPS",
"online": "Dostępny", "online": "Dostępny",
"on_battery": "On Battery", "on_battery": "Na baterii",
"low_battery": "Low Battery" "low_battery": "Niski poziom baterii"
}, },
"nextdns": { "nextdns": {
"wait": "Proszę czekać", "wait": "Proszę czekać",
@ -560,7 +576,7 @@
}, },
"mikrotik": { "mikrotik": {
"cpuLoad": "Obciążenie procesora", "cpuLoad": "Obciążenie procesora",
"memoryUsed": "Zuyżyta pamięć", "memoryUsed": "Zużyta pamięć",
"uptime": "Czas działania", "uptime": "Czas działania",
"numberOfLeases": "Dzierżawy" "numberOfLeases": "Dzierżawy"
}, },
@ -571,8 +587,8 @@
}, },
"opendtu": { "opendtu": {
"yieldDay": "Dzisiaj", "yieldDay": "Dzisiaj",
"absolutePower": "Power", "absolutePower": "Zasilanie",
"relativePower": "Power %", "relativePower": "Moc %",
"limit": "Limit" "limit": "Limit"
}, },
"opnsense": { "opnsense": {
@ -589,16 +605,16 @@
}, },
"octoprint": { "octoprint": {
"printer_state": "Stan", "printer_state": "Stan",
"temp_tool": "Tool temp", "temp_tool": "Temperatura narzędzia",
"temp_bed": "Bed temp", "temp_bed": "Temp. łóżka",
"job_completion": "Ukończono" "job_completion": "Ukończono"
}, },
"cloudflared": { "cloudflared": {
"origin_ip": "Origin IP", "origin_ip": "IP Źródła",
"status": "Stan" "status": "Stan"
}, },
"pfsense": { "pfsense": {
"load": "Load Avg", "load": "Śr. Obciążenie",
"memory": "Użycie pamięci", "memory": "Użycie pamięci",
"wanStatus": "Status WAN", "wanStatus": "Status WAN",
"up": "Dostępny", "up": "Dostępny",
@ -608,8 +624,8 @@
"wanIP": "WAN IP" "wanIP": "WAN IP"
}, },
"proxmoxbackupserver": { "proxmoxbackupserver": {
"datastore_usage": "Datastore", "datastore_usage": "Magazyn danych",
"failed_tasks_24h": "Failed Tasks 24h", "failed_tasks_24h": "Nieudane zadania 24h",
"cpu_usage": "Procesor", "cpu_usage": "Procesor",
"memory_usage": "Pamięć" "memory_usage": "Pamięć"
}, },
@ -662,8 +678,8 @@
"grafana": { "grafana": {
"dashboards": "Panel główny", "dashboards": "Panel główny",
"datasources": "Źródła danych", "datasources": "Źródła danych",
"totalalerts": "Total Alerts", "totalalerts": "Wszystkie alerty",
"alertstriggered": "Alerts Triggered" "alertstriggered": "Wywołane alerty"
}, },
"nextcloud": { "nextcloud": {
"cpuload": "Obciążenie CPU", "cpuload": "Obciążenie CPU",
@ -671,7 +687,7 @@
"freespace": "Wolna przestrzeń", "freespace": "Wolna przestrzeń",
"activeusers": "Aktywni użytkownicy", "activeusers": "Aktywni użytkownicy",
"numfiles": "Pliki", "numfiles": "Pliki",
"numshares": "Shared Items" "numshares": "Udostępnione elementy"
}, },
"kopia": { "kopia": {
"status": "Stan", "status": "Stan",
@ -682,7 +698,7 @@
}, },
"unmanic": { "unmanic": {
"active_workers": "Aktywni pracownicy", "active_workers": "Aktywni pracownicy",
"total_workers": "Total Workers", "total_workers": "Wszyscy pracownicy",
"records_total": "Długość kolejki" "records_total": "Długość kolejki"
}, },
"pterodactyl": { "pterodactyl": {
@ -690,9 +706,14 @@
"nodes": "Węzły" "nodes": "Węzły"
}, },
"prometheus": { "prometheus": {
"targets_up": "Targets Up", "targets_up": "Cele włączone",
"targets_down": "Targets Down", "targets_down": "Cele wyłączone",
"targets_total": "Total Targets" "targets_total": "Wszystkich Celi"
},
"gatus": {
"up": "Działające",
"down": "Niedziałające",
"uptime": "Czas działania"
}, },
"ghostfolio": { "ghostfolio": {
"gross_percent_today": "Dzisiaj", "gross_percent_today": "Dzisiaj",
@ -706,9 +727,9 @@
"booksDuration": "Czas trwania" "booksDuration": "Czas trwania"
}, },
"homeassistant": { "homeassistant": {
"people_home": "People Home", "people_home": "Dom ludzi",
"lights_on": "Lights On", "lights_on": "Światła włączone",
"switches_on": "Switches On" "switches_on": "Przełączniki włączone"
}, },
"whatsupdocker": { "whatsupdocker": {
"monitoring": "Monitoring", "monitoring": "Monitoring",
@ -735,12 +756,12 @@
"status": "Stan", "status": "Stan",
"buildId": "ID kompilacji", "buildId": "ID kompilacji",
"succeeded": "Ukończono", "succeeded": "Ukończono",
"notStarted": "Not Started", "notStarted": "Nierozpoczęte",
"failed": "Niepowodzenie", "failed": "Niepowodzenie",
"canceled": "Anulowano", "canceled": "Anulowano",
"inProgress": "W trakcie", "inProgress": "W trakcie",
"totalPrs": "Total PRs", "totalPrs": "Łącznie PRs",
"myPrs": "My PRs", "myPrs": "Moje PRs",
"approved": "Zaakceptowane" "approved": "Zaakceptowane"
}, },
"gamedig": { "gamedig": {
@ -749,7 +770,7 @@
"offline": "Nieosiągalny", "offline": "Nieosiągalny",
"name": "Nazwa", "name": "Nazwa",
"map": "Mapa", "map": "Mapa",
"currentPlayers": "Current players", "currentPlayers": "Gracze online",
"players": "Gracze", "players": "Gracze",
"maxPlayers": "Maksymalna ilość graczy", "maxPlayers": "Maksymalna ilość graczy",
"bots": "Boty", "bots": "Boty",
@ -759,10 +780,10 @@
"ok": "Ok", "ok": "Ok",
"errored": "Błędy", "errored": "Błędy",
"noRecent": "Nieaktualne", "noRecent": "Nieaktualne",
"totalUsed": "Used Storage" "totalUsed": "Użyta pamięć"
}, },
"mealie": { "mealie": {
"recipes": "Recipes", "recipes": "Przepisy",
"users": "Użytkownicy", "users": "Użytkownicy",
"categories": "Kategorie", "categories": "Kategorie",
"tags": "Tagi" "tags": "Tagi"
@ -775,33 +796,97 @@
"passed": "Powodzenie", "passed": "Powodzenie",
"failed": "Niepowodzenie" "failed": "Niepowodzenie"
}, },
"openwrt": {
"uptime": "Czas działania",
"cpuLoad": "Śr. obciążenie CPU (5m)",
"up": "Dostępny",
"down": "Niedostępny",
"bytesTx": "Przesłane",
"bytesRx": "Odebrane"
},
"uptimerobot": { "uptimerobot": {
"status": "Stan", "status": "Stan",
"uptime": "Czas działania", "uptime": "Czas działania",
"lastDown": "Last Downtime", "lastDown": "Ostatni downtime",
"downDuration": "Downtime Duration", "downDuration": "Długość downtime'u",
"sitesUp": "Działające", "sitesUp": "Działające",
"sitesDown": "Niedziałające", "sitesDown": "Niedziałające",
"paused": "Zatrzymane", "paused": "Zatrzymane",
"notyetchecked": "Not Yet Checked", "notyetchecked": "Nie sprawdzono",
"up": "Dostępny", "up": "Dostępny",
"seemsdown": "Seems Down", "seemsdown": "Możliwe, że wyłączony",
"down": "Niedostępny", "down": "Niedostępny",
"unknown": "Nieznany" "unknown": "Nieznany"
}, },
"calendar": { "calendar": {
"inCinemas": "In cinemas", "inCinemas": "W kinach",
"physicalRelease": "Physical release", "physicalRelease": "Wydanie fizyczne",
"digitalRelease": "Digital release", "digitalRelease": "Wydanie cyfrowe",
"noEventsToday": "No events for today!", "noEventsToday": "Brak wydarzeń na dziś!",
"noEventsFound": "No events found" "noEventsFound": "Nie znaleziono wydarzeń"
}, },
"romm": { "romm": {
"platforms": "Platforms", "platforms": "Platformy",
"totalRoms": "Total ROMs" "totalRoms": "Łącznie ROM"
}, },
"netdata": { "netdata": {
"warnings": "Warnings", "warnings": "Ostrzeżenia",
"criticals": "Criticals" "criticals": "Krytyczny"
},
"plantit": {
"events": "Wydarzenia",
"plants": "Rośliny",
"photos": "Zdjęcia",
"species": "Gatunki"
},
"gitea": {
"notifications": "Powiadomienia",
"issues": "Zgłoszenia",
"pulls": "Żądania Pull"
},
"stash": {
"scenes": "Sceny",
"scenesPlayed": "Odgrane sceny",
"playCount": "Łącznie odtworzone",
"playDuration": "Łączny czas oglądania",
"sceneSize": "Rozmiar scen",
"sceneDuration": "Czas trwania scen",
"images": "Obrazy",
"imageSize": "Rozmiar obrazów",
"galleries": "Galerie",
"performers": "Artyści",
"studios": "Studia",
"movies": "Filmy",
"tags": "Tagi",
"oCount": "O Licznik"
},
"tandoor": {
"users": "Użytkownicy",
"recipes": "Przepisy",
"keywords": "Słowa kluczowe"
},
"homebox": {
"items": "Elementy",
"totalWithWarranty": "Z gwarancją",
"locations": "Lokalizacje",
"labels": "Etykiety",
"users": "Użytkownicy",
"totalValue": "Wartość całkowita"
},
"crowdsec": {
"alerts": "Alarmy",
"bans": "Bany"
},
"wgeasy": {
"connected": "Connected",
"enabled": "Włączone",
"disabled": "Wyłączone",
"total": "Całkowite"
},
"swagdashboard": {
"proxied": "Proxied",
"auth": "With Auth",
"outdated": "Outdated",
"banned": "Banned"
} }
} }

View File

@ -107,6 +107,13 @@
"episodes": "Episódios", "episodes": "Episódios",
"songs": "Canções" "songs": "Canções"
}, },
"esphome": {
"offline": "Desligado",
"offline_alt": "Desligado",
"online": "Online",
"total": "Total",
"unknown": "Desconhecido"
},
"evcc": { "evcc": {
"pv_power": "Produção", "pv_power": "Produção",
"battery_soc": "Bateria", "battery_soc": "Bateria",
@ -133,7 +140,7 @@
"connectionStatusPendingDisconnect": "Desconexão pendente", "connectionStatusPendingDisconnect": "Desconexão pendente",
"connectionStatusDisconnecting": "Desconectando", "connectionStatusDisconnecting": "Desconectando",
"connectionStatusDisconnected": "Desconectado", "connectionStatusDisconnected": "Desconectado",
"connectionStatusConnected": "Conectado", "connectionStatusConnected": "Connected",
"uptime": "Ligado", "uptime": "Ligado",
"maxDown": "Máx. de Descarga", "maxDown": "Máx. de Descarga",
"maxUp": "Max. de Envio", "maxUp": "Max. de Envio",
@ -270,11 +277,11 @@
"approved": "Aprovada", "approved": "Aprovada",
"available": "Disponível" "available": "Disponível"
}, },
"pialert": { "netalertx": {
"total": "Total", "total": "Total",
"connected": "Conectado", "connected": "Connected",
"new_devices": "Novos dispositivos", "new_devices": "New Devices",
"down_alerts": "Alertas de Baixo" "down_alerts": "Down Alerts"
}, },
"pihole": { "pihole": {
"queries": "Consultas", "queries": "Consultas",
@ -419,7 +426,8 @@
"search": "Busca", "search": "Busca",
"custom": "Personalizado", "custom": "Personalizado",
"visit": "Visitar", "visit": "Visitar",
"url": "Endereço URL" "url": "Endereço URL",
"searchsuggestion": "Suggestion"
}, },
"wmo": { "wmo": {
"0-day": "Solarengo", "0-day": "Solarengo",
@ -535,7 +543,15 @@
}, },
"hdhomerun": { "hdhomerun": {
"channels": "Canais", "channels": "Canais",
"hd": "HD" "hd": "HD",
"tunerCount": "Tuners",
"channelNumber": "Channel",
"channelNetwork": "Network",
"signalStrength": "Strength",
"signalQuality": "Quality",
"symbolQuality": "Quality",
"networkRate": "Taxa de bits",
"clientIP": "Client"
}, },
"scrutiny": { "scrutiny": {
"passed": "Aprovado", "passed": "Aprovado",
@ -694,6 +710,11 @@
"targets_down": "Alvo inativo", "targets_down": "Alvo inativo",
"targets_total": "Total de Alvos" "targets_total": "Total de Alvos"
}, },
"gatus": {
"up": "Sites no Ar",
"down": "Sites Fora do Ar",
"uptime": "Ligado"
},
"ghostfolio": { "ghostfolio": {
"gross_percent_today": "Hoje", "gross_percent_today": "Hoje",
"gross_percent_1y": "Um ano", "gross_percent_1y": "Um ano",
@ -775,6 +796,14 @@
"passed": "Aprovado", "passed": "Aprovado",
"failed": "Falhou" "failed": "Falhou"
}, },
"openwrt": {
"uptime": "Ligado",
"cpuLoad": "CPU Load Avg (5m)",
"up": "Up",
"down": "Down",
"bytesTx": "Transmitted",
"bytesRx": "Recebido"
},
"uptimerobot": { "uptimerobot": {
"status": "Estado", "status": "Estado",
"uptime": "Ligado", "uptime": "Ligado",
@ -803,5 +832,61 @@
"netdata": { "netdata": {
"warnings": "Warnings", "warnings": "Warnings",
"criticals": "Criticals" "criticals": "Criticals"
},
"plantit": {
"events": "Events",
"plants": "Plants",
"photos": "Fotos",
"species": "Species"
},
"gitea": {
"notifications": "Notifications",
"issues": "Problemas",
"pulls": "Pull Requests"
},
"stash": {
"scenes": "Scenes",
"scenesPlayed": "Scenes Played",
"playCount": "Total Plays",
"playDuration": "Time Watched",
"sceneSize": "Scenes Size",
"sceneDuration": "Scenes Duration",
"images": "Images",
"imageSize": "Images Size",
"galleries": "Galleries",
"performers": "Performers",
"studios": "Studios",
"movies": "Filmes",
"tags": "Etiquetas",
"oCount": "O Count"
},
"tandoor": {
"users": "Utilizadores",
"recipes": "Receitas",
"keywords": "Keywords"
},
"homebox": {
"items": "Items",
"totalWithWarranty": "With Warranty",
"locations": "Locations",
"labels": "Labels",
"users": "Utilizadores",
"totalValue": "Total Value"
},
"crowdsec": {
"alerts": "Alertas",
"bans": "Bans"
},
"wgeasy": {
"connected": "Connected",
"enabled": "Ativo",
"disabled": "Desabilitado",
"total": "Total"
},
"swagdashboard": {
"proxied": "Proxied",
"auth": "With Auth",
"outdated": "Outdated",
"banned": "Banned"
} }
} }

View File

@ -14,7 +14,7 @@
"date": "{{value, date}}", "date": "{{value, date}}",
"relativeDate": "{{value, relativeDate}}", "relativeDate": "{{value, relativeDate}}",
"uptime": "{{value, uptime}}", "uptime": "{{value, uptime}}",
"months": "mo", "months": "M",
"days": "d", "days": "d",
"hours": "h", "hours": "h",
"minutes": "m", "minutes": "m",
@ -22,11 +22,11 @@
}, },
"widget": { "widget": {
"missing_type": "Tipo de Widget ausente: {{type}}", "missing_type": "Tipo de Widget ausente: {{type}}",
"api_error": "Erro da API", "api_error": "Erros de API",
"information": "Informação", "information": "Informação",
"status": "Estado", "status": "Estado",
"url": "Endereço URL", "url": "Endereço URL",
"raw_error": "Erro", "raw_error": "Erro Raw",
"response_data": "Dados da Resposta" "response_data": "Dados da Resposta"
}, },
"weather": { "weather": {
@ -85,28 +85,35 @@
"ping": { "ping": {
"error": "Erro", "error": "Erro",
"ping": "Tempo de resposta", "ping": "Tempo de resposta",
"down": "Down", "down": "Inativo",
"up": "Up", "up": "Ativo",
"not_available": "Not Available" "not_available": "Não Disponível"
}, },
"siteMonitor": { "siteMonitor": {
"http_status": "HTTP status", "http_status": "Estado HTTP",
"error": "Erro", "error": "Erro",
"response": "Response", "response": "Resposta",
"down": "Down", "down": "Inativo",
"up": "Up", "up": "Ativo",
"not_available": "Not Available" "not_available": "Não Disponível"
}, },
"emby": { "emby": {
"playing": "A reproduzir", "playing": "A reproduzir",
"transcoding": "Transcodificação", "transcoding": "Transcodificação",
"bitrate": "Taxa de bits", "bitrate": "Taxa de bits",
"no_active": "Sem streams ativas", "no_active": "Sem Streams Ativos",
"movies": "Filmes", "movies": "Filmes",
"series": "Séries", "series": "Séries",
"episodes": "Episódios", "episodes": "Episódios",
"songs": "Canções" "songs": "Canções"
}, },
"esphome": {
"offline": "Desligado",
"offline_alt": "Desligado",
"online": "Disponível",
"total": "Total",
"unknown": "Desconhecido"
},
"evcc": { "evcc": {
"pv_power": "Produção", "pv_power": "Produção",
"battery_soc": "Bateria", "battery_soc": "Bateria",
@ -127,24 +134,24 @@
}, },
"fritzbox": { "fritzbox": {
"connectionStatus": "Estado", "connectionStatus": "Estado",
"connectionStatusUnconfigured": "Unconfigured", "connectionStatusUnconfigured": "Não configurado",
"connectionStatusConnecting": "Connecting", "connectionStatusConnecting": "Conectando",
"connectionStatusAuthenticating": "Authenticating", "connectionStatusAuthenticating": "Autenticando",
"connectionStatusPendingDisconnect": "Pending Disconnect", "connectionStatusPendingDisconnect": "Desconexão Pendente",
"connectionStatusDisconnecting": "Disconnecting", "connectionStatusDisconnecting": "Desconectando",
"connectionStatusDisconnected": "Disconnected", "connectionStatusDisconnected": "Desconectado",
"connectionStatusConnected": "Connected", "connectionStatusConnected": "Conectado",
"uptime": "Ligado", "uptime": "Ligado",
"maxDown": "Max. Down", "maxDown": "Max. Down",
"maxUp": "Max. Up", "maxUp": "Máx. Acima",
"down": "Down", "down": "Inativo",
"up": "Up", "up": "Ativo",
"received": "Received", "received": "Recebido",
"sent": "Sent", "sent": "Enviado",
"externalIPAddress": "Ext. IP" "externalIPAddress": "IP Externo"
}, },
"caddy": { "caddy": {
"upstreams": "Upstreams", "upstreams": "Streams de Envio",
"requests": "Solicitações atuais", "requests": "Solicitações atuais",
"requests_failed": "Solicitações com falha" "requests_failed": "Solicitações com falha"
}, },
@ -153,24 +160,24 @@
"diffsDetected": "Diferenças Detetadas" "diffsDetected": "Diferenças Detetadas"
}, },
"channelsdvrserver": { "channelsdvrserver": {
"shows": "Shows", "shows": "Programas",
"recordings": "Gravações", "recordings": "Gravações",
"scheduled": "Scheduled", "scheduled": "Agendado",
"passes": "Passes" "passes": "Passes"
}, },
"tautulli": { "tautulli": {
"playing": "A reproduzir", "playing": "A reproduzir",
"transcoding": "Transcodificação", "transcoding": "Transcodificação",
"bitrate": "Taxa de bits", "bitrate": "Taxa de bits",
"no_active": "Sem streams ativas", "no_active": "Sem Streams Ativos",
"plex_connection_error": "Check Plex Connection" "plex_connection_error": "Verifique a conexão do Plex"
}, },
"omada": { "omada": {
"connectedAp": "APs Ligados", "connectedAp": "APs Ligados",
"activeUser": "Dispositivos activos", "activeUser": "Dispositivos ativos",
"alerts": "Alertas", "alerts": "Alertas",
"connectedGateway": "Gateways ligados", "connectedGateway": "Gateways conectados",
"connectedSwitches": "Switches ligados" "connectedSwitches": "Switches conectados"
}, },
"nzbget": { "nzbget": {
"rate": "Taxa", "rate": "Taxa",
@ -179,7 +186,7 @@
}, },
"plex": { "plex": {
"streams": "Streams Ativas", "streams": "Streams Ativas",
"albums": "Albums", "albums": "Álbuns",
"movies": "Filmes", "movies": "Filmes",
"tv": "Series de TV" "tv": "Series de TV"
}, },
@ -206,12 +213,12 @@
"seed": "Semente" "seed": "Semente"
}, },
"qnap": { "qnap": {
"cpuUsage": "CPU Usage", "cpuUsage": "Uso de CPU",
"memUsage": "MEM Usage", "memUsage": "Uso de Memória",
"systemTempC": "System Temp", "systemTempC": "Temp. do Sistema",
"poolUsage": "Pool Usage", "poolUsage": "Pool Usage",
"volumeUsage": "Volume Usage", "volumeUsage": "Uso do volume",
"invalid": "Invalid" "invalid": "Inválido"
}, },
"deluge": { "deluge": {
"download": "Descarregar", "download": "Descarregar",
@ -243,7 +250,7 @@
"lidarr": { "lidarr": {
"wanted": "Desejada", "wanted": "Desejada",
"queued": "Em fila", "queued": "Em fila",
"artists": "Artists" "artists": "Artistas"
}, },
"readarr": { "readarr": {
"wanted": "Desejada", "wanted": "Desejada",
@ -270,16 +277,16 @@
"approved": "Aprovada", "approved": "Aprovada",
"available": "Disponível" "available": "Disponível"
}, },
"pialert": { "netalertx": {
"total": "Total", "total": "Total",
"connected": "Connected", "connected": "Conectado",
"new_devices": "New Devices", "new_devices": "Novos dispositivos",
"down_alerts": "Down Alerts" "down_alerts": "Alertas de Inatividade"
}, },
"pihole": { "pihole": {
"queries": "Consultas", "queries": "Consultas",
"blocked": "Bloqueado", "blocked": "Bloqueado",
"blocked_percent": "Blocked %", "blocked_percent": "Bloqueado %",
"gravity": "Gravidade" "gravity": "Gravidade"
}, },
"adguard": { "adguard": {
@ -299,11 +306,11 @@
"total": "Total" "total": "Total"
}, },
"tailscale": { "tailscale": {
"address": "Address", "address": "Endereço",
"expires": "Expires", "expires": "Expira em",
"never": "Never", "never": "Nunca",
"last_seen": "Last Seen", "last_seen": "Visto por último",
"now": "Now", "now": "Agora",
"years": "{{number}}y", "years": "{{number}}y",
"weeks": "{{number}}w", "weeks": "{{number}}w",
"days": "{{number}}d", "days": "{{number}}d",
@ -324,8 +331,8 @@
"middleware": "Middleware" "middleware": "Middleware"
}, },
"navidrome": { "navidrome": {
"nothing_streaming": "Sem streams ativas", "nothing_streaming": "Sem Streams Ativos",
"please_wait": "Por favor aguarde" "please_wait": "Por favor, aguarde"
}, },
"npm": { "npm": {
"enabled": "Ativo", "enabled": "Ativo",
@ -375,7 +382,7 @@
"players": "Reprodutores", "players": "Reprodutores",
"version": "Versão", "version": "Versão",
"status": "Estado", "status": "Estado",
"up": "Online", "up": "Disponível",
"down": "Desligado" "down": "Desligado"
}, },
"miniflux": { "miniflux": {
@ -398,20 +405,20 @@
"load": "Carga", "load": "Carga",
"wait": "Por favor aguarde", "wait": "Por favor aguarde",
"temp": "TEMP", "temp": "TEMP",
"_temp": "Temp", "_temp": "Temperatura",
"warn": "Warn", "warn": "Aviso",
"uptime": "CIMA", "uptime": "CIMA",
"total": "Total", "total": "Total",
"free": "Livre", "free": "Livre",
"used": "Utilizado", "used": "Utilizado",
"days": "d", "days": "d",
"hours": "h", "hours": "h",
"crit": "Crit", "crit": "Crítico",
"read": "Lido", "read": "Lido",
"write": "Write", "write": "Escrita",
"gpu": "GPU", "gpu": "GPU",
"mem": "Mem", "mem": "Memória",
"swap": "Swap" "swap": "Temporário"
}, },
"quicklaunch": { "quicklaunch": {
"bookmark": "Marcador", "bookmark": "Marcador",
@ -419,7 +426,8 @@
"search": "Busca", "search": "Busca",
"custom": "Personalizado", "custom": "Personalizado",
"visit": "Visitar", "visit": "Visitar",
"url": "Endereço URL" "url": "Endereço URL",
"searchsuggestion": "Sugestão"
}, },
"wmo": { "wmo": {
"0-day": "Solarengo", "0-day": "Solarengo",
@ -486,15 +494,15 @@
"up_to_date": "Atualizado", "up_to_date": "Atualizado",
"child_bridges": "Pontes Filhas", "child_bridges": "Pontes Filhas",
"child_bridges_status": "{{ok}}/{{total}}", "child_bridges_status": "{{ok}}/{{total}}",
"up": "Up", "up": "Ativo",
"pending": "Pendente", "pending": "Pendente",
"down": "Down" "down": "Inativo"
}, },
"healthchecks": { "healthchecks": {
"new": "Novo", "new": "Novo",
"up": "Up", "up": "Ativo",
"grace": "Em Período Gratuito", "grace": "Em Período Gratuito",
"down": "Down", "down": "Inativo",
"paused": "Pausado", "paused": "Pausado",
"status": "Estado", "status": "Estado",
"last_ping": "Ultimo Ping", "last_ping": "Ultimo Ping",
@ -535,7 +543,15 @@
}, },
"hdhomerun": { "hdhomerun": {
"channels": "Canais", "channels": "Canais",
"hd": "HD" "hd": "HD",
"tunerCount": "Sintonizadores",
"channelNumber": "Canal",
"channelNetwork": "Rede",
"signalStrength": "Potência",
"signalQuality": "Qualidade",
"symbolQuality": "Qualidade",
"networkRate": "Taxa de bits",
"clientIP": "Cliente"
}, },
"scrutiny": { "scrutiny": {
"passed": "Aprovado", "passed": "Aprovado",
@ -547,15 +563,15 @@
"total": "Total" "total": "Total"
}, },
"peanut": { "peanut": {
"battery_charge": "Battery Charge", "battery_charge": "Carga da bateria",
"ups_load": "UPS Load", "ups_load": "Carga do UPS",
"ups_status": "UPS Status", "ups_status": "Estado UPS",
"online": "Online", "online": "Disponível",
"on_battery": "On Battery", "on_battery": "Na bateria",
"low_battery": "Low Battery" "low_battery": "Bateria Fraca"
}, },
"nextdns": { "nextdns": {
"wait": "Por favor aguarde", "wait": "Por favor, aguarde",
"no_devices": "Nenhum dado do dispositivo recebido" "no_devices": "Nenhum dado do dispositivo recebido"
}, },
"mikrotik": { "mikrotik": {
@ -570,10 +586,10 @@
"streams_xepg": "Canais XEPG" "streams_xepg": "Canais XEPG"
}, },
"opendtu": { "opendtu": {
"yieldDay": "Today", "yieldDay": "Hoje",
"absolutePower": "Power", "absolutePower": "Energia",
"relativePower": "Power %", "relativePower": "Energia %",
"limit": "Limit" "limit": "Limite"
}, },
"opnsense": { "opnsense": {
"cpu": "Carga do CPU", "cpu": "Carga do CPU",
@ -598,14 +614,14 @@
"status": "Estado" "status": "Estado"
}, },
"pfsense": { "pfsense": {
"load": "Load Avg", "load": "Carga Média",
"memory": "Mem Usage", "memory": "Uso de memória",
"wanStatus": "WAN Status", "wanStatus": "Estado WAN",
"up": "Up", "up": "Ativo",
"down": "Down", "down": "Inativo",
"temp": "Temp", "temp": "Temperatura",
"disk": "Disk Usage", "disk": "Uso do disco",
"wanIP": "WAN IP" "wanIP": "IP WAN"
}, },
"proxmoxbackupserver": { "proxmoxbackupserver": {
"datastore_usage": "Armaz. de Dados", "datastore_usage": "Armaz. de Dados",
@ -628,9 +644,9 @@
}, },
"atsumeru": { "atsumeru": {
"series": "Séries", "series": "Séries",
"archives": "Archives", "archives": "Arquivos",
"chapters": "Chapters", "chapters": "Capítulos",
"categories": "Categories" "categories": "Categorias"
}, },
"komga": { "komga": {
"libraries": "Bibliotecas", "libraries": "Bibliotecas",
@ -648,7 +664,7 @@
"wanted": "Desejada" "wanted": "Desejada"
}, },
"photoprism": { "photoprism": {
"albums": "Albums", "albums": "Álbuns",
"photos": "Fotos", "photos": "Fotos",
"videos": "Vídeos", "videos": "Vídeos",
"people": "Pessoa" "people": "Pessoa"
@ -670,8 +686,8 @@
"memoryusage": "Memória Utilizada", "memoryusage": "Memória Utilizada",
"freespace": "Espaço Livre", "freespace": "Espaço Livre",
"activeusers": "Utilizadores Ativos", "activeusers": "Utilizadores Ativos",
"numfiles": "Files", "numfiles": "Arquivos",
"numshares": "Shared Items" "numshares": "Itens compartilhados"
}, },
"kopia": { "kopia": {
"status": "Estado", "status": "Estado",
@ -682,7 +698,7 @@
}, },
"unmanic": { "unmanic": {
"active_workers": "Workers Ativos", "active_workers": "Workers Ativos",
"total_workers": "Total Workers", "total_workers": "Total de trabalhadores",
"records_total": "Comprimento da Fila" "records_total": "Comprimento da Fila"
}, },
"pterodactyl": { "pterodactyl": {
@ -694,8 +710,13 @@
"targets_down": "Alvo inativo", "targets_down": "Alvo inativo",
"targets_total": "Total de Alvos" "targets_total": "Total de Alvos"
}, },
"gatus": {
"up": "Sites no Ar",
"down": "Sites Fora do Ar",
"uptime": "Ligado"
},
"ghostfolio": { "ghostfolio": {
"gross_percent_today": "Today", "gross_percent_today": "Hoje",
"gross_percent_1y": "Um ano", "gross_percent_1y": "Um ano",
"gross_percent_max": "Todo o tempo" "gross_percent_max": "Todo o tempo"
}, },
@ -711,13 +732,13 @@
"switches_on": "Interruptores Ligados" "switches_on": "Interruptores Ligados"
}, },
"whatsupdocker": { "whatsupdocker": {
"monitoring": "Monitoring", "monitoring": "Monitorando",
"updates": "Atualizações" "updates": "Atualizações"
}, },
"calibreweb": { "calibreweb": {
"books": "Livros", "books": "Livros",
"authors": "Authors", "authors": "Autores",
"categories": "Categories", "categories": "Categorias",
"series": "Séries" "series": "Séries"
}, },
"jdownloader": { "jdownloader": {
@ -728,80 +749,144 @@
}, },
"kavita": { "kavita": {
"seriesCount": "Séries", "seriesCount": "Séries",
"totalFiles": "Files" "totalFiles": "Arquivos"
}, },
"azuredevops": { "azuredevops": {
"result": "Result", "result": "Resultado",
"status": "Estado", "status": "Estado",
"buildId": "Build ID", "buildId": "ID Compilação",
"succeeded": "Succeeded", "succeeded": "Bem-sucedido",
"notStarted": "Not Started", "notStarted": "Não iniciado",
"failed": "Falhou", "failed": "Falhou",
"canceled": "Canceled", "canceled": "Cancelado",
"inProgress": "In Progress", "inProgress": "Em Progresso",
"totalPrs": "Total PRs", "totalPrs": "Total de PRs",
"myPrs": "My PRs", "myPrs": "Minhas PRs",
"approved": "Aprovada" "approved": "Aprovada"
}, },
"gamedig": { "gamedig": {
"status": "Estado", "status": "Estado",
"online": "Online", "online": "Disponível",
"offline": "Desligado", "offline": "Desligado",
"name": "Name", "name": "Nome",
"map": "Map", "map": "Mapa",
"currentPlayers": "Current players", "currentPlayers": "Jogadores atuais",
"players": "Reprodutores", "players": "Reprodutores",
"maxPlayers": "Max players", "maxPlayers": "Número Máximo de Jogadores",
"bots": "Bots", "bots": "Robôs",
"ping": "Tempo de resposta" "ping": "Tempo de resposta"
}, },
"urbackup": { "urbackup": {
"ok": "Ok", "ok": "Ok",
"errored": "Errors", "errored": "Erros",
"noRecent": "Out of Date", "noRecent": "Desatualizado",
"totalUsed": "Used Storage" "totalUsed": "Armazanamento Utilizado"
}, },
"mealie": { "mealie": {
"recipes": "Recipes", "recipes": "Receitas",
"users": "Utilizadores", "users": "Utilizadores",
"categories": "Categories", "categories": "Categorias",
"tags": "Tags" "tags": "Marcadores"
}, },
"openmediavault": { "openmediavault": {
"downloading": "Downloading", "downloading": "Baixando",
"total": "Total", "total": "Total",
"running": "A correr", "running": "A correr",
"stopped": "Parado", "stopped": "Parado",
"passed": "Aprovado", "passed": "Aprovado",
"failed": "Falhou" "failed": "Falhou"
}, },
"openwrt": {
"uptime": "Ligado",
"cpuLoad": "Carga da CPU média (5m)",
"up": "Ativo",
"down": "Inativo",
"bytesTx": "Transmitido",
"bytesRx": "Recebido"
},
"uptimerobot": { "uptimerobot": {
"status": "Estado", "status": "Estado",
"uptime": "Ligado", "uptime": "Ligado",
"lastDown": "Last Downtime", "lastDown": "Última inatividade",
"downDuration": "Downtime Duration", "downDuration": "Duração de inatividade",
"sitesUp": "Sites no Ar", "sitesUp": "Sites no Ar",
"sitesDown": "Sites Fora do Ar", "sitesDown": "Sites Fora do Ar",
"paused": "Pausado", "paused": "Pausado",
"notyetchecked": "Not Yet Checked", "notyetchecked": "Não conferidos ainda",
"up": "Up", "up": "Ativo",
"seemsdown": "Seems Down", "seemsdown": "Parece Desconectado",
"down": "Down", "down": "Inativo",
"unknown": "Desconhecido" "unknown": "Desconhecido"
}, },
"calendar": { "calendar": {
"inCinemas": "In cinemas", "inCinemas": "Nos cinemas",
"physicalRelease": "Physical release", "physicalRelease": "Versão física",
"digitalRelease": "Digital release", "digitalRelease": "Versão digital",
"noEventsToday": "No events for today!", "noEventsToday": "Nenhum evento para hoje!",
"noEventsFound": "No events found" "noEventsFound": "Nenhum evento encontrado"
}, },
"romm": { "romm": {
"platforms": "Platforms", "platforms": "Plataformas",
"totalRoms": "Total ROMs" "totalRoms": "Total de ROMs"
}, },
"netdata": { "netdata": {
"warnings": "Warnings", "warnings": "Alertas",
"criticals": "Criticals" "criticals": "Críticos"
},
"plantit": {
"events": "Eventos",
"plants": "Plantas",
"photos": "Fotos",
"species": "Espécies"
},
"gitea": {
"notifications": "Notificações",
"issues": "Problemas",
"pulls": "Solicitações de Envio"
},
"stash": {
"scenes": "Cenas",
"scenesPlayed": "Cenas Reproduzidas",
"playCount": "Total de Reproduções",
"playDuration": "Tempo Assistido",
"sceneSize": "Tamanho das cenas",
"sceneDuration": "Duração das cenas",
"images": "Imagens",
"imageSize": "Tamanho da Imagem",
"galleries": "Galerias",
"performers": "Atores",
"studios": "Estúdios",
"movies": "Filmes",
"tags": "Marcadores",
"oCount": "Contagem 0"
},
"tandoor": {
"users": "Utilizadores",
"recipes": "Receitas",
"keywords": "Palavras-chave"
},
"homebox": {
"items": "Itens",
"totalWithWarranty": "Com Garantia",
"locations": "Localização",
"labels": "Rótulos",
"users": "Utilizadores",
"totalValue": "Valor Total"
},
"crowdsec": {
"alerts": "Alertas",
"bans": "Banimentos"
},
"wgeasy": {
"connected": "Conectado",
"enabled": "Ativo",
"disabled": "Desabilitado",
"total": "Total"
},
"swagdashboard": {
"proxied": "Proxied",
"auth": "With Auth",
"outdated": "Outdated",
"banned": "Banned"
} }
} }

View File

@ -107,6 +107,13 @@
"episodes": "Episoade", "episodes": "Episoade",
"songs": "Melodii" "songs": "Melodii"
}, },
"esphome": {
"offline": "Offline",
"offline_alt": "Offline",
"online": "Online",
"total": "Total",
"unknown": "Necunoscut"
},
"evcc": { "evcc": {
"pv_power": "Producție", "pv_power": "Producție",
"battery_soc": "Baterie", "battery_soc": "Baterie",
@ -270,7 +277,7 @@
"approved": "Aprobate", "approved": "Aprobate",
"available": "Disponibile" "available": "Disponibile"
}, },
"pialert": { "netalertx": {
"total": "Total", "total": "Total",
"connected": "Connected", "connected": "Connected",
"new_devices": "New Devices", "new_devices": "New Devices",
@ -419,7 +426,8 @@
"search": "Caută", "search": "Caută",
"custom": "Personalizat", "custom": "Personalizat",
"visit": "Vizită", "visit": "Vizită",
"url": "URL" "url": "URL",
"searchsuggestion": "Suggestion"
}, },
"wmo": { "wmo": {
"0-day": "Însorit", "0-day": "Însorit",
@ -535,7 +543,15 @@
}, },
"hdhomerun": { "hdhomerun": {
"channels": "Channels", "channels": "Channels",
"hd": "HD" "hd": "HD",
"tunerCount": "Tuners",
"channelNumber": "Channel",
"channelNetwork": "Network",
"signalStrength": "Strength",
"signalQuality": "Quality",
"symbolQuality": "Quality",
"networkRate": "Rata de biți",
"clientIP": "Client"
}, },
"scrutiny": { "scrutiny": {
"passed": "Passed", "passed": "Passed",
@ -694,6 +710,11 @@
"targets_down": "Targets Down", "targets_down": "Targets Down",
"targets_total": "Total Targets" "targets_total": "Total Targets"
}, },
"gatus": {
"up": "Sites Up",
"down": "Sites Down",
"uptime": "Uptime"
},
"ghostfolio": { "ghostfolio": {
"gross_percent_today": "Today", "gross_percent_today": "Today",
"gross_percent_1y": "One year", "gross_percent_1y": "One year",
@ -775,6 +796,14 @@
"passed": "Passed", "passed": "Passed",
"failed": "Failed" "failed": "Failed"
}, },
"openwrt": {
"uptime": "Uptime",
"cpuLoad": "CPU Load Avg (5m)",
"up": "Sus",
"down": "Jos",
"bytesTx": "Transmitted",
"bytesRx": "Received"
},
"uptimerobot": { "uptimerobot": {
"status": "Stare", "status": "Stare",
"uptime": "Uptime", "uptime": "Uptime",
@ -803,5 +832,61 @@
"netdata": { "netdata": {
"warnings": "Warnings", "warnings": "Warnings",
"criticals": "Criticals" "criticals": "Criticals"
},
"plantit": {
"events": "Events",
"plants": "Plants",
"photos": "Photos",
"species": "Species"
},
"gitea": {
"notifications": "Notifications",
"issues": "Issues",
"pulls": "Pull Requests"
},
"stash": {
"scenes": "Scenes",
"scenesPlayed": "Scenes Played",
"playCount": "Total Plays",
"playDuration": "Time Watched",
"sceneSize": "Scenes Size",
"sceneDuration": "Scenes Duration",
"images": "Images",
"imageSize": "Images Size",
"galleries": "Galleries",
"performers": "Performers",
"studios": "Studios",
"movies": "Filme",
"tags": "Tags",
"oCount": "O Count"
},
"tandoor": {
"users": "Utilizatori",
"recipes": "Recipes",
"keywords": "Keywords"
},
"homebox": {
"items": "Items",
"totalWithWarranty": "With Warranty",
"locations": "Locations",
"labels": "Labels",
"users": "Utilizatori",
"totalValue": "Total Value"
},
"crowdsec": {
"alerts": "Alerts",
"bans": "Bans"
},
"wgeasy": {
"connected": "Connected",
"enabled": "Activat",
"disabled": "Dezactivat",
"total": "Total"
},
"swagdashboard": {
"proxied": "Proxied",
"auth": "With Auth",
"outdated": "Outdated",
"banned": "Banned"
} }
} }

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