2011-09-01 255 views
0

这个应用程序已经开发了一年多了,至今已经有多个版本(的iOS/iPhone)。我注意到这个开发周期的“后备”语言似乎不再适用。备用语言似乎不起作用

该应用程序有3个目标:CountryA,CountryB和CountryC。 每个目标有以下本地化目录:

  • CountryA:en.lproj,langA.lproj,langB.lproj
  • CountryB:en.lproj
  • CountryC:en.lproj,langC.lproj

在每一个目标的info.plist的关键“CFBundleDevelopmentRegion”与价值“EN”指定的。

的project.pbxproj文件具有无论是在PBXProject部分中指定的下列键/值:

  • developmentRegion = EN;
  • knownRegions =( 英语, 日语,法语 , 德语, 恩, FR, DK, DA, NL, 新, PT, 德, );

当我开始在iPhone或iPhone模拟器从指定的本地化目录中设置不同的系统语言的UI显示NSLozalizedString标识符,而不是本地化字符串的应用程序。即使我在iOS中将“English”指定为系统语言!

所以...由于某种原因en.lproj文件没有被拾起,因为如果我使用兰加或langB作为系统语言为目标预期CountryA一切。

任何帮助表示赞赏!

亲切的问候, 尼尔斯·R.

注:问题是,我们必须整合并具有Localizable.strings文件过一家外部公司的插件引起的。这将导致“我们的”Localizable.strings被覆盖。

对不起这个打扰!似乎我只是在提问之前进一步了解一下。

回答

1

“UI显示NSLozalizedString标识符而不是本地化字符串” - 您是否为各个目标正确添加Localizable.strings文件?

另一个问题可能是“区域”设置语言。您应该尝试在模拟器中更改该区域。当将区域设置为与语言完全不同的东西时,我已经看到意外的事情发生在NSLocale上。

+0

感谢您的回答。我找到了问题的原因(请参阅原始问题中的注释)。 –

+0

很高兴现在正在工作。 –