diff --git a/LocalizableUIl.swift b/LocalizableUIl.swift new file mode 100644 index 0000000..305fdc1 --- /dev/null +++ b/LocalizableUIl.swift @@ -0,0 +1,76 @@ +// +// LocalizableUIl.swift +// Localize_Swift +// +// Created by Prashant Tukadiya +// + +import UIKit +import Localize_Swift + + + +@IBDesignable class LocalizableLabel: UILabel { + + @IBInspectable var table :String? + @IBInspectable var key:String? + + override func awakeFromNib() { + guard let key = key else {return} + self.text = key.localized(using: table) + NotificationCenter.default.addObserver(self, selector: #selector(setText), name: NSNotification.Name(LCLLanguageChangeNotification), object: nil) + + } + + @objc func setText () { + guard let key = key else {return} + self.text = key.localized(using: table) + + } + +} + + +@IBDesignable class LocalizableButton: UIButton { + + @IBInspectable var table :String? + @IBInspectable var key:String? + + override func awakeFromNib() { + guard let key = key else {return} + self.setTitle(key.localized(using: "HomeScreen"), for: .normal) + NotificationCenter.default.addObserver(self, selector: #selector(setText), name: NSNotification.Name(LCLLanguageChangeNotification), object: nil) + + } + + @objc func setText () { + guard let key = key else {return} + self.setTitle(key.localized(using: "HomeScreen"), for: .normal) + + } + +} + +// Set this subclass as your navigation item in your storyboard and pass `key` of your localized string +@IBDesignable class LocalizeUINavigationItem: UINavigationItem { + + @IBInspectable var table :String? + @IBInspectable var key:String? + + override func awakeFromNib() { + guard let key = key else {return} + self.title = key.localized(using: table) + NotificationCenter.default.addObserver(self, selector: #selector(setText), name: NSNotification.Name(LCLLanguageChangeNotification), object: nil) + + } + + @objc func setText () { + guard let key = key else {return} + self.title = key.localized(using: table) + + } + +} + + +