关于多国语开发小结

目前好的APP走向国际化,所以APP中的语言也使用了多国语,

1:

资源文件的命名如下:

values---->默认

values-en---->英文

values-zh---->中文
values-zh-rCN---->中文-简体

values-zh-rTW---->中文-繁体


2:

首先,获取系统当前使用的语言:

方法一:

Locale locale = Locale.getLocale();  

String language = locale.getLanguage();  

String country = locale.getCountry();

方法二:

String language = getResources().getConfiguration().locale.getLanguage(); 

String country = getResources().getConfiguration().locale.getCountry();  



3:

默认情况下,Android会根据系统的语言地区设置,自动选择对应的资源。

会首先尝试语言地区全匹配,如果没有权匹配的资源包,则会尝试匹配语言,最后则会取默认的。
比如如果Android系统的语言地区是中文简体,则首先会尝试从/values-zh-rCN中获取资源,如果没有此文件夹或者文件夹中没有响应的资源,则会尝试/values-zh,都获取不到的情况下即从/values中获取。


4:    

设置为繁体如下:
Configurationconfig = getResources().getConfiguration();//获取系统的配置
config.locale= Locale.TRADITIONAL_CHINESE;//将语言更改为繁体中文
getResources().updateConfiguration(config,getResources().getDisplayMetrics());//更新配置

5:一般在启动页中设置多国语配置,如下:

private void checkSetLanguage() {

          Resources resources = getResources();
          DisplayMetrics dm = resources.getDisplayMetrics();
          Configuration config = resources.getConfiguration();
          Locale defaultLocale = Locale.getDefault();
           //设置APP的语言为简体或者繁体则和系统语言一致,否则,则默认为简体

            if (defaultLocale.getCountry().equals(Locale.SIMPLIFIED_CHINESE.getCountry()) || defaultLocale.getCountry().equals(Locale.TRADITIONAL_CHINESE.getCountry()))           

           {

                config.locale = defaultLocale;
            } else {
                config.locale = Locale.SIMPLIFIED_CHINESE;
            }
           resources.updateConfiguration(config, dm);
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值