2. New function to convert namespace text for display. (only applies on wiki with LanguageConverter class)
class "mw-searchresult"
* (bug 15283) Interwiki imports can now fetch included templates
* Treat svn:// URLs as external links by default
+* New function to convert namespace text for display (only applies on wiki with
+ LanguageConverter class)
=== Bug fixes in 1.15 ===
* (bug 16968) Special:Upload no longer throws useless warnings.
var $mTables;
var $mManualAddTables;
var $mManualRemoveTables;
+ var $mNamespaceTables;
var $mTitleDisplay='';
var $mDoTitleConvert=true, $mDoContentConvert=true;
var $mManualLevel; // 'bidirectional' 'unidirectional' 'disable' for each variants
:'bidirectional';
$this->mManualAddTables[$v] = array();
$this->mManualRemoveTables[$v] = array();
+ $this->mNamespaceTables[$v] = array();
}
}
$parser->mOutput->setTitleText( $this->mTitleDisplay );
return $text;
}
+
+ /**
+ * convert namespace
+ * @param string $title the title included namespace
+ * @return array of string
+ * @private
+ */
+ function convertNamespace( $title, $variant ) {
+ $splittitle = explode( ':', $title );
+ if (count($splittitle) < 2)
+ return $title;
+ if ( isset( $this->mNamespaceTables[$variant][$splittitle[0]] ) )
+ $splittitle[0] = $this->mNamespaceTables[$variant][$splittitle[0]];
+ $ret = implode(':', $splittitle );
+ return $ret;
+ }
/**
- * convert title
+ * convert title
* @private
*/
- function convertTitle( $text ){
+ function convertTitle( $text, $variant ){
global $wgDisableTitleConversion, $wgUser;
// check for global param and __NOTC__ tag
if ( $isredir == 'no' || $action == 'edit' || $action == 'submit' || $linkconvert == 'no' ) {
return $text;
} else {
- $this->mTitleDisplay = $this->convert($text);
+ $text = $this->convertNamespace( $text, $variant );
+ $this->mTitleDisplay = $this->convert( $text );
return $this->mTitleDisplay;
}
}
if( $mw->matchStart( $text ) )
return $text;
+ $plang = $this->getPreferredVariant();
+
// for title convertion
- if ( $isTitle ) return $this->convertTitle( $text );
+ if ( $isTitle ) return $this->convertTitle( $text, $plang );
- $plang = $this->getPreferredVariant();
$tarray = StringUtils::explode( $this->mMarkup['end'], $text );
$text = '';
'zh-my' => '大马',
);
$this->mVariantNames = array_merge($this->mVariantNames,$names);
+ $this->loadNamespaceTables();
+ }
+
+ function loadNamespaceTables() {
+ global $wgMetaNamespace;
+ $nsproject = $wgMetaNamespace;
+ $projecttable = array(
+ 'Wikipedia' => '维基百科',
+ 'Wikisource' => '维基文库',
+ 'Wikinews' => '维基新闻',
+ 'Wiktionary' => '维基词典',
+ 'Wikibooks' => '维基教科书',
+ 'Wikiquote' => '维基语录',
+ );
+ $this->mNamespaceTables['zh-hans'] = array(
+ 'Media' => '媒体',
+ 'Special' => '特殊',
+ 'Talk' => '讨论',
+ 'User' => '用户',
+ 'User Talk' => '用户讨论',
+ $nsproject
+ => isset($projecttable[$nsproject]) ?
+ $projecttable[$nsproject] : $nsproject,
+ $nsproject . ' talk'
+ => isset($projecttable[$nsproject]) ?
+ $projecttable[$nsproject] . '讨论' : $nsproject . '讨论',
+ 'File' => '文件',
+ 'File talk' => '文件讨论',
+ 'MediaWiki' => 'MediaWiki',
+ 'MediaWiki talk' => 'MediaWiki讨论',
+ 'Template' => '模板',
+ 'Template talk' => '模板讨论',
+ 'Help' => '帮助',
+ 'Help talk' => '帮助讨论',
+ 'Category' => '分类',
+ 'Category talk' => '分类讨论',
+ );
+ $this->mNamespaceTables['zh-hant'] = array_merge($this->mNamespaceTables['zh-hans']);
+ $this->mNamespaceTables['zh-hant']['File'] = '檔案';
+ $this->mNamespaceTables['zh-hant']['File talk'] = '檔案討論';
+ $this->mNamespaceTables['zh'] = array_merge($this->mNamespaceTables['zh-hans']);
+ $this->mNamespaceTables['zh-cn'] = array_merge($this->mNamespaceTables['zh-hans']);
+ $this->mNamespaceTables['zh-hk'] = array_merge($this->mNamespaceTables['zh-hant']);
+ $this->mNamespaceTables['zh-mo'] = array_merge($this->mNamespaceTables['zh-hant']);
+ $this->mNamespaceTables['zh-my'] = array_merge($this->mNamespaceTables['zh-hans']);
+ $this->mNamespaceTables['zh-sg'] = array_merge($this->mNamespaceTables['zh-hans']);
+ $this->mNamespaceTables['zh-tw'] = array_merge($this->mNamespaceTables['zh-hant']);
}
function loadDefaultTables() {
* @ingroup Language
* @file
*
+ * @author Philip
*/
# Stub message file for converter code "zh"
$fallback = 'zh-hans';
+$namespaceNames = array(
+ NS_MEDIA => 'Media',
+ NS_SPECIAL => 'Special',
+ NS_MAIN => '',
+ NS_TALK => 'Talk',
+ NS_USER => 'User',
+ NS_USER_TALK => 'User_talk',
+ # NS_PROJECT set by $wgMetaNamespace
+ NS_PROJECT_TALK => '$1_talk',
+ NS_FILE => 'File',
+ NS_FILE_TALK => 'File_talk',
+ NS_MEDIAWIKI => 'MediaWiki',
+ NS_MEDIAWIKI_TALK => 'MediaWiki_talk',
+ NS_TEMPLATE => 'Template',
+ NS_TEMPLATE_TALK => 'Template_talk',
+ NS_HELP => 'Help',
+ NS_HELP_TALK => 'Help_talk',
+ NS_CATEGORY => 'Category',
+ NS_CATEGORY_TALK => 'Category_talk'
+);
+
$namespaceAliases = array(
'媒体' => NS_MEDIA,
'媒體' => NS_MEDIA,
'文件' => NS_FILE,
'图像对话' => NS_FILE_TALK,
'圖像對話' => NS_FILE_TALK,
+ '图像讨论' => NS_FILE_TALK,
+ '圖像討論' => NS_FILE_TALK,
'档案对话' => NS_FILE_TALK,
'檔案對話' => NS_FILE_TALK,
- '文件对話' => NS_FILE_TALK,
+ '档案讨论' => NS_FILE_TALK,
+ '檔案討論' => NS_FILE_TALK,
+ '文件对话' => NS_FILE_TALK,
'文件對話' => NS_FILE_TALK,
+ '文件讨论' => NS_FILE_TALK,
+ '文件討論' => NS_FILE_TALK,
'模板' => NS_TEMPLATE,
- '模板讨论'=> NS_TEMPLATE_TALK,
- "樣板" => NS_TEMPLATE,
- "樣板討論" => NS_TEMPLATE_TALK,
+ '样板' => NS_TEMPLATE,
+ '樣板' => NS_TEMPLATE,
+ '模板对话' => NS_TEMPLATE_TALK,
+ '模板對話' => NS_TEMPLATE_TALK,
+ '模板讨论' => NS_TEMPLATE_TALK,
+ '模板討論' => NS_TEMPLATE_TALK,
+ '样板对话' => NS_TEMPLATE_TALK,
+ '樣板對話' => NS_TEMPLATE_TALK,
+ '样板讨论' => NS_TEMPLATE_TALK,
+ '樣板討論' => NS_TEMPLATE_TALK,
'帮助' => NS_HELP,
- '帮助讨论'=> NS_HELP_TALK,
- "幫助" => NS_HELP,
- "幫助討論" => NS_HELP_TALK,
+ '幫助' => NS_HELP,
+ '帮助对话' => NS_HELP_TALK,
+ '幫助對話' => NS_HELP_TALK,
+ '帮助讨论' => NS_HELP_TALK,
+ '幫助討論' => NS_HELP_TALK,
'分类' => NS_CATEGORY,
+ '分類' => NS_CATEGORY,
+ '分类对话'=> NS_CATEGORY_TALK,
+ '分類對話' => NS_CATEGORY_TALK,
'分类讨论'=> NS_CATEGORY_TALK,
- "分類" => NS_CATEGORY,
- "分類討論" => NS_CATEGORY_TALK,
+ '分類討論' => NS_CATEGORY_TALK,
);
$messages = array(
* @author O
* @author Shinjiman
* @author Wmr89502270
+ * @author Philip
*/
$namespaceNames = array(
- NS_MEDIA => 'Media',
- NS_SPECIAL => 'Special',
+ NS_MEDIA => '媒体',
+ NS_SPECIAL => '特殊',
NS_MAIN => '',
- NS_TALK => 'Talk',
- NS_USER => 'User',
- NS_USER_TALK => 'User_talk',
+ NS_TALK => '讨论',
+ NS_USER => '用户',
+ NS_USER_TALK => '用户讨论',
# NS_PROJECT set by $wgMetaNamespace
- NS_PROJECT_TALK => '$1_talk',
- NS_FILE => 'File',
- NS_FILE_TALK => 'File_talk',
+ NS_PROJECT_TALK => '$1讨论',
+ NS_FILE => '文件',
+ NS_FILE_TALK => '文件讨论',
NS_MEDIAWIKI => 'MediaWiki',
- NS_MEDIAWIKI_TALK => 'MediaWiki_talk',
- NS_TEMPLATE => 'Template',
- NS_TEMPLATE_TALK => 'Template_talk',
- NS_HELP => 'Help',
- NS_HELP_TALK => 'Help_talk',
- NS_CATEGORY => 'Category',
- NS_CATEGORY_TALK => 'Category_talk'
+ NS_MEDIAWIKI_TALK => 'MediaWiki讨论',
+ NS_TEMPLATE => '模板',
+ NS_TEMPLATE_TALK => '模板讨论',
+ NS_HELP => '帮助',
+ NS_HELP_TALK => '帮助讨论',
+ NS_CATEGORY => '分类',
+ NS_CATEGORY_TALK => '分类讨论'
);
$namespaceAliases = array(
'Image' => NS_FILE,
'Image_talk' => NS_FILE_TALK,
'图像对话' => NS_FILE_TALK,
+ '图像讨论' => NS_FILE_TALK,
'档案对话' => NS_FILE_TALK,
+ '档案讨论' => NS_FILE_TALK,
'文件对话' => NS_FILE_TALK,
+ '文件讨论' => NS_FILE_TALK,
'模板' => NS_TEMPLATE,
+ '模板对话'=> NS_TEMPLATE_TALK,
'模板讨论'=> NS_TEMPLATE_TALK,
'帮助' => NS_HELP,
+ '帮助对话'=> NS_HELP_TALK,
'帮助讨论'=> NS_HELP_TALK,
'分类' => NS_CATEGORY,
+ '分类对话'=> NS_CATEGORY_TALK,
'分类讨论'=> NS_CATEGORY_TALK,
);
* @author Shinjiman
* @author Skjackey tse
* @author Wrightbus
+ * @author Philip
*/
$fallback = 'zh-hans';
$namespaceNames = array(
- NS_MEDIA => 'Media',
- NS_SPECIAL => 'Special',
+ NS_MEDIA => '媒體',
+ NS_SPECIAL => '特殊',
NS_MAIN => '',
- NS_TALK => 'Talk',
- NS_USER => 'User',
- NS_USER_TALK => 'User_talk',
+ NS_TALK => '討論',
+ NS_USER => '用戶',
+ NS_USER_TALK => '用戶討論',
# NS_PROJECT set by $wgMetaNamespace
- NS_PROJECT_TALK => '$1_talk',
- NS_FILE => 'File',
- NS_FILE_TALK => 'File_talk',
+ NS_PROJECT_TALK => '$1討論',
+ NS_FILE => '檔案',
+ NS_FILE_TALK => '檔案討論',
NS_MEDIAWIKI => 'MediaWiki',
- NS_MEDIAWIKI_TALK => 'MediaWiki_talk',
- NS_TEMPLATE => 'Template',
- NS_TEMPLATE_TALK => 'Template_talk',
- NS_HELP => 'Help',
- NS_HELP_TALK => 'Help_talk',
- NS_CATEGORY => 'Category',
- NS_CATEGORY_TALK => 'Category_talk'
+ NS_MEDIAWIKI_TALK => 'MediaWiki討論',
+ NS_TEMPLATE => '模板',
+ NS_TEMPLATE_TALK => '模板討論',
+ NS_HELP => '幫助',
+ NS_HELP_TALK => '幫助討論',
+ NS_CATEGORY => '分類',
+ NS_CATEGORY_TALK => '分類討論'
);
$namespaceAliases = array(
"媒體" => NS_MEDIA,
"特殊" => NS_SPECIAL,
"對話" => NS_TALK,
+ "討論" => NS_USER_TALK,
"用戶" => NS_USER,
"用戶對話" => NS_USER_TALK,
+ "用戶討論" => NS_USER_TALK,
# This has never worked so it's unlikely to annoy anyone if I disable it -- TS
#"{{SITENAME}}_對話" => NS_PROJECT_TALK
"圖像" => NS_FILE,
'Image' => NS_FILE,
'Image_talk' => NS_FILE_TALK,
"圖像對話" => NS_FILE_TALK,
+ "圖像討論" => NS_FILE_TALK,
"檔案對話" => NS_FILE_TALK,
+ "檔案討論" => NS_FILE_TALK,
"文件對話" => NS_FILE_TALK,
+ "文件討論" => NS_FILE_TALK,
"樣板" => NS_TEMPLATE,
+ "模板" => NS_TEMPLATE,
+ "樣板對話" => NS_TEMPLATE_TALK,
"樣板討論" => NS_TEMPLATE_TALK,
+ "模板對話" => NS_TEMPLATE_TALK,
+ "模板討論" => NS_TEMPLATE_TALK,
"幫助" => NS_HELP,
+ "幫助對話" => NS_HELP_TALK,
"幫助討論" => NS_HELP_TALK,
"分類" => NS_CATEGORY,
+ "分類對話" => NS_CATEGORY_TALK,
"分類討論" => NS_CATEGORY_TALK,
);