Android strings.xml 多語言翻譯解決方案

Knight_Davion發表於2019-03-04

概述

在實際專案開發中如果需要支援多語言,我們需要整理專案中所有的字串並翻譯成對應的語种放在相應的資料夾下,就像這樣

Android strings.xml 多語言翻譯解決方案
最讓我們頭痛的是我們得一條一條的複製貼上這些翻譯文字到對應語種資料夾下的string.xml檔案中,這種重複性的工作浪費了大量的開發時間。針對這個問題網上也有很多的解決方案比如Android-strings-xml-csv-converter這個外掛,不過這個外掛貌似並不能相容所有的AS版本,比如我現在使用的3.1.2安裝之後就無法使用(也有可能是我的開啟方式不對)。總之雖然在我這不能使用但是卻提供了一個非常好的解決思路,那就是把xml檔案轉換成excel文件,再把翻譯後的excel文件轉換成各個語種對應的xml即可

按照這個思路用python寫了兩個指令碼並封裝成了exe檔案(xls轉xml.exe和xml轉xls.exe),下面我們就來看看這兩個工具如何使用。

使用步驟

1 XML轉XLS

首先我們要有一個string.xml檔案 其實就是中文下的文字就像這樣

<resources>
<string name="app_name">多語言翻譯測試</string>
<string name="confirm">確定</string>
<string name="cancel">取消</string>
<string name="submit">提交</string>
<string name="edit">編輯</string>
<string name="join">加入</string>
<string name="create">建立</string>
<string name="tips">提示</string>
... ...
</resources>
複製程式碼

當然你的專案肯定不止這些 然後把這個xml檔案放到 xml轉xls.exe 的同級目錄下

Android strings.xml 多語言翻譯解決方案

雙擊執行xml轉xls.exe

Android strings.xml 多語言翻譯解決方案
輸入你要轉換的語種 ,比如 英文 日文 韓文(使用空格分割)回車,會在當前目錄下生成一個strings.xls檔案

Android strings.xml 多語言翻譯解決方案
開啟格式如下

Android strings.xml 多語言翻譯解決方案
這個文件就可以提供給翻譯公司或者我們自己完成對應語種下的翻譯了。

2 XLS轉XML

現在假如我們已經拿到了翻譯好文件,就像這樣

Android strings.xml 多語言翻譯解決方案
現在我們把這個文件放在xls轉xml.exe的同級目錄下

注意:文件名為strings.xls不能修改

Android strings.xml 多語言翻譯解決方案
雙擊執行xls轉xml.exe,執行完畢後你會發現目錄下成了以下四個檔案

Android strings.xml 多語言翻譯解決方案
這些檔案就是我們要放置到各個語種資料夾下的xml檔案(中文的可以忽略),開啟檢視一下

英文

Android strings.xml 多語言翻譯解決方案
日文

Android strings.xml 多語言翻譯解決方案
韓文

Android strings.xml 多語言翻譯解決方案

任務完成!

由於我們是直接轉換的xml檔案,所有不管你是AndroidStudio或者Eclipse都是適用的。

下面是工具及Python原始碼的github地址,歡迎fork和star!

github.com/shiweibsw/T…

(提示windows使用者可直接使用exe檔案,mac使用者需要安裝python執行環境後使用對應的python指令碼)

相關文章