2010-06-17 74 views
2

我有一个本应该被本地化的应用程序(两种语言,英文是默认的)。本地化不起作用

但是,我似乎只获取所有字符串的英文版本,无论系统默认语言是什么。我可能错过了一些微不足道的东西,但我现在阅读了几个教程而没有任何解决方案。

我将此行添加到main(),

 
NSLog(@"Current locale is: %@", [[NSLocale currentLocale] localeIdentifier]);
,结果打印输出为 en_US,而系统设置为使用本地化语言。

我检查了构建输出,应用程序包包含XX.lproj文件夹,因为我相信他们应该(并且他们是UTF-16,我确认了这一点)。

我错过了什么?

编辑:当我通过iTunes通过分发证书部署应用程序时,似乎我的本地化工作正常,但在使用XCode(Command-R或类似的)时没有。有谁知道我的调试配置设置中缺少什么?

+0

究竟是什么'XX'?应该是ISO语言代码,语言名称(如西班牙语或捷克语)不再适用。 – zoul 2010-06-17 11:58:42

+0

是的,它们是ISO语言代码(小写) – Krumelur 2010-06-17 21:44:12

+0

更新:我尝试了一个非英语语言环境的设备,然后正确设置当前语言环境。字符串仍然是英语,虽然.... – Krumelur 2010-06-20 11:36:01

回答

10

我要回答我自己的问题,希望能帮助别人。我的问题是通过从手机中删除我的应用程序并从头重新安装来解决的。我必须做一个完整的删除(包括所有的数据),而不仅仅是一个干净的+从Xcode重建。

我想iPhone会在某处缓存可用的本地化...

+0

除此之外,我建议重新启动Xcode,因为经过几次清理和删除我开始得到加载主要笔尖SIGABRT。上述步骤作为常规操作,然后在这些场合重新启动xcode似乎工作100%。 – 2011-04-16 09:50:45

+0

这是一个相当古老的东西,所以如果我记错了东西,请原谅我,但我认为问题出在设备上,而不是Xcode。话虽如此,我发现Xcode 4需要重新启动的公平份额...... – Krumelur 2011-04-17 08:40:23

+0

+1你节省了我的一天:) – 2012-07-19 09:22:48