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中,放在项目其他位置,然后像本地语言文件一样去勾选语言,然后添加对应的图片即可

 

posted @ 2022-10-19 16:40  zk1947  阅读(975)  评论(0编辑  收藏  举报