Java程序国际化的简单实现
2007-04-22 15:05
951 查看
国际化(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=谷歌
//////////////////////////////////////////////
参考资料:
1. 语言代码对照表http://www.loc.gov/standards/iso639-2/php/English_list.php
2. 国家代码对照表http://www.iso.ch/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html
3. JDK中对国际化的支持http://java.sun.com/javase/6/docs/technotes/guides/intl/index.html
4. 关于国际化的教程 http://java.sun.com/docs/books/tutorial/i18n/
相关文章推荐
- Java程序国际化的简单实现
- 利用java实现一个简单的远程监控程序
- 黑马程序员_Java简单程序的实现
- 一个java实现的简单文件下载程序
- java实现的简单网页爬虫:Servlet 搜索引擎核心爬虫程序(三)
- 基于java利用JDOM读取XML文件实现简单留言簿程序
- 运用Java中socket编程实现简单的服务器客户端收发信息程序
- Java实训——创建一个窗体程序,实现简单的数学加、减法测试。
- Winform程序多语言国际化实现的简单方法
- [导入]Winform程序多语言国际化实现的简单方法
- Java中如何实现程序国际化
- JAVA 程序实现国际化
- java实现简单聊天程序(集合,线程,I/O,网络编程)
- Java程序简单实现折半查找算法
- 利用java实现一个简单的远程监控程序
- Java_GUI创建单机版QQ聊天小程序并实现简单的小功能(附所有源码)
- Java实现简单日历小程序 Java图形界面小日历开发
- 黑马程序员-JAVA学习之用多线程实现简单UDP聊天程序
- 不带有界面的简单的计算器小程序(Java语言实现)
- java实现简单聊天程序(集合,线程,I/O,网络编程)