11wqe1 3 miesięcy temu
rodzic
commit
960720a92a

+ 66 - 66
src/components/pages/synergyCourse/addCourse.vue

@@ -17,13 +17,13 @@
                     org +
                     '&role=' +
                     role,
-                }">协同建构</el-breadcrumb-item>
+                }">{{ lang.CocoNote }}</el-breadcrumb-item>
                 <el-breadcrumb-item>
-                  <span style="color: rgb(15, 126, 255)">创建协同建构</span>
+                  <span style="color: rgb(15, 126, 255)">{{ lang.EditCoconote }}</span>
                 </el-breadcrumb-item>
               </el-breadcrumb>
             </div>
-            <div class="r_pub_button_retrun" @click="lastSteps()">返回</div>
+            <div class="r_pub_button_retrun" @click="lastSteps()">{{ lang.Back }}</div>
           </div>
           <div class="rightBox" style="padding: 0;"
             :style="{ height: (!isBtnDisplay) ? 'calc(100% - 50px)' : 'calc(100% - 120px)' }" v-if="this.steps == 1">
@@ -45,7 +45,7 @@
                         <div style="width: 100%;">
                           <div class="course_input_box">
                             <div class="bb_courseIcon"><img src="../../../assets/icon/new/course.png" /></div>
-                            <input type="text" placeholder="项目名称" class="binfo_input" v-model="courseName"
+                            <input type="text" :placeholder="lang.NoteName" class="binfo_input" v-model="courseName"
                               style="border: 1.5px solid rgb(202, 209, 220);margin: 0px 10px 0px 0px;border-radius: 5px;font-weight: 600;padding: 12px 14px 12px 71px;"
                               @change="changeName" />
                             <!-- background: #f6f6f6; -->
@@ -55,7 +55,7 @@
                         </div>
                       </div>
                       <div class="pType_box all_choose" v-if="oid == '69893dca-1d47-11ed-8c78-005056b86db5'">
-                        <span>类型</span>
+                        <span>{{ lang.type }}</span>
                         <!-- 学科+ 主题+  未来+ -->
                         <el-radio-group @change="CourseType2Change" v-model="pTypeCheckName"
                           style="display: flex; align-items: center">
@@ -96,11 +96,11 @@
                       <!-- <div class="ai_box">
                       <div class="ai_content" @click="openAI"><img src="../../assets/icon/new/ai.png"/><span>AI共创</span></div>
                     </div> -->
-                      <div class="c_info_title" style="padding: 0 0 15px;margin: 0 auto 0 0;">上传封面</div>
+                      <div class="c_info_title" style="padding: 0 0 15px;margin: 0 auto 0 0;">{{ lang.Cover }}</div>
                       <div style="width: 100%;">
                         <div class="uploadFm" @click="choosePicVisible = true" v-if="cover.length == 0">
                           <img src="../../../assets/icon/addPoster.png" alt="" />
-                          <div>点击添加封面</div>
+                          <div>{{ lang.AddCoverimage }}</div>
                         </div>
                         <el-upload :class="{ disUoloadSty: noneBtnImg }" class="upCss" action="#" list-type="picture"
                           v-loading="uploadLoading1" :http-request="beforeUpload1" ref="upload1"
@@ -118,26 +118,26 @@
               <div class="wb_j_box">
                 <div class="wb_j_box_content">
                   <div class="wb_j_box_btn" @click="openMember">
-                    <div class="wb_j_box_title">协同人员</div>
+                    <div class="wb_j_box_title">{{ lang.Collaborator }}</div>
                     <div class="wb_j_box_btn_c">
                       <el-tooltip effect="dark" :content="getListMan2(checkboxList3)" placement="top"
                         v-if="checkboxList3.length" popper-class="text_tooltip2">
                         <div class="wb_j_box_span">{{ getListMan2(checkboxList3) }}</div>
                       </el-tooltip>
-                      <div v-else class="wb_j_box_span">请选择协同人员</div>
+                      <div v-else class="wb_j_box_span">{{ lang.Psac }}</div>
                       <div class="wb_j_box_arrow"></div>
                     </div>
                   </div>
                 </div>
                 <div style="margin-left: auto;">
-                  <button class="c_pub_button_add pub_btn_paste_img" @click="pasteTask" v-if="isPasteTask">智能粘贴</button>
+                  <button class="c_pub_button_add pub_btn_paste_img" @click="pasteTask" v-if="isPasteTask"> {{ lang.SMARTPaste }}</button>
                 </div>
               </div>
             </div>
             <div class="whiteBg" style="margin-top: 10px">
               <groupBox :cid="cid" :people="checkboxList3" :classList="classList" :courseDetail="courseDetail"
                 :userid="userid" :type="1" classId="" :oid="oid" v-if="cid" @open2="open2"></groupBox>
-              <div v-else class="tipsBox">请添加课程名称后才能设置分组</div>
+              <div v-else class="tipsBox">{{ lang.Pleaseaddgroups }}</div>
             </div>
             <div class="whiteBg" style="border-radius: 0; background:#F0F2F5;" v-if="false">
               <div style="display: flex">
@@ -1539,11 +1539,11 @@
             </div>
             <div class="info_btnBox3">
               <button class="c_pub_button_return pub_btn_return_img" @click="lastSteps">
-                返回首页
+                {{ lang.returnHomepage }}
               </button>
               <button class="c_pub_button_confirm pub_btn_finish_img" @click="nextSteps"
                 v-if="!(cid && userid != courseUserid && role != '1')">
-                确认创建
+                {{ lang.Confirmcreation }}
               </button>
             </div>
           </div>
@@ -1748,41 +1748,41 @@
         <el-button type="primary" @click="isAddPPTeacher">确定</el-button>
       </span>
     </el-dialog> -->
-    <el-dialog title="添加协同成员" :visible.sync="dialogVisibleMember" :append-to-body="true" width="25%" height="80%"
+    <el-dialog :title="lang.Addmembers" :visible.sync="dialogVisibleMember" :append-to-body="true" width="25%" height="80%"
       :before-close="handleClose" class="addNewPP customWidth" >
       <div v-loading="teacherLoading">
         <div class="people">
           <div class="people_top">
             <div class="people_top_right">
               <div class="people_search">
-                <el-input placeholder="搜索完整的姓名/账号(不含邮箱后缀)" v-model="searchTN" @keyup.enter.native="getTeacher"></el-input>
+                <el-input :placeholder="lang.Searchforaccount" v-model="searchTN" @keyup.enter.native="getTeacher"></el-input>
                 <div class="search_img" @click="getTeacher">
                   <img src="../../../assets/icon/search.png" alt />
                 </div>
               </div>
             </div>
-            <div class="people_nav">选择成员</div>
+            <div class="people_nav">{{ lang.SelectMembers }}</div>
           </div>
           <div class="t_j_box" style="
               padding: 20px 0 0 25px;
               width: calc(100% - 55px);
               margin-left: 25px;
             ">
-            <span>姓名</span>
-            <span>身份</span>
-            <span>账号</span>
-            <span>学校</span>
+            <span>{{ lang.Name }}</span>
+            <span>{{ lang.identity }}</span>
+            <span>{{ lang.identity }}</span>
+            <span>{{ lang.school }}</span>
           </div>
           <div style="margin-left:25px;">
-            <el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="handleCheckAllChange" style="display: flex;align-items: center;">全选</el-checkbox>
+            <el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="handleCheckAllChange" style="display: flex;align-items: center;">{{ lang.SelectAll }}</el-checkbox>
           </div>
           <el-checkbox-group v-model="checkboxList3" @change="handleCheckedTeacherJuriChange" class="people_name" v-if="teacherJuri.length">
             <el-checkbox v-for="item in teacherJuri" :key="item.userid" :label="item.userid">
               <div class="t_j_box">
-                <el-tooltip placement="top" :content="item.name ? item.name : '暂无姓名'">
-                  <span>{{ item.name ? item.name : "暂无姓名" }}</span>
+                <el-tooltip placement="top" :content="item.name ? item.name : lang.Noname">
+                  <span>{{ item.name ? item.name : lang.Noname }}</span>
                 </el-tooltip>
-                <span>{{ item.type == "1" ? "老师" : "学生" }}</span>
+                <span>{{ item.type == "1" ? lang.teacher : lang.student }}</span>
                 <el-tooltip placement="top" :content="item.username">
                   <span>{{ item.username }}</span>
                 </el-tooltip>
@@ -1792,7 +1792,7 @@
               </div>
             </el-checkbox>
           </el-checkbox-group>
-          <div style="text-align: center; margin-top: 10px" v-else>暂无数据</div>
+          <div style="text-align: center; margin-top: 10px" v-else>{{ lang.Nodata }}</div>
         </div>
         <div style="margin-top: 10px;" >
           <el-pagination background layout="prev, pager, next" :page-size="pageSize" :total="total"
@@ -1801,8 +1801,8 @@
         </div>
       </div>
       <span slot="footer" class="dialog-footer">
-        <el-button @click="page = 0;dialogVisibleMember = false;">取 消</el-button>
-        <el-button type="primary" @click="isAddPPTeacher">确定</el-button>
+        <el-button @click="page = 0;dialogVisibleMember = false;">{{ lang.Cancel }}</el-button>
+        <el-button type="primary" @click="isAddPPTeacher">{{ lang.Confirm }}</el-button>
       </span>
     </el-dialog>
     <el-dialog title="创建问卷" :visible.sync="dialogVisible5" :append-to-body="true" width="800px"
@@ -2272,16 +2272,16 @@
         <el-button type="primary" @click="addMp3Answer">确 定</el-button>
       </span>
     </el-dialog>
-    <el-dialog title="上传图片" :visible.sync="choosePicVisible" :append-to-body="true" width="600px"
+    <el-dialog :title="lang.uploadpictures" :visible.sync="choosePicVisible" :append-to-body="true" width="600px"
       :before-close="handleClose" class="dialog_diy">
       <div>
         <div class="fileCss" style="padding-top: 20px">
           <div>
             <button class="info_btn" @click="addImg($event)">
-              选择本地文件
+              {{ lang.Selectlocalfile }}
               <input type="file" accept="image/*" style="display: none" @change="beforeUpload1" />
             </button>
-            <div class="spanName">选择本地文件</div>
+            <div class="spanName"> {{ lang.Selectlocalfile }}</div>
           </div>
           <!-- <div>
             <el-button @click="getAllBanner" v-if="isSysPic == false">选择系统文件</el-button>
@@ -2294,14 +2294,14 @@
             <div class="spanName">选择系统文件</div>
           </div> -->
           <div>
-            <el-button @click="searchImageValue = courseName, resetImage()" v-if="isSysPic2 == false">选择网络文件</el-button>
+            <el-button @click="searchImageValue = courseName, resetImage()" v-if="isSysPic2 == false"> {{ lang.Selectnetworkfiles }}</el-button>
             <div class="isSysPic" v-if="isSysPic2 == true && cover.length > 0">
               <img :src="cover[0].url" alt="" />
               <div class="deletePic" @click="deleteSysPic">
                 <img src="../../../assets/icon/delete.png" alt="" />
               </div>
             </div>
-            <div class="spanName">选择网络文件</div>
+            <div class="spanName"> {{ lang.Selectnetworkfiles }}</div>
           </div>
         </div>
         <!-- <div class="fileCss">
@@ -2310,8 +2310,8 @@
         </div> -->
       </div>
       <span slot="footer" class="dialog-footer">
-        <el-button @click="choosePicVisible = false">取 消</el-button>
-        <el-button type="primary" @click="choosePicVisible = false">确 定</el-button>
+        <el-button @click="choosePicVisible = false">{{ lang.Cancel }}</el-button>
+        <el-button type="primary" @click="choosePicVisible = false">{{ lang.Confirm }}</el-button>
       </span>
     </el-dialog>
     <el-dialog title="选择系统文件" :visible.sync="sysPicVisible" :append-to-body="true" width="710px"
@@ -2336,21 +2336,21 @@
         </div>
       </div>
     </el-dialog>
-    <el-dialog title="选择网络文件" :visible.sync="sysPicVisible2" :append-to-body="true" width="710px"
+    <el-dialog :title="lang.Selectnetworkfiles" :visible.sync="sysPicVisible2" :append-to-body="true" width="710px"
       :before-close="handleClose" class="dialog_diy">
       <div>
         <div class="people_top_right" style="display: flex;align-items: center;">
           <div style="position: relative; width: 100%;">
-            <el-input style="height: 100%" placeholder="搜索图片关键字" v-model="searchImageValue"
+            <el-input style="height: 100%" :placeholder="lang.Searchimagekeywords" v-model="searchImageValue"
               @keyup.enter.native="resetImage()"></el-input>
             <div class="search_img" @click="resetImage" style="right: 10px;">
               <img src="../../../assets/icon/search.png" alt />
             </div>
           </div>
-          <el-button type="primary" size="default" style="margin-left: 10px;" @click="changePicture">换一组</el-button>
+          <el-button type="primary" size="default" style="margin-left: 10px;" @click="changePicture">{{ lang.Changeanothergroup }}</el-button>
         </div>
         <div class="sysPicBox" v-loading="imageloading">
-          <div class="picNone" v-if="!imageList.length">请输入关键词搜索图片</div>
+          <div class="picNone" v-if="!imageList.length">{{ lang.enterkeywordsimages }}</div>
           <div v-for="(sys, sysIndex) in imageList" :key="sysIndex" class="sysPic">
             <img :src="sys.url" alt="" @click="chooseSysPic2(sys.url)" />
           </div>
@@ -3165,7 +3165,7 @@ export default {
             // this.courseId = this.cid;
           })
           .catch((err) => {
-            this.$message.error("网络不佳");
+            this.$message.error(this.lang.Poorinternetconnection);
             console.error(err);
           });
       }
@@ -3334,9 +3334,9 @@ export default {
     },
     closeConfirm(tool) {
       this
-        .$confirm("是否保存已编辑内容?", "提示", {
-          confirmButtonText: "保存",
-          cancelButtonText: "不保存",
+        .$confirm(this.lang.wantsavecontent, this.lang.tip, {
+          confirmButtonText: this.lang.saveCoco,
+          cancelButtonText: this.lang.notsave,
           distinguishCancelAndClose: true,
           type: "warning",
         })
@@ -3428,23 +3428,23 @@ export default {
         );
       } else {
         this
-          .$confirm("是否保存已编辑内容?", "提示", {
-            confirmButtonText: "保存",
-            cancelButtonText: "不保存",
+          .$confirm(this.lang.wantsavecontent, this.lang.tip, {
+            confirmButtonText: this.lang.saveCoco,
+            cancelButtonText: this.lang.notsave,
             distinguishCancelAndClose: true,
             type: "warning",
           })
           .then(() => {
             if (this.cid == "" || this.cid == undefined) {
               if (this.courseName == "") {
-                this.$message.error("请补充填写课程名称");
+                this.$message.error(this.lang.fillincoursename);
                 return;
               } else {
                 this.addWork();
               }
             } else {
               if (this.courseName == "") {
-                this.$message.error("请补充填写课程名称");
+                this.$message.error(this.lang.fillincoursename);
                 return;
               } else {
                 // if (this.userid != this.courseUserid && this.role != "1") {
@@ -3476,14 +3476,14 @@ export default {
     nextSteps() {
       if (this.cid == "" || this.cid == undefined) {
         if (this.courseName == "") {
-          this.$message.error("请补充填写课程名称");
+          this.$message.error(this.lang.fillincoursename);
           return;
         } else {
           this.addWork();
         }
       } else {
         if (this.courseName == "") {
-          this.$message.error("请补充填写课程名称");
+          this.$message.error(this.lang.fillincoursename);
           return;
         } else {
           // if (this.userid != this.courseUserid && this.role != "1") {
@@ -3498,14 +3498,14 @@ export default {
     changeName() {
       if (this.cid == "" || this.cid == undefined) {
         if (this.courseName == "") {
-          this.$message.error("请补充填写课程名称");
+          this.$message.error(this.lang.fillincoursename);
           return;
         } else {
           this.addWork(2);
         }
       } else {
         if (this.courseName == "") {
-          this.$message.error("请补充填写课程名称");
+          this.$message.error(this.lang.fillincoursename);
           return;
         } else {
           this.updateWork(2);
@@ -3563,14 +3563,14 @@ export default {
         .post(this.$store.state.api + "deleteWork", params)
         .then((res) => {
           this.$message({
-            message: "删除成功",
+            message: this.lang.DeleteSuccessful,
             type: "success",
           });
           this.unitJson.splice(this.unitIndex, 1);
           this.unitIndex = this.unitIndex - 1;
         })
         .catch((err) => {
-          this.$message.error("网络不佳");
+          this.$message.error(this.lang.Poorinternetconnection);
           console.error(err);
         });
     },
@@ -3587,7 +3587,7 @@ export default {
             _this.unitJson[_this.unitIndex].chapterInfo[0].taskJson[
               itemTaskIndex
             ].toolChoose.splice(i, 1);
-            _this.$message.success("删除成功");
+            _this.$message.success(this.lang.DeleteSuccessful);
           })
           .catch(() => {
             return;
@@ -3604,7 +3604,7 @@ export default {
         })
         .then(() => {
           _this.sentenceList.splice(i, 1);
-          _this.$message.success("删除成功");
+          _this.$message.success(this.lang.DeleteSuccessful);
         })
         .catch(() => {
           return;
@@ -3642,7 +3642,7 @@ export default {
           }
           _this.$forceUpdate();
           _this.unitJson[_this.unitIndex].chapterInfo[0].taskJson.splice(i, 1);
-          _this.$message.success("删除成功");
+          _this.$message.success(this.lang.DeleteSuccessful);
 
           // this.$nextTick(() => {
           //   $('.stepsBottom2')[0].style.transition = 'unset'
@@ -4939,7 +4939,7 @@ export default {
           }
         })
         .catch((err) => {
-          this.$message.error("网络不佳");
+          this.$message.error(this.lang.Poorinternetconnection);
           console.error(err);
         });
     },
@@ -4993,13 +4993,13 @@ export default {
         .post(this.$store.state.api + "updateWorkNew4", params)
         .then((res) => {
           this.$message({
-            message: "修改成功",
+            message: this.lang.Editsuccessful,
             type: "success",
           });
           this.courseId = this.cid;
         })
         .catch((err) => {
-          this.$message.error("网络不佳");
+          this.$message.error(this.lang.Poorinternetconnection);
           console.error(err);
         });
     },
@@ -5103,7 +5103,7 @@ export default {
           }
         })
         .catch((err) => {
-          this.$message.error("网络不佳");
+          this.$message.error(this.lang.Poorinternetconnection);
           console.error(err);
         });
     },
@@ -5162,7 +5162,7 @@ export default {
           }
         })
         .catch((err) => {
-          this.$message.error("网络不佳");
+          this.$message.error(this.lang.Poorinternetconnection);
           console.error(err);
         });
     },
@@ -7087,7 +7087,7 @@ export default {
           }, 1000);
         })
         .catch((err) => {
-          this.$message.error("网络不佳");
+          this.$message.error(this.lang.Poorinternetconnection);
           console.error(err);
         });
     },
@@ -7127,11 +7127,11 @@ export default {
               this.CourseType2[2].id.push(res.data[0][cti].id);
             }
             if (res.data[0][cti].id == "34628934-d02f-11ec-8c78-005056b86db5" || res.data[0][cti].id == "34628934-d02f-11ec-8c78-005056b86ac5") {
-              res.data[0][cti].name = "年级";
+              res.data[0][cti].name = this.lang.GradeL;
             } else if (res.data[0][cti].id == "34629907-d02f-11ec-8c78-005056b86db5" || res.data[0][cti].id == "34629907-d02f-11ec-8c78-005056b86ac5") {
-              res.data[0][cti].name = "学科";
+              res.data[0][cti].name = this.lang.Subject;
             } else if (res.data[0][cti].id == "34629bcc-d02f-11ec-8c78-005056b86db5") {
-              res.data[0][cti].name = "主题";
+              res.data[0][cti].name = this.lang.Theme;
             }
           }
           let _courseTypeId = [];
@@ -7278,7 +7278,7 @@ export default {
     },
     openMember() {
       if (this.cid && this.userid != this.courseUserid && this.role != '1') {
-        this.$message.error('非管理员和创建者不可编辑')
+        this.$message.error(this.lang.Noncannotedit)
         return;
       }
       this.searchTN = "";

+ 24 - 24
src/components/pages/synergyCourse/course.vue

@@ -8,14 +8,14 @@
     display: flex;
     align-items: center;
 ">
-          <span>协同建构</span>
+          <span>{{ lang.CocoNote }}</span>
         </div>
         <div class="student_button">
           <button class="r_pub_button_course" @mouseenter="btnDisplay = true" @mouseleave="btnDisplay = false">
-            <span>创建协同建构</span>
+            <span>{{ lang.EditCoconote }}</span>
             <div v-show="btnDisplay" class="buttonBox">
-              <div type="primary" @click="goToCourse3()">标准创建</div>
-              <div type="primary" @click="goToCourseSimple()">快速创建</div>
+              <div type="primary" @click="goToCourse3()">{{ lang.Standardcreation }}</div>
+              <div type="primary" @click="goToCourseSimple()">{{ lang.QuicklyCreate }}</div>
             </div>
           </button>
         </div>
@@ -39,13 +39,13 @@
               <div class="search">
                 <img src="../../../assets/icon/search.png" alt="" />
               </div>
-              <input class="sInput" type="text" placeholder="请输入关键字" v-model="courseName" @change="getCourse()" @input="getCourse()" />
+              <input class="sInput" type="text" :placeholder="lang.SearchNote" v-model="courseName" @change="getCourse()" @input="getCourse()" />
             </div>
-            <el-button type="primary" class="bgColor" style="margin-left: 10px;" @click="reset">重置</el-button>
+            <el-button type="primary" class="bgColor" style="margin-left: 10px;" @click="reset">{{ lang.ResetNote }}</el-button>
           </div>
         </div>
         <div class="pType_box all_choose" v-if="oid == '69893dca-1d47-11ed-8c78-005056b86db5'">
-          <span><span>类型</span></span>
+          <span><span>{{ lang.type }}</span></span>
           <el-radio-group v-model="pTypeCheckName" style="display: flex; align-items: center">
             <div class="all_choose" style="width: 100px" v-for="(item, index) in CourseType2" :key="index">
               <el-radio :label="item.name" @click.native.prevent="CourseType2Click(item.name)">{{ item.name }}</el-radio>
@@ -67,7 +67,7 @@
               ">
               <div class="cName" @click="getCourse2(item.name, '', item.id, 1)"
                 :class="typeE.indexOf(item.id) != -1 ? 'isCType' : ''">
-                全部
+                {{ lang.All }}
               </div>
               <div v-for="(item1, index1) in CourseTypeJson[item.id]" :key="index + '-' + index1" :label="item1.id"
                 @click="getCourse2(item.name, item.id, item1.id, 2)">
@@ -147,14 +147,14 @@
       <div class="student_table">
         <div class="course_box">
           <div class="out_box" v-for="(item, index) in course" :key="index">
-            <div class="myCourse" v-if="item.userid == userid">我的创建</div>
+            <div class="myCourse" v-if="item.userid == userid">{{ lang.MyNote }}</div>
             <div class="myCourse" style="background: #4187f0" v-else-if="!item.course_teacher ||
               (item.course_teacher &&
                 item.course_teacher.indexOf(userid) == -1)
               ">
-              他人创建
+              {{ lang.Shared }}
             </div>
-            <div class="xtCourse" v-else>协同建构</div>
+            <div class="xtCourse" v-else>{{ lang.CocoNote }}</div>
             <div class="tup" @click="open(item.courseId, item.userid)" style="cursor: pointer;">
               <img :src="item.cover != null && item.cover != ''
                 ? JSON.parse(item.cover).length > 0
@@ -183,7 +183,7 @@
             </div>
             <div class="three_bottom">
               <!-- v-if="role == '1'" @click="get(item)"-->
-              <div @click="open(item.courseId, item.userid)">打开</div>
+              <div @click="open(item.courseId, item.userid)">{{ lang.Open }}</div>
               <!-- <div @click="jump(item.courseId)" v-else>评课</div> -->
               <!-- <div v-if="((item.userid == userid) ||
                 (item.course_teacher &&
@@ -205,7 +205,7 @@
               <div v-if="((item.userid == userid)) &&
                 item.state == 1
                 " @click="goToCourse3(item.courseId)">
-                修改
+                {{ lang.Modified }}
               </div>
               <!-- <div v-if="groupA == '0'" @click="
                 goTo(
@@ -224,11 +224,11 @@
                 评价
               </div> -->
               <div v-if="((item.userid == userid))" @click="copyCourse(item.courseId)">
-                复制
+                {{ lang.Copy }}
               </div>
               <!-- v-if="item.isCourseType == 1 || role == '1'" -->
               <div v-if="((item.userid == userid))" @click="deleteCourse(item.courseId)">
-                删除
+                {{ lang.Delete }}
               </div>
               <!-- <div class="more">
                 <span style="font-size: 18px; font-weight: 700">...</span>
@@ -241,7 +241,7 @@
               </div> -->
             </div>
           </div>
-          <div class="course_empty" v-if="course.length == 0">暂无数据</div>
+          <div class="course_empty" v-if="course.length == 0">{{ lang.Nodata }}</div>
         </div>
       </div>
     </div>
@@ -1011,9 +1011,9 @@ export default {
     // },
     deleteCourse(cid) {
       // if (this.time()) {
-      this.$confirm("确定删除吗?", "提示", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
+      this.$confirm(this.lang.Aystdi, this.lang.tip, {
+        confirmButtonText: this.lang.Confirm,
+        cancelButtonText:  this.lang.Cancel,
         type: "warning",
       })
         .then(() => {
@@ -1029,7 +1029,7 @@ export default {
             .then((res) => {
               loading.close();
               this.isLoading = false;
-              this.$message.success("删除成功");
+              this.$message.success(this.lang.DeleteSuccessful);
               this.getCourse();
             })
             .catch((err) => {
@@ -1075,11 +1075,11 @@ export default {
               this.CourseType2[2].id.push(res.data[0][cti].id);
             }
             if (res.data[0][cti].id == "34628934-d02f-11ec-8c78-005056b86db5" || res.data[0][cti].id == "34628934-d02f-11ec-8c78-005056b86ac5") {
-              res.data[0][cti].name = "年级";
+              res.data[0][cti].name = this.lang.GradeL;
             } else if (res.data[0][cti].id == "34629907-d02f-11ec-8c78-005056b86db5" || res.data[0][cti].id == "34629907-d02f-11ec-8c78-005056b86ac5") {
-              res.data[0][cti].name = "学科";
+              res.data[0][cti].name = this.lang.Subject;
             } else if (res.data[0][cti].id == "34629bcc-d02f-11ec-8c78-005056b86db5") {
-              res.data[0][cti].name = "主题";
+              res.data[0][cti].name = this.lang.Theme;
             }
           }
           for (var i = 0; i < res.data[0].length; i++) {
@@ -1240,7 +1240,7 @@ export default {
           } else {
             this.groupA = "0";
           }
-          this.$message.success("复制成功")
+          this.$message.success(this.lang.Successfullycopy)
           this.clear();
         })
         .catch((err) => {

+ 105 - 99
src/components/pages/synergyCourse/group/group.vue

@@ -16,7 +16,7 @@
                 <!-- || (courseDetail.course_teacher && courseDetail.course_teacher.indexOf(userid) != -1) -->
                 <div class="btn_right" v-if="courseDetail.userid == userid">
                     <div style="color: rgb(171 171 171); margin: 0 10px 0 0" v-show="false">
-                        提示:开启【开放选座】,能够自由加入和退出小组。
+                        {{ lang.OpenSeatSelectionTip }}
                     </div>
                     <!-- 开放选座 -->
                     <!-- <div type="primary" v-if="groupJson.islock == 1 && groupJson.group.length" class="returnBtn"
@@ -28,26 +28,26 @@
                             解锁位置
                         </div> -->
                     <div class="group_switch" v-show="false">
-                        <span>开放选座</span>
+                        <span>{{ lang.OpenSeatSelection }}</span>
                         <el-switch v-model="islock" active-text="" class="switchCss" @change="lockChair"></el-switch>
                     </div>
                     <div class="group_switch" v-show="false">
-                        <span>开启分组</span>
+                        <span>{{ lang.Enablegrouping }}</span>
                         <el-switch v-model="isopen" class="switchCss" @change="openChair"></el-switch>
                     </div>
                     <div type="primary" @click="updateGroup" class="returnBtn" style="background-color: #225bc7">
-                        添加分组
+                        {{ lang.Creategroups }}
                     </div>
                     <div type="primary" @click="deleteCourseGroup" class="returnBtn" style="background-color: #225bc7">
-                        删除分组
+                         {{ lang.Deletegroups }}
                     </div>
                 </div>
                 <div class="btn_right" v-else>
                     <div style="color: rgb(171 171 171); margin: 0 10px 0 0">
-                        提示:开启【开放选座】,能够自由加入和退出小组。
+                        {{ lang.OpenSeatSelectionTip }}
                     </div>
                     <div class="group_switch">
-                        <span>开放选座</span>
+                        <span>{{ lang.OpenSeatSelection }}</span>
                         <el-switch v-model="islock" active-text="" class="switchCss" @change="lockChair"
                             disabled></el-switch>
                     </div>
@@ -68,12 +68,12 @@
                                         groupStudent[g.id][0] &&
                                         groupJson.islock == 2,
                                 }"><span class="updateChairBtn"
-                                        @click="updateGroupChair(groupStudent[g.id] && groupStudent[g.id][0])">修改</span></span><span>{{
+                                        @click="updateGroupChair(groupStudent[g.id] && groupStudent[g.id][0])">{{ lang.Edit }}</span></span><span>{{
                                             groupStudent[g.id] &&
                                             groupStudent[g.id][0]
                                             ? groupStudent[g.id] &&
                                             groupStudent[g.id][0].name
-                                            : "空位置" }}</span>
+                                            : lang.emptyplaces }}</span>
                             </div>
                             <div v-if="groupJson.number > 4">
                                 <span :class="{
@@ -86,12 +86,12 @@
                                         groupStudent[g.id][4] &&
                                         groupJson.islock == 2,
                                 }"><span class="updateChairBtn"
-                                        @click="updateGroupChair(groupStudent[g.id] && groupStudent[g.id][4])">修改</span></span><span>{{
+                                        @click="updateGroupChair(groupStudent[g.id] && groupStudent[g.id][4])">{{ lang.Edit }}</span></span><span>{{
                                             groupStudent[g.id] &&
                                             groupStudent[g.id][4]
                                             ? groupStudent[g.id] &&
                                             groupStudent[g.id][4].name
-                                            : "空位置" }}</span>
+                                            : lang.emptyplaces }}</span>
                             </div>
                             <div v-if="groupJson.number > 8">
                                 <span :class="{
@@ -104,12 +104,12 @@
                                         groupStudent[g.id][8] &&
                                         groupJson.islock == 2,
                                 }"><span class="updateChairBtn"
-                                        @click="updateGroupChair(groupStudent[g.id] && groupStudent[g.id][8])">修改</span></span><span>{{
+                                        @click="updateGroupChair(groupStudent[g.id] && groupStudent[g.id][8])">{{ lang.Edit }}</span></span><span>{{
                                             groupStudent[g.id] &&
                                             groupStudent[g.id][8]
                                             ? groupStudent[g.id] &&
                                             groupStudent[g.id][8].name
-                                            : "空位置" }}</span>
+                                            : lang.emptyplaces }}</span>
                             </div>
                         </div>
                         <div class="g_d_group_tableBox">
@@ -125,12 +125,12 @@
                                             groupStudent[g.id][2] &&
                                             groupJson.islock == 2,
                                     }"><span class="updateChairBtn"
-                                            @click="updateGroupChair(groupStudent[g.id] && groupStudent[g.id][2])">修改</span></span><span>{{
+                                            @click="updateGroupChair(groupStudent[g.id] && groupStudent[g.id][2])">{{ lang.Edit }}</span></span><span>{{
                                                 groupStudent[g.id] &&
                                                 groupStudent[g.id][2]
                                                 ? groupStudent[g.id] &&
                                                 groupStudent[g.id][2].name
-                                                : "空位置" }}</span>
+                                                : lang.emptyplaces }}</span>
                                 </div>
                                 <div v-if="groupJson.number > 6">
                                     <span :class="{
@@ -143,12 +143,12 @@
                                             groupStudent[g.id][6] &&
                                             groupJson.islock == 2,
                                     }"><span class="updateChairBtn"
-                                            @click="updateGroupChair(groupStudent[g.id] && groupStudent[g.id][6])">修改</span></span><span>{{
+                                            @click="updateGroupChair(groupStudent[g.id] && groupStudent[g.id][6])">{{ lang.Edit }}</span></span><span>{{
                                                 groupStudent[g.id] &&
                                                 groupStudent[g.id][6]
                                                 ? groupStudent[g.id] &&
                                                 groupStudent[g.id][6].name
-                                                : "空位置" }}</span>
+                                                : lang.emptyplaces }}</span>
                                 </div>
                             </div>
                             <div class="g_d_group_table">
@@ -158,11 +158,11 @@
                                 <div>
                                     <!-- && groupJson.islock == 2 -->
                                     <div v-if="courseDetail.userid == userid" @click="deleteGroupChair(g.id, gindex)">
-                                        移除组员
+                                        {{ lang.Removeteammembers }}
                                     </div>
                                     <div @click="selectGroup(g.id)"
                                         v-if="groupStudentUid && groupStudentUid[g.id].indexOf(userid) == -1 && courseDetail.userid !== userid">
-                                        加入分组
+                                        {{ lang.JoinGroup }}
                                     </div>
                                     <div @click="
                                         exitGroup(groupStudent[g.id] &&
@@ -170,12 +170,12 @@
                                                 groupStudentUid[g.id].indexOf(userid)
                                             ].id)
                                         " v-else-if="groupStudentUid && groupStudentUid[g.id].indexOf(userid) != -1">
-                                        退出分组
+                                        {{ lang.Exitgroup }}
                                     </div>
                                     <div style="margin-top:10px"
                                         v-if="(courseDetail.userid == userid) && groupStudent[g.id].length < groupJson.number"
                                         @click="addGroupStudent(g.id)">
-                                        添加组员
+                                        {{ lang.Addteammembers }}
                                         <!-- || (courseDetail.course_teacher && courseDetail.course_teacher.indexOf(userid) != -1) -->
                                     </div>
                                 </div>
@@ -192,12 +192,12 @@
                                             groupStudent[g.id][3] &&
                                             groupJson.islock == 2,
                                     }"><span class="updateChairBtn"
-                                            @click="updateGroupChair(groupStudent[g.id] && groupStudent[g.id][3])">修改</span></span><span>{{
+                                            @click="updateGroupChair(groupStudent[g.id] && groupStudent[g.id][3])">{{ lang.Edit }}</span></span><span>{{
                                                 groupStudent[g.id] &&
                                                 groupStudent[g.id][3]
                                                 ? groupStudent[g.id] &&
                                                 groupStudent[g.id][3].name
-                                                : "空位置" }}</span>
+                                                : lang.emptyplaces }}</span>
                                 </div>
                                 <div v-if="groupJson.number > 7">
                                     <span :class="{
@@ -210,12 +210,12 @@
                                             groupStudent[g.id][7] &&
                                             groupJson.islock == 2,
                                     }"><span class="updateChairBtn"
-                                            @click="updateGroupChair(groupStudent[g.id] && groupStudent[g.id][7])">修改</span></span><span>{{
+                                            @click="updateGroupChair(groupStudent[g.id] && groupStudent[g.id][7])">{{ lang.Edit }}</span></span><span>{{
                                                 groupStudent[g.id] &&
                                                 groupStudent[g.id][7]
                                                 ? groupStudent[g.id] &&
                                                 groupStudent[g.id][7].name
-                                                : "空位置" }}</span>
+                                                : lang.emptyplaces }}</span>
                                 </div>
                             </div>
                         </div>
@@ -231,12 +231,12 @@
                                         groupStudent[g.id][1] &&
                                         groupJson.islock == 2,
                                 }"><span class="updateChairBtn"
-                                        @click="updateGroupChair(groupStudent[g.id] && groupStudent[g.id][1])">修改</span></span><span>{{
+                                        @click="updateGroupChair(groupStudent[g.id] && groupStudent[g.id][1])">{{ lang.Edit }}</span></span><span>{{
                                             groupStudent[g.id] &&
                                             groupStudent[g.id][1]
                                             ? groupStudent[g.id] &&
                                             groupStudent[g.id][1].name
-                                            : "空位置" }}</span>
+                                            : lang.emptyplaces }}</span>
                             </div>
                             <div v-if="groupJson.number > 5">
                                 <span :class="{
@@ -249,12 +249,12 @@
                                         groupStudent[g.id][5] &&
                                         groupJson.islock == 2,
                                 }"><span class="updateChairBtn"
-                                        @click="updateGroupChair(groupStudent[g.id] && groupStudent[g.id][5])">修改</span></span><span>{{
+                                        @click="updateGroupChair(groupStudent[g.id] && groupStudent[g.id][5])">{{ lang.Edit }}</span></span><span>{{
                                             groupStudent[g.id] &&
                                             groupStudent[g.id][5]
                                             ? groupStudent[g.id] &&
                                             groupStudent[g.id][5].name
-                                            : "空位置" }}</span>
+                                            : lang.emptyplaces }}</span>
                             </div>
                             <div v-if="groupJson.number > 9">
                                 <span :class="{
@@ -267,64 +267,70 @@
                                         groupStudent[g.id][9] &&
                                         groupJson.islock == 2,
                                 }"><span class="updateChairBtn"
-                                        @click="updateGroupChair(groupStudent[g.id] && groupStudent[g.id][9])">修改</span></span><span>{{
+                                        @click="updateGroupChair(groupStudent[g.id] && groupStudent[g.id][9])">{{ lang.Edit }}</span></span><span>{{
                                             groupStudent[g.id] &&
                                             groupStudent[g.id][9]
                                             ? groupStudent[g.id] &&
                                             groupStudent[g.id][9].name
-                                            : "空位置" }}</span>
+                                            : lang.emptyplaces }}</span>
                             </div>
                         </div>
                     </div>
                 </div>
                 <div v-else-if="!groupJson.group.length" style="text-align: center;">{{ courseDetail.userid == userid ?
-                    "暂无分组,请点击右上角设置分组" :
-                    "老师暂未添加分组" }}</div>
-                <div v-else-if="!isopen" style="text-align: center;">{{ "已关闭分组" }}</div>
+                    lang.Pleasesetupgroups :
+                    lang.Teachernotaddedgroups }}</div>
+                <div v-else-if="!isopen" style="text-align: center;">{{ lang.Groupinghasbeenclosed }}</div>
             </div>
         </div>
-        <el-dialog title="分组设置" :visible.sync="dialogVisibleGroup2" :append-to-body="true" width="650px"
+        <el-dialog :title="lang.GroupSettings" :visible.sync="dialogVisibleGroup2" :append-to-body="true" width="650px"
             :before-close="handleClose" class="dialog_diy">
             <div class="groupBox">
                 <div v-if="groupJson2.group" class="groupContent">
-                    <div class="groupTitle">请设置小组数量及名称</div>
+                    <div class="groupTitle">{{ lang.GroupNames }}</div>
                     <div v-for="(item, index) in groupJson2.group" :key="index" class="groupName">
-                        <span class="groupn">第{{ index + 1 }}组名称:</span>
-                        <el-input v-model="item.name" placeholder="请输入名称..." style="width: 250px"></el-input>
+                        <span class="groupn">
+                            <!-- 第{{ index + 1 }}组名称: -->
+                            <span v-if="index == 0">{{ (lang.GroupName1).replace(/\*/g, index + 1) }}:</span>
+                            <span v-if="index == 1">{{ (lang.GroupName2).replace(/\*/g, index + 1) }}:</span>
+                            <span v-if="index == 2">{{ (lang.GroupName3).replace(/\*/g, index + 1) }}:</span>
+                            <span v-if="index >= 3">{{ (lang.GroupName4).replace(/\*/g, index + 1) }}:</span>
+                        </span>
+                        <el-input v-model="item.name" :placeholder="lang.Pleaseenteraname" style="width: 250px"></el-input>
                         <div class="groupBtn">
                             <el-button type="primary" size="small" @click="addGroup(index)"
                                 v-if="(groupJson2.group.length - 1) == index">
-                                添加</el-button>
+                                {{ lang.AddGroup }}</el-button>
                             <el-button type="primary" size="small" @click="deleteGroup(index)"
-                                v-if="groupJson2.group && groupJson2.group.length > 1">删除</el-button>
+                                v-if="groupJson2.group && groupJson2.group.length > 1">{{ lang.Delete }}</el-button>
                         </div>
                     </div>
                     <div class="batch_add_group">
-                        <span>批量添加小组:</span>
-                        <el-input-number v-model="addGroupNum" :min="0" label="批量添加小组"></el-input-number>
+                        <span>{{ lang.Addgroupsinbatch }}:</span>
+                        <el-input-number v-model="addGroupNum" :min="0" :label="lang.Addgroupsinbatch"></el-input-number>
                         <el-button style="margin-left:5px" type="primary" size="small" @click="handleAddGroupNumChange()">
-                            批量添加</el-button>
+                            {{ lang.BatchAdd }}</el-button>
                     </div>
                 </div>
                 <div class="groupContent">
-                    <div class="groupTitle">请设置每组人数</div>
-                    <el-input v-model="groupJson2.number" style="width:150px" placeholder="请输入2-10的数字"
+                    <div class="groupTitle">{{ lang.Groupsize }}</div>
+                    <el-input v-model="groupJson2.number" style="width:250px" :placeholder="lang.Inputinteger"
                         @change="numberPan"></el-input>
                 </div>
             </div>
             <span slot="footer" class="dialog-footer">
-                <el-button @click="dialogVisibleGroup2 = false; addGroupNum = 0;">取 消</el-button>
-                <el-button type="primary" @click="updateGroupJson(2)">确定</el-button>
+                <el-button @click="dialogVisibleGroup2 = false; addGroupNum = 0;">{{ lang.Cancel }}</el-button>
+                <el-button type="primary" @click="updateGroupJson(2)">{{ lang.Save }}</el-button>
             </span>
         </el-dialog>
-        <el-dialog title="移除组员" :visible.sync="dialogVisibleDeleteGroup" :append-to-body="true" width="350px"
+        <el-dialog :title="lang.Removeteammembers" :visible.sync="dialogVisibleDeleteGroup" :append-to-body="true" width="350px"
             :before-close="handleClose" class="dialog_diy">
             <div>
                 <h2>
                     {{ this.deleteGroupArray.name }}
                 </h2>
                 <div style="color: rgb(171 171 171); margin-top: 10px">
-                    请选择要删除的组员
+                    {{ lang.selectteamdelete }}
                 </div>
                 <el-checkbox-group v-model="checkDeleteGroup">
                     <el-checkbox style="display: flex; margin-top: 20px" v-for="(item, index) in deleteGroupUser"
@@ -332,18 +338,18 @@
                 </el-checkbox-group>
             </div>
             <span slot="footer" class="dialog-footer">
-                <el-button @click="dialogVisibleDeleteGroup = false">取 消</el-button>
-                <el-button type="primary" @click="deleteChair">确定</el-button>
+                <el-button @click="dialogVisibleDeleteGroup = false">{{ lang.Cancel}}</el-button>
+                <el-button type="primary" @click="deleteChair">{{ lang.Confirm}}</el-button>
             </span>
         </el-dialog>
-        <el-dialog title="修改分组" :visible.sync="dialogVisibleUpdateGroup" :append-to-body="true" width="350px"
+        <el-dialog :title="lang.Modifygrouping" :visible.sync="dialogVisibleUpdateGroup" :append-to-body="true" width="350px"
             :before-close="handleClose" class="dialog_diy">
             <div>
                 <h2>
                     {{ this.updateGroupUser.name }}
                 </h2>
                 <div style="color: rgb(171 171 171); margin-top: 10px">
-                    请选择要进入的分组
+                    {{ lang.selectgroupenter }}
                 </div>
                 <el-radio-group v-model="checkChair">
                     <el-radio style="display: block; margin-top: 20px" v-for="(item, index) in updateGroupArray"
@@ -351,23 +357,23 @@
                 </el-radio-group>
             </div>
             <span slot="footer" class="dialog-footer">
-                <el-button @click="dialogVisibleUpdateGroup = false">取 消</el-button>
-                <el-button type="primary" @click="updateChair">确定</el-button>
+                <el-button @click="dialogVisibleUpdateGroup = false">{{ lang.Cancel}}</el-button>
+                <el-button type="primary" @click="updateChair">{{ lang.Confirm}}</el-button>
             </span>
         </el-dialog>
-        <el-dialog title="添加组员" :visible.sync="dialogVisibleMember" :append-to-body="true" width="540px" height="80%"
+        <el-dialog :title="lang.Addteammembers" :visible.sync="dialogVisibleMember" :append-to-body="true" width="540px" height="80%"
             :before-close="handleClose" class="addNewPP" v-loading="loading">
             <div class="people">
                 <div class="people_top">
                     <div class="people_top_right">
                         <div class="people_search">
-                            <el-input placeholder="搜索学生的姓名" v-model="searchTN" @keyup.enter.native="getStudent"></el-input>
+                            <el-input :placeholder="lang.Searchstudentname" v-model="searchTN" @keyup.enter.native="getStudent"></el-input>
                             <div class="search_img" @click="getStudent">
                                 <img src="../../../../assets/icon/search.png" alt />
                             </div>
                         </div>
                     </div>
-                    <div class="people_nav">选择成员</div>
+                    <div class="people_nav">{{ lang.Choosemembers }}</div>
                 </div>
                 <!-- <div class="t_j_box" style="
                             padding: 20px 0 0 25px;
@@ -392,13 +398,13 @@
                 <div class="i_box_login2" v-if="classJuri.length">
                     <div :class="{ active: checkboxList3.indexOf(item.userid) != -1 }" v-for="item in classJuri"
                         :key="item.userid" :label="item.userid" @click="addGroupUser(item.userid)">
-                        <el-tooltip placement="top" :content="`${item.name ? item.name : '暂无姓名'}${item.group.length > 0 ? '在'+item.group.join('、') : ''}`">
-                            <span>{{ item.name ? item.name : "暂无姓名" }}</span>
+                        <el-tooltip placement="top" :content="`${item.name ? item.name : lang.Noname}${item.group.length > 0 ? this.lang.exist+item.group.join('、') : ''}`">
+                            <span>{{ item.name ? item.name : lang.Noname }}</span>
                         </el-tooltip>
                         <div class="grouplBox" v-if="item.group.length">{{ item.group.length }}</div>
                     </div>
                 </div>
-                <div style="text-align: center; margin-top: 10px" v-else>暂无数据</div>
+                <div style="text-align: center; margin-top: 10px" v-else>{{ lang.Nodata }}</div>
             </div>
             <!-- <div style="margin-top: 10px;">
                 <el-pagination background layout="prev, pager, next" :page-size="pageSize" :total="total"
@@ -406,8 +412,8 @@
                     @current-change="handleCurrentChange"></el-pagination>
             </div> -->
             <span slot="footer" class="dialog-footer">
-                <el-button @click="dialogVisibleMember = false">取 消</el-button>
-                <el-button type="primary" @click="joinGroup2">确定</el-button>
+                <el-button @click="dialogVisibleMember = false">{{ lang.Cancel}}</el-button>
+                <el-button type="primary" @click="joinGroup2">{{ lang.Confirm}}</el-button>
             </span>
         </el-dialog>
     </div>
@@ -457,7 +463,7 @@ export default {
         handleAddGroupNumChange() {
             for (let i = 0; i < this.addGroupNum; i++) {
                 this.groupJson2.group.push({
-                    name: "第" + (this.groupJson2.group.length + 1) + "组",
+                    name: (this.lang.Group).replace(/\*/g, this.groupJson2.group.length + 1),
                     id: this.guid()
                 });
             }
@@ -574,7 +580,7 @@ export default {
             this.groupJson2 = JSON.parse(JSON.stringify(this.groupJson));
             if (!this.groupJson2.group.length) {
                 this.groupJson2.group.push({
-                    name: "第" + (this.groupJson2.group.length + 1) + "组",
+                    name: (this.lang.Group).replace(/\*/g, this.groupJson2.group.length + 1),
                     id: this.guid()
                 });
             }
@@ -583,11 +589,11 @@ export default {
         deleteCourseGroup() {
             this.$confirm(
                 // "您确定要删除该分组吗? 分组删除后将被清空并且无法恢复。",
-                "是否确定删除已有分组?删除后分组数据将被清空!",
-                "提示",
+                this.lang.Areyousuredeletegroup,
+                this.lang.tip,
                 {
-                    confirmButtonText: "确定",
-                    cancelButtonText: "取消",
+                    confirmButtonText: this.lang.Confirm,
+                    cancelButtonText: this.lang.Cancel,
                     type: "warning",
                 }
             )
@@ -605,7 +611,7 @@ export default {
                             }
                             this.islock = false
                             this.isopen = true
-                            this.$message.success("操作成功");
+                            this.$message.success(this.OperateSuccessful);
                             this.getCourseGroup();
                             this.$forceUpdate()
                         })
@@ -617,7 +623,7 @@ export default {
         },
         addGroup() {
             this.groupJson2.group.push({
-                name: "第" + (this.groupJson2.group.length + 1) + "组",
+                name: (this.lang.Group).replace(/\*/g, this.groupJson2.group.length + 1),
                 id: this.guid()
             });
         },
@@ -627,7 +633,7 @@ export default {
         lockChair() {
             this.groupJson2 = JSON.parse(JSON.stringify(this.groupJson));
             if (this.groupJson2.isopen == 2) {
-                this.$message.error("请开启分组后才能开放选座")
+                this.$message.error(this.lang.enablegroupingbefor)
                 this.islock = false
                 return
             } else {
@@ -637,7 +643,7 @@ export default {
         },
         numberPan() {
             if (/[^\d]/.test(this.groupJson2.number) || this.groupJson2.number < 2 || this.groupJson2.number > 10) {
-                this.$message.error('请输入2-10的数字')
+                this.$message.error(this.lang.Inputinteger)
                 this.groupJson2.number = ''
             }
         },
@@ -658,12 +664,12 @@ export default {
         updateGroupJson(type) {
             for (var i = 0; i < this.groupJson2.group.length; i++) {
                 if (!this.groupJson2.group[i].name) {
-                    this.$message.error("请将信息填写完整!");
+                    this.$message.error(this.lang.fillincompletely);
                     return;
                 }
             }
             if (!this.groupJson2.number) {
-                this.$message.error("请将信息填写完整!");
+                this.$message.error(this.lang.fillincompletely);
                 return;
             }
             for (var i = 0; i < this.groupJson2.group.length; i++) {
@@ -671,7 +677,7 @@ export default {
                     this.groupStudentUid[this.groupJson2.group[i].id] && this.groupStudentUid[this.groupJson2.group[i].id].length >
                     this.groupJson2.number
                 ) {
-                    this.$message.error("已经有小组比你设置的人数多,请重新设置");
+                    this.$message.error(this.lang.pleaseresetgroup);
                     return;
                 }
             }
@@ -687,12 +693,12 @@ export default {
                 .then((res) => {
                     if (this.groupJson2.isopen == 1) {
                         if (type == 2) {
-                            this.$message.success("设置成功");
+                            this.$message.success(this.lang.Settingsuccessful);
                         } else {
-                            this.$message.success("开启分组成功");
+                            this.$message.success(this.lang.Successfullystartedgrouping);
                         }
                     } else if (this.groupJson2.isopen == 2) {
-                        this.$message.success("关闭分组成功");
+                        this.$message.success(this.lang.Successfullyclosedgrouping);
                     }
                     // 开启分组成功/关闭分组成功
                     this.dialogVisibleGroup2 = false;
@@ -701,7 +707,7 @@ export default {
                     this.$forceUpdate();
                 })
                 .catch((err) => {
-                    this.$message.error("网络不佳");
+                    this.$message.error(this.lang.Poorinternetconnection);
                     console.error(err);
                 });
         },
@@ -749,7 +755,7 @@ export default {
                     }
                 })
                 .catch((err) => {
-                    this.$message.error("网络不佳");
+                    this.$message.error(this.lang.Poorinternetconnection);
                     console.error(err);
                 });
         },
@@ -768,7 +774,7 @@ export default {
                 this.groupStudent[this.checkChair].length ==
                 this.groupJson.number
             ) {
-                this.$message.error("位置已满,无法加入");
+                this.$message.error(this.lang.Locationisfull);
                 return;
             }
             let params = [
@@ -781,7 +787,7 @@ export default {
             this.ajax
                 .post(this.$store.state.api + "joinCourseGroup", params)
                 .then((res) => {
-                    this.$message.success("修改成功");
+                    this.$message.success(this.lang.Editsuccessful);
                     this.updateGroupUser = {};
                     this.checkChair = "";
                     this.updateGroupArray = {};
@@ -789,7 +795,7 @@ export default {
                     this.getCourseGroup();
                 })
                 .catch((err) => {
-                    this.$message.error("网络不佳");
+                    this.$message.error(this.lang.Poorinternetconnection);
                     console.error(err);
                 });
         },
@@ -817,7 +823,7 @@ export default {
                 ];
                 var a = await this.deleteChairA(params);
                 if (i == this.checkDeleteGroup.length - 1) {
-                    this.$message.success("退出成功");
+                    this.$message.success(this.lang.Exitsuccessful);
                     this.dialogVisibleDeleteGroup = false;
                     this.deleteGroupUser = [];
                     this.deleteGroupArray = {};
@@ -835,7 +841,7 @@ export default {
                         resolve(1);
                     })
                     .catch((err) => {
-                        this.$message.error("网络不佳");
+                        this.$message.error(this.lang.Poorinternetconnection);
                         console.error(err);
                     });
             });
@@ -843,11 +849,11 @@ export default {
         selectGroup(gid) {
             this.$confirm(
                 // "您确定要删除该分组吗? 分组删除后将被清空并且无法恢复。",
-                "确认加入分组?确认后将直接打开协同构建",
-                "提示",
+                this.lang.confirmjointhegroup,
+                this.lang.tip,
                 {
-                    confirmButtonText: "确定",
-                    cancelButtonText: "取消",
+                    confirmButtonText: this.lang.Confirm,
+                    cancelButtonText: this.lang.Cancel,
                     type: "warning",
                 }
             ).then(() => {
@@ -856,7 +862,7 @@ export default {
         },
         joinGroup(gid) {
             if (this.groupJson.islock == 2) {
-                this.$message.error("位置已被锁定,无法加入");
+                this.$message.error(this.lang.Locationlocked);
                 return;
             }
             if (
@@ -864,7 +870,7 @@ export default {
                 this.groupJson.number ||
                 this.groupStudent[gid].length == this.groupJson.number
             ) {
-                this.$message.error("位置已满,无法加入");
+                this.$message.error(this.lang.Locationisfull);
                 return;
             }
             let params = [
@@ -877,13 +883,13 @@ export default {
             this.ajax
                 .post(this.$store.state.api + "joinCourseGroup", params)
                 .then((res) => {
-                    this.$message.success("加入成功");
+                    this.$message.success(this.lang.Joinsuccessfully);
                     this.$emit('open2')
                     this.$emit('getGroup')
                     this.getCourseGroup();
                 })
                 .catch((err) => {
-                    this.$message.error("网络不佳");
+                    this.$message.error(this.lang.Poorinternetconnection);
                     console.error(err);
                 });
         },
@@ -899,7 +905,7 @@ export default {
                 this.groupStudent[this.gid].length + this.checkboxList3.length >
                 this.groupJson.number
             ) {
-                this.$message.error("位置已满,无法加入");
+                this.$message.error(this.lang.Locationisfull);
                 return;
             }
             for (let i = 0; i < this.checkboxList3.length; i++) {
@@ -912,7 +918,7 @@ export default {
                 ];
                 const res = await this.ajax.post(this.$store.state.api + "joinCourseGroup", params)
                 if (i == this.checkboxList3.length - 1) {
-                    this.$message.success("加入成功");
+                    this.$message.success(this.lang.Joinsuccessfully);
                     this.dialogVisibleMember = false
                     this.getCourseGroup();
                 }
@@ -920,7 +926,7 @@ export default {
         },
         exitGroup(id) {
             if (this.groupJson.islock == 2) {
-                this.$message.error("位置已被锁定,无法退出");
+                this.$message.error(this.lang.unabletoexit);
                 return;
             }
             let params = [
@@ -931,12 +937,12 @@ export default {
             this.ajax
                 .post(this.$store.state.api + "exitCourseGroup", params)
                 .then((res) => {
-                    this.$message.success("退出成功");
+                    this.$message.success(this.lang.Exitsuccessful);
                     this.$emit('getGroup')
                     this.getCourseGroup();
                 })
                 .catch((err) => {
-                    this.$message.error("网络不佳"); s
+                    this.$message.error(this.lang.Poorinternetconnection);
                     console.error(err);
                 });
         },

+ 230 - 1
src/lang/cn.json

@@ -1,3 +1,232 @@
 {
-  "lang": "cn"
+  "lang": "cn",
+  "DepartmentManagement":"教研室管理",
+  "DepartmentTypeManagement":"教研室类型管理",
+  "Enterdepartmentname":"请输入教研室名称",
+  "Search":"查询",
+  "AddDepartment":"添加教研室",
+  "DepartmentName":"教研室名称",
+  "DepartmentType":"教研室类型",
+  "Action":"操作",
+  "ViewTeacher":"查看老师",
+  "Enterusername":"请输入用户名",
+  "return":"返回",
+  "AddTeacher":"添加老师",
+  "Name":"姓名",
+  "Department":"教研室",
+  "TeacherAccount":"老师账号",
+  "Nodata":"暂无数据",
+  "AddTeachers":"添加教师",
+  "Searchteachername":"搜索老师的姓名",
+  "SelectMembers":"选择成员",
+  "Account":"账号",
+  "Cancel":"取消",
+  "Confirm":"确定",
+  "AddSuccessful":"新增成功",
+  "Edit":"修改",
+  "Delete":"删除",
+  "Aystrttfta":"确定在本教研室移除此老师吗?",
+  "Remove":"移除",
+  "EditDepartment":"修改教研室",
+  "OperateSuccessful":"操作成功",
+  "Aystdtd":"确定删除此教研室吗?",
+  "Enterdepartmenttype":"请输入教研室类型",
+  "DeleteSuccessful":"删除成功",
+  "Adddepartmenttype":"添加教研室类型",
+  "Pleaseenteryourusername":"请输入用户名",
+  "GradeManagement":"年级管理",
+  "ClassManagement":"班级管理",
+  "StudentManagement":"学生管理",
+  "AllPeople":"所有人",
+  "AddStudents":"添加学生",
+  "BatchAdd":"批量添加",
+  "XLSXMax":"只能上传xlsx文件,且不超过500kb",
+  "EXffu":"xlsx上传样例",
+  "StudentAccount":"学生账号",
+  "Class":"班级",
+  "StudentClass":"学生班级",
+  "InitialPassword":"初始化密码",
+  "Aystrtp":"确定初始化此学生的密码吗?",
+  "Reset":"确定",
+  "Resetsuccessful":"初始化密码成功!",
+  "AddStudent":"添加学生",
+  "StudentName":"学生姓名",
+  "StudentID":"学生账号",
+  "EnterStudentID":"请输入学生账户",
+  "AffiliatedSchool":"所属学校",
+  "SelectClass":"请选择班级",
+  "NoteTdpfnsai":"注:添加学生的账户密码为123456",
+  "EditStudent":"修改学生",
+  "Editsuccessful":"修改成功",
+  "Aystd":"确定删除此学生吗?",
+  "EnterClassName":"请输入班级名称",
+  "Grade":"所属年级",
+  "NumberofStudents":"人数",
+  "ViewStudents":"查看学生",
+  "EditGrade":"修改年级",
+  "EditName":"修改名称",
+  "None":"暂无",
+  "AddClass":"添加班级",
+  "Searchstudentname":"搜索学生姓名",
+  "Choosemembers":"选择成员",
+  "StudentNumber":"学生学号",
+  "EnterStudentNumber":"请输入学生学号",
+  "StudentPhoneNumber":"学生手机号",
+  "EnterStudentPhoneNumber":"请输入学生手机号",
+  "Aystrtsftc":"确定移出学生在本班级吗?",
+  "SelectGrade":"选择年级",
+  "Selectclass":"请选择班级",
+  "EditClass":"修改班级",
+  "ClassName":"班级名称",
+  "Aystdtc":"确定删除此班级吗?",
+  "Enterclass":"请输入班级",
+  "EnterGradeName":"请输入年级名称",
+  "AddGrade":"添加年级",
+  "GradeName":"年级名称",
+  "NumberofClasses":"班级数",
+  "ViewClasses":"查看班级",
+  "Classes":"班级",
+  "AddClasses":"添加班级",
+  "SelectClasses":"选择班级",
+  "SearchforClassName":"搜索班级名称",
+  "Add":"确定",
+  "Aystrtcftg":"确定在本年级移除此班级吗?",
+  "Aystdtg":"确定删除此年级吗?",
+  "EnterGrade":"请输入年级",
+  "CocoNote":"协同建构",
+  "EditCoconote":"创建协同建构",
+  "ResetNote":"重置",
+  "SearchNote":"请输入关键字",
+  "GradeL":"年级",
+  "Theme":"主题",
+  "Subject":"学科",
+  "All":"全部",
+  "Shared":"他人创建",
+  "MyNote":"我的创建",
+  "Open":"打开",
+  "Modified":"修改",
+  "Copy":"复制",
+  "Aystdi":"确定删除吗?",
+  "Successfullycopy":"复制成功",
+  "Standardcreation":"标准创建",
+  "QuicklyCreate":"快速创建",
+  "Back":"返回",
+  "NoteName":"项目名称",
+  "Cover":"上传封面",
+  "AddCoverimage":"点击添加封面",
+  "Collaborator":"协同人员",
+  "Psac":"请选择协同人员",
+  "Pleaseaddgroups":"请添加课程名称后才能设置分组",
+  "Pleasesetupgroups":"暂无分组,请点击右上角设置分组",
+  "Creategroups":"添加分组",
+  "Deletegroups":"删除分组",
+  "GroupSettings":"分组设置",
+  "GroupName":"第*组名称",
+  "GroupName2":"第*组名称",
+  "GroupName3":"第*组名称",
+  "GroupName4":"第*组名称",
+  "nd":"nd",
+  "rd":"rd",
+  "th":"th",
+  "AddGroup":"添加",
+  "Groupsize":"请设置每组人数",
+  "Addgroupsinbatch":"批量添加小组",
+  "Inputinteger":"请输入2-10的数字",
+  "Save":"确定",
+  "UpdateSuccessful":"修改成功",
+  "returnHomepage":"返回首页",
+  "Confirmcreation":"确认创建",
+  "GroupNames":"请设置小组数量及名称",
+  "Pleaseenteraname":"请输入名称...",
+  "Teachernotaddedgroups":"老师暂未添加分组",
+  "emptyplaces":"空位置",
+  "Group":"第*组",
+  "Addteammembers":"添加组员",
+  "Removeteammembers":"移除组员",
+  "selectteamdelete":"请选择要删除的组员",
+  "Areyousuredeletegroup":"是否确定删除已有分组?删除后分组数据将被清空!",
+  "tip":"提示",
+  "OpenSeatSelectionTip":"提示:开启【开放选座】,能够自由加入和退出小组。",
+  "OpenSeatSelection":"开放选座",
+  "Enablegrouping":"开启分组",
+  "JoinGroup":"加入分组",
+  "Exitgroup":"退出分组",
+  "Groupinghasbeenclosed":"已关闭分组",
+  "Modifygrouping":"修改分组",
+  "selectgroupenter":"请选择要进入的分组",
+  "Noname":"暂无姓名",
+  "enablegroupingbefor":"请开启分组后才能开放选座",
+  "fillincompletely":"请将信息填写完整!",
+  "pleaseresetgroup":"已经有小组比你设置的人数多,请重新设置",
+  "Settingsuccessful":"设置成功",
+  "Successfullystartedgrouping":"开启分组成功",
+  "Successfullyclosedgrouping":"关闭分组成功",
+  "Poorinternetconnection":"网络不佳",
+  "Locationisfull":"位置已满,无法加入",
+  "Exitsuccessful":"退出成功",
+  "confirmjointhegroup":"确认加入分组?确认后将直接打开协同构建",
+  "Locationlocked":"位置已被锁定,无法加入",
+  "Joinsuccessfully":"加入成功",
+  "unabletoexit":"位置已被锁定,无法退出",
+  "exist":"在",
+  "SMARTPaste ":"智能粘贴",
+  "uploadpictures":"上传图片",
+  "Selectlocalfile":"选择本地文件",
+  "Selectnetworkfiles":"选择网络文件",
+  "Addmembers":"添加协同成员",
+  "Searchforaccount":"搜索完整的姓名/账号(不含邮箱后缀)",
+  "identity":"身份",
+  "school":"学校",
+  "SelectAll":"全选",
+  "teacher":"老师",
+  "student":"学生",
+  "fillincoursename":"请补充填写课程名称",
+  "wantsavecontent":"是否保存已编辑内容?",
+  "saveCoco":"保存",
+  "notsave":"不保存",
+  "Noncannotedit":"非管理员和创建者不可编辑",
+  "type":"类型",
+  "Searchimagekeywords":"搜索图片关键字",
+  "enterkeywordsimages":"请输入关键词搜索图片",
+  "Changeanothergroup":"换一组"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+  
+
+
+
+  
+
+
+
+
+
+
+
+
+
+
+
+
 }

+ 193 - 1
src/lang/en.json

@@ -1,3 +1,195 @@
 {
-  "lang": "com"
+  "lang": "com",
+  "DepartmentManagement":"Department Management",
+  "DepartmentTypeManagement":"Department Type Management",
+  "Enterdepartmentname":"Enter department name",
+  "Search":"Search",
+  "AddDepartment":"Add Department",
+  "DepartmentName":"Department Name",
+  "DepartmentType":"Department Type",
+  "Action":"Action",
+  "ViewTeacher":"View Teacher",
+  "Enterusername":"Enter username",
+  "return":"return",
+  "AddTeacher":"Add Teacher",
+  "Edit":"Edit",
+  "Delete":"Delete",
+  "Name":"Name",
+  "Department":"Department",
+  "TeacherAccount":"Teacher Account",
+  "Nodata":"No data",
+  "AddTeachers":"Add Teachers",
+  "Searchteachername":"Search teacher name",
+  "SelectMembers":"Select Members",
+  "Account ":"Account ",
+  "Cancel":"Cancel ",
+  "Confirm":"Confirm ",
+  "AddSuccessful":"Add Successful",
+  "Aystrttfta":"Are you sure to remove this teacher from this apartment?",
+  "Remove":"Remove",
+  "EditDepartment":"Edit Department",
+  "OperateSuccessful":"Operate Successful",
+  "Aystdtd":"Are you sure to delete this department?",
+  "Enterdepartmenttype":"Enter department type",
+  "DeleteSuccessful":"Delete Successful",
+  "Adddepartmenttype":"Add department type",
+  "Pleaseenteryourusername":"Please enter your username",
+  "GradeManagement":"Grade Management",
+  "ClassManagement":"Class Management",
+  "StudentManagement":"Student Management",
+  "AllPeople":"All People",
+  "AddStudents":"Add Students",
+  "BatchAdd":"Batch Add",
+  "XLSXMax":"XLSX. only(Max 500KB)",
+  "EXffu":"Example XLS file for upload.",
+  "StudentAccount":"Student Account",
+  "Class":"Class",
+  "StudentClass":"Student Class",
+  "InitialPassword":"Initial Password",
+  "Aystrtp":"Are you sure to reset the password?",
+  "Reset":"Reset",
+  "Resetsuccessful":"Reset successful",
+  "AddStudent":"Add Student",
+  "StudentName":"Student Name",
+  "StudentID":"Student ID",
+  "EnterStudentID":"Enter Student ID",
+  "AffiliatedSchool":"Affiliated School",
+  "SelectClass":"Select Class",
+  "NoteTdpfnsai":"Note: The default password for new student accounts is '123456'",
+  "EditStudent":"Edit Student",
+  "Editsuccessful":"Edit successful",
+  "Aystd":"Are you sure to delete?",
+  "EnterClassName":"Enter Class Name",
+  "Grade":"Grade",
+  "NumberofStudents":"Number of Students",
+  "ViewStudents":"View Students",
+  "EditGrade":"Edit Grade",
+  "EditName":"Edit Name",
+  "None":"None",
+  "AddClass":"Add Class",
+  "Searchstudentname":"Search student name",
+  "Choosemembers":"Choose members",
+  "StudentNumber":"Student Number",
+  "EnterStudentNumber":"Enter Student Number",
+  "StudentPhoneNumber":"Student Phone Number",
+  "EnterStudentPhoneNumber":"Enter Student Phone Number",
+  "Aystrtsftc":"Are you sure to remove this student from this class?",
+  "SelectGrade":"Select Grade",
+  "Selectclass":"Select class",
+  "EditClass":"Edit Class",
+  "ClassName":"Class Name",
+  "Aystdtc":"re you sure to delete this class?",
+  "Enterclass":"Enter class",
+  "EnterGradeName":"Enter Grade Name",
+  "AddGrade":"Add Grade",
+  "GradeName":"Grade Name",
+  "NumberofClasses":"Number of Classes",
+  "ViewClasses":"View Classes",
+  "Classes":"Classes",
+  "AddClasses":"Add Classes",
+  "SelectClasses":"Select Classes",
+  "SearchforClassName":"Search for Class Name",
+  "Add":"Add",
+  "Aystrtcftg":"Are you sure to remove this class from this grade?",
+  "Aystdtg":"Are you sure to delete this grade?",
+  "EnterGrade":"Enter Grade",
+  "CocoNote":"CocoNote",
+  "EditCoconote":"Edit Coconote",
+  "ResetNote":"Reset",
+  "SearchNote":"Search",
+  "GradeL":"Grade",
+  "Theme":"Theme",
+  "Subject":"Subject",
+  "All":"All",
+  "Shared":"Shared",
+  "MyNote":"MyNote",
+  "Open":"Open",
+  "Modified":"Modified",
+  "Copy":"Copy",
+  "Aystdi":"Are you sure to delete it?",
+  "Successfullycopy":"Successfullycopy",
+  "Standardcreation":"Standard creation",
+  "QuicklyCreate":"Quickly Create",
+  "Back":"Back",
+  "NoteName":"Note Name(Required)",
+  "Cover":"Cover",
+  "AddCoverimage":"Add Cover image",
+  "Collaborator":"Collaborator",
+  "Psac":"Please select collaborators",
+  "Pleaseaddgroups":"Please add the course name before setting up the group",
+  "Pleasesetupgroups":"No groups available at the moment.Click the'Create' button to set up groups",
+  "Creategroups":"Create",
+  "Deletegroups":"Delete",
+  "GroupSettings":"Group Settings",
+  "GroupName1":"*st Group Name",
+  "GroupName2":"*nd Group Name",
+  "GroupName3":"*rd Group Name",
+  "GroupName4":"*th Group Name",
+  "nd":"nd",
+  "rd":"rd",
+  "th":"th",
+  "AddGroup":"Add",
+  "Groupsize":"Group size",
+  "Addgroupsinbatch":"Batch Add",
+  "Inputinteger":"Enter an integer between 2 and 10",
+  "Save":"Save",
+  "UpdateSuccessful":"Update Successful",
+  "returnHomepage":"return",
+  "Confirmcreation":"Confirm creation",
+  "GroupNames":"Group Names",
+  "Pleaseenteraname":"Please enter a name ..",
+  "Teachernotaddedgroups":"Teacher has not added any groups yet",
+  "emptyplaces":"empty places",
+  "Group": "Group *",
+  "Addteammembers": "Add team members",
+  "Removeteammembers": "Remove team members",
+  "selectteamdelete": "Please select the team member to delete",
+  "Areyousuredeletegroup": "Are you sure to delete the existing group? After deletion, the grouped data will be cleared!",
+  "tip": "Tip",
+  "OpenSeatSelectionTip":"Tip: Turn on 'Open Seat Selection' to freely join and leave the group.",
+  "OpenSeatSelection":"Open Seat Selection",
+  "Enablegrouping":"Enable grouping",
+  "JoinGroup":"Join Group",
+  "Exitgroup":"Exit group",
+  "Groupinghasbeenclosed":"Grouping has been closed",
+  "Modifygrouping":"Modify grouping",
+  "selectgroupenter":"Please select the group to enter",
+  "Noname":"No Name",
+  "enablegroupingbefor":"Please enable grouping before opening seat selection",
+  "fillincompletely":"Please fill in the information completely!",
+  "pleaseresetgroup":"There are already more groups than the number you set, please reset",
+  "Settingsuccessful":"Setting successful",
+  "Successfullystartedgrouping":"Successfully started grouping",
+  "Successfullyclosedgrouping":"Successfully closed grouping",
+  "Poorinternetconnection":"Poor internet connection",
+  "Locationisfull":"Location is full, unable to join",
+  "Exitsuccessful":"Exit successful",
+  "confirmjointhegroup":"Are you sure to join the group? After confirmation, the collaborative build will be opened directly",
+  "Locationlocked":"Location locked, unable to join",
+  "Joinsuccessfully":"Join successfully",
+  "unabletoexit":"Location locked, unable to exit",
+  "exist":"exist",
+  "SMARTPaste ":"SMART Paste",
+  "uploadpictures":"upload pictures",
+  "Selectlocalfile":"Select local file",
+  "Selectnetworkfiles":"Select network files",
+  "Addmembers":"Add collaborative members",
+  "Searchforaccount":"Search for complete name/account (excluding email suffix)",
+  "identity":"identity",
+  "school":"school",
+  "SelectAll":"SelectAll",
+  "teacher":"teacher",
+  "student":"student",
+  "fillincoursename":"Please fill in the course name",
+  "wantsavecontent":"Do you want to save the edited content?",
+  "saveCoco":"save",
+  "notsave":"not save",
+  "Noncannotedit":"Non administrators and creators cannot edit",
+  "type":"type",
+  "Searchimagekeywords":"Search for image keywords",
+  "enterkeywordsimages":"Please enter keywords to search for images",
+  "Changeanothergroup":"Change to another group"
+
+
+
 }

+ 192 - 1
src/lang/hk.json

@@ -1,3 +1,194 @@
 {
-  "lang": "hk"
+  "lang": "hk",
+  "DepartmentManagement": "教研室管理",
+  "DepartmentTypeManagement": "教研室類型管理",
+  "Enterdepartmentname": "請輸入教研室名稱",
+  "Search": "查詢",
+  "AddDepartment": "添加教研室",
+  "DepartmentName": "教研室名稱",
+  "DepartmentType": "教研室類型",
+  "Action": "操作",
+  "ViewTeacher": "查看老師",
+  "Enterusername": "請輸入用戶名",
+  "return": "返回",
+  "AddTeacher": "添加老師",
+  "Name": "姓名",
+  "Department": "教研室",
+  "TeacherAccount": "老師賬號",
+  "Nodata": "暫無數據",
+  "AddTeachers": "添加教師",
+  "Searchteachername": "搜索老師的姓名",
+  "SelectMembers": "選擇成員",
+  "Account": "賬號",
+  "Cancel": "取消",
+  "Confirm": "確定",
+  "AddSuccessful": "新增成功",
+  "Edit": "修改",
+  "Delete": "刪除",
+  "Aystrttfta": "確定在本教研室移除此老師嗎?",
+  "Remove": "移除",
+  "EditDepartment": "修改教研室",
+  "OperateSuccessful": "操作成功",
+  "Aystdtd": "確定刪除此教研室嗎?",
+  "Enterdepartmenttype": "請輸入教研室類型",
+  "DeleteSuccessful": "刪除成功",
+  "Adddepartmenttype": "添加教研室類型",
+  "Pleaseenteryourusername": "請輸入用戶名",
+  "GradeManagement": "年級管理",
+  "ClassManagement": "班級管理",
+  "StudentManagement": "學生管理",
+  "AllPeople": "所有人",
+  "AddStudents": "添加學生",
+  "BatchAdd": "批量添加",
+  "XLSXMax": "只能上傳xlsx文件,且不超過500kb",
+  "EXffu": "xlsx上傳樣例",
+  "StudentAccount": "學生賬號",
+  "Class": "班級",
+  "StudentClass": "學生班級",
+  "InitialPassword": "初始化密碼",
+  "Aystrtp": "確定初始化此學生的密碼嗎?",
+  "Reset": "確定",
+  "Resetsuccessful": "初始化密碼成功!",
+  "AddStudent": "添加學生",
+  "StudentName": "學生姓名",
+  "StudentID": "學生賬號",
+  "EnterStudentID": "請輸入學生賬戶",
+  "AffiliatedSchool": "所屬學校",
+  "SelectClass": "請選擇班級",
+  "NoteTdpfnsai": "註:添加學生的賬戶密碼為123456",
+  "EditStudent": "修改學生",
+  "Editsuccessful": "修改成功",
+  "Aystd": "確定刪除此學生嗎?",
+  "EnterClassName": "請輸入班級名稱",
+  "Grade": "所屬年級",
+  "NumberofStudents": "人數",
+  "ViewStudents": "查看學生",
+  "EditGrade": "修改年級",
+  "EditName": "修改名稱",
+  "None": "暫無",
+  "AddClass": "添加班級",
+  "Searchstudentname": "搜素學生姓名",
+  "Choosemembers": "選擇成員",
+  "StudentNumber": "學生學號",
+  "EnterStudentNumber": "請輸入學生學號",
+  "StudentPhoneNumber": "學生手機號",
+  "EnterStudentPhoneNumber": "請輸入學生手機號",
+  "Aystrtsftc": "確定移出學生在本班級嗎?",
+  "SelectGrade": "選擇年級",
+  "Selectclass": "請選擇班級",
+  "EditClass": "修改班級",
+  "ClassName": "班級名稱",
+  "Aystdtc": "確定刪除此班級嗎?",
+  "Enterclass": "請輸入班級",
+  "EnterGradeName": "請輸入年級名稱",
+  "AddGrade": "添加年級",
+  "GradeName": "年級名稱",
+  "NumberofClasses": "班級數",
+  "ViewClasses": "查看班級",
+  "Classes": "班級",
+  "AddClasses": "添加班級",
+  "SelectClasses": "選擇班級",
+  "SearchforClassName": "搜索班級名稱",
+  "Add": "確定",
+  "Aystrtcftg": "確定在本年級移除此班級嗎?",
+  "Aystdtg": "確定刪除此年級嗎?",
+  "EnterGrade": "請輸入年級",
+  "CocoNote": "協同建構",
+  "EditCoconote": "創建協同建構",
+  "ResetNote": "重置",
+  "SearchNote": "請輸入關鍵字",
+  "GradeL": "年級",
+  "Theme": "主題",
+  "Subject": "學科",
+  "All": "全部",
+  "Shared": "他人創建",
+  "MyNote": "我的創建",
+  "Open": "打開",
+  "Modified": "修改",
+  "Copy": "複製",
+  "Aystdi": "確定刪除嗎?",
+  "Successfullycopy": "複製成功",
+  "Standardcreation": "標準創建",
+  "QuicklyCreate": "快速創建",
+  "Back": "返回",
+  "NoteName": "項目名稱",
+  "Cover": "上傳封面",
+  "AddCoverimage": "點擊添加封面",
+  "Collaborator": "協同人員",
+  "Psac": "請選擇協同人員",
+  "Pleaseaddgroups": "請添加課程名稱後才能設置分組",
+  "Pleasesetupgroups": "暫無分組,請點擊右上角設置分組",
+  "Creategroups": "添加分組",
+  "Deletegroups": "刪除分組",
+  "GroupSettings": "分組設置",
+  "GroupName1": "第*組名稱",
+  "GroupName2": "第*組名稱",
+  "GroupName3": "第*組名稱",
+  "GroupName4": "第*組名稱",
+  "nd": "nd",
+  "rd": "rd",
+  "th": "th",
+  "AddGroup": "添加",
+  "Groupsize": "請設置每組人數",
+  "Addgroupsinbatch": "批量添加小組",
+  "Inputinteger": "請輸入2-10的數字",
+  "Save": "確定",
+  "UpdateSuccessful": "修改成功",
+  "returnHomepage": "返回首頁",
+  "Confirmcreation": "確認創建",
+  "GroupNames":"請設置小組數量及名稱",
+  "Pleaseenteraname":"請輸入名稱...",
+  "Teachernotaddedgroups":"老師暫未新增分組",
+  "emptyplaces": "空位",
+  "Group": "第*組",
+  "Addteammembers": "新增組員",
+  "Removeteammembers": "移除組員",
+  "selectteamdelete": "請選擇要刪除的組員",
+  "Areyousuredeletegroup": "是否確定刪除現有分組?刪除後分組資料將被清空!",
+  "tip": "提示",
+  "OpenSeatSelectionTip": "提示:開啟【開放選位】,能夠自由加入和退出小組。",
+  "OpenSeatSelection": "開放選位",
+  "Enablegrouping": "開啟分組",
+  "JoinGroup": "加入分組",
+  "Exitgroup": "退出分組",
+  "Groupinghasbeenclosed": "已關閉分組",
+  "Modifygrouping": "修改分組",
+  "selectgroupenter": "請選擇要進入的分組",
+  "Noname": "暫無姓名",
+  "enablegroupingbefor":"請先開啟分組功能,才能開放選位",
+  "fillincompletely":"請將信息填寫完整!",
+  "pleaseresetgroup":"已經有小組比你設置的人數多,請重新設置",
+  "Settingsuccessful":"設置成功",
+  "Successfullystartedgrouping":"開啟分組成功",
+  "Successfullyclosedgrouping":"關閉分組成功",
+  "Poorinternetconnection":"網絡不佳",
+  "Locationisfull":"位置已滿,無法加入",
+  "Exitsuccessful":"退出成功",
+  "confirmjointhegroup":"確認加入分組?確認後將直接打開協同構建",
+  "Locationlocked":"位置已被鎖定,無法加入",
+  "Joinsuccessfully":"加入成功",
+  "unabletoexit":"位置已被鎖定,無法退出",
+  "exist":"在",
+  "SMARTPaste ":"智能粘貼",
+  "uploadpictures":"上傳圖片",
+  "Selectlocalfile":"選擇本地文件",
+  "Selectnetworkfiles":"選擇網絡文件",
+  "Addmembers":"添加協同成員",
+  "Searchforaccount":"搜索完整的姓名/賬號(不含郵箱後綴)",
+  "identity":"身份",
+  "school":"學校",
+  "SelectAll":"全選",
+  "teacher":"老師",
+  "student":"學生",
+  "fillincoursename":"請補充填寫課程名稱",
+  "wantsavecontent":"是否保存已編輯內容?",
+  "saveCoco":"保存",
+  "notsave":"不保存",
+  "Noncannotedit":"非管理員和創建者不可編輯",
+  "type":"類型",
+  "Searchimagekeywords":"搜索圖片關鍵字",
+  "enterkeywordsimages":"請輸入關鍵詞搜索圖片",
+  "Changeanothergroup":"換一組"
+
+
 }