Version Description
- Lazy image loading added for popup and nice dropdown look
- Fixed languages list hiding issue on narrow screens
- Fixed popup widget look issue for mobile devices
Download this release
Release Info
Developer | edo888 |
Plugin | Translate WordPress with GTranslate |
Version | 2.8.29 |
Comparing to | |
See all releases |
Code changes from version 2.8.28 to 2.8.29
- gtranslate.php +35 -77
- readme.txt +6 -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
|
@@ -113,15 +113,11 @@ class GTranslate extends WP_Widget {
|
|
113 |
|
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() {
|
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'))) {
|
122 |
-
// echo '<script>jQuery(document).ready(function() {jQuery(\'.switcher div.selected a\').html(jQuery(".switcher div.option a[onclick*=\'|'.esc_js($_SERVER['HTTP_X_GT_LANG']).'\']").html())});</script>';
|
123 |
-
//}
|
124 |
-
|
125 |
echo $args['after_widget'];
|
126 |
}
|
127 |
|
@@ -138,15 +134,11 @@ class GTranslate extends WP_Widget {
|
|
138 |
|
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() {
|
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'))) {
|
147 |
-
// echo '<script>jQuery(document).ready(function() {jQuery(\'.switcher div.selected a\').html(jQuery(".switcher div.option a[onclick*=\'|'.esc_js($_SERVER['HTTP_X_GT_LANG']).'\']").html())});</script>';
|
148 |
-
//}
|
149 |
-
|
150 |
echo $args['after_widget'];
|
151 |
}
|
152 |
|
@@ -160,23 +152,17 @@ class GTranslate extends WP_Widget {
|
|
160 |
|
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() {
|
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'))) {
|
169 |
-
// return $data['widget_code'] . '<script>jQuery(document).ready(function() {jQuery(\'.switcher div.selected a\').html(jQuery(".switcher div.option a[onclick*=\'|'.esc_js($_SERVER['HTTP_X_GT_LANG']).'\']").html())});</script>';
|
170 |
-
//}
|
171 |
-
|
172 |
return $data['widget_code'];
|
173 |
}
|
174 |
}
|
175 |
|
176 |
public static function register() {
|
177 |
register_widget('GTranslateWidget');
|
178 |
-
//wp_register_sidebar_widget('gtranslate', 'GTranslate', array('GTranslate', 'widget2'), array('description' => __('Google Automatic Translations')));
|
179 |
-
//wp_register_widget_control('gtranslate', 'GTranslate', array('GTranslate', 'control'));
|
180 |
}
|
181 |
|
182 |
public static function admin_menu() {
|
@@ -450,7 +436,7 @@ function RefreshDoWidgetCode() {
|
|
450 |
}
|
451 |
|
452 |
if(widget_look == 'popup') {
|
453 |
-
widget_preview += '<a href="#" class="switcher-popup glink nturl notranslate" onclick="openGTPopup()">';
|
454 |
|
455 |
if(default_language == 'en' && jQuery('#alt_us:checked').length)
|
456 |
widget_preview += '<img src="{$wp_plugin_url}/flags/'+flag_size+'/en-us.png" height="'+flag_size+'" width="'+flag_size+'" alt="en" /> <span>'+gt_lang_array[default_language]+'</span><span style="color:#666;font-size:8px;font-weight:bold;">▼</span></a>'+new_line;
|
@@ -491,21 +477,21 @@ function RefreshDoWidgetCode() {
|
|
491 |
widget_preview += '<a href="'+href+'" onclick="changeGTLanguage(\''+default_language+'|'+lang+'\', this);return false;" title="'+lang_name+'" class="glink nturl'+(default_language == lang ? ' selected' : '')+'">';
|
492 |
|
493 |
if(lang == 'en' && jQuery('#alt_us:checked').length)
|
494 |
-
widget_preview += '<img src="{$wp_plugin_url}/flags/'+flag_size+'/en-us.png" height="'+flag_size+'" width="'+flag_size+'" alt="en" /> <span>'+lang_name+'</span></a>';
|
495 |
else if(lang == 'en' && jQuery('#alt_ca:checked').length)
|
496 |
-
widget_preview += '<img src="{$wp_plugin_url}/flags/'+flag_size+'/en-ca.png" height="'+flag_size+'" width="'+flag_size+'" alt="en" /> <span>'+lang_name+'</span></a>';
|
497 |
else if(lang == 'pt' && jQuery('#alt_br:checked').length)
|
498 |
-
widget_preview += '<img src="{$wp_plugin_url}/flags/'+flag_size+'/pt-br.png" height="'+flag_size+'" width="'+flag_size+'" alt="pt" /> <span>'+lang_name+'</span></a>';
|
499 |
else if(lang == 'es' && jQuery('#alt_mx:checked').length)
|
500 |
-
widget_preview += '<img src="{$wp_plugin_url}/flags/'+flag_size+'/es-mx.png" height="'+flag_size+'" width="'+flag_size+'" alt="es" /> <span>'+lang_name+'</span></a>';
|
501 |
else if(lang == 'es' && jQuery('#alt_ar:checked').length)
|
502 |
-
widget_preview += '<img src="{$wp_plugin_url}/flags/'+flag_size+'/es-ar.png" height="'+flag_size+'" width="'+flag_size+'" alt="es" /> <span>'+lang_name+'</span></a>';
|
503 |
else if(lang == 'es' && jQuery('#alt_co:checked').length)
|
504 |
-
widget_preview += '<img src="{$wp_plugin_url}/flags/'+flag_size+'/es-co.png" height="'+flag_size+'" width="'+flag_size+'" alt="es" /> <span>'+lang_name+'</span></a>';
|
505 |
else if(lang == 'fr' && jQuery('#alt_qc:checked').length)
|
506 |
-
widget_preview += '<img src="{$wp_plugin_url}/flags/'+flag_size+'/fr-qc.png" height="'+flag_size+'" width="'+flag_size+'" alt="fr" /> <span>'+lang_name+'</span></a>';
|
507 |
else
|
508 |
-
widget_preview += '<img src="{$wp_plugin_url}/flags/'+flag_size+'/'+lang+'.png" height="'+flag_size+'" width="'+flag_size+'" alt="'+lang+'" /> <span>'+lang_name+'</span></a>';
|
509 |
|
510 |
count_languages++;
|
511 |
}
|
@@ -555,10 +541,10 @@ function RefreshDoWidgetCode() {
|
|
555 |
|
556 |
// javascript
|
557 |
widget_preview += '<script type="text/javascript">'+new_line;
|
558 |
-
widget_preview += "function openGTPopup() {document.getElementById('gt_lightbox').style.display='block';document.getElementById('gt_fade').style.display='block';}"+new_line;
|
559 |
-
widget_preview += "function closeGTPopup() {
|
560 |
widget_preview += "function changeGTLanguage(pair, a) {doGTranslate(pair);jQuery('a.switcher-popup').html(jQuery(a).html()+'<span style=\"color:#666;font-size:8px;font-weight:bold;\">▼</span>');closeGTPopup();}"+new_line;
|
561 |
-
widget_preview += "jQuery('
|
562 |
widget_preview += '<\/script>'+new_line;
|
563 |
|
564 |
}
|
@@ -611,17 +597,6 @@ function RefreshDoWidgetCode() {
|
|
611 |
else
|
612 |
widget_preview += '<img src="{$wp_plugin_url}/flags/16/'+default_language+'.png" height="16" width="16" alt="'+default_language+'" /> '+gt_lang_array[default_language]+'</a>'+new_line;
|
613 |
|
614 |
-
/*
|
615 |
-
if(default_language == 'en' && jQuery('#alt_us:checked').length)
|
616 |
-
widget_preview += '<a href="#" onclick="return false;"><span class="gflag" style="background-image:url($wp_plugin_url/alt_flags.png);background-position:-0px -0px;"><img src="$wp_plugin_url/blank.png" height="'+16+'" width="'+16+'" alt="'+default_language+'" /></span>'+gt_lang_array[default_language]+'</a>'+new_line;
|
617 |
-
else if(default_language == 'pt' && jQuery('#alt_br:checked').length)
|
618 |
-
widget_preview += '<a href="#" onclick="return false;"><span class="gflag" style="background-image:url($wp_plugin_url/alt_flags.png);background-position:-100px -0px;"><img src="$wp_plugin_url/blank.png" height="'+16+'" width="'+16+'" alt="'+default_language+'" /></span>'+gt_lang_array[default_language]+'</a>'+new_line;
|
619 |
-
else if(default_language == 'es' && jQuery('#alt_mx:checked').length)
|
620 |
-
widget_preview += '<a href="#" onclick="return false;"><span class="gflag" style="background-image:url($wp_plugin_url/alt_flags.png);background-position:-200px -0px;"><img src="$wp_plugin_url/blank.png" height="'+16+'" width="'+16+'" alt="'+default_language+'" /></span>'+gt_lang_array[default_language]+'</a>'+new_line;
|
621 |
-
else
|
622 |
-
widget_preview += '<a href="#" onclick="return false;"><span class="gflag" style="background-position:-'+languages_map[default_language.replace('-', '')+'_x']+'px -'+languages_map[default_language.replace('-', '')+'_y']+'px;"><img src="$wp_plugin_url/blank.png" height="'+16+'" width="'+16+'" alt="'+default_language+'" /></span>'+gt_lang_array[default_language]+'</a>'+new_line;
|
623 |
-
*/
|
624 |
-
|
625 |
widget_preview += '</div>'+new_line;
|
626 |
|
627 |
widget_preview += '<div class="option">'+new_line;
|
@@ -630,8 +605,6 @@ function RefreshDoWidgetCode() {
|
|
630 |
lang = language_codes[i];
|
631 |
if(jQuery('#fincl_langs'+lang+':checked').length) {
|
632 |
lang_name = gt_lang_array[lang];
|
633 |
-
//flag_x = languages_map[lang.replace('-', '')+'_x'];
|
634 |
-
//flag_y = languages_map[lang.replace('-', '')+'_y'];
|
635 |
|
636 |
var href = '#';
|
637 |
if(pro_version)
|
@@ -642,32 +615,22 @@ function RefreshDoWidgetCode() {
|
|
642 |
widget_preview += '<a href="'+href+'" onclick="doGTranslate(\''+default_language+'|'+lang+'\');jQuery(\'div.switcher div.selected a\').html(jQuery(this).html());return false;" title="'+lang_name+'" class="nturl'+(default_language == lang ? ' selected' : '')+'">';
|
643 |
|
644 |
if(lang == 'en' && jQuery('#alt_us:checked').length)
|
645 |
-
widget_preview += '<img src="{$wp_plugin_url}/flags/16/en-us.png" height="16" width="16" alt="en" /> '+lang_name+'</a>';
|
646 |
else if(lang == 'en' && jQuery('#alt_ca:checked').length)
|
647 |
-
widget_preview += '<img src="{$wp_plugin_url}/flags/16/en-ca.png" height="16" width="16" alt="en" /> '+lang_name+'</a>';
|
648 |
else if(lang == 'pt' && jQuery('#alt_br:checked').length)
|
649 |
-
widget_preview += '<img src="{$wp_plugin_url}/flags/16/pt-br.png" height="16" width="16" alt="pt" /> '+lang_name+'</a>';
|
650 |
else if(lang == 'es' && jQuery('#alt_mx:checked').length)
|
651 |
-
widget_preview += '<img src="{$wp_plugin_url}/flags/16/es-mx.png" height="16" width="16" alt="es" /> '+lang_name+'</a>';
|
652 |
else if(lang == 'es' && jQuery('#alt_ar:checked').length)
|
653 |
-
widget_preview += '<img src="{$wp_plugin_url}/flags/16/es-ar.png" height="16" width="16" alt="es" /> '+lang_name+'</a>';
|
654 |
else if(lang == 'es' && jQuery('#alt_co:checked').length)
|
655 |
-
widget_preview += '<img src="{$wp_plugin_url}/flags/16/es-co.png" height="16" width="16" alt="es" /> '+lang_name+'</a>';
|
656 |
else if(lang == 'fr' && jQuery('#alt_qc:checked').length)
|
657 |
-
widget_preview += '<img src="{$wp_plugin_url}/flags/16/fr-qc.png" height="16" width="16" alt="fr" /> '+lang_name+'</a>';
|
658 |
else
|
659 |
-
widget_preview += '<img src="{$wp_plugin_url}/flags/16/'+lang+'.png" height="16" width="16" alt="'+lang+'" /> '+lang_name+'</a>';
|
660 |
|
661 |
-
/*
|
662 |
-
if(lang == 'en' && jQuery('#alt_us:checked').length)
|
663 |
-
widget_preview += '<a href="'+href+'" onclick="doGTranslate(\''+default_language+'|'+lang+'\');jQuery(this).parent().parent().find(\'div.selected a\').html(jQuery(this).html());return false;" title="'+lang_name+'" class="nturl'+(default_language == lang ? ' selected' : '')+'"><span class="gflag" style="background-image:url($wp_plugin_url/alt_flags.png);background-position:-0px -0px;"><img src="$wp_plugin_url/blank.png" height="'+16+'" width="'+16+'" alt="'+lang+'" /></span>'+lang_name+'</a>';
|
664 |
-
else if(lang == 'pt' && jQuery('#alt_br:checked').length)
|
665 |
-
widget_preview += '<a href="'+href+'" onclick="doGTranslate(\''+default_language+'|'+lang+'\');jQuery(this).parent().parent().find(\'div.selected a\').html(jQuery(this).html());return false;" title="'+lang_name+'" class="nturl'+(default_language == lang ? ' selected' : '')+'"><span class="gflag" style="background-image:url($wp_plugin_url/alt_flags.png);background-position:-100px -0px;"><img src="$wp_plugin_url/blank.png" height="'+16+'" width="'+16+'" alt="'+lang+'" /></span>'+lang_name+'</a>';
|
666 |
-
else if(lang == 'es' && jQuery('#alt_mx:checked').length)
|
667 |
-
widget_preview += '<a href="'+href+'" onclick="doGTranslate(\''+default_language+'|'+lang+'\');jQuery(this).parent().parent().find(\'div.selected a\').html(jQuery(this).html());return false;" title="'+lang_name+'" class="nturl'+(default_language == lang ? ' selected' : '')+'"><span class="gflag" style="background-image:url($wp_plugin_url/alt_flags.png);background-position:-200px -0px;"><img src="$wp_plugin_url/blank.png" height="'+16+'" width="'+16+'" alt="'+lang+'" /></span>'+lang_name+'</a>';
|
668 |
-
else
|
669 |
-
widget_preview += '<a href="'+href+'" onclick="doGTranslate(\''+default_language+'|'+lang+'\');jQuery(this).parent().parent().find(\'div.selected a\').html(jQuery(this).html());return false;" title="'+lang_name+'" class="nturl'+(default_language == lang ? ' selected' : '')+'"><span class="gflag" style="background-position:-'+flag_x+'px -'+flag_y+'px;"><img src="$wp_plugin_url/blank.png" height="'+16+'" width="'+16+'" alt="'+lang+'" /></span>'+lang_name+'</a>';
|
670 |
-
*/
|
671 |
}
|
672 |
});
|
673 |
|
@@ -676,7 +639,7 @@ function RefreshDoWidgetCode() {
|
|
676 |
|
677 |
// Adding slider javascript
|
678 |
widget_preview += '<script type="text/javascript">'+new_line;
|
679 |
-
widget_preview += "jQuery('.switcher .selected').click(function() {if(!(jQuery('.switcher .option').is(':visible'))) {jQuery('.switcher .option').stop(true,true).delay(100).slideDown(500);jQuery('.switcher .selected a').toggleClass('open')}});"+new_line;
|
680 |
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;
|
681 |
widget_preview += "jQuery('body').not('.switcher').click(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;
|
682 |
widget_preview += '<\/script>'+new_line;
|
@@ -715,9 +678,9 @@ function RefreshDoWidgetCode() {
|
|
715 |
else
|
716 |
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;
|
717 |
if(widget_look == 'dropdown_with_flags') {
|
718 |
-
widget_code += "if(GTranslateGetCurrentLang() != null)jQuery(document).ready(function() {
|
719 |
} else if(widget_look == 'popup') {
|
720 |
-
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;
|
721 |
}
|
722 |
}
|
723 |
|
@@ -802,8 +765,6 @@ jQuery(function(){
|
|
802 |
jQuery(".connectedSortable2").sortable({connectWith: ".connectedSortable2"}).disableSelection();
|
803 |
jQuery(".connectedSortable1").on("sortstop", function(event, ui) {
|
804 |
language_codes = jQuery(".connectedSortable1 li input").map(function() {return jQuery(this).val();}).toArray();
|
805 |
-
//for(var i = 0; i < language_codes.length; i++)
|
806 |
-
//languages[i] = gt_lang_array[language_codes[i]];
|
807 |
|
808 |
jQuery('#language_codes_order').val(language_codes.join(','));
|
809 |
RefreshDoWidgetCode();
|
@@ -811,8 +772,6 @@ jQuery(function(){
|
|
811 |
|
812 |
jQuery(".connectedSortable2").on("sortstop", function(event, ui) {
|
813 |
language_codes2 = jQuery(".connectedSortable2 li input").map(function() {return jQuery(this).val();}).toArray();
|
814 |
-
//for(var i = 0; i < language_codes.length; i++)
|
815 |
-
//languages[i] = gt_lang_array[language_codes[i]];
|
816 |
|
817 |
jQuery('#language_codes_order2').val(language_codes2.join(','));
|
818 |
RefreshDoWidgetCode();
|
@@ -1043,9 +1002,8 @@ EOT;
|
|
1043 |
</td>
|
1044 |
</tr>
|
1045 |
<tr id="flag_languages_option" style="display:none;">
|
1046 |
-
<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
|
1047 |
-
|
1048 |
-
<div style="overflow:hidden;">
|
1049 |
<?php $gt_lang_codes = explode(',', $language_codes); ?>
|
1050 |
<?php for($i = 0; $i < count($gt_lang_array) / 26; $i++): ?>
|
1051 |
<ul style="list-style-type:none;width:25%;float:left;" class="connectedSortable1">
|
@@ -1075,7 +1033,7 @@ EOT;
|
|
1075 |
<td><input id="add_new_line" name="add_new_line" value="1" type="checkbox" checked="checked" onclick="RefreshDoWidgetCode()" onchange="RefreshDoWidgetCode()"/></td>
|
1076 |
</tr>
|
1077 |
<tr id="dropdown_languages_option" style="display:none;">
|
1078 |
-
<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
|
1079 |
<div>
|
1080 |
<?php $gt_lang_codes = explode(',', $language_codes2); ?>
|
1081 |
<?php for($i = 0; $i < count($gt_lang_array) / 26; $i++): ?>
|
@@ -1392,9 +1350,9 @@ class GTranslateWidget extends WP_Widget {
|
|
1392 |
|
1393 |
// avoid caching issues
|
1394 |
if($data['widget_look'] == 'dropdown_with_flags' and ($data['pro_version'] or $data['enterprise_version'])) {
|
1395 |
-
echo '<script>jQuery(document).ready(function() {
|
1396 |
} elseif($data['widget_look'] == 'popup' and ($data['pro_version'] or $data['enterprise_version'])) {
|
1397 |
-
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>';
|
1398 |
}
|
1399 |
|
1400 |
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.29
|
7 |
Author: Edvard Ananyan
|
8 |
Author URI: https://gtranslate.io
|
9 |
Text Domain: gtranslate
|
113 |
|
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() {var lang_html = jQuery(".switcher div.option a[onclick*=\'|"+jQuery(\'html\').attr(\'lang\')+"\']").html();if(typeof lang_html != "undefined")jQuery(\'.switcher div.selected a\').html(lang_html.replace("data-gt-lazy-", ""))});</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.replace("data-gt-lazy-", "")+\'<span style=\"color:#666;font-size:8px;font-weight:bold;\">▼</span>\');});</script>';
|
119 |
}
|
120 |
|
|
|
|
|
|
|
|
|
121 |
echo $args['after_widget'];
|
122 |
}
|
123 |
|
134 |
|
135 |
// avoid caching issues
|
136 |
if($data['widget_look'] == 'dropdown_with_flags' and ($data['pro_version'] or $data['enterprise_version'])) {
|
137 |
+
echo '<script>jQuery(document).ready(function() {var lang_html = jQuery(".switcher div.option a[onclick*=\'|"+jQuery(\'html\').attr(\'lang\')+"\']").html();if(typeof lang_html != "undefined")jQuery(\'.switcher div.selected a\').html(lang_html.replace("data-gt-lazy-", ""))});</script>';
|
138 |
} elseif($data['widget_look'] == 'popup' and ($data['pro_version'] or $data['enterprise_version'])) {
|
139 |
+
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.replace("data-gt-lazy-", "")+\'<span style=\"color:#666;font-size:8px;font-weight:bold;\">▼</span>\');});</script>';
|
140 |
}
|
141 |
|
|
|
|
|
|
|
|
|
142 |
echo $args['after_widget'];
|
143 |
}
|
144 |
|
152 |
|
153 |
// avoid caching issues
|
154 |
if($data['widget_look'] == 'dropdown_with_flags' and ($data['pro_version'] or $data['enterprise_version'])) {
|
155 |
+
return $data['widget_code'] . '<script>jQuery(document).ready(function() {var lang_html = jQuery(".switcher div.option a[onclick*=\'|"+jQuery(\'html\').attr(\'lang\')+"\']").html();if(typeof lang_html != "undefined")jQuery(\'.switcher div.selected a\').html(lang_html.replace("data-gt-lazy-", ""))});</script>';
|
156 |
} elseif($data['widget_look'] == 'popup' and ($data['pro_version'] or $data['enterprise_version'])) {
|
157 |
+
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.replace("data-gt-lazy-", "")+\'<span style=\"color:#666;font-size:8px;font-weight:bold;\">▼</span>\');});</script>';
|
158 |
}
|
159 |
|
|
|
|
|
|
|
|
|
160 |
return $data['widget_code'];
|
161 |
}
|
162 |
}
|
163 |
|
164 |
public static function register() {
|
165 |
register_widget('GTranslateWidget');
|
|
|
|
|
166 |
}
|
167 |
|
168 |
public static function admin_menu() {
|
436 |
}
|
437 |
|
438 |
if(widget_look == 'popup') {
|
439 |
+
widget_preview += '<a href="#" class="switcher-popup glink nturl notranslate" onclick="openGTPopup(this)">';
|
440 |
|
441 |
if(default_language == 'en' && jQuery('#alt_us:checked').length)
|
442 |
widget_preview += '<img src="{$wp_plugin_url}/flags/'+flag_size+'/en-us.png" height="'+flag_size+'" width="'+flag_size+'" alt="en" /> <span>'+gt_lang_array[default_language]+'</span><span style="color:#666;font-size:8px;font-weight:bold;">▼</span></a>'+new_line;
|
477 |
widget_preview += '<a href="'+href+'" onclick="changeGTLanguage(\''+default_language+'|'+lang+'\', this);return false;" title="'+lang_name+'" class="glink nturl'+(default_language == lang ? ' selected' : '')+'">';
|
478 |
|
479 |
if(lang == 'en' && jQuery('#alt_us:checked').length)
|
480 |
+
widget_preview += '<img data-gt-lazy-src="{$wp_plugin_url}/flags/'+flag_size+'/en-us.png" height="'+flag_size+'" width="'+flag_size+'" alt="en" /> <span>'+lang_name+'</span></a>';
|
481 |
else if(lang == 'en' && jQuery('#alt_ca:checked').length)
|
482 |
+
widget_preview += '<img data-gt-lazy-src="{$wp_plugin_url}/flags/'+flag_size+'/en-ca.png" height="'+flag_size+'" width="'+flag_size+'" alt="en" /> <span>'+lang_name+'</span></a>';
|
483 |
else if(lang == 'pt' && jQuery('#alt_br:checked').length)
|
484 |
+
widget_preview += '<img data-gt-lazy-src="{$wp_plugin_url}/flags/'+flag_size+'/pt-br.png" height="'+flag_size+'" width="'+flag_size+'" alt="pt" /> <span>'+lang_name+'</span></a>';
|
485 |
else if(lang == 'es' && jQuery('#alt_mx:checked').length)
|
486 |
+
widget_preview += '<img data-gt-lazy-src="{$wp_plugin_url}/flags/'+flag_size+'/es-mx.png" height="'+flag_size+'" width="'+flag_size+'" alt="es" /> <span>'+lang_name+'</span></a>';
|
487 |
else if(lang == 'es' && jQuery('#alt_ar:checked').length)
|
488 |
+
widget_preview += '<img data-gt-lazy-src="{$wp_plugin_url}/flags/'+flag_size+'/es-ar.png" height="'+flag_size+'" width="'+flag_size+'" alt="es" /> <span>'+lang_name+'</span></a>';
|
489 |
else if(lang == 'es' && jQuery('#alt_co:checked').length)
|
490 |
+
widget_preview += '<img data-gt-lazy-src="{$wp_plugin_url}/flags/'+flag_size+'/es-co.png" height="'+flag_size+'" width="'+flag_size+'" alt="es" /> <span>'+lang_name+'</span></a>';
|
491 |
else if(lang == 'fr' && jQuery('#alt_qc:checked').length)
|
492 |
+
widget_preview += '<img data-gt-lazy-src="{$wp_plugin_url}/flags/'+flag_size+'/fr-qc.png" height="'+flag_size+'" width="'+flag_size+'" alt="fr" /> <span>'+lang_name+'</span></a>';
|
493 |
else
|
494 |
+
widget_preview += '<img data-gt-lazy-src="{$wp_plugin_url}/flags/'+flag_size+'/'+lang+'.png" height="'+flag_size+'" width="'+flag_size+'" alt="'+lang+'" /> <span>'+lang_name+'</span></a>';
|
495 |
|
496 |
count_languages++;
|
497 |
}
|
541 |
|
542 |
// javascript
|
543 |
widget_preview += '<script type="text/javascript">'+new_line;
|
544 |
+
widget_preview += "function openGTPopup(a) {jQuery('.gt_white_content a img').each(function() {if(!jQuery(this)[0].hasAttribute('src'))jQuery(this).attr('src', jQuery(this).attr('data-gt-lazy-src'))});if(a === undefined){document.getElementById('gt_lightbox').style.display='block';document.getElementById('gt_fade').style.display='block';}else{jQuery(a).parent().find('#gt_lightbox').css('display', 'block');jQuery(a).parent().find('#gt_fade').css('display', 'block');}}"+new_line;
|
545 |
+
widget_preview += "function closeGTPopup() {jQuery('.gt_white_content').css('display', 'none');jQuery('.gt_black_overlay').css('display', 'none');}"+new_line;
|
546 |
widget_preview += "function changeGTLanguage(pair, a) {doGTranslate(pair);jQuery('a.switcher-popup').html(jQuery(a).html()+'<span style=\"color:#666;font-size:8px;font-weight:bold;\">▼</span>');closeGTPopup();}"+new_line;
|
547 |
+
widget_preview += "jQuery('.gt_black_overlay').click(function(e) {if(jQuery('.gt_white_content').is(':visible')) {closeGTPopup()}});"+new_line;
|
548 |
widget_preview += '<\/script>'+new_line;
|
549 |
|
550 |
}
|
597 |
else
|
598 |
widget_preview += '<img src="{$wp_plugin_url}/flags/16/'+default_language+'.png" height="16" width="16" alt="'+default_language+'" /> '+gt_lang_array[default_language]+'</a>'+new_line;
|
599 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
600 |
widget_preview += '</div>'+new_line;
|
601 |
|
602 |
widget_preview += '<div class="option">'+new_line;
|
605 |
lang = language_codes[i];
|
606 |
if(jQuery('#fincl_langs'+lang+':checked').length) {
|
607 |
lang_name = gt_lang_array[lang];
|
|
|
|
|
608 |
|
609 |
var href = '#';
|
610 |
if(pro_version)
|
615 |
widget_preview += '<a href="'+href+'" onclick="doGTranslate(\''+default_language+'|'+lang+'\');jQuery(\'div.switcher div.selected a\').html(jQuery(this).html());return false;" title="'+lang_name+'" class="nturl'+(default_language == lang ? ' selected' : '')+'">';
|
616 |
|
617 |
if(lang == 'en' && jQuery('#alt_us:checked').length)
|
618 |
+
widget_preview += '<img data-gt-lazy-src="{$wp_plugin_url}/flags/16/en-us.png" height="16" width="16" alt="en" /> '+lang_name+'</a>';
|
619 |
else if(lang == 'en' && jQuery('#alt_ca:checked').length)
|
620 |
+
widget_preview += '<img data-gt-lazy-src="{$wp_plugin_url}/flags/16/en-ca.png" height="16" width="16" alt="en" /> '+lang_name+'</a>';
|
621 |
else if(lang == 'pt' && jQuery('#alt_br:checked').length)
|
622 |
+
widget_preview += '<img data-gt-lazy-src="{$wp_plugin_url}/flags/16/pt-br.png" height="16" width="16" alt="pt" /> '+lang_name+'</a>';
|
623 |
else if(lang == 'es' && jQuery('#alt_mx:checked').length)
|
624 |
+
widget_preview += '<img data-gt-lazy-src="{$wp_plugin_url}/flags/16/es-mx.png" height="16" width="16" alt="es" /> '+lang_name+'</a>';
|
625 |
else if(lang == 'es' && jQuery('#alt_ar:checked').length)
|
626 |
+
widget_preview += '<img data-gt-lazy-src="{$wp_plugin_url}/flags/16/es-ar.png" height="16" width="16" alt="es" /> '+lang_name+'</a>';
|
627 |
else if(lang == 'es' && jQuery('#alt_co:checked').length)
|
628 |
+
widget_preview += '<img data-gt-lazy-src="{$wp_plugin_url}/flags/16/es-co.png" height="16" width="16" alt="es" /> '+lang_name+'</a>';
|
629 |
else if(lang == 'fr' && jQuery('#alt_qc:checked').length)
|
630 |
+
widget_preview += '<img data-gt-lazy-src="{$wp_plugin_url}/flags/16/fr-qc.png" height="16" width="16" alt="fr" /> '+lang_name+'</a>';
|
631 |
else
|
632 |
+
widget_preview += '<img data-gt-lazy-src="{$wp_plugin_url}/flags/16/'+lang+'.png" height="16" width="16" alt="'+lang+'" /> '+lang_name+'</a>';
|
633 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
634 |
}
|
635 |
});
|
636 |
|
639 |
|
640 |
// Adding slider javascript
|
641 |
widget_preview += '<script type="text/javascript">'+new_line;
|
642 |
+
widget_preview += "jQuery('.switcher .selected').click(function() {jQuery('.switcher .option a img').each(function() {if(!jQuery(this)[0].hasAttribute('src'))jQuery(this).attr('src', jQuery(this).attr('data-gt-lazy-src'))});if(!(jQuery('.switcher .option').is(':visible'))) {jQuery('.switcher .option').stop(true,true).delay(100).slideDown(500);jQuery('.switcher .selected a').toggleClass('open')}});"+new_line;
|
643 |
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;
|
644 |
widget_preview += "jQuery('body').not('.switcher').click(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;
|
645 |
widget_preview += '<\/script>'+new_line;
|
678 |
else
|
679 |
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;
|
680 |
if(widget_look == 'dropdown_with_flags') {
|
681 |
+
widget_code += "if(GTranslateGetCurrentLang() != null)jQuery(document).ready(function() {var lang_html = jQuery('div.switcher div.option').find('img[alt=\"'+GTranslateGetCurrentLang()+'\"]').parent().html();if(typeof lang_html != 'undefined')jQuery('div.switcher div.selected a').html(lang_html.replace('data-gt-lazy-', ''));});"+new_line;
|
682 |
} else if(widget_look == 'popup') {
|
683 |
+
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.replace("data-gt-lazy-", "")+\'<span style=\"color:#666;font-size:8px;font-weight:bold;\">▼</span>\');});'+new_line;
|
684 |
}
|
685 |
}
|
686 |
|
765 |
jQuery(".connectedSortable2").sortable({connectWith: ".connectedSortable2"}).disableSelection();
|
766 |
jQuery(".connectedSortable1").on("sortstop", function(event, ui) {
|
767 |
language_codes = jQuery(".connectedSortable1 li input").map(function() {return jQuery(this).val();}).toArray();
|
|
|
|
|
768 |
|
769 |
jQuery('#language_codes_order').val(language_codes.join(','));
|
770 |
RefreshDoWidgetCode();
|
772 |
|
773 |
jQuery(".connectedSortable2").on("sortstop", function(event, ui) {
|
774 |
language_codes2 = jQuery(".connectedSortable2 li input").map(function() {return jQuery(this).val();}).toArray();
|
|
|
|
|
775 |
|
776 |
jQuery('#language_codes_order2').val(language_codes2.join(','));
|
777 |
RefreshDoWidgetCode();
|
1002 |
</td>
|
1003 |
</tr>
|
1004 |
<tr id="flag_languages_option" style="display:none;">
|
1005 |
+
<td class="option_name" colspan="2"><div><?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></div><br />
|
1006 |
+
<div>
|
|
|
1007 |
<?php $gt_lang_codes = explode(',', $language_codes); ?>
|
1008 |
<?php for($i = 0; $i < count($gt_lang_array) / 26; $i++): ?>
|
1009 |
<ul style="list-style-type:none;width:25%;float:left;" class="connectedSortable1">
|
1033 |
<td><input id="add_new_line" name="add_new_line" value="1" type="checkbox" checked="checked" onclick="RefreshDoWidgetCode()" onchange="RefreshDoWidgetCode()"/></td>
|
1034 |
</tr>
|
1035 |
<tr id="dropdown_languages_option" style="display:none;">
|
1036 |
+
<td class="option_name" colspan="2"><div><?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></div><br />
|
1037 |
<div>
|
1038 |
<?php $gt_lang_codes = explode(',', $language_codes2); ?>
|
1039 |
<?php for($i = 0; $i < count($gt_lang_array) / 26; $i++): ?>
|
1350 |
|
1351 |
// avoid caching issues
|
1352 |
if($data['widget_look'] == 'dropdown_with_flags' and ($data['pro_version'] or $data['enterprise_version'])) {
|
1353 |
+
echo '<script>jQuery(document).ready(function() {var lang_html = jQuery(".switcher div.option a[onclick*=\'|"+jQuery(\'html\').attr(\'lang\')+"\']").html();if(typeof lang_html != "undefined")jQuery(\'.switcher div.selected a\').html(lang_html.replace("data-gt-lazy-", ""))});</script>';
|
1354 |
} elseif($data['widget_look'] == 'popup' and ($data['pro_version'] or $data['enterprise_version'])) {
|
1355 |
+
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.replace("data-gt-lazy-", "")+\'<span style=\"color:#666;font-size:8px;font-weight:bold;\">▼</span>\');});</script>';
|
1356 |
}
|
1357 |
|
1358 |
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,11 @@ You need to go to the language you want to edit, for instance, French: http://do
|
|
218 |
|
219 |
== Changelog ==
|
220 |
|
|
|
|
|
|
|
|
|
|
|
221 |
= 2.8.28 =
|
222 |
* Changed static content paths to be relative to scheme
|
223 |
* Added "notranslate" class for dropdown widget look
|
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.29
|
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.29 =
|
222 |
+
* Lazy image loading added for popup and nice dropdown look
|
223 |
+
* Fixed languages list hiding issue on narrow screens
|
224 |
+
* Fixed popup widget look issue for mobile devices
|
225 |
+
|
226 |
= 2.8.28 =
|
227 |
* Changed static content paths to be relative to scheme
|
228 |
* Added "notranslate" class for dropdown widget look
|