## Why 当前应用中大量中文字符串直接硬编码在 Dart 文件中(约 456 处,跨 53 个文件),导致:(1)无法切换为英文界面;(2)新增语言时需要逐个文件查找修改;(3)维护成本高且容易遗漏。项目虽已有 `AppLocalizations` 基础设施,但覆盖率不足,多数 UI 文本仍为字面量中文。 ## What Changes - 扫描 `lib/` 下所有硬编码的中文字符串,逐一替换为 `AppLocalizations.of(context)` 调用 - 补充所有缺失的翻译键到 `AppLocalizations`(含中英文值) - 优化 `AppLocalizations` 类的调用方式,消除 `BuildContext` 强依赖场景(如 Snackbar、Dialog) - 确保运行时可动态切换语言,无需重启应用 - **不涉及**:数据库种子数据、日志输出中的中文(不影响 UI 国际化) ## Capabilities ### New Capabilities - `i18n`: 完整覆盖应用所有 UI 文本的国际化能力。支持中文(默认)和英文两种语言,所有用户可见文本均通过 `AppLocalizations.of(context)` 获取。 ### Modified Capabilities - (无现有 spec 需要修改) ## Impact - **代码修改**:约 50+ 个 Dart 文件中的 UI 部分,将硬编码字符串替换为翻译函数的调用 - **新增翻译键**:预估新增约 100-150 个翻译键到 `AppLocalizations` - **无外部依赖变更**:沿用现有手写翻译系统,不引入 `intl` 或 `slang` 等第三方包 - **无破坏性变更**:所有替换为纯文本替换,不改变 UI 结构和逻辑