iOS开发iOS学习笔记iOS Developer

iOS10系统弹框语言国际化问题

2017-01-18  本文已影响620人  seasonZhu

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

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


上一篇下一篇

猜你喜欢

热点阅读