Flutter 本地化方法无法使用复数占位符正确生成

Flutter localisation method not generating correctly with plural placeholder

我目前正在使用 intl 包本地化我的 flutter 应用程序。

我有一个包含两个占位符的本地化文本:userNamedayCount,其中我使用了 dayCount.

的复数语法

这是我的 .arb 文件中的片段:

  "prolongationRequested": "{userName} requested prolongation by {daysCount, plural, =1{1 day} other{{daysCount} days}}",
  "@prolongationRequested": {
    "placeholders": {
      "userName": {},
      "daysCount": {}
    }
  },

到目前为止一切顺利,但是 AppLocalizationsEn class 中的自动生成方法完全忽略了文本中除 daysCount 占位符之外的所有内容。这是生成的方法:

  String prolongationRequested(Object userName, num daysCount) {
    return intl.Intl.pluralLogic(
      daysCount,
      locale: localeName,
      one: '1 day',
      other: '$daysCount days',
    );
  }

我的期望是该方法如下所示:

  String prolongationRequested(Object userName, num daysCount) {

    final String pluralString = intl.Intl.pluralLogic(
      daysCount,
      locale: localeName,
      one: '1 day',
      other: '$daysCount days',
    );

    return '$userName requested prolongation by ${pluralString}';
  }

有趣的是,如果我删除其中一个占位符,或者如果我从 daysCount.

中删除复数语法,该方法就会正确生成

为什么没有按预期生成方法?

"{count,plural, =0{{count} sample0} =1{{count} sample1} =2{{count} sample2} few{{count} sampleFew} 许多{{count} sampleMany} other {{count} sampleOther}}",