홈
발표
연사
로그인
JMP.com
User Community
온라인 설명서
My JMP
JMP Store
JMP Public
JMP Marketplace
Discovery Summits
로그인
홈
발표
연사
JMP.com
User Community
온라인 설명서
My JMP
JMP Store
JMP Public
JMP Marketplace
Discovery Summits
옵션
RSS 피드 구독
신규로 표시
읽음으로 표시
북마크
구독
인쇄용 페이지
부적절한 컨텐트 신고
Fees
JMP User Community
:
JMP Discovery Summit Series
:
Fees
:
一般:16,500円(税込)
언어 선택
변환 막대 숨기기
一般:16,500円(税込)
생성일:
Sep 1, 2025 12:59 AM
| 최종 수정일:
Aug 31, 2025 10:02 PM
' var data = div.getElementsByClassName("video-js"); var script = document.createElement('script'); script.src = "https://players.brightcove.net/" + data_account + "/" + data_palyer + "_default/index.min.js"; for(var i=0;i< data.length;i++){ videodata.push(data[i]); } } } for(var i=0;i< videodata.length;i++){ document.getElementsByClassName('lia-vid-container')[i].innerHTML = videodata[i].outerHTML; document.body.appendChild(script); } } catch(e){ } /* Re compile html */ $compile(rootElement.querySelectorAll('div.lia-message-body-content')[0])($scope); } if (code_l.toLowerCase() != newBody.getAttribute("slang").toLowerCase()) { /* Adding Translation flag */ var tr_obj = $filter('filter')($scope.sourceLangList, function (obj_l) { return obj_l.code.toLowerCase() === newBody.getAttribute("slang").toLowerCase() }); if (tr_obj.length > 0) { tr_text = "이 게시글은 lilicon-trans-text로 작성되었으며 편의를 위해 자동 변역되었습니다. 회신하면 lilicon-trans-text로 다시 번역됩니다.".replace(/lilicon-trans-text/g, tr_obj[0].title); try { if ($scope.wootMessages[$rootScope.profLang] != undefined) { tr_text = $scope.wootMessages[$rootScope.profLang].replace(/lilicon-trans-text/g, tr_obj[0].title); } } catch (e) { } } else { //tr_text = "This message was translated for your convenience!"; tr_text = "이 메시지는 사용자의 편의를 위해 번역되었습니다!"; } try { if (!document.getElementById("tr-msz-" + value)) { var tr_para = document.createElement("P"); tr_para.setAttribute("id", "tr-msz-" + value); tr_para.setAttribute("class", "tr-msz"); tr_para.style.textAlign = 'justify'; var tr_fTag = document.createElement("IMG"); tr_fTag.setAttribute("class", "tFlag"); tr_fTag.setAttribute("src", "/html/assets/lingoTrFlag.PNG"); tr_fTag.style.marginRight = "5px"; tr_fTag.style.height = "14px"; tr_para.appendChild(tr_fTag); var tr_textNode = document.createTextNode(tr_text); tr_para.appendChild(tr_textNode); /* Woot message only for multi source */ if(rootElement.querySelector(".lia-quilt-forum-message")){ rootElement.querySelector(".lia-quilt-forum-message").appendChild(tr_para); } else if(rootElement.querySelector(".lia-message-view-blog-topic-message")) { rootElement.querySelector(".lia-message-view-blog-topic-message").appendChild(tr_para); } else if(rootElement.querySelector(".lia-quilt-blog-reply-message")){ rootElement.querySelector(".lia-quilt-blog-reply-message").appendChild(tr_para); } else if(rootElement.querySelector(".lia-quilt-tkb-message")){ rootElement.querySelector(".lia-quilt-tkb-message").appendChild(tr_para); } else if(rootElement.querySelector(".lia-quilt-tkb-reply-message")){ rootElement.querySelector(".lia-quilt-tkb-reply-message").insertBefore(tr_para,rootElement.querySelector(".lia-quilt-row.lia-quilt-row-footer")); } else if(rootElement.querySelector(".lia-quilt-idea-message")){ rootElement.querySelector(".lia-quilt-idea-message").appendChild(tr_para); } else if(rootElement.querySelector(".lia-quilt-idea-reply-message")){ rootElement.querySelector(".lia-quilt-idea-reply-message").insertBefore(tr_para,rootElement.querySelector(".lia-quilt-row.lia-quilt-row-footer")); }else if(rootElement.querySelector(".lia-quilt-column-alley-left")){ rootElement.querySelector(".lia-quilt-column-alley-left").appendChild(tr_para); } else { if (rootElement.querySelectorAll('div.lia-quilt-row-footer').length > 0) { rootElement.querySelectorAll('div.lia-quilt-row-footer')[0].appendChild(tr_para); } else { rootElement.querySelectorAll('div.lia-quilt-column-message-footer')[0].appendChild(tr_para); } } } } catch (e) { } } } else { /* Do not display button for same language */ // syncList.remove(value); var index = $scope.syncList.indexOf(value); if (index > -1) { $scope.syncList.splice(index, 1); } } } } } } angular.forEach(mszList_l, function (value) { if (document.querySelectorAll('div.lia-js-data-messageUid-' + value).length > 0) { var rootElements = document.querySelectorAll('div.lia-js-data-messageUid-' + value); }else if(document.querySelectorAll('.lia-occasion-message-view .lia-component-occasion-message-view').length >0){ var rootElements = document.querySelectorAll('.lia-occasion-message-view .lia-component-occasion-message-view')[0].querySelectorAll('.lia-occasion-description')[0]; }else { var rootElements = document.querySelectorAll('div.message-uid-' + value); } angular.forEach(rootElements, function (rootElement) { if (value == '898110' && "TkbArticlePage" == "TkbArticlePage") { rootElement = document.querySelector('.lia-thread-topic'); } /* V1.1 Remove from UI */ if (document.getElementById("tr-msz-" + value)) { document.getElementById("tr-msz-" + value).remove(); } if (document.getElementById("tr-sync-" + value)) { document.getElementById("tr-sync-" + value).remove(); } /* XPath expression for subject and Body */ var lingoRBExp = "//lingo-body[@id = " + "'lingo-body-" + value + "'" + "]"; lingoRSExp = "//lingo-sub[@id = " + "'lingo-sub-" + value + "'" + "]"; /* Get translated subject of the message */ lingoRSXML = doc.evaluate(lingoRSExp, doc, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null); for (var i = 0; i < lingoRSXML.snapshotLength; i++) { /* Replace Reply/Comment subject with transalted subject */ var newSub = lingoRSXML.snapshotItem(i); /*** START : extracting subject from source if selected language and source language is same **/ var sub_L = ""; if(newSub.getAttribute("slang").toLowerCase() == code_l.toLowerCase()) { if(value == '898110') { if($scope.sourceContent[value]){ if($scope.sourceContent[value].subject != ''){ sub_L = decodeURIComponent($scope.sourceContent[value].subject); } }else{ sub_L = newSub.innerHTML; } } else{ sub_L = decodeURIComponent($scope.sourceContent[value].subject); } } else { sub_L = newSub.innerHTML; } /*** End : extracting subject from source if selected language and source language is same **/ /* This code is placed to remove the extra meta tag adding in the UI*/ try{ sub_L = sub_L.replace('<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />',''); } catch(e){ } // if($scope.viewTrContentOnly || (newSub.getAttribute("slang").toLowerCase() != code_l.toLowerCase())) { if ($scope.viewTrContentOnly) { if ("TkbArticlePage" == "IdeaPage") { if (value == '898110') { if( (sub_L != "") && (sub_L != undefined) && (sub_L != "undefined") ){ document.querySelector('.MessageSubject .lia-message-subject').innerHTML = sub_L; } } } if ("TkbArticlePage" == "TkbArticlePage") { if (value == '898110') { if( (sub_L != "") && (sub_L != undefined) && (sub_L != "undefined") ){ var subTkbElement = document.querySelector('.lia-thread-subject'); if(subTkbElement){ document.querySelector('.lia-thread-subject').innerHTML = sub_L; } } } } else if ("TkbArticlePage" == "BlogArticlePage") { if (value == '898110') { try { if((sub_L != "") && (sub_L!= undefined) && (sub_L != "undefined")){ var subElement = rootElement.querySelector('.lia-blog-article-page-article-subject'); if(subElement) { subElement.innerText = sub_L; } } } catch (e) { } /* var subElement = rootElement.querySelectorAll('.lia-blog-article-page-article-subject'); for (var subI = 0; subI < subElement.length; subI++) { if((sub_L != "") && (sub_L!= undefined) && (sub_L != "undefined")){ subElement[subI].innerHTML = sub_L; } } */ } else { try { // rootElement.querySelectorAll('.lia-blog-article-page-article-subject').innerHTML= sub_L; /** var subElement = rootElement.querySelectorAll('.lia-blog-article-page-article-subject'); for (var j = 0; j < subElement.length; j++) { if( (sub_L != "") && (sub_L != undefined) && (sub_L != "undefined") ){ subElement[j].innerHTML = sub_L; } } **/ } catch (e) { } } } else { if (value == '898110') { try{ /* Start: This code is written by iTalent as part of iTrack LILICON - 98 */ if( (sub_L != "") && (sub_L != undefined) && (sub_L != "undefined") ){ if(document.querySelectorAll('.lia-quilt-forum-topic-page').length > 0){ if(rootElement.querySelector('div.lia-message-subject').querySelector('h5')){ rootElement.querySelector('div.lia-message-subject').querySelector('h5').innerText = decodeURIComponent(sub_L); } else { rootElement.querySelector('.MessageSubject .lia-message-subject').innerText = sub_L; } } else { rootElement.querySelector('.MessageSubject .lia-message-subject').innerText = sub_L; } } /* End: This code is written by iTalent as part of iTrack LILICON - 98 */ } catch(e){ console.log("subject not available for second time. error details: " + e); } } else { try { /* Start: This code is written by iTalent as part of LILICON - 98 reported by Ian */ if ("TkbArticlePage" == "IdeaPage") { if( (sub_L != "") && (sub_L != undefined) && (sub_L != "undefined") ){ document.querySelector('.lia-js-data-messageUid-'+ value).querySelector('.MessageSubject .lia-message-subject').innerText = sub_L; } } else{ if( (sub_L != "") && (sub_L != undefined) && (sub_L != "undefined") ){ rootElement.querySelector('.MessageSubject .lia-message-subject').innerText = sub_L; /* End: This code is written as part of LILICON - 98 reported by Ian */ } } } catch (e) { console.log("Reply subject not available. error details: " + e); } } } // Label translation var labelEle = document.querySelector("#labelsForMessage"); if (!labelEle) { labelEle = document.querySelector(".LabelsList"); } if (labelEle) { var listContains = labelEle.querySelector('.label'); if (listContains) { /* Commenting this code as bussiness want to point search with source language label */ // var tagHLink = labelEle.querySelectorAll(".label")[0].querySelector(".label-link").href.split("label-name")[0]; var lingoLabelExp = "//lingo-label/text()"; trLabels = []; trLabelsHtml = ""; /* Get translated labels of the message */ lingoLXML = doc.evaluate(lingoLabelExp, doc, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null); /* try{ for(var j=0;j
,'; } trLabelsHtml = trLabelsHtml+'
'+lTex+'
'; var tagHLink = labelEle.querySelectorAll(".label")[j].querySelector(".label-link").href; trLabelsHtml = trLabelsHtml+'
'+lTex+'
'; } } catch(e){} */ try{ var labelsLength = document.querySelector(".LabelsList").querySelectorAll(".label").length; var labelSnapshotLength = lingoLXML.snapshotLength; if (labelsLength == labelSnapshotLength){ for (var k = 0; k < lingoLXML.snapshotLength; k++) { //trLabels.push(lingoLXML.snapshotItem(i).textContent); if (k != 0) { //trLabelsHtml = trLabelsHtml + '
,
'; //diffVariable = kValue } try{ if(labelEle.querySelectorAll(".label")[k]){ tagHLink = labelEle.querySelectorAll(".label")[k].querySelector(".label-link").href; if ("TkbArticlePage" == "BlogArticlePage") { trLabelsHtml = trLabelsHtml + '
' + lingoLXML.snapshotItem(k).textContent + '
'; } else { trLabelsHtml = trLabelsHtml + '
' + lingoLXML.snapshotItem(k).textContent + '
'; } } } catch(e){ } } } } catch(e){ } if (newSub.getAttribute("slang").toLowerCase() != code_l.toLowerCase()) { if (trLabelsHtml != "") { labelEle.querySelector("ul").innerHTML = ""; labelEle.querySelector("ul").innerHTML = trLabelsHtml; // trLabels = trLabels.split(","); // trLabels = reverseArr(trLabels); // var tagHLink = labelEle.querySelectorAll(".label")[0].querySelector(".label-link").href.split("label-name")[0]; // cELabels = labelEle.querySelectorAll(".label"); // //cELabels = reverseArr(cELabels); // for(var cE=0; cE < trLabels.length; cE++) { // if(trLabels[cE]){ // cELabels[cE].querySelector(".label-link").text = trLabels[cE]; // } // } } } } } } } /* V 2.0:3 = Store not translated reply id */ if (lingoRSXML.snapshotLength == 0) { if ($scope.falseReplyID == "") { $scope.falseReplyID = value; } } /* Get translated Body of Replies/Comments */ lingoRBXML = doc.evaluate(lingoRBExp, doc, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null); /* Replace Reply/Comment Body with translated Body */ for (var i = 0; i < lingoRBXML.snapshotLength; i++) { var newBody = lingoRBXML.snapshotItem(i); /* try { var cPTags = newBody.getElementsByTagName("p"); var searchText = "
-1) { foundCorrTag = cPTags[i]; if (foundCorrTag.innerHTML.split('src="
')[1]); } } } } catch (e) { } */ /* This code is written as part of video fix by iTalent */ /* try{ var iframeText = newBody.textContent; var searchText = "
-1) { foundiFrame = iframeText; foundiFrame = decodeHTMLEntities(foundiFrame.split('src="')[0] + 'src="' + foundiFrame.split('src="
')[1]); } } catch(e){ } */ /*** START : extracting body from source if selected language and source language is same **/ var body_L = ""; /** Following variable will be used to decide whether we have to show translated content or not **/ showTrContent = true; if (newBody.getAttribute("slang").toLowerCase() == code_l.toLowerCase()) { body_L = decodeURIComponent($scope.sourceContent[value].body); /** We should not replace the source content if user profile language and selected target language matches with source language **/ if(($scope.previousSelCode == "") || ($scope.previousSelCode.toLowerCase() == code_l.toLowerCase())) { showTrContent = false; } } else { // body_L = newBody.innerHTML; } /*** End : extracting body from source if selected language and source language is same **/ // if($scope.viewTrContentOnly || (newBody.getAttribute("slang").toLowerCase() != code_l.toLowerCase())) { if ($scope.viewTrContentOnly) { try { var attachDiv = ""; feedbackDiv = ""; everyoneTagslink = "" if (body_L == "") { /* Attachment Div */ if (rootElement.querySelectorAll('div.lia-quilt-row-main-blog-body').length > 0) { var attachDiv = rootElement.querySelector('div.lia-quilt-row-main-blog-body').querySelector('div.custom-attachments'); if (attachDiv) { attachDiv = attachDiv.outerHTML; } else if(rootElement.querySelector('div.lia-quilt-row-main-blog-body').querySelectorAll('#attachments').length > 0){ if ("TkbArticlePage" == "BlogArticlePage") { attachDiv = rootElement.querySelector('div.lia-quilt-row-main-blog-body .lia-message-body-content').querySelector('#attachments'); if (attachDiv) { attachDiv = attachDiv.outerHTML; } else{ attachDiv = ""; } }else{ attachDiv = rootElement.querySelector('div.lia-quilt-row-main-blog-body').querySelector('#attachments').outerHTML; } } else { attachDiv = ""; } /* Feedback Div */ var feedbackDiv = ""; var feedbackDivs = rootElement.querySelector('div.lia-quilt-row-main-blog-body').querySelectorAll('div.lia-panel-feedback-banner-safe'); if (feedbackDivs.length > 0) { for (var k = 0; k < feedbackDivs.length; k++) { feedbackDiv = feedbackDiv + feedbackDivs[k].outerHTML; } } } else { var attachDiv = rootElement.querySelector('div.lia-message-body-content').querySelector('div.Attachments.preview-attachments'); if (attachDiv) { attachDiv = attachDiv.outerHTML; } else { attachDiv = ""; } /* Everyone tags links */ if (document.querySelectorAll("div.lia-component-tags-with-title-link").length > 0){ var everyoneTagslink = document.querySelector('div.lia-quilt-row-main-blog-body').querySelector(".MessageTags.lia-component-tags-with-title-link"); if ((everyoneTagslink != null)||(everyoneTagslink != undefined)){ everyoneTagslink = everyoneTagslink.outerHTML; } else{ everyoneTagslink = ""; } } /* Feedback Div */ var feedbackDiv = ""; var feedbackDivs = rootElement.querySelector('div.lia-message-body-content').querySelectorAll('div.lia-panel-feedback-banner-safe'); if (feedbackDivs.length > 0) { for (var m = 0; m < feedbackDivs.length; m++) { feedbackDiv = feedbackDiv + feedbackDivs[m].outerHTML; } } } } } catch (e) { } if (body_L == "") { /* V 2.0:7 Replacing translated video data with source video data */ var newBodyVideoData = newBody.querySelectorAll('div[class*="video-embed"]'); angular.forEach($scope.videoData[value], function (sourceVideoElement, index) { if (index <= (newBodyVideoData.length - 1)) { newBodyVideoData[index].outerHTML = sourceVideoElement.outerHTML } }); /* V 2.0:7 = Replacing translated image data with source data */ var newBodyImageData = newBody.querySelectorAll('[class*="lia-image"]'); angular.forEach($scope.imageData[value], function (sourceImgElement, index) { if($scope.imageData[value].length == newBodyImageData.length){ if (index <= (newBodyImageData.length - 1)) { if(newBodyImageData[index].querySelectorAll('img').length > 0){ newBodyImageData[index].outerHTML = sourceImgElement.outerHTML; } } }else{ if (index <= (newBodyImageData.length - 1)) { try{ if(newBodyImageData[index].querySelectorAll('img').length > 0){ if(newBodyImageData[index].querySelector('img').getAttribute('title') == $scope.imageData[value][index].querySelector('img').getAttribute('title')){ newBodyImageData[index].outerHTML = sourceImgElement.outerHTML; } } }catch(e){ console.log(e); } } } }); /* V 2.0:7 = Replacing translated pre tag data with source data */ var newBodyPreTagData = newBody.querySelectorAll('pre'); angular.forEach($scope.preTagData[value], function (sourcePreTagElement, index) { if (index <= (newBodyPreTagData.length - 1)) { newBodyPreTagData[index].outerHTML = sourcePreTagElement.outerHTML; } }); var newBodymathEquData = newBody.querySelectorAll('[class*="math-equation"]'); angular.forEach($scope.mathequ[value], function (sourceEquElement, index) { if (index <= (newBodymathEquData.length - 1)) { newBodymathEquData[index].outerHTML = sourceEquElement.outerHTML; } }); } var copyBodySubject = false; if (body_L == "") { copyBodySubject = true; body_L = newBody.innerHTML; } /* This code is written as part of video fix by iTalent */ /* try{ var iframeHTMLText = body_L; var searchIframeText = "<IFRAME"; var foundiFrameTag; if (iframeHTMLText.indexOf(searchIframeText) > -1) { foundiFrameTag = iframeHTMLText; foundiFrameTag = decodeHTMLEntities(foundiFrameTag.split('src="')[0] + 'src="' + foundiFrameTag.split('src="
')[1]); body_L = foundiFrameTag; } } catch(e){ } */ /* This code is placed to remove the extra meta tag adding in the UI*/ try{ body_L = body_L.replace('<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />',''); } catch(e){ } /** We should not replace the source content if user profile language and selected target language matches with source language **/ if(showTrContent) { var compiled = false; if ("TkbArticlePage" == "BlogArticlePage") { if (document.querySelector('div.message-uid-' + value).querySelectorAll('.lia-blog-article-page-article-subject').length > 0) { if (rootElement.querySelectorAll('div.lia-quilt-row-main-blog-body')[0] != undefined) { var subjectInBody = rootElement.querySelector('.lia-quilt-row.lia-quilt-row-main-blog-body .lia-component-article-subject').outerHTML; if (!copyBodySubject) { subjectInBody = ""; } /* rootElement.querySelectorAll('div.lia-quilt-row-main-blog-body')[0].querySelector('.lia-quilt-column-alley-right').innerHTML = subjectInBody + body_L + feedbackDiv + attachDiv + everyoneTagslink; $compile(rootElement.querySelectorAll('div.lia-quilt-row-main-blog-body')[0])($scope); */ subjectInBody = sub_L ; rootElement.querySelectorAll('div.lia-message-body-content')[0].innerHTML = null rootElement.querySelectorAll('div.lia-message-body-content')[0].innerHTML = body_L + feedbackDiv + everyoneTagslink; $compile(rootElement.querySelectorAll('div.lia-message-body-content')[0])($scope); compiled = true; rootElement.querySelectorAll('div.lia-message-body-content')[0].insertAdjacentHTML('afterend',attachDiv); if(rootElement.querySelectorAll('div.lia-quilt-row-main-blog-body .lia-message-body .lia-attachments-message').length > 1){ rootElement.querySelectorAll('div.lia-quilt-row-main-blog-body .lia-message-body .lia-attachments-message')[1].remove(); } } else { var subjectInBody = rootElement.querySelector('.lia-message-body-content .lia-blog-article-page-article-subject').outerHTML; subjectInBody = ""; rootElement.querySelectorAll('div.lia-message-body-content')[0].innerHTML = subjectInBody + body_L + feedbackDiv + everyoneTagslink; $compile(rootElement.querySelectorAll('div.lia-message-body-content')[0])($scope); compiled = true; rootElement.querySelectorAll('div.lia-message-body-content')[0].insertAdjacentHTML('afterend',attachDiv); } } else { rootElement.querySelectorAll('div.lia-message-body-content')[0].innerHTML = null rootElement.querySelectorAll('div.lia-message-body-content')[0].innerHTML = body_L + feedbackDiv + attachDiv + everyoneTagslink; } } else { rootElement.querySelectorAll('div.lia-message-body-content')[0].innerHTML = null if("TkbArticlePage"=="IdeaPage"){ // var customAttachDiv = '
'; rootElement.querySelectorAll('div.lia-message-body-content')[0].innerHTML = body_L + feedbackDiv ; $compile(rootElement.querySelectorAll('div.lia-message-body-content')[0])($scope); compiled = true; /* Attach atttach div */ // document.querySelector("div.translation-attachments-"+value).innerHTML = attachDiv; rootElement.querySelectorAll('div.lia-message-body-content')[0].insertAdjacentHTML('afterend',attachDiv); if(rootElement.querySelectorAll('div.lia-quilt-idea-message .lia-message-body .lia-attachments-message').length > 1){ rootElement.querySelectorAll('div.lia-quilt-idea-message .lia-message-body .lia-attachments-message')[1].remove(); } } else { rootElement.querySelectorAll('div.lia-message-body-content')[0].innerHTML = body_L + feedbackDiv + attachDiv; } } /* Destroy and recreate OOyala player videos to restore the videos in target languages which is written by iTalent as part of iTrack LILICON-79 */ /* Destroy and recreate OOyala player videos */ try{ // $scope.videoData[value][0].querySelector("div").getAttribute("id"); for(var vidIndex=0; vidIndex<$scope.videoData[value].length; vidIndex++){ if( $scope.videoData[value][vidIndex].querySelector("div") != null){ var containerId = LITHIUM.OOYALA.players[$scope.videoData[value][vidIndex].querySelector("div").getAttribute("id")].containerId; videoId = LITHIUM.OOYALA.players[$scope.videoData[value][vidIndex].querySelector("div").getAttribute("id")].videoId; /** Get the Video object */ vid = OO.Player.create(containerId,videoId); /** Destroy the video **/ vid.destroy(); /** recreate in the same position */ var vid = OO.Player.create(containerId,videoId); } } } catch(e){ } try{ for(var vidIndex=0; vidIndex<($scope.videoData[value].length); vidIndex++){ if($scope.videoData[value][vidIndex].querySelector('video-js') != null){ var data_id = $scope.videoData[value][vidIndex].querySelector('video-js').getAttribute('data-video-id'); var data_account = $scope.videoData[value][vidIndex].querySelector('video-js').getAttribute('data-account'); var data_palyer = $scope.videoData[value][vidIndex].querySelector('video-js').getAttribute('data-player'); var div = document.createElement('div'); div.id = "brightcove"; div.class = "brightcove-player"; div.innerHTML = '
(view in my videos)
' var data = div.getElementsByClassName("video-js"); var script = document.createElement('script'); script.src = "https://players.brightcove.net/" + data_account + "/" + data_palyer + "_default/index.min.js"; for(var i=0;i< data.length;i++){ videodata.push(data[i]); } } } for(var i=0;i< videodata.length;i++){ document.getElementsByClassName('lia-vid-container')[i].innerHTML = videodata[i].outerHTML; document.body.appendChild(script); } } catch(e){ } if(!compiled){ /* Re compile html */ $compile(rootElement.querySelectorAll('div.lia-message-body-content')[0])($scope); } } if (code_l.toLowerCase() != newBody.getAttribute("slang").toLowerCase()) { /* Adding Translation flag */ var tr_obj = $filter('filter')($scope.sourceLangList, function (obj_l) { return obj_l.code.toLowerCase() === newBody.getAttribute("slang").toLowerCase() }); if (tr_obj.length > 0) { tr_text = "이 게시글은 lilicon-trans-text로 작성되었으며 편의를 위해 자동 변역되었습니다. 회신하면 lilicon-trans-text로 다시 번역됩니다.".replace(/lilicon-trans-text/g, tr_obj[0].title); try { if ($scope.wootMessages[$rootScope.profLang] != undefined) { tr_text = $scope.wootMessages[$rootScope.profLang].replace(/lilicon-trans-text/g, tr_obj[0].title); } } catch (e) { } } else { tr_text = "이 메시지는 사용자의 편의를 위해 번역되었습니다!"; } try { if (!document.getElementById("tr-msz-" + value)) { var tr_para = document.createElement("P"); tr_para.setAttribute("id", "tr-msz-" + value); tr_para.setAttribute("class", "tr-msz"); tr_para.style.textAlign = 'justify'; var tr_fTag = document.createElement("IMG"); tr_fTag.setAttribute("class", "tFlag"); tr_fTag.setAttribute("src", "/html/assets/lingoTrFlag.PNG"); tr_fTag.style.marginRight = "5px"; tr_fTag.style.height = "14px"; tr_para.appendChild(tr_fTag); var tr_textNode = document.createTextNode(tr_text); tr_para.appendChild(tr_textNode); /* Woot message only for multi source */ if(rootElement.querySelector(".lia-quilt-forum-message")){ rootElement.querySelector(".lia-quilt-forum-message").appendChild(tr_para); } else if(rootElement.querySelector(".lia-message-view-blog-topic-message")) { rootElement.querySelector(".lia-message-view-blog-topic-message").appendChild(tr_para); } else if(rootElement.querySelector(".lia-quilt-blog-reply-message")){ rootElement.querySelector(".lia-quilt-blog-reply-message").appendChild(tr_para); } else if(rootElement.querySelector(".lia-quilt-tkb-message")){ rootElement.querySelector(".lia-quilt-tkb-message .lia-quilt-row:nth-child(3)").appendChild(tr_para); } else if(rootElement.querySelector(".lia-quilt-tkb-reply-message")){ rootElement.querySelector(".lia-quilt-tkb-reply-message").insertBefore(tr_para,rootElement.querySelector(".lia-quilt-row.lia-quilt-row-footer")); } else if(rootElement.querySelector(".lia-quilt-idea-message")){ rootElement.querySelector(".lia-quilt-idea-message").appendChild(tr_para); } else if(rootElement.querySelector(".lia-quilt-idea-reply-message")){ rootElement.querySelector(".lia-quilt-idea-reply-message").insertBefore(tr_para,rootElement.querySelector(".lia-quilt-row.lia-quilt-row-footer")); } else if(rootElement.querySelector('.lia-quilt-occasion-message')){ rootElement.querySelector('.lia-quilt-occasion-message').appendChild(tr_para); } else { if (rootElement.querySelectorAll('div.lia-quilt-row-footer').length > 0) { rootElement.querySelectorAll('div.lia-quilt-row-footer')[0].appendChild(tr_para); } else if(rootElement.querySelectorAll('div.lia-quilt-row-message-footer').length > 0){ rootElement.querySelectorAll('div.lia-quilt-row-message-footer')[0].appendChild(tr_para); }else { rootElement.querySelectorAll('div.lia-quilt-column-message-footer')[0].appendChild(tr_para); } } } } catch (e) { } } /* $( "div.message-uid-"+value ).find( "div.lia-message-body-content" ).append(body_L); */ } else { /* Do not display button for same language */ // syncList.remove(value); var index = $scope.syncList.indexOf(value); if (index > -1) { $scope.syncList.splice(index, 1); } } } }); }); /* V 2.0:2 = Reply Sync button for multi source translation */ } catch(e){console.log(e)} }; if ((rContent != undefined) && (rContent != "")) { drawCanvas(decodeURIComponent(rContent)); $window.connectorStatus.prop = "completed"; /** Update variable with selected language code **/ $scope.previousSelCode = code_l; } }; /** * @function manageTranslation * @description Managess the translation of given language for the thread * @param {string} langCode - Language Code * @param {string} tid - Thread ID */ $scope.manageTranslation = function (langCode, tid) { /* V 2.0:5 = actualStatus variable introduced to indicate detailed connector status on UI. This variable holds the actual translation percentage */ $scope.transPercent = ""; $scope.actualStatus = ""; if (tid != "") { $rootScope.dispatchRefreshTranslationEvent(langCode); var bulkTranslation = lithiumPlugin.bulkTranslation(langCode, tid); bulkTranslation.then(function (trContent) { if (trContent.body != "") { $scope.showPreview(trContent.body, $scope.mszList, langCode); } if ((trContent.status != "NA") && trContent.status != null) { // $scope.transPercent = String(trContent.status); $scope.actualStatus = String(trContent.status); } else { } $scope.workbench = trContent.wb; /* V 2.0:4 = Trigger uncalled or delayed callbacks (documnet uploaded/translation completed from lithium).*/ if (trContent.callback == 'true') { var trCompletCallback = lithiumPlugin.trCompletCallback(langCode, trContent.docID); trCompletCallback.then(function (callback) { // $rootScope.errorMsg = "Downloading Translated content in " + langCode + " now. Please check again in a few minutes." $rootScope.errorMsg = "번역된 콘텐츠를 다운로드합니다. 잠시 후 다시 시도하십시오."; }); } else if (trContent.callback == 'upload') { var trCompletUpload = lithiumPlugin.trCompletUpload(langCode, trContent.docID); trCompletUpload.then(function (callback) { $rootScope.errorMsg = "번역할 콘텐츠를 업로드합니다. 몇 분 후에 다시 확인해 주십시오." }); } else if ("many" == "one") { $scope.updateOOS(); } else if("SmartConx" == "SmartConx"){ if ("many" == "many"){ $scope.updateOOS(); } }else if ((trContent.status != null) && trContent.status.includes("100")) { /* If everything fine then only check Out of Sync status */ $scope.updateOOS(); } else { /* If translation perccent is less than 100 then show the percentage on UI */ $scope.transPercent = $scope.actualStatus; } }).catch(function (error) { console.error("Manage translation Error:"+error); }); } } /** * @function selectThisLang * @description Called on select dropdown. * @param {string} lang - Language code * */ $scope.selectThisLang = function (lang, anonymousFlag) { /* 1.4:3 Update Analytics on language selection */ try { lingoThreadLangSelected(lang, '898110'); } catch (e) { } /* var obj = $filter('filter')($scope.sourceLangList, function (obj) {return obj.code === lang}); if(obj.length > 0) { if((anonymousFlag == undefined) && ("" != obj[0].id)) { $window.location.href = "?profile.language="+obj[0].id; return ""; } } */ /** Display Translated content **/ $rootScope.dispatchRefreshTranslationEvent(lang); var getTranslation = lithiumPlugin.getTranslation(lang, "898110"); getTranslation.then(function (trContent) { if (trContent.body != "") { $scope.showPreview(trContent.body, $scope.mszList, lang); } else { $rootScope.errorMsg = "번역 중입니다. 몇 분 후에 다시 시도해 주십시오." } }); }; /** * @function openWorkbench * @description Opens the workbench link of the selected code * */ $scope.openWorkbench = function (def_Lang_Code, tid, threadhref, sourceLocale) { /* Open workbench link in new tab */ window.location.href = "/t5/custom/page/page-id/ModifyTranslation_preview?tid="+tid+"&locale="+def_Lang_Code+"&redirect_uri="+threadhref+"&sourcelocale="+sourceLocale; }; /** * @function detectBrowserLanguage * @description detects the browser language and displays the UI to request translation for browser language * */ $scope.detectBrowserLanguage = function () { /* Get cookie value of the user choice regarding browser language translation */ var brTChoice = cookieService.getBrTChoice() if (brTChoice != undefined && brTChoice == "true") { /* Do nothing if user dont want option for browser language translation */ } else { /* Get user browser language */ var brLangCode = window.navigator.userLanguage || window.navigator.language; brLang = ""; /* Get right language code of the browser language. Get the first value in the matching list */ if (brLangCode.indexOf("-") >= 0) { var obj = $filter('filter')($scope.languages, function (obj) { return obj.code === brLangCode }); if (obj.length > 0) { brLang = obj[0]; } } else { var obj = $filter('filter')($scope.languages, function (obj) { return obj.code.split("-")[0] === brLangCode }); if (obj.length > 0) { brLang = obj[0]; } } /* If browser language is valid one then provide UI to request browser language translation */ if (brLang != "") { var defaultLang = ""; if (('en-US'.indexOf(brLang.code) == -1) && (brLang.code.indexOf('en-US') == -1) && (defaultLang.indexOf(brLang.code) == -1) && (brLang.code.indexOf(defaultLang) == -1)) { $scope.brLang = brLang; $scope.brTransMsg = "brTransMsg.html"; } else { $scope.brTransMsg = ""; } } } } /** * @function neverDisplayBrTransMsg * @description sets cookie if user never want browser language translation choice * */ $scope.neverDisplayBrTransMsg = function () { cookieService.putBrTChoice() $scope.brTransMsg = ""; } /** * @function trnaslateToBrowserLang * @param {isTranslate} isTranslate - true/false * @description Requests for browser translation based on user choice * */ $scope.trnaslateToBrowserLang = function (isTranslate) { if (isTranslate) { /* Point language dropdown to browser language */ $scope.selLang = $scope.brLang.code; /* Initiate preview process for browser language */ $scope.selectThisLang($scope.selLang); /* Remove browser language translation UI */ $scope.brTransMsg = ""; } else { $scope.brTransMsg = ""; } } /* V1.4 */ /** * @function translateThisThread * @description Triggers the translation on button click * @param {mode} manual click or auto - click/null */ $scope.translateThisThread = function (mode) { if (mode != undefined && mode == 'click') { /* Cheking author decision on validation */ if ((document.querySelectorAll(".lingo-TrFlag").length == 0) && ("53661" != "-1")) { if (!confirm("작성자가 이 스레드를 번역 대상으로 선택하지 않았습니다. 이 스레드를 번역하시겠습니까?")) { return false; } } } $scope.showTransLation = true; /* If language exists in selected languages then initiate or manage translation */ if ("false" == "true") { $scope.selLang = ""; /* 1.4 Update Analytics on language selected */ try { lingoThreadLangSelected('', '898110'); } catch (e) { } if (angular.element(document.querySelector("#trABody"))) { console.log(angular.element(document.querySelector("trABody"))); $scope.showPreview(angular.element(document.querySelector("#trABody")).innerHTML, $scope.mszList, ""); } $scope.manageTranslation("", "898110"); } else { if ("false" == "true") { alert("선택한 언어 목록에 요청된 언어가 없습니다."); } } /* Detecting Browser language */ $scope.detectBrowserLanguage(); } $rootScope.profLang = ""; /* If language exists in selected languages then initiate or manage translation */ /* Get Cookie */ function getCookie(cname) { var name = cname + "="; var ca = document.cookie.split(';'); for (var i = 0; i < ca.length; i++) { var c = ca[i]; while (c.charAt(0) == ' ') { c = c.substring(1); } if (c.indexOf(name) == 0) { return c.substring(name.length, c.length); } } return ""; } var lang_code = ""; if ("false" == "true") { /* Language from Parameter */ var lang_code = ""; } else if (anonLang = getCookie('lia.anon.profile.language')) { /* Language from cookie */ /* Get code from source list */ var srObj = $filter('filter')($scope.sourceLangList, function (obj) { return obj.id === anonLang }); if (srObj.length > 0) { /* check code in selected languages */ var selObj = $filter('filter')($scope.languages, function (obj) { return obj.code === srObj[0].code }); if (selObj.length > 0) { lang_code = srObj[0].code; } } } else if (brLangCode = window.navigator.userLanguage || window.navigator.language) { /* Browser Language */ /* Get right language code of the browser language. Get the first value in the matching list */ if (brLangCode.indexOf("-") >= 0) { var obj = $filter('filter')($scope.languages, function (obj) { return obj.code === brLangCode }); if (obj.length > 0) { lang_code = obj[0].code; } } else { var obj = $filter('filter')($scope.languages, function (obj) { return obj.code.split("-")[0] === brLangCode }); if (obj.length > 0) { lang_code = obj[0].code; } } } else { } $rootScope.profLang = lang_code; if (lang_code == "") { lang_code = "en-US"; } $scope.selLang = lang_code; if (angular.element(document.querySelector("#trABody"))) { console.log(angular.element(document.querySelector("#trABody")).innerHTML); $scope.showPreview(angular.element(document.querySelector("#trABody")).innerHTML, $scope.mszList, $scope.selLang); } $scope.showTransLation = true; $scope.selectThisLang($scope.selLang, "1"); if ("auto" == "true") { try { lingoThreadLangSelected($scope.selLang, '898110'); } catch (e) { } $scope.manageTranslation($scope.selLang, "898110"); } /* V1.4 Loading dashbaord (converted into script to remove glitch) */ $scope.dashboard = "dashboard.html"; /** * @function triggerRefresh * @description Managess the translation of given language for the thread * @param {string} langCode - Language Code * @param {string} tid - Thread ID */ $scope.triggerRefresh = function (langCode, tid) { if (confirm("번역을 수동으로 다시 제출하시겠습니까?")) { $scope.transPercent = ""; var manualTriggerTrans = lithiumPlugin.manualTriggerTrans(langCode, tid); manualTriggerTrans.then(function (status) { if (status == "refresh") { var resetTranslation = lithiumPlugin.resetTranslation(tid); resetTranslation.then(function (error) { if (error) { $rootScope.errorMsg = error.$; } else { var bulkTranslation = lithiumPlugin.bulkTranslation(langCode, tid); bulkTranslation.then(function (data) { $rootScope.errorMsg = "번역을 새로고침했습니다. 잠시 후 페이지를 새로고침하십시오."; }); } }); } else { $rootScope.errorMsg = status; } }); } } /* V 2.0: 2 = this function called on click reply sync button */ /** * @function manualOOS * @description Sends the Out of sync check request. * */ $scope.manualTriggerOSS = function(replyID){ if($scope.transPercent!="") { var manualOSS = lithiumPlugin.manualOSS("898110",replyID); manualOSS.then(function(value){ if(!value.includes("false")) { $scope.transPercent = ""; // $rootScope.errorMsg = "Message requested for re-translation. Please refresh after some time."; //$rootScope.errorMsg = "번역된 콘텐츠를 다운로드합니다. 잠시 후 다시 시도하십시오."; } else { // $rootScope.errorMsg = "Auto translation of message failed. Please refresh the page and retry."; // $rootScope.errorMsg = "메시지 자동 번역에 실패했습니다. 페이지를 새로고침하고 다시 시도하십시오."; } }); } else { $rootScope.errorMsg = "번역 중입니다. 몇 분 후에 다시 시도해 주십시오."; } } }) .factory('httpInterceptor', ['$q', '$rootScope', function ($q, $rootScope) { /* httpInterceptor intercepts the http calls */ return { request: function (config) { if (config.url.indexOf("lingotek") >= 0) { /* Start Loader */ $rootScope.isLoading = true; $rootScope.errorMsg = ""; } return config || $q.when(config); }, requestError: function (request) { if ((request.config != undefined) && (request.config.url.indexOf("lingotek") >= 0)) { /* Stop Loader */ $rootScope.isLoading = false; /* Display error message */ $rootScope.errorMsg = "Error while processing the request. Please refresh the page and retry."; } return $q.reject(request); }, response: function (response) { if (response.config.url.indexOf("lingotek") >= 0) { /* Stop Loader */ $rootScope.isLoading = false; } return response || $q.when(response); }, responseError: function (response) { if ((response.config != undefined) && (response.config.url.indexOf("lingotek") >= 0)) { /* Display error message */ $rootScope.errorMsg = "Error while processing the request. Please refresh the page and retry."; /* Stop Loader */ $rootScope.isLoading = false; } return $q.reject(response); } }; } ]) .service('lithiumPlugin', function ($http, $rootScope) { /* Service that connects the dashboard with Lithium endpoints */ /* V 2.0:7 = Converting all POST calls GET calls */ /** * @function isOutOfSync * @param {string} sourceID - Thread id * @description Sends the ot of sync check request * */ var isOutOfSync = function (sourceID) { return $http.get('/plugins/custom/sasinstitute/sasinstitute2/lingotek_ep_proj_callback?mode=OSS&tid=' + sourceID + '&xslt=json.xsl').then(function (result) { var apiResponse = result.data; return apiResponse.result; }, function (result) { // debugger; return {"status": "false"}; }); }; /** * @function getTrContent * @param {string} code - Language code * @param {string} tid - Thread id * @description Get the translated content from Lithium. * */ var getTranslation = function (code, tid) { /* var param = { mode:'trContent', code:code, tid:tid, xslt:'json.xsl' }; */ return $http.get('/plugins/custom/sasinstitute/sasinstitute2/lingotek_ep_rest_connector?mode=trContent&code=' + code + '&tid=' + tid + '&xslt=json.xsl').then(function (result) { var apiResponse = result.data; return apiResponse.result; }, function (response) { return { "id": "", "body": "", "subject": "", "status": "", "wb": "" }; }); }; /** * @function bulkTransStatus * @param {string} code - Language code * @param {string} tid - Thread id * @description Manages translation of given thread * */ var bulkTranslation = function (code, tid) { /* V1.1: 2*/ /* var param = { mode:'manageTrContent', code:code, tid:tid, xslt:'json.xsl' }; */ return $http.get('/plugins/custom/sasinstitute/sasinstitute2/lingotek_ep_rest_connector?mode=manageTrContent&code=' + code + '&tid=' + tid + '&xslt=json.xsl').then(function (result) { var apiResponse = result.data; /* V1.4:3 GA code, capturing thread info on post */ if (apiResponse.result.posts != undefined) { var trPosts = JSON.parse(apiResponse.result.posts); angular.forEach(trPosts, function (pObj_l) { try { lingoUpdateSource(pObj_l.source, pObj_l.tid); } catch (error) { console.log(error); } }) } return apiResponse.result; }, function (response) { return { "id": "", "body": "", "status": "", "wb": "" }; }); }; /** * @function setDefaultLang * @param {string} code - Language code * @description Changes the user default language to requested language. * */ var setDefaultLang = function (code) { /* V1.1: 2*/ return $http.get("/plugins/custom/sasinstitute/sasinstitute2/lingotek_ep_settings?mode=langSet&xslt=json.xsl&code=" + code).then(function (result) { debugger; return result.data.result.value; }, function (result) { return "Error. Please retry in a few minutes"; }); }; /* V 2.0: 1 */ /** * @function resetTranslation * @param {string} tid - Thread ID * @description Calls the endpoint to reset the translation of given thread. * */ var resetTranslation = function (tid) { return $http.get('/plugins/custom/sasinstitute/sasinstitute2/lingotek_support?mode=refresh&tid=' + tid + '&xslt=json.xsl').then(function (result) { var apiResponse = result.data; return apiResponse.logs.error; }, function (result) { return ""; }); }; /** * @function manualTriggerTrans * @param {string} code - Language code * @param {string} tid - Thread id * @description Manages translation of given thread * */ var manualTriggerTrans = function (code, tid) { /* V 2.0: 3*/ /* var param = { mode:'mtrigger', code:code, tid:tid, xslt:'json.xsl' }; */ return $http.get('/plugins/custom/sasinstitute/sasinstitute2/lingotek_ep_proj_callback?mode=mtrigger&code=' + code + '&tid=' + tid + '&xslt=json.xsl').then(function (result) { var apiResponse = result.data; return apiResponse.result.status; }, function (response) { return "Please retry in a few minutes."; }); }; /** @function isOutOfSync * @param {string} sourceID - Thread id * @description Sends the ot of sync check request * */ var manualOSS = function (sourceID, replyID) { return $http.get('/plugins/custom/sasinstitute/sasinstitute2/lingotek_ep_proj_callback?mode=manualOSS&tid=' + sourceID + '&reply=' + replyID + '&xslt=json.xsl').then(function (result) { var apiResponse = result.data; return apiResponse.result.status; }, function (result) { // debugger; return "false"; }); }; /* V 2.0: 3 */ /** * @function trCompletCallback * @param {string} code - Language code * @param {string} docID - Document id * @description Triggers the translation completed callback from Lithium * */ var trCompletCallback = function (code, docID) { return $http.get('/plugins/custom/sasinstitute/sasinstitute2/lingotek_ep_proj_callback?mode=callback&type=target&progress=100&document_id=' + docID + '&locale_code=' + code + '&xslt=json.xsl').then(function (result) { var apiResponse = result.data; return apiResponse.result.status; }, function (response) { return "Please retry in a few minutes."; }); }; /* V 2.0: 3 */ /** * @function trCompletUpload * @param {string} code - Language code * @param {string} docID - Document id * @description Triggers the document upload callback from Lithium * */ var trCompletUpload = function (code, docID) { return $http.get('/plugins/custom/sasinstitute/sasinstitute2/lingotek_ep_proj_callback?mode=callback&type=document_uploaded_auto&progress=0&document_id=' + docID + '&xslt=json.xsl').then(function (result) { var apiResponse = result.data; return apiResponse.result.status; }, function (response) { return "Please retry in a few minutes."; }); }; return { isOutOfSync: isOutOfSync, getTranslation: getTranslation, bulkTranslation: bulkTranslation, setDefaultLang: setDefaultLang, resetTranslation: resetTranslation, manualTriggerTrans: manualTriggerTrans, manualOSS: manualOSS, trCompletCallback: trCompletCallback, trCompletUpload: trCompletUpload }; }) .service("cookieService", function () { /* Service for cookie storage */ /** * @function getBrTChoice * @description Returns the cookie set for browser language translation. * */ var getBrTChoice = function () { var cname = "it_lang_notify_hide"; var name = cname + "="; var ca = document.cookie.split(';'); for (var i = 0; i < ca.length; i++) { var c = ca[i]; while (c.charAt(0) == ' ') c = c.substring(1); if (c.indexOf(name) == 0) return c.substring(name.length, c.length); } return ""; } /** * @function getBrTChoice * @description Sets the cookie for browser language translation. * */ var putBrTChoice = function () { var cname = "it_lang_notify_hide"; var exdays = 30; var d = new Date(); d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000)); var expires = "expires=" + d.toUTCString(); document.cookie = cname + "=" + "true" + "; " + expires; } return { getBrTChoice: getBrTChoice, putBrTChoice: putBrTChoice } }); })(LITHIUM.angular); // -->