Exemple #1
0
 public static function loadLanguage($langCode = null)
 {
     if (is_null($langCode)) {
         $langCode = self::detectLanguage();
     }
     // If we are asked to load a non-default language, load the English (Great Britain) base translation first
     if ($langCode != 'en-GB') {
         static::loadLanguage('en-GB');
     }
     // Main file
     $filename = APATH_INSTALLATION . '/' . AApplication::getInstance()->getName() . '/language/' . $langCode . '.ini';
     $strings = AngieHelperIni::parse_ini_file($filename, false);
     self::$strings = array_merge(self::$strings, $strings);
     // Platform override file
     $filename = APATH_INSTALLATION . '/' . AApplication::getInstance()->getName() . '/platform/language/' . $langCode . '.ini';
     if (!@file_exists($filename)) {
         $filename = APATH_INSTALLATION . '/platform/language/' . $langCode . '.ini';
     }
     if (@file_exists($filename)) {
         $strings = AngieHelperIni::parse_ini_file($filename, false);
         self::$strings = array_merge(self::$strings, $strings);
     }
     // Performs callback on loaded strings
     if (!empty(static::$iniProcessCallbacks) && !empty(self::$strings)) {
         foreach (static::$iniProcessCallbacks as $callback) {
             $ret = call_user_func($callback, $filename, self::$strings);
             if ($ret === false) {
                 return;
             } elseif (is_array($ret)) {
                 self::$strings = $ret;
             }
         }
     }
 }