20170705 Java常用类:Java程序国际化

参考文献:《Java疯狂讲义》(第三版)

国际化与格式化

Java国际化的思路:

Java程序国际化的主要通过如下三个类完成:

1、java.util.ResourceBundle:用于加载国家、语言资源包;

2、java.util.Locale:用于封装特定的国家/区域、语言环境;

3、java.text.MessageFormat:用于格式化带占位符的字符串;

为了实现程序的国际化,必须先提供程序所需要的资源文件。资源文件的内容是很

多key-value对,其中key是程序使用的部份,而value则是程序界面的显示字符串。

完成程序国际化:

例子代码:

import java.util.*;

public class RawHello{

public static void main(String[] args){

//取得系统默认的国家/语言环境

Locale myLocale=Locale.getDefault

(Locale.Category.FORMAT);

ResourceBundle bundle=ResourceBundle.getBundle

("mess",myLocale);

//打印从资源文件中取得消息

System.out.println(bundle.getString("hello"));

}

}

mess_en_US.properties文件如下:

#资源文件的内容是key-value对

hello=Welcome you!

mess.properties文件如下:

#资源文件的内容是key-value对

hello=你好!

对mess.properties文件执行

native2ascii 源资源文件 目的资源文件操作

生成一个程序需要的资源文件

注:Java是区分大小写的编程语言,我之前输入的是Hello字符串,运行会发生异常;

知识点:Java程序国际化的关键类是ResourceBundle,它有一个静态方法:

getBundle()String baseName,Locale locale),该方法根据Locale加载资源

文件,Locale封装了一个国家、语言。

例子:

ResourceBundle bundle=ResourceBundle.getBundle("mess",myLocale);

上面代码会加载baseName为"mess"的系列系统资源文件之一,对于简体中文的

Locale,则加载mess_zh_CN.properties文件

一旦加载了该文件,该资源文件内容就是多个key-value对,程序就根据key来获取

指定的信息,例如获取了key为hello的信息,该消息是"你好"。

Java程序国际化的关键类是ResourceBundle和Locale,ResourceBundle根据不同

的Locale加载语言资源文件,再根据指定的key取得已加载语言资源文件中的字符串。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,099评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,804评论 18 399
  • java语言的国际化思路 在java语言中,国际化的思路是将程序中的标签,提示等信息放到资源文件中,这些资源文件是...
    junson阅读 631评论 0 0
  • 我,一直向往旅游! 不知从何时起,内心中泛起一丝涟漪,这份希冀不关乎爱情亲情友情,它关乎心情,希求心境...
    彡兮丶莫言阅读 331评论 0 0
  • 如果一个人说喜欢你爱你 请等到他对你百般照顾时再相信 如果他答应带你去的地方 等他订好机票再开心 如果他说要娶你 ...
    泡泡糖味的小果冻阅读 288评论 0 1