3

据我所知,我不是唯一遇到这个问题的人。除了这只是发生在我Settings.bundle的应用程序中,一切都很好......</p>

我的应用程序已本地化为英语(主要)和法语。

对于英语和法语,我的Root.strings文件根本没有被调用。如果我把我的 iPhone 放在法语中,设置包将默认为我在Root.plist. 现在,无论我的 iPhone 设置为哪种语言(英语或法语),假设我添加了一个名为“hello”的组并将相应的字符串设置为“world”,我只会得到“hello”作为我的“本地化”字符串......</ p>

谢谢

4

1 回答 1

7

我一直在努力解决同样的问题。使用 iOS 模拟器 5.0 版和 Xcode 4.2,当 Root.strings 文件更改时,本地化似乎不会生效。

我的设置有一个 Settings.bundle,其中包含一个 Root.plist 和一个包含 Root.strings 文件的支持的每种语言的目录:

Settings.bundle:
    Root.plist
    en.lproj:
        Root.strings
    fr.lproj:
        Root.strings

这几乎是 Apple 文档建议的标准设置。

当模拟器使用英文本地化时,我更改了匹配的 Root.strings 文件并重新编译,更改似乎没有生效。但是如果我卸载应用程序,清理项目,然后重新运行,本地化就会生效。这似乎是一个 Xcode 或 iOS 模拟器错误。

我的解决方案:从模拟器中卸载应用程序,然后从 Xcode 再次运行它以查看更改。

于 2012-03-21T16:39:26.557 回答