用户要求以 QA 视角审查 /Users/ar/Projects/Taglauncher-7.8.15-source 中 Apple 系统自带 App 默认备注本地化方案,只做方案审查和测试设计,不改代码。关注文件:DataLayer.swift、SmartStartService.swift、L10n.swift、ContentView.swift、AppleDefaultAppNotes.swift。
AppNoteOrigin 包含 catalogDefault、appleDefault、manual,appNoteMetadata 保存 provenance 与 fingerprint。L10n.switchTo / switchToAutomatic 发送 .appLanguageDidChange;ContentView 收到后异步调用 SmartStartService.relocalizeDefaultNotesForCurrentLanguage(apps:) 并刷新 UI。relocalizeDefaultNotesForCurrentLanguage 只覆盖 origin == .catalogDefault 且当前文本 fingerprint 与旧 catalog provenance 匹配的备注;手写编辑通过 TagEditor.setAppNote 写为 manual。com.apple.* 条目;所有 Apple 条目在 29 种 notes JSON 中均有非空备注。DataLayer.reconcileScannedApps 初次扫描仍调用 seedDefaultAppleAppNotes,该函数从 AppleDefaultAppNotes.swift 写入中文硬编码备注并标记 origin: appleDefault;当前语言切换刷新函数不处理 appleDefault,老数据或首次扫描路径可能不会随语言切换。SmartStartService.applyDraft 允许覆盖 “knownDefaultNotes” 或 catalog default,但其候选集当前只包含当前语言的默认备注,不能天然识别旧中文 appleDefault 是否应迁移为 catalog default。未改项目源码。仅新增本轮会话记录文件:
/Users/ar/Projects/X-sessionhistory/Taglauncher/2026-06-08-02.mdAppleDefaultAppNotes.swift 的中文默认备注来源,尚未从代码中看到完整迁移实现。appNoteMetadata 迁移/保护单测或脚本测试。.app/Contents/Resources 含 29 个 SmartStartUltimateDefaultCatalog.notes.*.json.deflate。