         return defaultLanguage
     }
     
-    // Resets the current language to the default
+    /**
+     Resets the current language to the default
+     */
     public class func resetCurrentLanguageToDefault() {
         setCurrentLanguage(self.defaultLanguage())
     }
     
-    // Returns the app's full display name in the current language
+    /**
+     Get the current language's display name for a language.
+     - Parameter language: Desired language.
+     - Returns: The localized string.
+     */
     public class func displayNameForLanguage(language: String) -> String {
         let currentLanguage : String = self.currentLanguage()
         let locale : NSLocale = NSLocale(localeIdentifier: currentLanguage)


public class Localize: NSObject {
    
    // Returns a list of available localizations
    public class func availableLanguages() -> [String] {
        return NSBundle.mainBundle().localizations
    }
    
    // Returns the current language
    public class func currentLanguage() -> String {
        var currentLanguage : String = String()
        if ((NSUserDefaults.standardUserDefaults().objectForKey(LCLCurrentLanguageKey)) != nil){

    return string
}

public extension String {
    /**
     Swift 2 friendly localization syntax, replaces NSLocalizedString
     - Returns: The localized string.
     */
    func localized() -> String {
        if let path = NSBundle.mainBundle().pathForResource(Localize.currentLanguage(), ofType: "lproj"), bundle = NSBundle(path: path) {
            return bundle.localizedStringForKey(self, value: nil, table: nil)
