欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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

程序员文章站 2023-12-10 19:52:46
软硬件环境 windows 10 android studio 2.3.2 ott box with android 5.1.1 前言 app...

软硬件环境

  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为例

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

values-en和values-zh-rcn文件夹中的内容都一样values-en就是values-zh-rcn对应的英文翻译,如strings.xml文件内容如下

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

接下来就是如何使用对应资源,非常简答,以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

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