工具起源
最近在做國際化多語言適配,由開發人員收集項目中所有顯示的文字交于專人負責整理和翻譯,翻譯完成后把整理好的Excel交給開發人員進行適配。然而并沒有這樣簡單。。。各種修改、調整、新增文字,每次修改后開發人員都得核對一次,然后各個在strings.xml中修改。可想而知這是一件多么煩鎖的事情,為了從這樣一個重復、毫無意義的工作中解脫出來,我花了半天的時間擼了一個工具。有了工具后拿到翻譯好的Excel,用工具來一鍵生成各國語言的資源文件。整理資源也是一樣的選擇strings.xml一鍵生成Excel。。這樣是不是爽多了??
工具的使用
寫了一個簡單的界面,導入項目后運行UIMain 就能愉快的玩耍了!
表格格式:
- 注意事項
key:固定標識
支持注釋:key列可以使用注釋(直接在Excel中寫入注釋)
生成結果:
<?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>
適配中的一點小建議
- 資源根據頁面和用途區分
比如Login頁面 定義一個標志login
- login_menu_ok
- login_text_name
- login_hint_name
別問我怎么知道的,一個OK在不同的頁面場景有5種不同的翻譯。
- 把String和Array分開管理
在values文件夾下分別建立strings.xml和arrays.xml,別在丟一起啦! 根據頁面區分會多出很多資源在加上array不方便管理
3.一個語言一個語言的對應
不要妄想你能同時對應中文和英文,建議先對應一個母版語言 然后在對應其他的國際化。
- RadioButton 和 CheckBox更改系統語言后切換語言失??!
在應用界面打開系統設置更改系統語言,RadioButton 和 CheckBox 在重建之后沒有更改語言?
解決辦法: 在onResume方法中重新賦值一次即可。
適配7.0版本和國際化適配參考我前面的博客: http://www.lxweimin.com/p/cfb8ca877d94
需要改進的地方
- 不支持array
- 不支持選擇多個文件生成Excel
- 沒有生成對應的資源文件
- Excel格式驗證不完善
后面工作中有空閑抽時間完善
相關資源下載地址:
Github:https://github.com/liliLearn/generate_android_strings_tool
總結
Java基礎的Swing和XMl、Excel操作,使用了POI和dom4j兩個庫,復習下基礎也順便偷個懶。。。。
由于本人水平有限,如果有錯誤和需要改進的地方,還希望大家多多指教,共同進步。