7.7 Java9改进的国际化与格式化
7.7 Java9改进的国际化与格式化
什么是国际化
国际化是指应用程序运行时,可根据客户端请求来自的国家/地区、语言的不同而显示不同的界面。例如,
- 如果请求来自于中文操作系统的客户端,则应用程序中的各种提示信息错误和帮助等都使用中文文字;
- 如果客户端使用英文操作系统,则应用程序能自动识别,并做出英文的响应。
为什么要国际化
引入国际化的目的是为了提供自适应、更友好的用户界面,并不需要改变程序的逻辑功能。
国际化缩写
国际化的英文单词是Internationalization
,因为这个单词太长了,有时也简称I18N
,其中:
I
是这个单词的第个字母,- 18表示中间省略的字母个数,
- 而N代表这个单词的最后一个字母。
本地化
一个国际化支持很好的应用,在不同的区域使用时,会呈现出本地语言的提示。这个过程也被称为Localization
,即本地化。类似于国际化可以称为I18N
,本地化也可以称为I10N
。
Java9
国际化支持升级到了Unicode8.0
字符集,因此提供了对不同国家、不同语言的支持,它已经具有了国际化和本地化的特征及API
,因此Java
程序的国际化相对比较简单。尽管Java
开发工具为国际化和本地化的工作提供了一些基本的类,但还是有一些对于Java
应用程序的本地化和国际化来说较困难的工作,例如:消息获取
,编码转换
,显示布局
和数字
、日期
、货币
的格式等。
当然,一个优秀的全球化软件产品,对国际化和本地化的要求远远不止于此,甚至还包括用户提交数据的国际化和本地化。