【iOS 國際化】如何把國際化時需要3天的工作量縮減到10分鐘
阿新 • • 發佈:2018-11-07
痛點
如果 APP 要求國際化,其實新增國際化文字是很頭痛的一件事。對於一個大型
APP 來說,更是麻煩,而且工作量很大。通常替換國際化文字時,產品會給我們一個 Excel 表:
excel.png
我們需要做的事,就是把 Excel 表中的文字,新增到下面各個檔案中:
locailzable.png
如果有 2000 條翻譯,有 8 國語言需要新增,可想工作量有多大。
解決辦法
我們目前手裡只有漢語國際化檔案,這裡稱為 source.strings
檔案,還有一份全部翻譯好的檔案,這裡稱為 language.xlxs
。
source.strings
檔案中的內容如下:
"5-6_event" = "您已忽略了該事件";
"5-6_customer" = "賬號已被封停";
"5-6_version" = "請更新版本後再申請提現";
"5-6_update" = "您的當前版本過低,請立即升級";
language.xlxs
檔案中的內容如下:
螢幕快照 2017-08-24 下午2.14.14.png
我們想做的就是把 language.xlxs
檔案的內容轉換成類似:
"5-6_event" = "You have missed this event"; "5-6_customer" = "account stop,please contact Customer Services"; "5-6_version" = "Please update new version before submitting withdrawal application"; "5-6_update" = "Please update to new version, your current version is outdated";
"5-6_event" = "귀하께서 해당사항 홀시 ";
"5-6_customer" = "계좌번호가 사용정지되어, 애프터 서비스와 연락할것.
"5-6_version" = "새로운 버전으로 갱신후에 다시 인출 신청할 것. ";
"5-6_update" = "귀하의 현재 버번이 너무 낮아, 즉시 승급할것. ";
這樣的檔案,然後把它匯入到對應的國際化檔案中
locailzable.png
這樣就算完成了。
觀察發現,這些都有規律可循,我們完全可以使用一個工具來做這些事,而不是手動。
TCZLocalizableTool
process.png
以漢語為例說明一下 TCZLocalizableTool 工作流程:
source.strings
其實是一個plist
檔案,可以把它轉換成 key-value 的形式,這樣我們可以拿到自己定義的 key 和 value;- 解析 Excel 檔案
language.xlxs
一般需要把它轉換成language.csv
檔案; - 讀取
language.csv
檔案中的每個值的時候,根據source.strings
轉換後的字典,可以找到對應的 key 和 value; - 把結果匯出為 csv 檔案。
最終結果如圖:
Simulator Screen Shot 2017年8月24日 下午2.49.39.png
推薦閱讀
搭建微信小程式伺服器
Promise
微信iOS資料庫是什麼樣的
===== 我是有底線的 ======
喜歡我的文章,歡迎關注我的新浪微博 Lefe_x,我會不定期的分享一些開發技巧
作者:Lefe
連結:https://www.jianshu.com/p/2c77f0d108c3
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯絡作者獲得授權並註明出處。