fix(l10n): no literal backticks in UI text, two stray informal imperatives
Some checks are pending
Security / Security check (push) Waiting to run

Text widgets render markdown backticks verbatim (usertest: reads
as typos / raw dev output) — stripped across both catalogs; code
terms stay inline in plain type. 'Zeig dem Hub' / 'Nimm das CLI'
now use the formal address; the guard test learns both stems.

Signed-off-by: flemming-it <stefan.a.flemming@googlemail.com>
This commit is contained in:
flemming-it 2026-07-18 00:25:31 +02:00
parent eab58c0b68
commit 6bbe670074
6 changed files with 156 additions and 156 deletions

View file

@ -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.<name>.<tool>`-Fähigkeiten.';
'Tools, die der Server via tools/list anbietet, erscheinen im Store als mcp.<name>.<tool>-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.<name>.<workflow_slug>`-Fähigkeiten.';
'Aktive Workflows erscheinen im Store als n8n.<name>.<workflow_slug>-Fähigkeiten.';
@override
String get addN8nNameLabel => 'Name (keine Punkte)';
@ -1331,7 +1331,7 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get modulesNoneHint =>
'`chain install <capability-name>` ausführen oder ~/.chain/modules/ prüfen.';
'chain install <capability-name> 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 <name> <flow.yaml>`, dann taucht er hier auf.';
'Flow speichern mit chain admin flows save <name> <flow.yaml>, 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 `<provider>/`-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 <provider>/-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 <name>` 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 <name> 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.<server>.<tool>` Fähigkeiten ein. Einmal konfigurieren, im Store sichtbar.';
'Externe MCP-Server bringen ihre Tools als mcp.<server>.<tool> 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.<endpoint>.<slug>` Fähigkeiten. Einmal konfigurieren, im Store sichtbar.';
'Aktive n8n-Workflows erscheinen als n8n.<endpoint>.<slug> 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 <verzeichnis>` 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 <verzeichnis> 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 =>