Frontend\Core\Engine\Ajax::setLanguage PHP Метод

setLanguage() публичный Метод

Set the language
public setLanguage ( string $value )
$value string The (interface-)language, will be used to parse labels.
    public function setLanguage($value)
    {
        // get the possible languages
        $possibleLanguages = Language::getActiveLanguages();
        // validate
        if (!in_array($value, $possibleLanguages)) {
            // only 1 active language?
            if (!Model::getContainer()->getParameter('site.multilanguage') && count($possibleLanguages) == 1) {
                $this->language = array_shift($possibleLanguages);
            } else {
                // multiple languages available but none selected
                throw new Exception('Language invalid.');
            }
        } else {
            // language is valid: set property
            $this->language = (string) $value;
        }
        // define constant
        defined('FRONTEND_LANGUAGE') || define('FRONTEND_LANGUAGE', $this->language);
        defined('LANGUAGE') || define('LANGUAGE', $this->language);
        // set the locale (we need this for the labels)
        Language::setLocale($this->language);
    }