Android 支援利用res的value資料夾來達到多國語系

以下就介紹多國語系的設定方式以及用法

 

1. 先到官網有介紹如何建立對應的資料夾, value-語系別-地區別

http://developer.android.com/training/basics/supporting-devices/languages.html

01.png

 

2. 接著API Guides有更詳細的說名, 前兩碼是用ISO-639-1, 後兩碼是ISO 3166-1-alpha-2

前兩碼是用英文縮寫小寫, 在加-r大寫的地區英文縮寫

ex: value-en-rUS

http://developer.android.com/guide/topics/resources/providing-resources.html#AlternativeResources

02.png

 

3. 可以到ISO639.2去查縮寫

http://www.loc.gov/standards/iso639-2/php/code_list.php

03.png

 

4. 在例子中要創建繁體中文的語系就是在

res內創造一個values-zh-rTW的資料夾

04.png

 

5. 在裡面創造一個string.xml檔案, 把要修改的string的值改成你要的

05.png

 

6. 在code裡面可以用Locale.getDefault().getDisplayLanguage()來取得預設語系

Locale.getDefault().getLanguage()來取得該與細的兩碼縮寫

getString(R.string.string名稱)來取得xml設定的字串

 

06.png

 

7. 然後用getResources()的updateConfiguration來改變當下的語系

以下為例

Resources res = getResources();
Configuration conf = res.getConfiguration();
conf.locale = Locale.TAIWAN;
res.updateConfiguration(conf, res.getDisplayMetrics());

07.png

 

8. 就可以看到結果getString變成中文了

08.png  

arrow
arrow

    RX1226 發表在 痞客邦 留言(0) 人氣()