#php #symfony
Вопрос:
Здравствуйте, я создал форму с помощью конструктора форм в Symfony и в моей форме ниже
$builder->add(
'Firstname',
TextType::class,
[
'translation_domain' => 'transbundle',
'label' => 'Tam_bum.Firstname',
'required' => true,
'constraints' => [
new ConstraintsNotBlank(),
],
]
);
мой файл en.yml, который я указал
Tam_bum:
Firstname: First Name
Errormessage: Does not exist
что работает для моей формы, когда все языки включены в опцию перевода.
Теперь я пытаюсь также применить эту концепцию к нарушению, которое я называю
->buildViolation('Tam_bum.Errormessage')
Но то, что я получаю, — это выведенное значение этого "Tam_bum.Errormessage"
Я ожидал, что получу переведенное значение для «Tam_bum.Errormessage», пожалуйста, помогите мне сделать это правильно, спасибо
Ответ №1:
Сообщение об ограничении в проверке формы использует домен проверяющих.
Если вы используете symfony 5, вам следует добавить перевод в свой файл validators.en.php
(или yaml, или xml в зависимости от формата перевода) в папки переводов
Комментарии:
1. Я действительно не понимаю, как это сделать технически, ни одного примера в использовании
2. кстати, у меня есть файл перевода, который я указал в своем вопросе, его en.yml
3. Вы можете найти пример использования в документации symfony: symfony.com/doc/current/validation/translations.html
4. кроме того, я предлагаю вам прочитать эту документацию о домене перевода, чтобы понять, как это работает: symfony.com/doc/current/…