首页 文章

如何将本地化配置为auth(登录/注销)Laravel?

提问于
浏览
0

我正在使用route :: auth()来验证用户登录/注销 . 但是当我通过这篇文章撰写本地化时https://laracasts.com/discuss/channels/tips/example-on-how-to-use-multiple-locales-in-your-laravel-5-website

我没有正确的方法,当我通过在AuthController中使用$ redirectPath注销时,它会重定向到'/' . 我可以将它配置为'/ en',但它是硬编码 . 我希望它重定向到当前的语言环境(在登录/注销之前) . 示例:当前路径为:localhost:8888 / fr / user,然后注销后为localhost:8888 / fr / login,如您所见,它是自动的,而不是我可以配置的硬代码 .

谢谢,

3 回答

  • -1

    假设您的当前语言环境在config / app.php中设置 .

    您可以使用 config('app.locale'); 从配置中获取您的语言环境 .

    然后,您可以在redirect()中使用该值,或者将 $redirectPath 值设置为运行时的值 .

  • 1

    你可以做一个解决方法 . 将 $redirectPath 设置为'login'并从那里重定向到当前区域设置:

    在你的控制器中:

    $redirectPath = '/login';

    routes.php 中:

    Route::get('/login', function () {
        return redirect('/' . App::getLocale(). '/login');
    });
    
  • 0

    我找到了问题的答案 .

    我在用户表名称'lang'中添加了一列,并设置了fallback_locale =>'en';

    登录成功后,我加载此列并将其设置为fallback_locale,如果用户没有lang(== null),则locale将成为fallback_locale .

    如果有任何问题,您可以通过电子邮件viethuong2072000@gmail.com与我联系

相关问题