gpt4 book ai didi

flutter - 在不使用 MaterialApp 的情况下向 Widget 添加本地化?

转载 作者:行者123 更新时间:2023-12-03 17:28:33 26 4
gpt4 key购买 nike

我了解如何通过将 localizationsDelegates 和 supportedLocales 添加到 MaterialApp 小部件来为应用程序添加本地化。本地化我的应用程序工作正常。

我正在创建一个可以在其他 Flutter 应用程序中使用的 Flutter 包。包中的某些小部件需要具有本地化文本,例如某些错误消息和按钮标签。该包包含所有自己的本地化字符串。如何在没有 MaterialApp 的情况下本地化包中的字符串?

最佳答案

我用过 Localizations小部件以这种方式进行测试,而无需使用 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);
});
您可以使用 Localizations如果您只需要启用小部件 AppLocalizations在您的小部件中工作。

关于flutter - 在不使用 MaterialApp 的情况下向 Widget 添加本地化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58328155/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com