구글 웹사이트 번역 플러그인 커스텀 -- 업데이트 부탁드립니다

구글 웹사이트 번역 플러그인 커스텀 -- 업데이트 부탁드립니다

QA

구글 웹사이트 번역 플러그인 커스텀 -- 업데이트 부탁드립니다

본문

https://sir.kr/g5_tip/5410

구글 웹사이트 번역 플러그인 커스텀 사용중인데요

 

갑자기 요며칠 사이에

 

Error: Could not find Google translate frame.

 

이런 에러가 뜨네요

 

고수님들 업데이트 부탁드립니다

이 질문에 댓글 쓰기 :

답변 1


<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>구글 번역 UI 커스터마이징 - 어포스트 2021.05.27</title>
    <link rel="stylesheet" href="./flags.css">
    <style>
        .translation-links{
            background-color: #f5f5f5;
            max-width: 100%;
            padding: 20px;
            list-style: none;
        }
        .translation-links li{
            height: 30px;
            padding: 5px;
            box-sizing: border-box;
        }
        .translation-links span{
            float: left;
            color: #000;
        }
        .translation-links .flag{
            display: inline-block;
            width: 30px;
            height: 20px;
            margin-right: 10px;
        }
        iframe{
            display:none;
        }
    </style>
</head>
    <body>
        <div class="box_aside">
            <div id="google_translate_element" style="display:none;"></div>
            <!-- "새 번역 링크 UI" -->
            <ul class="translation-links">
                <li><a href="javascript:void(0)" class="english" data-lang="en" title="English"><span class="flag en"></span><span>English</span></a></li>
                <li><a href="javascript:void(0)" class="japanese" data-lang="ja" title="日本語"><span class="flag ja"></span><span>Japanese</span></a></li>
                <li><a href="javascript:void(0)" class="japanese" data-lang="zh-CN" title="中文(简体)"><span class="flag zh-CN"></span><span>Chinese(Simplified)</span></a></li>
                <li><a href="javascript:void(0)" class="japanese" data-lang="zh-TW" title="中文(繁體)"><span class="flag zh-TW"></span><span>aiwanese(Traditional)</span></a></li>
                <li><a href="javascript:void(0)" class="spanish" data-lang="es" title="español"><span class="flag es"></span><span>Spanish</span></a></li>
                <li><a href="javascript:void(0)" class="japanese" data-lang="de" title="Deutsch"><span class="flag de"></span><span>German</span></a></li>
                <li><a href="javascript:void(0)" class="japanese" data-lang="ru" title="Русский язык"><span class="flag ru"></span><span>Russian</span></a></li>
                <li><a href="javascript:void(0)" class="japanese" data-lang="pt" title="Português"><span class="flag pt"></span><span>Portuguese</span></a></li>
                <li><a href="javascript:void(0)" class="japanese" data-lang="fr" title="français"><span class="flag fr"></span><span>French</span></a></li>
            </ul>
            <script src="https://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
            <script type="text/javascript">
                /* 구글 번역 초기화 */
                function googleTranslateElementInit() {new google.translate.TranslateElement({pageLanguage: 'ko',autoDisplay: true}, 'google_translate_element');}
                /* 새 UI 선택 클릭 이벤트가 발생하면
                감춤 처리한 구글 번역 콤보리스트에
                선택한 언어를 적용해 변경 이벤트를 발생시키는 코드  */
                document.querySelector('.translation-links').addEventListener('click',function(event) {
                    let el = event.target;
                    if(el != null){
                        while(el.nodeName == 'FONT' || el.nodeName == 'SPAN'){el = el.parentElement;}//data-lang 속성이 있는 태그 찾기
                        const tolang = el.dataset.lang; // 변경할 언어 코드 얻기
                        const gtcombo = document.querySelector('.goog-te-combo');
                        if (gtcombo == null) {
                            alert("Error: Could not find Google translate Combolist.");
                            return false;
                        }
                        gtcombo.value = tolang; // 변경할 언어 적용
                        gtcombo.dispatchEvent(new Event('change')); // 변경 이벤트 트리거
                    }
                    document.body.style.cssText = ""
                    return false;
                });
            </script>
        </div>
        <div>
            가나다
        </div>
</body>
</html>

출처 : https://blogpack.tistory.com/955#google_vignette

도움이 되시길...

답변을 작성하시기 전에 로그인 해주세요.
전체 159
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT