在Symfony上转换验证约束消息

在Symfony上转换验证约束消息,symfony,caching,error-handling,yaml,Symfony,Caching,Error Handling,Yaml,为了获得不同语言的错误消息,我遵循此链接下的说明: https://symfony.com/doc/current/validation/translations.html 我用yaml制作了验证程序文件: 例如: # translations/validators.en.yml author.name.not_blank: Please enter the name of the author. 注意:我尝试了yaml和yml扩展 在src/entity/Data.php中 /** *

为了获得不同语言的错误消息,我遵循此链接下的说明:

https://symfony.com/doc/current/validation/translations.html
我用yaml制作了验证程序文件: 例如:

# translations/validators.en.yml
author.name.not_blank: Please enter the name of the author.
注意:我尝试了yaml和yml扩展

在src/entity/Data.php中

/**
 * @var string
 *@Assert\NotBlank(message="author.name.not_blank")
 */
private $author;
我收到的信息是“author.name.not_blank”,而不是“请输入作者的姓名”

我像这样清除了缓存:

https://symfony.com/doc/2.7/console/usage.html

 php app/console cache:clear --env=prod
我在终端上收到一条临时消息“清除prod环境的缓存,并使用debug false”

所以我的问题是:我在清除缓存时是否做错了什么? 我正在使用Symfony 2.7

我有什么遗漏吗

顺便说一句,来自文件的所有其他翻译,例如

translations/messages.en.yml 
它们的功能非常好


多谢各位

我看到您的代码很好:

现在,您可以检查其他内容:

应用程序/配置:

translator:      { fallbacks: ["%locale%"] }
并确定你所处的环境

而不是

php app/console cache:clear --env=prod
试一试


希望这会有所帮助。

您确定您正在使用
prod
环境浏览网站吗?我确实处于开发模式。使用php应用程序/控制台缓存清除缓存:清除不起作用。由于我暂时不知道如何切换到生产环境,我尝试在另一个浏览器上打开该网站,它运行良好。所以这是一个缓存问题。
php app/console cache:clear