/// 应用本地化配置(M3.5-01)。 /// /// 根因备忘:M3 之前 [MaterialApp] 未配任何 `localizationsDelegates`, /// Flutter 回退到内置的 `DefaultMaterialLocalizations`(仅英文),导致 /// 一切 Material 内置组件(日期选择器标题「Select date」、确定/取消 /// 「OK」/「Cancel」、模式切换 tooltip「Switch to input」、格式报错 /// 「Invalid format.」)全英文,而业务自绘文案全中文——同一弹窗内中英混排。 /// 挂上三件套后分别为「选择日期 / 确定 / 取消 / 切换到输入模式 / 格式无效。」。 /// /// 这里把三件套 delegate 与 locale 收在一处,供 `App` 与 widget 测试共用: /// 测试若只 `pumpWidget(MaterialApp(home: ...))` 而不带 delegate,看到的仍是 /// 英文兜底,与真机不一致;需要断言中文渲染的测试请一并挂上本文件的常量。 library; import 'package:flutter/material.dart'; import 'package:flutter_localizations/flutter_localizations.dart'; /// Material / Cupertino / Widgets 三件套本地化 delegate。 const List> appLocalizationsDelegates = >[ GlobalMaterialLocalizations.delegate, GlobalCupertinoLocalizations.delegate, GlobalWidgetsLocalizations.delegate, ]; /// 简体中文(中国大陆)。M3.5 仅单语言,暂不做语言切换。 const Locale appLocale = Locale('zh', 'CN'); /// 支持语言列表。仅 zh-CN——避免设备语言为英文时回退到英文, /// 造成同一界面内业务中文 + 组件英文的混排。 const List appSupportedLocales = [appLocale];