Я использовал этот способ для локализации в laravel 5.1, он работает нормально. Теперь я столкнулся с тем, что текст перевода не работает с return redirect()->back() в laravel 5.5.
Route::get('lang/{locale}', function ($locale) {
\App::setLocale($locale);
\Session::put('langKey', $locale);
// return redirect()->back();
return view('welcome');
});
Он хорошо работает, если я использую return view('welcome'), но не работает с redirect().
Код из welcome.blade.php:
<ul>
@if (App::isLocale('en'))
<li><a href = "{{url('/lang/my')}}">ျမန္မာ</a></li>
@else
<li><a href = "{{url('/lang/en')}}">English</a></li>
@endif
</ul>
App -> {{ app()->getLocale() }}
<br>
Session -> {{Session::get('langKey')}}
<br>
@lang('test.home')
Снимок экрана с использованием перенаправления назад:
Снимок экрана с использованием вида возврата - 1:
Снимок экрана с использованием вида возврата - 2:
И не могли бы вы указать, что именно не работает .. потому что "не работает для redirect ()" это не очень информативно
Привет, Александр, я уже добавил скриншот на свой вопрос. Не могли бы вы помочь :)
Route :: get ('/', function () {return view ('добро пожаловать');});
как я понял, setLocale работает только для текущего запроса
Не могли бы вы проверить код с github github.com/ZinMarHtunRDN/testing_cms
первый github - пустой проект, второй - без папки маршрутов ..
извините, я использую локализацию ветки. github.com/ZinMarHtunRDN/testing_cms/tree/localization. второй проект - laravel 5.1, так что route.php находится в app / Http github.com/ZinMarHtunRDN/TestTranslation/blob/master/app/Htt p /…
Я отправил ссылку на stackoverflow, просто реализуйте 1 из возможных решений;)
Я не понимаю, почему мы должны использовать промежуточное ПО для изменения локали.
Можете ли вы поделиться мне способом или ссылкой (учебник) для локализации laravel 5.5 без изменения URL-адреса / маршрута и без указания URI локали. Это означает, что я хочу использовать www.mydomain.com, а не www.mydomain.com/en.
Хочу сказать "спасибо", Александр. Это связано с маршрутом страницы приветствия. Не нужно использовать промежуточное ПО
хм, в чем была проблема с Route :: get ('/', function () {return view ('welcome');}); маршрут?
Он работал с маршрутом с помощью контроллера с функцией. Моя проблема заключалась в прямом использовании функции.






Я только что сделал простые 2 маршрута, во втором маршруте я вызвал setLocale и после возврата перенаправил обратно. У меня это работает. Наверное, есть какая-то другая проблема ..