Intereting Posts
Что происходит, когда я отправляю логическое значение True-False в инструкцию PDO в качестве параметра, связанного с полем int? Получить значения массива ключами Использование метода PUT с библиотекой PHP cUrl Строка сообщения PHP Mail PHP Array – скобки Функция вызова PHP SOAP-клиента с параметрами Eclipse Kepler – завершение PHP-кода не работает Какая простая альтернатива Php для расширения php gettext, которая может поддерживаться всеми видами бесплатного хостинга Замена указанных двойных кавычек в тексте с помощью preg_replace Выбор переключателей PHP Mysql API Gmail: 400 плохих запросов при попытке отправить электронное письмо (код PHP) Как проверить, возвращает ли SELECT EXISTS значение или нет? Imagick (Imagemagick on PHP): сначала загрузите файл без сохранения на диск? Как установить ширину + высоту для загруженного изображения PHP PHP-перенаправление с переменными строки запроса HTTP

Установите локаль на лету в laravel4

После поиска документации из 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 проекта вы можете найти пример, как реализовать такой коммутатор.