cover_image

怎样以最小的时间成本实现IOS项目的文案国际化——支持OC和SWIFT项目

游成虎 微鲤技术团队
2023年08月03日 02:01


图片




前景

最近经历了TuTu和Yaame 的开发之后,发现国际化过程因重复工作量大,导致占用了大量的时间。

思考

能不能通过脚本来实现iOS项目的文案国际化的流程呢?从获取项目内的文案,到翻译,再到本地的Local文件,最后修改项目内的代码。整个过程,通过自动化脚本来实现,应该会节约不少时间。

方案

图片

尝试

讲述一下需要用到的工具套件:

  • ReadChinese:从项目内查找中文并过滤后,生成一份中文的本地化文件;
  • LocalStringChange:将中文的本地化文件,进行格式化,提交给产品进行翻译。
翻译完成后,同步到google文档内:
  • 生成脚本:从google.docx 生成为项目内的本地化文件,可同时生成多个语言版本的文件;
  • ChangeLine:根据翻译的英文自动生成对应的key;
  • LocalLanguageToXcode:根据生成的本地化文件,批量替换项目内的中文字符串。


1.从项目读取所有中文,过滤并导出一个中文格式的LocalStrings

打开ReadChinses项目并运行,导入项目地址,导入输出地址。如图:

图片


生成如图的以中文为key 的Local文件

图片


2.处理LocalStrings文件格式,导出一个Txt文档,交由翻译同学进行翻译

打开LocalStringChange项目,把刚才生成的文档,覆盖到项目内的文档里。替换输出路径,运行项目。

图片

图片

得到如下文档

图片


3.创建google.docx 文档,获取文档的id和密钥,并把中文放入文档

图片


4.收到翻译文档后,贴到google.docx 文档的对应分栏内


5.使用ChangeLine 工程,根据对应的英文,自动生成关键key。将生成的key贴到google文档的关键key分类中

图片


6.替换生成脚本里面的key和id,id在文档链接里,key在google文档的后台获取。执行文档的生成脚本,生成本地的各个语种的LocalString文件

图片


7.封装本地化获取多语言的方法


8.使用LocalLanauageToXcode,替换项目内的工程地址和封装的获取方法名,并运行项目

图片

图片



到此,项目内的中文已经全部替换为国际化格式。

成果
1. 项目内的中文文案已全部转换为对应的多语言获取方法,并附有中文注释。

2. 很大程度上降低了时间成本。
3. 后期在多语言的新增上面实现了自动化更新。
4. 该组件已为其他业务线的同学在国际化方向提供了帮助。



作者 | 游成虎 高级iOS开发工程师

本文来自微鲤技术团队,转载请注明出处。




继续滑动看下一个
微鲤技术团队
向上滑动看下一个