Android的多语言实现

要使用多语言,首先肯定要有为不同语言准备的资源。

只需要按照Android提供的规范,对不同语言下的资源文件夹进行对应的命名即可。
比如我们知道/valus是Android的默认简单资源(字符串、数值、颜色等)的文件夹,那么对不同语言下提供的values文件夹命名方式就形如:

/values-zh
/values-zh-rCN
/values-zh-rTW

  • 其中values保持不变;
  • 后缀的zh表示语言;
  • 后缀的rCN、rTW其中‘r’是一个标记,表示后面跟着的CN、TW是国家或地区标志。
所以以上三个资源文件夹表示所对应的语言环境分别为:

中文
中文-中国 (即中文简体)
中文-台湾 (即中文繁体)

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

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

使用字符串资源

     使用字符资源有以下两种方法:

    1、在xml文件中,采用@string/<string_name>来引用字符串属性,例如:

 

 

1 <TextView
2     android:layout_width="wrap_content" 3  android:layout_height="wrap_content" 4  android:text="@string/hello_world" />

   2、在源代码中,可以使用语句R.string.<string_name>来引用字符串资源,例如:

 
1 //  Get a string resource from your app's Resources
2 String hello = getResources().getString(R.string.hello_world);
3 4 // Or supply a string resource to a method that requires a string 5 TextView textView = new TextView(this); 6 textView.setText(R.string.hello_world);


当然,也可以在代码中手动进行控制,指定所选择的语言:
[java]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. Configuration config = getResources().getConfiguration();//获取系统的配置  
  2. config.locale = Locale.TRADITIONAL_CHINESE;//将语言更改为繁体中文  
  3. getResources().updateConfiguration(config, getResources().getDisplayMetrics());//更新配置  


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值