【发布时间】:2012-01-06 02:56:15
【问题描述】:
我在应用本地化方面遇到了一个奇怪的问题。它在以前的版本中运行良好,但最近不知何故停止运行,本地化文件没有明显的变化(我确实添加了一种语言,但仅此而已)。
当我使用 Xcode Organizer (Xcode 3.2.5) 安装构建时,本地化有时会起作用。更改操作系统中的语言设置似乎没有任何作用。从 Xcode Organizer 卸载,然后重新安装没有帮助。
本地化 API 似乎找不到我的资源。我在我的一个 ViewController 中添加了一些 NSLog() 语句来打印出一个应该本地化的字符串,使用这个函数:
NSLog(@"Value: %@", [[NSBundle mainBundle] localizedStringForKey:@"MY_KEY" value:@"none found" table:nil]);
当本地化工作时,这会打印出预期的结果。当本地化不起作用时,这会打印出“未找到”。我检查了包的内容,.lproj 文件都在那里。我错过了什么?
编辑:我发现在构建之后,某些生成的用于各种语言的 *.lproj/Localizable.strings 文件没有正确创建 - 有时。我可以触摸德语文件,它会正确生成,但是下次我运行构建时它不正确。所有 Localizable.strings 文件的编码当前都设置为 UTF-16,我尝试切换到 UTF-8,但没有成功。我在构建日志中没有看到任何警告或错误表明字符串文件存在问题。
【问题讨论】:
标签: ios localization ios-4.2