From bf8c10bb61f6eff1b3c27f8fe6f637b6aa99c331 Mon Sep 17 00:00:00 2001 From: Xinos Date: Sat, 12 Aug 2023 14:44:54 +0700 Subject: [PATCH 01/48] OMV widget implementation --- public/locales/en/common.json | 8 + src/utils/config/service-helpers.js | 4 + src/widgets/components.js | 1 + src/widgets/openmediavault/component.jsx | 16 ++ .../methods/downloader_get_downloadlist.jsx | 36 +++++ .../methods/services_get_status.jsx | 43 +++++ .../openmediavault/methods/smart_get_list.jsx | 42 +++++ src/widgets/openmediavault/proxy.js | 151 ++++++++++++++++++ src/widgets/openmediavault/widget.js | 8 + src/widgets/widgets.js | 2 + 10 files changed, 311 insertions(+) create mode 100644 src/widgets/openmediavault/component.jsx create mode 100644 src/widgets/openmediavault/methods/downloader_get_downloadlist.jsx create mode 100644 src/widgets/openmediavault/methods/services_get_status.jsx create mode 100644 src/widgets/openmediavault/methods/smart_get_list.jsx create mode 100644 src/widgets/openmediavault/proxy.js create mode 100644 src/widgets/openmediavault/widget.js diff --git a/public/locales/en/common.json b/public/locales/en/common.json index 53e76bd98..dc4fcd00d 100644 --- a/public/locales/en/common.json +++ b/public/locales/en/common.json @@ -701,5 +701,13 @@ "errored": "Errors", "noRecent": "Out of Date", "totalUsed": "Used Storage" + }, + "openmediavault": { + "downloading": "Downloading", + "total": "Total", + "running": "Running", + "stopped": "Stopped", + "passed": "Passed", + "failed": "Failed" } } diff --git a/src/utils/config/service-helpers.js b/src/utils/config/service-helpers.js index 83b4b07bc..4488277ad 100644 --- a/src/utils/config/service-helpers.js +++ b/src/utils/config/service-helpers.js @@ -298,6 +298,7 @@ export function cleanServiceGroups(groups) { metric, // glances stream, // mjpeg fit, + method, // openmediavault widget } = cleanedService.widget; let fieldsList = fields; @@ -368,6 +369,9 @@ export function cleanServiceGroups(groups) { if (stream) cleanedService.widget.stream = stream; if (fit) cleanedService.widget.fit = fit; } + if (type === "openmediavault") { + if (method) cleanedService.widget.method = method; + } } return cleanedService; diff --git a/src/widgets/components.js b/src/widgets/components.js index 0db4878c9..d6785490c 100644 --- a/src/widgets/components.js +++ b/src/widgets/components.js @@ -59,6 +59,7 @@ const components = { ombi: dynamic(() => import("./ombi/component")), opnsense: dynamic(() => import("./opnsense/component")), overseerr: dynamic(() => import("./overseerr/component")), + openmediavault: dynamic(() => import("./openmediavault/component")), paperlessngx: dynamic(() => import("./paperlessngx/component")), pfsense: dynamic(() => import("./pfsense/component")), photoprism: dynamic(() => import("./photoprism/component")), diff --git a/src/widgets/openmediavault/component.jsx b/src/widgets/openmediavault/component.jsx new file mode 100644 index 000000000..bd34a7502 --- /dev/null +++ b/src/widgets/openmediavault/component.jsx @@ -0,0 +1,16 @@ +import ServicesGetStatus from "./methods/services_get_status"; +import SmartGetList from "./methods/smart_get_list"; +import DownloaderGetDownloadList from "./methods/downloader_get_downloadlist"; + +export default function Component({ service }) { + switch (service.widget.method) { + case "services.getStatus": + return ; + case "smart.getListBg": + return ; + case "downloader.getDownloadList": + return ; + default: + return null; + } +} diff --git a/src/widgets/openmediavault/methods/downloader_get_downloadlist.jsx b/src/widgets/openmediavault/methods/downloader_get_downloadlist.jsx new file mode 100644 index 000000000..ed776db0f --- /dev/null +++ b/src/widgets/openmediavault/methods/downloader_get_downloadlist.jsx @@ -0,0 +1,36 @@ +import useWidgetAPI from "utils/proxy/use-widget-api"; +import Container from "components/services/widget/container"; +import Block from "components/services/widget/block"; + +const downloadReduce = (acc, e) => { + if (e.downloading) { + return acc + 1; + } + return acc; +}; + +const items = [ + { label: "openmediavault.downloading", getNumber: (data) => (!data ? null : data.reduce(downloadReduce, 0)) }, + { label: "openmediavault.total", getNumber: (data) => (!data ? null : data?.length) }, +]; + +export default function Component({ service }) { + const { data, error } = useWidgetAPI(service.widget); + + if (error) { + return ; + } + + const itemsWithData = items.map((item) => ({ + ...item, + number: item.getNumber(data?.response?.data), + })); + + return ( + + {itemsWithData.map((e) => ( + + ))} + + ); +} diff --git a/src/widgets/openmediavault/methods/services_get_status.jsx b/src/widgets/openmediavault/methods/services_get_status.jsx new file mode 100644 index 000000000..3ec66a45c --- /dev/null +++ b/src/widgets/openmediavault/methods/services_get_status.jsx @@ -0,0 +1,43 @@ +import useWidgetAPI from "utils/proxy/use-widget-api"; +import Container from "components/services/widget/container"; +import Block from "components/services/widget/block"; + +const isRunningReduce = (acc, e) => { + if (e.running) { + return acc + 1; + } + return acc; +}; +const notRunningReduce = (acc, e) => { + if (!e.running) { + return acc + 1; + } + return acc; +}; + +const items = [ + { label: "openmediavault.running", getNumber: (data) => (!data ? null : data.reduce(isRunningReduce, 0)) }, + { label: "openmediavault.stopped", getNumber: (data) => (!data ? null : data.reduce(notRunningReduce, 0)) }, + { label: "openmediavault.total", getNumber: (data) => (!data ? null : data?.length) }, +]; + +export default function Component({ service }) { + const { data, error } = useWidgetAPI(service.widget); + + if (error) { + return ; + } + + const itemsWithData = items.map((item) => ({ + ...item, + number: item.getNumber(data?.response?.data), + })); + + return ( + + {itemsWithData.map((e) => ( + + ))} + + ); +} diff --git a/src/widgets/openmediavault/methods/smart_get_list.jsx b/src/widgets/openmediavault/methods/smart_get_list.jsx new file mode 100644 index 000000000..55a76db67 --- /dev/null +++ b/src/widgets/openmediavault/methods/smart_get_list.jsx @@ -0,0 +1,42 @@ +import useWidgetAPI from "utils/proxy/use-widget-api"; +import Container from "components/services/widget/container"; +import Block from "components/services/widget/block"; + +const passedReduce = (acc, e) => { + if (e.overallstatus === "GOOD") { + return acc + 1; + } + return acc; +}; +const failedReduce = (acc, e) => { + if (e.overallstatus !== "GOOD") { + return acc + 1; + } + return acc; +}; + +const items = [ + { label: "openmediavault.passed", getNumber: (data) => (!data ? null : data.reduce(passedReduce, 0)) }, + { label: "openmediavault.failed", getNumber: (data) => (!data ? null : data.reduce(failedReduce, 0)) }, +]; + +export default function Component({ service }) { + const { data, error } = useWidgetAPI(service.widget); + + if (error) { + return ; + } + + const itemsWithData = items.map((item) => ({ + ...item, + number: item.getNumber(JSON.parse(data?.response?.output || "{}")?.data), + })); + + return ( + + {itemsWithData.map((e) => ( + + ))} + + ); +} diff --git a/src/widgets/openmediavault/proxy.js b/src/widgets/openmediavault/proxy.js new file mode 100644 index 000000000..a9099d244 --- /dev/null +++ b/src/widgets/openmediavault/proxy.js @@ -0,0 +1,151 @@ +import { formatApiCall } from "utils/proxy/api-helpers"; +import { httpProxy } from "utils/proxy/http"; +import getServiceWidget from "utils/config/service-helpers"; +import { addCookieToJar, setCookieHeader } from "utils/proxy/cookie-jar"; +import createLogger from "utils/logger"; +import widgets from "widgets/widgets"; + +const PROXY_NAME = "OMVProxyHandler"; +const BG_MAX_RETRIES = 50; +const BG_POLL_PERIOD = 500; + +const logger = createLogger(PROXY_NAME); + +async function getWidget(req) { + const { group, service } = req.query; + + if (!group || !service) { + logger.debug("Invalid or missing service '%s' or group '%s'", service, group); + return null; + } + + const widget = await getServiceWidget(group, service); + + if (!widget) { + logger.debug("Invalid or missing widget for service '%s' in group '%s'", service, group); + return null; + } + + return widget; +} + +async function rpc(url, request) { + const params = { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify(request), + }; + setCookieHeader(url, params); + const [status, contentType, data, headers] = await httpProxy(url, params); + + return { status, contentType, data, headers }; +} + +async function poll(attemptsLeft, makeReqByPos, pos = 0) { + if (attemptsLeft <= 0) { + return null; + } + + const resp = await makeReqByPos(pos); + + const data = JSON.parse(resp.data.toString()).response; + if (data.running === true || data.outputPending) { + await new Promise((resolve) => { + setTimeout(resolve, BG_POLL_PERIOD); + }); + return poll(attemptsLeft - 1, makeReqByPos, data.pos); + } + return resp; +} + +async function tryLogin(widget) { + const url = new URL(formatApiCall(widgets?.[widget.type]?.api, { ...widget })); + const { username, password } = widget; + const resp = await rpc(url, { + method: "login", + service: "session", + params: { username, password }, + }); + + if (resp.status !== 200) { + logger.error("HTTP %d logging in to OpenMediaVault. Data: %s", resp.status, resp.data); + return [false, resp]; + } + + const json = JSON.parse(resp.data.toString()); + if (json.response.authenticated !== true) { + logger.error("Login error in OpenMediaVault. Data: %s", resp.data); + resp.status = 401; + return [false, resp]; + } + + return [true, resp]; +} +async function processBg(url, filename) { + const resp = await poll(BG_MAX_RETRIES, (pos) => + rpc(url, { + service: "exec", + method: "getOutput", + params: { pos, filename }, + }) + ); + + if (resp == null) { + const errText = "The maximum number of attempts to receive a response from Bg data has been exceeded."; + logger.error(errText); + return errText; + } + if (resp.status !== 200) { + logger.error("HTTP %d getting Bg data from OpenMediaVault RPC. Data: %s", resp.status, resp.data); + } + return resp; +} + +export default async function proxyHandler(req, res) { + const widget = await getWidget(req); + if (!widget) { + return res.status(400).json({ error: "Invalid proxy service type" }); + } + + const api = widgets?.[widget.type]?.api; + if (!api) { + return res.status(403).json({ error: "Service does not support RPC calls" }); + } + + const url = new URL(formatApiCall(api, { ...widget })); + const [service, method] = widget.method.split("."); + const rpcReq = { params: { limit: -1, start: 0 }, service, method }; + + let resp = await rpc(url, rpcReq); + + if (resp.status === 401) { + logger.debug("Session not authenticated."); + const [success, lResp] = await tryLogin(widget); + + if (success) { + addCookieToJar(url, lResp.headers); + } else { + res.status(lResp.status).json({ error: { message: `HTTP Error ${lResp.status}`, url, data: lResp.data } }); + } + + logger.debug("Retrying OpenMediaVault request after login."); + resp = await rpc(url, rpcReq); + } + + if (resp.status !== 200) { + logger.error("HTTP %d getting data from OpenMediaVault RPC. Data: %s", resp.status, resp.data); + return res.status(resp.status).json({ error: { message: `HTTP Error ${resp.status}`, url, data: resp.data } }); + } + + if (method.endsWith("Bg")) { + const json = JSON.parse(resp.data.toString()); + const bgResp = await processBg(url, json.response); + + if (typeof bgResp === "string") { + return res.status(400).json({ error: bgResp }); + } + return res.status(bgResp.status).send(bgResp.data); + } + + return res.status(resp.status).send(resp.data); +} diff --git a/src/widgets/openmediavault/widget.js b/src/widgets/openmediavault/widget.js new file mode 100644 index 000000000..3678ebe8e --- /dev/null +++ b/src/widgets/openmediavault/widget.js @@ -0,0 +1,8 @@ +import proxyHandler from "./proxy"; + +const widget = { + api: "{url}/rpc.php", + proxyHandler, +}; + +export default widget; diff --git a/src/widgets/widgets.js b/src/widgets/widgets.js index d28f3b38c..aaf555efb 100644 --- a/src/widgets/widgets.js +++ b/src/widgets/widgets.js @@ -53,6 +53,7 @@ import omada from "./omada/widget"; import ombi from "./ombi/widget"; import opnsense from "./opnsense/widget"; import overseerr from "./overseerr/widget"; +import openmediavault from "./openmediavault/widget"; import paperlessngx from "./paperlessngx/widget"; import pfsense from "./pfsense/widget"; import photoprism from "./photoprism/widget"; @@ -148,6 +149,7 @@ const widgets = { ombi, opnsense, overseerr, + openmediavault, paperlessngx, pfsense, photoprism, From 8d6f3b82f3ab9b1ce6dce96e62e1f23e559ec236 Mon Sep 17 00:00:00 2001 From: Xinos Date: Sun, 13 Aug 2023 12:25:45 +0000 Subject: [PATCH 02/48] Translated using Weblate (Russian) Currently translated at 84.0% (423 of 503 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ru/ --- public/locales/ru/common.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/public/locales/ru/common.json b/public/locales/ru/common.json index 5c65900ce..2029b086f 100644 --- a/public/locales/ru/common.json +++ b/public/locales/ru/common.json @@ -16,11 +16,11 @@ "free": "Свободно", "used": "Использовано", "load": "Загрузка", - "cpu": "Процессор", - "mem": "Память", - "temp": "Температура", + "cpu": "ЦП", + "mem": "ОЗУ", + "temp": "Темпер.", "max": "Макс.", - "uptime": "UP", + "uptime": "Работает", "months": "мес", "days": "д", "hours": "ч", From f2f199124fdcda2c6271721432dc6dc208d7859b Mon Sep 17 00:00:00 2001 From: Dan Date: Sun, 13 Aug 2023 08:59:28 +0000 Subject: [PATCH 03/48] Translated using Weblate (Ukrainian) Currently translated at 99.8% (502 of 503 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/uk/ --- public/locales/uk/common.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/public/locales/uk/common.json b/public/locales/uk/common.json index c94e7e5ba..53a15e1d6 100644 --- a/public/locales/uk/common.json +++ b/public/locales/uk/common.json @@ -670,9 +670,9 @@ "maxPlayers": "Максимум гравців", "bots": "Ботів", "ping": "Пінг", - "status": "Status", - "online": "Online", - "offline": "Offline" + "status": "Статус", + "online": "В мережі", + "offline": "Не в мережі" }, "azuredevops": { "result": "Результат", From 46b2fc029d0d6f793f8502ca8bafab0787ccbc31 Mon Sep 17 00:00:00 2001 From: George Stefanakis Date: Sat, 12 Aug 2023 20:35:51 +0000 Subject: [PATCH 04/48] Translated using Weblate (Greek) Currently translated at 35.7% (180 of 503 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/el/ --- public/locales/el/common.json | 46 +++++++++++++++++------------------ 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/public/locales/el/common.json b/public/locales/el/common.json index 49b76d490..fcdcb6895 100644 --- a/public/locales/el/common.json +++ b/public/locales/el/common.json @@ -237,17 +237,17 @@ }, "bazarr": { "missingEpisodes": "Επεισόδια που λείπουν", - "missingMovies": "Missing Movies" + "missingMovies": "Ταινίες που Λείπουν" }, "ombi": { - "pending": "Pending", - "approved": "Approved", - "available": "Available" + "pending": "Σε εκκρεμότητα", + "approved": "Εγκρίθηκε", + "available": "Διαθέσιμο" }, "jellyseerr": { - "pending": "Pending", - "approved": "Approved", - "available": "Available" + "pending": "Σε εκκρεμότητα", + "approved": "Εγκρίθηκε", + "available": "Διαθέσιμο" }, "overseerr": { "pending": "Pending", @@ -257,25 +257,25 @@ }, "pihole": { "queries": "Queries", - "blocked": "Blocked", + "blocked": "Αποκλεισμένο", "gravity": "Gravity", - "blocked_percent": "Blocked %" + "blocked_percent": "Αποκλεισμένο %" }, "adguard": { - "queries": "Queries", - "blocked": "Blocked", - "filtered": "Filtered", - "latency": "Latency" + "queries": "Αναζητήσεις", + "blocked": "Αποκλεισμένο", + "filtered": "Φιλτραρισμένα", + "latency": "Καθυστέρηση" }, "speedtest": { - "upload": "Upload", - "download": "Download", + "upload": "Ανέβασμα", + "download": "Λήψη", "ping": "Ping" }, "portainer": { "running": "Running", - "stopped": "Stopped", - "total": "Total" + "stopped": "Σταματημένο", + "total": "Σύνολο" }, "tdarr": { "queue": "Queue", @@ -563,7 +563,7 @@ "records_total": "Queue Length" }, "pterodactyl": { - "servers": "Servers", + "servers": "Διακομιστές", "nodes": "Nodes" }, "prometheus": { @@ -595,22 +595,22 @@ "shows": "Εκπομπές", "recordings": "Εγγραφές", "scheduled": "Προγραμματισμένα", - "passes": "Passes" + "passes": "Περάσματα" }, "whatsupdocker": { "monitoring": "Monitoring", "updates": "Updates" }, "tailscale": { - "address": "Address", - "never": "Never", + "address": "Διεύθυνση", + "never": "Ποτέ", "years": "{{number}}y", "weeks": "{{number}}w", "days": "{{number}}d", "hours": "{{number}}h", - "expires": "Expires", + "expires": "Λήγει", "last_seen": "Last Seen", - "now": "Now", + "now": "Τώρα", "minutes": "{{number}}m", "seconds": "{{number}}s", "ago": "{{value}} Ago" From d1a8523630914d6684b10c6b7926b2ca5d92755d Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 14 Aug 2023 00:34:38 +0000 Subject: [PATCH 05/48] Translated using Weblate (German) Currently translated at 89.7% (457 of 509 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/de/ --- public/locales/de/common.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/public/locales/de/common.json b/public/locales/de/common.json index 9df3bfd2a..016b0289a 100644 --- a/public/locales/de/common.json +++ b/public/locales/de/common.json @@ -692,5 +692,13 @@ "errored": "Errors", "noRecent": "Out of Date", "totalUsed": "Used Storage" + }, + "openmediavault": { + "downloading": "Downloading", + "total": "Total", + "running": "Running", + "stopped": "Stopped", + "passed": "Passed", + "failed": "Failed" } } From b9d523f0c4585460603fc48d45b3b811b8544032 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 14 Aug 2023 00:34:39 +0000 Subject: [PATCH 06/48] Translated using Weblate (Spanish) Currently translated at 98.8% (503 of 509 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/ --- public/locales/es/common.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/public/locales/es/common.json b/public/locales/es/common.json index 37d4b0e6b..766ef0d3a 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -692,5 +692,13 @@ "errored": "Errores", "noRecent": "Caducado", "totalUsed": "Almacenamiento usado" + }, + "openmediavault": { + "running": "Running", + "downloading": "Downloading", + "total": "Total", + "stopped": "Stopped", + "passed": "Passed", + "failed": "Failed" } } From 4896cc9457b71a24bf1a991242fe5cc25c0dc499 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 14 Aug 2023 00:34:39 +0000 Subject: [PATCH 07/48] Translated using Weblate (French) Currently translated at 98.8% (503 of 509 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/ --- public/locales/fr/common.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/public/locales/fr/common.json b/public/locales/fr/common.json index 8d76d83f4..943f78ef6 100644 --- a/public/locales/fr/common.json +++ b/public/locales/fr/common.json @@ -692,5 +692,13 @@ "errored": "Erreur", "noRecent": "Obsolète", "totalUsed": "Esp. Utilisé" + }, + "openmediavault": { + "downloading": "Downloading", + "total": "Total", + "running": "Running", + "stopped": "Stopped", + "passed": "Passed", + "failed": "Failed" } } From 41b1589347307020bba2bb2dd7f054ba6df8185b Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 14 Aug 2023 00:34:40 +0000 Subject: [PATCH 08/48] Translated using Weblate (Portuguese) Currently translated at 81.5% (415 of 509 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt/ --- public/locales/pt/common.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/public/locales/pt/common.json b/public/locales/pt/common.json index 4c7f42595..8429db914 100644 --- a/public/locales/pt/common.json +++ b/public/locales/pt/common.json @@ -701,5 +701,13 @@ "errored": "Errors", "noRecent": "Out of Date", "totalUsed": "Used Storage" + }, + "openmediavault": { + "downloading": "Downloading", + "total": "Total", + "running": "Running", + "stopped": "Stopped", + "passed": "Passed", + "failed": "Failed" } } From f89cccf2098fb9470fdf69bdb3ed05ecd9172e0e Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 14 Aug 2023 00:34:31 +0000 Subject: [PATCH 09/48] Translated using Weblate (Russian) Currently translated at 83.1% (423 of 509 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ru/ --- public/locales/ru/common.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/public/locales/ru/common.json b/public/locales/ru/common.json index 2029b086f..502adeaf8 100644 --- a/public/locales/ru/common.json +++ b/public/locales/ru/common.json @@ -692,5 +692,13 @@ "errored": "Errors", "noRecent": "Out of Date", "totalUsed": "Used Storage" + }, + "openmediavault": { + "downloading": "Downloading", + "total": "Total", + "passed": "Passed", + "failed": "Failed", + "running": "Running", + "stopped": "Stopped" } } From 112d1e77b9c802f4a4a34e05d6cdda367a32e254 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 14 Aug 2023 00:34:32 +0000 Subject: [PATCH 10/48] Translated using Weblate (Chinese (Simplified)) Currently translated at 87.2% (444 of 509 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hans/ --- public/locales/zh-CN/common.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/public/locales/zh-CN/common.json b/public/locales/zh-CN/common.json index 2512b2566..2d2a76cf8 100644 --- a/public/locales/zh-CN/common.json +++ b/public/locales/zh-CN/common.json @@ -692,5 +692,13 @@ "errored": "Errors", "noRecent": "Out of Date", "totalUsed": "Used Storage" + }, + "openmediavault": { + "downloading": "Downloading", + "total": "Total", + "running": "Running", + "stopped": "Stopped", + "passed": "Passed", + "failed": "Failed" } } From 7174b0ab249ec94e09efa052f4f2d741c48525d0 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 14 Aug 2023 00:34:27 +0000 Subject: [PATCH 11/48] Translated using Weblate (Italian) Currently translated at 92.3% (470 of 509 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/it/ --- public/locales/it/common.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/public/locales/it/common.json b/public/locales/it/common.json index 502116983..d1a1b85ff 100644 --- a/public/locales/it/common.json +++ b/public/locales/it/common.json @@ -692,5 +692,13 @@ "errored": "Errors", "noRecent": "Out of Date", "totalUsed": "Used Storage" + }, + "openmediavault": { + "total": "Total", + "running": "Running", + "downloading": "Downloading", + "stopped": "Stopped", + "passed": "Passed", + "failed": "Failed" } } From 2ea780435a0e53538f9f4b83d0406106596812b8 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 14 Aug 2023 00:34:27 +0000 Subject: [PATCH 12/48] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegian?= =?UTF-8?q?=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 15.7% (80 of 509 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nb_NO/ --- public/locales/nb-NO/common.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/public/locales/nb-NO/common.json b/public/locales/nb-NO/common.json index dea49c31c..738354e2e 100644 --- a/public/locales/nb-NO/common.json +++ b/public/locales/nb-NO/common.json @@ -692,5 +692,13 @@ "errored": "Errors", "noRecent": "Out of Date", "totalUsed": "Used Storage" + }, + "openmediavault": { + "downloading": "Downloading", + "total": "Total", + "running": "Running", + "stopped": "Stopped", + "passed": "Passed", + "failed": "Failed" } } From 22a2649b6e9ddc33f86a56102033527e9e180210 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 14 Aug 2023 00:34:42 +0000 Subject: [PATCH 13/48] Translated using Weblate (Vietnamese) Currently translated at 8.6% (44 of 509 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/vi/ --- public/locales/vi/common.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/public/locales/vi/common.json b/public/locales/vi/common.json index cf2d03f8e..ebc0eae3e 100644 --- a/public/locales/vi/common.json +++ b/public/locales/vi/common.json @@ -692,5 +692,13 @@ "errored": "Errors", "noRecent": "Out of Date", "totalUsed": "Used Storage" + }, + "openmediavault": { + "downloading": "Downloading", + "total": "Total", + "running": "Running", + "stopped": "Stopped", + "passed": "Passed", + "failed": "Failed" } } From 7e0ed2b8a733c2a28844bcbcb8d87543f822373f Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 14 Aug 2023 00:34:29 +0000 Subject: [PATCH 14/48] Translated using Weblate (Dutch) Currently translated at 47.3% (241 of 509 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nl/ --- public/locales/nl/common.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/public/locales/nl/common.json b/public/locales/nl/common.json index 39fe9fe5f..4521e9351 100644 --- a/public/locales/nl/common.json +++ b/public/locales/nl/common.json @@ -692,5 +692,13 @@ "errored": "Errors", "noRecent": "Out of Date", "totalUsed": "Used Storage" + }, + "openmediavault": { + "downloading": "Downloading", + "total": "Total", + "running": "Running", + "stopped": "Stopped", + "passed": "Passed", + "failed": "Failed" } } From 9f632c58fc0b3d056900e8dc5554fd1ddfb3fa59 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 14 Aug 2023 00:34:33 +0000 Subject: [PATCH 15/48] Translated using Weblate (Chinese (Traditional)) Currently translated at 98.0% (499 of 509 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hant/ --- public/locales/zh-Hant/common.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/public/locales/zh-Hant/common.json b/public/locales/zh-Hant/common.json index f8969c29c..c499b6351 100644 --- a/public/locales/zh-Hant/common.json +++ b/public/locales/zh-Hant/common.json @@ -692,5 +692,13 @@ "errored": "錯誤", "noRecent": "已過時", "totalUsed": "已使用空間" + }, + "openmediavault": { + "downloading": "Downloading", + "total": "Total", + "running": "Running", + "stopped": "Stopped", + "passed": "Passed", + "failed": "Failed" } } From 3f3f315e19b06d05607457a025ed70d9b7bef19e Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 14 Aug 2023 00:34:30 +0000 Subject: [PATCH 16/48] Translated using Weblate (Catalan) Currently translated at 51.0% (260 of 509 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ca/ --- public/locales/ca/common.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/public/locales/ca/common.json b/public/locales/ca/common.json index 5147a31dd..fdf0ead38 100644 --- a/public/locales/ca/common.json +++ b/public/locales/ca/common.json @@ -692,5 +692,13 @@ "errored": "Errors", "totalUsed": "Used Storage", "noRecent": "Out of Date" + }, + "openmediavault": { + "downloading": "Downloading", + "total": "Total", + "running": "Running", + "stopped": "Stopped", + "passed": "Passed", + "failed": "Failed" } } From c542ca1d0cfbb0245e04bd189d1b443e037ddd64 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 14 Aug 2023 00:34:24 +0000 Subject: [PATCH 17/48] Translated using Weblate (Polish) Currently translated at 73.4% (374 of 509 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pl/ --- public/locales/pl/common.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/public/locales/pl/common.json b/public/locales/pl/common.json index 765b48f61..17320906e 100644 --- a/public/locales/pl/common.json +++ b/public/locales/pl/common.json @@ -692,5 +692,13 @@ "errored": "Errors", "noRecent": "Out of Date", "totalUsed": "Used Storage" + }, + "openmediavault": { + "downloading": "Downloading", + "total": "Total", + "running": "Running", + "stopped": "Stopped", + "passed": "Passed", + "failed": "Failed" } } From 63f8e1e5b18ea01c0d71a5d9ee6f69e6814b932d Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 14 Aug 2023 00:34:31 +0000 Subject: [PATCH 18/48] Translated using Weblate (Swedish) Currently translated at 25.9% (132 of 509 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sv/ --- public/locales/sv/common.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/public/locales/sv/common.json b/public/locales/sv/common.json index 1dd59ece7..8d24f5c96 100644 --- a/public/locales/sv/common.json +++ b/public/locales/sv/common.json @@ -692,5 +692,13 @@ "errored": "Errors", "noRecent": "Out of Date", "totalUsed": "Used Storage" + }, + "openmediavault": { + "downloading": "Downloading", + "total": "Total", + "running": "Running", + "stopped": "Stopped", + "passed": "Passed", + "failed": "Failed" } } From d71e316b5d2cfd509a4be1d44bcb67c2a64e0f0d Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 14 Aug 2023 00:34:33 +0000 Subject: [PATCH 19/48] Translated using Weblate (Croatian) Currently translated at 92.3% (470 of 509 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hr/ --- public/locales/hr/common.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/public/locales/hr/common.json b/public/locales/hr/common.json index 26772c071..299c406c0 100644 --- a/public/locales/hr/common.json +++ b/public/locales/hr/common.json @@ -692,5 +692,13 @@ "totalUsed": "Used Storage", "ok": "Ok", "errored": "Errors" + }, + "openmediavault": { + "downloading": "Downloading", + "total": "Total", + "running": "Running", + "stopped": "Stopped", + "passed": "Passed", + "failed": "Failed" } } From 7a930d2173caf15fdad9806e52fc55dfcad877f5 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 14 Aug 2023 00:34:36 +0000 Subject: [PATCH 20/48] Translated using Weblate (Hungarian) Currently translated at 92.5% (471 of 509 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hu/ --- public/locales/hu/common.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/public/locales/hu/common.json b/public/locales/hu/common.json index a8b2b9e8f..2a3f1a8a2 100644 --- a/public/locales/hu/common.json +++ b/public/locales/hu/common.json @@ -692,5 +692,13 @@ "errored": "Errors", "noRecent": "Out of Date", "totalUsed": "Used Storage" + }, + "openmediavault": { + "downloading": "Downloading", + "total": "Total", + "running": "Running", + "stopped": "Stopped", + "passed": "Passed", + "failed": "Failed" } } From 6f6f06ed38b37dbd79f335a37521f3576cb5b358 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 14 Aug 2023 00:34:35 +0000 Subject: [PATCH 21/48] Translated using Weblate (Hebrew) Currently translated at 19.6% (100 of 509 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/he/ --- public/locales/he/common.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/public/locales/he/common.json b/public/locales/he/common.json index fb335e708..7af222f25 100644 --- a/public/locales/he/common.json +++ b/public/locales/he/common.json @@ -692,5 +692,13 @@ "errored": "Errors", "noRecent": "Out of Date", "totalUsed": "Used Storage" + }, + "openmediavault": { + "downloading": "Downloading", + "total": "Total", + "running": "Running", + "stopped": "Stopped", + "passed": "Passed", + "failed": "Failed" } } From 6e5f15b6ecaf714d006d5a9cbdfb31aaf8c3ae64 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 14 Aug 2023 00:34:25 +0000 Subject: [PATCH 22/48] Translated using Weblate (Romanian) Currently translated at 29.4% (150 of 509 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ro/ --- public/locales/ro/common.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/public/locales/ro/common.json b/public/locales/ro/common.json index 567bfba5f..b72cf9ad7 100644 --- a/public/locales/ro/common.json +++ b/public/locales/ro/common.json @@ -692,5 +692,13 @@ "errored": "Errors", "noRecent": "Out of Date", "totalUsed": "Used Storage" + }, + "openmediavault": { + "downloading": "Downloading", + "total": "Total", + "running": "Running", + "stopped": "Stopped", + "passed": "Passed", + "failed": "Failed" } } From 0d38cbae8ef964a536642570ca1988dc71371947 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 14 Aug 2023 00:34:26 +0000 Subject: [PATCH 23/48] Translated using Weblate (Portuguese (Brazil)) Currently translated at 90.5% (461 of 509 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt_BR/ --- public/locales/pt-BR/common.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/public/locales/pt-BR/common.json b/public/locales/pt-BR/common.json index 13735c01c..00c51552d 100644 --- a/public/locales/pt-BR/common.json +++ b/public/locales/pt-BR/common.json @@ -692,5 +692,13 @@ "errored": "Errors", "noRecent": "Out of Date", "totalUsed": "Used Storage" + }, + "openmediavault": { + "downloading": "Downloading", + "total": "Total", + "running": "Running", + "stopped": "Stopped", + "passed": "Passed", + "failed": "Failed" } } From f80e7c4f25bab78d8f3559fdfbd118bd47f12b83 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 14 Aug 2023 00:34:41 +0000 Subject: [PATCH 24/48] Translated using Weblate (Yue (Traditional)) Currently translated at 22.9% (117 of 509 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/yue_Hant/ --- public/locales/yue/common.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/public/locales/yue/common.json b/public/locales/yue/common.json index 8c6028534..0dc4ee45e 100644 --- a/public/locales/yue/common.json +++ b/public/locales/yue/common.json @@ -692,5 +692,13 @@ "errored": "Errors", "noRecent": "Out of Date", "totalUsed": "Used Storage" + }, + "openmediavault": { + "downloading": "Downloading", + "total": "Total", + "running": "Running", + "stopped": "Stopped", + "passed": "Passed", + "failed": "Failed" } } From d55e328c904b387a814284b3ca2e5138014fa00a Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 14 Aug 2023 00:34:40 +0000 Subject: [PATCH 25/48] Translated using Weblate (Finnish) Currently translated at 34.7% (177 of 509 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fi/ --- public/locales/fi/common.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/public/locales/fi/common.json b/public/locales/fi/common.json index 505c7a60c..6017b1794 100644 --- a/public/locales/fi/common.json +++ b/public/locales/fi/common.json @@ -692,5 +692,13 @@ "errored": "Errors", "noRecent": "Out of Date", "totalUsed": "Used Storage" + }, + "openmediavault": { + "downloading": "Downloading", + "total": "Total", + "running": "Running", + "stopped": "Stopped", + "passed": "Passed", + "failed": "Failed" } } From 62c914c57e884fde746e573d282853aa61448c85 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 14 Aug 2023 00:34:41 +0000 Subject: [PATCH 26/48] Translated using Weblate (Telugu) Currently translated at 42.2% (215 of 509 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/te/ --- public/locales/te/common.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/public/locales/te/common.json b/public/locales/te/common.json index 77cc7df01..6c37a87c6 100644 --- a/public/locales/te/common.json +++ b/public/locales/te/common.json @@ -692,5 +692,13 @@ "errored": "Errors", "noRecent": "Out of Date", "totalUsed": "Used Storage" + }, + "openmediavault": { + "failed": "Failed", + "downloading": "Downloading", + "total": "Total", + "running": "Running", + "stopped": "Stopped", + "passed": "Passed" } } From b1706e79be8f85f7893a3952d36fa6cc75a93a31 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 14 Aug 2023 00:34:28 +0000 Subject: [PATCH 27/48] Translated using Weblate (Bulgarian) Currently translated at 9.0% (46 of 509 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/bg/ --- public/locales/bg/common.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/public/locales/bg/common.json b/public/locales/bg/common.json index dc3bbd036..cddb65636 100644 --- a/public/locales/bg/common.json +++ b/public/locales/bg/common.json @@ -692,5 +692,13 @@ "errored": "Errors", "noRecent": "Out of Date", "totalUsed": "Used Storage" + }, + "openmediavault": { + "downloading": "Downloading", + "total": "Total", + "running": "Running", + "stopped": "Stopped", + "passed": "Passed", + "failed": "Failed" } } From 08dbd59f1b1b8cba3eb935d22b838e866868ea06 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 14 Aug 2023 00:34:29 +0000 Subject: [PATCH 28/48] Translated using Weblate (Turkish) Currently translated at 77.2% (393 of 509 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/tr/ --- public/locales/tr/common.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/public/locales/tr/common.json b/public/locales/tr/common.json index 8dc340b25..7349981b4 100644 --- a/public/locales/tr/common.json +++ b/public/locales/tr/common.json @@ -692,5 +692,13 @@ "errored": "Errors", "noRecent": "Out of Date", "totalUsed": "Used Storage" + }, + "openmediavault": { + "downloading": "Downloading", + "total": "Total", + "running": "Running", + "stopped": "Stopped", + "passed": "Passed", + "failed": "Failed" } } From 5e9d2d843927d54df63628145211f77f45ec6c83 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 14 Aug 2023 00:34:34 +0000 Subject: [PATCH 29/48] Translated using Weblate (Serbian) Currently translated at 1.7% (9 of 509 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sr/ --- public/locales/sr/common.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/public/locales/sr/common.json b/public/locales/sr/common.json index 78075f4cb..437108fd5 100644 --- a/public/locales/sr/common.json +++ b/public/locales/sr/common.json @@ -692,5 +692,13 @@ "errored": "Errors", "noRecent": "Out of Date", "totalUsed": "Used Storage" + }, + "openmediavault": { + "total": "Total", + "running": "Running", + "stopped": "Stopped", + "passed": "Passed", + "failed": "Failed", + "downloading": "Downloading" } } From 48bd6e843663495afe7160aa5e781f5f7d30606c Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 14 Aug 2023 00:34:35 +0000 Subject: [PATCH 30/48] Translated using Weblate (Arabic) Currently translated at 51.4% (262 of 509 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ar/ --- public/locales/ar/common.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/public/locales/ar/common.json b/public/locales/ar/common.json index e4eb1d0c5..d48111dac 100644 --- a/public/locales/ar/common.json +++ b/public/locales/ar/common.json @@ -692,5 +692,13 @@ "errored": "Errors", "noRecent": "Out of Date", "totalUsed": "Used Storage" + }, + "openmediavault": { + "downloading": "Downloading", + "total": "Total", + "running": "Running", + "stopped": "Stopped", + "passed": "Passed", + "failed": "Failed" } } From 52bf9718ca6bd32e91c3ff82aae36466561d852a Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 14 Aug 2023 00:34:23 +0000 Subject: [PATCH 31/48] Translated using Weblate (Czech) Currently translated at 87.2% (444 of 509 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/cs/ --- public/locales/cs/common.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/public/locales/cs/common.json b/public/locales/cs/common.json index 39d60f58d..2ead9c2fa 100644 --- a/public/locales/cs/common.json +++ b/public/locales/cs/common.json @@ -692,5 +692,13 @@ "errored": "Errors", "noRecent": "Out of Date", "totalUsed": "Used Storage" + }, + "openmediavault": { + "downloading": "Downloading", + "total": "Total", + "running": "Running", + "stopped": "Stopped", + "passed": "Passed", + "failed": "Failed" } } From 828c52d90a79b129612910b029fa426f86038d29 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 14 Aug 2023 00:34:20 +0000 Subject: [PATCH 32/48] Translated using Weblate (Danish) Currently translated at 38.7% (197 of 509 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/da/ --- public/locales/da/common.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/public/locales/da/common.json b/public/locales/da/common.json index 8b1ded637..5382ad049 100644 --- a/public/locales/da/common.json +++ b/public/locales/da/common.json @@ -692,5 +692,13 @@ "errored": "Errors", "noRecent": "Out of Date", "totalUsed": "Used Storage" + }, + "openmediavault": { + "downloading": "Downloading", + "total": "Total", + "running": "Running", + "stopped": "Stopped", + "passed": "Passed", + "failed": "Failed" } } From a4cc538388aace9ae5408ac4b4e3b229fb41b44f Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 14 Aug 2023 00:34:21 +0000 Subject: [PATCH 33/48] Translated using Weblate (Malay) Currently translated at 49.3% (251 of 509 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ms/ --- public/locales/ms/common.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/public/locales/ms/common.json b/public/locales/ms/common.json index 5c5ecff98..c1f79f526 100644 --- a/public/locales/ms/common.json +++ b/public/locales/ms/common.json @@ -692,5 +692,13 @@ "errored": "Errors", "noRecent": "Out of Date", "totalUsed": "Used Storage" + }, + "openmediavault": { + "running": "Running", + "stopped": "Stopped", + "passed": "Passed", + "downloading": "Downloading", + "total": "Total", + "failed": "Failed" } } From 4cafb8decdf1e36200b311b780582d252da1e0d0 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 14 Aug 2023 00:34:21 +0000 Subject: [PATCH 34/48] Translated using Weblate (Hindi) Currently translated at 1.7% (9 of 509 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hi/ --- public/locales/hi/common.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/public/locales/hi/common.json b/public/locales/hi/common.json index bd2491e10..6754bad7e 100644 --- a/public/locales/hi/common.json +++ b/public/locales/hi/common.json @@ -692,5 +692,13 @@ "errored": "Errors", "noRecent": "Out of Date", "totalUsed": "Used Storage" + }, + "openmediavault": { + "downloading": "Downloading", + "total": "Total", + "running": "Running", + "stopped": "Stopped", + "passed": "Passed", + "failed": "Failed" } } From deaf49ce8bb83597c336ecc747c1dabc0de6c3c5 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 14 Aug 2023 00:34:23 +0000 Subject: [PATCH 35/48] Translated using Weblate (Esperanto) Currently translated at 28.4% (145 of 509 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/eo/ --- public/locales/eo/common.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/public/locales/eo/common.json b/public/locales/eo/common.json index 019d05b73..5539ebc23 100644 --- a/public/locales/eo/common.json +++ b/public/locales/eo/common.json @@ -692,5 +692,13 @@ "errored": "Errors", "noRecent": "Out of Date", "totalUsed": "Used Storage" + }, + "openmediavault": { + "downloading": "Downloading", + "total": "Total", + "running": "Running", + "stopped": "Stopped", + "passed": "Passed", + "failed": "Failed" } } From 6cfd08bb85391ace39af02493daa8c121f04a91c Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 14 Aug 2023 00:34:30 +0000 Subject: [PATCH 36/48] Translated using Weblate (Ukrainian) Currently translated at 98.6% (502 of 509 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/uk/ --- public/locales/uk/common.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/public/locales/uk/common.json b/public/locales/uk/common.json index 53a15e1d6..71d754983 100644 --- a/public/locales/uk/common.json +++ b/public/locales/uk/common.json @@ -692,5 +692,13 @@ "errored": "Помилки", "noRecent": "Застарілий", "totalUsed": "Використовувана пам'ять" + }, + "openmediavault": { + "downloading": "Downloading", + "total": "Total", + "running": "Running", + "stopped": "Stopped", + "passed": "Passed", + "failed": "Failed" } } From d8bd19d997756007501a75eaaa1d3953e38a21b2 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 14 Aug 2023 00:34:22 +0000 Subject: [PATCH 37/48] Translated using Weblate (Japanese) Currently translated at 75.6% (385 of 509 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ja/ --- public/locales/ja/common.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/public/locales/ja/common.json b/public/locales/ja/common.json index 089ad81b6..34be82e38 100644 --- a/public/locales/ja/common.json +++ b/public/locales/ja/common.json @@ -692,5 +692,13 @@ "errored": "Errors", "noRecent": "Out of Date", "totalUsed": "Used Storage" + }, + "openmediavault": { + "downloading": "Downloading", + "total": "Total", + "running": "Running", + "stopped": "Stopped", + "passed": "Passed", + "failed": "Failed" } } From 33b0aefd8a0d68f4199e83d85ddf4c8e095dcfb5 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 14 Aug 2023 00:34:26 +0000 Subject: [PATCH 38/48] Translated using Weblate (Latvian) Currently translated at 23.1% (118 of 509 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/lv/ --- public/locales/lv/common.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/public/locales/lv/common.json b/public/locales/lv/common.json index 2bdd7a4ce..9ddb8e4cf 100644 --- a/public/locales/lv/common.json +++ b/public/locales/lv/common.json @@ -692,5 +692,13 @@ "errored": "Errors", "noRecent": "Out of Date", "totalUsed": "Used Storage" + }, + "openmediavault": { + "downloading": "Downloading", + "total": "Total", + "running": "Running", + "stopped": "Stopped", + "passed": "Passed", + "failed": "Failed" } } From 8b6f174c5127b70cfb01c7239bdc8b66986d8b04 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 14 Aug 2023 00:34:18 +0000 Subject: [PATCH 39/48] Translated using Weblate (Thai) Currently translated at 9.2% (47 of 509 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/th/ --- public/locales/th/common.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/public/locales/th/common.json b/public/locales/th/common.json index cf54e20ce..c3cbc7285 100644 --- a/public/locales/th/common.json +++ b/public/locales/th/common.json @@ -692,5 +692,13 @@ "errored": "Errors", "noRecent": "Out of Date", "totalUsed": "Used Storage" + }, + "openmediavault": { + "downloading": "Downloading", + "total": "Total", + "running": "Running", + "stopped": "Stopped", + "passed": "Passed", + "failed": "Failed" } } From 32b139a4367c6213a03059812265c53b9fadb5a9 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 14 Aug 2023 00:34:37 +0000 Subject: [PATCH 40/48] Translated using Weblate (Slovak) Currently translated at 1.9% (10 of 509 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sk/ --- public/locales/sk/common.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/public/locales/sk/common.json b/public/locales/sk/common.json index aba3bc6fa..c666bc7a4 100644 --- a/public/locales/sk/common.json +++ b/public/locales/sk/common.json @@ -692,5 +692,13 @@ "errored": "Errors", "noRecent": "Out of Date", "totalUsed": "Used Storage" + }, + "openmediavault": { + "total": "Total", + "downloading": "Downloading", + "running": "Running", + "stopped": "Stopped", + "passed": "Passed", + "failed": "Failed" } } From 2da13e3cd4e57142e8b3c7218387543d673054cf Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 14 Aug 2023 00:34:37 +0000 Subject: [PATCH 41/48] Translated using Weblate (Korean) Currently translated at 33.9% (173 of 509 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ko/ --- public/locales/ko/common.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/public/locales/ko/common.json b/public/locales/ko/common.json index 31f4a6ff5..666fc35ec 100644 --- a/public/locales/ko/common.json +++ b/public/locales/ko/common.json @@ -692,5 +692,13 @@ "errored": "Errors", "noRecent": "Out of Date", "totalUsed": "Used Storage" + }, + "openmediavault": { + "downloading": "Downloading", + "total": "Total", + "running": "Running", + "stopped": "Stopped", + "passed": "Passed", + "failed": "Failed" } } From 15f1d0ecd2bc8832b4d43d9a4559869f0e55c47f Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 14 Aug 2023 00:34:19 +0000 Subject: [PATCH 42/48] Translated using Weblate (Greek) Currently translated at 35.3% (180 of 509 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/el/ --- public/locales/el/common.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/public/locales/el/common.json b/public/locales/el/common.json index fcdcb6895..6cf37721c 100644 --- a/public/locales/el/common.json +++ b/public/locales/el/common.json @@ -692,5 +692,13 @@ "errored": "Errors", "noRecent": "Out of Date", "totalUsed": "Used Storage" + }, + "openmediavault": { + "downloading": "Downloading", + "total": "Total", + "running": "Running", + "stopped": "Stopped", + "passed": "Passed", + "failed": "Failed" } } From 5765d48bbac76097bf65f00521ca33e9aca9aa59 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 14 Aug 2023 00:34:24 +0000 Subject: [PATCH 43/48] Translated using Weblate (Slovenian) Currently translated at 92.5% (471 of 509 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sl/ --- public/locales/sl/common.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/public/locales/sl/common.json b/public/locales/sl/common.json index 51e78672a..12623c6f3 100644 --- a/public/locales/sl/common.json +++ b/public/locales/sl/common.json @@ -692,5 +692,13 @@ "errored": "Errors", "noRecent": "Out of Date", "totalUsed": "Used Storage" + }, + "openmediavault": { + "downloading": "Downloading", + "total": "Total", + "running": "Running", + "stopped": "Stopped", + "passed": "Passed", + "failed": "Failed" } } From dfb1e25877ebd8c08c8be189133b1efe7de2dc48 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 14 Aug 2023 00:34:19 +0000 Subject: [PATCH 44/48] Translated using Weblate (Indonesian) Currently translated at 4.7% (24 of 509 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/id/ --- public/locales/id/common.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/public/locales/id/common.json b/public/locales/id/common.json index e0a8e542b..f66f61112 100644 --- a/public/locales/id/common.json +++ b/public/locales/id/common.json @@ -692,5 +692,13 @@ "errored": "Errors", "noRecent": "Out of Date", "totalUsed": "Used Storage" + }, + "openmediavault": { + "downloading": "Downloading", + "total": "Total", + "running": "Running", + "stopped": "Stopped", + "passed": "Passed", + "failed": "Failed" } } From af43b62e2f87fa5be789a30a94b95b17e36e48b1 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Mon, 14 Aug 2023 00:34:43 +0000 Subject: [PATCH 45/48] Translated using Weblate (Basque) Currently translated at 6.4% (33 of 509 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/eu/ --- public/locales/eu/common.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/public/locales/eu/common.json b/public/locales/eu/common.json index 8ba75c93a..9737a2416 100644 --- a/public/locales/eu/common.json +++ b/public/locales/eu/common.json @@ -692,5 +692,13 @@ "errored": "Errors", "noRecent": "Out of Date", "totalUsed": "Used Storage" + }, + "openmediavault": { + "downloading": "Downloading", + "total": "Total", + "running": "Running", + "stopped": "Stopped", + "passed": "Passed", + "failed": "Failed" } } From 583494f27a708f5211f2e3e17945bf0ecc41cf01 Mon Sep 17 00:00:00 2001 From: fredodiable Date: Tue, 15 Aug 2023 05:00:23 +0200 Subject: [PATCH 46/48] Fix: GameDig widget missing lib (#1811) --- .dockerignore | 1 + Dockerfile | 2 ++ 2 files changed, 3 insertions(+) diff --git a/.dockerignore b/.dockerignore index edbf85256..90fbe1655 100644 --- a/.dockerignore +++ b/.dockerignore @@ -16,6 +16,7 @@ **/compose* **/Dockerfile* **/node_modules +!**/node_modules/.pnpm/compressjs@*/** **/npm-debug.log **/obj **/secrets.dev.yaml diff --git a/Dockerfile b/Dockerfile index 9fec35e70..f8bb15517 100644 --- a/Dockerfile +++ b/Dockerfile @@ -52,6 +52,8 @@ COPY --link --chown=1000:1000 /public ./public/ # Copy files from builder COPY --link --from=builder --chown=1000:1000 /app/.next/standalone ./ COPY --link --from=builder --chown=1000:1000 /app/.next/static/ ./.next/static/ +# see https://github.com/benphelps/homepage/issues/1795 +COPY --link --from=builder /app/node_modules/.pnpm/compressjs@1.0.3/node_modules/compressjs/lib/ ./node_modules/.pnpm/compressjs@1.0.3/node_modules/compressjs/lib/ COPY --link --chmod=755 docker-entrypoint.sh /usr/local/bin/ RUN apk add --no-cache su-exec From 5dcfd555cb16a3bf8770b6e4737422ebed9ad2df Mon Sep 17 00:00:00 2001 From: gallegonovato Date: Mon, 14 Aug 2023 11:42:07 +0000 Subject: [PATCH 47/48] Translated using Weblate (Spanish) Currently translated at 100.0% (509 of 509 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/ --- public/locales/es/common.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/public/locales/es/common.json b/public/locales/es/common.json index 766ef0d3a..f70bd011a 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -694,11 +694,11 @@ "totalUsed": "Almacenamiento usado" }, "openmediavault": { - "running": "Running", - "downloading": "Downloading", + "running": "Ejecutando", + "downloading": "Descargando", "total": "Total", - "stopped": "Stopped", - "passed": "Passed", - "failed": "Failed" + "stopped": "Detenido", + "passed": "Aprobado", + "failed": "Fallido" } } From a8dfdcdac0ea1fb5e215a587c7bfbf0d8ec68e03 Mon Sep 17 00:00:00 2001 From: Nonoss117 Date: Mon, 14 Aug 2023 05:10:03 +0000 Subject: [PATCH 48/48] Translated using Weblate (French) Currently translated at 100.0% (509 of 509 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/ --- public/locales/fr/common.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/public/locales/fr/common.json b/public/locales/fr/common.json index 943f78ef6..8b0859469 100644 --- a/public/locales/fr/common.json +++ b/public/locales/fr/common.json @@ -694,11 +694,11 @@ "totalUsed": "Esp. Utilisé" }, "openmediavault": { - "downloading": "Downloading", + "downloading": "Téléchargement", "total": "Total", - "running": "Running", - "stopped": "Stopped", - "passed": "Passed", - "failed": "Failed" + "running": "Démarré", + "stopped": "Arrêté", + "passed": "Réussi", + "failed": "Échoué" } }