Сергей
Подскажите как реализовать мультиязычность нормально, по офф докам ничего не происходит на сайте совсем. Выводится дефолтная локаль только
SarcasmIO
мидлварь + дефолтный пакет + роут
Сергей
Сергей
https://habrahabr.ru/post/264435/
Сергей
сделал так
Сергей
но он возвращает обратный маршрут
Сергей
Вывожу проверку есть ли локаль en пишет false)
Сергей
Потом пошел на офф доки и сделал как там) всё равно)
Сергей
в конфиге меняю локаль руками и норм)
SarcasmIO
да. Даже без мидлвея
Route::get('/lang/{language}','Controller@change')->middleware(['language']); Kernel.php 'language' => LocaleInject::class, LocaleInject@handle public function handle($request, Closure $next) { $raw_locale = $request->cookie('lang'); if(in_array($raw_locale, Config::get('app.locales'))) { $locale = $raw_locale; } else $locale = Config::get('app.locale'); \App::setLocale($locale); $request->cookie('lang'); return $next($request); } View: {{ __('auth.navbar.logged') }} и уже в resources\lang описываешь
Сергей
Спасибо) протестирую)
SarcasmIO
главное задай в app.php(config папка) 'locale' => 'ru', 'locales' => ['ru', 'en'],
SarcasmIO
а что в контроллере описывать?
public function change($language) { if (in_array($language, \Config::get('app.locales'))) { Cookie::queue(Cookie::forever('lang', $language)); } return redirect()->back(); }
SarcasmIO
как тебе угодно
Сергей
как тебе угодно
Может быть проблема в куках? потому что такой же эффект как и был от смены)
SarcasmIO
в куки записалась локаль ?
SarcasmIO
покажи вьюху и структуру lang папки, как прописывал и тп
Сергей
нет
Anonymous
Всем привет, может кто подсказать по laravel passport. Почему то когда делаю post запросы приложение не авторизует пользователя, соответственно не срабатывает middleware api:auth, но при этом для get запросов все работает. Может у кого есть идеи, хоть в какую сторону двигаться
Сергей
в куки записалась локаль ?
куки не пишет) только токен и сессия лежит
SarcasmIO
фасад импортнул ?
SarcasmIO
тут будет auth.test.hello
SarcasmIO
;)
Сергей
тут будет auth.test.hello
у меня из файла тест
Сергей
фасад импортнул ?
какой фасад?
SarcasmIO
use Illuminate\Support\Facades\Cookie;
Сергей
да
SarcasmIO
да
Config тоже ? пробовал инкогнито, чистить куки и тп
Сергей
Config тоже ? пробовал инкогнито, чистить куки и тп
через dd что должно выводится здесь Cookie::queue(Cookie::forever('lang', $language)); ?
SarcasmIO
Тоже) попробовал) ничего)
в EcnryptCookis прописал ?
SarcasmIO
protected $except = [ 'lang' ]
Сергей
protected $except = [ 'lang' ]
прописал сейчас) тот же эффект)
SarcasmIO
вряд ли тебе станет легче от фразы "у меня все работает" :D
SarcasmIO
ну я смотрю raw коммита старого проекта с мультиязычностью, могу тебе его скинуть laravel 5.5, там все работает
SarcasmIO
локаль подампать можешь ? меняется ?
SarcasmIO
мб выводишь неправильно
Anonymous
api wantsJson accept : json нужно отправлять
accept: application/json поставил, а можно подробнее по поводу api wantsJson?
Сергей
мб выводишь неправильно
Когда руками локаль меняю то выводится всё ок, значит вывод правильный же?)
SarcasmIO
accept: application/json поставил, а можно подробнее по поводу api wantsJson?
'Authorization' => 'Bearer '.$accessToken, передаешь ?
Anonymous
да, передаю
SarcasmIO
подмените меня кто то, я спать хочу(
SarcasmIO
я запутался чуть чуть
Сергей
тобишь /lang/ru /lang/en отрабатывает ?
да) и getLocale выводит тоже норм локаль, которую установил)
SarcasmIO
ну, так а что ты хочешь то ?
SarcasmIO
добавь кнопочки со ссылками на роут
SarcasmIO
и пусть переключают язык
SarcasmIO
да, передаю
какая-то доп. конкретика есть ?
Сергей
тобишь /lang/ru /lang/en отрабатывает ?
Не правильно понял тебя) Когда в конфиге меняю, то всё ок выводит)
SarcasmIO
но куки не устанавливаются ?
SarcasmIO
вот копай в эту сторону
Andrey
Ребята, может кто сталкивался, концептуальный вопрос. Как правильнее реализовать систему Плагинов? Есть некая информационная система на большое количество пользователей, и каждый пользователь потенциально должен иметь возможность сделать свой плагин на php и работать только со своими данными..
Сергей
но куки не устанавливаются ?
Ну вот куки установились на en, и не меняются больше, при этом выводится ru😂
Maksim (Ellrion)
убери мидлвар лэнг с роутов установки локали. Ты куку с языком и в роуте ставишь и в мидлваре. возможно эз-за этого
Сергей
Ладно буду разбираться)
Maksim (Ellrion)
мидлвал нужен только на других роутах
Anonymous
какая-то доп. конкретика есть ?
с фронта передается ajax запрос, в котором установлены нужные заголовки, заголовки одинаковые для всех запросов https://i.imgur.com/hs5RDm5.png на бэке роут в группе Route::middleware('auth:api')->group(...) Get запросы авторизуются нормально, для post запросов возвращается 401 неавторизован
Anonymous
токен запрашивается для scope '*'
Anonymous
один момент, роуты не в api.php а в web.php, так уж сложилось.
Anonymous
middleware с csrf protection отключил
SarcasmIO
попробуй в тесте $this->actingAs(factory(User::class)->create(),['scope']); $this->post(route('name') ->assertStatus(200);
SarcasmIO
если ты не задал там неймспейсы + мидлвари