我正在使用Xcode 7.3.1並嘗試爲我的項目設置本地化版本。我試圖局部Main.storyboard文件Swift:Main.Storyboard本地化失敗
第二屏幕截圖顯示Main.storyboard被局部化。但是,這並不反映在Main.Storyboard(截圖1)中。它應該像截圖3
注:Main.Storyboard文件包含約10場景。
什麼解決?
我正在使用Xcode 7.3.1並嘗試爲我的項目設置本地化版本。我試圖局部Main.storyboard文件Swift:Main.Storyboard本地化失敗
第二屏幕截圖顯示Main.storyboard被局部化。但是,這並不反映在Main.Storyboard(截圖1)中。它應該像截圖3
注:Main.Storyboard文件包含約10場景。
什麼解決?
你應該寫Classes
在XIB OR Storyboard
Views
&使用您的controls
分配Classes
到相應的控制類型,像這樣 -
class LocalizedTextField: UITextField {
override func drawPlaceholderInRect(rect: CGRect) {
let localizedPlaceHolder = self.placeholder!.localized
self.placeholder = localizedPlaceHolder
super.drawPlaceholderInRect(rect)
}
}
class LocalizedLabel : UILabel {
override func awakeFromNib() {
if let text = text {
self.text = text.localized
self.bounds.size.width = CGFloat.max
self.sizeToFit()
}
}
}
class LocalizedButton : UIButton {
override func awakeFromNib() {
for state in [UIControlState.Normal, UIControlState.Highlighted, UIControlState.Selected, UIControlState.Disabled, UIControlState.Focused] {
if let title = titleForState(state) {
setTitle(title.localized, forState: state)
}
}
}
}
extension String {
var localized: String {
let localizedValue = NSLocalizedString(self, tableName: nil, bundle: NSBundle.mainBundle(), value: "", comment: "")
if localizedValue == "" {
return self
}
else
{
return localizedValue
}
return self
}
}
你在正確的方法 –
@ Anbu.Karthik:然後在哪裏寫t控制的轉換值,即「uJE-ia-usa.text」=「印地文文本」; –
我添加了答案檢查一次bro –