[英]Flutter localisation method not generating correctly with plural placeholder
我目前正在使用 intl 包本地化我的顫振應用程序。
我有一個包含兩個占位符的本地化文本: userName
和dayCount
,其中我使用了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.