Well here is my best attempt:
Keep all route definitions, for example. web.php
RouteServiceProvider:
Route::group([
'domain' => '{lang}.example.com'
'middleware' => LangMiddleware::class,
'namespace' => $this->namespace
], function ($router) {
require base_path('routes/web.php');
});
, , :
Route::group([
'middleware' => LangMiddleware::class,
'namespace' => $this->namespace,
'prefix' => {lang}
], function ($router) {
require base_path('routes/stateless.php');
});
LangMiddleware , - :
class LangMiddleware {
public function handle($request, $next) {
if ($request->route("lang")) {
App::setlocale($request->route("lang"));
}
return $next($request);
}
}