35 lines
		
	
	
		
			764 B
		
	
	
	
		
			PHP
		
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			764 B
		
	
	
	
		
			PHP
		
	
	
	
<?php
 | 
						|
 | 
						|
namespace BookStack\Http\Middleware;
 | 
						|
 | 
						|
use BookStack\Translation\LocaleManager;
 | 
						|
use Closure;
 | 
						|
 | 
						|
class Localization
 | 
						|
{
 | 
						|
    public function __construct(
 | 
						|
        protected LocaleManager $localeManager
 | 
						|
    ) {
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * Handle an incoming request.
 | 
						|
     *
 | 
						|
     * @param \Illuminate\Http\Request $request
 | 
						|
     * @param \Closure                 $next
 | 
						|
     *
 | 
						|
     * @return mixed
 | 
						|
     */
 | 
						|
    public function handle($request, Closure $next)
 | 
						|
    {
 | 
						|
        // Share details of the user's locale for use in views
 | 
						|
        $userLocale = $this->localeManager->getForUser(user());
 | 
						|
        view()->share('locale', $userLocale);
 | 
						|
 | 
						|
        // Set locale for system components
 | 
						|
        app()->setLocale($userLocale->appLocale());
 | 
						|
 | 
						|
        return $next($request);
 | 
						|
    }
 | 
						|
}
 |