From f8c98279028c039d69031958dd602c3ff6de2704 Mon Sep 17 00:00:00 2001 From: Antoine Musso Date: Wed, 8 Sep 2004 13:32:13 +0000 Subject: [PATCH] Patch to only load $msgAllMessages instead of replacing the language object. It's slow as the language object constructor is called twice. See: http://bugzilla.wikipedia.org/show_bug.cgi?id=184 --- includes/Setup.php | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/includes/Setup.php b/includes/Setup.php index ba9daef87c..c04f287e93 100644 --- a/includes/Setup.php +++ b/includes/Setup.php @@ -221,7 +221,7 @@ if( count( $wgUserLanguages ) && !empty( $wgUser->mOptions['language'] ) && in_array( $wgUser->mOptions['language'], $wgUserLanguages ) ) { // Change language of the site - $wgLanguageCode = $wgUser->mOptions['language']; + $wgUserLanguageCode = $wgUser->mOptions['language']; // we will load messages from file instead of from database $wgUseDatabaseMessages = false; # FIXME: THIS WILL BREAK NAMESPACES, VARIABLES, @@ -258,6 +258,19 @@ if( $wgUseLatin1 && $wgLanguageCode != 'en' ) { // now that we have a language object, set per language user defaults options // if we didn't grabbed them from database. if(!$wgUser->mDataLoaded) { $wgUser->loadDefaultFromLanguage(); } +// and change the messages array used + +if(isset($wgUserLanguageCode)) { + /** Need to load the language datas */ + require_once( 'languages/Language'.str_replace('-', '_', ucfirst( $wgUserLanguageCode )).'.php'); + $sitemsgarray = 'wgAllMessages'.ucfirst($wgLanguageCode); + $usermsgarray = 'wgAllMessages'.str_replace('-', '_', ucfirst( $wgUserLanguageCode )); + $$sitemsgarray = &$$usermsgarray; + // rebuild the language object messages + $wgLang->Language(); +} + + wfProfileOut( $fname.'-language' ); wfProfileIn( $fname.'-MessageCache' ); -- 2.20.1