安卓中,国际化十分简单。 其实就是文件夹的问题。一般我们分两种情况。

一是app根据系统语言调用对应的资源文件夹,二是在app里面根据用户的需求来更改语言。前者比较简单,只需求创建对应国家的strings.xml,然后发在对应的文件夹里面就可以了。app会根据系统语言选择对应的文件夹资源。(图片资源的国际化也是一样的)


下面我们先看看常用的原因文件夹命名:



Android多国语言文件夹文件汇总如下:

 

中文(中国):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


第二种是是用代码让用户自己设置来更改语言。同样,我们需要把strings.xml放到对应的文件夹。代码也很简单。



/**
* 切换英文
*/
public void en(View v){
Resources resources = getResources();// 获得res资源对象
Configuration config = resources.getConfiguration();// 获得设置对象
DisplayMetrics dm = resources.getDisplayMetrics();// 获得屏幕参数:主要是分辨率,像素等。
config.locale = Locale.ENGLISH; // 英文
resources.updateConfiguration(config, dm);
finish();//如果不重启当前界面,是不会立马修改的
startActivity(new Intent(this,MainActivity.class));
}
/**
* 切换中文
*/
public void cn(View v){
Resources resources = getResources();// 获得res资源对象
Configuration config = resources.getConfiguration();// 获得设置对象
DisplayMetrics dm = resources.getDisplayMetrics();// 获得屏幕参数:主要是分辨率,像素等。
config.locale = Locale.CHINA; // 简体中文
resources.updateConfiguration(config, dm);
finish();如果不重启当前界面,是不会立马修改的
startActivity(new Intent(this,MainActivity.class));
}



Android 选择国家对应区号 安卓国家地区修改_重启