Просмотр исходного кода

#1390 Froala: correct language detection

Alex Trofimov 8 лет назад
Родитель
Сommit
11962e4768

+ 5 - 1
inc/classes/BxDolLanguages.php

@@ -136,14 +136,18 @@ class BxDolLanguages extends BxDolFactory implements iBxDolSingleton
      * @param $sFallbackLanguage - language to return of nothis is found
      * @return language code string
      */
-    function detectLanguageFromArray($aLangs, $sFallbackLanguage = 'en')
+    function detectLanguageFromArray($aLangs, $sFallbackLanguage = 'en', $bLowercase = false)
     {
         if (isset($aLangs[$GLOBALS['sCurrentLanguage']])) {
             return $GLOBALS['sCurrentLanguage'];
         } 
         elseif ($sLangCountry = $this->getLangCountryCode()) {
+            if ($bLowercase)
+                $sLangCountry = strtolower($sLangCountry);
+
             if (isset($aLangs[$sLangCountry]))
                 return $sLangCountry;
+            
             $sLangCountry = str_replace('_', '-', $sLangCountry);
             if (isset($aLangs[$sLangCountry]))
                 return $sLangCountry;            

+ 2 - 2
modules/boonex/froala/classes/BxFroalaEditor.php

@@ -124,7 +124,7 @@ EOS;
         $sCustomInit .= "\ntoolbarButtonsXS: " . json_encode($aToolbarItems) . ",";
 
         // detect language
-        $sLang = BxDolLanguages::getInstance()->detectLanguageFromArray (self::$CONF_LANGS);
+        $sLang = BxDolLanguages::getInstance()->detectLanguageFromArray (self::$CONF_LANGS, 'en', true);
 
         $sCss = 'editor.less';
         $aCss = BxDolTemplate::getInstance()->_lessCss(array(
@@ -209,7 +209,7 @@ EOS;
 
     protected function _getJsCss($bUseUrlsForJs = false)
     {
-        $sLang = BxDolLanguages::getInstance()->detectLanguageFromArray (self::$CONF_LANGS);
+        $sLang = BxDolLanguages::getInstance()->detectLanguageFromArray (self::$CONF_LANGS, 'en', true);
         $sJsPrefix = $bUseUrlsForJs ? BX_DOL_URL_MODULES : BX_DIRECTORY_PATH_MODULES;
         $sJsSuffix = $bUseUrlsForJs ? '' : '|';