前言
在實(shí)際的開(kāi)發(fā)中,當(dāng)我們完成了一個(gè)apk,一般都是英語(yǔ)和中文簡(jiǎn)體這兩種語(yǔ)語(yǔ)言,如果發(fā)布了,則需要把字符轉(zhuǎn)換給翻譯公司,讓他們幫忙翻譯,一般提供一個(gè) Excel 表格,如下:

當(dāng)翻譯完成之后,我們希望能把它快速轉(zhuǎn)換成 value-xx 文件下對(duì)應(yīng)的 string 或者 arrays ,如:

我只要復(fù)制粘貼即可。當(dāng)然網(wǎng)上也有很多大神用 Python 或者其他語(yǔ)言寫(xiě)了,但是我們用 Android 的,所以肯定用 Java 了。于是我寫(xiě)了個(gè) EasyTransLib 用來(lái)方便翻譯。因?yàn)?studio 對(duì) pc 端的支持并友好,所以這個(gè)工程是用 eclipse 開(kāi)發(fā)。
工程如下:https://github.com/LillteZheng/EasyTranalte
String 轉(zhuǎn)換成 Excel
首先,在工程的根目錄,寫(xiě)一個(gè)文件夾,比如 Test:

values 比較簡(jiǎn)單,就一個(gè) string 和 arrays ,目前也就支持這兩個(gè)。
其中 strings 如下:
<?xml version="1.0" encoding="utf-8"?><resources> <string name="app_name">OtaService</string> <string name="anim_time">200</string> <string name="system_update">System upgrade</string> <string name="check_new_version">Find a new version. Download it?</string></resources>
arrays 如下:
<?xml version="1.0" encoding="utf-8"?><resources> <string-array name="test_array"> <item>one</item> <item>two</item> <item>three</item> </string-array> <string-array name="test2_array"> <item>hour</item> <item>min</item> <item>second</item> </string-array></resources>
開(kāi)始轉(zhuǎn)換
找到工程下的 WriteXmlToXls

需要添加 文件夾的名字:

效果如下 gif 圖:

刷新一下,就會(huì)看到生成 string 和 arrays strings

arrays

arrays 的樣式丑了點(diǎn),但這都是為了接下來(lái)住轉(zhuǎn)換 strings 準(zhǔn)備的。
Excel 轉(zhuǎn) strings.xml 和 arrays
上面,我們已經(jīng)把 strings 和 arrays 轉(zhuǎn)換成 Excel 了,那么接下來(lái)就是對(duì) Excel 傳承我們最喜歡 的string 和 arrays 了。
把 test.xlsx 的 strings 添加多幾個(gè)字符,和新增一個(gè)中文繁體的

其中首行的 國(guó)家名稱必須寫(xiě),否則無(wú)法識(shí)別成對(duì)應(yīng)的文件夾的名稱
arrays 也加一個(gè):

然后把 test.xlsl 放在根目錄下,并找到 ReadXlsToXml 這個(gè)類

ReadXlsToXml 可以配置一些信息:

看下面的 動(dòng)圖:

按 F5 刷新一下,就可以看到 也生成了 value-zh-rTW 的繁體字符了。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)武林網(wǎng)的支持。
新聞熱點(diǎn)
疑難解答
圖片精選