Flutter 在不使用MaterialApp的情况下将本地化添加到小部件?
我了解如何通过向MaterialApp小部件添加本地化、Legates和supportedLocales来向应用程序添加本地化。本地化我的应用程序运行良好Flutter 在不使用MaterialApp的情况下将本地化添加到小部件?,flutter,Flutter,我了解如何通过向MaterialApp小部件添加本地化、Legates和supportedLocales来向应用程序添加本地化。本地化我的应用程序运行良好 我正在创建一个颤振软件包,可以在其他颤振应用程序中使用。包中的一些小部件需要有本地化文本,比如一些错误消息和按钮标签。包包含它自己的所有本地化字符串。在没有MaterialApp的情况下,我如何本地化软件包中的字符串?我使用本地化小部件以这种方式进行测试,而不使用MaterialApp: 一个简单的演示小部件: class WidgetToT
我正在创建一个颤振软件包,可以在其他颤振应用程序中使用。包中的一些小部件需要有本地化文本,比如一些错误消息和按钮标签。包包含它自己的所有本地化字符串。在没有MaterialApp的情况下,我如何本地化软件包中的字符串?我使用
本地化
小部件以这种方式进行测试,而不使用MaterialApp:
一个简单的演示小部件:
class WidgetToTest extends StatelessWidget {
@override
Widget build(BuildContext context) {
//AppLocalizations.of(context)!.hello = 'hello' in generated file
return Text(AppLocalizations.of(context)!.hello);
}
}
测试:
testWidgets('test localizations widget', (tester) async {
await tester.pumpWidget(
Localizations(
locale: const Locale('en'),
delegates: AppLocalizations.localizationsDelegates,
child: WidgetToTest(),
)
);
expect(find.text('hello'), findsOneWidget);
});
如果您只需要启用
AppLocalizations
就可以使用widget在您的widget内部工作。Hi-mate,您知道这一点吗?我也需要这么做你好!我也有同样的问题。有解决办法吗?