Формы, созданные с помощью компонента Symfony Form, автоматически переводят свои метки и сообщения справки. Однако переводы не могут содержать никаких пользовательских параметров, потому что в Twig шаблонах фильтр trans()
вызывается без передачи каких-либо параметров.
В Symfony 4.3 улучшили перевод форм, позволяя определять пользовательские параметры перевода, используя три новых параметра конфигурации: label_translation_parameters
, help_translation_parameters
и attr_translation_parameters
(этот полезен для перевода заполнителя и заголовка):
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\FormBuilderInterface;
class OrderType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('comment', TextType::class, [
'label' => 'Comment for the order of %company%',
'label_translation_parameters' => [
'%company%' => 'Acme Ltd.',
],
'help' => 'The address of %company% is %address%',
'help_translation_parameters' => [
'%company%' => 'Acme Ltd.',
'%address%' => '4 Form street, Symfonyville',
],
])
}
}