{"id":56017,"date":"2022-06-03T03:01:25","date_gmt":"2022-06-02T17:01:25","guid":{"rendered":"http:\/\/www.rjmprogramming.com.au\/ITblog\/?p=56017"},"modified":"2022-06-07T18:32:13","modified_gmt":"2022-06-07T08:32:13","slug":"google-translate-landing-page-changed-interfacing-links-tutorial","status":"publish","type":"post","link":"https:\/\/www.rjmprogramming.com.au\/ITblog\/google-translate-landing-page-changed-interfacing-links-tutorial\/","title":{"rendered":"Google Translate Landing Page Changed Interfacing Links Tutorial"},"content":{"rendered":"<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"Google Translate Landing Page Translate Changed Interfacing Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/lp_gt_revisited_more.jpg\" title=\"Google Translate Webpage Translate Updated List Tutorial\"  style=\"float:left;\"   \/><\/a><p class=\"wp-caption-text\">Google Translate Landing Page Changed Interfacing Links Tutorial<\/p><\/div>\n<p>Onto yesterday&#8217;s <a title='Google Translate Landing Page Changed Interfacing Tutorial' href='#gtlpcit'>Google Translate Landing Page Changed Interfacing Tutorial<\/a> we wanted to extend the functionality, given user intervention, that other links on the Landing Pages can be sent to <a target=_blank href='https:\/\/translate.google.com\/' title='Google Translate'>Google Translate<\/a> for webpage translation.<\/p>\n<p>We decided to &#8230;<\/p>\n<table style=\"font-size:10px;\">\n<tr>\n<th>Add two new global var<font size=1>iables<\/font> &#8230;<\/th>\n<\/tr>\n<tr>\n<td>\n<code style=\"font-size:10px;\"><br \/>\n var uprefix='';<br \/>\n var usuffix='';<br \/>\n<\/code>\n<\/td>\n<\/tr>\n<tr>\n<th>For two iframes add <font color=blue>id<\/font> attribute &#8230;<\/th>\n<\/tr>\n<tr>\n<td>\n<code style=\"font-size:10px;\"><br \/>\n&lt;div id=divtagcloud&gt;&lt;iframe <font color=blue>id=ifdt<\/font>c style='display:none;' onerror='anticheckd(this);' onload='checkd(this);' src='\/\/www.rjmprogramming.com.au\/PHP\/divtagcloud.html'&gt;&lt;\/iframe&gt;&lt;\/div&gt;<br \/>\n&lt;iframe <font color=blue>id=ifzero<\/font> onload=\"noandmaybe(this);\" src=\"PHP\/zero.html\" title=\"Recent Blog Posts\" style=\"width:264px;\"&gt;&lt;\/iframe&gt;<br \/>\n<\/code>\n<\/td>\n<\/tr>\n<tr>\n<th>Change function ChangeLCodeNow &#8230;<\/th>\n<\/tr>\n<tr>\n<td>\n<code style=\"font-size:10px;\"><br \/>\nfunction ChangeLcodeNow(){<br \/>\n\/\/&lt;![CDATA[<br \/>\n var val = document.getElementById('language');<br \/>\n if (val.value.length != 0 && val.value.indexOf('en') == (0 - 1) && val.value != val.value.trim()) {<br \/>\n    usuffix=usuffix.split('&obsolete=')[0];<br \/>\n    document.getElementById('ifzero').src+='?random=' + Math.floor(Math.random() * 198767543); \/\/alert(usuffix);<br \/>\n    if (document.getElementById('divtagcloud') && !document.getElementById('ifdtc')) {<br \/>\n    document.getElementById('divtagcloud').innerHTML=\"&lt;iframe id=ifdtc style='display:none;' onerror='anticheckd(this);' onload='checkd(this);' src='PHP\/divtagcloud.html?random=\" + Math.floor(Math.random() * 198767543) + \"'&gt;&lt;\/iframe&gt;\";<br \/>\n    } else {<br \/>\n    document.getElementById('ifdtc').src+='?random=' + Math.floor(Math.random() * 198767543); \/\/alert(usuffix);<br \/>\n    }<br \/>\n } else if (val.value.length != 0 && val.value.indexOf('en') == (0 - 1)) {<br \/>\n    var srectis=val.getBoundingClientRect();<br \/>\n    var pprefix = val[val.selectedIndex].id;<br \/>\n    var dd=new Date();<br \/>\n    var wdg=val[val.selectedIndex].innerHTML;<br \/>\n    uprefix='https:\/\/www-rjmprogramming-com-au.translate.goog';<br \/>\n    usuffix='?_x_tr_sl=en&_x_tr_hl=en-GB&_x_tr_pto=nui&_x_tr_tl=' + val.value.trim() + '&_x_tr_pto=wapp&obsolete=y';<br \/>\n    if (1 == 1) {<br \/>\n    \/\/alert('&lt;span style=\"position:absolute;top:' + srectis.top + 'px;left:' + srectis.left + 'px;\"&gt;' + val[val.selectedIndex].innerHTML + '&nbsp;&lt;input type=checkbox onchange=\"usuffix=usuffix.split(' + \"'\" + '&obsolete=' + \"'\" + ')[0];\"&gt;&lt;\/input&gt;&nbsp;Everywhere&nbsp;&lt;\/span&gt;');<br \/>\n    if (1 == 2) {<br \/>\n    document.body.innerHTML=document.body.innerHTML.replace(val.outerHTML, '&lt;span style=\"z-index:123;position:absolute;top:' + srectis.top + 'px;left:' + srectis.left + 'px;\"&gt;' + val[val.selectedIndex].innerHTML + '&nbsp;&lt;input type=checkbox onchange=\"usuffix=usuffix.split(' + \"'\" + '&obsolete=' + \"'\" + ')[0];\"&gt;&lt;\/input&gt;&nbsp;Everywhere&nbsp;&lt;\/span&gt;');<br \/>\n    } else {<br \/>\n    document.getElementById('language').innerHTML='&lt;option value=\"' + val.value.trim() + '\" selected&gt;' + wdg + '&lt;\/option&gt;&lt;option value=\"' + val.value.trim() + ' \"&gt;' + wdg + ' (everywhere)&lt;\/option&gt;';<br \/>\n    document.getElementById('language').size='2';<br \/>\n    }<br \/>\n    window.open('https:\/\/www-rjmprogramming-com-au.translate.goog\/ITblog\/' + dd.getFullYear() + '\/' + ('0' + eval(1 + eval('' + dd.getMonth()))).slice(-2) + '\/' + ('0' + eval(0 + eval('' + dd.getDate()))).slice(-2) + '\/?_x_tr_sl=en&_x_tr_hl=en-GB&_x_tr_pto=nui&_x_tr_tl=' + val.value + '&_x_tr_pto=wapp', '_blank');<br \/>\n    } else {<br \/>\n    window.open('https:\/\/www-rjmprogramming-com-au.translate.goog\/ITblog\/' + dd.getFullYear() + '\/' + ('0' + eval(1 + eval('' + dd.getMonth()))).slice(-2) + '\/' + ('0' + eval(0 + eval('' + dd.getDate()))).slice(-2) + '\/?_x_tr_sl=en&_x_tr_hl=en-GB&_x_tr_pto=nui&_x_tr_tl=' + val.value + '&_x_tr_pto=wapp', '_blank');<br \/>\n    document.getElementById('langone').innerHTML=val[val.selectedIndex].innerHTML + ' (and reclick for other translations)';<br \/>\n    document.getElementById('langone').title=document.getElementById('langone').innerHTML;<br \/>\n    val.title=document.getElementById('langone').innerHTML;<br \/>\n    document.getElementById('langone').onclick = function(evt) { usuffix=usuffix.split('&obsolete=')[0]; this.innerHTML=this.innerHTML.split('(')[0] + '(everywhere)'; };<br \/>\n    val.value='';<br \/>\n    }<br \/>\n }<br \/>\n\/\/]]&gt;<br \/>\n}<br \/>\n<\/code>\n<\/td>\n<\/tr>\n<tr>\n<th>Change function mwo &#8230;<\/th>\n<\/tr>\n<tr>\n<td>\n<code style=\"font-size:10px;\"><br \/>\n function mwo(in_url) {<br \/>\n    \/\/ https:\/\/www.rjmprogramming.com.au\/ITblog\/css-countdown-reveal-tutorial\/?pp&pn&title=CSS_Countdown_Reveal_Tutorial<br \/>\n    \/\/alert(in_url);<br \/>\n    if (in_url.indexOf('&title=') != -1 && in_url.indexOf('?p=') != -1 && in_url.indexOf('rjmprogramming.com.au\/') != -1) {<br \/>\n      var tis=in_url.split('&title=')[1].split('&')[0].split('#')[0].replace(\/\\_\/g,'-').toLowerCase();<br \/>\n      var ptis=in_url.split('?p=')[1].split('&')[0].split('#')[0];<br \/>\n      if (isiPad || isiPhone || isiPod || isAndroid) {<br \/>\n          if (usuffix != '' && usuffix.indexOf('&obsolete=') == -1) {<br \/>\n           var inurl=in_url.split('?')[0] + in_url.split('&title=')[1].toLowerCase().replace(\/\\_\/g,'-');<br \/>\n    \/\/alert(inurl);<br \/>\n           return inurl.replace('http:\/\/www.rjmprogramming.com.au', uprefix).replace('https:\/\/www.rjmprogramming.com.au', uprefix).replace('\/\/www.rjmprogramming.com.au', uprefix).replace('http:\/\/rjmprogramming.com.au', uprefix).replace('https:\/\/rjmprogramming.com.au', uprefix).replace('\/\/rjmprogramming.com.au', uprefix).split('#')[0].split('?')[0] + usuffix;<br \/>\n           \/\/return (in_url.split('rjmprogramming.com.au\/')[0] + 'rjmprogramming.com.au\/ITblog\/' + tis).replace('http:\/\/www.rjmprogramming.com.au', uprefix).replace('https:\/\/www.rjmprogramming.com.au', uprefix).replace('\/\/www.rjmprogramming.com.au', uprefix).replace('http:\/\/rjmprogramming.com.au', uprefix).replace('https:\/\/rjmprogramming.com.au', uprefix).replace('\/\/rjmprogramming.com.au', uprefix).split('#')[0].split('?')[0] + usuffix + '#post-' + ptis + '#andabit=-70';<br \/>\n         \/\/} else if (usuffix != '' && usuffix.indexOf('&obsolete=') != -1) {<br \/>\n           \/\/var inurl=in_url.split('?')[0] + in_url.split('&title=')[0].toLowerCase().replace(\/\\_\/g,'-');<br \/>\n           \/\/return inurl.replace('http:\/\/www.rjmprogramming.com.au', uprefix).replace('https:\/\/www.rjmprogramming.com.au', uprefix).replace('\/\/www.rjmprogramming.com.au', uprefix).replace('http:\/\/rjmprogramming.com.au', uprefix).replace('https:\/\/rjmprogramming.com.au', uprefix).replace('\/\/rjmprogramming.com.au', uprefix).split('#')[0].split('?')[0] + usuffix;<br \/>\n         } else {<br \/>\n          return in_url.split('rjmprogramming.com.au\/')[0] + 'rjmprogramming.com.au\/ITblog\/' + tis + '#post-' + ptis + '#andabit=-70';<br \/>\n         }<br \/>\n      } else if (usuffix != '' && usuffix.indexOf('&obsolete=') == -1) {<br \/>\n          var inurl=in_url.split('?')[0] + in_url.split('&title=')[1].toLowerCase().replace(\/\\_\/g,'-');<br \/>\n    \/\/alert(inurl);<br \/>\n           return inurl.replace('http:\/\/www.rjmprogramming.com.au', uprefix).replace('https:\/\/www.rjmprogramming.com.au', uprefix).replace('\/\/www.rjmprogramming.com.au', uprefix).replace('http:\/\/rjmprogramming.com.au', uprefix).replace('https:\/\/rjmprogramming.com.au', uprefix).replace('\/\/rjmprogramming.com.au', uprefix).split('#')[0].split('?')[0] + usuffix;<br \/>\n          \/\/return (in_url.split('rjmprogramming.com.au\/')[0] + 'rjmprogramming.com.au\/ITblog\/' + tis).replace('http:\/\/www.rjmprogramming.com.au', uprefix).replace('https:\/\/www.rjmprogramming.com.au', uprefix).replace('\/\/www.rjmprogramming.com.au', uprefix).replace('http:\/\/rjmprogramming.com.au', uprefix).replace('https:\/\/rjmprogramming.com.au', uprefix).replace('\/\/rjmprogramming.com.au', uprefix).split('#')[0].split('?')[0] + usuffix; \/\/ + '#post-' + ptis;<br \/>\n      } else {<br \/>\n          return in_url.split('rjmprogramming.com.au\/')[0] + 'rjmprogramming.com.au\/ITblog\/' + tis; \/\/ + '#post-' + ptis;<br \/>\n      }<br \/>\n    } else if (usuffix != '' && usuffix.indexOf('&obsolete=') != -1) {<br \/>\n      return in_url.replace('http:\/\/www.rjmprogramming.com.au', uprefix).replace('https:\/\/www.rjmprogramming.com.au', uprefix).replace('\/\/www.rjmprogramming.com.au', uprefix).replace('http:\/\/rjmprogramming.com.au', uprefix).replace('https:\/\/rjmprogramming.com.au', uprefix).replace('\/\/rjmprogramming.com.au', uprefix).split('#')[0].split('?')[0] + usuffix;<br \/>\n    } else {<br \/>\n      return in_url;<br \/>\n    }<br \/>\n }<br \/>\n<\/code>\n<\/td>\n<\/tr>\n<tr>\n<th>Change function windowopen &#8230;<\/th>\n<\/tr>\n<tr>\n<td>\n<code style=\"font-size:10px;\"><br \/>\n function windowopen(myurl,mytarget) {<br \/>\n   if (isiPad || isiPhone || isiPod) {<br \/>\n   var aobod = document.getElementById('abod');<br \/>\n   aobod.href=mwo(myurl);<br \/>\n   aobod.click();<br \/>\n   } else if (isAndroid) {<br \/>\n   top.window.open(mwo(myurl),mytarget);<br \/>\n   } else if (usuffix.indexOf('&obsolete=') == -1 && usuffix != '') {<br \/>\n   top.window.open(mwo(myurl),mytarget);<br \/>\n   } else {<br \/>\n   top.window.open(myurl,mytarget);<br \/>\n   \/\/location.href=myurl;<br \/>\n   }<br \/>\n}<br \/>\n<\/code>\n<\/td>\n<\/tr>\n<tr>\n<th>For two iframes <font color=blue>change onload event functionalities<\/font> &#8230;<\/th>\n<\/tr>\n<tr>\n<td>\n<code style=\"font-size:10px;\"><br \/>\nfunction checkd(iois) {<br \/>\n  if (iois != null) {<br \/>\n    var aconto = (iois.contentWindow || iois.contentDocument);<br \/>\n<br \/>\n    if (aconto != null) {<br \/>\n<br \/>\n     if (aconto.document) { aconto = aconto.document; }<br \/>\n<br \/>\n     if (aconto.body != null) {<br \/>\n<br \/>\n     <font color=blue>if (usuffix != '' && usuffix.indexOf('&obsolete=') == -1) {<br \/>\n       var wasabi=aconto.body.innerHTML;<br \/>\n       var qps=wasabi.split('?p=');<br \/>\n       var iqps=0;<br \/>\n       var insr='';<br \/>\n       qps=wasabi.split(' href=\"');<br \/>\n       for (iqps=1; iqps&lt;qps.length; iqps++) {<br \/>\n         insr=qps[iqps].split('\"')[0];<br \/>\n         wasabi=wasabi.replace(insr, insr.replace('http:\/\/www.rjmprogramming.com.au', uprefix).replace('https:\/\/www.rjmprogramming.com.au', uprefix).replace('\/\/www.rjmprogramming.com.au', uprefix).replace('http:\/\/rjmprogramming.com.au', uprefix).replace('https:\/\/rjmprogramming.com.au', uprefix).replace('\/\/rjmprogramming.com.au', uprefix).split('#')[0].split('?')[0] + usuffix);<br \/>\n       }<br \/>\n       aconto.body.innerHTML=wasabi;<br \/>\n       if (divtc != '') {  divtc=wasabi;  }<br \/>\n     } else {<\/font><br \/>\n        divtc=aconto.body.innerHTML;<br \/>\n     <font color=blue>}<\/font><br \/>\n        if (divtc.indexOf(' class=\"tagcloud\"') != -1) {<br \/>\n          setTimeout(divtctoggler, 8000);<br \/>\n        } else {<br \/>\n          document.getElementById('divtagcloud').innerHTML='';<br \/>\n        }<br \/>\n     }<br \/>\n    }<br \/>\n  }<br \/>\n}<br \/>\n<br \/>\nfunction noandmaybe(iois) {<br \/>\n var aconto=null, jps=[];<br \/>\n if ((usuffix != '' && usuffix.indexOf('&obsolete=') == -1) || !navigator.userAgent.match(\/Android|BlackBerry|iPhone|iPod|Opera Mini|IEMobile\/i)) { \/\/ or it is not a mobile device<br \/>\n  if (iois != null) {<br \/>\n    aconto = (iois.contentWindow || iois.contentDocument);<br \/>\n    if (aconto != null) {<br \/>\n     if (aconto.document) { aconto = aconto.document; }<br \/>\n     if (aconto.body != null) {<br \/>\n        aconto.body.innerHTML=aconto.body.innerHTML.replace(\/\\#andabit\\=\\-70\/g,'');<br \/>\n     }<br \/>\n     <font color=blue>if (usuffix != '' && usuffix.indexOf('&obsolete=') == -1) {<br \/>\n       var wasabi=aconto.body.innerHTML;<br \/>\n       var qps=wasabi.split('?p=');<br \/>\n       var iqps=0;<br \/>\n       var insr='';<br \/>\n       for (iqps=1; iqps&lt;qps.length; iqps++) {<br \/>\n         wasabi=wasabi.replace('?p=' + qps[iqps].split('\"')[0], qps[iqps].split(' alt=\"')[1].split('\"')[0].toLowerCase().replace(\"+\",\"\").replace(\"\/\",\"\").replace(\" \",\"-\").replace(\"\/\",\"\").replace(\" \",\"-\").replace(\"\/\",\"\").replace(\" \",\"-\").replace(\"\/\",\"\").replace(\" \",\"-\").replace(\"\/\",\"\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\/---\/g,\"-\").replace(\/--\/g,\"-\") + '\/');<br \/>\n       }<br \/>\n       qps=wasabi.split(' href=\"');<br \/>\n       for (iqps=1; iqps&lt;qps.length; iqps++) {<br \/>\n         insr=qps[iqps].split('\"')[0];<br \/>\n         wasabi=wasabi.replace(insr, insr.replace('http:\/\/www.rjmprogramming.com.au', uprefix).replace('https:\/\/www.rjmprogramming.com.au', uprefix).replace('\/\/www.rjmprogramming.com.au', uprefix).replace('http:\/\/rjmprogramming.com.au', uprefix).replace('https:\/\/rjmprogramming.com.au', uprefix).replace('\/\/rjmprogramming.com.au', uprefix).split('#')[0].split('?')[0] + usuffix);<br \/>\n       }<br \/>\n       aconto.body.innerHTML=wasabi;<br \/>\n       for (iqps=1; iqps&lt;=5; iqps++) {<br \/>\n         insr=document.getElementById('adiv' + iqps).outerHTML;<br \/>\n         wasabi=insr.replace('?p=' + insr.split('?p=')[1].split('\"')[0], insr.split(' title=\"')[1].split('\"')[0].toLowerCase().replace(\"+\",\"\").replace(\"\/\",\"\").replace(\" \",\"-\").replace(\"\/\",\"\").replace(\" \",\"-\").replace(\"\/\",\"\").replace(\" \",\"-\").replace(\"\/\",\"\").replace(\" \",\"-\").replace(\"\/\",\"\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\" \",\"-\").replace(\/---\/g,\"-\").replace(\/--\/g,\"-\") + '\/');<br \/>\n         document.getElementById('adiv' + iqps).href=wasabi.split(' href=\"')[1].split('\"')[0].replace('http:\/\/www.rjmprogramming.com.au', uprefix).replace('https:\/\/www.rjmprogramming.com.au', uprefix).replace('\/\/www.rjmprogramming.com.au', uprefix).replace('http:\/\/rjmprogramming.com.au', uprefix).replace('https:\/\/rjmprogramming.com.au', uprefix).replace('\/\/rjmprogramming.com.au', uprefix).split('#')[0].split('?')[0] + usuffix;<br \/>\n       }<br \/>\n       var asis=document.getElementsByTagName('a');<br \/>\n       for (iqps=0; iqps&lt;asis.length; iqps++) {<br \/>\n         if (('' + asis[iqps].href).toLowerCase().indexOf('rjmprogramming.com.au') != -1) {<br \/>\n           asis[iqps].href=(asis[iqps].href.replace('http:\/\/www.rjmprogramming.com.au', uprefix).replace('https:\/\/www.rjmprogramming.com.au', uprefix).replace('\/\/www.rjmprogramming.com.au', uprefix).replace('http:\/\/rjmprogramming.com.au', uprefix).replace('https:\/\/rjmprogramming.com.au', uprefix).replace('\/\/rjmprogramming.com.au', uprefix).split('#')[0].split('?')[0] + usuffix).replace('\/wordpress\/','\/ITblog\/');<br \/>\n         }<br \/>\n       }<br \/>\n     }<\/font><br \/>\n    }<br \/>\n  }<br \/>\n }<br \/>\n<br \/>\n if (document.getElementById('style_3') && ('' + document.getElementById('style_3').title) == '') {<br \/>\n   if (!aconto) {<br \/>\n    aconto = (iois.contentWindow || iois.contentDocument);<br \/>\n    if (aconto != null) {<br \/>\n     if (aconto.document) { aconto = aconto.document; }<br \/>\n    }<br \/>\n   }<br \/>\n<br \/>\n   var omover=' onmouseover=\"omright(this);\" ', omout=' onmouseout=\"moright(this);\" ', bdapp='&lt;table id=tblr style=display:none&gt;&lt;tr&gt;&lt;\/tr&gt;&lt;\/table&gt;';<br \/>\n   var rdbit='?rand=' + Math.floor(Math.random() * 1985676);<br \/>\n   if (aconto) {<br \/>\n     if (aconto.body != null) {<br \/>\n      if (document.getElementById('p_style_3')) {<br \/>\n        document.getElementById('style_3').innerHTML=document.getElementById('p_style_3').outerHTML.replace(\/\\.jpg\/g, '.jpg' + rdbit);<br \/>\n      }<br \/>\n      var hrefs=aconto.body.innerHTML.split(' href=');<br \/>\n      var style_3r=document.getElementById('style_3').getBoundingClientRect();<br \/>\n      document.getElementById('style_3').title='Feel free to visit thumbnail links to our WordPress Tutorial blog!';<br \/>\n      for (var ihrefs=1; ihrefs&lt;hrefs.length; ihrefs++) {<br \/>\n        \/\/document.body.innerHTML+='&lt;div id=ediv' + ihrefs + '&gt;&lt;\/div&gt;';<br \/>\n        bdapp=bdapp.replace('&lt;\/tr&gt;', '&lt;td id=ediv' + ihrefs + '&gt;&lt;\/td&gt;&lt;\/tr&gt;');<br \/>\n        jps=hrefs[ihrefs].split('.jpeg?rand=');<br \/>\n        console.log(jps[0].slice(-9));<br \/>\n        if (jps[0].slice(-3).indexOf('-') != -1) {  jps[0]=jps[0].split('-')[eval(-2 + eval('' + jps[0].split('-').length))];    }<br \/>\n        switch (jps[0].slice(-3)) {<br \/>\n          case 'ght':<br \/>\n           document.body.innerHTML+='&lt;a id=adiv5' + omover + omout + ' target=_blank style=\"opacity:0.5;background-repeat:no-repeat;background-size:30px 20px;background-image:url(\/PHP\/eight.jpg' + rdbit + ');position:absolute;z-index:99;top:' + style_3r.top + 'px;width:30px;height:20px;background-color:transparent;left:' + style_3r.left + 'px;\" title=\"' + hrefs[ihrefs].substring(1).split(' title=')[1].substring(1).split(hrefs[ihrefs].substring(0,1))[0] + '\" href=\"' + hrefs[ihrefs].substring(1).split(hrefs[ihrefs].substring(0,1))[0] + '\"&gt;&lt;\/a&gt;';<br \/>\n           break;<br \/>\n<br \/> <br \/>\n          case 'ven':<br \/>\n           document.body.innerHTML+='&lt;a id=adiv4' + omover + omout + ' target=_blank style=\"opacity:0.5;background-repeat:no-repeat;background-size:30px 20px;background-image:url(\/PHP\/seven.jpg' + rdbit + ');position:absolute;z-index:99;top:' + style_3r.top + 'px;width:30px;height:20px;background-color:transparent;left:' + eval(eval(eval(style_3r.left + style_3r.right) \/ 2) - 15) + 'px;\" title=\"' + hrefs[ihrefs].substring(1).split(' title=')[1].substring(1).split(hrefs[ihrefs].substring(0,1))[0] + '\" href=\"' + hrefs[ihrefs].substring(1).split(hrefs[ihrefs].substring(0,1))[0] + '\"&gt;&lt;\/a&gt;';<br \/>\n           break;<br \/>\n<br \/> <br \/>\n          case 'six':<br \/>\n           document.body.innerHTML+='&lt;a id=adiv3' + omover + omout + ' target=_blank style=\"opacity:0.5;background-repeat:no-repeat;background-size:30px 20px;background-image:url(\/PHP\/six.jpg' + rdbit + ');position:absolute;z-index:99;top:' + style_3r.top + 'px;width:30px;height:20px;background-color:transparent;left:' + eval(style_3r.right - 30) + 'px;\" title=\"' + hrefs[ihrefs].substring(1).split(' title=')[1].substring(1).split(hrefs[ihrefs].substring(0,1))[0] + '\" href=\"' + hrefs[ihrefs].substring(1).split(hrefs[ihrefs].substring(0,1))[0] + '\"&gt;&lt;\/a&gt;';<br \/>\n           break;<br \/>\n<br \/> <br \/>\n          case 'ive':<br \/>\n           document.body.innerHTML+='&lt;a id=adiv2' + omover + omout + ' target=_blank style=\"opacity:0.5;background-repeat:no-repeat;background-size:30px 20px;background-image:url(\/PHP\/five.jpg' + rdbit + ');position:absolute;z-index:99;top:' + eval(style_3r.bottom - 20) + 'px;width:30px;height:20px;background-color:transparent;left:' + style_3r.left + 'px;\" title=\"' + hrefs[ihrefs].substring(1).split(' title=')[1].substring(1).split(hrefs[ihrefs].substring(0,1))[0] + '\" href=\"' + hrefs[ihrefs].substring(1).split(hrefs[ihrefs].substring(0,1))[0] + '\"&gt;&lt;\/a&gt;';<br \/>\n           break;<br \/>\n<br \/> <br \/>\n          case 'our':<br \/>\n           document.body.innerHTML+='&lt;a id=adiv1' + omover + omout + ' target=_blank style=\"opacity:0.5;background-repeat:no-repeat;background-size:30px 20px;background-image:url(\/PHP\/four.jpg' + rdbit + ');position:absolute;z-index:99;top:' + eval(style_3r.bottom - 20) + 'px;width:30px;height:20px;background-color:transparent;left:' + eval(style_3r.right - 30) + 'px;\" title=\"' + hrefs[ihrefs].substring(1).split(' title=')[1].substring(1).split(hrefs[ihrefs].substring(0,1))[0] + '\" href=\"' + hrefs[ihrefs].substring(1).split(hrefs[ihrefs].substring(0,1))[0] + '\"&gt;&lt;\/a&gt;';<br \/>\n           break;<br \/>\n<br \/> <br \/>\n          default:<br \/>\n           break;<br \/>\n        }<br \/>\n      }<br \/>\n      document.body.innerHTML+=bdapp;<br \/>\n      bodyrect=document.getElementById('nav_layer').getBoundingClientRect();<br \/>\n     }<br \/>\n   }<br \/>\n }<br \/>\n}<br \/>\n<\/code>\n<\/td>\n<\/tr>\n<\/table>\n<p>Feel free <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/\" title=\"Click picture\">to try<\/a>, coming off a new &#8220;(everywhere)&#8221; appended dropdown option a user can select!<\/p>\n<p><!--p>You can also see this play out at WordPress 4.1.1's <a target=_blank  href='\/\/www.rjmprogramming.com.au\/ITblog\/google-translate-landing-page-changed-interfacing-links-tutorial\/'>Google Translate Landing Page Changed Interfacing Links Tutorial<\/a>.<\/p-->\n<hr>\n<p id='gtlpcit'>Previous relevant <a target=_blank title='Google Translate Landing Page Changed Interfacing Tutorial' href='\/\/www.rjmprogramming.com.au\/ITblog\/google-translate-landing-page-changed-interfacing-tutorial\/'>Google Translate Landing Page Changed Interfacing Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"Google Translate Landing Page Translate Changed Interfacing Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/lp_gt_revisited.jpg\" title=\"Google Translate Webpage Translate Updated List Tutorial\"  style=\"float:left;\"   \/><\/a><p class=\"wp-caption-text\">Google Translate Landing Page Changed Interfacing Tutorial<\/p><\/div>\n<p>It pays to keep in touch with third party arrangements you have in place, as for the recent <a title='Google Translate Landing Page Translate Updated List Tutorial' href='#gtlptult'>Google Translate Landing Page Translate Updated List Tutorial<\/a>&#8216;s interfacing to the great <a target=_blank href='https:\/\/translate.google.com\/' title='Google Translate'>Google Translate<\/a> resource capable of translating our <a target=_blank href=\"https:\/\/www.rjmprogramming.com.au\/ITblog\" title='Landing Page'>RJM Programming blog<\/a> (via <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/\" title='Landing Page'>Landing page<\/a> language dropdown (select) element up the top right) to non-English languages.<\/p>\n<p>But two interfacing to <a target=_blank href='https:\/\/translate.google.com\/' title='Google Translate'>Google Translate<\/a> aspects have changed since we had occasion to &#8220;see how this was going&#8221; <font size=1>(oops!)<\/font> &#8230;<\/p>\n<ol>\n<li>enforcing <i>https:<\/i> protocol &#8230; and &#8230;<\/li>\n<li>extra <b>&#038;_x_tr_pto=wapp<\/b> to arguments &#8230; as per <font color=purple>old<\/font> versus <font color=blue>new<\/font> Landing Page Javascript code arrangements &#8230;<br \/>\n<code><br \/>\n<font color=purple>function oldChangeLcodeNow(){<br \/>\n\/\/&lt;![CDATA[<br \/>\n var val = document.getElementById('language');<br \/>\n if (val.value.length != 0 && val.value.indexOf('en') == (0 - 1)) {<br \/>\n   var pprefix = val[val.selectedIndex].id;<br \/>\n    var dd=new Date();<br \/>\n    window.open('\/\/www-rjmprogramming-com-au.translate.goog\/ITblog\/' + dd.getFullYear() + '\/' + ('0' + eval(1 + eval('' + dd.getMonth()))).slice(-2) + '\/' + ('0' + eval(0 + eval('' + dd.getDate()))).slice(-2) + '\/?_x_tr_sl=en&_x_tr_hl=en-GB&_x_tr_pto=nui&_x_tr_tl=' + val.value, '_blank');<br \/>\n }<br \/>\n\/\/]]&gt;<br \/>\n}<\/font><br \/>\n<br \/> <br \/>\n<font color=blue>function ChangeLcodeNow(){<br \/>\n\/\/&lt;![CDATA[<br \/>\n var val = document.getElementById('language');<br \/>\n if (val.value.length != 0 && val.value.indexOf('en') == (0 - 1)) {<br \/>\n   var pprefix = val[val.selectedIndex].id;<br \/>\n    var dd=new Date();<br \/>\n    window.open('<i>https:<\/i>\/\/www-rjmprogramming-com-au.translate.goog\/ITblog\/' + dd.getFullYear() + '\/' + ('0' + eval(1 + eval('' + dd.getMonth()))).slice(-2) + '\/' + ('0' + eval(0 + eval('' + dd.getDate()))).slice(-2) + '\/?_x_tr_sl=en&_x_tr_hl=en-GB&_x_tr_pto=nui&_x_tr_tl=' + val.value<b> + '&_x_tr_pto=wapp'<\/b>, '_blank');<br \/>\n }<br \/>\n\/\/]]&gt;<br \/>\n}<\/font><br \/>\n<\/code>\n<\/li>\n<\/ol>\n<p> &#8230; linking the user picking a non-English language off the dropdown element be able to translate that day&#8217;s latest RJM Programming blog post into that language via Google Translate.  Thanks heaps!<\/p>\n<p><!--p>You can also see this play out at WordPress 4.1.1's <a target=_blank  href='\/\/www.rjmprogramming.com.au\/ITblog\/google-translate-landing-page-translate-changed-interfacing-tutorial\/'>Google Translate Landing Page Translate Changed Interfacing Tutorial<\/a>.<\/p-->\n<hr>\n<p id='gtlptult'>Previous relevant <a target=_blank title='Google Translate Landing Page Translate Updated List Tutorial' href='\/\/www.rjmprogramming.com.au\/ITblog\/google-translate-landing-page-translate-updated-list-tutorial\/'>Google Translate Landing Page Translate Updated List Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/About_Us.html\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"Google Translate Landing Page Translate Updated List Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/lp_update_save.jpg\" title=\"Google Translate Webpage Translate Updated List Tutorial\"  style=\"float:left;\"   \/><\/a><p class=\"wp-caption-text\">Google Translate Landing Page Translate Updated List Tutorial<\/p><\/div>\n<p>Yesterday&#8217;s <a title='Google Translate Landing Page Translate Update Tutorial' href='#gtlptut'>Google Translate Landing Page Translate Update Tutorial<\/a> left off with &#8230;<\/p>\n<blockquote cite='\/\/www.rjmprogramming.com.au\/ITblog\/google-translate-landing-page-translate-update-tutorial\/'><p>\nIt&#8217;s the start that does not ingrain the webpage HTML to any great permanence, and that is for another &#8220;PHP involvement&#8221; day.\n<\/p><\/blockquote>\n<p> &#8230; and that new day is upon us.  Whenever you combine &#8230;<\/p>\n<ul>\n<li>PHP writing public HTML webpage data &#8230; with &#8230;<\/li>\n<li>a user interface (and we&#8217;d really only like that &#8220;user set&#8221; to be an administrator of this blog)<\/li>\n<\/ul>\n<p> &#8230; it&#8217;s a potential data security issue you are opening up, and yet, we do want to involve some automation of webpage code here for something that can be ascertained.  So <font color=blue>let&#8217;s try to protect ourselves<\/font> <font size=1>(to some degree)<\/font> regarding the PHP below &#8230;<\/p>\n<p>&lt;?php<br \/>\n<code><br \/>\n if (isset($_POST['langih'])<font color=blue> && strpos(strtolower('' . $_SERVER['HTTP_REFERER']), \"rjmprogramming.com.au\/about_us.html\") !== false<\/font>) {<br \/>\n   $prefis=\".\/\";<br \/>\n   $ftf=[\"index.htm\",\"index.html\",\"indexmobile.html\",\"About_Us.html\",\"Contact_Us.html\",\"Guestbook.html\",\"Link.html\",\"Links.html\",\"Services.html\",\"Welcome.html\",\"News.html\",\"Welcome.htm\",\"Welcomeslideshow.htm\",\"Welcomeslideshow.html\",\"slideshow.html\"];<br \/>\n   $lih=str_replace(\"+\", \" \", urldecode($_POST['langih']));<br \/>\n   <font color=blue>if (strpos(\"~\" . strtolower($lih), \"~&lt;option\") !== false) {<br \/>\n   if (strpos(strtolower($lih) . \"~\", \"&lt;\/option&gt;~\") !== false) {<br \/>\n   if (strpos($lih, \"&gt;Blog Language\") !== false) {<\/font><br \/>\n <br \/> <br \/>\n   for ($i=0; $i&lt;sizeof($ftf); $i++) {<br \/>\n     if (file_exists($prefis . $ftf[$i])) {<br \/>\n     $cont=file_get_contents($prefis . $ftf[$i]);<br \/>\n   <font color=blue>if (strpos($cont, \"&gt;Blog Language\") !== false) {<br \/>\n     if (strpos(str_replace(\"&lt;option\",\"\",str_replace(\"&lt;\/option&gt;\",\"\",strtolower($lih))), \"&lt;\") === false) {<br \/>\n     if (strlen(explode(\"&lt;\/select&gt;\", explode(\"&gt;Blog Language\", $lih)[1])[0]) &gt; strlen($wasis)) {<br \/>\n     if (sizeof(explode(\"&gt;\",explode(\"&lt;\/select&gt;\", explode(\"&gt;Blog Language\", $lih)[1])[0])) &gt;= sizeof(explode(\"&gt;\",$wasis))) {<\/font><br \/>\n     file_put_contents($prefis . $ftf[$i] . \"_spare\", $cont);<br \/>\n     $wasis=explode(\"&lt;\/select&gt;\", explode(\"&gt;Blog Language\", $cont)[1])[0];<br \/>\n     $contnew=str_replace($wasis, explode(\"&lt;\/select&gt;\", explode(\"&gt;Blog Language\", $lih)[1])[0], $cont);<br \/>\n     file_put_contents($prefis . $ftf[$i], $contnew);<br \/>\n     }<br \/>\n   }<br \/>\n     <font color=blue>}<br \/>\n     }<br \/>\n     }<br \/>\n     }<\/font><br \/>\n <br \/>\n   <font color=blue>}<br \/>\n   }<br \/>\n   }<\/font><br \/>\n }<br \/>\n exit;<br \/>\n<\/code><br \/>\n?&gt;<\/p>\n<p> &#8230; restricting calling URLs and some of the look and size and content of the posted data, and working with the <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/About_Us.html\" title=\"Click picture\">&#8220;About Us&#8221;<\/a> webpage &#8220;place&#8221; to automate, the idea of choosing &#8220;English&#8221; from the &#8220;Blog Language&#8221; dropdown, as per <font color=blue>the changed<\/font> Javascript and <a target=_blank title='Ajax info via W3schools' href='http:\/\/www.w3schools.com\/js\/js_ajax_intro.asp'>Ajax<\/a> <font color=purple>&#8220;way in&#8221;<\/font> &#8230;<\/p>\n<p><code><br \/>\nfunction ChangeLcodeNow(){<br \/>\n var val = document.getElementById('language');<br \/>\n if (val.value.length != 0 && val.value.indexOf('en') == (0 - 1)) {<br \/>\n   var pprefix = val[val.selectedIndex].id;<br \/>\n    var dd=new Date();<br \/>\n    window.open('\/\/www-rjmprogramming-com-au.translate.goog\/ITblog\/' + dd.getFullYear() + '\/' + ('0' + eval(1 + eval('' + dd.getMonth()))).slice(-2) + '\/' + ('0' + eval(0 + eval('' + dd.getDate()))).slice(-2) + '\/?_x_tr_sl=en&_x_tr_hl=en-GB&_x_tr_pto=nui&_x_tr_tl=' + val.value, '_blank');<br \/>\n } <font color=blue>else if (val.value.length != 0 && val.value.indexOf('en') != (0 - 1)) {<br \/>\n    if (ajaxitp) { ajaxitp(); }<br \/>\n }<\/font><br \/>\n}<br \/>\n<br \/>\n<font color=purple>function ajaxitp() {<br \/>\n  var xurl = '.\/getme.php';<br \/>\n  var formis = new FormData();<br \/>\n  myxhr = new XMLHttpRequest();<br \/>\n  if (myxhr) {<br \/>\n    formis.append('langih', document.getElementById('language').innerHTML);<br \/>\n    myxhr.open('POST', xurl); \/\/, true);<br \/>\n    myxhr.send(formis);<br \/>\n  }<br \/>\n}<\/font><br \/>\n<\/code><\/p>\n<p><!--p>You can also see this play out at WordPress 4.1.1's <a target=_blank  href='\/\/www.rjmprogramming.com.au\/ITblog\/google-translate-landing-page-translate-updated-list-tutorial\/'>Google Translate Landing Page Translate Updated List Tutorial<\/a>.<\/p-->\n<hr>\n<p id='gtlptut'>Previous relevant <a target=_blank title='Google Translate Landing Page Translate Update Tutorial' href='\/\/www.rjmprogramming.com.au\/ITblog\/google-translate-landing-page-translate-update-tutorial\/'>Google Translate Landing Page Translate Update Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/index.htm\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"Google Translate Landing Page Translate Update Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/lp_lang_ext.jpg\" title=\"Google Translate Webpage Translate Update Tutorial\"  style=\"float:left;\"   \/><\/a><p class=\"wp-caption-text\">Google Translate Landing Page Translate Update Tutorial<\/p><\/div>\n<p>The recent <a title='Google Translate Landing Page Translate Tutorial' href='#gtlptt'>Google Translate Landing Page Translate Tutorial<\/a> &#8230;<\/p>\n<ul>\n<li>updated our &#8220;interface&#8221; to the great <a target=_blank title='Google Translate' href='http:\/\/translate.google.com'>Google Translate<\/a> strategy for the RJM Programming <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/index.htm\" title=\"Click picture\">Landing Page<\/a> webpage group &#8230; but &#8230;<\/li>\n<li>did not update to the latest <a target=_blank title='Google Translate language code list' href='http:\/\/cloud.google.com\/translate\/docs\/languages'>&#8220;language code list&#8221;<\/a> to the great <a target=_blank title='Google Translate' href='http:\/\/translate.google.com'>Google Translate<\/a> for the RJM Programming <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/index.htm\" title=\"Click picture\">Landing Page<\/a> webpage group<\/li>\n<\/ul>\n<p> &#8230; and so, we are here today, with our start to remedies for this (Javascript DOM, via <a target=_blank title='Ajax info via W3schools' href='http:\/\/www.w3schools.com\/js\/js_ajax_intro.asp'>Ajax<\/a>, change below) &#8230;<\/p>\n<p><code><br \/>\nvar myxhr=null;<br \/>\n<br \/>\nfunction backin() {<br \/>\n<br \/> <br \/>\n  if (myxhr.readyState == 4) {<br \/>\n    if (myxhr.status == 200) {<br \/>\n      if (myxhr.responseText) {<br \/>\n       if (document.getElementById('language')) {<br \/>\n        \/\/alert(myxhr.responseText);<br \/>\n        var mhs=myxhr.responseText.replace(\/\\&lt;\\\/code\\&gt;\\&lt;\\\/td\\&gt;\/g,'&lt;&gt;').split('&gt;&lt;code translate=\"no\" dir=\"ltr\"&gt;');<br \/>\n        if (mhs.length &gt; 1) {<br \/>\n          var thiscodeis='', thisdescis='';<br \/>\n          var wasih=document.getElementById('language').innerHTML;<br \/>\n          var outih=wasih.split('&lt;\/option&gt;')[0] + '&lt;\/option&gt;';<br \/>\n          var origih=wasih.replace(outih, '');<br \/>\n          for (var iuh=1; iuh&lt;mhs.length; iuh++) {<br \/>\n            thisdescis=mhs[eval(-1 + iuh)].split('&lt;td&gt;')[eval(-1 + mhs[eval(-1 + iuh)].split('&lt;td&gt;').length)];<br \/>\n            \/\/console.log('first thisdescis=' + thisdescis + ' and mhs[eval(-1 + iuh)]=' + mhs[eval(-1 + iuh)].slice(-200));<br \/>\n            thisdescis=thisdescis.split('&lt;')[0];<br \/>\n            thiscodeis=mhs[iuh].split('&lt;')[0].split('(')[0].trim();<br \/>\n            \/\/console.log('thiscodeis=' + thiscodeis + ' and thisdescis=' + thisdescis + ' and mhs[eval(-1 + iuh)]=' + mhs[eval(-1 + iuh)].slice(-200));<br \/>\n            if (wasih.toLowerCase().indexOf(' value=\"' + thiscodeis.toLowerCase() + '\"') == -1 && wasih.toLowerCase().indexOf(thisdescis.toLowerCase()) == -1) {<br \/>\n            outih+='&lt;option value=\"' + thiscodeis + '\"&gt;' + thisdescis + ' &amp;#10024;&lt;\/OPTION&gt;';<br \/>\n            } else {<br \/>\n            outih+='&lt;option value=\"' + thiscodeis + '\"&gt;' + thisdescis + '&lt;\/OPTION&gt;';<br \/>\n            }<br \/>\n          }<br \/>\n          if (outih.indexOf('\/OPTION') != -1 && origih.toLowerCase() != outih.toLowerCase()) {<br \/>\n            document.getElementById('language').innerHTML=outih.replace('&lt;\/option&gt;', ' &amp;#10024;&lt;\/OPTION&gt;');<br \/>\n            document.getElementById('language').style.maxWidth='150px';<br \/>\n          }<br \/>\n        }<br \/>\n       }<br \/>\n      }<br \/>\n    }<br \/>\n  }<br \/>\n}<br \/>\n<br \/>\nfunction ajaxit() {<br \/>\n  var xurl = '\/\/cloud.google.com\/translate\/docs\/languages';<br \/>\n  \/\/alert(1);<br \/>\n  myxhr = new XMLHttpRequest();<br \/>\n  if (myxhr) {<br \/>\n  \/\/alert(2);<br \/>\n    myxhr.onreadystatechange = backin;<br \/>\n    myxhr.open('GET', 'getme.php?getme=' + encodeURIComponent(xurl), true);<br \/>\n    myxhr.send(null);<br \/>\n  }<br \/>\n}<br \/>\n<br \/>\nfunction refreshl() {<br \/>\n  if (document.getElementById('language')) {<br \/>\n    ajaxit();<br \/>\n  }<br \/>\n}<br \/>\n<br \/>\nsetTimeout(refreshl, 5000);<br \/>\n<\/code><\/p>\n<p>It&#8217;s the start that does not ingrain the webpage HTML to any great permanence, and that is for another &#8220;PHP involvement&#8221; day.<\/p>\n<p><!--p>You can also see this play out at WordPress 4.1.1's <a target=_blank  href='\/\/www.rjmprogramming.com.au\/ITblog\/google-translate-landing-page-translate-update-tutorial\/'>Google Translate Landing Page Translate Update Tutorial<\/a>.<\/p-->\n<hr>\n<p id='gtlptt'>Previous relevant <a target=_blank title='Google Translate Landing Page Translate Tutorial' href='\/\/www.rjmprogramming.com.au\/ITblog\/google-translate-landing-page-translate-tutorial\/'>Google Translate Landing Page Translate Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/index.htm\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"Google Translate Landing Page Translate Tutorial\" src=\"https:\/\/www.rjmprogramming.com.au\/ITblog\/landing_page_blog_language.gif\" title=\"Google Translate Webpage Translate Tutorial\"  style=\"float:left;\"   \/><\/a><p class=\"wp-caption-text\">Google Translate Landing Page Translate Tutorial<\/p><\/div>\n<p>Yesterday&#8217;s &#8230;<\/p>\n<ul>\n<li><a title='Google Translate Webpage Translate Tutorial' href='#gtwtt'>Google Translate Webpage Translate Tutorial<\/a> was the major part of RJM Programming&#8217;s <a target=_blank title='Google Translate' href='http:\/\/translate.google.com'>Google Translate<\/a> strategy change <font size=2>(ie. getting it working again <\/font><font size=1>&#8230; doh!<\/font><font size=1>)<\/font> &#8230; but it&#8217;s not the whole story &#8230; and another part is &#8230;<\/li>\n<li>today we extend that strategy to change the <a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/\">RJM Programming Landing Page<\/a> <a target=_blank title='Google Translate' href='http:\/\/translate.google.com'>Google Translate<\/a> interfacing to change from a &#8220;Landing Page content&#8221; strategy to a &#8220;Navigate to WordPress Blog&#8221; strategy <font size=1>(feeding into yesterday&#8217;s thinking)<\/font>, our justification being that the better content of the RJM Programming domain sits within the WordPress Blog we support and maintain<\/li>\n<\/ul>\n<p> &#8230; so there, ngarrrrgh!<\/p>\n<p>But <font size=1>(growing up quickly)<\/font> we see a better arrangement here, just adding the prefix &#8220;<font color=blue>Blog<\/font>&#8221; onto the old (just) &#8220;Language&#8221; labelled dropdown to modify the &#8220;new &#8220;<font color=blue>Blog<\/font> Language&#8221; (to end up with HTML snippet &lt;option value=&#8221;&#8221;&gt;<font color=blue>Blog<\/font> Language&lt;\/option&gt;) dropdown&#8217;s Javascript &#8220;onchange&#8221; event logic &#8230;<\/p>\n<p><code><br \/>\n\/\/ To ...<br \/>\nfunction ChangeLcodeNow(){<br \/>\n\/\/&lt;![CDATA[<br \/>\n var val = document.getElementById('language');<br \/>\n if (val.value.length != 0 && val.value.indexOf('en') == (0 - 1)) {<br \/>\n    var pprefix = val[val.selectedIndex].id;<br \/>\n    var dd=new Date();<br \/>\n    window.open('\/\/www-rjmprogramming-com-au.translate.goog\/ITblog\/' + dd.getFullYear() + '\/' + ('0' + eval(1 + eval('' + dd.getMonth()))).slice(-2) + '\/' + ('0' + eval(0 + eval('' + dd.getDate()))).slice(-2) + '\/?_x_tr_sl=en&_x_tr_hl=en-GB&_x_tr_pto=nui&_x_tr_tl=' + val.value, '_blank');<br \/>\n }<br \/>\n\/\/]]&gt;<br \/>\n}<br \/>\n<br \/> <br \/>\n\/\/ ... From ...<br \/>\nfunction olderChangeLcodeNow(){<br \/>\n\/\/&lt;![CDATA[<br \/>\n var val = document.getElementById('language');<br \/>\n if (val.value.length != 0 && val.value.indexOf('en') == (0 - 1)) {<br \/>\n   var pprefix = val[val.selectedIndex].id;<br \/>\n   windowopen('http:\/\/translate.google.com\/translate?sl=en&js=n&prev=_t&hl=en&ie=UTF-8&layout=2&eotf=1&u=http%3A%2F%2Fwww.rjmprogramming.com.au%2Findex.html&tl=' + val.value, '_blank');<br \/>\n }<br \/>\n\/\/]]&gt;<br \/>\n}<br \/>\n<\/code><\/p>\n<p>Again, <a target=_blank href=\"https:\/\/www.rjmprogramming.com.au\/ITblog\/landing_page_blog_language.gif\">not too onerous<\/a>!<\/p>\n<p><!--p>You can also see this play out at WordPress 4.1.1's <a target=_blank  href='\/\/www.rjmprogramming.com.au\/ITblog\/new-google-translate-webpage-translate-tutorial\/'>Google Translate Landing Page Translate Tutorial<\/a>.<\/p-->\n<hr>\n<p id='gtwtt'>Previous relevant <a target=_blank title='Google Translate Webpage Translate Tutorial' href='\/\/www.rjmprogramming.com.au\/ITblog\/google-translate-webpage-translate-tutorial\/'>Google Translate Webpage Translate Tutorial<\/a> is shown below.<\/p>\n<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp_gt_fix.gif\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"Google Translate Webpage Translate Tutorial\" src=\"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp_gt_fix.gif\" title=\"Google Translate Webpage Translate Tutorial\"  style=\"float:left;\"   \/><\/a><p class=\"wp-caption-text\">Google Translate Webpage Translate Tutorial<\/p><\/div>\n<p>We really like the way <a target=_blank title='Google Translate' href='http:\/\/translate.google.com'>Google Translate<\/a> can language translate whole webpages for URLs of choice, sometimes.  We use it here at this blog, but sometime into the past &#8230; we cannot recall <font size=1>(sorrrrrryyyyyyyyy!)<\/font> &#8230; the arrangements of use of this great functionality changed, and today we want to go over what we did for this blog to fix some of this interfacing.<\/p>\n<p>It was in <font size=1>good ol&#8217; WordPress TwentyTen theme&#8217;s<\/font> header.php <font color=blue>we made the change<\/font> to facilitate this &#8220;reconnection&#8221; to this great functionality &#8230;<\/p>\n<p>&lt;?php<br \/>\n<code><br \/>\nfunction ChangeLcodeNow(){<br \/>\n var val = document.getElementById('language');<br \/>\n \/\/alert(val.value);<br \/>\n if (val.value.length != 0 && val.value.indexOf('en') == (0 - 1)) {<br \/>\n \/\/alert(val.value);<br \/>\n var pprefix = val[val.selectedIndex].id;<br \/>\n&lt;?php<br \/>\n   $p316 = \"316\";<br \/>\n   $pprefix = \"\";<br \/>\n   if (strpos($_SERVER['QUERY_STRING'], \"p=0\") !== false) {<br \/>\n   $pprefix = \"\";<br \/>\n   } else {<br \/>\n   if (isset($_GET['p'])) {<br \/>\n     if (strpos($_GET['p'], \"304\") !== false) {<br \/>\n     $p316 = \"316\";<br \/>\n     } else {<br \/>\n     $p316 = $_GET['p'];<br \/>\n     }<br \/>\n   }<br \/>\n<br \/>\n$isiPad = (bool) strpos($_SERVER['HTTP_USER_AGENT'],'iPad');<br \/>\nif ($isiPad === false) {<br \/>\n  $isiPad = (bool) strpos($_SERVER['HTTP_USER_AGENT'],'iPhone');<br \/>\n}<br \/>\nif ($isiPad === false) {<br \/>\n  $isiPad = (bool) strpos($_SERVER['HTTP_USER_AGENT'],'Android');<br \/>\n}<br \/>\n<br \/>\n   <font color=blue>if (1 == 1) {    \/\/                                                                      _x_tr_sl=en&_x_tr_tl=de&_x_tr_hl=en-GB&_x_tr_pto=nui<br \/>\n   echo \"  window.open('\/\/www-rjmprogramming-com-au.translate.goog\/ITblog?p=' + pprefix + '&_x_tr_sl=en&_x_tr_hl=en-GB&_x_tr_pto=nui&_x_tr_tl=' + val.value, '_top'); \" . \"\\n\";<br \/>\n   } else {<\/font><br \/>\n   if ($isiPad) {<br \/>\n   \/\/echo \"  window.open('\/\/translate.google.com\/translate?sl=en&js=n&prev=_t&hl=en&ie=UTF-8&layout=2&eotf=1&u=http%3A%2F%2Fwww.rjmprogramming.com.au%2Fwordpress%2F%3Fp%3D' + pprefix + '\".$p316.\"&tl=' + val.value, '_top'); \" . \"\\n\";<br \/>\n   echo \"  window.open('\/\/translate.google.com\/translate?sl=en&js=n&prev=_t&hl=en&ie=UTF-8&layout=2&eotf=1&u=http%3A%2F%2Fwww.rjmprogramming.com.au%2Fwordpress%2F%3Fp%3D' + pprefix + '\".$p316.\"&tl=' + val.value, '_top'); \" . \"\\n\";<br \/>\n   } else {<br \/>\n   \/\/echo \"window.location.href = '\/\/translate.google.com\/translate?sl=en&js=n&prev=_t&hl=en&ie=UTF-8&layout=2&eotf=1&u=http%3A%2F%2Fwww.rjmprogramming.com.au%2Fwordpress%2F%3Fp%3D' + pprefix + '\".$p316.\"&tl=' + val.value; \" . \"\\n\";<br \/>\n   echo \"window.location.href = '\/\/translate.google.com\/translate?sl=en&js=n&prev=_t&hl=en&ie=UTF-8&layout=2&eotf=1&u=http%3A%2F%2Fwww.rjmprogramming.com.au%2Fwordpress%2F%3Fp%3D' + pprefix + '\".$p316.\"&tl=' + val.value; \" . \"\\n\";<br \/>\n   }<br \/>\n   }<br \/>\n   <font color=blue>}<\/font><br \/>\n?&gt;<br \/>\n   \/\/window.open('\/\/translate.google.com\/translate?sl=en&js=n&prev=_t&hl=en&ie=UTF-8&layout=2&eotf=1&u=http%3A%2F%2Fwww.rjmprogramming.com.au%2Fwordpress&tl=' + val.value, '_blank');<br \/>\n \/\/alert(\"yes\" + val.value);<br \/>\n }<br \/>\n}<br \/>\n<\/code><br \/>\n?&gt;<\/p>\n<p>Not too bruising!<\/p>\n<p><!--p>You can also see this play out at WordPress 4.1.1's <a target=_blank  href='\/\/www.rjmprogramming.com.au\/ITblog\/google-translate-webpage-translate-tutorial\/'>Google Translate Webpage Translate Tutorial<\/a>.<\/p-->\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d53558' onclick='var dv=document.getElementById(\"d53558\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/wordpress\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d53558' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d53564' onclick='var dv=document.getElementById(\"d53564\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/landing-page\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d53564' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d53639' onclick='var dv=document.getElementById(\"d53639\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/ajax\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d53639' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d53644' onclick='var dv=document.getElementById(\"d53644\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/administrator\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d53644' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d56000' onclick='var dv=document.getElementById(\"d56000\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/interfacing\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d56000' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n<hr>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d56017' onclick='var dv=document.getElementById(\"d56017\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/link\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d56017' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Onto yesterday&#8217;s Google Translate Landing Page Changed Interfacing Tutorial we wanted to extend the functionality, given user intervention, that other links on the Landing Pages can be sent to Google Translate for webpage translation. We decided to &#8230; Add two &hellip; <a href=\"https:\/\/www.rjmprogramming.com.au\/ITblog\/google-translate-landing-page-changed-interfacing-links-tutorial\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12,14,37],"tags":[513,532,587,1577,3695,680,1807,870,3880,1300,1319,1418],"class_list":["post-56017","post","type-post","status-publish","format-standard","hentry","category-elearning","category-event-driven-programming","category-tutorials","tag-google","tag-google-translate","tag-iframe","tag-interface","tag-interfacing","tag-landing-page","tag-link","tag-onload","tag-third-party","tag-translate","tag-tutorial","tag-webpage"],"_links":{"self":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/56017"}],"collection":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/comments?post=56017"}],"version-history":[{"count":9,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/56017\/revisions"}],"predecessor-version":[{"id":56051,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/56017\/revisions\/56051"}],"wp:attachment":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/media?parent=56017"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/categories?post=56017"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/tags?post=56017"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}