Próbowałem routingu, aby zmienić język, ale nie ma żadnych zmian. Czy możesz mi pomóc, pls?Nie można zmienić języka w Laravel 4
Route::get('lang/{lang}', function($lang)
{
App::setLocale($lang);
return Redirect::to('/');
});
Próbowałem routingu, aby zmienić język, ale nie ma żadnych zmian. Czy możesz mi pomóc, pls?Nie można zmienić języka w Laravel 4
Route::get('lang/{lang}', function($lang)
{
App::setLocale($lang);
return Redirect::to('/');
});
App::setLocale()
nie jest trwały - to znaczy, że nie będzie pamiętać, co między wniosków, które zostały zapisane. Zamiast tego możesz użyć sesji, aby zapamiętać wybrane ustawienia narodowe, i odczytać z sesji ustawienia regionalne dla każdego żądania. Możemy również odczytać domyślne locale (z config) na wypadek, gdyby w sesji nie było jednego zestawu.
// app/routes.php
Route::get('lang/{lang}', function($lang)
{
Session::put('my.locale', $lang);
return Redirect::to('/');
});
// app/start/global.php
App::setLocale(Session::get('my.locale', Config::get('app.locale')));
I rozwiązać problem poprzez umieszczenie
App::setLocale(Session::get('lang', 'en'));
w app/start/global.php
cool. A co z ciasteczkami? Chciałbym ustawić plik cookie, który będzie trwał wiecznie. Próbowałem już z 'Cookie :: forever' i' Cookie :: get', ale to nie działa. Z sesjami to działa, jak pokazałeś. Próbowałem wydrukować plik cookie, ale jest pusty. Drukowanie sesji działa jednak. Kod jest podobny w obu przypadkach, zmieniłem go tylko na pliki cookie zamiast sesji. – MikkoP