Iphone CocoaTouch:随机更改语言的本地化应用程序

Iphone CocoaTouch:随机更改语言的本地化应用程序,iphone,cocoa-touch,localization,string,Iphone,Cocoa Touch,Localization,String,我遵循苹果关于本地化iPhone软件的文档,使用genstrings ruby脚本创建字符串文件,并对所有nib文件进行了本地化。我还查看了苹果的留言板和网络,试图找到解决方案 我已确保所有字符串文件都是UTF-16,并将我的构建设置“字符串文件输出编码”更改为UTF-16,但在模拟器和设备上,本地化仍在切换,即使 NSArray* languages = [[NSBundle mainBundle] preferredLocalizations]; NSString* preferredLan

我遵循苹果关于本地化iPhone软件的文档,使用genstrings ruby脚本创建字符串文件,并对所有nib文件进行了本地化。我还查看了苹果的留言板和网络,试图找到解决方案

我已确保所有字符串文件都是UTF-16,并将我的构建设置“字符串文件输出编码”更改为UTF-16,但在模拟器和设备上,本地化仍在切换,即使

NSArray* languages = [[NSBundle mainBundle] preferredLocalizations];
NSString* preferredLang = [languages objectAtIndex:0];

正确输出用户选择的语言。是否缺少某些内容,或者这只是一个bug?

从项目中删除文件夹(仅删除参考),然后将en.lproj文件夹中的localizable.strings文件添加到项目(而不是文件夹)。现在右键单击该文件,单击“获取信息”并添加所需的本地化。现在您将在localizable.strings文件中看到en和de。现在运行项目。为我工作

它是如何转换的?在给定的运行中,是否所有内容都以相同的语言输出?您使用什么代码加载本地化字符串?我有两个字符串文件,一个在de.lproj文件夹中,另一个在en.lproj文件夹中,在这些文件夹中是Localizable.strings文件夹(两者的名称相同(可能是问题))。文件夹中有一个文件,分别名为de和en。该文件中包含字符串。语言在每次运行期间都是一致的,它只是随意选择一种。我正在使用NSLocalizedString(@“stringhandle”,nil);