
一键实现在APP内切换整体项目语言,基于Localize-Swift 第三方框架,下面做了中、英、法、日、韩的国际化,由于对日本和韩国没好感,所以随便翻译了文字😆,废话不多说,直接来看效果图。




一:创建国际化文件,文件名必须为Lacalizable

二:配置需要国际化的语言,我这里选择简体中文和日文,想要什么语言就添加什么语言。

三:以key-value的形式在相应的语言文件配置即可:如果工程中需要准确的翻译请找专业人士翻译好,让他按照键值对的格式翻译好,不更改你文件的Key值,只更改右边的Value值,然后直接考到工程中就OK。

四:好,基本的配置完成,看如何来实现开始图中的效果,首先我们使用cocoapods导入Localize-Swift

五:创建控制器的基类BaseViewController,添加语言切换的通知,以后创建的控制器统一继承BaseViewController,那么写在控制器中的ViewDidLoad方法中的字符串均会被国际化,当然前提条件也是你在Lacalizable.strings中配置好了键值对。

六:在Appdelegate中要设置updateUI的方法,不然实现不了点击切换语言后TabBar的文字及时改变(其他的都可以改变)

七:同时在TabBarController中也要实现监听才能实时更改TabBarItem的文字

八:对字符串进行国际化非常简单,只需要在后面调用点语法.localized即可,是不是超级方便哦😯😆

九:好了,具体的效果去看Demo咯,点击这里跳转链接

我是Qinz,希望我的文章对你有帮助。
网友评论