2012年7月29日 星期日

Android 系統語系設定


最近因為要解一個 Android 平台的 issue 而接觸到了 Android 系統的語系, Android 的語系設定主要有兩個部分

系統初設(default) 的語系設定
透過 settings 改變語系設定.

系統 初設的語系設定


也就是所謂的出廠設定值, 要從 BSP 的相關檔案更改. 這些設定值記錄在 /out/target/product/xxxx/system/build.prop 檔案中, xxxx視你使用的平台而定, Build.prop 的內容不只包括語系設定, 但這篇文章我們只關心語系的部分, 下面是 Build.prop 的內容片段:

其中 22, 23 行就分別是語系和國家的設定. 這些內容是透過 /build/tools/buildinfo.sh 寫到 build.prop .
以下是 buildinfo.sh 的內容片段:

在第 31 行將語系設定為 en(English).
修改完 buildinfo.sh , 重新 build system image. 就會看到 build.prop 的內容也更新了. 接著download image, download完成之後重新開機, 開機後的語系就是 English. 而系統上應該會有一份 build.prop /system/ 路徑下.

透過 settings 改變語系設定

透過 Android UI settings(設定)->Language & keyboard(語言與鍵盤)->Select Language(選取語言)
可以改變系統的語系設定. 這部分的設定 Android 會紀錄在手機平台, 紀錄的路徑是 : /data/property/, android 使用三個檔案紀錄 語系,國家,和區域.
    設定語系  Persist.sys.language
設定國家  Persist.sys.country
設定地區  Persist.sys.localevar
直接使用 adb command 或是 DDMS 中的 device->File Explorer 可以到這個路徑下把檔案傳回 PC 上觀察.


若是設定成繁體中文 persist.sys.language 的內容應該是 : zh, persist.sys.country的內容則是 TW.

2 則留言: