Laravel переключатель языка заголовка для многоязычного сайта - PullRequest
1 голос
/ 06 мая 2020

У меня header.blade с языковыми ссылками. Когда пользователь нажимает ссылку, я хочу, чтобы страница обновлялась sh на правильном языке, но когда пользователь нажимает на ссылку, страница обновляется sh и по-прежнему находится на том же языке.

header.blade. php

@foreach (config('app.available_locales') as $locale)
    <li class="nav-item">
        <a class="nav-link"
            href="{{ route(\Route::currentRouteName(), \Route::current()->parameters(), $locale) }}"
            @if (app()->getLocale() == $locale) style="font-weight: bold; text-decoration: underline" @endif>{{ strtoupper($locale) }}</a>
    </li> 
@endforeach

Маршрутизация работает нормально на всех сайтах, только переключатель языка не работает.

web. php

Route::get('/', function () {
    return redirect(app()->getLocale());
});

Route::group(['prefix' => '{locale}', 'where' => ['locale' => '[a-zA-Z]{2}'], 'middleware' => 'setlocale'], function() {
    Route::get('/', 'PagesController@login');
    Route::get('faq', 'PagesController@faq')->name('faq');
    Route::get('dashboard', 'PagesController@dashboard')->name('dashboard');
});

Набор промежуточного программного обеспечения Локальный

public function handle($request, Closure $next)
{
    app()->setLocale($request->segment(1));
    return $next($request);
}

Кто-нибудь может мне помочь, пожалуйста?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...