簡體   English   中英

Flutter l10n 使用 arb:邏輯翻譯

[英]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.

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