自学安卓编程权威指南(十五)

这章是来讲解应用本地化

本地化是基于设备语言设置,为应用提供合适资源的过程,这章会提供中文版的字符串资源,当设备语言如果设置为中文,那么Android就会使用相应的中文资源

Android提供了不同语言的配置修饰符,我们创建带有目标语言配置修饰符的资源子目录,并放入备选资源,其他工作就交给Android资源系统就可以了

(1)在项目工具窗口中右击res/values目录,选择New ->Values resource file菜单项目,文件名输入string.xml,Source set选择main,Directory name 设置为value,然后在Available qualifiers列表窗口选中Locate 使用>>按钮把它移入Chosen qualifiers窗口,在Language 窗口中选择 zh:Chinese,在右边的Specific Region Only窗口会自动选中Any Region.这也就是我们想要的,确定后带(zh)的后缀的string文件会在res/values下面出现,在项目工具窗口中,string资源文件都是按组归类的

(2)然后在新增加的中文目录中添加中文字符串,然后再找到手机语言设置,改为中文,此时就会发现设备语言已经变成了简体中文。

小用处:如果我们想要快速注释某行可以使用 Ctrl + /,

(3)最好都有提供默认资源,没有配置修饰符的资源就是Android的默认资源,如果无法找到匹配的当前配置的资源,那么Android就会使用默认资源,默认资源至少可以保证应用会正常运行

一检查资源本地化完成的情况,是不是已经为某种语言提供全部本地化资源,我们可以右击某个语言的string.xml选择Open Translations Editor 菜单项,打开资源翻译编辑器,现在就可以显示对应的语言的全部资源定义,

二.区域修饰符

在配置修饰符的时候最好遵守Android 命名的约定,语言代码小写,区域代码大写,但是前面需要加个小写的r,语言区域修饰符如下面:-es-rES,这看起来像两个不同的修饰符的和体,实际上不是这样的,因为区域本身不能单独用作修饰符

如果一个资源有locate和区域,那么它会有两次机会比配用户的locate,如果语言和区域修饰同时满足用户的locate,那么就是一次精确的比配,如果非精确的,那么就会去除区域修饰,然后仅仅用语言去做精确比配,但是资源尽可能通用最好,最好是使用仅限于语言的修饰目录,尽量少用区域修饰,就像与其维护不同区域的西班牙语的资源,不如只提供value-es版的资源

(1)测试定制的区域,不同设备不同版本的Android会支持不同的区域,有时我们需要测试某个特定的区域的资源,但是测试时发现没有这个区域,遇见这种情况时我们就可以使用模拟器上的定制区域工具

启动启动屏,然后点击定制区域应用图标来启动它,启动后就可以看出已经列出的区域,我们在这里也可以来添加区域来测试

 

三。对于配置修饰符来说,它有有一定的配置符使用优先级,根据不同的情况来选择不同的选择

 

 

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值