我正在使用Symfony2中的内部Translation扩展来创建带有翻译的message.en.yml文件。虽然大多数元素都使用不同的名称进行记录,但字段名称(或可能是实体属性,我不确定)仅使用其名称编目。这使得处理它们非常困难。
例如,这是我的message.en.yml的样本:
address.contactdocumentnumber.list:__ address.contactdocumentnumber.list
address.contactdocumentnumber.add.new:__address.contactdocumentnumber.add.new
contactDocumentnumber:__ contactTocumentnumber
issuedAuthority:__issuingAuthority
documentType:__ dococuType
正如您可以看到字段名称:contactDocumentnumber,issuingAuthority,documentType只存储了我们想要的名称,其中包含 address.contactdocumentnumber.form.label.issuingAuthority
我该怎么改变? 更重要的是,Symfony2项目中的翻译模板在哪里?
我注意到当我在表单生成器中更改标签时,它确实显示在我的表单中。但是当我运行命令“php app / console translate:update --force en MyByndle”时,字段名称仍然相同,例如__fieldname。它是否有可能从其他地方获取名称,例如实体?
答案 0 :(得分:0)
默认情况下,Symfony根据字段名称猜测标签。因此,名为some_field
的字段将获得标签Some field
。如果要覆盖它,可以在构建字段时使用可翻译字符串传递label
选项。例如:
$builder->add('some_field', 'text', [
'label' => 'section.some_field_label'
]);