iOS 国际化 (国际化文字内容不改变,app名字国际化,一键切换语言)
首先我们要分三个步骤讲解怎么一步步实现app名字国际化、内容国际化、一键切换国际化的:
一、app设置内容或者可以说是app名字或者可以说Info.Plist中的东西国际化
app名字国际化
1、首先新建文件command+N 选择,然后next
记住文件名字必须为:InfoPlist,要不然系统识别会失败!
然后点击create,文件工程中会多一个不带箭头的文件
2、添加需要用到的语言
添加需要的语言(简体中文、繁体中文)英文为默认的语言不需要添加!
然后直接点击finish
3、添加语言文件到InfoPlist.Strings文件夹下边
这时候就可以写代码了
在InfoPlist.Strings(English)文件下写
"CFBundleDisplayName" = "Weibo";
同样的在另外两个文件夹写上对应的国际语言
"CFBundleDisplayName" = "微博";//InfoPlist.Strings(chinnese(simplified))
这时候系统模拟器或者真机切换语言看下,app的名字就是对应的(Weibo和微博了)
二、本地应用文字内容国际化
基本步骤和第一步资源国际化是一样的,只需要新建上边InfoPlist名字的时候换成Localizable!!!!!
1、同样的三个文件夹
内容非别是:
"key" = "home";//
"key" = "首页";
"key" = "首頁";
然后在viewcontroller中写入代码
- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(100, 300, 200, 20)]; label.textColor = [UIColor blueColor]; [self.view addSubview:label]; label.text = NSLocalizedString(@"key", @"这个是前边词的注解,可以不用填写");
}
这是后本地内容国际化就完成了!切换本地模拟器环境和真机环境就能看到本地的文案的改变!
三、一键切换国际化语言,这篇博客写的比较清楚(https://www.jianshu.com/p/57f240f2a180),但是这个在你切换本地语言的时候对其改变无效 (引文本地储存了你上次记忆的appLanguage)!和二配合使用比较好!