@@ -187,12 +187,15 @@ public function addLanguage($key, $value){
187187 }
188188
189189 /**
190- * get default languages
191- * @return string en,us,etc
192- */
193- public function getLanguageKeys (){
194- $ jsKeys = array_keys ($ this ->languages );
195- return implode (', ' , $ jsKeys );
190+ * Gets default languages sort accordingly and add english if not available
191+ * @return array
192+ */
193+ public function getLanguages (){
194+ $ english = ($ this ->languages ["en " ]??"English " );
195+ unset($ this ->languages ["en " ]);
196+ $ this ->languages ["en " ] = $ english ;
197+ asort ($ this ->languages );
198+ return $ this ->languages ;
196199 }
197200
198201 /**
@@ -268,7 +271,7 @@ public function getBootstrapAttr(){
268271 */
269272 private function buildLinks ($ li = false ){
270273 $ links = "" ;
271- foreach ($ this ->languages as $ key => $ value ){
274+ foreach ($ this ->getLanguages () as $ key => $ value ){
272275 if ($ li ){
273276 $ links .= '<li class="drop-li"> ' ;
274277 }
@@ -287,7 +290,7 @@ private function buildLinks($li = false){
287290 private function selectOptions (){
288291 $ this ->setLinkClass ("select-language-item " );
289292 $ links = '<select onchange="GTranslator.trigger(this)" class="notranslate php-language-select ' . $ this ->linkClass . '"> ' ;
290- foreach ($ this ->languages as $ key => $ value ){
293+ foreach ($ this ->getLanguages () as $ key => $ value ){
291294 $ links .= '<option value=" ' .$ key .'" lang=" ' .$ key .'" title=" ' .$ value .'"> ' . $ value . '</option> ' ;
292295 }
293296 $ links .= '</select> ' ;
@@ -398,7 +401,7 @@ public function addScript(){
398401 siteLang: \"{$ this ->siteLang }\",
399402 googleElement: \"{$ this ->element }\",
400403 OPTION_ACTIVE: false,
401- Languages: " . json_encode ($ this ->languages ) . ",
404+ Languages: " . json_encode ($ this ->getLanguages () ) . ",
402405
403406 forceLanguage: function(key){
404407 GTranslator.StatusSiteLang = (localStorage.getItem('siteLang')||' {$ this ->siteLang }');
@@ -442,8 +445,8 @@ public function addScript(){
442445 new google.translate.TranslateElement({
443446 pageLanguage: \"{$ this ->siteLang }\",
444447 includedLanguages: ' \"' + langKeys.join(',') + ' \"',
445- layout: google.translate.TranslateElement.InlineLayout.VERTICAL,
446448 autoDisplay: false,
449+ layout: google.translate.TranslateElement.InlineLayout.VERTICAL,
447450 additionalOption: {
448451 disablePoweredBy: true
449452 }
@@ -452,8 +455,8 @@ public function addScript(){
452455
453456 GoogleScript: function(){
454457 var s1 = document.createElement('script');
455- // s1.async = true;
456- // s1.defer = true;
458+ s1.async = true;
459+ s1.defer = true;
457460 s1.type = 'text/javascript';
458461 s1.src='https://translate.google.com/translate_a/element.js?cb=GTranslator.GoogleInit';
459462 var s0 = document.getElementById('php-g-translator-plugin');
0 commit comments