public function onKernelRequest(GetResponseEvent $event)
    {
        $request = $event->getRequest();

        if (!$locale = $this->determineLocale($event)) {
            return;
        }

        $this->chooser->setLocale($locale);

        if (self::FALLBACK_HARDCODED === $this->fallback) {
            return;
        }

        // expand language list to include base locales
        // copy-pasted from Request::getPreferredLanguage
        $preferredLanguages = $request->getLanguages();
        $extendedPreferredLanguages = [];
        foreach ($preferredLanguages as $language) {
            $extendedPreferredLanguages[] = $language;
            if (false !== $position = strpos($language, '_')) {
                $superLanguage = substr($language, 0, $position);
                if (!in_array($superLanguage, $preferredLanguages)) {
                    $extendedPreferredLanguages[] = $superLanguage;
                }
            }
        }
        $order = array_intersect($this->allowedLocales, $extendedPreferredLanguages);
        $this->chooser->setFallbackLocales($locale, $order, self::FALLBACK_REPLACE === $this->fallback);
    }
public function onKernelRequest(GetResponseEvent $event)
    {
        $request = $event->getRequest();

        if (!$locale = $this->determineLocale($event)) {
            return;
        }

        $this->chooser->setLocale($locale);

        if (self::FALLBACK_HARDCODED === $this->fallback) {
            return;
        }

        // expand language list to include base locales
        // copy-pasted from Request::getPreferredLanguage
        $preferredLanguages = $request->getLanguages();
        $extendedPreferredLanguages = [];
        foreach ($preferredLanguages as $language) {
            $extendedPreferredLanguages[] = $language;
            if (false !== $position = strpos($language, '_')) {
                $superLanguage = substr($language, 0, $position);
                if (!in_array($superLanguage, $preferredLanguages)) {
                    $extendedPreferredLanguages[] = $superLanguage;
                }
            }
        }
        $order = array_intersect($this->allowedLocales, $extendedPreferredLanguages);
        $this->chooser->setFallbackLocales($locale, $order, self::FALLBACK_REPLACE === $this->fallback);
    }
public function onKernelRequest ( GetResponseEvent $ event ) { $ request = $ event -> getRequest ( ) ; if ( ! $ locale = $ this -> determineLocale ( $ event ) ) { return ; } $ this -> chooser -> setLocale ( $ locale ) ; if ( self :: FALLBACK_HARDCODED === $ this -> fallback ) { return ; } // expand language list to include base locales // copy-pasted from Request::getPreferredLanguage $ preferredLanguages = $ request -> getLanguages ( ) ; $ extendedPreferredLanguages = [ ] ; foreach ( $ preferredLanguages as $ language ) { $ extendedPreferredLanguages [ ] = $ language ; if ( false !== $ position = strpos ( $ language , '_' ) ) { $ superLanguage = substr ( $ language , 0 , $ position ) ; if ( ! in_array ( $ superLanguage , $ preferredLanguages ) ) { $ extendedPreferredLanguages [ ] = $ superLanguage ; } } } $ order = array_intersect ( $ this -> allowedLocales , $ extendedPreferredLanguages ) ; $ this -> chooser -> setFallbackLocales ( $ locale , $ order , self :: FALLBACK_REPLACE === $ this -> fallback ) ; }
Handling the request event.

@param GetResponseEvent $event
Handling the request event .