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

Symfony 5.4含limit参数的表单约束消息翻译报错求助

解决Symfony表单约束错误消息翻译的格式错误问题

错误提示Invalid message format (error #65799)的核心原因是:你在**ICU格式的翻译文件(messages+intl-icu.yaml)**中使用了Twig的双大括号{{ limit }}变量语法,而ICU消息格式要求变量用单大括号{limit},两种语法冲突导致解析失败。

修复步骤

  1. 修正翻译文件的变量格式
    将messages+intl-icu.yaml中的翻译内容修改为ICU兼容的语法:
    company.minlenght.error: Le groupe doit comporter {limit} caractères ou plus.
    
  2. 修正拼写错误(可选但建议)
    注意到翻译键minlenght存在拼写错误(正确应为minlength),建议同步修正:
    • 翻译文件键改为company.minlength.error
    • PHP代码中的调用也对应修改:
      'minMessage' => $this->translator->trans('company.minlength.error')
      

补充说明

直接在PHP代码中写"Le groupe doit comporter {{ limit }} caractères ou plus."能正常工作,是因为Symfony表单约束的默认消息解析器使用Twig语法;而通过translator->trans()从ICU格式文件获取翻译时,会切换为ICU规则解析,因此必须遵循ICU的变量格式要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 10:17:21