查看: 80|回覆: 0

[教程] 使用SDLocalize实现高效完成iOS多语言工作

[複製鏈接]

2

主題

0

回帖

0

積分

热心网友

金币
0
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2010-11-24
發表於 2022-10-26 08:33:53 | 顯示全部樓層 |閲讀模式

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]];

到此这篇关于使用SDLocalize实现高效完成iOS多语言工作的文章就介绍到这了,更多相关SDLocalize实现IOS多语言内容请搜索琼殿技术社区以前的文章或继续浏览下面的相关文章希望大家以后多多支持琼殿技术社区!

您可能感兴趣的文章:
  • iOS多语言本地化流程的优化方案
  • iOS文本的多语言适配以及实践指南
  • IOS应用程序多语言本地化的两种解决方案
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即注册

本版積分規則

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部