douchongzhang9267 2018-03-21 03:34
浏览 43
已采纳

如何保留Laravel 5选择的本地语言?

For example, I log in and selected en as my language and then I select zh (chinese) and then log out. Is there any way to retain the localization after you log-out the app?

this is the way I implement locale.

web.php:

Route::post('change-locale', 'LocaleController@changeLocale')->name('change.locale');

LocaleController:

class LocaleController extends Controller
{
    /**
     * @param Request $request
     */
    public function changeLocale(Request $request) {

        $this->validate($request, ['locale' => 'required|in:' . implode(',', config('app.available_locales'))]);

        Session::put('locale', $request->input('locale'));

        return redirect()->back();
    }

}

Logout:

public function logout(Request $request)
    {
        $this->guard()->logout();
        $locale =  session('locale');
        $locale = Session::put('locale', $locale);
        Session::flush();
        //$request->session()->invalidate();
        //$request->session()->put('locale',$locale);
        return redirect('/login');
    }

Locale Setting:

 public function handle($request, Closure $next)
    {
        if (Session::has('locale')) {
            $locale = Session::get('locale', Config::get('app.locale'));
        } else {
            $locale = substr($request->server('HTTP_ACCEPT_LANGUAGE'), 0, 2);

            if (!in_array($locale, Config::get('app.available_locales'))) {
                $locale = 'en';
            }
        }        
        App::setLocale($locale);

        return $next($request);
    }
  • 写回答

1条回答 默认 最新

  • douba2011 2018-03-21 03:59
    关注

    if you into session then that value you can get through

    $locale =  Session::get('locale');
    Session::flush();
    Session::set('locale',$locale);
    

    what i do, i use session global helper for get session value you can get any where this value

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 西门子S7-Graph,S7-300
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改