文本串联以进行本地化

锦葵

我正在尝试使用以下方法本地化我的应用程序:如何在Swift UI中实现本地化

一般来说,它可以工作。我发现的一个问题是文本串联。示例:我翻译了“ bookings”一词。为了使其正常工作,我需要分离以前的代码:

Text("bookings: 40")

成为:

Text("bookings")
    .fontWeight(.bold)
+ Text(": 40")
    .fontWeight(.bold)

翻译仍然有效。问题在于,现在我需要将文本格式化两次(在此示例中:fontWeight,但有时更复杂)。

我试图使它更简单,像这样:

Text("bookings" + ": 40)
    .fontWeight(.bold)

该代码以英语运行,但现在尚未翻译成其他语言。我应该如何更改代码以使其工作并保持简单?

马丁·R

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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章