iOS 多语言开发(国际化)

一、接入多语言文件 xxx.strings

该步骤是初始化多语言文件,和配置我们想要的语言类型。

1.command+n打开创建文件界面,点击Resource中的Strings File 创建多语言文件
创建多语言文件.png
2.点击创建的.strings文件,在文件的配置界面,初始化配置Localiztion
配置localize.png

点击Localization出现下图,选择一种语言进行初始化,这里选择的是English


初始化多语言文件.png
3.点开Demo->PROJECT->Localization 添加需要的其他语言的文件
配置多语言.png

添加完成后程序中的.strings 文件多出三个子文件,括号中的字段表示对应的语言

多出三个多语言文件.png

二、使用多语言开发

根据上面的步骤,已经把多语言文件配置好了,我的Demo里配置了三种语言,分别是繁中,简中和英语,下面演示如何使用

1. xxx.strings文件的查看方式有两种,源码查看和plist查看

两种方式都有好坏吧,由于对于同一字符串LocalizationKey要配置多种语言的版本,所以用Source Code的方式直接可以复制黏贴,比较方便;而plist的方式观看比较直观(字典形式),且下面要说的使用方法也是类似字典的key-value取值方式,容易理解

查看方式.png
查看方式1:源码.png
查看方式2:plist.png
2.具体使用

使用的时候,需要用到一个系统宏,和该宏类似的宏还有如下图所以的4种


宏定义.png

#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即可。

创建label.png
3.表现

当配置好并正确使用系统宏调用返回的NSString后,在手机切换系统语言后,会发现,同一个Demo,在不同的语言环境下,显示不同,并恰好是我们在.strings文件中预设的字符串,达到多语言开发的效果

英文.png
IMG_1041.PNG
繁中.png
IMG_1042.PNG
简中.png
IMG_1043.PNG
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容