iOS本地化(跟随系统语言变化)

目的:App中的显示语言根据系统语言的变化而变化
xcode版本:7.3

一.App名称本地化

1.新建一个source文件,选择string files,文件命名为InfoPlist(必须是这个名字,否则无效)
iOS本地化(跟随系统语言变化)_第1张图片

2.新增本地化语言类型,步骤如下,选择简体中文
iOS本地化(跟随系统语言变化)_第2张图片

3.选中InfoPlist.string文件,然后右侧点击,选择Chinese
iOS本地化(跟随系统语言变化)_第3张图片

确定后该文件会变为2个,如图
iOS本地化(跟随系统语言变化)_第4张图片

4.在对应文件内写入如下代码

CFBundleDisplayName = "hello”;    //英文名称
CFBundleDisplayName = "你好”;      //中文名称

5.在Info.plist中新增一个字段,设置为YES
这里写图片描述

做到这一步,App的名称已经做到了本地化

二.本地化App中显示的文本

1.同1中类似,创建一个string文件,命名为Localizable.string(最好为该名字,否则后面调用会有区别)
2.为该文件添加多语言,步骤和上面的一样
iOS本地化(跟随系统语言变化)_第5张图片

3.完成后,在对应文件内写入想要本地化的文本,左侧为key,右侧为实际显示的文本

"text" = "en_text”;          //英文
"text" = “文本”;               //中文

4.在程序中使用key-value的方式取值

UILabel * lab = [[UILabel alloc] initWithFrame:CGRectMake(30, 100, 120, 40)];
lab.text = NSLocalizedString(@"text", nil);     //text是key

注:因为前面采用的string名字是Localizable.string,所以这里采用NSLocalizedString(@”text”, nil)来取值
如果string的文件名称是其它的,则需要用

NSLocalizedStringFromTable(@"text", @"fileName", nil);     //fileName就是string文件的名字

三.本地化图片

两种方式:第一种和本地化字符串类似,根据key取不同的中英文图片,主要说第二种
1.选中要本地化的图片,点击图片,然后点击右侧
iOS本地化(跟随系统语言变化)_第6张图片

2.图片点击后会出现2张图片,中文和英文的,以后只需要把对应的中英文图片取相同的名字,放到对应的文件内就可以了

你可能感兴趣的:(ios,开发,本地化,ios)