Browse Source

Merge branch 'beta'

qgt 3 weeks ago
parent
commit
8eca82f676
53 changed files with 1303 additions and 858 deletions
  1. 26 2
      dist/index.html
  2. 0 0
      dist/static/css/app.89faa180b8f15b497fc84fa7cb7a2e8d.css
  3. 0 0
      dist/static/css/app.89faa180b8f15b497fc84fa7cb7a2e8d.css.map
  4. 0 0
      dist/static/css/workPage.d7e7e917126e1d3e7f03a438fec7f373.css
  5. 0 0
      dist/static/css/workPage.d7e7e917126e1d3e7f03a438fec7f373.css.map
  6. BIN
      dist/static/img/cocoloading.5a4818f.gif
  7. 0 0
      dist/static/js/0.9f2408d57b212f100e92.js
  8. 0 0
      dist/static/js/0.9f2408d57b212f100e92.js.map
  9. 0 0
      dist/static/js/0.eb6bdee5e7207bfd76b0.js.map
  10. 0 0
      dist/static/js/app.de0b466e306f18f40336.js
  11. 0 0
      dist/static/js/app.de0b466e306f18f40336.js.map
  12. 2 2
      dist/static/js/manifest.13ce8e475898fba4b86d.js
  13. 0 0
      dist/static/js/manifest.13ce8e475898fba4b86d.js.map
  14. 0 0
      dist/static/js/vendor.715d92365c85ab803f65.js
  15. 0 0
      dist/static/js/vendor.715d92365c85ab803f65.js.map
  16. 0 0
      dist/static/js/workPage-manifest.2ece51fa34be51c8610a.js.map
  17. 0 0
      dist/static/js/workPage.b0d12ca4ebecc9e82ecf.js
  18. 0 0
      dist/static/js/workPage.dfc4152c5640c169dcd3.js
  19. 0 0
      dist/static/js/workPage.dfc4152c5640c169dcd3.js.map
  20. 1 1
      dist/workPage.html
  21. 26 0
      index.html
  22. 60 42
      src/common/tools.js
  23. 1 1
      src/components/pages/EnglishVoice/index.vue
  24. 64 48
      src/components/pages/aiAddCourse/addCourse.vue
  25. 10 10
      src/components/pages/aiAddCourse/addCourse3.vue
  26. 10 10
      src/components/pages/aiAddCourse/addCourseX.vue
  27. 1 1
      src/components/pages/aiAddCourse/aiBoxCourseDetail.vue
  28. 2 2
      src/components/pages/aiAddCourse/aiBoxRight.vue
  29. 1 1
      src/components/pages/aiAddCourse/evaList.vue
  30. 18 2
      src/components/pages/aiAddCourse/templateDialog.vue
  31. 18 2
      src/components/pages/aiAddCourse/tipsDialog.vue
  32. 180 189
      src/components/pages/aiEasy/addCourse.vue
  33. 9 9
      src/components/pages/aiEasy/aiTips.vue
  34. 1 1
      src/components/pages/aiEasy/templateDialog.vue
  35. 26 26
      src/components/pages/aiEasy/tipsDialog.vue
  36. 11 11
      src/components/pages/components/exportDataDialog.vue
  37. 7 7
      src/components/pages/components/exportWorksDialog.vue
  38. 1 1
      src/components/pages/components/lookReport.vue
  39. 6 6
      src/components/pages/components/lookWork.vue
  40. 7 7
      src/components/pages/components/report.vue
  41. 3 3
      src/components/pages/components/studentWorksDetail.vue
  42. 3 3
      src/components/pages/components/worksDetail2.vue
  43. 6 6
      src/components/pages/course.vue
  44. 115 114
      src/components/pages/easy/addCourse.vue
  45. 123 121
      src/components/pages/newCourse/addCourse.vue
  46. 39 1
      src/components/pages/pptEasy/addCourse.vue
  47. 19 10
      src/components/pages/synergyCourse/addCourse.vue
  48. 60 10
      src/components/pages/synergyCourse/course.vue
  49. 3 3
      src/components/pages/synergyCourse/group/group.vue
  50. 1 1
      src/components/pages/trainCourse/addCourse.vue
  51. 146 67
      src/lang/cn.json
  52. 150 71
      src/lang/en.json
  53. 147 67
      src/lang/hk.json

+ 26 - 2
dist/index.html

@@ -1,4 +1,9 @@
-<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><title>PBL教师端</title><link rel="shortcut icon" type=image/x-icon href=static/logo.ico><style>@charset "utf-8";
+<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=Content-Security-Policy content="default-src * data: blob: 'unsafe-inline' 'unsafe-eval';
+               media-src * data: blob:;
+               script-src * 'unsafe-inline' 'unsafe-eval';
+               style-src * 'unsafe-inline' 'unsafe-hashes';
+               img-src * data: blob:;
+               font-src * data:;"><title>PBL教师端</title><link rel="shortcut icon" type=image/x-icon href=static/logo.ico><style>@charset "utf-8";
     /* @font-face {
         font-family: 'Source Han Sans SC';
         src: url('./static/SourceHanSans-Regular.otf') format('truetype');
@@ -32,7 +37,7 @@
       width: 100%;
       background: #e6eaf0;
       font-family: '黑体';
-    }</style><link href=./static/css/app.fe6976d512b5040136068402b1f70e70.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.23ea04dc469b57e2b4f8.js></script><script type=text/javascript src=./static/js/vendor.dfc8a8e3392292c7b8e5.js></script><script type=text/javascript src=./static/js/app.125c8b5be014104aed5a.js></script></body></html><script>function stopSafari() {
+    }</style><link href=./static/css/app.89faa180b8f15b497fc84fa7cb7a2e8d.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.13ce8e475898fba4b86d.js></script><script type=text/javascript src=./static/js/vendor.715d92365c85ab803f65.js></script><script type=text/javascript src=./static/js/app.de0b466e306f18f40336.js></script></body></html><script>function stopSafari() {
     //阻止safari浏览器双击放大功能
     let lastTouchEnd = 0  //更新手指弹起的时间
     document.documentElement.addEventListener("touchstart", function (event) {
@@ -81,6 +86,25 @@
       }
     }
     window.topU = topU
+    
+    // 根据语言设置字体
+    let lang = 'cn';
+    if (window.location.href.includes("cocorobo.cn")) {
+      lang = 'cn';
+    } else if (window.location.href.includes("cocorobo.hk")) {
+      lang = 'hk';
+    } else if (window.location.href.includes("cocorobo.com")) {
+      lang = 'com';
+    } else {
+      lang = 'com';
+    }
+    
+    // 如果 lang != 'com',使用黑体,否则使用默认字体栈
+    if (lang != 'com') {
+      document.body.style.fontFamily = '黑体';
+    } else {
+      document.body.style.fontFamily = 'ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji';
+    }
   }
   
   

File diff suppressed because it is too large
+ 0 - 0
dist/static/css/app.89faa180b8f15b497fc84fa7cb7a2e8d.css


File diff suppressed because it is too large
+ 0 - 0
dist/static/css/app.89faa180b8f15b497fc84fa7cb7a2e8d.css.map


File diff suppressed because it is too large
+ 0 - 0
dist/static/css/workPage.d7e7e917126e1d3e7f03a438fec7f373.css


File diff suppressed because it is too large
+ 0 - 0
dist/static/css/workPage.d7e7e917126e1d3e7f03a438fec7f373.css.map


BIN
dist/static/img/cocoloading.5a4818f.gif


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/0.9f2408d57b212f100e92.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/0.9f2408d57b212f100e92.js.map


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/0.eb6bdee5e7207bfd76b0.js.map


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/app.de0b466e306f18f40336.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/app.de0b466e306f18f40336.js.map


+ 2 - 2
dist/static/js/manifest.23ea04dc469b57e2b4f8.js → dist/static/js/manifest.13ce8e475898fba4b86d.js

@@ -1,2 +1,2 @@
-!function(e){var n=window.webpackJsonp;window.webpackJsonp=function(r,c,a){for(var i,u,f,s=0,l=[];s<r.length;s++)u=r[s],t[u]&&l.push(t[u][0]),t[u]=0;for(i in c)Object.prototype.hasOwnProperty.call(c,i)&&(e[i]=c[i]);for(n&&n(r,c,a);l.length;)l.shift()();if(a)for(s=0;s<a.length;s++)f=o(o.s=a[s]);return f};var r={},t={8:0};function o(n){if(r[n])return r[n].exports;var t=r[n]={i:n,l:!1,exports:{}};return e[n].call(t.exports,t,t.exports,o),t.l=!0,t.exports}o.e=function(e){var n=t[e];if(0===n)return new Promise(function(e){e()});if(n)return n[2];var r=new Promise(function(r,o){n=t[e]=[r,o]});n[2]=r;var c=document.getElementsByTagName("head")[0],a=document.createElement("script");a.type="text/javascript",a.charset="utf-8",a.async=!0,a.timeout=12e4,o.nc&&a.setAttribute("nonce",o.nc),a.src=o.p+"static/js/"+e+"."+{0:"eb6bdee5e7207bfd76b0",1:"14e8e8c7e44fc858e4a6",2:"94e1427bfc7ef0b4c685",3:"3a9f53a78da16650e6b8"}[e]+".js";var i=setTimeout(u,12e4);function u(){a.onerror=a.onload=null,clearTimeout(i);var n=t[e];0!==n&&(n&&n[1](new Error("Loading chunk "+e+" failed.")),t[e]=void 0)}return a.onerror=a.onload=u,c.appendChild(a),r},o.m=e,o.c=r,o.d=function(e,n,r){o.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},o.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(n,"a",n),n},o.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},o.p="./",o.oe=function(e){throw console.error(e),e}}([]);
-//# sourceMappingURL=manifest.23ea04dc469b57e2b4f8.js.map
+!function(e){var n=window.webpackJsonp;window.webpackJsonp=function(r,c,a){for(var i,u,f,s=0,l=[];s<r.length;s++)u=r[s],t[u]&&l.push(t[u][0]),t[u]=0;for(i in c)Object.prototype.hasOwnProperty.call(c,i)&&(e[i]=c[i]);for(n&&n(r,c,a);l.length;)l.shift()();if(a)for(s=0;s<a.length;s++)f=o(o.s=a[s]);return f};var r={},t={8:0};function o(n){if(r[n])return r[n].exports;var t=r[n]={i:n,l:!1,exports:{}};return e[n].call(t.exports,t,t.exports,o),t.l=!0,t.exports}o.e=function(e){var n=t[e];if(0===n)return new Promise(function(e){e()});if(n)return n[2];var r=new Promise(function(r,o){n=t[e]=[r,o]});n[2]=r;var c=document.getElementsByTagName("head")[0],a=document.createElement("script");a.type="text/javascript",a.charset="utf-8",a.async=!0,a.timeout=12e4,o.nc&&a.setAttribute("nonce",o.nc),a.src=o.p+"static/js/"+e+"."+{0:"9f2408d57b212f100e92",1:"14e8e8c7e44fc858e4a6",2:"94e1427bfc7ef0b4c685",3:"3a9f53a78da16650e6b8"}[e]+".js";var i=setTimeout(u,12e4);function u(){a.onerror=a.onload=null,clearTimeout(i);var n=t[e];0!==n&&(n&&n[1](new Error("Loading chunk "+e+" failed.")),t[e]=void 0)}return a.onerror=a.onload=u,c.appendChild(a),r},o.m=e,o.c=r,o.d=function(e,n,r){o.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},o.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(n,"a",n),n},o.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},o.p="./",o.oe=function(e){throw console.error(e),e}}([]);
+//# sourceMappingURL=manifest.13ce8e475898fba4b86d.js.map

File diff suppressed because it is too large
+ 0 - 0
dist/static/js/manifest.13ce8e475898fba4b86d.js.map


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/vendor.715d92365c85ab803f65.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/vendor.715d92365c85ab803f65.js.map


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/workPage-manifest.2ece51fa34be51c8610a.js.map


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/workPage.b0d12ca4ebecc9e82ecf.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/workPage.dfc4152c5640c169dcd3.js


File diff suppressed because it is too large
+ 0 - 0
dist/static/js/workPage.dfc4152c5640c169dcd3.js.map


+ 1 - 1
dist/workPage.html

@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><title>工作页面 - CocoFlow</title><link rel=icon href=../static/logo.ico><link href=./static/css/workPage.b4e54979ac964d5c923286fd86454a31.css rel=stylesheet></head><body><noscript><strong>We're sorry but this app doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script type=text/javascript src=./static/js/workPage-manifest.2ece51fa34be51c8610a.js></script><script type=text/javascript src=./static/js/workPage-vendor.0c46d4deebf81c844386.js></script><script type=text/javascript src=./static/js/workPage.b0d12ca4ebecc9e82ecf.js></script></body></html><script>function stopSafari() {
+<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><title>工作页面 - CocoFlow</title><link rel=icon href=../static/logo.ico><link href=./static/css/workPage.d7e7e917126e1d3e7f03a438fec7f373.css rel=stylesheet></head><body><noscript><strong>We're sorry but this app doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script type=text/javascript src=./static/js/workPage-manifest.2ece51fa34be51c8610a.js></script><script type=text/javascript src=./static/js/workPage-vendor.0c46d4deebf81c844386.js></script><script type=text/javascript src=./static/js/workPage.dfc4152c5640c169dcd3.js></script></body></html><script>function stopSafari() {
     //阻止safari浏览器双击放大功能
     let lastTouchEnd = 0  //更新手指弹起的时间
     document.documentElement.addEventListener("touchstart", function (event) {

+ 26 - 0
index.html

@@ -4,6 +4,13 @@
 <head>
   <meta charset="utf-8">
   <meta name="viewport" content="width=device-width,initial-scale=1.0">
+  <meta http-equiv="Content-Security-Policy" 
+      content="default-src * data: blob: 'unsafe-inline' 'unsafe-eval';
+               media-src * data: blob:;
+               script-src * 'unsafe-inline' 'unsafe-eval';
+               style-src * 'unsafe-inline' 'unsafe-hashes';
+               img-src * data: blob:;
+               font-src * data:;">
   <title>PBL教师端</title>
   <link rel="shortcut icon" type="image/x-icon" href="static/logo.ico">
   <style>
@@ -101,6 +108,25 @@
       }
     }
     window.topU = topU
+    
+    // 根据语言设置字体
+    let lang = 'cn';
+    if (window.location.href.includes("cocorobo.cn")) {
+      lang = 'cn';
+    } else if (window.location.href.includes("cocorobo.hk")) {
+      lang = 'hk';
+    } else if (window.location.href.includes("cocorobo.com")) {
+      lang = 'com';
+    } else {
+      lang = 'com';
+    }
+    
+    // 如果 lang != 'com',使用黑体,否则使用默认字体栈
+    if (lang != 'com') {
+      document.body.style.fontFamily = '黑体';
+    } else {
+      document.body.style.fontFamily = 'ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji';
+    }
   }
   
   

+ 60 - 42
src/common/tools.js

@@ -1,45 +1,63 @@
+import cn from "../lang/cn.json";
+import hk from "../lang/hk.json";
+import en from "../lang/en.json";
+
+// 根据URL判断语言
+let lang = cn;
+if (typeof window !== 'undefined') {
+    if (window.location.href.includes("cocorobo.cn")) {
+        lang = cn;
+    } else if (window.location.href.includes("cocorobo.hk")) {
+        lang = hk;
+    } else if (window.location.href.includes("cocorobo.com")) {
+        lang = en;
+    } else {
+        lang = cn;
+    }
+}
+
 export const tools = {
-    58: { name: "模拟驾驶" },
-    59: { name: "路径搜索" },
-    60: { name: "深度学习" },
-    10: { name: "倒计时" },
-    65: { name: "挑人" },
-    7: { name: "思维网格" },
-    1: { name: "电子白板" },
-    52: { name: "文档" },
-    3: { name: "思维导图" },
-    48: { name: "表格" },
-    49: { name: "学生分组" },
-    4: { name: "问卷调查" },
-    45: { name: "选择题" },
-    15: { name: "问答" },
-    16: { name: "作业提交" },
-    50: { name: "批量上传" },
-    41: { name: "选择匹配" },
-    47: { name: "排序" },
-    40: { name: "个人评价" },
-    18: { name: "训练平台" },
-    21: { name: "AIoT Blockly" },
-    23: { name: "AI Python" },
-    24: { name: "AI Blockly" },
-    32: { name: "源码编辑" },
-    57: { name: "CocoPi" },
-    63: { name: "海龟编程" },
-    28: { name: "翻译" },
-    31: { name: "数字画板" },
+    58: { name: lang.ssSimulatedDriving },
+    59: { name: lang.ssRouteSearch },
+    60: { name: lang.ssDeepLearning },
+    10: { name: lang.ssCountdown },
+    65: { name: lang.ssPickPeople },
+    7: { name: lang.ssMindGrid },
+    1: { name: lang.ssEWhite },
+    52: { name: lang.ssDocument },
+    3: { name: lang.ssMindMap },
+    48: { name: lang.ssTable },
+    49: { name: lang.ssStuGroup },
+    4: { name: lang.ssQuest },
+    45: { name: lang.ssChoice },
+    15: { name: lang.ssQA },
+    16: { name: lang.ssHomework },
+    50: { name: lang.ssBatchUp },
+    41: { name: lang.ssSelMatch },
+    47: { name: lang.ssSort },
+    40: { name: lang.ssPersonalL },
+    18: { name: lang.ssTrainPlat },
+    21: { name: lang.ssAiotBlockly },
+    23: { name: lang.ssAiPython },
+    24: { name: lang.ssAiBlockly },
+    32: { name: lang.ssCodeEdit },
+    57: { name: lang.ssCocoPi },
+    63: { name: lang.ssTurtle },
+    28: { name: lang.ssTranslate },
+    31: { name: lang.ssDigital },
     39: { name: "GeoGebra" },
-    66: { name: "公式编辑" },
-    67: { name: "分子结构" },
-    68: { name: "时间轴" },
-    69: { name: "英语写作" },
-    70: { name: "英语口语" },
-    25: { name: "目标管理" },
-    26: { name: "课程设计" },
-    62: { name: "交互视频" },
-    51: { name: "资源库" },
-    54: { name: "拍照" },
-    71: { name: "AI智能体" },
-    56: { name: "投票" },
-    72: { name: "应用中心" },
-    73: { name: "PPT" },
+    66: { name: lang.ssFormula },
+    67: { name: lang.ssMoleculeStruct },
+    68: { name: lang.ssTimeline },
+    69: { name: lang.ssEngWrite },
+    70: { name: lang.ssEngSpeak },
+    25: { name: lang.ssObjMgmt },
+    26: { name: lang.ssCourseDesign },
+    62: { name: lang.ssInterVideo },
+    51: { name: lang.ssResource },
+    54: { name: lang.ssPhoto },
+    71: { name: lang.ssAIAgent },
+    56: { name: lang.ssVote },
+    72: { name: lang.ssAppCenter },
+    73: { name: lang.ssPPT },
 };

+ 1 - 1
src/components/pages/EnglishVoice/index.vue

@@ -1,5 +1,5 @@
 <template>
-    <el-dialog :title="lang.ssEnglishOral" :visible.sync="EnglishVoiceDialog" :append-to-body="true" width="100%"
+    <el-dialog :title="lang.ssEngSpeak" :visible.sync="EnglishVoiceDialog" :append-to-body="true" width="100%"
         :before-close="handleClose" class="dialog_diy">
         <div class="ev_box">
             <div class="ev_info_box">

+ 64 - 48
src/components/pages/aiAddCourse/addCourse.vue

@@ -1,6 +1,7 @@
 <template>
   <div class="pb_content" style="background: #f0f2f5;overflow: hidden;" v-loading="loading"
     :element-loading-text="lang.xiaokeloading">
+   <!-- ai引导模式 -->
     <div class="c_pub_button_confirm stopBtn" v-if="loading && isOutlineCancelToken" @click="cancelAjax('outline')">{{ lang.stop }}
     </div>
     <div class="c_pub_button_confirm stopBtn" v-if="loading && isTeacherTaskCancelToken"
@@ -19,7 +20,7 @@
                   org +
                   '&role=' +
                   role,
-              }">{{ lang.CourseManagement }}</el-breadcrumb-item>
+              }">{{ lang.ssCourseMgmt }}</el-breadcrumb-item>
               <el-breadcrumb-item>
                 <span style="color: rgb(15, 126, 255)">{{ lang.AddCourse }}</span>
               </el-breadcrumb-item>
@@ -129,7 +130,7 @@
                               <input type="text" :placeholder="lang.ssEnterName" class="binfo_input" v-model="courseName"
                                 @change="setCover" />
                             </div>
-                            <div style=" margin-bottom: 15px; display:flex;">
+                            <div style="margin-bottom: 15px; display:flex;gap: 5px;">
                               <el-switch v-model="isTeacherSee" :active-text="lang.ssPublish"
                                 style="justify-content: center; min-width: 150px;"></el-switch>
                               <el-switch v-model="isFileSearch" :active-text="lang.ssIntell"
@@ -974,11 +975,11 @@
                 <div class="know_serach" v-show="interFindPan">
                   <div class="know_serach_box" v-if="getTypeC(2).length || getTypeC(1).length">
                     <span>{{ lang.ssSearchItem }}</span>
-                    <el-select v-if="getTypeC(2).length" v-model="typeC1" :placeholder="lang.ssSelectGrade" @change="forceUpdate()" style="width: 150px;margin-right: 10px;" clearable multiple :collapse-tags="true" :collapse-tags-tooltip="true">
+                    <el-select v-if="getTypeC(2).length" v-model="typeC1" :placeholder="lang.ssSelectGrade" @change="forceUpdate()" style="width: 230px;margin-right: 10px;" clearable multiple :collapse-tags="true" :collapse-tags-tooltip="true">
                       <el-option v-for="(e, eIndex) in getTypeC(2)" :key="eIndex" :label="e" :value="e">
                       </el-option>
                     </el-select>
-                    <el-select v-if="getTypeC(1).length" v-model="typeC2" :placeholder="lang.ssSelectSubj" @change="forceUpdate()" style="width: 150px;margin-right: 10px;" clearable multiple :collapse-tags="true" :collapse-tags-tooltip="true">
+                    <el-select v-if="getTypeC(1).length" v-model="typeC2" :placeholder="lang.ssSelectSubj" @change="forceUpdate()" style="width: 230px;margin-right: 10px;" clearable multiple :collapse-tags="true" :collapse-tags-tooltip="true">
                       <el-option v-for="(e, eIndex) in getTypeC(1)" :key="eIndex" :label="e" :value="e">
                       </el-option>
                     </el-select>
@@ -2719,7 +2720,7 @@
                           class="chapter_upload_drag"></div>
                         <div class="nt_taskBox">
                           <div class="nt_taskTitle">
-                            {{ lang.Stage.replace(/\*/g, stageIndex + 1) }}:
+                            {{ lang.ssStage.replace(/\*/g, stageIndex + 1) }}:
                           </div>
                           <div class="nt_taskName">
                             <el-tooltip effect="light" :content="stage.dyName ? stage.dyName : lang.Unnamedstage
@@ -2869,9 +2870,9 @@
                         ">{{
                           item.dyName
                           ? item.dyName
-                          : lang.Stage.replace(/\*/g, index + 1)
+                          : lang.ssStage.replace(/\*/g, index + 1)
                           }}</span>
-                        <span v-else>{{ lang.Stage.replace(/\*/g, index + 1) }}</span>
+                        <span v-else>{{ lang.ssStage.replace(/\*/g, index + 1) }}</span>
                       </div>
                       <div class="cru_line" :style="{
                         left: offsetLetfPx + 'px',
@@ -2899,7 +2900,7 @@
                     <button class="c_pub_button_confirm pub_btn_template_img" @click="openTemplate" :style="{
                       margin: isPasteTask ? '0 0 0 20px' : '0 0 0 auto',
                     }" style="padding: 0 12px">
-                      {{ lang.SelectCourseTemplate }}
+                      {{ lang.ssSelectTemp }}
                     </button>
                   </div>
 
@@ -4159,7 +4160,7 @@
                                 ">
                                 <div style="margin-right: 20px; font-weight: bold"
                                   :id="'gj' + itemTaskIndex + '' + toolIndex">
-                                  {{ lang.ToolL.replace(/\*/g, toolIndex + 1) }} 
+                                  {{ lang.ssTool.replace(/\*/g, toolIndex + 1) }} 
                                 </div>
                                 <div class="chooseWho">
                                   <div :class="itemTool.toolType == 0
@@ -4170,7 +4171,7 @@
                                       (itemTool.isFold3 = false),
                                       $forceUpdate()
                                       ">
-                                    {{ lang.Interactive }}
+                                    {{ lang.ssInteract }}
                                   </div>
                                   <div :class="itemTool.toolType == 1
                                     ? 'isChooseActive'
@@ -4180,7 +4181,7 @@
                                       (itemTool.isFold3 = false),
                                       $forceUpdate()
                                       ">
-                                    {{ lang.Cognitive }}
+                                    {{ lang.ssCognitive }}
                                   </div>
                                   <div :class="itemTool.toolType == 6
                                     ? 'isChooseActive'
@@ -4190,7 +4191,7 @@
                                       (itemTool.isFold3 = false),
                                       $forceUpdate()
                                       ">
-                                    {{ lang.Collaborative }}
+                                    {{ lang.ssCoopType }}
                                   </div>
                                   <div :class="itemTool.toolType == 2
                                     ? 'isChooseActive'
@@ -4210,7 +4211,7 @@
                                       (itemTool.isFold3 = false),
                                       $forceUpdate()
                                       ">
-                                    {{ lang.Evaluation }}
+                                    {{ lang.ssEval }}
                                   </div>
                                   <div :class="itemTool.toolType == 3
                                     ? 'isChooseActive'
@@ -4220,7 +4221,7 @@
                                       (itemTool.isFold3 = false),
                                       $forceUpdate()
                                       ">
-                                    {{ lang.Programming }}
+                                    {{ lang.ssProgType }}
                                   </div>
                                   <div :class="itemTool.toolType == 5
                                     ? 'isChooseActive'
@@ -4230,7 +4231,7 @@
                                       (itemTool.isFold3 = false),
                                       $forceUpdate()
                                       ">
-                                    {{ lang.SubjectSpecific }}
+                                    {{ lang.ssSubject }}
                                   </div>
                                   <!-- <div :class="itemTool.toolType == 4 ? 'isChooseActive' : ''
                               " @click="(itemTool.toolType = 4), $forceUpdate()">
@@ -4336,7 +4337,7 @@
                                       openTools(itemTaskIndex, 10, toolIndex)
                                       ">
                                       <img src="../../../assets/icon/thirdToolList/time.png" alt />
-                                      <div style="margin: 5px 0">{{ lang.Timer }}</div>
+                                      <div style="margin: 5px 0">{{ lang.ssCountdown }}</div>
                                     </div>
                                     <div class="noCTool">
                                       <img src="../../../assets/icon/new/isToolC.png" alt="" />
@@ -4362,7 +4363,7 @@
                                       addTools(65, itemTaskIndex, toolIndex)
                                       ">
                                       <img src="../../../assets/icon/firstToolList/pickPeople.png" alt />
-                                      <div style="margin: 5px 0">{{ lang.Picksomeone }}</div>
+                                      <div style="margin: 5px 0">{{ lang.ssPickPeople }}</div>
                                     </div>
                                     <div class="noCTool">
                                       <img src="../../../assets/icon/new/isToolC.png" alt="" />
@@ -4433,7 +4434,7 @@
                                             </div>
 
                                             <span v-else>
-                                              {{ lang.ApplicationCenter }}
+                                              {{ lang.ssAppCenter }}
                                             </span>
                                         </div>
                                     </div>
@@ -4456,7 +4457,7 @@
                                       addTools(7, itemTaskIndex, toolIndex)
                                       ">
                                       <img src="../../../assets/icon/secondToolList/mindNetwork.png" alt />
-                                      <div style="margin: 5px 0">{{ lang.MindGrid }}</div>
+                                      <div style="margin: 5px 0">{{ lang.ssMindGrid }}</div>
                                     </div>
                                     <div class="noCTool">
                                       <img src="../../../assets/icon/new/isToolC.png" alt="" />
@@ -4482,7 +4483,7 @@
                                       openTools(itemTaskIndex, 1, toolIndex)
                                       ">
                                       <img src="../../../assets/icon/secondToolList/whiteBoard.png" alt />
-                                      <div style="margin: 5px 0">{{ lang.EWhiteboard }}</div>
+                                      <div style="margin: 5px 0">{{ lang.ssEWhite }}</div>
                                     </div>
                                     <div class="noCTool">
                                       <img src="../../../assets/icon/new/isToolC.png" alt="" />
@@ -4558,7 +4559,7 @@
                                       openTools(itemTaskIndex, 52, toolIndex)
                                       ">
                                       <img src="../../../assets/icon/fourthToolList/text.png" alt />
-                                      <div style="margin: 5px 0">{{ lang.Document }}</div>
+                                      <div style="margin: 5px 0">{{ lang.ssDocument }}</div>
                                     </div>
                                     <div class="noCTool">
                                       <img src="../../../assets/icon/new/isToolC.png" alt="" />
@@ -7614,7 +7615,7 @@
       <div class="change_stageBox">
         <div class="navTask" v-for="(t, tIndex) in unitJson3" :key="tIndex">
           <div class="nt_taskBox">
-            <div class="nt_taskTitle">{{ lang.ssStageNum.replace(/\*/g, tIndex + 1) }}</div>
+            <div class="nt_taskTitle">{{ lang.ssStage.replace(/\*/g, tIndex + 1) }}</div>
             <div class="nt_taskName">
               <el-tooltip effect="light" :content="t.dyName" placement="top">
                 <span>{{ t.dyName }}</span>
@@ -8130,16 +8131,16 @@ export default {
       dialogVisibleAiD: false,
       aitype: "",
       aiJson: {
-        "aiDetail": "请根据<课程简要描述>设计一个名为<课程名字>的<课程学科>学科的,面向<面向年级>的项目式学习课程。",
-        "aiOutline": "请为这个名为<课程名字>的<课程学科>学科的,面向<面向年级>学生的项目式学习课程设计序列教学活动(需要每个任务都需要至少100个token的详细描述)。你需要参考课程简要描述<课程简要描述>,并产出每个教学任务的设计(可以直接使用文件内容)以及每个教学活动的评价量规(学生能做到...)。",
-        "aiTask": "请根据<教学任务教案>。",
-        "aiDetail1": "请根据<课程描述>,重新设计该教学任务。任务需要至少50个token的详细描述,包含任务设计,评价标准。",
-        "aiDetail2": "请你在考虑到整个课程的情况下,优化该任务描述",//和任务名:<任务名>:<任务描述>
-        "aiDetail3": "请你在考虑到整个课程的情况下,**重点考虑该任务及工具名和工具内容的情况下**,优化工具指引。",
-        "aiDetail4": "请你在考虑到整个课程的情况下,**重点考虑该任务详情**以及工具的情况下,优化评价标准。",
-        "aiTeacher": "请根据<任务大纲>为每个教学任务设计详细的教案,教案需要包含该任务的教学目标,教学过程(包含分步骤的教师活动和学生活动,教师活动与学生活动应该一一对应),相关知识点的讲解,练习(练习需要包含实例答案。",
-        "teacherDetail": "请根据<任务大纲>,以及# 其他教学任务教案,为本教学任务设计详细的教案,教案需要包含该任务的教学目标,教学过程(包含分步骤的教师活动和学生活动),相关知识点的讲解,练习(练习需要包含实例答案。注意,你绝对不能重复其他教学任务教案中的内容",
-        "teacherDetail2": "请根据<任务名>、<任务描述>,<课程简要描述>,为该任务设计详细的教案,教案需要包含该任务的教学目标,教学过程(包含分步骤的教师活动和学生活动,教师活动与学生活动应该一一对应),相关知识点的讲解,练习(练习需要包含示例答案)。"
+        "aiDetail": this.lang.ssAiDetail,
+        "aiOutline": this.lang.ssAiOutline2,
+        "aiTask": this.lang.ssAiTask,
+        "aiDetail1": this.lang.ssAiDetail1,
+        "aiDetail2": this.lang.ssAiDetail2Alt,//和任务名:<任务名>:<任务描述>
+        "aiDetail3": this.lang.ssAiDetail3,
+        "aiDetail4": this.lang.ssAiDetail4,
+        "aiTeacher": this.lang.ssAiTeacher2,
+        "teacherDetail": this.lang.ssTeacherDet2,
+        "teacherDetail2": this.lang.ssTeacherDet2Alt
       },
       aiText: "",
       aiText2: "",
@@ -10268,7 +10269,8 @@ export default {
       messages = `NOTICE
 Role: 你是创建课程的老师,内容以markdown形式出现(注:如果文件内容里面不包含需要检索的内容,就不引用文件内容)。
 Language: ${this.getLang()}
-
+ATTENTION: Use '##' to SPLIT SECTIONS, not '#'. Output format carefully referenced "Format example".
+Instruction: Based on the context, follow "Format example", write content.
 根据任务的教案<任务教案>,生成学生工作单(student worksheet),工作单里面包含 分解的子任务,子任务描述,并给出学生回答的框。输出语气亲切。格式为Markdown。
 
 ## 任务教案
@@ -14528,7 +14530,7 @@ ${_this.unitJson[0].chapterInfo[0].taskJson[index].taskDetail3.replaceAll('#',''
           );
         } else {
           var groupJson = {
-            group: [{ name: this.lang.Group.replace(/\*/g, '1') }],
+            group: [{ name: this.lang.ssGroup.replace(/\*/g, '1') }],
             number: undefined,
             islock: 1,
           };
@@ -16429,16 +16431,16 @@ ${_this.unitJson[0].chapterInfo[0].taskJson[index].taskDetail3.replaceAll('#',''
               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 = this.lang.GradeL;
+              res.data[0][cti].name = this.lang.ssGradeType;
             } 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 = this.lang.Subject;
+              res.data[0][cti].name = this.lang.ssSubjectCategory;
             } else if (
               res.data[0][cti].id == "34629bcc-d02f-11ec-8c78-005056b86db5"
             ) {
-              res.data[0][cti].name = this.lang.Theme;
+              res.data[0][cti].name = this.lang.ssThemeType;
             }
           }
 
@@ -16453,7 +16455,7 @@ ${_this.unitJson[0].chapterInfo[0].taskJson[index].taskDetail3.replaceAll('#',''
 
             if (this.oid == "69893dca-1d47-11ed-8c78-005056b86db5") {
               if (res.data[0][i].name == this.lang.ssColumn) {
-                this.CourseType[0][i].name = this.lang.Theme;
+                this.CourseType[0][i].name = this.lang.ssThemeType;
               }
             }
             if (res.data[2].length == 0 && res.data[3].length == 0) {
@@ -16519,7 +16521,7 @@ ${_this.unitJson[0].chapterInfo[0].taskJson[index].taskDetail3.replaceAll('#',''
             }
             if (this.oid == "69893dca-1d47-11ed-8c78-005056b86db5") {
               if (res.data[0][i].name == this.lang.ssColumn) {
-                this.CourseType[0][i].name = this.lang.Theme;
+                this.CourseType[0][i].name = this.lang.ssThemeType;
               }
             }
             for (var j = 0; j < res.data[1].length; j++) {
@@ -17218,7 +17220,7 @@ ${_this.unitJson[0].chapterInfo[0].taskJson[index].taskDetail3.replaceAll('#',''
     addGroup(i) {
       // this.groupJson.group.splice(i + 1, 0, { name: "第"+(i+1)+"组" });
       this.groupJson.group.push({
-        name: this.lang.Group.replace(/\*/g, this.groupJson.group.length + 1),
+        name: this.lang.ssGroup.replace(/\*/g, this.groupJson.group.length + 1),
       });
     },
     deleteGroup(i) {
@@ -19423,6 +19425,8 @@ ${(this.templateid == "4480d65a-1e48-11ef-bee5-005056b86db5" || this.templateid
               let message1 = `NOTICE
 Role: 你是一名教师,你正在使用一个在线学习平台来教授学生,你已经完成了教案,你现在需要将教案变为学生上课用的任务单(work sheet)。该在线学习平台为每个任务提供了资源区(视频,ppt,阅读资料将放在这里),多种互动工具(学生点击工具即可上传他们的作业或者回答,这些互动工具类似kahoot一样允许教师轻松收集,统计,追踪学生作业),以及和任务绑定的目标和评价系统。
 Language: ${_this.getLang()}
+ATTENTION: Use '##' to SPLIT SECTIONS, not '#'. Output format carefully referenced "Format example".
+Instruction: Based on the context, follow "Format example", write content.
 
 # Context
 ## 要求
@@ -19459,7 +19463,8 @@ ${msg}
           let message1 = `NOTICE
 Role: 你是一名教师,你正在使用一个在线学习平台来教授学生,你已经完成了教案,你现在需要将教案变为学生上课用的任务单(work sheet)。该在线学习平台为每个任务提供了资源区(视频,ppt,阅读资料将放在这里),多种互动工具(学生点击工具即可上传他们的作业或者回答,这些互动工具类似kahoot一样允许教师轻松收集,统计,追踪学生作业),以及和任务绑定的目标和评价系统。
 Language: ${this.getLang()}
-
+ATTENTION: Use '##' to SPLIT SECTIONS, not '#'. Output format carefully referenced "Format example".
+Instruction: Based on the context, follow "Format example", write content.
 # Context
 ## 要求
 ${msg}
@@ -23740,8 +23745,8 @@ ${msg} 输出格式和内容要求参考#格式与要求
 // [{"value":"评价维度","detail":"维度描述",target:"评价目标","score":5},{"value":"评价维度","detail":"维度描述",target:"评价目标","score":5},{"value":"评价维度","detail":"维度描述",target:"评价目标","score":5}]`
 let messages = `
 Language: ${this.getLang()}
-ATTENTION: Use '##' to SPLIT SECTIONS, not '#'.Output format carefully referenced "Format example".
-
+ATTENTION: Use '##' to SPLIT SECTIONS, not '#'. Output format carefully referenced "Format example".
+Instruction: Based on the context, follow "Format example", write content.
 #Context
 ## 参考内容
 任务名称:${_this.unitJson[0].chapterInfo[0].taskJson[_tindex2].task}
@@ -23892,7 +23897,8 @@ ${msg} 优化核心素养、目标、评价标准,输出格式和内容要求
       }
       let messages = `
 Language: ${this.getLang()}
-ATTENTION: Use '##' to SPLIT SECTIONS, not '#'.Output format carefully referenced "Format example".
+ATTENTION: Use '##' to SPLIT SECTIONS, not '#'. Output format carefully referenced "Format example".
+Instruction: Based on the context, follow "Format example", write content.
 
 --------
 ## 要求
@@ -24105,7 +24111,8 @@ ${_text2}`
       let messages = `NOTICE
 Role: 你是创建课程的老师,可以参考知识库的内容去分析文件内容(注:如果文件内容里面不包含需要检索的内容,就不引用文件内容)
 Language: ${this.getLang()}
-ATTENTION:  follow "Language"
+ATTENTION: Use '##' to SPLIT SECTIONS, not '#'. Output format carefully referenced "Format example".
+Instruction: Based on the context, follow "Format example", write content.
 
 #Context
 ## 要求
@@ -24418,7 +24425,8 @@ let target = this.targetCourseText2 ? this.targetCourseText2 : this.targetcourse
       let messages = `NOTICE
 Role: 你是创建课程的老师,可以参考知识库的内容去分析文件内容(注:如果文件内容里面不包含需要检索的内容,就不引用文件内容)
 Language: ${this.getLang()}
-ATTENTION:  follow "Language"
+ATTENTION: Use '##' to SPLIT SECTIONS, not '#'. Output format carefully referenced "Format example".
+Instruction: Based on the context, follow "Format example", write content.
 
 ${msg}
 
@@ -26596,6 +26604,13 @@ ${msg}
     resizer.addEventListener('touchstart', touchStartHandler);
   },
   created() {
+    if(this.lang.lang == 'com'){
+      this.languageSetting = 2;
+    }else if(this.lang.lang == 'hk'){
+      this.languageSetting = 1;
+    }else{
+      this.languageSetting = 0;
+    }
     this.selectFileid();
     // this.selectAiFileid();
     this.selectKnowFileid();
@@ -27464,7 +27479,7 @@ ${msg}
   width: 100%;
   align-items: center;
   position: relative;
-  flex-wrap: nowrap;
+  flex-wrap: wrap;
 }
 
 
@@ -28725,7 +28740,7 @@ ol {
 .all_choose>.el-checkbox-group>.el-checkbox>>>.el-checkbox__label {
   min-width: 80px;
   overflow: hidden;
-  width: 80px;
+  /* width: 80px; */
   text-overflow: ellipsis;
   white-space: nowrap;
 }
@@ -31480,6 +31495,7 @@ ol {
 
 .know_serach_box > span{
   min-width: 100px;
+  white-space: nowrap;
 }
 
 .know_serach_box > .c_pub_button_add{

+ 10 - 10
src/components/pages/aiAddCourse/addCourse3.vue

@@ -6761,16 +6761,16 @@ export default {
       dialogVisibleAiD: false,
       aitype: "",
       aiJson: {
-        "aiDetail": "请根据<课程简要描述>设计一个名为<课程名字>的<课程学科>学科的,面向<面向年级>的项目式学习课程。",
-        "aiOutline": "请为这个名为<课程名字>的<课程学科>学科的,面向<面向年级>学生的项目式学习课程设计序列教学活动(需要每个任务都需要至少100个token的详细描述)。你需要参考课程简要描述<课程简要描述>,并产出每个教学任务的设计(可以直接使用文件内容)以及每个教学活动的评价量规(学生能做到...)。",
-        "aiTask": "请根据<教学任务教案>。",
-        "aiDetail1": "请根据<课程描述>,重新设计该教学任务。任务需要至少50个token的详细描述,包含任务设计,评价标准。",
-        "aiDetail2": "请你在考虑到整个课程的情况下,优化该任务描述",//和任务名:<任务名>:<任务描述>
-        "aiDetail3": "请你在考虑到整个课程的情况下,**重点考虑该任务及工具名和工具内容的情况下**,优化工具指引。",
-        "aiDetail4": "请你在考虑到整个课程的情况下,**重点考虑该任务详情**以及工具的情况下,优化评价标准。",
-        "aiTeacher": "请根据<任务大纲>为每个教学任务设计详细的教案,教案需要包含该任务的教学目标,教学过程(包含分步骤的教师活动和学生活动,教师活动与学生活动应该一一对应),相关知识点的讲解,练习(练习需要包含实例答案。",
-        "teacherDetail": "请根据<任务大纲>,以及# 其他教学任务教案,为本教学任务设计详细的教案,教案需要包含该任务的教学目标,教学过程(包含分步骤的教师活动和学生活动),相关知识点的讲解,练习(练习需要包含实例答案。注意,你绝对不能重复其他教学任务教案中的内容",
-        "teacherDetail2": "请根据<任务名>、<任务描述>,<课程简要描述>,为该任务设计详细的教案,教案需要包含该任务的教学目标,教学过程(包含分步骤的教师活动和学生活动,教师活动与学生活动应该一一对应),相关知识点的讲解,练习(练习需要包含示例答案)。"
+        "aiDetail": this.lang.ssAiDetail,
+        "aiOutline": this.lang.ssAiOutline2,
+        "aiTask": this.lang.ssAiTask,
+        "aiDetail1": this.lang.ssAiDetail1,
+        "aiDetail2": this.lang.ssAiDetail2Alt,//和任务名:<任务名>:<任务描述>
+        "aiDetail3": this.lang.ssAiDetail3,
+        "aiDetail4": this.lang.ssAiDetail4,
+        "aiTeacher": this.lang.ssAiTeacher2,
+        "teacherDetail": this.lang.ssTeacherDet2,
+        "teacherDetail2": this.lang.ssTeacherDet2Alt
       },
       aiText: "",
       aiText2: "",

+ 10 - 10
src/components/pages/aiAddCourse/addCourseX.vue

@@ -5624,16 +5624,16 @@ export default {
       dialogVisibleAiD: false,
       aitype: "",
       aiJson: {
-        "aiDetail": "请根据<课程简要描述>设计一个名为<课程名字>的<课程学科>学科的,面向<面向年级>的项目式学习课程。",
-        "aiOutline": "请为这个名为<课程名字>的<课程学科>学科的,面向<面向年级>学生的项目式学习课程设计序列教学活动(需要每个任务都需要至少100个token的详细描述)。你需要参考课程简要描述<课程简要描述>,并产出每个教学任务的设计(可以直接使用文件内容)以及每个教学活动的评价量规(学生能做到...)。",
-        "aiTask": "请根据<教学任务教案>。",
-        "aiDetail1": "请根据<课程描述>,重新设计该教学任务。任务需要至少50个token的详细描述,包含任务设计,评价标准。",
-        "aiDetail2": "请你在考虑到整个课程的情况下,优化该任务描述和任务名:<任务名>:<任务描述>",
-        "aiDetail3": "请你在考虑到整个课程的情况下,**重点考虑该任务及工具名和工具内容的情况下**,优化工具指引。",
-        "aiDetail4": "请你在考虑到整个课程的情况下,**重点考虑该任务详情**以及工具的情况下,优化评价标准。",
-        "aiTeacher": "请根据<任务大纲>为每个教学任务设计详细的教案,教案需要包含该任务的教学目标,教学过程(包含分步骤的教师活动和学生活动,教师活动与学生活动应该一一对应),相关知识点的讲解,练习(练习需要包含实例答案。",
-        "teacherDetail": "请根据<任务大纲>,以及# 其他教学任务教案,为本教学任务设计详细的教案,教案需要包含该任务的教学目标,教学过程(包含分步骤的教师活动和学生活动),相关知识点的讲解,练习(练习需要包含实例答案。注意,你绝对不能重复其他教学任务教案中的内容",
-        "teacherDetail2": "请根据<任务名>、<任务描述>,<课程简要描述>,为该任务设计详细的教案,教案需要包含该任务的教学目标,教学过程(包含分步骤的教师活动和学生活动,教师活动与学生活动应该一一对应),相关知识点的讲解,练习(练习需要包含示例答案)。"
+        "aiDetail": this.lang.ssAiDetail,
+        "aiOutline": this.lang.ssAiOutline2,
+        "aiTask": this.lang.ssAiTask,
+        "aiDetail1": this.lang.ssAiDetail1,
+        "aiDetail2": this.lang.ssAiDetail2,
+        "aiDetail3": this.lang.ssAiDetail3,
+        "aiDetail4": this.lang.ssAiDetail4,
+        "aiTeacher": this.lang.ssAiTeacher2,
+        "teacherDetail": this.lang.ssTeacherDet2,
+        "teacherDetail2": this.lang.ssTeacherDet2Alt
       },
       aiText: "",
       aiCallBack: "",

+ 1 - 1
src/components/pages/aiAddCourse/aiBoxCourseDetail.vue

@@ -1791,7 +1791,7 @@ ${message}`;
   border: solid 1px #3781fb;
   border-radius: 15px;
   display: flex;
-  font-size: 15px;
+  font-size: 12px;
   align-items: center;
   justify-content: center;
   background-color: #fff;

+ 2 - 2
src/components/pages/aiAddCourse/aiBoxRight.vue

@@ -173,7 +173,7 @@
         >
           <span>{{ lang.ssView }}</span>
         </span>
-        <div style="margin-left: auto;">
+        <div style="margin-left: auto;font-size: 12px;">
           <el-switch v-model="continuous"></el-switch>
           <span @click.stop="continuous = !continuous">{{ lang.ssContinuous }}</span>
         </div>
@@ -2069,7 +2069,7 @@ ${message}`;
   border: solid 1px #3781fb;
   border-radius: 15px;
   display: flex;
-  font-size: 15px;
+  font-size: 12px;
   align-items: center;
   justify-content: center;
   background-color: #fff;

+ 1 - 1
src/components/pages/aiAddCourse/evaList.vue

@@ -663,7 +663,7 @@ ${this.aiJson['aiRateRule']}
 
 .lineTitle {
     /* margin-top: 15px; */
-    width: 110px;
+    /* width: 110px; */
     font-size: 16px;
     display: flex;
     align-items: center;

+ 18 - 2
src/components/pages/aiAddCourse/templateDialog.vue

@@ -161,8 +161,16 @@ export default {
                     let params = [{
                         id: id
                     }]
+                    let api = "deleteTipsTemplate"
+                    if(this.lang.lang == 'com'){
+                        api = "deleteTipsTemplateCom"
+                    }else if (this.lang.lang == 'cn') {
+                        api = "deleteTipsTemplate"
+                    }else{
+                        api = "deleteTipsTemplateHK"
+                    }
                     _this.ajax
-                        .post(_this.$store.state.api + "deleteTipsTemplate", params)
+                        .post(_this.$store.state.api + api, params)
                         .then((res) => {
                             _this.$message.success(_this.lang.DeleteSuccessful);
                             _this.getList()
@@ -187,8 +195,16 @@ export default {
                 type: this.tagIndex,
                 name: this.input2
             }
+            let api = "selectTipsTemplate"
+            if(this.lang.lang == 'com'){
+                api = "selectTipsTemplateCom"
+            }else if (this.lang.lang == 'cn') {
+                api = "selectTipsTemplate"
+            }else{
+                api = "selectTipsTemplateHK"
+            }
             this.ajax
-                .get(this.$store.state.api + "selectTipsTemplate", params)
+                .get(this.$store.state.api + api, params)
                 .then((res) => {
                     this.loading = false
                     this.searchDataList = res.data[0]

+ 18 - 2
src/components/pages/aiAddCourse/tipsDialog.vue

@@ -158,8 +158,16 @@ export default {
                 uid: this.userid,
                 isT: this.isT
             }]
+            let api = "addTipsTemplate2"
+            if(this.lang.lang == 'com'){
+                api = "addTipsTemplateCom"
+            }else if (this.lang.lang == 'cn') {
+                api = "addTipsTemplate2"
+            }else if (this.lang.lang == 'hk') {
+                api = "addTipsTemplateHK2"
+            }
             this.ajax
-                .post(this.$store.state.api + "addTipsTemplate2", params)
+                .post(this.$store.state.api + api, params)
                 .then((res) => {
                     this.$message.success(this.lang.ssSaveSuccess);
                     console.log(res.data);
@@ -186,8 +194,16 @@ export default {
                 uid: this.templateid,
                 isT: this.isT
             }]
+            let api = "addTipsTemplate2"
+            if(this.lang.lang == 'com'){
+                api = "addTipsTemplateCom"
+            }else if (this.lang.lang == 'cn') {
+                api = "addTipsTemplate2"
+            }else if (this.lang.lang == 'hk') {
+                api = "addTipsTemplateHK2"
+            }
             this.ajax
-                .post(this.$store.state.api + "addTipsTemplate2", params)
+                .post(this.$store.state.api + api, params)
                 .then((res) => {
                     this.$message.success(this.lang.ssModifySuccess);
                     if(type == 2){

File diff suppressed because it is too large
+ 180 - 189
src/components/pages/aiEasy/addCourse.vue


+ 9 - 9
src/components/pages/aiEasy/aiTips.vue

@@ -46,15 +46,15 @@ export default {
     data() {
         return {
             aiJson: {
-                aiDetail: "请根据<课程简要描述>设计一个名为<课程名字>的<课程学科>学科的,面向<面向年级>的项目式学习课程。",
-                aiOutline: "请根据<课程简要描述>及#补充参考资料为这个名为<课程名字>的<课程学科>学科的,面向<面向年级>的项目式学习课程设计序列教学活动(需要每个任务都需要至少50个token的详细描述),每个教学活动的活动设计(可以直接使用文件内容)以及每个教学活动的评价量规(学生能做到...)。",
-                aiTask: "请根据<教学任务教案>。",
-                aiDetail1: "请根据<课程描述>,重新设计该教学任务。任务需要至少50个token的详细描述,包含任务设计,评价标准。",
-                aiDetail2: "请你在考虑到整个课程的情况下,优化该任务描述和任务名:<任务名>:<任务描述>",
-                aiDetail3: "请你在考虑到整个课程的情况下,**重点考虑该任务及工具名和工具内容的情况下**,优化工具指引。",
-                aiDetail4: "请你在考虑到整个课程的情况下,**重点考虑该任务详情**以及工具的情况下,优化评价标准。",
-                aiTeacher: "请根据<任务大纲>为每个教学任务设计详细的教案,其中包括但不仅限于该任务的教学目标,教学过程,师生研讨,拓展,学生任务单,相关知识点的练习或Qui以及答案等。",
-                teacherDetail: "请根据<教案描述>重新设计该教案。其中包括但不仅限于该任务的教学目标,教学过程,师生研讨,拓展,学生任务单,相关知识点的练习或Qui以及答案等。",
+                aiDetail: this.lang.ssAiDetail,
+                aiOutline: this.lang.ssAiOutline,
+                aiTask: this.lang.ssAiTask,
+                aiDetail1: this.lang.ssAiDetail1,
+                aiDetail2: this.lang.ssAiDetail2,
+                aiDetail3: this.lang.ssAiDetail3,
+                aiDetail4: this.lang.ssAiDetail4,
+                aiTeacher: this.lang.ssAiTeacher,
+                teacherDetail: this.lang.ssTeacherDetail,
             },
             eDetail: "",
             edtiPan: false

+ 1 - 1
src/components/pages/aiEasy/templateDialog.vue

@@ -187,7 +187,7 @@ export default {
                 org: this.org,
                 type: this.tagIndex,
                 name: this.input2,
-                stand: 'cn'
+                stand: this.lang.lang
             }
             this.ajax
                 .get(this.$store.state.api + "selectTipsTemplateE", params)

+ 26 - 26
src/components/pages/aiEasy/tipsDialog.vue

@@ -1,36 +1,36 @@
 <template>
-    <el-dialog title="保存提示词模板" :visible.sync="dialogVisibleTips" :append-to-body="true" width="650px"
+    <el-dialog :title="lang.ssSavePromptTemp" :visible.sync="dialogVisibleTips" :append-to-body="true" width="650px"
         :before-close="handleClose" class="dialog_diy">
         <div style="height: 100%;padding:15px">
             <div class="t_box">
-                <span>模板名称:</span>
+                <span>{{ lang.ssTemplateName }}</span>
                 <input type="text" class="binfo_input" v-model="title">
             </div>
             <div class="t_box">
-                <span>模板描述:</span>
-                <textarea rows="3" class="binfo_input binfo_textarea" cols placeholder="请输入内容"
+                <span>{{ lang.ssTemplateDesc }}</span>
+                <textarea rows="3" class="binfo_input binfo_textarea" cols :placeholder="lang.ssEnterContent"
                     v-model="detail"></textarea>
             </div>
             <div class="t_box">
-                <span>权限:</span>
+                <span>{{ lang.ssPermission }}</span>
                 <el-radio-group v-model="radio">
-                    <el-radio :label="0">个人</el-radio>
-                    <el-radio :label="1">组织内</el-radio>
-                    <el-radio :label="2">所有人</el-radio>
+                    <el-radio :label="0">{{ lang.ssPersonal }}</el-radio>
+                    <el-radio :label="1">{{ lang.ssOrgInternal }}</el-radio>
+                    <el-radio :label="2">{{ lang.ssEveryone }}</el-radio>
                 </el-radio-group>
             </div>
             <div class="t_box">
-                <span>是否公开提示词:</span>
+                <span>{{ lang.ssPublicPrompt }}</span>
                 <el-radio-group v-model="isT">
-                    <el-radio :label="1">不公开</el-radio>
-                    <el-radio :label="2">公开</el-radio>
+                    <el-radio :label="1">{{ lang.ssNotPublic }}</el-radio>
+                    <el-radio :label="2">{{ lang.ssPublic }}</el-radio>
                 </el-radio-group>
             </div>
         </div>
         <span slot="footer" class="dialog-footer">
-            <el-button @click="selectT(2)" type="primary">确定并保存课程</el-button>
-            <el-button @click="selectT" type="primary">确 定</el-button>
-            <el-button @click="close">关 闭</el-button>
+            <el-button @click="selectT(2)" type="primary">{{ lang.ssConfirmSaveCourse }}</el-button>
+            <el-button @click="selectT" type="primary">{{ lang.ssConfirmBtn }}</el-button>
+            <el-button @click="close">{{ lang.ssClose }}</el-button>
         </span>
     </el-dialog>
 </template>
@@ -80,7 +80,7 @@ export default {
                     name: this.title,
                     detail: this.detail,
                     open: this.radio,
-                    istips: this.istips
+                    istips: this.isT
                 })
             }
         },
@@ -95,16 +95,16 @@ export default {
         },
         selectT(type) {
             if (!this.title) {
-                this.$message.error('请输入模板名称');
+                this.$message.error(this.lang.ssEnterTemplateName);
                 return
             }
             if (this.templateid) {
                 this.$confirm(
-                    "确定修改此模板嘛?",
-                    "提示",
+                    this.lang.ssConfirmModifyTemp,
+                    this.lang.ssTip,
                     {
-                        confirmButtonText: "确定",
-                        cancelButtonText: "取消",
+                        confirmButtonText: this.lang.ssConfirm,
+                        cancelButtonText: this.lang.ssCancel,
                         type: "warning",
                     }
                 )
@@ -157,12 +157,12 @@ export default {
                 o: this.radio,
                 uid: this.userid,
                 isT: this.isT,
-                stand: 'cn'
+                stand: this.lang.lang
             }]
             this.ajax
                 .post(this.$store.state.api + "addTipsTemplate2E", params)
                 .then((res) => {
-                    this.$message.success("保存成功");
+                    this.$message.success(this.lang.ssSaveSuccess);
                     console.log(res.data);
                     this.$emit('update:templateid', res.data[0][0].id)
                     console.log(this.templateid)
@@ -174,7 +174,7 @@ export default {
                     this.close();
                 })
                 .catch((err) => {
-                    this.$message.error("网络不佳");
+                    this.$message.error(this.lang.ssNetPoor);
                     console.error(err);
                 });
         },
@@ -186,12 +186,12 @@ export default {
                 o: this.radio,
                 uid: this.templateid,
                 isT: this.isT,
-                stand: 'cn'
+                stand: this.lang.lang
             }]
             this.ajax
                 .post(this.$store.state.api + "addTipsTemplate2E", params)
                 .then((res) => {
-                    this.$message.success("修改成功");
+                    this.$message.success(this.lang.ssModifySuccess);
                     if(type == 2){
                         this.$emit('addWork', type)
                     }else{
@@ -200,7 +200,7 @@ export default {
                     this.close();
                 })
                 .catch((err) => {
-                    this.$message.error("网络不佳");
+                    this.$message.error(this.lang.ssNetPoor);
                     console.error(err);
                 });
         }

+ 11 - 11
src/components/pages/components/exportDataDialog.vue

@@ -493,7 +493,7 @@
                       <div class="toolTit">
                         <div>
                           {{lang.ssTool.replace(/\*/g, lind + 1)}}{{
-                            l.tool[0] == 16 ? lang.ssWorkSubmit : lang.ssBatchUpload
+                            l.tool[0] == 16 ? lang.ssHomework : lang.ssBatchUp
                           }}
                         </div>
                         <div>
@@ -527,7 +527,7 @@
                         <div>
                           {{lang.ssTool.replace(/\*/g, lind + 1)}}{{
                             l.tool[0] == 1
-                              ? lang.ssWhiteBoard
+                              ? lang.ssEWhite
                               : l.tool[0] == 7
                               ? lang.ssMindGrid
                               : lang.ssMindMap
@@ -554,7 +554,7 @@
                         alt=""
                       />
                       <div class="toolTit">
-                        <div>{{lang.ssTool.replace(/\*/g, lind + 1)}}{{lang.ssTableTool}}</div>
+                        <div>{{lang.ssTool.replace(/\*/g, lind + 1)}}{{lang.ssTable}}</div>
                         <div>
                           {{lang.ssDefaultDesc}}
                         </div>
@@ -571,7 +571,7 @@
                         alt=""
                       />
                       <div class="toolTit">
-                        <div>{{lang.ssTool.replace(/\*/g, lind + 1)}}{{lang.ssSurveyTool}}</div>
+                        <div>{{lang.ssTool.replace(/\*/g, lind + 1)}}{{lang.ssQuest}}</div>
                         <div>{{lang.ssTitle}}:{{ l.content[0][0].askJson.askTitle }}</div>
                       </div>
                     </div>
@@ -619,7 +619,7 @@
                         alt=""
                       />
                       <div class="toolTit">
-                        <div>{{lang.ssTool.replace(/\*/g, lind + 1)}}{{lang.ssChoiceTool}}</div>
+                        <div>{{lang.ssTool.replace(/\*/g, lind + 1)}}{{lang.ssChoice}}</div>
                         <div>
                           {{lang.ssDefaultDesc}}
                         </div>
@@ -728,7 +728,7 @@
                         alt=""
                       />
                       <div class="toolTit">
-                        <div>{{lang.ssTool.replace(/\*/g, lind + 1)}}{{lang.ssMatchTool}}</div>
+                        <div>{{lang.ssTool.replace(/\*/g, lind + 1)}}{{lang.ssSelMatch}}</div>
                         <div>
                           {{lang.ssDefaultDesc}}
                         </div>
@@ -824,7 +824,7 @@
                         alt=""
                       />
                       <div class="toolTit">
-                        <div>{{lang.ssTool.replace(/\*/g, lind + 1)}}{{lang.ssSortTool}}</div>
+                        <div>{{lang.ssTool.replace(/\*/g, lind + 1)}}{{lang.ssSort}}</div>
                         <div>
                           {{lang.ssDefaultDesc}}
                         </div>
@@ -1330,13 +1330,13 @@ export default {
     this.isAllWorkZ = JSON.parse(JSON.stringify(this.isAllWork));
     this.getClass();
     // 设置工具分类名称
-    this.toolRatio[0].name = this.lang.ssInteractType;
-    this.toolRatio[1].name = this.lang.ssThinkType;
+    this.toolRatio[0].name = this.lang.ssInteract;
+    this.toolRatio[1].name = this.lang.ssCognitive;
     this.toolRatio[2].name = this.lang.ssCoopType;
     this.toolRatio[3].name = this.lang.ssAssessType;
-    this.toolRatio[4].name = this.lang.ssEvalType;
+    this.toolRatio[4].name = this.lang.ssEval;
     this.toolRatio[5].name = this.lang.ssProgType;
-    this.toolRatio[6].name = this.lang.ssSubjectType;
+    this.toolRatio[6].name = this.lang.ssSubject;
     // 设置分数工具柱状图名称
     this.columnData[0].name = this.lang.ssPersonal;
     this.columnData[1].name = this.lang.ssCooperation;

+ 7 - 7
src/components/pages/components/exportWorksDialog.vue

@@ -202,7 +202,7 @@
                         <div class="toolTit">
                           <div>
                             {{ lang.ssTool.replace(/\*/g, lind + 1) }}{{
-                              l.tool[0] == 16 ? lang.ssWorkSubmit : lang.ssBatchUpload
+                              l.tool[0] == 16 ? lang.ssHomework : lang.ssBatchUp
                             }}
                           </div>
                           <div>
@@ -236,7 +236,7 @@
                           <div>
                             {{ lang.ssTool.replace(/\*/g, lind + 1) }}{{
                               l.tool[0] == 1
-                                ? lang.ssWhiteBoard
+                                ? lang.ssEWhite
                                 : l.tool[0] == 7
                                 ? lang.ssMindGrid
                                 : lang.ssMindMap
@@ -257,7 +257,7 @@
                           alt=""
                         />
                         <div class="toolTit">
-                          <div>{{ lang.ssTool.replace(/\*/g, lind + 1) }}{{ lang.ssTableTool }}</div>
+                          <div>{{ lang.ssTool.replace(/\*/g, lind + 1) }}{{ lang.ssTable }}</div>
                           <div>
                             {{ lang.ssDefaultDesc }}
                           </div>
@@ -274,7 +274,7 @@
                           alt=""
                         />
                         <div class="toolTit">
-                          <div>{{ lang.ssTool.replace(/\*/g, lind + 1) }}{{ lang.ssSurveyTool }}</div>
+                          <div>{{ lang.ssTool.replace(/\*/g, lind + 1) }}{{ lang.ssQuest }}</div>
                           <div>{{ lang.ssTitle }}:{{ l.content[0][0].askJson.askTitle }}</div>
                         </div>
                       </div>
@@ -322,7 +322,7 @@
                           alt=""
                         />
                         <div class="toolTit">
-                          <div>{{ lang.ssTool.replace(/\*/g, lind + 1) }}{{ lang.ssChoiceTool }}</div>
+                          <div>{{ lang.ssTool.replace(/\*/g, lind + 1) }}{{ lang.ssChoice }}</div>
                           <div>
                             {{ lang.ssDefaultDesc }}
                           </div>
@@ -433,7 +433,7 @@
                           alt=""
                         />
                         <div class="toolTit">
-                          <div>{{ lang.ssTool.replace(/\*/g, lind + 1) }}{{ lang.ssMatchTool }}</div>
+                          <div>{{ lang.ssTool.replace(/\*/g, lind + 1) }}{{ lang.ssSelMatch }}</div>
                           <div>
                             {{ lang.ssDefaultDesc }}
                           </div>
@@ -531,7 +531,7 @@
                           alt=""
                         />
                         <div class="toolTit">
-                          <div>{{ lang.ssTool.replace(/\*/g, lind + 1) }}{{ lang.ssSortTool }}</div>
+                          <div>{{ lang.ssTool.replace(/\*/g, lind + 1) }}{{ lang.ssSort }}</div>
                           <div>
                             {{ lang.ssDefaultDesc }}
                           </div>

+ 1 - 1
src/components/pages/components/lookReport.vue

@@ -4,7 +4,7 @@
       style="display: flex;align-items: center;padding-bottom: 15px;font-size: 14px;color: rgba(0, 0, 0, 0.4);"
     >
       <span @click="pageBack" style="height: 100%;cursor: pointer;"
-        >{{lang.ssEvalManage}}</span
+        >{{lang.ssEvalMgmt}}</span
       >
       <span style="margin: 0 5px;">
         <i class="el-icon-arrow-right"></i>

+ 6 - 6
src/components/pages/components/lookWork.vue

@@ -220,7 +220,7 @@
                           <div class="toolTit">
                             <div>
                               {{lang.ssTool.replace(/\*/g, lind + 1)}}{{
-                                l.tool[0] == 16 ? lang.ssWorkSubmit : lang.ssBatchUpload
+                                l.tool[0] == 16 ? lang.ssHomework : lang.ssBatchUp
                               }}
                             </div>
                             <div>
@@ -293,7 +293,7 @@
                             <div>
                               {{lang.ssTool.replace(/\*/g, lind + 1)}}{{
                                 l.tool[0] == 1
-                                  ? lang.ssWhiteBoard
+                                  ? lang.ssEWhite
                                   : l.tool[0] == 7
                                   ? lang.ssMindGrid
                                   : lang.ssMindMap
@@ -336,7 +336,7 @@
                             alt=""
                           />
                           <div class="toolTit">
-                            <div>{{lang.ssTool.replace(/\*/g, lind + 1)}}{{lang.ssSurveyTool}}</div>
+                            <div>{{lang.ssTool.replace(/\*/g, lind + 1)}}{{lang.ssQuest}}</div>
                             <div>{{lang.ssTitle}}:{{ l.content[0][0].askJson.askTitle }}</div>
                           </div>
                         </div>
@@ -384,7 +384,7 @@
                             alt=""
                           />
                           <div class="toolTit">
-                            <div>{{lang.ssTool.replace(/\*/g, lind + 1)}}{{lang.ssChoiceTool}}</div>
+                            <div>{{lang.ssTool.replace(/\*/g, lind + 1)}}{{lang.ssChoice}}</div>
                             <div>
                               {{lang.ssDefaultDesc}}
                             </div>
@@ -495,7 +495,7 @@
                             alt=""
                           />
                           <div class="toolTit">
-                            <div>{{lang.ssTool.replace(/\*/g, lind + 1)}}{{lang.ssMatchTool}}</div>
+                            <div>{{lang.ssTool.replace(/\*/g, lind + 1)}}{{lang.ssSelMatch}}</div>
                             <div>
                               {{lang.ssDefaultDesc}}
                             </div>
@@ -595,7 +595,7 @@
                             alt=""
                           />
                           <div class="toolTit">
-                            <div>{{lang.ssTool.replace(/\*/g, lind + 1)}}{{lang.ssSortTool}}</div>
+                            <div>{{lang.ssTool.replace(/\*/g, lind + 1)}}{{lang.ssSort}}</div>
                             <div>
                               {{lang.ssDefaultDesc}}
                             </div>

+ 7 - 7
src/components/pages/components/report.vue

@@ -260,7 +260,7 @@
                             <div class="toolTit">
                               <div>
                                 {{lang.ssTool.replace(/\*/g, lind + 1)}}{{
-                                  l.tool[0] == 16 ? lang.ssWorkSubmit : lang.ssBatchUpload
+                                  l.tool[0] == 16 ? lang.ssHomework : lang.ssBatchUp
                                 }}
                               </div>
                               <div>
@@ -299,7 +299,7 @@
                               <div>
                                 {{lang.ssTool.replace(/\*/g, lind + 1)}}{{
                                   l.tool[0] == 1
-                                    ? lang.ssWhiteBoard
+                                    ? lang.ssEWhite
                                     : l.tool[0] == 7
                                     ? lang.ssMindGrid
                                     : lang.ssMindMap
@@ -327,7 +327,7 @@
                               alt=""
                             />
                             <div class="toolTit">
-                              <div>{{lang.ssTool.replace(/\*/g, lind + 1)}}{{lang.ssTableTool}}</div>
+                              <div>{{lang.ssTool.replace(/\*/g, lind + 1)}}{{lang.ssTable}}</div>
                               <div>
                                 {{lang.ssDefaultDesc}}
                               </div>
@@ -347,7 +347,7 @@
                               alt=""
                             />
                             <div class="toolTit">
-                              <div>{{lang.ssTool.replace(/\*/g, lind + 1)}}{{lang.ssSurveyTool}}</div>
+                              <div>{{lang.ssTool.replace(/\*/g, lind + 1)}}{{lang.ssQuest}}</div>
                               <div>{{lang.ssTitle}}:{{ l.content[0][0].askJson.askTitle }}</div>
                             </div>
                           </div>
@@ -398,7 +398,7 @@
                               alt=""
                             />
                             <div class="toolTit">
-                              <div>{{lang.ssTool.replace(/\*/g, lind + 1)}}{{lang.ssChoiceTool}}</div>
+                              <div>{{lang.ssTool.replace(/\*/g, lind + 1)}}{{lang.ssChoice}}</div>
                               <div>
                                 {{lang.ssDefaultDesc}}
                               </div>
@@ -512,7 +512,7 @@
                               alt=""
                             />
                             <div class="toolTit">
-                              <div>{{lang.ssTool.replace(/\*/g, lind + 1)}}{{lang.ssMatchTool}}</div>
+                              <div>{{lang.ssTool.replace(/\*/g, lind + 1)}}{{lang.ssSelMatch}}</div>
                               <div>
                                 {{lang.ssDefaultDesc}}
                               </div>
@@ -586,7 +586,7 @@
                               alt=""
                             />
                             <div class="toolTit">
-                              <div>{{lang.ssTool.replace(/\*/g, lind + 1)}}{{lang.ssSortTool}}</div>
+                              <div>{{lang.ssTool.replace(/\*/g, lind + 1)}}{{lang.ssSort}}</div>
                               <div>
                                 {{lang.ssDefaultDesc}}
                               </div>

+ 3 - 3
src/components/pages/components/studentWorksDetail.vue

@@ -10,7 +10,7 @@
       "
     >
     <div style="display: flex;align-items: center;padding-bottom: 15px;font-size: 14px;color: rgba(0, 0, 0, 0.4);">
-      <span @click="pageBack" style="height: 100%;cursor: pointer;">{{lang.ssEvalManage}}</span>
+      <span @click="pageBack" style="height: 100%;cursor: pointer;">{{lang.ssEvalMgmt}}</span>
       <span style="margin: 0 5px;">
         <i class="el-icon-arrow-right"></i>
       </span>
@@ -1925,10 +1925,10 @@ export default {
 
           var _answer = "";
           if (workJson.answerInfo.length > 0) {
-            var _answer = `<h3>${this.lang.ssQATool2}</h3>`;
+            var _answer = `<h3>${this.lang.ssQA}</h3>`;
             for (var i = 0; i < workJson.answerInfo.length; i++) {
               var _div = document.createElement("div");
-              _div.innerHTML = `<h4>${this.lang.ssQATool2}:${workJson.answerInfo[i].answerInfo.answerTitle}</h4>`;
+              _div.innerHTML = `<h4>${this.lang.ssQA}:${workJson.answerInfo[i].answerInfo.answerTitle}</h4>`;
               _div.innerHTML += `<div>${workJson.answerInfo[i].answerInfo.answer}</div>`;
               _answer += `<div>${_div.innerHTML}</div>`;
             }

+ 3 - 3
src/components/pages/components/worksDetail2.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="pb_content" style="background: unset">
     <div style="display: flex;align-items: center;padding-bottom: 15px;font-size: 14px;color: rgba(0, 0, 0, 0.4);">
-      <span @click="pageBack" style="height: 100%;cursor: pointer;">{{ lang.ssEvalManage }}</span>
+      <span @click="pageBack" style="height: 100%;cursor: pointer;">{{ lang.ssEvalMgmt }}</span>
       <span style="margin: 0 5px;">
         <i class="el-icon-arrow-right"></i>
       </span>
@@ -1756,10 +1756,10 @@ export default {
           }
           var _answer = "";
           if (workJson.answerInfo.length > 0) {
-            var _answer = `<h3>${this.lang.ssQATool2}</h3>`;
+            var _answer = `<h3>${this.lang.ssQA}</h3>`;
             for (var i = 0; i < workJson.answerInfo.length; i++) {
               var _div = document.createElement("div");
-              _div.innerHTML = `<h4>${this.lang.ssQATool2}:${workJson.answerInfo[i].answerInfo.answerTitle}</h4>`;
+              _div.innerHTML = `<h4>${this.lang.ssQA}:${workJson.answerInfo[i].answerInfo.answerTitle}</h4>`;
               _div.innerHTML += `<div>${workJson.answerInfo[i].answerInfo.answer}</div>`;
               _answer += `<div>${_div.innerHTML}</div>`;
             }

+ 6 - 6
src/components/pages/course.vue

@@ -11,7 +11,7 @@
     display: flex;
     align-items: center;
 ">
-          <span class="sub_head">{{ lang.CourseManagement }}</span>
+          <span class="sub_head">{{ lang.ssCourseMgmt }}</span>
           <span class="subClick" @click="
             goTo(
               '/works?userid=' +
@@ -23,7 +23,7 @@
               '&role=' +
               role
             )
-            ">{{ lang.EvaluationManagement }}</span>
+            ">{{ lang.ssEvalMgmt }}</span>
         </div>
         <div v-if="gotype"></div>
         <div class="student_button">
@@ -1342,11 +1342,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 = this.lang.GradeL;
+              res.data[0][cti].name = this.lang.ssGradeType;
             } 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 = this.lang.Subject;
+              res.data[0][cti].name = this.lang.ssSubjectCategory;
             } else if (res.data[0][cti].id == "34629bcc-d02f-11ec-8c78-005056b86db5") {
-              res.data[0][cti].name = this.lang.Theme;
+              res.data[0][cti].name = this.lang.ssThemeType;
             }
           }
           for (var i = 0; i < res.data[0].length; i++) {
@@ -1358,7 +1358,7 @@ export default {
             }
             if (this.oid == "69893dca-1d47-11ed-8c78-005056b86db5") {
               if (res.data[0][i].name == this.lang.column) {
-                this.CourseType[0][i].name = this.lang.Theme;
+                this.CourseType[0][i].name = this.lang.ssThemeType;
               }
             }
             if (res.data[2].length == 0 && res.data[3].length == 0) {

File diff suppressed because it is too large
+ 115 - 114
src/components/pages/easy/addCourse.vue


File diff suppressed because it is too large
+ 123 - 121
src/components/pages/newCourse/addCourse.vue


+ 39 - 1
src/components/pages/pptEasy/addCourse.vue

@@ -269,6 +269,14 @@
                   <span>+</span>
                   <div>视频</div>
                 </div>
+                <div class="pta_ba_item pta_ba_item5" @click.stop="openApplicationCenter()">
+                  <svg width="19" height="19" viewBox="0 0 1024 1024" fill="none" xmlns="http://www.w3.org/2000/svg">
+                    <path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z" fill="#1890ff"/>
+                    <path d="M464 336a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm120 368a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm-120-96a48 48 0 1 0 96 0 48 48 0 1 0-96 0zm-120 96a48 48 0 1 0 96 0 48 48 0 1 0-96 0z" fill="#1890ff"/>
+                  </svg>
+                  <span>+</span>
+                  <div>应用中心</div>
+                </div>
               </div>
 
 
@@ -310,6 +318,7 @@
                         v-if="item.tool == 74 || item.tool == 75"
                         style="width: 40px; height: 40px;"
                       />
+                      <svg v-if="item.tool == 76" t="1755077646686" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="7847" width="40" height="40"><path d="M232.727 139.636h558.546a93.09 93.09 0 0 1 93.09 93.091v372.364a93.09 93.09 0 0 1-93.09 93.09H232.727a93.09 93.09 0 0 1-93.09-93.09V232.727a93.09 93.09 0 0 1 93.09-93.09z m0 46.546a46.545 46.545 0 0 0-46.545 46.545v372.364a46.545 46.545 0 0 0 46.545 46.545h558.546a46.545 46.545 0 0 0 46.545-46.545V232.727a46.545 46.545 0 0 0-46.545-46.545H232.727z m256 512h46.546v139.636h-46.546V698.182zM279.273 837.818h465.454a23.273 23.273 0 0 1 0 46.546H279.273a23.273 23.273 0 0 1 0-46.546z" fill="#409EFF" p-id="7848"></path></svg>
                       <div>
                         <div>{{item.title}}</div>
                         <span>{{item.brief}}</span>
@@ -335,6 +344,12 @@
                           <span>删除</span>
                         </div>
                       </template>
+                      <template v-else-if="item.tool == 76">
+                        <div class="pta_tla_l_i_r_button delete" @click="toolBtn(2,item.id)">
+                          <svg t="1755224641218" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="12953" width="200" height="200"><path d="M161.186909 205.591273h170.170182V126.277818C331.357091 74.519273 373.294545 32.581818 425.053091 32.581818h208.616727c51.758545 0 93.742545 41.937455 93.742546 93.696v79.313455h200.564363a30.254545 30.254545 0 1 1 0 60.509091h-30.021818v629.154909a93.742545 93.742545 0 0 1-93.742545 93.696H254.882909a93.742545 93.742545 0 0 1-93.696-93.696V266.100364h-41.146182a30.254545 30.254545 0 1 1 0-60.509091h41.146182z m676.305455 60.509091H221.649455v629.154909c0 18.338909 14.894545 33.186909 33.186909 33.186909h549.329454c18.385455 0 33.233455-14.894545 33.233455-33.186909V266.100364zM391.819636 204.148364h275.037091V126.277818A33.233455 33.233455 0 0 0 633.669818 93.090909H425.053091a33.233455 33.233455 0 0 0-33.186909 33.186909v77.870546z" fill="#32373B" p-id="12954"></path></svg>
+                          <span>删除</span>
+                        </div>
+                      </template>
                       <!-- 其他类型显示编辑、复制、删除 -->
                       <template v-else>
                         <div class="pta_tla_l_i_r_button edit" @click="toolBtn(0,item.id)">
@@ -5427,7 +5442,7 @@ export default {
       });
 
       if (!isValid) {
-        this.$message.error("链接无效");
+        this.$message.error("请添加 Cocorobo 同域、亚马逊或可访问的 HTML 链接。");
         return;
       }
 
@@ -8327,6 +8342,24 @@ export default {
     openVideoUploadDialog(){
       this.$refs.VideoUploadDialogRef.open();
     },
+    // 打开应用中心
+    openApplicationCenter(){
+      // 创建Cocorobo链接工具项
+      let cocoroboItem = {
+        id: new Date().getTime(),
+        tool: 76, // 新的应用中心工具类型
+        title: "应用中心",
+        brief: "应用中心",
+        json: {
+          title: "应用中心",
+          detail: "应用中心",
+          url: "https://app.cocorobo.cn"
+        },
+        url: "https://app.cocorobo.cn"
+      };
+      this.pptCourseJson.toolsList.push(cocoroboItem);
+      this.setPPtToolList();
+    },
     // 处理上传进度更新
     handleUploadProgress(progressData) {
       // progressData包含: id, fileName, progress, loaded, total, status
@@ -12573,6 +12606,11 @@ ol {
   border-color:#FBA31D;
 }
 
+.pta_ba_item5{
+  color:#1890ff;
+  border-color:#1890ff;
+}
+
 
 .pta_tooListArea{
   width:100%;

+ 19 - 10
src/components/pages/synergyCourse/addCourse.vue

@@ -16,10 +16,12 @@
                     '&org=' +
                     org +
                     '&role=' +
-                    role,
-                }">{{ lang.CocoNote }}</el-breadcrumb-item>
+                    role+
+                    '&person=' +
+                    person,
+                }"> {{this.person ? '跨学科学习平台' : lang.CocoNote}}</el-breadcrumb-item>
                 <el-breadcrumb-item>
-                  <span style="color: rgb(15, 126, 255)">{{ lang.EditCoconote }}</span>
+                  <span style="color: rgb(15, 126, 255)">{{this.person ? '创建项目' : lang.EditCoconote}}</span>
                 </el-breadcrumb-item>
               </el-breadcrumb>
             </div>
@@ -2347,7 +2349,7 @@
               <img src="../../../assets/icon/search.png" alt />
             </div>
           </div>
-          <el-button type="primary" size="default" style="margin-left: 10px;" @click="changePicture">{{ lang.Changeanothergroup }}</el-button>
+          <el-button type="primary" size="default" style="margin-left: 10px;" @click="changePicture">{{ lang.ssChangeGrp }}</el-button>
         </div>
         <div class="sysPicBox" v-loading="imageloading">
           <div class="picNone" v-if="!imageList.length">{{ lang.enterkeywordsimages }}</div>
@@ -2728,6 +2730,7 @@ export default {
   },
   data() {
     return {
+      person: this.$route.query.person || "",
       checkAll: false,
       chooseType: 1,
       checkedCities: [],
@@ -3180,7 +3183,9 @@ export default {
           "&org=" +
           this.org +
           "&role=" +
-          this.role
+          this.role+
+          '&person=' +
+          this.person
         );
       }
     },
@@ -3424,7 +3429,9 @@ export default {
           "&org=" +
           this.org +
           "&role=" +
-          this.role
+          this.role+
+          '&person=' +
+          this.person
         );
       } else {
         this
@@ -3466,7 +3473,9 @@ export default {
                 "&org=" +
                 this.org +
                 "&role=" +
-                this.role
+                this.role+
+                '&person=' +
+                this.person
               );
             }
 
@@ -7127,11 +7136,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 = this.lang.GradeL;
+              res.data[0][cti].name = this.lang.ssGradeType;
             } 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 = this.lang.Subject;
+              res.data[0][cti].name = this.lang.ssSubjectCategory;
             } else if (res.data[0][cti].id == "34629bcc-d02f-11ec-8c78-005056b86db5") {
-              res.data[0][cti].name = this.lang.Theme;
+              res.data[0][cti].name = this.lang.ssThemeType;
             }
           }
           let _courseTypeId = [];

+ 60 - 10
src/components/pages/synergyCourse/course.vue

@@ -1,18 +1,31 @@
 <template>
   <div class="pb_content" style="height: auto; width: 94%; margin: 10px auto;background: unset;box-sizing: border-box;" :class="[gotype ? 'liyuan' :'']" >
     <backPage style="padding: 40px 0 0;" v-if="gotype" tit="协同建构"></backPage>
-    
+    <div class="topL"  v-if="person">
+        <div class="topBlock">
+            <div class="topTit">
+                <div>欢迎使用</div>
+                <div style="color: #0354D7;margin: 0 15px;">荔园・博通 跨学科学习平台</div>
+                <!-- <div style="color: #0354D7;margin: 0 15px;"><span v-if="roleUser.orgName">{{roleUser.orgName}}—</span>{{ roleUser.schoolName }}</div>
+                <div>AI平台!</div> -->
+            </div>
+            <div class="topDetail">
+                  博采众科之长,贯通知识万象
+            </div>
+        </div>
+        <img style="width: 150px;object-fit: cover;transform: scaleX(-1);" src="../../../assets/icon/liyuan/cocoloading.gif" alt="">
+    </div>
     <div style="width:100%;padding:0 21px;background:#fff;border-radius: 5px;box-sizing: border-box;">
       <div class="pb_head top">
         <div style="
     display: flex;
     align-items: center;
 ">
-          <span>{{ lang.CocoNote }}</span>
+          <span>{{this.person ? '跨学科学习平台' : lang.CocoNote}}</span>
         </div>
         <div class="student_button">
           <button class="r_pub_button_course" @mouseenter="btnDisplay = true" @mouseleave="btnDisplay = false">
-            <span>{{ lang.EditCoconote }}</span>
+            <span>{{this.person ? '创建项目' : lang.EditCoconote}}</span>
             <div v-show="btnDisplay" class="buttonBox">
               <div type="primary" @click="goToCourse3()">{{ lang.Standardcreation }}</div>
               <div type="primary" @click="goToCourseSimple()">{{ lang.QuicklyCreate }}</div>
@@ -309,6 +322,7 @@ export default {
   components: { EditorBar,backPage },
   data() {
     return {
+      person: this.$route.query.person || "",
       gotype:(window.topU && window.topU.gotype) ?  window.topU.gotype : '',
       itemCount: 1,
       courseTitle: "",
@@ -505,7 +519,9 @@ export default {
           "&org=" +
           this.org +
           "&role=" +
-          this.role
+          this.role +
+          "&person=" +
+          this.person
         );
       } else {
         this.$router.push(
@@ -516,7 +532,9 @@ export default {
           "&org=" +
           this.org +
           "&role=" +
-          this.role
+          this.role +
+          "&person=" +
+          this.person
         );
         this.addOp3('1', "", { type: "CocoNote_standard_add" }, "success")
       }
@@ -590,7 +608,7 @@ export default {
       if (uid == this.userid ||  window.topU.US.userInfo.role==1) {
          window.topU.postMessage(
           {
-            tools: "opencCscl",
+            tools: this.person ? "opencCscl2" : "opencCscl",
             cid: cid,
             gid: '',
           },
@@ -618,7 +636,7 @@ export default {
             if (groupCid) {
                window.topU.postMessage(
                 {
-                  tools: "opencCscl",
+                  tools: this.person ? "opencCscl2" : "opencCscl",
                   cid: cid,
                   gid: groupCid,
                 },
@@ -1075,11 +1093,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 = this.lang.GradeL;
+              res.data[0][cti].name = this.lang.ssGradeType;
             } 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 = this.lang.Subject;
+              res.data[0][cti].name = this.lang.ssSubjectCategory;
             } else if (res.data[0][cti].id == "34629bcc-d02f-11ec-8c78-005056b86db5") {
-              res.data[0][cti].name = this.lang.Theme;
+              res.data[0][cti].name = this.lang.ssThemeType;
             }
           }
           for (var i = 0; i < res.data[0].length; i++) {
@@ -2045,4 +2063,36 @@ export default {
   box-sizing: border-box !important;
   margin: 0 !important;
 }
+.topL{
+    display: flex;
+    height: 154px;
+    justify-content: space-between;
+    background-color: #fff;
+    align-items: center;
+    padding: 24px;
+    box-sizing: border-box;
+    margin-bottom: 14px;
+    border-radius: 10px;
+    box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)
+}
+
+/* 顶部区域 */
+.topBlock{
+    display: flex;
+    flex-direction: column;
+    justify-content: space-between;
+}
+.topTit{
+    display: flex;
+    font-size: 30px;
+    height: 100%;
+    /* align-items: center; */
+    color: #000;
+    align-items: baseline;
+    font-weight: 600;
+}
+.topDetail{
+    color: #64748B;
+    margin-top: 16px;
+}
 </style>

+ 3 - 3
src/components/pages/synergyCourse/group/group.vue

@@ -463,7 +463,7 @@ export default {
         handleAddGroupNumChange() {
             for (let i = 0; i < this.addGroupNum; i++) {
                 this.groupJson2.group.push({
-                    name: (this.lang.Group).replace(/\*/g, this.groupJson2.group.length + 1),
+                    name: (this.lang.ssGroup).replace(/\*/g, this.groupJson2.group.length + 1),
                     id: this.guid()
                 });
             }
@@ -580,7 +580,7 @@ export default {
             this.groupJson2 = JSON.parse(JSON.stringify(this.groupJson));
             if (!this.groupJson2.group.length) {
                 this.groupJson2.group.push({
-                    name: (this.lang.Group).replace(/\*/g, this.groupJson2.group.length + 1),
+                    name: (this.lang.ssGroup).replace(/\*/g, this.groupJson2.group.length + 1),
                     id: this.guid()
                 });
             }
@@ -623,7 +623,7 @@ export default {
         },
         addGroup() {
             this.groupJson2.group.push({
-                name: (this.lang.Group).replace(/\*/g, this.groupJson2.group.length + 1),
+                name: (this.lang.ssGroup).replace(/\*/g, this.groupJson2.group.length + 1),
                 id: this.guid()
             });
         },

+ 1 - 1
src/components/pages/trainCourse/addCourse.vue

@@ -770,7 +770,7 @@
                         justify-content: space-between;
                         align-items: center;
                       " :style="{ margin: !itemTask.isFoldchapter ? '20px 0 10px' : '20px 0 0' }">
-                            <div style="margin-bottom:10px" class="lineTitle clineTitle">学习内容</div>
+                            <div style="margin-bottom:10px" class="lineTitle clineTitle">学习内容</div>
                             <!-- <div style="margin-bottom:10px" v-if="!itemTask.isFoldchapter" class="show_taskD show"
                               @click="foldC(itemTaskIndex)"><img src="../../../assets/icon/new/icon-slide.png" />收起学习内容</div>
                             <div style="margin-bottom:10px" v-else class="show_taskD" @click="foldC(itemTaskIndex)"><img

+ 146 - 67
src/lang/cn.json

@@ -97,9 +97,6 @@
   "EditCoconote":"创建协同建构",
   "ResetNote":"重置",
   "SearchNote":"请输入关键字",
-  "GradeL":"年级",
-  "Theme":"主题",
-  "Subject":"学科",
   "All":"全部",
   "Shared":"他人创建",
   "MyNote":"我的创建",
@@ -139,7 +136,6 @@
   "Pleaseenteraname":"请输入名称...",
   "Teachernotaddedgroups":"老师暂未添加分组",
   "emptyplaces":"空位置",
-  "Group":"第*组",
   "Addteammembers":"添加组员",
   "Removeteammembers":"移除组员",
   "selectteamdelete":"请选择要删除的组员",
@@ -188,7 +184,6 @@
   "type":"类型",
   "Searchimagekeywords":"搜索图片关键字",
   "enterkeywordsimages":"请输入关键词搜索图片",
-  "Changeanothergroup":"换一组",
   "Teachername":"老师姓名",
   "enterteachername":"请输入老师姓名",
   "TeacherNumber":"老师学号",
@@ -218,8 +213,6 @@
   "Addedsuccessfully":"添加成功",
   "initializepasswordteacher":"确定初始化此老师的密码吗?",
   "othertypesofteaching":"不能与其他教研室类型名称相同!",
-  "CourseManagement":"课程管理",
-  "EvaluationManagement":"评价管理",
   "CreateCourse":"创建课程",
   "SimplifiedCourse": "极简式课程",
   "Classroommode": "解析教案模式",
@@ -277,7 +270,6 @@
   "SelectTeachingClasses": "请选择授课班级",
   "TaskL": "任务*",
   "UntitledTask": "未命名任务",
-  "ToolL": "工具*",
   "LearningContent": "学习内容",
   "AddLearningContent": "请添加学习内容",
   "Files": "文件",
@@ -305,39 +297,18 @@
   "EnterURL": "请输入链接",
   "Llinktextrequired": "请填写链接标题",
   "copyvalidlink": "系统没有找到黏贴对象,请首先复制可用于黏贴的链接.",
-  "Interactive": "互动类",
-  "Cognitive": "思维类",
-  "Collaborative": "协作类",
   "Assessment": "测评类",
-  "Evaluation": "评价类",
-  "Programming": "编程类",
-  "SubjectSpecific": "学科类",
-  "Timer": "倒计时",
-  "Picksomeone": "挑人",
   "AddToolDescription": "添加工具描述",
   "AddTool": "添加工具",
   "CollapseTask": "收起任务",
   "AddDefaultTime": "添加预设时间",
   "changetime": "提示:点击“+”或“-”修改倒计时时长",
-  "MindGrid": "思维网格",
-  "EWhiteboard": "电子白板",
-  "Document": "文档",
-  "MindMap": "思维导图",
-  "Table": "表格",
   "applytemplates": "极简模式添加时不能添加模板,请添加课程后再修改添加模板",
   "AddFile": "添加文档",
   "UploadTemplate": "上传模板",
   "AddTable": "添加表格",
-  "Studentgrouping": "学生分组",
   "Groupsettings": "分组设置",
   "EnterInteger": "请输入2-10的数字",
-  "Survey": "问卷调查",
-  "Choicequestion": "选择题",
-  "QA": "问答",
-  "Fileupload": "作业提交",
-  "Batchupload": "批量上传",
-  "Matchingquestion": "选择匹配",
-  "Orderingquestion": "排序",
   "CreateQuestionnaire": "创建问卷",
   "EnterTitle": "输入标题",
   "SingleChoice": "单选题",
@@ -379,7 +350,6 @@
   "Clickcardtocancelsorting": "点击卡片取消排序设置",
   "deletethisquestion": "确定删除此题目吗?",
   "Successfullydelete": "删除成功",
-  "SelfAssessment": "个人评价",
   "AddAssessment": "添加评价",
   "EnterSelfAssessmentCriteria": "请输入个人评价指标",
   "SelfAssessmentcriteria": "个人评价指标",
@@ -388,16 +358,8 @@
   "Description": "描述",
   "Enterdescription": "填写评价描述",
   "Pleasecompleteallassessmentfields": "请把评价信息填写完整",
-  "questionnaire": "问卷调查",
-  "SourceCodeEditing": "源码编辑",
-  "TurtleProgramming": "海龟编程",
   "AIAgent": "AI智能体",
-  "Translation": "翻译",
-  "DigitalCanvas": "数字画板",
-  "LaTeX": "公式编辑",
   "Timetable": "时间轴",
-  "EnglishWriting": "英语写作",
-  "EnglishSpeaking": "英语口语",
   "CreateEssayTopic": "创建作文题目",
   "EssayTitle": "作文题目",
   "Enteressaytitlehere": "请填写作文题目",
@@ -502,8 +464,6 @@
   "TeacherPBLTraining": "教师pbl培训",
   "MoralEducationEvaluation": "德育评价",
   "NewStage": "新建阶段",
-  "SelectCourseTemplate": "选择课程模板",
-  "Stage": "第*阶段",
   "enterStageName": "请输入阶段名称",
   "deletestage": "确定删除此阶段吗?",
   "3SEtemplate": "3SE模板",
@@ -512,7 +472,6 @@
   "5EXTeachingMode": "5EX教学模式",
   "5ETeachingMode": "5E教学模式",
   "Confirmtemplateselection": "确定选择课程模板吗?此操作将删除所有已编辑课程内容。",
-  "Tool": "工具*",
   "Preliminaryintroduction": "项目初步介绍",
   "Tipformula": "提示:如输入数学公式需加$符号包裹。例:$a^2 + b^2 = c^2$",
   "Dimension": "评价维度",
@@ -573,8 +532,6 @@
   "worksheet": "学习单",
   "Practicecontent": "练习内容",
   "EvaluationContent": "评价内容",
-  "ApplicationCenter": "应用中心",
-  "TrainingPlatform": "训练平台",
   "Selected": "已选择",
   "target": "目标",
   "resource": "资源",
@@ -739,10 +696,6 @@
   "StageTitle":"阶段标题",
 
   "data11_7": "11.7",
-  "reselectfile":"添加成上传文件大于80兆,请重新选择文件!",
-  "Onlyzipfiles":"只支持上传zip文件",
-  "Failedzipfile":"解析zip文件失败",
-  "Nopageselected":"未选择主页面",
 
   "data11_12": "11.12",
   "joinone":"没有加入分组请先加入分组",
@@ -908,11 +861,11 @@
   "ssEvaRuleColon":"评价细则:",
   "ssAIScore":"AI评分",
   "ssEnterEvaRule":"请输入评价细则",
+  "ssGroup":"第*组",
   "ssGroupName":"第*组名称:",
   "ssTable":"表格",
   "ssStuGroup":"学生分组",
   "ssQuest":"问卷调查",
-  "ssChoice":"选择题",
   "ssQA":"问答",
   "ssHomework":"作业提交",
   "ssBatchUp":"批量上传",
@@ -1066,6 +1019,8 @@
   "ssOwner":"负责人",
   "ssAction":"操作",
   "ssImport":"导入",
+  "ssImportOk":"导入成功",
+  "ssClearAgain":"内容已经清空了,请勿重复清空",
   "ssGroupSet":"分组设置",
   "ssSetGroupNum":"请设置小组数量及名称",
   "ssEnterName2":"请输入名称...",
@@ -1078,7 +1033,6 @@
   "ssSelectTemp":"选择课程模板",
   "ssSimpleTemp":"简易模板",
   "ssChangeStage":"切换阶段顺序",
-  "ssStageNum":"第*阶段",
   "ssAddResTemp":"添加资源模板",
   "ssTempName":"模板名称:",
   "ssSelectOne":"选择一级分类:",
@@ -1167,8 +1121,6 @@
   "ssZhixing":"智行课程",
   "ssIntelli":"智创课程",
   "ssColumn":"栏目",
-  "ssImportOk":"导入成功",
-  "ssClearAgain":"内容已经清空了,请勿重复清空",
   "ssDelTarget":"确定删除此目标吗?",
   "ssSelSecAdd":"请选择二级分类,如没有二级分类请前往添加!",
   "ssFillCard":"请填写卡片内容!",
@@ -1203,6 +1155,9 @@
   "ssFileLimit30":"目前检索文件不能超过30个噢,请减少一些",
   "ssNoPermTip":"您没有权限修改/查看提示词",
   "ssEnterTask":"请输入任务名称",
+  "ssTaskNameC":"任务名称:",
+  "ssPlanColon":"教案:",
+  "ssGenWaitNow":"正在生成中...",
   "ssGenTaskPlan":"请先生成任务*的教案在执行此操作",
   "ssPlanTaskNotGen":"教案任务*描述还未生成完,请前往查看,回答完毕后再次操作。",
   "ssNotGenRegen":"还未生成完毕,是否直接重新生成?",
@@ -1350,7 +1305,6 @@
   "ssUseEvalTemp":"是否使用此评价模板?将会覆盖掉现有的评价!",
   "ssFirstLevel":"一级分类",
   "ssResource":"资源",
-  "ssEnglishOral":"英语口语",
   "ssSetEnglishOralInfo":"设置英语口语信息",
   "ssDescription":"说明",
   "ssEnterDesc":"请输入对该问题的描述",
@@ -1450,6 +1404,11 @@
   "ssAiDetail4":"请你在考虑到整个课程的情况下,**重点考虑该任务详情**以及工具的情况下,优化评价标准。",
   "ssAiTeacher":"请根据<任务大纲>为每个教学任务设计详细的教案,其中包括但不仅限于该任务的教学目标,教学过程,师生研讨,拓展,学生任务单,相关知识点的练习或Qui以及答案等。",
   "ssTeacherDetail":"请根据<教案描述>重新设计该教案。其中包括但不仅限于该任务的教学目标,教学过程,师生研讨,拓展,学生任务单,相关知识点的练习或Qui以及答案等。",
+  "ssAiOutline2":"请为这个名为<课程名字>的<课程学科>学科的,面向<面向年级>学生的项目式学习课程设计序列教学活动(需要每个任务都需要至少100个token的详细描述)。你需要参考课程简要描述<课程简要描述>,并产出每个教学任务的设计(可以直接使用文件内容)以及每个教学活动的评价量规(学生能做到...)。",
+  "ssAiDetail2Alt":"请你在考虑到整个课程的情况下,优化该任务描述",
+  "ssAiTeacher2":"请根据<任务大纲>为每个教学任务设计详细的教案,教案需要包含该任务的教学目标,教学过程(包含分步骤的教师活动和学生活动,教师活动与学生活动应该一一对应),相关知识点的讲解,练习(练习需要包含实例答案。",
+  "ssTeacherDet2":"请根据<任务大纲>,以及# 其他教学任务教案,为本教学任务设计详细的教案,教案需要包含该任务的教学目标,教学过程(包含分步骤的教师活动和学生活动),相关知识点的讲解,练习(练习需要包含实例答案。注意,你绝对不能重复其他教学任务教案中的内容",
+  "ssTeacherDet2Alt":"请根据<任务名>、<任务描述>,<课程简要描述>,为该任务设计详细的教案,教案需要包含该任务的教学目标,教学过程(包含分步骤的教师活动和学生活动,教师活动与学生活动应该一一对应),相关知识点的讲解,练习(练习需要包含示例答案)。",
   "ssSavePromptTemp":"保存提示词模板",
   "ssTemplateName":"模板名称:",
   "ssTemplateDesc":"模板描述:",
@@ -1641,19 +1600,11 @@
   "ssAnswer":"回答:",
   "ssDocTool":"文档工具",
   "ssDefaultDesc":"根据前期的了解与实地调研对于项目的了解,进行思考与讨论提出问题。",
-  "ssTableTool":"表格",
-  "ssSurveyTool":"问卷调查",
-  "ssChoiceTool":"选择题",
   "ssCorrect":"回答正确",
   "ssWrong":"回答错误",
-  "ssMatchTool":"选择匹配",
   "ssAnswer3":"答案:",
-  "ssSortTool":"排序",
   "ssStuAnswer":"学生回答:",
   "ssCorrectAns":"正确答案:",
-  "ssWorkSubmit":"作业提交",
-  "ssBatchUpload":"批量上传",
-  "ssWhiteBoard":"电子白板",
   "ssMindGrid":"思维网格",
   "ssMindMap":"思维导图",
   "ssAIAssist":"小可AI助手",
@@ -1664,7 +1615,6 @@
   "ssStuAbilityEval":"学生综合能力评估",
   "ssStageComplete":"阶段完成情况",
   "ssStageAvgScore":"阶段评价平均分",
-  "ssEvalManage":"评价管理",
   "ssViewStudent":"查看学生",
   "ssCourseQuery":"课程查询",
   "ssInputCourse":"请输入课程",
@@ -1675,7 +1625,6 @@
   "ssViewDoc":"查看文档",
   "ssScore2":"评分:",
   "ssNoUpload":"暂无上传截图",
-  "ssQATool2":"问答",
   "ssQATitle":"问答标题",
   "ssSurveyTool2":"问卷工具",
   "ssContent2":"内容",
@@ -1765,13 +1714,9 @@
   "ssStuStuPassive":"生生互动(被动)",
   "ssToolRatio":"工具占比",
   "ssLiteracyAvg":"素养平均分",
-  "ssInteractType":"互动类",
-  "ssThinkType":"思维类",
   "ssCoopType":"协作类",
   "ssAssessType":"测评类",
-  "ssEvalType":"评价类",
   "ssProgType":"编程类",
-  "ssSubjectType":"学科类",
   "ssOneClickExp":"一键导出",
   "ssBatchExp":"批量导出",
   "ssAllStudent":"所有学生",
@@ -1797,7 +1742,141 @@
   "ssStageLabel":"阶段",
   "ssQuestionnaire":"问卷",
   "ssSentence":"句子",
-  "ssCocoFlow":"cocoFlow"
+  "ssCocoFlow":"cocoFlow",
+  "ssIsPublicCourse":"是否公开此课程",
+  "ssClickAddCover":"点击添加封面",
+  "ssSelectCollab":"请选择协同人员",
+  "ssClear":"清除",
+  "ssAddObjMgmt":"请添加目标管理",
+  "ssLearnContentTip":"学习内容(请上传您已有的教案和PPT)",
+  "ssUploadFileTip":"上传的文件将作为生成的线上课程的学习资源。其中选中文件即可传至大模型知识库,用来帮助您自动创建线上课程。",
+  "ssModelNoteTip":"注意:大模型暂时不支持读取视频和音频格式的内容。",
+  "ssEnterCourseBrief":"请输入课程简要描述",
+  "ssTaskExtractGen":"学习任务提取&生成",
+  "ssEnterTaskCont":"请输入学习任务内容",
+  "ssCourseOutline":"课程大纲",
+  "ssGenOutlineBtn":"生成大纲",
+  "ssEnterTaskName":"输入任务名称",
+  "ssAddTaskAbove":"在上面加入一个任务",
+  "ssAddTaskBelow":"在下面加入一个任务",
+  "ssEnterTaskDesc":"请输入任务描述",
+  "ssReturnCourse":"返回课程",
+  "ssConfirmUpload":"确认上传",
+  "ssGenConceptGroup":"生成概念群",
+  "ssGenProblemChain":"生成问题链",
+  "ssGenTargetLayer":"生成目标层",
+  "ssUnnamedTask":"未命名任务",
+  "ssUnnamedStage":"未命名阶段",
+  "ssGenAllTaskName":"生成所有任务名",
+  "ssRegenAllTaskName":"重新生成所有任务名",
+  "ssGenAllTask":"生成所有任务",
+  "ssOneKeyGenAllTool":"一键生成所有工具",
+  "ssOneKeyGenAllEva":"一键生成所有评价",
+  "ssExportEvaAndPlan":"导出评价和学历案",
+  "ssNewStage":"新建阶段",
+  "ssStageOrder":"阶段顺序",
+  "ssEnterStageTitle":"请输入阶段标题",
+  "ssTaskOverview":"任务概述",
+  "ssStopGenPlanBtn":"停止生成学历案",
+  "ssAIGenPlanBtn":"AI生成学历案",
+  "ssIntSearchVideo":"智能检索视频",
+  "ssTeachingDesign":"教学设计",
+  "ssTeachingCourseware":"教学课件",
+  "ssTeachingVideo":"教学视频",
+  "ssTeachingAudio":"教学音频",
+  "ssLearningSheet":"学习单",
+  "ssPracticeContent":"练习内容",
+  "ssAssessment":"测评类",
+  "ssSubject":"学科类",
+  "ssMoveUp":"上移",
+  "ssMoveDown":"下移",
+  "ssCountdown":"倒计时",
+  "ssPickPeople":"挑人",
+  "ssChoice":"选择题",
+  "ssAddToolDesc":"添加工具描述",
+  "ssToolDescTip":"*可以将需要优化的建议添加在工具描述后,点击\"智能优化\",自动进行修改",
+  "ssTaskEvalSys":"任务评价体系",
+  "ssGenEvalRules":"一键生成评价细则",
+  "ssEvalRuleColon":"评价细则:",
+  "ssCollapseRule":"收起细则",
+  "ssEnterEvalRule":"请输入评价细则",
+  "ssTargetTree":"目标树",
+  "ssTargetCompass":"目标罗盘",
+  "ssCollapseTarget":"收起目标",
+  "ssExpandTarget":"展开目标",
+  "ssModifyTemplate":"修改模板",
+  "ssEvalExtract":"评价提取",
+  "ssToolDescOpt":"工具描述优化",
+  "ssTaskEvalOpt":"任务评价优化",
+  "ssCopyLinkInvite":"请复制该链接邀请协同编辑",
+  "ssCopyLinkShare":"复制链接分享",
+  "ssEnterDocTitle":"请输入文档标题名...",
+  "ssAddRichText":"添加富文本",
+  "ssModifyResource":"修改资源",
+  "ssAddResource":"添加资源",
+  "ssAddCourseMember":"添加课程成员",
+  "ssNoStudent":"暂无学生可选",
+  "ssEnterLinkTitle":"请输入链接标题",
+  "ssAddCollaborative":"添加协同成员",
+  "ssCreateQuestionnaire":"创建问卷",
+  "ssSingleChoice":"单选题",
+  "ssEnterQuestion":"请输入题目",
+  "ssSmartGenerate":"智能生成",
+  "ssMaterialLib":"素材库",
+  "ssCollaborativeDoc":"协同文档",
+  "ssRubricScore":"量规评分",
+  "ssEnterQuestionAsk":"请输入您要问的问题",
+  "ssEnterAnswerQ":"请输入您想要回答的问题",
+  "ssUploadImage":"上传图片",
+  "ssSelectLocalFile":"选择本地文件",
+  "ssSelectNetworkFile":"选择网络文件",
+  "ssSelectSystemFile":"选择系统文件",
+  "ssDrawing":"绘画",
+  "ssTechnology":"科技",
+  "ssHumanities":"人文",
+  "ssSearchImageKey":"搜索图片关键字",
+  "ssEnterKeywordSearch":"请输入关键词搜索图片",
+  "ssEnterModifyName":"请输入要修改的名称",
+  "ssSelectSecCategory":"选择二级分类",
+  "ssSelectAnsByQues":"根据题目选择对应答案",
+  "ssConfirmBtn":"确 定",
+  "ssGenLearnTaskFirst":"请生成学习任务后再生成任务",
+  "ssUnsavedChanges":"你有未保存的更改,确定要离开吗?",
+  "ssAICreation":"AI共创",
+  "ssUploadCover":"上传封面",
+  "ssModifyCover":"修改封面",
+  "ssTeachingClass":"授课班级",
+  "ssSelectTeachingClass":"请选择授课班级",
+  "ssCollaborators":"协同人员",
+  "ssSelectCollaborators":"请选择协同人员",
+  "ssSmartPasteMode":"智能粘贴模式",
+  "ssCourseDescription":"课程简要描述",
+  "ssLearningContent":"学习内容",
+  "ssPleaseAddLearningContent":"请添加学习内容",
+  "ssEnterLinkUrl":"请输入链接",
+  "ssSelectClassDialog":"选择授课班级",
+  "ssFillEvaName":"填写评价名称",
+  "ssEvaluationContent":"评价内容",
+  "ssAiotBlockly":"AIoT Blockly",
+  "ssAiPython":"AI Python",
+  "ssAiBlockly":"AI Blockly",
+  "ssCocoPi":"CocoPi",
+  "ssSimulatedDriving":"模拟驾驶",
+  "ssRouteSearch":"路径搜索",
+  "ssDeepLearning":"深度学习",
+  "ssMoleculeStruct":"分子结构",
+  "ssTimeline":"时间轴",
+  "ssObjMgmt":"目标管理",
+  "ssCourseDesign":"课程设计",
+  "ssInterVideo":"交互视频",
+  "ssPhoto":"拍照",
+  "ssAIAgent":"AI智能体",
+  "ssPPT":"PPT",
+  "ssModify":"修 改",
+  "ssGradeType": "年级",
+  "ssSubjectCategory": "学科",
+  "ssThemeType": "主题",
+  "ssSaveSuccess":"保存成功"
 
 
 

+ 150 - 71
src/lang/en.json

@@ -96,9 +96,6 @@
   "EditCoconote":"Edit Coconote",
   "ResetNote":"Reset",
   "SearchNote":"Search",
-  "GradeL":"Grade",
-  "Theme":"Theme",
-  "Subject":"Subject",
   "All":"All",
   "Shared":"Shared",
   "MyNote":"MyNote",
@@ -138,7 +135,6 @@
   "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",
@@ -187,7 +183,6 @@
   "type":"type",
   "Searchimagekeywords":"Search for image keywords",
   "enterkeywordsimages":"Please enter keywords to search for images",
-  "Changeanothergroup":"Change to another group",
   "Teachername":"Teacher's name",
   "enterteachername":"Please enter the teacher's name",
   "TeacherNumber":"Teacher's student ID",
@@ -217,8 +212,6 @@
   "Addedsuccessfully":"Added successfully",
   "initializepasswordteacher":"Are you sure to initialize the password for this teacher?",
   "othertypesofteaching":"Cannot have the same name as other types of teaching and research rooms!",
-  "CourseManagement":"Course management",
-  "EvaluationManagement":"Assessment Management",
   "CreateCourse":"Create Course",
   "SimplifiedCourse": "Simplified Course",
   "Classroommode": "Lesson Plan Analysis Mode",
@@ -276,7 +269,6 @@
   "SelectTeachingClasses": "Select Teaching Classes",
   "TaskL": "Task *",
   "UntitledTask": "Untitled Task",
-  "ToolL": "Tool *",
   "LearningContent": "Learning Content",
   "AddLearningContent": "Add Learning Content",
   "Files": "Files",
@@ -304,39 +296,18 @@
   "EnterURL": "Enter URL",
   "Llinktextrequired": "Enter link display text",
   "copyvalidlink": "No paste target found. Please copy a valid link first.",
-  "Interactive": "Interactive",
-  "Cognitive": "Cognitive",
-  "Collaborative": "Collaborative",
   "Assessment": "Assessment",
-  "Evaluation": "Evaluation",
-  "Programming": "Programming",
-  "SubjectSpecific": "Subject-Specific",
-  "Timer": "Timer",
-  "Picksomeone": "Select People",
   "AddToolDescription": "Add Tool Description",
   "AddTool": "Add Tool",
   "CollapseTask": "Collapse Task",
   "AddDefaultTime": "Add Default Time",
   "changetime": "Tip: Click “+” or “-” to change the countdown time.",
-  "MindGrid": "Thinking Grid",
-  "EWhiteboard": "E-Whiteboard",
-  "Document": "Document",
-  "MindMap": "Mind Map",
-  "Table": "Table",
   "applytemplates": "Templates cannot be added in Simplified Course. Please add course first, then edit to apply templates.",
   "AddFile": "Add File",
   "UploadTemplate": "Upload Template",
   "AddTable": "Add Table",
-  "Studentgrouping": "Grouping",
   "Groupsettings": "Group settings",
   "EnterInteger": "Enter Integer(2-10)",
-  "Survey": "Survey",
-  "Choicequestion": "Choice question",
-  "QA": "Q&A",
-  "Fileupload": "File upload",
-  "Batchupload": "Batch upload",
-  "Matchingquestion": "Matching question",
-  "Orderingquestion": "Ordering question",
   "CreateQuestionnaire": "Create Questionnaire",
   "EnterTitle": "Enter Title",
   "SingleChoice": "Single Choice",
@@ -378,7 +349,6 @@
   "Clickcardtocancelsorting": "Click card to cancel sorting",
   "deletethisquestion": "Are you sure to delete this question?",
   "Successfullydelete": "Successfully delete",
-  "SelfAssessment": "Self-Assessment",
   "AddAssessment": "Add Assessment",
   "EnterSelfAssessmentCriteria": "Enter Self-Assessment Criteria",
   "SelfAssessmentcriteria": "Self-Assessment criteria",
@@ -387,16 +357,8 @@
   "Description": "Description",
   "Enterdescription": "Enter description",
   "Pleasecompleteallassessmentfields": "Please complete all assessment fields.",
-  "questionnaire": "questionnaire",
-  "SourceCodeEditing": "Source Code Editing",
-  "TurtleProgramming": "Turtle Programming",
   "AIAgent": "AI Agent",
-  "Translation": "Translation",
-  "DigitalCanvas": "DigitalCanvas",
-  "LaTeX": "LaTeX",
   "Timetable": "Timetable",
-  "EnglishWriting": "English Writing",
-  "EnglishSpeaking": "English Speaking",
   "CreateEssayTopic": "Create Essay Topic",
   "EssayTitle": "Essay Title",
   "Enteressaytitlehere": "Enter essay title here",
@@ -502,8 +464,6 @@
   "TeacherPBLTraining": "Teacher PBL Training",
   "MoralEducationEvaluation": "Moral Education Evaluation",
   "NewStage": "New Stage",
-  "SelectCourseTemplate": "Select the Course Template",
-  "Stage": "Stage *",
   "enterStageName": "Please enter Stage Name",
   "deletestage": "Are you sure to delete this stage?",
   "3SEtemplate": "3SE template",
@@ -512,7 +472,6 @@
   "5EXTeachingMode": "5EX Teaching Mode",
   "5ETeachingMode": "5E Teaching Mode",
   "Confirmtemplateselection": "Confirm template selection? All content will be deleted.",
-  "Tool": "Tool *",
   "Preliminaryintroduction": "Preliminary introduction of the project",
   "Tipformula": "Tip: If entering a mathematical formula, you need to wrap it with a $symbol. Example: $a ^ 2+b ^ 2=c ^ 2$",
   "Dimension": "Dimension",
@@ -579,8 +538,6 @@
   "worksheet": "worksheet",
   "Practicecontent": "Practice content",
   "EvaluationContent": "Evaluation Content",
-  "ApplicationCenter": "Application Center",
-  "TrainingPlatform": "Training Platform",
   "Selected": "Selected",
   "BlankTemplate": "Blank Template",
   "SimpleTemplate": "Simple Template",
@@ -737,10 +694,6 @@
   "StageTitle": "Stage Title",
   
   "data11_7": "11.7",
-  "reselectfile": "The uploaded file exceeds 80MB, please reselect the file!",
-  "Onlyzipfiles": "Only ZIP files are supported for upload",
-  "Failedzipfile": "Failed to parse the ZIP file",
-  "Nopageselected": "No main page selected",
 
   "data11_12": "11.12",
   "joinone": "Please join a group first if you haven't joined one",
@@ -905,17 +858,17 @@
   "ssEvaRuleColon":"Evaluation Rules:",
   "ssAIScore":"AI Scoring",
   "ssEnterEvaRule":"Please enter evaluation rules",
+  "ssGroup":"Group *",
   "ssMindMap":"Mind Map",
   "ssGroupName":"Group * Name:",
   "ssTable":"Table",
   "ssStuGroup":"Student Grouping",
-  "ssQuest":"Questionnaire",
-  "ssChoice":"Multiple Choice",
+  "ssQuest":"Survey",
   "ssQA":"Q&A",
   "ssHomework":"Assignment Submission",
   "ssBatchUp":"Batch Upload",
-  "ssSelMatch":"Select Matching",
-  "ssSort":"Sorting",
+  "ssSelMatch":"Matching question",
+  "ssSort":"Ordering question",
   "ssTrainPlat":"Training Platform",
   "ssCodeEdit":"Code Editor",
   "ssTurtle":"Turtle Programming",
@@ -1061,6 +1014,8 @@
   "ssTargetName":"Objective",
   "ssOwner":"Owner",
   "ssImport":"Import",
+  "ssImportOk":"Import successful",
+  "ssClearAgain":"Content has been cleared, please do not clear again",
   "ssGroupSet":"Group settings",
   "ssSetGroupNum":"Group Names",
   "ssEnterName2":"Please enter a name ..",
@@ -1073,7 +1028,6 @@
   "ssSelectTemp":"Select the Course Template",
   "ssSimpleTemp":"Simple Template",
   "ssChangeStage":"Switching Stage Sequence",
-  "ssStageNum":"Stage *",
   "ssAddResTemp":"Add Resource Template",
   "ssTempName":"Template name:",
   "ssSelectOne":"Select first-level category:",
@@ -1162,8 +1116,6 @@
   "ssZhixing":"Zhixing Course",
   "ssIntelli":"Intelligent Creation Course",
   "ssColumn":"Column",
-  "ssImportOk":"Successfully Import",
-  "ssClearAgain":"The content has been cleared, please do not clear again",
   "ssDelTarget":"Are you sure to delete this target?",
   "ssSelSecAdd":"Please select a secondary category, or add one if none exists!",
   "ssFillCard":"Please fill in the card content!",
@@ -1198,6 +1150,9 @@
   "ssFileLimit30":"Currently, search files cannot exceed 30. Please reduce some.",
   "ssNoPermTip":"You do not have permission to modify/view prompts",
   "ssEnterTask":"Please enter task name",
+  "ssTaskNameC":"Task Name:",
+  "ssPlanColon":"Lesson Plan:",
+  "ssGenWaitNow":"Generating...",
   "ssGenTaskPlan":"Please generate task * lesson plan first before performing this operation",
   "ssPlanTaskNotGen":"Lesson plan task * description is not yet complete. Please check and try again after answering.",
   "ssNotGenRegen":"Not yet complete. Do you want to regenerate directly?",
@@ -1344,7 +1299,6 @@
   "ssUseEvalTemp":"Do you want to use this evaluation template? It will overwrite the existing evaluation!",
   "ssFirstLevel":"First Level",
   "ssResource":"Resource",
-  "ssEnglishOral":"English Oral",
   "ssSetEnglishOralInfo":"Set English Oral Information",
   "ssDescription":"Description",
   "ssEnterDesc":"Please enter description of the question",
@@ -1444,6 +1398,11 @@
   "ssAiDetail4":"Please optimize evaluation criteria considering the entire course, **especially considering the task details** and tools.",
   "ssAiTeacher":"Please design detailed lesson plans for each teaching task based on <Task Outline>, including but not limited to teaching objectives, teaching process, teacher-student discussion, extension, student task sheets, practice or Quiz and answers for related knowledge points, etc.",
   "ssTeacherDetail":"Please redesign this lesson plan based on <Lesson Plan Description>. Including but not limited to teaching objectives, teaching process, teacher-student discussion, extension, student task sheets, practice or Quiz and answers for related knowledge points, etc.",
+  "ssAiOutline2":"Please design sequential teaching activities for this project-based learning course named <Course Name> for <Course Subject> subject, targeting <Grade Level> students (each task needs at least 100 tokens of detailed description). You need to refer to the course brief description <Course Brief Description>, and produce the design of each teaching task (file content can be used directly) and evaluation rubrics for each teaching activity (students can...).",
+  "ssAiDetail2Alt":"Please optimize the task description considering the entire course",
+  "ssAiTeacher2":"Please design detailed lesson plans for each teaching task based on <Task Outline>. The lesson plan needs to include the teaching objectives of the task, teaching process (including step-by-step teacher activities and student activities, teacher activities and student activities should correspond one by one), explanation of related knowledge points, practice (practice needs to include example answers.",
+  "ssTeacherDet2":"Please design detailed lesson plans for this teaching task based on <Task Outline> and # other teaching task lesson plans. The lesson plan needs to include the teaching objectives of the task, teaching process (including step-by-step teacher activities and student activities), explanation of related knowledge points, practice (practice needs to include example answers. Note, you must never repeat the content in other teaching task lesson plans",
+  "ssTeacherDet2Alt":"Please design detailed lesson plans for this task based on <Task Name>, <Task Description>, <Course Brief Description>. The lesson plan needs to include the teaching objectives of the task, teaching process (including step-by-step teacher activities and student activities, teacher activities and student activities should correspond one by one), explanation of related knowledge points, practice (practice needs to include example answers).",
   "ssSavePromptTemp":"Save Prompt Template",
   "ssTemplateDesc":"Template Description:",
   "ssPermission":"Permission:",
@@ -1555,7 +1514,7 @@
   "ssFilterCourse":"Select Course Name",
   "ssStuFilter":"Student Filter",
   "ssAllClass":"All Classes",
-  "ssFilterStu":"Filter Student Name",
+  "ssFilterStu":"Select Student Name",
   "ssCourse":"Course",
   "ssClass":"Class",
   "ssCreator":"Owner",
@@ -1640,19 +1599,11 @@
   "ssAnswer":"Answer:",
   "ssDocTool":"Document Tool",
   "ssDefaultDesc":"Based on preliminary understanding and field research of the project, think and discuss to raise questions.",
-  "ssTableTool":"Table",
-  "ssSurveyTool":"Survey",
-  "ssChoiceTool":"Multiple Choice",
   "ssCorrect":"Correct",
   "ssWrong":"Wrong",
-  "ssMatchTool":"Match Selection",
   "ssAnswer3":"Answer:",
-  "ssSortTool":"Sort",
   "ssStuAnswer":"Student Answer:",
   "ssCorrectAns":"Correct Answer:",
-  "ssWorkSubmit":"Work Submission",
-  "ssBatchUpload":"Batch Upload",
-  "ssWhiteBoard":"Whiteboard",
   "ssMindGrid":"Mind Grid",
   "ssAIAssist":"Xiaoke AI Assistant",
   "ssPrevStu":"Previous",
@@ -1662,7 +1613,6 @@
   "ssStuAbilityEval":"Student Comprehensive Ability Assessment",
   "ssStageComplete":"Stage Completion Status",
   "ssStageAvgScore":"Stage Evaluation Average Score",
-  "ssEvalManage":"Assessment Management",
   "ssViewStudent":"View Student",
   "ssCourseQuery":"Course Query",
   "ssInputCourse":"Please enter course",
@@ -1673,7 +1623,6 @@
   "ssViewDoc":"View Document",
   "ssScore2":"Score:",
   "ssNoUpload":"No Upload Screenshot",
-  "ssQATool2":"Q&A",
   "ssQATitle":"Q&A Title",
   "ssSurveyTool2":"Survey Tool",
   "ssContent2":"Content",
@@ -1764,13 +1713,9 @@
   "ssStuStuPassive":"Student-Student Interaction (Passive)",
   "ssToolRatio":"Tool Ratio",
   "ssLiteracyAvg":"Literacy Average Score",
-  "ssInteractType":"Interaction",
-  "ssThinkType":"Thinking",
   "ssCoopType":"Collaboration",
   "ssAssessType":"Assessment",
-  "ssEvalType":"Evaluation",
   "ssProgType":"Programming",
-  "ssSubjectType":"Subject",
   "ssOneClickExp":"One-Click Export",
   "ssBatchExp":"Custom Export",
   "ssAllStudent":"All Students",
@@ -1796,7 +1741,141 @@
   "ssStageLabel":"Stage",
   "ssQuestionnaire":"Questionnaire",
   "ssSentence":"Sentence",
-  "ssCocoFlow":"cocoFlow"
+  "ssCocoFlow":"cocoFlow",
+  "ssIsPublicCourse":"Whether to make this course public",
+  "ssClickAddCover":"Click to add cover",
+  "ssSelectCollab":"Please select collaborators",
+  "ssClear":"Clear",
+  "ssAddObjMgmt":"Please add objective management",
+  "ssLearnContentTip":"Learning Content (Please upload your existing lesson plans and PPT)",
+  "ssUploadFileTip":"Uploaded files will be used as learning resources for the generated online course. Selected files can be uploaded to the large model knowledge base to help you automatically create online courses.",
+  "ssModelNoteTip":"Note: The large model currently does not support reading video and audio format content.",
+  "ssEnterCourseBrief":"Please enter course brief description",
+  "ssTaskExtractGen":"Learning Task Extraction & Generation",
+  "ssEnterTaskCont":"Please enter learning task content",
+  "ssCourseOutline":"Course Outline",
+  "ssGenOutlineBtn":"Generate Outline",
+  "ssEnterTaskName":"Enter task name",
+  "ssAddTaskAbove":"Add a task above",
+  "ssAddTaskBelow":"Add a task below",
+  "ssEnterTaskDesc":"Please enter task description",
+  "ssReturnCourse":"Return to Course",
+  "ssConfirmUpload":"Confirm Upload",
+  "ssGenConceptGroup":"Generate Concept Group",
+  "ssGenProblemChain":"Generate Problem Chain",
+  "ssGenTargetLayer":"Generate Target Layer",
+  "ssUnnamedTask":"Unnamed Task",
+  "ssUnnamedStage":"Unnamed Stage",
+  "ssGenAllTaskName":"Generate All Task Names",
+  "ssRegenAllTaskName":"Regenerate All Task Names",
+  "ssGenAllTask":"Generate All Tasks",
+  "ssOneKeyGenAllTool":"One-Click Generate All Tools",
+  "ssOneKeyGenAllEva":"One-Click Generate All Evaluations",
+  "ssExportEvaAndPlan":"Export Evaluations and Lesson Plan",
+  "ssNewStage":"New Stage",
+  "ssStageOrder":"Stage Order",
+  "ssEnterStageTitle":"Please enter stage title",
+  "ssTaskOverview":"Task Overview",
+  "ssStopGenPlanBtn":"Stop Generating Lesson Plan",
+  "ssAIGenPlanBtn":"AI Generate Lesson Plan",
+  "ssIntSearchVideo":"Smart Search Video",
+  "ssTeachingDesign":"Teaching Design",
+  "ssTeachingCourseware":"Teaching Courseware",
+  "ssTeachingVideo":"Teaching Video",
+  "ssTeachingAudio":"Teaching Audio",
+  "ssLearningSheet":"Learning Sheet",
+  "ssPracticeContent":"Practice Content",
+  "ssAssessment":"Assessment",
+  "ssSubject":"Subject",
+  "ssMoveUp":"Move Up",
+  "ssMoveDown":"Move Down",
+  "ssCountdown":"Timer",
+  "ssPickPeople":"Pick someone",
+  "ssChoice":"Multiple Choice",
+  "ssAddToolDesc":"Add Tool Description",
+  "ssToolDescTip":"*You can add optimization suggestions after the tool description, click \"Smart Optimization\" to automatically modify",
+  "ssTaskEvalSys":"Task Evaluation System",
+  "ssGenEvalRules":"Generate Evaluation Rules",
+  "ssEvalRuleColon":"Evaluation Rules:",
+  "ssCollapseRule":"Collapse Rules",
+  "ssEnterEvalRule":"Please enter evaluation rules",
+  "ssTargetTree":"Target Tree",
+  "ssTargetCompass":"Target Compass",
+  "ssCollapseTarget":"Collapse Target",
+  "ssExpandTarget":"Expand Target",
+  "ssModifyTemplate":"Modify Template",
+  "ssEvalExtract":"Evaluation Extraction",
+  "ssToolDescOpt":"Tool Description Optimization",
+  "ssTaskEvalOpt":"Task Evaluation Optimization",
+  "ssCopyLinkInvite":"Please copy this link to invite collaborative editing",
+  "ssCopyLinkShare":"Copy Link & Share",
+  "ssEnterDocTitle":"Please enter document title...",
+  "ssAddRichText":"Add Rich Text",
+  "ssModifyResource":"Modify Resource",
+  "ssAddResource":"Add Resource",
+  "ssAddCourseMember":"Add Course Member",
+  "ssNoStudent":"No students available",
+  "ssEnterLinkTitle":"Please enter link title",
+  "ssAddCollaborative":"Add Collaborative Member",
+  "ssCreateQuestionnaire":"Create Questionnaire",
+  "ssSingleChoice":"Single Choice",
+  "ssEnterQuestion":"Please enter question",
+  "ssSmartGenerate":"Smart Generate",
+  "ssMaterialLib":"Material Library",
+  "ssCollaborativeDoc":"Collaborative Document",
+  "ssRubricScore":"Rubric Scoring",
+  "ssEnterQuestionAsk":"Please enter your question",
+  "ssEnterAnswerQ":"Please enter the question you want to answer",
+  "ssUploadImage":"Upload Image",
+  "ssSelectLocalFile":"Select Local File",
+  "ssSelectNetworkFile":"Select Network File",
+  "ssSelectSystemFile":"Select System File",
+  "ssDrawing":"Drawing",
+  "ssTechnology":"Technology",
+  "ssHumanities":"Humanities",
+  "ssSearchImageKey":"Search image keywords",
+  "ssEnterKeywordSearch":"Please enter keywords to search images",
+  "ssEnterModifyName":"Please enter the name to modify",
+  "ssSelectSecCategory":"Select secondary category",
+  "ssSelectAnsByQues":"Select the corresponding answer based on the question",
+  "ssConfirmBtn":"Confirm",
+  "ssGenLearnTaskFirst":"Please generate learning tasks before generating tasks",
+  "ssUnsavedChanges":"You have unsaved changes, are you sure you want to leave?",
+  "ssAICreation":"AI Creation",
+  "ssUploadCover":"Upload Cover",
+  "ssModifyCover":"Modify Cover",
+  "ssTeachingClass":"Teaching Class",
+  "ssSelectTeachingClass":"Please select teaching class",
+  "ssCollaborators":"Collaborators",
+  "ssSelectCollaborators":"Please select collaborators",
+  "ssSmartPasteMode":"Smart Paste Mode",
+  "ssCourseDescription":"Course Brief Description",
+  "ssLearningContent":"Learning Content",
+  "ssPleaseAddLearningContent":"Please add learning content",
+  "ssEnterLinkUrl":"Please enter the link",
+  "ssSelectClassDialog":"Select Teaching Class",
+  "ssFillEvaName":"Fill in evaluation name",
+  "ssEvaluationContent":"Evaluation Content",
+  "ssAiotBlockly":"AIoT Blockly",
+  "ssAiPython":"AI Python",
+  "ssAiBlockly":"AI Blockly",
+  "ssCocoPi":"CocoPi",
+  "ssSimulatedDriving":"Simulated Driving",
+  "ssRouteSearch":"Route Search",
+  "ssDeepLearning":"Deep Learning",
+  "ssMoleculeStruct":"Molecule Structure",
+  "ssTimeline":"Timeline",
+  "ssObjMgmt":"Objectives Management",
+  "ssCourseDesign":"Course Design",
+  "ssInterVideo":"Interactive Video",
+  "ssPhoto":"Photo",
+  "ssAIAgent":"AI Agent",
+  "ssPPT":"PPT",
+  "ssModify":"Modify",
+  "ssGradeType": "Grade",
+  "ssSubjectCategory": "Subject",
+  "ssThemeType": "Theme",
+  "ssSaveSuccess":"Saved successfully"
 
 
 

+ 147 - 67
src/lang/hk.json

@@ -97,9 +97,6 @@
   "EditCoconote": "創建協同建構",
   "ResetNote": "重置",
   "SearchNote": "請輸入關鍵字",
-  "GradeL": "年級",
-  "Theme": "主題",
-  "Subject": "學科",
   "All": "全部",
   "Shared": "他人創建",
   "MyNote": "我的創建",
@@ -139,7 +136,6 @@
   "Pleaseenteraname":"請輸入名稱...",
   "Teachernotaddedgroups":"老師暫未新增分組",
   "emptyplaces": "空位",
-  "Group": "第*組",
   "Addteammembers": "新增組員",
   "Removeteammembers": "移除組員",
   "selectteamdelete": "請選擇要刪除的組員",
@@ -188,7 +184,6 @@
   "type":"類型",
   "Searchimagekeywords":"搜索圖片關鍵字",
   "enterkeywordsimages":"請輸入關鍵詞搜索圖片",
-  "Changeanothergroup":"換一組",
   "Teachername":"老師姓名",
   "enterteachername":"請輸入老師姓名",
   "TeacherNumber":"老師學號",
@@ -218,8 +213,6 @@
   "Addedsuccessfully":"添加成功",
   "initializepasswordteacher":"確定初始化此老師的密碼嗎?",
   "othertypesofteaching":"不能與其他教研室類型名稱相同!",
-  "CourseManagement": "課程管理",
-  "EvaluationManagement": "評估管理",
   "CreateCourse": "創建課程",
   "SimplifiedCourse": "極簡式課程",
   "Classroommode": "解析教案模式",
@@ -277,7 +270,6 @@
   "SelectTeachingClasses": "請選擇授課班級",  
   "TaskL": "任務*",  
   "UntitledTask": "未命名任務",  
-  "ToolL": "工具*",  
   "LearningContent": "學習內容",  
   "AddLearningContent": "請添加學習內容",  
   "Files": "文件",  
@@ -305,39 +297,18 @@
   "EnterURL": "請輸入鏈接",
   "Llinktextrequired": "請填寫鏈接標題",
   "copyvalidlink": "系統沒有找到黏貼對象,請首先複製可用於黏貼的鏈接.",
-  "Interactive": "互動類",
-  "Cognitive": "思維類",
-  "Collaborative": "協作類",
   "Assessment": "測評類",
-  "Evaluation": "評價類",
-  "Programming": "編程類",
-  "SubjectSpecific": "學科類",
-  "Timer": "倒計時",
-  "Picksomeone": "挑人",
   "AddToolDescription": "添加工具描述",
   "AddTool": "添加工具",
   "CollapseTask": "收起任務",
   "AddDefaultTime": "添加預設時間",
   "changetime": "提示:點擊「+」或「-」修改倒計時時長",
-  "MindGrid": "思維網格",
-  "EWhiteboard": "電子白板",
-  "Document": "文檔",
-  "MindMap": "思維導圖",
-  "Table": "表格",
   "applytemplates": "極簡模式添加時不能添加模板,請添加課程後再修改添加模板",
   "AddFile": "添加文檔",
   "UploadTemplate": "上傳模板",
   "AddTable": "添加表格",
-  "Studentgrouping": "學生分組",
   "Groupsettings": "分組設置",
   "EnterInteger": "請輸入2-10的數字",
-  "Survey": "問卷調查",
-  "Choicequestion": "選擇題",
-  "QA": "問答",
-  "Fileupload": "作業提交",
-  "Batchupload": "批量上傳",
-  "Matchingquestion": "選擇匹配",
-  "Orderingquestion": "排序",
   "CreateQuestionnaire": "創建問卷",
   "EnterTitle": "輸入標題",
   "SingleChoice": "單選題",
@@ -379,7 +350,6 @@
   "Clickcardtocancelsorting": "點擊卡片取消排序設置",
   "deletethisquestion": "確定刪除此題目嗎?",
   "Successfullydelete": "刪除成功",
-  "SelfAssessment": "個人評價",
   "AddAssessment": "添加評價",
   "EnterSelfAssessmentCriteria": "請輸入個人評價指標",
   "SelfAssessmentcriteria": "個人評價指標",
@@ -388,16 +358,8 @@
   "Description": "描述",
   "Enterdescription": "填寫評價描述",
   "Pleasecompleteallassessmentfields": "請把評價信息填寫完整",
-  "questionnaire": "問卷調查",
-  "SourceCodeEditing": "源碼編輯",
-  "TurtleProgramming": "海龜編程",
   "AIAgent": "AI智能體",
-  "Translation": "翻譯",
-  "DigitalCanvas": "數字畫板",
-  "LaTeX": "公式編輯",
   "Timetable": "時間軸",
-  "EnglishWriting": "英語寫作",
-  "EnglishSpeaking": "英語口語",
   "CreateEssayTopic": "創建作文題目",
   "EssayTitle": "作文題目",
   "Enteressaytitlehere": "請填寫作文題目",
@@ -503,8 +465,6 @@
   "TeacherPBLTraining": "教師PBL培訓",
   "MoralEducationEvaluation": "德育評價",
   "NewStage": "新建階段",
-  "SelectCourseTemplate": "選擇課程模板",
-  "Stage": "第*階段",
   "enterStageName": "請輸入階段名稱",
   "deletestage": "確定刪除此階段嗎?",
   "3SEtemplate": "3SE模板",
@@ -513,7 +473,6 @@
   "5EXTeachingMode": "5EX教學模式",
   "5ETeachingMode": "5E教學模式",
   "Confirmtemplateselection": "確定選擇課程模板嗎?此操作將刪除所有已編輯課程內容。",
-  "Tool": "工具*",
   "Preliminaryintroduction": "項目初步介紹",
   "Tipformula": "提示:如輸入數學公式需加符號包裹。例:符號包裹。例:a^2 + b^2 = c^2$",
   "Dimension": "評價維度",
@@ -580,8 +539,6 @@
   "worksheet": "學習單",
   "Practicecontent": "練習內容",
   "EvaluationContent": "評價內容",
-  "ApplicationCenter": "應用中心",
-  "TrainingPlatform": "訓練平台",
   "Selected": "已選擇",
   "BlankTemplate": "空白模板",
   "SimpleTemplate": "簡易模板",
@@ -738,10 +695,6 @@
   "StageTitle": "階段標題",
   
   "data11_7": "11.7",
-  "reselectfile": "添加成上傳文件大於80兆,請重新選擇文件!",
-  "Onlyzipfiles": "只支援上傳zip文件",
-  "Failedzipfile": "解析zip文件失敗",
-  "Nopageselected": "未選擇主頁面",
   
   "data11_12": "11.12",
   "joinone": "沒有加入分組請先加入分組",
@@ -906,11 +859,11 @@
   "ssEvaRuleColon":"評價細則:",
   "ssAIScore":"AI評分",
   "ssEnterEvaRule":"請輸入評價細則",
+  "ssGroup":"第*組",
   "ssGroupName":"第*組名稱:",
   "ssTable":"表格",
   "ssStuGroup":"學生分組",
   "ssQuest":"問卷調查",
-  "ssChoice":"選擇題",
   "ssQA":"問答",
   "ssHomework":"作業提交",
   "ssBatchUp":"批量上傳",
@@ -1064,6 +1017,8 @@
   "ssOwner":"負責人",
   "ssAction":"操作",
   "ssImport":"導入",
+  "ssImportOk":"導入成功",
+  "ssClearAgain":"內容已經清空了,請勿重複清空",
   "ssGroupSet":"分組設置",
   "ssSetGroupNum":"請設置小組數量及名稱",
   "ssEnterName2":"請輸入名稱...",
@@ -1076,7 +1031,6 @@
   "ssSelectTemp":"選擇課程模板",
   "ssSimpleTemp":"簡易模板",
   "ssChangeStage":"切換階段順序",
-  "ssStageNum":"第*階段",
   "ssAddResTemp":"添加資源模板",
   "ssTempName":"模板名稱:",
   "ssSelectOne":"選擇一級分類:",
@@ -1165,8 +1119,6 @@
   "ssZhixing":"智行課程",
   "ssIntelli":"智創課程",
   "ssColumn":"欄目",
-  "ssImportOk":"導入成功",
-  "ssClearAgain":"內容已經清空了,請勿重復清空",
   "ssDelTarget":"確定刪除此目標嗎?",
   "ssSelSecAdd":"請選擇二級分類,如沒有二級分類請前往添加!",
   "ssFillCard":"請填寫卡片內容!",
@@ -1201,6 +1153,9 @@
   "ssFileLimit30":"目前檢索文件不能超過30個噢,請減少一些",
   "ssNoPermTip":"您沒有權限修改/查看提示詞",
   "ssEnterTask":"請輸入任務名稱",
+  "ssTaskNameC":"任務名稱:",
+  "ssPlanColon":"教案:",
+  "ssGenWaitNow":"正在生成中...",
   "ssGenTaskPlan":"請先生成任務*的教案在執行此操作",
   "ssPlanTaskNotGen":"教案任務*描述還未生成完,請前往查看,回答完畢後再次操作。",
   "ssNotGenRegen":"還未生成完畢,是否直接重新生成?",
@@ -1350,7 +1305,6 @@
   "ssUseEvalTemp":"是否使用此評價模板?將會覆蓋掉現有的評價!",
   "ssFirstLevel":"一級分類",
   "ssResource":"資源",
-  "ssEnglishOral":"英語口語",
   "ssSetEnglishOralInfo":"設置英語口語信息",
   "ssDescription":"說明",
   "ssEnterDesc":"請輸入對該問題的描述",
@@ -1451,6 +1405,11 @@
   "ssAiDetail4":"請你在考慮到整個課程的情況下,**重點考慮該任務詳情**以及工具的情況下,優化評價標準。",
   "ssAiTeacher":"請根據<任務大綱>為每個教學任務設計詳細的教案,其中包括但不僅限於該任務的教學目標,教學過程,師生研討,拓展,學生任務單,相關知識點的練習或Qui以及答案等。",
   "ssTeacherDetail":"請根據<教案描述>重新設計該教案。其中包括但不僅限於該任務的教學目標,教學過程,師生研討,拓展,學生任務單,相關知識點的練習或Qui以及答案等。",
+  "ssAiOutline2":"請為這個名為<課程名字>的<課程學科>學科的,面向<面向年級>學生的項目式學習課程設計序列教學活動(需要每個任務都需要至少100個token的詳細描述)。你需要參考課程簡要描述<課程簡要描述>,並產出每個教學任務的設計(可以直接使用文件內容)以及每個教學活動的評價量規(學生能做到...)。",
+  "ssAiDetail2Alt":"請你在考慮到整個課程的情況下,優化該任務描述",
+  "ssAiTeacher2":"請根據<任務大綱>為每個教學任務設計詳細的教案,教案需要包含該任務的教學目標,教學過程(包含分步驟的教師活動和學生活動,教師活動與學生活動應該一一對應),相關知識點的講解,練習(練習需要包含實例答案。",
+  "ssTeacherDet2":"請根據<任務大綱>,以及# 其他教學任務教案,為本教學任務設計詳細的教案,教案需要包含該任務的教學目標,教學過程(包含分步驟的教師活動和學生活動),相關知識點的講解,練習(練習需要包含實例答案。注意,你絕對不能重複其他教學任務教案中的內容",
+  "ssTeacherDet2Alt":"請根據<任務名>、<任務描述>,<課程簡要描述>,為該任務設計詳細的教案,教案需要包含該任務的教學目標,教學過程(包含分步驟的教師活動和學生活動,教師活動與學生活動應該一一對應),相關知識點的講解,練習(練習需要包含示例答案)。",
   "ssSavePromptTemp":"保存提示詞模板",
   "ssTemplateName":"模板名稱:",
   "ssTemplateDesc":"模板描述:",
@@ -1641,19 +1600,11 @@
   "ssAnswer":"回答:",
   "ssDocTool":"文檔工具",
   "ssDefaultDesc":"根據前期的了解與實地調研對於項目的了解,進行思考與討論提出問題。",
-  "ssTableTool":"表格",
-  "ssSurveyTool":"問卷調查",
-  "ssChoiceTool":"選擇題",
   "ssCorrect":"回答正確",
   "ssWrong":"回答錯誤",
-  "ssMatchTool":"選擇匹配",
   "ssAnswer3":"答案:",
-  "ssSortTool":"排序",
   "ssStuAnswer":"學生回答:",
   "ssCorrectAns":"正確答案:",
-  "ssWorkSubmit":"作業提交",
-  "ssBatchUpload":"批量上傳",
-  "ssWhiteBoard":"電子白板",
   "ssMindMap":"思維導圖",
   "ssAIAssist":"小可AI助手",
   "ssPrevStu":"上一位",
@@ -1663,7 +1614,6 @@
   "ssStuAbilityEval":"學生綜合能力評估",
   "ssStageComplete":"階段完成情況",
   "ssStageAvgScore":"階段評價平均分",
-  "ssEvalManage":"評價管理",
   "ssViewStudent":"查看學生",
   "ssCourseQuery":"課程查詢",
   "ssInputCourse":"請輸入課程",
@@ -1674,7 +1624,6 @@
   "ssViewDoc":"查看文檔",
   "ssScore2":"評分:",
   "ssNoUpload":"暫無上傳截圖",
-  "ssQATool2":"問答",
   "ssQATitle":"問答標題",
   "ssSurveyTool2":"問卷工具",
   "ssContent2":"內容",
@@ -1765,13 +1714,9 @@
   "ssStuStuPassive":"生生互動(被動)",
   "ssToolRatio":"工具占比",
   "ssLiteracyAvg":"素養平均分",
-  "ssInteractType":"互動類",
-  "ssThinkType":"思維類",
   "ssCoopType":"協作類",
   "ssAssessType":"測評類",
-  "ssEvalType":"評價類",
   "ssProgType":"編程類",
-  "ssSubjectType":"學科類",
   "ssOneClickExp":"一鍵導出",
   "ssBatchExp":"批量導出",
   "ssAllStudent":"所有學生",
@@ -1797,7 +1742,142 @@
   "ssStageLabel":"階段",
   "ssQuestionnaire":"問卷",
   "ssSentence":"句子",
-  "ssCocoFlow":"cocoFlow"
+  "ssCocoFlow":"cocoFlow",
+  "ssIsPublicCourse":"是否公開此課程",
+  "ssClickAddCover":"點擊添加封面",
+  "ssSelectCollab":"請選擇協同人員",
+  "ssClear":"清除",
+  "ssAddObjMgmt":"請添加目標管理",
+  "ssLearnContentTip":"學習內容(請上傳您已有的教案和PPT)",
+  "ssUploadFileTip":"上傳的文件將作為生成的線上課程的學習資源。其中選中文件即可傳至大模型知識庫,用來幫助您自動創建線上課程。",
+  "ssModelNoteTip":"注意:大模型暫時不支持讀取視頻和音頻格式的內容。",
+  "ssEnterCourseBrief":"請輸入課程簡要描述",
+  "ssTaskExtractGen":"學習任務提取&生成",
+  "ssEnterTaskCont":"請輸入學習任務內容",
+  "ssCourseOutline":"課程大綱",
+  "ssGenOutlineBtn":"生成大綱",
+  "ssEnterTaskName":"輸入任務名稱",
+  "ssAddTaskAbove":"在上面加入一個任務",
+  "ssAddTaskBelow":"在下面加入一個任務",
+  "ssEnterTaskDesc":"請輸入任務描述",
+  "ssReturnCourse":"返回課程",
+  "ssConfirmUpload":"確認上傳",
+  "ssGenConceptGroup":"生成概念群",
+  "ssGenProblemChain":"生成問題鏈",
+  "ssGenTargetLayer":"生成目標層",
+  "ssUnnamedTask":"未命名任務",
+  "ssUnnamedStage":"未命名階段",
+  "ssGenAllTaskName":"生成所有任務名",
+  "ssRegenAllTaskName":"重新生成所有任務名",
+  "ssGenAllTask":"生成所有任務",
+  "ssOneKeyGenAllTool":"一鍵生成所有工具",
+  "ssOneKeyGenAllEva":"一鍵生成所有評價",
+  "ssExportEvaAndPlan":"導出評價和學歷案",
+  "ssNewStage":"新建階段",
+  "ssStageOrder":"階段順序",
+  "ssEnterStageTitle":"請輸入階段標題",
+  "ssTaskOverview":"任務概述",
+  "ssStopGenPlanBtn":"停止生成學歷案",
+  "ssAIGenPlanBtn":"AI生成學歷案",
+  "ssIntSearchVideo":"智能檢索視頻",
+  "ssTeachingDesign":"教學設計",
+  "ssTeachingCourseware":"教學課件",
+  "ssTeachingVideo":"教學視頻",
+  "ssTeachingAudio":"教學音頻",
+  "ssLearningSheet":"學習單",
+  "ssPracticeContent":"練習內容",
+  "ssAssessment":"測評類",
+  "ssSubject":"學科類",
+  "ssMoveUp":"上移",
+  "ssMoveDown":"下移",
+  "ssCountdown":"倒計時",
+  "ssPickPeople":"挑人",
+  "ssChoice":"選擇題",
+  "ssAddToolDesc":"添加工具描述",
+  "ssToolDescTip":"*可以將需要優化的建議添加在工具描述後,點擊\"智能優化\",自動進行修改",
+  "ssTaskEvalSys":"任務評價體系",
+  "ssGenEvalRules":"一鍵生成評價細則",
+  "ssEvalRuleColon":"評價細則:",
+  "ssCollapseRule":"收起細則",
+  "ssEnterEvalRule":"請輸入評價細則",
+  "ssTargetTree":"目標樹",
+  "ssTargetCompass":"目標羅盤",
+  "ssCollapseTarget":"收起目標",
+  "ssExpandTarget":"展開目標",
+  "ssModifyTemplate":"修改模板",
+  "ssEvalExtract":"評價提取",
+  "ssToolDescOpt":"工具描述優化",
+  "ssTaskEvalOpt":"任務評價優化",
+  "ssCopyLinkInvite":"請複製該鏈接邀請協同編輯",
+  "ssCopyLinkShare":"複製鏈接分享",
+  "ssEnterDocTitle":"請輸入文檔標題名...",
+  "ssAddRichText":"添加富文本",
+  "ssModifyResource":"修改資源",
+  "ssAddResource":"添加資源",
+  "ssAddCourseMember":"添加課程成員",
+  "ssNoStudent":"暫無學生可選",
+  "ssEnterLinkTitle":"請輸入鏈接標題",
+  "ssAddCollaborative":"添加協同成員",
+  "ssCreateQuestionnaire":"創建問卷",
+  "ssSingleChoice":"單選題",
+  "ssEnterQuestion":"請輸入題目",
+  "ssSmartGenerate":"智能生成",
+  "ssMaterialLib":"素材庫",
+  "ssCollaborativeDoc":"協同文檔",
+  "ssRubricScore":"量規評分",
+  "ssEnterQuestionAsk":"請輸入您要問的問題",
+  "ssEnterAnswerQ":"請輸入您想要回答的問題",
+  "ssUploadImage":"上傳圖片",
+  "ssSelectLocalFile":"選擇本地文件",
+  "ssSelectNetworkFile":"選擇網絡文件",
+  "ssSelectSystemFile":"選擇系統文件",
+  "ssDrawing":"繪畫",
+  "ssTechnology":"科技",
+  "ssHumanities":"人文",
+  "ssSearchImageKey":"搜索圖片關鍵字",
+  "ssEnterKeywordSearch":"請輸入關鍵詞搜索圖片",
+  "ssEnterModifyName":"請輸入要修改的名稱",
+  "ssSelectSecCategory":"選擇二級分類",
+  "ssSelectAnsByQues":"根據題目選擇對應答案",
+  "ssConfirmBtn":"確 定",
+  "ssGenLearnTaskFirst":"請生成學習任務後再生成任務",
+  "ssUnsavedChanges":"你有未保存的更改,確定要離開嗎?",
+  "ssAICreation":"AI共創",
+  "ssUploadCover":"上傳封面",
+  "ssModifyCover":"修改封面",
+  "ssTeachingClass":"授課班級",
+  "ssSelectTeachingClass":"請選擇授課班級",
+  "ssCollaborators":"協同人員",
+  "ssSelectCollaborators":"請選擇協同人員",
+  "ssSmartPasteMode":"智能粘貼模式",
+  "ssCourseDescription":"課程簡要描述",
+  "ssLearningContent":"學習內容",
+  "ssPleaseAddLearningContent":"請添加學習內容",
+  "ssEnterLinkUrl":"請輸入鏈接",
+  "ssSelectClassDialog":"選擇授課班級",
+  "ssFillEvaName":"填寫評價名稱",
+  "ssEvaluationContent":"評價內容",
+  "ssAiotBlockly":"AIoT Blockly",
+  "ssAiPython":"AI Python",
+  "ssAiBlockly":"AI Blockly",
+  "ssCocoPi":"CocoPi",
+  "ssSimulatedDriving":"模擬駕駛",
+  "ssRouteSearch":"路徑搜索",
+  "ssDeepLearning":"深度學習",
+  "ssMoleculeStruct":"分子結構",
+  "ssTimeline":"時間軸",
+  "ssObjMgmt":"目標管理",
+  "ssCourseDesign":"課程設計",
+  "ssInterVideo":"交互視頻",
+  "ssPhoto":"拍照",
+  "ssAIAgent":"AI智能體",
+  "ssPPT":"PPT",
+  "ssModify":"修 改",
+  "ssGradeType": "年級",
+  "ssSubjectCategory": "學科",
+  "ssThemeType": "主題",
+  "ssSaveSuccess":"保存成功"
+
 
 
 

Some files were not shown because too many files changed in this diff