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();
}
}
}
Java程序国际化的简单实现
最新推荐文章于 2024-08-01 15:34:22 发布