{ "@@locale": "en", "appTitle": "F∆I Studio", "@appTitle": { "description": "App-bar title in the OS task switcher." }, "navDoctor": "Doctor", "navModules": "Modules", "navStore": "Store", "navFlows": "Flows", "navAudit": "Audit", "navApprovals": "Approvals", "connectionConnected": "connected", "connectionUnreachable": "unreachable", "connectionConnecting": "connecting…", "connectionStartHub": "Start hub", "buttonCancel": "Cancel", "buttonSave": "Save", "buttonClose": "Close", "buttonRetry": "Retry", "buttonRefresh": "Refresh", "buttonInstall": "Install", "buttonUninstall": "Uninstall", "buttonDetails": "Details", "buttonAdd": "Add", "buttonRemove": "Remove", "buttonOpen": "Open", "buttonExplain": "Explain", "buttonReadDocs": "Read docs", "settingsTitle": "Hub endpoint", "settingsHost": "Host", "settingsPort": "Port", "settingsTls": "TLS", "settingsSaveAndConnect": "Save & connect", "settingsLanguage": "Language", "settingsLanguageHint": "App language. Affects every page; bilingual store entries also flip via this toggle.", "channelsHeader": "CHANNELS", "channelsActive": "active", "channelsRunning": "running", "channelsStopped": "stopped", "channelsConnect": "Connect Studio to this channel", "channelsSwitch": "Make this the active channel", "channelsEnableAutostart": "Enable autostart at login", "channelsDisableAutostart": "Disable autostart", "storeSearchHint": "Search modules — name, tagline, tag, capability…", "storeFeatured": "FEATURED", "storeFeaturedHint": "curated picks · click for details", "storeNoMatches": "No matches", "storeNoMatchesHint": "Adjust the filters or clear the search to see all entries.", "storeClearFilters": "Clear filters", "storeStatusAll": "All", "storeStatusPublished": "Published", "storeStatusAlpha": "Alpha", "storeStatusPlanned": "Planned", "storeInstalledOnly": "Installed", "storeNResults": "{n} result{n, plural, =1{} other{s}}", "@storeNResults": { "placeholders": { "n": { "type": "int" } } }, "storeFederationNudgeTitle": "Want more capabilities?", "storeFederationNudgeBody": "Configure an MCP server or n8n endpoint in Settings → MCP Clients / N8N Endpoints. Discovered tools and workflows surface here as `mcp..` and `n8n..` capabilities — every Anthropic / community MCP server adds a handful at once.", "storeFederationNudgeButton": "Open Settings", "auditTitle": "Audit", "auditNoEvents": "No events yet", "auditNoEventsHint": "Run a flow to populate the audit stream.\nEvents appear here within seconds.", "modulesTitle": "Modules", "modulesNoneTitle": "No modules yet", "modulesNoneHint": "Run `fai install ` or check ~/.fai/modules/.", "modulesReloadTooltip": "Reload", "modulesRecentActivity": "RECENT ACTIVITY", "modulesRecentActivityHint": "last {n} install/uninstall events from the audit log", "@modulesRecentActivityHint": { "placeholders": { "n": { "type": "int" } } }, "modulesActivityInstalled": "installed", "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": { "placeholders": { "name": { "type": "String" }, "version": { "type": "String" } } }, "modulesUninstalledToast": "Uninstalled {name} v{version}.", "@modulesUninstalledToast": { "placeholders": { "name": { "type": "String" }, "version": { "type": "String" } } }, "modulesUninstallFailed": "Uninstall failed: {error}", "@modulesUninstallFailed": { "placeholders": { "error": { "type": "String" } } }, "modulesUninstalling": "Uninstalling…", "approvalsTitle": "Approvals", "approvalsTabPending": "Pending", "approvalsTabHistory": "History", "approvalsInboxZero": "Inbox zero", "approvalsInboxHint": "All caught up. New `system.approval@^0` steps land here automatically.", "doctorTitle": "Doctor", "doctorRecheckTooltip": "Re-check", "doctorEventLogSection": "Event log", "doctorModulesApprovalsSection": "Modules & approvals", "doctorHostServicesSection": "Host services", "doctorDaemonFilesSection": "Daemon files", "doctorDaemonControlSection": "Daemon control", "doctorChainIntact": "Hash chain intact", "doctorChainIntactDetail": "{n} events · prev_event_sha256 verified end-to-end", "@doctorChainIntactDetail": { "placeholders": { "n": { "type": "int" } } }, "doctorChainTampered": "Tampering detected", "doctorChainTamperedDetail": "{verified} of {total} verified before mismatch at {id}", "@doctorChainTamperedDetail": { "placeholders": { "verified": { "type": "int" }, "total": { "type": "int" }, "id": { "type": "String" } } }, "doctorChainPillOk": "WORM-1", "doctorChainPillTamper": "TAMPER", "doctorVerifyNow": "Verify now", "doctorRestart": "Restart", "doctorStart": "Start", "doctorStop": "Stop", "doctorStatusAction": "Status", "doctorRunningOn": "Running on {name}: {endpoint}", "@doctorRunningOn": { "placeholders": { "name": { "type": "String" }, "endpoint": { "type": "String" } } }, "doctorStoppedOn": "{name} daemon stopped", "@doctorStoppedOn": { "placeholders": { "name": { "type": "String" } } }, "doctorStatusUnknown": "Daemon status: …", "doctorPillRunning": "running", "doctorPillStopped": "stopped", "doctorDaemonControlHint": "Studio shells out to the platform binary — mirrors `fai daemon …` exactly so the CLI and UI stay in lockstep.", "doctorDaemonControlWorking": "Working…", "doctorPathLog": "Log", "doctorPathConfig": "Config", "doctorPathDb": "Audit DB", "doctorPathModules": "Modules dir", "doctorPathFlows": "Flows dir", "doctorPathPid": "PID file", "doctorPathsEmpty": "Daemon did not report file paths. Update the running hub via `fai daemon restart`.", "doctorOpenError": "Could not open: {detail}", "@doctorOpenError": { "placeholders": { "detail": { "type": "String" } } }, "doctorUpdateAvailable": "Update available — {version}", "@doctorUpdateAvailable": { "placeholders": { "version": { "type": "String" } } }, "doctorUpdateBody": "Channel {channel} now offers {version}. Apply via the button — Studio shells out to `fai update apply --channel {channel}`.", "@doctorUpdateBody": { "placeholders": { "channel": { "type": "String" }, "version": { "type": "String" } } }, "doctorUpdateUnreachable": "Release host unreachable", "doctorUpdateUnreachableBody": "Could not contact the release feed for {channel}.", "@doctorUpdateUnreachableBody": { "placeholders": { "channel": { "type": "String" } } }, "doctorReleaseNotes": "notes: {url}", "@doctorReleaseNotes": { "placeholders": { "url": { "type": "String" } } }, "doctorPillNew": "new", "doctorPillOffline": "offline", "doctorApplyUpdate": "Apply update", "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.", "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.", "n8nEmpty": "No n8n endpoints configured. Click + to add one.", "hubUnreachable": "Hub unreachable", "hubUnreachableHint": "Start the hub with `fai serve`.", "languageEnglish": "English", "languageGerman": "Deutsch" }