feat(studio): localise Settings sidebar + add inline help docs + Approvals doc
Some checks failed
Security / Security check (push) Failing after 1s
Some checks failed
Security / Security check (push) Failing after 1s
Three operator-UX gaps closed:
- Settings dialog's six-category sidebar (General / Appearance /
System AI / Integrations / Security / Maintenance) was
hardcoded English; now flows through AppLocalizations
("Allgemein" / "Darstellung" / "System-KI" / "Integrationen" /
"Sicherheit" / "Wartung"). Same for the per-panel title +
description.
- Per-channel daemon-action labels ('enable autostart' /
'disable autostart' / 'daemon restart' etc.) and the
OK / Failed result line in the toast also moved to l10n,
so the system-action feedback reads as one language.
- New 'Approvals' doc bundle (en + de) under assets/docs/,
registered as a fifth doc card on Welcome plus exposed via
the new public helper. The
Approvals, Audit and Doctor app-bars grow a Help icon button
next to Refresh that opens the matching doc in the existing
bottom-sheet reader — no extra screen, no learning curve.
Studio bumped to 0.67.0; editor path-override pulls in 0.20.1
(flow-list row polish).
Signed-off-by: flemming-it <stefan.a.flemming@googlemail.com>
This commit is contained in:
parent
2be7d241bf
commit
28fafce7dc
15 changed files with 681 additions and 36 deletions
|
|
@ -260,6 +260,24 @@ abstract class AppLocalizations {
|
|||
/// **'YAML basics, templating reference, the extract→summarize example.'**
|
||||
String get welcomeDocFlowsBlurb;
|
||||
|
||||
/// No description provided for @welcomeDocApprovalsTitle.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Approvals'**
|
||||
String get welcomeDocApprovalsTitle;
|
||||
|
||||
/// No description provided for @welcomeDocApprovalsBlurb.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Human-in-the-loop checkpoints — when to use them, how the audit log records them.'**
|
||||
String get welcomeDocApprovalsBlurb;
|
||||
|
||||
/// No description provided for @helpTooltip.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Help'**
|
||||
String get helpTooltip;
|
||||
|
||||
/// No description provided for @welcomeDocClose.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
|
|
@ -3968,6 +3986,156 @@ abstract class AppLocalizations {
|
|||
/// **'Studio errors'**
|
||||
String get doctorPathStudioErrors;
|
||||
|
||||
/// No description provided for @settingsCategoryGeneral.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'General'**
|
||||
String get settingsCategoryGeneral;
|
||||
|
||||
/// No description provided for @settingsCategoryAppearance.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Appearance'**
|
||||
String get settingsCategoryAppearance;
|
||||
|
||||
/// No description provided for @settingsCategoryAi.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'System AI'**
|
||||
String get settingsCategoryAi;
|
||||
|
||||
/// No description provided for @settingsCategoryIntegrations.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Integrations'**
|
||||
String get settingsCategoryIntegrations;
|
||||
|
||||
/// No description provided for @settingsCategorySecurity.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Security'**
|
||||
String get settingsCategorySecurity;
|
||||
|
||||
/// No description provided for @settingsCategoryMaintenance.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Maintenance'**
|
||||
String get settingsCategoryMaintenance;
|
||||
|
||||
/// No description provided for @settingsAiPanelTitle.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'System AI'**
|
||||
String get settingsAiPanelTitle;
|
||||
|
||||
/// No description provided for @settingsAiPanelBody.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Operator-managed LLM endpoint used by Studio for the AI helpers (system-ai-edit, install-suggest, doctor-summary). No flow ever calls this; modules speak to their own LLM.'**
|
||||
String get settingsAiPanelBody;
|
||||
|
||||
/// No description provided for @settingsIntegrationsPanelTitle.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Integrations'**
|
||||
String get settingsIntegrationsPanelTitle;
|
||||
|
||||
/// No description provided for @settingsIntegrationsPanelBody.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'External tool servers the hub federates capabilities from. MCP servers expose tool-shaped endpoints; n8n endpoints expose hosted workflows.'**
|
||||
String get settingsIntegrationsPanelBody;
|
||||
|
||||
/// No description provided for @settingsSecurityPanelTitle.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Security & credentials'**
|
||||
String get settingsSecurityPanelTitle;
|
||||
|
||||
/// No description provided for @settingsSecurityPanelBody.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Tokens the hub holds on the operator\'s behalf. Stored in ~/.fai/ with mode 0600; never sent in telemetry.'**
|
||||
String get settingsSecurityPanelBody;
|
||||
|
||||
/// No description provided for @settingsMaintenancePanelTitle.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Maintenance'**
|
||||
String get settingsMaintenancePanelTitle;
|
||||
|
||||
/// No description provided for @settingsMaintenancePanelBody.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Destructive operations gated behind explicit confirm dialogs. Use when re-pilot-testing or debugging.'**
|
||||
String get settingsMaintenancePanelBody;
|
||||
|
||||
/// No description provided for @tooltipMoveUp.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Move up'**
|
||||
String get tooltipMoveUp;
|
||||
|
||||
/// No description provided for @tooltipMoveDown.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Move down'**
|
||||
String get tooltipMoveDown;
|
||||
|
||||
/// No description provided for @tooltipRemove.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Remove'**
|
||||
String get tooltipRemove;
|
||||
|
||||
/// No description provided for @daemonActionEnableAutostart.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'enable autostart'**
|
||||
String get daemonActionEnableAutostart;
|
||||
|
||||
/// No description provided for @daemonActionDisableAutostart.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'disable autostart'**
|
||||
String get daemonActionDisableAutostart;
|
||||
|
||||
/// No description provided for @daemonActionRestart.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'daemon restart'**
|
||||
String get daemonActionRestart;
|
||||
|
||||
/// No description provided for @daemonActionStart.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'daemon start'**
|
||||
String get daemonActionStart;
|
||||
|
||||
/// No description provided for @daemonActionStop.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'daemon stop'**
|
||||
String get daemonActionStop;
|
||||
|
||||
/// No description provided for @daemonActionStatus.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'daemon status'**
|
||||
String get daemonActionStatus;
|
||||
|
||||
/// No description provided for @daemonActionResultOk.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'OK · {label}'**
|
||||
String daemonActionResultOk(String label);
|
||||
|
||||
/// No description provided for @daemonActionResultFailed.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
/// **'Failed · {label}'**
|
||||
String daemonActionResultFailed(String label);
|
||||
|
||||
/// No description provided for @addSourceTitle.
|
||||
///
|
||||
/// In en, this message translates to:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue