Index: trunk/phase3/maintenance/language/messages.inc
===================================================================
--- trunk/phase3/maintenance/language/messages.inc (revision 38783)
+++ trunk/phase3/maintenance/language/messages.inc (revision 38784)
@@ -52,6 +52,7 @@
'tog-ccmeonemails',
'tog-diffonly',
'tog-showhiddencats',
+ 'tog-noconvertlink',
),
'underline' => array(
'underline-always',
Index: trunk/phase3/maintenance/language/messageTypes.inc
===================================================================
--- trunk/phase3/maintenance/language/messageTypes.inc (revision 38783)
+++ trunk/phase3/maintenance/language/messageTypes.inc (revision 38784)
@@ -163,6 +163,7 @@
'unit-pixel',
'userrights-irreversible-marker',
'tog-nolangconversion',
+ 'tog-noconvertlink',
'yourvariant',
'variantname-zh-hans',
'variantname-zh-hant',
Index: trunk/phase3/includes/User.php
===================================================================
--- trunk/phase3/includes/User.php (revision 38783)
+++ trunk/phase3/includes/User.php (revision 38784)
@@ -88,6 +88,7 @@
'ccmeonemails',
'diffonly',
'showhiddencats',
+ 'noconvertlink',
);
/**
Index: trunk/phase3/includes/DefaultSettings.php
===================================================================
--- trunk/phase3/includes/DefaultSettings.php (revision 38783)
+++ trunk/phase3/includes/DefaultSettings.php (revision 38784)
@@ -861,6 +861,9 @@
/** Whether to enable language variant conversion. */
$wgDisableLangConversion = false;
+/** Whether to enable language variant conversion for links. */
+$wgDisableTitleConversion = false;
+
/** Default variant code, if false, the default will be the language code */
$wgDefaultLanguageVariant = false;
@@ -2226,6 +2229,7 @@
'watchdefault' => 0,
'watchmoves' => 0,
'watchdeletion' => 0,
+ 'convertlink' => 0,
);
/** Whether or not to allow and use real name fields. Defaults to true. */
Index: trunk/phase3/includes/specials/SpecialPreferences.php
===================================================================
--- trunk/phase3/includes/specials/SpecialPreferences.php (revision 38783)
+++ trunk/phase3/includes/specials/SpecialPreferences.php (revision 38784)
@@ -513,7 +513,7 @@
function mainPrefsForm( $status , $message = '' ) {
global $wgUser, $wgOut, $wgLang, $wgContLang;
global $wgAllowRealName, $wgImageLimits, $wgThumbLimits;
- global $wgDisableLangConversion;
+ global $wgDisableLangConversion, $wgDisableTitleConversion;
global $wgEnotifWatchlist, $wgEnotifUserTalk,$wgEnotifMinorEdits;
global $wgRCShowWatchingUsers, $wgEnotifRevealEditorAddress;
global $wgEnableEmail, $wgEnableUserEmail, $wgEmailAuthentication;
@@ -734,6 +734,16 @@
)
);
}
+
+ if(count($variantArray) > 1 && !$wgDisableLangConversion && !$wgDisableTitleConversion) {
+ $wgOut->addHtml(
+ Xml::tags( 'tr', null,
+ Xml::tags( 'td', array( 'colspan' => '2' ),
+ $this->getToggle( "noconvertlink" )
+ )
+ )
+ );
+ }
}
# Password
Index: trunk/phase3/languages/LanguageConverter.php
===================================================================
--- trunk/phase3/languages/LanguageConverter.php (revision 38783)
+++ trunk/phase3/languages/LanguageConverter.php (revision 38784)
@@ -374,8 +374,10 @@
* @private
*/
function convertTitle($text){
- // check for __NOTC__ tag
- if( !$this->mDoTitleConvert ) {
+ global $wgDisableTitleConversion, $wgUser;
+
+ // check for global param and __NOTC__ tag
+ if( $wgDisableTitleConversion || !$this->mDoTitleConvert || $wgUser->getOption('noconvertlink') == 1 ) {
$this->mTitleDisplay = $text;
return $text;
}
@@ -389,7 +391,8 @@
global $wgRequest;
$isredir = $wgRequest->getText( 'redirect', 'yes' );
$action = $wgRequest->getText( 'action' );
- if ( $isredir == 'no' || $action == 'edit' ) {
+ $linkconvert = $wgRequest->getText( 'linkconvert', 'yes' );
+ if ( $isredir == 'no' || $action == 'edit' || $linkconvert == 'no' ) {
return $text;
} else {
$this->mTitleDisplay = $this->convert($text);
@@ -467,11 +470,20 @@
* @public
*/
function findVariantLink( &$link, &$nt ) {
- global $wgDisableLangConversion;
+ global $wgDisableLangConversion, $wgDisableTitleConversion, $wgRequest, $wgUser;
+ $isredir = $wgRequest->getText( 'redirect', 'yes' );
+ $action = $wgRequest->getText( 'action' );
+ $linkconvert = $wgRequest->getText( 'linkconvert', 'yes' );
+ $disableLinkConversion = $wgDisableLangConversion || $wgDisableTitleConversion;
$linkBatch = new LinkBatch();
$ns=NS_MAIN;
+ if ( $disableLinkConversion || $isredir == 'no' || $action == 'edit'
+ || $linkconvert == 'no' || $wgUser->getOption('noconvertlink') == 1 ) {
+ return;
+ }
+
if(is_object($nt))
$ns = $nt->getNamespace();
@@ -497,8 +509,7 @@
foreach( $titles as $varnt ) {
if( $varnt->getArticleID() > 0 ) {
$nt = $varnt;
- if( !$wgDisableLangConversion )
- $link = $v;
+ $link = $v;
break;
}
}
Index: trunk/phase3/languages/messages/MessagesZh_hans.php
===================================================================
--- trunk/phase3/languages/messages/MessagesZh_hans.php (revision 38783)
+++ trunk/phase3/languages/messages/MessagesZh_hans.php (revision 38784)
@@ -123,6 +123,7 @@
'tog-ccmeonemails' => '把我发送给其他用户的邮件同时发送副本给我自己',
'tog-diffonly' => '在比较两个修订版本差异时不显示页面内容',
'tog-showhiddencats' => '显示隐藏分类',
+'tog-noconvertlink' => '不转换链接标题',
'underline-always' => '总是使用',
'underline-never' => '从不使用',
Index: trunk/phase3/languages/messages/MessagesYue.php
===================================================================
--- trunk/phase3/languages/messages/MessagesYue.php (revision 38783)
+++ trunk/phase3/languages/messages/MessagesYue.php (revision 38784)
@@ -180,6 +180,7 @@
'tog-ccmeonemails' => '當我寄電郵畀其他人嗰陣寄返封副本畀我',
'tog-diffonly' => '響差異下面唔顯示頁面內容',
'tog-showhiddencats' => '顯示隱藏類',
+'tog-noconvertlink' => '唔轉連結標題',
'underline-always' => '全部',
'underline-never' => '永不',
Index: trunk/phase3/languages/messages/MessagesZh_hant.php
===================================================================
--- trunk/phase3/languages/messages/MessagesZh_hant.php (revision 38783)
+++ trunk/phase3/languages/messages/MessagesZh_hant.php (revision 38784)
@@ -105,6 +105,7 @@
'tog-ccmeonemails' => '當我寄電子郵件給其他用戶時,也寄一份複本到我的信箱。',
'tog-diffonly' => '在比較兩個修訂版本差異時不顯示頁面內容',
'tog-showhiddencats' => '顯示隱藏分類',
+'tog-noconvertlink' => '不轉換連結標題',
'underline-always' => '總是使用',
'underline-never' => '從不使用',
Index: trunk/phase3/languages/messages/MessagesEn.php
===================================================================
--- trunk/phase3/languages/messages/MessagesEn.php (revision 38783)
+++ trunk/phase3/languages/messages/MessagesEn.php (revision 38784)
@@ -532,6 +532,7 @@
'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',
+'tog-noconvertlink' => 'Disable titles conversion', # only translate this message to other languages if you have to change it
'underline-always' => 'Always',
'underline-never' => 'Never',
Index: trunk/phase3/languages/messages/MessagesZh_classical.php
===================================================================
--- trunk/phase3/languages/messages/MessagesZh_classical.php (revision 38783)
+++ trunk/phase3/languages/messages/MessagesZh_classical.php (revision 38784)
@@ -109,6 +109,7 @@
'tog-watchlisthideown' => '不哨己文',
'tog-watchlisthidebots' => '不哨僕文',
'tog-showhiddencats' => '示隱類',
+'tog-noconvertlink' => '非轉鍵題',
'underline-always' => '恆',
'underline-never' => '絕',
Index: trunk/phase3/RELEASE-NOTES
===================================================================
--- trunk/phase3/RELEASE-NOTES (revision 38783)
+++ trunk/phase3/RELEASE-NOTES (revision 38784)
@@ -47,6 +47,11 @@
* (bug 14377) Add a date selector to history pages
* (bug 15007) New 'pagetitle-view-mainpage' message allows the HTML <title> of
the main page to be customized
+* Added $wgDisableTitleConversion to disabling the conversion for all pages on
+ the wiki
+* Added 'noconvertlink' toogle that can be set per user preferences, also
+ added 'convertlink=no|yes' on GET requests whether have the link titles
+ being converted or not
=== Bug fixes in 1.14 ===