2013-04-24 60 views
1

我想本地化我的應用程序使用多種語言(如6或7),但我不想添加多達故事板副本。因此,對於6型動物語言,我想:使用多種語言的故事板

  • 一個故事板
  • 6個Localizable.strings

在我的故事板,所有組件都出口,所以我可以編程本地化它們。

我的問題是,我不能在語言加載應用程序不具有本地化故事板(但有localizable.strings),我得到一個錯誤:

Could not find a storyboard named 'XXXX' in bundle NSBundle. 

有沒有辦法只使用一個具有多個Localizable文件的故事板?

回答

1

聽起來你的故事板仍然在en.lproj文件夾中。當您在配置爲使用其他語言的系統上啓動時,將使用該語言的lproj中的資源而不是en.lproj中的資源。您需要將故事板標記爲未在Xcode中進行本地化,以便它不會部署到構建的應用程序中的en.lproj文件夾中。還要確保它仍作爲資源包含在項目的適當目標中。你應該能夠從文件檢查器中選擇你的故事板來完成所有這些。

如果您的目標是iOS 6.0及更高版本,則可以使用Base.lproj功能。使用該功能,您的應用程序只提供一個故事板,並且多個字符串文件和故事板的字符串將在運行時用來自相應語言的字符串文件的字符串替換。

你可以閱讀更多關於base.lproj這裏: https://developer.apple.com/library/ios/#referencelibrary/GettingStarted/RoadMapiOS/chapters/InternationalizeYourApp/InternationalizeYourApp/InternationalizeYourApp.html

+0

我用「國際化基地」項目中相關信息的本地化和它的工作。謝謝! – ApheX 2013-05-03 13:01:00