例如:
/* Class = "IBUILabel"; text = "Label"; ObjectID = "8"; */
"8.text" = "Label";
/* Class = "IBUILabel"; text = "Label"; ObjectID = "11"; */
"11.text" = "Label";
/* Class = "IBUILabel"; text = "Label"; ObjectID = "14"; */
"14.text" = "Label";
/* Class = "IBUILabel"; text = "name"; ObjectID = "20"; */
"20.text" = "姓名";
/* Class = "IBUILabel"; text = "sex"; ObjectID = "24"; */
"24.text" = "性别";
/* Class = "IBUIButton"; highlightedTitle = "HaHa"; ObjectID = "28"; */
"28.highlightedTitle" ="HaHa";
/* Class = "IBUIButton"; normalTitle = "Button"; ObjectID = "28"; */
"28.normalTitle" ="Button";
/* Class = "IBUISegmentedControl"; 32.segmentTitles[0] = "First"; ObjectID = "32"; */
"32.segmentTitles[0]" ="First";
/* Class = "IBUISegmentedControl"; 32.segmentTitles[1] = "Second"; ObjectID = "32"; */
"32.segmentTitles[1]" ="Second";
对应的English的文件也修改成英文版的
以上是本地化的view中静态的label控件中的数据,如果是动态的,就是如果在.h文件相关联的数据控件,那么就要现在.m文件中先写上例如:
打开终端,输入cd 然后将文件拖放在终端中,自动生成对应的路径,然后输入genstrings ./LocateDemo/*.m
会发现在项目中自动生成了一个Localizable.strings的文件,然后在对应的en.lproj和zh-Hans.lproj也就是两个对应的语言的文件包里面都复制一份这个文件,
然后导入到项目中,点击相应的文件会发现自动生成了相应的字段
/* No comment provided by engineer. */
"name" ="小明";
"sex" ="男";
将对应的中文和英文包中的文件都改成相应的语言
创建SingleView的项目之后会发现有一个LocateDemo-Info.plist文件,双击打开文件,右击->Show Row Keys/Values,拷贝CFBundleDisplayName,到InfoPlist.strings
中,也将这个文件本地化一下,生成两中语言的文件,然后
在各个语言对应的文件中修改CFBundleDisplayName = "English";还有“中文”,后面测试的话会发现如果模拟器设置的语言不一样,那么这个程序对应的应用名也不一样。
例如两种语言,我想根据英语和中文不同的环境导入不同的国旗,美国国旗和中国国旗,在界面中拖放一个ViewImage,然后就图片资源拖放近项目,也点击一下本地化,在生成一个 另外一种语言环境下的图片,然后在对应的文件中修改这个图片,但必须确保两个文件中的图片名字是一样的才行。
切换至英文模式:

在setting中设置,切换回中文的
对应的应用文件名也是:
<a target="_blank" href="http://download.csdn.net/detail/s10141303/6039621">项目下载</a>
本文转蓬莱仙羽51CTO博客,原文链接:http://blog.51cto.com/dingxiaowei/1366404,如需转载请自行联系原作者