软件的国际化
软件开发时,要使它能同时应对世界不同地区和国家的访问,并针对不同地区和国家的访问,提供相应的、符合来访者阅读习惯的页面或数据。
国际化又称为:i18n;internationalization
软件实现国际化,需具备那些特征:
对于程序中固定使用的文本元素,例如菜单栏,导航条等使用的文本元素、或错误提示消息,状态消息等;
对于程序动态产生的数据,例如日期,货币,软件应能根据当前元素所在的国家或地区的文化习惯进行显示。
固定文本元素:对于软件的菜单栏、导航条、错误提示信息、状态信息等这些固定不变的文本信息、可以把他们写在properties文件中,根据不通过减编写不同的properties文件。这一组properties文件称之为一个资源包。
在JavaAPI中提供了一个ResourceBundle类用于描述一个资源包,并且ResourceBundle类提供相应的方法getBundle,这个方法可以根据来访者的国家地区自动获取与之对应的资源文件文件予以显示。
资源包的创建:一个资源包中包含的每个资源文件都必须拥有共同的基名,除此之外还必须有附加部分。每个资源包都有相应有一个默认资源文件,文件不带附加部分。
资源文件的书写格式:资源文件的内容通常采用“关键字=值”的形式,软件根据关键字检索只显示在页面上,一个资源包中的所有资源文件的关键字必须相同,值则对应国家的文字。采用properties格式文件,所以文件中的所有字符都必须是ASCII字码,对于像中文这样非ASCII字符,需先进行编码 (java提供了一个native2ascii命令用于编码) 。
如果于该locale对象匹配的资源包子类找不到,一般情况下,选择默认资源文件予以显示。加载资源文件后,程序就可以调用ResourBundle实例对象的getString方法获取指定的资源信息名称所对应的值。String value=myReources.getString(“key”);
动态数据的国际化:数值,货币,时间,日期等数据由于可能在程序运行时动态产生,无法像文字一样简单地将它们从程序里分离出来,而是需要特殊的处理;java中提供了解决这些问题的API类(位于java.util包和java.text包中)
Locale类:
实例对象代表了一个特定的地理,政治,文化区域。
一个Locale对象本身不会验证它代表的语言和国家地区信息是否正确,只是向本地敏感的类提供国家地区信息,与国际化相关的格式化和解析任务有本地敏感的类去完成。
DateFormat类可以讲一个日期/时间对象格式化为表示某个国家地区的日期/时间字符串。还可以定义一些用于描述日期、时间的显示模式的int型的常量,实例化DateFormat对象时,可以使用这些常量,控制日期、时间的显示长度。
DateFormat对象的方法:
format:将date对象格式化为符合某个本地环境习惯的字符串。
Parse:将字符串解析为日期、时间对象
注意:parse和format完全相反,一个是把date时间转化为相应地区和国家的显示样式,一个是把相应地区的时间日期转化成date对象,该方法在使用时,解析的时间或日期要符合指定的国家、地区格式,否则会抛异常。
DateFormat对象通常不是线程安全的,每个线程都因该常见自己的DateFormat实例化对象
NumberFormat可以将一个数值格式化符合某国地区习惯的数值字符串,也可以将符合某个国家地区习惯的数值字符串解析为对应的数值
format方法:将一个数值格式化为符合某国地区习惯的数值字符串
parse方法:将符合某国地区习惯的数值字符串解析为对应的数值;
分享到:
相关推荐
android软件国际化
主要内容: 国际化软件的概念和术语。 认识和理解国际化软件。 国际化软件的生产流程。 国际化软件的准则和技术。
ICU(International Component for Unicode) 是 IBM 公司与开源组织合作研究的,基于"IBM公共许可证",用于支持软件国际化的开源项目。本文中主要介绍的 ICU4C 是ICU 在 C/C++ 平台下的版本,它提供了 C/C++ 平台强大...
腾讯软件走向海外市场分析,指导软件的国际化开发,以适应各地区、文化、风俗、习惯等,从而扩大产品的市场。
用友软件国际化案例分析.pdf
软件国际化和本地化测试PPT学习教案.pptx
可以方便实现Delphi和BCB开发的软件实现国际化目标. 全部为开源免费. 工具集中包含如下几个部分: 1. gnugettext.pas的使用说明 -- manual(GnuGetText.pdf); 2. gnugettext.pas源代码; 3. ggt-translate-setup.exe --...
Package i18n 为Macaron提供软件国际化和本地化
Linux环境下应用软件国际化的实现.pdf
中望CAD软件国际化征程大提速.pdf
引领国产CAD软件国际化新征程 2013年中望软件第四届全球合作伙伴大会举行.pdf
国际化的软件测试管理方法 国际化的软件测试管理方法
struts是一个优秀的开源框架, 这个框架很好支持国际化,只要在资源文件中操作就可以实现,不需要改动原程式
介绍软件开发的区域表示和国际化问题,给出了解决方案供参考!
软件开发文档规范(国际化) 操作手册 测试分析报告 测试计划 概要设计说明书 开发进度月报 可行性研究报告 模块开发卷宗 软件需求说明书 数据库设计说明书 数据要求说明书 文件给制实施规定的实例 详细设计说明书 ...
为软件国际化和本地化提供支持的服务 介绍 Singleton是用于简化软件全球化的开源应用程序。 它标准化和简化了软件应用程序的全球化–不仅在L10n中,而且在i18n中也是如此。 Singleton最初是由VMware中的R&D运营和...
国际化软件测试包括软件国际化测试和软件本地化能力测试。软件的国际化测试是重要的测试阶段,必须在本地化测试之前进行测试。国际化软件的测试目的是判断软件的国际化设计程度,确定软件是否支持可能的区域,是否...
国际化代码 设置多语言 为程序 好用非常好 自己用
详细介绍国际化软件测试的基础,让初学者对国际化测试更有一个清晰的概念