iOS 国际化多语言设置

根据当前设备语言自动切换显示。

几个涉及到多语言本地化设置的:

1.应用名称

2.文字

3.图片、素材

4.StoryBoard(Xib)

iOS国际化原理分析

核心思想就是为每种语言单独定义一份资源。iOS 就是通过xxx.lproj目录来定义每个语言的资源,这里的资源可以是图片,文本,Storyboard,Xib等。

一.配置多语言环境

选中项目 --> PROJECT(默认是选中TARGETS,切换下选择项目) --> Info --> Localizations --> 设置多语言环境

1.点击 + 添加语言

iOS 国际化多语言设置_第1张图片
添加语言


2.选择 Use Base Internationalzation

iOS 国际化多语言设置_第2张图片
选择 Use Base Internationalzation

二.应用名称国际化

1.在 info 里手动添加一行Bundle display name字段,bundle display name “XXXX”

iOS 国际化多语言设置_第3张图片
添加 bundle display name

2.编辑Info.plist

iOS 国际化多语言设置_第4张图片
编辑 Info plist

打开Info.plist,添加一个新的属性Application has localized display name, 设置其类型为boolean,并将其value设置为YES

3.创建InfoPlist.string,并进行Localization配置

command + N,添加InfoPlist.string,注意名称一定要是InfoPlist,string,添加后放入Supporting Files 下

iOS 国际化多语言设置_第5张图片
创建文件
iOS 国际化多语言设置_第6张图片
设置

Localization配置:

工作目录结构文件下单击InfoPlist.strings,查看右边的属性,在Localization栏添加语言

iOS 国际化多语言设置_第7张图片
添加语言
iOS 国际化多语言设置_第8张图片
添加语言


选择语言

iOS 国际化多语言设置_第9张图片
选择语言

Base与前面提过到的开启Use Base Internationalization是有关联的,只有开启了全局Use Base Internationalization这里才会显示。那为什么这里没有勾选Base,是因为Base做为一个基础模板,作用于Strings文件是没有太大意义的,去掉Base意味着在Base.lproj中少了一个strings文件,APP大小也所有下降,这点对于图片的Base也是这样.

4.添加完成后打开对应语言文件

iOS 国际化多语言设置_第10张图片
设置中文名称
iOS 国际化多语言设置_第11张图片
设置英文名称

三.文字国际化

1.创建Localizable.strings文件及配置,通创建配置Infoplist.string相同

2.在对应语言的Localizable.strings中添加key=value;字串(各个语言文件中key要相同)

iOS 国际化多语言设置_第12张图片
英文
中文

3.在代码中使用NSLocalizedString(key, comment)来读取本地化字符串,第一个参数是key的名字,第二个参数是对这个“键值对”的注释,通常为nil

NSLocalizedString(x, nil);

注意:

如果你的strings文件名字不是Localizable而是自定义的话,如other.strings,那么你就得使用NSLocalizedStringFromTable(key, @"other", nil)来读取本地化字符串,中间那个是@"other"文件名

四.国际化图片

有两种方式:

1.在不同语言的Localizable.strings中指定不同的图片名称,通过NSLocalizedString()获取不同的图片名称后进行显示不同的图片(文字国际化类似)

2.点中你要本地化的图片,如“商标.png”

然后XCode-> View-> Utilities -> File Inspector,在Localization中点“+”添加chinese ;在图片左边就会出现一个倒三角,点开就会出现(english)和(chinese)的2张图,并且在项目文件夹中会出现en.lproj文件和zh-Hans.lproj文件;en.lproj文件存放的是英文版图片,zh-Hans.lproj存放的是中文版图片,中英文图片名字一样,我们在文件夹中直接替换图片就可以了,最后使用时直接使用正常名字就行了,如:“main.png”

iOS 国际化多语言设置_第13张图片
打开File Inspector
iOS 国际化多语言设置_第14张图片

设置语言环境

iOS 国际化多语言设置_第15张图片
设置语言

选择语言

iOS 国际化多语言设置_第16张图片
选择语言

多语言下的图片

不用语言环境下的图片

你可能感兴趣的:(iOS 国际化多语言设置)