有的时候我们需要使app适应多种语言,供给不同的国家不同语言的人去使用,这时我们就需要配置多语言,开始吧。
1. 设置要适应的语言
在工程中新建
22080252-9E0A-4BF2-B697-7D7BA8F9D569.png
接下来创建,名称必须是Localizable.strings!!!!!
(当然了app 的名字一定也需要多语言,只需要把这个名字改成InfoPlist.strings就OK了)
E252F9DA-3DD3-467A-BC97-9FAF712F4304.png
创建好之后,会在左侧看到这个
8EDDB9E3-42EC-473B-A571-BBD192DD6490.png
点击工程名,点击info,看到Localizations
B19C7E40-3AFD-42AB-8F98-6C9A004BF7B4.png
点击加号,添加你想要支持的语言,在这里我添加了一个中文简体和中文繁体。
点击刚才创建好的文件
C715B1F0-FA7F-4C24-AB7F-9EB3BF87BC48.png
83448FED-4B26-4F45-9651-5C14FF70E6A6.png
选择刚才添加过的语言之后,Localize
将右侧的语言都选中
89AD3FE0-84EC-4A63-B73E-68C77AFDCDCC.png
这时候你看左侧的文件,就会有下拉箭头了,这时候多语言的配置就算做完了。
2. 多语言内容的格式
前面的是引用时候的KEY,后面的就是你要写的内容,标点符号不要弄成中文,后面记得加分号,别的没什么了,按格式写就行了。
例:
82E9F3CB-6F01-46B4-AD00-65AF3B28ACEE.png
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
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 = "用于打开相机";