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

Flutter使用EasyLocalization如何配置依赖包中的翻译文件路径

解决方案

你遇到的问题核心是引用第三方包内资源的路径配置错误,按以下步骤修改即可:

  • 第一步:修正EasyLocalization的path参数
    你当前的翻译文件存放在jarvis_ui依赖包中,Flutter引用第三方包内资源的固定格式为packages/[包名]/[资源在包内的完整路径],所以把配置中的path改为:
path: 'packages/jarvis_ui/assets/languages',

修改后的EasyLocalization初始化代码示例:

EasyLocalization(
  supportedLocales: <Locale>[
    Locale('es', 'CL'),
    Locale('es', 'CO'),
    Locale('es', 'PE'),
  ],
  fallbackLocale: Locale('es', 'CL'),
  // 替换为正确的包名路径
  path: 'packages/jarvis_ui/assets/languages',
  assetLoader: RootBundleAssetLoader(),
  child: // 保留原有逻辑即可
)
  • 第二步:确认翻译文件命名规范
    检查jarvis_ui包中assets/languages目录下的翻译文件命名要和你声明的locale完全匹配,比如es-CL.json、es-CO.json、es-PE.json,命名不一致也会导致加载失败。
  • 第三步:清除缓存重新编译
    修改配置后执行以下命令清除缓存,避免旧的打包缓存影响结果:
flutter clean
flutter pub get

然后重新运行项目即可正常加载跨包的翻译资源。

额外注意:主项目不需要在自己的pubspec.yaml中重复声明jarvis_ui包内的翻译资源,只要主项目已经正确依赖jarvis_ui包即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 13:57:01