static public $mMergeableAliasListKeys = array( 'specialPageAliases' );
static public $mLocalisationCache = array();
+ static public $mLangObjCache = array();
static public $mWeekdayMsgs = array(
'sunday', 'monday', 'tuesday', 'wednesday', 'thursday',
);
/**
- * Create a language object for a given language code
+ * Get a language object for a given language code
*/
static function factory( $code ) {
global $IP;
static $recursionLevel = 0;
+ if ( isset( self::$mLangObjCache[$code] ) ) {
+ return self::$mLangObjCache[$code];
+ }
+
if ( $code == 'en' ) {
$class = 'Language';
} else {
$lang = new $class;
}
+ self::$mLangObjCache[$code] = $lang;
return $lang;
}