Ich habe eine String-Erweiterung, die mir hilft, zu internationalisieren.Wie kann VarArgs zur Lokalisierung von Strings verwendet werden?
public extension String {
var localized: String {
return NSLocalizedString(self, tableName: nil, bundle: Bundle.main, value: "", comment: "")
}
func localized(args:CVarArg...) -> String{
return NSString.localizedStringWithFormat(self.localized as NSString, args) as String
}
}
So kann ich leicht „hello_world“ .localized überall in der App verwenden kann, und es funktioniert gut.
Jetzt möchte ich die gleiche Funktionalität haben, aber auch in der Lage sein, Argumente zu übergeben. Das "CVarArg ..." zu überholen scheint jedoch nicht so zu funktionieren, wie ich es erwartet hätte.
"grant_gps_access".localized("MyApp")
Erwartetes Ergebnis: "Bitte gewähren MeineAnw GPS Zugang"
Tatsächliches Ergebnis: "Bitte gewähren (\ n MyApp \ n) GPS-Zugriff"
Was bin ich hier fehlt?
http://StackOverflow.com/a/27914308/2303865 –