如何设置google翻译cookie永不过期?

How to set that google translate cookie never expires?

我在我的页面上使用 google 翻译代码,它运行良好,但如果我查看 cookie,它说它只在会话期间过期!?所以我想设置它,让它不会过期,这样当用户回来时,它是他第一次选择的相同语言。

我现在正在使用这个。

已解决!好的,这样用户就可以 select 一种语言,下次他访问该页面时,它会被翻译成他之前选择的语言!

var ckDomain;
function googleTranslateElementInit() {

    function getCookie(name)
  {
    var re = new RegExp(name + "=([^;]+)");
    var value = re.exec(document.cookie);
    return (value != null) ? unescape(value[1]) : null;
  }



 var kakan;
 var googkakan;


 kakan=getCookie("googtrans22");


$$(document).on('change', '#google_translate_element', function (e) {
    setTimeout(function(){
function getCookie(name)
  {
    var re = new RegExp(name + "=([^;]+)");
    var value = re.exec(document.cookie);
    return (value != null) ? unescape(value[1]) : null;
  }

 googkakan=getCookie("googtrans");

 document.cookie = "googtrans22="+googkakan+"; expires=Thu, 07-Mar-2047 20:22:40 GMT; path=/" + ckDomain;
 document.cookie = "googtrans22="+googkakan+"; expires=Thu, 07-Mar-2047 20:22:40 GMT; path=/";


    },1000);
}); 

  for (var ckDomain = window.location.hostname.split("."); 2 < ckDomain.length;){
    ckDomain.shift();
  }
  ckDomain = ";domain=" + ckDomain.join(".");
  // domain cookie
  document.cookie = "googtrans="+kakan+"; expires=Thu, 07-Mar-2047 20:22:40 GMT; path=/" + ckDomain;
  // host-only cookie (with no domain name definition)
  document.cookie = "googtrans="+kakan+"; expires=Thu, 07-Mar-2047 20:22:40 GMT; path=/";



  new google.translate.TranslateElement({
    pageLanguage: 'sv',
    autoDisplay: false,
    layout: google.translate.TranslateElement
  }, 'google_translate_element');

}



    (function() {
          var googleTranslateScript = document.createElement('script');
          googleTranslateScript.type = 'text/javascript';
          googleTranslateScript.async = true;
          googleTranslateScript.src = 'https://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit';
          ( document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0] ).appendChild( googleTranslateScript );
        })();

显然,图书馆被迫覆盖 cookie 以使其在会话结束时过期。

好消息是,在执行此操作之前,它会读取现有的 cookie,因此您可以在每次初始化调用之前输入它。

强制图书馆将瑞典语页面翻译成英语:

function googleTranslateElementInit() {
  var ckDomain;
  for (var ckDomain = window.location.hostname.split("."); 2 < ckDomain.length;){
    ckDomain.shift();
  }
  ckDomain = ";domain=" + ckDomain.join(".");
  // domain cookie
  document.cookie = "googtrans=/sv/en; expires=Thu, 07-Mar-2047 20:22:40 GMT; path=/" + ckDomain;
  // host-only cookie (with no domain name definition)
  document.cookie = "googtrans=/sv/en; expires=Thu, 07-Mar-2047 20:22:40 GMT; path=/";
  new google.translate.TranslateElement({
    pageLanguage: 'sv',
    autoDisplay: false,
    layout: google.translate.TranslateElement
  }, 'google_translate_element');
}