2013-09-28 104 views
3

我使用了幾個故事板,並且我決定將它們本地化(.strings文件已由Xcode生成)。IOs7多故事板本地化問題

我注意到,在構建階段>複製包資源中,與本地化相關的所有資源都以紅色顯示。

Xcode screenshot

在運行時,本地化僅適用於主要故事板。使用Localizable.strings進行本地化也可行。但它不在其他故事板上。

我試着重新啓動Xcode,但它沒有改變任何東西。 (比較Base internationalization and multiple storyboard not working right

我的本地化故事板是以前編譯的。如果我添加另一個故事板,將其本地化並編譯,它會失敗,並顯示以下錯誤:

***由於未捕獲的異常'NSInvalidArgumentException'而終止應用程序,原因:'無法找到名爲'維護'的故事板捆綁NSBundle(...)

你有什麼想法來解決這個問題嗎?

回答

0

此錯誤可能是由於您的沒有實現您選擇在您的應用程序設置中進行本地化的多種語言之一。

爲了實現在Storyboard的語言:

  1. 選擇故事板
  2. 在右側面板上,轉到文件檢查器選項卡(左一)
  3. 本地化 ,檢查所有語言

您現在有兩種方法來定位故事板:

  • 任你選擇,通過選擇本地化字符串創建.strings文件爲您的語言,這將在你的故事板出現的字符串的Xcode的列表。
  • 或者您可以選擇界面生成器Cocoa Touch Storyboard來創建一個不同版本的特定語言故事板的「sub」版本。

到目前爲止,我只找到刷新Xcode中.strings文件,如果你添加新的字符串的一種方法:只需取消並重新檢查語言,選擇「替換文件」當記者問。您可以在終端中使用Apple also provides a tool。最後there's a script自動執行。

0
  • 打開故事板文件
  • 見右側面板中,在局部化第一個選項卡(身份證)上,取消選中「基地」
  • 應當會提示一個對話框,不管答案的問題應該被修復。

現在您會看到構建階段是正確的,並且您應該能夠運行您的項目。

0

無法在「複製包資源」中複製的紅色Localizable.strings或其他本地化文件的原因之一可以是「目標」設置中「本地化本地開發區域」的設置。

應將此區域添加到項目的「本地化」中。

I.e.如果「本地化本地開發區域」爲「en」,則應在項目設置中將「英語」添加爲本地化。