mirror of
https://github.com/Youzini-afk/ST-Bionic-Memory-Ecology.git
synced 2026-06-14 02:40:45 +08:00
282 lines
15 KiB
JavaScript
282 lines
15 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}",
|
|
};
|