2

我有 eng、span、port、rus、arab、chin 的 Localizable.strings 文件。

一个非常奇怪的问题开始发生,关键是显示而不是值。奇怪的是,这就是导致它停止工作的原因:

我有:

self.title = NSLocalizedString(@"1OF5", @"");

在 ViewControllerA 中,效果很好。然后我将这行代码复制并粘贴到 ViewControllerB。现在显示键 '1OF5' 而不是 .strings 文件中的值。

所有其他 NSLocalizedStrings 在整个应用程序中都可以正常工作(其中 100 多个),除了这个 >:|

我试过了:

  1. 删除应用程序并重新安装
  2. 重启设备
  3. 清理项目并重新安装
  4. 重启设备,清理项目,重新安装
  5. 删除 .strings 文件并再次添加

我正在把头发拉出来。任何帮助将非常感激。

4

1 回答 1

1

NSLocalizedString是 的宏-[NSBundle localizedStringForKey:value:table:],其中table是 nil。这一切都意味着,通过这个宏,您可以在Localizable.strings位于应用程序主包中的资源文件中查找您的字符串。

确保键“10F5”引用的字符串位于Localizable.strings主包内的一个文件中。如果它不在主包中,那么您需要使用宏NSLocalizedStringFromTableInBundle来代替。

最后一件事:冒着提出愚蠢观点的风险,请确保您与您的“0”或“O”保持一致。

于 2012-12-19T21:23:08.570 回答