如何在 Doctrine @UniqueEntity Constraint 中添加包含 link 的 Symfony2 翻译?

How to add a Symfony2 translation containing a link inside of Doctrine @UniqueEntity Constraint?

我正在尝试在我的 Doctrine 映射中的 @UniqueEntity 消息中添加一个 link,这样 link 就不会在翻译文件中被硬编码。我正在使用 Symfony2 表单调用它。

原则映射:

@UniqueEntity(
  fields={"email"},
  message="form.error.email_exists"
)

翻译文件:

 <trans-unit id="a81086a8eea38842e4c8351657840086" resname="form.error.email_exists">
    <source>form.error.email_exists</source>
    <target>We have an account with that email. %link1%Forgot your login?%linkEnd%</target>
 </trans-unit>

通常情况下,您只需将 %link1% 传递给翻译过滤器,但我不知道如何在注释中执行此操作,甚至不知道如何执行此操作。

提前致谢。

我确定实现此目的的唯一方法是使用 CDATA 将 link 硬编码到翻译文件中。

 <trans-unit id="a81086a8eea38842e4c8351657840086" resname="form.error.email_exists">
    <source>form.error.email_exists</source>
    <target>We have an account with that email. <![CDATA[<a href="www.example.com/forgotLogin">Forgot your login?</a>]]></target>
  </trans-unit>

此解决方案的问题是无法在翻译文件中指定特定域,但它至少有效。

可以翻译约束消息。为此,您需要一个名为 validators.en.xml 的翻译文件,其中 en 代表语言。参见 this chapter