From 21068e59b0e506e2bf90ea3c04ed36977c4e9769 Mon Sep 17 00:00:00 2001 From: Kalashnikxv Date: Sat, 31 Oct 2026 13:19:45 +0100 Subject: [PATCH 1/6] perf(images): request TMDB backdrops at a sane size The detail hero and the stream picker both asked for /t/p/original/, which is whatever the uploader pushed: this machine's cache holds 7922x4594 and 6480x3840 backdrops. They are drawn into a ~1900x1000 window, and the picker blurs its copy to 40px, so WebKit decodes ~36 Mpx and keeps the filter surfaces alive. Measured on Linux/NVIDIA over the same tour: opening a detail page cost +877 MiB of VRAM and opening the source picker +1337 MiB, with the session settling at ~3150 MiB. After the change the run peaks at 817 MiB and falls back to 453. w1280 is the bucket cinema-hero, peek-hero and critics-pick already downgrade to. --- src/lib/use-stable-asset.ts | 2 +- src/views/detail.tsx | 2 +- src/views/detail/hero-backdrop.tsx | 2 +- src/views/play-picker/backdrop-layer.tsx | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/lib/use-stable-asset.ts b/src/lib/use-stable-asset.ts index 2174b8718..f7b59b234 100644 --- a/src/lib/use-stable-asset.ts +++ b/src/lib/use-stable-asset.ts @@ -19,5 +19,5 @@ export function useStableAsset( export function toHiResBackdrop(url: string | undefined): string | undefined { if (!url) return url; - return url.replace(/\/t\/p\/w\d+\//, "/t/p/original/"); + return url.replace(/\/t\/p\/(w\d+|original)\//, "/t/p/w1280/"); } diff --git a/src/views/detail.tsx b/src/views/detail.tsx index 42db15c39..3f4843387 100644 --- a/src/views/detail.tsx +++ b/src/views/detail.tsx @@ -338,7 +338,7 @@ export function DetailView({ }, [settings.tmdbLanguage, settings.uiLanguage, detail?.overview]); const pinnedBackdrop = useTitleBackdrop(meta.id); const pinnedBackdropHi = pinnedBackdrop - ? pinnedBackdrop.replace(/\/t\/p\/w\d+\//, "/t/p/original/") + ? pinnedBackdrop.replace(/\/t\/p\/(w\d+|original)\//, "/t/p/w1280/") : undefined; const [cinemetaFull, setCinemetaFull] = useState( meta.videos && meta.videos.length > 0 ? meta : null, diff --git a/src/views/detail/hero-backdrop.tsx b/src/views/detail/hero-backdrop.tsx index 251ded2c7..23bbcd76e 100644 --- a/src/views/detail/hero-backdrop.tsx +++ b/src/views/detail/hero-backdrop.tsx @@ -2,7 +2,7 @@ import { useEffect, useRef, useState } from "react"; function Layer({ url, first, onReady }: { url: string; first: boolean; onReady: () => void }) { const lowUrl = url.replace(/\/t\/p\/(w\d+|original)\//, "/t/p/w300/"); - const highUrl = url.replace(/\/t\/p\/(w\d+|original)\//, "/t/p/original/"); + const highUrl = url.replace(/\/t\/p\/(w\d+|original)\//, "/t/p/w1280/"); const canBlurUp = first && lowUrl !== highUrl; const [ready, setReady] = useState(false); const done = () => { diff --git a/src/views/play-picker/backdrop-layer.tsx b/src/views/play-picker/backdrop-layer.tsx index b4660d947..2db92cf50 100644 --- a/src/views/play-picker/backdrop-layer.tsx +++ b/src/views/play-picker/backdrop-layer.tsx @@ -4,7 +4,7 @@ import { useSettings } from "@/lib/settings"; function BlurUpBackdrop({ src, forceBlur }: { src: string; forceBlur: boolean }) { const [loaded, setLoaded] = useState(false); const lowSrc = src.replace(/\/t\/p\/(w\d+|h\d+)\//, "/t/p/w300/"); - const hiSrc = src.replace(/\/t\/p\/(w\d+|h\d+)\//, "/t/p/original/"); + const hiSrc = src.replace(/\/t\/p\/(w\d+|h\d+|original)\//, "/t/p/w780/"); return ( <> Date: Sat, 31 Oct 2026 13:52:25 +0100 Subject: [PATCH 2/6] style: reformat the two files this branch touches CI runs vp fmt --check on changed files and vp does not pick up .oxfmtrc.json ("No config found, using defaults"), so it rewraps two spots that were already there before this branch. Keeping it in its own commit so the actual fix stays a four line diff. --- src/views/detail/hero-backdrop.tsx | 4 +--- src/views/play-picker/backdrop-layer.tsx | 5 ++++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/views/detail/hero-backdrop.tsx b/src/views/detail/hero-backdrop.tsx index 23bbcd76e..d82867008 100644 --- a/src/views/detail/hero-backdrop.tsx +++ b/src/views/detail/hero-backdrop.tsx @@ -40,9 +40,7 @@ export function HeroBackdrop({ url }: { url: string }) { const nextId = useRef(1); useEffect(() => { const id = nextId.current++; - setLayers((prev) => - prev[prev.length - 1]?.url === url ? prev : [...prev, { id, url }], - ); + setLayers((prev) => (prev[prev.length - 1]?.url === url ? prev : [...prev, { id, url }])); }, [url]); const settle = (id: number) => setLayers((prev) => { diff --git a/src/views/play-picker/backdrop-layer.tsx b/src/views/play-picker/backdrop-layer.tsx index 2db92cf50..c4d293556 100644 --- a/src/views/play-picker/backdrop-layer.tsx +++ b/src/views/play-picker/backdrop-layer.tsx @@ -32,7 +32,10 @@ function BlurUpBackdrop({ src, forceBlur }: { src: string; forceBlur: boolean }) export function BackdropLayer({ src }: { src?: string }) { const { settings } = useSettings(); return ( -
+
{src && }
From 750ee6e35b0c24e132d39981352ee11cd0441085 Mon Sep 17 00:00:00 2001 From: Thunderhawkk Date: Sun, 1 Nov 2026 16:42:26 +0530 Subject: [PATCH 3/6] fix(images): respect hero quality and limit blurred picker art --- src/lib/tmdb-backdrop-size.ts | 6 ++ src/lib/use-stable-asset.ts | 5 +- src/views/detail.tsx | 10 +- src/views/detail/hero-backdrop.tsx | 27 +++++- src/views/play-picker/backdrop-layer.tsx | 24 ++++- tests/tmdb-backdrop-quality.test.ts | 116 +++++++++++++++++++++++ 6 files changed, 171 insertions(+), 17 deletions(-) create mode 100644 src/lib/tmdb-backdrop-size.ts create mode 100644 tests/tmdb-backdrop-quality.test.ts diff --git a/src/lib/tmdb-backdrop-size.ts b/src/lib/tmdb-backdrop-size.ts new file mode 100644 index 000000000..5eb44bcf6 --- /dev/null +++ b/src/lib/tmdb-backdrop-size.ts @@ -0,0 +1,6 @@ +/** Normalize TMDB-style image paths without changing unrelated image URLs. */ +export type TmdbBackdropSize = "w300" | "w780" | "w1280" | "original"; + +export function tmdbBackdropAtSize(url: string, size: TmdbBackdropSize): string { + return url.replace(/\/t\/p\/(w\d+|h\d+|original)\//, `/t/p/${size}/`); +} diff --git a/src/lib/use-stable-asset.ts b/src/lib/use-stable-asset.ts index f7b59b234..14b9aff02 100644 --- a/src/lib/use-stable-asset.ts +++ b/src/lib/use-stable-asset.ts @@ -1,4 +1,5 @@ import { useEffect, useState } from "react"; +import { tmdbBackdropAtSize } from "./tmdb-backdrop-size"; export function useStableAsset( candidates: Array, @@ -17,7 +18,7 @@ export function useStableAsset( return locked ?? firstReal; } -export function toHiResBackdrop(url: string | undefined): string | undefined { +export function toHiResBackdrop(url: string | undefined, fullQuality = false): string | undefined { if (!url) return url; - return url.replace(/\/t\/p\/(w\d+|original)\//, "/t/p/w1280/"); + return tmdbBackdropAtSize(url, fullQuality ? "original" : "w1280"); } diff --git a/src/views/detail.tsx b/src/views/detail.tsx index 3f4843387..5f277c78b 100644 --- a/src/views/detail.tsx +++ b/src/views/detail.tsx @@ -337,9 +337,7 @@ export function DetailView({ return isTextInLanguage(detail.overview, iso1) ? detail.overview : undefined; }, [settings.tmdbLanguage, settings.uiLanguage, detail?.overview]); const pinnedBackdrop = useTitleBackdrop(meta.id); - const pinnedBackdropHi = pinnedBackdrop - ? pinnedBackdrop.replace(/\/t\/p\/(w\d+|original)\//, "/t/p/w1280/") - : undefined; + const pinnedBackdropHi = toHiResBackdrop(pinnedBackdrop, settings.heroFullQuality); const [cinemetaFull, setCinemetaFull] = useState( meta.videos && meta.videos.length > 0 ? meta : null, ); @@ -1323,13 +1321,13 @@ export function DetailView({ const seen = new Set(); const pool: string[] = []; for (const b of [primaryBackdrop, ...backdrops]) { - const hi = toHiResBackdrop(b ?? undefined); + const hi = toHiResBackdrop(b ?? undefined, settings.heroFullQuality); if (!hi || seen.has(hi)) continue; seen.add(hi); pool.push(hi); } return pool; - }, [primaryBackdrop, backdrops]); + }, [primaryBackdrop, backdrops, settings.heroFullQuality]); const reducedMotion = useReducedMotion(); const carouselOn = settings.heroBackdropCarousel && !pinnedBackdrop && backdropPool.length >= 2 && !reducedMotion; @@ -2147,7 +2145,7 @@ export function DetailView({ /> )) ) : backdrop ? ( - + ) : (
)} diff --git a/src/views/detail/hero-backdrop.tsx b/src/views/detail/hero-backdrop.tsx index d82867008..6ccdd426a 100644 --- a/src/views/detail/hero-backdrop.tsx +++ b/src/views/detail/hero-backdrop.tsx @@ -1,8 +1,19 @@ import { useEffect, useRef, useState } from "react"; +import { tmdbBackdropAtSize } from "@/lib/tmdb-backdrop-size"; -function Layer({ url, first, onReady }: { url: string; first: boolean; onReady: () => void }) { - const lowUrl = url.replace(/\/t\/p\/(w\d+|original)\//, "/t/p/w300/"); - const highUrl = url.replace(/\/t\/p\/(w\d+|original)\//, "/t/p/w1280/"); +function Layer({ + url, + first, + fullQuality, + onReady, +}: { + url: string; + first: boolean; + fullQuality: boolean; + onReady: () => void; +}) { + const lowUrl = tmdbBackdropAtSize(url, "w300"); + const highUrl = tmdbBackdropAtSize(url, fullQuality ? "original" : "w1280"); const canBlurUp = first && lowUrl !== highUrl; const [ready, setReady] = useState(false); const done = () => { @@ -35,7 +46,7 @@ function Layer({ url, first, onReady }: { url: string; first: boolean; onReady: ); } -export function HeroBackdrop({ url }: { url: string }) { +export function HeroBackdrop({ url, fullQuality = false }: { url: string; fullQuality?: boolean }) { const [layers, setLayers] = useState<{ id: number; url: string }[]>([{ id: 0, url }]); const nextId = useRef(1); useEffect(() => { @@ -50,7 +61,13 @@ export function HeroBackdrop({ url }: { url: string }) { return ( <> {layers.map((l) => ( - settle(l.id)} /> + settle(l.id)} + /> ))} ); diff --git a/src/views/play-picker/backdrop-layer.tsx b/src/views/play-picker/backdrop-layer.tsx index c4d293556..6b92790c4 100644 --- a/src/views/play-picker/backdrop-layer.tsx +++ b/src/views/play-picker/backdrop-layer.tsx @@ -1,10 +1,19 @@ import { useState } from "react"; import { useSettings } from "@/lib/settings"; +import { tmdbBackdropAtSize } from "@/lib/tmdb-backdrop-size"; -function BlurUpBackdrop({ src, forceBlur }: { src: string; forceBlur: boolean }) { +function BlurUpBackdrop({ + src, + forceBlur, + fullQuality, +}: { + src: string; + forceBlur: boolean; + fullQuality: boolean; +}) { const [loaded, setLoaded] = useState(false); - const lowSrc = src.replace(/\/t\/p\/(w\d+|h\d+)\//, "/t/p/w300/"); - const hiSrc = src.replace(/\/t\/p\/(w\d+|h\d+|original)\//, "/t/p/w780/"); + const lowSrc = tmdbBackdropAtSize(src, "w300"); + const hiSrc = tmdbBackdropAtSize(src, forceBlur ? "w780" : fullQuality ? "original" : "w1280"); return ( <> - {src && } + {src && ( + + )}
diff --git a/tests/tmdb-backdrop-quality.test.ts b/tests/tmdb-backdrop-quality.test.ts new file mode 100644 index 000000000..56a77f157 --- /dev/null +++ b/tests/tmdb-backdrop-quality.test.ts @@ -0,0 +1,116 @@ +import assert from "node:assert/strict"; +import { readFileSync } from "node:fs"; +import test from "node:test"; +import * as React from "react"; +import { renderToStaticMarkup } from "react-dom/server"; +import * as jsxRuntime from "react/jsx-runtime"; +import ts from "typescript"; +import { tmdbBackdropAtSize } from "../src/lib/tmdb-backdrop-size.ts"; +import { toHiResBackdrop } from "../src/lib/use-stable-asset.ts"; + +const original = "https://image.tmdb.org/t/p/original/backdrop.jpg"; +const resized = "https://image.tmdb.org/t/p/w500/backdrop.jpg"; + +function loadComponent(path: string, dependencies: Record) { + const source = readFileSync(new URL(`../${path}`, import.meta.url), "utf8"); + const compiled = ts.transpileModule(source, { + compilerOptions: { + module: ts.ModuleKind.CommonJS, + target: ts.ScriptTarget.ES2022, + jsx: ts.JsxEmit.ReactJSX, + }, + }).outputText; + const exports: Record = {}; + new Function("require", "exports", compiled)((name: string) => { + assert.ok(name in dependencies, `Unexpected dependency: ${name}`); + return dependencies[name]; + }, exports); + return exports; +} + +const hero = loadComponent("src/views/detail/hero-backdrop.tsx", { + react: React, + "react/jsx-runtime": jsxRuntime, + "@/lib/tmdb-backdrop-size": { tmdbBackdropAtSize }, +}).HeroBackdrop; + +const settings = { heroFullQuality: true, streamBackdropBlur: true }; +const picker = loadComponent("src/views/play-picker/backdrop-layer.tsx", { + react: React, + "react/jsx-runtime": jsxRuntime, + "@/lib/settings": { useSettings: () => ({ settings }) }, + "@/lib/tmdb-backdrop-size": { tmdbBackdropAtSize }, +}).BackdropLayer; + +function urls(html: string): string[] { + return [...html.matchAll(/]*src="([^"]+)"/g)].map((match) => match[1]); +} + +test("TMDB size conversion handles original, width, and height URLs without changing other hosts", () => { + assert.equal( + tmdbBackdropAtSize(original, "w300"), + "https://image.tmdb.org/t/p/w300/backdrop.jpg", + ); + assert.equal( + tmdbBackdropAtSize(resized, "w1280"), + "https://image.tmdb.org/t/p/w1280/backdrop.jpg", + ); + assert.equal( + tmdbBackdropAtSize("https://image.tmdb.org/t/p/h632/backdrop.jpg", "w780"), + "https://image.tmdb.org/t/p/w780/backdrop.jpg", + ); + assert.equal( + tmdbBackdropAtSize("https://other.example/backdrop.jpg", "w300"), + "https://other.example/backdrop.jpg", + ); +}); + +test("detail backdrop URL selection respects the full-quality setting", () => { + assert.equal(toHiResBackdrop(original, true), original); + assert.equal(toHiResBackdrop(resized, true), original); + assert.equal(toHiResBackdrop(original, false), "https://image.tmdb.org/t/p/w1280/backdrop.jpg"); + assert.equal(toHiResBackdrop(undefined, true), undefined); +}); + +test("detail hero loads w300 placeholders and honors full-quality choice", () => { + assert.deepEqual( + urls(renderToStaticMarkup(React.createElement(hero, { url: original, fullQuality: true }))), + ["https://image.tmdb.org/t/p/w300/backdrop.jpg", original], + ); + assert.deepEqual( + urls(renderToStaticMarkup(React.createElement(hero, { url: original, fullQuality: false }))), + [ + "https://image.tmdb.org/t/p/w300/backdrop.jpg", + "https://image.tmdb.org/t/p/w1280/backdrop.jpg", + ], + ); +}); + +test("stream picker keeps blurred images small and honors quality on unblurred images", () => { + for (const [blur, full, expected] of [ + [true, true, "w780"], + [true, false, "w780"], + [false, false, "w1280"], + [false, true, "original"], + ] as const) { + settings.streamBackdropBlur = blur; + settings.heroFullQuality = full; + const imageUrls = urls(renderToStaticMarkup(React.createElement(picker, { src: original }))); + assert.deepEqual( + imageUrls, + [ + "https://image.tmdb.org/t/p/w300/backdrop.jpg", + `https://image.tmdb.org/t/p/${expected}/backdrop.jpg`, + ], + `blur=${blur}, fullQuality=${full}`, + ); + } +}); + +test("detail keeps setting-dependent candidates and passes quality to its hero", () => { + const source = readFileSync(new URL("../src/views/detail.tsx", import.meta.url), "utf8"); + assert.match(source, /toHiResBackdrop\(pinnedBackdrop, settings\.heroFullQuality\)/); + assert.match(source, /toHiResBackdrop\(b \?\? undefined, settings\.heroFullQuality\)/); + assert.match(source, /\[primaryBackdrop, backdrops, settings\.heroFullQuality\]/); + assert.match(source, / Date: Sun, 1 Nov 2026 21:42:35 +0100 Subject: [PATCH 4/6] docs(settings): widen the full-quality hero description The toggle now also gates the detail hero and the unblurred picker backdrop, and the cost is GPU memory as much as bandwidth. Co-Authored-By: Claude Opus 5 --- i18n/en.json | 2 +- src/views/settings/library-panel/home-tab.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/i18n/en.json b/i18n/en.json index 5714e762b..3c33fcc97 100644 --- a/i18n/en.json +++ b/i18n/en.json @@ -5022,7 +5022,7 @@ "Load more": "Load more", "Load more comments": "Load more comments", "Load more threads": "Load more threads", - "Load the highest-resolution artwork for the featured hero. Uses more bandwidth.": "Load the highest-resolution artwork for the featured hero. Uses more bandwidth.", + "Load the highest-resolution artwork for the featured hero, the detail page hero, and unblurred stream picker backgrounds. Uses more bandwidth and video memory.": "Load the highest-resolution artwork for the featured hero, the detail page hero, and unblurred stream picker backgrounds. Uses more bandwidth and video memory.", "Loaded {loaded} of {total} movies...": "Loaded {loaded} of {total} movies...", "Loaded {loaded} of {total} shows...": "Loaded {loaded} of {total} shows...", "Loaded {name}": "Loaded {name}", diff --git a/src/views/settings/library-panel/home-tab.tsx b/src/views/settings/library-panel/home-tab.tsx index ebbb269f8..5b6c77b49 100644 --- a/src/views/settings/library-panel/home-tab.tsx +++ b/src/views/settings/library-panel/home-tab.tsx @@ -68,7 +68,7 @@ export function HomeTab() { update({ heroFullQuality: v })} From 7e87642ab114d70b778398ca4006c16a13652eb6 Mon Sep 17 00:00:00 2001 From: Kalashnikxv Date: Fri, 6 Nov 2026 15:48:26 +0100 Subject: [PATCH 5/6] fix(images): resize only TMDB-hosted backdrops tmdbBackdropAtSize() matched the /t/p// path alone, so any other host serving that shape got rewritten too. Match on the hostname as well, the way artworkIdentity() and largestArtwork() already do. --- src/lib/tmdb-backdrop-size.ts | 10 +++++++++- tests/tmdb-backdrop-quality.test.ts | 6 ++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/lib/tmdb-backdrop-size.ts b/src/lib/tmdb-backdrop-size.ts index 5eb44bcf6..5520b9a45 100644 --- a/src/lib/tmdb-backdrop-size.ts +++ b/src/lib/tmdb-backdrop-size.ts @@ -1,6 +1,14 @@ /** Normalize TMDB-style image paths without changing unrelated image URLs. */ export type TmdbBackdropSize = "w300" | "w780" | "w1280" | "original"; +const TMDB_RUNG = /\/t\/p\/(w\d+|h\d+|original)\//; + export function tmdbBackdropAtSize(url: string, size: TmdbBackdropSize): string { - return url.replace(/\/t\/p\/(w\d+|h\d+|original)\//, `/t/p/${size}/`); + // Other hosts can serve a /t/p// path of their own, so match on the host too. + try { + if (new URL(url).hostname.toLowerCase() !== "image.tmdb.org") return url; + } catch { + return url; + } + return url.replace(TMDB_RUNG, `/t/p/${size}/`); } diff --git a/tests/tmdb-backdrop-quality.test.ts b/tests/tmdb-backdrop-quality.test.ts index 56a77f157..f6a2a32eb 100644 --- a/tests/tmdb-backdrop-quality.test.ts +++ b/tests/tmdb-backdrop-quality.test.ts @@ -63,6 +63,12 @@ test("TMDB size conversion handles original, width, and height URLs without chan tmdbBackdropAtSize("https://other.example/backdrop.jpg", "w300"), "https://other.example/backdrop.jpg", ); + // another host can serve a /t/p// path of its own + assert.equal( + tmdbBackdropAtSize("https://cdn.example/t/p/w500/image.jpg", "original"), + "https://cdn.example/t/p/w500/image.jpg", + ); + assert.equal(tmdbBackdropAtSize("/t/p/w500/image.jpg", "original"), "/t/p/w500/image.jpg"); }); test("detail backdrop URL selection respects the full-quality setting", () => { From c556d6be526c335cacdf204f5f6c720502890c6b Mon Sep 17 00:00:00 2001 From: Kalashnikxv Date: Fri, 6 Nov 2026 15:48:26 +0100 Subject: [PATCH 6/6] i18n: re-key the full-quality hero description The source string changed, but the catalogs kept the old key, so every translated locale fell back to English for this setting. Re-keyed with the wider scope and the video-memory note; i18n/*.json matches what scripts/i18n-crowdin.mjs export produces. --- i18n/ar.json | 2 +- i18n/de.json | 2 +- i18n/es.json | 2 +- i18n/fr.json | 2 +- i18n/hi.json | 2 +- i18n/id.json | 2 +- i18n/it.json | 2 +- i18n/ja.json | 2 +- i18n/ko.json | 2 +- i18n/pl.json | 2 +- i18n/pt.json | 2 +- i18n/ru.json | 2 +- i18n/tr.json | 2 +- i18n/vi.json | 2 +- i18n/zh.json | 2 +- src/lib/i18n/locales/ar/settings.ts | 4 ++-- src/lib/i18n/locales/de/settings.ts | 4 ++-- src/lib/i18n/locales/es/settings.ts | 4 ++-- src/lib/i18n/locales/fr/settings.ts | 4 ++-- src/lib/i18n/locales/hi/catalog-j-l.ts | 4 ++-- src/lib/i18n/locales/id/audit.ts | 4 ++-- src/lib/i18n/locales/id/catalog-05.ts | 4 ++-- src/lib/i18n/locales/it/catalog-04.ts | 4 ++-- src/lib/i18n/locales/ja/settings.ts | 4 ++-- src/lib/i18n/locales/ko/catalog-05.ts | 4 ++-- src/lib/i18n/locales/pl/catalog-07.ts | 4 ++-- src/lib/i18n/locales/pt/settings.ts | 4 ++-- src/lib/i18n/locales/ru/settings.ts | 4 ++-- src/lib/i18n/locales/tr/settings.ts | 4 ++-- src/lib/i18n/locales/vi/settings.ts | 4 ++-- src/lib/i18n/locales/zh/discovery.ts | 4 ++-- 31 files changed, 47 insertions(+), 47 deletions(-) diff --git a/i18n/ar.json b/i18n/ar.json index 3e9d338e1..a71e22f72 100644 --- a/i18n/ar.json +++ b/i18n/ar.json @@ -5020,7 +5020,7 @@ "Load more": "تحميل المزيد", "Load more comments": "تحميل المزيد من التعليقات", "Load more threads": "تحميل المزيد من المواضيع", - "Load the highest-resolution artwork for the featured hero. Uses more bandwidth.": "تحميل صورة البطل المميّز بأعلى دقة. يستهلك بيانات أكثر.", + "Load the highest-resolution artwork for the featured hero, the detail page hero, and unblurred stream picker backgrounds. Uses more bandwidth and video memory.": "تحميل الصورة بأعلى دقة للبطل المميّز، ولصورة صفحة التفاصيل، ولخلفيات منتقي المصادر غير المشوّشة. يستهلك بيانات وذاكرة فيديو أكثر.", "Loaded {loaded} of {total} movies...": "تم تحميل {loaded} من أصل {total} فيلم...", "Loaded {loaded} of {total} shows...": "تم تحميل {loaded} من أصل {total} مسلسل...", "Loaded {name}": "تم تحميل {name}", diff --git a/i18n/de.json b/i18n/de.json index c59cac2b1..c675e1c81 100644 --- a/i18n/de.json +++ b/i18n/de.json @@ -5019,7 +5019,7 @@ "Load more": "Mehr laden", "Load more comments": "Weitere Kommentare laden", "Load more threads": "Weitere Threads laden", - "Load the highest-resolution artwork for the featured hero. Uses more bandwidth.": "Lädt das Bildmaterial des hervorgehobenen Titels in höchster Auflösung. Verbraucht mehr Bandbreite.", + "Load the highest-resolution artwork for the featured hero, the detail page hero, and unblurred stream picker backgrounds. Uses more bandwidth and video memory.": "Lädt das Bildmaterial in höchster Auflösung für den hervorgehobenen Titel, das Titelbild der Detailseite und nicht weichgezeichnete Hintergründe der Stream-Auswahl. Verbraucht mehr Bandbreite und Videospeicher.", "Loaded {loaded} of {total} movies...": "{loaded} von {total} Filmen geladen...", "Loaded {loaded} of {total} shows...": "{loaded} von {total} Serien geladen...", "Loaded {name}": "{name} geladen", diff --git a/i18n/es.json b/i18n/es.json index 4d0800d2d..e215d8abe 100644 --- a/i18n/es.json +++ b/i18n/es.json @@ -5019,7 +5019,7 @@ "Load more": "Cargar más", "Load more comments": "Cargar más comentarios", "Load more threads": "Cargar más hilos", - "Load the highest-resolution artwork for the featured hero. Uses more bandwidth.": "Carga la imagen de mayor resolución para el contenido destacado. Usa más ancho de banda.", + "Load the highest-resolution artwork for the featured hero, the detail page hero, and unblurred stream picker backgrounds. Uses more bandwidth and video memory.": "Carga la imagen de mayor resolución para el contenido destacado, la imagen de la página de detalles y los fondos sin difuminar del selector de fuentes. Usa más ancho de banda y memoria de vídeo.", "Loaded {loaded} of {total} movies...": "Se cargaron {loaded} de {total} películas...", "Loaded {loaded} of {total} shows...": "Se cargaron {loaded} de {total} series...", "Loaded {name}": "Se cargó {name}", diff --git a/i18n/fr.json b/i18n/fr.json index 3a68ccce6..1cfc93a89 100644 --- a/i18n/fr.json +++ b/i18n/fr.json @@ -5019,7 +5019,7 @@ "Load more": "Charger plus", "Load more comments": "Charger plus de commentaires", "Load more threads": "Charger plus de fils de discussion", - "Load the highest-resolution artwork for the featured hero. Uses more bandwidth.": "Charger l’illustration dans la plus haute résolution disponible pour le contenu à la une. Consomme davantage de bande passante.", + "Load the highest-resolution artwork for the featured hero, the detail page hero, and unblurred stream picker backgrounds. Uses more bandwidth and video memory.": "Charger l’illustration dans la plus haute résolution disponible pour le contenu à la une, l’image de la page de détails et les arrière-plans non floutés du sélecteur de sources. Consomme davantage de bande passante et de mémoire vidéo.", "Loaded {loaded} of {total} movies...": "{loaded} films sur {total} chargés...", "Loaded {loaded} of {total} shows...": "{loaded} séries chargées sur {total}...", "Loaded {name}": "{name} chargé", diff --git a/i18n/hi.json b/i18n/hi.json index 6f5981b7e..0937c1d38 100644 --- a/i18n/hi.json +++ b/i18n/hi.json @@ -5019,7 +5019,7 @@ "Load more": "और लोड करें", "Load more comments": "और टिप्पणियाँ लोड करें", "Load more threads": "और थ्रेड लोड करें", - "Load the highest-resolution artwork for the featured hero. Uses more bandwidth.": "फ़ीचर्ड हीरो के लिए सबसे हाई-रिज़ॉल्यूशन आर्टवर्क लोड करें। इससे ज़्यादा बैंडविड्थ इस्तेमाल होती है।", + "Load the highest-resolution artwork for the featured hero, the detail page hero, and unblurred stream picker backgrounds. Uses more bandwidth and video memory.": "फ़ीचर्ड हीरो, डिटेल पेज के हीरो और सोर्स पिकर के बिना-ब्लर बैकग्राउंड के लिए सबसे हाई-रिज़ॉल्यूशन आर्टवर्क लोड करें। इससे ज़्यादा बैंडविड्थ और वीडियो मेमोरी इस्तेमाल होती है।", "Loaded {loaded} of {total} movies...": "{total} में से {loaded} फ़िल्में लोड हुईं...", "Loaded {loaded} of {total} shows...": "{total} में से {loaded} शो लोड हुए...", "Loaded {name}": "{name} लोड हुआ", diff --git a/i18n/id.json b/i18n/id.json index 143cebf2c..55ee001eb 100644 --- a/i18n/id.json +++ b/i18n/id.json @@ -5019,7 +5019,7 @@ "Load more": "Muat lebih banyak", "Load more comments": "Muat lebih banyak komentar", "Load more threads": "Muat lebih banyak utas", - "Load the highest-resolution artwork for the featured hero. Uses more bandwidth.": "Muat gambar beresolusi tertinggi untuk banner unggulan. Menggunakan lebih banyak bandwidth.", + "Load the highest-resolution artwork for the featured hero, the detail page hero, and unblurred stream picker backgrounds. Uses more bandwidth and video memory.": "Muat gambar beresolusi tertinggi untuk banner unggulan, hero halaman detail, dan latar pemilih stream yang tidak diburamkan. Menggunakan lebih banyak bandwidth dan memori video.", "Loaded {loaded} of {total} movies...": "Telah memuat {loaded} dari {total} film...", "Loaded {loaded} of {total} shows...": "Telah memuat {loaded} dari {total} acara...", "Loaded {name}": "{name} dimuat", diff --git a/i18n/it.json b/i18n/it.json index fab25014a..85305113d 100644 --- a/i18n/it.json +++ b/i18n/it.json @@ -5019,7 +5019,7 @@ "Load more": "Carica altro", "Load more comments": "Carica altri commenti", "Load more threads": "Carica altre discussioni", - "Load the highest-resolution artwork for the featured hero. Uses more bandwidth.": "Carica l'immagine alla massima risoluzione per il contenuto in evidenza. Consuma più dati.", + "Load the highest-resolution artwork for the featured hero, the detail page hero, and unblurred stream picker backgrounds. Uses more bandwidth and video memory.": "Carica l'immagine alla massima risoluzione per il contenuto in evidenza, per l'immagine della pagina dei dettagli e per gli sfondi non sfocati del selettore degli stream. Consuma più dati e memoria video.", "Loaded {loaded} of {total} movies...": "Caricati {loaded} film su {total}...", "Loaded {loaded} of {total} shows...": "Caricate {loaded} serie su {total}...", "Loaded {name}": "Caricamento completato: {name}", diff --git a/i18n/ja.json b/i18n/ja.json index d169912d2..2ac558bb9 100644 --- a/i18n/ja.json +++ b/i18n/ja.json @@ -5019,7 +5019,7 @@ "Load more": "さらに読み込む", "Load more comments": "コメントをさらに読み込む", "Load more threads": "さらにスレッドを読み込む", - "Load the highest-resolution artwork for the featured hero. Uses more bandwidth.": "注目ヒーローの画像を最高解像度で読み込みます。通信量が増加します。", + "Load the highest-resolution artwork for the featured hero, the detail page hero, and unblurred stream picker backgrounds. Uses more bandwidth and video memory.": "注目ヒーロー、詳細ページのヒーロー、ぼかしなしのストリーム選択画面の背景を最高解像度で読み込みます。通信量とビデオメモリの使用量が増加します。", "Loaded {loaded} of {total} movies...": "映画{total}本中{loaded}本を読み込みました...", "Loaded {loaded} of {total} shows...": "シリーズ{total}本中{loaded}本を読み込みました...", "Loaded {name}": "{name}を読み込みました", diff --git a/i18n/ko.json b/i18n/ko.json index 1de8a46ac..d044873cc 100644 --- a/i18n/ko.json +++ b/i18n/ko.json @@ -5019,7 +5019,7 @@ "Load more": "더 불러오기", "Load more comments": "댓글 더 보기", "Load more threads": "스레드 더 불러오기", - "Load the highest-resolution artwork for the featured hero. Uses more bandwidth.": "추천 히어로에 최고 해상도 아트워크를 불러옵니다. 데이터 사용량이 늘어납니다.", + "Load the highest-resolution artwork for the featured hero, the detail page hero, and unblurred stream picker backgrounds. Uses more bandwidth and video memory.": "추천 히어로, 상세 페이지 히어로, 흐림 효과가 없는 스트림 선택 화면 배경에 최고 해상도 아트워크를 불러옵니다. 데이터와 비디오 메모리 사용량이 늘어납니다.", "Loaded {loaded} of {total} movies...": "영화 {total}개 중 {loaded}개 불러오는 중...", "Loaded {loaded} of {total} shows...": "시리즈 {total}개 중 {loaded}개 불러오는 중...", "Loaded {name}": "{name} 불러옴", diff --git a/i18n/pl.json b/i18n/pl.json index eb5a89805..27d764f43 100644 --- a/i18n/pl.json +++ b/i18n/pl.json @@ -5021,7 +5021,7 @@ "Load more": "Wczytaj więcej", "Load more comments": "Wczytaj więcej komentarzy", "Load more threads": "Wczytaj więcej wątków", - "Load the highest-resolution artwork for the featured hero. Uses more bandwidth.": "Wczytaj grafikę wyróżnionego banera w najwyższej rozdzielczości. Zużywa więcej transferu danych.", + "Load the highest-resolution artwork for the featured hero, the detail page hero, and unblurred stream picker backgrounds. Uses more bandwidth and video memory.": "Wczytaj grafikę w najwyższej rozdzielczości dla wyróżnionego banera, banera strony szczegółów i nierozmytych tł selektora źródeł. Zużywa więcej transferu danych i pamięci wideo.", "Loaded {loaded} of {total} movies...": "Wczytano {loaded} z {total} filmów...", "Loaded {loaded} of {total} shows...": "Wczytano {loaded} z {total} seriali...", "Loaded {name}": "Wczytano {name}", diff --git a/i18n/pt.json b/i18n/pt.json index 3a7e95fac..fedb7cb0f 100644 --- a/i18n/pt.json +++ b/i18n/pt.json @@ -4862,7 +4862,7 @@ "Load more": "Carregar mais", "Load more comments": "Carregar mais comentários", "Load more threads": "Carregar mais tópicos", - "Load the highest-resolution artwork for the featured hero. Uses more bandwidth.": "Carregar a arte na maior resolução para o destaque principal. Usa mais banda.", + "Load the highest-resolution artwork for the featured hero, the detail page hero, and unblurred stream picker backgrounds. Uses more bandwidth and video memory.": "Carregar a arte na maior resolução para o destaque principal, o destaque da página de detalhes e os fundos sem desfoque do seletor de fontes. Usa mais banda e memória de vídeo.", "Loaded {loaded} of {total} movies...": "Carregados {loaded} de {total} filmes...", "Loaded {loaded} of {total} shows...": "Carregadas {loaded} de {total} séries...", "Loaded {name}": "{name} carregado", diff --git a/i18n/ru.json b/i18n/ru.json index c8aa3744d..1ce4e4a41 100644 --- a/i18n/ru.json +++ b/i18n/ru.json @@ -5022,7 +5022,7 @@ "Load more": "Показать ещё", "Load more comments": "Загрузить ещё комментарии", "Load more threads": "Загрузить ещё темы", - "Load the highest-resolution artwork for the featured hero. Uses more bandwidth.": "Загружать изображение баннера в максимальном разрешении. Расходует больше трафика.", + "Load the highest-resolution artwork for the featured hero, the detail page hero, and unblurred stream picker backgrounds. Uses more bandwidth and video memory.": "Загружать изображения в максимальном разрешении для баннера, баннера страницы с описанием и фонов выбора источников без размытия. Расходует больше трафика и видеопамяти.", "Loaded {loaded} of {total} movies...": "Загружено {loaded} из {total} фильмов...", "Loaded {loaded} of {total} shows...": "Загружено {loaded} из {total} сериалов...", "Loaded {name}": "Загружено: {name}", diff --git a/i18n/tr.json b/i18n/tr.json index 31715165c..d0eead310 100644 --- a/i18n/tr.json +++ b/i18n/tr.json @@ -4861,7 +4861,7 @@ "Load more": "Daha fazla yükle", "Load more comments": "Daha fazla yorum yükle", "Load more threads": "Daha fazla konu yükle", - "Load the highest-resolution artwork for the featured hero. Uses more bandwidth.": "Öne çıkan alan için en yüksek çözünürlüklü görseli yükleyin. Daha fazla bant genişliği kullanır.", + "Load the highest-resolution artwork for the featured hero, the detail page hero, and unblurred stream picker backgrounds. Uses more bandwidth and video memory.": "Öne çıkan alan, ayrıntı sayfası görseli ve bulanıklaştırılmamış kaynak seçici arka planları için en yüksek çözünürlüklü görseli yükleyin. Daha fazla bant genişliği ve video belleği kullanır.", "Loaded {loaded} of {total} movies...": "{total} filmden {loaded} tanesi yüklendi...", "Loaded {loaded} of {total} shows...": "{total} diziden {loaded} tanesi yüklendi...", "Loaded {name}": "{name} yüklendi", diff --git a/i18n/vi.json b/i18n/vi.json index 5416305fe..29bd10d9f 100644 --- a/i18n/vi.json +++ b/i18n/vi.json @@ -5019,7 +5019,7 @@ "Load more": "Tải thêm", "Load more comments": "Tải thêm bình luận", "Load more threads": "Tải thêm chủ đề", - "Load the highest-resolution artwork for the featured hero. Uses more bandwidth.": "Tải hình ảnh có độ phân giải cao nhất cho banner nổi bật. Tốn nhiều băng thông hơn.", + "Load the highest-resolution artwork for the featured hero, the detail page hero, and unblurred stream picker backgrounds. Uses more bandwidth and video memory.": "Tải hình ảnh có độ phân giải cao nhất cho banner nổi bật, ảnh bìa trang chi tiết và nền không làm mờ của bộ chọn nguồn. Tốn nhiều băng thông và bộ nhớ video hơn.", "Loaded {loaded} of {total} movies...": "Đã tải {loaded}/{total} phim...", "Loaded {loaded} of {total} shows...": "Đã tải {loaded}/{total} phim bộ...", "Loaded {name}": "Đã tải {name}", diff --git a/i18n/zh.json b/i18n/zh.json index 2ae9bf866..041cf4855 100644 --- a/i18n/zh.json +++ b/i18n/zh.json @@ -5019,7 +5019,7 @@ "Load more": "加载更多", "Load more comments": "加载更多评论", "Load more threads": "加载更多主题", - "Load the highest-resolution artwork for the featured hero. Uses more bandwidth.": "为推荐焦点横幅加载最高分辨率的图片。会使用更多带宽。", + "Load the highest-resolution artwork for the featured hero, the detail page hero, and unblurred stream picker backgrounds. Uses more bandwidth and video memory.": "为推荐焦点横幅、详情页横幅以及未模糊的播放源选择器背景加载最高分辨率的图片。会使用更多带宽和显存。", "Loaded {loaded} of {total} movies...": "已加载 {loaded}/{total} 部电影…", "Loaded {loaded} of {total} shows...": "已加载 {loaded}/{total} 部剧集…", "Loaded {name}": "已加载 {name}", diff --git a/src/lib/i18n/locales/ar/settings.ts b/src/lib/i18n/locales/ar/settings.ts index 96d972e61..dffcc23ee 100644 --- a/src/lib/i18n/locales/ar/settings.ts +++ b/src/lib/i18n/locales/ar/settings.ts @@ -916,8 +916,8 @@ const settings: Record = { "Stretch the featured hero edge to edge and taller, across every layout.": "تمدّد لافتة البطل من الحافة إلى الحافة وبارتفاع أكبر، في جميع التخطيطات.", "Full quality hero image": "صورة البطل بأعلى جودة", - "Load the highest-resolution artwork for the featured hero. Uses more bandwidth.": - "تحميل صورة البطل المميّز بأعلى دقة. يستهلك بيانات أكثر.", + "Load the highest-resolution artwork for the featured hero, the detail page hero, and unblurred stream picker backgrounds. Uses more bandwidth and video memory.": + "تحميل الصورة بأعلى دقة للبطل المميّز، ولصورة صفحة التفاصيل، ولخلفيات منتقي المصادر غير المشوّشة. يستهلك بيانات وذاكرة فيديو أكثر.", "Display language": "لغة العرض", "Interface language": "لغة الواجهة", "Metadata language": "لغة البيانات الوصفية", diff --git a/src/lib/i18n/locales/de/settings.ts b/src/lib/i18n/locales/de/settings.ts index c85408301..f64adb313 100644 --- a/src/lib/i18n/locales/de/settings.ts +++ b/src/lib/i18n/locales/de/settings.ts @@ -1245,8 +1245,8 @@ const settings: Record = { "Wird live in das Dokument eingefügt. Verwende dies, um Schaltflächen neu zu gestalten, Abstände zu ändern oder beliebige Elemente umzufärben.", "Living-room focus, floating glass chrome.": "Wohnzimmerfokus, schwebende Glasoptik.", "Load effect": "Ladeeffekt", - "Load the highest-resolution artwork for the featured hero. Uses more bandwidth.": - "Lädt das Bildmaterial des hervorgehobenen Titels in höchster Auflösung. Verbraucht mehr Bandbreite.", + "Load the highest-resolution artwork for the featured hero, the detail page hero, and unblurred stream picker backgrounds. Uses more bandwidth and video memory.": + "Lädt das Bildmaterial in höchster Auflösung für den hervorgehobenen Titel, das Titelbild der Detailseite und nicht weichgezeichnete Hintergründe der Stream-Auswahl. Verbraucht mehr Bandbreite und Videospeicher.", "Loading environment details…": "Umgebungsdetails werden geladen…", "Loading...": "Wird geladen...", "Loads a backup file and replaces your current setup with it. Perfect for a new computer. Your Stremio sign-in on this device stays as is.": diff --git a/src/lib/i18n/locales/es/settings.ts b/src/lib/i18n/locales/es/settings.ts index 840f49017..8e7f8e7b4 100644 --- a/src/lib/i18n/locales/es/settings.ts +++ b/src/lib/i18n/locales/es/settings.ts @@ -1029,8 +1029,8 @@ const settings: Record = { "Se inserta en vivo en el documento. Úsalo para cambiar el tema de los botones, ajustar el espaciado o cambiar el color de cualquier elemento.", "Living-room focus, floating glass chrome.": "Diseño para la sala de estar, con una interfaz flotante de cristal.", - "Load the highest-resolution artwork for the featured hero. Uses more bandwidth.": - "Carga la imagen de mayor resolución para el contenido destacado. Usa más ancho de banda.", + "Load the highest-resolution artwork for the featured hero, the detail page hero, and unblurred stream picker backgrounds. Uses more bandwidth and video memory.": + "Carga la imagen de mayor resolución para el contenido destacado, la imagen de la página de detalles y los fondos sin difuminar del selector de fuentes. Usa más ancho de banda y memoria de vídeo.", "Loading environment details…": "Cargando detalles del entorno…", "Loading...": "Cargando...", "Loads a backup file and replaces your current setup with it. Perfect for a new computer. Your Stremio sign-in on this device stays as is.": diff --git a/src/lib/i18n/locales/fr/settings.ts b/src/lib/i18n/locales/fr/settings.ts index f95147f01..cf5c3efe0 100644 --- a/src/lib/i18n/locales/fr/settings.ts +++ b/src/lib/i18n/locales/fr/settings.ts @@ -992,8 +992,8 @@ const settings: Record = { "Injecté en direct dans le document. Utilisez-le pour modifier le thème des boutons, ajuster l’espacement ou changer n’importe quelle couleur.", "Living-room focus, floating glass chrome.": "Pensé pour le salon, avec un habillage vitré flottant.", - "Load the highest-resolution artwork for the featured hero. Uses more bandwidth.": - "Charger l’illustration dans la plus haute résolution disponible pour le contenu à la une. Consomme davantage de bande passante.", + "Load the highest-resolution artwork for the featured hero, the detail page hero, and unblurred stream picker backgrounds. Uses more bandwidth and video memory.": + "Charger l’illustration dans la plus haute résolution disponible pour le contenu à la une, l’image de la page de détails et les arrière-plans non floutés du sélecteur de sources. Consomme davantage de bande passante et de mémoire vidéo.", "Loading environment details…": "Chargement des informations sur l’environnement…", "Loading...": "Chargement...", "Loads a backup file and replaces your current setup with it. Perfect for a new computer. Your Stremio sign-in on this device stays as is.": diff --git a/src/lib/i18n/locales/hi/catalog-j-l.ts b/src/lib/i18n/locales/hi/catalog-j-l.ts index 31385fdd9..5d2606dd9 100644 --- a/src/lib/i18n/locales/hi/catalog-j-l.ts +++ b/src/lib/i18n/locales/hi/catalog-j-l.ts @@ -352,8 +352,8 @@ const catalogJL: Record = { "Load more": "और लोड करें", "Load more comments": "और टिप्पणियाँ लोड करें", "Load more threads": "और थ्रेड लोड करें", - "Load the highest-resolution artwork for the featured hero. Uses more bandwidth.": - "फ़ीचर्ड हीरो के लिए सबसे हाई-रिज़ॉल्यूशन आर्टवर्क लोड करें। इससे ज़्यादा बैंडविड्थ इस्तेमाल होती है।", + "Load the highest-resolution artwork for the featured hero, the detail page hero, and unblurred stream picker backgrounds. Uses more bandwidth and video memory.": + "फ़ीचर्ड हीरो, डिटेल पेज के हीरो और सोर्स पिकर के बिना-ब्लर बैकग्राउंड के लिए सबसे हाई-रिज़ॉल्यूशन आर्टवर्क लोड करें। इससे ज़्यादा बैंडविड्थ और वीडियो मेमोरी इस्तेमाल होती है।", "Loaded {loaded} of {total} movies...": "{total} में से {loaded} फ़िल्में लोड हुईं...", "Loaded {loaded} of {total} shows...": "{total} में से {loaded} शो लोड हुए...", "Loaded {name}": "{name} लोड हुआ", diff --git a/src/lib/i18n/locales/id/audit.ts b/src/lib/i18n/locales/id/audit.ts index 05e8b6fbe..58d97b026 100644 --- a/src/lib/i18n/locales/id/audit.ts +++ b/src/lib/i18n/locales/id/audit.ts @@ -683,8 +683,8 @@ const audit: Record = { "Live web (Jina Reader)": "Web real-time (Jina Reader)", "Living-room focus, floating glass chrome.": "Fokus untuk ruang keluarga, elemen antarmuka kaca mengambang.", - "Load the highest-resolution artwork for the featured hero. Uses more bandwidth.": - "Muat gambar beresolusi tertinggi untuk banner unggulan. Menggunakan lebih banyak bandwidth.", + "Load the highest-resolution artwork for the featured hero, the detail page hero, and unblurred stream picker backgrounds. Uses more bandwidth and video memory.": + "Muat gambar beresolusi tertinggi untuk banner unggulan, hero halaman detail, dan latar pemilih stream yang tidak diburamkan. Menggunakan lebih banyak bandwidth dan memori video.", "Loading channels…": "Memuat saluran…", "Loading more channels ({n1} of {n2})": "Memuat lebih banyak saluran ({n1} dari {n2})", "Loading more channels ({shown} of {total})": diff --git a/src/lib/i18n/locales/id/catalog-05.ts b/src/lib/i18n/locales/id/catalog-05.ts index b2fd0402c..79b1e5722 100644 --- a/src/lib/i18n/locales/id/catalog-05.ts +++ b/src/lib/i18n/locales/id/catalog-05.ts @@ -488,8 +488,8 @@ const catalog: Record = { "Load more": "Muat lebih banyak", "Load more comments": "Muat lebih banyak komentar", "Load more threads": "Muat lebih banyak utas", - "Load the highest-resolution artwork for the featured hero. Uses more bandwidth.": - "Muat artwork beresolusi tertinggi untuk hero unggulan. Menggunakan lebih banyak bandwidth.", + "Load the highest-resolution artwork for the featured hero, the detail page hero, and unblurred stream picker backgrounds. Uses more bandwidth and video memory.": + "Muat artwork beresolusi tertinggi untuk hero unggulan, hero halaman detail, dan latar pemilih stream yang tidak diburamkan. Menggunakan lebih banyak bandwidth dan memori video.", "Loaded {loaded} of {total} movies...": "Telah memuat {loaded} dari {total} film...", "Loaded {loaded} of {total} shows...": "Telah memuat {loaded} dari {total} acara...", "Loaded {name}": "{name} dimuat", diff --git a/src/lib/i18n/locales/it/catalog-04.ts b/src/lib/i18n/locales/it/catalog-04.ts index c96a06dae..026d3bde5 100644 --- a/src/lib/i18n/locales/it/catalog-04.ts +++ b/src/lib/i18n/locales/it/catalog-04.ts @@ -1241,8 +1241,8 @@ const catalog04: Record = { "Load more": "Carica altro", "Load more comments": "Carica altri commenti", "Load more threads": "Carica altre discussioni", - "Load the highest-resolution artwork for the featured hero. Uses more bandwidth.": - "Carica l'immagine alla massima risoluzione per il contenuto in evidenza. Consuma più dati.", + "Load the highest-resolution artwork for the featured hero, the detail page hero, and unblurred stream picker backgrounds. Uses more bandwidth and video memory.": + "Carica l'immagine alla massima risoluzione per il contenuto in evidenza, per l'immagine della pagina dei dettagli e per gli sfondi non sfocati del selettore degli stream. Consuma più dati e memoria video.", "Loaded {loaded} of {total} movies...": "Caricati {loaded} film su {total}...", "Loaded {loaded} of {total} shows...": "Caricate {loaded} serie su {total}...", "Loaded {name}": "Caricamento completato: {name}", diff --git a/src/lib/i18n/locales/ja/settings.ts b/src/lib/i18n/locales/ja/settings.ts index 37ad40701..7c721fba9 100644 --- a/src/lib/i18n/locales/ja/settings.ts +++ b/src/lib/i18n/locales/ja/settings.ts @@ -379,8 +379,8 @@ const settings: Record = { "Stretch the featured hero edge to edge and taller, across every layout.": "すべてのレイアウトで、注目ヒーローを画面の端から端まで広げて高く表示します。", "Full quality hero image": "最高画質のヒーロー画像", - "Load the highest-resolution artwork for the featured hero. Uses more bandwidth.": - "注目ヒーローの画像を最高解像度で読み込みます。通信量が増加します。", + "Load the highest-resolution artwork for the featured hero, the detail page hero, and unblurred stream picker backgrounds. Uses more bandwidth and video memory.": + "注目ヒーロー、詳細ページのヒーロー、ぼかしなしのストリーム選択画面の背景を最高解像度で読み込みます。通信量とビデオメモリの使用量が増加します。", "Display language": "表示言語", "Interface language": "インターフェースの言語", "Metadata language": "メタデータの言語", diff --git a/src/lib/i18n/locales/ko/catalog-05.ts b/src/lib/i18n/locales/ko/catalog-05.ts index 586a7f2e1..edbfdb429 100644 --- a/src/lib/i18n/locales/ko/catalog-05.ts +++ b/src/lib/i18n/locales/ko/catalog-05.ts @@ -780,8 +780,8 @@ const catalog05: Record = { "Load file": "파일 불러오기", "Load more": "더 불러오기", "Load more comments": "댓글 더 보기", - "Load the highest-resolution artwork for the featured hero. Uses more bandwidth.": - "추천 히어로에 최고 해상도 아트워크를 불러옵니다. 데이터 사용량이 늘어납니다.", + "Load the highest-resolution artwork for the featured hero, the detail page hero, and unblurred stream picker backgrounds. Uses more bandwidth and video memory.": + "추천 히어로, 상세 페이지 히어로, 흐림 효과가 없는 스트림 선택 화면 배경에 최고 해상도 아트워크를 불러옵니다. 데이터와 비디오 메모리 사용량이 늘어납니다.", "Loaded {loaded} of {total} movies...": "영화 {total}개 중 {loaded}개 불러오는 중...", "Loaded {loaded} of {total} shows...": "시리즈 {total}개 중 {loaded}개 불러오는 중...", "Loaded {name}": "{name} 불러옴", diff --git a/src/lib/i18n/locales/pl/catalog-07.ts b/src/lib/i18n/locales/pl/catalog-07.ts index bdf20412e..ac7be202e 100644 --- a/src/lib/i18n/locales/pl/catalog-07.ts +++ b/src/lib/i18n/locales/pl/catalog-07.ts @@ -329,8 +329,8 @@ const catalog07: Record = { "Load file": "Wczytaj plik", "Load more": "Wczytaj więcej", "Load more comments": "Wczytaj więcej komentarzy", - "Load the highest-resolution artwork for the featured hero. Uses more bandwidth.": - "Wczytaj grafikę wyróżnionego banera w najwyższej rozdzielczości. Zużywa więcej transferu danych.", + "Load the highest-resolution artwork for the featured hero, the detail page hero, and unblurred stream picker backgrounds. Uses more bandwidth and video memory.": + "Wczytaj grafikę w najwyższej rozdzielczości dla wyróżnionego banera, banera strony szczegółów i nierozmytych tł selektora źródeł. Zużywa więcej transferu danych i pamięci wideo.", "Loaded {loaded} of {total} movies...": "Wczytano {loaded} z {total} filmów...", "Loaded {loaded} of {total} shows...": "Wczytano {loaded} z {total} seriali...", "Loaded {name}": "Wczytano {name}", diff --git a/src/lib/i18n/locales/pt/settings.ts b/src/lib/i18n/locales/pt/settings.ts index 52e2c3f6e..75945053d 100644 --- a/src/lib/i18n/locales/pt/settings.ts +++ b/src/lib/i18n/locales/pt/settings.ts @@ -388,8 +388,8 @@ const settings: Record = { "Stretch the featured hero edge to edge and taller, across every layout.": "Esticar o destaque principal de ponta a ponta e mais alto, em todos os layouts.", "Full quality hero image": "Imagem principal em qualidade total", - "Load the highest-resolution artwork for the featured hero. Uses more bandwidth.": - "Carregar a arte na maior resolução para o destaque principal. Usa mais banda.", + "Load the highest-resolution artwork for the featured hero, the detail page hero, and unblurred stream picker backgrounds. Uses more bandwidth and video memory.": + "Carregar a arte na maior resolução para o destaque principal, o destaque da página de detalhes e os fundos sem desfoque do seletor de fontes. Usa mais banda e memória de vídeo.", "Display language": "Idioma de exibição", "Interface language": "Idioma da interface", "Metadata language": "Idioma dos metadados", diff --git a/src/lib/i18n/locales/ru/settings.ts b/src/lib/i18n/locales/ru/settings.ts index 0118c8af6..5a91b298a 100644 --- a/src/lib/i18n/locales/ru/settings.ts +++ b/src/lib/i18n/locales/ru/settings.ts @@ -385,8 +385,8 @@ const settings: Record = { "Stretch the featured hero edge to edge and taller, across every layout.": "Растянуть баннер от края до края и сделать выше во всех раскладках.", "Full quality hero image": "Баннер в полном качестве", - "Load the highest-resolution artwork for the featured hero. Uses more bandwidth.": - "Загружать изображение баннера в максимальном разрешении. Расходует больше трафика.", + "Load the highest-resolution artwork for the featured hero, the detail page hero, and unblurred stream picker backgrounds. Uses more bandwidth and video memory.": + "Загружать изображения в максимальном разрешении для баннера, баннера страницы с описанием и фонов выбора источников без размытия. Расходует больше трафика и видеопамяти.", "Display language": "Язык интерфейса", "Interface language": "Язык интерфейса", "Metadata language": "Язык метаданных", diff --git a/src/lib/i18n/locales/tr/settings.ts b/src/lib/i18n/locales/tr/settings.ts index 8a4772bf3..37733e476 100644 --- a/src/lib/i18n/locales/tr/settings.ts +++ b/src/lib/i18n/locales/tr/settings.ts @@ -1639,8 +1639,8 @@ const settings: Record = { "Live-injected into the document. Use it to retheme buttons, change spacing, recolor anything.": "Belgeye anında eklenir. Düğmelerin temasını ve aralıkları değiştirmek ya da istediğiniz öğeyi yeniden renklendirmek için kullanın.", "Living-room focus, floating glass chrome.": "Oturma odası odaklı, yüzen cam arayüz.", - "Load the highest-resolution artwork for the featured hero. Uses more bandwidth.": - "Öne çıkan alan için en yüksek çözünürlüklü görseli yükleyin. Daha fazla bant genişliği kullanır.", + "Load the highest-resolution artwork for the featured hero, the detail page hero, and unblurred stream picker backgrounds. Uses more bandwidth and video memory.": + "Öne çıkan alan, ayrıntı sayfası görseli ve bulanıklaştırılmamış kaynak seçici arka planları için en yüksek çözünürlüklü görseli yükleyin. Daha fazla bant genişliği ve video belleği kullanır.", "Loaded {loaded} of {total} movies...": "{total} filmden {loaded} tanesi yüklendi...", "Loaded {loaded} of {total} shows...": "{total} diziden {loaded} tanesi yüklendi...", "Loading environment details…": "Ortam ayrıntıları yükleniyor…", diff --git a/src/lib/i18n/locales/vi/settings.ts b/src/lib/i18n/locales/vi/settings.ts index a929922b0..8aa16cd6a 100644 --- a/src/lib/i18n/locales/vi/settings.ts +++ b/src/lib/i18n/locales/vi/settings.ts @@ -381,8 +381,8 @@ const settings: Record = { "Stretch the featured hero edge to edge and taller, across every layout.": "Kéo giãn banner nổi bật sát hai cạnh và tăng chiều cao trong mọi bố cục.", "Full quality hero image": "Ảnh nổi bật chất lượng đầy đủ", - "Load the highest-resolution artwork for the featured hero. Uses more bandwidth.": - "Tải hình ảnh có độ phân giải cao nhất cho banner nổi bật. Tốn nhiều băng thông hơn.", + "Load the highest-resolution artwork for the featured hero, the detail page hero, and unblurred stream picker backgrounds. Uses more bandwidth and video memory.": + "Tải hình ảnh có độ phân giải cao nhất cho banner nổi bật, ảnh bìa trang chi tiết và nền không làm mờ của bộ chọn nguồn. Tốn nhiều băng thông và bộ nhớ video hơn.", "Display language": "Ngôn ngữ hiển thị", "Interface language": "Ngôn ngữ giao diện", "Metadata language": "Ngôn ngữ siêu dữ liệu", diff --git a/src/lib/i18n/locales/zh/discovery.ts b/src/lib/i18n/locales/zh/discovery.ts index 4eb1296fd..911c5da9a 100644 --- a/src/lib/i18n/locales/zh/discovery.ts +++ b/src/lib/i18n/locales/zh/discovery.ts @@ -101,8 +101,8 @@ const discovery: Record = { "浏览时,这些徽章会显示在海报上。上方密钥设置中的 RPDB 是独立选项,会将评分直接嵌入海报图片。", "Home hero": "首页焦点横幅", "Make the featured banner on Home bigger and sharper.": "让首页推荐横幅更大、更清晰。", - "Load the highest-resolution artwork for the featured hero. Uses more bandwidth.": - "为推荐焦点横幅加载最高分辨率的图片。会使用更多带宽。", + "Load the highest-resolution artwork for the featured hero, the detail page hero, and unblurred stream picker backgrounds. Uses more bandwidth and video memory.": + "为推荐焦点横幅、详情页横幅以及未模糊的播放源选择器背景加载最高分辨率的图片。会使用更多带宽和显存。", "Show Playlists tab": "显示“播放列表”标签", "Show IMDb score on cards": "在卡片上显示 IMDb 评分", "Only show streams in my languages": "仅显示符合我的语言设置的视频流",