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资源国际化来实现.这里就不一一列举了.

如果你觉得这个文章对你有帮助,请点个赞,感谢!


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容