Android開(kāi)發(fā)使用strings.xml多語(yǔ)言翻譯解決方案
概述
在實(shí)際項(xiàng)目開(kāi)發(fā)中如果需要支持多語(yǔ)言,我們需要整理項(xiàng)目中所有的字符串并翻譯成對(duì)應(yīng)的語(yǔ)種放在相應(yīng)的文件夾下,就像這樣
最讓我們頭痛的是我們得一條一條的復(fù)制粘貼這些翻譯文本到對(duì)應(yīng)語(yǔ)種文件夾下的string.xml文件中,這種重復(fù)性的工作浪費(fèi)了大量的開(kāi)發(fā)時(shí)間。針對(duì)這個(gè)問(wèn)題網(wǎng)上也有很多的解決方案比如Android-strings-xml-csv-converter這個(gè)插件,不過(guò)這個(gè)插件貌似并不能兼容所有的AS版本,比如我現(xiàn)在使用的3.1.2安裝之后就無(wú)法使用(也有可能是我的打開(kāi)方式不對(duì))??傊m然在我這不能使用但是卻提供了一個(gè)非常好的解決思路,那就是把xml文件轉(zhuǎn)換成excel文檔,再把翻譯后的excel文檔轉(zhuǎn)換成各個(gè)語(yǔ)種對(duì)應(yīng)的xml即可。
按照這個(gè)思路用python寫(xiě)了兩個(gè)腳本并封裝成了exe文件(xls轉(zhuǎn)xml.exe和xml轉(zhuǎn)xls.exe),下面我們就來(lái)看看這兩個(gè)工具如何使用。
使用步驟
1 XML轉(zhuǎn)XLS
首先我們要有一個(gè)string.xml文件 其實(shí)就是中文下的文本就像這樣
<resources> <string name="app_name">多語(yǔ)言翻譯測(cè)試</string> <string name="confirm">確定</string> <string name="cancel">取消</string> <string name="submit">提交</string> <string name="edit">編輯</string> <string name="join">加入</string> <string name="create">創(chuàng)建</string> <string name="tips">提示</string> ... ... </resources>
當(dāng)然你的項(xiàng)目肯定不止這些 然后把這個(gè)xml文件放到 xml轉(zhuǎn)xls.exe 的同級(jí)目錄下
雙擊執(zhí)行xml轉(zhuǎn)xls.exe
輸入你要轉(zhuǎn)換的語(yǔ)種 ,比如 英文 日文 韓文(使用空格分割)回車(chē),會(huì)在當(dāng)前目錄下生成一個(gè)strings.xls文件
打開(kāi)格式如下
這個(gè)文檔就可以提供給翻譯公司或者我們自己完成對(duì)應(yīng)語(yǔ)種下的翻譯了。
2 XLS轉(zhuǎn)XML
現(xiàn)在假如我們已經(jīng)拿到了翻譯好文檔,就像這樣
現(xiàn)在我們把這個(gè)文檔放在xls轉(zhuǎn)xml.exe的同級(jí)目錄下
注意:文檔名為strings.xls不能修改
雙擊執(zhí)行xls轉(zhuǎn)xml.exe,執(zhí)行完畢后你會(huì)發(fā)現(xiàn)目錄下成了以下四個(gè)文件
這些文件就是我們要放置到各個(gè)語(yǔ)種文件夾下的xml文件(中文的可以忽略),打開(kāi)查看一下
英文
日文
韓文
任務(wù)完成!
由于我們是直接轉(zhuǎn)換的xml文件,所有不管你是AndroidStudio或者Eclipse都是適用的。
下面是工具及Python源碼的github地址,歡迎fork和star!
https://github.com/shiweibsw/Translation-Tools
(提示windows用戶可直接使用exe文件,mac用戶需要安裝python運(yùn)行環(huán)境后使用對(duì)應(yīng)的python腳本)
以上就是Android開(kāi)發(fā)使用strings.xml多語(yǔ)言翻譯解決方案的詳細(xì)內(nèi)容,更多關(guān)于Android strings.xml多語(yǔ)言翻譯的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Android自定義view實(shí)現(xiàn)滑動(dòng)解鎖效果
這篇文章主要為大家詳細(xì)介紹了Android自定義view實(shí)現(xiàn)滑動(dòng)解鎖效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-05-05Unity3D游戲引擎實(shí)現(xiàn)在Android中打開(kāi)WebView的實(shí)例
這篇文章主要介紹了Unity3D游戲引擎在Android中打開(kāi)WebView的實(shí)例,需要的朋友可以參考下2014-07-07Android 開(kāi)發(fā)使用PopupWindow實(shí)現(xiàn)彈出警告框的復(fù)用類(lèi)示例
這篇文章主要介紹了Android 開(kāi)發(fā)使用PopupWindow實(shí)現(xiàn)彈出警告框的復(fù)用類(lèi),結(jié)合實(shí)例形式分析了Android基于PopupWindow彈出警告框的復(fù)用類(lèi)具體布局與功能實(shí)現(xiàn)技巧,需要的朋友可以參考下2020-05-05Android實(shí)現(xiàn)美團(tuán)下拉功能
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)美團(tuán)下拉功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-10-10Android4.0開(kāi)發(fā)之Keyguard解鎖屏機(jī)制詳解
這篇文章主要介紹了Android4.0開(kāi)發(fā)之Keyguard解鎖屏機(jī)制,結(jié)合實(shí)例形式詳細(xì)分析了Android開(kāi)發(fā)中Keyguard解鎖屏模塊的原理、使用方法與相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2017-12-12Android使用DrawerLayout仿QQ6.0雙側(cè)滑菜單
這篇文章主要為大家詳細(xì)介紹了Android使用DrawerLayout仿QQ6.0雙側(cè)滑菜單,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-08-08Android性能優(yōu)化之弱網(wǎng)優(yōu)化詳解
這篇文章主要為大家介紹了Android性能優(yōu)化之弱網(wǎng)優(yōu)化示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10