MediaWiki 1.5.5 merge Modified: trunk/web/reactos.org/htdocs/wiki/RELEASE-NOTES Modified: trunk/web/reactos.org/htdocs/wiki/docs/hooks.txt Modified: trunk/web/reactos.org/htdocs/wiki/includes/Article.php Modified: trunk/web/reactos.org/htdocs/wiki/includes/DefaultSettings.php Modified: trunk/web/reactos.org/htdocs/wiki/includes/Linker.php Modified: trunk/web/reactos.org/htdocs/wiki/includes/MimeMagic.php Modified: trunk/web/reactos.org/htdocs/wiki/includes/Parser.php Modified: trunk/web/reactos.org/htdocs/wiki/includes/Setup.php Modified: trunk/web/reactos.org/htdocs/wiki/includes/SpecialWhatlinkshere.php Modified: trunk/web/reactos.org/htdocs/wiki/includes/UserTalkUpdate.php Added: trunk/web/reactos.org/htdocs/wiki/languages/LanguageArc.php Modified: trunk/web/reactos.org/htdocs/wiki/languages/LanguageDa.php Added: trunk/web/reactos.org/htdocs/wiki/languages/LanguageDv.php Modified: trunk/web/reactos.org/htdocs/wiki/languages/LanguageJa.php Added: trunk/web/reactos.org/htdocs/wiki/languages/LanguageKs.php Added: trunk/web/reactos.org/htdocs/wiki/languages/LanguageSd.php Added: trunk/web/reactos.org/htdocs/wiki/languages/LanguageUg.php Modified: trunk/web/reactos.org/htdocs/wiki/maintenance/entities2literals.pl Modified: trunk/web/reactos.org/htdocs/wiki/maintenance/namespace2sql.php Deleted: trunk/web/reactos.org/htdocs/wiki/maintenance/postgresql/pg_tables.sql Deleted: trunk/web/reactos.org/htdocs/wiki/maintenance/postgresql/pg_users.sql Added: trunk/web/reactos.org/htdocs/wiki/maintenance/removeUnusedAccounts.inc Added: trunk/web/reactos.org/htdocs/wiki/maintenance/removeUnusedAccounts.php Modified: trunk/web/reactos.org/htdocs/wiki/profileinfo.php _____
Modified: trunk/web/reactos.org/htdocs/wiki/RELEASE-NOTES --- trunk/web/reactos.org/htdocs/wiki/RELEASE-NOTES 2006-01-10 22:29:01 UTC (rev 20770) +++ trunk/web/reactos.org/htdocs/wiki/RELEASE-NOTES 2006-01-10 22:33:07 UTC (rev 20771) @@ -3,6 +3,50 @@
Security reminder: MediaWiki does not require PHP's register_globals setting since version 1.2.0. If you have it on, turn it *off* if you can.
+== MediaWiki 1.5.5 == + +January 5, 2006 + +MediaWiki 1.5.5 is a security and bugfix maintenance release. + +Detection for uploads of Windows Metafile (.wmf) images has been added +to help protect against a client-side vulnerability in unpatched Microsoft +Windows operating systems. + +Sites which have enabled uploads and added non-standard file types +(such as .ogg, .doc, or .pdf) should upgrade to this release to ensure +that malicious .wmf files can't be uploaded with a fake extension; +such files could put visitors to the site at risk. + +For more details on this, see: +http://en.wikipedia.org/wiki/Windows_Metafile_vulnerability + +Additionally, a maintenance script removeUnusedAccounts.php has been added; +this replaces an older Perl script which had not been updated for the new +schema in 1.5. + + +== MediaWiki 1.5.4 == + +December 21, 2005 + +MediaWiki 1.5.4 is a security and bugfix maintenance release. + +A hardcoded internal placeholder string has been replaced with a random +one. This closes a hole where security checks in inline style attributes +could be bypassed, injecting JavaScript code that could execute in +Microsoft Internet Explorer. + +Other browsers would not be vulnerable. + +Several minor fixes are included in this release, most notably a fix +to clear the "you have new messages" flag properly for usernames +containing spaces when e-mail notification is enabled. + +See the changelog at the end of the release notes for a full list of +fixes. + + == MediaWiki 1.5.3 ==
December 4, 2005 @@ -937,8 +981,31 @@ * (bug 4071) Generate passwords long enough for $wgMinimalPasswordLength * (bug 4035) Fix prev/next revision links on edit page * (bug 4165) Correct validation for user language selection (data taint) +* Clearer message in DefaultSettings.php: edit LocalSettings.php instead
+=== Changes since 1.5.3 === + +* (bug 3805) Clear 'new messages' flag properly in enotif mode + for usernames containing spaces +* (bug 2714) Backlink from special:whatlinkshere was hard set as 'existing' +* (bug 4249) Typo in entities2literals.pl +* (bug 4233) Update for japanese language +* (bug 4279) Small correction to LanguageDa.php +* (bug 4267) Switch dv sd ug ks arc languages to RTL +* (bug 3991) Allow the operation of wikicode on Protect move only text +* Added AutoAuthenticate hook for external User object suppliers +* Parser internal placeholder string now fully randomized for safety + +=== Changes since 1.5.4 === + +* Maintenance script to delete unused user accounts +* Added detection for WMF files (application/x-msmetafile), added this + MIME type to the default blacklist. Prevented inline display of images + which are not of known image types. This is in response to + http://en.wikipedia.org/wiki/Windows_Metafile_vulnerability + + === Caveats ===
Some output, particularly involving user-supplied inline HTML, may not _____
Modified: trunk/web/reactos.org/htdocs/wiki/docs/hooks.txt --- trunk/web/reactos.org/htdocs/wiki/docs/hooks.txt 2006-01-10 22:29:01 UTC (rev 20770) +++ trunk/web/reactos.org/htdocs/wiki/docs/hooks.txt 2006-01-10 22:33:07 UTC (rev 20771) @@ -282,6 +282,9 @@
$iswatch: watch flag $section: section #
+'AutoAuthenticate': called to authenticate users on external/environmental means +$user: writes user object to this parameter + 'BlockIp': before an IP address or user is blocked $block: the Block object about to be saved $user: the user _doing_ the block (not the one being blocked) _____
Modified: trunk/web/reactos.org/htdocs/wiki/includes/Article.php --- trunk/web/reactos.org/htdocs/wiki/includes/Article.php 2006-01-10 22:29:01 UTC (rev 20770) +++ trunk/web/reactos.org/htdocs/wiki/includes/Article.php 2006-01-10 22:33:07 UTC (rev 20771) @@ -1605,7 +1605,7 @@
$wgOut->setPageTitle( wfMsg( 'confirmprotect' ) ); $wgOut->setSubtitle( wfMsg( 'protectsub', $sub ) ); $wgOut->addWikiText( wfMsg( 'confirmprotecttext' ) ); - $moveonly = htmlspecialchars( wfMsg( 'protectmoveonly' ) ); + $moveonly = wfMsg( 'protectmoveonly' ) ; // add it using addWikiText to prevent xss. bug:3991 $protcom = htmlspecialchars( wfMsg( 'protectcomment' ) ); $formaction = $this->mTitle->escapeLocalURL( 'action=protect' . $par ); } @@ -1631,7 +1631,10 @@ <input type='checkbox' name='wpMoveOnly' value='1' id='wpMoveOnly' /> </td> <td align='left'> - <label for='wpMoveOnly'>{$moveonly}</label> + <label for='wpMoveOnly'> "); + $wgOut->addWikiText( $moveonly ); // bug 3991 + $wgOut->addHTML( " + </label> </td> </tr> " ); } _____
Modified: trunk/web/reactos.org/htdocs/wiki/includes/DefaultSettings.php --- trunk/web/reactos.org/htdocs/wiki/includes/DefaultSettings.php 2006-01-10 22:29:01 UTC (rev 20770) +++ trunk/web/reactos.org/htdocs/wiki/includes/DefaultSettings.php 2006-01-10 22:33:07 UTC (rev 20771) @@ -1,9 +1,12 @@
<?php /** - * DO NOT EDIT THIS FILE! * - * To customize your installation, edit "LocalSettings.php". + * DO NOT EVER EDIT THIS FILE! * + * + * To customize your installation, edit "LocalSettings.php". If you make + * changes here, they will be lost on next upgrade of MediaWiki! + * * Note that since all these string interpolations are expanded * before LocalSettings is included, if you localize something * like $wgScriptPath, you must also localize everything that @@ -28,7 +31,7 @@ $wgConf = new SiteConfiguration;
/** MediaWiki version number */ -$wgVersion = '1.5.3'; +$wgVersion = '1.5.5';
/** Name of the site. It must be changed in LocalSettings.php */ $wgSitename = 'MediaWiki'; @@ -1035,7 +1038,9 @@ # PHP scripts may execute arbitrary code on the server 'application/x-php', 'text/x-php', # Other types that may be interpreted by some servers - 'text/x-python', 'text/x-perl', 'text/x-bash', 'text/x-sh', 'text/x-csh' + 'text/x-python', 'text/x-perl', 'text/x-bash', 'text/x-sh', 'text/x-csh', + # Windows metafile, client-side vulnerability on some systems + 'application/x-msmetafile' );
/** This is a flag to determine whether or not to check file extensions on upload. */ _____
Modified: trunk/web/reactos.org/htdocs/wiki/includes/Linker.php --- trunk/web/reactos.org/htdocs/wiki/includes/Linker.php 2006-01-10 22:29:01 UTC (rev 20770) +++ trunk/web/reactos.org/htdocs/wiki/includes/Linker.php 2006-01-10 22:33:07 UTC (rev 20771) @@ -373,6 +373,10 @@
global $wgContLang, $wgUser, $wgThumbLimits; $img = new Image( $nt ); + if ( !$img->allowInlineDisplay() ) { + return $this->makeKnownLinkObj( $nt ); + } + $url = $img->getViewURL(); $prefix = $postfix = ''; @@ -591,7 +595,7 @@ * @access public * @todo Handle invalid or missing images better. */ - function makeMediaLinkObj( $title, $text = '', $nourl=false ) { + function makeMediaLinkObj( $title, $text = '' ) { if( is_null( $title ) ) { ### HOTFIX. Instead of breaking, return empty string. return $text; @@ -600,9 +604,6 @@ $img = new Image( $title ); if( $img->exists() ) { $url = $img->getURL(); - if( $nourl ) { - $url = str_replace( "http://", UNIQ_PREFIX . "NOPARSEhttp://", $url ); - } $class = 'internal'; } else { $upload = Title::makeTitle( NS_SPECIAL, 'Upload' ); _____
Modified: trunk/web/reactos.org/htdocs/wiki/includes/MimeMagic.php --- trunk/web/reactos.org/htdocs/wiki/includes/MimeMagic.php 2006-01-10 22:29:01 UTC (rev 20770) +++ trunk/web/reactos.org/htdocs/wiki/includes/MimeMagic.php 2006-01-10 22:33:07 UTC (rev 20771) @@ -339,14 +339,21 @@
$fname = 'MimeMagic::guessMimeType'; $mime= $this->detectMimeType($file,$useExt); - if (strpos($mime,"text/")===0 || - $mime==="application/xml") { + // Read a chunk of the file + $f = fopen( $file, "rt" ); + if( !$f ) return "unknown/unknown"; + $head = fread( $f, 1024 ); + fclose( $f ); - // Read a chunk of the file - $f = fopen( $file, "rt" ); - if( !$f ) return "unknown/unknown"; - $head = fread( $f, 1024 ); - fclose( $f ); + $sub4 = substr( $head, 0, 4 ); + if ( $sub4 == "\x01\x00\x09\x00" || $sub4 == "\xd7\xcd\xc6\x9a" ) { + // WMF kill kill kill + // Note that WMF may have a bare header, no magic number. + // The former of the above two checks is theoretically prone to false positives + $mime = "application/x-msmetafile"; + } + + if (strpos($mime,"text/")===0 || $mime==="application/xml") { $xml_type= NULL; $script_type= NULL; _____
Modified: trunk/web/reactos.org/htdocs/wiki/includes/Parser.php --- trunk/web/reactos.org/htdocs/wiki/includes/Parser.php 2006-01-10 22:29:01 UTC (rev 20770) +++ trunk/web/reactos.org/htdocs/wiki/includes/Parser.php 2006-01-10 22:33:07 UTC (rev 20771) @@ -43,9 +43,6 @@
# may want to use in wikisyntax define( 'STRIP_COMMENTS', 'HTMLCommentStrip' );
-# prefix for escaping, used in two functions at least -define( 'UNIQ_PREFIX', 'NaodW29'); - # Constants needed for external link processing define( 'HTTP_PROTOCOLS', 'http://|https://' ); # Everything except bracket, space, or control characters @@ -101,7 +98,7 @@ # Cleared with clearState(): var $mOutput, $mAutonumber, $mDTopen, $mStripState = array(); var $mVariables, $mIncludeCount, $mArgStack, $mLastSection, $mInPre; - var $mInterwikiLinkHolders, $mLinkHolders; + var $mInterwikiLinkHolders, $mLinkHolders, $mUniqPrefix;
# Temporary: var $mOptions, $mTitle, $mOutputType, @@ -153,6 +150,7 @@ 'texts' => array(), 'titles' => array() ); + $this->mUniqPrefix = 'UNIQ' . Parser::getRandomString(); }
/** @@ -349,7 +347,7 @@ $gallery_content = array();
# Replace any instances of the placeholders - $uniq_prefix = UNIQ_PREFIX; + $uniq_prefix = $this->mUniqPrefix; #$text = str_replace( $uniq_prefix, wfHtmlEscapeFirst( $uniq_prefix ), $text );
# html @@ -508,7 +506,7 @@ * @access private */ function insertStripItem( $text, &$state ) { - $rnd = UNIQ_PREFIX . '-item' . Parser::getRandomString(); + $rnd = $this->mUniqPrefix . '-item' . Parser::getRandomString(); if ( !$state ) { $state = array( 'html' => array(), @@ -777,7 +775,7 @@
# replaceInternalLinks may sometimes leave behind # absolute URLs, which have to be masked to hide them from replaceExternalLinks - $text = str_replace(UNIQ_PREFIX."NOPARSE", "", $text); + $text = str_replace($this->mUniqPrefix."NOPARSE", "", $text);
$text = $this->doMagicLinks( $text ); $text = $this->doTableStuff( $text ); @@ -1393,7 +1391,7 @@ $text = $this->replaceInternalLinks($text);
# cloak any absolute URLs inside the image markup, so replaceExternalLinks() won't touch them - $s .= $prefix . preg_replace("/\b($wgUrlProtocols)/", UNIQ_PREFIX."NOPARSE$1", $this->makeImage( $nt, $text) ) . $trail; + $s .= $prefix . preg_replace( "/\b($wgUrlProtocols)/", "{$this->mUniqPrefix}NOPARSE$1", $this->makeImage( $nt, $text) ) . $trail;
$wgLinkCache->addImageLinkObj( $nt );
wfProfileOut( "$fname-image" ); @@ -1445,7 +1443,9 @@
# Special and Media are pseudo-namespaces; no pages actually exist in them if( $ns == NS_MEDIA ) { - $s .= $prefix . $sk->makeMediaLinkObj( $nt, $text, true ) . $trail; + $link = $sk->makeMediaLinkObj( $nt, $text ); + # Cloak with NOPARSE to avoid replacement in replaceExternalLinks + $s .= $prefix . str_replace( 'http://', "http{$this->mUniqPrefix}NOPARSE://", $link ) . $trail; $wgLinkCache->addImageLinkObj( $nt ); continue; } elseif( $ns == NS_SPECIAL ) { @@ -1751,12 +1751,11 @@ if( 0 == $prefixLength ) { wfProfileIn( "$fname-paragraph" ); # No prefix (not in list)--go to paragraph mode - $uniq_prefix = UNIQ_PREFIX; // XXX: use a stack for nestable elements like span, table and div $openmatch = preg_match('/(<table|<blockquote|<h1|<h2|<h3|<h4|<h5|<h6|<pre|<tr|<p|<ul |<li|<\/tr|<\/td|<\/th)/iS', $t ); $closematch = preg_match(
'/(<\/table|<\/blockquote|<\/h1|<\/h2|<\/h3|<\/h4|<\/h5|<\/h6|'. - '<td|<th|<div|<\/div|<hr|<\/pre|<\/p|'.$uniq_prefix.'-pre|<\/li|<\/ ul)/iS', $t ); + '<td|<th|<div|<\/div|<hr|<\/pre|<\/p|'.$this->mUniqPrefix.'-pre|<\/l i|<\/ul)/iS', $t ); if ( $openmatch or $closematch ) { $paragraphStack = false; $output .= $this->closeParagraph(); _____
Modified: trunk/web/reactos.org/htdocs/wiki/includes/Setup.php --- trunk/web/reactos.org/htdocs/wiki/includes/Setup.php 2006-01-10 22:29:01 UTC (rev 20770) +++ trunk/web/reactos.org/htdocs/wiki/includes/Setup.php 2006-01-10 22:33:07 UTC (rev 20771) @@ -206,7 +206,11 @@
# Prevent loading User settings from the DB. $wgUser->setLoaded( true ); } else { - $wgUser = User::loadFromSession(); + $wgUser = null; + wfRunHooks('AutoAuthenticate',array(&$wgUser)); + if ($wgUser === null) { + $wgUser = User::loadFromSession(); + } }
wfProfileOut( $fname.'-User' ); _____
Modified: trunk/web/reactos.org/htdocs/wiki/includes/SpecialWhatlinkshere.php --- trunk/web/reactos.org/htdocs/wiki/includes/SpecialWhatlinkshere.php 2006-01-10 22:29:01 UTC (rev 20770) +++ trunk/web/reactos.org/htdocs/wiki/includes/SpecialWhatlinkshere.php 2006-01-10 22:33:07 UTC (rev 20771) @@ -32,7 +32,7 @@
$sk = $wgUser->getSkin(); $isredir = ' (' . wfMsg( 'isredirect' ) . ")\n";
- $wgOut->addHTML('< '.$sk->makeKnownLinkObj($nt, '', 'redirect=no' )."<br />\n"); + $wgOut->addHTML('< '.$sk->makeLinkObj($nt, '', 'redirect=no' )."<br />\n");
wfShowIndirectLinks( 0, $nt, $limit, $offset ); } _____
Modified: trunk/web/reactos.org/htdocs/wiki/includes/UserTalkUpdate.php --- trunk/web/reactos.org/htdocs/wiki/includes/UserTalkUpdate.php 2006-01-10 22:29:01 UTC (rev 20770) +++ trunk/web/reactos.org/htdocs/wiki/includes/UserTalkUpdate.php 2006-01-10 22:33:07 UTC (rev 20771) @@ -50,7 +50,7 @@
$this->mAction = $action; $this->mNamespace = $ns; - $this->mTitle = $title; # str_replace( '_', ' ', $title ); # I do not know, why this was needed . T. Gries 23.11.2004 + $this->mTitle = $title; $this->mSummary = $summary; $this->mMinorEdit = $minoredit; $this->mTimestamp = $timestamp; @@ -62,7 +62,7 @@
# If the user talk page is our own, clear the flag # when we are reading it or writing it. - if ( 0 == strcmp( $this->mTitle, $wgUser->getName() ) ) { + if ( 0 == strcmp( str_replace( '_', ' ', $this->mTitle ), $wgUser->getName() ) ) { $wgUser->setNewtalk( 0 ); $wgUser->saveSettings(); } else { _____
Copied: trunk/web/reactos.org/htdocs/wiki/languages/LanguageArc.php (from rev 20770, vendor/mediawiki/current/languages/LanguageArc.php) _____
Modified: trunk/web/reactos.org/htdocs/wiki/languages/LanguageDa.php --- trunk/web/reactos.org/htdocs/wiki/languages/LanguageDa.php 2006-01-10 22:29:01 UTC (rev 20770) +++ trunk/web/reactos.org/htdocs/wiki/languages/LanguageDa.php 2006-01-10 22:33:07 UTC (rev 20771) @@ -570,7 +570,7 @@
Pr?©v en anden foresp?©rgsel.", "matchtotals" => "Foresp?©rgslen "$1" opfyldte $2 artikeltitler og teksten i $3 artikler.", -"nogomatch" => "<span style="font-size: 135%; font-weight: bold; margin-left: .6em">{{SITENAME}} har ingen artikel med dette navn</span> <span style="display: block; margin: 1.5em 2em"> Du kan <strong><a href="$1" class="new">oprette en artikel med dette navn</a></strong> eller <a href="/wiki/{{ns:4}}:Efterspurgte_artikler">eftersp?©rge den</a>. <span style="display:block; font-size: 89%; margin-left:.2em">For at undg?Ñ flere artikler om samme emne, bedes du inden oprettelsen s?©ge efter artiklen under alternative navne og stavem?Ñder.</span> </span>", +"nogomatch" => "{{SITENAME}} har ingen artikel med dette navn. Du kan [[$1|oprette en artikel med dette navn]] eller [[{{ns:4}}:Efterspurgte_artikler|eftersp?©rge den]]. For at undg?Ñ flere artikler om samme emne, bedes du inden oprettelsen s?©ge efter artiklen under alternative navne og stavem?Ñder.", "titlematches" => "Artikeltitler der opfyldte foresp?©rgslen", "notitlematches" => "Ingen artikeltitler opfyldte foresp?©rgslen", "textmatches" => "Artikeltekster der opfyldte foresp?©rgslen", _____
Copied: trunk/web/reactos.org/htdocs/wiki/languages/LanguageDv.php (from rev 20770, vendor/mediawiki/current/languages/LanguageDv.php) _____
Modified: trunk/web/reactos.org/htdocs/wiki/languages/LanguageJa.php --- trunk/web/reactos.org/htdocs/wiki/languages/LanguageJa.php 2006-01-10 22:29:01 UTC (rev 20770) +++ trunk/web/reactos.org/htdocs/wiki/languages/LanguageJa.php 2006-01-10 22:33:07 UTC (rev 20771) @@ -67,7 +67,7 @@
# User preference toggles 'tog-underline' => 'Òâ¬Òâ?Òé»Òü«õ©ïþÀÜ:', -'tog-highlightbroken' => 'µ£¬õ¢£µêÉÒü«ÒâÜÒâ?Òé©Òü©Òü«Òâ¬Òâ?Òé»ÒéÆ<a href="javascript:void(0);" class="new" onclick="return false;">ÒâÅÒéñÒâ®ÒéñÒâê</a>ÒüÖÒéï (ÒâüÒéºÒââÒé»ÒüùÒü¬ÒüäÒü¿ÒüôÒü«ÒéêÒüåÒü½<a href="javascript:void(0);" class="internal" onclick="return false;">?</a>Òü¬Òéï)', +'tog-highlightbroken' => 'µ£¬õ¢£µêÉÒü«ÒâÜÒâ?Òé©Òü©Òü«Òâ¬Òâ? Òé»ÒéÆÒâÅÒéñÒâ®ÒéñÒâêÒüÖÒéï', 'tog-justify' => 'µ«ÁÞÉ¢ÒéÆÕØçþ¡ëÕë?Òéèõ?ÿÒüæÒüÖÒéï', 'tog-hideminor' => 'µ£ÇÞ?æµø?µû?ÒüùÒüfÒâÜÒâ?Òé©ÒüïÒéëþ??Úâ¿Òü«þÀ¿ ÚøåÒéÆÚÜáÒüÖ', 'tog-usenewrc' => 'µ£ÇÞ?æµø?µû?ÒüùÒüfÒâÜÒâ?Òé©Ò鯵ïíÕ?ÁÒüÖÒéï´?êÕ»¥Õ? £ÒüùÒüªÒüäÒü¬ÒüäÒâûÒâ®ÒéªÒéÂÒééÒüéÒéèÒü¥ÒüÖ´?ë', @@ -177,7 +177,7 @@ 'navigation' => 'ÒâèÒâôÒé?Òâ?ÒéÀÒâºÒâ?',
# Metadata in edit box -'metadata' => 'Metadata', +'metadata' => 'ÒâíÒé?ÒâçÒâ?Òé?', 'metadata_page' => '{{ns:Project}}:Metadata',
'currentevents' => 'µ£ÇÞ?æÒü«Õç?µØÑõ?ï', @@ -347,7 +347,7 @@ # Login and logout pages # 'logouttitle' => 'ÒâªÒâ?ÒéÂÒâ? Òâ¡Òé?ÒéóÒéªÒâê', -'logouttext' => '<p>Òâ¡ Òé?ÒéóÒéªÒâêÒüùÒü¥ÒüùÒüfÒÇéÒüôÒü«Òü¥Òü¥{{SITENAME}}ÒéÆÕî?ÕÉìÒüºõ¢? ÒüäþÂÜÒüæÒéïÒüôÒü¿ÒüîÒüºÒüìÒü¥ÒüÖÒÇéÒééÒüåõ©ÇÕ?ªÒâ¡Òé?ÒéñÒâ? ÒüùÒüªÕàâÒü«ÒÇüÒüéÒéïÒüäÒü»ÕêÑÒü«ÒâªÒâ?ÒéÂÒâ?Òü¿ÒüùÒüªõ¢?ÒüåÒüôÒü¿ ÒééÒüºÒüìÒü¥ÒüÖÒÇé</p> +'logouttext' => '<p><strong>Òâ¡ Òé?ÒéóÒéªÒâêÒüùÒü¥ÒüùÒüfÒÇé</strong>ÒüôÒü«Òü¥Òü¥{{SITENAME}}ÒéÆÕî? ÕÉìÒüºõ¢?ÒüäþÂÜÒüæÒéïÒüôÒü¿ÒüîÒüºÒüìÒü¥ÒüÖÒÇéÒééÒüåõ©ÇÕ?ªÒâ¡Òé?ÒéñÒâ? ÒüùÒüªÕàâÒü«ÒÇüÒüéÒéïÒüäÒü»ÕêÑÒü«ÒâªÒâ?ÒéÂÒâ?Òü¿ÒüùÒüªõ¢?ÒüåÒüôÒü¿ ÒééÒüºÒüìÒü¥ÒüÖÒÇé</p> <p>ÔÇ?ÒüäÒüÅÒüñÒüïÒü«ÒâÜÒâ?Òé©Òü»ÒâûÒâ®ÒéªÒéÂÒü«Òé¡ ÒâúÒââÒéÀÒâÑÒéÆÒé»Òâ¬ÒéóÒüÖÒéïÒü¥ÒüºÒâ¡Òé?ÒéñÒâ? ÒüùÒüªÒüäÒéïÒüïÒü«ÒéêÒüåÒü½Þí¿þñ?ÒüòÒéîÒéïÒüôÒü¿ÒüîÒüéÒéèÒü¥ÒüÖÒÇé</p>',
'welcomecreation' => '== $1 ÒüòÒéôÒÇüÒéêÒüåÒüôÒüØ! == @@ -363,7 +363,7 @@ 'yourdomainname' => 'ÒüéÒü¬ÒüfÒü«ÒâëÒâíÒéñÒâ?', 'externaldberror' => 'ÕñûÚâ¿Òü«Þ¬ìÞ¿?ÒâçÒâ?Òé?ÒâÖÒâ?Òé?ÒüºÒé¿Òâ®Òâ? ÒüîþÖ?þöfÒüfÒüïÒÇüÒü¥ÒüfÒü»ÕñûÚâ¿ÒéóÒé½ÒéªÒâ?ÒâêµâàÕá?Òü«µø?µû?ÒüîÞ¿? ÕÅ»ÒüòÒéîÒüªÒüäÒü¥ÒüøÒéôÒÇé', 'loginproblem' => '<b>Òâ¡Òé?ÒéñÒâ?ÒüºÒé¿Òâ®Òâ?ÒüîþÖ? þöfÒüùÒü¥ÒüùÒüfÒÇé</b><br />ÕåìÕ?ªÕ«fÞíîÒüùÒüªÒüÅÒüáÒüòÒüäÒÇé', -'alreadyloggedin' => '<b style="color:red">ÒâªÒâ?ÒéÂÒâ? $1 Òü»ÒÇüÒüÖÒüºÒü½Òâ¡Òé?ÒéñÒâ?µ©êÒü?ÒüºÒüÖÒÇé</b><br />', +'alreadyloggedin' => '<strong>ÒâªÒâ?ÒéÂÒâ? $1 Òü»ÒÇüÒüÖÒüºÒü½Òâ¡ Òé?ÒéñÒâ?µ©êÒü?ÒüºÒüÖÒÇé</strong><br />',
'login' => 'Òâ¡Òé?ÒéñÒâ?', 'loginprompt' => '{{SITENAME}}Òü½Òâ¡Òé?ÒéñÒâ?ÒüÖÒéïÒü½Òü»Òé»ÒââÒé¡Òâ? Ò鯵£ëÕè?Òü½ÒüÖÒéïÕ?àÞªüÒüîÒüéÒéèÒü¥ÒüÖÒÇé', @@ -482,7 +482,7 @@ 'editingsection' => '$1 ÒéÆþÀ¿Úøåõ©¡ (Òé?Òé»ÒéÀÒâºÒâ?)', 'editingcomment' => '$1 ÒéÆþÀ¿Úøåõ©¡ (µû?ÞªÅÒé?ÒâíÒâ?Òâê)', 'editconflict' => 'þÀ¿Úøåþ½ÂÕÉê: $1', -'explainconflict' => 'ÒüéÒü¬ÒüfÒüîÒüôÒü«ÒâÜÒâ?Òé©ÒéÆþÀ¿ ÚøåÒüùÕºïÒéüÒüfÕ¥îÒü½ÒÇüõ?ûÒü«Þ¬?ÒüïÒüîÒüôÒü«ÒâÜÒâ?Òé©ÒéÆÕñëµø? ÒüùÒü¥ÒüùÒüfÒÇéõ©èÕü?Òü«ÒâåÒé¡Òé?ÒâêÒé¿Òâ¬ÒéóÒü»þÅ¥Õ£¿ Òü«µ£Çµû?Òü«þèµàïÒüºÒüÖÒÇéÒüéÒü¬ÒüfÒü«þÀ¿ÚøåÒüùÒüªÒüäÒüfµûçþ½áÒü»õ©ïÕü? Òü«ÒâåÒé¡Òé?ÒâêÒé¿Òâ¬ÒéóÒü½þñ?ÒüòÒéîÒüªÒüäÒü¥ÒüÖÒÇéþÀ¿ ÚøåÒüùÒüªÒüäÒüfµûçþ½áÒéÆÒÇüõ©èÕü?Òü«ÒâåÒé¡Òé?ÒâêÒé¿Òâ¬ÒéóÒü«µûçþ½áÒü½ þÁäÒü?Þ¥?ÒéôÒüºÒüÅÒüáÒüòÒüäÒÇé<strong>õ©èÕü?Òü«ÒâåÒé¡Òé?ÒâêÒé¿ Òâ¬ÒéóÒü«ÕåàÕ«?ÒüáÒüæ</strong>ÒüîÒÇüÔÇ£µèòþ¿? ÒüÖÒéïÔÇØÒéÆÒé»Òâ¬ÒââÒé»ÒüùÒüfµÖéÒü½Õ«fÚÜøÒü½õ?ØÕ¡ÿÒüòÒéîÒü¥ÒüÖÒÇé', +'explainconflict' => 'ÒüéÒü¬ÒüfÒüîÒüôÒü«ÒâÜÒâ?Òé©ÒéÆþÀ¿ ÚøåÒüùÕºïÒéüÒüfÕ¥îÒü½ÒÇüõ?ûÒü«Þ¬?ÒüïÒüîÒüôÒü«ÒâÜÒâ?Òé©ÒéÆÕñëµø? ÒüùÒü¥ÒüùÒüfÒÇéõ©èÕü?Òü«ÒâåÒé¡Òé?ÒâêÒé¿Òâ¬ÒéóÒü»þÅ¥Õ£¿ Òü«µ£Çµû?Òü«þèµàïÒüºÒüÖÒÇéÒüéÒü¬ÒüfÒü«þÀ¿ÚøåÒüùÒüªÒüäÒüfµûçþ½áÒü»õ©ïÕü? Òü«ÒâåÒé¡Òé?ÒâêÒé¿Òâ¬ÒéóÒü½þñ?ÒüòÒéîÒüªÒüäÒü¥ÒüÖÒÇéþÀ¿ ÚøåÒüùÒüªÒüäÒüfµûçþ½áÒéÆÒÇüõ©èÕü?Òü«ÒâåÒé¡Òé?ÒâêÒé¿Òâ¬ÒéóÒü«µûçþ½áÒü½ þÁäÒü?Þ¥?ÒéôÒüºÒüÅÒüáÒüòÒüäÒÇé<strong>õ©èÕü?Òü«ÒâåÒé¡Òé?ÒâêÒé¿ Òâ¬ÒéóÒü«ÕåàÕ«? ÒüáÒüæ</strong>ÒüîÒÇüÒÇî{{int:Savearticle}}ÒÇìÒéÆÒé»Òâ¬ÒââÒé»ÒüùÒüfµÖéÒü ½Õ«fÚÜøÒü½õ?ØÕ¡ÿÒüòÒéîÒü¥ÒüÖÒÇé', 'yourtext' => 'ÒüéÒü¬ÒüfÒü«µûçþ½á', 'storedversion' => 'õ?ØÕ¡ÿÒüòÒéîÒüfþëê', 'nonunicodebrowser' => '<strong>Þ¡ªÕæè: ÒüéÒü¬ÒüfÒü«õ¢?þö¿ ÒüùÒüªÒüäÒéïÒâûÒâ®ÒéªÒéÂÒü»Unicodeõ? ÆµÅøÒüºÒü»ÒüéÒéèÒü¥ÒüøÒéôÒÇéÚáàþø«ÒéÆþÀ¿ÚøåÒüÖÒéïÕëìÒü½ÒâûÒâ®ÒéªÒéÂÒéÆÕñ ëµø?ÒüùÒüªÒüÅÒüáÒüòÒüäÒÇé</strong>', @@ -512,7 +512,7 @@ 'loadhist' => 'Õñëµø?Õ?ѵ¡?Òü«Þ¬¡Òü?Þ¥?Òü?õ©¡', 'currentrev' => 'µ£Çµû?þëê', 'revisionasof' => '$1Òü«þëê', -'revisionasofwithlink' => '$1 Òü«þëêÒéÆÞí¿þñ?ÒüùÒüªÒüäÒü¥ÒüÖ ; $2<br />$3 | $4', +'revisionasofwithlink' => '$1 Òü«þëê; $2<br />$3 | $4', 'previousrevision' => 'ÔåÉÕëìÒü«þëê', 'nextrevision' => 'µ¼íÒü«þëêÔåÆ', 'currentrevisionlink' => 'µ£Çµû?þëêÒéÆÞí¿þñ?', @@ -1057,7 +1057,7 @@ 'undeletebtn' => 'Õ¥®Õ©?!', 'undeletedarticle' => '"$1" ÒéÆÕ¥®Õ©?ÒüùÒü¥ÒüùÒüfÒÇé', 'undeletedrevisions' => '$1 þëêÒéÆÕ¥®Õ©?', -'undeletedtext' => '[[:$1]]ÒéÆþäíõ?ïÕ¥®Õ©?ÒüùÒü¥ÒüùÒüfÒÇéµ£ÇÞ? æÒü«ÕëèÚÖñÒü¿Õ¥®Õ©?Òü«Þ¿ÿÚî? Òü»[[Special:Log/delete]]ÒéÆÕÅéþàºÒüùÒüªÒüÅÒüáÒüòÒüäÒÇé', +'undeletedtext' => '[[:$1|$1]]ÒéÆþäíõ?ïÕ¥®Õ©?ÒüùÒü¥ÒüùÒüfÒÇéµ£ÇÞ? æÒü«ÕëèÚÖñÒü¿Õ¥®Õ©?Òü«Þ¿ÿÚî? Òü»[[Special:Log/delete]]ÒéÆÕÅéþàºÒüùÒüªÒüÅÒüáÒüòÒüäÒÇé',
# Namespace form on various pages 'namespace' => 'ÕÉìÕëìþ®?Úûô:', @@ -1249,8 +1249,8 @@ 'movetalk' => 'ÒâÄÒâ?ÒâêÒâÜÒâ?Òé©Òüîõ?ÿÚÜÅÒüÖÒéïÕá?ÕÉêÒü½ Òü»ÒÇüÒüØÒéîÒééõ©ÇþÀÆÒü½þº?ÕïòÒüÖÒéï', 'talkpagemoved' => 'õ?ÿÚÜÅÒü«ÒâÄÒâ?ÒâêÒü«ÒâÜÒâ?Òé©Òééþº? ÕïòÒüùÒü¥ÒüùÒüfÒÇé', 'talkpagenotmoved' => 'õ?ÿÚÜÅÒü«ÒâÄÒâ?ÒâêÒü«ÒâÜÒâ?Òé©Òü»<strong>þº? ÕïòÒüòÒéîÒü¥ÒüøÒéôÒüºÒüùÒüfÒÇé</strong>', -'1movedto2' => '$1 ÒéÆ $2 Òü©þº?Õïò', -'1movedto2_redir' => '$1 ÒéÆÒüôÒü«ÒâÜÒâ?Òé©ÒüéÒüªÒü«Òâ¬ÒâÇÒéñÒâ¼Òé»Òâê $2 Òü©þº?Õïò', +'1movedto2' => '[[$1]] ÒéÆ [[$2]] Òü©þº?Õïò', +'1movedto2_redir' => '[[$1]] ÒéÆÒüôÒü«ÒâÜÒâ?Òé©ÒüéÒüªÒü«Òâ¬ÒâÇÒéñÒâ¼ Òé»Òâê [[$2]] Òü©þº?Õïò', 'movelogpage' => 'þº?ÕïòÞ¿ÿÚî?', 'movelogpagetext' => 'õ?Ñõ©ïÒü»µ£ÇÞ?æÒü«ÒâÜÒâ?Òé©þº?ÕïòÒü«Þ¿ÿÚî? ÒüºÒüÖÒÇé', 'movereason' => 'þÉåþö?', @@ -1278,9 +1278,9 @@ # Namespace 8 related
'allmessages' => 'Þí¿þñ?ÒâíÒââÒé?Òâ?Òé©õ©ÇÞªº', -'allmessagesname' => 'ÕÉìþº?', -'allmessagesdefault' => 'ÒâçÒâòÒé®Òâ½ÒâêÒü«ÒâåÒé¡Òé?Òâê', -'allmessagescurrent' => 'þÅ¥Õ£¿Òü«ÒâåÒé¡Òé?Òâê', +'allmessagesname' => 'ÒâíÒââÒé?Òâ?Òé©ÕÉì', +'allmessagesdefault' => 'µùóÕ«ÜÒü«µûçþ½á', +'allmessagescurrent' => 'þÅ¥Õ£¿Òü«µûçþ½á', 'allmessagestext' => 'ÒüôÒéîÒü»MediaWikiÕÉìÕëìþ®?ÚûôÒü½ÒüéÒéïÕà¿ ÒüªÒü«ÒéÀÒé?ÒâåÒâáÒâíÒââÒé?Òâ?Òé©Òü«õ©ÇÞªºÒüºÒüÖÒÇé', 'allmessagesnotsupportedUI' => 'ÒüôÒü«ÒéÁÒéñÒâêÒüºÒü»ÒÇüÒüéÒü¬ÒüfÒü«þÅ¥Õ£¿Òü«ÒéñÒâ?Òé?Òâ?ÒâòÒéºÒéñÒé?Þ¿ ÇÞ¬× <b>$1</b> Òü½ÒüèÒüæÒéï {{ns:Special}}:Allmessages Òü»ÒéÁÒâØÒâ? ÒâêÒüòÒéîÒüªÒüäÒü¥ÒüøÒéôÒÇé', 'allmessagesnotsupportedDB' => 'wgUseDatabaseMessages ÒüîþäíÕè? Òü«ÒüfÒéüÒÇü{{ns:Special}}:Allmessages Òü»ÒéÁÒâØÒâ? ÒâêÒüòÒéîÒü¥ÒüøÒéôÒÇé', @@ -1301,6 +1301,8 @@ 'importsuccess' => 'ÕÅûÒéèÞ¥?Òü?Òü½µêÉÕèfÒüùÒü¥ÒüùÒüfÒÇé', 'importhistoryconflict' => 'ÕÅûÒéèÞ¥?Òü?µÖéÒü½ÒüäÒüÅÒüñÒüïÒü«þëêÒüîþ½ ÂÕÉêÒüùÒü¥ÒüùÒüf´?êõ?ÑÕëìÒü½ÕÉîÒüÿÒâÜÒâ?Òé©ÒéÆÕÅûÒéèÞ¥? ÒéôÒüºÒüäÒü¥ÒüøÒéôÒüï´?ëÒÇé', 'importnosources' => 'TranswikiÒü«Þ¬¡Òü?Þ¥?Òü? ÕàâÒüîÕ«Üþ¥®ÒüòÒéîÒüªÒüäÒü¬ÒüäÒüfÒéüÒÇüÕ?ѵ¡?Òü«þø?µÄÑÒéóÒââÒâùÒâ¡Òâ? ÒâëÒü»þäíÕè?Òü½Òü¬ÒüúÒüªÒüäÒü¥ÒüÖÒÇé', +'importnofile' => 'ÒâòÒéíÒéñÒâ½ÒüîÒéóÒââÒâùÒâ¡Òâ? ÒâëÒüòÒéîÒü¥ÒüøÒéôÒüºÒüùÒüf', +'importuploaderror' => 'ÒâòÒéíÒéñÒâ½Òü«ÕÅûÒéèÞ¥?Òü?Òü½Õñ? µòùÒüùÒü¥ÒüùÒüfÒÇéµüÉÒéëÒüÅÒÇüÞ¿?ÕÅ»ÒüòÒéîÒüªÒüäÒéïµ£ÇÕñºÒâòÒéíÒéñÒâ½ ÒéÁÒéñÒé?ÒéêÒéèÕñºÒüìÒü¬ÒâòÒéíÒéñÒâ½ÒéÆÒéóÒââÒâùÒâ¡Òâ?ÒâëÒüùÒéêÒüåÒü¿ ÒüùÒüªÒüäÒü¥ÒüÖÒÇé',
# Keyboard access keys for power users 'accesskey-search' => 'f', @@ -1465,10 +1467,10 @@ 'mediawarning' => "'''Þ¡ªÕæè:''' ÒüôÒü«ÒâòÒéíÒéñÒâ½Òü»µé¬µäÅÒü«ÒüéÒéïÒé ?Òâ?ÒâëÒéÆÕɽÒéôÒüºÒüäÒéïÕÅ»Þ⢵ǺÒüîÒüéÒéèÒÇüÕ«fÞíîÒüÖÒéïÒü¿Òé?Òâ? ÒâöÒâÑÒâ?Òé?Òâ?ÒüîÕì?Õ«?ÒéÆÞó½ÒéïÕá?ÕÉêÒüîÒüéÒéèÒü¥ÒüÖÒÇé ----",
-'fileinfo' => '$1KB, MIME type: <code>$2</code>', +'fileinfo' => '$1KB, MIMEÒé?ÒéñÒâù: <code>$2</code>',
# Metadata -'metadata' => 'Metadata', +'metadata' => 'ÒâíÒé?ÒâçÒâ?Òé?',
# Exif tags 'exif-imagewidth' => 'þö?ÕâÅÒü«Õ?à', @@ -1481,8 +1483,8 @@ 'exif-planarconfiguration' => 'ÒâçÒâ?Òé?µá?þ?ìÕ¢óÕ?Å', 'exif-ycbcrsubsampling' => 'YCCÒü«þö?þ?ᵺïµêÉ´?êCÒü«ÚûôÕ?òÒüìþÄç´?ë', 'exif-ycbcrpositioning' => 'YCCÒü«þö?þ?ᵺïµêÉ´?êYÒü¿CÒü«õ¢ìþ¢«´?ë', -'exif-xresolution' => 'µ??Õ??µû?ÕÉæÒü«ÞºúÕâÅÕ?ª', -'exif-yresolution' => 'Õ×éþø?µû?ÕÉæÒü«ÞºúÕâÅÕ?ª', +'exif-xresolution' => 'µ??Õ??ÞºúÕâÅÕ?ª', +'exif-yresolution' => 'Õ×éþø?ÞºúÕâÅÕ?ª', 'exif-resolutionunit' => 'ÞºúÕâÅÕ?ªÒü«Õìÿõ¢ì', 'exif-stripoffsets' => 'þö?ÕâÅÒâçÒâ?Òé?Òü«Õá?µëÇ', 'exif-rowsperstrip' => 'Òé?ÒâêÒâ¬ÒââÒâùÒü«Òâ®ÒéñÒâ?µò?', @@ -1495,25 +1497,25 @@ 'exif-ycbcrcoefficients' => 'Þë?ÕñëµÅøÒâ×ÒâêÒâ¬ÒââÒé»Òé?õ?éµò?', 'exif-referenceblackwhite' => 'ÕÅéþàºÚ?ÆÞë?þé?ÕÇñÒâ?ÕÅéþàºþÖ¢Þë?þé? ÕÇñ', 'exif-datetime' => 'ÒâòÒéíÒéñÒâ½Õñëµø?µùѵÖé', -'exif-imagedescription' => 'þö?ÕâÅÒü«Òé?ÒéñÒâêÒâ½', -'exif-make' => 'þö?ÕâÅÕàÑÕèøµ®fÕÖ¿Òü«ÒâíÒâ?Òé½Òâ?ÕÉì', -'exif-model' => 'þö?ÕâÅÕàÑÕèøµ®fÕÖ¿Òü«ÒâóÒâçÒâ½ÕÉì', -'exif-software' => 'õ¢?þö¿Òé¢ÒâòÒâêÒéªÒéºÒéó', -'exif-artist' => 'õ¢£ÞÇàÕÉì', +'exif-imagedescription' => 'þö?ÕâÅÒü«Þ¬¼µÿÄ', +'exif-make' => 'þö?ÕâÅÕàÑÕèøµ®fÕÖ¿Òü«ÒâíÒâ?Òé½Òâ?', +'exif-model' => 'þö?ÕâÅÕàÑÕèøµ®fÕÖ¿Òü«µ®fþ¿«', +'exif-software' => 'ÒâòÒéíÒâ?ÒâáÒéªÒéºÒéóÒü«ÒâÉÒâ?Òé©ÒâºÒâ?', +'exif-artist' => 'õ¢£µêÉÞÇà', 'exif-copyright' => 'Þæùõ¢£µ¿®ÞÇà', 'exif-exifversion' => 'EXIFÒâÉÒâ?Òé©ÒâºÒâ?', 'exif-flashpixversion' => 'Õ»¥Õ?£ÒâòÒâ®ÒââÒéÀÒâÑÒâöÒââÒé»Òé?ÒâÉÒâ? Òé©ÒâºÒâ?', -'exif-colorspace' => 'Þë?þ®?ÚûôµâàÕá?', -'exif-componentsconfiguration' => 'ÕÉäÒé?Òâ?ÒâØÒâ?ÒâìÒâ?ÒâêÒü«µäÅÕæ?', +'exif-colorspace' => 'Þë?þ®?Úûô', +'exif-componentsconfiguration' => 'ÕÉäÒé?Òâ?ÒâØÒâ?ÒâìÒâ?ÒâêÒü«µºïµêÉ', 'exif-compressedbitsperpixel' => 'þö?ÕâÅÕ£ºþ©«ÒâóÒâ?Òâë', -'exif-pixelydimension' => 'Õ«fÕè?þö?ÕâÅÚ½ÿÒüò', -'exif-pixelxdimension' => 'Õ«fÕè?þö?ÕâÅÕ?à', +'exif-pixelydimension' => 'Õ«fÕè?þö?ÕâÅÕ?à', +'exif-pixelxdimension' => 'Õ«fÕè?þö?ÕâÅÚ½ÿÒüò', 'exif-makernote' => 'ÒâíÒâ?Òé½Òâ?ÒâÄÒâ?Òâê', 'exif-usercomment' => 'ÒâªÒâ?ÒéÂÒâ?Òé?ÒâíÒâ?Òâê', 'exif-relatedsoundfile' => 'ÚûóÚÇúÚf?Õú?ÒâòÒéíÒéñÒâ½', 'exif-datetimeoriginal' => 'þö?ÕâÅÒâçÒâ?Òé?þöfµêɵùѵÖé', 'exif-datetimedigitized' => 'ÒâçÒé©Òé?Òâ½ÒâçÒâ?Òé?õ¢£µêɵùѵÖé', -'exif-subsectime' => 'ÒâòÒéíÒéñÒâ½Õñëµø?µùѵÖéÒü«þºÆµ£¬µ?Ç', +'exif-subsectime' => 'ÒâòÒéíÒéñÒâ½Õñëµø?µùѵÖé (þºÆµ£¬µ?Ç)', 'exif-subsectimeoriginal' => 'þö?ÕâÅÒâçÒâ?Òé?þöfµêɵùѵÖé (þºÆµ£¬µ?Ç)', 'exif-subsectimedigitized' => 'ÒâçÒé©Òé?Òâ½ÒâçÒâ?Òé?õ¢£µêɵùѵÖé (þºÆµ£¬µ?Ç)', 'exif-exposuretime' => 'Ú£?Õç?µÖéÚûô', @@ -1524,8 +1526,8 @@ 'exif-oecf' => 'ÕàëÚø?ÕñëµÅøÚûóµò?', 'exif-shutterspeedvalue' => 'ÒéÀÒâúÒââÒé?Òâ?Òé?ÒâöÒâ?Òâë', 'exif-aperturevalue' => 'þÁ×ÒéèÕÇñ', -'exif-brightnessvalue' => 'Þ?ØÕ?ªÕÇñ', -'exif-exposurebiasvalue' => 'Ú£?ÕàëÞú£µ¡úÕÇñ', +'exif-brightnessvalue' => 'µÿÄÒéïÒüò', +'exif-exposurebiasvalue' => 'Ú£?Õç?Þú£µ¡úÕÇñ', 'exif-maxaperturevalue' => 'Òâ¼Òâ?Òé?µ£ÇÕ?ÅFÕÇñ', 'exif-subjectdistance' => 'Þó½ÕåÖõ¢ôÞÀØÚøó', 'exif-meteringmode' => 'µ©¼Õàëµû?Õ?Å', @@ -1547,14 +1549,14 @@ 'exif-customrendered' => 'þö?ÕâÅÕçªþÉå', 'exif-exposuremode' => 'Ú£?Õç?ÒâóÒâ?Òâë', 'exif-whitebalance' => 'ÒâøÒâ»ÒéñÒâêÒâÉÒâ®Òâ?Òé?', -'exif-digitalzoomratio' => 'ÒâçÒé©Òé?Òâ½Òé?Òâ?ÒâáÒü«ÕÇìþÄç', +'exif-digitalzoomratio' => 'ÒâçÒé©Òé?Òâ½Òé?Òâ?ÒâáÕÇìþÄç', 'exif-focallengthin35mmfilm' => 'Òâ¼Òâ?Òé?Òü«þäªþé?ÞÀØÚøó´? ê35mmÒâòÒéúÒâ½ÒâáµÅøþ«ù´?ë', 'exif-scenecapturetype' => 'Þó½ÕåÖõ¢ôÒü«þ¿«ÕêÑ', 'exif-gaincontrol' => 'Òé?ÒéñÒâ?Òé?Òâ?ÒâêÒâ¡Òâ?Òâ½', 'exif-contrast' => 'Òé?Òâ?ÒâêÒâ®Òé?Òâê', 'exif-saturation' => 'Õ¢®Õ?ª', 'exif-sharpness' => 'ÒéÀÒâúÒâ?ÒâùÒâìÒé?', -'exif-devicesettingdescription' => 'Þúàþ¢«Òé?ÒââÒâåÒéúÒâ?Òé?Òü«Þ¬¼µÿÄ', +'exif-devicesettingdescription' => 'µ®fÕÖ¿Þ¿¡Õ«Ü', 'exif-subjectdistancerange' => 'Þó½ÕåÖõ¢ôÞÀØÚøóÒü«þ»äÕø?', 'exif-imageuniqueid' => 'ÒâªÒâïÒâ?Òé»þö?ÕâÅID', 'exif-gpsversionid' => 'GPSÒé?Òé?Òü«ÒâÉÒâ?Òé©ÒâºÒâ?', @@ -1562,25 +1564,25 @@ 'exif-gpslatitude' => 'þÀ»Õ?ª', 'exif-gpslongituderef' => 'µØ?þÁî/ÞÑ?þÁî', 'exif-gpslongitude' => 'þÁîÕ?ª', -'exif-gpsaltituderef' => 'Ú½ÿÕ?ªÒü«Õìÿõ¢ì', +'exif-gpsaltituderef' => 'Ú½ÿÕ?ªÒü«Õf?µ?û', 'exif-gpsaltitude' => 'Ú½ÿÕ?ª', 'exif-gpstimestamp' => 'GPSµÖéÕê?´?êÕÄfաɵÖéÞ¿ê´?ë', 'exif-gpssatellites' => 'µ©¼õ¢ìÒü½þö¿ÒüäÒüfÞíøµÿfõ?íÕÅÀ', 'exif-gpsstatus' => 'GPSÕÅùõ?íµ®fÒü«þèµàï', -'exif-gpsmeasuremode' => 'GPSÒü«µ©¼õ¢ìµû?µ?ò', -'exif-gpsdop' => 'µ©¼õ¢ìÒü«þ?¥Õ?ª', +'exif-gpsmeasuremode' => 'GPSµ©¼õ¢ìµû?µ?ò', +'exif-gpsdop' => 'µ©¼õ¢ìþ?¥Õ?ª', 'exif-gpsspeedref' => 'ÚÇfÕ?ªÒü«Õìÿõ¢ì', 'exif-gpsspeed' => 'ÚÇfÕ?ª', -'exif-gpstrackref' => 'ÚÇ?Þíîµû?ÕÉæÒü«Õìÿõ¢ì', +'exif-gpstrackref' => 'ÚÇ?Þíîµû?ÕÉæÒü«Õf?µ?û', 'exif-gpstrack' => 'ÚÇ?Þíîµû?ÕÉæ', -'exif-gpsimgdirectionref' => 'µÆ«Õ¢?Òü«µû?ÕÉæÒü«Õìÿõ¢ì', -'exif-gpsimgdirection' => 'µÆ«Õ¢?Òü«µû?ÕÉæ', +'exif-gpsimgdirectionref' => 'µÆ«Õ¢?µû?ÕÉæÒü«Õf?µ?û', +'exif-gpsimgdirection' => 'µÆ«Õ¢?µû?ÕÉæ', 'exif-gpsmapdatum' => 'µ©¼Õ£?þ??', 'exif-gpsdestlatituderef' => 'þø«þÜäÕ£?Òü«ÕîùþÀ»/ÕìùþÀ»', 'exif-gpsdestlatitude' => 'þø«þÜäÕ£?Òü«þÀ»Õ?ª', 'exif-gpsdestlongituderef' => 'þø«þÜäÕ£?Òü«µØ?þÁî/ÞÑ?þÁî', 'exif-gpsdestlongitude' => 'þø«þÜäÕ£?Òü«þÁîÕ?ª', -'exif-gpsdestbearingref' => 'þø«þÜäÕ£?Òü«µû?ÞºÆÒü«Õìÿõ¢ì', +'exif-gpsdestbearingref' => 'þø«þÜäÕ£?Òü«µû?ÞºÆÒü«Õf?µ?û', 'exif-gpsdestbearing' => 'þø«þÜäÕ£?Òü«µû?ÞºÆ', 'exif-gpsdestdistanceref' => 'þø«þÜäÕ£?Òü¥ÒüºÒü«ÞÀØÚøóÒü«Õìÿõ¢ì', 'exif-gpsdestdistance' => 'þø«þÜäÕ£?Òü¥ÒüºÒü«ÞÀØÚøó', @@ -1633,7 +1635,7 @@ 'exif-exposureprogram-1' => 'Òâ×ÒâïÒâÑÒéóÒâ½', 'exif-exposureprogram-2' => 'ÒâÄÒâ?Òâ×Òâ½ÒâùÒâ¡Òé?Òâ®Òâá', 'exif-exposureprogram-3' => 'Ú£?Õç?Õä¬Õàê', -'exif-exposureprogram-4' => 'ÒéÀÒâúÒââÒé?Òâ?Õä¬Õàê', +'exif-exposureprogram-4' => 'ÒéÀÒâúÒââÒé?Òâ?ÚÇfÕ?ªÕä¬Õàê', 'exif-exposureprogram-5' => 'Òé»Òâ¬Òé¿ÒéñÒâåÒéúÒâûÒâùÒâ¡Òé?Òâ®Òâá', 'exif-exposureprogram-6' => 'ÒéóÒé»ÒéÀÒâºÒâ?ÒâùÒâ¡Òé?Òâ®Òâá', 'exif-exposureprogram-7' => 'ÒâØÒâ?ÒâêÒâ¼ÒéñÒâêÒâóÒâ?Òâë´?êÞ?æµÖ»´?ë', @@ -1798,13 +1800,12 @@ 'scarytranscludetoolong' => '[URL is too long; sorry]',
# Trackbacks -'trackbackbox' => "<div id='mw_trackbacks'> +'trackbackbox' => '<div id="mw_trackbacks"> ÒüôÒü«Úáàþø«Òü©Òü«ÒâêÒâ®ÒââÒé»ÒâÉÒââÒé»: $1 -</div>", -'trackback' => '; $4$5 : [$2 $1]', -'trackbackexcerpt' => ';$4$5 -:[$2 $1]: <nowiki>$3</nowiki>', +</div>', +# 'trackback' => '', +# 'trackbackexcerpt' => '', 'trackbackremove' => ' ([$1 ÕëèÚÖñ])', 'trackbacklink' => 'ÒâêÒâ®ÒââÒé»ÒâÉÒââÒé»', 'trackbackdeleteok' => 'ÒâêÒâ®ÒââÒé»ÒâÉÒââÒé»ÒéÆÕëèÚÖñÒüùÒü¥ÒüùÒüfÒÇé', _____
Copied: trunk/web/reactos.org/htdocs/wiki/languages/LanguageKs.php (from rev 20770, vendor/mediawiki/current/languages/LanguageKs.php) _____
Copied: trunk/web/reactos.org/htdocs/wiki/languages/LanguageSd.php (from rev 20770, vendor/mediawiki/current/languages/LanguageSd.php) _____
Copied: trunk/web/reactos.org/htdocs/wiki/languages/LanguageUg.php (from rev 20770, vendor/mediawiki/current/languages/LanguageUg.php) _____
Modified: trunk/web/reactos.org/htdocs/wiki/maintenance/entities2literals.pl --- trunk/web/reactos.org/htdocs/wiki/maintenance/entities2literals.pl 2006-01-10 22:29:01 UTC (rev 20770) +++ trunk/web/reactos.org/htdocs/wiki/maintenance/entities2literals.pl 2006-01-10 22:33:07 UTC (rev 20771) @@ -1,4 +1,4 @@
-#!/usr/bin/evn perl +#!/usr/bin/env perl # Takes STDIN and converts Converts hexadecimal, decimal and named HTML # entities to their respective literals. # _____
Modified: trunk/web/reactos.org/htdocs/wiki/maintenance/namespace2sql.php --- trunk/web/reactos.org/htdocs/wiki/maintenance/namespace2sql.php 2006-01-10 22:29:01 UTC (rev 20770) +++ trunk/web/reactos.org/htdocs/wiki/maintenance/namespace2sql.php 2006-01-10 22:33:07 UTC (rev 20771) @@ -1,5 +1,4 @@
<?php -# $Header: /cvsroot/wikipedia/phase3/maintenance/namespace2sql.php,v 1.1 2005/03/20 03:29:12 kateturner Exp $ # # Print SQL to insert namespace names into database. # This source code is in the public domain. _____
Deleted: trunk/web/reactos.org/htdocs/wiki/maintenance/postgresql/pg_tables.sql --- trunk/web/reactos.org/htdocs/wiki/maintenance/postgresql/pg_tables.sql 2006-01-10 22:29:01 UTC (rev 20770) +++ trunk/web/reactos.org/htdocs/wiki/maintenance/postgresql/pg_tables.sql 2006-01-10 22:33:07 UTC (rev 20771) @@ -1,285 +0,0 @@
--- --- Database schema for MediaWiki PostgreSQL support --- --- - -CREATE SCHEMA mediawiki; -SET search_path=mediawiki; - -CREATE TABLE cur ( - cur_id serial PRIMARY KEY, - cur_namespace smallint NOT NULL, - cur_title varchar(255) NOT NULL, - cur_text text NOT NULL, - cur_comment text, - cur_user integer DEFAULT 0 NOT NULL, - cur_user_text varchar(255) DEFAULT ''::varchar NOT NULL, - cur_timestamp timestamp without time zone NOT NULL, - cur_restrictions text DEFAULT ''::text NOT NULL, - cur_counter bigint DEFAULT 0 NOT NULL, - cur_is_redirect smallint DEFAULT 0 NOT NULL, - cur_minor_edit smallint DEFAULT 0 NOT NULL, - cur_is_new smallint DEFAULT 0 NOT NULL, - cur_random double precision DEFAULT random(), - cur_touched timestamp without time zone -); -CREATE INDEX cur_title_namespace_idx ON cur (cur_title, cur_namespace); -CREATE INDEX cur_random_idx ON cur (cur_random); -CREATE INDEX cur_name_title_timestamp_idx ON cur (cur_namespace, cur_title, cur_timestamp); -CREATE INDEX cur_timestamp_idx ON cur (cur_timestamp); - -CREATE TABLE "old" ( - old_id serial PRIMARY KEY, - old_namespace smallint NOT NULL, - old_title varchar(255) NOT NULL, - old_text text NOT NULL, - old_comment text NOT NULL, - old_user integer NOT NULL, - old_user_text varchar(255) NOT NULL, - old_timestamp timestamp without time zone NOT NULL, - old_minor_edit smallint NOT NULL, - old_flags text NOT NULL -); -CREATE INDEX old_name_title_ts_idx ON "old" (old_namespace, old_title, old_timestamp); -CREATE INDEX old_timestamp ON "old" (old_timestamp); - -CREATE TABLE brokenlinks ( - bl_from integer DEFAULT 0 NOT NULL, - bl_to varchar(255) NOT NULL, - PRIMARY KEY (bl_from,bl_to) - -); -CREATE INDEX bl_to_idx ON brokenlinks (bl_to); - -CREATE TABLE hitcounter ( - hc_id bigint DEFAULT 0 NOT NULL -); -CREATE INDEX hc_id_idx on hitcounter (hc_id); - -CREATE TABLE image ( - img_name varchar(255) PRIMARY KEY, - img_size integer NOT NULL, - img_description text NOT NULL, - img_user integer NOT NULL, - img_user_text varchar(255) NOT NULL, - img_timestamp timestamp without time zone -); -CREATE INDEX img_size_idx ON image (img_size); -CREATE INDEX img_timestamp ON image (img_timestamp); - -CREATE TABLE imagelinks ( - il_from integer, - il_to varchar(255), - PRIMARY KEY (il_from, il_to) -); -CREATE INDEX il_to_idx ON imagelinks (il_to); - - -CREATE TABLE categorylinks ( - cl_from integer DEFAULT 0 NOT NULL, - cl_to varchar(255) NOT NULL, - cl_sortkey varchar(255) NOT NULL, - cl_timestamp timestamp without time zone, - PRIMARY KEY (cl_from,cl_to) -); -CREATE INDEX cl_to_sortkey_idx ON categorylinks (cl_to, cl_sortkey); -CREATE INDEX cl_to_timestamp ON categorylinks (cl_to, cl_timestamp); - -CREATE TABLE links ( - l_from integer NOT NULL, - l_to integer NOT NULL, - PRIMARY KEY (l_from,l_to) -); -CREATE INDEX l_to_idx ON links (l_to); - - -CREATE TABLE linkscc ( - lcc_pageid integer PRIMARY KEY, - lcc_title varchar(255) DEFAULT ''::character varying NOT NULL, - lcc_cacheobj text NOT NULL -); -CREATE RULE links_del AS ON DELETE TO links DO DELETE FROM linkscc WHERE (linkscc.lcc_pageid = old.l_from); - -CREATE TABLE searchindex ( - si_page integer PRIMARY KEY, - si_title varchar(255) NOT NULL, - si_text text NOT NULL -); - -CREATE TABLE "user" ( - user_id serial PRIMARY KEY, - user_name varchar(255) UNIQUE NOT NULL, - user_real_name varchar(255) NOT NULL, - user_rights text DEFAULT ''::text NOT NULL, - user_password text DEFAULT ''::text NOT NULL, - user_newpassword text DEFAULT ''::text NOT NULL, - user_email text DEFAULT ''::text NOT NULL, - user_options text DEFAULT ''::text NOT NULL, - user_touched timestamp without time zone DEFAULT '1900-01-01 00:00:00'::timestamp without time zone NOT NULL, - user_token char(32) DEFAULT '' NOT NULL -); - - -CREATE TABLE user_newtalk ( - user_id integer NOT NULL, - user_ip inet NOT NULL -); -CREATE INDEX user_newtalk_id_idx ON user_newtalk (user_id); -CREATE INDEX user_newtalk_ip_idx ON user_newtalk (user_ip); - -CREATE TABLE ipblocks ( - ipb_id serial PRIMARY KEY, - ipb_address inet NOT NULL, - ipb_user integer NOT NULL, - ipb_by integer NOT NULL, - ipb_reason text NOT NULL, - ipb_timestamp timestamp without time zone NOT NULL, - ipb_auto smallint NOT NULL, - ipb_expiry timestamp without time zone NOT NULL -); -CREATE INDEX ipb_address_idx ON ipblocks (ipb_address); -CREATE INDEX ipb_user_idx ON ipblocks (ipb_user); - -CREATE TABLE math ( - math_inputhash varchar(16) PRIMARY KEY, - math_outputhash varchar(16) NOT NULL, - math_html_conservativeness smallint NOT NULL, - math_html text, - math_mathml text -); - -CREATE TABLE objectcache ( - keyname varchar(255) PRIMARY KEY, - value text, - exptime timestamp without time zone -); -CREATE INDEX oc_exptime ON objectcache (exptime); - -CREATE TABLE archive ( - ar_namespace smallint NOT NULL, - ar_title varchar(255) NOT NULL, - ar_text text NOT NULL, - ar_comment text NOT NULL, - ar_user integer NOT NULL, - ar_user_text varchar(255) NOT NULL, - ar_timestamp timestamp without time zone NOT NULL, - ar_minor_edit smallint NOT NULL, - ar_flags text NOT NULL -); - -CREATE TABLE recentchanges ( - rc_id serial PRIMARY KEY, - rc_timestamp timestamp without time zone NOT NULL, - rc_cur_time timestamp without time zone NOT NULL, - rc_user integer NOT NULL, - rc_user_text varchar(255) NOT NULL, - rc_namespace smallint NOT NULL, - rc_title varchar(255) NOT NULL, - rc_comment text NOT NULL, - rc_minor smallint NOT NULL, - rc_bot smallint NOT NULL, - rc_new smallint NOT NULL, - rc_cur_id integer NOT NULL, - rc_this_oldid integer NOT NULL, - rc_last_oldid integer NOT NULL, - rc_type smallint NOT NULL, - rc_moved_to_ns smallint, - rc_moved_to_title varchar, - rc_ip inet, - rc_patrolled smallint -); -CREATE INDEX rc_ip ON recentchanges (rc_ip); -CREATE INDEX rc_new_name_ts_idx ON recentchanges (rc_new, rc_namespace, rc_timestamp); -CREATE INDEX rc_cur_id_idx ON recentchanges (rc_cur_id); - -CREATE TABLE site_stats ( - ss_row_id serial PRIMARY KEY, - ss_total_views bigint NOT NULL, - ss_total_edits bigint NOT NULL, - ss_good_articles bigint NOT NULL -); - -CREATE TABLE oldimage ( - oi_name varchar(255) NOT NULL, - oi_archive_name varchar(255) NOT NULL, - oi_size integer NOT NULL, - oi_description text NOT NULL, - oi_user integer NOT NULL, - oi_user_text varchar(255) NOT NULL, - oi_timestamp timestamp without time zone NOT NULL -); -CREATE INDEX oi_name_idx ON oldimage (oi_name); - -CREATE TABLE querycache ( - qc_type char(32), - qc_value integer, - qc_namespace smallint, - qc_title char(255) -); -CREATE INDEX qc_type_value_idx ON querycache (qc_type, qc_value); - -CREATE TABLE watchlist ( - wl_user integer NOT NULL, - wl_namespace smallint NOT NULL, - wl_title varchar(255) NOT NULL, - PRIMARY KEY (wl_user, wl_namespace, wl_title) -); -CREATE INDEX idx_wl_user ON watchlist (wl_user); -CREATE INDEX idx_wl_title ON watchlist (wl_title); - -CREATE TABLE interwiki ( - iw_prefix char(32) PRIMARY KEY, - iw_url varchar(127) NOT NULL, - iw_local smallint NOT NULL -); - -CREATE TABLE profiling ( - pf_count integer, - pf_time double precision, - pf_name varchar(255) PRIMARY KEY -); - -CREATE TABLE validate ( - val_user integer DEFAULT 0 NOT NULL, - val_title varchar(255) NOT NULL, - val_timestamp timestamp without time zone NOT NULL, - val_type integer DEFAULT 0 NOT NULL, - val_value integer DEFAULT 0 NOT NULL, - val_comment varchar(255) NOT NULL -); -CREATE INDEX val_user ON validate (val_user, val_title, val_timestamp); - -CREATE TABLE user_rights ( - user_id integer PRIMARY KEY, - user_rights text NOT NULL -); - -CREATE TABLE logging ( - log_type character(10) NOT NULL, - log_action character(10) NOT NULL, - log_timestamp timestamp without time zone NOT NULL, - log_user integer NOT NULL, - log_namespace smallint NOT NULL, - log_title character varying(255) NOT NULL, - log_comment character varying(255) NOT NULL -); - -CREATE INDEX log_type_time ON logging USING btree (log_type, log_timestamp); -CREATE INDEX log_user_time ON logging USING btree (log_user, log_timestamp); -CREATE INDEX log_page_time ON logging USING btree (log_namespace, log_title, log_timestamp); - - --- HACK HACK HACK -CREATE TABLE "group" ( - group_id integer PRIMARY KEY, - group_name varchar(50) NOT NULL, - group_description varchar(255) NOT NULL, - group_rights text NOT NULL -); - --- Relation table between user and groups -CREATE TABLE user_groups ( - ug_user integer NOT NULL, - ug_group integer NOT NULL, - PRIMARY KEY (ug_user,ug_group) -); _____
Deleted: trunk/web/reactos.org/htdocs/wiki/maintenance/postgresql/pg_users.sql --- trunk/web/reactos.org/htdocs/wiki/maintenance/postgresql/pg_users.sql 2006-01-10 22:29:01 UTC (rev 20770) +++ trunk/web/reactos.org/htdocs/wiki/maintenance/postgresql/pg_users.sql 2006-01-10 22:33:07 UTC (rev 20771) @@ -1,14 +0,0 @@ --- access rights for wiki database users
-CREATE USER {$wgDBuser} - PASSWORD '{$wgDBpassword}'; - -GRANT SELECT,INSERT,UPDATE,DELETE ON - archive,brokenlinks,categorylinks,cur, - cur_cur_id_seq,hitcounter,image,imagelinks, - interwiki,ipblocks,ipblocks_ipb_id_seq,links, - linkscc,math,objectcache,"old",old_old_id_seq, - oldimage,profiling,querycache,recentchanges, - recentchanges_rc_id_seq,searchindex,site_stats, - site_stats_ss_row_id_seq,"user",user_newtalk, - user_rights,user_user_id_seq,validate,watchlist -TO {$wgDBuser}; _____
Copied: trunk/web/reactos.org/htdocs/wiki/maintenance/removeUnusedAccounts.inc (from rev 20770, vendor/mediawiki/current/maintenance/removeUnusedAccounts.inc) _____
Copied: trunk/web/reactos.org/htdocs/wiki/maintenance/removeUnusedAccounts.php (from rev 20770, vendor/mediawiki/current/maintenance/removeUnusedAccounts.php) _____
Modified: trunk/web/reactos.org/htdocs/wiki/profileinfo.php --- trunk/web/reactos.org/htdocs/wiki/profileinfo.php 2006-01-10 22:29:01 UTC (rev 20770) +++ trunk/web/reactos.org/htdocs/wiki/profileinfo.php 2006-01-10 22:33:07 UTC (rev 20771) @@ -21,7 +21,6 @@
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- $Id: profileinfo.php,v 1.4 2005/07/06 05:18:09 vibber Exp $ --> <html> <head>