翻译 Laravel 中的自定义验证规则消息?
Translating custom validation rule messages in Laravel?
我的申请中有两种可能的语言,en
和 de
。
我使用本地化和 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翻译它了,因为我不能把句子分开。
有什么方法可以用动态变量翻译自定义验证规则消息吗?
我只是在里面放了另一个 if-clause 并检查应用程序的 $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');
}
}
我的申请中有两种可能的语言,en
和 de
。
我使用本地化和 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翻译它了,因为我不能把句子分开。
有什么方法可以用动态变量翻译自定义验证规则消息吗?
我只是在里面放了另一个 if-clause 并检查应用程序的 $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');
}
}