Flutter Localizations中ARB文件使用int占位符报错如何解决?
ARB文件int类型占位符正确配置方案
错误原因
该报错是因为定义int类型的ARB占位符时,必须显式指定format字段匹配intl库中NumberFormat类的对应构造方法,缺少该字段时本地化生成工具无法找到对应的数字格式化逻辑,会触发构建失败。
正确配置示例
如果你只需要常规展示整数,使用decimal格式即可:
"increment_message": "You have pushed the button this many times: {times}", "@increment_message": { "placeholders": { "times": { "type": "int", "format": "decimal", "example": "123" } } }
常用format可选值
你可以根据业务需求选择对应格式化规则:
decimal:常规数字格式,会自动适配当前语言地区的数字展示规则(例如自动添加千位分隔符)percent:百分比格式,数值1会被格式化为100%currency:货币格式,可通过optionalParameters额外指定货币符号、精度等参数
如果你不需要地区适配的数字格式,直接使用String类型传递数值字符串也是可行的方案。
内容的提问来源于stack exchange,提问作者ademar111190
相关产品推荐
相关产品推荐

