多語言App終極解決方案

你是否因?yàn)榭截悘?fù)制中英文String而感到筋疲力盡

是否因?yàn)槎ㄎ环g字符而感覺力不從心

是否因?yàn)橥浉姆g就發(fā)布了版本而懷疑人生

匯仁腎寶圖片_表情包的搜索結(jié)果_百度圖片搜索

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

Google Sheet + Mirrorrim + R.swift. 解放雙手,享受全自動(dòng)的快感。

首先看下示范

tty copy.gif

想要親手體驗(yàn)一下的朋友可以移步 https://github.com/jhonny-me/mlm_rswift_demo

翻譯文件在這里 https://docs.google.com/spreadsheets/d/1Ik0mRByqVFldbAjDvrwGFx_CrM6-fsEKN0IzZnAr7rI/edit?usp=sharing

詳解

一、多文本數(shù)據(jù)源,Excel形式

這里的數(shù)據(jù)源本質(zhì)就是一個(gè)按照一定格式書寫的Excel文件,雖然說本地文件也可以但是這樣不能解放雙手。所以低配可以是一個(gè)HTTP可訪問的Excel資源文件,最理想的狀態(tài)是可以多人協(xié)作的平臺服務(wù),比如Google Sheet。這樣負(fù)責(zé)更新翻譯的人做完變更后,開發(fā)者根本不用接觸到這個(gè)Excel文件。

二、直接生成APP可用的翻譯文件,Mirrorrim

Mirrorrim是一個(gè)Node app,經(jīng)過簡單的配置后就可以做到一鍵從數(shù)據(jù)源拉去Excel并生成App可用的翻譯文件,目前支持iOS和Android,語言方面支持English和簡體中文。

三、將plain Text轉(zhuǎn)換成靜態(tài)變量,R.swift

R.swift可以在編譯開始前的階段自動(dòng)得將所有的翻譯string轉(zhuǎn)換成靜態(tài)變量,消除手寫Localizable Key出錯(cuò)的可能性。

其他

假如你也和筆者一樣使用的是Github/GitLab, 那么可以配合使用Github Actions,把文本更新請求徹底交給翻譯負(fù)責(zé)人,觸發(fā)action后自動(dòng)讀取Excel,生成翻譯文件,編譯驗(yàn)證能否自動(dòng)通過驗(yàn)證并發(fā)送Pull Request。

這樣一套全自動(dòng)的解決方案你覺得咋樣?或者留下你們的方案來討論一下。

覺得害行的老鐵,來點(diǎn)個(gè)小星星,謝謝 https://github.com/jhonny-me/mirrorrim

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容