Я использую переводы Symfony2 для отображения сообщений об ошибках в моих формах. Мое сообщение определено в validators.fr.yml
, расположенном в подпапке Ressources/translations
моего пакета. Я также использую аннотации, чтобы настроить использование сообщения.
Проблема в том, что сообщение не отображается в моем шаблоне. Я получаю только тот ключ, который определил в своей аннотации.
Пример кода от моей сущности:
/**
* Nom du site de travail.
*
* @var string le nom du site de travail.
*
* @ORM\Column(
* name = "nom",
* type = "string",
* length = 255
* )
*
* @Assert\NotBlank(message = "structure.siteTravail.nom.notnull")
*/
private $nom;
В моем классе формы я реализовал метод getDefaultOptions
с опцией data_class
(не знаю, поможет ли это):
public function getDefaultOptions(array $options)
{
return array(
'data_class' => 'My\FreakingBundle\Entity\SiteTravail'
);
}
Вот содержание validators.fr.yml
:
structure:
siteTravail:
nom:
notnull: Le nom est obligatoire.
В моем шаблоне Twig я использую этот код для визуализации ошибок поля:
{{ form_errors(form.nom) }}
Также перевод активируется в app/config/config.yml
:
framework:
translator: { fallback: fr }
Все мои переводы отлично работают в messages.fr.yml
для этого пакета, и у меня есть другой пакет, использующий как messages.fr.yml
, так и validators.fr.yml
.
Самое странное, что когда я помещаю содержимое validators.fr.yml
в другой пакет, оно работает.