public static function exists($short)
    {
        // Check if language is restricted by domain middleware
        if (self::$__domain_restricted_languages && !in_array($short, self::$__domain_restricted_languages)) {
            return false;
        }

        // Try cache
        $cache_key = 'language_exists_' . $short;
        $res = NULL;
        if (Settings::isCacheEnabled()) {
            $res = Cacher::getInstance()
                ->getDefaultCacher()
                ->get($cache_key);
        }

        // Get from db
        if ($res === NULL) {
            $languages = new LanguageEntityRepository();
            $languages->setWhereShort($short);
            $res = (bool)$languages->getFirstObjectFromCollection();

            // Save in cache
            if (Settings::isCacheEnabled()) {
                Cacher::getInstance()
                    ->getDefaultCacher()
                    ->set($cache_key, $res);
            }
        }

        return $res;
    }