         // this is a bit of a mess, eh?
         switch type {
         case .LocationAlways, .LocationInUse:
-            button.setTitle("Enable Location".uppercaseString, forState: UIControlState.Normal)
+            button.setTitle("Enable Location".localized.uppercaseString, forState: UIControlState.Normal)
         default:
-            button.setTitle("Allow \(type.rawValue)".uppercaseString, forState: UIControlState.Normal)
+            button.setTitle("Allow \(type.rawValue)".localized.uppercaseString, forState: UIControlState.Normal)
         }
         
         button.addTarget(self, action: Selector("request\(type.rawValue)"), forControlEvents: UIControlEvents.TouchUpInside)

            case .LocationAlways:
                if statusLocationAlways() == .Authorized {
                    setButtonAuthorizedStyle(button)
                    button.setTitle("Got Location".uppercaseString, forState: UIControlState.Normal)
                } else if statusNotifications() == .Unauthorized {
                    setButtonUnauthorizedStyle(button)
                    button.setTitle("Denied Location".uppercaseString, forState: UIControlState.Normal)
                }
            case .LocationInUse:
                if statusLocationInUse() == .Authorized {
                    setButtonAuthorizedStyle(button)
                    button.setTitle("Got Location".uppercaseString, forState: UIControlState.Normal)
                } else if statusLocationInUse() == .Unauthorized {
                    setButtonUnauthorizedStyle(button)
                    button.setTitle("Denied Location".uppercaseString, forState: UIControlState.Normal)
                }
            case .Contacts:
                if statusContacts() == .Authorized {
                    setButtonAuthorizedStyle(button)
                    button.setTitle("Allowed Contacts".uppercaseString, forState: UIControlState.Normal)
                } else if statusContacts() == .Unauthorized {
                    setButtonUnauthorizedStyle(button)
                    button.setTitle("Denied \(type.rawValue)".uppercaseString, forState: UIControlState.Normal)
                }
            case .Notifications:
                if statusNotifications() == .Authorized {
                    setButtonAuthorizedStyle(button)
                    button.setTitle("Allowed Notifications".uppercaseString, forState: UIControlState.Normal)
                } else if statusNotifications() == .Unauthorized {
                    setButtonUnauthorizedStyle(button)
                    button.setTitle("Denied \(type.rawValue)".uppercaseString, forState: UIControlState.Normal)
                }
            case .Microphone:
                if statusMicrophone() == .Authorized {
                    setButtonAuthorizedStyle(button)
                    button.setTitle("Allowed \(type.rawValue)".uppercaseString, forState: UIControlState.Normal)
                } else if statusMicrophone() == .Unauthorized {
                    setButtonUnauthorizedStyle(button)
                    button.setTitle("Denied \(type.rawValue)".uppercaseString, forState: UIControlState.Normal)
                }
            case .Camera:
                if statusCamera() == .Authorized {
                    setButtonAuthorizedStyle(button)
                    button.setTitle("Allowed \(type.rawValue)".uppercaseString, forState: UIControlState.Normal)
                } else if statusCamera() == .Unauthorized {
                    setButtonUnauthorizedStyle(button)
                    button.setTitle("Denied \(type.rawValue)".uppercaseString, forState: UIControlState.Normal)
                }
            case .Photos:
                if statusPhotos() == .Authorized {
                    setButtonAuthorizedStyle(button)
                    button.setTitle("Allowed \(type.rawValue)".uppercaseString, forState: UIControlState.Normal)
                } else if statusPhotos() == .Unauthorized {
                    setButtonUnauthorizedStyle(button)
                    button.setTitle("Denied \(type.rawValue)".uppercaseString, forState: UIControlState.Normal)
                }
            }


            return UIColor(red: 1.0-r, green: 1.0 - g, blue: 1.0 - b, alpha: a)
        }
        return self
    }
}
extension String {
    var localized: String {
        return NSLocalizedString(self, comment: "")
    }
}

