一、应用名本地化
在网上看了很多Xcode5以前的方法,都行不通,看了网上有人用Xcode5.0.2但是我用在Xcode5.1.1不行,自己摸索一下还是做出来了(环境OS10.9.4, Xcode5.1.1),花了不少时间,所有把整个过程用截图记录下来
1、点击工程--PROJECT中工程--Info--Localizations--"+"选Chinese(Traditional) (zh-hans)
2、点击finish,工程里面会两个文件en.lproj、zh-Hans.lproj
3、现在的文件结构如图下,在文件中分别加入:CFBundleDisplayName = "Localized";、CFBundleDisplayName = "本地化";[这里和别人的有点不同]
4、把Bundl display name的值换成CFBundleDisplayName如下图[这里也和别人有点不同],这样运行后在iOS设备上的设置中切换语言就可以实现应用本地化
二、字符串本地化
1、command+N创建一个Strings File命名Localizable.strings,要不然用NSLocalizedString(@"TestString", nil);将找不到值,只能改用方法
NSLocalizedStringFromTable(key, tbl, comment),其中tbl为.strings的名称。
2、点击Localizable.strings文件-->command+option+1(Xcode-> View-> Utilities -> File Inspector)-->Localization-->点击Localiz...-->选择你刚刚添加的语言Chinese--Localize
3、在次选择Localizable.strings文件-->command+option+1-->Localization-->将刚刚添加的语言选上-->Localizable.strings文件前多了一个三角形,说明有添加了文件
4、添加语言本地化键值对
在Localizable.strings(Chinese (Simplified))文件中添加中文的键值对(如:"TestString" = "测试字符串";)
在Localizable.strings(English)文件中添加中文的键值对(如:"TestString" = "test string";)
三、程序内图片的变化
方法1:和本地化字符串方法类似(不过图片的名字不能一样)
方法2:此方法比较正规化了(步骤和本地化字符串差不多)步骤如下:
①、选中你要本地化的图片,如"icon.png"
②、command+option+1,在Localization中点Localiz...
③、添加chinese (zh-Hans);在图片左边就会出现一个倒三角,点开就会出现(english)和(chinese)的2张图,并且在项目文件夹中会出现en.lproj文件和zh-Hans.lproj文件;en.lproj文件存放的是英文版图片,zh-Hans.lproj存放的是中文版图片,中英文图片名字一样,我们在文件夹中直接替换图片就可以了.
④、最后使用时直接使用正常名字就行了,如:"icon.png"
⑤、直接使用下面两种方法都OK
[[UIImage alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:imageName ofType:@"png"]];
[UIImage imageNamed:imageName];
四、本地化其他文件
本地化其他文件和本地化图片第二种方法类似,先在Localization中添加语言,然后把对应版本拷贝到en.lproj和zh-Hans.lproj文件夹中,最后引用就行了。
最后感谢一下两位博主的分享
http://blog.csdn.net/wangqiuyun/article/details/7875442
http://blog.csdn.net/nogodoss/article/details/17170605