iOS利用runtime進(jìn)行快速國際化

最近幾天公司要求對一個項(xiàng)目進(jìn)行國際化的操作,然后一想到那么多頁面,那么多文字要替換,頭都大了,如果一個一個得去替換,雖然時間上可能不會花太久,但是作為一個有理想的程序員,怎能做如此重復(fù)的單一的東西。

然后開始分析問題:怎么樣進(jìn)行語言國際化操作會更加簡單,快捷。

一般來說,文字都是在label上的,而進(jìn)行國際化操作的代碼一般是NSLocalizedString(key, comment),如果能在每個label setText的方法里面加進(jìn)去的話就可以一次性地解決所有l(wèi)abel的文字國際化了,然后我突然想到:用iOS的runtime的特性來重寫UILabel的setText:的方法,然后在替換的方法里面進(jìn)行國際化的操作就好了,一步到位。

當(dāng)然事先還是要先在app內(nèi)配置好國際化的環(huán)境

3分鐘實(shí)現(xiàn)iOS語言本地化/國際化(圖文詳解)

然后準(zhǔn)備好runtime替換系統(tǒng)方法

iOS開發(fā)--Runtime黑魔法,替換系統(tǒng)類方法及屬性

然后就可以了,當(dāng)然還有一些其他的東西的國際化,但是這已經(jīng)可以替換相當(dāng)多的情況了,其余的情況你可以自己手動替換,當(dāng)然也可以像我這樣通過runtime的特性來進(jìn)行快速替換

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容