From 1353dfe91e72733c04b48a0e58611bc9241a6fd5 Mon Sep 17 00:00:00 2001 From: Zheng Zhu Date: Tue, 5 Jul 2005 05:21:53 +0000 Subject: [PATCH] Make language variant selection work again for zh --- RELEASE-NOTES | 1 + languages/LanguageConverter.php | 13 ++++++++----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/RELEASE-NOTES b/RELEASE-NOTES index a37314ac95..85ab0c96d8 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -473,6 +473,7 @@ of MediaWiki:Newpagetext) to &action=edit, if page is new. * (bug 2674) Include some site configuration info in export data: namespaces definitions, case-sensitivity, site name, version. * Use xml:space="preserve" hint on export elements +* Make language variant selection work again for zh === Caveats === diff --git a/languages/LanguageConverter.php b/languages/LanguageConverter.php index dd02162e81..d4a0b10eb0 100644 --- a/languages/LanguageConverter.php +++ b/languages/LanguageConverter.php @@ -92,23 +92,26 @@ class LanguageConverter { // get language variant preference from logged in users if(is_object($wgUser) && $wgUser->isLoggedIn() ) { $this->mPreferredVariant = $wgUser->getOption('variant'); + return $this->mPreferredVariant; } # FIXME rewrite code for parsing http header. The current code # is written specific for detecting zh- variants if( !$this->mPreferredVariant ) { - // see if some zh- variant is set in the http header, - $this->mPreferredVariant=$this->mMainLanguageCode; + // see if some supported language variant is set in the + // http header, but we don't set the mPreferredVariant + // variable in case this is called before the user's + // preference is loaded + $pv=$this->mMainLanguageCode; if(array_key_exists('HTTP_ACCEPT_LANGUAGE', $_SERVER)) { $header = str_replace( '_', '-', strtolower($_SERVER["HTTP_ACCEPT_LANGUAGE"])); $zh = strstr($header, 'zh-'); if($zh) { - $this->mPreferredVariant = substr($zh,0,5); + $pv = substr($zh,0,5); } } + return $pv; } - - return $this->mPreferredVariant; } /** -- 2.20.1