java国际化 本文来自:http://www.javaarch.net/jiagoushi/477.htm
国际化是为了让应用程序能够兼容多种语言而不需要修改源代码,有时我们使用i18n代表国际化internationalization 的意思,那是因为internationalization 单词第一个字母i和最后一个字母n之间有18个字母。
国际化程序能够带来的好处:
1.本地时间,支持国际化程序,时间相关问题在多种语言地区之间就不会存在。
-
GUI程序的文本信息
-
能够支持新语言而不需要重新编译
-
时间和汇率跟本地化相关
-
能够快速本地化
未进行国际化处理的程序:
public class NotI18N { static public void main(String[] args) { System.out.println("Hello."); System.out.println("How are you?"); System.out.println("Goodbye."); } }
输出:
% java I18NSample fr FR Bonjour. Comment allez-vous? Au revoir.
经过国际化处理的程序:
import java.util.*; public class I18NSample { static public void main(String[] args) { String language; String country; if (args.length != 2) { language = new String("en"); country = new String("US"); } else { language = new String(args[0]); country = new String(args[1]); } Locale currentLocale; ResourceBundle messages; currentLocale = new Locale(language, country); messages = ResourceBundle.getBundle("MessagesBundle", currentLocale); System.out.println(messages.getString("greetings")); System.out.println(messages.getString("inquiry")); System.out.println(messages.getString("farewell")); } }
输出:
% java I18NSample en US Hello. How are you? Goodbye.
在java中怎么让程序支持国际化
1.创建properties文件 包含跟环境相关的文本信息
比如:默认版本的MessagesBundle.properties
greetings = Hello farewell = Goodbye inquiry = How are you?
支持Franch的MessagesBundlefrFR.properties
greetings = Bonjour.
farewell = Au revoir.
inquiry = Comment allez-vous?
2.设置Locale Local是跟语言和地区相关的设置
比如设置语言为English,地区为US aLocale = new Locale("en","US"); 设置Canada和Franch的版本
caLocale = new Locale("fr","CA");
frLocale = new Locale("fr","FR");
然后通过传入参数设置:
String language = new String(args[0]);
String country = new String(args[1]);
currentLocale = new Locale(language, country);
3.创建ResourceBundle
messages = ResourceBundle.getBundle("MessagesBundle", currentLocale);
locale第一个参数对应到语言,第二个是地区,跟下面下划线的参数对应
MessagesBundle_en_US.properties
MessagesBundle_fr_FR.properties
MessagesBundle_de_DE.properties
4.通过ResourceBundle的方法获取对应的文本信息
String msg1 = messages.getString("greetings");
这样的话新增一个语言或者地区的不同文本就很简单了。
然后在实际应用中,下面的各个部分都需要作为checklist检查是否需要国际化
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国际化的工具
Java 国际化 Java 国际化 Java 国际化
java国际化实例,内置源码,还有说明文档。源码包里有编译好的jar文件,已经可以执行,可以实现中文和英文界面的切换,无需要安装插件,调用系统资源,有需要的朋友们请下载吧。 个人体会:做项目时需要用到国际化的...
java 国际化 i18n test
java国际化 里面含有代码 文档 以及实现的步骤 比较清楚明了
java国际化官方指南,如何支持国际化,涉及到的类,支持的编码,字体等等
公司的,来自不易,给分。谢谢!java国际化实现框架底层源码
用Java写的一个国际化语言配置模块,可实现简单的国际化配置。
NULL 博文链接:https://hoochiang.iteye.com/blog/1848534
java国际化操作,主要是讲字符转化为ASIIC
Java 国际化操作Java 国际化操作Java 国际化操作Java 国际化操作Java 国际化操作Java 国际化操作Java 国际化操作
最简单的java国际化例子最简单的java国际化例子最简单的java国际化例子
国际化.ppt 国际化.ppt 国际化.ppt 国际化.ppt 国际化.ppt
java实现国际化中英文语言切换 java语言切换JSP国际化 java实现国际化中英文语言切换 java语言切换JSP国际化
Java后台国际化组件,直接使用Eclipse导入Maven项目即可,本项目是一个模块,供其他模块调用。
java 国际化说明,及用到的几个关键类与方法
Java 国际化基础.doc