{
"zh": {
"shared": "共享",
"settings": "设置",
"manage": "管理",
"language": "语种",
"loading": "正在加载",
"latest": "最新",
"workspace": "工作区",
"providers": "Agent",
"search": "搜索",
"sort": "排序",
"visible": "展示数量",
"recentSessions": "最近会话",
"workspaceView": "当前工作区",
"workspacePath": "工作区路径",
"switchWorkspace": "切换工作空间",
"listOptions": "列表选项",
"import": "导入",
"openSettings": "打开设置",
"openManager": "打开管理器",
"all": "全部",
"recentFirst": "最近活跃",
"titleAsc": "标题 A-Z",
"noWorkspace": "当前还没有已记录的工作区。",
"emptySessions": "当前筛选下没有会话。",
"view": "查看",
"switch": "迁移",
"export": "导出",
"share": "共享",
"remove": "删除",
"rename": "重命名",
"back": "返回",
"overview": "概览",
"messages": "消息",
"details": "详情",
"openShared": "查看共享组",
"sharedGroups": "共享会话",
"noSharedGroups": "还没有共享会话。",
"holdings": "持有映射",
"addHolding": "绑定",
"syncLatest": "同步最新",
"syncFromThis": "以此同步",
"unbind": "解绑",
"pushSyncTitle": "推送同步",
"pushSyncHint": "将这个 holding 当前内容覆盖到其他所有订阅方。",
"unbindHint": "移除后这个会话不会再参与共享同步。",
"syncComplete": "同步完成",
"createShared": "创建共享组",
"settingsTitle": "Web 设置",
"managerTitle": "会话管理器",
"save": "保存",
"cancel": "取消",
"confirm": "确认",
"backup": "备份",
"close": "关闭",
"create": "创建",
"done": "完成",
"title": "标题",
"provider": "Provider",
"targetProviders": "目标 Provider",
"outputPrefix": "输出前缀",
"format": "格式",
"fileOrId": "文件路径或会话 ID",
"fileOrIdPlaceholder": "/path/to/file.morph",
"targetDir": "目标目录",
"sourceProvider": "来源 Provider",
"targetProvider": "目标 Provider",
"target": "目标",
"source": "来源",
"sessionId": "会话 ID",
"backupDir": "备份目录",
"olderThanDays": "多久之前",
"largerThanMb": "最小大小 MB",
"workspaceHistory": "工作区历史",
"workspaceHistoryHint": "选择后会立即切换并记录到配置。",
"moveUp": "上移",
"moveDown": "下移",
"primary": "主展示",
"homeButtons": "首页按钮",
"showView": "显示查看",
"showSwitch": "显示迁移",
"showExport": "显示导出",
"showShare": "显示共享",
"showDelete": "显示删除",
"preview": "预览",
"cleanSelected": "清理选中",
"backupSelected": "备份选中",
"selectedWorkspace": "当前工作区",
"copied": "已更新",
"deleted": "已删除",
"success": "成功",
"exported": "导出完成",
"imported": "导入完成",
"switched": "迁移完成",
"sharedCreated": "共享组已创建",
"saved": "已保存",
"refreshed": "已刷新",
"managerPreview": "命中结果",
"noMessages": "这个会话没有消息。",
"noDetails": "没有更多信息。",
"showSubagents": "显示 OpenCode subagents",
"sessionsPerProvider": "每个 Provider 显示数量",
"sharedTitle": "共享会话",
"appSubtitle": "现在的 Web 版本完全由独立前端驱动,后续桌面端也复用这一套界面。",
"workspaces": "工作区",
"browse": "浏览",
"folderPickerUnavailable": "当前环境不支持系统文件夹选择器,请直接输入路径。",
"filters": "筛选",
"more": "更多",
"history": "历史",
"apply": "应用",
"go": "前往",
"shown": "当前显示",
"sessionsStat": "会话",
"terminalAgents": "终端 Agent",
"openHome": "主页",
"deleteConfirm": "确认删除这个会话?",
"removeSharedConfirm": "确认删除这个共享组?",
"deleteProviderSessions": "同时删除底层 Provider 会话",
"noSelection": "请选择至少一项。",
"managerSummary": "共 {count} 条,会释放/备份 {size}",
"selectAll": "全选",
"appReady": "新前端已接管 Web 入口。",
"updatedAt": "更新时间",
"lastSync": "上次同步",
"syncFrom": "同步来源",
"error": "错误",
"resumeCommand": "恢复命令",
"createdAt": "创建时间",
"projectDir": "项目目录",
"lastActiveAt": "最近活跃",
"sourcePath": "源路径",
"size": "大小",
"targetWorkspaceHint": "可以填当前会话工作区,也可以改成另一个历史工作区。",
"workspaceFieldHint": "支持直接输入,也可以从历史工作区中选择。",
"messageCount": "消息数",
"activeShared": "共享中",
"errors": "错误",
"filesAndErrors": "文件与错误",
"files": "文件",
"backupDirPlaceholder": "./backups",
"searchPlaceholder": "会话 ID / 标题 / 路径",
"emptyCreatesNewHolding": "留空时创建新的投影会话",
"sessionGroupCount": "{count} 个会话",
"managerCleaned": "已清理",
"managerFailed": "失败",
"managerFreed": "已释放",
"managerExported": "已导出",
"notFound": "页面不存在",
"thinking": "思考",
"toolUse": "工具调用",
"toolResult": "工具结果",
"file": "文件",
"image": "图片",
"modalHint": "所有操作都直接走新的 JSON API。",
"openSession": "打开会话",
"openDetail": "打开详情",
"sharedOverview": "在多个 Agent 会话之间同步同一份记忆。",
"switchHint": "不再使用旧弹窗链路,直接调用迁移接口。",
"settingsLanguageHint": "切换 Web 界面语言。",
"settingsSessionsHint": "设置每个终端 Agent 默认显示的会话数量。",
"settingsSubagentsHint": "显示 OpenCode 子 agent 会话。",
"settingsHomeButtonsHint": "控制首页显示哪些快捷操作按钮。",
"settingsProvidersHint": "调整 Agent 展示顺序,并标记常用项。",
"version": "版本",
"checkUpdate": "检查更新",
"managerWorkspaceHint": "支持直接输入,也可以复用已记录的工作区路径。",
"languageNativeZh": "中文",
"languageNativeEn": "English",
"interfaceLanguage": "界面语言",
"primaryAgents": "主 Agent",
"writeConfig": "写入配置",
"allVisible": "全部展示",
"visibleState": "展示",
"foldedState": "折叠",
"enabled": "启用",
"disabled": "禁用",
"keyboardShortcuts": "键盘快捷键",
"navigation": "导航",
"general": "通用",
"help": "帮助",
"shortcutSelectSession": " ↑ / ↓ 选择会话、字段或弹窗项",
"shortcutSwitchProvider": " ← / → 切换 Provider、操作或搜索范围",
"shortcutOpenAction": " Enter 打开操作、打开选择器或执行动作",
"shortcutOpenSearch": " F 打开搜索",
"shortcutQuit": " Q 在主表格退出",
"shortcutClose": " Esc 关闭弹窗或搜索",
"shortcutSwitch": " Switch 在另一个 Agent 中创建会话",
"shortcutExport": " Export 写出 JSON 导出文件",
"shortcutRename": " Rename 重命名 Provider 会话",
"shortcutDelete": " Delete 删除 Provider 会话",
"shortcutDetails": " Details 打开独立的会话详情弹窗",
"shortcutShowHelp": " ? 显示此帮助",
"workspaceEmpty": "(未选择工作区)",
"noDir": "(无目录)",
"untitled": "(无标题)",
"empty": "(空)",
"emptyMessage": "(空消息)",
"typeLocalWorkspacePath": "输入本地工作区路径。",
"savedWorkspaces": "已保存的工作区",
"noSavedWorkspaceMatchesPath": "没有匹配这个路径的已保存工作区。",
"tuiFooterDialogSelectSave": "↑↓ 选择 Enter 保存 Esc 取消",
"tuiFooterActionFocus": "↑↓ 聚焦 ←→ 操作 Enter 打开/执行 Esc 关闭",
"tuiFooterWorkspaceModal": "输入工作区 ↑↓ 建议 Enter 保存 Esc 关闭",
"tuiFooterClose": "Esc 关闭",
"tuiFooterSearch": "输入查询 ←→ 范围 ↑↓ 结果 Enter 跳转 Esc 关闭",
"tuiFooterTopWorkspace": "←→ 顶部控件 Enter 编辑工作区 ↓ 会话 Esc 会话",
"tuiFooterTopSettings": "←→ 顶部控件 Enter 设置 ↓ 会话 Esc 会话",
"tuiFooterMain": "←→ Provider ↑↓ 会话 Enter 操作 F 搜索 Q 退出",
"editableSettings": "可编辑设置",
"providerFilter": "Provider 筛选",
"configPath": "配置",
"targetAgent": "目标 Agent",
"pressEnterChooseTargetAgent": "按 Enter 选择要迁移到的 Agent。",
"pressEnterChooseWorkspace": "按 Enter 选择或编辑目标工作区。",
"runSwitch": "执行迁移",
"whatHappens": "将会发生",
"switchPanelHint": "Memorph 会在选定工作区里为目标 Agent 写入一个新会话。",
"newTitle": "新标题",
"typeDirectlyInField": "直接在这个字段中输入。",
"runRename": "执行重命名",
"renamePanelHint": "输入新标题,然后移动到 Execute 并按 Enter。",
"warning": "警告",
"deletePanelHint": "删除会移除表格中选中的 Provider 会话。此操作无法撤销。",
"runDelete": "执行删除",
"exportPanelHint": "导出会将 JSON 文件写到所选本地路径,并自动追加 .json 后缀。",
"runExport": "执行导出",
"detailsPanelHint": "打开一个专用会话详情弹窗,展示元数据和可滚动的消息预览。",
"searchSessions": "搜索会话",
"sessionDetails": "会话详情",
"tuiFooterDetailModal": "↑↓ 滚动 Esc 关闭",
"noAgentAvailableForSwitching": "没有可用于迁移的 Agent。",
"agents": "Agents",
"typeEditPathDirectly": "直接输入来编辑路径。",
"noMatchingSavedWorkspace": "没有匹配的已保存工作区。按 Enter 保存当前输入路径。",
"suggestions": "建议",
"tuiFooterWorkspaceDialog": "输入路径 ↑↓ 建议 Enter 保存 Esc 取消",
"session": "会话",
"metadata": "元数据",
"messagePreview": "消息预览",
"sessionMetadataUnavailable": "会话元数据不可用。",
"sessionMessagesUnavailable": "会话消息不可用。",
"thisSessionHasNoMessages": "这个会话没有消息。",
"showingRange": "显示 {start}-{end} / {total}",
"result": "结果",
"enterOrEscClosesResult": "按 Enter 或 Esc 关闭此结果。",
"type": "输入",
"query": "查询",
"scope": "范围",
"matchesTitle": "匹配",
"matchesTotal": "共 {count} 条",
"noMatchingSessions": "没有匹配的会话。",
"searchWorksInsideShownSessions": "搜索只会在当前表格中显示的会话里进行。",
"tableAgent": "Agent",
"active": "活跃",
"fromLabel": "来源",
"toLabel": "目标",
"resume": "恢复",
"resumeNotAvailable": "无",
"resumeCopied": "恢复命令已复制到剪贴板。",
"clipboardCopyFailed": "复制到剪贴板失败:{error}",
"switchFailed": "迁移失败",
"switchComplete": "迁移完成",
"exportFailed": "导出失败",
"exportComplete": "导出完成",
"renameFailed": "重命名失败",
"renameComplete": "重命名完成",
"deleteFailed": "删除失败",
"deleteComplete": "删除完成",
"detailsFailed": "详情加载失败",
"noSessionSelected": "未选择会话。",
"noTargetAgentSelected": "未选择目标 Agent。",
"outputPrefixEmpty": "输出前缀不能为空。",
"titleEmpty": "标题不能为空。",
"workspaceEmptyError": "工作区不能为空。",
"settingsSavedPath": "设置已写入 {path}",
"failedLoadSessions": "加载会话失败:{error}",
"failedRefreshSessions": "刷新会话失败:{error}",
"noPlatformClipboard": "未找到可用的系统剪贴板命令",
"justNow": "刚刚",
"minutesAgo": "{count} 分钟前",
"hoursAgo": "{count} 小时前",
"daysAgo": "{count} 天前",
"toolCall": "工具调用",
"toolResultLabel": "工具结果",
"imageAttachment": "图片附件",
"tuiFooterActionSelect": "↑↓ 聚焦 ←→ 操作 Enter 下一步 Esc 关闭",
"tuiFooterChooseTarget": "↑↓ 聚焦 Enter 选择目标 Esc 关闭",
"tuiFooterChooseWorkspace": "↑↓ 聚焦 Enter 选择工作区 Esc 关闭",
"tuiFooterTypePathRun": "输入路径 ↑↓ 聚焦 Enter 执行 Esc 关闭",
"tuiFooterTypeTitleRun": "输入标题 ↑↓ 聚焦 Enter 执行 Esc 关闭",
"tuiFooterExecute": "↑↓ 聚焦 Enter 执行 Esc 关闭",
"cliExportedFile": "已导出:{file}",
"cliImportedSession": "已导入到 {provider}: {session_id}",
"cliResumeWith": "恢复命令:{command}",
"cliRemovedSession": "已从 {provider} 移除会话:{session_id}",
"cliRenamedSession": "已在 {provider} 中重命名会话:{session_id} -> {title}",
"cliSwitchedSession": "已从 {from} 迁移到 {to}",
"cliAtLeastOneFilter": "至少需要一个筛选条件:--dir、--session 或 --provider",
"cliMatchesHeader": "{provider}({count} 条匹配):",
"cliAndMore": "…… 还有 {count} 条",
"cliNoSessionsMatchingCriteria": "没有匹配条件的会话。",
"cliTotalSessionsFound": "共找到 {count} 个会话",
"cliSharedGroupCreated": "已创建共享组:{id}",
"cliHoldingAdded": "已绑定 holding:{id} | {provider} | {session_id}",
"cliHoldingRemoved": "已移除 holding:{id}",
"cliSharedGroupRemoved": "已删除共享组:{id}",
"cliSharedGroupRenamed": "已重命名共享组:{id} -> {title}",
"cliNoSharedGroups": "没有共享组。",
"cliListGroupHeader": "{id} | {title} | holdings={count} | updated={updated}",
"cliStatusGroupHeader": "{id} | {title} | created={created} | updated={updated}",
"cliHoldingListItem": "{id} | {provider} | {session_id} | dir={dir} | sync_from={sync_from} | error={error}",
"cliHoldingStatusItem": "{id} | {provider} | {session_id} | active_at={active} | sync_at={sync_at} | sync_from={sync_from}",
"cliHoldingError": "error={error}",
"cliSyncComplete": "同步完成:source={source} | success={success} | errors={count}",
"cliPushSyncComplete": "推送同步完成:source={source} | success={success} | errors={count}",
"cliStartApiServer": "正在启动 memorph API 服务。",
"cliUseMemorphWeb": "Web UI 请使用 `memorph web`。",
"cliDetectedInstallSource": "检测到安装来源:{source}",
"cliRunningCommand": "运行:{command}",
"cliUpdateComplete": "更新完成。运行 `memorph --version` 或 `memo --version` 验证。",
"cliDetectInstallSourceHelp": "无法检测 memorph 的安装方式。\n请手动尝试以下命令之一:\n- npm install -g memorph@latest\n- python -m pip install --upgrade memorph\n- pipx upgrade memorph\n- uv tool upgrade memorph\n- cargo install memorph --force",
"cliStartWebUi": "正在启动 memorph Web UI。",
"cliRecommendedCommand": "推荐命令:memorph web",
"cliLegacyCommand": "`memorph serve` 仍然可用,但推荐使用 `memorph web`。",
"cliNeedApiOnly": "只需要 API?使用 `memorph api`。",
"cliSessionListHeader": "{provider}({count} 个会话):",
"cliNoSessionsFound": "没有会话。",
"cliNoSessionsInWorkspace": "当前工作区没有会话:{workspace}\n使用 --all 查看全部会话。",
"cliTotalSessionsShown": "共显示 {count} 个会话",
"unknownProvider": "未知 Provider:{provider}"
},
"en": {
"shared": "Shared",
"settings": "Settings",
"manage": "Manage",
"language": "Language",
"loading": "Loading",
"latest": "Latest",
"workspace": "Workspace",
"providers": "Agents",
"search": "Search",
"sort": "Sort",
"visible": "Visible",
"recentSessions": "Recent Sessions",
"workspaceView": "Current Workspace",
"workspacePath": "Workspace Path",
"switchWorkspace": "Switch Workspace",
"listOptions": "List Options",
"import": "Import",
"openSettings": "Open Settings",
"openManager": "Open Manager",
"all": "All",
"recentFirst": "Recent Activity",
"titleAsc": "Title A-Z",
"noWorkspace": "No recorded workspace yet.",
"emptySessions": "No sessions match the current filters.",
"view": "View",
"switch": "Switch",
"export": "Export",
"share": "Share",
"remove": "Delete",
"rename": "Rename",
"back": "Back",
"overview": "Overview",
"messages": "Messages",
"details": "Details",
"openShared": "Open Shared Group",
"sharedGroups": "Shared Sessions",
"noSharedGroups": "No shared sessions yet.",
"holdings": "Holdings",
"addHolding": "Bind",
"syncLatest": "Sync Latest",
"syncFromThis": "Sync From Here",
"unbind": "Unbind",
"pushSyncTitle": "Push Sync",
"pushSyncHint": "Overwrite all other subscribers with this holding's current content.",
"unbindHint": "After removing, this session will no longer participate in shared sync.",
"syncComplete": "Sync Complete",
"createShared": "Create Shared Group",
"settingsTitle": "Web Settings",
"managerTitle": "Session Manager",
"save": "Save",
"cancel": "Cancel",
"confirm": "Confirm",
"backup": "Backup",
"close": "Close",
"create": "Create",
"done": "Done",
"title": "Title",
"provider": "Provider",
"targetProviders": "Target Providers",
"outputPrefix": "Output Prefix",
"format": "Format",
"fileOrId": "File Path or Session ID",
"fileOrIdPlaceholder": "/path/to/file.morph",
"targetDir": "Target Directory",
"sourceProvider": "Source Provider",
"targetProvider": "Target Provider",
"target": "Target",
"source": "Source",
"sessionId": "Session ID",
"backupDir": "Backup Directory",
"olderThanDays": "Older Than Days",
"largerThanMb": "Min Size MB",
"workspaceHistory": "Workspace History",
"workspaceHistoryHint": "Selecting one switches immediately and records it in the config.",
"moveUp": "Up",
"moveDown": "Down",
"primary": "Primary",
"homeButtons": "Home Buttons",
"showView": "Show View",
"showSwitch": "Show Switch",
"showExport": "Show Export",
"showShare": "Show Share",
"showDelete": "Show Delete",
"preview": "Preview",
"cleanSelected": "Clean Selected",
"backupSelected": "Backup Selected",
"selectedWorkspace": "Selected Workspace",
"copied": "Updated",
"deleted": "Deleted",
"success": "Success",
"exported": "Export Complete",
"imported": "Import Complete",
"switched": "Switch Complete",
"sharedCreated": "Shared Group Created",
"saved": "Saved",
"refreshed": "Refreshed",
"managerPreview": "Matched Items",
"noMessages": "This session has no messages.",
"noDetails": "No additional details.",
"showSubagents": "Show OpenCode subagents",
"sessionsPerProvider": "Sessions per provider",
"sharedTitle": "Shared Sessions",
"appSubtitle": "The web UI is now fully driven by a standalone frontend that will also back the desktop shell.",
"workspaces": "Workspaces",
"browse": "Browse",
"folderPickerUnavailable": "The system folder picker is only available in the desktop app. Type the path manually here.",
"filters": "Filters",
"more": "More",
"history": "History",
"apply": "Apply",
"go": "Go",
"shown": "Shown",
"sessionsStat": "Sessions",
"terminalAgents": "Terminal Agents",
"openHome": "Home",
"deleteConfirm": "Delete this session?",
"removeSharedConfirm": "Delete this shared group?",
"deleteProviderSessions": "Also delete provider sessions",
"noSelection": "Select at least one item.",
"managerSummary": "{count} items, {size} total",
"selectAll": "Select all",
"appReady": "The new frontend now owns the web entry point.",
"updatedAt": "Updated At",
"lastSync": "Last Sync",
"syncFrom": "Sync From",
"error": "Error",
"resumeCommand": "Resume Command",
"createdAt": "Created At",
"projectDir": "Project Dir",
"lastActiveAt": "Last Active",
"sourcePath": "Source Path",
"size": "Size",
"targetWorkspaceHint": "Use the current session workspace or change it to another known workspace.",
"workspaceFieldHint": "You can type directly or reuse a recorded workspace.",
"messageCount": "Messages",
"activeShared": "Shared",
"errors": "Errors",
"filesAndErrors": "Files / Errors",
"files": "Files",
"backupDirPlaceholder": "./backups",
"searchPlaceholder": "session id / title / path",
"emptyCreatesNewHolding": "Leave empty to create a new projection",
"sessionGroupCount": "{count} sessions",
"managerCleaned": "cleaned",
"managerFailed": "failed",
"managerFreed": "freed",
"managerExported": "exported",
"notFound": "Not found",
"thinking": "thinking",
"toolUse": "tool_use",
"toolResult": "tool_result",
"file": "file",
"image": "image",
"modalHint": "Every action now goes through the JSON API.",
"openSession": "Open Session",
"openDetail": "Open Detail",
"sharedOverview": "Sync the same memory across multiple agent sessions.",
"switchHint": "The old server-rendered modal chain is gone; this calls the switch API directly.",
"settingsLanguageHint": "Switch the Web interface language.",
"settingsSessionsHint": "Set how many sessions each terminal agent shows by default.",
"settingsSubagentsHint": "Show OpenCode subagent sessions.",
"settingsHomeButtonsHint": "Choose which quick action buttons appear on the home page.",
"settingsProvidersHint": "Adjust provider order and mark primary items.",
"version": "Version",
"checkUpdate": "Check Update",
"managerWorkspaceHint": "You can type directly or reuse a recorded workspace path.",
"languageNativeZh": "中文",
"languageNativeEn": "English",
"interfaceLanguage": "Interface Language",
"primaryAgents": "Primary Agents",
"writeConfig": "Write config",
"allVisible": "All visible",
"visibleState": "Visible",
"foldedState": "Folded",
"enabled": "Enabled",
"disabled": "Disabled",
"keyboardShortcuts": "Keyboard Shortcuts",
"navigation": "Navigation",
"general": "General",
"help": "Help",
"shortcutSelectSession": " ↑ / ↓ Select session, field, or popup option",
"shortcutSwitchProvider": " ← / → Switch provider, action, or search scope",
"shortcutOpenAction": " Enter Open actions, open pickers, or run action",
"shortcutOpenSearch": " F Open search",
"shortcutQuit": " Q Quit from the main table",
"shortcutClose": " Esc Close modal or search",
"shortcutSwitch": " Switch Create a session in another agent",
"shortcutExport": " Export Write a JSON export file",
"shortcutRename": " Rename Rename the provider session",
"shortcutDelete": " Delete Delete the provider session",
"shortcutDetails": " Details Open a dedicated session detail popup",
"shortcutShowHelp": " ? Show this help",
"workspaceEmpty": "(no workspace)",
"noDir": "(no dir)",
"untitled": "(untitled)",
"empty": "(empty)",
"emptyMessage": "(empty message)",
"typeLocalWorkspacePath": "Type a local workspace path.",
"savedWorkspaces": "Saved Workspaces",
"noSavedWorkspaceMatchesPath": "No saved workspace matches this path.",
"tuiFooterDialogSelectSave": "↑↓ Select Enter Save Esc Cancel",
"tuiFooterActionFocus": "↑↓ Focus ←→ Action Enter Open/Run Esc Close",
"tuiFooterWorkspaceModal": "Type Workspace ↑↓ Suggestions Enter Save Esc Close",
"tuiFooterClose": "Esc Close",
"tuiFooterSearch": "Type Query ←→ Scope ↑↓ Results Enter Jump Esc Close",
"tuiFooterTopWorkspace": "←→ Top Control Enter Edit Workspace ↓ Sessions Esc Sessions",
"tuiFooterTopSettings": "←→ Top Control Enter Settings ↓ Sessions Esc Sessions",
"tuiFooterMain": "←→ Provider ↑↓ Session Enter Actions F Search Q Quit",
"editableSettings": "Editable Settings",
"providerFilter": "Provider Filter",
"configPath": "Config",
"targetAgent": "Target Agent",
"pressEnterChooseTargetAgent": "Press Enter to choose the agent to switch into.",
"pressEnterChooseWorkspace": "Press Enter to choose or edit the target workspace.",
"runSwitch": "Run Switch",
"whatHappens": "What Happens",
"switchPanelHint": "Memorph writes a new session for the selected agent in the chosen workspace.",
"newTitle": "New Title",
"typeDirectlyInField": "Type directly in this field.",
"runRename": "Run Rename",
"renamePanelHint": "Type the new title, then move to Execute and press Enter.",
"warning": "Warning",
"deletePanelHint": "Delete removes the provider session selected in the table. This action cannot be undone.",
"runDelete": "Run Delete",
"exportPanelHint": "Export writes a JSON file to the selected local path and appends the .json suffix automatically.",
"runExport": "Run Export",
"detailsPanelHint": "Open a dedicated session detail popup with metadata and a scrollable message preview.",
"searchSessions": "Search Sessions",
"sessionDetails": "Session Details",
"tuiFooterDetailModal": "↑↓ Scroll Esc Close",
"noAgentAvailableForSwitching": "No agent is available for switching.",
"agents": "Agents",
"typeEditPathDirectly": "Type to edit the path directly.",
"noMatchingSavedWorkspace": "No matching saved workspace. Enter saves the typed path.",
"suggestions": "Suggestions",
"tuiFooterWorkspaceDialog": "Type path ↑↓ Suggestions Enter Save Esc Cancel",
"session": "Session",
"metadata": "Metadata",
"messagePreview": "Message Preview",
"sessionMetadataUnavailable": "Session metadata is unavailable.",
"sessionMessagesUnavailable": "Session messages are unavailable.",
"thisSessionHasNoMessages": "This session has no messages.",
"showingRange": "Showing {start}-{end} of {total}",
"result": "Result",
"enterOrEscClosesResult": "Enter or Esc closes this result.",
"type": "Type",
"query": "Query",
"scope": "Scope",
"matchesTitle": "Matches",
"matchesTotal": "{count} total",
"noMatchingSessions": "No matching sessions.",
"searchWorksInsideShownSessions": "Search works inside the sessions currently shown in the table.",
"tableAgent": "AI",
"active": "Active",
"fromLabel": "From",
"toLabel": "To",
"resume": "Resume",
"resumeNotAvailable": "N/A",
"resumeCopied": "Resume command copied to clipboard.",
"clipboardCopyFailed": "Clipboard copy failed: {error}",
"switchFailed": "Switch failed",
"switchComplete": "Switch complete",
"exportFailed": "Export failed",
"exportComplete": "Export complete",
"renameFailed": "Rename failed",
"renameComplete": "Rename complete",
"deleteFailed": "Delete failed",
"deleteComplete": "Delete complete",
"detailsFailed": "Details failed",
"noSessionSelected": "No session selected.",
"noTargetAgentSelected": "No target agent selected.",
"outputPrefixEmpty": "Output prefix cannot be empty.",
"titleEmpty": "Title cannot be empty.",
"workspaceEmptyError": "Workspace cannot be empty.",
"settingsSavedPath": "Settings saved to {path}",
"failedLoadSessions": "Failed to load sessions: {error}",
"failedRefreshSessions": "Failed to refresh sessions: {error}",
"noPlatformClipboard": "No platform clipboard command found",
"justNow": "just now",
"minutesAgo": "{count} minutes ago",
"hoursAgo": "{count} hours ago",
"daysAgo": "{count} days ago",
"toolCall": "Tool call",
"toolResultLabel": "Tool result",
"imageAttachment": "Image attachment",
"tuiFooterActionSelect": "↑↓ Focus ←→ Action Enter Next Esc Close",
"tuiFooterChooseTarget": "↑↓ Focus Enter Choose Target Esc Close",
"tuiFooterChooseWorkspace": "↑↓ Focus Enter Choose Workspace Esc Close",
"tuiFooterTypePathRun": "Type path ↑↓ Focus Enter Run Esc Close",
"tuiFooterTypeTitleRun": "Type title ↑↓ Focus Enter Run Esc Close",
"tuiFooterExecute": "↑↓ Focus Enter Run Esc Close",
"cliExportedFile": "Exported: {file}",
"cliImportedSession": "Imported session into {provider}: {session_id}",
"cliResumeWith": "Resume with: {command}",
"cliRemovedSession": "Removed session from {provider}: {session_id}",
"cliRenamedSession": "Renamed session in {provider}: {session_id} -> {title}",
"cliSwitchedSession": "Switched from {from} to {to}",
"cliAtLeastOneFilter": "At least one filter is required: --dir, --session, or --provider",
"cliMatchesHeader": "{provider} ({count} matches):",
"cliAndMore": "... and {count} more",
"cliNoSessionsMatchingCriteria": "No sessions found matching the criteria.",
"cliTotalSessionsFound": "Total: {count} sessions found",
"cliSharedGroupCreated": "Shared group created: {id}",
"cliHoldingAdded": "Holding added: {id} | {provider} | {session_id}",
"cliHoldingRemoved": "Holding removed: {id}",
"cliSharedGroupRemoved": "Shared group removed: {id}",
"cliSharedGroupRenamed": "Shared group renamed: {id} -> {title}",
"cliNoSharedGroups": "No shared groups.",
"cliListGroupHeader": "{id} | {title} | holdings={count} | updated={updated}",
"cliStatusGroupHeader": "{id} | {title} | created={created} | updated={updated}",
"cliHoldingListItem": "{id} | {provider} | {session_id} | dir={dir} | sync_from={sync_from} | error={error}",
"cliHoldingStatusItem": "{id} | {provider} | {session_id} | active_at={active} | sync_at={sync_at} | sync_from={sync_from}",
"cliHoldingError": "error={error}",
"cliSyncComplete": "Sync complete: source={source} | success={success} | errors={count}",
"cliPushSyncComplete": "Push sync complete: source={source} | success={success} | errors={count}",
"cliStartApiServer": "Starting memorph API server.",
"cliUseMemorphWeb": "Use `memorph web` for the Web UI.",
"cliDetectedInstallSource": "Detected install source: {source}",
"cliRunningCommand": "Running: {command}",
"cliUpdateComplete": "Update complete. Run `memorph --version` or `memo --version` to verify.",
"cliDetectInstallSourceHelp": "Could not detect how memorph was installed.\nTry one of these commands manually:\n- npm install -g memorph@latest\n- python -m pip install --upgrade memorph\n- pipx upgrade memorph\n- uv tool upgrade memorph\n- cargo install memorph --force",
"cliStartWebUi": "Starting memorph Web UI.",
"cliRecommendedCommand": "Recommended command: memorph web",
"cliLegacyCommand": "`memorph serve` is still supported, but `memorph web` is recommended.",
"cliNeedApiOnly": "Need API only? Use `memorph api`.",
"cliSessionListHeader": "{provider} ({count} sessions):",
"cliNoSessionsFound": "No sessions found.",
"cliNoSessionsInWorkspace": "No sessions found in current workspace: {workspace}\nUse --all to show all sessions.",
"cliTotalSessionsShown": "Total: {count} sessions shown",
"unknownProvider": "Unknown provider: {provider}"
}
}