mirror of
https://github.com/gethomepage/homepage.git
synced 2026-03-31 07:12:17 -07:00
Compare commits
84 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a7fe80a399 | ||
|
|
0b61b6c1b8 | ||
|
|
02989a4366 | ||
|
|
bc6acf7fd1 | ||
|
|
7b552f5080 | ||
|
|
0f767d14bb | ||
|
|
ff4eaa2cd9 | ||
|
|
b37645b8d0 | ||
|
|
45af25d6ce | ||
|
|
ea9fca02d3 | ||
|
|
3fb2dcbc47 | ||
|
|
96e3c7ac45 | ||
|
|
f261879fcb | ||
|
|
495065a6fa | ||
|
|
d18bdb011a | ||
|
|
2b65a0df04 | ||
|
|
311f232686 | ||
|
|
9893c5e846 | ||
|
|
f70dcd6a03 | ||
|
|
657dc917b4 | ||
|
|
de0c8558fb | ||
|
|
daa1c27d9b | ||
|
|
6e850bfed8 | ||
|
|
02309211ac | ||
|
|
3d1be51ed4 | ||
|
|
75b01bec9a | ||
|
|
fadb03ad27 | ||
|
|
6bdea294c1 | ||
|
|
11de525fc0 | ||
|
|
ca67ba2e49 | ||
|
|
c069cb3333 | ||
|
|
34be817eb2 | ||
|
|
0598a27d60 | ||
|
|
be5ef3448e | ||
|
|
a4e29bc7a7 | ||
|
|
a7982bda06 | ||
|
|
f7c12ad642 | ||
|
|
a6639b04b9 | ||
|
|
6b3bff1f1d | ||
|
|
597059045f | ||
|
|
b676424d98 | ||
|
|
e87b62f3ac | ||
|
|
776f190aed | ||
|
|
71a524da89 | ||
|
|
9dea3a4d4f | ||
|
|
adc042fa8a | ||
|
|
f16878bca9 | ||
|
|
01b951f3ba | ||
|
|
94122ba078 | ||
|
|
fb88da5a5a | ||
|
|
de7e730283 | ||
|
|
b5b502b433 | ||
|
|
db9b2d0245 | ||
|
|
51d718a21a | ||
|
|
29e2502d74 | ||
|
|
d529f81cb4 | ||
|
|
1645c1b8a1 | ||
|
|
e3ca0adf11 | ||
|
|
614a87d768 | ||
|
|
862c5d9f38 | ||
|
|
d3374dc461 | ||
|
|
795e2505ca | ||
|
|
cb8421df0b | ||
|
|
152888d611 | ||
|
|
ea527e4fb1 | ||
|
|
09bab7637e | ||
|
|
597f6ecf16 | ||
|
|
fe0b214334 | ||
|
|
cdc96438cd | ||
|
|
ca7dfb56c8 | ||
|
|
95852d23c2 | ||
|
|
84231a1754 | ||
|
|
f4f54cea60 | ||
|
|
06595ef107 | ||
|
|
91b9aa479a | ||
|
|
08cde2f597 | ||
|
|
d62404f164 | ||
|
|
0ce175cda5 | ||
|
|
7f1de58e71 | ||
|
|
f729290e96 | ||
|
|
4974cd96b6 | ||
|
|
4450a6e1d0 | ||
|
|
ac11efc5c7 | ||
|
|
3c005d239e |
@@ -9,11 +9,11 @@ coverage:
|
||||
project:
|
||||
default:
|
||||
target: 100%
|
||||
threshold: 25%
|
||||
threshold: 15%
|
||||
patch:
|
||||
default:
|
||||
target: 100%
|
||||
threshold: 25%
|
||||
threshold: 10%
|
||||
|
||||
comment:
|
||||
layout: "reach,diff,flags,files"
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
title: "[Feature Request] "
|
||||
labels: ["enhancement"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
#### ⚠️ Don't forget to search [existing issues](https://github.com/gethomepage/homepage/search?q=&type=issues) and [discussions](https://github.com/gethomepage/homepage/search?q=&type=discussions) (including closed ones!).
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
|
||||
2
.github/DISCUSSION_TEMPLATE/support.yml
vendored
2
.github/DISCUSSION_TEMPLATE/support.yml
vendored
@@ -51,7 +51,7 @@ body:
|
||||
id: troubleshooting
|
||||
attributes:
|
||||
label: Troubleshooting
|
||||
description: Please include output from your [troubleshooting steps](https://gethomepage.dev/more/troubleshooting/#service-widget-errors), if relevant.
|
||||
description: Please include output from your [troubleshooting steps](https://gethomepage.dev/troubleshooting/#service-widget-errors), if relevant.
|
||||
validations:
|
||||
required: true
|
||||
- type: markdown
|
||||
|
||||
6
.github/PULL_REQUEST_TEMPLATE.md
vendored
6
.github/PULL_REQUEST_TEMPLATE.md
vendored
@@ -35,8 +35,8 @@ What type of change does your PR introduce to Homepage?
|
||||
## Checklist:
|
||||
|
||||
- [ ] If applicable, I have added corresponding documentation changes.
|
||||
- [ ] If applicable, I have added or updated tests for new features and bug fixes.
|
||||
- [ ] If applicable, I have reviewed the [feature / enhancement](https://gethomepage.dev/more/development/#new-feature-guidelines) and / or [service widget guidelines](https://gethomepage.dev/more/development/#service-widget-guidelines).
|
||||
- [ ] I have checked that all code style checks pass using [pre-commit hooks](https://gethomepage.dev/more/development/#code-formatting-with-pre-commit-hooks) and [linting checks](https://gethomepage.dev/more/development/#code-linting).
|
||||
- [ ] If applicable, I have added or updated tests for new features and bug fixes (see [testing](https://gethomepage.dev/widgets/authoring/getting-started/#testing)).
|
||||
- [ ] If applicable, I have reviewed the [feature / enhancement](https://gethomepage.dev/widgets/authoring/getting-started/#new-feature-guidelines) and / or [service widget guidelines](https://gethomepage.dev/widgets/authoring/getting-started/#service-widget-guidelines).
|
||||
- [ ] I have checked that all code style checks pass using [pre-commit hooks](https://gethomepage.dev/widgets/authoring/getting-started/#code-formatting-with-pre-commit-hooks) and [linting checks](https://gethomepage.dev/widgets/authoring/getting-started/#code-linting).
|
||||
- [ ] If applicable, I have tested my code for new features & regressions on both mobile & desktop devices, using the latest version of major browsers.
|
||||
- [ ] In the description above I have disclosed the use of AI tools in the coding of this PR.
|
||||
|
||||
6
.github/dependabot.yml
vendored
6
.github/dependabot.yml
vendored
@@ -8,8 +8,12 @@ updates:
|
||||
- package-ecosystem: "github-actions"
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "daily"
|
||||
interval: "weekly"
|
||||
cooldown:
|
||||
default-days: 7
|
||||
- package-ecosystem: "npm"
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "monthly"
|
||||
cooldown:
|
||||
default-days: 7
|
||||
|
||||
87
.github/release-drafter.yml
vendored
Normal file
87
.github/release-drafter.yml
vendored
Normal file
@@ -0,0 +1,87 @@
|
||||
name-template: 'v$RESOLVED_VERSION'
|
||||
tag-template: 'v$RESOLVED_VERSION'
|
||||
change-template: '- $TITLE (#$NUMBER) @$AUTHOR'
|
||||
change-title-escapes: '\\<*_&'
|
||||
|
||||
version-resolver:
|
||||
major:
|
||||
labels:
|
||||
- 'major'
|
||||
- 'breaking-change'
|
||||
minor:
|
||||
labels:
|
||||
- 'enhancement'
|
||||
- 'feature'
|
||||
patch:
|
||||
labels:
|
||||
- 'bug'
|
||||
- 'fix'
|
||||
- 'dependencies'
|
||||
- 'translation'
|
||||
- 'documentation'
|
||||
default: patch
|
||||
|
||||
categories:
|
||||
- title: '⚠️ Breaking Changes'
|
||||
labels:
|
||||
- 'major'
|
||||
- 'breaking-change'
|
||||
- title: '🚀 Features'
|
||||
labels:
|
||||
- 'enhancement'
|
||||
- 'feature'
|
||||
- title: '🐛 Fixes'
|
||||
labels:
|
||||
- 'bug'
|
||||
- 'fix'
|
||||
- title: '🧰 Maintenance'
|
||||
labels:
|
||||
- 'dependencies'
|
||||
- 'ci'
|
||||
- 'chore'
|
||||
- title: '🌐 Translations'
|
||||
labels:
|
||||
- 'translation'
|
||||
- title: '📚 Documentation'
|
||||
labels:
|
||||
- 'documentation'
|
||||
|
||||
autolabeler:
|
||||
- label: 'documentation'
|
||||
files:
|
||||
- 'docs/**'
|
||||
- '*.md'
|
||||
- '.github/**/*.md'
|
||||
|
||||
- label: 'ci'
|
||||
files:
|
||||
- '.github/workflows/**'
|
||||
|
||||
- label: 'dependencies'
|
||||
files:
|
||||
- 'package.json'
|
||||
- 'pnpm-lock.yaml'
|
||||
- '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/**'
|
||||
|
||||
template: |
|
||||
## What's Changed
|
||||
|
||||
$CHANGES
|
||||
1
.github/workflows/crowdin.yml
vendored
1
.github/workflows/crowdin.yml
vendored
@@ -25,6 +25,7 @@ jobs:
|
||||
download_translations: true
|
||||
crowdin_branch_name: dev
|
||||
localization_branch_name: l10n_dev
|
||||
pull_request_labels: translation
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }}
|
||||
|
||||
22
.github/workflows/docker-publish.yml
vendored
22
.github/workflows/docker-publish.yml
vendored
@@ -33,7 +33,7 @@ jobs:
|
||||
uses: pre-commit/action@v3.0.1
|
||||
|
||||
- name: Install pnpm
|
||||
uses: pnpm/action-setup@v4
|
||||
uses: pnpm/action-setup@v5
|
||||
with:
|
||||
version: 10
|
||||
run_install: false
|
||||
@@ -41,7 +41,7 @@ jobs:
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: 20
|
||||
node-version: 24
|
||||
cache: 'pnpm'
|
||||
|
||||
- name: Install dependencies
|
||||
@@ -53,7 +53,7 @@ jobs:
|
||||
build:
|
||||
name: Docker Build & Push
|
||||
if: github.repository == 'gethomepage/homepage'
|
||||
runs-on: self-hosted
|
||||
runs-on: ubuntu-22.04
|
||||
needs: [ pre-commit ]
|
||||
permissions:
|
||||
contents: read
|
||||
@@ -66,7 +66,7 @@ jobs:
|
||||
|
||||
- name: Extract Docker metadata
|
||||
id: meta
|
||||
uses: docker/metadata-action@v5
|
||||
uses: docker/metadata-action@v6
|
||||
with:
|
||||
images: |
|
||||
${{ env.IMAGE_NAME }}
|
||||
@@ -92,7 +92,7 @@ jobs:
|
||||
nextjs-${{ runner.os }}-${{ hashFiles('pnpm-lock.yaml') }}
|
||||
|
||||
- name: Install pnpm
|
||||
uses: pnpm/action-setup@v4
|
||||
uses: pnpm/action-setup@v5
|
||||
with:
|
||||
version: 10
|
||||
run_install: false
|
||||
@@ -100,7 +100,7 @@ jobs:
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: 20
|
||||
node-version: 24
|
||||
cache: 'pnpm'
|
||||
|
||||
- name: Install dependencies
|
||||
@@ -115,7 +115,7 @@ jobs:
|
||||
|
||||
- name: Log into registry ${{ env.REGISTRY }}
|
||||
if: github.event_name != 'pull_request'
|
||||
uses: docker/login-action@v3
|
||||
uses: docker/login-action@v4
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.actor }}
|
||||
@@ -123,20 +123,20 @@ jobs:
|
||||
|
||||
- name: Login to Docker Hub
|
||||
if: github.event_name != 'pull_request'
|
||||
uses: docker/login-action@v3
|
||||
uses: docker/login-action@v4
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
|
||||
- name: Setup QEMU
|
||||
uses: docker/setup-qemu-action@v3.7.0
|
||||
uses: docker/setup-qemu-action@v4.0.0
|
||||
|
||||
- name: Setup Docker buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
uses: docker/setup-buildx-action@v4
|
||||
|
||||
- name: Build and push Docker image
|
||||
id: build-and-push
|
||||
uses: docker/build-push-action@v6
|
||||
uses: docker/build-push-action@v7
|
||||
with:
|
||||
context: .
|
||||
push: ${{ github.event_name != 'pull_request' }}
|
||||
|
||||
50
.github/workflows/docs-publish.yml
vendored
50
.github/workflows/docs-publish.yml
vendored
@@ -9,7 +9,9 @@ on:
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
contents: read
|
||||
pages: write
|
||||
id-token: write
|
||||
|
||||
jobs:
|
||||
pre-commit:
|
||||
@@ -35,44 +37,34 @@ jobs:
|
||||
- uses: actions/checkout@v6
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
python-version: 3.x
|
||||
- run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV
|
||||
- uses: actions/cache@v5
|
||||
with:
|
||||
key: mkdocs-material-${{ env.cache_id }}
|
||||
path: .cache
|
||||
restore-keys: |
|
||||
mkdocs-material-
|
||||
python-version-file: ".python-version"
|
||||
- name: Install uv
|
||||
uses: astral-sh/setup-uv@v7
|
||||
- run: sudo apt-get install pngquant
|
||||
- run: pip install mkdocs-material mkdocs-redirects "mkdocs-material[imaging]"
|
||||
- name: Test Docs Build
|
||||
run: MKINSIDERS=false mkdocs build
|
||||
run: uv run --frozen zensical build --clean
|
||||
deploy:
|
||||
name: Build & Deploy Docs
|
||||
if: github.repository == 'gethomepage/homepage' && github.event_name != 'pull_request' && github.ref == 'refs/heads/main'
|
||||
runs-on: ubuntu-latest
|
||||
environment:
|
||||
name: github-pages
|
||||
url: ${{ steps.deployment.outputs.page_url }}
|
||||
needs:
|
||||
- pre-commit
|
||||
steps:
|
||||
- uses: actions/configure-pages@v5
|
||||
- uses: actions/checkout@v6
|
||||
- name: Configure Git Credentials
|
||||
run: |
|
||||
git config user.name github-actions[bot]
|
||||
git config user.email 41898282+github-actions[bot]@users.noreply.github.com
|
||||
- uses: actions/setup-python@v6
|
||||
with:
|
||||
python-version: 3.x
|
||||
- run: echo "cache_id=${{github.sha}}" >> $GITHUB_ENV
|
||||
- uses: actions/cache@v5
|
||||
with:
|
||||
key: mkdocs-material-${{ env.cache_id }}
|
||||
path: .cache
|
||||
restore-keys: |
|
||||
mkdocs-material-
|
||||
python-version-file: ".python-version"
|
||||
- name: Install uv
|
||||
uses: astral-sh/setup-uv@v7
|
||||
- run: sudo apt-get install pngquant
|
||||
- run: pip install git+https://${GH_TOKEN}@github.com/benphelps/mkdocs-material-insiders.git
|
||||
- run: pip install mkdocs-redirects "mkdocs-material[imaging]"
|
||||
- name: Docs Deploy
|
||||
run: MKINSIDERS=true mkdocs gh-deploy --force
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GH_TOKEN }}
|
||||
- name: Build Docs
|
||||
run: uv run --frozen zensical build --clean
|
||||
- uses: actions/upload-pages-artifact@v4
|
||||
with:
|
||||
path: site
|
||||
- uses: actions/deploy-pages@v4
|
||||
id: deployment
|
||||
|
||||
18
.github/workflows/pr-quality.yml
vendored
Normal file
18
.github/workflows/pr-quality.yml
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
name: PR Quality
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
issues: read
|
||||
pull-requests: write
|
||||
|
||||
on:
|
||||
pull_request_target:
|
||||
types: [opened, reopened]
|
||||
|
||||
jobs:
|
||||
anti-slop:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: peakoss/anti-slop@v0
|
||||
with:
|
||||
max-failures: 4
|
||||
54
.github/workflows/release-drafter.yml
vendored
Normal file
54
.github/workflows/release-drafter.yml
vendored
Normal file
@@ -0,0 +1,54 @@
|
||||
name: Release Drafter
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- dev
|
||||
pull_request_target:
|
||||
types: [opened, reopened, synchronize]
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
version:
|
||||
description: "Optional explicit version override (for example: 2.0.0)"
|
||||
required: false
|
||||
type: string
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
update_release_draft:
|
||||
name: Update Release Draft
|
||||
if: github.event_name == 'push' || github.event_name == 'workflow_dispatch'
|
||||
permissions:
|
||||
contents: write
|
||||
pull-requests: read
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- if: github.event_name == 'workflow_dispatch' && github.event.inputs.version != ''
|
||||
uses: release-drafter/release-drafter@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@v7
|
||||
with:
|
||||
config-name: release-drafter.yml
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
auto_label:
|
||||
name: Auto Label PR
|
||||
if: github.event_name == 'pull_request_target'
|
||||
permissions:
|
||||
contents: read
|
||||
pull-requests: write
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: release-drafter/release-drafter/autolabeler@ebb69bb56f1b0ebd19897745035726b19bef973e
|
||||
with:
|
||||
config-name: release-drafter.yml
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
6
.github/workflows/test.yml
vendored
6
.github/workflows/test.yml
vendored
@@ -13,13 +13,13 @@ jobs:
|
||||
matrix:
|
||||
shard: [1, 2, 3, 4]
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v6
|
||||
|
||||
- uses: pnpm/action-setup@v4
|
||||
- uses: pnpm/action-setup@v5
|
||||
with:
|
||||
version: 9
|
||||
|
||||
- uses: actions/setup-node@v4
|
||||
- uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: 20
|
||||
cache: pnpm
|
||||
|
||||
2
.gitignore
vendored
2
.gitignore
vendored
@@ -46,7 +46,7 @@ next-env.d.ts
|
||||
# IDEs
|
||||
/.idea/
|
||||
|
||||
# MkDocs documentation
|
||||
# Zensical documentation
|
||||
site*/
|
||||
.cache/
|
||||
|
||||
|
||||
1
.python-version
Normal file
1
.python-version
Normal file
@@ -0,0 +1 @@
|
||||
3.13
|
||||
1
.vscode/launch.json
vendored
1
.vscode/launch.json
vendored
@@ -3,6 +3,7 @@
|
||||
{
|
||||
"name": "Debug homepage",
|
||||
"type": "node",
|
||||
"preLaunchTask": "pnpm install",
|
||||
"request": "launch",
|
||||
"runtimeExecutable": "pnpm",
|
||||
"runtimeArgs": ["run", "dev"],
|
||||
|
||||
21
.vscode/tasks.json
vendored
Normal file
21
.vscode/tasks.json
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"version": "2.0.0",
|
||||
"tasks": [
|
||||
{
|
||||
"type": "shell",
|
||||
"label": "pnpm install",
|
||||
"command": "pnpm install",
|
||||
"group": {
|
||||
"kind": "build",
|
||||
"isDefault": true
|
||||
},
|
||||
"presentation": {
|
||||
"clear": true,
|
||||
"panel": "shared",
|
||||
"showReuseMessage": false
|
||||
},
|
||||
"problemMatcher": []
|
||||
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -38,11 +38,11 @@ People _love_ thorough bug reports. I'm not even kidding.
|
||||
|
||||
## Development Guidelines
|
||||
|
||||
Please see the [documentation regarding development](https://gethomepage.dev/more/development/) and specifically the [guidelines for new service widgets](https://gethomepage.dev/more/development/#service-widget-guidelines) if you are considering making one.
|
||||
Please see the [documentation regarding development](https://gethomepage.dev/widgets/authoring/getting-started/#development) and specifically the [guidelines for new service widgets](https://gethomepage.dev/widgets/authoring/getting-started/#service-widget-guidelines) if you are considering making one.
|
||||
|
||||
## Use a Consistent Coding Style
|
||||
|
||||
Please see information in the docs regarding [code formatting with pre-commit hooks](https://gethomepage.dev/more/development/#code-formatting-with-pre-commit-hooks).
|
||||
Please see information in the docs regarding [code formatting with pre-commit hooks](https://gethomepage.dev/widgets/authoring/getting-started/#code-formatting-with-pre-commit-hooks).
|
||||
|
||||
## License
|
||||
|
||||
|
||||
15
README.md
15
README.md
@@ -16,6 +16,8 @@
|
||||
<p align="center">
|
||||
<a href="https://github.com/gethomepage/homepage/actions/workflows/docker-publish.yml"><img alt="GitHub Workflow Status (with event)" src="https://img.shields.io/github/actions/workflow/status/gethomepage/homepage/docker-publish.yml"></a>
|
||||
|
||||
<a href="https://codecov.io/gh/gethomepage/homepage"><img src="https://codecov.io/gh/gethomepage/homepage/graph/badge.svg?token=7SKFL4D9K7"/></a>
|
||||
|
||||
<a href="https://crowdin.com/project/gethomepage" target="_blank"><img src="https://badges.crowdin.net/gethomepage/localized.svg"></a>
|
||||
|
||||
<a href="https://discord.gg/k4ruYNrudu"><img alt="Discord" src="https://img.shields.io/discord/1019316731635834932"></a>
|
||||
@@ -25,13 +27,6 @@
|
||||
<a href="https://paypal.me/phelpsben" title="Donate"><img alt="GitHub Sponsors" src="https://img.shields.io/github/sponsors/benphelps"></a>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://www.digitalocean.com/?refcode=df14bcb7c016&utm_campaign=Referral_Invite&utm_medium=Referral_Program&utm_source=badge"><img src="https://web-platforms.sfo2.cdn.digitaloceanspaces.com/WWW/Badge%201.svg" alt="DigitalOcean Referral Badge" /></a>
|
||||
</p>
|
||||
<p align="center">
|
||||
<em>Homepage builds are kindly powered by DigitalOcean.</em>
|
||||
</p>
|
||||
|
||||
# Features
|
||||
|
||||
With features like quick search, bookmarks, weather support, a wide range of integrations and widgets, an elegant and modern design, and a focus on performance, Homepage is your ideal start to the day and a handy companion throughout it.
|
||||
@@ -154,16 +149,16 @@ This is a [Next.js](https://nextjs.org/) application, see their documentation fo
|
||||
|
||||
The homepage documentation is available at [https://gethomepage.dev/](https://gethomepage.dev/).
|
||||
|
||||
Homepage uses Material for MkDocs for documentation. To run the documentation locally, first install the dependencies:
|
||||
Homepage uses Zensical for documentation. To run the documentation locally, first install the dependencies:
|
||||
|
||||
```bash
|
||||
pip install -r requirements.txt
|
||||
uv sync
|
||||
```
|
||||
|
||||
Then run the development server:
|
||||
|
||||
```bash
|
||||
mkdocs serve # or build, to build the static site
|
||||
uv run zensical serve # or build, to build the static site
|
||||
```
|
||||
|
||||
# Support & Suggestions
|
||||
|
||||
@@ -177,6 +177,16 @@ labels:
|
||||
- homepage.widget.fields=["field1","field2"] # optional
|
||||
```
|
||||
|
||||
!!! note
|
||||
|
||||
If you use mapping syntax (`:`) for labels instead of list syntax (`-`), array values like `fields` must be wrapped in single quotes so they are passed as a string:
|
||||
|
||||
```yaml
|
||||
labels:
|
||||
...
|
||||
homepage.widget.fields: '["field1","field2"]'
|
||||
```
|
||||
|
||||
Multiple widgets can be specified by incrementing the index, e.g.
|
||||
|
||||
```yaml
|
||||
|
||||
@@ -129,7 +129,7 @@ A progressive web app is an app that can be installed on a device and provide us
|
||||
|
||||
More information on PWAs can be found in [MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps).
|
||||
|
||||
## App icons
|
||||
### App icons
|
||||
|
||||
You can set custom icons for installable apps. More information about how you can set them can be found in the [MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps/Manifest/Reference/icons).
|
||||
|
||||
@@ -150,7 +150,7 @@ For icon `src` you can pass either full URL or a local path relative to the `/ap
|
||||
|
||||
### Shortcuts
|
||||
|
||||
Shortcuts can e used to specify links to tabs, to be preselected when the homepage is opened as an app.
|
||||
Shortcuts can be used to specify links to tabs, to be preselected when the homepage is opened as an app.
|
||||
More information about how you can set them can be found in the [MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps/Manifest/Reference/shortcuts).
|
||||
|
||||
```yaml
|
||||
|
||||
@@ -223,13 +223,33 @@ spec:
|
||||
- name: homepage
|
||||
image: "ghcr.io/gethomepage/homepage:latest"
|
||||
imagePullPolicy: Always
|
||||
securityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
capabilities:
|
||||
drop:
|
||||
- ALL
|
||||
runAsNonRoot: true
|
||||
runAsUser: 1000
|
||||
runAsGroup: 1000
|
||||
seccompProfile:
|
||||
type: RuntimeDefault
|
||||
env:
|
||||
- name: MY_POD_IP
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: status.podIP
|
||||
- name: HOMEPAGE_ALLOWED_HOSTS
|
||||
value: gethomepage.dev # required, may need port. See gethomepage.dev/installation/#homepage_allowed_hosts
|
||||
value: "$(MY_POD_IP):3000,gethomepage.dev" # See gethomepage.dev/installation/#homepage_allowed_hosts . Value before the comma is required for the k8s probe
|
||||
ports:
|
||||
- name: http
|
||||
containerPort: 3000
|
||||
protocol: TCP
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /api/healthcheck
|
||||
port: http
|
||||
initialDelaySeconds: 5
|
||||
periodSeconds: 15
|
||||
volumeMounts:
|
||||
- mountPath: /app/config/custom.js
|
||||
name: homepage-config
|
||||
|
||||
@@ -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
|
||||
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)
|
||||
diskUnits: bytes # optional, bytes (default) or bbytes. Only applies to disk
|
||||
@@ -31,5 +32,3 @@ disk:
|
||||
- /boot
|
||||
...
|
||||
```
|
||||
|
||||
_Added in v0.4.18, updated in v0.6.11, v0.6.21_
|
||||
|
||||
@@ -7,13 +7,17 @@ You can include all or some of the available resources. If you do not want to se
|
||||
|
||||
The disk path is the path reported by `df` (Mounted On), or the mount point of the disk.
|
||||
|
||||
!!! note
|
||||
|
||||
Any disk you wish to access must be mounted to your container as a volume.
|
||||
|
||||
The cpu and memory resource information are the container's usage while [glances](glances.md) displays statistics for the host machine on which it is installed.
|
||||
|
||||
The resources widget primarily relies on a popular tool called [systeminformation](https://systeminformation.io). Thus, any limitiations of that software apply, for example, BRTFS RAID is not supported for the disk usage. In this case users may want to use the [glances widget](glances.md) instead.
|
||||
|
||||
_Note: unfortunately, the package used for getting CPU temp ([systeminformation](https://systeminformation.io)) is not compatible with some setups and will not report any value(s) for CPU temp._
|
||||
!!! warning
|
||||
|
||||
**Any disk you wish to access must be mounted to your container as a volume.**
|
||||
The package used for getting CPU temp ([systeminformation](https://systeminformation.io)) is not compatible with some setups and will not report any value(s) for CPU temp.
|
||||
|
||||
```yaml
|
||||
- resources:
|
||||
@@ -75,3 +79,10 @@ You can additionally supply an optional `expanded` property set to true in order
|
||||
```
|
||||
|
||||

|
||||
|
||||
To monitor a named host network interface in Docker (for example `network: eno1`), mount host `/sys` (read-only):
|
||||
|
||||
```yaml
|
||||
volumes:
|
||||
- /sys:/sys:ro
|
||||
```
|
||||
|
||||
@@ -13,7 +13,7 @@ You can display general connectivity status from your Unifi (Network) Controller
|
||||
|
||||
An optional 'site' parameter can be supplied, if it is not the widget will use the default site for the controller.
|
||||
|
||||
!!! hint
|
||||
!!! tip
|
||||
|
||||
If you enter e.g. incorrect credentials and receive an "API Error", you may need to recreate the container to clear the cache.
|
||||
|
||||
|
||||
@@ -67,7 +67,7 @@ You can also find a list of all available service widgets in the sidebar navigat
|
||||
- [Jackett](jackett.md)
|
||||
- [JDownloader](jdownloader.md)
|
||||
- [Jellyfin](jellyfin.md)
|
||||
- [Jellyseerr](jellyseerr.md)
|
||||
- [Seerr](seerr.md)
|
||||
- [Jellystat](jellystat.md)
|
||||
- [Kavita](kavita.md)
|
||||
- [Komga](komga.md)
|
||||
@@ -101,7 +101,6 @@ You can also find a list of all available service widgets in the sidebar navigat
|
||||
- [OpenMediaVault](openmediavault.md)
|
||||
- [OpenWRT](openwrt.md)
|
||||
- [OPNsense](opnsense.md)
|
||||
- [Overseerr](overseerr.md)
|
||||
- [PaperlessNGX](paperlessngx.md)
|
||||
- [Peanut](peanut.md)
|
||||
- [pfSense](pfsense.md)
|
||||
|
||||
@@ -5,7 +5,7 @@ description: Jellyfin Widget Configuration
|
||||
|
||||
Learn more about [Jellyfin](https://github.com/jellyfin/jellyfin).
|
||||
|
||||
You can create an API key from inside Jellyfin at `Settings > Advanced > Api Keys`.
|
||||
You can create an API key from inside the Jellyfin Administration Dashboard under `Advanced > API Keys`.
|
||||
|
||||
As of v0.6.11 the widget supports fields `["movies", "series", "episodes", "songs"]`. These blocks are disabled by default but can be enabled with the `enableBlocks` option, and the "Now Playing" feature (enabled by default) can be disabled with the `enableNowPlaying` option.
|
||||
|
||||
@@ -17,7 +17,7 @@ As of v0.6.11 the widget supports fields `["movies", "series", "episodes", "song
|
||||
```yaml
|
||||
widget:
|
||||
type: jellyfin
|
||||
url: http://jellyfin.host.or.ip
|
||||
url: http://jellyfin.host.or.ip:port
|
||||
key: apikeyapikeyapikeyapikeyapikey
|
||||
version: 2 # optional, default is 1
|
||||
enableBlocks: true # optional, defaults to false
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
---
|
||||
title: Jellyseerr
|
||||
description: Jellyseerr Widget Configuration
|
||||
---
|
||||
|
||||
Learn more about [Jellyseerr](https://github.com/Fallenbagel/jellyseerr).
|
||||
|
||||
Find your API key under `Settings > General > API Key`.
|
||||
|
||||
Allowed fields: `["pending", "approved", "available", "issues"]`.
|
||||
Default fields: `["pending", "approved", "available"]`.
|
||||
|
||||
```yaml
|
||||
widget:
|
||||
type: jellyseerr
|
||||
url: http://jellyseerr.host.or.ip
|
||||
key: apikeyapikeyapikeyapikeyapikey
|
||||
```
|
||||
@@ -1,17 +0,0 @@
|
||||
---
|
||||
title: Overseerr
|
||||
description: Overseerr Widget Configuration
|
||||
---
|
||||
|
||||
Learn more about [Overseerr](https://github.com/sct/overseerr).
|
||||
|
||||
Find your API key under `Settings > General`.
|
||||
|
||||
Allowed fields: `["pending", "approved", "available", "processing"]`.
|
||||
|
||||
```yaml
|
||||
widget:
|
||||
type: overseerr
|
||||
url: http://overseerr.host.or.ip
|
||||
key: apikeyapikeyapikeyapikeyapikey
|
||||
```
|
||||
@@ -12,7 +12,7 @@ Allowed fields: no configurable fields for this widget.
|
||||
```yaml
|
||||
widget:
|
||||
type: tautulli
|
||||
url: http://tautulli.host.or.ip
|
||||
url: http://tautulli.host.or.ip:port
|
||||
key: apikeyapikeyapikeyapikeyapikey
|
||||
enableUser: true # optional, defaults to false
|
||||
showEpisodeNumber: true # optional, defaults to false
|
||||
|
||||
20
docs/widgets/services/seerr.md
Normal file
20
docs/widgets/services/seerr.md
Normal file
@@ -0,0 +1,20 @@
|
||||
---
|
||||
title: Seerr Widget
|
||||
description: Seerr Widget Configuration
|
||||
---
|
||||
|
||||
Learn more about [Seerr](https://github.com/seerr-team/seerr).
|
||||
|
||||
Find your API key under `Settings > General > API Key`.
|
||||
|
||||
_Jellyseerr and Overseerr merged into Seerr. Use `type: seerr` (legacy `type: jellyseerr` and `type: overseerr` are aliased)._
|
||||
|
||||
Allowed fields: `["pending", "approved", "available", "completed", "processing", "issues"]`.
|
||||
Default fields: `["pending", "approved", "completed"]`.
|
||||
|
||||
```yaml
|
||||
widget:
|
||||
type: seerr
|
||||
url: http://seerr.host.or.ip
|
||||
key: apikeyapikeyapikeyapikeyapikey
|
||||
```
|
||||
15
docs/widgets/services/sparkyfitness.md
Normal file
15
docs/widgets/services/sparkyfitness.md
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
title: SparkyFitness
|
||||
description: SparkyFitness Widget Configuration
|
||||
---
|
||||
|
||||
Learn more about [SparkyFitness](https://github.com/CodeWithCJ/SparkyFitness).
|
||||
|
||||
Allowed fields: `["eaten", "burned", "remaining", "steps"]`.
|
||||
|
||||
```yaml
|
||||
widget:
|
||||
type: sparkyfitness
|
||||
url: http://sparkyfitness.host.or.ip
|
||||
key: apikeyapikeyapikeyapikeyapikey
|
||||
```
|
||||
21
docs/widgets/services/tracearr.md
Normal file
21
docs/widgets/services/tracearr.md
Normal file
@@ -0,0 +1,21 @@
|
||||
---
|
||||
title: Tracearr
|
||||
description: Tracearr Widget Configuration
|
||||
---
|
||||
|
||||
Learn more about [Tracearr](https://www.tracearr.com/).
|
||||
|
||||
Provides detailed information about currently active streams across multiple servers.
|
||||
|
||||
Allowed fields (for summary view): `["streams", "transcodes", "directplay", "bitrate"]`.
|
||||
|
||||
```yaml
|
||||
widget:
|
||||
type: tracearr
|
||||
url: http://tracearr.host.or.ip:3000
|
||||
key: apikeyapikeyapikeyapikeyapikey
|
||||
view: both # optional, "summary", "details", or "both", defaults to "details"
|
||||
enableUser: true # optional, defaults to false
|
||||
showEpisodeNumber: true # optional, defaults to false
|
||||
expandOneStreamToTwoRows: false # optional, defaults to true
|
||||
```
|
||||
@@ -17,7 +17,7 @@ An optional 'site' parameter can be supplied, if it is not the widget will use t
|
||||
|
||||
Allowed fields: `["uptime", "wan", "lan", "lan_users", "lan_devices", "wlan", "wlan_users", "wlan_devices"]` (maximum of four). Fields unsupported by the unifi device will not be shown.
|
||||
|
||||
!!! hint
|
||||
!!! tip
|
||||
|
||||
If you enter e.g. incorrect credentials and receive an "API Error", you may need to recreate the container or restart the service to clear the cache.
|
||||
|
||||
|
||||
24
docs/widgets/services/unifi-drive.md
Normal file
24
docs/widgets/services/unifi-drive.md
Normal file
@@ -0,0 +1,24 @@
|
||||
---
|
||||
title: UniFi Drive
|
||||
description: UniFi Drive Widget Configuration
|
||||
---
|
||||
|
||||
Learn more about [UniFi Drive](https://ui.com/integrations/network-storage).
|
||||
|
||||
## Configuration
|
||||
|
||||
Displays storage statistics from your UniFi Network Attached Storage (UNAS) device. Requires a local UniFi account with at least read privileges.
|
||||
|
||||
Allowed fields: `["total", "used", "available", "status"]`
|
||||
|
||||
```yaml
|
||||
widget:
|
||||
type: unifi_drive
|
||||
url: https://unifi.host.or.ip
|
||||
username: your_username
|
||||
password: your_password
|
||||
```
|
||||
|
||||
!!! tip
|
||||
|
||||
If you enter incorrect credentials and receive an "API Error", you may need to recreate the container or restart the service to clear the cache.
|
||||
@@ -20,13 +20,13 @@ helm install my-release jameswynn/homepage
|
||||
Set the `mode` in the `kubernetes.yaml` to `cluster`.
|
||||
|
||||
```yaml
|
||||
mode: default
|
||||
mode: cluster
|
||||
```
|
||||
|
||||
To enable Kubernetes gateway-api compatibility, set `route` to `gateway`.
|
||||
To enable Kubernetes gateway-api compatibility, set `gateway` to `true`.
|
||||
|
||||
```yaml
|
||||
route: gateway
|
||||
gateway: true
|
||||
```
|
||||
|
||||
## Widgets
|
||||
|
||||
@@ -91,7 +91,6 @@ nav:
|
||||
- widgets/services/jackett.md
|
||||
- widgets/services/jdownloader.md
|
||||
- widgets/services/jellyfin.md
|
||||
- widgets/services/jellyseerr.md
|
||||
- widgets/services/jellystat.md
|
||||
- widgets/services/kavita.md
|
||||
- widgets/services/komga.md
|
||||
@@ -125,7 +124,6 @@ nav:
|
||||
- widgets/services/openmediavault.md
|
||||
- widgets/services/opnsense.md
|
||||
- widgets/services/openwrt.md
|
||||
- widgets/services/overseerr.md
|
||||
- widgets/services/pangolin.md
|
||||
- widgets/services/paperlessngx.md
|
||||
- widgets/services/peanut.md
|
||||
@@ -151,8 +149,10 @@ nav:
|
||||
- widgets/services/rutorrent.md
|
||||
- widgets/services/sabnzbd.md
|
||||
- widgets/services/scrutiny.md
|
||||
- widgets/services/seerr.md
|
||||
- widgets/services/slskd.md
|
||||
- widgets/services/sonarr.md
|
||||
- widgets/services/sparkyfitness.md
|
||||
- widgets/services/speedtest-tracker.md
|
||||
- widgets/services/spoolman.md
|
||||
- widgets/services/stash.md
|
||||
@@ -165,11 +165,13 @@ nav:
|
||||
- widgets/services/technitium.md
|
||||
- widgets/services/tdarr.md
|
||||
- widgets/services/traefik.md
|
||||
- widgets/services/tracearr.md
|
||||
- widgets/services/transmission.md
|
||||
- widgets/services/trilium.md
|
||||
- widgets/services/truenas.md
|
||||
- widgets/services/tubearchivist.md
|
||||
- widgets/services/unifi-controller.md
|
||||
- widgets/services/unifi-drive.md
|
||||
- widgets/services/unmanic.md
|
||||
- widgets/services/unraid.md
|
||||
- widgets/services/uptime-kuma.md
|
||||
|
||||
@@ -5,7 +5,12 @@ const nextConfig = {
|
||||
reactStrictMode: true,
|
||||
output: "standalone",
|
||||
images: {
|
||||
domains: ["cdn.jsdelivr.net"],
|
||||
remotePatterns: [
|
||||
{
|
||||
protocol: "https",
|
||||
hostname: "cdn.jsdelivr.net",
|
||||
},
|
||||
],
|
||||
unoptimized: true,
|
||||
},
|
||||
i18n,
|
||||
|
||||
28
package.json
28
package.json
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"name": "homepage",
|
||||
"version": "1.10.0",
|
||||
"version": "1.12.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"preinstall": "npx only-allow pnpm",
|
||||
"dev": "next dev",
|
||||
"build": "next build",
|
||||
"build": "next build --webpack",
|
||||
"start": "next start",
|
||||
"lint": "eslint .",
|
||||
"test": "vitest run",
|
||||
@@ -22,26 +22,26 @@
|
||||
"follow-redirects": "^1.15.11",
|
||||
"gamedig": "^5.3.2",
|
||||
"i18next": "^25.8.0",
|
||||
"ical.js": "^2.1.0",
|
||||
"ical.js": "^2.2.1",
|
||||
"js-yaml": "^4.1.1",
|
||||
"json-rpc-2.0": "^1.7.0",
|
||||
"luxon": "^3.6.1",
|
||||
"memory-cache": "^0.2.0",
|
||||
"minecraftstatuspinger": "^1.2.2",
|
||||
"next": "^15.5.11",
|
||||
"next-i18next": "^12.1.0",
|
||||
"next": "^16.1.7",
|
||||
"next-i18next": "^15.4.3",
|
||||
"ping": "^0.4.4",
|
||||
"pretty-bytes": "^7.1.0",
|
||||
"raw-body": "^3.0.2",
|
||||
"react": "^18.3.1",
|
||||
"react-dom": "^18.3.1",
|
||||
"react": "^19.2.4",
|
||||
"react-dom": "^19.2.4",
|
||||
"react-i18next": "^15.5.3",
|
||||
"react-icons": "^5.5.0",
|
||||
"react-icons": "^5.6.0",
|
||||
"recharts": "^3.1.2",
|
||||
"swr": "^2.4.0",
|
||||
"systeminformation": "^5.27.11",
|
||||
"swr": "^2.4.1",
|
||||
"systeminformation": "^5.30.8",
|
||||
"tough-cookie": "^6.0.0",
|
||||
"urbackup-server-api": "^0.91.0",
|
||||
"urbackup-server-api": "^0.92.2",
|
||||
"winston": "^3.19.0",
|
||||
"ws": "^8.18.3",
|
||||
"xml-js": "^1.6.11"
|
||||
@@ -60,12 +60,12 @@
|
||||
"eslint-config-prettier": "^10.1.8",
|
||||
"eslint-plugin-import": "^2.32.0",
|
||||
"eslint-plugin-jsx-a11y": "^6.10.2",
|
||||
"eslint-plugin-prettier": "^5.5.4",
|
||||
"eslint-plugin-prettier": "^5.5.5",
|
||||
"eslint-plugin-react": "^7.37.4",
|
||||
"eslint-plugin-react-hooks": "^5.2.0",
|
||||
"jsdom": "^26.1.0",
|
||||
"jsdom": "^28.1.0",
|
||||
"postcss": "^8.5.6",
|
||||
"prettier": "^3.7.3",
|
||||
"prettier": "^3.8.1",
|
||||
"prettier-plugin-organize-imports": "^4.3.0",
|
||||
"tailwind-scrollbar": "^4.0.2",
|
||||
"tailwindcss": "^4.1.18",
|
||||
|
||||
1236
pnpm-lock.yaml
generated
1236
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
@@ -66,6 +66,11 @@
|
||||
"wait": "Wag asseblief",
|
||||
"empty_data": "Substelsel status onbekend"
|
||||
},
|
||||
"unifi_drive": {
|
||||
"healthy": "Healthy",
|
||||
"degraded": "Degraded",
|
||||
"no_data": "No storage data available"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
"tx": "TX",
|
||||
@@ -108,14 +113,14 @@
|
||||
"songs": "Liedjies"
|
||||
},
|
||||
"jellyfin": {
|
||||
"playing": "Playing",
|
||||
"transcoding": "Transcoding",
|
||||
"bitrate": "Bitrate",
|
||||
"no_active": "No Active Streams",
|
||||
"playing": "Speel",
|
||||
"transcoding": "Transkodering",
|
||||
"bitrate": "Bistempo",
|
||||
"no_active": "Geen Aktiewe Strome",
|
||||
"movies": "Movies",
|
||||
"series": "Series",
|
||||
"episodes": "Episodes",
|
||||
"songs": "Songs"
|
||||
"series": "Reekse",
|
||||
"episodes": "Episode",
|
||||
"songs": "Liedjies"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "Vanlyn af",
|
||||
@@ -184,6 +189,13 @@
|
||||
"no_active": "Geen aktiewe strome nie",
|
||||
"plex_connection_error": "Gaan Plex-verbinding Na"
|
||||
},
|
||||
"tracearr": {
|
||||
"no_active": "Geen Aktiewe Strome",
|
||||
"streams": "Uitsendings",
|
||||
"transcodes": "Transkodering",
|
||||
"directplay": "Direkte Speel",
|
||||
"bitrate": "Bistempo"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Gekoppelde APs",
|
||||
"activeUser": "Aktiewe toestelle",
|
||||
@@ -282,17 +294,13 @@
|
||||
"approved": "Goedgekeur",
|
||||
"available": "Beskikbaar"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"seerr": {
|
||||
"pending": "Afwagtend",
|
||||
"approved": "Goedgekeur",
|
||||
"available": "Beskikbaar",
|
||||
"issues": "Oop Kwessies"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Afwagtend",
|
||||
"completed": "Afgehandel",
|
||||
"processing": "Verwerking",
|
||||
"approved": "Goedgekeur",
|
||||
"available": "Beskikbaar"
|
||||
"issues": "Oop Kwessies"
|
||||
},
|
||||
"netalertx": {
|
||||
"total": "Totaal",
|
||||
@@ -1152,11 +1160,11 @@
|
||||
"artists": "Kunstenaars"
|
||||
},
|
||||
"arcane": {
|
||||
"containers": "Containers",
|
||||
"images": "Images",
|
||||
"image_updates": "Image Updates",
|
||||
"images_unused": "Unused",
|
||||
"environment_required": "Environment ID Required"
|
||||
"containers": "Houers",
|
||||
"images": "Beelde",
|
||||
"image_updates": "Beeldopdaterings",
|
||||
"images_unused": "Ongebruik",
|
||||
"environment_required": "Omgewings-ID Vereis"
|
||||
},
|
||||
"dockhand": {
|
||||
"running": "Lopend",
|
||||
@@ -1171,5 +1179,11 @@
|
||||
"paused": "Onderbreek",
|
||||
"total": "Totaal",
|
||||
"environment_not_found": "Omgewing Nie Gevind Nie"
|
||||
},
|
||||
"sparkyfitness": {
|
||||
"eaten": "Geëet",
|
||||
"burned": "Verbrand",
|
||||
"remaining": "Oorblywende",
|
||||
"steps": "Stappe"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,6 +66,11 @@
|
||||
"wait": "Please wait",
|
||||
"empty_data": "حالة النظام الفرعي غير معروفة"
|
||||
},
|
||||
"unifi_drive": {
|
||||
"healthy": "Healthy",
|
||||
"degraded": "Degraded",
|
||||
"no_data": "No storage data available"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "استقبال",
|
||||
"tx": "ارسال",
|
||||
@@ -184,6 +189,13 @@
|
||||
"no_active": "No Active Streams",
|
||||
"plex_connection_error": "تحقق من الاتصال بـ Plex"
|
||||
},
|
||||
"tracearr": {
|
||||
"no_active": "No Active Streams",
|
||||
"streams": "Streams",
|
||||
"transcodes": "Transcodes",
|
||||
"directplay": "Direct Play",
|
||||
"bitrate": "Bitrate"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "المتصلة APs",
|
||||
"activeUser": "الأجهزة النشطة",
|
||||
@@ -282,18 +294,14 @@
|
||||
"approved": "مصدق",
|
||||
"available": "متاح"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"seerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available",
|
||||
"completed": "Completed",
|
||||
"processing": "Processing",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
"processing": "معالجة",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
},
|
||||
"netalertx": {
|
||||
"total": "Total",
|
||||
"connected": "Connected",
|
||||
@@ -1171,5 +1179,11 @@
|
||||
"paused": "Paused",
|
||||
"total": "Total",
|
||||
"environment_not_found": "Environment Not Found"
|
||||
},
|
||||
"sparkyfitness": {
|
||||
"eaten": "Eaten",
|
||||
"burned": "Burned",
|
||||
"remaining": "Remaining",
|
||||
"steps": "Steps"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,6 +66,11 @@
|
||||
"wait": "Моля изчакайте",
|
||||
"empty_data": "Неизвестен статус на подсистема"
|
||||
},
|
||||
"unifi_drive": {
|
||||
"healthy": "Healthy",
|
||||
"degraded": "Degraded",
|
||||
"no_data": "No storage data available"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "ПЧ",
|
||||
"tx": "ИЗ",
|
||||
@@ -184,6 +189,13 @@
|
||||
"no_active": "Няма активни потоци",
|
||||
"plex_connection_error": "Провери връзка с Plex"
|
||||
},
|
||||
"tracearr": {
|
||||
"no_active": "No Active Streams",
|
||||
"streams": "Streams",
|
||||
"transcodes": "Transcodes",
|
||||
"directplay": "Direct Play",
|
||||
"bitrate": "Bitrate"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Свързани точки",
|
||||
"activeUser": "Активни устройства",
|
||||
@@ -282,17 +294,13 @@
|
||||
"approved": "Одобрен",
|
||||
"available": "Наличен"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"seerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
"completed": "Completed",
|
||||
"processing": "Processing",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"netalertx": {
|
||||
"total": "Total",
|
||||
@@ -1171,5 +1179,11 @@
|
||||
"paused": "Paused",
|
||||
"total": "Total",
|
||||
"environment_not_found": "Environment Not Found"
|
||||
},
|
||||
"sparkyfitness": {
|
||||
"eaten": "Eaten",
|
||||
"burned": "Burned",
|
||||
"remaining": "Remaining",
|
||||
"steps": "Steps"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -61,11 +61,16 @@
|
||||
"wlan_devices": "Dispositius WLAN",
|
||||
"lan_users": "Usuaris LAN",
|
||||
"wlan_users": "Usuaris WLAN",
|
||||
"up": "UP",
|
||||
"up": "ACTIU",
|
||||
"down": "INACTIU",
|
||||
"wait": "Si us plau espera",
|
||||
"empty_data": "Estat del subsistema desconegut"
|
||||
},
|
||||
"unifi_drive": {
|
||||
"healthy": "Healthy",
|
||||
"degraded": "Degraded",
|
||||
"no_data": "No storage data available"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "Rebut",
|
||||
"tx": "Transmès",
|
||||
@@ -93,8 +98,8 @@
|
||||
"http_status": "Estat HTTP",
|
||||
"error": "Error",
|
||||
"response": "Resposta",
|
||||
"down": "Down",
|
||||
"up": "Up",
|
||||
"down": "Inactiu",
|
||||
"up": "Actiu",
|
||||
"not_available": "No disponible"
|
||||
},
|
||||
"emby": {
|
||||
@@ -108,21 +113,21 @@
|
||||
"songs": "Cançons"
|
||||
},
|
||||
"jellyfin": {
|
||||
"playing": "Playing",
|
||||
"transcoding": "Transcoding",
|
||||
"bitrate": "Bitrate",
|
||||
"no_active": "No Active Streams",
|
||||
"movies": "Movies",
|
||||
"series": "Series",
|
||||
"episodes": "Episodes",
|
||||
"songs": "Songs"
|
||||
"playing": "Reproduïnt",
|
||||
"transcoding": "Transcodificant",
|
||||
"bitrate": "Taxa de bits",
|
||||
"no_active": "Sense reproduccions actives",
|
||||
"movies": "Pel·lícules",
|
||||
"series": "Sèries",
|
||||
"episodes": "Episodis",
|
||||
"songs": "Cançons"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "Offline",
|
||||
"offline_alt": "Offline",
|
||||
"offline": "Desconnectat",
|
||||
"offline_alt": "Desconnectat",
|
||||
"online": "En línia",
|
||||
"total": "Total",
|
||||
"unknown": "Unknown"
|
||||
"unknown": "Desconegut"
|
||||
},
|
||||
"evcc": {
|
||||
"pv_power": "Producció",
|
||||
@@ -143,7 +148,7 @@
|
||||
"unread": "Sense llegir"
|
||||
},
|
||||
"fritzbox": {
|
||||
"connectionStatus": "Status",
|
||||
"connectionStatus": "Estat",
|
||||
"connectionStatusUnconfigured": "Sense configurar",
|
||||
"connectionStatusConnecting": "Connectant",
|
||||
"connectionStatusAuthenticating": "Autenticant",
|
||||
@@ -151,11 +156,11 @@
|
||||
"connectionStatusDisconnecting": "Desconnectant",
|
||||
"connectionStatusDisconnected": "Desconnectat",
|
||||
"connectionStatusConnected": "Connectat",
|
||||
"uptime": "Uptime",
|
||||
"uptime": "Temps en funcionament",
|
||||
"maxDown": "Màx. Descàrrega",
|
||||
"maxUp": "Màx. Càrrega",
|
||||
"down": "Down",
|
||||
"up": "Up",
|
||||
"down": "Inactiu",
|
||||
"up": "Actiu",
|
||||
"received": "Rebuts",
|
||||
"sent": "Enviats",
|
||||
"externalIPAddress": "IP ext.",
|
||||
@@ -178,17 +183,24 @@
|
||||
"passes": "Aprovat"
|
||||
},
|
||||
"tautulli": {
|
||||
"playing": "Playing",
|
||||
"transcoding": "Transcoding",
|
||||
"bitrate": "Bitrate",
|
||||
"no_active": "No Active Streams",
|
||||
"playing": "Reproduïnt",
|
||||
"transcoding": "Transcodificant",
|
||||
"bitrate": "Taxa de bits",
|
||||
"no_active": "Sense reproduccions actives",
|
||||
"plex_connection_error": "Comprova la connexió de Plex"
|
||||
},
|
||||
"tracearr": {
|
||||
"no_active": "Sense reproduccions actives",
|
||||
"streams": "Transmissions",
|
||||
"transcodes": "Transcodificacions",
|
||||
"directplay": "Reproducció directa",
|
||||
"bitrate": "Taxa de bits"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "AP connectats",
|
||||
"activeUser": "Dispositius actius",
|
||||
"alerts": "Alertes",
|
||||
"connectedGateways": "Connected gateways",
|
||||
"connectedGateways": "Pasarel·les connectades",
|
||||
"connectedSwitches": "Conmutadors connectats"
|
||||
},
|
||||
"nzbget": {
|
||||
@@ -199,24 +211,24 @@
|
||||
"plex": {
|
||||
"streams": "Transmissions actives",
|
||||
"albums": "Àlbums",
|
||||
"movies": "Movies",
|
||||
"movies": "Pel·lícules",
|
||||
"tv": "Sèries"
|
||||
},
|
||||
"sabnzbd": {
|
||||
"rate": "Rate",
|
||||
"rate": "Taxa",
|
||||
"queue": "Cua",
|
||||
"timeleft": "Temps restant"
|
||||
},
|
||||
"rutorrent": {
|
||||
"active": "Actiu",
|
||||
"upload": "Upload",
|
||||
"download": "Download"
|
||||
"upload": "Pujada",
|
||||
"download": "Baixada"
|
||||
},
|
||||
"transmission": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
"download": "Baixada",
|
||||
"upload": "Pujada",
|
||||
"leech": "Sangonera",
|
||||
"seed": "Sembrat"
|
||||
},
|
||||
"qbittorrent": {
|
||||
"download": "Download",
|
||||
@@ -282,18 +294,14 @@
|
||||
"approved": "Aprovat",
|
||||
"available": "Disponible"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"seerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available",
|
||||
"completed": "Completed",
|
||||
"processing": "Processing",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
"processing": "Processant",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
},
|
||||
"netalertx": {
|
||||
"total": "Total",
|
||||
"connected": "Connected",
|
||||
@@ -323,10 +331,10 @@
|
||||
"total": "Total"
|
||||
},
|
||||
"suwayomi": {
|
||||
"download": "Downloaded",
|
||||
"download": "Descarregat",
|
||||
"nondownload": "No descarregat",
|
||||
"read": "Read",
|
||||
"unread": "Unread",
|
||||
"read": "Llegits",
|
||||
"unread": "No llegits",
|
||||
"downloadedread": "Descarregat i llegit",
|
||||
"downloadedunread": "Descarregat i per llegir",
|
||||
"nondownloadedread": "No descarregat i llegit",
|
||||
@@ -347,7 +355,7 @@
|
||||
"ago": "Fa {{value}}"
|
||||
},
|
||||
"technitium": {
|
||||
"totalQueries": "Queries",
|
||||
"totalQueries": "Consultes",
|
||||
"totalNoError": "Èxits",
|
||||
"totalServerFailure": "Fallades",
|
||||
"totalNxDomain": "Dominis NX",
|
||||
@@ -355,12 +363,12 @@
|
||||
"totalAuthoritative": "Autoritatiu",
|
||||
"totalRecursive": "Recursiu",
|
||||
"totalCached": "A la memòria cau",
|
||||
"totalBlocked": "Blocked",
|
||||
"totalBlocked": "Bloquejats",
|
||||
"totalDropped": "Abandonat",
|
||||
"totalClients": "Clients"
|
||||
},
|
||||
"tdarr": {
|
||||
"queue": "Queue",
|
||||
"queue": "Cua",
|
||||
"processed": "Processat",
|
||||
"errored": "Error",
|
||||
"saved": "Estalviat"
|
||||
@@ -371,13 +379,13 @@
|
||||
"middleware": "Intermediari"
|
||||
},
|
||||
"trilium": {
|
||||
"version": "Version",
|
||||
"version": "Versió",
|
||||
"notesCount": "Notes",
|
||||
"dbSize": "Database Size",
|
||||
"unknown": "Unknown"
|
||||
"dbSize": "Tamany de la base de dades",
|
||||
"unknown": "Desconegut"
|
||||
},
|
||||
"navidrome": {
|
||||
"nothing_streaming": "No Active Streams",
|
||||
"nothing_streaming": "Sense reproduccions actives",
|
||||
"please_wait": "Espereu si us plau"
|
||||
},
|
||||
"npm": {
|
||||
@@ -400,43 +408,43 @@
|
||||
"prowlarr": {
|
||||
"enableIndexers": "Indexadors",
|
||||
"numberOfGrabs": "Captures",
|
||||
"numberOfQueries": "Queries",
|
||||
"numberOfQueries": "Consultes",
|
||||
"numberOfFailGrabs": "Captures fallides",
|
||||
"numberOfFailQueries": "Consultes fallides"
|
||||
},
|
||||
"jackett": {
|
||||
"configured": "Configurat",
|
||||
"errored": "Errored"
|
||||
"errored": "Errors"
|
||||
},
|
||||
"strelaysrv": {
|
||||
"numActiveSessions": "Sessions",
|
||||
"numConnections": "Connexions",
|
||||
"dataRelayed": "Transmès",
|
||||
"transferRate": "Rate"
|
||||
"transferRate": "Taxa"
|
||||
},
|
||||
"mastodon": {
|
||||
"user_count": "Users",
|
||||
"user_count": "Usuaris",
|
||||
"status_count": "Publicacions",
|
||||
"domain_count": "Dominis"
|
||||
},
|
||||
"medusa": {
|
||||
"wanted": "Wanted",
|
||||
"queued": "Queued",
|
||||
"series": "Series"
|
||||
"wanted": "Volguts",
|
||||
"queued": "Encuat",
|
||||
"series": "Sèries"
|
||||
},
|
||||
"minecraft": {
|
||||
"players": "Jugadors",
|
||||
"version": "Versió",
|
||||
"status": "Status",
|
||||
"up": "Online",
|
||||
"down": "Offline"
|
||||
"status": "Estat",
|
||||
"up": "En línia",
|
||||
"down": "Fora de línia"
|
||||
},
|
||||
"miniflux": {
|
||||
"read": "Llegit",
|
||||
"unread": "Unread"
|
||||
"unread": "No llegits"
|
||||
},
|
||||
"authentik": {
|
||||
"users": "Users",
|
||||
"users": "Usuaris",
|
||||
"loginsLast24H": "Inicis de sessió (24h)",
|
||||
"failedLoginsLast24H": "Errors d'inici de sessió (24h)"
|
||||
},
|
||||
@@ -448,19 +456,19 @@
|
||||
},
|
||||
"glances": {
|
||||
"cpu": "CPU",
|
||||
"load": "Load",
|
||||
"wait": "Please wait",
|
||||
"load": "Càrrega",
|
||||
"wait": "Si us plau espera",
|
||||
"temp": "TEMP",
|
||||
"_temp": "Temp",
|
||||
"warn": "Avís",
|
||||
"uptime": "UP",
|
||||
"uptime": "ACTIU",
|
||||
"total": "Total",
|
||||
"free": "Free",
|
||||
"used": "Used",
|
||||
"free": "Lliure",
|
||||
"used": "Utilitzat",
|
||||
"days": "d",
|
||||
"hours": "h",
|
||||
"crit": "Crític",
|
||||
"read": "Read",
|
||||
"read": "Lectura",
|
||||
"write": "Escriptura",
|
||||
"gpu": "GPU",
|
||||
"mem": "Mem",
|
||||
@@ -481,25 +489,25 @@
|
||||
"1-day": "Majorment assolellat",
|
||||
"1-night": "Majorment clar",
|
||||
"2-day": "Parcialment ennuvolat",
|
||||
"2-night": "Partly Cloudy",
|
||||
"2-night": "Parcialment ennuvolat",
|
||||
"3-day": "Ennuvolat",
|
||||
"3-night": "Cloudy",
|
||||
"3-night": "Ennuvolat",
|
||||
"45-day": "Boirós",
|
||||
"45-night": "Foggy",
|
||||
"48-day": "Foggy",
|
||||
"48-night": "Foggy",
|
||||
"45-night": "Emboirat",
|
||||
"48-day": "Boirós",
|
||||
"48-night": "Emboirat",
|
||||
"51-day": "Ruixats lleugers",
|
||||
"51-night": "Light Drizzle",
|
||||
"51-night": "Plugim lleuger",
|
||||
"53-day": "Ruixat",
|
||||
"53-night": "Drizzle",
|
||||
"53-night": "Plugim",
|
||||
"55-day": "Ruixat intens",
|
||||
"55-night": "Heavy Drizzle",
|
||||
"55-night": "Plovisqueig intens",
|
||||
"56-day": "Lleuger ruixat gelat",
|
||||
"56-night": "Light Freezing Drizzle",
|
||||
"56-night": "Lleuger ruixat gelat",
|
||||
"57-day": "Ruixat gelat",
|
||||
"57-night": "Freezing Drizzle",
|
||||
"57-night": "Plugim gelat",
|
||||
"61-day": "Pluja lleugera",
|
||||
"61-night": "Light Rain",
|
||||
"61-night": "Pluja lleugera",
|
||||
"63-day": "Pluja",
|
||||
"63-night": "Rain",
|
||||
"65-day": "Pluja intensa",
|
||||
@@ -634,12 +642,12 @@
|
||||
"mikrotik": {
|
||||
"cpuLoad": "Càrrega de CPU",
|
||||
"memoryUsed": "Memoria en ús",
|
||||
"uptime": "Uptime",
|
||||
"uptime": "Temps en funcionament",
|
||||
"numberOfLeases": "IPs assignades"
|
||||
},
|
||||
"xteve": {
|
||||
"streams_all": "Tots els streams",
|
||||
"streams_active": "Active Streams",
|
||||
"streams_active": "Transmissions actives",
|
||||
"streams_xepg": "Canals XEPG"
|
||||
},
|
||||
"opendtu": {
|
||||
@@ -649,7 +657,7 @@
|
||||
"limit": "Límit"
|
||||
},
|
||||
"opnsense": {
|
||||
"cpu": "CPU Load",
|
||||
"cpu": "Càrrega de CPU",
|
||||
"memory": "Memòria activa",
|
||||
"wanUpload": "Pujada WAN",
|
||||
"wanDownload": "Baixada WAN"
|
||||
@@ -661,21 +669,21 @@
|
||||
"layers": "Capes"
|
||||
},
|
||||
"octoprint": {
|
||||
"printer_state": "Status",
|
||||
"printer_state": "Estat",
|
||||
"temp_tool": "Temperatura capçal",
|
||||
"temp_bed": "Temperatura llit",
|
||||
"job_completion": "Finalització"
|
||||
},
|
||||
"cloudflared": {
|
||||
"origin_ip": "IP Origen",
|
||||
"status": "Status"
|
||||
"status": "Estat"
|
||||
},
|
||||
"pfsense": {
|
||||
"load": "Càrrega mitjana",
|
||||
"memory": "Ús Memòria",
|
||||
"wanStatus": "Estat WAN",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"up": "Actiu",
|
||||
"down": "Inactiu",
|
||||
"temp": "Temp",
|
||||
"disk": "Ús Disc",
|
||||
"wanIP": "IP WAN"
|
||||
@@ -687,58 +695,58 @@
|
||||
"memory_usage": "Memòria"
|
||||
},
|
||||
"immich": {
|
||||
"users": "Users",
|
||||
"users": "Usuaris",
|
||||
"photos": "Fotos",
|
||||
"videos": "Videos",
|
||||
"videos": "Vídeos",
|
||||
"storage": "Emmagatzematge"
|
||||
},
|
||||
"uptimekuma": {
|
||||
"up": "Actius",
|
||||
"down": "Caiguts",
|
||||
"uptime": "Uptime",
|
||||
"uptime": "Temps en funcionament",
|
||||
"incident": "Incidència",
|
||||
"m": "m"
|
||||
},
|
||||
"atsumeru": {
|
||||
"series": "Series",
|
||||
"series": "Sèries",
|
||||
"archives": "Arxius",
|
||||
"chapters": "Capítols",
|
||||
"categories": "Categories"
|
||||
},
|
||||
"komga": {
|
||||
"libraries": "Biblioteques",
|
||||
"series": "Series",
|
||||
"books": "Books"
|
||||
"series": "Sèries",
|
||||
"books": "Llibres"
|
||||
},
|
||||
"diskstation": {
|
||||
"days": "Days",
|
||||
"uptime": "Uptime",
|
||||
"volumeAvailable": "Available"
|
||||
"days": "Dies",
|
||||
"uptime": "Temps en funcionament",
|
||||
"volumeAvailable": "Disponible"
|
||||
},
|
||||
"dispatcharr": {
|
||||
"channels": "Channels",
|
||||
"streams": "Streams"
|
||||
"channels": "Canals",
|
||||
"streams": "Transmissions"
|
||||
},
|
||||
"mylar": {
|
||||
"series": "Series",
|
||||
"series": "Sèries",
|
||||
"issues": "Problemes",
|
||||
"wanted": "Wanted"
|
||||
"wanted": "Volguts"
|
||||
},
|
||||
"photoprism": {
|
||||
"albums": "Albums",
|
||||
"photos": "Photos",
|
||||
"videos": "Videos",
|
||||
"albums": "Àlbums",
|
||||
"photos": "Fotos",
|
||||
"videos": "Vídeos",
|
||||
"people": "Gent"
|
||||
},
|
||||
"fileflows": {
|
||||
"queue": "Queue",
|
||||
"processing": "Processing",
|
||||
"processed": "Processed",
|
||||
"queue": "Cua",
|
||||
"processing": "Processant",
|
||||
"processed": "Processat",
|
||||
"time": "Temps"
|
||||
},
|
||||
"firefly": {
|
||||
"networth": "Net Worth",
|
||||
"budget": "Budget"
|
||||
"networth": "Valor Net",
|
||||
"budget": "Pressupost"
|
||||
},
|
||||
"grafana": {
|
||||
"dashboards": "Taulells",
|
||||
@@ -755,11 +763,11 @@
|
||||
"numshares": "Elements compartits"
|
||||
},
|
||||
"kopia": {
|
||||
"status": "Status",
|
||||
"status": "Estat",
|
||||
"size": "Mida",
|
||||
"lastrun": "Darrera execució",
|
||||
"nextrun": "Següent execució",
|
||||
"failed": "Failed"
|
||||
"failed": "Error"
|
||||
},
|
||||
"unmanic": {
|
||||
"active_workers": "Treballadors actius",
|
||||
@@ -776,21 +784,21 @@
|
||||
"targets_total": "Objectius Totals"
|
||||
},
|
||||
"gatus": {
|
||||
"up": "Sites Up",
|
||||
"down": "Sites Down",
|
||||
"uptime": "Uptime"
|
||||
"up": "Actius",
|
||||
"down": "Caiguts",
|
||||
"uptime": "Temps en funcionament"
|
||||
},
|
||||
"ghostfolio": {
|
||||
"gross_percent_today": "Today",
|
||||
"gross_percent_today": "Avui",
|
||||
"gross_percent_1y": "Un any",
|
||||
"gross_percent_max": "Sempre",
|
||||
"net_worth": "Net Worth"
|
||||
"net_worth": "Valor Net"
|
||||
},
|
||||
"audiobookshelf": {
|
||||
"podcasts": "Pòdcasts",
|
||||
"books": "Books",
|
||||
"books": "Llibres",
|
||||
"podcastsDuration": "Durada",
|
||||
"booksDuration": "Duration"
|
||||
"booksDuration": "Durada"
|
||||
},
|
||||
"homeassistant": {
|
||||
"people_home": "Gent a casa",
|
||||
@@ -799,23 +807,23 @@
|
||||
},
|
||||
"whatsupdocker": {
|
||||
"monitoring": "Supervisió",
|
||||
"updates": "Updates"
|
||||
"updates": "Actualitzacions"
|
||||
},
|
||||
"calibreweb": {
|
||||
"books": "Books",
|
||||
"books": "Llibres",
|
||||
"authors": "Autors",
|
||||
"categories": "Categories",
|
||||
"series": "Series"
|
||||
"series": "Sèries"
|
||||
},
|
||||
"booklore": {
|
||||
"libraries": "Libraries",
|
||||
"books": "Books",
|
||||
"reading": "Reading",
|
||||
"finished": "Finished"
|
||||
"libraries": "Biblioteques",
|
||||
"books": "Llibres",
|
||||
"reading": "Llegint",
|
||||
"finished": "Acabats"
|
||||
},
|
||||
"jdownloader": {
|
||||
"downloadCount": "Queue",
|
||||
"downloadBytesRemaining": "Remaining",
|
||||
"downloadCount": "Cua",
|
||||
"downloadBytesRemaining": "Restant",
|
||||
"downloadTotalBytes": "Size",
|
||||
"downloadSpeed": "Speed"
|
||||
},
|
||||
@@ -987,17 +995,17 @@
|
||||
},
|
||||
"frigate": {
|
||||
"cameras": "Càmeres",
|
||||
"uptime": "Uptime",
|
||||
"version": "Version"
|
||||
"uptime": "Temps en funcionament",
|
||||
"version": "Versió"
|
||||
},
|
||||
"linkwarden": {
|
||||
"links": "Enllaços",
|
||||
"collections": "Col·leccions",
|
||||
"tags": "Tags"
|
||||
"tags": "Etiquetes"
|
||||
},
|
||||
"zabbix": {
|
||||
"unclassified": "No classificat",
|
||||
"information": "Information",
|
||||
"information": "Informació",
|
||||
"warning": "Avís",
|
||||
"average": "Mitjana",
|
||||
"high": "Alt",
|
||||
@@ -1018,22 +1026,22 @@
|
||||
"tasksInProgress": "Tasques en marxa"
|
||||
},
|
||||
"headscale": {
|
||||
"name": "Name",
|
||||
"address": "Address",
|
||||
"last_seen": "Last Seen",
|
||||
"status": "Status",
|
||||
"online": "Online",
|
||||
"offline": "Offline"
|
||||
"name": "Nom",
|
||||
"address": "Adreça",
|
||||
"last_seen": "Vist per darrera vegada",
|
||||
"status": "Estat",
|
||||
"online": "En línia",
|
||||
"offline": "Desconnectat"
|
||||
},
|
||||
"beszel": {
|
||||
"name": "Name",
|
||||
"name": "Nom",
|
||||
"systems": "Sistemes",
|
||||
"up": "Up",
|
||||
"down": "Down",
|
||||
"paused": "Paused",
|
||||
"pending": "Pending",
|
||||
"status": "Status",
|
||||
"updated": "Updated",
|
||||
"up": "Actiu",
|
||||
"down": "Inactiu",
|
||||
"paused": "Pausat",
|
||||
"pending": "Pendent",
|
||||
"status": "Estat",
|
||||
"updated": "Actualitzat",
|
||||
"cpu": "CPU",
|
||||
"memory": "MEM",
|
||||
"disk": "Disc",
|
||||
@@ -1043,34 +1051,34 @@
|
||||
"apps": "Apps",
|
||||
"synced": "Sincronitzats",
|
||||
"outOfSync": "Dessincronitzats",
|
||||
"healthy": "Healthy",
|
||||
"healthy": "Sa",
|
||||
"degraded": "Degradats",
|
||||
"progressing": "Progressant",
|
||||
"missing": "Missing",
|
||||
"missing": "Falten",
|
||||
"suspended": "Suspesos"
|
||||
},
|
||||
"spoolman": {
|
||||
"loading": "Loading"
|
||||
"loading": "Carregant"
|
||||
},
|
||||
"gitlab": {
|
||||
"groups": "Grups",
|
||||
"issues": "Issues",
|
||||
"issues": "Problemes",
|
||||
"merges": "Merge Requests",
|
||||
"projects": "Projectes"
|
||||
},
|
||||
"apcups": {
|
||||
"status": "Status",
|
||||
"load": "Load",
|
||||
"bcharge": "Battery Charge",
|
||||
"timeleft": "Time Left"
|
||||
"status": "Estat",
|
||||
"load": "Càrrega",
|
||||
"bcharge": "Càrrega de la bateria",
|
||||
"timeleft": "Temps restant"
|
||||
},
|
||||
"karakeep": {
|
||||
"bookmarks": "Bookmarks",
|
||||
"favorites": "Favorites",
|
||||
"archived": "Archived",
|
||||
"highlights": "Highlights",
|
||||
"lists": "Lists",
|
||||
"tags": "Tags"
|
||||
"bookmarks": "Marcadors",
|
||||
"favorites": "Preferits",
|
||||
"archived": "Arxivats",
|
||||
"highlights": "Destacats",
|
||||
"lists": "Llistes",
|
||||
"tags": "Etiquetes"
|
||||
},
|
||||
"slskd": {
|
||||
"slskStatus": "Network",
|
||||
@@ -1171,5 +1179,11 @@
|
||||
"paused": "Paused",
|
||||
"total": "Total",
|
||||
"environment_not_found": "Environment Not Found"
|
||||
},
|
||||
"sparkyfitness": {
|
||||
"eaten": "Eaten",
|
||||
"burned": "Burned",
|
||||
"remaining": "Remaining",
|
||||
"steps": "Steps"
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -66,6 +66,11 @@
|
||||
"wait": "Please wait",
|
||||
"empty_data": "Subsystem status ukendt"
|
||||
},
|
||||
"unifi_drive": {
|
||||
"healthy": "Healthy",
|
||||
"degraded": "Degraded",
|
||||
"no_data": "No storage data available"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
"tx": "TX",
|
||||
@@ -184,6 +189,13 @@
|
||||
"no_active": "No Active Streams",
|
||||
"plex_connection_error": "Tjek Plex-forbindelse"
|
||||
},
|
||||
"tracearr": {
|
||||
"no_active": "No Active Streams",
|
||||
"streams": "Streams",
|
||||
"transcodes": "Transcodes",
|
||||
"directplay": "Direct Play",
|
||||
"bitrate": "Bitrate"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Forbundne APs",
|
||||
"activeUser": "Aktive enheder",
|
||||
@@ -282,18 +294,14 @@
|
||||
"approved": "Godkendt",
|
||||
"available": "Tilgængelig"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"seerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available",
|
||||
"completed": "Completed",
|
||||
"processing": "Processing",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
"processing": "Behandler",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
},
|
||||
"netalertx": {
|
||||
"total": "Total",
|
||||
"connected": "Connected",
|
||||
@@ -1171,5 +1179,11 @@
|
||||
"paused": "Paused",
|
||||
"total": "Total",
|
||||
"environment_not_found": "Environment Not Found"
|
||||
},
|
||||
"sparkyfitness": {
|
||||
"eaten": "Eaten",
|
||||
"burned": "Burned",
|
||||
"remaining": "Remaining",
|
||||
"steps": "Steps"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,6 +66,11 @@
|
||||
"wait": "Bitte warten",
|
||||
"empty_data": "Subsystem-Status unbekannt"
|
||||
},
|
||||
"unifi_drive": {
|
||||
"healthy": "Healthy",
|
||||
"degraded": "Degraded",
|
||||
"no_data": "No storage data available"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
"tx": "TX",
|
||||
@@ -108,14 +113,14 @@
|
||||
"songs": "Songs"
|
||||
},
|
||||
"jellyfin": {
|
||||
"playing": "Playing",
|
||||
"playing": "Wiedergabe",
|
||||
"transcoding": "Transkodierung",
|
||||
"bitrate": "Bitrate",
|
||||
"no_active": "Keine aktiven Streams",
|
||||
"movies": "Filme",
|
||||
"series": "Serien",
|
||||
"episodes": "Episoden",
|
||||
"songs": "Songs"
|
||||
"songs": "Titel"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "Offline",
|
||||
@@ -184,6 +189,13 @@
|
||||
"no_active": "Keine aktiven Streams",
|
||||
"plex_connection_error": "Prüfe Plex-Verbindung"
|
||||
},
|
||||
"tracearr": {
|
||||
"no_active": "Keine aktiven Streams",
|
||||
"streams": "Streams",
|
||||
"transcodes": "Transkodieren",
|
||||
"directplay": "Direkte Wiedergabe",
|
||||
"bitrate": "Bitrate"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Verbundene APs",
|
||||
"activeUser": "Aktive Geräte",
|
||||
@@ -282,17 +294,13 @@
|
||||
"approved": "Genehmigt",
|
||||
"available": "Verfügbar"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"pending": "Wartend",
|
||||
"approved": "Genehmigt",
|
||||
"seerr": {
|
||||
"pending": "Ausstehend",
|
||||
"approved": "Bestätigt",
|
||||
"available": "Verfügbar",
|
||||
"issues": "Offene Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Wartend",
|
||||
"processing": "Wird verarbeitet",
|
||||
"approved": "Genehmigt",
|
||||
"available": "Verfügbar"
|
||||
"completed": "Abgeschlossen",
|
||||
"processing": "Processing",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"netalertx": {
|
||||
"total": "Total",
|
||||
@@ -808,7 +816,7 @@
|
||||
"series": "Serien"
|
||||
},
|
||||
"booklore": {
|
||||
"libraries": "Libraries",
|
||||
"libraries": "Bibliotheken",
|
||||
"books": "Bücher",
|
||||
"reading": "Reading",
|
||||
"finished": "Finished"
|
||||
@@ -1159,17 +1167,23 @@
|
||||
"environment_required": "Environment ID Required"
|
||||
},
|
||||
"dockhand": {
|
||||
"running": "Running",
|
||||
"stopped": "Stopped",
|
||||
"running": "Wird ausgeführt",
|
||||
"stopped": "Gestoppt",
|
||||
"cpu": "CPU",
|
||||
"memory": "Memory",
|
||||
"memory": "RAM",
|
||||
"images": "Images",
|
||||
"volumes": "Volumes",
|
||||
"events_today": "Heutige Ereignisse",
|
||||
"pending_updates": "Ausstehende Updates",
|
||||
"stacks": "Stacks",
|
||||
"paused": "Pausiert",
|
||||
"total": "Total",
|
||||
"total": "Gesamt",
|
||||
"environment_not_found": "Umgebung nicht gefunden"
|
||||
},
|
||||
"sparkyfitness": {
|
||||
"eaten": "",
|
||||
"burned": "Burned",
|
||||
"remaining": "Remaining",
|
||||
"steps": "Steps"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,6 +66,11 @@
|
||||
"wait": "Please wait",
|
||||
"empty_data": "Άγνωστη κατάσταση υποσυστήματος"
|
||||
},
|
||||
"unifi_drive": {
|
||||
"healthy": "Healthy",
|
||||
"degraded": "Degraded",
|
||||
"no_data": "No storage data available"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
"tx": "TX",
|
||||
@@ -184,6 +189,13 @@
|
||||
"no_active": "No Active Streams",
|
||||
"plex_connection_error": "Έλεγχος Σύνδεσης με Plex"
|
||||
},
|
||||
"tracearr": {
|
||||
"no_active": "No Active Streams",
|
||||
"streams": "Streams",
|
||||
"transcodes": "Transcodes",
|
||||
"directplay": "Direct Play",
|
||||
"bitrate": "Bitrate"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Συνδεδεμένα APs",
|
||||
"activeUser": "Ενεργές συσκευές",
|
||||
@@ -282,18 +294,14 @@
|
||||
"approved": "Εγκρίθηκε",
|
||||
"available": "Διαθέσιμο"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"seerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available",
|
||||
"completed": "Completed",
|
||||
"processing": "Processing",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
"processing": "Σε επεξεργασία",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
},
|
||||
"netalertx": {
|
||||
"total": "Total",
|
||||
"connected": "Connected",
|
||||
@@ -1171,5 +1179,11 @@
|
||||
"paused": "Paused",
|
||||
"total": "Total",
|
||||
"environment_not_found": "Environment Not Found"
|
||||
},
|
||||
"sparkyfitness": {
|
||||
"eaten": "Eaten",
|
||||
"burned": "Burned",
|
||||
"remaining": "Remaining",
|
||||
"steps": "Steps"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,6 +66,11 @@
|
||||
"wait": "Please wait",
|
||||
"empty_data": "Subsystem status unknown"
|
||||
},
|
||||
"unifi_drive": {
|
||||
"healthy": "Healthy",
|
||||
"degraded": "Degraded",
|
||||
"no_data": "No storage data available"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
"tx": "TX",
|
||||
@@ -184,6 +189,13 @@
|
||||
"no_active": "No Active Streams",
|
||||
"plex_connection_error": "Check Plex Connection"
|
||||
},
|
||||
"tracearr": {
|
||||
"no_active": "No Active Streams",
|
||||
"streams": "Streams",
|
||||
"transcodes": "Transcodes",
|
||||
"directplay": "Direct Play",
|
||||
"bitrate": "Bitrate"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Connected APs",
|
||||
"activeUser": "Active devices",
|
||||
@@ -282,17 +294,13 @@
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"seerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
"completed": "Completed",
|
||||
"processing": "Processing",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"netalertx": {
|
||||
"total": "Total",
|
||||
@@ -1171,5 +1179,11 @@
|
||||
"paused": "Paused",
|
||||
"total": "Total",
|
||||
"environment_not_found": "Environment Not Found"
|
||||
},
|
||||
"sparkyfitness": {
|
||||
"eaten": "Eaten",
|
||||
"burned": "Burned",
|
||||
"remaining": "Remaining",
|
||||
"steps": "Steps"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,6 +66,11 @@
|
||||
"wait": "Please wait",
|
||||
"empty_data": "Subsistemostatuso nekonata"
|
||||
},
|
||||
"unifi_drive": {
|
||||
"healthy": "Healthy",
|
||||
"degraded": "Degraded",
|
||||
"no_data": "No storage data available"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
"tx": "TX",
|
||||
@@ -184,6 +189,13 @@
|
||||
"no_active": "No Active Streams",
|
||||
"plex_connection_error": "Check Plex Connection"
|
||||
},
|
||||
"tracearr": {
|
||||
"no_active": "No Active Streams",
|
||||
"streams": "Streams",
|
||||
"transcodes": "Transcodes",
|
||||
"directplay": "Direct Play",
|
||||
"bitrate": "Bitrate"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Connected APs",
|
||||
"activeUser": "Active devices",
|
||||
@@ -282,17 +294,13 @@
|
||||
"approved": "Aprobita",
|
||||
"available": "Havebla"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"seerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
"completed": "Completed",
|
||||
"processing": "Processing",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"netalertx": {
|
||||
"total": "Total",
|
||||
@@ -1171,5 +1179,11 @@
|
||||
"paused": "Paused",
|
||||
"total": "Total",
|
||||
"environment_not_found": "Environment Not Found"
|
||||
},
|
||||
"sparkyfitness": {
|
||||
"eaten": "Eaten",
|
||||
"burned": "Burned",
|
||||
"remaining": "Remaining",
|
||||
"steps": "Steps"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,6 +66,11 @@
|
||||
"wait": "Espere, por favor",
|
||||
"empty_data": "Se desconoce el estado del subsistema"
|
||||
},
|
||||
"unifi_drive": {
|
||||
"healthy": "Healthy",
|
||||
"degraded": "Degraded",
|
||||
"no_data": "No storage data available"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "Recibido",
|
||||
"tx": "Transmitido",
|
||||
@@ -184,6 +189,13 @@
|
||||
"no_active": "Sin transmisiones activas",
|
||||
"plex_connection_error": "Comprueba la conexión a Plex"
|
||||
},
|
||||
"tracearr": {
|
||||
"no_active": "No Active Streams",
|
||||
"streams": "Streams",
|
||||
"transcodes": "Transcodes",
|
||||
"directplay": "Direct Play",
|
||||
"bitrate": "Bitrate"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "AP conectados",
|
||||
"activeUser": "Dispositivos activos",
|
||||
@@ -282,17 +294,13 @@
|
||||
"approved": "Aprobado",
|
||||
"available": "Disponible"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"pending": "Pendiente",
|
||||
"approved": "Aprobado",
|
||||
"available": "Disponible",
|
||||
"issues": "Issues Abiertos"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pendiente",
|
||||
"processing": "Procesando",
|
||||
"approved": "Aprobado",
|
||||
"available": "Disponible"
|
||||
"seerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available",
|
||||
"completed": "Completed",
|
||||
"processing": "Processing",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"netalertx": {
|
||||
"total": "Total",
|
||||
@@ -1171,5 +1179,11 @@
|
||||
"paused": "En Pausa",
|
||||
"total": "Total",
|
||||
"environment_not_found": "Entorno no encontrado"
|
||||
},
|
||||
"sparkyfitness": {
|
||||
"eaten": "Eaten",
|
||||
"burned": "Burned",
|
||||
"remaining": "Remaining",
|
||||
"steps": "Steps"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,6 +66,11 @@
|
||||
"wait": "Please wait",
|
||||
"empty_data": "Subsystem status unknown"
|
||||
},
|
||||
"unifi_drive": {
|
||||
"healthy": "Healthy",
|
||||
"degraded": "Degraded",
|
||||
"no_data": "No storage data available"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
"tx": "TX",
|
||||
@@ -184,6 +189,13 @@
|
||||
"no_active": "No Active Streams",
|
||||
"plex_connection_error": "Check Plex Connection"
|
||||
},
|
||||
"tracearr": {
|
||||
"no_active": "No Active Streams",
|
||||
"streams": "Streams",
|
||||
"transcodes": "Transcodes",
|
||||
"directplay": "Direct Play",
|
||||
"bitrate": "Bitrate"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Connected APs",
|
||||
"activeUser": "Active devices",
|
||||
@@ -282,17 +294,13 @@
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"seerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
"completed": "Completed",
|
||||
"processing": "Processing",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"netalertx": {
|
||||
"total": "Total",
|
||||
@@ -1171,5 +1179,11 @@
|
||||
"paused": "Paused",
|
||||
"total": "Total",
|
||||
"environment_not_found": "Environment Not Found"
|
||||
},
|
||||
"sparkyfitness": {
|
||||
"eaten": "Eaten",
|
||||
"burned": "Burned",
|
||||
"remaining": "Remaining",
|
||||
"steps": "Steps"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,6 +66,11 @@
|
||||
"wait": "Please wait",
|
||||
"empty_data": "Subsystem status unknown"
|
||||
},
|
||||
"unifi_drive": {
|
||||
"healthy": "Healthy",
|
||||
"degraded": "Degraded",
|
||||
"no_data": "No storage data available"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
"tx": "TX",
|
||||
@@ -184,6 +189,13 @@
|
||||
"no_active": "No Active Streams",
|
||||
"plex_connection_error": "Check Plex Connection"
|
||||
},
|
||||
"tracearr": {
|
||||
"no_active": "No Active Streams",
|
||||
"streams": "Streams",
|
||||
"transcodes": "Transcodes",
|
||||
"directplay": "Direct Play",
|
||||
"bitrate": "Bitrate"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Connected APs",
|
||||
"activeUser": "Active devices",
|
||||
@@ -282,17 +294,13 @@
|
||||
"approved": "Hyväksytty",
|
||||
"available": "Saatavilla"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"seerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
"completed": "Completed",
|
||||
"processing": "Processing",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"netalertx": {
|
||||
"total": "Total",
|
||||
@@ -1171,5 +1179,11 @@
|
||||
"paused": "Paused",
|
||||
"total": "Total",
|
||||
"environment_not_found": "Environment Not Found"
|
||||
},
|
||||
"sparkyfitness": {
|
||||
"eaten": "Eaten",
|
||||
"burned": "Burned",
|
||||
"remaining": "Remaining",
|
||||
"steps": "Steps"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,6 +66,11 @@
|
||||
"wait": "Veuillez patienter",
|
||||
"empty_data": "Statut du sous-système inconnu"
|
||||
},
|
||||
"unifi_drive": {
|
||||
"healthy": "Healthy",
|
||||
"degraded": "Degraded",
|
||||
"no_data": "No storage data available"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "Rx",
|
||||
"tx": "Tx",
|
||||
@@ -108,8 +113,8 @@
|
||||
"songs": "Morceaux"
|
||||
},
|
||||
"jellyfin": {
|
||||
"playing": "Playing",
|
||||
"transcoding": "Transcoding",
|
||||
"playing": "En cours",
|
||||
"transcoding": "En cours d'encodage",
|
||||
"bitrate": "Bitrate",
|
||||
"no_active": "No Active Streams",
|
||||
"movies": "Movies",
|
||||
@@ -184,6 +189,13 @@
|
||||
"no_active": "Aucune lecture en cours",
|
||||
"plex_connection_error": "Vérifier la connexion à Plex"
|
||||
},
|
||||
"tracearr": {
|
||||
"no_active": "No Active Streams",
|
||||
"streams": "Streams",
|
||||
"transcodes": "Transcodes",
|
||||
"directplay": "Direct Play",
|
||||
"bitrate": "Bitrate"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "APs connectées",
|
||||
"activeUser": "Périphériques actifs",
|
||||
@@ -282,17 +294,13 @@
|
||||
"approved": "Approuvé",
|
||||
"available": "Disponible"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"pending": "En attente",
|
||||
"approved": "Approuvé",
|
||||
"available": "Disponible",
|
||||
"issues": "Problèmes non résolus"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "En attente",
|
||||
"processing": "En cours de traitement",
|
||||
"approved": "Approuvé",
|
||||
"available": "Disponible"
|
||||
"seerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available",
|
||||
"completed": "Completed",
|
||||
"processing": "Processing",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"netalertx": {
|
||||
"total": "Total",
|
||||
@@ -613,9 +621,9 @@
|
||||
"pangolin": {
|
||||
"orgs": "Orgs",
|
||||
"sites": "Sites",
|
||||
"resources": "Resources",
|
||||
"targets": "Targets",
|
||||
"traffic": "Traffic",
|
||||
"resources": "Ressources",
|
||||
"targets": "Cibles",
|
||||
"traffic": "Trafique",
|
||||
"in": "In",
|
||||
"out": "Out"
|
||||
},
|
||||
@@ -712,7 +720,7 @@
|
||||
},
|
||||
"diskstation": {
|
||||
"days": "Jours",
|
||||
"uptime": "Disponibilité",
|
||||
"uptime": "Démarré depuis",
|
||||
"volumeAvailable": "Disponible"
|
||||
},
|
||||
"dispatcharr": {
|
||||
@@ -743,7 +751,7 @@
|
||||
"grafana": {
|
||||
"dashboards": "Tableau de bord",
|
||||
"datasources": "Sources données",
|
||||
"totalalerts": "Total alertes",
|
||||
"totalalerts": "Alertes totales",
|
||||
"alertstriggered": "Alertes déclenchées"
|
||||
},
|
||||
"nextcloud": {
|
||||
@@ -942,7 +950,7 @@
|
||||
"studios": "Studios",
|
||||
"movies": "Films",
|
||||
"tags": "Tags",
|
||||
"oCount": "0 Compte"
|
||||
"oCount": "O-mètre"
|
||||
},
|
||||
"tandoor": {
|
||||
"users": "Utilisateurs",
|
||||
@@ -1171,5 +1179,11 @@
|
||||
"paused": "Paused",
|
||||
"total": "Total",
|
||||
"environment_not_found": "Environment Not Found"
|
||||
},
|
||||
"sparkyfitness": {
|
||||
"eaten": "Eaten",
|
||||
"burned": "Burned",
|
||||
"remaining": "Remaining",
|
||||
"steps": "Steps"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,6 +66,11 @@
|
||||
"wait": "נא להמתין",
|
||||
"empty_data": "מצב תת-מערכת לא ידוע"
|
||||
},
|
||||
"unifi_drive": {
|
||||
"healthy": "Healthy",
|
||||
"degraded": "Degraded",
|
||||
"no_data": "No storage data available"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
"tx": "TX",
|
||||
@@ -184,6 +189,13 @@
|
||||
"no_active": "אין הזרמות פעילות",
|
||||
"plex_connection_error": "בדוק חיבור ל-Plex"
|
||||
},
|
||||
"tracearr": {
|
||||
"no_active": "No Active Streams",
|
||||
"streams": "Streams",
|
||||
"transcodes": "Transcodes",
|
||||
"directplay": "Direct Play",
|
||||
"bitrate": "Bitrate"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "נקודות גישה מחוברות",
|
||||
"activeUser": "מכשירים פעילים",
|
||||
@@ -282,18 +294,14 @@
|
||||
"approved": "מאושר",
|
||||
"available": "זמין"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"pending": "ממתין לאישור",
|
||||
"approved": "מאושר",
|
||||
"available": "זמין",
|
||||
"seerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available",
|
||||
"completed": "Completed",
|
||||
"processing": "Processing",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "ממתין לאישור",
|
||||
"processing": "מעבד",
|
||||
"approved": "מאושר",
|
||||
"available": "זמין"
|
||||
},
|
||||
"netalertx": {
|
||||
"total": "סה\"כ",
|
||||
"connected": "מחובר",
|
||||
@@ -1171,5 +1179,11 @@
|
||||
"paused": "Paused",
|
||||
"total": "Total",
|
||||
"environment_not_found": "Environment Not Found"
|
||||
},
|
||||
"sparkyfitness": {
|
||||
"eaten": "Eaten",
|
||||
"burned": "Burned",
|
||||
"remaining": "Remaining",
|
||||
"steps": "Steps"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,6 +66,11 @@
|
||||
"wait": "Please wait",
|
||||
"empty_data": "Subsystem status unknown"
|
||||
},
|
||||
"unifi_drive": {
|
||||
"healthy": "Healthy",
|
||||
"degraded": "Degraded",
|
||||
"no_data": "No storage data available"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
"tx": "TX",
|
||||
@@ -184,6 +189,13 @@
|
||||
"no_active": "No Active Streams",
|
||||
"plex_connection_error": "Check Plex Connection"
|
||||
},
|
||||
"tracearr": {
|
||||
"no_active": "No Active Streams",
|
||||
"streams": "Streams",
|
||||
"transcodes": "Transcodes",
|
||||
"directplay": "Direct Play",
|
||||
"bitrate": "Bitrate"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Connected APs",
|
||||
"activeUser": "Active devices",
|
||||
@@ -282,17 +294,13 @@
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"seerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
"completed": "Completed",
|
||||
"processing": "Processing",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"netalertx": {
|
||||
"total": "Total",
|
||||
@@ -1171,5 +1179,11 @@
|
||||
"paused": "Paused",
|
||||
"total": "Total",
|
||||
"environment_not_found": "Environment Not Found"
|
||||
},
|
||||
"sparkyfitness": {
|
||||
"eaten": "Eaten",
|
||||
"burned": "Burned",
|
||||
"remaining": "Remaining",
|
||||
"steps": "Steps"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,6 +66,11 @@
|
||||
"wait": "Pričekaj",
|
||||
"empty_data": "Stanje podsustava nepoznato"
|
||||
},
|
||||
"unifi_drive": {
|
||||
"healthy": "Healthy",
|
||||
"degraded": "Degraded",
|
||||
"no_data": "No storage data available"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
"tx": "TX",
|
||||
@@ -108,14 +113,14 @@
|
||||
"songs": "Pjesme"
|
||||
},
|
||||
"jellyfin": {
|
||||
"playing": "Playing",
|
||||
"transcoding": "Transcoding",
|
||||
"bitrate": "Bitrate",
|
||||
"playing": "Reprodukcija u tijeku",
|
||||
"transcoding": "Prekodiranje",
|
||||
"bitrate": "Stopa bitova",
|
||||
"no_active": "No Active Streams",
|
||||
"movies": "Movies",
|
||||
"series": "Series",
|
||||
"episodes": "Episodes",
|
||||
"songs": "Songs"
|
||||
"movies": "Filmovi",
|
||||
"series": "Serije",
|
||||
"episodes": "Epizode",
|
||||
"songs": "Pjesme"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "Offline",
|
||||
@@ -184,6 +189,13 @@
|
||||
"no_active": "Nema aktivnih prijenosa",
|
||||
"plex_connection_error": "Provjeri Plex vezu"
|
||||
},
|
||||
"tracearr": {
|
||||
"no_active": "No Active Streams",
|
||||
"streams": "Streams",
|
||||
"transcodes": "Prekodiranja",
|
||||
"directplay": "Izravna reprodukcija",
|
||||
"bitrate": "Stopa bitova"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Povezani AP-ovi",
|
||||
"activeUser": "Aktivni uređaji",
|
||||
@@ -282,17 +294,13 @@
|
||||
"approved": "Odobreno",
|
||||
"available": "Dostupno"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"pending": "U tijeku",
|
||||
"seerr": {
|
||||
"pending": "Na čekanju",
|
||||
"approved": "Odobreno",
|
||||
"available": "Dostupno",
|
||||
"issues": "Otvoreni problemi"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "U tijeku",
|
||||
"completed": "Dovršeno",
|
||||
"processing": "Obrada",
|
||||
"approved": "Odobreno",
|
||||
"available": "Dostupno"
|
||||
"issues": "Otvoreni problemi"
|
||||
},
|
||||
"netalertx": {
|
||||
"total": "Ukupno",
|
||||
@@ -543,7 +551,7 @@
|
||||
"up": "Aktivno",
|
||||
"pending": "U tijeku",
|
||||
"down": "Neaktivno",
|
||||
"ok": "Ok"
|
||||
"ok": "U redu"
|
||||
},
|
||||
"healthchecks": {
|
||||
"new": "Novo",
|
||||
@@ -611,11 +619,11 @@
|
||||
"total": "Ukupno"
|
||||
},
|
||||
"pangolin": {
|
||||
"orgs": "Orgs",
|
||||
"sites": "Sites",
|
||||
"resources": "Resources",
|
||||
"targets": "Targets",
|
||||
"traffic": "Traffic",
|
||||
"orgs": "Organizacije",
|
||||
"sites": "Web-stranice",
|
||||
"resources": "Resursi",
|
||||
"targets": "Ciljevi",
|
||||
"traffic": "Promet",
|
||||
"in": "In",
|
||||
"out": "Out"
|
||||
},
|
||||
@@ -716,7 +724,7 @@
|
||||
"volumeAvailable": "Dostupno"
|
||||
},
|
||||
"dispatcharr": {
|
||||
"channels": "Channels",
|
||||
"channels": "Kanali",
|
||||
"streams": "Streams"
|
||||
},
|
||||
"mylar": {
|
||||
@@ -808,10 +816,10 @@
|
||||
"series": "Serije"
|
||||
},
|
||||
"booklore": {
|
||||
"libraries": "Libraries",
|
||||
"books": "Books",
|
||||
"reading": "Reading",
|
||||
"finished": "Finished"
|
||||
"libraries": "Knjižnice",
|
||||
"books": "Knjige",
|
||||
"reading": "Čitanje",
|
||||
"finished": "Završeno"
|
||||
},
|
||||
"jdownloader": {
|
||||
"downloadCount": "Red čekanja",
|
||||
@@ -1152,24 +1160,30 @@
|
||||
"artists": "Izvođači"
|
||||
},
|
||||
"arcane": {
|
||||
"containers": "Containers",
|
||||
"images": "Images",
|
||||
"image_updates": "Image Updates",
|
||||
"images_unused": "Unused",
|
||||
"environment_required": "Environment ID Required"
|
||||
"containers": "Kontejneri",
|
||||
"images": "Slike",
|
||||
"image_updates": "Aktualizirane slike",
|
||||
"images_unused": "Nekorišteno",
|
||||
"environment_required": "ID okruženja se mora navesti"
|
||||
},
|
||||
"dockhand": {
|
||||
"running": "Running",
|
||||
"stopped": "Stopped",
|
||||
"running": "Pokreće se",
|
||||
"stopped": "Zaustavljeno",
|
||||
"cpu": "CPU",
|
||||
"memory": "Memory",
|
||||
"images": "Images",
|
||||
"volumes": "Volumes",
|
||||
"events_today": "Events Today",
|
||||
"pending_updates": "Pending Updates",
|
||||
"memory": "Memorija",
|
||||
"images": "Slike",
|
||||
"volumes": "Jedinice memorije",
|
||||
"events_today": "Događanja danas",
|
||||
"pending_updates": "Aktualiziranja na čekanju",
|
||||
"stacks": "Stacks",
|
||||
"paused": "Paused",
|
||||
"total": "Total",
|
||||
"environment_not_found": "Environment Not Found"
|
||||
"paused": "Pauzirano",
|
||||
"total": "Ukupno",
|
||||
"environment_not_found": "Okruženje nije pronađeno"
|
||||
},
|
||||
"sparkyfitness": {
|
||||
"eaten": "Pojedeno",
|
||||
"burned": "Potrošeno",
|
||||
"remaining": "Preostalo",
|
||||
"steps": "Koraci"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,6 +66,11 @@
|
||||
"wait": "Kérjük várjon",
|
||||
"empty_data": "Az alrendszer állapota ismeretlen"
|
||||
},
|
||||
"unifi_drive": {
|
||||
"healthy": "Healthy",
|
||||
"degraded": "Degraded",
|
||||
"no_data": "No storage data available"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
"tx": "TX",
|
||||
@@ -184,6 +189,13 @@
|
||||
"no_active": "Nincs aktív lejátszás",
|
||||
"plex_connection_error": "Plex kapcsolat ellenőrzése"
|
||||
},
|
||||
"tracearr": {
|
||||
"no_active": "No Active Streams",
|
||||
"streams": "Streams",
|
||||
"transcodes": "Transcodes",
|
||||
"directplay": "Direct Play",
|
||||
"bitrate": "Bitrate"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Csatlakoztatott AP-k",
|
||||
"activeUser": "Aktív eszközök",
|
||||
@@ -282,17 +294,13 @@
|
||||
"approved": "Engedélyezett",
|
||||
"available": "Elérhető"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"pending": "Függőben lévő",
|
||||
"approved": "Jóváhagyott",
|
||||
"available": "Elérhető",
|
||||
"issues": "Nyitott problémák"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Függőben lévő",
|
||||
"processing": "Feldolgozás",
|
||||
"approved": "Jóváhagyott",
|
||||
"available": "Elérhető"
|
||||
"seerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available",
|
||||
"completed": "Completed",
|
||||
"processing": "Processing",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"netalertx": {
|
||||
"total": "Összes",
|
||||
@@ -1171,5 +1179,11 @@
|
||||
"paused": "Paused",
|
||||
"total": "Total",
|
||||
"environment_not_found": "Environment Not Found"
|
||||
},
|
||||
"sparkyfitness": {
|
||||
"eaten": "Eaten",
|
||||
"burned": "Burned",
|
||||
"remaining": "Remaining",
|
||||
"steps": "Steps"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,6 +66,11 @@
|
||||
"wait": "Please wait",
|
||||
"empty_data": "Status subsistem tdk diketahui"
|
||||
},
|
||||
"unifi_drive": {
|
||||
"healthy": "Healthy",
|
||||
"degraded": "Degraded",
|
||||
"no_data": "No storage data available"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
"tx": "TX",
|
||||
@@ -184,6 +189,13 @@
|
||||
"no_active": "No Active Streams",
|
||||
"plex_connection_error": "Cek Koneksi ke Plex"
|
||||
},
|
||||
"tracearr": {
|
||||
"no_active": "No Active Streams",
|
||||
"streams": "Streams",
|
||||
"transcodes": "Transcodes",
|
||||
"directplay": "Direct Play",
|
||||
"bitrate": "Bitrate"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "AP Tersambung",
|
||||
"activeUser": "Perangakat yang Aktif",
|
||||
@@ -282,18 +294,14 @@
|
||||
"approved": "Tersetujui",
|
||||
"available": "Tersedia"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"seerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available",
|
||||
"completed": "Completed",
|
||||
"processing": "Processing",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
"processing": "Memproses",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
},
|
||||
"netalertx": {
|
||||
"total": "Total",
|
||||
"connected": "Connected",
|
||||
@@ -1171,5 +1179,11 @@
|
||||
"paused": "Paused",
|
||||
"total": "Total",
|
||||
"environment_not_found": "Environment Not Found"
|
||||
},
|
||||
"sparkyfitness": {
|
||||
"eaten": "Eaten",
|
||||
"burned": "Burned",
|
||||
"remaining": "Remaining",
|
||||
"steps": "Steps"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,6 +66,11 @@
|
||||
"wait": "Please wait",
|
||||
"empty_data": "Stato del sottosistema sconosciuto"
|
||||
},
|
||||
"unifi_drive": {
|
||||
"healthy": "Healthy",
|
||||
"degraded": "Degraded",
|
||||
"no_data": "No storage data available"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
"tx": "TX",
|
||||
@@ -113,7 +118,7 @@
|
||||
"bitrate": "Bitrate",
|
||||
"no_active": "No Active Streams",
|
||||
"movies": "Movies",
|
||||
"series": "Series",
|
||||
"series": "Serie",
|
||||
"episodes": "Episodes",
|
||||
"songs": "Songs"
|
||||
},
|
||||
@@ -184,6 +189,13 @@
|
||||
"no_active": "No Active Streams",
|
||||
"plex_connection_error": "Controllare la connessione a Plex"
|
||||
},
|
||||
"tracearr": {
|
||||
"no_active": "No Active Streams",
|
||||
"streams": "Streams",
|
||||
"transcodes": "Transcodes",
|
||||
"directplay": "Direct Play",
|
||||
"bitrate": "Bitrate"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "AP Connessi",
|
||||
"activeUser": "Dispositivi attivi",
|
||||
@@ -282,18 +294,14 @@
|
||||
"approved": "Approvati",
|
||||
"available": "Disponibili"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"seerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available",
|
||||
"completed": "Completed",
|
||||
"processing": "Processing",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
"processing": "In lavorazione",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
},
|
||||
"netalertx": {
|
||||
"total": "Total",
|
||||
"connected": "Connected",
|
||||
@@ -318,7 +326,7 @@
|
||||
"ping": "Ping"
|
||||
},
|
||||
"portainer": {
|
||||
"running": "Running",
|
||||
"running": "In esecuzione",
|
||||
"stopped": "Fermati",
|
||||
"total": "Total"
|
||||
},
|
||||
@@ -713,7 +721,7 @@
|
||||
"diskstation": {
|
||||
"days": "Days",
|
||||
"uptime": "Uptime",
|
||||
"volumeAvailable": "Available"
|
||||
"volumeAvailable": "Disponibili"
|
||||
},
|
||||
"dispatcharr": {
|
||||
"channels": "Channels",
|
||||
@@ -1084,9 +1092,9 @@
|
||||
"sharedFiles": "Files"
|
||||
},
|
||||
"jellystat": {
|
||||
"songs": "Songs",
|
||||
"movies": "Movies",
|
||||
"episodes": "Episodes",
|
||||
"songs": "Brani",
|
||||
"movies": "Film",
|
||||
"episodes": "Episodi",
|
||||
"other": "Altro"
|
||||
},
|
||||
"checkmk": {
|
||||
@@ -1110,11 +1118,11 @@
|
||||
"total": "Total"
|
||||
},
|
||||
"wallos": {
|
||||
"activeSubscriptions": "Subscriptions",
|
||||
"thisMonthlyCost": "This Month",
|
||||
"nextMonthlyCost": "Next Month",
|
||||
"activeSubscriptions": "Abbonamenti",
|
||||
"thisMonthlyCost": "Questo Mese",
|
||||
"nextMonthlyCost": "Mese Prossimo",
|
||||
"previousMonthlyCost": "Prev. Month",
|
||||
"nextRenewingSubscription": "Next Payment"
|
||||
"nextRenewingSubscription": ""
|
||||
},
|
||||
"unraid": {
|
||||
"STARTED": "Started",
|
||||
@@ -1171,5 +1179,11 @@
|
||||
"paused": "Paused",
|
||||
"total": "Total",
|
||||
"environment_not_found": "Environment Not Found"
|
||||
},
|
||||
"sparkyfitness": {
|
||||
"eaten": "Eaten",
|
||||
"burned": "Burned",
|
||||
"remaining": "Remaining",
|
||||
"steps": "Steps"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,6 +66,11 @@
|
||||
"wait": "お待ちください",
|
||||
"empty_data": "サブシステムの状態は不明"
|
||||
},
|
||||
"unifi_drive": {
|
||||
"healthy": "Healthy",
|
||||
"degraded": "Degraded",
|
||||
"no_data": "No storage data available"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "受信済み",
|
||||
"tx": "送信済み",
|
||||
@@ -184,6 +189,13 @@
|
||||
"no_active": "No Active Streams",
|
||||
"plex_connection_error": "Plex接続の確認"
|
||||
},
|
||||
"tracearr": {
|
||||
"no_active": "No Active Streams",
|
||||
"streams": "Streams",
|
||||
"transcodes": "Transcodes",
|
||||
"directplay": "Direct Play",
|
||||
"bitrate": "Bitrate"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "接続されたAP",
|
||||
"activeUser": "アクティブデバイス",
|
||||
@@ -282,18 +294,14 @@
|
||||
"approved": "承認済",
|
||||
"available": "利用可"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"seerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available",
|
||||
"completed": "Completed",
|
||||
"processing": "Processing",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
"processing": "処理中",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
},
|
||||
"netalertx": {
|
||||
"total": "Total",
|
||||
"connected": "Connected",
|
||||
@@ -1171,5 +1179,11 @@
|
||||
"paused": "Paused",
|
||||
"total": "Total",
|
||||
"environment_not_found": "Environment Not Found"
|
||||
},
|
||||
"sparkyfitness": {
|
||||
"eaten": "Eaten",
|
||||
"burned": "Burned",
|
||||
"remaining": "Remaining",
|
||||
"steps": "Steps"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,6 +66,11 @@
|
||||
"wait": "잠시만 기다려주세요",
|
||||
"empty_data": "서브시스템 상태 알 수 없음"
|
||||
},
|
||||
"unifi_drive": {
|
||||
"healthy": "Healthy",
|
||||
"degraded": "Degraded",
|
||||
"no_data": "No storage data available"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "수신",
|
||||
"tx": "송신",
|
||||
@@ -108,14 +113,14 @@
|
||||
"songs": "음악"
|
||||
},
|
||||
"jellyfin": {
|
||||
"playing": "Playing",
|
||||
"transcoding": "Transcoding",
|
||||
"bitrate": "Bitrate",
|
||||
"no_active": "No Active Streams",
|
||||
"movies": "Movies",
|
||||
"series": "Series",
|
||||
"episodes": "Episodes",
|
||||
"songs": "Songs"
|
||||
"playing": "재생 중",
|
||||
"transcoding": "트랜스코딩 중",
|
||||
"bitrate": "비트레이트",
|
||||
"no_active": "활성 스트림 없음",
|
||||
"movies": "영상",
|
||||
"series": "시리즈",
|
||||
"episodes": "에피소드",
|
||||
"songs": "음악"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "오프라인",
|
||||
@@ -184,6 +189,13 @@
|
||||
"no_active": "활성 스트림 없음",
|
||||
"plex_connection_error": "Plex 연결 확인"
|
||||
},
|
||||
"tracearr": {
|
||||
"no_active": "활성 스트림 없음",
|
||||
"streams": "스트림",
|
||||
"transcodes": "트랜스코드",
|
||||
"directplay": "다이렉트 플레이",
|
||||
"bitrate": "비트레이트"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "연결된 AP",
|
||||
"activeUser": "활성 장치",
|
||||
@@ -282,17 +294,13 @@
|
||||
"approved": "승인됨",
|
||||
"available": "이용 가능"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"seerr": {
|
||||
"pending": "대기 중",
|
||||
"approved": "승인됨",
|
||||
"available": "이용 가능",
|
||||
"issues": "열린 이슈"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "대기 중",
|
||||
"available": "사용 가능",
|
||||
"completed": "완료됨",
|
||||
"processing": "처리 중",
|
||||
"approved": "승인됨",
|
||||
"available": "이용 가능"
|
||||
"issues": "열린 이슈"
|
||||
},
|
||||
"netalertx": {
|
||||
"total": "전체",
|
||||
@@ -543,7 +551,7 @@
|
||||
"up": "업",
|
||||
"pending": "대기 중",
|
||||
"down": "다운",
|
||||
"ok": "Ok"
|
||||
"ok": "확인"
|
||||
},
|
||||
"healthchecks": {
|
||||
"new": "신규",
|
||||
@@ -615,9 +623,9 @@
|
||||
"sites": "Sites",
|
||||
"resources": "Resources",
|
||||
"targets": "Targets",
|
||||
"traffic": "Traffic",
|
||||
"in": "In",
|
||||
"out": "Out"
|
||||
"traffic": "트래픽",
|
||||
"in": "수신",
|
||||
"out": "송신"
|
||||
},
|
||||
"peanut": {
|
||||
"battery_charge": "배터리 충전",
|
||||
@@ -716,8 +724,8 @@
|
||||
"volumeAvailable": "사용 가능"
|
||||
},
|
||||
"dispatcharr": {
|
||||
"channels": "Channels",
|
||||
"streams": "Streams"
|
||||
"channels": "채널",
|
||||
"streams": "스트림"
|
||||
},
|
||||
"mylar": {
|
||||
"series": "시리즈",
|
||||
@@ -784,7 +792,7 @@
|
||||
"gross_percent_today": "오늘",
|
||||
"gross_percent_1y": "1년",
|
||||
"gross_percent_max": "전체 기간",
|
||||
"net_worth": "Net Worth"
|
||||
"net_worth": "순자산"
|
||||
},
|
||||
"audiobookshelf": {
|
||||
"podcasts": "팟캐스트",
|
||||
@@ -808,10 +816,10 @@
|
||||
"series": "시리즈"
|
||||
},
|
||||
"booklore": {
|
||||
"libraries": "Libraries",
|
||||
"books": "Books",
|
||||
"reading": "Reading",
|
||||
"finished": "Finished"
|
||||
"libraries": "라이브러리",
|
||||
"books": "책",
|
||||
"reading": "읽는 중",
|
||||
"finished": "완료"
|
||||
},
|
||||
"jdownloader": {
|
||||
"downloadCount": "대기열",
|
||||
@@ -1147,29 +1155,35 @@
|
||||
"bytes_added_30": "추가된 용량"
|
||||
},
|
||||
"yourspotify": {
|
||||
"songs": "Songs",
|
||||
"time": "Time",
|
||||
"artists": "Artists"
|
||||
"songs": "음악",
|
||||
"time": "시간",
|
||||
"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",
|
||||
"running": "실행 중",
|
||||
"stopped": "정지됨",
|
||||
"cpu": "CPU",
|
||||
"memory": "Memory",
|
||||
"images": "Images",
|
||||
"volumes": "Volumes",
|
||||
"events_today": "Events Today",
|
||||
"pending_updates": "Pending Updates",
|
||||
"stacks": "Stacks",
|
||||
"paused": "Paused",
|
||||
"total": "Total",
|
||||
"environment_not_found": "Environment Not Found"
|
||||
"memory": "메모리",
|
||||
"images": "이미지",
|
||||
"volumes": "볼륨",
|
||||
"events_today": "오늘의 이벤트",
|
||||
"pending_updates": "대기 중인 업데이트",
|
||||
"stacks": "스택",
|
||||
"paused": "일시정지됨",
|
||||
"total": "전체",
|
||||
"environment_not_found": "환경 없음"
|
||||
},
|
||||
"sparkyfitness": {
|
||||
"eaten": "Eaten",
|
||||
"burned": "Burned",
|
||||
"remaining": "Remaining",
|
||||
"steps": "Steps"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,6 +66,11 @@
|
||||
"wait": "Please wait",
|
||||
"empty_data": "Subsystem status unknown"
|
||||
},
|
||||
"unifi_drive": {
|
||||
"healthy": "Healthy",
|
||||
"degraded": "Degraded",
|
||||
"no_data": "No storage data available"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
"tx": "TX",
|
||||
@@ -184,6 +189,13 @@
|
||||
"no_active": "No Active Streams",
|
||||
"plex_connection_error": "Check Plex Connection"
|
||||
},
|
||||
"tracearr": {
|
||||
"no_active": "No Active Streams",
|
||||
"streams": "Streams",
|
||||
"transcodes": "Transcodes",
|
||||
"directplay": "Direct Play",
|
||||
"bitrate": "Bitrate"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Savienotie piekļuves punkti",
|
||||
"activeUser": "Aktīvās ierīces",
|
||||
@@ -282,17 +294,13 @@
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"seerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
"completed": "Completed",
|
||||
"processing": "Processing",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"netalertx": {
|
||||
"total": "Total",
|
||||
@@ -1171,5 +1179,11 @@
|
||||
"paused": "Paused",
|
||||
"total": "Total",
|
||||
"environment_not_found": "Environment Not Found"
|
||||
},
|
||||
"sparkyfitness": {
|
||||
"eaten": "Eaten",
|
||||
"burned": "Burned",
|
||||
"remaining": "Remaining",
|
||||
"steps": "Steps"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,6 +66,11 @@
|
||||
"wait": "Please wait",
|
||||
"empty_data": "Status subsistem tak diketahui"
|
||||
},
|
||||
"unifi_drive": {
|
||||
"healthy": "Healthy",
|
||||
"degraded": "Degraded",
|
||||
"no_data": "No storage data available"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
"tx": "TX",
|
||||
@@ -184,6 +189,13 @@
|
||||
"no_active": "No Active Streams",
|
||||
"plex_connection_error": "Check Plex Connection"
|
||||
},
|
||||
"tracearr": {
|
||||
"no_active": "No Active Streams",
|
||||
"streams": "Streams",
|
||||
"transcodes": "Transcodes",
|
||||
"directplay": "Direct Play",
|
||||
"bitrate": "Bitrate"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Connected APs",
|
||||
"activeUser": "Peranti aktif",
|
||||
@@ -282,17 +294,13 @@
|
||||
"approved": "Lulus",
|
||||
"available": "Sudah Ada"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"seerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
"completed": "Completed",
|
||||
"processing": "Processing",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"netalertx": {
|
||||
"total": "Total",
|
||||
@@ -1171,5 +1179,11 @@
|
||||
"paused": "Paused",
|
||||
"total": "Total",
|
||||
"environment_not_found": "Environment Not Found"
|
||||
},
|
||||
"sparkyfitness": {
|
||||
"eaten": "Eaten",
|
||||
"burned": "Burned",
|
||||
"remaining": "Remaining",
|
||||
"steps": "Steps"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,6 +66,11 @@
|
||||
"wait": "Even geduld",
|
||||
"empty_data": "Subsysteem status onbekend"
|
||||
},
|
||||
"unifi_drive": {
|
||||
"healthy": "Healthy",
|
||||
"degraded": "Degraded",
|
||||
"no_data": "No storage data available"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
"tx": "TX",
|
||||
@@ -184,6 +189,13 @@
|
||||
"no_active": "Geen Actieve Streams",
|
||||
"plex_connection_error": "Controleer Plex Connectie"
|
||||
},
|
||||
"tracearr": {
|
||||
"no_active": "No Active Streams",
|
||||
"streams": "Streams",
|
||||
"transcodes": "Transcodes",
|
||||
"directplay": "Direct Play",
|
||||
"bitrate": "Bitrate"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Verbonden APs",
|
||||
"activeUser": "Actieve apparaten",
|
||||
@@ -282,18 +294,14 @@
|
||||
"approved": "Goedgekeurd",
|
||||
"available": "Beschikbaar"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"pending": "In afwachting",
|
||||
"approved": "Goedgekeurd",
|
||||
"available": "Beschikbaar",
|
||||
"seerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available",
|
||||
"completed": "Completed",
|
||||
"processing": "Processing",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "In afwachting",
|
||||
"processing": "Verwerken",
|
||||
"approved": "Goedgekeurd",
|
||||
"available": "Beschikbaar"
|
||||
},
|
||||
"netalertx": {
|
||||
"total": "Totaal",
|
||||
"connected": "Verbonden",
|
||||
@@ -1171,5 +1179,11 @@
|
||||
"paused": "Paused",
|
||||
"total": "Total",
|
||||
"environment_not_found": "Environment Not Found"
|
||||
},
|
||||
"sparkyfitness": {
|
||||
"eaten": "Eaten",
|
||||
"burned": "Burned",
|
||||
"remaining": "Remaining",
|
||||
"steps": "Steps"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,6 +66,11 @@
|
||||
"wait": "Please wait",
|
||||
"empty_data": "Ukjent undersystemstatus"
|
||||
},
|
||||
"unifi_drive": {
|
||||
"healthy": "Healthy",
|
||||
"degraded": "Degraded",
|
||||
"no_data": "No storage data available"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
"tx": "TX",
|
||||
@@ -184,6 +189,13 @@
|
||||
"no_active": "No Active Streams",
|
||||
"plex_connection_error": "Kontroller Plex tilkoblingen"
|
||||
},
|
||||
"tracearr": {
|
||||
"no_active": "No Active Streams",
|
||||
"streams": "Streams",
|
||||
"transcodes": "Transcodes",
|
||||
"directplay": "Direct Play",
|
||||
"bitrate": "Bitrate"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Tilkoblede AP'er",
|
||||
"activeUser": "Aktive enheter",
|
||||
@@ -282,18 +294,14 @@
|
||||
"approved": "Godkjent",
|
||||
"available": "Tilgjengelig"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"seerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available",
|
||||
"completed": "Completed",
|
||||
"processing": "Processing",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
"processing": "Behandler",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
},
|
||||
"netalertx": {
|
||||
"total": "Total",
|
||||
"connected": "Connected",
|
||||
@@ -1171,5 +1179,11 @@
|
||||
"paused": "Paused",
|
||||
"total": "Total",
|
||||
"environment_not_found": "Environment Not Found"
|
||||
},
|
||||
"sparkyfitness": {
|
||||
"eaten": "Eaten",
|
||||
"burned": "Burned",
|
||||
"remaining": "Remaining",
|
||||
"steps": "Steps"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,6 +66,11 @@
|
||||
"wait": "Proszę czekać",
|
||||
"empty_data": "Status podsystemu nieznany"
|
||||
},
|
||||
"unifi_drive": {
|
||||
"healthy": "Healthy",
|
||||
"degraded": "Degraded",
|
||||
"no_data": "No storage data available"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "Rx",
|
||||
"tx": "Tx",
|
||||
@@ -108,14 +113,14 @@
|
||||
"songs": "Piosenki"
|
||||
},
|
||||
"jellyfin": {
|
||||
"playing": "Playing",
|
||||
"transcoding": "Transcoding",
|
||||
"playing": "Odtwarza",
|
||||
"transcoding": "Transkoduje",
|
||||
"bitrate": "Bitrate",
|
||||
"no_active": "No Active Streams",
|
||||
"movies": "Movies",
|
||||
"series": "Series",
|
||||
"episodes": "Episodes",
|
||||
"songs": "Songs"
|
||||
"no_active": "Brak aktywnych strumieni",
|
||||
"movies": "Filmy",
|
||||
"series": "Seriale",
|
||||
"episodes": "Odcinki",
|
||||
"songs": "Piosenki"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "Offline",
|
||||
@@ -184,6 +189,13 @@
|
||||
"no_active": "Brak aktywnych strumieni",
|
||||
"plex_connection_error": "Sprawdź połączenie z Plex"
|
||||
},
|
||||
"tracearr": {
|
||||
"no_active": "Brak aktywnych strumieni",
|
||||
"streams": "Strumienie",
|
||||
"transcodes": "Transkodowania",
|
||||
"directplay": "Odtwarzanie bezpośrednie",
|
||||
"bitrate": "Bitrate"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Połączone punkty dostępowe",
|
||||
"activeUser": "Aktywne urządzenia",
|
||||
@@ -282,17 +294,13 @@
|
||||
"approved": "Zaakceptowane",
|
||||
"available": "Dostępne"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"seerr": {
|
||||
"pending": "Oczekujące",
|
||||
"approved": "Zaakceptowane",
|
||||
"available": "Dostępne",
|
||||
"issues": "Otwarte zgłoszenia"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Oczekujące",
|
||||
"completed": "Ukończone",
|
||||
"processing": "Przetwarzane",
|
||||
"approved": "Zaakceptowane",
|
||||
"available": "Dostępne"
|
||||
"issues": "Otwarte zgłoszenia"
|
||||
},
|
||||
"netalertx": {
|
||||
"total": "Razem",
|
||||
@@ -716,8 +724,8 @@
|
||||
"volumeAvailable": "Dostępne"
|
||||
},
|
||||
"dispatcharr": {
|
||||
"channels": "Channels",
|
||||
"streams": "Streams"
|
||||
"channels": "Kanały",
|
||||
"streams": "Strumienie"
|
||||
},
|
||||
"mylar": {
|
||||
"series": "Seriale",
|
||||
@@ -1152,11 +1160,11 @@
|
||||
"artists": "Wykonawcy"
|
||||
},
|
||||
"arcane": {
|
||||
"containers": "Containers",
|
||||
"images": "Images",
|
||||
"image_updates": "Image Updates",
|
||||
"images_unused": "Unused",
|
||||
"environment_required": "Environment ID Required"
|
||||
"containers": "Kontenery",
|
||||
"images": "Obrazy",
|
||||
"image_updates": "Aktualizacje obrazów",
|
||||
"images_unused": "Nieużywane",
|
||||
"environment_required": "Wymagane ID środowiska"
|
||||
},
|
||||
"dockhand": {
|
||||
"running": "Działające",
|
||||
@@ -1171,5 +1179,11 @@
|
||||
"paused": "Wstrzymane",
|
||||
"total": "Razem",
|
||||
"environment_not_found": "Środowisko nie znalezione"
|
||||
},
|
||||
"sparkyfitness": {
|
||||
"eaten": "Zjedzone",
|
||||
"burned": "Spalone",
|
||||
"remaining": "Pozostało",
|
||||
"steps": "Kroki"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,6 +66,11 @@
|
||||
"wait": "Please wait",
|
||||
"empty_data": "Status de Subsistema Desconhecido"
|
||||
},
|
||||
"unifi_drive": {
|
||||
"healthy": "Healthy",
|
||||
"degraded": "Degraded",
|
||||
"no_data": "No storage data available"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "Rx",
|
||||
"tx": "Tx",
|
||||
@@ -184,6 +189,13 @@
|
||||
"no_active": "No Active Streams",
|
||||
"plex_connection_error": "Verifique a conexão do Plex"
|
||||
},
|
||||
"tracearr": {
|
||||
"no_active": "No Active Streams",
|
||||
"streams": "Streams",
|
||||
"transcodes": "Transcodes",
|
||||
"directplay": "Direct Play",
|
||||
"bitrate": "Bitrate"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "APs Ligados",
|
||||
"activeUser": "Dispositivos activos",
|
||||
@@ -282,18 +294,14 @@
|
||||
"approved": "Aprovado",
|
||||
"available": "Disponível"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"seerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available",
|
||||
"completed": "Completed",
|
||||
"processing": "Processing",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
"processing": "A Processar",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
},
|
||||
"netalertx": {
|
||||
"total": "Total",
|
||||
"connected": "Connected",
|
||||
@@ -1171,5 +1179,11 @@
|
||||
"paused": "Paused",
|
||||
"total": "Total",
|
||||
"environment_not_found": "Environment Not Found"
|
||||
},
|
||||
"sparkyfitness": {
|
||||
"eaten": "Eaten",
|
||||
"burned": "Burned",
|
||||
"remaining": "Remaining",
|
||||
"steps": "Steps"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
"date": "{{value, date}}",
|
||||
"relativeDate": "{{value, relativeDate}}",
|
||||
"duration": "{{value, duration}}",
|
||||
"months": "M",
|
||||
"months": "mo",
|
||||
"days": "d",
|
||||
"hours": "h",
|
||||
"minutes": "m",
|
||||
@@ -66,9 +66,14 @@
|
||||
"wait": "Por favor, aguarde",
|
||||
"empty_data": "Status do Subsistema desconhecido"
|
||||
},
|
||||
"unifi_drive": {
|
||||
"healthy": "Healthy",
|
||||
"degraded": "Degraded",
|
||||
"no_data": "No storage data available"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "Rx",
|
||||
"tx": "Tx",
|
||||
"rx": "RX",
|
||||
"tx": "TX",
|
||||
"mem": "MEM",
|
||||
"cpu": "CPU",
|
||||
"running": "Executando",
|
||||
@@ -101,21 +106,21 @@
|
||||
"playing": "A reproduzir",
|
||||
"transcoding": "Transcodificação",
|
||||
"bitrate": "Taxa de bits",
|
||||
"no_active": "Sem Streams Ativos",
|
||||
"no_active": "Sem Transmissões Ativas",
|
||||
"movies": "Filmes",
|
||||
"series": "Séries",
|
||||
"episodes": "Episódios",
|
||||
"songs": "Canções"
|
||||
},
|
||||
"jellyfin": {
|
||||
"playing": "Playing",
|
||||
"playing": "Jogando",
|
||||
"transcoding": "Transcoding",
|
||||
"bitrate": "Bitrate",
|
||||
"no_active": "No Active Streams",
|
||||
"movies": "Movies",
|
||||
"series": "Series",
|
||||
"episodes": "Episodes",
|
||||
"songs": "Songs"
|
||||
"movies": "Filmes",
|
||||
"series": "Séries",
|
||||
"episodes": "Episódios",
|
||||
"songs": "Músicas"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "Offline",
|
||||
@@ -184,6 +189,13 @@
|
||||
"no_active": "Sem Streams Ativos",
|
||||
"plex_connection_error": "Verifique a conexão do Plex"
|
||||
},
|
||||
"tracearr": {
|
||||
"no_active": "No Active Streams",
|
||||
"streams": "Streams",
|
||||
"transcodes": "Transcodes",
|
||||
"directplay": "Direct Play",
|
||||
"bitrate": "Bitrate"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "APs Ligados",
|
||||
"activeUser": "Dispositivos ativos",
|
||||
@@ -282,17 +294,13 @@
|
||||
"approved": "Aprovada",
|
||||
"available": "Disponível"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"seerr": {
|
||||
"pending": "Pendente",
|
||||
"approved": "Aprovado",
|
||||
"available": "Disponível",
|
||||
"issues": "Incidentes Abertos"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pendente",
|
||||
"completed": "Concluído",
|
||||
"processing": "Processando",
|
||||
"approved": "Aprovado",
|
||||
"available": "Disponível"
|
||||
"issues": "Erros pendentes"
|
||||
},
|
||||
"netalertx": {
|
||||
"total": "Total",
|
||||
@@ -613,7 +621,7 @@
|
||||
"pangolin": {
|
||||
"orgs": "Orgs",
|
||||
"sites": "Sites",
|
||||
"resources": "Resources",
|
||||
"resources": "Recursos",
|
||||
"targets": "Targets",
|
||||
"traffic": "Traffic",
|
||||
"in": "In",
|
||||
@@ -716,8 +724,8 @@
|
||||
"volumeAvailable": "Disponível"
|
||||
},
|
||||
"dispatcharr": {
|
||||
"channels": "Channels",
|
||||
"streams": "Streams"
|
||||
"channels": "Canais",
|
||||
"streams": "Transmissões"
|
||||
},
|
||||
"mylar": {
|
||||
"series": "Séries",
|
||||
@@ -808,10 +816,10 @@
|
||||
"series": "Séries"
|
||||
},
|
||||
"booklore": {
|
||||
"libraries": "Libraries",
|
||||
"books": "Books",
|
||||
"reading": "Reading",
|
||||
"finished": "Finished"
|
||||
"libraries": "Bibliotecas",
|
||||
"books": "Livros",
|
||||
"reading": "Lendo",
|
||||
"finished": "Finalizado"
|
||||
},
|
||||
"jdownloader": {
|
||||
"downloadCount": "Fila de espera",
|
||||
@@ -1152,24 +1160,30 @@
|
||||
"artists": "Artistas"
|
||||
},
|
||||
"arcane": {
|
||||
"containers": "Containers",
|
||||
"images": "Images",
|
||||
"image_updates": "Image Updates",
|
||||
"images_unused": "Unused",
|
||||
"containers": "Recipientes",
|
||||
"images": "Imagens",
|
||||
"image_updates": "Atualizações de Imagem",
|
||||
"images_unused": "Não utilizado",
|
||||
"environment_required": "Environment ID Required"
|
||||
},
|
||||
"dockhand": {
|
||||
"running": "Running",
|
||||
"running": "Executando",
|
||||
"stopped": "Stopped",
|
||||
"cpu": "CPU",
|
||||
"memory": "Memory",
|
||||
"images": "Images",
|
||||
"volumes": "Volumes",
|
||||
"events_today": "Events Today",
|
||||
"pending_updates": "Pending Updates",
|
||||
"stacks": "Stacks",
|
||||
"paused": "Paused",
|
||||
"memory": "Memória",
|
||||
"images": "Imagens",
|
||||
"volumes": "Quantidades",
|
||||
"events_today": "Eventos hoje",
|
||||
"pending_updates": "Atualizações pendentes",
|
||||
"stacks": "Pilhas",
|
||||
"paused": "Pausado",
|
||||
"total": "Total",
|
||||
"environment_not_found": "Environment Not Found"
|
||||
},
|
||||
"sparkyfitness": {
|
||||
"eaten": "Eaten",
|
||||
"burned": "Burned",
|
||||
"remaining": "Remaining",
|
||||
"steps": "Steps"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,6 +66,11 @@
|
||||
"wait": "Please wait",
|
||||
"empty_data": "Starea subsistemului este necunoscut"
|
||||
},
|
||||
"unifi_drive": {
|
||||
"healthy": "Healthy",
|
||||
"degraded": "Degraded",
|
||||
"no_data": "No storage data available"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
"tx": "TX",
|
||||
@@ -184,6 +189,13 @@
|
||||
"no_active": "No Active Streams",
|
||||
"plex_connection_error": "Check Plex Connection"
|
||||
},
|
||||
"tracearr": {
|
||||
"no_active": "No Active Streams",
|
||||
"streams": "Streams",
|
||||
"transcodes": "Transcodes",
|
||||
"directplay": "Direct Play",
|
||||
"bitrate": "Bitrate"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Connected APs",
|
||||
"activeUser": "Dispozitive active",
|
||||
@@ -282,18 +294,14 @@
|
||||
"approved": "Aprobate",
|
||||
"available": "Disponibile"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"seerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available",
|
||||
"completed": "Completed",
|
||||
"processing": "Processing",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
"processing": "Procesare",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
},
|
||||
"netalertx": {
|
||||
"total": "Total",
|
||||
"connected": "Connected",
|
||||
@@ -1171,5 +1179,11 @@
|
||||
"paused": "Paused",
|
||||
"total": "Total",
|
||||
"environment_not_found": "Environment Not Found"
|
||||
},
|
||||
"sparkyfitness": {
|
||||
"eaten": "Eaten",
|
||||
"burned": "Burned",
|
||||
"remaining": "Remaining",
|
||||
"steps": "Steps"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,6 +66,11 @@
|
||||
"wait": "Пожалуйста, подождите",
|
||||
"empty_data": "Статус подсистемы неизвестен"
|
||||
},
|
||||
"unifi_drive": {
|
||||
"healthy": "Healthy",
|
||||
"degraded": "Degraded",
|
||||
"no_data": "No storage data available"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
"tx": "TX",
|
||||
@@ -108,14 +113,14 @@
|
||||
"songs": "Песни"
|
||||
},
|
||||
"jellyfin": {
|
||||
"playing": "Playing",
|
||||
"transcoding": "Transcoding",
|
||||
"bitrate": "Bitrate",
|
||||
"no_active": "No Active Streams",
|
||||
"movies": "Movies",
|
||||
"series": "Series",
|
||||
"episodes": "Episodes",
|
||||
"songs": "Songs"
|
||||
"playing": "Воспроизводится",
|
||||
"transcoding": "Перекодирование",
|
||||
"bitrate": "Битрейт",
|
||||
"no_active": "Нет активных потоков",
|
||||
"movies": "Фильмы",
|
||||
"series": "Сериалы",
|
||||
"episodes": "Эпизоды",
|
||||
"songs": "Песни"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "Не в сети",
|
||||
@@ -184,6 +189,13 @@
|
||||
"no_active": "Нет активных стримов",
|
||||
"plex_connection_error": "Проверка соединения Plex"
|
||||
},
|
||||
"tracearr": {
|
||||
"no_active": "Нет активных потоков",
|
||||
"streams": "Потоки",
|
||||
"transcodes": "Transcodes",
|
||||
"directplay": "Прямое воспроизведение",
|
||||
"bitrate": "Битрейт"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Подключенные точки доступа",
|
||||
"activeUser": "Активные устройства",
|
||||
@@ -282,17 +294,13 @@
|
||||
"approved": "Одобрено",
|
||||
"available": "Доступно"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"pending": "Ожидают",
|
||||
"seerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Одобрено",
|
||||
"available": "Доступно",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Ожидают",
|
||||
"processing": "В процессе",
|
||||
"approved": "Одобрено",
|
||||
"available": "Доступно"
|
||||
"completed": "Завершено",
|
||||
"processing": "Обработка",
|
||||
"issues": "Открытые задачи"
|
||||
},
|
||||
"netalertx": {
|
||||
"total": "Всего",
|
||||
@@ -1130,8 +1138,8 @@
|
||||
"NO_DATA_DISKS": "No Data Disks",
|
||||
"notifications": "Уведомления",
|
||||
"status": "Статус",
|
||||
"cpu": "CPU",
|
||||
"memoryUsed": "Memory Used",
|
||||
"cpu": "ЦП",
|
||||
"memoryUsed": "Использовано ОЗУ",
|
||||
"memoryAvailable": "Memory Available",
|
||||
"arrayUsed": "Array Used",
|
||||
"arrayFree": "Array Free",
|
||||
@@ -1141,14 +1149,14 @@
|
||||
"backrest": {
|
||||
"num_plans": "Plans",
|
||||
"num_success_30": "Successes",
|
||||
"num_failure_30": "Failures",
|
||||
"num_failure_30": "Ошибки",
|
||||
"num_success_latest": "Succeeding",
|
||||
"num_failure_latest": "Failing",
|
||||
"bytes_added_30": "Bytes Added"
|
||||
},
|
||||
"yourspotify": {
|
||||
"songs": "Songs",
|
||||
"time": "Time",
|
||||
"time": "Время",
|
||||
"artists": "Artists"
|
||||
},
|
||||
"arcane": {
|
||||
@@ -1170,6 +1178,12 @@
|
||||
"stacks": "Stacks",
|
||||
"paused": "Paused",
|
||||
"total": "Total",
|
||||
"environment_not_found": "Environment Not Found"
|
||||
"environment_not_found": "Среда не найдена"
|
||||
},
|
||||
"sparkyfitness": {
|
||||
"eaten": "Eaten",
|
||||
"burned": "Burned",
|
||||
"remaining": "Remaining",
|
||||
"steps": "Steps"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,6 +66,11 @@
|
||||
"wait": "Čakajte, prosím",
|
||||
"empty_data": "Stav podsystému neznámy"
|
||||
},
|
||||
"unifi_drive": {
|
||||
"healthy": "Healthy",
|
||||
"degraded": "Degraded",
|
||||
"no_data": "No storage data available"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "Prijaté",
|
||||
"tx": "Odoslané",
|
||||
@@ -93,7 +98,7 @@
|
||||
"http_status": "HTTP stavový kód",
|
||||
"error": "Chyba",
|
||||
"response": "Odpoveď",
|
||||
"down": "Down",
|
||||
"down": "Nedostupné",
|
||||
"up": "Beží",
|
||||
"not_available": "Nedostupné"
|
||||
},
|
||||
@@ -108,18 +113,18 @@
|
||||
"songs": "Skladby"
|
||||
},
|
||||
"jellyfin": {
|
||||
"playing": "Playing",
|
||||
"transcoding": "Transcoding",
|
||||
"bitrate": "Bitrate",
|
||||
"no_active": "No Active Streams",
|
||||
"movies": "Movies",
|
||||
"series": "Series",
|
||||
"episodes": "Episodes",
|
||||
"songs": "Songs"
|
||||
"playing": "Prehráva sa",
|
||||
"transcoding": "Prebieha prekódovanie",
|
||||
"bitrate": "Prenosová rýchlosť",
|
||||
"no_active": "Žiadne aktívne vysielania",
|
||||
"movies": "Filmov",
|
||||
"series": "Seriálov",
|
||||
"episodes": "Epizód",
|
||||
"songs": "Skladieb"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "Offline",
|
||||
"offline_alt": "Offline",
|
||||
"offline": "Nedostupné",
|
||||
"offline_alt": "Nedostupné",
|
||||
"online": "Online",
|
||||
"total": "Celkom",
|
||||
"unknown": "Neznáme"
|
||||
@@ -154,7 +159,7 @@
|
||||
"uptime": "Dostupnosť",
|
||||
"maxDown": "Max. sťahovanie",
|
||||
"maxUp": "Max. nahrávanie",
|
||||
"down": "Down",
|
||||
"down": "Nedostupné",
|
||||
"up": "Beží",
|
||||
"received": "Prijaté",
|
||||
"sent": "Odoslané",
|
||||
@@ -178,12 +183,19 @@
|
||||
"passes": "Odvysielané"
|
||||
},
|
||||
"tautulli": {
|
||||
"playing": "Playing",
|
||||
"playing": "Prehráva sa",
|
||||
"transcoding": "Transcoding",
|
||||
"bitrate": "Bitrate",
|
||||
"bitrate": "Prenosová rýchlosť",
|
||||
"no_active": "No Active Streams",
|
||||
"plex_connection_error": "Skontroluj spojenie s Plex"
|
||||
},
|
||||
"tracearr": {
|
||||
"no_active": "No Active Streams",
|
||||
"streams": "Streams",
|
||||
"transcodes": "Transcodes",
|
||||
"directplay": "Direct Play",
|
||||
"bitrate": "Prenosová rýchlosť"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Pripojené prístupové body",
|
||||
"activeUser": "Aktívne zariadenia",
|
||||
@@ -282,18 +294,14 @@
|
||||
"approved": "Schválené",
|
||||
"available": "Dostupné"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"pending": "Čakajúce",
|
||||
"approved": "Schválené",
|
||||
"available": "Dostupné",
|
||||
"seerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available",
|
||||
"completed": "Completed",
|
||||
"processing": "Processing",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Čakajúce",
|
||||
"processing": "Spracovávané",
|
||||
"approved": "Schválené",
|
||||
"available": "Dostupné"
|
||||
},
|
||||
"netalertx": {
|
||||
"total": "Celkom",
|
||||
"connected": "Pripojené",
|
||||
@@ -429,7 +437,7 @@
|
||||
"version": "Verzia",
|
||||
"status": "Stav",
|
||||
"up": "Online",
|
||||
"down": "Offline"
|
||||
"down": "Nedostupné"
|
||||
},
|
||||
"miniflux": {
|
||||
"read": "Prečítané",
|
||||
@@ -450,7 +458,7 @@
|
||||
"cpu": "CPU",
|
||||
"load": "Záťaž",
|
||||
"wait": "Čakajte, prosím",
|
||||
"temp": "TEMP",
|
||||
"temp": "TEPL",
|
||||
"_temp": "Teplota",
|
||||
"warn": "Upozornení",
|
||||
"uptime": "BEŽÍ",
|
||||
@@ -491,13 +499,13 @@
|
||||
"51-day": "Mierne mrholenie",
|
||||
"51-night": "Slabé mrholenie",
|
||||
"53-day": "Mrholenie",
|
||||
"53-night": "Drizzle",
|
||||
"53-night": "Mrholenie",
|
||||
"55-day": "Silné mrholenie",
|
||||
"55-night": "Silné mrholenie",
|
||||
"56-day": "Mierne mrazivé mrholenie",
|
||||
"56-night": "Light Freezing Drizzle",
|
||||
"56-night": "Jemné mrznúce mrholenie",
|
||||
"57-day": "Mrazivé mrholenie",
|
||||
"57-night": "Freezing Drizzle",
|
||||
"57-night": "Mrznúce mrholenie",
|
||||
"61-day": "Slabý dážď",
|
||||
"61-night": "Slabý dážď",
|
||||
"63-day": "Dážď",
|
||||
@@ -542,14 +550,14 @@
|
||||
"child_bridges_status": "{{ok}}/{{total}}",
|
||||
"up": "Beží",
|
||||
"pending": "Čakajúce",
|
||||
"down": "Down",
|
||||
"down": "Nedostupné",
|
||||
"ok": "Ok"
|
||||
},
|
||||
"healthchecks": {
|
||||
"new": "Nový",
|
||||
"up": "Beží",
|
||||
"grace": "V dodatočnej lehote",
|
||||
"down": "Down",
|
||||
"down": "Nedostupné",
|
||||
"paused": "Pozastavené",
|
||||
"status": "Stav",
|
||||
"last_ping": "Poslendný ping",
|
||||
@@ -675,7 +683,7 @@
|
||||
"memory": "Využitie pamäte",
|
||||
"wanStatus": "Stav WAN",
|
||||
"up": "Beží",
|
||||
"down": "Down",
|
||||
"down": "Nedostupné",
|
||||
"temp": "Temp",
|
||||
"disk": "Využitie disku",
|
||||
"wanIP": "IP adresa WAN"
|
||||
@@ -776,8 +784,8 @@
|
||||
"targets_total": "Cieľov spolu"
|
||||
},
|
||||
"gatus": {
|
||||
"up": "Sites Up",
|
||||
"down": "Sites Down",
|
||||
"up": "Dostupné stránky",
|
||||
"down": "Nedostupné stránky",
|
||||
"uptime": "Dostupnosť"
|
||||
},
|
||||
"ghostfolio": {
|
||||
@@ -799,7 +807,7 @@
|
||||
},
|
||||
"whatsupdocker": {
|
||||
"monitoring": "Monitoring",
|
||||
"updates": "Updates"
|
||||
"updates": "Aktualizácie"
|
||||
},
|
||||
"calibreweb": {
|
||||
"books": "Books",
|
||||
@@ -872,7 +880,7 @@
|
||||
"uptime": "Dostupnosť",
|
||||
"cpuLoad": "Záťaž CPU priem. (5m)",
|
||||
"up": "Beží",
|
||||
"down": "Down",
|
||||
"down": "Nedostupné",
|
||||
"bytesTx": "Prenesených",
|
||||
"bytesRx": "Prijaté"
|
||||
},
|
||||
@@ -881,13 +889,13 @@
|
||||
"uptime": "Dostupnosť",
|
||||
"lastDown": "Posledný čas nedostupnosti",
|
||||
"downDuration": "Trvanie nedostupnosti",
|
||||
"sitesUp": "Sites Up",
|
||||
"sitesDown": "Sites Down",
|
||||
"sitesUp": "Dostupné stránky",
|
||||
"sitesDown": "Nedostupné stránky",
|
||||
"paused": "Pozastavené",
|
||||
"notyetchecked": "Neskontrolované",
|
||||
"up": "Beží",
|
||||
"seemsdown": "Javí sa nedostupný",
|
||||
"down": "Down",
|
||||
"down": "Nedostupné",
|
||||
"unknown": "Neznáme"
|
||||
},
|
||||
"calendar": {
|
||||
@@ -1023,17 +1031,17 @@
|
||||
"last_seen": "Last Seen",
|
||||
"status": "Stav",
|
||||
"online": "Online",
|
||||
"offline": "Offline"
|
||||
"offline": "Nedostupné"
|
||||
},
|
||||
"beszel": {
|
||||
"name": "Name",
|
||||
"systems": "Systems",
|
||||
"up": "Beží",
|
||||
"down": "Down",
|
||||
"down": "Nedostupné",
|
||||
"paused": "Pozastavené",
|
||||
"pending": "Čakajúce",
|
||||
"status": "Stav",
|
||||
"updated": "Updated",
|
||||
"updated": "Aktualizované",
|
||||
"cpu": "CPU",
|
||||
"memory": "RAM",
|
||||
"disk": "Disk",
|
||||
@@ -1078,7 +1086,7 @@
|
||||
"disconnected": "Odpojené",
|
||||
"updateStatus": "Update",
|
||||
"update_yes": "Dostupné",
|
||||
"update_no": "Up to Date",
|
||||
"update_no": "Aktuálne",
|
||||
"downloads": "Downloads",
|
||||
"uploads": "Uploads",
|
||||
"sharedFiles": "Files"
|
||||
@@ -1097,7 +1105,7 @@
|
||||
"total": "Celkom",
|
||||
"running": "Beží",
|
||||
"stopped": "Zastavené",
|
||||
"down": "Down",
|
||||
"down": "Nedostupné",
|
||||
"unhealthy": "Nezdravý",
|
||||
"unknown": "Neznáme",
|
||||
"servers": "Servery",
|
||||
@@ -1171,5 +1179,11 @@
|
||||
"paused": "Paused",
|
||||
"total": "Total",
|
||||
"environment_not_found": "Environment Not Found"
|
||||
},
|
||||
"sparkyfitness": {
|
||||
"eaten": "Eaten",
|
||||
"burned": "Burned",
|
||||
"remaining": "Remaining",
|
||||
"steps": "Steps"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,6 +66,11 @@
|
||||
"wait": "Please wait",
|
||||
"empty_data": "Neznani status podsistema"
|
||||
},
|
||||
"unifi_drive": {
|
||||
"healthy": "Healthy",
|
||||
"degraded": "Degraded",
|
||||
"no_data": "No storage data available"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
"tx": "TX",
|
||||
@@ -184,6 +189,13 @@
|
||||
"no_active": "No Active Streams",
|
||||
"plex_connection_error": "Preveri Plex povezavo"
|
||||
},
|
||||
"tracearr": {
|
||||
"no_active": "No Active Streams",
|
||||
"streams": "Streams",
|
||||
"transcodes": "Transcodes",
|
||||
"directplay": "Direct Play",
|
||||
"bitrate": "Bitrate"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Povezanih AP",
|
||||
"activeUser": "Aktivne naprave",
|
||||
@@ -282,18 +294,14 @@
|
||||
"approved": "Odobreno",
|
||||
"available": "Na voljo"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"seerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available",
|
||||
"completed": "Completed",
|
||||
"processing": "Processing",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
"processing": "Procesiram",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
},
|
||||
"netalertx": {
|
||||
"total": "Total",
|
||||
"connected": "Connected",
|
||||
@@ -1171,5 +1179,11 @@
|
||||
"paused": "Paused",
|
||||
"total": "Total",
|
||||
"environment_not_found": "Environment Not Found"
|
||||
},
|
||||
"sparkyfitness": {
|
||||
"eaten": "Eaten",
|
||||
"burned": "Burned",
|
||||
"remaining": "Remaining",
|
||||
"steps": "Steps"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,6 +66,11 @@
|
||||
"wait": "Молим сачекајте",
|
||||
"empty_data": "Статус подсистема непознат"
|
||||
},
|
||||
"unifi_drive": {
|
||||
"healthy": "Healthy",
|
||||
"degraded": "Degraded",
|
||||
"no_data": "No storage data available"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
"tx": "TX",
|
||||
@@ -108,14 +113,14 @@
|
||||
"songs": "Песме"
|
||||
},
|
||||
"jellyfin": {
|
||||
"playing": "Playing",
|
||||
"transcoding": "Transcoding",
|
||||
"bitrate": "Bitrate",
|
||||
"no_active": "No Active Streams",
|
||||
"movies": "Movies",
|
||||
"series": "Series",
|
||||
"episodes": "Episodes",
|
||||
"songs": "Songs"
|
||||
"playing": "Репродукција",
|
||||
"transcoding": "Транскодирање",
|
||||
"bitrate": "Проток",
|
||||
"no_active": "Нема активних стримова",
|
||||
"movies": "Филмови",
|
||||
"series": "Серије",
|
||||
"episodes": "Епизоде",
|
||||
"songs": "Песме"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "Није на мрежи",
|
||||
@@ -184,6 +189,13 @@
|
||||
"no_active": "Нема активних стримова",
|
||||
"plex_connection_error": "Провери везу са Plex-ом"
|
||||
},
|
||||
"tracearr": {
|
||||
"no_active": "Нема активних стримова",
|
||||
"streams": "Стримови",
|
||||
"transcodes": "Транскодирање",
|
||||
"directplay": "Директно репродуковање",
|
||||
"bitrate": "Проток"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Повезани АПи",
|
||||
"activeUser": "Активни уређаји",
|
||||
@@ -282,17 +294,13 @@
|
||||
"approved": "Одобрено",
|
||||
"available": "Доступно"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"seerr": {
|
||||
"pending": "На чекању",
|
||||
"approved": "Одобрено",
|
||||
"available": "Доступно",
|
||||
"issues": "Отворених питања"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "На чекању",
|
||||
"completed": "Завршено",
|
||||
"processing": "Обрада",
|
||||
"approved": "Одобрено",
|
||||
"available": "Доступно"
|
||||
"issues": "Отворених питања"
|
||||
},
|
||||
"netalertx": {
|
||||
"total": "Укупно",
|
||||
@@ -543,7 +551,7 @@
|
||||
"up": "Горе",
|
||||
"pending": "На чекању",
|
||||
"down": "Доле",
|
||||
"ok": "Ok"
|
||||
"ok": "Ок"
|
||||
},
|
||||
"healthchecks": {
|
||||
"new": "Сада",
|
||||
@@ -716,8 +724,8 @@
|
||||
"volumeAvailable": "Доступно"
|
||||
},
|
||||
"dispatcharr": {
|
||||
"channels": "Channels",
|
||||
"streams": "Streams"
|
||||
"channels": "Канали",
|
||||
"streams": "Стримови"
|
||||
},
|
||||
"mylar": {
|
||||
"series": "Серије",
|
||||
@@ -808,10 +816,10 @@
|
||||
"series": "Серије"
|
||||
},
|
||||
"booklore": {
|
||||
"libraries": "Libraries",
|
||||
"books": "Books",
|
||||
"reading": "Reading",
|
||||
"finished": "Finished"
|
||||
"libraries": "Библиотеке",
|
||||
"books": "Књиге",
|
||||
"reading": "Читање",
|
||||
"finished": "Завршено"
|
||||
},
|
||||
"jdownloader": {
|
||||
"downloadCount": "Ред",
|
||||
@@ -1152,24 +1160,30 @@
|
||||
"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": "ИД окружења је обавезан"
|
||||
},
|
||||
"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",
|
||||
"environment_not_found": "Environment Not Found"
|
||||
"running": "Покренуто",
|
||||
"stopped": "Заустављено",
|
||||
"cpu": "Процесор",
|
||||
"memory": "Меморија",
|
||||
"images": "Слике",
|
||||
"volumes": "Јачине звука",
|
||||
"events_today": "Данашњи догађаји",
|
||||
"pending_updates": "Ажурирања на чекању",
|
||||
"stacks": "Стекови",
|
||||
"paused": "Паузирано",
|
||||
"total": "Укупно",
|
||||
"environment_not_found": "Окружење није пронађено"
|
||||
},
|
||||
"sparkyfitness": {
|
||||
"eaten": "Eaten",
|
||||
"burned": "Burned",
|
||||
"remaining": "Remaining",
|
||||
"steps": "Steps"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,6 +66,11 @@
|
||||
"wait": "Please wait",
|
||||
"empty_data": "Subsystem status unknown"
|
||||
},
|
||||
"unifi_drive": {
|
||||
"healthy": "Healthy",
|
||||
"degraded": "Degraded",
|
||||
"no_data": "No storage data available"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
"tx": "TX",
|
||||
@@ -184,6 +189,13 @@
|
||||
"no_active": "No Active Streams",
|
||||
"plex_connection_error": "Check Plex Connection"
|
||||
},
|
||||
"tracearr": {
|
||||
"no_active": "No Active Streams",
|
||||
"streams": "Streams",
|
||||
"transcodes": "Transcodes",
|
||||
"directplay": "Direct Play",
|
||||
"bitrate": "Bitrate"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Connected APs",
|
||||
"activeUser": "Active devices",
|
||||
@@ -282,17 +294,13 @@
|
||||
"approved": "Godkända",
|
||||
"available": "Tillgänglig"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"seerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
"completed": "Completed",
|
||||
"processing": "Processing",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"netalertx": {
|
||||
"total": "Total",
|
||||
@@ -1171,5 +1179,11 @@
|
||||
"paused": "Paused",
|
||||
"total": "Total",
|
||||
"environment_not_found": "Environment Not Found"
|
||||
},
|
||||
"sparkyfitness": {
|
||||
"eaten": "Eaten",
|
||||
"burned": "Burned",
|
||||
"remaining": "Remaining",
|
||||
"steps": "Steps"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,6 +66,11 @@
|
||||
"wait": "Please wait",
|
||||
"empty_data": "Subsystem status unknown"
|
||||
},
|
||||
"unifi_drive": {
|
||||
"healthy": "Healthy",
|
||||
"degraded": "Degraded",
|
||||
"no_data": "No storage data available"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
"tx": "TX",
|
||||
@@ -184,6 +189,13 @@
|
||||
"no_active": "No Active Streams",
|
||||
"plex_connection_error": "Check Plex Connection"
|
||||
},
|
||||
"tracearr": {
|
||||
"no_active": "No Active Streams",
|
||||
"streams": "Streams",
|
||||
"transcodes": "Transcodes",
|
||||
"directplay": "Direct Play",
|
||||
"bitrate": "Bitrate"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Connected APs",
|
||||
"activeUser": "Active devices",
|
||||
@@ -282,17 +294,13 @@
|
||||
"approved": "ఆమోదించబడింది",
|
||||
"available": "అందుబాటులో వున్నవి"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"seerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
"completed": "Completed",
|
||||
"processing": "Processing",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"netalertx": {
|
||||
"total": "Total",
|
||||
@@ -1171,5 +1179,11 @@
|
||||
"paused": "Paused",
|
||||
"total": "Total",
|
||||
"environment_not_found": "Environment Not Found"
|
||||
},
|
||||
"sparkyfitness": {
|
||||
"eaten": "Eaten",
|
||||
"burned": "Burned",
|
||||
"remaining": "Remaining",
|
||||
"steps": "Steps"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,6 +66,11 @@
|
||||
"wait": "Please wait",
|
||||
"empty_data": "Subsystem status unknown"
|
||||
},
|
||||
"unifi_drive": {
|
||||
"healthy": "Healthy",
|
||||
"degraded": "Degraded",
|
||||
"no_data": "No storage data available"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
"tx": "TX",
|
||||
@@ -184,6 +189,13 @@
|
||||
"no_active": "No Active Streams",
|
||||
"plex_connection_error": "Check Plex Connection"
|
||||
},
|
||||
"tracearr": {
|
||||
"no_active": "No Active Streams",
|
||||
"streams": "Streams",
|
||||
"transcodes": "Transcodes",
|
||||
"directplay": "Direct Play",
|
||||
"bitrate": "Bitrate"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Connected APs",
|
||||
"activeUser": "Active devices",
|
||||
@@ -282,17 +294,13 @@
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"seerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
"completed": "Completed",
|
||||
"processing": "Processing",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"netalertx": {
|
||||
"total": "Total",
|
||||
@@ -1171,5 +1179,11 @@
|
||||
"paused": "Paused",
|
||||
"total": "Total",
|
||||
"environment_not_found": "Environment Not Found"
|
||||
},
|
||||
"sparkyfitness": {
|
||||
"eaten": "Eaten",
|
||||
"burned": "Burned",
|
||||
"remaining": "Remaining",
|
||||
"steps": "Steps"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
},
|
||||
"resources": {
|
||||
"cpu": "İşlemci",
|
||||
"mem": "MEM",
|
||||
"mem": "Bellek",
|
||||
"total": "Toplam",
|
||||
"free": "Boş",
|
||||
"used": "Kullanımda",
|
||||
@@ -66,6 +66,11 @@
|
||||
"wait": "Lütfen bekleyin",
|
||||
"empty_data": "Alt sistem durumu bilinmiyor"
|
||||
},
|
||||
"unifi_drive": {
|
||||
"healthy": "Healthy",
|
||||
"degraded": "Degraded",
|
||||
"no_data": "No storage data available"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "Gelen Veri",
|
||||
"tx": "Giden Veri",
|
||||
@@ -80,7 +85,7 @@
|
||||
"unhealthy": "Sağlıksız",
|
||||
"not_found": "Bulunamadı",
|
||||
"exited": "Kapandı",
|
||||
"partial": "Parçalı"
|
||||
"partial": "Kısmi"
|
||||
},
|
||||
"ping": {
|
||||
"error": "Hata",
|
||||
@@ -93,29 +98,29 @@
|
||||
"http_status": "HTTPS durumu",
|
||||
"error": "Hata",
|
||||
"response": "Yanıt",
|
||||
"down": "Çalışmayan",
|
||||
"down": "İndirme",
|
||||
"up": "Çalışıyor",
|
||||
"not_available": "Uygun değil"
|
||||
},
|
||||
"emby": {
|
||||
"playing": "Oynatılıyor",
|
||||
"transcoding": "Dönüştürülüyor",
|
||||
"bitrate": "Bit Oranı",
|
||||
"bitrate": "Bit Hızı",
|
||||
"no_active": "Etkin akış yok",
|
||||
"movies": "Filmler",
|
||||
"series": "Diziler",
|
||||
"episodes": "Bölümler",
|
||||
"songs": "Şarkılar"
|
||||
"movies": "Film",
|
||||
"series": "Dizi",
|
||||
"episodes": "Bölüm",
|
||||
"songs": "Şarkı"
|
||||
},
|
||||
"jellyfin": {
|
||||
"playing": "Playing",
|
||||
"transcoding": "Transcoding",
|
||||
"bitrate": "Bitrate",
|
||||
"no_active": "No Active Streams",
|
||||
"movies": "Movies",
|
||||
"series": "Series",
|
||||
"episodes": "Episodes",
|
||||
"songs": "Songs"
|
||||
"playing": "Oynatılıyor",
|
||||
"transcoding": "Dönüştürülüyor",
|
||||
"bitrate": "Bit Hızı",
|
||||
"no_active": "Aktif Yayın Yok",
|
||||
"movies": "Film",
|
||||
"series": "Dizi",
|
||||
"episodes": "Bölüm",
|
||||
"songs": "Şarkı"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "Çevrimdışı",
|
||||
@@ -135,8 +140,8 @@
|
||||
"flood": {
|
||||
"download": "İndirme",
|
||||
"upload": "Yükleme",
|
||||
"leech": "Tüketici",
|
||||
"seed": "Sağlayıcı"
|
||||
"leech": "İndirilen",
|
||||
"seed": "Gönderilen"
|
||||
},
|
||||
"freshrss": {
|
||||
"subscriptions": "Abonelikler",
|
||||
@@ -152,10 +157,10 @@
|
||||
"connectionStatusDisconnected": "Bağlı değil",
|
||||
"connectionStatusConnected": "Bağlı",
|
||||
"uptime": "Çalışma Süresi",
|
||||
"maxDown": "Max. Indirme",
|
||||
"maxUp": "Max. Gönderme",
|
||||
"down": "Çalışmayan",
|
||||
"up": "Çalışıyor",
|
||||
"maxDown": "Maks. İndirme",
|
||||
"maxUp": "Maks. Gönderme",
|
||||
"down": "İndirme",
|
||||
"up": "Yükleme",
|
||||
"received": "Alınan",
|
||||
"sent": "Gönderilen",
|
||||
"externalIPAddress": "Harici IP",
|
||||
@@ -180,10 +185,17 @@
|
||||
"tautulli": {
|
||||
"playing": "Oynatılıyor",
|
||||
"transcoding": "Dönüştürülüyor",
|
||||
"bitrate": "Bit Oranı",
|
||||
"bitrate": "Bit Hızı",
|
||||
"no_active": "Etkin akış yok",
|
||||
"plex_connection_error": "Plex Bağlantısı Kontrol Ediliyor"
|
||||
},
|
||||
"tracearr": {
|
||||
"no_active": "No Active Streams",
|
||||
"streams": "Streams",
|
||||
"transcodes": "Transcodes",
|
||||
"directplay": "Direct Play",
|
||||
"bitrate": "Bitrate"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Bağlı AP'ler",
|
||||
"activeUser": "Etkin aygıtlar",
|
||||
@@ -199,7 +211,7 @@
|
||||
"plex": {
|
||||
"streams": "Etkin akış",
|
||||
"albums": "Albümler",
|
||||
"movies": "Filmler",
|
||||
"movies": "Film",
|
||||
"tv": "TV Showları"
|
||||
},
|
||||
"sabnzbd": {
|
||||
@@ -209,20 +221,20 @@
|
||||
},
|
||||
"rutorrent": {
|
||||
"active": "Etkin",
|
||||
"upload": "Yükleme",
|
||||
"upload": "Gönderme",
|
||||
"download": "İndirme"
|
||||
},
|
||||
"transmission": {
|
||||
"download": "İndirme",
|
||||
"upload": "Yükleme",
|
||||
"leech": "Tüketici",
|
||||
"seed": "Sağlayıcı"
|
||||
"upload": "Gönderme",
|
||||
"leech": "İndirilen",
|
||||
"seed": "Gönderilen"
|
||||
},
|
||||
"qbittorrent": {
|
||||
"download": "İndirme",
|
||||
"upload": "Yükleme",
|
||||
"leech": "Tüketici",
|
||||
"seed": "Sağlayıcı"
|
||||
"upload": "Gönderme",
|
||||
"leech": "İndirilen",
|
||||
"seed": "Gönderilen"
|
||||
},
|
||||
"qnap": {
|
||||
"cpuUsage": "İşlemci Kullanımı",
|
||||
@@ -234,9 +246,9 @@
|
||||
},
|
||||
"deluge": {
|
||||
"download": "İndirme",
|
||||
"upload": "Yükleme",
|
||||
"leech": "Leech",
|
||||
"seed": "Seed"
|
||||
"upload": "Gönderme",
|
||||
"leech": "İndirilen",
|
||||
"seed": "Gönderilen"
|
||||
},
|
||||
"develancacheui": {
|
||||
"cachehitbytes": "Önbellek İsabetli Byte",
|
||||
@@ -244,14 +256,14 @@
|
||||
},
|
||||
"downloadstation": {
|
||||
"download": "İndirme",
|
||||
"upload": "Yükleme",
|
||||
"leech": "Tüketici",
|
||||
"seed": "Sağlayıcı"
|
||||
"upload": "Gönderme",
|
||||
"leech": "İndirilen",
|
||||
"seed": "Gönderilen"
|
||||
},
|
||||
"sonarr": {
|
||||
"wanted": "İstendi",
|
||||
"queued": "Kuyrukta",
|
||||
"series": "Seriler",
|
||||
"series": "Diziler",
|
||||
"queue": "Kuyruk",
|
||||
"unknown": "Bilinmeyen"
|
||||
},
|
||||
@@ -259,7 +271,7 @@
|
||||
"wanted": "İstendi",
|
||||
"missing": "Eksik",
|
||||
"queued": "Kuyrukta",
|
||||
"movies": "Filmler",
|
||||
"movies": "Film",
|
||||
"queue": "Kuyruk",
|
||||
"unknown": "Bilinmeyen"
|
||||
},
|
||||
@@ -282,17 +294,13 @@
|
||||
"approved": "Onaylı",
|
||||
"available": "Kullanılabilir"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"pending": "Bekleyen",
|
||||
"approved": "Onaylı",
|
||||
"available": "Uygun",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"seerr": {
|
||||
"pending": "Pending",
|
||||
"processing": "İşleniyor",
|
||||
"approved": "Onaylı",
|
||||
"available": "Uygun"
|
||||
"approved": "Approved",
|
||||
"available": "Available",
|
||||
"completed": "Completed",
|
||||
"processing": "Processing",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"netalertx": {
|
||||
"total": "Toplam",
|
||||
@@ -307,7 +315,7 @@
|
||||
"gravity": "Gravity"
|
||||
},
|
||||
"adguard": {
|
||||
"queries": "Queries",
|
||||
"queries": "Sorgular",
|
||||
"blocked": "Engellenen",
|
||||
"filtered": "Filtrelendi",
|
||||
"latency": "Gecikme"
|
||||
@@ -448,9 +456,9 @@
|
||||
},
|
||||
"glances": {
|
||||
"cpu": "İşlemci",
|
||||
"load": "Load",
|
||||
"load": "Yük",
|
||||
"wait": "Lütfen bekleyin",
|
||||
"temp": "TEMP",
|
||||
"temp": "Sıcaklık",
|
||||
"_temp": "Sıcaklık",
|
||||
"warn": "Uyarı",
|
||||
"uptime": "ÇALIŞIYOR",
|
||||
@@ -463,7 +471,7 @@
|
||||
"read": "Okundu",
|
||||
"write": "Yazma",
|
||||
"gpu": "GPU",
|
||||
"mem": "Hafıza",
|
||||
"mem": "Bellek",
|
||||
"swap": "Swap"
|
||||
},
|
||||
"quicklaunch": {
|
||||
@@ -543,7 +551,7 @@
|
||||
"up": "Çalışıyor",
|
||||
"pending": "Bekleyen",
|
||||
"down": "Çalışmayan",
|
||||
"ok": "Ok"
|
||||
"ok": "Tamam"
|
||||
},
|
||||
"healthchecks": {
|
||||
"new": "Yeni",
|
||||
@@ -598,7 +606,7 @@
|
||||
"signalStrength": "Sağlamlık",
|
||||
"signalQuality": "Kalite",
|
||||
"symbolQuality": "Kalite",
|
||||
"networkRate": "Bit Oranı",
|
||||
"networkRate": "Bit Hızı",
|
||||
"clientIP": "Alıcı"
|
||||
},
|
||||
"scrutiny": {
|
||||
@@ -611,13 +619,13 @@
|
||||
"total": "Toplam"
|
||||
},
|
||||
"pangolin": {
|
||||
"orgs": "Orgs",
|
||||
"sites": "Sites",
|
||||
"resources": "Resources",
|
||||
"targets": "Targets",
|
||||
"traffic": "Traffic",
|
||||
"in": "In",
|
||||
"out": "Out"
|
||||
"orgs": "Kuruluşlar",
|
||||
"sites": "Siteler",
|
||||
"resources": "Kaynaklar",
|
||||
"targets": "Hedefler",
|
||||
"traffic": "Trafik",
|
||||
"in": "Gelen",
|
||||
"out": "Giden"
|
||||
},
|
||||
"peanut": {
|
||||
"battery_charge": "Pil Yüzdesi",
|
||||
@@ -676,7 +684,7 @@
|
||||
"wanStatus": "WAN Durumu",
|
||||
"up": "Çalışıyor",
|
||||
"down": "Çalışmayan",
|
||||
"temp": "Temp",
|
||||
"temp": "Sıcaklık",
|
||||
"disk": "Disk Kullanımı",
|
||||
"wanIP": "WAN IP"
|
||||
},
|
||||
@@ -697,7 +705,7 @@
|
||||
"down": "Çalışmayan site",
|
||||
"uptime": "Çalışma süresi",
|
||||
"incident": "Olay",
|
||||
"m": "m"
|
||||
"m": "dk"
|
||||
},
|
||||
"atsumeru": {
|
||||
"series": "Diziler",
|
||||
@@ -716,8 +724,8 @@
|
||||
"volumeAvailable": "Uygun"
|
||||
},
|
||||
"dispatcharr": {
|
||||
"channels": "Channels",
|
||||
"streams": "Streams"
|
||||
"channels": "Kanallar",
|
||||
"streams": "Akışlar"
|
||||
},
|
||||
"mylar": {
|
||||
"series": "Diziler",
|
||||
@@ -771,12 +779,12 @@
|
||||
"nodes": "Düğümler"
|
||||
},
|
||||
"prometheus": {
|
||||
"targets_up": "Hedef Çalışıyor",
|
||||
"targets_up": "Çalışan Hedef",
|
||||
"targets_down": "Çalışmayan hedef",
|
||||
"targets_total": "Toplam Hedef"
|
||||
},
|
||||
"gatus": {
|
||||
"up": "Sites Up",
|
||||
"up": "Çalışan Siteler",
|
||||
"down": "Çalışmayan site",
|
||||
"uptime": "Çalışma süresi"
|
||||
},
|
||||
@@ -784,7 +792,7 @@
|
||||
"gross_percent_today": "Bugün",
|
||||
"gross_percent_1y": "Bir yıl",
|
||||
"gross_percent_max": "Tüm zaman",
|
||||
"net_worth": "Net Worth"
|
||||
"net_worth": "Net Değer"
|
||||
},
|
||||
"audiobookshelf": {
|
||||
"podcasts": "Podcast",
|
||||
@@ -805,13 +813,13 @@
|
||||
"books": "Kitaplar",
|
||||
"authors": "Yazarlar",
|
||||
"categories": "Kategoriler",
|
||||
"series": "Seriler"
|
||||
"series": "Diziler"
|
||||
},
|
||||
"booklore": {
|
||||
"libraries": "Libraries",
|
||||
"books": "Books",
|
||||
"reading": "Reading",
|
||||
"finished": "Finished"
|
||||
"libraries": "Kütüphaneler",
|
||||
"books": "Kitaplar",
|
||||
"reading": "Okunuyor",
|
||||
"finished": "Bitti"
|
||||
},
|
||||
"jdownloader": {
|
||||
"downloadCount": "Kuyruk",
|
||||
@@ -820,7 +828,7 @@
|
||||
"downloadSpeed": "Hız"
|
||||
},
|
||||
"kavita": {
|
||||
"seriesCount": "Seriler",
|
||||
"seriesCount": "Diziler",
|
||||
"totalFiles": "Dosyalar"
|
||||
},
|
||||
"azuredevops": {
|
||||
@@ -865,7 +873,7 @@
|
||||
"total": "Toplam",
|
||||
"running": "Çalışıyor",
|
||||
"stopped": "Durdu",
|
||||
"passed": "Passed",
|
||||
"passed": "Başarılı",
|
||||
"failed": "Başarısız"
|
||||
},
|
||||
"openwrt": {
|
||||
@@ -874,7 +882,7 @@
|
||||
"up": "Çalışıyor",
|
||||
"down": "Çalışmayan",
|
||||
"bytesTx": "İletilen",
|
||||
"bytesRx": "Received"
|
||||
"bytesRx": "Alınan"
|
||||
},
|
||||
"uptimerobot": {
|
||||
"status": "Durum",
|
||||
@@ -924,7 +932,7 @@
|
||||
},
|
||||
"gitea": {
|
||||
"notifications": "Bildirimler",
|
||||
"issues": "Issues",
|
||||
"issues": "Sorunlar",
|
||||
"pulls": "Değişiklik İstekleri",
|
||||
"repositories": "Depolar"
|
||||
},
|
||||
@@ -1006,21 +1014,21 @@
|
||||
"lubelogger": {
|
||||
"vehicle": "Taşıt",
|
||||
"vehicles": "Taşıtlar",
|
||||
"serviceRecords": "Service Records",
|
||||
"serviceRecords": "Servis Kayıtları",
|
||||
"reminders": "Hatırlatıcılar",
|
||||
"nextReminder": "Sonraki hatırlatıcı",
|
||||
"none": "None"
|
||||
"none": "Hiçbiri"
|
||||
},
|
||||
"vikunja": {
|
||||
"projects": "Etkin projeler",
|
||||
"tasks7d": "Bitişi Bu Hafta Olan Görevler",
|
||||
"tasksOverdue": "Overdue Tasks",
|
||||
"tasksInProgress": "Tasks In Progress"
|
||||
"tasksOverdue": "Gecikmiş Görevler",
|
||||
"tasksInProgress": "Devam Eden Görevler"
|
||||
},
|
||||
"headscale": {
|
||||
"name": "Ad",
|
||||
"address": "Adres",
|
||||
"last_seen": "Last Seen",
|
||||
"last_seen": "Son Görülme",
|
||||
"status": "Durum",
|
||||
"online": "Çevrimiçi",
|
||||
"offline": "Çevrimdışı"
|
||||
@@ -1031,21 +1039,21 @@
|
||||
"up": "Çalışıyor",
|
||||
"down": "Çalışmayan",
|
||||
"paused": "Durduruldu",
|
||||
"pending": "Pending",
|
||||
"pending": "Beklemede",
|
||||
"status": "Durum",
|
||||
"updated": "Güncellendi",
|
||||
"cpu": "İşlemci",
|
||||
"memory": "Bellek",
|
||||
"disk": "Disk",
|
||||
"disk": "Depolama",
|
||||
"network": "NET"
|
||||
},
|
||||
"argocd": {
|
||||
"apps": "Uygulamalar",
|
||||
"synced": "Synced",
|
||||
"outOfSync": "Out Of Sync",
|
||||
"synced": "Senkron",
|
||||
"outOfSync": "Senkron Değil",
|
||||
"healthy": "Sağlıklı",
|
||||
"degraded": "Degraded",
|
||||
"progressing": "Progressing",
|
||||
"degraded": "Sorunlu",
|
||||
"progressing": "Uygulanıyor",
|
||||
"missing": "Eksik",
|
||||
"suspended": "Askıya Alındı"
|
||||
},
|
||||
@@ -1053,22 +1061,22 @@
|
||||
"loading": "Yükleniyor"
|
||||
},
|
||||
"gitlab": {
|
||||
"groups": "Groups",
|
||||
"issues": "Issues",
|
||||
"merges": "Merge Requests",
|
||||
"projects": "Projects"
|
||||
"groups": "Gruplar",
|
||||
"issues": "Sorunlar",
|
||||
"merges": "Birleştirme İstekleri",
|
||||
"projects": "Projeler"
|
||||
},
|
||||
"apcups": {
|
||||
"status": "Durum",
|
||||
"load": "Load",
|
||||
"bcharge": "Battery Charge",
|
||||
"load": "Yük",
|
||||
"bcharge": "Pil Yüzdesi",
|
||||
"timeleft": "Kalan zaman"
|
||||
},
|
||||
"karakeep": {
|
||||
"bookmarks": "Yer imleri",
|
||||
"favorites": "Gözdeler",
|
||||
"archived": "Archived",
|
||||
"highlights": "Highlights",
|
||||
"archived": "Arşivlenen",
|
||||
"highlights": "Öne Çıkanlar",
|
||||
"lists": "Listeler",
|
||||
"tags": "Etiketler"
|
||||
},
|
||||
@@ -1084,14 +1092,14 @@
|
||||
"sharedFiles": "Dosyalar"
|
||||
},
|
||||
"jellystat": {
|
||||
"songs": "Şarkılar",
|
||||
"movies": "Filmler",
|
||||
"episodes": "Bölümler",
|
||||
"songs": "Şarkı",
|
||||
"movies": "Film",
|
||||
"episodes": "Bölüm",
|
||||
"other": "Diğer"
|
||||
},
|
||||
"checkmk": {
|
||||
"serviceErrors": "Service issues",
|
||||
"hostErrors": "Host issues"
|
||||
"serviceErrors": "Hizmet Sorunları",
|
||||
"hostErrors": "Sunucu Sorunları"
|
||||
},
|
||||
"komodo": {
|
||||
"total": "Toplam",
|
||||
@@ -1101,8 +1109,8 @@
|
||||
"unhealthy": "Sağlıksız",
|
||||
"unknown": "Bilinmeyen",
|
||||
"servers": "Sunucular",
|
||||
"stacks": "Stacks",
|
||||
"containers": "Containers"
|
||||
"stacks": "Yığınlar",
|
||||
"containers": "Konteynerler"
|
||||
},
|
||||
"filebrowser": {
|
||||
"available": "Uygun",
|
||||
@@ -1120,11 +1128,11 @@
|
||||
"STARTED": "Başladı",
|
||||
"STOPPED": "Durdu",
|
||||
"NEW_ARRAY": "Yeni dizi",
|
||||
"RECON_DISK": "Reconstructing Disk",
|
||||
"RECON_DISK": "Disk Yeniden Oluşturuluyor",
|
||||
"DISABLE_DISK": "Disk devre dışı",
|
||||
"SWAP_DSBL": "Swap devre dışı",
|
||||
"INVALID_EXPANSION": "Invalid Expansion",
|
||||
"PARITY_NOT_BIGGEST": "Parity Not Biggest",
|
||||
"INVALID_EXPANSION": "Geçersiz Genişletme",
|
||||
"PARITY_NOT_BIGGEST": "Parity En Büyük Disk Değil",
|
||||
"TOO_MANY_MISSING_DISKS": "Çok fazla disk eksik",
|
||||
"NEW_DISK_TOO_SMALL": "Yeni disk çok küçük",
|
||||
"NO_DATA_DISKS": "Veri diski yok",
|
||||
@@ -1139,37 +1147,43 @@
|
||||
"poolFree": "{{pool}} boş"
|
||||
},
|
||||
"backrest": {
|
||||
"num_plans": "Plans",
|
||||
"num_success_30": "Successes",
|
||||
"num_failure_30": "Failures",
|
||||
"num_success_latest": "Succeeding",
|
||||
"num_failure_latest": "Failing",
|
||||
"bytes_added_30": "Bytes Added"
|
||||
"num_plans": "Planlar",
|
||||
"num_success_30": "Başarılılar",
|
||||
"num_failure_30": "Başarısızlıklar",
|
||||
"num_success_latest": "Başarılı",
|
||||
"num_failure_latest": "Başarısız",
|
||||
"bytes_added_30": "Eklenen Veri"
|
||||
},
|
||||
"yourspotify": {
|
||||
"songs": "Songs",
|
||||
"time": "Time",
|
||||
"artists": "Artists"
|
||||
"songs": "Şarkılar",
|
||||
"time": "Zaman",
|
||||
"artists": "Sanatçılar"
|
||||
},
|
||||
"arcane": {
|
||||
"containers": "Containers",
|
||||
"images": "Images",
|
||||
"image_updates": "Image Updates",
|
||||
"images_unused": "Unused",
|
||||
"environment_required": "Environment ID Required"
|
||||
"containers": "Konteynerler",
|
||||
"images": "İmajlar",
|
||||
"image_updates": "İmaj Güncellemeleri",
|
||||
"images_unused": "Kullanılmayan İmajlar",
|
||||
"environment_required": "Ortam Kimliği Gerekli"
|
||||
},
|
||||
"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",
|
||||
"environment_not_found": "Environment Not Found"
|
||||
"running": "Çalışan",
|
||||
"stopped": "Durdurulan",
|
||||
"cpu": "İşlemci",
|
||||
"memory": "Bellek",
|
||||
"images": "İmajlar",
|
||||
"volumes": "Birimler",
|
||||
"events_today": "Bugünkü Olaylar",
|
||||
"pending_updates": "Bekleyen Güncellemeler",
|
||||
"stacks": "Yığınlar",
|
||||
"paused": "Duraklatılan",
|
||||
"total": "Toplam",
|
||||
"environment_not_found": "Ortam Bulunamadı"
|
||||
},
|
||||
"sparkyfitness": {
|
||||
"eaten": "Eaten",
|
||||
"burned": "Burned",
|
||||
"remaining": "Remaining",
|
||||
"steps": "Steps"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,6 +66,11 @@
|
||||
"wait": "Будь ласка, зачекайте",
|
||||
"empty_data": "Статус підсистеми невідомий"
|
||||
},
|
||||
"unifi_drive": {
|
||||
"healthy": "Healthy",
|
||||
"degraded": "Degraded",
|
||||
"no_data": "No storage data available"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
"tx": "TX",
|
||||
@@ -184,6 +189,13 @@
|
||||
"no_active": "Немає активних потоків",
|
||||
"plex_connection_error": "Перевірте з'єднання Plex"
|
||||
},
|
||||
"tracearr": {
|
||||
"no_active": "No Active Streams",
|
||||
"streams": "Streams",
|
||||
"transcodes": "Transcodes",
|
||||
"directplay": "Direct Play",
|
||||
"bitrate": "Bitrate"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Підключені точки доступу",
|
||||
"activeUser": "Активні пристрої",
|
||||
@@ -282,17 +294,13 @@
|
||||
"approved": "Затверджено",
|
||||
"available": "Доступно"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"pending": "Очікує",
|
||||
"approved": "Схвалено",
|
||||
"available": "Доступно",
|
||||
"issues": "Проблеми до усунення"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Очікує",
|
||||
"processing": "Обробка",
|
||||
"approved": "Схвалено",
|
||||
"available": "Доступно"
|
||||
"seerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available",
|
||||
"completed": "Completed",
|
||||
"processing": "Processing",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"netalertx": {
|
||||
"total": "Усього",
|
||||
@@ -1171,5 +1179,11 @@
|
||||
"paused": "Paused",
|
||||
"total": "Total",
|
||||
"environment_not_found": "Environment Not Found"
|
||||
},
|
||||
"sparkyfitness": {
|
||||
"eaten": "Eaten",
|
||||
"burned": "Burned",
|
||||
"remaining": "Remaining",
|
||||
"steps": "Steps"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,6 +66,11 @@
|
||||
"wait": "Vui lòng chờ",
|
||||
"empty_data": "Trạng thái hệ thống phụ không xác định"
|
||||
},
|
||||
"unifi_drive": {
|
||||
"healthy": "Healthy",
|
||||
"degraded": "Degraded",
|
||||
"no_data": "No storage data available"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "RX",
|
||||
"tx": "TX",
|
||||
@@ -184,6 +189,13 @@
|
||||
"no_active": "No Active Streams",
|
||||
"plex_connection_error": "Check Plex Connection"
|
||||
},
|
||||
"tracearr": {
|
||||
"no_active": "No Active Streams",
|
||||
"streams": "Streams",
|
||||
"transcodes": "Transcodes",
|
||||
"directplay": "Direct Play",
|
||||
"bitrate": "Bitrate"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "Connected APs",
|
||||
"activeUser": "Active devices",
|
||||
@@ -282,17 +294,13 @@
|
||||
"approved": "Đã duyệt",
|
||||
"available": "Available"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"seerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
"completed": "Completed",
|
||||
"processing": "Processing",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"netalertx": {
|
||||
"total": "Total",
|
||||
@@ -1171,5 +1179,11 @@
|
||||
"paused": "Paused",
|
||||
"total": "Total",
|
||||
"environment_not_found": "Environment Not Found"
|
||||
},
|
||||
"sparkyfitness": {
|
||||
"eaten": "Eaten",
|
||||
"burned": "Burned",
|
||||
"remaining": "Remaining",
|
||||
"steps": "Steps"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,6 +66,11 @@
|
||||
"wait": "Please wait",
|
||||
"empty_data": "子系統狀態未知"
|
||||
},
|
||||
"unifi_drive": {
|
||||
"healthy": "Healthy",
|
||||
"degraded": "Degraded",
|
||||
"no_data": "No storage data available"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "接收",
|
||||
"tx": "發送",
|
||||
@@ -108,14 +113,14 @@
|
||||
"songs": "曲目"
|
||||
},
|
||||
"jellyfin": {
|
||||
"playing": "Playing",
|
||||
"transcoding": "Transcoding",
|
||||
"bitrate": "Bitrate",
|
||||
"no_active": "No Active Streams",
|
||||
"movies": "Movies",
|
||||
"series": "Series",
|
||||
"episodes": "Episodes",
|
||||
"songs": "Songs"
|
||||
"playing": "正在播放",
|
||||
"transcoding": "轉碼",
|
||||
"bitrate": "位元率",
|
||||
"no_active": "無播放活動",
|
||||
"movies": "電影",
|
||||
"series": "系列",
|
||||
"episodes": "劇集",
|
||||
"songs": "曲目"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "Offline",
|
||||
@@ -184,6 +189,13 @@
|
||||
"no_active": "No Active Streams",
|
||||
"plex_connection_error": "檢查Plex的連接狀態"
|
||||
},
|
||||
"tracearr": {
|
||||
"no_active": "No Active Streams",
|
||||
"streams": "Streams",
|
||||
"transcodes": "Transcodes",
|
||||
"directplay": "Direct Play",
|
||||
"bitrate": "Bitrate"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "已連接的存取點",
|
||||
"activeUser": "在線裝置",
|
||||
@@ -282,18 +294,14 @@
|
||||
"approved": "批准",
|
||||
"available": "可用"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"seerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available",
|
||||
"completed": "Completed",
|
||||
"processing": "Processing",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
"processing": "處理中",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
},
|
||||
"netalertx": {
|
||||
"total": "Total",
|
||||
"connected": "Connected",
|
||||
@@ -318,9 +326,9 @@
|
||||
"ping": "Ping"
|
||||
},
|
||||
"portainer": {
|
||||
"running": "Running",
|
||||
"running": "執行中",
|
||||
"stopped": "暫停",
|
||||
"total": "Total"
|
||||
"total": "全部"
|
||||
},
|
||||
"suwayomi": {
|
||||
"download": "Downloaded",
|
||||
@@ -383,7 +391,7 @@
|
||||
"npm": {
|
||||
"enabled": "啟用",
|
||||
"disabled": "停用咗",
|
||||
"total": "Total"
|
||||
"total": "全部"
|
||||
},
|
||||
"coinmarketcap": {
|
||||
"configure": "配置一個或多個加密貨幣以進行跟蹤",
|
||||
@@ -448,19 +456,19 @@
|
||||
},
|
||||
"glances": {
|
||||
"cpu": "CPU",
|
||||
"load": "Load",
|
||||
"wait": "Please wait",
|
||||
"temp": "TEMP",
|
||||
"load": "負載",
|
||||
"wait": "請稍候",
|
||||
"temp": "溫度",
|
||||
"_temp": "溫度",
|
||||
"warn": "警告",
|
||||
"uptime": "UP",
|
||||
"total": "Total",
|
||||
"free": "Free",
|
||||
"used": "Used",
|
||||
"days": "d",
|
||||
"hours": "h",
|
||||
"uptime": "運作時間",
|
||||
"total": "全部",
|
||||
"free": "剩餘",
|
||||
"used": "已使用",
|
||||
"days": "日",
|
||||
"hours": "時",
|
||||
"crit": "重大的",
|
||||
"read": "Read",
|
||||
"read": "已讀",
|
||||
"write": "寫入",
|
||||
"gpu": "GPU",
|
||||
"mem": "記憶體",
|
||||
@@ -1084,10 +1092,10 @@
|
||||
"sharedFiles": "Files"
|
||||
},
|
||||
"jellystat": {
|
||||
"songs": "Songs",
|
||||
"movies": "Movies",
|
||||
"episodes": "Episodes",
|
||||
"other": "Other"
|
||||
"songs": "曲目",
|
||||
"movies": "電影",
|
||||
"episodes": "劇集",
|
||||
"other": "其它"
|
||||
},
|
||||
"checkmk": {
|
||||
"serviceErrors": "Service issues",
|
||||
@@ -1171,5 +1179,11 @@
|
||||
"paused": "Paused",
|
||||
"total": "Total",
|
||||
"environment_not_found": "Environment Not Found"
|
||||
},
|
||||
"sparkyfitness": {
|
||||
"eaten": "Eaten",
|
||||
"burned": "Burned",
|
||||
"remaining": "Remaining",
|
||||
"steps": "Steps"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -61,11 +61,16 @@
|
||||
"wlan_devices": "无线局域网设备",
|
||||
"lan_users": "局域网用户",
|
||||
"wlan_users": "无线局域网用户",
|
||||
"up": "UP",
|
||||
"up": "在线",
|
||||
"down": "离线",
|
||||
"wait": "请稍候",
|
||||
"empty_data": "子系统状态未知"
|
||||
},
|
||||
"unifi_drive": {
|
||||
"healthy": "Healthy",
|
||||
"degraded": "Degraded",
|
||||
"no_data": "No storage data available"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "接收",
|
||||
"tx": "发送",
|
||||
@@ -108,21 +113,21 @@
|
||||
"songs": "歌曲"
|
||||
},
|
||||
"jellyfin": {
|
||||
"playing": "Playing",
|
||||
"transcoding": "Transcoding",
|
||||
"bitrate": "Bitrate",
|
||||
"no_active": "No Active Streams",
|
||||
"movies": "Movies",
|
||||
"series": "Series",
|
||||
"episodes": "Episodes",
|
||||
"songs": "Songs"
|
||||
"playing": "播放中",
|
||||
"transcoding": "转码",
|
||||
"bitrate": "比特率",
|
||||
"no_active": "暂无播放",
|
||||
"movies": "电影",
|
||||
"series": "系列",
|
||||
"episodes": "剧集",
|
||||
"songs": "歌曲"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "离线",
|
||||
"offline_alt": "离线",
|
||||
"online": "在线的",
|
||||
"total": "Total",
|
||||
"unknown": "Unknown"
|
||||
"total": "总计",
|
||||
"unknown": "未知"
|
||||
},
|
||||
"evcc": {
|
||||
"pv_power": "正式环境",
|
||||
@@ -143,7 +148,7 @@
|
||||
"unread": "未读"
|
||||
},
|
||||
"fritzbox": {
|
||||
"connectionStatus": "Status",
|
||||
"connectionStatus": "状态",
|
||||
"connectionStatusUnconfigured": "未配置",
|
||||
"connectionStatusConnecting": "连接中",
|
||||
"connectionStatusAuthenticating": "认证中",
|
||||
@@ -151,11 +156,11 @@
|
||||
"connectionStatusDisconnecting": "正在断开连接",
|
||||
"connectionStatusDisconnected": "未连接",
|
||||
"connectionStatusConnected": "已连接",
|
||||
"uptime": "Uptime",
|
||||
"uptime": "运行时间",
|
||||
"maxDown": "最大下载速度",
|
||||
"maxUp": "最大上传速度",
|
||||
"down": "Down",
|
||||
"up": "Up",
|
||||
"down": "离线",
|
||||
"up": "在线",
|
||||
"received": "已接收",
|
||||
"sent": "已发送",
|
||||
"externalIPAddress": "外部IP",
|
||||
@@ -178,17 +183,24 @@
|
||||
"passes": "通行证"
|
||||
},
|
||||
"tautulli": {
|
||||
"playing": "Playing",
|
||||
"transcoding": "Transcoding",
|
||||
"bitrate": "Bitrate",
|
||||
"no_active": "No Active Streams",
|
||||
"playing": "播放中",
|
||||
"transcoding": "转码",
|
||||
"bitrate": "比特率",
|
||||
"no_active": "暂无播放",
|
||||
"plex_connection_error": "Check Plex Connection"
|
||||
},
|
||||
"tracearr": {
|
||||
"no_active": "暂无播放",
|
||||
"streams": "Streams",
|
||||
"transcodes": "Transcodes",
|
||||
"directplay": "Direct Play",
|
||||
"bitrate": "比特率"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "连接中的AP",
|
||||
"activeUser": "活跃设备",
|
||||
"alerts": "警报",
|
||||
"connectedGateways": "Connected gateways",
|
||||
"connectedGateways": "已连接网关",
|
||||
"connectedSwitches": "已连接开关"
|
||||
},
|
||||
"nzbget": {
|
||||
@@ -203,13 +215,13 @@
|
||||
"tv": "电视节目"
|
||||
},
|
||||
"sabnzbd": {
|
||||
"rate": "Rate",
|
||||
"rate": "速率",
|
||||
"queue": "队列",
|
||||
"timeleft": "剩余时间"
|
||||
},
|
||||
"rutorrent": {
|
||||
"active": "活动中",
|
||||
"upload": "Upload",
|
||||
"upload": "上传",
|
||||
"download": "下载"
|
||||
},
|
||||
"transmission": {
|
||||
@@ -226,7 +238,7 @@
|
||||
},
|
||||
"qnap": {
|
||||
"cpuUsage": "处理器",
|
||||
"memUsage": "内存",
|
||||
"memUsage": "内存使用",
|
||||
"systemTempC": "系统温度",
|
||||
"poolUsage": "存储池",
|
||||
"volumeUsage": "Volume Usage",
|
||||
@@ -245,7 +257,7 @@
|
||||
"downloadstation": {
|
||||
"download": "Download",
|
||||
"upload": "Upload",
|
||||
"leech": "Leech",
|
||||
"leech": "",
|
||||
"seed": "做种"
|
||||
},
|
||||
"sonarr": {
|
||||
@@ -282,18 +294,14 @@
|
||||
"approved": "已批准",
|
||||
"available": "可用"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"pending": "待办的",
|
||||
"seerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available",
|
||||
"completed": "Completed",
|
||||
"processing": "Processing",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
"processing": "处理中",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
},
|
||||
"netalertx": {
|
||||
"total": "Total",
|
||||
"connected": "Connected",
|
||||
@@ -318,9 +326,9 @@
|
||||
"ping": "Ping"
|
||||
},
|
||||
"portainer": {
|
||||
"running": "Running",
|
||||
"running": "运行中",
|
||||
"stopped": "停止",
|
||||
"total": "Total"
|
||||
"total": "总计"
|
||||
},
|
||||
"suwayomi": {
|
||||
"download": "Downloaded",
|
||||
@@ -377,13 +385,13 @@
|
||||
"unknown": "未知"
|
||||
},
|
||||
"navidrome": {
|
||||
"nothing_streaming": "",
|
||||
"nothing_streaming": "暂无播放",
|
||||
"please_wait": "请等待"
|
||||
},
|
||||
"npm": {
|
||||
"enabled": "已启用",
|
||||
"disabled": "禁用",
|
||||
"total": "Total"
|
||||
"total": "总计"
|
||||
},
|
||||
"coinmarketcap": {
|
||||
"configure": "配置一个或多个需要追踪的加密",
|
||||
@@ -406,7 +414,7 @@
|
||||
},
|
||||
"jackett": {
|
||||
"configured": "已配置",
|
||||
"errored": "Errored"
|
||||
"errored": "出错"
|
||||
},
|
||||
"strelaysrv": {
|
||||
"numActiveSessions": "会话",
|
||||
@@ -420,7 +428,7 @@
|
||||
"domain_count": "域"
|
||||
},
|
||||
"medusa": {
|
||||
"wanted": "Wanted",
|
||||
"wanted": "",
|
||||
"queued": "Queued",
|
||||
"series": "Series"
|
||||
},
|
||||
@@ -441,7 +449,7 @@
|
||||
"failedLoginsLast24H": "登录失败 (24h)"
|
||||
},
|
||||
"proxmox": {
|
||||
"mem": "MEM",
|
||||
"mem": "内存",
|
||||
"cpu": "CPU",
|
||||
"lxc": "容器",
|
||||
"vms": "虚拟机"
|
||||
@@ -450,7 +458,7 @@
|
||||
"cpu": "CPU",
|
||||
"load": "负载",
|
||||
"wait": "请稍候",
|
||||
"temp": "温度",
|
||||
"temp": "转速",
|
||||
"_temp": "Temp",
|
||||
"warn": "Warn",
|
||||
"uptime": "运行时间",
|
||||
@@ -460,7 +468,7 @@
|
||||
"days": "日",
|
||||
"hours": "时",
|
||||
"crit": "Crit",
|
||||
"read": "Read",
|
||||
"read": "读取",
|
||||
"write": "写入",
|
||||
"gpu": "GPU",
|
||||
"mem": "Mem",
|
||||
@@ -481,57 +489,57 @@
|
||||
"1-day": "主要是晴天",
|
||||
"1-night": "大部晴朗",
|
||||
"2-day": "多云",
|
||||
"2-night": "Partly Cloudy",
|
||||
"2-night": "多云",
|
||||
"3-day": "阴天",
|
||||
"3-night": "Cloudy",
|
||||
"3-night": "阴天",
|
||||
"45-day": "有雾",
|
||||
"45-night": "Foggy",
|
||||
"48-day": "Foggy",
|
||||
"48-night": "Foggy",
|
||||
"45-night": "雾",
|
||||
"48-day": "雾",
|
||||
"48-night": "雾",
|
||||
"51-day": "小雨",
|
||||
"51-night": "Light Drizzle",
|
||||
"51-night": "小细雨",
|
||||
"53-day": "小雨",
|
||||
"53-night": "Drizzle",
|
||||
"53-night": "细雨",
|
||||
"55-day": "毛毛雨",
|
||||
"55-night": "Heavy Drizzle",
|
||||
"55-night": "大细雨",
|
||||
"56-day": "小冻毛雨",
|
||||
"56-night": "Light Freezing Drizzle",
|
||||
"56-night": "小冻毛雨",
|
||||
"57-day": "冻毛雨",
|
||||
"57-night": "Freezing Drizzle",
|
||||
"57-night": "冻毛雨",
|
||||
"61-day": "小雨",
|
||||
"61-night": "Light Rain",
|
||||
"61-night": "小雨",
|
||||
"63-day": "雨",
|
||||
"63-night": "Rain",
|
||||
"63-night": "雨天",
|
||||
"65-day": "大雨",
|
||||
"65-night": "Heavy Rain",
|
||||
"65-night": "大雨",
|
||||
"66-day": "冻雨",
|
||||
"66-night": "Freezing Rain",
|
||||
"67-day": "Freezing Rain",
|
||||
"67-night": "Freezing Rain",
|
||||
"66-night": "冻雨",
|
||||
"67-day": "冻雨",
|
||||
"67-night": "冻雨",
|
||||
"71-day": "小雪",
|
||||
"71-night": "Light Snow",
|
||||
"71-night": "小雪",
|
||||
"73-day": "中雪",
|
||||
"73-night": "Snow",
|
||||
"73-night": "中雪",
|
||||
"75-day": "大雪",
|
||||
"75-night": "Heavy Snow",
|
||||
"75-night": "大雪",
|
||||
"77-day": "雪粒",
|
||||
"77-night": "Snow Grains",
|
||||
"77-night": "雪粒",
|
||||
"80-day": "微阵雨",
|
||||
"80-night": "Light Showers",
|
||||
"80-night": "小阵雨",
|
||||
"81-day": "阵雨",
|
||||
"81-night": "Showers",
|
||||
"81-night": "阵雨",
|
||||
"82-day": "强阵雨",
|
||||
"82-night": "Heavy Showers",
|
||||
"82-night": "强阵雨",
|
||||
"85-day": "阵雪",
|
||||
"85-night": "Snow Showers",
|
||||
"86-day": "Snow Showers",
|
||||
"86-night": "Snow Showers",
|
||||
"85-night": "阵雪",
|
||||
"86-day": "阵雪",
|
||||
"86-night": "阵雪",
|
||||
"95-day": "雷雨",
|
||||
"95-night": "Thunderstorm",
|
||||
"95-night": "雷雨",
|
||||
"96-day": "雷雨伴随冰雹",
|
||||
"96-night": "Thunderstorm With Hail",
|
||||
"99-day": "Thunderstorm With Hail",
|
||||
"99-night": "Thunderstorm With Hail"
|
||||
"96-night": "雷雨伴随冰雹",
|
||||
"99-day": "雷雨伴随冰雹",
|
||||
"99-night": "雷雨伴随冰雹"
|
||||
},
|
||||
"homebridge": {
|
||||
"available_update": "System",
|
||||
@@ -687,9 +695,9 @@
|
||||
"memory_usage": "内存"
|
||||
},
|
||||
"immich": {
|
||||
"users": "Users",
|
||||
"users": "用户",
|
||||
"photos": "照片",
|
||||
"videos": "Videos",
|
||||
"videos": "影片",
|
||||
"storage": "储存空间"
|
||||
},
|
||||
"uptimekuma": {
|
||||
@@ -987,8 +995,8 @@
|
||||
},
|
||||
"frigate": {
|
||||
"cameras": "摄像头",
|
||||
"uptime": "Uptime",
|
||||
"version": "Version"
|
||||
"uptime": "运行时间",
|
||||
"version": "版本"
|
||||
},
|
||||
"linkwarden": {
|
||||
"links": "链接",
|
||||
@@ -1035,7 +1043,7 @@
|
||||
"status": "Status",
|
||||
"updated": "Updated",
|
||||
"cpu": "CPU",
|
||||
"memory": "MEM",
|
||||
"memory": "内存",
|
||||
"disk": "磁盘",
|
||||
"network": "网络"
|
||||
},
|
||||
@@ -1059,10 +1067,10 @@
|
||||
"projects": "项目"
|
||||
},
|
||||
"apcups": {
|
||||
"status": "Status",
|
||||
"load": "Load",
|
||||
"bcharge": "Battery Charge",
|
||||
"timeleft": "Time Left"
|
||||
"status": "状态",
|
||||
"load": "负载",
|
||||
"bcharge": "电池电量",
|
||||
"timeleft": "剩余供电时间"
|
||||
},
|
||||
"karakeep": {
|
||||
"bookmarks": "书签",
|
||||
@@ -1084,9 +1092,9 @@
|
||||
"sharedFiles": "Files"
|
||||
},
|
||||
"jellystat": {
|
||||
"songs": "Songs",
|
||||
"movies": "Movies",
|
||||
"episodes": "Episodes",
|
||||
"songs": "歌曲",
|
||||
"movies": "电影",
|
||||
"episodes": "剧集",
|
||||
"other": "其他"
|
||||
},
|
||||
"checkmk": {
|
||||
@@ -1131,8 +1139,8 @@
|
||||
"notifications": "Notifications",
|
||||
"status": "Status",
|
||||
"cpu": "CPU",
|
||||
"memoryUsed": "Memory Used",
|
||||
"memoryAvailable": "Memory Available",
|
||||
"memoryUsed": "已用内存",
|
||||
"memoryAvailable": "可用内存",
|
||||
"arrayUsed": "Array Used",
|
||||
"arrayFree": "Array Free",
|
||||
"poolUsed": "{{pool}} Used",
|
||||
@@ -1159,11 +1167,11 @@
|
||||
"environment_required": "Environment ID Required"
|
||||
},
|
||||
"dockhand": {
|
||||
"running": "Running",
|
||||
"stopped": "Stopped",
|
||||
"running": "运行中",
|
||||
"stopped": "停止",
|
||||
"cpu": "CPU",
|
||||
"memory": "Memory",
|
||||
"images": "Images",
|
||||
"memory": "内存",
|
||||
"images": "图片",
|
||||
"volumes": "Volumes",
|
||||
"events_today": "Events Today",
|
||||
"pending_updates": "Pending Updates",
|
||||
@@ -1171,5 +1179,11 @@
|
||||
"paused": "Paused",
|
||||
"total": "Total",
|
||||
"environment_not_found": "Environment Not Found"
|
||||
},
|
||||
"sparkyfitness": {
|
||||
"eaten": "Eaten",
|
||||
"burned": "Burned",
|
||||
"remaining": "Remaining",
|
||||
"steps": "Steps"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,6 +66,11 @@
|
||||
"wait": "Please wait",
|
||||
"empty_data": "子系統狀態未知"
|
||||
},
|
||||
"unifi_drive": {
|
||||
"healthy": "Healthy",
|
||||
"degraded": "Degraded",
|
||||
"no_data": "No storage data available"
|
||||
},
|
||||
"docker": {
|
||||
"rx": "接收",
|
||||
"tx": "傳送",
|
||||
@@ -108,14 +113,14 @@
|
||||
"songs": "曲目"
|
||||
},
|
||||
"jellyfin": {
|
||||
"playing": "Playing",
|
||||
"transcoding": "Transcoding",
|
||||
"bitrate": "Bitrate",
|
||||
"no_active": "No Active Streams",
|
||||
"movies": "Movies",
|
||||
"series": "Series",
|
||||
"episodes": "Episodes",
|
||||
"songs": "Songs"
|
||||
"playing": "正在播放",
|
||||
"transcoding": "轉碼",
|
||||
"bitrate": "位元率",
|
||||
"no_active": "無播放活動",
|
||||
"movies": "電影",
|
||||
"series": "系列",
|
||||
"episodes": "劇集",
|
||||
"songs": "曲目"
|
||||
},
|
||||
"esphome": {
|
||||
"offline": "Offline",
|
||||
@@ -184,6 +189,13 @@
|
||||
"no_active": "No Active Streams",
|
||||
"plex_connection_error": "檢查Plex的連線狀態"
|
||||
},
|
||||
"tracearr": {
|
||||
"no_active": "No Active Streams",
|
||||
"streams": "Streams",
|
||||
"transcodes": "Transcodes",
|
||||
"directplay": "Direct Play",
|
||||
"bitrate": "Bitrate"
|
||||
},
|
||||
"omada": {
|
||||
"connectedAp": "已連線的無線網路",
|
||||
"activeUser": "上線裝置",
|
||||
@@ -282,18 +294,14 @@
|
||||
"approved": "已核准",
|
||||
"available": "可觀看"
|
||||
},
|
||||
"jellyseerr": {
|
||||
"seerr": {
|
||||
"pending": "Pending",
|
||||
"approved": "Approved",
|
||||
"available": "Available",
|
||||
"completed": "Completed",
|
||||
"processing": "Processing",
|
||||
"issues": "Open Issues"
|
||||
},
|
||||
"overseerr": {
|
||||
"pending": "Pending",
|
||||
"processing": "處理中",
|
||||
"approved": "Approved",
|
||||
"available": "Available"
|
||||
},
|
||||
"netalertx": {
|
||||
"total": "Total",
|
||||
"connected": "Connected",
|
||||
@@ -318,9 +326,9 @@
|
||||
"ping": "Ping"
|
||||
},
|
||||
"portainer": {
|
||||
"running": "Running",
|
||||
"running": "執行中",
|
||||
"stopped": "已停止",
|
||||
"total": "Total"
|
||||
"total": "全部"
|
||||
},
|
||||
"suwayomi": {
|
||||
"download": "Downloaded",
|
||||
@@ -383,7 +391,7 @@
|
||||
"npm": {
|
||||
"enabled": "已啟用",
|
||||
"disabled": "已停用",
|
||||
"total": "Total"
|
||||
"total": "全部"
|
||||
},
|
||||
"coinmarketcap": {
|
||||
"configure": "請設定一個或多個欲追蹤的加密貨幣",
|
||||
@@ -448,19 +456,19 @@
|
||||
},
|
||||
"glances": {
|
||||
"cpu": "CPU",
|
||||
"load": "Load",
|
||||
"wait": "Please wait",
|
||||
"temp": "TEMP",
|
||||
"load": "負載",
|
||||
"wait": "請稍候",
|
||||
"temp": "溫度",
|
||||
"_temp": "溫度",
|
||||
"warn": "警告",
|
||||
"uptime": "UP",
|
||||
"total": "Total",
|
||||
"free": "Free",
|
||||
"used": "Used",
|
||||
"days": "d",
|
||||
"hours": "h",
|
||||
"uptime": "運作時間",
|
||||
"total": "全部",
|
||||
"free": "剩餘",
|
||||
"used": "已使用",
|
||||
"days": "日",
|
||||
"hours": "時",
|
||||
"crit": "重大的",
|
||||
"read": "Read",
|
||||
"read": "已讀",
|
||||
"write": "寫入",
|
||||
"gpu": "GPU",
|
||||
"mem": "記憶體",
|
||||
@@ -1084,10 +1092,10 @@
|
||||
"sharedFiles": "Files"
|
||||
},
|
||||
"jellystat": {
|
||||
"songs": "Songs",
|
||||
"movies": "Movies",
|
||||
"episodes": "Episodes",
|
||||
"other": "Other"
|
||||
"songs": "曲目",
|
||||
"movies": "電影",
|
||||
"episodes": "劇集",
|
||||
"other": "其它"
|
||||
},
|
||||
"checkmk": {
|
||||
"serviceErrors": "Service issues",
|
||||
@@ -1171,5 +1179,11 @@
|
||||
"paused": "Paused",
|
||||
"total": "Total",
|
||||
"environment_not_found": "Environment Not Found"
|
||||
},
|
||||
"sparkyfitness": {
|
||||
"eaten": "Eaten",
|
||||
"burned": "Burned",
|
||||
"remaining": "Remaining",
|
||||
"steps": "Steps"
|
||||
}
|
||||
}
|
||||
|
||||
8
pyproject.toml
Normal file
8
pyproject.toml
Normal file
@@ -0,0 +1,8 @@
|
||||
[project]
|
||||
name = "homepage-docs"
|
||||
version = "1.0.0"
|
||||
description = "Documentation for the Homepage project"
|
||||
requires-python = ">=3.13"
|
||||
dependencies = [
|
||||
"zensical>=0.0.21",
|
||||
]
|
||||
@@ -1,47 +0,0 @@
|
||||
Babel==2.12.1
|
||||
backrefs==5.9
|
||||
cairocffi==1.7.1
|
||||
CairoSVG==2.7.1
|
||||
certifi==2023.7.22
|
||||
cffi==1.17.1
|
||||
cfgv==3.4.0
|
||||
charset-normalizer==3.2.0
|
||||
click==8.1.7
|
||||
colorama==0.4.6
|
||||
cssselect2==0.7.0
|
||||
defusedxml==0.7.1
|
||||
distlib==0.3.9
|
||||
filelock==3.17.0
|
||||
ghp-import==2.1.0
|
||||
identify==2.6.7
|
||||
idna==3.4
|
||||
Jinja2==3.1.2
|
||||
Markdown==3.4.4
|
||||
MarkupSafe==2.1.3
|
||||
mergedeep==1.3.4
|
||||
mkdocs==1.6.0
|
||||
mkdocs-get-deps==0.2.0
|
||||
mkdocs-material==9.6.18
|
||||
mkdocs-material-extensions==1.3.1
|
||||
mkdocs-redirects==1.2.1
|
||||
nodeenv==1.9.1
|
||||
packaging==23.1
|
||||
paginate==0.5.6
|
||||
pathspec==0.11.2
|
||||
pillow==10.4.0
|
||||
platformdirs==3.10.0
|
||||
pre-commit==3.5.0
|
||||
pycparser==2.22
|
||||
Pygments==2.16.1
|
||||
pymdown-extensions==10.3
|
||||
python-dateutil==2.8.2
|
||||
PyYAML==6.0.1
|
||||
pyyaml_env_tag==0.1
|
||||
regex==2023.8.8
|
||||
requests==2.31.0
|
||||
six==1.16.0
|
||||
tinycss2==1.4.0
|
||||
urllib3==2.0.5
|
||||
virtualenv==20.29.2
|
||||
watchdog==3.0.0
|
||||
webencodings==0.5.1
|
||||
@@ -344,4 +344,17 @@ describe("pages/api/services/proxy", () => {
|
||||
expect(res.statusCode).toBe(500);
|
||||
expect(res.body).toEqual({ error: "Unexpected error" });
|
||||
});
|
||||
|
||||
it("returns 500 when an async proxy handler throws", async () => {
|
||||
getServiceWidget.mockResolvedValue({ type: "linkwarden" });
|
||||
handlerFn.handler.mockRejectedValueOnce(new Error("proxy boom"));
|
||||
|
||||
const req = { method: "GET", query: { group: "g", service: "s", index: "0" } };
|
||||
const res = createMockRes();
|
||||
|
||||
await servicesProxy(req, res);
|
||||
|
||||
expect(res.statusCode).toBe(500);
|
||||
expect(res.body).toEqual({ error: "Unexpected error" });
|
||||
});
|
||||
});
|
||||
|
||||
@@ -90,17 +90,74 @@ describe("pages/api/widgets/resources", () => {
|
||||
});
|
||||
|
||||
it("returns 404 when requested network interface does not exist", async () => {
|
||||
si.networkStats.mockResolvedValueOnce([{ iface: "en0" }]);
|
||||
si.networkStats.mockResolvedValueOnce([{ iface: "en0" }]).mockResolvedValueOnce([
|
||||
{
|
||||
iface: "missing",
|
||||
operstate: "unknown",
|
||||
rx_bytes: 0,
|
||||
rx_dropped: 0,
|
||||
rx_errors: 0,
|
||||
tx_bytes: 0,
|
||||
tx_dropped: 0,
|
||||
tx_errors: 0,
|
||||
rx_sec: null,
|
||||
tx_sec: null,
|
||||
ms: 0,
|
||||
},
|
||||
]);
|
||||
|
||||
const req = { query: { type: "network", interfaceName: "missing" } };
|
||||
const res = createMockRes();
|
||||
|
||||
await handler(req, res);
|
||||
|
||||
expect(si.networkStats).toHaveBeenNthCalledWith(1, "*");
|
||||
expect(si.networkStats).toHaveBeenNthCalledWith(2, "missing");
|
||||
expect(res.statusCode).toBe(404);
|
||||
expect(res.body).toEqual({ error: "Interface not found" });
|
||||
});
|
||||
|
||||
it("falls back to direct named interface query when wildcard enumeration misses it", async () => {
|
||||
si.networkStats.mockResolvedValueOnce([{ iface: "eth0", rx_bytes: 1 }]).mockResolvedValueOnce([
|
||||
{
|
||||
iface: "eno1",
|
||||
operstate: "up",
|
||||
rx_bytes: 1000,
|
||||
rx_dropped: 0,
|
||||
rx_errors: 0,
|
||||
tx_bytes: 500,
|
||||
tx_dropped: 0,
|
||||
tx_errors: 0,
|
||||
rx_sec: null,
|
||||
tx_sec: null,
|
||||
ms: 0,
|
||||
},
|
||||
]);
|
||||
|
||||
const req = { query: { type: "network", interfaceName: "eno1" } };
|
||||
const res = createMockRes();
|
||||
|
||||
await handler(req, res);
|
||||
|
||||
expect(si.networkStats).toHaveBeenNthCalledWith(1, "*");
|
||||
expect(si.networkStats).toHaveBeenNthCalledWith(2, "eno1");
|
||||
expect(res.statusCode).toBe(200);
|
||||
expect(res.body.interface).toBe("eno1");
|
||||
expect(res.body.network).toEqual({
|
||||
iface: "eno1",
|
||||
operstate: "up",
|
||||
rx_bytes: 1000,
|
||||
rx_dropped: 0,
|
||||
rx_errors: 0,
|
||||
tx_bytes: 500,
|
||||
tx_dropped: 0,
|
||||
tx_errors: 0,
|
||||
rx_sec: null,
|
||||
tx_sec: null,
|
||||
ms: 0,
|
||||
});
|
||||
});
|
||||
|
||||
it("returns default interface network stats", async () => {
|
||||
si.networkStats.mockResolvedValueOnce([{ iface: "en0", rx_bytes: 1 }]);
|
||||
si.networkInterfaceDefault.mockResolvedValueOnce("en0");
|
||||
|
||||
@@ -339,7 +339,7 @@ describe("pages/index Index routing + SWR branches", () => {
|
||||
localStorage.setItem("hash", "old-hash");
|
||||
|
||||
const fetchSpy = vi.fn(async () => ({ ok: true }));
|
||||
// eslint-disable-next-line no-global-assign
|
||||
|
||||
fetch = fetchSpy;
|
||||
|
||||
let reloadSpy;
|
||||
|
||||
@@ -277,7 +277,7 @@ describe("components/quicklaunch", () => {
|
||||
const fetchSpy = vi.fn(async () => ({
|
||||
json: async () => ["test", ["test 1", "test 2", "test 3", "test 4", "test 5"]],
|
||||
}));
|
||||
// eslint-disable-next-line no-global-assign
|
||||
|
||||
fetch = fetchSpy;
|
||||
|
||||
renderWithProviders(<Wrapper />, {
|
||||
@@ -315,7 +315,6 @@ describe("components/quicklaunch", () => {
|
||||
|
||||
expect(input).toHaveValue("test 1");
|
||||
|
||||
// eslint-disable-next-line no-global-assign
|
||||
fetch = originalFetch;
|
||||
});
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// @vitest-environment jsdom
|
||||
|
||||
import { fireEvent, screen } from "@testing-library/react";
|
||||
import { act, fireEvent, screen } from "@testing-library/react";
|
||||
import { describe, expect, it, vi } from "vitest";
|
||||
|
||||
import { renderWithProviders } from "test-utils/render-with-providers";
|
||||
@@ -188,7 +188,9 @@ describe("components/services/item", () => {
|
||||
// Still rendered while the close animation runs.
|
||||
expect(screen.getByTestId("docker-widget")).toBeInTheDocument();
|
||||
|
||||
await vi.advanceTimersByTimeAsync(300);
|
||||
act(() => {
|
||||
vi.advanceTimersByTime(300);
|
||||
});
|
||||
expect(screen.queryByTestId("docker-widget")).not.toBeInTheDocument();
|
||||
|
||||
vi.useRealTimers();
|
||||
|
||||
@@ -6,7 +6,7 @@ import { BlockHighlightContext } from "./highlight-context";
|
||||
|
||||
import { evaluateHighlight, getHighlightClass } from "utils/highlights";
|
||||
|
||||
export default function Block({ value, label, field }) {
|
||||
export default function Block({ value, highlightValue, label, field }) {
|
||||
const { t } = useTranslation();
|
||||
const highlightConfig = useContext(BlockHighlightContext);
|
||||
|
||||
@@ -20,12 +20,12 @@ export default function Block({ value, label, field }) {
|
||||
}
|
||||
|
||||
for (const candidate of candidates) {
|
||||
const result = evaluateHighlight(candidate, value, highlightConfig);
|
||||
const result = evaluateHighlight(candidate, highlightValue ?? value, highlightConfig);
|
||||
if (result) return result;
|
||||
}
|
||||
|
||||
return null;
|
||||
}, [field, label, value, highlightConfig]);
|
||||
}, [field, label, value, highlightValue, highlightConfig]);
|
||||
|
||||
const highlightClass = useMemo(() => {
|
||||
if (!highlight?.level) return undefined;
|
||||
|
||||
@@ -38,4 +38,27 @@ describe("components/services/widget/block", () => {
|
||||
expect(el.getAttribute("data-highlight-level")).toBe("danger");
|
||||
expect(el.className).toContain("danger-class");
|
||||
});
|
||||
|
||||
it("prefers highlightValue over the rendered value for numeric highlighting", () => {
|
||||
const highlightConfig = {
|
||||
levels: { warn: "warn-class" },
|
||||
fields: {
|
||||
foo: {
|
||||
numeric: { when: "gt", value: 5, level: "warn" },
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
const { container } = renderWithProviders(
|
||||
<BlockHighlightContext.Provider value={highlightConfig}>
|
||||
<Block label="foo.label" field="foo" value="5.791 ms" highlightValue={5.791} />
|
||||
</BlockHighlightContext.Provider>,
|
||||
{ settings: {} },
|
||||
);
|
||||
|
||||
const el = container.querySelector(".service-block");
|
||||
expect(el).not.toBeNull();
|
||||
expect(el.getAttribute("data-highlight-level")).toBe("warn");
|
||||
expect(el.className).toContain("warn-class");
|
||||
});
|
||||
});
|
||||
|
||||
@@ -9,6 +9,8 @@ import { buildHighlightConfig } from "utils/highlights";
|
||||
const ALIASED_WIDGETS = {
|
||||
pialert: "netalertx",
|
||||
hoarder: "karakeep",
|
||||
jellyseerr: "seerr",
|
||||
overseerr: "seerr",
|
||||
};
|
||||
|
||||
export default function Container({ error = false, children, service }) {
|
||||
|
||||
@@ -58,6 +58,26 @@ describe("components/services/widget/container", () => {
|
||||
expect(screen.getByTestId("karakeep.count")).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it("supports seerr aliases when filtering (jellyseerr/overseerr -> seerr)", () => {
|
||||
renderWithProviders(
|
||||
<Container service={{ widget: { type: "jellyseerr", fields: ["pending"] } }}>
|
||||
<Dummy label="seerr.pending" />
|
||||
</Container>,
|
||||
{ settings: {} },
|
||||
);
|
||||
|
||||
expect(screen.getByTestId("seerr.pending")).toBeInTheDocument();
|
||||
|
||||
renderWithProviders(
|
||||
<Container service={{ widget: { type: "overseerr", fields: ["processing"] } }}>
|
||||
<Dummy label="seerr.processing" />
|
||||
</Container>,
|
||||
{ settings: {} },
|
||||
);
|
||||
|
||||
expect(screen.getByTestId("seerr.processing")).toBeInTheDocument();
|
||||
});
|
||||
|
||||
it("returns null when errors are hidden via settings.hideErrors", () => {
|
||||
const { container } = renderWithProviders(
|
||||
<Container error="nope" service={{ widget: { type: "omada", hide_errors: false } }}>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// @vitest-environment jsdom
|
||||
|
||||
import { screen } from "@testing-library/react";
|
||||
import { act, screen } from "@testing-library/react";
|
||||
import { describe, expect, it, vi } from "vitest";
|
||||
|
||||
import { renderWithProviders } from "test-utils/render-with-providers";
|
||||
@@ -21,7 +21,9 @@ describe("components/widgets/datetime", () => {
|
||||
// `render` wraps in `act`, so effects should flush synchronously.
|
||||
expect(screen.getByText(expected0)).toBeInTheDocument();
|
||||
|
||||
await vi.advanceTimersByTimeAsync(1000);
|
||||
act(() => {
|
||||
vi.advanceTimersByTime(1000);
|
||||
});
|
||||
const expected1 = new Intl.DateTimeFormat("en-US", format).format(new Date());
|
||||
|
||||
expect(screen.getByText(expected1)).toBeInTheDocument();
|
||||
|
||||
@@ -11,7 +11,7 @@ import Resource from "../widget/resource";
|
||||
import Resources from "../widget/resources";
|
||||
import WidgetLabel from "../widget/widget_label";
|
||||
|
||||
const cpuSensorLabels = ["cpu_thermal", "Core", "Tctl"];
|
||||
const cpuSensorLabels = ["cpu_thermal", "Core", "Tctl", "Temperature"];
|
||||
|
||||
function convertToFahrenheit(t) {
|
||||
return (t * 9) / 5 + 32;
|
||||
|
||||
@@ -32,7 +32,13 @@ vi.mock("@headlessui/react", async () => {
|
||||
const ctx = useContext(ListboxContext);
|
||||
const content = typeof children === "function" ? children({ active: false }) : children;
|
||||
return (
|
||||
<div role="option" data-provider={value?.name} onClick={() => ctx?.onChange?.(value)} {...props}>
|
||||
<div
|
||||
role="option"
|
||||
data-provider={value?.name}
|
||||
aria-selected={ctx?.value === value}
|
||||
onClick={() => ctx?.onChange?.(value)}
|
||||
{...props}
|
||||
>
|
||||
{content}
|
||||
</div>
|
||||
);
|
||||
@@ -166,7 +172,7 @@ describe("components/widgets/search", () => {
|
||||
const fetchSpy = vi.fn(async () => ({
|
||||
json: async () => ["hel", ["hello", "help", "helm", "helium", "held"]],
|
||||
}));
|
||||
// eslint-disable-next-line no-global-assign
|
||||
|
||||
fetch = fetchSpy;
|
||||
|
||||
renderWithProviders(<Search options={{ provider: ["google"], showSearchSuggestions: true, target: "_self" }} />, {
|
||||
@@ -192,7 +198,7 @@ describe("components/widgets/search", () => {
|
||||
expect(openSpy).toHaveBeenCalledWith("https://www.google.com/search?q=hello", "_self");
|
||||
|
||||
openSpy.mockRestore();
|
||||
// eslint-disable-next-line no-global-assign
|
||||
|
||||
fetch = originalFetch;
|
||||
});
|
||||
});
|
||||
|
||||
@@ -29,7 +29,7 @@ export default async function handler(req, res) {
|
||||
if (serviceProxyHandler instanceof Function) {
|
||||
// quick return for no endpoint services, calendar is an exception
|
||||
if (!req.query.endpoint || serviceProxyHandler === calendarProxyHandler) {
|
||||
return serviceProxyHandler(req, res);
|
||||
return await serviceProxyHandler(req, res);
|
||||
}
|
||||
|
||||
// map opaque endpoints to their actual endpoint
|
||||
@@ -90,15 +90,15 @@ export default async function handler(req, res) {
|
||||
}
|
||||
|
||||
if (endpointProxy instanceof Function) {
|
||||
return endpointProxy(req, res, map);
|
||||
return await endpointProxy(req, res, map);
|
||||
}
|
||||
|
||||
return serviceProxyHandler(req, res, map);
|
||||
return await serviceProxyHandler(req, res, map);
|
||||
}
|
||||
|
||||
if (widget.allowedEndpoints instanceof RegExp) {
|
||||
if (widget.allowedEndpoints.test(req.query.endpoint)) {
|
||||
return serviceProxyHandler(req, res);
|
||||
return await serviceProxyHandler(req, res);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -4,6 +4,21 @@ import createLogger from "utils/logger";
|
||||
|
||||
const logger = createLogger("resources");
|
||||
|
||||
function isMissingNetworkStat(networkData, interfaceName) {
|
||||
return (
|
||||
networkData.operstate === "unknown" &&
|
||||
networkData.rx_bytes === 0 &&
|
||||
networkData.rx_dropped === 0 &&
|
||||
networkData.rx_errors === 0 &&
|
||||
networkData.tx_bytes === 0 &&
|
||||
networkData.tx_dropped === 0 &&
|
||||
networkData.tx_errors === 0 &&
|
||||
networkData.rx_sec === null &&
|
||||
networkData.tx_sec === null &&
|
||||
networkData.ms === 0
|
||||
);
|
||||
}
|
||||
|
||||
export default async function handler(req, res) {
|
||||
const { type, target, interfaceName = "default" } = req.query;
|
||||
|
||||
@@ -64,6 +79,17 @@ export default async function handler(req, res) {
|
||||
logger.debug("networkData:", JSON.stringify(networkData));
|
||||
if (interfaceName && interfaceName !== "default") {
|
||||
networkData = networkData.filter((network) => network.iface === interfaceName).at(0);
|
||||
if (!networkData) {
|
||||
// Fallback for e.g. docker where networkStats("*") may not return stats for host interfaces
|
||||
const directNetworkData = await si.networkStats(interfaceName);
|
||||
logger.debug("directNetworkData:", JSON.stringify(directNetworkData));
|
||||
networkData = Array.isArray(directNetworkData) ? directNetworkData.at(0) : null;
|
||||
|
||||
// si returns unknown + zeroes when interface truly does not exist
|
||||
if (!networkData || isMissingNetworkStat(networkData, interfaceName)) {
|
||||
networkData = null;
|
||||
}
|
||||
}
|
||||
if (!networkData) {
|
||||
return res.status(404).json({
|
||||
error: "Interface not found",
|
||||
|
||||
@@ -1,4 +1,12 @@
|
||||
import { expect } from "vitest";
|
||||
|
||||
export function findServiceBlockByLabel(container, label) {
|
||||
const blocks = Array.from(container.querySelectorAll(".service-block"));
|
||||
return blocks.find((b) => b.textContent?.includes(label));
|
||||
}
|
||||
|
||||
export function expectBlockValue(container, label, value) {
|
||||
const block = findServiceBlockByLabel(container, label);
|
||||
expect(block, `missing block for ${label}`).toBeTruthy();
|
||||
expect(block.textContent).toContain(String(value));
|
||||
}
|
||||
|
||||
@@ -313,7 +313,7 @@ export function cleanServiceGroups(groups) {
|
||||
enableNowPlaying,
|
||||
enableMediaControl,
|
||||
|
||||
// emby, jellyfin, tautulli
|
||||
// emby, jellyfin, tautulli, tracearr
|
||||
enableUser,
|
||||
expandOneStreamToTwoRows,
|
||||
showEpisodeNumber,
|
||||
@@ -542,12 +542,15 @@ export function cleanServiceGroups(groups) {
|
||||
if (enableBlocks !== undefined) widget.enableBlocks = JSON.parse(enableBlocks);
|
||||
if (enableNowPlaying !== undefined) widget.enableNowPlaying = JSON.parse(enableNowPlaying);
|
||||
}
|
||||
if (["emby", "jellyfin", "tautulli"].includes(type)) {
|
||||
if (["emby", "jellyfin", "tautulli", "tracearr"].includes(type)) {
|
||||
if (expandOneStreamToTwoRows !== undefined)
|
||||
widget.expandOneStreamToTwoRows = !!JSON.parse(expandOneStreamToTwoRows);
|
||||
if (showEpisodeNumber !== undefined) widget.showEpisodeNumber = !!JSON.parse(showEpisodeNumber);
|
||||
if (enableUser !== undefined) widget.enableUser = !!JSON.parse(enableUser);
|
||||
}
|
||||
if (type === "tracearr") {
|
||||
if (view !== undefined) widget.view = view;
|
||||
}
|
||||
if (["sonarr", "radarr"].includes(type)) {
|
||||
if (enableQueue !== undefined) widget.enableQueue = JSON.parse(enableQueue);
|
||||
}
|
||||
@@ -616,7 +619,19 @@ export function cleanServiceGroups(groups) {
|
||||
if (refreshInterval) widget.refreshInterval = refreshInterval;
|
||||
}
|
||||
if (type === "calendar") {
|
||||
if (integrations) widget.integrations = integrations;
|
||||
if (integrations) {
|
||||
if (Array.isArray(integrations)) {
|
||||
widget.integrations = integrations.map((integration) => {
|
||||
if (!integration || typeof integration !== "object") {
|
||||
return integration;
|
||||
}
|
||||
const { url, ...integrationWithoutUrl } = integration;
|
||||
return integrationWithoutUrl;
|
||||
});
|
||||
} else {
|
||||
widget.integrations = integrations;
|
||||
}
|
||||
}
|
||||
if (firstDayInWeek) widget.firstDayInWeek = firstDayInWeek;
|
||||
if (view) widget.view = view;
|
||||
if (maxEvents) widget.maxEvents = maxEvents;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user