多语言App终极解决方案

你是否因为拷贝复制中英文String而感到筋疲力尽

是否因为定位翻译字符而感觉力不从心

是否因为忘记改翻译就发布了版本而怀疑人生

汇仁肾宝图片_表情包的搜索结果_百度图片搜索

各位看官,且看我的解决方案:

Google Sheet + Mirrorrim + R.swift. 解放双手,享受全自动的快感。

首先看下示范

tty copy.gif

想要亲手体验一下的朋友可以移步 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

你可能感兴趣的:(多语言App终极解决方案)