Files
ST-Bionic-Memory-Ecology/i18n/en-US.js

476 lines
28 KiB
JavaScript

// ST-BME UI-only i18n catalog: English.
// Keep this catalog for frontend chrome/status text only. Do not use it for
// prompt construction, graph node content, persisted memories, or LLM schemas.
export default {
"common.appName": "ST-BME",
"common.cancel": "Cancel",
"common.clauseSeparator": "; ",
"common.close": "Close",
"common.confirm": "Confirm",
"common.delete": "Delete",
"common.edit": "Edit",
"common.empty": "No data",
"common.emptyParenthetical": "(empty)",
"common.loading": "Loading…",
"common.retry": "Retry",
"common.save": "Save",
"common.status": "Status",
"common.unknown": "Unknown",
"error.auditFailed": "Audit failed",
"error.deleteBlocked": "The node was removed from the graph, but write-back may be blocked. Check graph state.",
"error.deleteFailed": "Delete failed",
"error.nodeNotFound": "Node no longer exists",
"error.saveBlocked": "Content updated, but write-back to chat metadata may be blocked. Check graph state.",
"error.saveFailed": "Save failed",
"error.syncFailed": "Sync failed",
"graph.scope.characterPov": "Character POV · {name}",
"graph.scope.objective": "Objective Layer",
"graph.scope.unknownCharacter": "Unknown character",
"graph.scope.userPov": "User POV",
"i18n.locale.auto": "Auto",
"i18n.locale.enUS": "English",
"i18n.locale.setting.help": "Only affects ST-BME panel text, notices, and status messages. It does not translate chat content, memory nodes, or prompts.",
"i18n.locale.setting.label": "Interface Language",
"i18n.locale.zhCN": "Simplified Chinese",
"notice.completed": "{stage} completed",
"notice.failed": "{stage} failed",
"notice.generic": "ST-BME",
"notice.loading": "{stage} in progress…",
"notice.partial": "{stage} partially succeeded",
"panel.entry.floatingTooltip": "BME Memory Graph",
"panel.entry.menuLabel": "Memory Graph",
"panel.entry.openPanelAction": "Open Panel",
"panel.entry.openFailed": "Memory Graph panel failed to load. Check the console for details.",
"panel.entry.preloadFailed": "Memory Graph panel preloading failed. Try opening it from the menu again later.",
"panel.appearance.locale.subtitle": "Only changes the BME frontend UI. It does not translate chat content, memory nodes, or prompts.",
"panel.appearance.locale.title": "Interface Language",
"panel.appearance.theme.subtitle": "Choose the panel style that best fits the current story mood and reading habits.",
"panel.appearance.theme.title": "Panel Theme",
"panel.title": "ST-BME Memory Graph",
"panel.header.fabToggleTitle": "Show/Hide FAB",
"panel.header.themePickerTitle": "Switch Theme",
"panel.tab.graph": "Graph",
"panel.tab.actions": "Actions",
"panel.tab.cognition": "Cognition",
"panel.tab.config": "Settings",
"panel.tab.dashboard": "Overview",
"panel.tab.extraction": "Extraction",
"panel.tab.persistence": "Persistence State",
"panel.tab.pipeline": "Pipeline Overview",
"panel.tab.recall": "Recall",
"panel.tab.settings": "Settings",
"panel.tab.tasks": "Tasks",
"panel.tab.timeline": "Task Timeline",
"panel.tab.trace": "Message Trace",
"panel.tab.vector": "Vector",
"panel.sidebar.configKicker": "Config Workspace",
"panel.sidebar.configTitle": "ST-BME Settings",
"panel.sidebar.configHelp": "Switch config sections on the left; view the full settings form on the right.",
"panel.sidebar.taskKicker": "Task Monitor",
"panel.sidebar.taskTitle": "ST-BME Task Flow",
"panel.sidebar.taskHelp": "Switch monitoring views on the left; view real-time task status on the right.",
"panel.configNav.api": "API Config",
"panel.configNav.toggles": "Feature Toggles",
"panel.configNav.advanced": "Advanced Params",
"panel.configNav.prompts": "Task Presets",
"panel.configNav.planner": "ENA Planner",
"panel.configNav.appearance": "Panel Appearance",
"panel.configNav.cleanup": "Data Cleanup",
"panel.taskNav.pipeline": "Pipeline Overview",
"panel.taskNav.timeline": "Task Timeline",
"panel.taskNav.memory": "Memory Browser",
"panel.taskNav.injection": "Injection Preview",
"panel.taskNav.trace": "Message Trace",
"panel.taskNav.persistence": "Persistence",
"panel.graphView.realtime": "Live Graph",
"panel.graphView.cognition": "Cognition View",
"panel.graphView.summary": "Summary View",
"panel.graphToolbar.pauseTitle": "Pause graph rendering",
"panel.graphToolbar.zoomInTitle": "Zoom In",
"panel.graphToolbar.zoomOutTitle": "Zoom Out",
"panel.graphToolbar.resetTitle": "Reset",
"panel.configWorkspace.kicker": "Config",
"panel.configWorkspace.title": "ST-BME Config Workspace",
"panel.configWorkspace.desc": "Configure the secondary memory model, feature toggles, fine-grained parameters, task presets, and panel theme in one place.",
"panel.configPlaceholder.title": "Config switched to the right-side workspace",
"panel.configPlaceholder.help": "The left nav switches pages; the right pane shows the full config form.",
"panel.configSection.apiKicker": "API Config",
"panel.configSection.apiTitle": "Model Connection & Vector Access",
"panel.configSection.apiDesc": "Manage independent memory LLM and Embedding connections, preserving existing backend proxies and direct fallback logic.",
"panel.configSection.togglesKicker": "Feature Toggles",
"panel.configSection.togglesTitle": "Main Pipeline & Enhanced Capabilities",
"panel.configSection.togglesDesc": "First decide which capabilities participate in the memory pipeline, then fine-tune each module's behavior in Advanced Params.",
"panel.configSection.advancedKicker": "Advanced Params",
"panel.configSection.advancedTitle": "Fine-grained Behavior & Scoring Strategy",
"panel.configSection.advancedDesc": "Carries over advanced items from the old settings page. If a feature is disabled, parameters are grayed out with a prompt to enable it in Feature Toggles.",
"panel.configSection.promptsKicker": "Task Presets",
"panel.configSection.promptsTitle": "Task Preset Workspace",
"panel.configSection.promptsDesc": "Maintain independent presets for each task — configure prompt assembly, generation parameters, and regex rules in one place.",
"panel.configSection.plannerKicker": "ENA Planner",
"panel.configSection.plannerTitle": "Plot Planning · LLM Integration",
"panel.configSection.plannerDesc": "Intercepts before sending and calls the planning LLM, collecting context from character cards, world books, BME memory, and history plots to generate plot and note tags appended to your input.",
"panel.configSection.appearanceKicker": "Panel Appearance",
"panel.configSection.appearanceTitle": "Theme & Visual Sync",
"panel.configSection.appearanceDesc": "Theme selection here stays in sync with the top palette shortcut and immediately refreshes the graph color scheme.",
"panel.configSection.cleanupKicker": "Data Cleanup",
"panel.configSection.cleanupTitle": "Graph, Cache & Storage Cleanup",
"panel.configSection.cleanupDesc": "Perform high-risk cleanup operations here. All operations require double confirmation; some are irreversible.",
"panel.cognition.ownerList": "Character Cognition List",
"panel.cognition.spaceConsole": "Space Console",
"panel.nodeDetail.title": "Node Details",
"panel.nodeDetail.delete": "Delete node",
"panel.nodeDetail.save": "Save changes",
"panel.memoryPopup.title": "Node Details",
"panel.graphOverlay.loading": "Loading current chat graph",
"panel.fullscreenGraph.title": "Live Graph (Fullscreen)",
"panel.fsToolbar.zoomInTitle": "Zoom In",
"panel.fsToolbar.zoomOutTitle": "Zoom Out",
"panel.fsToolbar.closeTitle": "Close",
"panel.taskWorkspace.kicker": "Task Monitor",
"panel.taskWorkspace.title": "ST-BME Task Flow Workspace",
"panel.taskWorkspace.desc": "View the real-time running status and current batch progress of all task pipelines.",
"panel.dashboard.activeNodes": "Active Nodes",
"panel.dashboard.edgeCount": "Edge Connections",
"panel.dashboard.archived": "Archived",
"panel.dashboard.fragRate": "Fragmentation",
"panel.dashboard.runStatus": "Runtime Status",
"panel.dashboard.cognitionSpace": "Cognition / Space",
"panel.dashboard.viewFullCognition": "View full cognition in Cognition View →",
"panel.dashboard.recentExtract": "Recent Extraction",
"panel.dashboard.recentRecall": "Recent Recall",
"panel.actions.memoryGroup": "Memory Operations",
"panel.actions.memoryGroupSub": "Call LLM to process memory nodes",
"panel.actions.vectorGroup": "Vector Operations",
"panel.actions.vectorGroupSub": "Call Embedding API to compute node vectors",
"panel.actions.graphGroup": "Graph Management",
"panel.actions.graphGroupSub": "Import, export, and dangerous operations",
"panel.actions.persistGroup": "Persistence Repair",
"panel.actions.persistGroupSub": "Unified repair area for local persistence and Luker primary sidecar",
"panel.mobileNav.pipeline": "Pipeline",
"panel.mobileNav.timeline": "Timeline",
"panel.mobileNav.memory": "Memory",
"panel.mobileNav.injection": "Injection",
"panel.mobileNav.trace": "Trace",
"panel.mobileNav.persistence": "Persistence",
"theme.crimson": "Crimson Synth",
"theme.cyan": "Neon Cyan",
"theme.amber": "Amber Terminal",
"theme.violet": "Violet Haze",
"theme.paperDawn": "Paper Dawn",
"theme.glacierSky": "Glacier Sky",
"theme.crimson.desc": "High contrast, emphasizes change and alertness.",
"theme.cyan.desc": "A cooler, analytical feel — great for long debugging sessions.",
"theme.amber.desc": "Retro terminal vibe with stable reading hierarchy.",
"theme.violet.desc": "Softer nighttime texture for immersive browsing.",
"theme.paperDawn.desc": "Warm light paper base with teal accents — daytime friendly.",
"theme.glacierSky.desc": "Light cool gray with saturated blue — pairs well with system light mode.",
"persistence.loadState.error": "Load failed",
"persistence.loadState.loaded": "Loaded",
"persistence.loadState.loading": "Loading",
"persistence.loadState.noChat": "No chat is currently open",
"persistence.persistState.completed": "Completed",
"persistence.persistState.failed": "Persistence failed",
"persistence.persistState.idle": "Idle",
"persistence.persistState.pending": "Awaiting persistence confirmation",
"recall.card.deleteConfirm": "Delete this persisted recall injection?",
"recall.card.confirmDeleteShort": "Delete?",
"recall.card.empty.graphNotReady": "Graph is not ready",
"recall.card.empty.nodesMissing": "Recalled nodes no longer exist or the graph was rebuilt",
"recall.card.enaNote": "Memory block triggered by Ena Planner for this turn",
"recall.card.injectionPreview": "Injection Preview",
"recall.card.injectionPreview.ena": "ENA Injection Preview",
"recall.card.memoryCount": "{count} memories",
"recall.card.memoryReady": "Memories ✓",
"recall.card.meta.authoritativeInput": "Authoritative input",
"recall.card.meta.fallbackCount": "{count} fallback attempts",
"recall.card.meta.manualEdit": "Manual edit",
"recall.card.meta.source": "Source: {source}",
"recall.card.rerun": "Rerun Recall",
"recall.card.rerunning": "Recalling...",
"recall.card.title": "Relevant Memory Recall",
"recall.card.userInput": "Current user input",
"recall.sidebar.edgeCount": "{count} edges",
"recall.sidebar.editTitle": "Edit Recall Injection",
"recall.sidebar.injectionEditable": "Injection Text (editable)",
"recall.sidebar.injectionText": "Injection Text",
"recall.sidebar.inputPlaceholder": "Enter injection text...",
"recall.sidebar.nodeImportance": "Importance",
"recall.sidebar.nodeName": "Name",
"recall.sidebar.nodeTitle": "Node Details",
"recall.sidebar.nodeType": "Type",
"recall.sidebar.related": "Related",
"stage.extraction": "Extraction",
"stage.history": "History Recovery",
"stage.recall": "Recall",
"stage.vector": "Vector",
"stageNotice.title.extraction": "ST-BME Extraction",
"stageNotice.title.generic": "ST-BME",
"stageNotice.title.history": "ST-BME History Recovery",
"stageNotice.title.recall": "ST-BME Recall",
"stageNotice.title.vector": "ST-BME Vector",
"status.aborted": "Aborted",
"status.failed": "Failed",
"status.idle": "Idle",
"status.loading": "Loading…",
"status.partial": "Partially succeeded",
"status.ready": "Ready",
"status.running": "Running",
"status.skipped": "Skipped",
"status.success": "Succeeded",
"status.waiting": "Waiting",
"status.initial.extraction.detail": "Extraction has not run yet",
"status.initial.recall.detail": "Recall has not run yet",
"status.initial.runtime.detail": "Ready",
"status.initial.vector.detail": "Vector tasks have not run yet",
"status.graphLoad.blocked.detail": "The graph could not finish IndexedDB confirmation. Try again later.",
"status.graphLoad.blocked.title": "Graph Load Blocked",
"status.graphLoad.empty.detail": "This chat does not have a graph yet",
"status.graphLoad.loaded.detail": "Chat graph loaded; waiting for the next task",
"status.graphLoad.loading.detail": "Reading the IndexedDB graph for chat {chatId}",
"status.graphLoad.loadingNoChat.detail": "Waiting for chat context to become ready",
"status.graphLoad.loadingTemp.detail": "Read a temporary graph for chat {chatId}; confirming local storage",
"status.graphLoad.loadingTempNoChat.detail": "Read a temporary graph; confirming local storage",
"status.graphLoad.noChat.detail": "No chat is currently open",
"status.graphLoad.noHostChat.detail": "Loaded the graph for chat {chatId}; the host chat ID is unavailable, so maintenance actions will use the graph identity",
"status.graphLoad.noHostChatNoId.detail": "Loaded the current graph; the host chat ID is unavailable, so maintenance actions will use the graph identity",
"status.graphLoad.shadow.detail": "Temporarily restored from this session while waiting for official chat metadata",
"status.graphLoad.shadow.title": "Graph Temporarily Restored",
"status.graphLoad.temp.title": "Graph Temporarily Loaded",
"status.graphLoad.title": "Graph Loaded",
"status.graphLoad.waiting.title": "Graph Idle",
"history.notice.dirty.detail": "History will be automatically restored after turn {dirtyFrom}{reasonText}",
"history.notice.dirty.reasonSuffix": "\n{reason}",
"history.notice.dirty.title": "Message history changed",
"llm.providerHelp.auto": "Leave blank to reuse the current chat model. BME can detect OpenAI-compatible endpoints, Anthropic Claude, and Google AI Studio / Gemini; full endpoints are normalized into reusable base URLs.",
"llm.providerHelp.baseUrl": "Base URL: {baseUrl}",
"llm.providerHelp.customProvider": "Provider not recognized; treating it as a custom OpenAI-compatible endpoint",
"llm.providerHelp.knownProvider": "Detected provider: {provider}",
"llm.providerHelp.modelFetchUnsupported": "This provider cannot fetch models automatically yet; enter the model name manually.",
"llm.providerHelp.normalizedUrl": "Normalized URL: {apiUrl}",
"llm.providerHelp.transport": "Transport: {transport}",
"authority.audit.blobBehindSql": "Blob checkpoint is behind Authority SQL: {blobRevision} < {sqlRevision}",
"authority.audit.blobCheckpointMissing": "Authority Blob has no usable checkpoint yet",
"authority.audit.blobReadFailed": "Authority Blob read failed: {error}",
"authority.audit.blobRuntimeDrift": "Blob checkpoint revision differs from runtime: {blobRevision} ≠ {runtimeRevision}",
"authority.audit.chatIdMismatch": "Checkpoint chatId mismatch: {blobChatId} ≠ {chatId}",
"authority.audit.collectionMismatch": "Trivium collection/namespace differs from runtime: {triviumNamespace} ≠ {runtimeCollectionId}",
"authority.audit.sqlProbeFailed": "Authority SQL probe failed: {error}",
"authority.audit.sqlRuntimeDrift": "SQL revision differs from runtime: {sqlRevision} ≠ {runtimeRevision}",
"authority.audit.triviumBehindSql": "Trivium vector replica is behind Authority SQL: {triviumRevision} < {sqlRevision}",
"authority.audit.triviumProbeFailed": "Authority Trivium probe failed: {error}",
"authority.audit.triviumSqlDrift": "Trivium revision differs from SQL: {triviumRevision} ≠ {sqlRevision}",
"authority.audit.vectorDirty": "The current vector index is still dirty",
"authority.action.disasterRecovery": "Disaster recovery: overwrite SQL from Checkpoint",
"authority.action.reaudit": "Re-audit",
"authority.action.syncCheckpoint": "Sync backup Checkpoint",
"authority.action.syncTrivium": "Sync vector/Trivium replica",
"authority.button.captureBaseline": "Capture Perf Baseline",
"authority.button.disasterRecovery": "Disaster recovery: Checkpoint overwrites SQL",
"authority.button.exportDiagnostics": "Export diagnostics bundle",
"authority.button.refreshArtifacts": "Refresh artifact list",
"authority.button.runAudit": "Run Authority Audit",
"authority.button.runRepair": "Run Replica Sync",
"authority.button.syncCheckpoint": "Sync Checkpoint",
"authority.button.syncTrivium": "Sync Authority Trivium",
"authority.confirm.checkpointRestore": "Disaster recovery will overwrite Authority SQL using the Blob Checkpoint.\n\nSQL rev: {sqlRevision}\nCheckpoint rev: {checkpointRevision}\n\nOnly continue if SQL is missing, corrupted, or an explicit rollback is needed. Proceed?",
"authority.confirm.deleteArtifact": "Delete this diagnostics artifact?\n{path}",
"authority.confirm.repairPlan": "The replica sync plan will run in this order:\n{steps}\n\nIt includes restoring SQL from a Blob Checkpoint. This is only appropriate when SQL is missing, corrupted, or needs rollback. Continue?",
"authority.diagnostics.artifactsRefreshFailed": "Artifact list refresh failed: {error}",
"authority.diagnostics.noArtifacts": "Recent artifact list refreshed, but no diagnostics bundle records are available",
"authority.diagnostics.notYetRefreshed": "Diagnostics artifact list has not been refreshed yet",
"authority.diagnostics.recentArtifacts": "Recent diagnostics artifacts",
"authority.repair.disasterRecovery": "Disaster recovery: restore SQL from Blob Checkpoint",
"authority.repair.disasterRecovery.detail": "Only use Blob checkpoint restore when SQL is missing, corrupted, or the user explicitly needs to roll back.",
"authority.repair.noStepsNeeded": "The current audit found no automatically orchestrated repair steps",
"authority.repair.none": "No repair orchestration needed",
"authority.repair.summary.detail": "Suggested sync: {steps}",
"authority.repair.summaryLabel": "Suggested replica sync: {count} steps",
"authority.repair.syncCheckpoint": "Sync backup Checkpoint",
"authority.repair.syncCheckpoint.detail": "Authority Blob checkpoint is behind or missing; sync a new backup checkpoint from the current authoritative graph source.",
"authority.repair.syncTrivium": "Sync vector/Trivium replica",
"authority.repair.syncTrivium.detail": "The Trivium vector replica is behind, the collection mismatches, or the current vector index is dirty. Rebuild/sync it from the authoritative graph source.",
"authority.repair.resultHandoff": "handed off to async Job",
"authority.repair.resultSteps": "{count} steps",
"authority.repair.status.error": "Sync failed",
"authority.repair.status.handoff": "Waiting for Job handoff",
"authority.repair.status.idle": "Not run",
"authority.repair.status.running": "Syncing",
"authority.repair.status.success": "Sync complete",
"authority.repair.status.warning": "Partial sync failed",
"authority.restore.error": "Restore failed",
"authority.restore.idle": "Not run",
"authority.restore.running": "Restoring",
"authority.restore.success": "Restored",
"authority.summary.aligned": "Authority artifacts are aligned",
"authority.summary.alignedDetail": "Authority SQL / Trivium / Blob are aligned within the current observable state",
"authority.summary.auditRunning": "Authority audit running",
"authority.summary.blockingInconsistency": "Blocking inconsistency detected",
"authority.summary.driftPending": "Pending drift detected",
"authority.summary.notYetAudited": "Audit has not run yet",
"authority.summary.replicasPendingSync": "Replicas pending sync",
"authority.summary.waitingForAudit": "Waiting for audit",
"authority.toast.artifactsRefreshed": "Diagnostics artifact list refreshed ({count} entries)",
"authority.toast.artifactsRefreshFailed": "Diagnostics artifact list refresh failed: {error}",
"authority.toast.auditCompleted": "Authority audit completed",
"authority.toast.auditFailed": "Authority audit failed: {error}",
"authority.toast.auditRunning": "Authority consistency audit running…",
"authority.toast.baselineCaptured": "Authority Perf Baseline captured",
"authority.toast.baselineCaptureFailed": "Authority Perf Baseline capture failed: {error}",
"authority.toast.checkpointRestored": "Authority Checkpoint restored: rev {revision}",
"authority.toast.checkpointRestoreFailed": "Authority Checkpoint restore failed: {error}",
"authority.toast.checkpointRestoring": "Authority Checkpoint restoring…",
"authority.toast.checkpointWritten": "Authority Checkpoint written: rev {revision}",
"authority.toast.checkpointWriteFailed": "Authority Checkpoint write failed: {error}",
"authority.toast.checkpointWriting": "Authority Checkpoint writing…",
"authority.toast.copyPathFailed": "Copy path failed: {error}",
"authority.toast.diagnosticDeleted": "Diagnostics bundle deleted",
"authority.toast.diagnosticDeleteFailed": "Diagnostics bundle delete failed: {error}",
"authority.toast.diagnosticDownloaded": "Diagnostics bundle downloaded",
"authority.toast.diagnosticDownloadFailed": "Diagnostics bundle download failed: {error}",
"authority.toast.diagnosticPathCopied": "Diagnostics bundle path copied",
"authority.toast.diagnosticReadFailed": "Diagnostics bundle read failed: {error}",
"authority.toast.repairCompleted": "Authority replica sync completed ({count} steps)",
"authority.toast.repairFailed": "Authority replica sync failed: {error}",
"authority.toast.repairHandedOff": "Authority replica sync handed off to async Job ({count} steps)",
"authority.toast.repairPartialFailure": "Authority replica sync partially failed; memory graph is unaffected ({count} steps)",
"authority.toast.repairRunning": "Authority replica sync running…",
"authority.toast.triviumRebuildFailed": "Authority Trivium rebuild failed: {error}",
"memory.type.character": "Character",
"memory.type.event": "Event",
"memory.type.location": "Location",
"memory.type.pov_memory": "POV Memory",
"memory.type.reflection": "Reflection",
"memory.type.rule": "Rule",
"memory.type.synopsis": "Global Synopsis (legacy)",
"memory.type.thread": "Thread",
"scope.badge.characterPov": "Character POV · {owner}",
"scope.badge.objectiveGlobal": "Objective · Global",
"scope.badge.objectiveRegion": "Objective · {region}",
"scope.badge.userPov": "User POV · {owner}",
"scope.owner.character": "Character",
"scope.owner.unnamed": "Unnamed",
"scope.owner.user": "User",
"scope.meta.characterPov": "Character POV: {owner}",
"scope.meta.userPov": "User POV: {owner}",
"scope.region.path": "Region path: {path}",
"scope.region.primary": "Primary region: {region}",
"scope.region.secondary": "Secondary regions: {regions}",
"storyTime.meta": "Story time: {time}",
"storyTime.mixed": "mixed",
"storyTime.mixedTime": "Mixed time",
"planner.llmPreset.global": "Follow Global API",
"planner.llmPreset.legacy": "Legacy ENA Dedicated Connection (Compat)",
"planner.llmPreset.legacyWarning": "Still using the legacy ENA dedicated connection. Switching to global or a preset will discard this hidden config.",
"planner.llmPreset.missingPresetFallback": "Fell back to Global: preset {name} not found",
"planner.llmPreset.switchedToGlobal": "Switched to follow Global BME API",
"planner.llmPreset.keepingLegacy": "Keeping legacy ENA dedicated connection",
"planner.llmPreset.presetNotFound": "Selected API preset does not exist; fell back to Global",
"planner.llmPreset.switchedToPreset": "Switched to API preset: {name}",
"planner.promptBlock.namePlaceholder": "Block name",
"planner.promptBlock.contentPlaceholder": "Prompt content…",
"planner.promptBlock.moveUp": "Move up",
"planner.promptBlock.moveDown": "Move down",
"planner.promptBlock.deleteBlock": "Delete block",
"planner.promptBlock.newBlock": "New block",
"planner.promptBlock.confirmReset": "Reset prompt blocks to default? Current blocks will be overwritten.",
"planner.template.selectPlaceholder": "-- Select template --",
"planner.template.newTemplateName": "New template name",
"planner.template.selectOrCreateFirst": "Please select or create a template first",
"planner.log.noLogs": "No logs yet",
"planner.log.success": "OK",
"planner.log.failure": "Failed",
"planner.log.noMessages": "No messages",
"planner.log.requestMessages": "Request messages ({count})",
"planner.log.rawReply": "Raw reply",
"planner.log.filteredReply": "Filtered reply",
"planner.log.confirmClear": "Clear all logs?",
"planner.status.enabled": "Enabled",
"planner.status.disabled": "Disabled",
"planner.status.ready": "Ready",
"planner.status.saving": "Saving…",
"planner.status.saved": "Saved",
"planner.status.saveFailed": "Save failed",
"planner.status.apiNotReady": "API not ready",
"planner.status.testing": "Testing…",
"planner.status.testComplete": "Planner test completed",
"planner.status.testFailed": "Planner test failed",
"planner.status.resetting": "Resetting…",
"planner.status.resetToDefault": "Restored defaults",
"planner.status.resetFailed": "Reset failed",
"planner.status.moduleNotLoaded": "Module not loaded",
"planner.status.unavailable": "Unavailable",
"planner.status.fetchModelsFailed": "Failed to fetch models",
"planner.status.noModelsFetched": "No models fetched",
"planner.status.modelsFetched": "Fetched {count} model(s)",
"planner.status.fetchingModels": "Fetching models…",
"planner.apiKey.hide": "Hide",
"planner.apiKey.show": "Show",
"planner.model.selectFromList": "-- Select from list --",
"planner.taskPreset.workspaceNotFound": "Task preset workspace not found. Please switch to Tasks → Planner manually.",
"planner.taskPreset.workspaceSwitched": "Switched to Tasks → Planner preset editor",
"planner.debug.diagnosing": "Diagnosing…",
"planner.debug.failed": "Diagnostics failed",
"authority.mode.standalone": "Frontend-only mode",
"authority.mode.standalone.meta": "No server-side enhancement detected; BME will continue running locally",
"authority.mode.standalone.disabled.meta": "Server-side enhancement is disabled; BME will continue running locally",
"authority.mode.standalone.noAuthority.meta": "No DOA/Authority detected; automatically using the local stable path",
"authority.mode.probing": "Probing",
"authority.mode.probing.meta": "Detecting server-side enhancement capabilities",
"authority.mode.shadow": "Server shadow sync",
"authority.mode.shadow.meta": "DOA/Authority available, but currently prioritizing the local path",
"authority.mode.candidate": "Server enhancement preparing",
"authority.mode.candidate.meta.storageReady": "Graph server storage available; vector enhancement still awaiting capability confirmation",
"authority.mode.candidate.meta.vectorReady": "Vector server capability available; graph server storage still awaiting capability confirmation",
"authority.mode.enhanced": "Server enhancement enabled",
"authority.mode.enhanced.meta.manifestReady": "Graph and vector storage enhanced; server vector manifest available",
"authority.mode.enhanced.meta.noManifest": "Graph and vector storage enhanced; awaiting BME vector manifest capability",
"authority.mode.enhanced.meta.noJobs": "Graph and vector storage enhanced; server job capability unavailable",
"authority.mode.degraded": "Automatically rolled back",
"authority.mode.degraded.unhealthy.meta": "Server enhancement temporarily unavailable: {reason}",
"authority.mode.degraded.capabilityNotReady.meta": "DOA/Authority connected, but critical capabilities not ready: {reason}",
};