diff --git a/src/components/ErrorBoundary.vue b/src/components/ErrorBoundary.vue index d90f42b..eedbc0b 100644 --- a/src/components/ErrorBoundary.vue +++ b/src/components/ErrorBoundary.vue @@ -9,7 +9,7 @@
{{ $t('error.title') }}
{{ errorMessage }}
- 堆栈详情 + {{ $t('error.stackDetails') }}
{{ errorStack }}
diff --git a/src/components/ToolCard.vue b/src/components/ToolCard.vue index ffa9816..2e33a36 100644 --- a/src/components/ToolCard.vue +++ b/src/components/ToolCard.vue @@ -42,7 +42,7 @@
⚠ {{ tc.reason }}
- ⏱ 已等待 {{ formatWaitTime(waitSecs) }} + ⏱ {{ $t('aiTool.waitTime', { time: formatWaitTime(waitSecs) }) }}
diff --git a/src/components/ai/EnrichmentPanel.vue b/src/components/ai/EnrichmentPanel.vue index 47cd3ee..5c9de39 100644 --- a/src/components/ai/EnrichmentPanel.vue +++ b/src/components/ai/EnrichmentPanel.vue @@ -51,7 +51,7 @@ function toggleExpanded(current: boolean) { {{ enrichmentBadgeText }} - +
{{ $t('aiChat.enrichmentLabel') }}
{{ enrichmentDetailText }}
diff --git a/src/components/ai/PlanProgress.vue b/src/components/ai/PlanProgress.vue index 4b1c755..76d726b 100644 --- a/src/components/ai/PlanProgress.vue +++ b/src/components/ai/PlanProgress.vue @@ -26,7 +26,7 @@
- ⚠ {{ conflicts.length }} 处冲突待处理 + ⚠ {{ t('aiChat.conflictsPending', { n: conflicts.length }) }}
diff --git a/src/components/ai/TopBar.vue b/src/components/ai/TopBar.vue index d0824a6..3a63996 100644 --- a/src/components/ai/TopBar.vue +++ b/src/components/ai/TopBar.vue @@ -113,7 +113,7 @@
- + {{ goals.length }} @@ -126,7 +126,7 @@
- + {{ historyMsgs.length }} @@ -140,44 +140,44 @@
- + {{ summaryMsgs.length }}
- {{ $t('aiChat.compressedSummaryLabel') || '上下文摘要' }} #{{ summaryMsgs.length - i }} + {{ $t('aiChat.compressedSummaryLabel') }} #{{ summaryMsgs.length - i }}

{{ s.text }}

- +
-
系统提示
+
{{ $t('aiChat.contextSystemPrompt') }}
目标({{ contextInfo.goals.length }}) {{ contextInfo.goals.join('; ') || '无' }}
- 环境 + {{ $t('aiChat.contextEnvironment') }} {{ contextInfo.osInfo }}
- 压缩摘要 - {{ contextInfo.summaryCount }} 条 + {{ $t('aiChat.contextCompressedSummary') }} + {{ contextInfo.summaryCount }} {{ $t('aiChat.contextCountUnit') }}
-
增强上下文
+
{{ $t('aiChat.contextEnrichment') }}
@项目 diff --git a/src/components/project/FileExplorer.vue b/src/components/project/FileExplorer.vue index 674bc00..2349e8f 100644 --- a/src/components/project/FileExplorer.vue +++ b/src/components/project/FileExplorer.vue @@ -45,20 +45,20 @@
- - - -
diff --git a/src/i18n/en/aiChat.ts b/src/i18n/en/aiChat.ts index cc3a156..1d5a9d8 100644 --- a/src/i18n/en/aiChat.ts +++ b/src/i18n/en/aiChat.ts @@ -209,6 +209,20 @@ export default { // Compressed summary block label (before the system summary message when expanded) compressedSummaryLabel: 'Context summary', + // ── TopBar bottom context badges (tooltip + L3 full context popover labels) ── + viewGoals: 'View goals', + viewHistory: 'View history messages', + viewSummary: 'View context summary', + viewContext: 'View AI context', + contextSystemPrompt: 'System Prompt', + contextEnvironment: 'Environment', + contextCompressedSummary: 'Compressed Summary', + contextEnrichment: 'Enriched Context', + contextCountUnit: 'items', + + // ── EnrichmentPanel ── + enrichmentDismiss: 'Unlink', + // ── AE-2025-04 Session Trust ── // Auto-approval toast (same-session already approved same-kind op: same tool + same dir) autoApprovedToast: 'Auto-approved: {tool}({dir})', diff --git a/src/i18n/en/aiTool.ts b/src/i18n/en/aiTool.ts index f0a797b..a12f16c 100644 --- a/src/i18n/en/aiTool.ts +++ b/src/i18n/en/aiTool.ts @@ -8,6 +8,8 @@ export default { rejectedHint: 'User rejected this action', // B-260616-12: tool execution slow hint (frontend fallback, no backend cancel IPC) executionSlow: 'Tool "{name}" is taking longer than expected, please wait…', + // BUG-260624-02: approval pending duration hint (>2min orange, >5min red) + waitTime: '⏱ Waiting {time}', // UX-260616-01: tool execution failure marker (AR-6 keeps status=completed, red to distinguish from success) executionFailed: 'Failed', executionFailedHint: 'Tool execution failed, see details below', diff --git a/src/i18n/en/error.ts b/src/i18n/en/error.ts index e81fc39..ffedcfb 100644 --- a/src/i18n/en/error.ts +++ b/src/i18n/en/error.ts @@ -3,5 +3,6 @@ export default { title: 'Render Error', desc: 'This section failed to render due to an internal error. Try reloading.', retry: 'Retry', + stackDetails: 'Stack Details', }, } diff --git a/src/i18n/en/fileExplorer.ts b/src/i18n/en/fileExplorer.ts index f553682..a53a47e 100644 --- a/src/i18n/en/fileExplorer.ts +++ b/src/i18n/en/fileExplorer.ts @@ -20,6 +20,11 @@ export default { // Diff showDiff: 'Show Diff', showContent: 'Show Content', + // Toolbar (current module actions) + editCurrentModule: 'Edit current module', + deleteCurrentModule: 'Delete current module', + addModuleTitle: 'Add module', + detachToWindow: 'Detach to separate window', // Module management addModule: 'Add Module', adding: 'Adding…', diff --git a/src/i18n/en/tasks.ts b/src/i18n/en/tasks.ts index 93c5c5f..2939536 100644 --- a/src/i18n/en/tasks.ts +++ b/src/i18n/en/tasks.ts @@ -39,6 +39,11 @@ export default { empty: 'No tasks yet', }, confirmDelete: 'Delete task "{title}"? This action cannot be undone.', + // Quick action menu (task card quick status/priority/delete) + quickActions: 'Quick Actions', + quickStatus: 'Status', + quickPriority: 'Priority', + quickDelete: '🗑 Delete', // New task modal modal: { diff --git a/src/i18n/zh-CN/aiChat.ts b/src/i18n/zh-CN/aiChat.ts index 0e38c96..83343f4 100644 --- a/src/i18n/zh-CN/aiChat.ts +++ b/src/i18n/zh-CN/aiChat.ts @@ -210,6 +210,20 @@ export default { // 压缩摘要块标题(展开后 system 摘要消息前的标签) compressedSummaryLabel: '上下文摘要', + // ── TopBar 底部上下文徽章(tooltip + L3 完整上下文 popover 标签) ── + viewGoals: '查看目标', + viewHistory: '查看历史消息', + viewSummary: '查看上下文摘要', + viewContext: '查看 AI 上下文', + contextSystemPrompt: '系统提示', + contextEnvironment: '环境', + contextCompressedSummary: '压缩摘要', + contextEnrichment: '增强上下文', + contextCountUnit: '条', + + // ── EnrichmentPanel ── + enrichmentDismiss: '取消关联', + // ── AE-2025-04 会话级信任(Session Trust) ── // 自动放行 toast(同会话已批准过同类操作:同工具+同目录,轻量 info 非审批气泡) autoApprovedToast: '已自动放行: {tool}({dir})', diff --git a/src/i18n/zh-CN/aiTool.ts b/src/i18n/zh-CN/aiTool.ts index dd0246c..80d26e9 100644 --- a/src/i18n/zh-CN/aiTool.ts +++ b/src/i18n/zh-CN/aiTool.ts @@ -8,6 +8,8 @@ export default { rejectedHint: '用户拒绝了此操作', // B-260616-12:工具执行超时提示(前端降级,无后端取消 IPC) executionSlow: '工具「{name}」执行较久,请稍候…', + // BUG-260624-02:审批挂起时长提示(>2分钟橙色,>5分钟红色) + waitTime: '⏱ 已等待 {time}', // UX-260616-01:工具执行失败视觉标识(AR-6 下 status=completed,需红色区分于成功) executionFailed: '执行失败', executionFailedHint: '工具执行失败,详情见下方', diff --git a/src/i18n/zh-CN/error.ts b/src/i18n/zh-CN/error.ts index abfe0cf..4ef76b8 100644 --- a/src/i18n/zh-CN/error.ts +++ b/src/i18n/zh-CN/error.ts @@ -3,5 +3,6 @@ export default { title: '页面渲染异常', desc: '当前区域因内部错误无法显示,可尝试重新加载。', retry: '重试', + stackDetails: '堆栈详情', }, } diff --git a/src/i18n/zh-CN/fileExplorer.ts b/src/i18n/zh-CN/fileExplorer.ts index f50c146..82f809a 100644 --- a/src/i18n/zh-CN/fileExplorer.ts +++ b/src/i18n/zh-CN/fileExplorer.ts @@ -20,6 +20,11 @@ export default { // Diff showDiff: '查看变更', showContent: '查看内容', + // 工具栏(当前工程操作) + editCurrentModule: '编辑当前工程', + deleteCurrentModule: '删除当前工程', + addModuleTitle: '添加工程', + detachToWindow: '弹出到独立窗口', // 工程管理 addModule: '添加工程', adding: '添加中…', diff --git a/src/i18n/zh-CN/tasks.ts b/src/i18n/zh-CN/tasks.ts index a81bbcd..bf25b0d 100644 --- a/src/i18n/zh-CN/tasks.ts +++ b/src/i18n/zh-CN/tasks.ts @@ -39,6 +39,11 @@ export default { empty: '暂无任务', }, confirmDelete: '确定删除任务「{title}」吗?此操作不可撤销。', + // 快捷操作菜单(任务卡片快捷改状态/优先级/删除) + quickActions: '快捷操作', + quickStatus: '状态', + quickPriority: '优先级', + quickDelete: '🗑 删除', // 新建任务模态 modal: { diff --git a/src/views/Tasks.vue b/src/views/Tasks.vue index 44ca485..8b0a23d 100644 --- a/src/views/Tasks.vue +++ b/src/views/Tasks.vue @@ -86,23 +86,23 @@
{{ $t(statusLabel(task.status)) }} - +
-
状态
+
{{ $t('tasks.quickStatus') }}
-
优先级
+
{{ $t('tasks.quickPriority') }}
- +