java应用程序国际化.ppt
文本预览下载声明
* 第19章 应用程序国际化 第19章 应用程序国际化 19.1 国际化和本地化简介 19.2 资源包 19.3 消息格式化 19.1 国际化和本地化简介 国际化是设计和制造容易适应不同区域要求的一种方式。它要求从产品中抽离出所有与语言、国家/地区和文化相关的元素。国际化的应用程序在功能和代码设计上兼顾了在不同地域环境运行的需要,其代码简化了不同本地版本的生产。 19.1 国际化和本地化简介 本地化是针对某一本地特性,如语言、文化、习俗和特殊的市场需求制造和改造产品的过程。对于本地化的软件产品,本地用户应可以使用自己的语言和文化习惯与产品交互,这表现为所有用户可见的信息(语言、数字、货币、日期和时间等)都使用用户的语言和文化习惯。 19.1 国际化和本地化简介 软件开发应采用国际化设计思想,应用程序国际化的目标是编写在任何受支持的区域设置中都同样能正常运行,且外观本地化的代码。这样的软件将来很容易本地化,软件缺陷也将降至最低。在国际化的软件开发中,文本信息通常采用Unicode编码保存,Unicode编码目前可以支持超过一百万种不同字符和符号。 19.1 国际化和本地化简介 国际化和本地化主要考虑的问题包括: 语言、数字格式 、日期时间格式 、货币 身份证、社保号码和护照 电话号码、地址和邮政编码 度量衡、禁忌 、名字和称谓 【例题19-1】 国际化程序中数据显示演示 public class DataFormatDemo { public static void main(String[] args) { Date date = new Date(); Locale locale = Locale.getDefault(); System.out.println(Locale: + locale); DateFormat df = DateFormat.getDateTimeInstance (DateFormat.FULL,DateFormat.FULL, locale); 19.1 国际化和本地化简介 System.out.println(df.format(date)); double d = 1234.56; NumberFormat nf = NumberFormat. getInstance(); System.out.println(nf.format(d)); nf = NumberFormat.getCurrencyInstance(); System.out.println(nf.format(d)); } } 程序运行结果 中文(中国) 英语(美国) 19.2 资源包 在国际化的应用程序中,通常以资源包(Resourse Bundle)的形式来保存与运行环境相关的资源,如消息文本,菜单等,每一个资源包对应一种用户Locale。资源包采用统一的命名规则,其格式为: 包名_语言代码_国家/地区代码 包名_语言代码 19.2 资源包 资源包又分为属性文件(Property File)和资源绑定类(Resource Bundle Class)两种。 属性文件 属性文件专门保存要进行国际化的字符串信息,文件名与资源包同名,后缀为“.properties”,其保存的字符串信息按“键-值”方式排列,每行保存一条。 【例题19-2】 属性文件演示 未进行Unicode转码的 MyPropertyFile_zh_CN.properties文件 #MyPropertyFile title=我的国际化程序 menu.file=文件 menu.edit=编辑 menu.help=帮助 currentEnv=当前运行环境: 19.2 资源包 【例题19-2】 属性文件演示 转码后的 MyPropertyFile_zh_CN.properties文件 #MyPropertyFile title=\u6211\u7684\u56fd\u9645\u5316\u7a0b\u5e8f menu.file=\u6587\u4ef6 menu.edit=\u7f16\u8f91 menu.help=\u5e2e\u52a9 currentEnv=\u5f53\u524d\u8fd0\u884c\u73af\u5
显示全部