Files
Developer 3d849bd468 feat(i18n): 完成全量 UI 文本国际化,替换所有硬编码中文为 AppLocalizations 调用
- core/localization: 新增约 60 个翻译键(含参数化方法),中英双语覆盖
- shared/widgets: CommonDialog 默认参数国际化
- features/home: 完成页操作步骤指引、状态栏串口连接状态、程序列表状态标签
- features/programs: 表头状态列、表单验证提示、导入/模板操作反馈、删除确认(参数化)
- features/program_detail: 步骤列表/表单标题、删除确认、速度档位显示(参数化)
- features/device: run_state_provider 错误消息改为错误码
- features/settings: 升级页、密码面板、语言面板、U盘导入面板、串口配置面板全部替换

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-12 15:09:47 +08:00

26 lines
1.5 KiB
Markdown
Raw Permalink 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.
## 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 结构和逻辑