Привет, у меня проблема с мультиязычным сайтом.
У меня есть laravel 5.5, и я устанавливаю Laravel-Translatable.
Когда он хочет включить главную страницу, отображается адрес:
Проект / EN / RU / EN / RU / EN / RU / EN / RU / EN / RU / EN / RU / EN / RU / EN / RU / EN / RU / EN / RU / EN / RU / EN / RU / ный / о / о / о / о / о / о / о / о / о / о / о / о
Я не знаю, почему есть адрес.
Мое Middleware / Language.php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Foundation\Application;
use Illuminate\Http\Request;
use Illuminate\Routing\Redirector;
class Language
{
public function handle(Request $request, Closure $next)
{
// Check if the first segment matches a language code
if (!array_key_exists($request->segment(1), config('translatable.locales')) ) {
// Store segments in array
$segments = $request->segments();
// Set the default language code as the first segment
$segments = array_prepend($segments, config('app.fallback_locale'));
// Redirect to the correct url
return redirect()->to(implode('/', $segments));
}
return $next($request);
}
}
Мой web.php (маршрутизация)
Route::get('/', 'PagesController@getIndex');
и мой PagesController.php
class PagesController extends Controller
{
public function getIndex() {
$this->data['menu_items'] = MenuItem::getTree();
return view('pages.index', $this->data);
}
}
Задача ещё не решена.
Других решений пока нет …