我开始使用 this guide将本地化集成到我的应用程序中.它很有效,直到我本地化了一个包含动态变量的字符串.原来是这样的: let myString = "I have \(countOfMoney) dollars in my wallet." 然后我试着模
let myString = "I have \(countOfMoney) dollars in my wallet."
然后我试着模仿this堆栈的答案来本地化它.但是,我收到了EXC_Bad_Access错误.以下是我尝试本地化的方法.
这是在我的Localizable.strings英文文件中:
localizedMsg="I have %@ dollars in my wallet.";
这是在我的View Controller中:
let countOfMoney = moneyInWallet.count let localizedMsg = String(format: NSLocalizedString("localizedMsg", comment: ""), countOfMoney)
但是,当我在模拟器上运行应用程序时,此行显示为错误.我如何解决它?
您的设置不正确.您的代码应如下所示:let localizedMsg = String(format: NSLocalizedString("I have %d dollars in my wallet.", comment: ""), countOfMoney)
现在运行genstrings以获取更新的Localizable.strings文件.
这将添加以下行:
"I have %d dollars in my wallet." = "I have %d dollars in my wallet.";
另请注意从%@到%d的更改.这假设countOfMoney是整数类型.仅将%@用于对象指针.