这里有新鲜出炉的精品教程,程序狗速度看过来!
Android 是一种基于 Linux 的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由 Google 公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用 "安卓" 或 "安致"。
本篇文章主要介绍了 Android 应用的多语言支持的实现方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
软硬件环境
前言
App 开发测试完成后就面临着应用上架,除了国内的上架渠道,android 阵营上架 Google play 我觉得是必不可少的。这样的话,中英文支持就成了必须的功能点了。本文就来实现这个功能。
设置不同语言的资源文件
如有必要,res 文件夹下的像 drawable、layout、values 等都需要做不同语言的处理,这里仅以 values 为例
values-en 和 values-zh-rCN 文件夹中的内容都一样 values-en 就是 values-zh-rCN 对应的英文翻译,如 strings.xml 文件内容如下
接下来就是如何使用对应资源,非常简答,以 Toast 为例
- Toast.makeText(MainActivity.this, R.string.play_error, Toast.LENGTH_LONG).show();
系统当前的语言环境
这里仅处理中文、英文,如果还有其它语言,需要稍作修改
- private boolean isZh() {
- Locale locale = getResources().getConfiguration().locale;
- String language = locale.getLanguage();
- if (language.endsWith("zh")) {
- return true;
- } else {
- return false;
- }
- }
App 内设置语言
- //获取res资源对象
- Resources resources = getResources();
- //获取设置对象
- Configuration config = resources.getConfiguration();
- //获取屏幕参数:主要是分辨率,像素等
- DisplayMetrics dm = resources.getDisplayMetrics();
- //设置APP语言设置为英文
- config.locale = Locale.ENGLISH;
- //设置完以后要刷新Activity才能及时生效
- resources.updateConfiguration(config, dm);
资源文件夹后缀
给出一个常用的语言文件夹命名列表,方便查询
- 中文(中国):values-zh-rCN
- 中文(台湾):values-zh-rTW
- 中文(香港):values-zh-rHK
- 英语(美国):values-en-rUS
- 英语(英国):values-en-rGB
- 英文(澳大利亚):values-en-rAU
- 英文(加拿大):values-en-rCA
- 英文(爱尔兰):values-en-rIE
- 英文(印度):values-en-rIN
- 英文(新西兰):values-en-rNZ
- 英文(新加坡):values-en-rSG
- 英文(南非):values-en-rZA
- 阿拉伯文(埃及):values-ar-rEG
- 阿拉伯文(以色列):values-ar-rIL
- 保加利亚文: values-bg-rBG
- 加泰罗尼亚文:values-ca-rES
- 捷克文:values-cs-rCZ
- 丹麦文:values-da-rDK
- 德文(奥地利):values-de-rAT
- 德文(瑞士):values-de-rCH
- 德文(德国):values-de-rDE
- 德文(列支敦士登):values-de-rLI
- 希腊文:values-el-rGR
- 西班牙文(西班牙):values-es-rES
- 西班牙文(美国):values-es-rUS
- 芬兰文(芬兰):values-fi-rFI
- 法文(比利时):values-fr-rBE
- 法文(加拿大):values-fr-rCA
- 法文(瑞士):values-fr-rCH
- 法文(法国):values-fr-rFR
- 希伯来文:values-iw-rIL
- 印地文:values-hi-rIN
- 克罗里亚文:values-hr-rHR
- 匈牙利文:values-hu-rHU
- 印度尼西亚文:values-in-rID
- 意大利文(瑞士):values-it-rCH
- 意大利文(意大利):values-it-rIT
- 日文:values-ja-rJP
- 韩文:values-ko-rKR
- 立陶宛文:valueslt-rLT
- 拉脱维亚文:values-lv-rLV
- 挪威博克马尔文:values-nb-rNO
- 荷兰文(比利时):values-nl-BE
- 荷兰文(荷兰):values-nl-rNL
- 波兰文:values-pl-rPL
- 葡萄牙文(巴西):values-pt-rBR
- 葡萄牙文(葡萄牙):values-pt-rPT
- 罗马尼亚文:values-ro-rRO
- 俄文:values-ru-rRU
- 斯洛伐克文:values-sk-rSK
- 斯洛文尼亚文:values-sl-rSI
- 塞尔维亚文:values-sr-rRS
- 瑞典文:values-sv-rSE
- 泰文:values-th-rTH
- 塔加洛语:values-tl-rPH
- 土耳其文:values--r-rTR
- 乌克兰文:values-uk-rUA
- 越南文:values-vi-rVN
来源: http://www.phperz.com/article/17/0708/336142.html