chore(release): automatic release v1.34.0
This commit is contained in:
3
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
3
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@@ -31,6 +31,9 @@ body:
|
||||
label: Version
|
||||
description: What version of Homarr are you running?
|
||||
options:
|
||||
# The below comment is used to insert a new version with on-release.yml
|
||||
#NEXT_VERSION#
|
||||
- 1.33.0
|
||||
- 1.32.0
|
||||
- 1.31.0
|
||||
- 1.30.1
|
||||
|
||||
@@ -14,6 +14,6 @@ jobs:
|
||||
validate-pull-request-title:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: amannn/action-semantic-pull-request@v5
|
||||
- uses: amannn/action-semantic-pull-request@v6
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
82
.github/workflows/on-release.yml
vendored
Normal file
82
.github/workflows/on-release.yml
vendored
Normal file
@@ -0,0 +1,82 @@
|
||||
permissions: {}
|
||||
|
||||
on:
|
||||
release:
|
||||
types: [published]
|
||||
|
||||
jobs:
|
||||
trigger-docs-release:
|
||||
name: Trigger Documentation Release
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Obtain token
|
||||
id: obtainToken
|
||||
uses: tibdex/github-app-token@v2
|
||||
with:
|
||||
private_key: ${{ secrets.HOMARR_DOCS_RELEASE_APP_PRIVATE_KEY }}
|
||||
app_id: ${{ vars.HOMARR_DOCS_RELEASE_APP_ID }}
|
||||
installation_retrieval_mode: repository
|
||||
installation_retrieval_payload: homarr-labs/documentation
|
||||
- name: Trigger documentation release
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ steps.obtainToken.outputs.token }}
|
||||
SOURCE_TAG: ${{ github.event.release.tag_name }}
|
||||
run: |
|
||||
curl -X POST \
|
||||
-H "Authorization: token $GITHUB_TOKEN" \
|
||||
-H "Accept: application/vnd.github+json" \
|
||||
https://api.github.com/repos/homarr-labs/documentation/dispatches \
|
||||
-d @- <<EOF
|
||||
{
|
||||
"event_type": "trigger-release",
|
||||
"client_payload": {
|
||||
"tag": "${SOURCE_TAG}"
|
||||
}
|
||||
}
|
||||
EOF
|
||||
update-bug-report-template:
|
||||
name: Update Bug Report Template
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Obtain token
|
||||
id: obtainToken
|
||||
uses: tibdex/github-app-token@v2
|
||||
with:
|
||||
private_key: ${{ secrets.RENOVATE_MERGE_PRIVATE_KEY }}
|
||||
app_id: ${{ secrets.RENOVATE_MERGE_APP_ID }}
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v5
|
||||
with:
|
||||
token: ${{ steps.obtainToken.outputs.token }}
|
||||
- name: Setup
|
||||
uses: ./tooling/github/setup
|
||||
- run: pnpm run scripts:update-bug-report-template
|
||||
env:
|
||||
NEXT_VERSION: ${{ github.event.release.tag_name }}
|
||||
- name: Commit changes
|
||||
run: |
|
||||
git config --global user.email "175486441+homarr-releases[bot]@users.noreply.github.com"
|
||||
git config --global user.name "Releases Homarr"
|
||||
git add .
|
||||
git commit -m "chore: update bug report template"
|
||||
|
||||
- name: Create Pull Request
|
||||
id: create-pull-request
|
||||
uses: peter-evans/create-pull-request@v7
|
||||
with:
|
||||
token: ${{ steps.obtainToken.outputs.token }}
|
||||
branch: update-bug-report-template
|
||||
base: dev
|
||||
title: "chore: update bug report template"
|
||||
delete-branch: true
|
||||
body: |
|
||||
This PR automatically updates the bug report template of Homarr in the .github/ISSUE_TEMPLATE/bug_report.yml
|
||||
|
||||
- name: Install GitHub CLI
|
||||
run: sudo apt-get install -y gh
|
||||
|
||||
- name: Enable auto-merge
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ steps.obtainToken.outputs.token }}
|
||||
run: |
|
||||
gh pr merge ${{steps.create-pull-request.outputs.pull-request-number}} --auto --squash
|
||||
@@ -1,18 +1,18 @@
|
||||
# Security Policy
|
||||
|
||||
This policy is relevant if you found potential vulnerabilities in an audit.
|
||||
We consider something as a vulnerability if it...
|
||||
|
||||
1. puts users or user data at risk
|
||||
2. enables third parties to gain control or access (e.g. [RATs](https://en.wikipedia.org/wiki/Remote_desktop_software#RAT), [privilege escalation](https://en.wikipedia.org/wiki/Privilege_escalation), ...)
|
||||
3. abuses the system in an unintended way (e.g. crypto mining, proxy, ...)
|
||||
|
||||
## Supported Versions
|
||||
|
||||
| Version | Supported |
|
||||
| ------- | ------------------ |
|
||||
| >1.0.0 | :white_check_mark: |
|
||||
| <1.0.0 | :x: |
|
||||
We only fix security issues in the [latest stable version](https://github.com/homarr-labs/homarr/releases/latest). Meaning security issues in prior versions will not be fixed and users have to upgrade to the latest version to receive them.
|
||||
|
||||
## Reporting a Vulnerability
|
||||
|
||||
We use [GitHub's system for reporting vulnerabilities](https://docs.github.com/en/enterprise-cloud@latest/code-security/security-advisories/working-with-repository-security-advisories/creating-a-repository-security-advisory).
|
||||
Click [**here to report an advisory**](https://github.com/homarr-labs/homarr/security/advisories/new). Our team will get notified and will get back to you within 1-6 business days.
|
||||
|
||||
|
||||
@@ -50,17 +50,17 @@
|
||||
"@homarr/ui": "workspace:^0.1.0",
|
||||
"@homarr/validation": "workspace:^0.1.0",
|
||||
"@homarr/widgets": "workspace:^0.1.0",
|
||||
"@mantine/colors-generator": "^8.2.4",
|
||||
"@mantine/core": "^8.2.4",
|
||||
"@mantine/dropzone": "^8.2.4",
|
||||
"@mantine/hooks": "^8.2.4",
|
||||
"@mantine/modals": "^8.2.4",
|
||||
"@mantine/tiptap": "^8.2.4",
|
||||
"@mantine/colors-generator": "^8.2.5",
|
||||
"@mantine/core": "^8.2.5",
|
||||
"@mantine/dropzone": "^8.2.5",
|
||||
"@mantine/hooks": "^8.2.5",
|
||||
"@mantine/modals": "^8.2.5",
|
||||
"@mantine/tiptap": "^8.2.5",
|
||||
"@million/lint": "1.0.14",
|
||||
"@tabler/icons-react": "^3.34.1",
|
||||
"@tanstack/react-query": "^5.85.3",
|
||||
"@tanstack/react-query-devtools": "^5.85.3",
|
||||
"@tanstack/react-query-next-experimental": "^5.85.3",
|
||||
"@tanstack/react-query": "^5.85.5",
|
||||
"@tanstack/react-query-devtools": "^5.85.5",
|
||||
"@tanstack/react-query-next-experimental": "^5.85.5",
|
||||
"@trpc/client": "^11.4.4",
|
||||
"@trpc/next": "^11.4.4",
|
||||
"@trpc/react-query": "^11.4.4",
|
||||
@@ -76,7 +76,7 @@
|
||||
"glob": "^11.0.3",
|
||||
"jotai": "^2.13.1",
|
||||
"mantine-react-table": "2.0.0-beta.9",
|
||||
"next": "15.4.6",
|
||||
"next": "15.5.0",
|
||||
"postcss-preset-mantine": "^1.18.0",
|
||||
"prismjs": "^1.30.0",
|
||||
"react": "19.1.1",
|
||||
@@ -87,7 +87,7 @@
|
||||
"superjson": "2.2.2",
|
||||
"swagger-ui-react": "^5.27.1",
|
||||
"use-deep-compare-effect": "^1.8.1",
|
||||
"zod": "^4.0.14"
|
||||
"zod": "^4.0.17"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@homarr/eslint-config": "workspace:^0.2.0",
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import { Fragment } from "react";
|
||||
import Link from "next/link";
|
||||
import { redirect } from "next/navigation";
|
||||
import { ActionIcon, ActionIconGroup, Anchor, Avatar, Card, Group, Stack, Text, Title } from "@mantine/core";
|
||||
@@ -98,7 +99,12 @@ const AppCard = async ({ app }: AppCardProps) => {
|
||||
</Text>
|
||||
{app.description && (
|
||||
<Text size="sm" c="gray.6" lineClamp={4}>
|
||||
{app.description}
|
||||
{app.description.split("\n").map((line, index) => (
|
||||
<Fragment key={index}>
|
||||
{line}
|
||||
<br />
|
||||
</Fragment>
|
||||
))}
|
||||
</Text>
|
||||
)}
|
||||
{app.href && (
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
"dotenv": "^17.2.1",
|
||||
"fastify": "^5.5.0",
|
||||
"superjson": "2.2.2",
|
||||
"undici": "7.13.0"
|
||||
"undici": "7.14.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@homarr/eslint-config": "workspace:^0.2.0",
|
||||
|
||||
11
package.json
11
package.json
@@ -22,13 +22,14 @@
|
||||
"lint:ws": "pnpm dlx sherif@latest",
|
||||
"package:new": "turbo gen init",
|
||||
"release": "semantic-release",
|
||||
"scripts:update-bug-report-template": "tsx ./scripts/update-bug-report-template.mts",
|
||||
"scripts:update-readme-integrations": "tsx ./scripts/update-integration-list.mts",
|
||||
"start": "concurrently \"pnpm with-env node apps/tasks/tasks.cjs\" \"pnpm with-env node apps/websocket/wssServer.cjs\" \"pnpm -F nextjs start\"",
|
||||
"test": "cross-env NODE_ENV=development CI=true vitest run --exclude e2e --coverage.enabled ",
|
||||
"test:e2e": "cross-env NODE_ENV=development CI=true vitest e2e",
|
||||
"test:ui": "cross-env NODE_ENV=development CI=true vitest --exclude e2e --ui --coverage.enabled",
|
||||
"typecheck": "turbo typecheck",
|
||||
"with-env": "dotenv -e .env --",
|
||||
"scripts:update-readme-integrations": "tsx ./scripts/update-integration-list.mts"
|
||||
"with-env": "dotenv -e .env --"
|
||||
},
|
||||
"prettier": "@homarr/prettier-config",
|
||||
"devDependencies": {
|
||||
@@ -41,7 +42,7 @@
|
||||
"@semantic-release/release-notes-generator": "^14.0.3",
|
||||
"@testcontainers/redis": "^11.5.1",
|
||||
"@turbo/gen": "^2.5.6",
|
||||
"@vitejs/plugin-react": "^5.0.0",
|
||||
"@vitejs/plugin-react": "^5.0.1",
|
||||
"@vitest/coverage-v8": "^3.2.4",
|
||||
"@vitest/ui": "^3.2.4",
|
||||
"conventional-changelog-conventionalcommits": "^9.1.0",
|
||||
@@ -55,7 +56,7 @@
|
||||
"vite-tsconfig-paths": "^5.1.4",
|
||||
"vitest": "^3.2.4"
|
||||
},
|
||||
"packageManager": "pnpm@10.14.0",
|
||||
"packageManager": "pnpm@10.15.0",
|
||||
"engines": {
|
||||
"node": ">=22.18.0"
|
||||
},
|
||||
@@ -72,7 +73,7 @@
|
||||
"tree-sitter-json"
|
||||
],
|
||||
"overrides": {
|
||||
"proxmox-api>undici": "7.13.0"
|
||||
"proxmox-api>undici": "7.14.0"
|
||||
},
|
||||
"patchedDependencies": {
|
||||
"@types/node-unifi": "patches/@types__node-unifi.patch"
|
||||
|
||||
@@ -42,18 +42,18 @@
|
||||
"@homarr/server-settings": "workspace:^0.1.0",
|
||||
"@homarr/validation": "workspace:^0.1.0",
|
||||
"@kubernetes/client-node": "^1.3.0",
|
||||
"@tanstack/react-query": "^5.85.3",
|
||||
"@tanstack/react-query": "^5.85.5",
|
||||
"@trpc/client": "^11.4.4",
|
||||
"@trpc/react-query": "^11.4.4",
|
||||
"@trpc/server": "^11.4.4",
|
||||
"@trpc/tanstack-react-query": "^11.4.4",
|
||||
"lodash.clonedeep": "^4.5.0",
|
||||
"next": "15.4.6",
|
||||
"next": "15.5.0",
|
||||
"react": "19.1.1",
|
||||
"react-dom": "19.1.1",
|
||||
"superjson": "2.2.2",
|
||||
"trpc-to-openapi": "^3.0.0",
|
||||
"zod": "^4.0.14"
|
||||
"trpc-to-openapi": "^3.0.1",
|
||||
"zod": "^4.0.17"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@homarr/eslint-config": "workspace:^0.2.0",
|
||||
|
||||
@@ -35,11 +35,11 @@
|
||||
"bcrypt": "^6.0.0",
|
||||
"cookies": "^0.9.1",
|
||||
"ldapts": "8.0.9",
|
||||
"next": "15.4.6",
|
||||
"next": "15.5.0",
|
||||
"next-auth": "5.0.0-beta.29",
|
||||
"react": "19.1.1",
|
||||
"react-dom": "19.1.1",
|
||||
"zod": "^4.0.14"
|
||||
"zod": "^4.0.17"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@homarr/eslint-config": "workspace:^0.2.0",
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
"dependencies": {
|
||||
"@homarr/common": "workspace:^0.1.0",
|
||||
"@homarr/db": "workspace:^0.1.0",
|
||||
"undici": "7.13.0"
|
||||
"undici": "7.14.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@homarr/eslint-config": "workspace:^0.2.0",
|
||||
|
||||
@@ -30,12 +30,12 @@
|
||||
"@homarr/log": "workspace:^0.1.0",
|
||||
"@paralleldrive/cuid2": "^2.2.2",
|
||||
"dayjs": "^1.11.13",
|
||||
"next": "15.4.6",
|
||||
"next": "15.5.0",
|
||||
"react": "19.1.1",
|
||||
"react-dom": "19.1.1",
|
||||
"undici": "7.13.0",
|
||||
"zod": "^4.0.14",
|
||||
"zod-validation-error": "^3.5.3"
|
||||
"undici": "7.14.0",
|
||||
"zod": "^4.0.17",
|
||||
"zod-validation-error": "^4.0.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@homarr/eslint-config": "workspace:^0.2.0",
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
import { FetchError } from "node-fetch";
|
||||
|
||||
import { logger } from "@homarr/log";
|
||||
|
||||
import { RequestError } from "../request-error";
|
||||
import type { AnyRequestError } from "../request-error";
|
||||
import type { ResponseError } from "../response-error";
|
||||
import { matchErrorCode } from "./fetch-http-error-handler";
|
||||
import { HttpErrorHandler } from "./http-error-handler";
|
||||
|
||||
/**
|
||||
* node-fetch was a defacto standard to use fetch in nodejs.
|
||||
*
|
||||
* It is for example used within the cross-fetch package which is used in tsdav.
|
||||
*/
|
||||
export class NodeFetchHttpErrorHandler extends HttpErrorHandler {
|
||||
constructor(private type = "node-fetch") {
|
||||
super();
|
||||
}
|
||||
|
||||
handleRequestError(error: unknown): AnyRequestError | undefined {
|
||||
if (!(error instanceof FetchError)) return undefined;
|
||||
if (error.code === undefined) return undefined;
|
||||
|
||||
logger.debug(`Received ${this.type} request error`, {
|
||||
code: error.code,
|
||||
message: error.message,
|
||||
});
|
||||
|
||||
const requestErrorInput = matchErrorCode(error.code);
|
||||
if (!requestErrorInput) return undefined;
|
||||
|
||||
return new RequestError(requestErrorInput, {
|
||||
cause: error,
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Response errors do not exist for fetch as it does not throw errors for non successful responses.
|
||||
*/
|
||||
handleResponseError(_: unknown): ResponseError | undefined {
|
||||
return undefined;
|
||||
}
|
||||
}
|
||||
@@ -2,12 +2,12 @@ import { logger } from "@homarr/log";
|
||||
|
||||
import type { AnyRequestError } from "../request-error";
|
||||
import { ResponseError } from "../response-error";
|
||||
import { FetchHttpErrorHandler } from "./fetch-http-error-handler";
|
||||
import { HttpErrorHandler } from "./http-error-handler";
|
||||
import { NodeFetchHttpErrorHandler } from "./node-fetch-http-error-handler";
|
||||
|
||||
export class TsdavHttpErrorHandler extends HttpErrorHandler {
|
||||
handleRequestError(error: unknown): AnyRequestError | undefined {
|
||||
return new FetchHttpErrorHandler("tsdav").handleRequestError(error);
|
||||
return new NodeFetchHttpErrorHandler("tsdav").handleRequestError(error);
|
||||
}
|
||||
|
||||
handleResponseError(error: unknown): ResponseError | undefined {
|
||||
@@ -16,7 +16,7 @@ export class TsdavHttpErrorHandler extends HttpErrorHandler {
|
||||
// https://github.com/natelindev/tsdav/blob/bf33f04b1884694d685ee6f2b43fe9354b12d167/src/account.ts#L86
|
||||
if (error.message !== "Invalid credentials") return undefined;
|
||||
|
||||
logger.debug("Received Tsdav response error", {
|
||||
logger.debug("Received tsdav response error", {
|
||||
status: 401,
|
||||
});
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
"dependencies": {
|
||||
"@t3-oss/env-nextjs": "^0.13.8",
|
||||
"ioredis": "5.7.0",
|
||||
"zod": "^4.0.14"
|
||||
"zod": "^4.0.17"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@homarr/eslint-config": "workspace:^0.2.0",
|
||||
|
||||
@@ -29,13 +29,13 @@
|
||||
"@homarr/core": "workspace:^0.1.0",
|
||||
"@homarr/cron-jobs": "workspace:^0.1.0",
|
||||
"@homarr/log": "workspace:^0.1.0",
|
||||
"@tanstack/react-query": "^5.85.3",
|
||||
"@tanstack/react-query": "^5.85.5",
|
||||
"@trpc/client": "^11.4.4",
|
||||
"@trpc/server": "^11.4.4",
|
||||
"@trpc/tanstack-react-query": "^11.4.4",
|
||||
"node-cron": "^4.2.1",
|
||||
"react": "19.1.1",
|
||||
"zod": "^4.0.14"
|
||||
"zod": "^4.0.17"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@homarr/eslint-config": "workspace:^0.2.0",
|
||||
|
||||
@@ -44,14 +44,14 @@
|
||||
"@homarr/definitions": "workspace:^0.1.0",
|
||||
"@homarr/log": "workspace:^0.1.0",
|
||||
"@homarr/server-settings": "workspace:^0.1.0",
|
||||
"@mantine/core": "^8.2.4",
|
||||
"@mantine/core": "^8.2.5",
|
||||
"@paralleldrive/cuid2": "^2.2.2",
|
||||
"@testcontainers/mysql": "^11.5.1",
|
||||
"better-sqlite3": "^12.2.0",
|
||||
"dotenv": "^17.2.1",
|
||||
"drizzle-kit": "^0.31.4",
|
||||
"drizzle-orm": "^0.44.4",
|
||||
"drizzle-zod": "^0.8.2",
|
||||
"drizzle-zod": "^0.8.3",
|
||||
"mysql2": "3.14.3",
|
||||
"superjson": "2.2.2"
|
||||
},
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
"dependencies": {
|
||||
"@homarr/common": "workspace:^0.1.0",
|
||||
"fast-xml-parser": "^5.2.5",
|
||||
"zod": "^4.0.14"
|
||||
"zod": "^4.0.17"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@homarr/eslint-config": "workspace:^0.2.0",
|
||||
|
||||
@@ -26,9 +26,9 @@
|
||||
"@homarr/common": "workspace:^0.1.0",
|
||||
"@homarr/translation": "workspace:^0.1.0",
|
||||
"@homarr/validation": "workspace:^0.1.0",
|
||||
"@mantine/form": "^8.2.4",
|
||||
"mantine-form-zod-resolver": "^1.2.1",
|
||||
"zod": "^4.0.14"
|
||||
"@mantine/form": "^8.2.5",
|
||||
"mantine-form-zod-resolver": "^1.3.0",
|
||||
"zod": "^4.0.17"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@homarr/eslint-config": "workspace:^0.2.0",
|
||||
|
||||
@@ -29,9 +29,9 @@
|
||||
"@homarr/notifications": "workspace:^0.1.0",
|
||||
"@homarr/translation": "workspace:^0.1.0",
|
||||
"@homarr/validation": "workspace:^0.1.0",
|
||||
"@mantine/core": "^8.2.4",
|
||||
"@mantine/core": "^8.2.5",
|
||||
"react": "19.1.1",
|
||||
"zod": "^4.0.14"
|
||||
"zod": "^4.0.17"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@homarr/eslint-config": "workspace:^0.2.0",
|
||||
|
||||
@@ -97,7 +97,13 @@ export const AppForm = ({
|
||||
<Stack>
|
||||
<TextInput {...form.getInputProps("name")} withAsterisk label={t("app.field.name.label")} />
|
||||
<IconPicker {...form.getInputProps("iconUrl")} />
|
||||
<Textarea {...form.getInputProps("description")} label={t("app.field.description.label")} />
|
||||
<Textarea
|
||||
{...form.getInputProps("description")}
|
||||
label={t("app.field.description.label")}
|
||||
autosize
|
||||
minRows={2}
|
||||
resize="vertical"
|
||||
/>
|
||||
<TextInput {...form.getInputProps("href")} label={t("app.field.url.label")} />
|
||||
|
||||
<Checkbox
|
||||
|
||||
@@ -45,9 +45,9 @@
|
||||
"octokit": "^5.0.3",
|
||||
"proxmox-api": "1.1.1",
|
||||
"tsdav": "^2.1.5",
|
||||
"undici": "7.13.0",
|
||||
"undici": "7.14.0",
|
||||
"xml2js": "^0.6.2",
|
||||
"zod": "^4.0.14"
|
||||
"zod": "^4.0.17"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@homarr/eslint-config": "workspace:^0.2.0",
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
import type { Agent } from "https";
|
||||
import type { RequestInit as NodeFetchRequestInit } from "node-fetch";
|
||||
import * as ical from "node-ical";
|
||||
import { DAVClient } from "tsdav";
|
||||
import type { Dispatcher, RequestInit as UndiciFetchRequestInit } from "undici";
|
||||
|
||||
import { createCertificateAgentAsync } from "@homarr/certificates/server";
|
||||
import { createHttpsAgentAsync } from "@homarr/certificates/server";
|
||||
import { logger } from "@homarr/log";
|
||||
|
||||
import { HandleIntegrationErrors } from "../base/errors/decorator";
|
||||
@@ -16,7 +17,7 @@ import type { CalendarEvent } from "../interfaces/calendar/calendar-types";
|
||||
@HandleIntegrationErrors([integrationTsdavHttpErrorHandler])
|
||||
export class NextcloudIntegration extends Integration implements ICalendarIntegration {
|
||||
protected async testingAsync(input: IntegrationTestingInput): Promise<TestingResult> {
|
||||
const client = await this.createCalendarClientAsync(input.dispatcher);
|
||||
const client = await this.createCalendarClientAsync(await createHttpsAgentAsync(input.options));
|
||||
await client.login();
|
||||
|
||||
return { success: true };
|
||||
@@ -80,7 +81,7 @@ export class NextcloudIntegration extends Integration implements ICalendarIntegr
|
||||
});
|
||||
}
|
||||
|
||||
private async createCalendarClientAsync(dispatcher?: Dispatcher) {
|
||||
private async createCalendarClientAsync(agent?: Agent) {
|
||||
return new DAVClient({
|
||||
serverUrl: this.integration.url,
|
||||
credentials: {
|
||||
@@ -90,9 +91,10 @@ export class NextcloudIntegration extends Integration implements ICalendarIntegr
|
||||
authMethod: "Basic",
|
||||
defaultAccountType: "caldav",
|
||||
fetchOptions: {
|
||||
// We can use the undici options as the global fetch is used instead of the polyfilled.
|
||||
dispatcher: dispatcher ?? (await createCertificateAgentAsync()),
|
||||
} satisfies UndiciFetchRequestInit as RequestInit,
|
||||
// tsdav is using cross-fetch which uses node-fetch for nodejs environments.
|
||||
// There is an agent property that is the same type as the http(s) agents of nodejs
|
||||
agent: agent ?? (await createHttpsAgentAsync()),
|
||||
} satisfies NodeFetchRequestInit as RequestInit,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
"@homarr/core": "workspace:^0.1.0",
|
||||
"superjson": "2.2.2",
|
||||
"winston": "3.17.0",
|
||||
"zod": "^4.0.14"
|
||||
"zod": "^4.0.17"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@homarr/eslint-config": "workspace:^0.2.0",
|
||||
|
||||
@@ -33,13 +33,13 @@
|
||||
"@homarr/translation": "workspace:^0.1.0",
|
||||
"@homarr/ui": "workspace:^0.1.0",
|
||||
"@homarr/validation": "workspace:^0.1.0",
|
||||
"@mantine/core": "^8.2.4",
|
||||
"@mantine/core": "^8.2.5",
|
||||
"@tabler/icons-react": "^3.34.1",
|
||||
"dayjs": "^1.11.13",
|
||||
"next": "15.4.6",
|
||||
"next": "15.5.0",
|
||||
"react": "19.1.1",
|
||||
"react-dom": "19.1.1",
|
||||
"zod": "^4.0.14"
|
||||
"zod": "^4.0.17"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@homarr/eslint-config": "workspace:^0.2.0",
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
"dependencies": {
|
||||
"@homarr/translation": "workspace:^0.1.0",
|
||||
"@homarr/ui": "workspace:^0.1.0",
|
||||
"@mantine/core": "^8.2.4",
|
||||
"@mantine/hooks": "^8.2.4",
|
||||
"@mantine/core": "^8.2.5",
|
||||
"@mantine/hooks": "^8.2.5",
|
||||
"react": "19.1.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
"prettier": "@homarr/prettier-config",
|
||||
"dependencies": {
|
||||
"@homarr/ui": "workspace:^0.1.0",
|
||||
"@mantine/notifications": "^8.2.4",
|
||||
"@mantine/notifications": "^8.2.5",
|
||||
"@tabler/icons-react": "^3.34.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
||||
@@ -37,14 +37,14 @@
|
||||
"@homarr/translation": "workspace:^0.1.0",
|
||||
"@homarr/ui": "workspace:^0.1.0",
|
||||
"@homarr/validation": "workspace:^0.1.0",
|
||||
"@mantine/core": "^8.2.4",
|
||||
"@mantine/hooks": "^8.2.4",
|
||||
"@mantine/core": "^8.2.5",
|
||||
"@mantine/hooks": "^8.2.5",
|
||||
"adm-zip": "0.5.16",
|
||||
"next": "15.4.6",
|
||||
"next": "15.5.0",
|
||||
"react": "19.1.1",
|
||||
"react-dom": "19.1.1",
|
||||
"superjson": "2.2.2",
|
||||
"zod": "^4.0.14",
|
||||
"zod": "^4.0.17",
|
||||
"zod-form-data": "^3.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
||||
@@ -39,6 +39,7 @@ export const mapApp = (
|
||||
pingEnabled: app.network.enabledStatusChecker,
|
||||
showDescriptionTooltip: app.behaviour.tooltipDescription !== "",
|
||||
showTitle: app.appearance.appNameStatus === "normal",
|
||||
layout: app.appearance.positionAppName,
|
||||
} satisfies WidgetComponentProps<"app">["options"]),
|
||||
layouts: boardSizes.map((size) => {
|
||||
const shapeForSize = app.shape[size];
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
"prettier": "@homarr/prettier-config",
|
||||
"dependencies": {
|
||||
"@homarr/common": "workspace:^0.1.0",
|
||||
"zod": "^4.0.14"
|
||||
"zod": "^4.0.17"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@homarr/eslint-config": "workspace:^0.2.0",
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
"dayjs": "^1.11.13",
|
||||
"octokit": "^5.0.3",
|
||||
"superjson": "2.2.2",
|
||||
"undici": "7.13.0"
|
||||
"undici": "7.14.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@homarr/eslint-config": "workspace:^0.2.0",
|
||||
|
||||
@@ -26,8 +26,8 @@
|
||||
"@homarr/api": "workspace:^0.1.0",
|
||||
"@homarr/db": "workspace:^0.1.0",
|
||||
"@homarr/server-settings": "workspace:^0.1.0",
|
||||
"@mantine/dates": "^8.2.4",
|
||||
"next": "15.4.6",
|
||||
"@mantine/dates": "^8.2.5",
|
||||
"next": "15.5.0",
|
||||
"react": "19.1.1",
|
||||
"react-dom": "19.1.1"
|
||||
},
|
||||
|
||||
@@ -33,12 +33,12 @@
|
||||
"@homarr/settings": "workspace:^0.1.0",
|
||||
"@homarr/translation": "workspace:^0.1.0",
|
||||
"@homarr/ui": "workspace:^0.1.0",
|
||||
"@mantine/core": "^8.2.4",
|
||||
"@mantine/hooks": "^8.2.4",
|
||||
"@mantine/spotlight": "^8.2.4",
|
||||
"@mantine/core": "^8.2.5",
|
||||
"@mantine/hooks": "^8.2.5",
|
||||
"@mantine/spotlight": "^8.2.5",
|
||||
"@tabler/icons-react": "^3.34.1",
|
||||
"jotai": "^2.13.1",
|
||||
"next": "15.4.6",
|
||||
"next": "15.5.0",
|
||||
"react": "19.1.1",
|
||||
"react-dom": "19.1.1",
|
||||
"use-deep-compare-effect": "^1.8.1"
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
"dayjs": "^1.11.13",
|
||||
"deepmerge": "4.3.1",
|
||||
"mantine-react-table": "2.0.0-beta.9",
|
||||
"next": "15.4.6",
|
||||
"next": "15.5.0",
|
||||
"next-intl": "4.3.4",
|
||||
"react": "19.1.1",
|
||||
"react-dom": "19.1.1"
|
||||
|
||||
@@ -1003,6 +1003,7 @@
|
||||
}
|
||||
},
|
||||
"common": {
|
||||
"success": "",
|
||||
"beta": "",
|
||||
"error": "",
|
||||
"action": {
|
||||
@@ -1270,6 +1271,15 @@
|
||||
},
|
||||
"pingEnabled": {
|
||||
"label": ""
|
||||
},
|
||||
"layout": {
|
||||
"label": "",
|
||||
"option": {
|
||||
"row": "",
|
||||
"row-reverse": "",
|
||||
"column": "",
|
||||
"column-reverse": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
@@ -3260,14 +3270,70 @@
|
||||
"minutes": "",
|
||||
"hours": "",
|
||||
"midnight": "",
|
||||
"weeklyMonday": ""
|
||||
"weeklyMonday": "",
|
||||
"update": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"title": ""
|
||||
},
|
||||
"field": {
|
||||
"name": {
|
||||
"label": ""
|
||||
},
|
||||
"interval": {
|
||||
"label": ""
|
||||
},
|
||||
"lastExecution": {
|
||||
"label": ""
|
||||
},
|
||||
"actions": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"table": {
|
||||
"search": ""
|
||||
},
|
||||
"action": {
|
||||
"refresh": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"refresh": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"trigger": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"enable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"disable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"toggle": {
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -3776,6 +3842,9 @@
|
||||
},
|
||||
"tools": {
|
||||
"label": "",
|
||||
"tasks": {
|
||||
"label": ""
|
||||
},
|
||||
"docker": {
|
||||
"label": ""
|
||||
},
|
||||
|
||||
@@ -1003,6 +1003,7 @@
|
||||
}
|
||||
},
|
||||
"common": {
|
||||
"success": "",
|
||||
"beta": "测试版",
|
||||
"error": "错误",
|
||||
"action": {
|
||||
@@ -1270,6 +1271,15 @@
|
||||
},
|
||||
"pingEnabled": {
|
||||
"label": "启用状态检查"
|
||||
},
|
||||
"layout": {
|
||||
"label": "",
|
||||
"option": {
|
||||
"row": "",
|
||||
"row-reverse": "",
|
||||
"column": "",
|
||||
"column-reverse": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
@@ -3260,14 +3270,70 @@
|
||||
"minutes": "每 {interval, plural, =1 {分钟} other {# 分钟}}",
|
||||
"hours": "每 {interval, plural, =1 {小时} other {# 小时}}",
|
||||
"midnight": "每日午夜",
|
||||
"weeklyMonday": "每周一"
|
||||
"weeklyMonday": "每周一",
|
||||
"update": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"title": "{jobName} 任务设置"
|
||||
},
|
||||
"field": {
|
||||
"name": {
|
||||
"label": ""
|
||||
},
|
||||
"interval": {
|
||||
"label": "计划时间间隔"
|
||||
},
|
||||
"lastExecution": {
|
||||
"label": ""
|
||||
},
|
||||
"actions": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"table": {
|
||||
"search": ""
|
||||
},
|
||||
"action": {
|
||||
"refresh": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"refresh": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"trigger": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"enable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"disable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"toggle": {
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -3776,6 +3842,9 @@
|
||||
},
|
||||
"tools": {
|
||||
"label": "工具",
|
||||
"tasks": {
|
||||
"label": ""
|
||||
},
|
||||
"docker": {
|
||||
"label": "Docker"
|
||||
},
|
||||
|
||||
@@ -1003,6 +1003,7 @@
|
||||
}
|
||||
},
|
||||
"common": {
|
||||
"success": "",
|
||||
"beta": "Beta",
|
||||
"error": "Chyba",
|
||||
"action": {
|
||||
@@ -1270,6 +1271,15 @@
|
||||
},
|
||||
"pingEnabled": {
|
||||
"label": ""
|
||||
},
|
||||
"layout": {
|
||||
"label": "",
|
||||
"option": {
|
||||
"row": "",
|
||||
"row-reverse": "",
|
||||
"column": "",
|
||||
"column-reverse": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
@@ -3260,14 +3270,70 @@
|
||||
"minutes": "",
|
||||
"hours": "",
|
||||
"midnight": "",
|
||||
"weeklyMonday": ""
|
||||
"weeklyMonday": "",
|
||||
"update": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"title": ""
|
||||
},
|
||||
"field": {
|
||||
"name": {
|
||||
"label": ""
|
||||
},
|
||||
"interval": {
|
||||
"label": ""
|
||||
},
|
||||
"lastExecution": {
|
||||
"label": ""
|
||||
},
|
||||
"actions": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"table": {
|
||||
"search": ""
|
||||
},
|
||||
"action": {
|
||||
"refresh": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"refresh": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"trigger": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"enable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"disable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"toggle": {
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -3776,6 +3842,9 @@
|
||||
},
|
||||
"tools": {
|
||||
"label": "Nástroje",
|
||||
"tasks": {
|
||||
"label": ""
|
||||
},
|
||||
"docker": {
|
||||
"label": ""
|
||||
},
|
||||
|
||||
@@ -1003,6 +1003,7 @@
|
||||
}
|
||||
},
|
||||
"common": {
|
||||
"success": "",
|
||||
"beta": "Beta",
|
||||
"error": "Fejl",
|
||||
"action": {
|
||||
@@ -1270,6 +1271,15 @@
|
||||
},
|
||||
"pingEnabled": {
|
||||
"label": "Aktiver statustjek"
|
||||
},
|
||||
"layout": {
|
||||
"label": "",
|
||||
"option": {
|
||||
"row": "",
|
||||
"row-reverse": "",
|
||||
"column": "",
|
||||
"column-reverse": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
@@ -3260,14 +3270,70 @@
|
||||
"minutes": "Hvert {interval, plural, one {}=1 {minut} other {# minutter}}",
|
||||
"hours": "Hvert {interval, plural, one {}=1 {time} other {# timer}}",
|
||||
"midnight": "Hver dag ved midnat",
|
||||
"weeklyMonday": "Hver uge om mandagen"
|
||||
"weeklyMonday": "Hver uge om mandagen",
|
||||
"update": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"title": "Opgave indstillinger for {jobName}"
|
||||
},
|
||||
"field": {
|
||||
"name": {
|
||||
"label": ""
|
||||
},
|
||||
"interval": {
|
||||
"label": "Planlæg interval"
|
||||
},
|
||||
"lastExecution": {
|
||||
"label": ""
|
||||
},
|
||||
"actions": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"table": {
|
||||
"search": ""
|
||||
},
|
||||
"action": {
|
||||
"refresh": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"refresh": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"trigger": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"enable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"disable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"toggle": {
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -3776,6 +3842,9 @@
|
||||
},
|
||||
"tools": {
|
||||
"label": "Værktøjer",
|
||||
"tasks": {
|
||||
"label": ""
|
||||
},
|
||||
"docker": {
|
||||
"label": "Docker"
|
||||
},
|
||||
|
||||
@@ -1003,6 +1003,7 @@
|
||||
}
|
||||
},
|
||||
"common": {
|
||||
"success": "",
|
||||
"beta": "",
|
||||
"error": "Fehler",
|
||||
"action": {
|
||||
@@ -1270,6 +1271,15 @@
|
||||
},
|
||||
"pingEnabled": {
|
||||
"label": "Statusüberprüfung aktivieren"
|
||||
},
|
||||
"layout": {
|
||||
"label": "",
|
||||
"option": {
|
||||
"row": "",
|
||||
"row-reverse": "",
|
||||
"column": "",
|
||||
"column-reverse": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
@@ -3260,14 +3270,70 @@
|
||||
"minutes": "",
|
||||
"hours": "",
|
||||
"midnight": "",
|
||||
"weeklyMonday": ""
|
||||
"weeklyMonday": "",
|
||||
"update": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"title": ""
|
||||
},
|
||||
"field": {
|
||||
"name": {
|
||||
"label": ""
|
||||
},
|
||||
"interval": {
|
||||
"label": ""
|
||||
},
|
||||
"lastExecution": {
|
||||
"label": ""
|
||||
},
|
||||
"actions": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"table": {
|
||||
"search": ""
|
||||
},
|
||||
"action": {
|
||||
"refresh": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"refresh": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"trigger": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"enable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"disable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"toggle": {
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -3776,6 +3842,9 @@
|
||||
},
|
||||
"tools": {
|
||||
"label": "Werkzeuge",
|
||||
"tasks": {
|
||||
"label": ""
|
||||
},
|
||||
"docker": {
|
||||
"label": ""
|
||||
},
|
||||
|
||||
@@ -1003,6 +1003,7 @@
|
||||
}
|
||||
},
|
||||
"common": {
|
||||
"success": "",
|
||||
"beta": "Beta",
|
||||
"error": "Fehler",
|
||||
"action": {
|
||||
@@ -1270,6 +1271,15 @@
|
||||
},
|
||||
"pingEnabled": {
|
||||
"label": "Statusüberprüfung aktivieren"
|
||||
},
|
||||
"layout": {
|
||||
"label": "",
|
||||
"option": {
|
||||
"row": "",
|
||||
"row-reverse": "",
|
||||
"column": "",
|
||||
"column-reverse": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
@@ -3260,14 +3270,70 @@
|
||||
"minutes": "Jeweils {interval, plural, =1 {Minute} other {# Minuten}}",
|
||||
"hours": "Jeweils {interval, plural, =1 {Stunde} other {# Stunden}}",
|
||||
"midnight": "Jeden Tag um Mitternacht",
|
||||
"weeklyMonday": "Jede Woche am Montag"
|
||||
"weeklyMonday": "Jede Woche am Montag",
|
||||
"update": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"title": "Einstellungen der Aufgabe für {jobName}"
|
||||
},
|
||||
"field": {
|
||||
"name": {
|
||||
"label": ""
|
||||
},
|
||||
"interval": {
|
||||
"label": "Intervall des Zeitplans"
|
||||
},
|
||||
"lastExecution": {
|
||||
"label": ""
|
||||
},
|
||||
"actions": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"table": {
|
||||
"search": ""
|
||||
},
|
||||
"action": {
|
||||
"refresh": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"refresh": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"trigger": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"enable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"disable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"toggle": {
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -3776,6 +3842,9 @@
|
||||
},
|
||||
"tools": {
|
||||
"label": "Werkzeuge",
|
||||
"tasks": {
|
||||
"label": ""
|
||||
},
|
||||
"docker": {
|
||||
"label": "Docker"
|
||||
},
|
||||
|
||||
@@ -1003,6 +1003,7 @@
|
||||
}
|
||||
},
|
||||
"common": {
|
||||
"success": "",
|
||||
"beta": "",
|
||||
"error": "Σφάλμα",
|
||||
"action": {
|
||||
@@ -1270,6 +1271,15 @@
|
||||
},
|
||||
"pingEnabled": {
|
||||
"label": ""
|
||||
},
|
||||
"layout": {
|
||||
"label": "",
|
||||
"option": {
|
||||
"row": "",
|
||||
"row-reverse": "",
|
||||
"column": "",
|
||||
"column-reverse": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
@@ -3260,14 +3270,70 @@
|
||||
"minutes": "",
|
||||
"hours": "",
|
||||
"midnight": "",
|
||||
"weeklyMonday": ""
|
||||
"weeklyMonday": "",
|
||||
"update": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"title": ""
|
||||
},
|
||||
"field": {
|
||||
"name": {
|
||||
"label": ""
|
||||
},
|
||||
"interval": {
|
||||
"label": ""
|
||||
},
|
||||
"lastExecution": {
|
||||
"label": ""
|
||||
},
|
||||
"actions": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"table": {
|
||||
"search": ""
|
||||
},
|
||||
"action": {
|
||||
"refresh": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"refresh": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"trigger": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"enable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"disable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"toggle": {
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -3776,6 +3842,9 @@
|
||||
},
|
||||
"tools": {
|
||||
"label": "Εργαλεία",
|
||||
"tasks": {
|
||||
"label": ""
|
||||
},
|
||||
"docker": {
|
||||
"label": ""
|
||||
},
|
||||
|
||||
@@ -1003,6 +1003,7 @@
|
||||
}
|
||||
},
|
||||
"common": {
|
||||
"success": "",
|
||||
"beta": "Beta",
|
||||
"error": "Alpha",
|
||||
"action": {
|
||||
@@ -1270,6 +1271,15 @@
|
||||
},
|
||||
"pingEnabled": {
|
||||
"label": ""
|
||||
},
|
||||
"layout": {
|
||||
"label": "",
|
||||
"option": {
|
||||
"row": "",
|
||||
"row-reverse": "",
|
||||
"column": "",
|
||||
"column-reverse": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
@@ -3260,14 +3270,70 @@
|
||||
"minutes": "",
|
||||
"hours": "",
|
||||
"midnight": "",
|
||||
"weeklyMonday": ""
|
||||
"weeklyMonday": "",
|
||||
"update": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"title": ""
|
||||
},
|
||||
"field": {
|
||||
"name": {
|
||||
"label": ""
|
||||
},
|
||||
"interval": {
|
||||
"label": ""
|
||||
},
|
||||
"lastExecution": {
|
||||
"label": ""
|
||||
},
|
||||
"actions": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"table": {
|
||||
"search": ""
|
||||
},
|
||||
"action": {
|
||||
"refresh": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"refresh": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"trigger": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"enable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"disable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"toggle": {
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -3776,6 +3842,9 @@
|
||||
},
|
||||
"tools": {
|
||||
"label": "",
|
||||
"tasks": {
|
||||
"label": ""
|
||||
},
|
||||
"docker": {
|
||||
"label": ""
|
||||
},
|
||||
|
||||
@@ -1271,6 +1271,15 @@
|
||||
},
|
||||
"pingEnabled": {
|
||||
"label": "Enable status check"
|
||||
},
|
||||
"layout": {
|
||||
"label": "Layout",
|
||||
"option": {
|
||||
"row": "Horizontal",
|
||||
"row-reverse": "Horizontal (reversed)",
|
||||
"column": "Vertical",
|
||||
"column-reverse": "Vertical (reversed)"
|
||||
}
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1003,6 +1003,7 @@
|
||||
}
|
||||
},
|
||||
"common": {
|
||||
"success": "",
|
||||
"beta": "",
|
||||
"error": "",
|
||||
"action": {
|
||||
@@ -1270,6 +1271,15 @@
|
||||
},
|
||||
"pingEnabled": {
|
||||
"label": ""
|
||||
},
|
||||
"layout": {
|
||||
"label": "",
|
||||
"option": {
|
||||
"row": "",
|
||||
"row-reverse": "",
|
||||
"column": "",
|
||||
"column-reverse": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
@@ -3260,14 +3270,70 @@
|
||||
"minutes": "",
|
||||
"hours": "",
|
||||
"midnight": "",
|
||||
"weeklyMonday": ""
|
||||
"weeklyMonday": "",
|
||||
"update": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"title": ""
|
||||
},
|
||||
"field": {
|
||||
"name": {
|
||||
"label": ""
|
||||
},
|
||||
"interval": {
|
||||
"label": ""
|
||||
},
|
||||
"lastExecution": {
|
||||
"label": ""
|
||||
},
|
||||
"actions": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"table": {
|
||||
"search": ""
|
||||
},
|
||||
"action": {
|
||||
"refresh": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"refresh": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"trigger": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"enable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"disable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"toggle": {
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -3776,6 +3842,9 @@
|
||||
},
|
||||
"tools": {
|
||||
"label": "",
|
||||
"tasks": {
|
||||
"label": ""
|
||||
},
|
||||
"docker": {
|
||||
"label": ""
|
||||
},
|
||||
|
||||
@@ -1003,6 +1003,7 @@
|
||||
}
|
||||
},
|
||||
"common": {
|
||||
"success": "",
|
||||
"beta": "Bêta",
|
||||
"error": "Erreur",
|
||||
"action": {
|
||||
@@ -1270,6 +1271,15 @@
|
||||
},
|
||||
"pingEnabled": {
|
||||
"label": "Activer la vérification du statut"
|
||||
},
|
||||
"layout": {
|
||||
"label": "",
|
||||
"option": {
|
||||
"row": "",
|
||||
"row-reverse": "",
|
||||
"column": "",
|
||||
"column-reverse": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
@@ -3260,14 +3270,70 @@
|
||||
"minutes": "Chaque {interval, plural, one {}=1 {minute} other {# minutes}}",
|
||||
"hours": "Chaque {interval, plural, one {}=1 {heure} other {# heures}}",
|
||||
"midnight": "Chaque jour à minuit",
|
||||
"weeklyMonday": "Chaque semaine le lundi"
|
||||
"weeklyMonday": "Chaque semaine le lundi",
|
||||
"update": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"title": "Paramètres de la tâche pour {jobName}"
|
||||
},
|
||||
"field": {
|
||||
"name": {
|
||||
"label": ""
|
||||
},
|
||||
"interval": {
|
||||
"label": "Intervalle de planification"
|
||||
},
|
||||
"lastExecution": {
|
||||
"label": ""
|
||||
},
|
||||
"actions": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"table": {
|
||||
"search": ""
|
||||
},
|
||||
"action": {
|
||||
"refresh": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"refresh": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"trigger": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"enable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"disable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"toggle": {
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -3776,6 +3842,9 @@
|
||||
},
|
||||
"tools": {
|
||||
"label": "Outils",
|
||||
"tasks": {
|
||||
"label": ""
|
||||
},
|
||||
"docker": {
|
||||
"label": "Docker"
|
||||
},
|
||||
|
||||
@@ -1003,6 +1003,7 @@
|
||||
}
|
||||
},
|
||||
"common": {
|
||||
"success": "",
|
||||
"beta": "בטא",
|
||||
"error": "שגיאה",
|
||||
"action": {
|
||||
@@ -1270,6 +1271,15 @@
|
||||
},
|
||||
"pingEnabled": {
|
||||
"label": "אפשר בדיקת מצב"
|
||||
},
|
||||
"layout": {
|
||||
"label": "",
|
||||
"option": {
|
||||
"row": "",
|
||||
"row-reverse": "",
|
||||
"column": "",
|
||||
"column-reverse": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
@@ -3260,14 +3270,70 @@
|
||||
"minutes": "כל {interval, plural, =1 {minute} other {# minutes}}",
|
||||
"hours": "כל {interval, plural, =1 {hour} other {# hours}}",
|
||||
"midnight": "כל יום בחצות",
|
||||
"weeklyMonday": "כל שבוע ביום שני"
|
||||
"weeklyMonday": "כל שבוע ביום שני",
|
||||
"update": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"title": "הגדרות משימה עבור {jobName}"
|
||||
},
|
||||
"field": {
|
||||
"name": {
|
||||
"label": ""
|
||||
},
|
||||
"interval": {
|
||||
"label": "מרווח זמן לתזמון"
|
||||
},
|
||||
"lastExecution": {
|
||||
"label": ""
|
||||
},
|
||||
"actions": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"table": {
|
||||
"search": ""
|
||||
},
|
||||
"action": {
|
||||
"refresh": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"refresh": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"trigger": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"enable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"disable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"toggle": {
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -3776,6 +3842,9 @@
|
||||
},
|
||||
"tools": {
|
||||
"label": "כלים",
|
||||
"tasks": {
|
||||
"label": ""
|
||||
},
|
||||
"docker": {
|
||||
"label": "דוקר"
|
||||
},
|
||||
|
||||
@@ -1003,6 +1003,7 @@
|
||||
}
|
||||
},
|
||||
"common": {
|
||||
"success": "",
|
||||
"beta": "",
|
||||
"error": "Pogreška",
|
||||
"action": {
|
||||
@@ -1270,6 +1271,15 @@
|
||||
},
|
||||
"pingEnabled": {
|
||||
"label": ""
|
||||
},
|
||||
"layout": {
|
||||
"label": "",
|
||||
"option": {
|
||||
"row": "",
|
||||
"row-reverse": "",
|
||||
"column": "",
|
||||
"column-reverse": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
@@ -3260,14 +3270,70 @@
|
||||
"minutes": "",
|
||||
"hours": "",
|
||||
"midnight": "",
|
||||
"weeklyMonday": ""
|
||||
"weeklyMonday": "",
|
||||
"update": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"title": ""
|
||||
},
|
||||
"field": {
|
||||
"name": {
|
||||
"label": ""
|
||||
},
|
||||
"interval": {
|
||||
"label": ""
|
||||
},
|
||||
"lastExecution": {
|
||||
"label": ""
|
||||
},
|
||||
"actions": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"table": {
|
||||
"search": ""
|
||||
},
|
||||
"action": {
|
||||
"refresh": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"refresh": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"trigger": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"enable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"disable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"toggle": {
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -3776,6 +3842,9 @@
|
||||
},
|
||||
"tools": {
|
||||
"label": "Alati",
|
||||
"tasks": {
|
||||
"label": ""
|
||||
},
|
||||
"docker": {
|
||||
"label": ""
|
||||
},
|
||||
|
||||
@@ -1003,6 +1003,7 @@
|
||||
}
|
||||
},
|
||||
"common": {
|
||||
"success": "",
|
||||
"beta": "Béta",
|
||||
"error": "Hiba",
|
||||
"action": {
|
||||
@@ -1270,6 +1271,15 @@
|
||||
},
|
||||
"pingEnabled": {
|
||||
"label": "Egyszerű ping engedélyezése"
|
||||
},
|
||||
"layout": {
|
||||
"label": "",
|
||||
"option": {
|
||||
"row": "",
|
||||
"row-reverse": "",
|
||||
"column": "",
|
||||
"column-reverse": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
@@ -3260,14 +3270,70 @@
|
||||
"minutes": "",
|
||||
"hours": "",
|
||||
"midnight": "",
|
||||
"weeklyMonday": ""
|
||||
"weeklyMonday": "",
|
||||
"update": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"title": ""
|
||||
},
|
||||
"field": {
|
||||
"name": {
|
||||
"label": ""
|
||||
},
|
||||
"interval": {
|
||||
"label": ""
|
||||
},
|
||||
"lastExecution": {
|
||||
"label": ""
|
||||
},
|
||||
"actions": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"table": {
|
||||
"search": ""
|
||||
},
|
||||
"action": {
|
||||
"refresh": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"refresh": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"trigger": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"enable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"disable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"toggle": {
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -3776,6 +3842,9 @@
|
||||
},
|
||||
"tools": {
|
||||
"label": "Eszközök",
|
||||
"tasks": {
|
||||
"label": ""
|
||||
},
|
||||
"docker": {
|
||||
"label": ""
|
||||
},
|
||||
|
||||
@@ -1003,6 +1003,7 @@
|
||||
}
|
||||
},
|
||||
"common": {
|
||||
"success": "",
|
||||
"beta": "",
|
||||
"error": "Errore",
|
||||
"action": {
|
||||
@@ -1270,6 +1271,15 @@
|
||||
},
|
||||
"pingEnabled": {
|
||||
"label": ""
|
||||
},
|
||||
"layout": {
|
||||
"label": "",
|
||||
"option": {
|
||||
"row": "",
|
||||
"row-reverse": "",
|
||||
"column": "",
|
||||
"column-reverse": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
@@ -3260,14 +3270,70 @@
|
||||
"minutes": "",
|
||||
"hours": "",
|
||||
"midnight": "",
|
||||
"weeklyMonday": ""
|
||||
"weeklyMonday": "",
|
||||
"update": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"title": ""
|
||||
},
|
||||
"field": {
|
||||
"name": {
|
||||
"label": ""
|
||||
},
|
||||
"interval": {
|
||||
"label": ""
|
||||
},
|
||||
"lastExecution": {
|
||||
"label": ""
|
||||
},
|
||||
"actions": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"table": {
|
||||
"search": ""
|
||||
},
|
||||
"action": {
|
||||
"refresh": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"refresh": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"trigger": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"enable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"disable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"toggle": {
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -3776,6 +3842,9 @@
|
||||
},
|
||||
"tools": {
|
||||
"label": "Strumenti",
|
||||
"tasks": {
|
||||
"label": ""
|
||||
},
|
||||
"docker": {
|
||||
"label": ""
|
||||
},
|
||||
|
||||
@@ -946,12 +946,12 @@
|
||||
"newLabel": "新規トピック"
|
||||
},
|
||||
"opnsenseApiKey": {
|
||||
"label": "",
|
||||
"newLabel": ""
|
||||
"label": "API キー (キー)",
|
||||
"newLabel": "新しいAPIキー(キー)"
|
||||
},
|
||||
"opnsenseApiSecret": {
|
||||
"label": "",
|
||||
"newLabel": ""
|
||||
"label": "API キー (シークレット)",
|
||||
"newLabel": "新しい API キー (シークレット)"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -1003,6 +1003,7 @@
|
||||
}
|
||||
},
|
||||
"common": {
|
||||
"success": "成功",
|
||||
"beta": "Beta",
|
||||
"error": "エラー",
|
||||
"action": {
|
||||
@@ -1270,6 +1271,15 @@
|
||||
},
|
||||
"pingEnabled": {
|
||||
"label": "ステータスチェックを有効にする"
|
||||
},
|
||||
"layout": {
|
||||
"label": "レイアウト",
|
||||
"option": {
|
||||
"row": "水平方向",
|
||||
"row-reverse": "水平方向(反転)",
|
||||
"column": "垂直方向",
|
||||
"column-reverse": "垂直方向(反転)"
|
||||
}
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
@@ -2266,7 +2276,7 @@
|
||||
"label": "詳細を表示"
|
||||
},
|
||||
"showOnlyIcon": {
|
||||
"label": ""
|
||||
"label": "アイコンのみ表示"
|
||||
},
|
||||
"topReleases": {
|
||||
"label": "トップリリース",
|
||||
@@ -2285,8 +2295,8 @@
|
||||
"listAlreadyImportedImages": "すでにインポートされたイメージのリスト",
|
||||
"allImagesAlreadyImported": "すでにインポートされた全てのイメージ",
|
||||
"onlyAdminCanImport": "管理者のみが Docker からインポートできます",
|
||||
"selectAll": "",
|
||||
"deselectAll": ""
|
||||
"selectAll": "すべてを選択",
|
||||
"deselectAll": "選択をすべて解除"
|
||||
},
|
||||
"provider": {
|
||||
"label": "プロバイダー"
|
||||
@@ -2348,7 +2358,7 @@
|
||||
"starsCount": "スター数",
|
||||
"forksCount": "フォーク数",
|
||||
"issuesCount": "未解決の課題数",
|
||||
"markViewed": "",
|
||||
"markViewed": "閲覧済みにする",
|
||||
"openProjectPage": "プロジェクトページを開く",
|
||||
"openReleasePage": "リリースページを開く",
|
||||
"releaseDescription": "リリースの説明",
|
||||
@@ -2422,31 +2432,31 @@
|
||||
}
|
||||
},
|
||||
"firewall": {
|
||||
"name": "",
|
||||
"description": "",
|
||||
"name": "ファイアウォールの監視",
|
||||
"description": "ファイアウォールの概要を表示する",
|
||||
"tab": {
|
||||
"system": "",
|
||||
"interfaces": ""
|
||||
"system": "システム",
|
||||
"interfaces": "インターフェース"
|
||||
},
|
||||
"error": {
|
||||
"internalServerError": ""
|
||||
"internalServerError": "ファイアウォールからデータを取得できません"
|
||||
},
|
||||
"option": {
|
||||
"interfaces": ""
|
||||
"interfaces": "表示するネットワークインターフェイス"
|
||||
},
|
||||
"widget": {
|
||||
"fwname": "",
|
||||
"version": "",
|
||||
"versiontitle": "",
|
||||
"cputitle": "",
|
||||
"memorytitle": "",
|
||||
"cpu": "",
|
||||
"memory": "",
|
||||
"fwname": "名称",
|
||||
"version": "バージョン",
|
||||
"versiontitle": "バージョン",
|
||||
"cputitle": "CPU 使用率",
|
||||
"memorytitle": "メモリ使用率",
|
||||
"cpu": "CPU",
|
||||
"memory": "メモリ",
|
||||
"interfaces": {
|
||||
"name": "",
|
||||
"trans": "",
|
||||
"recv": "",
|
||||
"title": ""
|
||||
"name": "名称",
|
||||
"trans": "送信",
|
||||
"recv": "受信",
|
||||
"title": "ネットワークインターフェース"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -2457,15 +2467,15 @@
|
||||
"option": {}
|
||||
},
|
||||
"systemResources": {
|
||||
"name": "",
|
||||
"description": "",
|
||||
"name": "システムリソース",
|
||||
"description": "CPU、メモリ、ディスクなどのシステムハードウェアの使用",
|
||||
"option": {},
|
||||
"card": {
|
||||
"cpu": "",
|
||||
"memory": "",
|
||||
"network": "",
|
||||
"up": "",
|
||||
"down": ""
|
||||
"cpu": "CPU",
|
||||
"memory": "MEM",
|
||||
"network": "NET",
|
||||
"up": "UP",
|
||||
"down": "DOWN"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -3243,16 +3253,16 @@
|
||||
"label": "Docker コンテナ"
|
||||
},
|
||||
"firewallCpu": {
|
||||
"label": ""
|
||||
"label": "ファイアウォールの CPU"
|
||||
},
|
||||
"firewallMemory": {
|
||||
"label": ""
|
||||
"label": "ファイアウォールのメモリ"
|
||||
},
|
||||
"firewallVersion": {
|
||||
"label": ""
|
||||
"label": "ファイアウォールのバージョン"
|
||||
},
|
||||
"firewallInterfaces": {
|
||||
"label": ""
|
||||
"label": "ファイアウォールのインターフェース"
|
||||
}
|
||||
},
|
||||
"interval": {
|
||||
@@ -3260,14 +3270,70 @@
|
||||
"minutes": "{interval, plural, =1 {分} other {# 分}}周期",
|
||||
"hours": "{interval, plural, =1 {時間} other {# 時間}}周期",
|
||||
"midnight": "毎日深夜",
|
||||
"weeklyMonday": "毎週月曜日"
|
||||
"weeklyMonday": "毎週月曜日",
|
||||
"update": {
|
||||
"success": {
|
||||
"message": "間隔が正常に更新されました"
|
||||
},
|
||||
"error": {
|
||||
"message": "間隔の更新に失敗しました"
|
||||
}
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"title": "{jobName} の タスク設定"
|
||||
},
|
||||
"field": {
|
||||
"name": {
|
||||
"label": "名称"
|
||||
},
|
||||
"interval": {
|
||||
"label": "スケジュール間隔"
|
||||
},
|
||||
"lastExecution": {
|
||||
"label": "最終実行"
|
||||
},
|
||||
"actions": {
|
||||
"label": "アクション"
|
||||
}
|
||||
},
|
||||
"table": {
|
||||
"search": "{count} のタスクを検索..."
|
||||
},
|
||||
"action": {
|
||||
"refresh": {
|
||||
"label": "更新"
|
||||
}
|
||||
},
|
||||
"refresh": {
|
||||
"success": {
|
||||
"message": "タスクは正常に更新されました"
|
||||
},
|
||||
"error": {
|
||||
"message": "タスクの更新に失敗しました"
|
||||
}
|
||||
},
|
||||
"trigger": {
|
||||
"success": {
|
||||
"message": "タスクが正常にトリガーされました"
|
||||
},
|
||||
"error": {
|
||||
"message": "タスクのトリガーに失敗しました"
|
||||
}
|
||||
},
|
||||
"enable": {
|
||||
"success": {
|
||||
"message": "正常にタスクが有効になりました"
|
||||
}
|
||||
},
|
||||
"disable": {
|
||||
"success": {
|
||||
"message": "正常にタスクが無効になりました"
|
||||
}
|
||||
},
|
||||
"toggle": {
|
||||
"error": {
|
||||
"message": "タスクの状態の切り替えに失敗しました"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -3776,6 +3842,9 @@
|
||||
},
|
||||
"tools": {
|
||||
"label": "ツール",
|
||||
"tasks": {
|
||||
"label": "タスク"
|
||||
},
|
||||
"docker": {
|
||||
"label": "Docker"
|
||||
},
|
||||
|
||||
@@ -2,40 +2,40 @@
|
||||
"init": {
|
||||
"step": {
|
||||
"start": {
|
||||
"title": "",
|
||||
"subtitle": "",
|
||||
"description": "",
|
||||
"title": "Homarr에 오신 것을 환영합니다",
|
||||
"subtitle": "Homarr 인스턴스 설정을 시작합니다.",
|
||||
"description": "시작하기 전에, Homarr 인스턴스를 어떻게 설정할지 선택해주세요.",
|
||||
"action": {
|
||||
"scratch": "",
|
||||
"importOldmarr": ""
|
||||
"scratch": "처음부터 시작하기",
|
||||
"importOldmarr": "1.0 이전의 Homarr에서 불러오기"
|
||||
}
|
||||
},
|
||||
"import": {
|
||||
"title": "",
|
||||
"subtitle": "",
|
||||
"title": "데이터 불러오기",
|
||||
"subtitle": "기존 Homarr 인스턴스에서 데이터를 불러올 수 있습니다.",
|
||||
"dropzone": {
|
||||
"title": "",
|
||||
"title": "zip 파일 드롭 또는 클릭해서 찾아보기",
|
||||
"description": ""
|
||||
},
|
||||
"fileInfo": {
|
||||
"action": {
|
||||
"change": ""
|
||||
"change": "파일 변경"
|
||||
}
|
||||
},
|
||||
"importSettings": {
|
||||
"title": "",
|
||||
"title": "설정 불러오기",
|
||||
"description": ""
|
||||
},
|
||||
"boardSelection": {
|
||||
"title": "",
|
||||
"title": "{count}개의 보드 찾음",
|
||||
"description": "",
|
||||
"action": {
|
||||
"selectAll": "",
|
||||
"unselectAll": ""
|
||||
"selectAll": "모두 선택",
|
||||
"unselectAll": "모두 선택 해제"
|
||||
}
|
||||
},
|
||||
"summary": {
|
||||
"title": "",
|
||||
"title": "불러오기 요약",
|
||||
"description": "",
|
||||
"action": {
|
||||
"import": ""
|
||||
@@ -57,69 +57,69 @@
|
||||
},
|
||||
"notification": {
|
||||
"error": {
|
||||
"title": "",
|
||||
"message": ""
|
||||
"title": "유효하지 않은 토큰",
|
||||
"message": "입력한 토큰이 유효하지 않습니다"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"user": {
|
||||
"title": "",
|
||||
"subtitle": "",
|
||||
"title": "관리자",
|
||||
"subtitle": "관리자의 계정 정보를 설정해주세요.",
|
||||
"notification": {
|
||||
"success": {
|
||||
"title": "",
|
||||
"message": ""
|
||||
"title": "계정 생성됨",
|
||||
"message": "계정이 성공적으로 생성되었습니다"
|
||||
},
|
||||
"error": {
|
||||
"title": ""
|
||||
"title": "계정 생성 실패"
|
||||
}
|
||||
}
|
||||
},
|
||||
"group": {
|
||||
"title": "",
|
||||
"title": "외부 그룹",
|
||||
"subtitle": "",
|
||||
"form": {
|
||||
"name": {
|
||||
"label": "",
|
||||
"description": ""
|
||||
"label": "그룹 이름",
|
||||
"description": "이름은 외부 제공자의 관리자 그룹과 일치해야 합니다"
|
||||
}
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"title": "설정",
|
||||
"subtitle": ""
|
||||
"subtitle": "서버 설정하기."
|
||||
},
|
||||
"finish": {
|
||||
"title": "",
|
||||
"subtitle": "",
|
||||
"description": "",
|
||||
"title": "설정 완료",
|
||||
"subtitle": "모든 준비가 끝났습니다!",
|
||||
"description": "설정 과정을 성공적으로 완료했습니다. 이제 Homarr을 사용할 수 있습니다. 다음 작업을 선택해주세요:",
|
||||
"action": {
|
||||
"goToBoard": "",
|
||||
"createBoard": "",
|
||||
"inviteUser": "",
|
||||
"docs": ""
|
||||
"goToBoard": "{name} 보드로 가기",
|
||||
"createBoard": "첫 번째 보드 만들기",
|
||||
"inviteUser": "다른 사용자 초대하기",
|
||||
"docs": "문서 읽기"
|
||||
}
|
||||
}
|
||||
},
|
||||
"backToStart": ""
|
||||
"backToStart": "시작으로 돌아가기"
|
||||
},
|
||||
"user": {
|
||||
"title": "사용자",
|
||||
"name": "사용자",
|
||||
"page": {
|
||||
"login": {
|
||||
"title": "",
|
||||
"subtitle": ""
|
||||
"title": "내 계정에 로그인",
|
||||
"subtitle": "돌아오신 것을 환영합니다! 계정 정보를 입력해주세요"
|
||||
},
|
||||
"invite": {
|
||||
"title": "",
|
||||
"subtitle": "",
|
||||
"description": ""
|
||||
"title": "Homarr 참여하기",
|
||||
"subtitle": "Homarr에 오신 것을 환영합니다! 계정을 생성해주세요",
|
||||
"description": "{username}가 초대했습니다"
|
||||
},
|
||||
"init": {
|
||||
"title": "",
|
||||
"subtitle": ""
|
||||
"title": "새로운 Homarr 설치",
|
||||
"subtitle": "초기 관리자 계정을 생성해주세요"
|
||||
}
|
||||
},
|
||||
"field": {
|
||||
@@ -281,47 +281,47 @@
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
"message": "프로필을 업데이트할 수 없습니다"
|
||||
}
|
||||
}
|
||||
},
|
||||
"delete": {
|
||||
"label": "",
|
||||
"label": "사용자 영원히 삭제",
|
||||
"description": "",
|
||||
"confirm": ""
|
||||
},
|
||||
"select": {
|
||||
"label": "",
|
||||
"notFound": ""
|
||||
"label": "사용자 선택",
|
||||
"notFound": "사용자 찾을 수 없음"
|
||||
},
|
||||
"transfer": {
|
||||
"label": ""
|
||||
"label": "새로운 소유자 선택하기"
|
||||
}
|
||||
}
|
||||
},
|
||||
"group": {
|
||||
"title": "",
|
||||
"name": "",
|
||||
"search": "",
|
||||
"title": "그룹",
|
||||
"name": "그룹",
|
||||
"search": "그룹 찾기",
|
||||
"field": {
|
||||
"name": "이름",
|
||||
"members": "",
|
||||
"members": "멤버",
|
||||
"homeBoard": {
|
||||
"label": "",
|
||||
"label": "홈 보드",
|
||||
"description": ""
|
||||
},
|
||||
"mobileBoard": {
|
||||
"label": "",
|
||||
"label": "모바일 보드",
|
||||
"description": ""
|
||||
}
|
||||
},
|
||||
"permission": {
|
||||
"admin": {
|
||||
"title": "",
|
||||
"title": "관리자",
|
||||
"item": {
|
||||
"admin": {
|
||||
"label": "",
|
||||
"description": ""
|
||||
"label": "관리자",
|
||||
"description": "이 권한을 가진 멤버는 모든 기능과 설정에 대한 접근을 할 수 있습니다"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -329,11 +329,11 @@
|
||||
"title": "앱",
|
||||
"item": {
|
||||
"create": {
|
||||
"label": "",
|
||||
"description": ""
|
||||
"label": "앱 만들기",
|
||||
"description": "멤버가 앱을 만들 수 있도록 허락하기"
|
||||
},
|
||||
"use-all": {
|
||||
"label": "",
|
||||
"label": "모든 앱 사용",
|
||||
"description": ""
|
||||
},
|
||||
"modify-all": {
|
||||
@@ -1003,6 +1003,7 @@
|
||||
}
|
||||
},
|
||||
"common": {
|
||||
"success": "",
|
||||
"beta": "",
|
||||
"error": "오류",
|
||||
"action": {
|
||||
@@ -1270,6 +1271,15 @@
|
||||
},
|
||||
"pingEnabled": {
|
||||
"label": ""
|
||||
},
|
||||
"layout": {
|
||||
"label": "",
|
||||
"option": {
|
||||
"row": "",
|
||||
"row-reverse": "",
|
||||
"column": "",
|
||||
"column-reverse": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
@@ -3260,14 +3270,70 @@
|
||||
"minutes": "",
|
||||
"hours": "",
|
||||
"midnight": "",
|
||||
"weeklyMonday": ""
|
||||
"weeklyMonday": "",
|
||||
"update": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"title": ""
|
||||
},
|
||||
"field": {
|
||||
"name": {
|
||||
"label": ""
|
||||
},
|
||||
"interval": {
|
||||
"label": ""
|
||||
},
|
||||
"lastExecution": {
|
||||
"label": ""
|
||||
},
|
||||
"actions": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"table": {
|
||||
"search": ""
|
||||
},
|
||||
"action": {
|
||||
"refresh": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"refresh": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"trigger": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"enable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"disable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"toggle": {
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -3776,6 +3842,9 @@
|
||||
},
|
||||
"tools": {
|
||||
"label": "도구",
|
||||
"tasks": {
|
||||
"label": ""
|
||||
},
|
||||
"docker": {
|
||||
"label": ""
|
||||
},
|
||||
|
||||
@@ -1003,6 +1003,7 @@
|
||||
}
|
||||
},
|
||||
"common": {
|
||||
"success": "",
|
||||
"beta": "",
|
||||
"error": "",
|
||||
"action": {
|
||||
@@ -1270,6 +1271,15 @@
|
||||
},
|
||||
"pingEnabled": {
|
||||
"label": ""
|
||||
},
|
||||
"layout": {
|
||||
"label": "",
|
||||
"option": {
|
||||
"row": "",
|
||||
"row-reverse": "",
|
||||
"column": "",
|
||||
"column-reverse": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
@@ -3260,14 +3270,70 @@
|
||||
"minutes": "",
|
||||
"hours": "",
|
||||
"midnight": "",
|
||||
"weeklyMonday": ""
|
||||
"weeklyMonday": "",
|
||||
"update": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"title": ""
|
||||
},
|
||||
"field": {
|
||||
"name": {
|
||||
"label": ""
|
||||
},
|
||||
"interval": {
|
||||
"label": ""
|
||||
},
|
||||
"lastExecution": {
|
||||
"label": ""
|
||||
},
|
||||
"actions": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"table": {
|
||||
"search": ""
|
||||
},
|
||||
"action": {
|
||||
"refresh": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"refresh": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"trigger": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"enable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"disable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"toggle": {
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -3776,6 +3842,9 @@
|
||||
},
|
||||
"tools": {
|
||||
"label": "Įrankiai",
|
||||
"tasks": {
|
||||
"label": ""
|
||||
},
|
||||
"docker": {
|
||||
"label": ""
|
||||
},
|
||||
|
||||
@@ -1003,6 +1003,7 @@
|
||||
}
|
||||
},
|
||||
"common": {
|
||||
"success": "",
|
||||
"beta": "",
|
||||
"error": "Kļūda",
|
||||
"action": {
|
||||
@@ -1270,6 +1271,15 @@
|
||||
},
|
||||
"pingEnabled": {
|
||||
"label": ""
|
||||
},
|
||||
"layout": {
|
||||
"label": "",
|
||||
"option": {
|
||||
"row": "",
|
||||
"row-reverse": "",
|
||||
"column": "",
|
||||
"column-reverse": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
@@ -3260,14 +3270,70 @@
|
||||
"minutes": "",
|
||||
"hours": "",
|
||||
"midnight": "",
|
||||
"weeklyMonday": ""
|
||||
"weeklyMonday": "",
|
||||
"update": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"title": ""
|
||||
},
|
||||
"field": {
|
||||
"name": {
|
||||
"label": ""
|
||||
},
|
||||
"interval": {
|
||||
"label": ""
|
||||
},
|
||||
"lastExecution": {
|
||||
"label": ""
|
||||
},
|
||||
"actions": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"table": {
|
||||
"search": ""
|
||||
},
|
||||
"action": {
|
||||
"refresh": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"refresh": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"trigger": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"enable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"disable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"toggle": {
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -3776,6 +3842,9 @@
|
||||
},
|
||||
"tools": {
|
||||
"label": "Rīki",
|
||||
"tasks": {
|
||||
"label": ""
|
||||
},
|
||||
"docker": {
|
||||
"label": ""
|
||||
},
|
||||
|
||||
@@ -1003,6 +1003,7 @@
|
||||
}
|
||||
},
|
||||
"common": {
|
||||
"success": "",
|
||||
"beta": "Beta",
|
||||
"error": "Fout",
|
||||
"action": {
|
||||
@@ -1270,6 +1271,15 @@
|
||||
},
|
||||
"pingEnabled": {
|
||||
"label": "Statuscontrole inschakelen"
|
||||
},
|
||||
"layout": {
|
||||
"label": "",
|
||||
"option": {
|
||||
"row": "",
|
||||
"row-reverse": "",
|
||||
"column": "",
|
||||
"column-reverse": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
@@ -3260,14 +3270,70 @@
|
||||
"minutes": "",
|
||||
"hours": "",
|
||||
"midnight": "",
|
||||
"weeklyMonday": ""
|
||||
"weeklyMonday": "",
|
||||
"update": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"title": ""
|
||||
},
|
||||
"field": {
|
||||
"name": {
|
||||
"label": ""
|
||||
},
|
||||
"interval": {
|
||||
"label": ""
|
||||
},
|
||||
"lastExecution": {
|
||||
"label": ""
|
||||
},
|
||||
"actions": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"table": {
|
||||
"search": ""
|
||||
},
|
||||
"action": {
|
||||
"refresh": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"refresh": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"trigger": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"enable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"disable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"toggle": {
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -3776,6 +3842,9 @@
|
||||
},
|
||||
"tools": {
|
||||
"label": "Gereedschappen",
|
||||
"tasks": {
|
||||
"label": ""
|
||||
},
|
||||
"docker": {
|
||||
"label": "Docker"
|
||||
},
|
||||
|
||||
@@ -1003,6 +1003,7 @@
|
||||
}
|
||||
},
|
||||
"common": {
|
||||
"success": "",
|
||||
"beta": "Beta",
|
||||
"error": "Feil",
|
||||
"action": {
|
||||
@@ -1270,6 +1271,15 @@
|
||||
},
|
||||
"pingEnabled": {
|
||||
"label": "Aktiver enkel ping"
|
||||
},
|
||||
"layout": {
|
||||
"label": "",
|
||||
"option": {
|
||||
"row": "",
|
||||
"row-reverse": "",
|
||||
"column": "",
|
||||
"column-reverse": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
@@ -3260,14 +3270,70 @@
|
||||
"minutes": "",
|
||||
"hours": "",
|
||||
"midnight": "",
|
||||
"weeklyMonday": ""
|
||||
"weeklyMonday": "",
|
||||
"update": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"title": ""
|
||||
},
|
||||
"field": {
|
||||
"name": {
|
||||
"label": ""
|
||||
},
|
||||
"interval": {
|
||||
"label": ""
|
||||
},
|
||||
"lastExecution": {
|
||||
"label": ""
|
||||
},
|
||||
"actions": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"table": {
|
||||
"search": ""
|
||||
},
|
||||
"action": {
|
||||
"refresh": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"refresh": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"trigger": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"enable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"disable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"toggle": {
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -3776,6 +3842,9 @@
|
||||
},
|
||||
"tools": {
|
||||
"label": "Verktøy",
|
||||
"tasks": {
|
||||
"label": ""
|
||||
},
|
||||
"docker": {
|
||||
"label": "Docker"
|
||||
},
|
||||
|
||||
@@ -1003,6 +1003,7 @@
|
||||
}
|
||||
},
|
||||
"common": {
|
||||
"success": "",
|
||||
"beta": "Wersja beta",
|
||||
"error": "Błąd",
|
||||
"action": {
|
||||
@@ -1270,6 +1271,15 @@
|
||||
},
|
||||
"pingEnabled": {
|
||||
"label": "Włącz prosty ping"
|
||||
},
|
||||
"layout": {
|
||||
"label": "",
|
||||
"option": {
|
||||
"row": "",
|
||||
"row-reverse": "",
|
||||
"column": "",
|
||||
"column-reverse": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
@@ -3260,14 +3270,70 @@
|
||||
"minutes": "",
|
||||
"hours": "",
|
||||
"midnight": "",
|
||||
"weeklyMonday": ""
|
||||
"weeklyMonday": "",
|
||||
"update": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"title": ""
|
||||
},
|
||||
"field": {
|
||||
"name": {
|
||||
"label": ""
|
||||
},
|
||||
"interval": {
|
||||
"label": ""
|
||||
},
|
||||
"lastExecution": {
|
||||
"label": ""
|
||||
},
|
||||
"actions": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"table": {
|
||||
"search": ""
|
||||
},
|
||||
"action": {
|
||||
"refresh": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"refresh": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"trigger": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"enable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"disable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"toggle": {
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -3776,6 +3842,9 @@
|
||||
},
|
||||
"tools": {
|
||||
"label": "Narzędzia",
|
||||
"tasks": {
|
||||
"label": ""
|
||||
},
|
||||
"docker": {
|
||||
"label": ""
|
||||
},
|
||||
|
||||
@@ -1003,6 +1003,7 @@
|
||||
}
|
||||
},
|
||||
"common": {
|
||||
"success": "",
|
||||
"beta": "",
|
||||
"error": "Erro",
|
||||
"action": {
|
||||
@@ -1270,6 +1271,15 @@
|
||||
},
|
||||
"pingEnabled": {
|
||||
"label": ""
|
||||
},
|
||||
"layout": {
|
||||
"label": "",
|
||||
"option": {
|
||||
"row": "",
|
||||
"row-reverse": "",
|
||||
"column": "",
|
||||
"column-reverse": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
@@ -3260,14 +3270,70 @@
|
||||
"minutes": "",
|
||||
"hours": "",
|
||||
"midnight": "",
|
||||
"weeklyMonday": ""
|
||||
"weeklyMonday": "",
|
||||
"update": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"title": ""
|
||||
},
|
||||
"field": {
|
||||
"name": {
|
||||
"label": ""
|
||||
},
|
||||
"interval": {
|
||||
"label": ""
|
||||
},
|
||||
"lastExecution": {
|
||||
"label": ""
|
||||
},
|
||||
"actions": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"table": {
|
||||
"search": ""
|
||||
},
|
||||
"action": {
|
||||
"refresh": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"refresh": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"trigger": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"enable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"disable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"toggle": {
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -3776,6 +3842,9 @@
|
||||
},
|
||||
"tools": {
|
||||
"label": "Ferramentas",
|
||||
"tasks": {
|
||||
"label": ""
|
||||
},
|
||||
"docker": {
|
||||
"label": ""
|
||||
},
|
||||
|
||||
@@ -1003,6 +1003,7 @@
|
||||
}
|
||||
},
|
||||
"common": {
|
||||
"success": "",
|
||||
"beta": "",
|
||||
"error": "Eroare",
|
||||
"action": {
|
||||
@@ -1270,6 +1271,15 @@
|
||||
},
|
||||
"pingEnabled": {
|
||||
"label": ""
|
||||
},
|
||||
"layout": {
|
||||
"label": "",
|
||||
"option": {
|
||||
"row": "",
|
||||
"row-reverse": "",
|
||||
"column": "",
|
||||
"column-reverse": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
@@ -3260,14 +3270,70 @@
|
||||
"minutes": "",
|
||||
"hours": "",
|
||||
"midnight": "",
|
||||
"weeklyMonday": ""
|
||||
"weeklyMonday": "",
|
||||
"update": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"title": ""
|
||||
},
|
||||
"field": {
|
||||
"name": {
|
||||
"label": ""
|
||||
},
|
||||
"interval": {
|
||||
"label": ""
|
||||
},
|
||||
"lastExecution": {
|
||||
"label": ""
|
||||
},
|
||||
"actions": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"table": {
|
||||
"search": ""
|
||||
},
|
||||
"action": {
|
||||
"refresh": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"refresh": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"trigger": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"enable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"disable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"toggle": {
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -3776,6 +3842,9 @@
|
||||
},
|
||||
"tools": {
|
||||
"label": "Unelte",
|
||||
"tasks": {
|
||||
"label": ""
|
||||
},
|
||||
"docker": {
|
||||
"label": ""
|
||||
},
|
||||
|
||||
@@ -1003,6 +1003,7 @@
|
||||
}
|
||||
},
|
||||
"common": {
|
||||
"success": "",
|
||||
"beta": "Бета",
|
||||
"error": "Ошибка",
|
||||
"action": {
|
||||
@@ -1270,6 +1271,15 @@
|
||||
},
|
||||
"pingEnabled": {
|
||||
"label": "Включить простую проверку доступности"
|
||||
},
|
||||
"layout": {
|
||||
"label": "",
|
||||
"option": {
|
||||
"row": "",
|
||||
"row-reverse": "",
|
||||
"column": "",
|
||||
"column-reverse": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
@@ -3260,14 +3270,70 @@
|
||||
"minutes": "",
|
||||
"hours": "",
|
||||
"midnight": "",
|
||||
"weeklyMonday": ""
|
||||
"weeklyMonday": "",
|
||||
"update": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"title": ""
|
||||
},
|
||||
"field": {
|
||||
"name": {
|
||||
"label": ""
|
||||
},
|
||||
"interval": {
|
||||
"label": ""
|
||||
},
|
||||
"lastExecution": {
|
||||
"label": ""
|
||||
},
|
||||
"actions": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"table": {
|
||||
"search": ""
|
||||
},
|
||||
"action": {
|
||||
"refresh": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"refresh": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"trigger": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"enable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"disable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"toggle": {
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -3776,6 +3842,9 @@
|
||||
},
|
||||
"tools": {
|
||||
"label": "Инструменты",
|
||||
"tasks": {
|
||||
"label": ""
|
||||
},
|
||||
"docker": {
|
||||
"label": "Docker"
|
||||
},
|
||||
|
||||
@@ -1003,6 +1003,7 @@
|
||||
}
|
||||
},
|
||||
"common": {
|
||||
"success": "",
|
||||
"beta": "Beta",
|
||||
"error": "Chyba",
|
||||
"action": {
|
||||
@@ -1270,6 +1271,15 @@
|
||||
},
|
||||
"pingEnabled": {
|
||||
"label": "Povoliť jednoduchý ping"
|
||||
},
|
||||
"layout": {
|
||||
"label": "",
|
||||
"option": {
|
||||
"row": "",
|
||||
"row-reverse": "",
|
||||
"column": "",
|
||||
"column-reverse": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
@@ -3260,14 +3270,70 @@
|
||||
"minutes": "",
|
||||
"hours": "",
|
||||
"midnight": "",
|
||||
"weeklyMonday": ""
|
||||
"weeklyMonday": "",
|
||||
"update": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"title": ""
|
||||
},
|
||||
"field": {
|
||||
"name": {
|
||||
"label": ""
|
||||
},
|
||||
"interval": {
|
||||
"label": ""
|
||||
},
|
||||
"lastExecution": {
|
||||
"label": ""
|
||||
},
|
||||
"actions": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"table": {
|
||||
"search": ""
|
||||
},
|
||||
"action": {
|
||||
"refresh": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"refresh": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"trigger": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"enable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"disable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"toggle": {
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -3776,6 +3842,9 @@
|
||||
},
|
||||
"tools": {
|
||||
"label": "Nástroje",
|
||||
"tasks": {
|
||||
"label": ""
|
||||
},
|
||||
"docker": {
|
||||
"label": "Docker"
|
||||
},
|
||||
|
||||
@@ -1003,6 +1003,7 @@
|
||||
}
|
||||
},
|
||||
"common": {
|
||||
"success": "",
|
||||
"beta": "",
|
||||
"error": "Napaka",
|
||||
"action": {
|
||||
@@ -1270,6 +1271,15 @@
|
||||
},
|
||||
"pingEnabled": {
|
||||
"label": ""
|
||||
},
|
||||
"layout": {
|
||||
"label": "",
|
||||
"option": {
|
||||
"row": "",
|
||||
"row-reverse": "",
|
||||
"column": "",
|
||||
"column-reverse": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
@@ -3260,14 +3270,70 @@
|
||||
"minutes": "",
|
||||
"hours": "",
|
||||
"midnight": "",
|
||||
"weeklyMonday": ""
|
||||
"weeklyMonday": "",
|
||||
"update": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"title": ""
|
||||
},
|
||||
"field": {
|
||||
"name": {
|
||||
"label": ""
|
||||
},
|
||||
"interval": {
|
||||
"label": ""
|
||||
},
|
||||
"lastExecution": {
|
||||
"label": ""
|
||||
},
|
||||
"actions": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"table": {
|
||||
"search": ""
|
||||
},
|
||||
"action": {
|
||||
"refresh": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"refresh": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"trigger": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"enable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"disable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"toggle": {
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -3776,6 +3842,9 @@
|
||||
},
|
||||
"tools": {
|
||||
"label": "Orodja",
|
||||
"tasks": {
|
||||
"label": ""
|
||||
},
|
||||
"docker": {
|
||||
"label": ""
|
||||
},
|
||||
|
||||
@@ -1003,6 +1003,7 @@
|
||||
}
|
||||
},
|
||||
"common": {
|
||||
"success": "",
|
||||
"beta": "",
|
||||
"error": "Fel",
|
||||
"action": {
|
||||
@@ -1270,6 +1271,15 @@
|
||||
},
|
||||
"pingEnabled": {
|
||||
"label": ""
|
||||
},
|
||||
"layout": {
|
||||
"label": "",
|
||||
"option": {
|
||||
"row": "",
|
||||
"row-reverse": "",
|
||||
"column": "",
|
||||
"column-reverse": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
@@ -3260,14 +3270,70 @@
|
||||
"minutes": "",
|
||||
"hours": "",
|
||||
"midnight": "Varje dag vid midnatt",
|
||||
"weeklyMonday": "Varje vecka på måndag"
|
||||
"weeklyMonday": "Varje vecka på måndag",
|
||||
"update": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"title": ""
|
||||
},
|
||||
"field": {
|
||||
"name": {
|
||||
"label": ""
|
||||
},
|
||||
"interval": {
|
||||
"label": ""
|
||||
},
|
||||
"lastExecution": {
|
||||
"label": ""
|
||||
},
|
||||
"actions": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"table": {
|
||||
"search": ""
|
||||
},
|
||||
"action": {
|
||||
"refresh": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"refresh": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"trigger": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"enable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"disable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"toggle": {
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -3776,6 +3842,9 @@
|
||||
},
|
||||
"tools": {
|
||||
"label": "Verktyg",
|
||||
"tasks": {
|
||||
"label": ""
|
||||
},
|
||||
"docker": {
|
||||
"label": ""
|
||||
},
|
||||
|
||||
@@ -1003,6 +1003,7 @@
|
||||
}
|
||||
},
|
||||
"common": {
|
||||
"success": "Başarılı",
|
||||
"beta": "Test",
|
||||
"error": "Hata",
|
||||
"action": {
|
||||
@@ -1270,6 +1271,15 @@
|
||||
},
|
||||
"pingEnabled": {
|
||||
"label": "Durum denetimini etkinleştir"
|
||||
},
|
||||
"layout": {
|
||||
"label": "Düzen",
|
||||
"option": {
|
||||
"row": "Yatay",
|
||||
"row-reverse": "Yatay (ters)",
|
||||
"column": "Dikey",
|
||||
"column-reverse": "Dikey (ters)"
|
||||
}
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
@@ -3260,14 +3270,70 @@
|
||||
"minutes": "Her {interval, plural, =1 {dakika} other {# dakikada bir}}",
|
||||
"hours": "Her {interval, plural, =1 {saat} other {# saatte bir}}",
|
||||
"midnight": "Her gün gece yarısı",
|
||||
"weeklyMonday": "Her hafta pazartesi günü"
|
||||
"weeklyMonday": "Her hafta pazartesi günü",
|
||||
"update": {
|
||||
"success": {
|
||||
"message": "Aralık başarıyla güncellendi"
|
||||
},
|
||||
"error": {
|
||||
"message": "Aralık güncellenemedi"
|
||||
}
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"title": "{jobName} için görev ayarları"
|
||||
},
|
||||
"field": {
|
||||
"name": {
|
||||
"label": "İsim"
|
||||
},
|
||||
"interval": {
|
||||
"label": "Zamanlama aralığı"
|
||||
},
|
||||
"lastExecution": {
|
||||
"label": "Son Çalıştırma"
|
||||
},
|
||||
"actions": {
|
||||
"label": "Eylemler"
|
||||
}
|
||||
},
|
||||
"table": {
|
||||
"search": "{count} görevi ara..."
|
||||
},
|
||||
"action": {
|
||||
"refresh": {
|
||||
"label": "Yenile"
|
||||
}
|
||||
},
|
||||
"refresh": {
|
||||
"success": {
|
||||
"message": "Görevler başarıyla yenilendi"
|
||||
},
|
||||
"error": {
|
||||
"message": "Görevler yenilenemedi"
|
||||
}
|
||||
},
|
||||
"trigger": {
|
||||
"success": {
|
||||
"message": "Görev başarıyla tetiklendi"
|
||||
},
|
||||
"error": {
|
||||
"message": "Görev tetiklenemedi"
|
||||
}
|
||||
},
|
||||
"enable": {
|
||||
"success": {
|
||||
"message": "Görev başarıyla etkinleştirildi"
|
||||
}
|
||||
},
|
||||
"disable": {
|
||||
"success": {
|
||||
"message": "Görev başarıyla devre dışı bırakıldı"
|
||||
}
|
||||
},
|
||||
"toggle": {
|
||||
"error": {
|
||||
"message": "Görev durumu değiştirilemedi"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -3776,6 +3842,9 @@
|
||||
},
|
||||
"tools": {
|
||||
"label": "Araçlar",
|
||||
"tasks": {
|
||||
"label": "Görevler"
|
||||
},
|
||||
"docker": {
|
||||
"label": "Docker"
|
||||
},
|
||||
|
||||
@@ -1003,6 +1003,7 @@
|
||||
}
|
||||
},
|
||||
"common": {
|
||||
"success": "",
|
||||
"beta": "Бета-версія",
|
||||
"error": "Помилка",
|
||||
"action": {
|
||||
@@ -1270,6 +1271,15 @@
|
||||
},
|
||||
"pingEnabled": {
|
||||
"label": ""
|
||||
},
|
||||
"layout": {
|
||||
"label": "",
|
||||
"option": {
|
||||
"row": "",
|
||||
"row-reverse": "",
|
||||
"column": "",
|
||||
"column-reverse": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
@@ -3260,14 +3270,70 @@
|
||||
"minutes": "",
|
||||
"hours": "",
|
||||
"midnight": "",
|
||||
"weeklyMonday": ""
|
||||
"weeklyMonday": "",
|
||||
"update": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"title": ""
|
||||
},
|
||||
"field": {
|
||||
"name": {
|
||||
"label": ""
|
||||
},
|
||||
"interval": {
|
||||
"label": ""
|
||||
},
|
||||
"lastExecution": {
|
||||
"label": ""
|
||||
},
|
||||
"actions": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"table": {
|
||||
"search": ""
|
||||
},
|
||||
"action": {
|
||||
"refresh": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"refresh": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"trigger": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"enable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"disable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"toggle": {
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -3776,6 +3842,9 @@
|
||||
},
|
||||
"tools": {
|
||||
"label": "Інструменти",
|
||||
"tasks": {
|
||||
"label": ""
|
||||
},
|
||||
"docker": {
|
||||
"label": "Докер"
|
||||
},
|
||||
|
||||
@@ -1003,6 +1003,7 @@
|
||||
}
|
||||
},
|
||||
"common": {
|
||||
"success": "",
|
||||
"beta": "",
|
||||
"error": "Lỗi",
|
||||
"action": {
|
||||
@@ -1270,6 +1271,15 @@
|
||||
},
|
||||
"pingEnabled": {
|
||||
"label": ""
|
||||
},
|
||||
"layout": {
|
||||
"label": "",
|
||||
"option": {
|
||||
"row": "",
|
||||
"row-reverse": "",
|
||||
"column": "",
|
||||
"column-reverse": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
@@ -3260,14 +3270,70 @@
|
||||
"minutes": "",
|
||||
"hours": "",
|
||||
"midnight": "",
|
||||
"weeklyMonday": ""
|
||||
"weeklyMonday": "",
|
||||
"update": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"title": ""
|
||||
},
|
||||
"field": {
|
||||
"name": {
|
||||
"label": ""
|
||||
},
|
||||
"interval": {
|
||||
"label": ""
|
||||
},
|
||||
"lastExecution": {
|
||||
"label": ""
|
||||
},
|
||||
"actions": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"table": {
|
||||
"search": ""
|
||||
},
|
||||
"action": {
|
||||
"refresh": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"refresh": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"trigger": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"enable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"disable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"toggle": {
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -3776,6 +3842,9 @@
|
||||
},
|
||||
"tools": {
|
||||
"label": "Công cụ",
|
||||
"tasks": {
|
||||
"label": ""
|
||||
},
|
||||
"docker": {
|
||||
"label": ""
|
||||
},
|
||||
|
||||
@@ -1003,6 +1003,7 @@
|
||||
}
|
||||
},
|
||||
"common": {
|
||||
"success": "",
|
||||
"beta": "測試版",
|
||||
"error": "錯誤",
|
||||
"action": {
|
||||
@@ -1270,6 +1271,15 @@
|
||||
},
|
||||
"pingEnabled": {
|
||||
"label": "啟用簡單的 Ping"
|
||||
},
|
||||
"layout": {
|
||||
"label": "",
|
||||
"option": {
|
||||
"row": "",
|
||||
"row-reverse": "",
|
||||
"column": "",
|
||||
"column-reverse": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
@@ -3260,14 +3270,70 @@
|
||||
"minutes": "",
|
||||
"hours": "",
|
||||
"midnight": "",
|
||||
"weeklyMonday": ""
|
||||
"weeklyMonday": "",
|
||||
"update": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"title": ""
|
||||
},
|
||||
"field": {
|
||||
"name": {
|
||||
"label": ""
|
||||
},
|
||||
"interval": {
|
||||
"label": ""
|
||||
},
|
||||
"lastExecution": {
|
||||
"label": ""
|
||||
},
|
||||
"actions": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"table": {
|
||||
"search": ""
|
||||
},
|
||||
"action": {
|
||||
"refresh": {
|
||||
"label": ""
|
||||
}
|
||||
},
|
||||
"refresh": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"trigger": {
|
||||
"success": {
|
||||
"message": ""
|
||||
},
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"enable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"disable": {
|
||||
"success": {
|
||||
"message": ""
|
||||
}
|
||||
},
|
||||
"toggle": {
|
||||
"error": {
|
||||
"message": ""
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -3776,6 +3842,9 @@
|
||||
},
|
||||
"tools": {
|
||||
"label": "工具",
|
||||
"tasks": {
|
||||
"label": ""
|
||||
},
|
||||
"docker": {
|
||||
"label": "Docker"
|
||||
},
|
||||
|
||||
@@ -30,12 +30,12 @@
|
||||
"@homarr/log": "workspace:^0.1.0",
|
||||
"@homarr/translation": "workspace:^0.1.0",
|
||||
"@homarr/validation": "workspace:^0.1.0",
|
||||
"@mantine/core": "^8.2.4",
|
||||
"@mantine/dates": "^8.2.4",
|
||||
"@mantine/hooks": "^8.2.4",
|
||||
"@mantine/core": "^8.2.5",
|
||||
"@mantine/dates": "^8.2.5",
|
||||
"@mantine/hooks": "^8.2.5",
|
||||
"@tabler/icons-react": "^3.34.1",
|
||||
"mantine-react-table": "2.0.0-beta.9",
|
||||
"next": "15.4.6",
|
||||
"next": "15.5.0",
|
||||
"react": "19.1.1",
|
||||
"react-dom": "19.1.1",
|
||||
"svgson": "^5.3.1"
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
"dependencies": {
|
||||
"@homarr/definitions": "workspace:^0.1.0",
|
||||
"@homarr/translation": "workspace:^0.1.0",
|
||||
"zod": "^4.0.14",
|
||||
"zod": "^4.0.17",
|
||||
"zod-form-data": "^3.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
||||
@@ -48,9 +48,9 @@
|
||||
"@homarr/translation": "workspace:^0.1.0",
|
||||
"@homarr/ui": "workspace:^0.1.0",
|
||||
"@homarr/validation": "workspace:^0.1.0",
|
||||
"@mantine/charts": "^8.2.4",
|
||||
"@mantine/core": "^8.2.4",
|
||||
"@mantine/hooks": "^8.2.4",
|
||||
"@mantine/charts": "^8.2.5",
|
||||
"@mantine/core": "^8.2.5",
|
||||
"@mantine/hooks": "^8.2.5",
|
||||
"@tabler/icons-react": "^3.34.1",
|
||||
"@tiptap/extension-color": "2.26.1",
|
||||
"@tiptap/extension-highlight": "2.26.1",
|
||||
@@ -70,15 +70,15 @@
|
||||
"@tiptap/starter-kit": "^2.26.1",
|
||||
"clsx": "^2.1.1",
|
||||
"dayjs": "^1.11.13",
|
||||
"mantine-form-zod-resolver": "^1.2.1",
|
||||
"mantine-form-zod-resolver": "^1.3.0",
|
||||
"mantine-react-table": "2.0.0-beta.9",
|
||||
"next": "15.4.6",
|
||||
"next": "15.5.0",
|
||||
"react": "19.1.1",
|
||||
"react-dom": "19.1.1",
|
||||
"react-markdown": "^10.1.0",
|
||||
"recharts": "^2.15.4",
|
||||
"video.js": "^8.23.4",
|
||||
"zod": "^4.0.14"
|
||||
"zod": "^4.0.17"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@homarr/eslint-config": "workspace:^0.2.0",
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
"use client";
|
||||
|
||||
import { Select } from "@mantine/core";
|
||||
import { Group, Select } from "@mantine/core";
|
||||
import { IconCheck } from "@tabler/icons-react";
|
||||
|
||||
import { translateIfNecessary } from "@homarr/translation";
|
||||
import type { stringOrTranslation } from "@homarr/translation";
|
||||
import { useI18n } from "@homarr/translation/client";
|
||||
import type { TablerIcon } from "@homarr/ui";
|
||||
|
||||
import type { CommonWidgetInputProps } from "./common";
|
||||
import { useWidgetInputTranslation } from "./common";
|
||||
@@ -12,6 +14,7 @@ import { useFormContext } from "./form";
|
||||
|
||||
export type SelectOption =
|
||||
| {
|
||||
icon?: TablerIcon;
|
||||
value: string;
|
||||
label: stringOrTranslation;
|
||||
}
|
||||
@@ -23,10 +26,19 @@ export type inferSelectOptionValue<TOption extends SelectOption> = TOption exten
|
||||
? TValue
|
||||
: TOption;
|
||||
|
||||
const getIconFor = (options: SelectOption[], value: string) => {
|
||||
const current = options.find((option) => (typeof option === "string" ? option : option.value) === value);
|
||||
if (!current) return null;
|
||||
if (typeof current === "string") return null;
|
||||
return current.icon;
|
||||
};
|
||||
|
||||
export const WidgetSelectInput = ({ property, kind, options }: CommonWidgetInputProps<"select">) => {
|
||||
const t = useI18n();
|
||||
const tWidget = useWidgetInputTranslation(kind, property);
|
||||
const form = useFormContext();
|
||||
const inputProps = form.getInputProps(`options.${property}`);
|
||||
const CurrentIcon = getIconFor(options.options, inputProps.value as string);
|
||||
|
||||
return (
|
||||
<Select
|
||||
@@ -39,9 +51,29 @@ export const WidgetSelectInput = ({ property, kind, options }: CommonWidgetInput
|
||||
label: translateIfNecessary(t, option.label) ?? option.value,
|
||||
},
|
||||
)}
|
||||
leftSection={CurrentIcon && <CurrentIcon size={16} stroke={1.5} />}
|
||||
renderOption={({ option, checked }) => {
|
||||
const Icon = getIconFor(options.options, option.value);
|
||||
|
||||
return (
|
||||
<Group flex="1" gap="xs">
|
||||
{Icon && <Icon color="currentColor" opacity={0.6} size={18} stroke={1.5} />}
|
||||
{option.label}
|
||||
{checked && (
|
||||
<IconCheck
|
||||
style={{ marginInlineStart: "auto" }}
|
||||
color="currentColor"
|
||||
opacity={0.6}
|
||||
size={18}
|
||||
stroke={1.5}
|
||||
/>
|
||||
)}
|
||||
</Group>
|
||||
);
|
||||
}}
|
||||
description={options.withDescription ? tWidget("description") : undefined}
|
||||
searchable={options.searchable}
|
||||
{...form.getInputProps(`options.${property}`)}
|
||||
{...inputProps}
|
||||
/>
|
||||
);
|
||||
};
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
"use client";
|
||||
|
||||
import type { PropsWithChildren } from "react";
|
||||
import { Suspense } from "react";
|
||||
import { Fragment, Suspense } from "react";
|
||||
import { Flex, Text, Tooltip, UnstyledButton } from "@mantine/core";
|
||||
import { IconLoader } from "@tabler/icons-react";
|
||||
import combineClasses from "clsx";
|
||||
@@ -56,7 +56,8 @@ export default function AppWidget({ options, isEditMode, height, width }: Widget
|
||||
[app, options.openInNewTab],
|
||||
);
|
||||
|
||||
const tinyText = height < 100 || width < 100;
|
||||
const isTiny = height < 100 || width < 100;
|
||||
const isColumnLayout = options.layout.startsWith("column");
|
||||
|
||||
return (
|
||||
<AppLink
|
||||
@@ -65,22 +66,34 @@ export default function AppWidget({ options, isEditMode, height, width }: Widget
|
||||
enabled={Boolean(app.href) && !isEditMode}
|
||||
>
|
||||
<Tooltip.Floating
|
||||
label={app.description}
|
||||
label={app.description?.split("\n").map((line, index) => (
|
||||
<Fragment key={index}>
|
||||
{line}
|
||||
<br />
|
||||
</Fragment>
|
||||
))}
|
||||
position="right-start"
|
||||
multiline
|
||||
disabled={!options.showDescriptionTooltip || !app.description}
|
||||
styles={{ tooltip: { maxWidth: 300 } }}
|
||||
>
|
||||
<Flex
|
||||
p={isTiny ? 4 : "sm"}
|
||||
className={combineClasses("app-flex-wrapper", app.name, app.id, app.href && classes.appWithUrl)}
|
||||
h="100%"
|
||||
w="100%"
|
||||
direction="column"
|
||||
direction={options.layout}
|
||||
justify="center"
|
||||
align="center"
|
||||
gap={isColumnLayout ? 0 : "sm"}
|
||||
>
|
||||
{options.showTitle && (
|
||||
<Text className="app-title" fw={700} size={tinyText ? "8px" : "sm"} ta="center">
|
||||
<Text
|
||||
className="app-title"
|
||||
fw={700}
|
||||
size={isTiny ? "8px" : "sm"}
|
||||
ta={isColumnLayout ? "center" : undefined}
|
||||
>
|
||||
{app.name}
|
||||
</Text>
|
||||
)}
|
||||
@@ -92,6 +105,8 @@ export default function AppWidget({ options, isEditMode, height, width }: Widget
|
||||
style={{
|
||||
height: "100%",
|
||||
width: "100%",
|
||||
minWidth: "20%",
|
||||
maxWidth: isColumnLayout ? undefined : "50%",
|
||||
}}
|
||||
/>
|
||||
</Flex>
|
||||
|
||||
@@ -1,4 +1,11 @@
|
||||
import { IconApps, IconDeviceDesktopX } from "@tabler/icons-react";
|
||||
import {
|
||||
IconApps,
|
||||
IconDeviceDesktopX,
|
||||
IconLayoutBottombarExpand,
|
||||
IconLayoutNavbarExpand,
|
||||
IconLayoutSidebarLeftExpand,
|
||||
IconLayoutSidebarRightExpand,
|
||||
} from "@tabler/icons-react";
|
||||
|
||||
import { createWidgetDefinition } from "../definition";
|
||||
import { optionsBuilder } from "../options";
|
||||
@@ -12,6 +19,40 @@ export const { definition, componentLoader } = createWidgetDefinition("app", {
|
||||
openInNewTab: factory.switch({ defaultValue: true }),
|
||||
showTitle: factory.switch({ defaultValue: true }),
|
||||
showDescriptionTooltip: factory.switch({ defaultValue: false }),
|
||||
layout: factory.select({
|
||||
options: [
|
||||
{
|
||||
label(t) {
|
||||
return t("widget.app.option.layout.option.column");
|
||||
},
|
||||
value: "column",
|
||||
icon: IconLayoutNavbarExpand,
|
||||
},
|
||||
{
|
||||
label(t) {
|
||||
return t("widget.app.option.layout.option.column-reverse");
|
||||
},
|
||||
value: "column-reverse",
|
||||
icon: IconLayoutBottombarExpand,
|
||||
},
|
||||
{
|
||||
label(t) {
|
||||
return t("widget.app.option.layout.option.row");
|
||||
},
|
||||
value: "row",
|
||||
icon: IconLayoutSidebarLeftExpand,
|
||||
},
|
||||
{
|
||||
label(t) {
|
||||
return t("widget.app.option.layout.option.row-reverse");
|
||||
},
|
||||
value: "row-reverse",
|
||||
icon: IconLayoutSidebarRightExpand,
|
||||
},
|
||||
],
|
||||
defaultValue: "column",
|
||||
searchable: true,
|
||||
}),
|
||||
pingEnabled: factory.switch({ defaultValue: settings.enableStatusByDefault }),
|
||||
}),
|
||||
{
|
||||
|
||||
994
pnpm-lock.yaml
generated
994
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
14
scripts/update-bug-report-template.mts
Normal file
14
scripts/update-bug-report-template.mts
Normal file
@@ -0,0 +1,14 @@
|
||||
import { readFile, writeFile } from "fs/promises";
|
||||
|
||||
const replaceTemplate = "#NEXT_VERSION#";
|
||||
const fileName = ".github/ISSUE_TEMPLATE/bug_report.yml";
|
||||
const env = {
|
||||
NEXT_VERSION: process.env.NEXT_VERSION as string,
|
||||
};
|
||||
|
||||
const content = await readFile(fileName, "utf8");
|
||||
const updatedContent = content.replace(
|
||||
replaceTemplate,
|
||||
`${replaceTemplate}\n - ${env.NEXT_VERSION.replace("v", "")}`,
|
||||
);
|
||||
await writeFile(fileName, updatedContent, "utf8");
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -17,14 +17,14 @@
|
||||
},
|
||||
"prettier": "@homarr/prettier-config",
|
||||
"dependencies": {
|
||||
"@next/eslint-plugin-next": "15.4.6",
|
||||
"@next/eslint-plugin-next": "15.5.0",
|
||||
"eslint-config-prettier": "^10.1.8",
|
||||
"eslint-config-turbo": "^2.5.6",
|
||||
"eslint-plugin-import": "^2.32.0",
|
||||
"eslint-plugin-jsx-a11y": "^6.10.2",
|
||||
"eslint-plugin-react": "^7.37.5",
|
||||
"eslint-plugin-react-hooks": "^5.2.0",
|
||||
"typescript-eslint": "^8.39.1"
|
||||
"typescript-eslint": "^8.40.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@homarr/prettier-config": "workspace:^0.1.0",
|
||||
|
||||
Reference in New Issue
Block a user