1
0
Pārlūkot izejas kodu

多语言成绩分析

ting.yin 4 gadi atpakaļ
vecāks
revīzija
f1e81465ae

+ 8 - 8
stmms-web/src/main/webapp/WEB-INF/views/modules/exam/examIndex.jsp

@@ -44,7 +44,7 @@
 	<div id="main">
 		<div id="header" class="navbar navbar-fixed-top">
 	      <div class="navbar-inner">
-	      	 <div class="brand">云阅卷</div>
+	      	 <div class="brand" data-i18n-text="head.title">云阅卷</div>
 	         <div class="nav-collapse">
 	           <%-- <ul id="menu" class="nav">
 				 <c:set var="firstMenu" value="true"/>
@@ -70,7 +70,7 @@
 				      <li><a href="${ctx}/admin/account/modifyPwd" target="mainFrame"><i class="icon-lock"></i>&nbsp; 修改密码</a></li>
 				    </ul>
 			  	 </li>
-			  	 <li><a href="${ctx}/logout" title="退出登录">退出</a></li>
+			  	 <li><a href="${ctx}/logout" title="退出登录" data-i18n-text="head.logout">退出</a></li>
 			  	 <li>&nbsp;</li>
 	           </ul>
 	         </div><!--/.nav-collapse -->
@@ -88,18 +88,18 @@
 									<div class="accordion-inner">
 										<ul class="nav nav-list">
 										    <c:if test="${web_user.schoolAdmin==true}">
-										    <li><a href="${ctx}/admin/user/list" target="mainFrame" ><i class="icon-user"></i>用户管理</a></li>
+										    <li><a href="${ctx}/admin/user/list" target="mainFrame" ><i class="icon-user"></i>用户管理</a></li> 
 											<li><a href="${ctx}/admin/exam-list" target="mainFrame" ><i class="icon-th-list"></i>考试管理</a></li>	
-											<li><a href="${ctx}/admin/exam/student" target="mainFrame" ><i class="icon-user"></i>考生管理</a></li>
+ 											<li><a href="${ctx}/admin/exam/student" target="mainFrame" ><i class="icon-user"></i>考生管理</a></li>
 											<li><a href="${ctx}/admin/exam/paper" target="mainFrame" ><i class="icon-book"></i>试卷管理</a></li>
 											<li><a href="${ctx}/admin/exam/scan" target="mainFrame" ><i class="icon-print"></i>扫描进度</a></li>
 											<li><a href="${ctx}/admin/exam/mark" target="mainFrame" ><i class="icon-pencil"></i>评卷管理</a></li>
 											<li><a href="${ctx}/admin/exam/score" target="mainFrame" ><i class="icon-search"></i>成绩查询</a></li>
-											<li><a href="${ctx}/admin/exam/problem/history" target="mainFrame" ><i class="icon-tag"></i>问题试卷</a></li>	
-                                            <li><a href="${ctx}/admin/exam/reportSubject" target="mainFrame" ><i class="icon-signal"></i>总量分析</a></li>
-                                            <li><a href="${ctx}/admin/exam/reportSubjectCollege" target="mainFrame" ><i class="icon-asterisk"></i>科目分析</a></li>       
+											<li><a href="${ctx}/admin/exam/problem/history" target="mainFrame" ><i class="icon-tag"></i>问题试卷</a></li>	 
+                                            <li><a href="${ctx}/admin/exam/reportSubject" target="mainFrame" ><i class="icon-signal"></i><span data-i18n-text="index.report.total">总量分析</span></a></li>
+                                            <li><a href="${ctx}/admin/exam/reportSubjectCollege" target="mainFrame" ><i class="icon-asterisk"></i><span data-i18n-text="index.report.subject">科目分析</span></a></li>       
 											<li><a href="${ctx}/admin/exam/check/answer" target="mainFrame" ><i class="icon-check"></i>数据检查</a></li>			
-											<li><a href="${ctx}/admin/operation/log" target="mainFrame" ><i class="icon-tasks"></i>操作日志</a></li>			
+											<li><a href="${ctx}/admin/operation/log" target="mainFrame" ><i class="icon-tasks"></i>操作日志</a></li>	 	
 											</c:if>
 											
 											<c:if test="${web_user.subjectHeader==true}">

+ 14 - 15
stmms-web/src/main/webapp/WEB-INF/views/modules/report/reportSubject.jsp

@@ -11,40 +11,39 @@
 </head>
 <body>
 	<ul class="nav nav-tabs">
-		<li class="active"><a href="${ctx}/admin/exam/reportSubject">课程总量统计</a></li>
+		<li class="active"><a href="${ctx}/admin/exam/reportSubject" data-i18n-text="report.subject">课程总量统计</a></li>
 	</ul>
 	<form id="searchForm" action="${ctx}/admin/exam/reportSubject" method="post" class="breadcrumb form-search">
 	    <input type="hidden" id="pageNumber" name="pageNumber" value="${query.pageNumber }"/>
 	    <input type="hidden" id="pageSize" name="pageSize" value="${query.pageSize }"/>
 	    <div>
-	        <label>科目</label>
+	        <label data-i18n-text="report.subject.name">科目</label>
 	        <select class="input-large" id="subjectCode" name="subjectCode">
-	            <option value="">请选择</option>
 	            <c:forEach items="${subjectList }" var="subject">
 	                <option value="${subject.code }"
 	                        <c:if test="${query.subjectCode eq subject.code }">selected</c:if>>${subject.code}-${subject.name}</option>
 	            </c:forEach>
 	        </select>
 			&nbsp;
-	        <input id="btnSubmit" class="btn btn-primary" type="button" value="查询" onclick="goSearch()"/>
+	        <input id="btnSubmit" class="btn btn-primary" type="button" value="查询" onclick="goSearch()" data-i18n-value="report.subject.search"/>
 	        &nbsp;
-			<input id="export-button" class="btn" type="button" value="导出"/>
+			<input id="export-button" class="btn" type="button" value="导出" data-i18n-value="report.subject.export"/>
 	    </div>
 	</form>
 	<tags:message content="${message}"/>
 	<table id="contentTable" class="table table-striped table-bordered table-condensed">
 		<thead>
 			<tr>
-				<th>课程</th>
-				<th>报考人数</th>
-				<th>缺考</th>
-				<th>违纪</th>
-				<th>有效人数</th>
-				<th>平均分</th>
-				<th>最高分</th>
-				<th>最低分</th>
-				<th>及格人数</th>
-				<th>及格率</th>
+				<th data-i18n-text="report.subject.name">课程</th>
+				<th data-i18n-text="report.subject.totalCount">报考人数</th>
+				<th data-i18n-text="report.subject.absentCount">缺考</th>
+				<th data-i18n-text="report.subject.breachCount">违纪</th>
+				<th data-i18n-text="report.subject.realityCount">有效人数</th>
+				<th data-i18n-text="report.subject.avgScore">平均分</th>
+				<th data-i18n-text="report.subject.maxScore">最高分</th>
+				<th data-i18n-text="report.subject.minScore">最低分</th>
+				<th data-i18n-text="report.subject.passCount">及格人数</th>
+				<th data-i18n-text="report.subject.passRate">及格率</th>
 			</tr>
 		</thead>
 		<tbody>

+ 31 - 29
stmms-web/src/main/webapp/WEB-INF/views/modules/report/reportSubjectClass.jsp

@@ -16,50 +16,48 @@
 </head>
 <body>
 <ul class="nav nav-tabs">
-
-    <li><a href="${ctx}/admin/exam/reportSubjectCollege?subjectCode=${query.subjectCode}">学院分析</a></li>
-    <li><a href="${ctx}/admin/exam/reportSubjectTeacher?subjectCode=${query.subjectCode}">任课老师分析</a></li>
-    <li class="active"><a href="${ctx}/admin/exam/reportSubjectClass?subjectCode=${query.subjectCode}">班级分析</a></li>
-    <li><a href="${ctx}/admin/exam/reportSubjectQuestion?subjectCode=${query.subjectCode}&objective=true">客观题分析</a>
+    <li><a href="${ctx}/admin/exam/reportSubjectCollege?subjectCode=${query.subjectCode}" data-i18n-text="report.college">学院分析</a></li>
+    <li><a href="${ctx}/admin/exam/reportSubjectTeacher?subjectCode=${query.subjectCode}" data-i18n-text="report.teacher">任课老师分析</a></li>
+    <li class="active"><a href="${ctx}/admin/exam/reportSubjectClass?subjectCode=${query.subjectCode}" data-i18n-text="report.class">班级分析</a></li>
+    <li><a href="${ctx}/admin/exam/reportSubjectQuestion?subjectCode=${query.subjectCode}&objective=true" data-i18n-text="report.question.objective">客观题分析</a>
     </li>
-    <li><a href="${ctx}/admin/exam/reportSubjectQuestion?subjectCode=${query.subjectCode}&objective=false">主观题分析</a>
+    <li><a href="${ctx}/admin/exam/reportSubjectQuestion?subjectCode=${query.subjectCode}&objective=false" data-i18n-text="report.question.subjective">主观题分析</a>
     </li>
-    <li><a href="${ctx}/admin/exam/reportSubjectGroup?subjectCode=${query.subjectCode}">大题统计分析</a></li>
+    <li><a href="${ctx}/admin/exam/reportSubjectGroup?subjectCode=${query.subjectCode}" data-i18n-text="report.group">大题统计分析</a></li>
 </ul>
 <form id="searchForm" action="${ctx}/admin/exam/reportSubjectClass" method="post" class="breadcrumb form-search">
 	    <input type="hidden" id="pageNumber" name="pageNumber" value="${query.pageNumber }"/>
 	    <input type="hidden" id="pageSize" name="pageSize" value="${query.pageSize }"/>
     <div>
-        <label>科目:</label>
+        <label data-i18n-text="report.class.subject">科目:</label>
         <select class="input-large" id="subjectCode" name="subjectCode">
-            <option value="">请选择</option>
             <c:forEach items="${subjectList }" var="subject">
                 <option value="${subject.code }"
                         <c:if test="${query.subjectCode eq subject.code }">selected</c:if>>${subject.code}-${subject.name}</option>
             </c:forEach>
         </select>
-        <label>班级:</label>
+        <label data-i18n-text="report.class.name">班级:</label>
         <input type="text" name="className" value="${query.className}" maxlength="10" class="input-small"/>
         &nbsp;
-        <input id="btnSubmit" class="btn btn-primary" type="button" value="查询" onclick="goSearch()"/>
+        <input id="btnSubmit" class="btn btn-primary" type="button" value="查询" onclick="goSearch()" data-i18n-value="report.class.search"/>
         &nbsp;
-		<input id="export-button" class="btn" type="button" value="导出"/>
+		<input id="export-button" class="btn" type="button" value="导出" data-i18n-value="report.class.export"/>
 		 &nbsp;
-        <input class="btn btn-primary" type="button" value="查看统计图" onclick="viewClassEcharts()"/>
+        <input class="btn btn-primary" type="button" value="查看统计图" onclick="viewClassEcharts()" data-i18n-value="report.class.chart"/>
     </div>
 </form>
 <tags:message content="${message}"/>
 <table id="contentTable" class="table table-striped table-bordered table-condensed">
     <thead>
     <tr>
-        <th>班级</th>
-        <th>平均分</th>
-        <th>最高分</th>
-        <th>最低分</th>
-        <th>及格数</th>
-        <th>及格率</th>
-        <th>优秀数</th>
-        <th>优秀率</th>
+        <th data-i18n-text="report.class.name">班级</th>
+        <th data-i18n-text="report.class.avgScore">平均分</th>
+        <th data-i18n-text="report.class.maxScore">最高分</th>
+        <th data-i18n-text="report.class.minScore">最低分</th>
+        <th data-i18n-text="report.class.passCount">及格数</th>
+        <th data-i18n-text="report.class.passRate">及格率</th>
+        <th data-i18n-text="report.class.excellentCount">优秀数</th>
+        <th data-i18n-text="report.class.excellentRate">优秀率</th>
     </tr>
     </thead>
     <tbody>
@@ -116,7 +114,7 @@
         var imageModal = new jBox('Modal');
         imageModal.setWidth($(window).width() * 0.9);
         imageModal.setHeight($(window).height() * 0.85);
-        imageModal.setTitle('课程班级成绩分析');
+        imageModal.setTitle(getMessage("report.class"));
         imageModal.setContent($('#echart-view-content'));
         imageModal.open();
 
@@ -125,12 +123,16 @@
         // 指定图表的配置项和数据
         var option = {
             title: {
-                text: '课程班级成绩分析'
+                text: getMessage("report.class")
                 // textAlign:'center'
             },
             tooltip: {},
             legend: {
-                data: ['平均分','最高分','最低分','及格率','优秀率']
+                data: [getMessage("report.class.avgScore"),
+                       getMessage("report.class.maxScore"),
+                       getMessage("report.class.minScore"),
+                       getMessage("report.class.passRate"),
+                       getMessage("report.class.excellentRate")]
             },
             toolbox: {
                 feature : {
@@ -162,24 +164,24 @@
                 }
             ],
             series: [{
-                name: '平均分',
+                name: getMessage("report.class.avgScore"),
                 type: 'bar',
                 data: avgScores
             },{
-                name: '最高分',
+                name: getMessage("report.class.maxScore"),
                 type: 'bar',
                 data: maxScores
             },{
-                name: '最低分',
+                name: getMessage("report.class.minScore"),
                 type: 'bar',
                 data: minScores
             },{
-                name: '及格率',
+                name: getMessage("report.class.passRate"),
                 type: 'line',
                 yAxisIndex : 1,
                 data: passRates
             },{
-                name: '优秀率',
+                name: getMessage("report.class.excellentRate"),
                 type: 'line',
                 yAxisIndex : 1,
                 data: excellentRates

+ 31 - 29
stmms-web/src/main/webapp/WEB-INF/views/modules/report/reportSubjectCollege.jsp

@@ -16,52 +16,50 @@
 </head>
 <body>
 <ul class="nav nav-tabs">
-
-    <li class="active"><a href="${ctx}/admin/exam/reportSubjectCollege?subjectCode=${query.subjectCode}">学院分析</a>
+    <li class="active"><a href="${ctx}/admin/exam/reportSubjectCollege?subjectCode=${query.subjectCode}" data-i18n-text="report.college">学院分析</a>
     </li>
-    <li><a href="${ctx}/admin/exam/reportSubjectTeacher?subjectCode=${query.subjectCode}">任课老师分析</a>
+    <li><a href="${ctx}/admin/exam/reportSubjectTeacher?subjectCode=${query.subjectCode}" data-i18n-text="report.teacher">任课老师分析</a>
     </li>
-    <li><a href="${ctx}/admin/exam/reportSubjectClass?subjectCode=${query.subjectCode}">班级分析</a></li>
-    <li><a href="${ctx}/admin/exam/reportSubjectQuestion?subjectCode=${query.subjectCode}&objective=true">客观题分析</a>
+    <li><a href="${ctx}/admin/exam/reportSubjectClass?subjectCode=${query.subjectCode}" data-i18n-text="report.class">班级分析</a></li>
+    <li><a href="${ctx}/admin/exam/reportSubjectQuestion?subjectCode=${query.subjectCode}&objective=true" data-i18n-text="report.question.objective">客观题分析</a>
     </li>
-    <li><a href="${ctx}/admin/exam/reportSubjectQuestion?subjectCode=${query.subjectCode}&objective=false">主观题分析</a>
+    <li><a href="${ctx}/admin/exam/reportSubjectQuestion?subjectCode=${query.subjectCode}&objective=false" data-i18n-text="report.question.subjective">主观题分析</a>
     </li>
-    <li><a href="${ctx}/admin/exam/reportSubjectGroup?subjectCode=${query.subjectCode}">大题统计分析</a></li>
+    <li><a href="${ctx}/admin/exam/reportSubjectGroup?subjectCode=${query.subjectCode}" data-i18n-text="report.group">大题统计分析</a></li>
 </ul>
 <form id="searchForm" action="${ctx}/admin/exam/reportSubjectCollege" method="post" class="breadcrumb form-search">
 	    <input type="hidden" id="pageNumber" name="pageNumber" value="${query.pageNumber }"/>
 	    <input type="hidden" id="pageSize" name="pageSize" value="${query.pageSize }"/>
     <div>
-        <label>科目:</label>
-        <select class="input-large" id="subjectCode" name="subjectCode">
-            <option value="">请选择</option>
+        <label data-i18n-text="report.college.subject">科目:</label>
+        <select class="input-large" id="subjectCode" name="subjectCode" >
             <c:forEach items="${subjectList }" var="subject">
                 <option value="${subject.code }"
                         <c:if test="${query.subjectCode eq subject.code }">selected</c:if>>${subject.code}-${subject.name}</option>
             </c:forEach>
         </select>
         &nbsp;
-        <label>学院:</label>
+        <label data-i18n-text="report.college.name">学院:</label>
         <input type="text" name="collegeName" value="${query.collegeName}" maxlength="10" class="input-small"/>
         &nbsp;
-        <input id="btnSubmit" class="btn btn-primary" type="button" value="查询" onclick="goSearch()"/>
+        <input id="btnSubmit" class="btn btn-primary" type="button" value="查询" onclick="goSearch()" data-i18n-value="report.college.search"/>
          &nbsp;
-		<input id="export-button" class="btn" type="button" value="导出"/>
+		<input id="export-button" class="btn" type="button" value="导出" data-i18n-value="report.college.export"/>
 		 &nbsp;
-        <input class="btn btn-primary" type="button" value="查看统计图" onclick="viewCollegeEcharts()"/>
+        <input class="btn btn-primary" type="button" value="查看统计图" onclick="viewCollegeEcharts()" data-i18n-value="report.college.chart"/>
     </div>
 </form>
 <tags:message content="${message}"/>
 <table id="contentTable" class="table table-striped table-bordered table-condensed">
     <thead>
     <tr>
-        <th>学生院系</th>
-        <th>平均分</th>
-        <th>最高分</th>
-        <th>最低分</th>
-        <th>及格数</th>
-        <th>及格率</th>
-        <th>优秀率</th>
+        <th data-i18n-text="report.college.name">学生院系</th>
+        <th data-i18n-text="report.college.avgScore">平均分</th>
+        <th data-i18n-text="report.college.maxScore">最高分</th>
+        <th data-i18n-text="report.college.minScore">最低分</th>
+        <th data-i18n-text="report.college.passCount">及格数</th>
+        <th data-i18n-text="report.college.passRate">及格率</th>
+        <th data-i18n-text="report.college.excellentRate">优秀率</th>
     </tr>
     </thead>
     <tbody>
@@ -126,7 +124,7 @@ $("#export-button").click(function(){
         var imageModal = new jBox('Modal');
         imageModal.setWidth($(window).width() * 0.9);
         imageModal.setHeight($(window).height() * 0.85);
-        imageModal.setTitle('课程学院成绩分析');
+        imageModal.setTitle(getMessage("report.college"));
         imageModal.setContent($('#echart-view-content'));
         imageModal.open();
 
@@ -135,12 +133,16 @@ $("#export-button").click(function(){
         // 指定图表的配置项和数据
         var option = {
             title: {
-                text: '学院成绩分析'
+                text: getMessage("report.college")
                 // textAlign:'center'
             },
             tooltip: {},
             legend: {
-                data: ['平均分','最高分','最低分','优秀率','及格率']
+                data: [getMessage("report.college.avgScore"),
+                       getMessage("report.college.maxScore"),
+                       getMessage("report.college.minScore"),
+                       getMessage("report.college.excellentRate"),
+                       getMessage("report.college.passRate")]
             },
             toolbox: {
                 feature : {
@@ -169,23 +171,23 @@ $("#export-button").click(function(){
                 }
             ],
             series: [{
-                name: '平均分',
+                name: getMessage("report.college.avgScore"),
                 type: 'bar',
                 data: avgScores
             },{
-                name: '最高分',
+                name: getMessage("report.college.maxScore"),
                 type: 'bar',
                 data: maxScores
             },{
-                name: '最低分',
+                name: getMessage("report.college.minScore"),
                 type: 'bar',
                 data: minScores
             },{
-                name: '优秀率',
+                name: getMessage("report.college.excellentRate"),
                 type: 'line',
                 data: excellentRates
             },{
-                name: '及格率',
+                name: getMessage("report.college.passRate"),
                 type: 'line',
                 data: passRates
             }]

+ 35 - 32
stmms-web/src/main/webapp/WEB-INF/views/modules/report/reportSubjectGroup.jsp

@@ -14,23 +14,22 @@
         cursor: pointer;
     }</style>
 </head>
-<body>
 <ul class="nav nav-tabs">
-
-    <li><a href="${ctx}/admin/exam/reportSubjectCollege?subjectCode=${query.subjectCode}">学院分析</a></li>
-    <li><a href="${ctx}/admin/exam/reportSubjectTeacher?subjectCode=${query.subjectCode}">任课老师分析</a></li>
-    <li><a href="${ctx}/admin/exam/reportSubjectClass?subjectCode=${query.subjectCode}">班级分析</a></li>
-    <li><a href="${ctx}/admin/exam/reportSubjectQuestion?subjectCode=${query.subjectCode}&objective=true">客观题分析</a>
+    <li><a href="${ctx}/admin/exam/reportSubjectCollege?subjectCode=${query.subjectCode}" data-i18n-text="report.college">学院分析</a>
+    </li>
+    <li><a href="${ctx}/admin/exam/reportSubjectTeacher?subjectCode=${query.subjectCode}" data-i18n-text="report.teacher">任课老师分析</a>
+    </li>
+    <li><a href="${ctx}/admin/exam/reportSubjectClass?subjectCode=${query.subjectCode}" data-i18n-text="report.class">班级分析</a></li>
+    <li><a href="${ctx}/admin/exam/reportSubjectQuestion?subjectCode=${query.subjectCode}&objective=true" data-i18n-text="report.question.objective">客观题分析</a>
     </li>
-    <li><a href="${ctx}/admin/exam/reportSubjectQuestion?subjectCode=${query.subjectCode}&objective=false">主观题分析</a>
+    <li><a href="${ctx}/admin/exam/reportSubjectQuestion?subjectCode=${query.subjectCode}&objective=false" data-i18n-text="report.question.subjective">主观题分析</a>
     </li>
-    <li class="active"><a href="${ctx}/admin/exam/reportSubjectGroup?subjectCode=${query.subjectCode}">大题统计分析</a></li>
+    <li class="active"><a href="${ctx}/admin/exam/reportSubjectGroup?subjectCode=${query.subjectCode}" data-i18n-text="report.group">大题统计分析</a></li>
 </ul>
 <form id="searchForm" action="${ctx}/admin/exam/reportSubjectGroup" method="post" class="breadcrumb form-search">
     <div>
-        <label>科目:</label>
+        <label  data-i18n-text="report.group.subject">科目:</label>
         <select class="input-large" id="subject-select" name="subjectCode">
-            <option value="">请选择</option>
             <c:forEach items="${subjectList }" var="subject">
                 <option value="${subject.code }"
                         <c:if test="${query.subjectCode eq subject.code }">selected</c:if>>${subject.code}-${subject.name}</option>
@@ -40,28 +39,28 @@
 <!--             <select class="input-medium" id="group-select" name="groupNumber"> -->
 <!--             </select> -->
         &nbsp;
-        <input id="btnSubmit" class="btn btn-primary" type="button" value="查询" onclick="goSearch()"/>
+        <input id="btnSubmit" class="btn btn-primary" type="button" value="查询" onclick="goSearch()"  data-i18n-value="report.group.search"/>
 		&nbsp;
-		<input id="export-button" class="btn" type="button" value="导出"/>
+		<input id="export-button" class="btn" type="button" value="导出"  data-i18n-value="report.group.export"/>
 		 &nbsp;
-        <input class="btn btn-primary" type="button" value="查看统计图" onclick="viewGroupEcharts()"/>
+        <input class="btn btn-primary" type="button" value="查看统计图" onclick="viewGroupEcharts()"  data-i18n-value="report.group.chart"/>
     </div>
 </form>
 <tags:message content="${message}"/>
 <table id="contentTable" class="table table-striped table-bordered table-condensed">
     <thead>
     <tr>
-        <th>大题</th>
-        <th>题号</th>
-        <th>满分</th>
-        <th>最高分</th>
-        <th>最低分</th>
-        <th>平均分</th>
-        <th>标准差</th>
-        <th>差异系数(%)</th>
-        <th>得分率</th>
-        <th>零分人数</th>
-        <th>满分人数</th>
+        <th data-i18n-text="report.group.name">大题</th>
+        <th data-i18n-text="report.group.number">题号</th>
+        <th data-i18n-text="report.group.totalScore">满分</th>
+        <th data-i18n-text="report.group.maxScore">最高分</th>
+        <th data-i18n-text="report.group.minScore">最低分</th>
+        <th data-i18n-text="report.group.avgScore">平均分</th>
+        <th data-i18n-text="report.group.stdev">标准差</th>
+        <th data-i18n-text="report.group.coefficient">差异系数(%)</th>
+        <th data-i18n-text="report.group.scoreRate">得分率</th>
+        <th data-i18n-text="report.group.zeroCount">零分人数</th>
+        <th data-i18n-text="report.group.fullCount">满分人数</th>
     </tr>
     </thead>
     <tbody>
@@ -153,7 +152,7 @@ $('#subject-select').trigger('change');
         var imageModal = new jBox('Modal');
         imageModal.setWidth($(window).width() * 0.9);
         imageModal.setHeight($(window).height() * 0.85);
-        imageModal.setTitle('大题型分析');
+        imageModal.setTitle(getMessage("report.group"));
         imageModal.setContent($('#echart-view-content'));
         imageModal.open();
 
@@ -162,12 +161,16 @@ $('#subject-select').trigger('change');
         // 指定图表的配置项和数据
         var option = {
             title: {
-                text: '大题型分析'
+                text: getMessage("report.group")
                 // textAlign:'center'
             },
             tooltip: {},
             legend: {
-                data: ['满分', '最高分', '最低分', '平均分', '标准差']
+                data: [ getMessage("report.group.totalScore"),
+                       getMessage("report.group.maxScore"),
+                       getMessage("report.group.minScore"), 
+                       getMessage("report.group.avgScore"), 
+                       getMessage("report.group.stdev")]
             },
             toolbox: {
                 feature : {
@@ -199,24 +202,24 @@ $('#subject-select').trigger('change');
                 }
             ],
             series: [{
-                name: '满分',
+                name: getMessage("report.group.totalScore"),
                 type: 'bar',
                 data: fullScores
             }, {
-                name: '最高分',
+                name: getMessage("report.group.maxScore"),
                 type: 'bar',
                 yAxisIndex: 1,
                 data: maxScores
             }, {
-                name: '最低分',
+                name: getMessage("report.group.minScore"),
                 type: 'bar',
                 data: minScores
             }, {
-                name: '平均分',
+                name: getMessage("report.group.avgScore"),
                 type: 'line',
                 data: avgScores
             }, {
-                name: '标准差',
+                name: getMessage("report.group.stdev"),
                 type: 'line',
                 yAxisIndex: 1,
                 data: sds

+ 29 - 28
stmms-web/src/main/webapp/WEB-INF/views/modules/report/reportSubjectQuestion.jsp

@@ -17,32 +17,31 @@
 <body>
 <ul class="nav nav-tabs">
 
-    <li><a href="${ctx}/admin/exam/reportSubjectCollege?subjectCode=${query.subjectCode}">学院分析</a></li>
-    <li><a href="${ctx}/admin/exam/reportSubjectTeacher?subjectCode=${query.subjectCode}">任课老师分析</a></li>
-    <li><a href="${ctx}/admin/exam/reportSubjectClass?subjectCode=${query.subjectCode}">班级分析</a></li>
+    <li><a href="${ctx}/admin/exam/reportSubjectCollege?subjectCode=${query.subjectCode}" data-i18n-text="report.college">学院分析</a></li>
+    <li><a href="${ctx}/admin/exam/reportSubjectTeacher?subjectCode=${query.subjectCode}" data-i18n-text="report.teacher">任课老师分析</a></li>
+    <li><a href="${ctx}/admin/exam/reportSubjectClass?subjectCode=${query.subjectCode}" data-i18n-text="report.class">班级分析</a></li>
     <li id="objectiveLi"><a
-            href="${ctx}/admin/exam/reportSubjectQuestion?subjectCode=${query.subjectCode}&objective=true">客观题分析</a>
+            href="${ctx}/admin/exam/reportSubjectQuestion?subjectCode=${query.subjectCode}&objective=true" data-i18n-text="report.question.objective">客观题分析</a>
     </li>
     <li id="subjectiveLi"><a
-            href="${ctx}/admin/exam/reportSubjectQuestion?subjectCode=${query.subjectCode}&objective=false">主观题分析</a>
+            href="${ctx}/admin/exam/reportSubjectQuestion?subjectCode=${query.subjectCode}&objective=false" data-i18n-text="report.question.subjective">主观题分析</a>
     </li>
-    <li><a href="${ctx}/admin/exam/reportSubjectGroup?subjectCode=${query.subjectCode}">大题统计分析</a></li>
+    <li><a href="${ctx}/admin/exam/reportSubjectGroup?subjectCode=${query.subjectCode}" data-i18n-text="report.group">大题统计分析</a></li>
 </ul>
 <form id="searchForm" action="${ctx}/admin/exam/reportSubjectQuestion" method="post" class="breadcrumb form-search">
     <input id="objective" name="objective" value="${query.objective}" type="hidden"/>
     <div>
-        <label>科目:</label>
+        <label data-i18n-text="report.question.subject">科目:</label>
         <select class="input-large" id="subjectCode" name="subjectCode">
-            <option value="">请选择</option>
             <c:forEach items="${subjectList }" var="subject">
                 <option value="${subject.code }"
                         <c:if test="${query.subjectCode eq subject.code }">selected</c:if>>${subject.code}-${subject.name}</option>
             </c:forEach>
         </select>
         <c:if test="${query.objective}">
-        <label>卷型:</label>
+        <label data-i18n-text="report.question.paperType">卷型:</label>
         <select class="input-large" id="type-select" name="paperType">
-            <option value="">请选择</option>
+            <option value=""  data-i18n-text="report.question.select">请选择</option>
             <c:forEach items="${typeList }" var="paperType">
                 <option value="${paperType}"
                         <c:if test="${query.paperType eq paperType }">selected</c:if>>${paperType}</option>
@@ -50,11 +49,11 @@
         </select>
         </c:if>
         &nbsp;
-        <input id="btnSubmit" class="btn btn-primary" type="button" value="查询" onclick="goSearch()"/>		
+        <input id="btnSubmit" class="btn btn-primary" type="button" value="查询" onclick="goSearch()"  data-i18n-value="report.question.search"/>		
         &nbsp;
-		<input id="export-button" class="btn" type="button" value="导出"/>
+		<input id="export-button" class="btn" type="button" value="导出"  data-i18n-value="report.question.export"/>
 		 &nbsp;
-        <input class="btn btn-primary" type="button" value="查看统计图" onclick="viewQuestionEcharts()"/>
+        <input class="btn btn-primary" type="button" value="查看统计图" onclick="viewQuestionEcharts()" data-i18n-value="report.question.chart"/>
 
     </div>
 </form>
@@ -62,16 +61,16 @@
 <table id="contentTable" class="table table-striped table-bordered table-condensed">
     <thead>
     <tr>
-        <th>题目名称</th>
-        <th>大题号</th>
-        <th>小题号</th>
-        <th>单题分数</th>
-        <th>单题平均分</th>
-        <th>单题标准差</th>
-        <th>得分率</th>
-        <th>满分率</th>
+        <th data-i18n-text="report.question.name">题目名称</th>
+        <th data-i18n-text="report.question.mainNumber">大题号</th>
+        <th data-i18n-text="report.question.subNumber">小题号</th>
+        <th data-i18n-text="report.question.score">单题分数</th>
+        <th data-i18n-text="report.question.avgScore">单题平均分</th>
+        <th data-i18n-text="report.question.stdev">单题标准差</th>
+        <th data-i18n-text="report.question.scoreRate">得分率</th>
+        <th data-i18n-text="report.question.fullScoreRate">满分率</th>
 		<c:if test="${query.objective}">
-        <th>试卷类型</th>
+        <th data-i18n-text="report.question.paperType">试卷类型</th>
         </c:if>
     </tr>
     </thead>
@@ -165,7 +164,7 @@ $("#export-button").click(function(){
         var imageModal = new jBox('Modal');
         imageModal.setWidth($(window).width() * 0.9);
         imageModal.setHeight($(window).height() * 0.85);
-        imageModal.setTitle(objective == 'true'?'客观题分析':'主观题分析');
+        imageModal.setTitle(objective == 'true'?getMessage("report.question.objective"):getMessage("report.question.subjective"));
         imageModal.setContent($('#echart-view-content'));
         imageModal.open();
 
@@ -174,12 +173,14 @@ $("#export-button").click(function(){
         // 指定图表的配置项和数据
         var option = {
             title: {
-                text: objective == 'true'?'客观题分析':'主观题分析'
+                text: objective == 'true'?getMessage("report.question.objective"):getMessage("report.question.subjective")
                 // textAlign:'center'
             },
             tooltip: {},
             legend: {
-                data: ['平均分','得分率','满分率']
+                data: [getMessage("report.question.avgScore"),
+                       getMessage("report.question.scoreRate"),
+                       getMessage("report.question.fullScoreRate")]
             },
             toolbox: {
                 feature : {
@@ -211,16 +212,16 @@ $("#export-button").click(function(){
                 }
             ],
             series: [{
-                name: '平均分',
+                name: getMessage("report.question.avgScore"),
                 type: 'bar',
                 data: avgScores
             },{
-                name: '得分率',
+                name: getMessage("report.question.scoreRate"),
                 type: 'line',
                 yAxisIndex : 1,
                 data: scoreRates
             },{
-                name: '满分率',
+                name: getMessage("report.question.fullScoreRate"),
                 type: 'line',
                 yAxisIndex : 1,
                 data: fullScoreRates

+ 10 - 11
stmms-web/src/main/webapp/WEB-INF/views/modules/report/reportSubjectRange.jsp

@@ -17,32 +17,31 @@
 </head>
 <body>
 <ul class="nav nav-tabs">
-    <li><a href="${ctx}/admin/exam/reportSubjectCollege?subjectCode=${query.subjectCode}">学院分析</a></li>
-    <li><a href="${ctx}/admin/exam/reportSubjectTeacher?subjectCode=${query.subjectCode}">任课老师分析</a></li>
-    <li><a href="${ctx}/admin/exam/reportSubjectClass?subjectCode=${query.subjectCode}">班级分析</a></li>
-    <li><a href="${ctx}/admin/exam/reportSubjectQuestion?subjectCode=${query.subjectCode}&objective=true">客观题分析</a>
+    <li><a href="${ctx}/admin/exam/reportSubjectCollege?subjectCode=${query.subjectCode}" data-i18n-text="report.college">学院分析</a></li>
+    <li><a href="${ctx}/admin/exam/reportSubjectTeacher?subjectCode=${query.subjectCode}" data-i18n-text="report.teacher">任课老师分析</a></li>
+    <li><a href="${ctx}/admin/exam/reportSubjectClass?subjectCode=${query.subjectCode}" data-i18n-text="report.class">班级分析</a></li>
+    <li><a href="${ctx}/admin/exam/reportSubjectQuestion?subjectCode=${query.subjectCode}&objective=true" data-i18n-text="report.question.objective">客观题分析</a>
     </li>
-    <li><a href="${ctx}/admin/exam/reportSubjectQuestion?subjectCode=${query.subjectCode}&objective=false">主观题分析</a>
+    <li><a href="${ctx}/admin/exam/reportSubjectQuestion?subjectCode=${query.subjectCode}&objective=false" data-i18n-text="report.question.subjective">主观题分析</a>
     </li>
-    <li><a href="${ctx}/admin/exam/reportSubjectGroup?subjectCode=${query.subjectCode}">大题统计分析</a></li>
+    <li><a href="${ctx}/admin/exam/reportSubjectGroup?subjectCode=${query.subjectCode}" data-i18n-text="report.group">大题统计分析</a></li>
     <li class="active"><a href="${ctx}/admin/exam/reportSubjectRange">分段统计</a></li>
 </ul>
 <form id="searchForm" action="${ctx}/admin/exam/reportSubjectRange" method="post" class="breadcrumb form-search">
     <input type="hidden" id="pageNumber" name="pageNumber" value="${query.pageNumber }"/>
     <input type="hidden" id="pageSize" name="pageSize" value="${query.pageSize }"/>
     <div>
-        <label>科目</label>
+        <label data-i18n-text="report.range.subject">科目</label>
         <select class="input-large" id="subjectCode" name="subjectCode">
-            <option value="">请选择</option>
             <c:forEach items="${subjectList }" var="subject">
                 <option value="${subject.code }"
                         <c:if test="${query.subjectCode eq subject.code }">selected</c:if>>${subject.code}-${subject.name}</option>
             </c:forEach>
         </select>
+		 &nbsp;
+        <input id="btnSubmit" class="btn btn-primary" type="button" value="查询" onclick="goSearch()"  data-i18n-value="report.group.search"/>
 		&nbsp;
-        <input id="btnSubmit" class="btn btn-primary" type="button" value="查询" onclick="goSearch()"/>
-        &nbsp;
-		<input id="export-button" class="btn" type="button" value="导出"/>
+		<input id="export-button" class="btn" type="button" value="导出"  data-i18n-value="report.group.export"/>
     </div>
 </form>
 <tags:message content="${message}"/>

+ 38 - 35
stmms-web/src/main/webapp/WEB-INF/views/modules/report/reportSubjectTeacher.jsp

@@ -16,53 +16,50 @@
 </head>
 <body>
 <ul class="nav nav-tabs">
-
-    <li><a href="${ctx}/admin/exam/reportSubjectCollege?subjectCode=${query.subjectCode}">学院分析</a></li>
-    <li class="active"><a href="${ctx}/admin/exam/reportSubjectTeacher?subjectCode=${query.subjectCode}">任课老师分析</a>
-    </li>
-    <li><a href="${ctx}/admin/exam/reportSubjectClass?subjectCode=${query.subjectCode}">班级分析</a></li>
-    <li><a href="${ctx}/admin/exam/reportSubjectQuestion?subjectCode=${query.subjectCode}&objective=true">客观题分析</a>
+    <li><a href="${ctx}/admin/exam/reportSubjectCollege?subjectCode=${query.subjectCode}" data-i18n-text="report.college">学院分析</a></li>
+    <li class="active"><a href="${ctx}/admin/exam/reportSubjectTeacher?subjectCode=${query.subjectCode}" data-i18n-text="report.teacher">任课老师分析</a></li>
+    <li><a href="${ctx}/admin/exam/reportSubjectClass?subjectCode=${query.subjectCode}" data-i18n-text="report.class">班级分析</a></li>
+    <li><a href="${ctx}/admin/exam/reportSubjectQuestion?subjectCode=${query.subjectCode}&objective=true" data-i18n-text="report.question.objective">客观题分析</a>
     </li>
-    <li><a href="${ctx}/admin/exam/reportSubjectQuestion?subjectCode=${query.subjectCode}&objective=false">主观题分析</a>
+    <li><a href="${ctx}/admin/exam/reportSubjectQuestion?subjectCode=${query.subjectCode}&objective=false" data-i18n-text="report.question.subjective">主观题分析</a>
     </li>
-    <li><a href="${ctx}/admin/exam/reportSubjectGroup?subjectCode=${query.subjectCode}">大题统计分析</a></li>
+    <li><a href="${ctx}/admin/exam/reportSubjectGroup?subjectCode=${query.subjectCode}" data-i18n-text="report.group">大题统计分析</a></li>
 </ul>
 <form id="searchForm" action="${ctx}/admin/exam/reportSubjectTeacher" method="post" class="breadcrumb form-search">
 	    <input type="hidden" id="pageNumber" name="pageNumber" value="${query.pageNumber }"/>
 	    <input type="hidden" id="pageSize" name="pageSize" value="${query.pageSize }"/>
     <div>
-        <label>科目:</label>
+        <label data-i18n-text="report.teacher.subject">科目:</label>
         <select class="input-large" id="subjectCode" name="subjectCode">
-            <option value="">请选择</option>
             <c:forEach items="${subjectList }" var="subject">
                 <option value="${subject.code }"
                         <c:if test="${query.subjectCode eq subject.code }">selected</c:if>>${subject.code}-${subject.name}</option>
             </c:forEach>
         </select>
-        <label>任课老师:</label>
+        <label data-i18n-text="report.teacher.name">任课老师:</label>
         <input type="text" name="teacherName"  id="teacherName" value="${query.teacherName}" maxlength="10" class="input-small"/>
-        &nbsp;
-        <input id="btnSubmit" class="btn btn-primary" type="button" value="查询" onclick="goSearch()"/>		
-        &nbsp;
-		<input id="export-button" class="btn" type="button" value="导出"/>
+       &nbsp;
+        <input id="btnSubmit" class="btn btn-primary" type="button" value="查询" onclick="goSearch()"  data-i18n-value="report.teacher.search"/>
+		&nbsp;
+		<input id="export-button" class="btn" type="button" value="导出"  data-i18n-value="report.teacher.export"/>
 		 &nbsp;
-        <input class="btn btn-primary" type="button" value="查看统计图" onclick="viewTeacherEcharts()"/>
+        <input class="btn btn-primary" type="button" value="查看统计图" onclick="viewTeacherEcharts()"  data-i18n-value="report.teacher.chart"/>
     </div>
 </form>
 <tags:message content="${message}"/>
 <table id="contentTable" class="table table-striped table-bordered table-condensed">
     <thead>
     <tr>
-        <th>任课老师</th>
-        <th>有效人数</th>
-        <th>及格</th>
-        <th>优秀</th>
-        <th>最高分</th>
-        <th>最低分</th>
-        <th>及格率</th>
-        <th>优秀率</th>
-        <th>平均分</th>
-        <th>平均相对分</th>
+        <th data-i18n-text="report.teacher.name">任课老师</th>
+        <th data-i18n-text="report.teacher.realityCount">有效人数</th>
+        <th data-i18n-text="report.teacher.passCount">及格</th>
+        <th data-i18n-text="report.teacher.excellentCount">优秀</th>
+        <th data-i18n-text="report.teacher.maxScore">最高分</th>
+        <th data-i18n-text="report.teacher.minScore">最低分</th>
+        <th data-i18n-text="report.teacher.passRate">及格率</th>
+        <th data-i18n-text="report.teacher.excellentRate">优秀率</th>
+        <th data-i18n-text="report.teacher.avgScore">平均分</th>
+        <th data-i18n-text="report.teacher.relativeAvgScore">平均相对分</th>
     </tr>
     </thead>
     <tbody>
@@ -136,7 +133,7 @@ $("#export-button").click(function(){
         var imageModal = new jBox('Modal');
         imageModal.setWidth($(window).width() * 0.9);
         imageModal.setHeight($(window).height() * 0.85);
-        imageModal.setTitle('任课老师成绩分析');
+        imageModal.setTitle(getMessage("report.teacher"));
         imageModal.setContent($('#echart-view-content'));
         imageModal.open();
 
@@ -145,12 +142,18 @@ $("#export-button").click(function(){
         // 指定图表的配置项和数据
         var option = {
             title: {
-                text: '任课老师成绩分析'
+                text: getMessage("report.teacher")
                 // textAlign:'center'
             },
             tooltip: {},
             legend: {
-                data: ['最高分','最低分','平均分','平均相对分','优秀率','及格率']
+                data: [getMessage("report.teacher.maxScore"),
+                       getMessage("report.teacher.minScore"),
+                       getMessage("report.teacher.avgScore"),
+                       getMessage("report.teacher.relativeAvgScore"),
+                       getMessage("report.teacher.passRate"),
+                       getMessage("report.teacher.excellentRate")
+                       ]
             },
             toolbox: {
                 feature : {
@@ -182,28 +185,28 @@ $("#export-button").click(function(){
                 }
             ],
             series: [{
-                name: '最高分',
+                name: getMessage("report.teacher.maxScore"),
                 type: 'bar',
                 data: maxScores
             },{
-                name: '最低分',
+                name: getMessage("report.teacher.minScore"),
                 type: 'bar',
                 data: minScores
             },{
-                name: '平均分',
+                name: getMessage("report.teacher.avgScore"),
                 type: 'bar',
                 data: avgScores
             },{
-                name: '平均相对分',
+                name: getMessage("report.teacher.relativeAvgScore"),
                 type: 'line',
                 yAxisIndex : 1,
                 data: relativeAvgScore
             },{
-                name: '及格率',
+                name: getMessage("report.teacher.passRate"),
                 type: 'line',
                 data: passRates
             },{
-                name: '优秀率',
+                name: getMessage("report.teacher.excellentRate"),
                 type: 'line',
                 data: excellentRates
             }]

+ 30 - 24
stmms-web/src/main/webapp/WEB-INF/views/modules/report/reportSubjectTeacherClass.jsp

@@ -16,31 +16,32 @@
 </head>
 <body>
 <ul class="nav nav-tabs">
-    <li class="active"><a href="#">任课老师班级分析</a></li>
+    <li class="active"><a href="#" data-i18n-text="report.teacher">任课老师班级分析</a></li>
 </ul>
 <form id="searchForm" action="${ctx}/admin/exam/reportSubjectTeacher" method="post" class="breadcrumb form-search">
 		<input type="hidden" id="teacherName" name="teacherName" value="${query.teacherName }"/>
-    &nbsp;&nbsp;科目:${subjectName}&nbsp;&nbsp;&nbsp;&nbsp;任课老师:${query.teacherName} &nbsp;&nbsp;
-    <a href="#" class="btn btn-primary" onclick="viewTeacherClassEcharts()"/>查看统计图</a>
+    &nbsp;&nbsp;科目:${subjectName}&nbsp;&nbsp;&nbsp;&nbsp;
+    <span data-i18n-text="report.teacher.name">任课老师</span>:${query.teacherName} &nbsp;&nbsp;
+    <a href="#" class="btn btn-primary" onclick="viewTeacherClassEcharts()" data-i18n-text="report.teacher.chart">查看统计图</a>
     &nbsp;
-	<input id="export-button" class="btn" type="button" value="导出"/>
+	<input id="export-button" class="btn" type="button" value="导出" data-i18n-value="report.teacher.export"/>
 	&nbsp;
-    <a href="${ctx}/admin/exam/reportSubjectTeacher?subjectCode=${query.subjectCode}" class="btn" />返回</a>
+    <a href="${ctx}/admin/exam/reportSubjectTeacher?subjectCode=${query.subjectCode}" class="btn" data-i18n-text="report.teacher.return">返回</a>
 </form>
 <tags:message content="${message}"/>
 <table id="contentTable" class="table table-striped table-bordered table-condensed">
     <thead>
     <tr>
-        <th>班级</th>
-        <th>有效人数</th>
-        <th>及格</th>
-        <th>优秀</th>
-        <th>最高分</th>
-        <th>最低分</th>
-        <th>及格率</th>
-        <th>优秀率</th>
-        <th>平均分</th>
-        <th>平均相对分</th>
+        <th data-i18n-text="report.class.name">班级</th>
+        <th data-i18n-text="report.teacher.realityCount">有效人数</th>
+        <th data-i18n-text="report.teacher.passCount">及格</th>
+        <th data-i18n-text="report.teacher.excellentCount">优秀</th>
+        <th data-i18n-text="report.teacher.maxScore">最高分</th>
+        <th data-i18n-text="report.teacher.minScore">最低分</th>
+        <th data-i18n-text="report.teacher.passRate">及格率</th>
+        <th data-i18n-text="report.teacher.excellentRate">优秀率</th>
+        <th data-i18n-text="report.teacher.avgScore">平均分</th>
+        <th data-i18n-text="report.teacher.relativeAvgScore">平均相对分</th>
     </tr>
     </thead>
     <tbody>
@@ -112,7 +113,7 @@ $("#export-button").click(function(){
         var imageModal = new jBox('Modal');
         imageModal.setWidth($(window).width() * 0.9);
         imageModal.setHeight($(window).height() * 0.85);
-        imageModal.setTitle('任课班级成绩分析');
+        imageModal.setTitle(getMessage("report.teacher"));
         imageModal.setContent($('#echart-view-content'));
         imageModal.open();
 
@@ -121,12 +122,17 @@ $("#export-button").click(function(){
         // 指定图表的配置项和数据
         var option = {
             title: {
-                text: '任课班级成绩分析'
+                text: getMessage("report.teacher")
                 // textAlign:'center'
             },
             tooltip: {},
             legend: {
-                data: ['最高分','最低分','平均分','平均相对分','优秀率','及格率']
+                data: [getMessage("report.teacher.maxScore"),
+                       getMessage("report.teacher.minScore"),
+                       getMessage("report.teacher.avgScore"),
+                       getMessage("report.teacher.relativeAvgScore"),
+                       getMessage("report.teacher.passRate"),
+                       getMessage("report.teacher.excellentRate")]
             },
         /*     dataZoom: [{
                 type: 'slider',
@@ -158,28 +164,28 @@ $("#export-button").click(function(){
                 }
             ],
             series: [{
-                name: '最高分',
+                name: getMessage("report.teacher.maxScore"),
                 type: 'bar',
                 data: maxScores
             },{
-                name: '最低分',
+                name: getMessage("report.teacher.minScore"),
                 type: 'bar',
                 data: minScores
             },{
-                name: '平均分',
+                name: getMessage("report.teacher.avgScore"),
                 type: 'bar',
                 data: avgScores
             },{
-                name: '平均相对分',
+                name: getMessage("report.teacher.relativeAvgScore"),
                 type: 'line',
                 yAxisIndex : 1,
                 data: relativeAvgScore
             },{
-                name: '及格率',
+                name: getMessage("report.teacher.passRate"),
                 type: 'line',
                 data: passRates
             },{
-                name: '优秀率',
+                name: getMessage("report.teacher.excellentRate"),
                 type: 'line',
                 data: excellentRates
             }]

+ 3 - 0
stmms-web/src/main/webapp/static/i18n/load.js

@@ -34,4 +34,7 @@ function load() {
 			}
 		});			
 	}
+}
+function getMessage(message) { 
+	return $.i18n.prop(message);
 }

+ 122 - 1
stmms-web/src/main/webapp/static/i18n/messages.properties

@@ -137,4 +137,125 @@ mark.json.loading=\u6b63\u5728\u52a0\u8f7d\u4e2d
 mark.json.student.answer=\u8003\u751f\u7b54\u6848\uff1a
 mark.json.answer=\u6807\u7b54\uff1a
 mark.json.body=\u9898\u5e72\uff1a
-mark.json.question.number=\u9898\u53f7\uff1a
+mark.json.question.number=\u9898\u53f7\uff1a
+
+#index
+index.report.total=\u603b\u91cf\u5206\u6790
+index.report.subject=\u79d1\u76ee\u5206\u6790
+
+#report.subject
+report.subject=\u603b\u91cf\u5206\u6790
+report.subject.name=\u79d1\u76ee
+report.subject.select=\u8bf7\u9009\u62e9
+report.subject.search=\u67e5\u8be2
+report.subject.export=\u5bfc\u51fa
+report.subject.chart=\u67e5\u770b\u7edf\u8ba1\u56fe
+report.subject.name=\u79d1\u76ee
+report.subject.totalCount=\u62a5\u8003\u4eba\u6570
+report.subject.absentCount=\u7f3a\u8003
+report.subject.breachCount=\u8fdd\u7eaa
+report.subject.realityCount=\u6709\u6548\u4eba\u6570
+report.subject.avgScore=\u5e73\u5747\u5206
+report.subject.maxScore=\u6700\u9ad8\u5206
+report.subject.minScore=\u6700\u4f4e\u5206
+report.subject.passCount=\u53ca\u683c\u4eba\u6570
+report.subject.passRate=\u53ca\u683c\u7387
+#report.range
+report.range=\u5206\u6bb5\u7edf\u8ba1
+report.range.subject=\u79d1\u76ee
+report.range.select=\u8bf7\u9009\u62e9
+report.range.search=\u67e5\u8be2
+report.range.export=\u5bfc\u51fa
+report.range.chart=\u67e5\u770b\u7edf\u8ba1\u56fe
+report.range.level=\u5c42\u6b21
+report.range.proportion=\u5360\u6bd4
+report.range.total=\u603b\u6570
+report.range.operation=\u64cd\u4f5c
+report.range.chart=\u5206\u6bb5\u56fe
+#report.college
+report.college=\u5b66\u9662\u5206\u6790
+report.college.subject=\u79d1\u76ee
+report.college.select=\u8bf7\u9009\u62e9
+report.college.search=\u67e5\u8be2
+report.college.export=\u5bfc\u51fa
+report.college.chart=\u67e5\u770b\u7edf\u8ba1\u56fe
+report.college.name=\u5b66\u751f\u9662\u7cfb
+report.college.avgScore=\u5e73\u5747\u5206
+report.college.maxScore=\u6700\u9ad8\u5206
+report.college.minScore=\u6700\u4f4e\u5206
+report.college.passCount=\u53ca\u683c\u4eba\u6570
+report.college.passRate=\u53ca\u683c\u7387
+report.college.excellentRate=\u4f18\u79c0\u7387
+#report.teacher
+report.teacher=\u4efb\u8bfe\u8001\u5e08\u5206\u6790
+report.teacher.subject=\u79d1\u76ee
+report.teacher.select=\u8bf7\u9009\u62e9
+report.teacher.search=\u67e5\u8be2
+report.teacher.export=\u5bfc\u51fa
+report.teacher.chart=\u67e5\u770b\u7edf\u8ba1\u56fe
+report.teacher.name=\u4efb\u8bfe\u8001\u5e08
+report.teacher.realityCount=\u6709\u6548\u4eba\u6570
+report.teacher.passCount=\u53ca\u683c
+report.teacher.excellentCount=\u4f18\u79c0
+report.teacher.maxScore=\u6700\u9ad8\u5206
+report.teacher.minScore=\u6700\u4f4e\u5206
+report.teacher.passRate=\u53ca\u683c\u7387
+report.teacher.excellentRate=\u4f18\u79c0\u7387
+report.teacher.avgScore=\u5e73\u5747\u5206
+report.teacher.relativeAvgScore=\u5e73\u5747\u76f8\u5bf9\u5206
+report.teacher.return=\u8fd4\u56de
+#report.class
+report.class=\u73ed\u7ea7\u5206\u6790
+report.class.subject=\u79d1\u76ee
+report.class.select=\u8bf7\u9009\u62e9
+report.class.search=\u67e5\u8be2
+report.class.export=\u5bfc\u51fa
+report.class.chart=\u67e5\u770b\u7edf\u8ba1\u56fe
+report.class.name=\u73ed\u7ea7
+report.class.avgScore=\u5e73\u5747\u5206
+report.class.maxScore=\u6700\u9ad8\u5206
+report.class.minScore=\u6700\u4f4e\u5206
+report.class.passCount=\u53ca\u683c\u6570
+report.class.passRate=\u53ca\u683c\u7387
+report.class.excellentCount=\u4f18\u79c0\u6570
+report.class.excellentRate=\u4f18\u79c0\u7387
+#report.question
+report.question.objective=\u5ba2\u89c2\u9898\u5206\u6790
+report.question.subjective=\u4e3b\u89c2\u9898\u5206\u6790
+report.question.subject=\u79d1\u76ee
+report.question.select=\u8bf7\u9009\u62e9
+report.question.search=\u67e5\u8be2
+report.question.export=\u5bfc\u51fa
+report.question.chart=\u67e5\u770b\u7edf\u8ba1\u56fe
+report.question.paperType=\u8bd5\u5377\u7c7b\u578b
+report.question.name=\u9898\u76ee\u540d\u79f0
+report.question.mainNumber=\u5927\u9898\u53f7
+report.question.subNumber=\u5c0f\u9898\u53f7
+report.question.score=\u5355\u9898\u5206\u6570
+report.question.avgScore=\u5355\u9898\u5e73\u5747\u5206
+report.question.stdev=\u5355\u9898\u6807\u51c6\u5dee
+report.question.scoreRate=\u5f97\u5206\u7387
+report.question.fullScoreRate=\u6ee1\u5206\u7387
+#report.group
+report.group=\u5927\u9898\u5206\u6790
+report.group.subject=\u79d1\u76ee
+report.group.select=\u8bf7\u9009\u62e9
+report.group.search=\u67e5\u8be2
+report.group.export=\u5bfc\u51fa
+report.group.chart=\u67e5\u770b\u7edf\u8ba1\u56fe
+report.group.name=\u9898\u76ee\u540d\u79f0
+report.group.number=\u9898\u53f7
+report.group.totalScore=\u6ee1\u5206
+report.group.maxScore=\u6700\u9ad8\u5206
+report.group.minScore=\u6700\u4f4e\u5206
+report.group.avgScore=\u5e73\u5747\u5206
+report.group.stdev=\u6807\u51c6\u5dee
+report.group.coefficient=\u5dee\u5f02\u7cfb\u6570
+report.group.scoreRate=\u5f97\u5206\u7387
+report.group.zeroCount=\u96f6\u5206\u4eba\u6570
+report.group.fullCount=\u6ee1\u5206\u4eba\u6570
+#report.massage
+report.massage.school.null=\u627e\u4e0d\u5230\u5b66\u6821
+#head
+head.title=\u4e91\u9605\u5377
+head.logout=\u9000\u51fa

+ 122 - 1
stmms-web/src/main/webapp/static/i18n/messages_en.properties

@@ -137,4 +137,125 @@ mark.json.loading=loading...
 mark.json.student.answer=student answer:
 mark.json.answer=answer:
 mark.json.body=question:
-mark.json.question.number=question number:
+mark.json.question.number=question number:
+
+#index
+index.report.total=total analysis
+index.report.subject=Subject analysis
+
+#report.subject
+report.subject=total analysis
+report.subject.name=subject
+report.subject.select=please select
+report.subject.search=search
+report.subject.export=export
+report.subject.chart=chart
+report.subject.name=subject
+report.subject.totalCount=total count
+report.subject.absentCount=absent count
+report.subject.breachCount=breach count
+report.subject.realityCount=reality count
+report.subject.avgScore=avg score
+report.subject.maxScore=max score
+report.subject.minScore=min score
+report.subject.passCount=pass count
+report.subject.passRate=pass rate
+#report.range
+report.range=range
+report.range.subject=subject
+report.range.select=please select
+report.range.search=search
+report.range.export=export
+report.range.chart=chart
+report.range.level=level
+report.range.proportion=proportion
+report.range.total=total count
+report.range.operation=operation
+report.range.chart=chart
+#report.college
+report.college=college
+report.college.subject=subject
+report.college.select=please select
+report.college.search=search
+report.college.export=export
+report.college.chart=chart
+report.college.name=college
+report.college.avgScore=avg score
+report.college.maxScore=max score
+report.college.minScore=min score
+report.college.passCount=pass count
+report.college.passRate=pass rete
+report.college.excellentRate=excellent rate
+#report.teacher
+report.teacher=teacher
+report.teacher.subject=subject
+report.teacher.select=please select
+report.teacher.search=search
+report.teacher.export=export
+report.teacher.chart=chart
+report.teacher.name=teacher
+report.teacher.realityCount=reality count
+report.teacher.passCount=pass count
+report.teacher.excellentCount=excellent count
+report.teacher.maxScore=max score
+report.teacher.minScore=min score
+report.teacher.passRate=pass rate
+report.teacher.excellentRate=excellent rate
+report.teacher.avgScore=avg score
+report.teacher.relativeAvgScore=avg score
+report.teacher.return=return
+#report.class
+report.class=class
+report.class.subject=subject
+report.class.select=please select
+report.class.search=search
+report.class.export=export
+report.class.chart=chart
+report.class.name=class
+report.class.avgScore=avg score
+report.class.maxScore=max score
+report.class.minScore=min score
+report.class.passCount=pass count
+report.class.passRate=pass rate
+report.class.excellentCount=excellent count
+report.class.excellentRate=excellent rate
+#report.question
+report.question.objective=objective question
+report.question.subjective=subjective question
+report.question.subject=subject
+report.question.select=please select
+report.question.search=search
+report.question.export=export
+report.question.chart=chart
+report.question.paperType=paper type
+report.question.name=name
+report.question.mainNumber=main number
+report.question.subNumber=sub number
+report.question.score=score
+report.question.avgScore=avg score
+report.question.stdev=standard deviation
+report.question.scoreRate=score rate
+report.question.fullScoreRate=full score rate
+#report.group
+report.group=question
+report.group.subject=subject
+report.group.select=please select
+report.group.search=search
+report.group.export=export
+report.group.chart=chart
+report.group.name=name
+report.group.number=number
+report.group.totalScore=total score
+report.group.maxScore=max score
+report.group.minScore=min score
+report.group.avgScore=avg score
+report.group.stdev=standard deviation
+report.group.coefficient=coefficient
+report.group.scoreRate=score rate
+report.group.zeroCount=zero count
+report.group.fullCount=full count
+#report.massage
+report.massage.school.null=can not find school
+#head
+head.title=Marking System
+head.logout=logout

+ 122 - 1
stmms-web/src/main/webapp/static/i18n/messages_ja.properties

@@ -137,4 +137,125 @@ mark.json.loading=\u30ed\u30fc\u30c9\u4e2d\u2026
 mark.json.student.answer=\u53d7\u9a13\u8005\u306e\u56de\u7b54\uff1a
 mark.json.answer=\u6a21\u7bc4\u89e3\u7b54\uff1a
 mark.json.body=\u8a66\u9a13\u554f\u984c\uff1a
-mark.json.question.number=\u8a66\u9a13\u554f\u984c\u756a\u53f7\uff1a
+mark.json.question.number=\u8a66\u9a13\u554f\u984c\u756a\u53f7\uff1a
+
+#index
+index.report.total=\u96c6\u8a08\u5206\u6790
+index.report.subject=\u79d1\u76ee\u5225\u5206\u6790
+
+#report.subject
+report.subject=\u96c6\u8a08\u5206\u6790
+report.subject.name=\u79d1\u76ee
+report.subject.select=\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044
+report.subject.search=\u30af\u30a8\u30ea\u30fc
+report.subject.export=\u30a8\u30af\u30b9\u30dd\u30fc\u30c8
+report.subject.chart=\u7d71\u8a08\u56f3\u3092\u898b\u308b
+report.subject.name=\u79d1\u76ee
+report.subject.totalCount=\u5fdc\u52df\u8005\u6570
+report.subject.absentCount=\u6b20\u5e2d
+report.subject.breachCount=\u4e0d\u6b63\u884c\u70ba
+report.subject.realityCount=\u6709\u52b9\u8005\u6570
+report.subject.avgScore=\u5e73\u5747\u70b9
+report.subject.maxScore=\u6700\u9ad8\u70b9
+report.subject.minScore=\u6700\u4f4e\u70b9
+report.subject.passCount=\u5408\u683c\u8005\u6570
+report.subject.passRate=\u5408\u683c\u7387
+#report.range
+report.range=\u70b9\u6570\u533a\u5206\u7d71\u8a08
+report.range.subject=\u79d1\u76ee
+report.range.select=\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044
+report.range.search=\u30af\u30a8\u30ea\u30fc
+report.range.export=\u30a8\u30af\u30b9\u30dd\u30fc\u30c8
+report.range.chart=\u7d71\u8a08\u56f3\u3092\u898b\u308b
+report.range.level=\u5b66\u6b74
+report.range.proportion=\u5272\u5408
+report.range.total=\u7dcf\u4eba\u6570
+report.range.operation=\u64cd\u4f5c\u6a5f\u80fd
+report.range.chart=\u7d71\u8a08\u56f3\u8868
+#report.college
+report.college=\u5b66\u90e8\u5225\u5206\u6790
+report.college.subject=\u79d1\u76ee
+report.college.select=\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044
+report.college.search=\u30af\u30a8\u30ea\u30fc
+report.college.export=\u30a8\u30af\u30b9\u30dd\u30fc\u30c8
+report.college.chart=\u7d71\u8a08\u56f3\u3092\u898b\u308b
+report.college.name=\u6240\u5c5e\u5b66\u90e8
+report.college.avgScore=\u5e73\u5747\u70b9
+report.college.maxScore=\u6700\u9ad8\u70b9
+report.college.minScore=\u6700\u4f4e\u70b9
+report.college.passCount=\u5408\u683c\u8005\u6570
+report.college.passRate=\u5408\u683c\u7387
+report.college.excellentRate=\u9ad8\u5f97\u70b9\u7387
+#report.teacher
+report.teacher=\u62c5\u4efb\u306b\u3064\u3044\u3066\u306e\u8a55\u4fa1
+report.teacher.subject=\u79d1\u76ee
+report.teacher.select=\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044
+report.teacher.search=\u30af\u30a8\u30ea\u30fc
+report.teacher.export=\u30a8\u30af\u30b9\u30dd\u30fc\u30c8
+report.teacher.chart=\u7d71\u8a08\u56f3\u3092\u898b\u308b
+report.teacher.name=\u62c5\u4efb
+report.teacher.realityCount=\u6709\u52b9\u8005\u6570
+report.teacher.passCount=\u5408\u683c\u8005\u6570
+report.teacher.excellentCount=\u9ad8\u5f97\u70b9\u8005\u6570
+report.teacher.maxScore=\u6700\u9ad8\u70b9
+report.teacher.minScore=\u6700\u4f4e\u70b9
+report.teacher.passRate=\u5408\u683c\u7387
+report.teacher.excellentRate=\u9ad8\u5f97\u70b9\u7387
+report.teacher.avgScore=\u5e73\u5747\u70b9
+report.teacher.relativeAvgScore=\u5e73\u5747\u70b9\u5dee\u5206
+report.teacher.return=\u623b\u308b
+#report.class
+report.class=\u30af\u30e9\u30b9\u3054\u3068\u5206\u6790
+report.class.subject=\u79d1\u76ee
+report.class.select=\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044
+report.class.search=\u30af\u30a8\u30ea\u30fc
+report.class.export=\u30a8\u30af\u30b9\u30dd\u30fc\u30c8
+report.class.chart=\u7d71\u8a08\u56f3\u3092\u898b\u308b
+report.class.name=\u30af\u30e9\u30b9
+report.class.avgScore=\u5e73\u5747\u70b9
+report.class.maxScore=\u6700\u9ad8\u70b9
+report.class.minScore=\u6700\u4f4e\u70b9
+report.class.passCount=\u5408\u683c\u8005\u6570
+report.class.passRate=\u5408\u683c\u7387
+report.class.excellentCount=\u9ad8\u5f97\u70b9\u8005\u6570
+report.class.excellentRate=\u9ad8\u5f97\u70b9\u7387
+#report.question
+report.question.objective=\u30de\u30fc\u30af\u30b7\u30fc\u30c8\u65b9\u5f0f\u554f\u984c\u306b\u3064\u3044\u3066\u306e\u5206\u6790
+report.question.subjective=\u8a18\u8ff0\u554f\u984c\u306b\u3064\u3044\u3066\u306e\u5206\u6790
+report.question.subject=\u79d1\u76ee
+report.question.select=\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044
+report.question.search=\u30af\u30a8\u30ea\u30fc
+report.question.export=\u30a8\u30af\u30b9\u30dd\u30fc\u30c8
+report.question.chart=\u7d71\u8a08\u56f3\u3092\u898b\u308b
+report.question.paperType=\u7b54\u6848\u7528\u7d19\u306e\u5206\u985e
+report.question.name=\u8a2d\u554f\u540d\u79f0
+report.question.mainNumber=\u5927\u554f\u756a\u53f7
+report.question.subNumber=\u5c0f\u554f\u756a\u53f7
+report.question.score=\u914d\u70b9
+report.question.avgScore=\u5e73\u5747\u70b9
+report.question.stdev=\u6a19\u6e96\u504f\u5dee
+report.question.scoreRate=\u5f97\u70b9\u7387
+report.question.fullScoreRate=\u6e80\u70b9\u7387
+#report.group
+report.group=\u5927\u554f\u306b\u3064\u3044\u3066\u306e\u5206\u6790
+report.group.subject=\u79d1\u76ee
+report.group.select=\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044
+report.group.search=\u30af\u30a8\u30ea\u30fc
+report.group.export=\u30a8\u30af\u30b9\u30dd\u30fc\u30c8
+report.group.chart=\u7d71\u8a08\u56f3\u3092\u898b\u308b
+report.group.name=\u8a2d\u554f\u540d\u79f0
+report.group.number=\u554f\u984c\u756a\u53f7
+report.group.totalScore=\u6e80\u70b9
+report.group.maxScore=\u6700\u9ad8\u70b9
+report.group.minScore=\u6700\u4f4e\u70b9
+report.group.avgScore=\u5e73\u5747\u70b9
+report.group.stdev=\u6a19\u6e96\u504f\u5dee
+report.group.coefficient=\u4e0d\u7b49\u7387
+report.group.scoreRate=\u5f97\u70b9\u7387
+report.group.zeroCount=0\u70b9\u8005\u6570
+report.group.fullCount=\u6e80\u70b9\u8005\u6570
+#report.massage
+report.massage.school.null=\u8a72\u5f53\u5b66\u6821\u898b\u3064\u304b\u3089\u306a\u3044
+#head
+head.title=\u30c7\u30b8\u30bf\u30eb\u63a1\u70b9\u30b7\u30b9\u30c6\u30e0
+head.logout=\u30ed\u30b0\u30a2\u30a6\u30c8

+ 122 - 1
stmms-web/src/main/webapp/static/i18n/messages_zh.properties

@@ -137,4 +137,125 @@ mark.json.loading=\u6b63\u5728\u52a0\u8f7d\u4e2d
 mark.json.student.answer=\u8003\u751f\u7b54\u6848\uff1a
 mark.json.answer=\u6807\u7b54\uff1a
 mark.json.body=\u9898\u5e72\uff1a
-mark.json.question.number=\u9898\u53f7\uff1a
+mark.json.question.number=\u9898\u53f7\uff1a
+
+#index
+index.report.total=\u603b\u91cf\u5206\u6790
+index.report.subject=\u79d1\u76ee\u5206\u6790
+
+#report.subject
+report.subject=\u603b\u91cf\u5206\u6790
+report.subject.name=\u79d1\u76ee
+report.subject.select=\u8bf7\u9009\u62e9
+report.subject.search=\u67e5\u8be2
+report.subject.export=\u5bfc\u51fa
+report.subject.chart=\u67e5\u770b\u7edf\u8ba1\u56fe
+report.subject.name=\u79d1\u76ee
+report.subject.totalCount=\u62a5\u8003\u4eba\u6570
+report.subject.absentCount=\u7f3a\u8003
+report.subject.breachCount=\u8fdd\u7eaa
+report.subject.realityCount=\u6709\u6548\u4eba\u6570
+report.subject.avgScore=\u5e73\u5747\u5206
+report.subject.maxScore=\u6700\u9ad8\u5206
+report.subject.minScore=\u6700\u4f4e\u5206
+report.subject.passCount=\u53ca\u683c\u4eba\u6570
+report.subject.passRate=\u53ca\u683c\u7387
+#report.range
+report.range=\u5206\u6bb5\u7edf\u8ba1
+report.range.subject=\u79d1\u76ee
+report.range.select=\u8bf7\u9009\u62e9
+report.range.search=\u67e5\u8be2
+report.range.export=\u5bfc\u51fa
+report.range.chart=\u67e5\u770b\u7edf\u8ba1\u56fe
+report.range.level=\u5c42\u6b21
+report.range.proportion=\u5360\u6bd4
+report.range.total=\u603b\u6570
+report.range.operation=\u64cd\u4f5c
+report.range.chart=\u5206\u6bb5\u56fe
+#report.college
+report.college=\u5b66\u9662\u5206\u6790
+report.college.subject=\u79d1\u76ee
+report.college.select=\u8bf7\u9009\u62e9
+report.college.search=\u67e5\u8be2
+report.college.export=\u5bfc\u51fa
+report.college.chart=\u67e5\u770b\u7edf\u8ba1\u56fe
+report.college.name=\u5b66\u751f\u9662\u7cfb
+report.college.avgScore=\u5e73\u5747\u5206
+report.college.maxScore=\u6700\u9ad8\u5206
+report.college.minScore=\u6700\u4f4e\u5206
+report.college.passCount=\u53ca\u683c\u4eba\u6570
+report.college.passRate=\u53ca\u683c\u7387
+report.college.excellentRate=\u4f18\u79c0\u7387
+#report.teacher
+report.teacher=\u4efb\u8bfe\u8001\u5e08\u5206\u6790
+report.teacher.subject=\u79d1\u76ee
+report.teacher.select=\u8bf7\u9009\u62e9
+report.teacher.search=\u67e5\u8be2
+report.teacher.export=\u5bfc\u51fa
+report.teacher.chart=\u67e5\u770b\u7edf\u8ba1\u56fe
+report.teacher.name=\u4efb\u8bfe\u8001\u5e08
+report.teacher.realityCount=\u6709\u6548\u4eba\u6570
+report.teacher.passCount=\u53ca\u683c
+report.teacher.excellentCount=\u4f18\u79c0
+report.teacher.maxScore=\u6700\u9ad8\u5206
+report.teacher.minScore=\u6700\u4f4e\u5206
+report.teacher.passRate=\u53ca\u683c\u7387
+report.teacher.excellentRate=\u4f18\u79c0\u7387
+report.teacher.avgScore=\u5e73\u5747\u5206
+report.teacher.relativeAvgScore=\u5e73\u5747\u76f8\u5bf9\u5206
+report.teacher.return=\u8fd4\u56de
+#report.class
+report.class=\u73ed\u7ea7\u5206\u6790
+report.class.subject=\u79d1\u76ee
+report.class.select=\u8bf7\u9009\u62e9
+report.class.search=\u67e5\u8be2
+report.class.export=\u5bfc\u51fa
+report.class.chart=\u67e5\u770b\u7edf\u8ba1\u56fe
+report.class.name=\u73ed\u7ea7
+report.class.avgScore=\u5e73\u5747\u5206
+report.class.maxScore=\u6700\u9ad8\u5206
+report.class.minScore=\u6700\u4f4e\u5206
+report.class.passCount=\u53ca\u683c\u6570
+report.class.passRate=\u53ca\u683c\u7387
+report.class.excellentCount=\u4f18\u79c0\u6570
+report.class.excellentRate=\u4f18\u79c0\u7387
+#report.question
+report.question.objective=\u5ba2\u89c2\u9898\u5206\u6790
+report.question.subjective=\u4e3b\u89c2\u9898\u5206\u6790
+report.question.subject=\u79d1\u76ee
+report.question.select=\u8bf7\u9009\u62e9
+report.question.search=\u67e5\u8be2
+report.question.export=\u5bfc\u51fa
+report.question.chart=\u67e5\u770b\u7edf\u8ba1\u56fe
+report.question.paperType=\u8bd5\u5377\u7c7b\u578b
+report.question.name=\u9898\u76ee\u540d\u79f0
+report.question.mainNumber=\u5927\u9898\u53f7
+report.question.subNumber=\u5c0f\u9898\u53f7
+report.question.score=\u5355\u9898\u5206\u6570
+report.question.avgScore=\u5355\u9898\u5e73\u5747\u5206
+report.question.stdev=\u5355\u9898\u6807\u51c6\u5dee
+report.question.scoreRate=\u5f97\u5206\u7387
+report.question.fullScoreRate=\u6ee1\u5206\u7387
+#report.group
+report.group=\u5927\u9898\u5206\u6790
+report.group.subject=\u79d1\u76ee
+report.group.select=\u8bf7\u9009\u62e9
+report.group.search=\u67e5\u8be2
+report.group.export=\u5bfc\u51fa
+report.group.chart=\u67e5\u770b\u7edf\u8ba1\u56fe
+report.group.name=\u9898\u76ee\u540d\u79f0
+report.group.number=\u9898\u53f7
+report.group.totalScore=\u6ee1\u5206
+report.group.maxScore=\u6700\u9ad8\u5206
+report.group.minScore=\u6700\u4f4e\u5206
+report.group.avgScore=\u5e73\u5747\u5206
+report.group.stdev=\u6807\u51c6\u5dee
+report.group.coefficient=\u5dee\u5f02\u7cfb\u6570
+report.group.scoreRate=\u5f97\u5206\u7387
+report.group.zeroCount=\u96f6\u5206\u4eba\u6570
+report.group.fullCount=\u6ee1\u5206\u4eba\u6570
+#report.massage
+report.massage.school.null=\u627e\u4e0d\u5230\u5b66\u6821
+#head
+head.title=\u4e91\u9605\u5377
+head.logout=\u9000\u51fa