首先我们要分三个步骤讲解怎么一步步实现app名字国际化、内容国际化、一键切换国际化的:

一、app设置内容或者可以说是app名字或者可以说Info.Plist中的东西国际化

 app名字国际化

 1、首先新建文件command+N 选择,然后next

iOS 国际化 (国际化文字内容不改变,app名字国际化,一键切换语言)-LMLPHP

记住文件名字必须为:InfoPlist,要不然系统识别会失败!

iOS 国际化 (国际化文字内容不改变,app名字国际化,一键切换语言)-LMLPHP

然后点击create,文件工程中会多一个不带箭头的文件

iOS 国际化 (国际化文字内容不改变,app名字国际化,一键切换语言)-LMLPHP

2、添加需要用到的语言

iOS 国际化 (国际化文字内容不改变,app名字国际化,一键切换语言)-LMLPHP

添加需要的语言(简体中文、繁体中文)英文为默认的语言不需要添加!

iOS 国际化 (国际化文字内容不改变,app名字国际化,一键切换语言)-LMLPHP

然后直接点击finish

iOS 国际化 (国际化文字内容不改变,app名字国际化,一键切换语言)-LMLPHP

3、添加语言文件到InfoPlist.Strings文件夹下边

iOS 国际化 (国际化文字内容不改变,app名字国际化,一键切换语言)-LMLPHP

iOS 国际化 (国际化文字内容不改变,app名字国际化,一键切换语言)-LMLPHP

这时候就可以写代码了

在InfoPlist.Strings(English)文件下写

"CFBundleDisplayName" = "Weibo";

iOS 国际化 (国际化文字内容不改变,app名字国际化,一键切换语言)-LMLPHP

同样的在另外两个文件夹写上对应的国际语言

"CFBundleDisplayName" = "微博";//InfoPlist.Strings(chinnese(simplified))

这时候系统模拟器或者真机切换语言看下,app的名字就是对应的(Weibo和微博了)

二、本地应用文字内容国际化

基本步骤和第一步资源国际化是一样的,只需要新建上边InfoPlist名字的时候换成Localizable!!!!!

1、同样的三个文件夹

内容非别是:

"key" = "home";//
"key" = "首页";
"key" = "首頁";

iOS 国际化 (国际化文字内容不改变,app名字国际化,一键切换语言)-LMLPHP

然后在viewcontroller中写入代码

- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(, , , )];
label.textColor = [UIColor blueColor];
[self.view addSubview:label];
  label.text = NSLocalizedString(@"key", @"这个是前边词的注解,可以不用填写");
}

这是后本地内容国际化就完成了!切换本地模拟器环境和真机环境就能看到本地的文案的改变!

iOS 国际化 (国际化文字内容不改变,app名字国际化,一键切换语言)-LMLPHP

三、一键切换国际化语言,这篇博客写的比较清楚(https://www.jianshu.com/p/57f240f2a180),但是这个在你切换本地语言的时候对其改变无效 (引文本地储存了你上次记忆的appLanguage)!和二配合使用比较好!

05-11 20:52