laravel - 在 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 子句并检查应用程序的 $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');
}
}
推荐阅读
- python - 按钮没有给出正确的值
- android - 第一次点击时未调用 onOptionsItemSelected
- reactjs - 我可以依赖组件中的 useEffect 顺序吗?
- java - 无法使用 maven 构建项目 - 兼容性错误
- angular - Angular 应用程序到 CRM API - CORS 策略已阻止从源“localhost”访问“”处的 XMLHttpRequest
- mysql - 无法在 EKS kubernetes 中使用 EBS 卷运行 mysql
- xamarin.forms - Xamarin Forms Shell FlyoutItem Disabled VisualState 不起作用
- javascript - 如何使用Angular根据其他对象中的键过滤结果?
- mysql - 这个mysql语句有什么问题?
- java - 手动将数据库中的数据插入到具有 hibernate_sequence @GeneratedValue(strategy = GenerationType.TABLE) 的表中