Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

I am trying to get translation of form fields to work. I have messages.en.yml in my Bundle's Ressource folder.

test: it works
form:
    description: Add a description.

I want to build a form in an EntityType which translates the labels of the form fields accordingly.

$builder->add(
    'description',
    null,
    array('label' => 'form.description', 'required' => false)
);

Yet only the literal string 'form.description' gets shown, not the expected translation of Add a description.

The translation service and the messages.en.yml are loaded correctly as I can call

var_dump($this->get('translator')->trans('test'));

in a controller and get the translated result.

What am I missing when I want to treat the string 'form.description' as something that should be translated?

I suppose I have to call the trans function on them anyhow, yet how can I make it in one go automatically?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
670 views
Welcome To Ask or Share your Answers For Others

1 Answer

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

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...