【问题标题】:@UniqueEntity custom message not translated@UniqueEntity 自定义消息未翻译
【发布时间】: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 中,但它没有被翻译)

【问题讨论】:

    标签: doctrine symfony


    【解决方案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 文件。 “英语”=>“意大利语”
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-02
      • 2016-01-22
      • 2023-03-20
      • 1970-01-01
      相关资源
      最近更新 更多