Flutter项目中app_localization.dart无法生成的问题咨询
解决intl_utils无法生成app_localization.dart的问题
1. 确认翻译文件存在且格式正确
- 确保项目
lib/l10n目录下存在intl_en.arb(或对应语言的arb文件),文件必须是有效JSON格式,且包含至少一个翻译条目,示例:
{ "helloWorld": "Hello World", "@helloWorld": { "description": "问候语示例" } }
- 若文件无
@@locale字段,工具会按文件名后缀识别语言(如intl_en.arb对应en),但文件必须存在且可被读取。
2. 调整pubspec.yaml配置避免冲突
- 移除
flutter节点下的generate: true配置:该配置是Flutter原生国际化生成开关,会与intl_utils工具冲突,导致文件无法生成。 - 确认依赖版本兼容性:当前
intl: 0.17.0与intl_utils: ^2.8.2版本兼容,若后续仍有问题,可尝试将intl_utils升级至最新稳定版。
3. 修正命令执行方式
- 简化命令(利用FVM环境变量):直接执行
fvm flutter pub run intl_utils:generate,避免手动输入长路径引发错误。 - 指定输出目录前先手动创建目标文件夹:比如提前创建
lib/localization,避免工具因目录不存在无法写入文件。
4. 清理缓存后重新执行
- 执行以下命令清理项目缓存并重新获取依赖:
flutter clean flutter pub get
- 再次运行intl_utils生成命令。
5. 查看详细日志排查问题
- 执行带verbose参数的命令获取调试信息:
fvm flutter pub run intl_utils:generate -v
- 从日志中可确认工具是否找到翻译文件、是否有权限写入目录等细节,定位具体问题。
内容的提问来源于stack exchange,提问作者Dolphin
相关产品推荐
相关产品推荐

