fix(l10n): no literal backticks in UI text, two stray informal imperatives
Some checks are pending
Security / Security check (push) Waiting to run
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:
parent
eab58c0b68
commit
6bbe670074
6 changed files with 156 additions and 156 deletions
|
|
@ -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.<name>.<tool>` capabilities.",
|
||||
"addMcpIntro": "Tools the server advertises via tools/list appear in the Store as mcp.<name>.<tool> 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.<name>.<workflow_slug>` capabilities.",
|
||||
"addN8nIntro": "Active workflows surface in the Store as n8n.<name>.<workflow_slug> 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 <capability-name>` or check ~/.chain/modules/.",
|
||||
"modulesNoneHint": "Run chain install <capability-name> 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 <name> <flow.yaml>` and it shows up here.",
|
||||
"flowsNoneHint": "Save a flow with chain admin flows save <name> <flow.yaml> 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 `<provider>/` 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 <provider>/ 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 <name>`. The module-sdk handles the WIT plumbing; you write a typed invoke.",
|
||||
"welcomeChecklistNextModuleBody": "Generate a Rust+WASM scaffold with chain new module <name>. 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.<server>.<tool>` capabilities. Configure once, see them in the Store.",
|
||||
"mcpHint": "External MCP servers federate their tools as mcp.<server>.<tool> 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.<endpoint>.<slug>` capabilities. Configure once, see them in the Store.",
|
||||
"n8nHint": "Active n8n workflows surface as n8n.<endpoint>.<slug> 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 <dir>`) 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 <dir>) 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.",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue