如何在 flutter 的主应用程序中使用本地化字符串

how to use localized strings in flutter's main app

我是 Flutter 的新手,我正在使用 flutter-intl 插件构建一个本地化的应用程序。 我已经在我的语言环境的 .arb 文件中声明了一个“标题”字符串。 我的程序正尝试按如下方式使用此字符串:

  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.TitleS.of(context).Title,在这两种情况下,当程序启动时,我收到以下错误消息:

当我将标题 属性 更改为 title: 'my title' 时,应用程序执行 hot-reload 并且错误屏幕消失。当我将标题改回 title: S.current.Title 时,本地化标题显示没有错误。

此行为已在 Android-studio 和 VS-Code 网络和 Android 目标中得到一致确认。

估计跟Flutter的初始化顺序有关。在 MaterialApp 中使用本地化字符串作为属性的正确方法是什么?

如文档所示:

To provide a localized title instead, use onGenerateTitle