使用SDLocalize實(shí)現(xiàn)高效完成iOS多語(yǔ)言工作
該方案最大特點(diǎn)是對(duì)舊代碼幾乎沒(méi)有較多修改就可以完成從單語(yǔ)言項(xiàng)目修改為多語(yǔ)言的項(xiàng)目。并支持XIB的控件本地化,無(wú)需創(chuàng)建不同語(yǔ)言版本的XIB文件。
SDLocalize的工作原理:
首先標(biāo)記一組需要本地化的控件
然后在恰當(dāng)時(shí)機(jī)(viewDidLoad),觸發(fā)一組本地化任務(wù)(Then (viewDidLoad) fires a set of localization tasks when needed)
SDLocalize會(huì)使用控件的文本作為L(zhǎng)ocalizedString.key替換當(dāng)前控件的文本
SDLocalize設(shè)計(jì)時(shí)采取處理任務(wù)的模式,對(duì)項(xiàng)目代碼和運(yùn)行時(shí)(runtime)沒(méi)有污染。SDLocalize本質(zhì)上是一個(gè)處理控件UI樣式的任務(wù)中心,是完全獨(dú)立。
control0.text = <LocalizedString.key>; control1.text = <LocalizedString.key>; control2.text = <LocalizedString.key>; ... [control0 sdl_defaultRegister]; [control1 sdl_defaultRegister]; control2.sdl_defaultRegister = @"-"; ... // 然后在恰當(dāng)時(shí)機(jī)(viewDidLoad),觸發(fā)一組本地化任務(wù) // It then triggers a set of localization tasks when needed - (void)viewDidLoad { ? ? [SDLocalize defaultLocalize]; // Takes effect on all controls marked as default pages ? ? //[control0 sdl_localizeIfNeed]; ? ? //[control1 sdl_localizeIfNeed]; ? ? //[control2 sdl_localizeIfNeed]; ? ? // ... }
并且支持動(dòng)態(tài)的格式字符串
control.sdl_dynamicFormat = @"My name is %@, %@ years old."; // XIB supported ... [control sdl_localizeWithFormateArgs:@[name, age]];
到此這篇關(guān)于使用SDLocalize實(shí)現(xiàn)高效完成iOS多語(yǔ)言工作的文章就介紹到這了,更多相關(guān)SDLocalize實(shí)現(xiàn)IOS多語(yǔ)言內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
IOS 開(kāi)發(fā)之實(shí)現(xiàn)取消tableView返回時(shí)cell選中的問(wèn)題
這篇文章主要介紹了IOS 開(kāi)發(fā)之實(shí)現(xiàn)取消tableView返回時(shí)cell選中的問(wèn)題的相關(guān)資料,希望通過(guò)本文能實(shí)現(xiàn)大家想要的功能,需要的朋友可以參考下2017-09-09iOS App開(kāi)發(fā)中擴(kuò)展RCLabel組件進(jìn)行基于HTML的文本布局
RCLabel組件基于CoreText框架,可以將HTML標(biāo)記的文本內(nèi)容轉(zhuǎn)為富文本視圖,這里我們就來(lái)解讀如何在iOS App開(kāi)發(fā)中擴(kuò)展RCLabel組件進(jìn)行基于HTML的文本布局:2016-07-07iOS手勢(shì)識(shí)別的詳細(xì)使用方法(拖動(dòng),縮放,旋轉(zhuǎn),點(diǎn)擊,手勢(shì)依賴,自定義手勢(shì))
這篇文章主要介紹了iOS手勢(shì)識(shí)別的詳細(xì)使用方法(拖動(dòng),縮放,旋轉(zhuǎn),點(diǎn)擊,手勢(shì)依賴,自定義手勢(shì)),具有一定的參考價(jià)值,有需要的可以參考一下。2016-11-11iOS實(shí)現(xiàn)簡(jiǎn)單長(zhǎng)截圖
這篇文章主要為大家詳細(xì)介紹了iOS實(shí)現(xiàn)簡(jiǎn)單長(zhǎng)截圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07詳解iOS應(yīng)用的設(shè)計(jì)模式開(kāi)發(fā)中Mediator中介者模式的使用
這篇文章主要介紹了iOS應(yīng)用的設(shè)計(jì)模式開(kāi)發(fā)中Mediator中介者模式的使用,示例代碼為傳統(tǒng)的Objective-C語(yǔ)言,需要的朋友可以參考下2016-03-03ios動(dòng)態(tài)庫(kù)和靜態(tài)庫(kù)的區(qū)別
這篇文章主要介紹了ios動(dòng)態(tài)庫(kù)和靜態(tài)庫(kù)的區(qū)別,幫助大家更好的理解和學(xué)習(xí)使用ios開(kāi)發(fā),感興趣的朋友可以了解下2021-04-04