     public func getLocaleCurrent() -> Locale {
         
         // Gets the current locale of the device
-        let currentLocale : NSLocale = NSLocale.currentLocale()
-        
-        let country : String = currentLocale.displayNameForKey(NSLocaleCountryCode, value: currentLocale.localeIdentifier)!
-        let language : String = currentLocale.displayNameForKey(NSLocaleIdentifier, value: currentLocale.localeIdentifier)!
+        let currentLocale: NSLocale = NSLocale.currentLocale()
+        
+        let localeComponents: [NSObject : AnyObject] = NSLocale.componentsFromLocaleIdentifier(currentLocale.localeIdentifier)
+        
+        let country: String = localeComponents[NSLocaleCountryCode] as String
+        let language: String = localeComponents[NSLocaleLanguageCode] as String
         
         logger.log(ILoggingLogLevel.DEBUG, category: "DeviceImpl", message: "Country=\(country)")
         logger.log(ILoggingLogLevel.DEBUG, category: "DeviceImpl", message: "Language=\(language)")

        return Locale(country: country, language: language)
    }
    
    public func removeButtonListener(listener : IButtonListener) {
        
        // TODO
    }
    
    public func removeButtonListeners() {
        
        // TODO
    }
    
}
    /// Variable that stores the device information
    var deviceInfo:DeviceInfo
    
    /// Array of Listeners
    var listeners: [IButtonListener]
    
    /**
    Class constructor
    */
    init() {
        
        #if os(iOS)
            
            listeners = [IButtonListener]()
            
            let device: UIDevice = UIDevice.currentDevice()
            deviceInfo = DeviceInfo(name: device.name, model: device.model, vendor: "Apple", uuid: NSUUID().UUIDString)
            
        #elseif os(OSX)
            
            let host: NSHost = NSHost.currentHost()            
            deviceInfo = DeviceInfo(name: host.name!, model: getSysValue("hw.model"), vendor: "Apple", uuid: NSUUID().UUIDString)
            
        #endif
    }
    
    /**
    Gets the device information of the device
    
    :returns: Object Bean containing all the device information
    :author: Ferran Vila Conesa
    :since: ARP1.0
    */
    public func getDeviceInfo() -> DeviceInfo {
        
        logger.log(ILoggingLogLevel.INFO, category: "DeviceImpl", message: "name: \(self.deviceInfo.getName()), model: \(self.deviceInfo.getModel()), vendor: \(self.deviceInfo.getVendor()), uuid: \(self.deviceInfo.getUuid())")
