#php #laravel
#php #laravel
Вопрос:
Я новичок в Laravel. Я делаю свой проект в Laravel 7.
У меня есть этот код:
router.php
$locale = App::getLocale();
if (App::isLocale('pl')) {
Route::get('/', 'HomeController@index')->name('home');
Route::get('/o-nas', 'HomeController@about')->name('about');
Route::get('/oferta', 'HomeController@offer')->name('offer');
Route::get('/realizacje', 'HomeController@realizations')->name('realizations');
Route::get('/kontakt', 'HomeController@contact')->name('contact');
Route::get('/polityka-prywatnosci', 'HomeController@privacyPolicy')->name('privacy-policy');
}
Route::get('/en', 'HomeController@index')->name('home2');
if (App::isLocale('en')) {
Route::get('/en/about-us', 'HomeController@about')->name('about');
Route::get('/en/offer', 'HomeController@offer')->name('offer');
Route::get('/en/realizations', 'HomeController@realizations')->name('realizations');
Route::get('/en/contact', 'HomeController@contact')->name('contact');
Route::get('/en/privacy-policy', 'HomeController@privacyPolicy')->name('privacy-policy');
}
Route::any('{query}',
function() { return redirect('/'); })
->where('query', '.*');
в resources / lang я создаю 2 каталога: pl и en и помещаю router.php:
return array(
'start' => 'start',
'about' => 'about us',
'offer' => 'offer',
'realizations' => 'realizations',
'contact' => 'contact'
)
В blade я создаю этот URL:
<ul class="navbar-nav">
<li class="nav-item d-block d-lg-none d-xl-block text-center">
<a class="nav-link active" href="{{ route('home') }}">Start</a>
</li>
<li class="nav-item text-center">
<a class="nav-link" href="{{ route('about') }}">O nas</a>
</li>
<li class="nav-item text-center">
<a class="nav-link" href="{{ route('offer') }}">Oferta</a>
</li>
<li class="nav-item text-center">
<a class="nav-link" href="{{ route('realizations') }}">Realizacje </a>
</li>
<li class="nav-item text-center">
<a class="nav-link" href="{{ route('contact') }}">Kontakt</a>
</li>
<li class="nav-item mx-xl-4 mb-2 mb-md-0 text-center">
<a class="nav-link order-visit" href="{{ route('contact') }}">Zamów wizytę</a>
</li>
<li class="nav-item text-center d-inline-block d-lg-none language-box2">
<a href="{{ route('home') }}">PL</a> | <a href="{{ route('home2') }}">EN</a>
</li>
</ul>
Корректен ли этот код для переводов?
У меня проблема, без изменения языка я не могу перейти, например domain.com/en/contact , domain.com/en/about-us и т. д
Как я могу устранить эту проблему?
Ответ №1:
в маршрутах, например, на главной странице, проверьте язык и перенаправьте
<li class="nav-item d-block d-lg-none d-xl-block text-center">
@if (App::isLocale('pl'))
<a class="nav-link active" href="{{ route('home') }}">Start</a>
@else
<a class="nav-link active" href="{{ route('home2') }}">Start</a>
@endif
</li>