iOS APP 内语言切换

主要讲解了如何实现类似 微信 那种 APP 内切换语言功能
发布时间: 2018-07-26 15:32

回答:


详细参考下面 demo 里面的代码,实现了简单的 app 内语言切换

其实要实现 APP 内语言切换思路总共两种:

1:非入侵方式:因为 app 开发的过程中可能会引入各种的 SDK,每个 SDK 可能都会有自身的国际化资源,那么只要要求 所有 SDK 的厂商都提供一个统一的接口来实现自家 SDK 的语言切换就行,但是这个可能性基本上很渺茫,没人能要求所有的厂商这么做,除非苹果这么要求


2:入侵方式:修改系统代码的执行逻辑,原始的切换语言是由 iOS 系统内部决定到底读取哪个资源包下的 .strings 文件,如果通过 runtime 的方式,我们修改了读取资源包 .strings 文件的逻辑,让系统读取我们指定的资源包,那么就可以让所有的 SDK 包括 APP 本身都支持内部切换语言,附件的 demo 使用的就是这个思路,需要说明的是使用这种方式需要把整个 UI 堆栈给重建,然后系统才会读取指定的资源包,就实现了语言的切换,微信切换语言有个页面切换的动画,也是这个原因


注:该 demo 使用 pod 管理


RCIMKitDemo内置多语言切换.zip

我对此仍有疑问!继续追问