После поиска документации из laraval 4 я вижу, что способ установки языка – это сделать
App::setLocale('en');
Но как я могу использовать это в сочетании с, например, переключателем языка на моем веб-сайте, который посетитель может щелкнуть, чтобы изменить язык на лету? и запомнить это с помощью печенья или чего-то еще?
Кажется, что в laravel 3 было намного проще, но поскольку я новый для laravel, я не знаю, как это понять, поэтому, если кто-то знает, что делать и может помочь мне, это было бы здорово 🙂
Это способ:
Создайте маршрут для вашего выбора языка:
Route::get('language/{lang}', array( 'as' => 'language.select', 'uses' => 'LanguageController@select' ) );
Создайте ссылки для выбора языка в представлении Laravel Blade:
<html><body> Please select a Language: {{link_to_route('language.select', 'English', array('en'))}} {{link_to_route('language.select', 'Portuguese', array('pt'))}} </body></html>
Контроллер:
Class LanguageController extends BaseController { public function select($lang) { Session::put('lang', $lang); return Redirect::route('home'); } }
Затем в вашем приложении / start / global.php вы можете:
App::setLocale(Session::get('lang', 'en'));
Для Laravel существует отличная библиотека, которая позволяет обрабатывать локальные локальные гибкие локации larvel-mcamara . В readme проекта вы можете найти пример, как реализовать такой коммутатор.