我是Flutter的新手,我正在使用flutter-intl插件构建一个本地化的应用程序。我已经在.arb文件中为我的语言环境声明了一个“Title”字符串。我的程序正在尝试如下使用该字符串:
Widget build(BuildContext context) {
return MaterialApp(
localizationsDelegates: [
S.delegate,
GlobalMaterialLocalizations.delegate,
GlobalWidgetsLocalizations.delegate,
GlobalCupertinoLocalizations.delegate,
],
supportedLocales: S.delegate.supportedLocales,
title: S.current.Title,
我尝试过使用S.current.Title
和S.of(context).Title
,在这两种情况下,当程序启动时,我都收到以下错误消息:
当我将title属性更改为title: 'my title'
时,应用执行热加载,错误屏幕消失。当我将title属性更改回title: S.current.Title
时,本地化标题显示,没有错误。
此行为已在Android-studio和VS-Code的Web和Android目标中得到一致确认。
我猜这与Flutter的初始化序列有关。在MaterialApp中使用本地化字符串作为属性的正确方法是什么?
2条答案
按热度按时间cotxawn71#
如文件所示:
要提供本地化标题,请使用onGenerateTitle
0ejtzxu12#
试试这个
main.dart:
localizations.dart:
本地化_委托.dart: