Ejemplo n.º 1
0
 public static function getLanguages($key = 'default')
 {
     static $languages;
     if (empty($languages)) {
         // Installation uses available languages
         if (MFactory::getApplication()->getClientId() == 2) {
             $languages[$key] = array();
             $knownLangs = MLanguage::getKnownLanguages(MPATH_BASE);
             foreach ($knownLangs as $metadata) {
                 // Take off 3 letters iso code languages as they can't match browsers' languages and default them to en
                 $languages[$key][] = new MObject(array('lang_code' => $metadata['tag']));
             }
         } else {
             $cache = MFactory::getCache('com_languages', '');
             if (!($languages = $cache->get('languages'))) {
                 $langs = get_available_languages();
                 $i = 0;
                 $lngs = array();
                 foreach ($langs as $lang) {
                     $lngs[$i] = new stdClass();
                     $lngs[$i]->title = $lang;
                     $i++;
                 }
                 $languages['default'] = $lngs;
                 $languages['lang_code'] = array();
                 if (isset($languages['default'][0])) {
                     foreach ($languages['default'] as $lang) {
                         $languages['lang_code'][$lang->title] = $lang;
                     }
                 }
                 $cache->store($languages, 'languages');
             }
         }
     }
     return $languages[$key];
 }
Ejemplo n.º 2
0
 protected static function createLanguage()
 {
     $locale = apply_filters('plugin_locale', get_locale());
     //$locale = $conf->get('language');
     $debug = false;
     // $debug = $conf->get('debug_lang');
     $locale = str_replace('en_US', 'en-GB', $locale);
     $locale = str_replace('_', '-', $locale);
     $lang = MLanguage::getInstance($locale, $debug);
     return $lang;
 }