mirror of
https://github.com/Youzini-afk/ST-Bionic-Memory-Ecology.git
synced 2026-06-13 18:31:16 +08:00
576 lines
34 KiB
JavaScript
576 lines
34 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.actions.reExtract": "Re-extract",
|
|
"panel.actions.manualCompress": "Manual Compress",
|
|
"panel.actions.generateSynopsis": "Generate Synopsis",
|
|
"panel.actions.summaryRollup": "Summary Rollup",
|
|
"panel.actions.rebuildSummaryState": "Rebuild Summary State",
|
|
"panel.actions.forceEvolve": "Force Evolve",
|
|
"panel.actions.executeSleep": "Execute Sleep",
|
|
"panel.actions.undoMaintenance": "Undo Last Maintenance",
|
|
"panel.actions.rebuildVector": "Rebuild Vectors",
|
|
"panel.actions.rangeRebuild": "Range Rebuild",
|
|
"panel.actions.directReembed": "Direct Re-embed",
|
|
"panel.actions.exportGraph": "Export Graph",
|
|
"panel.actions.importGraph": "Import Graph",
|
|
"panel.actions.rebuildGraph": "Rebuild Graph",
|
|
"panel.actions.retryPersist": "Retry Persist",
|
|
"panel.actions.reprobeGraph": "Re-probe Graph",
|
|
"panel.actions.rebuildLocalCache": "Rebuild Local Cache",
|
|
"panel.actions.repairSidecar": "Repair Primary Sidecar",
|
|
"panel.actions.compactSidecar": "Compact Primary Sidecar",
|
|
"panel.actions.exportDiagnostics": "Export Diagnostics Bundle",
|
|
"panel.actions.extractStartPlaceholder": "Leave empty = current re-extract",
|
|
"panel.actions.extractEndPlaceholder": "Leave empty = to latest",
|
|
|
|
"panel.api.fetchModels": "Fetch Models",
|
|
"panel.api.testLlm": "Test Memory LLM",
|
|
"panel.api.testEmbedding": "Test Embedding",
|
|
"panel.api.embedBackendUrlPlaceholder": "Required only for Ollama / llama.cpp / vLLM",
|
|
|
|
"panel.preset.saveTitle": "Overwrite save current preset",
|
|
"panel.preset.saveAsTitle": "Save as new preset",
|
|
"panel.preset.deleteTitle": "Delete current preset",
|
|
"panel.preset.saveAs": "Save As",
|
|
|
|
"panel.dashboard.label.currentChat": "Current Chat",
|
|
|
|
"panel.toggles.hideOldMessages": "Enable Old Floor Hiding",
|
|
"panel.toggles.limitRenderFloors": "Limit Chat Rendered Floors",
|
|
"panel.toggles.enableDebugLog": "Enable Debug Logging",
|
|
"panel.toggles.forceDisableNative": "Globally Force Disable Native",
|
|
"panel.toggles.failOpenFallback": "Fail-open Fallback",
|
|
"panel.toggles.nativeLayoutWorker": "Graph Layout uses native Worker / WASM",
|
|
"panel.toggles.nativePersistDelta": "Persist Delta uses native acceleration",
|
|
"panel.toggles.nativeHydrate": "Snapshot Hydrate uses native acceleration",
|
|
"panel.toggles.backupToCloud": "Backup to Cloud",
|
|
"panel.toggles.restoreFromCloud": "Restore from Cloud Backup",
|
|
"panel.toggles.manageServerBackups": "Manage Server Backups",
|
|
"panel.toggles.rollbackLastRestore": "Rollback Last Restore",
|
|
"panel.toggles.wiFilterKeywordsPlaceholder": "Comma-separated, e.g.: BME,mvu,test",
|
|
"panel.toggles.hideOldKeepLastNPlaceholder": "0 = no hiding",
|
|
"panel.toggles.renderLimitPlaceholder": "0 = no render limit",
|
|
"panel.toggles.hideOldStatusNotApplied": "Not applied",
|
|
"panel.toggles.reapplyHide": "Reapply Current Hiding",
|
|
"panel.toggles.clearAllHide": "Clear All Hiding",
|
|
"panel.toggles.extractDelayLatest": "Delay auto-extract by one floor",
|
|
"panel.toggles.extractIncludeSummaries": "Include active summaries on extraction",
|
|
"panel.toggles.extractIncludeStoryTime": "Include story timeline on extraction",
|
|
"panel.toggles.enableVectorPrefilter": "Enable Vector Pre-filter",
|
|
"panel.toggles.enableGraphDiffusion": "Enable Graph Diffusion",
|
|
"panel.toggles.enableMultiIntent": "Enable Multi-intent Split",
|
|
"panel.toggles.enableTemporalLinks": "Enable Temporal Chain Composite Edges",
|
|
"panel.toggles.enableScopedMemory": "Enable Scoped Memory Recall",
|
|
"panel.toggles.enableRegionObjective": "Enable Region Objective Weighting",
|
|
"panel.toggles.enableCognitiveMemory": "Enable Multi-character Cognition Layer",
|
|
"panel.toggles.enableSpatialAdjacency": "Enable Region Adjacency Graph",
|
|
"panel.toggles.enableStoryTimeline": "Enable Story Timeline Layer",
|
|
"panel.toggles.enableStoryTimeSoftDirecting": "Enable Story Time Soft Directing",
|
|
"panel.toggles.injectStoryTimeLabel": "Inject Story Time Label",
|
|
"panel.toggles.injectUserPovMemory": "Inject User POV Memory",
|
|
"panel.toggles.injectObjectiveGlobalMemory": "Inject Minor Global Objective Memory",
|
|
"panel.toggles.injectLowConfidenceObjective": "Allow Low-confidence Objective Memory Direct Injection",
|
|
"panel.toggles.enableContextQueryBlend": "Enable Context-blended Query",
|
|
"panel.toggles.enableLexicalBoost": "Enable Lexical Hit Score Boost",
|
|
"panel.toggles.enableDppDiversity": "Enable DPP Diversity Dedup",
|
|
"panel.toggles.enableCooccurrence": "Enable Co-occurrence Boost",
|
|
"panel.toggles.enableResidualRecall": "Enable Weak-signal Residual Recall",
|
|
"panel.toggles.enableLlmRefine": "Enable LLM Refinement",
|
|
"panel.toggles.triggerPatternsPlaceholder": "sudden,truth,secret,betrayal or regex",
|
|
"panel.toggles.maintenanceModeAria": "Maintenance execution mode",
|
|
"panel.toggles.maintenanceModeTitle": "1 Strict serial; 2 Balanced; 3 Fast background (eventually consistent)",
|
|
"panel.toggles.modeStrictAria": "1 Strict serial",
|
|
"panel.toggles.modeBalancedAria": "2 Balanced acceleration",
|
|
"panel.toggles.modeFastAria": "3 Fast background",
|
|
|
|
"panel.cleanup.clearGraph": "Clear Current Graph",
|
|
"panel.cleanup.clearGraphRange": "Clear by Floor Range",
|
|
"panel.cleanup.clearSummaryState": "Clear Current Chat Summary State",
|
|
"panel.cleanup.clearVectorCache": "Clear Vector Cache",
|
|
"panel.cleanup.clearExtractHistory": "Clear Extraction History",
|
|
"panel.cleanup.deleteCurrentIdb": "Clear Current Chat Local Storage",
|
|
"panel.cleanup.deleteAllIdb": "Clear All BME Local Storage",
|
|
"panel.cleanup.deleteServerSync": "Clear Server Sync Data",
|
|
|
|
"panel.planner.runTest": "Run Planner Test",
|
|
"panel.planner.testInputPlaceholder": "Enter a plot description to test planner output...",
|
|
"panel.planner.excludeTagsPlaceholder": "action options, UpdateVariable, StatusPlaceHolderImpl",
|
|
"panel.planner.debugWorldBook": "Diagnose World Book",
|
|
"panel.planner.debugCharCard": "Diagnose Character Card",
|
|
"panel.planner.refresh": "Refresh",
|
|
"panel.planner.exportJson": "Export JSON",
|
|
"panel.planner.clearLogs": "Clear Logs",
|
|
|
|
"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}",
|
|
};
|