[英]Flutter l10n using arb: logic translations
在我的顫振應用程序中,我使用.arb
文件實現了本地化。 就我而言,我想要實現的是這樣的:
"arrangement_index": "{value}{value == 1? 'st' : 'nd'}",
"@arrangement_index": {
"placeholders": {
"value": {
"type": "int"
}
}
}
所以,如果我使用生成的翻譯:
AppLocalizations.of(context)!.arrangement_index(1)
我應該得到: 1st
AppLocalizations.of(context)!.arrangement_index(2)
我應該得到: 2nd
這種方法不起作用,我怎樣才能獲得這樣的功能?
flutter_localizations 使用 ICU 語法來解析 .arb 文件中的文本並生成 Dart 本地化。
這是編寫本地化的聖經: https ://icu.unicode.org/design/formatting/messageformat/newsyntax
如果您遵循他們的文檔並將其應用於您的特定案例,這就是您最終應該得到的結果:
"arrangement_index": "{value,select, 1 {1st} 2 {2nd} 3 {3rd} other{{value}th}}",
"@arrangement_index": {
"placeholders": {
"value": {
"type": "int"
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.