StoryBoard国际化

通常的国际化设置都是,在代码中对控件命名实现国际化,这回是直接把storyboard,当做key值进行国际化。

打开你的工程文件,然后点击工程设置的地方如图所示,然后点击加号,然后选择你要添加的语言,然后不用管,提示关联了storyboard,点击finish,所添加的语言就会出现在列表中。

然后你就会发现,你的storyboard多了一个三角的箭头,现在点击,打开他,会看到一个base文件和一个你添加的国际化语言。base就是原来你的storyboard,而下面那个就是对应你的story里面所有控件对应的,国际化语言。

打开你添加的简体中文strings文件,会看到这些东西,就是对应国际化,这下你就知道怎么做了吧,把等号后面的改成你设置的语言,我这里设置的简体中文。

当然你还可以在storyboard和strings文件的设置中点击这个,选择把他变成另一个storyboard,这样就有好几个storyboard了,每个语言一个,我不喜欢这么做,哈哈

 

 

问题来了,当你发现,你改变了你的storyboard上面的控件之后,strings国际化文件没有变化,这确实是一个问题,目前有个解决办法是这样的。

把你的新界面与现有的 MainStoryboard.strings 合并

首先,启动“终端”应用程序。然后cd到项目文件夹的 Base.lproj 目录。

例如:

cd /Users/UserName/Projects/HelloWorld/HelloWorld/Base.lproj    

在提示符后输入以下命令:

ibtool MainStoryboard.storyboard --generate-strings-file New.strings    

(你也可以取别的名字(New.strings))

最后在打开你的xcode的strings文件,好了,现在有了新的控件的值,可以翻译了。

 

不过我的建议是,开发到最后在进行国际化设置,如果你觉得上面的方法麻烦,可以把现有的翻译保存下来,然后删除掉现在的,用我上面的方法重新生成一个。

 

posted @ 2015-09-24 11:41  Maple023  阅读(288)  评论(0编辑  收藏  举报