iOS开发--国际化(本地语言国际化)

写在前面:语言国际化就是为不同的语言做的适配,就像iPhone手机设置里面的展示效果一样,根据不同的语言会将文字变成相应的语言。具体到每一个APP,又将如何做到国际化呢?文章标题括号中的“本地语言国际化”是我自己添加的,我之所以这样理解,就是因为语言的切换是根据本地保存的文件来进行国际化的,下面开始我们的国际化。Xcode8.1

说明:国际化讲解以我上一篇文章(仿QQ抽屉效果)作为要国际化的项目。上一篇文章链接http://www.jianshu.com/p/31eb003eda2c

1.内容国际化
a.新建String File ,用来保存对应语言下显示的内容


iOS开发--国际化(本地语言国际化)_第1张图片
1.png

b.命名必须为Localizable。因为苹果并没有提供相应的设置或者API来修改文件名。比如OC与swift混编时,你可以在swift项目中自定义一个桥接文件,文件名自己随便取,然后在设置界面的相应位置修改路径就可以了,而这里的国际化并没有这个设置。(个人是这样理解的)


iOS开发--国际化(本地语言国际化)_第2张图片
2.png

c.看图操作就好


iOS开发--国际化(本地语言国际化)_第3张图片
3.png

d.看图操作就好


iOS开发--国际化(本地语言国际化)_第4张图片
4.png

e.在这里根据需要,添加需要的语言


iOS开发--国际化(本地语言国际化)_第5张图片
5.png

f.把添加的语言都勾上,


iOS开发--国际化(本地语言国际化)_第6张图片
6.png

g.string file中保存的是键值对,为什么不同语言的string file文件的key是一样的?。项目中,同一个地方是根据不同的语言来显示不同的内容,不同的语言是由用户来选择的,比如你可以设置你iPhone手机的语言为英文,中文等等,当你调用NSLocalizedString(title,@"")系统方法时会根据本地选择的语言来选择不同的stringfile文件,然后根据键来取对应的值。


iOS开发--国际化(本地语言国际化)_第7张图片
7.png
iOS开发--国际化(本地语言国际化)_第8张图片
8.png

h.在项目需要国际化的地方进行修改


iOS开发--国际化(本地语言国际化)_第9张图片
9.png
iOS开发--国际化(本地语言国际化)_第10张图片
10.png

// 模拟器设置本地语言的步骤:设置 -> Genneral -> Language & Region -> iPhone Language - > 选择你想要的语言

iOS开发--国际化(本地语言国际化)_第11张图片
效果截图1.png
iOS开发--国际化(本地语言国际化)_第12张图片
效果截图2.png

2.项目名称国际化

步骤与内容国际化一样,下面说一下与内容国际化的区别
string file的文件名为InfoPlist
项目名称的key为:CFBundleDisplayName


iOS开发--国际化(本地语言国际化)_第13张图片
11.png
iOS开发--国际化(本地语言国际化)_第14张图片
12.png
iOS开发--国际化(本地语言国际化)_第15张图片
13.png

你可能感兴趣的:(iOS开发--国际化(本地语言国际化))