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编码,它支持互相转换,处理和显示现在世界上用不同语言写的文本。
查看全文
相关阅读:
vue 基础补充
正则
vue 指令
函数式编程FP 初探
.? ?? es2020
vue alfont scss
网络安全靶场通关指南
Java 程序设计——站内短信系统
Java 程序设计——登录系统
动态规划法解找零钱问题
原文地址:https://www.cnblogs.com/eflylab/p/622149.html
最新文章
Java中的Double类型计算
Java获得泛型的Class类型
如何在springboot优雅的使用枚举
mybatis 中使用枚举
libc.so.6被删后导致系统无法使用的原因及解决方法
mysql临时表和内存表的使用(讲的好)
ABP框架—从项目下载到运行详细讲解
常用的SQL语句
每日进度总结67
PreparedStatement的用法
热门文章
Java 判断字符串是否为空
每周进度总结19
每日进度总结66
每日进度总结65
交流会
每日进度总结64
每日进度总结63
vue 导出word
computed and watch
链表题目
Copyright © 2011-2022 走看看