/* * Modle Init. * public * @param param1 (type) * * Example usage: * @code * @endcode */ function editor_layout_init() {} function layoutWordHeadCode(showTo, obj) { menu_view_script(showTo, obj.value); } function menu_view_script(showto, code) { var xAllWord = gXmlBookDataBody.getElementsByTagName("word"); if (showto == 0 && code == "org") { for (iWord = 0; iWord < xAllWord.length; iWord++) { wordId = getNodeText(xAllWord[iWord], "id"); xDiv = document.getElementById("wb" + wordId); xPali1 = xDiv.getElementsByClassName("paliword1")[0]; xPali1.innerHTML = getNodeText(xAllWord[iWord], "pali"); } return; } if (showto == 1) { if (code == "none") { $(".paliword2").css("display", "none"); return; } else { $(".paliword2").css("display", "block"); } } var xmlHttp = null; var xmlText = ""; var xmlScript = null; if (window.XMLHttpRequest) { // code for IE7, Firefox, Opera, etc. xmlHttp = new XMLHttpRequest(); } else if (window.ActiveXObject) { // code for IE6, IE5 xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } if (xmlHttp != null) { var d = new Date(); var strLink = "./spt_get.php?code=" + code; xmlHttp.open("GET", strLink, false); xmlHttp.send(null); xmlText = xmlHttp.responseText; //xmlDict=xmlHttp.responseXML; } else { alert("Your browser does not support XMLHTTP."); } if (window.DOMParser) { parser = new DOMParser(); xmlScript = parser.parseFromString(xmlText, "text/xml"); } // Internet Explorer else { xmlScript = new ActiveXObject("Microsoft.XMLDOM"); xmlScript.async = "false"; xmlScript.loadXML(xmlText); } var arrPaliWords = ""; var xScriptWord = xmlScript.getElementsByTagName("word"); var xPaliWords = document.getElementsByClassName("paliword"); for (iWord = 0; iWord < xAllWord.length; iWord++) { arrPaliWords = arrPaliWords + "$" + getNodeText(xAllWord[iWord], "real"); } for (i = 0; i < xScriptWord.length; i++) { var src = getNodeText(xScriptWord[i], "src"); var dest = getNodeText(xScriptWord[i], "dest"); eval("arrPaliWords = arrPaliWords.replace(/" + src + "/g, dest);"); } // document.getElementById("scriptinner").innerHTML=arrPaliWords; var arrDestWords = arrPaliWords.split("$"); for (iWord = 0; iWord < xAllWord.length; iWord++) { wordId = getNodeText(xAllWord[iWord], "id"); xDiv = document.getElementById("wb" + wordId); if (xDiv) { if (showto == 0) { xPali = xDiv.getElementsByClassName("paliword1")[0]; } else { xPali = xDiv.getElementsByClassName("paliword2")[0]; } if (arrDestWords[iWord + 1].length > 0) { xPali.innerHTML = arrDestWords[iWord + 1]; } else { xPali.innerHTML = getNodeText(xAllWord[iWord], "pali"); } } } if (xmlScript == null) { alert("error:can not load dict."); return; } } function editro_layout_loadStyle() { var strStyle = getNodeText(gXmlBookDataHead, "style"); document.getElementById("id_layout_style").value = strStyle; document.getElementById("mycss").innerHTML = strStyle; } function editor_layout_applyNewStyle() { var strStyle = document.getElementById("id_layout_style").value; document.getElementById("mycss").innerHTML = strStyle; setNodeText(gXmlBookDataHead, "style", strStyle); } //自动将逐词译段落切分为句子 function layout_wbw_auto_cut() { var xBlock = gXmlBookDataBody.getElementsByTagName("block"); for (var iBlock = 0; iBlock < xBlock.length; iBlock++) { xmlParInfo = xBlock[iBlock].getElementsByTagName("info")[0]; xmlParData = xBlock[iBlock].getElementsByTagName("data")[0]; var mId = getNodeText(xmlParInfo, "id"); var par_num = getNodeText(xmlParInfo, "paragraph"); var type = getNodeText(xmlParInfo, "type"); if (type == "wbw") { var splited = getNodeText(xmlParInfo, "splited"); if (splited != 1) { var Note_Mark = 0; var Note_Mark1 = 0; var Note_Mark2 = 0; var sent_gramma_i = 0; var word_length_count = 0; var sent_num = 0; var arr_Para_ID = new Array(); var allWord = xmlParData.getElementsByTagName("word"); for (var iWord = 0; iWord < allWord.length; iWord++) { var wID = getNodeText(allWord[iWord], "id"); var wPali = getNodeText(allWord[iWord], "pali"); var wReal = getNodeText(allWord[iWord], "real"); var wType = getNodeText(allWord[iWord], "type"); var wGramma = getNodeText(allWord[iWord], "gramma"); var wCase = getNodeText(allWord[iWord], "case"); var wUn = getNodeText(allWord[iWord], "un"); var wStyle = getNodeText(allWord[iWord], "style"); if ((wType == "" || wType == "?") && wCase != "") { wType = wCase.split("#")[0]; } word_length_count += wPali.length; if (iWord >= 1) { var pre_pali_spell = getNodeText(allWord[iWord - 1], "pali"); var pre_pali_type = getNodeText(allWord[iWord - 1], "type"); var pre_pali_Gramma = getNodeText(allWord[iWord - 1], "gramma"); var pre_pali_Case = getNodeText(allWord[iWord - 1], "case"); if (pre_pali_type == "" && pre_pali_Case != "") { pre_pali_type = pre_pali_Case.split("#")[0]; } if (pre_pali_Case != "" && pre_pali_Case.lastIndexOf("$") != -1) { var pre_case_array = pre_pali_Case.split("$"); pre_pali_Case = pre_case_array[pre_case_array.length - 1]; } } if (iWord + 2 <= allWord.length) { var next_pali_spell = getNodeText(allWord[iWord + 1], "pali"); var next_pali_type = getNodeText(allWord[iWord + 1], "type"); var next_pali_Gramma = getNodeText(allWord[iWord + 1], "gramma"); var next_pali_Case = getNodeText(allWord[iWord + 1], "case"); if (next_pali_type == "" && next_pali_Case != "") { next_pali_type = next_pali_Case.split("#")[0]; } if (next_pali_Case != "" && next_pali_Case.lastIndexOf("$") != -1) { var next_case_array = next_pali_Case.split("$"); next_pali_Case = next_case_array[next_case_array.length - 1]; } } if (next_pali_spell == "(" || wPali == "(") { Note_Mark1 = 1; } else if ((pre_pali_spell == ")" || wPali == ")") && Note_Mark1 == 1) { Note_Mark1 = 0; } else { } if (next_pali_spell == "[" || wPali == "[") { Note_Mark2 = 1; } else if ((pre_pali_spell == "]" || wPali == "]") && Note_Mark2 == 1) { Note_Mark2 = 0; } else { } Note_Mark = Note_Mark1 + Note_Mark2 var isEndOfSen = false; if ( wPali == "." && iWord >= 1 && isNaN(pre_pali_spell) && iWord != allWord.length - 1 && Note_Mark == 0 ) { //以.結尾且非註釋 if (next_pali_spell != "(" && next_pali_spell != "[") { isEndOfSen = true; } } else if ( /*else if(wPali=="," && iWord>=1 && isNaN(pre_pali_spell) && iWord!=allWord.length-1 && pre_pali_type==".v." && Note_Mark==0){ isEndOfSen=true; }导致自动匹配前后,句子切分不一致,注释*/ wPali == "–" && allWord.length >= iWord + 2 && next_pali_spell == "‘" && iWord != allWord.length - 1 && Note_Mark == 0 ) { isEndOfSen = true; } else if (allWord.length >= iWord + 2 && iWord != allWord.length - 1 && Note_Mark == 0) { //以!或?或;結尾 if (/*wPali=="!" || */ wPali == ";" || wPali == "?") { if (next_pali_spell != "(" && next_pali_spell != "[") { isEndOfSen = true; } } } if (isEndOfSen == true) { var wEnter = getNodeText(allWord[iWord], "enter"); if (wEnter == "" || wEnter == 0) { setNodeText(allWord[iWord], "enter", "1"); } var sent_ID = "sent_" + par_num + "_" + sent_num; sent_num += 1; word_length_count = 0; sent_gramma_i = 0; arr_Para_ID.push(wID); } if (wPali == ",") { if (next_pali_Case.lastIndexOf(".voc.") != -1 || pre_pali_Case.lastIndexOf(".voc.") != -1) { sent_gramma_i += 0; } else { sent_gramma_i += 1; } } if (wType == ".v:ind." && allWord.length >= iWord + 2 && next_pali_spell != ",") { sent_gramma_i += 1; } else if ( wType == ".v." && allWord.length >= iWord + 2 && next_pali_spell != "." && next_pali_spell != "," ) { sent_gramma_i += 1; } } //段落结束 //重绘 //_display_sbs=1; //updateWordParBlockInner(xBlock[iBlock]); var sent_ID = "sent_" + par_num + "_" + sent_num; arr_Para_ID.push(wID); arr_par_sent_num.push(sent_ID); g_arr_Para_ID[par_num] = arr_Para_ID; //设置已经切分标志 setNodeText(xmlParInfo, "splited", "1"); } } } } //channel显示隐藏 function channelDisplay(obj) { let id = $(obj).attr("channel_id"); $(".trans_text_block[channel_id='" + id + "']").toggle(); let allLen = $(obj).parent().parent().children("li").length; let checkLen = $(obj).parent().parent().children("li").children("input:checked").length; if(checkLen==0){ $("#layout_channel_display_all").prop("checked",false); }else if(allLen===checkLen){ $("#layout_channel_display_all").prop("checked",true); }else{ $("#layout_channel_display_all").prop({checked:false,indeterminate:true}); } } //全选或全不选 function channelDisplayAll(obj) { let all = $(obj).prop("checked"); if(all){ $("#layout_channel_display").children("li").children("input").prop("checked",true); $(".trans_text_block").show(); }else{ $("#layout_channel_display").children("li").children("input").prop("checked",false); $(".trans_text_block").hide(); } } function renderChannelList(){ let html =""; html += "全选" html +=""; $("#layout_channel_innter").html(html); } }