繁体中文
设为首页
加入收藏
当前位置:JSP技术首页 >> Java技巧及代码 >> ~~~用properties文件实现国际化与本地化的一个小例子~~~

~~~用properties文件实现国际化与本地化的一个小例子~~~

2004-10-01 08:26:10  作者:  来源:互联网  浏览次数:25  文字大小:【】【】【
简介:JSP源文件如下: <%@ page import="java.io.*" %> <%@ page import="java.util.*" %> <%@ page import="java.awt.*" %> <% String languageDefault = Loc...

JSP源文件如下:

<%@ page import="java.io.*" %>

<%@ page import="java.util.*" %>

<%@ page import="java.awt.*" %>

<%

String languageDefault = Locale.getDefault().getLanguage();

String countryDefault = Locale.getDefault().getCountry();

Locale defaultLocale = null;

String charset = null;

if (languageDefault == "en" || languageDefault.equals("en")){

defaultLocale = Locale.ENGLISH;

charset = "iso-8859-1";

}else if (countryDefault == "CN" || countryDefault.equals("CN")){

defaultLocale = Locale.SIMPLIFIED_CHINESE;

charset = "gb2312";

}else if (countryDefault == "TW" || countryDefault.equals("TW")){

defaultLocale = Locale.TRADITIONAL_CHINESE;

charset = "big5";

}else{

System.out.println("LanguageDefault not equals en.CountryDefault not equals TW or CN");

}

if (session.isNew()){

session.setAttribute("locale",defaultLocale);

session.setAttribute("charset",charset);

}else{

String language = request.getParameter("language");

if (language == null || language.equals(null)){

session.setAttribute("locale",defaultLocale);

session.setAttribute("charset",charset);

}else{

Locale locale = null;

if (language == "Locale.SIMPLIFIED_CHINESE" || language.equals( "Locale.SIMPLIFIED_CHINESE")){

locale = Locale.SIMPLIFIED_CHINESE;

charset = "gb2312";

}else if (language == "Locale.TRADITIONAL_CHINESE" || language.equals( "Locale.TRADITIONAL_CHINESE")){

locale = Locale.TRADITIONAL_CHINESE;

charset = "big5";

}else if (language == "Locale.ENGLISH" || language.equals( "Locale.ENGLISH")){

locale = Locale.ENGLISH;

charset = "iso-8859-1";

}

session.setAttribute("locale",locale);

session.setAttribute("charset",charset);

}

}

Locale locale = (Locale)session.getAttribute("locale");

ResourceBundle messagesBundle = ResourceBundle.getBundle("FullTextSearch.MessagesBundle",locale);

String localeCountry = locale.getCountry();

String localeLanguage = locale.getLanguage();

if(localeLanguage == "en"){

response.setContentType("text/html; charset=ISO8859-1 ");

}else if (localeCountry == "CN"){

response.setContentType("text/html; charset=gb2312");

}else if(localeCountry == "TW"){

response.setContentType("text/html; charset=big5");

}

%>

top

<%=messagesBundle.getString("simplifiedChinese")%> | <%=messagesBundle.getString("traditionalChinese")%> | <%=messagesBundle.getString("english")%>

<%=messagesBundle.getString("username")%>

属性文件如下(英文,简体中文,繁体中文,默认)(放在包FullTextSearch下面)

MessagesBundle_en.properties

username=administrator

simplifiedChinese=SimplifiedChinese

traditionalChinese=TraditionalChinese

english=English

MessagesBundle_zh_CN.properties

username=\u7cfb\u7edf\u7ba1\u7406\u5458

simplifiedChinese=\u7b80\u4f53\u4e2d\u6587

traditionalChinese=\u7e41\u4f53\u4e2d\u6587

english=\u82f1\u6587

MessagesBundle_zh_TW.properties

username=\u7cfb\u7d71\u7ba1\u7406\u54e1

simplifiedChinese=\u7c21\u9ad4\u4e2d\u6587

traditionalChinese=\u7e41\u9ad4\u4e2d\u6587

english=\u82f1\u6587

MessagesBundle.properties

username=administrator

simplifiedChinese=SimplifiedChinese

traditionalChinese=TraditionalChinese

english=English

备注:

汉字转换为ascii码用命令:native2ascii.exe

本程序可以正常运行~~~

责任编辑:admin
相关文章