@@ -18,6 +18,7 @@ const State = {
1818 detail : '7' ,
1919 courseName : '' ,
2020 lecFilter : '' ,
21+ language : 'en' ,
2122 stealth : false ,
2223 force : false ,
2324 steps : { mat : true , vid : true , trans : true , align : true , gen : true } ,
@@ -602,9 +603,18 @@ function buildPipeline() {
602603 ${ mkSwitch ( 'pp-stealth' , 'Slack mode for downloads' , ps . stealth ) }
603604 <hr class="divider">
604605 <span class="label">Note generation</span>
605- <div class="field">
606- <label class="label">Course name for notes</label>
607- <input id="pp-course-name" class="input-text" type="text" value="${ esc ( ps . courseName ) } ">
606+ <div class="row" style="gap:8px">
607+ <div class="field" style="flex:1">
608+ <label class="label">Course name for notes</label>
609+ <input id="pp-course-name" class="input-text" type="text" value="${ esc ( ps . courseName ) } ">
610+ </div>
611+ <div class="field" style="min-width:110px">
612+ <label class="label">Language</label>
613+ <select id="pp-language" class="select-ctrl">
614+ <option value="en"${ ps . language === 'en' ? ' selected' : '' } >English</option>
615+ <option value="zh"${ ps . language === 'zh' ? ' selected' : '' } >中文</option>
616+ </select>
617+ </div>
608618 </div>
609619 <div class="row center" style="gap:8px;margin-top:8px">
610620 <span class="slider-value" id="pp-detail-val">${ esc ( ps . detail ) } </span>
@@ -858,9 +868,18 @@ function buildGenerate() {
858868 ${ mkCard ( `
859869 <span class="label">Course</span>
860870 <select id="gen-course" class="select-ctrl">${ courseOptions ( ) } </select>
861- <div class="field" style="margin-top:8px">
862- <label class="label">Course name</label>
863- <input id="gen-course-name" class="input-text" type="text">
871+ <div class="row" style="gap:8px;margin-top:8px">
872+ <div class="field" style="flex:1">
873+ <label class="label">Course name</label>
874+ <input id="gen-course-name" class="input-text" type="text">
875+ </div>
876+ <div class="field" style="min-width:110px">
877+ <label class="label">Language</label>
878+ <select id="gen-language" class="select-ctrl">
879+ <option value="en" selected>English</option>
880+ <option value="zh">中文</option>
881+ </select>
882+ </div>
864883 </div>
865884 <div class="field" style="margin-top:8px">
866885 <label class="label">Lecture</label>
@@ -1413,6 +1432,9 @@ async function attachPageHandlers() {
14131432 document . getElementById ( 'pp-lec-filter' ) ?. addEventListener ( 'input' , e => {
14141433 State . pipeline . lecFilter = e . target . value ;
14151434 } ) ;
1435+ document . getElementById ( 'pp-language' ) ?. addEventListener ( 'change' , e => {
1436+ State . pipeline . language = e . target . value ;
1437+ } ) ;
14161438 document . getElementById ( 'pp-stealth' ) ?. addEventListener ( 'change' , e => {
14171439 State . pipeline . stealth = e . target . checked ;
14181440 } ) ;
@@ -1445,6 +1467,7 @@ async function attachPageHandlers() {
14451467 const force = document . getElementById ( 'pp-force' ) ?. checked ;
14461468 const name = document . getElementById ( 'pp-course-name' ) ?. value . trim ( ) || '' ;
14471469 const detail = document . getElementById ( 'pp-detail' ) ?. value || '7' ;
1470+ const lang = document . getElementById ( 'pp-language' ) ?. value || 'en' ;
14481471 const lf = document . getElementById ( 'pp-lec-filter' ) ?. value . trim ( ) || '' ;
14491472 const steps = [
14501473 [ 'dl_mat' , document . getElementById ( 'pp-step-mat' ) ?. checked ] ,
@@ -1480,7 +1503,7 @@ async function attachPageHandlers() {
14801503 chain . push ( [ 'Align' , c ] ) ;
14811504 }
14821505 if ( steps . includes ( 'generate' ) ) {
1483- const c = [ python , paths . generate , '--course' , cid , '--course-name' , name || courseNameFromId ( cid ) , '--detail' , detail , '--per-video' ] ;
1506+ const c = [ python , paths . generate , '--course' , cid , '--course-name' , name || courseNameFromId ( cid ) , '--detail' , detail , '--language' , lang , '-- per-video'] ;
14841507 if ( lf ) c . push ( '--lectures' , lf ) ;
14851508 if ( force ) c . push ( '--force' ) ;
14861509 chain . push ( [ 'Generate notes' , c ] ) ;
@@ -1703,12 +1726,13 @@ async function attachPageHandlers() {
17031726 const paths = await window . api . getScriptsPaths ( ) ;
17041727 const name = document . getElementById ( 'gen-course-name' ) ?. value . trim ( ) || courseNameFromId ( cid ) ;
17051728 const detail = document . getElementById ( 'gen-detail' ) ?. value || '7' ;
1729+ const lang = document . getElementById ( 'gen-language' ) ?. value || 'en' ;
17061730 const force = document . getElementById ( 'gen-force' ) ?. checked ;
17071731 const merge = document . getElementById ( 'gen-merge' ) ?. checked ;
17081732 const iter = document . getElementById ( 'gen-iterate' ) ?. checked ;
17091733 const lecNum = document . getElementById ( 'gen-lec-select' ) ?. value ; // '' = all
17101734
1711- const cmd = [ python , paths . generate , '--course' , cid , '--course-name' , name , '--detail' , detail ] ;
1735+ const cmd = [ python , paths . generate , '--course' , cid , '--course-name' , name , '--detail' , detail , '--language' , lang ] ;
17121736 if ( lecNum ) cmd . push ( '--lectures' , lecNum ) ;
17131737 if ( force ) cmd . push ( '--force' ) ;
17141738 if ( merge ) cmd . push ( '--merge-only' ) ;
0 commit comments