Implement language switcher functionality and enhance localization support: add available locales configuration, update SetLocale middleware to handle language selection via query parameters, and integrate language switcher buttons in the settings layout. Additionally, update various views to utilize translation functions for improved internationalization, ensuring consistent language support across the application.

This commit is contained in:
2025-07-29 17:04:13 +05:00
parent 0b6cbc8d9e
commit 1a3f82b22c
10 changed files with 87 additions and 16 deletions

View File

@@ -17,10 +17,15 @@ class SetLocale
*/
public function handle(Request $request, Closure $next): Response
{
if (Session::has('locale')) {
$locale = $request->query('lang');
if ($locale && in_array($locale, config('app.available_locales'))) {
App::setLocale($locale);
Session::put('locale', $locale);
} elseif (Session::has('locale')) {
App::setLocale(Session::get('locale'));
} else {
App::setLocale('en'); // Default locale
App::setLocale(config('app.fallback_locale', 'en'));
}
return $next($request);