Route::get('setlocale/{locale}', function ($locale) {
if (in_array($locale, \Config::get('app.locales'))) {
Session::put('locale', $locale);
}
return redirect()->back();
});<a href="setlocale/ru">ru</a>var_dump, ссылка "mysite/setlocale/ru" не изменяет текущую локализацию на ruif (in_array($locale, Config::get('app.locales'))) {
Session::put('locale', $locale);
var_dump($locale);die;
}возвращает нужную префикс локализацииif (in_array($locale, Config::get('app.locales'))) {
Session::put('locale', $locale);
var_dump(Session::put('locale', $locale));die;
}возвращает NULL
Route::get('setlocale/{locale}', function ($locale) {
if (in_array($locale, \Config::get('app.locales'))) {
Session::put('locale', $locale);locales в config/app.php?
Lang::setLocale('ru');
namespace App\Http\Middleware;
use Closure;
use Illuminate\Support\Facades\App;
use Illuminate\Support\Facades\Config;
use Illuminate\Support\Facades\Session;
class Locale
{
public function handle($request, Closure $next)
{
$raw_locale = Session::get('locale');
if (in_array($raw_locale, Config::get('app.locales'))) {
$locale = $raw_locale;
}
else $locale = Config::get('app.locale');
App::setLocale($locale);
return $next($request);
}
}
надо регистрировать в группе web
protected $middleware = [
'web' => [ \App\Http\Middleware\Locale::class],
];\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class?protected $middleware = [
'web' => [ \App\Http\Middleware\Locale::class],
];
protected $middleware = [
\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
];
'web' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class,
\App\Http\Middleware\Maintenance::class,
],