diff --git a/.github/workflows/deployment-docker-image.yml b/.github/workflows/deployment-docker-image.yml index c96cf1a1b..807a5bf39 100644 --- a/.github/workflows/deployment-docker-image.yml +++ b/.github/workflows/deployment-docker-image.yml @@ -40,6 +40,7 @@ jobs: SKIP_RELEASE: ${{ github.event_name == 'workflow_dispatch' || github.ref_name == 'dev' }} outputs: version: ${{ steps.read-semver.outputs.version || steps.version-fallback.outputs.version }} + git_ref: ${{ steps.read-git-ref.outputs.ref || github.ref }} steps: - run: echo "Skipping release for workflow_dispatch event" @@ -87,9 +88,16 @@ jobs: run: | git fetch --tags echo "version=$(git describe --tags --abbrev=0)" >> "$GITHUB_OUTPUT" + - name: Read git ref + if: env.SKIP_RELEASE == 'false' + id: read-git-ref + run: | + echo "ref=$(git rev-parse HEAD)" >> "$GITHUB_OUTPUT" - name: Update dev branch if: env.SKIP_RELEASE == 'false' continue-on-error: true # Prevent pipeline from failing when merge fails + env: + GITHUB_TOKEN: ${{ steps.obtainToken.outputs.token }} run: | git fetch origin dev git checkout dev @@ -107,6 +115,8 @@ jobs: PUSH_IMAGE: ${{ github.event_name != 'workflow_dispatch' || github.events.inputs.push-image == true }} steps: - uses: actions/checkout@v4 + with: + ref: ${{ needs.release.outputs.git_ref }} - name: Discord notification if: ${{ github.events.inputs.send-notifications != false }} env: diff --git a/apps/nextjs/next.config.mjs b/apps/nextjs/next.config.mjs index 2467471d8..8c4bd2800 100644 --- a/apps/nextjs/next.config.mjs +++ b/apps/nextjs/next.config.mjs @@ -1,5 +1,6 @@ // Importing env files here to validate on build import "@homarr/auth/env.mjs"; +import "@homarr/db/env.mjs"; import MillionLint from "@million/lint"; import createNextIntlPlugin from "next-intl/plugin"; diff --git a/apps/nextjs/package.json b/apps/nextjs/package.json index fe9b0eeb7..01b6e3884 100644 --- a/apps/nextjs/package.json +++ b/apps/nextjs/package.json @@ -65,7 +65,7 @@ "glob": "^11.0.0", "jotai": "^2.10.4", "mantine-react-table": "2.0.0-beta.7", - "next": "^14.2.20", + "next": "^14.2.21", "postcss-preset-mantine": "^1.17.0", "prismjs": "^1.29.0", "react": "^19.0.0", @@ -84,7 +84,7 @@ "@types/chroma-js": "2.4.5", "@types/node": "^22.10.2", "@types/prismjs": "^1.26.5", - "@types/react": "^19.0.1", + "@types/react": "^19.0.2", "@types/react-dom": "^19.0.2", "@types/swagger-ui-react": "^4.18.3", "concurrently": "^9.1.0", diff --git a/apps/nextjs/src/app/[locale]/auth/invite/[id]/page.tsx b/apps/nextjs/src/app/[locale]/auth/invite/[id]/page.tsx index 1624b50b5..39e8fa623 100644 --- a/apps/nextjs/src/app/[locale]/auth/invite/[id]/page.tsx +++ b/apps/nextjs/src/app/[locale]/auth/invite/[id]/page.tsx @@ -4,7 +4,7 @@ import { Card, Center, Stack, Text, Title } from "@mantine/core"; import { auth } from "@homarr/auth/next"; import { isProviderEnabled } from "@homarr/auth/server"; import { and, db, eq } from "@homarr/db"; -import { invites } from "@homarr/db/schema/sqlite"; +import { invites } from "@homarr/db/schema"; import { getScopedI18n } from "@homarr/translation/server"; import { HomarrLogoWithTitle } from "~/components/layout/logo/homarr-logo"; diff --git a/apps/nextjs/src/app/[locale]/boards/(content)/not-found.tsx b/apps/nextjs/src/app/[locale]/boards/(content)/not-found.tsx index ba84e0593..5ab6c8c61 100644 --- a/apps/nextjs/src/app/[locale]/boards/(content)/not-found.tsx +++ b/apps/nextjs/src/app/[locale]/boards/(content)/not-found.tsx @@ -2,7 +2,7 @@ import { IconHomeOff } from "@tabler/icons-react"; import { auth } from "@homarr/auth/next"; import { db } from "@homarr/db"; -import { boards } from "@homarr/db/schema/sqlite"; +import { boards } from "@homarr/db/schema"; import { getI18n } from "@homarr/translation/server"; import type { BoardNotFoundProps } from "~/components/board/not-found"; diff --git a/apps/nextjs/src/app/[locale]/init/_steps/import/import-dropzone.tsx b/apps/nextjs/src/app/[locale]/init/_steps/import/import-dropzone.tsx index b425267cf..cea43cabe 100644 --- a/apps/nextjs/src/app/[locale]/init/_steps/import/import-dropzone.tsx +++ b/apps/nextjs/src/app/[locale]/init/_steps/import/import-dropzone.tsx @@ -24,10 +24,19 @@ export const ImportDropZone = ({ loading, updateFile }: ImportDropZoneProps) => }} acceptColor="blue.6" rejectColor="red.6" - accept={[MIME_TYPES.zip]} + accept={[MIME_TYPES.zip, "application/x-zip-compressed"]} loading={loading} multiple={false} maxSize={1024 * 1024 * 1024 * 64} // 64 MB + onReject={(rejections) => { + console.error( + "Rejected files", + rejections.map( + (rejection) => + `File: ${rejection.file.name} size=${rejection.file.size} fileType=${rejection.file.type}\n - ${rejection.errors.map((error) => error.message).join("\n - ")}`, + ), + ); + }} > <Group justify="center" gap="xl" mih={220} style={{ pointerEvents: "none" }}> <Dropzone.Accept> diff --git a/apps/nextjs/src/app/[locale]/manage/users/create/page.tsx b/apps/nextjs/src/app/[locale]/manage/users/create/page.tsx index 4c49b6595..30511e47f 100644 --- a/apps/nextjs/src/app/[locale]/manage/users/create/page.tsx +++ b/apps/nextjs/src/app/[locale]/manage/users/create/page.tsx @@ -3,7 +3,7 @@ import { notFound } from "next/navigation"; import { auth } from "@homarr/auth/next"; import { isProviderEnabled } from "@homarr/auth/server"; import { db, inArray } from "@homarr/db"; -import { groups } from "@homarr/db/schema/sqlite"; +import { groups } from "@homarr/db/schema"; import { everyoneGroup } from "@homarr/definitions"; import { getScopedI18n } from "@homarr/translation/server"; diff --git a/apps/nextjs/src/app/api/[...trpc]/route.ts b/apps/nextjs/src/app/api/[...trpc]/route.ts index ffd59c784..8d1d30f26 100644 --- a/apps/nextjs/src/app/api/[...trpc]/route.ts +++ b/apps/nextjs/src/app/api/[...trpc]/route.ts @@ -8,7 +8,7 @@ import { hashPasswordAsync } from "@homarr/auth"; import type { Session } from "@homarr/auth"; import { createSessionAsync } from "@homarr/auth/server"; import { db, eq } from "@homarr/db"; -import { apiKeys } from "@homarr/db/schema/sqlite"; +import { apiKeys } from "@homarr/db/schema"; import { logger } from "@homarr/log"; const handlerAsync = async (req: NextRequest) => { diff --git a/apps/nextjs/src/app/api/user-medias/[id]/route.ts b/apps/nextjs/src/app/api/user-medias/[id]/route.ts index 5f3fb36e3..751895381 100644 --- a/apps/nextjs/src/app/api/user-medias/[id]/route.ts +++ b/apps/nextjs/src/app/api/user-medias/[id]/route.ts @@ -3,7 +3,7 @@ import { NextResponse } from "next/server"; import type { NextRequest } from "next/server"; import { db, eq } from "@homarr/db"; -import { medias } from "@homarr/db/schema/sqlite"; +import { medias } from "@homarr/db/schema"; export async function GET(_req: NextRequest, { params }: { params: { id: string } }) { const image = await db.query.medias.findFirst({ diff --git a/apps/nextjs/src/env.mjs b/apps/nextjs/src/env.mjs index bdef43eb0..a82ae2dd5 100644 --- a/apps/nextjs/src/env.mjs +++ b/apps/nextjs/src/env.mjs @@ -1,10 +1,6 @@ import { createEnv } from "@t3-oss/env-nextjs"; import { z } from "zod"; -const isUsingDbUrl = Boolean(process.env.DB_URL); -const isUsingDbHost = Boolean(process.env.DB_HOST); -const isUsingDbCredentials = process.env.DB_DRIVER === "mysql2"; - export const env = createEnv({ shared: { VERCEL_URL: z @@ -19,21 +15,6 @@ export const env = createEnv({ * built with invalid env vars. */ server: { - DB_DRIVER: z.enum(["better-sqlite3", "mysql2"]).default("better-sqlite3"), - // If the DB_HOST is set, the DB_URL is optional - DB_URL: isUsingDbHost ? z.string().optional() : z.string(), - DB_HOST: isUsingDbUrl ? z.string().optional() : z.string(), - DB_PORT: isUsingDbUrl - ? z.string().regex(/\d+/).transform(Number).optional() - : z - .string() - .regex(/\d+/) - .transform(Number) - .refine((number) => number >= 1) - .default("3306"), - DB_USER: isUsingDbCredentials ? z.string() : z.string().optional(), - DB_PASSWORD: isUsingDbCredentials ? z.string() : z.string().optional(), - DB_NAME: isUsingDbUrl ? z.string().optional() : z.string(), // Comma separated list of docker hostnames that can be used to connect to query the docker endpoints (localhost:2375,host.docker.internal:2375, ...) DOCKER_HOSTNAMES: z.string().optional(), DOCKER_PORTS: z.number().optional(), @@ -51,13 +32,6 @@ export const env = createEnv({ runtimeEnv: { VERCEL_URL: process.env.VERCEL_URL, PORT: process.env.PORT, - DB_URL: process.env.DB_URL, - DB_HOST: process.env.DB_HOST, - DB_USER: process.env.DB_USER, - DB_PASSWORD: process.env.DB_PASSWORD, - DB_NAME: process.env.DB_NAME, - DB_PORT: process.env.DB_PORT, - DB_DRIVER: process.env.DB_DRIVER, NODE_ENV: process.env.NODE_ENV, DOCKER_HOSTNAMES: process.env.DOCKER_HOSTNAMES, DOCKER_PORTS: process.env.DOCKER_PORTS, diff --git a/apps/tasks/package.json b/apps/tasks/package.json index 2b2e89441..51f3ed7a8 100644 --- a/apps/tasks/package.json +++ b/apps/tasks/package.json @@ -38,7 +38,7 @@ "dayjs": "^1.11.13", "dotenv": "^16.4.7", "superjson": "2.2.2", - "undici": "7.1.1" + "undici": "7.2.0" }, "devDependencies": { "@homarr/eslint-config": "workspace:^0.2.0", diff --git a/packages/analytics/src/send-server-analytics.ts b/packages/analytics/src/send-server-analytics.ts index 51b3741ae..e09bd71da 100644 --- a/packages/analytics/src/send-server-analytics.ts +++ b/packages/analytics/src/send-server-analytics.ts @@ -3,7 +3,7 @@ import { Umami } from "@umami/node"; import { count, db } from "@homarr/db"; import { getServerSettingByKeyAsync } from "@homarr/db/queries"; -import { integrations, items, users } from "@homarr/db/schema/sqlite"; +import { integrations, items, users } from "@homarr/db/schema"; import { logger } from "@homarr/log"; import type { defaultServerSettings } from "@homarr/server-settings"; diff --git a/packages/api/package.json b/packages/api/package.json index 30b0c4910..4ea3a5646 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -40,7 +40,7 @@ "@trpc/react-query": "next", "@trpc/server": "next", "dockerode": "^4.0.2", - "next": "^14.2.20", + "next": "^14.2.21", "react": "^19.0.0", "superjson": "2.2.2", "trpc-to-openapi": "^2.1.0" diff --git a/packages/api/src/middlewares/integration.ts b/packages/api/src/middlewares/integration.ts index b6d715a56..d2a84f641 100644 --- a/packages/api/src/middlewares/integration.ts +++ b/packages/api/src/middlewares/integration.ts @@ -7,7 +7,7 @@ import { decryptSecret } from "@homarr/common/server"; import type { AtLeastOneOf } from "@homarr/common/types"; import type { Database } from "@homarr/db"; import { and, eq, inArray } from "@homarr/db"; -import { integrations } from "@homarr/db/schema/sqlite"; +import { integrations } from "@homarr/db/schema"; import type { IntegrationKind } from "@homarr/definitions"; import { z } from "@homarr/validation"; diff --git a/packages/api/src/middlewares/item.ts b/packages/api/src/middlewares/item.ts index 78cc623db..79d93a463 100644 --- a/packages/api/src/middlewares/item.ts +++ b/packages/api/src/middlewares/item.ts @@ -1,7 +1,7 @@ import { TRPCError } from "@trpc/server"; import { and, eq } from "@homarr/db"; -import { items } from "@homarr/db/schema/sqlite"; +import { items } from "@homarr/db/schema"; import type { WidgetKind } from "@homarr/definitions"; import { z } from "@homarr/validation"; diff --git a/packages/api/src/router/apiKeys.ts b/packages/api/src/router/apiKeys.ts index 715e85906..da903d695 100644 --- a/packages/api/src/router/apiKeys.ts +++ b/packages/api/src/router/apiKeys.ts @@ -1,7 +1,7 @@ import { createSaltAsync, hashPasswordAsync } from "@homarr/auth"; import { generateSecureRandomToken } from "@homarr/common/server"; import { createId, db } from "@homarr/db"; -import { apiKeys } from "@homarr/db/schema/sqlite"; +import { apiKeys } from "@homarr/db/schema"; import { createTRPCRouter, permissionRequiredProcedure } from "../trpc"; diff --git a/packages/api/src/router/app.ts b/packages/api/src/router/app.ts index 918559c3a..da4184e89 100644 --- a/packages/api/src/router/app.ts +++ b/packages/api/src/router/app.ts @@ -1,7 +1,7 @@ import { TRPCError } from "@trpc/server"; import { asc, createId, eq, inArray, like } from "@homarr/db"; -import { apps } from "@homarr/db/schema/sqlite"; +import { apps } from "@homarr/db/schema"; import { selectAppSchema } from "@homarr/db/validationSchemas"; import { validation, z } from "@homarr/validation"; diff --git a/packages/api/src/router/app/app-access-control.ts b/packages/api/src/router/app/app-access-control.ts index b395cea09..d4254cb75 100644 --- a/packages/api/src/router/app/app-access-control.ts +++ b/packages/api/src/router/app/app-access-control.ts @@ -2,7 +2,7 @@ import SuperJSON from "superjson"; import type { Session } from "@homarr/auth"; import { db, eq, or } from "@homarr/db"; -import { items } from "@homarr/db/schema/sqlite"; +import { items } from "@homarr/db/schema"; import type { WidgetComponentProps } from "../../../../widgets/src"; diff --git a/packages/api/src/router/board.ts b/packages/api/src/router/board.ts index 26c38ba91..291ce54a4 100644 --- a/packages/api/src/router/board.ts +++ b/packages/api/src/router/board.ts @@ -15,7 +15,7 @@ import { items, sections, users, -} from "@homarr/db/schema/sqlite"; +} from "@homarr/db/schema"; import type { WidgetKind } from "@homarr/definitions"; import { getPermissionsWithParents, widgetKinds } from "@homarr/definitions"; import { importOldmarrAsync } from "@homarr/old-import"; diff --git a/packages/api/src/router/board/board-access.ts b/packages/api/src/router/board/board-access.ts index 0bce8817a..1e4351cba 100644 --- a/packages/api/src/router/board/board-access.ts +++ b/packages/api/src/router/board/board-access.ts @@ -4,7 +4,7 @@ import type { Session } from "@homarr/auth"; import { constructBoardPermissions } from "@homarr/auth/shared"; import type { Database, SQL } from "@homarr/db"; import { eq, inArray } from "@homarr/db"; -import { boardGroupPermissions, boardUserPermissions, groupMembers } from "@homarr/db/schema/sqlite"; +import { boardGroupPermissions, boardUserPermissions, groupMembers } from "@homarr/db/schema"; import type { BoardPermission } from "@homarr/definitions"; /** diff --git a/packages/api/src/router/docker/docker-router.ts b/packages/api/src/router/docker/docker-router.ts index 0559e6211..6a8b99a1f 100644 --- a/packages/api/src/router/docker/docker-router.ts +++ b/packages/api/src/router/docker/docker-router.ts @@ -3,7 +3,7 @@ import type Docker from "dockerode"; import type { Container } from "dockerode"; import { db, like, or } from "@homarr/db"; -import { icons } from "@homarr/db/schema/sqlite"; +import { icons } from "@homarr/db/schema"; import type { DockerContainerState } from "@homarr/definitions"; import { logger } from "@homarr/log"; import { createCacheChannel } from "@homarr/redis"; diff --git a/packages/api/src/router/group.ts b/packages/api/src/router/group.ts index 7d3ed049b..a1d3be92f 100644 --- a/packages/api/src/router/group.ts +++ b/packages/api/src/router/group.ts @@ -2,7 +2,7 @@ import { TRPCError } from "@trpc/server"; import type { Database } from "@homarr/db"; import { and, createId, eq, like, not, sql } from "@homarr/db"; -import { groupMembers, groupPermissions, groups } from "@homarr/db/schema/sqlite"; +import { groupMembers, groupPermissions, groups } from "@homarr/db/schema"; import { everyoneGroup } from "@homarr/definitions"; import { validation, z } from "@homarr/validation"; diff --git a/packages/api/src/router/home.ts b/packages/api/src/router/home.ts index 2174a2968..7b65c74f3 100644 --- a/packages/api/src/router/home.ts +++ b/packages/api/src/router/home.ts @@ -3,7 +3,7 @@ import type { AnySQLiteTable } from "drizzle-orm/sqlite-core"; import { isProviderEnabled } from "@homarr/auth/server"; import type { Database } from "@homarr/db"; import { count } from "@homarr/db"; -import { apps, boards, groups, integrations, invites, users } from "@homarr/db/schema/sqlite"; +import { apps, boards, groups, integrations, invites, users } from "@homarr/db/schema"; import { createTRPCRouter, publicProcedure } from "../trpc"; diff --git a/packages/api/src/router/icons.ts b/packages/api/src/router/icons.ts index 7b7c2f52b..2128e25ad 100644 --- a/packages/api/src/router/icons.ts +++ b/packages/api/src/router/icons.ts @@ -1,5 +1,5 @@ import { count, like } from "@homarr/db"; -import { icons } from "@homarr/db/schema/sqlite"; +import { icons } from "@homarr/db/schema"; import { validation } from "@homarr/validation"; import { createTRPCRouter, publicProcedure } from "../trpc"; diff --git a/packages/api/src/router/integration/integration-access.ts b/packages/api/src/router/integration/integration-access.ts index f8e83e90b..78f8961e4 100644 --- a/packages/api/src/router/integration/integration-access.ts +++ b/packages/api/src/router/integration/integration-access.ts @@ -4,7 +4,7 @@ import type { Session } from "@homarr/auth"; import { constructIntegrationPermissions } from "@homarr/auth/shared"; import type { Database, SQL } from "@homarr/db"; import { eq, inArray } from "@homarr/db"; -import { groupMembers, integrationGroupPermissions, integrationUserPermissions } from "@homarr/db/schema/sqlite"; +import { groupMembers, integrationGroupPermissions, integrationUserPermissions } from "@homarr/db/schema"; import type { IntegrationPermission } from "@homarr/definitions"; /** diff --git a/packages/api/src/router/integration/integration-router.ts b/packages/api/src/router/integration/integration-router.ts index 72378a7e9..6b19101de 100644 --- a/packages/api/src/router/integration/integration-router.ts +++ b/packages/api/src/router/integration/integration-router.ts @@ -11,7 +11,7 @@ import { integrations, integrationSecrets, integrationUserPermissions, -} from "@homarr/db/schema/sqlite"; +} from "@homarr/db/schema"; import type { IntegrationSecretKind } from "@homarr/definitions"; import { getIntegrationKindsByCategory, diff --git a/packages/api/src/router/integration/integration-test-connection.ts b/packages/api/src/router/integration/integration-test-connection.ts index 93a0bc356..58fcc9d21 100644 --- a/packages/api/src/router/integration/integration-test-connection.ts +++ b/packages/api/src/router/integration/integration-test-connection.ts @@ -1,5 +1,5 @@ import { decryptSecret } from "@homarr/common/server"; -import type { Integration } from "@homarr/db/schema/sqlite"; +import type { Integration } from "@homarr/db/schema"; import type { IntegrationKind, IntegrationSecretKind } from "@homarr/definitions"; import { getAllSecretKindOptions } from "@homarr/definitions"; import { integrationCreator, IntegrationTestConnectionError } from "@homarr/integrations"; diff --git a/packages/api/src/router/invite.ts b/packages/api/src/router/invite.ts index c380f0003..6cbcc2869 100644 --- a/packages/api/src/router/invite.ts +++ b/packages/api/src/router/invite.ts @@ -2,7 +2,7 @@ import { randomBytes } from "crypto"; import { TRPCError } from "@trpc/server"; import { asc, createId, eq } from "@homarr/db"; -import { invites } from "@homarr/db/schema/sqlite"; +import { invites } from "@homarr/db/schema"; import { selectInviteSchema } from "@homarr/db/validationSchemas"; import { z } from "@homarr/validation"; diff --git a/packages/api/src/router/medias/media-router.ts b/packages/api/src/router/medias/media-router.ts index 90f497523..600df24b4 100644 --- a/packages/api/src/router/medias/media-router.ts +++ b/packages/api/src/router/medias/media-router.ts @@ -1,7 +1,7 @@ import { TRPCError } from "@trpc/server"; import { and, createId, desc, eq, like } from "@homarr/db"; -import { medias } from "@homarr/db/schema/sqlite"; +import { medias } from "@homarr/db/schema"; import { validation, z } from "@homarr/validation"; import { createTRPCRouter, permissionRequiredProcedure, protectedProcedure } from "../../trpc"; diff --git a/packages/api/src/router/onboard/onboard-queries.ts b/packages/api/src/router/onboard/onboard-queries.ts index 6aeb0386c..15f205d8b 100644 --- a/packages/api/src/router/onboard/onboard-queries.ts +++ b/packages/api/src/router/onboard/onboard-queries.ts @@ -3,7 +3,7 @@ import { objectEntries } from "@homarr/common"; import type { MaybePromise } from "@homarr/common/types"; import type { Database } from "@homarr/db"; import { eq } from "@homarr/db"; -import { groups, onboarding } from "@homarr/db/schema/sqlite"; +import { groups, onboarding } from "@homarr/db/schema"; import type { OnboardingStep } from "@homarr/definitions"; import { credentialsAdminGroup } from "@homarr/definitions"; diff --git a/packages/api/src/router/onboard/onboard-router.ts b/packages/api/src/router/onboard/onboard-router.ts index 8b6120655..89b6fb66f 100644 --- a/packages/api/src/router/onboard/onboard-router.ts +++ b/packages/api/src/router/onboard/onboard-router.ts @@ -1,4 +1,4 @@ -import { onboarding } from "@homarr/db/schema/sqlite"; +import { onboarding } from "@homarr/db/schema"; import { onboardingSteps } from "@homarr/definitions"; import { z, zodEnumFromArray } from "@homarr/validation"; diff --git a/packages/api/src/router/search-engine/search-engine-router.ts b/packages/api/src/router/search-engine/search-engine-router.ts index 63c7c3bda..8e8fe853a 100644 --- a/packages/api/src/router/search-engine/search-engine-router.ts +++ b/packages/api/src/router/search-engine/search-engine-router.ts @@ -1,7 +1,7 @@ import { TRPCError } from "@trpc/server"; import { createId, eq, like, sql } from "@homarr/db"; -import { searchEngines } from "@homarr/db/schema/sqlite"; +import { searchEngines } from "@homarr/db/schema"; import { validation } from "@homarr/validation"; import { createTRPCRouter, permissionRequiredProcedure, protectedProcedure } from "../../trpc"; diff --git a/packages/api/src/router/test/app.spec.ts b/packages/api/src/router/test/app.spec.ts index 0354ad74e..4da8a6117 100644 --- a/packages/api/src/router/test/app.spec.ts +++ b/packages/api/src/router/test/app.spec.ts @@ -3,7 +3,7 @@ import { describe, expect, test, vi } from "vitest"; import type { Session } from "@homarr/auth"; import { createId } from "@homarr/db"; -import { apps } from "@homarr/db/schema/sqlite"; +import { apps } from "@homarr/db/schema"; import { createDb } from "@homarr/db/test"; import type { GroupPermissionKey } from "@homarr/definitions"; diff --git a/packages/api/src/router/test/board.spec.ts b/packages/api/src/router/test/board.spec.ts index c8a50ca25..8c0da79e5 100644 --- a/packages/api/src/router/test/board.spec.ts +++ b/packages/api/src/router/test/board.spec.ts @@ -17,7 +17,7 @@ import { sections, serverSettings, users, -} from "@homarr/db/schema/sqlite"; +} from "@homarr/db/schema"; import { createDb } from "@homarr/db/test"; import type { BoardPermission, GroupPermissionKey } from "@homarr/definitions"; diff --git a/packages/api/src/router/test/board/board-access.spec.ts b/packages/api/src/router/test/board/board-access.spec.ts index 599d08489..370a5bc51 100644 --- a/packages/api/src/router/test/board/board-access.spec.ts +++ b/packages/api/src/router/test/board/board-access.spec.ts @@ -2,7 +2,7 @@ import { describe, expect, test, vi } from "vitest"; import * as authShared from "@homarr/auth/shared"; import { createId, eq } from "@homarr/db"; -import { boards, users } from "@homarr/db/schema/sqlite"; +import { boards, users } from "@homarr/db/schema"; import { createDb } from "@homarr/db/test"; import { throwIfActionForbiddenAsync } from "../../board/board-access"; diff --git a/packages/api/src/router/test/group.spec.ts b/packages/api/src/router/test/group.spec.ts index b552e3bbd..ab5357e8f 100644 --- a/packages/api/src/router/test/group.spec.ts +++ b/packages/api/src/router/test/group.spec.ts @@ -3,7 +3,7 @@ import { describe, expect, test, vi } from "vitest"; import type { Session } from "@homarr/auth"; import * as env from "@homarr/auth/env.mjs"; import { createId, eq } from "@homarr/db"; -import { groupMembers, groupPermissions, groups, users } from "@homarr/db/schema/sqlite"; +import { groupMembers, groupPermissions, groups, users } from "@homarr/db/schema"; import { createDb } from "@homarr/db/test"; import type { GroupPermissionKey } from "@homarr/definitions"; diff --git a/packages/api/src/router/test/integration/integration-access.spec.ts b/packages/api/src/router/test/integration/integration-access.spec.ts index 5013c015f..7251f1e9a 100644 --- a/packages/api/src/router/test/integration/integration-access.spec.ts +++ b/packages/api/src/router/test/integration/integration-access.spec.ts @@ -2,7 +2,7 @@ import { describe, expect, test, vi } from "vitest"; import * as authShared from "@homarr/auth/shared"; import { createId, eq } from "@homarr/db"; -import { integrations, users } from "@homarr/db/schema/sqlite"; +import { integrations, users } from "@homarr/db/schema"; import { createDb } from "@homarr/db/test"; import { throwIfActionForbiddenAsync } from "../../integration/integration-access"; diff --git a/packages/api/src/router/test/integration/integration-router.spec.ts b/packages/api/src/router/test/integration/integration-router.spec.ts index 52a23f3b6..c07c6af2e 100644 --- a/packages/api/src/router/test/integration/integration-router.spec.ts +++ b/packages/api/src/router/test/integration/integration-router.spec.ts @@ -4,7 +4,7 @@ import { describe, expect, test, vi } from "vitest"; import type { Session } from "@homarr/auth"; import { encryptSecret } from "@homarr/common/server"; import { createId } from "@homarr/db"; -import { integrations, integrationSecrets } from "@homarr/db/schema/sqlite"; +import { integrations, integrationSecrets } from "@homarr/db/schema"; import { createDb } from "@homarr/db/test"; import type { GroupPermissionKey } from "@homarr/definitions"; diff --git a/packages/api/src/router/test/invite.spec.ts b/packages/api/src/router/test/invite.spec.ts index 927e7fd91..886ef63df 100644 --- a/packages/api/src/router/test/invite.spec.ts +++ b/packages/api/src/router/test/invite.spec.ts @@ -3,7 +3,7 @@ import { describe, expect, test, vi } from "vitest"; import type { Session } from "@homarr/auth"; import { createId } from "@homarr/db"; -import { invites, users } from "@homarr/db/schema/sqlite"; +import { invites, users } from "@homarr/db/schema"; import { createDb } from "@homarr/db/test"; import { inviteRouter } from "../invite"; diff --git a/packages/api/src/router/test/serverSettings.spec.ts b/packages/api/src/router/test/serverSettings.spec.ts index ba2a7c784..a3ae26422 100644 --- a/packages/api/src/router/test/serverSettings.spec.ts +++ b/packages/api/src/router/test/serverSettings.spec.ts @@ -3,7 +3,7 @@ import { describe, expect, test, vi } from "vitest"; import type { Session } from "@homarr/auth"; import { createId } from "@homarr/db"; -import { serverSettings } from "@homarr/db/schema/sqlite"; +import { serverSettings } from "@homarr/db/schema"; import { createDb } from "@homarr/db/test"; import { defaultServerSettings, defaultServerSettingsKeys } from "@homarr/server-settings"; diff --git a/packages/api/src/router/test/user.spec.ts b/packages/api/src/router/test/user.spec.ts index 1ae7c2dc7..0a3aa8d4f 100644 --- a/packages/api/src/router/test/user.spec.ts +++ b/packages/api/src/router/test/user.spec.ts @@ -2,8 +2,8 @@ import { describe, expect, it, test, vi } from "vitest"; import type { Session } from "@homarr/auth"; import type { Database } from "@homarr/db"; -import { createId, eq, schema } from "@homarr/db"; -import { onboarding, users } from "@homarr/db/schema/sqlite"; +import { createId, eq } from "@homarr/db"; +import { invites, onboarding, users } from "@homarr/db/schema"; import { createDb } from "@homarr/db/test"; import type { GroupPermissionKey, OnboardingStep } from "@homarr/definitions"; @@ -121,7 +121,7 @@ describe("register should create a user with valid invitation", () => { await db.insert(users).values({ id: userId, }); - await db.insert(schema.invites).values({ + await db.insert(invites).values({ id: inviteId, token: inviteToken, creatorId: userId, @@ -176,7 +176,7 @@ describe("register should create a user with valid invitation", () => { await db.insert(users).values({ id: userId, }); - await db.insert(schema.invites).values({ + await db.insert(invites).values({ id: inviteId, token: inviteToken, creatorId: userId, @@ -211,7 +211,7 @@ describe("editProfile shoud update user", () => { const emailVerified = new Date(2024, 0, 5); - await db.insert(schema.users).values({ + await db.insert(users).values({ id: defaultOwnerId, name: "TEST 1", email: "abc@gmail.com", @@ -226,7 +226,7 @@ describe("editProfile shoud update user", () => { }); // assert - const user = await db.select().from(schema.users).where(eq(schema.users.id, defaultOwnerId)); + const user = await db.select().from(users).where(eq(users.id, defaultOwnerId)); expect(user).toHaveLength(1); expect(user[0]).containSubset({ @@ -245,7 +245,7 @@ describe("editProfile shoud update user", () => { session: defaultSession, }); - await db.insert(schema.users).values({ + await db.insert(users).values({ id: defaultOwnerId, name: "TEST 1", email: "abc@gmail.com", @@ -260,7 +260,7 @@ describe("editProfile shoud update user", () => { }); // assert - const user = await db.select().from(schema.users).where(eq(schema.users.id, defaultOwnerId)); + const user = await db.select().from(users).where(eq(users.id, defaultOwnerId)); expect(user).toHaveLength(1); expect(user[0]).containSubset({ @@ -295,11 +295,11 @@ describe("delete should delete user", () => { }, ]; - await db.insert(schema.users).values(initialUsers); + await db.insert(users).values(initialUsers); await caller.delete({ userId: defaultOwnerId }); - const usersInDb = await db.select().from(schema.users); + const usersInDb = await db.select().from(users); expect(usersInDb).toHaveLength(2); expect(usersInDb[0]).containSubset(initialUsers[0]); expect(usersInDb[1]).containSubset(initialUsers[2]); diff --git a/packages/api/src/router/user.ts b/packages/api/src/router/user.ts index 4a412365d..4d1691f29 100644 --- a/packages/api/src/router/user.ts +++ b/packages/api/src/router/user.ts @@ -2,8 +2,8 @@ import { TRPCError } from "@trpc/server"; import { createSaltAsync, hashPasswordAsync } from "@homarr/auth"; import type { Database } from "@homarr/db"; -import { and, createId, eq, like, schema } from "@homarr/db"; -import { groupMembers, groupPermissions, groups, invites, users } from "@homarr/db/schema/sqlite"; +import { and, createId, eq, like } from "@homarr/db"; +import { groupMembers, groupPermissions, groups, invites, users } from "@homarr/db/schema"; import { selectUserSchema } from "@homarr/db/validationSchemas"; import { credentialsAdminGroup } from "@homarr/definitions"; import type { SupportedAuthProvider } from "@homarr/definitions"; @@ -509,7 +509,7 @@ const createUserAsync = async (db: Database, input: Omit<z.infer<typeof validati const username = input.username.toLowerCase(); const userId = createId(); - await db.insert(schema.users).values({ + await db.insert(users).values({ id: userId, name: username, email: input.email, diff --git a/packages/api/src/router/widgets/dns-hole.ts b/packages/api/src/router/widgets/dns-hole.ts index 3480ae874..603fe992f 100644 --- a/packages/api/src/router/widgets/dns-hole.ts +++ b/packages/api/src/router/widgets/dns-hole.ts @@ -1,7 +1,7 @@ import { observable } from "@trpc/server/observable"; import type { Modify } from "@homarr/common/types"; -import type { Integration } from "@homarr/db/schema/sqlite"; +import type { Integration } from "@homarr/db/schema"; import type { IntegrationKindByCategory } from "@homarr/definitions"; import { getIntegrationKindsByCategory } from "@homarr/definitions"; import { integrationCreator } from "@homarr/integrations"; diff --git a/packages/api/src/router/widgets/downloads.ts b/packages/api/src/router/widgets/downloads.ts index e9cdb380e..db5fdd997 100644 --- a/packages/api/src/router/widgets/downloads.ts +++ b/packages/api/src/router/widgets/downloads.ts @@ -1,7 +1,7 @@ import { observable } from "@trpc/server/observable"; import type { Modify } from "@homarr/common/types"; -import type { Integration } from "@homarr/db/schema/sqlite"; +import type { Integration } from "@homarr/db/schema"; import type { IntegrationKindByCategory } from "@homarr/definitions"; import { getIntegrationKindsByCategory } from "@homarr/definitions"; import type { DownloadClientJobsAndStatus } from "@homarr/integrations"; diff --git a/packages/api/src/router/widgets/notebook.ts b/packages/api/src/router/widgets/notebook.ts index 9c7d6da2b..e9c3f5cff 100644 --- a/packages/api/src/router/widgets/notebook.ts +++ b/packages/api/src/router/widgets/notebook.ts @@ -2,7 +2,7 @@ import { TRPCError } from "@trpc/server"; import SuperJSON from "superjson"; import { eq } from "@homarr/db"; -import { items } from "@homarr/db/schema/sqlite"; +import { items } from "@homarr/db/schema"; import { z } from "@homarr/validation"; import { createTRPCRouter, protectedProcedure } from "../../trpc"; diff --git a/packages/auth/adapter.ts b/packages/auth/adapter.ts index 69876b1f4..30984a403 100644 --- a/packages/auth/adapter.ts +++ b/packages/auth/adapter.ts @@ -3,7 +3,7 @@ import { DrizzleAdapter } from "@auth/drizzle-adapter"; import type { Database } from "@homarr/db"; import { and, eq } from "@homarr/db"; -import { accounts, sessions, users } from "@homarr/db/schema/sqlite"; +import { accounts, sessions, users } from "@homarr/db/schema"; import type { SupportedAuthProvider } from "@homarr/definitions"; export const createAdapter = (db: Database, provider: SupportedAuthProvider | "unknown"): Adapter => { diff --git a/packages/auth/callbacks.ts b/packages/auth/callbacks.ts index d5fac0b7a..8f1168ad8 100644 --- a/packages/auth/callbacks.ts +++ b/packages/auth/callbacks.ts @@ -4,7 +4,7 @@ import type { NextAuthConfig } from "next-auth"; import type { Session } from "@homarr/auth"; import type { Database } from "@homarr/db"; import { eq, inArray } from "@homarr/db"; -import { groupMembers, groupPermissions, users } from "@homarr/db/schema/sqlite"; +import { groupMembers, groupPermissions, users } from "@homarr/db/schema"; import { getPermissionsWithChildren } from "@homarr/definitions"; export const getCurrentUserPermissionsAsync = async (db: Database, userId: string) => { diff --git a/packages/auth/events.ts b/packages/auth/events.ts index 2c636d14b..92987e0cf 100644 --- a/packages/auth/events.ts +++ b/packages/auth/events.ts @@ -4,7 +4,7 @@ import type { NextAuthConfig } from "next-auth"; import { and, eq, inArray } from "@homarr/db"; import type { Database } from "@homarr/db"; -import { groupMembers, groups, users } from "@homarr/db/schema/sqlite"; +import { groupMembers, groups, users } from "@homarr/db/schema"; import { colorSchemeCookieKey, everyoneGroup } from "@homarr/definitions"; import { logger } from "@homarr/log"; diff --git a/packages/auth/package.json b/packages/auth/package.json index 1dfb76018..4410b440a 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -34,7 +34,7 @@ "bcrypt": "^5.1.1", "cookies": "^0.9.1", "ldapts": "7.3.0", - "next": "^14.2.20", + "next": "^14.2.21", "next-auth": "5.0.0-beta.25", "react": "^19.0.0", "react-dom": "^19.0.0" diff --git a/packages/auth/permissions/integration-query-permissions.ts b/packages/auth/permissions/integration-query-permissions.ts index 4ee7a31c2..13d65aca8 100644 --- a/packages/auth/permissions/integration-query-permissions.ts +++ b/packages/auth/permissions/integration-query-permissions.ts @@ -2,7 +2,7 @@ import type { Session } from "next-auth"; import type { Database } from "@homarr/db"; import { and, eq, inArray, or } from "@homarr/db"; -import { boards, boardUserPermissions, groupMembers } from "@homarr/db/schema/sqlite"; +import { boards, boardUserPermissions, groupMembers } from "@homarr/db/schema"; import type { IntegrationPermission } from "@homarr/definitions"; import { constructIntegrationPermissions } from "./integration-permissions"; diff --git a/packages/auth/permissions/integrations-with-permissions.ts b/packages/auth/permissions/integrations-with-permissions.ts index 64fe09087..76cae6c93 100644 --- a/packages/auth/permissions/integrations-with-permissions.ts +++ b/packages/auth/permissions/integrations-with-permissions.ts @@ -1,7 +1,7 @@ import type { Session } from "next-auth"; import { db, eq, inArray } from "@homarr/db"; -import { groupMembers, integrationGroupPermissions, integrationUserPermissions } from "@homarr/db/schema/sqlite"; +import { groupMembers, integrationGroupPermissions, integrationUserPermissions } from "@homarr/db/schema"; import { constructIntegrationPermissions } from "./integration-permissions"; diff --git a/packages/auth/permissions/test/integration-query-permissions.spec.ts b/packages/auth/permissions/test/integration-query-permissions.spec.ts index faf527d92..a1d9f52ed 100644 --- a/packages/auth/permissions/test/integration-query-permissions.spec.ts +++ b/packages/auth/permissions/test/integration-query-permissions.spec.ts @@ -3,14 +3,7 @@ import { describe, expect, test, vi } from "vitest"; import type { InferInsertModel } from "@homarr/db"; import { createId } from "@homarr/db"; -import { - boardGroupPermissions, - boards, - boardUserPermissions, - groupMembers, - groups, - users, -} from "@homarr/db/schema/sqlite"; +import { boardGroupPermissions, boards, boardUserPermissions, groupMembers, groups, users } from "@homarr/db/schema"; import { createDb } from "@homarr/db/test"; import * as integrationPermissions from "../integration-permissions"; diff --git a/packages/auth/providers/credentials/authorization/basic-authorization.ts b/packages/auth/providers/credentials/authorization/basic-authorization.ts index 6357df7c6..cdce3fe9e 100644 --- a/packages/auth/providers/credentials/authorization/basic-authorization.ts +++ b/packages/auth/providers/credentials/authorization/basic-authorization.ts @@ -2,7 +2,7 @@ import bcrypt from "bcrypt"; import type { Database } from "@homarr/db"; import { and, eq } from "@homarr/db"; -import { users } from "@homarr/db/schema/sqlite"; +import { users } from "@homarr/db/schema"; import { logger } from "@homarr/log"; import type { validation, z } from "@homarr/validation"; diff --git a/packages/auth/providers/credentials/authorization/ldap-authorization.ts b/packages/auth/providers/credentials/authorization/ldap-authorization.ts index cae75f693..529d26ff2 100644 --- a/packages/auth/providers/credentials/authorization/ldap-authorization.ts +++ b/packages/auth/providers/credentials/authorization/ldap-authorization.ts @@ -2,7 +2,7 @@ import { CredentialsSignin } from "@auth/core/errors"; import type { Database, InferInsertModel } from "@homarr/db"; import { and, createId, eq } from "@homarr/db"; -import { users } from "@homarr/db/schema/sqlite"; +import { users } from "@homarr/db/schema"; import { logger } from "@homarr/log"; import type { validation } from "@homarr/validation"; import { z } from "@homarr/validation"; diff --git a/packages/auth/providers/test/basic-authorization.spec.ts b/packages/auth/providers/test/basic-authorization.spec.ts index b828d2784..8955ea83a 100644 --- a/packages/auth/providers/test/basic-authorization.spec.ts +++ b/packages/auth/providers/test/basic-authorization.spec.ts @@ -1,7 +1,7 @@ import { describe, expect, test } from "vitest"; import { createId } from "@homarr/db"; -import { users } from "@homarr/db/schema/sqlite"; +import { users } from "@homarr/db/schema"; import { createDb } from "@homarr/db/test"; import { createSaltAsync, hashPasswordAsync } from "../../security"; diff --git a/packages/auth/providers/test/ldap-authorization.spec.ts b/packages/auth/providers/test/ldap-authorization.spec.ts index c78fba30f..8d4a03ff9 100644 --- a/packages/auth/providers/test/ldap-authorization.spec.ts +++ b/packages/auth/providers/test/ldap-authorization.spec.ts @@ -3,7 +3,7 @@ import { describe, expect, test, vi } from "vitest"; import type { Database } from "@homarr/db"; import { and, createId, eq } from "@homarr/db"; -import { groups, users } from "@homarr/db/schema/sqlite"; +import { groups, users } from "@homarr/db/schema"; import { createDb } from "@homarr/db/test"; import { authorizeWithLdapCredentialsAsync } from "../credentials/authorization/ldap-authorization"; diff --git a/packages/auth/test/adapter.spec.ts b/packages/auth/test/adapter.spec.ts index 7c74ffa4e..d20ae3d1a 100644 --- a/packages/auth/test/adapter.spec.ts +++ b/packages/auth/test/adapter.spec.ts @@ -1,6 +1,6 @@ import { describe, expect, test } from "vitest"; -import { users } from "@homarr/db/schema/sqlite"; +import { users } from "@homarr/db/schema"; import { createDb } from "@homarr/db/test"; import { createAdapter } from "../adapter"; diff --git a/packages/auth/test/callbacks.spec.ts b/packages/auth/test/callbacks.spec.ts index d2da21a3b..6a1f52e2b 100644 --- a/packages/auth/test/callbacks.spec.ts +++ b/packages/auth/test/callbacks.spec.ts @@ -3,7 +3,7 @@ import type { AdapterUser } from "@auth/core/adapters"; import type { JWT } from "next-auth/jwt"; import { describe, expect, test, vi } from "vitest"; -import { groupMembers, groupPermissions, groups, users } from "@homarr/db/schema/sqlite"; +import { groupMembers, groupPermissions, groups, users } from "@homarr/db/schema"; import { createDb } from "@homarr/db/test"; import * as definitions from "@homarr/definitions"; diff --git a/packages/auth/test/events.spec.ts b/packages/auth/test/events.spec.ts index 272612ce9..5fb37a9a2 100644 --- a/packages/auth/test/events.spec.ts +++ b/packages/auth/test/events.spec.ts @@ -5,7 +5,7 @@ import { describe, expect, test, vi } from "vitest"; import { eq } from "@homarr/db"; import type { Database } from "@homarr/db"; -import { groupMembers, groups, users } from "@homarr/db/schema/sqlite"; +import { groupMembers, groups, users } from "@homarr/db/schema"; import { createDb } from "@homarr/db/test"; import { colorSchemeCookieKey, everyoneGroup } from "@homarr/definitions"; diff --git a/packages/cli/src/commands/reset-password.ts b/packages/cli/src/commands/reset-password.ts index a2a31cac0..ee4383205 100644 --- a/packages/cli/src/commands/reset-password.ts +++ b/packages/cli/src/commands/reset-password.ts @@ -3,7 +3,7 @@ import { command, string } from "@drizzle-team/brocli"; import { hashPasswordAsync } from "@homarr/auth"; import { generateSecureRandomToken } from "@homarr/common/server"; import { and, db, eq } from "@homarr/db"; -import { sessions, users } from "@homarr/db/schema/sqlite"; +import { sessions, users } from "@homarr/db/schema"; export const resetPassword = command({ name: "reset-password", diff --git a/packages/common/package.json b/packages/common/package.json index 2aebbd6a9..8312506ae 100644 --- a/packages/common/package.json +++ b/packages/common/package.json @@ -27,9 +27,9 @@ "dependencies": { "@homarr/log": "workspace:^0.1.0", "dayjs": "^1.11.13", - "next": "^14.2.20", + "next": "^14.2.21", "react": "^19.0.0", - "tldts": "^6.1.68" + "tldts": "^6.1.69" }, "devDependencies": { "@homarr/eslint-config": "workspace:^0.2.0", diff --git a/packages/cron-jobs/src/jobs/icons-updater.ts b/packages/cron-jobs/src/jobs/icons-updater.ts index 9c4aca75d..48fa0c59c 100644 --- a/packages/cron-jobs/src/jobs/icons-updater.ts +++ b/packages/cron-jobs/src/jobs/icons-updater.ts @@ -3,7 +3,7 @@ import { EVERY_WEEK } from "@homarr/cron-jobs-core/expressions"; import type { InferInsertModel } from "@homarr/db"; import { db, inArray } from "@homarr/db"; import { createId } from "@homarr/db/client"; -import { iconRepositories, icons } from "@homarr/db/schema/sqlite"; +import { iconRepositories, icons } from "@homarr/db/schema"; import { fetchIconsAsync } from "@homarr/icons"; import { logger } from "@homarr/log"; diff --git a/packages/cron-jobs/src/jobs/rss-feeds.ts b/packages/cron-jobs/src/jobs/rss-feeds.ts index 5c468520d..4c7f2d720 100644 --- a/packages/cron-jobs/src/jobs/rss-feeds.ts +++ b/packages/cron-jobs/src/jobs/rss-feeds.ts @@ -5,7 +5,7 @@ import SuperJSON from "superjson"; import type { Modify } from "@homarr/common/types"; import { EVERY_5_MINUTES } from "@homarr/cron-jobs-core/expressions"; import { db, eq } from "@homarr/db"; -import { items } from "@homarr/db/schema/sqlite"; +import { items } from "@homarr/db/schema"; import { logger } from "@homarr/log"; import { createItemChannel } from "@homarr/redis"; import { z } from "@homarr/validation"; diff --git a/packages/cron-jobs/src/jobs/session-cleanup.ts b/packages/cron-jobs/src/jobs/session-cleanup.ts index f9d382ad5..cbfe8533d 100644 --- a/packages/cron-jobs/src/jobs/session-cleanup.ts +++ b/packages/cron-jobs/src/jobs/session-cleanup.ts @@ -1,7 +1,7 @@ import { env } from "@homarr/auth/env.mjs"; import { NEVER } from "@homarr/cron-jobs-core/expressions"; import { db, eq, inArray } from "@homarr/db"; -import { sessions, users } from "@homarr/db/schema/sqlite"; +import { sessions, users } from "@homarr/db/schema"; import { supportedAuthProviders } from "@homarr/definitions"; import { logger } from "@homarr/log"; diff --git a/packages/db/configs/mysql.config.ts b/packages/db/configs/mysql.config.ts index 95d0ab936..c04425119 100644 --- a/packages/db/configs/mysql.config.ts +++ b/packages/db/configs/mysql.config.ts @@ -1,19 +1,19 @@ -/* eslint-disable @typescript-eslint/no-non-null-assertion */ -import * as dotenv from "dotenv"; import type { Config } from "drizzle-kit"; -dotenv.config({ path: "../../.env" }); +import { env } from "../env.mjs"; export default { dialect: "mysql", schema: "./schema", casing: "snake_case", - dbCredentials: { - host: process.env.DB_HOST!, - user: process.env.DB_USER!, - password: process.env.DB_PASSWORD!, - database: process.env.DB_NAME!, - port: parseInt(process.env.DB_PORT!), - }, + dbCredentials: env.DB_URL + ? { url: env.DB_URL } + : { + host: env.DB_HOST, + user: env.DB_USER, + password: env.DB_PASSWORD, + database: env.DB_NAME, + port: env.DB_PORT, + }, out: "./migrations/mysql", } satisfies Config; diff --git a/packages/db/configs/sqlite.config.ts b/packages/db/configs/sqlite.config.ts index 8e71be989..052c926bb 100644 --- a/packages/db/configs/sqlite.config.ts +++ b/packages/db/configs/sqlite.config.ts @@ -1,13 +1,11 @@ -import * as dotenv from "dotenv"; import type { Config } from "drizzle-kit"; -dotenv.config({ path: "../../.env" }); +import { env } from "../env.mjs"; export default { dialect: "sqlite", schema: "./schema", casing: "snake_case", - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - dbCredentials: { url: process.env.DB_URL! }, + dbCredentials: { url: env.DB_URL }, out: "./migrations/sqlite", } satisfies Config; diff --git a/packages/db/driver.ts b/packages/db/driver.ts index 9eac1531d..8e54f07b5 100644 --- a/packages/db/driver.ts +++ b/packages/db/driver.ts @@ -7,6 +7,7 @@ import mysql from "mysql2"; import { logger } from "@homarr/log"; +import { env } from "./env.mjs"; import * as mysqlSchema from "./schema/mysql"; import * as sqliteSchema from "./schema/sqlite"; @@ -15,7 +16,7 @@ type HomarrDatabase = BetterSQLite3Database<typeof sqliteSchema>; const init = () => { // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition if (!connection) { - switch (process.env.DB_DRIVER) { + switch (env.DB_DRIVER) { case "mysql2": initMySQL2(); break; @@ -36,7 +37,7 @@ class WinstonDrizzleLogger implements Logger { } const initBetterSqlite = () => { - connection = new Database(process.env.DB_URL); + connection = new Database(env.DB_URL); database = drizzleSqlite(connection, { schema: sqliteSchema, logger: new WinstonDrizzleLogger(), @@ -45,16 +46,15 @@ const initBetterSqlite = () => { }; const initMySQL2 = () => { - if (!process.env.DB_HOST) { - connection = mysql.createConnection({ uri: process.env.DB_URL }); + if (!env.DB_HOST) { + connection = mysql.createConnection({ uri: env.DB_URL }); } else { connection = mysql.createConnection({ - host: process.env.DB_HOST, - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - database: process.env.DB_NAME!, - port: Number(process.env.DB_PORT), - user: process.env.DB_USER, - password: process.env.DB_PASSWORD, + host: env.DB_HOST, + database: env.DB_NAME, + port: env.DB_PORT, + user: env.DB_USER, + password: env.DB_PASSWORD, }); } diff --git a/packages/db/env.mjs b/packages/db/env.mjs new file mode 100644 index 000000000..fb5ec2923 --- /dev/null +++ b/packages/db/env.mjs @@ -0,0 +1,60 @@ +import { createEnv } from "@t3-oss/env-nextjs"; +import { z } from "zod"; + +const drivers = { + betterSqlite3: "better-sqlite3", + mysql2: "mysql2", +}; + +const isDriver = (driver) => process.env.DB_DRIVER === driver; +const isUsingDbHost = Boolean(process.env.DB_HOST); +const onlyAllowUrl = isDriver(drivers.betterSqlite3); +const urlRequired = onlyAllowUrl || !isUsingDbHost; +const hostRequired = isUsingDbHost && !onlyAllowUrl; + +export const env = createEnv({ + /** + * Specify your server-side environment variables schema here. This way you can ensure the app isn't + * built with invalid env vars. + */ + server: { + DB_DRIVER: z + .union([z.literal(drivers.betterSqlite3), z.literal(drivers.mysql2)], { + message: `Invalid database driver, supported are ${Object.keys(drivers).join(", ")}`, + }) + .default(drivers.betterSqlite3), + ...(urlRequired + ? { + DB_URL: z.string(), + } + : {}), + ...(hostRequired + ? { + DB_HOST: z.string(), + DB_PORT: z + .string() + .regex(/\d+/) + .transform(Number) + .refine((number) => number >= 1) + .default("3306"), + DB_USER: z.string(), + DB_PASSWORD: z.string(), + DB_NAME: z.string(), + } + : {}), + }, + /** + * Destructure all variables from `process.env` to make sure they aren't tree-shaken away. + */ + runtimeEnv: { + DB_DRIVER: process.env.DB_DRIVER, + DB_URL: process.env.DB_URL, + DB_HOST: process.env.DB_HOST, + DB_USER: process.env.DB_USER, + DB_PASSWORD: process.env.DB_PASSWORD, + DB_NAME: process.env.DB_NAME, + DB_PORT: process.env.DB_PORT, + }, + skipValidation: + Boolean(process.env.CI) || Boolean(process.env.SKIP_ENV_VALIDATION) || process.env.npm_lifecycle_event === "lint", +}); diff --git a/packages/db/index.ts b/packages/db/index.ts index beec11606..33575cb57 100644 --- a/packages/db/index.ts +++ b/packages/db/index.ts @@ -1,10 +1,6 @@ import Database from "better-sqlite3"; import { database } from "./driver"; -import * as sqliteSchema from "./schema/sqlite"; - -// Export only the types from the sqlite schema as we're using that. -export const schema = sqliteSchema; export * from "drizzle-orm"; diff --git a/packages/db/migrations/mysql/migrate.ts b/packages/db/migrations/mysql/migrate.ts index 61a2401f7..daca71ee7 100644 --- a/packages/db/migrations/mysql/migrate.ts +++ b/packages/db/migrations/mysql/migrate.ts @@ -1,9 +1,9 @@ -/* eslint-disable @typescript-eslint/no-non-null-assertion */ import { drizzle } from "drizzle-orm/mysql2"; import { migrate } from "drizzle-orm/mysql2/migrator"; import mysql from "mysql2"; import type { Database } from "../.."; +import { env } from "../../env.mjs"; import * as mysqlSchema from "../../schema/mysql"; import { seedDataAsync } from "../seed"; @@ -11,15 +11,15 @@ const migrationsFolder = process.argv[2] ?? "."; const migrateAsync = async () => { const mysql2 = mysql.createConnection( - process.env.DB_HOST - ? { - host: process.env.DB_HOST, - database: process.env.DB_NAME!, - port: Number(process.env.DB_PORT), - user: process.env.DB_USER, - password: process.env.DB_PASSWORD, - } - : { uri: process.env.DB_URL }, + env.DB_URL + ? { uri: env.DB_URL } + : { + host: env.DB_HOST, + database: env.DB_NAME, + port: env.DB_PORT, + user: env.DB_USER, + password: env.DB_PASSWORD, + }, ); const db = drizzle(mysql2, { diff --git a/packages/db/migrations/seed.ts b/packages/db/migrations/seed.ts index 15a82ea20..105147e20 100644 --- a/packages/db/migrations/seed.ts +++ b/packages/db/migrations/seed.ts @@ -6,8 +6,8 @@ import { defaultServerSettings, defaultServerSettingsKeys } from "@homarr/server import { createId, eq } from ".."; import type { Database } from ".."; +import { onboarding, serverSettings } from "../schema"; import { groups } from "../schema/mysql"; -import { onboarding, serverSettings } from "../schema/sqlite"; export const seedDataAsync = async (db: Database) => { await seedEveryoneGroupAsync(db); diff --git a/packages/db/migrations/sqlite/migrate.ts b/packages/db/migrations/sqlite/migrate.ts index 420169677..803f36215 100644 --- a/packages/db/migrations/sqlite/migrate.ts +++ b/packages/db/migrations/sqlite/migrate.ts @@ -2,15 +2,16 @@ import Database from "better-sqlite3"; import { drizzle } from "drizzle-orm/better-sqlite3"; import { migrate } from "drizzle-orm/better-sqlite3/migrator"; -import { schema } from "../.."; +import { env } from "../../env.mjs"; +import * as sqliteSchema from "../../schema/sqlite"; import { seedDataAsync } from "../seed"; const migrationsFolder = process.argv[2] ?? "."; const migrateAsync = async () => { - const sqlite = new Database(process.env.DB_URL?.replace("file:", "")); + const sqlite = new Database(env.DB_URL.replace("file:", "")); - const db = drizzle(sqlite, { schema, casing: "snake_case" }); + const db = drizzle(sqlite, { schema: sqliteSchema, casing: "snake_case" }); migrate(db, { migrationsFolder }); diff --git a/packages/db/package.json b/packages/db/package.json index d9185a487..e3db1df95 100644 --- a/packages/db/package.json +++ b/packages/db/package.json @@ -7,10 +7,11 @@ "exports": { ".": "./index.ts", "./client": "./client.ts", - "./schema/sqlite": "./schema/sqlite.ts", + "./schema": "./schema/index.ts", "./test": "./test/index.ts", "./queries": "./queries/index.ts", - "./validationSchemas": "./validationSchemas.ts" + "./validationSchemas": "./validationSchemas.ts", + "./env.mjs": "./env.mjs" }, "main": "./index.ts", "types": "./index.ts", @@ -21,16 +22,16 @@ "clean": "rm -rf .turbo node_modules", "format": "prettier --check . --ignore-path ../../.gitignore", "lint": "eslint", - "migration:mysql:drop": "drizzle-kit drop --config ./configs/mysql.config.ts", - "migration:mysql:generate": "drizzle-kit generate --config ./configs/mysql.config.ts", - "migration:mysql:run": "drizzle-kit migrate --config ./configs/mysql.config.ts && pnpm run seed", - "migration:sqlite:drop": "drizzle-kit drop --config ./configs/sqlite.config.ts", - "migration:sqlite:generate": "drizzle-kit generate --config ./configs/sqlite.config.ts", - "migration:sqlite:run": "drizzle-kit migrate --config ./configs/sqlite.config.ts && pnpm run seed", - "push:mysql": "drizzle-kit push --config ./configs/mysql.config.ts", - "push:sqlite": "drizzle-kit push --config ./configs/sqlite.config.ts", + "migration:mysql:drop": "pnpm with-env drizzle-kit drop --config ./configs/mysql.config.ts", + "migration:mysql:generate": "pnpm with-env drizzle-kit generate --config ./configs/mysql.config.ts", + "migration:mysql:run": "pnpm with-env drizzle-kit migrate --config ./configs/mysql.config.ts && pnpm run seed", + "migration:sqlite:drop": "pnpm with-env drizzle-kit drop --config ./configs/sqlite.config.ts", + "migration:sqlite:generate": "pnpm with-env drizzle-kit generate --config ./configs/sqlite.config.ts", + "migration:sqlite:run": "pnpm with-env drizzle-kit migrate --config ./configs/sqlite.config.ts && pnpm run seed", + "push:mysql": "pnpm with-env drizzle-kit push --config ./configs/mysql.config.ts", + "push:sqlite": "pnpm with-env drizzle-kit push --config ./configs/sqlite.config.ts", "seed": "pnpm with-env tsx ./migrations/run-seed.ts", - "studio": "drizzle-kit studio --config ./configs/sqlite.config.ts", + "studio": "pnpm with-env drizzle-kit studio --config ./configs/sqlite.config.ts", "typecheck": "tsc --noEmit", "with-env": "dotenv -e ../../.env --" }, @@ -42,6 +43,7 @@ "@homarr/log": "workspace:^0.1.0", "@homarr/server-settings": "workspace:^0.1.0", "@paralleldrive/cuid2": "^2.2.2", + "@t3-oss/env-nextjs": "^0.11.1", "@testcontainers/mysql": "^10.16.0", "better-sqlite3": "^11.7.0", "dotenv": "^16.4.7", diff --git a/packages/db/queries/item.ts b/packages/db/queries/item.ts index 336270471..db048556f 100644 --- a/packages/db/queries/item.ts +++ b/packages/db/queries/item.ts @@ -3,7 +3,7 @@ import type { WidgetKind } from "@homarr/definitions"; import type { Database } from ".."; import { inArray } from ".."; import type { inferSupportedIntegrations } from "../../widgets/src"; -import { items } from "../schema/sqlite"; +import { items } from "../schema"; export const getItemsWithIntegrationsAsync = async <TKind extends WidgetKind>( db: Database, diff --git a/packages/db/queries/server-setting.ts b/packages/db/queries/server-setting.ts index a8039aa32..73f5156bc 100644 --- a/packages/db/queries/server-setting.ts +++ b/packages/db/queries/server-setting.ts @@ -5,7 +5,7 @@ import { defaultServerSettings, defaultServerSettingsKeys } from "@homarr/server import type { Database } from ".."; import { eq } from ".."; -import { serverSettings } from "../schema/sqlite"; +import { serverSettings } from "../schema"; export const getServerSettingsAsync = async (db: Database) => { const settings = await db.query.serverSettings.findMany(); diff --git a/packages/db/schema/index.ts b/packages/db/schema/index.ts new file mode 100644 index 000000000..20000f771 --- /dev/null +++ b/packages/db/schema/index.ts @@ -0,0 +1,45 @@ +import type { InferSelectModel } from "drizzle-orm"; + +import * as mysqlSchema from "./mysql"; +import * as sqliteSchema from "./sqlite"; + +type Schema = typeof sqliteSchema; + +const schema = process.env.DB_DRIVER === "mysql2" ? (mysqlSchema as unknown as Schema) : sqliteSchema; + +// Sadly we can't use export * from here as we have multiple possible exports +export const { + accounts, + apiKeys, + apps, + boardGroupPermissions, + boardUserPermissions, + boards, + groupMembers, + groupPermissions, + groups, + iconRepositories, + icons, + integrationGroupPermissions, + integrationItems, + integrationSecrets, + integrationUserPermissions, + integrations, + invites, + items, + medias, + onboarding, + searchEngines, + sections, + serverSettings, + sessions, + users, + verificationTokens, +} = schema; + +export type User = InferSelectModel<typeof schema.users>; +export type Account = InferSelectModel<typeof schema.accounts>; +export type Session = InferSelectModel<typeof schema.sessions>; +export type VerificationToken = InferSelectModel<typeof schema.verificationTokens>; +export type Integration = InferSelectModel<typeof schema.integrations>; +export type IntegrationSecret = InferSelectModel<typeof schema.integrationSecrets>; diff --git a/packages/db/schema/sqlite.ts b/packages/db/schema/sqlite.ts index f5feffc71..6a24a87ed 100644 --- a/packages/db/schema/sqlite.ts +++ b/packages/db/schema/sqlite.ts @@ -1,6 +1,5 @@ import type { AdapterAccount } from "@auth/core/adapters"; import type { DayOfWeek } from "@mantine/dates"; -import type { InferSelectModel } from "drizzle-orm"; import { relations, sql } from "drizzle-orm"; import type { AnySQLiteColumn } from "drizzle-orm/sqlite-core"; import { blob, index, int, primaryKey, sqliteTable, text } from "drizzle-orm/sqlite-core"; @@ -567,10 +566,3 @@ export const searchEngineRelations = relations(searchEngines, ({ one }) => ({ references: [integrations.id], }), })); - -export type User = InferSelectModel<typeof users>; -export type Account = InferSelectModel<typeof accounts>; -export type Session = InferSelectModel<typeof sessions>; -export type VerificationToken = InferSelectModel<typeof verificationTokens>; -export type Integration = InferSelectModel<typeof integrations>; -export type IntegrationSecret = InferSelectModel<typeof integrationSecrets>; diff --git a/packages/db/test/db-mock.ts b/packages/db/test/db-mock.ts index e2f249554..176a27534 100644 --- a/packages/db/test/db-mock.ts +++ b/packages/db/test/db-mock.ts @@ -2,11 +2,11 @@ import Database from "better-sqlite3"; import { drizzle } from "drizzle-orm/better-sqlite3"; import { migrate } from "drizzle-orm/better-sqlite3/migrator"; -import { schema } from ".."; +import * as sqliteSchema from "../schema/sqlite"; export const createDb = (debug?: boolean) => { const sqlite = new Database(":memory:"); - const db = drizzle(sqlite, { schema, logger: debug, casing: "snake_case" }); + const db = drizzle(sqlite, { schema: sqliteSchema, logger: debug, casing: "snake_case" }); migrate(db, { migrationsFolder: "./packages/db/migrations/sqlite", }); diff --git a/packages/db/validationSchemas.ts b/packages/db/validationSchemas.ts index 584fdfa6f..da49819e3 100644 --- a/packages/db/validationSchemas.ts +++ b/packages/db/validationSchemas.ts @@ -1,6 +1,6 @@ import { createSelectSchema } from "drizzle-zod"; -import { apps, boards, groups, invites, searchEngines, serverSettings, users } from "./schema/sqlite"; +import { apps, boards, groups, invites, searchEngines, serverSettings, users } from "./schema"; export const selectAppSchema = createSelectSchema(apps); export const selectBoardSchema = createSelectSchema(boards); diff --git a/packages/integrations/src/base/creator.ts b/packages/integrations/src/base/creator.ts index 82e54d98d..c6782127a 100644 --- a/packages/integrations/src/base/creator.ts +++ b/packages/integrations/src/base/creator.ts @@ -1,6 +1,6 @@ import { decryptSecret } from "@homarr/common/server"; import type { Modify } from "@homarr/common/types"; -import type { Integration as DbIntegration } from "@homarr/db/schema/sqlite"; +import type { Integration as DbIntegration } from "@homarr/db/schema"; import type { IntegrationKind, IntegrationSecretKind } from "@homarr/definitions"; import { AdGuardHomeIntegration } from "../adguard-home/adguard-home-integration"; diff --git a/packages/integrations/src/interfaces/downloads/download-client-items.ts b/packages/integrations/src/interfaces/downloads/download-client-items.ts index 53d31b49a..7137890d8 100644 --- a/packages/integrations/src/interfaces/downloads/download-client-items.ts +++ b/packages/integrations/src/interfaces/downloads/download-client-items.ts @@ -1,4 +1,4 @@ -import type { Integration } from "@homarr/db/schema/sqlite"; +import type { Integration } from "@homarr/db/schema"; import { z } from "@homarr/validation"; const usenetQueueState = ["downloading", "queued", "paused"] as const; diff --git a/packages/integrations/src/interfaces/downloads/download-client-status.ts b/packages/integrations/src/interfaces/downloads/download-client-status.ts index d8bfc09c0..37fb290b6 100644 --- a/packages/integrations/src/interfaces/downloads/download-client-status.ts +++ b/packages/integrations/src/interfaces/downloads/download-client-status.ts @@ -1,4 +1,4 @@ -import type { Integration } from "@homarr/db/schema/sqlite"; +import type { Integration } from "@homarr/db/schema"; export interface DownloadClientStatus { /** If client is considered paused */ diff --git a/packages/modals-collection/package.json b/packages/modals-collection/package.json index 590ede0a7..804ee9ea8 100644 --- a/packages/modals-collection/package.json +++ b/packages/modals-collection/package.json @@ -35,7 +35,7 @@ "@mantine/core": "^7.15.1", "@tabler/icons-react": "^3.26.0", "dayjs": "^1.11.13", - "next": "^14.2.20", + "next": "^14.2.21", "react": "^19.0.0" }, "devDependencies": { diff --git a/packages/old-import/package.json b/packages/old-import/package.json index b182ff988..832620776 100644 --- a/packages/old-import/package.json +++ b/packages/old-import/package.json @@ -40,11 +40,11 @@ "@mantine/core": "^7.15.1", "@mantine/hooks": "^7.15.1", "adm-zip": "0.5.16", - "next": "^14.2.20", + "next": "^14.2.21", "react": "^19.0.0", "superjson": "2.2.2", "zod": "^3.24.1", - "zod-form-data": "^2.0.2" + "zod-form-data": "^2.0.4" }, "devDependencies": { "@homarr/eslint-config": "workspace:^0.2.0", diff --git a/packages/old-import/src/import-apps.ts b/packages/old-import/src/import-apps.ts index 342ba682f..6f0a3f4fa 100644 --- a/packages/old-import/src/import-apps.ts +++ b/packages/old-import/src/import-apps.ts @@ -1,6 +1,6 @@ import { createId, inArray } from "@homarr/db"; import type { Database, InferInsertModel, InferSelectModel } from "@homarr/db"; -import { apps as appsTable } from "@homarr/db/schema/sqlite"; +import { apps as appsTable } from "@homarr/db/schema"; import { logger } from "@homarr/log"; import type { OldmarrApp } from "@homarr/old-schema"; diff --git a/packages/old-import/src/import-board.ts b/packages/old-import/src/import-board.ts index 822e37ed3..737de5f56 100644 --- a/packages/old-import/src/import-board.ts +++ b/packages/old-import/src/import-board.ts @@ -1,6 +1,6 @@ import type { Database } from "@homarr/db"; import { createId } from "@homarr/db"; -import { boards } from "@homarr/db/schema/sqlite"; +import { boards } from "@homarr/db/schema"; import { logger } from "@homarr/log"; import type { OldmarrConfig } from "@homarr/old-schema"; diff --git a/packages/old-import/src/import-items.ts b/packages/old-import/src/import-items.ts index 652687d21..a3fa7dbaf 100644 --- a/packages/old-import/src/import-items.ts +++ b/packages/old-import/src/import-items.ts @@ -2,7 +2,7 @@ import SuperJSON from "superjson"; import type { Database } from "@homarr/db"; import { createId } from "@homarr/db"; -import { items } from "@homarr/db/schema/sqlite"; +import { items } from "@homarr/db/schema"; import { logger } from "@homarr/log"; import type { OldmarrApp, OldmarrWidget } from "@homarr/old-schema"; diff --git a/packages/old-import/src/import-sections.ts b/packages/old-import/src/import-sections.ts index 1aa8afc87..4d332b87c 100644 --- a/packages/old-import/src/import-sections.ts +++ b/packages/old-import/src/import-sections.ts @@ -1,6 +1,6 @@ import { createId } from "@homarr/db"; import type { Database } from "@homarr/db"; -import { sections } from "@homarr/db/schema/sqlite"; +import { sections } from "@homarr/db/schema"; import { logger } from "@homarr/log"; import type { OldmarrConfig } from "@homarr/old-schema"; diff --git a/packages/old-import/src/import/collections/common.ts b/packages/old-import/src/import/collections/common.ts index 7dd07f087..4065063b5 100644 --- a/packages/old-import/src/import/collections/common.ts +++ b/packages/old-import/src/import/collections/common.ts @@ -1,6 +1,6 @@ import { objectEntries } from "@homarr/common"; import type { Database, InferInsertModel } from "@homarr/db"; -import { schema } from "@homarr/db"; +import * as schema from "@homarr/db/schema"; type TableKey = { [K in keyof typeof schema]: (typeof schema)[K] extends { _: { brand: "Table" } } ? K : never; diff --git a/packages/old-import/src/import/import-single-oldmarr.ts b/packages/old-import/src/import/import-single-oldmarr.ts index 568595929..42bcc5c15 100644 --- a/packages/old-import/src/import/import-single-oldmarr.ts +++ b/packages/old-import/src/import/import-single-oldmarr.ts @@ -1,6 +1,6 @@ import { inArray } from "@homarr/db"; import type { Database } from "@homarr/db"; -import { apps } from "@homarr/db/schema/sqlite"; +import { apps } from "@homarr/db/schema"; import type { OldmarrConfig } from "@homarr/old-schema"; import { doAppsMatch } from "../prepare/prepare-apps"; diff --git a/packages/old-import/src/mappers/map-app.ts b/packages/old-import/src/mappers/map-app.ts index 0232edc50..3b0bc095e 100644 --- a/packages/old-import/src/mappers/map-app.ts +++ b/packages/old-import/src/mappers/map-app.ts @@ -1,5 +1,5 @@ import type { InferSelectModel } from "@homarr/db"; -import type { apps } from "@homarr/db/schema/sqlite"; +import type { apps } from "@homarr/db/schema"; import type { OldmarrApp } from "@homarr/old-schema"; import type { OldmarrBookmarkDefinition } from "../widgets/definitions/bookmark"; diff --git a/packages/old-import/src/mappers/map-board.ts b/packages/old-import/src/mappers/map-board.ts index a11b84cbd..28a9dfa26 100644 --- a/packages/old-import/src/mappers/map-board.ts +++ b/packages/old-import/src/mappers/map-board.ts @@ -1,6 +1,6 @@ import type { InferInsertModel } from "@homarr/db"; import { createId } from "@homarr/db"; -import type { boards } from "@homarr/db/schema/sqlite"; +import type { boards } from "@homarr/db/schema"; import type { prepareMultipleImports } from "../prepare/prepare-multiple"; import { mapColor } from "./map-colors"; diff --git a/packages/old-import/src/mappers/map-item.ts b/packages/old-import/src/mappers/map-item.ts index f24fdfb37..1262e0e4d 100644 --- a/packages/old-import/src/mappers/map-item.ts +++ b/packages/old-import/src/mappers/map-item.ts @@ -2,7 +2,7 @@ import SuperJSON from "superjson"; import type { InferInsertModel } from "@homarr/db"; import { createId } from "@homarr/db"; -import type { items } from "@homarr/db/schema/sqlite"; +import type { items } from "@homarr/db/schema"; import { logger } from "@homarr/log"; import type { BoardSize, OldmarrApp, OldmarrWidget } from "@homarr/old-schema"; diff --git a/packages/old-import/src/mappers/map-section.ts b/packages/old-import/src/mappers/map-section.ts index 10bf47ac8..e80b8969a 100644 --- a/packages/old-import/src/mappers/map-section.ts +++ b/packages/old-import/src/mappers/map-section.ts @@ -1,6 +1,6 @@ import type { InferInsertModel } from "@homarr/db"; import { createId } from "@homarr/db"; -import type { sections } from "@homarr/db/schema/sqlite"; +import type { sections } from "@homarr/db/schema"; import type { OldmarrCategorySection, OldmarrEmptySection } from "@homarr/old-schema"; export const mapCategorySection = ( diff --git a/packages/old-import/src/mappers/map-user.ts b/packages/old-import/src/mappers/map-user.ts index 465eae455..ffa4c3509 100644 --- a/packages/old-import/src/mappers/map-user.ts +++ b/packages/old-import/src/mappers/map-user.ts @@ -1,7 +1,7 @@ import { decryptSecretWithKey } from "@homarr/common/server"; import type { InferInsertModel } from "@homarr/db"; import { createId } from "@homarr/db"; -import type { users } from "@homarr/db/schema/sqlite"; +import type { users } from "@homarr/db/schema"; import type { OldmarrImportUser } from "../user-schema"; diff --git a/packages/old-import/src/prepare/prepare-apps.ts b/packages/old-import/src/prepare/prepare-apps.ts index d38820102..973ea3653 100644 --- a/packages/old-import/src/prepare/prepare-apps.ts +++ b/packages/old-import/src/prepare/prepare-apps.ts @@ -1,5 +1,5 @@ import type { InferSelectModel } from "@homarr/db"; -import type { apps } from "@homarr/db/schema/sqlite"; +import type { apps } from "@homarr/db/schema"; import type { OldmarrConfig } from "@homarr/old-schema"; import type { ValidAnalyseConfig } from "../analyse/types"; diff --git a/packages/request-handler/src/lib/cached-integration-request-handler.ts b/packages/request-handler/src/lib/cached-integration-request-handler.ts index 437e7117c..b5d25decc 100644 --- a/packages/request-handler/src/lib/cached-integration-request-handler.ts +++ b/packages/request-handler/src/lib/cached-integration-request-handler.ts @@ -1,7 +1,7 @@ import type { Duration } from "dayjs/plugin/duration"; import type { Modify } from "@homarr/common/types"; -import type { Integration, IntegrationSecret } from "@homarr/db/schema/sqlite"; +import type { Integration, IntegrationSecret } from "@homarr/db/schema"; import type { IntegrationKind } from "@homarr/definitions"; import { createIntegrationOptionsChannel } from "@homarr/redis"; diff --git a/packages/spotlight/package.json b/packages/spotlight/package.json index 3956ebbed..21b166e42 100644 --- a/packages/spotlight/package.json +++ b/packages/spotlight/package.json @@ -37,7 +37,7 @@ "@mantine/spotlight": "^7.15.1", "@tabler/icons-react": "^3.26.0", "jotai": "^2.10.4", - "next": "^14.2.20", + "next": "^14.2.21", "react": "^19.0.0", "use-deep-compare-effect": "^1.8.1" }, diff --git a/packages/translation/package.json b/packages/translation/package.json index 870ebfdcf..9094e48e8 100644 --- a/packages/translation/package.json +++ b/packages/translation/package.json @@ -32,7 +32,7 @@ "dayjs": "^1.11.13", "deepmerge": "4.3.1", "mantine-react-table": "2.0.0-beta.7", - "next": "^14.2.20", + "next": "^14.2.21", "next-intl": "3.26.2", "react": "^19.0.0" }, diff --git a/packages/translation/src/lang/cn.json b/packages/translation/src/lang/cn.json index e7cd1a4d2..b2e52492a 100644 --- a/packages/translation/src/lang/cn.json +++ b/packages/translation/src/lang/cn.json @@ -1,10 +1,131 @@ { + "init": { + "step": { + "start": { + "title": "", + "subtitle": "", + "description": "", + "action": { + "scratch": "", + "importOldmarr": "" + } + }, + "import": { + "title": "", + "subtitle": "", + "dropzone": { + "title": "", + "description": "" + }, + "fileInfo": { + "action": { + "change": "" + } + }, + "importSettings": { + "title": "", + "description": "" + }, + "boardSelection": { + "title": "", + "description": "", + "action": { + "selectAll": "", + "unselectAll": "" + } + }, + "summary": { + "title": "", + "description": "", + "action": { + "import": "" + }, + "entities": { + "apps": "应用", + "boards": "面板", + "integrations": "", + "credentialUsers": "" + } + }, + "tokenModal": { + "title": "", + "field": { + "token": { + "label": "Token", + "description": "" + } + }, + "notification": { + "error": { + "title": "", + "message": "" + } + } + } + }, + "user": { + "title": "", + "subtitle": "", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "" + } + } + }, + "group": { + "title": "", + "subtitle": "", + "form": { + "name": { + "label": "", + "description": "" + } + } + }, + "settings": { + "title": "设置", + "subtitle": "" + }, + "finish": { + "title": "", + "subtitle": "", + "description": "", + "action": { + "goToBoard": "", + "createBoard": "", + "inviteUser": "", + "docs": "" + } + } + }, + "backToStart": "" + }, "user": { "title": "用户", "name": "用户", + "page": { + "login": { + "title": "", + "subtitle": "" + }, + "invite": { + "title": "", + "subtitle": "", + "description": "" + }, + "init": { + "title": "", + "subtitle": "" + } + }, "field": { "email": { - "label": "邮箱" + "label": "邮箱", + "verified": "" }, "username": { "label": "用户名" @@ -12,117 +133,732 @@ "password": { "label": "密码", "requirement": { + "length": "", "lowercase": "包括小写字母", "uppercase": "包含大写字母", - "number": "包含数字" + "number": "包含数字", + "special": "" } }, "passwordConfirm": { "label": "确认密码" + }, + "previousPassword": { + "label": "" + }, + "homeBoard": { + "label": "" + }, + "pingIconsEnabled": { + "label": "" } }, + "error": { + "usernameTaken": "" + }, "action": { "login": { - "label": "登录" + "label": "登录", + "labelWith": "", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + }, + "forgotPassword": { + "label": "", + "description": "" + } }, "register": { "label": "创建账号", "notification": { "success": { - "title": "账号已创建" + "title": "账号已创建", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "create": "创建用户", + "changePassword": { + "label": "", + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + } + }, + "changeHomeBoard": { + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + } + }, + "changeFirstDayOfWeek": { + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" } } }, - "create": "创建用户" + "changePingIconsEnabled": { + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + } + }, + "manageAvatar": { + "changeImage": { + "label": "", + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + }, + "toLarge": { + "title": "", + "message": "" + } + } + }, + "removeImage": { + "label": "", + "confirm": "", + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + } + } + }, + "editProfile": { + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + } + }, + "delete": { + "label": "", + "description": "", + "confirm": "" + }, + "select": { + "label": "", + "notFound": "" + }, + "transfer": { + "label": "" + } } }, "group": { + "title": "", + "name": "", + "search": "", "field": { - "name": "名称" + "name": "名称", + "members": "" }, "permission": { "admin": { - "title": "管理员" + "title": "管理员", + "item": { + "admin": { + "label": "", + "description": "" + } + } + }, + "app": { + "title": "应用", + "item": { + "create": { + "label": "", + "description": "" + }, + "use-all": { + "label": "", + "description": "" + }, + "modify-all": { + "label": "", + "description": "" + }, + "full-all": { + "label": "", + "description": "" + } + } }, "board": { - "title": "面板" + "title": "面板", + "item": { + "create": { + "label": "", + "description": "" + }, + "view-all": { + "label": "", + "description": "" + }, + "modify-all": { + "label": "", + "description": "" + }, + "full-all": { + "label": "", + "description": "" + } + } + }, + "integration": { + "title": "", + "item": { + "create": { + "label": "", + "description": "" + }, + "use-all": { + "label": "", + "description": "" + }, + "interact-all": { + "label": "", + "description": "" + }, + "full-all": { + "label": "", + "description": "" + } + } + }, + "media": { + "title": "", + "item": { + "upload": { + "label": "", + "description": "" + }, + "view-all": { + "label": "", + "description": "" + }, + "full-all": { + "label": "", + "description": "" + } + } + }, + "other": { + "title": "", + "item": { + "view-logs": { + "label": "", + "description": "" + } + } + }, + "search-engine": { + "title": "", + "item": { + "create": { + "label": "", + "description": "" + }, + "modify-all": { + "label": "", + "description": "" + }, + "full-all": { + "label": "", + "description": "" + } + } + } + }, + "memberNotice": { + "mixed": "", + "external": "" + }, + "reservedNotice": { + "message": "" + }, + "action": { + "create": { + "label": "", + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + } + }, + "transfer": { + "label": "", + "description": "", + "confirm": "", + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + } + }, + "addMember": { + "label": "" + }, + "removeMember": { + "label": "", + "confirm": "" + }, + "delete": { + "label": "", + "description": "", + "confirm": "", + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + } + }, + "changePermissions": { + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "update": { + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + } + }, + "select": { + "label": "", + "notFound": "" } } }, "app": { "page": { "list": { - "title": "应用" + "title": "应用", + "noResults": { + "title": "", + "action": "" + } + }, + "create": { + "title": "", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "edit": { + "title": "", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "delete": { + "title": "", + "message": "", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } } }, "field": { "name": { "label": "名称" + }, + "description": { + "label": "" + }, + "url": { + "label": "" + } + }, + "action": { + "select": { + "label": "", + "notFound": "" } } }, "integration": { + "page": { + "list": { + "title": "", + "search": "", + "noResults": { + "title": "" + } + }, + "create": { + "title": "", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "edit": { + "title": "", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "delete": { + "title": "", + "message": "", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + } + }, "field": { "name": { "label": "名称" + }, + "url": { + "label": "" } }, + "action": { + "create": "" + }, "testConnection": { + "action": { + "create": "", + "edit": "" + }, + "alertNotice": "", "notification": { + "success": { + "title": "", + "message": "" + }, "invalidUrl": { - "title": "无效链接" + "title": "无效链接", + "message": "" + }, + "secretNotDefined": { + "title": "", + "message": "" + }, + "invalidCredentials": { + "title": "", + "message": "" + }, + "commonError": { + "title": "", + "message": "" + }, + "badRequest": { + "title": "", + "message": "" + }, + "unauthorized": { + "title": "", + "message": "" + }, + "forbidden": { + "title": "", + "message": "" + }, + "notFound": { + "title": "", + "message": "" + }, + "internalServerError": { + "title": "", + "message": "" + }, + "serviceUnavailable": { + "title": "", + "message": "" + }, + "connectionAborted": { + "title": "", + "message": "" + }, + "domainNotFound": { + "title": "", + "message": "" + }, + "connectionRefused": { + "title": "", + "message": "" + }, + "invalidJson": { + "title": "", + "message": "" + }, + "wrongPath": { + "title": "", + "message": "" } } }, "secrets": { + "title": "", + "lastUpdated": "", + "notSet": { + "label": "", + "tooltip": "" + }, + "secureNotice": "", + "reset": { + "title": "", + "message": "" + }, + "noSecretsRequired": { + "segmentTitle": "", + "text": "" + }, "kind": { "username": { - "label": "用户名" + "label": "用户名", + "newLabel": "" + }, + "apiKey": { + "label": "", + "newLabel": "" }, "password": { "label": "密码", "newLabel": "新密码" } } + }, + "permission": { + "use": "", + "interact": "", + "full": "" } }, "media": { + "plural": "", + "search": "", "field": { "name": "名称", "size": "大小", "creator": "创建者" + }, + "action": { + "upload": { + "label": "", + "file": "", + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + } + }, + "delete": { + "label": "", + "description": "", + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + } + }, + "copy": { + "label": "" + } } }, "common": { + "beta": "", "error": "错误", "action": { "add": "添加", "apply": "应用", + "backToOverview": "", "create": "创建", "edit": "编辑", + "import": "", "insert": "插入", "remove": "删除", "save": "保存", "saveChanges": "保存更改", "cancel": "取消", "delete": "删除", + "discard": "", "confirm": "确认", + "continue": "", "previous": "上一步", "next": "下一步", - "tryAgain": "请再试一次" + "checkoutDocs": "", + "checkLogs": "", + "tryAgain": "请再试一次", + "loading": "" + }, + "here": "", + "iconPicker": { + "label": "", + "header": "" + }, + "colorScheme": { + "options": { + "light": "", + "dark": "" + } }, "information": { + "min": "", + "max": "", + "days": "", "hours": "时", "minutes": "分" }, + "notification": { + "create": { + "success": "", + "error": "" + }, + "delete": { + "success": "", + "error": "" + }, + "update": { + "success": "", + "error": "" + }, + "transfer": { + "success": "", + "error": "" + } + }, + "multiSelect": { + "placeholder": "" + }, + "multiText": { + "placeholder": "", + "addLabel": "" + }, + "select": { + "placeholder": "", + "badge": { + "recommended": "" + } + }, "userAvatar": { "menu": { + "switchToDarkMode": "", + "switchToLightMode": "", + "management": "", "preferences": "您的首选项", - "login": "登录" + "logout": "", + "login": "登录", + "homeBoard": "", + "loggedOut": "", + "updateAvailable": "" } }, "dangerZone": "危险", "noResults": "未找到结果", + "preview": { + "show": "", + "hide": "" + }, "zod": { "errors": { "default": "该字段无效", @@ -130,7 +866,8 @@ "string": { "startsWith": "该字段必须以 {startsWith} 开头", "endsWith": "该字段必须以 {endsWith} 结尾", - "includes": "该字段必须包含 {includes}" + "includes": "该字段必须包含 {includes}", + "invalidEmail": "" }, "tooSmall": { "string": "该字段的长度必须至少为 {minimum} 个字符", @@ -139,11 +876,30 @@ "tooBig": { "string": "该字段的长度不得超过 {maximum} 个字符", "number": "该字段必须小于或等于 {maximum}" + }, + "custom": { + "passwordsDoNotMatch": "", + "passwordRequirements": "", + "boardAlreadyExists": "", + "invalidFileType": "", + "fileTooLarge": "", + "invalidConfiguration": "", + "groupNameTaken": "" } } } }, "section": { + "dynamic": { + "action": { + "create": "", + "remove": "" + }, + "remove": { + "title": "", + "message": "" + } + }, "category": { "field": { "name": { @@ -151,42 +907,147 @@ } }, "action": { + "create": "", + "edit": "", + "remove": "", "moveUp": "上移", - "moveDown": "下移" + "moveDown": "下移", + "createAbove": "", + "createBelow": "" + }, + "create": { + "title": "", + "submit": "" + }, + "remove": { + "title": "", + "message": "" + }, + "edit": { + "title": "", + "submit": "" }, "menu": { "label": { + "create": "", "changePosition": "换位" } } } }, "item": { + "action": { + "create": "", + "import": "", + "edit": "", + "moveResize": "", + "duplicate": "", + "remove": "" + }, "menu": { "label": { "settings": "设置" } }, + "create": { + "title": "", + "addToBoard": "" + }, "moveResize": { + "title": "", "field": { "width": { "label": "宽度" }, "height": { "label": "高度" + }, + "xOffset": { + "label": "" + }, + "yOffset": { + "label": "" } } + }, + "edit": { + "title": "", + "advancedOptions": { + "label": "", + "title": "" + }, + "field": { + "integrations": { + "label": "" + }, + "customCssClasses": { + "label": "" + } + } + }, + "remove": { + "title": "", + "message": "" } }, "widget": { "app": { + "name": "", + "description": "", "option": { + "appId": { + "label": "" + }, "openInNewTab": { "label": "在新标签页中打开" + }, + "showTitle": { + "label": "" + }, + "showDescriptionTooltip": { + "label": "" + }, + "pingEnabled": { + "label": "" + } + }, + "error": { + "notFound": { + "label": "", + "tooltip": "" + } + } + }, + "bookmarks": { + "name": "", + "description": "", + "option": { + "title": { + "label": "" + }, + "layout": { + "label": "显示布局", + "option": { + "row": { + "label": "横向" + }, + "column": { + "label": "垂直" + }, + "grid": { + "label": "" + } + } + }, + "items": { + "label": "", + "add": "" } } }, "dnsHoleSummary": { + "name": "", + "description": "", "option": { "layout": { "label": "显示布局", @@ -196,17 +1057,29 @@ }, "column": { "label": "垂直" + }, + "grid": { + "label": "" } } + }, + "usePiHoleColors": { + "label": "" } }, + "error": { + "internalServerError": "", + "integrationsDisconnected": "" + }, "data": { "adsBlockedToday": "今日屏蔽", "adsBlockedTodayPercentage": "今日屏蔽", - "dnsQueriesToday": "今日查询" + "dnsQueriesToday": "今日查询", + "domainsBeingBlocked": "" } }, "dnsHoleControls": { + "name": "", "description": "从您的面板控制 PiHole 或 AdGuard", "option": { "layout": { @@ -217,28 +1090,70 @@ }, "column": { "label": "垂直" + }, + "grid": { + "label": "" } } + }, + "showToggleAllButtons": { + "label": "" } }, + "error": { + "internalServerError": "" + }, "controls": { + "enableAll": "", + "disableAll": "", + "setTimer": "", "set": "设置", "enabled": "已启用", "disabled": "已禁用", + "processing": "", + "disconnected": "", "hours": "时", - "minutes": "分" + "minutes": "分", + "unlimited": "" } }, "clock": { + "name": "", "description": "显示当前的日期和时间。", "option": { + "customTitleToggle": { + "label": "", + "description": "" + }, + "customTitle": { + "label": "" + }, + "is24HourFormat": { + "label": "", + "description": "" + }, + "showSeconds": { + "label": "" + }, + "useCustomTimezone": { + "label": "" + }, "timezone": { - "label": "时区" + "label": "时区", + "description": "" + }, + "showDate": { + "label": "" + }, + "dateFormat": { + "label": "", + "description": "" } } }, "notebook": { "name": "笔记本", + "description": "", "option": { "showToolbar": { "label": "显示帮助您写下 Markdown 的工具栏" @@ -330,17 +1245,31 @@ } }, "error": { + "noUrl": "", "noBrowerSupport": "您的浏览器不支持 iframe。请更新您的浏览器。" } }, "smartHome-entityState": { + "name": "", + "description": "", "option": { "entityId": { "label": "实体 ID" + }, + "displayName": { + "label": "" + }, + "entityUnit": { + "label": "" + }, + "clickable": { + "label": "" } } }, "smartHome-executeAutomation": { + "name": "", + "description": "", "option": { "displayName": { "label": "显示名称" @@ -348,13 +1277,28 @@ "automationId": { "label": "自动化 ID" } + }, + "spotlightAction": { + "run": "" } }, "calendar": { "name": "日历", + "description": "", "option": { "releaseType": { - "label": "Radarr发布类型" + "label": "Radarr发布类型", + "options": { + "inCinemas": "", + "digitalRelease": "", + "physicalRelease": "" + } + }, + "filterPastMonths": { + "label": "" + }, + "filterFutureMonths": { + "label": "" } } }, @@ -362,8 +1306,25 @@ "name": "天气", "description": "显示指定位置的当前天气信息。", "option": { + "isFormatFahrenheit": { + "label": "" + }, "location": { "label": "天气位置" + }, + "showCity": { + "label": "" + }, + "hasForecast": { + "label": "" + }, + "forecastDayCount": { + "label": "", + "description": "" + }, + "dateFormat": { + "label": "", + "description": "" } }, "kind": { @@ -385,8 +1346,17 @@ }, "indexerManager": { "name": "索引器管理状态", + "description": "", + "option": { + "openIndexerSiteInNewTab": { + "label": "" + } + }, "title": "索引器管理", - "testAll": "测试全部" + "testAll": "测试全部", + "error": { + "internalServerError": "" + } }, "healthMonitoring": { "name": "系统健康监测", @@ -406,20 +1376,60 @@ } }, "popover": { - "available": "可用" + "information": "", + "processor": "", + "memory": "", + "memoryAvailable": "", + "version": "", + "uptime": "", + "loadAverage": "", + "minute": "", + "minutes": "", + "used": "", + "available": "可用", + "lastSeen": "" + }, + "memory": {}, + "error": { + "internalServerError": "" } }, "common": { "location": { + "query": "", + "latitude": "", + "longitude": "", + "disabledTooltip": "", + "unknownLocation": "", "search": "搜索", "table": { - "header": {}, - "action": {}, + "header": { + "city": "", + "country": "", + "coordinates": "", + "population": "" + }, + "action": { + "select": "" + }, "population": { "fallback": "未知" } } - } + }, + "integration": { + "noData": "", + "description": "" + }, + "app": { + "noData": "", + "description": "" + }, + "error": { + "noIntegration": "", + "noData": "" + }, + "option": {} }, "video": { "name": "视频流", @@ -429,33 +1439,129 @@ "label": "订阅网址" }, "hasAutoPlay": { - "label": "自动播放" + "label": "自动播放", + "description": "" + }, + "isMuted": { + "label": "" + }, + "hasControls": { + "label": "" } + }, + "error": { + "noUrl": "", + "forYoutubeUseIframe": "" } }, + "mediaServer": { + "name": "", + "description": "", + "option": {} + }, "downloads": { + "name": "", + "description": "", + "option": { + "columns": { + "label": "" + }, + "enableRowSorting": { + "label": "" + }, + "defaultSort": { + "label": "" + }, + "descendingDefaultSort": { + "label": "" + }, + "showCompletedUsenet": { + "label": "" + }, + "showCompletedTorrent": { + "label": "" + }, + "activeTorrentThreshold": { + "label": "" + }, + "categoryFilter": { + "label": "" + }, + "filterIsWhitelist": { + "label": "" + }, + "applyFilterToRatio": { + "label": "" + } + }, + "errors": { + "noColumns": "", + "noCommunications": "" + }, "items": { + "actions": { + "columnTitle": "" + }, "added": { + "columnTitle": "", "detailsTitle": "日期已添加" }, + "category": { + "columnTitle": "", + "detailsTitle": "" + }, "downSpeed": { "columnTitle": "下载", "detailsTitle": "下载速度" }, + "index": { + "columnTitle": "", + "detailsTitle": "" + }, + "id": { + "columnTitle": "" + }, "integration": { "columnTitle": "集成" }, + "name": { + "columnTitle": "" + }, "progress": { - "columnTitle": "进度" + "columnTitle": "进度", + "detailsTitle": "" }, "ratio": { - "columnTitle": "分享率" + "columnTitle": "分享率", + "detailsTitle": "" + }, + "received": { + "columnTitle": "", + "detailsTitle": "" + }, + "sent": { + "columnTitle": "", + "detailsTitle": "" + }, + "size": { + "columnTitle": "", + "detailsTitle": "" }, "state": { - "columnTitle": "状态" + "columnTitle": "状态", + "detailsTitle": "" + }, + "time": { + "columnTitle": "", + "detailsTitle": "" + }, + "type": { + "columnTitle": "", + "detailsTitle": "" }, "upSpeed": { - "columnTitle": "上传" + "columnTitle": "上传", + "detailsTitle": "" } }, "states": { @@ -463,62 +1569,304 @@ "queued": "排队中", "paused": "已暂停", "completed": "已完成", - "unknown": "未知" - } + "failed": "", + "processing": "", + "leeching": "", + "stalled": "", + "unknown": "未知", + "seeding": "" + }, + "actions": { + "clients": { + "modalTitle": "", + "pause": "", + "resume": "" + }, + "client": { + "pause": "", + "resume": "" + }, + "item": { + "pause": "", + "resume": "", + "delete": { + "title": "", + "modalTitle": "", + "entry": "", + "entryAndFiles": "" + } + } + }, + "globalRatio": "" }, "mediaRequests-requestList": { + "name": "", "description": "查看 Overr 或 Jellyseerr 实例中的所有媒体请求列表", "option": { "linksTargetNewTab": { "label": "在新标签页中打开链接" } }, + "pending": { + "approve": "", + "approving": "", + "decline": "" + }, "availability": { "unknown": "未知", + "pending": "", + "processing": "", "partiallyAvailable": "部分", "available": "可用" - } + }, + "toBeDetermined": "" }, "mediaRequests-requestStats": { + "name": "", "description": "您的媒体请求统计", + "option": {}, "titles": { "stats": { "main": "媒体统计", "approved": "已经批准", "pending": "等待批准", + "processing": "", + "declined": "", + "available": "", "tv": "电视请求", "movie": "电影请求", "total": "请求总计" }, "users": { - "main": "用户排行" + "main": "用户排行", + "requests": "" + } + } + }, + "mediaTranscoding": { + "name": "", + "description": "", + "option": { + "defaultView": { + "label": "默认视图" + }, + "queuePageSize": { + "label": "" + } + }, + "tab": { + "workers": "工作种", + "queue": "队列", + "statistics": "统计" + }, + "currentIndex": "", + "healthCheck": { + "title": "", + "queued": "排队中", + "status": { + "healthy": "健康", + "unhealthy": "不良" + } + }, + "panel": { + "statistics": { + "empty": "空", + "transcodes": "转码", + "transcodesCount": "", + "healthChecksCount": "", + "filesCount": "", + "savedSpace": "", + "healthChecks": "", + "videoCodecs": "编码", + "videoContainers": "容器", + "videoResolutions": "分辨率" + }, + "workers": { + "empty": "空", + "table": { + "file": "文件", + "eta": "剩余时间", + "progress": "进度", + "transcode": "转码", + "healthCheck": "" + } + }, + "queue": { + "empty": "空", + "table": { + "file": "文件", + "size": "大小", + "transcode": "转码", + "healthCheck": "" + } } } + }, + "rssFeed": { + "name": "", + "description": "", + "option": { + "feedUrls": { + "label": "" + }, + "enableRtl": { + "label": "" + }, + "textLinesClamp": { + "label": "" + }, + "maximumAmountPosts": { + "label": "" + } + } + } + }, + "widgetPreview": { + "toggle": { + "enabled": "", + "disabled": "" + }, + "dimensions": { + "title": "" } }, "board": { "action": { + "edit": { + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + }, + "confirmLeave": { + "title": "", + "message": "" + } + }, "oldImport": { + "label": "", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + }, "form": { + "file": { + "label": "", + "invalidError": "" + }, "apps": { - "label": "应用" + "label": "应用", + "avoidDuplicates": { + "label": "", + "description": "" + }, + "onlyImportApps": { + "label": "", + "description": "" + } + }, + "name": { + "label": "" }, "screenSize": { + "label": "", + "description": "", "option": { "sm": "小号", "md": "中号", "lg": "大号" } + }, + "sidebarBehavior": { + "label": "", + "description": "", + "option": { + "lastSection": { + "label": "", + "description": "" + }, + "removeItems": { + "label": "", + "description": "" + } + } } } } }, "field": { + "pageTitle": { + "label": "" + }, + "metaTitle": { + "label": "" + }, + "logoImageUrl": { + "label": "" + }, + "faviconImageUrl": { + "label": "" + }, + "backgroundImageUrl": { + "label": "" + }, "backgroundImageAttachment": { - "label": "背景图片附件" + "label": "背景图片附件", + "option": { + "fixed": { + "label": "", + "description": "" + }, + "scroll": { + "label": "", + "description": "" + } + } + }, + "backgroundImageRepeat": { + "label": "", + "option": { + "repeat": { + "label": "", + "description": "" + }, + "no-repeat": { + "label": "", + "description": "" + }, + "repeat-x": { + "label": "", + "description": "" + }, + "repeat-y": { + "label": "", + "description": "" + } + } }, "backgroundImageSize": { - "label": "背景图像大小" + "label": "背景图像大小", + "option": { + "cover": { + "label": "", + "description": "" + }, + "contain": { + "label": "", + "description": "" + } + } }, "primaryColor": { "label": "主体色" @@ -526,20 +1874,37 @@ "secondaryColor": { "label": "辅助色" }, + "opacity": { + "label": "" + }, "customCss": { - "description": "只推荐有经验的用户使用 CSS 自定义面板" + "label": "", + "description": "只推荐有经验的用户使用 CSS 自定义面板", + "customClassesAlert": { + "title": "", + "description": "" + } + }, + "columnCount": { + "label": "" }, "name": { "label": "名称" }, "isPublic": { - "label": "公开" + "label": "公开", + "description": "" } }, + "content": { + "metaTitle": "" + }, "setting": { + "title": "", "section": { "general": { - "title": "通用" + "title": "通用", + "unrecognizedLink": "" }, "layout": { "title": "显示布局" @@ -547,11 +1912,24 @@ "background": { "title": "背景" }, + "color": { + "title": "" + }, + "customCss": { + "title": "" + }, "access": { + "title": "", "permission": { "item": { "view": { "label": "查看面板" + }, + "modify": { + "label": "" + }, + "full": { + "label": "" } } } @@ -559,34 +1937,115 @@ "dangerZone": { "title": "危险", "action": { + "rename": { + "label": "", + "description": "", + "button": "", + "modal": { + "title": "" + } + }, + "visibility": { + "label": "", + "description": { + "public": "", + "private": "" + }, + "button": { + "public": "", + "private": "" + }, + "confirm": { + "public": { + "title": "", + "description": "" + }, + "private": { + "title": "", + "description": "" + } + } + }, "delete": { + "label": "", + "description": "", + "button": "", "confirm": { - "title": "删除面板" + "title": "删除面板", + "description": "" } } } } } + }, + "error": { + "noBoard": { + "title": "", + "description": "", + "link": "", + "notice": "" + }, + "notFound": { + "title": "", + "description": "", + "link": "", + "notice": "" + }, + "homeBoard": { + "title": "", + "admin": { + "description": "", + "link": "", + "notice": "" + }, + "user": { + "description": "", + "link": "", + "notice": "" + }, + "anonymous": { + "description": "", + "link": "", + "notice": "" + } + } } }, "management": { + "metaTitle": "", + "title": { + "morning": "", + "afternoon": "", + "evening": "" + }, + "notFound": { + "title": "", + "text": "" + }, "navbar": { "items": { "home": "首页", "boards": "面板", "apps": "应用", + "integrations": "", + "searchEngies": "", + "medias": "", "users": { "label": "用户", "items": { "manage": "管理中心", - "invites": "邀请" + "invites": "邀请", + "groups": "" } }, "tools": { "label": "工具", "items": { "docker": "Docker", - "api": "API" + "logs": "", + "api": "API", + "tasks": "" } }, "settings": "设置", @@ -594,7 +2053,9 @@ "label": "帮助", "items": { "documentation": "文档", - "discord": "Discord 社区" + "submitIssue": "", + "discord": "Discord 社区", + "sourceCode": "" } }, "about": "关于" @@ -606,30 +2067,48 @@ "board": "面板", "user": "用户", "invite": "邀请", - "app": "应用" + "integration": "", + "app": "应用", + "group": "" }, "statisticLabel": { - "boards": "面板" + "boards": "面板", + "resources": "", + "authentication": "", + "authorization": "" } }, "board": { "title": "您的面板", "action": { + "new": { + "label": "" + }, + "open": { + "label": "" + }, "settings": { "label": "设置" }, "setHomeBoard": { + "label": "", "badge": { - "label": "首页" + "label": "首页", + "tooltip": "" } }, "delete": { "label": "永久删除", "confirm": { - "title": "删除面板" + "title": "删除面板", + "description": "" } } }, + "visibility": { + "public": "", + "private": "" + }, "modal": { "createBoard": { "field": { @@ -640,11 +2119,18 @@ } } }, + "media": { + "includeFromAllUsers": "" + }, "user": { + "back": "", + "fieldsDisabledExternalProvider": "", "setting": { "general": { "title": "通用", "item": { + "language": "", + "board": "", "firstDayOfWeek": "一周的第一天", "accessibility": "无障碍服务" } @@ -660,22 +2146,51 @@ "metaTitle": "管理用户", "title": "用户" }, + "edit": { + "metaTitle": "" + }, "create": { "metaTitle": "创建用户", + "title": "", "step": { + "personalInformation": { + "label": "" + }, "security": { "label": "安全" + }, + "groups": { + "label": "", + "title": "", + "description": "" + }, + "review": { + "label": "" + }, + "completed": { + "title": "" + }, + "error": { + "title": "" } + }, + "action": { + "createAnother": "", + "back": "" } }, "invite": { "title": "管理用户邀请", "action": { "new": { + "title": "", "description": "过期后,邀请会失效,被邀请的收件人将无法创建账号。" }, "copy": { - "link": "邀请链接" + "title": "", + "description": "", + "link": "邀请链接", + "button": "" }, "delete": { "title": "删除邀请", @@ -699,50 +2214,217 @@ } }, "group": { + "back": "", "setting": { "general": { - "title": "通用" + "title": "通用", + "owner": "所有者", + "ownerOfGroup": "", + "ownerOfGroupDeleted": "" + }, + "members": { + "title": "", + "search": "", + "notFound": "" + }, + "permissions": { + "title": "", + "form": { + "unsavedChanges": "" + } } } }, "settings": { - "title": "设置" + "title": "设置", + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + }, + "section": { + "analytics": { + "title": "", + "general": { + "title": "", + "text": "" + }, + "widgetData": { + "title": "", + "text": "" + }, + "integrationData": { + "title": "", + "text": "" + }, + "usersData": { + "title": "", + "text": "" + } + }, + "crawlingAndIndexing": { + "title": "", + "warning": "", + "noIndex": { + "title": "", + "text": "" + }, + "noFollow": { + "title": "", + "text": "" + }, + "noTranslate": { + "title": "", + "text": "" + }, + "noSiteLinksSearchBox": { + "title": "", + "text": "" + } + }, + "board": { + "title": "面板", + "homeBoard": { + "label": "", + "description": "" + } + }, + "appearance": { + "title": "外观", + "defaultColorScheme": { + "label": "", + "options": { + "light": "", + "dark": "" + } + } + }, + "culture": { + "title": "", + "defaultLocale": { + "label": "" + } + } + } }, "tool": { "tasks": { + "title": "", "status": { + "idle": "", "running": "运行中", "error": "错误" }, "job": { + "iconsUpdater": { + "label": "" + }, + "analytics": { + "label": "" + }, + "smartHomeEntityState": { + "label": "" + }, + "ping": { + "label": "" + }, "mediaServer": { "label": "媒体服务" }, - "mediaRequests": { - "label": "媒体请求" + "mediaOrganizer": { + "label": "" + }, + "downloads": { + "label": "" + }, + "mediaRequestStats": { + "label": "" + }, + "mediaRequestList": { + "label": "" + }, + "rssFeeds": { + "label": "" + }, + "indexerManager": { + "label": "" + }, + "healthMonitoring": { + "label": "" + }, + "dnsHole": { + "label": "" + }, + "sessionCleanup": { + "label": "" + }, + "updateChecker": { + "label": "" + }, + "mediaTranscoding": { + "label": "" } } }, "api": { "title": "API", + "modal": { + "createApiToken": { + "title": "", + "description": "", + "button": "" + } + }, "tab": { "documentation": { "label": "文档" }, "apiKey": { + "label": "", + "title": "", + "button": { + "createApiToken": "" + }, "table": { "header": { - "id": "ID" + "id": "ID", + "createdBy": "" } } } } } + }, + "about": { + "version": "", + "text": "", + "accordion": { + "contributors": { + "title": "", + "subtitle": "" + }, + "translators": { + "title": "", + "subtitle": "" + }, + "libraries": { + "title": "", + "subtitle": "" + } + } } } }, "docker": { "title": "容器", + "table": { + "updated": "", + "search": "", + "selected": "" + }, "field": { "name": { "label": "名称" @@ -754,7 +2436,9 @@ "running": "运行中", "paused": "已暂停", "restarting": "正在重启", - "removing": "删除中" + "exited": "", + "removing": "删除中", + "dead": "" } }, "containerImage": { @@ -766,27 +2450,102 @@ }, "action": { "start": { - "label": "开始" + "label": "开始", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } }, "stop": { - "label": "停止" + "label": "停止", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } }, "restart": { - "label": "重启" + "label": "重启", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } }, "remove": { - "label": "删除" + "label": "删除", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "refresh": { + "label": "", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } } + }, + "error": { + "internalServerError": "" } }, "permission": { + "title": "", + "userSelect": { + "title": "" + }, + "groupSelect": { + "title": "" + }, "tab": { - "user": "用户" + "user": "用户", + "group": "", + "inherited": "" }, "field": { "user": { "label": "用户" + }, + "group": { + "label": "" + }, + "permission": { + "label": "" } + }, + "action": { + "saveUser": "", + "saveGroup": "" } }, "navigationStructure": { @@ -796,17 +2555,31 @@ "label": "面板" }, "integrations": { + "label": "", "edit": { "label": "编辑" + }, + "new": { + "label": "" } }, "search-engines": { + "label": "", + "new": { + "label": "" + }, "edit": { "label": "编辑" } }, + "medias": { + "label": "" + }, "apps": { "label": "应用", + "new": { + "label": "" + }, "edit": { "label": "编辑" } @@ -819,6 +2592,9 @@ "general": "通用", "security": "安全", "board": "面板", + "groups": { + "label": "" + }, "invites": { "label": "邀请" } @@ -827,6 +2603,9 @@ "label": "工具", "docker": { "label": "Docker" + }, + "logs": { + "label": "" } }, "settings": { @@ -838,23 +2617,144 @@ } }, "search": { + "placeholder": "", + "nothingFound": "", + "error": { + "fetch": "" + }, "mode": { "appIntegrationBoard": { + "help": "", "group": { "app": { - "title": "应用" + "title": "应用", + "children": { + "action": { + "open": { + "label": "" + }, + "edit": { + "label": "" + } + }, + "detail": { + "title": "" + } + } }, "board": { - "title": "面板" + "title": "面板", + "children": { + "action": { + "open": { + "label": "" + }, + "homeBoard": { + "label": "" + }, + "settings": { + "label": "" + } + }, + "detail": { + "title": "" + } + } + }, + "integration": { + "title": "" + } + } + }, + "command": { + "help": "", + "group": { + "localCommand": { + "title": "" + }, + "globalCommand": { + "title": "", + "option": { + "colorScheme": { + "light": "", + "dark": "" + }, + "language": { + "label": "", + "children": { + "detail": { + "title": "" + } + } + }, + "newBoard": { + "label": "" + }, + "importBoard": { + "label": "" + }, + "newApp": { + "label": "" + }, + "newIntegration": { + "label": "", + "children": { + "detail": { + "title": "" + } + } + }, + "newUser": { + "label": "" + }, + "newInvite": { + "label": "" + }, + "newGroup": { + "label": "" + } + } } } }, "external": { + "help": "", "group": { "searchEngine": { + "title": "", + "children": { + "action": { + "search": { + "label": "" + } + }, + "detail": { + "title": "" + }, + "searchResults": { + "title": "" + } + }, "option": { + "google": { + "name": "", + "description": "" + }, + "bing": { + "name": "", + "description": "" + }, + "duckduckgo": { + "name": "", + "description": "" + }, "torrent": { - "name": "Torrents" + "name": "Torrents", + "description": "" + }, + "youTube": { + "name": "", + "description": "" } } } @@ -862,12 +2762,18 @@ }, "help": { "group": { + "mode": { + "title": "" + }, "help": { "title": "帮助", "option": { "documentation": { "label": "文档" }, + "submitIssue": { + "label": "" + }, "discord": { "label": "Discord 社区" } @@ -875,16 +2781,67 @@ } } }, + "home": { + "group": { + "local": { + "title": "" + } + } + }, "page": { + "help": "", "group": { "page": { + "title": "", "option": { + "manageHome": { + "label": "" + }, + "manageBoard": { + "label": "" + }, + "manageApp": { + "label": "" + }, + "manageIntegration": { + "label": "" + }, + "manageSearchEngine": { + "label": "" + }, + "manageMedia": { + "label": "" + }, "manageUser": { "label": "管理用户" }, + "manageInvite": { + "label": "" + }, + "manageGroup": { + "label": "" + }, + "manageDocker": { + "label": "" + }, + "manageApi": { + "label": "" + }, + "manageLog": { + "label": "" + }, + "manageTask": { + "label": "" + }, + "manageSettings": { + "label": "" + }, "about": { "label": "关于" }, + "homeBoard": { + "label": "" + }, "preferences": { "label": "您的首选项" } @@ -893,17 +2850,112 @@ } }, "userGroup": { + "help": "", "group": { "user": { - "title": "用户" + "title": "用户", + "children": { + "action": { + "detail": { + "label": "" + } + }, + "detail": { + "title": "" + } + } + }, + "group": { + "title": "", + "children": { + "action": { + "detail": { + "label": "" + }, + "manageMember": { + "label": "" + }, + "managePermission": { + "label": "" + } + }, + "detail": { + "title": "" + } + } } } } }, "engine": { + "search": "", "field": { "name": { "label": "名称" + }, + "short": { + "label": "" + }, + "urlTemplate": { + "label": "" + }, + "description": { + "label": "" + } + }, + "page": { + "list": { + "title": "", + "noResults": { + "title": "", + "action": "" + }, + "interactive": "" + }, + "create": { + "title": "", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "edit": { + "title": "", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + }, + "configControl": "", + "searchEngineType": { + "generic": "", + "fromIntegration": "" + } + }, + "delete": { + "title": "", + "message": "", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } } } } diff --git a/packages/translation/src/lang/cr.json b/packages/translation/src/lang/cr.json new file mode 100644 index 000000000..e2c405b33 --- /dev/null +++ b/packages/translation/src/lang/cr.json @@ -0,0 +1,2963 @@ +{ + "init": { + "step": { + "start": { + "title": "crwdns4538:0crwdne4538:0", + "subtitle": "crwdns4540:0crwdne4540:0", + "description": "crwdns4542:0crwdne4542:0", + "action": { + "scratch": "crwdns4544:0crwdne4544:0", + "importOldmarr": "crwdns4546:0crwdne4546:0" + } + }, + "import": { + "title": "crwdns4548:0crwdne4548:0", + "subtitle": "crwdns4550:0crwdne4550:0", + "dropzone": { + "title": "crwdns4552:0crwdne4552:0", + "description": "crwdns4554:0crwdne4554:0" + }, + "fileInfo": { + "action": { + "change": "crwdns4556:0crwdne4556:0" + } + }, + "importSettings": { + "title": "crwdns4558:0crwdne4558:0", + "description": "crwdns4560:0crwdne4560:0" + }, + "boardSelection": { + "title": "crwdns4562:0{count}crwdne4562:0", + "description": "crwdns4564:0crwdne4564:0", + "action": { + "selectAll": "crwdns4566:0crwdne4566:0", + "unselectAll": "crwdns4568:0crwdne4568:0" + } + }, + "summary": { + "title": "crwdns4570:0crwdne4570:0", + "description": "crwdns4572:0crwdne4572:0", + "action": { + "import": "crwdns4574:0crwdne4574:0" + }, + "entities": { + "apps": "crwdns4576:0crwdne4576:0", + "boards": "crwdns4578:0crwdne4578:0", + "integrations": "crwdns4580:0crwdne4580:0", + "credentialUsers": "crwdns4582:0crwdne4582:0" + } + }, + "tokenModal": { + "title": "crwdns4584:0crwdne4584:0", + "field": { + "token": { + "label": "crwdns4586:0crwdne4586:0", + "description": "crwdns4588:0crwdne4588:0" + } + }, + "notification": { + "error": { + "title": "crwdns4590:0crwdne4590:0", + "message": "crwdns4592:0crwdne4592:0" + } + } + } + }, + "user": { + "title": "crwdns4594:0crwdne4594:0", + "subtitle": "crwdns4596:0crwdne4596:0", + "notification": { + "success": { + "title": "crwdns4598:0crwdne4598:0", + "message": "crwdns4600:0crwdne4600:0" + }, + "error": { + "title": "crwdns4602:0crwdne4602:0" + } + } + }, + "group": { + "title": "crwdns4604:0crwdne4604:0", + "subtitle": "crwdns4606:0crwdne4606:0", + "form": { + "name": { + "label": "crwdns4608:0crwdne4608:0", + "description": "crwdns4610:0crwdne4610:0" + } + } + }, + "settings": { + "title": "crwdns4612:0crwdne4612:0", + "subtitle": "crwdns4614:0crwdne4614:0" + }, + "finish": { + "title": "crwdns4616:0crwdne4616:0", + "subtitle": "crwdns4618:0crwdne4618:0", + "description": "crwdns4620:0crwdne4620:0", + "action": { + "goToBoard": "crwdns4622:0{name}crwdne4622:0", + "createBoard": "crwdns4624:0crwdne4624:0", + "inviteUser": "crwdns4626:0crwdne4626:0", + "docs": "crwdns4628:0crwdne4628:0" + } + } + }, + "backToStart": "crwdns4630:0crwdne4630:0" + }, + "user": { + "title": "crwdns4632:0crwdne4632:0", + "name": "crwdns4634:0crwdne4634:0", + "page": { + "login": { + "title": "crwdns4636:0crwdne4636:0", + "subtitle": "crwdns4638:0crwdne4638:0" + }, + "invite": { + "title": "crwdns4640:0crwdne4640:0", + "subtitle": "crwdns4642:0crwdne4642:0", + "description": "crwdns4644:0{username}crwdne4644:0" + }, + "init": { + "title": "crwdns4646:0crwdne4646:0", + "subtitle": "crwdns4648:0crwdne4648:0" + } + }, + "field": { + "email": { + "label": "crwdns4650:0crwdne4650:0", + "verified": "crwdns4652:0crwdne4652:0" + }, + "username": { + "label": "crwdns4654:0crwdne4654:0" + }, + "password": { + "label": "crwdns4656:0crwdne4656:0", + "requirement": { + "length": "crwdns4658:0crwdne4658:0", + "lowercase": "crwdns4660:0crwdne4660:0", + "uppercase": "crwdns4662:0crwdne4662:0", + "number": "crwdns4664:0crwdne4664:0", + "special": "crwdns4666:0crwdne4666:0" + } + }, + "passwordConfirm": { + "label": "crwdns4668:0crwdne4668:0" + }, + "previousPassword": { + "label": "crwdns4670:0crwdne4670:0" + }, + "homeBoard": { + "label": "crwdns4672:0crwdne4672:0" + }, + "pingIconsEnabled": { + "label": "crwdns4674:0crwdne4674:0" + } + }, + "error": { + "usernameTaken": "crwdns4676:0crwdne4676:0" + }, + "action": { + "login": { + "label": "crwdns4678:0crwdne4678:0", + "labelWith": "crwdns4680:0{provider}crwdne4680:0", + "notification": { + "success": { + "title": "crwdns4682:0crwdne4682:0", + "message": "crwdns4684:0crwdne4684:0" + }, + "error": { + "title": "crwdns4686:0crwdne4686:0", + "message": "crwdns4688:0crwdne4688:0" + } + }, + "forgotPassword": { + "label": "crwdns4690:0crwdne4690:0", + "description": "crwdns4692:0crwdne4692:0" + } + }, + "register": { + "label": "crwdns4694:0crwdne4694:0", + "notification": { + "success": { + "title": "crwdns4696:0crwdne4696:0", + "message": "crwdns4698:0crwdne4698:0" + }, + "error": { + "title": "crwdns4700:0crwdne4700:0", + "message": "crwdns4702:0crwdne4702:0" + } + } + }, + "create": "crwdns4704:0crwdne4704:0", + "changePassword": { + "label": "crwdns4706:0crwdne4706:0", + "notification": { + "success": { + "message": "crwdns4708:0crwdne4708:0" + }, + "error": { + "message": "crwdns4710:0crwdne4710:0" + } + } + }, + "changeHomeBoard": { + "notification": { + "success": { + "message": "crwdns4712:0crwdne4712:0" + }, + "error": { + "message": "crwdns4714:0crwdne4714:0" + } + } + }, + "changeFirstDayOfWeek": { + "notification": { + "success": { + "message": "crwdns4716:0crwdne4716:0" + }, + "error": { + "message": "crwdns4718:0crwdne4718:0" + } + } + }, + "changePingIconsEnabled": { + "notification": { + "success": { + "message": "crwdns4720:0crwdne4720:0" + }, + "error": { + "message": "crwdns4722:0crwdne4722:0" + } + } + }, + "manageAvatar": { + "changeImage": { + "label": "crwdns4724:0crwdne4724:0", + "notification": { + "success": { + "message": "crwdns4726:0crwdne4726:0" + }, + "error": { + "message": "crwdns4728:0crwdne4728:0" + }, + "toLarge": { + "title": "crwdns4730:0crwdne4730:0", + "message": "crwdns4732:0{size}crwdne4732:0" + } + } + }, + "removeImage": { + "label": "crwdns4734:0crwdne4734:0", + "confirm": "crwdns4736:0crwdne4736:0", + "notification": { + "success": { + "message": "crwdns4738:0crwdne4738:0" + }, + "error": { + "message": "crwdns4740:0crwdne4740:0" + } + } + } + }, + "editProfile": { + "notification": { + "success": { + "message": "crwdns4742:0crwdne4742:0" + }, + "error": { + "message": "crwdns4744:0crwdne4744:0" + } + } + }, + "delete": { + "label": "crwdns4746:0crwdne4746:0", + "description": "crwdns4748:0crwdne4748:0", + "confirm": "crwdns4750:0{username}crwdne4750:0" + }, + "select": { + "label": "crwdns4752:0crwdne4752:0", + "notFound": "crwdns4754:0crwdne4754:0" + }, + "transfer": { + "label": "crwdns4756:0crwdne4756:0" + } + } + }, + "group": { + "title": "crwdns4758:0crwdne4758:0", + "name": "crwdns4760:0crwdne4760:0", + "search": "crwdns4762:0crwdne4762:0", + "field": { + "name": "crwdns4764:0crwdne4764:0", + "members": "crwdns4766:0crwdne4766:0" + }, + "permission": { + "admin": { + "title": "crwdns4768:0crwdne4768:0", + "item": { + "admin": { + "label": "crwdns4770:0crwdne4770:0", + "description": "crwdns4772:0crwdne4772:0" + } + } + }, + "app": { + "title": "crwdns4774:0crwdne4774:0", + "item": { + "create": { + "label": "crwdns4776:0crwdne4776:0", + "description": "crwdns4778:0crwdne4778:0" + }, + "use-all": { + "label": "crwdns4780:0crwdne4780:0", + "description": "crwdns4782:0crwdne4782:0" + }, + "modify-all": { + "label": "crwdns4784:0crwdne4784:0", + "description": "crwdns4786:0crwdne4786:0" + }, + "full-all": { + "label": "crwdns4788:0crwdne4788:0", + "description": "crwdns4790:0crwdne4790:0" + } + } + }, + "board": { + "title": "crwdns4792:0crwdne4792:0", + "item": { + "create": { + "label": "crwdns4794:0crwdne4794:0", + "description": "crwdns4796:0crwdne4796:0" + }, + "view-all": { + "label": "crwdns4798:0crwdne4798:0", + "description": "crwdns4800:0crwdne4800:0" + }, + "modify-all": { + "label": "crwdns4802:0crwdne4802:0", + "description": "crwdns4804:0crwdne4804:0" + }, + "full-all": { + "label": "crwdns4806:0crwdne4806:0", + "description": "crwdns4808:0crwdne4808:0" + } + } + }, + "integration": { + "title": "crwdns4810:0crwdne4810:0", + "item": { + "create": { + "label": "crwdns4812:0crwdne4812:0", + "description": "crwdns4814:0crwdne4814:0" + }, + "use-all": { + "label": "crwdns4816:0crwdne4816:0", + "description": "crwdns4818:0crwdne4818:0" + }, + "interact-all": { + "label": "crwdns4820:0crwdne4820:0", + "description": "crwdns4822:0crwdne4822:0" + }, + "full-all": { + "label": "crwdns4824:0crwdne4824:0", + "description": "crwdns4826:0crwdne4826:0" + } + } + }, + "media": { + "title": "crwdns4828:0crwdne4828:0", + "item": { + "upload": { + "label": "crwdns4830:0crwdne4830:0", + "description": "crwdns4832:0crwdne4832:0" + }, + "view-all": { + "label": "crwdns4834:0crwdne4834:0", + "description": "crwdns4836:0crwdne4836:0" + }, + "full-all": { + "label": "crwdns4838:0crwdne4838:0", + "description": "crwdns4840:0crwdne4840:0" + } + } + }, + "other": { + "title": "crwdns4842:0crwdne4842:0", + "item": { + "view-logs": { + "label": "crwdns4844:0crwdne4844:0", + "description": "crwdns4846:0crwdne4846:0" + } + } + }, + "search-engine": { + "title": "crwdns4848:0crwdne4848:0", + "item": { + "create": { + "label": "crwdns4850:0crwdne4850:0", + "description": "crwdns4852:0crwdne4852:0" + }, + "modify-all": { + "label": "crwdns4854:0crwdne4854:0", + "description": "crwdns4856:0crwdne4856:0" + }, + "full-all": { + "label": "crwdns4858:0crwdne4858:0", + "description": "crwdns4860:0crwdne4860:0" + } + } + } + }, + "memberNotice": { + "mixed": "crwdns4862:0crwdne4862:0", + "external": "crwdns4864:0crwdne4864:0" + }, + "reservedNotice": { + "message": "crwdns4866:0crwdne4866:0" + }, + "action": { + "create": { + "label": "crwdns4868:0crwdne4868:0", + "notification": { + "success": { + "message": "crwdns4870:0crwdne4870:0" + }, + "error": { + "message": "crwdns4872:0crwdne4872:0" + } + } + }, + "transfer": { + "label": "crwdns4874:0crwdne4874:0", + "description": "crwdns4876:0crwdne4876:0", + "confirm": "crwdns4878:0{name}crwdnd4878:0{username}crwdne4878:0", + "notification": { + "success": { + "message": "crwdns4880:0{group}crwdnd4880:0{user}crwdne4880:0" + }, + "error": { + "message": "crwdns4882:0crwdne4882:0" + } + } + }, + "addMember": { + "label": "crwdns4884:0crwdne4884:0" + }, + "removeMember": { + "label": "crwdns4886:0crwdne4886:0", + "confirm": "crwdns4888:0{user}crwdne4888:0" + }, + "delete": { + "label": "crwdns4890:0crwdne4890:0", + "description": "crwdns4892:0crwdne4892:0", + "confirm": "crwdns4894:0{name}crwdne4894:0", + "notification": { + "success": { + "message": "crwdns4896:0{name}crwdne4896:0" + }, + "error": { + "message": "crwdns4898:0{name}crwdne4898:0" + } + } + }, + "changePermissions": { + "notification": { + "success": { + "title": "crwdns4900:0crwdne4900:0", + "message": "crwdns4902:0crwdne4902:0" + }, + "error": { + "title": "crwdns4904:0crwdne4904:0", + "message": "crwdns4906:0crwdne4906:0" + } + } + }, + "update": { + "notification": { + "success": { + "message": "crwdns4908:0{name}crwdne4908:0" + }, + "error": { + "message": "crwdns4910:0{name}crwdne4910:0" + } + } + }, + "select": { + "label": "crwdns4912:0crwdne4912:0", + "notFound": "crwdns4914:0crwdne4914:0" + } + } + }, + "app": { + "page": { + "list": { + "title": "crwdns4916:0crwdne4916:0", + "noResults": { + "title": "crwdns4918:0crwdne4918:0", + "action": "crwdns4920:0crwdne4920:0" + } + }, + "create": { + "title": "crwdns4922:0crwdne4922:0", + "notification": { + "success": { + "title": "crwdns4924:0crwdne4924:0", + "message": "crwdns4926:0crwdne4926:0" + }, + "error": { + "title": "crwdns4928:0crwdne4928:0", + "message": "crwdns4930:0crwdne4930:0" + } + } + }, + "edit": { + "title": "crwdns4932:0crwdne4932:0", + "notification": { + "success": { + "title": "crwdns4934:0crwdne4934:0", + "message": "crwdns4936:0crwdne4936:0" + }, + "error": { + "title": "crwdns4938:0crwdne4938:0", + "message": "crwdns4940:0crwdne4940:0" + } + } + }, + "delete": { + "title": "crwdns4942:0crwdne4942:0", + "message": "crwdns4944:0{name}crwdne4944:0", + "notification": { + "success": { + "title": "crwdns4946:0crwdne4946:0", + "message": "crwdns4948:0crwdne4948:0" + }, + "error": { + "title": "crwdns4950:0crwdne4950:0", + "message": "crwdns4952:0crwdne4952:0" + } + } + } + }, + "field": { + "name": { + "label": "crwdns4954:0crwdne4954:0" + }, + "description": { + "label": "crwdns4956:0crwdne4956:0" + }, + "url": { + "label": "crwdns4958:0crwdne4958:0" + } + }, + "action": { + "select": { + "label": "crwdns4960:0crwdne4960:0", + "notFound": "crwdns4962:0crwdne4962:0" + } + } + }, + "integration": { + "page": { + "list": { + "title": "crwdns4964:0crwdne4964:0", + "search": "crwdns4966:0crwdne4966:0", + "noResults": { + "title": "crwdns4968:0crwdne4968:0" + } + }, + "create": { + "title": "crwdns4970:0{name}crwdne4970:0", + "notification": { + "success": { + "title": "crwdns4972:0crwdne4972:0", + "message": "crwdns4974:0crwdne4974:0" + }, + "error": { + "title": "crwdns4976:0crwdne4976:0", + "message": "crwdns4978:0crwdne4978:0" + } + } + }, + "edit": { + "title": "crwdns4980:0{name}crwdne4980:0", + "notification": { + "success": { + "title": "crwdns4982:0crwdne4982:0", + "message": "crwdns4984:0crwdne4984:0" + }, + "error": { + "title": "crwdns4986:0crwdne4986:0", + "message": "crwdns4988:0crwdne4988:0" + } + } + }, + "delete": { + "title": "crwdns4990:0crwdne4990:0", + "message": "crwdns4992:0{name}crwdne4992:0", + "notification": { + "success": { + "title": "crwdns4994:0crwdne4994:0", + "message": "crwdns4996:0crwdne4996:0" + }, + "error": { + "title": "crwdns4998:0crwdne4998:0", + "message": "crwdns5000:0crwdne5000:0" + } + } + } + }, + "field": { + "name": { + "label": "crwdns5002:0crwdne5002:0" + }, + "url": { + "label": "crwdns5004:0crwdne5004:0" + } + }, + "action": { + "create": "crwdns5006:0crwdne5006:0" + }, + "testConnection": { + "action": { + "create": "crwdns5008:0crwdne5008:0", + "edit": "crwdns5010:0crwdne5010:0" + }, + "alertNotice": "crwdns5012:0crwdne5012:0", + "notification": { + "success": { + "title": "crwdns5014:0crwdne5014:0", + "message": "crwdns5016:0crwdne5016:0" + }, + "invalidUrl": { + "title": "crwdns5018:0crwdne5018:0", + "message": "crwdns5020:0crwdne5020:0" + }, + "secretNotDefined": { + "title": "crwdns5022:0crwdne5022:0", + "message": "crwdns5024:0crwdne5024:0" + }, + "invalidCredentials": { + "title": "crwdns5026:0crwdne5026:0", + "message": "crwdns5028:0crwdne5028:0" + }, + "commonError": { + "title": "crwdns5030:0crwdne5030:0", + "message": "crwdns5032:0crwdne5032:0" + }, + "badRequest": { + "title": "crwdns5034:0crwdne5034:0", + "message": "crwdns5036:0crwdne5036:0" + }, + "unauthorized": { + "title": "crwdns5038:0crwdne5038:0", + "message": "crwdns5040:0crwdne5040:0" + }, + "forbidden": { + "title": "crwdns5042:0crwdne5042:0", + "message": "crwdns5044:0crwdne5044:0" + }, + "notFound": { + "title": "crwdns5046:0crwdne5046:0", + "message": "crwdns5048:0crwdne5048:0" + }, + "internalServerError": { + "title": "crwdns5050:0crwdne5050:0", + "message": "crwdns5052:0crwdne5052:0" + }, + "serviceUnavailable": { + "title": "crwdns5054:0crwdne5054:0", + "message": "crwdns5056:0crwdne5056:0" + }, + "connectionAborted": { + "title": "crwdns5058:0crwdne5058:0", + "message": "crwdns5060:0crwdne5060:0" + }, + "domainNotFound": { + "title": "crwdns5062:0crwdne5062:0", + "message": "crwdns5064:0crwdne5064:0" + }, + "connectionRefused": { + "title": "crwdns5066:0crwdne5066:0", + "message": "crwdns5068:0crwdne5068:0" + }, + "invalidJson": { + "title": "crwdns5070:0crwdne5070:0", + "message": "crwdns5072:0crwdne5072:0" + }, + "wrongPath": { + "title": "crwdns5074:0crwdne5074:0", + "message": "crwdns5076:0crwdne5076:0" + } + } + }, + "secrets": { + "title": "crwdns5078:0crwdne5078:0", + "lastUpdated": "crwdns5080:0{date}crwdne5080:0", + "notSet": { + "label": "crwdns5082:0crwdne5082:0", + "tooltip": "crwdns5084:0crwdne5084:0" + }, + "secureNotice": "crwdns5086:0crwdne5086:0", + "reset": { + "title": "crwdns5088:0crwdne5088:0", + "message": "crwdns5090:0crwdne5090:0" + }, + "noSecretsRequired": { + "segmentTitle": "crwdns5092:0crwdne5092:0", + "text": "crwdns5094:0crwdne5094:0" + }, + "kind": { + "username": { + "label": "crwdns5096:0crwdne5096:0", + "newLabel": "crwdns5098:0crwdne5098:0" + }, + "apiKey": { + "label": "crwdns5100:0crwdne5100:0", + "newLabel": "crwdns5102:0crwdne5102:0" + }, + "password": { + "label": "crwdns5104:0crwdne5104:0", + "newLabel": "crwdns5106:0crwdne5106:0" + } + } + }, + "permission": { + "use": "crwdns5108:0crwdne5108:0", + "interact": "crwdns5110:0crwdne5110:0", + "full": "crwdns5112:0crwdne5112:0" + } + }, + "media": { + "plural": "crwdns5114:0crwdne5114:0", + "search": "crwdns5116:0crwdne5116:0", + "field": { + "name": "crwdns5118:0crwdne5118:0", + "size": "crwdns5120:0crwdne5120:0", + "creator": "crwdns5122:0crwdne5122:0" + }, + "action": { + "upload": { + "label": "crwdns5124:0crwdne5124:0", + "file": "crwdns5126:0crwdne5126:0", + "notification": { + "success": { + "message": "crwdns5128:0crwdne5128:0" + }, + "error": { + "message": "crwdns5130:0crwdne5130:0" + } + } + }, + "delete": { + "label": "crwdns5132:0crwdne5132:0", + "description": "crwdns5134:0crwdne5134:0", + "notification": { + "success": { + "message": "crwdns5136:0crwdne5136:0" + }, + "error": { + "message": "crwdns5138:0crwdne5138:0" + } + } + }, + "copy": { + "label": "crwdns5140:0crwdne5140:0" + } + } + }, + "common": { + "beta": "crwdns5142:0crwdne5142:0", + "error": "crwdns5144:0crwdne5144:0", + "action": { + "add": "crwdns5146:0crwdne5146:0", + "apply": "crwdns5148:0crwdne5148:0", + "backToOverview": "crwdns5150:0crwdne5150:0", + "create": "crwdns5152:0crwdne5152:0", + "edit": "crwdns5154:0crwdne5154:0", + "import": "crwdns5156:0crwdne5156:0", + "insert": "crwdns5158:0crwdne5158:0", + "remove": "crwdns5160:0crwdne5160:0", + "save": "crwdns5162:0crwdne5162:0", + "saveChanges": "crwdns5164:0crwdne5164:0", + "cancel": "crwdns5166:0crwdne5166:0", + "delete": "crwdns5168:0crwdne5168:0", + "discard": "crwdns5170:0crwdne5170:0", + "confirm": "crwdns5172:0crwdne5172:0", + "continue": "crwdns5174:0crwdne5174:0", + "previous": "crwdns5176:0crwdne5176:0", + "next": "crwdns5178:0crwdne5178:0", + "checkoutDocs": "crwdns5180:0crwdne5180:0", + "checkLogs": "crwdns5182:0crwdne5182:0", + "tryAgain": "crwdns5184:0crwdne5184:0", + "loading": "crwdns5186:0crwdne5186:0" + }, + "here": "crwdns5188:0crwdne5188:0", + "iconPicker": { + "label": "crwdns5190:0crwdne5190:0", + "header": "crwdns5192:0{countIcons}crwdne5192:0" + }, + "colorScheme": { + "options": { + "light": "crwdns5194:0crwdne5194:0", + "dark": "crwdns5196:0crwdne5196:0" + } + }, + "information": { + "min": "crwdns5198:0crwdne5198:0", + "max": "crwdns5200:0crwdne5200:0", + "days": "crwdns5202:0crwdne5202:0", + "hours": "crwdns5204:0crwdne5204:0", + "minutes": "crwdns5206:0crwdne5206:0" + }, + "notification": { + "create": { + "success": "crwdns5208:0crwdne5208:0", + "error": "crwdns5210:0crwdne5210:0" + }, + "delete": { + "success": "crwdns5212:0crwdne5212:0", + "error": "crwdns5214:0crwdne5214:0" + }, + "update": { + "success": "crwdns5216:0crwdne5216:0", + "error": "crwdns5218:0crwdne5218:0" + }, + "transfer": { + "success": "crwdns5220:0crwdne5220:0", + "error": "crwdns5222:0crwdne5222:0" + } + }, + "multiSelect": { + "placeholder": "crwdns5224:0crwdne5224:0" + }, + "multiText": { + "placeholder": "crwdns5226:0crwdne5226:0", + "addLabel": "crwdns5228:0{value}crwdne5228:0" + }, + "select": { + "placeholder": "crwdns5230:0crwdne5230:0", + "badge": { + "recommended": "crwdns5232:0crwdne5232:0" + } + }, + "userAvatar": { + "menu": { + "switchToDarkMode": "crwdns5234:0crwdne5234:0", + "switchToLightMode": "crwdns5236:0crwdne5236:0", + "management": "crwdns5238:0crwdne5238:0", + "preferences": "crwdns5240:0crwdne5240:0", + "logout": "crwdns5242:0crwdne5242:0", + "login": "crwdns5244:0crwdne5244:0", + "homeBoard": "crwdns5246:0crwdne5246:0", + "loggedOut": "crwdns5248:0crwdne5248:0", + "updateAvailable": "crwdns5250:0{countUpdates}crwdnd5250:0{tag}crwdne5250:0" + } + }, + "dangerZone": "crwdns5252:0crwdne5252:0", + "noResults": "crwdns5254:0crwdne5254:0", + "preview": { + "show": "crwdns5256:0crwdne5256:0", + "hide": "crwdns5258:0crwdne5258:0" + }, + "zod": { + "errors": { + "default": "crwdns5260:0crwdne5260:0", + "required": "crwdns5262:0crwdne5262:0", + "string": { + "startsWith": "crwdns5264:0{startsWith}crwdne5264:0", + "endsWith": "crwdns5266:0{endsWith}crwdne5266:0", + "includes": "crwdns5268:0{includes}crwdne5268:0", + "invalidEmail": "crwdns5270:0crwdne5270:0" + }, + "tooSmall": { + "string": "crwdns5272:0{minimum}crwdne5272:0", + "number": "crwdns5274:0{minimum}crwdne5274:0" + }, + "tooBig": { + "string": "crwdns5276:0{maximum}crwdne5276:0", + "number": "crwdns5278:0{maximum}crwdne5278:0" + }, + "custom": { + "passwordsDoNotMatch": "crwdns5280:0crwdne5280:0", + "passwordRequirements": "crwdns5282:0crwdne5282:0", + "boardAlreadyExists": "crwdns5284:0crwdne5284:0", + "invalidFileType": "crwdns5286:0{expected}crwdne5286:0", + "fileTooLarge": "crwdns5288:0{maxSize}crwdne5288:0", + "invalidConfiguration": "crwdns5290:0crwdne5290:0", + "groupNameTaken": "crwdns5292:0crwdne5292:0" + } + } + } + }, + "section": { + "dynamic": { + "action": { + "create": "crwdns5294:0crwdne5294:0", + "remove": "crwdns5296:0crwdne5296:0" + }, + "remove": { + "title": "crwdns5298:0crwdne5298:0", + "message": "crwdns5300:0crwdne5300:0" + } + }, + "category": { + "field": { + "name": { + "label": "crwdns5302:0crwdne5302:0" + } + }, + "action": { + "create": "crwdns5304:0crwdne5304:0", + "edit": "crwdns5306:0crwdne5306:0", + "remove": "crwdns5308:0crwdne5308:0", + "moveUp": "crwdns5310:0crwdne5310:0", + "moveDown": "crwdns5312:0crwdne5312:0", + "createAbove": "crwdns5314:0crwdne5314:0", + "createBelow": "crwdns5316:0crwdne5316:0" + }, + "create": { + "title": "crwdns5318:0crwdne5318:0", + "submit": "crwdns5320:0crwdne5320:0" + }, + "remove": { + "title": "crwdns5322:0crwdne5322:0", + "message": "crwdns5324:0{name}crwdne5324:0" + }, + "edit": { + "title": "crwdns5326:0crwdne5326:0", + "submit": "crwdns5328:0crwdne5328:0" + }, + "menu": { + "label": { + "create": "crwdns5330:0crwdne5330:0", + "changePosition": "crwdns5332:0crwdne5332:0" + } + } + } + }, + "item": { + "action": { + "create": "crwdns5334:0crwdne5334:0", + "import": "crwdns5336:0crwdne5336:0", + "edit": "crwdns5338:0crwdne5338:0", + "moveResize": "crwdns5340:0crwdne5340:0", + "duplicate": "crwdns5342:0crwdne5342:0", + "remove": "crwdns5344:0crwdne5344:0" + }, + "menu": { + "label": { + "settings": "crwdns5346:0crwdne5346:0" + } + }, + "create": { + "title": "crwdns5348:0crwdne5348:0", + "addToBoard": "crwdns5350:0crwdne5350:0" + }, + "moveResize": { + "title": "crwdns5352:0crwdne5352:0", + "field": { + "width": { + "label": "crwdns5354:0crwdne5354:0" + }, + "height": { + "label": "crwdns5356:0crwdne5356:0" + }, + "xOffset": { + "label": "crwdns5358:0crwdne5358:0" + }, + "yOffset": { + "label": "crwdns5360:0crwdne5360:0" + } + } + }, + "edit": { + "title": "crwdns5362:0crwdne5362:0", + "advancedOptions": { + "label": "crwdns5364:0crwdne5364:0", + "title": "crwdns5366:0crwdne5366:0" + }, + "field": { + "integrations": { + "label": "crwdns5368:0crwdne5368:0" + }, + "customCssClasses": { + "label": "crwdns5370:0crwdne5370:0" + } + } + }, + "remove": { + "title": "crwdns5372:0crwdne5372:0", + "message": "crwdns5374:0crwdne5374:0" + } + }, + "widget": { + "app": { + "name": "crwdns5376:0crwdne5376:0", + "description": "crwdns5378:0crwdne5378:0", + "option": { + "appId": { + "label": "crwdns5380:0crwdne5380:0" + }, + "openInNewTab": { + "label": "crwdns5382:0crwdne5382:0" + }, + "showTitle": { + "label": "crwdns5384:0crwdne5384:0" + }, + "showDescriptionTooltip": { + "label": "crwdns5386:0crwdne5386:0" + }, + "pingEnabled": { + "label": "crwdns5388:0crwdne5388:0" + } + }, + "error": { + "notFound": { + "label": "crwdns5390:0crwdne5390:0", + "tooltip": "crwdns5392:0crwdne5392:0" + } + } + }, + "bookmarks": { + "name": "crwdns5394:0crwdne5394:0", + "description": "crwdns5396:0crwdne5396:0", + "option": { + "title": { + "label": "crwdns5398:0crwdne5398:0" + }, + "layout": { + "label": "crwdns5400:0crwdne5400:0", + "option": { + "row": { + "label": "crwdns5402:0crwdne5402:0" + }, + "column": { + "label": "crwdns5404:0crwdne5404:0" + }, + "grid": { + "label": "crwdns5406:0crwdne5406:0" + } + } + }, + "items": { + "label": "crwdns5408:0crwdne5408:0", + "add": "crwdns5410:0crwdne5410:0" + } + } + }, + "dnsHoleSummary": { + "name": "crwdns5412:0crwdne5412:0", + "description": "crwdns5414:0crwdne5414:0", + "option": { + "layout": { + "label": "crwdns5416:0crwdne5416:0", + "option": { + "row": { + "label": "crwdns5418:0crwdne5418:0" + }, + "column": { + "label": "crwdns5420:0crwdne5420:0" + }, + "grid": { + "label": "crwdns5422:0crwdne5422:0" + } + } + }, + "usePiHoleColors": { + "label": "crwdns5424:0crwdne5424:0" + } + }, + "error": { + "internalServerError": "crwdns5426:0crwdne5426:0", + "integrationsDisconnected": "crwdns5428:0crwdne5428:0" + }, + "data": { + "adsBlockedToday": "crwdns5430:0crwdne5430:0", + "adsBlockedTodayPercentage": "crwdns5432:0crwdne5432:0", + "dnsQueriesToday": "crwdns5434:0crwdne5434:0", + "domainsBeingBlocked": "crwdns5436:0crwdne5436:0" + } + }, + "dnsHoleControls": { + "name": "crwdns5438:0crwdne5438:0", + "description": "crwdns5440:0crwdne5440:0", + "option": { + "layout": { + "label": "crwdns5442:0crwdne5442:0", + "option": { + "row": { + "label": "crwdns5444:0crwdne5444:0" + }, + "column": { + "label": "crwdns5446:0crwdne5446:0" + }, + "grid": { + "label": "crwdns5448:0crwdne5448:0" + } + } + }, + "showToggleAllButtons": { + "label": "crwdns5450:0crwdne5450:0" + } + }, + "error": { + "internalServerError": "crwdns5452:0crwdne5452:0" + }, + "controls": { + "enableAll": "crwdns5454:0crwdne5454:0", + "disableAll": "crwdns5456:0crwdne5456:0", + "setTimer": "crwdns5458:0crwdne5458:0", + "set": "crwdns5460:0crwdne5460:0", + "enabled": "crwdns5462:0crwdne5462:0", + "disabled": "crwdns5464:0crwdne5464:0", + "processing": "crwdns5466:0crwdne5466:0", + "disconnected": "crwdns5468:0crwdne5468:0", + "hours": "crwdns5470:0crwdne5470:0", + "minutes": "crwdns5472:0crwdne5472:0", + "unlimited": "crwdns5474:0crwdne5474:0" + } + }, + "clock": { + "name": "crwdns5476:0crwdne5476:0", + "description": "crwdns5478:0crwdne5478:0", + "option": { + "customTitleToggle": { + "label": "crwdns5480:0crwdne5480:0", + "description": "crwdns5482:0crwdne5482:0" + }, + "customTitle": { + "label": "crwdns5484:0crwdne5484:0" + }, + "is24HourFormat": { + "label": "crwdns5486:0crwdne5486:0", + "description": "crwdns5488:0crwdne5488:0" + }, + "showSeconds": { + "label": "crwdns5490:0crwdne5490:0" + }, + "useCustomTimezone": { + "label": "crwdns5492:0crwdne5492:0" + }, + "timezone": { + "label": "crwdns5494:0crwdne5494:0", + "description": "crwdns5496:0crwdne5496:0" + }, + "showDate": { + "label": "crwdns5498:0crwdne5498:0" + }, + "dateFormat": { + "label": "crwdns5500:0crwdne5500:0", + "description": "crwdns5502:0crwdne5502:0" + } + } + }, + "notebook": { + "name": "crwdns5504:0crwdne5504:0", + "description": "crwdns5506:0crwdne5506:0", + "option": { + "showToolbar": { + "label": "crwdns5508:0crwdne5508:0" + }, + "allowReadOnlyCheck": { + "label": "crwdns5510:0crwdne5510:0" + }, + "content": { + "label": "crwdns5512:0crwdne5512:0" + } + }, + "controls": { + "bold": "crwdns5514:0crwdne5514:0", + "italic": "crwdns5516:0crwdne5516:0", + "strikethrough": "crwdns5518:0crwdne5518:0", + "underline": "crwdns5520:0crwdne5520:0", + "colorText": "crwdns5522:0crwdne5522:0", + "colorHighlight": "crwdns5524:0crwdne5524:0", + "code": "crwdns5526:0crwdne5526:0", + "clear": "crwdns5528:0crwdne5528:0", + "heading": "crwdns5530:0{level}crwdne5530:0", + "align": "crwdns5532:0{position}crwdne5532:0", + "blockquote": "crwdns5534:0crwdne5534:0", + "horizontalLine": "crwdns5536:0crwdne5536:0", + "bulletList": "crwdns5538:0crwdne5538:0", + "orderedList": "crwdns5540:0crwdne5540:0", + "checkList": "crwdns5542:0crwdne5542:0", + "increaseIndent": "crwdns5544:0crwdne5544:0", + "decreaseIndent": "crwdns5546:0crwdne5546:0", + "link": "crwdns5548:0crwdne5548:0", + "unlink": "crwdns5550:0crwdne5550:0", + "image": "crwdns5552:0crwdne5552:0", + "addTable": "crwdns5554:0crwdne5554:0", + "deleteTable": "crwdns5556:0crwdne5556:0", + "colorCell": "crwdns5558:0crwdne5558:0", + "mergeCell": "crwdns5560:0crwdne5560:0", + "addColumnLeft": "crwdns5562:0crwdne5562:0", + "addColumnRight": "crwdns5564:0crwdne5564:0", + "deleteColumn": "crwdns5566:0crwdne5566:0", + "addRowTop": "crwdns5568:0crwdne5568:0", + "addRowBelow": "crwdns5570:0crwdne5570:0", + "deleteRow": "crwdns5572:0crwdne5572:0" + }, + "align": { + "left": "crwdns5574:0crwdne5574:0", + "center": "crwdns5576:0crwdne5576:0", + "right": "crwdns5578:0crwdne5578:0" + }, + "popover": { + "clearColor": "crwdns5580:0crwdne5580:0", + "source": "crwdns5582:0crwdne5582:0", + "widthPlaceholder": "crwdns5584:0crwdne5584:0", + "columns": "crwdns5586:0crwdne5586:0", + "rows": "crwdns5588:0crwdne5588:0", + "width": "crwdns5590:0crwdne5590:0", + "height": "crwdns5592:0crwdne5592:0" + } + }, + "iframe": { + "name": "crwdns5594:0crwdne5594:0", + "description": "crwdns5596:0crwdne5596:0", + "option": { + "embedUrl": { + "label": "crwdns5598:0crwdne5598:0" + }, + "allowFullScreen": { + "label": "crwdns5600:0crwdne5600:0" + }, + "allowTransparency": { + "label": "crwdns5602:0crwdne5602:0" + }, + "allowScrolling": { + "label": "crwdns5604:0crwdne5604:0" + }, + "allowPayment": { + "label": "crwdns5606:0crwdne5606:0" + }, + "allowAutoPlay": { + "label": "crwdns5608:0crwdne5608:0" + }, + "allowMicrophone": { + "label": "crwdns5610:0crwdne5610:0" + }, + "allowCamera": { + "label": "crwdns5612:0crwdne5612:0" + }, + "allowGeolocation": { + "label": "crwdns5614:0crwdne5614:0" + } + }, + "error": { + "noUrl": "crwdns5616:0crwdne5616:0", + "noBrowerSupport": "crwdns5618:0crwdne5618:0" + } + }, + "smartHome-entityState": { + "name": "crwdns5620:0crwdne5620:0", + "description": "crwdns5622:0crwdne5622:0", + "option": { + "entityId": { + "label": "crwdns5624:0crwdne5624:0" + }, + "displayName": { + "label": "crwdns5626:0crwdne5626:0" + }, + "entityUnit": { + "label": "crwdns5628:0crwdne5628:0" + }, + "clickable": { + "label": "crwdns5630:0crwdne5630:0" + } + } + }, + "smartHome-executeAutomation": { + "name": "crwdns5632:0crwdne5632:0", + "description": "crwdns5634:0crwdne5634:0", + "option": { + "displayName": { + "label": "crwdns5636:0crwdne5636:0" + }, + "automationId": { + "label": "crwdns5638:0crwdne5638:0" + } + }, + "spotlightAction": { + "run": "crwdns5640:0{name}crwdne5640:0" + } + }, + "calendar": { + "name": "crwdns5642:0crwdne5642:0", + "description": "crwdns5644:0crwdne5644:0", + "option": { + "releaseType": { + "label": "crwdns5646:0crwdne5646:0", + "options": { + "inCinemas": "crwdns5648:0crwdne5648:0", + "digitalRelease": "crwdns5650:0crwdne5650:0", + "physicalRelease": "crwdns5652:0crwdne5652:0" + } + }, + "filterPastMonths": { + "label": "crwdns5654:0crwdne5654:0" + }, + "filterFutureMonths": { + "label": "crwdns5656:0crwdne5656:0" + } + } + }, + "weather": { + "name": "crwdns5658:0crwdne5658:0", + "description": "crwdns5660:0crwdne5660:0", + "option": { + "isFormatFahrenheit": { + "label": "crwdns5662:0crwdne5662:0" + }, + "location": { + "label": "crwdns5664:0crwdne5664:0" + }, + "showCity": { + "label": "crwdns5666:0crwdne5666:0" + }, + "hasForecast": { + "label": "crwdns5668:0crwdne5668:0" + }, + "forecastDayCount": { + "label": "crwdns5670:0crwdne5670:0", + "description": "crwdns5672:0crwdne5672:0" + }, + "dateFormat": { + "label": "crwdns5674:0crwdne5674:0", + "description": "crwdns5676:0crwdne5676:0" + } + }, + "kind": { + "clear": "crwdns5678:0crwdne5678:0", + "mainlyClear": "crwdns5680:0crwdne5680:0", + "fog": "crwdns5682:0crwdne5682:0", + "drizzle": "crwdns5684:0crwdne5684:0", + "freezingDrizzle": "crwdns5686:0crwdne5686:0", + "rain": "crwdns5688:0crwdne5688:0", + "freezingRain": "crwdns5690:0crwdne5690:0", + "snowFall": "crwdns5692:0crwdne5692:0", + "snowGrains": "crwdns5694:0crwdne5694:0", + "rainShowers": "crwdns5696:0crwdne5696:0", + "snowShowers": "crwdns5698:0crwdne5698:0", + "thunderstorm": "crwdns5700:0crwdne5700:0", + "thunderstormWithHail": "crwdns5702:0crwdne5702:0", + "unknown": "crwdns5704:0crwdne5704:0" + } + }, + "indexerManager": { + "name": "crwdns5706:0crwdne5706:0", + "description": "crwdns5708:0crwdne5708:0", + "option": { + "openIndexerSiteInNewTab": { + "label": "crwdns5710:0crwdne5710:0" + } + }, + "title": "crwdns5712:0crwdne5712:0", + "testAll": "crwdns5714:0crwdne5714:0", + "error": { + "internalServerError": "crwdns5716:0crwdne5716:0" + } + }, + "healthMonitoring": { + "name": "crwdns5718:0crwdne5718:0", + "description": "crwdns5720:0crwdne5720:0", + "option": { + "fahrenheit": { + "label": "crwdns5722:0crwdne5722:0" + }, + "cpu": { + "label": "crwdns5724:0crwdne5724:0" + }, + "memory": { + "label": "crwdns5726:0crwdne5726:0" + }, + "fileSystem": { + "label": "crwdns5728:0crwdne5728:0" + } + }, + "popover": { + "information": "crwdns5730:0crwdne5730:0", + "processor": "crwdns5732:0{cpuModelName}crwdne5732:0", + "memory": "crwdns5734:0{memory}crwdne5734:0", + "memoryAvailable": "crwdns5736:0{memoryAvailable}crwdnd5736:0{percent}crwdne5736:0", + "version": "crwdns5738:0{version}crwdne5738:0", + "uptime": "crwdns5740:0{days}crwdnd5740:0{hours}crwdnd5740:0{minutes}crwdne5740:0", + "loadAverage": "crwdns5742:0crwdne5742:0", + "minute": "crwdns5744:0crwdne5744:0", + "minutes": "crwdns5746:0{count}crwdne5746:0", + "used": "crwdns5748:0crwdne5748:0", + "available": "crwdns5750:0crwdne5750:0", + "lastSeen": "crwdns5752:0{lastSeen}crwdne5752:0" + }, + "memory": {}, + "error": { + "internalServerError": "crwdns5754:0crwdne5754:0" + } + }, + "common": { + "location": { + "query": "crwdns5756:0crwdne5756:0", + "latitude": "crwdns5758:0crwdne5758:0", + "longitude": "crwdns5760:0crwdne5760:0", + "disabledTooltip": "crwdns5762:0crwdne5762:0", + "unknownLocation": "crwdns5764:0crwdne5764:0", + "search": "crwdns5766:0crwdne5766:0", + "table": { + "header": { + "city": "crwdns5768:0crwdne5768:0", + "country": "crwdns5770:0crwdne5770:0", + "coordinates": "crwdns5772:0crwdne5772:0", + "population": "crwdns5774:0crwdne5774:0" + }, + "action": { + "select": "crwdns5776:0{city}crwdnd5776:0{countryCode}crwdne5776:0" + }, + "population": { + "fallback": "crwdns5778:0crwdne5778:0" + } + } + }, + "integration": { + "noData": "crwdns5780:0crwdne5780:0", + "description": "crwdns5782:0crwdne5782:0" + }, + "app": { + "noData": "crwdns5784:0crwdne5784:0", + "description": "crwdns5786:0crwdne5786:0" + }, + "error": { + "noIntegration": "crwdns5788:0crwdne5788:0", + "noData": "crwdns5790:0crwdne5790:0" + }, + "option": {} + }, + "video": { + "name": "crwdns5792:0crwdne5792:0", + "description": "crwdns5794:0crwdne5794:0", + "option": { + "feedUrl": { + "label": "crwdns5796:0crwdne5796:0" + }, + "hasAutoPlay": { + "label": "crwdns5798:0crwdne5798:0", + "description": "crwdns5800:0crwdne5800:0" + }, + "isMuted": { + "label": "crwdns5802:0crwdne5802:0" + }, + "hasControls": { + "label": "crwdns5804:0crwdne5804:0" + } + }, + "error": { + "noUrl": "crwdns5806:0crwdne5806:0", + "forYoutubeUseIframe": "crwdns5808:0crwdne5808:0" + } + }, + "mediaServer": { + "name": "crwdns5810:0crwdne5810:0", + "description": "crwdns5812:0crwdne5812:0", + "option": {} + }, + "downloads": { + "name": "crwdns5814:0crwdne5814:0", + "description": "crwdns5816:0crwdne5816:0", + "option": { + "columns": { + "label": "crwdns5818:0crwdne5818:0" + }, + "enableRowSorting": { + "label": "crwdns5820:0crwdne5820:0" + }, + "defaultSort": { + "label": "crwdns5822:0crwdne5822:0" + }, + "descendingDefaultSort": { + "label": "crwdns5824:0crwdne5824:0" + }, + "showCompletedUsenet": { + "label": "crwdns5826:0crwdne5826:0" + }, + "showCompletedTorrent": { + "label": "crwdns5828:0crwdne5828:0" + }, + "activeTorrentThreshold": { + "label": "crwdns5830:0crwdne5830:0" + }, + "categoryFilter": { + "label": "crwdns5832:0crwdne5832:0" + }, + "filterIsWhitelist": { + "label": "crwdns5834:0crwdne5834:0" + }, + "applyFilterToRatio": { + "label": "crwdns5836:0crwdne5836:0" + } + }, + "errors": { + "noColumns": "crwdns5838:0crwdne5838:0", + "noCommunications": "crwdns5840:0crwdne5840:0" + }, + "items": { + "actions": { + "columnTitle": "crwdns5842:0crwdne5842:0" + }, + "added": { + "columnTitle": "crwdns5844:0crwdne5844:0", + "detailsTitle": "crwdns5846:0crwdne5846:0" + }, + "category": { + "columnTitle": "crwdns5848:0crwdne5848:0", + "detailsTitle": "crwdns5850:0crwdne5850:0" + }, + "downSpeed": { + "columnTitle": "crwdns5852:0crwdne5852:0", + "detailsTitle": "crwdns5854:0crwdne5854:0" + }, + "index": { + "columnTitle": "crwdns5856:0crwdne5856:0", + "detailsTitle": "crwdns5858:0crwdne5858:0" + }, + "id": { + "columnTitle": "crwdns5860:0crwdne5860:0" + }, + "integration": { + "columnTitle": "crwdns5862:0crwdne5862:0" + }, + "name": { + "columnTitle": "crwdns5864:0crwdne5864:0" + }, + "progress": { + "columnTitle": "crwdns5866:0crwdne5866:0", + "detailsTitle": "crwdns5868:0crwdne5868:0" + }, + "ratio": { + "columnTitle": "crwdns5870:0crwdne5870:0", + "detailsTitle": "crwdns5872:0crwdne5872:0" + }, + "received": { + "columnTitle": "crwdns5874:0crwdne5874:0", + "detailsTitle": "crwdns5876:0crwdne5876:0" + }, + "sent": { + "columnTitle": "crwdns5878:0crwdne5878:0", + "detailsTitle": "crwdns5880:0crwdne5880:0" + }, + "size": { + "columnTitle": "crwdns5882:0crwdne5882:0", + "detailsTitle": "crwdns5884:0crwdne5884:0" + }, + "state": { + "columnTitle": "crwdns5886:0crwdne5886:0", + "detailsTitle": "crwdns5888:0crwdne5888:0" + }, + "time": { + "columnTitle": "crwdns5890:0crwdne5890:0", + "detailsTitle": "crwdns5892:0crwdne5892:0" + }, + "type": { + "columnTitle": "crwdns5894:0crwdne5894:0", + "detailsTitle": "crwdns5896:0crwdne5896:0" + }, + "upSpeed": { + "columnTitle": "crwdns5898:0crwdne5898:0", + "detailsTitle": "crwdns5900:0crwdne5900:0" + } + }, + "states": { + "downloading": "crwdns5902:0crwdne5902:0", + "queued": "crwdns5904:0crwdne5904:0", + "paused": "crwdns5906:0crwdne5906:0", + "completed": "crwdns5908:0crwdne5908:0", + "failed": "crwdns5910:0crwdne5910:0", + "processing": "crwdns5912:0crwdne5912:0", + "leeching": "crwdns5914:0crwdne5914:0", + "stalled": "crwdns5916:0crwdne5916:0", + "unknown": "crwdns5918:0crwdne5918:0", + "seeding": "crwdns5920:0crwdne5920:0" + }, + "actions": { + "clients": { + "modalTitle": "crwdns5922:0crwdne5922:0", + "pause": "crwdns5924:0crwdne5924:0", + "resume": "crwdns5926:0crwdne5926:0" + }, + "client": { + "pause": "crwdns5928:0crwdne5928:0", + "resume": "crwdns5930:0crwdne5930:0" + }, + "item": { + "pause": "crwdns5932:0crwdne5932:0", + "resume": "crwdns5934:0crwdne5934:0", + "delete": { + "title": "crwdns5936:0crwdne5936:0", + "modalTitle": "crwdns5938:0crwdne5938:0", + "entry": "crwdns5940:0crwdne5940:0", + "entryAndFiles": "crwdns5942:0crwdne5942:0" + } + } + }, + "globalRatio": "crwdns5944:0crwdne5944:0" + }, + "mediaRequests-requestList": { + "name": "crwdns5946:0crwdne5946:0", + "description": "crwdns5948:0crwdne5948:0", + "option": { + "linksTargetNewTab": { + "label": "crwdns5950:0crwdne5950:0" + } + }, + "pending": { + "approve": "crwdns5952:0crwdne5952:0", + "approving": "crwdns5954:0crwdne5954:0", + "decline": "crwdns5956:0crwdne5956:0" + }, + "availability": { + "unknown": "crwdns5958:0crwdne5958:0", + "pending": "crwdns5960:0crwdne5960:0", + "processing": "crwdns5962:0crwdne5962:0", + "partiallyAvailable": "crwdns5964:0crwdne5964:0", + "available": "crwdns5966:0crwdne5966:0" + }, + "toBeDetermined": "crwdns5968:0crwdne5968:0" + }, + "mediaRequests-requestStats": { + "name": "crwdns5970:0crwdne5970:0", + "description": "crwdns5972:0crwdne5972:0", + "option": {}, + "titles": { + "stats": { + "main": "crwdns5974:0crwdne5974:0", + "approved": "crwdns5976:0crwdne5976:0", + "pending": "crwdns5978:0crwdne5978:0", + "processing": "crwdns5980:0crwdne5980:0", + "declined": "crwdns5982:0crwdne5982:0", + "available": "crwdns5984:0crwdne5984:0", + "tv": "crwdns5986:0crwdne5986:0", + "movie": "crwdns5988:0crwdne5988:0", + "total": "crwdns5990:0crwdne5990:0" + }, + "users": { + "main": "crwdns5992:0crwdne5992:0", + "requests": "crwdns5994:0crwdne5994:0" + } + } + }, + "mediaTranscoding": { + "name": "crwdns5996:0crwdne5996:0", + "description": "crwdns5998:0crwdne5998:0", + "option": { + "defaultView": { + "label": "crwdns6000:0crwdne6000:0" + }, + "queuePageSize": { + "label": "crwdns6002:0crwdne6002:0" + } + }, + "tab": { + "workers": "crwdns6004:0crwdne6004:0", + "queue": "crwdns6006:0crwdne6006:0", + "statistics": "crwdns6008:0crwdne6008:0" + }, + "currentIndex": "crwdns6010:0{start}crwdnd6010:0{end}crwdnd6010:0{total}crwdne6010:0", + "healthCheck": { + "title": "crwdns6012:0crwdne6012:0", + "queued": "crwdns6014:0crwdne6014:0", + "status": { + "healthy": "crwdns6016:0crwdne6016:0", + "unhealthy": "crwdns6018:0crwdne6018:0" + } + }, + "panel": { + "statistics": { + "empty": "crwdns6020:0crwdne6020:0", + "transcodes": "crwdns6022:0crwdne6022:0", + "transcodesCount": "crwdns6024:0{value}crwdne6024:0", + "healthChecksCount": "crwdns6026:0{value}crwdne6026:0", + "filesCount": "crwdns6028:0{value}crwdne6028:0", + "savedSpace": "crwdns6030:0{value}crwdne6030:0", + "healthChecks": "crwdns6032:0crwdne6032:0", + "videoCodecs": "crwdns6034:0crwdne6034:0", + "videoContainers": "crwdns6036:0crwdne6036:0", + "videoResolutions": "crwdns6038:0crwdne6038:0" + }, + "workers": { + "empty": "crwdns6040:0crwdne6040:0", + "table": { + "file": "crwdns6042:0crwdne6042:0", + "eta": "crwdns6044:0crwdne6044:0", + "progress": "crwdns6046:0crwdne6046:0", + "transcode": "crwdns6048:0crwdne6048:0", + "healthCheck": "crwdns6050:0crwdne6050:0" + } + }, + "queue": { + "empty": "crwdns6052:0crwdne6052:0", + "table": { + "file": "crwdns6054:0crwdne6054:0", + "size": "crwdns6056:0crwdne6056:0", + "transcode": "crwdns6058:0crwdne6058:0", + "healthCheck": "crwdns6060:0crwdne6060:0" + } + } + } + }, + "rssFeed": { + "name": "crwdns6062:0crwdne6062:0", + "description": "crwdns6064:0crwdne6064:0", + "option": { + "feedUrls": { + "label": "crwdns6066:0crwdne6066:0" + }, + "enableRtl": { + "label": "crwdns6068:0crwdne6068:0" + }, + "textLinesClamp": { + "label": "crwdns6070:0crwdne6070:0" + }, + "maximumAmountPosts": { + "label": "crwdns6072:0crwdne6072:0" + } + } + } + }, + "widgetPreview": { + "toggle": { + "enabled": "crwdns6074:0crwdne6074:0", + "disabled": "crwdns6076:0crwdne6076:0" + }, + "dimensions": { + "title": "crwdns6078:0crwdne6078:0" + } + }, + "board": { + "action": { + "edit": { + "notification": { + "success": { + "title": "crwdns6080:0crwdne6080:0", + "message": "crwdns6082:0crwdne6082:0" + }, + "error": { + "title": "crwdns6084:0crwdne6084:0", + "message": "crwdns6086:0crwdne6086:0" + } + }, + "confirmLeave": { + "title": "crwdns6088:0crwdne6088:0", + "message": "crwdns6090:0crwdne6090:0" + } + }, + "oldImport": { + "label": "crwdns6092:0crwdne6092:0", + "notification": { + "success": { + "title": "crwdns6094:0crwdne6094:0", + "message": "crwdns6096:0crwdne6096:0" + }, + "error": { + "title": "crwdns6098:0crwdne6098:0", + "message": "crwdns6100:0crwdne6100:0" + } + }, + "form": { + "file": { + "label": "crwdns6102:0crwdne6102:0", + "invalidError": "crwdns6104:0crwdne6104:0" + }, + "apps": { + "label": "crwdns6106:0crwdne6106:0", + "avoidDuplicates": { + "label": "crwdns6108:0crwdne6108:0", + "description": "crwdns6110:0crwdne6110:0" + }, + "onlyImportApps": { + "label": "crwdns6112:0crwdne6112:0", + "description": "crwdns6114:0crwdne6114:0" + } + }, + "name": { + "label": "crwdns6116:0crwdne6116:0" + }, + "screenSize": { + "label": "crwdns6118:0crwdne6118:0", + "description": "crwdns6120:0crwdne6120:0", + "option": { + "sm": "crwdns6122:0crwdne6122:0", + "md": "crwdns6124:0crwdne6124:0", + "lg": "crwdns6126:0crwdne6126:0" + } + }, + "sidebarBehavior": { + "label": "crwdns6128:0crwdne6128:0", + "description": "crwdns6130:0crwdne6130:0", + "option": { + "lastSection": { + "label": "crwdns6132:0crwdne6132:0", + "description": "crwdns6134:0crwdne6134:0" + }, + "removeItems": { + "label": "crwdns6136:0crwdne6136:0", + "description": "crwdns6138:0crwdne6138:0" + } + } + } + } + } + }, + "field": { + "pageTitle": { + "label": "crwdns6140:0crwdne6140:0" + }, + "metaTitle": { + "label": "crwdns6142:0crwdne6142:0" + }, + "logoImageUrl": { + "label": "crwdns6144:0crwdne6144:0" + }, + "faviconImageUrl": { + "label": "crwdns6146:0crwdne6146:0" + }, + "backgroundImageUrl": { + "label": "crwdns6148:0crwdne6148:0" + }, + "backgroundImageAttachment": { + "label": "crwdns6150:0crwdne6150:0", + "option": { + "fixed": { + "label": "crwdns6152:0crwdne6152:0", + "description": "crwdns6154:0crwdne6154:0" + }, + "scroll": { + "label": "crwdns6156:0crwdne6156:0", + "description": "crwdns6158:0crwdne6158:0" + } + } + }, + "backgroundImageRepeat": { + "label": "crwdns6160:0crwdne6160:0", + "option": { + "repeat": { + "label": "crwdns6162:0crwdne6162:0", + "description": "crwdns6164:0crwdne6164:0" + }, + "no-repeat": { + "label": "crwdns6166:0crwdne6166:0", + "description": "crwdns6168:0crwdne6168:0" + }, + "repeat-x": { + "label": "crwdns6170:0crwdne6170:0", + "description": "crwdns6172:0crwdne6172:0" + }, + "repeat-y": { + "label": "crwdns6174:0crwdne6174:0", + "description": "crwdns6176:0crwdne6176:0" + } + } + }, + "backgroundImageSize": { + "label": "crwdns6178:0crwdne6178:0", + "option": { + "cover": { + "label": "crwdns6180:0crwdne6180:0", + "description": "crwdns6182:0crwdne6182:0" + }, + "contain": { + "label": "crwdns6184:0crwdne6184:0", + "description": "crwdns6186:0crwdne6186:0" + } + } + }, + "primaryColor": { + "label": "crwdns6188:0crwdne6188:0" + }, + "secondaryColor": { + "label": "crwdns6190:0crwdne6190:0" + }, + "opacity": { + "label": "crwdns6192:0crwdne6192:0" + }, + "customCss": { + "label": "crwdns6194:0crwdne6194:0", + "description": "crwdns6196:0crwdne6196:0", + "customClassesAlert": { + "title": "crwdns6198:0crwdne6198:0", + "description": "crwdns6200:0crwdne6200:0" + } + }, + "columnCount": { + "label": "crwdns6202:0crwdne6202:0" + }, + "name": { + "label": "crwdns6204:0crwdne6204:0" + }, + "isPublic": { + "label": "crwdns6206:0crwdne6206:0", + "description": "crwdns6208:0crwdne6208:0" + } + }, + "content": { + "metaTitle": "crwdns6210:0{boardName}crwdne6210:0" + }, + "setting": { + "title": "crwdns6212:0{boardName}crwdne6212:0", + "section": { + "general": { + "title": "crwdns6214:0crwdne6214:0", + "unrecognizedLink": "crwdns6216:0crwdne6216:0" + }, + "layout": { + "title": "crwdns6218:0crwdne6218:0" + }, + "background": { + "title": "crwdns6220:0crwdne6220:0" + }, + "color": { + "title": "crwdns6222:0crwdne6222:0" + }, + "customCss": { + "title": "crwdns6224:0crwdne6224:0" + }, + "access": { + "title": "crwdns6226:0crwdne6226:0", + "permission": { + "item": { + "view": { + "label": "crwdns6228:0crwdne6228:0" + }, + "modify": { + "label": "crwdns6230:0crwdne6230:0" + }, + "full": { + "label": "crwdns6232:0crwdne6232:0" + } + } + } + }, + "dangerZone": { + "title": "crwdns6234:0crwdne6234:0", + "action": { + "rename": { + "label": "crwdns6236:0crwdne6236:0", + "description": "crwdns6238:0crwdne6238:0", + "button": "crwdns6240:0crwdne6240:0", + "modal": { + "title": "crwdns6242:0crwdne6242:0" + } + }, + "visibility": { + "label": "crwdns6244:0crwdne6244:0", + "description": { + "public": "crwdns6246:0crwdne6246:0", + "private": "crwdns6248:0crwdne6248:0" + }, + "button": { + "public": "crwdns6250:0crwdne6250:0", + "private": "crwdns6252:0crwdne6252:0" + }, + "confirm": { + "public": { + "title": "crwdns6254:0crwdne6254:0", + "description": "crwdns6256:0crwdne6256:0" + }, + "private": { + "title": "crwdns6258:0crwdne6258:0", + "description": "crwdns6260:0crwdne6260:0" + } + } + }, + "delete": { + "label": "crwdns6262:0crwdne6262:0", + "description": "crwdns6264:0crwdne6264:0", + "button": "crwdns6266:0crwdne6266:0", + "confirm": { + "title": "crwdns6268:0crwdne6268:0", + "description": "crwdns6270:0crwdne6270:0" + } + } + } + } + } + }, + "error": { + "noBoard": { + "title": "crwdns6272:0crwdne6272:0", + "description": "crwdns6274:0crwdne6274:0", + "link": "crwdns6276:0crwdne6276:0", + "notice": "crwdns6278:0crwdne6278:0" + }, + "notFound": { + "title": "crwdns6280:0crwdne6280:0", + "description": "crwdns6282:0crwdne6282:0", + "link": "crwdns6284:0crwdne6284:0", + "notice": "crwdns6286:0crwdne6286:0" + }, + "homeBoard": { + "title": "crwdns6288:0crwdne6288:0", + "admin": { + "description": "crwdns6290:0crwdne6290:0", + "link": "crwdns6292:0crwdne6292:0", + "notice": "crwdns6294:0crwdne6294:0" + }, + "user": { + "description": "crwdns6296:0crwdne6296:0", + "link": "crwdns6298:0crwdne6298:0", + "notice": "crwdns6300:0crwdne6300:0" + }, + "anonymous": { + "description": "crwdns6302:0crwdne6302:0", + "link": "crwdns6304:0crwdne6304:0", + "notice": "crwdns6306:0crwdne6306:0" + } + } + } + }, + "management": { + "metaTitle": "crwdns6308:0crwdne6308:0", + "title": { + "morning": "crwdns6310:0{username}crwdne6310:0", + "afternoon": "crwdns6312:0{username}crwdne6312:0", + "evening": "crwdns6314:0{username}crwdne6314:0" + }, + "notFound": { + "title": "crwdns6316:0crwdne6316:0", + "text": "crwdns6318:0crwdne6318:0" + }, + "navbar": { + "items": { + "home": "crwdns6320:0crwdne6320:0", + "boards": "crwdns6322:0crwdne6322:0", + "apps": "crwdns6324:0crwdne6324:0", + "integrations": "crwdns6326:0crwdne6326:0", + "searchEngies": "crwdns6328:0crwdne6328:0", + "medias": "crwdns6330:0crwdne6330:0", + "users": { + "label": "crwdns6332:0crwdne6332:0", + "items": { + "manage": "crwdns6334:0crwdne6334:0", + "invites": "crwdns6336:0crwdne6336:0", + "groups": "crwdns6338:0crwdne6338:0" + } + }, + "tools": { + "label": "crwdns6340:0crwdne6340:0", + "items": { + "docker": "crwdns6342:0crwdne6342:0", + "logs": "crwdns6344:0crwdne6344:0", + "api": "crwdns6346:0crwdne6346:0", + "tasks": "crwdns6348:0crwdne6348:0" + } + }, + "settings": "crwdns6350:0crwdne6350:0", + "help": { + "label": "crwdns6352:0crwdne6352:0", + "items": { + "documentation": "crwdns6354:0crwdne6354:0", + "submitIssue": "crwdns6356:0crwdne6356:0", + "discord": "crwdns6358:0crwdne6358:0", + "sourceCode": "crwdns6360:0crwdne6360:0" + } + }, + "about": "crwdns6362:0crwdne6362:0" + } + }, + "page": { + "home": { + "statistic": { + "board": "crwdns6364:0crwdne6364:0", + "user": "crwdns6366:0crwdne6366:0", + "invite": "crwdns6368:0crwdne6368:0", + "integration": "crwdns6370:0crwdne6370:0", + "app": "crwdns6372:0crwdne6372:0", + "group": "crwdns6374:0crwdne6374:0" + }, + "statisticLabel": { + "boards": "crwdns6376:0crwdne6376:0", + "resources": "crwdns6378:0crwdne6378:0", + "authentication": "crwdns6380:0crwdne6380:0", + "authorization": "crwdns6382:0crwdne6382:0" + } + }, + "board": { + "title": "crwdns6384:0crwdne6384:0", + "action": { + "new": { + "label": "crwdns6386:0crwdne6386:0" + }, + "open": { + "label": "crwdns6388:0crwdne6388:0" + }, + "settings": { + "label": "crwdns6390:0crwdne6390:0" + }, + "setHomeBoard": { + "label": "crwdns6392:0crwdne6392:0", + "badge": { + "label": "crwdns6394:0crwdne6394:0", + "tooltip": "crwdns6396:0crwdne6396:0" + } + }, + "delete": { + "label": "crwdns6398:0crwdne6398:0", + "confirm": { + "title": "crwdns6400:0crwdne6400:0", + "description": "crwdns6402:0{name}crwdne6402:0" + } + } + }, + "visibility": { + "public": "crwdns6404:0crwdne6404:0", + "private": "crwdns6406:0crwdne6406:0" + }, + "modal": { + "createBoard": { + "field": { + "name": { + "label": "crwdns6408:0crwdne6408:0" + } + } + } + } + }, + "media": { + "includeFromAllUsers": "crwdns6410:0crwdne6410:0" + }, + "user": { + "back": "crwdns6412:0crwdne6412:0", + "fieldsDisabledExternalProvider": "crwdns6414:0crwdne6414:0", + "setting": { + "general": { + "title": "crwdns6416:0crwdne6416:0", + "item": { + "language": "crwdns6418:0crwdne6418:0", + "board": "crwdns6420:0crwdne6420:0", + "firstDayOfWeek": "crwdns6422:0crwdne6422:0", + "accessibility": "crwdns6424:0crwdne6424:0" + } + }, + "security": { + "title": "crwdns6426:0crwdne6426:0" + }, + "board": { + "title": "crwdns6428:0crwdne6428:0" + } + }, + "list": { + "metaTitle": "crwdns6430:0crwdne6430:0", + "title": "crwdns6432:0crwdne6432:0" + }, + "edit": { + "metaTitle": "crwdns6434:0{username}crwdne6434:0" + }, + "create": { + "metaTitle": "crwdns6436:0crwdne6436:0", + "title": "crwdns6438:0crwdne6438:0", + "step": { + "personalInformation": { + "label": "crwdns6440:0crwdne6440:0" + }, + "security": { + "label": "crwdns6442:0crwdne6442:0" + }, + "groups": { + "label": "crwdns6444:0crwdne6444:0", + "title": "crwdns6446:0crwdne6446:0", + "description": "crwdns6448:0{everyoneGroup}crwdne6448:0" + }, + "review": { + "label": "crwdns6450:0crwdne6450:0" + }, + "completed": { + "title": "crwdns6452:0crwdne6452:0" + }, + "error": { + "title": "crwdns6454:0crwdne6454:0" + } + }, + "action": { + "createAnother": "crwdns6456:0crwdne6456:0", + "back": "crwdns6458:0crwdne6458:0" + } + }, + "invite": { + "title": "crwdns6460:0crwdne6460:0", + "action": { + "new": { + "title": "crwdns6462:0crwdne6462:0", + "description": "crwdns6464:0crwdne6464:0" + }, + "copy": { + "title": "crwdns6466:0crwdne6466:0", + "description": "crwdns6468:0crwdne6468:0", + "link": "crwdns6470:0crwdne6470:0", + "button": "crwdns6472:0crwdne6472:0" + }, + "delete": { + "title": "crwdns6474:0crwdne6474:0", + "description": "crwdns6476:0crwdne6476:0" + } + }, + "field": { + "id": { + "label": "crwdns6478:0crwdne6478:0" + }, + "creator": { + "label": "crwdns6480:0crwdne6480:0" + }, + "expirationDate": { + "label": "crwdns6482:0crwdne6482:0" + }, + "token": { + "label": "crwdns6484:0crwdne6484:0" + } + } + } + }, + "group": { + "back": "crwdns6486:0crwdne6486:0", + "setting": { + "general": { + "title": "crwdns6488:0crwdne6488:0", + "owner": "crwdns6490:0crwdne6490:0", + "ownerOfGroup": "crwdns6492:0crwdne6492:0", + "ownerOfGroupDeleted": "crwdns6494:0crwdne6494:0" + }, + "members": { + "title": "crwdns6496:0crwdne6496:0", + "search": "crwdns6498:0crwdne6498:0", + "notFound": "crwdns6500:0crwdne6500:0" + }, + "permissions": { + "title": "crwdns6502:0crwdne6502:0", + "form": { + "unsavedChanges": "crwdns6504:0crwdne6504:0" + } + } + } + }, + "settings": { + "title": "crwdns6506:0crwdne6506:0", + "notification": { + "success": { + "message": "crwdns6508:0crwdne6508:0" + }, + "error": { + "message": "crwdns6510:0crwdne6510:0" + } + }, + "section": { + "analytics": { + "title": "crwdns6512:0crwdne6512:0", + "general": { + "title": "crwdns6514:0crwdne6514:0", + "text": "crwdns6516:0crwdne6516:0" + }, + "widgetData": { + "title": "crwdns6518:0crwdne6518:0", + "text": "crwdns6520:0crwdne6520:0" + }, + "integrationData": { + "title": "crwdns6522:0crwdne6522:0", + "text": "crwdns6524:0crwdne6524:0" + }, + "usersData": { + "title": "crwdns6526:0crwdne6526:0", + "text": "crwdns6528:0crwdne6528:0" + } + }, + "crawlingAndIndexing": { + "title": "crwdns6530:0crwdne6530:0", + "warning": "crwdns6532:0crwdne6532:0", + "noIndex": { + "title": "crwdns6534:0crwdne6534:0", + "text": "crwdns6536:0crwdne6536:0" + }, + "noFollow": { + "title": "crwdns6538:0crwdne6538:0", + "text": "crwdns6540:0crwdne6540:0" + }, + "noTranslate": { + "title": "crwdns6542:0crwdne6542:0", + "text": "crwdns6544:0crwdne6544:0" + }, + "noSiteLinksSearchBox": { + "title": "crwdns6546:0crwdne6546:0", + "text": "crwdns6548:0crwdne6548:0" + } + }, + "board": { + "title": "crwdns6550:0crwdne6550:0", + "homeBoard": { + "label": "crwdns6552:0crwdne6552:0", + "description": "crwdns6554:0crwdne6554:0" + } + }, + "appearance": { + "title": "crwdns6556:0crwdne6556:0", + "defaultColorScheme": { + "label": "crwdns6558:0crwdne6558:0", + "options": { + "light": "crwdns6560:0crwdne6560:0", + "dark": "crwdns6562:0crwdne6562:0" + } + } + }, + "culture": { + "title": "crwdns6564:0crwdne6564:0", + "defaultLocale": { + "label": "crwdns6566:0crwdne6566:0" + } + } + } + }, + "tool": { + "tasks": { + "title": "crwdns6568:0crwdne6568:0", + "status": { + "idle": "crwdns6570:0crwdne6570:0", + "running": "crwdns6572:0crwdne6572:0", + "error": "crwdns6574:0crwdne6574:0" + }, + "job": { + "iconsUpdater": { + "label": "crwdns6576:0crwdne6576:0" + }, + "analytics": { + "label": "crwdns6578:0crwdne6578:0" + }, + "smartHomeEntityState": { + "label": "crwdns6580:0crwdne6580:0" + }, + "ping": { + "label": "crwdns6582:0crwdne6582:0" + }, + "mediaServer": { + "label": "crwdns6584:0crwdne6584:0" + }, + "mediaOrganizer": { + "label": "crwdns6586:0crwdne6586:0" + }, + "downloads": { + "label": "crwdns6588:0crwdne6588:0" + }, + "mediaRequestStats": { + "label": "crwdns6590:0crwdne6590:0" + }, + "mediaRequestList": { + "label": "crwdns6592:0crwdne6592:0" + }, + "rssFeeds": { + "label": "crwdns6594:0crwdne6594:0" + }, + "indexerManager": { + "label": "crwdns6596:0crwdne6596:0" + }, + "healthMonitoring": { + "label": "crwdns6598:0crwdne6598:0" + }, + "dnsHole": { + "label": "crwdns6600:0crwdne6600:0" + }, + "sessionCleanup": { + "label": "crwdns6602:0crwdne6602:0" + }, + "updateChecker": { + "label": "crwdns6604:0crwdne6604:0" + }, + "mediaTranscoding": { + "label": "crwdns6606:0crwdne6606:0" + } + } + }, + "api": { + "title": "crwdns6608:0crwdne6608:0", + "modal": { + "createApiToken": { + "title": "crwdns6610:0crwdne6610:0", + "description": "crwdns6612:0crwdne6612:0", + "button": "crwdns6614:0crwdne6614:0" + } + }, + "tab": { + "documentation": { + "label": "crwdns6616:0crwdne6616:0" + }, + "apiKey": { + "label": "crwdns6618:0crwdne6618:0", + "title": "crwdns6620:0crwdne6620:0", + "button": { + "createApiToken": "crwdns6622:0crwdne6622:0" + }, + "table": { + "header": { + "id": "crwdns6624:0crwdne6624:0", + "createdBy": "crwdns6626:0crwdne6626:0" + } + } + } + } + } + }, + "about": { + "version": "crwdns6628:0{version}crwdne6628:0", + "text": "crwdns6630:0crwdne6630:0", + "accordion": { + "contributors": { + "title": "crwdns6632:0crwdne6632:0", + "subtitle": "crwdns6634:0{count}crwdne6634:0" + }, + "translators": { + "title": "crwdns6636:0crwdne6636:0", + "subtitle": "crwdns6638:0{count}crwdne6638:0" + }, + "libraries": { + "title": "crwdns6640:0crwdne6640:0", + "subtitle": "crwdns6642:0{count}crwdne6642:0" + } + } + } + } + }, + "docker": { + "title": "crwdns6644:0crwdne6644:0", + "table": { + "updated": "crwdns6646:0{when}crwdne6646:0", + "search": "crwdns6648:0{count}crwdne6648:0", + "selected": "crwdns6650:0{selectCount}crwdnd6650:0{totalCount}crwdne6650:0" + }, + "field": { + "name": { + "label": "crwdns6652:0crwdne6652:0" + }, + "state": { + "label": "crwdns6654:0crwdne6654:0", + "option": { + "created": "crwdns6656:0crwdne6656:0", + "running": "crwdns6658:0crwdne6658:0", + "paused": "crwdns6660:0crwdne6660:0", + "restarting": "crwdns6662:0crwdne6662:0", + "exited": "crwdns6664:0crwdne6664:0", + "removing": "crwdns6666:0crwdne6666:0", + "dead": "crwdns6668:0crwdne6668:0" + } + }, + "containerImage": { + "label": "crwdns6670:0crwdne6670:0" + }, + "ports": { + "label": "crwdns6672:0crwdne6672:0" + } + }, + "action": { + "start": { + "label": "crwdns6674:0crwdne6674:0", + "notification": { + "success": { + "title": "crwdns6676:0crwdne6676:0", + "message": "crwdns6678:0crwdne6678:0" + }, + "error": { + "title": "crwdns6680:0crwdne6680:0", + "message": "crwdns6682:0crwdne6682:0" + } + } + }, + "stop": { + "label": "crwdns6684:0crwdne6684:0", + "notification": { + "success": { + "title": "crwdns6686:0crwdne6686:0", + "message": "crwdns6688:0crwdne6688:0" + }, + "error": { + "title": "crwdns6690:0crwdne6690:0", + "message": "crwdns6692:0crwdne6692:0" + } + } + }, + "restart": { + "label": "crwdns6694:0crwdne6694:0", + "notification": { + "success": { + "title": "crwdns6696:0crwdne6696:0", + "message": "crwdns6698:0crwdne6698:0" + }, + "error": { + "title": "crwdns6700:0crwdne6700:0", + "message": "crwdns6702:0crwdne6702:0" + } + } + }, + "remove": { + "label": "crwdns6704:0crwdne6704:0", + "notification": { + "success": { + "title": "crwdns6706:0crwdne6706:0", + "message": "crwdns6708:0crwdne6708:0" + }, + "error": { + "title": "crwdns6710:0crwdne6710:0", + "message": "crwdns6712:0crwdne6712:0" + } + } + }, + "refresh": { + "label": "crwdns6714:0crwdne6714:0", + "notification": { + "success": { + "title": "crwdns6716:0crwdne6716:0", + "message": "crwdns6718:0crwdne6718:0" + }, + "error": { + "title": "crwdns6720:0crwdne6720:0", + "message": "crwdns6722:0crwdne6722:0" + } + } + } + }, + "error": { + "internalServerError": "crwdns6724:0crwdne6724:0" + } + }, + "permission": { + "title": "crwdns6726:0crwdne6726:0", + "userSelect": { + "title": "crwdns6728:0crwdne6728:0" + }, + "groupSelect": { + "title": "crwdns6730:0crwdne6730:0" + }, + "tab": { + "user": "crwdns6732:0crwdne6732:0", + "group": "crwdns6734:0crwdne6734:0", + "inherited": "crwdns6736:0crwdne6736:0" + }, + "field": { + "user": { + "label": "crwdns6738:0crwdne6738:0" + }, + "group": { + "label": "crwdns6740:0crwdne6740:0" + }, + "permission": { + "label": "crwdns6742:0crwdne6742:0" + } + }, + "action": { + "saveUser": "crwdns6744:0crwdne6744:0", + "saveGroup": "crwdns6746:0crwdne6746:0" + } + }, + "navigationStructure": { + "manage": { + "label": "crwdns6748:0crwdne6748:0", + "boards": { + "label": "crwdns6750:0crwdne6750:0" + }, + "integrations": { + "label": "crwdns6752:0crwdne6752:0", + "edit": { + "label": "crwdns6754:0crwdne6754:0" + }, + "new": { + "label": "crwdns6756:0crwdne6756:0" + } + }, + "search-engines": { + "label": "crwdns6758:0crwdne6758:0", + "new": { + "label": "crwdns6760:0crwdne6760:0" + }, + "edit": { + "label": "crwdns6762:0crwdne6762:0" + } + }, + "medias": { + "label": "crwdns6764:0crwdne6764:0" + }, + "apps": { + "label": "crwdns6766:0crwdne6766:0", + "new": { + "label": "crwdns6768:0crwdne6768:0" + }, + "edit": { + "label": "crwdns6770:0crwdne6770:0" + } + }, + "users": { + "label": "crwdns6772:0crwdne6772:0", + "create": { + "label": "crwdns6774:0crwdne6774:0" + }, + "general": "crwdns6776:0crwdne6776:0", + "security": "crwdns6778:0crwdne6778:0", + "board": "crwdns6780:0crwdne6780:0", + "groups": { + "label": "crwdns6782:0crwdne6782:0" + }, + "invites": { + "label": "crwdns6784:0crwdne6784:0" + } + }, + "tools": { + "label": "crwdns6786:0crwdne6786:0", + "docker": { + "label": "crwdns6788:0crwdne6788:0" + }, + "logs": { + "label": "crwdns6790:0crwdne6790:0" + } + }, + "settings": { + "label": "crwdns6792:0crwdne6792:0" + }, + "about": { + "label": "crwdns6794:0crwdne6794:0" + } + } + }, + "search": { + "placeholder": "crwdns6796:0crwdne6796:0", + "nothingFound": "crwdns6798:0crwdne6798:0", + "error": { + "fetch": "crwdns6800:0crwdne6800:0" + }, + "mode": { + "appIntegrationBoard": { + "help": "crwdns6802:0crwdne6802:0", + "group": { + "app": { + "title": "crwdns6804:0crwdne6804:0", + "children": { + "action": { + "open": { + "label": "crwdns6806:0crwdne6806:0" + }, + "edit": { + "label": "crwdns6808:0crwdne6808:0" + } + }, + "detail": { + "title": "crwdns6810:0crwdne6810:0" + } + } + }, + "board": { + "title": "crwdns6812:0crwdne6812:0", + "children": { + "action": { + "open": { + "label": "crwdns6814:0crwdne6814:0" + }, + "homeBoard": { + "label": "crwdns6816:0crwdne6816:0" + }, + "settings": { + "label": "crwdns6818:0crwdne6818:0" + } + }, + "detail": { + "title": "crwdns6820:0crwdne6820:0" + } + } + }, + "integration": { + "title": "crwdns6822:0crwdne6822:0" + } + } + }, + "command": { + "help": "crwdns6824:0crwdne6824:0", + "group": { + "localCommand": { + "title": "crwdns6826:0crwdne6826:0" + }, + "globalCommand": { + "title": "crwdns6828:0crwdne6828:0", + "option": { + "colorScheme": { + "light": "crwdns6830:0crwdne6830:0", + "dark": "crwdns6832:0crwdne6832:0" + }, + "language": { + "label": "crwdns6834:0crwdne6834:0", + "children": { + "detail": { + "title": "crwdns6836:0crwdne6836:0" + } + } + }, + "newBoard": { + "label": "crwdns6838:0crwdne6838:0" + }, + "importBoard": { + "label": "crwdns6840:0crwdne6840:0" + }, + "newApp": { + "label": "crwdns6842:0crwdne6842:0" + }, + "newIntegration": { + "label": "crwdns6844:0crwdne6844:0", + "children": { + "detail": { + "title": "crwdns6846:0crwdne6846:0" + } + } + }, + "newUser": { + "label": "crwdns6848:0crwdne6848:0" + }, + "newInvite": { + "label": "crwdns6850:0crwdne6850:0" + }, + "newGroup": { + "label": "crwdns6852:0crwdne6852:0" + } + } + } + } + }, + "external": { + "help": "crwdns6854:0crwdne6854:0", + "group": { + "searchEngine": { + "title": "crwdns6856:0crwdne6856:0", + "children": { + "action": { + "search": { + "label": "crwdns6858:0{name}crwdne6858:0" + } + }, + "detail": { + "title": "crwdns6860:0crwdne6860:0" + }, + "searchResults": { + "title": "crwdns6862:0crwdne6862:0" + } + }, + "option": { + "google": { + "name": "crwdns6864:0crwdne6864:0", + "description": "crwdns6866:0crwdne6866:0" + }, + "bing": { + "name": "crwdns6868:0crwdne6868:0", + "description": "crwdns6870:0crwdne6870:0" + }, + "duckduckgo": { + "name": "crwdns6872:0crwdne6872:0", + "description": "crwdns6874:0crwdne6874:0" + }, + "torrent": { + "name": "crwdns6876:0crwdne6876:0", + "description": "crwdns6878:0crwdne6878:0" + }, + "youTube": { + "name": "crwdns6880:0crwdne6880:0", + "description": "crwdns6882:0crwdne6882:0" + } + } + } + } + }, + "help": { + "group": { + "mode": { + "title": "crwdns6884:0crwdne6884:0" + }, + "help": { + "title": "crwdns6886:0crwdne6886:0", + "option": { + "documentation": { + "label": "crwdns6888:0crwdne6888:0" + }, + "submitIssue": { + "label": "crwdns6890:0crwdne6890:0" + }, + "discord": { + "label": "crwdns6892:0crwdne6892:0" + } + } + } + } + }, + "home": { + "group": { + "local": { + "title": "crwdns6894:0crwdne6894:0" + } + } + }, + "page": { + "help": "crwdns6896:0crwdne6896:0", + "group": { + "page": { + "title": "crwdns6898:0crwdne6898:0", + "option": { + "manageHome": { + "label": "crwdns6900:0crwdne6900:0" + }, + "manageBoard": { + "label": "crwdns6902:0crwdne6902:0" + }, + "manageApp": { + "label": "crwdns6904:0crwdne6904:0" + }, + "manageIntegration": { + "label": "crwdns6906:0crwdne6906:0" + }, + "manageSearchEngine": { + "label": "crwdns6908:0crwdne6908:0" + }, + "manageMedia": { + "label": "crwdns6910:0crwdne6910:0" + }, + "manageUser": { + "label": "crwdns6912:0crwdne6912:0" + }, + "manageInvite": { + "label": "crwdns6914:0crwdne6914:0" + }, + "manageGroup": { + "label": "crwdns6916:0crwdne6916:0" + }, + "manageDocker": { + "label": "crwdns6918:0crwdne6918:0" + }, + "manageApi": { + "label": "crwdns6920:0crwdne6920:0" + }, + "manageLog": { + "label": "crwdns6922:0crwdne6922:0" + }, + "manageTask": { + "label": "crwdns6924:0crwdne6924:0" + }, + "manageSettings": { + "label": "crwdns6926:0crwdne6926:0" + }, + "about": { + "label": "crwdns6928:0crwdne6928:0" + }, + "homeBoard": { + "label": "crwdns6930:0crwdne6930:0" + }, + "preferences": { + "label": "crwdns6932:0crwdne6932:0" + } + } + } + } + }, + "userGroup": { + "help": "crwdns6934:0crwdne6934:0", + "group": { + "user": { + "title": "crwdns6936:0crwdne6936:0", + "children": { + "action": { + "detail": { + "label": "crwdns6938:0crwdne6938:0" + } + }, + "detail": { + "title": "crwdns6940:0crwdne6940:0" + } + } + }, + "group": { + "title": "crwdns6942:0crwdne6942:0", + "children": { + "action": { + "detail": { + "label": "crwdns6944:0crwdne6944:0" + }, + "manageMember": { + "label": "crwdns6946:0crwdne6946:0" + }, + "managePermission": { + "label": "crwdns6948:0crwdne6948:0" + } + }, + "detail": { + "title": "crwdns6950:0crwdne6950:0" + } + } + } + } + } + }, + "engine": { + "search": "crwdns6952:0crwdne6952:0", + "field": { + "name": { + "label": "crwdns6954:0crwdne6954:0" + }, + "short": { + "label": "crwdns6956:0crwdne6956:0" + }, + "urlTemplate": { + "label": "crwdns6958:0crwdne6958:0" + }, + "description": { + "label": "crwdns6960:0crwdne6960:0" + } + }, + "page": { + "list": { + "title": "crwdns6962:0crwdne6962:0", + "noResults": { + "title": "crwdns6964:0crwdne6964:0", + "action": "crwdns6966:0crwdne6966:0" + }, + "interactive": "crwdns6968:0crwdne6968:0" + }, + "create": { + "title": "crwdns6970:0crwdne6970:0", + "notification": { + "success": { + "title": "crwdns6972:0crwdne6972:0", + "message": "crwdns6974:0crwdne6974:0" + }, + "error": { + "title": "crwdns6976:0crwdne6976:0", + "message": "crwdns6978:0crwdne6978:0" + } + } + }, + "edit": { + "title": "crwdns6980:0crwdne6980:0", + "notification": { + "success": { + "title": "crwdns6982:0crwdne6982:0", + "message": "crwdns6984:0crwdne6984:0" + }, + "error": { + "title": "crwdns6986:0crwdne6986:0", + "message": "crwdns6988:0crwdne6988:0" + } + }, + "configControl": "crwdns6990:0crwdne6990:0", + "searchEngineType": { + "generic": "crwdns6992:0crwdne6992:0", + "fromIntegration": "crwdns6994:0crwdne6994:0" + } + }, + "delete": { + "title": "crwdns6996:0crwdne6996:0", + "message": "crwdns6998:0{name}crwdne6998:0", + "notification": { + "success": { + "title": "crwdns7000:0crwdne7000:0", + "message": "crwdns7002:0crwdne7002:0" + }, + "error": { + "title": "crwdns7004:0crwdne7004:0", + "message": "crwdns7006:0crwdne7006:0" + } + } + } + } + } + } +} diff --git a/packages/translation/src/lang/cs.json b/packages/translation/src/lang/cs.json index c65569394..3fc6d207c 100644 --- a/packages/translation/src/lang/cs.json +++ b/packages/translation/src/lang/cs.json @@ -41,8 +41,8 @@ "import": "" }, "entities": { - "apps": "", - "boards": "", + "apps": "Aplikace", + "boards": "Plochy", "integrations": "", "credentialUsers": "" } @@ -51,7 +51,7 @@ "title": "", "field": { "token": { - "label": "", + "label": "Token", "description": "" } }, @@ -87,7 +87,7 @@ } }, "settings": { - "title": "", + "title": "Nastavení", "subtitle": "" }, "finish": { @@ -302,7 +302,7 @@ } }, "app": { - "title": "", + "title": "Aplikace", "item": { "create": { "label": "", @@ -1026,13 +1026,13 @@ "label": "" }, "layout": { - "label": "", + "label": "Rozložení", "option": { "row": { - "label": "" + "label": "Horizontální" }, "column": { - "label": "" + "label": "Vertikální" }, "grid": { "label": "" @@ -1213,11 +1213,11 @@ } }, "iframe": { - "name": "", + "name": "iFrame", "description": "Vložte jakýkoli obsah z internetu. Některé webové stránky mohou omezit přístup.", "option": { "embedUrl": { - "label": "" + "label": "Embed URL" }, "allowFullScreen": { "label": "Povolit celou obrazovku" @@ -1648,55 +1648,55 @@ "description": "", "option": { "defaultView": { - "label": "" + "label": "Výchozí zobrazení" }, "queuePageSize": { "label": "" } }, "tab": { - "workers": "", - "queue": "", - "statistics": "" + "workers": "Stroje", + "queue": "Fronta", + "statistics": "Statistiky" }, "currentIndex": "", "healthCheck": { "title": "", - "queued": "", + "queued": "Ve frontě", "status": { - "healthy": "", - "unhealthy": "" + "healthy": "V pořádku", + "unhealthy": "Nastal problém" } }, "panel": { "statistics": { - "empty": "", - "transcodes": "", + "empty": "Prázdné", + "transcodes": "Překódování", "transcodesCount": "", "healthChecksCount": "", "filesCount": "", "savedSpace": "", "healthChecks": "", - "videoCodecs": "", - "videoContainers": "", - "videoResolutions": "" + "videoCodecs": "Kodeky", + "videoContainers": "Kontejnery", + "videoResolutions": "Rozlišení" }, "workers": { - "empty": "", + "empty": "Prázdné", "table": { - "file": "", - "eta": "", - "progress": "", - "transcode": "", + "file": "Soubor", + "eta": "Odhadovaný čas", + "progress": "Postup", + "transcode": "Překódovat", "healthCheck": "" } }, "queue": { - "empty": "", + "empty": "Prázdné", "table": { - "file": "", - "size": "", - "transcode": "", + "file": "Soubor", + "size": "Velikost", + "transcode": "Překódovat", "healthCheck": "" } } @@ -2042,9 +2042,9 @@ "tools": { "label": "Nástroje", "items": { - "docker": "", + "docker": "Docker", "logs": "", - "api": "", + "api": "API", "tasks": "" } }, @@ -2199,7 +2199,7 @@ }, "field": { "id": { - "label": "" + "label": "ID" }, "creator": { "label": "Vytvořil/a" @@ -2208,7 +2208,7 @@ "label": "Datum konce platnosti" }, "token": { - "label": "" + "label": "Token" } } } @@ -2218,7 +2218,7 @@ "setting": { "general": { "title": "Obecné", - "owner": "", + "owner": "Vlastník", "ownerOfGroup": "", "ownerOfGroupDeleted": "" }, @@ -2286,14 +2286,14 @@ } }, "board": { - "title": "", + "title": "Plochy", "homeBoard": { "label": "", "description": "" } }, "appearance": { - "title": "", + "title": "Vzhled", "defaultColorScheme": { "label": "", "options": { @@ -2370,7 +2370,7 @@ } }, "api": { - "title": "", + "title": "API", "modal": { "createApiToken": { "title": "", @@ -2390,7 +2390,7 @@ }, "table": { "header": { - "id": "", + "id": "ID", "createdBy": "" } } @@ -2602,7 +2602,7 @@ "tools": { "label": "Nástroje", "docker": { - "label": "" + "label": "Docker" }, "logs": { "label": "" diff --git a/packages/translation/src/lang/da.json b/packages/translation/src/lang/da.json index d8398ec91..a9f1e3519 100644 --- a/packages/translation/src/lang/da.json +++ b/packages/translation/src/lang/da.json @@ -41,8 +41,8 @@ "import": "" }, "entities": { - "apps": "", - "boards": "", + "apps": "Apps", + "boards": "Boards", "integrations": "", "credentialUsers": "" } @@ -51,7 +51,7 @@ "title": "", "field": { "token": { - "label": "", + "label": "Token", "description": "" } }, @@ -87,7 +87,7 @@ } }, "settings": { - "title": "", + "title": "Indstillinger", "subtitle": "" }, "finish": { @@ -293,7 +293,7 @@ }, "permission": { "admin": { - "title": "", + "title": "Admin", "item": { "admin": { "label": "", @@ -302,7 +302,7 @@ } }, "app": { - "title": "", + "title": "Apps", "item": { "create": { "label": "", @@ -323,7 +323,7 @@ } }, "board": { - "title": "", + "title": "Boards", "item": { "create": { "label": "", @@ -491,7 +491,7 @@ "app": { "page": { "list": { - "title": "", + "title": "Apps", "noResults": { "title": "", "action": "" @@ -1026,13 +1026,13 @@ "label": "" }, "layout": { - "label": "", + "label": "Layout", "option": { "row": { - "label": "" + "label": "Horisontal" }, "column": { - "label": "" + "label": "Vertikal" }, "grid": { "label": "" @@ -1050,7 +1050,7 @@ "description": "", "option": { "layout": { - "label": "", + "label": "Layout", "option": { "row": { "label": "Horisontal" @@ -1083,7 +1083,7 @@ "description": "Kontroller PiHole eller AdGuard fra dit dashboard", "option": { "layout": { - "label": "", + "label": "Layout", "option": { "row": { "label": "Horisontal" @@ -1183,7 +1183,7 @@ "checkList": "Tjekliste", "increaseIndent": "Forøg indrykning", "decreaseIndent": "Formindsk indrykning", - "link": "", + "link": "Link", "unlink": "Fjern link", "image": "Integrer billede", "addTable": "Tilføj tabel", @@ -1432,11 +1432,11 @@ "option": {} }, "video": { - "name": "", + "name": "Video Stream", "description": "Indlejr en video stream eller video fra et kamera eller et website", "option": { "feedUrl": { - "label": "" + "label": "Feed URL" }, "hasAutoPlay": { "label": "Auto-afspilning", @@ -1511,7 +1511,7 @@ "detailsTitle": "" }, "downSpeed": { - "columnTitle": "", + "columnTitle": "Down", "detailsTitle": "Download hastighed" }, "index": { @@ -1522,7 +1522,7 @@ "columnTitle": "" }, "integration": { - "columnTitle": "" + "columnTitle": "Integration" }, "name": { "columnTitle": "" @@ -1560,7 +1560,7 @@ "detailsTitle": "" }, "upSpeed": { - "columnTitle": "", + "columnTitle": "Up", "detailsTitle": "" } }, @@ -1635,7 +1635,7 @@ "available": "", "tv": "TV-anmodninger", "movie": "Film anmodninger", - "total": "" + "total": "Total" }, "users": { "main": "Topbrugere", @@ -1648,55 +1648,55 @@ "description": "", "option": { "defaultView": { - "label": "" + "label": "Standardvisning" }, "queuePageSize": { "label": "" } }, "tab": { - "workers": "", - "queue": "", - "statistics": "" + "workers": "Arbejdere", + "queue": "Kø", + "statistics": "Statistikker" }, "currentIndex": "", "healthCheck": { "title": "", - "queued": "", + "queued": "I kø", "status": { - "healthy": "", - "unhealthy": "" + "healthy": "Sund", + "unhealthy": "Usund" } }, "panel": { "statistics": { - "empty": "", - "transcodes": "", + "empty": "Tom", + "transcodes": "Transkoder", "transcodesCount": "", "healthChecksCount": "", "filesCount": "", "savedSpace": "", "healthChecks": "", - "videoCodecs": "", - "videoContainers": "", - "videoResolutions": "" + "videoCodecs": "Kodeks", + "videoContainers": "Containere", + "videoResolutions": "Opløsninger" }, "workers": { - "empty": "", + "empty": "Tom", "table": { - "file": "", - "eta": "", - "progress": "", - "transcode": "", + "file": "Fil", + "eta": "ETA", + "progress": "Fremskridt", + "transcode": "Transkod", "healthCheck": "" } }, "queue": { - "empty": "", + "empty": "Tom", "table": { - "file": "", - "size": "", - "transcode": "", + "file": "Fil", + "size": "Størrelse", + "transcode": "Transkod", "healthCheck": "" } } @@ -1766,7 +1766,7 @@ "invalidError": "" }, "apps": { - "label": "", + "label": "Apps", "avoidDuplicates": { "label": "", "description": "" @@ -1907,7 +1907,7 @@ "unrecognizedLink": "" }, "layout": { - "title": "" + "title": "Layout" }, "background": { "title": "Baggrund" @@ -2026,8 +2026,8 @@ "navbar": { "items": { "home": "Hjem", - "boards": "", - "apps": "", + "boards": "Boards", + "apps": "Apps", "integrations": "", "searchEngies": "", "medias": "", @@ -2042,9 +2042,9 @@ "tools": { "label": "Værktøjer", "items": { - "docker": "", + "docker": "Docker", "logs": "", - "api": "", + "api": "API", "tasks": "" } }, @@ -2064,15 +2064,15 @@ "page": { "home": { "statistic": { - "board": "", + "board": "Boards", "user": "Brugere", "invite": "Invitationer", "integration": "", - "app": "", + "app": "Apps", "group": "" }, "statisticLabel": { - "boards": "", + "boards": "Boards", "resources": "", "authentication": "", "authorization": "" @@ -2139,7 +2139,7 @@ "title": "Sikkerhed" }, "board": { - "title": "" + "title": "Boards" } }, "list": { @@ -2199,7 +2199,7 @@ }, "field": { "id": { - "label": "" + "label": "ID" }, "creator": { "label": "Skaber" @@ -2208,7 +2208,7 @@ "label": "Udløbsdato" }, "token": { - "label": "" + "label": "Token" } } } @@ -2218,7 +2218,7 @@ "setting": { "general": { "title": "Generelt", - "owner": "", + "owner": "Ejer", "ownerOfGroup": "", "ownerOfGroupDeleted": "" }, @@ -2286,14 +2286,14 @@ } }, "board": { - "title": "", + "title": "Boards", "homeBoard": { "label": "", "description": "" } }, "appearance": { - "title": "", + "title": "Udseende", "defaultColorScheme": { "label": "", "options": { @@ -2370,7 +2370,7 @@ } }, "api": { - "title": "", + "title": "API", "modal": { "createApiToken": { "title": "", @@ -2390,7 +2390,7 @@ }, "table": { "header": { - "id": "", + "id": "ID", "createdBy": "" } } @@ -2442,7 +2442,7 @@ } }, "containerImage": { - "label": "" + "label": "Image" }, "ports": { "label": "Porte" @@ -2450,7 +2450,7 @@ }, "action": { "start": { - "label": "", + "label": "Start", "notification": { "success": { "title": "", @@ -2463,7 +2463,7 @@ } }, "stop": { - "label": "", + "label": "Stop", "notification": { "success": { "title": "", @@ -2552,7 +2552,7 @@ "manage": { "label": "Administrer", "boards": { - "label": "" + "label": "Boards" }, "integrations": { "label": "", @@ -2576,7 +2576,7 @@ "label": "" }, "apps": { - "label": "", + "label": "Apps", "new": { "label": "" }, @@ -2591,7 +2591,7 @@ }, "general": "Generelt", "security": "Sikkerhed", - "board": "", + "board": "Boards", "groups": { "label": "" }, @@ -2602,7 +2602,7 @@ "tools": { "label": "Værktøjer", "docker": { - "label": "" + "label": "Docker" }, "logs": { "label": "" @@ -2627,7 +2627,7 @@ "help": "", "group": { "app": { - "title": "", + "title": "Apps", "children": { "action": { "open": { @@ -2643,7 +2643,7 @@ } }, "board": { - "title": "", + "title": "Boards", "children": { "action": { "open": { @@ -2749,7 +2749,7 @@ "description": "" }, "torrent": { - "name": "", + "name": "Torrents", "description": "" }, "youTube": { diff --git a/packages/translation/src/lang/de.json b/packages/translation/src/lang/de.json index 1346b70fe..b1e56881f 100644 --- a/packages/translation/src/lang/de.json +++ b/packages/translation/src/lang/de.json @@ -41,8 +41,8 @@ "import": "" }, "entities": { - "apps": "", - "boards": "", + "apps": "Apps", + "boards": "Boards", "integrations": "", "credentialUsers": "" } @@ -51,7 +51,7 @@ "title": "", "field": { "token": { - "label": "", + "label": "Token", "description": "" } }, @@ -87,7 +87,7 @@ } }, "settings": { - "title": "", + "title": "Einstellungen", "subtitle": "" }, "finish": { @@ -124,7 +124,7 @@ }, "field": { "email": { - "label": "", + "label": "E-Mail", "verified": "Verifiziert" }, "username": { @@ -288,12 +288,12 @@ "name": "", "search": "", "field": { - "name": "", + "name": "Name", "members": "" }, "permission": { "admin": { - "title": "", + "title": "Admin", "item": { "admin": { "label": "", @@ -302,7 +302,7 @@ } }, "app": { - "title": "", + "title": "Apps", "item": { "create": { "label": "", @@ -323,7 +323,7 @@ } }, "board": { - "title": "", + "title": "Boards", "item": { "create": { "label": "", @@ -491,7 +491,7 @@ "app": { "page": { "list": { - "title": "", + "title": "Apps", "noResults": { "title": "", "action": "" @@ -540,7 +540,7 @@ }, "field": { "name": { - "label": "" + "label": "Name" }, "description": { "label": "" @@ -608,7 +608,7 @@ }, "field": { "name": { - "label": "" + "label": "Name" }, "url": { "label": "" @@ -731,7 +731,7 @@ "plural": "", "search": "", "field": { - "name": "", + "name": "Name", "size": "Größe", "creator": "Ersteller" }, @@ -903,7 +903,7 @@ "category": { "field": { "name": { - "label": "" + "label": "Name" } }, "action": { @@ -1026,13 +1026,13 @@ "label": "" }, "layout": { - "label": "", + "label": "Ansicht", "option": { "row": { - "label": "" + "label": "Horizontal" }, "column": { - "label": "" + "label": "Vertikal" }, "grid": { "label": "" @@ -1053,7 +1053,7 @@ "label": "Ansicht", "option": { "row": { - "label": "" + "label": "Horizontal" }, "column": { "label": "Vertikal" @@ -1086,7 +1086,7 @@ "label": "Ansicht", "option": { "row": { - "label": "" + "label": "Horizontal" }, "column": { "label": "Vertikal" @@ -1172,7 +1172,7 @@ "underline": "Unterstrichen", "colorText": "Farbiger Text", "colorHighlight": "Farbig hervorgehobener Text", - "code": "", + "code": "Code", "clear": "Formatierung entfernen", "heading": "Überschrift {level}", "align": "Text ausrichten: {position}", @@ -1183,7 +1183,7 @@ "checkList": "Checkliste", "increaseIndent": "Einzug vergrößern", "decreaseIndent": "Einzug verkleinern", - "link": "", + "link": "Link", "unlink": "Link entfernen", "image": "Bild einbetten", "addTable": "Tabelle hinzufügen", @@ -1213,7 +1213,7 @@ } }, "iframe": { - "name": "", + "name": "iFrame", "description": "Einbetten von Inhalten aus dem Internet. Einige Websites können den Zugriff einschränken.", "option": { "embedUrl": { @@ -1511,7 +1511,7 @@ "detailsTitle": "" }, "downSpeed": { - "columnTitle": "", + "columnTitle": "Down", "detailsTitle": "Download Geschwindigkeit" }, "index": { @@ -1522,7 +1522,7 @@ "columnTitle": "" }, "integration": { - "columnTitle": "" + "columnTitle": "Integration" }, "name": { "columnTitle": "" @@ -1560,7 +1560,7 @@ "detailsTitle": "" }, "upSpeed": { - "columnTitle": "", + "columnTitle": "Up", "detailsTitle": "" } }, @@ -1648,55 +1648,55 @@ "description": "", "option": { "defaultView": { - "label": "" + "label": "Standardansicht" }, "queuePageSize": { "label": "" } }, "tab": { - "workers": "", - "queue": "", - "statistics": "" + "workers": "Workers", + "queue": "Warteschlange", + "statistics": "Statistiken" }, "currentIndex": "", "healthCheck": { "title": "", - "queued": "", + "queued": "In der Warteschlange", "status": { - "healthy": "", - "unhealthy": "" + "healthy": "Gesund", + "unhealthy": "Fehlerhaft" } }, "panel": { "statistics": { - "empty": "", - "transcodes": "", + "empty": "Leer", + "transcodes": "Transkodieren", "transcodesCount": "", "healthChecksCount": "", "filesCount": "", "savedSpace": "", "healthChecks": "", - "videoCodecs": "", - "videoContainers": "", - "videoResolutions": "" + "videoCodecs": "Codecs", + "videoContainers": "Container", + "videoResolutions": "Auflösungen" }, "workers": { - "empty": "", + "empty": "Leer", "table": { - "file": "", - "eta": "", - "progress": "", - "transcode": "", + "file": "Datei", + "eta": "Voraussichtlicher Abschluss", + "progress": "Fortschritt", + "transcode": "Transkodieren", "healthCheck": "" } }, "queue": { - "empty": "", + "empty": "Leer", "table": { - "file": "", - "size": "", - "transcode": "", + "file": "Datei", + "size": "Größe", + "transcode": "Transkodieren", "healthCheck": "" } } @@ -1766,7 +1766,7 @@ "invalidError": "" }, "apps": { - "label": "", + "label": "Apps", "avoidDuplicates": { "label": "", "description": "" @@ -1889,7 +1889,7 @@ "label": "" }, "name": { - "label": "" + "label": "Name" }, "isPublic": { "label": "Öffentlich sichtbar", @@ -2026,8 +2026,8 @@ "navbar": { "items": { "home": "Startseite", - "boards": "", - "apps": "", + "boards": "Boards", + "apps": "Apps", "integrations": "", "searchEngies": "", "medias": "", @@ -2042,9 +2042,9 @@ "tools": { "label": "Werkzeuge", "items": { - "docker": "", + "docker": "Docker", "logs": "", - "api": "", + "api": "API", "tasks": "" } }, @@ -2054,7 +2054,7 @@ "items": { "documentation": "Dokumentation", "submitIssue": "", - "discord": "", + "discord": "Community Discord", "sourceCode": "" } }, @@ -2064,15 +2064,15 @@ "page": { "home": { "statistic": { - "board": "", + "board": "Boards", "user": "Benutzer", "invite": "Einladungen", "integration": "", - "app": "", + "app": "Apps", "group": "" }, "statisticLabel": { - "boards": "", + "boards": "Boards", "resources": "", "authentication": "", "authorization": "" @@ -2113,7 +2113,7 @@ "createBoard": { "field": { "name": { - "label": "" + "label": "Name" } } } @@ -2139,7 +2139,7 @@ "title": "Sicherheit" }, "board": { - "title": "" + "title": "Boards" } }, "list": { @@ -2199,7 +2199,7 @@ }, "field": { "id": { - "label": "" + "label": "ID" }, "creator": { "label": "Ersteller" @@ -2208,7 +2208,7 @@ "label": "Ablaufdatum" }, "token": { - "label": "" + "label": "Token" } } } @@ -2218,7 +2218,7 @@ "setting": { "general": { "title": "Allgemein", - "owner": "", + "owner": "Eigentümer", "ownerOfGroup": "", "ownerOfGroupDeleted": "" }, @@ -2286,14 +2286,14 @@ } }, "board": { - "title": "", + "title": "Boards", "homeBoard": { "label": "", "description": "" } }, "appearance": { - "title": "", + "title": "Aussehen", "defaultColorScheme": { "label": "", "options": { @@ -2370,7 +2370,7 @@ } }, "api": { - "title": "", + "title": "API", "modal": { "createApiToken": { "title": "", @@ -2390,7 +2390,7 @@ }, "table": { "header": { - "id": "", + "id": "ID", "createdBy": "" } } @@ -2427,7 +2427,7 @@ }, "field": { "name": { - "label": "" + "label": "Name" }, "state": { "label": "Staat", @@ -2442,10 +2442,10 @@ } }, "containerImage": { - "label": "" + "label": "Image" }, "ports": { - "label": "" + "label": "Ports" } }, "action": { @@ -2552,7 +2552,7 @@ "manage": { "label": "Verwalten", "boards": { - "label": "" + "label": "Boards" }, "integrations": { "label": "", @@ -2576,7 +2576,7 @@ "label": "" }, "apps": { - "label": "", + "label": "Apps", "new": { "label": "" }, @@ -2591,7 +2591,7 @@ }, "general": "Allgemein", "security": "Sicherheit", - "board": "", + "board": "Boards", "groups": { "label": "" }, @@ -2602,7 +2602,7 @@ "tools": { "label": "Werkzeuge", "docker": { - "label": "" + "label": "Docker" }, "logs": { "label": "" @@ -2627,7 +2627,7 @@ "help": "", "group": { "app": { - "title": "", + "title": "Apps", "children": { "action": { "open": { @@ -2643,7 +2643,7 @@ } }, "board": { - "title": "", + "title": "Boards", "children": { "action": { "open": { @@ -2749,7 +2749,7 @@ "description": "" }, "torrent": { - "name": "", + "name": "Torrents", "description": "" }, "youTube": { @@ -2775,7 +2775,7 @@ "label": "" }, "discord": { - "label": "" + "label": "Community Discord" } } } @@ -2891,7 +2891,7 @@ "search": "", "field": { "name": { - "label": "" + "label": "Name" }, "short": { "label": "" diff --git a/packages/translation/src/lang/el.json b/packages/translation/src/lang/el.json index 4abfc57ad..a9e0c270f 100644 --- a/packages/translation/src/lang/el.json +++ b/packages/translation/src/lang/el.json @@ -41,8 +41,8 @@ "import": "" }, "entities": { - "apps": "", - "boards": "", + "apps": "Εφαρμογές", + "boards": "Πίνακες", "integrations": "", "credentialUsers": "" } @@ -51,7 +51,7 @@ "title": "", "field": { "token": { - "label": "", + "label": "Token", "description": "" } }, @@ -87,7 +87,7 @@ } }, "settings": { - "title": "", + "title": "Ρυθμίσεις", "subtitle": "" }, "finish": { @@ -124,7 +124,7 @@ }, "field": { "email": { - "label": "", + "label": "E-Mail", "verified": "" }, "username": { @@ -302,7 +302,7 @@ } }, "app": { - "title": "", + "title": "Εφαρμογές", "item": { "create": { "label": "", @@ -1026,13 +1026,13 @@ "label": "" }, "layout": { - "label": "", + "label": "Διάταξη", "option": { "row": { - "label": "" + "label": "Οριζόντια" }, "column": { - "label": "" + "label": "Κατακόρυφα" }, "grid": { "label": "" @@ -1648,55 +1648,55 @@ "description": "", "option": { "defaultView": { - "label": "" + "label": "Προεπιλεγμένη προβολή" }, "queuePageSize": { "label": "" } }, "tab": { - "workers": "", - "queue": "", - "statistics": "" + "workers": "Εργάτες", + "queue": "Ουρά", + "statistics": "Στατιστικά" }, "currentIndex": "", "healthCheck": { "title": "", - "queued": "", + "queued": "Στην ουρά", "status": { - "healthy": "", - "unhealthy": "" + "healthy": "Υγιές", + "unhealthy": "Μη υγιές" } }, "panel": { "statistics": { - "empty": "", - "transcodes": "", + "empty": "Άδειο", + "transcodes": "Μετακωδικοποιήσεις", "transcodesCount": "", "healthChecksCount": "", "filesCount": "", "savedSpace": "", "healthChecks": "", - "videoCodecs": "", - "videoContainers": "", - "videoResolutions": "" + "videoCodecs": "Κωδικοποιητές", + "videoContainers": "Containers", + "videoResolutions": "Αναλύσεις" }, "workers": { - "empty": "", + "empty": "Άδειο", "table": { - "file": "", - "eta": "", - "progress": "", - "transcode": "", + "file": "Αρχείο", + "eta": "Εκτιμώμενος χρόνος αναμονής", + "progress": "Πρόοδος", + "transcode": "Μετακωδικοποίηση", "healthCheck": "" } }, "queue": { - "empty": "", + "empty": "Άδειο", "table": { - "file": "", - "size": "", - "transcode": "", + "file": "Αρχείο", + "size": "Μέγεθος", + "transcode": "Μετακωδικοποίηση", "healthCheck": "" } } @@ -2042,9 +2042,9 @@ "tools": { "label": "Εργαλεία", "items": { - "docker": "", + "docker": "Docker", "logs": "", - "api": "", + "api": "API", "tasks": "" } }, @@ -2208,7 +2208,7 @@ "label": "Ημερομηνία λήξης" }, "token": { - "label": "" + "label": "Token" } } } @@ -2218,7 +2218,7 @@ "setting": { "general": { "title": "Γενικά", - "owner": "", + "owner": "Ιδιοκτήτης", "ownerOfGroup": "", "ownerOfGroupDeleted": "" }, @@ -2286,14 +2286,14 @@ } }, "board": { - "title": "", + "title": "Πίνακες", "homeBoard": { "label": "", "description": "" } }, "appearance": { - "title": "", + "title": "Εμφάνιση", "defaultColorScheme": { "label": "", "options": { @@ -2370,7 +2370,7 @@ } }, "api": { - "title": "", + "title": "API", "modal": { "createApiToken": { "title": "", @@ -2419,7 +2419,7 @@ } }, "docker": { - "title": "", + "title": "Containers", "table": { "updated": "", "search": "", @@ -2602,7 +2602,7 @@ "tools": { "label": "Εργαλεία", "docker": { - "label": "" + "label": "Docker" }, "logs": { "label": "" diff --git a/packages/translation/src/lang/es.json b/packages/translation/src/lang/es.json index e1c08f864..f9c3afb22 100644 --- a/packages/translation/src/lang/es.json +++ b/packages/translation/src/lang/es.json @@ -41,8 +41,8 @@ "import": "" }, "entities": { - "apps": "", - "boards": "", + "apps": "Aplicaciones", + "boards": "Tableros", "integrations": "", "credentialUsers": "" } @@ -51,7 +51,7 @@ "title": "", "field": { "token": { - "label": "", + "label": "Token", "description": "" } }, @@ -87,7 +87,7 @@ } }, "settings": { - "title": "", + "title": "Ajustes", "subtitle": "" }, "finish": { @@ -302,7 +302,7 @@ } }, "app": { - "title": "", + "title": "Aplicaciones", "item": { "create": { "label": "", @@ -767,7 +767,7 @@ }, "common": { "beta": "", - "error": "", + "error": "Error", "action": { "add": "Añadir", "apply": "Aplicar", @@ -806,8 +806,8 @@ "min": "", "max": "", "days": "", - "hours": "", - "minutes": "" + "hours": "Horas", + "minutes": "Minutos" }, "notification": { "create": { @@ -1026,13 +1026,13 @@ "label": "" }, "layout": { - "label": "", + "label": "Diseño", "option": { "row": { - "label": "" + "label": "Horizontal" }, "column": { - "label": "" + "label": "Vertical" }, "grid": { "label": "" @@ -1053,10 +1053,10 @@ "label": "Diseño", "option": { "row": { - "label": "" + "label": "Horizontal" }, "column": { - "label": "" + "label": "Vertical" }, "grid": { "label": "" @@ -1086,10 +1086,10 @@ "label": "Diseño", "option": { "row": { - "label": "" + "label": "Horizontal" }, "column": { - "label": "" + "label": "Vertical" }, "grid": { "label": "" @@ -1107,13 +1107,13 @@ "enableAll": "", "disableAll": "", "setTimer": "", - "set": "", + "set": "Establecer", "enabled": "Activado", "disabled": "Desactivado", "processing": "", "disconnected": "", - "hours": "", - "minutes": "", + "hours": "Horas", + "minutes": "Minutos", "unlimited": "" } }, @@ -1213,7 +1213,7 @@ } }, "iframe": { - "name": "", + "name": "iFrame", "description": "Incrusta cualquier contenido de Internet. Algunos sitios web pueden restringir el acceso.", "option": { "embedUrl": { @@ -1345,15 +1345,15 @@ } }, "indexerManager": { - "name": "", + "name": "Estado del Administrador de Índices", "description": "", "option": { "openIndexerSiteInNewTab": { "label": "" } }, - "title": "", - "testAll": "", + "title": "Administrador de Índices", + "testAll": "Probar todo", "error": { "internalServerError": "" } @@ -1504,7 +1504,7 @@ }, "added": { "columnTitle": "", - "detailsTitle": "" + "detailsTitle": "Fecha Agregada" }, "category": { "columnTitle": "", @@ -1532,7 +1532,7 @@ "detailsTitle": "" }, "ratio": { - "columnTitle": "", + "columnTitle": "Ratio", "detailsTitle": "" }, "received": { @@ -1566,7 +1566,7 @@ }, "states": { "downloading": "Descargando", - "queued": "", + "queued": "En cola", "paused": "Pausado", "completed": "Completado", "failed": "", @@ -1635,7 +1635,7 @@ "available": "", "tv": "Solicitudes de TV", "movie": "Solicitudes de películas", - "total": "" + "total": "Total" }, "users": { "main": "Mejores usuarios", @@ -1648,55 +1648,55 @@ "description": "", "option": { "defaultView": { - "label": "" + "label": "Vista predeterminada" }, "queuePageSize": { "label": "" } }, "tab": { - "workers": "", - "queue": "", - "statistics": "" + "workers": "Trabajadores", + "queue": "Cola", + "statistics": "Estadísticas" }, "currentIndex": "", "healthCheck": { "title": "", - "queued": "", + "queued": "En cola", "status": { - "healthy": "", - "unhealthy": "" + "healthy": "Saludable", + "unhealthy": "No saludable" } }, "panel": { "statistics": { - "empty": "", - "transcodes": "", + "empty": "Vacío", + "transcodes": "Transcodificaciones", "transcodesCount": "", "healthChecksCount": "", "filesCount": "", "savedSpace": "", "healthChecks": "", - "videoCodecs": "", - "videoContainers": "", - "videoResolutions": "" + "videoCodecs": "Códecs", + "videoContainers": "Contenedores", + "videoResolutions": "Resoluciones" }, "workers": { - "empty": "", + "empty": "Vacío", "table": { - "file": "", - "eta": "", - "progress": "", - "transcode": "", + "file": "Archivo", + "eta": "Tiempo restante", + "progress": "Completado %", + "transcode": "Transcodificar", "healthCheck": "" } }, "queue": { - "empty": "", + "empty": "Vacío", "table": { - "file": "", - "size": "", - "transcode": "", + "file": "Archivo", + "size": "Tamaño", + "transcode": "Transcodificar", "healthCheck": "" } } @@ -1903,7 +1903,7 @@ "title": "", "section": { "general": { - "title": "", + "title": "General", "unrecognizedLink": "" }, "layout": { @@ -2042,9 +2042,9 @@ "tools": { "label": "Herramientas", "items": { - "docker": "", + "docker": "Docker", "logs": "", - "api": "", + "api": "API", "tasks": "" } }, @@ -2127,7 +2127,7 @@ "fieldsDisabledExternalProvider": "", "setting": { "general": { - "title": "", + "title": "General", "item": { "language": "", "board": "", @@ -2199,7 +2199,7 @@ }, "field": { "id": { - "label": "" + "label": "ID" }, "creator": { "label": "Creador" @@ -2208,7 +2208,7 @@ "label": "Fecha de caducidad" }, "token": { - "label": "" + "label": "Token" } } } @@ -2217,8 +2217,8 @@ "back": "", "setting": { "general": { - "title": "", - "owner": "", + "title": "General", + "owner": "Propietario", "ownerOfGroup": "", "ownerOfGroupDeleted": "" }, @@ -2286,14 +2286,14 @@ } }, "board": { - "title": "", + "title": "Tableros", "homeBoard": { "label": "", "description": "" } }, "appearance": { - "title": "", + "title": "Apariencia", "defaultColorScheme": { "label": "", "options": { @@ -2316,7 +2316,7 @@ "status": { "idle": "", "running": "En ejecución", - "error": "" + "error": "Error" }, "job": { "iconsUpdater": { @@ -2370,7 +2370,7 @@ } }, "api": { - "title": "", + "title": "API", "modal": { "createApiToken": { "title": "", @@ -2390,7 +2390,7 @@ }, "table": { "header": { - "id": "", + "id": "ID", "createdBy": "" } } @@ -2419,7 +2419,7 @@ } }, "docker": { - "title": "", + "title": "Contenedores", "table": { "updated": "", "search": "", @@ -2589,7 +2589,7 @@ "create": { "label": "Crear" }, - "general": "", + "general": "General", "security": "Seguridad", "board": "Tableros", "groups": { @@ -2602,7 +2602,7 @@ "tools": { "label": "Herramientas", "docker": { - "label": "" + "label": "Docker" }, "logs": { "label": "" @@ -2749,7 +2749,7 @@ "description": "" }, "torrent": { - "name": "", + "name": "Torrents", "description": "" }, "youTube": { diff --git a/packages/translation/src/lang/fr.json b/packages/translation/src/lang/fr.json index 2a13c4f43..1cc4ce51a 100644 --- a/packages/translation/src/lang/fr.json +++ b/packages/translation/src/lang/fr.json @@ -41,8 +41,8 @@ "import": "" }, "entities": { - "apps": "", - "boards": "", + "apps": "Applications", + "boards": "Tableaux de bord", "integrations": "", "credentialUsers": "" } @@ -51,7 +51,7 @@ "title": "", "field": { "token": { - "label": "", + "label": "Jeton", "description": "" } }, @@ -87,7 +87,7 @@ } }, "settings": { - "title": "", + "title": "Paramètres", "subtitle": "" }, "finish": { @@ -293,7 +293,7 @@ }, "permission": { "admin": { - "title": "", + "title": "Admin", "item": { "admin": { "label": "", @@ -302,7 +302,7 @@ } }, "app": { - "title": "", + "title": "Applications", "item": { "create": { "label": "", @@ -733,7 +733,7 @@ "field": { "name": "Nom", "size": "Taille", - "creator": "Créé par" + "creator": "Créateur" }, "action": { "upload": { @@ -807,7 +807,7 @@ "max": "", "days": "", "hours": "Heures", - "minutes": "" + "minutes": "Minutes" }, "notification": { "create": { @@ -1026,13 +1026,13 @@ "label": "" }, "layout": { - "label": "", + "label": "Mise en page", "option": { "row": { - "label": "" + "label": "Horizontale" }, "column": { - "label": "" + "label": "Verticale" }, "grid": { "label": "" @@ -1113,7 +1113,7 @@ "processing": "", "disconnected": "", "hours": "Heures", - "minutes": "", + "minutes": "Minutes", "unlimited": "" } }, @@ -1172,7 +1172,7 @@ "underline": "Souligner", "colorText": "Colorer le texte", "colorHighlight": "Surligner en couleur", - "code": "", + "code": "Code", "clear": "Effacer la mise en forme", "heading": "Titre {level}", "align": "Aligner le texte : {position}", @@ -1204,7 +1204,7 @@ }, "popover": { "clearColor": "Enlever la couleur", - "source": "", + "source": "Source", "widthPlaceholder": "Valeur en % ou en pixels", "columns": "Colonnes", "rows": "Lignes", @@ -1213,7 +1213,7 @@ } }, "iframe": { - "name": "", + "name": "iFrame", "description": "Intégrer n'importe quel contenu à partir d'Internet. Certains sites Web peuvent restreindre l'accès.", "option": { "embedUrl": { @@ -1532,7 +1532,7 @@ "detailsTitle": "" }, "ratio": { - "columnTitle": "", + "columnTitle": "Ratio", "detailsTitle": "" }, "received": { @@ -1635,7 +1635,7 @@ "available": "", "tv": "Demandes de séries TV", "movie": "Demandes de films", - "total": "" + "total": "Total" }, "users": { "main": "Principaux utilisateurs", @@ -1648,55 +1648,55 @@ "description": "", "option": { "defaultView": { - "label": "" + "label": "Affichage par défaut" }, "queuePageSize": { "label": "" } }, "tab": { - "workers": "", - "queue": "", - "statistics": "" + "workers": "Travailleurs", + "queue": "File d'attente", + "statistics": "Statistiques" }, "currentIndex": "", "healthCheck": { "title": "", - "queued": "", + "queued": "En file d’attente", "status": { - "healthy": "", - "unhealthy": "" + "healthy": "Sain", + "unhealthy": "Dysfonctionnement" } }, "panel": { "statistics": { - "empty": "", - "transcodes": "", + "empty": "Vide", + "transcodes": "Transcodeur", "transcodesCount": "", "healthChecksCount": "", "filesCount": "", "savedSpace": "", "healthChecks": "", - "videoCodecs": "", - "videoContainers": "", - "videoResolutions": "" + "videoCodecs": "Codecs", + "videoContainers": "Conteneurs", + "videoResolutions": "Résolutions" }, "workers": { - "empty": "", + "empty": "Vide", "table": { - "file": "", - "eta": "", - "progress": "", - "transcode": "", + "file": "Fichier", + "eta": "ETA", + "progress": "Progrès", + "transcode": "Transcodeur", "healthCheck": "" } }, "queue": { - "empty": "", + "empty": "Vide", "table": { - "file": "", - "size": "", - "transcode": "", + "file": "Fichier", + "size": "Taille", + "transcode": "Transcodeur", "healthCheck": "" } } @@ -1892,7 +1892,7 @@ "label": "Nom" }, "isPublic": { - "label": "", + "label": "Public", "description": "" } }, @@ -2042,9 +2042,9 @@ "tools": { "label": "Outils", "items": { - "docker": "", + "docker": "Docker", "logs": "", - "api": "", + "api": "API", "tasks": "" } }, @@ -2052,7 +2052,7 @@ "help": { "label": "Aide", "items": { - "documentation": "", + "documentation": "Documentation", "submitIssue": "", "discord": "Communauté Discord", "sourceCode": "" @@ -2199,10 +2199,10 @@ }, "field": { "id": { - "label": "" + "label": "ID" }, "creator": { - "label": "Créé par" + "label": "Créateur" }, "expirationDate": { "label": "Date d'expiration" @@ -2218,7 +2218,7 @@ "setting": { "general": { "title": "Général", - "owner": "", + "owner": "Propriétaire", "ownerOfGroup": "", "ownerOfGroupDeleted": "" }, @@ -2286,14 +2286,14 @@ } }, "board": { - "title": "", + "title": "Tableaux de bord", "homeBoard": { "label": "", "description": "" } }, "appearance": { - "title": "", + "title": "Apparence", "defaultColorScheme": { "label": "", "options": { @@ -2315,7 +2315,7 @@ "title": "", "status": { "idle": "", - "running": "", + "running": "Running", "error": "Erreur" }, "job": { @@ -2370,7 +2370,7 @@ } }, "api": { - "title": "", + "title": "API", "modal": { "createApiToken": { "title": "", @@ -2380,7 +2380,7 @@ }, "tab": { "documentation": { - "label": "" + "label": "Documentation" }, "apiKey": { "label": "", @@ -2390,7 +2390,7 @@ }, "table": { "header": { - "id": "", + "id": "ID", "createdBy": "" } } @@ -2433,7 +2433,7 @@ "label": "État", "option": { "created": "Créé", - "running": "", + "running": "Running", "paused": "En pause", "restarting": "Redémarrage en cours", "exited": "", @@ -2442,10 +2442,10 @@ } }, "containerImage": { - "label": "" + "label": "Image" }, "ports": { - "label": "" + "label": "Ports" } }, "action": { @@ -2463,7 +2463,7 @@ } }, "stop": { - "label": "", + "label": "Stop", "notification": { "success": { "title": "", @@ -2602,7 +2602,7 @@ "tools": { "label": "Outils", "docker": { - "label": "" + "label": "Docker" }, "logs": { "label": "" @@ -2749,7 +2749,7 @@ "description": "" }, "torrent": { - "name": "", + "name": "Torrents", "description": "" }, "youTube": { @@ -2769,7 +2769,7 @@ "title": "Aide", "option": { "documentation": { - "label": "" + "label": "Documentation" }, "submitIssue": { "label": "" diff --git a/packages/translation/src/lang/he.json b/packages/translation/src/lang/he.json index b268168b8..55cc8edb5 100644 --- a/packages/translation/src/lang/he.json +++ b/packages/translation/src/lang/he.json @@ -2,96 +2,96 @@ "init": { "step": { "start": { - "title": "", - "subtitle": "", - "description": "", + "title": "ברוכים הבאים ל- Homarr", + "subtitle": "בוא נתחיל בהגדרת ה-Homarr שלך.", + "description": "כדי להתחיל, בחר כיצד ברצונך להגדיר את ה-Homarr שלך.", "action": { - "scratch": "", - "importOldmarr": "" + "scratch": "התחל מאפס", + "importOldmarr": "יבוא מ-Homarr לפני 1.0" } }, "import": { - "title": "", - "subtitle": "", + "title": "ייבוא נתונים", + "subtitle": "אתה יכול לייבא נתונים מ- Homarr קיים.", "dropzone": { - "title": "", - "description": "" + "title": "גרור את קובץ ה-zip לכאן או לחץ כדי לחפש", + "description": "ה-zip שהועלה יעובד ותוכל לבחור מה אתה רוצה לייבא" }, "fileInfo": { "action": { - "change": "" + "change": "שנה קובץ" } }, "importSettings": { - "title": "", - "description": "" + "title": "הגדרות ייבוא", + "description": "הגדר את התנהגות הייבוא" }, "boardSelection": { - "title": "", - "description": "", + "title": "נמצאו {count} לוחות", + "description": "בחר את כל הלוחות שברצונך לייבא", "action": { - "selectAll": "", - "unselectAll": "" + "selectAll": "בחר הכל", + "unselectAll": "בטל את הבחירה בכולם" } }, "summary": { - "title": "", - "description": "", + "title": "סיכום ייבוא", + "description": "בסיכום למטה תוכלו לראות מה ייבא", "action": { - "import": "" + "import": "אשר את הייבוא והמשך" }, "entities": { - "apps": "", - "boards": "", - "integrations": "", - "credentialUsers": "" + "apps": "אפליקציות", + "boards": "לוחות", + "integrations": "אינטגרציות", + "credentialUsers": "משתמשים מאושרים" } }, "tokenModal": { - "title": "", + "title": "הזן אסימון ייבוא", "field": { "token": { - "label": "", - "description": "" + "label": "טוקן", + "description": "הזן את אסימון הייבוא המוצג ב- Homarr הקודם שלך" } }, "notification": { "error": { - "title": "", - "message": "" + "title": "אסימון לא חוקי", + "message": "האסימון שהזנת אינו חוקי" } } } }, "user": { - "title": "", - "subtitle": "", + "title": "משתמש מנהל", + "subtitle": "ציין את האישורים עבור משתמש המנהל שלך.", "notification": { "success": { - "title": "", - "message": "" + "title": "המשתמש נוצר", + "message": "המשתמש נוצר בהצלחה" }, "error": { - "title": "" + "title": "יצירת המשתמש נכשלה" } } }, "group": { - "title": "", - "subtitle": "", + "title": "קבוצה חיצונית", + "subtitle": "ציין את הקבוצה שבה יש להשתמש עבור משתמשים חיצוניים.", "form": { "name": { - "label": "", - "description": "" + "label": "שם הקבוצה", + "description": "השם צריך להתאים לקבוצת הניהול של הספק החיצוני" } } }, "settings": { - "title": "", - "subtitle": "" + "title": "הגדרות", + "subtitle": "קבע את הגדרות השרת." }, "finish": { - "title": "", + "title": "סיים את ההגדרה", "subtitle": "", "description": "", "action": { @@ -302,7 +302,7 @@ } }, "app": { - "title": "", + "title": "אפליקציות", "item": { "create": { "label": "", @@ -344,7 +344,7 @@ } }, "integration": { - "title": "", + "title": "אינטגרציות", "item": { "create": { "label": "", @@ -559,7 +559,7 @@ "integration": { "page": { "list": { - "title": "", + "title": "אינטגרציות", "search": "", "noResults": { "title": "" @@ -978,7 +978,7 @@ }, "field": { "integrations": { - "label": "" + "label": "אינטגרציות" }, "customCssClasses": { "label": "" @@ -1026,13 +1026,13 @@ "label": "" }, "layout": { - "label": "", + "label": "פריסה", "option": { "row": { - "label": "" + "label": "אופקי" }, "column": { - "label": "" + "label": "אנכי" }, "grid": { "label": "" @@ -1213,7 +1213,7 @@ } }, "iframe": { - "name": "", + "name": "iFrame", "description": "הטמע כל תוכן מהאינטרנט. חלק מהאתרים עשויים להגביל את הגישה.", "option": { "embedUrl": { @@ -1648,55 +1648,55 @@ "description": "", "option": { "defaultView": { - "label": "" + "label": "תצוגת ברירת מחדל" }, "queuePageSize": { "label": "" } }, "tab": { - "workers": "", - "queue": "", - "statistics": "" + "workers": "עובדים", + "queue": "תור", + "statistics": "סטָטִיסטִיקָה" }, "currentIndex": "", "healthCheck": { "title": "", - "queued": "", + "queued": "בתור", "status": { - "healthy": "", - "unhealthy": "" + "healthy": "בָּרִיא", + "unhealthy": "לא בריא" } }, "panel": { "statistics": { - "empty": "", - "transcodes": "", + "empty": "ריק", + "transcodes": "קידודים", "transcodesCount": "", "healthChecksCount": "", "filesCount": "", "savedSpace": "", "healthChecks": "", - "videoCodecs": "", - "videoContainers": "", - "videoResolutions": "" + "videoCodecs": "קודקים", + "videoContainers": "מיכלים", + "videoResolutions": "רזולוציות" }, "workers": { - "empty": "", + "empty": "ריק", "table": { - "file": "", - "eta": "", - "progress": "", - "transcode": "", + "file": "קוֹבֶץ", + "eta": "זמן סיום משוער", + "progress": "התקדמות", + "transcode": "קידוד", "healthCheck": "" } }, "queue": { - "empty": "", + "empty": "ריק", "table": { - "file": "", - "size": "", - "transcode": "", + "file": "קוֹבֶץ", + "size": "גודל", + "transcode": "קידוד", "healthCheck": "" } } @@ -1981,7 +1981,7 @@ }, "error": { "noBoard": { - "title": "", + "title": "ברוכים הבאים ל- Homarr", "description": "", "link": "", "notice": "" @@ -2028,7 +2028,7 @@ "home": "מסך הבית", "boards": "לוחות", "apps": "אפליקציות", - "integrations": "", + "integrations": "אינטגרציות", "searchEngies": "", "medias": "", "users": { @@ -2067,7 +2067,7 @@ "board": "לוחות", "user": "משתמשים", "invite": "הזמנות", - "integration": "", + "integration": "אינטגרציות", "app": "אפליקציות", "group": "" }, @@ -2168,10 +2168,10 @@ "label": "" }, "completed": { - "title": "" + "title": "המשתמש נוצר" }, "error": { - "title": "" + "title": "יצירת המשתמש נכשלה" } }, "action": { @@ -2218,7 +2218,7 @@ "setting": { "general": { "title": "כללי", - "owner": "", + "owner": "בעלים", "ownerOfGroup": "", "ownerOfGroupDeleted": "" }, @@ -2286,14 +2286,14 @@ } }, "board": { - "title": "", + "title": "לוחות", "homeBoard": { "label": "", "description": "" } }, "appearance": { - "title": "", + "title": "מראה", "defaultColorScheme": { "label": "", "options": { @@ -2555,7 +2555,7 @@ "label": "לוחות" }, "integrations": { - "label": "", + "label": "אינטגרציות", "edit": { "label": "עריכה" }, @@ -2662,7 +2662,7 @@ } }, "integration": { - "title": "" + "title": "אינטגרציות" } } }, diff --git a/packages/translation/src/lang/hr.json b/packages/translation/src/lang/hr.json index 4bc952a62..8f74dda7b 100644 --- a/packages/translation/src/lang/hr.json +++ b/packages/translation/src/lang/hr.json @@ -41,8 +41,8 @@ "import": "" }, "entities": { - "apps": "", - "boards": "", + "apps": "aplikacije", + "boards": "Daske", "integrations": "", "credentialUsers": "" } @@ -51,7 +51,7 @@ "title": "", "field": { "token": { - "label": "", + "label": "Znak", "description": "" } }, @@ -87,7 +87,7 @@ } }, "settings": { - "title": "", + "title": "Postavke", "subtitle": "" }, "finish": { @@ -302,7 +302,7 @@ } }, "app": { - "title": "", + "title": "aplikacije", "item": { "create": { "label": "", @@ -1026,13 +1026,13 @@ "label": "" }, "layout": { - "label": "", + "label": "Raspored", "option": { "row": { - "label": "" + "label": "Horizontalno" }, "column": { - "label": "" + "label": "Okomito" }, "grid": { "label": "" @@ -1213,7 +1213,7 @@ } }, "iframe": { - "name": "", + "name": "iFrame", "description": "Ugradite bilo koji sadržaj s interneta. Neke web stranice mogu ograničiti pristup.", "option": { "embedUrl": { @@ -1432,7 +1432,7 @@ "option": {} }, "video": { - "name": "", + "name": "Video Stream", "description": "Ugradi video stream ili video sa kamere i/ili web stranice", "option": { "feedUrl": { @@ -1656,7 +1656,7 @@ }, "tab": { "workers": "", - "queue": "", + "queue": "Red čekanja", "statistics": "" }, "currentIndex": "", @@ -1670,7 +1670,7 @@ }, "panel": { "statistics": { - "empty": "", + "empty": "Isprazni", "transcodes": "", "transcodesCount": "", "healthChecksCount": "", @@ -1682,20 +1682,20 @@ "videoResolutions": "" }, "workers": { - "empty": "", + "empty": "Isprazni", "table": { "file": "", - "eta": "", - "progress": "", + "eta": "ETA", + "progress": "Napredak", "transcode": "", "healthCheck": "" } }, "queue": { - "empty": "", + "empty": "Isprazni", "table": { "file": "", - "size": "", + "size": "Veličina", "transcode": "", "healthCheck": "" } @@ -2042,7 +2042,7 @@ "tools": { "label": "Alati", "items": { - "docker": "", + "docker": "Docker", "logs": "", "api": "", "tasks": "" @@ -2286,14 +2286,14 @@ } }, "board": { - "title": "", + "title": "Daske", "homeBoard": { "label": "", "description": "" } }, "appearance": { - "title": "", + "title": "Izgled", "defaultColorScheme": { "label": "", "options": { @@ -2602,7 +2602,7 @@ "tools": { "label": "Alati", "docker": { - "label": "" + "label": "Docker" }, "logs": { "label": "" diff --git a/packages/translation/src/lang/hu.json b/packages/translation/src/lang/hu.json index c02bbc614..9920a245a 100644 --- a/packages/translation/src/lang/hu.json +++ b/packages/translation/src/lang/hu.json @@ -41,8 +41,8 @@ "import": "" }, "entities": { - "apps": "", - "boards": "", + "apps": "Alkalmazások", + "boards": "Táblák", "integrations": "", "credentialUsers": "" } @@ -51,7 +51,7 @@ "title": "", "field": { "token": { - "label": "", + "label": "Token", "description": "" } }, @@ -87,7 +87,7 @@ } }, "settings": { - "title": "", + "title": "Beállítások", "subtitle": "" }, "finish": { @@ -302,7 +302,7 @@ } }, "app": { - "title": "", + "title": "Alkalmazások", "item": { "create": { "label": "", @@ -1026,13 +1026,13 @@ "label": "" }, "layout": { - "label": "", + "label": "Elrendezés", "option": { "row": { - "label": "" + "label": "Vízszintes" }, "column": { - "label": "" + "label": "Függőleges" }, "grid": { "label": "" @@ -1648,55 +1648,55 @@ "description": "", "option": { "defaultView": { - "label": "" + "label": "Alapértelmezett nézet" }, "queuePageSize": { "label": "" } }, "tab": { - "workers": "", - "queue": "", - "statistics": "" + "workers": "Munkások", + "queue": "Várólista", + "statistics": "Statisztikák" }, "currentIndex": "", "healthCheck": { "title": "", - "queued": "", + "queued": "Sorban áll", "status": { - "healthy": "", - "unhealthy": "" + "healthy": "Egészséges", + "unhealthy": "Egészségtelen" } }, "panel": { "statistics": { - "empty": "", - "transcodes": "", + "empty": "Üres", + "transcodes": "Átkódolás", "transcodesCount": "", "healthChecksCount": "", "filesCount": "", "savedSpace": "", "healthChecks": "", - "videoCodecs": "", - "videoContainers": "", - "videoResolutions": "" + "videoCodecs": "Kodekek", + "videoContainers": "Tartály", + "videoResolutions": "Felbontás" }, "workers": { - "empty": "", + "empty": "Üres", "table": { - "file": "", - "eta": "", - "progress": "", - "transcode": "", + "file": "Fájl", + "eta": "Hátralévő idő", + "progress": "Folyamat", + "transcode": "Átkódolás", "healthCheck": "" } }, "queue": { - "empty": "", + "empty": "Üres", "table": { - "file": "", - "size": "", - "transcode": "", + "file": "Fájl", + "size": "Méret", + "transcode": "Átkódolás", "healthCheck": "" } } @@ -2042,9 +2042,9 @@ "tools": { "label": "Eszközök", "items": { - "docker": "", + "docker": "Docker", "logs": "", - "api": "", + "api": "API", "tasks": "" } }, @@ -2208,7 +2208,7 @@ "label": "Lejárati idő" }, "token": { - "label": "" + "label": "Token" } } } @@ -2218,7 +2218,7 @@ "setting": { "general": { "title": "Általános", - "owner": "", + "owner": "Tulajdonos", "ownerOfGroup": "", "ownerOfGroupDeleted": "" }, @@ -2286,14 +2286,14 @@ } }, "board": { - "title": "", + "title": "Táblák", "homeBoard": { "label": "", "description": "" } }, "appearance": { - "title": "", + "title": "Megjelenés", "defaultColorScheme": { "label": "", "options": { @@ -2370,7 +2370,7 @@ } }, "api": { - "title": "", + "title": "API", "modal": { "createApiToken": { "title": "", @@ -2602,7 +2602,7 @@ "tools": { "label": "Eszközök", "docker": { - "label": "" + "label": "Docker" }, "logs": { "label": "" diff --git a/packages/translation/src/lang/it.json b/packages/translation/src/lang/it.json index 1ea8d025c..d3c727a89 100644 --- a/packages/translation/src/lang/it.json +++ b/packages/translation/src/lang/it.json @@ -41,8 +41,8 @@ "import": "" }, "entities": { - "apps": "", - "boards": "", + "apps": "Applicazioni", + "boards": "Boards", "integrations": "", "credentialUsers": "" } @@ -51,7 +51,7 @@ "title": "", "field": { "token": { - "label": "", + "label": "Token", "description": "" } }, @@ -87,7 +87,7 @@ } }, "settings": { - "title": "", + "title": "Impostazioni", "subtitle": "" }, "finish": { @@ -131,7 +131,7 @@ "label": "Nome utente" }, "password": { - "label": "", + "label": "Password", "requirement": { "length": "", "lowercase": "Include lettera minuscola", @@ -293,7 +293,7 @@ }, "permission": { "admin": { - "title": "", + "title": "Admin", "item": { "admin": { "label": "", @@ -302,7 +302,7 @@ } }, "app": { - "title": "", + "title": "Applicazioni", "item": { "create": { "label": "", @@ -323,7 +323,7 @@ } }, "board": { - "title": "", + "title": "Boards", "item": { "create": { "label": "", @@ -716,7 +716,7 @@ "newLabel": "" }, "password": { - "label": "", + "label": "Password", "newLabel": "Nuova password" } } @@ -853,7 +853,7 @@ "updateAvailable": "" } }, - "dangerZone": "", + "dangerZone": "Danger zone", "noResults": "Nessun risultato trovato", "preview": { "show": "", @@ -1026,13 +1026,13 @@ "label": "" }, "layout": { - "label": "", + "label": "Layout", "option": { "row": { - "label": "" + "label": "Orizzontale" }, "column": { - "label": "" + "label": "Verticale" }, "grid": { "label": "" @@ -1050,7 +1050,7 @@ "description": "", "option": { "layout": { - "label": "", + "label": "Layout", "option": { "row": { "label": "Orizzontale" @@ -1083,7 +1083,7 @@ "description": "Controlla PiHole o AdGuard dalla tua dashboard", "option": { "layout": { - "label": "", + "label": "Layout", "option": { "row": { "label": "Orizzontale" @@ -1183,7 +1183,7 @@ "checkList": "Elenco di controllo", "increaseIndent": "Aumenta indentatura", "decreaseIndent": "Diminuisci indentatura", - "link": "", + "link": "Link", "unlink": "Elimina link", "image": "Incorpora immagine", "addTable": "Aggiungi tabella", @@ -1213,7 +1213,7 @@ } }, "iframe": { - "name": "", + "name": "iFrame", "description": "Incorpora qualsiasi contenuto da Internet. Alcuni siti web possono limitare l'accesso.", "option": { "embedUrl": { @@ -1511,7 +1511,7 @@ "detailsTitle": "" }, "downSpeed": { - "columnTitle": "", + "columnTitle": "Down", "detailsTitle": "Velocità Di Download" }, "index": { @@ -1532,7 +1532,7 @@ "detailsTitle": "" }, "ratio": { - "columnTitle": "", + "columnTitle": "Ratio", "detailsTitle": "" }, "received": { @@ -1560,7 +1560,7 @@ "detailsTitle": "" }, "upSpeed": { - "columnTitle": "", + "columnTitle": "Up", "detailsTitle": "" } }, @@ -1648,55 +1648,55 @@ "description": "", "option": { "defaultView": { - "label": "" + "label": "Vista predefinita" }, "queuePageSize": { "label": "" } }, "tab": { - "workers": "", - "queue": "", - "statistics": "" + "workers": "Worker", + "queue": "Coda", + "statistics": "Statistiche" }, "currentIndex": "", "healthCheck": { "title": "", - "queued": "", + "queued": "In coda", "status": { - "healthy": "", - "unhealthy": "" + "healthy": "Sano", + "unhealthy": "Non integro" } }, "panel": { "statistics": { - "empty": "", - "transcodes": "", + "empty": "Vuoto", + "transcodes": "Transcodes", "transcodesCount": "", "healthChecksCount": "", "filesCount": "", "savedSpace": "", "healthChecks": "", - "videoCodecs": "", - "videoContainers": "", - "videoResolutions": "" + "videoCodecs": "Codecs", + "videoContainers": "Containers", + "videoResolutions": "Risoluzioni" }, "workers": { - "empty": "", + "empty": "Vuoto", "table": { - "file": "", - "eta": "", - "progress": "", - "transcode": "", + "file": "File", + "eta": "ETA", + "progress": "Avanzamento", + "transcode": "Transcode", "healthCheck": "" } }, "queue": { - "empty": "", + "empty": "Vuoto", "table": { - "file": "", - "size": "", - "transcode": "", + "file": "File", + "size": "Dimensione", + "transcode": "Transcode", "healthCheck": "" } } @@ -1907,7 +1907,7 @@ "unrecognizedLink": "" }, "layout": { - "title": "" + "title": "Layout" }, "background": { "title": "Sfondo" @@ -1935,7 +1935,7 @@ } }, "dangerZone": { - "title": "", + "title": "Danger zone", "action": { "rename": { "label": "", @@ -2025,8 +2025,8 @@ }, "navbar": { "items": { - "home": "", - "boards": "", + "home": "Home", + "boards": "Boards", "apps": "Applicazioni", "integrations": "", "searchEngies": "", @@ -2042,9 +2042,9 @@ "tools": { "label": "Strumenti", "items": { - "docker": "", + "docker": "Docker", "logs": "", - "api": "", + "api": "API", "tasks": "" } }, @@ -2064,7 +2064,7 @@ "page": { "home": { "statistic": { - "board": "", + "board": "Boards", "user": "Utenti", "invite": "Inviti", "integration": "", @@ -2072,7 +2072,7 @@ "group": "" }, "statisticLabel": { - "boards": "", + "boards": "Boards", "resources": "", "authentication": "", "authorization": "" @@ -2093,7 +2093,7 @@ "setHomeBoard": { "label": "", "badge": { - "label": "", + "label": "Home", "tooltip": "" } }, @@ -2139,7 +2139,7 @@ "title": "Sicurezza" }, "board": { - "title": "" + "title": "Boards" } }, "list": { @@ -2199,7 +2199,7 @@ }, "field": { "id": { - "label": "" + "label": "ID" }, "creator": { "label": "Creatore" @@ -2208,7 +2208,7 @@ "label": "Data di scadenza" }, "token": { - "label": "" + "label": "Token" } } } @@ -2218,7 +2218,7 @@ "setting": { "general": { "title": "Generale", - "owner": "", + "owner": "Proprietario", "ownerOfGroup": "", "ownerOfGroupDeleted": "" }, @@ -2286,14 +2286,14 @@ } }, "board": { - "title": "", + "title": "Boards", "homeBoard": { "label": "", "description": "" } }, "appearance": { - "title": "", + "title": "Aspetto", "defaultColorScheme": { "label": "", "options": { @@ -2370,7 +2370,7 @@ } }, "api": { - "title": "", + "title": "API", "modal": { "createApiToken": { "title": "", @@ -2390,7 +2390,7 @@ }, "table": { "header": { - "id": "", + "id": "ID", "createdBy": "" } } @@ -2419,7 +2419,7 @@ } }, "docker": { - "title": "", + "title": "Containers", "table": { "updated": "", "search": "", @@ -2552,7 +2552,7 @@ "manage": { "label": "Gestisci", "boards": { - "label": "" + "label": "Boards" }, "integrations": { "label": "", @@ -2591,7 +2591,7 @@ }, "general": "Generale", "security": "Sicurezza", - "board": "", + "board": "Boards", "groups": { "label": "" }, @@ -2602,7 +2602,7 @@ "tools": { "label": "Strumenti", "docker": { - "label": "" + "label": "Docker" }, "logs": { "label": "" @@ -2643,7 +2643,7 @@ } }, "board": { - "title": "", + "title": "Boards", "children": { "action": { "open": { @@ -2749,7 +2749,7 @@ "description": "" }, "torrent": { - "name": "", + "name": "Torrents", "description": "" }, "youTube": { diff --git a/packages/translation/src/lang/ja.json b/packages/translation/src/lang/ja.json index 3d3777058..6d52f5b76 100644 --- a/packages/translation/src/lang/ja.json +++ b/packages/translation/src/lang/ja.json @@ -41,8 +41,8 @@ "import": "" }, "entities": { - "apps": "", - "boards": "", + "apps": "アプリ", + "boards": "ボード", "integrations": "", "credentialUsers": "" } @@ -51,7 +51,7 @@ "title": "", "field": { "token": { - "label": "", + "label": "トークン", "description": "" } }, @@ -87,7 +87,7 @@ } }, "settings": { - "title": "", + "title": "設定", "subtitle": "" }, "finish": { @@ -302,7 +302,7 @@ } }, "app": { - "title": "", + "title": "アプリ", "item": { "create": { "label": "", @@ -770,7 +770,7 @@ "error": "エラー", "action": { "add": "追加", - "apply": "適用する", + "apply": "適用", "backToOverview": "", "create": "作成", "edit": "編集", @@ -785,7 +785,7 @@ "confirm": "確認", "continue": "", "previous": "前へ", - "next": "次のページ", + "next": "次へ", "checkoutDocs": "", "checkLogs": "", "tryAgain": "リトライ", @@ -1026,13 +1026,13 @@ "label": "" }, "layout": { - "label": "", + "label": "レイアウト", "option": { "row": { - "label": "" + "label": "水平" }, "column": { - "label": "" + "label": "垂直" }, "grid": { "label": "" @@ -1648,55 +1648,55 @@ "description": "", "option": { "defaultView": { - "label": "" + "label": "デフォルト表示" }, "queuePageSize": { "label": "" } }, "tab": { - "workers": "", - "queue": "", - "statistics": "" + "workers": "ワーカー", + "queue": "キュー", + "statistics": "統計" }, "currentIndex": "", "healthCheck": { "title": "", - "queued": "", + "queued": "処理待ち", "status": { - "healthy": "", - "unhealthy": "" + "healthy": "正常", + "unhealthy": "異常" } }, "panel": { "statistics": { - "empty": "", - "transcodes": "", + "empty": "空", + "transcodes": "トランスコード", "transcodesCount": "", "healthChecksCount": "", "filesCount": "", "savedSpace": "", "healthChecks": "", - "videoCodecs": "", - "videoContainers": "", - "videoResolutions": "" + "videoCodecs": "コーデック", + "videoContainers": "コンテナ", + "videoResolutions": "解像度" }, "workers": { - "empty": "", + "empty": "空", "table": { - "file": "", - "eta": "", - "progress": "", - "transcode": "", + "file": "ファイル", + "eta": "ETA", + "progress": "進捗状況", + "transcode": "トランスコード", "healthCheck": "" } }, "queue": { - "empty": "", + "empty": "空", "table": { - "file": "", - "size": "", - "transcode": "", + "file": "ファイル", + "size": "サイズ", + "transcode": "トランスコード", "healthCheck": "" } } @@ -2042,9 +2042,9 @@ "tools": { "label": "ツール", "items": { - "docker": "", + "docker": "Docker", "logs": "", - "api": "", + "api": "API", "tasks": "" } }, @@ -2058,7 +2058,7 @@ "sourceCode": "" } }, - "about": "" + "about": "About" } }, "page": { @@ -2199,7 +2199,7 @@ }, "field": { "id": { - "label": "" + "label": "ID" }, "creator": { "label": "クリエイター" @@ -2218,7 +2218,7 @@ "setting": { "general": { "title": "一般", - "owner": "", + "owner": "所有者", "ownerOfGroup": "", "ownerOfGroupDeleted": "" }, @@ -2286,14 +2286,14 @@ } }, "board": { - "title": "", + "title": "ボード", "homeBoard": { "label": "", "description": "" } }, "appearance": { - "title": "", + "title": "外観", "defaultColorScheme": { "label": "", "options": { @@ -2370,7 +2370,7 @@ } }, "api": { - "title": "", + "title": "API", "modal": { "createApiToken": { "title": "", @@ -2390,7 +2390,7 @@ }, "table": { "header": { - "id": "", + "id": "ID", "createdBy": "" } } @@ -2602,7 +2602,7 @@ "tools": { "label": "ツール", "docker": { - "label": "" + "label": "Docker" }, "logs": { "label": "" @@ -2612,7 +2612,7 @@ "label": "設定" }, "about": { - "label": "" + "label": "About" } } }, @@ -2837,7 +2837,7 @@ "label": "" }, "about": { - "label": "" + "label": "About" }, "homeBoard": { "label": "" diff --git a/packages/translation/src/lang/ko.json b/packages/translation/src/lang/ko.json index f3f7e531c..aafeac7bd 100644 --- a/packages/translation/src/lang/ko.json +++ b/packages/translation/src/lang/ko.json @@ -41,8 +41,8 @@ "import": "" }, "entities": { - "apps": "", - "boards": "", + "apps": "앱", + "boards": "보드", "integrations": "", "credentialUsers": "" } @@ -51,7 +51,7 @@ "title": "", "field": { "token": { - "label": "", + "label": "토큰", "description": "" } }, @@ -87,7 +87,7 @@ } }, "settings": { - "title": "", + "title": "설정", "subtitle": "" }, "finish": { @@ -302,7 +302,7 @@ } }, "app": { - "title": "", + "title": "앱", "item": { "create": { "label": "", @@ -1026,13 +1026,13 @@ "label": "" }, "layout": { - "label": "", + "label": "레이아웃", "option": { "row": { - "label": "" + "label": "수평" }, "column": { - "label": "" + "label": "세로" }, "grid": { "label": "" @@ -1213,7 +1213,7 @@ } }, "iframe": { - "name": "", + "name": "iFrame", "description": "인터넷에서 콘텐츠를 퍼옵니다. 일부 웹사이트는 액세스를 제한할 수 있습니다.", "option": { "embedUrl": { @@ -1656,7 +1656,7 @@ }, "tab": { "workers": "", - "queue": "", + "queue": "대기열", "statistics": "" }, "currentIndex": "", @@ -1670,7 +1670,7 @@ }, "panel": { "statistics": { - "empty": "", + "empty": "비어 있음", "transcodes": "", "transcodesCount": "", "healthChecksCount": "", @@ -1682,20 +1682,20 @@ "videoResolutions": "" }, "workers": { - "empty": "", + "empty": "비어 있음", "table": { "file": "", - "eta": "", - "progress": "", + "eta": "남은 시간", + "progress": "진행률", "transcode": "", "healthCheck": "" } }, "queue": { - "empty": "", + "empty": "비어 있음", "table": { "file": "", - "size": "", + "size": "크기", "transcode": "", "healthCheck": "" } @@ -1783,9 +1783,9 @@ "label": "", "description": "", "option": { - "sm": "", - "md": "", - "lg": "" + "sm": "Small", + "md": "Medium", + "lg": "Large" } }, "sidebarBehavior": { @@ -2042,7 +2042,7 @@ "tools": { "label": "도구", "items": { - "docker": "", + "docker": "Docker", "logs": "", "api": "", "tasks": "" @@ -2199,7 +2199,7 @@ }, "field": { "id": { - "label": "" + "label": "ID" }, "creator": { "label": "크리에이터" @@ -2286,14 +2286,14 @@ } }, "board": { - "title": "", + "title": "보드", "homeBoard": { "label": "", "description": "" } }, "appearance": { - "title": "", + "title": "모양", "defaultColorScheme": { "label": "", "options": { @@ -2390,7 +2390,7 @@ }, "table": { "header": { - "id": "", + "id": "ID", "createdBy": "" } } @@ -2602,7 +2602,7 @@ "tools": { "label": "도구", "docker": { - "label": "" + "label": "Docker" }, "logs": { "label": "" diff --git a/packages/translation/src/lang/lt.json b/packages/translation/src/lang/lt.json index 1bf728aad..610fb1440 100644 --- a/packages/translation/src/lang/lt.json +++ b/packages/translation/src/lang/lt.json @@ -41,8 +41,8 @@ "import": "" }, "entities": { - "apps": "", - "boards": "", + "apps": "Programėlės", + "boards": "Lentos", "integrations": "", "credentialUsers": "" } @@ -51,7 +51,7 @@ "title": "", "field": { "token": { - "label": "", + "label": "Žetonas", "description": "" } }, @@ -87,7 +87,7 @@ } }, "settings": { - "title": "", + "title": "Nustatymai", "subtitle": "" }, "finish": { @@ -302,7 +302,7 @@ } }, "app": { - "title": "", + "title": "Programėlės", "item": { "create": { "label": "", @@ -1029,10 +1029,10 @@ "label": "", "option": { "row": { - "label": "" + "label": "Horizontalus" }, "column": { - "label": "" + "label": "Vertikalus" }, "grid": { "label": "" @@ -1213,7 +1213,7 @@ } }, "iframe": { - "name": "", + "name": "iFrame", "description": "Įterpkite bet kokį turinį iš interneto. Kai kuriose svetainėse prieiga gali būti ribojama.", "option": { "embedUrl": { @@ -2042,9 +2042,9 @@ "tools": { "label": "Įrankiai", "items": { - "docker": "", + "docker": "Docker", "logs": "", - "api": "", + "api": "API", "tasks": "" } }, @@ -2199,7 +2199,7 @@ }, "field": { "id": { - "label": "" + "label": "ID" }, "creator": { "label": "Kūrėjas" @@ -2218,7 +2218,7 @@ "setting": { "general": { "title": "Bendras", - "owner": "", + "owner": "Savininkas", "ownerOfGroup": "", "ownerOfGroupDeleted": "" }, @@ -2286,14 +2286,14 @@ } }, "board": { - "title": "", + "title": "Lentos", "homeBoard": { "label": "", "description": "" } }, "appearance": { - "title": "", + "title": "Išvaizda", "defaultColorScheme": { "label": "", "options": { @@ -2370,7 +2370,7 @@ } }, "api": { - "title": "", + "title": "API", "modal": { "createApiToken": { "title": "", @@ -2390,7 +2390,7 @@ }, "table": { "header": { - "id": "", + "id": "ID", "createdBy": "" } } @@ -2602,7 +2602,7 @@ "tools": { "label": "Įrankiai", "docker": { - "label": "" + "label": "Docker" }, "logs": { "label": "" diff --git a/packages/translation/src/lang/lv.json b/packages/translation/src/lang/lv.json index 10d29d551..c78ab5df2 100644 --- a/packages/translation/src/lang/lv.json +++ b/packages/translation/src/lang/lv.json @@ -41,8 +41,8 @@ "import": "" }, "entities": { - "apps": "", - "boards": "", + "apps": "Lietotnes", + "boards": "Dēļi", "integrations": "", "credentialUsers": "" } @@ -51,7 +51,7 @@ "title": "", "field": { "token": { - "label": "", + "label": "Atslēga", "description": "" } }, @@ -87,7 +87,7 @@ } }, "settings": { - "title": "", + "title": "Iestatījumi", "subtitle": "" }, "finish": { @@ -302,7 +302,7 @@ } }, "app": { - "title": "", + "title": "Lietotnes", "item": { "create": { "label": "", @@ -1026,13 +1026,13 @@ "label": "" }, "layout": { - "label": "", + "label": "Izkārtojums", "option": { "row": { - "label": "" + "label": "Horizontāli" }, "column": { - "label": "" + "label": "Vertikāli" }, "grid": { "label": "" @@ -1213,7 +1213,7 @@ } }, "iframe": { - "name": "", + "name": "iFrame", "description": "Iegult jebkuru saturu no interneta. Dažas vietnes var ierobežot piekļuvi.", "option": { "embedUrl": { @@ -1528,7 +1528,7 @@ "columnTitle": "" }, "progress": { - "columnTitle": "", + "columnTitle": "Progress", "detailsTitle": "" }, "ratio": { @@ -1656,7 +1656,7 @@ }, "tab": { "workers": "", - "queue": "", + "queue": "Rinda", "statistics": "" }, "currentIndex": "", @@ -1670,7 +1670,7 @@ }, "panel": { "statistics": { - "empty": "", + "empty": "Tukšs", "transcodes": "", "transcodesCount": "", "healthChecksCount": "", @@ -1682,20 +1682,20 @@ "videoResolutions": "" }, "workers": { - "empty": "", + "empty": "Tukšs", "table": { "file": "", - "eta": "", - "progress": "", + "eta": "ETA", + "progress": "Progress", "transcode": "", "healthCheck": "" } }, "queue": { - "empty": "", + "empty": "Tukšs", "table": { "file": "", - "size": "", + "size": "Lielums", "transcode": "", "healthCheck": "" } @@ -2042,9 +2042,9 @@ "tools": { "label": "Rīki", "items": { - "docker": "", + "docker": "Docker", "logs": "", - "api": "", + "api": "API", "tasks": "" } }, @@ -2199,7 +2199,7 @@ }, "field": { "id": { - "label": "" + "label": "ID" }, "creator": { "label": "Izveidotājs" @@ -2218,7 +2218,7 @@ "setting": { "general": { "title": "Vispārīgi", - "owner": "", + "owner": "Īpašnieks", "ownerOfGroup": "", "ownerOfGroupDeleted": "" }, @@ -2286,14 +2286,14 @@ } }, "board": { - "title": "", + "title": "Dēļi", "homeBoard": { "label": "", "description": "" } }, "appearance": { - "title": "", + "title": "Izskats", "defaultColorScheme": { "label": "", "options": { @@ -2370,7 +2370,7 @@ } }, "api": { - "title": "", + "title": "API", "modal": { "createApiToken": { "title": "", @@ -2390,7 +2390,7 @@ }, "table": { "header": { - "id": "", + "id": "ID", "createdBy": "" } } @@ -2445,7 +2445,7 @@ "label": "Attēls" }, "ports": { - "label": "" + "label": "Ports" } }, "action": { @@ -2602,7 +2602,7 @@ "tools": { "label": "Rīki", "docker": { - "label": "" + "label": "Docker" }, "logs": { "label": "" diff --git a/packages/translation/src/lang/nl.json b/packages/translation/src/lang/nl.json index 32fd8cd6c..4d850dd6c 100644 --- a/packages/translation/src/lang/nl.json +++ b/packages/translation/src/lang/nl.json @@ -41,8 +41,8 @@ "import": "" }, "entities": { - "apps": "", - "boards": "", + "apps": "Apps", + "boards": "Borden", "integrations": "", "credentialUsers": "" } @@ -51,7 +51,7 @@ "title": "", "field": { "token": { - "label": "", + "label": "Penning", "description": "" } }, @@ -87,7 +87,7 @@ } }, "settings": { - "title": "", + "title": "Instellingen", "subtitle": "" }, "finish": { @@ -302,7 +302,7 @@ } }, "app": { - "title": "", + "title": "Apps", "item": { "create": { "label": "", @@ -491,7 +491,7 @@ "app": { "page": { "list": { - "title": "", + "title": "Apps", "noResults": { "title": "", "action": "" @@ -1026,13 +1026,13 @@ "label": "" }, "layout": { - "label": "", + "label": "Indeling", "option": { "row": { - "label": "" + "label": "Horizontaal" }, "column": { - "label": "" + "label": "Verticaal" }, "grid": { "label": "" @@ -1172,7 +1172,7 @@ "underline": "Onderstreept", "colorText": "Kleur tekst", "colorHighlight": "Gekleurde tekst markeren", - "code": "", + "code": "Code", "clear": "Opmaak wissen", "heading": "Koptekst {level}", "align": "Tekst uitlijnen: {position}", @@ -1183,7 +1183,7 @@ "checkList": "Controlelijst", "increaseIndent": "Inspringen vergroten", "decreaseIndent": "Inspringen verminderen", - "link": "", + "link": "Link", "unlink": "Link verwijderen", "image": "Afbeelding insluiten", "addTable": "Tabel toevoegen", @@ -1213,7 +1213,7 @@ } }, "iframe": { - "name": "", + "name": "iFrame", "description": "Insluiten van alle inhoud van het internet. Sommige websites kunnen de toegang beperken.", "option": { "embedUrl": { @@ -1287,7 +1287,7 @@ "description": "", "option": { "releaseType": { - "label": "", + "label": "Radarr release type", "options": { "inCinemas": "", "digitalRelease": "", @@ -1436,7 +1436,7 @@ "description": "Een videostream of video van een camera of een website insluiten", "option": { "feedUrl": { - "label": "" + "label": "Feed URL" }, "hasAutoPlay": { "label": "Automatisch afspelen", @@ -1511,7 +1511,7 @@ "detailsTitle": "" }, "downSpeed": { - "columnTitle": "", + "columnTitle": "Down", "detailsTitle": "Downloadsnelheid" }, "index": { @@ -1560,7 +1560,7 @@ "detailsTitle": "" }, "upSpeed": { - "columnTitle": "", + "columnTitle": "Up", "detailsTitle": "" } }, @@ -1648,55 +1648,55 @@ "description": "", "option": { "defaultView": { - "label": "" + "label": "Standaardweergave" }, "queuePageSize": { "label": "" } }, "tab": { - "workers": "", - "queue": "", - "statistics": "" + "workers": "Workers", + "queue": "Wachtrij", + "statistics": "Statistieken" }, "currentIndex": "", "healthCheck": { "title": "", - "queued": "", + "queued": "In wachtrij", "status": { - "healthy": "", - "unhealthy": "" + "healthy": "Gezond", + "unhealthy": "Ongezond" } }, "panel": { "statistics": { - "empty": "", - "transcodes": "", + "empty": "Leeg", + "transcodes": "Transcodes", "transcodesCount": "", "healthChecksCount": "", "filesCount": "", "savedSpace": "", "healthChecks": "", - "videoCodecs": "", - "videoContainers": "", - "videoResolutions": "" + "videoCodecs": "Codecs", + "videoContainers": "Containers", + "videoResolutions": "Resoluties" }, "workers": { - "empty": "", + "empty": "Leeg", "table": { - "file": "", - "eta": "", - "progress": "", - "transcode": "", + "file": "Bestand", + "eta": "ETA", + "progress": "Voortgang", + "transcode": "Transcoderen", "healthCheck": "" } }, "queue": { - "empty": "", + "empty": "Leeg", "table": { - "file": "", - "size": "", - "transcode": "", + "file": "Bestand", + "size": "Grootte", + "transcode": "Transcoderen", "healthCheck": "" } } @@ -1766,7 +1766,7 @@ "invalidError": "" }, "apps": { - "label": "", + "label": "Apps", "avoidDuplicates": { "label": "", "description": "" @@ -2025,9 +2025,9 @@ }, "navbar": { "items": { - "home": "", + "home": "Home", "boards": "Borden", - "apps": "", + "apps": "Apps", "integrations": "", "searchEngies": "", "medias": "", @@ -2042,19 +2042,19 @@ "tools": { "label": "Gereedschappen", "items": { - "docker": "", + "docker": "Docker", "logs": "", - "api": "", + "api": "API", "tasks": "" } }, "settings": "Instellingen", "help": { - "label": "", + "label": "Help", "items": { "documentation": "Documentatie", "submitIssue": "", - "discord": "", + "discord": "Community Discord", "sourceCode": "" } }, @@ -2068,7 +2068,7 @@ "user": "Gebruikers", "invite": "Uitnodigingen", "integration": "", - "app": "", + "app": "Apps", "group": "" }, "statisticLabel": { @@ -2093,7 +2093,7 @@ "setHomeBoard": { "label": "", "badge": { - "label": "", + "label": "Home", "tooltip": "" } }, @@ -2130,7 +2130,7 @@ "title": "Algemeen", "item": { "language": "", - "board": "", + "board": "Home bord", "firstDayOfWeek": "Eerste dag van de week", "accessibility": "Toegankelijkheid" } @@ -2199,7 +2199,7 @@ }, "field": { "id": { - "label": "" + "label": "ID" }, "creator": { "label": "Maker" @@ -2218,7 +2218,7 @@ "setting": { "general": { "title": "Algemeen", - "owner": "", + "owner": "Eigenaar", "ownerOfGroup": "", "ownerOfGroupDeleted": "" }, @@ -2286,14 +2286,14 @@ } }, "board": { - "title": "", + "title": "Borden", "homeBoard": { "label": "", "description": "" } }, "appearance": { - "title": "", + "title": "Opmaak", "defaultColorScheme": { "label": "", "options": { @@ -2370,7 +2370,7 @@ } }, "api": { - "title": "", + "title": "API", "modal": { "createApiToken": { "title": "", @@ -2390,7 +2390,7 @@ }, "table": { "header": { - "id": "", + "id": "ID", "createdBy": "" } } @@ -2419,7 +2419,7 @@ } }, "docker": { - "title": "", + "title": "Containers", "table": { "updated": "", "search": "", @@ -2450,7 +2450,7 @@ }, "action": { "start": { - "label": "", + "label": "Start", "notification": { "success": { "title": "", @@ -2463,7 +2463,7 @@ } }, "stop": { - "label": "", + "label": "Stop", "notification": { "success": { "title": "", @@ -2576,7 +2576,7 @@ "label": "" }, "apps": { - "label": "", + "label": "Apps", "new": { "label": "" }, @@ -2602,7 +2602,7 @@ "tools": { "label": "Gereedschappen", "docker": { - "label": "" + "label": "Docker" }, "logs": { "label": "" @@ -2627,7 +2627,7 @@ "help": "", "group": { "app": { - "title": "", + "title": "Apps", "children": { "action": { "open": { @@ -2749,7 +2749,7 @@ "description": "" }, "torrent": { - "name": "", + "name": "Torrents", "description": "" }, "youTube": { @@ -2766,7 +2766,7 @@ "title": "" }, "help": { - "title": "", + "title": "Help", "option": { "documentation": { "label": "Documentatie" @@ -2775,7 +2775,7 @@ "label": "" }, "discord": { - "label": "" + "label": "Community Discord" } } } @@ -2840,7 +2840,7 @@ "label": "Over" }, "homeBoard": { - "label": "" + "label": "Home bord" }, "preferences": { "label": "Jouw voorkeuren" diff --git a/packages/translation/src/lang/no.json b/packages/translation/src/lang/no.json index 3bd31e04a..411758aae 100644 --- a/packages/translation/src/lang/no.json +++ b/packages/translation/src/lang/no.json @@ -41,8 +41,8 @@ "import": "" }, "entities": { - "apps": "", - "boards": "", + "apps": "Apper", + "boards": "Tavler", "integrations": "", "credentialUsers": "" } @@ -51,7 +51,7 @@ "title": "", "field": { "token": { - "label": "", + "label": "Token", "description": "" } }, @@ -87,7 +87,7 @@ } }, "settings": { - "title": "", + "title": "Innstillinger", "subtitle": "" }, "finish": { @@ -302,7 +302,7 @@ } }, "app": { - "title": "", + "title": "Apper", "item": { "create": { "label": "", @@ -1026,13 +1026,13 @@ "label": "" }, "layout": { - "label": "", + "label": "Oppsett", "option": { "row": { - "label": "" + "label": "Horisontal" }, "column": { - "label": "" + "label": "Vertikal" }, "grid": { "label": "" @@ -1183,7 +1183,7 @@ "checkList": "Sjekkliste", "increaseIndent": "Øk innrykk", "decreaseIndent": "Reduser innrykk", - "link": "", + "link": "Link", "unlink": "Fjern lenke", "image": "Bygg inn bilde", "addTable": "Legg til tabell", @@ -1213,7 +1213,7 @@ } }, "iframe": { - "name": "", + "name": "iFrame", "description": "Bygg inn innhold fra Internett. Noen nettsteder kan begrense adgang.", "option": { "embedUrl": { @@ -1436,7 +1436,7 @@ "description": "Bygg inn en videostrøm eller video fra et kamera eller et nettsted", "option": { "feedUrl": { - "label": "" + "label": "Feed URL" }, "hasAutoPlay": { "label": "Autospill", @@ -1656,7 +1656,7 @@ }, "tab": { "workers": "", - "queue": "", + "queue": "Kø", "statistics": "" }, "currentIndex": "", @@ -1670,7 +1670,7 @@ }, "panel": { "statistics": { - "empty": "", + "empty": "Tøm", "transcodes": "", "transcodesCount": "", "healthChecksCount": "", @@ -1682,20 +1682,20 @@ "videoResolutions": "" }, "workers": { - "empty": "", + "empty": "Tøm", "table": { "file": "", - "eta": "", - "progress": "", + "eta": "Gjenstående tid (estimat)", + "progress": "Fremgang", "transcode": "", "healthCheck": "" } }, "queue": { - "empty": "", + "empty": "Tøm", "table": { "file": "", - "size": "", + "size": "Størrelse", "transcode": "", "healthCheck": "" } @@ -1784,7 +1784,7 @@ "description": "", "option": { "sm": "Liten", - "md": "", + "md": "Medium", "lg": "Stor" } }, @@ -2042,9 +2042,9 @@ "tools": { "label": "Verktøy", "items": { - "docker": "", + "docker": "Docker", "logs": "", - "api": "", + "api": "API", "tasks": "" } }, @@ -2199,7 +2199,7 @@ }, "field": { "id": { - "label": "" + "label": "ID" }, "creator": { "label": "Skaper" @@ -2208,7 +2208,7 @@ "label": "Utløpsdato" }, "token": { - "label": "" + "label": "Token" } } } @@ -2218,7 +2218,7 @@ "setting": { "general": { "title": "Generelt", - "owner": "", + "owner": "Eier", "ownerOfGroup": "", "ownerOfGroupDeleted": "" }, @@ -2286,14 +2286,14 @@ } }, "board": { - "title": "", + "title": "Tavler", "homeBoard": { "label": "", "description": "" } }, "appearance": { - "title": "", + "title": "Utseende", "defaultColorScheme": { "label": "", "options": { @@ -2370,7 +2370,7 @@ } }, "api": { - "title": "", + "title": "API", "modal": { "createApiToken": { "title": "", @@ -2390,7 +2390,7 @@ }, "table": { "header": { - "id": "", + "id": "ID", "createdBy": "" } } @@ -2442,7 +2442,7 @@ } }, "containerImage": { - "label": "" + "label": "Image" }, "ports": { "label": "Porter" @@ -2450,7 +2450,7 @@ }, "action": { "start": { - "label": "", + "label": "Start", "notification": { "success": { "title": "", @@ -2602,7 +2602,7 @@ "tools": { "label": "Verktøy", "docker": { - "label": "" + "label": "Docker" }, "logs": { "label": "" diff --git a/packages/translation/src/lang/pl.json b/packages/translation/src/lang/pl.json index 137fa7d1a..8daf73e82 100644 --- a/packages/translation/src/lang/pl.json +++ b/packages/translation/src/lang/pl.json @@ -41,8 +41,8 @@ "import": "" }, "entities": { - "apps": "", - "boards": "", + "apps": "Aplikacje", + "boards": "Tablice", "integrations": "", "credentialUsers": "" } @@ -51,7 +51,7 @@ "title": "", "field": { "token": { - "label": "", + "label": "Token", "description": "" } }, @@ -87,7 +87,7 @@ } }, "settings": { - "title": "", + "title": "Ustawienia", "subtitle": "" }, "finish": { @@ -293,7 +293,7 @@ }, "permission": { "admin": { - "title": "", + "title": "Admin", "item": { "admin": { "label": "", @@ -302,7 +302,7 @@ } }, "app": { - "title": "", + "title": "Aplikacje", "item": { "create": { "label": "", @@ -1026,13 +1026,13 @@ "label": "" }, "layout": { - "label": "", + "label": "Układ", "option": { "row": { - "label": "" + "label": "Poziomy" }, "column": { - "label": "" + "label": "Pionowy" }, "grid": { "label": "" @@ -1213,7 +1213,7 @@ } }, "iframe": { - "name": "", + "name": "iFrame", "description": "Osadzaj dowolne treści z internetu. Niektóre strony internetowe mogą ograniczać dostęp.", "option": { "embedUrl": { @@ -1656,7 +1656,7 @@ }, "tab": { "workers": "", - "queue": "", + "queue": "Kolejka", "statistics": "" }, "currentIndex": "", @@ -1670,7 +1670,7 @@ }, "panel": { "statistics": { - "empty": "", + "empty": "Puste", "transcodes": "", "transcodesCount": "", "healthChecksCount": "", @@ -1682,20 +1682,20 @@ "videoResolutions": "" }, "workers": { - "empty": "", + "empty": "Puste", "table": { "file": "", - "eta": "", - "progress": "", + "eta": "ETA", + "progress": "Postęp", "transcode": "", "healthCheck": "" } }, "queue": { - "empty": "", + "empty": "Puste", "table": { "file": "", - "size": "", + "size": "Rozmiar", "transcode": "", "healthCheck": "" } @@ -2042,9 +2042,9 @@ "tools": { "label": "Narzędzia", "items": { - "docker": "", + "docker": "Docker", "logs": "", - "api": "", + "api": "API", "tasks": "" } }, @@ -2199,7 +2199,7 @@ }, "field": { "id": { - "label": "" + "label": "ID" }, "creator": { "label": "Twórca" @@ -2208,7 +2208,7 @@ "label": "Wygasa" }, "token": { - "label": "" + "label": "Token" } } } @@ -2218,7 +2218,7 @@ "setting": { "general": { "title": "Ogólne", - "owner": "", + "owner": "Właściciel", "ownerOfGroup": "", "ownerOfGroupDeleted": "" }, @@ -2286,14 +2286,14 @@ } }, "board": { - "title": "", + "title": "Tablice", "homeBoard": { "label": "", "description": "" } }, "appearance": { - "title": "", + "title": "Wygląd", "defaultColorScheme": { "label": "", "options": { @@ -2370,7 +2370,7 @@ } }, "api": { - "title": "", + "title": "API", "modal": { "createApiToken": { "title": "", @@ -2390,7 +2390,7 @@ }, "table": { "header": { - "id": "", + "id": "ID", "createdBy": "" } } @@ -2602,7 +2602,7 @@ "tools": { "label": "Narzędzia", "docker": { - "label": "" + "label": "Docker" }, "logs": { "label": "" diff --git a/packages/translation/src/lang/pt.json b/packages/translation/src/lang/pt.json index 09398572c..54b3a9fd2 100644 --- a/packages/translation/src/lang/pt.json +++ b/packages/translation/src/lang/pt.json @@ -41,8 +41,8 @@ "import": "" }, "entities": { - "apps": "", - "boards": "", + "apps": "Aplicativos", + "boards": "Placas", "integrations": "", "credentialUsers": "" } @@ -51,7 +51,7 @@ "title": "", "field": { "token": { - "label": "", + "label": "Token", "description": "" } }, @@ -87,7 +87,7 @@ } }, "settings": { - "title": "", + "title": "Configurações", "subtitle": "" }, "finish": { @@ -302,7 +302,7 @@ } }, "app": { - "title": "", + "title": "Aplicativos", "item": { "create": { "label": "", @@ -1026,13 +1026,13 @@ "label": "" }, "layout": { - "label": "", + "label": "Layout", "option": { "row": { - "label": "" + "label": "Horizontal" }, "column": { - "label": "" + "label": "Vertical" }, "grid": { "label": "" @@ -1050,13 +1050,13 @@ "description": "", "option": { "layout": { - "label": "", + "label": "Layout", "option": { "row": { - "label": "" + "label": "Horizontal" }, "column": { - "label": "" + "label": "Vertical" }, "grid": { "label": "" @@ -1083,13 +1083,13 @@ "description": "Controle o PiHole ou o AdGuard em seu painel de controle", "option": { "layout": { - "label": "", + "label": "Layout", "option": { "row": { - "label": "" + "label": "Horizontal" }, "column": { - "label": "" + "label": "Vertical" }, "grid": { "label": "" @@ -1183,7 +1183,7 @@ "checkList": "Lista de verificação", "increaseIndent": "Aumentar recuo", "decreaseIndent": "Diminuir recuo", - "link": "", + "link": "Link", "unlink": "Remover link", "image": "Incorporar imagem", "addTable": "Adicionar tabela", @@ -1213,7 +1213,7 @@ } }, "iframe": { - "name": "", + "name": "iFrame", "description": "Incorporar qualquer conteúdo da internet. Alguns sites podem restringir o acesso.", "option": { "embedUrl": { @@ -1635,7 +1635,7 @@ "available": "", "tv": "Solicitações de TV", "movie": "Solicitações de filmes", - "total": "" + "total": "Total" }, "users": { "main": "Principais usuários", @@ -1656,8 +1656,8 @@ }, "tab": { "workers": "", - "queue": "", - "statistics": "" + "queue": "Fila", + "statistics": "Estatísticas" }, "currentIndex": "", "healthCheck": { @@ -1670,33 +1670,33 @@ }, "panel": { "statistics": { - "empty": "", + "empty": "Vazio", "transcodes": "", "transcodesCount": "", "healthChecksCount": "", "filesCount": "", "savedSpace": "", "healthChecks": "", - "videoCodecs": "", + "videoCodecs": "Codecs", "videoContainers": "", "videoResolutions": "" }, "workers": { - "empty": "", + "empty": "Vazio", "table": { - "file": "", - "eta": "", - "progress": "", - "transcode": "", + "file": "Ficheiro", + "eta": "TED", + "progress": "Progresso", + "transcode": "Transcodificar", "healthCheck": "" } }, "queue": { - "empty": "", + "empty": "Vazio", "table": { - "file": "", - "size": "", - "transcode": "", + "file": "Ficheiro", + "size": "Tamanho", + "transcode": "Transcodificar", "healthCheck": "" } } @@ -1907,7 +1907,7 @@ "unrecognizedLink": "" }, "layout": { - "title": "" + "title": "Layout" }, "background": { "title": "Antecedentes" @@ -2042,9 +2042,9 @@ "tools": { "label": "Ferramentas", "items": { - "docker": "", + "docker": "Docker", "logs": "", - "api": "", + "api": "API", "tasks": "" } }, @@ -2199,7 +2199,7 @@ }, "field": { "id": { - "label": "" + "label": "ID" }, "creator": { "label": "Criador" @@ -2208,7 +2208,7 @@ "label": "Data de expiração" }, "token": { - "label": "" + "label": "Token" } } } @@ -2218,7 +2218,7 @@ "setting": { "general": { "title": "Geral", - "owner": "", + "owner": "Dono", "ownerOfGroup": "", "ownerOfGroupDeleted": "" }, @@ -2286,14 +2286,14 @@ } }, "board": { - "title": "", + "title": "Placas", "homeBoard": { "label": "", "description": "" } }, "appearance": { - "title": "", + "title": "Aparência", "defaultColorScheme": { "label": "", "options": { @@ -2370,7 +2370,7 @@ } }, "api": { - "title": "", + "title": "API", "modal": { "createApiToken": { "title": "", @@ -2390,7 +2390,7 @@ }, "table": { "header": { - "id": "", + "id": "ID", "createdBy": "" } } @@ -2602,7 +2602,7 @@ "tools": { "label": "Ferramentas", "docker": { - "label": "" + "label": "Docker" }, "logs": { "label": "" diff --git a/packages/translation/src/lang/ro.json b/packages/translation/src/lang/ro.json index 425861393..cee8e2520 100644 --- a/packages/translation/src/lang/ro.json +++ b/packages/translation/src/lang/ro.json @@ -41,8 +41,8 @@ "import": "" }, "entities": { - "apps": "", - "boards": "", + "apps": "Aplicații", + "boards": "Planșe", "integrations": "", "credentialUsers": "" } @@ -51,7 +51,7 @@ "title": "", "field": { "token": { - "label": "", + "label": "Token", "description": "" } }, @@ -87,7 +87,7 @@ } }, "settings": { - "title": "", + "title": "Setări", "subtitle": "" }, "finish": { @@ -302,7 +302,7 @@ } }, "app": { - "title": "", + "title": "Aplicații", "item": { "create": { "label": "", @@ -733,7 +733,7 @@ "field": { "name": "Nume", "size": "Mărime", - "creator": "" + "creator": "Creator" }, "action": { "upload": { @@ -1026,13 +1026,13 @@ "label": "" }, "layout": { - "label": "", + "label": "Aspect", "option": { "row": { - "label": "" + "label": "Orizontal" }, "column": { - "label": "" + "label": "Vertical" }, "grid": { "label": "" @@ -1056,7 +1056,7 @@ "label": "Orizontal" }, "column": { - "label": "" + "label": "Vertical" }, "grid": { "label": "" @@ -1089,7 +1089,7 @@ "label": "Orizontal" }, "column": { - "label": "" + "label": "Vertical" }, "grid": { "label": "" @@ -1183,7 +1183,7 @@ "checkList": "Lista de verificare cu bifă", "increaseIndent": "Mărește spațierea", "decreaseIndent": "Scade spațierea", - "link": "", + "link": "Link", "unlink": "Șterge link-ul", "image": "Încorporează imagine", "addTable": "Adaugă tabelă", @@ -1213,7 +1213,7 @@ } }, "iframe": { - "name": "", + "name": "iFrame", "description": "Încorporați orice conținut de pe internet. Unele site-uri web pot restricționa accesul.", "option": { "embedUrl": { @@ -1283,7 +1283,7 @@ } }, "calendar": { - "name": "", + "name": "Calendar", "description": "", "option": { "releaseType": { @@ -1635,7 +1635,7 @@ "available": "", "tv": "Cereri seriale TV", "movie": "Cereri filme", - "total": "" + "total": "Total" }, "users": { "main": "Top utilizatori", @@ -1648,55 +1648,55 @@ "description": "", "option": { "defaultView": { - "label": "" + "label": "Afișare implicită" }, "queuePageSize": { "label": "" } }, "tab": { - "workers": "", - "queue": "", - "statistics": "" + "workers": "Lucrători", + "queue": "Listă de așteptare", + "statistics": "Statistici" }, "currentIndex": "", "healthCheck": { "title": "", - "queued": "", + "queued": "Pus în așteptare", "status": { - "healthy": "", - "unhealthy": "" + "healthy": "Sănătos", + "unhealthy": "Nesănătos" } }, "panel": { "statistics": { - "empty": "", - "transcodes": "", + "empty": "Gol", + "transcodes": "Transcrieri", "transcodesCount": "", "healthChecksCount": "", "filesCount": "", "savedSpace": "", "healthChecks": "", - "videoCodecs": "", - "videoContainers": "", - "videoResolutions": "" + "videoCodecs": "Codec-uri", + "videoContainers": "Containere", + "videoResolutions": "Rezoluţie" }, "workers": { - "empty": "", + "empty": "Gol", "table": { - "file": "", - "eta": "", - "progress": "", - "transcode": "", + "file": "Fișier", + "eta": "Timp rămas estimat", + "progress": "Progres", + "transcode": "Transcriere", "healthCheck": "" } }, "queue": { - "empty": "", + "empty": "Gol", "table": { - "file": "", - "size": "", - "transcode": "", + "file": "Fișier", + "size": "Mărime", + "transcode": "Transcriere", "healthCheck": "" } } @@ -1892,7 +1892,7 @@ "label": "Nume" }, "isPublic": { - "label": "", + "label": "Public", "description": "" } }, @@ -1903,7 +1903,7 @@ "title": "", "section": { "general": { - "title": "", + "title": "General", "unrecognizedLink": "" }, "layout": { @@ -2042,9 +2042,9 @@ "tools": { "label": "Unelte", "items": { - "docker": "", + "docker": "Docker", "logs": "", - "api": "", + "api": "API", "tasks": "" } }, @@ -2127,7 +2127,7 @@ "fieldsDisabledExternalProvider": "", "setting": { "general": { - "title": "", + "title": "General", "item": { "language": "", "board": "", @@ -2199,16 +2199,16 @@ }, "field": { "id": { - "label": "" + "label": "ID" }, "creator": { - "label": "" + "label": "Creator" }, "expirationDate": { "label": "Data expirării" }, "token": { - "label": "" + "label": "Token" } } } @@ -2217,8 +2217,8 @@ "back": "", "setting": { "general": { - "title": "", - "owner": "", + "title": "General", + "owner": "Proprietar", "ownerOfGroup": "", "ownerOfGroupDeleted": "" }, @@ -2286,14 +2286,14 @@ } }, "board": { - "title": "", + "title": "Planșe", "homeBoard": { "label": "", "description": "" } }, "appearance": { - "title": "", + "title": "Aspect", "defaultColorScheme": { "label": "", "options": { @@ -2370,7 +2370,7 @@ } }, "api": { - "title": "", + "title": "API", "modal": { "createApiToken": { "title": "", @@ -2390,7 +2390,7 @@ }, "table": { "header": { - "id": "", + "id": "ID", "createdBy": "" } } @@ -2589,7 +2589,7 @@ "create": { "label": "Creează" }, - "general": "", + "general": "General", "security": "Securitate", "board": "Planșe", "groups": { @@ -2602,7 +2602,7 @@ "tools": { "label": "Unelte", "docker": { - "label": "" + "label": "Docker" }, "logs": { "label": "" diff --git a/packages/translation/src/lang/ru.json b/packages/translation/src/lang/ru.json index 256f2be8d..d9948c101 100644 --- a/packages/translation/src/lang/ru.json +++ b/packages/translation/src/lang/ru.json @@ -2,24 +2,24 @@ "init": { "step": { "start": { - "title": "", - "subtitle": "", - "description": "", + "title": "Добро пожаловать в Homarr", + "subtitle": "Давайте начнем настройку вашего экземпляра Homarr.", + "description": "Для начала выберите, как вы хотите настроить ваш экземпляр Homarr.", "action": { - "scratch": "", - "importOldmarr": "" + "scratch": "Начать с нуля", + "importOldmarr": "Импортировать из Homarr версии до 1.0" } }, "import": { - "title": "", - "subtitle": "", + "title": "Импорт данных", + "subtitle": "Вы можете импортировать данные из существующего экземпляра Homarr.", "dropzone": { - "title": "", - "description": "" + "title": "Перетащите ZIP-файл сюда или нажмите для выбора", + "description": "Загруженный ZIP-файл будет обработан, и вы сможете выбрать, что хотите импортировать" }, "fileInfo": { "action": { - "change": "" + "change": "Изменить файл" } }, "importSettings": { @@ -41,8 +41,8 @@ "import": "" }, "entities": { - "apps": "", - "boards": "", + "apps": "Приложения", + "boards": "Панели", "integrations": "", "credentialUsers": "" } @@ -51,7 +51,7 @@ "title": "", "field": { "token": { - "label": "", + "label": "Токен", "description": "" } }, @@ -87,7 +87,7 @@ } }, "settings": { - "title": "", + "title": "Настройки", "subtitle": "" }, "finish": { @@ -124,7 +124,7 @@ }, "field": { "email": { - "label": "", + "label": "Электронная почта", "verified": "" }, "username": { @@ -134,14 +134,14 @@ "label": "Пароль", "requirement": { "length": "", - "lowercase": "Включает строчную букву", - "uppercase": "Включает заглавную букву", - "number": "Включает цифру", + "lowercase": "Содержит строчную букву", + "uppercase": "Содержит заглавную букву", + "number": "Содержит цифру", "special": "" } }, "passwordConfirm": { - "label": "Подтвердите пароль" + "label": "Подтверждение пароля" }, "previousPassword": { "label": "" @@ -158,7 +158,7 @@ }, "action": { "login": { - "label": "Вход в систему", + "label": "Вход", "labelWith": "", "notification": { "success": { @@ -176,10 +176,10 @@ } }, "register": { - "label": "Создать аккаунт", + "label": "Создать учётную запись", "notification": { "success": { - "title": "Аккаунт создан", + "title": "Учётная запись создана", "message": "" }, "error": { @@ -188,7 +188,7 @@ } } }, - "create": "Создать пользователя", + "create": "Создание пользователя", "changePassword": { "label": "", "notification": { @@ -288,7 +288,7 @@ "name": "", "search": "", "field": { - "name": "Имя", + "name": "Название", "members": "" }, "permission": { @@ -302,7 +302,7 @@ } }, "app": { - "title": "", + "title": "Приложения", "item": { "create": { "label": "", @@ -540,7 +540,7 @@ }, "field": { "name": { - "label": "Имя" + "label": "Название" }, "description": { "label": "" @@ -608,7 +608,7 @@ }, "field": { "name": { - "label": "Имя" + "label": "Название" }, "url": { "label": "" @@ -629,7 +629,7 @@ "message": "" }, "invalidUrl": { - "title": "Неверный URL", + "title": "Недействительный URL", "message": "" }, "secretNotDefined": { @@ -731,7 +731,7 @@ "plural": "", "search": "", "field": { - "name": "Имя", + "name": "Название", "size": "Размер", "creator": "Создатель" }, @@ -773,7 +773,7 @@ "apply": "Применить", "backToOverview": "", "create": "Создать", - "edit": "Изменить", + "edit": "Редактировать", "import": "", "insert": "Вставить", "remove": "Удалить", @@ -784,11 +784,11 @@ "discard": "", "confirm": "Подтвердить", "continue": "", - "previous": "Предыдущий", + "previous": "Назад", "next": "Далее", "checkoutDocs": "", "checkLogs": "", - "tryAgain": "Попробовать снова", + "tryAgain": "Повторить", "loading": "" }, "here": "", @@ -847,13 +847,13 @@ "management": "", "preferences": "Ваши настройки", "logout": "", - "login": "Вход в систему", + "login": "Вход", "homeBoard": "", "loggedOut": "", "updateAvailable": "" } }, - "dangerZone": "Зона опасности", + "dangerZone": "Опасная зона", "noResults": "Результаты не найдены", "preview": { "show": "", @@ -861,7 +861,7 @@ }, "zod": { "errors": { - "default": "Данное поле недействительно", + "default": "Недопустимое значение поля", "required": "Это поле обязательно", "string": { "startsWith": "Значение данного поля должно начинаться с {startsWith}", @@ -903,7 +903,7 @@ "category": { "field": { "name": { - "label": "Имя" + "label": "Название" } }, "action": { @@ -999,7 +999,7 @@ "label": "" }, "openInNewTab": { - "label": "Открыть в новой вкладке" + "label": "Открывать в новой вкладке" }, "showTitle": { "label": "" @@ -1026,13 +1026,13 @@ "label": "" }, "layout": { - "label": "", + "label": "Макет", "option": { "row": { - "label": "" + "label": "Горизонтально" }, "column": { - "label": "" + "label": "Вертикально" }, "grid": { "label": "" @@ -1053,10 +1053,10 @@ "label": "Макет", "option": { "row": { - "label": "Горизонтальный" + "label": "Горизонтально" }, "column": { - "label": "Вертикальный" + "label": "Вертикально" }, "grid": { "label": "" @@ -1072,24 +1072,24 @@ "integrationsDisconnected": "" }, "data": { - "adsBlockedToday": "Заблокировано сегодня", - "adsBlockedTodayPercentage": "Заблокировано сегодня", + "adsBlockedToday": "заблокировано сегодня", + "adsBlockedTodayPercentage": "заблокировано сегодня", "dnsQueriesToday": "запросов сегодня", "domainsBeingBlocked": "" } }, "dnsHoleControls": { "name": "", - "description": "Управляйте PiHole или AdGuard прямо с вашей панели", + "description": "Управляйте PiHole или AdGuard с панели управления", "option": { "layout": { "label": "Макет", "option": { "row": { - "label": "Горизонтальный" + "label": "Горизонтально" }, "column": { - "label": "Вертикальный" + "label": "Вертикально" }, "grid": { "label": "" @@ -1156,22 +1156,22 @@ "description": "", "option": { "showToolbar": { - "label": "Показать панель инструментов для написания текста с использованием разметки Markdown" + "label": "Показывать панель инструментов для работы с Markdown" }, "allowReadOnlyCheck": { - "label": "Разрешить проверку в режиме \"только для чтения\"" + "label": "Разрешить отметки в режиме только для чтения" }, "content": { "label": "Содержимое блокнота" } }, "controls": { - "bold": "Жирный", + "bold": "Полужирный", "italic": "Курсив", - "strikethrough": "Зачеркнутый", - "underline": "Подчеркнутый", + "strikethrough": "Зачёркнутый", + "underline": "Подчёркнутый", "colorText": "Цвет текста", - "colorHighlight": "Выделение текста цветом", + "colorHighlight": "Цвет выделения текста", "code": "Код", "clear": "Очистить форматирование", "heading": "Заголовок {level}", @@ -1180,21 +1180,21 @@ "horizontalLine": "Горизонтальная линия", "bulletList": "Маркированный список", "orderedList": "Нумерованный список", - "checkList": "Чек-лист", + "checkList": "Список с галочками", "increaseIndent": "Увеличить отступ", "decreaseIndent": "Уменьшить отступ", "link": "Ссылка", - "unlink": "Удалить ссылку", + "unlink": "Убрать ссылку", "image": "Вставить изображение", "addTable": "Добавить таблицу", "deleteTable": "Удалить таблицу", "colorCell": "Цвет ячейки", - "mergeCell": "Переключить объединение ячеек", - "addColumnLeft": "Добавить столбец перед", - "addColumnRight": "Добавить столбец после", + "mergeCell": "Объединить/разделить ячейки", + "addColumnLeft": "Добавить столбец слева", + "addColumnRight": "Добавить столбец справа", "deleteColumn": "Удалить столбец", - "addRowTop": "Добавить строку перед", - "addRowBelow": "Добавить строку после", + "addRowTop": "Добавить строку сверху", + "addRowBelow": "Добавить строку снизу", "deleteRow": "Удалить строку" }, "align": { @@ -1204,7 +1204,7 @@ }, "popover": { "clearColor": "Очистить цвет", - "source": "Источник", + "source": "Исходный код", "widthPlaceholder": "Значение в % или пикселях", "columns": "Столбцы", "rows": "Строки", @@ -1213,11 +1213,11 @@ } }, "iframe": { - "name": "", - "description": "Встраиваемое содержимое из интернета. Некоторые веб-сайты могут ограничивать доступ.", + "name": "Встраиваемый фрейм", + "description": "Встраивает любой контент из интернета. Некоторые сайты могут ограничивать доступ.", "option": { "embedUrl": { - "label": "URL-адрес на встраивание" + "label": "URL для встраивания" }, "allowFullScreen": { "label": "Разрешить полноэкранный режим" @@ -1232,7 +1232,7 @@ "label": "Разрешить оплату" }, "allowAutoPlay": { - "label": "Разрешить авто воспроизведение" + "label": "Разрешить автовоспроизведение" }, "allowMicrophone": { "label": "Разрешить микрофон" @@ -1246,7 +1246,7 @@ }, "error": { "noUrl": "", - "noBrowerSupport": "Ваш браузер не поддерживает iframes. Пожалуйста, обновите свой браузер." + "noBrowerSupport": "Ваш браузер не поддерживает встраиваемые фреймы. Пожалуйста, обновите браузер." } }, "smartHome-entityState": { @@ -1287,7 +1287,7 @@ "description": "", "option": { "releaseType": { - "label": "Тип релиза в Radarr", + "label": "Тип релиза Radarr", "options": { "inCinemas": "", "digitalRelease": "", @@ -1304,7 +1304,7 @@ }, "weather": { "name": "Погода", - "description": "Отображает текущую информацию о погоде для заданного местоположения.", + "description": "Отображает текущую информацию о погоде для указанного местоположения.", "option": { "isFormatFahrenheit": { "label": "" @@ -1329,14 +1329,14 @@ }, "kind": { "clear": "Ясно", - "mainlyClear": "Малооблачно", + "mainlyClear": "Преимущественно ясно", "fog": "Туман", "drizzle": "Морось", - "freezingDrizzle": "Изморозь, возможен гололёд", + "freezingDrizzle": "Ледяная морось", "rain": "Дождь", - "freezingRain": "Моросящий дождь", + "freezingRain": "Ледяной дождь", "snowFall": "Снегопад", - "snowGrains": "Снежные зерна", + "snowGrains": "Снежная крупа", "rainShowers": "Ливень", "snowShowers": "Снегопад", "thunderstorm": "Гроза", @@ -1345,28 +1345,28 @@ } }, "indexerManager": { - "name": "Статус менеджера индексаторов", + "name": "Состояние менеджера индексации", "description": "", "option": { "openIndexerSiteInNewTab": { "label": "" } }, - "title": "Статус менеджера индексаторов", - "testAll": "Тестировать все", + "title": "Менеджер индексации", + "testAll": "Проверить все", "error": { "internalServerError": "" } }, "healthMonitoring": { "name": "Мониторинг состояния системы", - "description": "Отображает информацию о состоянии и статусе вашей системы(систем).", + "description": "Отображает информацию о состоянии и работоспособности ваших систем.", "option": { "fahrenheit": { - "label": "Температура процессора в градусах Фаренгейта" + "label": "Температура CPU в градусах Фаренгейта" }, "cpu": { - "label": "Показывать информацию о процессоре" + "label": "Показывать информацию о CPU" }, "memory": { "label": "Показать информацию о памяти" @@ -1386,7 +1386,7 @@ "minute": "", "minutes": "", "used": "", - "available": "Доступен", + "available": "Доступно", "lastSeen": "" }, "memory": {}, @@ -1432,11 +1432,11 @@ "option": {} }, "video": { - "name": "Трансляция видео", - "description": "Встраивание видео или прямой трансляции видео с камеры или веб-сайта", + "name": "Видеопоток", + "description": "Встраивание видеопотока или видео с камеры или веб-сайта", "option": { "feedUrl": { - "label": "URL-адрес потока" + "label": "URL потока" }, "hasAutoPlay": { "label": "Автовоспроизведение", @@ -1512,7 +1512,7 @@ }, "downSpeed": { "columnTitle": "Загрузка", - "detailsTitle": "Скорость скачивания" + "detailsTitle": "Скорость загрузки" }, "index": { "columnTitle": "", @@ -1565,7 +1565,7 @@ } }, "states": { - "downloading": "Скачивается", + "downloading": "Загрузка", "queued": "Очередь", "paused": "Приостановлено", "completed": "Завершено", @@ -1601,7 +1601,7 @@ }, "mediaRequests-requestList": { "name": "", - "description": "Просмотреть список всех медиа-запросов из вашего экземпляра Overseerr или Jellyseerr", + "description": "Просмотр списка всех запросов медиаконтента из вашего экземпляра Overseerr или Jellyseerr", "option": { "linksTargetNewTab": { "label": "Открывать ссылки в новой вкладке" @@ -1617,19 +1617,19 @@ "pending": "", "processing": "", "partiallyAvailable": "Частично", - "available": "Доступен" + "available": "Доступно" }, "toBeDetermined": "" }, "mediaRequests-requestStats": { "name": "", - "description": "Статистика ваших медиазапросов", + "description": "Статистика по запросам медиаконтента", "option": {}, "titles": { "stats": { - "main": "Статистика медиа", + "main": "Статистика медиаконтента", "approved": "Уже одобрено", - "pending": "Ожидающие утверждения", + "pending": "Ожидает одобрения", "processing": "", "declined": "", "available": "", @@ -1648,55 +1648,55 @@ "description": "", "option": { "defaultView": { - "label": "" + "label": "Вид по умолчанию" }, "queuePageSize": { "label": "" } }, "tab": { - "workers": "", - "queue": "", - "statistics": "" + "workers": "Обработчики", + "queue": "Очередь", + "statistics": "Статистика" }, "currentIndex": "", "healthCheck": { "title": "", - "queued": "", + "queued": "Очередь", "status": { - "healthy": "", - "unhealthy": "" + "healthy": "Исправно", + "unhealthy": "Неисправен" } }, "panel": { "statistics": { - "empty": "", - "transcodes": "", + "empty": "Пусто", + "transcodes": "Перекодирования", "transcodesCount": "", "healthChecksCount": "", "filesCount": "", "savedSpace": "", "healthChecks": "", - "videoCodecs": "", - "videoContainers": "", - "videoResolutions": "" + "videoCodecs": "Кодеки", + "videoContainers": "Контейнеры", + "videoResolutions": "Разрешения" }, "workers": { - "empty": "", + "empty": "Пусто", "table": { - "file": "", - "eta": "", - "progress": "", - "transcode": "", + "file": "Файл", + "eta": "Осталось", + "progress": "Прогресс", + "transcode": "Перекодирование", "healthCheck": "" } }, "queue": { - "empty": "", + "empty": "Пусто", "table": { - "file": "", - "size": "", - "transcode": "", + "file": "Файл", + "size": "Размер", + "transcode": "Перекодирование", "healthCheck": "" } } @@ -1856,7 +1856,7 @@ } }, "backgroundImageSize": { - "label": "Размер фонового изображения", + "label": "Повторение фонового изображения", "option": { "cover": { "label": "", @@ -1879,7 +1879,7 @@ }, "customCss": { "label": "", - "description": "Дополнительная настройка вашей панели с использованием CSS, рекомендуется только опытным пользователям", + "description": "Дополнительная настройка панели управления с помощью CSS (рекомендуется только опытным пользователям)", "customClassesAlert": { "title": "", "description": "" @@ -1889,7 +1889,7 @@ "label": "" }, "name": { - "label": "Имя" + "label": "Название" }, "isPublic": { "label": "Публичный", @@ -1903,7 +1903,7 @@ "title": "", "section": { "general": { - "title": "Общие", + "title": "Основное", "unrecognizedLink": "" }, "layout": { @@ -1935,7 +1935,7 @@ } }, "dangerZone": { - "title": "Зона опасности", + "title": "Опасная зона", "action": { "rename": { "label": "", @@ -1971,7 +1971,7 @@ "description": "", "button": "", "confirm": { - "title": "Удалить панель", + "title": "Удаление панели", "description": "" } } @@ -1981,7 +1981,7 @@ }, "error": { "noBoard": { - "title": "", + "title": "Добро пожаловать в Homarr", "description": "", "link": "", "notice": "" @@ -2042,15 +2042,15 @@ "tools": { "label": "Инструменты", "items": { - "docker": "", + "docker": "Docker", "logs": "", - "api": "", + "api": "API", "tasks": "" } }, "settings": "Настройки", "help": { - "label": "Помощь", + "label": "Справка", "items": { "documentation": "Документация", "submitIssue": "", @@ -2100,7 +2100,7 @@ "delete": { "label": "Удалить навсегда", "confirm": { - "title": "Удалить панель", + "title": "Удаление панели", "description": "" } } @@ -2113,7 +2113,7 @@ "createBoard": { "field": { "name": { - "label": "Имя" + "label": "Название" } } } @@ -2127,12 +2127,12 @@ "fieldsDisabledExternalProvider": "", "setting": { "general": { - "title": "Общие", + "title": "Основное", "item": { "language": "", "board": "", "firstDayOfWeek": "Первый день недели", - "accessibility": "Доступность" + "accessibility": "Специальные возможности" } }, "security": { @@ -2143,14 +2143,14 @@ } }, "list": { - "metaTitle": "Управлять пользователями", + "metaTitle": "Управление пользователями", "title": "Пользователи" }, "edit": { "metaTitle": "" }, "create": { - "metaTitle": "Создать пользователя", + "metaTitle": "Создание пользователя", "title": "", "step": { "personalInformation": { @@ -2180,32 +2180,32 @@ } }, "invite": { - "title": "Управление приглашениями пользователей", + "title": "Управление приглашениями", "action": { "new": { "title": "", - "description": "По истечении этого срока приглашение перестает быть действительным, и получатель приглашения не сможет создать аккаунт." + "description": "После истечения срока действия приглашение станет недействительным, и получатель не сможет создать учётную запись." }, "copy": { "title": "", "description": "", - "link": "Ссылка на приглашение", + "link": "Ссылка приглашения", "button": "" }, "delete": { "title": "Удалить приглашение", - "description": "Вы уверены, что хотите удалить это приглашение? Пользователи, получившие эту ссылку, больше не смогут создать аккаунт по этой ссылке." + "description": "Вы уверены, что хотите удалить это приглашение? Пользователи с этой ссылкой больше не смогут создать учётную запись." } }, "field": { "id": { - "label": "" + "label": "ID" }, "creator": { "label": "Создатель" }, "expirationDate": { - "label": "Срок действия" + "label": "Дата истечения срока" }, "token": { "label": "Токен" @@ -2217,8 +2217,8 @@ "back": "", "setting": { "general": { - "title": "Общие", - "owner": "", + "title": "Основное", + "owner": "Владелец", "ownerOfGroup": "", "ownerOfGroupDeleted": "" }, @@ -2286,14 +2286,14 @@ } }, "board": { - "title": "", + "title": "Панели", "homeBoard": { "label": "", "description": "" } }, "appearance": { - "title": "", + "title": "Внешний вид", "defaultColorScheme": { "label": "", "options": { @@ -2370,7 +2370,7 @@ } }, "api": { - "title": "", + "title": "API", "modal": { "createApiToken": { "title": "", @@ -2390,7 +2390,7 @@ }, "table": { "header": { - "id": "", + "id": "ID", "createdBy": "" } } @@ -2427,7 +2427,7 @@ }, "field": { "name": { - "label": "Имя" + "label": "Название" }, "state": { "label": "Состояние", @@ -2557,7 +2557,7 @@ "integrations": { "label": "", "edit": { - "label": "Изменить" + "label": "Редактировать" }, "new": { "label": "" @@ -2569,7 +2569,7 @@ "label": "" }, "edit": { - "label": "Изменить" + "label": "Редактировать" } }, "medias": { @@ -2581,7 +2581,7 @@ "label": "" }, "edit": { - "label": "Изменить" + "label": "Редактировать" } }, "users": { @@ -2589,7 +2589,7 @@ "create": { "label": "Создать" }, - "general": "Общие", + "general": "Основное", "security": "Безопасность", "board": "Панели", "groups": { @@ -2602,7 +2602,7 @@ "tools": { "label": "Инструменты", "docker": { - "label": "" + "label": "Docker" }, "logs": { "label": "" @@ -2766,7 +2766,7 @@ "title": "" }, "help": { - "title": "Помощь", + "title": "Справка", "option": { "documentation": { "label": "Документация" @@ -2813,7 +2813,7 @@ "label": "" }, "manageUser": { - "label": "Управлять пользователями" + "label": "Управление пользователями" }, "manageInvite": { "label": "" @@ -2891,7 +2891,7 @@ "search": "", "field": { "name": { - "label": "Имя" + "label": "Название" }, "short": { "label": "" diff --git a/packages/translation/src/lang/sk.json b/packages/translation/src/lang/sk.json index dac56eb5a..40e57ae81 100644 --- a/packages/translation/src/lang/sk.json +++ b/packages/translation/src/lang/sk.json @@ -41,8 +41,8 @@ "import": "" }, "entities": { - "apps": "", - "boards": "", + "apps": "Aplikácie", + "boards": "Dosky", "integrations": "", "credentialUsers": "" } @@ -51,7 +51,7 @@ "title": "", "field": { "token": { - "label": "", + "label": "Token", "description": "" } }, @@ -87,7 +87,7 @@ } }, "settings": { - "title": "", + "title": "Nastavenia", "subtitle": "" }, "finish": { @@ -302,7 +302,7 @@ } }, "app": { - "title": "", + "title": "Aplikácie", "item": { "create": { "label": "", @@ -1026,13 +1026,13 @@ "label": "" }, "layout": { - "label": "", + "label": "Rozloženie", "option": { "row": { - "label": "" + "label": "Horizontálne" }, "column": { - "label": "" + "label": "Vertikálne" }, "grid": { "label": "" @@ -1213,7 +1213,7 @@ } }, "iframe": { - "name": "", + "name": "iFrame", "description": "Vložte akýkoľvek obsah z internetu. Niektoré webové stránky môžu obmedziť prístup.", "option": { "embedUrl": { @@ -1648,55 +1648,55 @@ "description": "", "option": { "defaultView": { - "label": "" + "label": "Predvolené zobrazenie" }, "queuePageSize": { "label": "" } }, "tab": { - "workers": "", - "queue": "", - "statistics": "" + "workers": "Pracovníci", + "queue": "Fronta", + "statistics": "Statistiky" }, "currentIndex": "", "healthCheck": { "title": "", - "queued": "", + "queued": "V poradí", "status": { - "healthy": "", - "unhealthy": "" + "healthy": "Zdravý", + "unhealthy": "Nezdravý" } }, "panel": { "statistics": { - "empty": "", - "transcodes": "", + "empty": "Prázdny", + "transcodes": "Transkodér", "transcodesCount": "", "healthChecksCount": "", "filesCount": "", "savedSpace": "", "healthChecks": "", - "videoCodecs": "", - "videoContainers": "", - "videoResolutions": "" + "videoCodecs": "Kodeky", + "videoContainers": "Kontajnery", + "videoResolutions": "Rozlíšenie" }, "workers": { - "empty": "", + "empty": "Prázdny", "table": { - "file": "", - "eta": "", - "progress": "", - "transcode": "", + "file": "Súbor", + "eta": "Odhad", + "progress": "Stav", + "transcode": "Transkodér", "healthCheck": "" } }, "queue": { - "empty": "", + "empty": "Prázdny", "table": { - "file": "", - "size": "", - "transcode": "", + "file": "Súbor", + "size": "Veľkosť", + "transcode": "Transkodér", "healthCheck": "" } } @@ -2042,9 +2042,9 @@ "tools": { "label": "Nástroje", "items": { - "docker": "", + "docker": "Docker", "logs": "", - "api": "", + "api": "API", "tasks": "" } }, @@ -2199,7 +2199,7 @@ }, "field": { "id": { - "label": "" + "label": "ID" }, "creator": { "label": "Autor" @@ -2208,7 +2208,7 @@ "label": "Dátum vypršania" }, "token": { - "label": "" + "label": "Token" } } } @@ -2218,7 +2218,7 @@ "setting": { "general": { "title": "Všeobecné", - "owner": "", + "owner": "Vlastník", "ownerOfGroup": "", "ownerOfGroupDeleted": "" }, @@ -2286,14 +2286,14 @@ } }, "board": { - "title": "", + "title": "Dosky", "homeBoard": { "label": "", "description": "" } }, "appearance": { - "title": "", + "title": "Vzhľad", "defaultColorScheme": { "label": "", "options": { @@ -2370,7 +2370,7 @@ } }, "api": { - "title": "", + "title": "API", "modal": { "createApiToken": { "title": "", @@ -2390,7 +2390,7 @@ }, "table": { "header": { - "id": "", + "id": "ID", "createdBy": "" } } @@ -2602,7 +2602,7 @@ "tools": { "label": "Nástroje", "docker": { - "label": "" + "label": "Docker" }, "logs": { "label": "" diff --git a/packages/translation/src/lang/sl.json b/packages/translation/src/lang/sl.json index 7bdac931d..0eb9cbe13 100644 --- a/packages/translation/src/lang/sl.json +++ b/packages/translation/src/lang/sl.json @@ -41,8 +41,8 @@ "import": "" }, "entities": { - "apps": "", - "boards": "", + "apps": "Aplikacije", + "boards": "Deske", "integrations": "", "credentialUsers": "" } @@ -51,7 +51,7 @@ "title": "", "field": { "token": { - "label": "", + "label": "Žeton", "description": "" } }, @@ -87,7 +87,7 @@ } }, "settings": { - "title": "", + "title": "Nastavitve", "subtitle": "" }, "finish": { @@ -293,7 +293,7 @@ }, "permission": { "admin": { - "title": "", + "title": "Admin", "item": { "admin": { "label": "", @@ -302,7 +302,7 @@ } }, "app": { - "title": "", + "title": "Aplikacije", "item": { "create": { "label": "", @@ -1026,13 +1026,13 @@ "label": "" }, "layout": { - "label": "", + "label": "Postavitev", "option": { "row": { - "label": "" + "label": "Vodoravno" }, "column": { - "label": "" + "label": "Navpično" }, "grid": { "label": "" @@ -1199,7 +1199,7 @@ }, "align": { "left": "Leva stran", - "center": "", + "center": "Center", "right": "Desno" }, "popover": { @@ -1213,7 +1213,7 @@ } }, "iframe": { - "name": "", + "name": "iFrame", "description": "Vstavite katero koli vsebino iz interneta. Nekatera spletna mesta lahko omejijo dostop.", "option": { "embedUrl": { @@ -1656,7 +1656,7 @@ }, "tab": { "workers": "", - "queue": "", + "queue": "Čakalna vrsta", "statistics": "" }, "currentIndex": "", @@ -1670,7 +1670,7 @@ }, "panel": { "statistics": { - "empty": "", + "empty": "Prazno", "transcodes": "", "transcodesCount": "", "healthChecksCount": "", @@ -1682,20 +1682,20 @@ "videoResolutions": "" }, "workers": { - "empty": "", + "empty": "Prazno", "table": { "file": "", - "eta": "", - "progress": "", + "eta": "ETA", + "progress": "Napredek", "transcode": "", "healthCheck": "" } }, "queue": { - "empty": "", + "empty": "Prazno", "table": { "file": "", - "size": "", + "size": "Velikost", "transcode": "", "healthCheck": "" } @@ -2042,7 +2042,7 @@ "tools": { "label": "Orodja", "items": { - "docker": "", + "docker": "Docker", "logs": "", "api": "", "tasks": "" @@ -2199,7 +2199,7 @@ }, "field": { "id": { - "label": "" + "label": "ID" }, "creator": { "label": "Ustvarjalec" @@ -2218,7 +2218,7 @@ "setting": { "general": { "title": "Splošno", - "owner": "", + "owner": "Lastnik", "ownerOfGroup": "", "ownerOfGroupDeleted": "" }, @@ -2286,14 +2286,14 @@ } }, "board": { - "title": "", + "title": "Deske", "homeBoard": { "label": "", "description": "" } }, "appearance": { - "title": "", + "title": "Videz", "defaultColorScheme": { "label": "", "options": { @@ -2390,7 +2390,7 @@ }, "table": { "header": { - "id": "", + "id": "ID", "createdBy": "" } } @@ -2602,7 +2602,7 @@ "tools": { "label": "Orodja", "docker": { - "label": "" + "label": "Docker" }, "logs": { "label": "" diff --git a/packages/translation/src/lang/sv.json b/packages/translation/src/lang/sv.json index 51e56fde7..26b80deb7 100644 --- a/packages/translation/src/lang/sv.json +++ b/packages/translation/src/lang/sv.json @@ -41,8 +41,8 @@ "import": "" }, "entities": { - "apps": "", - "boards": "", + "apps": "Appar", + "boards": "Tavlor", "integrations": "", "credentialUsers": "" } @@ -51,7 +51,7 @@ "title": "", "field": { "token": { - "label": "", + "label": "Token", "description": "" } }, @@ -87,7 +87,7 @@ } }, "settings": { - "title": "", + "title": "Inställningar", "subtitle": "" }, "finish": { @@ -293,7 +293,7 @@ }, "permission": { "admin": { - "title": "", + "title": "Admin", "item": { "admin": { "label": "", @@ -302,7 +302,7 @@ } }, "app": { - "title": "", + "title": "Appar", "item": { "create": { "label": "", @@ -1026,13 +1026,13 @@ "label": "" }, "layout": { - "label": "", + "label": "Layout", "option": { "row": { - "label": "" + "label": "Horisontal" }, "column": { - "label": "" + "label": "Vertikal" }, "grid": { "label": "" @@ -1050,7 +1050,7 @@ "description": "", "option": { "layout": { - "label": "", + "label": "Layout", "option": { "row": { "label": "Horisontal" @@ -1083,7 +1083,7 @@ "description": "Styr PiHole eller AdGuard från din instrumentpanel", "option": { "layout": { - "label": "", + "label": "Layout", "option": { "row": { "label": "Horisontal" @@ -1213,7 +1213,7 @@ } }, "iframe": { - "name": "", + "name": "iFrame", "description": "Bädda in valfritt innehåll från internet. Vissa webbplatser kan begränsa åtkomsten.", "option": { "embedUrl": { @@ -1522,7 +1522,7 @@ "columnTitle": "" }, "integration": { - "columnTitle": "" + "columnTitle": "Integration" }, "name": { "columnTitle": "" @@ -1648,55 +1648,55 @@ "description": "", "option": { "defaultView": { - "label": "" + "label": "Standardvy" }, "queuePageSize": { "label": "" } }, "tab": { - "workers": "", - "queue": "", - "statistics": "" + "workers": "Arbetare", + "queue": "Kö", + "statistics": "Statistik" }, "currentIndex": "", "healthCheck": { "title": "", - "queued": "", + "queued": "Köad", "status": { - "healthy": "", - "unhealthy": "" + "healthy": "Hälsosam", + "unhealthy": "Ohälsosam" } }, "panel": { "statistics": { - "empty": "", - "transcodes": "", + "empty": "Tom", + "transcodes": "Omkodning", "transcodesCount": "", "healthChecksCount": "", "filesCount": "", "savedSpace": "", "healthChecks": "", - "videoCodecs": "", - "videoContainers": "", - "videoResolutions": "" + "videoCodecs": "Codecs", + "videoContainers": "Containers", + "videoResolutions": "Upplösningar" }, "workers": { - "empty": "", + "empty": "Tom", "table": { - "file": "", - "eta": "", - "progress": "", - "transcode": "", + "file": "Fil", + "eta": "Beräknad sluttid", + "progress": "Förlopp", + "transcode": "Omkoda", "healthCheck": "" } }, "queue": { - "empty": "", + "empty": "Tom", "table": { - "file": "", - "size": "", - "transcode": "", + "file": "Fil", + "size": "Storlek", + "transcode": "Omkoda", "healthCheck": "" } } @@ -1907,7 +1907,7 @@ "unrecognizedLink": "" }, "layout": { - "title": "" + "title": "Layout" }, "background": { "title": "Bakgrund" @@ -2042,9 +2042,9 @@ "tools": { "label": "Verktyg", "items": { - "docker": "", + "docker": "Docker", "logs": "", - "api": "", + "api": "API", "tasks": "" } }, @@ -2199,7 +2199,7 @@ }, "field": { "id": { - "label": "" + "label": "ID" }, "creator": { "label": "Skapare" @@ -2208,7 +2208,7 @@ "label": "Utgångsdatum" }, "token": { - "label": "" + "label": "Token" } } } @@ -2218,7 +2218,7 @@ "setting": { "general": { "title": "Allmänt", - "owner": "", + "owner": "Ägare", "ownerOfGroup": "", "ownerOfGroupDeleted": "" }, @@ -2286,14 +2286,14 @@ } }, "board": { - "title": "", + "title": "Tavlor", "homeBoard": { "label": "", "description": "" } }, "appearance": { - "title": "", + "title": "Utseende", "defaultColorScheme": { "label": "", "options": { @@ -2370,7 +2370,7 @@ } }, "api": { - "title": "", + "title": "API", "modal": { "createApiToken": { "title": "", @@ -2390,7 +2390,7 @@ }, "table": { "header": { - "id": "", + "id": "ID", "createdBy": "" } } @@ -2419,7 +2419,7 @@ } }, "docker": { - "title": "", + "title": "Containers", "table": { "updated": "", "search": "", @@ -2442,7 +2442,7 @@ } }, "containerImage": { - "label": "" + "label": "Image" }, "ports": { "label": "Portar" @@ -2602,7 +2602,7 @@ "tools": { "label": "Verktyg", "docker": { - "label": "" + "label": "Docker" }, "logs": { "label": "" @@ -2749,7 +2749,7 @@ "description": "" }, "torrent": { - "name": "", + "name": "Torrents", "description": "" }, "youTube": { diff --git a/packages/translation/src/lang/tr.json b/packages/translation/src/lang/tr.json index 0e7097c93..9855dea0f 100644 --- a/packages/translation/src/lang/tr.json +++ b/packages/translation/src/lang/tr.json @@ -2,130 +2,130 @@ "init": { "step": { "start": { - "title": "", - "subtitle": "", - "description": "", + "title": "Homarr'a Hoş Geldiniz", + "subtitle": "Homarr örneğinizi kurmaya başlayalım.", + "description": "Başlamak için lütfen Homarr örneğinizi nasıl kurmak istediğinizi seçin.", "action": { - "scratch": "", - "importOldmarr": "" + "scratch": "Sıfırdan başlayın", + "importOldmarr": "Homarr 1.0'dan önceki yedeğinizi içe aktarın" } }, "import": { - "title": "", - "subtitle": "", + "title": "Verileri içe aktar", + "subtitle": "Mevcut bir Homarr örneğinden alınan verileri içe aktarabilirsiniz.", "dropzone": { - "title": "", - "description": "" + "title": "Zip dosyasını buraya sürükleyin veya göz atmak için tıklayın", + "description": "Seçtiğiniz zip işlenecek ve içe aktarmak istediğiniz verileri seçebileceksiniz" }, "fileInfo": { "action": { - "change": "" + "change": "Dosyayı değiştir" } }, "importSettings": { - "title": "", - "description": "" + "title": "İçe aktarma ayarları", + "description": "İçe aktarma işlevlerini yapılandırın" }, "boardSelection": { - "title": "", - "description": "", + "title": "{count} pano bulundu", + "description": "İçe aktarılacak tüm panoların boyutlarını seçin", "action": { - "selectAll": "", - "unselectAll": "" + "selectAll": "Tümünü seç", + "unselectAll": "Tüm seçimi kaldır" } }, "summary": { - "title": "", - "description": "", + "title": "İçe aktarma özeti", + "description": "Aşağıdaki özeti kontrol ederek içe aktarılacak işlevleri görebilirsiniz", "action": { - "import": "" + "import": "İçe aktarmayı onayla ve devam et" }, "entities": { - "apps": "", - "boards": "", - "integrations": "", - "credentialUsers": "" + "apps": "Uygulamalar", + "boards": "Paneller", + "integrations": "Entegrasyonlar", + "credentialUsers": "Kullanıcı kimlik Bilgileri" } }, "tokenModal": { - "title": "", + "title": "İçe aktarma token'ını girin", "field": { "token": { - "label": "", - "description": "" + "label": "Erişim Anahtarı", + "description": "Önceki homarr örneğinizden aldığınız içe aktarma Token'ını girin" } }, "notification": { "error": { - "title": "", - "message": "" + "title": "Geçersiz token", + "message": "Girdiğiniz token geçersiz" } } } }, "user": { - "title": "", - "subtitle": "", + "title": "Yönetici", + "subtitle": "Yönetici kullanıcınız için kimlik bilgilerini girin.", "notification": { "success": { - "title": "", - "message": "" + "title": "Kullanıcı oluşturuldu", + "message": "Kullanıcı başarıyla oluşturuldu" }, "error": { - "title": "" + "title": "Kullanıcı oluşturma başarısız oldu" } } }, "group": { - "title": "", - "subtitle": "", + "title": "Dış grup", + "subtitle": "Harici kullanıcılar için kullanılacak grubu belirtin.", "form": { "name": { - "label": "", - "description": "" + "label": "Grup adı", + "description": "Ad, harici sağlayıcının yönetici grubuyla eşleşmelidir" } } }, "settings": { - "title": "", - "subtitle": "" + "title": "Ayarlar", + "subtitle": "Sunucu ayarlarınızı yapılandırın." }, "finish": { - "title": "", - "subtitle": "", - "description": "", + "title": "Kurulumu Bitir", + "subtitle": "Başlamaya hazırsınız!", + "description": "Kurulum sürecini başarıyla tamamladınız. Artık Homarr'ı kullanmaya başlayabilirsiniz. Sonraki eyleminizi seçin:", "action": { - "goToBoard": "", - "createBoard": "", - "inviteUser": "", - "docs": "" + "goToBoard": "{name} panosuna git", + "createBoard": "İlk panonuzu oluşturun", + "inviteUser": "Yeni kullanıcı davet et", + "docs": "Dökümanları okuyun" } } }, - "backToStart": "" + "backToStart": "Başlangıca geri dön" }, "user": { "title": "Kullanıcılar", "name": "Kullanıcı", "page": { "login": { - "title": "", - "subtitle": "" + "title": "Hesabınıza giriş yapın", + "subtitle": "Tekrar hoş geldiniz! Lütfen kimlik bilgilerinizi girin" }, "invite": { - "title": "", - "subtitle": "", - "description": "" + "title": "Homarr'a Katıl", + "subtitle": "Homarr'a hoş geldiniz! Lütfen hesabınızı oluşturun", + "description": "{username} tarafından davet edildiniz" }, "init": { - "title": "", - "subtitle": "" + "title": "Yeni Homarr kurulumu", + "subtitle": "Lütfen yönetici kullanıcısını oluşturun" } }, "field": { "email": { "label": "E-Posta", - "verified": "" + "verified": "Doğrulandı" }, "username": { "label": "Kullanıcı adı" @@ -133,46 +133,46 @@ "password": { "label": "Şifre", "requirement": { - "length": "", + "length": "En az 8 karakter içermeli", "lowercase": "Küçük harf içermeli", "uppercase": "Büyük harf içermeli", "number": "Rakam içermeli", - "special": "" + "special": "Özel sembol içermeli" } }, "passwordConfirm": { "label": "Şifreyi onayla" }, "previousPassword": { - "label": "" + "label": "Eski Şifre" }, "homeBoard": { - "label": "" + "label": "Ana sayfa panosu" }, "pingIconsEnabled": { - "label": "" + "label": "Pingler için simgeler kullanın" } }, "error": { - "usernameTaken": "" + "usernameTaken": "Kullanıcı adı önceden alındı" }, "action": { "login": { "label": "Giriş", - "labelWith": "", + "labelWith": "{provider} ile giriş yapın", "notification": { "success": { - "title": "", - "message": "" + "title": "Giriş başarılı", + "message": "Şu anda giriş yaptınız" }, "error": { - "title": "", - "message": "" + "title": "Giriş başarısız", + "message": "Girişiniz başarısız oldu" } }, "forgotPassword": { - "label": "", - "description": "" + "label": "Şifrenizi mi unuttunuz?", + "description": "Yöneticiniz parolanızı sıfırlamak için aşağıdaki komutu kullanabilir:" } }, "register": { @@ -180,81 +180,81 @@ "notification": { "success": { "title": "Hesap oluşturuldu", - "message": "" + "message": "Devam etmek için lütfen giriş yapın" }, "error": { - "title": "", - "message": "" + "title": "Hesap oluşturma başarısız oldu", + "message": "Hesabınız oluşturulamadı" } } }, "create": "Kullanıcı ekle", "changePassword": { - "label": "", + "label": "Parolayı değiştir", "notification": { "success": { - "message": "" + "message": "Parola başarıyla değiştirildi" }, "error": { - "message": "" + "message": "Parola değiştirilemedi" } } }, "changeHomeBoard": { "notification": { "success": { - "message": "" + "message": "Ana sayfa panosu başarıyla değiştirildi" }, "error": { - "message": "" + "message": "Ana pano değiştirilemiyor" } } }, "changeFirstDayOfWeek": { "notification": { "success": { - "message": "" + "message": "Haftanın ilk günü başarıyla değiştirildi" }, "error": { - "message": "" + "message": "Haftanın ilk günü değiştirilemiyor" } } }, "changePingIconsEnabled": { "notification": { "success": { - "message": "" + "message": "Ping simgeleri başarıyla değiştirildi" }, "error": { - "message": "" + "message": "Ping simgeleri değiştirilemiyor" } } }, "manageAvatar": { "changeImage": { - "label": "", + "label": "Görseli değiştir", "notification": { "success": { - "message": "" + "message": "Görsel başarıyla değiştirildi" }, "error": { - "message": "" + "message": "Görsel değiştirilemiyor" }, "toLarge": { - "title": "", - "message": "" + "title": "Görsel çok büyük", + "message": "Maksimum görsel boyutu {size}" } } }, "removeImage": { - "label": "", - "confirm": "", + "label": "Görseli kaldır", + "confirm": "Görseli kaldırmak istediğinizden emin misiniz?", "notification": { "success": { - "message": "" + "message": "Görsel başarıyla kaldırıldı" }, "error": { - "message": "" + "message": "Görsel kaldırılamıyor" } } } @@ -262,63 +262,63 @@ "editProfile": { "notification": { "success": { - "message": "" + "message": "Profil başarıyla güncellendi" }, "error": { - "message": "" + "message": "Profil güncellenemiyor" } } }, "delete": { - "label": "", - "description": "", - "confirm": "" + "label": "Kullanıcıyı kalıcı olarak sil", + "description": "Bu kullanıcıyı tercihleriyle birlikte siler. Hiçbir pano silinmeyecektir. Kullanıcı bilgilendirilmez.", + "confirm": "{username} kullanıcısını tercihleriyle birlikte silmek istediğinizden emin misiniz?" }, "select": { - "label": "", - "notFound": "" + "label": "Kullanıcıyı seç", + "notFound": "Kullanıcı bulunmadı" }, "transfer": { - "label": "" + "label": "Yeni sahibi seç" } } }, "group": { - "title": "", - "name": "", - "search": "", + "title": "Gruplar", + "name": "Grup", + "search": "Grup bul", "field": { "name": "İsim", - "members": "" + "members": "Üyeler" }, "permission": { "admin": { "title": "Yönetici", "item": { "admin": { - "label": "", - "description": "" + "label": "Yönetici", + "description": "Bu izne sahip üyeler tüm özelliklere ve ayarlara tam erişime sahiptir" } } }, "app": { - "title": "", + "title": "Uygulamalar", "item": { "create": { - "label": "", - "description": "" + "label": "Uygulamalar oluşturun", + "description": "Üyelerin uygulama oluşturmasına izin ver" }, "use-all": { - "label": "", - "description": "" + "label": "Tüm uygulamaları kullan", + "description": "Üyelerin panolarına herhangi bir uygulama eklemelerine izin ver" }, "modify-all": { - "label": "", - "description": "" + "label": "Tüm uygulamaları değiştir", + "description": "Üyelerin tüm uygulamaları değiştirmesine izin ver" }, "full-all": { - "label": "", - "description": "" + "label": "Uygulamaya tam erişim", + "description": "Üyelerin herhangi bir uygulamayı yönetmesine, kullanmasına ve silmesine izin ver" } } }, @@ -326,165 +326,165 @@ "title": "Paneller", "item": { "create": { - "label": "", - "description": "" + "label": "Pano oluştur", + "description": "Üyelerin pano oluşturmasına izin ver" }, "view-all": { - "label": "", - "description": "" + "label": "Tüm panoları görüntüle", + "description": "Üyelerin tüm panoları görüntülemesine izin ver" }, "modify-all": { - "label": "", - "description": "" + "label": "Tüm panoları değiştir", + "description": "Üyelerin tüm panoları değiştirmesine izin verin (Erişim kontrolü ve tehlikeli alan dahil değildir)" }, "full-all": { - "label": "", - "description": "" + "label": "Tam pano erişimi", + "description": "Üyelerin tüm panoları görüntülemesine, değiştirmesine ve silmesine izin verin (Erişim kontrolü ve tehlikeli alan dahil)" } } }, "integration": { - "title": "", + "title": "Entegrasyonlar", "item": { "create": { - "label": "", - "description": "" + "label": "Entegrasyonlar oluştur", + "description": "Üyelerin entegrasyonlar oluşturmasına izin ver" }, "use-all": { - "label": "", - "description": "" + "label": "Tüm entegrasyonları kullan", + "description": "Üyelerin panolarına herhangi bir entegrasyonu eklemelerine olanak tanır" }, "interact-all": { - "label": "", - "description": "" + "label": "Herhangi bir entegrasyonla etkileşim kurun", + "description": "Üyelerin herhangi bir entegrasyonla etkileşime girmesine izin verin" }, "full-all": { - "label": "", - "description": "" + "label": "Tam entegrasyon erişimi", + "description": "Üyelerin herhangi bir entegrasyonu yönetmesine, kullanmasına ve etkileşimde bulunmasına izin ver" } } }, "media": { - "title": "", + "title": "Medyalar", "item": { "upload": { - "label": "", - "description": "" + "label": "Medya yükle", + "description": "Üyelerin medya yüklemesine izin ver" }, "view-all": { - "label": "", - "description": "" + "label": "Tüm medyayı görüntüle", + "description": "Üyelerin tüm medyayı görüntülemesine izin ver" }, "full-all": { - "label": "", - "description": "" + "label": "Tam medya erişimi", + "description": "Üyelerin herhangi bir medyayı yönetmesine ve silmesine izin ver" } } }, "other": { - "title": "", + "title": "Diğer", "item": { "view-logs": { - "label": "", - "description": "" + "label": "Günlükleri görüntüle", + "description": "Üyelerin günlükleri görüntülemesine izin ver" } } }, "search-engine": { - "title": "", + "title": "Arama motorları", "item": { "create": { - "label": "", - "description": "" + "label": "Arama motorları oluşturun", + "description": "Üyelerin arama motorları oluşturmasına izin ver" }, "modify-all": { - "label": "", - "description": "" + "label": "Tüm arama motorlarını değiştir", + "description": "Üyelerin tüm arama motorlarını değiştirmesine izin ver" }, "full-all": { - "label": "", - "description": "" + "label": "Tam arama motoru erişimi", + "description": "Üyelerin herhangi bir arama motorunu yönetmesine ve silmesine izin ver" } } } }, "memberNotice": { - "mixed": "", - "external": "" + "mixed": "Bazı üyeler harici sağlayıcılardandır ve burada yönetilemezler", + "external": "Tüm üyeler harici sağlayıcılardandır ve burada yönetilemezler" }, "reservedNotice": { - "message": "" + "message": "Bu grup sistem kullanımı için ayrılmıştır ve bazı eylemleri kısıtlar. <checkoutDocs></checkoutDocs>" }, "action": { "create": { - "label": "", + "label": "Yeni grup", "notification": { "success": { - "message": "" + "message": "Grup başarıyla oluşturuldu" }, "error": { - "message": "" + "message": "Grup oluşturulamadı" } } }, "transfer": { - "label": "", - "description": "", - "confirm": "", + "label": "Sahipliği aktar", + "description": "Bu grubun sahipliğini başka bir kullanıcıya aktarın.", + "confirm": "{name} grubunun mülkiyetini {username} grubuna devretmek istediğinizden emin misiniz?", "notification": { "success": { - "message": "" + "message": "{group} grubu başarıyla {user} grubuna aktarıldı" }, "error": { - "message": "" + "message": "Sahiplik aktarımı yapılamıyor" } } }, "addMember": { - "label": "" + "label": "Üye ekle" }, "removeMember": { - "label": "", - "confirm": "" + "label": "Üyeyi kaldır", + "confirm": "{user} adlı kişiyi bu gruptan kaldırmak istediğinizden emin misiniz?" }, "delete": { - "label": "", - "description": "", - "confirm": "", + "label": "Grubu sil", + "description": "Bir grubu sildiğinizde geri dönüş yoktur. Lütfen emin olun.", + "confirm": "{name} grubunu silmek istediğinizden emin misiniz?", "notification": { "success": { - "message": "" + "message": "{name} grubu başarıyla silindi" }, "error": { - "message": "" + "message": "{name} grubu silinemiyor" } } }, "changePermissions": { "notification": { "success": { - "title": "", - "message": "" + "title": "İzinler kaydedildi", + "message": "İzinler başarıyla kaydedildi" }, "error": { - "title": "", - "message": "" + "title": "İzinler kaydedilmedi", + "message": "İzinler kaydedilmedi" } } }, "update": { "notification": { "success": { - "message": "" + "message": "{name} grubu başarıyla kaydedildi" }, "error": { - "message": "" + "message": "Grup kaydedilemiyor {name}" } } }, "select": { - "label": "", - "notFound": "" + "label": "Grup Seç", + "notFound": "Grup bulunamadı" } } }, @@ -493,47 +493,47 @@ "list": { "title": "Uygulamalar", "noResults": { - "title": "", - "action": "" + "title": "Henüz uygulama oluşturulmadı", + "action": "İlk uygulamanızı oluşturun" } }, "create": { - "title": "", + "title": "Yeni uygulama", "notification": { "success": { - "title": "", - "message": "" + "title": "Oluşturma başarılı", + "message": "Uygulama başarıyla oluşturuldu" }, "error": { - "title": "", - "message": "" + "title": "Oluşturma başarısız oldu", + "message": "Uygulama oluşturulamadı" } } }, "edit": { - "title": "", + "title": "Uygulamayı düzenle", "notification": { "success": { - "title": "", - "message": "" + "title": "Değişiklikler başarıyla uygulandı", + "message": "Uygulama başarıyla kaydedildi" }, "error": { - "title": "", - "message": "" + "title": "Değişiklikler uygulanamıyor", + "message": "Uygulama kaydedilemedi" } } }, "delete": { - "title": "", - "message": "", + "title": "Uygulamayı sil", + "message": "{name} uygulamasını silmek istediğinizden emin misiniz?", "notification": { "success": { - "title": "", - "message": "" + "title": "Silme başarılı", + "message": "Uygulama başarıyla silindi" }, "error": { - "title": "", - "message": "" + "title": "Silme başarısız oldu", + "message": "Uygulama silinemiyor" } } } @@ -543,65 +543,65 @@ "label": "İsim" }, "description": { - "label": "" + "label": "Tanım" }, "url": { - "label": "" + "label": "Url" } }, "action": { "select": { - "label": "", - "notFound": "" + "label": "Uygulama seç", + "notFound": "Uygulama bulunamadı" } } }, "integration": { "page": { "list": { - "title": "", - "search": "", + "title": "Entegrasyonlar", + "search": "Entegrasyon ara", "noResults": { - "title": "" + "title": "Henüz entegrasyon yok" } }, "create": { - "title": "", + "title": "Yeni {name} entegrasyonu", "notification": { "success": { - "title": "", - "message": "" + "title": "Oluşturma başarılı", + "message": "Entegrasyon başarıyla oluşturuldu" }, "error": { - "title": "", - "message": "" + "title": "Oluşturma başarısız oldu", + "message": "Entegrasyon oluşturulamadı" } } }, "edit": { - "title": "", + "title": "{name} entegrasyonu düzenle", "notification": { "success": { - "title": "", - "message": "" + "title": "Değişiklikler başarıyla uygulandı", + "message": "Entegrasyon başarıyla kaydedildi" }, "error": { - "title": "", - "message": "" + "title": "Değişiklikler uygulanamıyor", + "message": "Entegrasyon kaydedilemedi" } } }, "delete": { - "title": "", - "message": "", + "title": "Entegrasyonu Sil", + "message": "{name} entegrasyonunu silmek istediğinizden emin misiniz?", "notification": { "success": { - "title": "", - "message": "" + "title": "Silme başarılı", + "message": "Entegrasyon başarıyla silindi" }, "error": { - "title": "", - "message": "" + "title": "Silme başarısız oldu", + "message": "Entegrasyon silinemiyor" } } } @@ -611,66 +611,66 @@ "label": "İsim" }, "url": { - "label": "" + "label": "Url" } }, "action": { - "create": "" + "create": "Yeni entegrasyon" }, "testConnection": { "action": { - "create": "", - "edit": "" + "create": "Bağlantıyı test et ve oluştur", + "edit": "Bağlantıyı test et ve kaydet" }, - "alertNotice": "", + "alertNotice": "Bağlantı kurulumu başaralı olduğunda Kaydet düğmesi etkinleştirilir", "notification": { "success": { - "title": "", - "message": "" + "title": "Bağlantı başarılı", + "message": "Bağlantı başarıyla kuruldu" }, "invalidUrl": { "title": "Geçersiz URL", - "message": "" + "message": "URL geçersiz" }, "secretNotDefined": { - "title": "", - "message": "" + "title": "Eksik kimlik bilgileri", + "message": "Tüm kimlik bilgileri sağlanmadı" }, "invalidCredentials": { - "title": "", - "message": "" + "title": "Geçersiz kimlik bilgileri", + "message": "Kimlik bilgileri geçersiz" }, "commonError": { - "title": "", - "message": "" + "title": "Bağlantı başarısız oldu", + "message": "Bağlantı kurulamadı" }, "badRequest": { - "title": "", - "message": "" + "title": "Geçersiz istek", + "message": "Talep hatalı biçimlendirilmiş" }, "unauthorized": { - "title": "", - "message": "" + "title": "Yetkisiz", + "message": "Muhtemelen yanlış kimlik bilgileri" }, "forbidden": { - "title": "", - "message": "" + "title": "Yasaklı", + "message": "Muhtemelen izinler eksik" }, "notFound": { - "title": "", - "message": "" + "title": "Bulunamadı", + "message": "Muhtemelen yanlış Url veya yol" }, "internalServerError": { - "title": "", - "message": "" + "title": "İç Sunucu Hatası", + "message": "Sunucu bir hatayla karşılaştı" }, "serviceUnavailable": { - "title": "", - "message": "" + "title": "Hizmet kullanılamıyor", + "message": "Sunucu şu anda kullanılamıyor" }, "connectionAborted": { - "title": "", - "message": "" + "title": "Bağlantı kesildi", + "message": "Bağlantı kesildi" }, "domainNotFound": { "title": "", @@ -724,11 +724,11 @@ "permission": { "use": "", "interact": "", - "full": "" + "full": "Tam entegrasyon erişimi" } }, "media": { - "plural": "", + "plural": "Medyalar", "search": "", "field": { "name": "İsim", @@ -756,108 +756,108 @@ "message": "" }, "error": { - "message": "" + "message": "Medya silinemedi" } } }, "copy": { - "label": "" + "label": "URL'yi kopyala" } } }, "common": { - "beta": "", + "beta": "Beta", "error": "Hata", "action": { "add": "Ekle", "apply": "Uygula", - "backToOverview": "", + "backToOverview": "Genel bakışa dön", "create": "Oluştur", "edit": "Düzenle", - "import": "", + "import": "İçe aktar", "insert": "Ekle", "remove": "Kaldır", "save": "Kaydet", "saveChanges": "Değişiklikleri kaydet", "cancel": "Vazgeç", "delete": "Sil", - "discard": "", + "discard": "Yoksay", "confirm": "Onayla", - "continue": "", + "continue": "Devam Et", "previous": "Önceki", "next": "İleri", - "checkoutDocs": "", - "checkLogs": "", + "checkoutDocs": "Dökümanlara göz atın", + "checkLogs": "Daha fazla ayrıntı için günlükleri kontrol edin", "tryAgain": "Tekrar Deneyin", - "loading": "" + "loading": "Yükleniyor" }, - "here": "", + "here": "burada", "iconPicker": { - "label": "", - "header": "" + "label": "Simge URL'si", + "header": "Simgeleri filtrelemek için isim veya nesne yazın... Homarr sizin için {countIcons} simge arasında arama yapacaktır." }, "colorScheme": { "options": { - "light": "", - "dark": "" + "light": "Aydınlık", + "dark": "Koyu" } }, "information": { - "min": "", - "max": "", - "days": "", + "min": "Asgari", + "max": "Azami", + "days": "Gün", "hours": "Saat", "minutes": "Dakika" }, "notification": { "create": { - "success": "", - "error": "" + "success": "Oluşturma başarılı", + "error": "Oluşturma başarısız oldu" }, "delete": { - "success": "", - "error": "" + "success": "Silme başarılı", + "error": "Silme başarısız oldu" }, "update": { - "success": "", - "error": "" + "success": "Değişiklikler başarıyla uygulandı", + "error": "Değişiklikler uygulanamıyor" }, "transfer": { - "success": "", - "error": "" + "success": "Transfer başarılı", + "error": "Transfer başarısız" } }, "multiSelect": { - "placeholder": "" + "placeholder": "Bir veya daha fazla değer seçin" }, "multiText": { - "placeholder": "", - "addLabel": "" + "placeholder": "Daha fazla değer ekleyin", + "addLabel": "{value} ekle" }, "select": { - "placeholder": "", + "placeholder": "Değer seç", "badge": { - "recommended": "" + "recommended": "Tavsiye edilen" } }, "userAvatar": { "menu": { - "switchToDarkMode": "", - "switchToLightMode": "", - "management": "", + "switchToDarkMode": "Koyu moda geç", + "switchToLightMode": "Aydınlık moda geç", + "management": "Yönetim", "preferences": "Tercihleriniz", - "logout": "", + "logout": "Oturumu kapat", "login": "Giriş", - "homeBoard": "", - "loggedOut": "", - "updateAvailable": "" + "homeBoard": "Ev panonuz", + "loggedOut": "Oturum kapatıldı", + "updateAvailable": "{countUpdates} güncelleme mevcut: {tag}" } }, "dangerZone": "Tehlikeli bölge", "noResults": "Sonuç bulunamadı", "preview": { - "show": "", - "hide": "" + "show": "Önizlemeyi göster", + "hide": "Önizlemeyi Gizle" }, "zod": { "errors": { @@ -867,7 +867,7 @@ "startsWith": "Bu alan {startsWith} ile başlamalıdır", "endsWith": "Bu alan {endsWith} ile bitmelidir", "includes": "Bu alan {includes} adresini içermelidir", - "invalidEmail": "" + "invalidEmail": "Bu alanda geçerli bir e-posta olmalıdır" }, "tooSmall": { "string": "Bu alan en az {minimum} karakter uzunluğunda olmalıdır", @@ -878,13 +878,13 @@ "number": "Bu alan {maximum} adresinden kısa veya eşit olmalıdır" }, "custom": { - "passwordsDoNotMatch": "", - "passwordRequirements": "", - "boardAlreadyExists": "", - "invalidFileType": "", - "fileTooLarge": "", - "invalidConfiguration": "", - "groupNameTaken": "" + "passwordsDoNotMatch": "Parolalar uyuşmuyor", + "passwordRequirements": "Parola gereksinimleri karşılamıyor", + "boardAlreadyExists": "Bu isimde bir pano zaten mevcut", + "invalidFileType": "Geçersiz dosya türü, {expected} bekleniyor", + "fileTooLarge": "Dosya çok büyük, azami boyut {maxSize}", + "invalidConfiguration": "Geçersiz yapılandırma", + "groupNameTaken": "Grup adı zaten alınmış" } } } @@ -892,12 +892,12 @@ "section": { "dynamic": { "action": { - "create": "", - "remove": "" + "create": "Yeni dinamik bölüm", + "remove": "Dinamik bölümü kaldır" }, "remove": { - "title": "", - "message": "" + "title": "Dinamik bölümü kaldır", + "message": "Bu dinamik bölümü kaldırmak istediğinizden emin misiniz? Öğeler üst bölümdeki aynı konuma taşınacaktır." } }, "category": { @@ -907,29 +907,29 @@ } }, "action": { - "create": "", - "edit": "", - "remove": "", + "create": "Yeni kategori", + "edit": "Kategoriyi yeniden adlandır", + "remove": "Kategoriyi kaldır", "moveUp": "Yukarı taşı", "moveDown": "Aşağı taşı", - "createAbove": "", - "createBelow": "" + "createAbove": "Yukarı yeni kategori", + "createBelow": "Aşağı yeni kategori" }, "create": { - "title": "", - "submit": "" + "title": "Yeni kategori", + "submit": "Kategori ekle" }, "remove": { - "title": "", - "message": "" + "title": "Kategoriyi kaldır", + "message": "{name} kategorisini kaldırmak istediğinizden emin misiniz?" }, "edit": { - "title": "", - "submit": "" + "title": "Kategoriyi yeniden adlandır", + "submit": "Kategoriyi yeniden adlandır" }, "menu": { "label": { - "create": "", + "create": "Yeni kategori", "changePosition": "Pozisyonu değiştir" } } @@ -937,12 +937,12 @@ }, "item": { "action": { - "create": "", - "import": "", - "edit": "", - "moveResize": "", - "duplicate": "", - "remove": "" + "create": "Yeni öğe", + "import": "Öğeleri İçe Aktar", + "edit": "Öğeyi Düzenle", + "moveResize": "Öğeyi taşı / yeniden boyutlandır", + "duplicate": "Öğeyi Çoğalt", + "remove": "Öğeyi kaldır" }, "menu": { "label": { @@ -950,11 +950,11 @@ } }, "create": { - "title": "", - "addToBoard": "" + "title": "Eklenecek öğeyi seçin", + "addToBoard": "Panele Ekle" }, "moveResize": { - "title": "", + "title": "Öğeyi taşı / yeniden boyutlandır", "field": { "width": { "label": "Genişlik" @@ -963,91 +963,91 @@ "label": "Yükseklik" }, "xOffset": { - "label": "" + "label": "X Ekseni" }, "yOffset": { - "label": "" + "label": "Y Ekseni" } } }, "edit": { - "title": "", + "title": "Öğeyi Düzenle", "advancedOptions": { - "label": "", - "title": "" + "label": "Gelişmiş seçenekler", + "title": "Gelişmiş öğe seçenekleri" }, "field": { "integrations": { - "label": "" + "label": "Entegrasyonlar" }, "customCssClasses": { - "label": "" + "label": "Özel css sınıfları" } } }, "remove": { - "title": "", - "message": "" + "title": "Öğeyi kaldır", + "message": "Bu öğeyi kaldırmak istediğinizden emin misiniz?" } }, "widget": { "app": { - "name": "", - "description": "", + "name": "Uygulama", + "description": "Panelin içine uygulama yerleştirir.", "option": { "appId": { - "label": "" + "label": "Uygulama seç" }, "openInNewTab": { "label": "Yeni sekmede aç" }, "showTitle": { - "label": "" + "label": "Uygulama adını göster" }, "showDescriptionTooltip": { - "label": "" + "label": "Açıklama ipucunu göster" }, "pingEnabled": { - "label": "" + "label": "Basit ping'i etkinleştir" } }, "error": { "notFound": { - "label": "", - "tooltip": "" + "label": "Uygulama yok", + "tooltip": "Geçerli bir uygulama seçmediniz" } } }, "bookmarks": { - "name": "", - "description": "", + "name": "Yer imleri", + "description": "Birden fazla uygulama bağlantısını görüntüler", "option": { "title": { - "label": "" + "label": "Başlık" }, "layout": { - "label": "", + "label": "Düzen", "option": { "row": { - "label": "" + "label": "Yatay" }, "column": { - "label": "" + "label": "Dikey" }, "grid": { - "label": "" + "label": "Izgara" } } }, "items": { - "label": "", - "add": "" + "label": "Yer imleri", + "add": "Yer imi ekle" } } }, "dnsHoleSummary": { - "name": "", - "description": "", + "name": "DNS Çözümleyici Özeti", + "description": "DNS Çözümleyici özetini görüntüler", "option": { "layout": { "label": "Düzen", @@ -1059,27 +1059,27 @@ "label": "Dikey" }, "grid": { - "label": "" + "label": "Izgara" } } }, "usePiHoleColors": { - "label": "" + "label": "Pi-Hole renklerini kullan" } }, "error": { - "internalServerError": "", - "integrationsDisconnected": "" + "internalServerError": "DNS Çözümleyici Özeti alınamadı", + "integrationsDisconnected": "Veri yok, tüm entegrasyonların bağlantısı kesildi" }, "data": { "adsBlockedToday": "Bugün engellenenler", "adsBlockedTodayPercentage": "Bugün engellenenler", "dnsQueriesToday": "Bugünkü Sorgular", - "domainsBeingBlocked": "" + "domainsBeingBlocked": "Engelleme listesindeki alan adları" } }, "dnsHoleControls": { - "name": "", + "name": "DNS çözümleyici kontrolleri", "description": "Kontrol panelinizden PiHole veya AdGuard'ı kontrol edin", "option": { "layout": { @@ -1092,68 +1092,68 @@ "label": "Dikey" }, "grid": { - "label": "" + "label": "Izgara" } } }, "showToggleAllButtons": { - "label": "" + "label": "Tüm Geçiş Yap Düğmelerini Göster" } }, "error": { - "internalServerError": "" + "internalServerError": "DNS Çözümleyici kontrol edilemedi" }, "controls": { - "enableAll": "", - "disableAll": "", - "setTimer": "", + "enableAll": "Tümünü Etkinleştir", + "disableAll": "Tümünü Devre Dışı Bırak", + "setTimer": "Zamanlayıcıyı Ayarla", "set": "Ayarla", "enabled": "Etkin", "disabled": "Pasif", - "processing": "", - "disconnected": "", + "processing": "İşleniyor", + "disconnected": "Bağlantısı kesildi", "hours": "Saat", "minutes": "Dakika", - "unlimited": "" + "unlimited": "Limitsiz olması için boş bırakın" } }, "clock": { - "name": "", + "name": "Tarih ve saat", "description": "Geçerli tarih ve saati görüntüler.", "option": { "customTitleToggle": { - "label": "", - "description": "" + "label": "Özel Başlık/Şehir gösterimi", + "description": "Saatin üstüne özel bir başlık veya şehir/ülke adını ekleyin." }, "customTitle": { - "label": "" + "label": "Başlık" }, "is24HourFormat": { - "label": "", - "description": "" + "label": "24 saatlik format", + "description": "12 saatlik format yerine 24 saatlik formatı kullanın" }, "showSeconds": { - "label": "" + "label": "Saniyeleri görüntüle" }, "useCustomTimezone": { - "label": "" + "label": "Sabit bir zaman dilimi kullanın" }, "timezone": { "label": "Saat dilimi", - "description": "" + "description": "IANA standardına uygun zaman dilimini seçin" }, "showDate": { - "label": "" + "label": "Tarihi göster" }, "dateFormat": { - "label": "", - "description": "" + "label": "Tarih Biçimi", + "description": "Tarihin nasıl görüneceği" } } }, "notebook": { "name": "Not defteri", - "description": "", + "description": "Markdown'ı destekleyen basit bir not defteri bileşeni", "option": { "showToolbar": { "label": "Markdown'da yazarken size yardımcı olacak araç çubuğunu aktif edin" @@ -1213,7 +1213,7 @@ } }, "iframe": { - "name": "", + "name": "iFrame", "description": "İnternetten herhangi bir içeriği yerleştirin. Bazı web siteleri erişimi kısıtlayabilir.", "option": { "embedUrl": { @@ -1245,31 +1245,31 @@ } }, "error": { - "noUrl": "", + "noUrl": "IFrame URL'si sağlanmadı", "noBrowerSupport": "Tarayıcınız iframe'leri desteklemiyor. Lütfen tarayıcınızı güncelleyin." } }, "smartHome-entityState": { - "name": "", - "description": "", + "name": "Varlık Durumu", + "description": "Bir varlığın durumunu görüntüleyin ve isteğe bağlı olarak değiştirin", "option": { "entityId": { "label": "Varlık Kimliği" }, "displayName": { - "label": "" + "label": "Ekran adı" }, "entityUnit": { - "label": "" + "label": "Varlık Birimi" }, "clickable": { - "label": "" + "label": "Bir ögenin tıklanabilir olup olmadığı" } } }, "smartHome-executeAutomation": { - "name": "", - "description": "", + "name": "Otomasyonu Yürüt", + "description": "Tek tıklamayla otomasyonu tetikleyin", "option": { "displayName": { "label": "Ekran adı" @@ -1279,26 +1279,26 @@ } }, "spotlightAction": { - "run": "" + "run": "Çalıştır {name}" } }, "calendar": { "name": "Takvim", - "description": "", + "description": "Entegrasyonlarınızdaki etkinlikleri belirli bir göreli zaman dilimi içinde bir takvim görünümünde görüntüleyin", "option": { "releaseType": { "label": "Radarr yayın türü", "options": { - "inCinemas": "", - "digitalRelease": "", - "physicalRelease": "" + "inCinemas": "Sinemalarda", + "digitalRelease": "Dijital sürüm", + "physicalRelease": "Fiziksel Yayınlanan" } }, "filterPastMonths": { - "label": "" + "label": "Başla" }, "filterFutureMonths": { - "label": "" + "label": "Bitir" } } }, @@ -1307,24 +1307,24 @@ "description": "Belirlenen bir konumun güncel hava durumu bilgilerini görüntüler.", "option": { "isFormatFahrenheit": { - "label": "" + "label": "Fahrenheit cinsinden sıcaklık" }, "location": { "label": "Hava durumu konumu" }, "showCity": { - "label": "" + "label": "Şehri göster" }, "hasForecast": { - "label": "" + "label": "Hava tahmini göster" }, "forecastDayCount": { - "label": "", - "description": "" + "label": "Tahmin edilen gün sayısı", + "description": "Widget yeterince geniş olmadığında daha az gün gösterilir" }, "dateFormat": { - "label": "", - "description": "" + "label": "Tarih Biçimi", + "description": "Tarihin nasıl görüneceği" } }, "kind": { @@ -1346,16 +1346,16 @@ }, "indexerManager": { "name": "Dizin oluşturucu yöneticisi statüsü", - "description": "", + "description": "Dizinleyicilerinizin durumu", "option": { "openIndexerSiteInNewTab": { - "label": "" + "label": "Dizinleyici sitesini yeni sekmede aç" } }, "title": "Dizin oluşturucu yöneticisi", "testAll": "Tümünü test et", "error": { - "internalServerError": "" + "internalServerError": "Dizinleyicilerin durumu alınamadı" } }, "healthMonitoring": { @@ -1376,38 +1376,38 @@ } }, "popover": { - "information": "", - "processor": "", - "memory": "", - "memoryAvailable": "", - "version": "", - "uptime": "", - "loadAverage": "", - "minute": "", - "minutes": "", - "used": "", + "information": "Bilgi", + "processor": "İşlemci: {cpuModelName}", + "memory": "Bellek: {memory}GiB", + "memoryAvailable": "Mevcut: {memoryAvailable}GiB ({percent}%)", + "version": "Sürüm: {version}", + "uptime": "Çalışma Süresi: {days} Gün, {hours} Saat, {minutes} Dakika", + "loadAverage": "Ortalama yük:", + "minute": "1 dakika", + "minutes": "{count} dakika", + "used": "Kullanılan", "available": "Mevcut", - "lastSeen": "" + "lastSeen": "Son durum güncellemesi: {lastSeen}" }, "memory": {}, "error": { - "internalServerError": "" + "internalServerError": "Sağlık durumu alınamadı" } }, "common": { "location": { - "query": "", - "latitude": "", - "longitude": "", - "disabledTooltip": "", - "unknownLocation": "", + "query": "Şehir / Posta kodu", + "latitude": "Enlem", + "longitude": "Boylam", + "disabledTooltip": "Lütfen bir şehir veya posta kodu girin", + "unknownLocation": "Bilinmeyen konum", "search": "Ara", "table": { "header": { - "city": "", - "country": "", - "coordinates": "", - "population": "" + "city": "Şehir", + "country": "Ülke", + "coordinates": "Koordinatlar", + "population": "Nüfus" }, "action": { "select": "" @@ -1422,7 +1422,7 @@ "description": "" }, "app": { - "noData": "", + "noData": "Uygulama bulunamadı", "description": "" }, "error": { @@ -1532,7 +1532,7 @@ "detailsTitle": "" }, "ratio": { - "columnTitle": "", + "columnTitle": "Ratio", "detailsTitle": "" }, "received": { @@ -1570,37 +1570,37 @@ "paused": "Duraklatıldı", "completed": "Tamamlanan", "failed": "", - "processing": "", - "leeching": "", - "stalled": "", + "processing": "İşleniyor", + "leeching": "Leechleme", + "stalled": "Durduruldu", "unknown": "Bilinmeyen", - "seeding": "" + "seeding": "Seed ediliyor" }, "actions": { "clients": { - "modalTitle": "", - "pause": "", - "resume": "" + "modalTitle": "İndirme istemcileri listesi", + "pause": "Tüm istemcileri/öğeleri duraklat", + "resume": "Tüm istemcileri/öğeleri sürdür" }, "client": { - "pause": "", - "resume": "" + "pause": "İstemciyi duraklat", + "resume": "İstemciyi sürdür" }, "item": { - "pause": "", - "resume": "", + "pause": "Öğeyi Duraklat", + "resume": "Öğeyi Sürdür", "delete": { - "title": "", - "modalTitle": "", - "entry": "", - "entryAndFiles": "" + "title": "Öğeyi Sil", + "modalTitle": "Bu işi silmek istediğinizden emin misiniz?", + "entry": "Girdiyi sil", + "entryAndFiles": "Girişi ve dosyayı sil" } } }, - "globalRatio": "" + "globalRatio": "Genel Oran" }, "mediaRequests-requestList": { - "name": "", + "name": "Medya İstekleri Listesi", "description": "Overseerr veya Jellyseerr uygulamanızdan gelen tüm medya taleplerinin bir listesini görün", "option": { "linksTargetNewTab": { @@ -1615,7 +1615,7 @@ "availability": { "unknown": "Bilinmeyen", "pending": "", - "processing": "", + "processing": "İşleniyor", "partiallyAvailable": "Kısmi", "available": "Mevcut" }, @@ -1648,55 +1648,55 @@ "description": "", "option": { "defaultView": { - "label": "" + "label": "Varsayılan görünüm" }, "queuePageSize": { "label": "" } }, "tab": { - "workers": "", - "queue": "", - "statistics": "" + "workers": "İşçiler", + "queue": "Kuyruk", + "statistics": "İstatistik" }, "currentIndex": "", "healthCheck": { "title": "", - "queued": "", + "queued": "Sıraya alındı", "status": { - "healthy": "", - "unhealthy": "" + "healthy": "Sağlıklı", + "unhealthy": "Sağlıksız" } }, "panel": { "statistics": { - "empty": "", - "transcodes": "", + "empty": "Boş", + "transcodes": "Kod dönüştürmeler", "transcodesCount": "", "healthChecksCount": "", "filesCount": "", "savedSpace": "", "healthChecks": "", - "videoCodecs": "", - "videoContainers": "", - "videoResolutions": "" + "videoCodecs": "Kodek'ler", + "videoContainers": "Konteyner", + "videoResolutions": "Çözünürlükler" }, "workers": { - "empty": "", + "empty": "Boş", "table": { - "file": "", - "eta": "", - "progress": "", - "transcode": "", + "file": "Dosya", + "eta": "ETA (Kalan Süre)", + "progress": "İlerleme", + "transcode": "Kod dönüştürme", "healthCheck": "" } }, "queue": { - "empty": "", + "empty": "Boş", "table": { - "file": "", - "size": "", - "transcode": "", + "file": "Dosya", + "size": "Boyut", + "transcode": "Kod dönüştürme", "healthCheck": "" } } @@ -1735,11 +1735,11 @@ "edit": { "notification": { "success": { - "title": "", + "title": "Değişiklikler başarıyla uygulandı", "message": "" }, "error": { - "title": "", + "title": "Değişiklikler uygulanamıyor", "message": "" } }, @@ -1981,15 +1981,15 @@ }, "error": { "noBoard": { - "title": "", + "title": "Homarr'a Hoş Geldiniz", "description": "", - "link": "", + "link": "İlk panonuzu oluşturun", "notice": "" }, "notFound": { "title": "", "description": "", - "link": "", + "link": "Tüm panoları görüntüle", "notice": "" }, "homeBoard": { @@ -2013,7 +2013,7 @@ } }, "management": { - "metaTitle": "", + "metaTitle": "Yönetim", "title": { "morning": "", "afternoon": "", @@ -2028,23 +2028,23 @@ "home": "Ana sayfa", "boards": "Paneller", "apps": "Uygulamalar", - "integrations": "", - "searchEngies": "", - "medias": "", + "integrations": "Entegrasyonlar", + "searchEngies": "Arama motorları", + "medias": "Medyalar", "users": { "label": "Kullanıcılar", "items": { "manage": "Yönet", "invites": "Davetler", - "groups": "" + "groups": "Gruplar" } }, "tools": { "label": "Araçlar", "items": { - "docker": "", + "docker": "Docker", "logs": "", - "api": "", + "api": "API", "tasks": "" } }, @@ -2067,9 +2067,9 @@ "board": "Paneller", "user": "Kullanıcılar", "invite": "Davetler", - "integration": "", + "integration": "Entegrasyonlar", "app": "Uygulamalar", - "group": "" + "group": "Gruplar" }, "statisticLabel": { "boards": "Paneller", @@ -2130,7 +2130,7 @@ "title": "Genel", "item": { "language": "", - "board": "", + "board": "Ana sayfa panosu", "firstDayOfWeek": "Haftanın ilk günü", "accessibility": "Erişilebilirlik" } @@ -2160,7 +2160,7 @@ "label": "Güvenlik" }, "groups": { - "label": "", + "label": "Gruplar", "title": "", "description": "" }, @@ -2168,10 +2168,10 @@ "label": "" }, "completed": { - "title": "" + "title": "Kullanıcı oluşturuldu" }, "error": { - "title": "" + "title": "Kullanıcı oluşturma başarısız oldu" } }, "action": { @@ -2218,12 +2218,12 @@ "setting": { "general": { "title": "Genel", - "owner": "", + "owner": "Sahip", "ownerOfGroup": "", "ownerOfGroupDeleted": "" }, "members": { - "title": "", + "title": "Üyeler", "search": "", "notFound": "" }, @@ -2286,19 +2286,19 @@ } }, "board": { - "title": "", + "title": "Paneller", "homeBoard": { "label": "", "description": "" } }, "appearance": { - "title": "", + "title": "Görünüş", "defaultColorScheme": { "label": "", "options": { - "light": "", - "dark": "" + "light": "Aydınlık", + "dark": "Koyu" } } }, @@ -2370,7 +2370,7 @@ } }, "api": { - "title": "", + "title": "API", "modal": { "createApiToken": { "title": "", @@ -2529,7 +2529,7 @@ }, "tab": { "user": "Kullanıcılar", - "group": "", + "group": "Gruplar", "inherited": "" }, "field": { @@ -2537,7 +2537,7 @@ "label": "Kullanıcı" }, "group": { - "label": "" + "label": "Grup" }, "permission": { "label": "" @@ -2555,7 +2555,7 @@ "label": "Paneller" }, "integrations": { - "label": "", + "label": "Entegrasyonlar", "edit": { "label": "Düzenle" }, @@ -2564,7 +2564,7 @@ } }, "search-engines": { - "label": "", + "label": "Arama motorları", "new": { "label": "" }, @@ -2573,7 +2573,7 @@ } }, "medias": { - "label": "" + "label": "Medyalar" }, "apps": { "label": "Uygulamalar", @@ -2593,7 +2593,7 @@ "security": "Güvenlik", "board": "Paneller", "groups": { - "label": "" + "label": "Gruplar" }, "invites": { "label": "Davetler" @@ -2602,7 +2602,7 @@ "tools": { "label": "Araçlar", "docker": { - "label": "" + "label": "Docker" }, "logs": { "label": "" @@ -2634,7 +2634,7 @@ "label": "" }, "edit": { - "label": "" + "label": "Uygulamayı düzenle" } }, "detail": { @@ -2662,7 +2662,7 @@ } }, "integration": { - "title": "" + "title": "Entegrasyonlar" } } }, @@ -2676,8 +2676,8 @@ "title": "", "option": { "colorScheme": { - "light": "", - "dark": "" + "light": "Aydınlık moda geç", + "dark": "Koyu moda geç" }, "language": { "label": "", @@ -2721,7 +2721,7 @@ "help": "", "group": { "searchEngine": { - "title": "", + "title": "Arama motorları", "children": { "action": { "search": { @@ -2828,7 +2828,7 @@ "label": "" }, "manageLog": { - "label": "" + "label": "Günlükleri görüntüle" }, "manageTask": { "label": "" @@ -2840,7 +2840,7 @@ "label": "Hakkında" }, "homeBoard": { - "label": "" + "label": "Ana sayfa panosu" }, "preferences": { "label": "Tercihleriniz" @@ -2866,7 +2866,7 @@ } }, "group": { - "title": "", + "title": "Gruplar", "children": { "action": { "detail": { @@ -2900,12 +2900,12 @@ "label": "" }, "description": { - "label": "" + "label": "Tanım" } }, "page": { "list": { - "title": "", + "title": "Arama motorları", "noResults": { "title": "", "action": "" @@ -2929,11 +2929,11 @@ "title": "", "notification": { "success": { - "title": "", + "title": "Değişiklikler başarıyla uygulandı", "message": "" }, "error": { - "title": "", + "title": "Değişiklikler uygulanamıyor", "message": "" } }, diff --git a/packages/translation/src/lang/tw.json b/packages/translation/src/lang/tw.json index 3335d6f5c..773fb5db9 100644 --- a/packages/translation/src/lang/tw.json +++ b/packages/translation/src/lang/tw.json @@ -1,128 +1,864 @@ { + "init": { + "step": { + "start": { + "title": "", + "subtitle": "", + "description": "", + "action": { + "scratch": "", + "importOldmarr": "" + } + }, + "import": { + "title": "", + "subtitle": "", + "dropzone": { + "title": "", + "description": "" + }, + "fileInfo": { + "action": { + "change": "" + } + }, + "importSettings": { + "title": "", + "description": "" + }, + "boardSelection": { + "title": "", + "description": "", + "action": { + "selectAll": "", + "unselectAll": "" + } + }, + "summary": { + "title": "", + "description": "", + "action": { + "import": "" + }, + "entities": { + "apps": "應用", + "boards": "面板", + "integrations": "", + "credentialUsers": "" + } + }, + "tokenModal": { + "title": "", + "field": { + "token": { + "label": "Token", + "description": "" + } + }, + "notification": { + "error": { + "title": "", + "message": "" + } + } + } + }, + "user": { + "title": "", + "subtitle": "", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "" + } + } + }, + "group": { + "title": "", + "subtitle": "", + "form": { + "name": { + "label": "", + "description": "" + } + } + }, + "settings": { + "title": "設定", + "subtitle": "" + }, + "finish": { + "title": "", + "subtitle": "", + "description": "", + "action": { + "goToBoard": "", + "createBoard": "", + "inviteUser": "", + "docs": "" + } + } + }, + "backToStart": "" + }, "user": { "title": "使用者", "name": "使用者", + "page": { + "login": { + "title": "", + "subtitle": "" + }, + "invite": { + "title": "", + "subtitle": "", + "description": "" + }, + "init": { + "title": "", + "subtitle": "" + } + }, "field": { "email": { - "label": "E-mail" + "label": "E-mail", + "verified": "" }, "username": { - "label": "帳號" + "label": "使用者" }, "password": { "label": "密碼", "requirement": { + "length": "", "lowercase": "包含小寫字母", "uppercase": "包含大寫字母", - "number": "包含數字" + "number": "包含數字", + "special": "" } }, "passwordConfirm": { "label": "確認密碼" + }, + "previousPassword": { + "label": "" + }, + "homeBoard": { + "label": "" + }, + "pingIconsEnabled": { + "label": "" } }, + "error": { + "usernameTaken": "" + }, "action": { "login": { - "label": "登入" + "label": "登入", + "labelWith": "", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + }, + "forgotPassword": { + "label": "", + "description": "" + } }, "register": { "label": "創建帳號", "notification": { "success": { - "title": "帳號已創建" + "title": "帳號已創建", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "create": "創建使用者", + "changePassword": { + "label": "", + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + } + }, + "changeHomeBoard": { + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + } + }, + "changeFirstDayOfWeek": { + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" } } }, - "create": "創建使用者" + "changePingIconsEnabled": { + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + } + }, + "manageAvatar": { + "changeImage": { + "label": "", + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + }, + "toLarge": { + "title": "", + "message": "" + } + } + }, + "removeImage": { + "label": "", + "confirm": "", + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + } + } + }, + "editProfile": { + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + } + }, + "delete": { + "label": "", + "description": "", + "confirm": "" + }, + "select": { + "label": "", + "notFound": "" + }, + "transfer": { + "label": "" + } } }, "group": { + "title": "", + "name": "", + "search": "", "field": { - "name": "名稱" + "name": "名稱", + "members": "" }, "permission": { "admin": { - "title": "管理員" + "title": "管理員", + "item": { + "admin": { + "label": "", + "description": "" + } + } + }, + "app": { + "title": "應用", + "item": { + "create": { + "label": "", + "description": "" + }, + "use-all": { + "label": "", + "description": "" + }, + "modify-all": { + "label": "", + "description": "" + }, + "full-all": { + "label": "", + "description": "" + } + } }, "board": { - "title": "面板" + "title": "面板", + "item": { + "create": { + "label": "", + "description": "" + }, + "view-all": { + "label": "", + "description": "" + }, + "modify-all": { + "label": "", + "description": "" + }, + "full-all": { + "label": "", + "description": "" + } + } + }, + "integration": { + "title": "", + "item": { + "create": { + "label": "", + "description": "" + }, + "use-all": { + "label": "", + "description": "" + }, + "interact-all": { + "label": "", + "description": "" + }, + "full-all": { + "label": "", + "description": "" + } + } + }, + "media": { + "title": "", + "item": { + "upload": { + "label": "", + "description": "" + }, + "view-all": { + "label": "", + "description": "" + }, + "full-all": { + "label": "", + "description": "" + } + } + }, + "other": { + "title": "", + "item": { + "view-logs": { + "label": "", + "description": "" + } + } + }, + "search-engine": { + "title": "", + "item": { + "create": { + "label": "", + "description": "" + }, + "modify-all": { + "label": "", + "description": "" + }, + "full-all": { + "label": "", + "description": "" + } + } + } + }, + "memberNotice": { + "mixed": "", + "external": "" + }, + "reservedNotice": { + "message": "" + }, + "action": { + "create": { + "label": "", + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + } + }, + "transfer": { + "label": "", + "description": "", + "confirm": "", + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + } + }, + "addMember": { + "label": "" + }, + "removeMember": { + "label": "", + "confirm": "" + }, + "delete": { + "label": "", + "description": "", + "confirm": "", + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + } + }, + "changePermissions": { + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "update": { + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + } + }, + "select": { + "label": "", + "notFound": "" } } }, "app": { "page": { "list": { - "title": "應用" + "title": "應用", + "noResults": { + "title": "", + "action": "" + } + }, + "create": { + "title": "", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "edit": { + "title": "", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "delete": { + "title": "", + "message": "", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } } }, "field": { "name": { "label": "名稱" + }, + "description": { + "label": "" + }, + "url": { + "label": "" + } + }, + "action": { + "select": { + "label": "", + "notFound": "" } } }, "integration": { + "page": { + "list": { + "title": "", + "search": "", + "noResults": { + "title": "" + } + }, + "create": { + "title": "", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "edit": { + "title": "", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "delete": { + "title": "", + "message": "", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + } + }, "field": { "name": { "label": "名稱" + }, + "url": { + "label": "" } }, + "action": { + "create": "" + }, "testConnection": { + "action": { + "create": "", + "edit": "" + }, + "alertNotice": "", "notification": { + "success": { + "title": "", + "message": "" + }, "invalidUrl": { - "title": "無效連結" + "title": "無效連結", + "message": "" + }, + "secretNotDefined": { + "title": "", + "message": "" + }, + "invalidCredentials": { + "title": "", + "message": "" + }, + "commonError": { + "title": "", + "message": "" + }, + "badRequest": { + "title": "", + "message": "" + }, + "unauthorized": { + "title": "", + "message": "" + }, + "forbidden": { + "title": "", + "message": "" + }, + "notFound": { + "title": "", + "message": "" + }, + "internalServerError": { + "title": "", + "message": "" + }, + "serviceUnavailable": { + "title": "", + "message": "" + }, + "connectionAborted": { + "title": "", + "message": "" + }, + "domainNotFound": { + "title": "", + "message": "" + }, + "connectionRefused": { + "title": "", + "message": "" + }, + "invalidJson": { + "title": "", + "message": "" + }, + "wrongPath": { + "title": "", + "message": "" } } }, "secrets": { + "title": "", + "lastUpdated": "", + "notSet": { + "label": "", + "tooltip": "" + }, + "secureNotice": "", + "reset": { + "title": "", + "message": "" + }, + "noSecretsRequired": { + "segmentTitle": "", + "text": "" + }, "kind": { "username": { - "label": "帳號" + "label": "使用者", + "newLabel": "" + }, + "apiKey": { + "label": "", + "newLabel": "" }, "password": { "label": "密碼", "newLabel": "新密碼" } } + }, + "permission": { + "use": "", + "interact": "", + "full": "" } }, "media": { + "plural": "", + "search": "", "field": { "name": "名稱", "size": "大小", "creator": "創建者" + }, + "action": { + "upload": { + "label": "", + "file": "", + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + } + }, + "delete": { + "label": "", + "description": "", + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + } + }, + "copy": { + "label": "" + } } }, "common": { + "beta": "", "error": "錯誤", "action": { "add": "新增", "apply": "應用", + "backToOverview": "", "create": "創建", "edit": "編輯", + "import": "", "insert": "插入", "remove": "刪除", "save": "儲存", "saveChanges": "儲存設定", "cancel": "取消", "delete": "刪除", + "discard": "", "confirm": "確認", + "continue": "", "previous": "上一步", "next": "下一步", - "tryAgain": "請再試一次" + "checkoutDocs": "", + "checkLogs": "", + "tryAgain": "請再試一次", + "loading": "" + }, + "here": "", + "iconPicker": { + "label": "", + "header": "" + }, + "colorScheme": { + "options": { + "light": "", + "dark": "" + } }, "information": { + "min": "", + "max": "", + "days": "", "hours": "時", "minutes": "分" }, + "notification": { + "create": { + "success": "", + "error": "" + }, + "delete": { + "success": "", + "error": "" + }, + "update": { + "success": "", + "error": "" + }, + "transfer": { + "success": "", + "error": "" + } + }, + "multiSelect": { + "placeholder": "" + }, + "multiText": { + "placeholder": "", + "addLabel": "" + }, + "select": { + "placeholder": "", + "badge": { + "recommended": "" + } + }, "userAvatar": { "menu": { + "switchToDarkMode": "", + "switchToLightMode": "", + "management": "", "preferences": "您的偏好設定", - "login": "登入" + "logout": "", + "login": "登入", + "homeBoard": "", + "loggedOut": "", + "updateAvailable": "" } }, "dangerZone": "危險", "noResults": "未找到結果", + "preview": { + "show": "", + "hide": "" + }, "zod": { "errors": { "default": "該字段無效", @@ -130,7 +866,8 @@ "string": { "startsWith": "該字段必須以 {startsWith} 開頭", "endsWith": "該字段必須以 {endsWith} 結尾", - "includes": "該字段必須以 {includes}" + "includes": "該字段必須以 {includes}", + "invalidEmail": "" }, "tooSmall": { "string": "該字段長度必須至少為 {minimum} 個字符", @@ -139,11 +876,30 @@ "tooBig": { "string": "該字段長度不得超過 {maximum} 個字符", "number": "該字段必須小於或等於 {maximum}" + }, + "custom": { + "passwordsDoNotMatch": "", + "passwordRequirements": "", + "boardAlreadyExists": "", + "invalidFileType": "", + "fileTooLarge": "", + "invalidConfiguration": "", + "groupNameTaken": "" } } } }, "section": { + "dynamic": { + "action": { + "create": "", + "remove": "" + }, + "remove": { + "title": "", + "message": "" + } + }, "category": { "field": { "name": { @@ -151,42 +907,147 @@ } }, "action": { + "create": "", + "edit": "", + "remove": "", "moveUp": "上移", - "moveDown": "下移" + "moveDown": "下移", + "createAbove": "", + "createBelow": "" + }, + "create": { + "title": "", + "submit": "" + }, + "remove": { + "title": "", + "message": "" + }, + "edit": { + "title": "", + "submit": "" }, "menu": { "label": { + "create": "", "changePosition": "換位" } } } }, "item": { + "action": { + "create": "", + "import": "", + "edit": "", + "moveResize": "", + "duplicate": "", + "remove": "" + }, "menu": { "label": { "settings": "設定" } }, + "create": { + "title": "", + "addToBoard": "" + }, "moveResize": { + "title": "", "field": { "width": { "label": "寬度" }, "height": { "label": "高度" + }, + "xOffset": { + "label": "" + }, + "yOffset": { + "label": "" + } + } + }, + "edit": { + "title": "", + "advancedOptions": { + "label": "", + "title": "" + }, + "field": { + "integrations": { + "label": "" + }, + "customCssClasses": { + "label": "" } } + }, + "remove": { + "title": "", + "message": "" } }, "widget": { "app": { + "name": "", + "description": "", "option": { + "appId": { + "label": "" + }, "openInNewTab": { "label": "在新分頁中開啟" + }, + "showTitle": { + "label": "" + }, + "showDescriptionTooltip": { + "label": "" + }, + "pingEnabled": { + "label": "" + } + }, + "error": { + "notFound": { + "label": "", + "tooltip": "" + } + } + }, + "bookmarks": { + "name": "", + "description": "", + "option": { + "title": { + "label": "" + }, + "layout": { + "label": "顯示布局", + "option": { + "row": { + "label": "橫向" + }, + "column": { + "label": "垂直" + }, + "grid": { + "label": "" + } + } + }, + "items": { + "label": "", + "add": "" } } }, "dnsHoleSummary": { + "name": "", + "description": "", "option": { "layout": { "label": "顯示布局", @@ -196,17 +1057,29 @@ }, "column": { "label": "垂直" + }, + "grid": { + "label": "" } } + }, + "usePiHoleColors": { + "label": "" } }, + "error": { + "internalServerError": "", + "integrationsDisconnected": "" + }, "data": { "adsBlockedToday": "今日封鎖", "adsBlockedTodayPercentage": "今日封鎖", - "dnsQueriesToday": "今日查詢" + "dnsQueriesToday": "今日查詢", + "domainsBeingBlocked": "" } }, "dnsHoleControls": { + "name": "", "description": "從您的面板控制 PiHole 或 AdGuard", "option": { "layout": { @@ -217,28 +1090,70 @@ }, "column": { "label": "垂直" + }, + "grid": { + "label": "" } } + }, + "showToggleAllButtons": { + "label": "" } }, + "error": { + "internalServerError": "" + }, "controls": { + "enableAll": "", + "disableAll": "", + "setTimer": "", "set": "設定", "enabled": "已啟用", "disabled": "已禁用", + "processing": "", + "disconnected": "", "hours": "時", - "minutes": "分" + "minutes": "分", + "unlimited": "" } }, "clock": { + "name": "", "description": "顯示目前的日期與時間", "option": { + "customTitleToggle": { + "label": "", + "description": "" + }, + "customTitle": { + "label": "" + }, + "is24HourFormat": { + "label": "", + "description": "" + }, + "showSeconds": { + "label": "" + }, + "useCustomTimezone": { + "label": "" + }, "timezone": { - "label": "時區" + "label": "時區", + "description": "" + }, + "showDate": { + "label": "" + }, + "dateFormat": { + "label": "", + "description": "" } } }, "notebook": { "name": "筆記本", + "description": "", "option": { "showToolbar": { "label": "顯示幫助您紀錄 Markdown 的工具欄" @@ -330,17 +1245,31 @@ } }, "error": { + "noUrl": "", "noBrowerSupport": "您的瀏覽器不支援iFrame,請更新您的瀏覽器" } }, "smartHome-entityState": { + "name": "", + "description": "", "option": { "entityId": { "label": "實體 ID" + }, + "displayName": { + "label": "" + }, + "entityUnit": { + "label": "" + }, + "clickable": { + "label": "" } } }, "smartHome-executeAutomation": { + "name": "", + "description": "", "option": { "displayName": { "label": "顯示名稱" @@ -348,13 +1277,28 @@ "automationId": { "label": "自動化ID" } + }, + "spotlightAction": { + "run": "" } }, "calendar": { "name": "日曆", + "description": "", "option": { "releaseType": { - "label": "Radarr 發布類型" + "label": "Radarr 發布類型", + "options": { + "inCinemas": "", + "digitalRelease": "", + "physicalRelease": "" + } + }, + "filterPastMonths": { + "label": "" + }, + "filterFutureMonths": { + "label": "" } } }, @@ -362,8 +1306,25 @@ "name": "天氣", "description": "顯示指定位置的目前天氣狀況", "option": { + "isFormatFahrenheit": { + "label": "" + }, "location": { "label": "天氣位置" + }, + "showCity": { + "label": "" + }, + "hasForecast": { + "label": "" + }, + "forecastDayCount": { + "label": "", + "description": "" + }, + "dateFormat": { + "label": "", + "description": "" } }, "kind": { @@ -385,8 +1346,17 @@ }, "indexerManager": { "name": "索引管理器狀態", + "description": "", + "option": { + "openIndexerSiteInNewTab": { + "label": "" + } + }, "title": "索引管理器", - "testAll": "測試全部" + "testAll": "測試全部", + "error": { + "internalServerError": "" + } }, "healthMonitoring": { "name": "系統健康監控", @@ -406,20 +1376,60 @@ } }, "popover": { - "available": "可用" + "information": "", + "processor": "", + "memory": "", + "memoryAvailable": "", + "version": "", + "uptime": "", + "loadAverage": "", + "minute": "", + "minutes": "", + "used": "", + "available": "可用", + "lastSeen": "" + }, + "memory": {}, + "error": { + "internalServerError": "" } }, "common": { "location": { + "query": "", + "latitude": "", + "longitude": "", + "disabledTooltip": "", + "unknownLocation": "", "search": "搜尋", "table": { - "header": {}, - "action": {}, + "header": { + "city": "", + "country": "", + "coordinates": "", + "population": "" + }, + "action": { + "select": "" + }, "population": { "fallback": "未知" } } - } + }, + "integration": { + "noData": "", + "description": "" + }, + "app": { + "noData": "", + "description": "" + }, + "error": { + "noIntegration": "", + "noData": "" + }, + "option": {} }, "video": { "name": "影片串流", @@ -429,33 +1439,129 @@ "label": "訂閱網址" }, "hasAutoPlay": { - "label": "自動播放" + "label": "自動播放", + "description": "" + }, + "isMuted": { + "label": "" + }, + "hasControls": { + "label": "" } + }, + "error": { + "noUrl": "", + "forYoutubeUseIframe": "" } }, + "mediaServer": { + "name": "", + "description": "", + "option": {} + }, "downloads": { + "name": "", + "description": "", + "option": { + "columns": { + "label": "" + }, + "enableRowSorting": { + "label": "" + }, + "defaultSort": { + "label": "" + }, + "descendingDefaultSort": { + "label": "" + }, + "showCompletedUsenet": { + "label": "" + }, + "showCompletedTorrent": { + "label": "" + }, + "activeTorrentThreshold": { + "label": "" + }, + "categoryFilter": { + "label": "" + }, + "filterIsWhitelist": { + "label": "" + }, + "applyFilterToRatio": { + "label": "" + } + }, + "errors": { + "noColumns": "", + "noCommunications": "" + }, "items": { + "actions": { + "columnTitle": "" + }, "added": { + "columnTitle": "", "detailsTitle": "日期已添加" }, + "category": { + "columnTitle": "", + "detailsTitle": "" + }, "downSpeed": { "columnTitle": "下載", "detailsTitle": "下載速度" }, + "index": { + "columnTitle": "", + "detailsTitle": "" + }, + "id": { + "columnTitle": "" + }, "integration": { "columnTitle": "集成" }, + "name": { + "columnTitle": "" + }, "progress": { - "columnTitle": "進度" + "columnTitle": "進度", + "detailsTitle": "" }, "ratio": { - "columnTitle": "分享率" + "columnTitle": "分享率", + "detailsTitle": "" + }, + "received": { + "columnTitle": "", + "detailsTitle": "" + }, + "sent": { + "columnTitle": "", + "detailsTitle": "" + }, + "size": { + "columnTitle": "", + "detailsTitle": "" }, "state": { - "columnTitle": "狀態" + "columnTitle": "狀態", + "detailsTitle": "" + }, + "time": { + "columnTitle": "", + "detailsTitle": "" + }, + "type": { + "columnTitle": "", + "detailsTitle": "" }, "upSpeed": { - "columnTitle": "上傳" + "columnTitle": "上傳", + "detailsTitle": "" } }, "states": { @@ -463,62 +1569,304 @@ "queued": "隊列", "paused": "已暫停", "completed": "已完成", - "unknown": "未知" - } + "failed": "", + "processing": "", + "leeching": "", + "stalled": "", + "unknown": "未知", + "seeding": "" + }, + "actions": { + "clients": { + "modalTitle": "", + "pause": "", + "resume": "" + }, + "client": { + "pause": "", + "resume": "" + }, + "item": { + "pause": "", + "resume": "", + "delete": { + "title": "", + "modalTitle": "", + "entry": "", + "entryAndFiles": "" + } + } + }, + "globalRatio": "" }, "mediaRequests-requestList": { + "name": "", "description": "查看 Overseerr 或 Jellyseer 實例中的所有媒體請求列表", "option": { "linksTargetNewTab": { "label": "在新分頁中開啟連結" } }, + "pending": { + "approve": "", + "approving": "", + "decline": "" + }, "availability": { "unknown": "未知", + "pending": "", + "processing": "", "partiallyAvailable": "部分", "available": "可用" - } + }, + "toBeDetermined": "" }, "mediaRequests-requestStats": { + "name": "", "description": "您的媒體請求統計", + "option": {}, "titles": { "stats": { "main": "媒體狀態", "approved": "已准許", "pending": "待准許", + "processing": "", + "declined": "", + "available": "", "tv": "電視劇請求", "movie": "電影請求", "total": "總計" }, "users": { - "main": "使用者排行" + "main": "使用者排行", + "requests": "" } } + }, + "mediaTranscoding": { + "name": "", + "description": "", + "option": { + "defaultView": { + "label": "預設視圖" + }, + "queuePageSize": { + "label": "" + } + }, + "tab": { + "workers": "工作種", + "queue": "隊列", + "statistics": "統計" + }, + "currentIndex": "", + "healthCheck": { + "title": "", + "queued": "隊列", + "status": { + "healthy": "健康", + "unhealthy": "不良" + } + }, + "panel": { + "statistics": { + "empty": "空", + "transcodes": "轉碼", + "transcodesCount": "", + "healthChecksCount": "", + "filesCount": "", + "savedSpace": "", + "healthChecks": "", + "videoCodecs": "編碼", + "videoContainers": "容器", + "videoResolutions": "解析度" + }, + "workers": { + "empty": "空", + "table": { + "file": "檔案", + "eta": "剩餘時間", + "progress": "進度", + "transcode": "轉碼", + "healthCheck": "" + } + }, + "queue": { + "empty": "空", + "table": { + "file": "檔案", + "size": "大小", + "transcode": "轉碼", + "healthCheck": "" + } + } + } + }, + "rssFeed": { + "name": "", + "description": "", + "option": { + "feedUrls": { + "label": "" + }, + "enableRtl": { + "label": "" + }, + "textLinesClamp": { + "label": "" + }, + "maximumAmountPosts": { + "label": "" + } + } + } + }, + "widgetPreview": { + "toggle": { + "enabled": "", + "disabled": "" + }, + "dimensions": { + "title": "" } }, "board": { "action": { + "edit": { + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + }, + "confirmLeave": { + "title": "", + "message": "" + } + }, "oldImport": { + "label": "", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + }, "form": { + "file": { + "label": "", + "invalidError": "" + }, "apps": { - "label": "應用" + "label": "應用", + "avoidDuplicates": { + "label": "", + "description": "" + }, + "onlyImportApps": { + "label": "", + "description": "" + } + }, + "name": { + "label": "" }, "screenSize": { + "label": "", + "description": "", "option": { "sm": "小", "md": "中等", "lg": "大號" } + }, + "sidebarBehavior": { + "label": "", + "description": "", + "option": { + "lastSection": { + "label": "", + "description": "" + }, + "removeItems": { + "label": "", + "description": "" + } + } } } } }, "field": { + "pageTitle": { + "label": "" + }, + "metaTitle": { + "label": "" + }, + "logoImageUrl": { + "label": "" + }, + "faviconImageUrl": { + "label": "" + }, + "backgroundImageUrl": { + "label": "" + }, "backgroundImageAttachment": { - "label": "背景圖片附件" + "label": "背景圖片附件", + "option": { + "fixed": { + "label": "", + "description": "" + }, + "scroll": { + "label": "", + "description": "" + } + } + }, + "backgroundImageRepeat": { + "label": "", + "option": { + "repeat": { + "label": "", + "description": "" + }, + "no-repeat": { + "label": "", + "description": "" + }, + "repeat-x": { + "label": "", + "description": "" + }, + "repeat-y": { + "label": "", + "description": "" + } + } }, "backgroundImageSize": { - "label": "背景圖像大小" + "label": "背景圖像大小", + "option": { + "cover": { + "label": "", + "description": "" + }, + "contain": { + "label": "", + "description": "" + } + } }, "primaryColor": { "label": "主體顏色" @@ -526,20 +1874,37 @@ "secondaryColor": { "label": "輔助顏色" }, + "opacity": { + "label": "" + }, "customCss": { - "description": "此外,只推薦有經驗的使用者使用 CSS 自定義面板" + "label": "", + "description": "此外,只推薦有經驗的使用者使用 CSS 自定義面板", + "customClassesAlert": { + "title": "", + "description": "" + } + }, + "columnCount": { + "label": "" }, "name": { "label": "名稱" }, "isPublic": { - "label": "公開" + "label": "公開", + "description": "" } }, + "content": { + "metaTitle": "" + }, "setting": { + "title": "", "section": { "general": { - "title": "一般" + "title": "一般", + "unrecognizedLink": "" }, "layout": { "title": "顯示布局" @@ -547,11 +1912,24 @@ "background": { "title": "背景" }, + "color": { + "title": "" + }, + "customCss": { + "title": "" + }, "access": { + "title": "", "permission": { "item": { "view": { "label": "查看面板" + }, + "modify": { + "label": "" + }, + "full": { + "label": "" } } } @@ -559,34 +1937,115 @@ "dangerZone": { "title": "危險", "action": { + "rename": { + "label": "", + "description": "", + "button": "", + "modal": { + "title": "" + } + }, + "visibility": { + "label": "", + "description": { + "public": "", + "private": "" + }, + "button": { + "public": "", + "private": "" + }, + "confirm": { + "public": { + "title": "", + "description": "" + }, + "private": { + "title": "", + "description": "" + } + } + }, "delete": { + "label": "", + "description": "", + "button": "", "confirm": { - "title": "刪除面板" + "title": "刪除面板", + "description": "" } } } } } + }, + "error": { + "noBoard": { + "title": "", + "description": "", + "link": "", + "notice": "" + }, + "notFound": { + "title": "", + "description": "", + "link": "", + "notice": "" + }, + "homeBoard": { + "title": "", + "admin": { + "description": "", + "link": "", + "notice": "" + }, + "user": { + "description": "", + "link": "", + "notice": "" + }, + "anonymous": { + "description": "", + "link": "", + "notice": "" + } + } } }, "management": { + "metaTitle": "", + "title": { + "morning": "", + "afternoon": "", + "evening": "" + }, + "notFound": { + "title": "", + "text": "" + }, "navbar": { "items": { "home": "首頁", "boards": "面板", "apps": "應用", + "integrations": "", + "searchEngies": "", + "medias": "", "users": { "label": "使用者", "items": { "manage": "管理", - "invites": "邀請" + "invites": "邀請", + "groups": "" } }, "tools": { "label": "工具", "items": { "docker": "Docker", - "api": "API" + "logs": "", + "api": "API", + "tasks": "" } }, "settings": "設定", @@ -594,7 +2053,9 @@ "label": "幫助", "items": { "documentation": "文件", - "discord": "Discord 社群" + "submitIssue": "", + "discord": "Discord 社群", + "sourceCode": "" } }, "about": "關於" @@ -606,30 +2067,48 @@ "board": "面板", "user": "使用者", "invite": "邀請", - "app": "應用" + "integration": "", + "app": "應用", + "group": "" }, "statisticLabel": { - "boards": "面板" + "boards": "面板", + "resources": "", + "authentication": "", + "authorization": "" } }, "board": { "title": "您的面板", "action": { + "new": { + "label": "" + }, + "open": { + "label": "" + }, "settings": { "label": "設定" }, "setHomeBoard": { + "label": "", "badge": { - "label": "首頁" + "label": "首頁", + "tooltip": "" } }, "delete": { "label": "永久刪除", "confirm": { - "title": "刪除面板" + "title": "刪除面板", + "description": "" } } }, + "visibility": { + "public": "", + "private": "" + }, "modal": { "createBoard": { "field": { @@ -640,11 +2119,18 @@ } } }, + "media": { + "includeFromAllUsers": "" + }, "user": { + "back": "", + "fieldsDisabledExternalProvider": "", "setting": { "general": { "title": "一般", "item": { + "language": "", + "board": "", "firstDayOfWeek": "一週的第一天", "accessibility": "無障礙服務" } @@ -660,22 +2146,51 @@ "metaTitle": "管理使用者", "title": "使用者" }, + "edit": { + "metaTitle": "" + }, "create": { "metaTitle": "創建使用者", + "title": "", "step": { + "personalInformation": { + "label": "" + }, "security": { "label": "安全" + }, + "groups": { + "label": "", + "title": "", + "description": "" + }, + "review": { + "label": "" + }, + "completed": { + "title": "" + }, + "error": { + "title": "" } + }, + "action": { + "createAnother": "", + "back": "" } }, "invite": { "title": "管理使用者邀請", "action": { "new": { + "title": "", "description": "過期後,邀請會失效,被邀請者將無法創建帳號" }, "copy": { - "link": "邀請連結" + "title": "", + "description": "", + "link": "邀請連結", + "button": "" }, "delete": { "title": "刪除邀請", @@ -699,50 +2214,217 @@ } }, "group": { + "back": "", "setting": { "general": { - "title": "一般" + "title": "一般", + "owner": "所有者", + "ownerOfGroup": "", + "ownerOfGroupDeleted": "" + }, + "members": { + "title": "", + "search": "", + "notFound": "" + }, + "permissions": { + "title": "", + "form": { + "unsavedChanges": "" + } } } }, "settings": { - "title": "設定" + "title": "設定", + "notification": { + "success": { + "message": "" + }, + "error": { + "message": "" + } + }, + "section": { + "analytics": { + "title": "", + "general": { + "title": "", + "text": "" + }, + "widgetData": { + "title": "", + "text": "" + }, + "integrationData": { + "title": "", + "text": "" + }, + "usersData": { + "title": "", + "text": "" + } + }, + "crawlingAndIndexing": { + "title": "", + "warning": "", + "noIndex": { + "title": "", + "text": "" + }, + "noFollow": { + "title": "", + "text": "" + }, + "noTranslate": { + "title": "", + "text": "" + }, + "noSiteLinksSearchBox": { + "title": "", + "text": "" + } + }, + "board": { + "title": "面板", + "homeBoard": { + "label": "", + "description": "" + } + }, + "appearance": { + "title": "外觀", + "defaultColorScheme": { + "label": "", + "options": { + "light": "", + "dark": "" + } + } + }, + "culture": { + "title": "", + "defaultLocale": { + "label": "" + } + } + } }, "tool": { "tasks": { + "title": "", "status": { + "idle": "", "running": "運行中", "error": "錯誤" }, "job": { + "iconsUpdater": { + "label": "" + }, + "analytics": { + "label": "" + }, + "smartHomeEntityState": { + "label": "" + }, + "ping": { + "label": "" + }, "mediaServer": { "label": "媒體服務" }, - "mediaRequests": { - "label": "媒體請求" + "mediaOrganizer": { + "label": "" + }, + "downloads": { + "label": "" + }, + "mediaRequestStats": { + "label": "" + }, + "mediaRequestList": { + "label": "" + }, + "rssFeeds": { + "label": "" + }, + "indexerManager": { + "label": "" + }, + "healthMonitoring": { + "label": "" + }, + "dnsHole": { + "label": "" + }, + "sessionCleanup": { + "label": "" + }, + "updateChecker": { + "label": "" + }, + "mediaTranscoding": { + "label": "" } } }, "api": { "title": "API", + "modal": { + "createApiToken": { + "title": "", + "description": "", + "button": "" + } + }, "tab": { "documentation": { "label": "文件" }, "apiKey": { + "label": "", + "title": "", + "button": { + "createApiToken": "" + }, "table": { "header": { - "id": "ID" + "id": "ID", + "createdBy": "" } } } } } + }, + "about": { + "version": "", + "text": "", + "accordion": { + "contributors": { + "title": "", + "subtitle": "" + }, + "translators": { + "title": "", + "subtitle": "" + }, + "libraries": { + "title": "", + "subtitle": "" + } + } } } }, "docker": { "title": "容器", + "table": { + "updated": "", + "search": "", + "selected": "" + }, "field": { "name": { "label": "名稱" @@ -754,7 +2436,9 @@ "running": "運行中", "paused": "已暫停", "restarting": "正在重啟...", - "removing": "正在刪除..." + "exited": "", + "removing": "正在刪除...", + "dead": "" } }, "containerImage": { @@ -766,27 +2450,102 @@ }, "action": { "start": { - "label": "開始" + "label": "開始", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } }, "stop": { - "label": "停止" + "label": "停止", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } }, "restart": { - "label": "重啟" + "label": "重啟", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } }, "remove": { - "label": "刪除" + "label": "刪除", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "refresh": { + "label": "", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } } + }, + "error": { + "internalServerError": "" } }, "permission": { + "title": "", + "userSelect": { + "title": "" + }, + "groupSelect": { + "title": "" + }, "tab": { - "user": "使用者" + "user": "使用者", + "group": "", + "inherited": "" }, "field": { "user": { "label": "使用者" + }, + "group": { + "label": "" + }, + "permission": { + "label": "" } + }, + "action": { + "saveUser": "", + "saveGroup": "" } }, "navigationStructure": { @@ -796,17 +2555,31 @@ "label": "面板" }, "integrations": { + "label": "", "edit": { "label": "編輯" + }, + "new": { + "label": "" } }, "search-engines": { + "label": "", + "new": { + "label": "" + }, "edit": { "label": "編輯" } }, + "medias": { + "label": "" + }, "apps": { "label": "應用", + "new": { + "label": "" + }, "edit": { "label": "編輯" } @@ -819,6 +2592,9 @@ "general": "一般", "security": "安全", "board": "面板", + "groups": { + "label": "" + }, "invites": { "label": "邀請" } @@ -827,6 +2603,9 @@ "label": "工具", "docker": { "label": "Docker" + }, + "logs": { + "label": "" } }, "settings": { @@ -838,23 +2617,144 @@ } }, "search": { + "placeholder": "", + "nothingFound": "", + "error": { + "fetch": "" + }, "mode": { "appIntegrationBoard": { + "help": "", "group": { "app": { - "title": "應用" + "title": "應用", + "children": { + "action": { + "open": { + "label": "" + }, + "edit": { + "label": "" + } + }, + "detail": { + "title": "" + } + } }, "board": { - "title": "面板" + "title": "面板", + "children": { + "action": { + "open": { + "label": "" + }, + "homeBoard": { + "label": "" + }, + "settings": { + "label": "" + } + }, + "detail": { + "title": "" + } + } + }, + "integration": { + "title": "" + } + } + }, + "command": { + "help": "", + "group": { + "localCommand": { + "title": "" + }, + "globalCommand": { + "title": "", + "option": { + "colorScheme": { + "light": "", + "dark": "" + }, + "language": { + "label": "", + "children": { + "detail": { + "title": "" + } + } + }, + "newBoard": { + "label": "" + }, + "importBoard": { + "label": "" + }, + "newApp": { + "label": "" + }, + "newIntegration": { + "label": "", + "children": { + "detail": { + "title": "" + } + } + }, + "newUser": { + "label": "" + }, + "newInvite": { + "label": "" + }, + "newGroup": { + "label": "" + } + } } } }, "external": { + "help": "", "group": { "searchEngine": { + "title": "", + "children": { + "action": { + "search": { + "label": "" + } + }, + "detail": { + "title": "" + }, + "searchResults": { + "title": "" + } + }, "option": { + "google": { + "name": "", + "description": "" + }, + "bing": { + "name": "", + "description": "" + }, + "duckduckgo": { + "name": "", + "description": "" + }, "torrent": { - "name": "Torrents" + "name": "Torrents", + "description": "" + }, + "youTube": { + "name": "", + "description": "" } } } @@ -862,12 +2762,18 @@ }, "help": { "group": { + "mode": { + "title": "" + }, "help": { "title": "幫助", "option": { "documentation": { "label": "文件" }, + "submitIssue": { + "label": "" + }, "discord": { "label": "Discord 社群" } @@ -875,16 +2781,67 @@ } } }, + "home": { + "group": { + "local": { + "title": "" + } + } + }, "page": { + "help": "", "group": { "page": { + "title": "", "option": { + "manageHome": { + "label": "" + }, + "manageBoard": { + "label": "" + }, + "manageApp": { + "label": "" + }, + "manageIntegration": { + "label": "" + }, + "manageSearchEngine": { + "label": "" + }, + "manageMedia": { + "label": "" + }, "manageUser": { "label": "管理使用者" }, + "manageInvite": { + "label": "" + }, + "manageGroup": { + "label": "" + }, + "manageDocker": { + "label": "" + }, + "manageApi": { + "label": "" + }, + "manageLog": { + "label": "" + }, + "manageTask": { + "label": "" + }, + "manageSettings": { + "label": "" + }, "about": { "label": "關於" }, + "homeBoard": { + "label": "" + }, "preferences": { "label": "您的偏好設定" } @@ -893,17 +2850,112 @@ } }, "userGroup": { + "help": "", "group": { "user": { - "title": "使用者" + "title": "使用者", + "children": { + "action": { + "detail": { + "label": "" + } + }, + "detail": { + "title": "" + } + } + }, + "group": { + "title": "", + "children": { + "action": { + "detail": { + "label": "" + }, + "manageMember": { + "label": "" + }, + "managePermission": { + "label": "" + } + }, + "detail": { + "title": "" + } + } } } } }, "engine": { + "search": "", "field": { "name": { "label": "名稱" + }, + "short": { + "label": "" + }, + "urlTemplate": { + "label": "" + }, + "description": { + "label": "" + } + }, + "page": { + "list": { + "title": "", + "noResults": { + "title": "", + "action": "" + }, + "interactive": "" + }, + "create": { + "title": "", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } + }, + "edit": { + "title": "", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + }, + "configControl": "", + "searchEngineType": { + "generic": "", + "fromIntegration": "" + } + }, + "delete": { + "title": "", + "message": "", + "notification": { + "success": { + "title": "", + "message": "" + }, + "error": { + "title": "", + "message": "" + } + } } } } diff --git a/packages/translation/src/lang/uk.json b/packages/translation/src/lang/uk.json index d2aad4e9a..4537e6ad9 100644 --- a/packages/translation/src/lang/uk.json +++ b/packages/translation/src/lang/uk.json @@ -41,8 +41,8 @@ "import": "" }, "entities": { - "apps": "", - "boards": "", + "apps": "Додатки", + "boards": "Дошки", "integrations": "", "credentialUsers": "" } @@ -51,7 +51,7 @@ "title": "", "field": { "token": { - "label": "", + "label": "Токен.", "description": "" } }, @@ -87,7 +87,7 @@ } }, "settings": { - "title": "", + "title": "Налаштування", "subtitle": "" }, "finish": { @@ -293,7 +293,7 @@ }, "permission": { "admin": { - "title": "", + "title": "Адміністратор", "item": { "admin": { "label": "", @@ -302,7 +302,7 @@ } }, "app": { - "title": "", + "title": "Додатки", "item": { "create": { "label": "", @@ -717,7 +717,7 @@ }, "password": { "label": "Пароль", - "newLabel": "" + "newLabel": "Новий пароль" } } }, @@ -770,12 +770,12 @@ "error": "Помилка", "action": { "add": "Додати", - "apply": "", + "apply": "Застосувати", "backToOverview": "", "create": "Створити", "edit": "Редагувати", "import": "", - "insert": "", + "insert": "Вставити", "remove": "Видалити", "save": "Зберегти", "saveChanges": "Зберегти зміни", @@ -1026,13 +1026,13 @@ "label": "" }, "layout": { - "label": "", + "label": "Макет", "option": { "row": { - "label": "" + "label": "Горизонтальний" }, "column": { - "label": "" + "label": "Вертикальний" }, "grid": { "label": "" @@ -1139,7 +1139,7 @@ "label": "" }, "timezone": { - "label": "", + "label": "Часовий пояс", "description": "" }, "showDate": { @@ -1199,7 +1199,7 @@ }, "align": { "left": "Ліворуч.", - "center": "", + "center": "Центр", "right": "Так." }, "popover": { @@ -1254,7 +1254,7 @@ "description": "", "option": { "entityId": { - "label": "" + "label": "Ідентифікатор об'єкта" }, "displayName": { "label": "" @@ -1272,10 +1272,10 @@ "description": "", "option": { "displayName": { - "label": "" + "label": "Відображати ім'я" }, "automationId": { - "label": "" + "label": "Ідентифікатор автоматизації" } }, "spotlightAction": { @@ -1345,15 +1345,15 @@ } }, "indexerManager": { - "name": "", + "name": "Статус менеджера індексування", "description": "", "option": { "openIndexerSiteInNewTab": { "label": "" } }, - "title": "", - "testAll": "", + "title": "Менеджер індексації", + "testAll": "Перевірте все", "error": { "internalServerError": "" } @@ -1504,7 +1504,7 @@ }, "added": { "columnTitle": "", - "detailsTitle": "" + "detailsTitle": "Дата додавання" }, "category": { "columnTitle": "", @@ -1532,7 +1532,7 @@ "detailsTitle": "" }, "ratio": { - "columnTitle": "", + "columnTitle": "Співвідношення", "detailsTitle": "" }, "received": { @@ -1565,8 +1565,8 @@ } }, "states": { - "downloading": "", - "queued": "", + "downloading": "Завантаження", + "queued": "У черзі", "paused": "Призупинено", "completed": "Завершено", "failed": "", @@ -1648,55 +1648,55 @@ "description": "", "option": { "defaultView": { - "label": "" + "label": "Вигляд за замовчуванням" }, "queuePageSize": { "label": "" } }, "tab": { - "workers": "", - "queue": "", - "statistics": "" + "workers": "Робітники", + "queue": "Черга", + "statistics": "Статистика" }, "currentIndex": "", "healthCheck": { "title": "", - "queued": "", + "queued": "У черзі", "status": { - "healthy": "", - "unhealthy": "" + "healthy": "Здоровий", + "unhealthy": "Нездоровий" } }, "panel": { "statistics": { - "empty": "", - "transcodes": "", + "empty": "Пусто", + "transcodes": "Перекодує", "transcodesCount": "", "healthChecksCount": "", "filesCount": "", "savedSpace": "", "healthChecks": "", - "videoCodecs": "", - "videoContainers": "", - "videoResolutions": "" + "videoCodecs": "Кодеки", + "videoContainers": "Контейнери", + "videoResolutions": "Роздільна здатність" }, "workers": { - "empty": "", + "empty": "Пусто", "table": { - "file": "", - "eta": "", - "progress": "", - "transcode": "", + "file": "Файл", + "eta": "Залишилося", + "progress": "Прогрес", + "transcode": "Перекодувати", "healthCheck": "" } }, "queue": { - "empty": "", + "empty": "Пусто", "table": { - "file": "", - "size": "", - "transcode": "", + "file": "Файл", + "size": "Розмір", + "transcode": "Перекодувати", "healthCheck": "" } } @@ -1822,7 +1822,7 @@ "label": "" }, "backgroundImageAttachment": { - "label": "", + "label": "Прикріплене фонове зображення", "option": { "fixed": { "label": "", @@ -1856,7 +1856,7 @@ } }, "backgroundImageSize": { - "label": "", + "label": "Розмір фонового зображення", "option": { "cover": { "label": "", @@ -2042,9 +2042,9 @@ "tools": { "label": "Інструменти", "items": { - "docker": "", + "docker": "Docker", "logs": "", - "api": "", + "api": "API", "tasks": "" } }, @@ -2136,7 +2136,7 @@ } }, "security": { - "title": "" + "title": "Безпека" }, "board": { "title": "Дошки" @@ -2157,7 +2157,7 @@ "label": "" }, "security": { - "label": "" + "label": "Безпека" }, "groups": { "label": "", @@ -2218,7 +2218,7 @@ "setting": { "general": { "title": "Загальне", - "owner": "", + "owner": "Власник", "ownerOfGroup": "", "ownerOfGroupDeleted": "" }, @@ -2286,14 +2286,14 @@ } }, "board": { - "title": "", + "title": "Дошки", "homeBoard": { "label": "", "description": "" } }, "appearance": { - "title": "", + "title": "Вигляд", "defaultColorScheme": { "label": "", "options": { @@ -2370,7 +2370,7 @@ } }, "api": { - "title": "", + "title": "API", "modal": { "createApiToken": { "title": "", @@ -2419,7 +2419,7 @@ } }, "docker": { - "title": "", + "title": "Контейнери", "table": { "updated": "", "search": "", @@ -2590,7 +2590,7 @@ "label": "Створити" }, "general": "Загальне", - "security": "", + "security": "Безпека", "board": "Дошки", "groups": { "label": "" @@ -2602,7 +2602,7 @@ "tools": { "label": "Інструменти", "docker": { - "label": "" + "label": "Docker" }, "logs": { "label": "" diff --git a/packages/translation/src/lang/vi.json b/packages/translation/src/lang/vi.json index 6319c4801..615fa847b 100644 --- a/packages/translation/src/lang/vi.json +++ b/packages/translation/src/lang/vi.json @@ -41,8 +41,8 @@ "import": "" }, "entities": { - "apps": "", - "boards": "", + "apps": "Ứng dụng", + "boards": "Bảng", "integrations": "", "credentialUsers": "" } @@ -51,7 +51,7 @@ "title": "", "field": { "token": { - "label": "", + "label": "Mã thông báo", "description": "" } }, @@ -87,7 +87,7 @@ } }, "settings": { - "title": "", + "title": "Cài đặt", "subtitle": "" }, "finish": { @@ -302,7 +302,7 @@ } }, "app": { - "title": "", + "title": "Ứng dụng", "item": { "create": { "label": "", @@ -1026,13 +1026,13 @@ "label": "" }, "layout": { - "label": "", + "label": "Bố cục", "option": { "row": { - "label": "" + "label": "Nằm ngang" }, "column": { - "label": "" + "label": "Thẳng đứng" }, "grid": { "label": "" @@ -1213,7 +1213,7 @@ } }, "iframe": { - "name": "", + "name": "iFrame", "description": "Nhúng bất kỳ nội dung nào từ internet. Một số trang web có thể hạn chế quyền truy cập.", "option": { "embedUrl": { @@ -1656,7 +1656,7 @@ }, "tab": { "workers": "", - "queue": "", + "queue": "Chờ", "statistics": "" }, "currentIndex": "", @@ -1670,7 +1670,7 @@ }, "panel": { "statistics": { - "empty": "", + "empty": "Trống", "transcodes": "", "transcodesCount": "", "healthChecksCount": "", @@ -1682,20 +1682,20 @@ "videoResolutions": "" }, "workers": { - "empty": "", + "empty": "Trống", "table": { "file": "", - "eta": "", - "progress": "", + "eta": "Thời gian dự kiến", + "progress": "Tiến độ", "transcode": "", "healthCheck": "" } }, "queue": { - "empty": "", + "empty": "Trống", "table": { "file": "", - "size": "", + "size": "Kích cỡ", "transcode": "", "healthCheck": "" } @@ -2042,9 +2042,9 @@ "tools": { "label": "Công cụ", "items": { - "docker": "", + "docker": "Docker", "logs": "", - "api": "", + "api": "API", "tasks": "" } }, @@ -2218,7 +2218,7 @@ "setting": { "general": { "title": "Chung", - "owner": "", + "owner": "Chủ", "ownerOfGroup": "", "ownerOfGroupDeleted": "" }, @@ -2286,14 +2286,14 @@ } }, "board": { - "title": "", + "title": "Bảng", "homeBoard": { "label": "", "description": "" } }, "appearance": { - "title": "", + "title": "Hiển thị", "defaultColorScheme": { "label": "", "options": { @@ -2370,7 +2370,7 @@ } }, "api": { - "title": "", + "title": "API", "modal": { "createApiToken": { "title": "", @@ -2602,7 +2602,7 @@ "tools": { "label": "Công cụ", "docker": { - "label": "" + "label": "Docker" }, "logs": { "label": "" diff --git a/packages/ui/package.json b/packages/ui/package.json index 53e934cc4..1f664388a 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -34,7 +34,7 @@ "@mantine/hooks": "^7.15.1", "@tabler/icons-react": "^3.26.0", "mantine-react-table": "2.0.0-beta.7", - "next": "^14.2.20", + "next": "^14.2.21", "react": "^19.0.0" }, "devDependencies": { diff --git a/packages/validation/package.json b/packages/validation/package.json index d3d3c325c..61c15f817 100644 --- a/packages/validation/package.json +++ b/packages/validation/package.json @@ -26,7 +26,7 @@ "@homarr/definitions": "workspace:^0.1.0", "@homarr/translation": "workspace:^0.1.0", "zod": "^3.24.1", - "zod-form-data": "^2.0.2" + "zod-form-data": "^2.0.4" }, "devDependencies": { "@homarr/eslint-config": "workspace:^0.2.0", diff --git a/packages/widgets/package.json b/packages/widgets/package.json index 4a03abfb1..ff03eeaac 100644 --- a/packages/widgets/package.json +++ b/packages/widgets/package.json @@ -44,25 +44,25 @@ "@mantine/core": "^7.15.1", "@mantine/hooks": "^7.15.1", "@tabler/icons-react": "^3.26.0", - "@tiptap/extension-color": "2.10.3", - "@tiptap/extension-highlight": "2.10.3", - "@tiptap/extension-image": "2.10.3", - "@tiptap/extension-link": "^2.10.3", - "@tiptap/extension-table": "2.10.3", - "@tiptap/extension-table-cell": "2.10.3", - "@tiptap/extension-table-header": "2.10.3", - "@tiptap/extension-table-row": "2.10.3", - "@tiptap/extension-task-item": "2.10.3", - "@tiptap/extension-task-list": "2.10.3", - "@tiptap/extension-text-align": "2.10.3", - "@tiptap/extension-text-style": "2.10.3", - "@tiptap/extension-underline": "2.10.3", - "@tiptap/react": "^2.10.3", - "@tiptap/starter-kit": "^2.10.3", + "@tiptap/extension-color": "2.10.4", + "@tiptap/extension-highlight": "2.10.4", + "@tiptap/extension-image": "2.10.4", + "@tiptap/extension-link": "^2.10.4", + "@tiptap/extension-table": "2.10.4", + "@tiptap/extension-table-cell": "2.10.4", + "@tiptap/extension-table-header": "2.10.4", + "@tiptap/extension-table-row": "2.10.4", + "@tiptap/extension-task-item": "2.10.4", + "@tiptap/extension-task-list": "2.10.4", + "@tiptap/extension-text-align": "2.10.4", + "@tiptap/extension-text-style": "2.10.4", + "@tiptap/extension-underline": "2.10.4", + "@tiptap/react": "^2.10.4", + "@tiptap/starter-kit": "^2.10.4", "clsx": "^2.1.1", "dayjs": "^1.11.13", "mantine-react-table": "2.0.0-beta.7", - "next": "^14.2.20", + "next": "^14.2.21", "react": "^19.0.0", "video.js": "^8.21.0" }, diff --git a/packages/widgets/src/downloads/component.tsx b/packages/widgets/src/downloads/component.tsx index ec80cf141..39da51449 100644 --- a/packages/widgets/src/downloads/component.tsx +++ b/packages/widgets/src/downloads/component.tsx @@ -10,10 +10,12 @@ import { AvatarGroup, Button, Center, + Chip, Divider, Group, Modal, Paper, + Popover, Progress, Space, Stack, @@ -26,6 +28,7 @@ import type { IconProps } from "@tabler/icons-react"; import { IconAlertTriangle, IconCirclesRelation, + IconFilter, IconInfinity, IconInfoCircle, IconPlayerPause, @@ -46,6 +49,11 @@ import { useScopedI18n } from "@homarr/translation/client"; import type { WidgetComponentProps } from "../definition"; +interface QuickFilter { + integrationKinds: string[]; + statuses: ExtendedDownloadClientItem["state"][]; +} + //Ratio table for relative width between columns const columnsRatios: Record<keyof ExtendedDownloadClientItem, number> = { actions: 2, @@ -108,6 +116,18 @@ export default function DownloadClientsWidget({ const [clickedIndex, setClickedIndex] = useState<number>(0); const [opened, { open, close }] = useDisclosure(false); + //User quick settings for filters + const [quickFilters, setQuickFilters] = useState<QuickFilter>({ integrationKinds: [], statuses: [] }); + const availableStatuses = useMemo<QuickFilter["statuses"]>(() => { + //Redefine list of available statuses from current items + const statuses = Array.from(new Set(currentItems.flatMap(({ data }) => data.items.map(({ state }) => state)))); + //Reset user filters accordingly to remove unavailable statuses + setQuickFilters(({ integrationKinds: names, statuses: prevStatuses }) => { + return { integrationKinds: names, statuses: prevStatuses.filter((status) => statuses.includes(status)) }; + }); + return statuses; + }, [currentItems]); + //Get API mutation functions const { mutate: mutateResumeItem } = clientApi.widget.downloads.resumeItem.useMutation(); const { mutate: mutatePauseItem } = clientApi.widget.downloads.pauseItem.useMutation(); @@ -164,6 +184,13 @@ export default function DownloadClientsWidget({ progress !== 1)) || (type === "usenet" && ((progress === 1 && options.showCompletedUsenet) || progress !== 1)), ) + //Filter following user quick setting + .filter( + ({ state }) => + (quickFilters.integrationKinds.length === 0 || + quickFilters.integrationKinds.includes(pair.integration.name)) && + (quickFilters.statuses.length === 0 || quickFilters.statuses.includes(state)), + ) //Add extrapolated data and actions if user is allowed interaction .map((item): ExtendedDownloadClientItem => { const received = Math.floor(item.size * item.progress); @@ -199,6 +226,7 @@ export default function DownloadClientsWidget({ options.filterIsWhitelist, options.showCompletedTorrent, options.showCompletedUsenet, + quickFilters, ], ); @@ -660,7 +688,13 @@ export default function DownloadClientsWidget({ <Text>{(globalTraffic.up / globalTraffic.down).toFixed(2)}</Text> </Group> )} - <ClientsControl clients={clients} style={editStyle} /> + <ClientsControl + clients={clients} + style={editStyle} + filters={quickFilters} + setFilters={setQuickFilters} + availableStatuses={availableStatuses} + /> </Group> <ItemInfoModal items={data} currentIndex={clickedIndex} opened={opened} onClose={close} /> </Stack> @@ -748,10 +782,13 @@ const NormalizedLine = ({ interface ClientsControlProps { clients: ExtendedClientStatus[]; + filters: QuickFilter; + setFilters: (filters: QuickFilter) => void; + availableStatuses: QuickFilter["statuses"]; style?: MantineStyleProp; } -const ClientsControl = ({ clients, style }: ClientsControlProps) => { +const ClientsControl = ({ clients, filters, setFilters, availableStatuses, style }: ClientsControlProps) => { const integrationsStatuses = clients.reduce( (acc, { status, integration: { id }, interact }) => status && interact ? (acc[status.paused ? "paused" : "active"].push(id), acc) : acc, @@ -762,13 +799,61 @@ const ClientsControl = ({ clients, style }: ClientsControlProps) => { clients.reduce((count, { status }) => count + (status?.rates.down ?? 0), 0), "/s", ); + const chipStyle = { + "--chip-fz": "var(--button-fz)", + "--chip-size": "calc(var(--ratio-width) * 0.9)", + "--chip-icon-size": "calc(var(--chip-fz)*2/3)", + "--chip-padding": "var(--chip-fz)", + "--chip-checked-padding": "var(--chip-icon-size)", + "--chip-spacing": "var(--space-size)", + }; const { mutate: mutateResumeQueue } = clientApi.widget.downloads.resume.useMutation(); const { mutate: mutatePauseQueue } = clientApi.widget.downloads.pause.useMutation(); const [opened, { open, close }] = useDisclosure(false); const t = useScopedI18n("widget.downloads"); return ( <Group gap="var(--space-size)" style={style}> - <AvatarGroup spacing="calc(var(--space-size)*2)"> + <Popover withinPortal={false} offset={0}> + <Popover.Target> + <ActionIcon size="var(--button-size)" radius={999} variant="light"> + <IconFilter style={actionIconIconStyle} /> + </ActionIcon> + </Popover.Target> + <Popover.Dropdown + w="calc(var(--ratio-width)*4)" + p="var(--space-size)" + bg="var(--background-color)" + style={{ "--popover-border-color": "var(--border-color)" }} + > + <Stack gap="var(--space-size)" align="center" pb="var(--space-size)"> + <Text fw="700">{t("items.integration.columnTitle")}</Text> + <Chip.Group + multiple + value={filters.integrationKinds} + onChange={(names) => setFilters({ ...filters, integrationKinds: names })} + > + {clients.map(({ integration }) => ( + <Chip style={chipStyle} key={integration.id} value={integration.name}> + {integration.name} + </Chip> + ))} + </Chip.Group> + <Text fw="700">{t("items.state.columnTitle")}</Text> + <Chip.Group + multiple + value={filters.statuses} + onChange={(statuses) => setFilters({ ...filters, statuses: statuses as typeof filters.statuses })} + > + {availableStatuses.map((status) => ( + <Chip style={chipStyle} key={status} value={status}> + {t(`states.${status}`)} + </Chip> + ))} + </Chip.Group> + </Stack> + </Popover.Dropdown> + </Popover> + <AvatarGroup mx="calc(var(--space-size)*2)" spacing="calc(var(--space-size)*2)"> {clients.map((client) => ( <ClientAvatar key={client.integration.id} client={client} /> ))} @@ -787,7 +872,7 @@ const ClientsControl = ({ clients, style }: ClientsControlProps) => { </Tooltip> )} <Button - variant="default" + variant="light" radius={999} h="var(--button-size)" px="calc(var(--space-size)*2)" @@ -897,7 +982,8 @@ const ClientAvatar = ({ client }: ClientAvatarProps) => { src={getIconUrl(client.integration.kind)} style={{ filter: !isConnected ? "grayscale(100%)" : undefined }} size="var(--image-size)" - bd={client.status ? 0 : "calc(var(--space-size)*0.5) solid var(--mantine-color-red-filled)"} + p="calc(var(--space-size)*0.5)" + bd={`calc(var(--space-size)*0.5) solid ${client.status ? "transparent" : "var(--mantine-color-red-filled)"}`} /> ); }; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 984302576..eee5d15a7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -153,19 +153,19 @@ importers: version: 7.15.1(chroma-js@3.1.2) '@mantine/core': specifier: ^7.15.1 - version: 7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@19.0.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@mantine/dropzone': specifier: ^7.15.1 - version: 7.15.1(@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@19.0.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.1(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 7.15.1(@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.1(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@mantine/hooks': specifier: ^7.15.1 version: 7.15.1(react@19.0.0) '@mantine/modals': specifier: ^7.15.1 - version: 7.15.1(@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@19.0.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.1(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 7.15.1(@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.1(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@mantine/tiptap': specifier: ^7.15.1 - version: 7.15.1(@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@19.0.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.1(react@19.0.0))(@tiptap/extension-link@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3))(@tiptap/react@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 7.15.1(@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.1(react@19.0.0))(@tiptap/extension-link@2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))(@tiptap/pm@2.10.4))(@tiptap/react@2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))(@tiptap/pm@2.10.4)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@million/lint': specifier: 1.0.14 version: 1.0.14(rollup@4.21.3)(webpack-sources@3.2.3) @@ -183,13 +183,13 @@ importers: version: 5.62.8(@tanstack/react-query@5.62.8(react@19.0.0))(react@19.0.0) '@tanstack/react-query-next-experimental': specifier: 5.62.8 - version: 5.62.8(@tanstack/react-query@5.62.8(react@19.0.0))(next@14.2.20(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0))(react@19.0.0) + version: 5.62.8(@tanstack/react-query@5.62.8(react@19.0.0))(next@14.2.21(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0))(react@19.0.0) '@trpc/client': specifier: next version: 11.0.0-rc.666(@trpc/server@11.0.0-rc.666(typescript@5.7.2))(typescript@5.7.2) '@trpc/next': specifier: next - version: 11.0.0-rc.666(@tanstack/react-query@5.62.8(react@19.0.0))(@trpc/client@11.0.0-rc.666(@trpc/server@11.0.0-rc.666(typescript@5.7.2))(typescript@5.7.2))(@trpc/react-query@11.0.0-rc.666(@tanstack/react-query@5.62.8(react@19.0.0))(@trpc/client@11.0.0-rc.666(@trpc/server@11.0.0-rc.666(typescript@5.7.2))(typescript@5.7.2))(@trpc/server@11.0.0-rc.666(typescript@5.7.2))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.2))(@trpc/server@11.0.0-rc.666(typescript@5.7.2))(next@14.2.20(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.2) + version: 11.0.0-rc.666(@tanstack/react-query@5.62.8(react@19.0.0))(@trpc/client@11.0.0-rc.666(@trpc/server@11.0.0-rc.666(typescript@5.7.2))(typescript@5.7.2))(@trpc/react-query@11.0.0-rc.666(@tanstack/react-query@5.62.8(react@19.0.0))(@trpc/client@11.0.0-rc.666(@trpc/server@11.0.0-rc.666(typescript@5.7.2))(typescript@5.7.2))(@trpc/server@11.0.0-rc.666(typescript@5.7.2))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.2))(@trpc/server@11.0.0-rc.666(typescript@5.7.2))(next@14.2.21(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.2) '@trpc/react-query': specifier: next version: 11.0.0-rc.666(@tanstack/react-query@5.62.8(react@19.0.0))(@trpc/client@11.0.0-rc.666(@trpc/server@11.0.0-rc.666(typescript@5.7.2))(typescript@5.7.2))(@trpc/server@11.0.0-rc.666(typescript@5.7.2))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.2) @@ -225,13 +225,13 @@ importers: version: 11.0.0 jotai: specifier: ^2.10.4 - version: 2.10.4(@types/react@19.0.1)(react@19.0.0) + version: 2.10.4(@types/react@19.0.2)(react@19.0.0) mantine-react-table: specifier: 2.0.0-beta.7 - version: 2.0.0-beta.7(@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@19.0.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/dates@7.15.1(@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@19.0.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.1(react@19.0.0))(dayjs@1.11.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.1(react@19.0.0))(@tabler/icons-react@3.26.0(react@19.0.0))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 2.0.0-beta.7(@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/dates@7.15.1(@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.1(react@19.0.0))(dayjs@1.11.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.1(react@19.0.0))(@tabler/icons-react@3.26.0(react@19.0.0))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) next: - specifier: ^14.2.20 - version: 14.2.20(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) + specifier: ^14.2.21 + version: 14.2.21(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) postcss-preset-mantine: specifier: ^1.17.0 version: 1.17.0(postcss@8.4.47) @@ -258,7 +258,7 @@ importers: version: 2.2.2 swagger-ui-react: specifier: ^5.18.2 - version: 5.18.2(@types/react@19.0.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + version: 5.18.2(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) use-deep-compare-effect: specifier: ^1.8.1 version: 1.8.1(react@19.0.0) @@ -282,11 +282,11 @@ importers: specifier: ^1.26.5 version: 1.26.5 '@types/react': - specifier: ^19.0.1 - version: 19.0.1 + specifier: ^19.0.2 + version: 19.0.2 '@types/react-dom': specifier: ^19.0.2 - version: 19.0.2(@types/react@19.0.1) + version: 19.0.2(@types/react@19.0.2) '@types/swagger-ui-react': specifier: ^4.18.3 version: 4.18.3 @@ -363,8 +363,8 @@ importers: specifier: 2.2.2 version: 2.2.2 undici: - specifier: 7.1.1 - version: 7.1.1 + specifier: 7.2.0 + version: 7.2.0 devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -549,8 +549,8 @@ importers: specifier: ^4.0.2 version: 4.0.2 next: - specifier: ^14.2.20 - version: 14.2.20(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) + specifier: ^14.2.21 + version: 14.2.21(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) react: specifier: ^19.0.0 version: 19.0.0 @@ -619,11 +619,11 @@ importers: specifier: 7.3.0 version: 7.3.0 next: - specifier: ^14.2.20 - version: 14.2.20(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) + specifier: ^14.2.21 + version: 14.2.21(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) next-auth: specifier: 5.0.0-beta.25 - version: 5.0.0-beta.25(next@14.2.20(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0))(react@19.0.0) + version: 5.0.0-beta.25(next@14.2.21(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0))(react@19.0.0) react: specifier: ^19.0.0 version: 19.0.0 @@ -699,14 +699,14 @@ importers: specifier: ^1.11.13 version: 1.11.13 next: - specifier: ^14.2.20 - version: 14.2.20(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) + specifier: ^14.2.21 + version: 14.2.21(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) react: specifier: ^19.0.0 version: 19.0.0 tldts: - specifier: ^6.1.68 - version: 6.1.68 + specifier: ^6.1.69 + version: 6.1.69 devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -895,6 +895,9 @@ importers: '@paralleldrive/cuid2': specifier: ^2.2.2 version: 2.2.2 + '@t3-oss/env-nextjs': + specifier: ^0.11.1 + version: 0.11.1(typescript@5.7.2)(zod@3.24.1) '@testcontainers/mysql': specifier: ^10.16.0 version: 10.16.0 @@ -909,10 +912,10 @@ importers: version: 0.30.1 drizzle-orm: specifier: ^0.38.2 - version: 0.38.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.12)(@types/react@19.0.1)(better-sqlite3@11.7.0)(mysql2@3.11.5)(react@19.0.0) + version: 0.38.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.12)(@types/react@19.0.2)(better-sqlite3@11.7.0)(mysql2@3.11.5)(react@19.0.0) drizzle-zod: specifier: ^0.6.0 - version: 0.6.0(drizzle-orm@0.38.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.12)(@types/react@19.0.1)(better-sqlite3@11.7.0)(mysql2@3.11.5)(react@19.0.0))(zod@3.24.1) + version: 0.6.0(drizzle-orm@0.38.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.12)(@types/react@19.0.2)(better-sqlite3@11.7.0)(mysql2@3.11.5)(react@19.0.0))(zod@3.24.1) mysql2: specifier: 3.11.5 version: 3.11.5 @@ -1188,8 +1191,8 @@ importers: specifier: ^1.11.13 version: 1.11.13 next: - specifier: ^14.2.20 - version: 14.2.20(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) + specifier: ^14.2.21 + version: 14.2.21(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) react: specifier: ^19.0.0 version: 19.0.0 @@ -1283,8 +1286,8 @@ importers: specifier: 0.5.16 version: 0.5.16 next: - specifier: ^14.2.20 - version: 14.2.20(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) + specifier: ^14.2.21 + version: 14.2.21(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) react: specifier: ^19.0.0 version: 19.0.0 @@ -1295,8 +1298,8 @@ importers: specifier: ^3.24.1 version: 3.24.1 zod-form-data: - specifier: ^2.0.2 - version: 2.0.2(zod@3.24.1) + specifier: ^2.0.4 + version: 2.0.4(@rvf/set-get@7.0.0)(zod@3.24.1) devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -1523,8 +1526,8 @@ importers: specifier: ^2.10.4 version: 2.10.4(@types/react@18.3.13)(react@19.0.0) next: - specifier: ^14.2.20 - version: 14.2.20(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) + specifier: ^14.2.21 + version: 14.2.21(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) react: specifier: ^19.0.0 version: 19.0.0 @@ -1566,11 +1569,11 @@ importers: specifier: 2.0.0-beta.7 version: 2.0.0-beta.7(@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@18.3.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/dates@7.15.1(@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@18.3.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.1(react@19.0.0))(dayjs@1.11.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.1(react@19.0.0))(@tabler/icons-react@3.26.0(react@19.0.0))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) next: - specifier: ^14.2.20 - version: 14.2.20(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) + specifier: ^14.2.21 + version: 14.2.21(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) next-intl: specifier: 3.26.2 - version: 3.26.2(next@14.2.20(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0))(react@19.0.0) + version: 3.26.2(next@14.2.21(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0))(react@19.0.0) react: specifier: ^19.0.0 version: 19.0.0 @@ -1624,8 +1627,8 @@ importers: specifier: 2.0.0-beta.7 version: 2.0.0-beta.7(@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@18.3.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/dates@7.15.1(@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@18.3.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.1(react@19.0.0))(dayjs@1.11.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.1(react@19.0.0))(@tabler/icons-react@3.26.0(react@19.0.0))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) next: - specifier: ^14.2.20 - version: 14.2.20(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) + specifier: ^14.2.21 + version: 14.2.21(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) react: specifier: ^19.0.0 version: 19.0.0 @@ -1661,8 +1664,8 @@ importers: specifier: ^3.24.1 version: 3.24.1 zod-form-data: - specifier: ^2.0.2 - version: 2.0.2(zod@3.24.1) + specifier: ^2.0.4 + version: 2.0.4(@rvf/set-get@7.0.0)(zod@3.24.1) devDependencies: '@homarr/eslint-config': specifier: workspace:^0.2.0 @@ -1743,50 +1746,50 @@ importers: specifier: ^3.26.0 version: 3.26.0(react@19.0.0) '@tiptap/extension-color': - specifier: 2.10.3 - version: 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/extension-text-style@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))) + specifier: 2.10.4 + version: 2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))(@tiptap/extension-text-style@2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))) '@tiptap/extension-highlight': - specifier: 2.10.3 - version: 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3)) + specifier: 2.10.4 + version: 2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4)) '@tiptap/extension-image': - specifier: 2.10.3 - version: 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3)) + specifier: 2.10.4 + version: 2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4)) '@tiptap/extension-link': - specifier: ^2.10.3 - version: 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3) + specifier: ^2.10.4 + version: 2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))(@tiptap/pm@2.10.4) '@tiptap/extension-table': - specifier: 2.10.3 - version: 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3) + specifier: 2.10.4 + version: 2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))(@tiptap/pm@2.10.4) '@tiptap/extension-table-cell': - specifier: 2.10.3 - version: 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3)) + specifier: 2.10.4 + version: 2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4)) '@tiptap/extension-table-header': - specifier: 2.10.3 - version: 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3)) + specifier: 2.10.4 + version: 2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4)) '@tiptap/extension-table-row': - specifier: 2.10.3 - version: 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3)) + specifier: 2.10.4 + version: 2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4)) '@tiptap/extension-task-item': - specifier: 2.10.3 - version: 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3) + specifier: 2.10.4 + version: 2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))(@tiptap/pm@2.10.4) '@tiptap/extension-task-list': - specifier: 2.10.3 - version: 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3)) + specifier: 2.10.4 + version: 2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4)) '@tiptap/extension-text-align': - specifier: 2.10.3 - version: 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3)) + specifier: 2.10.4 + version: 2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4)) '@tiptap/extension-text-style': - specifier: 2.10.3 - version: 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3)) + specifier: 2.10.4 + version: 2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4)) '@tiptap/extension-underline': - specifier: 2.10.3 - version: 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3)) + specifier: 2.10.4 + version: 2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4)) '@tiptap/react': - specifier: ^2.10.3 - version: 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + specifier: ^2.10.4 + version: 2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))(@tiptap/pm@2.10.4)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@tiptap/starter-kit': - specifier: ^2.10.3 - version: 2.10.3 + specifier: ^2.10.4 + version: 2.10.4 clsx: specifier: ^2.1.1 version: 2.1.1 @@ -1797,8 +1800,8 @@ importers: specifier: 2.0.0-beta.7 version: 2.0.0-beta.7(@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@18.3.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/dates@7.15.1(@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@18.3.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.1(react@19.0.0))(dayjs@1.11.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.1(react@19.0.0))(@tabler/icons-react@3.26.0(react@19.0.0))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) next: - specifier: ^14.2.20 - version: 14.2.20(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) + specifier: ^14.2.21 + version: 14.2.21(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) react: specifier: ^19.0.0 version: 19.0.0 @@ -1828,8 +1831,8 @@ importers: tooling/eslint: dependencies: '@next/eslint-plugin-next': - specifier: ^14.2.20 - version: 14.2.20 + specifier: ^14.2.21 + version: 14.2.21 eslint-config-prettier: specifier: ^9.1.0 version: 9.1.0(eslint@9.17.0) @@ -3062,62 +3065,62 @@ packages: resolution: {integrity: sha512-u6/kglVwZRu5+GMmtkNlGLqJVkgTl0TtM+hLa9rBg7pldx+5NG5bk45NvL37uZmAr2Xfa1C6qHb7GrFwfP372g==} hasBin: true - '@next/env@14.2.20': - resolution: {integrity: sha512-JfDpuOCB0UBKlEgEy/H6qcBSzHimn/YWjUHzKl1jMeUO+QVRdzmTTl8gFJaNO87c8DXmVKhFCtwxQ9acqB3+Pw==} + '@next/env@14.2.21': + resolution: {integrity: sha512-lXcwcJd5oR01tggjWJ6SrNNYFGuOOMB9c251wUNkjCpkoXOPkDeF/15c3mnVlBqrW4JJXb2kVxDFhC4GduJt2A==} - '@next/eslint-plugin-next@14.2.20': - resolution: {integrity: sha512-T0JRi706KLbvR1Uc46t56VtawbhR/igdBagzOrA7G+vv4rvjwnlu/Y4/Iq6X9TDVj5UZjyot4lUdkNd3V2kLhw==} + '@next/eslint-plugin-next@14.2.21': + resolution: {integrity: sha512-bxfiExnMkpwo4bBhCqnDhdgFyxSp6Xt6xu4Ne7En6MpgqwiER95Or+q1WDUDX4e888taeIAdPIAVaY+Wv0kiwQ==} - '@next/swc-darwin-arm64@14.2.20': - resolution: {integrity: sha512-WDfq7bmROa5cIlk6ZNonNdVhKmbCv38XteVFYsxea1vDJt3SnYGgxLGMTXQNfs5OkFvAhmfKKrwe7Y0Hs+rWOg==} + '@next/swc-darwin-arm64@14.2.21': + resolution: {integrity: sha512-HwEjcKsXtvszXz5q5Z7wCtrHeTTDSTgAbocz45PHMUjU3fBYInfvhR+ZhavDRUYLonm53aHZbB09QtJVJj8T7g==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@next/swc-darwin-x64@14.2.20': - resolution: {integrity: sha512-XIQlC+NAmJPfa2hruLvr1H1QJJeqOTDV+v7tl/jIdoFvqhoihvSNykLU/G6NMgoeo+e/H7p/VeWSOvMUHKtTIg==} + '@next/swc-darwin-x64@14.2.21': + resolution: {integrity: sha512-TSAA2ROgNzm4FhKbTbyJOBrsREOMVdDIltZ6aZiKvCi/v0UwFmwigBGeqXDA97TFMpR3LNNpw52CbVelkoQBxA==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@next/swc-linux-arm64-gnu@14.2.20': - resolution: {integrity: sha512-pnzBrHTPXIMm5QX3QC8XeMkpVuoAYOmyfsO4VlPn+0NrHraNuWjdhe+3xLq01xR++iCvX+uoeZmJDKcOxI201Q==} + '@next/swc-linux-arm64-gnu@14.2.21': + resolution: {integrity: sha512-0Dqjn0pEUz3JG+AImpnMMW/m8hRtl1GQCNbO66V1yp6RswSTiKmnHf3pTX6xMdJYSemf3O4Q9ykiL0jymu0TuA==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@next/swc-linux-arm64-musl@14.2.20': - resolution: {integrity: sha512-WhJJAFpi6yqmUx1momewSdcm/iRXFQS0HU2qlUGlGE/+98eu7JWLD5AAaP/tkK1mudS/rH2f9E3WCEF2iYDydQ==} + '@next/swc-linux-arm64-musl@14.2.21': + resolution: {integrity: sha512-Ggfw5qnMXldscVntwnjfaQs5GbBbjioV4B4loP+bjqNEb42fzZlAaK+ldL0jm2CTJga9LynBMhekNfV8W4+HBw==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - '@next/swc-linux-x64-gnu@14.2.20': - resolution: {integrity: sha512-ao5HCbw9+iG1Kxm8XsGa3X174Ahn17mSYBQlY6VGsdsYDAbz/ZP13wSLfvlYoIDn1Ger6uYA+yt/3Y9KTIupRg==} + '@next/swc-linux-x64-gnu@14.2.21': + resolution: {integrity: sha512-uokj0lubN1WoSa5KKdThVPRffGyiWlm/vCc/cMkWOQHw69Qt0X1o3b2PyLLx8ANqlefILZh1EdfLRz9gVpG6tg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@next/swc-linux-x64-musl@14.2.20': - resolution: {integrity: sha512-CXm/kpnltKTT7945np6Td3w7shj/92TMRPyI/VvveFe8+YE+/YOJ5hyAWK5rpx711XO1jBCgXl211TWaxOtkaA==} + '@next/swc-linux-x64-musl@14.2.21': + resolution: {integrity: sha512-iAEBPzWNbciah4+0yI4s7Pce6BIoxTQ0AGCkxn/UBuzJFkYyJt71MadYQkjPqCQCJAFQ26sYh7MOKdU+VQFgPg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - '@next/swc-win32-arm64-msvc@14.2.20': - resolution: {integrity: sha512-upJn2HGQgKNDbXVfIgmqT2BN8f3z/mX8ddoyi1I565FHbfowVK5pnMEwauvLvaJf4iijvuKq3kw/b6E9oIVRWA==} + '@next/swc-win32-arm64-msvc@14.2.21': + resolution: {integrity: sha512-plykgB3vL2hB4Z32W3ktsfqyuyGAPxqwiyrAi2Mr8LlEUhNn9VgkiAl5hODSBpzIfWweX3er1f5uNpGDygfQVQ==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - '@next/swc-win32-ia32-msvc@14.2.20': - resolution: {integrity: sha512-igQW/JWciTGJwj3G1ipalD2V20Xfx3ywQy17IV0ciOUBbFhNfyU1DILWsTi32c8KmqgIDviUEulW/yPb2FF90w==} + '@next/swc-win32-ia32-msvc@14.2.21': + resolution: {integrity: sha512-w5bacz4Vxqrh06BjWgua3Yf7EMDb8iMcVhNrNx8KnJXt8t+Uu0Zg4JHLDL/T7DkTCEEfKXO/Er1fcfWxn2xfPA==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] - '@next/swc-win32-x64-msvc@14.2.20': - resolution: {integrity: sha512-AFmqeLW6LtxeFTuoB+MXFeM5fm5052i3MU6xD0WzJDOwku6SkZaxb1bxjBaRC8uNqTRTSPl0yMFtjNowIVI67w==} + '@next/swc-win32-x64-msvc@14.2.21': + resolution: {integrity: sha512-sT6+llIkzpsexGYZq8cjjthRyRGe5cJVhqh12FmlbxHqna6zsDDK8UNaV7g41T6atFHCJUPeLb3uyAwrBwy0NA==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -3456,6 +3459,9 @@ packages: '@rtsao/scc@1.1.0': resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} + '@rvf/set-get@7.0.0': + resolution: {integrity: sha512-mseFkwanF/heWzO2Eey741P4m+Fovl9GWwa7Bfgw4YW2E7dcA6d7KAYl012rTGdW4L9KP5GOSA48CkEA1mC2eg==} + '@scarf/scarf@1.4.0': resolution: {integrity: sha512-xxeapPiUXdZAE3che6f3xogoJPeZgig6omHEy1rIY5WVsB3H2BHNnZH+gHG6x91SCWyQCzWGsuL2Hh3ClO5/qQ==} @@ -3688,200 +3694,200 @@ packages: '@testcontainers/mysql@10.16.0': resolution: {integrity: sha512-GyxWqKfpY13lUrTEBmkKrAXyN7RZ//ntMdY/5Eyo/SukDM9LNGu3j5aNuDTGlYr4AEMJuzJ8CHxqUDAFGnCB/w==} - '@tiptap/core@2.10.3': - resolution: {integrity: sha512-wAG/0/UsLeZLmshWb6rtWNXKJftcmnned91/HLccHVQAuQZ1UWH+wXeQKu/mtodxEO7JcU2mVPR9mLGQkK0McQ==} + '@tiptap/core@2.10.4': + resolution: {integrity: sha512-fExFRTRgb6MSpg2VvR5qO2dPTQAZWuUoU4UsBCurIVcPWcyVv4FG1YzgMyoLDKy44rebFtwUGJbfU9NzX7Q/bA==} peerDependencies: '@tiptap/pm': ^2.7.0 - '@tiptap/extension-blockquote@2.10.3': - resolution: {integrity: sha512-u9Mq4r8KzoeGVT8ms6FQDIMN95dTh3TYcT7fZpwcVM96mIl2Oyt+Bk66mL8z4zuFptfRI57Cu9QdnHEeILd//w==} + '@tiptap/extension-blockquote@2.10.4': + resolution: {integrity: sha512-4JSwAM3B92YWvGzu/Vd5rovPrCGwLSaSLD5rxcLyfxLSrTDQd3n7lp78pzVgGhunVECzaGF5A0ByWWpEyS0a3w==} peerDependencies: '@tiptap/core': ^2.7.0 - '@tiptap/extension-bold@2.10.3': - resolution: {integrity: sha512-xnF1tS2BsORenr11qyybW120gHaeHKiKq+ZOP14cGA0MsriKvWDnaCSocXP/xMEYHy7+2uUhJ0MsKkHVj4bPzQ==} + '@tiptap/extension-bold@2.10.4': + resolution: {integrity: sha512-SdO4oFQKaERCGfwOc1CLYQRtThENam2KWfWmvpsymknokt5qYzU57ft0SE1HQV9vVYEzZ9HrWIgv2xrgu0g9kg==} peerDependencies: '@tiptap/core': ^2.7.0 - '@tiptap/extension-bubble-menu@2.10.3': - resolution: {integrity: sha512-e9a4yMjQezuKy0rtyyzxbV2IAE1bm1PY3yoZEFrcaY0o47g1CMUn2Hwe+9As2HdntEjQpWR7NO1mZeKxHlBPYA==} + '@tiptap/extension-bubble-menu@2.10.4': + resolution: {integrity: sha512-GVtZwJaQyLBptMsmDtYl5GEobd1Uu7C9sc9Z+PdXwMuxmFfg+j07bCKCj5JJj/tjgXCSLVxWdTlDHxNrgzQHjw==} peerDependencies: '@tiptap/core': ^2.7.0 '@tiptap/pm': ^2.7.0 - '@tiptap/extension-bullet-list@2.10.3': - resolution: {integrity: sha512-PTkwJOVlHi4RR4Wrs044tKMceweXwNmWA6EoQ93hPUVtQcwQL990Es5Izp+i88twTPLuGD9dH+o9QDyH9SkWdA==} + '@tiptap/extension-bullet-list@2.10.4': + resolution: {integrity: sha512-JVwDPgOBYRU2ivaadOh4IaQYXQEiSw6sB36KT/bwqJF2GnEvLiMwptdRMn9Uuh6xYR3imjIZtV6uZAoneZdd6g==} peerDependencies: '@tiptap/core': ^2.7.0 - '@tiptap/extension-code-block@2.10.3': - resolution: {integrity: sha512-yiDVNg22fYkzsFk5kBlDSHcjwVJgajvO/M5fDXA+Hfxwo2oNcG6aJyyHXFe+UaXTVjdkPej0J6kcMKrTMCiFug==} + '@tiptap/extension-code-block@2.10.4': + resolution: {integrity: sha512-qS4jnbJqghNMT2+B+GQ807ATgqkL9OQ//NlL+ZwVSe+DPDduNA9B6IB9SrWENDfOnzekpi7kcEcm+RenELARRQ==} peerDependencies: '@tiptap/core': ^2.7.0 '@tiptap/pm': ^2.7.0 - '@tiptap/extension-code@2.10.3': - resolution: {integrity: sha512-JyLbfyY3cPctq9sVdpcRWTcoUOoq3/MnGE1eP6eBNyMTHyBPcM9TPhOkgj+xkD1zW/884jfelB+wa70RT/AMxQ==} + '@tiptap/extension-code@2.10.4': + resolution: {integrity: sha512-Vj/N0nbSQiV1o7X7pRySK9Fu72Dd266gm27TSlsts6IwJu5MklFvz7ezJUWoLjt2wmCV8/U/USmk/39ic9qjvg==} peerDependencies: '@tiptap/core': ^2.7.0 - '@tiptap/extension-color@2.10.3': - resolution: {integrity: sha512-FC2hPMSQ4w9UmO9kJCAdoU7gHpDbJ6MeJAmikB9EPp16dbGwFLrZm9TZ/4pv74fGfVm0lv720316ALOEgPEDjQ==} + '@tiptap/extension-color@2.10.4': + resolution: {integrity: sha512-LgYECcWnTfonqzTUJQN+ujNlWQahGg4G6typRR44opNxwGTlmXHjc6h/JwgLiYxSMZke3EDP/17BSQDH9MMrIA==} peerDependencies: '@tiptap/core': ^2.7.0 '@tiptap/extension-text-style': ^2.7.0 - '@tiptap/extension-document@2.10.3': - resolution: {integrity: sha512-6i8+xbS2zB6t8iFzli1O/QB01MmwyI5Hqiiv4m5lOxqavmJwLss2sRhoMC2hB3CyFg5UmeODy/f/RnI6q5Vixg==} + '@tiptap/extension-document@2.10.4': + resolution: {integrity: sha512-1Pqrl6Rr9bVEHJ3zO2dM7UUA0Qn/r70JQ9YLlestjW1sbMaMuY3Ifvu2uSyUE7SAGV3gvxwNVQCrv8f0VlVEaA==} peerDependencies: '@tiptap/core': ^2.7.0 - '@tiptap/extension-dropcursor@2.10.3': - resolution: {integrity: sha512-wzWf82ixWzZQr0hxcf/A0ul8NNxgy1N63O+c56st6OomoLuKUJWOXF+cs9O7V+/5rZKWdbdYYoRB5QLvnDBAlQ==} + '@tiptap/extension-dropcursor@2.10.4': + resolution: {integrity: sha512-0XEM/yNLaMc/sZlYOau7XpHyYiHT9LwXUe7kmze/L8eowIa/iLvmRbcnUd3rtlZ7x7wooE6UO9c7OtlREg4ZBw==} peerDependencies: '@tiptap/core': ^2.7.0 '@tiptap/pm': ^2.7.0 - '@tiptap/extension-floating-menu@2.10.3': - resolution: {integrity: sha512-Prg8rYLxeyzHxfzVu1mDkkUWMnD9ZN3y370O/1qy55e+XKVw9jFkTSuz0y0+OhMJG6bulYpDUMtb+N3+2xOWlQ==} + '@tiptap/extension-floating-menu@2.10.4': + resolution: {integrity: sha512-K2MDiu6CwQ7+Jr6g1Lh3Tuxm1L6SefSHMpQO0UW3aRGwgEV5pjlrztnBFX4K9b7MNuQ4dJGCUK9u8Cv7Xss0qg==} peerDependencies: '@tiptap/core': ^2.7.0 '@tiptap/pm': ^2.7.0 - '@tiptap/extension-gapcursor@2.10.3': - resolution: {integrity: sha512-FskZi2DqDSTH1WkgLF2OLy0xU7qj3AgHsKhVsryeAtld4jAK5EsonneWgaipbz0e/MxuIvc1oyacfZKABpLaNg==} + '@tiptap/extension-gapcursor@2.10.4': + resolution: {integrity: sha512-KbJfoaqTZePpkWAN+klpK5j0UVtELxN7H5B0J556/UCB/rnq+OsdEFHPks2Ss9TidqWzRUqcxUE50UZ7b8h7Ug==} peerDependencies: '@tiptap/core': ^2.7.0 '@tiptap/pm': ^2.7.0 - '@tiptap/extension-hard-break@2.10.3': - resolution: {integrity: sha512-2rFlimUKAgKDwT6nqAMtPBjkrknQY8S7oBNyIcDOUGyFkvbDUl3Jd0PiC929S5F3XStJRppnMqhpNDAlWmvBLA==} + '@tiptap/extension-hard-break@2.10.4': + resolution: {integrity: sha512-nW9wubW1A/CO2Ssn9wNMP08tR9Oarg9VUGzJ5qNuz38DDNyntE1SyDS+XStkeMq5nKqJ3YKhukyAJH/PiRq4Mg==} peerDependencies: '@tiptap/core': ^2.7.0 - '@tiptap/extension-heading@2.10.3': - resolution: {integrity: sha512-AlxXXPCWIvw8hQUDFRskasj32iMNB8Sb19VgyFWqwvntGs2/UffNu8VdsVqxD2HpZ0g5rLYCYtSW4wigs9R3og==} + '@tiptap/extension-heading@2.10.4': + resolution: {integrity: sha512-7D0h0MIvE97Gx3Qwuo2xnPDK07WfCnyh4tpOPBOus4e1g6sgxVkwDwhbkYWiwvIrf4BUVJflnke/DEDCVp6/Eg==} peerDependencies: '@tiptap/core': ^2.7.0 - '@tiptap/extension-highlight@2.10.3': - resolution: {integrity: sha512-srMOdpUTcp1yPGmUqgKOkbmTpCYOF6Q/8CnquDkhrvK7Gyphj+n8TocrKiloaRYZKcoQWtmb+kcVPaHhHMzsWQ==} + '@tiptap/extension-highlight@2.10.4': + resolution: {integrity: sha512-0E/eK+eKx7I7UotELKPFsL/jiWFVtAkyXvcs1+OzcCr8ao2M6t5hGKh0McBG4WUQdxttnIwfQemGzIHU25pDog==} peerDependencies: '@tiptap/core': ^2.7.0 - '@tiptap/extension-history@2.10.3': - resolution: {integrity: sha512-HaSiMdx9Im9Pb9qGlVud7W8bweRDRMez33Uzs5a2x0n1RWkelfH7TwYs41Y3wus8Ujs7kw6qh7jyhvPpQBKaSA==} + '@tiptap/extension-history@2.10.4': + resolution: {integrity: sha512-fg6BNxbpMMtgKaiNI/GLcCzkxIQMwSYBhO9LA0CxLvmsWGU+My4r9W3DK6HwNoRJ9+6OleDPSLo1P73fbSTtEA==} peerDependencies: '@tiptap/core': ^2.7.0 '@tiptap/pm': ^2.7.0 - '@tiptap/extension-horizontal-rule@2.10.3': - resolution: {integrity: sha512-1a2IWhD00tgUNg/91RLnBvfENL7DLCui5L245+smcaLu+OXOOEpoBHawx59/M4hEpsjqvRRM79TzO9YXfopsPw==} + '@tiptap/extension-horizontal-rule@2.10.4': + resolution: {integrity: sha512-s9ycm/BOGoW3L0Epnj541vdngHbFbMM488HoODd1CmVSw1C+wBWFgsukgqKjlyE3VGfZXuSb1ur9zinW0RiLJQ==} peerDependencies: '@tiptap/core': ^2.7.0 '@tiptap/pm': ^2.7.0 - '@tiptap/extension-image@2.10.3': - resolution: {integrity: sha512-YIjAF5CwDkMe28OQ5pvnmdRgbJ9JcGMIHY1kyqNunSf2iwphK+6SWz9UEIkDFiT7AsRZySqxFSq93iK1XyTifw==} + '@tiptap/extension-image@2.10.4': + resolution: {integrity: sha512-fPdAqP4M1zwz5jyrQNIEL4OvvGeJso45svaaBLV342yRLOpbVIgAp/RsuWSGDQTUWoGhdkHdIrbH2bUGNEbMBg==} peerDependencies: '@tiptap/core': ^2.7.0 - '@tiptap/extension-italic@2.10.3': - resolution: {integrity: sha512-wAiO6ZxoHx2H90phnKttLWGPjPZXrfKxhOCsqYrK8BpRByhr48godOFRuGwYnKaiwoVjpxc63t+kDJDWvqmgMw==} + '@tiptap/extension-italic@2.10.4': + resolution: {integrity: sha512-8MIQ+wsbyxNCZDCFTVTOXrS2AvFyOhtlBNgVU2+6r6xnJV4AcfEA3qclysqrjOlL117ped/nzDeoB0AeX0CI+Q==} peerDependencies: '@tiptap/core': ^2.7.0 - '@tiptap/extension-link@2.10.3': - resolution: {integrity: sha512-8esKlkZBzEiNcpt7I8Cd6l1mWmCc/66pPbUq9LfnIniDXE3U+ahBf4m3TJltYFBGbiiTR/xqMtJyVHOpuLDtAw==} + '@tiptap/extension-link@2.10.4': + resolution: {integrity: sha512-9lbtMUPc9IYCRMKV/B4k/no9J5OQQl/jJn9W2ce3NjJZSrOjuZs0CjJZgCESIaj6911s7nEJUvxKKmsbD3UC3Q==} peerDependencies: '@tiptap/core': ^2.7.0 '@tiptap/pm': ^2.7.0 - '@tiptap/extension-list-item@2.10.3': - resolution: {integrity: sha512-9sok81gvZfSta2K1Dwrq5/HSz1jk4zHBpFqCx0oydzodGslx6X1bNxdca+eXJpXZmQIWALK7zEr4X8kg3WZsgw==} + '@tiptap/extension-list-item@2.10.4': + resolution: {integrity: sha512-8K3WUD5fPyw2poQKnJGGm7zlfeIbpld92+SRF4M9wkp95EzvgexTlodvxlrL3i8zKXcQQVyExWA8kCcGPFb9bA==} peerDependencies: '@tiptap/core': ^2.7.0 - '@tiptap/extension-ordered-list@2.10.3': - resolution: {integrity: sha512-/SFuEDnbJxy3jvi72LeyiPHWkV+uFc0LUHTUHSh20vwyy+tLrzncJfXohGbTIv5YxYhzExQYZDRD4VbSghKdlw==} + '@tiptap/extension-ordered-list@2.10.4': + resolution: {integrity: sha512-NaeEu+qFG2O0emc8WlwOM7DKNKOaqHWuNkuKrrmQzslgL+UQSEGlGMo6NEJ5sLLckPBDpIa0MuRm30407JE+cg==} peerDependencies: '@tiptap/core': ^2.7.0 - '@tiptap/extension-paragraph@2.10.3': - resolution: {integrity: sha512-sNkTX/iN+YoleDiTJsrWSBw9D7c4vsYwnW5y/G5ydfuJMIRQMF78pWSIWZFDRNOMkgK5UHkhu9anrbCFYgBfaA==} + '@tiptap/extension-paragraph@2.10.4': + resolution: {integrity: sha512-SRNVhT8OXqjpZtcyuOtofbtOpXXFrQrjqqCc/yXebda//2SfUTOvB16Lss77vQOWi6xr7TF1mZuowJgSTkcczw==} peerDependencies: '@tiptap/core': ^2.7.0 - '@tiptap/extension-strike@2.10.3': - resolution: {integrity: sha512-jYoPy6F6njYp3txF3u23bgdRy/S5ATcWDO9LPZLHSeikwQfJ47nqb+EUNo5M8jIOgFBTn4MEbhuZ6OGyhnxopA==} + '@tiptap/extension-strike@2.10.4': + resolution: {integrity: sha512-OibipsomFpOJWTPVX/z4Z53HgwDA93lE/loHGa+ONJfML1dO6Zd6UTwzaVO1/g8WOwRgwkYu/6JnhxLKRlP8Lg==} peerDependencies: '@tiptap/core': ^2.7.0 - '@tiptap/extension-table-cell@2.10.3': - resolution: {integrity: sha512-EYzBrnq7KUAcRhshIoTmC4ED8YoF4Ei5m8ZMPOctKX+QMAagKdcrw2UxuOf4tP2xgBYx+qDsKCautepZXQiL2g==} + '@tiptap/extension-table-cell@2.10.4': + resolution: {integrity: sha512-vYwRYt3xPaAU4hxoz3OMGPQzcAxaxEVri6VSRMWg4BN3x4DwWevBTAk59Ho9nkJpaRuXO6c5pIxcwWCZM0Aw0w==} peerDependencies: '@tiptap/core': ^2.7.0 - '@tiptap/extension-table-header@2.10.3': - resolution: {integrity: sha512-zJqzivz+VITYIFXNH09leBbkwAPuvp504rCAFL2PMa1uaME6+oiiRqZvXQrOiRkjNpOWEXH4dqvVLwkSMZoWaw==} + '@tiptap/extension-table-header@2.10.4': + resolution: {integrity: sha512-NVi/KMBh9IAzpukjptCsH+gibZB3VxgCc+wuFk41QqI5ABnTPKWflnQ0wRo7IC6wC/tUi4YBahh20dL/wBJn3w==} peerDependencies: '@tiptap/core': ^2.7.0 - '@tiptap/extension-table-row@2.10.3': - resolution: {integrity: sha512-l6P6BAE4SuIFdPmsRd+zGP2Ks9AhLAua7nfDlHFMWDnfOeaJu7g/t4oG++9xTojDcVDHhcIe8TJYUXfhOt2anw==} + '@tiptap/extension-table-row@2.10.4': + resolution: {integrity: sha512-kpQQSZQNYHhencIk+lzs+zWtgg6nUXHIVQKZUg5dVT0VP2JNO7wPM6d8HgnscvxOkJNRVF/Q5dYe0Cb4tROIKg==} peerDependencies: '@tiptap/core': ^2.7.0 - '@tiptap/extension-table@2.10.3': - resolution: {integrity: sha512-XAvq0ptpHfuN7lQhTeew4Sqo8aKYHTqroa7cHL8I+gWJqYqKJSTGb4FAqdGIFEzHvnSsMCFbTL//kAHXvTdsHg==} + '@tiptap/extension-table@2.10.4': + resolution: {integrity: sha512-ak1RT8n0WQFNnVsZ9e6QFLWlRQP0IjT+Yp/PTsx5fSmqkiiwQKGs1ILCJWlBB3H0hV7N69aaOtK3h/35lmqoEg==} peerDependencies: '@tiptap/core': ^2.7.0 '@tiptap/pm': ^2.7.0 - '@tiptap/extension-task-item@2.10.3': - resolution: {integrity: sha512-vE4qxGrZTdwynHq6l5xN0jI0ahDZpmKeoD6yuCMNyN831dgHXEjNrV8oBtZUvvqChFRc/LiSmUbrTInUn5xeNg==} + '@tiptap/extension-task-item@2.10.4': + resolution: {integrity: sha512-ucKGXdHdHCBanIJTB/nhmQ3iIL6BcSVKr7mN5BGEu6sSLYROflX7lmnMPVIRcTKJz+FGJeR6AqPFVagZAXVkGQ==} peerDependencies: '@tiptap/core': ^2.7.0 '@tiptap/pm': ^2.7.0 - '@tiptap/extension-task-list@2.10.3': - resolution: {integrity: sha512-Zj1pj+6VrL8VXlFYWdcLlCMykzARsvdqdU8cGVnBuC0H0vrSSfLGl+GxGnQwxTnqiNtxR4t70DLi/UjFBvzlqw==} + '@tiptap/extension-task-list@2.10.4': + resolution: {integrity: sha512-21bFlHlvGr5hsXUEug9p+BWPLqdziFS/4mGG6nUnrSDI1e4eEC86WZczsG+If6FEpjcCS9Eb2RHgqaA4VoJEqg==} peerDependencies: '@tiptap/core': ^2.7.0 - '@tiptap/extension-text-align@2.10.3': - resolution: {integrity: sha512-g75sNl73gtgjP3XIcl06kvv1qw3c0rGEUD848rUU1bvlBpU3IxjkcQLgYvHmv3vpuUp9cKUkA2wa7Sv6R3fjvw==} + '@tiptap/extension-text-align@2.10.4': + resolution: {integrity: sha512-rt2Hz3N081QAgkKKSMpyDZTKorBmXKpeHkYIw+ArVuvBYhi8x5wVyZgZ2SIMW9A5G4rx1M0czn7xNi+/P3NopQ==} peerDependencies: '@tiptap/core': ^2.7.0 - '@tiptap/extension-text-style@2.10.3': - resolution: {integrity: sha512-TalYIdlF7vBA4afFhmido7AORdBbu3sV+HCByda0FiNbM6cjng3Nr9oxHOCVJy+ChqrcgF4m54zDfLmamdyu5Q==} + '@tiptap/extension-text-style@2.10.4': + resolution: {integrity: sha512-ibq7avkcwHyUSG53Hf+P31rrwsKVbbiqbWZM4kXC7M2X3iUwFrtvaa+SWzyWQfE1jl2cCrD1+rfSkj/alcOKGg==} peerDependencies: '@tiptap/core': ^2.7.0 - '@tiptap/extension-text@2.10.3': - resolution: {integrity: sha512-7p9XiRprsRZm8y9jvF/sS929FCELJ5N9FQnbzikOiyGNUx5mdI+exVZlfvBr9xOD5s7fBLg6jj9Vs0fXPNRkPg==} + '@tiptap/extension-text@2.10.4': + resolution: {integrity: sha512-wPdVxCHrIS9S+8n08lgyyqRZPj9FBbyLlFt74/lV5yBC3LOorq1VKdjrTskmaj4jud7ImXoKDyBddAYTHdJ1xw==} peerDependencies: '@tiptap/core': ^2.7.0 - '@tiptap/extension-underline@2.10.3': - resolution: {integrity: sha512-VeGs0jeNiTnXddHHJEgOc/sKljZiyTEgSSuqMmsBACrr9aGFXbLTgKTvNjkZ9WzSnu7LwgJuBrwEhg8yYixUyQ==} + '@tiptap/extension-underline@2.10.4': + resolution: {integrity: sha512-KhlCndQFMe/Gsz+3qkVn9z1utDy8y1igvdePijMjA5B8PTu0hPs2Q1d6szfLTBdtoFNkCokknxzXhSY0OFJEyQ==} peerDependencies: '@tiptap/core': ^2.7.0 - '@tiptap/pm@2.10.3': - resolution: {integrity: sha512-771p53aU0KFvujvKpngvq2uAxThlEsjYaXcVVmwrhf0vxSSg+psKQEvqvWvHv/3BwkPVCGwmEKNVJZjaXFKu4g==} + '@tiptap/pm@2.10.4': + resolution: {integrity: sha512-pZ4NEkRtYoDLe0spARvXZ1N3hNv/5u6vfPdPtEbmNpoOSjSNqDC1kVM+qJY0iaCYpxbxcv7cxn3kBumcFLQpJQ==} - '@tiptap/react@2.10.3': - resolution: {integrity: sha512-5GBL3arWai8WZuCl1MMA7bT5aWwqDi5AOQhX+hovKjwHvttpKDogRoUBL5k6Eds/eQMBMGTpsfmZlGNiFxSv1g==} + '@tiptap/react@2.10.4': + resolution: {integrity: sha512-JTeqDB+xgjo46QC9ILRXe2TcSfxKVRwhZ3vDvYoemN7giRk5a/WsCF1VQIT1fax+tCl6kfv3U1f4Mkx0DkbPkA==} peerDependencies: '@tiptap/core': ^2.7.0 '@tiptap/pm': ^2.7.0 react: ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0 - '@tiptap/starter-kit@2.10.3': - resolution: {integrity: sha512-oq8xdVIMqohSs91ofHSr7i5dCp2F56Lb9aYIAI25lZmwNwQJL2geGOYjMSfL0IC4cQHPylIuSKYCg7vRFdZmAA==} + '@tiptap/starter-kit@2.10.4': + resolution: {integrity: sha512-tu/WCs9Mkr5Nt8c3/uC4VvAbQlVX0OY7ygcqdzHGUeG9zP3twdW7o5xM3kyDKR2++sbVzqu5Ll5qNU+1JZvPGQ==} '@tootallnate/quickjs-emscripten@0.23.0': resolution: {integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==} @@ -4090,8 +4096,8 @@ packages: '@types/react@18.3.13': resolution: {integrity: sha512-ii/gswMmOievxAJed4PAHT949bpYjPKXvXo1v6cRB/kqc2ZR4n+SgyCyvyc5Fec5ez8VnUumI1Vk7j6fRyRogg==} - '@types/react@19.0.1': - resolution: {integrity: sha512-YW6614BDhqbpR5KtUYzTA+zlA7nayzJRA9ljz9CQoxthR0sDisYZLuvSMsil36t4EH/uAt8T52Xb4sVw17G+SQ==} + '@types/react@19.0.2': + resolution: {integrity: sha512-USU8ZI/xyKJwFTpjSVIrSeHBVAGagkHQKPNbxeWwql/vDmnTIBgx+TJnhFnj1NXgz8XfprU0egV2dROLGpsBEg==} '@types/semver@7.5.8': resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} @@ -6945,8 +6951,8 @@ packages: next: ^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0 react: ^16.8.0 || ^17.0.0 || ^18.0.0 || >=19.0.0-rc <19.0.0 || ^19.0.0 - next@14.2.20: - resolution: {integrity: sha512-yPvIiWsiyVYqJlSQxwmzMIReXn5HxFNq4+tlVQ812N1FbvhmE+fDpIAD7bcS2mGYQwPJ5vAsQouyme2eKsxaug==} + next@14.2.21: + resolution: {integrity: sha512-rZmLwucLHr3/zfDMYbJXbw0ZeoBpirxkXuvsJbk7UPorvPYZhP7vq7aHbKnU7dQNCYIimRrbB2pp3xmf+wsYUg==} engines: {node: '>=18.17.0'} hasBin: true peerDependencies: @@ -8532,11 +8538,11 @@ packages: title-case@2.1.1: resolution: {integrity: sha512-EkJoZ2O3zdCz3zJsYCsxyq2OC5hrxR9mfdd5I+w8h/tmFfeOxJ+vvkxsKxdmN0WtS9zLdHEgfgVOiMVgv+Po4Q==} - tldts-core@6.1.68: - resolution: {integrity: sha512-85TdlS/DLW/gVdf2oyyzqp3ocS30WxjaL4la85EArl9cHUR/nizifKAJPziWewSZjDZS71U517/i6ciUeqtB5Q==} + tldts-core@6.1.69: + resolution: {integrity: sha512-nygxy9n2PBUFQUtAXAc122gGo+04/j5qr5TGQFZTHafTKYvmARVXt2cA5rgero2/dnXUfkdPtiJoKmrd3T+wdA==} - tldts@6.1.68: - resolution: {integrity: sha512-JKF17jROiYkjJPT73hUTEiTp2OBCf+kAlB+1novk8i6Q6dWjHsgEjw9VLiipV4KTJavazXhY1QUXyQFSem2T7w==} + tldts@6.1.69: + resolution: {integrity: sha512-Oh/CqRQ1NXNY7cy9NkTPUauOWiTro0jEYZTioGbOmcQh6EC45oribyIMJp0OJO3677r13tO6SKdWoGZUx2BDFw==} hasBin: true tmp@0.0.33: @@ -8792,8 +8798,8 @@ packages: resolution: {integrity: sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==} engines: {node: '>=14.0'} - undici@7.1.1: - resolution: {integrity: sha512-WZkQ6eH9f5ZT93gaIffsbUaDpBwjbpvmMbfaEhOnbdUneurTESeRxwPGwjI28mRFESH3W3e8Togijh37ptOQqA==} + undici@7.2.0: + resolution: {integrity: sha512-klt+0S55GBViA9nsq48/NSCo4YX5mjydjypxD7UmHh/brMu8h/Mhd/F7qAeoH2NOO8SDTk6kjnTFc4WpzmfYpQ==} engines: {node: '>=20.18.1'} unenv@1.10.0: @@ -9287,9 +9293,10 @@ packages: resolution: {integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==} engines: {node: '>= 14'} - zod-form-data@2.0.2: - resolution: {integrity: sha512-sKTi+k0fvkxdakD0V5rq+9WVJA3cuTQUfEmNqvHrTzPLvjfLmkkBLfR0ed3qOi9MScJXTHIDH/jUNnEJ3CBX4g==} + zod-form-data@2.0.4: + resolution: {integrity: sha512-9OrcgjNN51kf4r+zgTXyTi7lS5OkqO6Wo0CLWpin9pgfGzpBBTIV0E+tyQDbNUvn2yrqNx3OXca+CDwb4kZDbg==} peerDependencies: + '@rvf/set-get': '>= 6.0.3 < 8.0.0' zod: '>= 3.11.0' zod-openapi@2.19.0: @@ -10127,7 +10134,7 @@ snapshots: transitivePeerDependencies: - '@types/react' - '@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@19.0.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@floating-ui/react': 0.26.28(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@mantine/hooks': 7.15.1(react@19.0.0) @@ -10135,8 +10142,8 @@ snapshots: react: 19.0.0 react-dom: 19.0.0(react@19.0.0) react-number-format: 5.4.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - react-remove-scroll: 2.6.0(@types/react@19.0.1)(react@19.0.0) - react-textarea-autosize: 8.5.5(@types/react@19.0.1)(react@19.0.0) + react-remove-scroll: 2.6.0(@types/react@19.0.2)(react@19.0.0) + react-textarea-autosize: 8.5.5(@types/react@19.0.2)(react@19.0.0) type-fest: 4.28.0 transitivePeerDependencies: - '@types/react' @@ -10150,18 +10157,18 @@ snapshots: react: 19.0.0 react-dom: 19.0.0(react@19.0.0) - '@mantine/dates@7.15.1(@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@19.0.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.1(react@19.0.0))(dayjs@1.11.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@mantine/dates@7.15.1(@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.1(react@19.0.0))(dayjs@1.11.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@mantine/core': 7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@19.0.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@mantine/core': 7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@mantine/hooks': 7.15.1(react@19.0.0) clsx: 2.1.1 dayjs: 1.11.13 react: 19.0.0 react-dom: 19.0.0(react@19.0.0) - '@mantine/dropzone@7.15.1(@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@19.0.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.1(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@mantine/dropzone@7.15.1(@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.1(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@mantine/core': 7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@19.0.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@mantine/core': 7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@mantine/hooks': 7.15.1(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) @@ -10177,9 +10184,9 @@ snapshots: dependencies: react: 19.0.0 - '@mantine/modals@7.15.1(@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@19.0.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.1(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@mantine/modals@7.15.1(@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.1(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@mantine/core': 7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@19.0.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@mantine/core': 7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@mantine/hooks': 7.15.1(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) @@ -10205,12 +10212,12 @@ snapshots: dependencies: react: 19.0.0 - '@mantine/tiptap@7.15.1(@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@19.0.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.1(react@19.0.0))(@tiptap/extension-link@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3))(@tiptap/react@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@mantine/tiptap@7.15.1(@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.1(react@19.0.0))(@tiptap/extension-link@2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))(@tiptap/pm@2.10.4))(@tiptap/react@2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))(@tiptap/pm@2.10.4)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@mantine/core': 7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@19.0.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@mantine/core': 7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@mantine/hooks': 7.15.1(react@19.0.0) - '@tiptap/extension-link': 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3) - '@tiptap/react': 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@tiptap/extension-link': 2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))(@tiptap/pm@2.10.4) + '@tiptap/react': 2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))(@tiptap/pm@2.10.4)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) @@ -10282,37 +10289,37 @@ snapshots: - utf-8-validate - webpack-sources - '@next/env@14.2.20': {} + '@next/env@14.2.21': {} - '@next/eslint-plugin-next@14.2.20': + '@next/eslint-plugin-next@14.2.21': dependencies: glob: 10.3.10 - '@next/swc-darwin-arm64@14.2.20': + '@next/swc-darwin-arm64@14.2.21': optional: true - '@next/swc-darwin-x64@14.2.20': + '@next/swc-darwin-x64@14.2.21': optional: true - '@next/swc-linux-arm64-gnu@14.2.20': + '@next/swc-linux-arm64-gnu@14.2.21': optional: true - '@next/swc-linux-arm64-musl@14.2.20': + '@next/swc-linux-arm64-musl@14.2.21': optional: true - '@next/swc-linux-x64-gnu@14.2.20': + '@next/swc-linux-x64-gnu@14.2.21': optional: true - '@next/swc-linux-x64-musl@14.2.20': + '@next/swc-linux-x64-musl@14.2.21': optional: true - '@next/swc-win32-arm64-msvc@14.2.20': + '@next/swc-win32-arm64-msvc@14.2.21': optional: true - '@next/swc-win32-ia32-msvc@14.2.20': + '@next/swc-win32-ia32-msvc@14.2.21': optional: true - '@next/swc-win32-x64-msvc@14.2.20': + '@next/swc-win32-x64-msvc@14.2.21': optional: true '@noble/hashes@1.5.0': {} @@ -10626,6 +10633,8 @@ snapshots: '@rtsao/scc@1.1.0': {} + '@rvf/set-get@7.0.0': {} + '@scarf/scarf@1.4.0': {} '@sec-ant/readable-stream@0.4.1': {} @@ -11106,10 +11115,10 @@ snapshots: '@tanstack/react-query': 5.62.8(react@19.0.0) react: 19.0.0 - '@tanstack/react-query-next-experimental@5.62.8(@tanstack/react-query@5.62.8(react@19.0.0))(next@14.2.20(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0))(react@19.0.0)': + '@tanstack/react-query-next-experimental@5.62.8(@tanstack/react-query@5.62.8(react@19.0.0))(next@14.2.21(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0))(react@19.0.0)': dependencies: '@tanstack/react-query': 5.62.8(react@19.0.0) - next: 14.2.20(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) + next: 14.2.21(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) react: 19.0.0 '@tanstack/react-query@5.62.8(react@19.0.0)': @@ -11139,157 +11148,157 @@ snapshots: transitivePeerDependencies: - supports-color - '@tiptap/core@2.10.3(@tiptap/pm@2.10.3)': + '@tiptap/core@2.10.4(@tiptap/pm@2.10.4)': dependencies: - '@tiptap/pm': 2.10.3 + '@tiptap/pm': 2.10.4 - '@tiptap/extension-blockquote@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))': + '@tiptap/extension-blockquote@2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))': dependencies: - '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3) + '@tiptap/core': 2.10.4(@tiptap/pm@2.10.4) - '@tiptap/extension-bold@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))': + '@tiptap/extension-bold@2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))': dependencies: - '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3) + '@tiptap/core': 2.10.4(@tiptap/pm@2.10.4) - '@tiptap/extension-bubble-menu@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)': + '@tiptap/extension-bubble-menu@2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))(@tiptap/pm@2.10.4)': dependencies: - '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3) - '@tiptap/pm': 2.10.3 + '@tiptap/core': 2.10.4(@tiptap/pm@2.10.4) + '@tiptap/pm': 2.10.4 tippy.js: 6.3.7 - '@tiptap/extension-bullet-list@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))': + '@tiptap/extension-bullet-list@2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))': dependencies: - '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3) + '@tiptap/core': 2.10.4(@tiptap/pm@2.10.4) - '@tiptap/extension-code-block@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)': + '@tiptap/extension-code-block@2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))(@tiptap/pm@2.10.4)': dependencies: - '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3) - '@tiptap/pm': 2.10.3 + '@tiptap/core': 2.10.4(@tiptap/pm@2.10.4) + '@tiptap/pm': 2.10.4 - '@tiptap/extension-code@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))': + '@tiptap/extension-code@2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))': dependencies: - '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3) + '@tiptap/core': 2.10.4(@tiptap/pm@2.10.4) - '@tiptap/extension-color@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/extension-text-style@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3)))': + '@tiptap/extension-color@2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))(@tiptap/extension-text-style@2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4)))': dependencies: - '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3) - '@tiptap/extension-text-style': 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3)) + '@tiptap/core': 2.10.4(@tiptap/pm@2.10.4) + '@tiptap/extension-text-style': 2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4)) - '@tiptap/extension-document@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))': + '@tiptap/extension-document@2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))': dependencies: - '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3) + '@tiptap/core': 2.10.4(@tiptap/pm@2.10.4) - '@tiptap/extension-dropcursor@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)': + '@tiptap/extension-dropcursor@2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))(@tiptap/pm@2.10.4)': dependencies: - '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3) - '@tiptap/pm': 2.10.3 + '@tiptap/core': 2.10.4(@tiptap/pm@2.10.4) + '@tiptap/pm': 2.10.4 - '@tiptap/extension-floating-menu@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)': + '@tiptap/extension-floating-menu@2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))(@tiptap/pm@2.10.4)': dependencies: - '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3) - '@tiptap/pm': 2.10.3 + '@tiptap/core': 2.10.4(@tiptap/pm@2.10.4) + '@tiptap/pm': 2.10.4 tippy.js: 6.3.7 - '@tiptap/extension-gapcursor@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)': + '@tiptap/extension-gapcursor@2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))(@tiptap/pm@2.10.4)': dependencies: - '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3) - '@tiptap/pm': 2.10.3 + '@tiptap/core': 2.10.4(@tiptap/pm@2.10.4) + '@tiptap/pm': 2.10.4 - '@tiptap/extension-hard-break@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))': + '@tiptap/extension-hard-break@2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))': dependencies: - '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3) + '@tiptap/core': 2.10.4(@tiptap/pm@2.10.4) - '@tiptap/extension-heading@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))': + '@tiptap/extension-heading@2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))': dependencies: - '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3) + '@tiptap/core': 2.10.4(@tiptap/pm@2.10.4) - '@tiptap/extension-highlight@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))': + '@tiptap/extension-highlight@2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))': dependencies: - '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3) + '@tiptap/core': 2.10.4(@tiptap/pm@2.10.4) - '@tiptap/extension-history@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)': + '@tiptap/extension-history@2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))(@tiptap/pm@2.10.4)': dependencies: - '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3) - '@tiptap/pm': 2.10.3 + '@tiptap/core': 2.10.4(@tiptap/pm@2.10.4) + '@tiptap/pm': 2.10.4 - '@tiptap/extension-horizontal-rule@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)': + '@tiptap/extension-horizontal-rule@2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))(@tiptap/pm@2.10.4)': dependencies: - '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3) - '@tiptap/pm': 2.10.3 + '@tiptap/core': 2.10.4(@tiptap/pm@2.10.4) + '@tiptap/pm': 2.10.4 - '@tiptap/extension-image@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))': + '@tiptap/extension-image@2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))': dependencies: - '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3) + '@tiptap/core': 2.10.4(@tiptap/pm@2.10.4) - '@tiptap/extension-italic@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))': + '@tiptap/extension-italic@2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))': dependencies: - '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3) + '@tiptap/core': 2.10.4(@tiptap/pm@2.10.4) - '@tiptap/extension-link@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)': + '@tiptap/extension-link@2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))(@tiptap/pm@2.10.4)': dependencies: - '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3) - '@tiptap/pm': 2.10.3 + '@tiptap/core': 2.10.4(@tiptap/pm@2.10.4) + '@tiptap/pm': 2.10.4 linkifyjs: 4.1.3 - '@tiptap/extension-list-item@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))': + '@tiptap/extension-list-item@2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))': dependencies: - '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3) + '@tiptap/core': 2.10.4(@tiptap/pm@2.10.4) - '@tiptap/extension-ordered-list@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))': + '@tiptap/extension-ordered-list@2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))': dependencies: - '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3) + '@tiptap/core': 2.10.4(@tiptap/pm@2.10.4) - '@tiptap/extension-paragraph@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))': + '@tiptap/extension-paragraph@2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))': dependencies: - '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3) + '@tiptap/core': 2.10.4(@tiptap/pm@2.10.4) - '@tiptap/extension-strike@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))': + '@tiptap/extension-strike@2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))': dependencies: - '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3) + '@tiptap/core': 2.10.4(@tiptap/pm@2.10.4) - '@tiptap/extension-table-cell@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))': + '@tiptap/extension-table-cell@2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))': dependencies: - '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3) + '@tiptap/core': 2.10.4(@tiptap/pm@2.10.4) - '@tiptap/extension-table-header@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))': + '@tiptap/extension-table-header@2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))': dependencies: - '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3) + '@tiptap/core': 2.10.4(@tiptap/pm@2.10.4) - '@tiptap/extension-table-row@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))': + '@tiptap/extension-table-row@2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))': dependencies: - '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3) + '@tiptap/core': 2.10.4(@tiptap/pm@2.10.4) - '@tiptap/extension-table@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)': + '@tiptap/extension-table@2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))(@tiptap/pm@2.10.4)': dependencies: - '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3) - '@tiptap/pm': 2.10.3 + '@tiptap/core': 2.10.4(@tiptap/pm@2.10.4) + '@tiptap/pm': 2.10.4 - '@tiptap/extension-task-item@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)': + '@tiptap/extension-task-item@2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))(@tiptap/pm@2.10.4)': dependencies: - '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3) - '@tiptap/pm': 2.10.3 + '@tiptap/core': 2.10.4(@tiptap/pm@2.10.4) + '@tiptap/pm': 2.10.4 - '@tiptap/extension-task-list@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))': + '@tiptap/extension-task-list@2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))': dependencies: - '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3) + '@tiptap/core': 2.10.4(@tiptap/pm@2.10.4) - '@tiptap/extension-text-align@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))': + '@tiptap/extension-text-align@2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))': dependencies: - '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3) + '@tiptap/core': 2.10.4(@tiptap/pm@2.10.4) - '@tiptap/extension-text-style@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))': + '@tiptap/extension-text-style@2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))': dependencies: - '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3) + '@tiptap/core': 2.10.4(@tiptap/pm@2.10.4) - '@tiptap/extension-text@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))': + '@tiptap/extension-text@2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))': dependencies: - '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3) + '@tiptap/core': 2.10.4(@tiptap/pm@2.10.4) - '@tiptap/extension-underline@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))': + '@tiptap/extension-underline@2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))': dependencies: - '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3) + '@tiptap/core': 2.10.4(@tiptap/pm@2.10.4) - '@tiptap/pm@2.10.3': + '@tiptap/pm@2.10.4': dependencies: prosemirror-changeset: 2.2.1 prosemirror-collab: 1.3.1 @@ -11310,41 +11319,41 @@ snapshots: prosemirror-transform: 1.10.2 prosemirror-view: 1.37.0 - '@tiptap/react@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@tiptap/react@2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))(@tiptap/pm@2.10.4)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3) - '@tiptap/extension-bubble-menu': 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3) - '@tiptap/extension-floating-menu': 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3) - '@tiptap/pm': 2.10.3 + '@tiptap/core': 2.10.4(@tiptap/pm@2.10.4) + '@tiptap/extension-bubble-menu': 2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))(@tiptap/pm@2.10.4) + '@tiptap/extension-floating-menu': 2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))(@tiptap/pm@2.10.4) + '@tiptap/pm': 2.10.4 '@types/use-sync-external-store': 0.0.6 fast-deep-equal: 3.1.3 react: 19.0.0 react-dom: 19.0.0(react@19.0.0) use-sync-external-store: 1.2.2(react@19.0.0) - '@tiptap/starter-kit@2.10.3': - dependencies: - '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3) - '@tiptap/extension-blockquote': 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3)) - '@tiptap/extension-bold': 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3)) - '@tiptap/extension-bullet-list': 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3)) - '@tiptap/extension-code': 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3)) - '@tiptap/extension-code-block': 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3) - '@tiptap/extension-document': 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3)) - '@tiptap/extension-dropcursor': 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3) - '@tiptap/extension-gapcursor': 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3) - '@tiptap/extension-hard-break': 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3)) - '@tiptap/extension-heading': 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3)) - '@tiptap/extension-history': 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3) - '@tiptap/extension-horizontal-rule': 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3) - '@tiptap/extension-italic': 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3)) - '@tiptap/extension-list-item': 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3)) - '@tiptap/extension-ordered-list': 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3)) - '@tiptap/extension-paragraph': 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3)) - '@tiptap/extension-strike': 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3)) - '@tiptap/extension-text': 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3)) - '@tiptap/extension-text-style': 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3)) - '@tiptap/pm': 2.10.3 + '@tiptap/starter-kit@2.10.4': + dependencies: + '@tiptap/core': 2.10.4(@tiptap/pm@2.10.4) + '@tiptap/extension-blockquote': 2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4)) + '@tiptap/extension-bold': 2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4)) + '@tiptap/extension-bullet-list': 2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4)) + '@tiptap/extension-code': 2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4)) + '@tiptap/extension-code-block': 2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))(@tiptap/pm@2.10.4) + '@tiptap/extension-document': 2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4)) + '@tiptap/extension-dropcursor': 2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))(@tiptap/pm@2.10.4) + '@tiptap/extension-gapcursor': 2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))(@tiptap/pm@2.10.4) + '@tiptap/extension-hard-break': 2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4)) + '@tiptap/extension-heading': 2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4)) + '@tiptap/extension-history': 2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))(@tiptap/pm@2.10.4) + '@tiptap/extension-horizontal-rule': 2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4))(@tiptap/pm@2.10.4) + '@tiptap/extension-italic': 2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4)) + '@tiptap/extension-list-item': 2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4)) + '@tiptap/extension-ordered-list': 2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4)) + '@tiptap/extension-paragraph': 2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4)) + '@tiptap/extension-strike': 2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4)) + '@tiptap/extension-text': 2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4)) + '@tiptap/extension-text-style': 2.10.4(@tiptap/core@2.10.4(@tiptap/pm@2.10.4)) + '@tiptap/pm': 2.10.4 '@tootallnate/quickjs-emscripten@0.23.0': {} @@ -11353,11 +11362,11 @@ snapshots: '@trpc/server': 11.0.0-rc.666(typescript@5.7.2) typescript: 5.7.2 - '@trpc/next@11.0.0-rc.666(@tanstack/react-query@5.62.8(react@19.0.0))(@trpc/client@11.0.0-rc.666(@trpc/server@11.0.0-rc.666(typescript@5.7.2))(typescript@5.7.2))(@trpc/react-query@11.0.0-rc.666(@tanstack/react-query@5.62.8(react@19.0.0))(@trpc/client@11.0.0-rc.666(@trpc/server@11.0.0-rc.666(typescript@5.7.2))(typescript@5.7.2))(@trpc/server@11.0.0-rc.666(typescript@5.7.2))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.2))(@trpc/server@11.0.0-rc.666(typescript@5.7.2))(next@14.2.20(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.2)': + '@trpc/next@11.0.0-rc.666(@tanstack/react-query@5.62.8(react@19.0.0))(@trpc/client@11.0.0-rc.666(@trpc/server@11.0.0-rc.666(typescript@5.7.2))(typescript@5.7.2))(@trpc/react-query@11.0.0-rc.666(@tanstack/react-query@5.62.8(react@19.0.0))(@trpc/client@11.0.0-rc.666(@trpc/server@11.0.0-rc.666(typescript@5.7.2))(typescript@5.7.2))(@trpc/server@11.0.0-rc.666(typescript@5.7.2))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.2))(@trpc/server@11.0.0-rc.666(typescript@5.7.2))(next@14.2.21(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.2)': dependencies: '@trpc/client': 11.0.0-rc.666(@trpc/server@11.0.0-rc.666(typescript@5.7.2))(typescript@5.7.2) '@trpc/server': 11.0.0-rc.666(typescript@5.7.2) - next: 14.2.20(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) + next: 14.2.21(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) typescript: 5.7.2 @@ -11580,9 +11589,9 @@ snapshots: '@types/range-parser@1.2.7': {} - '@types/react-dom@19.0.2(@types/react@19.0.1)': + '@types/react-dom@19.0.2(@types/react@19.0.2)': dependencies: - '@types/react': 19.0.1 + '@types/react': 19.0.2 '@types/react@18.3.13': dependencies: @@ -11590,7 +11599,7 @@ snapshots: csstype: 3.1.3 optional: true - '@types/react@19.0.1': + '@types/react@19.0.2': dependencies: csstype: 3.1.3 @@ -11622,7 +11631,7 @@ snapshots: '@types/swagger-ui-react@4.18.3': dependencies: - '@types/react': 19.0.1 + '@types/react': 19.0.2 '@types/through@0.0.33': dependencies: @@ -12894,18 +12903,18 @@ snapshots: transitivePeerDependencies: - supports-color - drizzle-orm@0.38.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.12)(@types/react@19.0.1)(better-sqlite3@11.7.0)(mysql2@3.11.5)(react@19.0.0): + drizzle-orm@0.38.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.12)(@types/react@19.0.2)(better-sqlite3@11.7.0)(mysql2@3.11.5)(react@19.0.0): optionalDependencies: '@libsql/client-wasm': 0.14.0 '@types/better-sqlite3': 7.6.12 - '@types/react': 19.0.1 + '@types/react': 19.0.2 better-sqlite3: 11.7.0 mysql2: 3.11.5 react: 19.0.0 - drizzle-zod@0.6.0(drizzle-orm@0.38.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.12)(@types/react@19.0.1)(better-sqlite3@11.7.0)(mysql2@3.11.5)(react@19.0.0))(zod@3.24.1): + drizzle-zod@0.6.0(drizzle-orm@0.38.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.12)(@types/react@19.0.2)(better-sqlite3@11.7.0)(mysql2@3.11.5)(react@19.0.0))(zod@3.24.1): dependencies: - drizzle-orm: 0.38.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.12)(@types/react@19.0.1)(better-sqlite3@11.7.0)(mysql2@3.11.5)(react@19.0.0) + drizzle-orm: 0.38.2(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.12)(@types/react@19.0.2)(better-sqlite3@11.7.0)(mysql2@3.11.5)(react@19.0.0) zod: 3.24.1 duplexer2@0.1.4: @@ -14308,9 +14317,9 @@ snapshots: '@types/react': 18.3.13 react: 19.0.0 - jotai@2.10.4(@types/react@19.0.1)(react@19.0.0): + jotai@2.10.4(@types/react@19.0.2)(react@19.0.0): optionalDependencies: - '@types/react': 19.0.1 + '@types/react': 19.0.2 react: 19.0.0 js-base64@3.7.7: @@ -14572,10 +14581,10 @@ snapshots: react: 19.0.0 react-dom: 19.0.0(react@19.0.0) - mantine-react-table@2.0.0-beta.7(@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@19.0.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/dates@7.15.1(@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@19.0.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.1(react@19.0.0))(dayjs@1.11.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.1(react@19.0.0))(@tabler/icons-react@3.26.0(react@19.0.0))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + mantine-react-table@2.0.0-beta.7(@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/dates@7.15.1(@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.1(react@19.0.0))(dayjs@1.11.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.1(react@19.0.0))(@tabler/icons-react@3.26.0(react@19.0.0))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: - '@mantine/core': 7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@19.0.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) - '@mantine/dates': 7.15.1(@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@19.0.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.1(react@19.0.0))(dayjs@1.11.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@mantine/core': 7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@mantine/dates': 7.15.1(@mantine/core@7.15.1(@mantine/hooks@7.15.1(react@19.0.0))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(@mantine/hooks@7.15.1(react@19.0.0))(dayjs@1.11.13)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@mantine/hooks': 7.15.1(react@19.0.0) '@tabler/icons-react': 3.26.0(react@19.0.0) '@tanstack/match-sorter-utils': 8.19.4 @@ -14757,23 +14766,23 @@ snapshots: netmask@2.0.2: {} - next-auth@5.0.0-beta.25(next@14.2.20(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0))(react@19.0.0): + next-auth@5.0.0-beta.25(next@14.2.21(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0))(react@19.0.0): dependencies: '@auth/core': 0.37.2 - next: 14.2.20(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) + next: 14.2.21(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) react: 19.0.0 - next-intl@3.26.2(next@14.2.20(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0))(react@19.0.0): + next-intl@3.26.2(next@14.2.21(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0))(react@19.0.0): dependencies: '@formatjs/intl-localematcher': 0.5.5 negotiator: 1.0.0 - next: 14.2.20(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) + next: 14.2.21(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0) react: 19.0.0 use-intl: 3.26.2(react@19.0.0) - next@14.2.20(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0): + next@14.2.21(@babel/core@7.26.0)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(sass@1.83.0): dependencies: - '@next/env': 14.2.20 + '@next/env': 14.2.21 '@swc/helpers': 0.5.5 busboy: 1.6.0 caniuse-lite: 1.0.30001679 @@ -14783,15 +14792,15 @@ snapshots: react-dom: 19.0.0(react@19.0.0) styled-jsx: 5.1.1(@babel/core@7.26.0)(react@19.0.0) optionalDependencies: - '@next/swc-darwin-arm64': 14.2.20 - '@next/swc-darwin-x64': 14.2.20 - '@next/swc-linux-arm64-gnu': 14.2.20 - '@next/swc-linux-arm64-musl': 14.2.20 - '@next/swc-linux-x64-gnu': 14.2.20 - '@next/swc-linux-x64-musl': 14.2.20 - '@next/swc-win32-arm64-msvc': 14.2.20 - '@next/swc-win32-ia32-msvc': 14.2.20 - '@next/swc-win32-x64-msvc': 14.2.20 + '@next/swc-darwin-arm64': 14.2.21 + '@next/swc-darwin-x64': 14.2.21 + '@next/swc-linux-arm64-gnu': 14.2.21 + '@next/swc-linux-arm64-musl': 14.2.21 + '@next/swc-linux-x64-gnu': 14.2.21 + '@next/swc-linux-x64-musl': 14.2.21 + '@next/swc-win32-arm64-msvc': 14.2.21 + '@next/swc-win32-ia32-msvc': 14.2.21 + '@next/swc-win32-x64-msvc': 14.2.21 sass: 1.83.0 transitivePeerDependencies: - '@babel/core' @@ -15564,13 +15573,13 @@ snapshots: react: 19.0.0 react-dom: 19.0.0(react@19.0.0) - react-redux@9.1.2(@types/react@19.0.1)(react@19.0.0)(redux@5.0.1): + react-redux@9.1.2(@types/react@19.0.2)(react@19.0.0)(redux@5.0.1): dependencies: '@types/use-sync-external-store': 0.0.3 react: 19.0.0 use-sync-external-store: 1.2.2(react@19.0.0) optionalDependencies: - '@types/react': 19.0.1 + '@types/react': 19.0.2 redux: 5.0.1 react-refresh@0.14.2: {} @@ -15583,13 +15592,13 @@ snapshots: optionalDependencies: '@types/react': 18.3.13 - react-remove-scroll-bar@2.3.6(@types/react@19.0.1)(react@19.0.0): + react-remove-scroll-bar@2.3.6(@types/react@19.0.2)(react@19.0.0): dependencies: react: 19.0.0 - react-style-singleton: 2.2.1(@types/react@19.0.1)(react@19.0.0) + react-style-singleton: 2.2.1(@types/react@19.0.2)(react@19.0.0) tslib: 2.7.0 optionalDependencies: - '@types/react': 19.0.1 + '@types/react': 19.0.2 react-remove-scroll@2.6.0(@types/react@18.3.13)(react@19.0.0): dependencies: @@ -15602,16 +15611,16 @@ snapshots: optionalDependencies: '@types/react': 18.3.13 - react-remove-scroll@2.6.0(@types/react@19.0.1)(react@19.0.0): + react-remove-scroll@2.6.0(@types/react@19.0.2)(react@19.0.0): dependencies: react: 19.0.0 - react-remove-scroll-bar: 2.3.6(@types/react@19.0.1)(react@19.0.0) - react-style-singleton: 2.2.1(@types/react@19.0.1)(react@19.0.0) + react-remove-scroll-bar: 2.3.6(@types/react@19.0.2)(react@19.0.0) + react-style-singleton: 2.2.1(@types/react@19.0.2)(react@19.0.0) tslib: 2.7.0 - use-callback-ref: 1.3.2(@types/react@19.0.1)(react@19.0.0) - use-sidecar: 1.1.2(@types/react@19.0.1)(react@19.0.0) + use-callback-ref: 1.3.2(@types/react@19.0.2)(react@19.0.0) + use-sidecar: 1.1.2(@types/react@19.0.2)(react@19.0.0) optionalDependencies: - '@types/react': 19.0.1 + '@types/react': 19.0.2 react-scan@0.0.31: dependencies: @@ -15635,14 +15644,14 @@ snapshots: optionalDependencies: '@types/react': 18.3.13 - react-style-singleton@2.2.1(@types/react@19.0.1)(react@19.0.0): + react-style-singleton@2.2.1(@types/react@19.0.2)(react@19.0.0): dependencies: get-nonce: 1.0.1 invariant: 2.2.4 react: 19.0.0 tslib: 2.7.0 optionalDependencies: - '@types/react': 19.0.1 + '@types/react': 19.0.2 react-syntax-highlighter@15.5.0(react@19.0.0): dependencies: @@ -15662,12 +15671,12 @@ snapshots: transitivePeerDependencies: - '@types/react' - react-textarea-autosize@8.5.5(@types/react@19.0.1)(react@19.0.0): + react-textarea-autosize@8.5.5(@types/react@19.0.2)(react@19.0.0): dependencies: '@babel/runtime': 7.25.6 react: 19.0.0 use-composed-ref: 1.3.0(react@19.0.0) - use-latest: 1.2.1(@types/react@19.0.1)(react@19.0.0) + use-latest: 1.2.1(@types/react@19.0.2)(react@19.0.0) transitivePeerDependencies: - '@types/react' @@ -16400,7 +16409,7 @@ snapshots: transitivePeerDependencies: - debug - swagger-ui-react@5.18.2(@types/react@19.0.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + swagger-ui-react@5.18.2(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: '@babel/runtime-corejs3': 7.25.6 '@braintree/sanitize-url': 7.0.4 @@ -16425,7 +16434,7 @@ snapshots: react-immutable-proptypes: 2.2.0(immutable@3.8.2) react-immutable-pure-component: 2.2.2(immutable@3.8.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react-inspector: 6.0.2(react@19.0.0) - react-redux: 9.1.2(@types/react@19.0.1)(react@19.0.0)(redux@5.0.1) + react-redux: 9.1.2(@types/react@19.0.2)(react@19.0.0)(redux@5.0.1) react-syntax-highlighter: 15.5.0(react@19.0.0) redux: 5.0.1 redux-immutable: 4.0.0(immutable@3.8.2) @@ -16612,11 +16621,11 @@ snapshots: no-case: 2.3.2 upper-case: 1.1.3 - tldts-core@6.1.68: {} + tldts-core@6.1.69: {} - tldts@6.1.68: + tldts@6.1.69: dependencies: - tldts-core: 6.1.68 + tldts-core: 6.1.69 tmp@0.0.33: dependencies: @@ -16638,7 +16647,7 @@ snapshots: tough-cookie@5.0.0: dependencies: - tldts: 6.1.68 + tldts: 6.1.69 tr46@0.0.3: {} @@ -16860,7 +16869,7 @@ snapshots: dependencies: '@fastify/busboy': 2.1.1 - undici@7.1.1: {} + undici@7.2.0: {} unenv@1.10.0: dependencies: @@ -16959,12 +16968,12 @@ snapshots: optionalDependencies: '@types/react': 18.3.13 - use-callback-ref@1.3.2(@types/react@19.0.1)(react@19.0.0): + use-callback-ref@1.3.2(@types/react@19.0.2)(react@19.0.0): dependencies: react: 19.0.0 tslib: 2.7.0 optionalDependencies: - '@types/react': 19.0.1 + '@types/react': 19.0.2 use-composed-ref@1.3.0(react@19.0.0): dependencies: @@ -16988,11 +16997,11 @@ snapshots: optionalDependencies: '@types/react': 18.3.13 - use-isomorphic-layout-effect@1.1.2(@types/react@19.0.1)(react@19.0.0): + use-isomorphic-layout-effect@1.1.2(@types/react@19.0.2)(react@19.0.0): dependencies: react: 19.0.0 optionalDependencies: - '@types/react': 19.0.1 + '@types/react': 19.0.2 use-latest@1.2.1(@types/react@18.3.13)(react@19.0.0): dependencies: @@ -17001,12 +17010,12 @@ snapshots: optionalDependencies: '@types/react': 18.3.13 - use-latest@1.2.1(@types/react@19.0.1)(react@19.0.0): + use-latest@1.2.1(@types/react@19.0.2)(react@19.0.0): dependencies: react: 19.0.0 - use-isomorphic-layout-effect: 1.1.2(@types/react@19.0.1)(react@19.0.0) + use-isomorphic-layout-effect: 1.1.2(@types/react@19.0.2)(react@19.0.0) optionalDependencies: - '@types/react': 19.0.1 + '@types/react': 19.0.2 use-sidecar@1.1.2(@types/react@18.3.13)(react@19.0.0): dependencies: @@ -17016,13 +17025,13 @@ snapshots: optionalDependencies: '@types/react': 18.3.13 - use-sidecar@1.1.2(@types/react@19.0.1)(react@19.0.0): + use-sidecar@1.1.2(@types/react@19.0.2)(react@19.0.0): dependencies: detect-node-es: 1.1.0 react: 19.0.0 tslib: 2.7.0 optionalDependencies: - '@types/react': 19.0.1 + '@types/react': 19.0.2 use-sync-external-store@1.2.2(react@19.0.0): dependencies: @@ -17411,8 +17420,9 @@ snapshots: compress-commons: 6.0.2 readable-stream: 4.5.2 - zod-form-data@2.0.2(zod@3.24.1): + zod-form-data@2.0.4(@rvf/set-get@7.0.0)(zod@3.24.1): dependencies: + '@rvf/set-get': 7.0.0 zod: 3.24.1 zod-openapi@2.19.0(zod@3.24.1): diff --git a/tooling/eslint/package.json b/tooling/eslint/package.json index f03361a7a..e3593cf6a 100644 --- a/tooling/eslint/package.json +++ b/tooling/eslint/package.json @@ -17,7 +17,7 @@ }, "prettier": "@homarr/prettier-config", "dependencies": { - "@next/eslint-plugin-next": "^14.2.20", + "@next/eslint-plugin-next": "^14.2.21", "eslint-config-prettier": "^9.1.0", "eslint-config-turbo": "^2.3.3", "eslint-plugin-import": "^2.31.0",