一、接入多语言文件 xxx.strings
该步骤是初始化多语言文件,和配置我们想要的语言类型。
1.command+n打开创建文件界面,点击Resource中的Strings File 创建多语言文件
2.点击创建的.strings文件,在文件的配置界面,初始化配置Localiztion
点击Localization出现下图,选择一种语言进行初始化,这里选择的是English
3.点开Demo->PROJECT->Localization 添加需要的其他语言的文件
添加完成后程序中的.strings 文件多出三个子文件,括号中的字段表示对应的语言
二、使用多语言开发
根据上面的步骤,已经把多语言文件配置好了,我的Demo里配置了三种语言,分别是繁中,简中和英语,下面演示如何使用
1. xxx.strings文件的查看方式有两种,源码查看和plist查看
两种方式都有好坏吧,由于对于同一字符串LocalizationKey要配置多种语言的版本,所以用Source Code的方式直接可以复制黏贴,比较方便;而plist的方式观看比较直观(字典形式),且下面要说的使用方法也是类似字典的key-value取值方式,容易理解
2.具体使用
使用的时候,需要用到一个系统宏,和该宏类似的宏还有如下图所以的4种
#define NSLocalizedStringFromTable(key, tbl, comment) [[NSBundle mainBundle] localizedStringForKey:(key) value:@"" table:(tel)]
这个宏实际是调用了bundle的localizedStringForKey:::方法,并根据tbl名称和key返回NSString类型,tbl就是我们所创建的.strings文件的文件名;key的话,这时候用plist的方式去理解就更加直观了,就是plist文件的中key;Comment是对该key的一个描述,填nil即可。
3.表现
当配置好并正确使用系统宏调用返回的NSString后,在手机切换系统语言后,会发现,同一个Demo,在不同的语言环境下,显示不同,并恰好是我们在.strings文件中预设的字符串,达到多语言开发的效果