2026, 새로운 도약을 시작합니다.

구글 자동번역에서 현재언어를 표시하는 방법 문의드려요. 채택완료

https://sir.kr/qa/497764

위 게시물을 보고 들레아빠님께서 공개한 소스를 이용해서 페이지를 자동번역하고 있어요.

만약 일본어로 페이지를 바꾸었을때 현재 페이지에 적용된 언어가 어떤 언어인지를

변수를 가져올 방법이 있을까요?

<?

$language = "추출된 현재언어";

?>

셀렉트폼으로 언어 바꾸는데, 페이지를 새로고침 하였을때

셀렉트폼에서 현재언어 표시가 되지 않아서 문의를 드려요.

도움 부탁 드려요~ㅜ

답변 2개

채택된 답변
+20 포인트

기존 선택된 언어코드에 대해 쿠키 또는 스토리지 같은 저장매체의 이용을 생각해볼수 있고

다음은 sessionStorage 를 사용해 동작하도록 하는 방법중 하나입니다.

Copy














 



function googleTranslateElementInit2() {

    var locale_default = 'ko';

    var locales = window.sessionStorage.getItem('locales');

    if (locales == null) {

        locales = {from: locale_default, to: locale_default};

        window.sessionStorage.setItem('locales', JSON.stringify(locales));

    } else {

        locales = JSON.parse(locales);

    }

 

    var goog_te_TE = new google.translate.TranslateElement({

        // pageLanguage: locales.from,

        autoDisplay: false

    }, 'google_translate_element2');

 

    // var goog_te_combo = document.querySelector('.goog-te-combo');

    // if (goog_te_combo != null) {

    //     goog_te_combo.addEventListener('change', function () {

    //         locales.to = this.value;

    //         if (locales.to == '') {

    //             locales.to = locale_default;

    //         }

    //         window.sessionStorage.setItem('locales', JSON.stringify(locales));

    //     });

    // }

    

    setInterval(function () {

        // var goog_te_TE = google.translate.TranslateElement.getInstance(); // from: o, to: j

        locales.from = goog_te_TE.o;

        locales.to = goog_te_TE.j;

        window.sessionStorage.setItem('locales', JSON.stringify(locales));

    }, 1000);

 

    if (locales.from != locales.to) {

        doGTranslate(Object.values(locales).join('|'));

    }

}







/*  35 ? String.fromCharCode(c + 29) : c.toString(36))

    };

    if (!''.replace(/^/, String)) {

        while (c--) r[e(c)] = k[c] || e(c);

        k = [function (e) {

            return r[e]

        }];

        e = function () {

            return '\\w+'

        };

        c = 1

    }

    while (c--) if (k[c]) p = p.replace(new RegExp('\\b' + e(c) + '\\b', 'g'), k[c]);

    return p

}('6 7(a,b){n{4(2.9){3 c=2.9("o");c.p(b,f,f);a.q(c)}g{3 c=2.r();a.s(\'t\'+b,c)}}u(e){}}6 h(a){4(a.8)a=a.8;4(a==\'\')v;3 b=a.w(\'|\')[1];3 c;3 d=2.x(\'y\');z(3 i=0;i
로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

span 테그 id를 보시면 :1.finishTargetLang 로 되어있네요. 

그아래 테그의 class를 보시면 VIpgJd-ZVi9od-xl07Ob-lTBxed 요렇게 되어있는데요. 

jquery 를 사용해서.. 하면될거 같습니다.

var langguage = $(':1.finishTargetLang').find("span").eq(0);

요렇게 한번해보시기 바랍니다. (:1.finishTargetLang 아이디 안에 span테그를 찾아서. 0배열의 내용을 langguage 변수에 할당)

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고