JAVA国际化的实现的国际化由两部分组成:
(1)页面国际化处理
(2)JAVA类的源代码处理
一、给如下资源文件添加需要国际化的内容
1、ApplicationResources.properties
ApplicationResources_zh_CN.properties 中文
ApplicationResources_en_US.properties 英文
2、ApplicationResources.properties
ApplicationResources_zh_CN.properties 中文
ApplicationResources_en_US.properties 英文
二、在strutis.xml文件中作如下配置
<message-resources parameter="resources.activetitle.ApplicationResources"/>
<message-resources parameter="resources.menutitle.GlobalUITitle" key='globaluititle'/>
<message-resources parameter="resources.menutitle.UITitle" key='uititle'/>
<message-resources parameter="resources.menutitle.MenuTitle" key='menutitle'/> <message-resources parameter="resources.activetitle.ApplicationResources"></message-resources>
三、写Constants类里写处理资源文件及国际化的方法,主要用于在JAVA源代码中处理国际化问题
该类如下:
public class Constants {
public static MessageResources MESSAGE = MessageResources.getMessageResources("Reseveinfo");
public static MessageResources MESSAGE_UITITLE_RES = MessageResources
.getMessageResources("resources.menutitle.UITitle");
public static MessageResources MESSAGE_GLOBAL_RES = MessageResources
.getMessageResources("resources.menutitle.GlobalUITitle");
public static MessageResources MESSAGE_MENU_RES = MessageResources
.getMessageResources("resources.menutitle.MenuTitle");
public static MessageResources MESSAGE_APP_RES = MessageResources
.getMessageResources("resources.activetitle.ApplicationResources");
public static String [] disposeLanguage(Locale locale){
String []pagesign = new String[6];
pagesign[0] = MESSAGE_APP_RES.getMessage(locale, "pages.first");
pagesign[1] = MESSAGE_APP_RES.getMessage(locale, "pages.previous");
pagesign[2] = MESSAGE_APP_RES.getMessage(locale, "pages.next");
pagesign[3] = MESSAGE_APP_RES.getMessage(locale, "pages.end");
pagesign[4] = MESSAGE_APP_RES.getMessage(locale, "pages.no");
pagesign[5] = MESSAGE_APP_RES.getMessage(locale, "pages.page");
return pagesign;
}
// 处理语言国际化
public static String disposeLanguageApp(Locale locale,String str,Object [] args){
String retStr="";
if(locale == null || StringUtils.isEmpty(str))
return retStr;
if(args == null){
retStr=MESSAGE_APP_RES.getMessage(locale,str);
}else{
retStr=MESSAGE_APP_RES.getMessage(locale,str,args);
}
retStr=StringUtils.isEmpty(retStr) ? "" : retStr;
return retStr;
}
// 处理语言国际化
public static String disposeLanguageApp(Locale locale,String str){
String retStr = "";
if (locale == null || StringUtils.isEmpty(str))
return retStr;
retStr = MESSAGE_APP_RES.getMessage(locale, str);
retStr = StringUtils.isEmpty(retStr) ? "" : retStr;
return retStr;
}
// 处理语言国际化
public static String disposeLanguageUititle(Locale locale,String str,Object [] args){
String retStr="";
if(locale == null || StringUtils.isEmpty(str))
return retStr;
if(args == null){
retStr=MESSAGE_UITITLE_RES.getMessage(locale,str);
}else{
retStr=MESSAGE_UITITLE_RES.getMessage(locale,str,args);
}
retStr=StringUtils.isEmpty(retStr) ? "" : retStr;
return retStr;
}
// 处理语言国际化
public static String disposeLanguageUititle(Locale locale,String str){
String retStr = "";
if (locale == null || StringUtils.isEmpty(str))
return retStr;
retStr = MESSAGE_UITITLE_RES.getMessage(locale, str);
retStr = StringUtils.isEmpty(retStr) ? "" : retStr;
return retStr;
}
// 处理语言国际化
public static String disposeLanguageGlobal(Locale locale,String str,Object [] args){
String retStr="";
if(locale == null || StringUtils.isEmpty(str))
return retStr;
if(args == null){
retStr=MESSAGE_GLOBAL_RES.getMessage(locale,str);
}else{
retStr=MESSAGE_GLOBAL_RES.getMessage(locale,str,args);
}
retStr=StringUtils.isEmpty(retStr) ? "" : retStr;
return retStr;
}
// 处理语言国际化
public static String disposeLanguageGlobal(Locale locale,String str){
String retStr = "";
if (locale == null || StringUtils.isEmpty(str))
return retStr;
retStr = MESSAGE_GLOBAL_RES.getMessage(locale, str);
retStr = StringUtils.isEmpty(retStr) ? "" : retStr;
return retStr;
}
// 处理语言国际化
public static String disposeLanguageMenu(Locale locale,String str,Object [] args){
String retStr="";
if(locale == null || StringUtils.isEmpty(str))
return retStr;
if(args == null){
retStr=MESSAGE_MENU_RES.getMessage(locale,str);
}else{
retStr=MESSAGE_MENU_RES.getMessage(locale,str,args);
}
retStr=StringUtils.isEmpty(retStr) ? "" : retStr;
return retStr;
}
// 处理语言国际化
public static String disposeLanguageMenu(Locale locale,String str){
String retStr = "";
if (locale == null || StringUtils.isEmpty(str))
return retStr;
retStr = MESSAGE_MENU_RES.getMessage(locale, str);
retStr = StringUtils.isEmpty(retStr) ? "" : retStr;
return retStr;
}
}
//===========================================================================================
例如:在JAVA源代码中处理国际化问题
ui.title.log.page.usercode=用户代码
Constants.disposeLanguageUititle(locale,"ui.title.log.page.usercode"))); //"用户代码"
四、处理JSP页面的国际化问题
ui.title.order.orderid=订单号
<bean:message key="ui.title.order.orderid" bundle="uititle"/>
<bean:message bundle="uititle" key="ui.title.order.orderid"> <!----></bean:message>
注:在标签 <bean:message 中的bundl属性的值是<message-resources parameter="resources.menutitle.UITitle" key='uititle'/>
中的 key值
<message-resources key="uititle" parameter="resources.menutitle.UITitle"></message-resources>
分享到:
相关推荐
公司的,来自不易,给分。谢谢!java国际化实现框架底层源码
java实现国际化中英文语言切换 java语言切换JSP国际化 java实现国际化中英文语言切换 java语言切换JSP国际化
java做的实现国际化的一个简单源码,供参考!
用Java写的一个国际化语言配置模块,可实现简单的国际化配置。
一个详细讲解JAVA_国际化程序实现的例子 希望可以帮助到你 。
java实现国际化I18N简单实例,没用任何框架.zip java实现国际化I18N简单实例,没用任何框架.zip
java国际化实例,内置源码,还有说明文档。源码包里有编译好的jar文件,已经可以执行,可以实现中文和英文界面的切换,无需要安装插件,调用系统资源,有需要的朋友们请下载吧。 个人体会:做项目时需要用到国际化的...
java国际化 里面含有代码 文档 以及实现的步骤 比较清楚明了
NULL 博文链接:https://yuyu456.iteye.com/blog/903505
程序类型: 源代码...
java程序实现国际化,解决乱码问题!这是实现的程序代码,稍后会上传配置文件
国际象棋java实现
本Demo使用配置文件实现java语言的国际化,没有过多的花哨,简易明了,稍微知道点java语言的同学都可以看得明白,有不明白的地方可随时留言,
这是利用java Annotation实现的菜单和工具栏国际化的实例,是《java学习脚印: 反射与注释(Annotation)》一文中综合实例的例子。博客参见:http://blog.csdn.net/wangdingqiaoit/article/details/20130539
软件的国际化:软件开发时,要使它能同时对世界不同地区和国家的访问,并针对不同地区和国家的访问,提供相应的、符合来访者阅读习惯的页面或数据。
这个代码实现了一个简单的多语言应用。首先,我们定义了三种语言的问候语,并使用一个Map来存储每种语言对应...这个例子展示了如何使用Java的国际化和本地化功能来实现多语言应用,可以提高程序的可移植性和用户体验。
实现国际化功能最直接的方法就是为每一个国家或地区的用户单独设计页面,但这样做工作量会很大,也不易维护和升级。为了解决这个问题,现在普遍的做法是将需要国际化的资源信息保存在资源文件中,并根据本地信息来...
国际象棋 java 实现 可视化界面.zip
SpringJDBCStruts实现产品列表;增加产品(上传图片),java国际化(拦截器)
java国际化 调用google apl实现翻译 缺点是第一次编译必须联网,优点是不需要手写资源文件