chore(release): automatic release v1.72.0

This commit is contained in:
homarr-releases[bot] authored and GitHub committed 2026-07-24 18:10:37 +00:00
commit ba8536b36d
90 files changed
+12798 -927

No files matched your search

+1
View File
@@ -33,6 +33,7 @@ body:
options:
# The below comment is used to insert a new version with on-release.yml
#NEXT_VERSION#
- 1.71.0
- 1.70.0
- 1.69.2
- 1.69.0
+7 -83
View File
@@ -60,7 +60,7 @@ jobs:
TURBO_PLATFORM: linux/amd64
steps:
- uses: actions/checkout@v7
if: '!env.ACT'
if: "!env.ACT"
with:
fetch-depth: 0
persist-credentials: false
@@ -91,7 +91,7 @@ jobs:
run: pnpm test
container:
name: Container, E2E, and memory
name: Container and E2E
needs: fast-gate
if: |
github.event_name == 'merge_group' ||
@@ -104,7 +104,7 @@ jobs:
packages: write
steps:
- uses: actions/checkout@v7
if: '!env.ACT'
if: "!env.ACT"
with:
persist-credentials: false
ref: ${{ github.event_name == 'workflow_dispatch' && inputs.ref || '' }}
@@ -113,11 +113,11 @@ jobs:
uses: ./tooling/github/setup
- name: Set up Docker Buildx
if: '!env.ACT'
if: "!env.ACT"
uses: docker/setup-buildx-action@v4
- name: Build container once
if: '!env.ACT'
if: "!env.ACT"
uses: docker/build-push-action@v7
with:
context: .
@@ -158,7 +158,7 @@ jobs:
--tag homarr-ci --tag homarr-e2e "${secret_args[@]}" .
- name: Cache Playwright browsers
if: '!env.ACT'
if: "!env.ACT"
id: playwright-cache
uses: actions/cache@v6
with:
@@ -184,82 +184,6 @@ jobs:
path: e2e/test-results/
retention-days: 7
- name: Run memory regression test
env:
CONTAINER_NAME: homarr-mem-${{ github.run_id }}-${{ github.run_attempt }}
SECRET_ENCRYPTION_KEY: 0000000000000000000000000000000000000000000000000000000000000000
run: |
docker run -d --name "$CONTAINER_NAME" -p 127.0.0.1::7575 \
-e NO_EXTERNAL_CONNECTION=true \
-e SECRET_ENCRYPTION_KEY="$SECRET_ENCRYPTION_KEY" \
homarr-ci
PORT=$(docker port "$CONTAINER_NAME" 7575/tcp | sed 's/.*://')
[[ "$PORT" =~ ^[0-9]+$ ]] || { echo "ERROR: invalid port mapping: '$PORT'"; exit 1; }
URL="http://127.0.0.1:${PORT}"
healthy=false
for i in $(seq 1 30); do
if curl -sf "$URL/api/health/ready" >/dev/null 2>&1; then
echo "Container healthy after $((i * 2))s"
healthy=true
break
fi
sleep 2
done
if [ "$healthy" != "true" ]; then
echo "ERROR: Container never became healthy"
docker logs "$CONTAINER_NAME" --tail 100
exit 1
fi
warmup_ok=0
for _ in $(seq 1 5); do
curl -sf "$URL/" >/dev/null 2>&1 && warmup_ok=$((warmup_ok + 1))
sleep 2
done
if [ "$warmup_ok" -eq 0 ]; then
echo "ERROR: All warmup requests failed"
docker logs "$CONTAINER_NAME" --tail 50
exit 1
fi
docker inspect -f '{{.State.Running}}' "$CONTAINER_NAME" | grep -qx true || {
echo "ERROR: Container died before memory measurement"
docker logs "$CONTAINER_NAME" --tail 100
exit 1
}
RAW_MEMORY=$(docker stats --no-stream --format '{{.MemUsage}}' "$CONTAINER_NAME" | sed 's| /.*||')
MEMORY_MB=$(echo "$RAW_MEMORY" | awk '
/GiB/ { gsub(/GiB/, ""); print $1 * 1024; next }
/MiB/ { gsub(/MiB/, ""); print $1; next }
/KiB/ { gsub(/KiB/, ""); print $1 / 1024; next }
{ print $1 / 1048576 }
')
echo "Memory usage: ${MEMORY_MB} MB (${RAW_MEMORY})"
[[ "$MEMORY_MB" =~ ^[0-9]+(\.[0-9]+)?$ ]] || {
echo "ERROR: non-numeric memory value: '$MEMORY_MB' (raw: '$RAW_MEMORY')"
docker logs "$CONTAINER_NAME" --tail 100
exit 1
}
if awk "BEGIN { exit !($MEMORY_MB < 50) }"; then
echo "ERROR: Memory suspiciously low (${MEMORY_MB} MB) — container may have crashed"
docker logs "$CONTAINER_NAME" --tail 100
exit 1
elif awk "BEGIN { exit !($MEMORY_MB > 700) }"; then
echo "ERROR: Memory usage ${MEMORY_MB} MB exceeds 700 MB"
docker logs "$CONTAINER_NAME" --tail 100
exit 1
fi
- name: Clean up memory test container
if: always()
env:
CONTAINER_NAME: homarr-mem-${{ github.run_id }}-${{ github.run_attempt }}
run: docker rm -f "$CONTAINER_NAME" >/dev/null 2>&1 || true
- name: Determine preview tag
id: preview
if: |
@@ -309,7 +233,7 @@ jobs:
run: test -n "$PR_NUMBER" || { echo "pr_number is required for cleanup"; exit 1; }
- name: Delete GHCR package version
if: '!env.ACT'
if: "!env.ACT"
uses: actions/github-script@v8
with:
script: |
@@ -2,9 +2,9 @@
<img src="https://raw.githubusercontent.com/homarr-labs/charts/refs/heads/main/charts/homarr/icon.svg" align="right" width="92" alt="homarr logo">
![Version: 8.22.0](https://img.shields.io/badge/Version-8.22.0-informational?style=flat)
![Version: 8.23.0](https://img.shields.io/badge/Version-8.23.0-informational?style=flat)
![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat)
![AppVersion: v1.70.0](https://img.shields.io/badge/AppVersion-v1.70.0-informational?style=flat)
![AppVersion: v1.71.0](https://img.shields.io/badge/AppVersion-v1.71.0-informational?style=flat)
A Helm chart to deploy homarr for Kubernetes
@@ -259,7 +259,7 @@ httproute:
value: /
backendRefs:
- name: homarr
port: 8080
port: 7575
````
</details>
@@ -419,17 +419,17 @@ All available values are listed on the [artifacthub](https://artifacthub.io/pack
| envSecrets.dbEncryption.key | string | `"db-encryption-key"` | Secret key for SECRET_ENCRYPTION_KEY can be generated with `openssl rand -hex 32` |
| fullnameOverride | string | `""` | Overrides chart's fullname |
| hostAliases | list | `[]` | Add static entries to /etc/hosts in the Pod. This is useful in the following cases: - You are running in a dual-stack cluster (IPv4 + IPv6) and want to force usage of IPv4 for specific hostnames - Your application is having DNS resolution issues or IPv6 preference issues - You need to override or simulate DNS entries without changing global DNS - You are running in an air-gapped or isolated environment without external DNS Example: hostAliases: - ip: "192.168.1.10" hostnames: - "example.com" - "example.internal" |
| httproute | object | `{"enabled":false,"hostnames":["chart-example.local"],"parentRefs":[{"name":"my-gateway","namespace":"default"}],"rules":[{"backendRefs":[{"name":"homarr","port":8080}],"filters":[],"matches":[{"path":{"type":"PathPrefix","value":"/"}}]}]}` | Gateway API HTTPRoute configuration |
| httproute | object | `{"enabled":false,"hostnames":["chart-example.local"],"parentRefs":[{"name":"my-gateway","namespace":"default"}],"rules":[{"backendRefs":[{"name":"homarr","port":7575}],"filters":[],"matches":[{"path":{"type":"PathPrefix","value":"/"}}]}]}` | Gateway API HTTPRoute configuration |
| httproute.enabled | bool | `false` | Enable HTTPRoute |
| httproute.hostnames | list | `["chart-example.local"]` | Hostnames this route matches (similar to ingress.hosts.host) |
| httproute.parentRefs | list | `[{"name":"my-gateway","namespace":"default"}]` | References to the parent Gateway(s) this route attaches to. Each item must include at least a `name`, and optionally a `namespace`. |
| httproute.rules | list | `[{"backendRefs":[{"name":"homarr","port":8080}],"filters":[],"matches":[{"path":{"type":"PathPrefix","value":"/"}}]}]` | List of routing rules. Each rule can include: - matches: path/header/query matching - filters: optional transformations (redirects, header modifications, etc.) - backendRefs: one or more Kubernetes Services to forward traffic to |
| httproute.rules | list | `[{"backendRefs":[{"name":"homarr","port":7575}],"filters":[],"matches":[{"path":{"type":"PathPrefix","value":"/"}}]}]` | List of routing rules. Each rule can include: - matches: path/header/query matching - filters: optional transformations (redirects, header modifications, etc.) - backendRefs: one or more Kubernetes Services to forward traffic to |
| httproute.rules[0].filters | list | `[]` | Optional filters for this rule (default: empty) |
| httproute.rules[0].matches[0].path.type | string | `"PathPrefix"` | Path match type. One of: Exact, PathPrefix, RegularExpression |
| httproute.rules[0].matches[0].path.value | string | `"/"` | Path value to match |
| image.pullPolicy | string | `"IfNotPresent"` | Image pull policy |
| image.repository | string | `"ghcr.io/homarr-labs/homarr"` | Image repository |
| image.tag | string | `"v1.70.0"` | Overrides the image tag whose default is the chart appVersion |
| image.tag | string | `"v1.71.0"` | Overrides the image tag whose default is the chart appVersion |
| imagePullSecrets | list | `[]` | Secrets for Docker registry |
| ingress.annotations | object | `{}` | Ingress annotations |
| ingress.enabled | bool | `false` | Enable ingress |
+1 -2
View File
@@ -50,12 +50,11 @@ import { immichServerStatsWidget } from '../../widgets/immich-server-stats';
<code>user.read</code>,{" "}
<code>user.update</code>,{" "}
<code>asset.read</code>,{" "}
<code>asset.view</code>,{" "}
<code>asset.download</code>,{" "}
<code>asset.statistics</code>,{" "}
<code>server.statistics</code>,{" "}
<code>server.about</code>.
<br />
Additional permissions may be required depending on your Immich version. If you encounter authorization errors, grant any missing permissions requested by the server.
</span>
),
@@ -15,7 +15,7 @@ import beszelSystemStats from "./img/beszel-system-stats.png";
<WidgetHeader widget={beszelSystemStatsWidget} categories={["System Monitoring", "Charts"]} />
This widget displays time-series charts for a selected Beszel system, including CPU, memory, disk, network, and Docker container metrics. The Disk Usage chart combines the root disk and every extra filesystem reported by Beszel. You can use the realtime Live view or select a historical period ranging from 1 hour to 30 days. If the live stream drops, the widget now shows the connection failure state immediately and can switch back to historical data.
This widget displays time-series charts for a selected Beszel system, including CPU, memory, disk, network, and Docker container metrics. The Disk Usage chart combines the root disk and every extra filesystem reported by Beszel. You can use the realtime Live view or select a historical period ranging from 1 hour to 30 days. Live view keeps a one-minute window and pauses while the browser tab is hidden. If the live stream drops, the widget now shows the connection failure state immediately and can switch back to historical data.
### Screenshots
@@ -1,6 +1,6 @@
---
title: 'Immich Album Carousel'
description: 'Shows a slideshow of your album pictures from Immich'
description: 'Shows a slideshow of pictures from an Immich album or your full library'
hide_title: true
---
@@ -37,4 +37,3 @@ import screen from './img/screen.png';
### Configuration
<WidgetConfig configuration={immichAlbumCarouselWidget.configuration} />
@@ -4,15 +4,16 @@ import { IconPhoto } from "@tabler/icons-react";
export const immichAlbumCarouselWidget: WidgetDefinition = {
icon: IconPhoto,
name: "Immich Album",
description: "Shows a slideshow of your album pictures from Immich",
description: "Shows a slideshow of pictures from an Immich album or your full library",
path: "../../widgets/immich-album-carousel",
configuration: {
items: [
{
name: "Album",
description: "Select the Immich album to show in the slideshow.",
description:
"Select an Immich album or All photos. An empty selection also shows random photos from your full library.",
values: { type: "string" },
defaultValue: "",
defaultValue: "All photos",
},
{
name: "Interval in seconds",
@@ -16,7 +16,10 @@ export default async function AppEditPage(props: AppEditPageProps) {
const params = await props.params;
const session = await auth();
if (!session?.user.permissions.includes("app-modify-all")) {
if (
!session?.user.permissions.includes("board-modify-all") ||
!session?.user.permissions.includes("app-modify-all")
) {
notFound();
}
const app = await api.app.byId({ id: params.id });
@@ -10,7 +10,7 @@ import { DynamicBreadcrumb } from "~/components/navigation/dynamic-breadcrumb";
export default async function AppNewPage() {
const session = await auth();
if (!session?.user.permissions.includes("app-create")) {
if (!session?.user.permissions.includes("board-modify-all") || !session?.user.permissions.includes("app-create")) {
notFound();
}
@@ -1,5 +1,5 @@
import { Fragment } from "react";
import { redirect } from "next/navigation";
import { notFound, redirect } from "next/navigation";
import { ActionIcon, ActionIconGroup, Anchor, Avatar, Card, Group, Stack, Text } from "@mantine/core";
import { IconBox, IconPencil } from "@tabler/icons-react";
import { z } from "zod/v4";
@@ -33,6 +33,9 @@ export default async function AppsPage(props: AppsPageProps) {
if (!session) {
redirect("/auth/login");
}
if (!session.user.permissions.includes("board-modify-all")) {
notFound();
}
const searchParams = searchParamsSchema.parse(await props.searchParams);
@@ -61,7 +61,7 @@ export default async function ManageLayout({ children }: PropsWithChildren) {
icon: IconBox,
href: "/manage/apps",
label: t("items.apps"),
hidden: !session,
hidden: !session?.user.permissions.includes("app-create"),
iconProps: {
strokeWidth: 2.5,
},
@@ -71,20 +71,20 @@ export default async function ManageLayout({ children }: PropsWithChildren) {
icon: IconAffiliateFilled,
href: "/manage/integrations",
label: t("items.integrations"),
hidden: !session,
hidden: !session?.user.permissions.includes("integration-create"),
"data-onboarding-tour-id": "manage-integrations",
},
{
icon: IconApi,
href: "/manage/custom-widgets",
label: t("items.customWidgets"),
hidden: !session,
hidden: !session?.user.permissions.includes("admin"),
},
{
icon: IconSearch,
href: "/manage/search-engines",
label: t("items.searchEngies"),
hidden: !session,
hidden: !session?.user.permissions.includes("search-engine-create"),
iconProps: {
strokeWidth: 2.5,
},
@@ -94,7 +94,7 @@ export default async function ManageLayout({ children }: PropsWithChildren) {
icon: IconPhotoFilled,
href: "/manage/medias",
label: t("items.medias"),
hidden: !session,
hidden: !session?.user.permissions.includes("media-upload"),
"data-onboarding-tour-id": "manage-medias",
},
{
@@ -1,19 +1,25 @@
import { notFound } from "next/navigation";
import { ImageProxy } from "@homarr/image-proxy";
export const GET = async (_request: Request, props: { params: Promise<{ id: string }> }) => {
const { id } = await props.params;
const imageProxy = new ImageProxy();
const image = await imageProxy.forwardImageAsync(id);
if (!image) {
notFound();
const result = await imageProxy.forwardImageAsync(id);
if ("error" in result) {
const status = result.error === "upstream-error" ? result.statusCode : result.error === "fetch-error" ? 502 : 404;
return new Response(null, {
status,
headers: {
"X-Homarr-Image-Proxy-Error": result.error,
},
});
}
return new Response(image, {
return new Response(result.image, {
headers: {
"Cache-Control": "public, max-age=3600, immutable", // Cache for 1 hour
...(result.contentType ? { "Content-Type": result.contentType } : {}),
},
});
};
+2 -2
View File
@@ -6,7 +6,7 @@
},
"engines": {
"node": ">=24.18.0",
"pnpm": ">=11.11.0"
"pnpm": ">=11.15.0"
},
"packageManager": "pnpm@11.11.0"
"packageManager": "pnpm@11.15.0"
}
+2 -2
View File
@@ -69,7 +69,7 @@
},
"engines": {
"node": ">=24.18.0",
"pnpm": ">=11.11.0"
"pnpm": ">=11.15.0"
},
"packageManager": "pnpm@11.11.0"
"packageManager": "pnpm@11.15.0"
}
+2 -1
View File
@@ -18,7 +18,8 @@ import { AppAccessControl } from "./app/app-access-control";
const defaultIcon = "https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons@master/svg/homarr.svg";
export const appRouter = createTRPCRouter({
getPaginated: protectedProcedure
getPaginated: permissionRequiredProcedure
.requiresPermission("board-modify-all")
.input(paginatedSchema)
.output(z.object({ items: z.array(selectAppSchema), totalCount: z.number() }))
.meta({
+1 -1
View File
@@ -101,7 +101,7 @@ export const homeRouter = createTRPCRouter({
});
}
if (ctx.session?.user) {
if (ctx.session?.user.permissions.includes("board-modify-all")) {
statistics.push({
titleKey: "app",
subtitleKey: "resources",
+27
View File
@@ -76,6 +76,33 @@ describe("all should return all apps", () => {
});
});
describe("getPaginated should require board modification access", () => {
test("should throw FORBIDDEN without board-modify-all", async () => {
const caller = appRouter.createCaller({
db: createDb(),
deviceType: undefined,
session: createDefaultSession(),
});
await expect(caller.getPaginated({ page: 1, pageSize: 10 })).rejects.toThrow("Permission denied");
});
test("should return apps with board-modify-all", async () => {
const db = createDb();
const caller = appRouter.createCaller({
db,
deviceType: undefined,
session: createDefaultSession(["board-modify-all"]),
});
await db.insert(apps).values({ id: "1", name: "Homarr", iconUrl: "https://homarr.dev/icon.svg" });
await expect(caller.getPaginated({ page: 1, pageSize: 10 })).resolves.toMatchObject({
totalCount: 1,
items: [{ id: "1" }],
});
});
});
describe("byId should return an app by id", () => {
test("should return an app by id when canUserSeeAppAsync returns true", async () => {
// Arrange
@@ -0,0 +1,45 @@
import { describe, expect, test } from "vitest";
import { BoundedAsyncQueue } from "../bounded-async-queue";
describe("BoundedAsyncQueue", () => {
test("keeps only the newest values when the queue is full", async () => {
const queue = new BoundedAsyncQueue<number>(2);
queue.push(1);
queue.push(2);
queue.push(3);
queue.close();
await expect(queue.next()).resolves.toEqual({ value: 2, done: false });
await expect(queue.next()).resolves.toEqual({ value: 3, done: false });
await expect(queue.next()).resolves.toEqual({ value: undefined, done: true });
});
test("resolves a pending read as soon as a value arrives", async () => {
const queue = new BoundedAsyncQueue<string>(1);
const next = queue.next();
queue.push("latest");
await expect(next).resolves.toEqual({ value: "latest", done: false });
});
test("resolves a pending read when the producer closes", async () => {
const queue = new BoundedAsyncQueue<number>(1);
const next = queue.next();
queue.close();
await expect(next).resolves.toEqual({ value: undefined, done: true });
});
test("rejects a pending read when the producer fails", async () => {
const queue = new BoundedAsyncQueue<number>(1);
const next = queue.next();
const error = new Error("upstream failed");
queue.fail(error);
await expect(next).rejects.toBe(error);
});
});
+76 -79
View File
@@ -1,5 +1,4 @@
import { TRPCError } from "@trpc/server";
import { observable } from "@trpc/server/observable";
import { z } from "zod/v4";
import { createLogger } from "@homarr/core/infrastructure/logs";
@@ -14,8 +13,10 @@ import {
import { settleIntegrationQueries } from "../../settle-integrations";
import { createManyIntegrationMiddleware } from "../../middlewares/integration";
import { createTRPCRouter, publicProcedure } from "../../trpc";
import { BoundedAsyncQueue } from "./bounded-async-queue";
const logger = createLogger({ module: "beszelRouter" });
const MAX_PENDING_LIVE_EVENTS = 4;
const errorMessage = (error: unknown) => (error instanceof Error ? error.message : String(error));
@@ -203,98 +204,94 @@ export const beszelRouter = createTRPCRouter({
systemId: z.string(),
}),
)
.subscription(({ ctx, input }) => {
return observable<LiveStatsEvent>((emit) => {
const controller = new AbortController();
let isActive = true;
let emittedEventCount = 0;
.subscription(async function* ({ ctx, input, signal }) {
const integration = ctx.integrations[0];
if (!integration) {
throw new TRPCError({ code: "BAD_REQUEST", message: "At least one Beszel integrationId is required" });
}
logger.debug("Beszel realtime subscription started", {
userId: ctx.session?.user?.id,
integrationIds: ctx.integrations.map((integration) => integration.id),
systemId: input.systemId,
});
const queue = new BoundedAsyncQueue<LiveStatsEvent>(MAX_PENDING_LIVE_EVENTS);
const controller = new AbortController();
let emittedEventCount = 0;
const stop = () => {
controller.abort();
void queue.return();
};
if (signal?.aborted) return;
signal?.addEventListener("abort", stop, { once: true });
logger.debug("Beszel realtime subscription started", {
userId: ctx.session?.user?.id,
integrationIds: ctx.integrations.map((candidate) => candidate.id),
systemId: input.systemId,
});
try {
const instance = await createIntegrationAsync(integration);
if (controller.signal.aborted) return;
void (async () => {
const integration = ctx.integrations[0];
if (!integration) {
emit.error(
new TRPCError({ code: "BAD_REQUEST", message: "At least one Beszel integrationId is required" }),
);
return;
}
try {
const instance = await createIntegrationAsync(integration);
if (typeof instance.subscribeRealtimeMetrics === "function") {
await instance.subscribeRealtimeMetrics(
input.systemId,
(event) => {
if (!isActive) return;
emittedEventCount += 1;
if (emittedEventCount <= 2 || emittedEventCount % 60 === 0) {
logger.debug("Forwarding Beszel realtime events", {
userId: ctx.session?.user?.id,
integrationId: integration.id,
systemId: input.systemId,
eventType: event.type,
emittedEventCount,
statsCount: Array.isArray(event.record.stats) ? event.record.stats.length : undefined,
});
}
emit.next(event);
},
controller.signal,
);
} else {
emit.error(
new TRPCError({
code: "METHOD_NOT_SUPPORTED",
message: `Integration ${integration.kind} does not support realtime metrics`,
}),
);
}
} catch (error) {
if (isActive) {
logger.warn("Beszel realtime subscription failed", {
userId: ctx.session?.user?.id,
integrationId: integration.id,
systemId: input.systemId,
emittedEventCount,
error: errorMessage(error),
if (typeof instance.subscribeRealtimeMetrics !== "function") {
throw new TRPCError({
code: "METHOD_NOT_SUPPORTED",
message: `Integration ${integration.kind} does not support realtime metrics`,
});
emit.error(
error instanceof TRPCError
? error
: new TRPCError({
code: "INTERNAL_SERVER_ERROR",
message: error instanceof Error ? error.message : String(error),
}),
);
}
}
if (isActive) {
logger.debug("Beszel realtime subscription completed", {
await instance.subscribeRealtimeMetrics(
input.systemId,
(event) => {
emittedEventCount += 1;
if (emittedEventCount <= 2 || emittedEventCount % 60 === 0) {
logger.debug("Forwarding Beszel realtime events", {
userId: ctx.session?.user?.id,
integrationId: integration.id,
systemId: input.systemId,
eventType: event.type,
emittedEventCount,
statsCount: Array.isArray(event.record.stats) ? event.record.stats.length : undefined,
});
}
queue.push(event);
},
controller.signal,
);
queue.close();
} catch (error) {
if (controller.signal.aborted) {
queue.close();
return;
}
logger.warn("Beszel realtime subscription failed", {
userId: ctx.session?.user?.id,
integrationId: integration.id,
systemId: input.systemId,
emittedEventCount,
error: errorMessage(error),
});
emit.complete();
queue.fail(
error instanceof TRPCError
? error
: new TRPCError({
code: "INTERNAL_SERVER_ERROR",
message: error instanceof Error ? error.message : String(error),
}),
);
}
})();
return () => {
isActive = false;
logger.debug("Beszel realtime subscription cancelled", {
userId: ctx.session?.user?.id,
integrationIds: ctx.integrations.map((integration) => integration.id),
systemId: input.systemId,
emittedEventCount,
});
controller.abort();
};
});
for await (const event of queue) yield event;
} finally {
stop();
signal?.removeEventListener("abort", stop);
logger.debug("Beszel realtime subscription stopped", {
userId: ctx.session?.user?.id,
integrationId: integration.id,
systemId: input.systemId,
emittedEventCount,
});
}
}),
});
@@ -0,0 +1,88 @@
type QueueResult<T> = IteratorResult<T, undefined>;
type PendingRead<T> = {
resolve: (result: QueueResult<T>) => void;
reject: (reason?: unknown) => void;
};
/**
* A small async queue for live streams.
*
* Live metrics are snapshots, so retaining every snapshot while a client is
* slow is both unnecessary and dangerous. When the queue is full, discard
* the oldest pending snapshot and keep the newest one.
*/
export class BoundedAsyncQueue<T> implements AsyncIterableIterator<T> {
private readonly values: T[] = [];
private pendingRead: PendingRead<T> | undefined;
private closed = false;
private failed = false;
private failure: unknown;
public constructor(private readonly maxSize: number) {
if (!Number.isInteger(maxSize) || maxSize < 1) {
throw new Error("A bounded async queue requires a positive integer max size");
}
}
public push(value: T): void {
if (this.closed) return;
if (this.pendingRead) {
const pendingRead = this.pendingRead;
this.pendingRead = undefined;
pendingRead.resolve({ value, done: false });
return;
}
if (this.values.length >= this.maxSize) this.values.shift();
this.values.push(value);
}
public close(): void {
if (this.closed) return;
this.closed = true;
if (this.pendingRead) {
const pendingRead = this.pendingRead;
this.pendingRead = undefined;
pendingRead.resolve({ value: undefined, done: true });
}
}
public fail(error: unknown): void {
if (this.closed) return;
this.closed = true;
this.failed = true;
this.failure = error;
this.values.length = 0;
if (this.pendingRead) {
const pendingRead = this.pendingRead;
this.pendingRead = undefined;
pendingRead.reject(error);
}
}
public next(): Promise<QueueResult<T>> {
if (this.values.length > 0) {
return Promise.resolve({ value: this.values.shift() as T, done: false });
}
if (this.failed) return Promise.reject(this.failure);
if (this.closed) return Promise.resolve({ value: undefined, done: true });
return new Promise<QueueResult<T>>((resolve, reject) => {
this.pendingRead = { resolve, reject };
});
}
public return(): Promise<QueueResult<T>> {
this.values.length = 0;
this.close();
return Promise.resolve({ value: undefined, done: true });
}
public [Symbol.asyncIterator](): AsyncIterableIterator<T> {
return this;
}
}
+1 -1
View File
@@ -25,7 +25,7 @@ export const immichRouter = createTRPCRouter({
.concat(createImmichIntegrationMiddleware("query"))
.input(
z.object({
albumId: z.string(),
albumId: z.string().optional(),
}),
)
.query(async ({ ctx, input }) => {
@@ -67,12 +67,14 @@ export const fetchWithTrustedCertificatesAsync = async (
url: RequestInfo,
options?: RequestInit & { timeout?: number; bodyTimeout?: number },
): Promise<Response> => {
const agent = await createCertificateAgentAsync(
undefined,
options?.bodyTimeout !== undefined ? { bodyTimeout: options.bodyTimeout } : undefined,
);
const agent =
options?.dispatcher ??
(await createCertificateAgentAsync(
undefined,
options?.bodyTimeout !== undefined ? { bodyTimeout: options.bodyTimeout } : undefined,
));
if (options?.timeout) {
const { bodyTimeout: _bodyTimeout, ...fetchOptions } = options;
const { bodyTimeout: _bodyTimeout, dispatcher: _dispatcher, ...fetchOptions } = options;
return await withTimeoutAsync(
async (signal) =>
fetch(url, {
@@ -84,7 +86,7 @@ export const fetchWithTrustedCertificatesAsync = async (
);
}
const { bodyTimeout: _bodyTimeout, ...fetchOptions } = options ?? {};
const { bodyTimeout: _bodyTimeout, dispatcher: _dispatcher, ...fetchOptions } = options ?? {};
return fetch(url, {
...fetchOptions,
dispatcher: agent,
+1 -1
View File
@@ -37,5 +37,5 @@ describe("Mysql Migration", () => {
connection.end();
await mysqlContainer.stop();
}, 40_000);
}, 120_000);
});
-1
View File
@@ -467,7 +467,6 @@ export const integrationDefs = {
iconUrl: "https://cdn.jsdelivr.net/gh/selfhst/icons/png/archiveteam-warrior.png",
category: ["archiving"],
documentationUrl: null,
defaultUrl: "http://localhost:8001",
},
// This integration only returns mock data, it is used during development (but can also be used in production by directly going to the create page)
mock: {
+31 -8
View File
@@ -19,6 +19,12 @@ const createUrlByIdChannel = (id: string) =>
headers: `${string}.${string}`;
}>(`image-proxy:url:${id}`);
export type ForwardImageResult =
| { image: ArrayBuffer; contentType: string | null }
| { error: "not-found" }
| { error: "upstream-error"; statusCode: number }
| { error: "fetch-error" };
export class ImageProxy {
private static hmacKey: Buffer<ArrayBuffer> | null = null;
@@ -47,17 +53,34 @@ export class ImageProxy {
return this.createImageUrl(id);
}
public async forwardImageAsync(id: string): Promise<ArrayBuffer | null> {
public async forwardImageAsync(id: string): Promise<ForwardImageResult> {
const urlAndHeaders = await this.getImageUrlAndHeadersAsync(id);
if (!urlAndHeaders) {
return null;
return { error: "not-found" };
}
const response = await fetchWithTrustedCertificatesAsync(urlAndHeaders.url, {
headers: urlAndHeaders.headers ?? {},
});
const proxyUrl = this.createImageUrl(id);
let response: Awaited<ReturnType<typeof fetchWithTrustedCertificatesAsync>>;
try {
response = await fetchWithTrustedCertificatesAsync(urlAndHeaders.url, {
headers: urlAndHeaders.headers ?? {},
});
} catch (error) {
logger.error(
new ErrorWithMetadata(
"Failed to connect to image source",
{
id,
url: this.redactUrl(urlAndHeaders.url),
headers: this.redactHeaders(urlAndHeaders.headers),
proxyUrl,
},
{ cause: error },
),
);
return { error: "fetch-error" };
}
if (!response.ok) {
logger.error(
new ErrorWithMetadata("Failed to fetch image", {
@@ -68,7 +91,7 @@ export class ImageProxy {
statusCode: response.status,
}),
);
return null;
return { error: "upstream-error", statusCode: response.status };
}
const arrayBuffer = await response.arrayBuffer();
@@ -80,7 +103,7 @@ export class ImageProxy {
size: `${(arrayBuffer.byteLength / 1024).toFixed(1)}KB`,
});
return arrayBuffer;
return { image: arrayBuffer, contentType: response.headers.get("content-type") };
}
private createImageUrl(id: string): string {
@@ -1,6 +1,7 @@
import { ResponseError } from "@homarr/common/server";
import { createLogger } from "@homarr/core/infrastructure/logs";
import { fetchWithTrustedCertificatesAsync } from "@homarr/core/infrastructure/http";
import { createCertificateAgentAsync, fetchWithTrustedCertificatesAsync } from "@homarr/core/infrastructure/http";
import type { Response as UndiciResponse } from "undici";
import type { IntegrationInput, IntegrationTestingInput } from "../base/integration";
import { Integration } from "../base/integration";
@@ -357,19 +358,41 @@ export class BeszelIntegration extends Integration {
let emittedSnapshotCount = 0;
while (!signal.aborted) {
let streamResponse: UndiciResponse | undefined;
let streamAgent: Awaited<ReturnType<typeof createCertificateAgentAsync>> | undefined;
const closeStreamAsync = async () => {
const response = streamResponse;
streamResponse = undefined;
const agent = streamAgent;
streamAgent = undefined;
if (response?.body) await response.body.cancel().catch(() => {});
if (agent) await agent.close().catch(() => {});
};
try {
let session = await this.authenticateAsync();
const openStream = async () =>
await fetchWithTrustedCertificatesAsync(realtimeUrl, {
headers: {
Accept: "text/event-stream",
Authorization: session.token,
"Cache-Control": "no-cache",
Pragma: "no-cache",
},
signal,
bodyTimeout: 0,
});
const openStream = async () => {
streamAgent = await createCertificateAgentAsync(undefined, { bodyTimeout: 0 });
try {
const response = await fetchWithTrustedCertificatesAsync(realtimeUrl, {
headers: {
Accept: "text/event-stream",
Authorization: session.token,
"Cache-Control": "no-cache",
Pragma: "no-cache",
},
signal,
bodyTimeout: 0,
dispatcher: streamAgent,
});
streamResponse = response;
return response;
} catch (error) {
await closeStreamAsync();
throw error;
}
};
logger.debug("Opening Beszel rt_metrics SSE connection", {
integrationId: this.integration.id,
@@ -378,6 +401,7 @@ export class BeszelIntegration extends Integration {
});
let response = await openStream();
if (response.status === 401) {
await closeStreamAsync();
await this.sessionStore.clearAsync();
session = await this.authenticateAsync();
response = await openStream();
@@ -402,14 +426,21 @@ export class BeszelIntegration extends Integration {
clientId = frame.id || fallbackClientId;
if (!clientId) throw new Error("PocketBase PB_CONNECT event did not include a client ID");
if (!streamAgent) throw new Error("Beszel realtime stream agent is not available");
const subscribeResponse = await fetchWithTrustedCertificatesAsync(realtimeUrl, {
method: "POST",
headers: { Authorization: session.token, "Content-Type": "application/json" },
body: JSON.stringify({ clientId, subscriptions: [topic] }),
signal,
dispatcher: streamAgent,
});
if (subscribeResponse.status === 401) await this.sessionStore.clearAsync();
if (!subscribeResponse.ok) throw new ResponseError(subscribeResponse);
try {
if (subscribeResponse.status === 401) await this.sessionStore.clearAsync();
if (!subscribeResponse.ok) throw new ResponseError(subscribeResponse);
await subscribeResponse.arrayBuffer();
} finally {
if (subscribeResponse.body) await subscribeResponse.body.cancel().catch(() => {});
}
logger.debug("Subscribed to Beszel rt_metrics topic", {
integrationId: this.integration.id,
systemId,
@@ -461,10 +492,12 @@ export class BeszelIntegration extends Integration {
} finally {
await reader.cancel().catch(() => {});
reader.releaseLock();
await closeStreamAsync();
}
if (!signal.aborted) throw new Error("Beszel rt_metrics SSE stream ended unexpectedly");
} catch (error) {
await closeStreamAsync();
if (signal.aborted) break;
if (error instanceof ResponseError && error.statusCode === 401 && retryAttempt === 0) {
retryAttempt += 1;
@@ -10,6 +10,7 @@ vi.hoisted(() => {
const BESZEL_URL = process.env.BESZEL_TEST_URL ?? "http://localhost:8090";
const BESZEL_EMAIL = process.env.BESZEL_TEST_EMAIL ?? "";
const BESZEL_PASSWORD = process.env.BESZEL_TEST_PASSWORD ?? "";
const closeAgent = vi.hoisted(() => vi.fn().mockResolvedValue(undefined));
vi.mock("@homarr/redis", () => ({
createGetSetChannel: () => ({
@@ -32,7 +33,7 @@ vi.mock("@homarr/core/infrastructure/logs", () => ({
vi.mock("@homarr/core/infrastructure/http", () => ({
fetchWithTrustedCertificatesAsync: (url: URL | string, init?: RequestInit) => fetch(url, init),
createAxiosCertificateInstanceAsync: vi.fn().mockResolvedValue({}),
createCertificateAgentAsync: vi.fn().mockResolvedValue(undefined),
createCertificateAgentAsync: vi.fn().mockResolvedValue({ close: closeAgent }),
}));
vi.mock("@homarr/core/infrastructure/certificates", () => ({
@@ -153,6 +154,7 @@ describe("subscribeRealtimeMetrics", () => {
expect(subscriptionBodies).toEqual([{ clientId: "client-1", subscriptions: [topic] }]);
expect(events.map((event) => event.type)).toEqual(["system_stats", "container_stats"]);
expect(closeAgent).toHaveBeenCalled();
} finally {
globalThis.fetch = originalFetch;
}
@@ -1,10 +1,14 @@
import {
AssetMediaSize,
AssetTypeEnum,
AssetVisibility,
getAlbumInfo,
getAllAlbums,
getMyUser,
getServerStatistics,
init,
searchAssets,
searchRandom,
searchUsers,
} from "@immich/sdk";
import type { AssetResponseDto, MetadataSearchDto } from "@immich/sdk";
@@ -42,6 +46,7 @@ export interface ImmichAsset {
}
const logger = createLogger({ module: "immich-integration" });
const randomPhotoCount = 50;
export class ImmichIntegration extends Integration {
constructor(integration: IntegrationInput) {
@@ -62,36 +67,36 @@ export class ImmichIntegration extends Integration {
};
}
public async getAlbumAsync(albumId: string): Promise<ImmichAlbum> {
public async getAlbumAsync(albumId?: string): Promise<ImmichAlbum> {
this.initClient();
const requestOptions = this.getRequestOptions();
if (!albumId) {
const assets = await searchRandom(
{
randomSearchDto: {
size: randomPhotoCount,
type: AssetTypeEnum.Image,
visibility: AssetVisibility.Timeline,
},
},
requestOptions,
);
return {
id: "",
albumName: "",
assets: await this.createAssetsAsync(assets),
};
}
const [album, albumAssets] = await Promise.all([
getAlbumInfo({ id: albumId }, requestOptions),
this.searchAlbumAssetsAsync(albumId),
]);
const imageProxy = new ImageProxy();
return {
albumName: album.albumName,
assets: await Promise.all(
albumAssets.map(async (asset) => {
const publicLink = await imageProxy.createImageAsync(
this.url(`/api/assets/${asset.id}/original`).toString(),
{
"x-api-key": this.getSecretValue("apiKey"),
},
);
return {
id: asset.id,
type: asset.type,
thumbhash: asset.thumbhash,
fileCreatedAt: asset.fileCreatedAt,
fileModifiedAt: asset.fileModifiedAt,
originalPath: asset.originalPath,
updatedAt: asset.updatedAt,
publicLink,
};
}),
),
assets: await this.createAssetsAsync(albumAssets),
id: album.id,
};
}
@@ -133,6 +138,32 @@ export class ImmichIntegration extends Integration {
return assets;
}
private async createAssetsAsync(assets: AssetResponseDto[]): Promise<ImmichAsset[]> {
const imageProxy = new ImageProxy();
return await Promise.all(
assets.map(async (asset) => {
const publicLink = await imageProxy.createImageAsync(
// This is the URL generated by the SDK's viewAsset call. Preview images are
// browser-compatible while avoiding the large original asset download.
this.url(`/api/assets/${asset.id}/thumbnail`, { size: AssetMediaSize.Preview }).toString(),
{
"x-api-key": this.getSecretValue("apiKey"),
},
);
return {
id: asset.id,
type: asset.type,
thumbhash: asset.thumbhash,
fileCreatedAt: asset.fileCreatedAt,
fileModifiedAt: asset.fileModifiedAt,
originalPath: asset.originalPath,
updatedAt: asset.updatedAt,
publicLink,
};
}),
);
}
private getRequestOptions(fetchAsync = fetchWithTrustedCertificatesAsync) {
return {
// Undici and node types are not the same
@@ -65,6 +65,9 @@ const optionMapping: OptionMapping = {
useCustomTimezone: () => true,
customTimeFormat: () => undefined,
customDateFormat: () => undefined,
showWeather: () => undefined,
weatherLocation: () => undefined,
isWeatherFormatFahrenheit: () => undefined,
},
downloads: {
activeTorrentThreshold: (oldOptions) =>
+1 -1
View File
@@ -33,7 +33,7 @@ export const immichAlbumsRequestHandler = createIntegrationRequestHandler<
export const immichAlbumRequestHandler = createIntegrationRequestHandler<
ImmichAlbum,
IntegrationKindByCategory<"photoService">,
{ albumId: string }
{ albumId?: string }
>({
async requestAsync(integration, input) {
const integrationInstance = await createIntegrationAsync(integration);
@@ -16,4 +16,6 @@ export const mediaRequestStatsRequestHandler = createIntegrationRequestHandler<
users: await integrationInstance.getUsersAsync(),
};
},
cacheTtlMs: 60_000,
fallbackToStaleOnError: true,
});
@@ -787,11 +787,34 @@ const getLinuxServerIOReleaseAsync = async (
error: { code: "noReleasesFound", message: `Image "${parsed.name}" not found in LinuxServer.io registry` },
};
// LSIO's /api/v1/images only exposes the single latest version, so a version
// filter can never surface an older release (#4351). When the image has a GitHub
// repository, delegate to the GitHub release provider to fetch the real release
// history and apply the filter, while keeping LSIO's own image metadata. Any
// GitHub failure (no repo, no releases, rate limit) falls back to the LSIO latest.
const regex = compileVersionRegex(versionRegex);
if (versionRegex && !regex) {
return {
success: false,
error: { code: "noMatchingVersion", message: `Invalid regex: /${versionRegex}/` },
};
}
if (!regex || regex.test(release.version)) {
return {
success: true,
data: {
latestRelease: release.version,
latestReleaseAt: release.version_timestamp,
releaseDescription: release.changelog?.shift()?.desc,
projectUrl: release.github_url,
projectDescription: release.description,
isArchived: release.deprecated,
createdAt: release.initial_date,
starsCount: release.stars,
},
};
}
// LSIO's /api/v1/images only exposes the single latest version, so a filter
// that does not match it cannot surface an older release (#4351). Delegate to
// the image's GitHub repository to fetch the real release history while
// keeping LSIO's own image metadata.
const githubRepo = parseGithubRepo(release.github_url);
if (githubRepo) {
const githubResult = await getGithubReleaseAsync(getReleaseProviderDefaultUrl("github"), githubRepo, versionRegex);
@@ -808,37 +831,14 @@ const getLinuxServerIOReleaseAsync = async (
},
};
}
}
const regex = compileVersionRegex(versionRegex);
if (versionRegex && !regex) {
return {
success: false,
error: { code: "noMatchingVersion", message: `Invalid regex: /${versionRegex}/` },
};
}
if (regex && !regex.test(release.version)) {
return {
success: false,
error: {
code: "noMatchingVersion",
message: `Regex /${versionRegex}/ does not match LSIO version "${release.version}"`,
},
};
return githubResult;
}
return {
success: true,
data: {
latestRelease: release.version,
latestReleaseAt: release.version_timestamp,
releaseDescription: release.changelog?.shift()?.desc,
projectUrl: release.github_url,
projectDescription: release.description,
isArchived: release.deprecated,
createdAt: release.initial_date,
starsCount: release.stars,
success: false,
error: {
code: "noMatchingVersion",
message: `Regex /${versionRegex}/ does not match LSIO version "${release.version}"`,
},
};
};
@@ -126,6 +126,128 @@ describe("getLatestMatchingReleaseAsync for GitHub Container Registry", () => {
});
});
describe("getLatestMatchingReleaseAsync for LinuxServer.io", () => {
beforeEach(() => {
mockedFetch.mockReset();
});
test("uses the LinuxServer.io latest release without fetching GitHub history", async () => {
mockedFetch.mockResolvedValueOnce(createLinuxServerResponse());
const result = await getLatestMatchingReleaseAsync({
id: "tautulli",
provider: "linuxServerIO",
identifier: "lscr.io/linuxserver/tautulli:latest",
});
expect(result).toEqual({
success: true,
data: {
latestRelease: "v2.17.2-ls237",
latestReleaseAt: new Date("2026-07-17T00:25:42.000Z"),
releaseDescription: "Rebase to Alpine 3.24.",
projectUrl: "https://github.com/linuxserver/docker-tautulli",
projectDescription: "Tautulli image",
isArchived: false,
createdAt: new Date("2015-08-10T00:00:00.000Z"),
starsCount: 934,
},
});
expect(mockedFetch).toHaveBeenCalledOnce();
expectUrl(0, "https://api.linuxserver.io/api/v1/images");
});
test("fetches GitHub history when a version filter requires it", async () => {
mockedFetch.mockImplementation(async (input) => {
const url = new URL(input.toString());
if (url.origin === "https://api.linuxserver.io") return createLinuxServerResponse();
if (url.pathname === "/repos/linuxserver/docker-tautulli/releases") {
return createJsonResponse([
{
tag_name: "v2.16.0-ls200",
published_at: "2026-01-10T12:00:00.000Z",
html_url: "https://github.com/linuxserver/docker-tautulli/releases/tag/v2.16.0-ls200",
body: "Older supported image",
prerelease: false,
},
]);
}
if (url.pathname === "/repos/linuxserver/docker-tautulli") {
return createJsonResponse({
html_url: "https://github.com/linuxserver/docker-tautulli",
description: "GitHub description",
fork: false,
archived: false,
created_at: "2015-08-10T00:00:00.000Z",
stargazers_count: 934,
open_issues_count: 2,
forks_count: 80,
});
}
return createJsonResponse({ message: "Not Found" }, { status: 404, statusText: "Not Found" });
});
const result = await getLatestMatchingReleaseAsync({
id: "tautulli",
provider: "linuxServerIO",
identifier: "linuxserver/tautulli",
versionRegex: "^v2\\.16\\..+-ls[0-9]+$",
});
expect(result).toEqual({
success: true,
data: expect.objectContaining({
latestRelease: "v2.16.0-ls200",
projectUrl: "https://github.com/linuxserver/docker-tautulli",
projectDescription: "Tautulli image",
}),
});
expect(mockedFetch).toHaveBeenCalledTimes(3);
});
test("uses the LinuxServer.io latest release when it matches the version filter", async () => {
mockedFetch.mockResolvedValueOnce(createLinuxServerResponse());
const result = await getLatestMatchingReleaseAsync({
id: "tautulli",
provider: "linuxServerIO",
identifier: "linuxserver/tautulli",
versionRegex: "^v2\\.17\\..+-ls[0-9]+$",
});
expect(result).toEqual({
success: true,
data: expect.objectContaining({ latestRelease: "v2.17.2-ls237" }),
});
expect(mockedFetch).toHaveBeenCalledOnce();
expectUrl(0, "https://api.linuxserver.io/api/v1/images");
});
test("returns the GitHub error when filtered release history cannot be fetched", async () => {
mockedFetch.mockImplementation(async (input) => {
const url = new URL(input.toString());
if (url.origin === "https://api.linuxserver.io") return createLinuxServerResponse();
return createJsonResponse({ message: "GitHub unavailable" }, { status: 404, statusText: "Not Found" });
});
const result = await getLatestMatchingReleaseAsync({
id: "tautulli",
provider: "linuxServerIO",
identifier: "linuxserver/tautulli",
versionRegex: "^v2\\.16\\..+-ls[0-9]+$",
});
expect(result).toEqual({
success: false,
error: expect.objectContaining({ code: "unexpected", message: expect.stringContaining("GitHub unavailable") }),
});
expect(mockedFetch.mock.calls.length).toBeGreaterThan(1);
});
});
interface MockGhcrResponsesInput {
registryOrigin?: string;
repositoryName: string;
@@ -185,6 +307,27 @@ const createJsonResponse = (body: unknown, init: JsonResponseInit = {}) =>
},
});
const createLinuxServerResponse = () =>
createJsonResponse({
data: {
repositories: {
linuxserver: [
{
name: "tautulli",
initial_date: "2015-08-10",
github_url: "https://github.com/linuxserver/docker-tautulli",
description: "Tautulli image",
version: "v2.17.2-ls237",
version_timestamp: "2026-07-17 00:25:42+00:00",
stars: 934,
deprecated: false,
changelog: [{ date: "2026-07-05", desc: "Rebase to Alpine 3.24." }],
},
],
},
},
});
const expectUrl = (callIndex: number, expectedUrl: string) => {
expect(mockedFetch.mock.calls[callIndex]?.[0].toString().split("?")[0]).toBe(expectedUrl);
};
+4 -1
View File
@@ -9,7 +9,7 @@ export const weatherRequestHandler = createWidgetRequestHandler({
async requestAsync(input: { latitude: number; longitude: number }) {
const res = await withTimeoutAsync(async (signal) => {
return await fetchWithTrustedCertificatesAsync(
`https://api.open-meteo.com/v1/forecast?latitude=${input.latitude}&longitude=${input.longitude}&daily=weathercode,temperature_2m_max,temperature_2m_min,sunrise,sunset,wind_speed_10m_max,wind_gusts_10m_max&current_weather=true&timezone=auto`,
`https://api.open-meteo.com/v1/forecast?latitude=${input.latitude}&longitude=${input.longitude}&daily=weathercode,temperature_2m_max,temperature_2m_min,sunrise,sunset,wind_speed_10m_max,wind_gusts_10m_max,relative_humidity_2m_mean&current_weather=true&timezone=auto`,
{ signal },
);
});
@@ -27,6 +27,7 @@ export const weatherRequestHandler = createWidgetRequestHandler({
sunset: weather.daily.sunset[index],
maxWindSpeed: weather.daily.wind_speed_10m_max[index],
maxWindGusts: weather.daily.wind_gusts_10m_max[index],
humidity: weather.daily.relative_humidity_2m_mean[index],
};
}),
} satisfies Weather;
@@ -48,6 +49,7 @@ const atLocationOutput = z.object({
sunset: z.array(z.string()),
wind_speed_10m_max: z.array(z.number()),
wind_gusts_10m_max: z.array(z.number()),
relative_humidity_2m_mean: z.array(z.number()),
}),
});
@@ -66,5 +68,6 @@ export interface Weather {
sunset: string | undefined;
maxWindSpeed: number | undefined;
maxWindGusts: number | undefined;
humidity: number | undefined;
}[];
}
@@ -17,6 +17,10 @@ export const appIntegrationBoardMode = {
return groups;
}
return groups.concat([appsSearchGroup, integrationsSearchGroup]);
return groups.concat(
session.user.permissions.includes("board-modify-all")
? [appsSearchGroup, integrationsSearchGroup]
: [integrationsSearchGroup],
);
},
} satisfies SearchMode;
@@ -87,7 +87,8 @@ export const globalCommandGroup = createGroup<Command>({
icon: IconBox,
name: tOption("newApp.label"),
useInteraction: interaction.link(() => ({ href: "/manage/apps/new" })),
hidden: !session?.user.permissions.includes("app-create"),
hidden:
!session?.user.permissions.includes("board-modify-all") || !session?.user.permissions.includes("app-create"),
},
{
commandKey: "newIntegration",
@@ -76,7 +76,7 @@ export const pagesSearchGroup = createGroup<{
icon: IconBox,
path: "/manage/apps",
name: t("manageApp.label"),
hidden: !session,
hidden: !session?.user.permissions.includes("board-modify-all"),
},
{
icon: IconPlug,
+327 -3
View File
@@ -198,6 +198,10 @@
"pingIconsEnabled": {
"label": "Utilitza icones pels pings"
},
"enableRightClickOnWidgets": {
"label": "",
"description": ""
},
"defaultSearchEngine": {
"label": "Motor de cerca principal"
},
@@ -1285,6 +1289,14 @@
"label": "",
"newLabel": ""
},
"patchmonApiKey": {
"label": "",
"newLabel": ""
},
"patchmonApiSecret": {
"label": "",
"newLabel": ""
},
"githubAppId": {
"label": "",
"newLabel": ""
@@ -1328,9 +1340,21 @@
}
}
},
"traefik": {
"name": "",
"description": ""
},
"paperlessNgx": {
"name": "",
"description": ""
},
"patchmon": {
"name": "",
"description": ""
},
"bazarr": {
"name": "",
"description": ""
}
},
"media": {
@@ -1602,6 +1626,12 @@
"refresh": "",
"options": "",
"actions": ""
},
"status": {
"success": "",
"error": "",
"loading": "",
"idle": ""
}
},
"create": {
@@ -1875,6 +1905,16 @@
"customDateFormat": {
"label": "",
"description": ""
},
"showWeather": {
"label": "",
"description": ""
},
"weatherLocation": {
"label": ""
},
"isWeatherFormatFahrenheit": {
"label": ""
}
}
},
@@ -1936,6 +1976,8 @@
"clear": "",
"heading": "",
"align": "",
"directionLtr": "",
"directionRtl": "",
"blockquote": "",
"horizontalLine": "",
"bulletList": "",
@@ -2225,7 +2267,8 @@
"sunrise": "",
"sunset": "",
"maxWindSpeed": "",
"maxWindGusts": ""
"maxWindGusts": "",
"humidity": ""
},
"kind": {
"clear": "",
@@ -2689,6 +2732,11 @@
"user": "",
"name": "",
"id": "",
"status": "",
"directPlay": "",
"transcoding": "",
"paused": "",
"remaining": "",
"metadata": {
"title": "",
"video": {
@@ -2754,6 +2802,193 @@
"internalServerError": ""
}
},
"patchmon": {
"name": "",
"description": "",
"title": "",
"totalHosts": "",
"hostsNeedingUpdates": "",
"securityUpdates": "",
"upToDateHosts": "",
"hostsWithSecurityUpdates": "",
"recentUpdates24h": "",
"totalOutdatedPackages": "",
"totalRepos": "",
"osDistribution": "",
"compliance": "",
"complianceRatio": "",
"lastUpdated": "",
"option": {
"showTotalHosts": {
"label": "",
"description": ""
},
"showHostsNeedingUpdates": {
"label": "",
"description": ""
},
"showSecurityUpdates": {
"label": "",
"description": ""
},
"showUpToDateHosts": {
"label": "",
"description": ""
},
"showHostsWithSecurityUpdates": {
"label": "",
"description": ""
},
"showRecentUpdates24h": {
"label": "",
"description": ""
},
"showTotalOutdatedPackages": {
"label": "",
"description": ""
},
"showTotalRepos": {
"label": "",
"description": ""
},
"enableThresholdColors": {
"label": "",
"description": ""
},
"useCustomThresholds": {
"label": "",
"description": ""
},
"thresholdMode": {
"option": {
"absolute": "",
"percent": ""
}
},
"hostsNeedingUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesCriticalAt": {
"label": "",
"description": ""
},
"securityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"securityUpdatesWarningAt": {
"label": "",
"description": ""
},
"securityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"upToDateHostsThresholdMode": {
"label": "",
"description": ""
},
"upToDateHostsWarningAt": {
"label": "",
"description": ""
},
"upToDateHostsCriticalAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesThresholdMode": {
"label": "",
"description": ""
},
"totalOutdatedPackagesWarningAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesCriticalAt": {
"label": "",
"description": ""
},
"showOsDistribution": {
"label": "",
"description": ""
},
"osDistributionLimit": {
"label": "",
"description": "",
"option": {
"3": "",
"5": "",
"10": "",
"all": ""
}
},
"showOsVersion": {
"label": "",
"description": ""
},
"showComplianceHero": {
"label": "",
"description": ""
},
"osDisplayMode": {
"label": "",
"description": "",
"option": {
"bars": "",
"donut": ""
}
}
},
"error": {
"internalServerError": ""
}
},
"bazarr": {
"name": "",
"description": "",
"episodes": "",
"movies": "",
"providers": "",
"status": "",
"option": {
"showMissingEpisodes": {
"label": "",
"description": ""
},
"showMissingMovies": {
"label": "",
"description": ""
},
"showProviderIssues": {
"label": "",
"description": ""
},
"showHealthIssues": {
"label": "",
"description": ""
}
},
"error": {
"internalServerError": ""
}
},
"immich-serverStats": {
"name": "",
"description": "",
@@ -2782,6 +3017,7 @@
},
"immich-albumCarousel": {
"name": "",
"allPhotos": "",
"option": {
"albumId": {
"label": "",
@@ -2801,7 +3037,6 @@
}
},
"description": "",
"noAlbumSelected": "",
"noPhotos": ""
},
"downloads": {
@@ -2986,6 +3221,12 @@
"option": {
"linksTargetNewTab": {
"label": ""
},
"statusFilter": {
"label": ""
},
"recentDays": {
"label": ""
}
},
"pending": {
@@ -3093,6 +3334,35 @@
}
}
},
"mediaMissing": {
"name": "",
"description": "",
"option": {
"showMissing": {
"label": ""
},
"showQueued": {
"label": ""
},
"pageSize": {
"label": ""
}
},
"tab": {
"missing": "",
"queued": ""
},
"type": {
"movie": "",
"episode": ""
},
"empty": {
"missing": "",
"queued": "",
"noTabsEnabled": ""
},
"timeLeft": ""
},
"rssFeed": {
"name": "",
"description": "",
@@ -3336,7 +3606,11 @@
"name": "",
"description": "",
"noItems": "",
"option": {}
"option": {
"hideLogos": {
"label": ""
}
}
},
"speedtestTracker": {
"name": "",
@@ -3417,6 +3691,40 @@
"internalServerError": ""
}
},
"traefik": {
"name": "",
"description": "",
"option": {
"showTcp": {
"label": ""
},
"showUdp": {
"label": ""
},
"showEntryPoints": {
"label": ""
}
},
"instances": "",
"versionUnknown": "",
"summary": {
"routers": "",
"entryPoints": ""
},
"resource": {
"routers": "",
"services": "",
"middlewares": ""
},
"status": {
"healthy": "",
"errors": "",
"warnings": ""
},
"error": {
"internalServerError": ""
}
},
"audioStats": {
"name": "",
"description": "",
@@ -3792,6 +4100,11 @@
"read": "",
"write": ""
},
"storage": {
"title": "",
"subtitle": "",
"series": ""
},
"network": {
"title": "",
"subtitle": "",
@@ -4924,6 +5237,9 @@
"title": "",
"table": {
"updated": "",
"refresh": {
"lastUpdated": ""
},
"search": "",
"selected": "",
"footer": "",
@@ -5652,6 +5968,14 @@
}
}
},
"enableRightClickOnWidgets": {
"label": "",
"children": {
"detail": {
"title": ""
}
}
},
"fullPreferencesPage": {
"label": ""
}
+327 -3
View File
@@ -198,6 +198,10 @@
"pingIconsEnabled": {
"label": "为 ping 使用图标"
},
"enableRightClickOnWidgets": {
"label": "",
"description": ""
},
"defaultSearchEngine": {
"label": "默认搜索引擎"
},
@@ -1285,6 +1289,14 @@
"label": "API 密钥 (机密)",
"newLabel": "新建API密钥(机密)"
},
"patchmonApiKey": {
"label": "",
"newLabel": ""
},
"patchmonApiSecret": {
"label": "",
"newLabel": ""
},
"githubAppId": {
"label": "应用 ID",
"newLabel": "新应用 ID"
@@ -1328,9 +1340,21 @@
}
}
},
"traefik": {
"name": "",
"description": ""
},
"paperlessNgx": {
"name": "",
"description": ""
},
"patchmon": {
"name": "",
"description": ""
},
"bazarr": {
"name": "",
"description": ""
}
},
"media": {
@@ -1602,6 +1626,12 @@
"refresh": "",
"options": "",
"actions": ""
},
"status": {
"success": "",
"error": "",
"loading": "",
"idle": ""
}
},
"create": {
@@ -1875,6 +1905,16 @@
"customDateFormat": {
"label": "自定义日期格式",
"description": "使用 ISO 8601 格式化日期(这将覆盖其他选项)"
},
"showWeather": {
"label": "",
"description": ""
},
"weatherLocation": {
"label": ""
},
"isWeatherFormatFahrenheit": {
"label": ""
}
}
},
@@ -1936,6 +1976,8 @@
"clear": "清除格式",
"heading": "标题 {level}",
"align": "对齐文本: {position}",
"directionLtr": "",
"directionRtl": "",
"blockquote": "引用",
"horizontalLine": "横线",
"bulletList": "符号列表",
@@ -2225,7 +2267,8 @@
"sunrise": "日出",
"sunset": "日落",
"maxWindSpeed": "最大风速:{maxWindSpeed} {unit}",
"maxWindGusts": "最大阵风:{maxWindGusts} {unit}"
"maxWindGusts": "最大阵风:{maxWindGusts} {unit}",
"humidity": ""
},
"kind": {
"clear": "晴朗",
@@ -2689,6 +2732,11 @@
"user": "用户",
"name": "名称",
"id": "ID",
"status": "",
"directPlay": "",
"transcoding": "",
"paused": "",
"remaining": "",
"metadata": {
"title": "技术统计",
"video": {
@@ -2754,6 +2802,193 @@
"internalServerError": ""
}
},
"patchmon": {
"name": "",
"description": "",
"title": "",
"totalHosts": "",
"hostsNeedingUpdates": "",
"securityUpdates": "",
"upToDateHosts": "",
"hostsWithSecurityUpdates": "",
"recentUpdates24h": "",
"totalOutdatedPackages": "",
"totalRepos": "",
"osDistribution": "",
"compliance": "",
"complianceRatio": "",
"lastUpdated": "",
"option": {
"showTotalHosts": {
"label": "",
"description": ""
},
"showHostsNeedingUpdates": {
"label": "",
"description": ""
},
"showSecurityUpdates": {
"label": "",
"description": ""
},
"showUpToDateHosts": {
"label": "",
"description": ""
},
"showHostsWithSecurityUpdates": {
"label": "",
"description": ""
},
"showRecentUpdates24h": {
"label": "",
"description": ""
},
"showTotalOutdatedPackages": {
"label": "",
"description": ""
},
"showTotalRepos": {
"label": "",
"description": ""
},
"enableThresholdColors": {
"label": "",
"description": ""
},
"useCustomThresholds": {
"label": "",
"description": ""
},
"thresholdMode": {
"option": {
"absolute": "",
"percent": ""
}
},
"hostsNeedingUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesCriticalAt": {
"label": "",
"description": ""
},
"securityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"securityUpdatesWarningAt": {
"label": "",
"description": ""
},
"securityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"upToDateHostsThresholdMode": {
"label": "",
"description": ""
},
"upToDateHostsWarningAt": {
"label": "",
"description": ""
},
"upToDateHostsCriticalAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesThresholdMode": {
"label": "",
"description": ""
},
"totalOutdatedPackagesWarningAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesCriticalAt": {
"label": "",
"description": ""
},
"showOsDistribution": {
"label": "",
"description": ""
},
"osDistributionLimit": {
"label": "",
"description": "",
"option": {
"3": "",
"5": "",
"10": "",
"all": ""
}
},
"showOsVersion": {
"label": "",
"description": ""
},
"showComplianceHero": {
"label": "",
"description": ""
},
"osDisplayMode": {
"label": "",
"description": "",
"option": {
"bars": "",
"donut": ""
}
}
},
"error": {
"internalServerError": ""
}
},
"bazarr": {
"name": "",
"description": "",
"episodes": "",
"movies": "",
"providers": "",
"status": "",
"option": {
"showMissingEpisodes": {
"label": "",
"description": ""
},
"showMissingMovies": {
"label": "",
"description": ""
},
"showProviderIssues": {
"label": "",
"description": ""
},
"showHealthIssues": {
"label": "",
"description": ""
}
},
"error": {
"internalServerError": ""
}
},
"immich-serverStats": {
"name": "Immich 服务器统计",
"description": "有关您的 Immich 实例的信息",
@@ -2782,6 +3017,7 @@
},
"immich-albumCarousel": {
"name": "Immich 相册",
"allPhotos": "",
"option": {
"albumId": {
"label": "相册ID",
@@ -2801,7 +3037,6 @@
}
},
"description": "Immich 相册图片幻灯片",
"noAlbumSelected": "未选择相册,请编辑组件并选择一个相册",
"noPhotos": "此相册中没有照片"
},
"downloads": {
@@ -2986,6 +3221,12 @@
"option": {
"linksTargetNewTab": {
"label": "在新标签页中打开链接"
},
"statusFilter": {
"label": ""
},
"recentDays": {
"label": ""
}
},
"pending": {
@@ -3093,6 +3334,35 @@
}
}
},
"mediaMissing": {
"name": "",
"description": "",
"option": {
"showMissing": {
"label": ""
},
"showQueued": {
"label": ""
},
"pageSize": {
"label": ""
}
},
"tab": {
"missing": "",
"queued": ""
},
"type": {
"movie": "",
"episode": ""
},
"empty": {
"missing": "",
"queued": "",
"noTabsEnabled": ""
},
"timeLeft": ""
},
"rssFeed": {
"name": "RSS 订阅",
"description": "监视和显示一个或多个通用 RSS、ATOM 或 JSON 源",
@@ -3336,7 +3606,11 @@
"name": "通知",
"description": "在集成中显示通知历史",
"noItems": "没有可显示的通知。",
"option": {}
"option": {
"hideLogos": {
"label": ""
}
}
},
"speedtestTracker": {
"name": "网速测试追踪器",
@@ -3417,6 +3691,40 @@
"internalServerError": ""
}
},
"traefik": {
"name": "",
"description": "",
"option": {
"showTcp": {
"label": ""
},
"showUdp": {
"label": ""
},
"showEntryPoints": {
"label": ""
}
},
"instances": "",
"versionUnknown": "",
"summary": {
"routers": "",
"entryPoints": ""
},
"resource": {
"routers": "",
"services": "",
"middlewares": ""
},
"status": {
"healthy": "",
"errors": "",
"warnings": ""
},
"error": {
"internalServerError": ""
}
},
"audioStats": {
"name": "",
"description": "",
@@ -3792,6 +4100,11 @@
"read": "",
"write": ""
},
"storage": {
"title": "",
"subtitle": "",
"series": ""
},
"network": {
"title": "",
"subtitle": "",
@@ -4924,6 +5237,9 @@
"title": "容器",
"table": {
"updated": "已更新 {when}",
"refresh": {
"lastUpdated": ""
},
"search": "搜索 {count} 容器",
"selected": "{totalCount} 容器的 {selectCount}",
"footer": "总计 {count} 容器",
@@ -5652,6 +5968,14 @@
}
}
},
"enableRightClickOnWidgets": {
"label": "",
"children": {
"detail": {
"title": ""
}
}
},
"fullPreferencesPage": {
"label": ""
}
+333 -9
View File
@@ -198,6 +198,10 @@
"pingIconsEnabled": {
"label": "crwdns44:0crwdne44:0"
},
"enableRightClickOnWidgets": {
"label": "crwdns6095:0crwdne6095:0",
"description": "crwdns6097:0crwdne6097:0"
},
"defaultSearchEngine": {
"label": "crwdns2694:0crwdne2694:0"
},
@@ -862,7 +866,7 @@
"created": "crwdns5553:0{name}crwdne5553:0",
"updated": "crwdns5555:0{name}crwdne5555:0",
"deleted": "crwdns5557:0{name}crwdne5557:0",
"imported": "crwdns5559:0crwdne5559:0",
"imported": "crwdns6079:0crwdne6079:0",
"aiPromptCopied": "crwdns5561:0crwdne5561:0",
"aiPromptDescription": "crwdns5563:0crwdne5563:0",
"aiPromptCopy": "crwdns5565:0crwdne5565:0",
@@ -1285,6 +1289,14 @@
"label": "crwdns3618:0crwdne3618:0",
"newLabel": "crwdns3620:0crwdne3620:0"
},
"patchmonApiKey": {
"label": "crwdns5859:0crwdne5859:0",
"newLabel": "crwdns5861:0crwdne5861:0"
},
"patchmonApiSecret": {
"label": "crwdns5863:0crwdne5863:0",
"newLabel": "crwdns5865:0crwdne5865:0"
},
"githubAppId": {
"label": "crwdns3676:0crwdne3676:0",
"newLabel": "crwdns3678:0crwdne3678:0"
@@ -1328,9 +1340,21 @@
}
}
},
"traefik": {
"name": "crwdns5753:0crwdne5753:0",
"description": "crwdns5755:0crwdne5755:0"
},
"paperlessNgx": {
"name": "crwdns5003:0crwdne5003:0",
"description": "crwdns5005:0crwdne5005:0"
},
"patchmon": {
"name": "crwdns5867:0crwdne5867:0",
"description": "crwdns5869:0crwdne5869:0"
},
"bazarr": {
"name": "crwdns5799:0crwdne5799:0",
"description": "crwdns5801:0crwdne5801:0"
}
},
"media": {
@@ -1602,6 +1626,12 @@
"refresh": "crwdns5739:0crwdne5739:0",
"options": "crwdns5709:0crwdne5709:0",
"actions": "crwdns5711:0crwdne5711:0"
},
"status": {
"success": "crwdns6049:0crwdne6049:0",
"error": "crwdns6051:0crwdne6051:0",
"loading": "crwdns6053:0crwdne6053:0",
"idle": "crwdns6055:0crwdne6055:0"
}
},
"create": {
@@ -1875,6 +1905,16 @@
"customDateFormat": {
"label": "crwdns2726:0crwdne2726:0",
"description": "crwdns2728:0crwdne2728:0"
},
"showWeather": {
"label": "crwdns6113:0crwdne6113:0",
"description": "crwdns6115:0crwdne6115:0"
},
"weatherLocation": {
"label": "crwdns6117:0crwdne6117:0"
},
"isWeatherFormatFahrenheit": {
"label": "crwdns6119:0crwdne6119:0"
}
}
},
@@ -1936,6 +1976,8 @@
"clear": "crwdns884:0crwdne884:0",
"heading": "crwdns886:0{level}crwdne886:0",
"align": "crwdns888:0{position}crwdne888:0",
"directionLtr": "crwdns6043:0crwdne6043:0",
"directionRtl": "crwdns6045:0crwdne6045:0",
"blockquote": "crwdns890:0crwdne890:0",
"horizontalLine": "crwdns892:0crwdne892:0",
"bulletList": "crwdns894:0crwdne894:0",
@@ -2225,7 +2267,8 @@
"sunrise": "crwdns2712:0crwdne2712:0",
"sunset": "crwdns2714:0crwdne2714:0",
"maxWindSpeed": "crwdns3772:0{maxWindSpeed}crwdnd3772:0{unit}crwdne3772:0",
"maxWindGusts": "crwdns3774:0{maxWindGusts}crwdnd3774:0{unit}crwdne3774:0"
"maxWindGusts": "crwdns3774:0{maxWindGusts}crwdnd3774:0{unit}crwdne3774:0",
"humidity": "crwdns6111:0{humidity}crwdne6111:0"
},
"kind": {
"clear": "crwdns1032:0crwdne1032:0",
@@ -2689,6 +2732,11 @@
"user": "crwdns2476:0crwdne2476:0",
"name": "crwdns2478:0crwdne2478:0",
"id": "crwdns2480:0crwdne2480:0",
"status": "crwdns6085:0crwdne6085:0",
"directPlay": "crwdns6087:0crwdne6087:0",
"transcoding": "crwdns6089:0crwdne6089:0",
"paused": "crwdns6091:0crwdne6091:0",
"remaining": "crwdns6093:0{minutes}crwdne6093:0",
"metadata": {
"title": "crwdns3744:0crwdne3744:0",
"video": {
@@ -2754,6 +2802,193 @@
"internalServerError": "crwdns5055:0crwdne5055:0"
}
},
"patchmon": {
"name": "crwdns5871:0crwdne5871:0",
"description": "crwdns5873:0crwdne5873:0",
"title": "crwdns5875:0crwdne5875:0",
"totalHosts": "crwdns5877:0crwdne5877:0",
"hostsNeedingUpdates": "crwdns5879:0crwdne5879:0",
"securityUpdates": "crwdns5881:0crwdne5881:0",
"upToDateHosts": "crwdns5883:0crwdne5883:0",
"hostsWithSecurityUpdates": "crwdns5885:0crwdne5885:0",
"recentUpdates24h": "crwdns5887:0crwdne5887:0",
"totalOutdatedPackages": "crwdns5889:0crwdne5889:0",
"totalRepos": "crwdns5891:0crwdne5891:0",
"osDistribution": "crwdns5893:0crwdne5893:0",
"compliance": "crwdns5895:0crwdne5895:0",
"complianceRatio": "crwdns5897:0{upToDate}crwdnd5897:0{total}crwdne5897:0",
"lastUpdated": "crwdns5899:0{time}crwdne5899:0",
"option": {
"showTotalHosts": {
"label": "crwdns5901:0crwdne5901:0",
"description": "crwdns5903:0crwdne5903:0"
},
"showHostsNeedingUpdates": {
"label": "crwdns5905:0crwdne5905:0",
"description": "crwdns5907:0crwdne5907:0"
},
"showSecurityUpdates": {
"label": "crwdns5909:0crwdne5909:0",
"description": "crwdns5911:0crwdne5911:0"
},
"showUpToDateHosts": {
"label": "crwdns5913:0crwdne5913:0",
"description": "crwdns5915:0crwdne5915:0"
},
"showHostsWithSecurityUpdates": {
"label": "crwdns5917:0crwdne5917:0",
"description": "crwdns5919:0crwdne5919:0"
},
"showRecentUpdates24h": {
"label": "crwdns5921:0crwdne5921:0",
"description": "crwdns5923:0crwdne5923:0"
},
"showTotalOutdatedPackages": {
"label": "crwdns5925:0crwdne5925:0",
"description": "crwdns5927:0crwdne5927:0"
},
"showTotalRepos": {
"label": "crwdns5929:0crwdne5929:0",
"description": "crwdns5931:0crwdne5931:0"
},
"enableThresholdColors": {
"label": "crwdns5933:0crwdne5933:0",
"description": "crwdns5935:0crwdne5935:0"
},
"useCustomThresholds": {
"label": "crwdns5937:0crwdne5937:0",
"description": "crwdns5939:0crwdne5939:0"
},
"thresholdMode": {
"option": {
"absolute": "crwdns5941:0crwdne5941:0",
"percent": "crwdns5943:0crwdne5943:0"
}
},
"hostsNeedingUpdatesThresholdMode": {
"label": "crwdns5945:0crwdne5945:0",
"description": "crwdns5947:0crwdne5947:0"
},
"hostsNeedingUpdatesWarningAt": {
"label": "crwdns5949:0crwdne5949:0",
"description": "crwdns5951:0crwdne5951:0"
},
"hostsNeedingUpdatesCriticalAt": {
"label": "crwdns5953:0crwdne5953:0",
"description": "crwdns5955:0crwdne5955:0"
},
"securityUpdatesThresholdMode": {
"label": "crwdns5957:0crwdne5957:0",
"description": "crwdns5959:0crwdne5959:0"
},
"securityUpdatesWarningAt": {
"label": "crwdns5961:0crwdne5961:0",
"description": "crwdns5963:0crwdne5963:0"
},
"securityUpdatesCriticalAt": {
"label": "crwdns5965:0crwdne5965:0",
"description": "crwdns5967:0crwdne5967:0"
},
"hostsWithSecurityUpdatesThresholdMode": {
"label": "crwdns5969:0crwdne5969:0",
"description": "crwdns5971:0crwdne5971:0"
},
"hostsWithSecurityUpdatesWarningAt": {
"label": "crwdns5973:0crwdne5973:0",
"description": "crwdns5975:0crwdne5975:0"
},
"hostsWithSecurityUpdatesCriticalAt": {
"label": "crwdns5977:0crwdne5977:0",
"description": "crwdns5979:0crwdne5979:0"
},
"upToDateHostsThresholdMode": {
"label": "crwdns5981:0crwdne5981:0",
"description": "crwdns5983:0crwdne5983:0"
},
"upToDateHostsWarningAt": {
"label": "crwdns5985:0crwdne5985:0",
"description": "crwdns5987:0crwdne5987:0"
},
"upToDateHostsCriticalAt": {
"label": "crwdns5989:0crwdne5989:0",
"description": "crwdns5991:0crwdne5991:0"
},
"totalOutdatedPackagesThresholdMode": {
"label": "crwdns5993:0crwdne5993:0",
"description": "crwdns5995:0crwdne5995:0"
},
"totalOutdatedPackagesWarningAt": {
"label": "crwdns5997:0crwdne5997:0",
"description": "crwdns5999:0crwdne5999:0"
},
"totalOutdatedPackagesCriticalAt": {
"label": "crwdns6001:0crwdne6001:0",
"description": "crwdns6003:0crwdne6003:0"
},
"showOsDistribution": {
"label": "crwdns6005:0crwdne6005:0",
"description": "crwdns6007:0crwdne6007:0"
},
"osDistributionLimit": {
"label": "crwdns6009:0crwdne6009:0",
"description": "crwdns6011:0crwdne6011:0",
"option": {
"3": "crwdns6013:0crwdne6013:0",
"5": "crwdns6015:0crwdne6015:0",
"10": "crwdns6017:0crwdne6017:0",
"all": "crwdns6019:0crwdne6019:0"
}
},
"showOsVersion": {
"label": "crwdns6021:0crwdne6021:0",
"description": "crwdns6023:0crwdne6023:0"
},
"showComplianceHero": {
"label": "crwdns6025:0crwdne6025:0",
"description": "crwdns6027:0crwdne6027:0"
},
"osDisplayMode": {
"label": "crwdns6029:0crwdne6029:0",
"description": "crwdns6031:0crwdne6031:0",
"option": {
"bars": "crwdns6033:0crwdne6033:0",
"donut": "crwdns6035:0crwdne6035:0"
}
}
},
"error": {
"internalServerError": "crwdns6037:0crwdne6037:0"
}
},
"bazarr": {
"name": "crwdns5803:0crwdne5803:0",
"description": "crwdns5805:0crwdne5805:0",
"episodes": "crwdns5807:0crwdne5807:0",
"movies": "crwdns5809:0crwdne5809:0",
"providers": "crwdns5811:0crwdne5811:0",
"status": "crwdns5813:0crwdne5813:0",
"option": {
"showMissingEpisodes": {
"label": "crwdns5815:0crwdne5815:0",
"description": "crwdns5817:0crwdne5817:0"
},
"showMissingMovies": {
"label": "crwdns5819:0crwdne5819:0",
"description": "crwdns5821:0crwdne5821:0"
},
"showProviderIssues": {
"label": "crwdns5823:0crwdne5823:0",
"description": "crwdns5825:0crwdne5825:0"
},
"showHealthIssues": {
"label": "crwdns5827:0crwdne5827:0",
"description": "crwdns5829:0crwdne5829:0"
}
},
"error": {
"internalServerError": "crwdns5831:0crwdne5831:0"
}
},
"immich-serverStats": {
"name": "crwdns3880:0crwdne3880:0",
"description": "crwdns3882:0crwdne3882:0",
@@ -2782,10 +3017,11 @@
},
"immich-albumCarousel": {
"name": "crwdns3908:0crwdne3908:0",
"allPhotos": "crwdns6103:0crwdne6103:0",
"option": {
"albumId": {
"label": "crwdns5715:0crwdne5715:0",
"description": "crwdns5717:0crwdne5717:0"
"description": "crwdns6105:0crwdne6105:0"
},
"rotationIntervalSeconds": {
"label": "crwdns3914:0crwdne3914:0",
@@ -2800,9 +3036,8 @@
"description": "crwdns5721:0crwdne5721:0"
}
},
"description": "crwdns3922:0crwdne3922:0",
"noAlbumSelected": "crwdns3924:0crwdne3924:0",
"noPhotos": "crwdns3926:0crwdne3926:0"
"description": "crwdns6107:0crwdne6107:0",
"noPhotos": "crwdns6109:0crwdne6109:0"
},
"downloads": {
"name": "crwdns1170:0crwdne1170:0",
@@ -2986,6 +3221,12 @@
"option": {
"linksTargetNewTab": {
"label": "crwdns1306:0crwdne1306:0"
},
"statusFilter": {
"label": "crwdns6081:0crwdne6081:0"
},
"recentDays": {
"label": "crwdns6083:0crwdne6083:0"
}
},
"pending": {
@@ -3093,6 +3334,35 @@
}
}
},
"mediaMissing": {
"name": "crwdns5833:0crwdne5833:0",
"description": "crwdns5835:0crwdne5835:0",
"option": {
"showMissing": {
"label": "crwdns5837:0crwdne5837:0"
},
"showQueued": {
"label": "crwdns5839:0crwdne5839:0"
},
"pageSize": {
"label": "crwdns5841:0crwdne5841:0"
}
},
"tab": {
"missing": "crwdns5843:0crwdne5843:0",
"queued": "crwdns5845:0crwdne5845:0"
},
"type": {
"movie": "crwdns5847:0crwdne5847:0",
"episode": "crwdns5849:0crwdne5849:0"
},
"empty": {
"missing": "crwdns5851:0crwdne5851:0",
"queued": "crwdns5853:0crwdne5853:0",
"noTabsEnabled": "crwdns5855:0crwdne5855:0"
},
"timeLeft": "crwdns5857:0crwdne5857:0"
},
"rssFeed": {
"name": "crwdns1352:0crwdne1352:0",
"description": "crwdns1354:0crwdne1354:0",
@@ -3336,7 +3606,11 @@
"name": "crwdns3476:0crwdne3476:0",
"description": "crwdns3478:0crwdne3478:0",
"noItems": "crwdns3480:0crwdne3480:0",
"option": {}
"option": {
"hideLogos": {
"label": "crwdns5757:0crwdne5757:0"
}
}
},
"speedtestTracker": {
"name": "crwdns4014:0crwdne4014:0",
@@ -3417,6 +3691,40 @@
"internalServerError": "crwdns5095:0crwdne5095:0"
}
},
"traefik": {
"name": "crwdns5759:0crwdne5759:0",
"description": "crwdns5761:0crwdne5761:0",
"option": {
"showTcp": {
"label": "crwdns5763:0crwdne5763:0"
},
"showUdp": {
"label": "crwdns5765:0crwdne5765:0"
},
"showEntryPoints": {
"label": "crwdns5767:0crwdne5767:0"
}
},
"instances": "crwdns5769:0crwdne5769:0",
"versionUnknown": "crwdns5771:0crwdne5771:0",
"summary": {
"routers": "crwdns5773:0crwdne5773:0",
"entryPoints": "crwdns5775:0crwdne5775:0"
},
"resource": {
"routers": "crwdns5777:0crwdne5777:0",
"services": "crwdns5779:0crwdne5779:0",
"middlewares": "crwdns5781:0crwdne5781:0"
},
"status": {
"healthy": "crwdns5783:0crwdne5783:0",
"errors": "crwdns5785:0{count}crwdne5785:0",
"warnings": "crwdns5787:0{count}crwdne5787:0"
},
"error": {
"internalServerError": "crwdns5789:0crwdne5789:0"
}
},
"audioStats": {
"name": "crwdns5097:0crwdne5097:0",
"description": "crwdns5099:0crwdne5099:0",
@@ -3783,8 +4091,8 @@
},
"disk": {
"title": "crwdns4943:0crwdne4943:0",
"subtitle": "crwdns4945:0crwdne4945:0",
"series": "crwdns4947:0crwdne4947:0"
"subtitle": "crwdns6039:0crwdne6039:0",
"series": "crwdns6041:0crwdne6041:0"
},
"diskIO": {
"title": "crwdns4949:0crwdne4949:0",
@@ -3792,6 +4100,11 @@
"read": "crwdns4953:0crwdne4953:0",
"write": "crwdns4955:0crwdne4955:0"
},
"storage": {
"title": "crwdns5793:0crwdne5793:0",
"subtitle": "crwdns5795:0crwdne5795:0",
"series": "crwdns5797:0crwdne5797:0"
},
"network": {
"title": "crwdns4957:0crwdne4957:0",
"subtitle": "crwdns4959:0crwdne4959:0",
@@ -4924,6 +5237,9 @@
"title": "crwdns1892:0crwdne1892:0",
"table": {
"updated": "crwdns1894:0{when}crwdne1894:0",
"refresh": {
"lastUpdated": "crwdns6047:0{when}crwdne6047:0"
},
"search": "crwdns3432:0{count}crwdne3432:0",
"selected": "crwdns1898:0{selectCount}crwdnd1898:0{totalCount}crwdne1898:0",
"footer": "crwdns3434:0{count}crwdne3434:0",
@@ -5652,6 +5968,14 @@
}
}
},
"enableRightClickOnWidgets": {
"label": "crwdns6099:0crwdne6099:0",
"children": {
"detail": {
"title": "crwdns6101:0crwdne6101:0"
}
}
},
"fullPreferencesPage": {
"label": "crwdns4367:0crwdne4367:0"
}
+327 -3
View File
@@ -198,6 +198,10 @@
"pingIconsEnabled": {
"label": "Používat ikony pro pingy"
},
"enableRightClickOnWidgets": {
"label": "",
"description": ""
},
"defaultSearchEngine": {
"label": ""
},
@@ -1285,6 +1289,14 @@
"label": "",
"newLabel": ""
},
"patchmonApiKey": {
"label": "",
"newLabel": ""
},
"patchmonApiSecret": {
"label": "",
"newLabel": ""
},
"githubAppId": {
"label": "",
"newLabel": ""
@@ -1328,9 +1340,21 @@
}
}
},
"traefik": {
"name": "",
"description": ""
},
"paperlessNgx": {
"name": "",
"description": ""
},
"patchmon": {
"name": "",
"description": ""
},
"bazarr": {
"name": "",
"description": ""
}
},
"media": {
@@ -1602,6 +1626,12 @@
"refresh": "",
"options": "",
"actions": ""
},
"status": {
"success": "",
"error": "",
"loading": "",
"idle": ""
}
},
"create": {
@@ -1875,6 +1905,16 @@
"customDateFormat": {
"label": "",
"description": ""
},
"showWeather": {
"label": "",
"description": ""
},
"weatherLocation": {
"label": ""
},
"isWeatherFormatFahrenheit": {
"label": ""
}
}
},
@@ -1936,6 +1976,8 @@
"clear": "Vymazat formátování",
"heading": "Nadpis {level}",
"align": "Zarovnat text: {position}",
"directionLtr": "",
"directionRtl": "",
"blockquote": "Citace",
"horizontalLine": "Vodorovná čára",
"bulletList": "Odrážkový seznam",
@@ -2225,7 +2267,8 @@
"sunrise": "",
"sunset": "",
"maxWindSpeed": "",
"maxWindGusts": ""
"maxWindGusts": "",
"humidity": ""
},
"kind": {
"clear": "Jasno",
@@ -2689,6 +2732,11 @@
"user": "Uživatel",
"name": "Jméno",
"id": "Id",
"status": "",
"directPlay": "",
"transcoding": "",
"paused": "",
"remaining": "",
"metadata": {
"title": "",
"video": {
@@ -2754,6 +2802,193 @@
"internalServerError": ""
}
},
"patchmon": {
"name": "",
"description": "",
"title": "",
"totalHosts": "",
"hostsNeedingUpdates": "",
"securityUpdates": "",
"upToDateHosts": "",
"hostsWithSecurityUpdates": "",
"recentUpdates24h": "",
"totalOutdatedPackages": "",
"totalRepos": "",
"osDistribution": "",
"compliance": "",
"complianceRatio": "",
"lastUpdated": "",
"option": {
"showTotalHosts": {
"label": "",
"description": ""
},
"showHostsNeedingUpdates": {
"label": "",
"description": ""
},
"showSecurityUpdates": {
"label": "",
"description": ""
},
"showUpToDateHosts": {
"label": "",
"description": ""
},
"showHostsWithSecurityUpdates": {
"label": "",
"description": ""
},
"showRecentUpdates24h": {
"label": "",
"description": ""
},
"showTotalOutdatedPackages": {
"label": "",
"description": ""
},
"showTotalRepos": {
"label": "",
"description": ""
},
"enableThresholdColors": {
"label": "",
"description": ""
},
"useCustomThresholds": {
"label": "",
"description": ""
},
"thresholdMode": {
"option": {
"absolute": "",
"percent": ""
}
},
"hostsNeedingUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesCriticalAt": {
"label": "",
"description": ""
},
"securityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"securityUpdatesWarningAt": {
"label": "",
"description": ""
},
"securityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"upToDateHostsThresholdMode": {
"label": "",
"description": ""
},
"upToDateHostsWarningAt": {
"label": "",
"description": ""
},
"upToDateHostsCriticalAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesThresholdMode": {
"label": "",
"description": ""
},
"totalOutdatedPackagesWarningAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesCriticalAt": {
"label": "",
"description": ""
},
"showOsDistribution": {
"label": "",
"description": ""
},
"osDistributionLimit": {
"label": "",
"description": "",
"option": {
"3": "",
"5": "",
"10": "",
"all": ""
}
},
"showOsVersion": {
"label": "",
"description": ""
},
"showComplianceHero": {
"label": "",
"description": ""
},
"osDisplayMode": {
"label": "",
"description": "",
"option": {
"bars": "",
"donut": ""
}
}
},
"error": {
"internalServerError": ""
}
},
"bazarr": {
"name": "",
"description": "",
"episodes": "",
"movies": "",
"providers": "",
"status": "",
"option": {
"showMissingEpisodes": {
"label": "",
"description": ""
},
"showMissingMovies": {
"label": "",
"description": ""
},
"showProviderIssues": {
"label": "",
"description": ""
},
"showHealthIssues": {
"label": "",
"description": ""
}
},
"error": {
"internalServerError": ""
}
},
"immich-serverStats": {
"name": "",
"description": "",
@@ -2782,6 +3017,7 @@
},
"immich-albumCarousel": {
"name": "",
"allPhotos": "",
"option": {
"albumId": {
"label": "",
@@ -2801,7 +3037,6 @@
}
},
"description": "",
"noAlbumSelected": "",
"noPhotos": ""
},
"downloads": {
@@ -2986,6 +3221,12 @@
"option": {
"linksTargetNewTab": {
"label": "Otevírat odkazy v nové kartě"
},
"statusFilter": {
"label": ""
},
"recentDays": {
"label": ""
}
},
"pending": {
@@ -3093,6 +3334,35 @@
}
}
},
"mediaMissing": {
"name": "",
"description": "",
"option": {
"showMissing": {
"label": ""
},
"showQueued": {
"label": ""
},
"pageSize": {
"label": ""
}
},
"tab": {
"missing": "",
"queued": ""
},
"type": {
"movie": "",
"episode": ""
},
"empty": {
"missing": "",
"queued": "",
"noTabsEnabled": ""
},
"timeLeft": ""
},
"rssFeed": {
"name": "",
"description": "",
@@ -3336,7 +3606,11 @@
"name": "",
"description": "",
"noItems": "",
"option": {}
"option": {
"hideLogos": {
"label": ""
}
}
},
"speedtestTracker": {
"name": "",
@@ -3417,6 +3691,40 @@
"internalServerError": ""
}
},
"traefik": {
"name": "",
"description": "",
"option": {
"showTcp": {
"label": ""
},
"showUdp": {
"label": ""
},
"showEntryPoints": {
"label": ""
}
},
"instances": "",
"versionUnknown": "",
"summary": {
"routers": "",
"entryPoints": ""
},
"resource": {
"routers": "",
"services": "",
"middlewares": ""
},
"status": {
"healthy": "",
"errors": "",
"warnings": ""
},
"error": {
"internalServerError": ""
}
},
"audioStats": {
"name": "",
"description": "",
@@ -3792,6 +4100,11 @@
"read": "",
"write": ""
},
"storage": {
"title": "",
"subtitle": "",
"series": ""
},
"network": {
"title": "",
"subtitle": "",
@@ -4924,6 +5237,9 @@
"title": "Kontejnery",
"table": {
"updated": "",
"refresh": {
"lastUpdated": ""
},
"search": "",
"selected": "",
"footer": "",
@@ -5652,6 +5968,14 @@
}
}
},
"enableRightClickOnWidgets": {
"label": "",
"children": {
"detail": {
"title": ""
}
}
},
"fullPreferencesPage": {
"label": ""
}
+335 -11
View File
@@ -8,9 +8,9 @@
"action": {
"scratch": "Start fra bunden",
"importOldmarr": "Importer fra Homarr før 1.0",
"restoreSqlite": "",
"restoreSqliteDescription": "",
"backToOptions": ""
"restoreSqlite": "Gendan fra SQLite backup",
"restoreSqliteDescription": "Upload en fuld SQLite database backup fra en tidligere Homarr instans. Dette vil gendanne alle tavler, brugere, apps, integrationer og indstillinger.",
"backToOptions": "← Tilbage til opsætningsmuligheder"
}
},
"import": {
@@ -94,12 +94,12 @@
"subtitle": "Konfigurer serverindstillinger."
},
"integrations": {
"title": "",
"subtitle": "",
"description": "",
"title": "Integrationer",
"subtitle": "Vælg de tjenester, du bruger.",
"description": "Vælg de integrationer, du gerne vil forbinde. Vi konfigurerer dit dashboard med matchende widgets automatisk.",
"action": {
"continue": "",
"skip": ""
"continue": "Forsæt",
"skip": "Spring over for nu"
},
"configure": {
"progress": "",
@@ -198,6 +198,10 @@
"pingIconsEnabled": {
"label": "Brug ikoner til pings"
},
"enableRightClickOnWidgets": {
"label": "",
"description": ""
},
"defaultSearchEngine": {
"label": "Standardsøgemaskine"
},
@@ -1285,6 +1289,14 @@
"label": "API-nøgle (Secret)",
"newLabel": "Ny API-nøgle (Key)"
},
"patchmonApiKey": {
"label": "",
"newLabel": ""
},
"patchmonApiSecret": {
"label": "",
"newLabel": ""
},
"githubAppId": {
"label": "App Id",
"newLabel": "Nyt App Id"
@@ -1328,9 +1340,21 @@
}
}
},
"traefik": {
"name": "",
"description": ""
},
"paperlessNgx": {
"name": "",
"description": ""
},
"patchmon": {
"name": "",
"description": ""
},
"bazarr": {
"name": "",
"description": ""
}
},
"media": {
@@ -1602,6 +1626,12 @@
"refresh": "",
"options": "",
"actions": ""
},
"status": {
"success": "",
"error": "",
"loading": "",
"idle": ""
}
},
"create": {
@@ -1875,6 +1905,16 @@
"customDateFormat": {
"label": "Brugerdefineret datoformat",
"description": "Brug ISO 8601 til at formatere dato (dette vil tilsidesætte andre valg)"
},
"showWeather": {
"label": "",
"description": ""
},
"weatherLocation": {
"label": ""
},
"isWeatherFormatFahrenheit": {
"label": ""
}
}
},
@@ -1936,6 +1976,8 @@
"clear": "Ryd formatering",
"heading": "Overskrift {level}",
"align": "Juster tekst: {position}",
"directionLtr": "",
"directionRtl": "",
"blockquote": "Citatblok",
"horizontalLine": "Horisontal linje",
"bulletList": "Punktopstillet liste",
@@ -2225,7 +2267,8 @@
"sunrise": "Solopgang",
"sunset": "Solnedgang",
"maxWindSpeed": "Maks. vindhastighed: {maxWindSpeed} {unit}",
"maxWindGusts": "Maks. vindstød {maxWindGusts} {unit}"
"maxWindGusts": "Maks. vindstød {maxWindGusts} {unit}",
"humidity": ""
},
"kind": {
"clear": "Skyfrit",
@@ -2689,6 +2732,11 @@
"user": "Bruger",
"name": "Navn",
"id": "Id",
"status": "",
"directPlay": "",
"transcoding": "",
"paused": "",
"remaining": "",
"metadata": {
"title": "Statistik for nørder",
"video": {
@@ -2754,6 +2802,193 @@
"internalServerError": ""
}
},
"patchmon": {
"name": "",
"description": "",
"title": "",
"totalHosts": "",
"hostsNeedingUpdates": "",
"securityUpdates": "",
"upToDateHosts": "",
"hostsWithSecurityUpdates": "",
"recentUpdates24h": "",
"totalOutdatedPackages": "",
"totalRepos": "",
"osDistribution": "",
"compliance": "",
"complianceRatio": "",
"lastUpdated": "",
"option": {
"showTotalHosts": {
"label": "",
"description": ""
},
"showHostsNeedingUpdates": {
"label": "",
"description": ""
},
"showSecurityUpdates": {
"label": "",
"description": ""
},
"showUpToDateHosts": {
"label": "",
"description": ""
},
"showHostsWithSecurityUpdates": {
"label": "",
"description": ""
},
"showRecentUpdates24h": {
"label": "",
"description": ""
},
"showTotalOutdatedPackages": {
"label": "",
"description": ""
},
"showTotalRepos": {
"label": "",
"description": ""
},
"enableThresholdColors": {
"label": "",
"description": ""
},
"useCustomThresholds": {
"label": "",
"description": ""
},
"thresholdMode": {
"option": {
"absolute": "",
"percent": ""
}
},
"hostsNeedingUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesCriticalAt": {
"label": "",
"description": ""
},
"securityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"securityUpdatesWarningAt": {
"label": "",
"description": ""
},
"securityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"upToDateHostsThresholdMode": {
"label": "",
"description": ""
},
"upToDateHostsWarningAt": {
"label": "",
"description": ""
},
"upToDateHostsCriticalAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesThresholdMode": {
"label": "",
"description": ""
},
"totalOutdatedPackagesWarningAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesCriticalAt": {
"label": "",
"description": ""
},
"showOsDistribution": {
"label": "",
"description": ""
},
"osDistributionLimit": {
"label": "",
"description": "",
"option": {
"3": "",
"5": "",
"10": "",
"all": ""
}
},
"showOsVersion": {
"label": "",
"description": ""
},
"showComplianceHero": {
"label": "",
"description": ""
},
"osDisplayMode": {
"label": "",
"description": "",
"option": {
"bars": "",
"donut": ""
}
}
},
"error": {
"internalServerError": ""
}
},
"bazarr": {
"name": "",
"description": "",
"episodes": "",
"movies": "",
"providers": "",
"status": "",
"option": {
"showMissingEpisodes": {
"label": "",
"description": ""
},
"showMissingMovies": {
"label": "",
"description": ""
},
"showProviderIssues": {
"label": "",
"description": ""
},
"showHealthIssues": {
"label": "",
"description": ""
}
},
"error": {
"internalServerError": ""
}
},
"immich-serverStats": {
"name": "Immich Server Statistik",
"description": "Information om din Immich instans",
@@ -2782,6 +3017,7 @@
},
"immich-albumCarousel": {
"name": "Immich album",
"allPhotos": "",
"option": {
"albumId": {
"label": "Album ID",
@@ -2801,7 +3037,6 @@
}
},
"description": "Diasshow af billeder i dit Immich album",
"noAlbumSelected": "Intet album valgt, rediger widget og vælg et album",
"noPhotos": "Ingen fotos i dette album"
},
"downloads": {
@@ -2986,6 +3221,12 @@
"option": {
"linksTargetNewTab": {
"label": "Åbn links i ny fane"
},
"statusFilter": {
"label": ""
},
"recentDays": {
"label": ""
}
},
"pending": {
@@ -3093,6 +3334,35 @@
}
}
},
"mediaMissing": {
"name": "",
"description": "",
"option": {
"showMissing": {
"label": ""
},
"showQueued": {
"label": ""
},
"pageSize": {
"label": ""
}
},
"tab": {
"missing": "",
"queued": ""
},
"type": {
"movie": "",
"episode": ""
},
"empty": {
"missing": "",
"queued": "",
"noTabsEnabled": ""
},
"timeLeft": ""
},
"rssFeed": {
"name": "RSS feeds",
"description": "Overvåg og vis en eller flere generiske RSS, ATOM eller JSON feeds",
@@ -3336,7 +3606,11 @@
"name": "Notifikationer",
"description": "Vis notifikationshistorik fra en integration",
"noItems": "Ingen notifikationer at vise.",
"option": {}
"option": {
"hideLogos": {
"label": ""
}
}
},
"speedtestTracker": {
"name": "Speedtest Tracker",
@@ -3417,6 +3691,40 @@
"internalServerError": ""
}
},
"traefik": {
"name": "",
"description": "",
"option": {
"showTcp": {
"label": ""
},
"showUdp": {
"label": ""
},
"showEntryPoints": {
"label": ""
}
},
"instances": "",
"versionUnknown": "",
"summary": {
"routers": "",
"entryPoints": ""
},
"resource": {
"routers": "",
"services": "",
"middlewares": ""
},
"status": {
"healthy": "",
"errors": "",
"warnings": ""
},
"error": {
"internalServerError": ""
}
},
"audioStats": {
"name": "",
"description": "",
@@ -3792,6 +4100,11 @@
"read": "",
"write": ""
},
"storage": {
"title": "",
"subtitle": "",
"series": ""
},
"network": {
"title": "",
"subtitle": "",
@@ -4924,6 +5237,9 @@
"title": "Containere",
"table": {
"updated": "Opdateret {when}",
"refresh": {
"lastUpdated": ""
},
"search": "Søg {count} containere",
"selected": "{selectCount} af {totalCount} containere valgt",
"footer": "Total {count} containere",
@@ -5652,6 +5968,14 @@
}
}
},
"enableRightClickOnWidgets": {
"label": "",
"children": {
"detail": {
"title": ""
}
}
},
"fullPreferencesPage": {
"label": ""
}
+327 -3
View File
@@ -198,6 +198,10 @@
"pingIconsEnabled": {
"label": "Symbole für Pings verwenden"
},
"enableRightClickOnWidgets": {
"label": "",
"description": ""
},
"defaultSearchEngine": {
"label": "Standard Suchmaschine"
},
@@ -1285,6 +1289,14 @@
"label": "",
"newLabel": ""
},
"patchmonApiKey": {
"label": "",
"newLabel": ""
},
"patchmonApiSecret": {
"label": "",
"newLabel": ""
},
"githubAppId": {
"label": "",
"newLabel": ""
@@ -1328,9 +1340,21 @@
}
}
},
"traefik": {
"name": "",
"description": ""
},
"paperlessNgx": {
"name": "",
"description": ""
},
"patchmon": {
"name": "",
"description": ""
},
"bazarr": {
"name": "",
"description": ""
}
},
"media": {
@@ -1602,6 +1626,12 @@
"refresh": "",
"options": "",
"actions": ""
},
"status": {
"success": "",
"error": "",
"loading": "",
"idle": ""
}
},
"create": {
@@ -1875,6 +1905,16 @@
"customDateFormat": {
"label": "Benutzerdefiniertes Datumsformat",
"description": "ISO 8601 Standard benutzen um das Datum zu formatieren (dies wird andere Optionen überschreiben)"
},
"showWeather": {
"label": "",
"description": ""
},
"weatherLocation": {
"label": ""
},
"isWeatherFormatFahrenheit": {
"label": ""
}
}
},
@@ -1936,6 +1976,8 @@
"clear": "Formatierung entfernen",
"heading": "Überschrift {level}",
"align": "Text ausrichten: {position}",
"directionLtr": "",
"directionRtl": "",
"blockquote": "Blockzitat",
"horizontalLine": "Horizontale Linie",
"bulletList": "Aufzählung",
@@ -2225,7 +2267,8 @@
"sunrise": "Sonnenaufgang",
"sunset": "Sonnenuntergang",
"maxWindSpeed": "Maximale Windgeschwindigkeit: {maxWindSpeed} km/h",
"maxWindGusts": "Maximale Windböen: {maxWindGusts} km/h"
"maxWindGusts": "Maximale Windböen: {maxWindGusts} km/h",
"humidity": ""
},
"kind": {
"clear": "Klar",
@@ -2689,6 +2732,11 @@
"user": "Benutzer",
"name": "",
"id": "",
"status": "",
"directPlay": "",
"transcoding": "",
"paused": "",
"remaining": "",
"metadata": {
"title": "",
"video": {
@@ -2754,6 +2802,193 @@
"internalServerError": ""
}
},
"patchmon": {
"name": "",
"description": "",
"title": "",
"totalHosts": "",
"hostsNeedingUpdates": "",
"securityUpdates": "",
"upToDateHosts": "",
"hostsWithSecurityUpdates": "",
"recentUpdates24h": "",
"totalOutdatedPackages": "",
"totalRepos": "",
"osDistribution": "",
"compliance": "",
"complianceRatio": "",
"lastUpdated": "",
"option": {
"showTotalHosts": {
"label": "",
"description": ""
},
"showHostsNeedingUpdates": {
"label": "",
"description": ""
},
"showSecurityUpdates": {
"label": "",
"description": ""
},
"showUpToDateHosts": {
"label": "",
"description": ""
},
"showHostsWithSecurityUpdates": {
"label": "",
"description": ""
},
"showRecentUpdates24h": {
"label": "",
"description": ""
},
"showTotalOutdatedPackages": {
"label": "",
"description": ""
},
"showTotalRepos": {
"label": "",
"description": ""
},
"enableThresholdColors": {
"label": "",
"description": ""
},
"useCustomThresholds": {
"label": "",
"description": ""
},
"thresholdMode": {
"option": {
"absolute": "",
"percent": ""
}
},
"hostsNeedingUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesCriticalAt": {
"label": "",
"description": ""
},
"securityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"securityUpdatesWarningAt": {
"label": "",
"description": ""
},
"securityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"upToDateHostsThresholdMode": {
"label": "",
"description": ""
},
"upToDateHostsWarningAt": {
"label": "",
"description": ""
},
"upToDateHostsCriticalAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesThresholdMode": {
"label": "",
"description": ""
},
"totalOutdatedPackagesWarningAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesCriticalAt": {
"label": "",
"description": ""
},
"showOsDistribution": {
"label": "",
"description": ""
},
"osDistributionLimit": {
"label": "",
"description": "",
"option": {
"3": "",
"5": "",
"10": "",
"all": ""
}
},
"showOsVersion": {
"label": "",
"description": ""
},
"showComplianceHero": {
"label": "",
"description": ""
},
"osDisplayMode": {
"label": "",
"description": "",
"option": {
"bars": "",
"donut": ""
}
}
},
"error": {
"internalServerError": ""
}
},
"bazarr": {
"name": "",
"description": "",
"episodes": "",
"movies": "",
"providers": "",
"status": "",
"option": {
"showMissingEpisodes": {
"label": "",
"description": ""
},
"showMissingMovies": {
"label": "",
"description": ""
},
"showProviderIssues": {
"label": "",
"description": ""
},
"showHealthIssues": {
"label": "",
"description": ""
}
},
"error": {
"internalServerError": ""
}
},
"immich-serverStats": {
"name": "",
"description": "",
@@ -2782,6 +3017,7 @@
},
"immich-albumCarousel": {
"name": "",
"allPhotos": "",
"option": {
"albumId": {
"label": "",
@@ -2801,7 +3037,6 @@
}
},
"description": "",
"noAlbumSelected": "",
"noPhotos": ""
},
"downloads": {
@@ -2986,6 +3221,12 @@
"option": {
"linksTargetNewTab": {
"label": "Links in neuem Tab öffnen"
},
"statusFilter": {
"label": ""
},
"recentDays": {
"label": ""
}
},
"pending": {
@@ -3093,6 +3334,35 @@
}
}
},
"mediaMissing": {
"name": "",
"description": "",
"option": {
"showMissing": {
"label": ""
},
"showQueued": {
"label": ""
},
"pageSize": {
"label": ""
}
},
"tab": {
"missing": "",
"queued": ""
},
"type": {
"movie": "",
"episode": ""
},
"empty": {
"missing": "",
"queued": "",
"noTabsEnabled": ""
},
"timeLeft": ""
},
"rssFeed": {
"name": "RSS Feeds",
"description": "Einen oder mehrere generische RSS, ATOM oder JSON-Feeds überwachen und anzeigen",
@@ -3336,7 +3606,11 @@
"name": "",
"description": "",
"noItems": "",
"option": {}
"option": {
"hideLogos": {
"label": ""
}
}
},
"speedtestTracker": {
"name": "",
@@ -3417,6 +3691,40 @@
"internalServerError": ""
}
},
"traefik": {
"name": "",
"description": "",
"option": {
"showTcp": {
"label": ""
},
"showUdp": {
"label": ""
},
"showEntryPoints": {
"label": ""
}
},
"instances": "",
"versionUnknown": "",
"summary": {
"routers": "",
"entryPoints": ""
},
"resource": {
"routers": "",
"services": "",
"middlewares": ""
},
"status": {
"healthy": "",
"errors": "",
"warnings": ""
},
"error": {
"internalServerError": ""
}
},
"audioStats": {
"name": "",
"description": "",
@@ -3792,6 +4100,11 @@
"read": "",
"write": ""
},
"storage": {
"title": "",
"subtitle": "",
"series": ""
},
"network": {
"title": "",
"subtitle": "",
@@ -4924,6 +5237,9 @@
"title": "Container",
"table": {
"updated": "Aktualisiert {when}",
"refresh": {
"lastUpdated": ""
},
"search": "{count} Container durchsuchen",
"selected": "{selectCount} von {totalCount} ausgewählten Containern",
"footer": "",
@@ -5652,6 +5968,14 @@
}
}
},
"enableRightClickOnWidgets": {
"label": "",
"children": {
"detail": {
"title": ""
}
}
},
"fullPreferencesPage": {
"label": ""
}
+334 -10
View File
@@ -198,6 +198,10 @@
"pingIconsEnabled": {
"label": "Symbole für Pings verwenden"
},
"enableRightClickOnWidgets": {
"label": "",
"description": ""
},
"defaultSearchEngine": {
"label": "Standard Suchmaschine"
},
@@ -1021,7 +1025,7 @@
"mediaMonitoring": "Überwachung",
"speedtest": "Geschwindigkeitstest",
"analytics": "Nutzungsdaten",
"vpn": "",
"vpn": "VPN",
"mediaLibrary": "Medienbibliothek",
"uptimeMonitoring": "Überwachung der Betriebszeit"
},
@@ -1285,6 +1289,14 @@
"label": "API-Schlüssel (Secret)",
"newLabel": "Neuer API-Schlüssel (Secret)"
},
"patchmonApiKey": {
"label": "API Key",
"newLabel": "Neuer API Key"
},
"patchmonApiSecret": {
"label": "API Secret",
"newLabel": "Neues API Secret"
},
"githubAppId": {
"label": "App ID",
"newLabel": "Neue App ID"
@@ -1328,9 +1340,21 @@
}
}
},
"traefik": {
"name": "Traefik",
"description": ""
},
"paperlessNgx": {
"name": "Paperless-ngx",
"description": "Dokumentenverwaltungssystem zum Archivieren und Organisieren gescannter Dokumente"
},
"patchmon": {
"name": "",
"description": ""
},
"bazarr": {
"name": "",
"description": ""
}
},
"media": {
@@ -1599,9 +1623,15 @@
"menu": {
"label": {
"settings": "Einstellungen",
"refresh": "",
"options": "",
"actions": ""
"refresh": "Aktualisieren",
"options": "Optionen",
"actions": "Aktionen"
},
"status": {
"success": "",
"error": "Fehler",
"loading": "Wird geladen",
"idle": "Leerlauf"
}
},
"create": {
@@ -1875,6 +1905,16 @@
"customDateFormat": {
"label": "Benutzerdefiniertes Datumsformat",
"description": "ISO 8601 Standard benutzen um das Datum zu formatieren (dies wird andere Optionen überschreiben)"
},
"showWeather": {
"label": "",
"description": ""
},
"weatherLocation": {
"label": ""
},
"isWeatherFormatFahrenheit": {
"label": ""
}
}
},
@@ -1936,6 +1976,8 @@
"clear": "Formatierung entfernen",
"heading": "Überschrift {level}",
"align": "Text ausrichten: {position}",
"directionLtr": "",
"directionRtl": "",
"blockquote": "Blockzitat",
"horizontalLine": "Horizontale Linie",
"bulletList": "Aufzählung",
@@ -2225,7 +2267,8 @@
"sunrise": "Sonnenaufgang",
"sunset": "Sonnenuntergang",
"maxWindSpeed": "Maximale Windgeschwindigkeit: {maxWindSpeed} {unit}",
"maxWindGusts": "Maximale Windböen: {maxWindGusts} {unit}"
"maxWindGusts": "Maximale Windböen: {maxWindGusts} {unit}",
"humidity": ""
},
"kind": {
"clear": "Klar",
@@ -2287,7 +2330,7 @@
"visibleStorageVolumes": {
"label": "",
"description": "",
"placeholder": ""
"placeholder": "Speichervolumen auswählen"
},
"defaultTab": {
"label": "Standard Tab"
@@ -2426,8 +2469,8 @@
},
"vpn": {
"name": "",
"description": "",
"serviceUnavailable": "",
"description": "Übersicht deiner VPN-Verbindungen",
"serviceUnavailable": "VPN nicht verfügbar",
"option": {}
},
"ups": {
@@ -2689,6 +2732,11 @@
"user": "Benutzer",
"name": "Name",
"id": "Id",
"status": "Status",
"directPlay": "",
"transcoding": "",
"paused": "",
"remaining": "",
"metadata": {
"title": "Statistiken für Nerds",
"video": {
@@ -2754,6 +2802,193 @@
"internalServerError": "Fehler beim Abrufen der Paperless-ngx-Daten"
}
},
"patchmon": {
"name": "",
"description": "",
"title": "",
"totalHosts": "",
"hostsNeedingUpdates": "",
"securityUpdates": "",
"upToDateHosts": "",
"hostsWithSecurityUpdates": "",
"recentUpdates24h": "",
"totalOutdatedPackages": "",
"totalRepos": "",
"osDistribution": "",
"compliance": "",
"complianceRatio": "",
"lastUpdated": "",
"option": {
"showTotalHosts": {
"label": "Alle Hosts anzeigen",
"description": "Gesamtanzahl der überwachten Hosts anzeigen"
},
"showHostsNeedingUpdates": {
"label": "Hosts die Updates benötigen anzeigen",
"description": "Hosts mit mindestens einem veralteten Paket anzeigen"
},
"showSecurityUpdates": {
"label": "Sicherheits-Updates anzeigen",
"description": "Gesamtzahl der verfügbaren Sicherheits-Updates anzeigen"
},
"showUpToDateHosts": {
"label": "",
"description": ""
},
"showHostsWithSecurityUpdates": {
"label": "",
"description": ""
},
"showRecentUpdates24h": {
"label": "",
"description": ""
},
"showTotalOutdatedPackages": {
"label": "",
"description": ""
},
"showTotalRepos": {
"label": "",
"description": ""
},
"enableThresholdColors": {
"label": "",
"description": ""
},
"useCustomThresholds": {
"label": "",
"description": ""
},
"thresholdMode": {
"option": {
"absolute": "",
"percent": ""
}
},
"hostsNeedingUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesCriticalAt": {
"label": "",
"description": ""
},
"securityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"securityUpdatesWarningAt": {
"label": "",
"description": ""
},
"securityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"upToDateHostsThresholdMode": {
"label": "",
"description": ""
},
"upToDateHostsWarningAt": {
"label": "",
"description": ""
},
"upToDateHostsCriticalAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesThresholdMode": {
"label": "",
"description": ""
},
"totalOutdatedPackagesWarningAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesCriticalAt": {
"label": "",
"description": ""
},
"showOsDistribution": {
"label": "",
"description": ""
},
"osDistributionLimit": {
"label": "",
"description": "",
"option": {
"3": "",
"5": "",
"10": "",
"all": ""
}
},
"showOsVersion": {
"label": "",
"description": ""
},
"showComplianceHero": {
"label": "",
"description": ""
},
"osDisplayMode": {
"label": "",
"description": "",
"option": {
"bars": "",
"donut": ""
}
}
},
"error": {
"internalServerError": ""
}
},
"bazarr": {
"name": "",
"description": "",
"episodes": "",
"movies": "",
"providers": "",
"status": "",
"option": {
"showMissingEpisodes": {
"label": "",
"description": ""
},
"showMissingMovies": {
"label": "",
"description": ""
},
"showProviderIssues": {
"label": "",
"description": ""
},
"showHealthIssues": {
"label": "",
"description": ""
}
},
"error": {
"internalServerError": ""
}
},
"immich-serverStats": {
"name": "Immich Serverstatistik einblenden",
"description": "Informationen über Ihre Immich Instanz",
@@ -2782,6 +3017,7 @@
},
"immich-albumCarousel": {
"name": "Immich Album",
"allPhotos": "",
"option": {
"albumId": {
"label": "Album ID",
@@ -2801,7 +3037,6 @@
}
},
"description": "Diashow der Bilder in Ihrem Immich Album",
"noAlbumSelected": "Kein Album ausgewählt, Widget bearbeiten und Album auswählen",
"noPhotos": "Keine Fotos in diesem Album"
},
"downloads": {
@@ -2986,6 +3221,12 @@
"option": {
"linksTargetNewTab": {
"label": "Links in neuem Tab öffnen"
},
"statusFilter": {
"label": ""
},
"recentDays": {
"label": ""
}
},
"pending": {
@@ -3093,6 +3334,35 @@
}
}
},
"mediaMissing": {
"name": "",
"description": "",
"option": {
"showMissing": {
"label": ""
},
"showQueued": {
"label": ""
},
"pageSize": {
"label": ""
}
},
"tab": {
"missing": "",
"queued": ""
},
"type": {
"movie": "",
"episode": ""
},
"empty": {
"missing": "",
"queued": "",
"noTabsEnabled": ""
},
"timeLeft": ""
},
"rssFeed": {
"name": "RSS Feeds",
"description": "Einen oder mehrere generische RSS, ATOM oder JSON-Feeds überwachen und anzeigen",
@@ -3336,7 +3606,11 @@
"name": "Benachrichtigungen",
"description": "Benachrichtigungshistorie von einer Integration anzeigen",
"noItems": "Keine Benachrichtigungen zum Anzeigen.",
"option": {}
"option": {
"hideLogos": {
"label": ""
}
}
},
"speedtestTracker": {
"name": "Speedtest Tracker",
@@ -3417,6 +3691,40 @@
"internalServerError": "Fehler beim Abrufen der Laufzeit Daten"
}
},
"traefik": {
"name": "",
"description": "",
"option": {
"showTcp": {
"label": ""
},
"showUdp": {
"label": ""
},
"showEntryPoints": {
"label": ""
}
},
"instances": "",
"versionUnknown": "",
"summary": {
"routers": "",
"entryPoints": ""
},
"resource": {
"routers": "",
"services": "",
"middlewares": ""
},
"status": {
"healthy": "",
"errors": "",
"warnings": ""
},
"error": {
"internalServerError": ""
}
},
"audioStats": {
"name": "Audiostatistiken",
"description": "Bibliotheks- und Wiedergabestatistiken von Navidrome oder Audiobookshelf",
@@ -3792,6 +4100,11 @@
"read": "",
"write": ""
},
"storage": {
"title": "",
"subtitle": "",
"series": ""
},
"network": {
"title": "",
"subtitle": "",
@@ -4924,6 +5237,9 @@
"title": "Container",
"table": {
"updated": "Aktualisiert {when}",
"refresh": {
"lastUpdated": ""
},
"search": "{count} Container durchsuchen",
"selected": "{selectCount} von {totalCount} ausgewählten Containern",
"footer": "Insgesamt {count} Container",
@@ -5652,6 +5968,14 @@
}
}
},
"enableRightClickOnWidgets": {
"label": "",
"children": {
"detail": {
"title": ""
}
}
},
"fullPreferencesPage": {
"label": "Alle Einstellungen öffnen"
}
+327 -3
View File
@@ -198,6 +198,10 @@
"pingIconsEnabled": {
"label": ""
},
"enableRightClickOnWidgets": {
"label": "",
"description": ""
},
"defaultSearchEngine": {
"label": "Προεπιλεγμένη μηχανή αναζήτησης"
},
@@ -1285,6 +1289,14 @@
"label": "Κλειδί API (Μυστικό)",
"newLabel": "Νέο Κλειδί API (Μυστικό)"
},
"patchmonApiKey": {
"label": "",
"newLabel": ""
},
"patchmonApiSecret": {
"label": "",
"newLabel": ""
},
"githubAppId": {
"label": "",
"newLabel": ""
@@ -1328,9 +1340,21 @@
}
}
},
"traefik": {
"name": "",
"description": ""
},
"paperlessNgx": {
"name": "",
"description": ""
},
"patchmon": {
"name": "",
"description": ""
},
"bazarr": {
"name": "",
"description": ""
}
},
"media": {
@@ -1602,6 +1626,12 @@
"refresh": "",
"options": "",
"actions": ""
},
"status": {
"success": "",
"error": "",
"loading": "",
"idle": ""
}
},
"create": {
@@ -1875,6 +1905,16 @@
"customDateFormat": {
"label": "",
"description": ""
},
"showWeather": {
"label": "",
"description": ""
},
"weatherLocation": {
"label": ""
},
"isWeatherFormatFahrenheit": {
"label": ""
}
}
},
@@ -1936,6 +1976,8 @@
"clear": "Εκκαθάριση μορφοποίησης",
"heading": "Επικεφαλίδα {level}",
"align": "Στοίχιση κειμένου: {position}",
"directionLtr": "",
"directionRtl": "",
"blockquote": "Μπλοκ κειμένου παράθεσης",
"horizontalLine": "Οριζόντια γραμμή",
"bulletList": "Λίστα με κουκκίδες",
@@ -2225,7 +2267,8 @@
"sunrise": "",
"sunset": "",
"maxWindSpeed": "",
"maxWindGusts": ""
"maxWindGusts": "",
"humidity": ""
},
"kind": {
"clear": "Καθαρός",
@@ -2689,6 +2732,11 @@
"user": "",
"name": "",
"id": "",
"status": "",
"directPlay": "",
"transcoding": "",
"paused": "",
"remaining": "",
"metadata": {
"title": "",
"video": {
@@ -2754,6 +2802,193 @@
"internalServerError": ""
}
},
"patchmon": {
"name": "",
"description": "",
"title": "",
"totalHosts": "",
"hostsNeedingUpdates": "",
"securityUpdates": "",
"upToDateHosts": "",
"hostsWithSecurityUpdates": "",
"recentUpdates24h": "",
"totalOutdatedPackages": "",
"totalRepos": "",
"osDistribution": "",
"compliance": "",
"complianceRatio": "",
"lastUpdated": "",
"option": {
"showTotalHosts": {
"label": "",
"description": ""
},
"showHostsNeedingUpdates": {
"label": "",
"description": ""
},
"showSecurityUpdates": {
"label": "",
"description": ""
},
"showUpToDateHosts": {
"label": "",
"description": ""
},
"showHostsWithSecurityUpdates": {
"label": "",
"description": ""
},
"showRecentUpdates24h": {
"label": "",
"description": ""
},
"showTotalOutdatedPackages": {
"label": "",
"description": ""
},
"showTotalRepos": {
"label": "",
"description": ""
},
"enableThresholdColors": {
"label": "",
"description": ""
},
"useCustomThresholds": {
"label": "",
"description": ""
},
"thresholdMode": {
"option": {
"absolute": "",
"percent": ""
}
},
"hostsNeedingUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesCriticalAt": {
"label": "",
"description": ""
},
"securityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"securityUpdatesWarningAt": {
"label": "",
"description": ""
},
"securityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"upToDateHostsThresholdMode": {
"label": "",
"description": ""
},
"upToDateHostsWarningAt": {
"label": "",
"description": ""
},
"upToDateHostsCriticalAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesThresholdMode": {
"label": "",
"description": ""
},
"totalOutdatedPackagesWarningAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesCriticalAt": {
"label": "",
"description": ""
},
"showOsDistribution": {
"label": "",
"description": ""
},
"osDistributionLimit": {
"label": "",
"description": "",
"option": {
"3": "",
"5": "",
"10": "",
"all": ""
}
},
"showOsVersion": {
"label": "",
"description": ""
},
"showComplianceHero": {
"label": "",
"description": ""
},
"osDisplayMode": {
"label": "",
"description": "",
"option": {
"bars": "",
"donut": ""
}
}
},
"error": {
"internalServerError": ""
}
},
"bazarr": {
"name": "",
"description": "",
"episodes": "",
"movies": "",
"providers": "",
"status": "",
"option": {
"showMissingEpisodes": {
"label": "",
"description": ""
},
"showMissingMovies": {
"label": "",
"description": ""
},
"showProviderIssues": {
"label": "",
"description": ""
},
"showHealthIssues": {
"label": "",
"description": ""
}
},
"error": {
"internalServerError": ""
}
},
"immich-serverStats": {
"name": "",
"description": "",
@@ -2782,6 +3017,7 @@
},
"immich-albumCarousel": {
"name": "",
"allPhotos": "",
"option": {
"albumId": {
"label": "",
@@ -2801,7 +3037,6 @@
}
},
"description": "",
"noAlbumSelected": "",
"noPhotos": ""
},
"downloads": {
@@ -2986,6 +3221,12 @@
"option": {
"linksTargetNewTab": {
"label": "Άνοιγμα συνδέσμων σε νέα καρτέλα"
},
"statusFilter": {
"label": ""
},
"recentDays": {
"label": ""
}
},
"pending": {
@@ -3093,6 +3334,35 @@
}
}
},
"mediaMissing": {
"name": "",
"description": "",
"option": {
"showMissing": {
"label": ""
},
"showQueued": {
"label": ""
},
"pageSize": {
"label": ""
}
},
"tab": {
"missing": "",
"queued": ""
},
"type": {
"movie": "",
"episode": ""
},
"empty": {
"missing": "",
"queued": "",
"noTabsEnabled": ""
},
"timeLeft": ""
},
"rssFeed": {
"name": "",
"description": "",
@@ -3336,7 +3606,11 @@
"name": "",
"description": "",
"noItems": "",
"option": {}
"option": {
"hideLogos": {
"label": ""
}
}
},
"speedtestTracker": {
"name": "",
@@ -3417,6 +3691,40 @@
"internalServerError": ""
}
},
"traefik": {
"name": "",
"description": "",
"option": {
"showTcp": {
"label": ""
},
"showUdp": {
"label": ""
},
"showEntryPoints": {
"label": ""
}
},
"instances": "",
"versionUnknown": "",
"summary": {
"routers": "",
"entryPoints": ""
},
"resource": {
"routers": "",
"services": "",
"middlewares": ""
},
"status": {
"healthy": "",
"errors": "",
"warnings": ""
},
"error": {
"internalServerError": ""
}
},
"audioStats": {
"name": "",
"description": "",
@@ -3792,6 +4100,11 @@
"read": "",
"write": ""
},
"storage": {
"title": "",
"subtitle": "",
"series": ""
},
"network": {
"title": "",
"subtitle": "",
@@ -4924,6 +5237,9 @@
"title": "",
"table": {
"updated": "",
"refresh": {
"lastUpdated": ""
},
"search": "",
"selected": "",
"footer": "",
@@ -5652,6 +5968,14 @@
}
}
},
"enableRightClickOnWidgets": {
"label": "",
"children": {
"detail": {
"title": ""
}
}
},
"fullPreferencesPage": {
"label": ""
}
+389 -71
View File
@@ -198,6 +198,10 @@
"pingIconsEnabled": {
"label": "Use icons for pings"
},
"enableRightClickOnWidgets": {
"label": "Enable right-click on widgets",
"description": "Show Homarr's context menu when right-clicking a widget. Disable to use the browser's default menu (e.g. \"Open link in new tab\")."
},
"defaultSearchEngine": {
"label": "Default search engine"
},
@@ -709,76 +713,76 @@
"addMapping": "Add Mapping",
"addColumn": "Add Column",
"edit": "Edit",
"removeMapping": "",
"removeColumn": "",
"addItem": "",
"removeItem": "",
"addBar": "",
"duplicate": "",
"copyAiPrompt": "",
"enable": "",
"disable": "",
"menu": ""
"removeMapping": "Remove mapping",
"removeColumn": "Remove column",
"addItem": "Add Item",
"removeItem": "Remove item",
"addBar": "Add Bar",
"duplicate": "Duplicate",
"copyAiPrompt": "Copy AI prompt",
"enable": "Enable",
"disable": "Disable",
"menu": "Actions"
},
"field": {
"name": "",
"description": "",
"iconUrl": "",
"url": "",
"authType": "",
"headerName": "",
"method": "",
"requestBody": "",
"displayType": "",
"jsonPath": "",
"jsonPathHint": "",
"label": "",
"unit": "",
"mappings": "",
"tablePath": "",
"tablePathHint": "",
"columns": "",
"header": "",
"items": "",
"gridColumns": "",
"cardStyle": "",
"bars": "",
"valuePath": "",
"maxPath": "",
"showPercentage": "",
"barSize": "",
"goodValues": "",
"dotSize": "",
"valueSize": "",
"labelPosition": "",
"kvLayout": "",
"striped": "",
"compact": "",
"maxHeight": "",
"color": "",
"buttonLabel": "",
"buttonColor": "",
"confirmText": "",
"confirmTextHint": "",
"successMessage": "",
"successMessageHint": "",
"enabled": "",
"name": "Name",
"description": "Description",
"iconUrl": "Icon URL",
"url": "URL",
"authType": "Auth Type",
"headerName": "Header/Query Parameter Name",
"method": "Method",
"requestBody": "Request Body",
"displayType": "Display Type",
"jsonPath": "JSON Path",
"jsonPathHint": "Use JSONPath syntax to extract values, e.g. $.data.temperature or $.items[0].name",
"label": "Label",
"unit": "Unit",
"mappings": "Mappings",
"tablePath": "Array JSON Path",
"tablePathHint": "Path to the array in the response, e.g. $.data.items",
"columns": "Columns",
"header": "Header",
"items": "Items",
"gridColumns": "Grid Columns",
"cardStyle": "Card Style",
"bars": "Bars",
"valuePath": "Value JSON Path",
"maxPath": "Max Value JSON Path",
"showPercentage": "Show Percentage",
"barSize": "Bar Size",
"goodValues": "Good Values (comma-separated)",
"dotSize": "Dot Size",
"valueSize": "Value Size",
"labelPosition": "Label Position",
"kvLayout": "Layout",
"striped": "Striped Rows",
"compact": "Compact Mode",
"maxHeight": "Max Height (px)",
"color": "Colour",
"buttonLabel": "Button Label",
"buttonColor": "Button Colour",
"confirmText": "Confirmation Text",
"confirmTextHint": "If set, a confirmation dialogue will appear before executing the request",
"successMessage": "Success Message",
"successMessageHint": "Message shown after successful execution",
"enabled": "Enabled",
"template": {
"label": "",
"description": ""
"label": "JSX Template",
"description": "Mantine JSX template. Access API response fields via data bindings (e.g. data.name). Use whitelisted components only. Forbidden: constructor, __proto__, eval, Function, window, document."
}
},
"placeholder": {
"exampleLabel": "",
"exampleLabelShort": "",
"exampleHeader": "",
"exampleUnit": "",
"iconUrl": "",
"url": "",
"headerName": "",
"jsonPath": "",
"tablePath": "",
"columnJsonPath": "",
"exampleLabel": "CPU Temperature",
"exampleLabelShort": "CPU Temp",
"exampleHeader": "Name",
"exampleUnit": "°C",
"iconUrl": "https://...",
"url": "https://api.example.com/api/v1/status",
"headerName": "X-API-Key",
"jsonPath": "$.data.value",
"tablePath": "$.data.items",
"columnJsonPath": "$.name",
"valuePath": "",
"maxPath": "",
"goodValues": "",
@@ -1285,6 +1289,14 @@
"label": "API Key (Secret)",
"newLabel": "New API Key (Secret)"
},
"patchmonApiKey": {
"label": "",
"newLabel": ""
},
"patchmonApiSecret": {
"label": "",
"newLabel": ""
},
"githubAppId": {
"label": "App Id",
"newLabel": "New App Id"
@@ -1328,9 +1340,21 @@
}
}
},
"traefik": {
"name": "",
"description": ""
},
"paperlessNgx": {
"name": "",
"description": ""
},
"patchmon": {
"name": "",
"description": ""
},
"bazarr": {
"name": "",
"description": ""
}
},
"media": {
@@ -1598,7 +1622,7 @@
},
"menu": {
"label": {
"settings": "",
"settings": "Settings",
"refresh": "",
"options": "",
"actions": ""
@@ -1881,6 +1905,16 @@
"customDateFormat": {
"label": "Custom date format",
"description": "Use ISO 8601 to format date (this will override other options)"
},
"showWeather": {
"label": "",
"description": ""
},
"weatherLocation": {
"label": ""
},
"isWeatherFormatFahrenheit": {
"label": ""
}
}
},
@@ -1942,6 +1976,8 @@
"clear": "Clear formatting",
"heading": "Heading {level}",
"align": "Align text: {position}",
"directionLtr": "",
"directionRtl": "",
"blockquote": "Blockquote",
"horizontalLine": "Horizontal line",
"bulletList": "Bullet list",
@@ -2231,7 +2267,8 @@
"sunrise": "Sunrise",
"sunset": "Sunset",
"maxWindSpeed": "Max wind speed: {maxWindSpeed} {unit}",
"maxWindGusts": "Max wind gusts: {maxWindGusts} {unit}"
"maxWindGusts": "Max wind gusts: {maxWindGusts} {unit}",
"humidity": ""
},
"kind": {
"clear": "Clear",
@@ -2695,6 +2732,11 @@
"user": "User",
"name": "Name",
"id": "Id",
"status": "",
"directPlay": "",
"transcoding": "",
"paused": "",
"remaining": "",
"metadata": {
"title": "Stats for nerds",
"video": {
@@ -2760,6 +2802,193 @@
"internalServerError": ""
}
},
"patchmon": {
"name": "",
"description": "",
"title": "",
"totalHosts": "",
"hostsNeedingUpdates": "",
"securityUpdates": "",
"upToDateHosts": "",
"hostsWithSecurityUpdates": "",
"recentUpdates24h": "",
"totalOutdatedPackages": "",
"totalRepos": "",
"osDistribution": "",
"compliance": "",
"complianceRatio": "",
"lastUpdated": "",
"option": {
"showTotalHosts": {
"label": "",
"description": ""
},
"showHostsNeedingUpdates": {
"label": "",
"description": ""
},
"showSecurityUpdates": {
"label": "",
"description": ""
},
"showUpToDateHosts": {
"label": "",
"description": ""
},
"showHostsWithSecurityUpdates": {
"label": "",
"description": ""
},
"showRecentUpdates24h": {
"label": "",
"description": ""
},
"showTotalOutdatedPackages": {
"label": "",
"description": ""
},
"showTotalRepos": {
"label": "",
"description": ""
},
"enableThresholdColors": {
"label": "",
"description": ""
},
"useCustomThresholds": {
"label": "",
"description": ""
},
"thresholdMode": {
"option": {
"absolute": "",
"percent": ""
}
},
"hostsNeedingUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesCriticalAt": {
"label": "",
"description": ""
},
"securityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"securityUpdatesWarningAt": {
"label": "",
"description": ""
},
"securityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"upToDateHostsThresholdMode": {
"label": "",
"description": ""
},
"upToDateHostsWarningAt": {
"label": "",
"description": ""
},
"upToDateHostsCriticalAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesThresholdMode": {
"label": "",
"description": ""
},
"totalOutdatedPackagesWarningAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesCriticalAt": {
"label": "",
"description": ""
},
"showOsDistribution": {
"label": "",
"description": ""
},
"osDistributionLimit": {
"label": "",
"description": "",
"option": {
"3": "",
"5": "",
"10": "",
"all": ""
}
},
"showOsVersion": {
"label": "",
"description": ""
},
"showComplianceHero": {
"label": "",
"description": ""
},
"osDisplayMode": {
"label": "",
"description": "",
"option": {
"bars": "",
"donut": ""
}
}
},
"error": {
"internalServerError": ""
}
},
"bazarr": {
"name": "",
"description": "",
"episodes": "",
"movies": "",
"providers": "",
"status": "",
"option": {
"showMissingEpisodes": {
"label": "",
"description": ""
},
"showMissingMovies": {
"label": "",
"description": ""
},
"showProviderIssues": {
"label": "",
"description": ""
},
"showHealthIssues": {
"label": "",
"description": ""
}
},
"error": {
"internalServerError": ""
}
},
"immich-serverStats": {
"name": "Immich Server Stats",
"description": "Information about your Immich instance",
@@ -2788,6 +3017,7 @@
},
"immich-albumCarousel": {
"name": "Immich Album",
"allPhotos": "",
"option": {
"albumId": {
"label": "Album ID",
@@ -2807,7 +3037,6 @@
}
},
"description": "",
"noAlbumSelected": "",
"noPhotos": ""
},
"downloads": {
@@ -2992,6 +3221,12 @@
"option": {
"linksTargetNewTab": {
"label": ""
},
"statusFilter": {
"label": ""
},
"recentDays": {
"label": ""
}
},
"pending": {
@@ -3099,6 +3334,35 @@
}
}
},
"mediaMissing": {
"name": "",
"description": "",
"option": {
"showMissing": {
"label": ""
},
"showQueued": {
"label": ""
},
"pageSize": {
"label": ""
}
},
"tab": {
"missing": "",
"queued": ""
},
"type": {
"movie": "",
"episode": ""
},
"empty": {
"missing": "",
"queued": "",
"noTabsEnabled": ""
},
"timeLeft": ""
},
"rssFeed": {
"name": "",
"description": "",
@@ -3342,7 +3606,11 @@
"name": "",
"description": "",
"noItems": "",
"option": {}
"option": {
"hideLogos": {
"label": ""
}
}
},
"speedtestTracker": {
"name": "",
@@ -3423,6 +3691,40 @@
"internalServerError": ""
}
},
"traefik": {
"name": "",
"description": "",
"option": {
"showTcp": {
"label": ""
},
"showUdp": {
"label": ""
},
"showEntryPoints": {
"label": ""
}
},
"instances": "",
"versionUnknown": "",
"summary": {
"routers": "",
"entryPoints": ""
},
"resource": {
"routers": "",
"services": "",
"middlewares": ""
},
"status": {
"healthy": "",
"errors": "",
"warnings": ""
},
"error": {
"internalServerError": ""
}
},
"audioStats": {
"name": "",
"description": "",
@@ -3798,6 +4100,11 @@
"read": "",
"write": ""
},
"storage": {
"title": "",
"subtitle": "",
"series": ""
},
"network": {
"title": "",
"subtitle": "",
@@ -4930,6 +5237,9 @@
"title": "",
"table": {
"updated": "",
"refresh": {
"lastUpdated": ""
},
"search": "",
"selected": "",
"footer": "",
@@ -5584,10 +5894,10 @@
},
"searchEngine": {
"none": "",
"unavailable": ""
"unavailable": "Currently selected (unavailable)"
},
"colorScheme": {
"label": "",
"label": "Colour scheme",
"children": {
"detail": {
"title": "Select your colour scheme"
@@ -5658,8 +5968,16 @@
}
}
},
"enableRightClickOnWidgets": {
"label": "Enable right-click on widgets",
"children": {
"detail": {
"title": "Enable right-click on widgets"
}
}
},
"fullPreferencesPage": {
"label": ""
"label": "Open full preferences page"
}
}
}
+16 -5
View File
@@ -1905,6 +1905,16 @@
"customDateFormat": {
"label": "Custom date format",
"description": "Use ISO 8601 to format date (this will override other options)"
},
"showWeather": {
"label": "Show weather",
"description": "Display a small animated weather icon and temperature in the corner of the card"
},
"weatherLocation": {
"label": "Weather location"
},
"isWeatherFormatFahrenheit": {
"label": "Use Fahrenheit"
}
}
},
@@ -2257,7 +2267,8 @@
"sunrise": "Sunrise",
"sunset": "Sunset",
"maxWindSpeed": "Max wind speed: {maxWindSpeed} {unit}",
"maxWindGusts": "Max wind gusts: {maxWindGusts} {unit}"
"maxWindGusts": "Max wind gusts: {maxWindGusts} {unit}",
"humidity": "Humidity: {humidity}%"
},
"kind": {
"clear": "Clear",
@@ -3006,10 +3017,11 @@
},
"immich-albumCarousel": {
"name": "Immich Album",
"allPhotos": "All photos",
"option": {
"albumId": {
"label": "Album",
"description": "Select the Immich album to show in the slideshow."
"description": "Select an Immich album or All photos. An empty selection also shows random photos from your full library."
},
"rotationIntervalSeconds": {
"label": "Interval in seconds",
@@ -3024,9 +3036,8 @@
"description": "Show photos in a random order instead of always starting with the same album order."
}
},
"description": "Slideshow of pictures in your Immich album",
"noAlbumSelected": "No album selected, edit widget and choose an album",
"noPhotos": "No photos in this album"
"description": "Slideshow of pictures from an Immich album or your full library",
"noPhotos": "No photos found"
},
"downloads": {
"name": "Download Client",
+327 -3
View File
@@ -198,6 +198,10 @@
"pingIconsEnabled": {
"label": "Usar iconos para pings"
},
"enableRightClickOnWidgets": {
"label": "",
"description": ""
},
"defaultSearchEngine": {
"label": "Motor de búsqueda predeterminado"
},
@@ -1285,6 +1289,14 @@
"label": "Clave API (Credencial)",
"newLabel": "Nueva clave API (Credencial)"
},
"patchmonApiKey": {
"label": "",
"newLabel": ""
},
"patchmonApiSecret": {
"label": "",
"newLabel": ""
},
"githubAppId": {
"label": "ID de aplicación",
"newLabel": "Nuevo ID de aplicación"
@@ -1328,9 +1340,21 @@
}
}
},
"traefik": {
"name": "",
"description": ""
},
"paperlessNgx": {
"name": "",
"description": ""
},
"patchmon": {
"name": "",
"description": ""
},
"bazarr": {
"name": "",
"description": ""
}
},
"media": {
@@ -1602,6 +1626,12 @@
"refresh": "",
"options": "",
"actions": ""
},
"status": {
"success": "",
"error": "",
"loading": "",
"idle": ""
}
},
"create": {
@@ -1875,6 +1905,16 @@
"customDateFormat": {
"label": "Formato de fecha personalizado",
"description": "Usar ISO 8601 para dar formato a la hora (esto anulará otras opciones)"
},
"showWeather": {
"label": "",
"description": ""
},
"weatherLocation": {
"label": ""
},
"isWeatherFormatFahrenheit": {
"label": ""
}
}
},
@@ -1936,6 +1976,8 @@
"clear": "Borrar formato",
"heading": "Encabezado {level}",
"align": "Alinear texto: {position}",
"directionLtr": "",
"directionRtl": "",
"blockquote": "Cita",
"horizontalLine": "Línea horizontal",
"bulletList": "Lista sin ordenar",
@@ -2225,7 +2267,8 @@
"sunrise": "Amanecer",
"sunset": "Atardecer",
"maxWindSpeed": "Velocidad máxima del viento: {maxWindSpeed} {unit}",
"maxWindGusts": "Máximas ráfagas de viento: {maxWindGusts} {unit}"
"maxWindGusts": "Máximas ráfagas de viento: {maxWindGusts} {unit}",
"humidity": ""
},
"kind": {
"clear": "Despejado",
@@ -2689,6 +2732,11 @@
"user": "Usuario",
"name": "Nombre",
"id": "ID",
"status": "",
"directPlay": "",
"transcoding": "",
"paused": "",
"remaining": "",
"metadata": {
"title": "Estadísticas",
"video": {
@@ -2754,6 +2802,193 @@
"internalServerError": ""
}
},
"patchmon": {
"name": "",
"description": "",
"title": "",
"totalHosts": "",
"hostsNeedingUpdates": "",
"securityUpdates": "",
"upToDateHosts": "",
"hostsWithSecurityUpdates": "",
"recentUpdates24h": "",
"totalOutdatedPackages": "",
"totalRepos": "",
"osDistribution": "",
"compliance": "",
"complianceRatio": "",
"lastUpdated": "",
"option": {
"showTotalHosts": {
"label": "",
"description": ""
},
"showHostsNeedingUpdates": {
"label": "",
"description": ""
},
"showSecurityUpdates": {
"label": "",
"description": ""
},
"showUpToDateHosts": {
"label": "",
"description": ""
},
"showHostsWithSecurityUpdates": {
"label": "",
"description": ""
},
"showRecentUpdates24h": {
"label": "",
"description": ""
},
"showTotalOutdatedPackages": {
"label": "",
"description": ""
},
"showTotalRepos": {
"label": "",
"description": ""
},
"enableThresholdColors": {
"label": "",
"description": ""
},
"useCustomThresholds": {
"label": "",
"description": ""
},
"thresholdMode": {
"option": {
"absolute": "",
"percent": ""
}
},
"hostsNeedingUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesCriticalAt": {
"label": "",
"description": ""
},
"securityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"securityUpdatesWarningAt": {
"label": "",
"description": ""
},
"securityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"upToDateHostsThresholdMode": {
"label": "",
"description": ""
},
"upToDateHostsWarningAt": {
"label": "",
"description": ""
},
"upToDateHostsCriticalAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesThresholdMode": {
"label": "",
"description": ""
},
"totalOutdatedPackagesWarningAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesCriticalAt": {
"label": "",
"description": ""
},
"showOsDistribution": {
"label": "",
"description": ""
},
"osDistributionLimit": {
"label": "",
"description": "",
"option": {
"3": "",
"5": "",
"10": "",
"all": ""
}
},
"showOsVersion": {
"label": "",
"description": ""
},
"showComplianceHero": {
"label": "",
"description": ""
},
"osDisplayMode": {
"label": "",
"description": "",
"option": {
"bars": "",
"donut": ""
}
}
},
"error": {
"internalServerError": ""
}
},
"bazarr": {
"name": "",
"description": "",
"episodes": "",
"movies": "",
"providers": "",
"status": "",
"option": {
"showMissingEpisodes": {
"label": "",
"description": ""
},
"showMissingMovies": {
"label": "",
"description": ""
},
"showProviderIssues": {
"label": "",
"description": ""
},
"showHealthIssues": {
"label": "",
"description": ""
}
},
"error": {
"internalServerError": ""
}
},
"immich-serverStats": {
"name": "Estadísticas del servidor Immich",
"description": "Información del servidor Immich",
@@ -2782,6 +3017,7 @@
},
"immich-albumCarousel": {
"name": "Álbum de Immich",
"allPhotos": "",
"option": {
"albumId": {
"label": "ID de álbum",
@@ -2801,7 +3037,6 @@
}
},
"description": "Presentación de fotos de un álbum de Immich",
"noAlbumSelected": "No se ha seleccionado ningún álbum. Edita el widget y selecciona uno.",
"noPhotos": "No hay fotos en este álbum"
},
"downloads": {
@@ -2986,6 +3221,12 @@
"option": {
"linksTargetNewTab": {
"label": "Abrir enlaces en una pestaña nueva"
},
"statusFilter": {
"label": ""
},
"recentDays": {
"label": ""
}
},
"pending": {
@@ -3093,6 +3334,35 @@
}
}
},
"mediaMissing": {
"name": "",
"description": "",
"option": {
"showMissing": {
"label": ""
},
"showQueued": {
"label": ""
},
"pageSize": {
"label": ""
}
},
"tab": {
"missing": "",
"queued": ""
},
"type": {
"movie": "",
"episode": ""
},
"empty": {
"missing": "",
"queued": "",
"noTabsEnabled": ""
},
"timeLeft": ""
},
"rssFeed": {
"name": "Fuentes RSS",
"description": "Monitorear y mostrar una o más RSS genéricas, ATOM o JSON",
@@ -3336,7 +3606,11 @@
"name": "Notificaciones",
"description": "Mostrar el historial de notificaciones desde una integración",
"noItems": "Ninguna notificación para mostrar.",
"option": {}
"option": {
"hideLogos": {
"label": ""
}
}
},
"speedtestTracker": {
"name": "Speedtest Tracker",
@@ -3417,6 +3691,40 @@
"internalServerError": ""
}
},
"traefik": {
"name": "",
"description": "",
"option": {
"showTcp": {
"label": ""
},
"showUdp": {
"label": ""
},
"showEntryPoints": {
"label": ""
}
},
"instances": "",
"versionUnknown": "",
"summary": {
"routers": "",
"entryPoints": ""
},
"resource": {
"routers": "",
"services": "",
"middlewares": ""
},
"status": {
"healthy": "",
"errors": "",
"warnings": ""
},
"error": {
"internalServerError": ""
}
},
"audioStats": {
"name": "",
"description": "",
@@ -3792,6 +4100,11 @@
"read": "",
"write": ""
},
"storage": {
"title": "",
"subtitle": "",
"series": ""
},
"network": {
"title": "",
"subtitle": "",
@@ -4924,6 +5237,9 @@
"title": "Contenedores",
"table": {
"updated": "Actualizado {when}",
"refresh": {
"lastUpdated": ""
},
"search": "Buscar {count} contenedores",
"selected": "{selectCount} de {totalCount} contenedores seleccionados",
"footer": "{count} contenedores en total",
@@ -5652,6 +5968,14 @@
}
}
},
"enableRightClickOnWidgets": {
"label": "",
"children": {
"detail": {
"title": ""
}
}
},
"fullPreferencesPage": {
"label": ""
}
+327 -3
View File
@@ -198,6 +198,10 @@
"pingIconsEnabled": {
"label": ""
},
"enableRightClickOnWidgets": {
"label": "",
"description": ""
},
"defaultSearchEngine": {
"label": ""
},
@@ -1285,6 +1289,14 @@
"label": "",
"newLabel": ""
},
"patchmonApiKey": {
"label": "",
"newLabel": ""
},
"patchmonApiSecret": {
"label": "",
"newLabel": ""
},
"githubAppId": {
"label": "",
"newLabel": ""
@@ -1328,9 +1340,21 @@
}
}
},
"traefik": {
"name": "",
"description": ""
},
"paperlessNgx": {
"name": "",
"description": ""
},
"patchmon": {
"name": "",
"description": ""
},
"bazarr": {
"name": "",
"description": ""
}
},
"media": {
@@ -1602,6 +1626,12 @@
"refresh": "",
"options": "",
"actions": ""
},
"status": {
"success": "",
"error": "",
"loading": "",
"idle": ""
}
},
"create": {
@@ -1875,6 +1905,16 @@
"customDateFormat": {
"label": "",
"description": ""
},
"showWeather": {
"label": "",
"description": ""
},
"weatherLocation": {
"label": ""
},
"isWeatherFormatFahrenheit": {
"label": ""
}
}
},
@@ -1936,6 +1976,8 @@
"clear": "",
"heading": "",
"align": "",
"directionLtr": "",
"directionRtl": "",
"blockquote": "",
"horizontalLine": "",
"bulletList": "",
@@ -2225,7 +2267,8 @@
"sunrise": "",
"sunset": "",
"maxWindSpeed": "",
"maxWindGusts": ""
"maxWindGusts": "",
"humidity": ""
},
"kind": {
"clear": "",
@@ -2689,6 +2732,11 @@
"user": "",
"name": "",
"id": "",
"status": "",
"directPlay": "",
"transcoding": "",
"paused": "",
"remaining": "",
"metadata": {
"title": "",
"video": {
@@ -2754,6 +2802,193 @@
"internalServerError": ""
}
},
"patchmon": {
"name": "",
"description": "",
"title": "",
"totalHosts": "",
"hostsNeedingUpdates": "",
"securityUpdates": "",
"upToDateHosts": "",
"hostsWithSecurityUpdates": "",
"recentUpdates24h": "",
"totalOutdatedPackages": "",
"totalRepos": "",
"osDistribution": "",
"compliance": "",
"complianceRatio": "",
"lastUpdated": "",
"option": {
"showTotalHosts": {
"label": "",
"description": ""
},
"showHostsNeedingUpdates": {
"label": "",
"description": ""
},
"showSecurityUpdates": {
"label": "",
"description": ""
},
"showUpToDateHosts": {
"label": "",
"description": ""
},
"showHostsWithSecurityUpdates": {
"label": "",
"description": ""
},
"showRecentUpdates24h": {
"label": "",
"description": ""
},
"showTotalOutdatedPackages": {
"label": "",
"description": ""
},
"showTotalRepos": {
"label": "",
"description": ""
},
"enableThresholdColors": {
"label": "",
"description": ""
},
"useCustomThresholds": {
"label": "",
"description": ""
},
"thresholdMode": {
"option": {
"absolute": "",
"percent": ""
}
},
"hostsNeedingUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesCriticalAt": {
"label": "",
"description": ""
},
"securityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"securityUpdatesWarningAt": {
"label": "",
"description": ""
},
"securityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"upToDateHostsThresholdMode": {
"label": "",
"description": ""
},
"upToDateHostsWarningAt": {
"label": "",
"description": ""
},
"upToDateHostsCriticalAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesThresholdMode": {
"label": "",
"description": ""
},
"totalOutdatedPackagesWarningAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesCriticalAt": {
"label": "",
"description": ""
},
"showOsDistribution": {
"label": "",
"description": ""
},
"osDistributionLimit": {
"label": "",
"description": "",
"option": {
"3": "",
"5": "",
"10": "",
"all": ""
}
},
"showOsVersion": {
"label": "",
"description": ""
},
"showComplianceHero": {
"label": "",
"description": ""
},
"osDisplayMode": {
"label": "",
"description": "",
"option": {
"bars": "",
"donut": ""
}
}
},
"error": {
"internalServerError": ""
}
},
"bazarr": {
"name": "",
"description": "",
"episodes": "",
"movies": "",
"providers": "",
"status": "",
"option": {
"showMissingEpisodes": {
"label": "",
"description": ""
},
"showMissingMovies": {
"label": "",
"description": ""
},
"showProviderIssues": {
"label": "",
"description": ""
},
"showHealthIssues": {
"label": "",
"description": ""
}
},
"error": {
"internalServerError": ""
}
},
"immich-serverStats": {
"name": "",
"description": "",
@@ -2782,6 +3017,7 @@
},
"immich-albumCarousel": {
"name": "",
"allPhotos": "",
"option": {
"albumId": {
"label": "",
@@ -2801,7 +3037,6 @@
}
},
"description": "",
"noAlbumSelected": "",
"noPhotos": ""
},
"downloads": {
@@ -2986,6 +3221,12 @@
"option": {
"linksTargetNewTab": {
"label": ""
},
"statusFilter": {
"label": ""
},
"recentDays": {
"label": ""
}
},
"pending": {
@@ -3093,6 +3334,35 @@
}
}
},
"mediaMissing": {
"name": "",
"description": "",
"option": {
"showMissing": {
"label": ""
},
"showQueued": {
"label": ""
},
"pageSize": {
"label": ""
}
},
"tab": {
"missing": "",
"queued": ""
},
"type": {
"movie": "",
"episode": ""
},
"empty": {
"missing": "",
"queued": "",
"noTabsEnabled": ""
},
"timeLeft": ""
},
"rssFeed": {
"name": "",
"description": "",
@@ -3336,7 +3606,11 @@
"name": "",
"description": "",
"noItems": "",
"option": {}
"option": {
"hideLogos": {
"label": ""
}
}
},
"speedtestTracker": {
"name": "",
@@ -3417,6 +3691,40 @@
"internalServerError": ""
}
},
"traefik": {
"name": "",
"description": "",
"option": {
"showTcp": {
"label": ""
},
"showUdp": {
"label": ""
},
"showEntryPoints": {
"label": ""
}
},
"instances": "",
"versionUnknown": "",
"summary": {
"routers": "",
"entryPoints": ""
},
"resource": {
"routers": "",
"services": "",
"middlewares": ""
},
"status": {
"healthy": "",
"errors": "",
"warnings": ""
},
"error": {
"internalServerError": ""
}
},
"audioStats": {
"name": "",
"description": "",
@@ -3792,6 +4100,11 @@
"read": "",
"write": ""
},
"storage": {
"title": "",
"subtitle": "",
"series": ""
},
"network": {
"title": "",
"subtitle": "",
@@ -4924,6 +5237,9 @@
"title": "",
"table": {
"updated": "",
"refresh": {
"lastUpdated": ""
},
"search": "",
"selected": "",
"footer": "",
@@ -5652,6 +5968,14 @@
}
}
},
"enableRightClickOnWidgets": {
"label": "",
"children": {
"detail": {
"title": ""
}
}
},
"fullPreferencesPage": {
"label": ""
}
+327 -3
View File
@@ -198,6 +198,10 @@
"pingIconsEnabled": {
"label": "Käytä ping-kuvakkeita"
},
"enableRightClickOnWidgets": {
"label": "",
"description": ""
},
"defaultSearchEngine": {
"label": "Oletushakukone"
},
@@ -1285,6 +1289,14 @@
"label": "",
"newLabel": ""
},
"patchmonApiKey": {
"label": "",
"newLabel": ""
},
"patchmonApiSecret": {
"label": "",
"newLabel": ""
},
"githubAppId": {
"label": "Sovellustunniste",
"newLabel": "Uusi sovellustunniste"
@@ -1328,9 +1340,21 @@
}
}
},
"traefik": {
"name": "",
"description": ""
},
"paperlessNgx": {
"name": "",
"description": ""
},
"patchmon": {
"name": "",
"description": ""
},
"bazarr": {
"name": "",
"description": ""
}
},
"media": {
@@ -1602,6 +1626,12 @@
"refresh": "",
"options": "",
"actions": ""
},
"status": {
"success": "",
"error": "",
"loading": "",
"idle": ""
}
},
"create": {
@@ -1875,6 +1905,16 @@
"customDateFormat": {
"label": "Oma päiväyksen esitystapa",
"description": "Määritä ISO 8601 -standardin mukainen päiväyksen muoto (korvaa muut valinnat)."
},
"showWeather": {
"label": "",
"description": ""
},
"weatherLocation": {
"label": ""
},
"isWeatherFormatFahrenheit": {
"label": ""
}
}
},
@@ -1936,6 +1976,8 @@
"clear": "",
"heading": "",
"align": "",
"directionLtr": "",
"directionRtl": "",
"blockquote": "",
"horizontalLine": "",
"bulletList": "",
@@ -2225,7 +2267,8 @@
"sunrise": "Auringonnousu",
"sunset": "Auringonlasku",
"maxWindSpeed": "Tuulen nopeus: {maxWindSpeed} {unit}",
"maxWindGusts": "Puuskien nopeus: {maxWindSpeed} {unit}"
"maxWindGusts": "Puuskien nopeus: {maxWindSpeed} {unit}",
"humidity": ""
},
"kind": {
"clear": "",
@@ -2689,6 +2732,11 @@
"user": "",
"name": "",
"id": "",
"status": "",
"directPlay": "",
"transcoding": "",
"paused": "",
"remaining": "",
"metadata": {
"title": "",
"video": {
@@ -2754,6 +2802,193 @@
"internalServerError": ""
}
},
"patchmon": {
"name": "",
"description": "",
"title": "",
"totalHosts": "",
"hostsNeedingUpdates": "",
"securityUpdates": "",
"upToDateHosts": "",
"hostsWithSecurityUpdates": "",
"recentUpdates24h": "",
"totalOutdatedPackages": "",
"totalRepos": "",
"osDistribution": "",
"compliance": "",
"complianceRatio": "",
"lastUpdated": "",
"option": {
"showTotalHosts": {
"label": "",
"description": ""
},
"showHostsNeedingUpdates": {
"label": "",
"description": ""
},
"showSecurityUpdates": {
"label": "",
"description": ""
},
"showUpToDateHosts": {
"label": "",
"description": ""
},
"showHostsWithSecurityUpdates": {
"label": "",
"description": ""
},
"showRecentUpdates24h": {
"label": "",
"description": ""
},
"showTotalOutdatedPackages": {
"label": "",
"description": ""
},
"showTotalRepos": {
"label": "",
"description": ""
},
"enableThresholdColors": {
"label": "",
"description": ""
},
"useCustomThresholds": {
"label": "",
"description": ""
},
"thresholdMode": {
"option": {
"absolute": "",
"percent": ""
}
},
"hostsNeedingUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesCriticalAt": {
"label": "",
"description": ""
},
"securityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"securityUpdatesWarningAt": {
"label": "",
"description": ""
},
"securityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"upToDateHostsThresholdMode": {
"label": "",
"description": ""
},
"upToDateHostsWarningAt": {
"label": "",
"description": ""
},
"upToDateHostsCriticalAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesThresholdMode": {
"label": "",
"description": ""
},
"totalOutdatedPackagesWarningAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesCriticalAt": {
"label": "",
"description": ""
},
"showOsDistribution": {
"label": "",
"description": ""
},
"osDistributionLimit": {
"label": "",
"description": "",
"option": {
"3": "",
"5": "",
"10": "",
"all": ""
}
},
"showOsVersion": {
"label": "",
"description": ""
},
"showComplianceHero": {
"label": "",
"description": ""
},
"osDisplayMode": {
"label": "",
"description": "",
"option": {
"bars": "",
"donut": ""
}
}
},
"error": {
"internalServerError": ""
}
},
"bazarr": {
"name": "",
"description": "",
"episodes": "",
"movies": "",
"providers": "",
"status": "",
"option": {
"showMissingEpisodes": {
"label": "",
"description": ""
},
"showMissingMovies": {
"label": "",
"description": ""
},
"showProviderIssues": {
"label": "",
"description": ""
},
"showHealthIssues": {
"label": "",
"description": ""
}
},
"error": {
"internalServerError": ""
}
},
"immich-serverStats": {
"name": "",
"description": "",
@@ -2782,6 +3017,7 @@
},
"immich-albumCarousel": {
"name": "",
"allPhotos": "",
"option": {
"albumId": {
"label": "",
@@ -2801,7 +3037,6 @@
}
},
"description": "",
"noAlbumSelected": "",
"noPhotos": ""
},
"downloads": {
@@ -2986,6 +3221,12 @@
"option": {
"linksTargetNewTab": {
"label": "Avaa linkit uudessa välilehdessä"
},
"statusFilter": {
"label": ""
},
"recentDays": {
"label": ""
}
},
"pending": {
@@ -3093,6 +3334,35 @@
}
}
},
"mediaMissing": {
"name": "",
"description": "",
"option": {
"showMissing": {
"label": ""
},
"showQueued": {
"label": ""
},
"pageSize": {
"label": ""
}
},
"tab": {
"missing": "",
"queued": ""
},
"type": {
"movie": "",
"episode": ""
},
"empty": {
"missing": "",
"queued": "",
"noTabsEnabled": ""
},
"timeLeft": ""
},
"rssFeed": {
"name": "",
"description": "",
@@ -3336,7 +3606,11 @@
"name": "",
"description": "Näytä integraation ilmoitushistoria",
"noItems": "",
"option": {}
"option": {
"hideLogos": {
"label": ""
}
}
},
"speedtestTracker": {
"name": "",
@@ -3417,6 +3691,40 @@
"internalServerError": ""
}
},
"traefik": {
"name": "",
"description": "",
"option": {
"showTcp": {
"label": ""
},
"showUdp": {
"label": ""
},
"showEntryPoints": {
"label": ""
}
},
"instances": "",
"versionUnknown": "",
"summary": {
"routers": "",
"entryPoints": ""
},
"resource": {
"routers": "",
"services": "",
"middlewares": ""
},
"status": {
"healthy": "",
"errors": "",
"warnings": ""
},
"error": {
"internalServerError": ""
}
},
"audioStats": {
"name": "",
"description": "",
@@ -3792,6 +4100,11 @@
"read": "",
"write": ""
},
"storage": {
"title": "",
"subtitle": "",
"series": ""
},
"network": {
"title": "",
"subtitle": "",
@@ -4924,6 +5237,9 @@
"title": "Kontit",
"table": {
"updated": "Päivitetty {when}",
"refresh": {
"lastUpdated": ""
},
"search": "Suodata {count} konttia...",
"selected": "{selectCount}/{totalCount} kontista valittu",
"footer": "Yhteensä {count} konttia",
@@ -5652,6 +5968,14 @@
}
}
},
"enableRightClickOnWidgets": {
"label": "",
"children": {
"detail": {
"title": ""
}
}
},
"fullPreferencesPage": {
"label": "Avaa täysi asetussivu"
}
+327 -3
View File
@@ -198,6 +198,10 @@
"pingIconsEnabled": {
"label": "Utiliser les icônes pour les pings"
},
"enableRightClickOnWidgets": {
"label": "",
"description": ""
},
"defaultSearchEngine": {
"label": "Moteur de recherche par défaut"
},
@@ -1285,6 +1289,14 @@
"label": "Clé API (secrète)",
"newLabel": "Nouvelle clé API (secrète)"
},
"patchmonApiKey": {
"label": "",
"newLabel": ""
},
"patchmonApiSecret": {
"label": "",
"newLabel": ""
},
"githubAppId": {
"label": "Identifiant de l'application",
"newLabel": "Nouvel Id de l'Application"
@@ -1328,9 +1340,21 @@
}
}
},
"traefik": {
"name": "",
"description": ""
},
"paperlessNgx": {
"name": "",
"description": ""
},
"patchmon": {
"name": "",
"description": ""
},
"bazarr": {
"name": "",
"description": ""
}
},
"media": {
@@ -1602,6 +1626,12 @@
"refresh": "Actualiser",
"options": "Options",
"actions": "Actions"
},
"status": {
"success": "",
"error": "",
"loading": "",
"idle": ""
}
},
"create": {
@@ -1875,6 +1905,16 @@
"customDateFormat": {
"label": "Format de date personnalisé",
"description": "Utiliser ISO 8601 pour formater la date (cela remplacera les autres options)"
},
"showWeather": {
"label": "",
"description": ""
},
"weatherLocation": {
"label": ""
},
"isWeatherFormatFahrenheit": {
"label": ""
}
}
},
@@ -1936,6 +1976,8 @@
"clear": "Effacer la mise en forme",
"heading": "Titre {level}",
"align": "Aligner le texte : {position}",
"directionLtr": "",
"directionRtl": "",
"blockquote": "Citation",
"horizontalLine": "Ligne horizontale",
"bulletList": "Liste à puces",
@@ -2225,7 +2267,8 @@
"sunrise": "Lever du Soleil",
"sunset": "Coucher du soleil",
"maxWindSpeed": "Vitesse maximale du vent : {maxWindSpeed} km/h",
"maxWindGusts": "Rafales de vent maximales : {maxWindGusts} km/h"
"maxWindGusts": "Rafales de vent maximales : {maxWindGusts} km/h",
"humidity": ""
},
"kind": {
"clear": "Clair",
@@ -2689,6 +2732,11 @@
"user": "Utilisateur",
"name": "Nom",
"id": "Id",
"status": "",
"directPlay": "",
"transcoding": "",
"paused": "",
"remaining": "",
"metadata": {
"title": "Statistiques détaillées",
"video": {
@@ -2754,6 +2802,193 @@
"internalServerError": ""
}
},
"patchmon": {
"name": "",
"description": "",
"title": "",
"totalHosts": "",
"hostsNeedingUpdates": "",
"securityUpdates": "",
"upToDateHosts": "",
"hostsWithSecurityUpdates": "",
"recentUpdates24h": "",
"totalOutdatedPackages": "",
"totalRepos": "",
"osDistribution": "",
"compliance": "",
"complianceRatio": "",
"lastUpdated": "",
"option": {
"showTotalHosts": {
"label": "",
"description": ""
},
"showHostsNeedingUpdates": {
"label": "",
"description": ""
},
"showSecurityUpdates": {
"label": "",
"description": ""
},
"showUpToDateHosts": {
"label": "",
"description": ""
},
"showHostsWithSecurityUpdates": {
"label": "",
"description": ""
},
"showRecentUpdates24h": {
"label": "",
"description": ""
},
"showTotalOutdatedPackages": {
"label": "",
"description": ""
},
"showTotalRepos": {
"label": "",
"description": ""
},
"enableThresholdColors": {
"label": "",
"description": ""
},
"useCustomThresholds": {
"label": "",
"description": ""
},
"thresholdMode": {
"option": {
"absolute": "",
"percent": ""
}
},
"hostsNeedingUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesCriticalAt": {
"label": "",
"description": ""
},
"securityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"securityUpdatesWarningAt": {
"label": "",
"description": ""
},
"securityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"upToDateHostsThresholdMode": {
"label": "",
"description": ""
},
"upToDateHostsWarningAt": {
"label": "",
"description": ""
},
"upToDateHostsCriticalAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesThresholdMode": {
"label": "",
"description": ""
},
"totalOutdatedPackagesWarningAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesCriticalAt": {
"label": "",
"description": ""
},
"showOsDistribution": {
"label": "",
"description": ""
},
"osDistributionLimit": {
"label": "",
"description": "",
"option": {
"3": "",
"5": "",
"10": "",
"all": ""
}
},
"showOsVersion": {
"label": "",
"description": ""
},
"showComplianceHero": {
"label": "",
"description": ""
},
"osDisplayMode": {
"label": "",
"description": "",
"option": {
"bars": "",
"donut": ""
}
}
},
"error": {
"internalServerError": ""
}
},
"bazarr": {
"name": "",
"description": "",
"episodes": "",
"movies": "",
"providers": "",
"status": "",
"option": {
"showMissingEpisodes": {
"label": "",
"description": ""
},
"showMissingMovies": {
"label": "",
"description": ""
},
"showProviderIssues": {
"label": "",
"description": ""
},
"showHealthIssues": {
"label": "",
"description": ""
}
},
"error": {
"internalServerError": ""
}
},
"immich-serverStats": {
"name": "Statistiques du serveur Immich",
"description": "Informations sur votre instance Immich",
@@ -2782,6 +3017,7 @@
},
"immich-albumCarousel": {
"name": "Album Immich",
"allPhotos": "",
"option": {
"albumId": {
"label": "Identifiant de l'album",
@@ -2801,7 +3037,6 @@
}
},
"description": "Diaporama de photos dans votre album Immich",
"noAlbumSelected": "Aucun album sélectionné, modifier le widget et choisissez un album",
"noPhotos": "Aucune photo dans cet album"
},
"downloads": {
@@ -2986,6 +3221,12 @@
"option": {
"linksTargetNewTab": {
"label": "Ouvrir les liens dans un nouvel onglet"
},
"statusFilter": {
"label": ""
},
"recentDays": {
"label": ""
}
},
"pending": {
@@ -3093,6 +3334,35 @@
}
}
},
"mediaMissing": {
"name": "",
"description": "",
"option": {
"showMissing": {
"label": ""
},
"showQueued": {
"label": ""
},
"pageSize": {
"label": ""
}
},
"tab": {
"missing": "",
"queued": ""
},
"type": {
"movie": "",
"episode": ""
},
"empty": {
"missing": "",
"queued": "",
"noTabsEnabled": ""
},
"timeLeft": ""
},
"rssFeed": {
"name": "Flux RSS",
"description": "Surveiller et afficher un ou plusieurs flux RSS, ATOM ou JSON génériques",
@@ -3336,7 +3606,11 @@
"name": "Notifications",
"description": "Afficher l'historique des notifications à partir d'une intégration",
"noItems": "Aucune notification à afficher.",
"option": {}
"option": {
"hideLogos": {
"label": ""
}
}
},
"speedtestTracker": {
"name": "Suivi de test de vitesse",
@@ -3417,6 +3691,40 @@
"internalServerError": "Impossible de récupérer les données de disponibilité"
}
},
"traefik": {
"name": "",
"description": "",
"option": {
"showTcp": {
"label": ""
},
"showUdp": {
"label": ""
},
"showEntryPoints": {
"label": ""
}
},
"instances": "",
"versionUnknown": "",
"summary": {
"routers": "",
"entryPoints": ""
},
"resource": {
"routers": "",
"services": "",
"middlewares": ""
},
"status": {
"healthy": "",
"errors": "",
"warnings": ""
},
"error": {
"internalServerError": ""
}
},
"audioStats": {
"name": "Statistiques audio",
"description": "",
@@ -3792,6 +4100,11 @@
"read": "",
"write": ""
},
"storage": {
"title": "",
"subtitle": "",
"series": ""
},
"network": {
"title": "",
"subtitle": "",
@@ -4924,6 +5237,9 @@
"title": "Conteneurs",
"table": {
"updated": "Mis à jour {when}",
"refresh": {
"lastUpdated": ""
},
"search": "Rechercher dans {count} conteneurs",
"selected": "{selectCount} sur {totalCount} conteneurs sélectionnés",
"footer": "Total des conteneurs {count}",
@@ -5652,6 +5968,14 @@
}
}
},
"enableRightClickOnWidgets": {
"label": "",
"children": {
"detail": {
"title": ""
}
}
},
"fullPreferencesPage": {
"label": ""
}
+327 -3
View File
@@ -198,6 +198,10 @@
"pingIconsEnabled": {
"label": "השתמש בסמלים עבור פינגים"
},
"enableRightClickOnWidgets": {
"label": "",
"description": ""
},
"defaultSearchEngine": {
"label": "מנוע חיפוש ברירת מחדל"
},
@@ -1285,6 +1289,14 @@
"label": "מפתח API (סודי)",
"newLabel": "מפתח API חדש (סודי)"
},
"patchmonApiKey": {
"label": "",
"newLabel": ""
},
"patchmonApiSecret": {
"label": "",
"newLabel": ""
},
"githubAppId": {
"label": "מזהה אפליקציה",
"newLabel": "מזהה אפליקציה חדש"
@@ -1328,9 +1340,21 @@
}
}
},
"traefik": {
"name": "",
"description": ""
},
"paperlessNgx": {
"name": "",
"description": ""
},
"patchmon": {
"name": "",
"description": ""
},
"bazarr": {
"name": "",
"description": ""
}
},
"media": {
@@ -1602,6 +1626,12 @@
"refresh": "",
"options": "",
"actions": ""
},
"status": {
"success": "",
"error": "",
"loading": "",
"idle": ""
}
},
"create": {
@@ -1875,6 +1905,16 @@
"customDateFormat": {
"label": "פורמט זמן מותאם אישית",
"description": "השתמש ב-ISO 8601 כדי לעצב תצוגת זמן (זה ידרוס אפשרויות אחרות)"
},
"showWeather": {
"label": "",
"description": ""
},
"weatherLocation": {
"label": ""
},
"isWeatherFormatFahrenheit": {
"label": ""
}
}
},
@@ -1936,6 +1976,8 @@
"clear": "נקה עיצוב",
"heading": "כותרת {level}",
"align": "יישור טקסט: {position}",
"directionLtr": "",
"directionRtl": "",
"blockquote": "ציטוט",
"horizontalLine": "קו אופקי",
"bulletList": "רשימת תבליט",
@@ -2225,7 +2267,8 @@
"sunrise": "זריחה",
"sunset": "שקיעה",
"maxWindSpeed": "מהירות רוח מקסימלית: {maxWindSpeed} קמ״ש",
"maxWindGusts": "משבי רוח מקסימלים: {maxWindGusts} קמ״ש"
"maxWindGusts": "משבי רוח מקסימלים: {maxWindGusts} קמ״ש",
"humidity": ""
},
"kind": {
"clear": "בהיר",
@@ -2689,6 +2732,11 @@
"user": "משתמש",
"name": "שם",
"id": "מזהה",
"status": "",
"directPlay": "",
"transcoding": "",
"paused": "",
"remaining": "",
"metadata": {
"title": "סטטיסטיקות לחנונים",
"video": {
@@ -2754,6 +2802,193 @@
"internalServerError": ""
}
},
"patchmon": {
"name": "",
"description": "",
"title": "",
"totalHosts": "",
"hostsNeedingUpdates": "",
"securityUpdates": "",
"upToDateHosts": "",
"hostsWithSecurityUpdates": "",
"recentUpdates24h": "",
"totalOutdatedPackages": "",
"totalRepos": "",
"osDistribution": "",
"compliance": "",
"complianceRatio": "",
"lastUpdated": "",
"option": {
"showTotalHosts": {
"label": "",
"description": ""
},
"showHostsNeedingUpdates": {
"label": "",
"description": ""
},
"showSecurityUpdates": {
"label": "",
"description": ""
},
"showUpToDateHosts": {
"label": "",
"description": ""
},
"showHostsWithSecurityUpdates": {
"label": "",
"description": ""
},
"showRecentUpdates24h": {
"label": "",
"description": ""
},
"showTotalOutdatedPackages": {
"label": "",
"description": ""
},
"showTotalRepos": {
"label": "",
"description": ""
},
"enableThresholdColors": {
"label": "",
"description": ""
},
"useCustomThresholds": {
"label": "",
"description": ""
},
"thresholdMode": {
"option": {
"absolute": "",
"percent": ""
}
},
"hostsNeedingUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesCriticalAt": {
"label": "",
"description": ""
},
"securityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"securityUpdatesWarningAt": {
"label": "",
"description": ""
},
"securityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"upToDateHostsThresholdMode": {
"label": "",
"description": ""
},
"upToDateHostsWarningAt": {
"label": "",
"description": ""
},
"upToDateHostsCriticalAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesThresholdMode": {
"label": "",
"description": ""
},
"totalOutdatedPackagesWarningAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesCriticalAt": {
"label": "",
"description": ""
},
"showOsDistribution": {
"label": "",
"description": ""
},
"osDistributionLimit": {
"label": "",
"description": "",
"option": {
"3": "",
"5": "",
"10": "",
"all": ""
}
},
"showOsVersion": {
"label": "",
"description": ""
},
"showComplianceHero": {
"label": "",
"description": ""
},
"osDisplayMode": {
"label": "",
"description": "",
"option": {
"bars": "",
"donut": ""
}
}
},
"error": {
"internalServerError": ""
}
},
"bazarr": {
"name": "",
"description": "",
"episodes": "",
"movies": "",
"providers": "",
"status": "",
"option": {
"showMissingEpisodes": {
"label": "",
"description": ""
},
"showMissingMovies": {
"label": "",
"description": ""
},
"showProviderIssues": {
"label": "",
"description": ""
},
"showHealthIssues": {
"label": "",
"description": ""
}
},
"error": {
"internalServerError": ""
}
},
"immich-serverStats": {
"name": "",
"description": "",
@@ -2782,6 +3017,7 @@
},
"immich-albumCarousel": {
"name": "",
"allPhotos": "",
"option": {
"albumId": {
"label": "",
@@ -2801,7 +3037,6 @@
}
},
"description": "",
"noAlbumSelected": "",
"noPhotos": ""
},
"downloads": {
@@ -2986,6 +3221,12 @@
"option": {
"linksTargetNewTab": {
"label": "פתח לינק בלשונית חדשה"
},
"statusFilter": {
"label": ""
},
"recentDays": {
"label": ""
}
},
"pending": {
@@ -3093,6 +3334,35 @@
}
}
},
"mediaMissing": {
"name": "",
"description": "",
"option": {
"showMissing": {
"label": ""
},
"showQueued": {
"label": ""
},
"pageSize": {
"label": ""
}
},
"tab": {
"missing": "",
"queued": ""
},
"type": {
"movie": "",
"episode": ""
},
"empty": {
"missing": "",
"queued": "",
"noTabsEnabled": ""
},
"timeLeft": ""
},
"rssFeed": {
"name": "הזנות RSS",
"description": "מעקב והצג עדכוני RSS, ATOM או JSON גנרי אחד או יותר",
@@ -3336,7 +3606,11 @@
"name": "התראות",
"description": "הצגת היסטוריית התראות מאינטגרציה",
"noItems": "אין התראות להצגה.",
"option": {}
"option": {
"hideLogos": {
"label": ""
}
}
},
"speedtestTracker": {
"name": "",
@@ -3417,6 +3691,40 @@
"internalServerError": ""
}
},
"traefik": {
"name": "",
"description": "",
"option": {
"showTcp": {
"label": ""
},
"showUdp": {
"label": ""
},
"showEntryPoints": {
"label": ""
}
},
"instances": "",
"versionUnknown": "",
"summary": {
"routers": "",
"entryPoints": ""
},
"resource": {
"routers": "",
"services": "",
"middlewares": ""
},
"status": {
"healthy": "",
"errors": "",
"warnings": ""
},
"error": {
"internalServerError": ""
}
},
"audioStats": {
"name": "",
"description": "",
@@ -3792,6 +4100,11 @@
"read": "",
"write": ""
},
"storage": {
"title": "",
"subtitle": "",
"series": ""
},
"network": {
"title": "",
"subtitle": "",
@@ -4924,6 +5237,9 @@
"title": "מיכלים",
"table": {
"updated": "עודכן ב- {when}",
"refresh": {
"lastUpdated": ""
},
"search": "חפש {count} קונטיינרים",
"selected": "{selectCount} מ- {totalCount} קונטיינרים נבחרו",
"footer": "סה״כ {count} קונטיינרים",
@@ -5652,6 +5968,14 @@
}
}
},
"enableRightClickOnWidgets": {
"label": "",
"children": {
"detail": {
"title": ""
}
}
},
"fullPreferencesPage": {
"label": ""
}
+327 -3
View File
@@ -198,6 +198,10 @@
"pingIconsEnabled": {
"label": ""
},
"enableRightClickOnWidgets": {
"label": "",
"description": ""
},
"defaultSearchEngine": {
"label": ""
},
@@ -1285,6 +1289,14 @@
"label": "",
"newLabel": ""
},
"patchmonApiKey": {
"label": "",
"newLabel": ""
},
"patchmonApiSecret": {
"label": "",
"newLabel": ""
},
"githubAppId": {
"label": "",
"newLabel": ""
@@ -1328,9 +1340,21 @@
}
}
},
"traefik": {
"name": "",
"description": ""
},
"paperlessNgx": {
"name": "",
"description": ""
},
"patchmon": {
"name": "",
"description": ""
},
"bazarr": {
"name": "",
"description": ""
}
},
"media": {
@@ -1602,6 +1626,12 @@
"refresh": "",
"options": "",
"actions": ""
},
"status": {
"success": "",
"error": "",
"loading": "",
"idle": ""
}
},
"create": {
@@ -1875,6 +1905,16 @@
"customDateFormat": {
"label": "",
"description": ""
},
"showWeather": {
"label": "",
"description": ""
},
"weatherLocation": {
"label": ""
},
"isWeatherFormatFahrenheit": {
"label": ""
}
}
},
@@ -1936,6 +1976,8 @@
"clear": "",
"heading": "",
"align": "",
"directionLtr": "",
"directionRtl": "",
"blockquote": "",
"horizontalLine": "",
"bulletList": "",
@@ -2225,7 +2267,8 @@
"sunrise": "",
"sunset": "",
"maxWindSpeed": "",
"maxWindGusts": ""
"maxWindGusts": "",
"humidity": ""
},
"kind": {
"clear": "Vedro",
@@ -2689,6 +2732,11 @@
"user": "",
"name": "",
"id": "",
"status": "",
"directPlay": "",
"transcoding": "",
"paused": "",
"remaining": "",
"metadata": {
"title": "",
"video": {
@@ -2754,6 +2802,193 @@
"internalServerError": ""
}
},
"patchmon": {
"name": "",
"description": "",
"title": "",
"totalHosts": "",
"hostsNeedingUpdates": "",
"securityUpdates": "",
"upToDateHosts": "",
"hostsWithSecurityUpdates": "",
"recentUpdates24h": "",
"totalOutdatedPackages": "",
"totalRepos": "",
"osDistribution": "",
"compliance": "",
"complianceRatio": "",
"lastUpdated": "",
"option": {
"showTotalHosts": {
"label": "",
"description": ""
},
"showHostsNeedingUpdates": {
"label": "",
"description": ""
},
"showSecurityUpdates": {
"label": "",
"description": ""
},
"showUpToDateHosts": {
"label": "",
"description": ""
},
"showHostsWithSecurityUpdates": {
"label": "",
"description": ""
},
"showRecentUpdates24h": {
"label": "",
"description": ""
},
"showTotalOutdatedPackages": {
"label": "",
"description": ""
},
"showTotalRepos": {
"label": "",
"description": ""
},
"enableThresholdColors": {
"label": "",
"description": ""
},
"useCustomThresholds": {
"label": "",
"description": ""
},
"thresholdMode": {
"option": {
"absolute": "",
"percent": ""
}
},
"hostsNeedingUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesCriticalAt": {
"label": "",
"description": ""
},
"securityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"securityUpdatesWarningAt": {
"label": "",
"description": ""
},
"securityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"upToDateHostsThresholdMode": {
"label": "",
"description": ""
},
"upToDateHostsWarningAt": {
"label": "",
"description": ""
},
"upToDateHostsCriticalAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesThresholdMode": {
"label": "",
"description": ""
},
"totalOutdatedPackagesWarningAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesCriticalAt": {
"label": "",
"description": ""
},
"showOsDistribution": {
"label": "",
"description": ""
},
"osDistributionLimit": {
"label": "",
"description": "",
"option": {
"3": "",
"5": "",
"10": "",
"all": ""
}
},
"showOsVersion": {
"label": "",
"description": ""
},
"showComplianceHero": {
"label": "",
"description": ""
},
"osDisplayMode": {
"label": "",
"description": "",
"option": {
"bars": "",
"donut": ""
}
}
},
"error": {
"internalServerError": ""
}
},
"bazarr": {
"name": "",
"description": "",
"episodes": "",
"movies": "",
"providers": "",
"status": "",
"option": {
"showMissingEpisodes": {
"label": "",
"description": ""
},
"showMissingMovies": {
"label": "",
"description": ""
},
"showProviderIssues": {
"label": "",
"description": ""
},
"showHealthIssues": {
"label": "",
"description": ""
}
},
"error": {
"internalServerError": ""
}
},
"immich-serverStats": {
"name": "",
"description": "",
@@ -2782,6 +3017,7 @@
},
"immich-albumCarousel": {
"name": "",
"allPhotos": "",
"option": {
"albumId": {
"label": "",
@@ -2801,7 +3037,6 @@
}
},
"description": "",
"noAlbumSelected": "",
"noPhotos": ""
},
"downloads": {
@@ -2986,6 +3221,12 @@
"option": {
"linksTargetNewTab": {
"label": "Otvori veze u novoj kartici"
},
"statusFilter": {
"label": ""
},
"recentDays": {
"label": ""
}
},
"pending": {
@@ -3093,6 +3334,35 @@
}
}
},
"mediaMissing": {
"name": "",
"description": "",
"option": {
"showMissing": {
"label": ""
},
"showQueued": {
"label": ""
},
"pageSize": {
"label": ""
}
},
"tab": {
"missing": "",
"queued": ""
},
"type": {
"movie": "",
"episode": ""
},
"empty": {
"missing": "",
"queued": "",
"noTabsEnabled": ""
},
"timeLeft": ""
},
"rssFeed": {
"name": "",
"description": "",
@@ -3336,7 +3606,11 @@
"name": "",
"description": "",
"noItems": "",
"option": {}
"option": {
"hideLogos": {
"label": ""
}
}
},
"speedtestTracker": {
"name": "",
@@ -3417,6 +3691,40 @@
"internalServerError": ""
}
},
"traefik": {
"name": "",
"description": "",
"option": {
"showTcp": {
"label": ""
},
"showUdp": {
"label": ""
},
"showEntryPoints": {
"label": ""
}
},
"instances": "",
"versionUnknown": "",
"summary": {
"routers": "",
"entryPoints": ""
},
"resource": {
"routers": "",
"services": "",
"middlewares": ""
},
"status": {
"healthy": "",
"errors": "",
"warnings": ""
},
"error": {
"internalServerError": ""
}
},
"audioStats": {
"name": "",
"description": "",
@@ -3792,6 +4100,11 @@
"read": "",
"write": ""
},
"storage": {
"title": "",
"subtitle": "",
"series": ""
},
"network": {
"title": "",
"subtitle": "",
@@ -4924,6 +5237,9 @@
"title": "",
"table": {
"updated": "",
"refresh": {
"lastUpdated": ""
},
"search": "",
"selected": "",
"footer": "",
@@ -5652,6 +5968,14 @@
}
}
},
"enableRightClickOnWidgets": {
"label": "",
"children": {
"detail": {
"title": ""
}
}
},
"fullPreferencesPage": {
"label": ""
}
+327 -3
View File
@@ -198,6 +198,10 @@
"pingIconsEnabled": {
"label": "Ikonok használata a pingekhez"
},
"enableRightClickOnWidgets": {
"label": "",
"description": ""
},
"defaultSearchEngine": {
"label": "Alapértelmezett kereső"
},
@@ -1285,6 +1289,14 @@
"label": "Api Kulcs (Titkos)",
"newLabel": "Új API Kulcs (Titkos)"
},
"patchmonApiKey": {
"label": "",
"newLabel": ""
},
"patchmonApiSecret": {
"label": "",
"newLabel": ""
},
"githubAppId": {
"label": "App Azonosító",
"newLabel": "Új App Azonosító"
@@ -1328,9 +1340,21 @@
}
}
},
"traefik": {
"name": "",
"description": ""
},
"paperlessNgx": {
"name": "",
"description": ""
},
"patchmon": {
"name": "",
"description": ""
},
"bazarr": {
"name": "",
"description": ""
}
},
"media": {
@@ -1602,6 +1626,12 @@
"refresh": "",
"options": "",
"actions": ""
},
"status": {
"success": "",
"error": "",
"loading": "",
"idle": ""
}
},
"create": {
@@ -1875,6 +1905,16 @@
"customDateFormat": {
"label": "Egyedi dátumformátum",
"description": "A dátum formázásához használja az ISO 8601 szabványt (ez felülírja az egyéb beállításokat)"
},
"showWeather": {
"label": "",
"description": ""
},
"weatherLocation": {
"label": ""
},
"isWeatherFormatFahrenheit": {
"label": ""
}
}
},
@@ -1936,6 +1976,8 @@
"clear": "Formázás törlése",
"heading": "Címsor {level}",
"align": "Szöveg igazítása: {position}",
"directionLtr": "",
"directionRtl": "",
"blockquote": "Idézet",
"horizontalLine": "Vízszintes vonal",
"bulletList": "Lista",
@@ -2225,7 +2267,8 @@
"sunrise": "Napkelte",
"sunset": "Naplemente",
"maxWindSpeed": "Legnagyobb szélsebesség: {maxWindSpeed} {unit}",
"maxWindGusts": "Legerősebb széllökés: {maxWindGusts} {unit}"
"maxWindGusts": "Legerősebb széllökés: {maxWindGusts} {unit}",
"humidity": ""
},
"kind": {
"clear": "Tiszta",
@@ -2689,6 +2732,11 @@
"user": "Felhasználó",
"name": "Név",
"id": "Azonosító",
"status": "",
"directPlay": "",
"transcoding": "",
"paused": "",
"remaining": "",
"metadata": {
"title": "Statisztikák a rajongóknak",
"video": {
@@ -2754,6 +2802,193 @@
"internalServerError": ""
}
},
"patchmon": {
"name": "",
"description": "",
"title": "",
"totalHosts": "",
"hostsNeedingUpdates": "",
"securityUpdates": "",
"upToDateHosts": "",
"hostsWithSecurityUpdates": "",
"recentUpdates24h": "",
"totalOutdatedPackages": "",
"totalRepos": "",
"osDistribution": "",
"compliance": "",
"complianceRatio": "",
"lastUpdated": "",
"option": {
"showTotalHosts": {
"label": "",
"description": ""
},
"showHostsNeedingUpdates": {
"label": "",
"description": ""
},
"showSecurityUpdates": {
"label": "",
"description": ""
},
"showUpToDateHosts": {
"label": "",
"description": ""
},
"showHostsWithSecurityUpdates": {
"label": "",
"description": ""
},
"showRecentUpdates24h": {
"label": "",
"description": ""
},
"showTotalOutdatedPackages": {
"label": "",
"description": ""
},
"showTotalRepos": {
"label": "",
"description": ""
},
"enableThresholdColors": {
"label": "",
"description": ""
},
"useCustomThresholds": {
"label": "",
"description": ""
},
"thresholdMode": {
"option": {
"absolute": "",
"percent": ""
}
},
"hostsNeedingUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesCriticalAt": {
"label": "",
"description": ""
},
"securityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"securityUpdatesWarningAt": {
"label": "",
"description": ""
},
"securityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"upToDateHostsThresholdMode": {
"label": "",
"description": ""
},
"upToDateHostsWarningAt": {
"label": "",
"description": ""
},
"upToDateHostsCriticalAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesThresholdMode": {
"label": "",
"description": ""
},
"totalOutdatedPackagesWarningAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesCriticalAt": {
"label": "",
"description": ""
},
"showOsDistribution": {
"label": "",
"description": ""
},
"osDistributionLimit": {
"label": "",
"description": "",
"option": {
"3": "",
"5": "",
"10": "",
"all": ""
}
},
"showOsVersion": {
"label": "",
"description": ""
},
"showComplianceHero": {
"label": "",
"description": ""
},
"osDisplayMode": {
"label": "",
"description": "",
"option": {
"bars": "",
"donut": ""
}
}
},
"error": {
"internalServerError": ""
}
},
"bazarr": {
"name": "",
"description": "",
"episodes": "",
"movies": "",
"providers": "",
"status": "",
"option": {
"showMissingEpisodes": {
"label": "",
"description": ""
},
"showMissingMovies": {
"label": "",
"description": ""
},
"showProviderIssues": {
"label": "",
"description": ""
},
"showHealthIssues": {
"label": "",
"description": ""
}
},
"error": {
"internalServerError": ""
}
},
"immich-serverStats": {
"name": "Immich szerver statisztikák",
"description": "Információk az Immich-példányodról",
@@ -2782,6 +3017,7 @@
},
"immich-albumCarousel": {
"name": "Immich Album",
"allPhotos": "",
"option": {
"albumId": {
"label": "Album ID",
@@ -2801,7 +3037,6 @@
}
},
"description": "Képek diavetítése az Immich-albumodból",
"noAlbumSelected": "Nincs kiválasztott album; szerkeszd a widgetet, és válassz ki egy albumot",
"noPhotos": "Ebben az albumban nincs fénykép"
},
"downloads": {
@@ -2986,6 +3221,12 @@
"option": {
"linksTargetNewTab": {
"label": "Linkek megnyitása új fülön"
},
"statusFilter": {
"label": ""
},
"recentDays": {
"label": ""
}
},
"pending": {
@@ -3093,6 +3334,35 @@
}
}
},
"mediaMissing": {
"name": "",
"description": "",
"option": {
"showMissing": {
"label": ""
},
"showQueued": {
"label": ""
},
"pageSize": {
"label": ""
}
},
"tab": {
"missing": "",
"queued": ""
},
"type": {
"movie": "",
"episode": ""
},
"empty": {
"missing": "",
"queued": "",
"noTabsEnabled": ""
},
"timeLeft": ""
},
"rssFeed": {
"name": "RSS feedek",
"description": "Egy vagy több általános RSS-, ATOM- vagy JSON-hírcsatorna figyelése és megjelenítése",
@@ -3336,7 +3606,11 @@
"name": "Értesítések",
"description": "Egy integráció értesítési előzményeinek megjelenítése",
"noItems": "Nincs megjelenítendő üzenet.",
"option": {}
"option": {
"hideLogos": {
"label": ""
}
}
},
"speedtestTracker": {
"name": "Hálózatsebesség Monitorozó",
@@ -3417,6 +3691,40 @@
"internalServerError": ""
}
},
"traefik": {
"name": "",
"description": "",
"option": {
"showTcp": {
"label": ""
},
"showUdp": {
"label": ""
},
"showEntryPoints": {
"label": ""
}
},
"instances": "",
"versionUnknown": "",
"summary": {
"routers": "",
"entryPoints": ""
},
"resource": {
"routers": "",
"services": "",
"middlewares": ""
},
"status": {
"healthy": "",
"errors": "",
"warnings": ""
},
"error": {
"internalServerError": ""
}
},
"audioStats": {
"name": "",
"description": "",
@@ -3792,6 +4100,11 @@
"read": "",
"write": ""
},
"storage": {
"title": "",
"subtitle": "",
"series": ""
},
"network": {
"title": "",
"subtitle": "",
@@ -4924,6 +5237,9 @@
"title": "Tartály",
"table": {
"updated": "",
"refresh": {
"lastUpdated": ""
},
"search": "",
"selected": "",
"footer": "",
@@ -5652,6 +5968,14 @@
}
}
},
"enableRightClickOnWidgets": {
"label": "",
"children": {
"detail": {
"title": ""
}
}
},
"fullPreferencesPage": {
"label": ""
}
+327 -3
View File
@@ -198,6 +198,10 @@
"pingIconsEnabled": {
"label": "Usa le icone per i ping"
},
"enableRightClickOnWidgets": {
"label": "Abilita clic destro sui widget",
"description": "Mostra il menu contestuale di Homarr quando si fa clic destro su un widget. Disabilita per usare il menu predefinito del browser (es. \"Apri collegamento in una nuova scheda\")."
},
"defaultSearchEngine": {
"label": "Motore di ricerca predefinito"
},
@@ -1285,6 +1289,14 @@
"label": "Chiave API (Secret)",
"newLabel": "Nuova Chiave API (Secret)"
},
"patchmonApiKey": {
"label": "Chiave API",
"newLabel": "Nuova chiave API"
},
"patchmonApiSecret": {
"label": "Secret API",
"newLabel": "Nuova API Secret"
},
"githubAppId": {
"label": "Id App",
"newLabel": "Nuovo Id App"
@@ -1328,9 +1340,21 @@
}
}
},
"traefik": {
"name": "Traefik",
"description": "Cloud-native reverse proxy e bilanciatore del carico"
},
"paperlessNgx": {
"name": "Paperless-ngx",
"description": "Sistema di gestione documentale per archiviare e organizzare documenti scansionati"
},
"patchmon": {
"name": "PatchMon",
"description": "Gestione delle patch e monitoraggio per gli host Linux"
},
"bazarr": {
"name": "Bazarr",
"description": "Applicazione complementare a Sonarr e Radarr che gestisce e scarica i sottotitoli"
}
},
"media": {
@@ -1602,6 +1626,12 @@
"refresh": "Aggiorna",
"options": "Opzioni",
"actions": "Azioni"
},
"status": {
"success": "OK",
"error": "Errore",
"loading": "Caricamento",
"idle": "Inattivo"
}
},
"create": {
@@ -1875,6 +1905,16 @@
"customDateFormat": {
"label": "Formato data personalizzato",
"description": "Usa ISO 8601 per formattare la data (questo sovrascriverà altre opzioni)"
},
"showWeather": {
"label": "",
"description": ""
},
"weatherLocation": {
"label": ""
},
"isWeatherFormatFahrenheit": {
"label": ""
}
}
},
@@ -1936,6 +1976,8 @@
"clear": "Rimuovi formattazione",
"heading": "Intestazione {level}",
"align": "Allinea testo: {position}",
"directionLtr": "Imposta la direzione del testo da sinistra a sinistra",
"directionRtl": "Imposta la direzione del testo da destra a destra",
"blockquote": "Citazione",
"horizontalLine": "Linea orizzontale",
"bulletList": "Elenco puntato",
@@ -2225,7 +2267,8 @@
"sunrise": "Alba",
"sunset": "Tramonto",
"maxWindSpeed": "Max velocità vento: {maxWindSpeed} km/h",
"maxWindGusts": "Max raffiche di vento: {maxWindGusts} km/h"
"maxWindGusts": "Max raffiche di vento: {maxWindGusts} km/h",
"humidity": "Umidità: {humidity}%"
},
"kind": {
"clear": "Sereno",
@@ -2689,6 +2732,11 @@
"user": "Utente",
"name": "Nome",
"id": "Id",
"status": "Stato",
"directPlay": "Riproduzione diretta",
"transcoding": "Transcodifica",
"paused": "In pausa",
"remaining": "{minutes} min rimanenti",
"metadata": {
"title": "Statistiche per nerd",
"video": {
@@ -2754,6 +2802,193 @@
"internalServerError": "Impossibile recuperare i dati di Paperless-ngx"
}
},
"patchmon": {
"name": "PatchMon",
"description": "Panoramica dello stato delle patch host da PatchMon",
"title": "Statistiche PatchMon",
"totalHosts": "Host Totali",
"hostsNeedingUpdates": "Necessita di aggiornamenti",
"securityUpdates": "Aggiornamenti di sicurezza",
"upToDateHosts": "Host aggiornati",
"hostsWithSecurityUpdates": "Host con aggiornamenti di sicurezza",
"recentUpdates24h": "Aggiornamenti (24h)",
"totalOutdatedPackages": "Pacchetti obsoleti",
"totalRepos": "Repository",
"osDistribution": "Distribuzione OS",
"compliance": "Conformità Patch",
"complianceRatio": "{upToDate} / {total}",
"lastUpdated": "Aggiornato {time}",
"option": {
"showTotalHosts": {
"label": "Mostra host totali",
"description": "Visualizzare il numero totale di host monitorati"
},
"showHostsNeedingUpdates": {
"label": "Mostra host che necessitano di aggiornamenti",
"description": "Visualizza gli host con almeno un pacchetto obsoleto"
},
"showSecurityUpdates": {
"label": "Mostra aggiornamenti di sicurezza",
"description": "Mostra il numero totale di aggiornamenti di sicurezza disponibili"
},
"showUpToDateHosts": {
"label": "Mostra host aggiornati",
"description": "Visualizza host con zero pacchetti obsoleti"
},
"showHostsWithSecurityUpdates": {
"label": "Mostra host con aggiornamenti di sicurezza",
"description": "Visualizza host che richiedono patch di sicurezza"
},
"showRecentUpdates24h": {
"label": "Mostra aggiornamenti recenti (24h)",
"description": "Mostra il numero di aggiornamenti applicati nelle ultime 24 ore"
},
"showTotalOutdatedPackages": {
"label": "Mostra pacchetti obsoleti",
"description": "Mostra il numero totale di pacchetti obsoleti su tutti gli host"
},
"showTotalRepos": {
"label": "Mostra repository",
"description": "Mostra il numero di repository attivi che vengono controllati"
},
"enableThresholdColors": {
"label": "Abilita colori di soglia",
"description": "Valori della statistica di colore verde, giallo, o rosso in base alle preimpostazioni di gravità"
},
"useCustomThresholds": {
"label": "Soglie avanzate",
"description": "Personalizza gli avvisi e le soglie critiche per stat utilizzando conteggi assoluti o percentuali del totale degli host"
},
"thresholdMode": {
"option": {
"absolute": "Conteggio assoluto",
"percent": "Percentuale degli host totali"
}
},
"hostsNeedingUpdatesThresholdMode": {
"label": "Modalità soglia aggiornamenti richiesti",
"description": "Confronta il numero di aggiornamenti richiesti come valore assoluto o percentuale su host totali"
},
"hostsNeedingUpdatesWarningAt": {
"label": "Soglia di avviso aggiornamenti richiesti",
"description": "Inserisci il giallo quando il valore raggiunge questa soglia"
},
"hostsNeedingUpdatesCriticalAt": {
"label": "Soglia critica aggiornamenti richiesti",
"description": "Inserisci il rosso quando il valore raggiunge questa soglia"
},
"securityUpdatesThresholdMode": {
"label": "Modalità soglia aggiornamenti di sicurezza",
"description": "Confronta il valore degli aggiornamenti di sicurezza come valore assoluto o percentuale del totale degli host"
},
"securityUpdatesWarningAt": {
"label": "Soglia di avviso aggiornamenti di sicurezza",
"description": "Inserisci il giallo quando il valore raggiunge questa soglia"
},
"securityUpdatesCriticalAt": {
"label": "Soglia critica aggiornamenti di sicurezza",
"description": "Inserisci il rosso quando il valore raggiunge questa soglia"
},
"hostsWithSecurityUpdatesThresholdMode": {
"label": "Modalità soglia host con aggiornamenti di sicurezza",
"description": "Confronta il numero di host come valore assoluto o percentuale su host totali"
},
"hostsWithSecurityUpdatesWarningAt": {
"label": "Soglia di avviso host con aggiornamenti di sicurezza",
"description": "Inserisci il giallo quando il valore raggiunge questa soglia"
},
"hostsWithSecurityUpdatesCriticalAt": {
"label": "Soglia critica host con aggiornamenti di sicurezza",
"description": "Inserisci il rosso quando il valore raggiunge questa soglia"
},
"upToDateHostsThresholdMode": {
"label": "Modalità soglia host aggiornati",
"description": "Confronta il numero di host aggiornati come valore assoluto o percentuale su host totali"
},
"upToDateHostsWarningAt": {
"label": "Soglia di avviso host aggiornati",
"description": "Inserisci il giallo quando il valore è pari o superiore a questa soglia ma al di sotto della copertura completa"
},
"upToDateHostsCriticalAt": {
"label": "Soglia critica host aggiornati",
"description": "Inserisci rosso quando il valore scende al di sotto di questa soglia"
},
"totalOutdatedPackagesThresholdMode": {
"label": "Modalità soglia pacchetti obsoleti",
"description": "Confronta il numero di pacchetti obsoleti come valore assoluto o percentuale sui host totali"
},
"totalOutdatedPackagesWarningAt": {
"label": "Soglia di avviso pacchetti obsoleti",
"description": "Inserisci il giallo quando il valore raggiunge questa soglia"
},
"totalOutdatedPackagesCriticalAt": {
"label": "Soglia critica pacchetti obsoleti",
"description": "Inserisci il rosso quando il valore raggiunge questa soglia"
},
"showOsDistribution": {
"label": "Mostra distribuzione OS",
"description": "Mostra un dettaglio degli host monitorati per sistema operativo"
},
"osDistributionLimit": {
"label": "Limite distribuzione OS",
"description": "Numero massimo di sistemi operativi da visualizzare",
"option": {
"3": "Top 3",
"5": "Top 5",
"10": "Top 10",
"all": "Tutto"
}
},
"showOsVersion": {
"label": "Mostra versione OS",
"description": "Aggiungi la versione del sistema operativo a ogni etichetta di distribuzione quando disponibile"
},
"showComplianceHero": {
"label": "Mostra sezione principale conformità",
"description": "Mostra un anello di conformità con la percentuale di host aggiornati"
},
"osDisplayMode": {
"label": "Modalità di visualizzazione OS",
"description": "Scegli come visualizzare la distribuzione del sistema operativo",
"option": {
"bars": "Barre orizzontali",
"donut": "Grafico a ciambella"
}
}
},
"error": {
"internalServerError": "Impossibile recuperare i dati di PatchMon"
}
},
"bazarr": {
"name": "Bazarr",
"description": "Panoramica dei sottotitoli mancanti e dello stato di salute della tua istanza Bazarr",
"episodes": "Episodi Mancanti",
"movies": "Film Mancanti",
"providers": "Problemi del Provider",
"status": "Problemi di stato",
"option": {
"showMissingEpisodes": {
"label": "Mostra episodi mancanti",
"description": "Mostra il numero di episodi con sottotitoli mancanti"
},
"showMissingMovies": {
"label": "Mostra film mancanti",
"description": "Mostra il numero di film con sottotitoli mancanti"
},
"showProviderIssues": {
"label": "Mostra problemi del provider",
"description": "Mostra i provider di sottotitoli con problemi"
},
"showHealthIssues": {
"label": "Mostra problemi di stato",
"description": "Mostra il numero di problemi di stato di Bazarr"
}
},
"error": {
"internalServerError": "Impossibile recuperare i dati Bazarr"
}
},
"immich-serverStats": {
"name": "Statistiche Server Immich",
"description": "Informazioni sulla tua istanza Immich",
@@ -2782,6 +3017,7 @@
},
"immich-albumCarousel": {
"name": "Album Immich",
"allPhotos": "Tutte le foto",
"option": {
"albumId": {
"label": "ID Album",
@@ -2801,7 +3037,6 @@
}
},
"description": "Presentazione delle immagini nel tuo album Immich",
"noAlbumSelected": "Nessun album selezionato, modifica il widget e scegli un album",
"noPhotos": "Nessuna foto in questo album"
},
"downloads": {
@@ -2986,6 +3221,12 @@
"option": {
"linksTargetNewTab": {
"label": "Apri i link in nuova scheda"
},
"statusFilter": {
"label": "Stati da mostrare"
},
"recentDays": {
"label": "Mostra solo le richieste recenti"
}
},
"pending": {
@@ -3093,6 +3334,35 @@
}
}
},
"mediaMissing": {
"name": "Contenuti multimediali mancanti & in coda",
"description": "Mostra i film e gli episodi mancanti e in coda da Radarr e Sonarr",
"option": {
"showMissing": {
"label": "Mostra elementi mancanti"
},
"showQueued": {
"label": "Mostra elementi in coda"
},
"pageSize": {
"label": "Elementi per pagina"
}
},
"tab": {
"missing": "Mancanti",
"queued": "In coda"
},
"type": {
"movie": "Film",
"episode": "Episodio"
},
"empty": {
"missing": "Nessun elemento mancante",
"queued": "Nessun elemento in coda",
"noTabsEnabled": "Abilita almeno una scheda nelle impostazioni del widget"
},
"timeLeft": "Tempo residuo"
},
"rssFeed": {
"name": "Feed RSS",
"description": "Monitora e visualizza uno o più feed generici RSS, ATOM o JSON",
@@ -3336,7 +3606,11 @@
"name": "Notifiche",
"description": "Visualizza la cronologia delle notifiche da un'integrazione",
"noItems": "Nessuna notifica da visualizzare.",
"option": {}
"option": {
"hideLogos": {
"label": "Nascondi loghi"
}
}
},
"speedtestTracker": {
"name": "SpeedTest Tracker",
@@ -3417,6 +3691,40 @@
"internalServerError": "Impossibile recuperare i dati di uptime"
}
},
"traefik": {
"name": "Traefik",
"description": "Panoramica dei router, dei servizi, dei middleware e dei punti di ingresso di Traefik",
"option": {
"showTcp": {
"label": "Mostrare TCP"
},
"showUdp": {
"label": "Mostra UDP"
},
"showEntryPoints": {
"label": "Mostra punti di accesso"
}
},
"instances": "Istanze di Traefik",
"versionUnknown": "Versione sconosciuta",
"summary": {
"routers": "Routers",
"entryPoints": "Punti di accesso"
},
"resource": {
"routers": "Routers",
"services": "Servizi",
"middlewares": "Middleware"
},
"status": {
"healthy": "Normale funzionamento",
"errors": "{count} errori",
"warnings": "{count} avvisi"
},
"error": {
"internalServerError": "Recupero dei dati Traefik non riuscito"
}
},
"audioStats": {
"name": "Statistiche audio",
"description": "Statistiche della libreria e di riproduzione da Navidrome o Audiobookshelf",
@@ -3792,6 +4100,11 @@
"read": "Lettura",
"write": "Scrittura"
},
"storage": {
"title": "Spazio di archiviazione",
"subtitle": "Utilizzo del disco per filesystem",
"series": "Usato"
},
"network": {
"title": "Larghezza di Banda",
"subtitle": "Traffico di rete delle interfacce pubbliche",
@@ -4924,6 +5237,9 @@
"title": "Containers",
"table": {
"updated": "Aggiornato {when}",
"refresh": {
"lastUpdated": "Ultimo aggiornamento {when}"
},
"search": "Cerca {count} container",
"selected": "{selectCount} di {totalCount} containers selezionati",
"footer": "Totale container {count}",
@@ -5652,6 +5968,14 @@
}
}
},
"enableRightClickOnWidgets": {
"label": "Abilita clic destro sui widget",
"children": {
"detail": {
"title": "Abilita clic destro sui widget"
}
}
},
"fullPreferencesPage": {
"label": "Apri la pagina completa delle preferenze"
}
+327 -3
View File
@@ -198,6 +198,10 @@
"pingIconsEnabled": {
"label": "Pingにアイコンを使う"
},
"enableRightClickOnWidgets": {
"label": "",
"description": ""
},
"defaultSearchEngine": {
"label": "既定の検索エンジン"
},
@@ -1285,6 +1289,14 @@
"label": "API キー (シークレット)",
"newLabel": "新しい API キー (シークレット)"
},
"patchmonApiKey": {
"label": "",
"newLabel": ""
},
"patchmonApiSecret": {
"label": "",
"newLabel": ""
},
"githubAppId": {
"label": "App Id",
"newLabel": "新規App Id"
@@ -1328,9 +1340,21 @@
}
}
},
"traefik": {
"name": "",
"description": ""
},
"paperlessNgx": {
"name": "",
"description": ""
},
"patchmon": {
"name": "",
"description": ""
},
"bazarr": {
"name": "",
"description": ""
}
},
"media": {
@@ -1602,6 +1626,12 @@
"refresh": "",
"options": "",
"actions": ""
},
"status": {
"success": "",
"error": "",
"loading": "",
"idle": ""
}
},
"create": {
@@ -1875,6 +1905,16 @@
"customDateFormat": {
"label": "日付の書式をカスタマイズ",
"description": "日付の書式に ISO-8601を使用します(これは他のオプションを上書きします)"
},
"showWeather": {
"label": "",
"description": ""
},
"weatherLocation": {
"label": ""
},
"isWeatherFormatFahrenheit": {
"label": ""
}
}
},
@@ -1936,6 +1976,8 @@
"clear": "書式をクリア",
"heading": "見出し {level}",
"align": "テキストの整列: {position}",
"directionLtr": "",
"directionRtl": "",
"blockquote": "引用",
"horizontalLine": "水平線",
"bulletList": "箇条書きリスト",
@@ -2225,7 +2267,8 @@
"sunrise": "日出",
"sunset": "日没",
"maxWindSpeed": "最大風速: {maxWindSpeed} {unit}",
"maxWindGusts": "最大瞬間風速: {maxWindGusts} {unit}"
"maxWindGusts": "最大瞬間風速: {maxWindGusts} {unit}",
"humidity": ""
},
"kind": {
"clear": "晴れ",
@@ -2689,6 +2732,11 @@
"user": "ユーザー",
"name": "名称",
"id": "Id",
"status": "",
"directPlay": "",
"transcoding": "",
"paused": "",
"remaining": "",
"metadata": {
"title": "詳細統計情報",
"video": {
@@ -2754,6 +2802,193 @@
"internalServerError": ""
}
},
"patchmon": {
"name": "",
"description": "",
"title": "",
"totalHosts": "",
"hostsNeedingUpdates": "",
"securityUpdates": "",
"upToDateHosts": "",
"hostsWithSecurityUpdates": "",
"recentUpdates24h": "",
"totalOutdatedPackages": "",
"totalRepos": "",
"osDistribution": "",
"compliance": "",
"complianceRatio": "",
"lastUpdated": "",
"option": {
"showTotalHosts": {
"label": "",
"description": ""
},
"showHostsNeedingUpdates": {
"label": "",
"description": ""
},
"showSecurityUpdates": {
"label": "",
"description": ""
},
"showUpToDateHosts": {
"label": "",
"description": ""
},
"showHostsWithSecurityUpdates": {
"label": "",
"description": ""
},
"showRecentUpdates24h": {
"label": "",
"description": ""
},
"showTotalOutdatedPackages": {
"label": "",
"description": ""
},
"showTotalRepos": {
"label": "",
"description": ""
},
"enableThresholdColors": {
"label": "",
"description": ""
},
"useCustomThresholds": {
"label": "",
"description": ""
},
"thresholdMode": {
"option": {
"absolute": "",
"percent": ""
}
},
"hostsNeedingUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesCriticalAt": {
"label": "",
"description": ""
},
"securityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"securityUpdatesWarningAt": {
"label": "",
"description": ""
},
"securityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"upToDateHostsThresholdMode": {
"label": "",
"description": ""
},
"upToDateHostsWarningAt": {
"label": "",
"description": ""
},
"upToDateHostsCriticalAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesThresholdMode": {
"label": "",
"description": ""
},
"totalOutdatedPackagesWarningAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesCriticalAt": {
"label": "",
"description": ""
},
"showOsDistribution": {
"label": "",
"description": ""
},
"osDistributionLimit": {
"label": "",
"description": "",
"option": {
"3": "",
"5": "",
"10": "",
"all": ""
}
},
"showOsVersion": {
"label": "",
"description": ""
},
"showComplianceHero": {
"label": "",
"description": ""
},
"osDisplayMode": {
"label": "",
"description": "",
"option": {
"bars": "",
"donut": ""
}
}
},
"error": {
"internalServerError": ""
}
},
"bazarr": {
"name": "",
"description": "",
"episodes": "",
"movies": "",
"providers": "",
"status": "",
"option": {
"showMissingEpisodes": {
"label": "",
"description": ""
},
"showMissingMovies": {
"label": "",
"description": ""
},
"showProviderIssues": {
"label": "",
"description": ""
},
"showHealthIssues": {
"label": "",
"description": ""
}
},
"error": {
"internalServerError": ""
}
},
"immich-serverStats": {
"name": "Immich サーバーの統計",
"description": "Immich インスタンスに関する情報",
@@ -2782,6 +3017,7 @@
},
"immich-albumCarousel": {
"name": "Immich アルバム",
"allPhotos": "",
"option": {
"albumId": {
"label": "アルバム ID",
@@ -2801,7 +3037,6 @@
}
},
"description": "Immichアルバムの写真のスライド",
"noAlbumSelected": "アルバムが選択されていない、ウィジェットを編集してアルバムを選択してください",
"noPhotos": "このアルバムには写真がありません"
},
"downloads": {
@@ -2986,6 +3221,12 @@
"option": {
"linksTargetNewTab": {
"label": "リンクを新しいタブで開く"
},
"statusFilter": {
"label": ""
},
"recentDays": {
"label": ""
}
},
"pending": {
@@ -3093,6 +3334,35 @@
}
}
},
"mediaMissing": {
"name": "",
"description": "",
"option": {
"showMissing": {
"label": ""
},
"showQueued": {
"label": ""
},
"pageSize": {
"label": ""
}
},
"tab": {
"missing": "",
"queued": ""
},
"type": {
"movie": "",
"episode": ""
},
"empty": {
"missing": "",
"queued": "",
"noTabsEnabled": ""
},
"timeLeft": ""
},
"rssFeed": {
"name": "RSS フィード",
"description": "1つまたは複数の一般的な RSS、ATOM、または JSON フィードを監視して表示します",
@@ -3336,7 +3606,11 @@
"name": "通知",
"description": "連携機能からの通知履歴を表示する",
"noItems": "表示する通知はありません。",
"option": {}
"option": {
"hideLogos": {
"label": ""
}
}
},
"speedtestTracker": {
"name": "スピードテストトラッカー",
@@ -3417,6 +3691,40 @@
"internalServerError": ""
}
},
"traefik": {
"name": "",
"description": "",
"option": {
"showTcp": {
"label": ""
},
"showUdp": {
"label": ""
},
"showEntryPoints": {
"label": ""
}
},
"instances": "",
"versionUnknown": "",
"summary": {
"routers": "",
"entryPoints": ""
},
"resource": {
"routers": "",
"services": "",
"middlewares": ""
},
"status": {
"healthy": "",
"errors": "",
"warnings": ""
},
"error": {
"internalServerError": ""
}
},
"audioStats": {
"name": "",
"description": "",
@@ -3792,6 +4100,11 @@
"read": "",
"write": ""
},
"storage": {
"title": "",
"subtitle": "",
"series": ""
},
"network": {
"title": "",
"subtitle": "",
@@ -4924,6 +5237,9 @@
"title": "コンテナ",
"table": {
"updated": "{when} に更新しました",
"refresh": {
"lastUpdated": ""
},
"search": "{count} 個のコンテナを検索",
"selected": "{totalCount} 個のうち、{selectCount} 個のコンテナが選択されています",
"footer": "合計 {count} 個のコンテナ",
@@ -5652,6 +5968,14 @@
}
}
},
"enableRightClickOnWidgets": {
"label": "",
"children": {
"detail": {
"title": ""
}
}
},
"fullPreferencesPage": {
"label": ""
}
File diff suppressed because it is too large. Load diff
+327 -3
View File
@@ -198,6 +198,10 @@
"pingIconsEnabled": {
"label": ""
},
"enableRightClickOnWidgets": {
"label": "",
"description": ""
},
"defaultSearchEngine": {
"label": ""
},
@@ -1285,6 +1289,14 @@
"label": "",
"newLabel": ""
},
"patchmonApiKey": {
"label": "",
"newLabel": ""
},
"patchmonApiSecret": {
"label": "",
"newLabel": ""
},
"githubAppId": {
"label": "",
"newLabel": ""
@@ -1328,9 +1340,21 @@
}
}
},
"traefik": {
"name": "",
"description": ""
},
"paperlessNgx": {
"name": "",
"description": ""
},
"patchmon": {
"name": "",
"description": ""
},
"bazarr": {
"name": "",
"description": ""
}
},
"media": {
@@ -1602,6 +1626,12 @@
"refresh": "",
"options": "",
"actions": ""
},
"status": {
"success": "",
"error": "",
"loading": "",
"idle": ""
}
},
"create": {
@@ -1875,6 +1905,16 @@
"customDateFormat": {
"label": "",
"description": ""
},
"showWeather": {
"label": "",
"description": ""
},
"weatherLocation": {
"label": ""
},
"isWeatherFormatFahrenheit": {
"label": ""
}
}
},
@@ -1936,6 +1976,8 @@
"clear": "Išvalyti formatavimą",
"heading": "Antraštė {level}",
"align": "Teksto lygiavimas: {position}",
"directionLtr": "",
"directionRtl": "",
"blockquote": "Kabutės",
"horizontalLine": "Horizontali linija",
"bulletList": "Suženklintasis sąrašas",
@@ -2225,7 +2267,8 @@
"sunrise": "",
"sunset": "",
"maxWindSpeed": "",
"maxWindGusts": ""
"maxWindGusts": "",
"humidity": ""
},
"kind": {
"clear": "",
@@ -2689,6 +2732,11 @@
"user": "",
"name": "",
"id": "",
"status": "",
"directPlay": "",
"transcoding": "",
"paused": "",
"remaining": "",
"metadata": {
"title": "",
"video": {
@@ -2754,6 +2802,193 @@
"internalServerError": ""
}
},
"patchmon": {
"name": "",
"description": "",
"title": "",
"totalHosts": "",
"hostsNeedingUpdates": "",
"securityUpdates": "",
"upToDateHosts": "",
"hostsWithSecurityUpdates": "",
"recentUpdates24h": "",
"totalOutdatedPackages": "",
"totalRepos": "",
"osDistribution": "",
"compliance": "",
"complianceRatio": "",
"lastUpdated": "",
"option": {
"showTotalHosts": {
"label": "",
"description": ""
},
"showHostsNeedingUpdates": {
"label": "",
"description": ""
},
"showSecurityUpdates": {
"label": "",
"description": ""
},
"showUpToDateHosts": {
"label": "",
"description": ""
},
"showHostsWithSecurityUpdates": {
"label": "",
"description": ""
},
"showRecentUpdates24h": {
"label": "",
"description": ""
},
"showTotalOutdatedPackages": {
"label": "",
"description": ""
},
"showTotalRepos": {
"label": "",
"description": ""
},
"enableThresholdColors": {
"label": "",
"description": ""
},
"useCustomThresholds": {
"label": "",
"description": ""
},
"thresholdMode": {
"option": {
"absolute": "",
"percent": ""
}
},
"hostsNeedingUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesCriticalAt": {
"label": "",
"description": ""
},
"securityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"securityUpdatesWarningAt": {
"label": "",
"description": ""
},
"securityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"upToDateHostsThresholdMode": {
"label": "",
"description": ""
},
"upToDateHostsWarningAt": {
"label": "",
"description": ""
},
"upToDateHostsCriticalAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesThresholdMode": {
"label": "",
"description": ""
},
"totalOutdatedPackagesWarningAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesCriticalAt": {
"label": "",
"description": ""
},
"showOsDistribution": {
"label": "",
"description": ""
},
"osDistributionLimit": {
"label": "",
"description": "",
"option": {
"3": "",
"5": "",
"10": "",
"all": ""
}
},
"showOsVersion": {
"label": "",
"description": ""
},
"showComplianceHero": {
"label": "",
"description": ""
},
"osDisplayMode": {
"label": "",
"description": "",
"option": {
"bars": "",
"donut": ""
}
}
},
"error": {
"internalServerError": ""
}
},
"bazarr": {
"name": "",
"description": "",
"episodes": "",
"movies": "",
"providers": "",
"status": "",
"option": {
"showMissingEpisodes": {
"label": "",
"description": ""
},
"showMissingMovies": {
"label": "",
"description": ""
},
"showProviderIssues": {
"label": "",
"description": ""
},
"showHealthIssues": {
"label": "",
"description": ""
}
},
"error": {
"internalServerError": ""
}
},
"immich-serverStats": {
"name": "",
"description": "",
@@ -2782,6 +3017,7 @@
},
"immich-albumCarousel": {
"name": "",
"allPhotos": "",
"option": {
"albumId": {
"label": "",
@@ -2801,7 +3037,6 @@
}
},
"description": "",
"noAlbumSelected": "",
"noPhotos": ""
},
"downloads": {
@@ -2986,6 +3221,12 @@
"option": {
"linksTargetNewTab": {
"label": "Atidaryti naujame skirtuke"
},
"statusFilter": {
"label": ""
},
"recentDays": {
"label": ""
}
},
"pending": {
@@ -3093,6 +3334,35 @@
}
}
},
"mediaMissing": {
"name": "",
"description": "",
"option": {
"showMissing": {
"label": ""
},
"showQueued": {
"label": ""
},
"pageSize": {
"label": ""
}
},
"tab": {
"missing": "",
"queued": ""
},
"type": {
"movie": "",
"episode": ""
},
"empty": {
"missing": "",
"queued": "",
"noTabsEnabled": ""
},
"timeLeft": ""
},
"rssFeed": {
"name": "",
"description": "",
@@ -3336,7 +3606,11 @@
"name": "",
"description": "",
"noItems": "",
"option": {}
"option": {
"hideLogos": {
"label": ""
}
}
},
"speedtestTracker": {
"name": "",
@@ -3417,6 +3691,40 @@
"internalServerError": ""
}
},
"traefik": {
"name": "",
"description": "",
"option": {
"showTcp": {
"label": ""
},
"showUdp": {
"label": ""
},
"showEntryPoints": {
"label": ""
}
},
"instances": "",
"versionUnknown": "",
"summary": {
"routers": "",
"entryPoints": ""
},
"resource": {
"routers": "",
"services": "",
"middlewares": ""
},
"status": {
"healthy": "",
"errors": "",
"warnings": ""
},
"error": {
"internalServerError": ""
}
},
"audioStats": {
"name": "",
"description": "",
@@ -3792,6 +4100,11 @@
"read": "",
"write": ""
},
"storage": {
"title": "",
"subtitle": "",
"series": ""
},
"network": {
"title": "",
"subtitle": "",
@@ -4924,6 +5237,9 @@
"title": "",
"table": {
"updated": "",
"refresh": {
"lastUpdated": ""
},
"search": "",
"selected": "",
"footer": "",
@@ -5652,6 +5968,14 @@
}
}
},
"enableRightClickOnWidgets": {
"label": "",
"children": {
"detail": {
"title": ""
}
}
},
"fullPreferencesPage": {
"label": ""
}
+327 -3
View File
@@ -198,6 +198,10 @@
"pingIconsEnabled": {
"label": ""
},
"enableRightClickOnWidgets": {
"label": "",
"description": ""
},
"defaultSearchEngine": {
"label": ""
},
@@ -1285,6 +1289,14 @@
"label": "",
"newLabel": ""
},
"patchmonApiKey": {
"label": "",
"newLabel": ""
},
"patchmonApiSecret": {
"label": "",
"newLabel": ""
},
"githubAppId": {
"label": "",
"newLabel": ""
@@ -1328,9 +1340,21 @@
}
}
},
"traefik": {
"name": "",
"description": ""
},
"paperlessNgx": {
"name": "",
"description": ""
},
"patchmon": {
"name": "",
"description": ""
},
"bazarr": {
"name": "",
"description": ""
}
},
"media": {
@@ -1602,6 +1626,12 @@
"refresh": "",
"options": "",
"actions": ""
},
"status": {
"success": "",
"error": "",
"loading": "",
"idle": ""
}
},
"create": {
@@ -1875,6 +1905,16 @@
"customDateFormat": {
"label": "",
"description": ""
},
"showWeather": {
"label": "",
"description": ""
},
"weatherLocation": {
"label": ""
},
"isWeatherFormatFahrenheit": {
"label": ""
}
}
},
@@ -1936,6 +1976,8 @@
"clear": "Notīrīt formatējumu",
"heading": "Virsraksts {level}",
"align": "Teksta līdzināšana: {position}",
"directionLtr": "",
"directionRtl": "",
"blockquote": "Citāts",
"horizontalLine": "Horizontāla līnija",
"bulletList": "Aizzīmju saraksts",
@@ -2225,7 +2267,8 @@
"sunrise": "",
"sunset": "",
"maxWindSpeed": "",
"maxWindGusts": ""
"maxWindGusts": "",
"humidity": ""
},
"kind": {
"clear": "Skaidrs",
@@ -2689,6 +2732,11 @@
"user": "",
"name": "",
"id": "",
"status": "",
"directPlay": "",
"transcoding": "",
"paused": "",
"remaining": "",
"metadata": {
"title": "",
"video": {
@@ -2754,6 +2802,193 @@
"internalServerError": ""
}
},
"patchmon": {
"name": "",
"description": "",
"title": "",
"totalHosts": "",
"hostsNeedingUpdates": "",
"securityUpdates": "",
"upToDateHosts": "",
"hostsWithSecurityUpdates": "",
"recentUpdates24h": "",
"totalOutdatedPackages": "",
"totalRepos": "",
"osDistribution": "",
"compliance": "",
"complianceRatio": "",
"lastUpdated": "",
"option": {
"showTotalHosts": {
"label": "",
"description": ""
},
"showHostsNeedingUpdates": {
"label": "",
"description": ""
},
"showSecurityUpdates": {
"label": "",
"description": ""
},
"showUpToDateHosts": {
"label": "",
"description": ""
},
"showHostsWithSecurityUpdates": {
"label": "",
"description": ""
},
"showRecentUpdates24h": {
"label": "",
"description": ""
},
"showTotalOutdatedPackages": {
"label": "",
"description": ""
},
"showTotalRepos": {
"label": "",
"description": ""
},
"enableThresholdColors": {
"label": "",
"description": ""
},
"useCustomThresholds": {
"label": "",
"description": ""
},
"thresholdMode": {
"option": {
"absolute": "",
"percent": ""
}
},
"hostsNeedingUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesCriticalAt": {
"label": "",
"description": ""
},
"securityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"securityUpdatesWarningAt": {
"label": "",
"description": ""
},
"securityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"upToDateHostsThresholdMode": {
"label": "",
"description": ""
},
"upToDateHostsWarningAt": {
"label": "",
"description": ""
},
"upToDateHostsCriticalAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesThresholdMode": {
"label": "",
"description": ""
},
"totalOutdatedPackagesWarningAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesCriticalAt": {
"label": "",
"description": ""
},
"showOsDistribution": {
"label": "",
"description": ""
},
"osDistributionLimit": {
"label": "",
"description": "",
"option": {
"3": "",
"5": "",
"10": "",
"all": ""
}
},
"showOsVersion": {
"label": "",
"description": ""
},
"showComplianceHero": {
"label": "",
"description": ""
},
"osDisplayMode": {
"label": "",
"description": "",
"option": {
"bars": "",
"donut": ""
}
}
},
"error": {
"internalServerError": ""
}
},
"bazarr": {
"name": "",
"description": "",
"episodes": "",
"movies": "",
"providers": "",
"status": "",
"option": {
"showMissingEpisodes": {
"label": "",
"description": ""
},
"showMissingMovies": {
"label": "",
"description": ""
},
"showProviderIssues": {
"label": "",
"description": ""
},
"showHealthIssues": {
"label": "",
"description": ""
}
},
"error": {
"internalServerError": ""
}
},
"immich-serverStats": {
"name": "",
"description": "",
@@ -2782,6 +3017,7 @@
},
"immich-albumCarousel": {
"name": "",
"allPhotos": "",
"option": {
"albumId": {
"label": "",
@@ -2801,7 +3037,6 @@
}
},
"description": "",
"noAlbumSelected": "",
"noPhotos": ""
},
"downloads": {
@@ -2986,6 +3221,12 @@
"option": {
"linksTargetNewTab": {
"label": "Atvērt saites jaunā cilnē"
},
"statusFilter": {
"label": ""
},
"recentDays": {
"label": ""
}
},
"pending": {
@@ -3093,6 +3334,35 @@
}
}
},
"mediaMissing": {
"name": "",
"description": "",
"option": {
"showMissing": {
"label": ""
},
"showQueued": {
"label": ""
},
"pageSize": {
"label": ""
}
},
"tab": {
"missing": "",
"queued": ""
},
"type": {
"movie": "",
"episode": ""
},
"empty": {
"missing": "",
"queued": "",
"noTabsEnabled": ""
},
"timeLeft": ""
},
"rssFeed": {
"name": "",
"description": "",
@@ -3336,7 +3606,11 @@
"name": "",
"description": "",
"noItems": "",
"option": {}
"option": {
"hideLogos": {
"label": ""
}
}
},
"speedtestTracker": {
"name": "",
@@ -3417,6 +3691,40 @@
"internalServerError": ""
}
},
"traefik": {
"name": "",
"description": "",
"option": {
"showTcp": {
"label": ""
},
"showUdp": {
"label": ""
},
"showEntryPoints": {
"label": ""
}
},
"instances": "",
"versionUnknown": "",
"summary": {
"routers": "",
"entryPoints": ""
},
"resource": {
"routers": "",
"services": "",
"middlewares": ""
},
"status": {
"healthy": "",
"errors": "",
"warnings": ""
},
"error": {
"internalServerError": ""
}
},
"audioStats": {
"name": "",
"description": "",
@@ -3792,6 +4100,11 @@
"read": "",
"write": ""
},
"storage": {
"title": "",
"subtitle": "",
"series": ""
},
"network": {
"title": "",
"subtitle": "",
@@ -4924,6 +5237,9 @@
"title": "",
"table": {
"updated": "",
"refresh": {
"lastUpdated": ""
},
"search": "",
"selected": "",
"footer": "",
@@ -5652,6 +5968,14 @@
}
}
},
"enableRightClickOnWidgets": {
"label": "",
"children": {
"detail": {
"title": ""
}
}
},
"fullPreferencesPage": {
"label": ""
}
+327 -3
View File
@@ -198,6 +198,10 @@
"pingIconsEnabled": {
"label": "Gebruik iconen voor pings"
},
"enableRightClickOnWidgets": {
"label": "",
"description": ""
},
"defaultSearchEngine": {
"label": "Standaard zoekmachine"
},
@@ -1285,6 +1289,14 @@
"label": "API-sleutel (geheim)",
"newLabel": "Nieuwe API-sleutel (geheim)"
},
"patchmonApiKey": {
"label": "",
"newLabel": ""
},
"patchmonApiSecret": {
"label": "",
"newLabel": ""
},
"githubAppId": {
"label": "App ID",
"newLabel": "Nieuwe App ID"
@@ -1328,9 +1340,21 @@
}
}
},
"traefik": {
"name": "",
"description": ""
},
"paperlessNgx": {
"name": "",
"description": ""
},
"patchmon": {
"name": "",
"description": ""
},
"bazarr": {
"name": "",
"description": ""
}
},
"media": {
@@ -1602,6 +1626,12 @@
"refresh": "",
"options": "",
"actions": ""
},
"status": {
"success": "",
"error": "",
"loading": "",
"idle": ""
}
},
"create": {
@@ -1875,6 +1905,16 @@
"customDateFormat": {
"label": "Aangepast datumformaat",
"description": "Gebruik ISO 8601 om datum op te maken (dit overschrijft andere opties)"
},
"showWeather": {
"label": "",
"description": ""
},
"weatherLocation": {
"label": ""
},
"isWeatherFormatFahrenheit": {
"label": ""
}
}
},
@@ -1936,6 +1976,8 @@
"clear": "Opmaak wissen",
"heading": "Koptekst {level}",
"align": "Tekst uitlijnen: {position}",
"directionLtr": "",
"directionRtl": "",
"blockquote": "Blokquote",
"horizontalLine": "Horizontale lijn",
"bulletList": "Opsommingslijst",
@@ -2225,7 +2267,8 @@
"sunrise": "Zonsopgang",
"sunset": "Zonsondergang",
"maxWindSpeed": "Max. windsnelheid: {maxWindSpeed} {unit}",
"maxWindGusts": "Max. windstoten: {maxWindGusts} {unit}"
"maxWindGusts": "Max. windstoten: {maxWindGusts} {unit}",
"humidity": ""
},
"kind": {
"clear": "Wissen",
@@ -2689,6 +2732,11 @@
"user": "Gebruiker",
"name": "Naam",
"id": "Id",
"status": "",
"directPlay": "",
"transcoding": "",
"paused": "",
"remaining": "",
"metadata": {
"title": "Statistieken voor nerds",
"video": {
@@ -2754,6 +2802,193 @@
"internalServerError": ""
}
},
"patchmon": {
"name": "",
"description": "",
"title": "",
"totalHosts": "",
"hostsNeedingUpdates": "",
"securityUpdates": "",
"upToDateHosts": "",
"hostsWithSecurityUpdates": "",
"recentUpdates24h": "",
"totalOutdatedPackages": "",
"totalRepos": "",
"osDistribution": "",
"compliance": "",
"complianceRatio": "",
"lastUpdated": "",
"option": {
"showTotalHosts": {
"label": "",
"description": ""
},
"showHostsNeedingUpdates": {
"label": "",
"description": ""
},
"showSecurityUpdates": {
"label": "",
"description": ""
},
"showUpToDateHosts": {
"label": "",
"description": ""
},
"showHostsWithSecurityUpdates": {
"label": "",
"description": ""
},
"showRecentUpdates24h": {
"label": "",
"description": ""
},
"showTotalOutdatedPackages": {
"label": "",
"description": ""
},
"showTotalRepos": {
"label": "",
"description": ""
},
"enableThresholdColors": {
"label": "",
"description": ""
},
"useCustomThresholds": {
"label": "",
"description": ""
},
"thresholdMode": {
"option": {
"absolute": "",
"percent": ""
}
},
"hostsNeedingUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesCriticalAt": {
"label": "",
"description": ""
},
"securityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"securityUpdatesWarningAt": {
"label": "",
"description": ""
},
"securityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"upToDateHostsThresholdMode": {
"label": "",
"description": ""
},
"upToDateHostsWarningAt": {
"label": "",
"description": ""
},
"upToDateHostsCriticalAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesThresholdMode": {
"label": "",
"description": ""
},
"totalOutdatedPackagesWarningAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesCriticalAt": {
"label": "",
"description": ""
},
"showOsDistribution": {
"label": "",
"description": ""
},
"osDistributionLimit": {
"label": "",
"description": "",
"option": {
"3": "",
"5": "",
"10": "",
"all": ""
}
},
"showOsVersion": {
"label": "",
"description": ""
},
"showComplianceHero": {
"label": "",
"description": ""
},
"osDisplayMode": {
"label": "",
"description": "",
"option": {
"bars": "",
"donut": ""
}
}
},
"error": {
"internalServerError": ""
}
},
"bazarr": {
"name": "",
"description": "",
"episodes": "",
"movies": "",
"providers": "",
"status": "",
"option": {
"showMissingEpisodes": {
"label": "",
"description": ""
},
"showMissingMovies": {
"label": "",
"description": ""
},
"showProviderIssues": {
"label": "",
"description": ""
},
"showHealthIssues": {
"label": "",
"description": ""
}
},
"error": {
"internalServerError": ""
}
},
"immich-serverStats": {
"name": "",
"description": "",
@@ -2782,6 +3017,7 @@
},
"immich-albumCarousel": {
"name": "",
"allPhotos": "",
"option": {
"albumId": {
"label": "",
@@ -2801,7 +3037,6 @@
}
},
"description": "",
"noAlbumSelected": "",
"noPhotos": ""
},
"downloads": {
@@ -2986,6 +3221,12 @@
"option": {
"linksTargetNewTab": {
"label": "Links in nieuw tabblad openen"
},
"statusFilter": {
"label": ""
},
"recentDays": {
"label": ""
}
},
"pending": {
@@ -3093,6 +3334,35 @@
}
}
},
"mediaMissing": {
"name": "",
"description": "",
"option": {
"showMissing": {
"label": ""
},
"showQueued": {
"label": ""
},
"pageSize": {
"label": ""
}
},
"tab": {
"missing": "",
"queued": ""
},
"type": {
"movie": "",
"episode": ""
},
"empty": {
"missing": "",
"queued": "",
"noTabsEnabled": ""
},
"timeLeft": ""
},
"rssFeed": {
"name": "RSS-feeds",
"description": "Eén of meer algemene RSS-, ATOM- of JSON-feeds monitoren en weergeven",
@@ -3336,7 +3606,11 @@
"name": "Meldingen",
"description": "",
"noItems": "Geen meldingen om weer te geven.",
"option": {}
"option": {
"hideLogos": {
"label": ""
}
}
},
"speedtestTracker": {
"name": "",
@@ -3417,6 +3691,40 @@
"internalServerError": ""
}
},
"traefik": {
"name": "",
"description": "",
"option": {
"showTcp": {
"label": ""
},
"showUdp": {
"label": ""
},
"showEntryPoints": {
"label": ""
}
},
"instances": "",
"versionUnknown": "",
"summary": {
"routers": "",
"entryPoints": ""
},
"resource": {
"routers": "",
"services": "",
"middlewares": ""
},
"status": {
"healthy": "",
"errors": "",
"warnings": ""
},
"error": {
"internalServerError": ""
}
},
"audioStats": {
"name": "",
"description": "",
@@ -3792,6 +4100,11 @@
"read": "",
"write": ""
},
"storage": {
"title": "",
"subtitle": "",
"series": ""
},
"network": {
"title": "",
"subtitle": "",
@@ -4924,6 +5237,9 @@
"title": "Containers",
"table": {
"updated": "{when} bijgewerkt",
"refresh": {
"lastUpdated": ""
},
"search": "{count} containers zoeken",
"selected": "{selectCount} van {totalCount} containers geselecteerd",
"footer": "Totaal {count} containers",
@@ -5652,6 +5968,14 @@
}
}
},
"enableRightClickOnWidgets": {
"label": "",
"children": {
"detail": {
"title": ""
}
}
},
"fullPreferencesPage": {
"label": ""
}
+327 -3
View File
@@ -198,6 +198,10 @@
"pingIconsEnabled": {
"label": "Bruk ikoner for pinger"
},
"enableRightClickOnWidgets": {
"label": "",
"description": ""
},
"defaultSearchEngine": {
"label": "Standard søkemotor"
},
@@ -1285,6 +1289,14 @@
"label": "API Nøkkel (Hemliglet)",
"newLabel": "Ny API Key (Secret)"
},
"patchmonApiKey": {
"label": "",
"newLabel": ""
},
"patchmonApiSecret": {
"label": "",
"newLabel": ""
},
"githubAppId": {
"label": "App Id",
"newLabel": "Ny App Id"
@@ -1328,9 +1340,21 @@
}
}
},
"traefik": {
"name": "",
"description": ""
},
"paperlessNgx": {
"name": "",
"description": ""
},
"patchmon": {
"name": "",
"description": ""
},
"bazarr": {
"name": "",
"description": ""
}
},
"media": {
@@ -1602,6 +1626,12 @@
"refresh": "",
"options": "",
"actions": ""
},
"status": {
"success": "",
"error": "",
"loading": "",
"idle": ""
}
},
"create": {
@@ -1875,6 +1905,16 @@
"customDateFormat": {
"label": "Egendefinert dato format",
"description": "Bruk ISO 8601 til å formatere datoen (dette vil overstyre andre alternativer)"
},
"showWeather": {
"label": "",
"description": ""
},
"weatherLocation": {
"label": ""
},
"isWeatherFormatFahrenheit": {
"label": ""
}
}
},
@@ -1936,6 +1976,8 @@
"clear": "Fjern formatering",
"heading": "Overskrift {level}",
"align": "Juster tekst: {position}",
"directionLtr": "",
"directionRtl": "",
"blockquote": "Blokksitat",
"horizontalLine": "Horisontal linje",
"bulletList": "Punktliste",
@@ -2225,7 +2267,8 @@
"sunrise": "Soloppgang",
"sunset": "Solnedgang",
"maxWindSpeed": "Maks vindhastighet: {maxWindSpeed} {unit}",
"maxWindGusts": "Maks vindkast: {maxWindGusts} {unit}"
"maxWindGusts": "Maks vindkast: {maxWindGusts} {unit}",
"humidity": ""
},
"kind": {
"clear": "Tøm",
@@ -2689,6 +2732,11 @@
"user": "Bruker",
"name": "Navn",
"id": "Id",
"status": "",
"directPlay": "",
"transcoding": "",
"paused": "",
"remaining": "",
"metadata": {
"title": "Statistikk for nerder",
"video": {
@@ -2754,6 +2802,193 @@
"internalServerError": ""
}
},
"patchmon": {
"name": "",
"description": "",
"title": "",
"totalHosts": "",
"hostsNeedingUpdates": "",
"securityUpdates": "",
"upToDateHosts": "",
"hostsWithSecurityUpdates": "",
"recentUpdates24h": "",
"totalOutdatedPackages": "",
"totalRepos": "",
"osDistribution": "",
"compliance": "",
"complianceRatio": "",
"lastUpdated": "",
"option": {
"showTotalHosts": {
"label": "",
"description": ""
},
"showHostsNeedingUpdates": {
"label": "",
"description": ""
},
"showSecurityUpdates": {
"label": "",
"description": ""
},
"showUpToDateHosts": {
"label": "",
"description": ""
},
"showHostsWithSecurityUpdates": {
"label": "",
"description": ""
},
"showRecentUpdates24h": {
"label": "",
"description": ""
},
"showTotalOutdatedPackages": {
"label": "",
"description": ""
},
"showTotalRepos": {
"label": "",
"description": ""
},
"enableThresholdColors": {
"label": "",
"description": ""
},
"useCustomThresholds": {
"label": "",
"description": ""
},
"thresholdMode": {
"option": {
"absolute": "",
"percent": ""
}
},
"hostsNeedingUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesCriticalAt": {
"label": "",
"description": ""
},
"securityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"securityUpdatesWarningAt": {
"label": "",
"description": ""
},
"securityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"upToDateHostsThresholdMode": {
"label": "",
"description": ""
},
"upToDateHostsWarningAt": {
"label": "",
"description": ""
},
"upToDateHostsCriticalAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesThresholdMode": {
"label": "",
"description": ""
},
"totalOutdatedPackagesWarningAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesCriticalAt": {
"label": "",
"description": ""
},
"showOsDistribution": {
"label": "",
"description": ""
},
"osDistributionLimit": {
"label": "",
"description": "",
"option": {
"3": "",
"5": "",
"10": "",
"all": ""
}
},
"showOsVersion": {
"label": "",
"description": ""
},
"showComplianceHero": {
"label": "",
"description": ""
},
"osDisplayMode": {
"label": "",
"description": "",
"option": {
"bars": "",
"donut": ""
}
}
},
"error": {
"internalServerError": ""
}
},
"bazarr": {
"name": "",
"description": "",
"episodes": "",
"movies": "",
"providers": "",
"status": "",
"option": {
"showMissingEpisodes": {
"label": "",
"description": ""
},
"showMissingMovies": {
"label": "",
"description": ""
},
"showProviderIssues": {
"label": "",
"description": ""
},
"showHealthIssues": {
"label": "",
"description": ""
}
},
"error": {
"internalServerError": ""
}
},
"immich-serverStats": {
"name": "Immich-serverstatistikk",
"description": "Informasjon om din Immich-instans",
@@ -2782,6 +3017,7 @@
},
"immich-albumCarousel": {
"name": "Immich Album",
"allPhotos": "",
"option": {
"albumId": {
"label": "Album ID",
@@ -2801,7 +3037,6 @@
}
},
"description": "Lysbildefremvisning av bilder i ditt Immich-album",
"noAlbumSelected": "Ingen album valgt, rediger widgeten og velg et album",
"noPhotos": "Ingen bilder i dette albumet"
},
"downloads": {
@@ -2986,6 +3221,12 @@
"option": {
"linksTargetNewTab": {
"label": "Åpne lenker i ny fane"
},
"statusFilter": {
"label": ""
},
"recentDays": {
"label": ""
}
},
"pending": {
@@ -3093,6 +3334,35 @@
}
}
},
"mediaMissing": {
"name": "",
"description": "",
"option": {
"showMissing": {
"label": ""
},
"showQueued": {
"label": ""
},
"pageSize": {
"label": ""
}
},
"tab": {
"missing": "",
"queued": ""
},
"type": {
"movie": "",
"episode": ""
},
"empty": {
"missing": "",
"queued": "",
"noTabsEnabled": ""
},
"timeLeft": ""
},
"rssFeed": {
"name": "RSS feed",
"description": "Overvåk og vis en eller flere generiske RSS, ATOM eller JSON-feeder",
@@ -3336,7 +3606,11 @@
"name": "Varsler",
"description": "Vis varselhistorikk fra en integrasjon",
"noItems": "Ingen varsler å vise.",
"option": {}
"option": {
"hideLogos": {
"label": ""
}
}
},
"speedtestTracker": {
"name": "Speedtest tracker",
@@ -3417,6 +3691,40 @@
"internalServerError": ""
}
},
"traefik": {
"name": "",
"description": "",
"option": {
"showTcp": {
"label": ""
},
"showUdp": {
"label": ""
},
"showEntryPoints": {
"label": ""
}
},
"instances": "",
"versionUnknown": "",
"summary": {
"routers": "",
"entryPoints": ""
},
"resource": {
"routers": "",
"services": "",
"middlewares": ""
},
"status": {
"healthy": "",
"errors": "",
"warnings": ""
},
"error": {
"internalServerError": ""
}
},
"audioStats": {
"name": "",
"description": "",
@@ -3792,6 +4100,11 @@
"read": "",
"write": ""
},
"storage": {
"title": "",
"subtitle": "",
"series": ""
},
"network": {
"title": "",
"subtitle": "",
@@ -4924,6 +5237,9 @@
"title": "Containere",
"table": {
"updated": "Oppdatert {when}",
"refresh": {
"lastUpdated": ""
},
"search": "Søk {count} containere",
"selected": "{selectCount} av {totalCount} containere valgt",
"footer": "Totalt {count} containere",
@@ -5652,6 +5968,14 @@
}
}
},
"enableRightClickOnWidgets": {
"label": "",
"children": {
"detail": {
"title": ""
}
}
},
"fullPreferencesPage": {
"label": ""
}
+327 -3
View File
@@ -198,6 +198,10 @@
"pingIconsEnabled": {
"label": "Użyj ikon dla pingów"
},
"enableRightClickOnWidgets": {
"label": "",
"description": ""
},
"defaultSearchEngine": {
"label": "Domyślna wyszukiwarka"
},
@@ -1285,6 +1289,14 @@
"label": "Klucz API (Secret)",
"newLabel": "Nowy klucz API (Secret)"
},
"patchmonApiKey": {
"label": "",
"newLabel": ""
},
"patchmonApiSecret": {
"label": "",
"newLabel": ""
},
"githubAppId": {
"label": "Identyfikator aplikacji",
"newLabel": "Nowy identyfikator aplikacji"
@@ -1328,9 +1340,21 @@
}
}
},
"traefik": {
"name": "",
"description": ""
},
"paperlessNgx": {
"name": "Paperless-ngx",
"description": "System zarządzania dokumentami do archiwizacji i organizacji zeskanowaych dokumnteów"
},
"patchmon": {
"name": "",
"description": ""
},
"bazarr": {
"name": "",
"description": ""
}
},
"media": {
@@ -1602,6 +1626,12 @@
"refresh": "Odśwież",
"options": "Opcje",
"actions": "Akcje"
},
"status": {
"success": "",
"error": "",
"loading": "",
"idle": ""
}
},
"create": {
@@ -1875,6 +1905,16 @@
"customDateFormat": {
"label": "Niestandardowy format daty",
"description": "Użyj ISO 8601 do formatu daty (spowoduje to nadpisanie innych opcji)"
},
"showWeather": {
"label": "",
"description": ""
},
"weatherLocation": {
"label": ""
},
"isWeatherFormatFahrenheit": {
"label": ""
}
}
},
@@ -1936,6 +1976,8 @@
"clear": "Wyczyść formatowanie",
"heading": "Nagłówek {level}",
"align": "Wyrównanie tekstu: {position}",
"directionLtr": "",
"directionRtl": "",
"blockquote": "Cytat",
"horizontalLine": "Linia pozioma",
"bulletList": "Lista punktowana",
@@ -2225,7 +2267,8 @@
"sunrise": "Wschód słońca",
"sunset": "Zachód słońca",
"maxWindSpeed": "Maksymalna prędkość wiatru: {maxWindSpeed} km/h",
"maxWindGusts": "Maksymalne porywy wiatru: {maxWindGusts} km/h"
"maxWindGusts": "Maksymalne porywy wiatru: {maxWindGusts} km/h",
"humidity": ""
},
"kind": {
"clear": "Bezchmurnie",
@@ -2689,6 +2732,11 @@
"user": "Użytkownik",
"name": "Nazwa",
"id": "ID",
"status": "",
"directPlay": "",
"transcoding": "",
"paused": "",
"remaining": "",
"metadata": {
"title": "Statystyki dla nerdów",
"video": {
@@ -2754,6 +2802,193 @@
"internalServerError": "Nie udało się pobrać danych Paperless-ngx"
}
},
"patchmon": {
"name": "",
"description": "",
"title": "",
"totalHosts": "",
"hostsNeedingUpdates": "",
"securityUpdates": "",
"upToDateHosts": "",
"hostsWithSecurityUpdates": "",
"recentUpdates24h": "",
"totalOutdatedPackages": "",
"totalRepos": "",
"osDistribution": "",
"compliance": "",
"complianceRatio": "",
"lastUpdated": "",
"option": {
"showTotalHosts": {
"label": "",
"description": ""
},
"showHostsNeedingUpdates": {
"label": "",
"description": ""
},
"showSecurityUpdates": {
"label": "",
"description": ""
},
"showUpToDateHosts": {
"label": "",
"description": ""
},
"showHostsWithSecurityUpdates": {
"label": "",
"description": ""
},
"showRecentUpdates24h": {
"label": "",
"description": ""
},
"showTotalOutdatedPackages": {
"label": "",
"description": ""
},
"showTotalRepos": {
"label": "",
"description": ""
},
"enableThresholdColors": {
"label": "",
"description": ""
},
"useCustomThresholds": {
"label": "",
"description": ""
},
"thresholdMode": {
"option": {
"absolute": "",
"percent": ""
}
},
"hostsNeedingUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesCriticalAt": {
"label": "",
"description": ""
},
"securityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"securityUpdatesWarningAt": {
"label": "",
"description": ""
},
"securityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"upToDateHostsThresholdMode": {
"label": "",
"description": ""
},
"upToDateHostsWarningAt": {
"label": "",
"description": ""
},
"upToDateHostsCriticalAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesThresholdMode": {
"label": "",
"description": ""
},
"totalOutdatedPackagesWarningAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesCriticalAt": {
"label": "",
"description": ""
},
"showOsDistribution": {
"label": "",
"description": ""
},
"osDistributionLimit": {
"label": "",
"description": "",
"option": {
"3": "",
"5": "",
"10": "",
"all": ""
}
},
"showOsVersion": {
"label": "",
"description": ""
},
"showComplianceHero": {
"label": "",
"description": ""
},
"osDisplayMode": {
"label": "",
"description": "",
"option": {
"bars": "",
"donut": ""
}
}
},
"error": {
"internalServerError": ""
}
},
"bazarr": {
"name": "",
"description": "",
"episodes": "",
"movies": "",
"providers": "",
"status": "",
"option": {
"showMissingEpisodes": {
"label": "",
"description": ""
},
"showMissingMovies": {
"label": "",
"description": ""
},
"showProviderIssues": {
"label": "",
"description": ""
},
"showHealthIssues": {
"label": "",
"description": ""
}
},
"error": {
"internalServerError": ""
}
},
"immich-serverStats": {
"name": "Statystyki serwera Immich",
"description": "Informacje o Twojej instancji Immich",
@@ -2782,6 +3017,7 @@
},
"immich-albumCarousel": {
"name": "Album Immich",
"allPhotos": "",
"option": {
"albumId": {
"label": "ID albumu",
@@ -2801,7 +3037,6 @@
}
},
"description": "Pokaz slajdów zdjęć z Twojego albumu w Immich",
"noAlbumSelected": "Nie wybrano albumu. Edytuj widget i wybierz album",
"noPhotos": "Brak zdjęć w tym albumie"
},
"downloads": {
@@ -2986,6 +3221,12 @@
"option": {
"linksTargetNewTab": {
"label": "Otwieraj linki w nowej karcie"
},
"statusFilter": {
"label": ""
},
"recentDays": {
"label": ""
}
},
"pending": {
@@ -3093,6 +3334,35 @@
}
}
},
"mediaMissing": {
"name": "",
"description": "",
"option": {
"showMissing": {
"label": ""
},
"showQueued": {
"label": ""
},
"pageSize": {
"label": ""
}
},
"tab": {
"missing": "",
"queued": ""
},
"type": {
"movie": "",
"episode": ""
},
"empty": {
"missing": "",
"queued": "",
"noTabsEnabled": ""
},
"timeLeft": ""
},
"rssFeed": {
"name": "Kanały RSS",
"description": "Monitoruj i wyświetlaj jeden lub więcej ogólnych kanałów RSS, ATOM lub JSON",
@@ -3336,7 +3606,11 @@
"name": "Powiadomienia",
"description": "Wyświetl historię powiadomień z integracji",
"noItems": "Brak powiadomień do wyświetlenia.",
"option": {}
"option": {
"hideLogos": {
"label": ""
}
}
},
"speedtestTracker": {
"name": "Speedtest Tracker",
@@ -3417,6 +3691,40 @@
"internalServerError": "Nie udało się pobrać danych czasu pracy"
}
},
"traefik": {
"name": "",
"description": "",
"option": {
"showTcp": {
"label": ""
},
"showUdp": {
"label": ""
},
"showEntryPoints": {
"label": ""
}
},
"instances": "",
"versionUnknown": "",
"summary": {
"routers": "",
"entryPoints": ""
},
"resource": {
"routers": "",
"services": "",
"middlewares": ""
},
"status": {
"healthy": "",
"errors": "",
"warnings": ""
},
"error": {
"internalServerError": ""
}
},
"audioStats": {
"name": "Audio stats",
"description": "Statystyki biblioteki i odtwarzania z Navidrome lub Audiobookshelf",
@@ -3792,6 +4100,11 @@
"read": "Odczyt",
"write": "Zapis"
},
"storage": {
"title": "",
"subtitle": "",
"series": ""
},
"network": {
"title": "Przepustowość",
"subtitle": "Ruch sieciowy interfejsów publicznych",
@@ -4924,6 +5237,9 @@
"title": "Kontenery",
"table": {
"updated": "Zaktualizowano {when}",
"refresh": {
"lastUpdated": ""
},
"search": "Szukaj wśród {count} kontenerów",
"selected": "Wybrano {selectCount} z {totalCount} kontenerów",
"footer": "Łącznie {count} kontenerów",
@@ -5652,6 +5968,14 @@
}
}
},
"enableRightClickOnWidgets": {
"label": "",
"children": {
"detail": {
"title": ""
}
}
},
"fullPreferencesPage": {
"label": "Otwórz pełną stronę preferencji"
}
+327 -3
View File
@@ -198,6 +198,10 @@
"pingIconsEnabled": {
"label": "Usar ícone para pings"
},
"enableRightClickOnWidgets": {
"label": "",
"description": ""
},
"defaultSearchEngine": {
"label": "Mecanismo de pesquisa padrão"
},
@@ -1285,6 +1289,14 @@
"label": "Chave de API (Key)",
"newLabel": "Nova Chave de API (Key)"
},
"patchmonApiKey": {
"label": "",
"newLabel": ""
},
"patchmonApiSecret": {
"label": "",
"newLabel": ""
},
"githubAppId": {
"label": "ID do Aplicativo",
"newLabel": "Novo ID de Aplicativo"
@@ -1328,9 +1340,21 @@
}
}
},
"traefik": {
"name": "",
"description": ""
},
"paperlessNgx": {
"name": "",
"description": "Sistema de gerenciamento de documentos para arquivamento e organização de documentos digitalizados"
},
"patchmon": {
"name": "",
"description": ""
},
"bazarr": {
"name": "",
"description": ""
}
},
"media": {
@@ -1602,6 +1626,12 @@
"refresh": "",
"options": "",
"actions": ""
},
"status": {
"success": "",
"error": "",
"loading": "",
"idle": ""
}
},
"create": {
@@ -1875,6 +1905,16 @@
"customDateFormat": {
"label": "Formato de data personalizado",
"description": "Usar ISO 8601 para formatar datas (Isso sobrescreverá outras opções)"
},
"showWeather": {
"label": "",
"description": ""
},
"weatherLocation": {
"label": ""
},
"isWeatherFormatFahrenheit": {
"label": ""
}
}
},
@@ -1936,6 +1976,8 @@
"clear": "Limpar formatação",
"heading": "Cabeçalho {level}",
"align": "Alinhar texto: {position}",
"directionLtr": "",
"directionRtl": "",
"blockquote": "Bloco de Citação",
"horizontalLine": "Linha horizontal",
"bulletList": "Lista de marcadores",
@@ -2225,7 +2267,8 @@
"sunrise": "Nascer do sol",
"sunset": "Pôr do sol",
"maxWindSpeed": "Velocidade máxima do vento: {maxWindSpeed} {unit}",
"maxWindGusts": "Rajadas máximas de vento: {maxWindGusts} {unit}"
"maxWindGusts": "Rajadas máximas de vento: {maxWindGusts} {unit}",
"humidity": ""
},
"kind": {
"clear": "Limpar",
@@ -2689,6 +2732,11 @@
"user": "Usuário",
"name": "Nome",
"id": "Id",
"status": "",
"directPlay": "",
"transcoding": "",
"paused": "",
"remaining": "",
"metadata": {
"title": "Estatísticas para nerds",
"video": {
@@ -2754,6 +2802,193 @@
"internalServerError": ""
}
},
"patchmon": {
"name": "",
"description": "",
"title": "",
"totalHosts": "",
"hostsNeedingUpdates": "",
"securityUpdates": "",
"upToDateHosts": "",
"hostsWithSecurityUpdates": "",
"recentUpdates24h": "",
"totalOutdatedPackages": "",
"totalRepos": "",
"osDistribution": "",
"compliance": "",
"complianceRatio": "",
"lastUpdated": "",
"option": {
"showTotalHosts": {
"label": "",
"description": ""
},
"showHostsNeedingUpdates": {
"label": "",
"description": ""
},
"showSecurityUpdates": {
"label": "",
"description": ""
},
"showUpToDateHosts": {
"label": "",
"description": ""
},
"showHostsWithSecurityUpdates": {
"label": "",
"description": ""
},
"showRecentUpdates24h": {
"label": "",
"description": ""
},
"showTotalOutdatedPackages": {
"label": "",
"description": ""
},
"showTotalRepos": {
"label": "",
"description": ""
},
"enableThresholdColors": {
"label": "",
"description": ""
},
"useCustomThresholds": {
"label": "",
"description": ""
},
"thresholdMode": {
"option": {
"absolute": "",
"percent": ""
}
},
"hostsNeedingUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesCriticalAt": {
"label": "",
"description": ""
},
"securityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"securityUpdatesWarningAt": {
"label": "",
"description": ""
},
"securityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"upToDateHostsThresholdMode": {
"label": "",
"description": ""
},
"upToDateHostsWarningAt": {
"label": "",
"description": ""
},
"upToDateHostsCriticalAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesThresholdMode": {
"label": "",
"description": ""
},
"totalOutdatedPackagesWarningAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesCriticalAt": {
"label": "",
"description": ""
},
"showOsDistribution": {
"label": "",
"description": ""
},
"osDistributionLimit": {
"label": "",
"description": "",
"option": {
"3": "",
"5": "",
"10": "",
"all": ""
}
},
"showOsVersion": {
"label": "",
"description": ""
},
"showComplianceHero": {
"label": "",
"description": ""
},
"osDisplayMode": {
"label": "",
"description": "",
"option": {
"bars": "",
"donut": ""
}
}
},
"error": {
"internalServerError": ""
}
},
"bazarr": {
"name": "",
"description": "",
"episodes": "",
"movies": "",
"providers": "",
"status": "",
"option": {
"showMissingEpisodes": {
"label": "",
"description": ""
},
"showMissingMovies": {
"label": "",
"description": ""
},
"showProviderIssues": {
"label": "",
"description": ""
},
"showHealthIssues": {
"label": "",
"description": ""
}
},
"error": {
"internalServerError": ""
}
},
"immich-serverStats": {
"name": "Estatísticas do Servidor Immich",
"description": "Informações sobre sua instância do Immich",
@@ -2782,6 +3017,7 @@
},
"immich-albumCarousel": {
"name": "Álbum do Immich",
"allPhotos": "",
"option": {
"albumId": {
"label": "ID do Álbum",
@@ -2801,7 +3037,6 @@
}
},
"description": "Apresentação de imagens em seu álbum Imich",
"noAlbumSelected": "Nenhum álbum selecionado, edite o widget e escolha um álbum",
"noPhotos": "Nenhuma foto neste álbum"
},
"downloads": {
@@ -2986,6 +3221,12 @@
"option": {
"linksTargetNewTab": {
"label": "Abrir links em uma nova guia"
},
"statusFilter": {
"label": ""
},
"recentDays": {
"label": ""
}
},
"pending": {
@@ -3093,6 +3334,35 @@
}
}
},
"mediaMissing": {
"name": "",
"description": "",
"option": {
"showMissing": {
"label": ""
},
"showQueued": {
"label": ""
},
"pageSize": {
"label": ""
}
},
"tab": {
"missing": "",
"queued": ""
},
"type": {
"movie": "",
"episode": ""
},
"empty": {
"missing": "",
"queued": "",
"noTabsEnabled": ""
},
"timeLeft": ""
},
"rssFeed": {
"name": "Feeds RSS",
"description": "Monitora e exibe um ou mais feeds RSS, ATOM ou JSON genéricos",
@@ -3336,7 +3606,11 @@
"name": "Notificações",
"description": "Exibe histórico de notificações de uma integração",
"noItems": "Nenhuma notificação para exibir.",
"option": {}
"option": {
"hideLogos": {
"label": ""
}
}
},
"speedtestTracker": {
"name": "Speedtest Tracker",
@@ -3417,6 +3691,40 @@
"internalServerError": ""
}
},
"traefik": {
"name": "",
"description": "",
"option": {
"showTcp": {
"label": ""
},
"showUdp": {
"label": ""
},
"showEntryPoints": {
"label": ""
}
},
"instances": "",
"versionUnknown": "",
"summary": {
"routers": "",
"entryPoints": ""
},
"resource": {
"routers": "",
"services": "",
"middlewares": ""
},
"status": {
"healthy": "",
"errors": "",
"warnings": ""
},
"error": {
"internalServerError": ""
}
},
"audioStats": {
"name": "",
"description": "",
@@ -3792,6 +4100,11 @@
"read": "",
"write": ""
},
"storage": {
"title": "",
"subtitle": "",
"series": ""
},
"network": {
"title": "",
"subtitle": "",
@@ -4924,6 +5237,9 @@
"title": "Contêineres",
"table": {
"updated": "Atualizado em {when}",
"refresh": {
"lastUpdated": ""
},
"search": "Buscar {count} contêineres",
"selected": "{selectCount} de {totalCount} contêineres selecionados",
"footer": "Total de contêineres: {count}",
@@ -5652,6 +5968,14 @@
}
}
},
"enableRightClickOnWidgets": {
"label": "",
"children": {
"detail": {
"title": ""
}
}
},
"fullPreferencesPage": {
"label": ""
}
+327 -3
View File
@@ -198,6 +198,10 @@
"pingIconsEnabled": {
"label": ""
},
"enableRightClickOnWidgets": {
"label": "",
"description": ""
},
"defaultSearchEngine": {
"label": ""
},
@@ -1285,6 +1289,14 @@
"label": "",
"newLabel": ""
},
"patchmonApiKey": {
"label": "",
"newLabel": ""
},
"patchmonApiSecret": {
"label": "",
"newLabel": ""
},
"githubAppId": {
"label": "",
"newLabel": ""
@@ -1328,9 +1340,21 @@
}
}
},
"traefik": {
"name": "",
"description": ""
},
"paperlessNgx": {
"name": "",
"description": ""
},
"patchmon": {
"name": "",
"description": ""
},
"bazarr": {
"name": "",
"description": ""
}
},
"media": {
@@ -1602,6 +1626,12 @@
"refresh": "",
"options": "",
"actions": ""
},
"status": {
"success": "",
"error": "",
"loading": "",
"idle": ""
}
},
"create": {
@@ -1875,6 +1905,16 @@
"customDateFormat": {
"label": "",
"description": ""
},
"showWeather": {
"label": "",
"description": ""
},
"weatherLocation": {
"label": ""
},
"isWeatherFormatFahrenheit": {
"label": ""
}
}
},
@@ -1936,6 +1976,8 @@
"clear": "",
"heading": "",
"align": "",
"directionLtr": "",
"directionRtl": "",
"blockquote": "",
"horizontalLine": "",
"bulletList": "",
@@ -2225,7 +2267,8 @@
"sunrise": "",
"sunset": "",
"maxWindSpeed": "",
"maxWindGusts": ""
"maxWindGusts": "",
"humidity": ""
},
"kind": {
"clear": "",
@@ -2689,6 +2732,11 @@
"user": "",
"name": "",
"id": "",
"status": "",
"directPlay": "",
"transcoding": "",
"paused": "",
"remaining": "",
"metadata": {
"title": "",
"video": {
@@ -2754,6 +2802,193 @@
"internalServerError": ""
}
},
"patchmon": {
"name": "",
"description": "",
"title": "",
"totalHosts": "",
"hostsNeedingUpdates": "",
"securityUpdates": "",
"upToDateHosts": "",
"hostsWithSecurityUpdates": "",
"recentUpdates24h": "",
"totalOutdatedPackages": "",
"totalRepos": "",
"osDistribution": "",
"compliance": "",
"complianceRatio": "",
"lastUpdated": "",
"option": {
"showTotalHosts": {
"label": "",
"description": ""
},
"showHostsNeedingUpdates": {
"label": "",
"description": ""
},
"showSecurityUpdates": {
"label": "",
"description": ""
},
"showUpToDateHosts": {
"label": "",
"description": ""
},
"showHostsWithSecurityUpdates": {
"label": "",
"description": ""
},
"showRecentUpdates24h": {
"label": "",
"description": ""
},
"showTotalOutdatedPackages": {
"label": "",
"description": ""
},
"showTotalRepos": {
"label": "",
"description": ""
},
"enableThresholdColors": {
"label": "",
"description": ""
},
"useCustomThresholds": {
"label": "",
"description": ""
},
"thresholdMode": {
"option": {
"absolute": "",
"percent": ""
}
},
"hostsNeedingUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesCriticalAt": {
"label": "",
"description": ""
},
"securityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"securityUpdatesWarningAt": {
"label": "",
"description": ""
},
"securityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"upToDateHostsThresholdMode": {
"label": "",
"description": ""
},
"upToDateHostsWarningAt": {
"label": "",
"description": ""
},
"upToDateHostsCriticalAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesThresholdMode": {
"label": "",
"description": ""
},
"totalOutdatedPackagesWarningAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesCriticalAt": {
"label": "",
"description": ""
},
"showOsDistribution": {
"label": "",
"description": ""
},
"osDistributionLimit": {
"label": "",
"description": "",
"option": {
"3": "",
"5": "",
"10": "",
"all": ""
}
},
"showOsVersion": {
"label": "",
"description": ""
},
"showComplianceHero": {
"label": "",
"description": ""
},
"osDisplayMode": {
"label": "",
"description": "",
"option": {
"bars": "",
"donut": ""
}
}
},
"error": {
"internalServerError": ""
}
},
"bazarr": {
"name": "",
"description": "",
"episodes": "",
"movies": "",
"providers": "",
"status": "",
"option": {
"showMissingEpisodes": {
"label": "",
"description": ""
},
"showMissingMovies": {
"label": "",
"description": ""
},
"showProviderIssues": {
"label": "",
"description": ""
},
"showHealthIssues": {
"label": "",
"description": ""
}
},
"error": {
"internalServerError": ""
}
},
"immich-serverStats": {
"name": "",
"description": "",
@@ -2782,6 +3017,7 @@
},
"immich-albumCarousel": {
"name": "",
"allPhotos": "",
"option": {
"albumId": {
"label": "",
@@ -2801,7 +3037,6 @@
}
},
"description": "",
"noAlbumSelected": "",
"noPhotos": ""
},
"downloads": {
@@ -2986,6 +3221,12 @@
"option": {
"linksTargetNewTab": {
"label": ""
},
"statusFilter": {
"label": ""
},
"recentDays": {
"label": ""
}
},
"pending": {
@@ -3093,6 +3334,35 @@
}
}
},
"mediaMissing": {
"name": "",
"description": "",
"option": {
"showMissing": {
"label": ""
},
"showQueued": {
"label": ""
},
"pageSize": {
"label": ""
}
},
"tab": {
"missing": "",
"queued": ""
},
"type": {
"movie": "",
"episode": ""
},
"empty": {
"missing": "",
"queued": "",
"noTabsEnabled": ""
},
"timeLeft": ""
},
"rssFeed": {
"name": "",
"description": "",
@@ -3336,7 +3606,11 @@
"name": "",
"description": "",
"noItems": "",
"option": {}
"option": {
"hideLogos": {
"label": ""
}
}
},
"speedtestTracker": {
"name": "",
@@ -3417,6 +3691,40 @@
"internalServerError": ""
}
},
"traefik": {
"name": "",
"description": "",
"option": {
"showTcp": {
"label": ""
},
"showUdp": {
"label": ""
},
"showEntryPoints": {
"label": ""
}
},
"instances": "",
"versionUnknown": "",
"summary": {
"routers": "",
"entryPoints": ""
},
"resource": {
"routers": "",
"services": "",
"middlewares": ""
},
"status": {
"healthy": "",
"errors": "",
"warnings": ""
},
"error": {
"internalServerError": ""
}
},
"audioStats": {
"name": "",
"description": "",
@@ -3792,6 +4100,11 @@
"read": "",
"write": ""
},
"storage": {
"title": "",
"subtitle": "",
"series": ""
},
"network": {
"title": "",
"subtitle": "",
@@ -4924,6 +5237,9 @@
"title": "",
"table": {
"updated": "",
"refresh": {
"lastUpdated": ""
},
"search": "",
"selected": "",
"footer": "",
@@ -5652,6 +5968,14 @@
}
}
},
"enableRightClickOnWidgets": {
"label": "",
"children": {
"detail": {
"title": ""
}
}
},
"fullPreferencesPage": {
"label": ""
}
+327 -3
View File
@@ -198,6 +198,10 @@
"pingIconsEnabled": {
"label": ""
},
"enableRightClickOnWidgets": {
"label": "",
"description": ""
},
"defaultSearchEngine": {
"label": ""
},
@@ -1285,6 +1289,14 @@
"label": "",
"newLabel": ""
},
"patchmonApiKey": {
"label": "",
"newLabel": ""
},
"patchmonApiSecret": {
"label": "",
"newLabel": ""
},
"githubAppId": {
"label": "",
"newLabel": ""
@@ -1328,9 +1340,21 @@
}
}
},
"traefik": {
"name": "",
"description": ""
},
"paperlessNgx": {
"name": "",
"description": ""
},
"patchmon": {
"name": "",
"description": ""
},
"bazarr": {
"name": "",
"description": ""
}
},
"media": {
@@ -1602,6 +1626,12 @@
"refresh": "",
"options": "",
"actions": ""
},
"status": {
"success": "",
"error": "",
"loading": "",
"idle": ""
}
},
"create": {
@@ -1875,6 +1905,16 @@
"customDateFormat": {
"label": "",
"description": ""
},
"showWeather": {
"label": "",
"description": ""
},
"weatherLocation": {
"label": ""
},
"isWeatherFormatFahrenheit": {
"label": ""
}
}
},
@@ -1936,6 +1976,8 @@
"clear": "Curăță formatul",
"heading": "Rubrica {level}",
"align": "Așezați textul: {position}",
"directionLtr": "",
"directionRtl": "",
"blockquote": "Citat",
"horizontalLine": "Linie orizontală",
"bulletList": "Listă cu puncte",
@@ -2225,7 +2267,8 @@
"sunrise": "",
"sunset": "",
"maxWindSpeed": "",
"maxWindGusts": ""
"maxWindGusts": "",
"humidity": ""
},
"kind": {
"clear": "Senin",
@@ -2689,6 +2732,11 @@
"user": "",
"name": "",
"id": "",
"status": "",
"directPlay": "",
"transcoding": "",
"paused": "",
"remaining": "",
"metadata": {
"title": "",
"video": {
@@ -2754,6 +2802,193 @@
"internalServerError": ""
}
},
"patchmon": {
"name": "",
"description": "",
"title": "",
"totalHosts": "",
"hostsNeedingUpdates": "",
"securityUpdates": "",
"upToDateHosts": "",
"hostsWithSecurityUpdates": "",
"recentUpdates24h": "",
"totalOutdatedPackages": "",
"totalRepos": "",
"osDistribution": "",
"compliance": "",
"complianceRatio": "",
"lastUpdated": "",
"option": {
"showTotalHosts": {
"label": "",
"description": ""
},
"showHostsNeedingUpdates": {
"label": "",
"description": ""
},
"showSecurityUpdates": {
"label": "",
"description": ""
},
"showUpToDateHosts": {
"label": "",
"description": ""
},
"showHostsWithSecurityUpdates": {
"label": "",
"description": ""
},
"showRecentUpdates24h": {
"label": "",
"description": ""
},
"showTotalOutdatedPackages": {
"label": "",
"description": ""
},
"showTotalRepos": {
"label": "",
"description": ""
},
"enableThresholdColors": {
"label": "",
"description": ""
},
"useCustomThresholds": {
"label": "",
"description": ""
},
"thresholdMode": {
"option": {
"absolute": "",
"percent": ""
}
},
"hostsNeedingUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesCriticalAt": {
"label": "",
"description": ""
},
"securityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"securityUpdatesWarningAt": {
"label": "",
"description": ""
},
"securityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"upToDateHostsThresholdMode": {
"label": "",
"description": ""
},
"upToDateHostsWarningAt": {
"label": "",
"description": ""
},
"upToDateHostsCriticalAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesThresholdMode": {
"label": "",
"description": ""
},
"totalOutdatedPackagesWarningAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesCriticalAt": {
"label": "",
"description": ""
},
"showOsDistribution": {
"label": "",
"description": ""
},
"osDistributionLimit": {
"label": "",
"description": "",
"option": {
"3": "",
"5": "",
"10": "",
"all": ""
}
},
"showOsVersion": {
"label": "",
"description": ""
},
"showComplianceHero": {
"label": "",
"description": ""
},
"osDisplayMode": {
"label": "",
"description": "",
"option": {
"bars": "",
"donut": ""
}
}
},
"error": {
"internalServerError": ""
}
},
"bazarr": {
"name": "",
"description": "",
"episodes": "",
"movies": "",
"providers": "",
"status": "",
"option": {
"showMissingEpisodes": {
"label": "",
"description": ""
},
"showMissingMovies": {
"label": "",
"description": ""
},
"showProviderIssues": {
"label": "",
"description": ""
},
"showHealthIssues": {
"label": "",
"description": ""
}
},
"error": {
"internalServerError": ""
}
},
"immich-serverStats": {
"name": "",
"description": "",
@@ -2782,6 +3017,7 @@
},
"immich-albumCarousel": {
"name": "",
"allPhotos": "",
"option": {
"albumId": {
"label": "",
@@ -2801,7 +3037,6 @@
}
},
"description": "",
"noAlbumSelected": "",
"noPhotos": ""
},
"downloads": {
@@ -2986,6 +3221,12 @@
"option": {
"linksTargetNewTab": {
"label": "Deschide link-ul într-o pagină nouă"
},
"statusFilter": {
"label": ""
},
"recentDays": {
"label": ""
}
},
"pending": {
@@ -3093,6 +3334,35 @@
}
}
},
"mediaMissing": {
"name": "",
"description": "",
"option": {
"showMissing": {
"label": ""
},
"showQueued": {
"label": ""
},
"pageSize": {
"label": ""
}
},
"tab": {
"missing": "",
"queued": ""
},
"type": {
"movie": "",
"episode": ""
},
"empty": {
"missing": "",
"queued": "",
"noTabsEnabled": ""
},
"timeLeft": ""
},
"rssFeed": {
"name": "",
"description": "",
@@ -3336,7 +3606,11 @@
"name": "",
"description": "",
"noItems": "",
"option": {}
"option": {
"hideLogos": {
"label": ""
}
}
},
"speedtestTracker": {
"name": "",
@@ -3417,6 +3691,40 @@
"internalServerError": ""
}
},
"traefik": {
"name": "",
"description": "",
"option": {
"showTcp": {
"label": ""
},
"showUdp": {
"label": ""
},
"showEntryPoints": {
"label": ""
}
},
"instances": "",
"versionUnknown": "",
"summary": {
"routers": "",
"entryPoints": ""
},
"resource": {
"routers": "",
"services": "",
"middlewares": ""
},
"status": {
"healthy": "",
"errors": "",
"warnings": ""
},
"error": {
"internalServerError": ""
}
},
"audioStats": {
"name": "",
"description": "",
@@ -3792,6 +4100,11 @@
"read": "",
"write": ""
},
"storage": {
"title": "",
"subtitle": "",
"series": ""
},
"network": {
"title": "",
"subtitle": "",
@@ -4924,6 +5237,9 @@
"title": "Containere",
"table": {
"updated": "",
"refresh": {
"lastUpdated": ""
},
"search": "",
"selected": "",
"footer": "",
@@ -5652,6 +5968,14 @@
}
}
},
"enableRightClickOnWidgets": {
"label": "",
"children": {
"detail": {
"title": ""
}
}
},
"fullPreferencesPage": {
"label": ""
}
+327 -3
View File
@@ -198,6 +198,10 @@
"pingIconsEnabled": {
"label": "Использовать индикаторы доступности"
},
"enableRightClickOnWidgets": {
"label": "",
"description": ""
},
"defaultSearchEngine": {
"label": "Поисковая система по умолчанию"
},
@@ -1285,6 +1289,14 @@
"label": "API-ключ (Secret)",
"newLabel": "Новый API-ключ (Secret)"
},
"patchmonApiKey": {
"label": "",
"newLabel": ""
},
"patchmonApiSecret": {
"label": "",
"newLabel": ""
},
"githubAppId": {
"label": "App Id",
"newLabel": "Новый App Id"
@@ -1328,9 +1340,21 @@
}
}
},
"traefik": {
"name": "",
"description": ""
},
"paperlessNgx": {
"name": "",
"description": ""
},
"patchmon": {
"name": "",
"description": ""
},
"bazarr": {
"name": "",
"description": ""
}
},
"media": {
@@ -1602,6 +1626,12 @@
"refresh": "",
"options": "",
"actions": ""
},
"status": {
"success": "",
"error": "",
"loading": "",
"idle": ""
}
},
"create": {
@@ -1875,6 +1905,16 @@
"customDateFormat": {
"label": "Пользовательский формат даты",
"description": "Используйте формат ISO 8601 для отображения даты (это переопределит другие настройки)"
},
"showWeather": {
"label": "",
"description": ""
},
"weatherLocation": {
"label": ""
},
"isWeatherFormatFahrenheit": {
"label": ""
}
}
},
@@ -1936,6 +1976,8 @@
"clear": "Очистить форматирование",
"heading": "Заголовок {level}",
"align": "Выравнивание текста: {position}",
"directionLtr": "",
"directionRtl": "",
"blockquote": "Цитата",
"horizontalLine": "Горизонтальная линия",
"bulletList": "Маркированный список",
@@ -2225,7 +2267,8 @@
"sunrise": "Восход",
"sunset": "Закат",
"maxWindSpeed": "Макс. скорость ветра: {maxWindSpeed} {unit}",
"maxWindGusts": "Макс. порывы ветра: {maxWindGusts} {unit}"
"maxWindGusts": "Макс. порывы ветра: {maxWindGusts} {unit}",
"humidity": ""
},
"kind": {
"clear": "Ясно",
@@ -2689,6 +2732,11 @@
"user": "Пользователь",
"name": "Название",
"id": "Id",
"status": "",
"directPlay": "",
"transcoding": "",
"paused": "",
"remaining": "",
"metadata": {
"title": "Техническая информация",
"video": {
@@ -2754,6 +2802,193 @@
"internalServerError": ""
}
},
"patchmon": {
"name": "",
"description": "",
"title": "",
"totalHosts": "",
"hostsNeedingUpdates": "",
"securityUpdates": "",
"upToDateHosts": "",
"hostsWithSecurityUpdates": "",
"recentUpdates24h": "",
"totalOutdatedPackages": "",
"totalRepos": "",
"osDistribution": "",
"compliance": "",
"complianceRatio": "",
"lastUpdated": "",
"option": {
"showTotalHosts": {
"label": "",
"description": ""
},
"showHostsNeedingUpdates": {
"label": "",
"description": ""
},
"showSecurityUpdates": {
"label": "",
"description": ""
},
"showUpToDateHosts": {
"label": "",
"description": ""
},
"showHostsWithSecurityUpdates": {
"label": "",
"description": ""
},
"showRecentUpdates24h": {
"label": "",
"description": ""
},
"showTotalOutdatedPackages": {
"label": "",
"description": ""
},
"showTotalRepos": {
"label": "",
"description": ""
},
"enableThresholdColors": {
"label": "",
"description": ""
},
"useCustomThresholds": {
"label": "",
"description": ""
},
"thresholdMode": {
"option": {
"absolute": "",
"percent": ""
}
},
"hostsNeedingUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesCriticalAt": {
"label": "",
"description": ""
},
"securityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"securityUpdatesWarningAt": {
"label": "",
"description": ""
},
"securityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"upToDateHostsThresholdMode": {
"label": "",
"description": ""
},
"upToDateHostsWarningAt": {
"label": "",
"description": ""
},
"upToDateHostsCriticalAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesThresholdMode": {
"label": "",
"description": ""
},
"totalOutdatedPackagesWarningAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesCriticalAt": {
"label": "",
"description": ""
},
"showOsDistribution": {
"label": "",
"description": ""
},
"osDistributionLimit": {
"label": "",
"description": "",
"option": {
"3": "",
"5": "",
"10": "",
"all": ""
}
},
"showOsVersion": {
"label": "",
"description": ""
},
"showComplianceHero": {
"label": "",
"description": ""
},
"osDisplayMode": {
"label": "",
"description": "",
"option": {
"bars": "",
"donut": ""
}
}
},
"error": {
"internalServerError": ""
}
},
"bazarr": {
"name": "",
"description": "",
"episodes": "",
"movies": "",
"providers": "",
"status": "",
"option": {
"showMissingEpisodes": {
"label": "",
"description": ""
},
"showMissingMovies": {
"label": "",
"description": ""
},
"showProviderIssues": {
"label": "",
"description": ""
},
"showHealthIssues": {
"label": "",
"description": ""
}
},
"error": {
"internalServerError": ""
}
},
"immich-serverStats": {
"name": "Статистика сервера Immich",
"description": "Информация о вашем экземпляре Immich",
@@ -2782,6 +3017,7 @@
},
"immich-albumCarousel": {
"name": "Альбом Immich",
"allPhotos": "",
"option": {
"albumId": {
"label": "ID альбома",
@@ -2801,7 +3037,6 @@
}
},
"description": "Слайд-шоу фотографий из вашего альбома Immich",
"noAlbumSelected": "Альбом не выбран — отредактируйте виджет и выберите альбом",
"noPhotos": "В этом альбоме нет фотографий"
},
"downloads": {
@@ -2986,6 +3221,12 @@
"option": {
"linksTargetNewTab": {
"label": "Открывать ссылки в новой вкладке"
},
"statusFilter": {
"label": ""
},
"recentDays": {
"label": ""
}
},
"pending": {
@@ -3093,6 +3334,35 @@
}
}
},
"mediaMissing": {
"name": "",
"description": "",
"option": {
"showMissing": {
"label": ""
},
"showQueued": {
"label": ""
},
"pageSize": {
"label": ""
}
},
"tab": {
"missing": "",
"queued": ""
},
"type": {
"movie": "",
"episode": ""
},
"empty": {
"missing": "",
"queued": "",
"noTabsEnabled": ""
},
"timeLeft": ""
},
"rssFeed": {
"name": "RSS-ленты",
"description": "Отслеживание и отображение одной или нескольких RSS, ATOM или JSON-лент",
@@ -3336,7 +3606,11 @@
"name": "Уведомления",
"description": "Отображает историю уведомлений из интеграции",
"noItems": "Нет уведомлений для отображения.",
"option": {}
"option": {
"hideLogos": {
"label": ""
}
}
},
"speedtestTracker": {
"name": "",
@@ -3417,6 +3691,40 @@
"internalServerError": ""
}
},
"traefik": {
"name": "",
"description": "",
"option": {
"showTcp": {
"label": ""
},
"showUdp": {
"label": ""
},
"showEntryPoints": {
"label": ""
}
},
"instances": "",
"versionUnknown": "",
"summary": {
"routers": "",
"entryPoints": ""
},
"resource": {
"routers": "",
"services": "",
"middlewares": ""
},
"status": {
"healthy": "",
"errors": "",
"warnings": ""
},
"error": {
"internalServerError": ""
}
},
"audioStats": {
"name": "",
"description": "",
@@ -3792,6 +4100,11 @@
"read": "",
"write": ""
},
"storage": {
"title": "",
"subtitle": "",
"series": ""
},
"network": {
"title": "",
"subtitle": "",
@@ -4924,6 +5237,9 @@
"title": "Контейнеры",
"table": {
"updated": "Обновлено {when}",
"refresh": {
"lastUpdated": ""
},
"search": "Поиск среди {count} контейнеров",
"selected": "Выбрано {selectCount} из {totalCount} контейнеров",
"footer": "Всего {count} контейнеров",
@@ -5652,6 +5968,14 @@
}
}
},
"enableRightClickOnWidgets": {
"label": "",
"children": {
"detail": {
"title": ""
}
}
},
"fullPreferencesPage": {
"label": ""
}
+327 -3
View File
@@ -198,6 +198,10 @@
"pingIconsEnabled": {
"label": "Používanie ikon pre pingy"
},
"enableRightClickOnWidgets": {
"label": "",
"description": ""
},
"defaultSearchEngine": {
"label": "Predvolený vyhľadávací nástroj"
},
@@ -1285,6 +1289,14 @@
"label": "",
"newLabel": ""
},
"patchmonApiKey": {
"label": "",
"newLabel": ""
},
"patchmonApiSecret": {
"label": "",
"newLabel": ""
},
"githubAppId": {
"label": "",
"newLabel": ""
@@ -1328,9 +1340,21 @@
}
}
},
"traefik": {
"name": "",
"description": ""
},
"paperlessNgx": {
"name": "",
"description": ""
},
"patchmon": {
"name": "",
"description": ""
},
"bazarr": {
"name": "",
"description": ""
}
},
"media": {
@@ -1602,6 +1626,12 @@
"refresh": "",
"options": "",
"actions": ""
},
"status": {
"success": "",
"error": "",
"loading": "",
"idle": ""
}
},
"create": {
@@ -1875,6 +1905,16 @@
"customDateFormat": {
"label": "Vlastný formát času",
"description": "Na formátovanie času použite ISO 8601 (toto prepíše ostatné možnosti)"
},
"showWeather": {
"label": "",
"description": ""
},
"weatherLocation": {
"label": ""
},
"isWeatherFormatFahrenheit": {
"label": ""
}
}
},
@@ -1936,6 +1976,8 @@
"clear": "Vyčistiť formátovanie",
"heading": "Nadpis {level}",
"align": "Zarovnanie textu: {position}",
"directionLtr": "",
"directionRtl": "",
"blockquote": "Citát",
"horizontalLine": "Horizontálna čiara",
"bulletList": "Zoznam odrážok",
@@ -2225,7 +2267,8 @@
"sunrise": "Východ slnka",
"sunset": "Západ slnka",
"maxWindSpeed": "Maximálna rýchlosť vetra: {maxWindSpeed} km/h",
"maxWindGusts": "Maximálne nárazy vetra: {maxWindGusts} km/h"
"maxWindGusts": "Maximálne nárazy vetra: {maxWindGusts} km/h",
"humidity": ""
},
"kind": {
"clear": "Jasno",
@@ -2689,6 +2732,11 @@
"user": "Používateľ",
"name": "Názov",
"id": "Id",
"status": "",
"directPlay": "",
"transcoding": "",
"paused": "",
"remaining": "",
"metadata": {
"title": "",
"video": {
@@ -2754,6 +2802,193 @@
"internalServerError": ""
}
},
"patchmon": {
"name": "",
"description": "",
"title": "",
"totalHosts": "",
"hostsNeedingUpdates": "",
"securityUpdates": "",
"upToDateHosts": "",
"hostsWithSecurityUpdates": "",
"recentUpdates24h": "",
"totalOutdatedPackages": "",
"totalRepos": "",
"osDistribution": "",
"compliance": "",
"complianceRatio": "",
"lastUpdated": "",
"option": {
"showTotalHosts": {
"label": "",
"description": ""
},
"showHostsNeedingUpdates": {
"label": "",
"description": ""
},
"showSecurityUpdates": {
"label": "",
"description": ""
},
"showUpToDateHosts": {
"label": "",
"description": ""
},
"showHostsWithSecurityUpdates": {
"label": "",
"description": ""
},
"showRecentUpdates24h": {
"label": "",
"description": ""
},
"showTotalOutdatedPackages": {
"label": "",
"description": ""
},
"showTotalRepos": {
"label": "",
"description": ""
},
"enableThresholdColors": {
"label": "",
"description": ""
},
"useCustomThresholds": {
"label": "",
"description": ""
},
"thresholdMode": {
"option": {
"absolute": "",
"percent": ""
}
},
"hostsNeedingUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesCriticalAt": {
"label": "",
"description": ""
},
"securityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"securityUpdatesWarningAt": {
"label": "",
"description": ""
},
"securityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"upToDateHostsThresholdMode": {
"label": "",
"description": ""
},
"upToDateHostsWarningAt": {
"label": "",
"description": ""
},
"upToDateHostsCriticalAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesThresholdMode": {
"label": "",
"description": ""
},
"totalOutdatedPackagesWarningAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesCriticalAt": {
"label": "",
"description": ""
},
"showOsDistribution": {
"label": "",
"description": ""
},
"osDistributionLimit": {
"label": "",
"description": "",
"option": {
"3": "",
"5": "",
"10": "",
"all": ""
}
},
"showOsVersion": {
"label": "",
"description": ""
},
"showComplianceHero": {
"label": "",
"description": ""
},
"osDisplayMode": {
"label": "",
"description": "",
"option": {
"bars": "",
"donut": ""
}
}
},
"error": {
"internalServerError": ""
}
},
"bazarr": {
"name": "",
"description": "",
"episodes": "",
"movies": "",
"providers": "",
"status": "",
"option": {
"showMissingEpisodes": {
"label": "",
"description": ""
},
"showMissingMovies": {
"label": "",
"description": ""
},
"showProviderIssues": {
"label": "",
"description": ""
},
"showHealthIssues": {
"label": "",
"description": ""
}
},
"error": {
"internalServerError": ""
}
},
"immich-serverStats": {
"name": "",
"description": "",
@@ -2782,6 +3017,7 @@
},
"immich-albumCarousel": {
"name": "",
"allPhotos": "",
"option": {
"albumId": {
"label": "",
@@ -2801,7 +3037,6 @@
}
},
"description": "",
"noAlbumSelected": "",
"noPhotos": ""
},
"downloads": {
@@ -2986,6 +3221,12 @@
"option": {
"linksTargetNewTab": {
"label": "Otvorenie odkazov v novej karte"
},
"statusFilter": {
"label": ""
},
"recentDays": {
"label": ""
}
},
"pending": {
@@ -3093,6 +3334,35 @@
}
}
},
"mediaMissing": {
"name": "",
"description": "",
"option": {
"showMissing": {
"label": ""
},
"showQueued": {
"label": ""
},
"pageSize": {
"label": ""
}
},
"tab": {
"missing": "",
"queued": ""
},
"type": {
"movie": "",
"episode": ""
},
"empty": {
"missing": "",
"queued": "",
"noTabsEnabled": ""
},
"timeLeft": ""
},
"rssFeed": {
"name": "RSS kanály",
"description": "Monitorujte a zobrazujte jeden alebo viac všeobecných informačných kanálov RSS, ATOM alebo JSON",
@@ -3336,7 +3606,11 @@
"name": "",
"description": "",
"noItems": "",
"option": {}
"option": {
"hideLogos": {
"label": ""
}
}
},
"speedtestTracker": {
"name": "",
@@ -3417,6 +3691,40 @@
"internalServerError": ""
}
},
"traefik": {
"name": "",
"description": "",
"option": {
"showTcp": {
"label": ""
},
"showUdp": {
"label": ""
},
"showEntryPoints": {
"label": ""
}
},
"instances": "",
"versionUnknown": "",
"summary": {
"routers": "",
"entryPoints": ""
},
"resource": {
"routers": "",
"services": "",
"middlewares": ""
},
"status": {
"healthy": "",
"errors": "",
"warnings": ""
},
"error": {
"internalServerError": ""
}
},
"audioStats": {
"name": "",
"description": "",
@@ -3792,6 +4100,11 @@
"read": "",
"write": ""
},
"storage": {
"title": "",
"subtitle": "",
"series": ""
},
"network": {
"title": "",
"subtitle": "",
@@ -4924,6 +5237,9 @@
"title": "Kontajnery",
"table": {
"updated": "Aktualizované {when}",
"refresh": {
"lastUpdated": ""
},
"search": "Vyhľadajte {count} kontajnery",
"selected": "{selectCount} z {totalCount} vybratých kontajnerov",
"footer": "Celkový počet kontajnerov: {count}",
@@ -5652,6 +5968,14 @@
}
}
},
"enableRightClickOnWidgets": {
"label": "",
"children": {
"detail": {
"title": ""
}
}
},
"fullPreferencesPage": {
"label": ""
}
+327 -3
View File
@@ -198,6 +198,10 @@
"pingIconsEnabled": {
"label": ""
},
"enableRightClickOnWidgets": {
"label": "",
"description": ""
},
"defaultSearchEngine": {
"label": ""
},
@@ -1285,6 +1289,14 @@
"label": "",
"newLabel": ""
},
"patchmonApiKey": {
"label": "",
"newLabel": ""
},
"patchmonApiSecret": {
"label": "",
"newLabel": ""
},
"githubAppId": {
"label": "",
"newLabel": ""
@@ -1328,9 +1340,21 @@
}
}
},
"traefik": {
"name": "",
"description": ""
},
"paperlessNgx": {
"name": "",
"description": ""
},
"patchmon": {
"name": "",
"description": ""
},
"bazarr": {
"name": "",
"description": ""
}
},
"media": {
@@ -1602,6 +1626,12 @@
"refresh": "",
"options": "",
"actions": ""
},
"status": {
"success": "",
"error": "",
"loading": "",
"idle": ""
}
},
"create": {
@@ -1875,6 +1905,16 @@
"customDateFormat": {
"label": "",
"description": ""
},
"showWeather": {
"label": "",
"description": ""
},
"weatherLocation": {
"label": ""
},
"isWeatherFormatFahrenheit": {
"label": ""
}
}
},
@@ -1936,6 +1976,8 @@
"clear": "Jasno oblikovanje",
"heading": "Naslov {level}",
"align": "Poravnava besedila: {position}",
"directionLtr": "",
"directionRtl": "",
"blockquote": "Blokovni citat",
"horizontalLine": "Vodoravna črta",
"bulletList": "Seznam kroglic",
@@ -2225,7 +2267,8 @@
"sunrise": "",
"sunset": "",
"maxWindSpeed": "",
"maxWindGusts": ""
"maxWindGusts": "",
"humidity": ""
},
"kind": {
"clear": "Počisti",
@@ -2689,6 +2732,11 @@
"user": "",
"name": "",
"id": "",
"status": "",
"directPlay": "",
"transcoding": "",
"paused": "",
"remaining": "",
"metadata": {
"title": "",
"video": {
@@ -2754,6 +2802,193 @@
"internalServerError": ""
}
},
"patchmon": {
"name": "",
"description": "",
"title": "",
"totalHosts": "",
"hostsNeedingUpdates": "",
"securityUpdates": "",
"upToDateHosts": "",
"hostsWithSecurityUpdates": "",
"recentUpdates24h": "",
"totalOutdatedPackages": "",
"totalRepos": "",
"osDistribution": "",
"compliance": "",
"complianceRatio": "",
"lastUpdated": "",
"option": {
"showTotalHosts": {
"label": "",
"description": ""
},
"showHostsNeedingUpdates": {
"label": "",
"description": ""
},
"showSecurityUpdates": {
"label": "",
"description": ""
},
"showUpToDateHosts": {
"label": "",
"description": ""
},
"showHostsWithSecurityUpdates": {
"label": "",
"description": ""
},
"showRecentUpdates24h": {
"label": "",
"description": ""
},
"showTotalOutdatedPackages": {
"label": "",
"description": ""
},
"showTotalRepos": {
"label": "",
"description": ""
},
"enableThresholdColors": {
"label": "",
"description": ""
},
"useCustomThresholds": {
"label": "",
"description": ""
},
"thresholdMode": {
"option": {
"absolute": "",
"percent": ""
}
},
"hostsNeedingUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesCriticalAt": {
"label": "",
"description": ""
},
"securityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"securityUpdatesWarningAt": {
"label": "",
"description": ""
},
"securityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"upToDateHostsThresholdMode": {
"label": "",
"description": ""
},
"upToDateHostsWarningAt": {
"label": "",
"description": ""
},
"upToDateHostsCriticalAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesThresholdMode": {
"label": "",
"description": ""
},
"totalOutdatedPackagesWarningAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesCriticalAt": {
"label": "",
"description": ""
},
"showOsDistribution": {
"label": "",
"description": ""
},
"osDistributionLimit": {
"label": "",
"description": "",
"option": {
"3": "",
"5": "",
"10": "",
"all": ""
}
},
"showOsVersion": {
"label": "",
"description": ""
},
"showComplianceHero": {
"label": "",
"description": ""
},
"osDisplayMode": {
"label": "",
"description": "",
"option": {
"bars": "",
"donut": ""
}
}
},
"error": {
"internalServerError": ""
}
},
"bazarr": {
"name": "",
"description": "",
"episodes": "",
"movies": "",
"providers": "",
"status": "",
"option": {
"showMissingEpisodes": {
"label": "",
"description": ""
},
"showMissingMovies": {
"label": "",
"description": ""
},
"showProviderIssues": {
"label": "",
"description": ""
},
"showHealthIssues": {
"label": "",
"description": ""
}
},
"error": {
"internalServerError": ""
}
},
"immich-serverStats": {
"name": "",
"description": "",
@@ -2782,6 +3017,7 @@
},
"immich-albumCarousel": {
"name": "",
"allPhotos": "",
"option": {
"albumId": {
"label": "",
@@ -2801,7 +3037,6 @@
}
},
"description": "",
"noAlbumSelected": "",
"noPhotos": ""
},
"downloads": {
@@ -2986,6 +3221,12 @@
"option": {
"linksTargetNewTab": {
"label": "Odprite povezave v novem zavihku"
},
"statusFilter": {
"label": ""
},
"recentDays": {
"label": ""
}
},
"pending": {
@@ -3093,6 +3334,35 @@
}
}
},
"mediaMissing": {
"name": "",
"description": "",
"option": {
"showMissing": {
"label": ""
},
"showQueued": {
"label": ""
},
"pageSize": {
"label": ""
}
},
"tab": {
"missing": "",
"queued": ""
},
"type": {
"movie": "",
"episode": ""
},
"empty": {
"missing": "",
"queued": "",
"noTabsEnabled": ""
},
"timeLeft": ""
},
"rssFeed": {
"name": "",
"description": "",
@@ -3336,7 +3606,11 @@
"name": "",
"description": "",
"noItems": "",
"option": {}
"option": {
"hideLogos": {
"label": ""
}
}
},
"speedtestTracker": {
"name": "",
@@ -3417,6 +3691,40 @@
"internalServerError": ""
}
},
"traefik": {
"name": "",
"description": "",
"option": {
"showTcp": {
"label": ""
},
"showUdp": {
"label": ""
},
"showEntryPoints": {
"label": ""
}
},
"instances": "",
"versionUnknown": "",
"summary": {
"routers": "",
"entryPoints": ""
},
"resource": {
"routers": "",
"services": "",
"middlewares": ""
},
"status": {
"healthy": "",
"errors": "",
"warnings": ""
},
"error": {
"internalServerError": ""
}
},
"audioStats": {
"name": "",
"description": "",
@@ -3792,6 +4100,11 @@
"read": "",
"write": ""
},
"storage": {
"title": "",
"subtitle": "",
"series": ""
},
"network": {
"title": "",
"subtitle": "",
@@ -4924,6 +5237,9 @@
"title": "",
"table": {
"updated": "",
"refresh": {
"lastUpdated": ""
},
"search": "",
"selected": "",
"footer": "",
@@ -5652,6 +5968,14 @@
}
}
},
"enableRightClickOnWidgets": {
"label": "",
"children": {
"detail": {
"title": ""
}
}
},
"fullPreferencesPage": {
"label": ""
}
+327 -3
View File
@@ -198,6 +198,10 @@
"pingIconsEnabled": {
"label": "Använd ikoner för \"onlinekontroll\" (pings)"
},
"enableRightClickOnWidgets": {
"label": "",
"description": ""
},
"defaultSearchEngine": {
"label": "Förvald sökmotor"
},
@@ -1285,6 +1289,14 @@
"label": "",
"newLabel": ""
},
"patchmonApiKey": {
"label": "",
"newLabel": ""
},
"patchmonApiSecret": {
"label": "",
"newLabel": ""
},
"githubAppId": {
"label": "",
"newLabel": ""
@@ -1328,9 +1340,21 @@
}
}
},
"traefik": {
"name": "",
"description": ""
},
"paperlessNgx": {
"name": "",
"description": ""
},
"patchmon": {
"name": "",
"description": ""
},
"bazarr": {
"name": "",
"description": ""
}
},
"media": {
@@ -1602,6 +1626,12 @@
"refresh": "",
"options": "",
"actions": ""
},
"status": {
"success": "",
"error": "",
"loading": "",
"idle": ""
}
},
"create": {
@@ -1875,6 +1905,16 @@
"customDateFormat": {
"label": "",
"description": ""
},
"showWeather": {
"label": "",
"description": ""
},
"weatherLocation": {
"label": ""
},
"isWeatherFormatFahrenheit": {
"label": ""
}
}
},
@@ -1936,6 +1976,8 @@
"clear": "Rensa formatering",
"heading": "Rubrik {level}",
"align": "Justera text: {position}",
"directionLtr": "",
"directionRtl": "",
"blockquote": "Blockcitat",
"horizontalLine": "Horisontell linje",
"bulletList": "Punktlista",
@@ -2225,7 +2267,8 @@
"sunrise": "",
"sunset": "",
"maxWindSpeed": "",
"maxWindGusts": ""
"maxWindGusts": "",
"humidity": ""
},
"kind": {
"clear": "Klart",
@@ -2689,6 +2732,11 @@
"user": "",
"name": "",
"id": "",
"status": "",
"directPlay": "",
"transcoding": "",
"paused": "",
"remaining": "",
"metadata": {
"title": "",
"video": {
@@ -2754,6 +2802,193 @@
"internalServerError": ""
}
},
"patchmon": {
"name": "",
"description": "",
"title": "",
"totalHosts": "",
"hostsNeedingUpdates": "",
"securityUpdates": "",
"upToDateHosts": "",
"hostsWithSecurityUpdates": "",
"recentUpdates24h": "",
"totalOutdatedPackages": "",
"totalRepos": "",
"osDistribution": "",
"compliance": "",
"complianceRatio": "",
"lastUpdated": "",
"option": {
"showTotalHosts": {
"label": "",
"description": ""
},
"showHostsNeedingUpdates": {
"label": "",
"description": ""
},
"showSecurityUpdates": {
"label": "",
"description": ""
},
"showUpToDateHosts": {
"label": "",
"description": ""
},
"showHostsWithSecurityUpdates": {
"label": "",
"description": ""
},
"showRecentUpdates24h": {
"label": "",
"description": ""
},
"showTotalOutdatedPackages": {
"label": "",
"description": ""
},
"showTotalRepos": {
"label": "",
"description": ""
},
"enableThresholdColors": {
"label": "",
"description": ""
},
"useCustomThresholds": {
"label": "",
"description": ""
},
"thresholdMode": {
"option": {
"absolute": "",
"percent": ""
}
},
"hostsNeedingUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesCriticalAt": {
"label": "",
"description": ""
},
"securityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"securityUpdatesWarningAt": {
"label": "",
"description": ""
},
"securityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"upToDateHostsThresholdMode": {
"label": "",
"description": ""
},
"upToDateHostsWarningAt": {
"label": "",
"description": ""
},
"upToDateHostsCriticalAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesThresholdMode": {
"label": "",
"description": ""
},
"totalOutdatedPackagesWarningAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesCriticalAt": {
"label": "",
"description": ""
},
"showOsDistribution": {
"label": "",
"description": ""
},
"osDistributionLimit": {
"label": "",
"description": "",
"option": {
"3": "",
"5": "",
"10": "",
"all": ""
}
},
"showOsVersion": {
"label": "",
"description": ""
},
"showComplianceHero": {
"label": "",
"description": ""
},
"osDisplayMode": {
"label": "",
"description": "",
"option": {
"bars": "",
"donut": ""
}
}
},
"error": {
"internalServerError": ""
}
},
"bazarr": {
"name": "",
"description": "",
"episodes": "",
"movies": "",
"providers": "",
"status": "",
"option": {
"showMissingEpisodes": {
"label": "",
"description": ""
},
"showMissingMovies": {
"label": "",
"description": ""
},
"showProviderIssues": {
"label": "",
"description": ""
},
"showHealthIssues": {
"label": "",
"description": ""
}
},
"error": {
"internalServerError": ""
}
},
"immich-serverStats": {
"name": "",
"description": "",
@@ -2782,6 +3017,7 @@
},
"immich-albumCarousel": {
"name": "",
"allPhotos": "",
"option": {
"albumId": {
"label": "",
@@ -2801,7 +3037,6 @@
}
},
"description": "",
"noAlbumSelected": "",
"noPhotos": ""
},
"downloads": {
@@ -2986,6 +3221,12 @@
"option": {
"linksTargetNewTab": {
"label": "Öppna länkar i ny flik"
},
"statusFilter": {
"label": ""
},
"recentDays": {
"label": ""
}
},
"pending": {
@@ -3093,6 +3334,35 @@
}
}
},
"mediaMissing": {
"name": "",
"description": "",
"option": {
"showMissing": {
"label": ""
},
"showQueued": {
"label": ""
},
"pageSize": {
"label": ""
}
},
"tab": {
"missing": "",
"queued": ""
},
"type": {
"movie": "",
"episode": ""
},
"empty": {
"missing": "",
"queued": "",
"noTabsEnabled": ""
},
"timeLeft": ""
},
"rssFeed": {
"name": "",
"description": "",
@@ -3336,7 +3606,11 @@
"name": "",
"description": "",
"noItems": "",
"option": {}
"option": {
"hideLogos": {
"label": ""
}
}
},
"speedtestTracker": {
"name": "",
@@ -3417,6 +3691,40 @@
"internalServerError": ""
}
},
"traefik": {
"name": "",
"description": "",
"option": {
"showTcp": {
"label": ""
},
"showUdp": {
"label": ""
},
"showEntryPoints": {
"label": ""
}
},
"instances": "",
"versionUnknown": "",
"summary": {
"routers": "",
"entryPoints": ""
},
"resource": {
"routers": "",
"services": "",
"middlewares": ""
},
"status": {
"healthy": "",
"errors": "",
"warnings": ""
},
"error": {
"internalServerError": ""
}
},
"audioStats": {
"name": "",
"description": "",
@@ -3792,6 +4100,11 @@
"read": "",
"write": ""
},
"storage": {
"title": "",
"subtitle": "",
"series": ""
},
"network": {
"title": "",
"subtitle": "",
@@ -4924,6 +5237,9 @@
"title": "",
"table": {
"updated": "Uppdaterad {when}",
"refresh": {
"lastUpdated": ""
},
"search": "",
"selected": "",
"footer": "",
@@ -5652,6 +5968,14 @@
}
}
},
"enableRightClickOnWidgets": {
"label": "",
"children": {
"detail": {
"title": ""
}
}
},
"fullPreferencesPage": {
"label": ""
}
+327 -3
View File
@@ -198,6 +198,10 @@
"pingIconsEnabled": {
"label": "Pingler İçin Simge Kullanın"
},
"enableRightClickOnWidgets": {
"label": "",
"description": ""
},
"defaultSearchEngine": {
"label": "Öntanımlı arama motoru"
},
@@ -1285,6 +1289,14 @@
"label": "API Anahtarı (Gizli Anahtar)",
"newLabel": "Yeni API Anahtarı (Gizli Anahtar)"
},
"patchmonApiKey": {
"label": "",
"newLabel": ""
},
"patchmonApiSecret": {
"label": "",
"newLabel": ""
},
"githubAppId": {
"label": "Uygulama Kimliği",
"newLabel": "Yeni Uygulama Kimliği"
@@ -1328,9 +1340,21 @@
}
}
},
"traefik": {
"name": "",
"description": ""
},
"paperlessNgx": {
"name": "",
"description": ""
},
"patchmon": {
"name": "",
"description": ""
},
"bazarr": {
"name": "",
"description": ""
}
},
"media": {
@@ -1602,6 +1626,12 @@
"refresh": "",
"options": "",
"actions": ""
},
"status": {
"success": "",
"error": "",
"loading": "",
"idle": ""
}
},
"create": {
@@ -1875,6 +1905,16 @@
"customDateFormat": {
"label": "Özel tarih biçimi",
"description": "Tarih biçimini değiştirmek için ISO 8601 standardını kullanın (bu diğer seçenekleri geçersiz kılacaktır)"
},
"showWeather": {
"label": "",
"description": ""
},
"weatherLocation": {
"label": ""
},
"isWeatherFormatFahrenheit": {
"label": ""
}
}
},
@@ -1936,6 +1976,8 @@
"clear": "Biçimlendirmeyi temizle",
"heading": "Başlık {level}",
"align": "Metin hizalama: {position}",
"directionLtr": "",
"directionRtl": "",
"blockquote": "Blok alıntı",
"horizontalLine": "Yatay çizgi",
"bulletList": "Maddeli liste",
@@ -2225,7 +2267,8 @@
"sunrise": "Gün Doğumu",
"sunset": "Gün Batımı",
"maxWindSpeed": "Maks. Rüzgar Hızı: {maxWindSpeed} km/s",
"maxWindGusts": "Maks. Rüzgar Hamlesi: {maxWindGusts} km/s"
"maxWindGusts": "Maks. Rüzgar Hamlesi: {maxWindGusts} km/s",
"humidity": ""
},
"kind": {
"clear": "Açık",
@@ -2689,6 +2732,11 @@
"user": "Kullanıcı",
"name": "İsim",
"id": "Kimlik",
"status": "",
"directPlay": "",
"transcoding": "",
"paused": "",
"remaining": "",
"metadata": {
"title": "Meraklısı için istatistikler",
"video": {
@@ -2754,6 +2802,193 @@
"internalServerError": ""
}
},
"patchmon": {
"name": "",
"description": "",
"title": "",
"totalHosts": "",
"hostsNeedingUpdates": "",
"securityUpdates": "",
"upToDateHosts": "",
"hostsWithSecurityUpdates": "",
"recentUpdates24h": "",
"totalOutdatedPackages": "",
"totalRepos": "",
"osDistribution": "",
"compliance": "",
"complianceRatio": "",
"lastUpdated": "",
"option": {
"showTotalHosts": {
"label": "",
"description": ""
},
"showHostsNeedingUpdates": {
"label": "",
"description": ""
},
"showSecurityUpdates": {
"label": "",
"description": ""
},
"showUpToDateHosts": {
"label": "",
"description": ""
},
"showHostsWithSecurityUpdates": {
"label": "",
"description": ""
},
"showRecentUpdates24h": {
"label": "",
"description": ""
},
"showTotalOutdatedPackages": {
"label": "",
"description": ""
},
"showTotalRepos": {
"label": "",
"description": ""
},
"enableThresholdColors": {
"label": "",
"description": ""
},
"useCustomThresholds": {
"label": "",
"description": ""
},
"thresholdMode": {
"option": {
"absolute": "",
"percent": ""
}
},
"hostsNeedingUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesCriticalAt": {
"label": "",
"description": ""
},
"securityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"securityUpdatesWarningAt": {
"label": "",
"description": ""
},
"securityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"upToDateHostsThresholdMode": {
"label": "",
"description": ""
},
"upToDateHostsWarningAt": {
"label": "",
"description": ""
},
"upToDateHostsCriticalAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesThresholdMode": {
"label": "",
"description": ""
},
"totalOutdatedPackagesWarningAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesCriticalAt": {
"label": "",
"description": ""
},
"showOsDistribution": {
"label": "",
"description": ""
},
"osDistributionLimit": {
"label": "",
"description": "",
"option": {
"3": "",
"5": "",
"10": "",
"all": ""
}
},
"showOsVersion": {
"label": "",
"description": ""
},
"showComplianceHero": {
"label": "",
"description": ""
},
"osDisplayMode": {
"label": "",
"description": "",
"option": {
"bars": "",
"donut": ""
}
}
},
"error": {
"internalServerError": ""
}
},
"bazarr": {
"name": "",
"description": "",
"episodes": "",
"movies": "",
"providers": "",
"status": "",
"option": {
"showMissingEpisodes": {
"label": "",
"description": ""
},
"showMissingMovies": {
"label": "",
"description": ""
},
"showProviderIssues": {
"label": "",
"description": ""
},
"showHealthIssues": {
"label": "",
"description": ""
}
},
"error": {
"internalServerError": ""
}
},
"immich-serverStats": {
"name": "Immich Server Stats",
"description": "Information about your Immich instance",
@@ -2782,6 +3017,7 @@
},
"immich-albumCarousel": {
"name": "Immich Album",
"allPhotos": "",
"option": {
"albumId": {
"label": "Album ID",
@@ -2801,7 +3037,6 @@
}
},
"description": "Slideshow of pictures in your Immich album",
"noAlbumSelected": "No album selected, edit widget and choose an album",
"noPhotos": "No photos in this album"
},
"downloads": {
@@ -2986,6 +3221,12 @@
"option": {
"linksTargetNewTab": {
"label": "Bağlantıları yeni sekmede aç"
},
"statusFilter": {
"label": ""
},
"recentDays": {
"label": ""
}
},
"pending": {
@@ -3093,6 +3334,35 @@
}
}
},
"mediaMissing": {
"name": "",
"description": "",
"option": {
"showMissing": {
"label": ""
},
"showQueued": {
"label": ""
},
"pageSize": {
"label": ""
}
},
"tab": {
"missing": "",
"queued": ""
},
"type": {
"movie": "",
"episode": ""
},
"empty": {
"missing": "",
"queued": "",
"noTabsEnabled": ""
},
"timeLeft": ""
},
"rssFeed": {
"name": "RSS Beslemeleri",
"description": "Bir veya daha fazla RSS, ATOM veya JSON beslemesini takip edin ve görüntüleyin",
@@ -3336,7 +3606,11 @@
"name": "Bildirimler",
"description": "Entegrasyonların bildirim geçmişini görüntüle",
"noItems": "Görüntülenecek bildirim yok.",
"option": {}
"option": {
"hideLogos": {
"label": ""
}
}
},
"speedtestTracker": {
"name": "Speedtest Tracker",
@@ -3417,6 +3691,40 @@
"internalServerError": ""
}
},
"traefik": {
"name": "",
"description": "",
"option": {
"showTcp": {
"label": ""
},
"showUdp": {
"label": ""
},
"showEntryPoints": {
"label": ""
}
},
"instances": "",
"versionUnknown": "",
"summary": {
"routers": "",
"entryPoints": ""
},
"resource": {
"routers": "",
"services": "",
"middlewares": ""
},
"status": {
"healthy": "",
"errors": "",
"warnings": ""
},
"error": {
"internalServerError": ""
}
},
"audioStats": {
"name": "",
"description": "",
@@ -3792,6 +4100,11 @@
"read": "",
"write": ""
},
"storage": {
"title": "",
"subtitle": "",
"series": ""
},
"network": {
"title": "",
"subtitle": "",
@@ -4924,6 +5237,9 @@
"title": "Konteynerler",
"table": {
"updated": "{when} Güncellendi",
"refresh": {
"lastUpdated": ""
},
"search": "{count} konteyner içinde ara",
"selected": "{selectCount} / {totalCount} konteyner seçildi",
"footer": "Toplam {count} konteyner",
@@ -5652,6 +5968,14 @@
}
}
},
"enableRightClickOnWidgets": {
"label": "",
"children": {
"detail": {
"title": ""
}
}
},
"fullPreferencesPage": {
"label": ""
}
+363 -39
View File
@@ -198,6 +198,10 @@
"pingIconsEnabled": {
"label": "Використовувати значки для ping"
},
"enableRightClickOnWidgets": {
"label": "",
"description": "Показувати контекстне меню Homarr при клацанні правою кнопкою миші на віджеті. Вимкніть, щоб використовувати меню браузера за замовчуванням (наприклад, «Відкрити посилання в новій вкладці»)."
},
"defaultSearchEngine": {
"label": "Стандартна система пошуку"
},
@@ -862,7 +866,7 @@
"created": "",
"updated": "",
"deleted": "",
"imported": "",
"imported": "Віджет успішно імпортовано.",
"aiPromptCopied": "",
"aiPromptDescription": "",
"aiPromptCopy": "",
@@ -877,7 +881,7 @@
"toggleError": "Не вдалося змінити стан віджету.",
"deleteError": "",
"previewError": "",
"executed": "",
"executed": "Дію успішно виконано.",
"executeError": ""
},
"table": {
@@ -1021,7 +1025,7 @@
"mediaMonitoring": "",
"speedtest": "",
"analytics": "",
"vpn": "",
"vpn": "VPN",
"mediaLibrary": "Медіа бібліотека",
"uptimeMonitoring": ""
},
@@ -1141,7 +1145,7 @@
"connection": {
"hostUnreachable": "",
"networkUnreachable": "Мережа недоступна. Перевірте підключення до Інтернету або налаштування мережі.",
"refused": "",
"refused": "Сервер відхилив з'єднання. Він не може працювати або відхиляти запити до вказаного порту.",
"reset": ""
},
"dns": {
@@ -1285,6 +1289,14 @@
"label": "",
"newLabel": ""
},
"patchmonApiKey": {
"label": "",
"newLabel": ""
},
"patchmonApiSecret": {
"label": "Секрет API",
"newLabel": "Новий cекрет API"
},
"githubAppId": {
"label": "",
"newLabel": ""
@@ -1328,9 +1340,21 @@
}
}
},
"traefik": {
"name": "",
"description": ""
},
"paperlessNgx": {
"name": "Безпаперовий ngx",
"description": ""
},
"patchmon": {
"name": "",
"description": ""
},
"bazarr": {
"name": "Bazarr",
"description": ""
}
},
"media": {
@@ -1602,6 +1626,12 @@
"refresh": "",
"options": "",
"actions": ""
},
"status": {
"success": "",
"error": "Помилка",
"loading": "",
"idle": "Неактивно"
}
},
"create": {
@@ -1875,6 +1905,16 @@
"customDateFormat": {
"label": "",
"description": ""
},
"showWeather": {
"label": "",
"description": ""
},
"weatherLocation": {
"label": ""
},
"isWeatherFormatFahrenheit": {
"label": ""
}
}
},
@@ -1904,7 +1944,7 @@
"noStation": "",
"option": {
"baseUrl": {
"label": ""
"label": "Шукати URL"
},
"station": {
"label": ""
@@ -1936,6 +1976,8 @@
"clear": "",
"heading": "",
"align": "",
"directionLtr": "",
"directionRtl": "Встановити напрямок тексту справа наліво",
"blockquote": "",
"horizontalLine": "",
"bulletList": "",
@@ -2225,7 +2267,8 @@
"sunrise": "",
"sunset": "",
"maxWindSpeed": "Максимальна швидкість вітру: {maxWindSpeed} км/год",
"maxWindGusts": ""
"maxWindGusts": "",
"humidity": ""
},
"kind": {
"clear": "Ясно",
@@ -2287,7 +2330,7 @@
"visibleStorageVolumes": {
"label": "",
"description": "",
"placeholder": ""
"placeholder": "Оберіть томи сховища"
},
"defaultTab": {
"label": ""
@@ -2359,7 +2402,7 @@
"name": "Назва",
"cpu": "ЦП",
"memory": "",
"node": ""
"node": "Вузол"
}
}
}
@@ -2499,7 +2542,7 @@
}
},
"recentActivity": {
"title": "",
"title": "Нещодавня активність",
"empty": "",
"watched": "",
"partial": ""
@@ -2689,8 +2732,13 @@
"user": "Користувач",
"name": "Назва",
"id": "Id",
"status": "",
"directPlay": "",
"transcoding": "",
"paused": "",
"remaining": "",
"metadata": {
"title": "",
"title": "Статистика ботів",
"video": {
"title": "",
"resolution": ""
@@ -2754,6 +2802,193 @@
"internalServerError": ""
}
},
"patchmon": {
"name": "",
"description": "",
"title": "",
"totalHosts": "",
"hostsNeedingUpdates": "",
"securityUpdates": "",
"upToDateHosts": "",
"hostsWithSecurityUpdates": "",
"recentUpdates24h": "",
"totalOutdatedPackages": "",
"totalRepos": "",
"osDistribution": "",
"compliance": "",
"complianceRatio": "",
"lastUpdated": "",
"option": {
"showTotalHosts": {
"label": "",
"description": ""
},
"showHostsNeedingUpdates": {
"label": "",
"description": ""
},
"showSecurityUpdates": {
"label": "",
"description": ""
},
"showUpToDateHosts": {
"label": "",
"description": ""
},
"showHostsWithSecurityUpdates": {
"label": "Показувати хости з оновленнями безпеки",
"description": "Показувати хости, які потребують патчів безпеки"
},
"showRecentUpdates24h": {
"label": "Показати останні оновлення (24h)",
"description": ""
},
"showTotalOutdatedPackages": {
"label": "",
"description": ""
},
"showTotalRepos": {
"label": "Показати репозиторії",
"description": "Відображати кількість активних репозиторіїв, що відслідковуються"
},
"enableThresholdColors": {
"label": "",
"description": ""
},
"useCustomThresholds": {
"label": "",
"description": ""
},
"thresholdMode": {
"option": {
"absolute": "",
"percent": ""
}
},
"hostsNeedingUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesCriticalAt": {
"label": "",
"description": ""
},
"securityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"securityUpdatesWarningAt": {
"label": "",
"description": ""
},
"securityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"upToDateHostsThresholdMode": {
"label": "",
"description": ""
},
"upToDateHostsWarningAt": {
"label": "",
"description": ""
},
"upToDateHostsCriticalAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesThresholdMode": {
"label": "",
"description": ""
},
"totalOutdatedPackagesWarningAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesCriticalAt": {
"label": "",
"description": ""
},
"showOsDistribution": {
"label": "",
"description": ""
},
"osDistributionLimit": {
"label": "",
"description": "",
"option": {
"3": "",
"5": "",
"10": "",
"all": ""
}
},
"showOsVersion": {
"label": "",
"description": ""
},
"showComplianceHero": {
"label": "",
"description": ""
},
"osDisplayMode": {
"label": "",
"description": "Виберіть спосіб відображення дистрибутива операційної системи",
"option": {
"bars": "",
"donut": "Кільцева діаграма"
}
}
},
"error": {
"internalServerError": ""
}
},
"bazarr": {
"name": "",
"description": "",
"episodes": "",
"movies": "",
"providers": "",
"status": "",
"option": {
"showMissingEpisodes": {
"label": "",
"description": ""
},
"showMissingMovies": {
"label": "",
"description": ""
},
"showProviderIssues": {
"label": "",
"description": ""
},
"showHealthIssues": {
"label": "",
"description": ""
}
},
"error": {
"internalServerError": ""
}
},
"immich-serverStats": {
"name": "",
"description": "",
@@ -2782,6 +3017,7 @@
},
"immich-albumCarousel": {
"name": "",
"allPhotos": "",
"option": {
"albumId": {
"label": "",
@@ -2797,11 +3033,10 @@
},
"randomizePhotos": {
"label": "",
"description": ""
"description": "Показувати фотографії у випадковому порядку замість того, щоб завжди починатися з того ж порядку альбому."
}
},
"description": "",
"noAlbumSelected": "",
"noPhotos": ""
},
"downloads": {
@@ -2986,6 +3221,12 @@
"option": {
"linksTargetNewTab": {
"label": "Відкрийте посилання в новій вкладці"
},
"statusFilter": {
"label": ""
},
"recentDays": {
"label": ""
}
},
"pending": {
@@ -3093,9 +3334,38 @@
}
}
},
"mediaMissing": {
"name": "",
"description": "",
"option": {
"showMissing": {
"label": ""
},
"showQueued": {
"label": ""
},
"pageSize": {
"label": ""
}
},
"tab": {
"missing": "",
"queued": ""
},
"type": {
"movie": "",
"episode": ""
},
"empty": {
"missing": "",
"queued": "",
"noTabsEnabled": ""
},
"timeLeft": "Залишилося часу"
},
"rssFeed": {
"name": "RSS-канали",
"description": "",
"description": "Моніторинг та відображення однієї або кількох загальних RSS-, ATOM- або JSON-стрічок",
"option": {
"feedUrls": {
"label": ""
@@ -3140,7 +3410,7 @@
"label": "Показати тільки іконку"
},
"topReleases": {
"label": "",
"label": "Кращі релізи",
"description": ""
},
"repositories": {
@@ -3236,7 +3506,7 @@
"projectDescription": "",
"created": "Створено",
"error": {
"label": "",
"label": "Помилка",
"messages": {
"invalidIdentifier": "",
"noMatchingVersion": "",
@@ -3336,7 +3606,11 @@
"name": "",
"description": "",
"noItems": "",
"option": {}
"option": {
"hideLogos": {
"label": ""
}
}
},
"speedtestTracker": {
"name": "",
@@ -3417,6 +3691,40 @@
"internalServerError": ""
}
},
"traefik": {
"name": "Трафік",
"description": "Огляд маршрутизаторів, сервісів, проміжного програмного забезпечення та точок входу Traefik",
"option": {
"showTcp": {
"label": ""
},
"showUdp": {
"label": ""
},
"showEntryPoints": {
"label": ""
}
},
"instances": "",
"versionUnknown": "",
"summary": {
"routers": "",
"entryPoints": ""
},
"resource": {
"routers": "",
"services": "",
"middlewares": ""
},
"status": {
"healthy": "",
"errors": "",
"warnings": ""
},
"error": {
"internalServerError": "Неможливо отримати дані Traefik"
}
},
"audioStats": {
"name": "",
"description": "",
@@ -3787,11 +4095,16 @@
"series": "Використано"
},
"diskIO": {
"title": "",
"title": "Диск вводу/виводу",
"subtitle": "",
"read": "",
"write": ""
},
"storage": {
"title": "Сховище",
"subtitle": "",
"series": "Використано"
},
"network": {
"title": "",
"subtitle": "",
@@ -4309,7 +4622,7 @@
}
},
"media": {
"includeFromAllUsers": ""
"includeFromAllUsers": "Включити медіа від усіх користувачів"
},
"user": {
"back": "",
@@ -4681,8 +4994,8 @@
"title": ""
},
"authentication": {
"title": "",
"intro": "",
"title": "Аутентифікація",
"intro": "Ви можете автентифікувати свій MCP-сервер, використовуючи або ключ API, або OAuth. Обидва методи дають той же рівень доступу.",
"apiKey": {
"title": "",
"description": ""
@@ -4766,9 +5079,9 @@
"metaTitle": "",
"export": {
"title": "",
"description": "",
"button": "",
"error": "",
"description": "Завантажте повну резервну копію вашої бази даних SQLite, включаючи всі налаштування, користувачів, дошки та зашифровані секрети інтеграції. Резервна копія містить ключ шифрування та метадані у вигляді ZIP-файлу.",
"button": "Завантажити резервну копію",
"error": "Помилка експорту",
"confirm": {
"title": "",
"warningTitle": "",
@@ -4837,11 +5150,11 @@
"app": "",
"integration": "",
"item": "",
"media": "",
"search_engine": ""
"media": "Медіа",
"search_engine": "Пошукові системи"
},
"migrationsApplied": "",
"migrationsAppliedPlural": "",
"migrationsApplied": "Застосовано міграцію {count}",
"migrationsAppliedPlural": "Застосовано міграції {count}",
"migrationsOlderVersion": "",
"migrationsOlderVersionPlural": "",
"migrationsUpToDate": "",
@@ -4924,6 +5237,9 @@
"title": "Контейнери",
"table": {
"updated": "Оновлено {when}",
"refresh": {
"lastUpdated": ""
},
"search": "",
"selected": "Вибрано {selectCount} із {totalCount} контейнерів",
"footer": "",
@@ -5055,13 +5371,13 @@
}
},
"error": {
"internalServerError": "",
"noColumns": ""
"internalServerError": "Не вдалося отримати Docker контейнери",
"noColumns": "Виберіть хоча б один стовпець в налаштуваннях віджета"
}
},
"kubernetes": {
"cluster": {
"title": "",
"title": "Панель кластера",
"label": "",
"providers": "",
"version": "",
@@ -5187,7 +5503,7 @@
"label": ""
},
"clusterIP": {
"label": ""
"label": "Кластер IP"
},
"creationTimestamp": {
"label": ""
@@ -5273,10 +5589,10 @@
"label": ""
},
"storage": {
"label": ""
"label": "Сховище"
},
"storageClassName": {
"label": ""
"label": "Назва класу сховища"
},
"volumeMode": {
"label": ""
@@ -5616,7 +5932,7 @@
"label": "",
"children": {
"detail": {
"title": ""
"title": "Увімкнути Бан DuckGos"
}
}
},
@@ -5624,12 +5940,12 @@
"label": "",
"children": {
"detail": {
"title": ""
"title": "Оберіть перший день тижня"
}
}
},
"homeBoardId": {
"label": "",
"label": "Домашня дошка",
"children": {
"detail": {
"title": ""
@@ -5652,6 +5968,14 @@
}
}
},
"enableRightClickOnWidgets": {
"label": "",
"children": {
"detail": {
"title": ""
}
}
},
"fullPreferencesPage": {
"label": ""
}
@@ -5963,7 +6287,7 @@
"status": ""
},
"status": {
"requested": ""
"requested": "Запитано"
}
},
"button": {
@@ -5977,7 +6301,7 @@
"certificate": {
"field": {
"hostname": {
"label": ""
"label": "Назва хоста"
},
"subject": {
"label": ""
@@ -6013,7 +6337,7 @@
"toHostnames": ""
},
"hostnames": {
"title": "",
"title": "Довірені назви хостів сертифікатів",
"description": "",
"noResults": {
"title": ""
+327 -3
View File
@@ -198,6 +198,10 @@
"pingIconsEnabled": {
"label": ""
},
"enableRightClickOnWidgets": {
"label": "",
"description": ""
},
"defaultSearchEngine": {
"label": "Công cụ tìm kiếm mặc định"
},
@@ -1285,6 +1289,14 @@
"label": "",
"newLabel": ""
},
"patchmonApiKey": {
"label": "",
"newLabel": ""
},
"patchmonApiSecret": {
"label": "",
"newLabel": ""
},
"githubAppId": {
"label": "",
"newLabel": ""
@@ -1328,9 +1340,21 @@
}
}
},
"traefik": {
"name": "",
"description": ""
},
"paperlessNgx": {
"name": "",
"description": ""
},
"patchmon": {
"name": "",
"description": ""
},
"bazarr": {
"name": "",
"description": ""
}
},
"media": {
@@ -1602,6 +1626,12 @@
"refresh": "",
"options": "",
"actions": ""
},
"status": {
"success": "",
"error": "",
"loading": "",
"idle": ""
}
},
"create": {
@@ -1875,6 +1905,16 @@
"customDateFormat": {
"label": "",
"description": ""
},
"showWeather": {
"label": "",
"description": ""
},
"weatherLocation": {
"label": ""
},
"isWeatherFormatFahrenheit": {
"label": ""
}
}
},
@@ -1936,6 +1976,8 @@
"clear": "Xóa định dạng",
"heading": "Tiêu đề {level}",
"align": "Căn chỉnh: {position}",
"directionLtr": "",
"directionRtl": "",
"blockquote": "Trích dẫn",
"horizontalLine": "Kẻ ngang",
"bulletList": "Danh sách kiểu ký hiệu",
@@ -2225,7 +2267,8 @@
"sunrise": "",
"sunset": "",
"maxWindSpeed": "",
"maxWindGusts": ""
"maxWindGusts": "",
"humidity": ""
},
"kind": {
"clear": "Quang đãng",
@@ -2689,6 +2732,11 @@
"user": "",
"name": "",
"id": "",
"status": "",
"directPlay": "",
"transcoding": "",
"paused": "",
"remaining": "",
"metadata": {
"title": "",
"video": {
@@ -2754,6 +2802,193 @@
"internalServerError": ""
}
},
"patchmon": {
"name": "",
"description": "",
"title": "",
"totalHosts": "",
"hostsNeedingUpdates": "",
"securityUpdates": "",
"upToDateHosts": "",
"hostsWithSecurityUpdates": "",
"recentUpdates24h": "",
"totalOutdatedPackages": "",
"totalRepos": "",
"osDistribution": "",
"compliance": "",
"complianceRatio": "",
"lastUpdated": "",
"option": {
"showTotalHosts": {
"label": "",
"description": ""
},
"showHostsNeedingUpdates": {
"label": "",
"description": ""
},
"showSecurityUpdates": {
"label": "",
"description": ""
},
"showUpToDateHosts": {
"label": "",
"description": ""
},
"showHostsWithSecurityUpdates": {
"label": "",
"description": ""
},
"showRecentUpdates24h": {
"label": "",
"description": ""
},
"showTotalOutdatedPackages": {
"label": "",
"description": ""
},
"showTotalRepos": {
"label": "",
"description": ""
},
"enableThresholdColors": {
"label": "",
"description": ""
},
"useCustomThresholds": {
"label": "",
"description": ""
},
"thresholdMode": {
"option": {
"absolute": "",
"percent": ""
}
},
"hostsNeedingUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesCriticalAt": {
"label": "",
"description": ""
},
"securityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"securityUpdatesWarningAt": {
"label": "",
"description": ""
},
"securityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"upToDateHostsThresholdMode": {
"label": "",
"description": ""
},
"upToDateHostsWarningAt": {
"label": "",
"description": ""
},
"upToDateHostsCriticalAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesThresholdMode": {
"label": "",
"description": ""
},
"totalOutdatedPackagesWarningAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesCriticalAt": {
"label": "",
"description": ""
},
"showOsDistribution": {
"label": "",
"description": ""
},
"osDistributionLimit": {
"label": "",
"description": "",
"option": {
"3": "",
"5": "",
"10": "",
"all": ""
}
},
"showOsVersion": {
"label": "",
"description": ""
},
"showComplianceHero": {
"label": "",
"description": ""
},
"osDisplayMode": {
"label": "",
"description": "",
"option": {
"bars": "",
"donut": ""
}
}
},
"error": {
"internalServerError": ""
}
},
"bazarr": {
"name": "",
"description": "",
"episodes": "",
"movies": "",
"providers": "",
"status": "",
"option": {
"showMissingEpisodes": {
"label": "",
"description": ""
},
"showMissingMovies": {
"label": "",
"description": ""
},
"showProviderIssues": {
"label": "",
"description": ""
},
"showHealthIssues": {
"label": "",
"description": ""
}
},
"error": {
"internalServerError": ""
}
},
"immich-serverStats": {
"name": "",
"description": "",
@@ -2782,6 +3017,7 @@
},
"immich-albumCarousel": {
"name": "",
"allPhotos": "",
"option": {
"albumId": {
"label": "",
@@ -2801,7 +3037,6 @@
}
},
"description": "",
"noAlbumSelected": "",
"noPhotos": ""
},
"downloads": {
@@ -2986,6 +3221,12 @@
"option": {
"linksTargetNewTab": {
"label": "Mở liên kết trong tab mới"
},
"statusFilter": {
"label": ""
},
"recentDays": {
"label": ""
}
},
"pending": {
@@ -3093,6 +3334,35 @@
}
}
},
"mediaMissing": {
"name": "",
"description": "",
"option": {
"showMissing": {
"label": ""
},
"showQueued": {
"label": ""
},
"pageSize": {
"label": ""
}
},
"tab": {
"missing": "",
"queued": ""
},
"type": {
"movie": "",
"episode": ""
},
"empty": {
"missing": "",
"queued": "",
"noTabsEnabled": ""
},
"timeLeft": ""
},
"rssFeed": {
"name": "",
"description": "",
@@ -3336,7 +3606,11 @@
"name": "",
"description": "",
"noItems": "",
"option": {}
"option": {
"hideLogos": {
"label": ""
}
}
},
"speedtestTracker": {
"name": "",
@@ -3417,6 +3691,40 @@
"internalServerError": ""
}
},
"traefik": {
"name": "",
"description": "",
"option": {
"showTcp": {
"label": ""
},
"showUdp": {
"label": ""
},
"showEntryPoints": {
"label": ""
}
},
"instances": "",
"versionUnknown": "",
"summary": {
"routers": "",
"entryPoints": ""
},
"resource": {
"routers": "",
"services": "",
"middlewares": ""
},
"status": {
"healthy": "",
"errors": "",
"warnings": ""
},
"error": {
"internalServerError": ""
}
},
"audioStats": {
"name": "",
"description": "",
@@ -3792,6 +4100,11 @@
"read": "",
"write": ""
},
"storage": {
"title": "",
"subtitle": "",
"series": ""
},
"network": {
"title": "",
"subtitle": "",
@@ -4924,6 +5237,9 @@
"title": "",
"table": {
"updated": "",
"refresh": {
"lastUpdated": ""
},
"search": "",
"selected": "",
"footer": "",
@@ -5652,6 +5968,14 @@
}
}
},
"enableRightClickOnWidgets": {
"label": "",
"children": {
"detail": {
"title": ""
}
}
},
"fullPreferencesPage": {
"label": ""
}
+327 -3
View File
@@ -198,6 +198,10 @@
"pingIconsEnabled": {
"label": "為 Pings 使用 icon"
},
"enableRightClickOnWidgets": {
"label": "",
"description": ""
},
"defaultSearchEngine": {
"label": "預設搜尋引擎"
},
@@ -1285,6 +1289,14 @@
"label": "",
"newLabel": ""
},
"patchmonApiKey": {
"label": "",
"newLabel": ""
},
"patchmonApiSecret": {
"label": "",
"newLabel": ""
},
"githubAppId": {
"label": "",
"newLabel": ""
@@ -1328,9 +1340,21 @@
}
}
},
"traefik": {
"name": "",
"description": ""
},
"paperlessNgx": {
"name": "",
"description": ""
},
"patchmon": {
"name": "",
"description": ""
},
"bazarr": {
"name": "",
"description": ""
}
},
"media": {
@@ -1602,6 +1626,12 @@
"refresh": "",
"options": "",
"actions": ""
},
"status": {
"success": "",
"error": "",
"loading": "",
"idle": ""
}
},
"create": {
@@ -1875,6 +1905,16 @@
"customDateFormat": {
"label": "自訂日期格式",
"description": "使用 ISO 8601 格式化日期 (此操作將覆蓋其他選項)"
},
"showWeather": {
"label": "",
"description": ""
},
"weatherLocation": {
"label": ""
},
"isWeatherFormatFahrenheit": {
"label": ""
}
}
},
@@ -1936,6 +1976,8 @@
"clear": "清除格式",
"heading": "標題 {level}",
"align": "對齊文字:{position}",
"directionLtr": "",
"directionRtl": "",
"blockquote": "引用",
"horizontalLine": "橫線",
"bulletList": "符號列表",
@@ -2225,7 +2267,8 @@
"sunrise": "日出",
"sunset": "日落",
"maxWindSpeed": "最大風速:{maxWindSpeed} 公里/時",
"maxWindGusts": "最大陣風:{maxWindGusts} 公里/時"
"maxWindGusts": "最大陣風:{maxWindGusts} 公里/時",
"humidity": ""
},
"kind": {
"clear": "晴朗",
@@ -2689,6 +2732,11 @@
"user": "使用者",
"name": "名稱",
"id": "ID",
"status": "",
"directPlay": "",
"transcoding": "",
"paused": "",
"remaining": "",
"metadata": {
"title": "",
"video": {
@@ -2754,6 +2802,193 @@
"internalServerError": ""
}
},
"patchmon": {
"name": "",
"description": "",
"title": "",
"totalHosts": "",
"hostsNeedingUpdates": "",
"securityUpdates": "",
"upToDateHosts": "",
"hostsWithSecurityUpdates": "",
"recentUpdates24h": "",
"totalOutdatedPackages": "",
"totalRepos": "",
"osDistribution": "",
"compliance": "",
"complianceRatio": "",
"lastUpdated": "",
"option": {
"showTotalHosts": {
"label": "",
"description": ""
},
"showHostsNeedingUpdates": {
"label": "",
"description": ""
},
"showSecurityUpdates": {
"label": "",
"description": ""
},
"showUpToDateHosts": {
"label": "",
"description": ""
},
"showHostsWithSecurityUpdates": {
"label": "",
"description": ""
},
"showRecentUpdates24h": {
"label": "",
"description": ""
},
"showTotalOutdatedPackages": {
"label": "",
"description": ""
},
"showTotalRepos": {
"label": "",
"description": ""
},
"enableThresholdColors": {
"label": "",
"description": ""
},
"useCustomThresholds": {
"label": "",
"description": ""
},
"thresholdMode": {
"option": {
"absolute": "",
"percent": ""
}
},
"hostsNeedingUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsNeedingUpdatesCriticalAt": {
"label": "",
"description": ""
},
"securityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"securityUpdatesWarningAt": {
"label": "",
"description": ""
},
"securityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesThresholdMode": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesWarningAt": {
"label": "",
"description": ""
},
"hostsWithSecurityUpdatesCriticalAt": {
"label": "",
"description": ""
},
"upToDateHostsThresholdMode": {
"label": "",
"description": ""
},
"upToDateHostsWarningAt": {
"label": "",
"description": ""
},
"upToDateHostsCriticalAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesThresholdMode": {
"label": "",
"description": ""
},
"totalOutdatedPackagesWarningAt": {
"label": "",
"description": ""
},
"totalOutdatedPackagesCriticalAt": {
"label": "",
"description": ""
},
"showOsDistribution": {
"label": "",
"description": ""
},
"osDistributionLimit": {
"label": "",
"description": "",
"option": {
"3": "",
"5": "",
"10": "",
"all": ""
}
},
"showOsVersion": {
"label": "",
"description": ""
},
"showComplianceHero": {
"label": "",
"description": ""
},
"osDisplayMode": {
"label": "",
"description": "",
"option": {
"bars": "",
"donut": ""
}
}
},
"error": {
"internalServerError": ""
}
},
"bazarr": {
"name": "",
"description": "",
"episodes": "",
"movies": "",
"providers": "",
"status": "",
"option": {
"showMissingEpisodes": {
"label": "",
"description": ""
},
"showMissingMovies": {
"label": "",
"description": ""
},
"showProviderIssues": {
"label": "",
"description": ""
},
"showHealthIssues": {
"label": "",
"description": ""
}
},
"error": {
"internalServerError": ""
}
},
"immich-serverStats": {
"name": "",
"description": "",
@@ -2782,6 +3017,7 @@
},
"immich-albumCarousel": {
"name": "",
"allPhotos": "",
"option": {
"albumId": {
"label": "",
@@ -2801,7 +3037,6 @@
}
},
"description": "",
"noAlbumSelected": "",
"noPhotos": ""
},
"downloads": {
@@ -2986,6 +3221,12 @@
"option": {
"linksTargetNewTab": {
"label": "於新分頁中開啟鏈結"
},
"statusFilter": {
"label": ""
},
"recentDays": {
"label": ""
}
},
"pending": {
@@ -3093,6 +3334,35 @@
}
}
},
"mediaMissing": {
"name": "",
"description": "",
"option": {
"showMissing": {
"label": ""
},
"showQueued": {
"label": ""
},
"pageSize": {
"label": ""
}
},
"tab": {
"missing": "",
"queued": ""
},
"type": {
"movie": "",
"episode": ""
},
"empty": {
"missing": "",
"queued": "",
"noTabsEnabled": ""
},
"timeLeft": ""
},
"rssFeed": {
"name": "RSS 訂閱",
"description": "顯示一個或多個 RSS、ATOM、JSON 源",
@@ -3336,7 +3606,11 @@
"name": "",
"description": "",
"noItems": "",
"option": {}
"option": {
"hideLogos": {
"label": ""
}
}
},
"speedtestTracker": {
"name": "",
@@ -3417,6 +3691,40 @@
"internalServerError": ""
}
},
"traefik": {
"name": "",
"description": "",
"option": {
"showTcp": {
"label": ""
},
"showUdp": {
"label": ""
},
"showEntryPoints": {
"label": ""
}
},
"instances": "",
"versionUnknown": "",
"summary": {
"routers": "",
"entryPoints": ""
},
"resource": {
"routers": "",
"services": "",
"middlewares": ""
},
"status": {
"healthy": "",
"errors": "",
"warnings": ""
},
"error": {
"internalServerError": ""
}
},
"audioStats": {
"name": "",
"description": "",
@@ -3792,6 +4100,11 @@
"read": "",
"write": ""
},
"storage": {
"title": "",
"subtitle": "",
"series": ""
},
"network": {
"title": "",
"subtitle": "",
@@ -4924,6 +5237,9 @@
"title": "容器",
"table": {
"updated": "已更新於 {when}",
"refresh": {
"lastUpdated": ""
},
"search": "搜尋 {count} 容器",
"selected": "{totalCount} 容器的 {selectCount}",
"footer": "",
@@ -5652,6 +5968,14 @@
}
}
},
"enableRightClickOnWidgets": {
"label": "",
"children": {
"detail": {
"title": ""
}
}
},
"fullPreferencesPage": {
"label": ""
}
@@ -1,6 +1,6 @@
"use client";
import { useCallback, useEffect, useRef, useState } from "react";
import { useCallback, useEffect, useRef, useState, useSyncExternalStore } from "react";
import { skipToken } from "@tanstack/react-query";
import { clientApi } from "@homarr/api/client";
@@ -10,10 +10,22 @@ import type { BeszelContainerStatsRecord, BeszelSystemStatsRecord } from "@homar
// without synthesizing points for missed updates.
const MAX_BUFFER = 60;
const subscribeToVisibility = (onChange: () => void) => {
if (typeof document === "undefined") return () => {};
document.addEventListener("visibilitychange", onChange);
return () => document.removeEventListener("visibilitychange", onChange);
};
const getPageVisibility = () => typeof document === "undefined" || document.visibilityState === "visible";
const usePageVisible = () => useSyncExternalStore(subscribeToVisibility, getPageVisibility, () => true);
export const useLiveStats = (integrationIds: string[], systemId: string, enabled: boolean) => {
const [systemStats, setSystemStats] = useState<BeszelSystemStatsRecord[]>([]);
const [containerStats, setContainerStats] = useState<BeszelContainerStatsRecord[]>([]);
const [error, setError] = useState<Error | null>(null);
const pageVisible = usePageVisible();
const subscriptionEnabled = enabled && pageVisible && systemId !== "";
// Append to buffer, trimming to MAX_BUFFER
const appendSystemStats = useCallback((record: BeszelSystemStatsRecord) => {
@@ -31,7 +43,7 @@ export const useLiveStats = (integrationIds: string[], systemId: string, enabled
}, []);
clientApi.widget.beszel.subscribeSystemStats.useSubscription(
enabled && systemId !== "" ? { integrationIds, systemId } : skipToken,
subscriptionEnabled ? { integrationIds, systemId } : skipToken,
{
onData(event) {
setError(null);
@@ -49,7 +61,7 @@ export const useLiveStats = (integrationIds: string[], systemId: string, enabled
// Reset buffers when system changes or integration changes
const prevKeyRef = useRef<string>("");
const currentKey = `${integrationIds.join(",")}:${systemId}:${enabled}`;
const currentKey = `${integrationIds.join(",")}:${systemId}:${subscriptionEnabled}`;
useEffect(() => {
if (prevKeyRef.current !== currentKey) {
prevKeyRef.current = currentKey;
+13 -56
View File
@@ -1,6 +1,4 @@
import { useCallback, useState } from "react";
import { Box, Container, Flex, Popover, Text, useMantineTheme } from "@mantine/core";
import { useElementSize } from "@mantine/hooks";
import { Box, Container, Flex, HoverCard, Text, useMantineTheme } from "@mantine/core";
import { useRequiredBoard } from "@homarr/boards/context";
import type { CalendarEvent } from "@homarr/integrations/types";
@@ -13,14 +11,9 @@ interface CalendarDayProps {
disabled: boolean;
rootWidth: number;
rootHeight: number;
onOpen: (close: () => void) => void;
}
export const CalendarDay = ({ date, events, disabled, rootHeight, rootWidth, onOpen }: CalendarDayProps) => {
const [opened, setOpened] = useState(false);
const [pinned, setPinned] = useState(false);
const { primaryColor } = useMantineTheme();
const { ref, height } = useElementSize();
export const CalendarDay = ({ date, events, disabled, rootHeight, rootWidth }: CalendarDayProps) => {
const board = useRequiredBoard();
const mantineTheme = useMantineTheme();
const actualItemRadius = mantineTheme.radius[board.itemRadius];
@@ -29,39 +22,19 @@ export const CalendarDay = ({ date, events, disabled, rootHeight, rootWidth, onO
const shouldScaleDown = minAxisSize < 350;
const isSmall = rootHeight < 256;
const isTooSmallForIndicators = height < 30;
const handleMouseEnter = useCallback(() => {
if (disabled) return;
onOpen(() => {
setOpened(false);
setPinned(false);
});
setOpened(true);
}, [disabled, onOpen]);
const handleMouseLeave = useCallback(() => {
if (!pinned) setOpened(false);
}, [pinned]);
return (
<Popover
<HoverCard
position="bottom"
withArrow
withinPortal
radius="lg"
shadow="sm"
transitionProps={{
transition: "pop",
}}
onChange={(value) => {
setOpened(value);
if (!value) setPinned(false);
}}
opened={opened}
transitionProps={{ transition: "pop" }}
openDelay={350}
closeDelay={400}
disabled={disabled}
>
<Popover.Target>
<HoverCard.Target>
<Container
h="100%"
w="100%"
@@ -69,38 +42,23 @@ export const CalendarDay = ({ date, events, disabled, rootHeight, rootWidth, onO
pt={isSmall ? 0 : 10}
pb={isSmall ? 0 : 10}
m={0}
ref={ref}
bd={`2px solid ${opened && !disabled ? primaryColor : "transparent"}`}
pos="relative"
style={{
alignContent: "center",
borderRadius: actualItemRadius,
cursor: disabled ? "default" : "pointer",
}}
onClick={() => {
if (!disabled) setPinned((prev) => !prev);
}}
onMouseEnter={handleMouseEnter}
onMouseLeave={handleMouseLeave}
>
<Text ta={"center"} size={shouldScaleDown ? "xs" : "md"} lh={1}>
{date.getDate()}
</Text>
{!isTooSmallForIndicators && <NotificationIndicator events={events} isSmall={isSmall} />}
<NotificationIndicator events={events} isSmall={isSmall} />
</Container>
</Popover.Target>
{/* Popover has some offset on the left side, padding is removed because of scrollarea paddings */}
<Popover.Dropdown
maw="calc(100vw - 24px)"
w={512}
pe={4}
pb={0}
style={{ overflow: "hidden" }}
onMouseEnter={() => setOpened(true)}
onMouseLeave={handleMouseLeave}
>
</HoverCard.Target>
<HoverCard.Dropdown maw="calc(100vw - 24px)" w={512} pe={4} pb={0} style={{ overflow: "hidden" }}>
<CalendarEventList events={events} />
</Popover.Dropdown>
</Popover>
</HoverCard.Dropdown>
</HoverCard>
);
};
@@ -111,7 +69,6 @@ interface NotificationIndicatorProps {
const NotificationIndicator = ({ events, isSmall }: NotificationIndicatorProps) => {
const notificationEvents = [...new Set(events.map((event) => event.indicatorColor))].filter(String);
/* position bottom is lower when small to not be on top of number*/
return (
<Flex
w="75%"
+1 -7
View File
@@ -1,6 +1,6 @@
"use client";
import { useCallback, useMemo, useRef, useState } from "react";
import { useMemo, useState } from "react";
import { useParams } from "next/navigation";
import { useMantineTheme } from "@mantine/core";
import { Calendar } from "@mantine/dates";
@@ -65,11 +65,6 @@ const CalendarBase = ({ isEditMode, events, month, setMonth, options }: Calendar
const isSmall = width < 256;
const normalizedEvents = useMemo(() => splitEvents(events), [events]);
const activeCloseRef = useRef<(() => void) | null>(null);
const onDayOpen = useCallback((close: () => void) => {
activeCloseRef.current?.();
activeCloseRef.current = close;
}, []);
return (
<Calendar
@@ -146,7 +141,6 @@ const CalendarBase = ({ isEditMode, events, month, setMonth, options }: Calendar
disabled={isEditMode || eventsForDate.length === 0}
rootWidth={width}
rootHeight={height}
onOpen={onDayOpen}
/>
);
}}
+57 -19
View File
@@ -1,13 +1,16 @@
"use client";
import { useEffect, useMemo, useRef, useState } from "react";
import { Stack, Text, Title } from "@mantine/core";
import { Box, Stack, Text, Title } from "@mantine/core";
import dayjs from "dayjs";
import advancedFormat from "dayjs/plugin/advancedFormat";
import timezones from "dayjs/plugin/timezone";
import utc from "dayjs/plugin/utc";
import { clientApi } from "@homarr/api/client";
import type { WidgetComponentProps } from "../definition";
import { AnimatedWeatherIcon } from "../weather/animated-icon";
dayjs.extend(advancedFormat);
dayjs.extend(utc);
@@ -23,30 +26,65 @@ export default function ClockWidget({ options, width }: WidgetComponentProps<"cl
const time = useCurrentTime(options);
const sizing = width < 128 ? "xs" : width < 196 ? "sm" : "md";
const showWeatherCorner = options.showWeather && sizing !== "xs";
return (
<Stack className="clock-text-stack" h="100%" align="center" justify="center" gap={sizing}>
{options.customTitleToggle && (
<Text className="clock-customTitle-text" size={sizing} ta="center">
{options.customTitle}
</Text>
<Box className="clock-widget-container" h="100%" pos="relative">
{showWeatherCorner && (
<ClockWeatherCorner
latitude={options.weatherLocation.latitude}
longitude={options.weatherLocation.longitude}
isFahrenheit={options.isWeatherFormatFahrenheit}
/>
)}
<Title className="clock-time-text" fw={700} order={sizing === "md" ? 2 : sizing === "sm" ? 4 : 6} lh="1">
{options.customTimeFormat
? dayjs(time).tz(timezone).format(customTimeFormat)
: dayjs(time).tz(timezone).format(timeFormat)}
</Title>
{options.showDate && (
<Text className="clock-date-text" size={sizing} lineClamp={1}>
{options.customDateFormat
? dayjs(time).tz(timezone).format(customDateFormat)
: dayjs(time).tz(timezone).format(dateFormat)}
</Text>
)}
</Stack>
<Stack className="clock-text-stack" h="100%" align="center" justify="center" gap={sizing}>
{options.customTitleToggle && (
<Text className="clock-customTitle-text" size={sizing} ta="center">
{options.customTitle}
</Text>
)}
<Title className="clock-time-text" fw={700} order={sizing === "md" ? 2 : sizing === "sm" ? 4 : 6} lh="1">
{options.customTimeFormat
? dayjs(time).tz(timezone).format(customTimeFormat)
: dayjs(time).tz(timezone).format(timeFormat)}
</Title>
{options.showDate && (
<Text className="clock-date-text" size={sizing} lineClamp={1}>
{options.customDateFormat
? dayjs(time).tz(timezone).format(customDateFormat)
: dayjs(time).tz(timezone).format(dateFormat)}
</Text>
)}
</Stack>
</Box>
);
}
interface ClockWeatherCornerProps {
latitude: number;
longitude: number;
isFahrenheit: boolean;
}
const ClockWeatherCorner = ({ latitude, longitude, isFahrenheit }: ClockWeatherCornerProps) => {
const { data: weather } = clientApi.widget.weather.atLocation.useQuery({ latitude, longitude });
if (!weather) return null;
const temp = isFahrenheit ? weather.current.temperature * (9 / 5) + 32 : weather.current.temperature;
const unit = isFahrenheit ? "°F" : "°C";
return (
<Stack className="clock-weather-corner" pos="absolute" top={4} left={4} gap={0} align="center">
<AnimatedWeatherIcon code={weather.current.weathercode} size={22} />
<Text className="clock-weather-corner-temp" size="xs" c="dimmed">
{Math.round(temp)}
{unit}
</Text>
</Stack>
);
};
interface UseCurrentTimeProps {
showSeconds: boolean;
}
+20
View File
@@ -55,6 +55,20 @@ export const { definition, componentLoader } = createWidgetDefinition("clock", {
defaultValue: "",
withDescription: true,
}),
showWeather: factory.switch({
defaultValue: false,
withDescription: true,
}),
weatherLocation: factory.location({
defaultValue: {
name: "Brisbane",
latitude: -27.4698,
longitude: 153.0251,
},
}),
isWeatherFormatFahrenheit: factory.switch({
defaultValue: false,
}),
}),
{
customTitle: {
@@ -66,6 +80,12 @@ export const { definition, componentLoader } = createWidgetDefinition("clock", {
dateFormat: {
shouldHide: (options) => !options.showDate,
},
weatherLocation: {
shouldHide: (options) => !options.showWeather,
},
isWeatherFormatFahrenheit: {
shouldHide: (options) => !options.showWeather,
},
},
);
},
@@ -11,6 +11,7 @@ import { useI18n } from "@homarr/translation/client";
import { WidgetEmptyState } from "../../common/empty-state";
import type { WidgetComponentProps } from "../../definition";
import classes from "./component.module.css";
import { ALL_PHOTOS_ALBUM_ID } from "./constants";
export default function ImmichAlbumCarouselWidget({
integrationIds,
@@ -21,9 +22,9 @@ export default function ImmichAlbumCarouselWidget({
const { data: album } = clientApi.widget.immich.getAlbum.useQuery(
{
integrationId: integrationIds[0] ?? "",
albumId: options.albumId ?? "",
albumId: options.albumId && options.albumId !== ALL_PHOTOS_ALBUM_ID ? options.albumId : undefined,
},
{ enabled: Boolean(options.albumId) },
{ enabled: integrationIds.length > 0 },
);
const photoAssets = useMemo(() => {
@@ -35,10 +36,6 @@ export default function ImmichAlbumCarouselWidget({
setCurrentPhotoIndex(0);
}, [photoAssets]);
if (!options.albumId) {
return <NoAlbumSelected />;
}
if (!album) return <WidgetEmptyState />;
if (album.assets.length === 0) {
@@ -117,20 +114,6 @@ function Carousel({ assets, currentIndex, setCurrentIndex, rotationInterval, sho
);
}
function NoAlbumSelected() {
const t = useI18n();
return (
<Center h="100%">
<Stack align="center" gap="xs">
<IconAlertCircle size={32} />
<Text size="sm" fw={500}>
{t("widget.immich-albumCarousel.noAlbumSelected")}
</Text>
</Stack>
</Center>
);
}
function NoPhotosInAlbum() {
const t = useI18n();
return (
@@ -0,0 +1 @@
export const ALL_PHOTOS_ALBUM_ID = "all";
@@ -2,9 +2,11 @@ import { IconPhoto } from "@tabler/icons-react";
import z from "zod";
import { clientApi } from "@homarr/api/client";
import { useScopedI18n } from "@homarr/translation/client";
import { createWidgetDefinition } from "../../definition";
import { optionsBuilder } from "../../options";
import { ALL_PHOTOS_ALBUM_ID } from "./constants";
export const { definition, componentLoader } = createWidgetDefinition("immich-albumCarousel", {
icon: IconPhoto,
@@ -15,9 +17,11 @@ export const { definition, componentLoader } = createWidgetDefinition("immich-al
createOptions() {
return optionsBuilder.from((factory) => ({
albumId: factory.integrationSelect({
defaultValue: ALL_PHOTOS_ALBUM_ID,
withDescription: true,
clearable: true,
useOptions: (integrationIds: string[]) => {
const t = useScopedI18n("widget.immich-albumCarousel");
const {
data = [],
isPending,
@@ -26,7 +30,14 @@ export const { definition, componentLoader } = createWidgetDefinition("immich-al
{ integrationId: integrationIds[0] ?? "" },
{ enabled: integrationIds.length > 0, staleTime: 15 * 60 * 1000 },
);
return { data: data.map((album) => ({ value: album.id, label: album.albumName })), isPending, isError };
return {
data: [
{ value: ALL_PHOTOS_ALBUM_ID, label: t("allPhotos") },
...data.map((album) => ({ value: album.id, label: album.albumName })),
],
isPending,
isError,
};
},
}),
rotationIntervalSeconds: factory.number({
@@ -66,10 +66,12 @@ export default function MediaServerWidget({ options, integrationIds }: WidgetCom
const currentlyPlaying = row.original.currentlyPlaying;
if (!currentlyPlaying) return null;
const isPaused = currentlyPlaying.playback.state === "paused";
const playback = currentlyPlaying.playback;
const isPaused = playback?.state === "paused";
const Icon = isPaused ? IconPlayerPause : mediaTypeIconMap[currentlyPlaying.type];
const { positionMs, durationMs } = currentlyPlaying.playback;
const positionMs = playback?.positionMs ?? null;
const durationMs = playback?.durationMs ?? null;
const progressPercent =
positionMs !== null && durationMs !== null && durationMs > 0
? Math.min(100, Math.round((positionMs / durationMs) * 100))
+14 -10
View File
@@ -29,6 +29,7 @@ import { MaskedOrNormalImage } from "@homarr/ui";
import type { WidgetComponentProps } from "../definition";
import classes from "./component.module.scss";
import type { ReleasesRepository, ReleasesRepositoryResponse } from "./releases-repository";
import { getReleasesQueryStaleTimeMs } from "./query-options";
const formatRelativeDate = (value: string): string => {
const isMonths = /\d+m/g.test(value);
@@ -89,16 +90,19 @@ export default function ReleasesWidget({ options, itemId }: WidgetComponentProps
const queryResults = clientApi.useQueries((trpc) =>
batchedRepositories.flatMap(({ provider, repositories }) =>
trpc.widget.releases.getLatest({
itemId,
repositories: repositories.map((repository) => ({
id: repository.id,
provider,
identifier: repository.identifier,
versionFilter: repository.versionFilter,
providerUrl: repository.providerUrl,
})),
}),
trpc.widget.releases.getLatest(
{
itemId,
repositories: repositories.map((repository) => ({
id: repository.id,
provider,
identifier: repository.identifier,
versionFilter: repository.versionFilter,
providerUrl: repository.providerUrl,
})),
},
{ staleTime: getReleasesQueryStaleTimeMs },
),
),
);
@@ -0,0 +1,25 @@
import { describe, expect, test } from "vitest";
import { getReleasesQueryStaleTimeMs } from "./query-options";
describe("getReleasesQueryStaleTimeMs", () => {
test("keeps successful release batches fresh for four hours", () => {
const staleTime = getReleasesQueryStaleTimeMs({
state: { data: [{ success: true }, { success: true }] },
});
expect(staleTime).toBe(4 * 60 * 60 * 1000);
});
test("keeps a batch stale when a provider returned an error", () => {
const staleTime = getReleasesQueryStaleTimeMs({
state: { data: [{ success: true }, { success: false }] },
});
expect(staleTime).toBe(0);
});
test.each([undefined, [], [{ unexpected: true }]])("keeps missing or invalid data stale", (data) => {
expect(getReleasesQueryStaleTimeMs({ state: { data } })).toBe(0);
});
});
@@ -0,0 +1,17 @@
export const releasesQuerySuccessfulStaleTimeMs = 4 * 60 * 60 * 1000;
interface QueryWithData {
state: {
data: unknown;
};
}
export const getReleasesQueryStaleTimeMs = ({ state }: QueryWithData) => {
if (!Array.isArray(state.data) || state.data.length === 0) return 0;
const allRepositoriesSucceeded = state.data.every(
(result) => typeof result === "object" && result !== null && "success" in result && result.success === true,
);
return allRepositoriesSucceeded ? releasesQuerySuccessfulStaleTimeMs : 0;
};
@@ -0,0 +1,28 @@
import "../widgets-common.css";
import { WeatherIcon } from "./icon";
interface AnimatedWeatherIconProps {
code: number;
size?: string | number;
}
const getAnimationClass = (code: number): string => {
if (code === 0) return "weather-anim-sun";
if ([1, 2, 3].includes(code)) return "weather-anim-cloud";
if ([45, 48].includes(code)) return "weather-anim-fog";
if ([51, 53, 55, 56, 57, 61, 63, 65, 66, 67, 80, 81, 82].includes(code)) return "weather-anim-rain";
if ([71, 73, 75, 77, 85, 86].includes(code)) return "weather-anim-snow";
if ([95, 96, 99].includes(code)) return "weather-anim-storm";
return "";
};
export const AnimatedWeatherIcon = ({ code, size = 26 }: AnimatedWeatherIconProps) => {
return (
<span className={`weather-anim-wrapper ${getAnimationClass(code)}`}>
<WeatherIcon code={code} size={size} />
</span>
);
};
+13 -5
View File
@@ -1,7 +1,7 @@
"use client";
import { Box, Group, HoverCard, Stack, Text } from "@mantine/core";
import { IconArrowDownRight, IconArrowUpRight, IconMapPin, IconWind } from "@tabler/icons-react";
import { IconArrowDownRight, IconArrowUpRight, IconDroplets, IconMapPin, IconWind } from "@tabler/icons-react";
import combineClasses from "clsx";
import dayjs from "dayjs";
@@ -12,7 +12,8 @@ import { useScopedI18n } from "@homarr/translation/client";
import { WidgetEmptyState } from "../common/empty-state";
import type { WidgetComponentProps } from "../definition";
import { WeatherDescription, WeatherIcon } from "./icon";
import { AnimatedWeatherIcon } from "./animated-icon";
import { WeatherDescription } from "./icon";
export default function WeatherWidget({ isEditMode, options }: WidgetComponentProps<"weather">) {
const input = {
@@ -55,7 +56,7 @@ const DailyWeather = ({ options, weather }: WeatherProps) => {
<HoverCard>
<HoverCard.Target>
<Box>
<WeatherIcon size={30} code={weather.current.weathercode} />
<AnimatedWeatherIcon size={30} code={weather.current.weathercode} />
</Box>
</HoverCard.Target>
<HoverCard.Dropdown>
@@ -87,6 +88,12 @@ const DailyWeather = ({ options, weather }: WeatherProps) => {
</Text>
</Group>
)}
{weather.daily[0]?.humidity !== undefined && (
<Group className="weather-humidity-group" wrap="nowrap" gap="xs">
<IconDroplets size={16} />
<Text fz={16}>{t("dailyForecast.humidity", { humidity: weather.daily[0].humidity })}</Text>
</Group>
)}
<Group className="weather-max-min-temp-group" wrap="nowrap" gap="sm">
<Group gap="xs" wrap="nowrap">
<IconArrowUpRight size={16} />
@@ -140,7 +147,7 @@ const WeeklyForecast = ({ options, weather }: WeatherProps) => {
<HoverCard>
<HoverCard.Target>
<Box>
<WeatherIcon size={16} code={weather.current.weathercode} />
<AnimatedWeatherIcon size={16} code={weather.current.weathercode} />
</Box>
</HoverCard.Target>
<HoverCard.Dropdown>
@@ -178,7 +185,7 @@ function Forecast({ weather, options }: WeatherProps) {
align="center"
>
<Text fz="xl">{dayjs(dayWeather.time).format("dd")}</Text>
<WeatherIcon size={16} code={dayWeather.weatherCode} />
<AnimatedWeatherIcon size={16} code={dayWeather.weatherCode} />
<Text fz={16}>
{getPreferredUnit(dayWeather.maxTemp, options.isFormatFahrenheit, options.disableTemperatureDecimals)}
</Text>
@@ -204,6 +211,7 @@ function Forecast({ weather, options }: WeatherProps) {
sunset={dayjs(dayWeather.sunset).format("HH:mm")}
maxWindSpeed={dayWeather.maxWindSpeed}
maxWindGusts={dayWeather.maxWindGusts}
humidity={dayWeather.humidity}
/>
</HoverCard.Dropdown>
</HoverCard>
+6
View File
@@ -5,6 +5,7 @@ import {
IconCloudRain,
IconCloudSnow,
IconCloudStorm,
IconDroplets,
IconMoon,
IconQuestionMark,
IconSnowflake,
@@ -51,6 +52,7 @@ interface WeatherDescriptionProps {
sunset?: string;
maxWindSpeed?: number;
maxWindGusts?: number;
humidity?: number;
}
/**
@@ -78,6 +80,7 @@ export const WeatherDescription = ({
sunset,
maxWindSpeed,
maxWindGusts,
humidity,
}: WeatherDescriptionProps) => {
const t = useScopedI18n("widget.weather");
const tCommon = useScopedI18n("common");
@@ -97,6 +100,9 @@ export const WeatherDescription = ({
<List.Item icon={<IconTemperatureMinus size={15} />}>{`${tCommon("information.min")}: ${minTemp}`}</List.Item>
<List.Item icon={<IconSun size={15} />}>{`${t("dailyForecast.sunrise")}: ${sunrise}`}</List.Item>
<List.Item icon={<IconMoon size={15} />}>{`${t("dailyForecast.sunset")}: ${sunset}`}</List.Item>
{humidity !== undefined && (
<List.Item icon={<IconDroplets size={15} />}>{t("dailyForecast.humidity", { humidity })}</List.Item>
)}
{maxWindSpeed !== undefined && (
<List.Item icon={<IconWind size={15} />}>
{t("dailyForecast.maxWindSpeed", {
+80
View File
@@ -25,3 +25,83 @@
.text-flash {
animation: glow 1s ease-in-out;
}
/*Animated weather icons, used by clock and weather widgets*/
.weather-anim-wrapper {
display: inline-flex;
}
@keyframes weather-spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
@keyframes weather-drift {
0%,
100% {
transform: translateX(-2px);
}
50% {
transform: translateX(2px);
}
}
@keyframes weather-fall {
0% {
transform: translateY(-2px);
opacity: 0.4;
}
50% {
opacity: 1;
}
100% {
transform: translateY(2px);
opacity: 0.4;
}
}
@keyframes weather-flicker {
0%,
90%,
100% {
opacity: 1;
}
92%,
96% {
opacity: 0.4;
}
}
.weather-anim-sun {
animation: weather-spin 16s linear infinite;
transform-origin: center;
}
.weather-anim-cloud,
.weather-anim-fog {
animation: weather-drift 4s ease-in-out infinite;
}
.weather-anim-rain,
.weather-anim-snow {
animation: weather-fall 1.6s ease-in-out infinite;
}
.weather-anim-storm {
animation: weather-flicker 3s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce) {
.weather-anim-sun,
.weather-anim-cloud,
.weather-anim-fog,
.weather-anim-rain,
.weather-anim-snow,
.weather-anim-storm {
animation: none;
}
}
+1 -1
View File
@@ -1 +1 @@
[{"login":"ajnart","avatar_url":"https://avatars.githubusercontent.com/u/49837342?v=4"},{"login":"manuel-rw","avatar_url":"https://avatars.githubusercontent.com/u/30572287?v=4"},{"login":"Meierschlumpf","avatar_url":"https://avatars.githubusercontent.com/u/63781622?v=4"},{"login":"SeDemal","avatar_url":"https://avatars.githubusercontent.com/u/26098587?v=4"},{"login":"lammersbjorn","avatar_url":"https://avatars.githubusercontent.com/u/71191962?v=4"},{"login":"LarveyOfficial","avatar_url":"https://avatars.githubusercontent.com/u/39219859?v=4"},{"login":"c00ldude1oo","avatar_url":"https://avatars.githubusercontent.com/u/15677803?v=4"},{"login":"InterN0te","avatar_url":"https://avatars.githubusercontent.com/u/10882916?v=4"},{"login":"Aimsucks","avatar_url":"https://avatars.githubusercontent.com/u/1828486?v=4"},{"login":"JannesV","avatar_url":"https://avatars.githubusercontent.com/u/5984244?v=4"},{"login":"MauriceNino","avatar_url":"https://avatars.githubusercontent.com/u/18658092?v=4"},{"login":"hillaliy","avatar_url":"https://avatars.githubusercontent.com/u/950010?v=4"},{"login":"Skeeww","avatar_url":"https://avatars.githubusercontent.com/u/9639992?v=4"},{"login":"RichyHBM","avatar_url":"https://avatars.githubusercontent.com/u/5472275?v=4"},{"login":"Bonfire","avatar_url":"https://avatars.githubusercontent.com/u/5704760?v=4"},{"login":"wieli99","avatar_url":"https://avatars.githubusercontent.com/u/46794825?v=4"},{"login":"ishaanparlikar","avatar_url":"https://avatars.githubusercontent.com/u/43013132?v=4"},{"login":"Zareix","avatar_url":"https://avatars.githubusercontent.com/u/29818713?v=4"},{"login":"tuggan","avatar_url":"https://avatars.githubusercontent.com/u/4325608?v=4"},{"login":"Spillebulle","avatar_url":"https://avatars.githubusercontent.com/u/46653946?v=4"},{"login":"marektancak0106","avatar_url":"https://avatars.githubusercontent.com/u/25422667?v=4"},{"login":"spkesDE","avatar_url":"https://avatars.githubusercontent.com/u/1682314?v=4"},{"login":"j3lte","avatar_url":"https://avatars.githubusercontent.com/u/2557568?v=4"},{"login":"dslatt","avatar_url":"https://avatars.githubusercontent.com/u/5211001?v=4"},{"login":"Malong11-007","avatar_url":"https://avatars.githubusercontent.com/u/40298510?v=4"},{"login":"StefanB7","avatar_url":"https://avatars.githubusercontent.com/u/22056509?v=4"},{"login":"souravghosh01","avatar_url":"https://avatars.githubusercontent.com/u/37548139?v=4"},{"login":"SR3u","avatar_url":"https://avatars.githubusercontent.com/u/2380522?v=4"},{"login":"Rikpat","avatar_url":"https://avatars.githubusercontent.com/u/33869814?v=4"},{"login":"NormanJS","avatar_url":"https://avatars.githubusercontent.com/u/83409549?v=4"},{"login":"No-Maines-Land","avatar_url":"https://avatars.githubusercontent.com/u/20687725?v=4"},{"login":"stark1tty","avatar_url":"https://avatars.githubusercontent.com/u/69326376?v=4"},{"login":"Momcilo42","avatar_url":"https://avatars.githubusercontent.com/u/10118137?v=4"},{"login":"marius-arch","avatar_url":"https://avatars.githubusercontent.com/u/72494359?v=4"},{"login":"Lumilias","avatar_url":"https://avatars.githubusercontent.com/u/10852161?v=4"},{"login":"Havock94","avatar_url":"https://avatars.githubusercontent.com/u/7635248?v=4"},{"login":"Lollyde","avatar_url":"https://avatars.githubusercontent.com/u/11347524?v=4"},{"login":"krishnamuppaneni","avatar_url":"https://avatars.githubusercontent.com/u/4703366?v=4"},{"login":"devtobi","avatar_url":"https://avatars.githubusercontent.com/u/28538704?v=4"},{"login":"TyxTang","avatar_url":"https://avatars.githubusercontent.com/u/90897955?v=4"},{"login":"beanbag420","avatar_url":"https://avatars.githubusercontent.com/u/19630511?v=4"},{"login":"WillyJL","avatar_url":"https://avatars.githubusercontent.com/u/49810075?v=4"},{"login":"anonysoul","avatar_url":"https://avatars.githubusercontent.com/u/105715150?v=4"},{"login":"cospeedster","avatar_url":"https://avatars.githubusercontent.com/u/52749645?v=4"},{"login":"diederbert","avatar_url":"https://avatars.githubusercontent.com/u/162878798?v=4"},{"login":"digdilem","avatar_url":"https://avatars.githubusercontent.com/u/4052275?v=4"},{"login":"dinghino","avatar_url":"https://avatars.githubusercontent.com/u/14729459?v=4"},{"login":"gfomichev","avatar_url":"https://avatars.githubusercontent.com/u/1596146?v=4"},{"login":"gnattu","avatar_url":"https://avatars.githubusercontent.com/u/12995396?v=4"},{"login":"tuxpizza","avatar_url":"https://avatars.githubusercontent.com/u/84710786?v=4"},{"login":"xmarkurion","avatar_url":"https://avatars.githubusercontent.com/u/46654687?v=4"},{"login":"huanga","avatar_url":"https://avatars.githubusercontent.com/u/732970?v=4"},{"login":"taos15","avatar_url":"https://avatars.githubusercontent.com/u/122130728?v=4"},{"login":"arghyadipchak","avatar_url":"https://avatars.githubusercontent.com/u/32430374?v=4"},{"login":"AuthorShin","avatar_url":"https://avatars.githubusercontent.com/u/4959043?v=4"},{"login":"benniblot","avatar_url":"https://avatars.githubusercontentLine truncated
[{"login":"ajnart","avatar_url":"https://avatars.githubusercontent.com/u/49837342?v=4"},{"login":"manuel-rw","avatar_url":"https://avatars.githubusercontent.com/u/30572287?v=4"},{"login":"Meierschlumpf","avatar_url":"https://avatars.githubusercontent.com/u/63781622?v=4"},{"login":"SeDemal","avatar_url":"https://avatars.githubusercontent.com/u/26098587?v=4"},{"login":"lammersbjorn","avatar_url":"https://avatars.githubusercontent.com/u/71191962?v=4"},{"login":"LarveyOfficial","avatar_url":"https://avatars.githubusercontent.com/u/39219859?v=4"},{"login":"c00ldude1oo","avatar_url":"https://avatars.githubusercontent.com/u/15677803?v=4"},{"login":"InterN0te","avatar_url":"https://avatars.githubusercontent.com/u/10882916?v=4"},{"login":"Aimsucks","avatar_url":"https://avatars.githubusercontent.com/u/1828486?v=4"},{"login":"JannesV","avatar_url":"https://avatars.githubusercontent.com/u/5984244?v=4"},{"login":"MauriceNino","avatar_url":"https://avatars.githubusercontent.com/u/18658092?v=4"},{"login":"hillaliy","avatar_url":"https://avatars.githubusercontent.com/u/950010?v=4"},{"login":"Skeeww","avatar_url":"https://avatars.githubusercontent.com/u/9639992?v=4"},{"login":"RichyHBM","avatar_url":"https://avatars.githubusercontent.com/u/5472275?v=4"},{"login":"Bonfire","avatar_url":"https://avatars.githubusercontent.com/u/5704760?v=4"},{"login":"wieli99","avatar_url":"https://avatars.githubusercontent.com/u/46794825?v=4"},{"login":"ishaanparlikar","avatar_url":"https://avatars.githubusercontent.com/u/43013132?v=4"},{"login":"Zareix","avatar_url":"https://avatars.githubusercontent.com/u/29818713?v=4"},{"login":"tuggan","avatar_url":"https://avatars.githubusercontent.com/u/4325608?v=4"},{"login":"Spillebulle","avatar_url":"https://avatars.githubusercontent.com/u/46653946?v=4"},{"login":"marektancak0106","avatar_url":"https://avatars.githubusercontent.com/u/25422667?v=4"},{"login":"spkesDE","avatar_url":"https://avatars.githubusercontent.com/u/1682314?v=4"},{"login":"j3lte","avatar_url":"https://avatars.githubusercontent.com/u/2557568?v=4"},{"login":"dslatt","avatar_url":"https://avatars.githubusercontent.com/u/5211001?v=4"},{"login":"Malong11-007","avatar_url":"https://avatars.githubusercontent.com/u/40298510?v=4"},{"login":"StefanB7","avatar_url":"https://avatars.githubusercontent.com/u/22056509?v=4"},{"login":"souravghosh01","avatar_url":"https://avatars.githubusercontent.com/u/37548139?v=4"},{"login":"SR3u","avatar_url":"https://avatars.githubusercontent.com/u/2380522?v=4"},{"login":"Rikpat","avatar_url":"https://avatars.githubusercontent.com/u/33869814?v=4"},{"login":"NormanJS","avatar_url":"https://avatars.githubusercontent.com/u/83409549?v=4"},{"login":"No-Maines-Land","avatar_url":"https://avatars.githubusercontent.com/u/20687725?v=4"},{"login":"stark1tty","avatar_url":"https://avatars.githubusercontent.com/u/69326376?v=4"},{"login":"Momcilo42","avatar_url":"https://avatars.githubusercontent.com/u/10118137?v=4"},{"login":"marius-arch","avatar_url":"https://avatars.githubusercontent.com/u/72494359?v=4"},{"login":"Lumilias","avatar_url":"https://avatars.githubusercontent.com/u/10852161?v=4"},{"login":"Havock94","avatar_url":"https://avatars.githubusercontent.com/u/7635248?v=4"},{"login":"Lollyde","avatar_url":"https://avatars.githubusercontent.com/u/11347524?v=4"},{"login":"krishnamuppaneni","avatar_url":"https://avatars.githubusercontent.com/u/4703366?v=4"},{"login":"devtobi","avatar_url":"https://avatars.githubusercontent.com/u/28538704?v=4"},{"login":"TyxTang","avatar_url":"https://avatars.githubusercontent.com/u/90897955?v=4"},{"login":"beanbag420","avatar_url":"https://avatars.githubusercontent.com/u/19630511?v=4"},{"login":"WillyJL","avatar_url":"https://avatars.githubusercontent.com/u/49810075?v=4"},{"login":"anonysoul","avatar_url":"https://avatars.githubusercontent.com/u/105715150?v=4"},{"login":"cospeedster","avatar_url":"https://avatars.githubusercontent.com/u/52749645?v=4"},{"login":"diederbert","avatar_url":"https://avatars.githubusercontent.com/u/162878798?v=4"},{"login":"digdilem","avatar_url":"https://avatars.githubusercontent.com/u/4052275?v=4"},{"login":"dinghino","avatar_url":"https://avatars.githubusercontent.com/u/14729459?v=4"},{"login":"gfomichev","avatar_url":"https://avatars.githubusercontent.com/u/1596146?v=4"},{"login":"gnattu","avatar_url":"https://avatars.githubusercontent.com/u/12995396?v=4"},{"login":"tuxpizza","avatar_url":"https://avatars.githubusercontent.com/u/84710786?v=4"},{"login":"xmarkurion","avatar_url":"https://avatars.githubusercontent.com/u/46654687?v=4"},{"login":"huanga","avatar_url":"https://avatars.githubusercontent.com/u/732970?v=4"},{"login":"taos15","avatar_url":"https://avatars.githubusercontent.com/u/122130728?v=4"},{"login":"arghyadipchak","avatar_url":"https://avatars.githubusercontent.com/u/32430374?v=4"},{"login":"AuthorShin","avatar_url":"https://avatars.githubusercontent.com/u/4959043?v=4"},{"login":"benniblot","avatar_url":"https://avatars.githubusercontentLine truncated