欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

软件的国际化

程序员文章站 2022-06-02 10:31:54
...

软件的国际化

软件的国际化与本地化概述

软件的本地化是指一个软件在某个国家或地区使用时,采用该国家或地区的语言,数字、货币、日期等习惯。软件的国际化是指软件在开发时,让它能够支持多个国家和地区的本地化应用。国际化软件的特点:本地信息敏感的数据如日期货币数字符合习惯,文本数据符合习惯,比如在中国显示中文,在美国显示英文。无需修改和重新编译。

这里面涉及的一个设置就是操作系统的区域语言设置,进入区域语言设置的方式是:控制面板---->区域语言选项----->区域语言选项标签(这里使用的是windows XP操作系统,其他系统可能有些许不同)软件之所以能够在不同的操作系统中使用不同的本地化风格,就是因为软件能够自动检测到操作系统的本地化语言状态,做出相应的调整。

Java中与国际化相关的包
与Java国际化相关的API主要位于java.util和java.text两个包中。java.util包中的Locale类用于代表一个特定的地理、政治、或者文化上的区域;java.text包中包含数字、货币、日期和时间按照特定的本地化格式进行显示的类,如NumberFormat类,DateFormat类。


1.Locale类:创建Locale实例对象,JDK提供了多种方式来获得Locale实例对象,包括Locale类的构造方法,Locale类的常量和一些其他方式。


*使用Locale类的构造方法
Locale三个重载的构造方法,它们的语法定义如下:
public Locale(String language)
public Locale(String language,String country)
public Locale(String language,String country,String variant)
这里面,

参数language表示有效的ISO语言代码,它是根据ISO-639定义的两个小写的字母表示的代码;

参数country表示有效的ISO国家代码,它是根据ISO-3316定义的两个大些字母表示的代码。

参数variant是预留给第三方软件开发商或浏览器使用的一个附加变量。例如,使用WIN代表windows,MAC代表Macintosh,POSIX代表POSIX。variant这个变量可以将一个国家地区下面的不同情况进行更细致的区分,当它包含两个变量时,使用下划线把它们区别开,并且将最重要的变量放置在前面。

软件进行国际化的基本步骤:
<1>定义资源文件,这种资源文件要有很多,但也不是越多愈好,这要通过软件的运行区域来设定。资源文件使用后缀名.properties来进行命名。命名的基本原则是:基名_语言代号.properties。
<2>读取。根据软件运行所在的操作系统的语言去读取对应的资源文件。把相关的键值对读取到内存中,如果基名没有被找到,就抛出MissingResourceException异常,但是光抛出异常是没有意义的,在异常抛出后,有些程序会默认的使用在资源文件中排名最靠前的资源文件来运行软件。