diff --git a/apps/mana/apps/web/src/lib/modules/dreams/views/SymbolDetailView.svelte b/apps/mana/apps/web/src/lib/modules/dreams/views/SymbolDetailView.svelte index 9f23b99f2..b2b25f11a 100644 --- a/apps/mana/apps/web/src/lib/modules/dreams/views/SymbolDetailView.svelte +++ b/apps/mana/apps/web/src/lib/modules/dreams/views/SymbolDetailView.svelte @@ -12,7 +12,8 @@ useAllDreamSymbols, } from '../queries'; import { dreamsStore } from '../stores/dreams.svelte'; - import { MOOD_COLORS, MOOD_LABELS, type Dream, type DreamMood } from '../types'; + import { MOOD_COLORS, type Dream, type DreamMood } from '../types'; + import { _ } from 'svelte-i18n'; let { symbolId, @@ -107,7 +108,7 @@ async function handleDelete() { if (!symbol) return; const ok = confirm( - `Symbol "${symbol.name}" wirklich löschen? Es wird aus allen Träumen entfernt.` + $_('dreams.symbol_detail.confirm_delete', { values: { name: symbol.name } }) ); if (!ok) return; await dreamsStore.deleteSymbol(symbol.id); @@ -119,7 +120,9 @@ const target = symbols.find((s) => s.id === mergeTargetId); if (!target) return; const ok = confirm( - `"${symbol.name}" in "${target.name}" zusammenführen? Alle Träume werden umgeschrieben.` + $_('dreams.symbol_detail.confirm_merge', { + values: { source: symbol.name, target: target.name }, + }) ); if (!ok) return; await dreamsStore.mergeSymbols(symbol.id, mergeTargetId); @@ -139,45 +142,54 @@ } function moodLabel(mood: string): string { - if (mood in MOOD_LABELS) return MOOD_LABELS[mood as DreamMood]; - return 'Unbekannt'; + const valid: DreamMood[] = ['angenehm', 'neutral', 'unangenehm', 'albtraum']; + if (valid.includes(mood as DreamMood)) return $_('dreams.moods.' + mood); + return $_('dreams.symbol_detail.mood_unknown'); }
- +
{#if savedHint} - Gespeichert + {$_('dreams.symbol_detail.saved')} {/if} {#if symbol && mergeCandidates.length > 0} - + {/if} {#if symbol} - + {/if}
{#if mergeOpen && symbol}
- "{symbol.name}" zusammenführen mit: + {$_('dreams.symbol_detail.merge_label', { values: { name: symbol.name } })} - + {$_('dreams.symbol_detail.merge_cancel')}
{/if} {#if !symbol} -

Symbol nicht gefunden.

+

{$_('dreams.symbol_detail.empty_not_found')}

{:else}
@@ -185,10 +197,15 @@ class="name-input" type="text" bind:value={editName} - placeholder="Symbolname" + placeholder={$_('dreams.symbol_detail.name_placeholder')} style="color: {editColor}" /> - {symbol.count} {symbol.count === 1 ? 'Traum' : 'Träume'} + {symbol.count} + {symbol.count === 1 + ? $_('dreams.symbol_detail.count_singular') + : $_('dreams.symbol_detail.count_plural')}
@@ -199,18 +216,18 @@ class:active={editColor === color} style="background: {color}" onclick={() => (editColor = color)} - aria-label={`Farbe ${color}`} + aria-label={$_('dreams.symbol_detail.color_aria', { values: { color } })} > {/each}
- Meine Bedeutung + {$_('dreams.symbol_detail.label_meaning')}
@@ -218,7 +235,7 @@ {#if moodDist.length > 0}
- Stimmungs-Verteilung + {$_('dreams.symbol_detail.label_mood_dist')}
{#each moodDist as m}
@@ -239,13 +256,13 @@ {#if cooccurring.length > 0}
- +
{#each cooccurring as c} @@ -257,7 +274,7 @@ {#if dreamsWithSymbol.length > 0}
- +
{#each dreamsWithSymbol as d (d.id)} diff --git a/scripts/i18n-hardcoded-baseline.json b/scripts/i18n-hardcoded-baseline.json index 891a8750a..7fd9c1c74 100644 --- a/scripts/i18n-hardcoded-baseline.json +++ b/scripts/i18n-hardcoded-baseline.json @@ -110,7 +110,6 @@ "apps/mana/apps/web/src/lib/modules/core/widgets/RecentContactsWidget.svelte": 2, "apps/mana/apps/web/src/lib/modules/core/widgets/TasksTodayWidget.svelte": 1, "apps/mana/apps/web/src/lib/modules/core/widgets/UpcomingEventsWidget.svelte": 1, - "apps/mana/apps/web/src/lib/modules/dreams/views/SymbolDetailView.svelte": 8, "apps/mana/apps/web/src/lib/modules/drink/ListView.svelte": 5, "apps/mana/apps/web/src/lib/modules/finance/ListView.svelte": 6, "apps/mana/apps/web/src/lib/modules/goals/ListView.svelte": 1, diff --git a/scripts/i18n-missing-baseline.json b/scripts/i18n-missing-baseline.json index e4f441b2c..d8c6c8740 100644 --- a/scripts/i18n-missing-baseline.json +++ b/scripts/i18n-missing-baseline.json @@ -10,6 +10,7 @@ "apps/mana/apps/web/src/lib/modules/broadcast/views/DetailView.svelte": 1, "apps/mana/apps/web/src/lib/modules/credits/ListView.svelte": 1, "apps/mana/apps/web/src/lib/modules/dreams/ListView.svelte": 1, + "apps/mana/apps/web/src/lib/modules/dreams/views/SymbolDetailView.svelte": 1, "apps/mana/apps/web/src/lib/modules/firsts/ListView.svelte": 2, "apps/mana/apps/web/src/lib/modules/invoices/components/StatusBadge.svelte": 1, "apps/mana/apps/web/src/lib/modules/invoices/constants.ts": 1,