validate([ 'locale' => ['required', 'string', Rule::in($locales->enabled())], ]); $request->session()->put('locale', $validated['locale']); // Persisted so queued emails (no session to read) render in the // recipient's actual preferred language, not the app default. $request->user()?->update(['locale' => $validated['locale']]); return back(); } }