export default {
  aiChat: {
    // ── 多 Agent 并行执行 ──
    conflictsPending: '{n} 处冲突待处理',
    acceptA: '接受 A',
    acceptB: '接受 B',
    mergeBoth: '合并两者',
    manualResolve: '手动处理',

    // ── 对话侧栏 ──
    sidebarTitle: '对话',
    newConversation: '新对话',
    doubleClickToRename: '双击重命名',
    generating: '生成中…',
    archive: '归档',
    unarchive: '取消归档',
    pinConversation: '置顶',
    unpinConversation: '取消置顶',
    moreActions: '更多操作',
    archived: '已归档',
    archivedCount: '已归档 ({n})',
    emptyConversation: '暂无对话',
    // UX-06 §3.1:对话搜索(实时过滤标题,Ctrl+K 聚焦)
    searchPlaceholder: '搜索对话…',
    searchEmpty: '无匹配对话',
    searchShortcutHint: 'Ctrl+K',

    // ── 时间分组(侧栏) ──
    today: '今天',
    yesterday: '昨天',
    earlier: '更早',
    groupEmpty: '暂无',

    // ── Header 按钮 ──
    conversationList: '对话列表',
    maximize: '最大化',
    pendingApprovalCount: '{n} 项待审批',
    pendingApprovalHint: '点击跳转到第一个待审批项',
    restoreSidebar: '还原侧栏',
    sidebarResizeHint: '拖拽调整侧栏宽度',
    detachWindow: '分离窗口',
    closePanel: '关闭面板',
    dockRight: '吸附到主窗口右侧',
    undock: '取消吸附',
    pinOnTop: '置顶',
    unpin: '取消置顶',
    closeWindow: '关闭窗口',

    // ── 审批浮层(全局右上角)──
    approvalWaitingTitle: '有待审批请求',
    approvalWaitingDesc: '点击查看并处理',

    // ── 系统级审批浮窗(独立窗口,应用失焦时可见)──
    popupTitle: '审批待办',
    popupTagPath: '路径授权',
    popupTagRisk: '风险操作',
    popupOpenPanel: '打开审批面板',
    // 空态文案:正常空态会被 maybeAutoClose 即时关窗,此 hint 仅 close 失败时兜底
    popupEmptyHint: '正在关闭…',

    // ── Provider 状态 ──
    clickToSwitchProvider: '点击切换 Provider',
    providerNotConfigured: '未配置 AI 提供商，请在设置中添加',
    notConfigured: '未配置',

    // ── F-01 阶段6: 模型选择器(自动/指定 toggle + 下拉) ──
    autoMode: '自动',
    specifyMode: '指定',
    autoModeHint: '自动模式：路由器按场景自动选最优模型',
    specifyModeHint: '指定模式：使用下拉所选模型覆盖路由(仅主对话)',
    selectModel: '选择模型',
    noModels: '无可用模型，请在设置中拉取',

    // ── 空状态(UX-2025-20:示例问题卡片 + 无 provider 引导) ──
    emptyNoProvider: '未配置 AI 提供商',
    emptyNoProviderHint: '请在设置中添加 Provider 后开始对话',
    emptyTitle: '与 AI 助手对话',
    emptyHint: '可以说"帮我创建一个项目"或"列出所有任务"',
    // 示例问题卡片:点击自动填入并发送(4 条,DevFlow 场景相关)
    examplePrompt1: '分析这个项目的依赖关系',
    examplePrompt2: '帮我写一个工作流节点',
    examplePrompt3: '列出当前所有任务',
    examplePrompt4: '生成一个项目灵感',
    goToSettings: '去设置',
    goToSettingsHint: '分离窗口无法直接打开设置，请在主窗口的设置页配置 AI 提供商',

    // ── Provider 切换反馈(UX-2025-14) ──
    providerSwitched: '已切换到 {model}',
    providerSwitchHint: '当前模型：{model}',

    // ── 回到底部 ──
    backToBottom: '回到底部',

    // ── 待发送队列 ──
    queueTitle: '待发送 {n}/10',
    clearQueue: '清空',
    // UX-260616-06/07:队列项编辑 + 立即发送
    queueEdit: '编辑',
    queueSave: '保存',
    queueCancel: '取消',
    queueSendNow: '立即发送',

    // ── 技能 ──
    clearSkill: '取消技能',
    placeholderWithSkill: '已选技能，输入参数后回车',
    placeholderDefault: "输入消息...（/ 触发技能，{'@'} 引用实体）",
    skillNoMatch: '无匹配技能',
    skillNotLoaded: '未读取到本机技能',

    // ── UX-10: @ 实体引用(@ 触发 popover,选中插入 [类型:名] 标记) ──
    mentionHint: "{'@'} 引用项目/任务",
    mentionGroupProject: '项目',
    mentionGroupTask: '任务',
    mentionGroupIdea: '灵感',
    mentionNoMatch: '无匹配实体',
    mentionEmpty: '暂无可引用的项目/任务',

    // ── 发送 ──
    stopGenerating: '停止生成',
    // L2 状态机停止按钮三态(ConvState 派生)
    stopping: '停止中',
    stopFailedRetry: '停止失败,点击重试',

    // ── 输入提示 ──
    inputHint: 'Enter 发送 · Shift+Enter 换行',

    // ── F-260614-05 Phase 2b: 图片输入(粘贴/拖拽) ──
    // 粘贴/拖拽图片到输入框,发送时构造多模态 ContentPart[] 渲染到用户气泡
    removeImage: '移除图片',
    imagePreviewAlt: '待发送图片',
    imageTooLarge: '图片过大（上限 10MB），已跳过',
    imageLimit: '最多 {n} 张图片，已忽略多余的',
    imageReadFailed: '图片读取失败',

    // ── 确认弹层 ──
    confirmDeleteConversation: '确定删除对话「{title}」？该操作不可恢复。',
    // UX-260617-24:删除当前活跃对话的醒目提示(活跃对话误删会清空当前视图,影响更大)
    confirmDeleteActiveConversation: '「{title}」是当前正在查看的对话,删除后将清空当前视图且不可恢复,确定继续？',
    clearChat: '清空',
    confirmClearChat: '确定清空当前对话的所有消息？此操作不可恢复。',
    toastSendFail: '发送失败：{msg}',

    // ── 消息拷贝(F-260615-13) ──
    copyMsg: '复制消息',
    copied: '已复制',
    copyFailed: '复制失败',

    // ── 消息操作栏(UX-02) ──
    regenerate: '重新生成',
    regenerateFailed: '重新生成失败：{msg}',
    regenerateUnavailable: '没有可重新生成的回复',
    // fetch_url "AI 帮装 obscura" 按钮触发 sendMessage 失败的 toast(对齐 editMessageFailed 模式)
    sendFailed: '发送失败：{msg}',

    // ── UX-09: 编辑末条 user 消息并重新生成 ──
    editMessage: '编辑',
    editMessageFailed: '编辑失败：{msg}',
    editNotLastUser: '只能编辑最后一条用户消息',
    placeholderEditing: '编辑消息后回车重新生成（Esc 取消）',

    // ── 错误气泡操作入口(UX-03 / UX-260616-01) ──
    retry: '重试',
    goToSettingsAction: '去设置',

    // ── F-260616-03: 达 max_iterations 暂停态操作卡 ──
    maxRoundsReached: '已达最大轮次,是否继续?',
    maxRoundsHint: '继续将再跑一轮上限;停止则按当前结果收尾',
    continueLoop: '继续',
    stopLoop: '停止',
    continueLoopFailed: '继续失败:{msg}',
    stopLoopFailed: '停止失败:{msg}',

    // ── L1 求助协议(aichat 体验与 agent 能力系统化重构 §2.3,2026-06-21):断路器熔断求助卡 ──
    helpRequiredAck: '已记录选择,请重新描述需求以换思路/继续',

    // ── F-260619-03 Phase B: 路径授权弹窗(LLM 访问白名单外目录挂起) ──
    dirAuthRequired: '需要路径授权',
    dirAuthHint: '{tool} 想访问:{path}',
    dirAuthOnce: '本次',
    dirAuthSession: '当前会话',
    dirAuthAlways: '始终放行',
    dirAuthDeny: '拒绝',
    dirAuthFailed: '授权失败:{msg}',
    // M5:path 类拒绝二次确认(拒绝不可逆——工具返 Err、loop 续跑不再重试,与 approve 不对称,防误点)
    dirAuthDenyConfirm: '确定拒绝授权吗?该工具将立即失败,且本轮不会重试。',

    // ── Input Augmentation 层: mention/skill 注入反馈 ──
    // search_files 盲搜被白名单兜底拒绝(不应弹授权窗,直接友好提示用户改用 @引用或绝对路径)
    searchFilesBlocked: 'search_files 仅在已授权目录可用,请用 @[项目] 引用或提供绝对路径',
    // /技能 热重载(ai_reload_skills IPC)成功后提示
    skillReloaded: '技能已重新加载',
    // @引用 实体 resolve 失败(id 指向的项目/任务/灵感/技能已被删除或不可用)
    mentionUnresolved: '引用的 {kind} 已删除或不可用',
    // 同名技能冲突(scan_skills 返回 conflicts,前端提示,注入按 skills>commands>plugins 优先级取首份)
    skillConflict: '技能 {name} 存在多份定义,已采用 skills 优先级',

    // ── ⑥.4 Phase 4: @项目展开摘要(输入区预览 ──
    enrichmentBadge: '📎 已关联「{project}」({tasks} 项任务, {ideas} 项灵感)',
    enrichmentExpand: '展开上下文参考',
    enrichmentCollapse: '收起上下文参考',
    enrichmentLabel: '上下文参考',


    // ── F-15 阶段2: 手动上下文管理(清空 / 压缩) ──
    // 按钮(Header 操作区:垃圾桶 + 压缩图标)
    clearContext: '清空上下文',
    compressContext: '压缩上下文',
    // 二次确认(清空不可逆语义,防误触;历史归档保留不删)
    // 标题「清空上下文」融入正文首句;强调不可逆 + 归档分段 + AI 不再看到历史
    clearContextConfirm: '清空上下文?此操作不可逆,当前对话上下文将被归档为分段(AI 将不再看到这些历史消息)。新对话不受影响。',
    // 二次确认弹窗的危险按钮文案(ConfirmDialog dangerLabel);不传则回退 common.confirm
    clearContextDangerLabel: '清空',
    // 折叠分隔条(连续同 status 合并一条;{n}=合并的消息条数)
    contextArchived: '已归档 {n} 条消息',
    compressed: '已压缩上下文',
    compressing: '压缩中…',
    clearSuccess: '上下文已清空',
    compressSuccess: '上下文已压缩',
    compressError: '压缩失败:{msg}',
    clearError: '清空失败:{msg}',
    // 折叠条展开 / 收起
    expand: '展开',
    collapse: '收起',
    // 压缩摘要块标题(展开后 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})',

    // ── CIStatus.vue(代码提交 CI 检查状态卡)──
    ciTitle: 'CI 检查',
    ciNFailed: '{n} 项失败',
    ciNPending: '{n} 项进行中',
    ciNPassed: '{n} 项通过',
  },
}
