* (bug 18958) Added ability to disable entire variant conversion engine per user...
authorShinjiman <shinjiman@users.mediawiki.org>
Thu, 28 May 2009 18:13:52 +0000 (18:13 +0000)
committerShinjiman <shinjiman@users.mediawiki.org>
Thu, 28 May 2009 18:13:52 +0000 (18:13 +0000)
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 61a39d6..cf70e1c 100644 (file)
@@ -74,6 +74,8 @@ 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 fixes in 1.16 ===
 
index 2204a61..c3ca516 100644 (file)
@@ -887,7 +887,7 @@ $wgEnableSerializedMessages = true;
 $wgCheckSerialized = true;
 
 /** Whether to enable language variant conversion. */
-$wgDisableLangConversion = false;
+$wgEnableVariants = true;
 
 /** Whether to enable language variant conversion for links. */
 $wgDisableTitleConversion = false;
index 3e8f708..116a52c 100644 (file)
@@ -213,10 +213,10 @@ class Preferences {
                                        'label-message' => 'yourlanguage',
                                );
                                
-               global $wgContLang, $wgDisableLangConversion;
+               global $wgContLang, $wgEnableVariants;
                /* see if there are multiple language variants to choose from*/
                $variantArray = array();
-               if(!$wgDisableLangConversion) {
+               if($wgEnableVariants) {
                        $variants = $wgContLang->getVariants();
 
                        $languages = Language::getLanguageNames( true );
@@ -245,7 +245,7 @@ class Preferences {
                        }
                }
                
-               if( count($variantArray) > 1 && !$wgDisableLangConversion && !$wgDisableTitleConversion ) {
+               if( count($variantArray) > 1 && $wgEnableVariants && !$wgDisableTitleConversion ) {
                        $defaultPreferences['noconvertlink'] =
                                        array(
                                                'type' => 'toggle',
index 5d73f5b..b03c6c7 100644 (file)
@@ -1268,9 +1268,9 @@ END;
        function variantLinks() {
                $s = '';
                /* show links to different language variants */
-               global $wgDisableLangConversion, $wgLang, $wgContLang;
+               global $wgEnableVariants, $wgLang, $wgContLang;
                $variants = $wgContLang->getVariants();
-               if( !$wgDisableLangConversion && sizeof( $variants ) > 1 ) {
+               if( $wgEnableVariants && sizeof( $variants ) > 1 ) {
                        foreach( $variants as $code ) {
                                $varname = $wgContLang->getVariantname( $code );
                                if( $varname == 'disable' )
index da5d49c..02721cf 100644 (file)
@@ -818,9 +818,9 @@ class SkinTemplate extends Skin {
                }
 
                /* show links to different language variants */
-               global $wgDisableLangConversion;
+               global $wgEnableVariants;
                $variants = $wgContLang->getVariants();
-               if( !$wgDisableLangConversion && sizeof( $variants ) > 1 ) {
+               if( $wgEnableVariants && sizeof( $variants ) > 1 ) {
                        $preferred = $wgContLang->getPreferredVariant();
                        $vcount=0;
                        foreach( $variants as $code ) {
@@ -1106,4 +1106,4 @@ class QuickTemplate {
                $msg = $this->translator->translate( $str );
                return ( $msg != '-' ) && ( $msg != '' ); # ????
        }
-}
\ No newline at end of file
+}
index 86077be..09b0963 100644 (file)
@@ -426,7 +426,14 @@ class LanguageConverter {
         * @public
         */
        function parserConvert( $text, &$parser ) {
-               global $wgDisableLangConversion;
+               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;
+               }
+
                /* don't do anything if this is the conversion table */
                if ( $parser->getTitle()->getNamespace() == NS_MEDIAWIKI &&
                                 strpos($parser->mTitle->getText(), 'onversiontable') !== false ) 
@@ -434,7 +441,7 @@ class LanguageConverter {
                        return $text;
                }
 
-               if ( $wgDisableLangConversion )
+               if ( !$wgEnableVariants )
                        return $text;
 
                $text = $this->convert( $text );
@@ -573,11 +580,11 @@ class LanguageConverter {
         * @public
         */
        function findVariantLink( &$link, &$nt, $ignoreOtherCond = false ) {
-               global $wgDisableLangConversion, $wgDisableTitleConversion, $wgRequest, $wgUser;
+               global $wgEnableVariants, $wgDisableTitleConversion, $wgRequest, $wgUser;
                $isredir = $wgRequest->getText( 'redirect', 'yes' );
                $action = $wgRequest->getText( 'action' );
                $linkconvert = $wgRequest->getText( 'linkconvert', 'yes' );
-               $disableLinkConversion = $wgDisableLangConversion || $wgDisableTitleConversion;
+               $disableLinkConversion = !$wgEnableVariants || $wgDisableTitleConversion;
                $linkBatch = new LinkBatch();
 
                $ns=NS_MAIN;
index 5c641cd..d04f23f 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-nolangconversion'        => 'Disable variants conversion', # only translate this message to other languages if you have to change it
+'tog-variantconversion'       => 'Enable 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 f76ac6f..a595ed0 100644 (file)
@@ -64,7 +64,7 @@ $messages = array(
 'tog-watchlisthideown'        => '监视列表弆到偶𠮶编辑',
 'tog-watchlisthidebots'       => '监视列表弆到机器人𠮶编辑',
 'tog-watchlisthideminor'      => '监视列表弆到细修改',
-'tog-nolangconversion'        => '嫑字转换',
+'tog-variantconversion'       => '要字转换',
 'tog-ccmeonemails'            => '偶发email到人家时也发封副本到偶',
 'tog-diffonly'                => '比较两只版本差异𠮶时间伓显示文章𠮶内容',
 'tog-showhiddencats'          => '显示弆到𠮶分类',
index f232a85..4dda8f5 100644 (file)
@@ -89,7 +89,7 @@ $messages = array(
 'tog-watchlisthideown'        => '監視列表弆到偶嗰編輯',
 'tog-watchlisthidebots'       => '監視列表弆到機器人嗰編輯',
 'tog-watchlisthideminor'      => '監視列表弆到細修改',
-'tog-nolangconversion'        => '嫑字轉換',
+'tog-variantconversion'       => '要字轉換',
 'tog-ccmeonemails'            => '偶發email到人家時也發封副本到偶',
 'tog-diffonly'                => '比較兩隻版本差異嗰時間伓顯示文章嗰內容',
 'tog-showhiddencats'          => '顯示弆到嗰分類',
index 9d55299..ac0e751 100644 (file)
@@ -318,7 +318,7 @@ $messages = array(
 'tog-watchlisthideliu'        => 'ウォッチリストにログイン利用者の編集を表示しない',
 'tog-watchlisthideanons'      => 'ウォッチリストに匿名利用者の編集を表示しない',
 'tog-watchlisthidepatrolled'  => 'ウォッチリストにパトロール済みの編集を表示しない',
-'tog-nolangconversion'        => '言語変種変換を無効にする',
+'tog-variantconversion'       => '言語変種変換を有効にする',
 'tog-ccmeonemails'            => '他の利用者に送信したメールの控えを自分にも送る',
 'tog-diffonly'                => '差分表示の下に記事本文を表示しない',
 'tog-showhiddencats'          => '隠しカテゴリを表示する',
index b0773ea..a561937 100644 (file)
 
 $fallback = 'kk-cyrl';
 
+$extraUserToggles = array(
+       'variantconversion'
+);
+
 $messages = array(
 # Edit pages
 'edittools' => '<!-- Мындағы мәтін өңдеу және қотару пішіндердің астында көрсетіледі. -->',
index d6b8db1..5283b0d 100644 (file)
@@ -51,10 +51,6 @@ $defaultUserOptionOverrides = array(
        'underline' => 0,
 );
 
-$extraUserToggles = array(
-       'nolangconversion'
-);
-
 $fallback8bitEncoding = 'windows-1256';
 
 $namespaceNames = array(
index 41c1c5f..291fc20 100644 (file)
@@ -27,10 +27,6 @@ $separatorTransformTable = array(
        '.' => ',',
 );
 
-$extraUserToggles = array(
-       'nolangconversion'
-);
-
 $fallback8bitEncoding = 'windows-1251';
 
 $namespaceNames = array(
index 44c7517..3528e8e 100644 (file)
@@ -31,10 +31,6 @@ $separatorTransformTable = array(
        '.' => ',',
 );
 
-$extraUserToggles = array(
-       'nolangconversion'
-);
-
 $fallback8bitEncoding = 'windows-1254';
 
 $namespaceNames = array(
index 28fa1b6..c6e2056 100644 (file)
@@ -106,7 +106,7 @@ $messages = array(
 'tog-watchlisthideliu'        => '不哨有簿',
 'tog-watchlisthideanons'      => '不哨無簿',
 'tog-watchlisthidepatrolled'  => '不哨已巡',
-'tog-nolangconversion'        => '非轉',
+'tog-variantconversion'       => '轉',
 'tog-ccmeonemails'            => '凡所遺書,請存副本。',
 'tog-diffonly'                => '異下無示頁',
 'tog-showhiddencats'          => '示隱類',
index 1295ba5..0b216a9 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-nolangconversion'        => 'In user preferences.',
+'tog-variantconversion'       => '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 03a0c93..48197df 100644 (file)
 $fallback = 'sr-ec';
 $linkTrail = '/^([abvgdđežzijklljmnnjoprstćufhcčdžšабвгдђежзијклљмнњопрстћуфхцчџш]+)(.*)$/usD';
 
+$extraUserToggles = array(
+       'variantconversion',
+);
+
 $messages = array(
 # Special:LinkSearch
 'linksearch'       => 'Претрага интернет веза',
index 7ab3419..99c3fbe 100644 (file)
@@ -60,11 +60,6 @@ $namespaceAliases = array(
        'Razgovor_o_kategoriji'   => NS_CATEGORY_TALK,
 );
 
-
-$extraUserToggles = array(
-       'nolangconversion',
-);
-
 $datePreferenceMigrationMap = array(
        'default',
        'hh:mm d. month y.',
index 9c11a73..86a4ca7 100644 (file)
@@ -54,11 +54,6 @@ $namespaceAliases = array(
        'Разговор_о_категорији'   => NS_CATEGORY_TALK,
 );
 
-
-$extraUserToggles = array(
-       'nolangconversion',
-);
-
 $datePreferenceMigrationMap = array(
        'default',
        'hh:mm d. month y.',
index c808712..72c808d 100644 (file)
@@ -182,7 +182,7 @@ $messages = array(
 'tog-watchlisthideliu'        => '響監視清單度隱藏登入用戶',
 'tog-watchlisthideanons'      => '響監視清單度隱藏匿名用戶',
 'tog-watchlisthidepatrolled'  => '響監視清單度隱藏巡查過嘅編輯',
-'tog-nolangconversion'        => '唔要用字轉換',
+'tog-variantconversion'       => '要用字轉換',
 'tog-ccmeonemails'            => '當我寄電郵畀其他人嗰陣寄返封副本畀我',
 'tog-diffonly'                => '響差異下面唔顯示頁面內容',
 'tog-showhiddencats'          => '顯示隱藏類',
index 62b96d8..09f84ad 100644 (file)
@@ -172,6 +172,10 @@ $specialPageAliases = array(
        'DeletedContributions'      => array( '已删除的用户贡献', '已刪除的用戶貢獻' ),
 );
 
+$extraUserToggles = array(
+       'variantconversion',
+);
+
 $messages = array(
 # User preference toggles
 'tog-norollbackdiff' => '進行回退後略過差異比較',
index b693f1e..2961b79 100644 (file)
@@ -73,7 +73,7 @@ $namespaceAliases = array(
        '分类讨论'=> NS_CATEGORY_TALK,
 );
 
-$specialPageAliases = array(
+/*$specialPageAliases = array(
        'DoubleRedirects'           => array( '双重重定向页面' ),
        'BrokenRedirects'           => array( '损坏的重定向页' ),
        'Disambiguations'           => array( '消歧义页' ),
@@ -162,11 +162,8 @@ $specialPageAliases = array(
        'DeletedContributions'      => array( '已删除的用户贡献' ),
        'Tags'                      => array( '标签' ),
        'Createpage'                => array( '创建页面' ),
-);
+);*/
 
-$extraUserToggles = array(
-       'nolangconversion',
-);
 $datePreferences = array(
        'default',
        'ISO 8601',
@@ -232,7 +229,7 @@ $messages = array(
 'tog-watchlisthideliu'        => '在监视列表中隐藏登录用户',
 'tog-watchlisthideanons'      => '在监视列表中隐藏匿名用户',
 'tog-watchlisthidepatrolled'  => '在监视列表中隐藏已巡查的编辑',
-'tog-nolangconversion'        => '不进行字词转换',
+'tog-variantconversion'       => '进行字词转换',
 'tog-ccmeonemails'            => '把我发送给其他用户的邮件同时发送副本给我自己',
 'tog-diffonly'                => '在比较两个修订版本差异时不显示页面内容',
 'tog-showhiddencats'          => '显示隐藏分类',
index 5931997..7b76cfc 100644 (file)
@@ -78,7 +78,7 @@ $namespaceAliases = array(
        "分類討論" => NS_CATEGORY_TALK,
 );
 
-$specialPageAliases = array(
+/*$specialPageAliases = array(
        'DoubleRedirects'           => array( '雙重重定向頁面' ),
        'BrokenRedirects'           => array( '損壞的重定向頁' ),
        'Userlogin'                 => array( '用戶登入' ),
@@ -155,7 +155,7 @@ $specialPageAliases = array(
        'DeletedContributions'      => array( '已刪除的用戶貢獻' ),
        'Tags'                      => array( '標籤' ),
        'Createpage'                => array( '創建頁面' ),
-);
+);*/
 
 $bookstoreList = array(
        '博客來書店' => 'http://www.books.com.tw/exep/prod/booksfile.php?item=$1',
@@ -207,7 +207,7 @@ $messages = array(
 'tog-watchlisthideliu'        => '監視列表中隱藏登入用戶',
 'tog-watchlisthideanons'      => '監視列表中隱藏匿名用戶',
 'tog-watchlisthidepatrolled'  => '監視清單中隱藏已巡查的編輯',
-'tog-nolangconversion'        => '不進行用字轉換',
+'tog-variantconversion'       => '進行用字轉換',
 'tog-ccmeonemails'            => '當我寄電子郵件給其他用戶時,也寄一份複本到我的信箱。',
 'tog-diffonly'                => '在比較兩個修訂版本差異時不顯示頁面內容',
 'tog-showhiddencats'          => '顯示隱藏分類',
index 8d516a1..0353beb 100644 (file)
@@ -165,7 +165,7 @@ $wgOptionalMessages = array(
        'sectionlink',
        'unit-pixel',
        'userrights-irreversible-marker',
-       'tog-nolangconversion',
+       'tog-variantconversion',
        'tog-noconvertlink',
        'yourvariant',
        'variantname-zh-hans',
index 16b16f4..76d9435 100644 (file)
@@ -53,7 +53,7 @@ $wgMessageStructure = array(
                'tog-watchlisthideliu',
                'tog-watchlisthideanons',
                'tog-watchlisthidepatrolled',
-               'tog-nolangconversion',
+               'tog-variantconversion',
                'tog-ccmeonemails',
                'tog-diffonly',
                'tog-showhiddencats',
index 9924785..097d4f5 100644 (file)
@@ -50,7 +50,7 @@ class SkinVector extends SkinTemplate {
         */
        function buildNavigationUrls() {
                global $wgContLang, $wgLang, $wgOut, $wgUser, $wgRequest;
-               global $wgDisableLangConversion;
+               global $wgEnableVariants;
 
                wfProfileIn( __METHOD__ );
 
@@ -293,7 +293,7 @@ class SkinVector extends SkinTemplate {
                // Gets list of language variants
                $variants = $wgContLang->getVariants();
                // Checks that language conversion is enabled and variants exist
-               if( !$wgDisableLangConversion && count( $variants ) > 1 ) {
+               if( $wgEnableVariants && count( $variants ) > 1 ) {
                        // Gets preferred variant
                        $preferred = $wgContLang->getPreferredVariant();
                        // Loops over each variant