How to translate labels in symfony2 forms with messages.en.yml? How to translate labels in symfony2 forms with messages.en.yml? symfony symfony

How to translate labels in symfony2 forms with messages.en.yml?


i had to explicitly set the translation domain

e.g

->add('description','hidden', array(   "label"=>"form.description",   "required"=>true,   'translation_domain' => 'fooo' ));

in case of

fooo.de.xlf


In symfony 3.1 You don't need to pass translator to form type constructor. It will be translated automatically by form field name like this:

Controller action:

$form = $this->createForm(LoginType::class);

FormType class:

public function buildForm(FormBuilderInterface $builder, array $options){    $builder        ->add('username',            TextType::class, ['label_format' => '%name%',]        );}

And your translations file (yml):

username: Your translation for username field

Hope it will help someone:)


Add translation in form for is best idea - because found if in twig much more easy

{% trans_default_domain 'YourNameBundle' %}{{'shot.tag.for.transle'|trans }}

also you must remember about translation file in your bundle,if you extend bundle from another (example - you extends FosUserBundle)you can take translate from this bundle or use func trans with params

{{'shot.tag.for.transle'|trans({}, 'TranslationNameBundle') }}

Have a nice localisation.