java国际化程序创建属性文件,Java程序国际化学习代码一

Java程序国际化初识

1、基本思路

Java程序的国际化的思路是将程序中的标签、提示等信息放在资源文件中,程序需要支持哪些国家、语言环境,就对应提供相应的资源文件。资源文件是key-value对,每个资源文件中的key是不变的,但value则随不同国家、语言改变。

2、使用的类

java.util.ResourceBundle:用于加载一个国家、语言资源包。

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

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

3、示例代码(模拟登录)

代码

/**

* 程序国际化

* 1、使用的类:Locale、 ResourceBundle、MessageFormat

* 2、properties属性文件(或配置文件),内容以键值对的方式存放

* 3、ResourceBundl工具类,来绑定属性文件,并指定Locale对象,来自动选择使用那个属性文件,默认将使用与操作系统相同的语言环境

* getString()方法来从属性文件中使用key来获取value

* 注意:ResourceBundle工具类是只读的,不能用于向属性文件中写入数据

* @author xiaofei

*/

public class I18nDemo {

public static void main(String[] args) {

// 创建一个本地语言环境对象,该对象会给根据参数设置来自动选择与之相关的语言环境

// 参数:语言,地区,可以从IE浏览器中的工具当中查看各个国家/地区对应的代码

Locale locale_CN = new Locale("zh", "CN");

Locale locale_US = new Locale("en", "US");

// 获取当前系统默认的语言环境

Locale locale_default = Locale.getDefault();

Scanner sc = new Scanner(System.in);

// 使用配置文件

String baseName = "i18n.info";// baseName即为属性文件的前缀名,带上包名

// 用于绑定属性文件的工具类,bundle是大量,包,捆的意思

ResourceBundle r = ResourceBundle.getBundle(baseName, locale_US);// 指定用英文

System.out.println(r.getString("system.name"));

// 接收用户输入的用户名

System.out.println(r.getString("input.username"));

String username = sc.nextLine();

// 接收用户输入的密码

System.out.println(r.getString("input.password"));

String password = sc.nextLine();

if ("admin".equals(username) && "123".equals(password)) {

System.out.println(r.getString("login.success"));

String welcome = r.getString("welcom");

// 动态文本格式化,其中welcome,{0}中的{0}叫做占位符

welcome = MessageFormat.format(welcome, username);

System.out.println(welcome);

} else {

System.out.println(r.getString("login.error"));

}

}// main

}

属性文件

info_zh_CN.properties

system.name=\u5458\u5DE5\u7BA1\u7406\u7CFB\u7EDF

input.username=\u8F93\u5165\u7528\u6237\u540D\uFF1A

input.password=\u8F93\u5165\u5BC6\u7801\uFF1A

login.success=\u767B\u5F55\u6210\u529F\uFF01

login.error=\u767B\u5F55\u5931\u8D25\uFF01

welcom=\u6B22\u8FCE\u4F60\uFF0C{0}\uFF01

info_en_US.properties

system.name=EMP Manage System

input.username=Input Your UserName:

input.password=Input Your Password:

login.success=Login Success!

login.error=Login Fail!

welcom=welcome,{0}!

4、运行结果

英文时

388f5a321e112445c13431f57931807b.png

中文时

bf6dca9e0544fe975a843e7d64751a13.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值