Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Doctrine orm Zend Framework 2-条令2,翻译带注释的ObjectSelect字符串_Doctrine Orm_Annotations_Zend Framework2_Translation - Fatal编程技术网

Doctrine orm Zend Framework 2-条令2,翻译带注释的ObjectSelect字符串

Doctrine orm Zend Framework 2-条令2,翻译带注释的ObjectSelect字符串,doctrine-orm,annotations,zend-framework2,translation,Doctrine Orm,Annotations,Zend Framework2,Translation,我的doctrine 2实体工作正常,但实体字段是一个ObjectSelect(DoctrineModule\Form\Element\ObjectSelect),它的空\u选项设置为安全问题 问题是,我无法将字符串安全问题导入module.po翻译文件,因此我无法翻译该字符串。如果我手动将该字符串添加到.po文件中,那么当我将.po文件与PoEdit同步时,它将被删除,因为它不包含在translate()方法中 有人知道如何使该字符串与PoEdit同步吗 谢谢 PS:这是我的$question

我的doctrine 2实体工作正常,但实体字段是一个ObjectSelect(DoctrineModule\Form\Element\ObjectSelect),它的空\u选项设置为安全问题

问题是,我无法将字符串安全问题导入module.po翻译文件,因此我无法翻译该字符串。如果我手动将该字符串添加到.po文件中,那么当我将.po文件与PoEdit同步时,它将被删除,因为它不包含在translate()方法中

有人知道如何使该字符串与PoEdit同步吗

谢谢

PS:这是我的$question字段的完整注释

/**
 * @var CsnUser\Entity\Question
 *
 * @ORM\ManyToOne(targetEntity="CsnUser\Entity\Question")
 * @ORM\JoinColumn(name="question_id", referencedColumnName="id", nullable=false)
 * @Annotation\Type("DoctrineModule\Form\Element\ObjectSelect")
 * @Annotation\Filter({"name":"StripTags"})
 * @Annotation\Filter({"name":"StringTrim"})
 * @Annotation\Validator({"name":"Digits"})
 * @Annotation\Required(true)
 * @Annotation\Options({
 *   "required":"true",
 *   "empty_option": "Security question",
 *   "target_class":"CsnUser\Entity\Question",
 *   "property": "question"
 * })
 */
protected $question;

这是一个相当讨厌,但工作。只需添加一个translate,其中包含要转换为实体构造的字符串

public function __construct()
{
....
   translate('Security question');
....
}

我通常仍然建议使用注释,而不是使用注释可以让您对表单进行所需的所有控制。

欢迎在使用注释时进入限制的奇妙世界。您可以在您的实体中添加一个“安全问题”,并通过这种方式将其添加到.po中。但是这是一个严重的错误。为什么不使用zf/forms呢?嗨,谢谢你的建议,我使用注释在我的项目中只能维护一个代码库。顺便说一句,您提出的解决方案不起作用。您好,我可以向实体构造函数中添加“安全问题”(不是translate(),因为它在我的实体中不存在),但问题仍然存在。我现在在.po文件中翻译了密钥,这多亏了uz()函数,但它没有被翻译。是的,这是正确的,我失败了,因为我搞乱了翻译域!删除了翻译域,一切正常