在Laravel中翻译自定义验证规则消息?

时间:2019-04-26 09:39:25

标签: laravel validation translation

我的应用程序中有两种可能的语言,ende

我使用Localization和json字符串进行翻译。

这是验证一个字段的一部分:

 if (!empty($value) && (!empty($var1) || empty($var2))) {
    $fail('Hier ist ein deutscher Satz geschrieben.');
 }

这是关联的json:

{
  "Hier ist ein deutscher Satz geschrieben." : "Here is written an english sentence."
}

这种翻译效果很好,但是如果我在这样的句子中包含$ value:

if (!empty($value) && (!empty($var1) || empty($var2))) {
   $fail('Hier ist ein' ".$value." ' deutscher Satz geschrieben');
}

...我不能再用json进行翻译,因为我不能只拆分句子。
有什么方法可以翻译带有动态变量的自定义验证规则消息?

1 个答案:

答案 0 :(得分:0)

我只是放入了另一个if子句,并检查应用程序的$ locale是en还是de。就是这样。

if (!empty($value) && (!empty($var1) || empty($var2))) {
  if (app()->getLocale() == 'en') {
    $fail('Here is written a "' .$value '" enlgish sentence.);
  } else {
     $fail('Hier ist ein "' .$value. '" deutscher Satz geschrieben');
  }
}