我正在努力解决一些文本字段的本地化问题。
通常,如果我要翻译的文本是硬编码的,则 Text() 或 TextField() 的“正常”本地化在我的应用程序中不会出现任何问题:
Text("English Text")
我将其翻译到我的 Localized.strings 中,如下所示:
"English Text" = "German Text";
现在我想翻译更加动态的文本字段,但我知道每个可能的条目:
TextField("New note" + (refresh ? "" : " "),text: $newToDo, onCommit: {
self.addToDo()
self.refresh.toggle()
})
(刷新是必要的,因为 SwiftUI 错误有时不会再次显示占位符文本。)
另一个例子是:
func dayWord() -> String {
let dateFormatter = DateFormatter()
dateFormatter.timeZone = TimeZone.current
dateFormatter.locale = Locale(identifier: "de_DE")
dateFormatter.dateFormat = "EEEE"
return dateFormatter.string(from: self)
}
var day: String {
return data.date.dateFromMilliseconds().dayWord()
}
Text(day.prefix(2))
Text(day.prefix(2)) 只有七种可能的状态,但我不知道在 Localized.strings 中写什么作为键。
使用 NSLocalizedString,例如
TextField(NSLocalizedString("New note", comment: "") + (refresh ? "" : " "), ...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)