调用[NSBundle pathForResource]时获取nil(本地化问题)

时间:2012-01-09 18:11:56

标签: macos cocoa localization osx-snow-leopard nsbundle

我在我的应用程序中本地化了一个文本文件,目前只支持英文 enter image description here

我正在使用此代码来获取路径:

 [[NSBundle mainBundle] pathForResource:@"Quotes" ofType:@"txt"]

在我的系统(Lion 10.7.2)上,当使用任何语言

时,它返回预期路径(英语)
  

构建/β/ MyApp.app /内容/资源/ en.lproj / Quotes.txt

但是对于一些国际用户来说,这段代码正在返回零。 我还没有确认,但目前它只发生在Snow Leopard用户身上。

任何想法? 谢谢。

编辑:

  • Mac OSX 10.7.2德语
  • Snow Leopard English
  • Mac 10.6.8德语
  • Mac OSX 10.7.2中文
雪豹理论也消失了,有一个英文版的Mac也会返回零,这很让人困惑。

1 个答案:

答案 0 :(得分:1)

我明白了,我有一个工作区,包括ios& mac项目共享此文件。但是ios版本在info.plist中的Localization native development Region键上有值“en”,而Mac有“English”我将Mac项目改为“en”并更新了所有本地化文件。

系统偏好设置中列表语言中没有“英语”的用户 - >语言与获取nil的文字。

来自Apple论坛的Ken Thomases