В настоящее время работаю над проектом, в котором необходимо разрешить переключение языка и запомнить это изменение, в настоящее время у меня есть повар ie, созданный с vue -печкой, который установлен и проверен в моем заголовке. vue файл, он изменяет локаль файла i18n. js на значение в cook ie. Проблема, с которой я столкнулся сейчас, заключается в том, что я не могу заставить этого повара ie обновлять язык на любых блейд-файлах. php, таких как файл register.blade. php.
В настоящее время у меня есть файл header.blade. php, который обновляет язык через маршрут и контроллер, который изменяет локаль конфигурации, которая обновляет любые строки в {{ __(x.y) }}
.
Есть ли нет способа получить доступ к данным, которые я сохранил в этом файле cook ie в файлах blade. php? Если есть, могу ли я получить ссылку на то, как это сделать, если он не включает vue -cookies и все еще может работать в. vue файлах.
Мой заголовок. vue Этот файл содержит следующие внутренние теги сценария и устанавливается в качестве метода внутри экспорта по умолчанию:
switchLangauge(locale) {
if(this.$cookies.isKey('language')){
this.$cookies.set('language', locale);
console.log('language: ' + this.$cookies.get('language'));
i18n.locale = locale;
this.lang = locale;
}
else{
this.$cookies.set('language', locale);
console.log('cannot find cookie language');
}
}
Я недавно пытался использовать стандартную PHP cook ie ссылку $_COOKIE['language']
, которая теперь может чтобы обновить файл register.blade. php, чтобы указать, какой язык выбран, однако, я все еще испытываю проблему с невозможностью передачи выбора языка между vue и блейд-файлами.
Внутри блейда я использую URL, чтобы изменить локаль конфигурации, которую я изменил, чтобы попытаться обновить повара ie, который я создал в js.
public function update(Request $request, $id)
{
config(['app.locale' => $id]);
$response = new Illuminate\Http\Response('language');
$response->withCookie(cookie()->forever('langauge', $id));
return $response;
}
route является путом, и идентификатор должен быть en / cy, но каждый раз, когда я пытаюсь запустить его, он не обновляется.
Web. php файл маршрута:
Route::get('locale/{locale}', function($locale){
Session::put('locale', $locale);
return redirect()->back();
});
Как можно Я изменяю методы, чтобы позволить языку быть измененным между двумя типами представлений?