我正在尝试使用NSLocalizedString
本地化我的应用程序。当我导入XLIFF文件时,大多数工作都很出色,但有些却不是这样,并且一些字符串没有本地化。我注意到这个问题是因为NSLocalizedString
内部包含了一些变量,比如:
NSLocalizedString(" - \(count) Notifica", comment: "sottotitolo prescrizione per le notifiche al singolare")
或
NSLocalizedString("Notifica per \(medicina!) della prescrizione \(prescription!)\nMemo: \(memoTextView.text)", comment: "Messaggio della Local Notification")
也许这不是这类东西的正确语法。有人能解释一下如何在Swift中做到这一点吗?
发布于 2014-10-09 20:00:50
您可以在NSLocalizedString
中使用sprintf
格式参数,因此您的示例如下所示:
let myString = String(format: NSLocalizedString(" - %d Notifica", comment: "sottotitolo prescrizione per le notifiche al singolare"), count)
发布于 2015-06-29 05:29:21
在WWDC2014“使用Xcode6本地化”的会话#412中,在Swift中实现这一点的正确方法如下:
String.localizedStringWithFormat(
NSLocalizedString(" - %d Notifica",
comment: "sottotitolo prescrizione per le notifiche al singolare"),
count)
发布于 2017-06-28 14:57:21
我遵循了创建字符串扩展的方法,因为我有许多字符串要本地化。
extension String {
var localized: String {
return NSLocalizedString(self, comment:"")
}
}
要在代码中使用它进行本地化,请执行以下操作:
self.descriptionView.text = "Description".localized
对于具有动态变量的字符串,请遵循:
self.entryTimeLabel.text = "\("Doors-open-at".localized) \(event.eventStartTime)"
在字符串文件中声明不同语言的字符串(例如:阿拉伯语和英语)
希望能帮上忙!
https://stackoverflow.com/questions/26277626
复制相似问题