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