我有一个字符串扩展,可以帮助我国际化。如何正确使用VarArgs进行字符串本地化?
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
}
}
这样我就可以很容易地使用“hello_world”.localized在应用程序的任何地方,它很好地工作。
现在我想拥有相同的功能,但也希望能够传递参数。然而,传递'CVarArg ...'似乎并不像我预期的那样工作。
"grant_gps_access".localized("MyApp")
预期结果:“请给予MyApp的GPS访问”
实际结果:“请给予(\ n MyApp的\ n)的GPS访问”
我是什么在这里失踪?
http://stackoverflow.com/a/27914308/2303865 –