@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 - 想要在模型中翻译自定义消息