Symfony2 翻译验证消息问题
Symfony2 translation of validation messages issue
我在 Symfony 中翻译验证器消息时遇到一个常见问题,所有建议的解决方案都没有帮助我。
这是我的约束:
// src/AppBundle/Entity/Friend.php
/**
* @var string
*
* @Assert\NotBlank(message = "test")
*
* @ORM\Column(name="name", type="string", length=255)
*/
private $name;
以及带有翻译的文件:
// src/AppBundle/Resources/translations/validators.en.yml
test: my message
带有翻译的同一个文件我也添加到应用程序目录中。实际上,这是行不通的。我错过了什么?
如果您按照以下步骤操作,它应该会起作用:
首先,开启翻译系统:
# app/config/config.yml
framework:
translator: { fallback: en }
像您一样创建约束:
// src/AppBundle/Entity/Friend.php
use Symfony\Component\Validator\Constraints as Assert;// Don't forget this part.
class Friend
{
/**
* @var string
* @Assert\NotBlank(message = "test")
* @ORM\Column(name="name", type="string", length=255)
*/
public $name;
}
在验证器目录下为约束消息创建一个翻译文件,通常像您一样在包的 Resources/translations/ 目录中。
# validators.en.yml
test: my message
重要最后,在添加新翻译时清除缓存(即使在开发环境中也要这样做)。
$ php app/console cache:clear
对我来说这个解决方案有效。
我在 Symfony 中翻译验证器消息时遇到一个常见问题,所有建议的解决方案都没有帮助我。 这是我的约束:
// src/AppBundle/Entity/Friend.php
/**
* @var string
*
* @Assert\NotBlank(message = "test")
*
* @ORM\Column(name="name", type="string", length=255)
*/
private $name;
以及带有翻译的文件:
// src/AppBundle/Resources/translations/validators.en.yml
test: my message
带有翻译的同一个文件我也添加到应用程序目录中。实际上,这是行不通的。我错过了什么?
如果您按照以下步骤操作,它应该会起作用:
首先,开启翻译系统:
# app/config/config.yml
framework:
translator: { fallback: en }
像您一样创建约束:
// src/AppBundle/Entity/Friend.php
use Symfony\Component\Validator\Constraints as Assert;// Don't forget this part.
class Friend
{
/**
* @var string
* @Assert\NotBlank(message = "test")
* @ORM\Column(name="name", type="string", length=255)
*/
public $name;
}
在验证器目录下为约束消息创建一个翻译文件,通常像您一样在包的 Resources/translations/ 目录中。
# validators.en.yml
test: my message
重要最后,在添加新翻译时清除缓存(即使在开发环境中也要这样做)。
$ php app/console cache:clear
对我来说这个解决方案有效。