2011-03-10 89 views
3

我第一次本地化iPhone應用程序。我已將所有字符串放入Localizable.strings文件中,並通過我的代碼中的NSLocalizedString訪問它們。工作正常。 接下來,我有一個名爲info.html的文件,其中包含我用作About框的UIWebView的肉。我已將它放在語言文件夾(en.lprojde.lproj)中,並將它們添加到我的Xcode資源中。 現在,在模擬器中,字符串和html文件都以適當的語言顯示。 但是,在設備上,字符串出現本地化,而html文件仍未翻譯。iOS本地化不一致

這是模擬器和設備之間奇怪的不一致!任何人都知道解決方法? (...除了違抗本地化系統,並且使用NSLocalizedString手動呼叫de_info.html,en_info.html等。)

回答

7

嘗試先刪除應用程序。

當您使用Xcode部署到設備(或模擬器)時,只會添加資源,不會刪除。
最有可能你現在有三個html文件。一個在de文件夾中,一個在en文件夾中,另一個在根文件夾中。

如果有的話,iOS更喜歡根文件夾中的那個。

作爲一般規則:當您從項目中刪除(或在此情況下移動它們)資源時,應該從設備或模擬器中刪除應用程序。

+1

Aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaah。 (通常在盯着宜家安裝說明半小時後發出聲音。)非常感謝。 – 2011-03-11 17:19:22

4

另一個補充:我還需要從我當前的構建目錄中刪除應用程序,以使其工作(否則,設備上刪除的應用程序將被替換爲錯誤的版本)。

在XCode中,您可以按下'Build'菜單中的'alt'鍵,然後您可以選擇清除整個構建目錄。

終於爲我解決了這個問題。嘆息...

+0

提及「Clean Build Folder」選項。我遇到了同樣的問題,並且在刪除XIB本地化後,一個簡單的「Clean」+從模擬器中刪除應用程序似乎沒有解決問題。這解決了我的問題。 – ig2r 2012-03-13 13:13:52