当前位置: 移动技术网 > IT编程>移动开发>Android > Android应用的多语言支持的实现方法

Android应用的多语言支持的实现方法

2019年07月24日  | 移动技术网IT编程  | 我要评论

法政英雄,余世维语录,pci-e

软硬件环境

  1. windows 10
  2. android studio 2.3.2
  3. ott box with android 5.1.1

前言

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网