使用SDLocalize实现高效完成iOS多语言工作
该方案最大特点是对旧代码几乎没有较多修改就可以完成从单语言项目修改为多语言的项目。并支持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 开发之实现取消tableView返回时cell选中的问题
这篇文章主要介绍了IOS 开发之实现取消tableView返回时cell选中的问题的相关资料,希望通过本文能实现大家想要的功能,需要的朋友可以参考下2017-09-09iOS App开发中扩展RCLabel组件进行基于HTML的文本布局
RCLabel组件基于CoreText框架,可以将HTML标记的文本内容转为富文本视图,这里我们就来解读如何在iOS App开发中扩展RCLabel组件进行基于HTML的文本布局:2016-07-07iOS手势识别的详细使用方法(拖动,缩放,旋转,点击,手势依赖,自定义手势)
这篇文章主要介绍了iOS手势识别的详细使用方法(拖动,缩放,旋转,点击,手势依赖,自定义手势),具有一定的参考价值,有需要的可以参考一下。2016-11-11详解iOS应用的设计模式开发中Mediator中介者模式的使用
这篇文章主要介绍了iOS应用的设计模式开发中Mediator中介者模式的使用,示例代码为传统的Objective-C语言,需要的朋友可以参考下2016-03-03
最新评论