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

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

 

原文链接:https://www.cnblogs.com/xiaobajiu/p/16823227.html

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用SDLocalize高效完成iOS本地化国际化工作 - Python技术站

(0)
上一篇 2023年4月17日
下一篇 2023年4月18日

相关文章

  • 盘点| 有哪些比较新的好用的React Native 开发工具?

    2015年,FaceBook首次开发并发布React Native框架,用于构建原始的移动应用程序。React Native的特点是使用JavaScript和React编写应用程序代码,而不是其他移动应用程序开发框架,同时利用iOS和Android平台的原始组件和API,从而实现更快、更有效的开发流程。今天就来跟大家分享 React Native 中一些新的…

    IOS 2023年4月25日
    00
  • Flash开发iOS应用全攻略(五)——如何上传应用到iTunes Connect

      上传IPA到iTunes Connect 上一篇我介绍了如何在iTunes Connect里准备应用。最后在这篇文章里我会简单介绍下如何来上传IPA到iTunes Connect。 登陆iTunes Connect,进入Manage Your Applications页面后,点击你创建的应用图标,进入应用的主页。 如图,在应用的主页中可以看到应用的基本信…

    IOS 2023年4月18日
    00
  • iOS上架流程

    1 准备 2 申请App ID 2.1 打开[苹果开发者官网](https://developer.apple.com),点击Account登陆账号。 2.2 进入ID申请 3 创建证书请求文件(*.cerSigningRequest文件) 4 添加软件开发证书和分发证书 并下载(*.CER文件) 5 创建Profile配置文件 6 新建开发者应用 7 打包…

    IOS 2023年4月17日
    00
  • [Android开发学iOS系列] 和一个真正iOS开发的区别?

    和一个真正iOS开发的区别? 学习iOS的这段时间, 我一直在思考和感受着自己和一个真正做了几年iOS的dev之间的区别. 同时也在反向思考, 我自己和一个新学Android的人, 又有什么区别. 也许在技术转型中, 这些学习的思考和阵痛都是有共性和不可避免的.在此分享一下感受, 如果有人也有技术转型, 可以看到有些心路历程是不可避免的, 不必焦虑. 当然我…

    IOS 2023年4月17日
    00
  • iOS16新特性 | 灵动岛适配开发与到家业务场景结合的探索实践

    作者:京东零售 姜海 灵动岛是苹果在iPhone 14 Pro和iPhone 14 Pro Max上首次提出的全新UI交互形式,创新性的让虚拟软件和硬件的交互变得更为流畅。当有来电、短信等通知时,灵动岛会变化形态,以便让用户能够更直观地接收到这些信息。 而在用户使用一些应用App,比如音乐,并将其切换到后台时,灵动岛也能以另一种形态来显示这些软件,还可以通过…

    IOS 2023年4月17日
    00
  • IOS使用AutoLayout让UIScrollView自动计算ContentSize

    在IOS的界面开发中,布局方式存在分裂的两种局面。早入行的iOS开发者,基本上都是手动计算各种高度。但是从web或者Android转过去的学习iOS的开发者,基本上都很难适应这种手动计算的方式,更加偏向使用autolayout去做布局。实际上 iPhone6之后,iOS设备出现多种分辨率之后,苹果也推荐大家使用autolayout去写界面。 看了几本iOS的…

    IOS 2023年4月17日
    00
  • Appuploader 常见错误及解决方法

    问题解决秘籍 遇到问题,第一个请登录苹果开发者官网 检查一遍账号是否有权限,是否被停用,是否过期,是否有协议需要同意,并且在右上角切换账号后检查所有关联的账号是否工作正常,apple账号的邮箱也是个重要的地方,当有ipa上传,账号有发生变化,被停用,apple经常发送一些邮件,去检查邮件通知,根据邮件通知修改调整。只有账号正常没问题,再考虑是否软件哪个地方操…

    IOS 2023年4月18日
    00
  • AFNetworking整体框架简单整理

    一、AFNetworking整体框架是怎样的 1、UIKit集成模块 UIKit 2、请求序列化 Serialization 3、响应序列化 Serialization 4、会话 NSURLSession AFURLSessionManager最核心 子类:AFHTTPSessionManager 6、网络安全模块 Security 7、网络监听 Reach…

    IOS 2023年4月18日
    00
合作推广
合作推广
分享本页
返回顶部