使用SDLocalize高效完成iOS本地化国际化工作
  v9Mg9TzR30TN 2023年11月01日 68 0

使用SDLocalize高效完成iOS本地化国际化工作

SDLocalize

该方案最大特点是对旧代码几乎没有较多修改就可以完成从单语言项目修改为多语言的项目。并支持XIB的控件本地化,无需创建不同语言版本的XIB文件。

SDLocalize的工作原理:

  1. 首先标记一组需要本地化的控件
  2. 然后在恰当时机(viewDidLoad),触发一组本地化任务(Then (viewDidLoad) fires a set of localization tasks when needed)
  3. 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]];

 

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  CtD5wRylWJnU   2023年12月18日   48   0   0 iOS开发
  1CWF3j8usn4C   2024年04月13日   26   0   0 iOS开发
  e6voGgIjmj4L   2024年02月29日   44   0   0 iOS开发
  GlkGUhBxsw3T   2023年12月05日   21   0   0 iOS开发
  GlkGUhBxsw3T   2023年11月24日   21   0   0 iOS开发
  CtD5wRylWJnU   2024年02月27日   68   0   0 iOS开发
  CtD5wRylWJnU   2023年12月22日   19   0   0 iOS开发
  ZUHqNuKReWDj   2024年02月19日   26   0   0 iOS开发