iOS多语言国际化适配
适配内容如下:
APP名称和相机、定位等权限提示语的多语言适配
应用内字符串文案的多语言适配
图标资源的适配
1.先在target中添加你想要适配的语言如下图
2.创建Strings本地文件并命名为InfoPlist,如下图
3.在InfoPlist.strings文件中勾选所适配的语言如下图
4.在InfoPlist.strings文件中写入APP名称CFBundleDisplayName,以及其他权限相关提示语如下图
如果不知道相机权限名NSCameraUsageDescription是啥,可以打开项目的info,然后随便选择一项右键点击 Raw Keys and Values 就会显示出对应的权限名称,然后配置相应提示语即可,如下
5.项目中的字符串文案的适配,同样新建一个strings本地文件,注意文件名最好自己起,不要用系统的Localizable这个名字,因为系统的这个Localizable本人测试发现项目首次运行时无法正常显示多语言内容。然后同上面34步操作一样写入文案如下
6.代码调用如下,第一个参数就是自己声明的key,第二个参数tableName是创建的strings本地文件的文件名,第三个参数可以写一些方便自己看的注释
let lable = UILabel() lable.text = NSLocalizedString("tabbar.inventory", tableName: "Mower", comment: "")
7.图片适配两种方案
图片适配方案1 可以通过上面 NSLocalizedString来获取不同语言对应的图片名来适配
图片适配方案2 将多语言图片不要放到Asset中,放在项目其他位置,然后像本地语言文件一样去勾选语言,然后添加对应的图片即可