feat(i18n): migrate hardcoded German strings to t() across 104 components/pages — AST-based batch with re-parse gate, 423 new de.json keys; tsc clean; vitest failures byte-identical to clean-tree baseline (pre-existing)

This commit is contained in:
Agent Zero
2026-08-27 01:43:06 +02:00
parent 5680179260
commit 4cb5298768
105 changed files with 1204 additions and 459 deletions
+4 -4
View File
@@ -64,8 +64,8 @@ export function StartPage() {
<button
onClick={() => navigate('/start')}
className="p-1.5 rounded-md text-secondary-400 hover:bg-secondary-100 hover:text-secondary-700 flex items-center justify-center focus:outline-none focus-visible:ring-2 focus-visible:ring-primary-500"
aria-label="Zurück zur Startseite"
title="Zurück zur Startseite"
aria-label={t('startPage.zurückzurstartseite')}
title={t('startPage.zurückzurstartseite')}
>
<ArrowLeft className="w-4 h-4" />
</button>
@@ -101,7 +101,7 @@ export function StartPage() {
<div className="max-w-5xl mx-auto p-8">
<div className="mb-8">
<h1 className="text-2xl font-bold text-secondary-900">Willkommen{user?.first_name ? `, ${user.first_name}` : ''}!</h1>
<p className="text-sm text-secondary-500 mt-1">Wähle einen Workspace aus</p>
<p className="text-sm text-secondary-500 mt-1">{t('startPage.wähleeinenworkspaceaus')}</p>
</div>
{/* Dashboard stats */}
@@ -171,7 +171,7 @@ export function StartPage() {
>
<Plus className="w-8 h-8 text-secondary-300 group-hover:text-primary-400 transition-colors" />
<span className="text-sm text-secondary-400 group-hover:text-primary-600 mt-2 transition-colors">
Workspace hinzufügen
{t('startPage.workspacehinzufügen')}
</span>
</button>
</div>