【发布时间】:2017-02-25 14:47:49
【问题描述】:
我有一个字符串扩展,可以帮助我实现国际化。
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 访问权限”
我在这里错过了什么?
【问题讨论】: