ting.yin пре 4 година
родитељ
комит
d94deb2e40

+ 3 - 3
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/dao/MarkLibraryDao.java

@@ -84,9 +84,9 @@ public interface MarkLibraryDao extends JpaRepository<MarkLibrary, Integer>, Jpa
     void resetByMarkerId(Integer markerId, LibraryStatus status, LibraryStatus... notInStatus);
 
     @Modifying(clearAutomatically = true)
-    @Query("update MarkLibrary m set m.status=?2, m.markerId=null, m.markerTime=null, m.markerScore=null, m.markerScoreList=null, m.markerSpent=null, "
-            + "m.headerId=null , m.headerTime=null , m.headerScore=null , m.headerScoreList=null where m.id=?1 and m.status in (?3)")
-    int resetById(Integer id, LibraryStatus newStatus, LibraryStatus... previousStatus);
+    @Query("update MarkLibrary m set m.status=?3, m.markerId=?2, m.markerTime=null, m.markerScore=null, m.markerScoreList=null, m.markerSpent=null, "
+            + "m.headerId=null , m.headerTime=null , m.headerScore=null , m.headerScoreList=null where m.id=?1 and m.status in (?4)")
+    int resetById(Integer id, Integer markerId, LibraryStatus newStatus, LibraryStatus... previousStatus);
 
     @Query("select f.markerId, count(f) as markerCount from MarkLibrary f where f.examId=?1 and f.status in (?2) group by f.markerId")
     List<Object[]> countMarkerAndStatus(Integer examId, LibraryStatus... status);

+ 25 - 24
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/mark/service/Impl/MarkServiceImpl.java

@@ -421,7 +421,7 @@ public class MarkServiceImpl implements MarkService {
             for (MarkLibrary library : list) {
                 trackDao.deleteByLibraryId(library.getId());
                 specialTagDao.deleteByLibraryId(library.getId());
-                libraryDao.resetById(library.getId(), LibraryStatus.WAITING, library.getStatus());
+                libraryDao.resetById(library.getId(), null, LibraryStatus.WAITING, library.getStatus());
                 updateStudentGroupStatus(library.getStudentId(), library.getExamId(), library.getSubjectCode(),
                         library.getGroupNumber(), SubjectiveStatus.UNMARK);
                 studentService.updateSubjectiveStatusAndScore(library.getStudentId(), SubjectiveStatus.UNMARK, 0, null);
@@ -492,6 +492,9 @@ public class MarkServiceImpl implements MarkService {
                         LibraryStatus.REJECTED) != 0) {
                     saveProblemHistory(result, library);
                     updateMarkedCount(group);
+                    // 未评完
+                    resetStudentGroup(library.getStudentId(), library.getExamId(), library.getSubjectCode(),
+                            library.getGroupNumber());
                     return SubmitResult.success(library);
                 }
             }
@@ -720,8 +723,8 @@ public class MarkServiceImpl implements MarkService {
         if (group.getStatus() == MarkStatus.FINISH) {
             return false;
         }
-        if (libraryDao.resetById(library.getId(), LibraryStatus.REJECTED, LibraryStatus.MARKED, LibraryStatus.PROBLEM,
-                LibraryStatus.INSPECTED) > 0) {
+        if (libraryDao.resetById(library.getId(), library.getMarkerId(), LibraryStatus.REJECTED, LibraryStatus.MARKED,
+                LibraryStatus.PROBLEM, LibraryStatus.INSPECTED) > 0) {
             trackDao.deleteByLibraryId(library.getId());
             specialTagDao.deleteByLibraryId(library.getId());
             resetStudentGroup(library.getStudentId(), library.getExamId(), library.getSubjectCode(),
@@ -1316,7 +1319,7 @@ public class MarkServiceImpl implements MarkService {
         List<MarkLibrary> list = libraryDao.findByStudentIdAndGroupNumber(student.getId(), groupNumber);
         int count = 0;
         for (MarkLibrary library : list) {
-            if (libraryDao.resetById(library.getId(), LibraryStatus.REJECTED, LibraryStatus.MARKED,
+            if (libraryDao.resetById(library.getId(), null, LibraryStatus.REJECTED, LibraryStatus.MARKED,
                     LibraryStatus.PROBLEM, LibraryStatus.INSPECTED) > 0) {
                 count++;
                 trackDao.deleteByLibraryId(library.getId());
@@ -1344,26 +1347,25 @@ public class MarkServiceImpl implements MarkService {
     @Override
     @Transactional
     public boolean rejectedStudent(ExamStudent student, MarkStepDTO[] markStepDTOs, Integer userId) {
-        Map<MarkGroup, List<MarkStepDTO>> map = new HashMap<MarkGroup, List<MarkStepDTO>>();
+        Map<Integer, List<MarkStepDTO>> map = new HashMap<Integer, List<MarkStepDTO>>();
 
         for (MarkStepDTO markStepDTO : markStepDTOs) {
-            MarkGroup group = groupDao.findOne(student.getExamId(), student.getSubjectCode(),
-                    markStepDTO.getGroupNumber());
-            if (group.getStatus() == MarkStatus.FINISH) {
-                return false;
-            }
-            List<MarkStepDTO> list = map.get(group);
+            List<MarkStepDTO> list = map.get(markStepDTO.getGroupNumber());
             if (list == null) {
                 list = new ArrayList<MarkStepDTO>();
             }
             list.add(markStepDTO);
-            map.put(group, list);
+            map.put(markStepDTO.getGroupNumber(), list);
         }
-        for (MarkGroup group : map.keySet()) {
-            List<MarkLibrary> list = libraryDao.findByStudentIdAndGroupNumber(student.getId(), group.getNumber());
+        for (Integer groupNumber : map.keySet()) {
+            MarkGroup group = groupDao.findOne(student.getExamId(), student.getSubjectCode(), groupNumber);
+            if (group.getStatus() == MarkStatus.FINISH) {
+                return false;
+            }
+            List<MarkLibrary> list = libraryDao.findByStudentIdAndGroupNumber(student.getId(), groupNumber);
             List<ExamQuestion> questions = questionDao.findByExamIdAndSubjectCodeAndObjectiveAndGroupNumber(
-                    group.getExamId(), group.getSubjectCode(), false, group.getNumber());
-            List<MarkStepDTO> qList = map.get(group);
+                    student.getExamId(), student.getSubjectCode(), false, groupNumber);
+            List<MarkStepDTO> qList = map.get(groupNumber);
             int count = 0;
             for (MarkLibrary library : list) {
                 if (library.getTaskNumber() == 3) {
@@ -1376,8 +1378,8 @@ public class MarkServiceImpl implements MarkService {
                 }
                 if (library.getStatus().equals(LibraryStatus.ARBITRATED) || qList.size() == questions.size()) {
                     // 仲裁任务直接重置 或者该分组下所有分数被打回也重置
-                    libraryDao.resetById(library.getId(), LibraryStatus.REJECTED, LibraryStatus.MARKED,
-                            LibraryStatus.PROBLEM, LibraryStatus.INSPECTED);
+                    libraryDao.resetById(library.getId(), library.getMarkerId(), LibraryStatus.REJECTED,
+                            LibraryStatus.MARKED, LibraryStatus.PROBLEM, LibraryStatus.INSPECTED);
                     trackDao.deleteByLibraryId(library.getId());
                     specialTagDao.deleteByLibraryId(library.getId());
                     count++;
@@ -1391,7 +1393,7 @@ public class MarkServiceImpl implements MarkService {
                         for (int i = 0; i < questions.size(); i++) {
                             ExamQuestion question = questions.get(i);
                             if (markStepDTO.getMainNumber() == question.getMainNumber()
-                                    && markStepDTO.getSubNumber().equals(markStepDTO.getSubNumber())) {
+                                    && markStepDTO.getSubNumber().equals(question.getSubNumber())) {
                                 sList.remove(i);
                                 sList.add(i, new ScoreItem(false));
                             }
@@ -1407,20 +1409,19 @@ public class MarkServiceImpl implements MarkService {
                             markerScoreList.append(",");
                         }
                     }
-                    if (libraryDao.updateMarkerResult(library.getId(), LibraryStatus.REJECTED, null, null,
-                            markerScoreList.toString(), null, null, LibraryStatus.MARKED) == 1) {
+                    if (libraryDao.updateMarkerResult(library.getId(), LibraryStatus.REJECTED, library.getMarkerId(),
+                            null, markerScoreList.toString(), null, null, LibraryStatus.MARKED) == 1) {
                         count++;
                     }
                 }
             }
             if (count > 0) {
                 updateMarkedCount(group);
-                resetStudentGroup(student.getId(), group.getExamId(), group.getSubjectCode(), group.getNumber());
+                resetStudentGroup(student.getId(), student.getExamId(), student.getSubjectCode(), groupNumber);
                 studentService.updateSubjectiveStatusAndTimeAndInspectorId(student.getId(), SubjectiveStatus.UNMARK,
                         null, null);
-                return true;
             }
         }
-        return false;
+        return true;
     }
 }

+ 1 - 1
stmms-web/src/main/webapp/WEB-INF/application.properties

@@ -6,7 +6,7 @@ jdbc.password=root
 jdbc.maxActive=50
 jdbc.initSize=5
 ##\u6587\u4ef6\u5b58\u50a8\u914d\u7f6e
-file.server=http://localhost:9000/stmms-ft/
+file.server=http://192.168.10.224:9000/
 file.store=/Users/ting.yin/work/static/stmms-ft
 ##\u88c1\u5207\u56fe\u9ed8\u8ba4\u5207\u5272\u89c4\u5219
 slice.split.config=0,0.55,0.45,0.55

+ 1 - 1
stmms-web/src/main/webapp/WEB-INF/views/modules/sys/login.jsp

@@ -54,7 +54,7 @@
                 <input id="loginType" name="loginType" value=<c:if test="${loginType == null}">'admin-login'</c:if>
                 <c:if test="${loginType != null}">"${loginType}"</c:if>/>
                 <div class="input-group">
-                    <input type="text" class="form-control required" id="loginName" name="loginName" placeholder="请输入用户名"
+                    <input type="text" class="form-control required" id="loginName" name="loginName" placeholder="请输入账号"
                            autocomplete="off" value="${loginName }" data-i18n-placeholder="user.login.name"/>
                 </div>
                 <div class="input-group">

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

@@ -1,294 +1,294 @@
 #login
-user.login.title=\u9AD8\u6821\u8003\u8BD5\u7BA1\u7406\u5E73\u53F0
-user.login.admin=\u7BA1\u7406\u5458\u767B\u5F55
-user.login.marker=\u8BC4\u5377\u5458\u767B\u5F55
-user.login.name=\u7528\u6237\u540D
-user.login.password=\u5BC6\u7801
-user.login.submit=\u767B\u5F55
-user.login.error.account=\u5E10\u53F7\u4E0D\u5B58\u5728
-user.login.error.finish=\u8BC4\u5377\u5206\u7EC4\u5DF2\u7ED3\u675F
-user.login.error.group=\u5927\u9898\u4E0D\u5B58\u5728
-user.login.error.disabled=\u5E10\u53F7\u5DF2\u7981\u7528
-user.login.error.password=\u5BC6\u7801\u9519\u8BEF
-user.login.error.access=\u7528\u6237\u6CA1\u6709\u8BBF\u95EE\u6743\u9650
+user.login.title=\u9ad8\u6821\u8003\u8bd5\u7ba1\u7406\u5e73\u53f0
+user.login.admin=\u7ba1\u7406\u5458\u767b\u5f55
+user.login.marker=\u8bc4\u5377\u5458\u767b\u5f55
+user.login.name=\u8d26\u53f7
+user.login.password=\u5bc6\u7801
+user.login.submit=\u767b\u5f55
+user.login.error.account=\u5e10\u53f7\u4e0d\u5b58\u5728
+user.login.error.finish=\u8bc4\u5377\u5206\u7ec4\u5df2\u7ed3\u675f
+user.login.error.group=\u5927\u9898\u4e0d\u5b58\u5728
+user.login.error.disabled=\u5e10\u53f7\u5df2\u7981\u7528
+user.login.error.password=\u5bc6\u7801\u9519\u8bef
+user.login.error.access=\u7528\u6237\u6ca1\u6709\u8bbf\u95ee\u6743\u9650
 #reset
-user.reset.submit=\u786E\u5B9A
-user.reset.logout=\u9000\u51FA
-user.reset.title=\u9996\u6B21\u767B\u5F55\uFF0C\u8BF7\u5B8C\u5584\u8D44\u6599
-user.reset.name=\u8F93\u5165\u7528\u6237\u540D
-user.reset.password=\u8F93\u5165\u65B0\u5BC6\u7801
-user.reset.password.again=\u518D\u6B21\u8F93\u5165\u65B0\u5BC6\u7801
-user.reset.name.length=\u957F\u5EA6\u4E0D\u80FD\u8D85\u8FC710\u4E2A\u5B57
-user.reset.name.chinese=\u8BF7\u8F93\u5165\u4E2D\u6587
-user.reset.password.same=\u4E24\u6B21\u5BC6\u7801\u8BF7\u4FDD\u6301\u4E00\u81F4
-user.reset.password.length=\u5BC6\u7801\u7684\u957F\u5EA6\u81F3\u5C114\u4F4D\uFF0C\u4E0D\u80FD\u8D85\u8FC78\u4F4D
+user.reset.submit=\u786e\u5b9a
+user.reset.logout=\u9000\u51fa
+user.reset.title=\u9996\u6b21\u767b\u5f55\uff0c\u8bf7\u5b8c\u5584\u8d44\u6599
+user.reset.name=\u8f93\u5165\u59d3\u540d
+user.reset.password=\u8f93\u5165\u65b0\u5bc6\u7801
+user.reset.password.again=\u518d\u6b21\u8f93\u5165\u65b0\u5bc6\u7801
+user.reset.name.length=\u957f\u5ea6\u4e0d\u80fd\u8d85\u8fc710\u4e2a\u5b57
+user.reset.name.chinese=\u8bf7\u8f93\u5165\u4e2d\u6587
+user.reset.password.same=\u4e24\u6b21\u5bc6\u7801\u8bf7\u4fdd\u6301\u4e00\u81f4
+user.reset.password.length=\u5bc6\u7801\u7684\u957f\u5ea6\u81f3\u5c114\u4f4d\uff0c\u4e0d\u80fd\u8d85\u8fc78\u4f4d
 #mark-control
-mark.control.assistant=\u5C0F\u52A9\u624B
-mark.control.mode.track=\u5207\u6362\u5230\u8F68\u8FF9\u6A21\u5F0F
-mark.control.mode.common=\u5207\u6362\u5230\u666E\u901A\u6A21\u5F0F
-mark.control.board=\u7ED9\u5206\u677F
-mark.control.function=\u8BC4\u5377\u529F\u80FD
-mark.control.logout=\u9000\u51FA
-mark.control.init.error=\u521D\u59CB\u5316\u5931\u8D25\uFF0C\u8BF7\u5237\u65B0\u9875\u9762\u91CD\u65B0\u52A0\u8F7D
-mark.control.task.not.exist=\u8BC4\u5377\u5927\u9898\u4E0D\u5B58\u5728
-mark.control.task.finish=\u8BC4\u5377\u5DF2\u7ED3\u675F
-mark.control.task.null=\u5F53\u524D\u65E0\u8BC4\u5377\u4EFB\u52A1
-mark.control.task.error=\u8BC4\u5377\u4EFB\u52A1\u63D0\u4EA4\u5931\u8D25\uFF0C\u8BF7\u5237\u65B0\u9875\u9762
-mark.control.group=\u5207\u6362\u5206\u7EC4
+mark.control.assistant=\u5c0f\u52a9\u624b
+mark.control.mode.track=\u5207\u6362\u5230\u8f68\u8ff9\u6a21\u5f0f
+mark.control.mode.common=\u5207\u6362\u5230\u666e\u901a\u6a21\u5f0f
+mark.control.board=\u7ed9\u5206\u677f
+mark.control.function=\u8bc4\u5377\u529f\u80fd
+mark.control.logout=\u9000\u51fa
+mark.control.init.error=\u521d\u59cb\u5316\u5931\u8d25\uff0c\u8bf7\u5237\u65b0\u9875\u9762\u91cd\u65b0\u52a0\u8f7d
+mark.control.task.not.exist=\u8bc4\u5377\u5927\u9898\u4e0d\u5b58\u5728
+mark.control.task.finish=\u8bc4\u5377\u5df2\u7ed3\u675f
+mark.control.task.null=\u5f53\u524d\u65e0\u8bc4\u5377\u4efb\u52a1
+mark.control.task.error=\u8bc4\u5377\u4efb\u52a1\u63d0\u4ea4\u5931\u8d25\uff0c\u8bf7\u5237\u65b0\u9875\u9762
+mark.control.group=\u5207\u6362\u5206\u7ec4
 #status
-mark.status.student.number=\u8003\u751F\u7F16\u53F7
-mark.status.library.number=\u4EFB\u52A1\u7F16\u53F7
-mark.status.objective.score=\u5BA2\u89C2\u5F97\u5206
-mark.status.marked.count=\u5DF2\u8BC4
-mark.status.unmark.count=\u672A\u8BC4
-mark.status.top.count=\u5206\u914D
-mark.status.progress=\u8FDB\u5EA6
-mark.status.continue=\u7EE7\u7EED
-mark.status.top.count.finish=\u5206\u914D\u4EFB\u52A1\u5DF2\u8BC4\u5B8C\uFF0C\u662F\u5426\u7EE7\u7EED\uFF1F
-mark.status.loading=\u6B63\u5728\u52A0\u8F7D...
-mark.status.logout=\u9000\u51FA
+mark.status.student.number=\u8003\u751f\u7f16\u53f7
+mark.status.library.number=\u4efb\u52a1\u7f16\u53f7
+mark.status.objective.score=\u5ba2\u89c2\u5f97\u5206
+mark.status.marked.count=\u5df2\u8bc4
+mark.status.unmark.count=\u672a\u8bc4
+mark.status.top.count=\u5206\u914d
+mark.status.progress=\u8fdb\u5ea6
+mark.status.continue=\u7ee7\u7eed
+mark.status.top.count.finish=\u5206\u914d\u4efb\u52a1\u5df2\u8bc4\u5b8c\uff0c\u662f\u5426\u7ee7\u7eed\uff1f
+mark.status.loading=\u6b63\u5728\u52a0\u8f7d...
+mark.status.logout=\u9000\u51fa
 #single-image-view
-mark.single.zoom.in=\u653E\u5927
-mark.single.zoom.out=\u7F29\u5C0F
-mark.single.zoom.fit=\u9002\u5E94
-mark.single.student.answer=\u7B54\u5377
+mark.single.zoom.in=\u653e\u5927
+mark.single.zoom.out=\u7f29\u5c0f
+mark.single.zoom.fit=\u9002\u5e94
+mark.single.student.answer=\u7b54\u5377
 #chang name
-mark.change.name=\u4FEE\u6539\u4E2A\u4EBA\u4FE1\u606F
-mark.change.press.name=\u8F93\u5165\u7528\u6237\u540D
-mark.change.press.password=\u8F93\u5165\u65B0\u5BC6\u7801
-mark.change.press.password.again=\u518D\u6B21\u8F93\u5165\u65B0\u5BC6\u7801
-mark.change.confirm=\u786E\u5B9A
-mark.change.name.null=\u540D\u5B57\u4E0D\u80FD\u4E3A\u7A7A
-mark.change.name.length=\u957F\u5EA6\u4E0D\u80FD\u8D85\u8FC78\u4E2A\u5B57
-mark.change.password.same=\u4E24\u6B21\u5BC6\u7801\u8BF7\u4FDD\u6301\u4E00\u81F4
-mark.change.password.length=\u5BC6\u7801\u7684\u957F\u5EA6\u81F3\u5C114\u4F4D
-mark.change.network.error=\u7F51\u7EDC\u901A\u4FE1\u9519\u8BEF\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5
-mark.change.error=\u4FEE\u6539\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5
+mark.change.name=\u4fee\u6539\u4e2a\u4eba\u4fe1\u606f
+mark.change.press.name=\u8f93\u5165\u7528\u6237\u540d
+mark.change.press.password=\u8f93\u5165\u65b0\u5bc6\u7801
+mark.change.press.password.again=\u518d\u6b21\u8f93\u5165\u65b0\u5bc6\u7801
+mark.change.confirm=\u786e\u5b9a
+mark.change.name.null=\u540d\u5b57\u4e0d\u80fd\u4e3a\u7a7a
+mark.change.name.length=\u957f\u5ea6\u4e0d\u80fd\u8d85\u8fc78\u4e2a\u5b57
+mark.change.password.same=\u4e24\u6b21\u5bc6\u7801\u8bf7\u4fdd\u6301\u4e00\u81f4
+mark.change.password.length=\u5bc6\u7801\u7684\u957f\u5ea6\u81f3\u5c114\u4f4d
+mark.change.network.error=\u7f51\u7edc\u901a\u4fe1\u9519\u8bef\uff0c\u8bf7\u7a0d\u540e\u91cd\u8bd5
+mark.change.error=\u4fee\u6539\u5931\u8d25\uff0c\u8bf7\u7a0d\u540e\u91cd\u8bd5
 #specialTag
-mark.special.tag=\u7279\u6B8A\u6807\u8BB0
-mark.special.back=\u56DE\u9000
-mark.special.clear=\u5168\u90E8\u6E05\u9664
-mark.special.underline=\u4E0B\u5212\u7EBF
-mark.special.open=\u6253\u5F00
-mark.special.close=\u5173\u95ED
+mark.special.tag=\u7279\u6b8a\u6807\u8bb0
+mark.special.back=\u56de\u9000
+mark.special.clear=\u5168\u90e8\u6e05\u9664
+mark.special.underline=\u4e0b\u5212\u7ebf
+mark.special.open=\u6253\u5f00
+mark.special.close=\u5173\u95ed
 #problem-process
-mark.problem=\u95EE\u9898\u5377
-mark.problem.type=\u9009\u62E9\u95EE\u9898\u7C7B\u578B
-mark.problem.confirm=\u786E\u5B9A
-mark.problem.cancel=\u53D6\u6D88
-mark.problem.check=\u8BF7\u9009\u62E9\u95EE\u9898\u5206\u7C7B
+mark.problem=\u95ee\u9898\u5377
+mark.problem.type=\u9009\u62e9\u95ee\u9898\u7c7b\u578b
+mark.problem.confirm=\u786e\u5b9a
+mark.problem.cancel=\u53d6\u6d88
+mark.problem.check=\u8bf7\u9009\u62e9\u95ee\u9898\u5206\u7c7b
 #thumbnail
-mark.thumbnail=\u7F29\u7565\u56FE
-mark.thumbnail.open=\u6253\u5F00
-mark.thumbnail.close=\u5173\u95ED
+mark.thumbnail=\u7f29\u7565\u56fe
+mark.thumbnail.open=\u6253\u5f00
+mark.thumbnail.close=\u5173\u95ed
 #view-sidebar
-mark.sidebar=\u4FA7\u8FB9\u680F
-mark.sidebar.paper=\u8BD5\u5377
-mark.sidebar.answer=\u7B54\u6848
+mark.sidebar=\u4fa7\u8fb9\u680f
+mark.sidebar.paper=\u8bd5\u5377
+mark.sidebar.answer=\u7b54\u6848
 #mark-history
-mark.history.title=\u56DE\u8BC4
-mark.history.time=\u65F6\u95F4
-mark.history.number=\u7F16\u53F7
-mark.history.score=\u603B\u5206
-mark.history.search=\u67E5\u627E\u8BD5\u5377
-mark.history.pre=\u524D
-mark.history.success=\u56DE\u8BC4\u6210\u529F\uFF0C\u603B\u5206\uFF1A
-mark.history.problem=\u56DE\u8BC4\u6210\u529F\uFF0C\u5DF2\u63D0\u4EA4\u95EE\u9898\u5377
-mark.history.loading=\u6B63\u5728\u52A0\u8F7D\u8BF7\u7A0D\u5019
-mark.history.error=\u6682\u65F6\u65E0\u6CD5\u8BFB\u53D6\u8BC4\u5377\u5386\u53F2\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5
-mark.history.number.error=\u8BF7\u8F93\u5165\u6570\u5B57
+mark.history.title=\u56de\u8bc4
+mark.history.time=\u65f6\u95f4
+mark.history.number=\u7f16\u53f7
+mark.history.score=\u603b\u5206
+mark.history.search=\u67e5\u627e\u8bd5\u5377
+mark.history.pre=\u524d
+mark.history.success=\u56de\u8bc4\u6210\u529f\uff0c\u603b\u5206\uff1a
+mark.history.problem=\u56de\u8bc4\u6210\u529f\uff0c\u5df2\u63d0\u4ea4\u95ee\u9898\u5377
+mark.history.loading=\u6b63\u5728\u52a0\u8f7d\u8bf7\u7a0d\u5019
+mark.history.error=\u6682\u65f6\u65e0\u6cd5\u8bfb\u53d6\u8bc4\u5377\u5386\u53f2\uff0c\u8bf7\u7a0d\u540e\u91cd\u8bd5
+mark.history.number.error=\u8bf7\u8f93\u5165\u6570\u5b57
 #mark-board
-mark.board.submit=\u63D0\u4EA4
-mark.board.total.score=\u603B\u5206
-mark.board.score.zero=\u5168\u96F6\u5206
-mark.board.pass=\u8DF3 \u8FC7
-mark.board.choose.result=\u9009\u505A\u7ED3\u679C
-mark.board.keyboard=\u952E\u76D8\u7ED9\u5206 >>
-mark.board.mouse=<< \u9F20\u6807\u7ED9\u5206
-mark.board.interval=\u95F4\u9694
+mark.board.submit=\u63d0\u4ea4
+mark.board.total.score=\u603b\u5206
+mark.board.score.zero=\u5168\u96f6\u5206
+mark.board.pass=\u8df3 \u8fc7
+mark.board.choose.result=\u9009\u505a\u7ed3\u679c
+mark.board.keyboard=\u952e\u76d8\u7ed9\u5206 >>
+mark.board.mouse=<< \u9f20\u6807\u7ed9\u5206
+mark.board.interval=\u95f4\u9694
 mark.board.score=\u5206
-mark.board.back=\u56DE\u9000
-mark.board.clear.question=\u6E05\u9664\u672C\u9898
-mark.board.clear=\u6E05\u9664\u5168\u5377
-mark.board.question.not.mark=\u5F53\u524D\u4EFB\u52A1\u8FD8\u6709\u672A\u7ED9\u5206\u7684\u9898\uFF0C\u8BF7\u7EE7\u7EED\u7ED9\u5206
-mark.board.confirm=,\u786E\u8BA4\u63D0\u4EA4\u5417\uFF1F
-mark.board.zero.confirm=\u786E\u8BA4\u8981\u63D0\u4EA4\u5168\u96F6\u5206\u5417\uFF1F
-mark.board.null=\u65E0
-mark.board.interval.error=\u4E0D\u7B26\u5408\u5206\u503C\u95F4\u9694\u8981\u6C42
-mark.board.gt=\u4E0D\u80FD\u5927\u4E8E
-mark.board.lt=\u4E0D\u80FD\u5C0F\u4E8E
-mark.board.number.error=\u4E0D\u662F\u5408\u6CD5\u6570\u5B57
+mark.board.back=\u56de\u9000
+mark.board.clear.question=\u6e05\u9664\u672c\u9898
+mark.board.clear=\u6e05\u9664\u5168\u5377
+mark.board.question.not.mark=\u5f53\u524d\u4efb\u52a1\u8fd8\u6709\u672a\u7ed9\u5206\u7684\u9898\uff0c\u8bf7\u7ee7\u7eed\u7ed9\u5206
+mark.board.confirm=,\u786e\u8ba4\u63d0\u4ea4\u5417\uff1f
+mark.board.zero.confirm=\u786e\u8ba4\u8981\u63d0\u4ea4\u5168\u96f6\u5206\u5417\uff1f
+mark.board.null=\u65e0
+mark.board.interval.error=\u4e0d\u7b26\u5408\u5206\u503c\u95f4\u9694\u8981\u6c42
+mark.board.gt=\u4e0d\u80fd\u5927\u4e8e
+mark.board.lt=\u4e0d\u80fd\u5c0f\u4e8e
+mark.board.number.error=\u4e0d\u662f\u5408\u6cd5\u6570\u5b57
 #sheet-view
-mark.sheet=\u539F\u56FE
-mark.sheet.check=\u539F\u56FE\u5207\u6362
-mark.sheet.open=\u6253\u5F00
-mark.sheet.close=\u5173\u95ED
+mark.sheet=\u539f\u56fe
+mark.sheet.check=\u539f\u56fe\u5207\u6362
+mark.sheet.open=\u6253\u5f00
+mark.sheet.close=\u5173\u95ed
 #slice-view
 mark.slice=\u5168\u5377
 mark.slice.check=\u5168\u5377\u5207\u6362
-mark.slice.open=\u6253\u5F00
-mark.slice.close=\u5173\u95ED
+mark.slice.open=\u6253\u5f00
+mark.slice.close=\u5173\u95ed
 #answer-view
-mark.answer=\u6807\u7B54
+mark.answer=\u6807\u7b54
 #warning-info
-mark.warning.try.again=\u8BF7\u70B9\u51FB\u91CD\u8BD5
-mark.warning.force.special.tag=\u5F3A\u5236\u7279\u6B8A\u6807\u8BB0\u5DF2\u5F00\u542F\uFF0C\u81F3\u5C11\u4F7F\u7528\u4E00\u4E2A\u7279\u6B8A\u6807\u8BB0
-mark.warning.network.error=\u7F51\u7EDC\u5F02\u5E38\uFF0C\u4EFB\u52A1\u63D0\u4EA4\u5931\u8D25
-mark.warning.task.error=\u9886\u53D6\u8BC4\u5377\u4EFB\u52A1\u51FA\u9519
-mark.warning.task.finish=\u8BC4\u5377\u4EFB\u52A1\u5DF2\u5B8C\u6210
-mark.warning.task.loading=\u8BC4\u5377\u4EFB\u52A1\u6B63\u5728\u52A0\u8F7D\u4E2D
-mark.warning.close=\u5173\u95ED
-mark.warning.success=\u56DE\u8BC4\u6210\u529F\uFF0C\u603B\u5206\uFF1A
-mark.warning.problem=\u56DE\u8BC4\u95EE\u9898\u5377\u6210\u529F
+mark.warning.try.again=\u8bf7\u70b9\u51fb\u91cd\u8bd5
+mark.warning.force.special.tag=\u5f3a\u5236\u7279\u6b8a\u6807\u8bb0\u5df2\u5f00\u542f\uff0c\u81f3\u5c11\u4f7f\u7528\u4e00\u4e2a\u7279\u6b8a\u6807\u8bb0
+mark.warning.network.error=\u7f51\u7edc\u5f02\u5e38\uff0c\u4efb\u52a1\u63d0\u4ea4\u5931\u8d25
+mark.warning.task.error=\u9886\u53d6\u8bc4\u5377\u4efb\u52a1\u51fa\u9519
+mark.warning.task.finish=\u8bc4\u5377\u4efb\u52a1\u5df2\u5b8c\u6210
+mark.warning.task.loading=\u8bc4\u5377\u4efb\u52a1\u6b63\u5728\u52a0\u8f7d\u4e2d
+mark.warning.close=\u5173\u95ed
+mark.warning.success=\u56de\u8bc4\u6210\u529f\uff0c\u603b\u5206\uff1a
+mark.warning.problem=\u56de\u8bc4\u95ee\u9898\u5377\u6210\u529f
 #json-view
-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.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
 
 #index
-index.user=\u7528\u6237\u7BA1\u7406
-index.exam=\u8003\u8BD5\u7BA1\u7406
-index.student=\u8003\u751F\u7BA1\u7406
-index.paper=\u79D1\u76EE\u7BA1\u7406
-index.scan=\u626B\u63CF\u8FDB\u5EA6
-index.mark=\u8BC4\u5377\u7BA1\u7406
-index.score=\u6210\u7EE9\u67E5\u8BE2
-index.problem=\u95EE\u9898\u8BD5\u5377
-index.inspected=\u6210\u7EE9\u590D\u6838
-index.report.total=\u603B\u91CF\u5206\u6790
-index.report.subject=\u79D1\u76EE\u5206\u6790
-index.check=\u6570\u636E\u68C0\u67E5
-index.log=\u64CD\u4F5C\u65E5\u5FD7
+index.user=\u7528\u6237\u7ba1\u7406
+index.exam=\u8003\u8bd5\u7ba1\u7406
+index.student=\u8003\u751f\u7ba1\u7406
+index.paper=\u79d1\u76ee\u7ba1\u7406
+index.scan=\u626b\u63cf\u8fdb\u5ea6
+index.mark=\u8bc4\u5377\u7ba1\u7406
+index.score=\u6210\u7ee9\u67e5\u8be2
+index.problem=\u95ee\u9898\u8bd5\u5377
+index.inspected=\u6210\u7ee9\u590d\u6838
+index.report.total=\u603b\u91cf\u5206\u6790
+index.report.subject=\u79d1\u76ee\u5206\u6790
+index.check=\u6570\u636e\u68c0\u67e5
+index.log=\u64cd\u4f5c\u65e5\u5fd7
 
 #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.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.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.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.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.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.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.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.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
+report.massage.school.null=\u627e\u4e0d\u5230\u5b66\u6821
 #head
-head.title=\u4E91\u9605\u5377
-head.logout=\u9000\u51FA
+head.title=\u4e91\u9605\u5377
+head.logout=\u9000\u51fa
 
 #student search
-student.search.title=\u5B66\u751F\u67E5\u8BE2\u6210\u7EE9
-student.search.code=\u8BF7\u8F93\u5165\u5B66\u53F7
-student.search.name=\u8BF7\u8F93\u5165\u59D3\u540D
-student.search.submit=\u67E5\u8BE2
-student.search.error=\u5B66\u6821\u4E0D\u5B58\u5728
+student.search.title=\u5b66\u751f\u67e5\u8be2\u6210\u7ee9
+student.search.code=\u8bf7\u8f93\u5165\u5b66\u53f7
+student.search.name=\u8bf7\u8f93\u5165\u59d3\u540d
+student.search.submit=\u67e5\u8be2
+student.search.error=\u5b66\u6821\u4e0d\u5b58\u5728
 #student search list
-student.search.list.examName=\u8003\u8BD5\u540D\u79F0
-student.search.list.subjectName=\u8BFE\u7A0B\u540D\u79F0
-student.search.list.objectiveScore=\u5BA2\u89C2\u5206
-student.search.list.subjectiveScore=\u4E3B\u89C2\u5206
-student.search.list.totalScore=\u603B\u5206
-student.search.list.remark=\u5907\u6CE8
+student.search.list.examName=\u8003\u8bd5\u540d\u79f0
+student.search.list.subjectName=\u8bfe\u7a0b\u540d\u79f0
+student.search.list.objectiveScore=\u5ba2\u89c2\u5206
+student.search.list.subjectiveScore=\u4e3b\u89c2\u5206
+student.search.list.totalScore=\u603b\u5206
+student.search.list.remark=\u5907\u6ce8

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

@@ -1,294 +1,294 @@
 #login
-user.login.title=\u9AD8\u6821\u8003\u8BD5\u7BA1\u7406\u5E73\u53F0
-user.login.admin=\u7BA1\u7406\u5458\u767B\u5F55
-user.login.marker=\u8BC4\u5377\u5458\u767B\u5F55
-user.login.name=\u7528\u6237\u540D
-user.login.password=\u5BC6\u7801
-user.login.submit=\u767B\u5F55
-user.login.error.account=\u5E10\u53F7\u4E0D\u5B58\u5728
-user.login.error.finish=\u8BC4\u5377\u5206\u7EC4\u5DF2\u7ED3\u675F
-user.login.error.group=\u5927\u9898\u4E0D\u5B58\u5728
-user.login.error.disabled=\u5E10\u53F7\u5DF2\u7981\u7528
-user.login.error.password=\u5BC6\u7801\u9519\u8BEF
-user.login.error.access=\u7528\u6237\u6CA1\u6709\u8BBF\u95EE\u6743\u9650
+user.login.title=\u9ad8\u6821\u8003\u8bd5\u7ba1\u7406\u5e73\u53f0
+user.login.admin=\u7ba1\u7406\u5458\u767b\u5f55
+user.login.marker=\u8bc4\u5377\u5458\u767b\u5f55
+user.login.name=\u8d26\u53f7
+user.login.password=\u5bc6\u7801
+user.login.submit=\u767b\u5f55
+user.login.error.account=\u5e10\u53f7\u4e0d\u5b58\u5728
+user.login.error.finish=\u8bc4\u5377\u5206\u7ec4\u5df2\u7ed3\u675f
+user.login.error.group=\u5927\u9898\u4e0d\u5b58\u5728
+user.login.error.disabled=\u5e10\u53f7\u5df2\u7981\u7528
+user.login.error.password=\u5bc6\u7801\u9519\u8bef
+user.login.error.access=\u7528\u6237\u6ca1\u6709\u8bbf\u95ee\u6743\u9650
 #reset
-user.reset.submit=\u786E\u5B9A
-user.reset.logout=\u9000\u51FA
-user.reset.title=\u9996\u6B21\u767B\u5F55\uFF0C\u8BF7\u5B8C\u5584\u8D44\u6599
-user.reset.name=\u8F93\u5165\u7528\u6237\u540D
-user.reset.password=\u8F93\u5165\u65B0\u5BC6\u7801
-user.reset.password.again=\u518D\u6B21\u8F93\u5165\u65B0\u5BC6\u7801
-user.reset.name.length=\u957F\u5EA6\u4E0D\u80FD\u8D85\u8FC710\u4E2A\u5B57
-user.reset.name.chinese=\u8BF7\u8F93\u5165\u4E2D\u6587
-user.reset.password.same=\u4E24\u6B21\u5BC6\u7801\u8BF7\u4FDD\u6301\u4E00\u81F4
-user.reset.password.length=\u5BC6\u7801\u7684\u957F\u5EA6\u81F3\u5C114\u4F4D\uFF0C\u4E0D\u80FD\u8D85\u8FC78\u4F4D
+user.reset.submit=\u786e\u5b9a
+user.reset.logout=\u9000\u51fa
+user.reset.title=\u9996\u6b21\u767b\u5f55\uff0c\u8bf7\u5b8c\u5584\u8d44\u6599
+user.reset.name=\u8f93\u5165\u59d3\u540d
+user.reset.password=\u8f93\u5165\u65b0\u5bc6\u7801
+user.reset.password.again=\u518d\u6b21\u8f93\u5165\u65b0\u5bc6\u7801
+user.reset.name.length=\u957f\u5ea6\u4e0d\u80fd\u8d85\u8fc710\u4e2a\u5b57
+user.reset.name.chinese=\u8bf7\u8f93\u5165\u4e2d\u6587
+user.reset.password.same=\u4e24\u6b21\u5bc6\u7801\u8bf7\u4fdd\u6301\u4e00\u81f4
+user.reset.password.length=\u5bc6\u7801\u7684\u957f\u5ea6\u81f3\u5c114\u4f4d\uff0c\u4e0d\u80fd\u8d85\u8fc78\u4f4d
 #mark-control
-mark.control.assistant=\u5C0F\u52A9\u624B
-mark.control.mode.track=\u5207\u6362\u5230\u8F68\u8FF9\u6A21\u5F0F
-mark.control.mode.common=\u5207\u6362\u5230\u666E\u901A\u6A21\u5F0F
-mark.control.board=\u7ED9\u5206\u677F
-mark.control.function=\u8BC4\u5377\u529F\u80FD
-mark.control.logout=\u9000\u51FA
-mark.control.init.error=\u521D\u59CB\u5316\u5931\u8D25\uFF0C\u8BF7\u5237\u65B0\u9875\u9762\u91CD\u65B0\u52A0\u8F7D
-mark.control.task.not.exist=\u8BC4\u5377\u5927\u9898\u4E0D\u5B58\u5728
-mark.control.task.finish=\u8BC4\u5377\u5DF2\u7ED3\u675F
-mark.control.task.null=\u5F53\u524D\u65E0\u8BC4\u5377\u4EFB\u52A1
-mark.control.task.error=\u8BC4\u5377\u4EFB\u52A1\u63D0\u4EA4\u5931\u8D25\uFF0C\u8BF7\u5237\u65B0\u9875\u9762
-mark.control.group=\u5207\u6362\u5206\u7EC4
+mark.control.assistant=\u5c0f\u52a9\u624b
+mark.control.mode.track=\u5207\u6362\u5230\u8f68\u8ff9\u6a21\u5f0f
+mark.control.mode.common=\u5207\u6362\u5230\u666e\u901a\u6a21\u5f0f
+mark.control.board=\u7ed9\u5206\u677f
+mark.control.function=\u8bc4\u5377\u529f\u80fd
+mark.control.logout=\u9000\u51fa
+mark.control.init.error=\u521d\u59cb\u5316\u5931\u8d25\uff0c\u8bf7\u5237\u65b0\u9875\u9762\u91cd\u65b0\u52a0\u8f7d
+mark.control.task.not.exist=\u8bc4\u5377\u5927\u9898\u4e0d\u5b58\u5728
+mark.control.task.finish=\u8bc4\u5377\u5df2\u7ed3\u675f
+mark.control.task.null=\u5f53\u524d\u65e0\u8bc4\u5377\u4efb\u52a1
+mark.control.task.error=\u8bc4\u5377\u4efb\u52a1\u63d0\u4ea4\u5931\u8d25\uff0c\u8bf7\u5237\u65b0\u9875\u9762
+mark.control.group=\u5207\u6362\u5206\u7ec4
 #status
-mark.status.student.number=\u8003\u751F\u7F16\u53F7
-mark.status.library.number=\u4EFB\u52A1\u7F16\u53F7
-mark.status.objective.score=\u5BA2\u89C2\u5F97\u5206
-mark.status.marked.count=\u5DF2\u8BC4
-mark.status.unmark.count=\u672A\u8BC4
-mark.status.top.count=\u5206\u914D
-mark.status.progress=\u8FDB\u5EA6
-mark.status.continue=\u7EE7\u7EED
-mark.status.top.count.finish=\u5206\u914D\u4EFB\u52A1\u5DF2\u8BC4\u5B8C\uFF0C\u662F\u5426\u7EE7\u7EED\uFF1F
-mark.status.loading=\u6B63\u5728\u52A0\u8F7D...
-mark.status.logout=\u9000\u51FA
+mark.status.student.number=\u8003\u751f\u7f16\u53f7
+mark.status.library.number=\u4efb\u52a1\u7f16\u53f7
+mark.status.objective.score=\u5ba2\u89c2\u5f97\u5206
+mark.status.marked.count=\u5df2\u8bc4
+mark.status.unmark.count=\u672a\u8bc4
+mark.status.top.count=\u5206\u914d
+mark.status.progress=\u8fdb\u5ea6
+mark.status.continue=\u7ee7\u7eed
+mark.status.top.count.finish=\u5206\u914d\u4efb\u52a1\u5df2\u8bc4\u5b8c\uff0c\u662f\u5426\u7ee7\u7eed\uff1f
+mark.status.loading=\u6b63\u5728\u52a0\u8f7d...
+mark.status.logout=\u9000\u51fa
 #single-image-view
-mark.single.zoom.in=\u653E\u5927
-mark.single.zoom.out=\u7F29\u5C0F
-mark.single.zoom.fit=\u9002\u5E94
-mark.single.student.answer=\u7B54\u5377
+mark.single.zoom.in=\u653e\u5927
+mark.single.zoom.out=\u7f29\u5c0f
+mark.single.zoom.fit=\u9002\u5e94
+mark.single.student.answer=\u7b54\u5377
 #chang name
-mark.change.name=\u4FEE\u6539\u4E2A\u4EBA\u4FE1\u606F
-mark.change.press.name=\u8F93\u5165\u7528\u6237\u540D
-mark.change.press.password=\u8F93\u5165\u65B0\u5BC6\u7801
-mark.change.press.password.again=\u518D\u6B21\u8F93\u5165\u65B0\u5BC6\u7801
-mark.change.confirm=\u786E\u5B9A
-mark.change.name.null=\u540D\u5B57\u4E0D\u80FD\u4E3A\u7A7A
-mark.change.name.length=\u957F\u5EA6\u4E0D\u80FD\u8D85\u8FC78\u4E2A\u5B57
-mark.change.password.same=\u4E24\u6B21\u5BC6\u7801\u8BF7\u4FDD\u6301\u4E00\u81F4
-mark.change.password.length=\u5BC6\u7801\u7684\u957F\u5EA6\u81F3\u5C114\u4F4D
-mark.change.network.error=\u7F51\u7EDC\u901A\u4FE1\u9519\u8BEF\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5
-mark.change.error=\u4FEE\u6539\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5
+mark.change.name=\u4fee\u6539\u4e2a\u4eba\u4fe1\u606f
+mark.change.press.name=\u8f93\u5165\u7528\u6237\u540d
+mark.change.press.password=\u8f93\u5165\u65b0\u5bc6\u7801
+mark.change.press.password.again=\u518d\u6b21\u8f93\u5165\u65b0\u5bc6\u7801
+mark.change.confirm=\u786e\u5b9a
+mark.change.name.null=\u540d\u5b57\u4e0d\u80fd\u4e3a\u7a7a
+mark.change.name.length=\u957f\u5ea6\u4e0d\u80fd\u8d85\u8fc78\u4e2a\u5b57
+mark.change.password.same=\u4e24\u6b21\u5bc6\u7801\u8bf7\u4fdd\u6301\u4e00\u81f4
+mark.change.password.length=\u5bc6\u7801\u7684\u957f\u5ea6\u81f3\u5c114\u4f4d
+mark.change.network.error=\u7f51\u7edc\u901a\u4fe1\u9519\u8bef\uff0c\u8bf7\u7a0d\u540e\u91cd\u8bd5
+mark.change.error=\u4fee\u6539\u5931\u8d25\uff0c\u8bf7\u7a0d\u540e\u91cd\u8bd5
 #specialTag
-mark.special.tag=\u7279\u6B8A\u6807\u8BB0
-mark.special.back=\u56DE\u9000
-mark.special.clear=\u5168\u90E8\u6E05\u9664
-mark.special.underline=\u4E0B\u5212\u7EBF
-mark.special.open=\u6253\u5F00
-mark.special.close=\u5173\u95ED
+mark.special.tag=\u7279\u6b8a\u6807\u8bb0
+mark.special.back=\u56de\u9000
+mark.special.clear=\u5168\u90e8\u6e05\u9664
+mark.special.underline=\u4e0b\u5212\u7ebf
+mark.special.open=\u6253\u5f00
+mark.special.close=\u5173\u95ed
 #problem-process
-mark.problem=\u95EE\u9898\u5377
-mark.problem.type=\u9009\u62E9\u95EE\u9898\u7C7B\u578B
-mark.problem.confirm=\u786E\u5B9A
-mark.problem.cancel=\u53D6\u6D88
-mark.problem.check=\u8BF7\u9009\u62E9\u95EE\u9898\u5206\u7C7B
+mark.problem=\u95ee\u9898\u5377
+mark.problem.type=\u9009\u62e9\u95ee\u9898\u7c7b\u578b
+mark.problem.confirm=\u786e\u5b9a
+mark.problem.cancel=\u53d6\u6d88
+mark.problem.check=\u8bf7\u9009\u62e9\u95ee\u9898\u5206\u7c7b
 #thumbnail
-mark.thumbnail=\u7F29\u7565\u56FE
-mark.thumbnail.open=\u6253\u5F00
-mark.thumbnail.close=\u5173\u95ED
+mark.thumbnail=\u7f29\u7565\u56fe
+mark.thumbnail.open=\u6253\u5f00
+mark.thumbnail.close=\u5173\u95ed
 #view-sidebar
-mark.sidebar=\u4FA7\u8FB9\u680F
-mark.sidebar.paper=\u8BD5\u5377
-mark.sidebar.answer=\u7B54\u6848
+mark.sidebar=\u4fa7\u8fb9\u680f
+mark.sidebar.paper=\u8bd5\u5377
+mark.sidebar.answer=\u7b54\u6848
 #mark-history
-mark.history.title=\u56DE\u8BC4
-mark.history.time=\u65F6\u95F4
-mark.history.number=\u7F16\u53F7
-mark.history.score=\u603B\u5206
-mark.history.search=\u67E5\u627E\u8BD5\u5377
-mark.history.pre=\u524D
-mark.history.success=\u56DE\u8BC4\u6210\u529F\uFF0C\u603B\u5206\uFF1A
-mark.history.problem=\u56DE\u8BC4\u6210\u529F\uFF0C\u5DF2\u63D0\u4EA4\u95EE\u9898\u5377
-mark.history.loading=\u6B63\u5728\u52A0\u8F7D\u8BF7\u7A0D\u5019
-mark.history.error=\u6682\u65F6\u65E0\u6CD5\u8BFB\u53D6\u8BC4\u5377\u5386\u53F2\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5
-mark.history.number.error=\u8BF7\u8F93\u5165\u6570\u5B57
+mark.history.title=\u56de\u8bc4
+mark.history.time=\u65f6\u95f4
+mark.history.number=\u7f16\u53f7
+mark.history.score=\u603b\u5206
+mark.history.search=\u67e5\u627e\u8bd5\u5377
+mark.history.pre=\u524d
+mark.history.success=\u56de\u8bc4\u6210\u529f\uff0c\u603b\u5206\uff1a
+mark.history.problem=\u56de\u8bc4\u6210\u529f\uff0c\u5df2\u63d0\u4ea4\u95ee\u9898\u5377
+mark.history.loading=\u6b63\u5728\u52a0\u8f7d\u8bf7\u7a0d\u5019
+mark.history.error=\u6682\u65f6\u65e0\u6cd5\u8bfb\u53d6\u8bc4\u5377\u5386\u53f2\uff0c\u8bf7\u7a0d\u540e\u91cd\u8bd5
+mark.history.number.error=\u8bf7\u8f93\u5165\u6570\u5b57
 #mark-board
-mark.board.submit=\u63D0\u4EA4
-mark.board.total.score=\u603B\u5206
-mark.board.score.zero=\u5168\u96F6\u5206
-mark.board.pass=\u8DF3 \u8FC7
-mark.board.choose.result=\u9009\u505A\u7ED3\u679C
-mark.board.keyboard=\u952E\u76D8\u7ED9\u5206 >>
-mark.board.mouse=<< \u9F20\u6807\u7ED9\u5206
-mark.board.interval=\u95F4\u9694
+mark.board.submit=\u63d0\u4ea4
+mark.board.total.score=\u603b\u5206
+mark.board.score.zero=\u5168\u96f6\u5206
+mark.board.pass=\u8df3 \u8fc7
+mark.board.choose.result=\u9009\u505a\u7ed3\u679c
+mark.board.keyboard=\u952e\u76d8\u7ed9\u5206 >>
+mark.board.mouse=<< \u9f20\u6807\u7ed9\u5206
+mark.board.interval=\u95f4\u9694
 mark.board.score=\u5206
-mark.board.back=\u56DE\u9000
-mark.board.clear.question=\u6E05\u9664\u672C\u9898
-mark.board.clear=\u6E05\u9664\u5168\u5377
-mark.board.question.not.mark=\u5F53\u524D\u4EFB\u52A1\u8FD8\u6709\u672A\u7ED9\u5206\u7684\u9898\uFF0C\u8BF7\u7EE7\u7EED\u7ED9\u5206
-mark.board.confirm=,\u786E\u8BA4\u63D0\u4EA4\u5417\uFF1F
-mark.board.zero.confirm=\u786E\u8BA4\u8981\u63D0\u4EA4\u5168\u96F6\u5206\u5417\uFF1F
-mark.board.null=\u65E0
-mark.board.interval.error=\u4E0D\u7B26\u5408\u5206\u503C\u95F4\u9694\u8981\u6C42
-mark.board.gt=\u4E0D\u80FD\u5927\u4E8E
-mark.board.lt=\u4E0D\u80FD\u5C0F\u4E8E
-mark.board.number.error=\u4E0D\u662F\u5408\u6CD5\u6570\u5B57
+mark.board.back=\u56de\u9000
+mark.board.clear.question=\u6e05\u9664\u672c\u9898
+mark.board.clear=\u6e05\u9664\u5168\u5377
+mark.board.question.not.mark=\u5f53\u524d\u4efb\u52a1\u8fd8\u6709\u672a\u7ed9\u5206\u7684\u9898\uff0c\u8bf7\u7ee7\u7eed\u7ed9\u5206
+mark.board.confirm=,\u786e\u8ba4\u63d0\u4ea4\u5417\uff1f
+mark.board.zero.confirm=\u786e\u8ba4\u8981\u63d0\u4ea4\u5168\u96f6\u5206\u5417\uff1f
+mark.board.null=\u65e0
+mark.board.interval.error=\u4e0d\u7b26\u5408\u5206\u503c\u95f4\u9694\u8981\u6c42
+mark.board.gt=\u4e0d\u80fd\u5927\u4e8e
+mark.board.lt=\u4e0d\u80fd\u5c0f\u4e8e
+mark.board.number.error=\u4e0d\u662f\u5408\u6cd5\u6570\u5b57
 #sheet-view
-mark.sheet=\u539F\u56FE
-mark.sheet.check=\u539F\u56FE\u5207\u6362
-mark.sheet.open=\u6253\u5F00
-mark.sheet.close=\u5173\u95ED
+mark.sheet=\u539f\u56fe
+mark.sheet.check=\u539f\u56fe\u5207\u6362
+mark.sheet.open=\u6253\u5f00
+mark.sheet.close=\u5173\u95ed
 #slice-view
 mark.slice=\u5168\u5377
 mark.slice.check=\u5168\u5377\u5207\u6362
-mark.slice.open=\u6253\u5F00
-mark.slice.close=\u5173\u95ED
+mark.slice.open=\u6253\u5f00
+mark.slice.close=\u5173\u95ed
 #answer-view
-mark.answer=\u6807\u7B54
+mark.answer=\u6807\u7b54
 #warning-info
-mark.warning.try.again=\u8BF7\u70B9\u51FB\u91CD\u8BD5
-mark.warning.force.special.tag=\u5F3A\u5236\u7279\u6B8A\u6807\u8BB0\u5DF2\u5F00\u542F\uFF0C\u81F3\u5C11\u4F7F\u7528\u4E00\u4E2A\u7279\u6B8A\u6807\u8BB0
-mark.warning.network.error=\u7F51\u7EDC\u5F02\u5E38\uFF0C\u4EFB\u52A1\u63D0\u4EA4\u5931\u8D25
-mark.warning.task.error=\u9886\u53D6\u8BC4\u5377\u4EFB\u52A1\u51FA\u9519
-mark.warning.task.finish=\u8BC4\u5377\u4EFB\u52A1\u5DF2\u5B8C\u6210
-mark.warning.task.loading=\u8BC4\u5377\u4EFB\u52A1\u6B63\u5728\u52A0\u8F7D\u4E2D
-mark.warning.close=\u5173\u95ED
-mark.warning.success=\u56DE\u8BC4\u6210\u529F\uFF0C\u603B\u5206\uFF1A
-mark.warning.problem=\u56DE\u8BC4\u95EE\u9898\u5377\u6210\u529F
+mark.warning.try.again=\u8bf7\u70b9\u51fb\u91cd\u8bd5
+mark.warning.force.special.tag=\u5f3a\u5236\u7279\u6b8a\u6807\u8bb0\u5df2\u5f00\u542f\uff0c\u81f3\u5c11\u4f7f\u7528\u4e00\u4e2a\u7279\u6b8a\u6807\u8bb0
+mark.warning.network.error=\u7f51\u7edc\u5f02\u5e38\uff0c\u4efb\u52a1\u63d0\u4ea4\u5931\u8d25
+mark.warning.task.error=\u9886\u53d6\u8bc4\u5377\u4efb\u52a1\u51fa\u9519
+mark.warning.task.finish=\u8bc4\u5377\u4efb\u52a1\u5df2\u5b8c\u6210
+mark.warning.task.loading=\u8bc4\u5377\u4efb\u52a1\u6b63\u5728\u52a0\u8f7d\u4e2d
+mark.warning.close=\u5173\u95ed
+mark.warning.success=\u56de\u8bc4\u6210\u529f\uff0c\u603b\u5206\uff1a
+mark.warning.problem=\u56de\u8bc4\u95ee\u9898\u5377\u6210\u529f
 #json-view
-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.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
 
 #index
-index.user=\u7528\u6237\u7BA1\u7406
-index.exam=\u8003\u8BD5\u7BA1\u7406
-index.student=\u8003\u751F\u7BA1\u7406
-index.paper=\u79D1\u76EE\u7BA1\u7406
-index.scan=\u626B\u63CF\u8FDB\u5EA6
-index.mark=\u8BC4\u5377\u7BA1\u7406
-index.score=\u6210\u7EE9\u67E5\u8BE2
-index.inspected=\u6210\u7EE9\u590D\u6838
-index.problem=\u95EE\u9898\u8BD5\u5377
-index.report.total=\u603B\u91CF\u5206\u6790
-index.report.subject=\u79D1\u76EE\u5206\u6790
-index.check=\u6570\u636E\u68C0\u67E5
-index.log=\u64CD\u4F5C\u65E5\u5FD7
+index.user=\u7528\u6237\u7ba1\u7406
+index.exam=\u8003\u8bd5\u7ba1\u7406
+index.student=\u8003\u751f\u7ba1\u7406
+index.paper=\u79d1\u76ee\u7ba1\u7406
+index.scan=\u626b\u63cf\u8fdb\u5ea6
+index.mark=\u8bc4\u5377\u7ba1\u7406
+index.score=\u6210\u7ee9\u67e5\u8be2
+index.inspected=\u6210\u7ee9\u590d\u6838
+index.problem=\u95ee\u9898\u8bd5\u5377
+index.report.total=\u603b\u91cf\u5206\u6790
+index.report.subject=\u79d1\u76ee\u5206\u6790
+index.check=\u6570\u636e\u68c0\u67e5
+index.log=\u64cd\u4f5c\u65e5\u5fd7
 
 #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.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.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.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.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.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.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.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.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
+report.massage.school.null=\u627e\u4e0d\u5230\u5b66\u6821
 #head
-head.title=\u4E91\u9605\u5377
-head.logout=\u9000\u51FA
+head.title=\u4e91\u9605\u5377
+head.logout=\u9000\u51fa
 
 #student search
-student.search.title=\u5B66\u751F\u67E5\u8BE2\u6210\u7EE9
-student.search.code=\u8BF7\u8F93\u5165\u5B66\u53F7
-student.search.name=\u8BF7\u8F93\u5165\u59D3\u540D
-student.search.submit=\u67E5\u8BE2
-student.search.error=\u5B66\u6821\u4E0D\u5B58\u5728
+student.search.title=\u5b66\u751f\u67e5\u8be2\u6210\u7ee9
+student.search.code=\u8bf7\u8f93\u5165\u5b66\u53f7
+student.search.name=\u8bf7\u8f93\u5165\u59d3\u540d
+student.search.submit=\u67e5\u8be2
+student.search.error=\u5b66\u6821\u4e0d\u5b58\u5728
 #student search list
-student.search.list.examName=\u8003\u8BD5\u540D\u79F0
-student.search.list.subjectName=\u8BFE\u7A0B\u540D\u79F0
-student.search.list.objectiveScore=\u5BA2\u89C2\u5206
-student.search.list.subjectiveScore=\u4E3B\u89C2\u5206
-student.search.list.totalScore=\u603B\u5206
-student.search.list.remark=\u5907\u6CE8
+student.search.list.examName=\u8003\u8bd5\u540d\u79f0
+student.search.list.subjectName=\u8bfe\u7a0b\u540d\u79f0
+student.search.list.objectiveScore=\u5ba2\u89c2\u5206
+student.search.list.subjectiveScore=\u4e3b\u89c2\u5206
+student.search.list.totalScore=\u603b\u5206
+student.search.list.remark=\u5907\u6ce8