增加系统国际化配置
This commit is contained in:
@@ -11,3 +11,4 @@ encoding//src/main/webapp/WEB-INF/tlds/fns.tld=UTF-8
|
||||
encoding//src/main/webapp/WEB-INF/views/letter/process/errorView.jsp=UTF-8
|
||||
encoding//src/main/webapp/static/common/jeesite.css=UTF-8
|
||||
encoding//src/test/java=UTF-8
|
||||
encoding/<project>=UTF-8
|
||||
|
||||
@@ -18,6 +18,8 @@ public class SysMenu extends BaseEntity<SysMenu>{
|
||||
private Long parentId;
|
||||
|
||||
private String parentIds;
|
||||
|
||||
private String code;
|
||||
|
||||
private String name;
|
||||
|
||||
@@ -249,5 +251,13 @@ public class SysMenu extends BaseEntity<SysMenu>{
|
||||
public void setParent(SysMenu parent) {
|
||||
this.parent = parent;
|
||||
}
|
||||
|
||||
public String getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public void setCode(String code) {
|
||||
this.code = code;
|
||||
}
|
||||
|
||||
}
|
||||
62
src/main/java/com/nis/web/controller/I18nController.java
Normal file
62
src/main/java/com/nis/web/controller/I18nController.java
Normal file
@@ -0,0 +1,62 @@
|
||||
package com.nis.web.controller;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
import org.springframework.web.servlet.i18n.CookieLocaleResolver;
|
||||
|
||||
/**
|
||||
* 国际化控制器
|
||||
*/
|
||||
@Controller
|
||||
@RequestMapping("/")
|
||||
public class I18nController {
|
||||
|
||||
@Autowired
|
||||
private CookieLocaleResolver resolver;
|
||||
|
||||
/**
|
||||
* 语言切换
|
||||
*/
|
||||
@RequestMapping("language")
|
||||
public ModelAndView language(HttpServletRequest request, HttpServletResponse response, String language) {
|
||||
language = language.toLowerCase();
|
||||
if (language == null || language.equals("")) {
|
||||
return new ModelAndView("redirect:/");
|
||||
} else {
|
||||
if (language.equals("zh_cn")) {
|
||||
resolver.setLocale(request, response, Locale.CHINA);
|
||||
} else if (language.equals("en")) {
|
||||
resolver.setLocale(request, response, Locale.ENGLISH);
|
||||
} else if(language.equals("ru")){
|
||||
Locale locale = new Locale("ru","RU");
|
||||
resolver.setLocale(request, response, locale);
|
||||
} else {
|
||||
resolver.setLocale(request, response, Locale.ENGLISH);
|
||||
}
|
||||
}
|
||||
|
||||
return new ModelAndView("redirect:/");
|
||||
}
|
||||
|
||||
/**
|
||||
* 演示一些消息
|
||||
*/
|
||||
@RequestMapping("something")
|
||||
public void something() {
|
||||
}
|
||||
|
||||
/**
|
||||
* 换页面
|
||||
*/
|
||||
@RequestMapping("welcome")
|
||||
public void welcome() {
|
||||
}
|
||||
|
||||
}
|
||||
@@ -6,6 +6,7 @@
|
||||
a.id,
|
||||
a.parent_id AS "parent.id",
|
||||
a.parent_ids,
|
||||
a.code,
|
||||
a.name,
|
||||
a.href,
|
||||
a.target,
|
||||
@@ -68,6 +69,7 @@
|
||||
INSERT INTO sys_menu(
|
||||
parent_id,
|
||||
parent_ids,
|
||||
code,
|
||||
name,
|
||||
href,
|
||||
target,
|
||||
@@ -84,6 +86,7 @@
|
||||
) VALUES (
|
||||
#{parent.id},
|
||||
#{parentIds},
|
||||
#{code},
|
||||
#{name},
|
||||
#{href},
|
||||
#{target},
|
||||
@@ -104,6 +107,7 @@
|
||||
UPDATE sys_menu SET
|
||||
parent_id = #{parent.id},
|
||||
parent_ids = #{parentIds},
|
||||
code=#{code},
|
||||
name = #{name},
|
||||
href = #{href},
|
||||
target = #{target},
|
||||
|
||||
21
src/main/resources/messages/message_en.properties
Normal file
21
src/main/resources/messages/message_en.properties
Normal file
@@ -0,0 +1,21 @@
|
||||
#menu and button info
|
||||
funMenu=function menu
|
||||
sysManage=system management
|
||||
sysAuthor=system authorization
|
||||
menuManage=menu management
|
||||
roleManage=role management
|
||||
dictManage=dictionary management
|
||||
basicManage=basic management
|
||||
areaManage=area management
|
||||
officeManage=office management
|
||||
userManage=user management
|
||||
notify=my notify
|
||||
help=help
|
||||
home=home
|
||||
panel=my panel
|
||||
userInfo=personal information
|
||||
updatePwd=update password
|
||||
show=show
|
||||
edit=edit
|
||||
hi=hi
|
||||
exit=exit
|
||||
21
src/main/resources/messages/message_ru.properties
Normal file
21
src/main/resources/messages/message_ru.properties
Normal file
@@ -0,0 +1,21 @@
|
||||
#menu and button info
|
||||
funMenu=function menu
|
||||
sysManage=system management
|
||||
sysAuthor=system authorization
|
||||
menuManage=menu management
|
||||
roleManage=role management
|
||||
dictManage=dictionary management
|
||||
basicManage=basic management
|
||||
areaManage=area management
|
||||
officeManage=office management
|
||||
userManage=user management
|
||||
notify=my notify
|
||||
help=help
|
||||
home=home
|
||||
panel=my panel
|
||||
userInfo=personal information
|
||||
updatePwd=update password
|
||||
show=show
|
||||
edit=edit
|
||||
hi=hi
|
||||
exit=exit
|
||||
21
src/main/resources/messages/message_zh_CN.properties
Normal file
21
src/main/resources/messages/message_zh_CN.properties
Normal file
@@ -0,0 +1,21 @@
|
||||
#menu and button info
|
||||
funMenu=\u529F\u80FD\u83DC\u5355
|
||||
sysManage=\u7CFB\u7EDF\u7BA1\u7406
|
||||
sysAuthor=\u7CFB\u7EDF\u6388\u6743
|
||||
menuManage=\u83DC\u5355\u7BA1\u7406
|
||||
roleManage=\u89D2\u8272\u7BA1\u7406
|
||||
dictManage=\u5B57\u5178\u7BA1\u7406
|
||||
basicManage=\u57FA\u672C\u7BA1\u7406
|
||||
areaManage=\u533A\u57DF\u7BA1\u7406
|
||||
officeManage=\u673A\u6784\u7BA1\u7406
|
||||
userManage=\u7528\u6237\u7BA1\u7406
|
||||
notify=\u6211\u7684\u540C\u5FD7
|
||||
help=\u5173\u4E8E\u5E2E\u52A9
|
||||
home=\u5B98\u65B9\u9996\u9875
|
||||
panel=\u6211\u7684\u9762\u677F
|
||||
userInfo=\u4E2A\u4EBA\u4FE1\u606F
|
||||
updatePwd=\u4FEE\u6539\u5BC6\u7801
|
||||
show=\u67E5\u770B
|
||||
edit=\u4FEE\u6539
|
||||
hi=\u4F60\u597D
|
||||
exit=\u9000\u51FA
|
||||
@@ -262,8 +262,18 @@
|
||||
<!--<property name="maxInMemorySize" value="1000"></property> -->
|
||||
</bean>
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- 配置国际化资源文件路径 -->
|
||||
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
|
||||
<property name="basename">
|
||||
<!-- 定义消息资源文件的相对路径 -->
|
||||
<value>messages/message</value>
|
||||
</property>
|
||||
</bean>
|
||||
<!-- 基于Cookie的本地化解析器 -->
|
||||
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.CookieLocaleResolver">
|
||||
<property name="cookieMaxAge" value="604800"/>
|
||||
<property name="defaultLocale" value="zh_CN"/>
|
||||
<property name="cookieName" value="Language"></property>
|
||||
</bean>
|
||||
|
||||
</beans>
|
||||
|
||||
@@ -5,5 +5,6 @@
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
|
||||
<%@ taglib prefix="fns" uri="/WEB-INF/tlds/fns.tld" %>
|
||||
<%@ taglib prefix="sys" tagdir="/WEB-INF/tags/sys" %>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
|
||||
<c:set var="ctx" value="${pageContext.request.contextPath}${fns:getStringProperty('adminPath','/nis')}"/>
|
||||
<c:set var="ctxStatic" value="${pageContext.request.contextPath}/static"/>
|
||||
|
||||
@@ -41,8 +41,8 @@ h3{color:#ffffff;margin:30px 0px 0px 10px;}
|
||||
<c:if test="${menu.href != null && menu.href != ''}" var="leafNodeFlag">
|
||||
<li>
|
||||
<a href="${ctx}${menu.href}" id="${menu.id}" target="mainFrame" class="${idxStatus.index eq 0 ? 'selected' : ''}">
|
||||
<img src="${ctxStatic}/images/${menu.icon}.png" title="${menu.name }" />
|
||||
<h2>${menu.name }</h2>
|
||||
<img src="${ctxStatic}/images/${menu.icon}.png" title="<spring:message code="${menu.code}"></spring:message>" />
|
||||
<h2><%-- ${menu.name } --%><spring:message code="${menu.code}"></spring:message></h2>
|
||||
</a>
|
||||
</li>
|
||||
</c:if>
|
||||
@@ -50,8 +50,10 @@ h3{color:#ffffff;margin:30px 0px 0px 10px;}
|
||||
<c:if test="${!leafNodeFlag }">
|
||||
<li>
|
||||
<a href="javascript:void(0);" id="${menu.id}" class="${idxStatus.index eq 0 ? 'selected' : ''}">
|
||||
<img src="${ctxStatic}/images/${menu.icon}.png" title="${menu.name}" />
|
||||
<h2>${menu.name}</h2>
|
||||
<img src="${ctxStatic}/images/${menu.icon}.png" title="<spring:message code="${menu.code}"></spring:message>" />
|
||||
<h2><%-- ${menu.name} --%>
|
||||
<spring:message code="${menu.code}"></spring:message>
|
||||
</h2>
|
||||
</a>
|
||||
</li>
|
||||
</c:if>
|
||||
@@ -66,20 +68,20 @@ h3{color:#ffffff;margin:30px 0px 0px 10px;}
|
||||
|
||||
<div class="topright">
|
||||
<ul>
|
||||
<li><a href="${pageContext.request.contextPath}/" title="访问网站主页"><i class="icon-home"></i> 首页</a></li>
|
||||
<li><a href="#"><i class="icon-question-sign"></i> 帮助</a></li>
|
||||
<li><a href="${pageContext.request.contextPath }/logout" title="退出登录"><i class="icon-signout"></i> 退出</a></li>
|
||||
<li><a href="${pageContext.request.contextPath}/" title="访问网站主页"><i class="icon-home"></i><spring:message code="home"></spring:message></a></li>
|
||||
<li><a href="#"><i class="icon-question-sign"></i> <spring:message code="help"></spring:message></a></li>
|
||||
<li><a href="${pageContext.request.contextPath }/logout" title="退出登录"><i class="icon-signout"></i> <spring:message code="exit"></spring:message></a></li>
|
||||
</ul>
|
||||
|
||||
<div class="user">
|
||||
|
||||
<ul class="nav pull-right">
|
||||
<li id="userInfo" class="dropdown">
|
||||
<a class="dropdown-toggle" data-toggle="dropdown" href="#" title="个人信息"><i class="icon-user"></i> 您好,${fns:getUser().name} <span id="notifyNum" class="label label-info hide"></span><b class="caret"></b></a>
|
||||
<a class="dropdown-toggle" data-toggle="dropdown" href="#" title="个人信息"><i class="icon-user"></i> <spring:message code="hi"></spring:message>,${fns:getUser().name} <span id="notifyNum" class="label label-info hide"></span><b class="caret"></b></a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a href="${ctx}/sys/user/info" target="mainFrame"><i class="icon-user"></i> 个人信息</a></li>
|
||||
<li><a href="${ctx}/sys/user/modifyPwd" target="mainFrame"><i class="icon-lock"></i> 修改密码</a></li>
|
||||
<li><a href="${ctx}oa/oaNotify/self" target="mainFrame"><i class="icon-bell"></i> 我的通知 <span id="notifyNum2" class="label label-info hide"></span></a></li>
|
||||
<li><a href="${ctx}/sys/user/info" target="mainFrame"><i class="icon-user"></i> <spring:message code="userInfo"></spring:message></a></li>
|
||||
<li><a href="${ctx}/sys/user/modifyPwd" target="mainFrame"><i class="icon-lock"></i> <spring:message code="updatePwd"></spring:message></a></li>
|
||||
<li><a href="${ctx}oa/oaNotify/self" target="mainFrame"><i class="icon-bell"></i> <spring:message code="notify"></spring:message> <span id="notifyNum2" class="label label-info hide"></span></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
@@ -93,6 +95,9 @@ h3{color:#ffffff;margin:30px 0px 0px 10px;}
|
||||
</c:forEach>
|
||||
|
||||
<li><a href="javascript:cookie('tabmode','${tabmode eq '1' ? '0' : '1'}');location=location.href">${tabmode eq '1' ? '关闭' : '开启'}页签模式</a></li>
|
||||
<li><a href="${pageContext.request.contextPath}/language?language=en">英语</a></li>
|
||||
<li><a href="${pageContext.request.contextPath}/language?language=zh_CN">中文</a></li>
|
||||
<li><a href="${pageContext.request.contextPath}/language?language=ru">俄文</a></li>
|
||||
</ul>
|
||||
<!--[if lte IE 6]><script type="text/javascript">$('#themeSwitch').hide();</script><![endif]-->
|
||||
</li>
|
||||
@@ -123,14 +128,20 @@ h3{color:#ffffff;margin:30px 0px 0px 10px;}
|
||||
<c:if test="${not empty menu.children }">
|
||||
|
||||
<div id="menu-${menu.id }" class="accordion ${idxStatus.index eq 0 ? '' : 'hide'}">
|
||||
<div class="lefttop"><span></span>${menu.name }</div>
|
||||
<div class="lefttop"><span></span><%-- ${menu.name } --%>
|
||||
<spring:message code="${menu.code}"></spring:message></div>
|
||||
<dl class="leftmenu">
|
||||
|
||||
<%-- <dd><div id="menu-0-0" class="title"><i class="icon-check" ></i>
|
||||
<a id="menu-81-70" data-id="70" data-name="国际化" href="${pageContext.request.contextPath}/something" target="mainFrame" jerichotabindex="0">示例</a>
|
||||
</div>
|
||||
</dd> --%>
|
||||
<c:forEach items="${menu.children}" var="secondMenu">
|
||||
<dd>
|
||||
<div id="menu-${menu.id }-${secondMenu.id}" class="title">
|
||||
<img src="${ctxStatic}/images/${secondMenu.icon}.png" title="${secondMenu.name }"/>
|
||||
<%-- <span class="${secondMenu.icon } icon-white"></span> --%>${secondMenu.name}
|
||||
<%-- <span class="${secondMenu.icon } icon-white"></span> --%>
|
||||
<%-- ${secondMenu.name} --%>
|
||||
<spring:message code="${secondMenu.code}"></spring:message>
|
||||
</div>
|
||||
<ul class="menuson">
|
||||
|
||||
@@ -141,7 +152,10 @@ h3{color:#ffffff;margin:30px 0px 0px 10px;}
|
||||
<li>
|
||||
<span class="${not empty thirdMenu.icon?thirdMenu.icon:'icon-hide'} icon-white"></span>
|
||||
<a id="menu-${menu.id }-${secondMenu.id}-${thirdMenu.id}" data-id="${thirdMenu.id}" data-name="${menu.name }-${secondMenu.name}-${thirdMenu.name}"
|
||||
href="${ctx}${thirdMenu.href}" target="mainFrame">${thirdMenu.name }<i></i></a>
|
||||
href="${ctx}${thirdMenu.href}" target="mainFrame">
|
||||
<%-- ${thirdMenu.name } --%>
|
||||
<spring:message code="${thirdMenu.code}"></spring:message>
|
||||
<i></i></a>
|
||||
</li>
|
||||
|
||||
</c:if>
|
||||
@@ -181,7 +195,9 @@ h3{color:#ffffff;margin:30px 0px 0px 10px;}
|
||||
<c:if test="${not empty secondMenu.href and secondMenu.quickAction ne 0}">
|
||||
<c:if test="${secondMenu.quickAction==1}">
|
||||
<li class="${secondMenu.menuBg }">
|
||||
<a href="javascript:void(0);" onclick="page_turn('${menu.id}'+'_'+'${secondMenu.id}')"> <i class="${secondMenu.icon }"></i> ${secondMenu.name }
|
||||
<a href="javascript:void(0);" onclick="page_turn('${menu.id}'+'_'+'${secondMenu.id}')"> <i class="${secondMenu.icon }"></i>
|
||||
<%-- ${secondMenu.name } --%>
|
||||
<spring:message code="${secondMenu.code}"></spring:message>
|
||||
<c:if test="${secondMenu.name eq '待办事项'}"><span id="notifyWorkedOption" class="label label-important hide"></span></c:if>
|
||||
</a>
|
||||
</li>
|
||||
@@ -189,7 +205,10 @@ h3{color:#ffffff;margin:30px 0px 0px 10px;}
|
||||
|
||||
<c:if test="${secondMenu.quickAction==2}">
|
||||
<li class="${secondMenu.menuBg } span3"> <a href="javascript:void(0);" onclick="page_turn('${menu.id}'+'_'+'${secondMenu.id}')">
|
||||
<i class="${secondMenu.icon }"></i> ${secondMenu.name } <c:if test="${secondMenu.name eq '待办事项'}"><span id="notifyWorkedOption" class="label label-important hide"></span></c:if></a> </li>
|
||||
<i class="${secondMenu.icon }"></i>
|
||||
<%-- ${secondMenu.name } --%>
|
||||
<spring:message code="${secondMenu.code}"></spring:message>
|
||||
<c:if test="${secondMenu.name eq '待办事项'}"><span id="notifyWorkedOption" class="label label-important hide"></span></c:if></a> </li>
|
||||
</c:if>
|
||||
</c:if>
|
||||
|
||||
@@ -197,7 +216,9 @@ h3{color:#ffffff;margin:30px 0px 0px 10px;}
|
||||
<c:if test="${not empty thirdMenu.href and thirdMenu.quickAction ne 0}">
|
||||
<c:if test="${thirdMenu.quickAction==1}">
|
||||
<li class="${thirdMenu.menuBg }">
|
||||
<a href="javascript:void(0);" onclick="page_turn('${menu.id}'+'_'+'${secondMenu.id}'+'_'+'${thirdMenu.id}')"> <i class="${thirdMenu.icon }"></i> ${thirdMenu.name }
|
||||
<a href="javascript:void(0);" onclick="page_turn('${menu.id}'+'_'+'${secondMenu.id}'+'_'+'${thirdMenu.id}')">
|
||||
<i class="${thirdMenu.icon }"></i><%-- ${thirdMenu.name } --%>
|
||||
<spring:message code="${thirdMenu.code}"></spring:message>
|
||||
<c:if test="${thirdMenu.name eq '待办事项'}"><span id="notifyWorkedOption" class="label label-important hide"></span></c:if>
|
||||
</a>
|
||||
</li>
|
||||
@@ -205,7 +226,9 @@ h3{color:#ffffff;margin:30px 0px 0px 10px;}
|
||||
|
||||
<c:if test="${thirdMenu.quickAction==2}">
|
||||
<li class="${thirdMenu.menuBg } span3">
|
||||
<a href="javascript:void(0);" onclick="page_turn('${menu.id}'+'_'+'${secondMenu.id}'+'_'+'${thirdMenu.id}')"> <i class="${thirdMenu.icon }"></i> ${thirdMenu.name }
|
||||
<a href="javascript:void(0);" onclick="page_turn('${menu.id}'+'_'+'${secondMenu.id}'+'_'+'${thirdMenu.id}')"> <i class="${thirdMenu.icon }"></i>
|
||||
<%-- ${thirdMenu.name } --%>
|
||||
<spring:message code="${thirdMenu.code}"></spring:message>
|
||||
<c:if test="${thirdMenu.name eq '待办事项'}"><span id="notifyWorkedOption" class="label label-important hide"></span></c:if>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
Reference in New Issue
Block a user