@UniqueEntity 自定义消息未翻译

Posted

技术标签:

【中文标题】@UniqueEntity 自定义消息未翻译【英文标题】:@UniqueEntity custom message not translated 【发布时间】:2016-11-03 12:28:23 【问题描述】:

如何翻译 @UniqueEntity 约束中的消息?

我有这种情况:

/**
 * @ORM\Entity
 * @ORM\Table(name="sites")
 * @UniqueEntity(
 *     fields="url",
 *     message="This url is already registered. Please choose a different url."
 *     )
 */
class Site

如果我留下默认消息(“此值已被使用。”)它会自动翻译一些捆绑的字符串......但我找不到任何关于如何翻译自定义错误消息的文档。 (我试图将该字符串放在默认域 messages 中,但它没有被翻译)

【问题讨论】:

【参考方案1】:

我发现了。

域是validators而不是messages,所以你必须在validators域中创建一个翻译文件,例如:

// app/Resources/translations/validators.it.php

return [
'This url is already registered. Please choose a different url.'=>'Questo url è già registrato. Scegli un url diverso.',
];

【讨论】:

【参考方案2】:

这是我的解决方案。

首先,为您的消息设置一个标识符:

/**
 * @ORM\Entity
 * @ORM\Table(name="sites")
 * @UniqueEntity(
 *     fields="url",
 *     message="entity.site.unique"
 *     )
 */
class Site

然后创建任何文件(messages.XX.yml),如下所示,每个语言一个。

entity:
  site:
    unique: "Your message"

希望对你有所帮助。

【讨论】:

mmm 我以数组 ex 的形式使用 php 文件。 “英语”=>“意大利语”

以上是关于@UniqueEntity 自定义消息未翻译的主要内容,如果未能解决你的问题,请参考以下文章

Ruby on Rails i18n - 想要在模型中翻译自定义消息

如何使用自定义错误消息捕获“TypeError:无法读取未定义的属性(读取'0')”?

JQuery 验证自定义错误消息未显示

自定义 MFC 控件包含另一个控件 - 消息未通过

Paypal 结帐按钮未将自定义字段传递给 PIN 消息

存储过程未返回预期的自定义异常消息