zoukankan
html css js c++ java
国际化问题
在这里面使用JSP来利用property文件应用的一个能显示多国语言的页面,
仅一个JSP和4个properties配置文件
<%
@ 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.equals(
"
Locale.SIMPLIFIED_CHINESE
"
) || language.equals(
"
Locale.SIMPLIFIED_CHINESE
"
)){
locale
=
Locale.SIMPLIFIED_CHINESE;
charset
=
"
gb2312
"
;
}
else
if
(language.equals(
"
Locale.TRADITIONAL_CHINESE
"
) || language.equals(
"
Locale.TRADITIONAL_CHINESE
"
)){
locale
=
Locale.TRADITIONAL_CHINESE;
charset
=
"
big5
"
;
}
else
if
(language.equals(
"
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(
"
propertyFiles/uni_property
"
,locale);
//
资源文件放在propertyFiles包下
String
localeCountry
=
locale.getCountry();
String
localeLanguage
=
locale.getLanguage();
System.out.println(
"
locale:
"
+
locale.toString());
System.out.println(
"
localeCountry:
"
+
localeCountry);
System.out.println(
"
localeLanguage:
"
+
localeLanguage);
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
"
);
}
%>
<
html
>
<
head
>
<
meta
name
="GENERATOR"
content
="Microsoft FrontPage 4.0"
>
<
meta
name
="ProgId"
content
="FrontPage.Editor.Document"
>
<
title
>
Internationzational by propery file
</
title
>
<
base
target
="contents"
>
</
head
>
<
body
>
<
table
border
="0"
width
="796"
style
="font-size: 10pt"
cellspacing
="0"
cellpadding
="0"
height
="60"
>
<
tr
rowspan
=5
><
td
colspan
=3
>
</
td
></
tr
>
<
tr
rowspan
=5
><
td
colspan
=3
>
</
td
></
tr
>
<
tr
>
<
td
width
="196"
height
="68"
></
td
>
<
td
width
="470"
height
="64"
>
<
p
align
="center"
><
a
href
="#"
onclick
="href='uni_property.jsp?language=Locale.SIMPLIFIED_CHINESE'"
>
<%
=
messagesBundle.getString(
"
simplifiedChinese
"
)
%>
</
a
>
|
<
a
href
="#"
onclick
="href='uni_property.jsp?language=Locale.TRADITIONAL_CHINESE'"
>
<%
=
messagesBundle.getString(
"
traditionalChinese
"
)
%>
</
a
>
|
<
a
href
="#"
onclick
="href='uni_property.jsp?language=Locale.ENGLISH'"
>
<%
=
messagesBundle.getString(
"
english
"
)
%>
</
a
></
td
>
<
td
width
="130"
height
="56"
>
<
p
align
="center"
>
<%
=
messagesBundle.getString(
"
username
"
)
%>
</
td
>
</
tr
>
</
table
>
</
body
>
</
html
>
四个资源文件如下
#uni_property.properties
username=JSP Developer
simplifiedChinese=SimplifiedChinese
traditionalChinese=TraditionalChinese
english=English
#uni_property_en.properties
username=JSP Developer
simplifiedChinese=SimplifiedChinese
traditionalChinese=TraditionalChinese
english=English
#uni_property_zh_CN.properties
username=JSP\u5f00\u53d1\u8005
simplifiedChinese=\u7b80\u4f53\u4e2d\u6587
traditionalChinese=\u7e41\u4f53\u4e2d\u6587
english=\u82f1\u6587
#uni_property_zh_TW.properties
username=JSP\u958b\u767c\u8005
simplifiedChinese=\u7c21\u9ad4\u4e2d\u6587
traditionalChinese=\u7e41\u9ad4\u4e2d\u6587
english=\u82f1\u6587
在同连接上单击会出现不同语言界面,另外需要注意的是
ResourceBundle messagesBundle
=
ResourceBundle.getBundle(
"
propertyFiles/uni_property
"
,locale);
//
资源文件放在propertyFiles包下
该方法查找的起始位置为默认的包,也就是没有名字的包,我们这里放属性文件放在propertyFiles包下,所以为propertyFiles/
另外在属性文件中使用的是Unicode编码,它支持互相转换,处理和显示现在世界上用不同语言写的文本。
查看全文
相关阅读:
不在折腾---hbase-0.96.2-hadoop2
不在折腾---hive-0.13.1-bin
不在折腾---storm-0.9.2-incubating分布式安装
zookeeper的zoo.cfg的配置
Linux常用命令
不在折腾----zookeeper-3.4.5
VMware克隆后,网卡若干问题
防火墙基础技术-02
JavaScript email格式校验
js透明按钮图片滑动切换焦点图
原文地址:https://www.cnblogs.com/eflylab/p/622149.html
最新文章
原型模式
工厂方法模式
代理模式
装饰模式
策略模式
简单工厂模式
面向对象基础
java六个地方都可以保存数据
django-中间件
django-cooki与sessione
热门文章
forms组件
django-分页器
django-批量插入数据
django-Ajax
django-F与Q查询
django-ORM
django-模板层
django-视图函数
开源社区国内镜像
不在折腾----hadoop-2.4.1完全分布式集群搭建
Copyright © 2011-2022 走看看