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

一是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));
}

 

 
 

最新文章

  1. LA4287--tarjan
  2. Verilog学习笔记基本语法篇(十一)········ 常用系统函数
  3. [BS-30] 你真的会用storyboard开发吗?
  4. FIO使用指南
  5. HTTP报文
  6. Spring三 Bean的三种创建方式
  7. jQuery disabled 元素
  8. KBEngine WebConsole Guide
  9. Oracle忘记密码如何重
  10. eclipse启动报.log错误
  11. Unity3D中Isometric Tilemap功能实践
  12. less的基本语法
  13. JQuery将form表单值转换成json字符串函数
  14. sql server 查看列备注、类型、字段大小
  15. day78
  16. 使用xshell5 从CentOS主机download资料
  17. libcurl编译及使用
  18. 【转】: 探索Lua5.2内部实现:虚拟机指令(2) MOVE & LOAD
  19. Struts2学习笔记01 之 简介及配置
  20. TCP/IP Note1

热门文章

  1. Java中的算术运算符
  2. Java中使用注释
  3. 0.00-050613_head.s
  4. NovaException: Unexpected vif_type=binding_failed
  5. C++(零)— 提高程序运行效率
  6. JAVA中列表,集合之间的区别
  7. rabbitmq_学习_01_rabbitmq安装
  8. Codeforces Round #253 (Div. 2)B(暴力枚举)
  9. uva10780(分解质因数)
  10. 【集成学习】sklearn中xgboot模块中fit函数参数详解(fit model for train data)