安卓多语言开发支持
来源:互联网 发布: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
- 安卓多语言开发支持
- DekiWiki平台多语言支持Mozilla开发
- ios开发技巧-多语言支持
- [IOS]国际化开发,多语言支持
- cocos2d-x 支持的开发语言
- TimesTen应用开发支持和语言选择
- Android 7.0多语言支持开发浅析
- 开发-培训-开始-支持不同设备-支持不同语言
- 音视频开发平台所支持的开发语言
- 用Delphi开发易语言支持库,附源代码
- VC开发多语言界面支持的简单方法
- VC开发多语言界面支持的简单方法
- VC开发多语言界面支持的简单方法
- VC开发多语言界面支持的简单方法
- VC开发多语言界面支持的简单方法
- VC开发多语言界面支持的简单方法
- VC开发多语言界面支持的简单方法
- VC开发多语言界面支持的简单方法
- H5 贪吃蛇原代码
- KEBA控制器通过PROFINET连接西门子PLC
- UEFI模式下win10、Ubuntu双系统安装和问题集锦
- 内联函数声明但未定义 “warning: inline function `*` declared but never defined”
- spark第1天
- 安卓多语言开发支持
- pymongo 查询排序操作(参数与函数调用查询对比)
- 如何通过类名找到对应的dex文件
- 闭包面试题
- UNITY3D中的几种移动方式
- 【Scikit-Learn 中文文档】机器学习: scikit-learn 中的设置以及预估对象
- 计数排序
- SLF4J: Failed to load class的问题及解决
- org.apache.ibatis.builder.IncompleteElementException: Could not find result map com.juan.mapper.JaUs