public static function language($code, $hydrate = true)
    {
        $code = mb_strtolower($code);

        if (! isset(static::$languages)) {
            static::$languages = json_decode(static::getFile(__DIR__.'/../resources/languages.json'), true);
        }

        if (! isset(static::$languages[$code])) {
            throw LanguageLoaderException::invalidLanguage();
        }

        return $hydrate ? new Language(static::$languages[$code]) : static::$languages[$code];
    }