1. 程式人生 > >Android國際化資原始檔一鍵生成工具,推薦給做國際化的朋友

Android國際化資原始檔一鍵生成工具,推薦給做國際化的朋友

工具起源

最近在做國際化多語言適配,由開發人員收集專案中所有顯示的文字交於專人負責整理和翻譯,翻譯完成後把整理好的Excel交給開發人員進行適配。然而並沒有這樣簡單。。。各種修改、調整、新增文字,每次修改後開發人員都得核對一次,然後各個在strings.xml中修改。可想而知這是一件多麼煩鎖的事情,為了從這樣一個重複、毫無意義的工作中解脫出來,我花了半天的時間擼了一個工具。有了工具後拿到翻譯好的Excel,用工具來一鍵生成各國語言的資原始檔。整理資源也是一樣的選擇strings.xml一鍵生成Excel。。這樣是不是爽多了??

工具的使用

WX20180427-134909.png

WX20180427-134918.png

WX20180427-134930.png

寫了一個簡單的介面,匯入專案後執行UIMain 就能愉快的玩耍了!
表格格式:

WX20180427-150935.png

  • 注意事項
    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>

適配中的一點小建議

  1. 資源根據頁面和用途區分

比如Login頁面 定義一個標誌login

  • login_menu_ok
  • login_text_name
  • login_hint_name

別問我怎麼知道的,一個OK在不同的頁面場景有5種不同的翻譯。

  1. 把String和Array分開管理

在values資料夾下分別建立strings.xml和arrays.xml,別在丟一起啦! 根據頁面區分會多出很多資源在加上array不方便管理

3.一個語言一個語言的對應

不要妄想你能同時對應中文和英文,建議先對應一個母版語言 然後在對應其他的國際化。

  1. RadioButton 和 CheckBox更改系統語言後切換語言失敗!

在應用介面開啟系統設定更改系統語言,RadioButton 和 CheckBox 在重建之後沒有更改語言?

解決辦法: 在onResume方法中重新賦值一次即可。

需要改進的地方

  • 不支援array
  • 不支援選擇多個檔案生成Excel
  • 沒有生成對應的資原始檔
  • Excel格式驗證不完善

後面工作中有空閒抽時間完善

相關資源下載地址:



原作者:liliLearn
連結:https://www.jianshu.com/p/cfe3598b5fbb
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯絡作者獲得授權並註明出處。