java 国际化 自定义_Java国际化

使用java编写一个带GUI程序或者其他需要给用户传递文字信息的程序的时候,就很有可能需要用到国际化的知识,来总结一下。

所谓的国际化,就是使编写的程序可以适应不同的语言环境,比如,在中文环境下,可以与用户使用中文交互,在英文环境下则切换为英文。而这个切换过程不需要修改代码或者仅仅修改少量的代码。java给我们提供了这样的实现。

java文件国际化

我们通过将与界面显示有关系的资源提取出来到资源文件中,然后读取不同的资源文件来达到国际化的目的。在java中,这些是通过ResourceBundle这个类来实现的。

ResourceBundle分为两种,一种是ListResourceBundle,另一种是PropertyResourceBundle。下面介绍这两种ResourceBundle的使用方法:

首先列出demo工程的代码结构:

TestResourceBundle

|

|--src

|

|--kyu

|

|--bundle

| |

| |--ListResourceTranslator.java

| |

| |--PropertyResourceTranslator.java

| |

| |--ResourceTranslator.java

|

|--test

| |

| |--App.java

|

|--Errors_en_Us.java

|

|--Errors_zh_CN.java

|

|--Errors.java

|

|--Errors_en_Us.properties

|

|--Errors_zh_CN.properties

|

|--Errors.properties

PropertyResourceBundle

首先需要建立若干语言的properties文件: 自定义名语言代码国别代码.properties

比如:errors_en_US.properties, errors_zh_CN.properties

其中的语言代码和国别代码,分别是你要国际化的语言。需要几种语言,就添加几个properties文件。

通过打印java所支持的语言和国家查看:

private static void printLocal() {

Locale[] localeList = Locale.getAvailableLocales();

for (int i = 0; i < localeList.length; i++) {

System.out.println(localeList[i].getDisplayCountry() + ": " + localeList[i].getCountry());

System.out.println(localeList[i].getDisplayLanguage() + ": " + localeList[i].

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值