Version Description
- Fixed relative path issue in .htaccess file for some websites which use mixed https and http
- Fixed IE javascript error on GTranslate Settings page preventing correct rendering of options
- Fixed popup view issue to show the selected language correctly
- Fixed issue when changing language from language with 3 letter language code to another
- A hint on re-ordering the languages list for better user experience was added
- Reset widget code to default button was added
Download this release
Release Info
Developer | edo888 |
Plugin | Translate WordPress with GTranslate |
Version | 2.8.26 |
Comparing to | |
See all releases |
Code changes from version 2.8.25 to 2.8.26
- gtranslate.php +83 -121
- readme.txt +9 -1
gtranslate.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: GTranslate
|
4 |
Plugin URI: https://gtranslate.io/?xyz=998
|
5 |
Description: Makes your website <strong>multilingual</strong> and available to the world using Google Translate. For support visit <a href="https://wordpress.org/support/plugin/gtranslate">GTranslate Support</a>.
|
6 |
-
Version: 2.8.
|
7 |
Author: Edvard Ananyan
|
8 |
Author URI: https://gtranslate.io
|
9 |
Text Domain: gtranslate
|
@@ -114,6 +114,8 @@ class GTranslate extends WP_Widget {
|
|
114 |
// avoid caching issues
|
115 |
if($data['widget_look'] == 'dropdown_with_flags' and ($data['pro_version'] or $data['enterprise_version'])) {
|
116 |
echo '<script>jQuery(document).ready(function() {jQuery(\'.switcher div.selected a\').html(jQuery(".switcher div.option a[onclick*=\'|"+jQuery(\'html\').attr(\'lang\')+"\']").html())});</script>';
|
|
|
|
|
117 |
}
|
118 |
|
119 |
//if(isset($_SERVER['HTTP_X_GT_LANG']) and in_array($_SERVER['HTTP_X_GT_LANG'], array('en','ar','bg','zh-CN','zh-TW','zh-cn','zh-tw','hr','cs','da','nl','fi','fr','de','el','hi','it','ja','ko','no','pl','pt','ro','ru','es','sv','ca','tl','iw','id','lv','lt','sr','sk','sl','uk','vi','sq','et','gl','hu','mt','th','tr','fa','af','ms','sw','ga','cy','be','is','mk','yi','hy','az','eu','ka','ht','ur','bn','bs','ceb','eo','gu','ha','hmn','ig','jw','kn','km','lo','la','mi','mr','mn','ne','pa','so','ta','te','yo','zu','my','ny','kk','mg','ml','si','st','su','tg','uz','am','co','haw','ku','ky','lb','ps','sm','gd','sn','sd','fy','xh'))) {
|
@@ -137,6 +139,8 @@ class GTranslate extends WP_Widget {
|
|
137 |
// avoid caching issues
|
138 |
if($data['widget_look'] == 'dropdown_with_flags' and ($data['pro_version'] or $data['enterprise_version'])) {
|
139 |
echo '<script>jQuery(document).ready(function() {jQuery(\'.switcher div.selected a\').html(jQuery(".switcher div.option a[onclick*=\'|"+jQuery(\'html\').attr(\'lang\')+"\']").html())});</script>';
|
|
|
|
|
140 |
}
|
141 |
|
142 |
//if(isset($_SERVER['HTTP_X_GT_LANG']) and in_array($_SERVER['HTTP_X_GT_LANG'], array('en','ar','bg','zh-CN','zh-TW','zh-cn','zh-tw','hr','cs','da','nl','fi','fr','de','el','hi','it','ja','ko','no','pl','pt','ro','ru','es','sv','ca','tl','iw','id','lv','lt','sr','sk','sl','uk','vi','sq','et','gl','hu','mt','th','tr','fa','af','ms','sw','ga','cy','be','is','mk','yi','hy','az','eu','ka','ht','ur','bn','bs','ceb','eo','gu','ha','hmn','ig','jw','kn','km','lo','la','mi','mr','mn','ne','pa','so','ta','te','yo','zu','my','ny','kk','mg','ml','si','st','su','tg','uz','am','co','haw','ku','ky','lb','ps','sm','gd','sn','sd','fy','xh'))) {
|
@@ -157,6 +161,8 @@ class GTranslate extends WP_Widget {
|
|
157 |
// avoid caching issues
|
158 |
if($data['widget_look'] == 'dropdown_with_flags' and ($data['pro_version'] or $data['enterprise_version'])) {
|
159 |
return $data['widget_code'] . '<script>jQuery(document).ready(function() {jQuery(\'.switcher div.selected a\').html(jQuery(".switcher div.option a[onclick*=\'|"+jQuery(\'html\').attr(\'lang\')+"\']").html())});</script>';
|
|
|
|
|
160 |
}
|
161 |
|
162 |
//if(isset($_SERVER['HTTP_X_GT_LANG']) and in_array($_SERVER['HTTP_X_GT_LANG'], array('en','ar','bg','zh-CN','zh-TW','zh-cn','zh-tw','hr','cs','da','nl','fi','fr','de','el','hi','it','ja','ko','no','pl','pt','ro','ru','es','sv','ca','tl','iw','id','lv','lt','sr','sk','sl','uk','vi','sq','et','gl','hu','mt','th','tr','fa','af','ms','sw','ga','cy','be','is','mk','yi','hy','az','eu','ka','ht','ur','bn','bs','ceb','eo','gu','ha','hmn','ig','jw','kn','km','lo','la','mi','mr','mn','ne','pa','so','ta','te','yo','zu','my','ny','kk','mg','ml','si','st','su','tg','uz','am','co','haw','ku','ky','lb','ps','sm','gd','sn','sd','fy','xh'))) {
|
@@ -421,79 +427,28 @@ function RefreshDoWidgetCode() {
|
|
421 |
|
422 |
// Adding javascript
|
423 |
widget_preview += '<script type="text/javascript">'+new_line;
|
424 |
-
widget_preview +=
|
425 |
-
|
426 |
-
|
427 |
-
|
428 |
-
|
429 |
-
|
430 |
-
|
431 |
-
|
432 |
-
|
433 |
-
|
434 |
-
|
435 |
-
|
436 |
-
|
437 |
-
|
438 |
-
|
439 |
-
|
440 |
-
|
441 |
-
|
442 |
-
|
443 |
-
|
444 |
-
|
445 |
-
|
446 |
-
do {
|
447 |
-
|
448 |
-
if (j + 1 > Math.round(2 * r0 * Math.PI / d) * (nc + 1) * (nc + 2) / 2) {
|
449 |
-
nc++;
|
450 |
-
r = r + r0;
|
451 |
-
cntpc = Math.floor(2 * Math.PI * r / d);
|
452 |
-
}
|
453 |
-
|
454 |
-
angle = j * 2 * Math.PI / cntpc + Math.PI / 4;
|
455 |
-
x = centerPosition.left + Math.cos(angle) * r;
|
456 |
-
y = centerPosition.top + Math.sin(angle) * r;
|
457 |
-
|
458 |
-
var positionGSatelites = ($('.gsatelites').parent().css('position') == 'fixed' ? $('.gsatelites').parent().position() : $('.gsatelites').offset()),
|
459 |
-
vpHeight = $(window).height(),
|
460 |
-
vpWidth = $(window).width(),
|
461 |
-
tpViz = positionGSatelites.top + y >= 0 && positionGSatelites.top + y < vpHeight,
|
462 |
-
btViz = positionGSatelites.top + y + 24 > 0 && positionGSatelites.top + y + 24 <= vpHeight,
|
463 |
-
ltViz = positionGSatelites.left + x >= 0 && positionGSatelites.left + x < vpWidth,
|
464 |
-
rtViz = positionGSatelites.left + x + 24 > 0 && positionGSatelites.left + x + 24 <= vpWidth,
|
465 |
-
vVisible = tpViz && btViz,
|
466 |
-
hVisible = ltViz && rtViz;
|
467 |
-
|
468 |
-
if (vVisible && hVisible) {
|
469 |
-
break;
|
470 |
-
} else {
|
471 |
-
j++;
|
472 |
-
}
|
473 |
-
} while (j - i < 10 * count);
|
474 |
-
|
475 |
-
|
476 |
-
$('.gsatelites').append('<span class="gsatelite gs' + (i + 1) + ' glang_' + language_codes2[i] + '" onclick="doGTranslate(`+"\\\\'"+default_language+`|'+language_codes2[i]+'`+"\\\\'"+`)" title="' + languages[i] + '" style="background-image:url($wp_plugin_url/24/' + (function(l){if(l == 'en' && us_flag)return 'en-us';if(l == 'pt' && br_flag)return 'pt-br';if(l == 'es' && mx_flag)return 'es-mx';return l;})(language_codes2[i]) + '.png);left:' + x + 'px;top:' + y + 'px;"></span>');
|
477 |
-
$('.gs' + (i + 1)).delay((i + 1) * 10).fadeIn('fast');
|
478 |
-
|
479 |
-
}
|
480 |
-
}
|
481 |
-
|
482 |
-
function hideGSatelites($) {
|
483 |
-
$('.gsatelite').each(function(i) {
|
484 |
-
$(this).delay(($('.gsatelite').length - i - 1) * 10).fadeOut('fast');
|
485 |
-
});
|
486 |
-
}
|
487 |
-
(function($) {
|
488 |
-
$('body').click(function() {
|
489 |
-
hideGSatelites($);
|
490 |
-
});
|
491 |
-
$('.gglobe').click(function(e) {
|
492 |
-
e.stopPropagation();
|
493 |
-
renderGSatelites($, e);
|
494 |
-
});
|
495 |
-
})(jQuery);
|
496 |
-
`;
|
497 |
widget_preview += '<\/script>'+new_line;
|
498 |
}
|
499 |
|
@@ -612,6 +567,30 @@ function hideGSatelites($) {
|
|
612 |
}
|
613 |
|
614 |
if(widget_look == 'dropdown_with_flags') {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
615 |
// Adding slider html
|
616 |
widget_preview += '<div class="switcher notranslate">'+new_line;
|
617 |
widget_preview += '<div class="selected">'+new_line;
|
@@ -704,30 +683,6 @@ function hideGSatelites($) {
|
|
704 |
widget_preview += "jQuery('.switcher .option').bind('mousewheel', function(e) {var options = jQuery('.switcher .option');if(options.is(':visible'))options.scrollTop(options.scrollTop() - e.originalEvent.wheelDelta);return false;});"+new_line;
|
705 |
widget_preview += "jQuery('body').not('.switcher').mousedown(function(e) {if(jQuery('.switcher .option').is(':visible') && e.target != jQuery('.switcher .option').get(0)) {jQuery('.switcher .option').stop(true,true).delay(100).slideUp(500);jQuery('.switcher .selected a').toggleClass('open')}});"+new_line;
|
706 |
widget_preview += '<\/script>'+new_line;
|
707 |
-
|
708 |
-
// Adding slider css
|
709 |
-
widget_preview += '<style type="text/css">'+new_line;
|
710 |
-
//widget_preview += 'span.gflag {font-size:16px;padding:1px 0;background-repeat:no-repeat;background-image:url($wp_plugin_url/16.png);}'+new_line;
|
711 |
-
//widget_preview += 'span.gflag img {border:0;margin-top:2px;}'+new_line;
|
712 |
-
widget_preview += '.switcher {font-family:Arial;font-size:10pt;text-align:left;cursor:pointer;overflow:hidden;width:163px;line-height:17px;}'+new_line;
|
713 |
-
widget_preview += '.switcher a {text-decoration:none;display:block;font-size:10pt;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;}'+new_line;
|
714 |
-
//widget_preview += '.switcher a span.gflag {margin-right:3px;padding:0;display:block;float:left;}'+new_line;
|
715 |
-
widget_preview += '.switcher a img {vertical-align:middle;display:inline;border:0;padding:0;margin:0;opacity:0.8;}'+new_line;
|
716 |
-
widget_preview += '.switcher a:hover img {opacity:1;}'+new_line;
|
717 |
-
widget_preview += '.switcher .selected {background:#FFFFFF url($wp_plugin_url/switcher.png) repeat-x;position:relative;z-index:9999;}'+new_line;
|
718 |
-
widget_preview += '.switcher .selected a {border:1px solid #CCCCCC;background:url($wp_plugin_url/arrow_down.png) 146px center no-repeat;color:#666666;padding:3px 5px;width:151px;}'+new_line;
|
719 |
-
widget_preview += '.switcher .selected a.open {background-image:url($wp_plugin_url/arrow_up.png)}'+new_line;
|
720 |
-
widget_preview += '.switcher .selected a:hover {background:#F0F0F0 url($wp_plugin_url/arrow_down.png) 146px center no-repeat;}'+new_line;
|
721 |
-
widget_preview += '.switcher .option {position:relative;z-index:9998;border-left:1px solid #CCCCCC;border-right:1px solid #CCCCCC;border-bottom:1px solid #CCCCCC;background-color:#EEEEEE;display:none;width:161px;max-height:198px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;overflow-y:auto;overflow-x:hidden;}'+new_line;
|
722 |
-
widget_preview += '.switcher .option a {color:#000;padding:3px 5px;}'+new_line;
|
723 |
-
widget_preview += '.switcher .option a:hover {background:#FFC;}'+new_line;
|
724 |
-
widget_preview += '.switcher .option a.selected {background:#FFC;}'+new_line;
|
725 |
-
widget_preview += '#selected_lang_name {float: none;}'+new_line;
|
726 |
-
widget_preview += '.l_name {float: none !important;margin: 0;}'+new_line;
|
727 |
-
widget_preview += '.switcher .option::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 3px rgba(0,0,0,0.3);border-radius:5px;background-color:#F5F5F5;}'+new_line;
|
728 |
-
widget_preview += '.switcher .option::-webkit-scrollbar {width:5px;}'+new_line;
|
729 |
-
widget_preview += '.switcher .option::-webkit-scrollbar-thumb {border-radius:5px;-webkit-box-shadow: inset 0 0 3px rgba(0,0,0,.3);background-color:#888;}'+new_line;
|
730 |
-
widget_preview += '</style>'+new_line+new_line;
|
731 |
}
|
732 |
|
733 |
// Adding javascript
|
@@ -736,25 +691,25 @@ function hideGSatelites($) {
|
|
736 |
if(pro_version && translation_method == 'redirect' && new_window) {
|
737 |
widget_code += "function openTab(url) {var form=document.createElement('form');form.method='post';form.action=url;form.target='_blank';document.body.appendChild(form);form.submit();}"+new_line;
|
738 |
if(analytics)
|
739 |
-
widget_code += "function doGTranslate(lang_pair) {if(lang_pair.value)lang_pair=lang_pair.value;if(lang_pair=='')return;var lang=lang_pair.split('|')[1];if(typeof _gaq!='undefined'){_gaq.push(['_trackEvent', 'GTranslate', lang, location.pathname+location.search]);}else {if(typeof ga!='undefined')ga('send', 'event', 'GTranslate', lang, location.pathname+location.search);}var plang=location.pathname.split('/')[1];if(plang.length !=2 && plang != 'zh-CN' && plang != 'zh-TW')plang='"+default_language+"';if(lang == '"+default_language+"')openTab(location.protocol+'//'+location.host+gt_request_uri);else openTab(location.protocol+'//'+location.host+'/'+lang+gt_request_uri);}"+new_line;
|
740 |
else
|
741 |
-
widget_code += "function doGTranslate(lang_pair) {if(lang_pair.value)lang_pair=lang_pair.value;if(lang_pair=='')return;var lang=lang_pair.split('|')[1];var plang=location.pathname.split('/')[1];if(plang.length !=2 && plang != 'zh-CN' && plang != 'zh-TW')plang='"+default_language+"';if(lang == '"+default_language+"')openTab(location.protocol+'//'+location.host+gt_request_uri);else openTab(location.protocol+'//'+location.host+'/'+lang+gt_request_uri);}"+new_line;
|
742 |
} else if(pro_version && translation_method == 'redirect') {
|
743 |
if(analytics)
|
744 |
-
widget_code += "function doGTranslate(lang_pair) {if(lang_pair.value)lang_pair=lang_pair.value;if(lang_pair=='')return;var lang=lang_pair.split('|')[1];if(typeof _gaq!='undefined'){_gaq.push(['_trackEvent', 'GTranslate', lang, location.pathname+location.search]);}else {if(typeof ga!='undefined')ga('send', 'event', 'GTranslate', lang, location.pathname+location.search);}var plang=location.pathname.split('/')[1];if(plang.length !=2 && plang != 'zh-CN' && plang != 'zh-TW')plang='"+default_language+"';if(lang == '"+default_language+"')location.href=location.protocol+'//'+location.host+gt_request_uri;else location.href=location.protocol+'//'+location.host+'/'+lang+gt_request_uri;}"+new_line;
|
745 |
else
|
746 |
-
widget_code += "function doGTranslate(lang_pair) {if(lang_pair.value)lang_pair=lang_pair.value;if(lang_pair=='')return;var lang=lang_pair.split('|')[1];var plang=location.pathname.split('/')[1];if(plang.length !=2 && plang != 'zh-CN' && plang != 'zh-TW')plang='"+default_language+"';if(lang == '"+default_language+"')location.href=location.protocol+'//'+location.host+gt_request_uri;else location.href=location.protocol+'//'+location.host+'/'+lang+gt_request_uri;}"+new_line;
|
747 |
} else if(enterprise_version && translation_method == 'redirect' && new_window) {
|
748 |
widget_code += "function openTab(url) {var form=document.createElement('form');form.method='post';form.action=url;form.target='_blank';document.body.appendChild(form);form.submit();}"+new_line;
|
749 |
if(analytics)
|
750 |
-
widget_code += "function doGTranslate(lang_pair) {if(lang_pair.value)lang_pair=lang_pair.value;if(lang_pair=='')return;var lang=lang_pair.split('|')[1];if(typeof _gaq!='undefined'){_gaq.push(['_trackEvent', 'GTranslate', lang, location.hostname+location.pathname+location.search]);}else {if(typeof ga!='undefined')ga('send', 'event', 'GTranslate', lang, location.hostname+location.pathname+location.search);}var plang=location.hostname.split('.')[0];if(plang.length !=2 && plang.toLowerCase() != 'zh-cn' && plang.toLowerCase() != 'zh-tw')plang='"+default_language+"';openTab(location.protocol+'//'+(lang == '"+default_language+"' ? '' : lang+'.')+location.hostname.replace('www.', '').replace(RegExp('^' + plang + '\\\\\\\\.'), '')+gt_request_uri);}"+new_line;
|
751 |
else
|
752 |
-
widget_code += "function doGTranslate(lang_pair) {if(lang_pair.value)lang_pair=lang_pair.value;if(lang_pair=='')return;var lang=lang_pair.split('|')[1];var plang=location.hostname.split('.')[0];if(plang.length !=2 && plang.toLowerCase() != 'zh-cn' && plang.toLowerCase() != 'zh-tw')plang='"+default_language+"';openTab(location.protocol+'//'+(lang == '"+default_language+"' ? '' : lang+'.')+location.hostname.replace('www.', '').replace(RegExp('^' + plang + '\\\\\\\\.'), '')+gt_request_uri);}"+new_line;
|
753 |
} else if(enterprise_version && translation_method == 'redirect') {
|
754 |
if(analytics)
|
755 |
-
widget_code += "function doGTranslate(lang_pair) {if(lang_pair.value)lang_pair=lang_pair.value;if(lang_pair=='')return;var lang=lang_pair.split('|')[1];if(typeof _gaq!='undefined'){_gaq.push(['_trackEvent', 'GTranslate', lang, location.hostname+location.pathname+location.search]);}else {if(typeof ga!='undefined')ga('send', 'event', 'GTranslate', lang, location.hostname+location.pathname+location.search);}var plang=location.hostname.split('.')[0];if(plang.length !=2 && plang.toLowerCase() != 'zh-cn' && plang.toLowerCase() != 'zh-tw')plang='"+default_language+"';location.href=location.protocol+'//'+(lang == '"+default_language+"' ? '' : lang+'.')+location.hostname.replace('www.', '').replace(RegExp('^' + plang + '\\\\\\\\.'), '')+gt_request_uri;}"+new_line;
|
756 |
else
|
757 |
-
widget_code += "function doGTranslate(lang_pair) {if(lang_pair.value)lang_pair=lang_pair.value;if(lang_pair=='')return;var lang=lang_pair.split('|')[1];var plang=location.hostname.split('.')[0];if(plang.length !=2 && plang.toLowerCase() != 'zh-cn' && plang.toLowerCase() != 'zh-tw')plang='"+default_language+"';location.href=location.protocol+'//'+(lang == '"+default_language+"' ? '' : lang+'.')+location.hostname.replace('www.', '').replace(RegExp('^' + plang + '\\\\\\\\.'), '')+gt_request_uri;}"+new_line;
|
758 |
} else if(translation_method == 'onfly') {
|
759 |
widget_code += "function GTranslateGetCurrentLang() {var keyValue = document['cookie'].match('(^|;) ?googtrans=([^;]*)(;|$)');return keyValue ? keyValue[2].split('/')[2] : null;}"+new_line;
|
760 |
widget_code += "function GTranslateFireEvent(element,event){try{if(document.createEventObject){var evt=document.createEventObject();element.fireEvent('on'+event,evt)}else{var evt=document.createEvent('HTMLEvents');evt.initEvent(event,true,true);element.dispatchEvent(evt)}}catch(e){}}"+new_line;
|
@@ -764,6 +719,8 @@ function hideGSatelites($) {
|
|
764 |
widget_code += "function doGTranslate(lang_pair){if(lang_pair.value)lang_pair=lang_pair.value;if(lang_pair=='')return;var lang=lang_pair.split('|')[1];if(GTranslateGetCurrentLang() == null && lang == lang_pair.split('|')[0])return;var teCombo;var sel=document.getElementsByTagName('select');for(var i=0;i<sel.length;i++)if(/goog-te-combo/.test(sel[i].className)){teCombo=sel[i];break;}if(document.getElementById('google_translate_element2')==null||document.getElementById('google_translate_element2').innerHTML.length==0||teCombo.length==0||teCombo.innerHTML.length==0){setTimeout(function(){doGTranslate(lang_pair)},500)}else{teCombo.value=lang;GTranslateFireEvent(teCombo,'change');GTranslateFireEvent(teCombo,'change')}}"+new_line;
|
765 |
if(widget_look == 'dropdown_with_flags') {
|
766 |
widget_code += "if(GTranslateGetCurrentLang() != null)jQuery(document).ready(function() {jQuery('div.switcher div.selected a').html(jQuery('div.switcher div.option').find('img[alt=\"'+GTranslateGetCurrentLang()+'\"]').parent().html());});"+new_line;
|
|
|
|
|
767 |
}
|
768 |
}
|
769 |
|
@@ -1031,11 +988,11 @@ EOT;
|
|
1031 |
</tr>
|
1032 |
<tr>
|
1033 |
<td class="option_name">* <?php _e('Sub-directory URL structure', 'gtranslate'); ?>:<br><code><small>http://example.com/<b>ru</b>/</small></code></td>
|
1034 |
-
<td><input id="pro_version" name="pro_version" value="1" type="checkbox" onclick="if(jQuery('#pro_version').is(':checked') && jQuery('#enterprise_version').is(':checked'))jQuery('#enterprise_version').prop('checked', false);RefreshDoWidgetCode()" onchange="RefreshDoWidgetCode()"/> <a href="https://gtranslate.io/?xyz=998#pricing" target="_blank" title="If you already have a subscription, you can enable this.">* <?php _e('paid plans only', 'gtranslate'); ?></a></td>
|
1035 |
</tr>
|
1036 |
<tr>
|
1037 |
<td class="option_name">* <?php _e('Sub-domain URL structure', 'gtranslate'); ?>:<br><code><small>http://<b>es</b>.example.com/</small></code></td>
|
1038 |
-
<td><input id="enterprise_version" name="enterprise_version" value="1" type="checkbox" onclick="if(jQuery('#pro_version').is(':checked') && jQuery('#enterprise_version').is(':checked'))jQuery('#pro_version').prop('checked', false);RefreshDoWidgetCode()" onchange="RefreshDoWidgetCode()"/> <a href="https://gtranslate.io/?xyz=998#pricing" target="_blank" title="If you already have a subscription, you can enable this.">* <?php _e('paid plans only', 'gtranslate'); ?></a></td>
|
1039 |
</tr>
|
1040 |
<tr id="url_translation_option" style="display:none;">
|
1041 |
<td class="option_name"><?php _e('Enable URL Translation', 'gtranslate'); ?>:</td>
|
@@ -1089,7 +1046,7 @@ EOT;
|
|
1089 |
</td>
|
1090 |
</tr>
|
1091 |
<tr id="flag_languages_option" style="display:none;">
|
1092 |
-
<td class="option_name" colspan="2"><?php _e('Flag languages', 'gtranslate'); ?>: <a onclick="jQuery('.connectedSortable1 input').attr('checked', true);RefreshDoWidgetCode()" style="cursor:pointer;text-decoration:underline;"><?php _e('Check All', 'gtranslate'); ?></a> | <a onclick="jQuery('.connectedSortable1 input').attr('checked', false);RefreshDoWidgetCode()" style="cursor:pointer;text-decoration:underline;"><?php _e('Uncheck All', 'gtranslate'); ?></a><br /><br />
|
1093 |
|
1094 |
<div style="overflow:hidden;">
|
1095 |
<?php $gt_lang_codes = explode(',', $language_codes); ?>
|
@@ -1121,7 +1078,7 @@ EOT;
|
|
1121 |
<td><input id="add_new_line" name="add_new_line" value="1" type="checkbox" checked="checked" onclick="RefreshDoWidgetCode()" onchange="RefreshDoWidgetCode()"/></td>
|
1122 |
</tr>
|
1123 |
<tr id="dropdown_languages_option" style="display:none;">
|
1124 |
-
<td class="option_name" colspan="2"><?php _e('Languages', 'gtranslate'); ?>: <a onclick="jQuery('.connectedSortable2 input').attr('checked', true);RefreshDoWidgetCode()" style="cursor:pointer;text-decoration:underline;"><?php _e('Check All', 'gtranslate'); ?></a> | <a onclick="jQuery('.connectedSortable2 input').attr('checked', false);RefreshDoWidgetCode()" style="cursor:pointer;text-decoration:underline;"><?php _e('Uncheck All', 'gtranslate'); ?></a><br /><br />
|
1125 |
<div>
|
1126 |
<?php $gt_lang_codes = explode(',', $language_codes2); ?>
|
1127 |
<?php for($i = 0; $i < count($gt_lang_array) / 26; $i++): ?>
|
@@ -1148,6 +1105,7 @@ EOT;
|
|
1148 |
<p><?php _e('This area is for advanced users ONLY who know HTML/CSS/Javascript and do not want to use "Show floating language selector" option.', 'gtranslate'); ?></p>
|
1149 |
<?php _e('You can edit this if you wish', 'gtranslate'); ?>:<br />
|
1150 |
<textarea id="widget_code" name="widget_code" onchange="ShowWidgetPreview(this.value)" style="font-family:Monospace;font-size:11px;height:150px;width:565px;"><?php echo $widget_code; ?></textarea><br />
|
|
|
1151 |
<span style="color:red;"><?php _e('DO NOT COPY THIS INTO YOUR POSTS OR PAGES! Use [GTranslate] shortcode inside the post/page <br />or add a GTranslate widget into your sidebar from Appearance -> Widgets instead.', 'gtranslate'); ?></span><br /><br />
|
1152 |
<?php _e('You can also use <code><?php echo do_shortcode(\'[gtranslate]\'); ?></code> in your template header/footer files.', 'gtranslate'); ?>
|
1153 |
</div>
|
@@ -1189,22 +1147,24 @@ EOT;
|
|
1189 |
|
1190 |
<div id="poststuff">
|
1191 |
<div class="postbox">
|
1192 |
-
<h3 id="settings"><?php _e('Paid
|
1193 |
<div class="inside">
|
1194 |
-
<p><?php _e('Prices starting from <b>$3.99/month</b>!', 'gtranslate'); ?></p>
|
1195 |
<ul style="list-style-type:square;padding-left:20px;">
|
1196 |
-
<li style="margin:0;"><?php _e('
|
1197 |
<li style="margin:0;"><?php _e('Search engine friendly (SEF) URLs', 'gtranslate'); ?></li>
|
1198 |
<li style="margin:0;"><?php _e('Human level neural translations', 'gtranslate'); ?></li>
|
1199 |
<li style="margin:0;"><?php _e('Edit translations manually', 'gtranslate'); ?></li>
|
1200 |
-
<li style="margin:0;"><?php _e('Meta data translation', 'gtranslate'); ?></li>
|
1201 |
<li style="margin:0;"><?php _e('URL/slug translation', 'gtranslate'); ?></li>
|
1202 |
-
<li style="margin:0;"><?php _e('Language hosting (example.fr, example.es)', 'gtranslate'); ?></li>
|
1203 |
<li style="margin:0;"><?php _e('Seamless updates', 'gtranslate'); ?></li>
|
1204 |
-
<li style="margin:0;"><?php _e('
|
1205 |
-
<li style="margin:0;"><?php _e('Works
|
|
|
1206 |
</ul>
|
1207 |
|
|
|
|
|
1208 |
<a href="https://gtranslate.io/?xyz=998#pricing" target="_blank"><?php _e('15 day free trial', 'gtranslate'); ?></a> | <a href="https://gtranslate.io/?xyz=998#faq" target="_blank"><?php _e('FAQ', 'gtranslate'); ?></a> | <a href="https://gtranslate.io/?xyz=998#contact" target="_blank"><?php _e('Live Chat', 'gtranslate'); ?></a>
|
1209 |
</div>
|
1210 |
</div>
|
@@ -1258,10 +1218,10 @@ EOT;
|
|
1258 |
|
1259 |
<div id="poststuff">
|
1260 |
<div class="postbox">
|
1261 |
-
<h3 id="settings"><?php _e('Live
|
1262 |
<div class="inside">
|
1263 |
<p>9am - 6pm (Mon - Fri) New York Time</p>
|
1264 |
-
<p
|
1265 |
</div>
|
1266 |
</div>
|
1267 |
</div>
|
@@ -1289,7 +1249,7 @@ EOT;
|
|
1289 |
</style>
|
1290 |
|
1291 |
<?php $user_info = wp_get_current_user(); ?>
|
1292 |
-
<script>window.intercomSettings = {app_id: "r70azrgx", 'email': '<?php echo addslashes($user_info->user_email); ?>', 'name': '<?php echo addslashes($user_info->first_name . ' ' . $user_info->last_name); ?>', 'website': '<?php echo addslashes(get_site_url()); ?>', 'translate_from': '<?php echo $default_language; ?>', 'is_sub_directory': <?php echo (empty($pro_version) ? '0' : '1'); ?>, 'is_sub_domain': <?php echo (empty($enterprise_version) ? '0' : '1'); ?>};(function(){var w=window;var ic=w.Intercom;if(typeof ic==="function"){ic('reattach_activator');ic('update',intercomSettings);}else{var d=document;var i=function(){i.c(arguments)};i.q=[];i.c=function(args){i.q.push(args)};w.Intercom=i;function l(){var s=d.createElement('script');s.type='text/javascript';s.async=true;s.src='https://widget.intercom.io/widget/r70azrgx';var x=d.getElementsByTagName('script')[0];x.parentNode.insertBefore(s,x);}if(w.attachEvent){w.attachEvent('onload',l);}else{w.addEventListener('load',l,false);}}})()</script>
|
1293 |
<script>
|
1294 |
var intercom_timeout = setInterval(function() {
|
1295 |
var intercom_box = jQuery('#intercom-container .intercom-launcher-frame');
|
@@ -1346,7 +1306,7 @@ EOT;
|
|
1346 |
$htaccess = file_get_contents($htaccess_file);
|
1347 |
if(strpos($htaccess, 'gtranslate.php') === false) { // no config rules
|
1348 |
$rewrite_rules = file_get_contents(dirname(__FILE__) . '/url_addon/rewrite.txt');
|
1349 |
-
$rewrite_rules = str_replace('GTRANSLATE_PLUGIN_PATH', str_replace(home_url(), '', plugins_url()) . '/gtranslate', $rewrite_rules);
|
1350 |
|
1351 |
$htaccess = $rewrite_rules . "\r\n\r\n" . $htaccess;
|
1352 |
if(!empty($htaccess)) { // going to update .htaccess
|
@@ -1436,6 +1396,8 @@ class GTranslateWidget extends WP_Widget {
|
|
1436 |
// avoid caching issues
|
1437 |
if($data['widget_look'] == 'dropdown_with_flags' and ($data['pro_version'] or $data['enterprise_version'])) {
|
1438 |
echo '<script>jQuery(document).ready(function() {jQuery(\'.switcher div.selected a\').html(jQuery(".switcher div.option a[onclick*=\'|"+jQuery(\'html\').attr(\'lang\')+"\']").html())});</script>';
|
|
|
|
|
1439 |
}
|
1440 |
|
1441 |
echo $args['after_widget'];
|
3 |
Plugin Name: GTranslate
|
4 |
Plugin URI: https://gtranslate.io/?xyz=998
|
5 |
Description: Makes your website <strong>multilingual</strong> and available to the world using Google Translate. For support visit <a href="https://wordpress.org/support/plugin/gtranslate">GTranslate Support</a>.
|
6 |
+
Version: 2.8.26
|
7 |
Author: Edvard Ananyan
|
8 |
Author URI: https://gtranslate.io
|
9 |
Text Domain: gtranslate
|
114 |
// avoid caching issues
|
115 |
if($data['widget_look'] == 'dropdown_with_flags' and ($data['pro_version'] or $data['enterprise_version'])) {
|
116 |
echo '<script>jQuery(document).ready(function() {jQuery(\'.switcher div.selected a\').html(jQuery(".switcher div.option a[onclick*=\'|"+jQuery(\'html\').attr(\'lang\')+"\']").html())});</script>';
|
117 |
+
} elseif($data['widget_look'] == 'popup' and ($data['pro_version'] or $data['enterprise_version'])) {
|
118 |
+
echo '<script>jQuery(document).ready(function() {var lang_html = jQuery(".gt_languages a[onclick*=\'|"+jQuery(\'html\').attr(\'lang\')+"\']").html();if(typeof lang_html != "undefined")jQuery(\'a.switcher-popup\').html(lang_html+\'<span style=\"color:#666;font-size:8px;font-weight:bold;\">▼</span>\');});</script>';
|
119 |
}
|
120 |
|
121 |
//if(isset($_SERVER['HTTP_X_GT_LANG']) and in_array($_SERVER['HTTP_X_GT_LANG'], array('en','ar','bg','zh-CN','zh-TW','zh-cn','zh-tw','hr','cs','da','nl','fi','fr','de','el','hi','it','ja','ko','no','pl','pt','ro','ru','es','sv','ca','tl','iw','id','lv','lt','sr','sk','sl','uk','vi','sq','et','gl','hu','mt','th','tr','fa','af','ms','sw','ga','cy','be','is','mk','yi','hy','az','eu','ka','ht','ur','bn','bs','ceb','eo','gu','ha','hmn','ig','jw','kn','km','lo','la','mi','mr','mn','ne','pa','so','ta','te','yo','zu','my','ny','kk','mg','ml','si','st','su','tg','uz','am','co','haw','ku','ky','lb','ps','sm','gd','sn','sd','fy','xh'))) {
|
139 |
// avoid caching issues
|
140 |
if($data['widget_look'] == 'dropdown_with_flags' and ($data['pro_version'] or $data['enterprise_version'])) {
|
141 |
echo '<script>jQuery(document).ready(function() {jQuery(\'.switcher div.selected a\').html(jQuery(".switcher div.option a[onclick*=\'|"+jQuery(\'html\').attr(\'lang\')+"\']").html())});</script>';
|
142 |
+
} elseif($data['widget_look'] == 'popup' and ($data['pro_version'] or $data['enterprise_version'])) {
|
143 |
+
echo '<script>jQuery(document).ready(function() {var lang_html = jQuery(".gt_languages a[onclick*=\'|"+jQuery(\'html\').attr(\'lang\')+"\']").html();if(typeof lang_html != "undefined")jQuery(\'a.switcher-popup\').html(lang_html+\'<span style=\"color:#666;font-size:8px;font-weight:bold;\">▼</span>\');});</script>';
|
144 |
}
|
145 |
|
146 |
//if(isset($_SERVER['HTTP_X_GT_LANG']) and in_array($_SERVER['HTTP_X_GT_LANG'], array('en','ar','bg','zh-CN','zh-TW','zh-cn','zh-tw','hr','cs','da','nl','fi','fr','de','el','hi','it','ja','ko','no','pl','pt','ro','ru','es','sv','ca','tl','iw','id','lv','lt','sr','sk','sl','uk','vi','sq','et','gl','hu','mt','th','tr','fa','af','ms','sw','ga','cy','be','is','mk','yi','hy','az','eu','ka','ht','ur','bn','bs','ceb','eo','gu','ha','hmn','ig','jw','kn','km','lo','la','mi','mr','mn','ne','pa','so','ta','te','yo','zu','my','ny','kk','mg','ml','si','st','su','tg','uz','am','co','haw','ku','ky','lb','ps','sm','gd','sn','sd','fy','xh'))) {
|
161 |
// avoid caching issues
|
162 |
if($data['widget_look'] == 'dropdown_with_flags' and ($data['pro_version'] or $data['enterprise_version'])) {
|
163 |
return $data['widget_code'] . '<script>jQuery(document).ready(function() {jQuery(\'.switcher div.selected a\').html(jQuery(".switcher div.option a[onclick*=\'|"+jQuery(\'html\').attr(\'lang\')+"\']").html())});</script>';
|
164 |
+
} elseif($data['widget_look'] == 'popup' and ($data['pro_version'] or $data['enterprise_version'])) {
|
165 |
+
return $data['widget_code'] . '<script>jQuery(document).ready(function() {var lang_html = jQuery(".gt_languages a[onclick*=\'|"+jQuery(\'html\').attr(\'lang\')+"\']").html();if(typeof lang_html != "undefined")jQuery(\'a.switcher-popup\').html(lang_html+\'<span style=\"color:#666;font-size:8px;font-weight:bold;\">▼</span>\');});</script>';
|
166 |
}
|
167 |
|
168 |
//if(isset($_SERVER['HTTP_X_GT_LANG']) and in_array($_SERVER['HTTP_X_GT_LANG'], array('en','ar','bg','zh-CN','zh-TW','zh-cn','zh-tw','hr','cs','da','nl','fi','fr','de','el','hi','it','ja','ko','no','pl','pt','ro','ru','es','sv','ca','tl','iw','id','lv','lt','sr','sk','sl','uk','vi','sq','et','gl','hu','mt','th','tr','fa','af','ms','sw','ga','cy','be','is','mk','yi','hy','az','eu','ka','ht','ur','bn','bs','ceb','eo','gu','ha','hmn','ig','jw','kn','km','lo','la','mi','mr','mn','ne','pa','so','ta','te','yo','zu','my','ny','kk','mg','ml','si','st','su','tg','uz','am','co','haw','ku','ky','lb','ps','sm','gd','sn','sd','fy','xh'))) {
|
427 |
|
428 |
// Adding javascript
|
429 |
widget_preview += '<script type="text/javascript">'+new_line;
|
430 |
+
widget_preview += "function renderGSatelites($, e) { $('.gsatelite').remove();"+new_line;
|
431 |
+
widget_preview += "var centerPosition = $('.gglobe').position();"+new_line;
|
432 |
+
widget_preview += "centerPosition.left += Math.floor($('.gglobe').width() / 2) - 10;"+new_line;
|
433 |
+
widget_preview += "centerPosition.top += Math.floor($('.gglobe').height() / 2) - 10;"+new_line;
|
434 |
+
widget_preview += 'var language_codes2 = '+JSON.stringify(jQuery(".connectedSortable2 li input:checked").map(function() {return jQuery(this).val();}).toArray())+';'+new_line;
|
435 |
+
widget_preview += 'var languages = '+JSON.stringify((function(){var langs = [], selected_lang_codes = jQuery(".connectedSortable2 li input:checked").map(function() {return jQuery(this).val();}).toArray();for(var key in selected_lang_codes)langs.push(gt_lang_array[selected_lang_codes[key]]);return langs;})())+';'+new_line;
|
436 |
+
widget_preview += 'var us_flag = '+(jQuery('#alt_us:checked').length ? 'true' : 'false')+';'+new_line;
|
437 |
+
widget_preview += 'var ca_flag = '+(jQuery('#alt_ca:checked').length ? 'true' : 'false')+';'+new_line;
|
438 |
+
widget_preview += 'var br_flag = '+(jQuery('#alt_br:checked').length ? 'true' : 'false')+';'+new_line;
|
439 |
+
widget_preview += 'var mx_flag = '+(jQuery('#alt_mx:checked').length ? 'true' : 'false')+';'+new_line;
|
440 |
+
widget_preview += 'var qc_flag = '+(jQuery('#alt_qc:checked').length ? 'true' : 'false')+';'+new_line;
|
441 |
+
widget_preview += 'var count = language_codes2.length, r0 = 55, r = r0, d = 34, cntpc = 12, nc = 0, m = 1.75;'+new_line;
|
442 |
+
widget_preview += 'cntpc = 2 * Math.PI * r0 / 34;'+new_line;
|
443 |
+
widget_preview += 'for (var i = 0, j = 0; i < count; i++, j++) {'+new_line;
|
444 |
+
widget_preview += 'var x, y, angle;'+new_line;
|
445 |
+
widget_preview += 'do {if (j + 1 > Math.round(2 * r0 * Math.PI / d) * (nc + 1) * (nc + 2) / 2) {nc++;r = r + r0;cntpc = Math.floor(2 * Math.PI * r / d);}angle = j * 2 * Math.PI / cntpc + Math.PI / 4;x = centerPosition.left + Math.cos(angle) * r;y = centerPosition.top + Math.sin(angle) * r;'+new_line;
|
446 |
+
widget_preview += "var positionGSatelites = ($('.gsatelites').parent().css('position') == 'fixed' ? $('.gsatelites').parent().position() : $('.gsatelites').offset()),vpHeight = $(window).height(),vpWidth = $(window).width(),tpViz = positionGSatelites.top + y >= 0 && positionGSatelites.top + y < vpHeight,btViz = positionGSatelites.top + y + 24 > 0 && positionGSatelites.top + y + 24 <= vpHeight,ltViz = positionGSatelites.left + x >= 0 && positionGSatelites.left + x < vpWidth,rtViz = positionGSatelites.left + x + 24 > 0 && positionGSatelites.left + x + 24 <= vpWidth,vVisible = tpViz && btViz,hVisible = ltViz && rtViz;if (vVisible && hVisible) {break;} else {j++;}} while (j - i < 10 * count);"+new_line;
|
447 |
+
widget_preview += "$('.gsatelites').append('<span class=\"gsatelite gs' + (i + 1) + ' glang_' + language_codes2[i] + '\" onclick=\"doGTranslate("+"\\\\'"+default_language+"|'+language_codes2[i]+'"+"\\\\'"+")\" title=\"' + languages[i] + '\" style=\"background-image:url($wp_plugin_url/24/' + (function(l){if(l == 'en' && us_flag)return 'en-us';if(l == 'pt' && br_flag)return 'pt-br';if(l == 'es' && mx_flag)return 'es-mx';return l;})(language_codes2[i]) + '.png);left:' + x + 'px;top:' + y + 'px;\"></span>');"+new_line;
|
448 |
+
widget_preview += "$('.gs' + (i + 1)).delay((i + 1) * 10).fadeIn('fast');"+new_line;
|
449 |
+
widget_preview += '}}'+new_line;
|
450 |
+
widget_preview += "function hideGSatelites($) { $('.gsatelite').each(function(i) { $(this).delay(($('.gsatelite').length - i - 1) * 10).fadeOut('fast');});}"+new_line;
|
451 |
+
widget_preview += "(function($) { $('body').click(function() {hideGSatelites($);});$('.gglobe').click(function(e) {e.stopPropagation();renderGSatelites($, e);});})(jQuery);"+new_line;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
452 |
widget_preview += '<\/script>'+new_line;
|
453 |
}
|
454 |
|
567 |
}
|
568 |
|
569 |
if(widget_look == 'dropdown_with_flags') {
|
570 |
+
// Adding slider css
|
571 |
+
widget_preview += '<style type="text/css">'+new_line;
|
572 |
+
//widget_preview += 'span.gflag {font-size:16px;padding:1px 0;background-repeat:no-repeat;background-image:url($wp_plugin_url/16.png);}'+new_line;
|
573 |
+
//widget_preview += 'span.gflag img {border:0;margin-top:2px;}'+new_line;
|
574 |
+
widget_preview += '.switcher {font-family:Arial;font-size:10pt;text-align:left;cursor:pointer;overflow:hidden;width:163px;line-height:17px;}'+new_line;
|
575 |
+
widget_preview += '.switcher a {text-decoration:none;display:block;font-size:10pt;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;}'+new_line;
|
576 |
+
//widget_preview += '.switcher a span.gflag {margin-right:3px;padding:0;display:block;float:left;}'+new_line;
|
577 |
+
widget_preview += '.switcher a img {vertical-align:middle;display:inline;border:0;padding:0;margin:0;opacity:0.8;}'+new_line;
|
578 |
+
widget_preview += '.switcher a:hover img {opacity:1;}'+new_line;
|
579 |
+
widget_preview += '.switcher .selected {background:#FFFFFF url($wp_plugin_url/switcher.png) repeat-x;position:relative;z-index:9999;}'+new_line;
|
580 |
+
widget_preview += '.switcher .selected a {border:1px solid #CCCCCC;background:url($wp_plugin_url/arrow_down.png) 146px center no-repeat;color:#666666;padding:3px 5px;width:151px;}'+new_line;
|
581 |
+
widget_preview += '.switcher .selected a.open {background-image:url($wp_plugin_url/arrow_up.png)}'+new_line;
|
582 |
+
widget_preview += '.switcher .selected a:hover {background:#F0F0F0 url($wp_plugin_url/arrow_down.png) 146px center no-repeat;}'+new_line;
|
583 |
+
widget_preview += '.switcher .option {position:relative;z-index:9998;border-left:1px solid #CCCCCC;border-right:1px solid #CCCCCC;border-bottom:1px solid #CCCCCC;background-color:#EEEEEE;display:none;width:161px;max-height:198px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;overflow-y:auto;overflow-x:hidden;}'+new_line;
|
584 |
+
widget_preview += '.switcher .option a {color:#000;padding:3px 5px;}'+new_line;
|
585 |
+
widget_preview += '.switcher .option a:hover {background:#FFC;}'+new_line;
|
586 |
+
widget_preview += '.switcher .option a.selected {background:#FFC;}'+new_line;
|
587 |
+
widget_preview += '#selected_lang_name {float: none;}'+new_line;
|
588 |
+
widget_preview += '.l_name {float: none !important;margin: 0;}'+new_line;
|
589 |
+
widget_preview += '.switcher .option::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 3px rgba(0,0,0,0.3);border-radius:5px;background-color:#F5F5F5;}'+new_line;
|
590 |
+
widget_preview += '.switcher .option::-webkit-scrollbar {width:5px;}'+new_line;
|
591 |
+
widget_preview += '.switcher .option::-webkit-scrollbar-thumb {border-radius:5px;-webkit-box-shadow: inset 0 0 3px rgba(0,0,0,.3);background-color:#888;}'+new_line;
|
592 |
+
widget_preview += '</style>'+new_line;
|
593 |
+
|
594 |
// Adding slider html
|
595 |
widget_preview += '<div class="switcher notranslate">'+new_line;
|
596 |
widget_preview += '<div class="selected">'+new_line;
|
683 |
widget_preview += "jQuery('.switcher .option').bind('mousewheel', function(e) {var options = jQuery('.switcher .option');if(options.is(':visible'))options.scrollTop(options.scrollTop() - e.originalEvent.wheelDelta);return false;});"+new_line;
|
684 |
widget_preview += "jQuery('body').not('.switcher').mousedown(function(e) {if(jQuery('.switcher .option').is(':visible') && e.target != jQuery('.switcher .option').get(0)) {jQuery('.switcher .option').stop(true,true).delay(100).slideUp(500);jQuery('.switcher .selected a').toggleClass('open')}});"+new_line;
|
685 |
widget_preview += '<\/script>'+new_line;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
686 |
}
|
687 |
|
688 |
// Adding javascript
|
691 |
if(pro_version && translation_method == 'redirect' && new_window) {
|
692 |
widget_code += "function openTab(url) {var form=document.createElement('form');form.method='post';form.action=url;form.target='_blank';document.body.appendChild(form);form.submit();}"+new_line;
|
693 |
if(analytics)
|
694 |
+
widget_code += "function doGTranslate(lang_pair) {if(lang_pair.value)lang_pair=lang_pair.value;if(lang_pair=='')return;var lang=lang_pair.split('|')[1];if(typeof _gaq!='undefined'){_gaq.push(['_trackEvent', 'GTranslate', lang, location.pathname+location.search]);}else {if(typeof ga!='undefined')ga('send', 'event', 'GTranslate', lang, location.pathname+location.search);}var plang=location.pathname.split('/')[1];if(plang.length !=2 && plang != 'zh-CN' && plang != 'zh-TW' && plang != 'hmn' && plang != 'haw' && plang != 'ceb')plang='"+default_language+"';if(lang == '"+default_language+"')openTab(location.protocol+'//'+location.host+gt_request_uri);else openTab(location.protocol+'//'+location.host+'/'+lang+gt_request_uri);}"+new_line;
|
695 |
else
|
696 |
+
widget_code += "function doGTranslate(lang_pair) {if(lang_pair.value)lang_pair=lang_pair.value;if(lang_pair=='')return;var lang=lang_pair.split('|')[1];var plang=location.pathname.split('/')[1];if(plang.length !=2 && plang != 'zh-CN' && plang != 'zh-TW' && plang != 'hmn' && plang != 'haw' && plang != 'ceb')plang='"+default_language+"';if(lang == '"+default_language+"')openTab(location.protocol+'//'+location.host+gt_request_uri);else openTab(location.protocol+'//'+location.host+'/'+lang+gt_request_uri);}"+new_line;
|
697 |
} else if(pro_version && translation_method == 'redirect') {
|
698 |
if(analytics)
|
699 |
+
widget_code += "function doGTranslate(lang_pair) {if(lang_pair.value)lang_pair=lang_pair.value;if(lang_pair=='')return;var lang=lang_pair.split('|')[1];if(typeof _gaq!='undefined'){_gaq.push(['_trackEvent', 'GTranslate', lang, location.pathname+location.search]);}else {if(typeof ga!='undefined')ga('send', 'event', 'GTranslate', lang, location.pathname+location.search);}var plang=location.pathname.split('/')[1];if(plang.length !=2 && plang != 'zh-CN' && plang != 'zh-TW' && plang != 'hmn' && plang != 'haw' && plang != 'ceb')plang='"+default_language+"';if(lang == '"+default_language+"')location.href=location.protocol+'//'+location.host+gt_request_uri;else location.href=location.protocol+'//'+location.host+'/'+lang+gt_request_uri;}"+new_line;
|
700 |
else
|
701 |
+
widget_code += "function doGTranslate(lang_pair) {if(lang_pair.value)lang_pair=lang_pair.value;if(lang_pair=='')return;var lang=lang_pair.split('|')[1];var plang=location.pathname.split('/')[1];if(plang.length !=2 && plang != 'zh-CN' && plang != 'zh-TW' && plang != 'hmn' && plang != 'haw' && plang != 'ceb')plang='"+default_language+"';if(lang == '"+default_language+"')location.href=location.protocol+'//'+location.host+gt_request_uri;else location.href=location.protocol+'//'+location.host+'/'+lang+gt_request_uri;}"+new_line;
|
702 |
} else if(enterprise_version && translation_method == 'redirect' && new_window) {
|
703 |
widget_code += "function openTab(url) {var form=document.createElement('form');form.method='post';form.action=url;form.target='_blank';document.body.appendChild(form);form.submit();}"+new_line;
|
704 |
if(analytics)
|
705 |
+
widget_code += "function doGTranslate(lang_pair) {if(lang_pair.value)lang_pair=lang_pair.value;if(lang_pair=='')return;var lang=lang_pair.split('|')[1];if(typeof _gaq!='undefined'){_gaq.push(['_trackEvent', 'GTranslate', lang, location.hostname+location.pathname+location.search]);}else {if(typeof ga!='undefined')ga('send', 'event', 'GTranslate', lang, location.hostname+location.pathname+location.search);}var plang=location.hostname.split('.')[0];if(plang.length !=2 && plang.toLowerCase() != 'zh-cn' && plang.toLowerCase() != 'zh-tw' && plang != 'hmn' && plang != 'haw' && plang != 'ceb')plang='"+default_language+"';openTab(location.protocol+'//'+(lang == '"+default_language+"' ? '' : lang+'.')+location.hostname.replace('www.', '').replace(RegExp('^' + plang + '\\\\\\\\.'), '')+gt_request_uri);}"+new_line;
|
706 |
else
|
707 |
+
widget_code += "function doGTranslate(lang_pair) {if(lang_pair.value)lang_pair=lang_pair.value;if(lang_pair=='')return;var lang=lang_pair.split('|')[1];var plang=location.hostname.split('.')[0];if(plang.length !=2 && plang.toLowerCase() != 'zh-cn' && plang.toLowerCase() != 'zh-tw' && plang != 'hmn' && plang != 'haw' && plang != 'ceb')plang='"+default_language+"';openTab(location.protocol+'//'+(lang == '"+default_language+"' ? '' : lang+'.')+location.hostname.replace('www.', '').replace(RegExp('^' + plang + '\\\\\\\\.'), '')+gt_request_uri);}"+new_line;
|
708 |
} else if(enterprise_version && translation_method == 'redirect') {
|
709 |
if(analytics)
|
710 |
+
widget_code += "function doGTranslate(lang_pair) {if(lang_pair.value)lang_pair=lang_pair.value;if(lang_pair=='')return;var lang=lang_pair.split('|')[1];if(typeof _gaq!='undefined'){_gaq.push(['_trackEvent', 'GTranslate', lang, location.hostname+location.pathname+location.search]);}else {if(typeof ga!='undefined')ga('send', 'event', 'GTranslate', lang, location.hostname+location.pathname+location.search);}var plang=location.hostname.split('.')[0];if(plang.length !=2 && plang.toLowerCase() != 'zh-cn' && plang.toLowerCase() != 'zh-tw' && plang != 'hmn' && plang != 'haw' && plang != 'ceb')plang='"+default_language+"';location.href=location.protocol+'//'+(lang == '"+default_language+"' ? '' : lang+'.')+location.hostname.replace('www.', '').replace(RegExp('^' + plang + '\\\\\\\\.'), '')+gt_request_uri;}"+new_line;
|
711 |
else
|
712 |
+
widget_code += "function doGTranslate(lang_pair) {if(lang_pair.value)lang_pair=lang_pair.value;if(lang_pair=='')return;var lang=lang_pair.split('|')[1];var plang=location.hostname.split('.')[0];if(plang.length !=2 && plang.toLowerCase() != 'zh-cn' && plang.toLowerCase() != 'zh-tw' && plang != 'hmn' && plang != 'haw' && plang != 'ceb')plang='"+default_language+"';location.href=location.protocol+'//'+(lang == '"+default_language+"' ? '' : lang+'.')+location.hostname.replace('www.', '').replace(RegExp('^' + plang + '\\\\\\\\.'), '')+gt_request_uri;}"+new_line;
|
713 |
} else if(translation_method == 'onfly') {
|
714 |
widget_code += "function GTranslateGetCurrentLang() {var keyValue = document['cookie'].match('(^|;) ?googtrans=([^;]*)(;|$)');return keyValue ? keyValue[2].split('/')[2] : null;}"+new_line;
|
715 |
widget_code += "function GTranslateFireEvent(element,event){try{if(document.createEventObject){var evt=document.createEventObject();element.fireEvent('on'+event,evt)}else{var evt=document.createEvent('HTMLEvents');evt.initEvent(event,true,true);element.dispatchEvent(evt)}}catch(e){}}"+new_line;
|
719 |
widget_code += "function doGTranslate(lang_pair){if(lang_pair.value)lang_pair=lang_pair.value;if(lang_pair=='')return;var lang=lang_pair.split('|')[1];if(GTranslateGetCurrentLang() == null && lang == lang_pair.split('|')[0])return;var teCombo;var sel=document.getElementsByTagName('select');for(var i=0;i<sel.length;i++)if(/goog-te-combo/.test(sel[i].className)){teCombo=sel[i];break;}if(document.getElementById('google_translate_element2')==null||document.getElementById('google_translate_element2').innerHTML.length==0||teCombo.length==0||teCombo.innerHTML.length==0){setTimeout(function(){doGTranslate(lang_pair)},500)}else{teCombo.value=lang;GTranslateFireEvent(teCombo,'change');GTranslateFireEvent(teCombo,'change')}}"+new_line;
|
720 |
if(widget_look == 'dropdown_with_flags') {
|
721 |
widget_code += "if(GTranslateGetCurrentLang() != null)jQuery(document).ready(function() {jQuery('div.switcher div.selected a').html(jQuery('div.switcher div.option').find('img[alt=\"'+GTranslateGetCurrentLang()+'\"]').parent().html());});"+new_line;
|
722 |
+
} else if(widget_look == 'popup') {
|
723 |
+
widget_code += 'if(GTranslateGetCurrentLang() != null)jQuery(document).ready(function() {var lang_html = jQuery(".gt_languages a[onclick*=\'|"+GTranslateGetCurrentLang()+"\']").html();if(typeof lang_html != "undefined")jQuery(\'a.switcher-popup\').html(lang_html+\'<span style=\"color:#666;font-size:8px;font-weight:bold;\">▼</span>\');});'+new_line;
|
724 |
}
|
725 |
}
|
726 |
|
988 |
</tr>
|
989 |
<tr>
|
990 |
<td class="option_name">* <?php _e('Sub-directory URL structure', 'gtranslate'); ?>:<br><code><small>http://example.com/<b>ru</b>/</small></code></td>
|
991 |
+
<td><input id="pro_version" name="pro_version" value="1" type="checkbox" onclick="if(jQuery('#pro_version').is(':checked') && jQuery('#enterprise_version').is(':checked'))jQuery('#enterprise_version').prop('checked', false);RefreshDoWidgetCode()" onchange="RefreshDoWidgetCode()"/> <a href="https://gtranslate.io/?xyz=998#pricing" target="_blank" title="If you already have a subscription, you can enable this.">* <?php _e('for paid plans only', 'gtranslate'); ?></a></td>
|
992 |
</tr>
|
993 |
<tr>
|
994 |
<td class="option_name">* <?php _e('Sub-domain URL structure', 'gtranslate'); ?>:<br><code><small>http://<b>es</b>.example.com/</small></code></td>
|
995 |
+
<td><input id="enterprise_version" name="enterprise_version" value="1" type="checkbox" onclick="if(jQuery('#pro_version').is(':checked') && jQuery('#enterprise_version').is(':checked'))jQuery('#pro_version').prop('checked', false);RefreshDoWidgetCode()" onchange="RefreshDoWidgetCode()"/> <a href="https://gtranslate.io/?xyz=998#pricing" target="_blank" title="If you already have a subscription, you can enable this.">* <?php _e('for paid plans only', 'gtranslate'); ?></a></td>
|
996 |
</tr>
|
997 |
<tr id="url_translation_option" style="display:none;">
|
998 |
<td class="option_name"><?php _e('Enable URL Translation', 'gtranslate'); ?>:</td>
|
1046 |
</td>
|
1047 |
</tr>
|
1048 |
<tr id="flag_languages_option" style="display:none;">
|
1049 |
+
<td class="option_name" colspan="2"><?php _e('Flag languages', 'gtranslate'); ?>: <a onclick="jQuery('.connectedSortable1 input').attr('checked', true);RefreshDoWidgetCode()" style="cursor:pointer;text-decoration:underline;"><?php _e('Check All', 'gtranslate'); ?></a> | <a onclick="jQuery('.connectedSortable1 input').attr('checked', false);RefreshDoWidgetCode()" style="cursor:pointer;text-decoration:underline;"><?php _e('Uncheck All', 'gtranslate'); ?></a> <span style="float:right;"><b>HINT</b>: To reorder the languages simply drag and drop them in the list below.</span><br /><br />
|
1050 |
|
1051 |
<div style="overflow:hidden;">
|
1052 |
<?php $gt_lang_codes = explode(',', $language_codes); ?>
|
1078 |
<td><input id="add_new_line" name="add_new_line" value="1" type="checkbox" checked="checked" onclick="RefreshDoWidgetCode()" onchange="RefreshDoWidgetCode()"/></td>
|
1079 |
</tr>
|
1080 |
<tr id="dropdown_languages_option" style="display:none;">
|
1081 |
+
<td class="option_name" colspan="2"><?php _e('Languages', 'gtranslate'); ?>: <a onclick="jQuery('.connectedSortable2 input').attr('checked', true);RefreshDoWidgetCode()" style="cursor:pointer;text-decoration:underline;"><?php _e('Check All', 'gtranslate'); ?></a> | <a onclick="jQuery('.connectedSortable2 input').attr('checked', false);RefreshDoWidgetCode()" style="cursor:pointer;text-decoration:underline;"><?php _e('Uncheck All', 'gtranslate'); ?></a> <span style="float:right;"><b>HINT</b>: To reorder the languages simply drag and drop them in the list below.</span><br /><br />
|
1082 |
<div>
|
1083 |
<?php $gt_lang_codes = explode(',', $language_codes2); ?>
|
1084 |
<?php for($i = 0; $i < count($gt_lang_array) / 26; $i++): ?>
|
1105 |
<p><?php _e('This area is for advanced users ONLY who know HTML/CSS/Javascript and do not want to use "Show floating language selector" option.', 'gtranslate'); ?></p>
|
1106 |
<?php _e('You can edit this if you wish', 'gtranslate'); ?>:<br />
|
1107 |
<textarea id="widget_code" name="widget_code" onchange="ShowWidgetPreview(this.value)" style="font-family:Monospace;font-size:11px;height:150px;width:565px;"><?php echo $widget_code; ?></textarea><br />
|
1108 |
+
<a href="#" onclick="RefreshDoWidgetCode();return false;"><?php _e('Reset code to default'); ?></a><br /><br />
|
1109 |
<span style="color:red;"><?php _e('DO NOT COPY THIS INTO YOUR POSTS OR PAGES! Use [GTranslate] shortcode inside the post/page <br />or add a GTranslate widget into your sidebar from Appearance -> Widgets instead.', 'gtranslate'); ?></span><br /><br />
|
1110 |
<?php _e('You can also use <code><?php echo do_shortcode(\'[gtranslate]\'); ?></code> in your template header/footer files.', 'gtranslate'); ?>
|
1111 |
</div>
|
1147 |
|
1148 |
<div id="poststuff">
|
1149 |
<div class="postbox">
|
1150 |
+
<h3 id="settings"><?php _e('Paid version advantages', 'gtranslate'); ?></h3>
|
1151 |
<div class="inside">
|
|
|
1152 |
<ul style="list-style-type:square;padding-left:20px;">
|
1153 |
+
<li style="margin:0;"><?php _e('Search engine indexing', 'gtranslate'); ?></li>
|
1154 |
<li style="margin:0;"><?php _e('Search engine friendly (SEF) URLs', 'gtranslate'); ?></li>
|
1155 |
<li style="margin:0;"><?php _e('Human level neural translations', 'gtranslate'); ?></li>
|
1156 |
<li style="margin:0;"><?php _e('Edit translations manually', 'gtranslate'); ?></li>
|
1157 |
+
<li style="margin:0;"><?php _e('Meta data translation (keywords, page description, etc...)', 'gtranslate'); ?></li>
|
1158 |
<li style="margin:0;"><?php _e('URL/slug translation', 'gtranslate'); ?></li>
|
1159 |
+
<li style="margin:0;"><?php _e('Language hosting (custom domain like example.fr, example.es)', 'gtranslate'); ?></li>
|
1160 |
<li style="margin:0;"><?php _e('Seamless updates', 'gtranslate'); ?></li>
|
1161 |
+
<li style="margin:0;"><?php _e('Increased international traffic and AdSense revenue', 'gtranslate'); ?></li>
|
1162 |
+
<li style="margin:0;"><?php _e('Works in China', 'gtranslate'); ?></li>
|
1163 |
+
<li style="margin:0;"><?php _e('Priority Live Chat support', 'gtranslate'); ?></li>
|
1164 |
</ul>
|
1165 |
|
1166 |
+
<p><?php _e('Prices starting from <b>$3.99/month</b>!', 'gtranslate'); ?></p>
|
1167 |
+
|
1168 |
<a href="https://gtranslate.io/?xyz=998#pricing" target="_blank"><?php _e('15 day free trial', 'gtranslate'); ?></a> | <a href="https://gtranslate.io/?xyz=998#faq" target="_blank"><?php _e('FAQ', 'gtranslate'); ?></a> | <a href="https://gtranslate.io/?xyz=998#contact" target="_blank"><?php _e('Live Chat', 'gtranslate'); ?></a>
|
1169 |
</div>
|
1170 |
</div>
|
1218 |
|
1219 |
<div id="poststuff">
|
1220 |
<div class="postbox">
|
1221 |
+
<h3 id="settings"><?php _e('Live Chat', 'gtranslate'); ?></h3>
|
1222 |
<div class="inside">
|
1223 |
<p>9am - 6pm (Mon - Fri) New York Time</p>
|
1224 |
+
<p><?php _e('We are here to make your experience with GTranslate more convenient.'); ?></p>
|
1225 |
</div>
|
1226 |
</div>
|
1227 |
</div>
|
1249 |
</style>
|
1250 |
|
1251 |
<?php $user_info = wp_get_current_user(); ?>
|
1252 |
+
<script>window.intercomSettings = {app_id: "r70azrgx", 'email': '<?php echo addslashes($user_info->user_email); ?>', 'name': '<?php echo addslashes($user_info->first_name . ' ' . $user_info->last_name); ?>', 'website': '<?php echo addslashes(get_site_url()); ?>', 'platform': 'wordpress', 'translate_from': '<?php echo $default_language; ?>', 'is_sub_directory': <?php echo (empty($pro_version) ? '0' : '1'); ?>, 'is_sub_domain': <?php echo (empty($enterprise_version) ? '0' : '1'); ?>};(function(){var w=window;var ic=w.Intercom;if(typeof ic==="function"){ic('reattach_activator');ic('update',intercomSettings);}else{var d=document;var i=function(){i.c(arguments)};i.q=[];i.c=function(args){i.q.push(args)};w.Intercom=i;function l(){var s=d.createElement('script');s.type='text/javascript';s.async=true;s.src='https://widget.intercom.io/widget/r70azrgx';var x=d.getElementsByTagName('script')[0];x.parentNode.insertBefore(s,x);}if(w.attachEvent){w.attachEvent('onload',l);}else{w.addEventListener('load',l,false);}}})()</script>
|
1253 |
<script>
|
1254 |
var intercom_timeout = setInterval(function() {
|
1255 |
var intercom_box = jQuery('#intercom-container .intercom-launcher-frame');
|
1306 |
$htaccess = file_get_contents($htaccess_file);
|
1307 |
if(strpos($htaccess, 'gtranslate.php') === false) { // no config rules
|
1308 |
$rewrite_rules = file_get_contents(dirname(__FILE__) . '/url_addon/rewrite.txt');
|
1309 |
+
$rewrite_rules = str_replace('GTRANSLATE_PLUGIN_PATH', str_replace(str_replace(array('https:', 'http:'), array(':', ':'), home_url()), '', str_replace(array('https:', 'http:'), array(':', ':'), plugins_url())) . '/gtranslate', $rewrite_rules);
|
1310 |
|
1311 |
$htaccess = $rewrite_rules . "\r\n\r\n" . $htaccess;
|
1312 |
if(!empty($htaccess)) { // going to update .htaccess
|
1396 |
// avoid caching issues
|
1397 |
if($data['widget_look'] == 'dropdown_with_flags' and ($data['pro_version'] or $data['enterprise_version'])) {
|
1398 |
echo '<script>jQuery(document).ready(function() {jQuery(\'.switcher div.selected a\').html(jQuery(".switcher div.option a[onclick*=\'|"+jQuery(\'html\').attr(\'lang\')+"\']").html())});</script>';
|
1399 |
+
} elseif($data['widget_look'] == 'popup' and ($data['pro_version'] or $data['enterprise_version'])) {
|
1400 |
+
echo '<script>jQuery(document).ready(function() {var lang_html = jQuery(".gt_languages a[onclick*=\'|"+jQuery(\'html\').attr(\'lang\')+"\']").html();if(typeof lang_html != "undefined")jQuery(\'a.switcher-popup\').html(lang_html+\'<span style=\"color:#666;font-size:8px;font-weight:bold;\">▼</span>\');});</script>';
|
1401 |
}
|
1402 |
|
1403 |
echo $args['after_widget'];
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Author: Edvard Ananyan
|
|
4 |
Tags: translate wordpress, multilingual, translate, translation, language, bilingual, localization, translation proxy, i18n, l10n, localisation, multilanguage, google translate
|
5 |
Requires at least: 2.8.1
|
6 |
Tested up to: 4.8
|
7 |
-
Stable tag: 2.8.
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
Donate link: https://gtranslate.io/?xyz=998#pricing
|
@@ -218,6 +218,14 @@ You need to go to the language you want to edit, for instance, French: http://do
|
|
218 |
|
219 |
== Changelog ==
|
220 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
221 |
= 2.8.25 =
|
222 |
* New widget look added - Popup
|
223 |
* Native template RTL support added
|
4 |
Tags: translate wordpress, multilingual, translate, translation, language, bilingual, localization, translation proxy, i18n, l10n, localisation, multilanguage, google translate
|
5 |
Requires at least: 2.8.1
|
6 |
Tested up to: 4.8
|
7 |
+
Stable tag: 2.8.26
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
Donate link: https://gtranslate.io/?xyz=998#pricing
|
218 |
|
219 |
== Changelog ==
|
220 |
|
221 |
+
= 2.8.26 =
|
222 |
+
* Fixed relative path issue in .htaccess file for some websites which use mixed https and http
|
223 |
+
* Fixed IE javascript error on GTranslate Settings page preventing correct rendering of options
|
224 |
+
* Fixed popup view issue to show the selected language correctly
|
225 |
+
* Fixed issue when changing language from language with 3 letter language code to another
|
226 |
+
* A hint on re-ordering the languages list for better user experience was added
|
227 |
+
* Reset widget code to default button was added
|
228 |
+
|
229 |
= 2.8.25 =
|
230 |
* New widget look added - Popup
|
231 |
* Native template RTL support added
|