昨天我們把APP改成請使用者輸入名字,今天來加入多語系支援,讓APP有中英文語系。
先新增一個繁體中文專用的string.xml檔,請在values上按右鍵,選擇New -> Values resource file
輸入要先新增的檔案名稱為strings,下面選擇Locale之後按旁邊的雙箭頭
找到繁體中文zh-Chinese,旁邊地區選TW,按OK
新增完成,旁邊strings檔案會多一個 strings.xml(zh-rTW),還掛著可愛的小國旗
接著把要顯示的文字打到資源檔裡,我們盤點一下目前用到的文字,因為現在都是打中文,所以我們就直接打進strings.xml(zh-rTW)
若使用者的手機不是中文的,將不會使用strings.xml(zh-rTW)裡的資源,而是用原本的strings.xml,可以說strings.xml是預設的語言
我們就用英文作為預設,將剛剛的字串們複製貼到strings.xml裡,並改成英文就可以了
可以特別注意的是第2行,原本就存在的app_name這個字串,作為APP的名稱我們可以不用多國語言,所以加上translatable=”false”,這樣其他語系就不用新增這個字串。
回到activity_main.xml檔,將原本直接打字的地方改成@string/字串名稱,包括EditText的hint和Button的text
右邊預覽視窗選擇Language可以切換成中英文,就可以看到多語系的效果囉
取得字串的方式是getString(R.string.字串名稱),Toast訊息把原本的”您好,”改成字串資源
AlertDialog的部分,怕大家覺得看起來太雜所以另外宣告字串來承接值,再把字串給Dialog
可至模擬器的 設定 -> 語言與輸入設定 改變語言,使用繁體中文時:
使用其他語言時就會顯示預設的英文