【问题标题】:Laravel localization for custom error pages自定义错误页面的 Laravel 本地化
【发布时间】:2022-11-17 15:32:14
【问题描述】:

我有自定义错误页面,例如resources/views/errors/404.blade.php 一切正常,但本地化不适用于错误页面。如果我更改网站语言,错误页面仍以默认语言显示,我尝试了很多方法,但它不起作用,任何人都可以帮助我完成这项工作,在此先感谢。

我尝试通过异常处理程序使其工作,但不知道该怎么做。我可以应用语言中间件是有人可以告诉我错误页面的默认路由在哪里。

【问题讨论】:

    标签: laravel exception localization handler


    【解决方案1】:

    您也可以重定向到AppExceptionsHandler.php 中的其他页面。您也可以使用App::setLocale() 进行分配。像这样:

    public function render($request, Throwable $exception)
    {
        App::setLocale('en_GB');
        /** @var SymfonyComponentHttpKernelThrowable $e */
        $e = $exception;
        $statusCode = $e->getStatusCode();
        return $this->isHttpException($exception) && $statusCode == 404 ?
            response()->view('frontend.pages.404') :
            parent::render($request, $exception);
    }
    

    【讨论】:

      【解决方案2】:

      打开 app/exceptions/handler.php

      在这里找到渲染函数粘贴

      不要为了导入这个特性

      
      use SymfonyComponentHttpKernelExceptionNotFoundHttpException;
      
      
      
      public function render($request, Exception $e)
      {
      
          if($e instanceof NotFoundHttpException)
          {
              if(Request::hasCookie('language')) {
                  $cookie = Request::cookie('language');
                  app()->setLocale($cookie);
                 //.... etc
              }
          }
      
          return parent::render($request, $e);
      }
      

      【讨论】:

        猜你喜欢
        • 2017-08-10
        • 2016-05-15
        • 2023-02-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-03-24
        • 2015-08-26
        相关资源
        最近更新 更多