新增: Phase2 阶段收尾(Sprint 1-20)

重构:删 5 零引用 crate(df-evolve/plugin/stages/task/traceability)+ 清死模块、ai.rs 拆 11 子 module、ai.ts 拆 6 composable、i18n 拆目录
功能:知识库全栈(df-project/scan + CRUD + 时间线 + 前端)、Settings 拆分、appSettings KV 迁移、模型池、LLM 并发 Semaphore
修复:审批持久化根治、ConditionEngine 默认拒绝、NodeRegistry unimplemented 清除、promote 补偿删除、工具结果截断 50KB、路径校验防 symlink 逃逸
文档:B-03 人工审批设计、决策记录三分档、规格契约自检、经验记录、todo 看板、PROGRESS 更新

详见 PROGRESS.md。src-tauri/儿童每日打卡应用/ 与本项目无关,已排除。
This commit is contained in:
2026-06-14 14:08:20 +08:00
parent 98393b4908
commit cf017f81e2
167 changed files with 19549 additions and 6886 deletions

View File

@@ -1,16 +1,26 @@
import { createI18n } from 'vue-i18n'
import zhCN from './zh-CN'
import en from './en'
import { useAppSettingsStore } from '../stores/appSettings'
// 界面语言:模块加载时 appSettings 缓存尚未填充(loadAll 在 App.vue onMounted 异步执行),
// 故这里 get() 拿到默认 'zh-CN';真实用户偏好由 App.vue 在 loadAll 完成后回填到
// i18n.global.locale.value,初帧渲染短暂 zh-CN 不影响功能。
const getInitialLocale = () => {
if (typeof window !== 'undefined') {
return useAppSettingsStore().get<string>('df-language', 'zh-CN')
}
return 'zh-CN'
}
// 界面语言:跟随 localStorage 中用户选择,默认简体中文
const i18n = createI18n({
legacy: false,
globalInjection: true, // 模板中可直接用 $t / $tc
locale: localStorage.getItem('df-language') || 'zh-CN',
locale: getInitialLocale(),
fallbackLocale: 'en',
messages: {
'zh-CN': zhCN,
en,
'zh-CN': zhCN as Record<string, any>,
en: en as Record<string, any>,
},
})