public function setlocale($locale) {
if (! in_array($locale, ['en', 'es', 'fr'])) {
abort(400);
}
App::setLocale($locale);
session(['language' => $locale]);
return redirect()->back();
}
En routes/web.php:
Route::get("/setlocale/{locale}", "HomeController@setlocale")->name("setlocale");
En todos los métodos de nuestros controllers poner:
// Ojo hay que añadir al método lo de Request $request si no lo tuviera ya de antes
App::setLocale($request->session()->get('language'));
En cualquier view:
<h1>LOCALE FRONT: {{ App::getLocale() }}</h1>
<a href="{{ route('setlocale',['es']) }}">ES</a>
<a href="{{ route('setlocale',['en']) }}">EN</a>
<a href="{{ route('setlocale',['fr']) }}">FR</a>
...
<p>@lang('messages.login_ok')</p>
<p>@lang('messages.hola')</p>
No hay comentarios:
Publicar un comentario