From 9952b3f25d97b395c1e7af015a5ee521b8365c49 Mon Sep 17 00:00:00 2001 From: Shinjiman Date: Thu, 28 May 2009 18:13:52 +0000 Subject: [PATCH] * (bug 18958) Added ability to disable entire variant conversion engine per user preferences (languages with language converter class only) --- RELEASE-NOTES | 2 ++ includes/DefaultSettings.php | 2 +- includes/Preferences.php | 6 +++--- includes/Skin.php | 4 ++-- includes/SkinTemplate.php | 6 +++--- languages/LanguageConverter.php | 15 +++++++++++---- languages/messages/MessagesEn.php | 2 +- languages/messages/MessagesGan_hans.php | 2 +- languages/messages/MessagesGan_hant.php | 2 +- languages/messages/MessagesJa.php | 2 +- languages/messages/MessagesKk.php | 4 ++++ languages/messages/MessagesKk_arab.php | 4 ---- languages/messages/MessagesKk_cyrl.php | 4 ---- languages/messages/MessagesKk_latn.php | 4 ---- languages/messages/MessagesLzh.php | 2 +- languages/messages/MessagesQqq.php | 2 +- languages/messages/MessagesSr.php | 4 ++++ languages/messages/MessagesSr_ec.php | 5 ----- languages/messages/MessagesSr_el.php | 5 ----- languages/messages/MessagesYue.php | 2 +- languages/messages/MessagesZh.php | 4 ++++ languages/messages/MessagesZh_hans.php | 9 +++------ languages/messages/MessagesZh_hant.php | 6 +++--- maintenance/language/messageTypes.inc | 2 +- maintenance/language/messages.inc | 2 +- skins/Vector.php | 4 ++-- 26 files changed, 51 insertions(+), 55 deletions(-) diff --git a/RELEASE-NOTES b/RELEASE-NOTES index 61a39d6b56..cf70e1c9ef 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -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 === diff --git a/includes/DefaultSettings.php b/includes/DefaultSettings.php index 2204a6181a..c3ca5167bf 100644 --- a/includes/DefaultSettings.php +++ b/includes/DefaultSettings.php @@ -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; diff --git a/includes/Preferences.php b/includes/Preferences.php index 3e8f7081c5..116a52c582 100644 --- a/includes/Preferences.php +++ b/includes/Preferences.php @@ -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', diff --git a/includes/Skin.php b/includes/Skin.php index 5d73f5b27c..b03c6c7965 100644 --- a/includes/Skin.php +++ b/includes/Skin.php @@ -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' ) diff --git a/includes/SkinTemplate.php b/includes/SkinTemplate.php index da5d49c26a..02721cf077 100644 --- a/includes/SkinTemplate.php +++ b/includes/SkinTemplate.php @@ -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 +} diff --git a/languages/LanguageConverter.php b/languages/LanguageConverter.php index 86077be7e0..09b0963d19 100644 --- a/languages/LanguageConverter.php +++ b/languages/LanguageConverter.php @@ -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; diff --git a/languages/messages/MessagesEn.php b/languages/messages/MessagesEn.php index 5c641cd910..d04f23f57a 100644 --- a/languages/messages/MessagesEn.php +++ b/languages/messages/MessagesEn.php @@ -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', diff --git a/languages/messages/MessagesGan_hans.php b/languages/messages/MessagesGan_hans.php index f76ac6f016..a595ed0e17 100644 --- a/languages/messages/MessagesGan_hans.php +++ b/languages/messages/MessagesGan_hans.php @@ -64,7 +64,7 @@ $messages = array( 'tog-watchlisthideown' => '监视列表弆到偶𠮶编辑', 'tog-watchlisthidebots' => '监视列表弆到机器人𠮶编辑', 'tog-watchlisthideminor' => '监视列表弆到细修改', -'tog-nolangconversion' => '嫑字转换', +'tog-variantconversion' => '要字转换', 'tog-ccmeonemails' => '偶发email到人家时也发封副本到偶', 'tog-diffonly' => '比较两只版本差异𠮶时间伓显示文章𠮶内容', 'tog-showhiddencats' => '显示弆到𠮶分类', diff --git a/languages/messages/MessagesGan_hant.php b/languages/messages/MessagesGan_hant.php index f232a85fbd..4dda8f5258 100644 --- a/languages/messages/MessagesGan_hant.php +++ b/languages/messages/MessagesGan_hant.php @@ -89,7 +89,7 @@ $messages = array( 'tog-watchlisthideown' => '監視列表弆到偶嗰編輯', 'tog-watchlisthidebots' => '監視列表弆到機器人嗰編輯', 'tog-watchlisthideminor' => '監視列表弆到細修改', -'tog-nolangconversion' => '嫑字轉換', +'tog-variantconversion' => '要字轉換', 'tog-ccmeonemails' => '偶發email到人家時也發封副本到偶', 'tog-diffonly' => '比較兩隻版本差異嗰時間伓顯示文章嗰內容', 'tog-showhiddencats' => '顯示弆到嗰分類', diff --git a/languages/messages/MessagesJa.php b/languages/messages/MessagesJa.php index 9d5529982a..ac0e751357 100644 --- a/languages/messages/MessagesJa.php +++ b/languages/messages/MessagesJa.php @@ -318,7 +318,7 @@ $messages = array( 'tog-watchlisthideliu' => 'ウォッチリストにログイン利用者の編集を表示しない', 'tog-watchlisthideanons' => 'ウォッチリストに匿名利用者の編集を表示しない', 'tog-watchlisthidepatrolled' => 'ウォッチリストにパトロール済みの編集を表示しない', -'tog-nolangconversion' => '言語変種変換を無効にする', +'tog-variantconversion' => '言語変種変換を有効にする', 'tog-ccmeonemails' => '他の利用者に送信したメールの控えを自分にも送る', 'tog-diffonly' => '差分表示の下に記事本文を表示しない', 'tog-showhiddencats' => '隠しカテゴリを表示する', diff --git a/languages/messages/MessagesKk.php b/languages/messages/MessagesKk.php index b0773ea06e..a56193789f 100644 --- a/languages/messages/MessagesKk.php +++ b/languages/messages/MessagesKk.php @@ -13,6 +13,10 @@ $fallback = 'kk-cyrl'; +$extraUserToggles = array( + 'variantconversion' +); + $messages = array( # Edit pages 'edittools' => '', diff --git a/languages/messages/MessagesKk_arab.php b/languages/messages/MessagesKk_arab.php index d6b8db10f8..5283b0d656 100644 --- a/languages/messages/MessagesKk_arab.php +++ b/languages/messages/MessagesKk_arab.php @@ -51,10 +51,6 @@ $defaultUserOptionOverrides = array( 'underline' => 0, ); -$extraUserToggles = array( - 'nolangconversion' -); - $fallback8bitEncoding = 'windows-1256'; $namespaceNames = array( diff --git a/languages/messages/MessagesKk_cyrl.php b/languages/messages/MessagesKk_cyrl.php index 41c1c5f8a3..291fc209f5 100644 --- a/languages/messages/MessagesKk_cyrl.php +++ b/languages/messages/MessagesKk_cyrl.php @@ -27,10 +27,6 @@ $separatorTransformTable = array( '.' => ',', ); -$extraUserToggles = array( - 'nolangconversion' -); - $fallback8bitEncoding = 'windows-1251'; $namespaceNames = array( diff --git a/languages/messages/MessagesKk_latn.php b/languages/messages/MessagesKk_latn.php index 44c75178e4..3528e8ed98 100644 --- a/languages/messages/MessagesKk_latn.php +++ b/languages/messages/MessagesKk_latn.php @@ -31,10 +31,6 @@ $separatorTransformTable = array( '.' => ',', ); -$extraUserToggles = array( - 'nolangconversion' -); - $fallback8bitEncoding = 'windows-1254'; $namespaceNames = array( diff --git a/languages/messages/MessagesLzh.php b/languages/messages/MessagesLzh.php index 28fa1b62e7..c6e2056ae0 100644 --- a/languages/messages/MessagesLzh.php +++ b/languages/messages/MessagesLzh.php @@ -106,7 +106,7 @@ $messages = array( 'tog-watchlisthideliu' => '不哨有簿', 'tog-watchlisthideanons' => '不哨無簿', 'tog-watchlisthidepatrolled' => '不哨已巡', -'tog-nolangconversion' => '非轉', +'tog-variantconversion' => '轉', 'tog-ccmeonemails' => '凡所遺書,請存副本。', 'tog-diffonly' => '異下無示頁', 'tog-showhiddencats' => '示隱類', diff --git a/languages/messages/MessagesQqq.php b/languages/messages/MessagesQqq.php index 1295ba5658..0b216a92f3 100644 --- a/languages/messages/MessagesQqq.php +++ b/languages/messages/MessagesQqq.php @@ -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]].', diff --git a/languages/messages/MessagesSr.php b/languages/messages/MessagesSr.php index 03a0c93365..48197df269 100644 --- a/languages/messages/MessagesSr.php +++ b/languages/messages/MessagesSr.php @@ -14,6 +14,10 @@ $fallback = 'sr-ec'; $linkTrail = '/^([abvgdđežzijklljmnnjoprstćufhcčdžšабвгдђежзијклљмнњопрстћуфхцчџш]+)(.*)$/usD'; +$extraUserToggles = array( + 'variantconversion', +); + $messages = array( # Special:LinkSearch 'linksearch' => 'Претрага интернет веза', diff --git a/languages/messages/MessagesSr_ec.php b/languages/messages/MessagesSr_ec.php index 7ab3419643..99c3fbe59b 100644 --- a/languages/messages/MessagesSr_ec.php +++ b/languages/messages/MessagesSr_ec.php @@ -60,11 +60,6 @@ $namespaceAliases = array( 'Razgovor_o_kategoriji' => NS_CATEGORY_TALK, ); - -$extraUserToggles = array( - 'nolangconversion', -); - $datePreferenceMigrationMap = array( 'default', 'hh:mm d. month y.', diff --git a/languages/messages/MessagesSr_el.php b/languages/messages/MessagesSr_el.php index 9c11a734d6..86a4ca738e 100644 --- a/languages/messages/MessagesSr_el.php +++ b/languages/messages/MessagesSr_el.php @@ -54,11 +54,6 @@ $namespaceAliases = array( 'Разговор_о_категорији' => NS_CATEGORY_TALK, ); - -$extraUserToggles = array( - 'nolangconversion', -); - $datePreferenceMigrationMap = array( 'default', 'hh:mm d. month y.', diff --git a/languages/messages/MessagesYue.php b/languages/messages/MessagesYue.php index c8087125a2..72c808db30 100644 --- a/languages/messages/MessagesYue.php +++ b/languages/messages/MessagesYue.php @@ -182,7 +182,7 @@ $messages = array( 'tog-watchlisthideliu' => '響監視清單度隱藏登入用戶', 'tog-watchlisthideanons' => '響監視清單度隱藏匿名用戶', 'tog-watchlisthidepatrolled' => '響監視清單度隱藏巡查過嘅編輯', -'tog-nolangconversion' => '唔要用字轉換', +'tog-variantconversion' => '要用字轉換', 'tog-ccmeonemails' => '當我寄電郵畀其他人嗰陣寄返封副本畀我', 'tog-diffonly' => '響差異下面唔顯示頁面內容', 'tog-showhiddencats' => '顯示隱藏類', diff --git a/languages/messages/MessagesZh.php b/languages/messages/MessagesZh.php index 62b96d842a..09f84addd4 100644 --- a/languages/messages/MessagesZh.php +++ b/languages/messages/MessagesZh.php @@ -172,6 +172,10 @@ $specialPageAliases = array( 'DeletedContributions' => array( '已删除的用户贡献', '已刪除的用戶貢獻' ), ); +$extraUserToggles = array( + 'variantconversion', +); + $messages = array( # User preference toggles 'tog-norollbackdiff' => '進行回退後略過差異比較', diff --git a/languages/messages/MessagesZh_hans.php b/languages/messages/MessagesZh_hans.php index b693f1e2db..2961b7962b 100644 --- a/languages/messages/MessagesZh_hans.php +++ b/languages/messages/MessagesZh_hans.php @@ -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' => '显示隐藏分类', diff --git a/languages/messages/MessagesZh_hant.php b/languages/messages/MessagesZh_hant.php index 593199738f..7b76cfc469 100644 --- a/languages/messages/MessagesZh_hant.php +++ b/languages/messages/MessagesZh_hant.php @@ -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' => '顯示隱藏分類', diff --git a/maintenance/language/messageTypes.inc b/maintenance/language/messageTypes.inc index 8d516a1692..0353beb8d3 100644 --- a/maintenance/language/messageTypes.inc +++ b/maintenance/language/messageTypes.inc @@ -165,7 +165,7 @@ $wgOptionalMessages = array( 'sectionlink', 'unit-pixel', 'userrights-irreversible-marker', - 'tog-nolangconversion', + 'tog-variantconversion', 'tog-noconvertlink', 'yourvariant', 'variantname-zh-hans', diff --git a/maintenance/language/messages.inc b/maintenance/language/messages.inc index 16b16f4ab1..76d94350e2 100644 --- a/maintenance/language/messages.inc +++ b/maintenance/language/messages.inc @@ -53,7 +53,7 @@ $wgMessageStructure = array( 'tog-watchlisthideliu', 'tog-watchlisthideanons', 'tog-watchlisthidepatrolled', - 'tog-nolangconversion', + 'tog-variantconversion', 'tog-ccmeonemails', 'tog-diffonly', 'tog-showhiddencats', diff --git a/skins/Vector.php b/skins/Vector.php index 9924785e32..097d4f59be 100644 --- a/skins/Vector.php +++ b/skins/Vector.php @@ -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 -- 2.20.1