Java程序国际化的简单实现

  
国际化(I18N)是指为了使应用程序能适应不同的语言和地区间的变化而不作系统性的改变所采取的设计措施。一个优秀的全球化软件产品的国际化应该包括以下几个方面 [4]
¨         Messages
¨         Labels on GUI components
¨         Online help
¨         Sounds
¨         Colors
¨         Graphics
¨         Icons
¨         Dates
¨         Times
¨         Numbers
¨         Currencies
¨         Measurements
¨         Phone numbers
¨         Honorifics and personal titles
¨         Postal addresses
¨         Page layouts
 
下面通过一个简单的例子来演示Java对国际化的支持 [3]
文件列表:
ResourceBundleTest.java        //根据不同的语言地区设置(英/中),显示相应的内容(英/中)
LocalStrings_en_US.properties      //英文内容
LocalStrings_zh_CN.properties      //中文内容
 
ResourceBundleTest.java程序识别操作系统不同语言 [1]不同地区 [2]设置,显示相应的内容,如果当现操作系统为英文环境(en_US),则显示“google”;如果当现操作系统为中文环境(zh_CN),则显示“谷歌”。如果需要扩展对其它语言的支持,只要增加相应的属性文件即可,(如日文环境,增加LocalStrings_ja_JP.properties文件和相应的内容),不需要改动ResourceBundleTest.java程序。
 
 
附件:
ResourceBundleTest.java
//
import java.io.UnsupportedEncodingException;
import java.util.Locale;
import java.util.ResourceBundle;
 
public class ResourceBundleTest {
public static void main(String args[]) {
 
        //LocalStrings 为peoperties文件的文件名称,得到当前环境的LocalStrings_xx_XX.properties文件对应的ResourceBundle对像。
        ResourceBundle rb = ResourceBundle.getBundle("LocalStrings");
    // System.out.println("Locale:"+Locale.getDefault().toString());
       
        //得到properties文件里的title值
        String title = rb.getString("title");
  
        try {
                  System.out.println(new String(title.getBytes("8859_1")));
         } catch (UnsupportedEncodingException e) {
                   // TODO Auto-generated catch block
                  e.printStackTrace();
         }
    }
}
//
 
LocalStrings_en_US.properties
//
title=google
//
 
LocalStrings_zh_CN.properties:
//
title=谷歌
//
 
 
参考资料:
 
4.     关于国际化的教程 http://java.sun.com/docs/books/tutorial/i18n/
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值