Я совершенно новичок в Laravel, поэтому я все еще не хватает хороших методов программирования. Для моей работы мне нужна локализация приложения на трех языках.Laravel 5.1 локализация
Я знаю, где сделать языковые файлы ресурсов/lang ... Чтобы использовать их, я могу написать Lang::get('navigation.dining')
. И в моем представлении файл в начале я определяю <?php App::setLocale(session('lang'));?>
.
Сессия сохранена routes.php. Вот пример:
Route::get('language/{lan?}', function ($lan='eng'){
Session::put('lang', $lan);
return redirect()->back();
});
Я не уверен, что если этот подход хорош или нет, поэтому, пожалуйста, исправить или предложить лучший способ сделать это.
Это один метод да. Все зависит от того, как ваше приложение должно работать. Ваш код подсказывает, что посетитель выберет язык из раскрывающегося списка и перенаправится на эту страницу, будет задана переменная сеанса, и посетитель будет перенаправлен обратно. Выглядит вполне законно. – Luceos
Часть кода, которая меня больше всего интересует: «App: setLocale (session ('lang'));' потому что я использую ее при каждом представлении. Это то, о чем я не уверен, если это хорошо. – Tim
да, лучше держать логику приложения в контроллерах или еще лучше в поставщике услуг, а не определять ее в верхней части вашего представления/шаблона – Luceos