iOS中多语言本地化流程的优化
2017-08-10 10:33
513 查看
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/11/2f5bb8e7ce42f40b4d63535e0cd6db87.jpg)
本文从提升效率和减少错误两方面对传统的多语言本地化方式进行了优化。
传统的方法
提升点效率
减少些错误
自动化万岁
传统的方法
在 Localizable.strings 中写入多种语言的版本,然后使用 NSLocalizedString 进行本地化:
繁琐!每次都要写 NSLocalizedString(“xxx”, comment: “xxx”) ,虽然有代码补全,但依然很费时。
提升点效率
直接上代码:
但,依然还有问题,如果我不小心写成了:
这里涉及到编码中的一个小技巧:不要徒手写同一个需要多次使用的字符串,尽量定义成常量进行调用。
减少些错误
还是直接上代码:
![](https://cdn.antscript.com/@/antscript.com/upload/images/2017-08-08/localized_login.jpg)
乍一看,已经将写字符串时出错的概率降到最低了,但这样又要多写一堆代码,岂不是把之前好不容易提升起来的效率又降低了,再加上万一,我们在写 localized_logout 时还是写成了 “loguot”.localized ,这不是”辛辛苦苦大半年,一朝回到解放前”的节奏?
自动化万岁
思路:使用脚本读取 Localizable.strings ,然后输出成我们需要的常量格式。
Build Phases中新建一个 Run Script,填入以下脚本:
其中有几点需要注意:
sed的用法中,^… 表示以…开头,…$ 表示以…结尾 [参考链接]。
> 表示覆盖输出到文件,>> 表示增量输出到文件。
echo -e 表示将\n作为换行符输出(其他转义字符同效)。
将 Run Script 放在 Compile Sources 的上面,这样可以在编译代码前执行,如果出现错误也很容易定位(例如Localizable.strings中行末忘记写分号)。
![](https://cdn.antscript.com/@/antscript.com/upload/images/2017-08-08/xcode_run_script.jpg)
脚本效果:
本地化文件:
相关文章推荐
- iOS多语言本地化流程的优化方案
- iOS 优化内存(三)iOS应用程序多语言本地化解决方案
- IOS应用程序多语言本地化解决方案
- iOS app 多语言本地化,主流大国语言对照表
- IOS应用程序多语言本地化解决方案
- IOS应用程序多语言本地化解决方案
- 3分钟实现iOS语言本地化/国际化(图文详解)
- iOS 语言本地化
- IOS本地化语言
- swift3.0-iOS app内部语言国际化(本地化)
- iOS多语言本地化(国际化)设置
- [iOS]应用内切换语言,本地化,国际化
- 黑马程序员_iOS开发C语言基础之运算符和流程控制
- IOS 本地化(多语言支持)
- iOS实现应用内切换本地化语言的方法实例
- IOS笔记 本地化多语言支持
- IOS应用程序多语言本地化解决方案
- iOS多语言本地化(国际化)设置
- Xcode 4.5平台上设置应用本地化, Ios 本地化,多语言
- iOS本地化国际化多语言支持