0

我正在使用带有 Vue-i18n 包的 Laravel Localization 在网站上的语言之间切换,我担心的是当用户更改语言时,另一个用户在刷新页面时获取该用户设置的语言,如何避免这种不一致?这是我的代码,我在这里缺少什么?

这是路线

Route::get('locale/{locale}','LanguageController@switchLang');

这是我更改语言的功能

class LanguageController extends Controller
{
    public function switchLang($lang)
    {
        if (array_key_exists($lang, Config::get('languages'))) {
            Session::put('applocale', $lang);
        }
        return Redirect::back();
    }
}

这是中间件

<?php namespace App\Http\Middleware;

use Closure;
use Illuminate\Http\Request;
use Illuminate\Foundation\Application;
use Illuminate\Support\Facades\App;
use Illuminate\Support\Facades\Config;
use Illuminate\Support\Facades\Session;

class Language {

    public function handle($request, Closure $next)
    {
        App::setLocale(Session::get('applocale'));
        
        return $next($request);
    }

}
4

0 回答 0