2013-04-24 64 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