/ / Swift: Main.Storyboard Lokalisierung fehlgeschlagen - ios, swift, xcode, Lokalisierung, Storyboard

Swift: Main.Storyboard Lokalisierung fehlgeschlagen - ios, swift, xcode, Lokalisierung, Storyboard

Ich arbeite an Xcode 7.3.1 und versuche es Setze die Lokalisierung für mein Projekt. Ich versuchte zu lokalisierte Main.Storyboard-Datei

Screenshot 1

Screenshot 2

Der zweite Screenshot zeigt Main.storyboard ist lokalisiert. Dies spiegelt sich jedoch nicht in Main.Storyboard wider (Screenshot 1). Es sollte wie in Screenshot 3 sein.

Screenshot 3

Hinweis: Main.Storyboard Datei enthält ungefähr 10 Szenen.

Was ist los?

Antworten:

1 für die Antwort № 1

Schritt 1

Wählen Sie Ihr stroyboard -> gehen Sie zur Datei Inspector -> Lokalisierung -> aktivieren Sie das Häkchen für Ihre Sprache

Sie erhalten die Ausgabe von like

Bildbeschreibung hier eingeben

Schritt 2

schließlich bekommst du die Ausgabe wie

Bildbeschreibung hier eingeben


2 für die Antwort № 2

Du solltest schreiben Classes für dein controls benutzt in XIB OR Storyboard Views & zuordnen Classes zu den entsprechenden Kontrolltypen wie folgt -

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

}
}

Bildbeschreibung hier eingeben