当前位置: 首页 > 知识库问答 >
问题:

Laravel验证错误不被翻译,如果区域设置在运行时更改

刘高峯
2023-03-14

我的Laravel应用程序有locale默认为英语(在config/app.php)。有一个中间件可以检查每个请求,并根据用户首选项设置区域设置。

下面是中间件代码

public function handle($request, Closure $next)
{
    $langs=['en', 'ar'];
    $appLang=app()->getLocale();
    if (request()->has('lang')) {
        $requestLang=request()->get('lang');
        if ($requestLang != $appLang && in_array($requestLang, $langs)) {
            app()->setLocale($requestLang);
        }
    } else {
        request()->merge(['lang' => $appLang]);
    }
    return $next($request);
}

根据url参数lang设置语言环境,例如http://localhost:8000/admin/departments?lang=ar

除验证错误外,一切正常。当区域设置设置为“ar”时,在config/app中硬编码。php,它显示翻译错误,而与中间件设置的语言环境无关。但是,如果区域设置是由中间件设置的,则视图将被翻译,但验证错误仍然是英语。

有人能指出我错在哪里吗。谢谢

共有1个答案

谢泉
2023-03-14

您是否使用json文件进行翻译?验证/身份验证文本位放在单独的文件中。检查资源

 类似资料:
  • 问题内容: 我的意图是读取原始资源,然后使用JSON将其转换为Java代码。执行此操作的类和外部库存储在另一个项目中。当我运行我的应用程序时,在日志猫中出现此错误: 我可以说该错误是由JSONArray的创建引起的。我已经在stackoverflow上遇到过此错误,但是没有明确的方法来解决此问题。任何人都可以向我推荐解决此问题的方法。帮助将不胜感激。 问题答案: 您正在添加似乎具有未解决依赖性的n

  • 我正在尝试在Laravel5.6中实现基于区域设置的简单多语言路由。28,但在语言更改后仍坚持重定向。 每当用户从页面上的表单选择更改区域设置时,我想根据更改的区域设置立即将用户重定向到正确的路由。 我还创建了两个中间件类: 1。SetLocale-如果未使用HTTP\u ACCEPT\u语言或考虑请求的第一段(准确地说是区域设置),则用于设置区域设置 2。LocalerDirect-用于比较用户

  • 所以有人可以请解释一下我如何在GoDaddy上安装Cpanel中的软件包?

  • 我有一个问题返回日期在法语在我laravel项目, 在我的模型中,我有以下方法: 但日期仍然是英文的, 我也试过了 但日期仍然是英文的。我也尝试过使用php日期函数和Carbon的localizedFormat方法,但结果总是一样的:英语中的日期, 你知道这个问题吗?(我使用区域设置进行了检查-我的计算机上有a和fr_fr) 谢谢你

  • 问题内容: 我想向管理界面公开一些(特定于应用程序的)设置,以便用户可以轻松地更改它们,也不必重新启动Django。 我应该怎么做? 我在http://djangopackages.com/grids/g/live-setting/上签出了应用程序(btw django-constance最吸引人),但实际上所有这些应用程序所做的就是将值存储在数据库中,从而提供了一个网站。界面来更改它们,并进行缓

  • 我正在尝试使用OpenNLP训练一个名称实体模型,但得到这个错误时,我不知道缺少了什么。我是这个OPENNLP的新手,任何人请帮忙,可以提供培训。txt文件(如果需要) 我的密码是