Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.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 @Uniquentity自定义消息未翻译_Doctrine_Symfony - Fatal编程技术网

Doctrine @Uniquentity自定义消息未翻译

Doctrine @Uniquentity自定义消息未翻译,doctrine,symfony,Doctrine,Symfony,如何翻译@uniquentity约束中的消息 我有这样的情况: /** * @ORM\Entity * @ORM\Table(name="sites") * @UniqueEntity( * fields={"url"}, * message="This url is already registered. Please choose a different url." * ) */ class Site { 如果我留下默认消息(“此值已被使用”),它会自

如何翻译@uniquentity约束中的消息

我有这样的情况:

/**
 * @ORM\Entity
 * @ORM\Table(name="sites")
 * @UniqueEntity(
 *     fields={"url"},
 *     message="This url is already registered. Please choose a different url."
 *     )
 */
class Site
{
如果我留下默认消息(“此值已被使用”),它会自动转换为一些捆绑字符串。。。但是我找不到任何关于如何翻译自定义错误消息的文档。(我试图将该字符串放入默认域,
messages
,但它没有被翻译)

这是我的解决方案

首先,为消息设置标识符:

/**
 * @ORM\Entity
 * @ORM\Table(name="sites")
 * @UniqueEntity(
 *     fields={"url"},
 *     message="entity.site.unique"
 *     )
 */
class Site
{
然后创建任何文件(messages.XX.yml),如下所示,每个lang一个

entity:
  site:
    unique: "Your message"
我希望这有帮助。

我发现了

域是验证程序而不是消息,因此您必须在
验证程序
域中创建翻译文件,例如:

// 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.',
];

嗯,我使用数组形式的php文件,例如“english”=>“意大利语”