一、项目内的语言国际化
1.1、按下图顺序添加你所需要的语言,我这里添加了两种:中文、英语,因为英文是自带的,所以只需要选择中文就可以了

添加语言

选择语言
2.2、创建strings file文件,名字分两种,一种是使用Localizable. strings命名,另外一种是xxx. strings,两种命名用法不一样,先介绍Localizable. strings命名

创建文件
2.3、创建Localizable.strings之后如下图所示,选择Localize...

Localizable
随便选择一个你要添加的语言,点击Localize按钮确定

添加语言
然后在右侧将你所需要的语言全部加上

截屏2020-07-15下午7.30.46.png
2.4、此时点开Localize.strings文件左侧箭头展开,在每种语言的文件里面写上对应的字段

英文

中文
2.5、现在就可以直接用NSLocalizedString(@"userName", nil)进行使用了
NSLog(@"%@",NSLocalizedString(@"userName",nil));
这时在手机里面切换语言就会打印出不同的结果“张三” 或者“zhangsan”了
2.6、使用xxx. strings命名,前面的步骤和Localizable. strings命名的一样,只是在使用的时候又区别,如现在使用user.strings命名,则在使用的时候要这样使用:NSLocalizedStringFromTable(@"userName",@"user", nil)。
NSLog(@"%@",NSLocalizedStringFromTable(@"userName",@"user",nil));
这时在手机里面切换语言就会打印出不同的结果“张三” 或者“zhangsan”了
二、APP名称国际化国际化
1、同创建Localizable.strings文件一样,创建一个InfoPlist.strings文件。
重要的事情说三遍
2、选择语言也和Localizable.strings一样。
3、配合不同语言的APP名称。一种是使用CFBundleName,一种是使用CFBundleDisplayName。
4、使用CFBundleName。先配置InfoPlist.strings,如下图,

英文

中文
然后在Info里面配置Bundle name.

配置
5、使用CFBundleDisplayName。先配置InfoPlist.strings,如下图,

英文

中文
然后将Info里面Bundle name还原到最原始状态

配置
6、效果如下

效果
7、demo传送门
链接:https://www.jianshu.com/p/e6726d7f3b90
网友评论