2011-09-01 219 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

很高興現在正在工作。 –