iOS端-多语言国际化适配方案,组件化多语言适配

一.普通文案适配

1.组件内创建Strings文件并添加适配文案

(1).创建Strings文件,如下图

命名一般以系统名Localizable命名即可,如下图所示。如果起其他名称,需要在后面步骤中添加对应tbl名称,详细见后面步骤二中的第3点

(2).将需要适配的语言加入到strings文件中,勾选Localization下Localize...,如下图

然后勾选对应语言

(3).将项目需要适配的多语言文案写入对应strings中,项目中相同位置的文案key值设为相同的key,value对应填写相应语言下的value值,如下图所示为英文文案

下图所示为中文文案

2.创建String分类属性

(1).新建属性名称,此名称命名规范最好以【组件名称+Localized】格式命名,如下图所示

(2).重写【aModuleLocalized】属性的get方法,如下

(3).get方法中调用的系统方法NSLocalizedStringFromTableInBundle中参数说明,如下图所示

a.【key】填写string本身即self

b.【tbl】如果在上面步骤一的第1步中命名为系统【Localizable】的话此处填写空串即可,如果是自定义命名如图中【ALocalizable】,此处就填写对应的命名ALocalizable

c.【bundle】需传递自身组件中的bundle

d.【comment】填写空串即可

3.外部调用

二.适配APP应用名称以及系统级别文案

1.新建strings文件命名固定为InfoPlist,如下图所示

2.填写对应适配文案,此处以APP名称和相机权限为例,如下图所示 

英文示例如下图

三.图标适配

1.将多语言图标添加到项目中,以下以中英两套图标为例,分别命名为icon_en和icon_zh,如下图所示

2.将两个图标名写入到strings文件中,如下图所示

3.封装一个加载image的方法,通过组件bundle获取图标,如下图所示

4.外部调用,如下图所示

四.效果展示

适配效果如下图所示

 

posted @ 2024-09-07 15:54  zk1947  阅读(15)  评论(0编辑  收藏  举报