Revert r51128, and its follow-up revisions r51129, r51130, r51390.
authorAndrew Garrett <werdna@users.mediawiki.org>
Thu, 4 Jun 2009 09:48:11 +0000 (09:48 +0000)
committerAndrew Garrett <werdna@users.mediawiki.org>
Thu, 4 Jun 2009 09:48:11 +0000 (09:48 +0000)
Commit message was: "* (bug 18958) Added ability to disable entire variant conversion engine per user preferences (languages with language converter class only)"
Reverted because of multiple issues on CodeReview, notably:
* Unexplained rename of a configuration variable, with no backwards-compatibility code.
* Suspected parser cache pollution.
* Variant tabs flip-flop with parser cache misses and hits.
* Hacky implementation: changing configuration variables on the fly is almost always a bad idea, unless you are writing a configuration extension.
* Implementation of default is done as a special case in code accessing the preference, rather than by adding an entry to $wgDefaultUserOptions.

26 files changed:
RELEASE-NOTES
includes/DefaultSettings.php
includes/Preferences.php
includes/Skin.php
includes/SkinTemplate.php
languages/LanguageConverter.php
languages/messages/MessagesEn.php
languages/messages/MessagesGan_hans.php
languages/messages/MessagesGan_hant.php
languages/messages/MessagesJa.php
languages/messages/MessagesKk.php
languages/messages/MessagesKk_arab.php
languages/messages/MessagesKk_cyrl.php
languages/messages/MessagesKk_latn.php
languages/messages/MessagesLzh.php
languages/messages/MessagesQqq.php
languages/messages/MessagesSr.php
languages/messages/MessagesSr_ec.php
languages/messages/MessagesSr_el.php
languages/messages/MessagesYue.php
languages/messages/MessagesZh.php
languages/messages/MessagesZh_hans.php
languages/messages/MessagesZh_hant.php
maintenance/language/messageTypes.inc
maintenance/language/messages.inc
skins/Vector.php

index 9b96db7..bde9ae9 100644 (file)
@@ -32,9 +32,6 @@ it from source control: http://www.mediawiki.org/wiki/Download_from_SVN
 * (bug 9257) $wgRCMaxAge now defaults to three months
 * $wgDevelopmentWarnings can be set to true to show warnings about deprecated
   functions and other potential errors when developing.
-* (bug 18958) $wgEnableVariants is a new boolean value to turn on or off the
-  entire variant conversion engine, and the default is set to true. Former
-  variable $wgDisableLangConversion was superseded by this variable.
 * Subpages are now enabled in the MediaWiki namespace by default.  This is
   mainly a cosmetic change, and does not in any way affect the MessageCache,
   which was already effectively treating the namespace as if it had subpages.
@@ -77,8 +74,6 @@ it from source control: http://www.mediawiki.org/wiki/Download_from_SVN
 * (bug 18860) Blocks of IPs affecting registered users can now block email
 * (bug 17093) Date and time are separate parameters in Special:BlockList
 * (bug 11484) Added ISO speed rating to default collapsed EXIF metadata view
-* (bug 18958) Added ability to disable entire variant conversion engine
-  per user preferences
 * (bug 19012) Introduce {{NUMBEROFCONTRIBS}} variable to display the number
   of contributions a user has.
 * (bug 14866) Messages 'recentchangeslinked-toolbox' and
index 13f9b26..d0d719a 100644 (file)
@@ -887,7 +887,7 @@ $wgEnableSerializedMessages = true;
 $wgCheckSerialized = true;
 
 /** Whether to enable language variant conversion. */
-$wgEnableVariants = true;
+$wgDisableLangConversion = false;
 
 /** Whether to enable language variant conversion for links. */
 $wgDisableTitleConversion = false;
index 65f0722..5f64f27 100644 (file)
@@ -215,10 +215,10 @@ class Preferences {
                                        'label-message' => 'yourlanguage',
                                );
                                
-               global $wgContLang, $wgEnableVariants;
+               global $wgContLang, $wgDisableLangConversion;
                /* see if there are multiple language variants to choose from*/
                $variantArray = array();
-               if($wgEnableVariants) {
+               if(!$wgDisableLangConversion) {
                        $variants = $wgContLang->getVariants();
 
                        $languages = Language::getLanguageNames( true );
@@ -247,7 +247,7 @@ class Preferences {
                        }
                }
                
-               if( count($variantArray) > 1 && $wgEnableVariants && !$wgDisableTitleConversion ) {
+               if( count($variantArray) > 1 && !$wgDisableLangConversion && !$wgDisableTitleConversion ) {
                        $defaultPreferences['noconvertlink'] =
                                        array(
                                                'type' => 'toggle',
index 45000fd..1e3a9fb 100644 (file)
@@ -1272,9 +1272,9 @@ END;
        function variantLinks() {
                $s = '';
                /* show links to different language variants */
-               global $wgEnableVariants, $wgLang, $wgContLang;
+               global $wgDisableLangConversion, $wgLang, $wgContLang;
                $variants = $wgContLang->getVariants();
-               if( $wgEnableVariants && sizeof( $variants ) > 1 ) {
+               if( !$wgDisableLangConversion && sizeof( $variants ) > 1 ) {
                        foreach( $variants as $code ) {
                                $varname = $wgContLang->getVariantname( $code );
                                if( $varname == 'disable' )
index a08d2fb..dcbedd8 100644 (file)
@@ -819,9 +819,9 @@ class SkinTemplate extends Skin {
                }
 
                /* show links to different language variants */
-               global $wgEnableVariants;
+               global $wgDisableLangConversion;
                $variants = $wgContLang->getVariants();
-               if( $wgEnableVariants && sizeof( $variants ) > 1 ) {
+               if( !$wgDisableLangConversion && sizeof( $variants ) > 1 ) {
                        $preferred = $wgContLang->getPreferredVariant();
                        $vcount=0;
                        foreach( $variants as $code ) {
@@ -1107,4 +1107,4 @@ class QuickTemplate {
                $msg = $this->translator->translate( $str );
                return ( $msg != '-' ) && ( $msg != '' ); # ????
        }
-}
+}
\ No newline at end of file
index dbdde9c..57af7bc 100644 (file)
@@ -425,14 +425,7 @@ class LanguageConverter {
         * @public
         */
        function parserConvert( $text, &$parser ) {
-               global $wgUser, $wgEnableVariants;
-
-               /* disable entire conversion engine if the user had been disabled it */
-               $variantConv = $wgUser->getOption( 'variantconversion' );
-               if ( ( $wgEnableVariants == true ) && ( $variantConv === 0 ) ) { 
-                       $wgEnableVariants = false;
-               }
-
+               global $wgDisableLangConversion;
                /* don't do anything if this is the conversion table */
                if ( $parser->getTitle()->getNamespace() == NS_MEDIAWIKI &&
                                 strpos($parser->mTitle->getText(), "Conversiontable") !== false ) 
@@ -440,7 +433,7 @@ class LanguageConverter {
                        return $text;
                }
 
-               if ( !$wgEnableVariants )
+               if ( $wgDisableLangConversion )
                        return $text;
 
                $text = $this->convert( $text );
@@ -579,11 +572,11 @@ class LanguageConverter {
         * @public
         */
        function findVariantLink( &$link, &$nt, $ignoreOtherCond = false ) {
-               global $wgEnableVariants, $wgDisableTitleConversion, $wgRequest, $wgUser;
+               global $wgDisableLangConversion, $wgDisableTitleConversion, $wgRequest, $wgUser;
                $isredir = $wgRequest->getText( 'redirect', 'yes' );
                $action = $wgRequest->getText( 'action' );
                $linkconvert = $wgRequest->getText( 'linkconvert', 'yes' );
-               $disableLinkConversion = !$wgEnableVariants || $wgDisableTitleConversion;
+               $disableLinkConversion = $wgDisableLangConversion || $wgDisableTitleConversion;
                $linkBatch = new LinkBatch();
 
                $ns=NS_MAIN;
index 4bf31ca..39fefda 100644 (file)
@@ -538,7 +538,7 @@ XHTML id names.
 'tog-watchlisthideliu'        => 'Hide edits by logged in users from the watchlist',
 'tog-watchlisthideanons'      => 'Hide edits by anonymous users from the watchlist',
 'tog-watchlisthidepatrolled'  => 'Hide patrolled edits from the watchlist',
-'tog-variantconversion'       => 'Enable variants conversion', # only translate this message to other languages if you have to change it
+'tog-nolangconversion'        => 'Disable variants conversion', # only translate this message to other languages if you have to change it
 'tog-ccmeonemails'            => 'Send me copies of e-mails I send to other users',
 'tog-diffonly'                => 'Do not show page content below diffs',
 'tog-showhiddencats'          => 'Show hidden categories',
index 57d3e7a..84d3136 100644 (file)
@@ -64,7 +64,7 @@ $messages = array(
 'tog-watchlisthideown'        => '监视列表弆到偶𠮶编辑',
 'tog-watchlisthidebots'       => '监视列表弆到机器人𠮶编辑',
 'tog-watchlisthideminor'      => '监视列表弆到细修改',
-'tog-variantconversion'       => '要字转换',
+'tog-nolangconversion'        => '嫑字转换',
 'tog-ccmeonemails'            => '偶发email到人家时也发封副本到偶',
 'tog-diffonly'                => '比较两只版本差异𠮶时间伓显示文章𠮶内容',
 'tog-showhiddencats'          => '显示弆到𠮶分类',
index c7eaee3..e20b23d 100644 (file)
@@ -89,7 +89,7 @@ $messages = array(
 'tog-watchlisthideown'        => '監視列表弆到偶嗰編輯',
 'tog-watchlisthidebots'       => '監視列表弆到機器人嗰編輯',
 'tog-watchlisthideminor'      => '監視列表弆到細修改',
-'tog-variantconversion'       => '要字轉換',
+'tog-nolangconversion'        => '嫑字轉換',
 'tog-ccmeonemails'            => '偶發email到人家時也發封副本到偶',
 'tog-diffonly'                => '比較兩隻版本差異嗰時間伓顯示文章嗰內容',
 'tog-showhiddencats'          => '顯示弆到嗰分類',
index d3d6b5b..cd71185 100644 (file)
@@ -318,7 +318,7 @@ $messages = array(
 'tog-watchlisthideliu'        => 'ウォッチリストにログイン利用者の編集を表示しない',
 'tog-watchlisthideanons'      => 'ウォッチリストに匿名利用者の編集を表示しない',
 'tog-watchlisthidepatrolled'  => 'ウォッチリストにパトロール済みの編集を表示しない',
-'tog-variantconversion'       => '言語変種変換を有効にする',
+'tog-nolangconversion'        => '言語変種変換を無効にする',
 'tog-ccmeonemails'            => '他の利用者に送信したメールの控えを自分にも送る',
 'tog-diffonly'                => '差分表示の下に記事本文を表示しない',
 'tog-showhiddencats'          => '隠しカテゴリを表示する',
index a561937..b0773ea 100644 (file)
 
 $fallback = 'kk-cyrl';
 
-$extraUserToggles = array(
-       'variantconversion'
-);
-
 $messages = array(
 # Edit pages
 'edittools' => '<!-- Мындағы мәтін өңдеу және қотару пішіндердің астында көрсетіледі. -->',
index 546587b..875b3b7 100644 (file)
@@ -51,6 +51,10 @@ $defaultUserOptionOverrides = array(
        'underline' => 0,
 );
 
+$extraUserToggles = array(
+       'nolangconversion'
+);
+
 $fallback8bitEncoding = 'windows-1256';
 
 $namespaceNames = array(
index c02c807..aea7915 100644 (file)
@@ -27,6 +27,10 @@ $separatorTransformTable = array(
        '.' => ',',
 );
 
+$extraUserToggles = array(
+       'nolangconversion'
+);
+
 $fallback8bitEncoding = 'windows-1251';
 
 $namespaceNames = array(
index 384c718..78a1b35 100644 (file)
@@ -31,6 +31,10 @@ $separatorTransformTable = array(
        '.' => ',',
 );
 
+$extraUserToggles = array(
+       'nolangconversion'
+);
+
 $fallback8bitEncoding = 'windows-1254';
 
 $namespaceNames = array(
index 031ea32..1bd6c82 100644 (file)
@@ -106,7 +106,7 @@ $messages = array(
 'tog-watchlisthideliu'        => '不哨有簿',
 'tog-watchlisthideanons'      => '不哨無簿',
 'tog-watchlisthidepatrolled'  => '不哨已巡',
-'tog-variantconversion'       => '轉',
+'tog-nolangconversion'        => '非轉',
 'tog-ccmeonemails'            => '凡所遺書,請存副本。',
 'tog-diffonly'                => '異下無示頁',
 'tog-showhiddencats'          => '示隱類',
index a591b4f..584642e 100644 (file)
@@ -127,7 +127,7 @@ This is the toolbar: [[Image:Toolbar.png]]",
 'tog-watchlisthideliu'        => "Option in tab 'Watchlist' of [[Special:Preferences]]",
 'tog-watchlisthideanons'      => "Option in tab 'Watchlist' of [[Special:Preferences]]",
 'tog-watchlisthidepatrolled'  => 'Option in Watchlist tab of [[Special:Preferences]]',
-'tog-variantconversion'       => 'In user preferences.',
+'tog-nolangconversion'        => 'In user preferences.',
 'tog-ccmeonemails'            => 'In user preferences',
 'tog-diffonly'                => 'Toggle option used in [[Special:Preferences]].',
 'tog-showhiddencats'          => 'Toggle option used in [[Special:Preferences]].',
index 48197df..03a0c93 100644 (file)
 $fallback = 'sr-ec';
 $linkTrail = '/^([abvgdđežzijklljmnnjoprstćufhcčdžšабвгдђежзијклљмнњопрстћуфхцчџш]+)(.*)$/usD';
 
-$extraUserToggles = array(
-       'variantconversion',
-);
-
 $messages = array(
 # Special:LinkSearch
 'linksearch'       => 'Претрага интернет веза',
index 15da955..ab09222 100644 (file)
@@ -58,6 +58,11 @@ $namespaceAliases = array(
        'Razgovor_o_kategoriji'   => NS_CATEGORY_TALK,
 );
 
+
+$extraUserToggles = array(
+       'nolangconversion',
+);
+
 $datePreferenceMigrationMap = array(
        'default',
        'hh:mm d. month y.',
index 8d7e228..18e29c9 100644 (file)
@@ -52,6 +52,11 @@ $namespaceAliases = array(
        'Разговор_о_категорији'   => NS_CATEGORY_TALK,
 );
 
+
+$extraUserToggles = array(
+       'nolangconversion',
+);
+
 $datePreferenceMigrationMap = array(
        'default',
        'hh:mm d. month y.',
index 0dda6a1..641fae2 100644 (file)
@@ -180,7 +180,7 @@ $messages = array(
 'tog-watchlisthideliu'        => '響監視清單度隱藏登入用戶',
 'tog-watchlisthideanons'      => '響監視清單度隱藏匿名用戶',
 'tog-watchlisthidepatrolled'  => '響監視清單度隱藏巡查過嘅編輯',
-'tog-variantconversion'       => '要用字轉換',
+'tog-nolangconversion'        => '唔要用字轉換',
 'tog-ccmeonemails'            => '當我寄電郵畀其他人嗰陣寄返封副本畀我',
 'tog-diffonly'                => '響差異下面唔顯示頁面內容',
 'tog-showhiddencats'          => '顯示隱藏類',
index d044205..a5fe1a1 100644 (file)
@@ -170,10 +170,6 @@ $specialPageAliases = array(
        'DeletedContributions'      => array( '已删除的用户贡献', '已刪除的用戶貢獻' ),
 );
 
-$extraUserToggles = array(
-       'variantconversion',
-);
-
 $messages = array(
 # User preference toggles
 'tog-norollbackdiff' => '進行回退後略過差異比較',
index 06c00e4..6315fa2 100644 (file)
@@ -161,6 +161,9 @@ $specialPageAliases = array(
        'Tags'                      => array( '标签' ),
 );
 
+$extraUserToggles = array(
+       'nolangconversion',
+);
 $datePreferences = array(
        'default',
        'ISO 8601',
@@ -226,7 +229,7 @@ $messages = array(
 'tog-watchlisthideliu'        => '在监视列表中隐藏登录用户',
 'tog-watchlisthideanons'      => '在监视列表中隐藏匿名用户',
 'tog-watchlisthidepatrolled'  => '在监视列表中隐藏已巡查的编辑',
-'tog-variantconversion'       => '进行字词转换',
+'tog-nolangconversion'        => '不进行字词转换',
 'tog-ccmeonemails'            => '把我发送给其他用户的邮件同时发送副本给我自己',
 'tog-diffonly'                => '在比较两个修订版本差异时不显示页面内容',
 'tog-showhiddencats'          => '显示隐藏分类',
index 6b79417..bcd276f 100644 (file)
@@ -204,7 +204,7 @@ $messages = array(
 'tog-watchlisthideliu'        => '監視列表中隱藏登入用戶',
 'tog-watchlisthideanons'      => '監視列表中隱藏匿名用戶',
 'tog-watchlisthidepatrolled'  => '監視清單中隱藏已巡查的編輯',
-'tog-variantconversion'       => '進行用字轉換',
+'tog-nolangconversion'        => '不進行用字轉換',
 'tog-ccmeonemails'            => '當我寄電子郵件給其他用戶時,也寄一份複本到我的信箱。',
 'tog-diffonly'                => '在比較兩個修訂版本差異時不顯示頁面內容',
 'tog-showhiddencats'          => '顯示隱藏分類',
index da7b385..2e3d2cf 100644 (file)
@@ -165,7 +165,7 @@ $wgOptionalMessages = array(
        'sectionlink',
        'unit-pixel',
        'userrights-irreversible-marker',
-       'tog-variantconversion',
+       'tog-nolangconversion',
        'tog-noconvertlink',
        'yourvariant',
        'variantname-zh-hans',
index 61f160d..96107c0 100644 (file)
@@ -53,7 +53,7 @@ $wgMessageStructure = array(
                'tog-watchlisthideliu',
                'tog-watchlisthideanons',
                'tog-watchlisthidepatrolled',
-               'tog-variantconversion',
+               'tog-nolangconversion',
                'tog-ccmeonemails',
                'tog-diffonly',
                'tog-showhiddencats',
index a98e4ab..42fdb39 100644 (file)
@@ -48,7 +48,7 @@ class SkinVector extends SkinTemplate {
         */
        function buildNavigationUrls() {
                global $wgContLang, $wgLang, $wgOut, $wgUser, $wgRequest;
-               global $wgEnableVariants;
+               global $wgDisableLangConversion;
 
                wfProfileIn( __METHOD__ );
 
@@ -291,7 +291,7 @@ class SkinVector extends SkinTemplate {
                // Gets list of language variants
                $variants = $wgContLang->getVariants();
                // Checks that language conversion is enabled and variants exist
-               if( $wgEnableVariants && count( $variants ) > 1 ) {
+               if( !$wgDisableLangConversion && count( $variants ) > 1 ) {
                        // Gets preferred variant
                        $preferred = $wgContLang->getPreferredVariant();
                        // Loops over each variant