internationalization(国际化(简称i18n,因为在i和n之间还有18个字符,
localization(本地化),简称L10n.一般说明一个地区的语言时,用语言_地区的形式,如 zh_CN,zh_TW.
各国语言缩写:
http://www.loc.gov/standards/iso639-2/php/code_list.php
国家和地区简写:
http://www.iso.org/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html
Android对i18n和L10n提供了非常好的支持.Android没有专门的API来提供国际化,而是通过对不同resource的命名来达到国际化,同时这种命名方法还可用于对硬件的区分,如不同的新视屏用不同的图片.
在Eclipse的工程中,res目录有默认几项resource,如drawable,layout,menu,values其余还有
res/anim/ 用来放置动画
res/xml/ 用来放置style theme等xml定义.
res/raw/ 用来放置data数据
我们引用这些resource时候,在java代码中是通过R.resource_type.resource_name的方式来使用,如setTitle(R.string.main_title);
还有一种是在xml中直接引用,如
<TextView
android:id ="@+id/hello_view"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
引用了名字为hello的字符串.当程序运行时,通过Resource类会装载strings.xml中名字为hello的字符串.但Resource类装载strings.xml时会根据当前手机的设置来选择装载哪一个xml文件.这些手机设置有MCC and MNC,Language and region,Screen dimensions,Wider/taller screens,Screen orientation,Screen pixel density,Touchscreen type,SDK version,也就是说通过手机当前语言区域,屏幕的大小,屏幕像素以及当前android sdk的版本号来选择.通过把strings.xml放置在以这些选项命名的文件夹下,Resource类就能正确的装载所需的字符串.
我们以不同的local和region来做一次国际化,首先values表示默认的字符串,也即当Resource找不到匹配的资源时,默认使用values文件夹下的资源,其余 drawable等资源也是同样的.
当命名这些文件夹的名字时,不同的选项用-分开,而且次序必须和andorid文档中table http://developer.android.com/guide/topics/resources/resources-i18n.html#AlternateResources文件夹的命名必须都是小写字符,否则在一些大小敏感的文件系统中可能会出错,如果你用大写,eclipse的adt都会自动报错.小写字母r表示region的意思.在strings.xml中除了字符串本身不一样,xml中定义该字符串的名字,id都是一样的.所以在代码或者xml中引用该资源时,只要引用名字即可或者id即可,程序启动时候Resource类回到相应的目录下去寻找正确的字符串(资源)
通过在Settings中设置locale& Text 我们可以让Resource类来选择相应文件夹下的内容,选择英语时候结果如下,也即选择了values下的strings.xml
选择chinese(china)时,也即选了values-zh-rcn目录下的strings.xml
选择chinese(taiwan)时,也即选了values-zh-rtw目录下的strings.xml其余手机的选项,像屏幕的像素等都可以建立相应得目录.
在很多项目里看到过这样的文件夹命名方式,但还没有真的测试过,希望有时间来测试下,到时候也会放上测试的代码!!
分享到:
相关推荐
在"Android应用源码之(本地化与国际化)"这个压缩包中,我们可以找到以下几个关键部分进行学习: 1. **资源文件**:检查不同values文件夹下的strings.xml,看看如何定义和组织多语言字符串。 2. **布局文件**:分析...
总之,这个压缩包中的内容将涵盖Android应用的本地化与国际化的基本原理和实现方法,对于学习Android开发特别是毕业设计的学生来说是非常有价值的参考资料。通过研究源码,可以深入理解如何在Android应用中实现对...
本文将深入探讨这两个概念,并结合源码分析来阐述如何在Android应用中实现本地化与国际化。 首先,我们来理解本地化(Localization)与国际化(Internationalization)的基本概念。国际化(I18N,因为...
总的来说,"Android 一键国际化"插件极大地提高了Android应用的本地化效率,使得开发者能更专注于核心功能的实现,而非繁琐的多语言资源管理。通过合理利用这样的工具,开发者可以更轻松地打造全球化应用,满足不同...
"android国际化工具"是开发者用来自动化处理字符串翻译过程的利器,它极大地简化了Strings.xml和arrays.xml等资源文件的多语言支持工作,从而提升了开发效率。 Android的国际化(i18n,即“internationalization”...
"Android-Android国际化文档整理xml和excel互转"项目主要关注如何方便地管理和转换Android应用中的本地化资源。 一、Android的国际化原理 Android的国际化是通过资源文件夹来实现的。在项目的`res`目录下,我们...
这个"Android本地化与国际化Demo源码"应该包含了一些示例代码,帮助开发者了解并实践如何在Android应用中实现本地化和国际化。 本地化是指将应用程序的内容、布局、日期格式、货币符号等根据用户所在地区进行调整,...
在博文链接中(虽然这里未提供具体内容),通常会分享更多关于Android国际化实践的经验、技巧和案例,例如如何优化资源文件结构,提高本地化效率,或者如何利用自动化工具进行批量处理等。 总之,Android国际化是...
在Android开发中,国际化(Internationalization)是一种关键的技术,它使得应用能够适应不同语言和地区,为全球用户提供一致且本地化的体验。"完整的android 国际化处理包" 提供了全面的数据和工具来支持这一过程。...
Android国际化(Internationalization,简称i18n)和本地化(Localization,简称L10n)是Android开发中非常重要的一部分。国际化是指使软件能够适应不同语言和地区的需求,而本地化是指对软件进行语言和地区的具体...
本压缩包文件“安卓Android源码——(本地化与国际化).zip”可能包含一系列教程或示例代码,帮助开发者理解和实践Android平台上的本地化与国际化技术。 本地化是指将应用的内容、界面和功能根据特定地区或语言的习俗...
本教程将详细介绍如何在Android项目中实现多语言切换,让您的应用具备国际化能力。 首先,我们需要了解Android的资源管理机制。Android系统通过res目录下的values文件夹来存储不同类型的资源,如字符串、颜色、布局...
在Android应用开发中,为了使应用能够适应全球不同的语言环境,开发者通常会采用资源国际化(i18n,Internationalization)技术。这个过程涉及到将应用中的文本和图片资源分离出来,以便根据不同地区创建对应的翻译...
一、Android系统与国际化 Android系统天生支持多语言,这是因为其底层具备强大的本地化功能。所谓的本地化,就是指让应用程序能够适应不同地理区域用户的需求。它包括了语言和地区的支持,例如支持不同的字符集(如...
在Android开发中,多语言与国际化(Internationalization,简称i18n)是提升应用程序全球适应性的重要技术。为了使应用能够支持不同国家和地区的用户,Android提供了强大的资源管理机制,使得开发者可以轻松地实现...
在Android开发中,为了使应用能够适应不同语言和地区的用户,字符串国际化的概念至关重要。它允许开发者将应用的文本资源分离出来,以便于根据不同国家和地区的需求进行翻译和定制。下面我们将详细探讨Android字符串...
Android应用源码之(本地化与国际化).zip项目安卓应用源码下载Android应用源码之(本地化与国际化).zip项目安卓应用源码下载 1.适合学生毕业设计研究参考 2.适合个人学习研究参考 3.适合公司开发项目技术参考
在Android应用开发中,语言国际化是一项重要的功能,它允许应用程序根据用户的设备设置显示相应的语言内容。这不仅可以提高用户体验,还能让应用在全球范围内更具有吸引力。本文将深入探讨如何在Android项目中实现...