mercredi 28 juin 2017

Laravel build multi-lang route system

im using Laravel 5, and i have this route:

Route::group(['prefix' => '{lang}/', 'middleware' => 'SetLanguage'], function($lang){
//element Show
    Route::get('/'.trans('routes.element-container').'/{slugName}', 'ElementController@showByName');
});

My middleware is this:

public function handle($request, Closure $next)
{
    if (in_array($request->lang, config('app.all_langs'))){
        //exit("SETTING ON ".$request->lang);
        App::setLocale($request->lang);
    }else{
        //exit("SETTING ON en");
        App::setLocale('en');
    }
    return $next($request);
}

If i un-comment the two exit it works, but, the function "trans" on route side is not working, seems to trans only in default lang.

why the "trans" function is called before the middleware? I have test with 'before' and 'after', but no work...



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire