android 国际化

国际化I18n简介

i18n(其来源是英文单词 internationalization的首末字符i和n,18为中间的字符数)是“国际化”的简称。在资讯领域,国际化(i18n)指让产品(出版物,软件,硬件等)无需做大的改变就能够适应不同的语言和地区的需要。对程序来说,在不修改内部代码的情况下,能根据不同语言及地区显示相应的界面。 在全球化的时代,国际化尤为重要,因为产品的潜在用户可能来自世界的各个角落。

实现

这里以文本为例,我们知道android应用中的文本一般放在res->values->strings.xml文件中,假设现在我们的应用要再中国和美国使用,那么应用就需要支持英语和中文两种语言,其实现方式就是在项目res目录下建立对应的资源目录。具体的步骤如下:

1.新建资源文件
在这里插入图片描述
2.如下图所示,Resource type一栏是选择你要国际化的资源类型,有mipmap,raw,values,xml,layout等;如果你要国际化文字资源,就选择values,图片就选择mipmap。在弹出的窗口中选择Locale,然后点击箭头所指按钮,就会出现图二所示界面,Language选择一种语言,最右边的Specific Region Only选择具体的某个地区,比如你选了英语,最右边区域就会显示所有官方语言为英语的国家。我这里选择的语言是英语,地区是美国,资源类型是values,然后点击OK,系统会自动为你生成名为“values-en-rUS”的文件夹,在该目录下的strings.xml文件就是你存放文字资源国际化的文件
在这里插入图片描述
在这里插入图片描述

3.将布局文件里面的android:text属性替换为对应的xml坐标

中文国际化文件的内容
在这里插入图片描述

布局文件内的替换位置

在这里插入图片描述

要点1

无论是数组资源还是文字资源以及图片资源,在不同的目录下他们的名字要保持一致,这样系统才能在不同的语言环境下找到对应的资源。

如下图:左边是中文环境的strings.xml,右边是英语环境下的strings.xml.要保持名字一致。

在这里插入图片描述

要点2

不仅是资源的文件的名称要保持一致,里面的xml的内容也要与 目录/res/values/strings.xml的内容保持一致

strings.xml内的内容

在这里插入图片描述

string.xml(中文国际化文件与英语国际化文件)

在这里插入图片描述
在这里插入图片描述

国际化案例预览

修改手机模拟器的语言环境为“简体中文”

在这里插入图片描述

在这里插入图片描述

修改手机模拟器的语言环境为“EngLish”

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值