From 390da4c6414411e21770d988ec3c816b9077385a Mon Sep 17 00:00:00 2001 From: Till JS Date: Mon, 27 Apr 2026 13:45:33 +0200 Subject: [PATCH] =?UTF-8?q?i18n(news):=20translate=20+page.svelte=20via=20?= =?UTF-8?q?$=5F()=20=E2=80=94=20onboarding=20wizard=20+=20feed=20cards?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Onboarding 3-step wizard: hero (welcome/intro), step labels (1.Themen/2.Sprache/3.Quellen), all section titles + hints, language pills (Deutsch/English via news.languages.*), back/next buttons, finish + finishLoading state - Feed: title, "{n} Artikel" meta, "Fehler beim Laden" error, refresh/saved/settings tooltip titles, loading/empty states with hint, "Artikel öffnen" aria-label, reading-time pill ({n} min), saved-badge title + text - Reaction buttons: interested/saved labels and their titles ("Schon gespeichert..." vs "In Leseliste speichern..."), notInterested + title, blockSource title Baselines: hardcoded 1170 → 1160 (10 cleared); missing-keys baseline unchanged. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../web/src/routes/(app)/news/+page.svelte | 87 +++++++++++-------- scripts/i18n-hardcoded-baseline.json | 1 - 2 files changed, 52 insertions(+), 36 deletions(-) diff --git a/apps/mana/apps/web/src/routes/(app)/news/+page.svelte b/apps/mana/apps/web/src/routes/(app)/news/+page.svelte index e0fe6d9a0..dd1953bdd 100644 --- a/apps/mana/apps/web/src/routes/(app)/news/+page.svelte +++ b/apps/mana/apps/web/src/routes/(app)/news/+page.svelte @@ -26,6 +26,7 @@ } from '$lib/modules/news/types'; import { TOPIC_LABELS, sourcesForTopic } from '$lib/modules/news/sources-meta'; import { RoutePage } from '$lib/components/shell'; + import { _ } from 'svelte-i18n'; const prefs$ = usePreferences(); const pool$ = useCachedFeed(); @@ -151,20 +152,26 @@ {#if !isOnboarded}
-

Willkommen beim News Hub

-

In drei Schritten baust du dir deinen persönlichen Newsfeed.

+

{$_('news.onboarding.welcome')}

+

{$_('news.onboarding.intro')}

- 1. Themen - 2. Sprache - 3. Quellen + {$_('news.onboarding.stepTopics')} + {$_('news.onboarding.stepLanguage')} + {$_('news.onboarding.stepSources')}
{#if onboardingStep === 1}
-

Was interessiert dich?

-

Wähle mindestens zwei Themen.

+

{$_('news.onboarding.topicsTitle')}

+

{$_('news.onboarding.topicsHint')}

{#each ALL_TOPICS as topic}
{:else if onboardingStep === 2}
-

In welchen Sprachen liest du?

+

{$_('news.onboarding.languageTitle')}

{:else}
-

Quellen aus deinen Themen

+

{$_('news.onboarding.sourcesTitle')}

- Tippe eine Quelle an um sie auszublenden. Du kannst das jederzeit ändern. + {$_('news.onboarding.sourcesHint')}

{#each pickedTopics as topic} @@ -255,7 +262,7 @@
@@ -272,11 +281,11 @@
-

News

+

{$_('news.feed.title')}

- {ranked.length} Artikel + {$_('news.feed.articles', { values: { count: ranked.length } })} {#if feedCacheStore.lastError} - · Fehler beim Laden + · {$_('news.feed.loadError')} {/if}
@@ -286,12 +295,12 @@ class="icon-btn" onclick={manualRefresh} disabled={feedCacheStore.inFlight} - title="Neu laden" + title={$_('news.feed.refresh')} > {feedCacheStore.inFlight ? '…' : '↻'} - 📑 - + 📑 +
@@ -308,10 +317,10 @@ {#if ranked.length === 0}
{#if pool.length === 0} -

Lade Artikel…

+

{$_('news.feed.loading')}

{:else} -

Keine neuen Artikel zu deinen Themen.

-

Probiere "↻" oder erweitere deine Themen.

+

{$_('news.feed.empty')}

+

{$_('news.feed.emptyHint')}

{/if}
{:else} @@ -325,7 +334,7 @@ type="button" class="card-image-btn" onclick={() => openReader(article)} - aria-label="Artikel öffnen" + aria-label={$_('news.feed.openArticleAria')} > @@ -337,10 +346,16 @@ {formatRelativeTime(article.publishedAt)} {#if article.readingTimeMinutes} · - {article.readingTimeMinutes} min + {$_('news.feed.readingTimeMin', { + values: { n: article.readingTimeMinutes }, + })} {/if} {#if isSaved} - ❤️ gespeichert + {$_('news.feed.savedBadgeText')} {/if} diff --git a/scripts/i18n-hardcoded-baseline.json b/scripts/i18n-hardcoded-baseline.json index 59ef737fb..330cf833c 100644 --- a/scripts/i18n-hardcoded-baseline.json +++ b/scripts/i18n-hardcoded-baseline.json @@ -276,7 +276,6 @@ "apps/mana/apps/web/src/routes/(app)/music/projects/+page.svelte": 4, "apps/mana/apps/web/src/routes/(app)/news-research/+page.svelte": 2, "apps/mana/apps/web/src/routes/(app)/news/[id]/+page.svelte": 3, - "apps/mana/apps/web/src/routes/(app)/news/+page.svelte": 10, "apps/mana/apps/web/src/routes/(app)/news/add/+page.svelte": 1, "apps/mana/apps/web/src/routes/(app)/news/preferences/+page.svelte": 8, "apps/mana/apps/web/src/routes/(app)/news/saved/+page.svelte": 1,