Мой вариант:
// Routes
Route::group(['prefix' => LaravelLocalization::setLocale()], function() {
Route::get('/', 'IndexController@index');
Route::get('news/{id}', 'IndexController@showNews')->name('show.news');
Route::get('page/{slug}', 'IndexController@showPage')->name('show.page');
});
// Views
<a href="{{ app()->getLocale() . $item->url }}">{{ $item->title }}</a>
P.S. Ваш вариант какой-то не логичный ;)
UPD:А как в данном случае будет выборках разноязычных страниц и новостей ? У меня 3 таблицы с разными новостями ( на разных языках получается )
$table_name = 'pages_' . config('app.locale');
$pages = \DB::table($table_name)->get();
Ну вообще у вас плохая структура локализации. Вам надо переосмыслить и реструктурироват локализацию или же использовать готовую CMS для мультиязычного контента. А то у вас полохо получается кастомизация...