13.尚硅谷_佟刚_JavaWEB_国际化题稿.pptx
文本预览下载声明
讲师:佟刚
新浪微博:尚硅谷-佟刚
JavaWEB-国际化
概述
软件的本地化:一个软件在某个国家或地区使用时,采用该国家或地区的语言,数字,货币,日期等习惯。
软件的国际化:软件开发时,让它能支持多个国家和地区的本地化应用。使得应用软件能够适应多个地区的语言和文化风俗习惯。
随用户区域信息而变化的数据称为本地信息敏感数据。例如数字,货币等数据。
应用程序的国际化就是在应用软件的设计阶段,使软件能够支持多个国家和地区的用户的使用习惯。
国际化又称为 i18n:internationalization
软件国际化的特征
一个国际化的应用软件应有下面的特性:
对于程序中的本地信息敏感的数据(日期,货币等)能根据当前所在的国家或地区的文化习惯进行显示
对于文本元素(错误提示信息,状态信息等)不是直接写在应用程序中,而是存储在应用程序外部的资源文件中,在应用程序中通过程序代码来动态获得这些数据
无需修改和重新编译程序就能支持新的国家或地区的用户使用
Java 国际化解决方案
本文信息不能硬编码在程序代码中,而是需要将它们从应用程序中分离出来,在软件运行时根据本地信息读取相应的文本内容进行显示
数值,货币,时间,日期等本地敏感数据可能在程序运行时动态产生,所以无法像文字一样简单地将它们从应用程序中分离出来,而是需要特殊处理。Java 中提供了解决这些问题的 API 类(位于 java.util 包和 java.text 包中)
Locale 类
Locale 实例对象代表一个特定的地理,政治或文化上的区域
一个 Locale 对象本身不会验证它代表的语言和国家地区信息是否正确,只是向本地敏感的类提供本地信息,与国际化相关的格式化和解析任务由本地敏感的类(若JDK中的某个类在运行时需要根据 Locale 对象来调整其功能,这个类就称为本地敏感类)去完成
DateFormat 类
DateFormat 类可以将一个日期/时间对象格式化为表示某个国家地区的日期/时间字符串,也可以将表示某个本地的日期/时间的字符串解析为相应的日期/时间对象
DateFormat 类定义了一些用于描述日期/时间的显示模式的 int 型的常量,包括FULL, LONG, MEDIUM, DEFAULT, SHORT,这些常量用于描述表示日期/时间字符串的长度。这些常量说明表示的日期/时间的确切格式取决于具体的国家和地区
DateFormat 类
获取 DateFormat 对象
DateFormat 对象通常不是线程安全的,每个线程都应该创建自己的 DateFormat 实例对象
DateFormat 对象的方法:
format: 将日期/时间对象格式化为符合某个本地环境习惯的字符串
parse:将符合某个本地环境习惯的日期/时间字符串解析为日期/时间对象
NumberFormat 类
NumberFormat 可以将一个数值格式化为符合某个国家地区习惯的数值字符串,也可以将符合某个国家地区习惯的数值字符串解析为对应的数值
NumberFormat 类的方法:
format 方法:将一个数值格式化为符合某个国家地区习惯的数值字符串
parse 方法:符合某个国家地区习惯的数值字符串解析为对应的数值
MessageFormat 类
MessageFormat 类提供了一种参数替换模式字符串中的占位符的方式,它将根据模式字符串中包含的占位符产生一系列的格式化对象,然会调用这些格式化对象对参数进行格式化,并用格式化后的结果字符串替换模式字符串中的相应占位符。
模式字符串与占位符
模式字符串:
On {0}, {1} destroyed {2} houses and caused {3} of damage.
对模式字符串进行格式化操作时,需要采用数组的方式提供模式字符串中的每个占位符所对应的参数.
占位符有以下三种方式:
{argumentIndex}: 0-9 之间的数字,表示要格式化对象数据在参数数组中的索引号
{argumentIndex,formatType}: 参数的格式化类型
{argumentIndex,formatType,FormatStyle}: 与指定的格式化类型对应的模式,它的值必须是与相应的格式化类型匹配的合法模式或表示合法模式的字符串
占位符
MessageFormat 格式化模式字符串
MessageFormat 类可以格式化模式字符串,它根据其中的占位符产生一系列的格式化对象,然后调用这些格式化对象对参数进行格式化,并用格式化后的结果字符串替换模式字符串中的相应占位符。
格式化模式字符串的步骤:
创建 MessageFormat 对象:须指定格式化的模式字符串,也可以指定 Locale 对象来按某个国家地区的习惯进行格式
显示全部