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