You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法生成本地化文件报错求助:RangeError(end)参数值不在9..11范围内

解决Flutter生成本地化文件时的RangeError问题
  • 检查ARB文件语法错误
    这个RangeError大概率是ARB本地化文件里的格式化字符串语法错误导致的,尤其是intl库的复数(plural)、性别(gender)等带范围的格式化逻辑。比如:

    • 错误使用了数字范围定义,比如plural表达式里写了超出预期的区间值
    • 占位符索引不匹配,或者@开头的注释字段里的参数定义错误
      重点排查所有包含数量、区间描述的本地化字符串,确保{x, plural, =0{...} other{...}}这类语法完全符合intl规范。
  • 调整依赖版本兼容性

    • 尝试将intl版本降级到^0.17.0,部分Flutter SDK版本与intl: ^0.18.0存在兼容问题,修改后执行flutter pub get再重新生成
    • 升级local_auth到最新稳定版(如^2.16.0),旧版本可能与新的本地化依赖产生冲突
  • 清理缓存后重试
    执行以下命令清理项目缓存,避免旧文件干扰:

    flutter clean
    rm -rf .dart_tool
    flutter pub get
    

    之后重新运行生成本地化文件的命令(如flutter gen-l10n)

  • 检查l10n.yaml配置
    确认配置文件中的locale范围、输出路径、plural规则等参数是否正确,错误的配置可能导致生成过程中解析范围异常

内容的提问来源于stack exchange,提问作者altoon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 22:52:46