diff --git a/lib/l10n/app_de.arb b/lib/l10n/app_de.arb index 10b9d8e..b910e7a 100644 --- a/lib/l10n/app_de.arb +++ b/lib/l10n/app_de.arb @@ -54,13 +54,13 @@ "errApprovalRejected": "Freigabe vom Reviewer abgelehnt.", "errApprovalRejectedHint": "Der Reviewer hat den Step abgelehnt. Begründung steht im Audit-Log.", "errApprovalTimedOut": "Freigabe-Timeout abgelaufen.", - "errApprovalTimedOutHint": "Es wurde nicht rechtzeitig entschieden. Entweder `timeout_seconds` am Freigabe-Step erhöhen oder den Reviewer informieren.", + "errApprovalTimedOutHint": "Es wurde nicht rechtzeitig entschieden. Entweder timeout_seconds am Freigabe-Step erhöhen oder den Reviewer informieren.", "errOutputTooLarge": "Step-Output hat die Größenbegrenzung überschritten.", - "errOutputTooLargeHint": "Entweder Output kürzen (Text truncaten, Bytes komprimieren) oder `max_output_size_mb` in der Operator-Config erhöhen.", + "errOutputTooLargeHint": "Entweder Output kürzen (Text truncaten, Bytes komprimieren) oder max_output_size_mb in der Operator-Config erhöhen.", "errServiceUnavailableForStep": "Host-Service nicht konfiguriert.", - "errServiceUnavailableForStepHint": "Das Modul braucht einen Service (z.B. ollama, playwright), den der Operator nicht deklariert hat. Tragen Sie ihn unter `services:` in ~/.chain/config.yaml ein.", + "errServiceUnavailableForStepHint": "Das Modul braucht einen Service (z.B. ollama, playwright), den der Operator nicht deklariert hat. Tragen Sie ihn unter services: in ~/.chain/config.yaml ein.", "errMissingValue": "Pflichtwert fehlt.", - "errMissingValueHint": "Der Step erwartet eine Eingabe, die nicht verdrahtet ist — entweder zur Laufzeit liefern oder den vorgelagerten `$ref` korrigieren.", + "errMissingValueHint": "Der Step erwartet eine Eingabe, die nicht verdrahtet ist — entweder zur Laufzeit liefern oder den vorgelagerten $ref korrigieren.", "errMcpUnreachable": "MCP-Endpunkt nicht erreichbar.", "errMcpUnreachableHint": "Der MCP-Server hat nicht geantwortet. Endpunkt in Einstellungen → Integrationen prüfen und sicherstellen, dass er läuft.", "errCapabilityNotInstalled": "Benötigte Capability nicht installiert.", @@ -216,7 +216,7 @@ "n8nAddTooltip": "n8n-Endpunkt hinzufügen", "n8nRemoveTooltip": "Endpunkt entfernen", "addMcpTitle": "MCP-Server hinzufügen", - "addMcpIntro": "Tools, die der Server via `tools/list` anbietet, erscheinen im Store als `mcp..`-Fähigkeiten.", + "addMcpIntro": "Tools, die der Server via tools/list anbietet, erscheinen im Store als mcp..-Fähigkeiten.", "addMcpSuggestionsLabel": "Vorschläge — zum Vorausfüllen klicken", "addMcpNameLabel": "Name (keine Punkte)", "addMcpNameHint": "filesystem", @@ -227,7 +227,7 @@ "addMcpNotesLabel": "Notizen (optional)", "addMcpAddButton": "Hinzufügen + Discovery", "addN8nTitle": "n8n-Endpunkt hinzufügen", - "addN8nIntro": "Aktive Workflows erscheinen im Store als `n8n..`-Fähigkeiten.", + "addN8nIntro": "Aktive Workflows erscheinen im Store als n8n..-Fähigkeiten.", "addN8nNameLabel": "Name (keine Punkte)", "addN8nNameHint": "ops", "addN8nBaseUrlLabel": "Basis-URL (ohne /api/v1)", @@ -668,7 +668,7 @@ "auditClearLogButton": "Log löschen", "modulesTitle": "Module", "modulesNoneTitle": "Noch keine Module", - "modulesNoneHint": "`chain install ` ausführen oder ~/.chain/modules/ prüfen.", + "modulesNoneHint": "chain install ausführen oder ~/.chain/modules/ prüfen.", "modulesReloadTooltip": "Aktualisieren", "modulesRecentActivity": "LETZTE AKTIVITÄT", "modulesRecentActivityHint": "letzte {n} install/uninstall-Ereignisse aus dem Audit-Log", @@ -683,7 +683,7 @@ "modulesActivityUninstalled": "deinstalliert", "modulesCapabilitiesLabel": "Fähigkeiten", "modulesUninstallTitle": "Modul deinstallieren?", - "modulesUninstallBody": "Entfernt {name} v{version} von diesem Hub. Flows, die es verwenden, schlagen beim nächsten Lauf fehl. Ein `module.uninstalled`-Audit-Event wird festgehalten.", + "modulesUninstallBody": "Entfernt {name} v{version} von diesem Hub. Flows, die es verwenden, schlagen beim nächsten Lauf fehl. Ein module.uninstalled-Audit-Event wird festgehalten.", "@modulesUninstallBody": { "placeholders": { "name": { @@ -728,7 +728,7 @@ "flowsTitle": "Flows", "flowsReloadTooltip": "Aktualisieren", "flowsNoneTitle": "Keine gespeicherten Flows", - "flowsNoneHint": "Flow speichern mit `chain admin flows save `, dann taucht er hier auf.", + "flowsNoneHint": "Flow speichern mit chain admin flows save , dann taucht er hier auf.", "flowsRunDialogTitle": "{name} ausführen", "@flowsRunDialogTitle": { "placeholders": { @@ -896,7 +896,7 @@ }, "storeAdvisoryVersionTooltip": "Föderierter Upstream-Dienst — Version ist Richtwert; der Upstream kann ohne Versionsanhebung Kompatibilität brechen.", "uninstallVersionPickerTitle": "Version zum Entfernen wählen", - "uninstallVersionPickerBody": "Mehrere Versionen von `{module}` sind parallel installiert. Wählen Sie genau die Version aus, die entfernt werden soll — die anderen bleiben bestehen.", + "uninstallVersionPickerBody": "Mehrere Versionen von {module} sind parallel installiert. Wählen Sie genau die Version aus, die entfernt werden soll — die anderen bleiben bestehen.", "@uninstallVersionPickerBody": { "placeholders": { "module": { @@ -906,7 +906,7 @@ }, "uninstallVersionPickerContinue": "Weiter", "defaultScopeHeader": "STANDARD-SCOPE", - "defaultScopeBlurb": "Geordnete Liste von Publisher-Segmenten, die der Hub konsultiert, wenn ein Flow eine Capability ohne explizites `/`-Präfix benennt. Erster Treffer gewinnt — die Segmente, die euer Team am häufigsten nutzt, gehören nach oben. Katalog-bekannte Publisher erscheinen als Chips; private Segmente lassen sich frei eintragen.", + "defaultScopeBlurb": "Geordnete Liste von Publisher-Segmenten, die der Hub konsultiert, wenn ein Flow eine Capability ohne explizites /-Präfix benennt. Erster Treffer gewinnt — die Segmente, die euer Team am häufigsten nutzt, gehören nach oben. Katalog-bekannte Publisher erscheinen als Chips; private Segmente lassen sich frei eintragen.", "defaultScopeAddLabel": "Publisher-Segment hinzufügen", "defaultScopeAddHint": "z.B. acme.team", "defaultScopeAddButton": "Hinzufügen", @@ -934,7 +934,7 @@ "welcomeChecklistNextTodayBody": "Für Fortgeschrittene: das Skript tools/today/propose.sh regelmäßig (Cron) laufen lassen — die Editorial-Karte im Store füllt sich dann mit kuratierten Stories.", "welcomeChecklistNextTodayButton": "Today-Doku öffnen", "welcomeChecklistNextModuleTitle": "Eigenes Modul bauen", - "welcomeChecklistNextModuleBody": "Für Entwickler: Mit `chain new module ` entsteht ein fertiges Modul-Gerüst (Rust+WASM). Das module-sdk übernimmt die technische Anbindung; Sie schreiben nur die eigentliche Logik.", + "welcomeChecklistNextModuleBody": "Für Entwickler: Mit chain new module entsteht ein fertiges Modul-Gerüst (Rust+WASM). Das module-sdk übernimmt die technische Anbindung; Sie schreiben nur die eigentliche Logik.", "welcomeChecklistNextModuleButton": "Doku lesen", "auditGroupToday": "HEUTE", "auditGroupYesterday": "GESTERN", @@ -1033,15 +1033,15 @@ "errNotFoundHint": "Das Angefragte ist nicht hier — entweder entfernt oder nie existiert.", "errAlreadyExists": "Existiert bereits.", "errPermissionDenied": "Berechtigung verweigert.", - "errPermissionDeniedHint": "Die Operator-Policy des Hubs blockiert diese Aktion. `~/.chain/config.yaml` prüfen.", + "errPermissionDeniedHint": "Die Operator-Policy des Hubs blockiert diese Aktion. ~/.chain/config.yaml prüfen.", "errFailedPrecondition": "Setup-Problem hat das blockiert.", "errFailedPreconditionHint": "Der Hub konnte nicht weiter, weil etwas Vorausgesetztes fehlt. Details unten erklären was.", "errInternal": "Unerwarteter interner Fehler.", - "errInternalHint": "Hub-Logs unter `~/.chain/logs/` prüfen. Wenn das öfter passiert, bitte melden.", + "errInternalHint": "Hub-Logs unter ~/.chain/logs/ prüfen. Wenn das öfter passiert, bitte melden.", "errUnavailable": "Hub nicht erreichbar.", - "errUnavailableHint": "Sicherstellen, dass `chain serve` (oder `chain daemon start`) läuft und der Daemon-Endpunkt zu Studios Einstellungen passt.", + "errUnavailableHint": "Sicherstellen, dass chain serve (oder chain daemon start) läuft und der Daemon-Endpunkt zu Studios Einstellungen passt.", "errUnauthenticated": "Authentifizierung erforderlich.", - "errUnauthenticatedHint": "`CHAIN_REGISTRY_TOKEN` setzen oder in den Einstellungen anmelden, dann erneut versuchen.", + "errUnauthenticatedHint": "CHAIN_REGISTRY_TOKEN setzen oder in den Einstellungen anmelden, dann erneut versuchen.", "errCopyDetail": "Detail kopieren", "errDetailCopied": "Detail in die Zwischenablage kopiert.", "flowsOutputUnknown": "Unbekannter Output-Payload-Typ.", @@ -1264,7 +1264,7 @@ "doctorStatusUnknown": "Daemon-Status: …", "doctorPillRunning": "läuft", "doctorPillStopped": "gestoppt", - "doctorDaemonControlHint": "Studio ruft das Platform-Binary auf — entspricht `chain daemon …`, sodass CLI und UI im Gleichschritt bleiben.", + "doctorDaemonControlHint": "Studio ruft das Platform-Binary auf — entspricht chain daemon …, sodass CLI und UI im Gleichschritt bleiben.", "doctorDaemonControlWorking": "Wird ausgeführt…", "doctorPathLog": "Log", "doctorPathConfig": "Konfig", @@ -1272,7 +1272,7 @@ "doctorPathModules": "Module-Verzeichnis", "doctorPathFlows": "Flow-Verzeichnis", "doctorPathPid": "PID-Datei", - "doctorPathsEmpty": "Daemon hat keine Datei-Pfade gemeldet. Hub aktualisieren via `chain daemon restart`.", + "doctorPathsEmpty": "Daemon hat keine Datei-Pfade gemeldet. Hub aktualisieren via chain daemon restart.", "doctorOpenError": "Konnte nicht öffnen: {detail}", "@doctorOpenError": { "placeholders": { @@ -1289,7 +1289,7 @@ } } }, - "doctorUpdateBody": "Kanal {channel} bietet jetzt {version}. Per Button anwenden — Studio ruft `chain update apply --channel {channel}` auf.", + "doctorUpdateBody": "Kanal {channel} bietet jetzt {version}. Per Button anwenden — Studio ruft chain update apply --channel {channel} auf.", "@doctorUpdateBody": { "placeholders": { "channel": { @@ -1323,13 +1323,13 @@ "doctorApplying": "Wird angewendet…", "doctorApplyDone": "Update angewendet. Studio neu starten, um die neue Daemon-Version zu sehen.", "mcpHeader": "MCP-CLIENTS", - "mcpHint": "Externe MCP-Server bringen ihre Tools als `mcp..` Fähigkeiten ein. Einmal konfigurieren, im Store sichtbar.", + "mcpHint": "Externe MCP-Server bringen ihre Tools als mcp.. Fähigkeiten ein. Einmal konfigurieren, im Store sichtbar.", "mcpEmpty": "Keine MCP-Server konfiguriert. + klicken zum Hinzufügen.", "n8nHeader": "N8N-ENDPUNKTE", - "n8nHint": "Aktive n8n-Workflows erscheinen als `n8n..` Fähigkeiten. Einmal konfigurieren, im Store sichtbar.", + "n8nHint": "Aktive n8n-Workflows erscheinen als n8n.. Fähigkeiten. Einmal konfigurieren, im Store sichtbar.", "n8nEmpty": "Keine n8n-Endpunkte konfiguriert. + klicken zum Hinzufügen.", "hubUnreachable": "Hub nicht erreichbar", - "hubUnreachableHint": "Hub starten mit `chain serve`.", + "hubUnreachableHint": "Hub starten mit chain serve.", "languageEnglish": "English", "languageGerman": "Deutsch", "searchHint": "Springe überall hin — Module, Store, Flows, Seiten…", @@ -1384,7 +1384,7 @@ "systemAiEndpointLabel": "Endpunkt-URL (bis /v1)", "systemAiApiKeyRequired": "API-Key-Umgebungsvariable (erforderlich)", "systemAiApiKeyOptional": "API-Key-Umgebungsvariable (optional)", - "systemAiApiKeyDisclaimer": "Studio liest oder speichert den Key-Wert nie — nur den Namen der Umgebungsvariable. Der Hub liest `${name}` zur Anfragezeit.", + "systemAiApiKeyDisclaimer": "Studio liest oder speichert den Key-Wert nie — nur den Namen der Umgebungsvariable. Der Hub liest ${name} zur Anfragezeit.", "@systemAiApiKeyDisclaimer": { "placeholders": { "name": { @@ -1623,7 +1623,7 @@ } }, "addSourceTitle": "Modul-Quelle hinzufügen", - "addSourceIntro": "`{capability}` ist nicht im öffentlichen Store. Zeig dem Hub eine `.chain`-Bundle-URL oder einen lokalen Bundle-Pfad — der Hub lädt es herunter, prüft (sha256 + Signatur) und installiert.", + "addSourceIntro": "{capability} ist nicht im öffentlichen Store. Geben Sie dem Hub eine .chain-Bundle-URL oder einen lokalen Bundle-Pfad — der Hub lädt es herunter, prüft (sha256 + Signatur) und installiert.", "@addSourceIntro": { "placeholders": { "capability": {"type": "String"} @@ -1632,7 +1632,7 @@ "addSourceField": "URL oder Pfad zum .chain-Bundle", "addSourceHint": "https://git.flemming.ai/ihre-org/ihr-modul/releases/download/v0.1.0/foo-0.1.0.chain", "addSourceHowItWorksTitle": "Wie private Module funktionieren", - "addSourceHowItWorksBody": "Ein Modul ist ein Verzeichnis mit module.yaml + WASM-Artefakt. Zum Teilen: `chain pack ` baut ein `.chain`-Bundle, das Sie beliebig hosten können (eigene Forgejo / GitHub / S3). Der Hub installiert per URL und prüft die Signatur gegen seinen Trust-Store.\n\nLokal entwickeln? Nimm das CLI — Studio installiert (noch) nicht aus einem unverpackten Verzeichnis:", + "addSourceHowItWorksBody": "Ein Modul ist ein Verzeichnis mit module.yaml + WASM-Artefakt. Zum Teilen: chain pack baut ein .chain-Bundle, das Sie beliebig hosten können (eigene Forgejo / GitHub / S3). Der Hub installiert per URL und prüft die Signatur gegen seinen Trust-Store.\n\nLokal entwickeln? Nehmen Sie das CLI — Studio installiert (noch) nicht aus einem unverpackten Verzeichnis:", "addSourceCliExample": "chain install --link /pfad/zum/modul", "addSourceInstallButton": "Installieren", "addSourceCancel": "Abbrechen", @@ -1660,12 +1660,12 @@ "detail": {"type": "String"} } }, - "chainBinaryNotFound": "Das Programm `chain` wurde auf diesem Rechner nicht gefunden.", - "chainBinaryNotFoundHint": "Installieren Sie die Ch∆In-Plattform oder verweisen Sie Studio auf eine vorhandene `chain`-Datei.", - "chainBinaryLocateButton": "`chain`-Programm suchen …", + "chainBinaryNotFound": "Das Programm chain wurde auf diesem Rechner nicht gefunden.", + "chainBinaryNotFoundHint": "Installieren Sie die Ch∆In-Plattform oder verweisen Sie Studio auf eine vorhandene chain-Datei.", + "chainBinaryLocateButton": "chain-Programm suchen …", "chainBinaryInstallDocsButton": "Installationsanleitung öffnen", - "chainBinaryPickerTitle": "`chain`-Programm auswählen", - "chainBinarySetOk": "Verwende `chain` unter {path}", + "chainBinaryPickerTitle": "chain-Programm auswählen", + "chainBinarySetOk": "Verwende chain unter {path}", "@chainBinarySetOk": { "placeholders": { "path": {"type": "String"} @@ -1695,7 +1695,7 @@ "detail": {"type": "String"} } }, - "providerDescOllama": "Lokales `ollama serve`. Die Modelle bleiben auf Ihrem Rechner. Kein API-Schlüssel nötig.", + "providerDescOllama": "Lokales ollama serve. Die Modelle bleiben auf Ihrem Rechner. Kein API-Schlüssel nötig.", "providerDescOpenai": "Gehostete OpenAI-API. Erfordert einen API-Schlüssel. Daten verlassen Ihren Rechner.", "providerDescLmstudio": "Lokaler LM-Studio-Server. Die Modelle bleiben auf Ihrem Rechner. Kein API-Schlüssel nötig.", "providerDescVllm": "Selbst gehostetes vLLM oder ein anderer OpenAI-kompatibler Server. Endpunkt erforderlich.", diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index 094fb77..a3ae888 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -62,13 +62,13 @@ "errApprovalRejected": "Approval rejected by reviewer.", "errApprovalRejectedHint": "The reviewer marked this step as rejected. Check the audit log for the reviewer's reason.", "errApprovalTimedOut": "Approval timed out.", - "errApprovalTimedOutHint": "No reviewer decided within the configured time. Raise `timeout_seconds` on the approval step or alert the reviewer.", + "errApprovalTimedOutHint": "No reviewer decided within the configured time. Raise timeout_seconds on the approval step or alert the reviewer.", "errOutputTooLarge": "Step output exceeded the size limit.", - "errOutputTooLargeHint": "Either trim the output (truncate text, downsample bytes) or raise `max_output_size_mb` in the operator config.", + "errOutputTooLargeHint": "Either trim the output (truncate text, downsample bytes) or raise max_output_size_mb in the operator config.", "errServiceUnavailableForStep": "Host service not configured.", - "errServiceUnavailableForStepHint": "The module requires a service (e.g. ollama, playwright) the operator hasn't declared. Add it under `services:` in ~/.chain/config.yaml.", + "errServiceUnavailableForStepHint": "The module requires a service (e.g. ollama, playwright) the operator hasn't declared. Add it under services: in ~/.chain/config.yaml.", "errMissingValue": "Required value is missing.", - "errMissingValueHint": "The step expected an input that wasn't wired up — either supply it at run time or fix the upstream `$ref`.", + "errMissingValueHint": "The step expected an input that wasn't wired up — either supply it at run time or fix the upstream $ref.", "errMcpUnreachable": "MCP endpoint unreachable.", "errMcpUnreachableHint": "The MCP server didn't respond. Check the endpoint in Settings → Integrations and confirm it's running.", "errCapabilityNotInstalled": "Required capability is not installed.", @@ -224,7 +224,7 @@ "n8nAddTooltip": "Add n8n endpoint", "n8nRemoveTooltip": "Remove endpoint", "addMcpTitle": "Add MCP server", - "addMcpIntro": "Tools the server advertises via `tools/list` appear in the Store as `mcp..` capabilities.", + "addMcpIntro": "Tools the server advertises via tools/list appear in the Store as mcp.. capabilities.", "addMcpSuggestionsLabel": "Suggested servers — click to pre-fill", "addMcpNameLabel": "Name (no dots)", "addMcpNameHint": "filesystem", @@ -235,7 +235,7 @@ "addMcpNotesLabel": "Notes (optional)", "addMcpAddButton": "Add + discover", "addN8nTitle": "Add n8n endpoint", - "addN8nIntro": "Active workflows surface in the Store as `n8n..` capabilities.", + "addN8nIntro": "Active workflows surface in the Store as n8n.. capabilities.", "addN8nNameLabel": "Name (no dots)", "addN8nNameHint": "ops", "addN8nBaseUrlLabel": "Base URL (without /api/v1)", @@ -686,7 +686,7 @@ "auditClearLogButton": "Clear log", "modulesTitle": "Modules", "modulesNoneTitle": "No modules yet", - "modulesNoneHint": "Run `chain install ` or check ~/.chain/modules/.", + "modulesNoneHint": "Run chain install or check ~/.chain/modules/.", "modulesReloadTooltip": "Reload", "modulesRecentActivity": "RECENT ACTIVITY", "modulesRecentActivityHint": "last {n} install/uninstall events from the audit log", @@ -701,7 +701,7 @@ "modulesActivityUninstalled": "uninstalled", "modulesCapabilitiesLabel": "Capabilities", "modulesUninstallTitle": "Uninstall module?", - "modulesUninstallBody": "Removes {name} v{version} from this hub. Flows that reference it will fail at the next run. A `module.uninstalled` audit event is recorded.", + "modulesUninstallBody": "Removes {name} v{version} from this hub. Flows that reference it will fail at the next run. A module.uninstalled audit event is recorded.", "@modulesUninstallBody": { "placeholders": { "name": { @@ -746,7 +746,7 @@ "flowsTitle": "Flows", "flowsReloadTooltip": "Reload", "flowsNoneTitle": "No saved flows", - "flowsNoneHint": "Save a flow with `chain admin flows save ` and it shows up here.", + "flowsNoneHint": "Save a flow with chain admin flows save and it shows up here.", "flowsRunDialogTitle": "Run {name}", "@flowsRunDialogTitle": { "placeholders": { @@ -914,7 +914,7 @@ }, "storeAdvisoryVersionTooltip": "Federated upstream service — version is advisory; the upstream may break compatibility without bumping it.", "uninstallVersionPickerTitle": "Pick a version to uninstall", - "uninstallVersionPickerBody": "Several versions of `{module}` are installed side-by-side. Select the exact version to remove — the others stay in place.", + "uninstallVersionPickerBody": "Several versions of {module} are installed side-by-side. Select the exact version to remove — the others stay in place.", "@uninstallVersionPickerBody": { "placeholders": { "module": { @@ -924,7 +924,7 @@ }, "uninstallVersionPickerContinue": "Continue", "defaultScopeHeader": "DEFAULT SCOPE", - "defaultScopeBlurb": "Ordered list of publisher segments the hub consults when a flow names a capability without an explicit `/` prefix. First match wins — promote the segments your team uses most to the top. Catalog-known publishers appear as chips; arbitrary entries are accepted for private segments.", + "defaultScopeBlurb": "Ordered list of publisher segments the hub consults when a flow names a capability without an explicit / prefix. First match wins — promote the segments your team uses most to the top. Catalog-known publishers appear as chips; arbitrary entries are accepted for private segments.", "defaultScopeAddLabel": "Add publisher segment", "defaultScopeAddHint": "e.g. acme.team", "defaultScopeAddButton": "Add", @@ -952,7 +952,7 @@ "welcomeChecklistNextTodayBody": "Run tools/today/propose.sh on a cron and the editorial card on the store auto-fills with operator-curated narratives.", "welcomeChecklistNextTodayButton": "Open Today docs", "welcomeChecklistNextModuleTitle": "Build your own module", - "welcomeChecklistNextModuleBody": "Generate a Rust+WASM scaffold with `chain new module `. The module-sdk handles the WIT plumbing; you write a typed invoke.", + "welcomeChecklistNextModuleBody": "Generate a Rust+WASM scaffold with chain new module . The module-sdk handles the WIT plumbing; you write a typed invoke.", "welcomeChecklistNextModuleButton": "Read the docs", "auditGroupToday": "TODAY", "auditGroupYesterday": "YESTERDAY", @@ -1051,15 +1051,15 @@ "errNotFoundHint": "The item you asked for isn't here — it may have been removed or never existed.", "errAlreadyExists": "Already exists.", "errPermissionDenied": "Permission denied.", - "errPermissionDeniedHint": "The hub's operator policy blocks this action. Check `~/.chain/config.yaml`.", + "errPermissionDeniedHint": "The hub's operator policy blocks this action. Check ~/.chain/config.yaml.", "errFailedPrecondition": "Setup issue blocked this.", "errFailedPreconditionHint": "The hub couldn't proceed because something it needs isn't ready. The detail below explains what.", "errInternal": "Unexpected internal error.", - "errInternalHint": "Check the hub logs at `~/.chain/logs/`. If this repeats, please report it.", + "errInternalHint": "Check the hub logs at ~/.chain/logs/. If this repeats, please report it.", "errUnavailable": "Hub not reachable.", - "errUnavailableHint": "Make sure `chain serve` (or `chain daemon start`) is running and the daemon endpoint matches Studio's settings.", + "errUnavailableHint": "Make sure chain serve (or chain daemon start) is running and the daemon endpoint matches Studio's settings.", "errUnauthenticated": "Authentication required.", - "errUnauthenticatedHint": "Set `CHAIN_REGISTRY_TOKEN` or sign in through Settings before retrying.", + "errUnauthenticatedHint": "Set CHAIN_REGISTRY_TOKEN or sign in through Settings before retrying.", "errCopyDetail": "Copy detail", "errDetailCopied": "Detail copied to clipboard.", "flowsOutputUnknown": "Output payload variant not recognised.", @@ -1288,7 +1288,7 @@ "doctorStatusUnknown": "Daemon status: …", "doctorPillRunning": "running", "doctorPillStopped": "stopped", - "doctorDaemonControlHint": "Studio shells out to the platform binary — mirrors `chain daemon …` exactly so the CLI and UI stay in lockstep.", + "doctorDaemonControlHint": "Studio shells out to the platform binary — mirrors chain daemon … exactly so the CLI and UI stay in lockstep.", "doctorDaemonControlWorking": "Working…", "doctorPathLog": "Log", "doctorPathConfig": "Config", @@ -1296,7 +1296,7 @@ "doctorPathModules": "Modules dir", "doctorPathFlows": "Flows dir", "doctorPathPid": "PID file", - "doctorPathsEmpty": "Daemon did not report file paths. Update the running hub via `chain daemon restart`.", + "doctorPathsEmpty": "Daemon did not report file paths. Update the running hub via chain daemon restart.", "doctorOpenError": "Could not open: {detail}", "@doctorOpenError": { "placeholders": { @@ -1313,7 +1313,7 @@ } } }, - "doctorUpdateBody": "Channel {channel} now offers {version}. Apply via the button — Studio shells out to `chain update apply --channel {channel}`.", + "doctorUpdateBody": "Channel {channel} now offers {version}. Apply via the button — Studio shells out to chain update apply --channel {channel}.", "@doctorUpdateBody": { "placeholders": { "channel": { @@ -1347,13 +1347,13 @@ "doctorApplying": "Applying…", "doctorApplyDone": "Update applied. Restart Studio to see the new daemon version.", "mcpHeader": "MCP CLIENTS", - "mcpHint": "External MCP servers federate their tools as `mcp..` capabilities. Configure once, see them in the Store.", + "mcpHint": "External MCP servers federate their tools as mcp.. capabilities. Configure once, see them in the Store.", "mcpEmpty": "No MCP servers configured. Click + to add one.", "n8nHeader": "N8N ENDPOINTS", - "n8nHint": "Active n8n workflows surface as `n8n..` capabilities. Configure once, see them in the Store.", + "n8nHint": "Active n8n workflows surface as n8n.. capabilities. Configure once, see them in the Store.", "n8nEmpty": "No n8n endpoints configured. Click + to add one.", "hubUnreachable": "Hub unreachable", - "hubUnreachableHint": "Start the hub with `chain serve`.", + "hubUnreachableHint": "Start the hub with chain serve.", "languageEnglish": "English", "languageGerman": "Deutsch", "searchHint": "Jump anywhere — modules, store, flows, pages…", @@ -1408,7 +1408,7 @@ "systemAiEndpointLabel": "Endpoint URL (up to /v1)", "systemAiApiKeyRequired": "API key env var (required)", "systemAiApiKeyOptional": "API key env var (optional)", - "systemAiApiKeyDisclaimer": "Studio never reads or stores the key value — only its env-var name. The hub reads `${name}` at request time.", + "systemAiApiKeyDisclaimer": "Studio never reads or stores the key value — only its env-var name. The hub reads ${name} at request time.", "@systemAiApiKeyDisclaimer": { "placeholders": { "name": { @@ -1647,7 +1647,7 @@ } }, "addSourceTitle": "Add module source", - "addSourceIntro": "`{capability}` is not in the public store. Point the hub at a `.chain` bundle URL or a local bundle path; the hub downloads, verifies (sha256 + signature) and installs it.", + "addSourceIntro": "{capability} is not in the public store. Point the hub at a .chain bundle URL or a local bundle path; the hub downloads, verifies (sha256 + signature) and installs it.", "@addSourceIntro": { "placeholders": { "capability": {"type": "String"} @@ -1656,7 +1656,7 @@ "addSourceField": "URL or path to .chain bundle", "addSourceHint": "https://git.flemming.ai/your-org/your-module/releases/download/v0.1.0/foo-0.1.0.chain", "addSourceHowItWorksTitle": "How private modules work", - "addSourceHowItWorksBody": "A module is a directory with a module.yaml + the WASM artifact. To share it: pack it (`chain pack `) and host the resulting `.chain` bundle anywhere (your own Forgejo / GitHub / S3). The hub installs by URL and verifies the signature against its trust store.\n\nDeveloping locally? Use the CLI — Studio cannot install from an unpacked directory (yet):", + "addSourceHowItWorksBody": "A module is a directory with a module.yaml + the WASM artifact. To share it: pack it (chain pack ) and host the resulting .chain bundle anywhere (your own Forgejo / GitHub / S3). The hub installs by URL and verifies the signature against its trust store.\n\nDeveloping locally? Use the CLI — Studio cannot install from an unpacked directory (yet):", "addSourceCliExample": "chain install --link /path/to/module", "addSourceInstallButton": "Install", "addSourceCancel": "Cancel", @@ -1684,12 +1684,12 @@ "detail": {"type": "String"} } }, - "chainBinaryNotFound": "Could not find the `chain` program on this machine.", - "chainBinaryNotFoundHint": "Install the Ch∆In platform, or point Studio at an existing `chain` binary.", - "chainBinaryLocateButton": "Locate `chain` binary…", + "chainBinaryNotFound": "Could not find the chain program on this machine.", + "chainBinaryNotFoundHint": "Install the Ch∆In platform, or point Studio at an existing chain binary.", + "chainBinaryLocateButton": "Locate chain binary…", "chainBinaryInstallDocsButton": "Open install guide", - "chainBinaryPickerTitle": "Select the `chain` binary", - "chainBinarySetOk": "Using `chain` binary at {path}", + "chainBinaryPickerTitle": "Select the chain binary", + "chainBinarySetOk": "Using chain binary at {path}", "@chainBinarySetOk": { "placeholders": { "path": {"type": "String"} @@ -1719,7 +1719,7 @@ "detail": {"type": "String"} } }, - "providerDescOllama": "Local `ollama serve`. Models stay on your machine. No API key needed.", + "providerDescOllama": "Local ollama serve. Models stay on your machine. No API key needed.", "providerDescOpenai": "OpenAI hosted API. Requires an API key. Data leaves your machine.", "providerDescLmstudio": "Local LM Studio server. Models stay on your machine. No API key needed.", "providerDescVllm": "Self-hosted vLLM or any other OpenAI-compatible server. Endpoint required.", diff --git a/lib/l10n/app_localizations.dart b/lib/l10n/app_localizations.dart index e3779dc..58e9408 100644 --- a/lib/l10n/app_localizations.dart +++ b/lib/l10n/app_localizations.dart @@ -425,7 +425,7 @@ abstract class AppLocalizations { /// No description provided for @errApprovalTimedOutHint. /// /// In en, this message translates to: - /// **'No reviewer decided within the configured time. Raise `timeout_seconds` on the approval step or alert the reviewer.'** + /// **'No reviewer decided within the configured time. Raise timeout_seconds on the approval step or alert the reviewer.'** String get errApprovalTimedOutHint; /// No description provided for @errOutputTooLarge. @@ -437,7 +437,7 @@ abstract class AppLocalizations { /// No description provided for @errOutputTooLargeHint. /// /// In en, this message translates to: - /// **'Either trim the output (truncate text, downsample bytes) or raise `max_output_size_mb` in the operator config.'** + /// **'Either trim the output (truncate text, downsample bytes) or raise max_output_size_mb in the operator config.'** String get errOutputTooLargeHint; /// No description provided for @errServiceUnavailableForStep. @@ -449,7 +449,7 @@ abstract class AppLocalizations { /// No description provided for @errServiceUnavailableForStepHint. /// /// In en, this message translates to: - /// **'The module requires a service (e.g. ollama, playwright) the operator hasn\'t declared. Add it under `services:` in ~/.chain/config.yaml.'** + /// **'The module requires a service (e.g. ollama, playwright) the operator hasn\'t declared. Add it under services: in ~/.chain/config.yaml.'** String get errServiceUnavailableForStepHint; /// No description provided for @errMissingValue. @@ -461,7 +461,7 @@ abstract class AppLocalizations { /// No description provided for @errMissingValueHint. /// /// In en, this message translates to: - /// **'The step expected an input that wasn\'t wired up — either supply it at run time or fix the upstream `\$ref`.'** + /// **'The step expected an input that wasn\'t wired up — either supply it at run time or fix the upstream \$ref.'** String get errMissingValueHint; /// No description provided for @errMcpUnreachable. @@ -1115,7 +1115,7 @@ abstract class AppLocalizations { /// No description provided for @addMcpIntro. /// /// In en, this message translates to: - /// **'Tools the server advertises via `tools/list` appear in the Store as `mcp..` capabilities.'** + /// **'Tools the server advertises via tools/list appear in the Store as mcp.. capabilities.'** String get addMcpIntro; /// No description provided for @addMcpSuggestionsLabel. @@ -1181,7 +1181,7 @@ abstract class AppLocalizations { /// No description provided for @addN8nIntro. /// /// In en, this message translates to: - /// **'Active workflows surface in the Store as `n8n..` capabilities.'** + /// **'Active workflows surface in the Store as n8n.. capabilities.'** String get addN8nIntro; /// No description provided for @addN8nNameLabel. @@ -2351,7 +2351,7 @@ abstract class AppLocalizations { /// No description provided for @modulesNoneHint. /// /// In en, this message translates to: - /// **'Run `chain install ` or check ~/.chain/modules/.'** + /// **'Run chain install or check ~/.chain/modules/.'** String get modulesNoneHint; /// No description provided for @modulesReloadTooltip. @@ -2399,7 +2399,7 @@ abstract class AppLocalizations { /// No description provided for @modulesUninstallBody. /// /// In en, this message translates to: - /// **'Removes {name} v{version} from this hub. Flows that reference it will fail at the next run. A `module.uninstalled` audit event is recorded.'** + /// **'Removes {name} v{version} from this hub. Flows that reference it will fail at the next run. A module.uninstalled audit event is recorded.'** String modulesUninstallBody(String name, String version); /// No description provided for @modulesUninstalledToast. @@ -2465,7 +2465,7 @@ abstract class AppLocalizations { /// No description provided for @flowsNoneHint. /// /// In en, this message translates to: - /// **'Save a flow with `chain admin flows save ` and it shows up here.'** + /// **'Save a flow with chain admin flows save and it shows up here.'** String get flowsNoneHint; /// No description provided for @flowsRunDialogTitle. @@ -2909,7 +2909,7 @@ abstract class AppLocalizations { /// No description provided for @uninstallVersionPickerBody. /// /// In en, this message translates to: - /// **'Several versions of `{module}` are installed side-by-side. Select the exact version to remove — the others stay in place.'** + /// **'Several versions of {module} are installed side-by-side. Select the exact version to remove — the others stay in place.'** String uninstallVersionPickerBody(String module); /// No description provided for @uninstallVersionPickerContinue. @@ -2927,7 +2927,7 @@ abstract class AppLocalizations { /// No description provided for @defaultScopeBlurb. /// /// In en, this message translates to: - /// **'Ordered list of publisher segments the hub consults when a flow names a capability without an explicit `/` prefix. First match wins — promote the segments your team uses most to the top. Catalog-known publishers appear as chips; arbitrary entries are accepted for private segments.'** + /// **'Ordered list of publisher segments the hub consults when a flow names a capability without an explicit / prefix. First match wins — promote the segments your team uses most to the top. Catalog-known publishers appear as chips; arbitrary entries are accepted for private segments.'** String get defaultScopeBlurb; /// No description provided for @defaultScopeAddLabel. @@ -3095,7 +3095,7 @@ abstract class AppLocalizations { /// No description provided for @welcomeChecklistNextModuleBody. /// /// In en, this message translates to: - /// **'Generate a Rust+WASM scaffold with `chain new module `. The module-sdk handles the WIT plumbing; you write a typed invoke.'** + /// **'Generate a Rust+WASM scaffold with chain new module . The module-sdk handles the WIT plumbing; you write a typed invoke.'** String get welcomeChecklistNextModuleBody; /// No description provided for @welcomeChecklistNextModuleButton. @@ -3275,7 +3275,7 @@ abstract class AppLocalizations { /// No description provided for @errPermissionDeniedHint. /// /// In en, this message translates to: - /// **'The hub\'s operator policy blocks this action. Check `~/.chain/config.yaml`.'** + /// **'The hub\'s operator policy blocks this action. Check ~/.chain/config.yaml.'** String get errPermissionDeniedHint; /// No description provided for @errFailedPrecondition. @@ -3299,7 +3299,7 @@ abstract class AppLocalizations { /// No description provided for @errInternalHint. /// /// In en, this message translates to: - /// **'Check the hub logs at `~/.chain/logs/`. If this repeats, please report it.'** + /// **'Check the hub logs at ~/.chain/logs/. If this repeats, please report it.'** String get errInternalHint; /// No description provided for @errUnavailable. @@ -3311,7 +3311,7 @@ abstract class AppLocalizations { /// No description provided for @errUnavailableHint. /// /// In en, this message translates to: - /// **'Make sure `chain serve` (or `chain daemon start`) is running and the daemon endpoint matches Studio\'s settings.'** + /// **'Make sure chain serve (or chain daemon start) is running and the daemon endpoint matches Studio\'s settings.'** String get errUnavailableHint; /// No description provided for @errUnauthenticated. @@ -3323,7 +3323,7 @@ abstract class AppLocalizations { /// No description provided for @errUnauthenticatedHint. /// /// In en, this message translates to: - /// **'Set `CHAIN_REGISTRY_TOKEN` or sign in through Settings before retrying.'** + /// **'Set CHAIN_REGISTRY_TOKEN or sign in through Settings before retrying.'** String get errUnauthenticatedHint; /// No description provided for @errCopyDetail. @@ -3821,7 +3821,7 @@ abstract class AppLocalizations { /// No description provided for @doctorDaemonControlHint. /// /// In en, this message translates to: - /// **'Studio shells out to the platform binary — mirrors `chain daemon …` exactly so the CLI and UI stay in lockstep.'** + /// **'Studio shells out to the platform binary — mirrors chain daemon … exactly so the CLI and UI stay in lockstep.'** String get doctorDaemonControlHint; /// No description provided for @doctorDaemonControlWorking. @@ -3869,7 +3869,7 @@ abstract class AppLocalizations { /// No description provided for @doctorPathsEmpty. /// /// In en, this message translates to: - /// **'Daemon did not report file paths. Update the running hub via `chain daemon restart`.'** + /// **'Daemon did not report file paths. Update the running hub via chain daemon restart.'** String get doctorPathsEmpty; /// No description provided for @doctorOpenError. @@ -3887,7 +3887,7 @@ abstract class AppLocalizations { /// No description provided for @doctorUpdateBody. /// /// In en, this message translates to: - /// **'Channel {channel} now offers {version}. Apply via the button — Studio shells out to `chain update apply --channel {channel}`.'** + /// **'Channel {channel} now offers {version}. Apply via the button — Studio shells out to chain update apply --channel {channel}.'** String doctorUpdateBody(String channel, String version); /// No description provided for @doctorUpdateUnreachable. @@ -3947,7 +3947,7 @@ abstract class AppLocalizations { /// No description provided for @mcpHint. /// /// In en, this message translates to: - /// **'External MCP servers federate their tools as `mcp..` capabilities. Configure once, see them in the Store.'** + /// **'External MCP servers federate their tools as mcp.. capabilities. Configure once, see them in the Store.'** String get mcpHint; /// No description provided for @mcpEmpty. @@ -3965,7 +3965,7 @@ abstract class AppLocalizations { /// No description provided for @n8nHint. /// /// In en, this message translates to: - /// **'Active n8n workflows surface as `n8n..` capabilities. Configure once, see them in the Store.'** + /// **'Active n8n workflows surface as n8n.. capabilities. Configure once, see them in the Store.'** String get n8nHint; /// No description provided for @n8nEmpty. @@ -3983,7 +3983,7 @@ abstract class AppLocalizations { /// No description provided for @hubUnreachableHint. /// /// In en, this message translates to: - /// **'Start the hub with `chain serve`.'** + /// **'Start the hub with chain serve.'** String get hubUnreachableHint; /// No description provided for @languageEnglish. @@ -4145,7 +4145,7 @@ abstract class AppLocalizations { /// No description provided for @systemAiApiKeyDisclaimer. /// /// In en, this message translates to: - /// **'Studio never reads or stores the key value — only its env-var name. The hub reads `\${name}` at request time.'** + /// **'Studio never reads or stores the key value — only its env-var name. The hub reads \${name} at request time.'** String systemAiApiKeyDisclaimer(String name); /// No description provided for @systemAiTestConnection. @@ -4919,7 +4919,7 @@ abstract class AppLocalizations { /// No description provided for @addSourceIntro. /// /// In en, this message translates to: - /// **'`{capability}` is not in the public store. Point the hub at a `.chain` bundle URL or a local bundle path; the hub downloads, verifies (sha256 + signature) and installs it.'** + /// **'{capability} is not in the public store. Point the hub at a .chain bundle URL or a local bundle path; the hub downloads, verifies (sha256 + signature) and installs it.'** String addSourceIntro(String capability); /// No description provided for @addSourceField. @@ -4943,7 +4943,7 @@ abstract class AppLocalizations { /// No description provided for @addSourceHowItWorksBody. /// /// In en, this message translates to: - /// **'A module is a directory with a module.yaml + the WASM artifact. To share it: pack it (`chain pack `) and host the resulting `.chain` bundle anywhere (your own Forgejo / GitHub / S3). The hub installs by URL and verifies the signature against its trust store.\n\nDeveloping locally? Use the CLI — Studio cannot install from an unpacked directory (yet):'** + /// **'A module is a directory with a module.yaml + the WASM artifact. To share it: pack it (chain pack ) and host the resulting .chain bundle anywhere (your own Forgejo / GitHub / S3). The hub installs by URL and verifies the signature against its trust store.\n\nDeveloping locally? Use the CLI — Studio cannot install from an unpacked directory (yet):'** String get addSourceHowItWorksBody; /// No description provided for @addSourceCliExample. @@ -5021,19 +5021,19 @@ abstract class AppLocalizations { /// No description provided for @chainBinaryNotFound. /// /// In en, this message translates to: - /// **'Could not find the `chain` program on this machine.'** + /// **'Could not find the chain program on this machine.'** String get chainBinaryNotFound; /// No description provided for @chainBinaryNotFoundHint. /// /// In en, this message translates to: - /// **'Install the Ch∆In platform, or point Studio at an existing `chain` binary.'** + /// **'Install the Ch∆In platform, or point Studio at an existing chain binary.'** String get chainBinaryNotFoundHint; /// No description provided for @chainBinaryLocateButton. /// /// In en, this message translates to: - /// **'Locate `chain` binary…'** + /// **'Locate chain binary…'** String get chainBinaryLocateButton; /// No description provided for @chainBinaryInstallDocsButton. @@ -5045,13 +5045,13 @@ abstract class AppLocalizations { /// No description provided for @chainBinaryPickerTitle. /// /// In en, this message translates to: - /// **'Select the `chain` binary'** + /// **'Select the chain binary'** String get chainBinaryPickerTitle; /// No description provided for @chainBinarySetOk. /// /// In en, this message translates to: - /// **'Using `chain` binary at {path}'** + /// **'Using chain binary at {path}'** String chainBinarySetOk(String path); /// No description provided for @sysAiFixParse. @@ -5111,7 +5111,7 @@ abstract class AppLocalizations { /// No description provided for @providerDescOllama. /// /// In en, this message translates to: - /// **'Local `ollama serve`. Models stay on your machine. No API key needed.'** + /// **'Local ollama serve. Models stay on your machine. No API key needed.'** String get providerDescOllama; /// No description provided for @providerDescOpenai. diff --git a/lib/l10n/app_localizations_de.dart b/lib/l10n/app_localizations_de.dart index c3a4a7a..bb396d1 100644 --- a/lib/l10n/app_localizations_de.dart +++ b/lib/l10n/app_localizations_de.dart @@ -195,7 +195,7 @@ class AppLocalizationsDe extends AppLocalizations { @override String get errApprovalTimedOutHint => - 'Es wurde nicht rechtzeitig entschieden. Entweder `timeout_seconds` am Freigabe-Step erhöhen oder den Reviewer informieren.'; + 'Es wurde nicht rechtzeitig entschieden. Entweder timeout_seconds am Freigabe-Step erhöhen oder den Reviewer informieren.'; @override String get errOutputTooLarge => @@ -203,21 +203,21 @@ class AppLocalizationsDe extends AppLocalizations { @override String get errOutputTooLargeHint => - 'Entweder Output kürzen (Text truncaten, Bytes komprimieren) oder `max_output_size_mb` in der Operator-Config erhöhen.'; + 'Entweder Output kürzen (Text truncaten, Bytes komprimieren) oder max_output_size_mb in der Operator-Config erhöhen.'; @override String get errServiceUnavailableForStep => 'Host-Service nicht konfiguriert.'; @override String get errServiceUnavailableForStepHint => - 'Das Modul braucht einen Service (z.B. ollama, playwright), den der Operator nicht deklariert hat. Tragen Sie ihn unter `services:` in ~/.chain/config.yaml ein.'; + 'Das Modul braucht einen Service (z.B. ollama, playwright), den der Operator nicht deklariert hat. Tragen Sie ihn unter services: in ~/.chain/config.yaml ein.'; @override String get errMissingValue => 'Pflichtwert fehlt.'; @override String get errMissingValueHint => - 'Der Step erwartet eine Eingabe, die nicht verdrahtet ist — entweder zur Laufzeit liefern oder den vorgelagerten `\$ref` korrigieren.'; + 'Der Step erwartet eine Eingabe, die nicht verdrahtet ist — entweder zur Laufzeit liefern oder den vorgelagerten \$ref korrigieren.'; @override String get errMcpUnreachable => 'MCP-Endpunkt nicht erreichbar.'; @@ -599,7 +599,7 @@ class AppLocalizationsDe extends AppLocalizations { @override String get addMcpIntro => - 'Tools, die der Server via `tools/list` anbietet, erscheinen im Store als `mcp..`-Fähigkeiten.'; + 'Tools, die der Server via tools/list anbietet, erscheinen im Store als mcp..-Fähigkeiten.'; @override String get addMcpSuggestionsLabel => 'Vorschläge — zum Vorausfüllen klicken'; @@ -633,7 +633,7 @@ class AppLocalizationsDe extends AppLocalizations { @override String get addN8nIntro => - 'Aktive Workflows erscheinen im Store als `n8n..`-Fähigkeiten.'; + 'Aktive Workflows erscheinen im Store als n8n..-Fähigkeiten.'; @override String get addN8nNameLabel => 'Name (keine Punkte)'; @@ -1331,7 +1331,7 @@ class AppLocalizationsDe extends AppLocalizations { @override String get modulesNoneHint => - '`chain install ` ausführen oder ~/.chain/modules/ prüfen.'; + 'chain install ausführen oder ~/.chain/modules/ prüfen.'; @override String get modulesReloadTooltip => 'Aktualisieren'; @@ -1358,7 +1358,7 @@ class AppLocalizationsDe extends AppLocalizations { @override String modulesUninstallBody(String name, String version) { - return 'Entfernt $name v$version von diesem Hub. Flows, die es verwenden, schlagen beim nächsten Lauf fehl. Ein `module.uninstalled`-Audit-Event wird festgehalten.'; + return 'Entfernt $name v$version von diesem Hub. Flows, die es verwenden, schlagen beim nächsten Lauf fehl. Ein module.uninstalled-Audit-Event wird festgehalten.'; } @override @@ -1399,7 +1399,7 @@ class AppLocalizationsDe extends AppLocalizations { @override String get flowsNoneHint => - 'Flow speichern mit `chain admin flows save `, dann taucht er hier auf.'; + 'Flow speichern mit chain admin flows save , dann taucht er hier auf.'; @override String flowsRunDialogTitle(String name) { @@ -1673,7 +1673,7 @@ class AppLocalizationsDe extends AppLocalizations { @override String uninstallVersionPickerBody(String module) { - return 'Mehrere Versionen von `$module` sind parallel installiert. Wählen Sie genau die Version aus, die entfernt werden soll — die anderen bleiben bestehen.'; + return 'Mehrere Versionen von $module sind parallel installiert. Wählen Sie genau die Version aus, die entfernt werden soll — die anderen bleiben bestehen.'; } @override @@ -1684,7 +1684,7 @@ class AppLocalizationsDe extends AppLocalizations { @override String get defaultScopeBlurb => - 'Geordnete Liste von Publisher-Segmenten, die der Hub konsultiert, wenn ein Flow eine Capability ohne explizites `/`-Präfix benennt. Erster Treffer gewinnt — die Segmente, die euer Team am häufigsten nutzt, gehören nach oben. Katalog-bekannte Publisher erscheinen als Chips; private Segmente lassen sich frei eintragen.'; + 'Geordnete Liste von Publisher-Segmenten, die der Hub konsultiert, wenn ein Flow eine Capability ohne explizites /-Präfix benennt. Erster Treffer gewinnt — die Segmente, die euer Team am häufigsten nutzt, gehören nach oben. Katalog-bekannte Publisher erscheinen als Chips; private Segmente lassen sich frei eintragen.'; @override String get defaultScopeAddLabel => 'Publisher-Segment hinzufügen'; @@ -1779,7 +1779,7 @@ class AppLocalizationsDe extends AppLocalizations { @override String get welcomeChecklistNextModuleBody => - 'Für Entwickler: Mit `chain new module ` entsteht ein fertiges Modul-Gerüst (Rust+WASM). Das module-sdk übernimmt die technische Anbindung; Sie schreiben nur die eigentliche Logik.'; + 'Für Entwickler: Mit chain new module entsteht ein fertiges Modul-Gerüst (Rust+WASM). Das module-sdk übernimmt die technische Anbindung; Sie schreiben nur die eigentliche Logik.'; @override String get welcomeChecklistNextModuleButton => 'Doku lesen'; @@ -1896,7 +1896,7 @@ class AppLocalizationsDe extends AppLocalizations { @override String get errPermissionDeniedHint => - 'Die Operator-Policy des Hubs blockiert diese Aktion. `~/.chain/config.yaml` prüfen.'; + 'Die Operator-Policy des Hubs blockiert diese Aktion. ~/.chain/config.yaml prüfen.'; @override String get errFailedPrecondition => 'Setup-Problem hat das blockiert.'; @@ -1910,21 +1910,21 @@ class AppLocalizationsDe extends AppLocalizations { @override String get errInternalHint => - 'Hub-Logs unter `~/.chain/logs/` prüfen. Wenn das öfter passiert, bitte melden.'; + 'Hub-Logs unter ~/.chain/logs/ prüfen. Wenn das öfter passiert, bitte melden.'; @override String get errUnavailable => 'Hub nicht erreichbar.'; @override String get errUnavailableHint => - 'Sicherstellen, dass `chain serve` (oder `chain daemon start`) läuft und der Daemon-Endpunkt zu Studios Einstellungen passt.'; + 'Sicherstellen, dass chain serve (oder chain daemon start) läuft und der Daemon-Endpunkt zu Studios Einstellungen passt.'; @override String get errUnauthenticated => 'Authentifizierung erforderlich.'; @override String get errUnauthenticatedHint => - '`CHAIN_REGISTRY_TOKEN` setzen oder in den Einstellungen anmelden, dann erneut versuchen.'; + 'CHAIN_REGISTRY_TOKEN setzen oder in den Einstellungen anmelden, dann erneut versuchen.'; @override String get errCopyDetail => 'Detail kopieren'; @@ -2247,7 +2247,7 @@ class AppLocalizationsDe extends AppLocalizations { @override String get doctorDaemonControlHint => - 'Studio ruft das Platform-Binary auf — entspricht `chain daemon …`, sodass CLI und UI im Gleichschritt bleiben.'; + 'Studio ruft das Platform-Binary auf — entspricht chain daemon …, sodass CLI und UI im Gleichschritt bleiben.'; @override String get doctorDaemonControlWorking => 'Wird ausgeführt…'; @@ -2272,7 +2272,7 @@ class AppLocalizationsDe extends AppLocalizations { @override String get doctorPathsEmpty => - 'Daemon hat keine Datei-Pfade gemeldet. Hub aktualisieren via `chain daemon restart`.'; + 'Daemon hat keine Datei-Pfade gemeldet. Hub aktualisieren via chain daemon restart.'; @override String doctorOpenError(String detail) { @@ -2286,7 +2286,7 @@ class AppLocalizationsDe extends AppLocalizations { @override String doctorUpdateBody(String channel, String version) { - return 'Kanal $channel bietet jetzt $version. Per Button anwenden — Studio ruft `chain update apply --channel $channel` auf.'; + return 'Kanal $channel bietet jetzt $version. Per Button anwenden — Studio ruft chain update apply --channel $channel auf.'; } @override @@ -2323,7 +2323,7 @@ class AppLocalizationsDe extends AppLocalizations { @override String get mcpHint => - 'Externe MCP-Server bringen ihre Tools als `mcp..` Fähigkeiten ein. Einmal konfigurieren, im Store sichtbar.'; + 'Externe MCP-Server bringen ihre Tools als mcp.. Fähigkeiten ein. Einmal konfigurieren, im Store sichtbar.'; @override String get mcpEmpty => @@ -2334,7 +2334,7 @@ class AppLocalizationsDe extends AppLocalizations { @override String get n8nHint => - 'Aktive n8n-Workflows erscheinen als `n8n..` Fähigkeiten. Einmal konfigurieren, im Store sichtbar.'; + 'Aktive n8n-Workflows erscheinen als n8n.. Fähigkeiten. Einmal konfigurieren, im Store sichtbar.'; @override String get n8nEmpty => @@ -2344,7 +2344,7 @@ class AppLocalizationsDe extends AppLocalizations { String get hubUnreachable => 'Hub nicht erreichbar'; @override - String get hubUnreachableHint => 'Hub starten mit `chain serve`.'; + String get hubUnreachableHint => 'Hub starten mit chain serve.'; @override String get languageEnglish => 'English'; @@ -2437,7 +2437,7 @@ class AppLocalizationsDe extends AppLocalizations { @override String systemAiApiKeyDisclaimer(String name) { - return 'Studio liest oder speichert den Key-Wert nie — nur den Namen der Umgebungsvariable. Der Hub liest `\$$name` zur Anfragezeit.'; + return 'Studio liest oder speichert den Key-Wert nie — nur den Namen der Umgebungsvariable. Der Hub liest \$$name zur Anfragezeit.'; } @override @@ -2894,7 +2894,7 @@ class AppLocalizationsDe extends AppLocalizations { @override String addSourceIntro(String capability) { - return '`$capability` ist nicht im öffentlichen Store. Zeig dem Hub eine `.chain`-Bundle-URL oder einen lokalen Bundle-Pfad — der Hub lädt es herunter, prüft (sha256 + Signatur) und installiert.'; + return '$capability ist nicht im öffentlichen Store. Geben Sie dem Hub eine .chain-Bundle-URL oder einen lokalen Bundle-Pfad — der Hub lädt es herunter, prüft (sha256 + Signatur) und installiert.'; } @override @@ -2909,7 +2909,7 @@ class AppLocalizationsDe extends AppLocalizations { @override String get addSourceHowItWorksBody => - 'Ein Modul ist ein Verzeichnis mit module.yaml + WASM-Artefakt. Zum Teilen: `chain pack ` baut ein `.chain`-Bundle, das Sie beliebig hosten können (eigene Forgejo / GitHub / S3). Der Hub installiert per URL und prüft die Signatur gegen seinen Trust-Store.\n\nLokal entwickeln? Nimm das CLI — Studio installiert (noch) nicht aus einem unverpackten Verzeichnis:'; + 'Ein Modul ist ein Verzeichnis mit module.yaml + WASM-Artefakt. Zum Teilen: chain pack baut ein .chain-Bundle, das Sie beliebig hosten können (eigene Forgejo / GitHub / S3). Der Hub installiert per URL und prüft die Signatur gegen seinen Trust-Store.\n\nLokal entwickeln? Nehmen Sie das CLI — Studio installiert (noch) nicht aus einem unverpackten Verzeichnis:'; @override String get addSourceCliExample => 'chain install --link /pfad/zum/modul'; @@ -2958,24 +2958,24 @@ class AppLocalizationsDe extends AppLocalizations { @override String get chainBinaryNotFound => - 'Das Programm `chain` wurde auf diesem Rechner nicht gefunden.'; + 'Das Programm chain wurde auf diesem Rechner nicht gefunden.'; @override String get chainBinaryNotFoundHint => - 'Installieren Sie die Ch∆In-Plattform oder verweisen Sie Studio auf eine vorhandene `chain`-Datei.'; + 'Installieren Sie die Ch∆In-Plattform oder verweisen Sie Studio auf eine vorhandene chain-Datei.'; @override - String get chainBinaryLocateButton => '`chain`-Programm suchen …'; + String get chainBinaryLocateButton => 'chain-Programm suchen …'; @override String get chainBinaryInstallDocsButton => 'Installationsanleitung öffnen'; @override - String get chainBinaryPickerTitle => '`chain`-Programm auswählen'; + String get chainBinaryPickerTitle => 'chain-Programm auswählen'; @override String chainBinarySetOk(String path) { - return 'Verwende `chain` unter $path'; + return 'Verwende chain unter $path'; } @override @@ -3019,7 +3019,7 @@ class AppLocalizationsDe extends AppLocalizations { @override String get providerDescOllama => - 'Lokales `ollama serve`. Die Modelle bleiben auf Ihrem Rechner. Kein API-Schlüssel nötig.'; + 'Lokales ollama serve. Die Modelle bleiben auf Ihrem Rechner. Kein API-Schlüssel nötig.'; @override String get providerDescOpenai => diff --git a/lib/l10n/app_localizations_en.dart b/lib/l10n/app_localizations_en.dart index b5e55b8..4b3a727 100644 --- a/lib/l10n/app_localizations_en.dart +++ b/lib/l10n/app_localizations_en.dart @@ -196,28 +196,28 @@ class AppLocalizationsEn extends AppLocalizations { @override String get errApprovalTimedOutHint => - 'No reviewer decided within the configured time. Raise `timeout_seconds` on the approval step or alert the reviewer.'; + 'No reviewer decided within the configured time. Raise timeout_seconds on the approval step or alert the reviewer.'; @override String get errOutputTooLarge => 'Step output exceeded the size limit.'; @override String get errOutputTooLargeHint => - 'Either trim the output (truncate text, downsample bytes) or raise `max_output_size_mb` in the operator config.'; + 'Either trim the output (truncate text, downsample bytes) or raise max_output_size_mb in the operator config.'; @override String get errServiceUnavailableForStep => 'Host service not configured.'; @override String get errServiceUnavailableForStepHint => - 'The module requires a service (e.g. ollama, playwright) the operator hasn\'t declared. Add it under `services:` in ~/.chain/config.yaml.'; + 'The module requires a service (e.g. ollama, playwright) the operator hasn\'t declared. Add it under services: in ~/.chain/config.yaml.'; @override String get errMissingValue => 'Required value is missing.'; @override String get errMissingValueHint => - 'The step expected an input that wasn\'t wired up — either supply it at run time or fix the upstream `\$ref`.'; + 'The step expected an input that wasn\'t wired up — either supply it at run time or fix the upstream \$ref.'; @override String get errMcpUnreachable => 'MCP endpoint unreachable.'; @@ -612,7 +612,7 @@ class AppLocalizationsEn extends AppLocalizations { @override String get addMcpIntro => - 'Tools the server advertises via `tools/list` appear in the Store as `mcp..` capabilities.'; + 'Tools the server advertises via tools/list appear in the Store as mcp.. capabilities.'; @override String get addMcpSuggestionsLabel => 'Suggested servers — click to pre-fill'; @@ -646,7 +646,7 @@ class AppLocalizationsEn extends AppLocalizations { @override String get addN8nIntro => - 'Active workflows surface in the Store as `n8n..` capabilities.'; + 'Active workflows surface in the Store as n8n.. capabilities.'; @override String get addN8nNameLabel => 'Name (no dots)'; @@ -1345,7 +1345,7 @@ class AppLocalizationsEn extends AppLocalizations { @override String get modulesNoneHint => - 'Run `chain install ` or check ~/.chain/modules/.'; + 'Run chain install or check ~/.chain/modules/.'; @override String get modulesReloadTooltip => 'Reload'; @@ -1372,7 +1372,7 @@ class AppLocalizationsEn extends AppLocalizations { @override String modulesUninstallBody(String name, String version) { - return 'Removes $name v$version from this hub. Flows that reference it will fail at the next run. A `module.uninstalled` audit event is recorded.'; + return 'Removes $name v$version from this hub. Flows that reference it will fail at the next run. A module.uninstalled audit event is recorded.'; } @override @@ -1413,7 +1413,7 @@ class AppLocalizationsEn extends AppLocalizations { @override String get flowsNoneHint => - 'Save a flow with `chain admin flows save ` and it shows up here.'; + 'Save a flow with chain admin flows save and it shows up here.'; @override String flowsRunDialogTitle(String name) { @@ -1685,7 +1685,7 @@ class AppLocalizationsEn extends AppLocalizations { @override String uninstallVersionPickerBody(String module) { - return 'Several versions of `$module` are installed side-by-side. Select the exact version to remove — the others stay in place.'; + return 'Several versions of $module are installed side-by-side. Select the exact version to remove — the others stay in place.'; } @override @@ -1696,7 +1696,7 @@ class AppLocalizationsEn extends AppLocalizations { @override String get defaultScopeBlurb => - 'Ordered list of publisher segments the hub consults when a flow names a capability without an explicit `/` prefix. First match wins — promote the segments your team uses most to the top. Catalog-known publishers appear as chips; arbitrary entries are accepted for private segments.'; + 'Ordered list of publisher segments the hub consults when a flow names a capability without an explicit / prefix. First match wins — promote the segments your team uses most to the top. Catalog-known publishers appear as chips; arbitrary entries are accepted for private segments.'; @override String get defaultScopeAddLabel => 'Add publisher segment'; @@ -1788,7 +1788,7 @@ class AppLocalizationsEn extends AppLocalizations { @override String get welcomeChecklistNextModuleBody => - 'Generate a Rust+WASM scaffold with `chain new module `. The module-sdk handles the WIT plumbing; you write a typed invoke.'; + 'Generate a Rust+WASM scaffold with chain new module . The module-sdk handles the WIT plumbing; you write a typed invoke.'; @override String get welcomeChecklistNextModuleButton => 'Read the docs'; @@ -1904,7 +1904,7 @@ class AppLocalizationsEn extends AppLocalizations { @override String get errPermissionDeniedHint => - 'The hub\'s operator policy blocks this action. Check `~/.chain/config.yaml`.'; + 'The hub\'s operator policy blocks this action. Check ~/.chain/config.yaml.'; @override String get errFailedPrecondition => 'Setup issue blocked this.'; @@ -1918,21 +1918,21 @@ class AppLocalizationsEn extends AppLocalizations { @override String get errInternalHint => - 'Check the hub logs at `~/.chain/logs/`. If this repeats, please report it.'; + 'Check the hub logs at ~/.chain/logs/. If this repeats, please report it.'; @override String get errUnavailable => 'Hub not reachable.'; @override String get errUnavailableHint => - 'Make sure `chain serve` (or `chain daemon start`) is running and the daemon endpoint matches Studio\'s settings.'; + 'Make sure chain serve (or chain daemon start) is running and the daemon endpoint matches Studio\'s settings.'; @override String get errUnauthenticated => 'Authentication required.'; @override String get errUnauthenticatedHint => - 'Set `CHAIN_REGISTRY_TOKEN` or sign in through Settings before retrying.'; + 'Set CHAIN_REGISTRY_TOKEN or sign in through Settings before retrying.'; @override String get errCopyDetail => 'Copy detail'; @@ -2253,7 +2253,7 @@ class AppLocalizationsEn extends AppLocalizations { @override String get doctorDaemonControlHint => - 'Studio shells out to the platform binary — mirrors `chain daemon …` exactly so the CLI and UI stay in lockstep.'; + 'Studio shells out to the platform binary — mirrors chain daemon … exactly so the CLI and UI stay in lockstep.'; @override String get doctorDaemonControlWorking => 'Working…'; @@ -2278,7 +2278,7 @@ class AppLocalizationsEn extends AppLocalizations { @override String get doctorPathsEmpty => - 'Daemon did not report file paths. Update the running hub via `chain daemon restart`.'; + 'Daemon did not report file paths. Update the running hub via chain daemon restart.'; @override String doctorOpenError(String detail) { @@ -2292,7 +2292,7 @@ class AppLocalizationsEn extends AppLocalizations { @override String doctorUpdateBody(String channel, String version) { - return 'Channel $channel now offers $version. Apply via the button — Studio shells out to `chain update apply --channel $channel`.'; + return 'Channel $channel now offers $version. Apply via the button — Studio shells out to chain update apply --channel $channel.'; } @override @@ -2329,7 +2329,7 @@ class AppLocalizationsEn extends AppLocalizations { @override String get mcpHint => - 'External MCP servers federate their tools as `mcp..` capabilities. Configure once, see them in the Store.'; + 'External MCP servers federate their tools as mcp.. capabilities. Configure once, see them in the Store.'; @override String get mcpEmpty => 'No MCP servers configured. Click + to add one.'; @@ -2339,7 +2339,7 @@ class AppLocalizationsEn extends AppLocalizations { @override String get n8nHint => - 'Active n8n workflows surface as `n8n..` capabilities. Configure once, see them in the Store.'; + 'Active n8n workflows surface as n8n.. capabilities. Configure once, see them in the Store.'; @override String get n8nEmpty => 'No n8n endpoints configured. Click + to add one.'; @@ -2348,7 +2348,7 @@ class AppLocalizationsEn extends AppLocalizations { String get hubUnreachable => 'Hub unreachable'; @override - String get hubUnreachableHint => 'Start the hub with `chain serve`.'; + String get hubUnreachableHint => 'Start the hub with chain serve.'; @override String get languageEnglish => 'English'; @@ -2439,7 +2439,7 @@ class AppLocalizationsEn extends AppLocalizations { @override String systemAiApiKeyDisclaimer(String name) { - return 'Studio never reads or stores the key value — only its env-var name. The hub reads `\$$name` at request time.'; + return 'Studio never reads or stores the key value — only its env-var name. The hub reads \$$name at request time.'; } @override @@ -2895,7 +2895,7 @@ class AppLocalizationsEn extends AppLocalizations { @override String addSourceIntro(String capability) { - return '`$capability` is not in the public store. Point the hub at a `.chain` bundle URL or a local bundle path; the hub downloads, verifies (sha256 + signature) and installs it.'; + return '$capability is not in the public store. Point the hub at a .chain bundle URL or a local bundle path; the hub downloads, verifies (sha256 + signature) and installs it.'; } @override @@ -2910,7 +2910,7 @@ class AppLocalizationsEn extends AppLocalizations { @override String get addSourceHowItWorksBody => - 'A module is a directory with a module.yaml + the WASM artifact. To share it: pack it (`chain pack `) and host the resulting `.chain` bundle anywhere (your own Forgejo / GitHub / S3). The hub installs by URL and verifies the signature against its trust store.\n\nDeveloping locally? Use the CLI — Studio cannot install from an unpacked directory (yet):'; + 'A module is a directory with a module.yaml + the WASM artifact. To share it: pack it (chain pack ) and host the resulting .chain bundle anywhere (your own Forgejo / GitHub / S3). The hub installs by URL and verifies the signature against its trust store.\n\nDeveloping locally? Use the CLI — Studio cannot install from an unpacked directory (yet):'; @override String get addSourceCliExample => 'chain install --link /path/to/module'; @@ -2958,24 +2958,24 @@ class AppLocalizationsEn extends AppLocalizations { @override String get chainBinaryNotFound => - 'Could not find the `chain` program on this machine.'; + 'Could not find the chain program on this machine.'; @override String get chainBinaryNotFoundHint => - 'Install the Ch∆In platform, or point Studio at an existing `chain` binary.'; + 'Install the Ch∆In platform, or point Studio at an existing chain binary.'; @override - String get chainBinaryLocateButton => 'Locate `chain` binary…'; + String get chainBinaryLocateButton => 'Locate chain binary…'; @override String get chainBinaryInstallDocsButton => 'Open install guide'; @override - String get chainBinaryPickerTitle => 'Select the `chain` binary'; + String get chainBinaryPickerTitle => 'Select the chain binary'; @override String chainBinarySetOk(String path) { - return 'Using `chain` binary at $path'; + return 'Using chain binary at $path'; } @override @@ -3019,7 +3019,7 @@ class AppLocalizationsEn extends AppLocalizations { @override String get providerDescOllama => - 'Local `ollama serve`. Models stay on your machine. No API key needed.'; + 'Local ollama serve. Models stay on your machine. No API key needed.'; @override String get providerDescOpenai => diff --git a/test/l10n_formality_test.dart b/test/l10n_formality_test.dart index 86d9cdf..7cdc9b3 100644 --- a/test/l10n_formality_test.dart +++ b/test/l10n_formality_test.dart @@ -26,7 +26,7 @@ void main() { r"\b(du|dich|dir|dein|deine|deiner|deinem|deinen|deins|" r"brauchst|tippst|willst|kannst|hast|bist|machst|siehst|" r"klickst|wählst|öffnest|startest|versuchst|versuch's|" - r"übergib|wähle|klicke|tippe)\b", + r"übergib|wähle|klicke|tippe|nimm|zeig)\b", caseSensitive: false, ); final offenders = [];