工具起源
最近在做國際化多語言適配,由開發(fā)人員收集項目中所有顯示的文字交于專人負(fù)責(zé)整理和翻譯胸墙,翻譯完成后把整理好的Excel交給開發(fā)人員進(jìn)行適配。然而并沒有這樣簡單按咒。迟隅。。各種修改励七、調(diào)整智袭、新增文字,每次修改后開發(fā)人員都得核對一次掠抬,然后各個在strings.xml中修改吼野。可想而知這是一件多么煩鎖的事情两波,為了從這樣一個重復(fù)瞳步、毫無意義的工作中解脫出來闷哆,我花了半天的時間擼了一個工具。有了工具后拿到翻譯好的Excel谚攒,用工具來一鍵生成各國語言的資源文件阳准。整理資源也是一樣的選擇strings.xml一鍵生成Excel。馏臭。這樣是不是爽多了野蝇??
工具的使用
寫了一個簡單的界面括儒,導(dǎo)入項目后運行UIMain 就能愉快的玩耍了绕沈!
表格格式:
- 注意事項
key:固定標(biāo)識
支持注釋:key列可以使用注釋(直接在Excel中寫入注釋)
生成結(jié)果:
<?xml version="1.0" encoding="UTF-8"?>
<resources>
<!--test-->
<string name="login">登錄</string>
<string name="name">姓名</string>
<string name="mail_address">郵箱</string>
<string name="password">密碼</string>
</resources>
適配中的一點小建議
- 資源根據(jù)頁面和用途區(qū)分
比如Login頁面 定義一個標(biāo)志login
- login_menu_ok
- login_text_name
- login_hint_name
別問我怎么知道的,一個OK在不同的頁面場景有5種不同的翻譯帮寻。
- 把String和Array分開管理
在values文件夾下分別建立strings.xml和arrays.xml,別在丟一起啦乍狐! 根據(jù)頁面區(qū)分會多出很多資源在加上array不方便管理
3.一個語言一個語言的對應(yīng)
不要妄想你能同時對應(yīng)中文和英文,建議先對應(yīng)一個母版語言 然后在對應(yīng)其他的國際化固逗。
- RadioButton 和 CheckBox更改系統(tǒng)語言后切換語言失斍瞅健!
在應(yīng)用界面打開系統(tǒng)設(shè)置更改系統(tǒng)語言烫罩,RadioButton 和 CheckBox 在重建之后沒有更改語言惜傲?
解決辦法: 在onResume方法中重新賦值一次即可。
適配7.0版本和國際化適配參考我前面的博客: http://www.reibang.com/p/cfb8ca877d94
需要改進(jìn)的地方
- 不支持array
- 不支持選擇多個文件生成Excel
- 沒有生成對應(yīng)的資源文件
- Excel格式驗證不完善
后面工作中有空閑抽時間完善
相關(guān)資源下載地址:
Github:https://github.com/liliLearn/generate_android_strings_tool
總結(jié)
Java基礎(chǔ)的Swing和XMl贝攒、Excel操作盗誊,使用了POI和dom4j兩個庫,復(fù)習(xí)下基礎(chǔ)也順便偷個懶隘弊。哈踱。。梨熙。
由于本人水平有限开镣,如果有錯誤和需要改進(jìn)的地方,還希望大家多多指教咽扇,共同進(jìn)步哑子。