通常情况下,应用程序是用英语开发的,但当我们希望我们的应用程序 ,以针对不同国家的用户或客户时,Sun在java中提供了国际化概念。
内部化或I18n是由java提供的一组Java类或接口,以支持java中的全球应用。这意味着Java应用程序可以在多语言和多国家工作。
国际化有哪些项目需要做
- 日期格式
- 时区
- 数字格式
- 消息格式
- 当前符号
当我们针对上述事项时,该应用程序被命名为国际化应用程序。
简单地说,我们用一种语言开发应用程序,并可以通过上述方式改变为不同的本地或本地化的应用程序。
在java中,java.util.Locale类持有本地化的信息。
例如,在swing中创建一个按钮的代码是这样的
JButton buttonEx=new JButton("Upload")
在这里,按钮的标签信息是硬编码的,如果我们想把这个应用程序开发到不同的地区,这是很困难的。
为了使应用程序本地化,我们必须把标签分开,并把它们放在属性或资源文件中。
美国国家的资源文件中的标签信息是
button.upload.label =Upload- label\_en\_US.property
以同样的方式,我们需要为每个国家或语言创建一个资源属性文件。这可以在应用开发完成后添加到应用程序中。
button.upload.label = starten- app\_de\_DE.property
在java中,java.util.ResourceBundle被用来读取资源包或属性文件。
为了读取资源文件,我们可以使用java.util.ResourceBundle。
创建ResourceBundle
ResourceBundle rb = ResourceBundle.getBundle(basename, locale);
上面的代码将读取特定于本地的资源文件,如果没有找到,则考虑默认的locale资源。
在Java应用程序中,java.text.DateFormat,
java.text.NumberFormat, java.text.MessageFormat是用来实现国际化的。