/** * Set the preferred locale. Checks against the selectable locales * @param string $locale */ public static function setPreferredLocale($locale) { if (is_string($locale) && self::isSetPreferredLocale($locale) && $locale == self::$request_locale) { //we already know that the preffered locale is set to to be this locale, so do nothing. return; } self::$request_locale = self::ensureSelectableLocale($locale); $_SESSION['preferred_locale'] = self::$request_locale; self::setPreferredLocales(self::getLocaleResolution($locale)); }