im, изучая multi locale inn laravel 5.4, поэтому я создал два файла сначала в ресурсах / lang / es / greeting.php
<?php return [ 'hello' => 'hola', ];
и второй в ресурсах / lang / en / greeting.php
<?php return [ 'hello' => 'hola', ];
и я создал этот маршрут внутри web.php
Route::get('/{locale}', function ($locale) { App::setLocale($locale); return view('index'); });
поэтому, когда я запрашиваю эту ссылку (localhost: 8000 / es), она работает, но когда я обновляю страницу, она возвращается к стандарту по умолчанию, который является en
и я хочу, чтобы он остался в новом регионе, так что помогите мне пожалуйста
Если вы хотите установить языковой стандарт на этот сеанс, измените код маршрута на:
Route::get('/{locale}', function ($locale) { App::setLocale($locale); Session::put('locale', $locale); return view('index'); });
Затем добавьте промежуточное программное обеспечение, чтобы проверить, имеет ли сеанс локаль, и если он так задает локаль:
public function handle($request, Closure $next) { if(Session::has('locale')) { app()->setLocale(Session::get('locale')); } return $next($request); }