반응형

google traslate 구버전에서 자동 번역 기능 추가 하는 방법

<div id="google_translate_element">
</div>
<script>
function googleTranslateElementInit() {
new google.translate.TranslateElement({
pageLanguage: 'en',
includedLanguages: 'zh-CN,nl,en,fr,de,ja,ko,es,th,cy',
autoDisplay: false,
layout: google.translate.TranslateElement.InlineLayout.HORIZONTAL
}, 'google_translate_element');
}
</script>

현재 상황 
  • 예전에 무료로 사용했던 웹에 붙이는 google번역기가 유료로 전환하며 무료서비스는 종료
  • 더이상 기능 개선이 안되고 레퍼런스를 찾아보기 힘듦

기능 수정 요청
  • 특정 URL접속 시 자동으로 번역되도록 수정 요청

이슈
  • google.translate객체 생성 시 autoDisplay : true, 로 변경하면 자동으로 변경이 될것을 기대했지만 변경되지 않음.
  • https://ooz.co.kr/154 참조


해결 방안
  • Google 번역은 'googtrans'라는 쿠키를 사용하여 선택한 언어를 추적함.
  • 페이지가 로드되기 전에 쿠키를 직접 설정할 수 있으며 Google 번역에서 cookie를 바라봄
  • https://stackoverflow.com/questions/1773687/google-translate-set-default-language 참조
  • 소스
window.onload = function(){
     var l_from_domain = $("#from_domain").val();
     if (l_from_domain=="cn"){
           document.cookie="googtrans=/en/zh-CN";
     }
     
     // 영어(기본), 중국어(번체), 중국어(간체),스페인어, 포르투갈어, 일본어, 러시아어
     new google.translate.TranslateElement({
            pageLanguage: "en",
            includedLanguages: "en,zh-CN,zh-TW,es,pt,ja,ru",
            layout: google.translate.TranslateElement.InlineLayout.SIMPLE,
            autoDisplay: true
            , multilanguagePage: true
        }, l_google_id);
};












반응형

+ Recent posts