feat: guided-setup wizard — localized explained options + plain-language plan
Some checks failed
Security / Security check (push) Failing after 1s
Some checks failed
Security / Security check (push) Failing after 1s
Reworks the Setup-Assistent toward the zero-learning-curve bar
(docs/architecture/guided-setup.md, phase 1.1):
- Every scenario/intent/target choice is now a localized option CARD
with a one-line plain-language explanation of what it configures
(DE+EN, Sie-form) — replacing the bare dropdowns whose labels were
English enum humanizations ('Regulated Production', 'This Laptop').
- Three explained steps with a 'Schritt n von 3' progress line
(stakes → task → environment); the two adaptive toggles move to the
last step in plain language (no 'air-gapped' jargon).
- The review step renders a localized PLAIN-LANGUAGE summary built
from 'chain init --answers --plan-json' (the structured SetupPlan) —
'Ch∆In richtet einen regulierten Betrieb ein: signierte Module
verlangt · … · geändert wird nur ~/.chain/config.yaml' — instead of
echoing the CLI's English prose. Warns when an existing config will
be overwritten. After apply: a plain 'Fertig' + next steps.
flutter analyze clean; widget tests for the step flow + German option
labels. Remaining per plan: clickable follow-up actions, signature
dead-end fix, placement/auto-open, and the LLM free-text path.
Signed-off-by: flemming-it <stefan.a.flemming@googlemail.com>
This commit is contained in:
parent
0073d77a67
commit
140408d26a
7 changed files with 1133 additions and 146 deletions
|
|
@ -2964,4 +2964,185 @@ class AppLocalizationsDe extends AppLocalizations {
|
|||
|
||||
@override
|
||||
String get sealedLeave => 'Verlassen';
|
||||
|
||||
@override
|
||||
String setupStepOf(int n, int total) {
|
||||
return 'Schritt $n von $total';
|
||||
}
|
||||
|
||||
@override
|
||||
String get setupStep1Title => 'Worum geht es?';
|
||||
|
||||
@override
|
||||
String get setupStep2Title => 'Was möchten Sie zuerst tun?';
|
||||
|
||||
@override
|
||||
String get setupStep3Title => 'Wo läuft es?';
|
||||
|
||||
@override
|
||||
String get setupReviewTitle => 'Das wird Ch∆In einrichten';
|
||||
|
||||
@override
|
||||
String get setupChooseFreeText =>
|
||||
'Oder beschreiben Sie einfach, was Sie vorhaben';
|
||||
|
||||
@override
|
||||
String get setupScenTryingOut => 'Erst mal ausprobieren';
|
||||
|
||||
@override
|
||||
String get setupScenTryingOutSub =>
|
||||
'Ein unkomplizierter Arbeitsplatz auf diesem Rechner — ohne Signaturen, ohne Audit-Sperre.';
|
||||
|
||||
@override
|
||||
String get setupScenTeamHub => 'Ein Team-Server';
|
||||
|
||||
@override
|
||||
String get setupScenTeamHubSub =>
|
||||
'Ein abgesicherter Hub für mehrere Personen — signierte Module, Ressourcen-Grenzen.';
|
||||
|
||||
@override
|
||||
String get setupScenRegulated => 'Regulierter Produktivbetrieb';
|
||||
|
||||
@override
|
||||
String get setupScenRegulatedSub =>
|
||||
'Signierte Module, ein lückenloses, manipulationssicheres Prüfprotokoll und eine menschliche Freigabe vor jedem KI-Schritt.';
|
||||
|
||||
@override
|
||||
String get setupScenBuildModules => 'Module entwickeln';
|
||||
|
||||
@override
|
||||
String get setupScenBuildModulesSub =>
|
||||
'Eine Entwickler-Einrichtung zum Schreiben und Testen eigener Module.';
|
||||
|
||||
@override
|
||||
String get setupIntentHello => 'Das Hallo-Beispiel ausführen';
|
||||
|
||||
@override
|
||||
String get setupIntentHelloSub =>
|
||||
'Einfach einen Flow einmal von Anfang bis Ende sehen.';
|
||||
|
||||
@override
|
||||
String get setupIntentExtract => 'Text aus Dokumenten extrahieren';
|
||||
|
||||
@override
|
||||
String get setupIntentExtractSub =>
|
||||
'Reinen Text aus PDF- und DOCX-Dateien holen.';
|
||||
|
||||
@override
|
||||
String get setupIntentExtractSummarize => 'Extrahieren und zusammenfassen';
|
||||
|
||||
@override
|
||||
String get setupIntentExtractSummarizeSub =>
|
||||
'Text extrahieren und anschließend zusammenfassen.';
|
||||
|
||||
@override
|
||||
String get setupIntentClassify => 'Eingehende Dokumente einsortieren';
|
||||
|
||||
@override
|
||||
String get setupIntentClassifySub =>
|
||||
'Text extrahieren und mit einem KI-Schritt klassifizieren.';
|
||||
|
||||
@override
|
||||
String get setupIntentBuildModule => 'Ein eigenes Modul bauen';
|
||||
|
||||
@override
|
||||
String get setupIntentBuildModuleSub => 'Mit einem Modul-Gerüst starten.';
|
||||
|
||||
@override
|
||||
String get setupTargetLaptop => 'Dieser Rechner';
|
||||
|
||||
@override
|
||||
String get setupTargetLaptopSub =>
|
||||
'Läuft lokal auf dem Gerät, an dem Sie gerade sitzen.';
|
||||
|
||||
@override
|
||||
String get setupTargetHomeServer => 'Ein eigener Server';
|
||||
|
||||
@override
|
||||
String get setupTargetHomeServerSub =>
|
||||
'Ein Server im eigenen Haus — startet beim Hochfahren, läuft im Hintergrund.';
|
||||
|
||||
@override
|
||||
String get setupTargetAirgapped =>
|
||||
'Ein vollständig lokaler Server (ohne Internet)';
|
||||
|
||||
@override
|
||||
String get setupTargetAirgappedSub =>
|
||||
'Ein isolierter Server ohne Internet — die strengste, privateste Betriebsart.';
|
||||
|
||||
@override
|
||||
String get setupTargetContainer => 'Ein Container';
|
||||
|
||||
@override
|
||||
String get setupTargetContainerSub =>
|
||||
'Docker oder Podman, mit fertigem Compose-Schnipsel.';
|
||||
|
||||
@override
|
||||
String get setupApprovalPlain =>
|
||||
'Vor jedem KI-Schritt einen Menschen um Freigabe bitten';
|
||||
|
||||
@override
|
||||
String get setupDataLocalPlain =>
|
||||
'Daten dürfen das Haus nie verlassen (vollständig lokal)';
|
||||
|
||||
@override
|
||||
String get setupPlanIntroDev =>
|
||||
'Ch∆In richtet einen unkomplizierten Arbeitsplatz ein.';
|
||||
|
||||
@override
|
||||
String get setupPlanIntroEnterprise =>
|
||||
'Ch∆In richtet einen abgesicherten Betrieb für ein Team ein.';
|
||||
|
||||
@override
|
||||
String get setupPlanIntroAirgapped =>
|
||||
'Ch∆In richtet einen vollständig lokalen, regulierten Betrieb ein.';
|
||||
|
||||
@override
|
||||
String get setupPlanSignatures =>
|
||||
'Es werden nur signierte Module zugelassen.';
|
||||
|
||||
@override
|
||||
String get setupPlanWorm =>
|
||||
'Das Prüfprotokoll wird zusätzlich manipulationssicher (WORM) gesichert.';
|
||||
|
||||
@override
|
||||
String get setupPlanApproval =>
|
||||
'Vor jedem KI-Schritt fragt das System einen Menschen um Freigabe.';
|
||||
|
||||
@override
|
||||
String setupPlanModules(String modules) {
|
||||
return 'Diese Module werden vorbereitet: $modules.';
|
||||
}
|
||||
|
||||
@override
|
||||
String setupPlanFlow(String flow) {
|
||||
return 'Ein Beispiel-Flow „$flow“ wird angelegt.';
|
||||
}
|
||||
|
||||
@override
|
||||
String setupPlanFileChanged(String path) {
|
||||
return 'Geändert wird nur eine Datei: $path.';
|
||||
}
|
||||
|
||||
@override
|
||||
String get setupPlanOverwriteWarn =>
|
||||
'Eine vorhandene Konfiguration wird überschrieben.';
|
||||
|
||||
@override
|
||||
String get setupApplied => 'Fertig — Ch∆In ist eingerichtet.';
|
||||
|
||||
@override
|
||||
String get setupNextTitle => 'Nächste Schritte';
|
||||
|
||||
@override
|
||||
String get setupNextHubStart => 'Hub starten';
|
||||
|
||||
@override
|
||||
String get setupNextInstall => 'Die Module installieren';
|
||||
|
||||
@override
|
||||
String get setupNextRunFlow => 'Den Beispiel-Flow ausführen';
|
||||
|
||||
@override
|
||||
String get setupStartCta => 'In 3 Fragen loslegen';
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue