我正在尝试使用以下方法本地化我的应用程序:如何在Swift UI中实现本地化
一般来说,它可以工作。我发现的一个问题是文本串联。示例:我翻译了“ bookings”一词。为了使其正常工作,我需要分离以前的代码:
Text("bookings: 40")
成为:
Text("bookings")
.fontWeight(.bold)
+ Text(": 40")
.fontWeight(.bold)
翻译仍然有效。问题在于,现在我需要将文本格式化两次(在此示例中:fontWeight,但有时更复杂)。
我试图使它更简单,像这样:
Text("bookings" + ": 40)
.fontWeight(.bold)
该代码以英语运行,但现在尚未翻译成其他语言。我应该如何更改代码以使其工作并保持简单?
Text
本地化可用于字符串插值,例如参见WWDC 2019:Swift会话视频中的新增功能,SwiftUI中的本地化或此答案。
但是,您必须使用正确的格式说明符。对于字符串,它是%@
,对于整数,它是%lld
。例:
let value = 40
struct ContentView: View {
var body: some View {
Text("bookings: \(value)")
.fontWeight(.bold)
}
}
与本地化条目
"bookings: %lld" = "Buchungen: %lld";
在Localizable.strings文件中,将导致文本“ Buchungen:40”以粗体显示:
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句