从最近的快速版本开始,可以使用多行字符串文字来轻松格式化多行字符串的外观。
我正在寻找一种方法来本地化这样的字符串。
这是用户可以发送的预配置邮件文本的示例:
mailComposerVC.setMessageBody("""
Hi,
I would like to share the following feedback:
""",
isHTML: false)
似乎没有办法将其正确转换为可本地化的.strings文件。
作为一种解决方法,我想出了一种解决方案,可以分别定位消息的每个部分并使用插值:
let localisedGreeting = NSLocalizedString("Hi", comment: "")
let localisedMessage = NSLocalizedString("I would like to share the following feedback: ", comment: "")
mailComposerVC.setMessageBody("""
\(localisedGreeting),
\(localisedMessage)
""",
isHTML: false)
.strings文件如下所示:
"Hi" = "Hallo";
"I would like to share the following feedback: " = "ich möchte folgendes Feedback geben: ";
有没有更好/更简洁的方法可以做到这一点?
Localizable.strings
文件中的键和值都可以是多行。和
“你好, 我想分享以下反馈: “ =”你好, 反馈意见反馈: “;
电话
let localizedMessage = NSLocalizedString("""
Hi,
I would like to share the following feedback:
""", comment: "")
按预期扩展。
但是,这可能不适用于本地化工具,并且也无法在Localizable.strings中以正确的语法颜色显示,这可能会造成混淆。
我将改用短(单行)键,并将其本地化为所有语言(包括默认语言英语)。