? ? ?最近公司需要切換多語(yǔ)言和字體大小功能,上網(wǎng)查看比較少的實(shí)用方案。于是我經(jīng)過(guò)幾天嘗試和思考完成了第一版的應(yīng)用內(nèi)多語(yǔ)言版本切換的功能Demo。
方案思路:
一.如何只在一個(gè)配置文件中,實(shí)現(xiàn)多語(yǔ)言的配置。
二.每個(gè)文本控件如何顯示對(duì)應(yīng)語(yǔ)言。
三.如果通過(guò)開(kāi)關(guān)來(lái)控制界面中的每個(gè)文本控件,同時(shí)切換對(duì)應(yīng)的語(yǔ)言和字體樣式。
首先:
解決第一個(gè)配置問(wèn)題:我是用plist文件(JSON文件也可以)。通過(guò)一個(gè)key 對(duì)應(yīng)一組語(yǔ)言數(shù)據(jù)就可以解決了。如下圖:我設(shè)置key為訂單詳情,對(duì)應(yīng)數(shù)組類(lèi)型和文本:中文(訂單詳情) ,英文(OrderDetail),中文繁體(訂單詳情)。

其次:
我通過(guò)category類(lèi)方式來(lái)綁定配置文件中的key值,然后通過(guò)一個(gè)枚舉類(lèi)型切換語(yǔ)言種類(lèi)和字體大小。



最后:我通過(guò)一個(gè)控制中心,要變化語(yǔ)言的文本控件加入到這個(gè)控制中心的字典中,然后通過(guò)此控制中心來(lái)統(tǒng)一管理和分發(fā)消息。此外我還做了一些富文本的語(yǔ)言切換功能。
https://github.com/PeterCore/ZCLanguageManagerDemo 這個(gè)鏈接地址。