Swift 中带有变量的 NSLocalizedString
NSLocalizedString with variable in Swift
如何翻译其中包含变量的字符串,如下所示:
let alert = UIAlertController(title: NSLocalizedString("NEUEARTIKEL",comment:"Bitte gib einen neuen Artikel für \(titelArr[sender.tag]) an:"), message: nil, preferredStyle: .Alert)
当我在 localizable.string 中像这样正常翻译字符串时:
NEUEARTIKEL="Add an item to \(titelArr[sender.tag]):";
警报将显示 (titelArr[sender.tag]) 而不是它的值。
这可能非常简单,但我是 swift 的新手,无法 google 提供一些有用的东西! ;-)
感谢您的帮助
//塞布
在您的 localisable 中,您不能直接设置自定义文本,您只能使用文本和格式标志。所以,为了达到你的目标,你可以这样做:
NEUEARTIKEL="Add an item to %@:";
之后,使用 NSString(format: <#NSString#>, <#args: CVarArgType#>...)
获得您的头衔 well-formatted
let title = NSString(format: NSLocalizedString("NEUEARTIKEL", nil), titelArr[sender.tag])
let alert = UIAlertController(title: title, message: nil, preferredStyle: .Alert)
完成后,您的可本地化字符串将按照您的需要进行格式化。
这是另一种方法以及我的做法。
let NEUEARTIKEL = "Add an item to %@:"
let alert = UIAlertController(title: String.localizedStringWithFormat(NSLocalizedString(NEUEARTIKEL, comment: "Bitte gib einen neuen Artikel für \(titelArr[sender.tag]) an:"), titelArr[sender.tag]), message: nil, preferredStyle: .Alert)
基本上,带格式的本地化字符串的主要思想是这样的:
let math = "Math"
let science = "Science"
String.localizedStringWithFormat(NSLocalizedString("I love %@ and %@", comment: "loved Subjects"), math, science)
let myString = String(format: NSLocalizedString("account.by_user", comment: "any comment"), "Peter","Larry")
let title = String(format:
NSLocalizedString("account.user_count", comment: ""),
users.count.description)
你可以找到要点here
如何翻译其中包含变量的字符串,如下所示:
let alert = UIAlertController(title: NSLocalizedString("NEUEARTIKEL",comment:"Bitte gib einen neuen Artikel für \(titelArr[sender.tag]) an:"), message: nil, preferredStyle: .Alert)
当我在 localizable.string 中像这样正常翻译字符串时:
NEUEARTIKEL="Add an item to \(titelArr[sender.tag]):";
警报将显示 (titelArr[sender.tag]) 而不是它的值。
这可能非常简单,但我是 swift 的新手,无法 google 提供一些有用的东西! ;-)
感谢您的帮助 //塞布
在您的 localisable 中,您不能直接设置自定义文本,您只能使用文本和格式标志。所以,为了达到你的目标,你可以这样做:
NEUEARTIKEL="Add an item to %@:";
之后,使用 NSString(format: <#NSString#>, <#args: CVarArgType#>...)
let title = NSString(format: NSLocalizedString("NEUEARTIKEL", nil), titelArr[sender.tag])
let alert = UIAlertController(title: title, message: nil, preferredStyle: .Alert)
完成后,您的可本地化字符串将按照您的需要进行格式化。
这是另一种方法以及我的做法。
let NEUEARTIKEL = "Add an item to %@:"
let alert = UIAlertController(title: String.localizedStringWithFormat(NSLocalizedString(NEUEARTIKEL, comment: "Bitte gib einen neuen Artikel für \(titelArr[sender.tag]) an:"), titelArr[sender.tag]), message: nil, preferredStyle: .Alert)
基本上,带格式的本地化字符串的主要思想是这样的:
let math = "Math"
let science = "Science"
String.localizedStringWithFormat(NSLocalizedString("I love %@ and %@", comment: "loved Subjects"), math, science)
let myString = String(format: NSLocalizedString("account.by_user", comment: "any comment"), "Peter","Larry")
let title = String(format:
NSLocalizedString("account.user_count", comment: ""),
users.count.description)
你可以找到要点here