最近公司需要切换多语言和字体大小功能,上网查看比较少的实用方案。于是我经过几天尝试和思考完成了第一版的应用内多语言版本切换的功能Demo。
方案思路:
一.如何只在一个配置文件中,实现多语言的配置。
二.每个文本控件如何显示对应语言。
三.如果通过开关来控制界面中的每个文本控件,同时切换对应的语言和字体样式。
首先:
解决第一个配置问题:我是用plist文件(JSON文件也可以)。通过一个key 对应一组语言数据就可以解决了。如下图:我设置key为订单详情,对应数组类型和文本:中文(订单详情) ,英文(OrderDetail),中文繁体(訂單詳情)。
其次:
我通过category类方式来绑定配置文件中的key值,然后通过一个枚举类型切换语言种类和字体大小。
最后:我通过一个控制中心,要变化语言的文本控件加入到这个控制中心的字典中,然后通过此控制中心来统一管理和分发消息。此外我还做了一些富文本的语言切换功能。
https://github.com/PeterCore/ZCLanguageManagerDemo 这个链接地址。