From 36d832a3db466291442ca3a68bf4d45937d2f852 Mon Sep 17 00:00:00 2001 From: Till JS Date: Mon, 27 Apr 2026 01:39:25 +0200 Subject: [PATCH] =?UTF-8?q?i18n(library):=20wire=20DetailView=20to=20names?= =?UTF-8?q?pace=20=E2=80=94=2016=20strings=20cleared?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Patches all action labels, kind/status/format pills (routed through dynamic library.kinds.*, library.statuses.*, library.book_formats.*), detail dt/dd pairs, restart label, times badge, review section. constants.ts kept with literal {de,en} maps for non-Svelte callers. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../modules/library/views/DetailView.svelte | 102 +++++++++++------- scripts/i18n-hardcoded-baseline.json | 1 - scripts/i18n-missing-baseline.json | 1 + 3 files changed, 65 insertions(+), 39 deletions(-) diff --git a/apps/mana/apps/web/src/lib/modules/library/views/DetailView.svelte b/apps/mana/apps/web/src/lib/modules/library/views/DetailView.svelte index e860704f2..45a764595 100644 --- a/apps/mana/apps/web/src/lib/modules/library/views/DetailView.svelte +++ b/apps/mana/apps/web/src/lib/modules/library/views/DetailView.svelte @@ -1,5 +1,6 @@
- ← Zurück zur Bibliothek + {$_('library.detail_view.action_back')} {#if editing} (editing = false)} /> @@ -86,17 +84,24 @@
-
@@ -105,7 +110,7 @@
{KIND_LABELS[entry.kind].emoji} - {KIND_LABELS[entry.kind].de} + {$_('library.kinds.' + entry.kind)}

{entry.title}

{#if entry.originalTitle && entry.originalTitle !== entry.title} @@ -128,7 +133,7 @@ class:active={entry.status === s} onclick={() => onStatusChange(s)} > - {STATUS_LABELS[s].de} + {$_('library.statuses.' + s)} {/each}
@@ -137,8 +142,15 @@
{#if entry.times > 0} - {entry.kind === 'book' || entry.kind === 'comic' ? 'Gelesen' : 'Gesehen'}: - {entry.times}× + {$_('library.detail_view.times_value', { + values: { + label: + entry.kind === 'book' || entry.kind === 'comic' + ? $_('library.detail_view.times_read') + : $_('library.detail_view.times_seen'), + count: entry.times, + }, + })} {/if} {#if entry.status === 'completed'} @@ -161,12 +173,12 @@ {/if}
-
Sichtbarkeit
+
{$_('library.detail_view.label_visibility')}
{#if entry.visibility === 'unlisted' && entry.unlistedToken && shareUrl} -
Link
+
{$_('library.detail_view.label_link')}
Seiten +
{$_('library.detail_view.label_pages')}
{entry.details.currentPage - ? `${entry.details.currentPage} / ${entry.details.pages}` + ? $_('library.detail_view.pages_value', { + values: { + current: entry.details.currentPage, + total: entry.details.pages, + }, + }) : entry.details.pages}
{/if} {#if entry.details.format} -
Format
-
{BOOK_FORMAT_LABELS[entry.details.format].de}
+
{$_('library.detail_view.label_format')}
+
{$_('library.book_formats.' + entry.details.format)}
{/if} {:else if entry.details.kind === 'movie'} {#if entry.details.runtimeMin} -
Laufzeit
-
{entry.details.runtimeMin} min
+
{$_('library.detail_view.label_runtime')}
+
+ {$_('library.detail_view.runtime_value', { + values: { minutes: entry.details.runtimeMin }, + })} +
{/if} {#if entry.details.director} -
Regie
+
{$_('library.detail_view.label_director')}
{entry.details.director}
{/if} {:else if entry.details.kind === 'series'} {#if entry.details.totalSeasons} -
Staffeln
+
{$_('library.detail_view.label_seasons')}
{entry.details.totalSeasons}
{/if} {#if entry.details.totalEpisodes} -
Episoden
+
{$_('library.detail_view.label_episodes')}
{entry.details.totalEpisodes}
{/if} {:else if entry.details.kind === 'comic'} {#if entry.details.publisher} -
Verlag
+
{$_('library.detail_view.label_publisher')}
{entry.details.publisher}
{/if} {#if entry.details.issueCount} -
Ausgaben
+
{$_('library.detail_view.label_issues')}
{entry.details.currentIssue - ? `${entry.details.currentIssue} / ${entry.details.issueCount}` + ? $_('library.detail_view.pages_value', { + values: { + current: entry.details.currentIssue, + total: entry.details.issueCount, + }, + }) : entry.details.issueCount}
{/if} {#if entry.details.isOngoing} -
Status
-
laufend
+
{$_('library.detail_view.label_status')}
+
{$_('library.detail_view.status_ongoing')}
{/if} {/if} {#if entry.startedAt} -
Gestartet
+
{$_('library.detail_view.label_started')}
{entry.startedAt}
{/if} {#if entry.completedAt} -
Fertig
+
{$_('library.detail_view.label_completed')}
{entry.completedAt}
{/if}
@@ -241,7 +267,7 @@ {#if entry.review}
-

Review

+

{$_('library.detail_view.section_review')}

{entry.review}

{/if} diff --git a/scripts/i18n-hardcoded-baseline.json b/scripts/i18n-hardcoded-baseline.json index 345e3c7a1..ae9643610 100644 --- a/scripts/i18n-hardcoded-baseline.json +++ b/scripts/i18n-hardcoded-baseline.json @@ -137,7 +137,6 @@ "apps/mana/apps/web/src/lib/modules/library/components/EntryForm.svelte": 5, "apps/mana/apps/web/src/lib/modules/library/components/ProgressControls.svelte": 3, "apps/mana/apps/web/src/lib/modules/library/ListView.svelte": 1, - "apps/mana/apps/web/src/lib/modules/library/views/DetailView.svelte": 16, "apps/mana/apps/web/src/lib/modules/library/views/GridView.svelte": 2, "apps/mana/apps/web/src/lib/modules/mail/ListView.svelte": 8, "apps/mana/apps/web/src/lib/modules/meditate/components/SessionPlayer.svelte": 3, diff --git a/scripts/i18n-missing-baseline.json b/scripts/i18n-missing-baseline.json index b2350a6e5..44eaf2653 100644 --- a/scripts/i18n-missing-baseline.json +++ b/scripts/i18n-missing-baseline.json @@ -10,6 +10,7 @@ "apps/mana/apps/web/src/lib/modules/invoices/constants.ts": 1, "apps/mana/apps/web/src/lib/modules/invoices/ListView.svelte": 1, "apps/mana/apps/web/src/lib/modules/invoices/views/DetailView.svelte": 1, + "apps/mana/apps/web/src/lib/modules/library/views/DetailView.svelte": 3, "apps/mana/apps/web/src/lib/modules/period/ListView.svelte": 1, "apps/mana/apps/web/src/lib/modules/plants/ListView.svelte": 5, "apps/mana/apps/web/src/lib/modules/quotes/components/QuoteCard.svelte": 4,