iOS10系统弹框语言国际化问题
iOS10的很多新特性,想必大家都被各种坑过,笔者最近接手了一个问题,就是iOS10系统中使用系统的打开相机\相册框的时候提示语国际化的问题.
使用iOS 10的都知道,在Info.plist文件中一定要添加对于隐私的相关key,这样在点击使用相机或者相册这些功能的时候,才不至于崩掉,而且可以在对应的key中添加对于的提示语言,这样会使得界面更加友好.
笔者遇到的问题就是,app需要支持中英俄三种语言,而Info.plist文件中对于的key只能设置一种语言的提示,一线的战斗民族已经开挂发飙要我们马上解决掉这个问题,匆匆忙忙中在网上找到了解决方法,不过都不算细致,于是想自己写一篇用来记录,也让有需求的兄弟们能迎刃而解这个问题,当然大神级别的请直接绕过.
这里的Demo只国际化了打开相册的中文和英文,其他的大家自己就可以举一反三啦.
解决问题的代码很少,主要上截图.
添加对应的隐私类键值对点击鼠标右键 然后点击Show Raw Keys/Value
获取真正意义上的Privacy - Photo Library Usage Description的key->NSPhotoLibraryUsageDescription,记住它
下面是非常关键的一步,创建Info.plist文件对应的国际化文件
文件名称一定要是InfoPlist!
文件名称一定要是InfoPlist!
文件名称一定要是InfoPlist!
重要的事情说三遍,不然显示是不会成功的!!!
新建资源文件设置需要国际化的语言
点击右边的按钮进行设置
勾上当前App需要支持的语言,如下图,那么左侧的InfoPlist.strings文件就可以展开了,对应支持的语言
一般情况下Base语言资源可以去掉,这是时候xcode会问你是将文件移动到其他语言目录下还是回收站,放入回收站即可
设置英文资源的键值对 设置中文资源的键值对
好了,这个时候在中文和英文的.strings文件中将之前的NSPhotoLibraryUsageDescription附上不同的值就可以啦
开跑
iOS系统语言为英文的时候
显示的英文资源当iOS系统语言为中文的时候
显示的中文资源这个的应用面还有很多啦,比如在iOS语言为英文系统下和中文系统下app的应用名称不同,都可以通过将InfoPlist.strings资源国际化来实现.这里就不一一列举了.
如果你觉得这个文章对你有帮助,请点个赞,感谢!