From 28e39e46ae949f0fb57872575bdbeee9aba8f40e Mon Sep 17 00:00:00 2001 From: Matteo Bossi Date: Fri, 2 Jun 2023 14:57:27 +0200 Subject: [PATCH 01/45] Add queue list --- src/components/services/widget/block-list.jsx | 31 ++++++++ src/components/services/widget/container.jsx | 6 +- src/widgets/radarr/component.jsx | 79 +++++++++++++++---- src/widgets/radarr/widget.js | 33 +++++++- src/widgets/sonarr/component.jsx | 75 +++++++++++++++--- src/widgets/sonarr/widget.js | 39 ++++++++- tailwind.config.js | 3 + 7 files changed, 232 insertions(+), 34 deletions(-) create mode 100644 src/components/services/widget/block-list.jsx diff --git a/src/components/services/widget/block-list.jsx b/src/components/services/widget/block-list.jsx new file mode 100644 index 00000000..138576bc --- /dev/null +++ b/src/components/services/widget/block-list.jsx @@ -0,0 +1,31 @@ +import { useTranslation } from "next-i18next"; +import { useCallback, useState } from 'react'; +import classNames from "classnames"; + +import ResolvedIcon from '../../resolvedicon'; + + +export default function BlockList({ label, children, childHeight }) { + const { t } = useTranslation(); + const [isOpen, setOpen] = useState(false); + + const changeState = useCallback(() => setOpen(!isOpen), [isOpen, setOpen]); + + return ( +
+ +
+ {children} +
+
+ ); +} diff --git a/src/components/services/widget/container.jsx b/src/components/services/widget/container.jsx index f4d8c13e..4b8a06ca 100644 --- a/src/components/services/widget/container.jsx +++ b/src/components/services/widget/container.jsx @@ -15,7 +15,9 @@ export default function Container({ error = false, children, service }) { return } - let visibleChildren = children; + const childrenArray = Array.isArray(children) ? children : [children]; + + let visibleChildren = childrenArray; const fields = service?.widget?.fields; const type = service?.widget?.type; if (fields && type) { @@ -24,7 +26,7 @@ export default function Container({ error = false, children, service }) { // fields: [ "resources.cpu", "resources.mem", "field"] // or even // fields: [ "resources.cpu", "widget_type.field" ] - visibleChildren = children?.filter(child => fields.some(field => { + visibleChildren = childrenArray?.filter(child => fields.some(field => { let fullField = field; if (!field.includes(".")) { fullField = `${type}.${field}`; diff --git a/src/widgets/radarr/component.jsx b/src/widgets/radarr/component.jsx index f8a932ea..4e53ef9a 100644 --- a/src/widgets/radarr/component.jsx +++ b/src/widgets/radarr/component.jsx @@ -1,7 +1,10 @@ import { useTranslation } from "next-i18next"; +import { useCallback } from 'react'; +import classNames from 'classnames'; import Container from "components/services/widget/container"; import Block from "components/services/widget/block"; +import BlockList from "components/services/widget/block-list"; import useWidgetAPI from "utils/proxy/use-widget-api"; export default function Component({ service }) { @@ -10,29 +13,75 @@ export default function Component({ service }) { const { data: moviesData, error: moviesError } = useWidgetAPI(widget, "movie"); const { data: queuedData, error: queuedError } = useWidgetAPI(widget, "queue/status"); + const { data: queueDetailsData, error: queueDetailsError } = useWidgetAPI(widget, "queue/details"); - if (moviesError || queuedError) { - const finalError = moviesError ?? queuedError; + // information taken from the Radarr docs: https://radarr.video/docs/api/ + const formatDownloadState = useCallback((downloadState) => { + switch (downloadState) { + case "importPending": + return "import pending"; + case "failedPending": + return "failed pending"; + default: + return downloadState; + } + }, []); + + if (moviesError || queuedError || queueDetailsError) { + const finalError = moviesError ?? queuedError ?? queueDetailsError; return ; } - if (!moviesData || !queuedData) { + if (!moviesData || !queuedData || !queueDetailsData) { return ( - - - - - - + <> + + + + + + + + + + ); } return ( - - - - - - + <> + + + + + + + + + {Array.isArray(queueDetailsData) ? queueDetailsData.map((queueEntry) => ( +
+
+
{moviesData.all.find((entry) => entry.id === queueEntry.movieId)?.title}
+
{formatDownloadState(queueEntry.trackedDownloadState)}
+
+
+
+
+
+
{queueEntry.timeLeft}
+
+
+ )) : undefined} + + + ); } diff --git a/src/widgets/radarr/widget.js b/src/widgets/radarr/widget.js index 78054219..0f53ab14 100644 --- a/src/widgets/radarr/widget.js +++ b/src/widgets/radarr/widget.js @@ -1,5 +1,5 @@ import genericProxyHandler from "utils/proxy/handlers/generic"; -import { jsonArrayFilter } from "utils/proxy/api-helpers"; +import { asJson, jsonArrayFilter } from "utils/proxy/api-helpers"; const widget = { api: "{url}/api/v3/{endpoint}?apikey={key}", @@ -12,6 +12,7 @@ const widget = { wanted: jsonArrayFilter(data, (item) => item.monitored && !item.hasFile && item.isAvailable).length, have: jsonArrayFilter(data, (item) => item.hasFile).length, missing: jsonArrayFilter(data, (item) => item.monitored && !item.hasFile).length, + all: asJson(data), }), }, "queue/status": { @@ -20,6 +21,36 @@ const widget = { "totalCount" ] }, + "queue/details": { + endpoint: "queue/details", + map: (data) => asJson(data).map((entry) => ({ + trackedDownloadState: entry.trackedDownloadState, + trackedDownloadStatus: entry.trackedDownloadStatus, + timeLeft: entry.timeleft, + size: entry.size, + sizeLeft: entry.sizeleft, + movieId: entry.movieId + })).sort((a, b) => { + const downloadingA = a.trackedDownloadState === "downloading" + const downloadingB = b.trackedDownloadState === "downloading" + if (downloadingA && !downloadingB) { + return -1; + } + if (downloadingB && !downloadingA) { + return 1; + } + + const percentA = a.sizeLeft / a.size; + const percentB = b.sizeLeft / b.size; + if (percentA < percentB) { + return -1; + } + if (percentA > percentB) { + return 1; + } + return 0; + }) + }, }, }; diff --git a/src/widgets/sonarr/component.jsx b/src/widgets/sonarr/component.jsx index adbb8c30..9a0f98ae 100644 --- a/src/widgets/sonarr/component.jsx +++ b/src/widgets/sonarr/component.jsx @@ -1,8 +1,11 @@ import { useTranslation } from "next-i18next"; +import classNames from 'classnames'; +import { useCallback } from 'react'; import Container from "components/services/widget/container"; import Block from "components/services/widget/block"; import useWidgetAPI from "utils/proxy/use-widget-api"; +import BlockList from 'components/services/widget/block-list'; export default function Component({ service }) { const { t } = useTranslation(); @@ -11,27 +14,73 @@ export default function Component({ service }) { const { data: wantedData, error: wantedError } = useWidgetAPI(widget, "wanted/missing"); const { data: queuedData, error: queuedError } = useWidgetAPI(widget, "queue"); const { data: seriesData, error: seriesError } = useWidgetAPI(widget, "series"); + const { data: queueDetailsData, error: queueDetailsError } = useWidgetAPI(widget, "queue/details"); - if (wantedError || queuedError || seriesError) { - const finalError = wantedError ?? queuedError ?? seriesError; + // information taken from the Sonarr docs: https://sonarr.tv/docs/api/ + const formatDownloadState = useCallback((downloadState) => { + switch (downloadState) { + case "importPending": + return "import pending"; + case "failedPending": + return "failed pending"; + default: + return downloadState; + } + }, []); + + if (wantedError || queuedError || seriesError || queueDetailsError) { + const finalError = wantedError ?? queuedError ?? seriesError ?? queueDetailsError; return ; } - if (!wantedData || !queuedData || !seriesData) { + if (!wantedData || !queuedData || !seriesData || !queueDetailsData) { return ( - - - - - + <> + + + + + + + + + ); } return ( - - - - - + <> + + + + + + + + {Array.isArray(queueDetailsData) ? queueDetailsData.map((queueEntry) => ( +
+
+
{seriesData.find((entry) => entry.id === queueEntry.seriesId).title} • {queueEntry.episodeTitle}
+
{formatDownloadState(queueEntry.trackedDownloadState)}
+
+
+
+
+
+
{queueEntry.timeLeft}
+
+
+ )) : undefined} + + + ); } diff --git a/src/widgets/sonarr/widget.js b/src/widgets/sonarr/widget.js index c1413975..80afdb99 100644 --- a/src/widgets/sonarr/widget.js +++ b/src/widgets/sonarr/widget.js @@ -8,9 +8,10 @@ const widget = { mappings: { series: { endpoint: "series", - map: (data) => ({ - total: asJson(data).length, - }) + map: (data) => asJson(data).map((entry) => ({ + title: entry.title, + id: entry.id + })) }, queue: { endpoint: "queue", @@ -24,6 +25,38 @@ const widget = { "totalRecords" ] }, + "queue/details": { + endpoint: "queue/details", + map: (data) => asJson(data).map((entry) => ({ + trackedDownloadState: entry.trackedDownloadState, + trackedDownloadStatus: entry.trackedDownloadStatus, + timeLeft: entry.timeleft, + size: entry.size, + sizeLeft: entry.sizeleft, + seriesId: entry.seriesId, + episodeTitle: entry.episode?.title, + episodeId: entry.episodeId + })).sort((a, b) => { + const downloadingA = a.trackedDownloadState === "downloading" + const downloadingB = b.trackedDownloadState === "downloading" + if (downloadingA && !downloadingB) { + return -1; + } + if (downloadingB && !downloadingA) { + return 1; + } + + const percentA = a.sizeLeft / a.size; + const percentB = b.sizeLeft / b.size; + if (percentA < percentB) { + return -1; + } + if (percentA > percentB) { + return 1; + } + return 0; + }) + } }, }; diff --git a/tailwind.config.js b/tailwind.config.js index b981051b..96c9e641 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -29,6 +29,9 @@ module.exports = { '3xl': '1800px', // => @media (min-width: 1800px) { ... } }, + transitionProperty: { + 'height': 'height' + }, }, }, plugins: [tailwindForms, tailwindScrollbars], From 0eab4e79437e61d3f0a12cbd2bab415d5f856df0 Mon Sep 17 00:00:00 2001 From: Matteo Bossi Date: Fri, 2 Jun 2023 15:46:43 +0200 Subject: [PATCH 02/45] Fix Mobile view --- src/widgets/radarr/component.jsx | 4 +++- src/widgets/sonarr/component.jsx | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/widgets/radarr/component.jsx b/src/widgets/radarr/component.jsx index 4e53ef9a..2e58bf9d 100644 --- a/src/widgets/radarr/component.jsx +++ b/src/widgets/radarr/component.jsx @@ -61,7 +61,9 @@ export default function Component({ service }) { {Array.isArray(queueDetailsData) ? queueDetailsData.map((queueEntry) => (
-
{moviesData.all.find((entry) => entry.id === queueEntry.movieId)?.title}
+
+
{moviesData.all.find((entry) => entry.id === queueEntry.movieId)?.title}
+
{formatDownloadState(queueEntry.trackedDownloadState)}
diff --git a/src/widgets/sonarr/component.jsx b/src/widgets/sonarr/component.jsx index 9a0f98ae..ee548b58 100644 --- a/src/widgets/sonarr/component.jsx +++ b/src/widgets/sonarr/component.jsx @@ -60,7 +60,9 @@ export default function Component({ service }) { {Array.isArray(queueDetailsData) ? queueDetailsData.map((queueEntry) => (
-
{seriesData.find((entry) => entry.id === queueEntry.seriesId).title} • {queueEntry.episodeTitle}
+
+
{seriesData.find((entry) => entry.id === queueEntry.seriesId).title} • {queueEntry.episodeTitle}
+
{formatDownloadState(queueEntry.trackedDownloadState)}
From 5b3d1cc6e06ef71d2d9bf8fe4d396c7383c57370 Mon Sep 17 00:00:00 2001 From: Matteo Bossi Date: Tue, 6 Jun 2023 01:14:10 +0200 Subject: [PATCH 03/45] Make styling more consistent and add toggle to opt-in instead of opting out --- public/locales/en/common.json | 6 ++- src/components/widgets/queue/queueEntry.jsx | 28 ++++++++++ src/utils/config/service-helpers.js | 8 ++- src/widgets/radarr/component.jsx | 57 +++++++++------------ src/widgets/radarr/widget.js | 3 +- src/widgets/sonarr/component.jsx | 57 +++++++++------------ src/widgets/sonarr/widget.js | 3 +- 7 files changed, 92 insertions(+), 70 deletions(-) create mode 100644 src/components/widgets/queue/queueEntry.jsx diff --git a/public/locales/en/common.json b/public/locales/en/common.json index 7f1a86de..a3d74aee 100755 --- a/public/locales/en/common.json +++ b/public/locales/en/common.json @@ -194,13 +194,15 @@ "sonarr": { "wanted": "Wanted", "queued": "Queued", - "series": "Series" + "series": "Series", + "queue": "Queue" }, "radarr": { "wanted": "Wanted", "missing": "Missing", "queued": "Queued", - "movies": "Movies" + "movies": "Movies", + "queue": "Queue" }, "lidarr": { "wanted": "Wanted", diff --git a/src/components/widgets/queue/queueEntry.jsx b/src/components/widgets/queue/queueEntry.jsx new file mode 100644 index 00000000..0d0625e9 --- /dev/null +++ b/src/components/widgets/queue/queueEntry.jsx @@ -0,0 +1,28 @@ +import {BsFillPlayFill, BsPauseFill} from "react-icons/bs"; + +export default function QueueEntry({ status, title, activity, timeLeft, progress}) { + return ( +
+
+
+ {status === "paused" && ( + + )} + {status !== "paused" && ( + + )} +
+
+
{title}
+
+
+ {timeLeft ? `${activity} - ${timeLeft}` : activity} +
+
+ ); +} diff --git a/src/utils/config/service-helpers.js b/src/utils/config/service-helpers.js index 7f9d45e4..41fe263a 100644 --- a/src/utils/config/service-helpers.js +++ b/src/utils/config/service-helpers.js @@ -168,7 +168,7 @@ export async function servicesFromKubernetes() { .filter((ingress) => ingress.metadata.annotations && ingress.metadata.annotations[`${ANNOTATION_BASE}/href`]) ingressList.items.push(...traefikServices); } - + if (!ingressList) { return []; } @@ -276,7 +276,8 @@ export function cleanServiceGroups(groups) { wan, // opnsense widget, pfsense widget enableBlocks, // emby/jellyfin enableNowPlaying, - volume, // diskstation widget + volume, // diskstation widget, + enableQueue, // sonarr/radarr } = cleanedService.widget; const fieldsList = typeof fields === 'string' ? JSON.parse(fields) : fields; @@ -312,6 +313,9 @@ export function cleanServiceGroups(groups) { if (enableBlocks !== undefined) cleanedService.widget.enableBlocks = JSON.parse(enableBlocks); if (enableNowPlaying !== undefined) cleanedService.widget.enableNowPlaying = JSON.parse(enableNowPlaying); } + if (["sonarr", "radarr"].includes(type)) { + if (enableQueue !== undefined) cleanedService.widget.enableQueue = JSON.parse(enableQueue); + } if (["diskstation", "qnap"].includes(type)) { if (volume) cleanedService.widget.volume = volume; } diff --git a/src/widgets/radarr/component.jsx b/src/widgets/radarr/component.jsx index 2e58bf9d..0212eaa7 100644 --- a/src/widgets/radarr/component.jsx +++ b/src/widgets/radarr/component.jsx @@ -1,6 +1,7 @@ import { useTranslation } from "next-i18next"; import { useCallback } from 'react'; -import classNames from 'classnames'; + +import QueueEntry from "../../components/widgets/queue/queueEntry"; import Container from "components/services/widget/container"; import Block from "components/services/widget/block"; @@ -32,6 +33,8 @@ export default function Component({ service }) { return ; } + const enableQueue = widget?.enableQueue; + if (!moviesData || !queuedData || !queueDetailsData) { return ( <> @@ -41,9 +44,11 @@ export default function Component({ service }) { - - - + { enableQueue && + + + + } ); } @@ -56,34 +61,22 @@ export default function Component({ service }) { - - - {Array.isArray(queueDetailsData) ? queueDetailsData.map((queueEntry) => ( -
-
-
-
{moviesData.all.find((entry) => entry.id === queueEntry.movieId)?.title}
-
-
{formatDownloadState(queueEntry.trackedDownloadState)}
-
-
-
-
-
-
{queueEntry.timeLeft}
-
-
- )) : undefined} - - + { enableQueue && + + + {Array.isArray(queueDetailsData) ? queueDetailsData.map((queueEntry) => ( + entry.id === queueEntry.movieId)?.title} + activity={formatDownloadState(queueEntry.trackedDownloadState)} + key={queueEntry.movieId} + /> + )) : undefined} + + + } ); } diff --git a/src/widgets/radarr/widget.js b/src/widgets/radarr/widget.js index 0f53ab14..8d70192f 100644 --- a/src/widgets/radarr/widget.js +++ b/src/widgets/radarr/widget.js @@ -29,7 +29,8 @@ const widget = { timeLeft: entry.timeleft, size: entry.size, sizeLeft: entry.sizeleft, - movieId: entry.movieId + movieId: entry.movieId, + status: entry.status })).sort((a, b) => { const downloadingA = a.trackedDownloadState === "downloading" const downloadingB = b.trackedDownloadState === "downloading" diff --git a/src/widgets/sonarr/component.jsx b/src/widgets/sonarr/component.jsx index ee548b58..0f87b975 100644 --- a/src/widgets/sonarr/component.jsx +++ b/src/widgets/sonarr/component.jsx @@ -1,7 +1,8 @@ import { useTranslation } from "next-i18next"; -import classNames from 'classnames'; import { useCallback } from 'react'; +import QueueEntry from "../../components/widgets/queue/queueEntry"; + import Container from "components/services/widget/container"; import Block from "components/services/widget/block"; import useWidgetAPI from "utils/proxy/use-widget-api"; @@ -33,6 +34,8 @@ export default function Component({ service }) { return ; } + const enableQueue = widget?.enableQueue; + if (!wantedData || !queuedData || !seriesData || !queueDetailsData) { return ( <> @@ -41,9 +44,11 @@ export default function Component({ service }) { - - - + { enableQueue && + + + + } ); } @@ -55,34 +60,22 @@ export default function Component({ service }) { - - - {Array.isArray(queueDetailsData) ? queueDetailsData.map((queueEntry) => ( -
-
-
-
{seriesData.find((entry) => entry.id === queueEntry.seriesId).title} • {queueEntry.episodeTitle}
-
-
{formatDownloadState(queueEntry.trackedDownloadState)}
-
-
-
-
-
-
{queueEntry.timeLeft}
-
-
- )) : undefined} - - + { enableQueue && + + + {Array.isArray(queueDetailsData) ? queueDetailsData.map((queueEntry) => ( + entry.id === queueEntry.seriesId)?.title } • ${ queueEntry.episodeTitle}`} + activity={formatDownloadState(queueEntry.trackedDownloadState)} + key={queueEntry.episodeId} + /> + )) : undefined} + + + } ); } diff --git a/src/widgets/sonarr/widget.js b/src/widgets/sonarr/widget.js index 80afdb99..c0fae806 100644 --- a/src/widgets/sonarr/widget.js +++ b/src/widgets/sonarr/widget.js @@ -35,7 +35,8 @@ const widget = { sizeLeft: entry.sizeleft, seriesId: entry.seriesId, episodeTitle: entry.episode?.title, - episodeId: entry.episodeId + episodeId: entry.episodeId, + status: entry.status })).sort((a, b) => { const downloadingA = a.trackedDownloadState === "downloading" const downloadingB = b.trackedDownloadState === "downloading" From 3a2926225616f4e1fead3fa98d5b5d99cad530e0 Mon Sep 17 00:00:00 2001 From: nsankbeil Date: Mon, 5 Jun 2023 21:43:49 -0400 Subject: [PATCH 04/45] feat: support compressed responses --- src/utils/proxy/http.js | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/utils/proxy/http.js b/src/utils/proxy/http.js index e022fb46..f869cd0b 100644 --- a/src/utils/proxy/http.js +++ b/src/utils/proxy/http.js @@ -1,5 +1,7 @@ /* eslint-disable prefer-promise-reject-errors */ /* eslint-disable no-param-reassign */ +import { createUnzip } from "node:zlib"; + import { http, https } from "follow-redirects"; import { addCookieToJar, setCookieHeader } from "./cookie-jar"; @@ -28,12 +30,19 @@ function handleRequest(requestor, url, params) { const request = requestor.request(url, params, (response) => { const data = []; + const contentEncoding = response.headers['content-encoding']?.trim().toLowerCase(); - response.on("data", (chunk) => { + let responseContent = response; + if (contentEncoding === 'gzip' || contentEncoding === 'deflate') { + responseContent = createUnzip(); + response.pipe(responseContent); + } + + responseContent.on("data", (chunk) => { data.push(chunk); }); - response.on("end", () => { + responseContent.on("end", () => { addCookieToJar(url, response.headers); resolve([response.statusCode, response.headers["content-type"], Buffer.concat(data), response.headers]); }); From dd4ee443029ce79e6a8ac600ca8debdcbb1fae38 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Mon, 5 Jun 2023 22:21:26 -0700 Subject: [PATCH 05/45] Simplify sonarr / radarr queues, better handle some errors --- public/locales/en/common.json | 6 +- src/components/services/widget/block-list.jsx | 31 ---------- src/components/widgets/queue/queueEntry.jsx | 16 +---- src/widgets/radarr/component.jsx | 54 +++++++--------- src/widgets/radarr/widget.js | 2 +- src/widgets/sonarr/component.jsx | 62 +++++++++---------- src/widgets/sonarr/widget.js | 6 +- tailwind.config.js | 3 - 8 files changed, 64 insertions(+), 116 deletions(-) delete mode 100644 src/components/services/widget/block-list.jsx diff --git a/public/locales/en/common.json b/public/locales/en/common.json index a3d74aee..e20e1908 100755 --- a/public/locales/en/common.json +++ b/public/locales/en/common.json @@ -195,14 +195,16 @@ "wanted": "Wanted", "queued": "Queued", "series": "Series", - "queue": "Queue" + "queue": "Queue", + "unknown": "Unknown" }, "radarr": { "wanted": "Wanted", "missing": "Missing", "queued": "Queued", "movies": "Movies", - "queue": "Queue" + "queue": "Queue", + "unknown": "Unknown" }, "lidarr": { "wanted": "Wanted", diff --git a/src/components/services/widget/block-list.jsx b/src/components/services/widget/block-list.jsx deleted file mode 100644 index 138576bc..00000000 --- a/src/components/services/widget/block-list.jsx +++ /dev/null @@ -1,31 +0,0 @@ -import { useTranslation } from "next-i18next"; -import { useCallback, useState } from 'react'; -import classNames from "classnames"; - -import ResolvedIcon from '../../resolvedicon'; - - -export default function BlockList({ label, children, childHeight }) { - const { t } = useTranslation(); - const [isOpen, setOpen] = useState(false); - - const changeState = useCallback(() => setOpen(!isOpen), [isOpen, setOpen]); - - return ( -
- -
- {children} -
-
- ); -} diff --git a/src/components/widgets/queue/queueEntry.jsx b/src/components/widgets/queue/queueEntry.jsx index 0d0625e9..adea45ad 100644 --- a/src/components/widgets/queue/queueEntry.jsx +++ b/src/components/widgets/queue/queueEntry.jsx @@ -1,22 +1,12 @@ -import {BsFillPlayFill, BsPauseFill} from "react-icons/bs"; - -export default function QueueEntry({ status, title, activity, timeLeft, progress}) { +export default function QueueEntry({ title, activity, timeLeft, progress}) { return ( -
+
-
- {status === "paused" && ( - - )} - {status !== "paused" && ( - - )} -
{title}
diff --git a/src/widgets/radarr/component.jsx b/src/widgets/radarr/component.jsx index 0212eaa7..6ce2f599 100644 --- a/src/widgets/radarr/component.jsx +++ b/src/widgets/radarr/component.jsx @@ -5,9 +5,12 @@ import QueueEntry from "../../components/widgets/queue/queueEntry"; import Container from "components/services/widget/container"; import Block from "components/services/widget/block"; -import BlockList from "components/services/widget/block-list"; import useWidgetAPI from "utils/proxy/use-widget-api"; +function getProgress(sizeLeft, size) { + return sizeLeft === 0 ? 100 : (1 - sizeLeft / size) * 100 +} + export default function Component({ service }) { const { t } = useTranslation(); const { widget } = service; @@ -16,7 +19,6 @@ export default function Component({ service }) { const { data: queuedData, error: queuedError } = useWidgetAPI(widget, "queue/status"); const { data: queueDetailsData, error: queueDetailsError } = useWidgetAPI(widget, "queue/details"); - // information taken from the Radarr docs: https://radarr.video/docs/api/ const formatDownloadState = useCallback((downloadState) => { switch (downloadState) { case "importPending": @@ -33,26 +35,19 @@ export default function Component({ service }) { return ; } - const enableQueue = widget?.enableQueue; - if (!moviesData || !queuedData || !queueDetailsData) { return ( - <> - - - - - - - { enableQueue && - - - - } - + + + + + + ); } + const enableQueue = widget?.enableQueue && Array.isArray(queueDetailsData) && queueDetailsData.length > 0; + return ( <> @@ -61,21 +56,16 @@ export default function Component({ service }) { - { enableQueue && - - - {Array.isArray(queueDetailsData) ? queueDetailsData.map((queueEntry) => ( - entry.id === queueEntry.movieId)?.title} - activity={formatDownloadState(queueEntry.trackedDownloadState)} - key={queueEntry.movieId} - /> - )) : undefined} - - + {enableQueue && + queueDetailsData.map((queueEntry) => ( + entry.id === queueEntry.movieId)?.title ?? t("radarr.unknown")} + activity={formatDownloadState(queueEntry.trackedDownloadState)} + key={`${queueEntry.movieId}-${queueEntry.sizeLeft}`} + /> + )) } ); diff --git a/src/widgets/radarr/widget.js b/src/widgets/radarr/widget.js index 8d70192f..3373975e 100644 --- a/src/widgets/radarr/widget.js +++ b/src/widgets/radarr/widget.js @@ -29,7 +29,7 @@ const widget = { timeLeft: entry.timeleft, size: entry.size, sizeLeft: entry.sizeleft, - movieId: entry.movieId, + movieId: entry.movieId ?? entry.id, status: entry.status })).sort((a, b) => { const downloadingA = a.trackedDownloadState === "downloading" diff --git a/src/widgets/sonarr/component.jsx b/src/widgets/sonarr/component.jsx index 0f87b975..27b1ab03 100644 --- a/src/widgets/sonarr/component.jsx +++ b/src/widgets/sonarr/component.jsx @@ -6,7 +6,20 @@ import QueueEntry from "../../components/widgets/queue/queueEntry"; import Container from "components/services/widget/container"; import Block from "components/services/widget/block"; import useWidgetAPI from "utils/proxy/use-widget-api"; -import BlockList from 'components/services/widget/block-list'; + +function getProgress(sizeLeft, size) { + return sizeLeft === 0 ? 100 : (1 - sizeLeft / size) * 100 +} + +function getTitle(queueEntry, seriesData) { + let title = '' + const seriesTitle = seriesData.find((entry) => entry.id === queueEntry.seriesId)?.title; + if (seriesTitle) title += `${seriesTitle}: `; + const { episodeTitle } = queueEntry; + if (episodeTitle) title += episodeTitle; + if (title === '') return null; + return title; +} export default function Component({ service }) { const { t } = useTranslation(); @@ -17,7 +30,6 @@ export default function Component({ service }) { const { data: seriesData, error: seriesError } = useWidgetAPI(widget, "series"); const { data: queueDetailsData, error: queueDetailsError } = useWidgetAPI(widget, "queue/details"); - // information taken from the Sonarr docs: https://sonarr.tv/docs/api/ const formatDownloadState = useCallback((downloadState) => { switch (downloadState) { case "importPending": @@ -34,25 +46,18 @@ export default function Component({ service }) { return ; } - const enableQueue = widget?.enableQueue; - if (!wantedData || !queuedData || !seriesData || !queueDetailsData) { return ( - <> - - - - - - { enableQueue && - - - - } - + + + + + ); } + const enableQueue = widget?.enableQueue && Array.isArray(queueDetailsData) && queueDetailsData.length > 0; + return ( <> @@ -60,21 +65,16 @@ export default function Component({ service }) { - { enableQueue && - - - {Array.isArray(queueDetailsData) ? queueDetailsData.map((queueEntry) => ( - entry.id === queueEntry.seriesId)?.title } • ${ queueEntry.episodeTitle}`} - activity={formatDownloadState(queueEntry.trackedDownloadState)} - key={queueEntry.episodeId} - /> - )) : undefined} - - + {enableQueue && + queueDetailsData.map((queueEntry) => ( + + )) } ); diff --git a/src/widgets/sonarr/widget.js b/src/widgets/sonarr/widget.js index c0fae806..7f658eb1 100644 --- a/src/widgets/sonarr/widget.js +++ b/src/widgets/sonarr/widget.js @@ -34,9 +34,9 @@ const widget = { size: entry.size, sizeLeft: entry.sizeleft, seriesId: entry.seriesId, - episodeTitle: entry.episode?.title, - episodeId: entry.episodeId, - status: entry.status + episodeTitle: entry.episode?.title ?? entry.title, + episodeId: entry.episodeId ?? entry.id, + status: entry.status, })).sort((a, b) => { const downloadingA = a.trackedDownloadState === "downloading" const downloadingB = b.trackedDownloadState === "downloading" diff --git a/tailwind.config.js b/tailwind.config.js index 96c9e641..b981051b 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -29,9 +29,6 @@ module.exports = { '3xl': '1800px', // => @media (min-width: 1800px) { ... } }, - transitionProperty: { - 'height': 'height' - }, }, }, plugins: [tailwindForms, tailwindScrollbars], From a05474728520ac33b400b4ef72ae2c92c55db9eb Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 6 Jun 2023 20:33:13 +0000 Subject: [PATCH 06/45] Translated using Weblate (German) Currently translated at 98.4% (458 of 465 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/de/ --- public/locales/de/common.json | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/public/locales/de/common.json b/public/locales/de/common.json index b62c5e6a..0d664d99 100644 --- a/public/locales/de/common.json +++ b/public/locales/de/common.json @@ -66,13 +66,17 @@ "sonarr": { "wanted": "Gesucht", "queued": "In Warteschlange", - "series": "Serien" + "series": "Serien", + "queue": "Queue", + "unknown": "Unknown" }, "radarr": { "wanted": "Gesucht", "queued": "In Warteschlange", "movies": "Filme", - "missing": "Fehlt" + "missing": "Fehlt", + "queue": "Queue", + "unknown": "Unknown" }, "readarr": { "wanted": "Gesucht", From fd0d644474f5db1883da534e3d46bba29afb977b Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 6 Jun 2023 20:33:14 +0000 Subject: [PATCH 07/45] Translated using Weblate (Spanish) Currently translated at 99.1% (461 of 465 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/ --- public/locales/es/common.json | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/public/locales/es/common.json b/public/locales/es/common.json index 1ca5a62f..5d528e64 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -66,13 +66,17 @@ "sonarr": { "wanted": "Buscando", "queued": "En cola", - "series": "Series" + "series": "Series", + "queue": "Queue", + "unknown": "Unknown" }, "radarr": { "wanted": "Buscando", "queued": "En cola", "movies": "Películas", - "missing": "Faltan" + "missing": "Faltan", + "queue": "Queue", + "unknown": "Unknown" }, "readarr": { "wanted": "Buscando", From 7367bd4a1ff1e5d4fa79036bd6fb53dfbc75bc94 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 6 Jun 2023 20:33:14 +0000 Subject: [PATCH 08/45] Translated using Weblate (French) Currently translated at 99.1% (461 of 465 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/ --- public/locales/fr/common.json | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/public/locales/fr/common.json b/public/locales/fr/common.json index a85eb438..12f2098c 100644 --- a/public/locales/fr/common.json +++ b/public/locales/fr/common.json @@ -66,13 +66,17 @@ "sonarr": { "wanted": "Demande", "queued": "Attente", - "series": "Séries" + "series": "Séries", + "queue": "Queue", + "unknown": "Unknown" }, "radarr": { "wanted": "Demande", "queued": "Attente", "movies": "Films", - "missing": "Manquant" + "missing": "Manquant", + "queue": "Queue", + "unknown": "Unknown" }, "readarr": { "wanted": "Demande", From bcdbcb2cb7b9650a2b9564724a2d7ebaaba98a53 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 6 Jun 2023 20:33:15 +0000 Subject: [PATCH 09/45] Translated using Weblate (Portuguese) Currently translated at 87.0% (405 of 465 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt/ --- public/locales/pt/common.json | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/public/locales/pt/common.json b/public/locales/pt/common.json index b0df5367..ef5f7cd8 100644 --- a/public/locales/pt/common.json +++ b/public/locales/pt/common.json @@ -66,13 +66,17 @@ "sonarr": { "wanted": "Desejada", "queued": "Em fila", - "series": "Séries" + "series": "Séries", + "queue": "Queue", + "unknown": "Unknown" }, "radarr": { "wanted": "Desejado", "queued": "Fila", "movies": "Filmes", - "missing": "Faltando" + "missing": "Faltando", + "queue": "Queue", + "unknown": "Unknown" }, "readarr": { "wanted": "Desejados", From 3061654eeb7e118449e44e64f7ca9402125838b1 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 6 Jun 2023 20:33:06 +0000 Subject: [PATCH 10/45] Translated using Weblate (Russian) Currently translated at 89.0% (414 of 465 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ru/ --- public/locales/ru/common.json | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/public/locales/ru/common.json b/public/locales/ru/common.json index 454bfdfe..5e16f154 100644 --- a/public/locales/ru/common.json +++ b/public/locales/ru/common.json @@ -66,13 +66,17 @@ "sonarr": { "wanted": "Хотел", "queued": "В очереди", - "series": "Серии" + "series": "Серии", + "queue": "Queue", + "unknown": "Unknown" }, "radarr": { "wanted": "Хотел", "queued": "В очереди", "movies": "Фильмы", - "missing": "Пропущено" + "missing": "Пропущено", + "queue": "Queue", + "unknown": "Unknown" }, "readarr": { "wanted": "Хотел", From 4c55eee55bb24f0b6a1641076ac76f91b7267879 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 6 Jun 2023 20:33:07 +0000 Subject: [PATCH 11/45] Translated using Weblate (Chinese (Simplified)) Currently translated at 95.4% (444 of 465 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, 6 insertions(+), 2 deletions(-) diff --git a/public/locales/zh-CN/common.json b/public/locales/zh-CN/common.json index 0d6f427e..1b6a7ea2 100644 --- a/public/locales/zh-CN/common.json +++ b/public/locales/zh-CN/common.json @@ -66,13 +66,17 @@ "sonarr": { "wanted": "想看", "queued": "排队", - "series": "系列" + "series": "系列", + "queue": "Queue", + "unknown": "Unknown" }, "radarr": { "wanted": "想看", "queued": "队列", "movies": "电影", - "missing": "丢失" + "missing": "丢失", + "queue": "Queue", + "unknown": "Unknown" }, "readarr": { "wanted": "订阅", From 86cb124894d7eda1a4a1a2f34b01fb964d085437 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 6 Jun 2023 20:33:02 +0000 Subject: [PATCH 12/45] Translated using Weblate (Italian) Currently translated at 61.7% (287 of 465 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/it/ --- public/locales/it/common.json | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/public/locales/it/common.json b/public/locales/it/common.json index 8dc065d4..5eed8b41 100644 --- a/public/locales/it/common.json +++ b/public/locales/it/common.json @@ -81,13 +81,17 @@ "sonarr": { "series": "Serie", "wanted": "Richiesti", - "queued": "In coda" + "queued": "In coda", + "queue": "Queue", + "unknown": "Unknown" }, "radarr": { "wanted": "Richiesti", "queued": "In coda", "movies": "Film", - "missing": "Mancanti" + "missing": "Mancanti", + "queue": "Queue", + "unknown": "Unknown" }, "readarr": { "wanted": "Richiesti", From ece83fd53100125f7169273c01a3ce174ba61abd Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 6 Jun 2023 20:33:03 +0000 Subject: [PATCH 13/45] =?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 16.9% (79 of 465 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, 6 insertions(+), 2 deletions(-) diff --git a/public/locales/nb-NO/common.json b/public/locales/nb-NO/common.json index e7a2dd5c..5761e333 100644 --- a/public/locales/nb-NO/common.json +++ b/public/locales/nb-NO/common.json @@ -66,13 +66,17 @@ "sonarr": { "wanted": "Ønsket", "queued": "I kø", - "series": "Serie" + "series": "Serie", + "unknown": "Unknown", + "queue": "Queue" }, "radarr": { "wanted": "Ønsket", "queued": "I kø", "movies": "Filmer", - "missing": "Missing" + "missing": "Missing", + "queue": "Queue", + "unknown": "Unknown" }, "readarr": { "wanted": "Wanted", From 51a1562ea93d565e31d7286cc39763127ad67d9d Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 6 Jun 2023 20:33:04 +0000 Subject: [PATCH 14/45] Translated using Weblate (Vietnamese) Currently translated at 9.4% (44 of 465 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/vi/ --- public/locales/vi/common.json | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/public/locales/vi/common.json b/public/locales/vi/common.json index 54431b3c..2b551546 100644 --- a/public/locales/vi/common.json +++ b/public/locales/vi/common.json @@ -66,13 +66,17 @@ "sonarr": { "wanted": "Wanted", "queued": "Queued", - "series": "Series" + "series": "Series", + "queue": "Queue", + "unknown": "Unknown" }, "radarr": { "wanted": "Wanted", "queued": "Queued", "movies": "Phim", - "missing": "Missing" + "missing": "Missing", + "queue": "Queue", + "unknown": "Unknown" }, "readarr": { "wanted": "Đang tìm", From 63247f3a9f245f2f6c1509ebeac83cd19db629f5 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 6 Jun 2023 20:33:03 +0000 Subject: [PATCH 15/45] Translated using Weblate (Dutch) Currently translated at 52.0% (242 of 465 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nl/ --- public/locales/nl/common.json | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/public/locales/nl/common.json b/public/locales/nl/common.json index 0be39980..fad081f6 100644 --- a/public/locales/nl/common.json +++ b/public/locales/nl/common.json @@ -82,13 +82,17 @@ "sonarr": { "wanted": "Gezocht", "queued": "In de wachtrij", - "series": "Series" + "series": "Series", + "queue": "Queue", + "unknown": "Unknown" }, "radarr": { "movies": "Films", "wanted": "Gezocht", "queued": "In de wachtrij", - "missing": "Missend" + "missing": "Missend", + "queue": "Queue", + "unknown": "Unknown" }, "readarr": { "wanted": "Gezocht", From 4cf8302d4f3de317c084a9b8e7b7c49067440847 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 6 Jun 2023 20:33:09 +0000 Subject: [PATCH 16/45] Translated using Weblate (Chinese (Traditional)) Currently translated at 99.1% (461 of 465 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, 6 insertions(+), 2 deletions(-) diff --git a/public/locales/zh-Hant/common.json b/public/locales/zh-Hant/common.json index 75674709..7ea7c835 100644 --- a/public/locales/zh-Hant/common.json +++ b/public/locales/zh-Hant/common.json @@ -88,12 +88,16 @@ "movies": "電影", "wanted": "關注中", "queued": "已加入佇列", - "missing": "缺少" + "missing": "缺少", + "queue": "Queue", + "unknown": "Unknown" }, "sonarr": { "wanted": "關注中", "queued": "已加入佇列", - "series": "影集" + "series": "影集", + "queue": "Queue", + "unknown": "Unknown" }, "readarr": { "wanted": "關注中", From a2204a3de9aa890f624f9d9370cedc211f83ea05 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 6 Jun 2023 20:33:05 +0000 Subject: [PATCH 17/45] Translated using Weblate (Catalan) Currently translated at 56.1% (261 of 465 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ca/ --- public/locales/ca/common.json | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/public/locales/ca/common.json b/public/locales/ca/common.json index 33fe5338..b133c24f 100644 --- a/public/locales/ca/common.json +++ b/public/locales/ca/common.json @@ -26,7 +26,9 @@ "sonarr": { "wanted": "Volgut", "queued": "En cua", - "series": "Sèries" + "series": "Sèries", + "queue": "Queue", + "unknown": "Unknown" }, "speedtest": { "ping": "Ping", @@ -99,7 +101,9 @@ "wanted": "Volgut", "queued": "En cua", "movies": "Pel·lícules", - "missing": "Faltant" + "missing": "Faltant", + "queue": "Queue", + "unknown": "Unknown" }, "readarr": { "wanted": "Volgut", From f66dc86e245332fc2635c0b299bdcdbf550ba28d Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 6 Jun 2023 20:32:59 +0000 Subject: [PATCH 18/45] Translated using Weblate (Polish) Currently translated at 80.6% (375 of 465 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pl/ --- public/locales/pl/common.json | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/public/locales/pl/common.json b/public/locales/pl/common.json index a900de72..18a57078 100644 --- a/public/locales/pl/common.json +++ b/public/locales/pl/common.json @@ -110,13 +110,17 @@ "sonarr": { "wanted": "Poszukiwane", "queued": "W kolejce", - "series": "Seriale" + "series": "Seriale", + "queue": "Queue", + "unknown": "Unknown" }, "radarr": { "wanted": "Poszukiwane", "queued": "W kolejce", "movies": "Filmy", - "missing": "Brakujące" + "missing": "Brakujące", + "queue": "Queue", + "unknown": "Unknown" }, "lidarr": { "wanted": "Poszukiwane", From ff7ee3149705e6f5b5189e2e0bbe56f8cfd6652a Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 6 Jun 2023 20:33:05 +0000 Subject: [PATCH 19/45] Translated using Weblate (Swedish) Currently translated at 28.1% (131 of 465 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sv/ --- public/locales/sv/common.json | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/public/locales/sv/common.json b/public/locales/sv/common.json index 37b38a71..0da6efb3 100644 --- a/public/locales/sv/common.json +++ b/public/locales/sv/common.json @@ -88,13 +88,17 @@ "sonarr": { "wanted": "Eftersöker", "queued": "I kö", - "series": "Serier" + "series": "Serier", + "queue": "Queue", + "unknown": "Unknown" }, "radarr": { "wanted": "Eftersöker", "queued": "I kö", "movies": "Filmer", - "missing": "Missing" + "missing": "Missing", + "queue": "Queue", + "unknown": "Unknown" }, "lidarr": { "wanted": "Eftersöker", From e2c8b2000f7af5172d6e6ec2f5594edf8fa6306b Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 6 Jun 2023 20:33:07 +0000 Subject: [PATCH 20/45] Translated using Weblate (Croatian) Currently translated at 98.7% (459 of 465 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hr/ --- public/locales/hr/common.json | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/public/locales/hr/common.json b/public/locales/hr/common.json index 268a1f89..fce370ce 100644 --- a/public/locales/hr/common.json +++ b/public/locales/hr/common.json @@ -125,13 +125,17 @@ "sonarr": { "wanted": "Zatraženo", "queued": "U redu čekanja", - "series": "Serije" + "series": "Serije", + "unknown": "Unknown", + "queue": "Queue" }, "radarr": { "wanted": "Zatraženo", "queued": "U redu čekanja", "movies": "Filmovi", - "missing": "Nedostaje" + "missing": "Nedostaje", + "queue": "Queue", + "unknown": "Unknown" }, "lidarr": { "wanted": "Zatraženo", From 4682b5a9a2d6cd6037edc443eaf4ebf4270f738c Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 6 Jun 2023 20:33:11 +0000 Subject: [PATCH 21/45] Translated using Weblate (Hungarian) Currently translated at 23.2% (108 of 465 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hu/ --- public/locales/hu/common.json | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/public/locales/hu/common.json b/public/locales/hu/common.json index b417692d..98687d9f 100644 --- a/public/locales/hu/common.json +++ b/public/locales/hu/common.json @@ -108,13 +108,17 @@ "sonarr": { "wanted": "Keresett", "queued": "Sorban áll", - "series": "Sorozat" + "series": "Sorozat", + "queue": "Queue", + "unknown": "Unknown" }, "radarr": { "wanted": "Keresett", "queued": "Sorban áll", "movies": "Filmek", - "missing": "Missing" + "missing": "Missing", + "queue": "Queue", + "unknown": "Unknown" }, "ombi": { "pending": "Függőben", From 46b988eeea1fe7b814566c410482bd44ced6c4e6 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 6 Jun 2023 20:33:11 +0000 Subject: [PATCH 22/45] Translated using Weblate (Hebrew) Currently translated at 21.7% (101 of 465 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/he/ --- public/locales/he/common.json | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/public/locales/he/common.json b/public/locales/he/common.json index 50f61ae5..9e682c20 100644 --- a/public/locales/he/common.json +++ b/public/locales/he/common.json @@ -94,13 +94,17 @@ "sonarr": { "wanted": "מבוקש", "queued": "בתור", - "series": "סדרות" + "series": "סדרות", + "queue": "Queue", + "unknown": "Unknown" }, "radarr": { "wanted": "מבוקש", "queued": "בתור", "movies": "סרטים", - "missing": "Missing" + "missing": "Missing", + "queue": "Queue", + "unknown": "Unknown" }, "lidarr": { "wanted": "מבוקש", From 26d17e9a3a95b5b84823fdde4785b5f06b8af811 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 6 Jun 2023 20:33:08 +0000 Subject: [PATCH 23/45] Translated using Weblate (Romanian) Currently translated at 32.4% (151 of 465 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ro/ --- public/locales/ro/common.json | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/public/locales/ro/common.json b/public/locales/ro/common.json index a1f62db2..535ecb7d 100644 --- a/public/locales/ro/common.json +++ b/public/locales/ro/common.json @@ -134,13 +134,17 @@ "sonarr": { "wanted": "Dorite", "queued": "În coadă", - "series": "Seriale" + "series": "Seriale", + "queue": "Queue", + "unknown": "Unknown" }, "radarr": { "queued": "În coadă", "wanted": "Dorite", "movies": "Filme", - "missing": "Missing" + "missing": "Missing", + "queue": "Queue", + "unknown": "Unknown" }, "lidarr": { "wanted": "Dorite", From a2a6cd150ff1e11c88eb4b311d491de005b68c6a Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 6 Jun 2023 20:33:08 +0000 Subject: [PATCH 24/45] Translated using Weblate (Portuguese (Brazil)) Currently translated at 87.0% (405 of 465 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, 6 insertions(+), 2 deletions(-) diff --git a/public/locales/pt-BR/common.json b/public/locales/pt-BR/common.json index bc405db0..d4392e18 100644 --- a/public/locales/pt-BR/common.json +++ b/public/locales/pt-BR/common.json @@ -112,13 +112,17 @@ "sonarr": { "wanted": "Desejado", "queued": "Na fila", - "series": "Séries" + "series": "Séries", + "queue": "Queue", + "unknown": "Unknown" }, "radarr": { "wanted": "Desejado", "queued": "Na fila", "movies": "Filmes", - "missing": "Faltando" + "missing": "Faltando", + "queue": "Queue", + "unknown": "Unknown" }, "lidarr": { "wanted": "Desejado", From db7fdd2a4f9045eda6522934df5f4c084668f9fe Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 6 Jun 2023 20:33:18 +0000 Subject: [PATCH 25/45] Translated using Weblate (Yue (Traditional)) Currently translated at 25.3% (118 of 465 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/yue_Hant/ --- public/locales/yue/common.json | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/public/locales/yue/common.json b/public/locales/yue/common.json index 5ab69f88..ce9af7e4 100644 --- a/public/locales/yue/common.json +++ b/public/locales/yue/common.json @@ -94,13 +94,17 @@ "sonarr": { "wanted": "想睇", "queued": "排緊隊", - "series": "電視劇" + "series": "電視劇", + "queue": "Queue", + "unknown": "Unknown" }, "radarr": { "wanted": "想睇", "queued": "排緊隊", "movies": "電影", - "missing": "Missing" + "missing": "Missing", + "queue": "Queue", + "unknown": "Unknown" }, "lidarr": { "wanted": "想睇", From 95ecc5546777c7fd4dd266883fd0256de3679122 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 6 Jun 2023 20:33:16 +0000 Subject: [PATCH 26/45] Translated using Weblate (Finnish) Currently translated at 38.2% (178 of 465 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fi/ --- public/locales/fi/common.json | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/public/locales/fi/common.json b/public/locales/fi/common.json index aad674a1..07dbb8e5 100644 --- a/public/locales/fi/common.json +++ b/public/locales/fi/common.json @@ -94,13 +94,17 @@ "sonarr": { "wanted": "Haluttu", "queued": "Jonossa", - "series": "Sarja" + "series": "Sarja", + "queue": "Queue", + "unknown": "Unknown" }, "radarr": { "wanted": "Haluttu", "queued": "Jonossa", "movies": "Elokuvia", - "missing": "Missing" + "missing": "Missing", + "queue": "Queue", + "unknown": "Unknown" }, "lidarr": { "wanted": "Haluttu", From a00ef03ce52b668e75dbb2ea7ad7d71c719a12ca Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 6 Jun 2023 20:33:17 +0000 Subject: [PATCH 27/45] Translated using Weblate (Telugu) Currently translated at 46.4% (216 of 465 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/te/ --- public/locales/te/common.json | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/public/locales/te/common.json b/public/locales/te/common.json index e357b266..867baeae 100644 --- a/public/locales/te/common.json +++ b/public/locales/te/common.json @@ -111,13 +111,17 @@ "sonarr": { "wanted": "కావలెను", "queued": "క్యూయూఎడ్", - "series": "సిరీస్" + "series": "సిరీస్", + "queue": "Queue", + "unknown": "Unknown" }, "radarr": { "wanted": "కావలెను", "queued": "క్యూయూఎడ్", "movies": "సినిమాలు", - "missing": "మిస్సింగ్" + "missing": "మిస్సింగ్", + "queue": "Queue", + "unknown": "Unknown" }, "lidarr": { "wanted": "కావలెను", From 3ab5862bf1f403cd772ce22201d4439d7cfc5345 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 6 Jun 2023 20:33:17 +0000 Subject: [PATCH 28/45] Translated using Weblate (Bulgarian) Currently translated at 9.8% (46 of 465 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/bg/ --- public/locales/bg/common.json | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/public/locales/bg/common.json b/public/locales/bg/common.json index 3fec6dbd..e567de17 100644 --- a/public/locales/bg/common.json +++ b/public/locales/bg/common.json @@ -117,13 +117,17 @@ "sonarr": { "wanted": "Wanted", "queued": "Queued", - "series": "Series" + "series": "Series", + "queue": "Queue", + "unknown": "Unknown" }, "radarr": { "wanted": "Wanted", "queued": "Queued", "movies": "Movies", - "missing": "Missing" + "missing": "Missing", + "queue": "Queue", + "unknown": "Unknown" }, "lidarr": { "wanted": "Wanted", From 7bcd405f77cd9d8a62094c90b44173b28931e641 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 6 Jun 2023 20:33:18 +0000 Subject: [PATCH 29/45] Translated using Weblate (Turkish) Currently translated at 84.7% (394 of 465 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/tr/ --- public/locales/tr/common.json | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/public/locales/tr/common.json b/public/locales/tr/common.json index a2a872f4..d2f9667d 100644 --- a/public/locales/tr/common.json +++ b/public/locales/tr/common.json @@ -117,13 +117,17 @@ "sonarr": { "wanted": "Aranan", "queued": "Kuyrukta", - "series": "Seriler" + "series": "Seriler", + "queue": "Queue", + "unknown": "Unknown" }, "radarr": { "wanted": "Aranan", "queued": "Kuyrukta", "movies": "Filmler", - "missing": "Kayıp" + "missing": "Kayıp", + "queue": "Queue", + "unknown": "Unknown" }, "lidarr": { "wanted": "Aranan", From 9523f72c979a91971a740767b7c087ab51f27139 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 6 Jun 2023 20:33:10 +0000 Subject: [PATCH 30/45] Translated using Weblate (Serbian) Currently translated at 1.9% (9 of 465 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sr/ --- public/locales/sr/common.json | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/public/locales/sr/common.json b/public/locales/sr/common.json index b30db3fe..5c6e0b2e 100644 --- a/public/locales/sr/common.json +++ b/public/locales/sr/common.json @@ -117,13 +117,17 @@ "sonarr": { "wanted": "Wanted", "queued": "Queued", - "series": "Series" + "series": "Series", + "queue": "Queue", + "unknown": "Unknown" }, "radarr": { "wanted": "Wanted", "queued": "Queued", "movies": "Movies", - "missing": "Missing" + "missing": "Missing", + "queue": "Queue", + "unknown": "Unknown" }, "lidarr": { "wanted": "Wanted", From 577f8fecfdae364f58b371111c892c60ca8a408b Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 6 Jun 2023 20:33:10 +0000 Subject: [PATCH 31/45] Translated using Weblate (Arabic) Currently translated at 56.1% (261 of 465 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ar/ --- public/locales/ar/common.json | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/public/locales/ar/common.json b/public/locales/ar/common.json index 39b77411..cecfb771 100644 --- a/public/locales/ar/common.json +++ b/public/locales/ar/common.json @@ -179,13 +179,17 @@ "sonarr": { "wanted": "مطلوب", "queued": "في الإنتظار", - "series": "سلسلة" + "series": "سلسلة", + "queue": "Queue", + "unknown": "Unknown" }, "radarr": { "wanted": "مطلوب", "missing": "مفقود", "queued": "في الإنتظار", - "movies": "أفلام" + "movies": "أفلام", + "queue": "Queue", + "unknown": "Unknown" }, "lidarr": { "wanted": "مطلوب", From 0447bb04131199e9d89400e8bc0fcd871061b6e6 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 6 Jun 2023 20:32:56 +0000 Subject: [PATCH 32/45] Translated using Weblate (Czech) Currently translated at 95.6% (445 of 465 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/cs/ --- public/locales/cs/common.json | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/public/locales/cs/common.json b/public/locales/cs/common.json index 6088851b..e4699e86 100644 --- a/public/locales/cs/common.json +++ b/public/locales/cs/common.json @@ -133,13 +133,17 @@ "sonarr": { "wanted": "Hledané", "queued": "Ve frontě", - "series": "Seriály" + "series": "Seriály", + "unknown": "Unknown", + "queue": "Queue" }, "radarr": { "wanted": "Hledané", "missing": "Chybějící", "queued": "Ve frontě", - "movies": "Filmy" + "movies": "Filmy", + "queue": "Queue", + "unknown": "Unknown" }, "lidarr": { "wanted": "Hledané", From e398e4acc55b9380b82975d281f2b4ba20bf9ba2 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 6 Jun 2023 20:32:59 +0000 Subject: [PATCH 33/45] Translated using Weblate (Danish) Currently translated at 42.3% (197 of 465 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/da/ --- public/locales/da/common.json | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/public/locales/da/common.json b/public/locales/da/common.json index 3769da6f..ccaa5d52 100644 --- a/public/locales/da/common.json +++ b/public/locales/da/common.json @@ -9,7 +9,9 @@ "queued": "I Kø", "movies": "Film", "wanted": "Ønskede", - "missing": "Mangler" + "missing": "Mangler", + "queue": "Queue", + "unknown": "Unknown" }, "lidarr": { "wanted": "Ønsket", @@ -264,7 +266,9 @@ "sonarr": { "wanted": "Ønsket", "queued": "I Kø", - "series": "Serier" + "series": "Serier", + "queue": "Queue", + "unknown": "Unknown" }, "readarr": { "wanted": "Ønskede", From 0f5deba5e34bd40bf747162f7758b3010335acb4 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 6 Jun 2023 20:33:00 +0000 Subject: [PATCH 34/45] Translated using Weblate (Malay) Currently translated at 54.1% (252 of 465 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ms/ --- public/locales/ms/common.json | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/public/locales/ms/common.json b/public/locales/ms/common.json index da42ff44..716049ef 100644 --- a/public/locales/ms/common.json +++ b/public/locales/ms/common.json @@ -233,13 +233,17 @@ "sonarr": { "wanted": "Mahu", "queued": "Dibaris Gilir", - "series": "Bersiri" + "series": "Bersiri", + "queue": "Queue", + "unknown": "Unknown" }, "radarr": { "wanted": "Mahu", "missing": "Hilang", "queued": "Dibaris Gilir", - "movies": "Filem" + "movies": "Filem", + "queue": "Queue", + "unknown": "Unknown" }, "bazarr": { "missingEpisodes": "Episod Yang Hilang", From 93440ae8d15295785c4f4ab9c7dc34a35741566f Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 6 Jun 2023 20:33:01 +0000 Subject: [PATCH 35/45] Translated using Weblate (Hindi) Currently translated at 1.9% (9 of 465 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hi/ --- public/locales/hi/common.json | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/public/locales/hi/common.json b/public/locales/hi/common.json index 6736caf0..4efc87e0 100644 --- a/public/locales/hi/common.json +++ b/public/locales/hi/common.json @@ -155,13 +155,17 @@ "sonarr": { "wanted": "Wanted", "queued": "Queued", - "series": "Series" + "series": "Series", + "queue": "Queue", + "unknown": "Unknown" }, "radarr": { "wanted": "Wanted", "missing": "Missing", "queued": "Queued", - "movies": "Movies" + "movies": "Movies", + "queue": "Queue", + "unknown": "Unknown" }, "lidarr": { "wanted": "Wanted", From d98607072c723fd415d9adfada6a37621d18cb16 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 6 Jun 2023 20:32:56 +0000 Subject: [PATCH 36/45] Translated using Weblate (Esperanto) Currently translated at 31.3% (146 of 465 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/eo/ --- public/locales/eo/common.json | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/public/locales/eo/common.json b/public/locales/eo/common.json index 50d305ac..8aa16f14 100644 --- a/public/locales/eo/common.json +++ b/public/locales/eo/common.json @@ -131,13 +131,17 @@ "sonarr": { "wanted": "Wanted", "queued": "Queued", - "series": "Serio" + "series": "Serio", + "queue": "Queue", + "unknown": "Unknown" }, "radarr": { "wanted": "Wanted", "missing": "Missing", "queued": "Queued", - "movies": "Filmoj" + "movies": "Filmoj", + "queue": "Queue", + "unknown": "Unknown" }, "lidarr": { "wanted": "Wanted", From 4f386bb2af9274602d2ad55b4e30bc2076dacbd2 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 6 Jun 2023 20:32:57 +0000 Subject: [PATCH 37/45] Translated using Weblate (Ukrainian) Currently translated at 99.1% (461 of 465 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/uk/ --- public/locales/uk/common.json | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/public/locales/uk/common.json b/public/locales/uk/common.json index 37320dfd..2561f4a8 100644 --- a/public/locales/uk/common.json +++ b/public/locales/uk/common.json @@ -232,13 +232,17 @@ "sonarr": { "wanted": "Розшукується", "queued": "У черзі", - "series": "Серії" + "series": "Серії", + "queue": "Queue", + "unknown": "Unknown" }, "radarr": { "wanted": "Розшукується", "missing": "Відсутній", "queued": "У черзі", - "movies": "Фільми" + "movies": "Фільми", + "queue": "Queue", + "unknown": "Unknown" }, "lidarr": { "wanted": "Розшукується", From bb09d85d807f437ea4d31110ea7482f09b4bb122 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 6 Jun 2023 20:33:01 +0000 Subject: [PATCH 38/45] Translated using Weblate (Japanese) Currently translated at 80.4% (374 of 465 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ja/ --- public/locales/ja/common.json | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/public/locales/ja/common.json b/public/locales/ja/common.json index bcca3d2a..1a96786b 100644 --- a/public/locales/ja/common.json +++ b/public/locales/ja/common.json @@ -193,13 +193,17 @@ "sonarr": { "wanted": "募集中", "queued": "待機中", - "series": "シリーズ" + "series": "シリーズ", + "queue": "Queue", + "unknown": "Unknown" }, "radarr": { "wanted": "募集中", "missing": "不明", "queued": "キュー", - "movies": "映画" + "movies": "映画", + "queue": "Queue", + "unknown": "Unknown" }, "lidarr": { "wanted": "募集中", From 249dfa7a92d167cbe749d8b550b297d261d817ed Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 6 Jun 2023 20:32:57 +0000 Subject: [PATCH 39/45] Translated using Weblate (Latvian) Currently translated at 25.5% (119 of 465 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/lv/ --- public/locales/lv/common.json | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/public/locales/lv/common.json b/public/locales/lv/common.json index fa73f2c7..3e4c9173 100644 --- a/public/locales/lv/common.json +++ b/public/locales/lv/common.json @@ -154,13 +154,17 @@ "sonarr": { "wanted": "Wanted", "queued": "Queued", - "series": "Series" + "series": "Series", + "queue": "Queue", + "unknown": "Unknown" }, "radarr": { "wanted": "Wanted", "missing": "Missing", "queued": "Queued", - "movies": "Filmas" + "movies": "Filmas", + "queue": "Queue", + "unknown": "Unknown" }, "lidarr": { "wanted": "Wanted", From a1fedf98e5fc6f4019446ecaeef3f09b0d9724c7 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 6 Jun 2023 20:32:54 +0000 Subject: [PATCH 40/45] Translated using Weblate (Thai) Currently translated at 10.1% (47 of 465 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/th/ --- public/locales/th/common.json | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/public/locales/th/common.json b/public/locales/th/common.json index 65c1b90a..660744b7 100644 --- a/public/locales/th/common.json +++ b/public/locales/th/common.json @@ -190,7 +190,9 @@ "sonarr": { "wanted": "Wanted", "queued": "Queued", - "series": "Series" + "series": "Series", + "queue": "Queue", + "unknown": "Unknown" }, "readarr": { "queued": "Queued", @@ -216,7 +218,9 @@ "wanted": "Wanted", "missing": "Missing", "queued": "Queued", - "movies": "Movies" + "movies": "Movies", + "queue": "Queue", + "unknown": "Unknown" }, "lidarr": { "wanted": "Wanted", From 715f3d9d27e17f0ac25bb1a3c45ebf79e342da3b Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 6 Jun 2023 20:33:12 +0000 Subject: [PATCH 41/45] Translated using Weblate (Slovak) Currently translated at 1.9% (9 of 465 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sk/ --- public/locales/sk/common.json | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/public/locales/sk/common.json b/public/locales/sk/common.json index a66ef5e6..70c699f8 100644 --- a/public/locales/sk/common.json +++ b/public/locales/sk/common.json @@ -273,13 +273,17 @@ "sonarr": { "wanted": "Wanted", "queued": "Queued", - "series": "Series" + "series": "Series", + "queue": "Queue", + "unknown": "Unknown" }, "radarr": { "wanted": "Wanted", "missing": "Missing", "queued": "Queued", - "movies": "Movies" + "movies": "Movies", + "queue": "Queue", + "unknown": "Unknown" }, "lidarr": { "wanted": "Wanted", From b085a1a2d102b1f81c1228decdd6492d11b24b43 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 6 Jun 2023 20:33:13 +0000 Subject: [PATCH 42/45] Translated using Weblate (Korean) Currently translated at 37.4% (174 of 465 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ko/ --- public/locales/ko/common.json | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/public/locales/ko/common.json b/public/locales/ko/common.json index 4e5e6298..56e8dd77 100644 --- a/public/locales/ko/common.json +++ b/public/locales/ko/common.json @@ -163,13 +163,17 @@ "sonarr": { "wanted": "요청", "queued": "대기 중", - "series": "시리즈" + "series": "시리즈", + "queue": "Queue", + "unknown": "Unknown" }, "radarr": { "wanted": "요청", "missing": "빠짐", "queued": "대기 중", - "movies": "영화" + "movies": "영화", + "queue": "Queue", + "unknown": "Unknown" }, "lidarr": { "wanted": "요청", From 614ce65871fd3bdccce6267e0aa14a78592d9252 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 6 Jun 2023 20:32:55 +0000 Subject: [PATCH 43/45] Translated using Weblate (Greek) Currently translated at 30.9% (144 of 465 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/el/ --- public/locales/el/common.json | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/public/locales/el/common.json b/public/locales/el/common.json index d42fdfe5..19f4a0ae 100644 --- a/public/locales/el/common.json +++ b/public/locales/el/common.json @@ -206,7 +206,9 @@ "sonarr": { "series": "Σειρές", "wanted": "Επιθυμούντε", - "queued": "Σε σειρά" + "queued": "Σε σειρά", + "queue": "Queue", + "unknown": "Unknown" }, "downloadstation": { "download": "Μεταφόρτωση", @@ -218,7 +220,9 @@ "wanted": "Επιθυμούντε", "missing": "Απουσιάζει", "queued": "Σε σειρά", - "movies": "Ταινίες" + "movies": "Ταινίες", + "queue": "Queue", + "unknown": "Unknown" }, "lidarr": { "wanted": "Θέλετε", From 0e9ca01c185f84fbd659b6cd8bd21da98233d4bb Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 6 Jun 2023 20:33:02 +0000 Subject: [PATCH 44/45] Translated using Weblate (Slovenian) Currently translated at 96.7% (450 of 465 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sl/ --- public/locales/sl/common.json | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/public/locales/sl/common.json b/public/locales/sl/common.json index afca8429..7632e2aa 100644 --- a/public/locales/sl/common.json +++ b/public/locales/sl/common.json @@ -235,13 +235,17 @@ "sonarr": { "wanted": "Iskano", "queued": "V vrsti", - "series": "Serije" + "series": "Serije", + "queue": "Queue", + "unknown": "Unknown" }, "radarr": { "wanted": "Iskano", "missing": "Manjka", "queued": "V vrsti", - "movies": "Filmi" + "movies": "Filmi", + "queue": "Queue", + "unknown": "Unknown" }, "lidarr": { "wanted": "Iskano", From bcd92898495945d67d210e63e6d8730420377b3d Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 6 Jun 2023 20:32:58 +0000 Subject: [PATCH 45/45] Translated using Weblate (Indonesian) Currently translated at 3.2% (15 of 465 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/id/ --- public/locales/id/common.json | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/public/locales/id/common.json b/public/locales/id/common.json index e9169cbd..c36ae790 100644 --- a/public/locales/id/common.json +++ b/public/locales/id/common.json @@ -55,13 +55,17 @@ "sonarr": { "wanted": "Wanted", "queued": "Queued", - "series": "Series" + "series": "Series", + "queue": "Queue", + "unknown": "Unknown" }, "radarr": { "wanted": "Wanted", "missing": "Missing", "queued": "Queued", - "movies": "Movies" + "movies": "Movies", + "queue": "Queue", + "unknown": "Unknown" }, "lidarr": { "wanted": "Wanted",