6038901099c4355283d024b64a41eea7dd80e82e
用户 Linux 桌面实测反馈「日期选择器全英文」。根因是 MaterialApp 从一迭代
建起就没配 localizationsDelegates/supportedLocales/locale,pubspec 也没有
flutter_localizations;Flutter 在缺 delegate 时静默回退内置的
DefaultMaterialLocalizations(只有英文),于是业务自绘文案全中文、Material
内置组件全英文,同一弹窗里中英混排:
Select date → 选择日期
OK / Cancel → 确定 / 取消
Enter Date → 输入日期
Switch to input → 切换到输入模式
Invalid format. / Out of range. → 格式无效。/ 超出范围。
mm/dd/yyyy → yyyy/mm/dd(zh 顺序年在前)
September 2026 → 2026年9月
处置:
- pubspec 加 flutter_localizations(sdk)与 intl(日期符号底座,显式直接
依赖以锁定与 SDK 一致的版本)。
- 新增 lib/app/app_localization.dart 把 Global{Material,Cupertino,Widgets}
三件套 delegate、supportedLocales、locale 收在一处常量:widget 测试若只
pumpWidget(MaterialApp(home: ...)) 而不挂 delegate,测到的「中文」是假的,
测试直接引用同一份常量,生产与测试不会各配一套而漂移。
- 单语言 zh-CN,不列 en:避免设备语言为英文时回退英文,再造混排。
- pets 域三份 widget 测试的 MaterialApp 同步挂上 delegate,
tap(find.text('OK')) 相应改 '确定'——让测试与生产一致,而不是在英文兜底下测。
新增 test/app/app_localization_test.dart 守住这一行不被回删:断言根
MaterialApp 实际挂上三件套 + locale zh-CN,并从运行期 MaterialLocalizations
取回中文文案。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Patbond Flutter
Patbond
可运行在 Android、iOS、Web 和桌面平台。
功能
- 社区动态搜索、点赞、收藏与评论
- 模拟 AI 图片/视频创作和社区发布
- 宠物资料、疫苗记录及健康档案管理
- 医院、美容和个人服务搜索、筛选与模拟预约
- 使用
shared_preferences持久化宠物、疫苗和帖子数据
AI 创作、预约、账号和部分菜单目前仍为本地演示交互。
运行
flutter clean
flutter pub get
flutter run
Web 调试:
flutter run -d chrome
验证
dart format --output=none --set-exit-if-changed lib test
flutter analyze
flutter test
flutter build apk --debug
Description
Languages
Dart
85.9%
HTML
10.2%
C++
1.9%
CMake
1.4%
Shell
0.3%
Other
0.3%