3 步驟輸出 Android 專案的多國語言字串成試算表
直接擁有一個昨天就應該內建在 IDE 裡頭的功能
在 Android 專案處理多國語系只要遵循 strings.xml 語言設定,基本上都能快速無痛的搭建起來。 Android Studio 在 2.X 時期新增了 Translations Editor,方便開發者在一個分頁之中,全攬所有的語言設定,處理起多語言更加地有效率。
Translations Editor 提供一個類似於試算表軟體的介面,編輯特定文句的翻譯很方便。但不適合團隊中非開發人員使用,畢竟請非開發人員安裝 Android Studio 再怎麼說也怪怪的。最近公司專案就遇到類似的問題,為了加入更多的語言,需要與更多翻譯人員合作開發專案。
當下第一個念頭是將語言檔案製作成試算表,做成共同編輯文件。
在網路上找解決方案一段時間,發現大部分的作法都已經失效 ,只剩下在 Translations Editor 之中按 Ctrl + C 複製後貼到試算表上。在 800 多行的 xml 檔案之中做手工藝活,恐怕會影響身心。
自動化轉換
android-lang-tool 就是為了解決問題而出現的—— 自動將每個語言的 strings.xml 設定整合並產生試算表檔案的工具。
在使用之前,請先確認你的電腦已經安裝了 Java。☕️
興高采烈地進去 GitHub Repo 發現,要自己編譯⋯⋯
快別管那麼多了,我編譯好了,點擊這裡下載。🚀
- 先將下載的(或你編譯的)
langtool.jar
放置於 Android 專案的目錄 - 開啟終端機 (Terminal),切換至該專案目錄
- 下指令 (讓他可以存取到專案的
res
資料夾)
$java -jar langtool.jar -e ./app/src/main
4. 會在相同目錄下產生一個 xls
檔案
結果看起來明確清晰,各個 Key 依照不同的翻譯一字排開。android-lang-tool 也會將翻譯字串之中缺少翻譯的 key 用紅色底色標記,而 plurals、array 等特殊的翻譯會留下註解。
自行編譯 lang-tool.jar
如果想要自行編譯 lang-tool.jar
,可以自行從 android-lang-tool repo clone 下專案。
編譯之前需要安裝 Maven,在 macOS 系統上可以透過 homebrew 安裝。
$brew install maven
Maven 安裝好後,接著切換至剛剛 clone 下來的 android-lang-tool 目錄。
輸入以下指令
$mvn package
如果編譯成功,編譯後的 jar 檔案會在
lang-tool/target/langtool-1.0-SNAPSHOT-jar-with-dependencies.jar
使用這個 jar 檔案,即可照著第一段的流程,輸出多國語言字串試算表。
疑難排解
Q. 編譯過程之中出現:source option 5 is no longer supported. use 7 or later. 並且編譯失敗該怎麼做?
A. 你目前用的 Java 版本太新了,試著降至 Java 8 再編譯一次。