多语言翻译

master
erzhongxmu 2022-10-15 19:53:32 +08:00
parent 0a946f4aa5
commit 777f467529
1 changed files with 325 additions and 309 deletions

View File

@ -1,149 +1,160 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@page import="org.jeecgframework.core.util.SysThemesUtil,org.jeecgframework.core.enums.SysThemesEnum"%> <%@page import="org.jeecgframework.core.util.SysThemesUtil,org.jeecgframework.core.enums.SysThemesEnum" %>
<%@include file="/context/mytags.jsp"%> <%@include file="/context/mytags.jsp" %>
<% <%
session.setAttribute("lang","zh-cn"); session.setAttribute("lang", "zh-cn");
SysThemesEnum sysTheme = SysThemesUtil.getSysTheme(request); SysThemesEnum sysTheme = SysThemesUtil.getSysTheme(request);
String lhgdialogTheme = SysThemesUtil.getLhgdialogTheme(sysTheme); String lhgdialogTheme = SysThemesUtil.getLhgdialogTheme(sysTheme);
%> %>
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
<head> <head>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<meta charset="utf-8" /> <meta charset="utf-8"/>
<title><t:mutiLang langKey="jeect.platform"/></title> <title><t:mutiLang langKey="jeect.platform"/></title>
<link rel="shortcut icon" href="images/favicon.ico"> <link rel="shortcut icon" href="images/favicon.ico">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"/>
<!-- bootstrap & fontawesome --> <!-- bootstrap & fontawesome -->
<link rel="stylesheet" href="plug-in/ace/css/bootstrap.css" /> <link rel="stylesheet" href="plug-in/ace/css/bootstrap.css"/>
<link rel="stylesheet" href="plug-in/ace/css/font-awesome.css" /> <link rel="stylesheet" href="plug-in/ace/css/font-awesome.css"/>
<link rel="stylesheet" type="text/css" href="plug-in/accordion/css/accordion.css"> <link rel="stylesheet" type="text/css" href="plug-in/accordion/css/accordion.css">
<!-- text fonts --> <!-- text fonts -->
<link rel="stylesheet" href="plug-in/ace/css/ace-fonts.css" /> <link rel="stylesheet" href="plug-in/ace/css/ace-fonts.css"/>
<link rel="stylesheet" href="plug-in/ace/css/jquery-ui.css" /> <link rel="stylesheet" href="plug-in/ace/css/jquery-ui.css"/>
<!-- ace styles --> <!-- ace styles -->
<link rel="stylesheet" href="plug-in/ace/css/ace.css" class="ace-main-stylesheet" id="main-ace-style" /> <link rel="stylesheet" href="plug-in/ace/css/ace.css" class="ace-main-stylesheet" id="main-ace-style"/>
<!--[if lte IE 9]> <!--[if lte IE 9]>
<link rel="stylesheet" href="plug-in/ace/css/ace-part2.css" class="ace-main-stylesheet" /> <link rel="stylesheet" href="plug-in/ace/css/ace-part2.css" class="ace-main-stylesheet"/>
<![endif]--> <![endif]-->
<!--[if lte IE 9]> <!--[if lte IE 9]>
<link rel="stylesheet" href="plug-in/ace/css/ace-ie.css" /> <link rel="stylesheet" href="plug-in/ace/css/ace-ie.css"/>
<![endif]--> <![endif]-->
<!-- ace settings handler --> <!-- ace settings handler -->
<script src="plug-in/ace/js/ace-extra.js"></script> <script src="plug-in/ace/js/ace-extra.js"></script>
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries --> <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lte IE 8]> <!--[if lte IE 8]>
<script src="plug-in/ace/js/html5shiv.js"></script> <script src="plug-in/ace/js/html5shiv.js"></script>
<script src="plug-in/ace/js/respond.js"></script> <script src="plug-in/ace/js/respond.js"></script>
<![endif]--> <![endif]-->
</head> </head>
<body class="login-layout light-login"> <body class="login-layout light-login">
<div class="main-container"> <div class="main-container">
<div class="main-content"> <div class="main-content">
<div class="row"> <div class="row">
<div class="col-sm-10 col-sm-offset-1"> <div class="col-sm-10 col-sm-offset-1">
<div class="login-container"> <div class="login-container">
<div class="center"> <div class="center">
<h1 id="id-text2" class="grey"> <h1 id="id-text2" class="grey">
<!-- <i class="ace-icon fa fa-leaf green"></i> --> <!-- <i class="ace-icon fa fa-leaf green"></i> -->
<t:mutiLang langKey="com.sysname"/> <t:mutiLang langKey="com.sysname"/>
</h1> </h1>
<!-- <h4 class="blue" id="id-company-text">www.zzjee.org</h4> --> <!-- <h4 class="blue" id="id-company-text">www.zzjee.org</h4> -->
</div> </div>
<div class="space-6"></div> <div class="space-6"></div>
<div class="position-relative"> <div class="position-relative">
<div id="login-box" class="login-box visible widget-box no-border"> <div id="login-box" class="login-box visible widget-box no-border">
<div class="widget-body"> <div class="widget-body">
<form id="loinForm" class="form-horizontal" check="loginController.do?checkuser" role="form" action="loginController.do?login" method="post"> <form id="loinForm" class="form-horizontal" check="loginController.do?checkuser"
<div class="widget-main"> role="form" action="loginController.do?login" method="post">
<div class="alert alert-warning alert-dismissible" role="alert" id="errMsgContiner"> <div class="widget-main">
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button> <div class="alert alert-warning alert-dismissible" role="alert"
<div id="showErrMsg"></div> id="errMsgContiner">
</div> <button type="button" class="close" data-dismiss="alert" aria-label="Close">
<h4 class="header blue lighter bigger"> <span aria-hidden="true">&times;</span></button>
<i class="ace-icon fa fa-coffee green"></i> <div id="showErrMsg"></div>
<t:mutiLang langKey="login.info"/> </div>
<h4 class="header blue lighter bigger">
<i class="ace-icon fa fa-coffee green"></i>
<t:mutiLang langKey="login.info"/>
</h4> </h4>
<div class="space-6"></div> <div class="space-6"></div>
<label class="block clearfix"> <label class="block clearfix">
<span class="block input-icon input-icon-right"> <span class="block input-icon input-icon-right">
<input type="text" name="userName" class="form-control" id="userName" value="admin"/> <input type="text" name="userName" class="form-control" id="userName"
value="admin"/>
<i class="ace-icon fa fa-user"></i> <i class="ace-icon fa fa-user"></i>
</span> </span>
</label> </label>
<label class="block clearfix"> <label class="block clearfix">
<span class="block input-icon input-icon-right"> <span class="block input-icon input-icon-right">
<input type="password" name="password" class="form-control" id="password" value="llg123"/> <input type="password" name="password" class="form-control" id="password"
value="llg123"/>
<i class="ace-icon fa fa-lock"></i> <i class="ace-icon fa fa-lock"></i>
</span> </span>
</label> </label>
<label class="block clearfix"> <label class="block clearfix">
<div class="input-group"> <div class="input-group">
<input type="text" style="width:150px" name="randCode" class="form-control" id="randCode"/> <input type="text" style="width:150px" name="randCode"
<span class="input-group-addon" style="padding: 0px;"><img id="randCodeImage" src="randCodeImage" /></span> class="form-control" id="randCode"/>
</div> <span class="input-group-addon" style="padding: 0px;"><img
</label> id="randCodeImage" src="randCodeImage"/></span>
<div class="space"></div> </div>
<div class="clearfix"> </label>
<label class="inline"> <div class="space"></div>
<input type="checkbox" class="ace" id="on_off" name="remember" value="yes"/> <div class="clearfix">
<span class="lbl"> <label class="inline">
<input type="checkbox" class="ace" id="on_off" name="remember"
value="yes"/>
<span class="lbl">
<t:mutiLang langKey="login.saveusername"/> <t:mutiLang langKey="login.saveusername"/>
</span> </span>
</label> </label>
<button type="button" id="but_login" onclick="checkUser()" class="width-35 pull-right btn btn-sm btn-primary"> <button type="button" id="but_login" onclick="checkUser()"
<i class="ace-icon fa fa-key"></i> class="width-35 pull-right btn btn-sm btn-primary">
<span class="bigger-110" > <i class="ace-icon fa fa-key"></i>
<span class="bigger-110">
<t:mutiLang langKey="login.login"/> <t:mutiLang langKey="login.login"/>
</span> </span>
</button> </button>
</div> </div>
<div class="space-4"></div> <div class="space-4"></div>
</div>
<div class="toolbar clearfix">
<div style="float: right">
<a href="#" class="forgot-password-link">
语言
<i class="ace-icon fa fa-arrow-right"></i>
<t:dictSelect id="langCode" field="langCode" typeGroupCode="lang"
hasLabel="false"
extendJson="{style:'padding:2px; width:80px;'}"
defaultVal="zh-cn"></t:dictSelect>
</a>
</div>
</div>
</form>
</div>
</div>
<%-- <div class="center"><h4 class="blue" id="id-company-text">&copy; 本系统未在任何平台出售源码版权归jeewms所有如果需要服务请联系13850081872</h4></div>--%>
<div class="navbar-fixed-top align-right">
<br/>
&nbsp;
<a id="btn-login-dark" class="blue" href="#" onclick="darkStyle()">Dark</a>
&nbsp;
<span class="blue">/</span>
&nbsp;
<a id="btn-login-blur" class="blue" href="#" onclick="blurStyle()">Blur</a>
&nbsp;
<span class="blue">/</span>
&nbsp;
<a id="btn-login-light" class="blue" href="#" onclick="lightStyle()">Light</a>
&nbsp; &nbsp; &nbsp;
</div>
</div>
</div> </div>
<div class="toolbar clearfix">
<div style="float: right">
<a href="#" class="forgot-password-link">
语言
<i class="ace-icon fa fa-arrow-right"></i>
<t:dictSelect id="langCode" field="langCode" typeGroupCode="lang" hasLabel="false" extendJson="{style:'padding:2px; width:80px;'}" defaultVal="zh-cn"></t:dictSelect>
</a>
</div>
</div>
</form>
</div>
</div> </div>
<%-- <div class="center"><h4 class="blue" id="id-company-text">&copy; 本系统未在任何平台出售源码版权归jeewms所有如果需要服务请联系13850081872</h4></div>--%>
<div class="navbar-fixed-top align-right">
<br />
&nbsp;
<a id="btn-login-dark" class="blue" href="#" onclick="darkStyle()">Dark</a>
&nbsp;
<span class="blue">/</span>
&nbsp;
<a id="btn-login-blur" class="blue" href="#" onclick="blurStyle()">Blur</a>
&nbsp;
<span class="blue">/</span>
&nbsp;
<a id="btn-login-light" class="blue" href="#" onclick="lightStyle()">Light</a>
&nbsp; &nbsp; &nbsp;
</div>
</div>
</div>
</div>
</div> </div>
</div>
</div> </div>
</div>
<script type="text/javascript" src="plug-in/jquery/jquery-1.8.3.min.js"></script> <script type="text/javascript" src="plug-in/jquery/jquery-1.8.3.min.js"></script>
@ -154,209 +165,214 @@
<script type="text/javascript" src="plug-in/login/js/iphone.check.js"></script> <script type="text/javascript" src="plug-in/login/js/iphone.check.js"></script>
<script type="text/javascript" src="plug-in/login/js/login.js"></script> <script type="text/javascript" src="plug-in/login/js/login.js"></script>
<script type="text/javascript"> <script type="text/javascript">
$(function(){ $(function () {
optErrMsg(); optErrMsg();
});
$("#errMsgContiner").hide();
function optErrMsg(){
$("#showErrMsg").html('');
$("#errMsgContiner").hide();
}
//输入验证码,回车登录
$(document).keydown(function(e){
if(e.keyCode == 13) {
$("#but_login").click();
}
});
//验证用户信息
function checkUser(){
if(!validForm()){
return false;
}
newLogin();
}
//表单验证
function validForm(){
if($.trim($("#userName").val()).length==0){
showErrorMsg("请输入用户名");
return false;
}
if($.trim($("#password").val()).length==0){
showErrorMsg("请输入密码");
return false;
}
if($.trim($("#randCode").val()).length==0){
showErrorMsg("请输入验证码");
return false;
}
return true;
}
//登录处理函数
function newLogin(orgId) {
setCookie();
var actionurl=$('form').attr('action');//提交路径
var checkurl=$('form').attr('check');//验证路径
var formData = new Object();
var data=$(":input").each(function() {
formData[this.name] =$("#"+this.name ).val();
}); });
formData['orgId'] = orgId ? orgId : ""; $("#errMsgContiner").hide();
//语言
formData['langCode']=$("#langCode").val();
formData['langCode'] = $("#langCode option:selected").val();
$.ajax({
async : false,
cache : false,
type : 'POST',
url : checkurl,// 请求的action路径
data : formData,
error : function() {// 请求失败处理函数
},
success : function(data) {
var d = $.parseJSON(data);
if (d.success) {
if (d.attributes.orgNum > 1) {
//用户拥有多个部门,需选择部门进行登录
var title, okButton;
if($("#langCode").val() == 'en') {
title = "Please select Org";
okButton = "Ok";
} else {
title = "请选择组织机构";
okButton = "确定";
}
$.dialog({
id: 'LHG1976D',
title: title,
max: false,
min: false,
drag: false,
resize: false,
content: 'url:userController.do?userOrgSelect&userId=' + d.attributes.user.id,
lock:true,
button : [ {
name : okButton,
focus : true,
callback : function() {
iframe = this.iframe.contentWindow;
var orgId = $('#orgId', iframe.document).val();
formData['orgId'] = orgId ? orgId : ""; function optErrMsg() {
$.ajax({ $("#showErrMsg").html('');
async : false, $("#errMsgContiner").hide();
cache : false, }
type : 'POST',
url : 'loginController.do?changeDefaultOrg',// 请求的action路径
data : formData,
error : function() {// 请求失败处理函数
},
success : function(data) {
window.location.href = actionurl;
}
});
this.close();
return false;
}
}],
close: function(){
setTimeout("window.location.href='"+actionurl+"'", 10);
}
});
} else {
window.location.href = actionurl;
}
} else {
showErrorMsg(d.msg);
if(d.msg === "用户名或密码错误" || d.msg === "验证码错误")
reloadRandCodeImage();
//输入验证码,回车登录
$(document).keydown(function (e) {
if (e.keyCode == 13) {
$("#but_login").click();
} }
}
}); });
}
//登录提示消息显示
function showErrorMsg(msg){
$("#errMsgContiner").show();
$("#showErrMsg").html(msg);
window.setTimeout(optErrMsg,3000);
}
/**
* 刷新验证码
*/
$('#randCodeImage').click(function(){
reloadRandCodeImage();
});
function reloadRandCodeImage() {
var date = new Date();
var img = document.getElementById("randCodeImage");
img.src='randCodeImage?a=' + date.getTime();
}
function darkStyle(){ //验证用户信息
$('body').attr('class', 'login-layout'); function checkUser() {
$('#id-text2').attr('class', 'red'); if (!validForm()) {
$('#id-company-text').attr('class', 'blue'); return false;
e.preventDefault(); }
} newLogin();
function lightStyle(){ }
$('body').attr('class', 'login-layout light-login');
$('#id-text2').attr('class', 'grey');
$('#id-company-text').attr('class', 'blue');
e.preventDefault(); //表单验证
} function validForm() {
function blurStyle(){ if ($.trim($("#userName").val()).length == 0) {
$('body').attr('class', 'login-layout blur-login'); showErrorMsg("请输入用户名");
$('#id-text2').attr('class', 'white'); return false;
$('#id-company-text').attr('class', 'light-blue'); }
e.preventDefault(); if ($.trim($("#password").val()).length == 0) {
} showErrorMsg("请输入密码");
//设置cookie return false;
function setCookie() }
{
if ($('#on_off').val() == '1') { if ($.trim($("#randCode").val()).length == 0) {
$("input[iscookie='true']").each(function() { showErrorMsg("请输入验证码");
$.cookie(this.name, $("#"+this.name).val(), "/",24); return false;
$.cookie("COOKIE_NAME","true", "/",24); }
}); return true;
} else { }
$("input[iscookie='true']").each(function() {
$.cookie(this.name,null); //登录处理函数
$.cookie("COOKIE_NAME",null); function newLogin(orgId) {
}); setCookie();
} var actionurl = $('form').attr('action');//提交路径
} var checkurl = $('form').attr('check');//验证路径
//读取cookie var formData = new Object();
function getCookie() var data = $(":input").each(function () {
{ formData[this.name] = $("#" + this.name).val();
var COOKIE_NAME=$.cookie("COOKIE_NAME"); });
if (COOKIE_NAME !=null) { formData['orgId'] = orgId ? orgId : "";
$("input[iscookie='true']").each(function() { //语言
$($("#"+this.name).val( $.cookie(this.name))); formData['langCode'] = $("#langCode").val();
if("admin" == $.cookie(this.name)) { formData['langCode'] = $("#langCode option:selected").val();
$("#randCode").focus(); $.ajax({
} else { async: false,
$("#password").val(""); cache: false,
$("#password").focus(); type: 'POST',
} url: checkurl,// 请求的action路径
}); data: formData,
$("#on_off").attr("checked", true); error: function () {// 请求失败处理函数
$("#on_off").val("1"); },
} success: function (data) {
else var d = $.parseJSON(data);
{ if (d.success) {
$("#on_off").attr("checked", false); if (d.attributes.orgNum > 1) {
$("#on_off").val("0"); //用户拥有多个部门,需选择部门进行登录
$("#randCode").focus(); var title, okButton;
} if ($("#langCode").val() == 'en') {
} title = "Please select Org";
okButton = "Ok";
} else {
title = "请选择组织机构";
okButton = "确定";
}
$.dialog({
id: 'LHG1976D',
title: title,
max: false,
min: false,
drag: false,
resize: false,
content: 'url:userController.do?userOrgSelect&userId=' + d.attributes.user.id,
lock: true,
button: [{
name: okButton,
focus: true,
callback: function () {
iframe = this.iframe.contentWindow;
var orgId = $('#orgId', iframe.document).val();
formData['orgId'] = orgId ? orgId : "";
$.ajax({
async: false,
cache: false,
type: 'POST',
url: 'loginController.do?changeDefaultOrg',// 请求的action路径
data: formData,
error: function () {// 请求失败处理函数
},
success: function (data) {
window.location.href = actionurl;
}
});
this.close();
return false;
}
}],
close: function () {
setTimeout("window.location.href='" + actionurl + "'", 10);
}
});
} else {
window.location.href = actionurl;
}
} else {
showErrorMsg(d.msg);
if (d.msg === "用户名或密码错误" || d.msg === "验证码错误")
reloadRandCodeImage();
}
}
});
}
//登录提示消息显示
function showErrorMsg(msg) {
$("#errMsgContiner").show();
$("#showErrMsg").html(msg);
window.setTimeout(optErrMsg, 3000);
}
/**
* 刷新验证码
*/
$('#randCodeImage').click(function () {
reloadRandCodeImage();
});
function reloadRandCodeImage() {
var date = new Date();
var img = document.getElementById("randCodeImage");
img.src = 'randCodeImage?a=' + date.getTime();
}
function darkStyle() {
$('body').attr('class', 'login-layout');
$('#id-text2').attr('class', 'red');
$('#id-company-text').attr('class', 'blue');
e.preventDefault();
}
function lightStyle() {
$('body').attr('class', 'login-layout light-login');
$('#id-text2').attr('class', 'grey');
$('#id-company-text').attr('class', 'blue');
e.preventDefault();
}
function blurStyle() {
$('body').attr('class', 'login-layout blur-login');
$('#id-text2').attr('class', 'white');
$('#id-company-text').attr('class', 'light-blue');
e.preventDefault();
}
//设置cookie
function setCookie() {
if ($('#on_off').val() == '1') {
$("input[iscookie='true']").each(function () {
$.cookie(this.name, $("#" + this.name).val(), "/", 24);
$.cookie("COOKIE_NAME", "true", "/", 24);
});
} else {
$("input[iscookie='true']").each(function () {
$.cookie(this.name, null);
$.cookie("COOKIE_NAME", null);
});
}
}
//读取cookie
function getCookie() {
var COOKIE_NAME = $.cookie("COOKIE_NAME");
if (COOKIE_NAME != null) {
$("input[iscookie='true']").each(function () {
$($("#" + this.name).val($.cookie(this.name)));
if ("admin" == $.cookie(this.name)) {
$("#randCode").focus();
} else {
$("#password").val("");
$("#password").focus();
}
});
$("#on_off").attr("checked", true);
$("#on_off").val("1");
} else {
$("#on_off").attr("checked", false);
$("#on_off").val("0");
$("#randCode").focus();
}
}
</script> </script>
<%=lhgdialogTheme %> <%=lhgdialogTheme %>
</body> </body>