【问题标题】:Localized String Formatting in Settings.bundleSettings.bundle 中的本地化字符串格式
【发布时间】:2012-08-25 16:38:58
【问题描述】:

我对 iOS 开发还比较陌生,如果您继续阅读,我相信这会让您大吃一惊.. 哈哈...

我有一个关于在我的应用程序中使用 Settings.bundle 的问题。我已经设置好了,到目前为止我已经取得了巨大的成功,但是我遇到了一些我不确定如何处理的事情,也不确定它是否可以BE完成。

我正在做的是将页脚文本添加到设置中我的组的末尾。现在,由于我正在编写一个本地化的应用程序,我希望能够在我的页脚文本字符串中进行字符串格式化或字符串替换。例如说我在 Root.strings 中有以下内容:

"DEFAULTS_FOOTER"="This allows %@ to operate without you having to switch the settings each time.";
"APP_NAME"="My iOS App";

然后,如您所料,在我的 Root.plist 文件中,我有类似的内容:

...    
    <key>FooterText</key>
    <string>DEFAULTS_FOOTER</string>
...

那么,有谁知道在这种情况下是否可以进行字符串替换或格式化?现在,老实说,我没有尝试过任何简单的事情,比如:

"DEFAULTS_FOOTER"="This allows " + APP_NAME + " to operate without you having to switch setting each time.";

我有一种感觉,Xcode(或者是 IB?)不太允许这种类型的语法...我 AM 将尝试这个,但是,我等待回复问题。

如果有人知道可以做到这一点的方法,我会全力以赴。如果您想知道为什么我想做这样的事情,请记住以上只是一个示例。我知道大多数应用程序不仅会启动和更改名称,即使在版本之间也是如此,但我确实需要这样做,并且由于它是本地化的,我可以在语言需要的主字符串中的任何位置找到替换的字符串。

提前感谢您的帮助...

【问题讨论】:

  • 你所做的对我来说非常有效,只是不要忘记当你本地化它时,它将是一个要格式化的字符串,如: NSString *localized = ....; NSString *result = [NSString stringWithFormat:localized, parameter];

标签: iphone objective-c ios xcode ios4


【解决方案1】:

我认为首选的字符串连接方法如下:

NSString* default = [NSString stringWithFormat:@"DEFAULTS_FOOTER",APP_NAME];

显然你会想要在此之前查找本地化...

【讨论】:

  • 这显然不会发生在 settings.bundle 中,所以如果这是你的问题,这将不起作用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-30
  • 2011-03-08
相关资源
最近更新 更多