在Android开发中,我们常常需要将自己的程序以国际化,使国外的人也能够使用自己所开发的APP。在国际化的过程中,我们要从两方面着手,分别是文字和图片,下面我们将详细讲述国际化的过程。
1.文字国际化
在编写Android工程的布局文件中,我们常常使用到文字信息,这些文字都是中文的。那么,如何做到程序的国际化,使不同语言国家的人都可以使用该应用呢?
新建一个工程,命名为:07_国际化。此时,布局文件自动生成一个TextView且该textView的文本信息是“Hello world”如图1-1所示:
图1-1所示
图1-1所示的布局文件如例1-1:
例1-1
例1-1可知:在定义TextView的文本信息时使用了android:text="@string/hello_world"。即引用了String资源文件下的hello_world。Google推荐所有的文本信息都定义在String文件中,这样做的目的是为了方便对文本信息统一的修改和翻译。下面我们在String.xml文件下定义一个文本数据,如例1-2所示:
例1-2
String文件中已经定义了一个中文的文本数据,若要在布局文件中引用该文本,我们只需要将android:text="@string/hello_world"改为:android:text="@string/my_hello_world"。此时,页面效果如图1-3所示:
图1-3所示
若要使其他国家的人(本例中假设为:意大利人)也能看懂并使用该应用,我们需要做以下操作:
- 新建一个资源文件,命名为vaules_it,效果如图1-4所示:
图1-4所示
- 将资源文件strings.xml复制粘贴到该文件夹下,并将中文信息调整为意大利语,如例1-3:
例1-3
设置模拟器的语言为意大利语,然后运行程序,效果如图1-5所示:
图1-5所示
由图1-5可知:在运行程序时,由于系统设置的语言是意大利语,故文本加载显示values_it下的资源数据。要若添加其他国外的语言,方法类似,只需要新建一个对应语言的文件夹(文件的命名:values_<对应语言的简写>,例英语的为values_en,中文为values_zh,中国台湾为values_zh_rTW),然后在这个文件夹中修改Strings.xml中的数据。
2.图片国际化
图片国际化和文字国际化基本方法都是一样的,在资源文件下新建对应图片资源的文件夹,然后将图片资源复制粘贴到这个文件夹中。如下图1-6所示:
图1-6所示
图1-6不同图片文件夹中放入的是对应国家的国旗(每一张图片的名称都一样为flag)。调整项目清单文件使android:icon="@drawable/ic_launcher"为android:icon="@drawable/flag",运行程序,加载对应地区的图片。当设置系统语言为意大利语时,运行程序效果如图1-7所示:
图1-7所示
本文版权归传智播客Android培训学院所有,欢迎转载,转载请注明作者出处。谢谢!
作者:传智播客Android培训学院
首发:http://www.itcast.cn/Android