




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Android上的文言 Android是个国际化的手机操作系统,Android market也是个世界共享的大市场,要想使得自己的应用程序被更多人用到,必须考虑的一个问题就是“国际化”,说到国际化,其不仅仅代表界面显示的语言文字,其还包括诸如界面风格,图片等等资源的国际化。Android 可以运行在不同国家的各种硬件上,并且有很多语言,不同的用户在使用Android的时候,必须考虑让他们的应用程序使用用户本地化的语言,能够让各种用户都能够看明白。 文言顾名思义就是文字,手机中的文言也就是手机中显示在控件中的文字,提示信息的文字。简单的说,手机中的文言,就是和外界数据无关,手机自身带的文字。手机中的文言,为了适应各国的语言,需要进行国际化和本地化。国际化(i18n) 和本地化(l10n):i18n 和 l10n 分别是 internationalization 和 localization 的缩写。国际化是指让同一个程序能支持多个不同的区域,而本地化是指让程序能够支持用户所选择的区域。粗略地说,对于多语言的系统而言,国际化通常由开发人员实现,而本地化通常由翻译人员实现。 Android通过资源文件实现本地化,将要实多国语言的文字,写到资源文件中,Android可以提供不同的资源,去适应不同的用户,SDK 不提供显示的方法让你指定加载的资源。Android 通过检测硬件和语言的设置,去加载特定的资源文件。用户可以在设定面板上设定语言的种类。步骤为:按下menu,通过setting中的select locle,选择自己想要得语言。根据Resource类来选择相应文件夹下的内容,选择英语时候,也即选择了 values下的strings.xml;选择 chinese(china)时,也即选了 values-zh-rcn目录下的strings.xml;选择 chinese(taiwan)时,也即选了 values-zh-rtw目录下的strings.xml。 Android为我们提供了本地化类Locale,当我们在选定语言的时候,通过android.content.res.Configuration.java类,调用java.util.Locale.java中的函数,设定我们选择的语言。locale类定义了android中可以使用的各种语言,提供了许多外部访问方法,当我们要增加其他的国际化语言的时候,通过扩展这个类,来达到要求。资源文件中的资源文件,通过android.content.res.Resources.java中的方法,将资源文件装载到程序中,当我们在程序中通过context.getResources()中的方法,我们可以获取资源文件中的文言,使用getString()或者更适合的getText()方法获得这些资源。getText()方法将保留所有用于描述用户界面样式的描述符,保持复杂文本的原貌,当然我们还可以在资源文件中通过android:text=string/hello_world这样的方式引用资源,这样我们就可以取到设定语言下的文言。Android将根据配置文件挑选资源,挑选过程为: 1.排除所有和配置文件中指定的当前设备参数不匹配的资源; 2.接下来系统将根据限定字的多少来筛选。例如,如果你的本地系统识别为en-GB编码的便携设备; 3.选择机制将根据配置文件中定义的优先级. 如果Android程序需要适应国际化,比如说多国语言等问题,那么就可以定义不同语言的UI布局,定义不同语言的资源文件,在程序装载时根据选择的语言,调用不同的布局,调用不同的文言。而且,如果我们需要修改UI的一些问题,比如修改提示信息等等,就不必查看代码了,直接更改资源文件即可。 Android为了包含替代资源,在同一目录下创建并行的文件夹,在每个文件夹名字后面加上相应的指定。在开发中我们建好一个Android的项目后,默认的res下面 有layout、values、drawable等目录。这些都是程序默认的资源文件目录,如果要实现多国语言版本的话,就要添加要实现各国语言的对应资源文件。首先我们点击添加Android Xml File按钮,会出现下面的界面: 输入文件名:string.xml,选中Values单选框,并把下面左列表中的Region添加到左边的列表里面,并在Region输入框里输入cn,如下图这时,上面的消息提示:如果用Region的话,需要使用语言项,和Region一样,我们把Language也添加到右面的列表里面,填入zh,如下图点击Finish按钮,资源文件就会建好了,目录:resvalues-zh-rCN 因为设置了region为CN,如果我们选择zh-tw的时候,没有找到resvalues-zh-rTW的目录,Android会加载了默认的resvalues目录下的string.xml。 创建文件夹的命名必须都是小写字符,否则在一些大小敏感的文件系统中可能会出错,如果你用大写,eclipse的adt都会自动报错。小写字母r表示 region的意思。 在strings.xml中除了字符串本身不一样,xml中定义该字符串的名字,id都是一样的。所以在代码或者 xml中引用该资源时,只要引用名字即可或者id即可,程序启动时候Resource类会到相应的目录下去寻找正确的字符串资源. 资源是在代码中使用到的并且在编译时被打包进应用程序的附加文件。Android支持多种不同的文件,包括XML、PNG和JPEG文件。XML文件的格式决定于其描述的内容。这些文件将描述文件支持的类型、语法或格式。 处于加载效率的考虑,资源被从代码中分离出来,而且XML文件被编译进二进制代码中。字符串,类似的会被压缩存储为更经济的格式。处于这样或那样的原因,Android平台中会存在很多不同的资源和资源定义文件。 Android资源系统保存所有与代码无关资源的存根。可以使用Resources类访问应用程序的资源;与应用程序相关联的资源实例可以通过Context.getResources()得到。 一个应用程序的资源可以被构建系统在构建时编译进二进制的应用程序里。为了使用资源,需要正确的初始化应用程序中的资源,并且构建应用程序。在构建过程的部分,每个资源的标识被产生,可以在代码中使用他们。这些标识允许编译器校验应用程序中的代码和资源定义是否匹配。 在编译时,Android生成名为R的类。R包含应用程序所用到的所有的类。这个类包含一些与res下子目录同名的子类。这些子类包含每一个在资源文件中定义的资源的标识。这些资源标识可以在代码中引用。R类是自动生成的,并且它不能被手动修改。当资源发生变动时,它会自动修改。 这个文件就是Java代码和独立于Java代码的资源文件之间的访问窗口,Java程序可以通过R.java来访问那些资源文件。 这个文件是在程序编译过程中由aapt(Android Asset Packaging Tool) 自动生成 ,这个文件中的属性都是public static final的,所以可以直接在Java代码中引用,每个属性都代表一个资源,看起来就像为每个资源都定义了一个ID,然后通过这个ID来访问资源 。所有的资源文件都被编译进最后生成的二进制包中,这样能够带来很高的性能和效率 。 从一个Android 如何进行本地化的概述开始。Android可以允许开发人员将他们的UI 分解。Android 将一个应用程序的UI分成了3 个大的核心部分:1. UI 的布局文件,比如说Button 在哪儿,Label 标签还有数据放哪里,等等,Android 允许开发者通过XML 文件来解析这些UI布局文件。2. 被装进UI的资源,比如图像和声音。3. Java 写的应用程序的代码,他们可以驱使UI不断发生变化,并且让用户在进行输入操作的时候使屏幕发生变化。 Android 可以直接装载XML为形式的布局文件,可以使用在项目文件夹中的res/目录下的资源。Android 还可以自己选择到底要装载那些资源,而这个选择则是依据用户当前的设置以及他的地区。应用程序代码也许会涉及到R.string.title 这样一段字符串。Android 将会在运行的时候在装载res/values中相匹配的字符文件。如果设置的语言和地区是en-US, 然后Android 将 会寻找一段适合当前语言的R.st
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业合同大全8借款合同动产质押合同2篇
- 2025年肾脏外科临床实践测试答案及解析
- 2025年眼科常见疾病治疗方案评估试卷答案及解析
- 2025年消防工程专业分包合同4篇
- 2025年小儿呼吸内科急救操作规范考试答案及解析
- 北京市顺义区2024-2025学年七年级下学期第二次月考语文试卷及答案
- 2025年心血管病理生理学知识测评试卷答案及解析
- 2025年工伤科职业病诊断与康复治疗实务操作试卷答案及解析
- 能源战略2025:中国储能行业技术创新与能源储备应用报告
- 2025年智慧校园安全管理报告:校园安全信息化建设与实施策略
- 老挝药品注册管理办法
- GB/T 45972-2025装配式建筑用混凝土板材生产成套装备技术要求
- 电力营销稽查培训课件
- 绿色金融培训课件
- 2025安化事业单位笔试真题
- 文化创意产品设计及案例PPT完整全套教学课件
- 急性重症胰腺炎诊治流程
- 质量检验员培训课件
- 关于全面深化改革若干重大问题的决定
- 江西供电劳务服务收费标准表doc-附件1:江西省供电劳务
- 采购招标评审表【模板】
评论
0/150
提交评论