chore(release): automatic release v1.2.0
This commit is contained in:
4
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
4
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@@ -31,8 +31,10 @@ body:
|
|||||||
label: Version
|
label: Version
|
||||||
description: What version of Homarr are you running?
|
description: What version of Homarr are you running?
|
||||||
options:
|
options:
|
||||||
- 1.0.0-beta
|
- 1.1.0
|
||||||
|
- 1.0.1
|
||||||
- 1.0.0
|
- 1.0.0
|
||||||
|
- 1.0.0-beta
|
||||||
- Other (describe in "additional information")
|
- Other (describe in "additional information")
|
||||||
default: 0
|
default: 0
|
||||||
validations:
|
validations:
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
FROM node:22.13.0-alpine AS base
|
FROM node:22.13.1-alpine AS base
|
||||||
|
|
||||||
FROM base AS builder
|
FROM base AS builder
|
||||||
RUN apk add --no-cache libc6-compat
|
RUN apk add --no-cache libc6-compat
|
||||||
|
|||||||
@@ -85,9 +85,9 @@
|
|||||||
"@homarr/prettier-config": "workspace:^0.1.0",
|
"@homarr/prettier-config": "workspace:^0.1.0",
|
||||||
"@homarr/tsconfig": "workspace:^0.1.0",
|
"@homarr/tsconfig": "workspace:^0.1.0",
|
||||||
"@types/chroma-js": "3.1.0",
|
"@types/chroma-js": "3.1.0",
|
||||||
"@types/node": "^22.10.7",
|
"@types/node": "^22.10.10",
|
||||||
"@types/prismjs": "^1.26.5",
|
"@types/prismjs": "^1.26.5",
|
||||||
"@types/react": "19.0.7",
|
"@types/react": "19.0.8",
|
||||||
"@types/react-dom": "19.0.3",
|
"@types/react-dom": "19.0.3",
|
||||||
"@types/swagger-ui-react": "^4.18.3",
|
"@types/swagger-ui-react": "^4.18.3",
|
||||||
"concurrently": "^9.1.2",
|
"concurrently": "^9.1.2",
|
||||||
|
|||||||
@@ -39,8 +39,8 @@ export const ChangeHomeBoardForm = ({ user, boardsData }: ChangeHomeBoardFormPro
|
|||||||
});
|
});
|
||||||
const form = useZodForm(validation.user.changeHomeBoards, {
|
const form = useZodForm(validation.user.changeHomeBoards, {
|
||||||
initialValues: {
|
initialValues: {
|
||||||
homeBoardId: user.homeBoardId ?? "",
|
homeBoardId: user.homeBoardId,
|
||||||
mobileHomeBoardId: user.mobileHomeBoardId ?? "",
|
mobileHomeBoardId: user.mobileHomeBoardId,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -44,7 +44,7 @@
|
|||||||
"@homarr/eslint-config": "workspace:^0.2.0",
|
"@homarr/eslint-config": "workspace:^0.2.0",
|
||||||
"@homarr/prettier-config": "workspace:^0.1.0",
|
"@homarr/prettier-config": "workspace:^0.1.0",
|
||||||
"@homarr/tsconfig": "workspace:^0.1.0",
|
"@homarr/tsconfig": "workspace:^0.1.0",
|
||||||
"@types/node": "^22.10.7",
|
"@types/node": "^22.10.10",
|
||||||
"dotenv-cli": "^8.0.0",
|
"dotenv-cli": "^8.0.0",
|
||||||
"eslint": "^9.18.0",
|
"eslint": "^9.18.0",
|
||||||
"prettier": "^3.4.2",
|
"prettier": "^3.4.2",
|
||||||
|
|||||||
@@ -33,7 +33,7 @@
|
|||||||
"@homarr/eslint-config": "workspace:^0.2.0",
|
"@homarr/eslint-config": "workspace:^0.2.0",
|
||||||
"@homarr/prettier-config": "workspace:^0.1.0",
|
"@homarr/prettier-config": "workspace:^0.1.0",
|
||||||
"@homarr/tsconfig": "workspace:^0.1.0",
|
"@homarr/tsconfig": "workspace:^0.1.0",
|
||||||
"@types/ws": "^8.5.13",
|
"@types/ws": "^8.5.14",
|
||||||
"eslint": "^9.18.0",
|
"eslint": "^9.18.0",
|
||||||
"prettier": "^3.4.2",
|
"prettier": "^3.4.2",
|
||||||
"typescript": "^5.7.3"
|
"typescript": "^5.7.3"
|
||||||
|
|||||||
10
package.json
10
package.json
@@ -38,20 +38,20 @@
|
|||||||
"@semantic-release/github": "^11.0.1",
|
"@semantic-release/github": "^11.0.1",
|
||||||
"@semantic-release/npm": "^12.0.1",
|
"@semantic-release/npm": "^12.0.1",
|
||||||
"@semantic-release/release-notes-generator": "^14.0.3",
|
"@semantic-release/release-notes-generator": "^14.0.3",
|
||||||
"@turbo/gen": "^2.3.3",
|
"@turbo/gen": "^2.3.4",
|
||||||
"@vitejs/plugin-react": "^4.3.4",
|
"@vitejs/plugin-react": "^4.3.4",
|
||||||
"@vitest/coverage-v8": "^3.0.3",
|
"@vitest/coverage-v8": "^3.0.4",
|
||||||
"@vitest/ui": "^3.0.3",
|
"@vitest/ui": "^3.0.4",
|
||||||
"conventional-changelog-conventionalcommits": "^8.0.0",
|
"conventional-changelog-conventionalcommits": "^8.0.0",
|
||||||
"cross-env": "^7.0.3",
|
"cross-env": "^7.0.3",
|
||||||
"jsdom": "^26.0.0",
|
"jsdom": "^26.0.0",
|
||||||
"prettier": "^3.4.2",
|
"prettier": "^3.4.2",
|
||||||
"semantic-release": "^24.2.1",
|
"semantic-release": "^24.2.1",
|
||||||
"testcontainers": "^10.17.1",
|
"testcontainers": "^10.17.1",
|
||||||
"turbo": "^2.3.3",
|
"turbo": "^2.3.4",
|
||||||
"typescript": "^5.7.3",
|
"typescript": "^5.7.3",
|
||||||
"vite-tsconfig-paths": "^5.1.4",
|
"vite-tsconfig-paths": "^5.1.4",
|
||||||
"vitest": "^3.0.3"
|
"vitest": "^3.0.4"
|
||||||
},
|
},
|
||||||
"packageManager": "pnpm@9.15.4",
|
"packageManager": "pnpm@9.15.4",
|
||||||
"engines": {
|
"engines": {
|
||||||
|
|||||||
@@ -96,7 +96,7 @@ export class NzbGetIntegration extends DownloadClientIntegration {
|
|||||||
): Promise<ReturnType<NzbGetClient[CallType]>> {
|
): Promise<ReturnType<NzbGetClient[CallType]>> {
|
||||||
const username = this.getSecretValue("username");
|
const username = this.getSecretValue("username");
|
||||||
const password = this.getSecretValue("password");
|
const password = this.getSecretValue("password");
|
||||||
const url = this.url(`/${username}:${password}/jsonrpc`);
|
const url = this.url(`/${encodeURIComponent(username)}:${encodeURIComponent(password)}/jsonrpc`);
|
||||||
const body = JSON.stringify({ method, params });
|
const body = JSON.stringify({ method, params });
|
||||||
return await fetchWithTrustedCertificatesAsync(url, { method: "POST", body })
|
return await fetchWithTrustedCertificatesAsync(url, { method: "POST", body })
|
||||||
.then(async (response) => {
|
.then(async (response) => {
|
||||||
|
|||||||
@@ -2,8 +2,8 @@ import { objectEntries } from "@homarr/common";
|
|||||||
import { logger } from "@homarr/log";
|
import { logger } from "@homarr/log";
|
||||||
|
|
||||||
import type { WidgetComponentProps } from "../../../widgets/src/definition";
|
import type { WidgetComponentProps } from "../../../widgets/src/definition";
|
||||||
import { mapKind } from "./definitions";
|
|
||||||
import type { InversedWidgetMapping, OldmarrWidgetDefinitions, WidgetMapping } from "./definitions";
|
import type { InversedWidgetMapping, OldmarrWidgetDefinitions, WidgetMapping } from "./definitions";
|
||||||
|
import { mapKind } from "./definitions";
|
||||||
|
|
||||||
// This type enforces, that for all widget mappings there is a corresponding option mapping,
|
// This type enforces, that for all widget mappings there is a corresponding option mapping,
|
||||||
// each option of newmarr can be mapped from the value of the oldmarr options
|
// each option of newmarr can be mapped from the value of the oldmarr options
|
||||||
@@ -38,6 +38,9 @@ const optionMapping: OptionMapping = {
|
|||||||
|
|
||||||
return mappedLayouts[oldOptions.layout];
|
return mappedLayouts[oldOptions.layout];
|
||||||
},
|
},
|
||||||
|
hideIcon: (oldOptions) => oldOptions.items.some((item) => item.hideIcon),
|
||||||
|
hideHostname: (oldOptions) => oldOptions.items.some((item) => item.hideHostname),
|
||||||
|
openNewTab: (oldOptions) => oldOptions.items.some((item) => item.openNewTab),
|
||||||
},
|
},
|
||||||
calendar: {
|
calendar: {
|
||||||
releaseType: (oldOptions) => [oldOptions.radarrReleaseType],
|
releaseType: (oldOptions) => [oldOptions.radarrReleaseType],
|
||||||
|
|||||||
@@ -1067,6 +1067,15 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"hideIcon": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"hideHostname": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"openNewTab": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
"items": {
|
"items": {
|
||||||
"label": "书签",
|
"label": "书签",
|
||||||
"add": "添加书签"
|
"add": "添加书签"
|
||||||
|
|||||||
@@ -1067,6 +1067,15 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"hideIcon": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"hideHostname": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"openNewTab": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
"items": {
|
"items": {
|
||||||
"label": "",
|
"label": "",
|
||||||
"add": ""
|
"add": ""
|
||||||
|
|||||||
@@ -1067,6 +1067,15 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"hideIcon": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"hideHostname": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"openNewTab": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
"items": {
|
"items": {
|
||||||
"label": "Bogmærker",
|
"label": "Bogmærker",
|
||||||
"add": "Tilføj bogmærke"
|
"add": "Tilføj bogmærke"
|
||||||
@@ -1999,10 +2008,10 @@
|
|||||||
},
|
},
|
||||||
"customCss": {
|
"customCss": {
|
||||||
"label": "Brugerdefineret css for denne tavle",
|
"label": "Brugerdefineret css for denne tavle",
|
||||||
"description": "Yderligere, tilpasse dit dashboard ved hjælp af CSS, anbefales kun til erfarne brugere",
|
"description": "Tilpas din tavle ved hjælp af CSS, anbefales kun til erfarne brugere",
|
||||||
"customClassesAlert": {
|
"customClassesAlert": {
|
||||||
"title": "Brugerdefinerede klasser",
|
"title": "Brugerdefinerede klasser",
|
||||||
"description": "Du kan tilføje brugerdefinerede klasser til dine board elementer i de avancerede muligheder for hvert element og bruge dem i den brugerdefinerede CSS ovenfor."
|
"description": "Du kan tilføje brugerdefinerede klasser til dine tavle elementer i de avancerede muligheder for hvert element og bruge dem i den brugerdefinerede CSS ovenfor."
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"columnCount": {
|
"columnCount": {
|
||||||
@@ -2043,7 +2052,7 @@
|
|||||||
"permission": {
|
"permission": {
|
||||||
"item": {
|
"item": {
|
||||||
"view": {
|
"view": {
|
||||||
"label": "Se board"
|
"label": "Se tavle"
|
||||||
},
|
},
|
||||||
"modify": {
|
"modify": {
|
||||||
"label": "Rediger tavle"
|
"label": "Rediger tavle"
|
||||||
@@ -2091,7 +2100,7 @@
|
|||||||
"description": "Når du sletter en tavle, er der ingen vej tilbage. Vær venligst sikker.",
|
"description": "Når du sletter en tavle, er der ingen vej tilbage. Vær venligst sikker.",
|
||||||
"button": "Slet denne tavle",
|
"button": "Slet denne tavle",
|
||||||
"confirm": {
|
"confirm": {
|
||||||
"title": "Slet board",
|
"title": "Slet tavle",
|
||||||
"description": "Er du sikker på, at du vil slette denne tavle? Dette vil permanent slette tavlen og alt dens indhold."
|
"description": "Er du sikker på, at du vil slette denne tavle? Dette vil permanent slette tavlen og alt dens indhold."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2200,7 +2209,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"board": {
|
"board": {
|
||||||
"title": "Dine boards",
|
"title": "Dine tavler",
|
||||||
"action": {
|
"action": {
|
||||||
"new": {
|
"new": {
|
||||||
"label": "Ny tavle"
|
"label": "Ny tavle"
|
||||||
@@ -2231,7 +2240,7 @@
|
|||||||
"delete": {
|
"delete": {
|
||||||
"label": "Slet permanent",
|
"label": "Slet permanent",
|
||||||
"confirm": {
|
"confirm": {
|
||||||
"title": "Slet board",
|
"title": "Slet tavle",
|
||||||
"description": "Er du sikker på, at du vil slette {name} tavlen?"
|
"description": "Er du sikker på, at du vil slette {name} tavlen?"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1067,6 +1067,15 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"hideIcon": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"hideHostname": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"openNewTab": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
"items": {
|
"items": {
|
||||||
"label": "Lesezeichen",
|
"label": "Lesezeichen",
|
||||||
"add": "Lesezeichen hinzufügen"
|
"add": "Lesezeichen hinzufügen"
|
||||||
|
|||||||
@@ -1067,6 +1067,15 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"hideIcon": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"hideHostname": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"openNewTab": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
"items": {
|
"items": {
|
||||||
"label": "",
|
"label": "",
|
||||||
"add": ""
|
"add": ""
|
||||||
|
|||||||
@@ -1067,6 +1067,15 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"hideIcon": {
|
||||||
|
"label": "Hide icons"
|
||||||
|
},
|
||||||
|
"hideHostname": {
|
||||||
|
"label": "Hide hostnames"
|
||||||
|
},
|
||||||
|
"openNewTab": {
|
||||||
|
"label": "Open in new tab"
|
||||||
|
},
|
||||||
"items": {
|
"items": {
|
||||||
"label": "Bookmarks",
|
"label": "Bookmarks",
|
||||||
"add": "Add bookmark"
|
"add": "Add bookmark"
|
||||||
@@ -1410,6 +1419,10 @@
|
|||||||
"healthMonitoring": {
|
"healthMonitoring": {
|
||||||
"name": "System Health Monitoring",
|
"name": "System Health Monitoring",
|
||||||
"description": "Displays information showing the health and status of your system(s).",
|
"description": "Displays information showing the health and status of your system(s).",
|
||||||
|
"tab": {
|
||||||
|
"system": "System",
|
||||||
|
"cluster": "Cluster"
|
||||||
|
},
|
||||||
"option": {
|
"option": {
|
||||||
"fahrenheit": {
|
"fahrenheit": {
|
||||||
"label": "CPU Temp in Fahrenheit"
|
"label": "CPU Temp in Fahrenheit"
|
||||||
|
|||||||
@@ -1067,6 +1067,15 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"hideIcon": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"hideHostname": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"openNewTab": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
"items": {
|
"items": {
|
||||||
"label": "",
|
"label": "",
|
||||||
"add": ""
|
"add": ""
|
||||||
|
|||||||
@@ -1067,6 +1067,15 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"hideIcon": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"hideHostname": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"openNewTab": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
"items": {
|
"items": {
|
||||||
"label": "",
|
"label": "",
|
||||||
"add": ""
|
"add": ""
|
||||||
|
|||||||
@@ -1067,6 +1067,15 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"hideIcon": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"hideHostname": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"openNewTab": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
"items": {
|
"items": {
|
||||||
"label": "",
|
"label": "",
|
||||||
"add": ""
|
"add": ""
|
||||||
|
|||||||
@@ -735,12 +735,12 @@
|
|||||||
"newLabel": "סיסמה חדשה"
|
"newLabel": "סיסמה חדשה"
|
||||||
},
|
},
|
||||||
"tokenId": {
|
"tokenId": {
|
||||||
"label": "",
|
"label": "מזהה אסימון",
|
||||||
"newLabel": ""
|
"newLabel": "מזהה אסימון חדש"
|
||||||
},
|
},
|
||||||
"realm": {
|
"realm": {
|
||||||
"label": "",
|
"label": "תחום",
|
||||||
"newLabel": ""
|
"newLabel": "תחום חדש"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -787,7 +787,7 @@
|
|||||||
"label": "העתק קישור"
|
"label": "העתק קישור"
|
||||||
},
|
},
|
||||||
"open": {
|
"open": {
|
||||||
"label": ""
|
"label": "פתיחת מדיה"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -908,7 +908,7 @@
|
|||||||
"passwordRequirements": "הסיסמה אינה עומדת בדרישות",
|
"passwordRequirements": "הסיסמה אינה עומדת בדרישות",
|
||||||
"boardAlreadyExists": "לוח בשם זה כבר קיים",
|
"boardAlreadyExists": "לוח בשם זה כבר קיים",
|
||||||
"invalidFileType": "סוג קובץ לא חוקי, צפוי {expected}",
|
"invalidFileType": "סוג קובץ לא חוקי, צפוי {expected}",
|
||||||
"invalidFileName": "",
|
"invalidFileName": "שם קובץ לא חוקי",
|
||||||
"fileTooLarge": "הקובץ גדול מדי, הגודל המרבי הוא {maxSize}",
|
"fileTooLarge": "הקובץ גדול מדי, הגודל המרבי הוא {maxSize}",
|
||||||
"invalidConfiguration": "תצורה לא חוקית",
|
"invalidConfiguration": "תצורה לא חוקית",
|
||||||
"groupNameTaken": "שם הקבוצה כבר תפוס"
|
"groupNameTaken": "שם הקבוצה כבר תפוס"
|
||||||
@@ -1067,6 +1067,15 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"hideIcon": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"hideHostname": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"openNewTab": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
"items": {
|
"items": {
|
||||||
"label": "סימניות",
|
"label": "סימניות",
|
||||||
"add": "הוסף סימניה"
|
"add": "הוסף סימניה"
|
||||||
@@ -1191,7 +1200,7 @@
|
|||||||
"label": "כתובת השרת"
|
"label": "כתובת השרת"
|
||||||
},
|
},
|
||||||
"isBedrockServer": {
|
"isBedrockServer": {
|
||||||
"label": ""
|
"label": "שרת Bedrock"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"status": {
|
"status": {
|
||||||
@@ -1424,10 +1433,10 @@
|
|||||||
"label": "הצג מידע על מערכת הקבצים"
|
"label": "הצג מידע על מערכת הקבצים"
|
||||||
},
|
},
|
||||||
"defaultTab": {
|
"defaultTab": {
|
||||||
"label": ""
|
"label": "כרטיסיית ברירת מחדל"
|
||||||
},
|
},
|
||||||
"sectionIndicatorRequirement": {
|
"sectionIndicatorRequirement": {
|
||||||
"label": ""
|
"label": "דרישת מציין מקטע"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"popover": {
|
"popover": {
|
||||||
@@ -1450,47 +1459,47 @@
|
|||||||
},
|
},
|
||||||
"cluster": {
|
"cluster": {
|
||||||
"summary": {
|
"summary": {
|
||||||
"cpu": "",
|
"cpu": "מעבד",
|
||||||
"memory": ""
|
"memory": "זכרון פנימי"
|
||||||
},
|
},
|
||||||
"resource": {
|
"resource": {
|
||||||
"node": {
|
"node": {
|
||||||
"name": ""
|
"name": "צמתים"
|
||||||
},
|
},
|
||||||
"qemu": {
|
"qemu": {
|
||||||
"name": ""
|
"name": "מכונות וירטואליות"
|
||||||
},
|
},
|
||||||
"lxc": {
|
"lxc": {
|
||||||
"name": ""
|
"name": "קונטיינרים של לינוקס"
|
||||||
},
|
},
|
||||||
"storage": {
|
"storage": {
|
||||||
"name": ""
|
"name": "אחסון"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"popover": {
|
"popover": {
|
||||||
"rightSection": {
|
"rightSection": {
|
||||||
"node": "",
|
"node": "צומת",
|
||||||
"vmId": "",
|
"vmId": "מזהה מכונה ורטואלית",
|
||||||
"plugin": ""
|
"plugin": "תוסף"
|
||||||
},
|
},
|
||||||
"detail": {
|
"detail": {
|
||||||
"cpu": "",
|
"cpu": "ליבות",
|
||||||
"memory": "",
|
"memory": "זיכרון",
|
||||||
"storage": "",
|
"storage": "אחסון",
|
||||||
"uptime": "",
|
"uptime": "זמן ריצה",
|
||||||
"haState": "",
|
"haState": "מצב זמינות גבוהה",
|
||||||
"storageType": {
|
"storageType": {
|
||||||
"local": "",
|
"local": "אחסון מקומי",
|
||||||
"shared": ""
|
"shared": "אחסון משותף"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"table": {
|
"table": {
|
||||||
"header": {
|
"header": {
|
||||||
"name": "",
|
"name": "שם",
|
||||||
"cpu": "",
|
"cpu": "מעבד",
|
||||||
"memory": "",
|
"memory": "זכרון פנימי",
|
||||||
"node": ""
|
"node": "צומת"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2165,7 +2174,7 @@
|
|||||||
"docker": "דוקר",
|
"docker": "דוקר",
|
||||||
"logs": "קובצי לוג",
|
"logs": "קובצי לוג",
|
||||||
"api": "ממשק API",
|
"api": "ממשק API",
|
||||||
"certificates": "",
|
"certificates": "אישורי אבטחה",
|
||||||
"tasks": "משימות"
|
"tasks": "משימות"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -2219,10 +2228,10 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"setMobileHomeBoard": {
|
"setMobileHomeBoard": {
|
||||||
"label": "",
|
"label": "הגדרה כלוח שלך בנייד",
|
||||||
"badge": {
|
"badge": {
|
||||||
"label": "",
|
"label": "מכשיר נייד",
|
||||||
"tooltip": ""
|
"tooltip": "לוח זה יופיע כלוח הנייד שלך"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"duplicate": {
|
"duplicate": {
|
||||||
@@ -2262,10 +2271,10 @@
|
|||||||
"item": {
|
"item": {
|
||||||
"language": "שפה ואיזור",
|
"language": "שפה ואיזור",
|
||||||
"board": {
|
"board": {
|
||||||
"title": "",
|
"title": "לוח בית",
|
||||||
"type": {
|
"type": {
|
||||||
"general": "",
|
"general": "כללי",
|
||||||
"mobile": ""
|
"mobile": "מכשיר נייד"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"defaultSearchEngine": "מנוע חיפוש ברירת מחדל",
|
"defaultSearchEngine": "מנוע חיפוש ברירת מחדל",
|
||||||
@@ -2427,7 +2436,7 @@
|
|||||||
"title": "לוחות",
|
"title": "לוחות",
|
||||||
"homeBoard": {
|
"homeBoard": {
|
||||||
"label": "לוח בית גלובלי",
|
"label": "לוח בית גלובלי",
|
||||||
"mobileLabel": "",
|
"mobileLabel": "לוח גלובלי למכשיר נייד",
|
||||||
"description": "רק לוחות ציבוריים זמינים לבחירה"
|
"description": "רק לוחות ציבוריים זמינים לבחירה"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -2505,10 +2514,10 @@
|
|||||||
"label": "ניטור בריאות המערכת"
|
"label": "ניטור בריאות המערכת"
|
||||||
},
|
},
|
||||||
"dnsHole": {
|
"dnsHole": {
|
||||||
"label": ""
|
"label": "נתוני חור DNS"
|
||||||
},
|
},
|
||||||
"sessionCleanup": {
|
"sessionCleanup": {
|
||||||
"label": ""
|
"label": "ניקוי סשן"
|
||||||
},
|
},
|
||||||
"updateChecker": {
|
"updateChecker": {
|
||||||
"label": "בודק עדכונים"
|
"label": "בודק עדכונים"
|
||||||
@@ -2522,8 +2531,8 @@
|
|||||||
"title": "ממשק API",
|
"title": "ממשק API",
|
||||||
"modal": {
|
"modal": {
|
||||||
"createApiToken": {
|
"createApiToken": {
|
||||||
"title": "",
|
"title": "נוצר אסימון API",
|
||||||
"description": "",
|
"description": "האסימון API נוצר. היזהר, אסימון זה מוצפן בבסיס הנתונים ולא יישלח אליך שוב. אם תאבד את האסימון הזה, לא תוכל לשחזר אותו בשנית.",
|
||||||
"button": "העתקה וסגירה"
|
"button": "העתקה וסגירה"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -2549,19 +2558,19 @@
|
|||||||
},
|
},
|
||||||
"about": {
|
"about": {
|
||||||
"version": "גרסה {version}",
|
"version": "גרסה {version}",
|
||||||
"text": "",
|
"text": "Homarr הוא פרויקט קוד פתוח מונחה קהילה שמתוחזק על ידי מתנדבים. בזכות האנשים האלה, Homarr הוא פרויקט שצומח מאז 2021. הצוות שלנו עובד מרחוק ממדינות שונות בזמן הפנוי שלהם, ללא תמורה.",
|
||||||
"accordion": {
|
"accordion": {
|
||||||
"contributors": {
|
"contributors": {
|
||||||
"title": "",
|
"title": "תורמים",
|
||||||
"subtitle": ""
|
"subtitle": "{count} מתחזקי קוד & Homarr"
|
||||||
},
|
},
|
||||||
"translators": {
|
"translators": {
|
||||||
"title": "",
|
"title": "מתרגמים",
|
||||||
"subtitle": ""
|
"subtitle": "{count} תורמים בתרגום לשפות שונות"
|
||||||
},
|
},
|
||||||
"libraries": {
|
"libraries": {
|
||||||
"title": "",
|
"title": "ספריות",
|
||||||
"subtitle": ""
|
"subtitle": "{count} בשימוש בקוד של Homarr"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2570,9 +2579,9 @@
|
|||||||
"docker": {
|
"docker": {
|
||||||
"title": "מיכלים",
|
"title": "מיכלים",
|
||||||
"table": {
|
"table": {
|
||||||
"updated": "",
|
"updated": "עודכן ב- {when}",
|
||||||
"search": "",
|
"search": "חפש {count} קונטיינרים",
|
||||||
"selected": ""
|
"selected": "{selectCount} מ- {totalCount} קונטיינרים נבחרו"
|
||||||
},
|
},
|
||||||
"field": {
|
"field": {
|
||||||
"name": {
|
"name": {
|
||||||
@@ -2585,9 +2594,9 @@
|
|||||||
"running": "פועל",
|
"running": "פועל",
|
||||||
"paused": "מושהה",
|
"paused": "מושהה",
|
||||||
"restarting": "מפעיל מחדש",
|
"restarting": "מפעיל מחדש",
|
||||||
"exited": "",
|
"exited": "נסגר",
|
||||||
"removing": "מסיר",
|
"removing": "מסיר",
|
||||||
"dead": ""
|
"dead": "מת"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"containerImage": {
|
"containerImage": {
|
||||||
@@ -2602,12 +2611,12 @@
|
|||||||
"label": "התחל",
|
"label": "התחל",
|
||||||
"notification": {
|
"notification": {
|
||||||
"success": {
|
"success": {
|
||||||
"title": "",
|
"title": "קונטיינרים הופעלו",
|
||||||
"message": ""
|
"message": "הקונטיינרים הופעלו בהצלחה"
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
"title": "",
|
"title": "הקונטיינרים לא הופעלו",
|
||||||
"message": ""
|
"message": "לא היה ניתן להפעיל את הקונטיינרים"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -2615,12 +2624,12 @@
|
|||||||
"label": "עצור",
|
"label": "עצור",
|
||||||
"notification": {
|
"notification": {
|
||||||
"success": {
|
"success": {
|
||||||
"title": "",
|
"title": "הקונטיינרים נעצרו",
|
||||||
"message": ""
|
"message": "הקונטיינרים נעצרו בהצלחה"
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
"title": "",
|
"title": "הקונטיינרים לא נעצרו",
|
||||||
"message": ""
|
"message": "לא היה ניתן לעצור את הקונטיינרים"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -2628,12 +2637,12 @@
|
|||||||
"label": "אתחל",
|
"label": "אתחל",
|
||||||
"notification": {
|
"notification": {
|
||||||
"success": {
|
"success": {
|
||||||
"title": "",
|
"title": "הקונטיינרים הופעלו מחדש",
|
||||||
"message": ""
|
"message": "הקונטיינרים הופעלו מחדש בהצלחה"
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
"title": "",
|
"title": "הקונטיינרים לא הופעלו מחדש",
|
||||||
"message": ""
|
"message": "לא היה ניתן להפעיל את הקונטיינרים מחדש"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -2641,61 +2650,61 @@
|
|||||||
"label": "הסר",
|
"label": "הסר",
|
||||||
"notification": {
|
"notification": {
|
||||||
"success": {
|
"success": {
|
||||||
"title": "",
|
"title": "הקונטיינרים הוסרו",
|
||||||
"message": ""
|
"message": "הקונטיינרים הוסרו בהצלחה"
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
"title": "",
|
"title": "הקונטיינרים לא הוסרו",
|
||||||
"message": ""
|
"message": "לא היה ניתן להסיר את הקונטיינרים"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"refresh": {
|
"refresh": {
|
||||||
"label": "",
|
"label": "רענון",
|
||||||
"notification": {
|
"notification": {
|
||||||
"success": {
|
"success": {
|
||||||
"title": "",
|
"title": "הקונטיינרים התרעננו",
|
||||||
"message": ""
|
"message": "כעת את/ה צופה בנתונים העדכניים ביותר"
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
"title": "",
|
"title": "הקונטיינרים לא התרעננו",
|
||||||
"message": ""
|
"message": "משהו השתבש בזמן רענון הקונטיינרים"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"addToHomarr": {
|
"addToHomarr": {
|
||||||
"label": "",
|
"label": "הוסף ל- Homarr",
|
||||||
"notification": {
|
"notification": {
|
||||||
"success": {
|
"success": {
|
||||||
"title": "",
|
"title": "הוסף ל- Homarr",
|
||||||
"message": ""
|
"message": "האפליקציות שנבחרו הוספו ל- Homarr"
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
"title": "",
|
"title": "לא היה ניתן להוסיף ל- Homarr",
|
||||||
"message": ""
|
"message": "לא היה ניתן להוסיף את האפליקציות שנבחרו ל- Homarr"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"modal": {
|
"modal": {
|
||||||
"title": ""
|
"title": "הוספת דוקר קונטיינר/ים ל- Homarr"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
"internalServerError": ""
|
"internalServerError": "נכשל בקבלת קונטיינרי דוקר"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"permission": {
|
"permission": {
|
||||||
"title": "",
|
"title": "הרשאות",
|
||||||
"userSelect": {
|
"userSelect": {
|
||||||
"title": ""
|
"title": "הוספת הרשאת משתמש"
|
||||||
},
|
},
|
||||||
"groupSelect": {
|
"groupSelect": {
|
||||||
"title": ""
|
"title": "הוספת הרשאת קבוצה"
|
||||||
},
|
},
|
||||||
"tab": {
|
"tab": {
|
||||||
"user": "משתמשים",
|
"user": "משתמשים",
|
||||||
"group": "קבוצות",
|
"group": "קבוצות",
|
||||||
"inherited": ""
|
"inherited": "קבוצות בירושה"
|
||||||
},
|
},
|
||||||
"field": {
|
"field": {
|
||||||
"user": {
|
"user": {
|
||||||
@@ -2773,7 +2782,7 @@
|
|||||||
"label": "קבצי לוג"
|
"label": "קבצי לוג"
|
||||||
},
|
},
|
||||||
"certificates": {
|
"certificates": {
|
||||||
"label": ""
|
"label": "אישורי אבטחה"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
@@ -2821,14 +2830,14 @@
|
|||||||
"label": "קביעה כלוח הבית"
|
"label": "קביעה כלוח הבית"
|
||||||
},
|
},
|
||||||
"mobileBoard": {
|
"mobileBoard": {
|
||||||
"label": ""
|
"label": "הגדרה כלוח שלך בנייד"
|
||||||
},
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"label": "פתיחת הגדרות"
|
"label": "פתיחת הגדרות"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"detail": {
|
"detail": {
|
||||||
"title": ""
|
"title": "בחירת פעולה עבור הלוח"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -2838,99 +2847,99 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"command": {
|
"command": {
|
||||||
"help": "",
|
"help": "הפעלת מצב פקודות",
|
||||||
"group": {
|
"group": {
|
||||||
"localCommand": {
|
"localCommand": {
|
||||||
"title": ""
|
"title": "פקודות מקומיות"
|
||||||
},
|
},
|
||||||
"globalCommand": {
|
"globalCommand": {
|
||||||
"title": "",
|
"title": "פקודות גלובליות",
|
||||||
"option": {
|
"option": {
|
||||||
"colorScheme": {
|
"colorScheme": {
|
||||||
"light": "עבור למצב בהיר",
|
"light": "עבור למצב בהיר",
|
||||||
"dark": "עבור למצב כהה"
|
"dark": "עבור למצב כהה"
|
||||||
},
|
},
|
||||||
"language": {
|
"language": {
|
||||||
"label": "",
|
"label": "שינוי שפה",
|
||||||
"children": {
|
"children": {
|
||||||
"detail": {
|
"detail": {
|
||||||
"title": ""
|
"title": "בחירת שפה מועודפת"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"newBoard": {
|
"newBoard": {
|
||||||
"label": ""
|
"label": "יצירת לוח חדש"
|
||||||
},
|
},
|
||||||
"importBoard": {
|
"importBoard": {
|
||||||
"label": ""
|
"label": "ייבוא לוח"
|
||||||
},
|
},
|
||||||
"newApp": {
|
"newApp": {
|
||||||
"label": ""
|
"label": "יצירת אפליקציה חדשה"
|
||||||
},
|
},
|
||||||
"newIntegration": {
|
"newIntegration": {
|
||||||
"label": "",
|
"label": "יצירת אינטגרציה חדשה",
|
||||||
"children": {
|
"children": {
|
||||||
"detail": {
|
"detail": {
|
||||||
"title": ""
|
"title": "בחירת סוג האינטגרציה שברצונך ליצור"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"newUser": {
|
"newUser": {
|
||||||
"label": ""
|
"label": "יצירת משתמש חדש"
|
||||||
},
|
},
|
||||||
"newInvite": {
|
"newInvite": {
|
||||||
"label": ""
|
"label": "יצירת הזמנה חדשה"
|
||||||
},
|
},
|
||||||
"newGroup": {
|
"newGroup": {
|
||||||
"label": ""
|
"label": "יצירת קבוצה חדשה"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"media": {
|
"media": {
|
||||||
"requestMovie": "",
|
"requestMovie": "בקשת סרט",
|
||||||
"requestSeries": "",
|
"requestSeries": "בקשת סדרה",
|
||||||
"openIn": ""
|
"openIn": "פתיחה ב- {kind}"
|
||||||
},
|
},
|
||||||
"external": {
|
"external": {
|
||||||
"help": "",
|
"help": "שימוש במנוע חיפוש חיצוני",
|
||||||
"group": {
|
"group": {
|
||||||
"searchEngine": {
|
"searchEngine": {
|
||||||
"title": "מנועי חיפוש",
|
"title": "מנועי חיפוש",
|
||||||
"children": {
|
"children": {
|
||||||
"action": {
|
"action": {
|
||||||
"search": {
|
"search": {
|
||||||
"label": ""
|
"label": "חיפוש עם {name}"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"detail": {
|
"detail": {
|
||||||
"title": ""
|
"title": "בחירת פעולה עבור מנוע חיפוש"
|
||||||
},
|
},
|
||||||
"searchResults": {
|
"searchResults": {
|
||||||
"title": ""
|
"title": "בחירת תוצאה בחיפוש לביצוע פעולות"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"option": {
|
"option": {
|
||||||
"google": {
|
"google": {
|
||||||
"name": "",
|
"name": "גוגל",
|
||||||
"description": ""
|
"description": "חיפוש באינטרנט עם גוגל"
|
||||||
},
|
},
|
||||||
"bing": {
|
"bing": {
|
||||||
"name": "",
|
"name": "בינג",
|
||||||
"description": ""
|
"description": "חיפוש באינטרנט עם בינג"
|
||||||
},
|
},
|
||||||
"duckduckgo": {
|
"duckduckgo": {
|
||||||
"name": "",
|
"name": "DuckDuckGo",
|
||||||
"description": ""
|
"description": "חיפוש באינטרנט עם DuckDuckGo"
|
||||||
},
|
},
|
||||||
"torrent": {
|
"torrent": {
|
||||||
"name": "טורנטים",
|
"name": "טורנטים",
|
||||||
"description": ""
|
"description": "חיפוש טורנטים באמצעות torrentdownloads.pro"
|
||||||
},
|
},
|
||||||
"youTube": {
|
"youTube": {
|
||||||
"name": "",
|
"name": "יוטיוב",
|
||||||
"description": ""
|
"description": "חיפוש וידאו ביוטיוב"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2939,7 +2948,7 @@
|
|||||||
"help": {
|
"help": {
|
||||||
"group": {
|
"group": {
|
||||||
"mode": {
|
"mode": {
|
||||||
"title": ""
|
"title": "מצבים"
|
||||||
},
|
},
|
||||||
"help": {
|
"help": {
|
||||||
"title": "עזרה",
|
"title": "עזרה",
|
||||||
@@ -2948,7 +2957,7 @@
|
|||||||
"label": "תיעוד"
|
"label": "תיעוד"
|
||||||
},
|
},
|
||||||
"submitIssue": {
|
"submitIssue": {
|
||||||
"label": ""
|
"label": "שליחת בעיה"
|
||||||
},
|
},
|
||||||
"discord": {
|
"discord": {
|
||||||
"label": "קהילת דיסקורד"
|
"label": "קהילת דיסקורד"
|
||||||
@@ -2960,75 +2969,75 @@
|
|||||||
"home": {
|
"home": {
|
||||||
"group": {
|
"group": {
|
||||||
"search": {
|
"search": {
|
||||||
"title": "",
|
"title": "חיפוש",
|
||||||
"option": {
|
"option": {
|
||||||
"other": {
|
"other": {
|
||||||
"label": ""
|
"label": "חיפוש באמצעות מנוע חיפוש אחר"
|
||||||
},
|
},
|
||||||
"no-default": {
|
"no-default": {
|
||||||
"label": "",
|
"label": "אין מנוע חיפוש ברירת מחדל",
|
||||||
"description": ""
|
"description": "הגדרת מנוע חיפוש ברירת מחדל בהעדפות"
|
||||||
},
|
},
|
||||||
"search": {
|
"search": {
|
||||||
"label": ""
|
"label": "חיפוש {query} עם {name}"
|
||||||
},
|
},
|
||||||
"from-integration": {
|
"from-integration": {
|
||||||
"description": ""
|
"description": "התחל/י להקליד כדי לחפש"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"local": {
|
"local": {
|
||||||
"title": ""
|
"title": "תוצאות מקומיות"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"page": {
|
"page": {
|
||||||
"help": "",
|
"help": "חיפוש עבור דפים",
|
||||||
"group": {
|
"group": {
|
||||||
"page": {
|
"page": {
|
||||||
"title": "",
|
"title": "דפים",
|
||||||
"option": {
|
"option": {
|
||||||
"manageHome": {
|
"manageHome": {
|
||||||
"label": ""
|
"label": "ניהול דף בית"
|
||||||
},
|
},
|
||||||
"manageBoard": {
|
"manageBoard": {
|
||||||
"label": ""
|
"label": "ניהול לוחות"
|
||||||
},
|
},
|
||||||
"manageApp": {
|
"manageApp": {
|
||||||
"label": ""
|
"label": "ניהול אפליקציות"
|
||||||
},
|
},
|
||||||
"manageIntegration": {
|
"manageIntegration": {
|
||||||
"label": ""
|
"label": "ניהול אינטגרציות"
|
||||||
},
|
},
|
||||||
"manageSearchEngine": {
|
"manageSearchEngine": {
|
||||||
"label": ""
|
"label": "ניהול מנועי חיפוש"
|
||||||
},
|
},
|
||||||
"manageMedia": {
|
"manageMedia": {
|
||||||
"label": ""
|
"label": "ניהול מדיה"
|
||||||
},
|
},
|
||||||
"manageUser": {
|
"manageUser": {
|
||||||
"label": "ניהול משתמשים"
|
"label": "ניהול משתמשים"
|
||||||
},
|
},
|
||||||
"manageInvite": {
|
"manageInvite": {
|
||||||
"label": ""
|
"label": "ניהול הזמנות"
|
||||||
},
|
},
|
||||||
"manageGroup": {
|
"manageGroup": {
|
||||||
"label": ""
|
"label": "ניהול קבוצות"
|
||||||
},
|
},
|
||||||
"manageDocker": {
|
"manageDocker": {
|
||||||
"label": ""
|
"label": "ניהול דוקר"
|
||||||
},
|
},
|
||||||
"manageApi": {
|
"manageApi": {
|
||||||
"label": ""
|
"label": "Swagger API"
|
||||||
},
|
},
|
||||||
"manageLog": {
|
"manageLog": {
|
||||||
"label": "הצג לוגים"
|
"label": "הצג לוגים"
|
||||||
},
|
},
|
||||||
"manageTask": {
|
"manageTask": {
|
||||||
"label": ""
|
"label": "ניהול משימות"
|
||||||
},
|
},
|
||||||
"manageSettings": {
|
"manageSettings": {
|
||||||
"label": ""
|
"label": "הגדרות כלליות"
|
||||||
},
|
},
|
||||||
"about": {
|
"about": {
|
||||||
"label": "אודות"
|
"label": "אודות"
|
||||||
@@ -3044,18 +3053,18 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"userGroup": {
|
"userGroup": {
|
||||||
"help": "",
|
"help": "חיפוש משתמשים או קבוצות",
|
||||||
"group": {
|
"group": {
|
||||||
"user": {
|
"user": {
|
||||||
"title": "משתמשים",
|
"title": "משתמשים",
|
||||||
"children": {
|
"children": {
|
||||||
"action": {
|
"action": {
|
||||||
"detail": {
|
"detail": {
|
||||||
"label": ""
|
"label": "הצגת נתוני משתמש"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"detail": {
|
"detail": {
|
||||||
"title": ""
|
"title": "בחירת פעולה עבור משתנש"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -3064,17 +3073,17 @@
|
|||||||
"children": {
|
"children": {
|
||||||
"action": {
|
"action": {
|
||||||
"detail": {
|
"detail": {
|
||||||
"label": ""
|
"label": "הצגת נתוני קבוצה"
|
||||||
},
|
},
|
||||||
"manageMember": {
|
"manageMember": {
|
||||||
"label": ""
|
"label": "ניהול חברים"
|
||||||
},
|
},
|
||||||
"managePermission": {
|
"managePermission": {
|
||||||
"label": ""
|
"label": "ניהול הרשאות"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"detail": {
|
"detail": {
|
||||||
"title": ""
|
"title": "בחירת פעולה עבור הקבוצה"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3082,16 +3091,16 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"engine": {
|
"engine": {
|
||||||
"search": "",
|
"search": "חיפוש מנוע חיפוש",
|
||||||
"field": {
|
"field": {
|
||||||
"name": {
|
"name": {
|
||||||
"label": "שם"
|
"label": "שם"
|
||||||
},
|
},
|
||||||
"short": {
|
"short": {
|
||||||
"label": ""
|
"label": "קצר"
|
||||||
},
|
},
|
||||||
"urlTemplate": {
|
"urlTemplate": {
|
||||||
"label": ""
|
"label": "תבנית חיפוש קישור אינטרנט"
|
||||||
},
|
},
|
||||||
"description": {
|
"description": {
|
||||||
"label": "תיאור"
|
"label": "תיאור"
|
||||||
@@ -3101,53 +3110,53 @@
|
|||||||
"list": {
|
"list": {
|
||||||
"title": "מנועי חיפוש",
|
"title": "מנועי חיפוש",
|
||||||
"noResults": {
|
"noResults": {
|
||||||
"title": "",
|
"title": "עדיין אין מנוע חיפוש",
|
||||||
"action": ""
|
"action": "צור את מנוע החיפוש הראשון שלך"
|
||||||
},
|
},
|
||||||
"interactive": ""
|
"interactive": "אינטראקטיבי, עושה שימוש באינטגרציה"
|
||||||
},
|
},
|
||||||
"create": {
|
"create": {
|
||||||
"title": "",
|
"title": "מנוע חיפוש חדש",
|
||||||
"notification": {
|
"notification": {
|
||||||
"success": {
|
"success": {
|
||||||
"title": "",
|
"title": "מנוע חיפוש נוצר",
|
||||||
"message": ""
|
"message": "מנוע חיפוש נוצר בהצלחה"
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
"title": "",
|
"title": "מנוע חיפוש לא נוצר",
|
||||||
"message": ""
|
"message": "לא היה ניתן ליצור את מנוע החיפוש"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"edit": {
|
"edit": {
|
||||||
"title": "",
|
"title": "עריכת מנוע חיפוש",
|
||||||
"notification": {
|
"notification": {
|
||||||
"success": {
|
"success": {
|
||||||
"title": "השינויים הוחלו בהצלחה",
|
"title": "השינויים הוחלו בהצלחה",
|
||||||
"message": ""
|
"message": "מנוע החיפוש נשמר בהצלחה"
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
"title": "לא ניתן להחיל שינויים",
|
"title": "לא ניתן להחיל שינויים",
|
||||||
"message": ""
|
"message": "לא היה ניתן לשמור את מנוע החיפוש"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"configControl": "",
|
"configControl": "הגדרות",
|
||||||
"searchEngineType": {
|
"searchEngineType": {
|
||||||
"generic": "",
|
"generic": "כללי",
|
||||||
"fromIntegration": ""
|
"fromIntegration": "מאינטגרציה"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"delete": {
|
"delete": {
|
||||||
"title": "",
|
"title": "מחיקת מנוע חיפוש",
|
||||||
"message": "",
|
"message": "האם אתה בטוח/ה שברצונך למחוק את מנוע החיפוש {name}?",
|
||||||
"notification": {
|
"notification": {
|
||||||
"success": {
|
"success": {
|
||||||
"title": "",
|
"title": "מנוע החיפוש נמחק",
|
||||||
"message": ""
|
"message": "מנוע החיפוש נמחק בהצלחה"
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
"title": "",
|
"title": "מנוע החיפוש לא נמחק",
|
||||||
"message": ""
|
"message": "לא היה ניתן למחוק את מנוע החיפוש"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3155,15 +3164,15 @@
|
|||||||
"media": {
|
"media": {
|
||||||
"request": {
|
"request": {
|
||||||
"modal": {
|
"modal": {
|
||||||
"title": "",
|
"title": "בקשה {name}",
|
||||||
"table": {
|
"table": {
|
||||||
"header": {
|
"header": {
|
||||||
"season": "",
|
"season": "עונה",
|
||||||
"episodes": ""
|
"episodes": "פרקים"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"button": {
|
"button": {
|
||||||
"send": ""
|
"send": "שליחת בקשה"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3173,39 +3182,39 @@
|
|||||||
"certificate": {
|
"certificate": {
|
||||||
"page": {
|
"page": {
|
||||||
"list": {
|
"list": {
|
||||||
"title": "",
|
"title": "תעודות מהימנות",
|
||||||
"description": "",
|
"description": "נעשה שימוש ב-Homarr כדי לבקש נתונים מאינטגרציות.",
|
||||||
"noResults": {
|
"noResults": {
|
||||||
"title": ""
|
"title": "אין עדיין תעודות אבטחה"
|
||||||
},
|
},
|
||||||
"expires": ""
|
"expires": "פג ב- {when}"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"action": {
|
"action": {
|
||||||
"create": {
|
"create": {
|
||||||
"label": "",
|
"label": "הוספת תעודת אבטחה",
|
||||||
"notification": {
|
"notification": {
|
||||||
"success": {
|
"success": {
|
||||||
"title": "",
|
"title": "תעודת האבטחה הוספה",
|
||||||
"message": ""
|
"message": "תעודת האבטחה נוספה בהצלחה"
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
"title": "",
|
"title": "נכשל בהוספת תעודת אבטחה",
|
||||||
"message": ""
|
"message": "לא היה ניתן להוסיף תעודת אבטחה"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"remove": {
|
"remove": {
|
||||||
"label": "",
|
"label": "הסרת תעודת אבטחה",
|
||||||
"confirm": "",
|
"confirm": "האם את/ה בטוח/ה שברצונך להסיר את תעודת האבטחה?",
|
||||||
"notification": {
|
"notification": {
|
||||||
"success": {
|
"success": {
|
||||||
"title": "",
|
"title": "תעודת האבטחה הוסרה",
|
||||||
"message": ""
|
"message": "תעודת האבטחה הוסרה בהצלחה"
|
||||||
},
|
},
|
||||||
"error": {
|
"error": {
|
||||||
"title": "",
|
"title": "תעודת אבטחה לא הוסרה",
|
||||||
"message": ""
|
"message": "לא היה ניתן להסיר את תעודת האבטחה"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1067,6 +1067,15 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"hideIcon": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"hideHostname": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"openNewTab": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
"items": {
|
"items": {
|
||||||
"label": "",
|
"label": "",
|
||||||
"add": ""
|
"add": ""
|
||||||
|
|||||||
@@ -1067,6 +1067,15 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"hideIcon": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"hideHostname": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"openNewTab": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
"items": {
|
"items": {
|
||||||
"label": "Könyjelzők",
|
"label": "Könyjelzők",
|
||||||
"add": "Könyvjelző hozzáadása"
|
"add": "Könyvjelző hozzáadása"
|
||||||
|
|||||||
@@ -1067,6 +1067,15 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"hideIcon": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"hideHostname": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"openNewTab": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
"items": {
|
"items": {
|
||||||
"label": "",
|
"label": "",
|
||||||
"add": ""
|
"add": ""
|
||||||
|
|||||||
@@ -1067,6 +1067,15 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"hideIcon": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"hideHostname": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"openNewTab": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
"items": {
|
"items": {
|
||||||
"label": "",
|
"label": "",
|
||||||
"add": ""
|
"add": ""
|
||||||
|
|||||||
@@ -1067,6 +1067,15 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"hideIcon": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"hideHostname": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"openNewTab": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
"items": {
|
"items": {
|
||||||
"label": "",
|
"label": "",
|
||||||
"add": ""
|
"add": ""
|
||||||
|
|||||||
@@ -1067,6 +1067,15 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"hideIcon": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"hideHostname": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"openNewTab": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
"items": {
|
"items": {
|
||||||
"label": "",
|
"label": "",
|
||||||
"add": ""
|
"add": ""
|
||||||
|
|||||||
@@ -1067,6 +1067,15 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"hideIcon": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"hideHostname": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"openNewTab": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
"items": {
|
"items": {
|
||||||
"label": "",
|
"label": "",
|
||||||
"add": ""
|
"add": ""
|
||||||
|
|||||||
@@ -1067,6 +1067,15 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"hideIcon": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"hideHostname": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"openNewTab": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
"items": {
|
"items": {
|
||||||
"label": "Bladwijzers",
|
"label": "Bladwijzers",
|
||||||
"add": "Bladwijzer toevoegen"
|
"add": "Bladwijzer toevoegen"
|
||||||
|
|||||||
@@ -1067,6 +1067,15 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"hideIcon": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"hideHostname": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"openNewTab": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
"items": {
|
"items": {
|
||||||
"label": "",
|
"label": "",
|
||||||
"add": ""
|
"add": ""
|
||||||
|
|||||||
@@ -1067,6 +1067,15 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"hideIcon": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"hideHostname": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"openNewTab": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
"items": {
|
"items": {
|
||||||
"label": "Zakładki",
|
"label": "Zakładki",
|
||||||
"add": "Dodaj zakładkę"
|
"add": "Dodaj zakładkę"
|
||||||
|
|||||||
@@ -1067,6 +1067,15 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"hideIcon": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"hideHostname": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"openNewTab": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
"items": {
|
"items": {
|
||||||
"label": "",
|
"label": "",
|
||||||
"add": ""
|
"add": ""
|
||||||
|
|||||||
@@ -1067,6 +1067,15 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"hideIcon": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"hideHostname": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"openNewTab": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
"items": {
|
"items": {
|
||||||
"label": "",
|
"label": "",
|
||||||
"add": ""
|
"add": ""
|
||||||
|
|||||||
@@ -1067,6 +1067,15 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"hideIcon": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"hideHostname": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"openNewTab": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
"items": {
|
"items": {
|
||||||
"label": "Закладки",
|
"label": "Закладки",
|
||||||
"add": "Добавить закладку"
|
"add": "Добавить закладку"
|
||||||
|
|||||||
@@ -1067,6 +1067,15 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"hideIcon": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"hideHostname": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"openNewTab": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
"items": {
|
"items": {
|
||||||
"label": "Záložky",
|
"label": "Záložky",
|
||||||
"add": "Pridať záložku"
|
"add": "Pridať záložku"
|
||||||
|
|||||||
@@ -1067,6 +1067,15 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"hideIcon": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"hideHostname": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"openNewTab": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
"items": {
|
"items": {
|
||||||
"label": "",
|
"label": "",
|
||||||
"add": ""
|
"add": ""
|
||||||
|
|||||||
@@ -1067,6 +1067,15 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"hideIcon": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"hideHostname": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"openNewTab": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
"items": {
|
"items": {
|
||||||
"label": "",
|
"label": "",
|
||||||
"add": ""
|
"add": ""
|
||||||
|
|||||||
@@ -787,7 +787,7 @@
|
|||||||
"label": "URL'yi kopyala"
|
"label": "URL'yi kopyala"
|
||||||
},
|
},
|
||||||
"open": {
|
"open": {
|
||||||
"label": ""
|
"label": "Medyayı aç"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -1067,6 +1067,15 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"hideIcon": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"hideHostname": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"openNewTab": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
"items": {
|
"items": {
|
||||||
"label": "Yer İmleri",
|
"label": "Yer İmleri",
|
||||||
"add": "Yer imi ekle"
|
"add": "Yer imi ekle"
|
||||||
@@ -3178,7 +3187,7 @@
|
|||||||
"noResults": {
|
"noResults": {
|
||||||
"title": "Henüz sertifika yok"
|
"title": "Henüz sertifika yok"
|
||||||
},
|
},
|
||||||
"expires": "{when} Sonra Süresi Doluyor"
|
"expires": "{when} süresi doluyor"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"action": {
|
"action": {
|
||||||
|
|||||||
@@ -645,7 +645,7 @@
|
|||||||
},
|
},
|
||||||
"invalidUrl": {
|
"invalidUrl": {
|
||||||
"title": "Неправильна URL-адреса",
|
"title": "Неправильна URL-адреса",
|
||||||
"message": ""
|
"message": "Невірна URL-адреса"
|
||||||
},
|
},
|
||||||
"secretNotDefined": {
|
"secretNotDefined": {
|
||||||
"title": "",
|
"title": "",
|
||||||
@@ -677,7 +677,7 @@
|
|||||||
},
|
},
|
||||||
"internalServerError": {
|
"internalServerError": {
|
||||||
"title": "Внутрішня помилка сервера",
|
"title": "Внутрішня помилка сервера",
|
||||||
"message": ""
|
"message": "На сервері сталася помилка"
|
||||||
},
|
},
|
||||||
"serviceUnavailable": {
|
"serviceUnavailable": {
|
||||||
"title": "",
|
"title": "",
|
||||||
@@ -727,8 +727,8 @@
|
|||||||
"newLabel": "Нове ім'я користувача"
|
"newLabel": "Нове ім'я користувача"
|
||||||
},
|
},
|
||||||
"apiKey": {
|
"apiKey": {
|
||||||
"label": "",
|
"label": "Ключ API",
|
||||||
"newLabel": ""
|
"newLabel": "Новий ключ API"
|
||||||
},
|
},
|
||||||
"password": {
|
"password": {
|
||||||
"label": "Пароль",
|
"label": "Пароль",
|
||||||
@@ -747,11 +747,11 @@
|
|||||||
"permission": {
|
"permission": {
|
||||||
"use": "",
|
"use": "",
|
||||||
"interact": "",
|
"interact": "",
|
||||||
"full": ""
|
"full": "Повний доступ до інтеграції"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"media": {
|
"media": {
|
||||||
"plural": "",
|
"plural": "Медіа",
|
||||||
"search": "Пошук медіафайлів",
|
"search": "Пошук медіафайлів",
|
||||||
"field": {
|
"field": {
|
||||||
"name": "Ім’я",
|
"name": "Ім’я",
|
||||||
@@ -772,7 +772,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"delete": {
|
"delete": {
|
||||||
"label": "",
|
"label": "Видалити медіа",
|
||||||
"description": "",
|
"description": "",
|
||||||
"notification": {
|
"notification": {
|
||||||
"success": {
|
"success": {
|
||||||
@@ -787,7 +787,7 @@
|
|||||||
"label": ""
|
"label": ""
|
||||||
},
|
},
|
||||||
"open": {
|
"open": {
|
||||||
"label": ""
|
"label": "Відкрити медіа"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -797,7 +797,7 @@
|
|||||||
"action": {
|
"action": {
|
||||||
"add": "Додати",
|
"add": "Додати",
|
||||||
"apply": "Застосувати",
|
"apply": "Застосувати",
|
||||||
"backToOverview": "",
|
"backToOverview": "Назад до огляду",
|
||||||
"create": "Створити",
|
"create": "Створити",
|
||||||
"edit": "Редагувати",
|
"edit": "Редагувати",
|
||||||
"import": "Імпорт",
|
"import": "Імпорт",
|
||||||
@@ -874,7 +874,7 @@
|
|||||||
"preferences": "Ваші уподобання",
|
"preferences": "Ваші уподобання",
|
||||||
"logout": "Вийти",
|
"logout": "Вийти",
|
||||||
"login": "Логін",
|
"login": "Логін",
|
||||||
"homeBoard": "",
|
"homeBoard": "Ваша домашня дошка",
|
||||||
"loggedOut": "Ви вийшли",
|
"loggedOut": "Ви вийшли",
|
||||||
"updateAvailable": ""
|
"updateAvailable": ""
|
||||||
}
|
}
|
||||||
@@ -939,8 +939,8 @@
|
|||||||
"remove": "Видалити категорію",
|
"remove": "Видалити категорію",
|
||||||
"moveUp": "Рухайся.",
|
"moveUp": "Рухайся.",
|
||||||
"moveDown": "Вниз.",
|
"moveDown": "Вниз.",
|
||||||
"createAbove": "",
|
"createAbove": "Нові категорії зверху",
|
||||||
"createBelow": ""
|
"createBelow": "Нова категорія знизу"
|
||||||
},
|
},
|
||||||
"create": {
|
"create": {
|
||||||
"title": "Нова категорія",
|
"title": "Нова категорія",
|
||||||
@@ -964,12 +964,12 @@
|
|||||||
},
|
},
|
||||||
"item": {
|
"item": {
|
||||||
"action": {
|
"action": {
|
||||||
"create": "",
|
"create": "Новий елемент",
|
||||||
"import": "",
|
"import": "Імпортувати елемент",
|
||||||
"edit": "",
|
"edit": "Редагувати елемент",
|
||||||
"moveResize": "",
|
"moveResize": "Перемістити/змінити розмір",
|
||||||
"duplicate": "",
|
"duplicate": "Дублювати елемент",
|
||||||
"remove": ""
|
"remove": "Видалити елемент"
|
||||||
},
|
},
|
||||||
"menu": {
|
"menu": {
|
||||||
"label": {
|
"label": {
|
||||||
@@ -977,12 +977,12 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"create": {
|
"create": {
|
||||||
"title": "",
|
"title": "Виберіть елемент для додавання",
|
||||||
"search": "",
|
"search": "Фільтр елементів",
|
||||||
"addToBoard": ""
|
"addToBoard": ""
|
||||||
},
|
},
|
||||||
"moveResize": {
|
"moveResize": {
|
||||||
"title": "",
|
"title": "Перемістити/змінити розмір",
|
||||||
"field": {
|
"field": {
|
||||||
"width": {
|
"width": {
|
||||||
"label": "Ширина"
|
"label": "Ширина"
|
||||||
@@ -999,14 +999,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"edit": {
|
"edit": {
|
||||||
"title": "",
|
"title": "Редагувати елемент",
|
||||||
"advancedOptions": {
|
"advancedOptions": {
|
||||||
"label": "",
|
"label": "Розширені налаштування",
|
||||||
"title": ""
|
"title": "Розширені налаштування елемента"
|
||||||
},
|
},
|
||||||
"field": {
|
"field": {
|
||||||
"integrations": {
|
"integrations": {
|
||||||
"label": ""
|
"label": "Інтеграції"
|
||||||
},
|
},
|
||||||
"customCssClasses": {
|
"customCssClasses": {
|
||||||
"label": ""
|
"label": ""
|
||||||
@@ -1014,17 +1014,17 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"remove": {
|
"remove": {
|
||||||
"title": "",
|
"title": "Видалити елемент",
|
||||||
"message": ""
|
"message": "Ви впевнені, що хочете видалити цей елемент?"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"widget": {
|
"widget": {
|
||||||
"app": {
|
"app": {
|
||||||
"name": "",
|
"name": "Додаток",
|
||||||
"description": "",
|
"description": "",
|
||||||
"option": {
|
"option": {
|
||||||
"appId": {
|
"appId": {
|
||||||
"label": ""
|
"label": "Виберіть додаток"
|
||||||
},
|
},
|
||||||
"openInNewTab": {
|
"openInNewTab": {
|
||||||
"label": "Відкрити в новій вкладці"
|
"label": "Відкрити в новій вкладці"
|
||||||
@@ -1067,6 +1067,15 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"hideIcon": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"hideHostname": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"openNewTab": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
"items": {
|
"items": {
|
||||||
"label": "",
|
"label": "",
|
||||||
"add": ""
|
"add": ""
|
||||||
@@ -1100,8 +1109,8 @@
|
|||||||
"integrationsDisconnected": ""
|
"integrationsDisconnected": ""
|
||||||
},
|
},
|
||||||
"data": {
|
"data": {
|
||||||
"adsBlockedToday": "",
|
"adsBlockedToday": "Заблоковано сьогодні",
|
||||||
"adsBlockedTodayPercentage": "",
|
"adsBlockedTodayPercentage": "Заблоковано сьогодні",
|
||||||
"dnsQueriesToday": "Запити за сьогодні",
|
"dnsQueriesToday": "Запити за сьогодні",
|
||||||
"domainsBeingBlocked": ""
|
"domainsBeingBlocked": ""
|
||||||
},
|
},
|
||||||
@@ -1135,7 +1144,7 @@
|
|||||||
"controls": {
|
"controls": {
|
||||||
"enableAll": "",
|
"enableAll": "",
|
||||||
"disableAll": "",
|
"disableAll": "",
|
||||||
"setTimer": "",
|
"setTimer": "Встановити таймер",
|
||||||
"set": "",
|
"set": "",
|
||||||
"enabled": "Увімкнено",
|
"enabled": "Увімкнено",
|
||||||
"disabled": "Вимкнено",
|
"disabled": "Вимкнено",
|
||||||
@@ -1147,7 +1156,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"clock": {
|
"clock": {
|
||||||
"name": "",
|
"name": "Дата і час",
|
||||||
"description": "Показує поточні дату і час.",
|
"description": "Показує поточні дату і час.",
|
||||||
"option": {
|
"option": {
|
||||||
"customTitleToggle": {
|
"customTitleToggle": {
|
||||||
@@ -1155,11 +1164,11 @@
|
|||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
"customTitle": {
|
"customTitle": {
|
||||||
"label": ""
|
"label": "Назва"
|
||||||
},
|
},
|
||||||
"is24HourFormat": {
|
"is24HourFormat": {
|
||||||
"label": "",
|
"label": "24-годинний формат",
|
||||||
"description": ""
|
"description": "Використовувати 24-годинний формат замість 12-годинного"
|
||||||
},
|
},
|
||||||
"showSeconds": {
|
"showSeconds": {
|
||||||
"label": ""
|
"label": ""
|
||||||
@@ -1175,28 +1184,28 @@
|
|||||||
"label": ""
|
"label": ""
|
||||||
},
|
},
|
||||||
"dateFormat": {
|
"dateFormat": {
|
||||||
"label": "",
|
"label": "Формат дати",
|
||||||
"description": ""
|
"description": "Як має виглядати дата"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"minecraftServerStatus": {
|
"minecraftServerStatus": {
|
||||||
"name": "",
|
"name": "Статус сервера Minecraft",
|
||||||
"description": "",
|
"description": "",
|
||||||
"option": {
|
"option": {
|
||||||
"title": {
|
"title": {
|
||||||
"label": ""
|
"label": "Назва"
|
||||||
},
|
},
|
||||||
"domain": {
|
"domain": {
|
||||||
"label": ""
|
"label": "Адреса сервера"
|
||||||
},
|
},
|
||||||
"isBedrockServer": {
|
"isBedrockServer": {
|
||||||
"label": ""
|
"label": ""
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"status": {
|
"status": {
|
||||||
"online": "",
|
"online": "Онлайн",
|
||||||
"offline": ""
|
"offline": "Офлайн"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"notebook": {
|
"notebook": {
|
||||||
@@ -1214,13 +1223,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"controls": {
|
"controls": {
|
||||||
"bold": "",
|
"bold": "Жирний",
|
||||||
"italic": "",
|
"italic": "Курсив",
|
||||||
"strikethrough": "",
|
"strikethrough": "",
|
||||||
"underline": "",
|
"underline": "",
|
||||||
"colorText": "",
|
"colorText": "Колір тексту",
|
||||||
"colorHighlight": "",
|
"colorHighlight": "",
|
||||||
"code": "",
|
"code": "Код",
|
||||||
"clear": "",
|
"clear": "",
|
||||||
"heading": "",
|
"heading": "",
|
||||||
"align": "",
|
"align": "",
|
||||||
@@ -1231,8 +1240,8 @@
|
|||||||
"checkList": "",
|
"checkList": "",
|
||||||
"increaseIndent": "",
|
"increaseIndent": "",
|
||||||
"decreaseIndent": "",
|
"decreaseIndent": "",
|
||||||
"link": "",
|
"link": "Посилання",
|
||||||
"unlink": "",
|
"unlink": "Видалити посилання",
|
||||||
"image": "",
|
"image": "",
|
||||||
"addTable": "",
|
"addTable": "",
|
||||||
"deleteTable": "",
|
"deleteTable": "",
|
||||||
@@ -1338,9 +1347,9 @@
|
|||||||
"releaseType": {
|
"releaseType": {
|
||||||
"label": "Radarr - тип релізів",
|
"label": "Radarr - тип релізів",
|
||||||
"options": {
|
"options": {
|
||||||
"inCinemas": "",
|
"inCinemas": "У кінотеатрі",
|
||||||
"digitalRelease": "",
|
"digitalRelease": "Цифровий випуск",
|
||||||
"physicalRelease": ""
|
"physicalRelease": "Фізичний випуск"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"filterPastMonths": {
|
"filterPastMonths": {
|
||||||
@@ -1497,18 +1506,18 @@
|
|||||||
},
|
},
|
||||||
"common": {
|
"common": {
|
||||||
"location": {
|
"location": {
|
||||||
"query": "",
|
"query": "Місто / Поштовий індекс",
|
||||||
"latitude": "",
|
"latitude": "",
|
||||||
"longitude": "",
|
"longitude": "",
|
||||||
"disabledTooltip": "",
|
"disabledTooltip": "Введіть місто або поштовий індекс",
|
||||||
"unknownLocation": "",
|
"unknownLocation": "Невідоме місцерозташування",
|
||||||
"search": "Пошук",
|
"search": "Пошук",
|
||||||
"table": {
|
"table": {
|
||||||
"header": {
|
"header": {
|
||||||
"city": "",
|
"city": "Місто",
|
||||||
"country": "",
|
"country": "Країна",
|
||||||
"coordinates": "",
|
"coordinates": "Координати",
|
||||||
"population": ""
|
"population": "Населення"
|
||||||
},
|
},
|
||||||
"action": {
|
"action": {
|
||||||
"select": ""
|
"select": ""
|
||||||
@@ -1560,9 +1569,9 @@
|
|||||||
"description": "",
|
"description": "",
|
||||||
"option": {},
|
"option": {},
|
||||||
"items": {
|
"items": {
|
||||||
"user": "",
|
"user": "Користувач",
|
||||||
"name": "",
|
"name": "",
|
||||||
"id": ""
|
"id": "Id"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"downloads": {
|
"downloads": {
|
||||||
@@ -1621,11 +1630,11 @@
|
|||||||
"detailsTitle": "Швидкість завантаження"
|
"detailsTitle": "Швидкість завантаження"
|
||||||
},
|
},
|
||||||
"index": {
|
"index": {
|
||||||
"columnTitle": "",
|
"columnTitle": "#",
|
||||||
"detailsTitle": ""
|
"detailsTitle": ""
|
||||||
},
|
},
|
||||||
"id": {
|
"id": {
|
||||||
"columnTitle": ""
|
"columnTitle": "Id"
|
||||||
},
|
},
|
||||||
"integration": {
|
"integration": {
|
||||||
"columnTitle": "Інтеграція"
|
"columnTitle": "Інтеграція"
|
||||||
@@ -1650,7 +1659,7 @@
|
|||||||
"detailsTitle": ""
|
"detailsTitle": ""
|
||||||
},
|
},
|
||||||
"size": {
|
"size": {
|
||||||
"columnTitle": "",
|
"columnTitle": "Розмір файлу",
|
||||||
"detailsTitle": ""
|
"detailsTitle": ""
|
||||||
},
|
},
|
||||||
"state": {
|
"state": {
|
||||||
@@ -1662,7 +1671,7 @@
|
|||||||
"detailsTitle": ""
|
"detailsTitle": ""
|
||||||
},
|
},
|
||||||
"type": {
|
"type": {
|
||||||
"columnTitle": "",
|
"columnTitle": "Тип",
|
||||||
"detailsTitle": ""
|
"detailsTitle": ""
|
||||||
},
|
},
|
||||||
"upSpeed": {
|
"upSpeed": {
|
||||||
@@ -1696,7 +1705,7 @@
|
|||||||
"pause": "",
|
"pause": "",
|
||||||
"resume": "",
|
"resume": "",
|
||||||
"delete": {
|
"delete": {
|
||||||
"title": "",
|
"title": "Видалити елемент",
|
||||||
"modalTitle": "",
|
"modalTitle": "",
|
||||||
"entry": "",
|
"entry": "",
|
||||||
"entryAndFiles": ""
|
"entryAndFiles": ""
|
||||||
@@ -1706,7 +1715,7 @@
|
|||||||
"globalRatio": ""
|
"globalRatio": ""
|
||||||
},
|
},
|
||||||
"mediaRequests-requestList": {
|
"mediaRequests-requestList": {
|
||||||
"name": "",
|
"name": "Список медіа запитів",
|
||||||
"description": "Перегляньте список усіх медіазапитів від ваших Overseerr або Jellyseerr",
|
"description": "Перегляньте список усіх медіазапитів від ваших Overseerr або Jellyseerr",
|
||||||
"option": {
|
"option": {
|
||||||
"linksTargetNewTab": {
|
"linksTargetNewTab": {
|
||||||
@@ -1714,21 +1723,21 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pending": {
|
"pending": {
|
||||||
"approve": "",
|
"approve": "Схвалити запит",
|
||||||
"approving": "",
|
"approving": "",
|
||||||
"decline": ""
|
"decline": "Відхилити запит"
|
||||||
},
|
},
|
||||||
"availability": {
|
"availability": {
|
||||||
"unknown": "Невідомо",
|
"unknown": "Невідомо",
|
||||||
"pending": "",
|
"pending": "В очікуванні",
|
||||||
"processing": "",
|
"processing": "В обробці",
|
||||||
"partiallyAvailable": "",
|
"partiallyAvailable": "",
|
||||||
"available": ""
|
"available": "Доступно"
|
||||||
},
|
},
|
||||||
"toBeDetermined": ""
|
"toBeDetermined": ""
|
||||||
},
|
},
|
||||||
"mediaRequests-requestStats": {
|
"mediaRequests-requestStats": {
|
||||||
"name": "",
|
"name": "Статистика медіазапитів",
|
||||||
"description": "Статистика ваших запитів у медіа",
|
"description": "Статистика ваших запитів у медіа",
|
||||||
"option": {},
|
"option": {},
|
||||||
"titles": {
|
"titles": {
|
||||||
@@ -1736,16 +1745,16 @@
|
|||||||
"main": "Медіа-статистика",
|
"main": "Медіа-статистика",
|
||||||
"approved": "Вже затверджено",
|
"approved": "Вже затверджено",
|
||||||
"pending": "Очікує схвалення",
|
"pending": "Очікує схвалення",
|
||||||
"processing": "",
|
"processing": "Обробляється",
|
||||||
"declined": "",
|
"declined": "Вже відхилено",
|
||||||
"available": "",
|
"available": "Вже доступно",
|
||||||
"tv": "Запити на ТБ",
|
"tv": "Запити на серіали",
|
||||||
"movie": "Запити на фільми",
|
"movie": "Запити на фільми",
|
||||||
"total": "Всього"
|
"total": "Всього"
|
||||||
},
|
},
|
||||||
"users": {
|
"users": {
|
||||||
"main": "Найкращі користувачі",
|
"main": "Найкращі користувачі",
|
||||||
"requests": ""
|
"requests": "Запитів"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -2033,7 +2042,7 @@
|
|||||||
"title": "Фон"
|
"title": "Фон"
|
||||||
},
|
},
|
||||||
"color": {
|
"color": {
|
||||||
"title": ""
|
"title": "Кольори"
|
||||||
},
|
},
|
||||||
"customCss": {
|
"customCss": {
|
||||||
"title": ""
|
"title": ""
|
||||||
@@ -2043,7 +2052,7 @@
|
|||||||
"permission": {
|
"permission": {
|
||||||
"item": {
|
"item": {
|
||||||
"view": {
|
"view": {
|
||||||
"label": "Дошка оголошень"
|
"label": "Перегляд дошки"
|
||||||
},
|
},
|
||||||
"modify": {
|
"modify": {
|
||||||
"label": ""
|
"label": ""
|
||||||
@@ -2187,7 +2196,7 @@
|
|||||||
"statistic": {
|
"statistic": {
|
||||||
"board": "Дошки",
|
"board": "Дошки",
|
||||||
"user": "Користувачі",
|
"user": "Користувачі",
|
||||||
"invite": "Запрошує",
|
"invite": "Запрошення",
|
||||||
"integration": "",
|
"integration": "",
|
||||||
"app": "Додатки",
|
"app": "Додатки",
|
||||||
"group": ""
|
"group": ""
|
||||||
@@ -2260,7 +2269,7 @@
|
|||||||
"general": {
|
"general": {
|
||||||
"title": "Загальне",
|
"title": "Загальне",
|
||||||
"item": {
|
"item": {
|
||||||
"language": "",
|
"language": "Мова та Регіон",
|
||||||
"board": {
|
"board": {
|
||||||
"title": "",
|
"title": "",
|
||||||
"type": {
|
"type": {
|
||||||
@@ -2321,14 +2330,14 @@
|
|||||||
"title": "Керування запрошеннями користувачів",
|
"title": "Керування запрошеннями користувачів",
|
||||||
"action": {
|
"action": {
|
||||||
"new": {
|
"new": {
|
||||||
"title": "",
|
"title": "Нове запрошення",
|
||||||
"description": "Після закінчення терміну дії запрошення буде недійсним, і одержувач запрошення не зможе створити обліковий запис."
|
"description": "Після закінчення терміну дії запрошення буде недійсним, і одержувач запрошення не зможе створити обліковий запис."
|
||||||
},
|
},
|
||||||
"copy": {
|
"copy": {
|
||||||
"title": "",
|
"title": "Копіювати запрошення",
|
||||||
"description": "",
|
"description": "",
|
||||||
"link": "Посилання на запрошення",
|
"link": "Посилання на запрошення",
|
||||||
"button": ""
|
"button": "Копіювати та закрити"
|
||||||
},
|
},
|
||||||
"delete": {
|
"delete": {
|
||||||
"title": "Видалити запрошення",
|
"title": "Видалити запрошення",
|
||||||
@@ -2346,7 +2355,7 @@
|
|||||||
"label": "Термін придатності"
|
"label": "Термін придатності"
|
||||||
},
|
},
|
||||||
"token": {
|
"token": {
|
||||||
"label": "Токен."
|
"label": "Токен"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2761,7 +2770,7 @@
|
|||||||
"label": ""
|
"label": ""
|
||||||
},
|
},
|
||||||
"invites": {
|
"invites": {
|
||||||
"label": "Запрошує"
|
"label": "Запрошення"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tools": {
|
"tools": {
|
||||||
@@ -2879,7 +2888,7 @@
|
|||||||
"label": ""
|
"label": ""
|
||||||
},
|
},
|
||||||
"newInvite": {
|
"newInvite": {
|
||||||
"label": ""
|
"label": "Створити нове запрошення"
|
||||||
},
|
},
|
||||||
"newGroup": {
|
"newGroup": {
|
||||||
"label": ""
|
"label": ""
|
||||||
|
|||||||
@@ -1067,6 +1067,15 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"hideIcon": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"hideHostname": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"openNewTab": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
"items": {
|
"items": {
|
||||||
"label": "",
|
"label": "",
|
||||||
"add": ""
|
"add": ""
|
||||||
|
|||||||
@@ -1067,6 +1067,15 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"hideIcon": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"hideHostname": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
|
"openNewTab": {
|
||||||
|
"label": ""
|
||||||
|
},
|
||||||
"items": {
|
"items": {
|
||||||
"label": "書籤",
|
"label": "書籤",
|
||||||
"add": "新增書籤"
|
"add": "新增書籤"
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import { Anchor, Box, Card, Divider, Flex, Group, Stack, Text, Title, UnstyledButton } from "@mantine/core";
|
import { Anchor, Box, Card, Divider, Flex, Group, Image, Stack, Text, Title, UnstyledButton } from "@mantine/core";
|
||||||
|
|
||||||
import type { RouterOutputs } from "@homarr/api";
|
import type { RouterOutputs } from "@homarr/api";
|
||||||
import { clientApi } from "@homarr/api/client";
|
import { clientApi } from "@homarr/api/client";
|
||||||
@@ -42,8 +42,25 @@ export default function BookmarksWidget({ options, width, height, itemId }: Widg
|
|||||||
<Title order={4} px="0.25rem">
|
<Title order={4} px="0.25rem">
|
||||||
{options.title}
|
{options.title}
|
||||||
</Title>
|
</Title>
|
||||||
{options.layout === "grid" && <GridLayout data={data} width={width} height={height} />}
|
{options.layout === "grid" && (
|
||||||
{options.layout !== "grid" && <FlexLayout data={data} direction={options.layout} />}
|
<GridLayout
|
||||||
|
data={data}
|
||||||
|
width={width}
|
||||||
|
height={height}
|
||||||
|
hideIcon={options.hideIcon}
|
||||||
|
hideHostname={options.hideHostname}
|
||||||
|
openNewTab={options.openNewTab}
|
||||||
|
/>
|
||||||
|
)}
|
||||||
|
{options.layout !== "grid" && (
|
||||||
|
<FlexLayout
|
||||||
|
data={data}
|
||||||
|
direction={options.layout}
|
||||||
|
hideIcon={options.hideIcon}
|
||||||
|
hideHostname={options.hideHostname}
|
||||||
|
openNewTab={options.openNewTab}
|
||||||
|
/>
|
||||||
|
)}
|
||||||
</Stack>
|
</Stack>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -51,9 +68,12 @@ export default function BookmarksWidget({ options, width, height, itemId }: Widg
|
|||||||
interface FlexLayoutProps {
|
interface FlexLayoutProps {
|
||||||
data: RouterOutputs["app"]["byIds"];
|
data: RouterOutputs["app"]["byIds"];
|
||||||
direction: "row" | "column";
|
direction: "row" | "column";
|
||||||
|
hideIcon: boolean;
|
||||||
|
hideHostname: boolean;
|
||||||
|
openNewTab: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
const FlexLayout = ({ data, direction }: FlexLayoutProps) => {
|
const FlexLayout = ({ data, direction, hideIcon, hideHostname, openNewTab }: FlexLayoutProps) => {
|
||||||
return (
|
return (
|
||||||
<Flex direction={direction} gap="0" h="100%" w="100%">
|
<Flex direction={direction} gap="0" h="100%" w="100%">
|
||||||
{data.map((app, index) => (
|
{data.map((app, index) => (
|
||||||
@@ -66,7 +86,7 @@ const FlexLayout = ({ data, direction }: FlexLayoutProps) => {
|
|||||||
<UnstyledButton
|
<UnstyledButton
|
||||||
component="a"
|
component="a"
|
||||||
href={app.href ?? undefined}
|
href={app.href ?? undefined}
|
||||||
target="_blank"
|
target={openNewTab ? "_blank" : "_self"}
|
||||||
rel="noopener noreferrer"
|
rel="noopener noreferrer"
|
||||||
key={app.id}
|
key={app.id}
|
||||||
h="100%"
|
h="100%"
|
||||||
@@ -81,7 +101,11 @@ const FlexLayout = ({ data, direction }: FlexLayoutProps) => {
|
|||||||
display="flex"
|
display="flex"
|
||||||
p={0}
|
p={0}
|
||||||
>
|
>
|
||||||
{direction === "row" ? <VerticalItem app={app} /> : <HorizontalItem app={app} />}
|
{direction === "row" ? (
|
||||||
|
<VerticalItem app={app} hideIcon={hideIcon} hideHostname={hideHostname} />
|
||||||
|
) : (
|
||||||
|
<HorizontalItem app={app} hideIcon={hideIcon} hideHostname={hideHostname} />
|
||||||
|
)}
|
||||||
</Card>
|
</Card>
|
||||||
</UnstyledButton>
|
</UnstyledButton>
|
||||||
</div>
|
</div>
|
||||||
@@ -94,9 +118,12 @@ interface GridLayoutProps {
|
|||||||
data: RouterOutputs["app"]["byIds"];
|
data: RouterOutputs["app"]["byIds"];
|
||||||
width: number;
|
width: number;
|
||||||
height: number;
|
height: number;
|
||||||
|
hideIcon: boolean;
|
||||||
|
hideHostname: boolean;
|
||||||
|
openNewTab: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
const GridLayout = ({ data, width, height }: GridLayoutProps) => {
|
const GridLayout = ({ data, width, height, hideIcon, hideHostname, openNewTab }: GridLayoutProps) => {
|
||||||
// Calculates the perfect number of columns for the grid layout based on the width and height in pixels and the number of items
|
// Calculates the perfect number of columns for the grid layout based on the width and height in pixels and the number of items
|
||||||
const columns = Math.ceil(Math.sqrt(data.length * (width / height)));
|
const columns = Math.ceil(Math.sqrt(data.length * (width / height)));
|
||||||
|
|
||||||
@@ -113,13 +140,13 @@ const GridLayout = ({ data, width, height }: GridLayoutProps) => {
|
|||||||
<UnstyledButton
|
<UnstyledButton
|
||||||
component="a"
|
component="a"
|
||||||
href={app.href ?? undefined}
|
href={app.href ?? undefined}
|
||||||
target="_blank"
|
target={openNewTab ? "_blank" : "_self"}
|
||||||
rel="noopener noreferrer"
|
rel="noopener noreferrer"
|
||||||
key={app.id}
|
key={app.id}
|
||||||
h="100%"
|
h="100%"
|
||||||
>
|
>
|
||||||
<Card withBorder style={{ containerType: "size" }} h="100%" className={classes.card} p="5cqmin">
|
<Card withBorder style={{ containerType: "size" }} h="100%" className={classes.card} p="5cqmin">
|
||||||
<VerticalItem app={app} />
|
<VerticalItem app={app} hideIcon={hideIcon} hideHostname={hideHostname} />
|
||||||
</Card>
|
</Card>
|
||||||
</UnstyledButton>
|
</UnstyledButton>
|
||||||
))}
|
))}
|
||||||
@@ -127,55 +154,79 @@ const GridLayout = ({ data, width, height }: GridLayoutProps) => {
|
|||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
const VerticalItem = ({ app }: { app: RouterOutputs["app"]["byIds"][number] }) => {
|
const VerticalItem = ({
|
||||||
|
app,
|
||||||
|
hideIcon,
|
||||||
|
hideHostname,
|
||||||
|
}: {
|
||||||
|
app: RouterOutputs["app"]["byIds"][number];
|
||||||
|
hideIcon: boolean;
|
||||||
|
hideHostname: boolean;
|
||||||
|
}) => {
|
||||||
return (
|
return (
|
||||||
<Stack h="100%" gap="5cqmin">
|
<Stack h="100%" gap="5cqmin">
|
||||||
<Text fw={700} ta="center" size="20cqmin">
|
<Text fw={700} ta="center" size="20cqmin">
|
||||||
{app.name}
|
{app.name}
|
||||||
</Text>
|
</Text>
|
||||||
<img
|
{!hideIcon && (
|
||||||
style={{
|
<Image
|
||||||
maxHeight: "100%",
|
style={{
|
||||||
maxWidth: "100%",
|
maxHeight: "100%",
|
||||||
overflow: "auto",
|
maxWidth: "100%",
|
||||||
flex: 1,
|
overflow: "auto",
|
||||||
objectFit: "contain",
|
flex: 1,
|
||||||
scale: 0.8,
|
objectFit: "contain",
|
||||||
}}
|
scale: 0.8,
|
||||||
src={app.iconUrl}
|
}}
|
||||||
alt={app.name}
|
src={app.iconUrl}
|
||||||
/>
|
alt={app.name}
|
||||||
<Anchor ta="center" component="span" size="12cqmin">
|
/>
|
||||||
{app.href ? new URL(app.href).hostname : undefined}
|
)}
|
||||||
</Anchor>
|
{!hideHostname && (
|
||||||
|
<Anchor ta="center" component="span" size="12cqmin">
|
||||||
|
{app.href ? new URL(app.href).hostname : undefined}
|
||||||
|
</Anchor>
|
||||||
|
)}
|
||||||
</Stack>
|
</Stack>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
const HorizontalItem = ({ app }: { app: RouterOutputs["app"]["byIds"][number] }) => {
|
const HorizontalItem = ({
|
||||||
|
app,
|
||||||
|
hideIcon,
|
||||||
|
hideHostname,
|
||||||
|
}: {
|
||||||
|
app: RouterOutputs["app"]["byIds"][number];
|
||||||
|
hideIcon: boolean;
|
||||||
|
hideHostname: boolean;
|
||||||
|
}) => {
|
||||||
return (
|
return (
|
||||||
<Group wrap="nowrap">
|
<Group wrap="nowrap">
|
||||||
<img
|
{!hideIcon && (
|
||||||
style={{
|
<Image
|
||||||
overflow: "auto",
|
style={{
|
||||||
objectFit: "contain",
|
overflow: "auto",
|
||||||
scale: 0.8,
|
objectFit: "contain",
|
||||||
minHeight: "100cqh",
|
scale: 0.8,
|
||||||
maxHeight: "100cqh",
|
minHeight: "100cqh",
|
||||||
minWidth: "100cqh",
|
maxHeight: "100cqh",
|
||||||
maxWidth: "100cqh",
|
minWidth: "100cqh",
|
||||||
}}
|
maxWidth: "100cqh",
|
||||||
src={app.iconUrl}
|
}}
|
||||||
alt={app.name}
|
src={app.iconUrl}
|
||||||
/>
|
alt={app.name}
|
||||||
|
/>
|
||||||
|
)}
|
||||||
<Stack justify="space-between" gap={0}>
|
<Stack justify="space-between" gap={0}>
|
||||||
<Text fw={700} size="45cqh" lineClamp={1}>
|
<Text fw={700} size="45cqh" lineClamp={1}>
|
||||||
{app.name}
|
{app.name}
|
||||||
</Text>
|
</Text>
|
||||||
|
|
||||||
<Anchor component="span" size="30cqh">
|
{!hideHostname && (
|
||||||
{app.href ? new URL(app.href).hostname : undefined}
|
<Anchor component="span" size="30cqh">
|
||||||
</Anchor>
|
{app.href ? new URL(app.href).hostname : undefined}
|
||||||
|
</Anchor>
|
||||||
|
)}
|
||||||
</Stack>
|
</Stack>
|
||||||
</Group>
|
</Group>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -19,6 +19,9 @@ export const { definition, componentLoader } = createWidgetDefinition("bookmarks
|
|||||||
})),
|
})),
|
||||||
defaultValue: "column",
|
defaultValue: "column",
|
||||||
}),
|
}),
|
||||||
|
hideIcon: factory.switch({ defaultValue: false }),
|
||||||
|
hideHostname: factory.switch({ defaultValue: false }),
|
||||||
|
openNewTab: factory.switch({ defaultValue: true }),
|
||||||
items: factory.sortableItemList<RouterOutputs["app"]["all"][number], string>({
|
items: factory.sortableItemList<RouterOutputs["app"]["all"][number], string>({
|
||||||
ItemComponent: ({ item, handle: Handle, removeItem, rootAttributes }) => {
|
ItemComponent: ({ item, handle: Handle, removeItem, rootAttributes }) => {
|
||||||
return (
|
return (
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ export default function ClockWidget({ options }: WidgetComponentProps<"clock">)
|
|||||||
{dayjs(time).tz(timezone).format(timeFormat)}
|
{dayjs(time).tz(timezone).format(timeFormat)}
|
||||||
</Text>
|
</Text>
|
||||||
{options.showDate && (
|
{options.showDate && (
|
||||||
<Text className="clock-date-text" size="12.5cqmin" pt="1cqmin" lineClamp={1}>
|
<Text className="clock-date-text" size="12.5cqmin" p="1cqmin" lineClamp={1}>
|
||||||
{dayjs(time).tz(timezone).format(dateFormat)}
|
{dayjs(time).tz(timezone).format(dateFormat)}
|
||||||
</Text>
|
</Text>
|
||||||
)}
|
)}
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import dayjs from "dayjs";
|
|||||||
import duration from "dayjs/plugin/duration";
|
import duration from "dayjs/plugin/duration";
|
||||||
|
|
||||||
import { clientApi } from "@homarr/api/client";
|
import { clientApi } from "@homarr/api/client";
|
||||||
|
import { useI18n } from "@homarr/translation/client";
|
||||||
|
|
||||||
import type { WidgetComponentProps } from "../definition";
|
import type { WidgetComponentProps } from "../definition";
|
||||||
import { ClusterHealthMonitoring } from "./cluster/cluster-health";
|
import { ClusterHealthMonitoring } from "./cluster/cluster-health";
|
||||||
@@ -14,6 +15,7 @@ dayjs.extend(duration);
|
|||||||
|
|
||||||
export default function HealthMonitoringWidget(props: WidgetComponentProps<"healthMonitoring">) {
|
export default function HealthMonitoringWidget(props: WidgetComponentProps<"healthMonitoring">) {
|
||||||
const [integrations] = clientApi.integration.byIds.useSuspenseQuery(props.integrationIds);
|
const [integrations] = clientApi.integration.byIds.useSuspenseQuery(props.integrationIds);
|
||||||
|
const t = useI18n();
|
||||||
|
|
||||||
const proxmoxIntegrationId = integrations.find((integration) => integration.kind === "proxmox")?.id;
|
const proxmoxIntegrationId = integrations.find((integration) => integration.kind === "proxmox")?.id;
|
||||||
|
|
||||||
@@ -43,14 +45,14 @@ export default function HealthMonitoringWidget(props: WidgetComponentProps<"heal
|
|||||||
<Tabs defaultValue={props.options.defaultTab} variant="outline">
|
<Tabs defaultValue={props.options.defaultTab} variant="outline">
|
||||||
<Tabs.List grow>
|
<Tabs.List grow>
|
||||||
<Tabs.Tab value="system">
|
<Tabs.Tab value="system">
|
||||||
<b>System</b>
|
<b>{t("widget.healthMonitoring.tab.system")}</b>
|
||||||
</Tabs.Tab>
|
</Tabs.Tab>
|
||||||
<Tabs.Tab value="cluster">
|
<Tabs.Tab value="cluster">
|
||||||
<b>Cluster</b>
|
<b>{t("widget.healthMonitoring.tab.cluster")}</b>
|
||||||
</Tabs.Tab>
|
</Tabs.Tab>
|
||||||
</Tabs.List>
|
</Tabs.List>
|
||||||
<Tabs.Panel mt="lg" value="system">
|
<Tabs.Panel mt="lg" value="system">
|
||||||
<SystemHealthMonitoring {...props} />
|
<SystemHealthMonitoring {...props} integrationIds={otherIntegrationIds} />
|
||||||
</Tabs.Panel>
|
</Tabs.Panel>
|
||||||
<Tabs.Panel mt="lg" value="cluster">
|
<Tabs.Panel mt="lg" value="cluster">
|
||||||
<ClusterHealthMonitoring integrationId={proxmoxIntegrationId} {...props} />
|
<ClusterHealthMonitoring integrationId={proxmoxIntegrationId} {...props} />
|
||||||
|
|||||||
563
pnpm-lock.yaml
generated
563
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
@@ -19,7 +19,7 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@next/eslint-plugin-next": "^15.1.6",
|
"@next/eslint-plugin-next": "^15.1.6",
|
||||||
"eslint-config-prettier": "^10.0.1",
|
"eslint-config-prettier": "^10.0.1",
|
||||||
"eslint-config-turbo": "^2.3.3",
|
"eslint-config-turbo": "^2.3.4",
|
||||||
"eslint-plugin-import": "^2.31.0",
|
"eslint-plugin-import": "^2.31.0",
|
||||||
"eslint-plugin-jsx-a11y": "^6.10.2",
|
"eslint-plugin-jsx-a11y": "^6.10.2",
|
||||||
"eslint-plugin-react": "^7.37.4",
|
"eslint-plugin-react": "^7.37.4",
|
||||||
|
|||||||
Reference in New Issue
Block a user