簡體   English   中英

使用復數占位符無法正確生成顫振定位方法

[英]Flutter localisation method not generating correctly with plural placeholder

我目前正在使用 intl 包本地化我的顫振應用程序。

我有一個包含兩個占位符的本地化文本: userNamedayCount ,其中我使用了dayCount的復數語法。

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

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

到目前為止一切順利,但AppLocalizationsEn類中的自動生成方法完全忽略了文本中的所有內容,除了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} many{{count} sampleMany} other{{count} sampleOther }}",

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM