Files
DevFlow/src/i18n/zh-CN/settings.ts
绝尘 9c3f27f4ca 修复: workspace_root 编译期常量消除+data_dir 运行期+首次授权引导
- 删除 production 中全部 env!("CARGO_MANIFEST_DIR")引用
- workspace_root() 替换为运行期 data_dir(Tauri app_data_dir)
- 相对路径锚定改为 AllowedDirs.first_persistent_dir(),无授权时引导绑定项目
- .trash 迁到 data_dir/.trash,含自动迁移
- authz_debug → temp_dir,workspace_drive → current_dir
- run_command 默认 working_dir 改为空串
- G1 目标刷新改为每次消息覆盖(含 ai_chat_edit 路径)
- #6 评分关键词拆到独立文件 scoring_keywords.rs
- #7 promote 补偿删除 purge_with_descendants → soft_delete
- #8 关联双向同步: 后端事务 sync_related_ids + IPC + 前端全链路
- 设置面板新增数据目录显示
2026-06-27 21:32:36 +08:00

211 lines
9.7 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
export default {
settings: {
// ===== 页面标题 =====
title: '⚙️ 设置',
// ===== 左导航分类(阶段3 master-detail) =====
navAppearance: '外观',
navAiModel: 'AI 模型',
navKnowledge: '知识库',
navPerformance: '性能',
navSecurity: '安全',
navAdvanced: '高级',
// ===== 设置搜索(阶段4) =====
searchPlaceholder: '搜索设置项…',
searchNoResult: '无结果',
// ===== 即时生效反馈(阶段5 SettingRow) =====
savedHint: '✓ 已保存',
nextRoundBadge: '下次对话生效',
// ===== 连接管理(阶段7:实验功能 badge 明示暂未接入 AI) =====
experimentalBadge: '实验功能·暂未接入 AI 工具',
// ===== AI 模型配置面板 =====
panelAiProvider: '🤖 AI 模型配置',
addProvider: '+ 添加 Provider',
editProviderTitle: '编辑 Provider',
addProviderTitle: '添加 Provider',
emptyProvider: '暂无 AI 提供商,点击上方按钮添加',
badgeDefault: '默认',
actionSetDefault: '设为默认',
detailBaseUrl: 'Base URL',
detailModel: '模型',
detailApiKey: 'API Key',
detailPoolEnabled: '入负载均衡池',
detailPoolWeight: '池选择权重',
badgePoolDisabled: '已停用',
descPoolEnabled: '开启后参与主链路由/选池;关闭后仅保留配置,不被选中',
descPoolWeight: '0-100高权重优先被选为主同权重近似轮询后端 clamp [0,100]',
toastPoolUpdateOk: '负载均衡池配置已更新',
toastPoolUpdateFail: '更新负载均衡池配置失败:{msg}',
// Provider 表单
labelName: '名称',
labelProviderType: '协议类型',
labelBaseUrl: 'Base URL',
labelApiKey: 'API Key',
labelDefaultModel: '默认模型',
phProviderName: '如 DeepSeek、GLM-4',
phBaseUrl: 'https://api.deepseek.com',
phApiKey: 'sk-...',
phDefaultModel: 'deepseek-chat',
providerTypeOpenaiCompat: 'OpenAI 兼容DeepSeek / GLM v4 / OpenAI',
providerTypeAnthropic: 'Anthropic 兼容GLM 订阅 / Claude',
saving: '保存中...',
// 模型拉取(F-01 阶段6)
testConnection: '测试连接并拉取模型',
fetchingModels: '拉取中...',
fetchHintSaveFirst: '请先保存 Provider 后再拉取模型',
labelWeight: '权重',
modelListTitle: '已拉取模型({count} 个)',
modelListHint: '已启用 / 权重为本次会话内调整,下次「测试连接」会以最新探测结果覆盖',
saveModels: '保存模型配置',
toastFetchOk: '已拉取 {count} 个模型',
toastFetchFail: '拉取模型失败:{msg}',
fetchFailedTimeout: '拉取超时,请检查 Base URL 是否可达:{msg}',
fetchFailedAuth: '鉴权失败,请检查 API Key{msg}',
fetchFailedNotFound: '端点不存在,该厂商可能不支持模型列表拉取:{msg}',
toastModelEditLocalOnly: '已启用 / 权重为本地编辑,下次拉取时覆盖',
// 模型特征标签(模态 + 能力 + 探测来源;cost/intel 去除见 UX-260618-04)
tagModality: { text: '文本', vision: '视觉', audio: '音频', video: '视频' },
tagCapability: { tool_use: '工具调用', embedding: '向量', code_gen: '代码' },
tagSource: { user_set: '手动', preset_table: '预设', heuristic: '推断', default: '默认' },
// ===== 连接管理面板 =====
panelConnection: '🔗 连接管理',
addConnection: '+ 添加连接',
editConnectionTitle: '编辑连接',
addConnectionTitle: '添加连接',
emptyConnection: '暂无连接,点击上方按钮添加',
labelType: '类型',
labelHost: 'Host',
labelPort: 'Port',
labelUser: '用户名',
phConnName: 'flux_dev',
phHost: '127.0.0.1',
phPort: '3306',
phUser: 'root',
// ===== 通用设置面板 =====
panelGeneral: '🎨 通用设置',
// 阶段2 UX 重构:GeneralPanel 拆 3 Section 后各 Section 标题
sectionAppearance: '🎨 外观',
sectionPerformance: '⚡ 性能',
sectionAdvanced: '⚙️ 高级',
labelTheme: '主题',
descTheme: '深色 / 浅色模式',
themeDark: '🌙 深色模式',
themeLight: '☀️ 浅色模式',
themeSystem: '💻 跟随系统',
labelLanguage: '语言',
descLanguage: '界面显示语言',
labelAiLanguage: 'AI 对话语言',
descAiLanguage: 'AI 回复使用的默认语言',
aiLanguageAuto: '🔄 跟随界面语言',
aiLanguageZh: '🇨🇳 简体中文',
aiLanguageEn: '🇺🇸 English',
labelDataDir: '应用数据目录',
descDataDir: 'DevFlow 存储 .trash(回收站)、数据库、日志等内部数据的目录路径',
labelAutoExecute: 'AI 自动执行范围',
descAutoExecute: '控制 AI 自动执行操作的风险等级(低/中/全部接管)',
autoModeLow: '低风险(默认)',
autoModeMedium: '含中风险',
autoModeAll: '全部接管(无审批)',
autoModeAllConfirmTitle: '确认完全 AI 接管?',
autoModeAllConfirmContent: '所有操作(含高危)将自动执行,无审批。AI 可能直接执行危险操作(删文件/执行任意命令等),请确认你信任当前对话的 AI。',
labelLogLevel: '日志级别',
descLogLevel: '工作流日志详细程度',
labelShowTokenUsage: '显示 Token 用量',
descShowTokenUsage: '在对话中展示每次回复的 token 消耗',
labelStreamingMd: '流式 Markdown 渲染',
descStreamingMd: '流式生成过程中渲染代码块/列表/标题格式(未闭合代码块降级纯文本防闪烁);关闭后流式期间仅显纯文本,生成完成后才渲染完整格式',
labelGlobalConcurrency: '全局最大并发',
descGlobalConcurrency: '所有对话共享的 LLM 同时请求数上限',
labelPerConvConcurrency: '单对话并发上限',
descPerConvConcurrency: '单个对话内同时进行的 LLM 调用数(主循环 / 标题 / 提炼共享)',
labelAgentMaxIterations: 'Agent 最大轮次',
descAgentMaxIterations: 'Agentic 循环流式→工具→回传的最大轮次0=不限1-50默认 10热改下次发消息生效',
labelUnlimited: '不限',
labelAgentMaxRetries: '流式失败重试次数',
descAgentMaxRetries: '流式对话失败时自动重试次数0-10默认 3只重试未输出任何 token 的流前失败,已输出文本的失败直接放弃',
// ===== F-260619-03 Phase A: AI 工具授权目录面板 =====
panelAllowedDirs: '📁 AI 工具授权目录',
descAllowedDirs: 'AI 文件工具(读/写/列/改/搜等)仅可访问以下授权目录。项目根目录(devflow 自身)始终隐式授权,无需在此添加。未在列表内的目录访问将被拒绝。',
allowedDirsLoading: '加载中…',
allowedDirsEmpty: '暂无额外授权目录(仅项目根目录默认授权)',
allowedDirsInputPlaceholder: '输入授权目录绝对路径,如 E:/wk-lab/u-abc',
allowedDirsSelectDir: '选择目录',
allowedDirsAdd: '添加',
allowedDirsSave: '保存',
allowedDirsReload: '重载',
allowedDirsLoadFail: '加载授权目录失败',
allowedDirsDup: '该目录已在授权列表中',
allowedDirsAddFail: '添加授权目录失败',
allowedDirsRemoveFail: '删除授权目录失败',
// ===== 知识库面板 =====
panelKnowledge: '📚 知识库',
labelAutoExtract: '自动提炼知识',
descAutoExtract: '对话完成后自动从内容中提炼可复用知识(AI 提炼产候选,需人工审核)',
labelTriggerMode: '提炼触发方式',
descTriggerMode: '自动提炼的触发时机',
triggerOnComplete: '对话完成后',
triggerManualOnly: '仅手动',
labelMinMessages: '最少消息数',
descMinMessages: '对话达到此消息数才触发提炼(防闲聊噪音)',
labelAutoInject: '自动注入相关知识',
descAutoInject: '聊天时自动检索相关知识注入对话上下文',
labelVectorEnabled: '语义检索(向量)',
descVectorEnabled: '用 Embedding 向量做语义匹配,意思相近用词不同也能搜到;关闭时纯关键词匹配,零外部调用',
labelEmbeddingProvider: 'Embedding Provider',
descEmbeddingProvider: '向量化用的 AI 提供商(仅 OpenAI 兼容类型;选定后更换需重新嵌入全部知识)',
labelEmbeddingModel: 'Embedding 模型',
descEmbeddingModel: '如 embedding-3(智谱) / text-embedding-v4(阿里) / text-embedding-3-small(OpenAI)',
embeddingProviderNone: '未选择',
phEmbeddingModel: 'embedding-3',
// ===== Toast 提示 =====
toastLoadProviderFail: '加载提供商失败',
toastSaveIncomplete: '请填写完整(名称 / Base URL / API Key / 模型)',
toastSaved: '已保存',
toastSaveFail: '保存失败:{msg}',
toastDeleted: '已删除',
toastDeleteFail: '删除失败:{msg}',
toastSetDefaultOk: '已设为默认',
toastSetDefaultFail: '设置默认失败:{msg}',
toastConnIncomplete: '请填写名称和 Host',
// ===== 导入 / 导出(阶段6) =====
export: '导出',
import: '导入',
exportHint: '导出全部偏好(appSettings + 知识库配置)为 JSON 文件',
importHint: '从 JSON 文件导入并覆盖当前偏好',
importConfirm: '导入将覆盖当前的全部偏好设置(外观 / 性能 / 知识库等),确定继续?',
importSuccess: '导入成功(部分项如并发 / 轮次需重启或下次对话生效)',
importFail: '导入失败:{msg}',
exportFail: '导出失败:{msg}',
importInvalidJson: '文件不是有效的 DevFlow 设置备份(格式不符)',
importScopeNote: '范围:appSettings + 知识库配置(不含 Provider 密钥)',
// ===== 确认弹层 =====
confirmDeleteProvider: '确定删除提供商「{name}」?该操作不可恢复。',
confirmDeleteConn: '确定删除连接「{name}」?',
},
}