我们在字段过滤器中的admin生成器中。最清晰的翻译方式是表单字段下的空标签吗?
我通过自己的setWidgets和BaseFormFilterDoctrine中的setWidgets解决它,通过翻译为空(empty_label)来扩展父方法。
它有效,但我认为这很糟糕。我正在寻找更干净的东西
答案 0 :(得分:1)
现在(Symfony 1.4)你可以通过添加
来做到这一点<trans-unit>
<source>is empty</source>
<target>my translation</target>
</trans-unit>
进入messages.xx.xml
答案 1 :(得分:0)
为什么你觉得这很讨厌?我认为黑客攻击BaseFormFilterDoctrine类是可行的方法。我通常做这样的事情:
abstract class BaseFormFilterDoctrine extends sfFormFilterDoctrine
{
public function setup()
{
parent::setup();
foreach ($this->widgetSchema->getFields() as $name => $widget) {
if ($widget->getOption('empty_label')) {
$widget->setOption('empty_label', 'my internationalized string');
}
}
}
}
答案 2 :(得分:0)
你可以这样做:
$translated_text = $this->widgetSchema->getFormFormatter()->translate('String to translate');