iOS--多语言的实现

有的时候我们需要使app适应多种语言,供给不同的国家不同语言的人去使用,这时我们就需要配置多语言,开始吧。

1. 设置要适应的语言

在工程中新建

iOS--多语言的实现_第1张图片
22080252-9E0A-4BF2-B697-7D7BA8F9D569.png

接下来创建,名称必须是Localizable.strings!!!!!
(当然了app 的名字一定也需要多语言,只需要把这个名字改成InfoPlist.strings就OK了)

iOS--多语言的实现_第2张图片
E252F9DA-3DD3-467A-BC97-9FAF712F4304.png

创建好之后,会在左侧看到这个

8EDDB9E3-42EC-473B-A571-BBD192DD6490.png

点击工程名,点击info,看到Localizations

iOS--多语言的实现_第3张图片
B19C7E40-3AFD-42AB-8F98-6C9A004BF7B4.png

点击加号,添加你想要支持的语言,在这里我添加了一个中文简体和中文繁体。
点击刚才创建好的文件

iOS--多语言的实现_第4张图片
C715B1F0-FA7F-4C24-AB7F-9EB3BF87BC48.png
iOS--多语言的实现_第5张图片
83448FED-4B26-4F45-9651-5C14FF70E6A6.png

选择刚才添加过的语言之后,Localize
将右侧的语言都选中

89AD3FE0-84EC-4A63-B73E-68C77AFDCDCC.png

这时候你看左侧的文件,就会有下拉箭头了,这时候多语言的配置就算做完了。

2. 多语言内容的格式

前面的是引用时候的KEY,后面的就是你要写的内容,标点符号不要弄成中文,后面记得加分号,别的没什么了,按格式写就行了。
例:

iOS--多语言的实现_第6张图片
82E9F3CB-6F01-46B4-AD00-65AF3B28ACEE.png
iOS--多语言的实现_第7张图片
1394C3DF-2C38-499C-9430-B970CCB7E9F6.png

(app名字多语言需要固定的写法,看图)


017B63FD-19A2-4879-B3CE-C70FC42936EB.png

3. 在代码中使用

在需要的地方用NSLocalizedString(@"####", nil)去引用,#的地方填写你要的内容的KEY就行了。

  [titleView setTitle:NSLocalizedString(@"HOST_ADD_TITLE", nil)];

就是这么简单,完成了,将手机的语言切换一下看看吧!

补充!!!!

iOS10更新后 需要有请求权限的描述类似于 定位 相机什么的。当然 这里也需要配置多语言,步骤如下
在infoplist中添加字段,在这里我就不说了,第一步选中infoplist

iOS--多语言的实现_第8张图片
644514-20161009161844770-434631524.jpg

这时候就会显示XML的key和value,将key的值在 InfoPlist.strings里面做国际化操作即可让提示产生多语言的效果。
在InfoPlist.strings(Base)中添加:

/*权限声明*/
NSPhotoLibraryUsageDescription = "Used to open photos";
NSCameraUsageDescription = "Used to open camera";

在InfoPlist.strings(Chinese(Simplified))中添加:

/*权限声明*/
NSPhotoLibraryUsageDescription = "用于打开相册";
NSCameraUsageDescription = "用于打开相机";

你可能感兴趣的:(iOS--多语言的实现)