2011-06-29 16 views
1

我有一個應用程序,我試圖本地化爲幾種語言。我通過.strings文件完成大部分本地化,但對於較大的幫助文件,我需要本地化版本的html文件。本地化iPhone應用程序html文件和奇怪的xcode 4.2警告

我已經閱讀了Apple的文檔以及在Google上進行了很多搜索,我認爲我正在做的事情。

在我的xcode項目目錄中,我有一個「en.lproj」和一個「ja.lproj」(日文)。我將HTML幫助文件的版本放在每個目錄中,然後將這些文件導入xcode中的資源組。這樣做後,文件似乎正確顯示。我看下的資源「help.html」文件,這是一個「組」,如果我看裏面我看到:

help.html(英文)
help.html(日本)

當我構建我的應用程序時,我的應用程序似乎在相應的.lproj目錄下正確包含這兩個文件版本,並且在運行應用程序時一切都正常工作(設置爲英語時看到英文文檔,日本)。

然而,當我建立我的項目,我得到的Xcode 4.2惱人的警告:

警告:數生成命令的輸出文件.../ja.lproj/StartQuizController.html
警告:多個構建命令輸出文件.../en.lproj/StartQuizController.html

從我所瞭解的情況來看,如果存在衝突的文件名被添加到您的應用程序中,就會出現這些「多個生成命令」消息。但是,由於這些文件已本地化並存在於其自己的子目錄中,因此不存在真正的衝突。

我做錯了什麼,或者是警告xcode 4.2中的錯誤?

謝謝你,羅恩

+0

有同樣的問題,好像Xcode的缺陷。 – berec

回答

3

我想你可以防止這些警告,如果你這樣做的Xcode的方式。

Xcode只使用一個複製命令來複制本地化文件,您可能有兩個單獨的命令。

您可以嘗試先從「複製束資源」構建階段刪除文件。 刪除本地化文件的複製命令並添加一個新文件。如果Xcode正確處理您的本地化文件,它應該在「選擇要添加的項目」-Picker中顯示單個文件,而不是每個本地化的文件。


如果不只是工作完全刪除它們,然後再添加物理文件。
備份所有的html文件。然後從項目中刪除它們(邏輯和物理)。

  • 將文件的英文版本添加到Xcode,讓Xcode將它複製到您的目錄。
  • 在左側欄選擇文件
  • 右側欄
  • 通過在本地化部分
  • 或者使用+按鈕添加本地化替換文件槽的Xcode的內容,或使用查找程序來取代的打開第一個選項卡本地化版本。
+0

這工作完美!謝謝你的提示!正如你所建議的那樣,我手動完成了同樣的事情,並且XCode數據庫中的某些東西一定會丟失。 – Ron

1

我正嘗試本地化我的項目也是如此。我總是在html文件中添加一個應用內用戶手冊,這個手冊會在UIWebView上加載。

我haven't這麼做過,但什麼I'm要做的是爲每個語言創建不同的文件,比方說:當web視圖被加載,而不是裝載

info_en.html // for english 
info_es.html // for spanish 
info_ca.html // for catalan 

然後@"info_en.html"文件,我將加載NSLocalizedString(@"info", nil);然後,在每個本地化的字符串文件中,html文件的名稱將與該語言匹配。

我相信這應該有幫助,但是,我還沒有嘗試過自己。

+0

感謝您的諮詢!這聽起來像是會起作用的,儘管@ fluchtpunkt的方法與我一直在做的事情更加一致。 – Ron