0

我有一个令我困惑的 iPhone 本地化问题。我正在本地化我的应用程序,并且英语以及简体中文和繁体中文都可以正常工作。我有两个已本地化的文件,Localizable.strings 和sounds.plist。两个文件中的字符串在设备和模拟器上都正确显示。

现在昨天我添加了西班牙语、意大利语和德语。当我在模拟器中测试时,一切都正确显示。但是当我部署到设备时,Localizable.strings 中包含的字符串正确显示,但sounds.plist 中包含的字符串始终以英文显示。甚至中文字符串也无法正确显示。

我尝试清理构建,将翻译后的文本复制回sounds.plist文件,甚至对文件进行核对,删除lproj文件夹,删除本地化并重新开始。

我在 XCode 中设置了一个断点,似乎对于这个文件,它没有检测到 loc 文件夹。从sounds.plist 加载字符串的代码是:

+ (NSDictionary*) getSounds
{
NSString *path = [[NSBundle mainBundle] pathForResource:@"sounds" ofType:@"plist"];
NSDictionary *dict = [[NSDictionary alloc] initWithContentsOfFile:path];
return dict;
}

我已经验证文件名是sounds.plist,都是小写的。在这一点上,我不知所措。有没有人经历过这样的事情?有人对如何修复有建议吗?

谢谢!

更新:我在模拟器和设备上比较了以下行的结果:

NSString *path = [[NSBundle mainBundle] pathForResource:@"sounds" ofType:@"plist"];

在模拟器上,路径正确报告为/Users/Steve/.../de.lproj/sounds.plist。在设备上,路径报告为/var/mobile/.../sounds.plist请注意,de.lproj 不在路径中。所以它从根目录加载sounds.plist,这就解释了为什么文本没有出现本地化。现在我的问题是为什么代码没有得到本地化文件夹中文件的路径?

4

2 回答 2

0

Xcode 中的sounds.plist 文件旁边是否有检查?您处于调试模式还是发布模式?

于 2009-08-13T20:53:25.717 回答
0

问题是设备上出现了问题。我使用 Organizer 从设备上卸载了该应用程序,然后通过 XCode 重新安装。现在一切都运行良好。

于 2009-08-13T23:10:40.330 回答