你是否因为拷贝复制中英文String而感到筋疲力尽
是否因为定位翻译字符而感觉力不从心
是否因为忘记改翻译就发布了版本而怀疑人生
各位看官,且看我的解决方案:
Google Sheet + Mirrorrim + R.swift. 解放双手,享受全自动的快感。
首先看下示范
想要亲手体验一下的朋友可以移步 https://github.com/jhonny-me/mlm_rswift_demo
翻译文件在这里 https://docs.google.com/spreadsheets/d/1Ik0mRByqVFldbAjDvrwGFx_CrM6-fsEKN0IzZnAr7rI/edit?usp=sharing
详解
一、多文本数据源,Excel形式
这里的数据源本质就是一个按照一定格式书写的Excel文件,虽然说本地文件也可以但是这样不能解放双手。所以低配可以是一个HTTP可访问的Excel资源文件,最理想的状态是可以多人协作的平台服务,比如Google Sheet。这样负责更新翻译的人做完变更后,开发者根本不用接触到这个Excel文件。
二、直接生成APP可用的翻译文件,Mirrorrim
Mirrorrim是一个Node app,经过简单的配置后就可以做到一键从数据源拉去Excel并生成App可用的翻译文件,目前支持iOS和Android,语言方面支持English和简体中文。
三、将plain Text转换成静态变量,R.swift
R.swift可以在编译开始前的阶段自动得将所有的翻译string转换成静态变量,消除手写Localizable Key出错的可能性。
其他
假如你也和笔者一样使用的是Github/GitLab, 那么可以配合使用Github Actions,把文本更新请求彻底交给翻译负责人,触发action后自动读取Excel,生成翻译文件,编译验证能否自动通过验证并发送Pull Request。
这样一套全自动的解决方案你觉得咋样?或者留下你们的方案来讨论一下。
觉得害行的老铁,来点个小星星,谢谢 https://github.com/jhonny-me/mirrorrim