edit | blame | history | raw

2026-06-19 Apple 默认备注本地化修复

用户目标

  • 修复切换到 Arabic 等非中文语言后,Apple 自带应用备注仍显示旧中文的问题。
  • 执行前完成方案讨论,执行后补 TODO、工作日志、QA 自查和 changelog。

关键结论

  • Apple 默认备注资源本身已有多语种;问题发生在旧版本已持久化到 tags.json 的中文默认备注没有 appNoteMetadata
  • 修复不能按“是否包含中文”判断,否则会误伤用户手写中文备注。
  • 最终策略:按同 bundle 的 Apple 默认备注集合做 fingerprint 精确匹配;只有匹配默认集合的旧备注才迁移为当前语言。

已完成事项

  • AppleDefaultAppCatalog.relocalizeDefaultNotesForCurrentLanguage 支持迁移旧的无 metadata Apple 默认备注。
  • 迁移旧默认备注前自动备份原 store,reason 为 apple-default-note-migration
  • origin == manual 和手动清空备注继续保留,不覆盖。
  • 补齐 com.apple.campo / Siri 在 Apple 默认应用 base、translations、29 语种 localizations 和 source csv 中的资源。
  • 新增 Scripts/apple_default_note_migration_qa.sh,更新 Scripts/apple_default_note_policy_qa.sh
  • 版本更新为 7.9.3 / 20260619.2142,并更新 CHANGELOG.md

QA 结论

  • Apple 默认备注迁移 fixture:PASS
  • Apple 默认备注策略边界:PASS
  • Apple 默认应用资源完整性:PASS
  • SmartStart 资源边界:PASS
  • usage tips 回归:PASS
  • macOS 14 typecheck:PASS
  • build:PASS,产物 /Users/ar/Projects/Taglauncher/src/build/TagLauncher.app
  • macOS 14 build metadata:PASS
  • codesign:PASS

未决问题

  • 当前仓库仍存在与本轮无关的历史脏文件和删除项,本轮未处理、未回滚。