         return I18N._languages!
     }
 
+
 }



    /// A sorted language list.
    static var languages:[Language]{
        if let listedLanguages = I18N._languages{
            return listedLanguages
        }


    fileprivate static var _languageNames:[String]?

    public static var defaultLanguageCode:String {
        let currentLocale:NSLocale = NSLocale(localeIdentifier: NSLocale.current.identifier)
        return currentLocale.object(forKey: NSLocale.Key.languageCode) as! String
    }

    public static  func languageName(forCode:String)->String?{
        for language in I18N.languages{
            if language.code == forCode{
                return language.displayName
            }
        }
        return nil
    }

    public static  func localizedLanguageName(forCode:String)->String?{
        for language in I18N.languages{
            if language.code == forCode{
                return language.localizedDisplayName
            }
        }
        return nil
    }

    // The Language names in their own locale
    public static var languageNames:[String] {
        if let names = I18N._languageNames{
            return names
        }
