安卓多语言开发支持

来源:互联网 发布:led滚动字幕软件 编辑:程序博客网 时间:2024/06/08 01:16

最近公司的项目要用到多语言功能,是就研究了一下——借此机会顺便分享出来供大家参考。

要使用多语言,首先肯定要有为不同语言准备的资源。

1.在资源文件下新建valuse包:名字类似
美国 values-en-rUS
西班牙:values-es
日本:values-ja

2.在valuse下新建strings.xml文件,在不同的国家包下写入不同的国家语言

新建语言文件夹

3.默认系统会跟随手机语言去寻找对应的国家资源包,找不到的情况下会使用默认资源包-valuse

4.代码设置切换语言:

private void setLanguage() {        Resources resources = getResources();        language_id = (int) SPUtils.get(this, "id", 0);        // 获取应用内语言        final Configuration configuration = resources.getConfiguration();        DisplayMetrics displayMetrics = resources.getDisplayMetrics();        switch (language_id) {            case 0:                configuration.locale = Locale.getDefault();                break;            case 1:                configuration.locale = new Locale("en", "US");                break;            case 2:                configuration.locale = new Locale("es", "ES");                break;            case 3:                configuration.locale = new Locale("fr", "BE");                break;            case 4:                configuration.locale = new Locale("ja", "JP");                break;            default:                configuration.locale = Locale.getDefault();                break;        }        getResources().updateConfiguration(configuration, displayMetrics);    }

demo截图

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

安卓多国语言文件夹目录


**Arabic, Egypt (ar_EG) —————————–阿拉伯语,埃及
Arabic, Israel (ar_IL) ——————————-阿拉伯语,以色列
Bulgarian, Bulgaria (bg_BG) ———————保加利亚语,保加利亚
Catalan, Spain (ca_ES) —————————加泰隆语,西班牙
Czech, Czech Republic (cs_CZ) —————–捷克语,捷克共和国
Danish, Denmark(da_DK) ————————丹麦语,丹麦
German, Austria (de_AT) ————————-德语,奥地利
German, Switzerland (de_CH) ——————-德语,瑞士
German, Germany (de_DE) ———————-德语,德国
German, Liechtenstein (de_LI) ——————德语,列支敦士登的
Greek, Greece (el_GR) —————————-希腊语,希腊
English, Australia (en_AU) ————————-英语,澳大利亚
English, Canada (en_CA) ————————–英语,加拿大
English, Britain (en_GB) —————————-英语,英国
English, Ireland (en_IE) —————————–英语,爱尔兰
English, India (en_IN) ——————————–英语,印度
English, New Zealand (en_NZ) ———————英语,新西兰
English, Singapore(en_SG) ————————–英语,新加坡
English, US (en_US) ———————————–英语,美国
English, Zimbabwe (en_ZA) ————————–英语,津巴布韦
Spanish (es_ES) —————————————-西班牙
Spanish, US (es_US) ———————————–西班牙语,美国
Finnish, Finland (fi_FI) ———————————芬兰语,芬兰
French, Belgium (fr_BE) ——————————-法语,比利时
French, Canada (fr_CA) ——————————-法语,加拿大
French, Switzerland (fr_CH) ————————–法语,瑞士
French, France (fr_FR) ——————————–法语,法国
Hebrew, Israel (he_IL) ———————————希伯来语,以色列
Hindi, India (hi_IN) ————————————-印地语,印度
Croatian, Croatia (hr_HR) —————————-克罗地亚语,克罗地亚
Hungarian, Hungary (hu_HU) ————————匈牙利语,匈牙利
Indonesian, Indonesia (id_ID) ————————印尼语,印尼
Italian, Switzerland (it_CH) —————————-意大利语,瑞士
Italian, Italy (it_IT) —————————————意大利语,意大利
Japanese (ja_JP) —————————————-日语
Korean (ko_KR) ——————————————朝鲜语
Lithuanian, Lithuania (lt_LT) ————————–立陶宛语,立陶宛
Latvian, Latvia (lv_LV) ———————————拉托维亚语,拉托维亚
Norwegian-Bokmol, Norway(nb_NO) —————挪威语,挪威
Dutch, Belgium (nl_BE) ——————————–荷兰语,比利时
Dutch, Netherlands (nl_NL) —————————荷兰语,荷兰
Polish (pl_PL) ——————————————-波兰
Portuguese, Brazil (pt_BR) —————————葡萄牙语,巴西
Portuguese, Portugal (pt_PT) ————————葡萄牙语,葡萄牙
Romanian, Romania (ro_RO) ————————罗马尼亚语,罗马尼亚
Russian (ru_RU) —————————————-俄语
Slovak, Slovakia (sk_SK) ——————————斯洛伐克语,斯洛伐克
Slovenian, Slovenia (sl_SI) —————————斯洛文尼亚语,斯洛文尼亚
Serbian (sr_RS) —————————————-塞尔维亚语
Swedish, Sweden (sv_SE) —————————-瑞典语,瑞典
Thai, Thailand (th_TH) ——————————–泰语,泰国
Tagalog, Philippines (tl_PH) ————————–菲律宾语,菲律宾
Turkish, Turkey (tr_TR) ——————————-土耳其语,土耳其
Ukrainian, Ukraine (uk_UA) ————————–联合王国
Vietnamese, Vietnam (vi_VN) ———————–越南语,越南
Chinese, PRC (zh_CN)——————————–中文,中国
Chinese, Taiwan (zh_TW)—————————–中文,台湾**

最后附上demo链接地址:
http://download.csdn.net/download/shaodong1123/10140215