2015-06-22 57 views
3

我的項目基礎語言是英語。我的模擬器/手機是英文的。這些項目支持英文,法文,荷蘭文。NSLocalizedString給出了其他語言,然後手機在

當應用程序第一次啓動時,即使手機是英文的,應用程序也總是使用法語。

當我調試,並打印出該行:

[NSLocale preferredLanguages][0]; 

它給了我正確的語言,即英語。

有人知道這是爲什麼嗎?

+0

你能舉一個Localizable.strings的例子嗎? – alfonsomiranda

+0

在項目的目錄結構中進行雙重檢查,確保您沒有將它們混淆在錯誤的目錄中 – Andrea

+0

這就是問題所在。項目結構是en.lproj的Base.lproj內幕,說明他爲什麼要跳過英語並用法語進一步學習。通過重命名解決了問題。 – user1007522

回答

3

請檢查以下內容。

  1. 點擊您PROJECT_NAME - >編輯方案...
  2. 點擊 '選項' 標籤
  3. 上選擇 '應用程序語言' 英語(或者任何你需要的)上

只需重命名本地化文件可能會導致一些其他的錯誤。下面是蘋果直營店約基地定位:

https://developer.apple.com/library/ios/documentation/MacOSX/Conceptual/BPInternational/InternationalizingYourUserInterface/InternationalizingYourUserInterface.html

爲了消除基地定位:

  1. 點擊文件檢查項目。
  2. 選擇「信息」上你的項目水龍頭,取消選中「使用基地國際化」的「本地化」部分

希望這有助於。

+0

該方案有系統語言。 – user1007522

0

我猜蘋果打破了模擬器的東西,因爲它在Xcode 6.1的真實設備上工作。檢查真實設備