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
+8 -8
View File
@@ -92,7 +92,7 @@ export function WorkflowsPage() {
{t('workflows.title', 'Workflows')}
</h1>
<p className="text-sm text-secondary-500 mt-1">
Definieren und verwalten Sie automatisierte Workflows
{t('workflows.definierenundverwaltensieautomatisiertew')}
</p>
</div>
{activeTab === 'definitions' && (
@@ -147,9 +147,9 @@ export function WorkflowsPage() {
<Card className="p-6">
<div className="flex items-center gap-3 text-danger-600">
<AlertCircle className="h-5 w-5" />
<span>Fehler beim Laden der Workflows</span>
<span>{t('workflows.fehlerbeimladenderworkflows')}</span>
<Button size="sm" variant="secondary" onClick={() => refetch()}>
Erneut versuchen
{t('workflows.erneutversuchen')}
</Button>
</div>
</Card>
@@ -157,12 +157,12 @@ export function WorkflowsPage() {
{!isLoading && !isError && workflows.length === 0 && (
<EmptyState
title="Keine Workflows"
title={t('workflows.keineworkflows')}
description="Erstellen Sie Ihren ersten Workflow, um automatisierte Prozesse zu definieren."
icon={<WorkflowIcon className="h-8 w-8" />}
action={
<Button onClick={openCreate} icon={<Plus className="h-4 w-4" />}>
Workflow erstellen
{t('workflows.workflowerstellen')}
</Button>
}
/>
@@ -216,7 +216,7 @@ export function WorkflowsPage() {
size="sm"
variant="ghost"
onClick={() => openEdit(wf)}
title="Bearbeiten"
title={t('workflows.bearbeiten')}
>
<Settings2 className="h-4 w-4" />
</Button>
@@ -224,7 +224,7 @@ export function WorkflowsPage() {
size="sm"
variant="ghost"
onClick={() => setConfirmDelete(wf)}
title="Loeschen"
title={t('workflows.loeschen')}
>
<Trash2 className="h-4 w-4 text-danger-500" />
</Button>
@@ -269,7 +269,7 @@ export function WorkflowsPage() {
open={!!confirmDelete}
onCancel={() => setConfirmDelete(null)}
onConfirm={handleDelete}
title="Workflow loeschen"
title={t('workflows.workflowloeschen')}
message={`Moechten Sie den Workflow "${confirmDelete?.name}" wirklich loeschen?`}
confirmLabel="Loeschen"
variant="danger"