mirror of
https://github.com/gethomepage/homepage.git
synced 2025-12-29 17:52:13 +08:00
Compare commits
78 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c89c4884b6 | ||
|
|
2d5f93668a | ||
|
|
b5258c5200 | ||
|
|
83d1ea5ec4 | ||
|
|
a660b42095 | ||
|
|
8b029ac11c | ||
|
|
9caede1cc3 | ||
|
|
b05b9b1420 | ||
|
|
8e9920a9d8 | ||
|
|
4d68f55dfa | ||
|
|
89fe819681 | ||
|
|
bb311ce1a0 | ||
|
|
fc1bf53f8f | ||
|
|
70f0eb3af6 | ||
|
|
5892d7407c | ||
|
|
f0910a9e8b | ||
|
|
e92ccc30ba | ||
|
|
68e4b98ddb | ||
|
|
abce57379d | ||
|
|
da57b2779a | ||
|
|
708a67ad03 | ||
|
|
b07221b8e9 | ||
|
|
c5876f22fe | ||
|
|
000d06aa04 | ||
|
|
5a19640c83 | ||
|
|
1893c9b8da | ||
|
|
67d99a5512 | ||
|
|
8157b03380 | ||
|
|
45a9e2a6da | ||
|
|
fce694e2b9 | ||
|
|
291bf422f9 | ||
|
|
3fae59c2bd | ||
|
|
619f365c92 | ||
|
|
841c74d58a | ||
|
|
b0dd810b49 | ||
|
|
36585a2c44 | ||
|
|
c268739e1f | ||
|
|
0d47dcaac7 | ||
|
|
a251c34059 | ||
|
|
4dca4cc892 | ||
|
|
ea0310548a | ||
|
|
87d1ea4f2e | ||
|
|
35af27f209 | ||
|
|
1c529c0e7d | ||
|
|
187291eeca | ||
|
|
eda5b0f0cf | ||
|
|
3b76772f81 | ||
|
|
3955743590 | ||
|
|
74a52d9288 | ||
|
|
fc7ce0a253 | ||
|
|
ea6192e8c6 | ||
|
|
8eb61ef9ff | ||
|
|
259d0f1bb9 | ||
|
|
868335fa4f | ||
|
|
888349bd64 | ||
|
|
b9b9fb04aa | ||
|
|
4af2f9c229 | ||
|
|
1a724732c8 | ||
|
|
bdbc3cb0ba | ||
|
|
6c741c620c | ||
|
|
ee38b7c757 | ||
|
|
64ac19859c | ||
|
|
20d1d8f914 | ||
|
|
ef39fce1de | ||
|
|
1ddd528bd7 | ||
|
|
578def33f5 | ||
|
|
e652d8faa4 | ||
|
|
61ae891a1e | ||
|
|
d5af7eda63 | ||
|
|
f0635db51d | ||
|
|
aa882f9574 | ||
|
|
86740c6d7b | ||
|
|
d20cdbb9ab | ||
|
|
98af4ffaa3 | ||
|
|
0b475797da | ||
|
|
fe1928870b | ||
|
|
98499cdf69 | ||
|
|
7230b622a3 |
@@ -3,4 +3,10 @@ FROM mcr.microsoft.com/vscode/devcontainers/javascript-node:${VARIANT}
|
||||
|
||||
RUN npm install -g pnpm
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get -y install --no-install-recommends \
|
||||
python3-pip \
|
||||
&& apt-get clean -y \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
ENV PATH="${PATH}:./node_modules/.bin"
|
||||
|
||||
@@ -1,27 +1,26 @@
|
||||
{
|
||||
"name": "homepage",
|
||||
"build": {
|
||||
"dockerfile": "Dockerfile",
|
||||
"args": {
|
||||
"VARIANT": "18-bullseye"
|
||||
}
|
||||
},
|
||||
"customizations": {
|
||||
"vscode": {
|
||||
"extensions": [
|
||||
"dbaeumer.vscode-eslint",
|
||||
"mhutchie.git-graph",
|
||||
"streetsidesoftware.code-spell-checker",
|
||||
],
|
||||
"settings": {
|
||||
"eslint.format.enable": true,
|
||||
"eslint.lintTask.enable": true,
|
||||
"eslint.packageManager": "pnpm"
|
||||
}
|
||||
}
|
||||
},
|
||||
"postCreateCommand": ".devcontainer/setup.sh",
|
||||
"forwardPorts": [
|
||||
3000
|
||||
]
|
||||
"name": "homepage",
|
||||
"build": {
|
||||
"dockerfile": "Dockerfile",
|
||||
"args": {
|
||||
"VARIANT": "18-bullseye",
|
||||
},
|
||||
},
|
||||
"customizations": {
|
||||
"vscode": {
|
||||
"extensions": [
|
||||
"dbaeumer.vscode-eslint",
|
||||
"mhutchie.git-graph",
|
||||
"streetsidesoftware.code-spell-checker",
|
||||
"esbenp.prettier-vscode",
|
||||
],
|
||||
"settings": {
|
||||
"eslint.format.enable": true,
|
||||
"eslint.lintTask.enable": true,
|
||||
"eslint.packageManager": "pnpm",
|
||||
},
|
||||
},
|
||||
},
|
||||
"postCreateCommand": ".devcontainer/setup.sh",
|
||||
"forwardPorts": [3000],
|
||||
}
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
# Install Node packages
|
||||
pnpm install
|
||||
|
||||
python3 -m pip install -r requirements.txt
|
||||
|
||||
# Copy in skeleton configuration if there is no existing configuration
|
||||
if [ ! -d "config/" ]; then
|
||||
echo "Adding skeleton config"
|
||||
|
||||
49
.github/DISCUSSION_TEMPLATE/support.yml
vendored
Normal file
49
.github/DISCUSSION_TEMPLATE/support.yml
vendored
Normal file
@@ -0,0 +1,49 @@
|
||||
body:
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Description
|
||||
description: A clear and concise description of the issue or question. If applicable, add screenshots to help explain your problem.
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: version
|
||||
attributes:
|
||||
label: homepage version
|
||||
placeholder: e.g. v0.4.18 (4ea2798)
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: install-method
|
||||
attributes:
|
||||
label: Installation method
|
||||
options:
|
||||
- Docker
|
||||
- Unraid
|
||||
- Source
|
||||
- Other (please describe above)
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: config
|
||||
attributes:
|
||||
label: Configuration
|
||||
description: Please provide any relevant service, widget or otherwise related configuration here
|
||||
render: yaml
|
||||
- type: textarea
|
||||
id: container-logs
|
||||
attributes:
|
||||
label: Container Logs
|
||||
description: Please review and provide any logs from the container, if relevant
|
||||
- type: textarea
|
||||
id: browser-logs
|
||||
attributes:
|
||||
label: Browser Logs
|
||||
description: Please review and provide any logs from the browser, if relevant
|
||||
- type: textarea
|
||||
id: troubleshooting
|
||||
attributes:
|
||||
label: Troubleshooting
|
||||
description: Please include output from your [troubleshooting tests](https://gethomepage.dev/latest/more/troubleshooting/#service-widget-errors), if relevant.
|
||||
validations:
|
||||
required: true
|
||||
3
.github/FUNDING.yml
vendored
3
.github/FUNDING.yml
vendored
@@ -1,3 +1,2 @@
|
||||
github: [gethomepage, benphelps, shamoon]
|
||||
ko_fi: benphelps
|
||||
custom: ["https://paypal.me/phelpsben"]
|
||||
open_collective: homepage
|
||||
|
||||
112
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
112
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@@ -1,99 +1,33 @@
|
||||
name: Bug report
|
||||
description: Create a report to help us improve
|
||||
title: "[Bug] Concise description of the issue"
|
||||
labels: ["bug, unconfirmed"]
|
||||
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 remember: issues are for *bugs*
|
||||
That is, something you believe affects every single homepage user, not just you. Otherwise, start with one of the other options below.
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Have a question? 👉 [Start a new discussion](https://github.com/gethomepage/homepage/discussions/new) or [ask in chat](https://discord.gg/SaPGSzrEZC).
|
||||
|
||||
Before opening an issue, please double check:
|
||||
|
||||
- [The troubleshooting guide](https://gethomepage.dev/latest/more/troubleshooting/).
|
||||
- [The homepage documentation](https://gethomepage.dev/)
|
||||
- [Existing issues](https://github.com/gethomepage/homepage/search?q=&type=issues) and [discussions](https://github.com/gethomepage/homepage/search?q=&type=discussions).
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Description
|
||||
description: A clear and concise description of what the bug is. If applicable, add screenshots to help explain your problem.
|
||||
placeholder: |
|
||||
Currently homepage does not work when...
|
||||
|
||||
[Screenshot if applicable]
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: reproduction
|
||||
attributes:
|
||||
label: Steps to reproduce
|
||||
description: Steps to reproduce the behavior.
|
||||
placeholder: |
|
||||
1. Go to '...'
|
||||
2. Click on '....'
|
||||
3. See error
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: version
|
||||
attributes:
|
||||
label: homepage version
|
||||
placeholder: e.g. v0.4.18 (4ea2798)
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: install-method
|
||||
attributes:
|
||||
label: Installation method
|
||||
options:
|
||||
- Docker
|
||||
- Unraid
|
||||
- Source
|
||||
- Other (please describe above)
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: config
|
||||
attributes:
|
||||
label: Configuration
|
||||
description: Please provide any relevant service, widget or otherwise related configuration here
|
||||
render: yaml
|
||||
- type: textarea
|
||||
id: container-logs
|
||||
attributes:
|
||||
label: Container Logs
|
||||
description: Please review and provide any logs from the container, if relevant
|
||||
- type: textarea
|
||||
id: browser-logs
|
||||
attributes:
|
||||
label: Browser Logs
|
||||
description: Please review and provide any logs from the browser, if relevant
|
||||
- type: textarea
|
||||
id: troubleshooting
|
||||
attributes:
|
||||
label: Troubleshooting
|
||||
description: Please include output from your [troubleshooting tests](https://gethomepage.dev/latest/more/troubleshooting/#service-widget-errors). If this is a service widget issue and you do not include any information here your issue will be closed. If it is not, indicate e.g. 'n/a'
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: other
|
||||
attributes:
|
||||
label: Other
|
||||
description: Include any other relevant details. E.g. service version or API version, docker version, etc.
|
||||
## ⚠️ 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, I have made sure to
|
||||
label: Before submitting, please confirm the following
|
||||
options:
|
||||
- label: Check [the documentation](https://gethomepage.dev/)
|
||||
- label: I confirm this was discussed, and the maintainers suggest I open an issue (note that AI bots are not maintainers).
|
||||
required: true
|
||||
- label: Follow [the troubleshooting guide](https://gethomepage.dev/latest/more/troubleshooting/) (please include output above if applicable).
|
||||
required: true
|
||||
- label: Search [existing issues](https://github.com/gethomepage/homepage/search?q=&type=issues) and [discussions](https://github.com/gethomepage/homepage/search?q=&type=discussions).
|
||||
- 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
|
||||
|
||||
2
.github/ISSUE_TEMPLATE/config.yml
vendored
2
.github/ISSUE_TEMPLATE/config.yml
vendored
@@ -2,7 +2,7 @@ blank_issues_enabled: false
|
||||
contact_links:
|
||||
- name: 🤔 Questions and Help
|
||||
url: https://github.com/gethomepage/homepage/discussions
|
||||
about: This issue tracker is for bugs only, not general support questions. Please refer to our Discussions.
|
||||
about: For support, possible bug reports or general questions.
|
||||
- name: 💬 Chat
|
||||
url: https://discord.gg/k4ruYNrudu
|
||||
about: Want to discuss homepage with others? Check out our chat.
|
||||
|
||||
6
.github/dependabot.yml
vendored
6
.github/dependabot.yml
vendored
@@ -5,7 +5,11 @@
|
||||
|
||||
version: 2
|
||||
updates:
|
||||
- package-ecosystem: "github-actions" # Maintain dependencies for GitHub Actions
|
||||
- package-ecosystem: "github-actions"
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "daily"
|
||||
- package-ecosystem: "npm"
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "monthly"
|
||||
|
||||
2
.github/workflows/docker-publish.yml
vendored
2
.github/workflows/docker-publish.yml
vendored
@@ -46,7 +46,7 @@ jobs:
|
||||
python-version: 3.x
|
||||
-
|
||||
name: Check files
|
||||
uses: pre-commit/action@v3.0.0
|
||||
uses: pre-commit/action@v3.0.1
|
||||
|
||||
build:
|
||||
name: Docker Build & Push
|
||||
|
||||
2
.github/workflows/docs-publish.yml
vendored
2
.github/workflows/docs-publish.yml
vendored
@@ -32,7 +32,7 @@ jobs:
|
||||
python-version: 3.x
|
||||
-
|
||||
name: Check files
|
||||
uses: pre-commit/action@v3.0.0
|
||||
uses: pre-commit/action@v3.0.1
|
||||
|
||||
test:
|
||||
name: Test Build
|
||||
|
||||
280
.github/workflows/repo-maintenance.yml
vendored
Normal file
280
.github/workflows/repo-maintenance.yml
vendored
Normal file
@@ -0,0 +1,280 @@
|
||||
name: 'Repository Maintenance'
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 3 * * *'
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
issues: write
|
||||
pull-requests: write
|
||||
discussions: write
|
||||
|
||||
concurrency:
|
||||
group: lock
|
||||
|
||||
jobs:
|
||||
stale:
|
||||
name: 'Stale'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/stale@v9
|
||||
with:
|
||||
days-before-stale: 7
|
||||
days-before-close: 14
|
||||
stale-issue-label: stale
|
||||
stale-pr-label: stale
|
||||
stale-issue-message: >
|
||||
This issue has been automatically marked as stale because it has not had
|
||||
recent activity. It will be closed if no further activity occurs. Thank you
|
||||
for your contributions. See our [contributing guidelines](https://github.com/gethomepage/homepage/blob/main/CONTRIBUTING.md#automatic-respoistory-maintenance) for more details.
|
||||
lock-threads:
|
||||
name: 'Lock Old Threads'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: dessant/lock-threads@v5
|
||||
with:
|
||||
issue-inactive-days: '30'
|
||||
pr-inactive-days: '30'
|
||||
discussion-inactive-days: '30'
|
||||
log-output: true
|
||||
issue-comment: >
|
||||
This issue has been automatically locked since there
|
||||
has not been any recent activity after it was closed.
|
||||
Please open a new discussion for related concerns.
|
||||
See our [contributing guidelines](https://github.com/gethomepage/homepage/blob/main/CONTRIBUTING.md#automatic-repository-maintenance) for more details.
|
||||
pr-comment: >
|
||||
This pull request has been automatically locked since there
|
||||
has not been any recent activity after it was closed.
|
||||
Please open a new discussion for related concerns.
|
||||
See our [contributing guidelines](https://github.com/gethomepage/homepage/blob/main/CONTRIBUTING.md#automatic-repository-maintenance) for more details.
|
||||
discussion-comment: >
|
||||
This discussion has been automatically locked since there
|
||||
has not been any recent activity after it was closed.
|
||||
Please open a new discussion for related concerns.
|
||||
See our [contributing guidelines](https://github.com/gethomepage/homepage/blob/main/CONTRIBUTING.md#automatic-repository-maintenance) for more details.
|
||||
close-answered-discussions:
|
||||
name: 'Close Answered Discussions'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/github-script@v7
|
||||
with:
|
||||
script: |
|
||||
function sleep(ms) {
|
||||
return new Promise(resolve => setTimeout(resolve, ms));
|
||||
}
|
||||
|
||||
const query = `query($owner:String!, $name:String!) {
|
||||
repository(owner:$owner, name:$name){
|
||||
discussions(first:100, answered:true, states:[OPEN]) {
|
||||
nodes {
|
||||
id,
|
||||
number
|
||||
}
|
||||
}
|
||||
}
|
||||
}`;
|
||||
const variables = {
|
||||
owner: context.repo.owner,
|
||||
name: context.repo.repo,
|
||||
}
|
||||
const result = await github.graphql(query, variables)
|
||||
|
||||
console.log(`Found ${result.repository.discussions.nodes.length} open answered discussions`)
|
||||
|
||||
for (const discussion of result.repository.discussions.nodes) {
|
||||
console.log(`Closing discussion #${discussion.number} (${discussion.id})`)
|
||||
|
||||
const addCommentMutation = `mutation($discussion:ID!, $body:String!) {
|
||||
addDiscussionComment(input:{discussionId:$discussion, body:$body}) {
|
||||
clientMutationId
|
||||
}
|
||||
}`;
|
||||
const commentVariables = {
|
||||
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-repository-maintenance) for more details.',
|
||||
}
|
||||
await github.graphql(addCommentMutation, commentVariables)
|
||||
|
||||
const closeDiscussionMutation = `mutation($discussion:ID!, $reason:DiscussionCloseReason!) {
|
||||
closeDiscussion(input:{discussionId:$discussion, reason:$reason}) {
|
||||
clientMutationId
|
||||
}
|
||||
}`;
|
||||
const closeVariables = {
|
||||
discussion: discussion.id,
|
||||
reason: "RESOLVED",
|
||||
}
|
||||
await github.graphql(closeDiscussionMutation, closeVariables)
|
||||
|
||||
await sleep(1000)
|
||||
}
|
||||
close-outdated-discussions:
|
||||
name: 'Close Outdated Discussions'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/github-script@v7
|
||||
with:
|
||||
script: |
|
||||
function sleep(ms) {
|
||||
return new Promise(resolve => setTimeout(resolve, ms));
|
||||
}
|
||||
|
||||
const CUTOFF_DAYS = 180;
|
||||
const cutoff = new Date();
|
||||
cutoff.setDate(cutoff.getDate() - CUTOFF_DAYS);
|
||||
|
||||
const query = `query(
|
||||
$owner:String!,
|
||||
$name:String!,
|
||||
$supportCategory:ID!,
|
||||
$generalCategory:ID!,
|
||||
) {
|
||||
supportDiscussions: repository(owner:$owner, name:$name){
|
||||
discussions(
|
||||
categoryId:$supportCategory,
|
||||
last:50,
|
||||
answered:false,
|
||||
states:[OPEN],
|
||||
) {
|
||||
nodes {
|
||||
id,
|
||||
number,
|
||||
updatedAt
|
||||
}
|
||||
},
|
||||
},
|
||||
generalDiscussions: repository(owner:$owner, name:$name){
|
||||
discussions(
|
||||
categoryId:$generalCategory,
|
||||
last:50,
|
||||
states:[OPEN],
|
||||
) {
|
||||
nodes {
|
||||
id,
|
||||
number,
|
||||
updatedAt
|
||||
}
|
||||
}
|
||||
}
|
||||
}`;
|
||||
const variables = {
|
||||
owner: context.repo.owner,
|
||||
name: context.repo.repo,
|
||||
supportCategory: "DIC_kwDOH31rQM4CRErR",
|
||||
generalCategory: "DIC_kwDOH31rQM4CRErQ"
|
||||
}
|
||||
const result = await github.graphql(query, variables);
|
||||
const combinedDiscussions = [
|
||||
...result.supportDiscussions.discussions.nodes,
|
||||
...result.generalDiscussions.discussions.nodes,
|
||||
]
|
||||
|
||||
console.log(`Checking ${combinedDiscussions.length} open discussions`);
|
||||
|
||||
for (const discussion of combinedDiscussions) {
|
||||
if (new Date(discussion.updatedAt) < cutoff) {
|
||||
console.log(`Closing outdated discussion #${discussion.number} (${discussion.id}), last updated at ${discussion.updatedAt}`);
|
||||
const addCommentMutation = `mutation($discussion:ID!, $body:String!) {
|
||||
addDiscussionComment(input:{discussionId:$discussion, body:$body}) {
|
||||
clientMutationId
|
||||
}
|
||||
}`;
|
||||
const commentVariables = {
|
||||
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-repository-maintenance) for more details.',
|
||||
}
|
||||
await github.graphql(addCommentMutation, commentVariables);
|
||||
|
||||
const closeDiscussionMutation = `mutation($discussion:ID!, $reason:DiscussionCloseReason!) {
|
||||
closeDiscussion(input:{discussionId:$discussion, reason:$reason}) {
|
||||
clientMutationId
|
||||
}
|
||||
}`;
|
||||
const closeVariables = {
|
||||
discussion: discussion.id,
|
||||
reason: "OUTDATED",
|
||||
}
|
||||
await github.graphql(closeDiscussionMutation, closeVariables);
|
||||
|
||||
await sleep(1000);
|
||||
}
|
||||
}
|
||||
close-unsupported-feature-requests:
|
||||
name: 'Close Unsupported Feature Requests'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/github-script@v7
|
||||
with:
|
||||
script: |
|
||||
function sleep(ms) {
|
||||
return new Promise(resolve => setTimeout(resolve, ms));
|
||||
}
|
||||
|
||||
const CUTOFF_1_DAYS = 180;
|
||||
const CUTOFF_1_COUNT = 5;
|
||||
const CUTOFF_2_DAYS = 365;
|
||||
const CUTOFF_2_COUNT = 10;
|
||||
|
||||
const cutoff1Date = new Date();
|
||||
cutoff1Date.setDate(cutoff1Date.getDate() - CUTOFF_1_DAYS);
|
||||
const cutoff2Date = new Date();
|
||||
cutoff2Date.setDate(cutoff2Date.getDate() - CUTOFF_2_DAYS);
|
||||
|
||||
const query = `query(
|
||||
$owner:String!,
|
||||
$name:String!,
|
||||
$featureRequestsCategory:ID!,
|
||||
) {
|
||||
repository(owner:$owner, name:$name){
|
||||
discussions(
|
||||
categoryId:$featureRequestsCategory,
|
||||
last:100,
|
||||
states:[OPEN],
|
||||
) {
|
||||
nodes {
|
||||
id,
|
||||
number,
|
||||
updatedAt,
|
||||
upvoteCount,
|
||||
}
|
||||
},
|
||||
}
|
||||
}`;
|
||||
const variables = {
|
||||
owner: context.repo.owner,
|
||||
name: context.repo.repo,
|
||||
featureRequestsCategory: "DIC_kwDOH31rQM4CRErS"
|
||||
}
|
||||
const result = await github.graphql(query, variables);
|
||||
|
||||
for (const discussion of result.repository.discussions.nodes) {
|
||||
const discussionDate = new Date(discussion.updatedAt);
|
||||
if ((discussionDate < cutoff1Date && discussion.upvoteCount < CUTOFF_1_COUNT) ||
|
||||
(discussionDate < cutoff2Date && discussion.upvoteCount < CUTOFF_2_COUNT)) {
|
||||
console.log(`Closing discussion #${discussion.number} (${discussion.id}), last updated at ${discussion.updatedAt} with votes ${discussion.upvoteCount}`);
|
||||
const addCommentMutation = `mutation($discussion:ID!, $body:String!) {
|
||||
addDiscussionComment(input:{discussionId:$discussion, body:$body}) {
|
||||
clientMutationId
|
||||
}
|
||||
}`;
|
||||
const commentVariables = {
|
||||
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-repository-maintenance) for more details.',
|
||||
}
|
||||
await github.graphql(addCommentMutation, commentVariables);
|
||||
|
||||
const closeDiscussionMutation = `mutation($discussion:ID!, $reason:DiscussionCloseReason!) {
|
||||
closeDiscussion(input:{discussionId:$discussion, reason:$reason}) {
|
||||
clientMutationId
|
||||
}
|
||||
}`;
|
||||
const closeVariables = {
|
||||
discussion: discussion.id,
|
||||
reason: "OUTDATED",
|
||||
}
|
||||
await github.graphql(closeDiscussionMutation, closeVariables);
|
||||
|
||||
await sleep(1000);
|
||||
}
|
||||
}
|
||||
@@ -16,9 +16,9 @@ We use github to host code, to track issues and feature requests, as well as acc
|
||||
|
||||
In short, when you submit code changes, your submissions are understood to be under the same [GNU General Public License v3.0](https://choosealicense.com/licenses/gpl-3.0/) that covers the project. Feel free to contact the maintainers if that's a concern.
|
||||
|
||||
## Report bugs using Github's [issues](https://github.com/gethomepage/homepage/issues)
|
||||
## Report bugs using Github [discussions](https://github.com/gethomepage/homepage/discussions)
|
||||
|
||||
We use GitHub issues to track public bugs. Report a bug by [opening a new issue](https://github.com/gethomepage/homepage/issues/new); 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
|
||||
|
||||
@@ -51,3 +51,17 @@ By contributing, you agree that your contributions will be licensed under its GN
|
||||
## 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)
|
||||
|
||||
# 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:
|
||||
|
||||
- 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 in the 'General' or 'Support' categories will be closed after 180 days of inactivity.
|
||||
- Feature requests that do not meet the following thresholds will be closed: 5 "up-votes" after 180 days of inactivity or 10 "up-votes" after 365 days.
|
||||
|
||||
In all cases, threads can be re-opened by project maintainers and, of course, users can always create a new discussion for related concerns.
|
||||
Finally, remember that all information remains searchable and 'closed' feature requests can still serve as inspiration for new features.
|
||||
|
||||
Thank you all for your contributions.
|
||||
|
||||
@@ -164,8 +164,6 @@ mkdocs serve # or build, to build the static site
|
||||
|
||||
If you have any questions, suggestions, or general issues, please start a discussion on the [Discussions](https://github.com/gethomepage/homepage/discussions) page.
|
||||
|
||||
For bug reports, please open an issue on the [Issues](https://github.com/gethomepage/homepage/issues) page.
|
||||
|
||||
## Contributing & Contributors
|
||||
|
||||
Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information.
|
||||
|
||||
@@ -101,7 +101,7 @@ To use a local icon, first create a Docker mount to `/app/public/icons` and then
|
||||
|
||||
## Ping
|
||||
|
||||
Services may have an optional `ping` property that allows you to monitor the availability of an external host. As of v0.8.0, the ping feature attempts to use a true (ICMP) ping command on the underlying host.
|
||||
Services may have an optional `ping` property that allows you to monitor the availability of an external host. As of v0.8.0, the ping feature attempts to use a true (ICMP) ping command on the underlying host. Currently, only IPv4 is supported.
|
||||
|
||||
```yaml
|
||||
- Group A:
|
||||
|
||||
@@ -229,6 +229,26 @@ disableCollapse: true
|
||||
|
||||
By default the feature is enabled.
|
||||
|
||||
### Initially collapsed sections
|
||||
|
||||
You can initially collapse sections by adding the `initiallyCollapsed` option to the layout group.
|
||||
|
||||
```yaml
|
||||
layout:
|
||||
Section A:
|
||||
initiallyCollapsed: true
|
||||
```
|
||||
|
||||
This can also be set globaly using the `groupsInitiallyCollapsed` option.
|
||||
|
||||
```yaml
|
||||
groupsInitiallyCollapsed: true
|
||||
```
|
||||
|
||||
The value set on a group will overwrite the global setting.
|
||||
|
||||
By default the feature is disabled.
|
||||
|
||||
### Use Equal Height Cards
|
||||
|
||||
You can enable equal height cards for groups of services, this will make all cards in a row the same height.
|
||||
@@ -359,12 +379,14 @@ 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.
|
||||
- `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.
|
||||
- `hideVisitURL`: disable detecting and offering an option to open URLs. This is false by default, enabling the feature.
|
||||
|
||||
```yaml
|
||||
quicklaunch:
|
||||
searchDescriptions: true
|
||||
hideInternetSearch: true
|
||||
showSearchSuggestions: true
|
||||
hideVisitURL: true
|
||||
```
|
||||
|
||||
@@ -384,6 +406,8 @@ By default the homepage logfile is written to the a `logs` subdirectory of the `
|
||||
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
|
||||
|
||||
You can show all docker stats expanded in `settings.yaml`:
|
||||
|
||||
@@ -51,6 +51,7 @@ To ensure cohesiveness of various widgets, the following should be used as a gui
|
||||
|
||||
- Please only submit widgets that have been requested and have at least 10 'up-votes'. The purpose of this requirement is to avoid the addition (and maintenance) of service widgets that might only benefit a small number of users.
|
||||
- Widgets should be only one row of blocks
|
||||
- Widgets should be no more than 4 blocks wide
|
||||
- Widgets should be no more than 4 blocks wide and generally conform to the styling / design choices of other widgets
|
||||
- Minimize the number of API calls
|
||||
- Avoid the use of custom proxy unless absolutely necessary
|
||||
- Widgets should be 'read-only', as in they should not make write changes using the relevant tool's API. Homepage widgets are designed to surface information, not to be a (usually worse) replacement for the tool itself.
|
||||
|
||||
@@ -8,7 +8,7 @@ hide:
|
||||
|
||||
## Introducing the Homepage AI Bot
|
||||
|
||||
Thanks to the generous folks at [Glime](https://glimelab.ai), Homepage is now equipped with a pretty helpful AI-powered bot. The bot has full knowledge of our docs, GitHub issues and discussions and great at answering specific questions about setting up your Homepage. To use the bot, just hit the 'Ask AI' button on any page in our docs or check out the [#ai-support channel on Discord](https://discord.com/channels/1019316731635834932/1177885603552038993)!
|
||||
Thanks to the generous folks at [Glime](https://glimelab.ai), Homepage is now equipped with a pretty clever AI-powered bot. The bot has full knowledge of our docs, GitHub issues and discussions and is great at answering specific questions about setting up your Homepage. To use the bot, just hit the 'Ask AI' button on any page in our docs, [open a GitHub discussion](https://github.com/gethomepage/homepage/discussions) or check out the [#ai-support channel on Discord](https://discord.com/channels/1019316731635834932/1177885603552038993)!
|
||||
|
||||
## General Troubleshooting Tips
|
||||
|
||||
|
||||
@@ -17,6 +17,7 @@ The Glances widget allows you to monitor the resources (CPU, memory, storage, te
|
||||
cputemp: true # disabled by default
|
||||
uptime: true # disabled by default
|
||||
disk: / # disabled by default, use mount point of disk(s) in glances. Can also be a list (see below)
|
||||
diskUnits: bytes # optional, bytes (default) or bbytes. Only applies to disk
|
||||
expanded: true # show the expanded view
|
||||
label: MyMachine # optional
|
||||
```
|
||||
|
||||
@@ -13,6 +13,8 @@ No registration is required at all! See [https://open-meteo.com/en/docs](https:/
|
||||
timezone: Europe/Kiev # optional
|
||||
units: metric # or imperial
|
||||
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).
|
||||
|
||||
@@ -14,6 +14,8 @@ The free tier "One Call API" is all that's required, you will need to [subscribe
|
||||
provider: openweathermap
|
||||
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
|
||||
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).
|
||||
|
||||
@@ -22,6 +22,7 @@ _Note: unfortunately, the package used for getting CPU temp ([systeminformation]
|
||||
uptime: true
|
||||
units: imperial # only used by cpu temp
|
||||
refresh: 3000 # optional, in ms
|
||||
diskUnits: bytes # optional, bytes (default) or bbytes. Only applies to disk
|
||||
```
|
||||
|
||||
You can also pass a `label` option, which allows you to group resources under named sections,
|
||||
|
||||
@@ -9,6 +9,7 @@ You can add a search bar to your top widget area that can search using Google, D
|
||||
- search:
|
||||
provider: google # google, duckduckgo, bing, baidu, brave or custom
|
||||
focus: true # Optional, will set focus to the search bar on page load
|
||||
showSearchSuggestions: true # Optional, will show search suggestions. Defaults to false
|
||||
target: _blank # One of _self, _blank, _parent or _top
|
||||
```
|
||||
|
||||
@@ -17,8 +18,10 @@ or for a custom search:
|
||||
```yaml
|
||||
- search:
|
||||
provider: custom
|
||||
url: https://lougle.com/?q=
|
||||
url: https://www.ecosia.org/search?q=
|
||||
target: _blank
|
||||
suggestionUrl: https://ac.ecosia.org/autocomplete?type=list&q= # Optional
|
||||
showSearchSuggestions: true # Optional
|
||||
```
|
||||
|
||||
multiple providers is also supported via a dropdown (excluding custom):
|
||||
@@ -28,4 +31,25 @@ multiple providers is also supported via a dropdown (excluding custom):
|
||||
provider: [brave, google, duckduckgo]
|
||||
```
|
||||
|
||||
The response body for the URL provided with the `suggestionUrl` option should look like this:
|
||||
|
||||
```json
|
||||
[
|
||||
"home",
|
||||
[
|
||||
"home depot",
|
||||
"home depot near me",
|
||||
"home equity loan",
|
||||
"homeworkify",
|
||||
"homedepot.com",
|
||||
"homebase login",
|
||||
"home depot credit card",
|
||||
"home goods"
|
||||
]
|
||||
]
|
||||
```
|
||||
|
||||
The first entry of the array contains the search query, the second one is an array of the suggestions.
|
||||
In the example above, the search query was **home**.
|
||||
|
||||
_Added in v0.1.6, updated in 0.6.0_
|
||||
|
||||
@@ -15,6 +15,8 @@ The free tier is all that's required, you will need to [register](https://www.we
|
||||
units: metric # or imperial
|
||||
apiKey: yourweatherapikey
|
||||
cache: 5 # Time in minutes to cache API responses, to stay within limits
|
||||
format: # optional, Intl.NumberFormat options
|
||||
maximumFractionDigits: 1
|
||||
```
|
||||
|
||||
You can optionally not pass a `latitude` and `longitude` and the widget will use your current location (requires a secure context, eg. HTTPS).
|
||||
|
||||
@@ -16,6 +16,8 @@ widget:
|
||||
password: password # auth - optional
|
||||
method: GET # optional, e.g. POST
|
||||
headers: # optional, must be object, see below
|
||||
requestBody: # optional, can be string or object, see below
|
||||
display: # optional, default to block, see below
|
||||
mappings:
|
||||
- field: key # needs to be YAML string or object
|
||||
label: Field 1
|
||||
@@ -43,6 +45,15 @@ widget:
|
||||
locale: nl # optional
|
||||
style: short # optional - defaults to "long". Allowed values: `["long", "short", "narrow"]`.
|
||||
numeric: auto # optional - defaults to "always". Allowed values `["always", "auto"]`.
|
||||
- field: key
|
||||
label: Field 6
|
||||
format: text
|
||||
additionalField: # optional
|
||||
field:
|
||||
hourly:
|
||||
time: other key
|
||||
color: theme # optional - defaults to "". Allowed values: `["theme", "adaptive", "black", "white"]`.
|
||||
format: date # optional
|
||||
```
|
||||
|
||||
Supported formats for the values are `text`, `number`, `float`, `percent`, `bytes`, `bitrate`, `date` and `relativeDate`.
|
||||
@@ -93,7 +104,7 @@ mappings:
|
||||
|
||||
## Data Transformation
|
||||
|
||||
You can manipulate data with the following tools `remap`, `scale` and `suffix`, for example:
|
||||
You can manipulate data with the following tools `remap`, `scale`, `prefix` and `suffix`, for example:
|
||||
|
||||
```yaml
|
||||
- field: key4
|
||||
@@ -110,7 +121,42 @@ You can manipulate data with the following tools `remap`, `scale` and `suffix`,
|
||||
label: Power
|
||||
format: float
|
||||
scale: 0.001 # can be number or string e.g. 1/16
|
||||
suffix: kW
|
||||
suffix: "kW"
|
||||
- field: key6
|
||||
label: Price
|
||||
format: float
|
||||
prefix: "$"
|
||||
```
|
||||
|
||||
## List View
|
||||
|
||||
You can change the default block view to a list view by setting the `display` option to `list`.
|
||||
|
||||
The list view can optionally display an additional field next to the primary field.
|
||||
|
||||
`additionalField`: Similar to `field`, but only used in list view. Displays additional information for the mapping object on the right.
|
||||
|
||||
`field`: Defined the same way as other custom api widget fields.
|
||||
|
||||
`color`: Allowed options: `"theme", "adaptive", "black", "white"`. The option `adaptive` will apply a color using the value of the `additionalField`, green for positive numbers, red for negative numbers.
|
||||
|
||||
```yaml
|
||||
- field: key
|
||||
label: Field
|
||||
format: text
|
||||
remap:
|
||||
- value: 0
|
||||
to: None
|
||||
- value: 1
|
||||
to: Connected
|
||||
- any: true # will map all other values
|
||||
to: Unknown
|
||||
additionalField:
|
||||
field:
|
||||
hourly:
|
||||
time: key
|
||||
color: theme
|
||||
format: date
|
||||
```
|
||||
|
||||
## Custom Headers
|
||||
@@ -121,3 +167,16 @@ Pass custom headers using the `headers` option, for example:
|
||||
headers:
|
||||
X-API-Token: token
|
||||
```
|
||||
|
||||
## Custom Request Body
|
||||
|
||||
Pass custom request body using the `requestBody` option in either a string or object format. Objects will automatically be converted to a JSON string.
|
||||
|
||||
```yaml
|
||||
requestBody:
|
||||
foo: bar
|
||||
# or
|
||||
requestBody: "{\"foo\":\"bar\"}"
|
||||
```
|
||||
|
||||
Both formats result in `{"foo":"bar"}` being sent as the request body. Don't forget to set your `Content-Type` headers!
|
||||
|
||||
16
docs/widgets/services/esphome.md
Normal file
16
docs/widgets/services/esphome.md
Normal file
@@ -0,0 +1,16 @@
|
||||
---
|
||||
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", "unknown"]`.
|
||||
|
||||
```yaml
|
||||
widget:
|
||||
type: esphome
|
||||
url: http://esphome.host.or.ip:port
|
||||
```
|
||||
17
docs/widgets/services/gitea.md
Normal file
17
docs/widgets/services/gitea.md
Normal file
@@ -0,0 +1,17 @@
|
||||
---
|
||||
title: Gitea
|
||||
description: Gitea Widget Configuration
|
||||
---
|
||||
|
||||
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.
|
||||
|
||||
Allowed fields: ["notifications", "issues", "pulls"]
|
||||
|
||||
```yaml
|
||||
widget:
|
||||
type: gitea
|
||||
url: http://gitea.host.or.ip:port
|
||||
key: giteaapitoken
|
||||
```
|
||||
@@ -18,6 +18,7 @@ widget:
|
||||
username: user # optional if auth enabled in Glances
|
||||
password: pass # optional if auth enabled in Glances
|
||||
metric: cpu
|
||||
diskUnits: bytes # optional, bytes (default) or bbytes. Only applies to disk
|
||||
```
|
||||
|
||||
_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:_
|
||||
|
||||
@@ -3,7 +3,7 @@ title: Gluetun
|
||||
description: Gluetun Widget Configuration
|
||||
---
|
||||
|
||||
Learn more about [Glueton](https://github.com/qdm12/gluetun).
|
||||
Learn more about [Gluetun](https://github.com/qdm12/gluetun).
|
||||
|
||||
!!! note
|
||||
|
||||
|
||||
@@ -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
|
||||
- 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}"`
|
||||
- `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
|
||||
|
||||
```yaml
|
||||
|
||||
23
docs/widgets/services/homebox.md
Normal file
23
docs/widgets/services/homebox.md
Normal 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
|
||||
```
|
||||
@@ -13,4 +13,5 @@ Allowed fields: `["configured", "errored"]`.
|
||||
widget:
|
||||
type: jackett
|
||||
url: http://jackett.host.or.ip
|
||||
key: jackettapikey
|
||||
```
|
||||
|
||||
@@ -5,7 +5,7 @@ description: Kavita Widget Configuration
|
||||
|
||||
Learn more about [Kavita](https://github.com/Kareadita/Kavita).
|
||||
|
||||
Uses the same username and password used to login from the web.
|
||||
Uses the same admin role username and password used to login from the web.
|
||||
|
||||
Allowed fields: `["seriesCount", "totalFiles"]`.
|
||||
|
||||
|
||||
@@ -12,3 +12,12 @@ widget:
|
||||
type: moonraker
|
||||
url: http://moonraker.host.or.ip:port
|
||||
```
|
||||
|
||||
If your moonraker instance has an active authorization and your homepage ip isn't whitelisted you need to add your api key ([Authorization Documentation](https://moonraker.readthedocs.io/en/latest/web_api/#authorization)).
|
||||
|
||||
```yaml
|
||||
widget:
|
||||
type: moonraker
|
||||
url: http://moonraker.host.or.ip:port
|
||||
key: api_keymoonraker
|
||||
```
|
||||
|
||||
60
docs/widgets/services/openwrt.md
Normal file
60
docs/widgets/services/openwrt.md
Normal file
@@ -0,0 +1,60 @@
|
||||
---
|
||||
title: OpenWRT
|
||||
description: OpenWRT widget configuration
|
||||
---
|
||||
|
||||
Learn more about [OpenWRT](https://openwrt.org/).
|
||||
|
||||
Provides information from OpenWRT
|
||||
|
||||
```yaml
|
||||
widget:
|
||||
type: openwrt
|
||||
url: http://host.or.ip
|
||||
username: homepage
|
||||
password: pass
|
||||
interfaceName: eth0 # optional
|
||||
```
|
||||
|
||||
## Interface
|
||||
|
||||
Setting `interfaceName` (e.g. eth0) will display information for that particular device, otherwise the widget will display general system info.
|
||||
|
||||
## Authorization
|
||||
|
||||
In order for homepage to access the OpenWRT RPC endpoints you will need to [create an ACL](https://openwrt.org/docs/techref/ubus#acls) and [new user](https://openwrt.org/docs/techref/ubus#authentication) in OpenWRT.
|
||||
|
||||
Create an ACL named `homepage.json` in `/usr/share/rpcd/acl.d/`, the following permissions will suffice:
|
||||
|
||||
```json
|
||||
{
|
||||
"homepage": {
|
||||
"description": "Homepage widget",
|
||||
"read": {
|
||||
"ubus": {
|
||||
"network.interface.wan": ["status"],
|
||||
"network.interface.lan": ["status"],
|
||||
"network.device": ["status"],
|
||||
"system": ["info"]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Create a `crypt(5)` password hash using the following command in the OpenWRT shell:
|
||||
|
||||
```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 password '<hashedpassword>'
|
||||
list read homepage
|
||||
```
|
||||
|
||||
This username and password will be used in Homepage's services.yaml to grant access.
|
||||
@@ -3,9 +3,9 @@ title: PiAlert
|
||||
description: PiAlert Widget Configuration
|
||||
---
|
||||
|
||||
Learn more about [PiAlert](https://github.com/pucherot/Pi.Alert).
|
||||
Learn more about [PiAlert](https://github.com/jokob-sk/Pi.Alert).
|
||||
|
||||
Widget for [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"]`.
|
||||
|
||||
|
||||
@@ -9,6 +9,8 @@ As of v2022.12 [PiHole requires the use of an API key](https://pi-hole.net/blog/
|
||||
|
||||
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
|
||||
widget:
|
||||
type: pihole
|
||||
@@ -16,4 +18,4 @@ widget:
|
||||
key: yourpiholeapikey # optional
|
||||
```
|
||||
|
||||
_Added in v0.1.0, updated in v0.6.18_
|
||||
_Added in v0.1.0, updated in v0.8.9_
|
||||
|
||||
17
docs/widgets/services/plantit.md
Normal file
17
docs/widgets/services/plantit.md
Normal file
@@ -0,0 +1,17 @@
|
||||
---
|
||||
title: Plant-it
|
||||
description: Plant-it Widget Configuration
|
||||
---
|
||||
|
||||
Learn more about [Plantit](https://github.com/MDeLuise/plant-it).
|
||||
|
||||
API key can be created from the REST API.
|
||||
|
||||
Allowed fields: `["events", "plants", "photos", "species"]`.
|
||||
|
||||
```yaml
|
||||
widget:
|
||||
type: plantit
|
||||
url: http://plant-it.host.or.ip:port # api port
|
||||
key: plantit-api-key
|
||||
```
|
||||
20
docs/widgets/services/stash.md
Normal file
20
docs/widgets/services/stash.md
Normal 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
|
||||
```
|
||||
15
docs/widgets/services/tandoor.md
Normal file
15
docs/widgets/services/tandoor.md
Normal 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
|
||||
```
|
||||
@@ -9,6 +9,8 @@ Allowed fields: `["load", "uptime", "alerts"]`.
|
||||
|
||||
To create an API Key, follow [the official TrueNAS documentation](https://www.truenas.com/docs/scale/scaletutorials/toptoolbar/managingapikeys/).
|
||||
|
||||
A detailed pool listing is disabled by default, but can be enabled with the `enablePools` option.
|
||||
|
||||
```yaml
|
||||
widget:
|
||||
type: truenas
|
||||
@@ -16,4 +18,5 @@ widget:
|
||||
username: user # not required if using api key
|
||||
password: pass # not required if using api key
|
||||
key: yourtruenasapikey # not required if using username / password
|
||||
enablePools: true # optional, defaults to false
|
||||
```
|
||||
|
||||
@@ -11,7 +11,9 @@ You can display general connectivity status from your Unifi (Network) Controller
|
||||
|
||||
An optional 'site' parameter can be supplied, if it is not the widget will use the default site for the controller.
|
||||
|
||||
Allowed fields: `["uptime", "wan", "lan_users", "wlan_users"]`.
|
||||
Allowed fields: `["uptime", "wan", "lan", "lan_users", "lan_devices", "wlan", "wlan_users", "wlan_devices"]` (maximum of four).
|
||||
|
||||
Note that fields unsupported by the unifi device will not be shown.
|
||||
|
||||
```yaml
|
||||
widget:
|
||||
|
||||
@@ -49,6 +49,7 @@ nav:
|
||||
- widgets/services/diskstation.md
|
||||
- widgets/services/downloadstation.md
|
||||
- widgets/services/emby.md
|
||||
- widgets/services/esphome.md
|
||||
- widgets/services/evcc.md
|
||||
- widgets/services/fileflows.md
|
||||
- widgets/services/flood.md
|
||||
@@ -57,6 +58,7 @@ nav:
|
||||
- widgets/services/gamedig.md
|
||||
- widgets/services/gatus.md
|
||||
- widgets/services/ghostfolio.md
|
||||
- widgets/services/gitea.md
|
||||
- widgets/services/glances.md
|
||||
- widgets/services/gluetun.md
|
||||
- widgets/services/gotify.md
|
||||
@@ -64,6 +66,7 @@ nav:
|
||||
- widgets/services/hdhomerun.md
|
||||
- widgets/services/healthchecks.md
|
||||
- widgets/services/homeassistant.md
|
||||
- widgets/services/homebox.md
|
||||
- widgets/services/homebridge.md
|
||||
- widgets/services/iframe.md
|
||||
- widgets/services/immich.md
|
||||
@@ -103,6 +106,7 @@ nav:
|
||||
- widgets/services/photoprism.md
|
||||
- widgets/services/pialert.md
|
||||
- widgets/services/pihole.md
|
||||
- widgets/services/plantit.md
|
||||
- widgets/services/plex-tautulli.md
|
||||
- widgets/services/plex.md
|
||||
- widgets/services/portainer.md
|
||||
@@ -122,6 +126,7 @@ nav:
|
||||
- widgets/services/scrutiny.md
|
||||
- widgets/services/sonarr.md
|
||||
- widgets/services/speedtest-tracker.md
|
||||
- widgets/services/stash.md
|
||||
- widgets/services/syncthing-relay-server.md
|
||||
- widgets/services/tailscale.md
|
||||
- widgets/services/tdarr.md
|
||||
|
||||
2489
package-lock.json
generated
2489
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
60
package.json
60
package.json
@@ -10,55 +10,55 @@
|
||||
"telemetry": "next telemetry disable"
|
||||
},
|
||||
"dependencies": {
|
||||
"@headlessui/react": "^1.7.2",
|
||||
"@headlessui/react": "^1.7.18",
|
||||
"@kubernetes/client-node": "^0.17.1",
|
||||
"cal-parser": "^1.0.2",
|
||||
"classnames": "^2.3.2",
|
||||
"compare-versions": "^5.0.1",
|
||||
"dockerode": "^3.3.4",
|
||||
"follow-redirects": "^1.15.2",
|
||||
"gamedig": "^4.3.0",
|
||||
"i18next": "^21.9.2",
|
||||
"classnames": "^2.5.1",
|
||||
"compare-versions": "^6.1.0",
|
||||
"dockerode": "^4.0.2",
|
||||
"follow-redirects": "^1.15.5",
|
||||
"gamedig": "^4.3.1",
|
||||
"i18next": "^21.10.0",
|
||||
"js-yaml": "^4.1.0",
|
||||
"json-rpc-2.0": "^1.4.1",
|
||||
"luxon": "^3.4.3",
|
||||
"json-rpc-2.0": "^1.7.0",
|
||||
"luxon": "^3.4.4",
|
||||
"memory-cache": "^0.2.0",
|
||||
"minecraft-ping-js": "^1.0.2",
|
||||
"next": "^12.3.1",
|
||||
"next-i18next": "^12.0.1",
|
||||
"next": "^12.3.4",
|
||||
"next-i18next": "^12.1.0",
|
||||
"ping": "^0.4.4",
|
||||
"pretty-bytes": "^6.0.0",
|
||||
"raw-body": "^2.5.1",
|
||||
"pretty-bytes": "^6.1.1",
|
||||
"raw-body": "^2.5.2",
|
||||
"react": "^18.2.0",
|
||||
"react-dom": "^18.2.0",
|
||||
"react-i18next": "^11.18.6",
|
||||
"react-icons": "^4.12.0",
|
||||
"recharts": "^2.7.2",
|
||||
"recharts": "^2.12.2",
|
||||
"rrule": "^2.8.1",
|
||||
"swr": "^1.3.0",
|
||||
"systeminformation": "^5.17.12",
|
||||
"tough-cookie": "^4.1.2",
|
||||
"systeminformation": "^5.22.0",
|
||||
"tough-cookie": "^4.1.3",
|
||||
"urbackup-server-api": "^0.8.9",
|
||||
"winston": "^3.8.2",
|
||||
"winston": "^3.11.0",
|
||||
"xml-js": "^1.6.11"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@tailwindcss/forms": "^0.5.3",
|
||||
"autoprefixer": "^10.4.12",
|
||||
"eslint": "^8.24.0",
|
||||
"@tailwindcss/forms": "^0.5.7",
|
||||
"autoprefixer": "^10.4.17",
|
||||
"eslint": "^8.57.0",
|
||||
"eslint-config-airbnb": "^19.0.4",
|
||||
"eslint-config-next": "^12.3.1",
|
||||
"eslint-config-prettier": "^9.0.0",
|
||||
"eslint-plugin-import": "^2.26.0",
|
||||
"eslint-plugin-jsx-a11y": "^6.6.1",
|
||||
"eslint-config-next": "^12.3.4",
|
||||
"eslint-config-prettier": "^9.1.0",
|
||||
"eslint-plugin-import": "^2.29.1",
|
||||
"eslint-plugin-jsx-a11y": "^6.8.0",
|
||||
"eslint-plugin-prettier": "^4.2.1",
|
||||
"eslint-plugin-react": "^7.31.8",
|
||||
"eslint-plugin-react": "^7.33.2",
|
||||
"eslint-plugin-react-hooks": "^4.6.0",
|
||||
"postcss": "^8.4.16",
|
||||
"prettier": "^3.0.3",
|
||||
"tailwind-scrollbar": "^2.0.1",
|
||||
"tailwindcss": "^3.1.8",
|
||||
"typescript": "^4.8.3"
|
||||
"postcss": "^8.4.35",
|
||||
"prettier": "^3.2.5",
|
||||
"tailwind-scrollbar": "^3.0.5",
|
||||
"tailwindcss": "^3.4.1",
|
||||
"typescript": "^4.9.5"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"osx-temperature-sensor": "^1.0.8"
|
||||
|
||||
2013
pnpm-lock.yaml
generated
2013
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
@@ -107,6 +107,12 @@
|
||||
"episodes": "Episodes",
|
||||
"songs": "Liedjies"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "Vanlyn",
|
||||
"online": "Aanlyn",
|
||||
"total": "Totaal",
|
||||
"unknown": "Onbekend"
|
||||
},
|
||||
"evcc": {
|
||||
"pv_power": "Produksie",
|
||||
"battery_soc": "Battery",
|
||||
@@ -419,7 +425,8 @@
|
||||
"search": "Soek",
|
||||
"custom": "Pasgemaak",
|
||||
"visit": "Besoek",
|
||||
"url": "URL"
|
||||
"url": "URL",
|
||||
"searchsuggestion": "Voorstelling"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "Sonnig",
|
||||
@@ -535,7 +542,15 @@
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Kanale",
|
||||
"hd": "HD"
|
||||
"hd": "HD",
|
||||
"tunerCount": "Tuners",
|
||||
"channelNumber": "Kanaal",
|
||||
"channelNetwork": "Netwerk",
|
||||
"signalStrength": "Sterkte",
|
||||
"signalQuality": "Kwaliteit",
|
||||
"symbolQuality": "Kwaliteit",
|
||||
"networkRate": "Bistempo",
|
||||
"clientIP": "Kliënt"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Geslaag",
|
||||
@@ -694,6 +709,11 @@
|
||||
"targets_down": "Teikens Af",
|
||||
"targets_total": "Totale Teikens"
|
||||
},
|
||||
"gatus": {
|
||||
"up": "Werwe Op",
|
||||
"down": "Werwe Af",
|
||||
"uptime": "Optyd"
|
||||
},
|
||||
"ghostfolio": {
|
||||
"gross_percent_today": "Vandag",
|
||||
"gross_percent_1y": "Een jaar",
|
||||
@@ -775,6 +795,14 @@
|
||||
"passed": "Geslaag",
|
||||
"failed": "Misluk"
|
||||
},
|
||||
"openwrt": {
|
||||
"uptime": "Optyd",
|
||||
"cpuLoad": "SVE-lading gemiddelde (5m)",
|
||||
"up": "Op",
|
||||
"down": "Af",
|
||||
"bytesTx": "Oorgedra",
|
||||
"bytesRx": "Ontvang"
|
||||
},
|
||||
"uptimerobot": {
|
||||
"status": "Status",
|
||||
"uptime": "Optyd",
|
||||
@@ -797,11 +825,43 @@
|
||||
"noEventsFound": "Geen gebeure gevind nie"
|
||||
},
|
||||
"romm": {
|
||||
"platforms": "Platforms",
|
||||
"totalRoms": "Total ROMs"
|
||||
"platforms": "Platform",
|
||||
"totalRoms": "Totale ROMs"
|
||||
},
|
||||
"netdata": {
|
||||
"warnings": "Warnings",
|
||||
"criticals": "Criticals"
|
||||
"warnings": "Waarskuwings",
|
||||
"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"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -107,6 +107,12 @@
|
||||
"episodes": "حلقات",
|
||||
"songs": "أغاني"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "غير متصل",
|
||||
"online": "مُتّصل",
|
||||
"total": "المجموع",
|
||||
"unknown": "مجهول"
|
||||
},
|
||||
"evcc": {
|
||||
"pv_power": "إنتاج",
|
||||
"battery_soc": "البطارية",
|
||||
@@ -419,7 +425,8 @@
|
||||
"search": "البحث",
|
||||
"custom": "مُخصّص",
|
||||
"visit": "زيارة",
|
||||
"url": "الرابط"
|
||||
"url": "الرابط",
|
||||
"searchsuggestion": "Suggestion"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "مشمس",
|
||||
@@ -535,7 +542,15 @@
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "القنوات",
|
||||
"hd": "جودة HD"
|
||||
"hd": "جودة HD",
|
||||
"tunerCount": "Tuners",
|
||||
"channelNumber": "القناة",
|
||||
"channelNetwork": "الشبكة",
|
||||
"signalStrength": "القوة",
|
||||
"signalQuality": "الجودة",
|
||||
"symbolQuality": "الجودة",
|
||||
"networkRate": "معدل البت",
|
||||
"clientIP": "العميل"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "إجتاز",
|
||||
@@ -694,6 +709,11 @@
|
||||
"targets_down": "الأهداف لا تعمل",
|
||||
"targets_total": "الأهداف الإجمالية"
|
||||
},
|
||||
"gatus": {
|
||||
"up": "المواقع تعمل",
|
||||
"down": "مواقع لا تعمل",
|
||||
"uptime": "مدة التشغيل"
|
||||
},
|
||||
"ghostfolio": {
|
||||
"gross_percent_today": "اليوم",
|
||||
"gross_percent_1y": "سنة",
|
||||
@@ -775,6 +795,14 @@
|
||||
"passed": "إجتاز",
|
||||
"failed": "فشل"
|
||||
},
|
||||
"openwrt": {
|
||||
"uptime": "مدة التشغيل",
|
||||
"cpuLoad": "متوسط حمولة المعالج (5دق)",
|
||||
"up": "يعمل",
|
||||
"down": "لا يعمل",
|
||||
"bytesTx": "مرسلة",
|
||||
"bytesRx": "تم الإستلام"
|
||||
},
|
||||
"uptimerobot": {
|
||||
"status": "الحالة",
|
||||
"uptime": "مدة التشغيل",
|
||||
@@ -797,11 +825,43 @@
|
||||
"noEventsFound": "لم يتم العثور على أحداث"
|
||||
},
|
||||
"romm": {
|
||||
"platforms": "Platforms",
|
||||
"totalRoms": "Total ROMs"
|
||||
"platforms": "المِنصات",
|
||||
"totalRoms": "مجموع الروومات"
|
||||
},
|
||||
"netdata": {
|
||||
"warnings": "Warnings",
|
||||
"criticals": "Criticals"
|
||||
"warnings": "تحذيرات",
|
||||
"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"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -107,6 +107,12 @@
|
||||
"episodes": "Episodes",
|
||||
"songs": "Songs"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "Изключен",
|
||||
"online": "Online",
|
||||
"total": "Общо",
|
||||
"unknown": "Неизв."
|
||||
},
|
||||
"evcc": {
|
||||
"pv_power": "Production",
|
||||
"battery_soc": "Battery",
|
||||
@@ -419,7 +425,8 @@
|
||||
"search": "Търсене",
|
||||
"custom": "Custom",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
"url": "URL",
|
||||
"searchsuggestion": "Suggestion"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "Слънчево",
|
||||
@@ -535,7 +542,15 @@
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Канали",
|
||||
"hd": "HD"
|
||||
"hd": "HD",
|
||||
"tunerCount": "Tuners",
|
||||
"channelNumber": "Channel",
|
||||
"channelNetwork": "Network",
|
||||
"signalStrength": "Strength",
|
||||
"signalQuality": "Quality",
|
||||
"symbolQuality": "Quality",
|
||||
"networkRate": "Bitrate",
|
||||
"clientIP": "Client"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Passed",
|
||||
@@ -694,6 +709,11 @@
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
},
|
||||
"gatus": {
|
||||
"up": "Sites Up",
|
||||
"down": "Sites Down",
|
||||
"uptime": "Uptime"
|
||||
},
|
||||
"ghostfolio": {
|
||||
"gross_percent_today": "Today",
|
||||
"gross_percent_1y": "One year",
|
||||
@@ -775,6 +795,14 @@
|
||||
"passed": "Passed",
|
||||
"failed": "Failed"
|
||||
},
|
||||
"openwrt": {
|
||||
"uptime": "Uptime",
|
||||
"cpuLoad": "CPU Load Avg (5m)",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"bytesTx": "Transmitted",
|
||||
"bytesRx": "Received"
|
||||
},
|
||||
"uptimerobot": {
|
||||
"status": "Статус",
|
||||
"uptime": "Uptime",
|
||||
@@ -803,5 +831,37 @@
|
||||
"netdata": {
|
||||
"warnings": "Warnings",
|
||||
"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"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -107,6 +107,12 @@
|
||||
"episodes": "Episodes",
|
||||
"songs": "Songs"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "Fora de línia",
|
||||
"online": "Online",
|
||||
"total": "Total",
|
||||
"unknown": "Desconegut"
|
||||
},
|
||||
"evcc": {
|
||||
"pv_power": "Production",
|
||||
"battery_soc": "Battery",
|
||||
@@ -419,7 +425,8 @@
|
||||
"search": "Search",
|
||||
"custom": "Custom",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
"url": "URL",
|
||||
"searchsuggestion": "Suggestion"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "Assolellat",
|
||||
@@ -535,7 +542,15 @@
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Canals",
|
||||
"hd": "HD"
|
||||
"hd": "HD",
|
||||
"tunerCount": "Tuners",
|
||||
"channelNumber": "Channel",
|
||||
"channelNetwork": "Network",
|
||||
"signalStrength": "Strength",
|
||||
"signalQuality": "Quality",
|
||||
"symbolQuality": "Quality",
|
||||
"networkRate": "Taxa de bits",
|
||||
"clientIP": "Client"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Aprobat",
|
||||
@@ -694,6 +709,11 @@
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
},
|
||||
"gatus": {
|
||||
"up": "Sites Up",
|
||||
"down": "Sites Down",
|
||||
"uptime": "Temps actiu"
|
||||
},
|
||||
"ghostfolio": {
|
||||
"gross_percent_today": "Today",
|
||||
"gross_percent_1y": "One year",
|
||||
@@ -775,6 +795,14 @@
|
||||
"passed": "Aprobat",
|
||||
"failed": "Error"
|
||||
},
|
||||
"openwrt": {
|
||||
"uptime": "Temps actiu",
|
||||
"cpuLoad": "CPU Load Avg (5m)",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"bytesTx": "Transmitted",
|
||||
"bytesRx": "Received"
|
||||
},
|
||||
"uptimerobot": {
|
||||
"status": "Estat",
|
||||
"uptime": "Temps actiu",
|
||||
@@ -803,5 +831,37 @@
|
||||
"netdata": {
|
||||
"warnings": "Warnings",
|
||||
"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": "Usuaris",
|
||||
"recipes": "Recipes",
|
||||
"keywords": "Keywords"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
"date": "{{value, date}}",
|
||||
"relativeDate": "{{value, relativeDate}}",
|
||||
"uptime": "{{value, uptime}}",
|
||||
"months": "mo",
|
||||
"months": "měs.",
|
||||
"days": "d",
|
||||
"hours": "h",
|
||||
"minutes": "m",
|
||||
@@ -39,7 +39,7 @@
|
||||
"placeholder": "Hledat…"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "Procesor",
|
||||
"cpu": "CPU",
|
||||
"mem": "RAM",
|
||||
"total": "Celkem",
|
||||
"free": "Volné",
|
||||
@@ -70,7 +70,7 @@
|
||||
"rx": "RX",
|
||||
"tx": "TX",
|
||||
"mem": "RAM",
|
||||
"cpu": "Procesor",
|
||||
"cpu": "CPU",
|
||||
"running": "Běží",
|
||||
"offline": "Offline",
|
||||
"error": "Chyba",
|
||||
@@ -87,15 +87,15 @@
|
||||
"ping": "Odezva",
|
||||
"down": "Down",
|
||||
"up": "Up",
|
||||
"not_available": "Not Available"
|
||||
"not_available": "Není k dispozici"
|
||||
},
|
||||
"siteMonitor": {
|
||||
"http_status": "HTTP status",
|
||||
"http_status": "Stav HTTP",
|
||||
"error": "Chyba",
|
||||
"response": "Response",
|
||||
"response": "Odpověď",
|
||||
"down": "Down",
|
||||
"up": "Up",
|
||||
"not_available": "Not Available"
|
||||
"not_available": "Není k dispozici"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "Přehrává",
|
||||
@@ -107,12 +107,18 @@
|
||||
"episodes": "Epizody",
|
||||
"songs": "Skladby"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "Offline",
|
||||
"online": "Online",
|
||||
"total": "Celkem",
|
||||
"unknown": "Neznámý"
|
||||
},
|
||||
"evcc": {
|
||||
"pv_power": "Produkce",
|
||||
"battery_soc": "Battery",
|
||||
"grid_power": "Grid",
|
||||
"home_power": "Consumption",
|
||||
"charge_power": "Charger",
|
||||
"battery_soc": "Baterie",
|
||||
"grid_power": "Mřížka",
|
||||
"home_power": "Spotřeba",
|
||||
"charge_power": "Nabíječka",
|
||||
"watt_hour": "Wh"
|
||||
},
|
||||
"flood": {
|
||||
@@ -127,20 +133,20 @@
|
||||
},
|
||||
"fritzbox": {
|
||||
"connectionStatus": "Stav",
|
||||
"connectionStatusUnconfigured": "Unconfigured",
|
||||
"connectionStatusConnecting": "Connecting",
|
||||
"connectionStatusAuthenticating": "Authenticating",
|
||||
"connectionStatusPendingDisconnect": "Pending Disconnect",
|
||||
"connectionStatusDisconnecting": "Disconnecting",
|
||||
"connectionStatusDisconnected": "Disconnected",
|
||||
"connectionStatusConnected": "Connected",
|
||||
"connectionStatusUnconfigured": "Nenastaveno",
|
||||
"connectionStatusConnecting": "Připojuji",
|
||||
"connectionStatusAuthenticating": "Ověřování",
|
||||
"connectionStatusPendingDisconnect": "Čeká na odpojení",
|
||||
"connectionStatusDisconnecting": "Odpojování",
|
||||
"connectionStatusDisconnected": "Odpojeno",
|
||||
"connectionStatusConnected": "Připojeno",
|
||||
"uptime": "Doba spuštění",
|
||||
"maxDown": "Max. Down",
|
||||
"maxUp": "Max. Up",
|
||||
"down": "Down",
|
||||
"up": "Up",
|
||||
"received": "Received",
|
||||
"sent": "Sent",
|
||||
"received": "Přijaté",
|
||||
"sent": "Odeslané",
|
||||
"externalIPAddress": "Ext. IP"
|
||||
},
|
||||
"caddy": {
|
||||
@@ -163,7 +169,7 @@
|
||||
"transcoding": "Překódovávání",
|
||||
"bitrate": "Přenosová rychlost",
|
||||
"no_active": "Žádný aktivní stream",
|
||||
"plex_connection_error": "Check Plex Connection"
|
||||
"plex_connection_error": "Zkontrolujte připojení Plexu"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Připojené APs",
|
||||
@@ -210,8 +216,8 @@
|
||||
"memUsage": "Využití paměti",
|
||||
"systemTempC": "Teplota systému",
|
||||
"poolUsage": "Využití fondu",
|
||||
"volumeUsage": "Volume Usage",
|
||||
"invalid": "Invalid"
|
||||
"volumeUsage": "Využití svazku",
|
||||
"invalid": "Neplatné"
|
||||
},
|
||||
"deluge": {
|
||||
"download": "Stahování",
|
||||
@@ -243,7 +249,7 @@
|
||||
"lidarr": {
|
||||
"wanted": "Hledané",
|
||||
"queued": "Ve frontě",
|
||||
"artists": "Artists"
|
||||
"artists": "Interpreti"
|
||||
},
|
||||
"readarr": {
|
||||
"wanted": "Hledané",
|
||||
@@ -272,8 +278,8 @@
|
||||
},
|
||||
"pialert": {
|
||||
"total": "Celkem",
|
||||
"connected": "Connected",
|
||||
"new_devices": "New Devices",
|
||||
"connected": "Připojeno",
|
||||
"new_devices": "Nová zařízení",
|
||||
"down_alerts": "Down Alerts"
|
||||
},
|
||||
"pihole": {
|
||||
@@ -389,17 +395,17 @@
|
||||
},
|
||||
"proxmox": {
|
||||
"mem": "RAM",
|
||||
"cpu": "Procesor",
|
||||
"cpu": "CPU",
|
||||
"lxc": "LXC",
|
||||
"vms": "Virtuální Stroje"
|
||||
},
|
||||
"glances": {
|
||||
"cpu": "Procesor",
|
||||
"cpu": "CPU",
|
||||
"load": "Zatížení",
|
||||
"wait": "Počkejte prosím",
|
||||
"temp": "TEPLOTA",
|
||||
"_temp": "Temp",
|
||||
"warn": "Warn",
|
||||
"warn": "Varováni",
|
||||
"uptime": "BĚŽÍ",
|
||||
"total": "Celkem",
|
||||
"free": "Volné",
|
||||
@@ -419,7 +425,8 @@
|
||||
"search": "Hledat",
|
||||
"custom": "Vlastní",
|
||||
"visit": "Navštivte",
|
||||
"url": "Odkaz"
|
||||
"url": "Odkaz",
|
||||
"searchsuggestion": "Suggestion"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "Slunečno",
|
||||
@@ -535,7 +542,15 @@
|
||||
},
|
||||
"hdhomerun": {
|
||||
"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": {
|
||||
"passed": "Úspěšné",
|
||||
@@ -610,7 +625,7 @@
|
||||
"proxmoxbackupserver": {
|
||||
"datastore_usage": "Datové úložiště",
|
||||
"failed_tasks_24h": "Neúspěšné úlohy 24h",
|
||||
"cpu_usage": "Procesor",
|
||||
"cpu_usage": "CPU",
|
||||
"memory_usage": "Paměť"
|
||||
},
|
||||
"immich": {
|
||||
@@ -694,6 +709,11 @@
|
||||
"targets_down": "Cíle vypnuté",
|
||||
"targets_total": "Cíle celkem"
|
||||
},
|
||||
"gatus": {
|
||||
"up": "Stránky Up",
|
||||
"down": "Stránky Down",
|
||||
"uptime": "Doba spuštění"
|
||||
},
|
||||
"ghostfolio": {
|
||||
"gross_percent_today": "Today",
|
||||
"gross_percent_1y": "Jeden rok",
|
||||
@@ -775,6 +795,14 @@
|
||||
"passed": "Úspěšné",
|
||||
"failed": "Selhalo"
|
||||
},
|
||||
"openwrt": {
|
||||
"uptime": "Doba spuštění",
|
||||
"cpuLoad": "CPU Load Avg (5m)",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"bytesTx": "Transmitted",
|
||||
"bytesRx": "Přijaté"
|
||||
},
|
||||
"uptimerobot": {
|
||||
"status": "Stav",
|
||||
"uptime": "Doba spuštění",
|
||||
@@ -803,5 +831,37 @@
|
||||
"netdata": {
|
||||
"warnings": "Warnings",
|
||||
"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"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,9 +14,9 @@
|
||||
"date": "{{value, date}}",
|
||||
"relativeDate": "{{value, relativeDate}}",
|
||||
"uptime": "{{value, uptime}}",
|
||||
"months": "mo",
|
||||
"months": "mnd",
|
||||
"days": "d",
|
||||
"hours": "h",
|
||||
"hours": "t",
|
||||
"minutes": "m",
|
||||
"seconds": "s"
|
||||
},
|
||||
@@ -90,7 +90,7 @@
|
||||
"not_available": "Ikke tilgængelig"
|
||||
},
|
||||
"siteMonitor": {
|
||||
"http_status": "HTTP status",
|
||||
"http_status": "HTTP-status",
|
||||
"error": "Fejl",
|
||||
"response": "Response",
|
||||
"down": "Ned",
|
||||
@@ -107,6 +107,12 @@
|
||||
"episodes": "Episoder",
|
||||
"songs": "Sange"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "Offline",
|
||||
"online": "Online",
|
||||
"total": "Total",
|
||||
"unknown": "Ukendt"
|
||||
},
|
||||
"evcc": {
|
||||
"pv_power": "Produktion",
|
||||
"battery_soc": "Batteri",
|
||||
@@ -139,9 +145,9 @@
|
||||
"maxUp": "Max. Up",
|
||||
"down": "Ned",
|
||||
"up": "Op",
|
||||
"received": "Received",
|
||||
"sent": "Sent",
|
||||
"externalIPAddress": "Ext. IP"
|
||||
"received": "Modtaget",
|
||||
"sent": "Sendt",
|
||||
"externalIPAddress": "Ekstern IP"
|
||||
},
|
||||
"caddy": {
|
||||
"upstreams": "Upstreams",
|
||||
@@ -405,7 +411,7 @@
|
||||
"free": "Fri",
|
||||
"used": "Brugt",
|
||||
"days": "d",
|
||||
"hours": "h",
|
||||
"hours": "t",
|
||||
"crit": "Crit",
|
||||
"read": "Læst",
|
||||
"write": "Skriv",
|
||||
@@ -419,7 +425,8 @@
|
||||
"search": "Søg",
|
||||
"custom": "Brugerdefinerede",
|
||||
"visit": "Besøg",
|
||||
"url": "URL"
|
||||
"url": "URL",
|
||||
"searchsuggestion": "Suggestion"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "Solrig",
|
||||
@@ -535,7 +542,15 @@
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Kanaler",
|
||||
"hd": "HD"
|
||||
"hd": "HD",
|
||||
"tunerCount": "Tuners",
|
||||
"channelNumber": "Channel",
|
||||
"channelNetwork": "Network",
|
||||
"signalStrength": "Strength",
|
||||
"signalQuality": "Quality",
|
||||
"symbolQuality": "Quality",
|
||||
"networkRate": "Bitrate",
|
||||
"clientIP": "Client"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Bestået",
|
||||
@@ -547,12 +562,12 @@
|
||||
"total": "Total"
|
||||
},
|
||||
"peanut": {
|
||||
"battery_charge": "Battery Charge",
|
||||
"battery_charge": "Batteriniveau",
|
||||
"ups_load": "UPS Load",
|
||||
"ups_status": "UPS Status",
|
||||
"online": "Online",
|
||||
"on_battery": "On Battery",
|
||||
"low_battery": "Low Battery"
|
||||
"on_battery": "På batteri",
|
||||
"low_battery": "Lavt batteriniveau"
|
||||
},
|
||||
"nextdns": {
|
||||
"wait": "Vent venligst",
|
||||
@@ -694,6 +709,11 @@
|
||||
"targets_down": "Mål Nede",
|
||||
"targets_total": "Totale Mål"
|
||||
},
|
||||
"gatus": {
|
||||
"up": "Sider Oppe",
|
||||
"down": "Sider Nede",
|
||||
"uptime": "Oppetid"
|
||||
},
|
||||
"ghostfolio": {
|
||||
"gross_percent_today": "I dag",
|
||||
"gross_percent_1y": "Et År",
|
||||
@@ -775,6 +795,14 @@
|
||||
"passed": "Bestået",
|
||||
"failed": "Fejlet"
|
||||
},
|
||||
"openwrt": {
|
||||
"uptime": "Oppetid",
|
||||
"cpuLoad": "CPU Load Avg (5m)",
|
||||
"up": "Op",
|
||||
"down": "Ned",
|
||||
"bytesTx": "Transmitted",
|
||||
"bytesRx": "Modtaget"
|
||||
},
|
||||
"uptimerobot": {
|
||||
"status": "Status",
|
||||
"uptime": "Oppetid",
|
||||
@@ -797,11 +825,43 @@
|
||||
"noEventsFound": "No events found"
|
||||
},
|
||||
"romm": {
|
||||
"platforms": "Platforms",
|
||||
"platforms": "Platforme",
|
||||
"totalRoms": "Total ROMs"
|
||||
},
|
||||
"netdata": {
|
||||
"warnings": "Warnings",
|
||||
"warnings": "Advarsler",
|
||||
"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"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -107,6 +107,12 @@
|
||||
"episodes": "Episoden",
|
||||
"songs": "Songs"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "Offline",
|
||||
"online": "Online",
|
||||
"total": "Gesamt",
|
||||
"unknown": "Unbekannt"
|
||||
},
|
||||
"evcc": {
|
||||
"pv_power": "Erzeugung",
|
||||
"battery_soc": "Batterie",
|
||||
@@ -379,7 +385,7 @@
|
||||
"down": "Offline"
|
||||
},
|
||||
"miniflux": {
|
||||
"read": "Lesen",
|
||||
"read": "Gelesen",
|
||||
"unread": "Ungelesen"
|
||||
},
|
||||
"authentik": {
|
||||
@@ -407,7 +413,7 @@
|
||||
"days": "d",
|
||||
"hours": "h",
|
||||
"crit": "Krit",
|
||||
"read": "Lesen",
|
||||
"read": "Gelesen",
|
||||
"write": "Schreiben",
|
||||
"gpu": "GPU",
|
||||
"mem": "RAM",
|
||||
@@ -419,7 +425,8 @@
|
||||
"search": "Suchen",
|
||||
"custom": "Benutzerdefiniert",
|
||||
"visit": "Besuchen",
|
||||
"url": "URL"
|
||||
"url": "URL",
|
||||
"searchsuggestion": "Vorschlag"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "sonnig",
|
||||
@@ -535,7 +542,15 @@
|
||||
},
|
||||
"hdhomerun": {
|
||||
"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": {
|
||||
"passed": "Bestanden",
|
||||
@@ -694,6 +709,11 @@
|
||||
"targets_down": "Ziele Down",
|
||||
"targets_total": "Alle Ziele"
|
||||
},
|
||||
"gatus": {
|
||||
"up": "Seiten verfügbar",
|
||||
"down": "Seiten nicht verfügbar",
|
||||
"uptime": "Betriebszeit"
|
||||
},
|
||||
"ghostfolio": {
|
||||
"gross_percent_today": "Heute",
|
||||
"gross_percent_1y": "Ein Jahr",
|
||||
@@ -775,6 +795,14 @@
|
||||
"passed": "Bestanden",
|
||||
"failed": "Fehlgeschlagen"
|
||||
},
|
||||
"openwrt": {
|
||||
"uptime": "Betriebszeit",
|
||||
"cpuLoad": "CPU-Last (5 min-Durchschnitt)",
|
||||
"up": "Senden",
|
||||
"down": "Empfangen",
|
||||
"bytesTx": "Übertragen",
|
||||
"bytesRx": "Empfangen"
|
||||
},
|
||||
"uptimerobot": {
|
||||
"status": "Status",
|
||||
"uptime": "Betriebszeit",
|
||||
@@ -797,11 +825,43 @@
|
||||
"noEventsFound": "Keine Termine gefunden"
|
||||
},
|
||||
"romm": {
|
||||
"platforms": "Platforms",
|
||||
"totalRoms": "Total ROMs"
|
||||
"platforms": "Plattformen",
|
||||
"totalRoms": "ROMs gesamt"
|
||||
},
|
||||
"netdata": {
|
||||
"warnings": "Warnungen",
|
||||
"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"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -107,6 +107,12 @@
|
||||
"episodes": "Επεισόδια",
|
||||
"songs": "Τραγούδια"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "Εκτός σύνδεσης",
|
||||
"online": "Συνδεδεμένοι",
|
||||
"total": "Σύνολο",
|
||||
"unknown": "Άγνωστο"
|
||||
},
|
||||
"evcc": {
|
||||
"pv_power": "Παραγωγή",
|
||||
"battery_soc": "Μπαταρία",
|
||||
@@ -419,7 +425,8 @@
|
||||
"search": "Search",
|
||||
"custom": "Custom",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
"url": "URL",
|
||||
"searchsuggestion": "Suggestion"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "Λιακάδα",
|
||||
@@ -535,7 +542,15 @@
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Channels",
|
||||
"hd": "HD"
|
||||
"hd": "HD",
|
||||
"tunerCount": "Tuners",
|
||||
"channelNumber": "Channel",
|
||||
"channelNetwork": "Network",
|
||||
"signalStrength": "Strength",
|
||||
"signalQuality": "Quality",
|
||||
"symbolQuality": "Quality",
|
||||
"networkRate": "Ρυθμός bit",
|
||||
"clientIP": "Client"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Passed",
|
||||
@@ -694,6 +709,11 @@
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
},
|
||||
"gatus": {
|
||||
"up": "Sites Up",
|
||||
"down": "Sites Down",
|
||||
"uptime": "Χρόνος Λειτουργίας"
|
||||
},
|
||||
"ghostfolio": {
|
||||
"gross_percent_today": "Σήμερα",
|
||||
"gross_percent_1y": "One year",
|
||||
@@ -775,6 +795,14 @@
|
||||
"passed": "Passed",
|
||||
"failed": "Failed"
|
||||
},
|
||||
"openwrt": {
|
||||
"uptime": "Χρόνος Λειτουργίας",
|
||||
"cpuLoad": "CPU Load Avg (5m)",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"bytesTx": "Transmitted",
|
||||
"bytesRx": "Received"
|
||||
},
|
||||
"uptimerobot": {
|
||||
"status": "Κατάσταση",
|
||||
"uptime": "Χρόνος Λειτουργίας",
|
||||
@@ -803,5 +831,37 @@
|
||||
"netdata": {
|
||||
"warnings": "Warnings",
|
||||
"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"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -107,6 +107,12 @@
|
||||
"episodes": "Episodes",
|
||||
"songs": "Songs"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "Offline",
|
||||
"online": "Online",
|
||||
"total": "Total",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"evcc": {
|
||||
"pv_power": "Production",
|
||||
"battery_soc": "Battery",
|
||||
@@ -419,7 +425,8 @@
|
||||
"search": "Search",
|
||||
"custom": "Custom",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
"url": "URL",
|
||||
"searchsuggestion": "Suggestion"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "Sunny",
|
||||
@@ -788,6 +795,14 @@
|
||||
"passed": "Passed",
|
||||
"failed": "Failed"
|
||||
},
|
||||
"openwrt": {
|
||||
"uptime": "Uptime",
|
||||
"cpuLoad": "CPU Load Avg (5m)",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"bytesTx": "Transmitted",
|
||||
"bytesRx": "Received"
|
||||
},
|
||||
"uptimerobot": {
|
||||
"status": "Status",
|
||||
"uptime": "Uptime",
|
||||
@@ -816,5 +831,45 @@
|
||||
"netdata": {
|
||||
"warnings": "Warnings",
|
||||
"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"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -107,6 +107,12 @@
|
||||
"episodes": "Epizodoj",
|
||||
"songs": "Kantoj"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "Malkonekta",
|
||||
"online": "Online",
|
||||
"total": "Totalo",
|
||||
"unknown": "Nekonata"
|
||||
},
|
||||
"evcc": {
|
||||
"pv_power": "Production",
|
||||
"battery_soc": "Battery",
|
||||
@@ -419,7 +425,8 @@
|
||||
"search": "Search",
|
||||
"custom": "Custom",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
"url": "URL",
|
||||
"searchsuggestion": "Suggestion"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "Suna",
|
||||
@@ -535,7 +542,15 @@
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Kanaloj",
|
||||
"hd": "HD"
|
||||
"hd": "HD",
|
||||
"tunerCount": "Tuners",
|
||||
"channelNumber": "Channel",
|
||||
"channelNetwork": "Network",
|
||||
"signalStrength": "Strength",
|
||||
"signalQuality": "Quality",
|
||||
"symbolQuality": "Quality",
|
||||
"networkRate": "Bitrapido",
|
||||
"clientIP": "Client"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Passed",
|
||||
@@ -694,6 +709,11 @@
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
},
|
||||
"gatus": {
|
||||
"up": "Sites Up",
|
||||
"down": "Sites Down",
|
||||
"uptime": "Uptime"
|
||||
},
|
||||
"ghostfolio": {
|
||||
"gross_percent_today": "Today",
|
||||
"gross_percent_1y": "One year",
|
||||
@@ -775,6 +795,14 @@
|
||||
"passed": "Passed",
|
||||
"failed": "Failed"
|
||||
},
|
||||
"openwrt": {
|
||||
"uptime": "Uptime",
|
||||
"cpuLoad": "CPU Load Avg (5m)",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"bytesTx": "Transmitted",
|
||||
"bytesRx": "Received"
|
||||
},
|
||||
"uptimerobot": {
|
||||
"status": "Stato",
|
||||
"uptime": "Uptime",
|
||||
@@ -803,5 +831,37 @@
|
||||
"netdata": {
|
||||
"warnings": "Warnings",
|
||||
"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"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -107,6 +107,12 @@
|
||||
"episodes": "Episodios",
|
||||
"songs": "Canciones"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "Desconectado",
|
||||
"online": "En línea",
|
||||
"total": "Total",
|
||||
"unknown": "Desconocido"
|
||||
},
|
||||
"evcc": {
|
||||
"pv_power": "Producción",
|
||||
"battery_soc": "Batería",
|
||||
@@ -419,7 +425,8 @@
|
||||
"search": "Buscar",
|
||||
"custom": "Personalizado",
|
||||
"visit": "Visitar",
|
||||
"url": "Enlace"
|
||||
"url": "Enlace",
|
||||
"searchsuggestion": "Suggestion"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "Soleado",
|
||||
@@ -535,7 +542,15 @@
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Canales",
|
||||
"hd": "Alta definición"
|
||||
"hd": "Alta definición",
|
||||
"tunerCount": "Tuners",
|
||||
"channelNumber": "Channel",
|
||||
"channelNetwork": "Network",
|
||||
"signalStrength": "Strength",
|
||||
"signalQuality": "Quality",
|
||||
"symbolQuality": "Quality",
|
||||
"networkRate": "Tasa de bits",
|
||||
"clientIP": "Client"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Aprobado",
|
||||
@@ -694,6 +709,11 @@
|
||||
"targets_down": "Objetivos inactivos",
|
||||
"targets_total": "Objetivos totales"
|
||||
},
|
||||
"gatus": {
|
||||
"up": "Sitios activos",
|
||||
"down": "Sitios inactivos",
|
||||
"uptime": "Tiempo activo"
|
||||
},
|
||||
"ghostfolio": {
|
||||
"gross_percent_today": "Hoy",
|
||||
"gross_percent_1y": "Un año",
|
||||
@@ -775,6 +795,14 @@
|
||||
"passed": "Aprobado",
|
||||
"failed": "Fallido"
|
||||
},
|
||||
"openwrt": {
|
||||
"uptime": "Tiempo activo",
|
||||
"cpuLoad": "CPU Load Avg (5m)",
|
||||
"up": "Activo",
|
||||
"down": "Inactivo",
|
||||
"bytesTx": "Transmitted",
|
||||
"bytesRx": "Recibido"
|
||||
},
|
||||
"uptimerobot": {
|
||||
"status": "Estado",
|
||||
"uptime": "Tiempo activo",
|
||||
@@ -803,5 +831,37 @@
|
||||
"netdata": {
|
||||
"warnings": "Warnings",
|
||||
"criticals": "Criticals"
|
||||
},
|
||||
"plantit": {
|
||||
"events": "Events",
|
||||
"plants": "Plants",
|
||||
"photos": "Fotos",
|
||||
"species": "Species"
|
||||
},
|
||||
"gitea": {
|
||||
"notifications": "Notifications",
|
||||
"issues": "Números",
|
||||
"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": "Películas",
|
||||
"tags": "Etiquetas",
|
||||
"oCount": "O Count"
|
||||
},
|
||||
"tandoor": {
|
||||
"users": "Usuarios",
|
||||
"recipes": "Recetas",
|
||||
"keywords": "Keywords"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -107,6 +107,12 @@
|
||||
"episodes": "Episodes",
|
||||
"songs": "Abestiak"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "Offline",
|
||||
"online": "Online",
|
||||
"total": "Guztira",
|
||||
"unknown": "Ezezaguna"
|
||||
},
|
||||
"evcc": {
|
||||
"pv_power": "Production",
|
||||
"battery_soc": "Battery",
|
||||
@@ -419,7 +425,8 @@
|
||||
"search": "Search",
|
||||
"custom": "Custom",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
"url": "URL",
|
||||
"searchsuggestion": "Suggestion"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "Sunny",
|
||||
@@ -535,7 +542,15 @@
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Channels",
|
||||
"hd": "HD"
|
||||
"hd": "HD",
|
||||
"tunerCount": "Tuners",
|
||||
"channelNumber": "Channel",
|
||||
"channelNetwork": "Network",
|
||||
"signalStrength": "Strength",
|
||||
"signalQuality": "Quality",
|
||||
"symbolQuality": "Quality",
|
||||
"networkRate": "Bit-tasa",
|
||||
"clientIP": "Client"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Passed",
|
||||
@@ -694,6 +709,11 @@
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
},
|
||||
"gatus": {
|
||||
"up": "Sites Up",
|
||||
"down": "Sites Down",
|
||||
"uptime": "Uptime"
|
||||
},
|
||||
"ghostfolio": {
|
||||
"gross_percent_today": "Today",
|
||||
"gross_percent_1y": "One year",
|
||||
@@ -775,6 +795,14 @@
|
||||
"passed": "Passed",
|
||||
"failed": "Failed"
|
||||
},
|
||||
"openwrt": {
|
||||
"uptime": "Uptime",
|
||||
"cpuLoad": "CPU Load Avg (5m)",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"bytesTx": "Transmitted",
|
||||
"bytesRx": "Received"
|
||||
},
|
||||
"uptimerobot": {
|
||||
"status": "Status",
|
||||
"uptime": "Uptime",
|
||||
@@ -803,5 +831,37 @@
|
||||
"netdata": {
|
||||
"warnings": "Warnings",
|
||||
"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"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -107,6 +107,12 @@
|
||||
"episodes": "Episodes",
|
||||
"songs": "Songs"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "Offline",
|
||||
"online": "Online",
|
||||
"total": "Yhteensä",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"evcc": {
|
||||
"pv_power": "Production",
|
||||
"battery_soc": "Battery",
|
||||
@@ -419,7 +425,8 @@
|
||||
"search": "Search",
|
||||
"custom": "Custom",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
"url": "URL",
|
||||
"searchsuggestion": "Suggestion"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "Sunny",
|
||||
@@ -535,7 +542,15 @@
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Channels",
|
||||
"hd": "HD"
|
||||
"hd": "HD",
|
||||
"tunerCount": "Tuners",
|
||||
"channelNumber": "Channel",
|
||||
"channelNetwork": "Network",
|
||||
"signalStrength": "Strength",
|
||||
"signalQuality": "Quality",
|
||||
"symbolQuality": "Quality",
|
||||
"networkRate": "Bittinopeus",
|
||||
"clientIP": "Client"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Passed",
|
||||
@@ -694,6 +709,11 @@
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
},
|
||||
"gatus": {
|
||||
"up": "Sites Up",
|
||||
"down": "Sites Down",
|
||||
"uptime": "Uptime"
|
||||
},
|
||||
"ghostfolio": {
|
||||
"gross_percent_today": "Today",
|
||||
"gross_percent_1y": "One year",
|
||||
@@ -775,6 +795,14 @@
|
||||
"passed": "Passed",
|
||||
"failed": "Failed"
|
||||
},
|
||||
"openwrt": {
|
||||
"uptime": "Uptime",
|
||||
"cpuLoad": "CPU Load Avg (5m)",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"bytesTx": "Transmitted",
|
||||
"bytesRx": "Received"
|
||||
},
|
||||
"uptimerobot": {
|
||||
"status": "Tila",
|
||||
"uptime": "Uptime",
|
||||
@@ -803,5 +831,37 @@
|
||||
"netdata": {
|
||||
"warnings": "Warnings",
|
||||
"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"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
"api_error": "Erreur API",
|
||||
"information": "Informations",
|
||||
"status": "Statut",
|
||||
"url": "Url",
|
||||
"url": "URL",
|
||||
"raw_error": "Erreur brute",
|
||||
"response_data": "Données de réponse"
|
||||
},
|
||||
@@ -39,7 +39,7 @@
|
||||
"placeholder": "Recherche…"
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "Cpu",
|
||||
"cpu": "CPU",
|
||||
"mem": "Mém",
|
||||
"total": "Total",
|
||||
"free": "Libre",
|
||||
@@ -70,7 +70,7 @@
|
||||
"rx": "Rx",
|
||||
"tx": "Tx",
|
||||
"mem": "Mém",
|
||||
"cpu": "Cpu",
|
||||
"cpu": "CPU",
|
||||
"running": "Démarré",
|
||||
"offline": "Hors ligne",
|
||||
"error": "Erreur",
|
||||
@@ -107,6 +107,12 @@
|
||||
"episodes": "Épisodes",
|
||||
"songs": "Musique"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "Hors ligne",
|
||||
"online": "En ligne",
|
||||
"total": "Total",
|
||||
"unknown": "Inconnu"
|
||||
},
|
||||
"evcc": {
|
||||
"pv_power": "Production",
|
||||
"battery_soc": "Batterie",
|
||||
@@ -150,7 +156,7 @@
|
||||
},
|
||||
"changedetectionio": {
|
||||
"totalObserved": "Total Observé",
|
||||
"diffsDetected": "Diffs Detectées"
|
||||
"diffsDetected": "Diffs détectées"
|
||||
},
|
||||
"channelsdvrserver": {
|
||||
"shows": "Affichages",
|
||||
@@ -166,7 +172,7 @@
|
||||
"plex_connection_error": "Vérifier la connexion à Plex"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "APs connectées",
|
||||
"connectedAp": "AP connectés",
|
||||
"activeUser": "Équipts actifs",
|
||||
"alerts": "Alertes",
|
||||
"connectedGateway": "Passerelles connectées",
|
||||
@@ -389,12 +395,12 @@
|
||||
},
|
||||
"proxmox": {
|
||||
"mem": "Mém",
|
||||
"cpu": "Cpu",
|
||||
"cpu": "CPU",
|
||||
"lxc": "LxC",
|
||||
"vms": "VMs"
|
||||
},
|
||||
"glances": {
|
||||
"cpu": "Cpu",
|
||||
"cpu": "CPU",
|
||||
"load": "Charge",
|
||||
"wait": "Veuillez patienter",
|
||||
"temp": "Temp",
|
||||
@@ -419,7 +425,8 @@
|
||||
"search": "Recherche",
|
||||
"custom": "Personnalisé",
|
||||
"visit": "Aller vers",
|
||||
"url": "Url"
|
||||
"url": "URL",
|
||||
"searchsuggestion": "Suggestions"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "Ensoleillé",
|
||||
@@ -529,13 +536,21 @@
|
||||
"total": "Total"
|
||||
},
|
||||
"gluetun": {
|
||||
"public_ip": "IP Publique",
|
||||
"public_ip": "IP publique",
|
||||
"region": "Région",
|
||||
"country": "Pays"
|
||||
},
|
||||
"hdhomerun": {
|
||||
"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": {
|
||||
"passed": "Réussi",
|
||||
@@ -547,11 +562,11 @@
|
||||
"total": "Total"
|
||||
},
|
||||
"peanut": {
|
||||
"battery_charge": "Battery Charge",
|
||||
"battery_charge": "Charge Batterie",
|
||||
"ups_load": "Charge de l'UPS",
|
||||
"ups_status": "État de l'UPS",
|
||||
"online": "En ligne",
|
||||
"on_battery": "On Battery",
|
||||
"on_battery": "Sur Batterie",
|
||||
"low_battery": "Batterie Faible"
|
||||
},
|
||||
"nextdns": {
|
||||
@@ -577,7 +592,7 @@
|
||||
},
|
||||
"opnsense": {
|
||||
"cpu": "Charge CPU",
|
||||
"memory": "Mém. Utilisée",
|
||||
"memory": "Mém. utilisée",
|
||||
"wanUpload": "WAN Envoi",
|
||||
"wanDownload": "WAN Récep."
|
||||
},
|
||||
@@ -610,7 +625,7 @@
|
||||
"proxmoxbackupserver": {
|
||||
"datastore_usage": "Datastore",
|
||||
"failed_tasks_24h": "Tâches échouées 24h",
|
||||
"cpu_usage": "Cpu",
|
||||
"cpu_usage": "CPU",
|
||||
"memory_usage": "Mémoire"
|
||||
},
|
||||
"immich": {
|
||||
@@ -633,7 +648,7 @@
|
||||
"categories": "Catégories"
|
||||
},
|
||||
"komga": {
|
||||
"libraries": "Librairies",
|
||||
"libraries": "Bibliothèques",
|
||||
"series": "Séries TV",
|
||||
"books": "Livres"
|
||||
},
|
||||
@@ -666,7 +681,7 @@
|
||||
"alertstriggered": "Alertes déclenchées"
|
||||
},
|
||||
"nextcloud": {
|
||||
"cpuload": "Charge Cpu",
|
||||
"cpuload": "Charge CPU",
|
||||
"memoryusage": "Utilisation Mémoire",
|
||||
"freespace": "Libre",
|
||||
"activeusers": "Utilisateurs Actifs",
|
||||
@@ -694,6 +709,11 @@
|
||||
"targets_down": "Down",
|
||||
"targets_total": "Total"
|
||||
},
|
||||
"gatus": {
|
||||
"up": "En ligne",
|
||||
"down": "Hors ligne",
|
||||
"uptime": "Démarré depuis"
|
||||
},
|
||||
"ghostfolio": {
|
||||
"gross_percent_today": "Aujourd'hui",
|
||||
"gross_percent_1y": "Un an",
|
||||
@@ -775,6 +795,14 @@
|
||||
"passed": "Réussi",
|
||||
"failed": "Échoué"
|
||||
},
|
||||
"openwrt": {
|
||||
"uptime": "Démarré depuis",
|
||||
"cpuLoad": "Charge moyenne CPU (5 min)",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"bytesTx": "Transmis",
|
||||
"bytesRx": "Reçu"
|
||||
},
|
||||
"uptimerobot": {
|
||||
"status": "Statut",
|
||||
"uptime": "Démarré depuis",
|
||||
@@ -797,11 +825,43 @@
|
||||
"noEventsFound": "Aucun événement trouvé"
|
||||
},
|
||||
"romm": {
|
||||
"platforms": "Platforms",
|
||||
"totalRoms": "Total ROMs"
|
||||
"platforms": "Plateformes",
|
||||
"totalRoms": "Total des ROMs"
|
||||
},
|
||||
"netdata": {
|
||||
"warnings": "Warnings",
|
||||
"criticals": "Criticals"
|
||||
"warnings": "Avertissements",
|
||||
"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": "Total Plays",
|
||||
"playDuration": "Time Watched",
|
||||
"sceneSize": "Scenes Size",
|
||||
"sceneDuration": "Scenes Duration",
|
||||
"images": "Images",
|
||||
"imageSize": "Taille des images",
|
||||
"galleries": "Galeries",
|
||||
"performers": "Performers",
|
||||
"studios": "Studios",
|
||||
"movies": "Films",
|
||||
"tags": "Étiquettes",
|
||||
"oCount": "O Count"
|
||||
},
|
||||
"tandoor": {
|
||||
"users": "Utilisateurs",
|
||||
"recipes": "Recettes",
|
||||
"keywords": "Mots-clés"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -107,6 +107,12 @@
|
||||
"episodes": "Episodes",
|
||||
"songs": "Songs"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "כבוי",
|
||||
"online": "Online",
|
||||
"total": "סה\"כ",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"evcc": {
|
||||
"pv_power": "Production",
|
||||
"battery_soc": "Battery",
|
||||
@@ -419,7 +425,8 @@
|
||||
"search": "Search",
|
||||
"custom": "Custom",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
"url": "URL",
|
||||
"searchsuggestion": "Suggestion"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "Sunny",
|
||||
@@ -535,7 +542,15 @@
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Channels",
|
||||
"hd": "HD"
|
||||
"hd": "HD",
|
||||
"tunerCount": "Tuners",
|
||||
"channelNumber": "Channel",
|
||||
"channelNetwork": "Network",
|
||||
"signalStrength": "Strength",
|
||||
"signalQuality": "Quality",
|
||||
"symbolQuality": "Quality",
|
||||
"networkRate": "סיביות",
|
||||
"clientIP": "Client"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Passed",
|
||||
@@ -694,6 +709,11 @@
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
},
|
||||
"gatus": {
|
||||
"up": "Sites Up",
|
||||
"down": "Sites Down",
|
||||
"uptime": "Uptime"
|
||||
},
|
||||
"ghostfolio": {
|
||||
"gross_percent_today": "Today",
|
||||
"gross_percent_1y": "One year",
|
||||
@@ -775,6 +795,14 @@
|
||||
"passed": "Passed",
|
||||
"failed": "Failed"
|
||||
},
|
||||
"openwrt": {
|
||||
"uptime": "Uptime",
|
||||
"cpuLoad": "CPU Load Avg (5m)",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"bytesTx": "Transmitted",
|
||||
"bytesRx": "Received"
|
||||
},
|
||||
"uptimerobot": {
|
||||
"status": "סטטוס",
|
||||
"uptime": "Uptime",
|
||||
@@ -803,5 +831,37 @@
|
||||
"netdata": {
|
||||
"warnings": "Warnings",
|
||||
"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"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -107,6 +107,12 @@
|
||||
"episodes": "Episodes",
|
||||
"songs": "Songs"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "Offline",
|
||||
"online": "Online",
|
||||
"total": "Total",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"evcc": {
|
||||
"pv_power": "Production",
|
||||
"battery_soc": "Battery",
|
||||
@@ -419,7 +425,8 @@
|
||||
"search": "Search",
|
||||
"custom": "Custom",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
"url": "URL",
|
||||
"searchsuggestion": "Suggestion"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "Sunny",
|
||||
@@ -535,7 +542,15 @@
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Channels",
|
||||
"hd": "HD"
|
||||
"hd": "HD",
|
||||
"tunerCount": "Tuners",
|
||||
"channelNumber": "Channel",
|
||||
"channelNetwork": "Network",
|
||||
"signalStrength": "Strength",
|
||||
"signalQuality": "Quality",
|
||||
"symbolQuality": "Quality",
|
||||
"networkRate": "Bitrate",
|
||||
"clientIP": "Client"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Passed",
|
||||
@@ -694,6 +709,11 @@
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
},
|
||||
"gatus": {
|
||||
"up": "Sites Up",
|
||||
"down": "Sites Down",
|
||||
"uptime": "Uptime"
|
||||
},
|
||||
"ghostfolio": {
|
||||
"gross_percent_today": "Today",
|
||||
"gross_percent_1y": "One year",
|
||||
@@ -775,6 +795,14 @@
|
||||
"passed": "Passed",
|
||||
"failed": "Failed"
|
||||
},
|
||||
"openwrt": {
|
||||
"uptime": "Uptime",
|
||||
"cpuLoad": "CPU Load Avg (5m)",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"bytesTx": "Transmitted",
|
||||
"bytesRx": "Received"
|
||||
},
|
||||
"uptimerobot": {
|
||||
"status": "Status",
|
||||
"uptime": "Uptime",
|
||||
@@ -803,5 +831,37 @@
|
||||
"netdata": {
|
||||
"warnings": "Warnings",
|
||||
"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"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,10 +14,10 @@
|
||||
"date": "{{value, date}}",
|
||||
"relativeDate": "{{value, relativeDate}}",
|
||||
"uptime": "{{value, uptime}}",
|
||||
"months": "mo",
|
||||
"days": "d",
|
||||
"months": "mj",
|
||||
"days": "dan(a)",
|
||||
"hours": "h",
|
||||
"minutes": "m",
|
||||
"minutes": "min",
|
||||
"seconds": "s"
|
||||
},
|
||||
"widget": {
|
||||
@@ -46,12 +46,12 @@
|
||||
"used": "Korišteno",
|
||||
"load": "Opterećenje",
|
||||
"temp": "TEMP",
|
||||
"max": "Maks",
|
||||
"uptime": "UP"
|
||||
"max": "Maks.",
|
||||
"uptime": "Vrijeme rada"
|
||||
},
|
||||
"unifi": {
|
||||
"users": "Korisnici",
|
||||
"uptime": "Radno vrijeme",
|
||||
"uptime": "Vrijeme rada",
|
||||
"days": "Dani",
|
||||
"wan": "WAN",
|
||||
"lan": "LAN",
|
||||
@@ -61,8 +61,8 @@
|
||||
"wlan_devices": "WLAN uređaji",
|
||||
"lan_users": "LAN korisnici",
|
||||
"wlan_users": "WLAN korisnici",
|
||||
"up": "UP",
|
||||
"down": "PRIMANJE",
|
||||
"up": "Vrijeme rada",
|
||||
"down": "NEDOSTUPNO",
|
||||
"wait": "Pričekaj",
|
||||
"empty_data": "Stanje podsustava nepoznato"
|
||||
},
|
||||
@@ -85,17 +85,17 @@
|
||||
"ping": {
|
||||
"error": "Greška",
|
||||
"ping": "Ping",
|
||||
"down": "Down",
|
||||
"up": "Up",
|
||||
"not_available": "Not Available"
|
||||
"down": "Nedostupno",
|
||||
"up": "Dostupno",
|
||||
"not_available": "Nije dostupno"
|
||||
},
|
||||
"siteMonitor": {
|
||||
"http_status": "HTTP status",
|
||||
"http_status": "Stanje HTTP-a",
|
||||
"error": "Greška",
|
||||
"response": "Response",
|
||||
"down": "Down",
|
||||
"up": "Up",
|
||||
"not_available": "Not Available"
|
||||
"response": "Odgovor",
|
||||
"down": "Nedostupno",
|
||||
"up": "Dostupno",
|
||||
"not_available": "Nije dostupno"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "Reprodukcija",
|
||||
@@ -107,13 +107,19 @@
|
||||
"episodes": "Epizode",
|
||||
"songs": "Pjesme"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "Offline",
|
||||
"online": "Online",
|
||||
"total": "Ukupno",
|
||||
"unknown": "Nepoznato"
|
||||
},
|
||||
"evcc": {
|
||||
"pv_power": "Proizvodnja",
|
||||
"battery_soc": "Baterija",
|
||||
"grid_power": "Raspored",
|
||||
"home_power": "Potrošnja",
|
||||
"charge_power": "Punjač",
|
||||
"watt_hour": "Wh"
|
||||
"watt_hour": "Kilovat-sat"
|
||||
},
|
||||
"flood": {
|
||||
"download": "Preuzimanje",
|
||||
@@ -127,21 +133,21 @@
|
||||
},
|
||||
"fritzbox": {
|
||||
"connectionStatus": "Stanje",
|
||||
"connectionStatusUnconfigured": "Unconfigured",
|
||||
"connectionStatusConnecting": "Connecting",
|
||||
"connectionStatusAuthenticating": "Authenticating",
|
||||
"connectionStatusPendingDisconnect": "Pending Disconnect",
|
||||
"connectionStatusDisconnecting": "Disconnecting",
|
||||
"connectionStatusDisconnected": "Disconnected",
|
||||
"connectionStatusUnconfigured": "Nekonfigurirano",
|
||||
"connectionStatusConnecting": "Povezivanje",
|
||||
"connectionStatusAuthenticating": "Autentificiranje",
|
||||
"connectionStatusPendingDisconnect": "Odspajanje u tijeku",
|
||||
"connectionStatusDisconnecting": "Odspajanje",
|
||||
"connectionStatusDisconnected": "Odspojeno",
|
||||
"connectionStatusConnected": "Povezano",
|
||||
"uptime": "Radno vrijeme",
|
||||
"maxDown": "Max. Down",
|
||||
"maxUp": "Max. Up",
|
||||
"down": "Down",
|
||||
"up": "Up",
|
||||
"received": "Received",
|
||||
"sent": "Sent",
|
||||
"externalIPAddress": "Ext. IP"
|
||||
"uptime": "Vrijeme rada",
|
||||
"maxDown": "Maksimum preuzimanja",
|
||||
"maxUp": "Maksimum prijenosa",
|
||||
"down": "Nedostupno",
|
||||
"up": "Dostupno",
|
||||
"received": "Primljeno",
|
||||
"sent": "Poslano",
|
||||
"externalIPAddress": "Eksterna IP adresa"
|
||||
},
|
||||
"caddy": {
|
||||
"upstreams": "Glavne grane",
|
||||
@@ -255,17 +261,17 @@
|
||||
"missingMovies": "Nedostajući filmovi"
|
||||
},
|
||||
"ombi": {
|
||||
"pending": "Predstoji",
|
||||
"pending": "U tijeku",
|
||||
"approved": "Odobreno",
|
||||
"available": "Dostupno"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"pending": "Predstoji",
|
||||
"pending": "U tijeku",
|
||||
"approved": "Odobreno",
|
||||
"available": "Dostupno"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Predstoji",
|
||||
"pending": "U tijeku",
|
||||
"processing": "Obrada",
|
||||
"approved": "Odobreno",
|
||||
"available": "Dostupno"
|
||||
@@ -274,7 +280,7 @@
|
||||
"total": "Ukupno",
|
||||
"connected": "Povezano",
|
||||
"new_devices": "Novi uređaji",
|
||||
"down_alerts": "Obavijest o rušenju"
|
||||
"down_alerts": "Obavijesti o nedostupnosti"
|
||||
},
|
||||
"pihole": {
|
||||
"queries": "Upiti",
|
||||
@@ -398,20 +404,20 @@
|
||||
"load": "Opterećenje",
|
||||
"wait": "Pričekaj",
|
||||
"temp": "TEMP",
|
||||
"_temp": "Temp",
|
||||
"_temp": "Temperatura",
|
||||
"warn": "Upozori",
|
||||
"uptime": "UP",
|
||||
"uptime": "Vrijeme rada",
|
||||
"total": "Ukupno",
|
||||
"free": "Slobodno",
|
||||
"used": "Korišteno",
|
||||
"days": "d",
|
||||
"days": "dan(a)",
|
||||
"hours": "h",
|
||||
"crit": "Crit",
|
||||
"crit": "Krritično",
|
||||
"read": "Pročitano",
|
||||
"write": "Write",
|
||||
"write": "Piši",
|
||||
"gpu": "GPU",
|
||||
"mem": "Mem",
|
||||
"swap": "Swap"
|
||||
"mem": "Memorija",
|
||||
"swap": "Virtualna memorija"
|
||||
},
|
||||
"quicklaunch": {
|
||||
"bookmark": "Straničnik",
|
||||
@@ -419,7 +425,8 @@
|
||||
"search": "Traži",
|
||||
"custom": "Prilagođeno",
|
||||
"visit": "Posjeti",
|
||||
"url": "URL"
|
||||
"url": "URL",
|
||||
"searchsuggestion": "Prijedlog"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "Sunčano",
|
||||
@@ -486,15 +493,15 @@
|
||||
"up_to_date": "Aktualno",
|
||||
"child_bridges": "Podređeni mosotvi",
|
||||
"child_bridges_status": "{{ok}}/{{total}}",
|
||||
"up": "Up",
|
||||
"pending": "Predstoji",
|
||||
"down": "Down"
|
||||
"up": "Dostupno",
|
||||
"pending": "U tijeku",
|
||||
"down": "Nedostupno"
|
||||
},
|
||||
"healthchecks": {
|
||||
"new": "Novo",
|
||||
"up": "Up",
|
||||
"up": "Dostupno",
|
||||
"grace": "U razdoblju odgode",
|
||||
"down": "Down",
|
||||
"down": "Nedostupno",
|
||||
"paused": "Zaustavljeno",
|
||||
"status": "Stanje",
|
||||
"last_ping": "Zadnji ping",
|
||||
@@ -519,7 +526,7 @@
|
||||
},
|
||||
"truenas": {
|
||||
"load": "Opterećenje sustava",
|
||||
"uptime": "Radno vrijeme",
|
||||
"uptime": "Vrijeme rada",
|
||||
"alerts": "Upozorenja"
|
||||
},
|
||||
"pyload": {
|
||||
@@ -535,7 +542,15 @@
|
||||
},
|
||||
"hdhomerun": {
|
||||
"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": {
|
||||
"passed": "Uspjelo",
|
||||
@@ -547,12 +562,12 @@
|
||||
"total": "Ukupno"
|
||||
},
|
||||
"peanut": {
|
||||
"battery_charge": "Battery Charge",
|
||||
"ups_load": "UPS Load",
|
||||
"ups_status": "UPS Status",
|
||||
"battery_charge": "Napunjenost baterije",
|
||||
"ups_load": "UPS opterećenje",
|
||||
"ups_status": "UPS stanje",
|
||||
"online": "Online",
|
||||
"on_battery": "On Battery",
|
||||
"low_battery": "Low Battery"
|
||||
"on_battery": "Koristi bateriju",
|
||||
"low_battery": "Slaba baterija"
|
||||
},
|
||||
"nextdns": {
|
||||
"wait": "Pričekaj",
|
||||
@@ -561,7 +576,7 @@
|
||||
"mikrotik": {
|
||||
"cpuLoad": "CPU opterećenje",
|
||||
"memoryUsed": "Korištena memorija",
|
||||
"uptime": "Radno vrijeme",
|
||||
"uptime": "Vrijeme rada",
|
||||
"numberOfLeases": "Unajmljivanja"
|
||||
},
|
||||
"xteve": {
|
||||
@@ -570,10 +585,10 @@
|
||||
"streams_xepg": "XEPG kanali"
|
||||
},
|
||||
"opendtu": {
|
||||
"yieldDay": "Today",
|
||||
"absolutePower": "Power",
|
||||
"relativePower": "Power %",
|
||||
"limit": "Limit"
|
||||
"yieldDay": "Danas",
|
||||
"absolutePower": "Snaga",
|
||||
"relativePower": "Postotak snage",
|
||||
"limit": "Ograničenje"
|
||||
},
|
||||
"opnsense": {
|
||||
"cpu": "CPU opterećenje",
|
||||
@@ -601,9 +616,9 @@
|
||||
"load": "Prosječno opterećenje",
|
||||
"memory": "Korištenje memorije",
|
||||
"wanStatus": "Stanje WAN-a",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"temp": "Temp",
|
||||
"up": "Dostupno",
|
||||
"down": "Nedostupno",
|
||||
"temp": "Temperatura",
|
||||
"disk": "Korištenje diska",
|
||||
"wanIP": "WAN IP"
|
||||
},
|
||||
@@ -620,17 +635,17 @@
|
||||
"storage": "Spremište"
|
||||
},
|
||||
"uptimekuma": {
|
||||
"up": "Aktivne stranice",
|
||||
"down": "Neaktivne stranice",
|
||||
"uptime": "Radno vrijeme",
|
||||
"up": "Dostupne stranice",
|
||||
"down": "Nedostupne stranice",
|
||||
"uptime": "Vrijeme rada",
|
||||
"incident": "Slučaj",
|
||||
"m": "m"
|
||||
"m": "min"
|
||||
},
|
||||
"atsumeru": {
|
||||
"series": "Serije",
|
||||
"archives": "Archives",
|
||||
"chapters": "Chapters",
|
||||
"categories": "Categories"
|
||||
"archives": "Arhive",
|
||||
"chapters": "Poglavlja",
|
||||
"categories": "Kategorije"
|
||||
},
|
||||
"komga": {
|
||||
"libraries": "Biblioteke",
|
||||
@@ -639,7 +654,7 @@
|
||||
},
|
||||
"diskstation": {
|
||||
"days": "Dani",
|
||||
"uptime": "Radno vrijeme",
|
||||
"uptime": "Vrijeme rada",
|
||||
"volumeAvailable": "Dostupno"
|
||||
},
|
||||
"mylar": {
|
||||
@@ -662,7 +677,7 @@
|
||||
"grafana": {
|
||||
"dashboards": "Pregledne ploče",
|
||||
"datasources": "Izvori podataka",
|
||||
"totalalerts": "Ukupno upozorenja",
|
||||
"totalalerts": "Ukupni broj upozorenja",
|
||||
"alertstriggered": "Aktivirana upozorenja"
|
||||
},
|
||||
"nextcloud": {
|
||||
@@ -682,7 +697,7 @@
|
||||
},
|
||||
"unmanic": {
|
||||
"active_workers": "Aktivni radnici",
|
||||
"total_workers": "Ukupni radnici",
|
||||
"total_workers": "Ukupni broj radnika",
|
||||
"records_total": "Količina zapisa u redu čekanja"
|
||||
},
|
||||
"pterodactyl": {
|
||||
@@ -692,10 +707,15 @@
|
||||
"prometheus": {
|
||||
"targets_up": "Aktivni 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": {
|
||||
"gross_percent_today": "Today",
|
||||
"gross_percent_today": "Danas",
|
||||
"gross_percent_1y": "Jedna godina",
|
||||
"gross_percent_max": "Svo vrijeme"
|
||||
},
|
||||
@@ -711,13 +731,13 @@
|
||||
"switches_on": "Prekidači uključeni"
|
||||
},
|
||||
"whatsupdocker": {
|
||||
"monitoring": "Monitoring",
|
||||
"monitoring": "Praćenje",
|
||||
"updates": "Aktualiziranja"
|
||||
},
|
||||
"calibreweb": {
|
||||
"books": "Knjige",
|
||||
"authors": "Authors",
|
||||
"categories": "Categories",
|
||||
"authors": "Autori",
|
||||
"categories": "Kategorije",
|
||||
"series": "Serije"
|
||||
},
|
||||
"jdownloader": {
|
||||
@@ -731,77 +751,117 @@
|
||||
"totalFiles": "Datoteke"
|
||||
},
|
||||
"azuredevops": {
|
||||
"result": "Result",
|
||||
"result": "Rezultat",
|
||||
"status": "Stanje",
|
||||
"buildId": "Build ID",
|
||||
"succeeded": "Succeeded",
|
||||
"notStarted": "Not Started",
|
||||
"buildId": "ID izgradnje",
|
||||
"succeeded": "Uspjelo",
|
||||
"notStarted": "Nije započeto",
|
||||
"failed": "Neuspjelo",
|
||||
"canceled": "Canceled",
|
||||
"inProgress": "In Progress",
|
||||
"totalPrs": "Total PRs",
|
||||
"myPrs": "My PRs",
|
||||
"canceled": "Prekinuto",
|
||||
"inProgress": "U tijeku",
|
||||
"totalPrs": "Ukupni broj PR-ova",
|
||||
"myPrs": "Moji zahtjevi za preuzimanje (PR-ovi)",
|
||||
"approved": "Odobreno"
|
||||
},
|
||||
"gamedig": {
|
||||
"status": "Stanje",
|
||||
"online": "Online",
|
||||
"offline": "Offline",
|
||||
"name": "Name",
|
||||
"map": "Map",
|
||||
"currentPlayers": "Current players",
|
||||
"name": "Ime",
|
||||
"map": "Karta",
|
||||
"currentPlayers": "Trenutačni igrači",
|
||||
"players": "Igrači",
|
||||
"maxPlayers": "Max players",
|
||||
"bots": "Bots",
|
||||
"maxPlayers": "Maks. broj igrača",
|
||||
"bots": "Botovi",
|
||||
"ping": "Ping"
|
||||
},
|
||||
"urbackup": {
|
||||
"ok": "Ok",
|
||||
"errored": "Errors",
|
||||
"noRecent": "Out of Date",
|
||||
"totalUsed": "Used Storage"
|
||||
"ok": "U redu",
|
||||
"errored": "Greške",
|
||||
"noRecent": "Zastarjelo",
|
||||
"totalUsed": "Korištena memorija"
|
||||
},
|
||||
"mealie": {
|
||||
"recipes": "Recipes",
|
||||
"recipes": "Recepti",
|
||||
"users": "Korisnici",
|
||||
"categories": "Categories",
|
||||
"tags": "Tags"
|
||||
"categories": "Kategorije",
|
||||
"tags": "Oznake"
|
||||
},
|
||||
"openmediavault": {
|
||||
"downloading": "Downloading",
|
||||
"downloading": "Preuzimanje",
|
||||
"total": "Ukupno",
|
||||
"running": "Pokrenuto",
|
||||
"stopped": "Prekinuto",
|
||||
"passed": "Uspjelo",
|
||||
"failed": "Neuspjelo"
|
||||
},
|
||||
"openwrt": {
|
||||
"uptime": "Vrijeme rada",
|
||||
"cpuLoad": "Prosjećno CPU opterećenje (5m)",
|
||||
"up": "Dostupno",
|
||||
"down": "Nedostupno",
|
||||
"bytesTx": "Preneseno",
|
||||
"bytesRx": "Primljeno"
|
||||
},
|
||||
"uptimerobot": {
|
||||
"status": "Stanje",
|
||||
"uptime": "Radno vrijeme",
|
||||
"lastDown": "Last Downtime",
|
||||
"downDuration": "Downtime Duration",
|
||||
"sitesUp": "Aktivne stranice",
|
||||
"sitesDown": "Neaktivne stranice",
|
||||
"uptime": "Vrijeme rada",
|
||||
"lastDown": "Zadnja nedostupnost",
|
||||
"downDuration": "Trajanje nedostupnosti",
|
||||
"sitesUp": "Dostupne stranice",
|
||||
"sitesDown": "Nedostupne stranice",
|
||||
"paused": "Zaustavljeno",
|
||||
"notyetchecked": "Not Yet Checked",
|
||||
"up": "Up",
|
||||
"seemsdown": "Seems Down",
|
||||
"down": "Down",
|
||||
"notyetchecked": "Još nije provjereno",
|
||||
"up": "Dostupno",
|
||||
"seemsdown": "Čini se da je nedostupno",
|
||||
"down": "Nedostupno",
|
||||
"unknown": "Nepoznato"
|
||||
},
|
||||
"calendar": {
|
||||
"inCinemas": "In cinemas",
|
||||
"physicalRelease": "Physical release",
|
||||
"digitalRelease": "Digital release",
|
||||
"noEventsToday": "No events for today!",
|
||||
"noEventsFound": "No events found"
|
||||
"inCinemas": "U kinima",
|
||||
"physicalRelease": "Fizičko izdanje",
|
||||
"digitalRelease": "Digitalno izdanje",
|
||||
"noEventsToday": "Danas nema događaja!",
|
||||
"noEventsFound": "Nema događaja"
|
||||
},
|
||||
"romm": {
|
||||
"platforms": "Platforms",
|
||||
"totalRoms": "Total ROMs"
|
||||
"platforms": "Platforme",
|
||||
"totalRoms": "Ukupne ROM memorije"
|
||||
},
|
||||
"netdata": {
|
||||
"warnings": "Warnings",
|
||||
"criticals": "Criticals"
|
||||
"warnings": "Upozorenja",
|
||||
"criticals": "Kritično"
|
||||
},
|
||||
"plantit": {
|
||||
"events": "Events",
|
||||
"plants": "Plants",
|
||||
"photos": "Fotografije",
|
||||
"species": "Species"
|
||||
},
|
||||
"gitea": {
|
||||
"notifications": "Notifications",
|
||||
"issues": "Problemi",
|
||||
"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": "Filmovi",
|
||||
"tags": "Oznake",
|
||||
"oCount": "O Count"
|
||||
},
|
||||
"tandoor": {
|
||||
"users": "Korisnici",
|
||||
"recipes": "Recepti",
|
||||
"keywords": "Keywords"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,18 +14,18 @@
|
||||
"date": "{{value, date}}",
|
||||
"relativeDate": "{{value, relativeDate}}",
|
||||
"uptime": "{{value, uptime}}",
|
||||
"months": "mo",
|
||||
"days": "d",
|
||||
"hours": "h",
|
||||
"minutes": "m",
|
||||
"seconds": "s"
|
||||
"months": "hó",
|
||||
"days": "n",
|
||||
"hours": "ó",
|
||||
"minutes": "p",
|
||||
"seconds": "mp"
|
||||
},
|
||||
"widget": {
|
||||
"missing_type": "Hiányzó Widget Típus: {{type}}",
|
||||
"api_error": "API Hiba",
|
||||
"information": "Információ",
|
||||
"status": "Státusz",
|
||||
"url": "URL",
|
||||
"url": "LINK",
|
||||
"raw_error": "Nyers hiba",
|
||||
"response_data": "Válaszadatok"
|
||||
},
|
||||
@@ -40,12 +40,12 @@
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "Processzor",
|
||||
"mem": "MEM",
|
||||
"mem": "RAM",
|
||||
"total": "Összes",
|
||||
"free": "Szabad",
|
||||
"used": "Használt",
|
||||
"load": "Terhelés",
|
||||
"temp": "TEMP",
|
||||
"temp": "HŐ",
|
||||
"max": "Max",
|
||||
"uptime": "FUT"
|
||||
},
|
||||
@@ -69,10 +69,10 @@
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
"tx": "TX",
|
||||
"mem": "MEM",
|
||||
"mem": "RAM",
|
||||
"cpu": "Processzor",
|
||||
"running": "Futó",
|
||||
"offline": "Offline",
|
||||
"offline": "Nem elérhető",
|
||||
"error": "Hiba",
|
||||
"unknown": "Ismeretlen",
|
||||
"healthy": "Egészséges",
|
||||
@@ -107,6 +107,12 @@
|
||||
"episodes": "Epizód",
|
||||
"songs": "Zeneszám"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "Nem elérhető",
|
||||
"online": "Csatlakozva",
|
||||
"total": "Összes",
|
||||
"unknown": "Ismeretlen"
|
||||
},
|
||||
"evcc": {
|
||||
"pv_power": "Termelés",
|
||||
"battery_soc": "Akkumulátor",
|
||||
@@ -118,8 +124,8 @@
|
||||
"flood": {
|
||||
"download": "Letöltés",
|
||||
"upload": "Feltöltés",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
"leech": "Letöltés",
|
||||
"seed": "Feltöltés"
|
||||
},
|
||||
"freshrss": {
|
||||
"subscriptions": "Előfizetések",
|
||||
@@ -135,8 +141,8 @@
|
||||
"connectionStatusDisconnected": "Kapcsolat bontva",
|
||||
"connectionStatusConnected": "Csatlakoztatott",
|
||||
"uptime": "Üzemidő",
|
||||
"maxDown": "Max. Down",
|
||||
"maxUp": "Max. Up",
|
||||
"maxDown": "Max let.",
|
||||
"maxUp": "Max felt.",
|
||||
"down": "Le",
|
||||
"up": "Fel",
|
||||
"received": "Fogadott",
|
||||
@@ -196,14 +202,14 @@
|
||||
"transmission": {
|
||||
"download": "Letöltés",
|
||||
"upload": "Feltöltés",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
"leech": "Letöltés",
|
||||
"seed": "Feltöltés"
|
||||
},
|
||||
"qbittorrent": {
|
||||
"download": "Letöltés",
|
||||
"upload": "Feltöltés",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
"leech": "Letöltés",
|
||||
"seed": "Feltöltés"
|
||||
},
|
||||
"qnap": {
|
||||
"cpuUsage": "Processzor Használat",
|
||||
@@ -216,14 +222,14 @@
|
||||
"deluge": {
|
||||
"download": "Letöltés",
|
||||
"upload": "Feltöltés",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
"leech": "Letöltés",
|
||||
"seed": "Feltöltés"
|
||||
},
|
||||
"downloadstation": {
|
||||
"download": "Letöltés",
|
||||
"upload": "Feltöltés",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
"leech": "Letöltés",
|
||||
"seed": "Feltöltés"
|
||||
},
|
||||
"sonarr": {
|
||||
"wanted": "Keresett",
|
||||
@@ -304,12 +310,12 @@
|
||||
"never": "Soha",
|
||||
"last_seen": "Utoljára látott",
|
||||
"now": "Most",
|
||||
"years": "{{number}}y",
|
||||
"weeks": "{{number}}w",
|
||||
"days": "{{number}}d",
|
||||
"hours": "{{number}}h",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"years": "{{number}}év",
|
||||
"weeks": "{{number}}h",
|
||||
"days": "{{number}}n",
|
||||
"hours": "{{number}}ó",
|
||||
"minutes": "{{number}}p",
|
||||
"seconds": "{{number}}mp",
|
||||
"ago": "{{value}} Ezelőtt"
|
||||
},
|
||||
"tdarr": {
|
||||
@@ -376,7 +382,7 @@
|
||||
"version": "Verzió",
|
||||
"status": "Státusz",
|
||||
"up": "Csatlakozva",
|
||||
"down": "Offline"
|
||||
"down": "Nem elérhető"
|
||||
},
|
||||
"miniflux": {
|
||||
"read": "Olvasott",
|
||||
@@ -388,7 +394,7 @@
|
||||
"failedLoginsLast24H": "Sikertelen bejelentkezések (24h)"
|
||||
},
|
||||
"proxmox": {
|
||||
"mem": "MEM",
|
||||
"mem": "RAM",
|
||||
"cpu": "Processzor",
|
||||
"lxc": "LXC",
|
||||
"vms": "VM-ek"
|
||||
@@ -397,21 +403,21 @@
|
||||
"cpu": "Processzor",
|
||||
"load": "Terhelés",
|
||||
"wait": "Kérjük várjon",
|
||||
"temp": "TEMP",
|
||||
"temp": "HŐ",
|
||||
"_temp": "Hőmérséklet",
|
||||
"warn": "Figyelmeztet",
|
||||
"uptime": "FUT",
|
||||
"total": "Összes",
|
||||
"free": "Szabad",
|
||||
"used": "Használt",
|
||||
"days": "d",
|
||||
"hours": "h",
|
||||
"crit": "Crit",
|
||||
"days": "n",
|
||||
"hours": "ó",
|
||||
"crit": "Kritikus",
|
||||
"read": "Olvasott",
|
||||
"write": "Írás",
|
||||
"gpu": "GPU",
|
||||
"mem": "Memória",
|
||||
"swap": "Swap"
|
||||
"swap": "Csere"
|
||||
},
|
||||
"quicklaunch": {
|
||||
"bookmark": "Könyvjelző",
|
||||
@@ -419,7 +425,8 @@
|
||||
"search": "Keresés",
|
||||
"custom": "Egyedi",
|
||||
"visit": "Megnéz",
|
||||
"url": "URL"
|
||||
"url": "LINK",
|
||||
"searchsuggestion": "Javaslat"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "Napos",
|
||||
@@ -535,7 +542,15 @@
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Csatornák",
|
||||
"hd": "HD"
|
||||
"hd": "HD",
|
||||
"tunerCount": "Tuners",
|
||||
"channelNumber": "Channel",
|
||||
"channelNetwork": "Network",
|
||||
"signalStrength": "Strength",
|
||||
"signalQuality": "Quality",
|
||||
"symbolQuality": "Quality",
|
||||
"networkRate": "Bitráta",
|
||||
"clientIP": "Client"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Megfelelt",
|
||||
@@ -547,12 +562,12 @@
|
||||
"total": "Összes"
|
||||
},
|
||||
"peanut": {
|
||||
"battery_charge": "Battery Charge",
|
||||
"ups_load": "UPS Load",
|
||||
"ups_status": "UPS Status",
|
||||
"battery_charge": "Akku töltöttsége",
|
||||
"ups_load": "UPS terheltsége",
|
||||
"ups_status": "UPS állapot",
|
||||
"online": "Csatlakozva",
|
||||
"on_battery": "On Battery",
|
||||
"low_battery": "Low Battery"
|
||||
"on_battery": "Akkuról",
|
||||
"low_battery": "Alacsony töltöttség"
|
||||
},
|
||||
"nextdns": {
|
||||
"wait": "Kérjük Várjon",
|
||||
@@ -570,10 +585,10 @@
|
||||
"streams_xepg": "XEPG Csatornák"
|
||||
},
|
||||
"opendtu": {
|
||||
"yieldDay": "Today",
|
||||
"absolutePower": "Power",
|
||||
"relativePower": "Power %",
|
||||
"limit": "Limit"
|
||||
"yieldDay": "Ma",
|
||||
"absolutePower": "Energia",
|
||||
"relativePower": "Energia %",
|
||||
"limit": "Korlát"
|
||||
},
|
||||
"opnsense": {
|
||||
"cpu": "Processzor Terhelés",
|
||||
@@ -624,13 +639,13 @@
|
||||
"down": "Nem Elérhető Webhelyek",
|
||||
"uptime": "Üzemidő",
|
||||
"incident": "Incidens",
|
||||
"m": "m"
|
||||
"m": "p"
|
||||
},
|
||||
"atsumeru": {
|
||||
"series": "Sorozat",
|
||||
"archives": "Archives",
|
||||
"chapters": "Chapters",
|
||||
"categories": "Categories"
|
||||
"archives": "Archívum",
|
||||
"chapters": "Fejezetek",
|
||||
"categories": "Kategóriák"
|
||||
},
|
||||
"komga": {
|
||||
"libraries": "Könyvtárak",
|
||||
@@ -694,8 +709,13 @@
|
||||
"targets_down": "Célpontok Állnak",
|
||||
"targets_total": "Összes Célpont"
|
||||
},
|
||||
"gatus": {
|
||||
"up": "Futó Webhelyek",
|
||||
"down": "Nem Elérhető Webhelyek",
|
||||
"uptime": "Üzemidő"
|
||||
},
|
||||
"ghostfolio": {
|
||||
"gross_percent_today": "Today",
|
||||
"gross_percent_today": "Ma",
|
||||
"gross_percent_1y": "Egy év",
|
||||
"gross_percent_max": "Mindig"
|
||||
},
|
||||
@@ -716,8 +736,8 @@
|
||||
},
|
||||
"calibreweb": {
|
||||
"books": "Könyvek",
|
||||
"authors": "Authors",
|
||||
"categories": "Categories",
|
||||
"authors": "Szerzők",
|
||||
"categories": "Kategóriák",
|
||||
"series": "Sorozat"
|
||||
},
|
||||
"jdownloader": {
|
||||
@@ -731,22 +751,22 @@
|
||||
"totalFiles": "Fájlok"
|
||||
},
|
||||
"azuredevops": {
|
||||
"result": "Result",
|
||||
"result": "Eredmény",
|
||||
"status": "Státusz",
|
||||
"buildId": "Build ID",
|
||||
"succeeded": "Succeeded",
|
||||
"buildId": "Gyártás ID",
|
||||
"succeeded": "Sikerült",
|
||||
"notStarted": "Nem indult",
|
||||
"failed": "Sikertelen",
|
||||
"canceled": "Megszakítva",
|
||||
"inProgress": "Folyamatban",
|
||||
"totalPrs": "Total PRs",
|
||||
"myPrs": "My PRs",
|
||||
"totalPrs": "Minden PR",
|
||||
"myPrs": "Saját PR-ek",
|
||||
"approved": "Engedélyezett"
|
||||
},
|
||||
"gamedig": {
|
||||
"status": "Státusz",
|
||||
"online": "Csatlakozva",
|
||||
"offline": "Offline",
|
||||
"offline": "Nem elérhető",
|
||||
"name": "Név",
|
||||
"map": "Térkép",
|
||||
"currentPlayers": "Jelenlegi játékosok",
|
||||
@@ -764,7 +784,7 @@
|
||||
"mealie": {
|
||||
"recipes": "Receptek",
|
||||
"users": "Felhasználók",
|
||||
"categories": "Categories",
|
||||
"categories": "Kategóriák",
|
||||
"tags": "Címkék"
|
||||
},
|
||||
"openmediavault": {
|
||||
@@ -775,33 +795,73 @@
|
||||
"passed": "Megfelelt",
|
||||
"failed": "Sikertelen"
|
||||
},
|
||||
"openwrt": {
|
||||
"uptime": "Üzemidő",
|
||||
"cpuLoad": "CPU Load Avg (5m)",
|
||||
"up": "Fel",
|
||||
"down": "Le",
|
||||
"bytesTx": "Transmitted",
|
||||
"bytesRx": "Fogadott"
|
||||
},
|
||||
"uptimerobot": {
|
||||
"status": "Státusz",
|
||||
"uptime": "Üzemidő",
|
||||
"lastDown": "Last Downtime",
|
||||
"downDuration": "Downtime Duration",
|
||||
"lastDown": "Utolsó leállás",
|
||||
"downDuration": "Leállás ideje",
|
||||
"sitesUp": "Futó Webhelyek",
|
||||
"sitesDown": "Nem Elérhető Webhelyek",
|
||||
"paused": "Szünetel",
|
||||
"notyetchecked": "Not Yet Checked",
|
||||
"notyetchecked": "Még nincs ellenőrizve",
|
||||
"up": "Fel",
|
||||
"seemsdown": "Seems Down",
|
||||
"seemsdown": "Elérhetetlennek tűnik",
|
||||
"down": "Le",
|
||||
"unknown": "Ismeretlen"
|
||||
},
|
||||
"calendar": {
|
||||
"inCinemas": "In cinemas",
|
||||
"physicalRelease": "Physical release",
|
||||
"inCinemas": "Mozikban",
|
||||
"physicalRelease": "Fizikai kiadás",
|
||||
"digitalRelease": "Digitális kiadás",
|
||||
"noEventsToday": "Ezen a napon nincsenek események!",
|
||||
"noEventsFound": "Nem található esemény"
|
||||
},
|
||||
"romm": {
|
||||
"platforms": "Platforms",
|
||||
"totalRoms": "Total ROMs"
|
||||
"platforms": "Felület",
|
||||
"totalRoms": "Minden ROM"
|
||||
},
|
||||
"netdata": {
|
||||
"warnings": "Warnings",
|
||||
"criticals": "Criticals"
|
||||
"warnings": "Figyelmeztetések",
|
||||
"criticals": "Kritikusok"
|
||||
},
|
||||
"plantit": {
|
||||
"events": "Events",
|
||||
"plants": "Plants",
|
||||
"photos": "Fényképek",
|
||||
"species": "Species"
|
||||
},
|
||||
"gitea": {
|
||||
"notifications": "Notifications",
|
||||
"issues": "Problémák",
|
||||
"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": "Címkék",
|
||||
"oCount": "O Count"
|
||||
},
|
||||
"tandoor": {
|
||||
"users": "Felhasználók",
|
||||
"recipes": "Receptek",
|
||||
"keywords": "Keywords"
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -107,6 +107,12 @@
|
||||
"episodes": "Episodi",
|
||||
"songs": "Canzoni"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "Non in linea",
|
||||
"online": "Online",
|
||||
"total": "Totale",
|
||||
"unknown": "Sconosciuto"
|
||||
},
|
||||
"evcc": {
|
||||
"pv_power": "Produzione",
|
||||
"battery_soc": "Batteria",
|
||||
@@ -127,21 +133,21 @@
|
||||
},
|
||||
"fritzbox": {
|
||||
"connectionStatus": "Stato",
|
||||
"connectionStatusUnconfigured": "Unconfigured",
|
||||
"connectionStatusConnecting": "Connecting",
|
||||
"connectionStatusAuthenticating": "Authenticating",
|
||||
"connectionStatusPendingDisconnect": "Pending Disconnect",
|
||||
"connectionStatusDisconnecting": "Disconnecting",
|
||||
"connectionStatusDisconnected": "Disconnected",
|
||||
"connectionStatusUnconfigured": "Non configurato",
|
||||
"connectionStatusConnecting": "Connessione in corso",
|
||||
"connectionStatusAuthenticating": "In fase di autenticazione",
|
||||
"connectionStatusPendingDisconnect": "In attesa di disconnessione",
|
||||
"connectionStatusDisconnecting": "Disconnessione in corso",
|
||||
"connectionStatusDisconnected": "Disconnesso",
|
||||
"connectionStatusConnected": "Connesso",
|
||||
"uptime": "Tempo di attività",
|
||||
"maxDown": "Max. Down",
|
||||
"maxUp": "Max. Up",
|
||||
"down": "Down",
|
||||
"up": "Up",
|
||||
"received": "Received",
|
||||
"sent": "Sent",
|
||||
"externalIPAddress": "Ext. IP"
|
||||
"received": "Ricevuti",
|
||||
"sent": "Inviati",
|
||||
"externalIPAddress": "IP Esterno"
|
||||
},
|
||||
"caddy": {
|
||||
"upstreams": "Upstream",
|
||||
@@ -419,7 +425,8 @@
|
||||
"search": "Cerca",
|
||||
"custom": "Personalizzato",
|
||||
"visit": "Visita",
|
||||
"url": "URL"
|
||||
"url": "URL",
|
||||
"searchsuggestion": "Suggestion"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "Soleggiato",
|
||||
@@ -535,7 +542,15 @@
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Canali",
|
||||
"hd": "HD"
|
||||
"hd": "HD",
|
||||
"tunerCount": "Tuners",
|
||||
"channelNumber": "Channel",
|
||||
"channelNetwork": "Network",
|
||||
"signalStrength": "Strength",
|
||||
"signalQuality": "Quality",
|
||||
"symbolQuality": "Quality",
|
||||
"networkRate": "Bitrate",
|
||||
"clientIP": "Client"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Passati",
|
||||
@@ -694,6 +709,11 @@
|
||||
"targets_down": "Target Non Attivi",
|
||||
"targets_total": "Targets Totali"
|
||||
},
|
||||
"gatus": {
|
||||
"up": "Siti On",
|
||||
"down": "Siti Down",
|
||||
"uptime": "Tempo di attività"
|
||||
},
|
||||
"ghostfolio": {
|
||||
"gross_percent_today": "Oggi",
|
||||
"gross_percent_1y": "Un anno",
|
||||
@@ -775,6 +795,14 @@
|
||||
"passed": "Passati",
|
||||
"failed": "Fallito"
|
||||
},
|
||||
"openwrt": {
|
||||
"uptime": "Tempo di attività",
|
||||
"cpuLoad": "CPU Load Avg (5m)",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"bytesTx": "Transmitted",
|
||||
"bytesRx": "Ricevuti"
|
||||
},
|
||||
"uptimerobot": {
|
||||
"status": "Stato",
|
||||
"uptime": "Tempo di attività",
|
||||
@@ -803,5 +831,37 @@
|
||||
"netdata": {
|
||||
"warnings": "Warnings",
|
||||
"criticals": "Criticals"
|
||||
},
|
||||
"plantit": {
|
||||
"events": "Events",
|
||||
"plants": "Plants",
|
||||
"photos": "Foto",
|
||||
"species": "Species"
|
||||
},
|
||||
"gitea": {
|
||||
"notifications": "Notifications",
|
||||
"issues": "Problemi",
|
||||
"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": "Tag",
|
||||
"oCount": "O Count"
|
||||
},
|
||||
"tandoor": {
|
||||
"users": "Utenti",
|
||||
"recipes": "Ricette",
|
||||
"keywords": "Keywords"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,10 +15,10 @@
|
||||
"relativeDate": "{{value, relativeDate}}",
|
||||
"uptime": "{{value, uptime}}",
|
||||
"months": "mo",
|
||||
"days": "d",
|
||||
"hours": "h",
|
||||
"minutes": "m",
|
||||
"seconds": "s"
|
||||
"days": "日",
|
||||
"hours": "時間",
|
||||
"minutes": "分",
|
||||
"seconds": "秒"
|
||||
},
|
||||
"widget": {
|
||||
"missing_type": "見つからないウィジェットタイプ: {{type}}",
|
||||
@@ -64,22 +64,22 @@
|
||||
"up": "上へ",
|
||||
"down": "下へ",
|
||||
"wait": "お待ちください",
|
||||
"empty_data": "サブシステム状態・不明"
|
||||
"empty_data": "サブシステムの状態は不明"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
"tx": "TX",
|
||||
"rx": "受信済み",
|
||||
"tx": "送信済み",
|
||||
"mem": "MEM",
|
||||
"cpu": "CPU",
|
||||
"running": "起動中",
|
||||
"offline": "オフライン",
|
||||
"error": "エラー",
|
||||
"unknown": "不明",
|
||||
"healthy": "健全",
|
||||
"healthy": "正常",
|
||||
"starting": "起動中",
|
||||
"unhealthy": "非健全",
|
||||
"not_found": "不明",
|
||||
"exited": "終了",
|
||||
"exited": "停止しました",
|
||||
"partial": "部分的"
|
||||
},
|
||||
"ping": {
|
||||
@@ -90,7 +90,7 @@
|
||||
"not_available": "利用できません。"
|
||||
},
|
||||
"siteMonitor": {
|
||||
"http_status": "HTTP status",
|
||||
"http_status": "HTTP ステータス",
|
||||
"error": "エラー",
|
||||
"response": "Response",
|
||||
"down": "下へ",
|
||||
@@ -107,6 +107,12 @@
|
||||
"episodes": "エピソード",
|
||||
"songs": "曲"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "オフライン",
|
||||
"online": "オンライン",
|
||||
"total": "合計",
|
||||
"unknown": "不明"
|
||||
},
|
||||
"evcc": {
|
||||
"pv_power": "発電量",
|
||||
"battery_soc": "バッテリー",
|
||||
@@ -139,8 +145,8 @@
|
||||
"maxUp": "Max. Up",
|
||||
"down": "下へ",
|
||||
"up": "上へ",
|
||||
"received": "Received",
|
||||
"sent": "Sent",
|
||||
"received": "受信済み",
|
||||
"sent": "送信済み",
|
||||
"externalIPAddress": "Ext. IP"
|
||||
},
|
||||
"caddy": {
|
||||
@@ -404,8 +410,8 @@
|
||||
"total": "合計",
|
||||
"free": "空き",
|
||||
"used": "使用",
|
||||
"days": "d",
|
||||
"hours": "h",
|
||||
"days": "日",
|
||||
"hours": "時間",
|
||||
"crit": "クリティカル",
|
||||
"read": "既読",
|
||||
"write": "書き込み",
|
||||
@@ -419,7 +425,8 @@
|
||||
"search": "検索",
|
||||
"custom": "カスタム",
|
||||
"visit": "訪問",
|
||||
"url": "URL"
|
||||
"url": "URL",
|
||||
"searchsuggestion": "提案"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "晴れ",
|
||||
@@ -523,7 +530,7 @@
|
||||
"alerts": "アラート"
|
||||
},
|
||||
"pyload": {
|
||||
"speed": "スピード",
|
||||
"speed": "速度",
|
||||
"active": "アクティブ",
|
||||
"queue": "キュー",
|
||||
"total": "合計"
|
||||
@@ -535,7 +542,15 @@
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "チャンネル",
|
||||
"hd": "HD"
|
||||
"hd": "HD",
|
||||
"tunerCount": "Tuners",
|
||||
"channelNumber": "チャンネル",
|
||||
"channelNetwork": "ネットワーク",
|
||||
"signalStrength": "強さ",
|
||||
"signalQuality": "クオリティ",
|
||||
"symbolQuality": "クオリティ",
|
||||
"networkRate": "ビットレート",
|
||||
"clientIP": "クライアント IP"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "合格",
|
||||
@@ -548,11 +563,11 @@
|
||||
},
|
||||
"peanut": {
|
||||
"battery_charge": "Battery Charge",
|
||||
"ups_load": "UPS Load",
|
||||
"ups_status": "UPS Status",
|
||||
"ups_load": "UPS 負荷",
|
||||
"ups_status": "UPS 状態",
|
||||
"online": "オンライン",
|
||||
"on_battery": "On Battery",
|
||||
"low_battery": "Low Battery"
|
||||
"on_battery": "バッテリー稼働中",
|
||||
"low_battery": "バッテリー残量低下"
|
||||
},
|
||||
"nextdns": {
|
||||
"wait": "お待ちください",
|
||||
@@ -560,7 +575,7 @@
|
||||
},
|
||||
"mikrotik": {
|
||||
"cpuLoad": "CPU負荷",
|
||||
"memoryUsed": "使用済みメモリ",
|
||||
"memoryUsed": "メモリ使用量",
|
||||
"uptime": "稼働時間",
|
||||
"numberOfLeases": "リース"
|
||||
},
|
||||
@@ -623,8 +638,8 @@
|
||||
"up": "サイトUp",
|
||||
"down": "サイトDown",
|
||||
"uptime": "稼働時間",
|
||||
"incident": "インシデント",
|
||||
"m": "m"
|
||||
"incident": "事件",
|
||||
"m": "分"
|
||||
},
|
||||
"atsumeru": {
|
||||
"series": "シリーズ",
|
||||
@@ -694,6 +709,11 @@
|
||||
"targets_down": "ターゲット Down",
|
||||
"targets_total": "ターゲット合計"
|
||||
},
|
||||
"gatus": {
|
||||
"up": "サイトUp",
|
||||
"down": "サイトDown",
|
||||
"uptime": "稼働時間"
|
||||
},
|
||||
"ghostfolio": {
|
||||
"gross_percent_today": "今日",
|
||||
"gross_percent_1y": "1年",
|
||||
@@ -724,7 +744,7 @@
|
||||
"downloadCount": "キュー",
|
||||
"downloadBytesRemaining": "残り",
|
||||
"downloadTotalBytes": "サイズ",
|
||||
"downloadSpeed": "スピード"
|
||||
"downloadSpeed": "速度"
|
||||
},
|
||||
"kavita": {
|
||||
"seriesCount": "シリーズ",
|
||||
@@ -775,11 +795,19 @@
|
||||
"passed": "合格",
|
||||
"failed": "失敗"
|
||||
},
|
||||
"openwrt": {
|
||||
"uptime": "稼働時間",
|
||||
"cpuLoad": "CPU 平均負荷(5 分)",
|
||||
"up": "上へ",
|
||||
"down": "下へ",
|
||||
"bytesTx": "送信済み",
|
||||
"bytesRx": "受信済み"
|
||||
},
|
||||
"uptimerobot": {
|
||||
"status": "状態",
|
||||
"uptime": "稼働時間",
|
||||
"lastDown": "最後のダウンタイム",
|
||||
"downDuration": "ダウンタイム感覚",
|
||||
"downDuration": "ダウンタイム時間",
|
||||
"sitesUp": "サイトUp",
|
||||
"sitesDown": "サイトDown",
|
||||
"paused": "一時停止中",
|
||||
@@ -793,15 +821,47 @@
|
||||
"inCinemas": "映画館内",
|
||||
"physicalRelease": "物理的なリリース",
|
||||
"digitalRelease": "デジタル・リリース",
|
||||
"noEventsToday": "No events for today!",
|
||||
"noEventsFound": "No events found"
|
||||
"noEventsToday": "本日の予定なし",
|
||||
"noEventsFound": "予定が見つかりません"
|
||||
},
|
||||
"romm": {
|
||||
"platforms": "Platforms",
|
||||
"totalRoms": "Total ROMs"
|
||||
},
|
||||
"netdata": {
|
||||
"warnings": "Warnings",
|
||||
"criticals": "Criticals"
|
||||
"warnings": "警告",
|
||||
"criticals": "重大"
|
||||
},
|
||||
"plantit": {
|
||||
"events": "Events",
|
||||
"plants": "Plants",
|
||||
"photos": "写真",
|
||||
"species": "Species"
|
||||
},
|
||||
"gitea": {
|
||||
"notifications": "Notifications",
|
||||
"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"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -107,6 +107,12 @@
|
||||
"episodes": "에피소드",
|
||||
"songs": "음악"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "중지",
|
||||
"online": "Online",
|
||||
"total": "총합",
|
||||
"unknown": "알 수 없음"
|
||||
},
|
||||
"evcc": {
|
||||
"pv_power": "Production",
|
||||
"battery_soc": "Battery",
|
||||
@@ -419,7 +425,8 @@
|
||||
"search": "Search",
|
||||
"custom": "Custom",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
"url": "URL",
|
||||
"searchsuggestion": "Suggestion"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "Sunny",
|
||||
@@ -535,7 +542,15 @@
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Channels",
|
||||
"hd": "HD"
|
||||
"hd": "HD",
|
||||
"tunerCount": "Tuners",
|
||||
"channelNumber": "Channel",
|
||||
"channelNetwork": "Network",
|
||||
"signalStrength": "Strength",
|
||||
"signalQuality": "Quality",
|
||||
"symbolQuality": "Quality",
|
||||
"networkRate": "비트레이트",
|
||||
"clientIP": "Client"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Passed",
|
||||
@@ -694,6 +709,11 @@
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
},
|
||||
"gatus": {
|
||||
"up": "Sites Up",
|
||||
"down": "Sites Down",
|
||||
"uptime": "Uptime"
|
||||
},
|
||||
"ghostfolio": {
|
||||
"gross_percent_today": "Today",
|
||||
"gross_percent_1y": "One year",
|
||||
@@ -775,6 +795,14 @@
|
||||
"passed": "Passed",
|
||||
"failed": "Failed"
|
||||
},
|
||||
"openwrt": {
|
||||
"uptime": "Uptime",
|
||||
"cpuLoad": "CPU Load Avg (5m)",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"bytesTx": "Transmitted",
|
||||
"bytesRx": "Received"
|
||||
},
|
||||
"uptimerobot": {
|
||||
"status": "상태",
|
||||
"uptime": "Uptime",
|
||||
@@ -803,5 +831,37 @@
|
||||
"netdata": {
|
||||
"warnings": "Warnings",
|
||||
"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"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -107,6 +107,12 @@
|
||||
"episodes": "Episodes",
|
||||
"songs": "Songs"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "Bezsaistē",
|
||||
"online": "Online",
|
||||
"total": "Kopā",
|
||||
"unknown": "Nezināms"
|
||||
},
|
||||
"evcc": {
|
||||
"pv_power": "Production",
|
||||
"battery_soc": "Battery",
|
||||
@@ -419,7 +425,8 @@
|
||||
"search": "Search",
|
||||
"custom": "Custom",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
"url": "URL",
|
||||
"searchsuggestion": "Suggestion"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "Saulains",
|
||||
@@ -535,7 +542,15 @@
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Channels",
|
||||
"hd": "HD"
|
||||
"hd": "HD",
|
||||
"tunerCount": "Tuners",
|
||||
"channelNumber": "Channel",
|
||||
"channelNetwork": "Network",
|
||||
"signalStrength": "Strength",
|
||||
"signalQuality": "Quality",
|
||||
"symbolQuality": "Quality",
|
||||
"networkRate": "Bitrate",
|
||||
"clientIP": "Client"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Passed",
|
||||
@@ -694,6 +709,11 @@
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
},
|
||||
"gatus": {
|
||||
"up": "Sites Up",
|
||||
"down": "Sites Down",
|
||||
"uptime": "Uptime"
|
||||
},
|
||||
"ghostfolio": {
|
||||
"gross_percent_today": "Today",
|
||||
"gross_percent_1y": "One year",
|
||||
@@ -775,6 +795,14 @@
|
||||
"passed": "Passed",
|
||||
"failed": "Failed"
|
||||
},
|
||||
"openwrt": {
|
||||
"uptime": "Uptime",
|
||||
"cpuLoad": "CPU Load Avg (5m)",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"bytesTx": "Transmitted",
|
||||
"bytesRx": "Received"
|
||||
},
|
||||
"uptimerobot": {
|
||||
"status": "Statuss",
|
||||
"uptime": "Uptime",
|
||||
@@ -803,5 +831,37 @@
|
||||
"netdata": {
|
||||
"warnings": "Warnings",
|
||||
"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"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,9 +14,9 @@
|
||||
"date": "{{value, date}}",
|
||||
"relativeDate": "{{value, relativeDate}}",
|
||||
"uptime": "{{value, uptime}}",
|
||||
"months": "mo",
|
||||
"days": "d",
|
||||
"hours": "h",
|
||||
"months": "bln",
|
||||
"days": "h",
|
||||
"hours": "j",
|
||||
"minutes": "m",
|
||||
"seconds": "s"
|
||||
},
|
||||
@@ -45,9 +45,9 @@
|
||||
"free": "Bebas",
|
||||
"used": "Telah diguna",
|
||||
"load": "Beban",
|
||||
"temp": "TEMP",
|
||||
"max": "Max",
|
||||
"uptime": "UP"
|
||||
"temp": "SUHU",
|
||||
"max": "Tertinggi",
|
||||
"uptime": "HIDUP"
|
||||
},
|
||||
"unifi": {
|
||||
"users": "Pengguna",
|
||||
@@ -61,102 +61,108 @@
|
||||
"wlan_devices": "Peranti WLAN",
|
||||
"lan_users": "Pengguna LAN",
|
||||
"wlan_users": "Pengguna WLAN",
|
||||
"up": "UP",
|
||||
"up": "HIDUP",
|
||||
"down": "MATI",
|
||||
"wait": "Sila tunggu",
|
||||
"empty_data": "Subsystem status unknown"
|
||||
"empty_data": "Status subsistem tak diketahui"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
"tx": "TX",
|
||||
"mem": "MEM",
|
||||
"cpu": "CPU",
|
||||
"running": "Running",
|
||||
"running": "Sedang jalan",
|
||||
"offline": "Luar talian",
|
||||
"error": "Ralat",
|
||||
"unknown": "Tidak Diketahui",
|
||||
"healthy": "Healthy",
|
||||
"starting": "Starting",
|
||||
"unhealthy": "Unhealthy",
|
||||
"not_found": "Not Found",
|
||||
"exited": "Exited",
|
||||
"partial": "Partial"
|
||||
"healthy": "Sihat",
|
||||
"starting": "Bermula",
|
||||
"unhealthy": "Kurang sihat",
|
||||
"not_found": "Tidak dijumpai",
|
||||
"exited": "Dimatikan",
|
||||
"partial": "Sebahagian"
|
||||
},
|
||||
"ping": {
|
||||
"error": "Ralat",
|
||||
"ping": "Ping",
|
||||
"down": "Down",
|
||||
"up": "Up",
|
||||
"not_available": "Not Available"
|
||||
"down": "Mati",
|
||||
"up": "Hidup",
|
||||
"not_available": "Tidak dijumpai"
|
||||
},
|
||||
"siteMonitor": {
|
||||
"http_status": "HTTP status",
|
||||
"http_status": "Status HTTP",
|
||||
"error": "Ralat",
|
||||
"response": "Response",
|
||||
"down": "Down",
|
||||
"up": "Up",
|
||||
"not_available": "Not Available"
|
||||
"response": "Tindak balas",
|
||||
"down": "Mati",
|
||||
"up": "Hidup",
|
||||
"not_available": "Tidak dijumpai"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "Sedang dimainkan",
|
||||
"transcoding": "Transkoding",
|
||||
"bitrate": "Kadar bit",
|
||||
"no_active": "Tiada Strim Aktif",
|
||||
"movies": "Movies",
|
||||
"series": "Series",
|
||||
"episodes": "Episodes",
|
||||
"songs": "Songs"
|
||||
"movies": "Filem",
|
||||
"series": "Siri",
|
||||
"episodes": "Episod",
|
||||
"songs": "Lagu"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "Luar talian",
|
||||
"online": "Dalam Talian",
|
||||
"total": "Jumlah",
|
||||
"unknown": "Tidak Diketahui"
|
||||
},
|
||||
"evcc": {
|
||||
"pv_power": "Production",
|
||||
"battery_soc": "Battery",
|
||||
"pv_power": "Produksi",
|
||||
"battery_soc": "Bateri",
|
||||
"grid_power": "Grid",
|
||||
"home_power": "Consumption",
|
||||
"charge_power": "Charger",
|
||||
"watt_hour": "Wh"
|
||||
"home_power": "Penggunaan",
|
||||
"charge_power": "Pengecas",
|
||||
"watt_hour": "Wj"
|
||||
},
|
||||
"flood": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"download": "Muat turun",
|
||||
"upload": "Muat naik",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"freshrss": {
|
||||
"subscriptions": "Subscriptions",
|
||||
"unread": "Unread"
|
||||
"subscriptions": "Langganan",
|
||||
"unread": "Belum dibaca"
|
||||
},
|
||||
"fritzbox": {
|
||||
"connectionStatus": "Status",
|
||||
"connectionStatusUnconfigured": "Unconfigured",
|
||||
"connectionStatusConnecting": "Connecting",
|
||||
"connectionStatusAuthenticating": "Authenticating",
|
||||
"connectionStatusPendingDisconnect": "Pending Disconnect",
|
||||
"connectionStatusDisconnecting": "Disconnecting",
|
||||
"connectionStatusDisconnected": "Disconnected",
|
||||
"connectionStatusUnconfigured": "Belum disuai",
|
||||
"connectionStatusConnecting": "Menyambung",
|
||||
"connectionStatusAuthenticating": "Pengesahan",
|
||||
"connectionStatusPendingDisconnect": "Tunggu untuk Putus",
|
||||
"connectionStatusDisconnecting": "Putuskan",
|
||||
"connectionStatusDisconnected": "Sambungan Terputus",
|
||||
"connectionStatusConnected": "Connected",
|
||||
"uptime": "Masa Hidup",
|
||||
"maxDown": "Max. Down",
|
||||
"maxUp": "Max. Up",
|
||||
"down": "Down",
|
||||
"up": "Up",
|
||||
"received": "Received",
|
||||
"sent": "Sent",
|
||||
"externalIPAddress": "Ext. IP"
|
||||
"maxDown": "Mati Maksima",
|
||||
"maxUp": "Hidup Maksima",
|
||||
"down": "Mati",
|
||||
"up": "Hidup",
|
||||
"received": "Diterima",
|
||||
"sent": "Telah dihantar",
|
||||
"externalIPAddress": "IP Luaran"
|
||||
},
|
||||
"caddy": {
|
||||
"upstreams": "Upstreams",
|
||||
"requests": "Current requests",
|
||||
"requests_failed": "Failed requests"
|
||||
"requests": "Permintaan semasa",
|
||||
"requests_failed": "Permintaan gagal"
|
||||
},
|
||||
"changedetectionio": {
|
||||
"totalObserved": "Jumlah Diperhatikan",
|
||||
"diffsDetected": "Perbezaan Dikesan"
|
||||
},
|
||||
"channelsdvrserver": {
|
||||
"shows": "Shows",
|
||||
"recordings": "Recordings",
|
||||
"scheduled": "Scheduled",
|
||||
"passes": "Passes"
|
||||
"shows": "Papar",
|
||||
"recordings": "Rakaman",
|
||||
"scheduled": "Dijadualkan",
|
||||
"passes": "Lulus"
|
||||
},
|
||||
"tautulli": {
|
||||
"playing": "Sedang dimainkan",
|
||||
@@ -180,7 +186,7 @@
|
||||
"plex": {
|
||||
"streams": "Strim Aktif",
|
||||
"albums": "Albums",
|
||||
"movies": "Movies",
|
||||
"movies": "Filem",
|
||||
"tv": "Rancangan TV"
|
||||
},
|
||||
"sabnzbd": {
|
||||
@@ -190,18 +196,18 @@
|
||||
},
|
||||
"rutorrent": {
|
||||
"active": "Aktif",
|
||||
"upload": "Upload",
|
||||
"download": "Download"
|
||||
"upload": "Muat naik",
|
||||
"download": "Muat turun"
|
||||
},
|
||||
"transmission": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"download": "Muat turun",
|
||||
"upload": "Muat naik",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"qbittorrent": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"download": "Muat turun",
|
||||
"upload": "Muat naik",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
@@ -214,21 +220,21 @@
|
||||
"invalid": "Invalid"
|
||||
},
|
||||
"deluge": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"download": "Muat turun",
|
||||
"upload": "Muat naik",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"downloadstation": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"download": "Muat turun",
|
||||
"upload": "Muat naik",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"sonarr": {
|
||||
"wanted": "Mahu",
|
||||
"queued": "Dibaris Gilir",
|
||||
"series": "Series",
|
||||
"series": "Siri",
|
||||
"queue": "Barisan",
|
||||
"unknown": "Tidak Diketahui"
|
||||
},
|
||||
@@ -236,7 +242,7 @@
|
||||
"wanted": "Mahu",
|
||||
"missing": "Hilang",
|
||||
"queued": "Dibaris Gilir",
|
||||
"movies": "Movies",
|
||||
"movies": "Filem",
|
||||
"queue": "Barisan",
|
||||
"unknown": "Tidak Diketahui"
|
||||
},
|
||||
@@ -289,12 +295,12 @@
|
||||
"latency": "Kependaman"
|
||||
},
|
||||
"speedtest": {
|
||||
"upload": "Upload",
|
||||
"download": "Download",
|
||||
"upload": "Muat naik",
|
||||
"download": "Muat turun",
|
||||
"ping": "Ping"
|
||||
},
|
||||
"portainer": {
|
||||
"running": "Running",
|
||||
"running": "Sedang jalan",
|
||||
"stopped": "Terhenti",
|
||||
"total": "Jumlah"
|
||||
},
|
||||
@@ -310,13 +316,13 @@
|
||||
"hours": "{{number}}h",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "{{value}} Ago"
|
||||
"ago": "{{value}} Lepas"
|
||||
},
|
||||
"tdarr": {
|
||||
"queue": "Barisan",
|
||||
"processed": "Processed",
|
||||
"errored": "Errored",
|
||||
"saved": "Saved"
|
||||
"processed": "Sudah diprosess",
|
||||
"errored": "Ralat",
|
||||
"saved": "Simpan"
|
||||
},
|
||||
"traefik": {
|
||||
"routers": "Router",
|
||||
@@ -353,7 +359,7 @@
|
||||
},
|
||||
"jackett": {
|
||||
"configured": "Telah Dikonfigurasi",
|
||||
"errored": "Errored"
|
||||
"errored": "Ralat"
|
||||
},
|
||||
"strelaysrv": {
|
||||
"numActiveSessions": "Sesi",
|
||||
@@ -369,18 +375,18 @@
|
||||
"medusa": {
|
||||
"wanted": "Mahu",
|
||||
"queued": "Dibaris Gilir",
|
||||
"series": "Series"
|
||||
"series": "Siri"
|
||||
},
|
||||
"minecraft": {
|
||||
"players": "Players",
|
||||
"version": "Version",
|
||||
"players": "Senarai pemain",
|
||||
"version": "Versi",
|
||||
"status": "Status",
|
||||
"up": "Online",
|
||||
"up": "Dalam Talian",
|
||||
"down": "Luar talian"
|
||||
},
|
||||
"miniflux": {
|
||||
"read": "Read",
|
||||
"unread": "Unread"
|
||||
"read": "Baca",
|
||||
"unread": "Belum dibaca"
|
||||
},
|
||||
"authentik": {
|
||||
"users": "Pengguna",
|
||||
@@ -390,36 +396,37 @@
|
||||
"proxmox": {
|
||||
"mem": "MEM",
|
||||
"cpu": "CPU",
|
||||
"lxc": "LXC",
|
||||
"lxc": "LCX",
|
||||
"vms": "Mesin Maya"
|
||||
},
|
||||
"glances": {
|
||||
"cpu": "CPU",
|
||||
"load": "Beban",
|
||||
"wait": "Sila tunggu",
|
||||
"temp": "TEMP",
|
||||
"_temp": "Temp",
|
||||
"warn": "Warn",
|
||||
"uptime": "UP",
|
||||
"temp": "SUHU",
|
||||
"_temp": "Suhu",
|
||||
"warn": "Amaran",
|
||||
"uptime": "HIDUP",
|
||||
"total": "Jumlah",
|
||||
"free": "Bebas",
|
||||
"used": "Telah diguna",
|
||||
"days": "d",
|
||||
"hours": "h",
|
||||
"crit": "Crit",
|
||||
"read": "Read",
|
||||
"write": "Write",
|
||||
"days": "h",
|
||||
"hours": "j",
|
||||
"crit": "Krit",
|
||||
"read": "Baca",
|
||||
"write": "Tulis",
|
||||
"gpu": "GPU",
|
||||
"mem": "Mem",
|
||||
"swap": "Swap"
|
||||
"swap": "Penukaran"
|
||||
},
|
||||
"quicklaunch": {
|
||||
"bookmark": "Tandabuku",
|
||||
"service": "Servis",
|
||||
"search": "Search",
|
||||
"custom": "Custom",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
"search": "Carian",
|
||||
"custom": "Khusus",
|
||||
"visit": "Lawat",
|
||||
"url": "URL",
|
||||
"searchsuggestion": "Cadangan"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "Terik",
|
||||
@@ -486,19 +493,19 @@
|
||||
"up_to_date": "Terkemaskini",
|
||||
"child_bridges": "Jambatan Anak",
|
||||
"child_bridges_status": "{{ok}}/{{total}}",
|
||||
"up": "Up",
|
||||
"up": "Hidup",
|
||||
"pending": "Tertunda",
|
||||
"down": "Down"
|
||||
"down": "Mati"
|
||||
},
|
||||
"healthchecks": {
|
||||
"new": "New",
|
||||
"up": "Up",
|
||||
"grace": "In Grace Period",
|
||||
"down": "Down",
|
||||
"paused": "Paused",
|
||||
"new": "Baharu",
|
||||
"up": "Hidup",
|
||||
"grace": "Tempoh Aman",
|
||||
"down": "Mati",
|
||||
"paused": "Tangguh",
|
||||
"status": "Status",
|
||||
"last_ping": "Last Ping",
|
||||
"never": "No pings yet"
|
||||
"last_ping": "Ping terakhir",
|
||||
"never": "Tiada ping"
|
||||
},
|
||||
"watchtower": {
|
||||
"containers_scanned": "Terimbas",
|
||||
@@ -535,7 +542,15 @@
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Saluran",
|
||||
"hd": "HD"
|
||||
"hd": "HD",
|
||||
"tunerCount": "Penala",
|
||||
"channelNumber": "Saluran",
|
||||
"channelNetwork": "Rangkaian",
|
||||
"signalStrength": "Kekuatan",
|
||||
"signalQuality": "Kualiti",
|
||||
"symbolQuality": "Kualiti",
|
||||
"networkRate": "Kadar bit",
|
||||
"clientIP": "Klien"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Lulus",
|
||||
@@ -547,36 +562,36 @@
|
||||
"total": "Jumlah"
|
||||
},
|
||||
"peanut": {
|
||||
"battery_charge": "Battery Charge",
|
||||
"ups_load": "UPS Load",
|
||||
"ups_status": "UPS Status",
|
||||
"online": "Online",
|
||||
"on_battery": "On Battery",
|
||||
"low_battery": "Low Battery"
|
||||
"battery_charge": "Bateri dicas",
|
||||
"ups_load": "Beban UPS",
|
||||
"ups_status": "Status UPS",
|
||||
"online": "Dalam Talian",
|
||||
"on_battery": "Guna bateri",
|
||||
"low_battery": "Bateri lemah"
|
||||
},
|
||||
"nextdns": {
|
||||
"wait": "Sila tunggu",
|
||||
"no_devices": "No Device Data Received"
|
||||
"no_devices": "Tiada Data Diterima Peranti"
|
||||
},
|
||||
"mikrotik": {
|
||||
"cpuLoad": "CPU Load",
|
||||
"memoryUsed": "Memory Used",
|
||||
"cpuLoad": "Beban CPU",
|
||||
"memoryUsed": "Penggunaan memori",
|
||||
"uptime": "Masa Hidup",
|
||||
"numberOfLeases": "Leases"
|
||||
"numberOfLeases": "Sewaan"
|
||||
},
|
||||
"xteve": {
|
||||
"streams_all": "All Streams",
|
||||
"streams_all": "Semua Strim",
|
||||
"streams_active": "Strim Aktif",
|
||||
"streams_xepg": "XEPG Channels"
|
||||
"streams_xepg": "Saluran XEPG"
|
||||
},
|
||||
"opendtu": {
|
||||
"yieldDay": "Today",
|
||||
"absolutePower": "Power",
|
||||
"relativePower": "Power %",
|
||||
"limit": "Limit"
|
||||
"yieldDay": "Hari ini",
|
||||
"absolutePower": "Kuasa",
|
||||
"relativePower": "Kuasa %",
|
||||
"limit": "Had/Batas"
|
||||
},
|
||||
"opnsense": {
|
||||
"cpu": "CPU Load",
|
||||
"cpu": "Beban CPU",
|
||||
"memory": "Active Memory",
|
||||
"wanUpload": "WAN Upload",
|
||||
"wanDownload": "WAN Download"
|
||||
@@ -601,9 +616,9 @@
|
||||
"load": "Load Avg",
|
||||
"memory": "Mem Usage",
|
||||
"wanStatus": "WAN Status",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"temp": "Temp",
|
||||
"up": "Hidup",
|
||||
"down": "Mati",
|
||||
"temp": "Suhu",
|
||||
"disk": "Disk Usage",
|
||||
"wanIP": "WAN IP"
|
||||
},
|
||||
@@ -627,14 +642,14 @@
|
||||
"m": "m"
|
||||
},
|
||||
"atsumeru": {
|
||||
"series": "Series",
|
||||
"series": "Siri",
|
||||
"archives": "Archives",
|
||||
"chapters": "Chapters",
|
||||
"categories": "Categories"
|
||||
},
|
||||
"komga": {
|
||||
"libraries": "Libraries",
|
||||
"series": "Series",
|
||||
"series": "Siri",
|
||||
"books": "Buku"
|
||||
},
|
||||
"diskstation": {
|
||||
@@ -643,7 +658,7 @@
|
||||
"volumeAvailable": "Sudah Ada"
|
||||
},
|
||||
"mylar": {
|
||||
"series": "Series",
|
||||
"series": "Siri",
|
||||
"issues": "Issues",
|
||||
"wanted": "Mahu"
|
||||
},
|
||||
@@ -656,7 +671,7 @@
|
||||
"fileflows": {
|
||||
"queue": "Barisan",
|
||||
"processing": "Processing",
|
||||
"processed": "Processed",
|
||||
"processed": "Sudah diprosess",
|
||||
"time": "Time"
|
||||
},
|
||||
"grafana": {
|
||||
@@ -691,34 +706,39 @@
|
||||
},
|
||||
"prometheus": {
|
||||
"targets_up": "Targets Up",
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
"targets_down": "Sasaran Mati",
|
||||
"targets_total": "Jumlah Sasaran"
|
||||
},
|
||||
"gatus": {
|
||||
"up": "Sites Up",
|
||||
"down": "Sites Down",
|
||||
"uptime": "Masa Hidup"
|
||||
},
|
||||
"ghostfolio": {
|
||||
"gross_percent_today": "Today",
|
||||
"gross_percent_1y": "One year",
|
||||
"gross_percent_max": "All time"
|
||||
"gross_percent_today": "Hari ini",
|
||||
"gross_percent_1y": "Satu tahun",
|
||||
"gross_percent_max": "Sepanjang masa"
|
||||
},
|
||||
"audiobookshelf": {
|
||||
"podcasts": "Podcasts",
|
||||
"podcasts": "Podkas",
|
||||
"books": "Buku",
|
||||
"podcastsDuration": "Duration",
|
||||
"booksDuration": "Duration"
|
||||
"podcastsDuration": "Tempoh",
|
||||
"booksDuration": "Tempoh"
|
||||
},
|
||||
"homeassistant": {
|
||||
"people_home": "People Home",
|
||||
"lights_on": "Lights On",
|
||||
"switches_on": "Switches On"
|
||||
"people_home": "Orang Dirumah",
|
||||
"lights_on": "Hidupkan Lampu",
|
||||
"switches_on": "Hidupkan Suis"
|
||||
},
|
||||
"whatsupdocker": {
|
||||
"monitoring": "Monitoring",
|
||||
"monitoring": "Pemantauan",
|
||||
"updates": "Kemaskini"
|
||||
},
|
||||
"calibreweb": {
|
||||
"books": "Buku",
|
||||
"authors": "Authors",
|
||||
"authors": "Pengarang/Penulis",
|
||||
"categories": "Categories",
|
||||
"series": "Series"
|
||||
"series": "Siri"
|
||||
},
|
||||
"jdownloader": {
|
||||
"downloadCount": "Barisan",
|
||||
@@ -727,81 +747,121 @@
|
||||
"downloadSpeed": "Kelajuan"
|
||||
},
|
||||
"kavita": {
|
||||
"seriesCount": "Series",
|
||||
"seriesCount": "Siri",
|
||||
"totalFiles": "Files"
|
||||
},
|
||||
"azuredevops": {
|
||||
"result": "Result",
|
||||
"result": "Keputusan",
|
||||
"status": "Status",
|
||||
"buildId": "Build ID",
|
||||
"succeeded": "Succeeded",
|
||||
"notStarted": "Not Started",
|
||||
"buildId": "ID Binaan",
|
||||
"succeeded": "Berjaya",
|
||||
"notStarted": "Belum Bermula",
|
||||
"failed": "Gagal",
|
||||
"canceled": "Canceled",
|
||||
"inProgress": "In Progress",
|
||||
"totalPrs": "Total PRs",
|
||||
"myPrs": "My PRs",
|
||||
"canceled": "Dibatalkan",
|
||||
"inProgress": "Sedang Diproses",
|
||||
"totalPrs": "Jumlah PR",
|
||||
"myPrs": "PR Sendiri",
|
||||
"approved": "Lulus"
|
||||
},
|
||||
"gamedig": {
|
||||
"status": "Status",
|
||||
"online": "Online",
|
||||
"online": "Dalam Talian",
|
||||
"offline": "Luar talian",
|
||||
"name": "Name",
|
||||
"map": "Map",
|
||||
"currentPlayers": "Current players",
|
||||
"players": "Players",
|
||||
"maxPlayers": "Max players",
|
||||
"bots": "Bots",
|
||||
"name": "Nama",
|
||||
"map": "Peta",
|
||||
"currentPlayers": "Pemain Semasa",
|
||||
"players": "Senarai pemain",
|
||||
"maxPlayers": "Bilangan peserta maksimum",
|
||||
"bots": "Bot",
|
||||
"ping": "Ping"
|
||||
},
|
||||
"urbackup": {
|
||||
"ok": "Ok",
|
||||
"errored": "Errors",
|
||||
"noRecent": "Out of Date",
|
||||
"totalUsed": "Used Storage"
|
||||
"errored": "Ralat",
|
||||
"noRecent": "Luput tarikh",
|
||||
"totalUsed": "Storan digunakan"
|
||||
},
|
||||
"mealie": {
|
||||
"recipes": "Recipes",
|
||||
"recipes": "Resipi",
|
||||
"users": "Pengguna",
|
||||
"categories": "Categories",
|
||||
"tags": "Tags"
|
||||
"tags": "Tanda nama"
|
||||
},
|
||||
"openmediavault": {
|
||||
"downloading": "Downloading",
|
||||
"downloading": "Sedang muat turun",
|
||||
"total": "Jumlah",
|
||||
"running": "Running",
|
||||
"running": "Sedang jalan",
|
||||
"stopped": "Terhenti",
|
||||
"passed": "Lulus",
|
||||
"failed": "Gagal"
|
||||
},
|
||||
"openwrt": {
|
||||
"uptime": "Masa Hidup",
|
||||
"cpuLoad": "Purata Beban CPU (5m)",
|
||||
"up": "Hidup",
|
||||
"down": "Mati",
|
||||
"bytesTx": "Terpancar",
|
||||
"bytesRx": "Diterima"
|
||||
},
|
||||
"uptimerobot": {
|
||||
"status": "Status",
|
||||
"uptime": "Masa Hidup",
|
||||
"lastDown": "Last Downtime",
|
||||
"downDuration": "Downtime Duration",
|
||||
"lastDown": "Masa Mati Terakhir",
|
||||
"downDuration": "Jangkamasa Kematian",
|
||||
"sitesUp": "Sites Up",
|
||||
"sitesDown": "Sites Down",
|
||||
"paused": "Paused",
|
||||
"notyetchecked": "Not Yet Checked",
|
||||
"up": "Up",
|
||||
"seemsdown": "Seems Down",
|
||||
"down": "Down",
|
||||
"paused": "Tangguh",
|
||||
"notyetchecked": "Belum Disemak",
|
||||
"up": "Hidup",
|
||||
"seemsdown": "Seperti Mati",
|
||||
"down": "Mati",
|
||||
"unknown": "Tidak Diketahui"
|
||||
},
|
||||
"calendar": {
|
||||
"inCinemas": "In cinemas",
|
||||
"physicalRelease": "Physical release",
|
||||
"digitalRelease": "Digital release",
|
||||
"noEventsToday": "No events for today!",
|
||||
"noEventsFound": "No events found"
|
||||
"inCinemas": "Di pawagam",
|
||||
"physicalRelease": "Edaran fizikal",
|
||||
"digitalRelease": "Edaran digital",
|
||||
"noEventsToday": "Tiada agenda untuk hari ini!",
|
||||
"noEventsFound": "Tiada agenda dijumpai"
|
||||
},
|
||||
"romm": {
|
||||
"platforms": "Platforms",
|
||||
"totalRoms": "Total ROMs"
|
||||
"platforms": "Platform",
|
||||
"totalRoms": "Jumlah ROM"
|
||||
},
|
||||
"netdata": {
|
||||
"warnings": "Warnings",
|
||||
"criticals": "Criticals"
|
||||
"warnings": "Amaran",
|
||||
"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"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -107,6 +107,12 @@
|
||||
"episodes": "Afleveringen",
|
||||
"songs": "Nummers"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "Onbereikbaar",
|
||||
"online": "Bereikbaar",
|
||||
"total": "Totaal",
|
||||
"unknown": "Onbekend"
|
||||
},
|
||||
"evcc": {
|
||||
"pv_power": "Productie",
|
||||
"battery_soc": "Batterij",
|
||||
@@ -419,7 +425,8 @@
|
||||
"search": "Zoek",
|
||||
"custom": "Aangepast",
|
||||
"visit": "Bezoek",
|
||||
"url": "URL"
|
||||
"url": "URL",
|
||||
"searchsuggestion": "Suggestie"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "Zonnig",
|
||||
@@ -535,7 +542,15 @@
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Kanalen",
|
||||
"hd": "HD"
|
||||
"hd": "HD",
|
||||
"tunerCount": "Tuners",
|
||||
"channelNumber": "Kanaal",
|
||||
"channelNetwork": "Netwerk",
|
||||
"signalStrength": "Sterkte",
|
||||
"signalQuality": "Kwaliteit",
|
||||
"symbolQuality": "Kwaliteit",
|
||||
"networkRate": "Bitrate",
|
||||
"clientIP": "Client"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Geslaagd",
|
||||
@@ -694,6 +709,11 @@
|
||||
"targets_down": "Doelen onbereikbaar",
|
||||
"targets_total": "Totaal aantal doelen"
|
||||
},
|
||||
"gatus": {
|
||||
"up": "Sites Bereikbaar",
|
||||
"down": "Sites Onbereikbaar",
|
||||
"uptime": "Online"
|
||||
},
|
||||
"ghostfolio": {
|
||||
"gross_percent_today": "Vandaag",
|
||||
"gross_percent_1y": "Een jaar",
|
||||
@@ -775,6 +795,14 @@
|
||||
"passed": "Geslaagd",
|
||||
"failed": "Gefaald"
|
||||
},
|
||||
"openwrt": {
|
||||
"uptime": "Online",
|
||||
"cpuLoad": "CPU Load Gem. (5m)",
|
||||
"up": "Online",
|
||||
"down": "Offline",
|
||||
"bytesTx": "Verzonden",
|
||||
"bytesRx": "Ontvangen"
|
||||
},
|
||||
"uptimerobot": {
|
||||
"status": "Status",
|
||||
"uptime": "Online",
|
||||
@@ -803,5 +831,37 @@
|
||||
"netdata": {
|
||||
"warnings": "Waarschuwingen",
|
||||
"criticals": "Kritiek"
|
||||
},
|
||||
"plantit": {
|
||||
"events": "Gebeurtenissen",
|
||||
"plants": "Planten",
|
||||
"photos": "Foto's",
|
||||
"species": "Soorten"
|
||||
},
|
||||
"gitea": {
|
||||
"notifications": "Notifications",
|
||||
"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": "Keywords"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -107,6 +107,12 @@
|
||||
"episodes": "Episodes",
|
||||
"songs": "Songs"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "Offline",
|
||||
"online": "Online",
|
||||
"total": "Total",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"evcc": {
|
||||
"pv_power": "Production",
|
||||
"battery_soc": "Battery",
|
||||
@@ -419,7 +425,8 @@
|
||||
"search": "Search",
|
||||
"custom": "Custom",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
"url": "URL",
|
||||
"searchsuggestion": "Suggestion"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "Sunny",
|
||||
@@ -535,7 +542,15 @@
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Channels",
|
||||
"hd": "HD"
|
||||
"hd": "HD",
|
||||
"tunerCount": "Tuners",
|
||||
"channelNumber": "Channel",
|
||||
"channelNetwork": "Network",
|
||||
"signalStrength": "Strength",
|
||||
"signalQuality": "Quality",
|
||||
"symbolQuality": "Quality",
|
||||
"networkRate": "Bitrate",
|
||||
"clientIP": "Client"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Passed",
|
||||
@@ -694,6 +709,11 @@
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
},
|
||||
"gatus": {
|
||||
"up": "Sites Up",
|
||||
"down": "Sites Down",
|
||||
"uptime": "Uptime"
|
||||
},
|
||||
"ghostfolio": {
|
||||
"gross_percent_today": "Today",
|
||||
"gross_percent_1y": "One year",
|
||||
@@ -775,6 +795,14 @@
|
||||
"passed": "Passed",
|
||||
"failed": "Failed"
|
||||
},
|
||||
"openwrt": {
|
||||
"uptime": "Uptime",
|
||||
"cpuLoad": "CPU Load Avg (5m)",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"bytesTx": "Transmitted",
|
||||
"bytesRx": "Received"
|
||||
},
|
||||
"uptimerobot": {
|
||||
"status": "Status",
|
||||
"uptime": "Uptime",
|
||||
@@ -803,5 +831,37 @@
|
||||
"netdata": {
|
||||
"warnings": "Warnings",
|
||||
"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"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,9 +14,9 @@
|
||||
"date": "{{value, date}}",
|
||||
"relativeDate": "{{value, relativeDate}}",
|
||||
"uptime": "{{value, uptime}}",
|
||||
"months": "mo",
|
||||
"months": "mc",
|
||||
"days": "d",
|
||||
"hours": "h",
|
||||
"hours": "g",
|
||||
"minutes": "m",
|
||||
"seconds": "s"
|
||||
},
|
||||
@@ -107,6 +107,12 @@
|
||||
"episodes": "Odcinki",
|
||||
"songs": "Piosenki"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "Nieosiągalny",
|
||||
"online": "Dostępny",
|
||||
"total": "Całkowite",
|
||||
"unknown": "Nieznany"
|
||||
},
|
||||
"evcc": {
|
||||
"pv_power": "Produkcja",
|
||||
"battery_soc": "Bateria",
|
||||
@@ -405,7 +411,7 @@
|
||||
"free": "Wolne",
|
||||
"used": "Użyte",
|
||||
"days": "d",
|
||||
"hours": "h",
|
||||
"hours": "g",
|
||||
"crit": "Crit",
|
||||
"read": "Przeczytane",
|
||||
"write": "Zapis",
|
||||
@@ -419,7 +425,8 @@
|
||||
"search": "Wyszukaj",
|
||||
"custom": "Niestandardowe",
|
||||
"visit": "Odwiedź",
|
||||
"url": "Adres URL"
|
||||
"url": "Adres URL",
|
||||
"searchsuggestion": "Sugestia"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "Słoneczny",
|
||||
@@ -535,7 +542,15 @@
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Kanały",
|
||||
"hd": "HD"
|
||||
"hd": "HD",
|
||||
"tunerCount": "Tuners",
|
||||
"channelNumber": "Kanał",
|
||||
"channelNetwork": "Sieć",
|
||||
"signalStrength": "Siła",
|
||||
"signalQuality": "Jakość",
|
||||
"symbolQuality": "Jakość",
|
||||
"networkRate": "Bitrate",
|
||||
"clientIP": "Klient"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Powodzenie",
|
||||
@@ -548,11 +563,11 @@
|
||||
},
|
||||
"peanut": {
|
||||
"battery_charge": "Battery Charge",
|
||||
"ups_load": "UPS Load",
|
||||
"ups_status": "UPS Status",
|
||||
"ups_load": "Obciążenie UPS",
|
||||
"ups_status": "Status UPS",
|
||||
"online": "Dostępny",
|
||||
"on_battery": "On Battery",
|
||||
"low_battery": "Low Battery"
|
||||
"on_battery": "Na baterii",
|
||||
"low_battery": "Niski poziom baterii"
|
||||
},
|
||||
"nextdns": {
|
||||
"wait": "Proszę czekać",
|
||||
@@ -662,7 +677,7 @@
|
||||
"grafana": {
|
||||
"dashboards": "Panel główny",
|
||||
"datasources": "Źródła danych",
|
||||
"totalalerts": "Total Alerts",
|
||||
"totalalerts": "Wszystkie alerty",
|
||||
"alertstriggered": "Alerts Triggered"
|
||||
},
|
||||
"nextcloud": {
|
||||
@@ -694,6 +709,11 @@
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
},
|
||||
"gatus": {
|
||||
"up": "Działające",
|
||||
"down": "Niedziałające",
|
||||
"uptime": "Czas działania"
|
||||
},
|
||||
"ghostfolio": {
|
||||
"gross_percent_today": "Dzisiaj",
|
||||
"gross_percent_1y": "Rok",
|
||||
@@ -759,7 +779,7 @@
|
||||
"ok": "Ok",
|
||||
"errored": "Błędy",
|
||||
"noRecent": "Nieaktualne",
|
||||
"totalUsed": "Used Storage"
|
||||
"totalUsed": "Użyta pamięć"
|
||||
},
|
||||
"mealie": {
|
||||
"recipes": "Recipes",
|
||||
@@ -775,6 +795,14 @@
|
||||
"passed": "Powodzenie",
|
||||
"failed": "Niepowodzenie"
|
||||
},
|
||||
"openwrt": {
|
||||
"uptime": "Czas działania",
|
||||
"cpuLoad": "CPU Load Avg (5m)",
|
||||
"up": "Dostępny",
|
||||
"down": "Niedostępny",
|
||||
"bytesTx": "Transmitted",
|
||||
"bytesRx": "Odebrane"
|
||||
},
|
||||
"uptimerobot": {
|
||||
"status": "Stan",
|
||||
"uptime": "Czas działania",
|
||||
@@ -790,18 +818,50 @@
|
||||
"unknown": "Nieznany"
|
||||
},
|
||||
"calendar": {
|
||||
"inCinemas": "In cinemas",
|
||||
"physicalRelease": "Physical release",
|
||||
"inCinemas": "W kinach",
|
||||
"physicalRelease": "Wydanie fizyczne",
|
||||
"digitalRelease": "Digital release",
|
||||
"noEventsToday": "No events for today!",
|
||||
"noEventsFound": "No events found"
|
||||
},
|
||||
"romm": {
|
||||
"platforms": "Platforms",
|
||||
"platforms": "Platformy",
|
||||
"totalRoms": "Total ROMs"
|
||||
},
|
||||
"netdata": {
|
||||
"warnings": "Warnings",
|
||||
"warnings": "Ostrzeżenia",
|
||||
"criticals": "Criticals"
|
||||
},
|
||||
"plantit": {
|
||||
"events": "Events",
|
||||
"plants": "Plants",
|
||||
"photos": "Zdjęcia",
|
||||
"species": "Species"
|
||||
},
|
||||
"gitea": {
|
||||
"notifications": "Notifications",
|
||||
"issues": "Zgłoszenia",
|
||||
"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": "Tagi",
|
||||
"oCount": "O Count"
|
||||
},
|
||||
"tandoor": {
|
||||
"users": "Użytkownicy",
|
||||
"recipes": "Recipes",
|
||||
"keywords": "Keywords"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -107,6 +107,12 @@
|
||||
"episodes": "Episódios",
|
||||
"songs": "Canções"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "Desligado",
|
||||
"online": "Online",
|
||||
"total": "Total",
|
||||
"unknown": "Desconhecido"
|
||||
},
|
||||
"evcc": {
|
||||
"pv_power": "Produção",
|
||||
"battery_soc": "Bateria",
|
||||
@@ -419,7 +425,8 @@
|
||||
"search": "Busca",
|
||||
"custom": "Personalizado",
|
||||
"visit": "Visitar",
|
||||
"url": "Endereço URL"
|
||||
"url": "Endereço URL",
|
||||
"searchsuggestion": "Suggestion"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "Solarengo",
|
||||
@@ -535,7 +542,15 @@
|
||||
},
|
||||
"hdhomerun": {
|
||||
"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": {
|
||||
"passed": "Aprovado",
|
||||
@@ -694,6 +709,11 @@
|
||||
"targets_down": "Alvo inativo",
|
||||
"targets_total": "Total de Alvos"
|
||||
},
|
||||
"gatus": {
|
||||
"up": "Sites no Ar",
|
||||
"down": "Sites Fora do Ar",
|
||||
"uptime": "Ligado"
|
||||
},
|
||||
"ghostfolio": {
|
||||
"gross_percent_today": "Hoje",
|
||||
"gross_percent_1y": "Um ano",
|
||||
@@ -775,6 +795,14 @@
|
||||
"passed": "Aprovado",
|
||||
"failed": "Falhou"
|
||||
},
|
||||
"openwrt": {
|
||||
"uptime": "Ligado",
|
||||
"cpuLoad": "CPU Load Avg (5m)",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"bytesTx": "Transmitted",
|
||||
"bytesRx": "Recebido"
|
||||
},
|
||||
"uptimerobot": {
|
||||
"status": "Estado",
|
||||
"uptime": "Ligado",
|
||||
@@ -803,5 +831,37 @@
|
||||
"netdata": {
|
||||
"warnings": "Warnings",
|
||||
"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"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -107,6 +107,12 @@
|
||||
"episodes": "Episódios",
|
||||
"songs": "Canções"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "Desligado",
|
||||
"online": "Online",
|
||||
"total": "Total",
|
||||
"unknown": "Desconhecido"
|
||||
},
|
||||
"evcc": {
|
||||
"pv_power": "Produção",
|
||||
"battery_soc": "Bateria",
|
||||
@@ -419,7 +425,8 @@
|
||||
"search": "Busca",
|
||||
"custom": "Personalizado",
|
||||
"visit": "Visitar",
|
||||
"url": "Endereço URL"
|
||||
"url": "Endereço URL",
|
||||
"searchsuggestion": "Suggestion"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "Solarengo",
|
||||
@@ -535,7 +542,15 @@
|
||||
},
|
||||
"hdhomerun": {
|
||||
"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": {
|
||||
"passed": "Aprovado",
|
||||
@@ -694,6 +709,11 @@
|
||||
"targets_down": "Alvo inativo",
|
||||
"targets_total": "Total de Alvos"
|
||||
},
|
||||
"gatus": {
|
||||
"up": "Sites no Ar",
|
||||
"down": "Sites Fora do Ar",
|
||||
"uptime": "Ligado"
|
||||
},
|
||||
"ghostfolio": {
|
||||
"gross_percent_today": "Today",
|
||||
"gross_percent_1y": "Um ano",
|
||||
@@ -775,6 +795,14 @@
|
||||
"passed": "Aprovado",
|
||||
"failed": "Falhou"
|
||||
},
|
||||
"openwrt": {
|
||||
"uptime": "Ligado",
|
||||
"cpuLoad": "CPU Load Avg (5m)",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"bytesTx": "Transmitted",
|
||||
"bytesRx": "Received"
|
||||
},
|
||||
"uptimerobot": {
|
||||
"status": "Estado",
|
||||
"uptime": "Ligado",
|
||||
@@ -803,5 +831,37 @@
|
||||
"netdata": {
|
||||
"warnings": "Warnings",
|
||||
"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": "Tags",
|
||||
"oCount": "O Count"
|
||||
},
|
||||
"tandoor": {
|
||||
"users": "Utilizadores",
|
||||
"recipes": "Recipes",
|
||||
"keywords": "Keywords"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -107,6 +107,12 @@
|
||||
"episodes": "Episoade",
|
||||
"songs": "Melodii"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "Offline",
|
||||
"online": "Online",
|
||||
"total": "Total",
|
||||
"unknown": "Necunoscut"
|
||||
},
|
||||
"evcc": {
|
||||
"pv_power": "Producție",
|
||||
"battery_soc": "Baterie",
|
||||
@@ -419,7 +425,8 @@
|
||||
"search": "Caută",
|
||||
"custom": "Personalizat",
|
||||
"visit": "Vizită",
|
||||
"url": "URL"
|
||||
"url": "URL",
|
||||
"searchsuggestion": "Suggestion"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "Însorit",
|
||||
@@ -535,7 +542,15 @@
|
||||
},
|
||||
"hdhomerun": {
|
||||
"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": {
|
||||
"passed": "Passed",
|
||||
@@ -694,6 +709,11 @@
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
},
|
||||
"gatus": {
|
||||
"up": "Sites Up",
|
||||
"down": "Sites Down",
|
||||
"uptime": "Uptime"
|
||||
},
|
||||
"ghostfolio": {
|
||||
"gross_percent_today": "Today",
|
||||
"gross_percent_1y": "One year",
|
||||
@@ -775,6 +795,14 @@
|
||||
"passed": "Passed",
|
||||
"failed": "Failed"
|
||||
},
|
||||
"openwrt": {
|
||||
"uptime": "Uptime",
|
||||
"cpuLoad": "CPU Load Avg (5m)",
|
||||
"up": "Sus",
|
||||
"down": "Jos",
|
||||
"bytesTx": "Transmitted",
|
||||
"bytesRx": "Received"
|
||||
},
|
||||
"uptimerobot": {
|
||||
"status": "Stare",
|
||||
"uptime": "Uptime",
|
||||
@@ -803,5 +831,37 @@
|
||||
"netdata": {
|
||||
"warnings": "Warnings",
|
||||
"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"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,11 +14,11 @@
|
||||
"date": "{{value, date}}",
|
||||
"relativeDate": "{{value, relativeDate}}",
|
||||
"uptime": "{{value, uptime}}",
|
||||
"months": "mo",
|
||||
"days": "d",
|
||||
"hours": "h",
|
||||
"minutes": "m",
|
||||
"seconds": "s"
|
||||
"months": "мес",
|
||||
"days": "дней",
|
||||
"hours": "час",
|
||||
"minutes": "мин",
|
||||
"seconds": "сек"
|
||||
},
|
||||
"widget": {
|
||||
"missing_type": "Отсутствует тип виджета: {{type}}",
|
||||
@@ -107,6 +107,12 @@
|
||||
"episodes": "Эпизоды",
|
||||
"songs": "Песни"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "Не в сети",
|
||||
"online": "В сети",
|
||||
"total": "Всего",
|
||||
"unknown": "Неизвестен"
|
||||
},
|
||||
"evcc": {
|
||||
"pv_power": "Прод",
|
||||
"battery_soc": "Питание",
|
||||
@@ -130,7 +136,7 @@
|
||||
"connectionStatusUnconfigured": "Не настроено",
|
||||
"connectionStatusConnecting": "Подключение",
|
||||
"connectionStatusAuthenticating": "Авторизация",
|
||||
"connectionStatusPendingDisconnect": "Pending Disconnect",
|
||||
"connectionStatusPendingDisconnect": "Ожидает отключения",
|
||||
"connectionStatusDisconnecting": "Отключение",
|
||||
"connectionStatusDisconnected": "Отключено",
|
||||
"connectionStatusConnected": "Подключено",
|
||||
@@ -404,8 +410,8 @@
|
||||
"total": "Всего",
|
||||
"free": "Свободно",
|
||||
"used": "Использовано",
|
||||
"days": "d",
|
||||
"hours": "h",
|
||||
"days": "дней",
|
||||
"hours": "час",
|
||||
"crit": "Крит",
|
||||
"read": "Прочитано",
|
||||
"write": "Запись",
|
||||
@@ -419,7 +425,8 @@
|
||||
"search": "Поиск",
|
||||
"custom": "Пользовательский",
|
||||
"visit": "Посетите",
|
||||
"url": "Ссылка"
|
||||
"url": "Ссылка",
|
||||
"searchsuggestion": "Предложение"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "Солнечно",
|
||||
@@ -535,7 +542,15 @@
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Каналы",
|
||||
"hd": "HD"
|
||||
"hd": "HD",
|
||||
"tunerCount": "Тюнеры",
|
||||
"channelNumber": "Канал",
|
||||
"channelNetwork": "Сеть",
|
||||
"signalStrength": "Сила",
|
||||
"signalQuality": "Качество",
|
||||
"symbolQuality": "Качество",
|
||||
"networkRate": "Битрейт",
|
||||
"clientIP": "Клиент"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Успешно",
|
||||
@@ -547,12 +562,12 @@
|
||||
"total": "Всего"
|
||||
},
|
||||
"peanut": {
|
||||
"battery_charge": "Battery Charge",
|
||||
"ups_load": "UPS Load",
|
||||
"ups_status": "UPS Status",
|
||||
"battery_charge": "Заряд батареи",
|
||||
"ups_load": "Нагрузка на UPS",
|
||||
"ups_status": "Статус UPS",
|
||||
"online": "В сети",
|
||||
"on_battery": "On Battery",
|
||||
"low_battery": "Low Battery"
|
||||
"on_battery": "От батареи",
|
||||
"low_battery": "Низкий заряд"
|
||||
},
|
||||
"nextdns": {
|
||||
"wait": "Пожалуйста, подождите",
|
||||
@@ -624,7 +639,7 @@
|
||||
"down": "Неактивные сайты",
|
||||
"uptime": "Время работы",
|
||||
"incident": "Происшествия",
|
||||
"m": "m"
|
||||
"m": "мин"
|
||||
},
|
||||
"atsumeru": {
|
||||
"series": "Серии",
|
||||
@@ -694,6 +709,11 @@
|
||||
"targets_down": "Неактивные цели",
|
||||
"targets_total": "Всего целей"
|
||||
},
|
||||
"gatus": {
|
||||
"up": "Активные сайты",
|
||||
"down": "Неактивные сайты",
|
||||
"uptime": "Время работы"
|
||||
},
|
||||
"ghostfolio": {
|
||||
"gross_percent_today": "Сегодня",
|
||||
"gross_percent_1y": "Один год",
|
||||
@@ -775,6 +795,14 @@
|
||||
"passed": "Успешно",
|
||||
"failed": "Провалено"
|
||||
},
|
||||
"openwrt": {
|
||||
"uptime": "Время работы",
|
||||
"cpuLoad": "Средняя нагрузка ЦП (5м)",
|
||||
"up": "Онлайн",
|
||||
"down": "Офлайн",
|
||||
"bytesTx": "Передано",
|
||||
"bytesRx": "Получено"
|
||||
},
|
||||
"uptimerobot": {
|
||||
"status": "Статус",
|
||||
"uptime": "Время работы",
|
||||
@@ -797,11 +825,43 @@
|
||||
"noEventsFound": "Событий не найдено"
|
||||
},
|
||||
"romm": {
|
||||
"platforms": "Platforms",
|
||||
"totalRoms": "Total ROMs"
|
||||
"platforms": "Платформы",
|
||||
"totalRoms": "Всего ПЗУ"
|
||||
},
|
||||
"netdata": {
|
||||
"warnings": "Warnings",
|
||||
"criticals": "Criticals"
|
||||
"warnings": "Предупреждения",
|
||||
"criticals": "Криты"
|
||||
},
|
||||
"plantit": {
|
||||
"events": "Events",
|
||||
"plants": "Plants",
|
||||
"photos": "Фото",
|
||||
"species": "Species"
|
||||
},
|
||||
"gitea": {
|
||||
"notifications": "Notifications",
|
||||
"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"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
"percent": "{{value, percent}}",
|
||||
"number": "{{value, number}}",
|
||||
"ms": "{{value, number}}",
|
||||
"date": "{value, date}",
|
||||
"date": "{{value, date}}",
|
||||
"relativeDate": "{{value, relativeDate}}",
|
||||
"uptime": "{{value, uptime}}",
|
||||
"months": "mes",
|
||||
@@ -107,6 +107,12 @@
|
||||
"episodes": "Epizódy",
|
||||
"songs": "Skladby"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "Nedostupný",
|
||||
"online": "Online",
|
||||
"total": "Celkovo",
|
||||
"unknown": "Neznáme"
|
||||
},
|
||||
"evcc": {
|
||||
"pv_power": "Produkcia",
|
||||
"battery_soc": "Batéria",
|
||||
@@ -135,8 +141,8 @@
|
||||
"connectionStatusDisconnected": "Odpojené",
|
||||
"connectionStatusConnected": "Pripojené",
|
||||
"uptime": "Prevádzka",
|
||||
"maxDown": "Max. Down",
|
||||
"maxUp": "Max. Up",
|
||||
"maxDown": "Max. sťahovanie",
|
||||
"maxUp": "Max. nahrávanie",
|
||||
"down": "Sťahovanie",
|
||||
"up": "Nahrávanie",
|
||||
"received": "Prijaté",
|
||||
@@ -419,7 +425,8 @@
|
||||
"search": "Hľadať",
|
||||
"custom": "Vlastné",
|
||||
"visit": "Navštíviť",
|
||||
"url": "Odkaz"
|
||||
"url": "Odkaz",
|
||||
"searchsuggestion": "Návrh"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "Slnečno",
|
||||
@@ -535,7 +542,15 @@
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Kanály",
|
||||
"hd": "HD"
|
||||
"hd": "HD",
|
||||
"tunerCount": "Tunery",
|
||||
"channelNumber": "Kanál",
|
||||
"channelNetwork": "Sieť",
|
||||
"signalStrength": "Sila",
|
||||
"signalQuality": "Kvalita",
|
||||
"symbolQuality": "Kvalita",
|
||||
"networkRate": "Prenosová rýchlosť",
|
||||
"clientIP": "Klient"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Úspešný",
|
||||
@@ -694,6 +709,11 @@
|
||||
"targets_down": "Nedostupné ciele",
|
||||
"targets_total": "Cieľov spolu"
|
||||
},
|
||||
"gatus": {
|
||||
"up": "Weby dostupné",
|
||||
"down": "Weby nedostupné",
|
||||
"uptime": "Prevádzka"
|
||||
},
|
||||
"ghostfolio": {
|
||||
"gross_percent_today": "Dnes",
|
||||
"gross_percent_1y": "Jeden rok",
|
||||
@@ -775,6 +795,14 @@
|
||||
"passed": "Úspešný",
|
||||
"failed": "Zlyhané"
|
||||
},
|
||||
"openwrt": {
|
||||
"uptime": "Prevádzka",
|
||||
"cpuLoad": "Záťaž CPU priem. (5m)",
|
||||
"up": "Nahrávanie",
|
||||
"down": "Sťahovanie",
|
||||
"bytesTx": "Prenesených",
|
||||
"bytesRx": "Prijaté"
|
||||
},
|
||||
"uptimerobot": {
|
||||
"status": "Stav",
|
||||
"uptime": "Prevádzka",
|
||||
@@ -797,11 +825,43 @@
|
||||
"noEventsFound": "Žiadne udalosti"
|
||||
},
|
||||
"romm": {
|
||||
"platforms": "Platforms",
|
||||
"totalRoms": "Total ROMs"
|
||||
"platforms": "Platformy",
|
||||
"totalRoms": "Celkovo ROM"
|
||||
},
|
||||
"netdata": {
|
||||
"warnings": "Warnings",
|
||||
"criticals": "Criticals"
|
||||
"warnings": "Upozornenia",
|
||||
"criticals": "Kritické"
|
||||
},
|
||||
"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": "Štítky",
|
||||
"oCount": "O Count"
|
||||
},
|
||||
"tandoor": {
|
||||
"users": "Používatelia",
|
||||
"recipes": "Recepty",
|
||||
"keywords": "Keywords"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -107,6 +107,12 @@
|
||||
"episodes": "Epizode",
|
||||
"songs": "Pesmi"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "Ni povezan",
|
||||
"online": "Na spletu",
|
||||
"total": "Skupaj",
|
||||
"unknown": "Neznano"
|
||||
},
|
||||
"evcc": {
|
||||
"pv_power": "Proizvodnja",
|
||||
"battery_soc": "Baterija",
|
||||
@@ -419,7 +425,8 @@
|
||||
"search": "Iskanje",
|
||||
"custom": "Po meri",
|
||||
"visit": "Obišči",
|
||||
"url": "URL"
|
||||
"url": "URL",
|
||||
"searchsuggestion": "Predlog"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "Sončno",
|
||||
@@ -535,7 +542,15 @@
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Kanali",
|
||||
"hd": "HD"
|
||||
"hd": "HD",
|
||||
"tunerCount": "Sprejemniki",
|
||||
"channelNumber": "Kanal",
|
||||
"channelNetwork": "Omrežje",
|
||||
"signalStrength": "Moč",
|
||||
"signalQuality": "Kakovost",
|
||||
"symbolQuality": "Kakovost",
|
||||
"networkRate": "Pasovna širina",
|
||||
"clientIP": "Odjemalec"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Opravljeno",
|
||||
@@ -694,6 +709,11 @@
|
||||
"targets_down": "Tarče dol",
|
||||
"targets_total": "Skupaj tarč"
|
||||
},
|
||||
"gatus": {
|
||||
"up": "Deluje",
|
||||
"down": "Ne deluje",
|
||||
"uptime": "Čas delovanja"
|
||||
},
|
||||
"ghostfolio": {
|
||||
"gross_percent_today": "Danes",
|
||||
"gross_percent_1y": "Eno leto",
|
||||
@@ -775,6 +795,14 @@
|
||||
"passed": "Opravljeno",
|
||||
"failed": "Neuspešno"
|
||||
},
|
||||
"openwrt": {
|
||||
"uptime": "Čas delovanja",
|
||||
"cpuLoad": "CPU obremenitev povp. (5m)",
|
||||
"up": "Povezan",
|
||||
"down": "Nepovezan",
|
||||
"bytesTx": "Prenešeno",
|
||||
"bytesRx": "Prejeto"
|
||||
},
|
||||
"uptimerobot": {
|
||||
"status": "Stanje",
|
||||
"uptime": "Čas delovanja",
|
||||
@@ -797,11 +825,43 @@
|
||||
"noEventsFound": "Ni dogodkov"
|
||||
},
|
||||
"romm": {
|
||||
"platforms": "Platforms",
|
||||
"totalRoms": "Total ROMs"
|
||||
"platforms": "Platforme",
|
||||
"totalRoms": "Skupaj ROM-ov"
|
||||
},
|
||||
"netdata": {
|
||||
"warnings": "Opozorila",
|
||||
"criticals": "Kritično"
|
||||
},
|
||||
"plantit": {
|
||||
"events": "Dogodki",
|
||||
"plants": "Rastline",
|
||||
"photos": "Slike",
|
||||
"species": "Vrste"
|
||||
},
|
||||
"gitea": {
|
||||
"notifications": "Obvestila",
|
||||
"issues": "Težave",
|
||||
"pulls": "Zahteve za prenos"
|
||||
},
|
||||
"stash": {
|
||||
"scenes": "Scene",
|
||||
"scenesPlayed": "Predvajane scene",
|
||||
"playCount": "Skupaj predvajano",
|
||||
"playDuration": "Čas gledanja",
|
||||
"sceneSize": "Velikost scene",
|
||||
"sceneDuration": "Dolžina scene",
|
||||
"images": "Slike",
|
||||
"imageSize": "Velikosti slik",
|
||||
"galleries": "Galerije",
|
||||
"performers": "Izvajalci",
|
||||
"studios": "Studiji",
|
||||
"movies": "Filmi",
|
||||
"tags": "Značke",
|
||||
"oCount": "O štetje"
|
||||
},
|
||||
"tandoor": {
|
||||
"users": "Uporabniki",
|
||||
"recipes": "Recepti",
|
||||
"keywords": "Ključne besede"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -107,6 +107,12 @@
|
||||
"episodes": "Episodes",
|
||||
"songs": "Songs"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "Offline",
|
||||
"online": "Online",
|
||||
"total": "Total",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"evcc": {
|
||||
"pv_power": "Production",
|
||||
"battery_soc": "Battery",
|
||||
@@ -419,7 +425,8 @@
|
||||
"search": "Search",
|
||||
"custom": "Custom",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
"url": "URL",
|
||||
"searchsuggestion": "Suggestion"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "Sunny",
|
||||
@@ -535,7 +542,15 @@
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Channels",
|
||||
"hd": "HD"
|
||||
"hd": "HD",
|
||||
"tunerCount": "Tuners",
|
||||
"channelNumber": "Channel",
|
||||
"channelNetwork": "Network",
|
||||
"signalStrength": "Strength",
|
||||
"signalQuality": "Quality",
|
||||
"symbolQuality": "Quality",
|
||||
"networkRate": "Bitrate",
|
||||
"clientIP": "Client"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Passed",
|
||||
@@ -694,6 +709,11 @@
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
},
|
||||
"gatus": {
|
||||
"up": "Sites Up",
|
||||
"down": "Sites Down",
|
||||
"uptime": "Uptime"
|
||||
},
|
||||
"ghostfolio": {
|
||||
"gross_percent_today": "Today",
|
||||
"gross_percent_1y": "One year",
|
||||
@@ -775,6 +795,14 @@
|
||||
"passed": "Passed",
|
||||
"failed": "Failed"
|
||||
},
|
||||
"openwrt": {
|
||||
"uptime": "Uptime",
|
||||
"cpuLoad": "CPU Load Avg (5m)",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"bytesTx": "Transmitted",
|
||||
"bytesRx": "Received"
|
||||
},
|
||||
"uptimerobot": {
|
||||
"status": "Status",
|
||||
"uptime": "Uptime",
|
||||
@@ -803,5 +831,37 @@
|
||||
"netdata": {
|
||||
"warnings": "Warnings",
|
||||
"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"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
"date": "{{value, date}}",
|
||||
"relativeDate": "{{value, relativeDate}}",
|
||||
"uptime": "{{value, uptime}}",
|
||||
"months": "mo",
|
||||
"months": "mån",
|
||||
"days": "d",
|
||||
"hours": "h",
|
||||
"minutes": "m",
|
||||
@@ -56,7 +56,7 @@
|
||||
"wan": "WAN",
|
||||
"lan": "LAN",
|
||||
"wlan": "WLAN",
|
||||
"devices": "Devices",
|
||||
"devices": "Enheter",
|
||||
"lan_devices": "LAN Devices",
|
||||
"wlan_devices": "WLAN Devices",
|
||||
"lan_users": "LAN-användare",
|
||||
@@ -107,6 +107,12 @@
|
||||
"episodes": "Episodes",
|
||||
"songs": "Songs"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "Offline",
|
||||
"online": "Online",
|
||||
"total": "Total",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"evcc": {
|
||||
"pv_power": "Production",
|
||||
"battery_soc": "Battery",
|
||||
@@ -419,7 +425,8 @@
|
||||
"search": "Search",
|
||||
"custom": "Custom",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
"url": "URL",
|
||||
"searchsuggestion": "Suggestion"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "Sunny",
|
||||
@@ -535,7 +542,15 @@
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Channels",
|
||||
"hd": "HD"
|
||||
"hd": "HD",
|
||||
"tunerCount": "Tuners",
|
||||
"channelNumber": "Channel",
|
||||
"channelNetwork": "Network",
|
||||
"signalStrength": "Strength",
|
||||
"signalQuality": "Quality",
|
||||
"symbolQuality": "Quality",
|
||||
"networkRate": "Bitrate",
|
||||
"clientIP": "Client"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Passed",
|
||||
@@ -694,6 +709,11 @@
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
},
|
||||
"gatus": {
|
||||
"up": "Sites Up",
|
||||
"down": "Sites Down",
|
||||
"uptime": "Uptime"
|
||||
},
|
||||
"ghostfolio": {
|
||||
"gross_percent_today": "Today",
|
||||
"gross_percent_1y": "One year",
|
||||
@@ -775,6 +795,14 @@
|
||||
"passed": "Passed",
|
||||
"failed": "Failed"
|
||||
},
|
||||
"openwrt": {
|
||||
"uptime": "Uptime",
|
||||
"cpuLoad": "CPU Load Avg (5m)",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"bytesTx": "Transmitted",
|
||||
"bytesRx": "Received"
|
||||
},
|
||||
"uptimerobot": {
|
||||
"status": "Status",
|
||||
"uptime": "Uptime",
|
||||
@@ -803,5 +831,37 @@
|
||||
"netdata": {
|
||||
"warnings": "Warnings",
|
||||
"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": "Användare",
|
||||
"recipes": "Recipes",
|
||||
"keywords": "Keywords"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -107,6 +107,12 @@
|
||||
"episodes": "Episodes",
|
||||
"songs": "Songs"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "ఆఫ్లైన్",
|
||||
"online": "Online",
|
||||
"total": "మొత్తం",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"evcc": {
|
||||
"pv_power": "Production",
|
||||
"battery_soc": "Battery",
|
||||
@@ -419,7 +425,8 @@
|
||||
"search": "Search",
|
||||
"custom": "Custom",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
"url": "URL",
|
||||
"searchsuggestion": "Suggestion"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "సన్నీ",
|
||||
@@ -535,7 +542,15 @@
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Channels",
|
||||
"hd": "HD"
|
||||
"hd": "HD",
|
||||
"tunerCount": "Tuners",
|
||||
"channelNumber": "Channel",
|
||||
"channelNetwork": "Network",
|
||||
"signalStrength": "Strength",
|
||||
"signalQuality": "Quality",
|
||||
"symbolQuality": "Quality",
|
||||
"networkRate": "బిట్రేట్",
|
||||
"clientIP": "Client"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Passed",
|
||||
@@ -694,6 +709,11 @@
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
},
|
||||
"gatus": {
|
||||
"up": "Sites Up",
|
||||
"down": "Sites Down",
|
||||
"uptime": "Uptime"
|
||||
},
|
||||
"ghostfolio": {
|
||||
"gross_percent_today": "Today",
|
||||
"gross_percent_1y": "One year",
|
||||
@@ -775,6 +795,14 @@
|
||||
"passed": "Passed",
|
||||
"failed": "విఫలమయ్యారు"
|
||||
},
|
||||
"openwrt": {
|
||||
"uptime": "Uptime",
|
||||
"cpuLoad": "CPU Load Avg (5m)",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"bytesTx": "Transmitted",
|
||||
"bytesRx": "Received"
|
||||
},
|
||||
"uptimerobot": {
|
||||
"status": "హోదా",
|
||||
"uptime": "Uptime",
|
||||
@@ -803,5 +831,37 @@
|
||||
"netdata": {
|
||||
"warnings": "Warnings",
|
||||
"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": "వినియోగదారులు",
|
||||
"recipes": "Recipes",
|
||||
"keywords": "Keywords"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -107,6 +107,12 @@
|
||||
"episodes": "Episodes",
|
||||
"songs": "Songs"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "ออฟไลน์",
|
||||
"online": "Online",
|
||||
"total": "ทั้งหมด",
|
||||
"unknown": "ไม่ทราบ"
|
||||
},
|
||||
"evcc": {
|
||||
"pv_power": "Production",
|
||||
"battery_soc": "Battery",
|
||||
@@ -419,7 +425,8 @@
|
||||
"search": "Search",
|
||||
"custom": "Custom",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
"url": "URL",
|
||||
"searchsuggestion": "Suggestion"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "Sunny",
|
||||
@@ -535,7 +542,15 @@
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Channels",
|
||||
"hd": "HD"
|
||||
"hd": "HD",
|
||||
"tunerCount": "Tuners",
|
||||
"channelNumber": "Channel",
|
||||
"channelNetwork": "Network",
|
||||
"signalStrength": "Strength",
|
||||
"signalQuality": "Quality",
|
||||
"symbolQuality": "Quality",
|
||||
"networkRate": "อัตราบิต",
|
||||
"clientIP": "Client"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Passed",
|
||||
@@ -694,6 +709,11 @@
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
},
|
||||
"gatus": {
|
||||
"up": "Sites Up",
|
||||
"down": "เว็บไซต์ ล่ม",
|
||||
"uptime": "Uptime"
|
||||
},
|
||||
"ghostfolio": {
|
||||
"gross_percent_today": "Today",
|
||||
"gross_percent_1y": "One year",
|
||||
@@ -775,6 +795,14 @@
|
||||
"passed": "Passed",
|
||||
"failed": "Failed"
|
||||
},
|
||||
"openwrt": {
|
||||
"uptime": "Uptime",
|
||||
"cpuLoad": "CPU Load Avg (5m)",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"bytesTx": "Transmitted",
|
||||
"bytesRx": "Received"
|
||||
},
|
||||
"uptimerobot": {
|
||||
"status": "สถานะ",
|
||||
"uptime": "Uptime",
|
||||
@@ -803,5 +831,37 @@
|
||||
"netdata": {
|
||||
"warnings": "Warnings",
|
||||
"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": "ผู้ใช้",
|
||||
"recipes": "Recipes",
|
||||
"keywords": "Keywords"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -107,6 +107,12 @@
|
||||
"episodes": "Bölümler",
|
||||
"songs": "Şarkılar"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "Çevrimdışı",
|
||||
"online": "Çevrimiçi",
|
||||
"total": "Toplam",
|
||||
"unknown": "Bilinmiyor"
|
||||
},
|
||||
"evcc": {
|
||||
"pv_power": "Üretim",
|
||||
"battery_soc": "Batarya",
|
||||
@@ -419,7 +425,8 @@
|
||||
"search": "Ara",
|
||||
"custom": "Özel",
|
||||
"visit": "Ziyaret",
|
||||
"url": "URL"
|
||||
"url": "URL",
|
||||
"searchsuggestion": "Suggestion"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "Güneşli",
|
||||
@@ -535,7 +542,15 @@
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Kanallar",
|
||||
"hd": "HD"
|
||||
"hd": "HD",
|
||||
"tunerCount": "Tuners",
|
||||
"channelNumber": "Channel",
|
||||
"channelNetwork": "Network",
|
||||
"signalStrength": "Strength",
|
||||
"signalQuality": "Quality",
|
||||
"symbolQuality": "Quality",
|
||||
"networkRate": "Bit Oranı",
|
||||
"clientIP": "Client"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Geçti",
|
||||
@@ -694,6 +709,11 @@
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
},
|
||||
"gatus": {
|
||||
"up": "Sites Up",
|
||||
"down": "Sites Down",
|
||||
"uptime": "Çalışma Süresi"
|
||||
},
|
||||
"ghostfolio": {
|
||||
"gross_percent_today": "Today",
|
||||
"gross_percent_1y": "One year",
|
||||
@@ -775,6 +795,14 @@
|
||||
"passed": "Geçti",
|
||||
"failed": "Başarısız"
|
||||
},
|
||||
"openwrt": {
|
||||
"uptime": "Çalışma Süresi",
|
||||
"cpuLoad": "CPU Load Avg (5m)",
|
||||
"up": "Yükleme",
|
||||
"down": "İndirme",
|
||||
"bytesTx": "Transmitted",
|
||||
"bytesRx": "Alınan"
|
||||
},
|
||||
"uptimerobot": {
|
||||
"status": "Durum",
|
||||
"uptime": "Çalışma Süresi",
|
||||
@@ -803,5 +831,37 @@
|
||||
"netdata": {
|
||||
"warnings": "Warnings",
|
||||
"criticals": "Criticals"
|
||||
},
|
||||
"plantit": {
|
||||
"events": "Events",
|
||||
"plants": "Plants",
|
||||
"photos": "Fotoğraflar",
|
||||
"species": "Species"
|
||||
},
|
||||
"gitea": {
|
||||
"notifications": "Notifications",
|
||||
"issues": "Sorunlar",
|
||||
"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": "Filmler",
|
||||
"tags": "Tags",
|
||||
"oCount": "O Count"
|
||||
},
|
||||
"tandoor": {
|
||||
"users": "Kullanıcılar",
|
||||
"recipes": "Recipes",
|
||||
"keywords": "Keywords"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -107,6 +107,12 @@
|
||||
"episodes": "Епізоди",
|
||||
"songs": "Пісні"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "Офлайн",
|
||||
"online": "Онлайн",
|
||||
"total": "Усього",
|
||||
"unknown": "Невідомий"
|
||||
},
|
||||
"evcc": {
|
||||
"pv_power": "Виробництво",
|
||||
"battery_soc": "Батарея",
|
||||
@@ -419,7 +425,8 @@
|
||||
"search": "Пошук",
|
||||
"custom": "Користувацький",
|
||||
"visit": "Відвідайте",
|
||||
"url": "URL-адреса"
|
||||
"url": "URL-адреса",
|
||||
"searchsuggestion": "Suggestion"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "Сонячно",
|
||||
@@ -535,7 +542,15 @@
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Канали",
|
||||
"hd": "HD"
|
||||
"hd": "HD",
|
||||
"tunerCount": "Tuners",
|
||||
"channelNumber": "Channel",
|
||||
"channelNetwork": "Network",
|
||||
"signalStrength": "Strength",
|
||||
"signalQuality": "Quality",
|
||||
"symbolQuality": "Quality",
|
||||
"networkRate": "Бітрейт",
|
||||
"clientIP": "Client"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Пройшов",
|
||||
@@ -694,6 +709,11 @@
|
||||
"targets_down": "Цілі вниз",
|
||||
"targets_total": "Всього цілей"
|
||||
},
|
||||
"gatus": {
|
||||
"up": "Активні сайти",
|
||||
"down": "Неактивні сайти",
|
||||
"uptime": "Час роботи"
|
||||
},
|
||||
"ghostfolio": {
|
||||
"gross_percent_today": "Today",
|
||||
"gross_percent_1y": "Один рік",
|
||||
@@ -775,6 +795,14 @@
|
||||
"passed": "Пройшов",
|
||||
"failed": "Невдача"
|
||||
},
|
||||
"openwrt": {
|
||||
"uptime": "Час роботи",
|
||||
"cpuLoad": "CPU Load Avg (5m)",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"bytesTx": "Transmitted",
|
||||
"bytesRx": "Received"
|
||||
},
|
||||
"uptimerobot": {
|
||||
"status": "Стан",
|
||||
"uptime": "Час роботи",
|
||||
@@ -803,5 +831,37 @@
|
||||
"netdata": {
|
||||
"warnings": "Warnings",
|
||||
"criticals": "Criticals"
|
||||
},
|
||||
"plantit": {
|
||||
"events": "Events",
|
||||
"plants": "Plants",
|
||||
"photos": "Фотографії",
|
||||
"species": "Species"
|
||||
},
|
||||
"gitea": {
|
||||
"notifications": "Notifications",
|
||||
"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"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -107,6 +107,12 @@
|
||||
"episodes": "Episodes",
|
||||
"songs": "Songs"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "Ngoại tuyến",
|
||||
"online": "Online",
|
||||
"total": "Tổng",
|
||||
"unknown": "Unknown"
|
||||
},
|
||||
"evcc": {
|
||||
"pv_power": "Production",
|
||||
"battery_soc": "Battery",
|
||||
@@ -419,7 +425,8 @@
|
||||
"search": "Search",
|
||||
"custom": "Custom",
|
||||
"visit": "Visit",
|
||||
"url": "URL"
|
||||
"url": "URL",
|
||||
"searchsuggestion": "Suggestion"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "Sunny",
|
||||
@@ -535,7 +542,15 @@
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "Channels",
|
||||
"hd": "HD"
|
||||
"hd": "HD",
|
||||
"tunerCount": "Tuners",
|
||||
"channelNumber": "Channel",
|
||||
"channelNetwork": "Network",
|
||||
"signalStrength": "Strength",
|
||||
"signalQuality": "Quality",
|
||||
"symbolQuality": "Quality",
|
||||
"networkRate": "Bitrate",
|
||||
"clientIP": "Client"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "Passed",
|
||||
@@ -694,6 +709,11 @@
|
||||
"targets_down": "Targets Down",
|
||||
"targets_total": "Total Targets"
|
||||
},
|
||||
"gatus": {
|
||||
"up": "Sites Up",
|
||||
"down": "Sites Down",
|
||||
"uptime": "Uptime"
|
||||
},
|
||||
"ghostfolio": {
|
||||
"gross_percent_today": "Today",
|
||||
"gross_percent_1y": "One year",
|
||||
@@ -775,6 +795,14 @@
|
||||
"passed": "Passed",
|
||||
"failed": "Failed"
|
||||
},
|
||||
"openwrt": {
|
||||
"uptime": "Uptime",
|
||||
"cpuLoad": "CPU Load Avg (5m)",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"bytesTx": "Transmitted",
|
||||
"bytesRx": "Received"
|
||||
},
|
||||
"uptimerobot": {
|
||||
"status": "Trạng thái",
|
||||
"uptime": "Uptime",
|
||||
@@ -803,5 +831,37 @@
|
||||
"netdata": {
|
||||
"warnings": "Warnings",
|
||||
"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"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -107,6 +107,12 @@
|
||||
"episodes": "集",
|
||||
"songs": "曲目"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "離線",
|
||||
"online": "在線",
|
||||
"total": "全部",
|
||||
"unknown": "未知"
|
||||
},
|
||||
"evcc": {
|
||||
"pv_power": "正式環境",
|
||||
"battery_soc": "電池",
|
||||
@@ -419,7 +425,8 @@
|
||||
"search": "搜尋",
|
||||
"custom": "自訂",
|
||||
"visit": "造訪",
|
||||
"url": "網址"
|
||||
"url": "網址",
|
||||
"searchsuggestion": "建議"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "晴天",
|
||||
@@ -535,7 +542,15 @@
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "頻道",
|
||||
"hd": "高畫質"
|
||||
"hd": "高畫質",
|
||||
"tunerCount": "調諧器",
|
||||
"channelNumber": "頻道",
|
||||
"channelNetwork": "網絡",
|
||||
"signalStrength": "強度",
|
||||
"signalQuality": "品質",
|
||||
"symbolQuality": "品質",
|
||||
"networkRate": "比特率",
|
||||
"clientIP": "用戶端"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "通過",
|
||||
@@ -548,8 +563,8 @@
|
||||
},
|
||||
"peanut": {
|
||||
"battery_charge": "充電",
|
||||
"ups_load": "UPS Load",
|
||||
"ups_status": "UPS Status",
|
||||
"ups_load": "後備電負載",
|
||||
"ups_status": "後備電狀況",
|
||||
"online": "在線",
|
||||
"on_battery": "電池供電",
|
||||
"low_battery": "低電量"
|
||||
@@ -694,6 +709,11 @@
|
||||
"targets_down": "目標離線",
|
||||
"targets_total": "目標總數"
|
||||
},
|
||||
"gatus": {
|
||||
"up": "在線網站",
|
||||
"down": "離線網站",
|
||||
"uptime": "運行時間"
|
||||
},
|
||||
"ghostfolio": {
|
||||
"gross_percent_today": "今日",
|
||||
"gross_percent_1y": "一年",
|
||||
@@ -775,6 +795,14 @@
|
||||
"passed": "通過",
|
||||
"failed": "失敗"
|
||||
},
|
||||
"openwrt": {
|
||||
"uptime": "運行時間",
|
||||
"cpuLoad": "處理器平均負載(5分鐘)",
|
||||
"up": "在線",
|
||||
"down": "離線",
|
||||
"bytesTx": "已傳送",
|
||||
"bytesRx": "已接收"
|
||||
},
|
||||
"uptimerobot": {
|
||||
"status": "狀況",
|
||||
"uptime": "運行時間",
|
||||
@@ -797,11 +825,43 @@
|
||||
"noEventsFound": "未找到事件"
|
||||
},
|
||||
"romm": {
|
||||
"platforms": "Platforms",
|
||||
"totalRoms": "Total ROMs"
|
||||
"platforms": "平台",
|
||||
"totalRoms": "總唯讀記憶體"
|
||||
},
|
||||
"netdata": {
|
||||
"warnings": "Warnings",
|
||||
"criticals": "Criticals"
|
||||
"warnings": "警告",
|
||||
"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 Count"
|
||||
},
|
||||
"tandoor": {
|
||||
"users": "使用者",
|
||||
"recipes": "食譜",
|
||||
"keywords": "Keywords"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,11 +14,11 @@
|
||||
"date": "{{value, date}}",
|
||||
"relativeDate": "{{value, relativeDate}}",
|
||||
"uptime": "{{value, uptime}}",
|
||||
"months": "mo",
|
||||
"days": "d",
|
||||
"hours": "h",
|
||||
"minutes": "m",
|
||||
"seconds": "s"
|
||||
"months": "月",
|
||||
"days": "日",
|
||||
"hours": "时",
|
||||
"minutes": "分",
|
||||
"seconds": "秒"
|
||||
},
|
||||
"widget": {
|
||||
"missing_type": "缺失的组件类型: {{type}}",
|
||||
@@ -90,7 +90,7 @@
|
||||
"not_available": "不可用"
|
||||
},
|
||||
"siteMonitor": {
|
||||
"http_status": "HTTP status",
|
||||
"http_status": "HTTP 状态",
|
||||
"error": "错误",
|
||||
"response": "响应",
|
||||
"down": "离线",
|
||||
@@ -107,6 +107,12 @@
|
||||
"episodes": "集",
|
||||
"songs": "曲目"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "离线",
|
||||
"online": "在线",
|
||||
"total": "总计",
|
||||
"unknown": "未知"
|
||||
},
|
||||
"evcc": {
|
||||
"pv_power": "发电量",
|
||||
"battery_soc": "电量",
|
||||
@@ -127,20 +133,20 @@
|
||||
},
|
||||
"fritzbox": {
|
||||
"connectionStatus": "状态",
|
||||
"connectionStatusUnconfigured": "Unconfigured",
|
||||
"connectionStatusConnecting": "Connecting",
|
||||
"connectionStatusAuthenticating": "Authenticating",
|
||||
"connectionStatusPendingDisconnect": "Pending Disconnect",
|
||||
"connectionStatusDisconnecting": "Disconnecting",
|
||||
"connectionStatusDisconnected": "Disconnected",
|
||||
"connectionStatusUnconfigured": "未配置",
|
||||
"connectionStatusConnecting": "连接中",
|
||||
"connectionStatusAuthenticating": "认证中",
|
||||
"connectionStatusPendingDisconnect": "等待断开连接",
|
||||
"connectionStatusDisconnecting": "正在断开连接",
|
||||
"connectionStatusDisconnected": "未连接",
|
||||
"connectionStatusConnected": "已连接",
|
||||
"uptime": "运行时间",
|
||||
"maxDown": "Max. Down",
|
||||
"maxUp": "Max. Up",
|
||||
"maxDown": "",
|
||||
"maxUp": "",
|
||||
"down": "离线",
|
||||
"up": "在线",
|
||||
"received": "Received",
|
||||
"sent": "Sent",
|
||||
"received": "已接收",
|
||||
"sent": "已发送",
|
||||
"externalIPAddress": "Ext. IP"
|
||||
},
|
||||
"caddy": {
|
||||
@@ -404,8 +410,8 @@
|
||||
"total": "总计",
|
||||
"free": "空闲",
|
||||
"used": "已使用",
|
||||
"days": "d",
|
||||
"hours": "h",
|
||||
"days": "日",
|
||||
"hours": "时",
|
||||
"crit": "严重",
|
||||
"read": "已读",
|
||||
"write": "写入",
|
||||
@@ -419,7 +425,8 @@
|
||||
"search": "搜索",
|
||||
"custom": "自定义",
|
||||
"visit": "访问",
|
||||
"url": "URL"
|
||||
"url": "URL",
|
||||
"searchsuggestion": "建议"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "晴天",
|
||||
@@ -535,7 +542,15 @@
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "频道",
|
||||
"hd": "HD"
|
||||
"hd": "HD",
|
||||
"tunerCount": "Tuners",
|
||||
"channelNumber": "Channel",
|
||||
"channelNetwork": "网络",
|
||||
"signalStrength": "强度",
|
||||
"signalQuality": "质量",
|
||||
"symbolQuality": "质量",
|
||||
"networkRate": "码率",
|
||||
"clientIP": "客户端"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "通过",
|
||||
@@ -547,12 +562,12 @@
|
||||
"total": "总计"
|
||||
},
|
||||
"peanut": {
|
||||
"battery_charge": "Battery Charge",
|
||||
"ups_load": "UPS Load",
|
||||
"ups_status": "UPS Status",
|
||||
"battery_charge": "充电中",
|
||||
"ups_load": "UPS 负载",
|
||||
"ups_status": "UPS 状态",
|
||||
"online": "在线",
|
||||
"on_battery": "On Battery",
|
||||
"low_battery": "Low Battery"
|
||||
"on_battery": "电池供电",
|
||||
"low_battery": "电量低"
|
||||
},
|
||||
"nextdns": {
|
||||
"wait": "请稍候",
|
||||
@@ -624,7 +639,7 @@
|
||||
"down": "离线网站",
|
||||
"uptime": "运行时间",
|
||||
"incident": "事件",
|
||||
"m": "m"
|
||||
"m": "分"
|
||||
},
|
||||
"atsumeru": {
|
||||
"series": "剧集",
|
||||
@@ -694,6 +709,11 @@
|
||||
"targets_down": "离线目标",
|
||||
"targets_total": "目标总数"
|
||||
},
|
||||
"gatus": {
|
||||
"up": "在线网站",
|
||||
"down": "离线网站",
|
||||
"uptime": "运行时间"
|
||||
},
|
||||
"ghostfolio": {
|
||||
"gross_percent_today": "今日",
|
||||
"gross_percent_1y": "1年",
|
||||
@@ -775,6 +795,14 @@
|
||||
"passed": "通过",
|
||||
"failed": "失败"
|
||||
},
|
||||
"openwrt": {
|
||||
"uptime": "运行时间",
|
||||
"cpuLoad": "CPU 负载平均值(5m)",
|
||||
"up": "在线",
|
||||
"down": "离线",
|
||||
"bytesTx": "已传输",
|
||||
"bytesRx": "已接收"
|
||||
},
|
||||
"uptimerobot": {
|
||||
"status": "状态",
|
||||
"uptime": "运行时间",
|
||||
@@ -797,11 +825,43 @@
|
||||
"noEventsFound": "未找到事件"
|
||||
},
|
||||
"romm": {
|
||||
"platforms": "Platforms",
|
||||
"totalRoms": "Total ROMs"
|
||||
"platforms": "平台",
|
||||
"totalRoms": "总ROM"
|
||||
},
|
||||
"netdata": {
|
||||
"warnings": "Warnings",
|
||||
"criticals": "Criticals"
|
||||
"warnings": "警告",
|
||||
"criticals": "严重"
|
||||
},
|
||||
"plantit": {
|
||||
"events": "Events",
|
||||
"plants": "Plants",
|
||||
"photos": "照片",
|
||||
"species": "Species"
|
||||
},
|
||||
"gitea": {
|
||||
"notifications": "Notifications",
|
||||
"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"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,8 +32,8 @@
|
||||
"weather": {
|
||||
"current": "目前位置",
|
||||
"allow": "點擊以允許",
|
||||
"updating": "更新中",
|
||||
"wait": "請稍後"
|
||||
"updating": "正在更新",
|
||||
"wait": "請稍候"
|
||||
},
|
||||
"search": {
|
||||
"placeholder": "搜尋…"
|
||||
@@ -63,7 +63,7 @@
|
||||
"wlan_users": "無線使用者",
|
||||
"up": "運作時間",
|
||||
"down": "離線",
|
||||
"wait": "請稍後",
|
||||
"wait": "請稍候",
|
||||
"empty_data": "子系統狀態未知"
|
||||
},
|
||||
"docker": {
|
||||
@@ -107,6 +107,12 @@
|
||||
"episodes": "集",
|
||||
"songs": "曲目"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "離線",
|
||||
"online": "在線",
|
||||
"total": "全部",
|
||||
"unknown": "未知"
|
||||
},
|
||||
"evcc": {
|
||||
"pv_power": "正式環境",
|
||||
"battery_soc": "電池",
|
||||
@@ -396,7 +402,7 @@
|
||||
"glances": {
|
||||
"cpu": "CPU",
|
||||
"load": "負載",
|
||||
"wait": "請稍後",
|
||||
"wait": "請稍候",
|
||||
"temp": "溫度",
|
||||
"_temp": "溫度",
|
||||
"warn": "警告",
|
||||
@@ -419,7 +425,8 @@
|
||||
"search": "搜尋",
|
||||
"custom": "自訂",
|
||||
"visit": "造訪",
|
||||
"url": "網址"
|
||||
"url": "網址",
|
||||
"searchsuggestion": "建議"
|
||||
},
|
||||
"wmo": {
|
||||
"0-day": "晴天",
|
||||
@@ -535,7 +542,15 @@
|
||||
},
|
||||
"hdhomerun": {
|
||||
"channels": "頻道",
|
||||
"hd": "高畫質"
|
||||
"hd": "高畫質",
|
||||
"tunerCount": "調諧器",
|
||||
"channelNumber": "頻道",
|
||||
"channelNetwork": "網絡",
|
||||
"signalStrength": "強度",
|
||||
"signalQuality": "品質",
|
||||
"symbolQuality": "品質",
|
||||
"networkRate": "位元率",
|
||||
"clientIP": "用戶端"
|
||||
},
|
||||
"scrutiny": {
|
||||
"passed": "通過",
|
||||
@@ -548,8 +563,8 @@
|
||||
},
|
||||
"peanut": {
|
||||
"battery_charge": "充電",
|
||||
"ups_load": "UPS Load",
|
||||
"ups_status": "UPS Status",
|
||||
"ups_load": "後備電負載",
|
||||
"ups_status": "後備電狀況",
|
||||
"online": "在線",
|
||||
"on_battery": "電池供電",
|
||||
"low_battery": "低電量"
|
||||
@@ -694,6 +709,11 @@
|
||||
"targets_down": "目標離線",
|
||||
"targets_total": "目標總數"
|
||||
},
|
||||
"gatus": {
|
||||
"up": "在線網站",
|
||||
"down": "離線網站",
|
||||
"uptime": "運行時間"
|
||||
},
|
||||
"ghostfolio": {
|
||||
"gross_percent_today": "今日",
|
||||
"gross_percent_1y": "一年",
|
||||
@@ -707,8 +727,8 @@
|
||||
},
|
||||
"homeassistant": {
|
||||
"people_home": "在家人數",
|
||||
"lights_on": "燈亮著",
|
||||
"switches_on": "開關開著"
|
||||
"lights_on": "燈光開啟",
|
||||
"switches_on": "開關開啟"
|
||||
},
|
||||
"whatsupdocker": {
|
||||
"monitoring": "監測中",
|
||||
@@ -775,6 +795,14 @@
|
||||
"passed": "通過",
|
||||
"failed": "失敗"
|
||||
},
|
||||
"openwrt": {
|
||||
"uptime": "運行時間",
|
||||
"cpuLoad": "處理器平均負載(5分鐘)",
|
||||
"up": "在線",
|
||||
"down": "離線",
|
||||
"bytesTx": "已傳送",
|
||||
"bytesRx": "已接收"
|
||||
},
|
||||
"uptimerobot": {
|
||||
"status": "狀態",
|
||||
"uptime": "運行時間",
|
||||
@@ -797,11 +825,43 @@
|
||||
"noEventsFound": "未找到事件"
|
||||
},
|
||||
"romm": {
|
||||
"platforms": "Platforms",
|
||||
"totalRoms": "Total ROMs"
|
||||
"platforms": "平台",
|
||||
"totalRoms": "總唯讀記憶體"
|
||||
},
|
||||
"netdata": {
|
||||
"warnings": "Warnings",
|
||||
"criticals": "Criticals"
|
||||
"warnings": "警告",
|
||||
"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 Count"
|
||||
},
|
||||
"tandoor": {
|
||||
"users": "使用者",
|
||||
"recipes": "食譜",
|
||||
"keywords": "Keywords"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { useRef } from "react";
|
||||
import { useRef, useEffect } from "react";
|
||||
import classNames from "classnames";
|
||||
import { Disclosure, Transition } from "@headlessui/react";
|
||||
import { MdKeyboardArrowDown } from "react-icons/md";
|
||||
@@ -7,8 +7,13 @@ import ErrorBoundary from "components/errorboundry";
|
||||
import List from "components/bookmarks/list";
|
||||
import ResolvedIcon from "components/resolvedicon";
|
||||
|
||||
export default function BookmarksGroup({ bookmarks, layout, disableCollapse }) {
|
||||
export default function BookmarksGroup({ bookmarks, layout, disableCollapse, groupsInitiallyCollapsed }) {
|
||||
const panel = useRef();
|
||||
|
||||
useEffect(() => {
|
||||
if (layout?.initiallyCollapsed ?? groupsInitiallyCollapsed) panel.current.style.height = `0`;
|
||||
}, [layout, groupsInitiallyCollapsed]);
|
||||
|
||||
return (
|
||||
<div
|
||||
key={bookmarks.name}
|
||||
@@ -18,7 +23,7 @@ export default function BookmarksGroup({ bookmarks, layout, disableCollapse }) {
|
||||
layout?.header === false ? "flex-1 px-1 -my-1" : "flex-1 p-1",
|
||||
)}
|
||||
>
|
||||
<Disclosure defaultOpen>
|
||||
<Disclosure defaultOpen={!(layout?.initiallyCollapsed ?? groupsInitiallyCollapsed) ?? true}>
|
||||
{({ open }) => (
|
||||
<>
|
||||
{layout?.header !== false && (
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
import useSWR from "swr";
|
||||
|
||||
export default function FileContent({ path, loadingValue, errorValue, emptyValue = "" }) {
|
||||
const fetcher = (url) => fetch(url).then((res) => res.text());
|
||||
const { data, error, isLoading } = useSWR(`/api/config/${path}`, fetcher);
|
||||
|
||||
if (error) return errorValue;
|
||||
if (isLoading) return loadingValue;
|
||||
return data || emptyValue;
|
||||
}
|
||||
@@ -15,16 +15,19 @@ export default function QuickLaunch({
|
||||
searchProvider,
|
||||
}) {
|
||||
const { t } = useTranslation();
|
||||
|
||||
const { settings } = useContext(SettingsContext);
|
||||
const { searchDescriptions, hideVisitURL } = settings?.quicklaunch
|
||||
? settings.quicklaunch
|
||||
: { searchDescriptions: false, hideVisitURL: false };
|
||||
const { searchDescriptions = false, hideVisitURL = false } = settings?.quicklaunch ?? {};
|
||||
const showSearchSuggestions = !!(
|
||||
settings?.quicklaunch?.showSearchSuggestions ?? searchProvider?.showSearchSuggestions
|
||||
);
|
||||
|
||||
const searchField = useRef();
|
||||
|
||||
const [results, setResults] = useState([]);
|
||||
const [currentItemIndex, setCurrentItemIndex] = useState(null);
|
||||
const [url, setUrl] = useState(null);
|
||||
const [searchSuggestions, setSearchSuggestions] = useState([]);
|
||||
|
||||
function openCurrentItem(newWindow) {
|
||||
const result = results[currentItemIndex];
|
||||
@@ -36,8 +39,9 @@ export default function QuickLaunch({
|
||||
setTimeout(() => {
|
||||
setSearchString("");
|
||||
setCurrentItemIndex(null);
|
||||
setSearchSuggestions([]);
|
||||
}, 200); // delay a little for animations
|
||||
}, [close, setSearchString, setCurrentItemIndex]);
|
||||
}, [close, setSearchString, setCurrentItemIndex, setSearchSuggestions]);
|
||||
|
||||
function handleSearchChange(event) {
|
||||
const rawSearchString = event.target.value.toLowerCase();
|
||||
@@ -90,6 +94,8 @@ export default function QuickLaunch({
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
const abortController = new AbortController();
|
||||
|
||||
if (searchString.length === 0) setResults([]);
|
||||
else {
|
||||
let newResults = servicesAndBookmarks.filter((r) => {
|
||||
@@ -109,9 +115,43 @@ export default function QuickLaunch({
|
||||
if (searchProvider) {
|
||||
newResults.push({
|
||||
href: searchProvider.url + encodeURIComponent(searchString),
|
||||
name: `${searchProvider.name ?? t("quicklaunch.custom")} ${t("quicklaunch.search")} `,
|
||||
name: `${searchProvider.name ?? t("quicklaunch.custom")} ${t("quicklaunch.search")}`,
|
||||
type: "search",
|
||||
});
|
||||
|
||||
if (showSearchSuggestions && searchProvider.suggestionUrl) {
|
||||
if (searchString.trim() !== searchSuggestions[0]?.trim()) {
|
||||
fetch(
|
||||
`/api/search/searchSuggestion?query=${encodeURIComponent(searchString)}&providerName=${
|
||||
searchProvider.name ?? "Custom"
|
||||
}`,
|
||||
{ signal: abortController.signal },
|
||||
)
|
||||
.then(async (searchSuggestionResult) => {
|
||||
const newSearchSuggestions = await searchSuggestionResult.json();
|
||||
|
||||
if (newSearchSuggestions) {
|
||||
if (newSearchSuggestions[1].length > 4) {
|
||||
newSearchSuggestions[1] = newSearchSuggestions[1].splice(0, 4);
|
||||
}
|
||||
setSearchSuggestions(newSearchSuggestions);
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
// If there is an error, just ignore it. There just will be no search suggestions.
|
||||
});
|
||||
}
|
||||
|
||||
if (searchSuggestions[1]) {
|
||||
newResults = newResults.concat(
|
||||
searchSuggestions[1].map((suggestion) => ({
|
||||
href: searchProvider.url + encodeURIComponent(suggestion),
|
||||
name: suggestion,
|
||||
type: "searchSuggestion",
|
||||
})),
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!hideVisitURL && url) {
|
||||
@@ -128,7 +168,21 @@ export default function QuickLaunch({
|
||||
setCurrentItemIndex(0);
|
||||
}
|
||||
}
|
||||
}, [searchString, servicesAndBookmarks, searchDescriptions, hideVisitURL, searchProvider, url, t]);
|
||||
|
||||
return () => {
|
||||
abortController.abort();
|
||||
};
|
||||
}, [
|
||||
searchString,
|
||||
servicesAndBookmarks,
|
||||
searchDescriptions,
|
||||
hideVisitURL,
|
||||
showSearchSuggestions,
|
||||
searchSuggestions,
|
||||
searchProvider,
|
||||
url,
|
||||
t,
|
||||
]);
|
||||
|
||||
const [hidden, setHidden] = useState(true);
|
||||
useEffect(() => {
|
||||
@@ -181,7 +235,7 @@ export default function QuickLaunch({
|
||||
<div className="fixed inset-0 bg-gray-500 bg-opacity-50" />
|
||||
<div className="fixed inset-0 z-20 overflow-y-auto">
|
||||
<div className="flex min-h-full min-w-full items-start justify-center text-center">
|
||||
<dialog className="mt-[10%] min-w-[80%] max-w-[90%] md:min-w-[40%] rounded-md p-0 block font-medium text-theme-700 dark:text-theme-200 dark:hover:text-theme-300 shadow-md shadow-theme-900/10 dark:shadow-theme-900/20 bg-theme-50 dark:bg-theme-800">
|
||||
<dialog className="mt-[10%] min-w-[90%] max-w-[90%] md:min-w-[40%] md:max-w-[40%] rounded-md p-0 block font-medium text-theme-700 dark:text-theme-200 dark:hover:text-theme-300 shadow-md shadow-theme-900/10 dark:shadow-theme-900/20 bg-theme-50 dark:bg-theme-800">
|
||||
<input
|
||||
placeholder="Search"
|
||||
className={classNames(
|
||||
@@ -219,7 +273,17 @@ export default function QuickLaunch({
|
||||
</div>
|
||||
)}
|
||||
<div className="flex flex-col md:flex-row text-left items-baseline mr-4 pointer-events-none">
|
||||
<span className="mr-4">{r.name}</span>
|
||||
{r.type !== "searchSuggestion" && <span className="mr-4">{r.name}</span>}
|
||||
{r.type === "searchSuggestion" && (
|
||||
<div className="flex-nowrap">
|
||||
<span className="whitespace-pre">
|
||||
{r.name.indexOf(searchString) === 0 ? searchString : ""}
|
||||
</span>
|
||||
<span className="whitespace-pre opacity-50">
|
||||
{r.name.indexOf(searchString) === 0 ? r.name.substring(searchString.length) : r.name}
|
||||
</span>
|
||||
</div>
|
||||
)}
|
||||
{r.description && (
|
||||
<span className="text-xs text-theme-600 text-light">
|
||||
{searchDescriptions && r.priority < 2 ? highlightText(r.description) : r.description}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { useRef } from "react";
|
||||
import { useRef, useEffect } from "react";
|
||||
import classNames from "classnames";
|
||||
import { Disclosure, Transition } from "@headlessui/react";
|
||||
import { MdKeyboardArrowDown } from "react-icons/md";
|
||||
@@ -6,9 +6,21 @@ import { MdKeyboardArrowDown } from "react-icons/md";
|
||||
import List from "components/services/list";
|
||||
import ResolvedIcon from "components/resolvedicon";
|
||||
|
||||
export default function ServicesGroup({ group, services, layout, fiveColumns, disableCollapse, useEqualHeights }) {
|
||||
export default function ServicesGroup({
|
||||
group,
|
||||
services,
|
||||
layout,
|
||||
fiveColumns,
|
||||
disableCollapse,
|
||||
useEqualHeights,
|
||||
groupsInitiallyCollapsed,
|
||||
}) {
|
||||
const panel = useRef();
|
||||
|
||||
useEffect(() => {
|
||||
if (layout?.initiallyCollapsed ?? groupsInitiallyCollapsed) panel.current.style.height = `0`;
|
||||
}, [layout, groupsInitiallyCollapsed]);
|
||||
|
||||
return (
|
||||
<div
|
||||
key={services.name}
|
||||
@@ -19,7 +31,7 @@ export default function ServicesGroup({ group, services, layout, fiveColumns, di
|
||||
layout?.header === false ? "flex-1 px-1 -my-1" : "flex-1 p-1",
|
||||
)}
|
||||
>
|
||||
<Disclosure defaultOpen>
|
||||
<Disclosure defaultOpen={!(layout?.initiallyCollapsed ?? groupsInitiallyCollapsed) ?? true}>
|
||||
{({ open }) => (
|
||||
<>
|
||||
{layout?.header !== false && (
|
||||
|
||||
@@ -36,7 +36,6 @@ export default function Item({ service, group, useEqualHeights }) {
|
||||
<div
|
||||
className={classNames(
|
||||
settings.cardBlur !== undefined && `backdrop-blur${settings.cardBlur.length ? "-" : ""}${settings.cardBlur}`,
|
||||
hasLink && "cursor-pointer",
|
||||
useEqualHeights && "h-[calc(100%-0.5rem)]",
|
||||
"transition-all mb-2 p-1 rounded-md font-medium text-theme-700 dark:text-theme-200 dark:hover:text-theme-300 shadow-md shadow-theme-900/10 dark:shadow-theme-900/20 bg-theme-100/20 hover:bg-theme-300/20 dark:bg-white/5 dark:hover:bg-white/10 relative overflow-clip service-card",
|
||||
)}
|
||||
@@ -48,13 +47,13 @@ export default function Item({ service, group, useEqualHeights }) {
|
||||
href={service.href}
|
||||
target={service.target ?? settings.target ?? "_blank"}
|
||||
rel="noreferrer"
|
||||
className="flex-shrink-0 flex items-center justify-center w-12 service-icon"
|
||||
className="flex-shrink-0 flex items-center justify-center w-12 service-icon z-10"
|
||||
aria-label={service.icon}
|
||||
>
|
||||
<ResolvedIcon icon={service.icon} />
|
||||
</a>
|
||||
) : (
|
||||
<div className="flex-shrink-0 flex items-center justify-center w-12 service-icon">
|
||||
<div className="flex-shrink-0 flex items-center justify-center w-12 service-icon z-10">
|
||||
<ResolvedIcon icon={service.icon} />
|
||||
</div>
|
||||
))}
|
||||
|
||||
@@ -7,33 +7,31 @@ export default function Status({ service, style }) {
|
||||
const { data, error } = useSWR(`/api/docker/status/${service.container}/${service.server || ""}`);
|
||||
|
||||
let statusLabel = t("docker.unknown");
|
||||
let statusTitle = "";
|
||||
let backgroundClass = "px-1.5 py-0.5 bg-theme-500/10 dark:bg-theme-900/50";
|
||||
let colorClass = "text-black/20 dark:text-white/40 ";
|
||||
|
||||
if (error) {
|
||||
statusTitle = t("docker.error");
|
||||
statusLabel = t("docker.error");
|
||||
colorClass = "text-rose-500/80";
|
||||
} else if (data) {
|
||||
if (data.status?.includes("running")) {
|
||||
if (data.health === "starting") {
|
||||
statusTitle = t("docker.starting");
|
||||
colorClass = "text-blue-500/80";
|
||||
}
|
||||
|
||||
if (data.health === "unhealthy") {
|
||||
statusTitle = t("docker.unhealthy");
|
||||
colorClass = "text-orange-400/50 dark:text-orange-400/80";
|
||||
}
|
||||
colorClass = "text-emerald-500/80";
|
||||
|
||||
if (!data.health) {
|
||||
statusLabel = data.status.replace("running", t("docker.running"));
|
||||
} else {
|
||||
statusLabel = data.health === "healthy" ? t("docker.healthy") : data.health;
|
||||
}
|
||||
|
||||
statusTitle = statusLabel;
|
||||
colorClass = "text-emerald-500/80";
|
||||
if (data.health === "starting") {
|
||||
statusLabel = t("docker.starting");
|
||||
colorClass = "text-blue-500/80";
|
||||
}
|
||||
|
||||
if (data.health === "unhealthy") {
|
||||
statusLabel = t("docker.unhealthy");
|
||||
colorClass = "text-orange-400/50 dark:text-orange-400/80";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (data.status === "not found" || data.status === "exited" || data.status?.startsWith("partial")) {
|
||||
@@ -47,13 +45,14 @@ export default function Status({ service, style }) {
|
||||
if (style === "dot") {
|
||||
colorClass = colorClass.replace(/text-/g, "bg-").replace(/\/\d\d/g, "");
|
||||
backgroundClass = "p-4 hover:bg-theme-500/10 dark:hover:bg-theme-900/20";
|
||||
statusTitle = statusLabel;
|
||||
}
|
||||
|
||||
return (
|
||||
<div
|
||||
className={`w-auto text-center overflow-hidden ${backgroundClass} rounded-b-[3px] docker-status`}
|
||||
title={statusTitle}
|
||||
className={`w-auto text-center overflow-hidden ${backgroundClass} rounded-b-[3px] docker-status docker-status-${statusLabel
|
||||
.toLowerCase()
|
||||
.replace(" ", "-")}`}
|
||||
title={statusLabel}
|
||||
>
|
||||
{style !== "dot" ? (
|
||||
<div className={`text-[8px] font-bold ${colorClass} uppercase`}>{statusLabel}</div>
|
||||
|
||||
@@ -21,6 +21,7 @@ function convertToFahrenheit(t) {
|
||||
export default function Widget({ options }) {
|
||||
const { t, i18n } = useTranslation();
|
||||
const { settings } = useContext(SettingsContext);
|
||||
const diskUnits = options.diskUnits === "bbytes" ? "common.bbytes" : "common.bytes";
|
||||
|
||||
const { data, error } = useSWR(
|
||||
`/api/widgets/glances?${new URLSearchParams({ lang: i18n.language, ...options }).toString()}`,
|
||||
@@ -132,9 +133,9 @@ export default function Widget({ options }) {
|
||||
<Resource
|
||||
key={`disk_${disk.mnt_point ?? disk.device_name}`}
|
||||
icon={FiHardDrive}
|
||||
value={t("common.bytes", { value: disk.free })}
|
||||
value={t(diskUnits, { value: disk.free })}
|
||||
label={t("glances.free")}
|
||||
expandedValue={t("common.bytes", { value: disk.size })}
|
||||
expandedValue={t(diskUnits, { value: disk.size })}
|
||||
expandedLabel={t("glances.total")}
|
||||
percentage={disk.percent}
|
||||
expanded={options.expanded}
|
||||
|
||||
@@ -46,6 +46,7 @@ function Widget({ options }) {
|
||||
value: data.current_weather.temperature,
|
||||
style: "unit",
|
||||
unit,
|
||||
...options.format,
|
||||
})}
|
||||
</PrimaryText>
|
||||
<SecondaryText>{t(`wmo.${data.current_weather.weathercode}-${timeOfDay}`)}</SecondaryText>
|
||||
|
||||
@@ -42,7 +42,7 @@ function Widget({ options }) {
|
||||
<Container options={options} additionalClassNames="information-widget-openweathermap">
|
||||
<PrimaryText>
|
||||
{options.label && `${options.label}, `}
|
||||
{t("common.number", { value: data.main.temp, style: "unit", unit })}
|
||||
{t("common.number", { value: data.main.temp, style: "unit", unit, ...options.format })}
|
||||
</PrimaryText>
|
||||
<SecondaryText>{data.weather[0].description}</SecondaryText>
|
||||
<WidgetIcon icon={mapIcon(condition, timeOfDay)} size="xl" />
|
||||
|
||||
@@ -5,8 +5,9 @@ import { useTranslation } from "next-i18next";
|
||||
import Resource from "../widget/resource";
|
||||
import Error from "../widget/error";
|
||||
|
||||
export default function Disk({ options, expanded, refresh = 1500 }) {
|
||||
export default function Disk({ options, expanded, diskUnits, refresh = 1500 }) {
|
||||
const { t } = useTranslation();
|
||||
const diskUnitsName = diskUnits === "bbytes" ? "common.bbytes" : "common.bytes";
|
||||
|
||||
const { data, error } = useSWR(`/api/widgets/resources?type=disk&target=${options.disk}`, {
|
||||
refreshInterval: refresh,
|
||||
@@ -36,9 +37,9 @@ export default function Disk({ options, expanded, refresh = 1500 }) {
|
||||
return (
|
||||
<Resource
|
||||
icon={FiHardDrive}
|
||||
value={t("common.bytes", { value: data.drive.available })}
|
||||
value={t(diskUnitsName, { value: data.drive.available })}
|
||||
label={t("resources.free")}
|
||||
expandedValue={t("common.bytes", { value: data.drive.size })}
|
||||
expandedValue={t(diskUnitsName, { value: data.drive.size })}
|
||||
expandedLabel={t("resources.total")}
|
||||
percentage={percent}
|
||||
expanded={expanded}
|
||||
|
||||
@@ -8,7 +8,7 @@ import CpuTemp from "./cputemp";
|
||||
import Uptime from "./uptime";
|
||||
|
||||
export default function Resources({ options }) {
|
||||
const { expanded, units } = options;
|
||||
const { expanded, units, diskUnits } = options;
|
||||
let { refresh } = options;
|
||||
if (!refresh) refresh = 1500;
|
||||
refresh = Math.max(refresh, 1000);
|
||||
@@ -19,8 +19,10 @@ export default function Resources({ options }) {
|
||||
{options.cpu && <Cpu expanded={expanded} refresh={refresh} />}
|
||||
{options.memory && <Memory expanded={expanded} refresh={refresh} />}
|
||||
{Array.isArray(options.disk)
|
||||
? options.disk.map((disk) => <Disk key={disk} options={{ disk }} expanded={expanded} refresh={refresh} />)
|
||||
: options.disk && <Disk options={options} expanded={expanded} refresh={refresh} />}
|
||||
? options.disk.map((disk) => (
|
||||
<Disk key={disk} options={{ disk }} expanded={expanded} diskUnits={diskUnits} refresh={refresh} />
|
||||
))
|
||||
: options.disk && <Disk options={options} expanded={expanded} diskUnits={diskUnits} refresh={refresh} />}
|
||||
{options.cputemp && <CpuTemp expanded={expanded} units={units} refresh={refresh} />}
|
||||
{options.uptime && <Uptime refresh={refresh} />}
|
||||
</div>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { useState, useEffect, useCallback, Fragment } from "react";
|
||||
import { useState, useEffect, Fragment } from "react";
|
||||
import { useTranslation } from "next-i18next";
|
||||
import { FiSearch } from "react-icons/fi";
|
||||
import { SiDuckduckgo, SiMicrosoftbing, SiGoogle, SiBaidu, SiBrave } from "react-icons/si";
|
||||
import { Listbox, Transition } from "@headlessui/react";
|
||||
import { Listbox, Transition, Combobox } from "@headlessui/react";
|
||||
import classNames from "classnames";
|
||||
|
||||
import ContainerForm from "../widget/container_form";
|
||||
@@ -12,26 +12,31 @@ export const searchProviders = {
|
||||
google: {
|
||||
name: "Google",
|
||||
url: "https://www.google.com/search?q=",
|
||||
suggestionUrl: "https://www.google.com/complete/search?client=chrome&q=",
|
||||
icon: SiGoogle,
|
||||
},
|
||||
duckduckgo: {
|
||||
name: "DuckDuckGo",
|
||||
url: "https://duckduckgo.com/?q=",
|
||||
suggestionUrl: "https://duckduckgo.com/ac/?type=list&q=",
|
||||
icon: SiDuckduckgo,
|
||||
},
|
||||
bing: {
|
||||
name: "Bing",
|
||||
url: "https://www.bing.com/search?q=",
|
||||
suggestionUrl: "https://api.bing.com/osjson.aspx?query=",
|
||||
icon: SiMicrosoftbing,
|
||||
},
|
||||
baidu: {
|
||||
name: "Baidu",
|
||||
url: "https://www.baidu.com/s?wd=",
|
||||
suggestionUrl: "http://suggestion.baidu.com/su?&action=opensearch&ie=utf-8&wd=",
|
||||
icon: SiBaidu,
|
||||
},
|
||||
brave: {
|
||||
name: "Brave",
|
||||
url: "https://search.brave.com/search?q=",
|
||||
suggestionUrl: "https://search.brave.com/api/suggest?&rich=false&q=",
|
||||
icon: SiBrave,
|
||||
},
|
||||
custom: {
|
||||
@@ -72,6 +77,7 @@ export default function Search({ options }) {
|
||||
const [selectedProvider, setSelectedProvider] = useState(
|
||||
searchProviders[availableProviderIds[0] ?? searchProviders.google],
|
||||
);
|
||||
const [searchSuggestions, setSearchSuggestions] = useState([]);
|
||||
|
||||
useEffect(() => {
|
||||
const storedProvider = getStoredProvider();
|
||||
@@ -82,22 +88,58 @@ export default function Search({ options }) {
|
||||
}
|
||||
}, [availableProviderIds]);
|
||||
|
||||
const submitCallback = useCallback(
|
||||
(event) => {
|
||||
const q = encodeURIComponent(query);
|
||||
const { url } = selectedProvider;
|
||||
if (url) {
|
||||
window.open(`${url}${q}`, options.target || "_blank");
|
||||
} else {
|
||||
window.open(`${options.url}${q}`, options.target || "_blank");
|
||||
}
|
||||
useEffect(() => {
|
||||
const abortController = new AbortController();
|
||||
|
||||
event.preventDefault();
|
||||
event.target.reset();
|
||||
setQuery("");
|
||||
},
|
||||
[options.target, options.url, query, selectedProvider],
|
||||
);
|
||||
if (
|
||||
options.showSearchSuggestions &&
|
||||
(selectedProvider.suggestionUrl || options.suggestionUrl) && // custom providers pass url via options
|
||||
query.trim() !== searchSuggestions[0]
|
||||
) {
|
||||
fetch(`/api/search/searchSuggestion?query=${encodeURIComponent(query)}&providerName=${selectedProvider.name}`, {
|
||||
signal: abortController.signal,
|
||||
})
|
||||
.then(async (searchSuggestionResult) => {
|
||||
const newSearchSuggestions = await searchSuggestionResult.json();
|
||||
|
||||
if (newSearchSuggestions) {
|
||||
if (newSearchSuggestions[1].length > 4) {
|
||||
newSearchSuggestions[1] = newSearchSuggestions[1].splice(0, 4);
|
||||
}
|
||||
setSearchSuggestions(newSearchSuggestions);
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
// If there is an error, just ignore it. There just will be no search suggestions.
|
||||
});
|
||||
}
|
||||
|
||||
return () => {
|
||||
abortController.abort();
|
||||
};
|
||||
}, [selectedProvider, options, query, searchSuggestions]);
|
||||
|
||||
let currentSuggestion;
|
||||
|
||||
function doSearch(value) {
|
||||
const q = encodeURIComponent(value);
|
||||
const { url } = selectedProvider;
|
||||
if (url) {
|
||||
window.open(`${url}${q}`, options.target || "_blank");
|
||||
} else {
|
||||
window.open(`${options.url}${q}`, options.target || "_blank");
|
||||
}
|
||||
|
||||
setQuery("");
|
||||
currentSuggestion = null;
|
||||
}
|
||||
|
||||
const handleSearchKeyDown = (event) => {
|
||||
const useSuggestion = searchSuggestions.length && currentSuggestion;
|
||||
if (event.key === "Enter") {
|
||||
doSearch(useSuggestion ? currentSuggestion : event.target.value);
|
||||
}
|
||||
};
|
||||
|
||||
if (!availableProviderIds) {
|
||||
return null;
|
||||
@@ -109,84 +151,125 @@ export default function Search({ options }) {
|
||||
};
|
||||
|
||||
return (
|
||||
<ContainerForm options={options} callback={submitCallback} additionalClassNames="grow information-widget-search">
|
||||
<ContainerForm options={options} additionalClassNames="grow information-widget-search">
|
||||
<Raw>
|
||||
<div className="flex-col relative h-8 my-4 min-w-fit">
|
||||
<div className="flex-col relative h-8 my-4 min-w-fit z-20">
|
||||
<div className="flex absolute inset-y-0 left-0 items-center pl-3 pointer-events-none w-full text-theme-800 dark:text-white" />
|
||||
<input
|
||||
type="text"
|
||||
className="
|
||||
overflow-hidden w-full h-full rounded-md
|
||||
text-xs text-theme-900 dark:text-white
|
||||
placeholder-theme-900 dark:placeholder-white/80
|
||||
bg-white/50 dark:bg-white/10
|
||||
focus:ring-theme-500 dark:focus:ring-white/50
|
||||
focus:border-theme-500 dark:focus:border-white/50
|
||||
border border-theme-300 dark:border-theme-200/50"
|
||||
placeholder={t("search.placeholder")}
|
||||
onChange={(s) => setQuery(s.currentTarget.value)}
|
||||
required
|
||||
autoCapitalize="off"
|
||||
autoCorrect="off"
|
||||
autoComplete="off"
|
||||
// eslint-disable-next-line jsx-a11y/no-autofocus
|
||||
autoFocus={options.focus}
|
||||
/>
|
||||
<Listbox
|
||||
as="div"
|
||||
value={selectedProvider}
|
||||
onChange={onChangeProvider}
|
||||
className="relative text-left"
|
||||
disabled={availableProviderIds?.length === 1}
|
||||
>
|
||||
<div>
|
||||
<Listbox.Button
|
||||
className="
|
||||
absolute right-0.5 bottom-0.5 rounded-r-md px-4 py-2 border-1
|
||||
text-white font-medium text-sm
|
||||
bg-theme-600/40 dark:bg-white/10
|
||||
focus:ring-theme-500 dark:focus:ring-white/50"
|
||||
>
|
||||
<selectedProvider.icon className="text-white w-3 h-3" />
|
||||
<span className="sr-only">{t("search.search")}</span>
|
||||
</Listbox.Button>
|
||||
</div>
|
||||
<Transition
|
||||
as={Fragment}
|
||||
enter="transition ease-out duration-100"
|
||||
enterFrom="transform opacity-0 scale-95"
|
||||
enterTo="transform opacity-100 scale-100"
|
||||
leave="transition ease-in duration-75"
|
||||
leaveFrom="transform opacity-100 scale-100"
|
||||
leaveTo="transform opacity-0 scale-95"
|
||||
<Combobox value={query}>
|
||||
<Combobox.Input
|
||||
type="text"
|
||||
className="
|
||||
overflow-hidden w-full h-full rounded-md
|
||||
text-xs text-theme-900 dark:text-white
|
||||
placeholder-theme-900 dark:placeholder-white/80
|
||||
bg-white/50 dark:bg-white/10
|
||||
focus:ring-theme-500 dark:focus:ring-white/50
|
||||
focus:border-theme-500 dark:focus:border-white/50
|
||||
border border-theme-300 dark:border-theme-200/50"
|
||||
placeholder={t("search.placeholder")}
|
||||
onChange={(event) => {
|
||||
setQuery(event.target.value);
|
||||
}}
|
||||
required
|
||||
autoCapitalize="off"
|
||||
autoCorrect="off"
|
||||
autoComplete="off"
|
||||
// eslint-disable-next-line jsx-a11y/no-autofocus
|
||||
autoFocus={options.focus}
|
||||
onBlur={(e) => e.preventDefault()}
|
||||
onKeyDown={handleSearchKeyDown}
|
||||
/>
|
||||
<Listbox
|
||||
as="div"
|
||||
value={selectedProvider}
|
||||
onChange={onChangeProvider}
|
||||
className="relative text-left"
|
||||
disabled={availableProviderIds?.length === 1}
|
||||
>
|
||||
<Listbox.Options
|
||||
className="absolute right-0 z-10 mt-1 origin-top-right rounded-md
|
||||
bg-theme-100 dark:bg-theme-600 shadow-lg
|
||||
ring-1 ring-black ring-opacity-5 focus:outline-none"
|
||||
<div>
|
||||
<Listbox.Button
|
||||
className="
|
||||
absolute right-0.5 bottom-0.5 rounded-r-md px-4 py-2 border-1
|
||||
text-white font-medium text-sm
|
||||
bg-theme-600/40 dark:bg-white/10
|
||||
focus:ring-theme-500 dark:focus:ring-white/50"
|
||||
>
|
||||
<selectedProvider.icon className="text-white w-3 h-3" />
|
||||
<span className="sr-only">{t("search.search")}</span>
|
||||
</Listbox.Button>
|
||||
</div>
|
||||
<Transition
|
||||
as={Fragment}
|
||||
enter="transition ease-out duration-100"
|
||||
enterFrom="transform opacity-0 scale-95"
|
||||
enterTo="transform opacity-100 scale-100"
|
||||
leave="transition ease-in duration-75"
|
||||
leaveFrom="transform opacity-100 scale-100"
|
||||
leaveTo="transform opacity-0 scale-95"
|
||||
>
|
||||
<div className="flex flex-col">
|
||||
{availableProviderIds.map((providerId) => {
|
||||
const p = searchProviders[providerId];
|
||||
return (
|
||||
<Listbox.Option key={providerId} value={p} as={Fragment}>
|
||||
{({ active }) => (
|
||||
<li
|
||||
<Listbox.Options
|
||||
className="absolute right-0 z-10 mt-1 origin-top-right rounded-md
|
||||
bg-theme-100 dark:bg-theme-600 shadow-lg
|
||||
ring-1 ring-black ring-opacity-5 focus:outline-none"
|
||||
>
|
||||
<div className="flex flex-col">
|
||||
{availableProviderIds.map((providerId) => {
|
||||
const p = searchProviders[providerId];
|
||||
return (
|
||||
<Listbox.Option key={providerId} value={p} as={Fragment}>
|
||||
{({ active }) => (
|
||||
<li
|
||||
className={classNames(
|
||||
"rounded-md cursor-pointer",
|
||||
active ? "bg-theme-600/10 dark:bg-white/10 dark:text-gray-900" : "dark:text-gray-100",
|
||||
)}
|
||||
>
|
||||
<p.icon className="h-4 w-4 mx-4 my-2" />
|
||||
</li>
|
||||
)}
|
||||
</Listbox.Option>
|
||||
);
|
||||
})}
|
||||
</div>
|
||||
</Listbox.Options>
|
||||
</Transition>
|
||||
</Listbox>
|
||||
|
||||
{searchSuggestions[1]?.length > 0 && (
|
||||
<Combobox.Options className="mt-1 rounded-md bg-theme-50 dark:bg-theme-800 border border-theme-300 dark:border-theme-200/30 cursor-pointer shadow-lg">
|
||||
<div className="p-1 bg-white/50 dark:bg-white/10 text-theme-900/90 dark:text-white/90 text-xs">
|
||||
<Combobox.Option key={query} value={query} />
|
||||
{searchSuggestions[1].map((suggestion) => (
|
||||
<Combobox.Option
|
||||
key={suggestion}
|
||||
value={suggestion}
|
||||
onClick={() => {
|
||||
doSearch(suggestion);
|
||||
}}
|
||||
className="flex w-full"
|
||||
>
|
||||
{({ active }) => {
|
||||
if (active) currentSuggestion = suggestion;
|
||||
return (
|
||||
<div
|
||||
className={classNames(
|
||||
"rounded-md cursor-pointer",
|
||||
active ? "bg-theme-600/10 dark:bg-white/10 dark:text-gray-900" : "dark:text-gray-100",
|
||||
"px-2 py-1 rounded-md w-full flex-nowrap",
|
||||
active ? "bg-theme-300/20 dark:bg-white/10" : "",
|
||||
)}
|
||||
>
|
||||
<p.icon className="h-4 w-4 mx-4 my-2" />
|
||||
</li>
|
||||
)}
|
||||
</Listbox.Option>
|
||||
);
|
||||
})}
|
||||
<span className="whitespace-pre">{suggestion.indexOf(query) === 0 ? query : ""}</span>
|
||||
<span className="mr-4 whitespace-pre opacity-50">
|
||||
{suggestion.indexOf(query) === 0 ? suggestion.substring(query.length) : suggestion}
|
||||
</span>
|
||||
</div>
|
||||
);
|
||||
}}
|
||||
</Combobox.Option>
|
||||
))}
|
||||
</div>
|
||||
</Listbox.Options>
|
||||
</Transition>
|
||||
</Listbox>
|
||||
</Combobox.Options>
|
||||
)}
|
||||
</Combobox>
|
||||
</div>
|
||||
</Raw>
|
||||
</ContainerForm>
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user