项目没有提前写好NSLocalizedString,然后在项目N期后需要做国际化是一件很头痛的事情。
给大家分享一下快速实现国际化的方法:
step1:
下载工具,提取项目中的中文使用Find-Regul Expression 正则匹配 输入(@"[^"]*[\u4E00-\u9FA5]+[^"\n]*?")\s*
,找出项目中所有的中文。然后将中文复制到Excel,交给相关人员去翻译。
![](https://img.haomeiwen.com/i1698195/845f14ae802aeea0.gif)
step2:
拿到翻译文档,将中英文整理成我们需要的格式。
![](https://img.haomeiwen.com/i1698195/453bed71d5dfb73d.gif)
step3:
整理好了多语言的翻译文档之后,如果项目没有事先写好NSLocalizedString
的宏文件,可以使用正则替换。
在Xcode使用 command+shift+F 然后选择Replace-Regul Expression 在搜索栏输入(@"[^"]*[\u4E00-\u9FA5]+[^"\n]*?")\s*
,替换栏输入NSLocalizedString($1, nil)
再点下Replace All 按钮
当然也可以使用runtime黑科技来实现,具体实现代码可以参照:Runtime快速实现iOS国际化
以及:
iOS国际化中你可能会用到的一些小技巧
网友评论
- 可以自动抓去工程国际化字段的字段和值
- 自动获取没有翻译的字段
- 自动检测同字段不同值
- 自动检测不同语言未翻译
- 自动检测多余的翻译
- 自动一键生成多语言文件
- 其他自己摸索吧
最新代码在 developer 分支
https://github.com/josercc/LocalizedCSV