我正在使用带有 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);
}
}