mirror of
https://github.com/gethomepage/homepage.git
synced 2026-09-03 02:46:01 -07:00
Compare commits
110 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 5d9ad0632b | |||
| 6be85c7a47 | |||
| bd4f8094c1 | |||
| 64627f6cb2 | |||
| 9ca3934673 | |||
| 1619123057 | |||
| 1dda594682 | |||
| 31a57c60e2 | |||
| cbb5667512 | |||
| 91f3b9df5c | |||
| 593c18dc4c | |||
| c7aad6e975 | |||
| 408935b091 | |||
| bea9d4efa1 | |||
| f9b60e3cb9 | |||
| 165d4c8588 | |||
| 5485e0356a | |||
| 873bd99651 | |||
| 83a7e590eb | |||
| f8ccbdb87a | |||
| 8710a498c5 | |||
| e4fbdfb414 | |||
| 47583f3489 | |||
| c2552e5025 | |||
| 632e03e68a | |||
| de1d763b80 | |||
| 1104bac6f6 | |||
| 9cef37aed6 | |||
| 9a4dea39b0 | |||
| e7a147899c | |||
| e81aadb071 | |||
| 1e6be5cc17 | |||
| 9b1b14116b | |||
| 02a9d74c95 | |||
| e7a749782a | |||
| f8e2e8d410 | |||
| 6053ddbab6 | |||
| 11e9f28e5e | |||
| 233721cc90 | |||
| d294a25145 | |||
| 0ff9af4c3c | |||
| a6c753c8aa | |||
| 5d71c3aa65 | |||
| 1cc4608d72 | |||
| d65e5447e4 | |||
| d3256596d8 | |||
| 5bfe18b3e5 | |||
| 1ac5012c94 | |||
| 27b1c3f5f4 | |||
| bb765a6747 | |||
| aab4f5125b | |||
| 6d1e56bca0 | |||
| 4603e0ee57 | |||
| 9a983a5be1 | |||
| 23e66a265d | |||
| ce8f020b7b | |||
| 72b0e493d0 | |||
| ffb264cead | |||
| cd6e708af2 | |||
| 4e621aee8f | |||
| 93364b6a27 | |||
| 3dffc38462 | |||
| b2a52ff2a9 | |||
| 081b9ec8c3 | |||
| 977be863c7 | |||
| 77c9ac4a2c | |||
| b6b00aab86 | |||
| c3b4fc17c4 | |||
| 9b8e771268 | |||
| 44c1e8393e | |||
| 7ed1260f0d | |||
| 96f4777637 | |||
| f762135eb3 | |||
| d721bb661f | |||
| bf55e8acab | |||
| f82e0d9519 | |||
| 8322dd9016 | |||
| 10ade1d32f | |||
| a0f9fbf614 | |||
| 0c8fd6904e | |||
| b2b299d634 | |||
| b8672ddc9b | |||
| 03dd54ee2e | |||
| 92ec6ccefc | |||
| 463e94d933 | |||
| a7bab17f97 | |||
| 1accddf29a | |||
| 636d62106c | |||
| d048888d99 | |||
| 24804f39fc | |||
| 70f8c67d3c | |||
| 038f5c3b9f | |||
| ade4c733c7 | |||
| bdbd2e6ff0 | |||
| 5f4b0b4e33 | |||
| a56a05b553 | |||
| 11d1ceb755 | |||
| 6df1cfdeba | |||
| d64fbae776 | |||
| 5f7e5430c4 | |||
| 3cc3986ec3 | |||
| 5af0ab1686 | |||
| f0f5c3c15c | |||
| 2ed1da4411 | |||
| e1023466b1 | |||
| 9fe5ad62f1 | |||
| 173883000f | |||
| d6e7e7e790 | |||
| 24cb274e03 | |||
| af852e748a |
+1
-1
@@ -8,7 +8,7 @@ coverage:
|
||||
status:
|
||||
project:
|
||||
default:
|
||||
target: 100%
|
||||
target: auto
|
||||
threshold: 15%
|
||||
patch:
|
||||
default:
|
||||
|
||||
@@ -15,7 +15,7 @@ body:
|
||||
options:
|
||||
- label: I confirm this was discussed, and the maintainers asked that I open an issue.
|
||||
required: true
|
||||
- label: I am aware that if I create this issue without a discussion, it will be removed without a response.
|
||||
- label: I am aware that if I create this issue without a discussion, it will be closed without a response.
|
||||
required: true
|
||||
- type: input
|
||||
id: discussion
|
||||
|
||||
+25
-19
@@ -47,15 +47,34 @@ categories:
|
||||
- 'documentation'
|
||||
|
||||
autolabeler:
|
||||
- label: 'bug'
|
||||
title:
|
||||
- '/^fix(\(.+\))?:/i'
|
||||
body:
|
||||
- '/- \[[xX]\] Bug fix \(non-breaking change which fixes an issue\)/'
|
||||
|
||||
- label: 'enhancement'
|
||||
title:
|
||||
- '/^(feature|enhancement)(\(.+\))?:/i'
|
||||
body:
|
||||
- '/- \[[xX]\] New service widget/'
|
||||
- '/- \[[xX]\] New feature or enhancement \(non-breaking change which adds functionality\)/'
|
||||
|
||||
- label: 'documentation'
|
||||
files:
|
||||
- 'docs/**'
|
||||
- '*.md'
|
||||
- '.github/**/*.md'
|
||||
title:
|
||||
- '/^(documentation|docs)(\(.+\))?:/i'
|
||||
body:
|
||||
- '/- \[[xX]\] Documentation only/'
|
||||
|
||||
- label: 'chore'
|
||||
body:
|
||||
- '/- \[[xX]\] Other \(please explain\)/'
|
||||
|
||||
- label: 'ci'
|
||||
files:
|
||||
- '.github/workflows/**'
|
||||
branch:
|
||||
- '/^(ci|workflow|actions)\//'
|
||||
title:
|
||||
- '/^(ci|workflow|actions)(\(.+\))?:/i'
|
||||
|
||||
- label: 'dependencies'
|
||||
files:
|
||||
@@ -64,19 +83,6 @@ autolabeler:
|
||||
- 'pyproject.toml'
|
||||
- 'uv.lock'
|
||||
|
||||
- label: 'feature'
|
||||
files:
|
||||
- 'src/components/**'
|
||||
- 'src/widgets/**'
|
||||
- 'src/pages/**'
|
||||
- 'src/utils/**'
|
||||
|
||||
- label: 'chore'
|
||||
files:
|
||||
- 'Dockerfile*'
|
||||
- 'docker-entrypoint.sh'
|
||||
- 'k3d/**'
|
||||
|
||||
- label: 'translation'
|
||||
files:
|
||||
- 'public/locales/**'
|
||||
|
||||
@@ -19,7 +19,7 @@ jobs:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
||||
- name: crowdin action
|
||||
uses: crowdin/github-action@7ca9c452bfe9197d3bb7fa83a4d7e2b0c9ae835d # v2
|
||||
uses: crowdin/github-action@8868a33591d21088edfc398968173a3b98d51706 # v2
|
||||
with:
|
||||
upload_translations: false
|
||||
download_translations: true
|
||||
|
||||
@@ -7,6 +7,7 @@ on:
|
||||
branches:
|
||||
- main
|
||||
- feature/**
|
||||
- fix/**
|
||||
- dev
|
||||
tags: [ 'v*.*.*' ]
|
||||
pull_request:
|
||||
@@ -34,7 +35,7 @@ jobs:
|
||||
|
||||
- name: Extract Docker metadata
|
||||
id: meta
|
||||
uses: docker/metadata-action@030e881283bb7a6894de51c315a6bfe6a94e05cf # v6
|
||||
uses: docker/metadata-action@80c7e94dd9b9319bd5eb7a0e0fe9291e23a2a2e9 # v6
|
||||
with:
|
||||
images: |
|
||||
${{ env.IMAGE_NAME }}
|
||||
@@ -52,7 +53,7 @@ jobs:
|
||||
latest=auto
|
||||
|
||||
- name: Next.js build cache
|
||||
uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5
|
||||
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5
|
||||
with:
|
||||
path: .next/cache
|
||||
key: nextjs-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml') }}-${{ hashFiles('**/*.js', '**/*.jsx') }}
|
||||
@@ -60,13 +61,13 @@ jobs:
|
||||
nextjs-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml') }}
|
||||
|
||||
- name: Install pnpm
|
||||
uses: pnpm/action-setup@a8198c4bff370c8506180b035930dea56dbd5288 # v5
|
||||
uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8
|
||||
with:
|
||||
version: 10
|
||||
run_install: false
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6
|
||||
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
|
||||
with:
|
||||
node-version: 24
|
||||
cache: 'pnpm'
|
||||
@@ -83,7 +84,7 @@ jobs:
|
||||
|
||||
- name: Log into registry ${{ env.REGISTRY }}
|
||||
if: github.event_name != 'pull_request'
|
||||
uses: docker/login-action@b45d80f862d83dbcd57f89517bcf500b2ab88fb2 # v4
|
||||
uses: docker/login-action@650006c6eb7dba73a995cc03b0b2d7f5ca915bee # v4
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.actor }}
|
||||
@@ -91,20 +92,20 @@ jobs:
|
||||
|
||||
- name: Login to Docker Hub
|
||||
if: github.event_name != 'pull_request'
|
||||
uses: docker/login-action@b45d80f862d83dbcd57f89517bcf500b2ab88fb2 # v4
|
||||
uses: docker/login-action@650006c6eb7dba73a995cc03b0b2d7f5ca915bee # v4
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
|
||||
- name: Setup QEMU
|
||||
uses: docker/setup-qemu-action@ce360397dd3f832beb865e1373c09c0e9f86d70a # v4.0.0
|
||||
uses: docker/setup-qemu-action@06116385d9baf250c9f4dcb4858b16962ea869c3 # v4.1.0
|
||||
|
||||
- name: Setup Docker buildx
|
||||
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4
|
||||
uses: docker/setup-buildx-action@d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5 # v4
|
||||
|
||||
- name: Build and push Docker image
|
||||
id: build-and-push
|
||||
uses: docker/build-push-action@d08e5c354a6adb9ed34480a06d141179aa583294 # v7
|
||||
uses: docker/build-push-action@f9f3042f7e2789586610d6e8b85c8f03e5195baf # v7
|
||||
with:
|
||||
context: .
|
||||
push: ${{ github.event_name != 'pull_request' }}
|
||||
|
||||
@@ -25,7 +25,7 @@ jobs:
|
||||
with:
|
||||
python-version-file: ".python-version"
|
||||
- name: Install uv
|
||||
uses: astral-sh/setup-uv@94527f2e458b27549849d47d273a16bec83a01e9 # v7
|
||||
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
|
||||
- run: sudo apt-get install pngquant
|
||||
- name: Test Docs Build
|
||||
run: uv run --frozen zensical build --clean
|
||||
@@ -37,18 +37,18 @@ jobs:
|
||||
name: github-pages
|
||||
url: ${{ steps.deployment.outputs.page_url }}
|
||||
steps:
|
||||
- uses: actions/configure-pages@983d7736d9b0ae728b81ab479565c72886d7745b # v5
|
||||
- uses: actions/configure-pages@45bfe0192ca1faeb007ade9deae92b16b8254a0d # v6.0.0
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
||||
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
|
||||
with:
|
||||
python-version-file: ".python-version"
|
||||
- name: Install uv
|
||||
uses: astral-sh/setup-uv@94527f2e458b27549849d47d273a16bec83a01e9 # v7
|
||||
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
|
||||
- run: sudo apt-get install pngquant
|
||||
- name: Build Docs
|
||||
run: uv run --frozen zensical build --clean
|
||||
- uses: actions/upload-pages-artifact@7b1f4a764d45c48632c6b24a0339c27f5614fb0b # v4
|
||||
- uses: actions/upload-pages-artifact@fc324d3547104276b827a68afc52ff2a11cc49c9 # v5.0.0
|
||||
with:
|
||||
path: site
|
||||
- uses: actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e # v4
|
||||
- uses: actions/deploy-pages@cd2ce8fcbc39b97be8ca5fce6e763baed58fa128 # v5.0.0
|
||||
id: deployment
|
||||
|
||||
@@ -0,0 +1,90 @@
|
||||
name: Issue Triage
|
||||
|
||||
on:
|
||||
issues:
|
||||
types: [labeled]
|
||||
discussion:
|
||||
types: [labeled]
|
||||
|
||||
permissions:
|
||||
discussions: write
|
||||
issues: write
|
||||
|
||||
jobs:
|
||||
close-needs-discussion:
|
||||
name: Issues Need Discussion
|
||||
if: github.event_name == 'issues' && github.event.label.name == 'needs-discussion'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
|
||||
with:
|
||||
script: |
|
||||
const issueNumber = context.payload.issue.number;
|
||||
const owner = context.repo.owner;
|
||||
const repo = context.repo.repo;
|
||||
|
||||
await github.rest.issues.createComment({
|
||||
owner,
|
||||
repo,
|
||||
issue_number: issueNumber,
|
||||
body: 'This issue is being closed because it was opened before a maintainer asked for an issue to be created. Please start with a discussion and follow the issue template; only open an issue when a maintainer asks you to do so.',
|
||||
});
|
||||
|
||||
await github.rest.issues.update({
|
||||
owner,
|
||||
repo,
|
||||
issue_number: issueNumber,
|
||||
state: 'closed',
|
||||
state_reason: 'not_planned',
|
||||
});
|
||||
|
||||
await github.rest.issues.lock({
|
||||
owner,
|
||||
repo,
|
||||
issue_number: issueNumber,
|
||||
lock_reason: 'off-topic',
|
||||
});
|
||||
|
||||
comment-needs-information:
|
||||
name: Discussions Need Information
|
||||
if: github.event_name == 'discussion' && github.event.label.name == 'needs-information'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
|
||||
with:
|
||||
script: |
|
||||
const owner = context.repo.owner;
|
||||
const repo = context.repo.repo;
|
||||
const discussionNumber = context.payload.discussion.number;
|
||||
let discussionId = context.payload.discussion.node_id;
|
||||
|
||||
if (!discussionId) {
|
||||
const result = await github.graphql(
|
||||
`query($owner:String!, $repo:String!, $number:Int!) {
|
||||
repository(owner:$owner, name:$repo) {
|
||||
discussion(number:$number) {
|
||||
id
|
||||
}
|
||||
}
|
||||
}`,
|
||||
{
|
||||
owner,
|
||||
repo,
|
||||
number: discussionNumber,
|
||||
},
|
||||
);
|
||||
|
||||
discussionId = result.repository.discussion.id;
|
||||
}
|
||||
|
||||
await github.graphql(
|
||||
`mutation($discussion:ID!, $body:String!) {
|
||||
addDiscussionComment(input:{discussionId:$discussion, body:$body}) {
|
||||
clientMutationId
|
||||
}
|
||||
}`,
|
||||
{
|
||||
discussion: discussionId,
|
||||
body: 'Dear homepage user, thanks for opening this discussion! Please ensure you add the output from the troubleshooting guide steps, the support template asks for those details because they usually make it possible to understand the problem without guessing. Please update the discussion with the relevant troubleshooting output, configuration, logs, and browser console details where applicable: https://gethomepage.dev/troubleshooting/. Thank you!',
|
||||
},
|
||||
);
|
||||
@@ -23,13 +23,13 @@ jobs:
|
||||
uses: pre-commit/action@2c7b3805fd2a0fd8c1884dcaebf91fc102a13ecd # v3.0.1
|
||||
|
||||
- name: Install pnpm
|
||||
uses: pnpm/action-setup@a8198c4bff370c8506180b035930dea56dbd5288 # v5
|
||||
uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8
|
||||
with:
|
||||
version: 10
|
||||
run_install: false
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6
|
||||
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
|
||||
with:
|
||||
node-version: 24
|
||||
cache: 'pnpm'
|
||||
|
||||
@@ -13,6 +13,11 @@ jobs:
|
||||
anti-slop:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: peakoss/anti-slop@a5a4b2440c9de6f65b64f0718a0136a1fdb04f6f # v0
|
||||
- uses: peakoss/anti-slop@57858eead489d08b255fab2af45a506c2ca6eab2 # v0
|
||||
with:
|
||||
max-failures: 4
|
||||
failure-add-pr-labels: 'ai'
|
||||
failure-pr-message: |
|
||||
This pull request was automatically closed because it matched multiple low-quality or automated-PR signals.
|
||||
require-pr-template: true
|
||||
optional-pr-template-sections: 'Checklist:'
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
name: PR Triage
|
||||
|
||||
on:
|
||||
pull_request_target:
|
||||
types: [labeled]
|
||||
|
||||
permissions:
|
||||
issues: write
|
||||
pull-requests: write
|
||||
|
||||
jobs:
|
||||
close-needs-requirements:
|
||||
name: PRs Need Requirements
|
||||
if: github.event.label.name == 'needs-requirements'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
|
||||
with:
|
||||
script: |
|
||||
const pullNumber = context.payload.pull_request.number;
|
||||
const owner = context.repo.owner;
|
||||
const repo = context.repo.repo;
|
||||
|
||||
await github.rest.issues.createComment({
|
||||
owner,
|
||||
repo,
|
||||
issue_number: pullNumber,
|
||||
body: 'Dear contributor, thanks for taking the time to open this pull request! It is being closed because it does not currently meet the pull request guidelines. Please review the checklist in the pull request template and the relevant [contributing guidelines](https://gethomepage.dev/widgets/authoring/getting-started/#new-feature-guidelines) before opening a new pull request.',
|
||||
});
|
||||
|
||||
await github.rest.pulls.update({
|
||||
owner,
|
||||
repo,
|
||||
pull_number: pullNumber,
|
||||
state: 'closed',
|
||||
});
|
||||
@@ -15,4 +15,4 @@ jobs:
|
||||
action:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: dessant/reaction-comments@e86d247c12bd5c043eec379a1a4453f20cadf913 # v4
|
||||
- uses: dessant/reaction-comments@170a79b6e2538a1df7ba669ac527d7457cd3b128 # v5.0.1
|
||||
|
||||
@@ -26,14 +26,14 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- if: github.event_name == 'workflow_dispatch' && github.event.inputs.version != ''
|
||||
uses: release-drafter/release-drafter@a6acf82562eee06318b77ab8cb0b11ed81c677a7 # v7
|
||||
uses: release-drafter/release-drafter@693d20e7c1ce1a81d3a41962f85914253b518449 # v7
|
||||
with:
|
||||
config-name: release-drafter.yml
|
||||
version: ${{ github.event.inputs.version }}
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- if: github.event_name != 'workflow_dispatch' || github.event.inputs.version == ''
|
||||
uses: release-drafter/release-drafter@a6acf82562eee06318b77ab8cb0b11ed81c677a7 # v7
|
||||
uses: release-drafter/release-drafter@693d20e7c1ce1a81d3a41962f85914253b518449 # v7
|
||||
with:
|
||||
config-name: release-drafter.yml
|
||||
env:
|
||||
@@ -47,7 +47,7 @@ jobs:
|
||||
pull-requests: write
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: release-drafter/release-drafter/autolabeler@ebb69bb56f1b0ebd19897745035726b19bef973e
|
||||
- uses: release-drafter/release-drafter/autolabeler@693d20e7c1ce1a81d3a41962f85914253b518449
|
||||
with:
|
||||
config-name: release-drafter.yml
|
||||
env:
|
||||
|
||||
@@ -18,7 +18,7 @@ jobs:
|
||||
name: 'Stale'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/stale@b5d41d4e1d5dceea10e7104786b73624c18a190f # v10
|
||||
- uses: actions/stale@eb5cf3af3ac0a1aa4c9c45633dd1ae542a27a899 # v10
|
||||
with:
|
||||
days-before-stale: 7
|
||||
days-before-close: 14
|
||||
@@ -32,7 +32,7 @@ jobs:
|
||||
name: 'Lock Old Threads'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: dessant/lock-threads@7266a7ce5c1df01b1c6db85bf8cd86c737dadbe7 # v6
|
||||
- uses: dessant/lock-threads@89ae32b08ed1a541efecbab17912962a5e38981c # v6.0.2
|
||||
with:
|
||||
issue-inactive-days: '30'
|
||||
pr-inactive-days: '30'
|
||||
@@ -57,7 +57,7 @@ jobs:
|
||||
name: 'Close Answered Discussions'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8
|
||||
- uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
|
||||
with:
|
||||
script: |
|
||||
function sleep(ms) {
|
||||
@@ -113,7 +113,7 @@ jobs:
|
||||
name: 'Close Outdated Discussions'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8
|
||||
- uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
|
||||
with:
|
||||
script: |
|
||||
function sleep(ms) {
|
||||
@@ -204,7 +204,7 @@ jobs:
|
||||
name: 'Close Unsupported Feature Requests'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8
|
||||
- uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
|
||||
with:
|
||||
script: |
|
||||
function sleep(ms) {
|
||||
|
||||
@@ -15,11 +15,11 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
|
||||
|
||||
- uses: pnpm/action-setup@a8198c4bff370c8506180b035930dea56dbd5288 # v5
|
||||
- uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 # v6.0.8
|
||||
with:
|
||||
version: 9
|
||||
|
||||
- uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6
|
||||
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
|
||||
with:
|
||||
node-version: 20
|
||||
cache: pnpm
|
||||
@@ -28,10 +28,10 @@ jobs:
|
||||
# Run Vitest directly so `--shard` is parsed as an option
|
||||
- run: pnpm -s exec vitest run --coverage --shard ${{ matrix.shard }}/4 --pool forks
|
||||
- name: Upload coverage reports to Codecov
|
||||
uses: codecov/codecov-action@75cd11691c0faa626561e295848008c8a7dddffe # v5
|
||||
uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7.0.0
|
||||
with:
|
||||
token: ${{ secrets.CODECOV_TOKEN }}
|
||||
files: ./coverage/lcov.info
|
||||
flags: vitest,shard-${{ matrix.shard }}
|
||||
flags: vitest-shard-${{ matrix.shard }}
|
||||
name: vitest-shard-${{ matrix.shard }}
|
||||
fail_ci_if_error: true
|
||||
|
||||
@@ -122,7 +122,7 @@ Use the `gethomepage.dev/pod-selector` selector to specify the pod used for the
|
||||
|
||||
### Traefik IngressRoute support
|
||||
|
||||
Homepage can also read ingresses defined using the Traefik IngressRoute custom resource definition. Due to the complex nature of Traefik routing rules, it is required for the `gethomepage.dev/href` annotation to be set:
|
||||
If enabled (with `traefik: true` in kubernetes.yaml), homepage can also read ingresses defined using the Traefik IngressRoute custom resource definition. Due to the complex nature of Traefik routing rules, it is required for the `gethomepage.dev/href` annotation to be set:
|
||||
|
||||
```yaml
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
|
||||
@@ -16,6 +16,7 @@ The Glances widget allows you to monitor the resources (CPU, memory, storage, te
|
||||
cpu: true # optional, enabled by default, disable by setting to false
|
||||
mem: true # optional, enabled by default, disable by setting to false
|
||||
cputemp: true # disabled by default
|
||||
cpuSensorLabel: Package id # optional additional cputemp sensor label prefix
|
||||
unit: imperial # optional for temp, default is metric
|
||||
uptime: true # disabled by default
|
||||
disk: / # disabled by default, use mount point of disk(s) in glances. Can also be a list (see below)
|
||||
@@ -24,6 +25,8 @@ The Glances widget allows you to monitor the resources (CPU, memory, storage, te
|
||||
label: MyMachine # optional
|
||||
```
|
||||
|
||||
The built-in `cputemp` sensor matching already checks common prefixes such as `cpu_thermal`, `Core`, `Tctl`, and `Temperature`. Use `cpuSensorLabel` to add your own Glances sensor label prefix when your system reports CPU temperatures under a different name.
|
||||
|
||||
Multiple disks can be specified as:
|
||||
|
||||
```yaml
|
||||
|
||||
@@ -3,7 +3,7 @@ title: Mylar3
|
||||
description: Mylar3 Widget Configuration
|
||||
---
|
||||
|
||||
Learn more about [Mylar3](https://github.com/mylar3/mylar3).
|
||||
Learn more about [Mylar3](https://github.com/MylarComics/mylar3).
|
||||
|
||||
API must be enabled in Mylar3 settings.
|
||||
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
---
|
||||
title: ntfy
|
||||
description: ntfy Widget Configuration
|
||||
---
|
||||
|
||||
Learn more about [ntfy](https://github.com/binwiederhier/ntfy).
|
||||
|
||||
This widget shows the latest notification for a ntfy topic, including the title or body, priority level, and when it was received. Works with both self-hosted ntfy instances and the public [ntfy.sh](https://ntfy.sh) service.
|
||||
|
||||
Allowed fields: `["title", "message", "priority", "lastReceived", "tags"]`.
|
||||
|
||||
Default fields: `["title", "message", "priority", "lastReceived"]`.
|
||||
|
||||
If more than 4 fields are provided, only the first 4 are displayed.
|
||||
|
||||
## Authentication
|
||||
|
||||
ntfy supports both public and private topics. For private instances or access-controlled topics, you can authenticate using either a **Bearer token** (ntfy access token) or **Basic auth** (username/password).
|
||||
|
||||
| Auth Method | Config Fields | Notes |
|
||||
| ------------ | ------------------------------ | --------------------------------- |
|
||||
| None | _(omit key/username/password)_ | For public topics |
|
||||
| Bearer token | `key` | ntfy access tokens (`tk_` prefix) |
|
||||
| Basic auth | `username` + `password` | Username/password credentials |
|
||||
|
||||
See the [ntfy documentation](https://docs.ntfy.sh/config/#access-control) for details on access control.
|
||||
|
||||
```yaml
|
||||
widget:
|
||||
type: ntfy
|
||||
url: http://ntfy.host.or.ip:port # required
|
||||
topic: mytopic # required
|
||||
# key: tk_accesstoken # optional — for token auth
|
||||
# username: user # optional — for basic auth
|
||||
# password: pass # optional — for basic auth
|
||||
```
|
||||
@@ -13,4 +13,5 @@ widget:
|
||||
url: http://pyload.host.or.ip:port
|
||||
username: username
|
||||
password: password # only needed if set
|
||||
key: pyloadapikey # only needed if set, takes precedence over username/password
|
||||
```
|
||||
|
||||
@@ -9,7 +9,7 @@ You will need to generate an API access token from the [keys page](https://login
|
||||
|
||||
To find your device ID, go to the [machine overview page](https://login.tailscale.com/admin/machines) and select your machine. In the "Machine Details" section, copy your `ID`. It will end with `CNTRL`.
|
||||
|
||||
Allowed fields: `["address", "last_seen", "expires"]`.
|
||||
Allowed fields: `[ "address", "last_seen", "expires", "user", "hostname", "name", "client_version", "os", "created", "authorized", "is_external", "update_available", "tags" ]`.
|
||||
|
||||
```yaml
|
||||
widget:
|
||||
|
||||
@@ -14,6 +14,7 @@ widget:
|
||||
type: technitium
|
||||
url: <url to dns server>
|
||||
key: biglongapitoken
|
||||
node: <node dns name or cluster> # optional, defaults to current node
|
||||
range: LastDay # optional, defaults to LastHour
|
||||
```
|
||||
|
||||
@@ -21,6 +22,10 @@ widget:
|
||||
|
||||
This can be generated via the Technitium DNS Dashboard, and should be generated from a special API specific user.
|
||||
|
||||
#### Node
|
||||
|
||||
`node` value determines which Technitium cluster node the statistics are returned for. Specifying a value of `cluster` returns aggregrate stats for all nodes in the cluster. Specify a node domain name to return specific node stats, no value returns stats for the node against which the API is executed.
|
||||
|
||||
#### Range
|
||||
|
||||
`range` value determines how far back of statistics to pull data for. The value comes directly from Technitium API documentation found [here](https://github.com/TechnitiumSoftware/DnsServer/blob/master/APIDOCS.md#dashboard-api-calls), defined as `"type"`. The value can be one of: `LastHour`, `LastDay`, `LastWeek`, `LastMonth`, `LastYear`.
|
||||
|
||||
@@ -3,9 +3,9 @@ title: Watchtower
|
||||
description: Watchtower Widget Configuration
|
||||
---
|
||||
|
||||
Learn more about [Watchtower](https://github.com/containrrr/watchtower).
|
||||
Learn more about [Watchtower](https://github.com/nicholas-fedor/watchtower).
|
||||
|
||||
To use this widget, Watchtower needs to be configured to [enable metrics](https://containrrr.dev/watchtower/metrics/).
|
||||
To use this widget, Watchtower needs to be configured to [enable metrics](https://watchtower.nickfedor.com/dev/advanced-features/metrics-api/).
|
||||
|
||||
Allowed fields: `["containers_scanned", "containers_updated", "containers_failed"]`.
|
||||
|
||||
|
||||
@@ -116,6 +116,7 @@ nav:
|
||||
- widgets/services/nextcloud.md
|
||||
- widgets/services/nextdns.md
|
||||
- widgets/services/nginx-proxy-manager.md
|
||||
- widgets/services/ntfy.md
|
||||
- widgets/services/nzbget.md
|
||||
- widgets/services/octoprint.md
|
||||
- widgets/services/omada.md
|
||||
|
||||
+21
-28
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "homepage",
|
||||
"version": "1.12.2",
|
||||
"version": "1.13.2",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"preinstall": "npx only-allow pnpm",
|
||||
@@ -14,47 +14,47 @@
|
||||
"telemetry": "next telemetry disable"
|
||||
},
|
||||
"dependencies": {
|
||||
"@headlessui/react": "^2.2.9",
|
||||
"@headlessui/react": "^2.2.10",
|
||||
"@kubernetes/client-node": "^1.0.0",
|
||||
"classnames": "^2.5.1",
|
||||
"compare-versions": "^6.1.1",
|
||||
"dockerode": "^4.0.7",
|
||||
"follow-redirects": "^1.15.11",
|
||||
"gamedig": "^5.3.2",
|
||||
"i18next": "^25.8.0",
|
||||
"dockerode": "^5.0.0",
|
||||
"follow-redirects": "^1.16.0",
|
||||
"gamedig": "^5.3.3",
|
||||
"i18next": "^26.3.0",
|
||||
"ical.js": "^2.2.1",
|
||||
"js-yaml": "^4.1.1",
|
||||
"json-rpc-2.0": "^1.7.0",
|
||||
"luxon": "^3.6.1",
|
||||
"json-rpc-2.0": "^1.7.1",
|
||||
"luxon": "^3.7.2",
|
||||
"memory-cache": "^0.2.0",
|
||||
"minecraftstatuspinger": "^1.2.2",
|
||||
"next": "^16.1.7",
|
||||
"next-i18next": "^15.4.3",
|
||||
"next": "^16.2.6",
|
||||
"next-i18next": "^16.0.7",
|
||||
"ping": "^0.4.4",
|
||||
"pretty-bytes": "^7.1.0",
|
||||
"raw-body": "^3.0.2",
|
||||
"react": "^19.2.4",
|
||||
"react-dom": "^19.2.4",
|
||||
"react": "^19.2.5",
|
||||
"react-dom": "^19.2.5",
|
||||
"react-i18next": "^15.5.3",
|
||||
"react-icons": "^5.6.0",
|
||||
"recharts": "^3.1.2",
|
||||
"swr": "^2.4.1",
|
||||
"systeminformation": "^5.30.8",
|
||||
"systeminformation": "^5.31.6",
|
||||
"tough-cookie": "^6.0.0",
|
||||
"urbackup-server-api": "^0.92.2",
|
||||
"winston": "^3.19.0",
|
||||
"ws": "^8.18.3",
|
||||
"ws": "^8.20.1",
|
||||
"xml-js": "^1.6.11"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@eslint/compat": "^2.0.2",
|
||||
"@eslint/compat": "^2.0.3",
|
||||
"@eslint/eslintrc": "^3.3.3",
|
||||
"@eslint/js": "^9.39.2",
|
||||
"@tailwindcss/forms": "^0.5.10",
|
||||
"@eslint/js": "^9.39.4",
|
||||
"@tailwindcss/forms": "^0.5.11",
|
||||
"@tailwindcss/postcss": "^4.1.18",
|
||||
"@testing-library/jest-dom": "^6.8.0",
|
||||
"@testing-library/react": "^16.3.0",
|
||||
"@vitest/coverage-v8": "^3.2.4",
|
||||
"@vitest/coverage-v8": "^4.1.8",
|
||||
"eslint": "^9.25.1",
|
||||
"eslint-config-next": "^15.5.11",
|
||||
"eslint-config-prettier": "^10.1.8",
|
||||
@@ -64,22 +64,15 @@
|
||||
"eslint-plugin-react": "^7.37.4",
|
||||
"eslint-plugin-react-hooks": "^5.2.0",
|
||||
"jsdom": "^28.1.0",
|
||||
"postcss": "^8.5.6",
|
||||
"postcss": "^8.5.10",
|
||||
"prettier": "^3.8.1",
|
||||
"prettier-plugin-organize-imports": "^4.3.0",
|
||||
"tailwind-scrollbar": "^4.0.2",
|
||||
"tailwindcss": "^4.1.18",
|
||||
"tailwindcss": "^4.3.0",
|
||||
"typescript": "^5.7.3",
|
||||
"vitest": "^3.2.4"
|
||||
"vitest": "^4.1.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"osx-temperature-sensor": "^1.0.8"
|
||||
},
|
||||
"pnpm": {
|
||||
"onlyBuiltDependencies": [
|
||||
"@tailwindcss/oxide",
|
||||
"osx-temperature-sensor",
|
||||
"sharp"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
Generated
+897
-1058
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,18 @@
|
||||
packages:
|
||||
- .
|
||||
|
||||
allowBuilds:
|
||||
'@tailwindcss/oxide': true
|
||||
core-js: false
|
||||
cpu-features: false
|
||||
esbuild: false
|
||||
osx-temperature-sensor: true
|
||||
protobufjs: false
|
||||
sharp: true
|
||||
ssh2: false
|
||||
|
||||
onlyBuiltDependencies:
|
||||
- '@tailwindcss/oxide'
|
||||
- osx-temperature-sensor
|
||||
- protobufjs
|
||||
- sharp
|
||||
@@ -67,9 +67,9 @@
|
||||
"empty_data": "Substelsel status onbekend"
|
||||
},
|
||||
"unifi_drive": {
|
||||
"healthy": "Healthy",
|
||||
"degraded": "Degraded",
|
||||
"no_data": "No storage data available"
|
||||
"healthy": "Gesond",
|
||||
"degraded": "Gedegradeer",
|
||||
"no_data": "Geen bergingsdata beskikbaar nie"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
@@ -344,6 +344,16 @@
|
||||
"address": "Adres",
|
||||
"expires": "Verval",
|
||||
"never": "Nooit",
|
||||
"user": "Gebruiker",
|
||||
"hostname": "Gasheernaam",
|
||||
"name": "Naam",
|
||||
"client_version": "Kliënt Weergawe",
|
||||
"os": "OS",
|
||||
"created": "Geskep",
|
||||
"authorized": "Gemagtig",
|
||||
"is_external": "Is Extern",
|
||||
"update_available": "Opdatering Beskikbaar",
|
||||
"tags": "Merkers",
|
||||
"last_seen": "Laaste Gesien",
|
||||
"now": "Nou",
|
||||
"years": "{{number}}y",
|
||||
@@ -352,7 +362,9 @@
|
||||
"hours": "{{number}}h",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "{{value}} Terug"
|
||||
"ago": "{{value}} Terug",
|
||||
"true": "Ja",
|
||||
"false": "Nee"
|
||||
},
|
||||
"technitium": {
|
||||
"totalQueries": "Navraë",
|
||||
@@ -924,6 +936,19 @@
|
||||
"warnings": "Waarskuwings",
|
||||
"criticals": "Kritici"
|
||||
},
|
||||
"ntfy": {
|
||||
"title": "Title",
|
||||
"priority": "Priority",
|
||||
"lastReceived": "Last Received",
|
||||
"message": "Message",
|
||||
"tags": "Tags",
|
||||
"none": "None",
|
||||
"min": "Min",
|
||||
"low": "Low",
|
||||
"default": "Default",
|
||||
"high": "High",
|
||||
"urgent": "Urgent"
|
||||
},
|
||||
"plantit": {
|
||||
"events": "Gebeure",
|
||||
"plants": "Plante",
|
||||
|
||||
@@ -344,6 +344,16 @@
|
||||
"address": "عنوان",
|
||||
"expires": "تنتهي",
|
||||
"never": "مطلقاً",
|
||||
"user": "User",
|
||||
"hostname": "Hostname",
|
||||
"name": "Name",
|
||||
"client_version": "Client Version",
|
||||
"os": "OS",
|
||||
"created": "Created",
|
||||
"authorized": "Authorized",
|
||||
"is_external": "Is External",
|
||||
"update_available": "Update Available",
|
||||
"tags": "Tags",
|
||||
"last_seen": "آخر ظهور",
|
||||
"now": "الآن",
|
||||
"years": "{{number}}س",
|
||||
@@ -352,7 +362,9 @@
|
||||
"hours": "{{number}}س",
|
||||
"minutes": "{{number}}د",
|
||||
"seconds": "{{number}}ث",
|
||||
"ago": "منذ {{value}}"
|
||||
"ago": "منذ {{value}}",
|
||||
"true": "Yes",
|
||||
"false": "No"
|
||||
},
|
||||
"technitium": {
|
||||
"totalQueries": "Queries",
|
||||
@@ -924,6 +936,19 @@
|
||||
"warnings": "تحذيرات",
|
||||
"criticals": "حرج"
|
||||
},
|
||||
"ntfy": {
|
||||
"title": "Title",
|
||||
"priority": "Priority",
|
||||
"lastReceived": "Last Received",
|
||||
"message": "Message",
|
||||
"tags": "Tags",
|
||||
"none": "None",
|
||||
"min": "Min",
|
||||
"low": "Low",
|
||||
"default": "Default",
|
||||
"high": "High",
|
||||
"urgent": "Urgent"
|
||||
},
|
||||
"plantit": {
|
||||
"events": "أحداث",
|
||||
"plants": "نباتات",
|
||||
|
||||
@@ -344,6 +344,16 @@
|
||||
"address": "Адрес",
|
||||
"expires": "Изтича",
|
||||
"never": "Никога",
|
||||
"user": "User",
|
||||
"hostname": "Hostname",
|
||||
"name": "Name",
|
||||
"client_version": "Client Version",
|
||||
"os": "OS",
|
||||
"created": "Created",
|
||||
"authorized": "Authorized",
|
||||
"is_external": "Is External",
|
||||
"update_available": "Update Available",
|
||||
"tags": "Tags",
|
||||
"last_seen": "Последно видян",
|
||||
"now": "Сега",
|
||||
"years": "{{number}}г",
|
||||
@@ -352,7 +362,9 @@
|
||||
"hours": "{{number}}ч",
|
||||
"minutes": "{{number}}м",
|
||||
"seconds": "{{number}}сек",
|
||||
"ago": "преди {{value}}"
|
||||
"ago": "преди {{value}}",
|
||||
"true": "Yes",
|
||||
"false": "No"
|
||||
},
|
||||
"technitium": {
|
||||
"totalQueries": "Queries",
|
||||
@@ -924,6 +936,19 @@
|
||||
"warnings": "Предупреждения",
|
||||
"criticals": "Критични"
|
||||
},
|
||||
"ntfy": {
|
||||
"title": "Title",
|
||||
"priority": "Priority",
|
||||
"lastReceived": "Last Received",
|
||||
"message": "Message",
|
||||
"tags": "Tags",
|
||||
"none": "None",
|
||||
"min": "Min",
|
||||
"low": "Low",
|
||||
"default": "Default",
|
||||
"high": "High",
|
||||
"urgent": "Urgent"
|
||||
},
|
||||
"plantit": {
|
||||
"events": "Събития",
|
||||
"plants": "Растения",
|
||||
|
||||
@@ -344,6 +344,16 @@
|
||||
"address": "Adreça",
|
||||
"expires": "Caduca",
|
||||
"never": "Mai",
|
||||
"user": "User",
|
||||
"hostname": "Hostname",
|
||||
"name": "Name",
|
||||
"client_version": "Client Version",
|
||||
"os": "OS",
|
||||
"created": "Created",
|
||||
"authorized": "Authorized",
|
||||
"is_external": "Is External",
|
||||
"update_available": "Update Available",
|
||||
"tags": "Tags",
|
||||
"last_seen": "Vist per darrer cop",
|
||||
"now": "Ara",
|
||||
"years": "{{number}}a",
|
||||
@@ -352,7 +362,9 @@
|
||||
"hours": "{{number}}h",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "Fa {{value}}"
|
||||
"ago": "Fa {{value}}",
|
||||
"true": "Yes",
|
||||
"false": "No"
|
||||
},
|
||||
"technitium": {
|
||||
"totalQueries": "Consultes",
|
||||
@@ -924,6 +936,19 @@
|
||||
"warnings": "Avisos",
|
||||
"criticals": "Crítics"
|
||||
},
|
||||
"ntfy": {
|
||||
"title": "Title",
|
||||
"priority": "Priority",
|
||||
"lastReceived": "Last Received",
|
||||
"message": "Message",
|
||||
"tags": "Tags",
|
||||
"none": "None",
|
||||
"min": "Min",
|
||||
"low": "Low",
|
||||
"default": "Default",
|
||||
"high": "High",
|
||||
"urgent": "Urgent"
|
||||
},
|
||||
"plantit": {
|
||||
"events": "Esdeveniments",
|
||||
"plants": "Plantes",
|
||||
|
||||
@@ -344,6 +344,16 @@
|
||||
"address": "Adresa",
|
||||
"expires": "Vyprší",
|
||||
"never": "Nikdy",
|
||||
"user": "Uživatel",
|
||||
"hostname": "Název zařízení",
|
||||
"name": "Název",
|
||||
"client_version": "Verze klienta",
|
||||
"os": "OS",
|
||||
"created": "Vytvořeno",
|
||||
"authorized": "Autorizováno",
|
||||
"is_external": "Je externí",
|
||||
"update_available": "Dostupná aktualizace",
|
||||
"tags": "Štítky",
|
||||
"last_seen": "Naposledy viděno",
|
||||
"now": "Nyní",
|
||||
"years": "{{number}}r",
|
||||
@@ -352,7 +362,9 @@
|
||||
"hours": "{{number}}h",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "Před {{value}}"
|
||||
"ago": "Před {{value}}",
|
||||
"true": "Ano",
|
||||
"false": "Ne"
|
||||
},
|
||||
"technitium": {
|
||||
"totalQueries": "Dotazy",
|
||||
@@ -690,7 +702,7 @@
|
||||
},
|
||||
"proxmoxbackupserver": {
|
||||
"datastore_usage": "Datové úložiště",
|
||||
"failed_tasks_24h": "Neúspěšné úlohy 24h",
|
||||
"failed_tasks_24h": "Neúspěšné úlohy za 24h",
|
||||
"cpu_usage": "Využití procesoru",
|
||||
"memory_usage": "Využití paměti"
|
||||
},
|
||||
@@ -924,6 +936,19 @@
|
||||
"warnings": "Upozornění",
|
||||
"criticals": "Kritické"
|
||||
},
|
||||
"ntfy": {
|
||||
"title": "Název",
|
||||
"priority": "Priorita",
|
||||
"lastReceived": "Poslední přijetí",
|
||||
"message": "Zpráva",
|
||||
"tags": "Štítky",
|
||||
"none": "Žádné",
|
||||
"min": "Minimální",
|
||||
"low": "Nízká",
|
||||
"default": "Výchozí",
|
||||
"high": "Vysoká",
|
||||
"urgent": "Urgentní"
|
||||
},
|
||||
"plantit": {
|
||||
"events": "Události",
|
||||
"plants": "Rostliny",
|
||||
|
||||
@@ -344,6 +344,16 @@
|
||||
"address": "Adresse",
|
||||
"expires": "Udløber",
|
||||
"never": "Aldrig",
|
||||
"user": "User",
|
||||
"hostname": "Hostname",
|
||||
"name": "Name",
|
||||
"client_version": "Client Version",
|
||||
"os": "OS",
|
||||
"created": "Created",
|
||||
"authorized": "Authorized",
|
||||
"is_external": "Is External",
|
||||
"update_available": "Update Available",
|
||||
"tags": "Tags",
|
||||
"last_seen": "Sidst Set",
|
||||
"now": "Nu",
|
||||
"years": "{{number}}å",
|
||||
@@ -352,7 +362,9 @@
|
||||
"hours": "{{number}}t",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "{{value}} Siden"
|
||||
"ago": "{{value}} Siden",
|
||||
"true": "Yes",
|
||||
"false": "No"
|
||||
},
|
||||
"technitium": {
|
||||
"totalQueries": "Queries",
|
||||
@@ -924,6 +936,19 @@
|
||||
"warnings": "Advarsler",
|
||||
"criticals": "Criticals"
|
||||
},
|
||||
"ntfy": {
|
||||
"title": "Titel",
|
||||
"priority": "Prioritet",
|
||||
"lastReceived": "Sidst modtaget",
|
||||
"message": "Besked",
|
||||
"tags": "Tags",
|
||||
"none": "Ingen",
|
||||
"min": "Min",
|
||||
"low": "Lav",
|
||||
"default": "Standard",
|
||||
"high": "Høj",
|
||||
"urgent": "Akut"
|
||||
},
|
||||
"plantit": {
|
||||
"events": "Events",
|
||||
"plants": "Plants",
|
||||
|
||||
@@ -344,6 +344,16 @@
|
||||
"address": "Adresse",
|
||||
"expires": "Läuft ab",
|
||||
"never": "Nie",
|
||||
"user": "User",
|
||||
"hostname": "Hostname",
|
||||
"name": "Name",
|
||||
"client_version": "Client Version",
|
||||
"os": "OS",
|
||||
"created": "Created",
|
||||
"authorized": "Authorized",
|
||||
"is_external": "Is External",
|
||||
"update_available": "Update Available",
|
||||
"tags": "Tags",
|
||||
"last_seen": "Zuletzt gesehen",
|
||||
"now": "Jetzt",
|
||||
"years": "{{number}}a",
|
||||
@@ -352,7 +362,9 @@
|
||||
"hours": "{{number}}h",
|
||||
"minutes": "{{number}}min",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "Vor {{value}}"
|
||||
"ago": "Vor {{value}}",
|
||||
"true": "Yes",
|
||||
"false": "No"
|
||||
},
|
||||
"technitium": {
|
||||
"totalQueries": "Anfragen",
|
||||
@@ -924,6 +936,19 @@
|
||||
"warnings": "Warnungen",
|
||||
"criticals": "Kritisch"
|
||||
},
|
||||
"ntfy": {
|
||||
"title": "Title",
|
||||
"priority": "Priority",
|
||||
"lastReceived": "Last Received",
|
||||
"message": "Message",
|
||||
"tags": "Tags",
|
||||
"none": "None",
|
||||
"min": "Min",
|
||||
"low": "Low",
|
||||
"default": "Default",
|
||||
"high": "High",
|
||||
"urgent": "Urgent"
|
||||
},
|
||||
"plantit": {
|
||||
"events": "Ereignisse",
|
||||
"plants": "Pflanzen",
|
||||
|
||||
@@ -344,6 +344,16 @@
|
||||
"address": "Διεύθυνση",
|
||||
"expires": "Λήγει",
|
||||
"never": "Ποτέ",
|
||||
"user": "User",
|
||||
"hostname": "Hostname",
|
||||
"name": "Name",
|
||||
"client_version": "Client Version",
|
||||
"os": "OS",
|
||||
"created": "Created",
|
||||
"authorized": "Authorized",
|
||||
"is_external": "Is External",
|
||||
"update_available": "Update Available",
|
||||
"tags": "Tags",
|
||||
"last_seen": "Τελευταία Σύνδεση",
|
||||
"now": "Τώρα",
|
||||
"years": "{{number}}χρόνια",
|
||||
@@ -352,7 +362,9 @@
|
||||
"hours": "{{number}}ώρες",
|
||||
"minutes": "{{number}}λεπτά",
|
||||
"seconds": "{{number}}δευτερόλεπτα",
|
||||
"ago": "{{value}} πρίν"
|
||||
"ago": "{{value}} πρίν",
|
||||
"true": "Yes",
|
||||
"false": "No"
|
||||
},
|
||||
"technitium": {
|
||||
"totalQueries": "Queries",
|
||||
@@ -924,6 +936,19 @@
|
||||
"warnings": "Warnings",
|
||||
"criticals": "Criticals"
|
||||
},
|
||||
"ntfy": {
|
||||
"title": "Title",
|
||||
"priority": "Priority",
|
||||
"lastReceived": "Last Received",
|
||||
"message": "Message",
|
||||
"tags": "Tags",
|
||||
"none": "None",
|
||||
"min": "Min",
|
||||
"low": "Low",
|
||||
"default": "Default",
|
||||
"high": "High",
|
||||
"urgent": "Urgent"
|
||||
},
|
||||
"plantit": {
|
||||
"events": "Events",
|
||||
"plants": "Plants",
|
||||
|
||||
@@ -344,6 +344,16 @@
|
||||
"address": "Address",
|
||||
"expires": "Expires",
|
||||
"never": "Never",
|
||||
"user": "User",
|
||||
"hostname": "Hostname",
|
||||
"name": "Name",
|
||||
"client_version": "Client Version",
|
||||
"os": "OS",
|
||||
"created": "Created",
|
||||
"authorized": "Authorized",
|
||||
"is_external": "Is External",
|
||||
"update_available": "Update Available",
|
||||
"tags": "Tags",
|
||||
"last_seen": "Last Seen",
|
||||
"now": "Now",
|
||||
"years": "{{number}}y",
|
||||
@@ -352,7 +362,9 @@
|
||||
"hours": "{{number}}h",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "{{value}} Ago"
|
||||
"ago": "{{value}} Ago",
|
||||
"true": "Yes",
|
||||
"false": "No"
|
||||
},
|
||||
"technitium": {
|
||||
"totalQueries": "Queries",
|
||||
@@ -924,6 +936,19 @@
|
||||
"warnings": "Warnings",
|
||||
"criticals": "Criticals"
|
||||
},
|
||||
"ntfy": {
|
||||
"title": "Title",
|
||||
"priority": "Priority",
|
||||
"lastReceived": "Last Received",
|
||||
"message": "Message",
|
||||
"tags": "Tags",
|
||||
"none": "None",
|
||||
"min": "Min",
|
||||
"low": "Low",
|
||||
"default": "Default",
|
||||
"high": "High",
|
||||
"urgent": "Urgent"
|
||||
},
|
||||
"plantit": {
|
||||
"events": "Events",
|
||||
"plants": "Plants",
|
||||
|
||||
@@ -344,6 +344,16 @@
|
||||
"address": "Address",
|
||||
"expires": "Expires",
|
||||
"never": "Never",
|
||||
"user": "User",
|
||||
"hostname": "Hostname",
|
||||
"name": "Name",
|
||||
"client_version": "Client Version",
|
||||
"os": "OS",
|
||||
"created": "Created",
|
||||
"authorized": "Authorized",
|
||||
"is_external": "Is External",
|
||||
"update_available": "Update Available",
|
||||
"tags": "Tags",
|
||||
"last_seen": "Last Seen",
|
||||
"now": "Now",
|
||||
"years": "{{number}}y",
|
||||
@@ -352,7 +362,9 @@
|
||||
"hours": "{{number}}h",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "{{value}} Ago"
|
||||
"ago": "{{value}} Ago",
|
||||
"true": "Yes",
|
||||
"false": "No"
|
||||
},
|
||||
"technitium": {
|
||||
"totalQueries": "Queries",
|
||||
@@ -924,6 +936,19 @@
|
||||
"warnings": "Warnings",
|
||||
"criticals": "Criticals"
|
||||
},
|
||||
"ntfy": {
|
||||
"title": "Title",
|
||||
"priority": "Priority",
|
||||
"lastReceived": "Last Received",
|
||||
"message": "Message",
|
||||
"tags": "Tags",
|
||||
"none": "None",
|
||||
"min": "Min",
|
||||
"low": "Low",
|
||||
"default": "Default",
|
||||
"high": "High",
|
||||
"urgent": "Urgent"
|
||||
},
|
||||
"plantit": {
|
||||
"events": "Events",
|
||||
"plants": "Plants",
|
||||
|
||||
@@ -344,6 +344,16 @@
|
||||
"address": "Dirección",
|
||||
"expires": "Caduca en",
|
||||
"never": "Nunca",
|
||||
"user": "User",
|
||||
"hostname": "Hostname",
|
||||
"name": "Name",
|
||||
"client_version": "Client Version",
|
||||
"os": "OS",
|
||||
"created": "Created",
|
||||
"authorized": "Authorized",
|
||||
"is_external": "Is External",
|
||||
"update_available": "Update Available",
|
||||
"tags": "Tags",
|
||||
"last_seen": "Visto por última vez",
|
||||
"now": "Ahora",
|
||||
"years": "{{number}}a",
|
||||
@@ -352,7 +362,9 @@
|
||||
"hours": "{{number}}h",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "Hace {{value}}"
|
||||
"ago": "Hace {{value}}",
|
||||
"true": "Yes",
|
||||
"false": "No"
|
||||
},
|
||||
"technitium": {
|
||||
"totalQueries": "Consultas",
|
||||
@@ -924,6 +936,19 @@
|
||||
"warnings": "Advertencias",
|
||||
"criticals": "Críticos"
|
||||
},
|
||||
"ntfy": {
|
||||
"title": "Title",
|
||||
"priority": "Priority",
|
||||
"lastReceived": "Last Received",
|
||||
"message": "Message",
|
||||
"tags": "Tags",
|
||||
"none": "None",
|
||||
"min": "Min",
|
||||
"low": "Low",
|
||||
"default": "Default",
|
||||
"high": "High",
|
||||
"urgent": "Urgent"
|
||||
},
|
||||
"plantit": {
|
||||
"events": "Eventos",
|
||||
"plants": "Plantas",
|
||||
|
||||
@@ -344,6 +344,16 @@
|
||||
"address": "Address",
|
||||
"expires": "Expires",
|
||||
"never": "Never",
|
||||
"user": "User",
|
||||
"hostname": "Hostname",
|
||||
"name": "Name",
|
||||
"client_version": "Client Version",
|
||||
"os": "OS",
|
||||
"created": "Created",
|
||||
"authorized": "Authorized",
|
||||
"is_external": "Is External",
|
||||
"update_available": "Update Available",
|
||||
"tags": "Tags",
|
||||
"last_seen": "Last Seen",
|
||||
"now": "Now",
|
||||
"years": "{{number}}y",
|
||||
@@ -352,7 +362,9 @@
|
||||
"hours": "{{number}}h",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "{{value}} Ago"
|
||||
"ago": "{{value}} Ago",
|
||||
"true": "Yes",
|
||||
"false": "No"
|
||||
},
|
||||
"technitium": {
|
||||
"totalQueries": "Queries",
|
||||
@@ -924,6 +936,19 @@
|
||||
"warnings": "Warnings",
|
||||
"criticals": "Criticals"
|
||||
},
|
||||
"ntfy": {
|
||||
"title": "Title",
|
||||
"priority": "Priority",
|
||||
"lastReceived": "Last Received",
|
||||
"message": "Message",
|
||||
"tags": "Tags",
|
||||
"none": "None",
|
||||
"min": "Min",
|
||||
"low": "Low",
|
||||
"default": "Default",
|
||||
"high": "High",
|
||||
"urgent": "Urgent"
|
||||
},
|
||||
"plantit": {
|
||||
"events": "Ekitaldiak",
|
||||
"plants": "Landareak",
|
||||
|
||||
@@ -344,6 +344,16 @@
|
||||
"address": "Address",
|
||||
"expires": "Expires",
|
||||
"never": "Never",
|
||||
"user": "User",
|
||||
"hostname": "Hostname",
|
||||
"name": "Name",
|
||||
"client_version": "Client Version",
|
||||
"os": "OS",
|
||||
"created": "Created",
|
||||
"authorized": "Authorized",
|
||||
"is_external": "Is External",
|
||||
"update_available": "Update Available",
|
||||
"tags": "Tags",
|
||||
"last_seen": "Last Seen",
|
||||
"now": "Now",
|
||||
"years": "{{number}}y",
|
||||
@@ -352,7 +362,9 @@
|
||||
"hours": "{{number}}h",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "{{value}} Ago"
|
||||
"ago": "{{value}} Ago",
|
||||
"true": "Yes",
|
||||
"false": "No"
|
||||
},
|
||||
"technitium": {
|
||||
"totalQueries": "Queries",
|
||||
@@ -924,6 +936,19 @@
|
||||
"warnings": "Warnings",
|
||||
"criticals": "Criticals"
|
||||
},
|
||||
"ntfy": {
|
||||
"title": "Title",
|
||||
"priority": "Priority",
|
||||
"lastReceived": "Last Received",
|
||||
"message": "Message",
|
||||
"tags": "Tags",
|
||||
"none": "None",
|
||||
"min": "Min",
|
||||
"low": "Low",
|
||||
"default": "Default",
|
||||
"high": "High",
|
||||
"urgent": "Urgent"
|
||||
},
|
||||
"plantit": {
|
||||
"events": "Events",
|
||||
"plants": "Plants",
|
||||
|
||||
@@ -67,9 +67,9 @@
|
||||
"empty_data": "Statut du sous-système inconnu"
|
||||
},
|
||||
"unifi_drive": {
|
||||
"healthy": "Healthy",
|
||||
"degraded": "Degraded",
|
||||
"no_data": "No storage data available"
|
||||
"healthy": "Sain",
|
||||
"degraded": "Dégradé",
|
||||
"no_data": "Aucune données de stockage disponible"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "Rx",
|
||||
@@ -115,12 +115,12 @@
|
||||
"jellyfin": {
|
||||
"playing": "En cours",
|
||||
"transcoding": "En cours d'encodage",
|
||||
"bitrate": "Bitrate",
|
||||
"no_active": "No Active Streams",
|
||||
"movies": "Movies",
|
||||
"series": "Series",
|
||||
"episodes": "Episodes",
|
||||
"songs": "Songs"
|
||||
"bitrate": "Débit",
|
||||
"no_active": "Aucune lecture en cours",
|
||||
"movies": "Films",
|
||||
"series": "Séries",
|
||||
"episodes": "Épisodes",
|
||||
"songs": "Chansons"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "Hors ligne",
|
||||
@@ -190,11 +190,11 @@
|
||||
"plex_connection_error": "Vérifier la connexion à Plex"
|
||||
},
|
||||
"tracearr": {
|
||||
"no_active": "No Active Streams",
|
||||
"streams": "Streams",
|
||||
"transcodes": "Transcodes",
|
||||
"directplay": "Direct Play",
|
||||
"bitrate": "Bitrate"
|
||||
"no_active": "Aucune lecture en cours",
|
||||
"streams": "Lectures",
|
||||
"transcodes": "Transcodages",
|
||||
"directplay": "Lectures directes",
|
||||
"bitrate": "Débit"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "APs connectées",
|
||||
@@ -295,12 +295,12 @@
|
||||
"available": "Disponible"
|
||||
},
|
||||
"seerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available",
|
||||
"completed": "Completed",
|
||||
"processing": "Processing",
|
||||
"issues": "Open Issues"
|
||||
"pending": "En attente",
|
||||
"approved": "Validées",
|
||||
"available": "Disponibles",
|
||||
"completed": "Complétées",
|
||||
"processing": "En traitement",
|
||||
"issues": "Problèmes non résolus"
|
||||
},
|
||||
"netalertx": {
|
||||
"total": "Total",
|
||||
@@ -344,6 +344,16 @@
|
||||
"address": "Adresse",
|
||||
"expires": "Expire",
|
||||
"never": "Jamais",
|
||||
"user": "Utilisateur",
|
||||
"hostname": "Nom d'hôte",
|
||||
"name": "Nom",
|
||||
"client_version": "Version client",
|
||||
"os": "OS",
|
||||
"created": "Créé",
|
||||
"authorized": "Autorisée",
|
||||
"is_external": "Externe",
|
||||
"update_available": "Mise à jour disponible",
|
||||
"tags": "Tags",
|
||||
"last_seen": "Vu pour la dernière fois",
|
||||
"now": "Maintenant",
|
||||
"years": "{{number}}a",
|
||||
@@ -352,7 +362,9 @@
|
||||
"hours": "{{number}}h",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "Il y a {{value}}"
|
||||
"ago": "Il y a {{value}}",
|
||||
"true": "Oui",
|
||||
"false": "Non"
|
||||
},
|
||||
"technitium": {
|
||||
"totalQueries": "Requêtes",
|
||||
@@ -619,13 +631,13 @@
|
||||
"total": "Total"
|
||||
},
|
||||
"pangolin": {
|
||||
"orgs": "Orgs",
|
||||
"orgs": "Organisations",
|
||||
"sites": "Sites",
|
||||
"resources": "Ressources",
|
||||
"targets": "Cibles",
|
||||
"traffic": "Trafique",
|
||||
"in": "In",
|
||||
"out": "Out"
|
||||
"in": "Entrant",
|
||||
"out": "Sortant"
|
||||
},
|
||||
"peanut": {
|
||||
"battery_charge": "Charge de la batterie",
|
||||
@@ -724,8 +736,8 @@
|
||||
"volumeAvailable": "Disponible"
|
||||
},
|
||||
"dispatcharr": {
|
||||
"channels": "Channels",
|
||||
"streams": "Streams"
|
||||
"channels": "Chaînes",
|
||||
"streams": "Lectures"
|
||||
},
|
||||
"mylar": {
|
||||
"series": "Séries",
|
||||
@@ -816,10 +828,10 @@
|
||||
"series": "Séries"
|
||||
},
|
||||
"booklore": {
|
||||
"libraries": "Libraries",
|
||||
"books": "Books",
|
||||
"reading": "Reading",
|
||||
"finished": "Finished"
|
||||
"libraries": "Bibliothèques",
|
||||
"books": "Livres",
|
||||
"reading": "En cours de lecture",
|
||||
"finished": "Terminés"
|
||||
},
|
||||
"jdownloader": {
|
||||
"downloadCount": "File d'attente",
|
||||
@@ -924,6 +936,19 @@
|
||||
"warnings": "Avertissements",
|
||||
"criticals": "Urgent"
|
||||
},
|
||||
"ntfy": {
|
||||
"title": "Titre",
|
||||
"priority": "Priorité",
|
||||
"lastReceived": "Dernière réception",
|
||||
"message": "Message",
|
||||
"tags": "Tags",
|
||||
"none": "Aucun",
|
||||
"min": "Min",
|
||||
"low": "Bas",
|
||||
"default": "Défaut",
|
||||
"high": "Haut",
|
||||
"urgent": "Urgent"
|
||||
},
|
||||
"plantit": {
|
||||
"events": "Événements",
|
||||
"plants": "Plantes",
|
||||
@@ -1160,30 +1185,30 @@
|
||||
"artists": "Artistes"
|
||||
},
|
||||
"arcane": {
|
||||
"containers": "Containers",
|
||||
"containers": "Conteneurs",
|
||||
"images": "Images",
|
||||
"image_updates": "Image Updates",
|
||||
"images_unused": "Unused",
|
||||
"environment_required": "Environment ID Required"
|
||||
"image_updates": "Mises à jour d'images",
|
||||
"images_unused": "Inutilisées",
|
||||
"environment_required": "ID d'environnement requis"
|
||||
},
|
||||
"dockhand": {
|
||||
"running": "Running",
|
||||
"stopped": "Stopped",
|
||||
"running": "En cours d'exécution",
|
||||
"stopped": "Arrêtés",
|
||||
"cpu": "CPU",
|
||||
"memory": "Memory",
|
||||
"memory": "Mémoire",
|
||||
"images": "Images",
|
||||
"volumes": "Volumes",
|
||||
"events_today": "Events Today",
|
||||
"pending_updates": "Pending Updates",
|
||||
"events_today": "Événements aujourd'hui",
|
||||
"pending_updates": "Mises à jour en attente",
|
||||
"stacks": "Stacks",
|
||||
"paused": "Paused",
|
||||
"paused": "En pause",
|
||||
"total": "Total",
|
||||
"environment_not_found": "Environment Not Found"
|
||||
"environment_not_found": "Environnement introuvable"
|
||||
},
|
||||
"sparkyfitness": {
|
||||
"eaten": "Eaten",
|
||||
"burned": "Burned",
|
||||
"remaining": "Remaining",
|
||||
"steps": "Steps"
|
||||
"eaten": "Mangé",
|
||||
"burned": "Brûlé",
|
||||
"remaining": "Restant",
|
||||
"steps": "Pas"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -344,6 +344,16 @@
|
||||
"address": "כתובת",
|
||||
"expires": "תאריך תפוגה",
|
||||
"never": "אף פעם",
|
||||
"user": "User",
|
||||
"hostname": "Hostname",
|
||||
"name": "Name",
|
||||
"client_version": "Client Version",
|
||||
"os": "OS",
|
||||
"created": "Created",
|
||||
"authorized": "Authorized",
|
||||
"is_external": "Is External",
|
||||
"update_available": "Update Available",
|
||||
"tags": "Tags",
|
||||
"last_seen": "נראה לאחרונה",
|
||||
"now": "כעת",
|
||||
"years": "{{number}}y",
|
||||
@@ -352,7 +362,9 @@
|
||||
"hours": "{{number}}h",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "{{value}} Ago"
|
||||
"ago": "{{value}} Ago",
|
||||
"true": "Yes",
|
||||
"false": "No"
|
||||
},
|
||||
"technitium": {
|
||||
"totalQueries": "שאילתות",
|
||||
@@ -924,6 +936,19 @@
|
||||
"warnings": "התראות",
|
||||
"criticals": "קריטיים"
|
||||
},
|
||||
"ntfy": {
|
||||
"title": "Title",
|
||||
"priority": "Priority",
|
||||
"lastReceived": "Last Received",
|
||||
"message": "Message",
|
||||
"tags": "Tags",
|
||||
"none": "None",
|
||||
"min": "Min",
|
||||
"low": "Low",
|
||||
"default": "Default",
|
||||
"high": "High",
|
||||
"urgent": "Urgent"
|
||||
},
|
||||
"plantit": {
|
||||
"events": "אירועים",
|
||||
"plants": "צמחים",
|
||||
|
||||
@@ -344,6 +344,16 @@
|
||||
"address": "Address",
|
||||
"expires": "Expires",
|
||||
"never": "Never",
|
||||
"user": "User",
|
||||
"hostname": "Hostname",
|
||||
"name": "Name",
|
||||
"client_version": "Client Version",
|
||||
"os": "OS",
|
||||
"created": "Created",
|
||||
"authorized": "Authorized",
|
||||
"is_external": "Is External",
|
||||
"update_available": "Update Available",
|
||||
"tags": "Tags",
|
||||
"last_seen": "Last Seen",
|
||||
"now": "Now",
|
||||
"years": "{{number}}y",
|
||||
@@ -352,7 +362,9 @@
|
||||
"hours": "{{number}}h",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "{{value}} Ago"
|
||||
"ago": "{{value}} Ago",
|
||||
"true": "Yes",
|
||||
"false": "No"
|
||||
},
|
||||
"technitium": {
|
||||
"totalQueries": "Queries",
|
||||
@@ -924,6 +936,19 @@
|
||||
"warnings": "Warnings",
|
||||
"criticals": "Criticals"
|
||||
},
|
||||
"ntfy": {
|
||||
"title": "Title",
|
||||
"priority": "Priority",
|
||||
"lastReceived": "Last Received",
|
||||
"message": "Message",
|
||||
"tags": "Tags",
|
||||
"none": "None",
|
||||
"min": "Min",
|
||||
"low": "Low",
|
||||
"default": "Default",
|
||||
"high": "High",
|
||||
"urgent": "Urgent"
|
||||
},
|
||||
"plantit": {
|
||||
"events": "Events",
|
||||
"plants": "Plants",
|
||||
|
||||
@@ -67,9 +67,9 @@
|
||||
"empty_data": "Stanje podsustava nepoznato"
|
||||
},
|
||||
"unifi_drive": {
|
||||
"healthy": "Healthy",
|
||||
"degraded": "Degraded",
|
||||
"no_data": "No storage data available"
|
||||
"healthy": "Zdravo",
|
||||
"degraded": "Degradirano",
|
||||
"no_data": "Nema dostupnih podataka spremišta"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
@@ -116,7 +116,7 @@
|
||||
"playing": "Reprodukcija u tijeku",
|
||||
"transcoding": "Prekodiranje",
|
||||
"bitrate": "Stopa bitova",
|
||||
"no_active": "No Active Streams",
|
||||
"no_active": "Nema aktivnih prijenosa",
|
||||
"movies": "Filmovi",
|
||||
"series": "Serije",
|
||||
"episodes": "Epizode",
|
||||
@@ -190,8 +190,8 @@
|
||||
"plex_connection_error": "Provjeri Plex vezu"
|
||||
},
|
||||
"tracearr": {
|
||||
"no_active": "No Active Streams",
|
||||
"streams": "Streams",
|
||||
"no_active": "Nema aktivnih prijenosa",
|
||||
"streams": "Prijenosi",
|
||||
"transcodes": "Prekodiranja",
|
||||
"directplay": "Izravna reprodukcija",
|
||||
"bitrate": "Stopa bitova"
|
||||
@@ -344,6 +344,16 @@
|
||||
"address": "Adresa",
|
||||
"expires": "Isteče",
|
||||
"never": "Nikada",
|
||||
"user": "Korisnik",
|
||||
"hostname": "Ime računala",
|
||||
"name": "Ime",
|
||||
"client_version": "Verzija klijenta",
|
||||
"os": "OS",
|
||||
"created": "Stvoreno",
|
||||
"authorized": "Autorizirano",
|
||||
"is_external": "Je eksterna",
|
||||
"update_available": "Dostupna je nova verzija",
|
||||
"tags": "Oznake",
|
||||
"last_seen": "Zadnje viđeno",
|
||||
"now": "Sada",
|
||||
"years": "{{number}} god",
|
||||
@@ -352,7 +362,9 @@
|
||||
"hours": "{{number}} h",
|
||||
"minutes": "{{number}} min",
|
||||
"seconds": "{{number}} s",
|
||||
"ago": "Prije {{value}}"
|
||||
"ago": "Prije {{value}}",
|
||||
"true": "Da",
|
||||
"false": "Ne"
|
||||
},
|
||||
"technitium": {
|
||||
"totalQueries": "Upiti",
|
||||
@@ -624,8 +636,8 @@
|
||||
"resources": "Resursi",
|
||||
"targets": "Ciljevi",
|
||||
"traffic": "Promet",
|
||||
"in": "In",
|
||||
"out": "Out"
|
||||
"in": "Ulaz",
|
||||
"out": "Izlaz"
|
||||
},
|
||||
"peanut": {
|
||||
"battery_charge": "Napunjenost baterije",
|
||||
@@ -725,7 +737,7 @@
|
||||
},
|
||||
"dispatcharr": {
|
||||
"channels": "Kanali",
|
||||
"streams": "Streams"
|
||||
"streams": "Prijenosi"
|
||||
},
|
||||
"mylar": {
|
||||
"series": "Serije",
|
||||
@@ -924,6 +936,19 @@
|
||||
"warnings": "Upozorenja",
|
||||
"criticals": "Kritično"
|
||||
},
|
||||
"ntfy": {
|
||||
"title": "Naslov",
|
||||
"priority": "Prioritet",
|
||||
"lastReceived": "Zadnji primitak",
|
||||
"message": "Poruka",
|
||||
"tags": "Oznake",
|
||||
"none": "Ništa",
|
||||
"min": "Min.",
|
||||
"low": "Nisko",
|
||||
"default": "Standardno",
|
||||
"high": "Visoko",
|
||||
"urgent": "Hitno"
|
||||
},
|
||||
"plantit": {
|
||||
"events": "Događaji",
|
||||
"plants": "Biljke",
|
||||
@@ -1109,7 +1134,7 @@
|
||||
"unhealthy": "Nezdravo",
|
||||
"unknown": "Nepoznato",
|
||||
"servers": "Serveri",
|
||||
"stacks": "Stacks",
|
||||
"stacks": "Stogovi",
|
||||
"containers": "Kontejneri"
|
||||
},
|
||||
"filebrowser": {
|
||||
@@ -1175,7 +1200,7 @@
|
||||
"volumes": "Jedinice memorije",
|
||||
"events_today": "Događanja danas",
|
||||
"pending_updates": "Aktualiziranja na čekanju",
|
||||
"stacks": "Stacks",
|
||||
"stacks": "Stogovi",
|
||||
"paused": "Pauzirano",
|
||||
"total": "Ukupno",
|
||||
"environment_not_found": "Okruženje nije pronađeno"
|
||||
|
||||
@@ -344,6 +344,16 @@
|
||||
"address": "Cím",
|
||||
"expires": "Lejár",
|
||||
"never": "Soha",
|
||||
"user": "User",
|
||||
"hostname": "Hostname",
|
||||
"name": "Name",
|
||||
"client_version": "Client Version",
|
||||
"os": "OS",
|
||||
"created": "Created",
|
||||
"authorized": "Authorized",
|
||||
"is_external": "Is External",
|
||||
"update_available": "Update Available",
|
||||
"tags": "Tags",
|
||||
"last_seen": "Utoljára látott",
|
||||
"now": "Most",
|
||||
"years": "{{number}}év",
|
||||
@@ -352,7 +362,9 @@
|
||||
"hours": "{{number}}ó",
|
||||
"minutes": "{{number}}p",
|
||||
"seconds": "{{number}}mp",
|
||||
"ago": "{{value}} Ezelőtt"
|
||||
"ago": "{{value}} Ezelőtt",
|
||||
"true": "Yes",
|
||||
"false": "No"
|
||||
},
|
||||
"technitium": {
|
||||
"totalQueries": "Lekérdezések",
|
||||
@@ -924,6 +936,19 @@
|
||||
"warnings": "Figyelmeztetések",
|
||||
"criticals": "Kritikusok"
|
||||
},
|
||||
"ntfy": {
|
||||
"title": "Title",
|
||||
"priority": "Priority",
|
||||
"lastReceived": "Last Received",
|
||||
"message": "Message",
|
||||
"tags": "Tags",
|
||||
"none": "None",
|
||||
"min": "Min",
|
||||
"low": "Low",
|
||||
"default": "Default",
|
||||
"high": "High",
|
||||
"urgent": "Urgent"
|
||||
},
|
||||
"plantit": {
|
||||
"events": "Események",
|
||||
"plants": "Növények",
|
||||
|
||||
@@ -344,6 +344,16 @@
|
||||
"address": "Alamat",
|
||||
"expires": "Kedaluwarsa",
|
||||
"never": "Tidak Pernah",
|
||||
"user": "User",
|
||||
"hostname": "Hostname",
|
||||
"name": "Name",
|
||||
"client_version": "Client Version",
|
||||
"os": "OS",
|
||||
"created": "Created",
|
||||
"authorized": "Authorized",
|
||||
"is_external": "Is External",
|
||||
"update_available": "Update Available",
|
||||
"tags": "Tags",
|
||||
"last_seen": "Terakhir terlihat",
|
||||
"now": "Sekarang",
|
||||
"years": "{{number}}thn",
|
||||
@@ -352,7 +362,9 @@
|
||||
"hours": "{{number}}j",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}d",
|
||||
"ago": "{{value}} Yang Lalu"
|
||||
"ago": "{{value}} Yang Lalu",
|
||||
"true": "Yes",
|
||||
"false": "No"
|
||||
},
|
||||
"technitium": {
|
||||
"totalQueries": "Queries",
|
||||
@@ -924,6 +936,19 @@
|
||||
"warnings": "Peringatan",
|
||||
"criticals": "Kritis"
|
||||
},
|
||||
"ntfy": {
|
||||
"title": "Title",
|
||||
"priority": "Priority",
|
||||
"lastReceived": "Last Received",
|
||||
"message": "Message",
|
||||
"tags": "Tags",
|
||||
"none": "None",
|
||||
"min": "Min",
|
||||
"low": "Low",
|
||||
"default": "Default",
|
||||
"high": "High",
|
||||
"urgent": "Urgent"
|
||||
},
|
||||
"plantit": {
|
||||
"events": "Acara",
|
||||
"plants": "Tanaman",
|
||||
|
||||
+107
-82
@@ -61,15 +61,15 @@
|
||||
"wlan_devices": "Dispositivi WLAN",
|
||||
"lan_users": "Utenti LAN",
|
||||
"wlan_users": "Utenti WLAN",
|
||||
"up": "UP",
|
||||
"up": "SU",
|
||||
"down": "DOWN",
|
||||
"wait": "Please wait",
|
||||
"wait": "Attendere prego",
|
||||
"empty_data": "Stato del sottosistema sconosciuto"
|
||||
},
|
||||
"unifi_drive": {
|
||||
"healthy": "Healthy",
|
||||
"degraded": "Degraded",
|
||||
"no_data": "No storage data available"
|
||||
"healthy": "Sano",
|
||||
"degraded": "Degradato",
|
||||
"no_data": "Nessun dato di archiviazione disponibile"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
@@ -88,7 +88,7 @@
|
||||
"partial": "Parziale"
|
||||
},
|
||||
"ping": {
|
||||
"error": "Error",
|
||||
"error": "Errore",
|
||||
"ping": "Ping",
|
||||
"down": "Down",
|
||||
"up": "Up",
|
||||
@@ -96,11 +96,11 @@
|
||||
},
|
||||
"siteMonitor": {
|
||||
"http_status": "Stato HTTP",
|
||||
"error": "Error",
|
||||
"error": "Errore",
|
||||
"response": "Risposta",
|
||||
"down": "Down",
|
||||
"up": "Up",
|
||||
"not_available": "Not Available"
|
||||
"down": "Giù",
|
||||
"up": "Su",
|
||||
"not_available": "Non disponibile"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "In riproduzione",
|
||||
@@ -113,21 +113,21 @@
|
||||
"songs": "Canzoni"
|
||||
},
|
||||
"jellyfin": {
|
||||
"playing": "Playing",
|
||||
"transcoding": "Transcoding",
|
||||
"bitrate": "Bitrate",
|
||||
"no_active": "No Active Streams",
|
||||
"movies": "Movies",
|
||||
"playing": "In riproduzione",
|
||||
"transcoding": "Transcodifica",
|
||||
"bitrate": "Velocità in bit",
|
||||
"no_active": "Nessuna Trasmissione Attiva",
|
||||
"movies": "Film",
|
||||
"series": "Serie",
|
||||
"episodes": "Episodes",
|
||||
"songs": "Songs"
|
||||
"episodes": "Episodi",
|
||||
"songs": "Canzoni"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "Offline",
|
||||
"offline_alt": "Offline",
|
||||
"offline": "Disconnesso",
|
||||
"offline_alt": "Disconnesso",
|
||||
"online": "Online",
|
||||
"total": "Total",
|
||||
"unknown": "Unknown"
|
||||
"total": "Totale",
|
||||
"unknown": "Sconosciuto"
|
||||
},
|
||||
"evcc": {
|
||||
"pv_power": "Produzione",
|
||||
@@ -148,7 +148,7 @@
|
||||
"unread": "Non letto"
|
||||
},
|
||||
"fritzbox": {
|
||||
"connectionStatus": "Status",
|
||||
"connectionStatus": "Stato",
|
||||
"connectionStatusUnconfigured": "Non configurato",
|
||||
"connectionStatusConnecting": "Connessione in corso",
|
||||
"connectionStatusAuthenticating": "In fase di autenticazione",
|
||||
@@ -156,11 +156,11 @@
|
||||
"connectionStatusDisconnecting": "Disconnessione in corso",
|
||||
"connectionStatusDisconnected": "Disconnesso",
|
||||
"connectionStatusConnected": "Connesso",
|
||||
"uptime": "Uptime",
|
||||
"uptime": "Tempo di funzionamento",
|
||||
"maxDown": "Max. Down",
|
||||
"maxUp": "Max. Up",
|
||||
"down": "Down",
|
||||
"up": "Up",
|
||||
"down": "Giù",
|
||||
"up": "Su",
|
||||
"received": "Ricevuti",
|
||||
"sent": "Inviati",
|
||||
"externalIPAddress": "IP Esterno",
|
||||
@@ -184,17 +184,17 @@
|
||||
},
|
||||
"tautulli": {
|
||||
"playing": "In riproduzione",
|
||||
"transcoding": "Transcoding",
|
||||
"bitrate": "Bitrate",
|
||||
"no_active": "No Active Streams",
|
||||
"transcoding": "Transcodifica",
|
||||
"bitrate": "Velocità in bit",
|
||||
"no_active": "Nessuna Trasmissione Attiva",
|
||||
"plex_connection_error": "Controllare la connessione a Plex"
|
||||
},
|
||||
"tracearr": {
|
||||
"no_active": "No Active Streams",
|
||||
"streams": "Streams",
|
||||
"transcodes": "Transcodes",
|
||||
"directplay": "Direct Play",
|
||||
"bitrate": "Bitrate"
|
||||
"no_active": "Nessuna Trasmissione Attiva",
|
||||
"streams": "Flussi",
|
||||
"transcodes": "Transcodifiche",
|
||||
"directplay": "Riproduzione diretta",
|
||||
"bitrate": "Velocità in bit"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "AP Connessi",
|
||||
@@ -211,11 +211,11 @@
|
||||
"plex": {
|
||||
"streams": "Trasmissioni attive",
|
||||
"albums": "Album",
|
||||
"movies": "Movies",
|
||||
"movies": "Film",
|
||||
"tv": "Programmi televisivi"
|
||||
},
|
||||
"sabnzbd": {
|
||||
"rate": "Rate",
|
||||
"rate": "Rapporto",
|
||||
"queue": "Coda",
|
||||
"timeleft": "Tempo Rimanente"
|
||||
},
|
||||
@@ -227,13 +227,13 @@
|
||||
"transmission": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"leech": "In download",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"qbittorrent": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"leech": "In download",
|
||||
"seed": "Seed"
|
||||
},
|
||||
"qnap": {
|
||||
@@ -344,6 +344,16 @@
|
||||
"address": "Indirizzo",
|
||||
"expires": "Scade",
|
||||
"never": "Mai",
|
||||
"user": "User",
|
||||
"hostname": "Hostname",
|
||||
"name": "Name",
|
||||
"client_version": "Client Version",
|
||||
"os": "OS",
|
||||
"created": "Created",
|
||||
"authorized": "Authorized",
|
||||
"is_external": "Is External",
|
||||
"update_available": "Update Available",
|
||||
"tags": "Tags",
|
||||
"last_seen": "Ultima visualizzazione",
|
||||
"now": "Adesso",
|
||||
"years": "{{number}}a",
|
||||
@@ -352,7 +362,9 @@
|
||||
"hours": "{{number}}o",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "{{value}} Fa"
|
||||
"ago": "{{value}} Fa",
|
||||
"true": "Yes",
|
||||
"false": "No"
|
||||
},
|
||||
"technitium": {
|
||||
"totalQueries": "Queries",
|
||||
@@ -430,21 +442,21 @@
|
||||
"medusa": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"series": "Series"
|
||||
"series": "Serie"
|
||||
},
|
||||
"minecraft": {
|
||||
"players": "Giocatori",
|
||||
"version": "Versione",
|
||||
"status": "Status",
|
||||
"status": "Stato",
|
||||
"up": "Online",
|
||||
"down": "Offline"
|
||||
"down": "Disconnesso"
|
||||
},
|
||||
"miniflux": {
|
||||
"read": "Letti",
|
||||
"unread": "Unread"
|
||||
"unread": "Non letto"
|
||||
},
|
||||
"authentik": {
|
||||
"users": "Users",
|
||||
"users": "Utenti",
|
||||
"loginsLast24H": "Accessi (24h)",
|
||||
"failedLoginsLast24H": "Accessi Falliti (24h)"
|
||||
},
|
||||
@@ -456,19 +468,19 @@
|
||||
},
|
||||
"glances": {
|
||||
"cpu": "CPU",
|
||||
"load": "Load",
|
||||
"wait": "Please wait",
|
||||
"load": "Carico",
|
||||
"wait": "Attendere prego",
|
||||
"temp": "TEMP",
|
||||
"_temp": "Temp.",
|
||||
"warn": "Avviso",
|
||||
"uptime": "UP",
|
||||
"total": "Total",
|
||||
"free": "Free",
|
||||
"used": "Used",
|
||||
"days": "d",
|
||||
"hours": "h",
|
||||
"uptime": "SU",
|
||||
"total": "Totale",
|
||||
"free": "Libero",
|
||||
"used": "Utilizzato",
|
||||
"days": "g",
|
||||
"hours": "o",
|
||||
"crit": "Critico",
|
||||
"read": "Read",
|
||||
"read": "Letti",
|
||||
"write": "Scrittura",
|
||||
"gpu": "GPU",
|
||||
"mem": "Mem.",
|
||||
@@ -489,57 +501,57 @@
|
||||
"1-day": "Prevalentemente Soleggiato",
|
||||
"1-night": "Prevalentemente Sereno",
|
||||
"2-day": "Parzialmente Nuvoloso",
|
||||
"2-night": "Partly Cloudy",
|
||||
"2-night": "Parzialmente Nuvoloso",
|
||||
"3-day": "Nuvoloso",
|
||||
"3-night": "Cloudy",
|
||||
"3-night": "Nuvoloso",
|
||||
"45-day": "Nebbioso",
|
||||
"45-night": "Foggy",
|
||||
"48-day": "Foggy",
|
||||
"48-night": "Foggy",
|
||||
"45-night": "Nebbioso",
|
||||
"48-day": "Nebbioso",
|
||||
"48-night": "Nebbioso",
|
||||
"51-day": "Pioggerella Leggera",
|
||||
"51-night": "Light Drizzle",
|
||||
"51-night": "Pioggerella Leggera",
|
||||
"53-day": "Pioggerella",
|
||||
"53-night": "Drizzle",
|
||||
"53-night": "Pioggerella",
|
||||
"55-day": "Pioggerella Pesante",
|
||||
"55-night": "Heavy Drizzle",
|
||||
"55-night": "Pioggerella Pesante",
|
||||
"56-day": "Leggera Pioggia Gelata",
|
||||
"56-night": "Light Freezing Drizzle",
|
||||
"56-night": "Leggera Pioggia Gelata",
|
||||
"57-day": "Pioggerella Gelata",
|
||||
"57-night": "Freezing Drizzle",
|
||||
"57-night": "Pioggerella Gelata",
|
||||
"61-day": "Pioggia Leggera",
|
||||
"61-night": "Light Rain",
|
||||
"61-night": "Pioggia Leggera",
|
||||
"63-day": "Pioggia",
|
||||
"63-night": "Rain",
|
||||
"63-night": "Pioggia",
|
||||
"65-day": "Pioggia Intensa",
|
||||
"65-night": "Heavy Rain",
|
||||
"65-night": "Pioggia Intensa",
|
||||
"66-day": "Grandine",
|
||||
"66-night": "Freezing Rain",
|
||||
"67-day": "Freezing Rain",
|
||||
"67-night": "Freezing Rain",
|
||||
"66-night": "Grandine",
|
||||
"67-day": "Grandine",
|
||||
"67-night": "Grandine",
|
||||
"71-day": "Leggera Nevicata",
|
||||
"71-night": "Light Snow",
|
||||
"71-night": "Leggera Nevicata",
|
||||
"73-day": "Neve",
|
||||
"73-night": "Snow",
|
||||
"73-night": "Neve",
|
||||
"75-day": "Nevicata Intensa",
|
||||
"75-night": "Heavy Snow",
|
||||
"75-night": "Nevicata Intensa",
|
||||
"77-day": "Fiocchi di Neve",
|
||||
"77-night": "Snow Grains",
|
||||
"77-night": "Fiocchi di Neve",
|
||||
"80-day": "Leggeri Rovesci",
|
||||
"80-night": "Light Showers",
|
||||
"80-night": "Leggeri Rovesci",
|
||||
"81-day": "Rovesci",
|
||||
"81-night": "Showers",
|
||||
"81-night": "Rovesci",
|
||||
"82-day": "Intensi Rovesci",
|
||||
"82-night": "Heavy Showers",
|
||||
"82-night": "Intensi Rovesci",
|
||||
"85-day": "Rovesci di Neve",
|
||||
"85-night": "Snow Showers",
|
||||
"86-day": "Snow Showers",
|
||||
"86-night": "Snow Showers",
|
||||
"85-night": "Rovesci di Neve",
|
||||
"86-day": "Rovesci di Neve",
|
||||
"86-night": "Rovesci di Neve",
|
||||
"95-day": "Temporale",
|
||||
"95-night": "Thunderstorm",
|
||||
"95-night": "Temporale",
|
||||
"96-day": "Temporale con grandine",
|
||||
"96-night": "Thunderstorm With Hail",
|
||||
"99-day": "Thunderstorm With Hail",
|
||||
"99-night": "Thunderstorm With Hail"
|
||||
"96-night": "Temporale con grandine",
|
||||
"99-day": "Temporale con grandine",
|
||||
"99-night": "Temporale con grandine"
|
||||
},
|
||||
"homebridge": {
|
||||
"available_update": "Sistema",
|
||||
@@ -924,6 +936,19 @@
|
||||
"warnings": "Avvisi",
|
||||
"criticals": "Critici"
|
||||
},
|
||||
"ntfy": {
|
||||
"title": "Title",
|
||||
"priority": "Priority",
|
||||
"lastReceived": "Last Received",
|
||||
"message": "Message",
|
||||
"tags": "Tags",
|
||||
"none": "None",
|
||||
"min": "Min",
|
||||
"low": "Low",
|
||||
"default": "Default",
|
||||
"high": "High",
|
||||
"urgent": "Urgent"
|
||||
},
|
||||
"plantit": {
|
||||
"events": "Eventi",
|
||||
"plants": "Piante",
|
||||
|
||||
@@ -344,6 +344,16 @@
|
||||
"address": "アドレス",
|
||||
"expires": "失効",
|
||||
"never": "なし",
|
||||
"user": "User",
|
||||
"hostname": "Hostname",
|
||||
"name": "Name",
|
||||
"client_version": "Client Version",
|
||||
"os": "OS",
|
||||
"created": "Created",
|
||||
"authorized": "Authorized",
|
||||
"is_external": "Is External",
|
||||
"update_available": "Update Available",
|
||||
"tags": "Tags",
|
||||
"last_seen": "最終日時",
|
||||
"now": "現在",
|
||||
"years": "{{number}}年",
|
||||
@@ -352,7 +362,9 @@
|
||||
"hours": "{{number}}時間",
|
||||
"minutes": "{{number}}分",
|
||||
"seconds": "{{number}}秒",
|
||||
"ago": "{{value}} 前"
|
||||
"ago": "{{value}} 前",
|
||||
"true": "Yes",
|
||||
"false": "No"
|
||||
},
|
||||
"technitium": {
|
||||
"totalQueries": "Queries",
|
||||
@@ -924,6 +936,19 @@
|
||||
"warnings": "警告",
|
||||
"criticals": "重大"
|
||||
},
|
||||
"ntfy": {
|
||||
"title": "Title",
|
||||
"priority": "Priority",
|
||||
"lastReceived": "Last Received",
|
||||
"message": "Message",
|
||||
"tags": "Tags",
|
||||
"none": "None",
|
||||
"min": "Min",
|
||||
"low": "Low",
|
||||
"default": "Default",
|
||||
"high": "High",
|
||||
"urgent": "Urgent"
|
||||
},
|
||||
"plantit": {
|
||||
"events": "イベント",
|
||||
"plants": "植物",
|
||||
|
||||
@@ -67,9 +67,9 @@
|
||||
"empty_data": "서브시스템 상태 알 수 없음"
|
||||
},
|
||||
"unifi_drive": {
|
||||
"healthy": "Healthy",
|
||||
"degraded": "Degraded",
|
||||
"no_data": "No storage data available"
|
||||
"healthy": "정상",
|
||||
"degraded": "성능 저하",
|
||||
"no_data": "저장소 데이터 없음"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "수신",
|
||||
@@ -344,6 +344,16 @@
|
||||
"address": "주소",
|
||||
"expires": "만료",
|
||||
"never": "없음",
|
||||
"user": "User",
|
||||
"hostname": "Hostname",
|
||||
"name": "Name",
|
||||
"client_version": "Client Version",
|
||||
"os": "OS",
|
||||
"created": "Created",
|
||||
"authorized": "Authorized",
|
||||
"is_external": "Is External",
|
||||
"update_available": "Update Available",
|
||||
"tags": "Tags",
|
||||
"last_seen": "마지막 접속",
|
||||
"now": "지금",
|
||||
"years": "{{number}}년",
|
||||
@@ -352,7 +362,9 @@
|
||||
"hours": "{{number}}시간",
|
||||
"minutes": "{{number}}분",
|
||||
"seconds": "{{number}}초",
|
||||
"ago": "{{value}} 전"
|
||||
"ago": "{{value}} 전",
|
||||
"true": "Yes",
|
||||
"false": "No"
|
||||
},
|
||||
"technitium": {
|
||||
"totalQueries": "총 쿼리",
|
||||
@@ -924,6 +936,19 @@
|
||||
"warnings": "경고",
|
||||
"criticals": "심각"
|
||||
},
|
||||
"ntfy": {
|
||||
"title": "Title",
|
||||
"priority": "Priority",
|
||||
"lastReceived": "Last Received",
|
||||
"message": "Message",
|
||||
"tags": "Tags",
|
||||
"none": "None",
|
||||
"min": "Min",
|
||||
"low": "Low",
|
||||
"default": "Default",
|
||||
"high": "High",
|
||||
"urgent": "Urgent"
|
||||
},
|
||||
"plantit": {
|
||||
"events": "이벤트",
|
||||
"plants": "식물",
|
||||
|
||||
@@ -344,6 +344,16 @@
|
||||
"address": "Address",
|
||||
"expires": "Expires",
|
||||
"never": "Never",
|
||||
"user": "User",
|
||||
"hostname": "Hostname",
|
||||
"name": "Name",
|
||||
"client_version": "Client Version",
|
||||
"os": "OS",
|
||||
"created": "Created",
|
||||
"authorized": "Authorized",
|
||||
"is_external": "Is External",
|
||||
"update_available": "Update Available",
|
||||
"tags": "Tags",
|
||||
"last_seen": "Last Seen",
|
||||
"now": "Now",
|
||||
"years": "{{number}}y",
|
||||
@@ -352,7 +362,9 @@
|
||||
"hours": "{{number}}h",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "{{value}} Ago"
|
||||
"ago": "{{value}} Ago",
|
||||
"true": "Yes",
|
||||
"false": "No"
|
||||
},
|
||||
"technitium": {
|
||||
"totalQueries": "Queries",
|
||||
@@ -924,6 +936,19 @@
|
||||
"warnings": "Warnings",
|
||||
"criticals": "Criticals"
|
||||
},
|
||||
"ntfy": {
|
||||
"title": "Title",
|
||||
"priority": "Priority",
|
||||
"lastReceived": "Last Received",
|
||||
"message": "Message",
|
||||
"tags": "Tags",
|
||||
"none": "None",
|
||||
"min": "Min",
|
||||
"low": "Low",
|
||||
"default": "Default",
|
||||
"high": "High",
|
||||
"urgent": "Urgent"
|
||||
},
|
||||
"plantit": {
|
||||
"events": "Events",
|
||||
"plants": "Plants",
|
||||
|
||||
@@ -344,6 +344,16 @@
|
||||
"address": "Address",
|
||||
"expires": "Expires",
|
||||
"never": "Never",
|
||||
"user": "User",
|
||||
"hostname": "Hostname",
|
||||
"name": "Name",
|
||||
"client_version": "Client Version",
|
||||
"os": "OS",
|
||||
"created": "Created",
|
||||
"authorized": "Authorized",
|
||||
"is_external": "Is External",
|
||||
"update_available": "Update Available",
|
||||
"tags": "Tags",
|
||||
"last_seen": "Last Seen",
|
||||
"now": "Sekarang",
|
||||
"years": "{{number}}y",
|
||||
@@ -352,7 +362,9 @@
|
||||
"hours": "{{number}}h",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "{{value}} Lepas"
|
||||
"ago": "{{value}} Lepas",
|
||||
"true": "Yes",
|
||||
"false": "No"
|
||||
},
|
||||
"technitium": {
|
||||
"totalQueries": "Queries",
|
||||
@@ -924,6 +936,19 @@
|
||||
"warnings": "Amaran",
|
||||
"criticals": "Kritikal"
|
||||
},
|
||||
"ntfy": {
|
||||
"title": "Title",
|
||||
"priority": "Priority",
|
||||
"lastReceived": "Last Received",
|
||||
"message": "Message",
|
||||
"tags": "Tags",
|
||||
"none": "None",
|
||||
"min": "Min",
|
||||
"low": "Low",
|
||||
"default": "Default",
|
||||
"high": "High",
|
||||
"urgent": "Urgent"
|
||||
},
|
||||
"plantit": {
|
||||
"events": "Events",
|
||||
"plants": "Plants",
|
||||
|
||||
@@ -67,9 +67,9 @@
|
||||
"empty_data": "Subsysteem status onbekend"
|
||||
},
|
||||
"unifi_drive": {
|
||||
"healthy": "Healthy",
|
||||
"degraded": "Degraded",
|
||||
"no_data": "No storage data available"
|
||||
"healthy": "Gezond",
|
||||
"degraded": "Gedegradeerd",
|
||||
"no_data": "Geen opslaggegevens beschikbaar"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
@@ -113,14 +113,14 @@
|
||||
"songs": "Nummers"
|
||||
},
|
||||
"jellyfin": {
|
||||
"playing": "Playing",
|
||||
"transcoding": "Transcoding",
|
||||
"playing": "Speelt",
|
||||
"transcoding": "Bezig met transcoderen",
|
||||
"bitrate": "Bitrate",
|
||||
"no_active": "No Active Streams",
|
||||
"movies": "Movies",
|
||||
"no_active": "Geen Actieve Streams",
|
||||
"movies": "Films",
|
||||
"series": "Series",
|
||||
"episodes": "Episodes",
|
||||
"songs": "Songs"
|
||||
"episodes": "Afleveringen",
|
||||
"songs": "Nummers"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "Offline",
|
||||
@@ -190,10 +190,10 @@
|
||||
"plex_connection_error": "Controleer Plex Connectie"
|
||||
},
|
||||
"tracearr": {
|
||||
"no_active": "No Active Streams",
|
||||
"no_active": "Geen Actieve Streams",
|
||||
"streams": "Streams",
|
||||
"transcodes": "Transcodes",
|
||||
"directplay": "Direct Play",
|
||||
"directplay": "Directe Afspelen",
|
||||
"bitrate": "Bitrate"
|
||||
},
|
||||
"omada": {
|
||||
@@ -295,12 +295,12 @@
|
||||
"available": "Beschikbaar"
|
||||
},
|
||||
"seerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available",
|
||||
"completed": "Completed",
|
||||
"processing": "Processing",
|
||||
"issues": "Open Issues"
|
||||
"pending": "In afwachting",
|
||||
"approved": "Goedgekeurd",
|
||||
"available": "Beschikbaar",
|
||||
"completed": "Voltooid",
|
||||
"processing": "Verwerken",
|
||||
"issues": "Openstaande issues"
|
||||
},
|
||||
"netalertx": {
|
||||
"total": "Totaal",
|
||||
@@ -344,6 +344,16 @@
|
||||
"address": "Adres",
|
||||
"expires": "Verloopt",
|
||||
"never": "Nooit",
|
||||
"user": "User",
|
||||
"hostname": "Hostname",
|
||||
"name": "Name",
|
||||
"client_version": "Client Version",
|
||||
"os": "OS",
|
||||
"created": "Created",
|
||||
"authorized": "Authorized",
|
||||
"is_external": "Is External",
|
||||
"update_available": "Update Available",
|
||||
"tags": "Tags",
|
||||
"last_seen": "Laatst Gezien",
|
||||
"now": "Nu",
|
||||
"years": "{{number}}j",
|
||||
@@ -352,7 +362,9 @@
|
||||
"hours": "{{number}}u",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "{{value}} Geleden"
|
||||
"ago": "{{value}} Geleden",
|
||||
"true": "Yes",
|
||||
"false": "No"
|
||||
},
|
||||
"technitium": {
|
||||
"totalQueries": "Verzoeken",
|
||||
@@ -621,11 +633,11 @@
|
||||
"pangolin": {
|
||||
"orgs": "Orgs",
|
||||
"sites": "Sites",
|
||||
"resources": "Resources",
|
||||
"targets": "Targets",
|
||||
"traffic": "Traffic",
|
||||
"resources": "Bronnen",
|
||||
"targets": "Doelen",
|
||||
"traffic": "Netwerkverkeer",
|
||||
"in": "In",
|
||||
"out": "Out"
|
||||
"out": "Uit"
|
||||
},
|
||||
"peanut": {
|
||||
"battery_charge": "Batterij opladen",
|
||||
@@ -724,7 +736,7 @@
|
||||
"volumeAvailable": "Beschikbaar"
|
||||
},
|
||||
"dispatcharr": {
|
||||
"channels": "Channels",
|
||||
"channels": "Kanalen",
|
||||
"streams": "Streams"
|
||||
},
|
||||
"mylar": {
|
||||
@@ -792,7 +804,7 @@
|
||||
"gross_percent_today": "Vandaag",
|
||||
"gross_percent_1y": "Een jaar",
|
||||
"gross_percent_max": "Altijd",
|
||||
"net_worth": "Net Worth"
|
||||
"net_worth": "Totaal eigen vermogen"
|
||||
},
|
||||
"audiobookshelf": {
|
||||
"podcasts": "Podcasts",
|
||||
@@ -816,8 +828,8 @@
|
||||
"series": "Series"
|
||||
},
|
||||
"booklore": {
|
||||
"libraries": "Libraries",
|
||||
"books": "Books",
|
||||
"libraries": "Bibliotheken",
|
||||
"books": "Boeken",
|
||||
"reading": "Reading",
|
||||
"finished": "Finished"
|
||||
},
|
||||
@@ -924,6 +936,19 @@
|
||||
"warnings": "Waarschuwingen",
|
||||
"criticals": "Kritiek"
|
||||
},
|
||||
"ntfy": {
|
||||
"title": "Title",
|
||||
"priority": "Priority",
|
||||
"lastReceived": "Last Received",
|
||||
"message": "Message",
|
||||
"tags": "Tags",
|
||||
"none": "None",
|
||||
"min": "Min",
|
||||
"low": "Low",
|
||||
"default": "Default",
|
||||
"high": "High",
|
||||
"urgent": "Urgent"
|
||||
},
|
||||
"plantit": {
|
||||
"events": "Gebeurtenissen",
|
||||
"plants": "Planten",
|
||||
|
||||
@@ -344,6 +344,16 @@
|
||||
"address": "Adresse",
|
||||
"expires": "Utgår",
|
||||
"never": "Aldri",
|
||||
"user": "User",
|
||||
"hostname": "Hostname",
|
||||
"name": "Name",
|
||||
"client_version": "Client Version",
|
||||
"os": "OS",
|
||||
"created": "Created",
|
||||
"authorized": "Authorized",
|
||||
"is_external": "Is External",
|
||||
"update_available": "Update Available",
|
||||
"tags": "Tags",
|
||||
"last_seen": "Sist sett",
|
||||
"now": "Nå",
|
||||
"years": "{{number}}y",
|
||||
@@ -352,7 +362,9 @@
|
||||
"hours": "{{number}}h",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "{{value}} Ago"
|
||||
"ago": "{{value}} Ago",
|
||||
"true": "Yes",
|
||||
"false": "No"
|
||||
},
|
||||
"technitium": {
|
||||
"totalQueries": "Queries",
|
||||
@@ -924,6 +936,19 @@
|
||||
"warnings": "Advarsler",
|
||||
"criticals": "Kritiske"
|
||||
},
|
||||
"ntfy": {
|
||||
"title": "Title",
|
||||
"priority": "Priority",
|
||||
"lastReceived": "Last Received",
|
||||
"message": "Message",
|
||||
"tags": "Tags",
|
||||
"none": "None",
|
||||
"min": "Min",
|
||||
"low": "Low",
|
||||
"default": "Default",
|
||||
"high": "High",
|
||||
"urgent": "Urgent"
|
||||
},
|
||||
"plantit": {
|
||||
"events": "Begivenheter",
|
||||
"plants": "Planter",
|
||||
|
||||
@@ -67,9 +67,9 @@
|
||||
"empty_data": "Status podsystemu nieznany"
|
||||
},
|
||||
"unifi_drive": {
|
||||
"healthy": "Healthy",
|
||||
"degraded": "Degraded",
|
||||
"no_data": "No storage data available"
|
||||
"healthy": "Zdrowy",
|
||||
"degraded": "Zdegradowany",
|
||||
"no_data": "Brak danych o miejscu przechowywania"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "Rx",
|
||||
@@ -344,6 +344,16 @@
|
||||
"address": "Adres",
|
||||
"expires": "Wygasa za",
|
||||
"never": "Nigdy",
|
||||
"user": "Użytkownik",
|
||||
"hostname": "Host",
|
||||
"name": "Nazwa",
|
||||
"client_version": "Wersja klienta",
|
||||
"os": "System operacyjny",
|
||||
"created": "Utworzony",
|
||||
"authorized": "Autoryzowany",
|
||||
"is_external": "Jest zewnętrzny",
|
||||
"update_available": "Dostępna aktualizacja",
|
||||
"tags": "Tagi",
|
||||
"last_seen": "Ostatnio dostępny",
|
||||
"now": "Teraz",
|
||||
"years": "{{number}}rok/lat",
|
||||
@@ -352,7 +362,9 @@
|
||||
"hours": "{{number}}godzin",
|
||||
"minutes": "{{number}}miesięcy",
|
||||
"seconds": "{{number}}sekund",
|
||||
"ago": "{{value}} temu"
|
||||
"ago": "{{value}} temu",
|
||||
"true": "Tak",
|
||||
"false": "Nie"
|
||||
},
|
||||
"technitium": {
|
||||
"totalQueries": "Zapytania",
|
||||
@@ -924,6 +936,19 @@
|
||||
"warnings": "Ostrzeżenia",
|
||||
"criticals": "Krytyczny"
|
||||
},
|
||||
"ntfy": {
|
||||
"title": "Tytuł",
|
||||
"priority": "Priorytet",
|
||||
"lastReceived": "Ostatnio odebrane",
|
||||
"message": "Wiadomość",
|
||||
"tags": "Tagi",
|
||||
"none": "Brak",
|
||||
"min": "Min",
|
||||
"low": "Niski",
|
||||
"default": "Domyślny",
|
||||
"high": "Wysoki",
|
||||
"urgent": "Pilny"
|
||||
},
|
||||
"plantit": {
|
||||
"events": "Wydarzenia",
|
||||
"plants": "Rośliny",
|
||||
|
||||
@@ -344,6 +344,16 @@
|
||||
"address": "Endereço",
|
||||
"expires": "Expira",
|
||||
"never": "Nunca",
|
||||
"user": "User",
|
||||
"hostname": "Hostname",
|
||||
"name": "Name",
|
||||
"client_version": "Client Version",
|
||||
"os": "OS",
|
||||
"created": "Created",
|
||||
"authorized": "Authorized",
|
||||
"is_external": "Is External",
|
||||
"update_available": "Update Available",
|
||||
"tags": "Tags",
|
||||
"last_seen": "Última Vez Visto",
|
||||
"now": "Agora",
|
||||
"years": "{{number}}y",
|
||||
@@ -352,7 +362,9 @@
|
||||
"hours": "{{number}}h",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "{{value}} Atrás"
|
||||
"ago": "{{value}} Atrás",
|
||||
"true": "Yes",
|
||||
"false": "No"
|
||||
},
|
||||
"technitium": {
|
||||
"totalQueries": "Queries",
|
||||
@@ -924,6 +936,19 @@
|
||||
"warnings": "Avisos",
|
||||
"criticals": "Críticos"
|
||||
},
|
||||
"ntfy": {
|
||||
"title": "Title",
|
||||
"priority": "Priority",
|
||||
"lastReceived": "Last Received",
|
||||
"message": "Message",
|
||||
"tags": "Tags",
|
||||
"none": "None",
|
||||
"min": "Min",
|
||||
"low": "Low",
|
||||
"default": "Default",
|
||||
"high": "High",
|
||||
"urgent": "Urgent"
|
||||
},
|
||||
"plantit": {
|
||||
"events": "Eventos",
|
||||
"plants": "Plantas",
|
||||
|
||||
@@ -67,9 +67,9 @@
|
||||
"empty_data": "Status do Subsistema desconhecido"
|
||||
},
|
||||
"unifi_drive": {
|
||||
"healthy": "Healthy",
|
||||
"degraded": "Degraded",
|
||||
"no_data": "No storage data available"
|
||||
"healthy": "Saudável",
|
||||
"degraded": "Degradado",
|
||||
"no_data": "Sem dados de armazenamento disponíveis"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
@@ -114,9 +114,9 @@
|
||||
},
|
||||
"jellyfin": {
|
||||
"playing": "Jogando",
|
||||
"transcoding": "Transcoding",
|
||||
"transcoding": "Transcodificando",
|
||||
"bitrate": "Bitrate",
|
||||
"no_active": "No Active Streams",
|
||||
"no_active": "Sem Transmissões Ativas",
|
||||
"movies": "Filmes",
|
||||
"series": "Séries",
|
||||
"episodes": "Episódios",
|
||||
@@ -190,10 +190,10 @@
|
||||
"plex_connection_error": "Verifique a conexão do Plex"
|
||||
},
|
||||
"tracearr": {
|
||||
"no_active": "No Active Streams",
|
||||
"streams": "Streams",
|
||||
"transcodes": "Transcodes",
|
||||
"directplay": "Direct Play",
|
||||
"no_active": "Sem Transmissões Ativas",
|
||||
"streams": "Transmissões",
|
||||
"transcodes": "Transcodificações",
|
||||
"directplay": "Reprodução direta",
|
||||
"bitrate": "Bitrate"
|
||||
},
|
||||
"omada": {
|
||||
@@ -344,6 +344,16 @@
|
||||
"address": "Endereço",
|
||||
"expires": "Expira em",
|
||||
"never": "Nunca",
|
||||
"user": "User",
|
||||
"hostname": "Hostname",
|
||||
"name": "Name",
|
||||
"client_version": "Client Version",
|
||||
"os": "OS",
|
||||
"created": "Created",
|
||||
"authorized": "Authorized",
|
||||
"is_external": "Is External",
|
||||
"update_available": "Update Available",
|
||||
"tags": "Tags",
|
||||
"last_seen": "Visto por último",
|
||||
"now": "Agora",
|
||||
"years": "{{number}}a",
|
||||
@@ -352,7 +362,9 @@
|
||||
"hours": "{{number}}h",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "{{value}} Atrás"
|
||||
"ago": "{{value}} Atrás",
|
||||
"true": "Yes",
|
||||
"false": "No"
|
||||
},
|
||||
"technitium": {
|
||||
"totalQueries": "Consultas",
|
||||
@@ -619,13 +631,13 @@
|
||||
"total": "Total"
|
||||
},
|
||||
"pangolin": {
|
||||
"orgs": "Orgs",
|
||||
"orgs": "Organizações",
|
||||
"sites": "Sites",
|
||||
"resources": "Recursos",
|
||||
"targets": "Targets",
|
||||
"traffic": "Traffic",
|
||||
"in": "In",
|
||||
"out": "Out"
|
||||
"targets": "Alvos",
|
||||
"traffic": "Tráfego",
|
||||
"in": "Em",
|
||||
"out": "Saída"
|
||||
},
|
||||
"peanut": {
|
||||
"battery_charge": "Carga da bateria",
|
||||
@@ -924,6 +936,19 @@
|
||||
"warnings": "Alertas",
|
||||
"criticals": "Críticos"
|
||||
},
|
||||
"ntfy": {
|
||||
"title": "Title",
|
||||
"priority": "Priority",
|
||||
"lastReceived": "Last Received",
|
||||
"message": "Message",
|
||||
"tags": "Tags",
|
||||
"none": "None",
|
||||
"min": "Min",
|
||||
"low": "Low",
|
||||
"default": "Default",
|
||||
"high": "High",
|
||||
"urgent": "Urgent"
|
||||
},
|
||||
"plantit": {
|
||||
"events": "Eventos",
|
||||
"plants": "Plantas",
|
||||
@@ -1164,11 +1189,11 @@
|
||||
"images": "Imagens",
|
||||
"image_updates": "Atualizações de Imagem",
|
||||
"images_unused": "Não utilizado",
|
||||
"environment_required": "Environment ID Required"
|
||||
"environment_required": "ID do ambiente necessário"
|
||||
},
|
||||
"dockhand": {
|
||||
"running": "Executando",
|
||||
"stopped": "Stopped",
|
||||
"stopped": "Parado",
|
||||
"cpu": "CPU",
|
||||
"memory": "Memória",
|
||||
"images": "Imagens",
|
||||
@@ -1178,12 +1203,12 @@
|
||||
"stacks": "Pilhas",
|
||||
"paused": "Pausado",
|
||||
"total": "Total",
|
||||
"environment_not_found": "Environment Not Found"
|
||||
"environment_not_found": "Ambiente não encontrado"
|
||||
},
|
||||
"sparkyfitness": {
|
||||
"eaten": "Eaten",
|
||||
"burned": "Burned",
|
||||
"remaining": "Remaining",
|
||||
"steps": "Steps"
|
||||
"eaten": "Comido",
|
||||
"burned": "Queimado",
|
||||
"remaining": "Restante",
|
||||
"steps": "Passos"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -344,6 +344,16 @@
|
||||
"address": "Adresă",
|
||||
"expires": "Expiră",
|
||||
"never": "Niciodată",
|
||||
"user": "User",
|
||||
"hostname": "Hostname",
|
||||
"name": "Name",
|
||||
"client_version": "Client Version",
|
||||
"os": "OS",
|
||||
"created": "Created",
|
||||
"authorized": "Authorized",
|
||||
"is_external": "Is External",
|
||||
"update_available": "Update Available",
|
||||
"tags": "Tags",
|
||||
"last_seen": "Last Seen",
|
||||
"now": "Acum",
|
||||
"years": "{{number}}y",
|
||||
@@ -352,7 +362,9 @@
|
||||
"hours": "{{number}}h",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "{{value}} Ago"
|
||||
"ago": "{{value}} Ago",
|
||||
"true": "Yes",
|
||||
"false": "No"
|
||||
},
|
||||
"technitium": {
|
||||
"totalQueries": "Queries",
|
||||
@@ -924,6 +936,19 @@
|
||||
"warnings": "Warnings",
|
||||
"criticals": "Critice"
|
||||
},
|
||||
"ntfy": {
|
||||
"title": "Title",
|
||||
"priority": "Priority",
|
||||
"lastReceived": "Last Received",
|
||||
"message": "Message",
|
||||
"tags": "Tags",
|
||||
"none": "None",
|
||||
"min": "Min",
|
||||
"low": "Low",
|
||||
"default": "Default",
|
||||
"high": "High",
|
||||
"urgent": "Urgent"
|
||||
},
|
||||
"plantit": {
|
||||
"events": "Evenimente",
|
||||
"plants": "Plante",
|
||||
|
||||
@@ -67,14 +67,14 @@
|
||||
"empty_data": "Статус подсистемы неизвестен"
|
||||
},
|
||||
"unifi_drive": {
|
||||
"healthy": "Healthy",
|
||||
"degraded": "Degraded",
|
||||
"no_data": "No storage data available"
|
||||
"healthy": "Здоров",
|
||||
"degraded": "Деградация",
|
||||
"no_data": "Нет доступных данных о хранилище"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
"tx": "TX",
|
||||
"mem": "Память",
|
||||
"mem": "ОЗУ",
|
||||
"cpu": "ЦП",
|
||||
"running": "Запущено",
|
||||
"offline": "Не в сети",
|
||||
@@ -184,15 +184,15 @@
|
||||
},
|
||||
"tautulli": {
|
||||
"playing": "Играет",
|
||||
"transcoding": "Транскодируется",
|
||||
"transcoding": "Перекодируется",
|
||||
"bitrate": "Битрейт",
|
||||
"no_active": "Нет активных стримов",
|
||||
"no_active": "Нет активных потоков",
|
||||
"plex_connection_error": "Проверка соединения Plex"
|
||||
},
|
||||
"tracearr": {
|
||||
"no_active": "Нет активных потоков",
|
||||
"streams": "Потоки",
|
||||
"transcodes": "Transcodes",
|
||||
"transcodes": "Перекодирования",
|
||||
"directplay": "Прямое воспроизведение",
|
||||
"bitrate": "Битрейт"
|
||||
},
|
||||
@@ -215,18 +215,18 @@
|
||||
"tv": "Сериалы"
|
||||
},
|
||||
"sabnzbd": {
|
||||
"rate": "",
|
||||
"rate": "Скорость",
|
||||
"queue": "Очередь",
|
||||
"timeleft": "Осталось"
|
||||
},
|
||||
"rutorrent": {
|
||||
"active": "Активно",
|
||||
"upload": "Загрузка",
|
||||
"upload": "Отдача",
|
||||
"download": "Скачивание"
|
||||
},
|
||||
"transmission": {
|
||||
"download": "Скачивание",
|
||||
"upload": "Загрузка",
|
||||
"upload": "Отдача",
|
||||
"leech": "Лич",
|
||||
"seed": "Сид"
|
||||
},
|
||||
@@ -295,7 +295,7 @@
|
||||
"available": "Доступно"
|
||||
},
|
||||
"seerr": {
|
||||
"pending": "Pending",
|
||||
"pending": "Ожидают",
|
||||
"approved": "Одобрено",
|
||||
"available": "Доступно",
|
||||
"completed": "Завершено",
|
||||
@@ -344,6 +344,16 @@
|
||||
"address": "Адрес",
|
||||
"expires": "Истекает",
|
||||
"never": "Никогда",
|
||||
"user": "Пользователь",
|
||||
"hostname": "Имя хоста",
|
||||
"name": "Имя",
|
||||
"client_version": "Версия клиента",
|
||||
"os": "ОС",
|
||||
"created": "Создано",
|
||||
"authorized": "Авторизовано",
|
||||
"is_external": "Внешний",
|
||||
"update_available": "Доступно обновление",
|
||||
"tags": "Теги",
|
||||
"last_seen": "Последнее посещение",
|
||||
"now": "Только что",
|
||||
"years": "{{number}}г",
|
||||
@@ -352,7 +362,9 @@
|
||||
"hours": "{{number}}ч",
|
||||
"minutes": "{{number}}м",
|
||||
"seconds": "{{number}}с",
|
||||
"ago": "{{value}} назад"
|
||||
"ago": "{{value}} назад",
|
||||
"true": "Да",
|
||||
"false": "Нет"
|
||||
},
|
||||
"technitium": {
|
||||
"totalQueries": "Запросы",
|
||||
@@ -620,12 +632,12 @@
|
||||
},
|
||||
"pangolin": {
|
||||
"orgs": "Orgs",
|
||||
"sites": "Sites",
|
||||
"resources": "Resources",
|
||||
"targets": "Targets",
|
||||
"traffic": "Traffic",
|
||||
"in": "In",
|
||||
"out": "Out"
|
||||
"sites": "Сайты",
|
||||
"resources": "Ресурсы",
|
||||
"targets": "Цели",
|
||||
"traffic": "Трафик",
|
||||
"in": "Входящий",
|
||||
"out": "Исходящий"
|
||||
},
|
||||
"peanut": {
|
||||
"battery_charge": "Заряд батареи",
|
||||
@@ -724,8 +736,8 @@
|
||||
"volumeAvailable": "Доступно"
|
||||
},
|
||||
"dispatcharr": {
|
||||
"channels": "Channels",
|
||||
"streams": "Streams"
|
||||
"channels": "Каналы",
|
||||
"streams": "Потоки"
|
||||
},
|
||||
"mylar": {
|
||||
"series": "Серии",
|
||||
@@ -816,10 +828,10 @@
|
||||
"series": "Серии"
|
||||
},
|
||||
"booklore": {
|
||||
"libraries": "Libraries",
|
||||
"books": "Books",
|
||||
"reading": "Reading",
|
||||
"finished": "Finished"
|
||||
"libraries": "Библиотеки",
|
||||
"books": "Книги",
|
||||
"reading": "Читаю",
|
||||
"finished": "Завершено"
|
||||
},
|
||||
"jdownloader": {
|
||||
"downloadCount": "Очередь",
|
||||
@@ -924,6 +936,19 @@
|
||||
"warnings": "Предупреждения",
|
||||
"criticals": "Критические"
|
||||
},
|
||||
"ntfy": {
|
||||
"title": "Название",
|
||||
"priority": "Приоритет",
|
||||
"lastReceived": "Last Received",
|
||||
"message": "Сообщение",
|
||||
"tags": "Теги",
|
||||
"none": "Отсутствует",
|
||||
"min": "Минимальный",
|
||||
"low": "Низкий",
|
||||
"default": "По-умолчанию",
|
||||
"high": "Высокий",
|
||||
"urgent": "Срочный"
|
||||
},
|
||||
"plantit": {
|
||||
"events": "События",
|
||||
"plants": "Растения",
|
||||
@@ -1062,7 +1087,7 @@
|
||||
},
|
||||
"gitlab": {
|
||||
"groups": "Группы",
|
||||
"issues": "Issues",
|
||||
"issues": "Задачи",
|
||||
"merges": "Мердж-реквесты",
|
||||
"projects": "Проекты"
|
||||
},
|
||||
@@ -1125,26 +1150,26 @@
|
||||
"nextRenewingSubscription": "Следующая оплата"
|
||||
},
|
||||
"unraid": {
|
||||
"STARTED": "Started",
|
||||
"STOPPED": "Stopped",
|
||||
"STARTED": "Запущено",
|
||||
"STOPPED": "Остановлено",
|
||||
"NEW_ARRAY": "Новый массив",
|
||||
"RECON_DISK": "Reconstructing Disk",
|
||||
"DISABLE_DISK": "Disk Disabled",
|
||||
"SWAP_DSBL": "Swap Disable",
|
||||
"INVALID_EXPANSION": "Invalid Expansion",
|
||||
"RECON_DISK": "Восстановление Диска",
|
||||
"DISABLE_DISK": "Диск отключен",
|
||||
"SWAP_DSBL": "Swap отключён",
|
||||
"INVALID_EXPANSION": "Неверное Расширение",
|
||||
"PARITY_NOT_BIGGEST": "Parity Not Biggest",
|
||||
"TOO_MANY_MISSING_DISKS": "Too Many Missing Disks",
|
||||
"NEW_DISK_TOO_SMALL": "New Disk Too Small",
|
||||
"NO_DATA_DISKS": "No Data Disks",
|
||||
"TOO_MANY_MISSING_DISKS": "Слишком много отсутствующих дисков",
|
||||
"NEW_DISK_TOO_SMALL": "Новый диск слишком мал",
|
||||
"NO_DATA_DISKS": "Нет дисков данных",
|
||||
"notifications": "Уведомления",
|
||||
"status": "Статус",
|
||||
"cpu": "ЦП",
|
||||
"memoryUsed": "Использовано ОЗУ",
|
||||
"memoryAvailable": "Memory Available",
|
||||
"memoryAvailable": "Доступная память",
|
||||
"arrayUsed": "Array Used",
|
||||
"arrayFree": "Array Free",
|
||||
"poolUsed": "{{pool}} Used",
|
||||
"poolFree": "{{pool}} Free"
|
||||
"poolUsed": "{{pool}} Использовано",
|
||||
"poolFree": "{{pool}} Свободно"
|
||||
},
|
||||
"backrest": {
|
||||
"num_plans": "Plans",
|
||||
@@ -1155,29 +1180,29 @@
|
||||
"bytes_added_30": "Bytes Added"
|
||||
},
|
||||
"yourspotify": {
|
||||
"songs": "Songs",
|
||||
"songs": "Треков",
|
||||
"time": "Время",
|
||||
"artists": "Artists"
|
||||
"artists": "Исполнителей"
|
||||
},
|
||||
"arcane": {
|
||||
"containers": "Containers",
|
||||
"images": "Images",
|
||||
"image_updates": "Image Updates",
|
||||
"images_unused": "Unused",
|
||||
"environment_required": "Environment ID Required"
|
||||
"containers": "Контейнеров",
|
||||
"images": "Образов",
|
||||
"image_updates": "Обновлений",
|
||||
"images_unused": "Не используется",
|
||||
"environment_required": "Требуется ID окружения"
|
||||
},
|
||||
"dockhand": {
|
||||
"running": "Running",
|
||||
"stopped": "Stopped",
|
||||
"cpu": "CPU",
|
||||
"memory": "Memory",
|
||||
"images": "Images",
|
||||
"volumes": "Volumes",
|
||||
"events_today": "Events Today",
|
||||
"pending_updates": "Pending Updates",
|
||||
"stacks": "Stacks",
|
||||
"paused": "Paused",
|
||||
"total": "Total",
|
||||
"running": "Запущено",
|
||||
"stopped": "Остановлено",
|
||||
"cpu": "ЦП",
|
||||
"memory": "ОЗУ",
|
||||
"images": "Образов",
|
||||
"volumes": "Томов",
|
||||
"events_today": "Событий сегодня",
|
||||
"pending_updates": "Обновлений",
|
||||
"stacks": "Стеков",
|
||||
"paused": "На паузе",
|
||||
"total": "Всего",
|
||||
"environment_not_found": "Среда не найдена"
|
||||
},
|
||||
"sparkyfitness": {
|
||||
|
||||
@@ -295,12 +295,12 @@
|
||||
"available": "Dostupné"
|
||||
},
|
||||
"seerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available",
|
||||
"completed": "Completed",
|
||||
"pending": "Čakajúce",
|
||||
"approved": "Schválené",
|
||||
"available": "Dostupné",
|
||||
"completed": "Dokončené",
|
||||
"processing": "Processing",
|
||||
"issues": "Open Issues"
|
||||
"issues": "Neriešené problémy"
|
||||
},
|
||||
"netalertx": {
|
||||
"total": "Celkom",
|
||||
@@ -344,6 +344,16 @@
|
||||
"address": "Adresa",
|
||||
"expires": "Vyprší",
|
||||
"never": "Nikdy",
|
||||
"user": "Používateľ",
|
||||
"hostname": "Názov hostiteľa",
|
||||
"name": "Názov",
|
||||
"client_version": "Verzia klienta",
|
||||
"os": "Operačný systém",
|
||||
"created": "Vytvorené",
|
||||
"authorized": "Autorizované",
|
||||
"is_external": "Je externý",
|
||||
"update_available": "Dostupná aktualizácia",
|
||||
"tags": "Štítky",
|
||||
"last_seen": "Naposledy videné",
|
||||
"now": "Teraz",
|
||||
"years": "{{number}}r",
|
||||
@@ -352,7 +362,9 @@
|
||||
"hours": "{{number}}h",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "Pred {{value}}"
|
||||
"ago": "Pred {{value}}",
|
||||
"true": "Áno",
|
||||
"false": "Nie"
|
||||
},
|
||||
"technitium": {
|
||||
"totalQueries": "Požiadaviek",
|
||||
@@ -924,6 +936,19 @@
|
||||
"warnings": "Upozornenia",
|
||||
"criticals": "Kritické"
|
||||
},
|
||||
"ntfy": {
|
||||
"title": "Názov",
|
||||
"priority": "Priorita",
|
||||
"lastReceived": "Posledná prijatá",
|
||||
"message": "Správa",
|
||||
"tags": "Štítky",
|
||||
"none": "Žiadna",
|
||||
"min": "Min",
|
||||
"low": "Nízka",
|
||||
"default": "Predvolená",
|
||||
"high": "Vysoká",
|
||||
"urgent": "Naliehavé"
|
||||
},
|
||||
"plantit": {
|
||||
"events": "Udalosti",
|
||||
"plants": "Rastliny",
|
||||
|
||||
@@ -344,6 +344,16 @@
|
||||
"address": "Naslov",
|
||||
"expires": "Poteče",
|
||||
"never": "Nikoli",
|
||||
"user": "User",
|
||||
"hostname": "Hostname",
|
||||
"name": "Name",
|
||||
"client_version": "Client Version",
|
||||
"os": "OS",
|
||||
"created": "Created",
|
||||
"authorized": "Authorized",
|
||||
"is_external": "Is External",
|
||||
"update_available": "Update Available",
|
||||
"tags": "Tags",
|
||||
"last_seen": "Viden",
|
||||
"now": "Sedaj",
|
||||
"years": "{{number}}l",
|
||||
@@ -352,7 +362,9 @@
|
||||
"hours": "{{number}}u",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "{{value}} nazaj"
|
||||
"ago": "{{value}} nazaj",
|
||||
"true": "Yes",
|
||||
"false": "No"
|
||||
},
|
||||
"technitium": {
|
||||
"totalQueries": "Queries",
|
||||
@@ -924,6 +936,19 @@
|
||||
"warnings": "Opozorila",
|
||||
"criticals": "Kritično"
|
||||
},
|
||||
"ntfy": {
|
||||
"title": "Title",
|
||||
"priority": "Priority",
|
||||
"lastReceived": "Last Received",
|
||||
"message": "Message",
|
||||
"tags": "Tags",
|
||||
"none": "None",
|
||||
"min": "Min",
|
||||
"low": "Low",
|
||||
"default": "Default",
|
||||
"high": "High",
|
||||
"urgent": "Urgent"
|
||||
},
|
||||
"plantit": {
|
||||
"events": "Dogodki",
|
||||
"plants": "Rastline",
|
||||
|
||||
@@ -67,9 +67,9 @@
|
||||
"empty_data": "Статус подсистема непознат"
|
||||
},
|
||||
"unifi_drive": {
|
||||
"healthy": "Healthy",
|
||||
"degraded": "Degraded",
|
||||
"no_data": "No storage data available"
|
||||
"healthy": "Здрав",
|
||||
"degraded": "Деградирано",
|
||||
"no_data": "Нема доступних података о складиштењу"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
@@ -344,6 +344,16 @@
|
||||
"address": "Адреса",
|
||||
"expires": "Истиче",
|
||||
"never": "Никада",
|
||||
"user": "User",
|
||||
"hostname": "Hostname",
|
||||
"name": "Name",
|
||||
"client_version": "Client Version",
|
||||
"os": "OS",
|
||||
"created": "Created",
|
||||
"authorized": "Authorized",
|
||||
"is_external": "Is External",
|
||||
"update_available": "Update Available",
|
||||
"tags": "Tags",
|
||||
"last_seen": "Последње виђен",
|
||||
"now": "Сада",
|
||||
"years": "{{number}}г",
|
||||
@@ -352,7 +362,9 @@
|
||||
"hours": "{{number}}ч",
|
||||
"minutes": "{{number}}м",
|
||||
"seconds": "{{number}}с",
|
||||
"ago": "Пре {{value}}"
|
||||
"ago": "Пре {{value}}",
|
||||
"true": "Yes",
|
||||
"false": "No"
|
||||
},
|
||||
"technitium": {
|
||||
"totalQueries": "Упити",
|
||||
@@ -924,6 +936,19 @@
|
||||
"warnings": "Упозорења",
|
||||
"criticals": "Критично"
|
||||
},
|
||||
"ntfy": {
|
||||
"title": "Title",
|
||||
"priority": "Priority",
|
||||
"lastReceived": "Last Received",
|
||||
"message": "Message",
|
||||
"tags": "Tags",
|
||||
"none": "None",
|
||||
"min": "Min",
|
||||
"low": "Low",
|
||||
"default": "Default",
|
||||
"high": "High",
|
||||
"urgent": "Urgent"
|
||||
},
|
||||
"plantit": {
|
||||
"events": "Догађаји",
|
||||
"plants": "Биљке",
|
||||
@@ -1181,9 +1206,9 @@
|
||||
"environment_not_found": "Окружење није пронађено"
|
||||
},
|
||||
"sparkyfitness": {
|
||||
"eaten": "Eaten",
|
||||
"burned": "Burned",
|
||||
"remaining": "Remaining",
|
||||
"steps": "Steps"
|
||||
"eaten": "Поједено",
|
||||
"burned": "Спаљено",
|
||||
"remaining": "Преостало",
|
||||
"steps": "Кораци"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -344,6 +344,16 @@
|
||||
"address": "Address",
|
||||
"expires": "Expires",
|
||||
"never": "Never",
|
||||
"user": "User",
|
||||
"hostname": "Hostname",
|
||||
"name": "Name",
|
||||
"client_version": "Client Version",
|
||||
"os": "OS",
|
||||
"created": "Created",
|
||||
"authorized": "Authorized",
|
||||
"is_external": "Is External",
|
||||
"update_available": "Update Available",
|
||||
"tags": "Tags",
|
||||
"last_seen": "Last Seen",
|
||||
"now": "Now",
|
||||
"years": "{{number}}y",
|
||||
@@ -352,7 +362,9 @@
|
||||
"hours": "{{number}}h",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "{{value}} Ago"
|
||||
"ago": "{{value}} Ago",
|
||||
"true": "Yes",
|
||||
"false": "No"
|
||||
},
|
||||
"technitium": {
|
||||
"totalQueries": "Queries",
|
||||
@@ -924,6 +936,19 @@
|
||||
"warnings": "Warnings",
|
||||
"criticals": "Criticals"
|
||||
},
|
||||
"ntfy": {
|
||||
"title": "Title",
|
||||
"priority": "Priority",
|
||||
"lastReceived": "Last Received",
|
||||
"message": "Message",
|
||||
"tags": "Tags",
|
||||
"none": "None",
|
||||
"min": "Min",
|
||||
"low": "Low",
|
||||
"default": "Default",
|
||||
"high": "High",
|
||||
"urgent": "Urgent"
|
||||
},
|
||||
"plantit": {
|
||||
"events": "Events",
|
||||
"plants": "Plants",
|
||||
|
||||
@@ -344,6 +344,16 @@
|
||||
"address": "Address",
|
||||
"expires": "Expires",
|
||||
"never": "Never",
|
||||
"user": "User",
|
||||
"hostname": "Hostname",
|
||||
"name": "Name",
|
||||
"client_version": "Client Version",
|
||||
"os": "OS",
|
||||
"created": "Created",
|
||||
"authorized": "Authorized",
|
||||
"is_external": "Is External",
|
||||
"update_available": "Update Available",
|
||||
"tags": "Tags",
|
||||
"last_seen": "Last Seen",
|
||||
"now": "Now",
|
||||
"years": "{{number}}y",
|
||||
@@ -352,7 +362,9 @@
|
||||
"hours": "{{number}}h",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "{{value}} Ago"
|
||||
"ago": "{{value}} Ago",
|
||||
"true": "Yes",
|
||||
"false": "No"
|
||||
},
|
||||
"technitium": {
|
||||
"totalQueries": "Queries",
|
||||
@@ -924,6 +936,19 @@
|
||||
"warnings": "Warnings",
|
||||
"criticals": "Criticals"
|
||||
},
|
||||
"ntfy": {
|
||||
"title": "Title",
|
||||
"priority": "Priority",
|
||||
"lastReceived": "Last Received",
|
||||
"message": "Message",
|
||||
"tags": "Tags",
|
||||
"none": "None",
|
||||
"min": "Min",
|
||||
"low": "Low",
|
||||
"default": "Default",
|
||||
"high": "High",
|
||||
"urgent": "Urgent"
|
||||
},
|
||||
"plantit": {
|
||||
"events": "Events",
|
||||
"plants": "Plants",
|
||||
|
||||
@@ -344,6 +344,16 @@
|
||||
"address": "Address",
|
||||
"expires": "Expires",
|
||||
"never": "Never",
|
||||
"user": "User",
|
||||
"hostname": "Hostname",
|
||||
"name": "Name",
|
||||
"client_version": "Client Version",
|
||||
"os": "OS",
|
||||
"created": "Created",
|
||||
"authorized": "Authorized",
|
||||
"is_external": "Is External",
|
||||
"update_available": "Update Available",
|
||||
"tags": "Tags",
|
||||
"last_seen": "Last Seen",
|
||||
"now": "Now",
|
||||
"years": "{{number}}y",
|
||||
@@ -352,7 +362,9 @@
|
||||
"hours": "{{number}}h",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "{{value}} Ago"
|
||||
"ago": "{{value}} Ago",
|
||||
"true": "Yes",
|
||||
"false": "No"
|
||||
},
|
||||
"technitium": {
|
||||
"totalQueries": "Queries",
|
||||
@@ -924,6 +936,19 @@
|
||||
"warnings": "Warnings",
|
||||
"criticals": "Criticals"
|
||||
},
|
||||
"ntfy": {
|
||||
"title": "Title",
|
||||
"priority": "Priority",
|
||||
"lastReceived": "Last Received",
|
||||
"message": "Message",
|
||||
"tags": "Tags",
|
||||
"none": "None",
|
||||
"min": "Min",
|
||||
"low": "Low",
|
||||
"default": "Default",
|
||||
"high": "High",
|
||||
"urgent": "Urgent"
|
||||
},
|
||||
"plantit": {
|
||||
"events": "Events",
|
||||
"plants": "Plants",
|
||||
|
||||
@@ -344,6 +344,16 @@
|
||||
"address": "Adres",
|
||||
"expires": "Geciken",
|
||||
"never": "Asla",
|
||||
"user": "User",
|
||||
"hostname": "Hostname",
|
||||
"name": "Name",
|
||||
"client_version": "Client Version",
|
||||
"os": "OS",
|
||||
"created": "Created",
|
||||
"authorized": "Authorized",
|
||||
"is_external": "Is External",
|
||||
"update_available": "Update Available",
|
||||
"tags": "Tags",
|
||||
"last_seen": "Son Görülme",
|
||||
"now": "Şimdi",
|
||||
"years": "{{number}} Yıl",
|
||||
@@ -352,7 +362,9 @@
|
||||
"hours": "{{number}} Saat",
|
||||
"minutes": "{{number}} Dakika",
|
||||
"seconds": "{{number}} Saniye",
|
||||
"ago": "{{value}} Önce"
|
||||
"ago": "{{value}} Önce",
|
||||
"true": "Yes",
|
||||
"false": "No"
|
||||
},
|
||||
"technitium": {
|
||||
"totalQueries": "Sorgular",
|
||||
@@ -924,6 +936,19 @@
|
||||
"warnings": "Uyarılar",
|
||||
"criticals": "Kritik"
|
||||
},
|
||||
"ntfy": {
|
||||
"title": "Title",
|
||||
"priority": "Priority",
|
||||
"lastReceived": "Last Received",
|
||||
"message": "Message",
|
||||
"tags": "Tags",
|
||||
"none": "None",
|
||||
"min": "Min",
|
||||
"low": "Low",
|
||||
"default": "Default",
|
||||
"high": "High",
|
||||
"urgent": "Urgent"
|
||||
},
|
||||
"plantit": {
|
||||
"events": "Etkinlikler",
|
||||
"plants": "Bitkiler",
|
||||
|
||||
@@ -344,6 +344,16 @@
|
||||
"address": "Адреса",
|
||||
"expires": "Дійсний до",
|
||||
"never": "Ніколи",
|
||||
"user": "User",
|
||||
"hostname": "Hostname",
|
||||
"name": "Name",
|
||||
"client_version": "Client Version",
|
||||
"os": "OS",
|
||||
"created": "Created",
|
||||
"authorized": "Authorized",
|
||||
"is_external": "Is External",
|
||||
"update_available": "Update Available",
|
||||
"tags": "Tags",
|
||||
"last_seen": "Востаннє у мережі",
|
||||
"now": "Зараз",
|
||||
"years": "{{number}}р",
|
||||
@@ -352,7 +362,9 @@
|
||||
"hours": "{{number}}год",
|
||||
"minutes": "{{number}}хв",
|
||||
"seconds": "{{number}}с",
|
||||
"ago": "{{value}} тому"
|
||||
"ago": "{{value}} тому",
|
||||
"true": "Yes",
|
||||
"false": "No"
|
||||
},
|
||||
"technitium": {
|
||||
"totalQueries": "Queries",
|
||||
@@ -924,6 +936,19 @@
|
||||
"warnings": "Попередження",
|
||||
"criticals": "Критичні"
|
||||
},
|
||||
"ntfy": {
|
||||
"title": "Title",
|
||||
"priority": "Priority",
|
||||
"lastReceived": "Last Received",
|
||||
"message": "Message",
|
||||
"tags": "Tags",
|
||||
"none": "None",
|
||||
"min": "Min",
|
||||
"low": "Low",
|
||||
"default": "Default",
|
||||
"high": "High",
|
||||
"urgent": "Urgent"
|
||||
},
|
||||
"plantit": {
|
||||
"events": "Події",
|
||||
"plants": "Рослини",
|
||||
|
||||
@@ -344,6 +344,16 @@
|
||||
"address": "Address",
|
||||
"expires": "Expires",
|
||||
"never": "Never",
|
||||
"user": "User",
|
||||
"hostname": "Hostname",
|
||||
"name": "Name",
|
||||
"client_version": "Client Version",
|
||||
"os": "OS",
|
||||
"created": "Created",
|
||||
"authorized": "Authorized",
|
||||
"is_external": "Is External",
|
||||
"update_available": "Update Available",
|
||||
"tags": "Tags",
|
||||
"last_seen": "Last Seen",
|
||||
"now": "Now",
|
||||
"years": "{{number}}y",
|
||||
@@ -352,7 +362,9 @@
|
||||
"hours": "{{number}}h",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "{{value}} Ago"
|
||||
"ago": "{{value}} Ago",
|
||||
"true": "Yes",
|
||||
"false": "No"
|
||||
},
|
||||
"technitium": {
|
||||
"totalQueries": "Queries",
|
||||
@@ -924,6 +936,19 @@
|
||||
"warnings": "Warnings",
|
||||
"criticals": "Criticals"
|
||||
},
|
||||
"ntfy": {
|
||||
"title": "Title",
|
||||
"priority": "Priority",
|
||||
"lastReceived": "Last Received",
|
||||
"message": "Message",
|
||||
"tags": "Tags",
|
||||
"none": "None",
|
||||
"min": "Min",
|
||||
"low": "Low",
|
||||
"default": "Default",
|
||||
"high": "High",
|
||||
"urgent": "Urgent"
|
||||
},
|
||||
"plantit": {
|
||||
"events": "Events",
|
||||
"plants": "Plants",
|
||||
|
||||
@@ -344,6 +344,16 @@
|
||||
"address": "位址",
|
||||
"expires": "已失效",
|
||||
"never": "未曾",
|
||||
"user": "User",
|
||||
"hostname": "Hostname",
|
||||
"name": "Name",
|
||||
"client_version": "Client Version",
|
||||
"os": "OS",
|
||||
"created": "Created",
|
||||
"authorized": "Authorized",
|
||||
"is_external": "Is External",
|
||||
"update_available": "Update Available",
|
||||
"tags": "Tags",
|
||||
"last_seen": "上次連線",
|
||||
"now": "現在",
|
||||
"years": "{{number}} 年",
|
||||
@@ -352,7 +362,9 @@
|
||||
"hours": "{{number}} 小時",
|
||||
"minutes": "{{number}} 分鐘",
|
||||
"seconds": "{{number}} 秒",
|
||||
"ago": "{{value}} 前"
|
||||
"ago": "{{value}} 前",
|
||||
"true": "Yes",
|
||||
"false": "No"
|
||||
},
|
||||
"technitium": {
|
||||
"totalQueries": "Queries",
|
||||
@@ -924,6 +936,19 @@
|
||||
"warnings": "警告",
|
||||
"criticals": "嚴重"
|
||||
},
|
||||
"ntfy": {
|
||||
"title": "Title",
|
||||
"priority": "Priority",
|
||||
"lastReceived": "Last Received",
|
||||
"message": "Message",
|
||||
"tags": "Tags",
|
||||
"none": "None",
|
||||
"min": "Min",
|
||||
"low": "Low",
|
||||
"default": "Default",
|
||||
"high": "High",
|
||||
"urgent": "Urgent"
|
||||
},
|
||||
"plantit": {
|
||||
"events": "事件",
|
||||
"plants": "植物",
|
||||
|
||||
@@ -228,7 +228,7 @@
|
||||
"download": "下载",
|
||||
"upload": "",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
"seed": "做种"
|
||||
},
|
||||
"qbittorrent": {
|
||||
"download": "下载速率",
|
||||
@@ -247,8 +247,8 @@
|
||||
"deluge": {
|
||||
"download": "下载",
|
||||
"upload": "上传",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
"leech": "下载中",
|
||||
"seed": "做种"
|
||||
},
|
||||
"develancacheui": {
|
||||
"cachehitbytes": "缓存命中字节",
|
||||
@@ -256,7 +256,7 @@
|
||||
},
|
||||
"downloadstation": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"upload": "上传速率",
|
||||
"leech": "",
|
||||
"seed": "做种"
|
||||
},
|
||||
@@ -344,6 +344,16 @@
|
||||
"address": "地址",
|
||||
"expires": "失效",
|
||||
"never": "从不",
|
||||
"user": "User",
|
||||
"hostname": "Hostname",
|
||||
"name": "Name",
|
||||
"client_version": "Client Version",
|
||||
"os": "OS",
|
||||
"created": "Created",
|
||||
"authorized": "Authorized",
|
||||
"is_external": "Is External",
|
||||
"update_available": "Update Available",
|
||||
"tags": "Tags",
|
||||
"last_seen": "最后上线",
|
||||
"now": "现在",
|
||||
"years": "{{number}}年",
|
||||
@@ -352,7 +362,9 @@
|
||||
"hours": "{{number}}h",
|
||||
"minutes": "{{number}}m",
|
||||
"seconds": "{{number}}s",
|
||||
"ago": "{{value}} 以前"
|
||||
"ago": "{{value}} 以前",
|
||||
"true": "Yes",
|
||||
"false": "No"
|
||||
},
|
||||
"technitium": {
|
||||
"totalQueries": "Queries",
|
||||
@@ -458,7 +470,7 @@
|
||||
"cpu": "CPU",
|
||||
"load": "负载",
|
||||
"wait": "请稍候",
|
||||
"temp": "转速",
|
||||
"temp": "温度",
|
||||
"_temp": "Temp",
|
||||
"warn": "Warn",
|
||||
"uptime": "运行时间",
|
||||
@@ -715,7 +727,7 @@
|
||||
},
|
||||
"komga": {
|
||||
"libraries": "书库",
|
||||
"series": "Series",
|
||||
"series": "系列",
|
||||
"books": "Books"
|
||||
},
|
||||
"diskstation": {
|
||||
@@ -924,6 +936,19 @@
|
||||
"warnings": "警告",
|
||||
"criticals": "严重"
|
||||
},
|
||||
"ntfy": {
|
||||
"title": "Title",
|
||||
"priority": "Priority",
|
||||
"lastReceived": "Last Received",
|
||||
"message": "Message",
|
||||
"tags": "Tags",
|
||||
"none": "None",
|
||||
"min": "Min",
|
||||
"low": "Low",
|
||||
"default": "Default",
|
||||
"high": "High",
|
||||
"urgent": "Urgent"
|
||||
},
|
||||
"plantit": {
|
||||
"events": "事件",
|
||||
"plants": "植物",
|
||||
|
||||
@@ -344,6 +344,16 @@
|
||||
"address": "位址",
|
||||
"expires": "已過期",
|
||||
"never": "未曾",
|
||||
"user": "User",
|
||||
"hostname": "Hostname",
|
||||
"name": "Name",
|
||||
"client_version": "Client Version",
|
||||
"os": "OS",
|
||||
"created": "Created",
|
||||
"authorized": "Authorized",
|
||||
"is_external": "Is External",
|
||||
"update_available": "Update Available",
|
||||
"tags": "Tags",
|
||||
"last_seen": "上次連線",
|
||||
"now": "現在",
|
||||
"years": "{{number}} 年",
|
||||
@@ -352,7 +362,9 @@
|
||||
"hours": "{{number}} 小時",
|
||||
"minutes": "{{number}} 分鐘",
|
||||
"seconds": "{{number}} 秒",
|
||||
"ago": "{{value}} 前"
|
||||
"ago": "{{value}} 前",
|
||||
"true": "Yes",
|
||||
"false": "No"
|
||||
},
|
||||
"technitium": {
|
||||
"totalQueries": "Queries",
|
||||
@@ -924,6 +936,19 @@
|
||||
"warnings": "警告",
|
||||
"criticals": "嚴重"
|
||||
},
|
||||
"ntfy": {
|
||||
"title": "Title",
|
||||
"priority": "Priority",
|
||||
"lastReceived": "Last Received",
|
||||
"message": "Message",
|
||||
"tags": "Tags",
|
||||
"none": "None",
|
||||
"min": "Min",
|
||||
"low": "Low",
|
||||
"default": "Default",
|
||||
"high": "High",
|
||||
"urgent": "Urgent"
|
||||
},
|
||||
"plantit": {
|
||||
"events": "事件",
|
||||
"plants": "植物",
|
||||
|
||||
@@ -2,12 +2,15 @@ import { beforeEach, describe, expect, it, vi } from "vitest";
|
||||
|
||||
import createMockRes from "test-utils/create-mock-res";
|
||||
|
||||
const { checkAndCopyConfig } = vi.hoisted(() => ({
|
||||
const { checkAndCopyConfig, getSettings } = vi.hoisted(() => ({
|
||||
checkAndCopyConfig: vi.fn(),
|
||||
getSettings: vi.fn(() => ({})),
|
||||
}));
|
||||
|
||||
vi.mock("utils/config/config", () => ({
|
||||
default: checkAndCopyConfig,
|
||||
getSettings,
|
||||
CONF_DIR: "/tmp",
|
||||
}));
|
||||
|
||||
import handler from "pages/api/validate";
|
||||
@@ -18,13 +21,28 @@ describe("pages/api/validate", () => {
|
||||
});
|
||||
|
||||
it("returns errors for any configs that don't validate", async () => {
|
||||
checkAndCopyConfig.mockReturnValueOnce(true).mockReturnValueOnce("settings bad").mockReturnValue(true);
|
||||
checkAndCopyConfig
|
||||
.mockReturnValueOnce(true)
|
||||
.mockReturnValueOnce({
|
||||
name: "YAMLException",
|
||||
config: "settings.yaml",
|
||||
reason: "settings bad",
|
||||
mark: { line: 1 },
|
||||
})
|
||||
.mockReturnValue(true);
|
||||
|
||||
const req = {};
|
||||
const res = createMockRes();
|
||||
|
||||
await handler(req, res);
|
||||
|
||||
expect(res.body).toEqual(["settings bad"]);
|
||||
expect(res.body).toEqual([
|
||||
{
|
||||
name: "YAMLException",
|
||||
config: "settings.yaml",
|
||||
reason: "settings bad",
|
||||
mark: { line: 1 },
|
||||
},
|
||||
]);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -92,6 +92,23 @@ describe("pages/api/widgets/glances", () => {
|
||||
expect(res.statusCode).toBe(200);
|
||||
});
|
||||
|
||||
it("falls back to version 3 when version is invalid", async () => {
|
||||
getPrivateWidgetOptions.mockResolvedValueOnce({ url: "http://glances" });
|
||||
|
||||
httpProxy
|
||||
.mockResolvedValueOnce([200, null, Buffer.from(JSON.stringify({ total: 1 }))])
|
||||
.mockResolvedValueOnce([200, null, Buffer.from(JSON.stringify({ avg: 2 }))])
|
||||
.mockResolvedValueOnce([200, null, Buffer.from(JSON.stringify({ available: 3 }))]);
|
||||
|
||||
const req = { query: { index: "0", version: "3/../../secret-endpoint" } };
|
||||
const res = createMockRes();
|
||||
|
||||
await handler(req, res);
|
||||
|
||||
expect(httpProxy).toHaveBeenCalledWith("http://glances/api/3/cpu", expect.any(Object));
|
||||
expect(res.statusCode).toBe(200);
|
||||
});
|
||||
|
||||
it("returns 400 when glances returns 401", async () => {
|
||||
getPrivateWidgetOptions.mockResolvedValueOnce({ url: "http://glances" });
|
||||
httpProxy.mockResolvedValueOnce([401, null, Buffer.from("nope")]);
|
||||
|
||||
@@ -92,14 +92,14 @@ vi.mock("next/head", () => ({ default: ({ children }) => children }));
|
||||
vi.mock("next/script", () => ({ default: () => null }));
|
||||
vi.mock("next/router", () => ({ useRouter: () => router }));
|
||||
|
||||
vi.mock("next-i18next", () => ({
|
||||
vi.mock("next-i18next/pages", () => ({
|
||||
useTranslation: () => ({
|
||||
i18n,
|
||||
t: (k) => k,
|
||||
}),
|
||||
}));
|
||||
|
||||
vi.mock("next-i18next/serverSideTranslations", () => ({
|
||||
vi.mock("next-i18next/pages/serverSideTranslations", () => ({
|
||||
serverSideTranslations,
|
||||
}));
|
||||
|
||||
@@ -324,13 +324,12 @@ describe("pages/index Index routing + SWR branches", () => {
|
||||
});
|
||||
|
||||
it("renders config errors when /api/validate returns a list of errors", async () => {
|
||||
state.validateData = [{ config: "services.yaml", reason: "broken", mark: { snippet: "x: y" } }];
|
||||
state.validateData = [{ config: "services.yaml", name: "Service 1", reason: "broken", mark: { line: 4 } }];
|
||||
|
||||
await renderIndex({ initialSettings: { title: "Homepage", layout: {} }, settings: { layout: {} } });
|
||||
|
||||
expect(screen.getByText("services.yaml")).toBeInTheDocument();
|
||||
expect(screen.getByText("broken")).toBeInTheDocument();
|
||||
expect(screen.getByText("x: y")).toBeInTheDocument();
|
||||
expect(screen.getByText(/services.yaml/)).toBeInTheDocument();
|
||||
expect(screen.getByText(/line 4/)).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it("marks the UI stale when the hash changes and triggers a revalidate reload", async () => {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import classNames from "classnames";
|
||||
import { useTranslation } from "next-i18next";
|
||||
import { useTranslation } from "next-i18next/pages";
|
||||
import { useCallback, useContext, useEffect, useRef, useState } from "react";
|
||||
import { FiSearch } from "react-icons/fi";
|
||||
import useSWR from "swr";
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { useTranslation } from "next-i18next";
|
||||
import { useTranslation } from "next-i18next/pages";
|
||||
import useSWR from "swr";
|
||||
|
||||
export default function Ping({ groupName, serviceName, style }) {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { useTranslation } from "next-i18next";
|
||||
import { useTranslation } from "next-i18next/pages";
|
||||
import useSWR from "swr";
|
||||
|
||||
export default function ProxmoxStatus({ service, style }) {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { useTranslation } from "next-i18next";
|
||||
import { useTranslation } from "next-i18next/pages";
|
||||
import useSWR from "swr";
|
||||
|
||||
export default function SiteMonitor({ groupName, serviceName, style }) {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { useTranslation } from "next-i18next";
|
||||
import { useTranslation } from "next-i18next/pages";
|
||||
import useSWR from "swr";
|
||||
|
||||
export default function Status({ service, style }) {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import ErrorBoundary from "components/errorboundry";
|
||||
import { useTranslation } from "next-i18next";
|
||||
import { useTranslation } from "next-i18next/pages";
|
||||
|
||||
import components from "widgets/components";
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import classNames from "classnames";
|
||||
import { useTranslation } from "next-i18next";
|
||||
import { useTranslation } from "next-i18next/pages";
|
||||
import { useContext, useMemo } from "react";
|
||||
|
||||
import { BlockHighlightContext } from "./highlight-context";
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { useTranslation } from "next-i18next";
|
||||
import { useTranslation } from "next-i18next/pages";
|
||||
import { IoAlertCircle } from "react-icons/io5";
|
||||
|
||||
function displayError(error) {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { compareVersions, validate } from "compare-versions";
|
||||
import cache from "memory-cache";
|
||||
import { useTranslation } from "next-i18next";
|
||||
import { useTranslation } from "next-i18next/pages";
|
||||
import { MdNewReleases } from "react-icons/md";
|
||||
import useSWR from "swr";
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { useTranslation } from "next-i18next";
|
||||
import { useTranslation } from "next-i18next/pages";
|
||||
import { useEffect, useState } from "react";
|
||||
|
||||
import Container from "../widget/container";
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import classNames from "classnames";
|
||||
import { useTranslation } from "next-i18next";
|
||||
import { useTranslation } from "next-i18next/pages";
|
||||
import { useContext } from "react";
|
||||
import { FaMemory, FaRegClock, FaThermometerHalf } from "react-icons/fa";
|
||||
import { FiCpu, FiHardDrive } from "react-icons/fi";
|
||||
@@ -11,12 +11,16 @@ import Resource from "../widget/resource";
|
||||
import Resources from "../widget/resources";
|
||||
import WidgetLabel from "../widget/widget_label";
|
||||
|
||||
const cpuSensorLabels = ["cpu_thermal", "Core", "Tctl", "Temperature"];
|
||||
const defaultCpuSensorLabels = ["cpu_thermal", "Core", "Tctl", "Temperature"];
|
||||
|
||||
function convertToFahrenheit(t) {
|
||||
return (t * 9) / 5 + 32;
|
||||
}
|
||||
|
||||
function getCpuSensorLabels(options) {
|
||||
return [...defaultCpuSensorLabels, options.cpuSensorLabel].filter(Boolean);
|
||||
}
|
||||
|
||||
export default function Widget({ options }) {
|
||||
const { t, i18n } = useTranslation();
|
||||
const { settings } = useContext(SettingsContext);
|
||||
@@ -38,7 +42,6 @@ export default function Widget({ options }) {
|
||||
<Resources options={options} additionalClassNames="information-widget-glances">
|
||||
{options.cpu !== false && <Resource icon={FiCpu} label={t("glances.wait")} percentage="0" />}
|
||||
{options.mem !== false && <Resource icon={FaMemory} label={t("glances.wait")} percentage="0" />}
|
||||
{options.cputemp && <Resource icon={FaThermometerHalf} label={t("glances.wait")} percentage="0" />}
|
||||
{options.disk && !Array.isArray(options.disk) && (
|
||||
<Resource key={options.disk} icon={FiHardDrive} label={t("glances.wait")} percentage="0" />
|
||||
)}
|
||||
@@ -47,6 +50,7 @@ export default function Widget({ options }) {
|
||||
options.disk.map((disk) => (
|
||||
<Resource key={`disk_${disk}`} icon={FiHardDrive} label={t("glances.wait")} percentage="0" />
|
||||
))}
|
||||
{options.cputemp && <Resource icon={FaThermometerHalf} label={t("glances.wait")} percentage="0" />}
|
||||
{options.uptime && <Resource icon={FaRegClock} label={t("glances.wait")} percentage="0" />}
|
||||
{options.label && <WidgetLabel label={options.label} />}
|
||||
</Resources>
|
||||
@@ -56,6 +60,7 @@ export default function Widget({ options }) {
|
||||
const unit = options.units === "imperial" ? "fahrenheit" : "celsius";
|
||||
let mainTemp = 0;
|
||||
let maxTemp = 80;
|
||||
const cpuSensorLabels = getCpuSensorLabels(options);
|
||||
const cpuSensors = data.sensors?.filter(
|
||||
(s) => cpuSensorLabels.some((label) => s.label.startsWith(label)) && s.type === "temperature_core",
|
||||
);
|
||||
|
||||
@@ -120,6 +120,26 @@ describe("components/widgets/glances", () => {
|
||||
expect(screen.getByRole("link")).toHaveClass("expanded");
|
||||
});
|
||||
|
||||
it("renders temperature for custom cpu sensor labels", () => {
|
||||
useSWR.mockReturnValue({
|
||||
data: {
|
||||
cpu: { total: 1 },
|
||||
load: { min15: 1 },
|
||||
mem: { available: 1, total: 1, percent: 1 },
|
||||
fs: [],
|
||||
sensors: [{ label: "Package id 0", type: "temperature_core", value: 42, warning: 90 }],
|
||||
},
|
||||
error: undefined,
|
||||
});
|
||||
|
||||
renderWithProviders(<Glances options={{ cputemp: true, cpuSensorLabel: "Package id", url: "http://glances" }} />, {
|
||||
settings: { target: "_self" },
|
||||
});
|
||||
|
||||
expect(screen.getByText("42")).toBeInTheDocument();
|
||||
expect(screen.getByText("glances.temp")).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it("renders disk resources for an array of mount points and filters missing mounts", () => {
|
||||
useSWR.mockReturnValue({
|
||||
data: {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { useTranslation } from "next-i18next";
|
||||
import { useTranslation } from "next-i18next/pages";
|
||||
import useSWR from "swr";
|
||||
|
||||
import Container from "../widget/container";
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { useTranslation } from "next-i18next";
|
||||
import { useTranslation } from "next-i18next/pages";
|
||||
import { FaMemory } from "react-icons/fa";
|
||||
import { FiAlertTriangle, FiCpu, FiServer } from "react-icons/fi";
|
||||
import { SiKubernetes } from "react-icons/si";
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { useTranslation } from "next-i18next";
|
||||
import { useTranslation } from "next-i18next/pages";
|
||||
import { FiHardDrive } from "react-icons/fi";
|
||||
|
||||
import Resource from "../widget/resource";
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { useTranslation } from "next-i18next";
|
||||
import { useTranslation } from "next-i18next/pages";
|
||||
import { useCallback, useEffect, useState } from "react";
|
||||
import { MdLocationDisabled, MdLocationSearching } from "react-icons/md";
|
||||
import { WiCloudDown } from "react-icons/wi";
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { useTranslation } from "next-i18next";
|
||||
import { useTranslation } from "next-i18next/pages";
|
||||
import { useCallback, useEffect, useState } from "react";
|
||||
import { MdLocationDisabled, MdLocationSearching } from "react-icons/md";
|
||||
import { WiCloudDown } from "react-icons/wi";
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { useTranslation } from "next-i18next";
|
||||
import { useTranslation } from "next-i18next/pages";
|
||||
import { FiCpu } from "react-icons/fi";
|
||||
import useSWR from "swr";
|
||||
|
||||
|
||||
@@ -3,15 +3,15 @@
|
||||
import { render } from "@testing-library/react";
|
||||
import { beforeEach, describe, expect, it, vi } from "vitest";
|
||||
|
||||
const { useSWR, Resource, Error } = vi.hoisted(() => ({
|
||||
const { useSWR, Resource, ErrorComponent } = vi.hoisted(() => ({
|
||||
useSWR: vi.fn(),
|
||||
Resource: vi.fn(() => <div data-testid="resource" />),
|
||||
Error: vi.fn(() => <div data-testid="error" />),
|
||||
ErrorComponent: vi.fn(() => <div data-testid="error" />),
|
||||
}));
|
||||
|
||||
vi.mock("swr", () => ({ default: useSWR }));
|
||||
vi.mock("../widget/resource", () => ({ default: Resource }));
|
||||
vi.mock("../widget/error", () => ({ default: Error }));
|
||||
vi.mock("../widget/error", () => ({ default: ErrorComponent }));
|
||||
|
||||
import Cpu from "./cpu";
|
||||
|
||||
@@ -50,6 +50,6 @@ describe("components/widgets/resources/cpu", () => {
|
||||
|
||||
render(<Cpu expanded />);
|
||||
|
||||
expect(Error).toHaveBeenCalled();
|
||||
expect(ErrorComponent).toHaveBeenCalled();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { useTranslation } from "next-i18next";
|
||||
import { useTranslation } from "next-i18next/pages";
|
||||
import { FaThermometerHalf } from "react-icons/fa";
|
||||
import useSWR from "swr";
|
||||
|
||||
|
||||
@@ -3,15 +3,15 @@
|
||||
import { render } from "@testing-library/react";
|
||||
import { beforeEach, describe, expect, it, vi } from "vitest";
|
||||
|
||||
const { useSWR, Resource, Error } = vi.hoisted(() => ({
|
||||
const { useSWR, Resource, ErrorComponent } = vi.hoisted(() => ({
|
||||
useSWR: vi.fn(),
|
||||
Resource: vi.fn(() => <div data-testid="resource" />),
|
||||
Error: vi.fn(() => <div data-testid="error" />),
|
||||
ErrorComponent: vi.fn(() => <div data-testid="error" />),
|
||||
}));
|
||||
|
||||
vi.mock("swr", () => ({ default: useSWR }));
|
||||
vi.mock("../widget/resource", () => ({ default: Resource }));
|
||||
vi.mock("../widget/error", () => ({ default: Error }));
|
||||
vi.mock("../widget/error", () => ({ default: ErrorComponent }));
|
||||
|
||||
import CpuTemp from "./cputemp";
|
||||
|
||||
@@ -48,6 +48,6 @@ describe("components/widgets/resources/cputemp", () => {
|
||||
|
||||
render(<CpuTemp expanded units="metric" />);
|
||||
|
||||
expect(Error).toHaveBeenCalled();
|
||||
expect(ErrorComponent).toHaveBeenCalled();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { useTranslation } from "next-i18next";
|
||||
import { useTranslation } from "next-i18next/pages";
|
||||
import { FiHardDrive } from "react-icons/fi";
|
||||
import useSWR from "swr";
|
||||
|
||||
|
||||
@@ -3,15 +3,15 @@
|
||||
import { render } from "@testing-library/react";
|
||||
import { beforeEach, describe, expect, it, vi } from "vitest";
|
||||
|
||||
const { useSWR, Resource, Error } = vi.hoisted(() => ({
|
||||
const { useSWR, Resource, ErrorComponent } = vi.hoisted(() => ({
|
||||
useSWR: vi.fn(),
|
||||
Resource: vi.fn(() => <div data-testid="resource" />),
|
||||
Error: vi.fn(() => <div data-testid="error" />),
|
||||
ErrorComponent: vi.fn(() => <div data-testid="error" />),
|
||||
}));
|
||||
|
||||
vi.mock("swr", () => ({ default: useSWR }));
|
||||
vi.mock("../widget/resource", () => ({ default: Resource }));
|
||||
vi.mock("../widget/error", () => ({ default: Error }));
|
||||
vi.mock("../widget/error", () => ({ default: ErrorComponent }));
|
||||
|
||||
import Disk from "./disk";
|
||||
|
||||
@@ -48,6 +48,6 @@ describe("components/widgets/resources/disk", () => {
|
||||
|
||||
render(<Disk options={{ disk: "/" }} expanded />);
|
||||
|
||||
expect(Error).toHaveBeenCalled();
|
||||
expect(ErrorComponent).toHaveBeenCalled();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { useTranslation } from "next-i18next";
|
||||
import { useTranslation } from "next-i18next/pages";
|
||||
import { FaMemory } from "react-icons/fa";
|
||||
import useSWR from "swr";
|
||||
|
||||
|
||||
@@ -3,15 +3,15 @@
|
||||
import { render } from "@testing-library/react";
|
||||
import { beforeEach, describe, expect, it, vi } from "vitest";
|
||||
|
||||
const { useSWR, Resource, Error } = vi.hoisted(() => ({
|
||||
const { useSWR, Resource, ErrorComponent } = vi.hoisted(() => ({
|
||||
useSWR: vi.fn(),
|
||||
Resource: vi.fn(() => <div data-testid="resource" />),
|
||||
Error: vi.fn(() => <div data-testid="error" />),
|
||||
ErrorComponent: vi.fn(() => <div data-testid="error" />),
|
||||
}));
|
||||
|
||||
vi.mock("swr", () => ({ default: useSWR }));
|
||||
vi.mock("../widget/resource", () => ({ default: Resource }));
|
||||
vi.mock("../widget/error", () => ({ default: Error }));
|
||||
vi.mock("../widget/error", () => ({ default: ErrorComponent }));
|
||||
|
||||
import Memory from "./memory";
|
||||
|
||||
@@ -48,6 +48,6 @@ describe("components/widgets/resources/memory", () => {
|
||||
|
||||
render(<Memory expanded />);
|
||||
|
||||
expect(Error).toHaveBeenCalled();
|
||||
expect(ErrorComponent).toHaveBeenCalled();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { useTranslation } from "next-i18next";
|
||||
import { useTranslation } from "next-i18next/pages";
|
||||
import { FaNetworkWired } from "react-icons/fa";
|
||||
import useSWR from "swr";
|
||||
|
||||
|
||||
@@ -3,15 +3,15 @@
|
||||
import { render } from "@testing-library/react";
|
||||
import { beforeEach, describe, expect, it, vi } from "vitest";
|
||||
|
||||
const { useSWR, Resource, Error } = vi.hoisted(() => ({
|
||||
const { useSWR, Resource, ErrorComponent } = vi.hoisted(() => ({
|
||||
useSWR: vi.fn(),
|
||||
Resource: vi.fn(() => <div data-testid="resource" />),
|
||||
Error: vi.fn(() => <div data-testid="error" />),
|
||||
ErrorComponent: vi.fn(() => <div data-testid="error" />),
|
||||
}));
|
||||
|
||||
vi.mock("swr", () => ({ default: useSWR }));
|
||||
vi.mock("../widget/resource", () => ({ default: Resource }));
|
||||
vi.mock("../widget/error", () => ({ default: Error }));
|
||||
vi.mock("../widget/error", () => ({ default: ErrorComponent }));
|
||||
|
||||
import Network from "./network";
|
||||
|
||||
@@ -52,6 +52,6 @@ describe("components/widgets/resources/network", () => {
|
||||
|
||||
render(<Network options={{ network: "en0" }} />);
|
||||
|
||||
expect(Error).toHaveBeenCalled();
|
||||
expect(ErrorComponent).toHaveBeenCalled();
|
||||
});
|
||||
});
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user