在Symfony上翻译验证约束消息

时间:2018-02-18 20:35:32

标签: 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中

/**
 * @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

我在终端上收到临时消息"使用debug false清除prod环境的缓存"

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

我有什么遗失的吗?

顺便说一句,来自

等文件的所有其他翻译
translations/messages.en.yml 

运作良好。

非常感谢!

1 个答案:

答案 0 :(得分:1)

我看到你的代码很好:

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

应用程序/配置:

translator:      { fallbacks: ["%locale%"] }

并确定你在哪个环境。

而不是

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

尝试

php app/console cache:clear
希望这会有所帮助。