使用SDLocalize高效完成iOS本地化國際化作業
SDLocalize
該方案最大特點是對舊代碼幾乎沒有較多修改就可以完成從單語言專案修改為多語言的專案,并支持XIB的控制元件本地化,無需創建不同語言版本的XIB檔案,
SDLocalize的作業原理:
- 首先標記一組需要本地化的控制元件
- 然后在恰當時機(viewDidLoad),觸發一組本地化任務(Then (viewDidLoad) fires a set of localization tasks when needed)
- SDLocalize會使用控制元件的文本作為LocalizedString.key替換當前控制元件的文本
SDLocalize設計時采取處理任務的模式,對專案代碼和運行時(runtime)沒有污染,SDLocalize本質上是一個處理控制元件UI樣式的任務中心,是完全獨立,
control0.text = <LocalizedString.key>;
control1.text = <LocalizedString.key>;
control2.text = <LocalizedString.key>;
...
[control0 sdl_defaultRegister];
[control1 sdl_defaultRegister];
control2.sdl_defaultRegister = @"-";
...
// 然后在恰當時機(viewDidLoad),觸發一組本地化任務
// 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];
// ...
}
并且支持動態的格式字串
control.sdl_dynamicFormat = @"My name is %@, %@ years old."; // XIB supported ... [control sdl_localizeWithFormateArgs:@[name, age]];
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/519207.html
標籤:其他
下一篇:分享幾個關于Camera的坑
