Merge "Update set of files cleaned up after parserTests"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Thu, 27 Mar 2014 17:15:36 +0000 (17:15 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Thu, 27 Mar 2014 17:15:36 +0000 (17:15 +0000)
254 files changed:
RELEASE-NOTES-1.23
img_auth.php
includes/AjaxResponse.php
includes/Article.php
includes/Autopromote.php
includes/Block.php
includes/CacheHelper.php
includes/Category.php
includes/CategoryViewer.php
includes/ChangeTags.php
includes/DefaultSettings.php
includes/EditPage.php
includes/Export.php
includes/GlobalFunctions.php
includes/OutputPage.php
includes/Wiki.php
includes/WikiPage.php
includes/api/ApiQuerySearch.php
includes/filerepo/file/File.php
includes/objectcache/BagOStuff.php
includes/resourceloader/ResourceLoaderContext.php
includes/resourceloader/ResourceLoaderStartUpModule.php
includes/search/SearchEngine.php
includes/search/SearchMssql.php
includes/search/SearchMySQL.php
includes/search/SearchOracle.php
includes/search/SearchPostgres.php
includes/search/SearchSqlite.php
includes/specialpage/ChangesListSpecialPage.php
includes/specialpage/RedirectSpecialPage.php
includes/specialpage/SpecialPage.php
includes/specialpage/SpecialPageFactory.php
includes/specials/SpecialContributions.php
includes/specials/SpecialListDuplicatedFiles.php
includes/specials/SpecialRevisiondelete.php
includes/specials/SpecialSearch.php
includes/specials/SpecialSpecialpages.php
includes/specials/SpecialStatistics.php
includes/specials/SpecialUncategorizedimages.php
includes/specials/SpecialUncategorizedpages.php
includes/specials/SpecialUndelete.php
includes/specials/SpecialUnusedcategories.php
includes/specials/SpecialUnusedtemplates.php
includes/specials/SpecialUpload.php
includes/specials/SpecialUploadStash.php
includes/specials/SpecialUserlogin.php
includes/specials/SpecialUserlogout.php
includes/specials/SpecialUserrights.php
includes/specials/SpecialVersion.php
includes/specials/SpecialWantedtemplates.php
includes/specials/SpecialWatchlist.php
includes/specials/SpecialWhatlinkshere.php
includes/specials/SpecialWithoutinterwiki.php
languages/messages/MessagesAeb.php
languages/messages/MessagesAf.php
languages/messages/MessagesAln.php
languages/messages/MessagesAm.php
languages/messages/MessagesAn.php
languages/messages/MessagesAr.php
languages/messages/MessagesArc.php
languages/messages/MessagesAry.php
languages/messages/MessagesArz.php
languages/messages/MessagesAs.php
languages/messages/MessagesAst.php
languages/messages/MessagesAvk.php
languages/messages/MessagesAz.php
languages/messages/MessagesAzb.php
languages/messages/MessagesBa.php
languages/messages/MessagesBcc.php
languages/messages/MessagesBcl.php
languages/messages/MessagesBe.php
languages/messages/MessagesBe_tarask.php
languages/messages/MessagesBg.php
languages/messages/MessagesBjn.php
languages/messages/MessagesBn.php
languages/messages/MessagesBr.php
languages/messages/MessagesBs.php
languages/messages/MessagesCa.php
languages/messages/MessagesCe.php
languages/messages/MessagesCeb.php
languages/messages/MessagesCh.php
languages/messages/MessagesCkb.php
languages/messages/MessagesCs.php
languages/messages/MessagesCy.php
languages/messages/MessagesDa.php
languages/messages/MessagesDe.php
languages/messages/MessagesDiq.php
languages/messages/MessagesDsb.php
languages/messages/MessagesDtp.php
languages/messages/MessagesEgl.php
languages/messages/MessagesEl.php
languages/messages/MessagesEn.php
languages/messages/MessagesEo.php
languages/messages/MessagesEs.php
languages/messages/MessagesEt.php
languages/messages/MessagesEu.php
languages/messages/MessagesExt.php
languages/messages/MessagesFa.php
languages/messages/MessagesFi.php
languages/messages/MessagesFo.php
languages/messages/MessagesFr.php
languages/messages/MessagesFrp.php
languages/messages/MessagesFrr.php
languages/messages/MessagesFy.php
languages/messages/MessagesGa.php
languages/messages/MessagesGan_hans.php
languages/messages/MessagesGan_hant.php
languages/messages/MessagesGd.php
languages/messages/MessagesGl.php
languages/messages/MessagesGrc.php
languages/messages/MessagesGsw.php
languages/messages/MessagesGu.php
languages/messages/MessagesHak.php
languages/messages/MessagesHe.php
languages/messages/MessagesHi.php
languages/messages/MessagesHif_latn.php
languages/messages/MessagesHil.php
languages/messages/MessagesHr.php
languages/messages/MessagesHsb.php
languages/messages/MessagesHt.php
languages/messages/MessagesHu.php
languages/messages/MessagesHy.php
languages/messages/MessagesIa.php
languages/messages/MessagesId.php
languages/messages/MessagesIlo.php
languages/messages/MessagesIs.php
languages/messages/MessagesIt.php
languages/messages/MessagesJa.php
languages/messages/MessagesJv.php
languages/messages/MessagesKa.php
languages/messages/MessagesKaa.php
languages/messages/MessagesKab.php
languages/messages/MessagesKbd_cyrl.php
languages/messages/MessagesKiu.php
languages/messages/MessagesKk_arab.php
languages/messages/MessagesKk_cyrl.php
languages/messages/MessagesKk_latn.php
languages/messages/MessagesKm.php
languages/messages/MessagesKn.php
languages/messages/MessagesKo.php
languages/messages/MessagesKrc.php
languages/messages/MessagesKsh.php
languages/messages/MessagesLa.php
languages/messages/MessagesLb.php
languages/messages/MessagesLi.php
languages/messages/MessagesLrc.php
languages/messages/MessagesLt.php
languages/messages/MessagesLv.php
languages/messages/MessagesLzh.php
languages/messages/MessagesMai.php
languages/messages/MessagesMap_bms.php
languages/messages/MessagesMdf.php
languages/messages/MessagesMg.php
languages/messages/MessagesMin.php
languages/messages/MessagesMk.php
languages/messages/MessagesMl.php
languages/messages/MessagesMn.php
languages/messages/MessagesMr.php
languages/messages/MessagesMs.php
languages/messages/MessagesMt.php
languages/messages/MessagesMyv.php
languages/messages/MessagesNah.php
languages/messages/MessagesNb.php
languages/messages/MessagesNds.php
languages/messages/MessagesNds_nl.php
languages/messages/MessagesNe.php
languages/messages/MessagesNl.php
languages/messages/MessagesNn.php
languages/messages/MessagesOc.php
languages/messages/MessagesOr.php
languages/messages/MessagesPa.php
languages/messages/MessagesPam.php
languages/messages/MessagesPl.php
languages/messages/MessagesPms.php
languages/messages/MessagesPnb.php
languages/messages/MessagesPrg.php
languages/messages/MessagesPs.php
languages/messages/MessagesPt.php
languages/messages/MessagesPt_br.php
languages/messages/MessagesQqq.php
languages/messages/MessagesQu.php
languages/messages/MessagesRm.php
languages/messages/MessagesRo.php
languages/messages/MessagesRoa_tara.php
languages/messages/MessagesRu.php
languages/messages/MessagesRue.php
languages/messages/MessagesSa.php
languages/messages/MessagesSah.php
languages/messages/MessagesScn.php
languages/messages/MessagesSco.php
languages/messages/MessagesSdc.php
languages/messages/MessagesSei.php
languages/messages/MessagesSh.php
languages/messages/MessagesSi.php
languages/messages/MessagesSk.php
languages/messages/MessagesSl.php
languages/messages/MessagesSli.php
languages/messages/MessagesSq.php
languages/messages/MessagesSr_ec.php
languages/messages/MessagesSr_el.php
languages/messages/MessagesStq.php
languages/messages/MessagesSu.php
languages/messages/MessagesSv.php
languages/messages/MessagesSw.php
languages/messages/MessagesSzl.php
languages/messages/MessagesTa.php
languages/messages/MessagesTe.php
languages/messages/MessagesTg_cyrl.php
languages/messages/MessagesTg_latn.php
languages/messages/MessagesTh.php
languages/messages/MessagesTk.php
languages/messages/MessagesTl.php
languages/messages/MessagesTr.php
languages/messages/MessagesTt_cyrl.php
languages/messages/MessagesUg_arab.php
languages/messages/MessagesUk.php
languages/messages/MessagesUr.php
languages/messages/MessagesVec.php
languages/messages/MessagesVep.php
languages/messages/MessagesVi.php
languages/messages/MessagesVo.php
languages/messages/MessagesVro.php
languages/messages/MessagesWa.php
languages/messages/MessagesWo.php
languages/messages/MessagesWuu.php
languages/messages/MessagesYi.php
languages/messages/MessagesYo.php
languages/messages/MessagesYue.php
languages/messages/MessagesZea.php
languages/messages/MessagesZh_hans.php
languages/messages/MessagesZh_hant.php
maintenance/generateJsonI18n.php
maintenance/jsduck/config.json
maintenance/language/messages.inc
maintenance/mwjsduck-gen
resources/Makefile
resources/Resources.php
resources/jquery/jquery.arrowSteps.js
resources/mediawiki.language/mediawiki.language.numbers.js
resources/mediawiki.ui/default.less
resources/mediawiki.ui/vector.less
resources/mediawiki/mediawiki.Title.js
resources/mediawiki/mediawiki.Uri.js
resources/mediawiki/mediawiki.js
resources/oojs-ui/i18n/hi.json
resources/oojs-ui/oojs-ui-agora.css [new file with mode: 0644]
resources/oojs-ui/oojs-ui-apex.css
resources/oojs-ui/oojs-ui.js
resources/oojs-ui/oojs-ui.svg.css
resources/oojs-ui/update-oojs-ui.sh
skins/vector/components/common.less
skins/vector/variables.less
tests/phpunit/includes/media/DjVuTest.php
thumb.php

index 9633edd..3a91223 100644 (file)
@@ -141,6 +141,10 @@ production.
   when the email address is already confirmed. Also, consistently use
   "confirmed", rather than "authenticated", when messaging whether or not the
   user has confirmed an email address.
+* (bug 19415) action=render no longer shows section edit links. This affects
+  behavior of several other features where (bogus) section edit links will
+  disappear, such as file description pages loaded via $wgUseInstantCommons or
+  pages transcluded cross-wiki via $wgEnableScaryTranscluding.
 * (bug 56912) Show correct link color on cached result of Special:DeadendPages.
 * Classes TitleListDependency and TitleDependency have been removed, as they
   have been found unused in core and extensions for a long time.
@@ -223,6 +227,8 @@ production.
 * (bug 42026) Added ucshow={new,!new,top,!top} to list=usercontribs.
   Also added newonly to action=feedcontributions.
 * (bug 42026) Deprecated uctoponly in favor of ucshow=top.
+* list=search no longer has a "srredirects" parameter. Redirects are now
+  included in all searches.
 
 === Languages updated in 1.23 ===
 
@@ -304,6 +310,8 @@ changes to languages because of Bugzilla reports.
   us to extend parser tests to accommodate additional input/output
   pairs, such as "!!html/parsoid" (for the output of the Parsoid
   parser, where it differs from the PHP parser).
+* Special:Search no longer has an "include redirects" option on the advanced
+  tab. Redirects are now included in all searches.
 
 ==== Removed classes ====
 * FakeMemCachedClient (deprecated in 1.18)
index 391fb29..a0976af 100644 (file)
@@ -150,6 +150,10 @@ function wfImageAuthMain() {
                return;
        }
 
+       if ( $wgRequest->getCheck( 'download' ) ) {
+               header( 'Content-Disposition: attachment' );
+       }
+
        // Stream the requested file
        wfDebugLog( 'img_auth', "Streaming `" . $filename . "`." );
        $repo->streamFile( $filename, array( 'Cache-Control: private', 'Vary: Cookie' ) );
index 334cee3..4b5ca75 100644 (file)
@@ -28,7 +28,6 @@
  * @ingroup Ajax
  */
 class AjaxResponse {
-
        /**
         * Number of seconds to get the response cached by a proxy
         * @var int $mCacheDuration
@@ -184,10 +183,10 @@ class AjaxResponse {
                                }
 
                        } else {
-
                                # Let the client do the caching. Cache is not purged.
                                header ( "Expires: " . gmdate( "D, d M Y H:i:s", time() + $this->mCacheDuration ) . " GMT" );
-                               header ( "Cache-Control: s-maxage={$this->mCacheDuration},public,max-age={$this->mCacheDuration}" );
+                               header ( "Cache-Control: s-maxage={$this->mCacheDuration}," .
+                                       "public,max-age={$this->mCacheDuration}" );
                        }
 
                } else {
@@ -237,17 +236,22 @@ class AjaxResponse {
                        wfDebug( "$fname: -- client send If-Modified-Since: " . $modsince . "\n", 'log' );
                        wfDebug( "$fname: --  we might send Last-Modified : $lastmod\n", 'log' );
 
-                       if ( ( $ismodsince >= $timestamp ) && $wgUser->validateCache( $ismodsince ) && $ismodsince >= $wgCacheEpoch ) {
+                       if ( ( $ismodsince >= $timestamp )
+                               && $wgUser->validateCache( $ismodsince ) &&
+                               $ismodsince >= $wgCacheEpoch
+                       ) {
                                ini_set( 'zlib.output_compression', 0 );
                                $this->setResponseCode( "304 Not Modified" );
                                $this->disable();
                                $this->mLastModified = $lastmod;
 
-                               wfDebug( "$fname: CACHED client: $ismodsince ; user: {$wgUser->getTouched()} ; page: $timestamp ; site $wgCacheEpoch\n", 'log' );
+                               wfDebug( "$fname: CACHED client: $ismodsince ; user: {$wgUser->getTouched()} ; " .
+                                       "page: $timestamp ; site $wgCacheEpoch\n", 'log' );
 
                                return true;
                        } else {
-                               wfDebug( "$fname: READY  client: $ismodsince ; user: {$wgUser->getTouched()} ; page: $timestamp ; site $wgCacheEpoch\n", 'log' );
+                               wfDebug( "$fname: READY  client: $ismodsince ; user: {$wgUser->getTouched()} ; " .
+                                       "page: $timestamp ; site $wgCacheEpoch\n", 'log' );
                                $this->mLastModified = $lastmod;
                        }
                } else {
index b132ca9..1133724 100644 (file)
@@ -367,9 +367,11 @@ class Article implements Page {
         * Does *NOT* follow redirects.
         *
         * @protected
-        * @note this is really internal functionality that should really NOT be used by other functions. For accessing
-        *       article content, use the WikiPage class, especially WikiBase::getContent(). However, a lot of legacy code
-        *       uses this method to retrieve page text from the database, so the function has to remain public for now.
+        * @note This is really internal functionality that should really NOT be
+        * used by other functions. For accessing article content, use the WikiPage
+        * class, especially WikiBase::getContent(). However, a lot of legacy code
+        * uses this method to retrieve page text from the database, so the function
+        * has to remain public for now.
         *
         * @return mixed string containing article contents, or false if null
         * @deprecated in 1.21, use WikiPage::getContent() instead
@@ -397,9 +399,10 @@ class Article implements Page {
        /**
         * Get text content object
         * Does *NOT* follow redirects.
-        * TODO: when is this null?
+        * @todo When is this null?
         *
-        * @note code that wants to retrieve page content from the database should use WikiPage::getContent().
+        * @note Code that wants to retrieve page content from the database should
+        * use WikiPage::getContent().
         *
         * @return Content|null|boolean false
         *
@@ -434,7 +437,8 @@ class Article implements Page {
                        }
                } else {
                        if ( !$this->mPage->getLatest() ) {
-                               wfDebug( __METHOD__ . " failed to find page data for title " . $this->getTitle()->getPrefixedText() . "\n" );
+                               wfDebug( __METHOD__ . " failed to find page data for title " .
+                                       $this->getTitle()->getPrefixedText() . "\n" );
                                wfProfileOut( __METHOD__ );
                                return false;
                        }
@@ -442,7 +446,8 @@ class Article implements Page {
                        $this->mRevision = $this->mPage->getRevision();
 
                        if ( !$this->mRevision ) {
-                               wfDebug( __METHOD__ . " failed to retrieve current page, rev_id " . $this->mPage->getLatest() . "\n" );
+                               wfDebug( __METHOD__ . " failed to retrieve current page, rev_id " .
+                                       $this->mPage->getLatest() . "\n" );
                                wfProfileOut( __METHOD__ );
                                return false;
                        }
@@ -450,7 +455,11 @@ class Article implements Page {
 
                // @todo FIXME: Horrible, horrible! This content-loading interface just plain sucks.
                // We should instead work with the Revision object when we need it...
-               $this->mContentObject = $this->mRevision->getContent( Revision::FOR_THIS_USER, $this->getContext()->getUser() ); // Loads if user is allowed
+               // Loads if user is allowed
+               $this->mContentObject = $this->mRevision->getContent(
+                       Revision::FOR_THIS_USER,
+                       $this->getContext()->getUser()
+               );
                $this->mRevIdFetched = $this->mRevision->getId();
 
                wfRunHooks( 'ArticleAfterFetchContentObject', array( &$this, &$this->mContentObject ) );
@@ -711,7 +720,8 @@ class Article implements Page {
                                        # Don't cache a dirty ParserOutput object
                                        if ( $poolArticleView->getIsDirty() ) {
                                                $outputPage->setSquidMaxage( 0 );
-                                               $outputPage->addHTML( "<!-- parser cache is expired, sending anyway due to pool overload-->\n" );
+                                               $outputPage->addHTML( "<!-- parser cache is expired, " .
+                                                       "sending anyway due to pool overload-->\n" );
                                        }
 
                                        $outputDone = true;
@@ -794,13 +804,21 @@ class Article implements Page {
                }
 
                $contentHandler = $rev->getContentHandler();
-               $de = $contentHandler->createDifferenceEngine( $this->getContext(), $oldid, $diff, $rcid, $purge, $unhide );
+               $de = $contentHandler->createDifferenceEngine(
+                       $this->getContext(),
+                       $oldid,
+                       $diff,
+                       $rcid,
+                       $purge,
+                       $unhide
+               );
 
                // DifferenceEngine directly fetched the revision:
                $this->mRevIdFetched = $de->mNewid;
                $de->showDiffPage( $diffOnly );
 
-               // Run view updates for the newer revision being diffed (and shown below the diff if not $diffOnly)
+               // Run view updates for the newer revision being diffed (and shown
+               // below the diff if not $diffOnly).
                list( $old, $new ) = $de->mapDiffPrevNext( $oldid, $diff );
                // New can be false, convert it to 0 - this conveniently means the latest revision
                $this->mPage->doViewUpdates( $user, (int)$new );
@@ -813,7 +831,8 @@ class Article implements Page {
         * This is hooked by SyntaxHighlight_GeSHi to do syntax highlighting of these
         * page views.
         *
-        * @param bool $showCacheHint whether to show a message telling the user to clear the browser cache (default: true).
+        * @param bool $showCacheHint whether to show a message telling the user
+        *   to clear the browser cache (default: true).
         */
        protected function showCssOrJsPage( $showCacheHint = true ) {
                $outputPage = $this->getContext()->getOutput();
@@ -822,15 +841,20 @@ class Article implements Page {
                        $dir = $this->getContext()->getLanguage()->getDir();
                        $lang = $this->getContext()->getLanguage()->getCode();
 
-                       $outputPage->wrapWikiMsg( "<div id='mw-clearyourcache' lang='$lang' dir='$dir' class='mw-content-$dir'>\n$1\n</div>",
-                               'clearyourcache' );
+                       $outputPage->wrapWikiMsg(
+                               "<div id='mw-clearyourcache' lang='$lang' dir='$dir' class='mw-content-$dir'>\n$1\n</div>",
+                               'clearyourcache'
+                       );
                }
 
                $this->fetchContentObject();
 
                if ( $this->mContentObject ) {
                        // Give hooks a chance to customise the output
-                       if ( ContentHandler::runLegacyHooks( 'ShowRawCssJs', array( $this->mContentObject, $this->getTitle(), $outputPage ) ) ) {
+                       if ( ContentHandler::runLegacyHooks(
+                               'ShowRawCssJs',
+                               array( $this->mContentObject, $this->getTitle(), $outputPage ) )
+                       ) {
                                $po = $this->mContentObject->getParserOutput( $this->getTitle() );
                                $outputPage->addHTML( $po->getText() );
                        }
@@ -1007,7 +1031,10 @@ class Article implements Page {
        public function showNamespaceHeader() {
                if ( $this->getTitle()->isTalkPage() ) {
                        if ( !wfMessage( 'talkpageheader' )->isDisabled() ) {
-                               $this->getContext()->getOutput()->wrapWikiMsg( "<div class=\"mw-talkpageheader\">\n$1\n</div>", array( 'talkpageheader' ) );
+                               $this->getContext()->getOutput()->wrapWikiMsg(
+                                       "<div class=\"mw-talkpageheader\">\n$1\n</div>",
+                                       array( 'talkpageheader' )
+                               );
                        }
                }
        }
@@ -1017,7 +1044,9 @@ class Article implements Page {
         */
        public function showViewFooter() {
                # check if we're displaying a [[User talk:x.x.x.x]] anonymous talk page
-               if ( $this->getTitle()->getNamespace() == NS_USER_TALK && IP::isValid( $this->getTitle()->getText() ) ) {
+               if ( $this->getTitle()->getNamespace() == NS_USER_TALK
+                       && IP::isValid( $this->getTitle()->getText() )
+               ) {
                        $this->getContext()->getOutput()->addWikiMsg( 'anontalkpagetext' );
                }
 
@@ -1025,7 +1054,6 @@ class Article implements Page {
                $patrolFooterShown = $this->showPatrolFooter();
 
                wfRunHooks( 'ArticleViewFooter', array( $this, $patrolFooterShown ) );
-
        }
 
        /**
@@ -1045,7 +1073,9 @@ class Article implements Page {
                $cache = wfGetMainCache();
                $rc = false;
 
-               if ( !$this->getTitle()->quickUserCan( 'patrol', $user ) || !( $wgUseRCPatrol || $wgUseNPPatrol ) ) {
+               if ( !$this->getTitle()->quickUserCan( 'patrol', $user )
+                       || !( $wgUseRCPatrol || $wgUseNPPatrol )
+               ) {
                        // Patrolling is disabled or the user isn't allowed to
                        return false;
                }
@@ -1064,7 +1094,9 @@ class Article implements Page {
                        return false;
                }
 
-               if ( $this->mRevision && !RecentChange::isInRCLifespan( $this->mRevision->getTimestamp(), 21600 ) ) {
+               if ( $this->mRevision
+                       && !RecentChange::isInRCLifespan( $this->mRevision->getTimestamp(), 21600 )
+               ) {
                        // The current revision is already older than what could be in the RC table
                        // 6h tolerance because the RC might not be cleaned out regularly
                        wfProfileOut( __METHOD__ );
@@ -1079,7 +1111,9 @@ class Article implements Page {
                        __METHOD__
                );
 
-               if ( $oldestRevisionTimestamp && RecentChange::isInRCLifespan( $oldestRevisionTimestamp, 21600 ) ) {
+               if ( $oldestRevisionTimestamp
+                       && RecentChange::isInRCLifespan( $oldestRevisionTimestamp, 21600 )
+               ) {
                        // 6h tolerance because the RC might not be cleaned out regularly
                        $rc = RecentChange::newFromConds(
                                array(
@@ -1153,7 +1187,9 @@ class Article implements Page {
                $validUserPage = false;
 
                # Show info in user (talk) namespace. Does the user exist? Is he blocked?
-               if ( $this->getTitle()->getNamespace() == NS_USER || $this->getTitle()->getNamespace() == NS_USER_TALK ) {
+               if ( $this->getTitle()->getNamespace() == NS_USER
+                       || $this->getTitle()->getNamespace() == NS_USER_TALK
+               ) {
                        $parts = explode( '/', $this->getTitle()->getText() );
                        $rootPart = $parts[0];
                        $user = User::newFromName( $rootPart, false /* allow IP users*/ );
@@ -1446,9 +1482,7 @@ class Article implements Page {
 
                // the loop prepends the arrow image before the link, so the first case needs to be outside
 
-               /**
-                * @var $title Title
-                */
+               /** @var $title Title */
                $title = array_shift( $target );
 
                if ( $forceKnown ) {
@@ -1459,13 +1493,27 @@ class Article implements Page {
 
                $nextRedirect = $wgStylePath . '/common/images/nextredirect' . $imageDir . '.png';
                $alt = $lang->isRTL() ? '←' : '→';
-               // Automatically append redirect=no to each link, since most of them are redirect pages themselves.
+
+               // Automatically append redirect=no to each link, since most of them are
+               // redirect pages themselves.
+               /** @var Title $rt */
                foreach ( $target as $rt ) {
                        $link .= Html::element( 'img', array( 'src' => $nextRedirect, 'alt' => $alt ) );
                        if ( $forceKnown ) {
-                               $link .= Linker::linkKnown( $rt, htmlspecialchars( $rt->getFullText(), array(), array( 'redirect' => 'no' ) ) );
+                               $link .= Linker::linkKnown(
+                                       $rt,
+                                       htmlspecialchars( $rt->getFullText(),
+                                       array(),
+                                       array( 'redirect' => 'no' )
+                               )
+                               );
                        } else {
-                               $link .= Linker::link( $rt, htmlspecialchars( $rt->getFullText() ), array(), array( 'redirect' => 'no' ) );
+                               $link .= Linker::link(
+                                       $rt,
+                                       htmlspecialchars( $rt->getFullText() ),
+                                       array(),
+                                       array( 'redirect' => 'no' )
+                               );
                        }
                }
 
@@ -1480,6 +1528,7 @@ class Article implements Page {
         */
        public function render() {
                $this->getContext()->getOutput()->setArticleBodyOnly( true );
+               $this->getContext()->getOutput()->enableSectionEditLinks( false );
                $this->view();
        }
 
@@ -1572,7 +1621,8 @@ class Article implements Page {
                        try {
                                $reason = $this->generateReason( $hasHistory );
                        } catch ( MWException $e ) {
-                               # if a page is horribly broken, we still want to be able to delete it. so be lenient about errors here.
+                               # if a page is horribly broken, we still want to be able to
+                               # delete it. So be lenient about errors here.
                                wfDebug( "Error while building auto delete summary: $e" );
                                $reason = '';
                        }
@@ -1594,7 +1644,11 @@ class Article implements Page {
                        if ( $this->mTitle->isBigDeletion() ) {
                                global $wgDeleteRevisionsLimit;
                                $this->getContext()->getOutput()->wrapWikiMsg( "<div class='error'>\n$1\n</div>\n",
-                                       array( 'delete-warning-toobig', $this->getContext()->getLanguage()->formatNum( $wgDeleteRevisionsLimit ) ) );
+                                       array(
+                                               'delete-warning-toobig',
+                                               $this->getContext()->getLanguage()->formatNum( $wgDeleteRevisionsLimit )
+                                       )
+                               );
                        }
                }
 
@@ -1647,9 +1701,14 @@ class Article implements Page {
                                        Xml::label( wfMessage( 'deletecomment' )->text(), 'wpDeleteReasonList' ) .
                                "</td>
                                <td class='mw-input'>" .
-                                       Xml::listDropDown( 'wpDeleteReasonList',
+                                       Xml::listDropDown(
+                                               'wpDeleteReasonList',
                                                wfMessage( 'deletereason-dropdown' )->inContentLanguage()->text(),
-                                               wfMessage( 'deletereasonotherlist' )->inContentLanguage()->text(), '', 'wpReasonDropDown', 1 ) .
+                                               wfMessage( 'deletereasonotherlist' )->inContentLanguage()->text(),
+                                               '',
+                                               'wpReasonDropDown',
+                                               1
+                                       ) .
                                "</td>
                        </tr>
                        <tr id=\"wpDeleteReasonRow\">
@@ -1690,7 +1749,10 @@ class Article implements Page {
                        </tr>" .
                        Xml::closeElement( 'table' ) .
                        Xml::closeElement( 'fieldset' ) .
-                       Html::hidden( 'wpEditToken', $user->getEditToken( array( 'delete', $this->getTitle()->getPrefixedText() ) ) ) .
+                       Html::hidden(
+                               'wpEditToken',
+                               $user->getEditToken( array( 'delete', $this->getTitle()->getPrefixedText() ) )
+                       ) .
                        Xml::closeElement( 'form' );
 
                        if ( $user->isAllowed( 'editinterface' ) ) {
@@ -1715,13 +1777,14 @@ class Article implements Page {
 
        /**
         * Perform a deletion and output success or failure messages
-        * @param $reason
-        * @param $suppress bool
+        * @param string $reason
+        * @param bool $suppress
         */
        public function doDelete( $reason, $suppress = false ) {
                $error = '';
                $outputPage = $this->getContext()->getOutput();
                $status = $this->mPage->doDeleteArticleReal( $reason, $suppress, 0, true, $error );
+
                if ( $status->isGood() ) {
                        $deleted = $this->getTitle()->getPrefixedText();
 
@@ -1733,7 +1796,11 @@ class Article implements Page {
                        $outputPage->addWikiMsg( 'deletedtext', wfEscapeWikiText( $deleted ), $loglink );
                        $outputPage->returnToMain( false );
                } else {
-                       $outputPage->setPageTitle( wfMessage( 'cannotdelete-title', $this->getTitle()->getPrefixedText() ) );
+                       $outputPage->setPageTitle(
+                               wfMessage( 'cannotdelete-title',
+                                       $this->getTitle()->getPrefixedText() )
+                       );
+
                        if ( $error == '' ) {
                                $outputPage->addWikiText(
                                        "<div class=\"error mw-error-cannotdelete\">\n" . $status->getWikiText() . "\n</div>"
@@ -1878,7 +1945,8 @@ class Article implements Page {
                if ( $this->mContext instanceof IContextSource ) {
                        return $this->mContext;
                } else {
-                       wfDebug( __METHOD__ . " called and \$mContext is null. Return RequestContext::getMain(); for sanity\n" );
+                       wfDebug( __METHOD__ . " called and \$mContext is null. " .
+                               "Return RequestContext::getMain(); for sanity\n" );
                        return RequestContext::getMain();
                }
        }
@@ -1978,7 +2046,9 @@ class Article implements Page {
         * @param $user User
         * @return Status
         */
-       public function doUpdateRestrictions( array $limit, array $expiry, &$cascade, $reason, User $user ) {
+       public function doUpdateRestrictions( array $limit, array $expiry, &$cascade,
+               $reason, User $user
+       ) {
                return $this->mPage->doUpdateRestrictions( $limit, $expiry, $cascade, $reason, $user );
        }
 
@@ -1989,7 +2059,9 @@ class Article implements Page {
         * @param $expiry array
         * @return bool
         */
-       public function updateRestrictions( $limit = array(), $reason = '', &$cascade = 0, $expiry = array() ) {
+       public function updateRestrictions( $limit = array(), $reason = '',
+               &$cascade = 0, $expiry = array()
+       ) {
                return $this->mPage->doUpdateRestrictions(
                        $limit,
                        $expiry,
@@ -2007,7 +2079,9 @@ class Article implements Page {
         * @param $error string
         * @return bool
         */
-       public function doDeleteArticle( $reason, $suppress = false, $id = 0, $commit = true, &$error = '' ) {
+       public function doDeleteArticle( $reason, $suppress = false, $id = 0,
+               $commit = true, &$error = ''
+       ) {
                return $this->mPage->doDeleteArticle( $reason, $suppress, $id, $commit, $error );
        }
 
index 170d7ab..197ad9c 100644 (file)
@@ -197,7 +197,8 @@ class Autopromote {
                                return in_array( 'bot', User::getGroupPermissions( $user->getGroups() ) );
                        default:
                                $result = null;
-                               wfRunHooks( 'AutopromoteCondition', array( $cond[0], array_slice( $cond, 1 ), $user, &$result ) );
+                               wfRunHooks( 'AutopromoteCondition', array( $cond[0],
+                                       array_slice( $cond, 1 ), $user, &$result ) );
                                if ( $result === null ) {
                                        throw new MWException( "Unrecognized condition {$cond[0]} for autopromotion!" );
                                }
index 08428b4..95a8386 100644 (file)
@@ -435,7 +435,8 @@ class Block {
         * Update a block in the DB with new parameters.
         * The ID field needs to be loaded first.
         *
-        * @return bool|array False on failure, array on success: ('id' => block ID, 'autoIds' => array of autoblock IDs)
+        * @return bool|array False on failure, array on success:
+        *   ('id' => block ID, 'autoIds' => array of autoblock IDs)
         */
        public function update() {
                wfDebug( "Block::update; timestamp {$this->mTimestamp}\n" );
@@ -686,7 +687,8 @@ class Block {
                wfDebug( "Autoblocking {$this->getTarget()}@" . $autoblockIP . "\n" );
                $autoblock->setTarget( $autoblockIP );
                $autoblock->setBlocker( $this->getBlocker() );
-               $autoblock->mReason = wfMessage( 'autoblocker', $this->getTarget(), $this->mReason )->inContentLanguage()->plain();
+               $autoblock->mReason = wfMessage( 'autoblocker', $this->getTarget(), $this->mReason )
+                       ->inContentLanguage()->plain();
                $timestamp = wfTimestampNow();
                $autoblock->mTimestamp = $timestamp;
                $autoblock->mAuto = 1;
@@ -983,7 +985,10 @@ class Block {
                        # passed by some callers (bug 29116)
                        return null;
 
-               } elseif ( in_array( $type, array( Block::TYPE_USER, Block::TYPE_IP, Block::TYPE_RANGE, null ) ) ) {
+               } elseif ( in_array(
+                       $type,
+                       array( Block::TYPE_USER, Block::TYPE_IP, Block::TYPE_RANGE, null ) )
+               ) {
                        $block = new Block();
                        $block->fromMaster( $fromMaster );
 
index f6cd3a6..cfa4160 100644 (file)
@@ -28,7 +28,6 @@
  * @since 1.20
  */
 interface ICacheHelper {
-
        /**
         * Sets if the cache should be enabled or not.
         *
@@ -81,7 +80,6 @@ interface ICacheHelper {
         * @param integer $cacheExpiry
         */
        function setExpiry( $cacheExpiry );
-
 }
 
 /**
@@ -103,7 +101,6 @@ interface ICacheHelper {
  * @since 1.20
  */
 class CacheHelper implements ICacheHelper {
-
        /**
         * The time to live for the cache, in seconds or a unix timestamp indicating the point of expiry.
         *
@@ -275,7 +272,8 @@ class CacheHelper implements ICacheHelper {
                                $itemKey = array_shift( $itemKey );
 
                                if ( !is_integer( $itemKey ) ) {
-                                       wfWarn( "Attempted to get item with non-numeric key while the next item in the queue has a key ($itemKey) in " . __METHOD__ );
+                                       wfWarn( "Attempted to get item with non-numeric key while " .
+                                               "the next item in the queue has a key ($itemKey) in " . __METHOD__ );
                                } elseif ( is_null( $itemKey ) ) {
                                        wfWarn( "Attempted to get an item while the queue is empty in " . __METHOD__ );
                                } else {
@@ -316,7 +314,11 @@ class CacheHelper implements ICacheHelper {
         */
        public function saveCache() {
                if ( $this->cacheEnabled && $this->hasCached === false && !empty( $this->cachedChunks ) ) {
-                       wfGetCache( CACHE_ANYTHING )->set( $this->getCacheKeyString(), $this->cachedChunks, $this->cacheExpiry );
+                       wfGetCache( CACHE_ANYTHING )->set(
+                               $this->getCacheKeyString(),
+                               $this->cachedChunks,
+                               $this->cacheExpiry
+                       );
                }
        }
 
@@ -381,5 +383,4 @@ class CacheHelper implements ICacheHelper {
        public function setOnInitializedHandler( $handlerFunction ) {
                $this->onInitHandler = $handlerFunction;
        }
-
 }
index df5ad7d..e326ce2 100644 (file)
@@ -26,7 +26,7 @@
  * like to refresh link counts, the objects will be appropriately reinitialized.
  * Member variables are lazy-initialized.
  *
- * TODO: Move some stuff from CategoryPage.php to here, and use that.
+ * @todo Move some stuff from CategoryPage.php to here, and use that.
  */
 class Category {
        /** Name of the category, normalized to DB-key form */
@@ -75,7 +75,8 @@ class Category {
                if ( !$row ) {
                        # Okay, there were no contents.  Nothing to initialize.
                        if ( $this->mTitle ) {
-                               # If there is a title object but no record in the category table, treat this as an empty category
+                               # If there is a title object but no record in the category table,
+                               # treat this as an empty category.
                                $this->mID = false;
                                $this->mName = $this->mTitle->getDBkey();
                                $this->mPages = 0;
@@ -155,11 +156,13 @@ class Category {
        /**
         * Factory function, for constructing a Category object from a result set
         *
-        * @param $row result set row, must contain the cat_xxx fields. If the fields are null,
-        *        the resulting Category object will represent an empty category if a title object
-        *        was given. If the fields are null and no title was given, this method fails and returns false.
-        * @param Title $title optional title object for the category represented by the given row.
-        *        May be provided if it is already known, to avoid having to re-create a title object later.
+        * @param $row Result set row, must contain the cat_xxx fields. If the
+        *   fields are null, the resulting Category object will represent an empty
+        *   category if a title object was given. If the fields are null and no
+        *   title was given, this method fails and returns false.
+        * @param Title $title optional title object for the category represented by
+        *   the given row. May be provided if it is already known, to avoid having
+        *   to re-create a title object later.
         * @return Category
         */
        public static function newFromRow( $row, $title = null ) {
@@ -177,7 +180,8 @@ class Category {
                                # but we can't know that here...
                                return false;
                        } else {
-                               $cat->mName = $title->getDBkey(); # if we have a title object, fetch the category name from there
+                               # if we have a title object, fetch the category name from there
+                               $cat->mName = $title->getDBkey();
                        }
 
                        $cat->mID = false;
index 4027bef..183c5f2 100644 (file)
@@ -76,7 +76,9 @@ class CategoryViewer extends ContextSource {
         * @param array $until An array with 3 keys for until of each section (since 1.17)
         * @param $query Array
         */
-       function __construct( $title, IContextSource $context, $from = array(), $until = array(), $query = array() ) {
+       function __construct( $title, IContextSource $context, $from = array(),
+               $until = array(), $query = array()
+       ) {
                global $wgCategoryPagingLimit;
                $this->title = $title;
                $this->setContext( $context );
@@ -423,7 +425,12 @@ class CategoryViewer extends ContextSource {
                        $countmsg = $this->getCountMessage( $rescnt, $dbcnt, 'file' );
 
                        $r .= "<div id=\"mw-category-media\">\n";
-                       $r .= '<h2>' . $this->msg( 'category-media-header', wfEscapeWikiText( $this->title->getText() ) )->text() . "</h2>\n";
+                       $r .= '<h2>' .
+                               $this->msg(
+                                       'category-media-header',
+                                       wfEscapeWikiText( $this->title->getText() )
+                               )->text() .
+                               "</h2>\n";
                        $r .= $countmsg;
                        $r .= $this->getSectionPagingLinks( 'file' );
                        if ( $this->showGallery ) {
@@ -447,7 +454,9 @@ class CategoryViewer extends ContextSource {
        private function getSectionPagingLinks( $type ) {
                if ( isset( $this->until[$type] ) && $this->until[$type] !== null ) {
                        return $this->pagingLinks( $this->nextPage[$type], $this->until[$type], $type );
-               } elseif ( $this->nextPage[$type] !== null || ( isset( $this->from[$type] ) && $this->from[$type] !== null ) ) {
+               } elseif ( $this->nextPage[$type] !== null
+                       || ( isset( $this->from[$type] ) && $this->from[$type] !== null )
+               ) {
                        return $this->pagingLinks( $this->from[$type], $this->nextPage[$type], $type );
                } else {
                        return '';
@@ -562,7 +571,8 @@ class CategoryViewer extends ContextSource {
        static function shortList( $articles, $articles_start_char ) {
                $r = '<h3>' . htmlspecialchars( $articles_start_char[0] ) . "</h3>\n";
                $r .= '<ul><li>' . $articles[0] . '</li>';
-               for ( $index = 1; $index < count( $articles ); $index++ ) {
+               $articleCount = count( $articles );
+               for ( $index = 1; $index < $articleCount; $index++ ) {
                        if ( $articles_start_char[$index] != $articles_start_char[$index - 1] ) {
                                $r .= "</ul><h3>" . htmlspecialchars( $articles_start_char[$index] ) . "</h3>\n<ul>";
                        }
index 53f2955..f73ec1f 100644 (file)
  */
 
 class ChangeTags {
-
        /**
         * Creates HTML for the given tags
         *
         * @param string $tags Comma-separated list of tags
         * @param string $page A label for the type of action which is being displayed,
-        *                     for example: 'history', 'contributions' or 'newpages'
-        *
-        * @return Array with two items: (html, classes)
-        *            - html: String: HTML for displaying the tags (empty string when param $tags is empty)
-        *            - classes: Array of strings: CSS classes used in the generated html, one class for each tag
-        *
+        *   for example: 'history', 'contributions' or 'newpages'
+        * @return array Array with two items: (html, classes)
+        *   - html: String: HTML for displaying the tags (empty string when param $tags is empty)
+        *   - classes: Array of strings: CSS classes used in the generated html, one class for each tag
         */
        public static function formatSummaryRow( $tags, $page ) {
                global $wgLang;
@@ -90,7 +87,9 @@ class ChangeTags {
         *
         * @exception MWException when $rc_id, $rev_id and $log_id are all null
         */
-       public static function addTags( $tags, $rc_id = null, $rev_id = null, $log_id = null, $params = null ) {
+       public static function addTags( $tags, $rc_id = null, $rev_id = null,
+               $log_id = null, $params = null
+       ) {
                if ( !is_array( $tags ) ) {
                        $tags = array( $tags );
                }
@@ -106,19 +105,45 @@ class ChangeTags {
 
                // Might as well look for rcids and so on.
                if ( !$rc_id ) {
-                       $dbr = wfGetDB( DB_MASTER ); // Info might be out of date, somewhat fractionally, on slave.
+                       // Info might be out of date, somewhat fractionally, on slave.
+                       $dbr = wfGetDB( DB_MASTER );
                        if ( $log_id ) {
-                               $rc_id = $dbr->selectField( 'recentchanges', 'rc_id', array( 'rc_logid' => $log_id ), __METHOD__ );
+                               $rc_id = $dbr->selectField(
+                                       'recentchanges',
+                                       'rc_id',
+                                       array( 'rc_logid' => $log_id ),
+                                       __METHOD__
+                               );
                        } elseif ( $rev_id ) {
-                               $rc_id = $dbr->selectField( 'recentchanges', 'rc_id', array( 'rc_this_oldid' => $rev_id ), __METHOD__ );
+                               $rc_id = $dbr->selectField(
+                                       'recentchanges',
+                                       'rc_id',
+                                       array( 'rc_this_oldid' => $rev_id ),
+                                       __METHOD__
+                               );
                        }
                } elseif ( !$log_id && !$rev_id ) {
-                       $dbr = wfGetDB( DB_MASTER ); // Info might be out of date, somewhat fractionally, on slave.
-                       $log_id = $dbr->selectField( 'recentchanges', 'rc_logid', array( 'rc_id' => $rc_id ), __METHOD__ );
-                       $rev_id = $dbr->selectField( 'recentchanges', 'rc_this_oldid', array( 'rc_id' => $rc_id ), __METHOD__ );
+                       // Info might be out of date, somewhat fractionally, on slave.
+                       $dbr = wfGetDB( DB_MASTER );
+                       $log_id = $dbr->selectField(
+                               'recentchanges',
+                               'rc_logid',
+                               array( 'rc_id' => $rc_id ),
+                               __METHOD__
+                       );
+                       $rev_id = $dbr->selectField(
+                               'recentchanges',
+                               'rc_this_oldid',
+                               array( 'rc_id' => $rc_id ),
+                               __METHOD__
+                       );
                }
 
-               $tsConds = array_filter( array( 'ts_rc_id' => $rc_id, 'ts_rev_id' => $rev_id, 'ts_log_id' => $log_id ) );
+               $tsConds = array_filter( array(
+                       'ts_rc_id' => $rc_id,
+                       'ts_rev_id' => $rev_id,
+                       'ts_log_id' => $log_id )
+               );
 
                ## Update the summary row.
                $prevTags = $dbr->selectField( 'tag_summary', 'ts_tags', $tsConds, __METHOD__ );
@@ -222,24 +247,45 @@ class ChangeTags {
         *        - if $fullForm is false: Array with
         *        - if $fullForm is true: String, html fragment
         */
-       public static function buildTagFilterSelector( $selected = '', $fullForm = false, Title $title = null ) {
+       public static function buildTagFilterSelector( $selected = '',
+               $fullForm = false, Title $title = null
+       ) {
                global $wgUseTagFilter;
 
                if ( !$wgUseTagFilter || !count( self::listDefinedTags() ) ) {
                        return $fullForm ? '' : array();
                }
 
-               $data = array( Html::rawElement( 'label', array( 'for' => 'tagfilter' ), wfMessage( 'tag-filter' )->parse() ),
-                       Xml::input( 'tagfilter', 20, $selected, array( 'class' => 'mw-tagfilter-input', 'id' => 'tagfilter' ) ) );
+               $data = array(
+                       Html::rawElement(
+                               'label',
+                               array( 'for' => 'tagfilter' ),
+                               wfMessage( 'tag-filter' )->parse()
+                       ),
+                       Xml::input(
+                               'tagfilter',
+                               20,
+                               $selected,
+                               array( 'class' => 'mw-tagfilter-input', 'id' => 'tagfilter' )
+                       )
+               );
 
                if ( !$fullForm ) {
                        return $data;
                }
 
                $html = implode( '&#160;', $data );
-               $html .= "\n" . Xml::element( 'input', array( 'type' => 'submit', 'value' => wfMessage( 'tag-filter-submit' )->text() ) );
+               $html .= "\n" .
+                       Xml::element(
+                               'input',
+                               array( 'type' => 'submit', 'value' => wfMessage( 'tag-filter-submit' )->text() )
+                       );
                $html .= "\n" . Html::hidden( 'title', $title->getPrefixedText() );
-               $html = Xml::tags( 'form', array( 'action' => $title->getLocalURL(), 'class' => 'mw-tagfilter-form', 'method' => 'get' ), $html );
+               $html = Xml::tags(
+                       'form',
+                       array( 'action' => $title->getLocalURL(), 'class' => 'mw-tagfilter-form', 'method' => 'get' ),
+                       $html
+               );
 
                return $html;
        }
index 612acb9..9a85dd4 100644 (file)
@@ -5520,9 +5520,10 @@ $wgGitBin = '/usr/bin/git';
  * @since 1.20
  */
 $wgGitRepositoryViewers = array(
-       'https://(?:[a-z0-9_]+@)?gerrit.wikimedia.org/r/(?:p/)?(.*)' => 'https://git.wikimedia.org/commit/%r/%H',
-       'ssh://(?:[a-z0-9_]+@)?gerrit.wikimedia.org:29418/(.*)'
-               => 'https://git.wikimedia.org/commit/%r/%H',
+       'https://(?:[a-z0-9_]+@)?gerrit.wikimedia.org/r/(?:p/)?(.*)' =>
+               'https://git.wikimedia.org/commit/%r/%H',
+       'ssh://(?:[a-z0-9_]+@)?gerrit.wikimedia.org:29418/(.*)' =>
+               'https://git.wikimedia.org/commit/%r/%H',
 );
 
 /** @} */ # End of maintenance }
index d4b06fe..f57fc60 100644 (file)
@@ -36,7 +36,6 @@
  * headaches, which may be fatal.
  */
 class EditPage {
-
        /**
         * Status: Article successfully updated
         */
@@ -2082,9 +2081,9 @@ class EditPage {
                }
                # Try to add a custom edit intro, or use the standard one if this is not possible.
                if ( !$this->showCustomIntro() && !$this->mTitle->exists() ) {
-                       $helpLink = Skin::makeInternalOrExternalUrl(
+                       $helpLink = wfExpandUrl( Skin::makeInternalOrExternalUrl(
                                wfMessage( 'helppage' )->inContentLanguage()->text()
-                       );
+                       ) );
                        if ( $wgUser->isLoggedIn() ) {
                                $wgOut->wrapWikiMsg(
                                        // Suppress the external link icon, consider the help url an internal one
@@ -3705,25 +3704,13 @@ HTML
                $wgOut->addReturnTo( $this->getContextTitle(), array( 'action' => 'edit' ) );
        }
 
-       /**
-        * Format an anchor fragment as it would appear for a given section name
-        * @param $text String
-        * @return String
-        * @private
-        */
-       function sectionAnchor( $text ) {
-               global $wgParser;
-               return $wgParser->guessSectionNameFromWikiText( $text );
-       }
-
        /**
         * Check if the browser is on a blacklist of user-agents known to
         * mangle UTF-8 data on form submission. Returns true if Unicode
         * should make it through, false if it's known to be a problem.
         * @return bool
-        * @private
         */
-       function checkUnicodeCompliantBrowser() {
+       private function checkUnicodeCompliantBrowser() {
                global $wgBrowserBlackList, $wgRequest;
 
                $currentbrowser = $wgRequest->getHeader( 'User-Agent' );
@@ -3744,27 +3731,14 @@ HTML
         * Filter an input field through a Unicode de-armoring process if it
         * came from an old browser with known broken Unicode editing issues.
         *
-        * @param $request WebRequest
-        * @param $field String
-        * @return String
-        * @private
-        */
-       function safeUnicodeInput( $request, $field ) {
-               $text = rtrim( $request->getText( $field ) );
-               return $request->getBool( 'safemode' )
-                       ? $this->unmakesafe( $text )
-                       : $text;
-       }
-
-       /**
-        * @param $request WebRequest
-        * @param $text string
+        * @param WebRequest $request
+        * @param string $field
         * @return string
         */
-       function safeUnicodeText( $request, $text ) {
-               $text = rtrim( $text );
+       protected function safeUnicodeInput( $request, $field ) {
+               $text = rtrim( $request->getText( $field ) );
                return $request->getBool( 'safemode' )
-                       ? $this->unmakesafe( $text )
+                       ? $this->unmakeSafe( $text )
                        : $text;
        }
 
@@ -3772,16 +3746,15 @@ HTML
         * Filter an output field through a Unicode armoring process if it is
         * going to an old browser with known broken Unicode editing issues.
         *
-        * @param $text String
-        * @return String
-        * @private
+        * @param string $text
+        * @return string
         */
-       function safeUnicodeOutput( $text ) {
+       protected function safeUnicodeOutput( $text ) {
                global $wgContLang;
                $codedText = $wgContLang->recodeForEdit( $text );
                return $this->checkUnicodeCompliantBrowser()
                        ? $codedText
-                       : $this->makesafe( $codedText );
+                       : $this->makeSafe( $codedText );
        }
 
        /**
@@ -3793,11 +3766,10 @@ HTML
         * Preexisting such character references will have a 0 added to them
         * to ensure that round-trips do not alter the original data.
         *
-        * @param $invalue String
-        * @return String
-        * @private
+        * @param string $invalue
+        * @return string
         */
-       function makesafe( $invalue ) {
+       private function makeSafe( $invalue ) {
                // Armor existing references for reversibility.
                $invalue = strtr( $invalue, array( "&#x" => "&#x0" ) );
 
@@ -3835,13 +3807,13 @@ HTML
         * back to UTF-8. Used to protect data from corruption by broken web browsers
         * as listed in $wgBrowserBlackList.
         *
-        * @param $invalue String
-        * @return String
-        * @private
+        * @param string $invalue
+        * @return string
         */
-       function unmakesafe( $invalue ) {
+       private function unmakeSafe( $invalue ) {
                $result = "";
-               for ( $i = 0; $i < strlen( $invalue ); $i++ ) {
+               $valueLength = strlen( $invalue );
+               for ( $i = 0; $i < $valueLength; $i++ ) {
                        if ( ( substr( $invalue, $i, 3 ) == "&#x" ) && ( $invalue[$i + 3] != '0' ) ) {
                                $i += 3;
                                $hexstring = "";
index 56fe452..4c0eb30 100644 (file)
@@ -594,9 +594,8 @@ class XmlDumpWriter {
         *
         * @param $row object
         * @return string
-        * @access private
         */
-       function openPage( $row ) {
+       public function openPage( $row ) {
                $out = "  <page>\n";
                $title = Title::makeTitle( $row->page_namespace, $row->page_title );
                $out .= '    ' . Xml::elementClean( 'title', array(), self::canonicalTitle( $title ) ) . "\n";
@@ -606,7 +605,9 @@ class XmlDumpWriter {
                        $page = WikiPage::factory( $title );
                        $redirect = $page->getRedirectTarget();
                        if ( $redirect instanceof Title && $redirect->isValidRedirectTarget() ) {
-                               $out .= '    ' . Xml::element( 'redirect', array( 'title' => self::canonicalTitle( $redirect ) ) ) . "\n";
+                               $out .= '    ';
+                               $out .= Xml::element( 'redirect', array( 'title' => self::canonicalTitle( $redirect ) ) );
+                               $out .= "\n";
                        }
                }
 
@@ -680,7 +681,10 @@ class XmlDumpWriter {
                                "" ) . "\n";
                }
 
-               if ( isset( $row->rev_sha1 ) && $row->rev_sha1 && !( $row->rev_deleted & Revision::DELETED_TEXT ) ) {
+               if ( isset( $row->rev_sha1 )
+                       && $row->rev_sha1
+                       && !( $row->rev_deleted & Revision::DELETED_TEXT )
+               ) {
                        $out .= "      " . Xml::element( 'sha1', null, strval( $row->rev_sha1 ) ) . "\n";
                } else {
                        $out .= "      <sha1/>\n";
@@ -813,7 +817,7 @@ class XmlDumpWriter {
        }
 
        /**
-        * @param $file File
+        * @param File $file
         * @param $dumpContents bool
         * @return string
         */
@@ -828,7 +832,7 @@ class XmlDumpWriter {
                        $be = $file->getRepo()->getBackend();
                        # Dump file as base64
                        # Uses only XML-safe characters, so does not need escaping
-                       # @TODO: too bad this loads the contents into memory (script might swap)
+                       # @todo Too bad this loads the contents into memory (script might swap)
                        $contents = '      <contents encoding="base64">' .
                                chunk_split( base64_encode(
                                        $be->getFileContents( array( 'src' => $file->getPath() ) ) ) ) .
@@ -956,7 +960,8 @@ class DumpOutput {
         * Use this for the last piece of a file written out
         * at specified checkpoints (e.g. every n hours).
         * @param $newname mixed File name. May be a string or an array with one element
-        * @param bool $open If true, a new file with the old filename will be opened again for writing (default: false)
+        * @param bool $open If true, a new file with the old filename will be opened
+        *   again for writing (default: false)
         */
        function closeAndRename( $newname, $open = false ) {
        }
index f0b0a8d..3727f16 100644 (file)
@@ -177,11 +177,12 @@ function wfAppendToArrayIfNotDefault( $key, $value, $default, &$changed ) {
  * XXX: will not darn your socks for you.
  *
  * @deprecated since 1.22; use array_replace()
- * @param $array1 Array
- * @param [$array2, [...]] Arrays
- * @return Array
+ *
+ * @param array $array1 Initial array to merge.
+ * @param array [$array2,...] Variable list of arrays to merge.
+ * @return array
  */
-function wfArrayMerge( $array1/* ... */ ) {
+function wfArrayMerge( $array1 /*...*/ ) {
        wfDeprecated( __FUNCTION__, '1.22' );
        $args = func_get_args();
        $args = array_reverse( $args, true );
@@ -207,8 +208,9 @@ function wfArrayMerge( $array1/* ... */ ) {
  *             array( 'x' ),
  *             array( 'y' )
  *     )
- * @param varargs
- * @return Array
+ *
+ * @param array [$array1,...]
+ * @return array
  */
 function wfMergeErrorArrays( /*...*/ ) {
        $args = func_get_args();
@@ -407,7 +409,7 @@ function wfArrayToCgi( $array1, $array2 = null, $prefix = '' ) {
  * arrays.  Of course, keys and values are urldecode()d.
  *
  * @param string $query query string
- * @return array Array version of input
+ * @return string[] Array version of input
  */
 function wfCgiToArray( $query ) {
        if ( isset( $query[0] ) && $query[0] == '?' ) {
@@ -452,8 +454,8 @@ function wfCgiToArray( $query ) {
  * Append a query string to an existing URL, which may or may not already
  * have query string parameters already. If so, they will be combined.
  *
- * @param $url String
- * @param $query Mixed: string or associative array
+ * @param string $url
+ * @param string|string[] $query String or associative array
  * @return string
  */
 function wfAppendQuery( $url, $query ) {
@@ -750,7 +752,7 @@ function wfUrlProtocolsWithoutProtRel() {
  * 3) Adds a "delimiter" element to the array, either '://', ':' or '//' (see (2)).
  *
  * @param string $url a URL to parse
- * @return Array: bits of the URL in an associative array, per PHP docs
+ * @return string[] Bits of the URL in an associative array, per PHP docs
  */
 function wfParseUrl( $url ) {
        global $wgUrlProtocols; // Allow all protocols defined in DefaultSettings/LocalSettings.php
@@ -1381,12 +1383,15 @@ function wfGetLangObj( $langcode = false ) {
  *
  * This function replaces all old wfMsg* functions.
  *
- * @param $key \string Message key.
- * Varargs: normal message parameters.
+ * @param string $key Message key
+ * @param mixed [$params,...] Normal message parameters
  * @return Message
+ *
  * @since 1.17
+ *
+ * @see Message::__construct
  */
-function wfMessage( $key /*...*/) {
+function wfMessage( $key /*...*/ ) {
        $params = func_get_args();
        array_shift( $params );
        if ( isset( $params[0] ) && is_array( $params[0] ) ) {
@@ -1399,9 +1404,13 @@ function wfMessage( $key /*...*/) {
  * This function accepts multiple message keys and returns a message instance
  * for the first message which is non-empty. If all messages are empty then an
  * instance of the first message key is returned.
- * @param varargs: message keys
+ *
+ * @param string|string[] [$keys,...] Message keys
  * @return Message
+ *
  * @since 1.18
+ *
+ * @see Message::newFallbackSequence
  */
 function wfMessageFallback( /*...*/ ) {
        $args = func_get_args();
@@ -1520,11 +1529,11 @@ function wfMsgForContentNoTrans( $key ) {
  * @deprecated since 1.18
  *
  * @param string $key key to get.
- * @param $args
- * @param $useDB Boolean
- * @param $forContent Mixed: Language code, or false for user lang, true for content lang.
- * @param $transform Boolean: Whether or not to transform the message.
- * @return String: the requested message.
+ * @param array $args
+ * @param bool $useDB
+ * @param string|bool $forContent Language code, or false for user lang, true for content lang.
+ * @param bool $transform Whether or not to transform the message.
+ * @return string The requested message.
  */
 function wfMsgReal( $key, $args, $useDB = true, $forContent = false, $transform = true ) {
        wfDeprecated( __METHOD__, '1.21' );
@@ -1541,11 +1550,11 @@ function wfMsgReal( $key, $args, $useDB = true, $forContent = false, $transform
  *
  * @deprecated since 1.18
  *
- * @param $key String
- * @param $useDB Bool
- * @param string $langCode Code of the language to get the message for, or
+ * @param string $key
+ * @param bool $useDB
+ * @param string|bool $langCode Code of the language to get the message for, or
  *                  behaves as a content language switch if it is a boolean.
- * @param $transform Boolean: whether to parse magic words, etc.
+ * @param bool $transform Whether to parse magic words, etc.
  * @return string
  */
 function wfMsgGetKey( $key, $useDB = true, $langCode = false, $transform = true ) {
@@ -1566,8 +1575,8 @@ function wfMsgGetKey( $key, $useDB = true, $langCode = false, $transform = true
 /**
  * Replace message parameter keys on the given formatted output.
  *
- * @param $message String
- * @param $args Array
+ * @param string $message
+ * @param array $args
  * @return string
  * @private
  */
@@ -1600,8 +1609,8 @@ function wfMsgReplaceArgs( $message, $args ) {
  *
  * @deprecated since 1.18
  *
- * @param $key String
- * @param string ... parameters
+ * @param string $key
+ * @param string [$args,...] Parameters
  * @return string
  */
 function wfMsgHtml( $key ) {
@@ -1621,8 +1630,8 @@ function wfMsgHtml( $key ) {
  *
  * @deprecated since 1.18
  *
- * @param $key String
- * @param string ... parameters
+ * @param string $key
+ * @param string [$args,...] Parameters
  * @return string
  */
 function wfMsgWikiHtml( $key ) {
@@ -1738,8 +1747,8 @@ function wfMsgExt( $key, $options ) {
  *
  * @deprecated since 1.18. Use Message::isDisabled().
  *
- * @param $key      String: the message key looked up
- * @return Boolean True if the message *doesn't* exist.
+ * @param string $key The message key looked up
+ * @return bool True if the message *doesn't* exist.
  */
 function wfEmptyMsg( $key ) {
        wfDeprecated( __METHOD__, '1.21' );
@@ -1961,9 +1970,9 @@ function wfFormatStackFrame( $frame ) {
 /**
  * @todo document
  *
- * @param $offset Int
- * @param $limit Int
- * @return String
+ * @param int $offset
+ * @param int $limit
+ * @return string
  */
 function wfShowingResults( $offset, $limit ) {
        return wfMessage( 'showingresults' )->numParams( $limit, $offset + 1 )->parse();
@@ -1972,12 +1981,12 @@ function wfShowingResults( $offset, $limit ) {
 /**
  * Generate (prev x| next x) (20|50|100...) type links for paging
  *
- * @param $offset String
- * @param $limit Integer
- * @param $link String
+ * @param string $offset
+ * @param int $limit
+ * @param string $link
  * @param string $query optional URL query parameter string
  * @param bool $atend optional param for specified if this is the last page
- * @return String
+ * @return string
  * @deprecated in 1.19; use Language::viewPrevNext() instead
  */
 function wfViewPrevNext( $offset, $limit, $link, $query = '', $atend = false ) {
@@ -2003,7 +2012,7 @@ function wfViewPrevNext( $offset, $limit, $link, $query = '', $atend = false ) {
  * @todo document
  * @todo FIXME: We may want to blacklist some broken browsers
  *
- * @param $force Bool
+ * @param bool $force
  * @return bool Whereas client accept gzip compression
  */
 function wfClientAcceptsGzip( $force = false ) {
@@ -2255,9 +2264,9 @@ function wfClearOutputBuffers() {
  * Converts an Accept-* header into an array mapping string values to quality
  * factors
  *
- * @param $accept String
+ * @param string $accept
  * @param string $def default
- * @return Array
+ * @return float[] Associative array of string => float pairs
  */
 function wfAcceptToPrefs( $accept, $def = '*/*' ) {
        # No arg means accept anything (per HTTP spec)
@@ -2290,8 +2299,8 @@ function wfAcceptToPrefs( $accept, $def = '*/*' ) {
  * Returns the matching MIME type (or wildcard) if a match, otherwise
  * NULL if no match.
  *
- * @param $type String
- * @param $avail Array
+ * @param string $type
+ * @param array $avail
  * @return string
  * @private
  */
@@ -2474,9 +2483,9 @@ function wfTimestamp( $outputtype = TS_UNIX, $ts = 0 ) {
  * Return a formatted timestamp, or null if input is null.
  * For dealing with nullable timestamp columns in the database.
  *
- * @param $outputtype Integer
- * @param $ts String
- * @return String
+ * @param int $outputtype
+ * @param string $ts
+ * @return string
  */
 function wfTimestampOrNull( $outputtype = TS_UNIX, $ts = null ) {
        if ( is_null( $ts ) ) {
@@ -2499,7 +2508,7 @@ function wfTimestampNow() {
 /**
  * Check if the operating system is Windows
  *
- * @return Bool: true if it's Windows, False otherwise.
+ * @return bool True if it's Windows, false otherwise.
  */
 function wfIsWindows() {
        static $isWindows = null;
@@ -2512,7 +2521,7 @@ function wfIsWindows() {
 /**
  * Check if we are running under HHVM
  *
- * @return Bool
+ * @return bool
  */
 function wfIsHHVM() {
        return defined( 'HHVM_VERSION' );
@@ -2521,8 +2530,8 @@ function wfIsHHVM() {
 /**
  * Swap two variables
  *
- * @param $x Mixed
- * @param $y Mixed
+ * @param mixed $x
+ * @param mixed $y
  */
 function swap( &$x, &$y ) {
        $z = $x;
@@ -2539,7 +2548,7 @@ function swap( &$x, &$y ) {
  * NOTE: When possible, use instead the tmpfile() function to create
  * temporary files to avoid race conditions on file creation, etc.
  *
- * @return String
+ * @return string
  */
 function wfTempDir() {
        global $wgTmpDirectory;
@@ -2562,7 +2571,7 @@ function wfTempDir() {
  * Make directory, and make all parent directories if they don't exist
  *
  * @param string $dir full path to directory to create
- * @param $mode Integer: chmod value to use, default is $wgDirectoryMode
+ * @param int $mode Chmod value to use, default is $wgDirectoryMode
  * @param string $caller optional caller param for debugging.
  * @throws MWException
  * @return bool
@@ -2629,10 +2638,10 @@ function wfRecursiveRemoveDir( $dir ) {
 }
 
 /**
- * @param $nr Mixed: the number to format
- * @param $acc Integer: the number of digits after the decimal point, default 2
- * @param $round Boolean: whether or not to round the value, default true
- * @return float
+ * @param number $nr The number to format
+ * @param int $acc The number of digits after the decimal point, default 2
+ * @param bool $round Whether or not to round the value, default true
+ * @return string
  */
 function wfPercent( $nr, $acc = 2, $round = true ) {
        $ret = sprintf( "%.${acc}f", $nr );
@@ -2659,8 +2668,8 @@ function wfPercent( $nr, $acc = 2, $round = true ) {
  *
  * I frickin' hate PHP... :P
  *
- * @param $setting String
- * @return Bool
+ * @param string $setting
+ * @return bool
  */
 function wfIniGetBool( $setting ) {
        $val = strtolower( ini_get( $setting ) );
@@ -2679,10 +2688,10 @@ function wfIniGetBool( $setting ) {
  * Also fixes the locale problems on Linux in PHP 5.2.6+ (bug backported to
  * earlier distro releases of PHP)
  *
- * @param varargs
- * @return String
+ * @param string [$args,...]
+ * @return string
  */
-function wfEscapeShellArg() {
+function wfEscapeShellArg( /*...*/ ) {
        wfInitShellLocale();
 
        $args = func_get_args();
@@ -2739,6 +2748,7 @@ function wfEscapeShellArg() {
 
 /**
  * Check if wfShellExec() is effectively disabled via php.ini config
+ *
  * @return bool|string False or one of (safemode,disabled)
  * @since 1.22
  */
@@ -2765,6 +2775,7 @@ function wfShellExecDisabled() {
 /**
  * Execute a shell command, with time and memory limits mirrored from the PHP
  * configuration if supported.
+ *
  * @param string $cmd Command line, properly escaped for shell.
  * @param &$retval null|Mixed optional, will receive the program's exit code.
  *                 (non-zero is usually failure). If there is an error from
@@ -3027,6 +3038,7 @@ function wfInitShellLocale() {
 
 /**
  * Alias to wfShellWikiCmd()
+ *
  * @see wfShellWikiCmd()
  */
 function wfShellMaintenanceCmd( $script, array $parameters = array(), array $options = array() ) {
@@ -3037,12 +3049,13 @@ function wfShellMaintenanceCmd( $script, array $parameters = array(), array $opt
  * Generate a shell-escaped command line string to run a MediaWiki cli script.
  * Note that $parameters should be a flat array and an option with an argument
  * should consist of two consecutive items in the array (do not use "--option value").
+ *
  * @param string $script MediaWiki cli script path
  * @param array $parameters Arguments and options to the script
  * @param array $options Associative array of options:
  *             'php': The path to the php executable
  *             'wrapper': Path to a PHP wrapper to handle the maintenance script
- * @return Array
+ * @return string
  */
 function wfShellWikiCmd( $script, array $parameters = array(), array $options = array() ) {
        global $wgPhpCli;
@@ -3062,11 +3075,11 @@ function wfShellWikiCmd( $script, array $parameters = array(), array $options =
  * wfMerge attempts to merge differences between three texts.
  * Returns true for a clean merge and false for failure or a conflict.
  *
- * @param $old String
- * @param $mine String
- * @param $yours String
- * @param $result String
- * @return Bool
+ * @param string $old
+ * @param string $mine
+ * @param string $yours
+ * @param string $result
+ * @return bool
  */
 function wfMerge( $old, $mine, $yours, &$result ) {
        global $wgDiff3;
@@ -3144,7 +3157,7 @@ function wfMerge( $old, $mine, $yours, &$result ) {
  * @param string $before the text before the changes.
  * @param string $after the text after the changes.
  * @param string $params command-line options for the diff command.
- * @return String: unified diff of $before and $after
+ * @return string Unified diff of $before and $after
  */
 function wfDiff( $before, $after, $params = '-u' ) {
        if ( $before == $after ) {
@@ -3221,7 +3234,7 @@ function wfDiff( $before, $after, $params = '-u' ) {
  *
  * @see perldoc -f use
  *
- * @param $req_ver Mixed: the version to check, can be a string, an integer, or
+ * @param string|number $req_ver The version to check, can be a string, an integer, or
  *                 a float
  * @throws MWException
  */
@@ -3251,7 +3264,7 @@ function wfUsePHP( $req_ver ) {
  *
  * @see perldoc -f use
  *
- * @param $req_ver Mixed: the version to check, can be a string, an integer, or
+ * @param string|number $req_ver The version to check, can be a string, an integer, or
  *                 a float
  * @throws MWException
  */
@@ -3271,9 +3284,9 @@ function wfUseMW( $req_ver ) {
  * PHP's basename() only considers '\' a pathchar on Windows and Netware.
  * We'll consider it so always, as we don't want '\s' in our Unix paths either.
  *
- * @param $path String
+ * @param string $path
  * @param string $suffix to remove if present
- * @return String
+ * @return string
  */
 function wfBaseName( $path, $suffix = '' ) {
        if ( $suffix == '' ) {
@@ -3297,7 +3310,7 @@ function wfBaseName( $path, $suffix = '' ) {
  *
  * @param string $path absolute destination path including target filename
  * @param string $from Absolute source path, directory only
- * @return String
+ * @return string
  */
 function wfRelativePath( $path, $from ) {
        // Normalize mixed input on Windows...
@@ -3443,6 +3456,7 @@ function wfBaseConvert( $input, $sourceBase, $destBase, $pad = 1,
 
 /**
  * Check if there is sufficient entropy in php's built-in session generation
+ *
  * @return bool true = there is sufficient entropy
  */
 function wfCheckEntropy() {
@@ -3480,6 +3494,7 @@ function wfFixSessionID() {
 
 /**
  * Reset the session_id
+ *
  * @since 1.22
  */
 function wfResetSessionID() {
@@ -3501,7 +3516,7 @@ function wfResetSessionID() {
 /**
  * Initialise php session
  *
- * @param $sessionId Bool
+ * @param bool $sessionId
  */
 function wfSetupSession( $sessionId = false ) {
        global $wgSessionsInMemcached, $wgSessionsInObjectCache, $wgCookiePath, $wgCookieDomain,
@@ -3513,14 +3528,6 @@ function wfSetupSession( $sessionId = false ) {
                # hasn't already been set to the desired value (that causes errors)
                ini_set( 'session.save_handler', $wgSessionHandler );
        }
-       wfDebugLog( 'cookie',
-               'session_set_cookie_params: "' . implode( '", "',
-                       array(
-                               0,
-                               $wgCookiePath,
-                               $wgCookieDomain,
-                               $wgCookieSecure,
-                               $wgCookieHttpOnly ) ) . '"' );
        session_set_cookie_params(
                0, $wgCookiePath, $wgCookieDomain, $wgCookieSecure, $wgCookieHttpOnly );
        session_cache_limiter( 'private, must-revalidate' );
@@ -3537,8 +3544,8 @@ function wfSetupSession( $sessionId = false ) {
 /**
  * Get an object from the precompiled serialized directory
  *
- * @param $name String
- * @return Mixed: the variable on success, false on failure
+ * @param string $name
+ * @return mixed The variable on success, false on failure
  */
 function wfGetPrecompiledData( $name ) {
        global $IP;
@@ -3556,10 +3563,10 @@ function wfGetPrecompiledData( $name ) {
 /**
  * Get a cache key
  *
- * @param varargs
- * @return String
+ * @param string [$args,...]
+ * @return string
  */
-function wfMemcKey( /*... */ ) {
+function wfMemcKey( /*...*/ ) {
        global $wgCachePrefix;
        $prefix = $wgCachePrefix === false ? wfWikiID() : $wgCachePrefix;
        $args = func_get_args();
@@ -3571,12 +3578,12 @@ function wfMemcKey( /*... */ ) {
 /**
  * Get a cache key for a foreign DB
  *
- * @param $db String
- * @param $prefix String
- * @param varargs String
- * @return String
+ * @param string $db
+ * @param string $prefix
+ * @param string [$args,...]
+ * @return string
  */
-function wfForeignMemcKey( $db, $prefix /*, ... */ ) {
+function wfForeignMemcKey( $db, $prefix /*...*/ ) {
        $args = array_slice( func_get_args(), 2 );
        if ( $prefix ) {
                $key = "$db-$prefix:" . implode( ':', $args );
@@ -3590,7 +3597,7 @@ function wfForeignMemcKey( $db, $prefix /*, ... */ ) {
  * Get an ASCII string identifying this wiki
  * This is used as a prefix in memcached keys
  *
- * @return String
+ * @return string
  */
 function wfWikiID() {
        global $wgDBprefix, $wgDBname;
@@ -3604,7 +3611,7 @@ function wfWikiID() {
 /**
  * Split a wiki ID into DB name and table prefix
  *
- * @param $wiki String
+ * @param string $wiki
  *
  * @return array
  */
@@ -3619,15 +3626,15 @@ function wfSplitWikiID( $wiki ) {
 /**
  * Get a Database object.
  *
- * @param $db Integer: index of the connection to get. May be DB_MASTER for the
+ * @param int $db Index of the connection to get. May be DB_MASTER for the
  *            master (for write queries), DB_SLAVE for potentially lagged read
  *            queries, or an integer >= 0 for a particular server.
  *
- * @param $groups Mixed: query groups. An array of group names that this query
+ * @param string|string[] $groups Query groups. An array of group names that this query
  *                belongs to. May contain a single string if the query is only
  *                in one group.
  *
- * @param string $wiki the wiki ID, or false for the current wiki
+ * @param string|bool $wiki The wiki ID, or false for the current wiki
  *
  * Note: multiple calls to wfGetDB(DB_SLAVE) during the course of one request
  * will always return the same object, unless the underlying connection or load
@@ -3645,7 +3652,7 @@ function &wfGetDB( $db, $groups = array(), $wiki = false ) {
 /**
  * Get a load balancer object.
  *
- * @param string $wiki wiki ID, or false for the current wiki
+ * @param string|bool $wiki wiki ID, or false for the current wiki
  * @return LoadBalancer
  */
 function wfGetLB( $wiki = false ) {
@@ -3689,7 +3696,7 @@ function wfFindFile( $title, $options = array() ) {
  * Get an object referring to a locally registered file.
  * Returns a valid placeholder object if the file does not exist.
  *
- * @param $title Title|String
+ * @param Title|string $title
  * @return LocalFile|null A File, or null if passed an invalid Title
  */
 function wfLocalFile( $title ) {
@@ -3699,7 +3706,7 @@ function wfLocalFile( $title ) {
 /**
  * Should low-performance queries be disabled?
  *
- * @return Boolean
+ * @return bool
  * @codeCoverageIgnore
  */
 function wfQueriesMustScale() {
@@ -3716,7 +3723,7 @@ function wfQueriesMustScale() {
  * except for 'index' and 'load' which use $wgScript/$wgLoadScript
  *
  * @param string $script script filename, sans extension
- * @return String
+ * @return string
  */
 function wfScript( $script = 'index' ) {
        global $wgScriptPath, $wgScriptExtension, $wgScript, $wgLoadScript;
@@ -3756,8 +3763,8 @@ function wfGetScriptUrl() {
  * Convenience function converts boolean values into "true"
  * or "false" (string) values
  *
- * @param $value Boolean
- * @return String
+ * @param bool $value
+ * @return string
  */
 function wfBoolToStr( $value ) {
        return $value ? 'true' : 'false';
@@ -3780,7 +3787,7 @@ function wfGetNull() {
  * a no-op if there are no slaves.
  *
  * @param int|bool $maxLag (deprecated)
- * @param mixed $wiki Wiki identifier accepted by wfGetLB
+ * @param string|bool $wiki Wiki identifier accepted by wfGetLB
  * @param string|bool $cluster Cluster name accepted by LBFactory. Default: false.
  */
 function wfWaitForSlaves( $maxLag = false, $wiki = false, $cluster = false ) {
@@ -3804,14 +3811,15 @@ function wfWaitForSlaves( $maxLag = false, $wiki = false, $cluster = false ) {
 }
 
 /**
- * Count down from $n to zero on the terminal, with a one-second pause
+ * Count down from $seconds to zero on the terminal, with a one-second pause
  * between showing each number. For use in command-line scripts.
+ *
  * @codeCoverageIgnore
- * @param $n int
+ * @param int $seconds
  */
-function wfCountDown( $n ) {
-       for ( $i = $n; $i >= 0; $i-- ) {
-               if ( $i != $n ) {
+function wfCountDown( $seconds ) {
+       for ( $i = $seconds; $i >= 0; $i-- ) {
+               if ( $i != $seconds ) {
                        echo str_repeat( "\x08", strlen( $i + 1 ) );
                }
                echo $i;
@@ -3828,8 +3836,8 @@ function wfCountDown( $n ) {
  * Additional characters can be defined in $wgIllegalFileChars (see bug 20489)
  * By default, $wgIllegalFileChars = ':'
  *
- * @param $name Mixed: filename to process
- * @return String
+ * @param string $name Filename to process
+ * @return string
  */
 function wfStripIllegalFilenameChars( $name ) {
        global $wgIllegalFileChars;
@@ -3846,7 +3854,7 @@ function wfStripIllegalFilenameChars( $name ) {
 /**
  * Set PHP's memory limit to the larger of php.ini or $wgMemoryLimit;
  *
- * @return Integer value memory was set to.
+ * @return int Value the memory limit was set to.
  */
 function wfMemoryLimit() {
        global $wgMemoryLimit;
@@ -3873,8 +3881,8 @@ function wfMemoryLimit() {
 /**
  * Converts shorthand byte notation to integer form
  *
- * @param $string String
- * @return Integer
+ * @param string $string
+ * @return int
  */
 function wfShorthandToInteger( $string = '' ) {
        $string = trim( $string );
@@ -3905,7 +3913,7 @@ function wfShorthandToInteger( $string = '' ) {
  * See unit test for examples.
  *
  * @param string $code The language code.
- * @return String: The language code which complying with BCP 47 standards.
+ * @return string The language code which complying with BCP 47 standards.
  */
 function wfBCP47( $code ) {
        $codeSegment = explode( '-', $code );
@@ -3986,7 +3994,7 @@ function wfGetLangConverterCacheStorage() {
  * @param array $args parameters passed to hook functions
  * @param string|null $deprecatedVersion optionally mark hook as deprecated with version number
  *
- * @return Boolean True if no handler aborted the hook
+ * @return bool True if no handler aborted the hook
  */
 function wfRunHooks( $event, array $args = array(), $deprecatedVersion = null ) {
        return Hooks::run( $event, $args, $deprecatedVersion );
@@ -3996,8 +4004,8 @@ function wfRunHooks( $event, array $args = array(), $deprecatedVersion = null )
  * Wrapper around php's unpack.
  *
  * @param string $format The format string (See php's docs)
- * @param $data: A binary string of binary data
- * @param $length integer or false: The minimum length of $data. This is to
+ * @param string $data A binary string of binary data
+ * @param int|bool $length The minimum length of $data or false. This is to
  *     prevent reading beyond the end of $data. false to disable the check.
  *
  * Also be careful when using this function to read unsigned 32 bit integer
@@ -4038,7 +4046,7 @@ function wfUnpack( $format, $data, $length = false ) {
  *      i.e. articles where the image may occur inline.
  *
  * @param string $name the image name to check
- * @param $contextTitle Title|bool the page on which the image occurs, if known
+ * @param Title|bool $contextTitle The page on which the image occurs, if known
  * @param string $blacklist wikitext of a file blacklist
  * @return bool
  */
@@ -4140,7 +4148,7 @@ function wfGetIP() {
  * Useful to tell if X-Forwarded-For data is possibly bogus.
  * Squid cache servers for the site are whitelisted.
  *
- * @param $ip String
+ * @param string $ip
  * @return bool
  */
 function wfIsTrustedProxy( $ip ) {
@@ -4151,7 +4159,8 @@ function wfIsTrustedProxy( $ip ) {
 
 /**
  * Checks if an IP matches a proxy we've configured.
- * @param $ip String
+ *
+ * @param string $ip
  * @return bool
  * @since 1.23 Supports CIDR ranges in $wgSquidServersNoPurge
  */
index 9cba0cc..8542904 100644 (file)
@@ -257,10 +257,15 @@ class OutputPage extends ContextSource {
        private $mTarget = null;
 
        /**
-        * @var bool: Whether output should contain table of contents
+        * @var bool: Whether parser output should contain table of contents
         */
        private $mEnableTOC = true;
 
+       /**
+        * @var bool: Whether parser output should contain section edit links
+        */
+       private $mEnableSectionEditLinks = true;
+
        /**
         * Constructor for OutputPage. This should not be called directly.
         * Instead a new RequestContext should be created and it will implicitly create
@@ -1613,6 +1618,11 @@ class OutputPage extends ContextSource {
        function addParserOutput( &$parserOutput ) {
                $this->addParserOutputNoText( $parserOutput );
                $parserOutput->setTOCEnabled( $this->mEnableTOC );
+
+               // Touch section edit links only if not previously disabled
+               if ( $parserOutput->getEditSectionTokens() ) {
+                       $parserOutput->setEditSectionTokens( $this->mEnableSectionEditLinks );
+               }
                $text = $parserOutput->getText();
                wfRunHooks( 'OutputPageBeforeHTML', array( &$this, &$text ) );
                $this->addHTML( $text );
@@ -3691,4 +3701,21 @@ $templates
        public function isTOCEnabled() {
                return $this->mEnableTOC;
        }
+
+       /**
+        * Enables/disables section edit links, doesn't override __NOEDITSECTION__
+        * @param bool $flag
+        * @since 1.23
+        */
+       public function enableSectionEditLinks( $flag = true ) {
+               $this->mEnableSectionEditLinks = $flag;
+       }
+
+       /**
+        * @return bool
+        * @since 1.23
+        */
+       public function sectionEditLinksEnabled() {
+               return $this->mEnableSectionEditLinks;
+       }
 }
index 4bf8fd3..6cf718c 100644 (file)
@@ -655,7 +655,10 @@ class MediaWiki {
                        $info['host'],
                        isset( $info['port'] ) ? $info['port'] : 80,
                        $errno,
-                       $errstr
+                       $errstr,
+                       // If it takes more than 100ms to connect to ourselves there
+                       // is a problem elsewhere.
+                       0.1
                );
                wfRestoreWarnings();
                if ( !$sock ) {
index b4aa303..af74f47 100644 (file)
@@ -104,9 +104,10 @@ class WikiPage implements Page, IDBAccessObject {
        /**
         * Create a WikiPage object of the appropriate class for the given title.
         *
-        * @param $title Title
+        * @param Title $title
+        *
         * @throws MWException
-        * @return WikiPage object of the appropriate type
+        * @return WikiPage Object of the appropriate type
         */
        public static function factory( Title $title ) {
                $ns = $title->getNamespace();
@@ -1468,12 +1469,13 @@ class WikiPage implements Page, IDBAccessObject {
        }
 
        /**
-        * @param $section null|bool|int or a section number (0, 1, 2, T1, T2...)
-        * @param string $text new text of the section
-        * @param string $sectionTitle new section's subject, only if $section is 'new'
-        * @param string $edittime revision timestamp or null to use the current revision
+        * @param mixed $section Null/false, a section number (0, 1, 2, T1, T2, ...) or "new".
+        * @param string $text New text of the section.
+        * @param string $sectionTitle New section's subject, only if $section is "new".
+        * @param string $edittime Revision timestamp or null to use the current revision.
+        *
         * @throws MWException
-        * @return String new complete article text, or null if error
+        * @return string New complete article text, or null if error.
         *
         * @deprecated since 1.21, use replaceSectionContent() instead
         */
@@ -1486,13 +1488,15 @@ class WikiPage implements Page, IDBAccessObject {
                }
 
                if ( !$this->supportsSections() ) {
-                       throw new MWException( "sections not supported for content model " . $this->getContentHandler()->getModelID() );
+                       throw new MWException( "sections not supported for content model " .
+                               $this->getContentHandler()->getModelID() );
                }
 
                // could even make section title, but that's not required.
                $sectionContent = ContentHandler::makeContent( $text, $this->getTitle() );
 
-               $newContent = $this->replaceSectionContent( $section, $sectionContent, $sectionTitle, $edittime );
+               $newContent = $this->replaceSectionContent( $section, $sectionContent, $sectionTitle,
+                       $edittime );
 
                return ContentHandler::getContentText( $newContent );
        }
@@ -1500,7 +1504,7 @@ class WikiPage implements Page, IDBAccessObject {
        /**
         * Returns true if this page's content model supports sections.
         *
-        * @return boolean whether sections are supported.
+        * @return bool
         *
         * @todo The skin should check this and not offer section functionality if sections are not supported.
         * @todo The EditPage should check this and not offer section functionality if sections are not supported.
@@ -1510,17 +1514,18 @@ class WikiPage implements Page, IDBAccessObject {
        }
 
        /**
-        * @param $section null|bool|int or a section number (0, 1, 2, T1, T2...)
-        * @param $sectionContent Content: new content of the section
-        * @param string $sectionTitle new section's subject, only if $section is 'new'
-        * @param string $edittime revision timestamp or null to use the current revision
+        * @param mixed $section Null/false, a section number (0, 1, 2, T1, T2, ...) or "new".
+        * @param Content $sectionContent New content of the section.
+        * @param string $sectionTitle New section's subject, only if $section is "new".
+        * @param string $edittime Revision timestamp or null to use the current revision.
         *
         * @throws MWException
-        * @return Content new complete article content, or null if error
+        * @return Content New complete article content, or null if error.
         *
         * @since 1.21
         */
-       public function replaceSectionContent( $section, Content $sectionContent, $sectionTitle = '', $edittime = null ) {
+       public function replaceSectionContent( $section, Content $sectionContent, $sectionTitle = '',
+               $edittime = null ) {
                wfProfileIn( __METHOD__ );
 
                if ( strval( $section ) == '' ) {
@@ -1529,7 +1534,8 @@ class WikiPage implements Page, IDBAccessObject {
                } else {
                        if ( !$this->supportsSections() ) {
                                wfProfileOut( __METHOD__ );
-                               throw new MWException( "sections not supported for content model " . $this->getContentHandler()->getModelID() );
+                               throw new MWException( "sections not supported for content model " .
+                                       $this->getContentHandler()->getModelID() );
                        }
 
                        // Bug 30711: always use current version when adding a new section
@@ -2612,9 +2618,11 @@ class WikiPage implements Page, IDBAccessObject {
        /**
         * Take an array of page restrictions and flatten it to a string
         * suitable for insertion into the page_restrictions field.
-        * @param $limit Array
+        *
+        * @param string[] $limit
+        *
         * @throws MWException
-        * @return String
+        * @return string
         */
        protected static function flattenRestrictions( $limit ) {
                if ( !is_array( $limit ) ) {
index fcaaf10..a2a15e0 100644 (file)
@@ -72,7 +72,6 @@ class ApiQuerySearch extends ApiQueryGeneratorBase {
                        SearchEngine::create( $params['backend'] ) : SearchEngine::create();
                $search->setLimitOffset( $limit + 1, $params['offset'] );
                $search->setNamespaces( $params['namespace'] );
-               $search->showRedirects = $params['redirects'];
 
                $query = $search->transformSearchTerm( $query );
                $query = $search->replacePrefixes( $query );
@@ -299,7 +298,6 @@ class ApiQuerySearch extends ApiQueryGeneratorBase {
                                ),
                                ApiBase::PARAM_ISMULTI => true,
                        ),
-                       'redirects' => false,
                        'offset' => 0,
                        'limit' => array(
                                ApiBase::PARAM_DFLT => 10,
@@ -345,7 +343,6 @@ class ApiQuerySearch extends ApiQueryGeneratorBase {
                                ' sectiontitle     - Adds the title of the matching section',
                                ' hasrelated       - Indicates whether a related search is available',
                        ),
-                       'redirects' => 'Include redirect pages in the search',
                        'offset' => 'Use this value to continue paging (return by query)',
                        'limit' => 'How many total pages to return',
                        'interwiki' => 'Include interwiki results in the search, if available'
index 950baea..c19a51d 100644 (file)
@@ -1066,16 +1066,17 @@ abstract class File {
 
        /**
         * @param string $thumbName Thumbnail name
+        * @param string $dispositionType Type of disposition (either "attachment" or "inline")
         * @return string Content-Disposition header value
         */
-       function getThumbDisposition( $thumbName ) {
+       function getThumbDisposition( $thumbName, $dispositionType = 'inline' ) {
                $fileName = $this->name; // file name to suggest
                $thumbExt = FileBackend::extensionFromPath( $thumbName );
                if ( $thumbExt != '' && $thumbExt !== $this->getExtension() ) {
                        $fileName .= ".$thumbExt";
                }
 
-               return FileBackend::makeContentDisposition( 'inline', $fileName );
+               return FileBackend::makeContentDisposition( $dispositionType, $fileName );
        }
 
        /**
index 4a27692..217142c 100644 (file)
@@ -142,7 +142,7 @@ abstract class BagOStuff {
         * @return bool success
         */
        protected function mergeViaLock( $key, closure $callback, $exptime = 0, $attempts = 10 ) {
-               if ( !$this->lock( $key, 60 ) ) {
+               if ( !$this->lock( $key, 6 ) ) {
                        return false;
                }
 
@@ -168,7 +168,7 @@ abstract class BagOStuff {
         * @param $timeout integer [optional]
         * @return bool success
         */
-       public function lock( $key, $timeout = 60 ) {
+       public function lock( $key, $timeout = 6 ) {
                $timestamp = microtime( true ); // starting UNIX timestamp
                if ( $this->add( "{$key}:lock", 1, $timeout ) ) {
                        return true;
index b90ca44..0d9ef78 100644 (file)
@@ -142,11 +142,8 @@ class ResourceLoaderContext {
         */
        public function getLanguage() {
                if ( $this->language === null ) {
-                       global $wgLang;
-                       $this->language = $this->request->getVal( 'lang' );
-                       if ( !$this->language ) {
-                               $this->language = $wgLang->getCode();
-                       }
+                       // Must be a valid language code after this point (bug 62849)
+                       $this->language = RequestContext::sanitizeLangCode( $this->request->getVal( 'lang' ) );
                }
                return $this->language;
        }
@@ -158,7 +155,7 @@ class ResourceLoaderContext {
                if ( $this->direction === null ) {
                        $this->direction = $this->request->getVal( 'dir' );
                        if ( !$this->direction ) {
-                               # directionality based on user language (see bug 6100)
+                               // Determine directionality based on user language (bug 6100)
                                $this->direction = Language::factory( $this->getLanguage() )->getDir();
                        }
                }
index b4f57c1..b11d6c8 100644 (file)
@@ -27,6 +27,7 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule {
        /* Protected Members */
 
        protected $modifiedTime = array();
+       protected $configVars = array();
        protected $targets = array( 'desktop', 'mobile' );
 
        /* Protected Methods */
@@ -36,6 +37,12 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule {
         * @return array
         */
        protected function getConfig( $context ) {
+
+               $hash = $context->getHash();
+               if ( isset( $this->configVars[$hash] ) ) {
+                       return $this->configVars[$hash];
+               }
+
                global $wgLoadScript, $wgScript, $wgStylePath, $wgScriptExtension,
                        $wgArticlePath, $wgScriptPath, $wgServer, $wgContLang,
                        $wgVariantArticlePath, $wgActionPaths, $wgVersion,
@@ -106,7 +113,8 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule {
 
                wfRunHooks( 'ResourceLoaderGetConfigVars', array( &$vars ) );
 
-               return $vars;
+               $this->configVars[$hash] = $vars;
+               return $this->configVars[$hash];
        }
 
        /**
@@ -278,7 +286,8 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule {
 
                $time = max(
                        wfTimestamp( TS_UNIX, $wgCacheEpoch ),
-                       filemtime( "$IP/resources/startup.js" )
+                       filemtime( "$IP/resources/startup.js" ),
+                       $this->getHashMtime( $context )
                );
 
                // ATTENTION!: Because of the line below, this is not going to cause
@@ -297,6 +306,25 @@ class ResourceLoaderStartUpModule extends ResourceLoaderModule {
                return $this->modifiedTime[$hash];
        }
 
+       /**
+        * Hash of all dynamic data embedded in getScript().
+        *
+        * Detect changes to mw.config settings embedded in #getScript (bug 28899).
+        *
+        * @param $context ResourceLoaderContext
+        * @return string: Hash
+        */
+       public function getModifiedHash( ResourceLoaderContext $context ) {
+               global $wgLegacyJavaScriptGlobals;
+
+               $data = array(
+                       'vars' => $this->getConfig( $context ),
+                       'wgLegacyJavaScriptGlobals' => $wgLegacyJavaScriptGlobals,
+               );
+
+               return md5( serialize( $data ) );
+       }
+
        /**
         * @return string
         */
index a96ade0..507a520 100644 (file)
@@ -35,7 +35,6 @@ class SearchEngine {
        var $prefix = '';
        var $searchTerms = array();
        var $namespaces = array( NS_MAIN );
-       var $showRedirects = false;
        protected $showSuggestion = true;
 
        /// Feature values
@@ -72,7 +71,6 @@ class SearchEngine {
         */
        public function supports( $feature ) {
                switch ( $feature ) {
-               case 'list-redirects':
                case 'search-update':
                        return true;
                case 'title-suffix-filter':
index 15b5f1c..d92c9c8 100644 (file)
@@ -50,20 +50,6 @@ class SearchMssql extends SearchDatabase {
                return new MssqlSearchResultSet( $resultSet, $this->searchTerms );
        }
 
-       /**
-        * Return a partial WHERE clause to exclude redirects, if so set
-        *
-        * @return String
-        * @private
-        */
-       function queryRedirect() {
-               if ( $this->showRedirects ) {
-                       return '';
-               } else {
-                       return 'AND page_is_redirect=0';
-               }
-       }
-
        /**
         * Return a partial WHERE clause to limit the search to the given namespaces
         *
@@ -109,7 +95,6 @@ class SearchMssql extends SearchDatabase {
         */
        function getQuery( $filteredTerm, $fulltext ) {
                return $this->queryLimit( $this->queryMain( $filteredTerm, $fulltext ) . ' ' .
-                       $this->queryRedirect() . ' ' .
                        $this->queryNamespaces() . ' ' .
                        $this->queryRanking( $filteredTerm, $fulltext ) . ' ' );
        }
index c3edf51..c4d7d1e 100644 (file)
@@ -218,9 +218,7 @@ class SearchMySQL extends SearchDatabase {
         */
        protected function queryFeatures( &$query ) {
                foreach ( $this->features as $feature => $value ) {
-                       if ( $feature === 'list-redirects' && !$value ) {
-                               $query['conds']['page_is_redirect'] = 0;
-                       } elseif ( $feature === 'title-suffix-filter' && $value ) {
+                       if ( $feature === 'title-suffix-filter' && $value ) {
                                $query['conds'][] = 'page_title' . $this->db->buildLike( $this->db->anyString(), $value );
                        }
                }
index 2603161..e14de2c 100644 (file)
@@ -89,18 +89,6 @@ class SearchOracle extends SearchDatabase {
                return new MySQLSearchResultSet( $resultSet, $this->searchTerms );
        }
 
-       /**
-        * Return a partial WHERE clause to exclude redirects, if so set
-        * @return String
-        */
-       function queryRedirect() {
-               if ( $this->showRedirects ) {
-                       return '';
-               } else {
-                       return 'AND page_is_redirect=0';
-               }
-       }
-
        /**
         * Return a partial WHERE clause to limit the search to the given namespaces
         * @return String
@@ -147,7 +135,6 @@ class SearchOracle extends SearchDatabase {
         */
        function getQuery( $filteredTerm, $fulltext ) {
                return $this->queryLimit( $this->queryMain( $filteredTerm, $fulltext ) . ' ' .
-                       $this->queryRedirect() . ' ' .
                        $this->queryNamespaces() . ' ' .
                        $this->queryRanking( $filteredTerm, $fulltext ) . ' ' );
        }
index 142e5fd..4da63b3 100644 (file)
@@ -168,11 +168,6 @@ class SearchPostgres extends SearchDatabase {
                        "AND r.rev_text_id = c.old_id AND $fulltext @@ to_tsquery($searchstring)";
                }
 
-               ## Redirects
-               if ( !$this->showRedirects ) {
-                       $query .= ' AND page_is_redirect = 0';
-               }
-
                ## Namespaces - defaults to 0
                if ( !is_null( $this->namespaces ) ) { // null -> search all
                        if ( count( $this->namespaces ) < 1 ) {
index ebff68e..6b2b3c6 100644 (file)
@@ -184,18 +184,6 @@ class SearchSqlite extends SearchDatabase {
                return new SqliteSearchResultSet( $resultSet, $this->searchTerms, $total );
        }
 
-       /**
-        * Return a partial WHERE clause to exclude redirects, if so set
-        * @return String
-        */
-       function queryRedirect() {
-               if ( $this->showRedirects ) {
-                       return '';
-               } else {
-                       return 'AND page_is_redirect=0';
-               }
-       }
-
        /**
         * Return a partial WHERE clause to limit the search to the given namespaces
         * @return String
@@ -231,7 +219,6 @@ class SearchSqlite extends SearchDatabase {
        function getQuery( $filteredTerm, $fulltext ) {
                return $this->limitResult(
                        $this->queryMain( $filteredTerm, $fulltext ) . ' ' .
-                       $this->queryRedirect() . ' ' .
                        $this->queryNamespaces()
                );
        }
@@ -267,8 +254,7 @@ class SearchSqlite extends SearchDatabase {
                $searchindex = $this->db->tableName( 'searchindex' );
                return "SELECT COUNT(*) AS c " .
                        "FROM $page,$searchindex " .
-                       "WHERE page_id=$searchindex.rowid AND $match" .
-                       $this->queryRedirect() . ' ' .
+                       "WHERE page_id=$searchindex.rowid AND $match " .
                        $this->queryNamespaces();
        }
 
index 888829a..14ac401 100644 (file)
@@ -80,6 +80,7 @@ abstract class ChangesListSpecialPage extends SpecialPage {
        public function getRows() {
                $opts = $this->getOptions();
                $conds = $this->buildMainQueryConds( $opts );
+
                return $this->doMainQuery( $conds, $opts );
        }
 
@@ -164,6 +165,7 @@ abstract class ChangesListSpecialPage extends SpecialPage {
         */
        protected function fetchOptionsFromRequest( $opts ) {
                $opts->fetchValuesFromRequest( $this->getRequest() );
+
                return $opts;
        }
 
@@ -293,6 +295,7 @@ abstract class ChangesListSpecialPage extends SpecialPage {
                // }
 
                $dbr = $this->getDB();
+
                return $dbr->select(
                        $tables,
                        $fields,
index eb8557a..3fbb0e5 100644 (file)
@@ -27,7 +27,6 @@
  * @ingroup SpecialPage
  */
 abstract class RedirectSpecialPage extends UnlistedSpecialPage {
-
        // Query parameters that can be passed through redirects
        protected $mAllowedRedirectParams = array();
 
@@ -41,11 +40,13 @@ abstract class RedirectSpecialPage extends UnlistedSpecialPage {
                if ( $redirect instanceof Title ) {
                        $url = $redirect->getFullURL( $query );
                        $this->getOutput()->redirect( $url );
+
                        return $redirect;
                } elseif ( $redirect === true ) {
                        // Redirect to index.php with query parameters
                        $url = wfAppendQuery( wfScript( 'index' ), $query );
                        $this->getOutput()->redirect( $url );
+
                        return $redirect;
                } else {
                        $class = get_class( $this );
@@ -91,8 +92,11 @@ abstract class RedirectSpecialPage extends UnlistedSpecialPage {
  * @ingroup SpecialPage
  */
 abstract class SpecialRedirectToSpecial extends RedirectSpecialPage {
-       // @todo FIXME: Visibility must be declared
-       var $redirName, $redirSubpage;
+       /** @var string Name of redirect target */
+       protected $redirName;
+
+       /** @var string Name of subpage of redirect target */
+       protected $redirSubpage;
 
        function __construct(
                $name, $redirName, $redirSubpage = false,
@@ -171,12 +175,12 @@ abstract class SpecialRedirectToSpecial extends RedirectSpecialPage {
  *
  * @par Hook extension example:
  * @code
- *     $wgHooks['RedirectSpecialArticleRedirectParams'][] =
- *             'MyExtensionHooks::onRedirectSpecialArticleRedirectParams';
- *     public static function onRedirectSpecialArticleRedirectParams( &$redirectParams ) {
- *             $redirectParams[] = 'stable';
- *             return true;
- *     }
+ *    $wgHooks['RedirectSpecialArticleRedirectParams'][] =
+ *        'MyExtensionHooks::onRedirectSpecialArticleRedirectParams';
+ *    public static function onRedirectSpecialArticleRedirectParams( &$redirectParams ) {
+ *        $redirectParams[] = 'stable';
+ *        return true;
+ *    }
  * @endcode
  *
  * @ingroup SpecialPage
index e824a61..d9340b4 100644 (file)
@@ -74,6 +74,7 @@ class SpecialPage {
         */
        public static function getTitleFor( $name, $subpage = false, $fragment = '' ) {
                $name = SpecialPageFactory::getLocalNameFor( $name, $subpage );
+
                return Title::makeTitle( NS_SPECIAL, $name, $fragment );
        }
 
@@ -157,6 +158,7 @@ class SpecialPage {
         */
        function getFile() {
                wfDeprecated( __METHOD__, '1.18' );
+
                return $this->mFile;
        }
 
@@ -215,6 +217,7 @@ class SpecialPage {
                if ( !isset( $this->mLocalName ) ) {
                        $this->mLocalName = SpecialPageFactory::getLocalNameFor( $this->mName );
                }
+
                return $this->mLocalName;
        }
 
@@ -450,7 +453,6 @@ class SpecialPage {
                        $this->getOutput()->wrapWikiMsg(
                                "<div class='mw-specialpage-summary'>\n$1\n</div>", $msg );
                }
-
        }
 
        /**
@@ -475,6 +477,7 @@ class SpecialPage {
         */
        function getTitle( $subpage = false ) {
                wfDeprecated( __METHOD__, '1.23' );
+
                return $this->getPageTitle( $subpage );
        }
 
@@ -511,6 +514,7 @@ class SpecialPage {
                } else {
                        wfDebug( __METHOD__ . " called and \$mContext is null. " .
                                "Return RequestContext::getMain(); for sanity\n" );
+
                        return RequestContext::getMain();
                }
        }
@@ -564,6 +568,7 @@ class SpecialPage {
         */
        public function getLang() {
                wfDeprecated( __METHOD__, '1.19' );
+
                return $this->getLanguage();
        }
 
@@ -616,6 +621,7 @@ class SpecialPage {
                if ( $this->including() ) {
                        $message->setInterfaceMessageFlag( false );
                }
+
                return $message;
        }
 
index c4b840a..18793e3 100644 (file)
@@ -49,126 +49,126 @@ class SpecialPageFactory {
         */
        private static $list = array(
                // Maintenance Reports
-               'BrokenRedirects'           => 'BrokenRedirectsPage',
-               'Deadendpages'              => 'DeadendPagesPage',
-               'DoubleRedirects'           => 'DoubleRedirectsPage',
-               'Longpages'                 => 'LongPagesPage',
-               'Ancientpages'              => 'AncientPagesPage',
-               'Lonelypages'               => 'LonelyPagesPage',
-               'Fewestrevisions'           => 'FewestrevisionsPage',
-               'Withoutinterwiki'          => 'WithoutInterwikiPage',
-               'Protectedpages'            => 'SpecialProtectedpages',
-               'Protectedtitles'           => 'SpecialProtectedtitles',
-               'Shortpages'                => 'ShortpagesPage',
-               'Uncategorizedcategories'   => 'UncategorizedCategoriesPage',
-               'Uncategorizedimages'       => 'UncategorizedImagesPage',
-               'Uncategorizedpages'        => 'UncategorizedPagesPage',
-               'Uncategorizedtemplates'    => 'UncategorizedTemplatesPage',
-               'Unusedcategories'          => 'UnusedCategoriesPage',
-               'Unusedimages'              => 'UnusedimagesPage',
-               'Unusedtemplates'           => 'UnusedtemplatesPage',
-               'Unwatchedpages'            => 'UnwatchedpagesPage',
-               'Wantedcategories'          => 'WantedCategoriesPage',
-               'Wantedfiles'               => 'WantedFilesPage',
-               'Wantedpages'               => 'WantedPagesPage',
-               'Wantedtemplates'           => 'WantedTemplatesPage',
+               'BrokenRedirects' => 'BrokenRedirectsPage',
+               'Deadendpages' => 'DeadendPagesPage',
+               'DoubleRedirects' => 'DoubleRedirectsPage',
+               'Longpages' => 'LongPagesPage',
+               'Ancientpages' => 'AncientPagesPage',
+               'Lonelypages' => 'LonelyPagesPage',
+               'Fewestrevisions' => 'FewestrevisionsPage',
+               'Withoutinterwiki' => 'WithoutInterwikiPage',
+               'Protectedpages' => 'SpecialProtectedpages',
+               'Protectedtitles' => 'SpecialProtectedtitles',
+               'Shortpages' => 'ShortpagesPage',
+               'Uncategorizedcategories' => 'UncategorizedCategoriesPage',
+               'Uncategorizedimages' => 'UncategorizedImagesPage',
+               'Uncategorizedpages' => 'UncategorizedPagesPage',
+               'Uncategorizedtemplates' => 'UncategorizedTemplatesPage',
+               'Unusedcategories' => 'UnusedCategoriesPage',
+               'Unusedimages' => 'UnusedimagesPage',
+               'Unusedtemplates' => 'UnusedtemplatesPage',
+               'Unwatchedpages' => 'UnwatchedpagesPage',
+               'Wantedcategories' => 'WantedCategoriesPage',
+               'Wantedfiles' => 'WantedFilesPage',
+               'Wantedpages' => 'WantedPagesPage',
+               'Wantedtemplates' => 'WantedTemplatesPage',
 
                // List of pages
-               'Allpages'                  => 'SpecialAllpages',
-               'Prefixindex'               => 'SpecialPrefixindex',
-               'Categories'                => 'SpecialCategories',
-               'Listredirects'             => 'ListredirectsPage',
-               'PagesWithProp'             => 'SpecialPagesWithProp',
+               'Allpages' => 'SpecialAllpages',
+               'Prefixindex' => 'SpecialPrefixindex',
+               'Categories' => 'SpecialCategories',
+               'Listredirects' => 'ListredirectsPage',
+               'PagesWithProp' => 'SpecialPagesWithProp',
 
                // Login/create account
-               'Userlogin'                 => 'LoginForm',
-               'CreateAccount'             => 'SpecialCreateAccount',
+               'Userlogin' => 'LoginForm',
+               'CreateAccount' => 'SpecialCreateAccount',
 
                // Users and rights
-               'Block'                     => 'SpecialBlock',
-               'Unblock'                   => 'SpecialUnblock',
-               'BlockList'                 => 'SpecialBlockList',
-               'ChangePassword'            => 'SpecialChangePassword',
-               'PasswordReset'             => 'SpecialPasswordReset',
-               'DeletedContributions'      => 'DeletedContributionsPage',
-               'Preferences'               => 'SpecialPreferences',
-               'ResetTokens'               => 'SpecialResetTokens',
-               'Contributions'             => 'SpecialContributions',
-               'Listgrouprights'           => 'SpecialListGroupRights',
-               'Listusers'                 => 'SpecialListUsers',
-               'Listadmins'                => 'SpecialListAdmins',
-               'Listbots'                  => 'SpecialListBots',
-               'Userrights'                => 'UserrightsPage',
-               'EditWatchlist'             => 'SpecialEditWatchlist',
+               'Block' => 'SpecialBlock',
+               'Unblock' => 'SpecialUnblock',
+               'BlockList' => 'SpecialBlockList',
+               'ChangePassword' => 'SpecialChangePassword',
+               'PasswordReset' => 'SpecialPasswordReset',
+               'DeletedContributions' => 'DeletedContributionsPage',
+               'Preferences' => 'SpecialPreferences',
+               'ResetTokens' => 'SpecialResetTokens',
+               'Contributions' => 'SpecialContributions',
+               'Listgrouprights' => 'SpecialListGroupRights',
+               'Listusers' => 'SpecialListUsers',
+               'Listadmins' => 'SpecialListAdmins',
+               'Listbots' => 'SpecialListBots',
+               'Userrights' => 'UserrightsPage',
+               'EditWatchlist' => 'SpecialEditWatchlist',
 
                // Recent changes and logs
-               'Newimages'                 => 'SpecialNewFiles',
-               'Log'                       => 'SpecialLog',
-               'Watchlist'                 => 'SpecialWatchlist',
-               'Newpages'                  => 'SpecialNewpages',
-               'Recentchanges'             => 'SpecialRecentChanges',
-               'Recentchangeslinked'       => 'SpecialRecentChangesLinked',
-               'Tags'                      => 'SpecialTags',
+               'Newimages' => 'SpecialNewFiles',
+               'Log' => 'SpecialLog',
+               'Watchlist' => 'SpecialWatchlist',
+               'Newpages' => 'SpecialNewpages',
+               'Recentchanges' => 'SpecialRecentChanges',
+               'Recentchangeslinked' => 'SpecialRecentChangesLinked',
+               'Tags' => 'SpecialTags',
 
                // Media reports and uploads
-               'Listfiles'                 => 'SpecialListFiles',
-               'Filepath'                  => 'SpecialFilepath',
-               'MIMEsearch'                => 'MIMEsearchPage',
-               'FileDuplicateSearch'       => 'FileDuplicateSearchPage',
-               'Upload'                    => 'SpecialUpload',
-               'UploadStash'               => 'SpecialUploadStash',
-               'ListDuplicatedFiles'       => 'ListDuplicatedFilesPage',
+               'Listfiles' => 'SpecialListFiles',
+               'Filepath' => 'SpecialFilepath',
+               'MIMEsearch' => 'MIMEsearchPage',
+               'FileDuplicateSearch' => 'FileDuplicateSearchPage',
+               'Upload' => 'SpecialUpload',
+               'UploadStash' => 'SpecialUploadStash',
+               'ListDuplicatedFiles' => 'ListDuplicatedFilesPage',
 
                // Data and tools
-               'Statistics'                => 'SpecialStatistics',
-               'Allmessages'               => 'SpecialAllmessages',
-               'Version'                   => 'SpecialVersion',
-               'Lockdb'                    => 'SpecialLockdb',
-               'Unlockdb'                  => 'SpecialUnlockdb',
+               'Statistics' => 'SpecialStatistics',
+               'Allmessages' => 'SpecialAllmessages',
+               'Version' => 'SpecialVersion',
+               'Lockdb' => 'SpecialLockdb',
+               'Unlockdb' => 'SpecialUnlockdb',
 
                // Redirecting special pages
-               'LinkSearch'                => 'LinkSearchPage',
-               'Randompage'                => 'RandomPage',
-               'RandomInCategory'          => 'SpecialRandomInCategory',
-               'Randomredirect'            => 'SpecialRandomredirect',
+               'LinkSearch' => 'LinkSearchPage',
+               'Randompage' => 'RandomPage',
+               'RandomInCategory' => 'SpecialRandomInCategory',
+               'Randomredirect' => 'SpecialRandomredirect',
 
                // High use pages
-               'Mostlinkedcategories'      => 'MostlinkedCategoriesPage',
-               'Mostimages'                => 'MostimagesPage',
-               'Mostinterwikis'            => 'MostinterwikisPage',
-               'Mostlinked'                => 'MostlinkedPage',
-               'Mostlinkedtemplates'       => 'MostlinkedTemplatesPage',
-               'Mostcategories'            => 'MostcategoriesPage',
-               'Mostrevisions'             => 'MostrevisionsPage',
+               'Mostlinkedcategories' => 'MostlinkedCategoriesPage',
+               'Mostimages' => 'MostimagesPage',
+               'Mostinterwikis' => 'MostinterwikisPage',
+               'Mostlinked' => 'MostlinkedPage',
+               'Mostlinkedtemplates' => 'MostlinkedTemplatesPage',
+               'Mostcategories' => 'MostcategoriesPage',
+               'Mostrevisions' => 'MostrevisionsPage',
 
                // Page tools
-               'ComparePages'              => 'SpecialComparePages',
-               'Export'                    => 'SpecialExport',
-               'Import'                    => 'SpecialImport',
-               'Undelete'                  => 'SpecialUndelete',
-               'Whatlinkshere'             => 'SpecialWhatLinksHere',
-               'MergeHistory'              => 'SpecialMergeHistory',
-               'ExpandTemplates'           => 'SpecialExpandTemplates',
+               'ComparePages' => 'SpecialComparePages',
+               'Export' => 'SpecialExport',
+               'Import' => 'SpecialImport',
+               'Undelete' => 'SpecialUndelete',
+               'Whatlinkshere' => 'SpecialWhatLinksHere',
+               'MergeHistory' => 'SpecialMergeHistory',
+               'ExpandTemplates' => 'SpecialExpandTemplates',
 
                // Other
-               'Booksources'               => 'SpecialBookSources',
+               'Booksources' => 'SpecialBookSources',
 
                // Unlisted / redirects
-               'Blankpage'                 => 'SpecialBlankpage',
-               'Diff'                      => 'SpecialDiff',
-               'Emailuser'                 => 'SpecialEmailUser',
-               'Movepage'                  => 'MovePageForm',
-               'Mycontributions'           => 'SpecialMycontributions',
-               'Mypage'                    => 'SpecialMypage',
-               'Mytalk'                    => 'SpecialMytalk',
-               'Myuploads'                 => 'SpecialMyuploads',
-               'AllMyUploads'              => 'SpecialAllMyUploads',
-               'PermanentLink'             => 'SpecialPermanentLink',
-               'Redirect'                  => 'SpecialRedirect',
-               'Revisiondelete'            => 'SpecialRevisionDelete',
-               'RunJobs'                   => 'SpecialRunJobs',
-               'Specialpages'              => 'SpecialSpecialpages',
-               'Userlogout'                => 'SpecialUserlogout',
+               'Blankpage' => 'SpecialBlankpage',
+               'Diff' => 'SpecialDiff',
+               'Emailuser' => 'SpecialEmailUser',
+               'Movepage' => 'MovePageForm',
+               'Mycontributions' => 'SpecialMycontributions',
+               'Mypage' => 'SpecialMypage',
+               'Mytalk' => 'SpecialMytalk',
+               'Myuploads' => 'SpecialMyuploads',
+               'AllMyUploads' => 'SpecialAllMyUploads',
+               'PermanentLink' => 'SpecialPermanentLink',
+               'Redirect' => 'SpecialRedirect',
+               'Revisiondelete' => 'SpecialRevisionDelete',
+               'RunJobs' => 'SpecialRunJobs',
+               'Specialpages' => 'SpecialSpecialpages',
+               'Userlogout' => 'SpecialUserlogout',
        );
 
        private static $aliases;
@@ -221,6 +221,7 @@ class SpecialPageFactory {
 
                        wfProfileOut( __METHOD__ );
                }
+
                return self::$list;
        }
 
@@ -254,6 +255,7 @@ class SpecialPageFactory {
                        // Cast to object: func()[$key] doesn't work, but func()->$key does
                        self::$aliases = (object)self::$aliases;
                }
+
                return self::$aliases;
        }
 
@@ -322,6 +324,7 @@ class SpecialPageFactory {
         */
        public static function exists( $name ) {
                list( $title, /*...*/ ) = self::resolveAlias( $name );
+
                return property_exists( self::getList(), $title );
        }
 
@@ -337,13 +340,16 @@ class SpecialPageFactory {
                        $rec = self::getList()->$realName;
                        if ( is_string( $rec ) ) {
                                $className = $rec;
+
                                return new $className;
                        } elseif ( is_array( $rec ) ) {
                                // @deprecated, officially since 1.18, unofficially since forever
-                               wfDebug( "Array syntax for \$wgSpecialPages is deprecated, define a subclass of SpecialPage instead." );
+                               wfDebug( "Array syntax for \$wgSpecialPages is deprecated, " .
+                                       "define a subclass of SpecialPage instead." );
                                $className = array_shift( $rec );
                                self::getList()->$realName = MWFunction::newObj( $className, $rec );
                        }
+
                        return self::getList()->$realName;
                } else {
                        return null;
@@ -375,6 +381,7 @@ class SpecialPageFactory {
                                }
                        }
                }
+
                return $pages;
        }
 
@@ -391,6 +398,7 @@ class SpecialPageFactory {
                                $pages[$name] = $page;
                        }
                }
+
                return $pages;
        }
 
@@ -413,6 +421,7 @@ class SpecialPageFactory {
                                $pages[$name] = $page;
                        }
                }
+
                return $pages;
        }
 
@@ -454,6 +463,7 @@ class SpecialPageFactory {
 
                        $context->getOutput()->showErrorPage( 'nosuchspecialpage', 'nospecialpagetext' );
                        wfProfileOut( __METHOD__ );
+
                        return false;
                }
 
@@ -473,13 +483,14 @@ class SpecialPageFactory {
                                $url = $title->getFullURL( $query );
                                $context->getOutput()->redirect( $url );
                                wfProfileOut( __METHOD__ );
+
                                return $title;
                        } else {
                                $context->setTitle( $page->getPageTitle( $par ) );
                        }
-
                } elseif ( !$page->isIncludable() ) {
                        wfProfileOut( __METHOD__ );
+
                        return false;
                }
 
@@ -491,6 +502,7 @@ class SpecialPageFactory {
                $page->run( $par );
                wfProfileOut( $profName );
                wfProfileOut( __METHOD__ );
+
                return true;
        }
 
@@ -571,6 +583,7 @@ class SpecialPageFactory {
                if ( $subpage !== false && !is_null( $subpage ) ) {
                        $name = "$name/$subpage";
                }
+
                return $wgContLang->ucfirst( $name );
        }
 
index 3acf141..af4f852 100644 (file)
@@ -951,8 +951,12 @@ class ContribsPager extends ReverseChronologicalPager {
                 * to extensions to subscribe to the hook to parse the row.
                 */
                wfSuppressWarnings();
-               $rev = new Revision( $row );
-               $validRevision = (bool)$rev->getId();
+               try {
+                       $rev = new Revision( $row );
+                       $validRevision = (bool)$rev->getId();
+               } catch ( MWException $e ) {
+                       $validRevision = false;
+               }
                wfRestoreWarnings();
 
                if ( $validRevision ) {
index 9401fca..c1dc158 100644 (file)
@@ -98,7 +98,7 @@ class ListDuplicatedFilesPage extends QueryPage {
                $image1 = Title::makeTitle( $result->namespace, $result->title );
                $dupeSearch = SpecialPage::getTitleFor( 'FileDuplicateSearch', $image1->getDBKey() );
 
-               $msg = wfMessage( 'listduplicatedfiles-entry' )
+               $msg = $this->msg( 'listduplicatedfiles-entry' )
                        ->params( $image1->getText() )
                        ->numParams( $result->value - 1 )
                        ->params( $dupeSearch->getPrefixedDBKey() );
index 780da7c..81463e5 100644 (file)
  * @ingroup SpecialPage
  */
 class SpecialRevisionDelete extends UnlistedSpecialPage {
-       /** True if the submit button was clicked, and the form was posted */
-       var $submitClicked;
+       /** @var bool Was the DB modified in this request */
+       protected $wasSaved = false;
 
-       /** Target ID list */
-       var $ids;
+       /** @var bool True if the submit button was clicked, and the form was posted */
+       private $submitClicked;
 
-       /** Archive name, for reviewing deleted files */
-       var $archiveName;
+       /** @var array Target ID list */
+       private $ids;
 
-       /** Edit token for securing image views against XSS */
-       var $token;
+       /** @var string Archive name, for reviewing deleted files */
+       private $archiveName;
 
-       /** Title object for target parameter */
-       var $targetObj;
+       /** @var string Edit token for securing image views against XSS */
+       private $token;
 
-       /** Deletion type, may be revision, archive, oldimage, filearchive, logging. */
-       var $typeName;
+       /** @var Title object for target parameter */
+       private $targetObj;
 
-       /** Array of checkbox specs (message, name, deletion bits) */
-       var $checks;
+       /** @var string Deletion type, may be revision, archive, oldimage, filearchive, logging. */
+       private $typeName;
 
-       /** UI Labels about the current type */
-       var $typeLabels;
+       /** @var array of checkbox specs (message, name, deletion bits) */
+       private $checks;
 
-       /** The RevDel_List object, storing the list of items to be deleted/undeleted */
-       var $list;
+       /** @var array UI Labels about the current type */
+       private $typeLabels;
 
-       /** Was the DB modified in this request */
-       protected $wasSaved = false;
+       /** @var RevDel_List object, storing the list of items to be deleted/undeleted */
+       private $revDelList;
+
+       /** @var bool Whether user is allowed to perform the action */
+       private $mIsAllowed;
+
+       /** @var string */
+       private $otherReason;
 
        /**
         * UI labels for each type.
         */
-       static $UILabels = array(
+       private static $UILabels = array(
                'revision' => array(
                        'check-label' => 'revdelete-hide-text',
                        'success' => 'revdelete-success',
                        'failure' => 'revdelete-failure',
                        'text' => 'revdelete-text-text',
+                       'selected'=> 'revdelete-selected-text',
                ),
                'archive' => array(
                        'check-label' => 'revdelete-hide-text',
                        'success' => 'revdelete-success',
                        'failure' => 'revdelete-failure',
                        'text' => 'revdelete-text-text',
+                       'selected'=> 'revdelete-selected-text',
                ),
                'oldimage' => array(
                        'check-label' => 'revdelete-hide-image',
                        'success' => 'revdelete-success',
                        'failure' => 'revdelete-failure',
                        'text' => 'revdelete-text-file',
+                       'selected'=> 'revdelete-selected-file',
                ),
                'filearchive' => array(
                        'check-label' => 'revdelete-hide-image',
                        'success' => 'revdelete-success',
                        'failure' => 'revdelete-failure',
                        'text' => 'revdelete-text-file',
+                       'selected'=> 'revdelete-selected-file',
                ),
                'logging' => array(
                        'check-label' => 'revdelete-hide-name',
                        'success' => 'logdelete-success',
                        'failure' => 'logdelete-failure',
                        'text' => 'logdelete-text',
+                       'selected' => 'logdelete-selected',
                ),
        );
 
@@ -325,13 +336,13 @@ class SpecialRevisionDelete extends UnlistedSpecialPage {
         * Get the list object for this request
         */
        protected function getList() {
-               if ( is_null( $this->list ) ) {
-                       $this->list = RevisionDeleter::createList(
+               if ( is_null( $this->revDelList ) ) {
+                       $this->revDelList = RevisionDeleter::createList(
                                $this->typeName, $this->getContext(), $this->targetObj, $this->ids
                        );
                }
 
-               return $this->list;
+               return $this->revDelList;
        }
 
        /**
@@ -341,12 +352,8 @@ class SpecialRevisionDelete extends UnlistedSpecialPage {
        protected function showForm() {
                $userAllowed = true;
 
-               if ( $this->typeName == 'logging' ) {
-                       $this->getOutput()->addWikiMsg( 'logdelete-selected', $this->getLanguage()->formatNum( count( $this->ids ) ) );
-               } else {
-                       $this->getOutput()->addWikiMsg( 'revdelete-selected',
-                               $this->targetObj->getPrefixedText(), count( $this->ids ) );
-               }
+               $this->getOutput()->wrapWikiMsg( "<strong>$1</strong>", array( $this->typeLabels['selected'],
+                       $this->getLanguage()->formatNum( count( $this->ids ) ), $this->targetObj->getPrefixedText() ) );
 
                $this->getOutput()->addHTML( "<ul>" );
 
@@ -552,7 +559,7 @@ class SpecialRevisionDelete extends UnlistedSpecialPage {
                $this->getOutput()->setPageTitle( $this->msg( 'actioncomplete' ) );
                $this->getOutput()->wrapWikiMsg( "<span class=\"success\">\n$1\n</span>", $this->typeLabels['success'] );
                $this->wasSaved = true;
-               $this->list->reloadFromMaster();
+               $this->revDelList->reloadFromMaster();
                $this->showForm();
        }
 
@@ -592,7 +599,7 @@ class SpecialRevisionDelete extends UnlistedSpecialPage {
         * @param $bitfield
         * @param $reason
         * @param $title
-        * @return
+        * @return Status
         */
        protected function save( $bitfield, $reason, $title ) {
                return $this->getList()->setVisibility(
index 129f8b7..c73ee53 100644 (file)
@@ -60,11 +60,6 @@ class SpecialSearch extends SpecialPage {
         */
        protected $namespaces;
 
-       /**
-        * @var bool
-        */
-       protected $searchRedirects;
-
        /**
         * @var string
         */
@@ -159,9 +154,6 @@ class SpecialSearch extends SpecialPage {
                        }
                }
 
-               // Redirects defaults to true, but we don't know whether it was ticked of or just missing
-               $default = $request->getBool( 'profile' ) ? 0 : 1;
-               $this->searchRedirects = $request->getBool( 'redirs', $default ) ? 1 : 0;
                $this->didYouMeanHtml = ''; # html of did you mean... link
                $this->fulltext = $request->getVal( 'fulltext' );
                $this->profile = $profile;
@@ -222,8 +214,6 @@ class SpecialSearch extends SpecialPage {
                $search = $this->getSearchEngine();
                $search->setLimitOffset( $this->limit, $this->offset );
                $search->setNamespaces( $this->namespaces );
-               $search->showRedirects = $this->searchRedirects; // BC
-               $search->setFeatureData( 'list-redirects', $this->searchRedirects );
                $search->prefix = $this->mPrefix;
                $term = $search->transformSearchTerm( $term );
 
@@ -517,7 +507,6 @@ class SpecialSearch extends SpecialPage {
         */
        protected function powerSearchOptions() {
                $opt = array();
-               $opt['redirs'] = $this->searchRedirects ? 1 : 0;
                if ( $this->profile !== 'advanced' ) {
                        $opt['profile'] = $this->profile;
                } else {
@@ -871,7 +860,6 @@ class SpecialSearch extends SpecialPage {
        protected function getProfileForm( $profile, $term ) {
                // Hidden stuff
                $opts = array();
-               $opts['redirs'] = $this->searchRedirects;
                $opts['profile'] = $this->profile;
 
                if ( $profile === 'advanced' ) {
@@ -941,16 +929,9 @@ class SpecialSearch extends SpecialPage {
 
                $showSections = array( 'namespaceTables' => $namespaceTables );
 
-               // Show redirects check only if backend supports it
-               if ( $this->getSearchEngine()->supports( 'list-redirects' ) ) {
-                       $showSections['redirects'] =
-                               Xml::checkLabel( $this->msg( 'powersearch-redir' )->text(), 'redirs', 'redirs', $this->searchRedirects );
-               }
-
                wfRunHooks( 'SpecialSearchPowerBox', array( &$showSections, $term, $opts ) );
 
                $hidden = '';
-               unset( $opts['redirs'] );
                foreach ( $opts as $key => $value ) {
                        $hidden .= Html::hidden( $key, $value );
                }
@@ -1134,7 +1115,6 @@ class SpecialSearch extends SpecialPage {
                foreach ( $namespaces as $n ) {
                        $opt['ns' . $n] = 1;
                }
-               $opt['redirs'] = $this->searchRedirects;
 
                $stParams = array_merge(
                        array(
index 3ed3ac3..3ba50bb 100644 (file)
@@ -103,9 +103,15 @@ class SpecialSpecialpages extends UnlistedSpecialPage {
                        $middle = ceil( $total / 2 );
                        $count = 0;
 
-                       $out->wrapWikiMsg( "<h2 class=\"mw-specialpagesgroup\" id=\"mw-specialpagesgroup-$group\">$1</h2>\n", "specialpages-group-$group" );
+                       $out->wrapWikiMsg(
+                               "<h2 class=\"mw-specialpagesgroup\" id=\"mw-specialpagesgroup-$group\">$1</h2>\n",
+                               "specialpages-group-$group"
+                       );
                        $out->addHTML(
-                               Html::openElement( 'table', array( 'style' => 'width:100%;', 'class' => 'mw-specialpages-table' ) ) . "\n" .
+                               Html::openElement(
+                                       'table',
+                                       array( 'style' => 'width:100%;', 'class' => 'mw-specialpages-table' )
+                               ) . "\n" .
                                Html::openElement( 'tr' ) . "\n" .
                                Html::openElement( 'td', array( 'style' => 'width:30%;vertical-align:top' ) ) . "\n" .
                                Html::openElement( 'ul' ) . "\n"
@@ -124,7 +130,11 @@ class SpecialSpecialpages extends UnlistedSpecialPage {
                                }
 
                                $link = Linker::linkKnown( $title, htmlspecialchars( $desc ) );
-                               $out->addHTML( Html::rawElement( 'li', array( 'class' => implode( ' ', $pageClasses ) ), $link ) . "\n" );
+                               $out->addHTML( Html::rawElement(
+                                               'li',
+                                               array( 'class' => implode( ' ', $pageClasses ) ),
+                                               $link
+                                       ) . "\n" );
 
                                # Split up the larger groups
                                $count++;
index c3a11f3..371e5ea 100644 (file)
@@ -28,7 +28,6 @@
  * @ingroup SpecialPage
  */
 class SpecialStatistics extends SpecialPage {
-
        private $views, $edits, $good, $images, $total, $users,
                $activeUsers = 0;
 
@@ -107,14 +106,16 @@ class SpecialStatistics extends SpecialPage {
 
        /**
         * Format a row
-        * @param $text  String: description of the row
-        * @param $number  Float: a statistical number
-        * @param $trExtraParams  Array: params to table row, see Html::elememt
-        * @param $descMsg  String: message key
+        * @param string $text Description of the row
+        * @param float $number A statistical number
+        * @param array $trExtraParams Params to table row, see Html::elememt
+        * @param string $descMsg Message key
         * @param array|string $descMsgParam Message parameters
-        * @return string table row in HTML format
+        * @return string Table row in HTML format
         */
-       private function formatRow( $text, $number, $trExtraParams = array(), $descMsg = '', $descMsgParam = '' ) {
+       private function formatRow( $text, $number, $trExtraParams = array(),
+               $descMsg = '', $descMsgParam = ''
+       ) {
                if ( $descMsg ) {
                        $msg = $this->msg( $descMsg, $descMsgParam );
                        if ( $msg->exists() ) {
@@ -140,29 +141,32 @@ class SpecialStatistics extends SpecialPage {
                        Xml::tags( 'th', array( 'colspan' => '2' ), $this->msg( 'statistics-header-pages' )->parse() ) .
                        Xml::closeElement( 'tr' ) .
                                $this->formatRow( Linker::linkKnown( SpecialPage::getTitleFor( 'Allpages' ),
-                                               $this->msg( 'statistics-articles' )->parse() ),
-                                               $this->getLanguage()->formatNum( $this->good ),
-                                               array( 'class' => 'mw-statistics-articles' ) ) .
+                                       $this->msg( 'statistics-articles' )->parse() ),
+                                       $this->getLanguage()->formatNum( $this->good ),
+                                       array( 'class' => 'mw-statistics-articles' ) ) .
                                $this->formatRow( $this->msg( 'statistics-pages' )->parse(),
-                                               $this->getLanguage()->formatNum( $this->total ),
-                                               array( 'class' => 'mw-statistics-pages' ),
-                                               'statistics-pages-desc' ) .
+                                       $this->getLanguage()->formatNum( $this->total ),
+                                       array( 'class' => 'mw-statistics-pages' ),
+                                       'statistics-pages-desc' ) .
                                $this->formatRow( Linker::linkKnown( SpecialPage::getTitleFor( 'Listfiles' ),
-                                               $this->msg( 'statistics-files' )->parse() ),
-                                               $this->getLanguage()->formatNum( $this->images ),
-                                               array( 'class' => 'mw-statistics-files' ) );
+                                       $this->msg( 'statistics-files' )->parse() ),
+                                       $this->getLanguage()->formatNum( $this->images ),
+                                       array( 'class' => 'mw-statistics-files' ) );
        }
 
        private function getEditStats() {
                return Xml::openElement( 'tr' ) .
                        Xml::tags( 'th', array( 'colspan' => '2' ), $this->msg( 'statistics-header-edits' )->parse() ) .
                        Xml::closeElement( 'tr' ) .
-                               $this->formatRow( $this->msg( 'statistics-edits' )->parse(),
-                                               $this->getLanguage()->formatNum( $this->edits ),
-                                               array( 'class' => 'mw-statistics-edits' ) ) .
-                               $this->formatRow( $this->msg( 'statistics-edits-average' )->parse(),
-                                               $this->getLanguage()->formatNum( sprintf( '%.2f', $this->total ? $this->edits / $this->total : 0 ) ),
-                                               array( 'class' => 'mw-statistics-edits-average' ) );
+                       $this->formatRow( $this->msg( 'statistics-edits' )->parse(),
+                               $this->getLanguage()->formatNum( $this->edits ),
+                               array( 'class' => 'mw-statistics-edits' )
+                       ) .
+                       $this->formatRow( $this->msg( 'statistics-edits-average' )->parse(),
+                               $this->getLanguage()
+                                       ->formatNum( sprintf( '%.2f', $this->total ? $this->edits / $this->total : 0 ) ),
+                               array( 'class' => 'mw-statistics-edits-average' )
+                       );
        }
 
        private function getUserStats() {
@@ -171,18 +175,20 @@ class SpecialStatistics extends SpecialPage {
                return Xml::openElement( 'tr' ) .
                        Xml::tags( 'th', array( 'colspan' => '2' ), $this->msg( 'statistics-header-users' )->parse() ) .
                        Xml::closeElement( 'tr' ) .
-                               $this->formatRow( $this->msg( 'statistics-users' )->parse(),
-                                               $this->getLanguage()->formatNum( $this->users ),
-                                               array( 'class' => 'mw-statistics-users' ) ) .
-                               $this->formatRow( $this->msg( 'statistics-users-active' )->parse() . ' ' .
-                                                       Linker::linkKnown(
-                                                               SpecialPage::getTitleFor( 'Activeusers' ),
-                                                               $this->msg( 'listgrouprights-members' )->escaped()
-                                                       ),
-                                               $this->getLanguage()->formatNum( $this->activeUsers ),
-                                               array( 'class' => 'mw-statistics-users-active' ),
-                                               'statistics-users-active-desc',
-                                               $this->getLanguage()->formatNum( $wgActiveUserDays ) );
+                       $this->formatRow( $this->msg( 'statistics-users' )->parse(),
+                               $this->getLanguage()->formatNum( $this->users ),
+                               array( 'class' => 'mw-statistics-users' )
+                       ) .
+                       $this->formatRow( $this->msg( 'statistics-users-active' )->parse() . ' ' .
+                               Linker::linkKnown(
+                                       SpecialPage::getTitleFor( 'Activeusers' ),
+                                       $this->msg( 'listgrouprights-members' )->escaped()
+                               ),
+                               $this->getLanguage()->formatNum( $this->activeUsers ),
+                               array( 'class' => 'mw-statistics-users-active' ),
+                               'statistics-users-active-desc',
+                               $this->getLanguage()->formatNum( $wgActiveUserDays )
+                       );
        }
 
        private function getGroupStats() {
@@ -267,7 +273,11 @@ class SpecialStatistics extends SpecialPage {
 
                if ( $res->numRows() > 0 ) {
                        $text .= Xml::openElement( 'tr' );
-                       $text .= Xml::tags( 'th', array( 'colspan' => '2' ), $this->msg( 'statistics-mostpopular' )->parse() );
+                       $text .= Xml::tags(
+                               'th',
+                               array( 'colspan' => '2' ),
+                               $this->msg( 'statistics-mostpopular' )->parse()
+                       );
                        $text .= Xml::closeElement( 'tr' );
 
                        foreach ( $res as $row ) {
@@ -308,7 +318,11 @@ class SpecialStatistics extends SpecialPage {
                                        $name = $this->msg( $key )->parse();
                                        $number = htmlspecialchars( $value );
 
-                                       $return .= $this->formatRow( $name, $this->getLanguage()->formatNum( $number ), array( 'class' => 'mw-statistics-hook', 'id' => 'mw-' . $key ) );
+                                       $return .= $this->formatRow(
+                                               $name,
+                                               $this->getLanguage()->formatNum( $number ),
+                                               array( 'class' => 'mw-statistics-hook', 'id' => 'mw-' . $key )
+                                       );
                                }
                        } else {
                                // Create the legacy header only once
@@ -317,7 +331,8 @@ class SpecialStatistics extends SpecialPage {
                                }
 
                                // Recursively remap the legacy structure
-                               $return .= $this->getOtherStats( array( 'statistics-header-hooks' => array( $header => $items ) ) );
+                               $return .= $this->getOtherStats( array( 'statistics-header-hooks' =>
+                                       array( $header => $items ) ) );
                        }
                }
 
index 17de679..9060f53 100644 (file)
  * Special page lists images which haven't been categorised
  *
  * @ingroup SpecialPage
+ * @todo FIXME: Use an instance of UncategorizedPagesPage or something
  */
-// @todo FIXME: Use an instance of UncategorizedPagesPage or something
 class UncategorizedImagesPage extends ImageQueryPage {
-
        function __construct( $name = 'Uncategorizedimages' ) {
                parent::__construct( $name );
        }
index c6a4215..8251d5b 100644 (file)
@@ -25,8 +25,8 @@
  * A special page looking for page without any category.
  *
  * @ingroup SpecialPage
+ * @todo FIXME: Make $requestedNamespace selectable, unify all subclasses into one
  */
-// @todo FIXME: Make $requestedNamespace selectable, unify all subclasses into one
 class UncategorizedPagesPage extends PageQueryPage {
        protected $requestedNamespace = false;
 
@@ -58,7 +58,9 @@ class UncategorizedPagesPage extends PageQueryPage {
                        // otherwise, page_namespace is requestedNamespace
                        'conds' => array(
                                'cl_from IS NULL',
-                               'page_namespace' => ( $this->requestedNamespace !== false ? $this->requestedNamespace : MWNamespace::getContentNamespaces() ),
+                               'page_namespace' => $this->requestedNamespace !== false
+                                               ? $this->requestedNamespace
+                                               : MWNamespace::getContentNamespaces(),
                                'page_is_redirect' => 0
                        ),
                        'join_conds' => array(
index acfeb37..55ab32d 100644 (file)
  * @ingroup SpecialPage
  */
 class PageArchive {
-       /**
-        * @var Title
-        */
+       /** @var Title */
        protected $title;
 
-       /**
-        * @var Status
-        */
+       /** @var Status */
        protected $fileStatus;
 
-       /**
-        * @var Status
-        */
+       /** @var Status */
        protected $revisionStatus;
 
        function __construct( $title ) {
@@ -355,16 +349,18 @@ class PageArchive {
         * Once restored, the items will be removed from the archive tables.
         * The deletion log will be updated with an undeletion notice.
         *
-        * @param array $timestamps Pass an empty array to restore all revisions, otherwise list the ones to undelete.
+        * @param array $timestamps Pass an empty array to restore all revisions,
+        *   otherwise list the ones to undelete.
         * @param string $comment
         * @param array $fileVersions
         * @param bool $unsuppress
         * @param User $user User performing the action, or null to use $wgUser
-        *
-        * @return array(number of file revisions restored, number of image revisions restored, log message)
-        * on success, false on failure
+        * @return array(number of file revisions restored, number of image revisions
+        *   restored, log message) on success, false on failure.
         */
-       function undelete( $timestamps, $comment = '', $fileVersions = array(), $unsuppress = false, User $user = null ) {
+       function undelete( $timestamps, $comment = '', $fileVersions = array(),
+               $unsuppress = false, User $user = null
+       ) {
                // If both the set of text revisions and file revisions are empty,
                // restore everything. Otherwise, just restore the requested items.
                $restoreAll = empty( $timestamps ) && empty( $fileVersions );
@@ -438,7 +434,8 @@ class PageArchive {
         * to the cur/old tables. If the page currently exists, all revisions will
         * be stuffed into old, otherwise the most recent will go into cur.
         *
-        * @param array $timestamps Pass an empty array to restore all revisions, otherwise list the ones to undelete.
+        * @param array $timestamps Pass an empty array to restore all revisions,
+        *   otherwise list the ones to undelete.
         * @param bool $unsuppress Remove all ar_deleted/fa_deleted restrictions of seletected revs
         * @param string $comment
         * @throws ReadOnlyError
@@ -638,7 +635,11 @@ class PageArchive {
                if ( $created || $wasnew ) {
                        // Update site stats, link tables, etc
                        $user = User::newFromName( $revision->getRawUserText(), false );
-                       $article->doEditUpdates( $revision, $user, array( 'created' => $created, 'oldcountable' => $oldcountable ) );
+                       $article->doEditUpdates(
+                               $revision,
+                               $user,
+                               array( 'created' => $created, 'oldcountable' => $oldcountable )
+                       );
                }
 
                wfRunHooks( 'ArticleUndelete', array( &$this->title, $created, $comment ) );
@@ -673,13 +674,20 @@ class PageArchive {
  * @ingroup SpecialPage
  */
 class SpecialUndelete extends SpecialPage {
-       var $mAction, $mTarget, $mTimestamp, $mRestore, $mInvert, $mFilename;
-       var $mTargetTimestamp, $mAllowed, $mCanView, $mComment, $mToken;
-
-       /**
-        * @var Title
-        */
-       var $mTargetObj;
+       private $mAction;
+       private $mTarget;
+       private $mTimestamp;
+       private $mRestore;
+       private $mInvert;
+       private $mFilename;
+       private $mTargetTimestamp;
+       private $mAllowed;
+       private $mCanView;
+       private $mComment;
+       private $mToken;
+
+       /** @var Title */
+       private $mTargetObj;
 
        function __construct() {
                parent::__construct( 'Undelete', 'deletedhistory' );
@@ -1288,14 +1296,25 @@ class SpecialUndelete extends SpecialPage {
                                Xml::label( $this->msg( 'undeletecomment' )->text(), 'wpComment' ) .
                                "</td>
                                <td class='mw-input'>" .
-                               Xml::input( 'wpComment', 50, $this->mComment, array( 'id' => 'wpComment', 'autofocus' => true ) ) .
+                               Xml::input(
+                                       'wpComment',
+                                       50,
+                                       $this->mComment,
+                                       array( 'id' => 'wpComment', 'autofocus' => true )
+                               ) .
                                "</td>
                        </tr>
                        <tr>
                                <td>&#160;</td>
                                <td class='mw-submit'>" .
-                               Xml::submitButton( $this->msg( 'undeletebtn' )->text(), array( 'name' => 'restore', 'id' => 'mw-undelete-submit' ) ) . ' ' .
-                               Xml::submitButton( $this->msg( 'undeleteinvert' )->text(), array( 'name' => 'invert', 'id' => 'mw-undelete-invert' ) ) .
+                               Xml::submitButton(
+                                       $this->msg( 'undeletebtn' )->text(),
+                                       array( 'name' => 'restore', 'id' => 'mw-undelete-submit' )
+                               ) . ' ' .
+                               Xml::submitButton(
+                                       $this->msg( 'undeleteinvert' )->text(),
+                                       array( 'name' => 'invert', 'id' => 'mw-undelete-invert' )
+                               ) .
                                "</td>
                        </tr>" .
                                $unsuppressBox .
@@ -1422,7 +1441,17 @@ class SpecialUndelete extends SpecialPage {
                $revdlink = Linker::getRevDeleteLink( $user, $rev, $this->mTargetObj );
 
                $revisionRow = $this->msg( 'undelete-revision-row' )
-                       ->rawParams( $checkBox, $revdlink, $last, $pageLink, $userLink, $minor, $revTextSize, $comment, $tagSummary )
+                       ->rawParams(
+                               $checkBox,
+                               $revdlink,
+                               $last,
+                               $pageLink,
+                               $userLink,
+                               $minor,
+                               $revTextSize,
+                               $comment,
+                               $tagSummary
+                       )
                        ->escaped();
 
                return Xml::tags( 'li', $attribs, $revisionRow ) . "\n";
@@ -1622,13 +1651,23 @@ class SpecialUndelete extends SpecialPage {
                // Show revision undeletion warnings and errors
                $status = $archive->getRevisionStatus();
                if ( $status && !$status->isGood() ) {
-                       $out->addWikiText( '<div class="error">' . $status->getWikiText( 'cannotundelete', 'cannotundelete' ) . '</div>' );
+                       $out->addWikiText( '<div class="error">' .
+                               $status->getWikiText(
+                                       'cannotundelete',
+                                       'cannotundelete'
+                               ) . '</div>'
+                       );
                }
 
                // Show file undeletion warnings and errors
                $status = $archive->getFileStatus();
                if ( $status && !$status->isGood() ) {
-                       $out->addWikiText( '<div class="error">' . $status->getWikiText( 'undelete-error-short', 'undelete-error-long' ) . '</div>' );
+                       $out->addWikiText( '<div class="error">' .
+                               $status->getWikiText(
+                                       'undelete-error-short',
+                                       'undelete-error-long'
+                               ) . '</div>'
+                       );
                }
        }
 
index c897332..713823b 100644 (file)
  * @ingroup SpecialPage
  */
 class UnusedCategoriesPage extends QueryPage {
+       function __construct( $name = 'Unusedcategories' ) {
+               parent::__construct( $name );
+       }
 
        function isExpensive() {
                return true;
        }
 
-       function __construct( $name = 'Unusedcategories' ) {
-               parent::__construct( $name );
-       }
-
        function getPageHeader() {
                return $this->msg( 'unusedcategoriestext' )->parseAsBlock();
        }
index f7e7a31..0c2b870 100644 (file)
@@ -30,7 +30,6 @@
  * @ingroup SpecialPage
  */
 class UnusedtemplatesPage extends QueryPage {
-
        function __construct( $name = 'Unusedtemplates' ) {
                parent::__construct( $name );
        }
index 521b361..4887daf 100644 (file)
@@ -39,37 +39,45 @@ class SpecialUpload extends SpecialPage {
        }
 
        /** Misc variables **/
-       public $mRequest; // The WebRequest or FauxRequest this form is supposed to handle
+
+       /** @var WebRequest|FauxRequest The request this form is supposed to handle */
+       public $mRequest;
        public $mSourceType;
 
-       /**
-        * @var UploadBase
-        */
+       /** @var UploadBase */
        public $mUpload;
 
-       /**
-        * @var LocalFile
-        */
+       /** @var LocalFile */
        public $mLocalFile;
        public $mUploadClicked;
 
        /** User input variables from the "description" section **/
-       public $mDesiredDestName; // The requested target file name
+
+       /** @var string The requested target file name */
+       public $mDesiredDestName;
        public $mComment;
        public $mLicense;
 
        /** User input variables from the root section **/
+
        public $mIgnoreWarning;
        public $mWatchthis;
        public $mCopyrightStatus;
        public $mCopyrightSource;
 
        /** Hidden variables **/
+
        public $mDestWarningAck;
-       public $mForReUpload; // The user followed an "overwrite this file" link
-       public $mCancelUpload; // The user clicked "Cancel and return to upload form" button
+
+       /** @var bool The user followed an "overwrite this file" link */
+       public $mForReUpload;
+
+       /** @var bool The user clicked "Cancel and return to upload form" button */
+       public $mCancelUpload;
        public $mTokenOk;
-       public $mUploadSuccessful = false; // Subclasses can use this to determine whether a file was uploaded
+
+       /** @var bool Subclasses can use this to determine whether a file was uploaded */
+       public $mUploadSuccessful = false;
 
        /** Text injection points for hooks not using HTMLForm **/
        public $uploadFormTextTop;
@@ -449,7 +457,14 @@ class SpecialUpload extends SpecialPage {
                } else {
                        $pageText = false;
                }
-               $status = $this->mUpload->performUpload( $this->mComment, $pageText, $this->mWatchthis, $this->getUser() );
+
+               $status = $this->mUpload->performUpload(
+                       $this->mComment,
+                       $pageText,
+                       $this->mWatchthis,
+                       $this->getUser()
+               );
+
                if ( !$status->isGood() ) {
                        $this->showUploadError( $this->getOutput()->parse( $status->getWikiText() ) );
 
@@ -464,13 +479,15 @@ class SpecialUpload extends SpecialPage {
 
        /**
         * Get the initial image page text based on a comment and optional file status information
-        * @param $comment string
-        * @param $license string
-        * @param $copyStatus string
-        * @param $source string
+        * @param string $comment
+        * @param string $license
+        * @param string $copyStatus
+        * @param string $source
         * @return string
         */
-       public static function getInitialPageText( $comment = '', $license = '', $copyStatus = '', $source = '' ) {
+       public static function getInitialPageText( $comment = '', $license = '',
+               $copyStatus = '', $source = ''
+       ) {
                global $wgUseCopyrightUpload, $wgForceUIMsgAsContentMsg;
 
                $msg = array();
@@ -890,23 +907,32 @@ class UploadForm extends HTMLForm {
                # Print a list of allowed file extensions, if so configured.  We ignore
                # MIME type here, it's incomprehensible to most people and too long.
                global $wgCheckFileExtensions, $wgStrictFileExtensions,
-                  $wgFileExtensions, $wgFileBlacklist;
+                       $wgFileExtensions, $wgFileBlacklist;
 
                if ( $wgCheckFileExtensions ) {
                        if ( $wgStrictFileExtensions ) {
                                # Everything not permitted is banned
                                $extensionsList =
                                        '<div id="mw-upload-permitted">' .
-                                       $this->msg( 'upload-permitted', $this->getContext()->getLanguage()->commaList( array_unique( $wgFileExtensions ) ) )->parseAsBlock() .
+                                       $this->msg(
+                                               'upload-permitted',
+                                               $this->getContext()->getLanguage()->commaList( array_unique( $wgFileExtensions ) )
+                                       )->parseAsBlock() .
                                        "</div>\n";
                        } else {
                                # We have to list both preferred and prohibited
                                $extensionsList =
                                        '<div id="mw-upload-preferred">' .
-                                               $this->msg( 'upload-preferred', $this->getContext()->getLanguage()->commaList( array_unique( $wgFileExtensions ) ) )->parseAsBlock() .
+                                               $this->msg(
+                                                       'upload-preferred',
+                                                       $this->getContext()->getLanguage()->commaList( array_unique( $wgFileExtensions ) )
+                                               )->parseAsBlock() .
                                        "</div>\n" .
                                        '<div id="mw-upload-prohibited">' .
-                                               $this->msg( 'upload-prohibited', $this->getContext()->getLanguage()->commaList( array_unique( $wgFileBlacklist ) ) )->parseAsBlock() .
+                                               $this->msg(
+                                                       'upload-prohibited',
+                                                       $this->getContext()->getLanguage()->commaList( array_unique( $wgFileBlacklist ) )
+                                               )->parseAsBlock() .
                                        "</div>\n";
                        }
                } else {
@@ -1072,7 +1098,8 @@ class UploadForm extends HTMLForm {
         * Add upload JS to the OutputPage
         */
        protected function addUploadJS() {
-               global $wgUseAjax, $wgAjaxUploadDestCheck, $wgAjaxLicensePreview, $wgEnableAPI, $wgStrictFileExtensions;
+               global $wgUseAjax, $wgAjaxUploadDestCheck, $wgAjaxLicensePreview,
+                       $wgEnableAPI, $wgStrictFileExtensions;
 
                $useAjaxDestCheck = $wgUseAjax && $wgAjaxUploadDestCheck;
                $useAjaxLicensePreview = $wgUseAjax && $wgAjaxLicensePreview && $wgEnableAPI;
index 16c348f..964bea1 100644 (file)
@@ -57,7 +57,8 @@ class SpecialUploadStash extends UnlistedSpecialPage {
        /**
         * Execute page -- can output a file directly or show a listing of them.
         *
-        * @param string $subPage subpage, e.g. in http://example.com/wiki/Special:UploadStash/foo.jpg, the "foo.jpg" part
+        * @param string $subPage subpage, e.g. in
+        *   http://example.com/wiki/Special:UploadStash/foo.jpg, the "foo.jpg" part
         * @return Boolean: success
         */
        public function execute( $subPage ) {
@@ -100,7 +101,8 @@ class SpecialUploadStash extends UnlistedSpecialPage {
                        $message = $e->getMessage();
                } catch ( SpecialUploadStashTooLargeException $e ) {
                        $code = 500;
-                       $message = 'Cannot serve a file larger than ' . self::MAX_SERVE_BYTES . ' bytes. ' . $e->getMessage();
+                       $message = 'Cannot serve a file larger than ' . self::MAX_SERVE_BYTES .
+                               ' bytes. ' . $e->getMessage();
                } catch ( Exception $e ) {
                        $code = 500;
                        $message = $e->getMessage();
@@ -157,10 +159,11 @@ class SpecialUploadStash extends UnlistedSpecialPage {
         * @return boolean success
         */
        private function outputThumbFromStash( $file, $params ) {
-
-               // this global, if it exists, points to a "scaler", as you might find in the Wikimedia Foundation cluster. See outputRemoteScaledThumb()
-               // this is part of our horrible NFS-based system, we create a file on a mount point here, but fetch the scaled file from somewhere else that
-               // happens to share it over NFS
+               // this global, if it exists, points to a "scaler", as you might find in
+               // the Wikimedia Foundation cluster. See outputRemoteScaledThumb(). This
+               // is part of our horrible NFS-based system, we create a file on a mount
+               // point here, but fetch the scaled file from somewhere else that
+               // happens to share it over NFS.
                global $wgUploadStashScalerBaseUrl;
 
                $flags = 0;
@@ -172,16 +175,15 @@ class SpecialUploadStash extends UnlistedSpecialPage {
        }
 
        /**
-        * Scale a file (probably with a locally installed imagemagick, or similar) and output it to STDOUT.
+        * Scale a file (probably with a locally installed imagemagick, or similar)
+        * and output it to STDOUT.
         * @param $file File
         * @param array $params Scaling parameters ( e.g. array( width => '50' ) );
         * @param int $flags Scaling flags ( see File:: constants )
-        * @throws MWException
-        * @throws UploadStashFileNotFoundException
+        * @throws MWException|UploadStashFileNotFoundException
         * @return boolean success
         */
        private function outputLocallyScaledThumb( $file, $params, $flags ) {
-
                // n.b. this is stupid, we insist on re-transforming the file every time we are invoked. We rely
                // on HTTP caching to ensure this doesn't happen.
 
@@ -209,22 +211,28 @@ class SpecialUploadStash extends UnlistedSpecialPage {
        }
 
        /**
-        * Scale a file with a remote "scaler", as exists on the Wikimedia Foundation cluster, and output it to STDOUT.
-        * Note: unlike the usual thumbnail process, the web client never sees the cluster URL; we do the whole HTTP transaction to the scaler ourselves
-        *  and cat the results out.
-        * Note: We rely on NFS to have propagated the file contents to the scaler. However, we do not rely on the thumbnail being created in NFS and then
-        *   propagated back to our filesystem. Instead we take the results of the HTTP request instead.
-        * Note: no caching is being done here, although we are instructing the client to cache it forever.
+        * Scale a file with a remote "scaler", as exists on the Wikimedia Foundation
+        * cluster, and output it to STDOUT.
+        * Note: Unlike the usual thumbnail process, the web client never sees the
+        * cluster URL; we do the whole HTTP transaction to the scaler ourselves
+        * and cat the results out.
+        * Note: We rely on NFS to have propagated the file contents to the scaler.
+        * However, we do not rely on the thumbnail being created in NFS and then
+        * propagated back to our filesystem. Instead we take the results of the
+        * HTTP request instead.
+        * Note: No caching is being done here, although we are instructing the
+        * client to cache it forever.
+        *
         * @param File $file
         * @param array $params Scaling parameters ( e.g. array( width => '50' ) );
-        * @param $flags Scaling flags ( see File:: constants )
+        * @param int $flags Scaling flags ( see File:: constants )
         * @throws MWException
         * @return boolean success
         */
        private function outputRemoteScaledThumb( $file, $params, $flags ) {
-
-               // this global probably looks something like 'http://upload.wikimedia.org/wikipedia/test/thumb/temp'
-               // do not use trailing slash
+               // This global probably looks something like
+               // 'http://upload.wikimedia.org/wikipedia/test/thumb/temp'. Do not use
+               // trailing slash.
                global $wgUploadStashScalerBaseUrl;
                $scalerBaseUrl = $wgUploadStashScalerBaseUrl;
 
@@ -267,7 +275,8 @@ class SpecialUploadStash extends UnlistedSpecialPage {
         * Output HTTP response for file
         * Side effect: writes HTTP response to STDOUT.
         *
-        * @param $file File object with a local path (e.g. UnregisteredLocalFile, LocalFile. Oddly these don't share an ancestor!)
+        * @param File $file File object with a local path (e.g. UnregisteredLocalFile,
+        *   LocalFile. Oddly these don't share an ancestor!)
         * @throws SpecialUploadStashTooLargeException
         * @return bool
         */
@@ -303,7 +312,9 @@ class SpecialUploadStash extends UnlistedSpecialPage {
 
        /**
         * Output headers for streaming
-        * XXX unsure about encoding as binary; if we received from HTTP perhaps we should use that encoding, concatted with semicolon to mimeType as it usually is.
+        * @todo Unsure about encoding as binary; if we received from HTTP perhaps
+        * we should use that encoding, concatted with semicolon to mimeType as it
+        * usually is.
         * Side effect: preps PHP to write headers to STDOUT.
         * @param string $contentType String suitable for content-type header
         * @param string $size Length in bytes
@@ -398,4 +409,3 @@ class SpecialUploadStash extends UnlistedSpecialPage {
 
 class SpecialUploadStashTooLargeException extends MWException {
 }
-
index ec7bfa4..b049975 100644 (file)
@@ -27,7 +27,6 @@
  * @ingroup SpecialPage
  */
 class LoginForm extends SpecialPage {
-
        const SUCCESS = 0;
        const NO_NAME = 1;
        const ILLEGAL = 2;
@@ -43,26 +42,38 @@ class LoginForm extends SpecialPage {
        const NEED_TOKEN = 12;
        const WRONG_TOKEN = 13;
 
-       var $mUsername, $mPassword, $mRetype, $mReturnTo, $mCookieCheck, $mPosted;
-       var $mAction, $mCreateaccount, $mCreateaccountMail;
-       var $mLoginattempt, $mRemember, $mEmail, $mDomain, $mLanguage;
-       var $mSkipCookieCheck, $mReturnToQuery, $mToken, $mStickHTTPS;
-       var $mType, $mReason, $mRealName;
-       var $mAbortLoginErrorMsg = null;
+       public $mAbortLoginErrorMsg = null;
+
+       protected $mUsername;
+       protected $mPassword;
+       protected $mRetype;
+       protected $mReturnTo;
+       protected $mCookieCheck;
+       protected $mPosted;
+       protected $mAction;
+       protected $mCreateaccount;
+       protected $mCreateaccountMail;
+       protected $mLoginattempt;
+       protected $mRemember;
+       protected $mEmail;
+       protected $mDomain;
+       protected $mLanguage;
+       protected $mSkipCookieCheck;
+       protected $mReturnToQuery;
+       protected $mToken;
+       protected $mStickHTTPS;
+       protected $mType;
+       protected $mReason;
+       protected $mRealName;
+
        private $mTempPasswordUsed;
        private $mLoaded = false;
        private $mSecureLoginUrl;
 
-       /**
-        * @ var WebRequest
-        */
+       /** @var WebRequest */
        private $mOverrideRequest = null;
 
-       /**
-        * Effective request; set at the beginning of load
-        *
-        * @var WebRequest $mRequest
-        */
+       /** @var WebRequest Effective request; set at the beginning of load */
        private $mRequest = null;
 
        /**
@@ -107,10 +118,13 @@ class LoginForm extends SpecialPage {
                $this->mAction = $request->getVal( 'action' );
                $this->mRemember = $request->getCheck( 'wpRemember' );
                $this->mFromHTTP = $request->getBool( 'fromhttp', false );
-               $this->mStickHTTPS = ( !$this->mFromHTTP && $request->getProtocol() === 'https' ) || $request->getBool( 'wpForceHttps', false );
+               $this->mStickHTTPS = ( !$this->mFromHTTP && $request->getProtocol() === 'https' )
+                       || $request->getBool( 'wpForceHttps', false );
                $this->mLanguage = $request->getText( 'uselang' );
                $this->mSkipCookieCheck = $request->getCheck( 'wpSkipCookieCheck' );
-               $this->mToken = ( $this->mType == 'signup' ) ? $request->getVal( 'wpCreateaccountToken' ) : $request->getVal( 'wpLoginToken' );
+               $this->mToken = $this->mType == 'signup'
+                       ? $request->getVal( 'wpCreateaccountToken' )
+                       : $request->getVal( 'wpLoginToken' );
                $this->mReturnTo = $request->getVal( 'returnto', '' );
                $this->mReturnToQuery = $request->getVal( 'returntoquery', '' );
 
@@ -404,7 +418,12 @@ class LoginForm extends SpecialPage {
                }
 
                # Include checks that will include GlobalBlocking (Bug 38333)
-               $permErrors = $this->getPageTitle()->getUserPermissionsErrors( 'createaccount', $currentUser, true );
+               $permErrors = $this->getPageTitle()->getUserPermissionsErrors(
+                       'createaccount',
+                       $currentUser,
+                       true
+               );
+
                if ( count( $permErrors ) ) {
                        throw new PermissionsError( 'createaccount', $permErrors );
                }
@@ -414,8 +433,9 @@ class LoginForm extends SpecialPage {
                        return Status::newFatal( 'sorbs_create_account_reason' );
                }
 
-               // Normalize the name so that silly things don't cause "invalid username" errors.
-               // User::newFromName does some rather strict checking, rejecting e.g. leading/trailing/multiple spaces.
+               // Normalize the name so that silly things don't cause "invalid username"
+               // errors. User::newFromName does some rather strict checking, rejecting
+               // e.g. leading/trailing/multiple spaces.
                $title = Title::makeTitleSafe( NS_USER, $this->mUsername );
                if ( !is_object( $title ) ) {
                        return Status::newFatal( 'noname' );
@@ -487,7 +507,8 @@ class LoginForm extends SpecialPage {
 
                // Hook point to check for exempt from account creation throttle
                if ( !wfRunHooks( 'ExemptFromAccountCreationThrottle', array( $ip ) ) ) {
-                       wfDebug( "LoginForm::exemptFromAccountCreationThrottle: a hook allowed account creation w/o throttle\n" );
+                       wfDebug( "LoginForm::exemptFromAccountCreationThrottle: a hook " .
+                               "allowed account creation w/o throttle\n" );
                } else {
                        if ( ( $wgAccountCreationThrottle && $currentUser->isPingLimitable() ) ) {
                                $key = wfMemcKey( 'acctcreate', 'ip', $ip );
@@ -795,7 +816,7 @@ class LoginForm extends SpecialPage {
 
        function processLogin() {
                global $wgMemc, $wgLang, $wgSecureLogin, $wgPasswordAttemptThrottle,
-                          $wgInvalidPasswordReset;
+                       $wgInvalidPasswordReset;
 
                switch ( $this->authenticateUserData() ) {
                        case self::SUCCESS:
@@ -939,7 +960,9 @@ class LoginForm extends SpecialPage {
         * @param string $emailText message name of email text
         * @return Status object
         */
-       function mailPasswordInternal( $u, $throttle = true, $emailTitle = 'passwordremindertitle', $emailText = 'passwordremindertext' ) {
+       function mailPasswordInternal( $u, $throttle = true, $emailTitle = 'passwordremindertitle',
+               $emailText = 'passwordremindertext'
+       ) {
                global $wgNewPasswordExpiry;
 
                if ( $u->getEmail() == '' ) {
index d957e87..d65ac85 100644 (file)
@@ -27,7 +27,6 @@
  * @ingroup SpecialPage
  */
 class SpecialUserlogout extends UnlistedSpecialPage {
-
        function __construct() {
                parent::__construct( 'Userlogout' );
        }
index e0878f1..2a54ad7 100644 (file)
@@ -159,7 +159,9 @@ class UserrightsPage extends SpecialPage {
                                $targetUser->clearInstanceCache(); // bug 38989
                        }
 
-                       if ( $request->getVal( 'conflictcheck-originalgroups' ) !== implode( ',', $targetUser->getGroups() ) ) {
+                       if ( $request->getVal( 'conflictcheck-originalgroups' )
+                               !== implode( ',', $targetUser->getGroups() )
+                       ) {
                                $out->addWikiMsg( 'userrights-conflict' );
                        } else {
                                $this->saveUserGroups(
@@ -413,10 +415,25 @@ class UserrightsPage extends SpecialPage {
        function switchForm() {
                global $wgScript;
                $this->getOutput()->addHTML(
-                       Html::openElement( 'form', array( 'method' => 'get', 'action' => $wgScript, 'name' => 'uluser', 'id' => 'mw-userrights-form1' ) ) .
+                       Html::openElement(
+                               'form',
+                               array(
+                                       'method' => 'get',
+                                       'action' => $wgScript,
+                                       'name' => 'uluser',
+                                       'id' => 'mw-userrights-form1'
+                               )
+                       ) .
                        Html::hidden( 'title', $this->getPageTitle()->getPrefixedText() ) .
                        Xml::fieldset( $this->msg( 'userrights-lookup-user' )->text() ) .
-                       Xml::inputLabel( $this->msg( 'userrights-user-editname' )->text(), 'user', 'username', 30, str_replace( '_', ' ', $this->mTarget ), array( 'autofocus' => true ) ) . ' ' .
+                       Xml::inputLabel(
+                               $this->msg( 'userrights-user-editname' )->text(),
+                               'user',
+                               'username',
+                               30,
+                               str_replace( '_', ' ', $this->mTarget ),
+                               array( 'autofocus' => true )
+                       ) . ' ' .
                        Xml::submitButton( $this->msg( 'editusergroup' )->text() ) .
                        Html::closeElement( 'fieldset' ) .
                        Html::closeElement( 'form' ) . "\n"
@@ -485,9 +502,11 @@ class UserrightsPage extends SpecialPage {
                        $grouplist = $this->msg( 'userrights-groupsmember', $count, $user->getName() )->parse();
                        $grouplist = '<p>' . $grouplist . ' ' . $displayedList . "</p>\n";
                }
+
                $count = count( $autoList );
                if ( $count > 0 ) {
-                       $autogrouplistintro = $this->msg( 'userrights-groupsmember-auto', $count, $user->getName() )->parse();
+                       $autogrouplistintro = $this->msg( 'userrights-groupsmember-auto', $count, $user->getName() )
+                               ->parse();
                        $grouplist .= '<p>' . $autogrouplistintro . ' ' . $displayedAutolist . "</p>\n";
                }
 
@@ -499,13 +518,29 @@ class UserrightsPage extends SpecialPage {
                );
 
                $this->getOutput()->addHTML(
-                       Xml::openElement( 'form', array( 'method' => 'post', 'action' => $this->getPageTitle()->getLocalURL(), 'name' => 'editGroup', 'id' => 'mw-userrights-form2' ) ) .
+                       Xml::openElement(
+                               'form',
+                               array(
+                                       'method' => 'post',
+                                       'action' => $this->getPageTitle()->getLocalURL(),
+                                       'name' => 'editGroup',
+                                       'id' => 'mw-userrights-form2'
+                               )
+                       ) .
                        Html::hidden( 'user', $this->mTarget ) .
                        Html::hidden( 'wpEditToken', $this->getUser()->getEditToken( $this->mTarget ) ) .
-                       Html::hidden( 'conflictcheck-originalgroups', implode( ',', $user->getGroups() ) ) . // Conflict detection
+                       Html::hidden(
+                               'conflictcheck-originalgroups',
+                               implode( ',', $user->getGroups() )
+                       ) . // Conflict detection
                        Xml::openElement( 'fieldset' ) .
-                       Xml::element( 'legend', array(), $this->msg( 'userrights-editusergroup', $user->getName() )->text() ) .
-                       $this->msg( 'editinguser' )->params( wfEscapeWikiText( $user->getName() ) )->rawParams( $userToolLinks )->parse() .
+                       Xml::element(
+                               'legend',
+                               array(),
+                               $this->msg( 'userrights-editusergroup', $user->getName() )->text()
+                       ) .
+                       $this->msg( 'editinguser' )->params( wfEscapeWikiText( $user->getName() ) )
+                               ->rawParams( $userToolLinks )->parse() .
                        $this->msg( 'userrights-groups-help', $user->getName() )->parse() .
                        $grouplist .
                        Xml::tags( 'p', null, $this->groupCheckboxes( $groups, $user ) ) .
@@ -523,7 +558,9 @@ class UserrightsPage extends SpecialPage {
                                        <td></td>
                                        <td class='mw-submit'>" .
                                                Xml::submitButton( $this->msg( 'saveusergroups' )->text(),
-                                                       array( 'name' => 'saveusergroups' ) + Linker::tooltipAndAccesskeyAttribs( 'userrights-set' ) ) .
+                                                       array( 'name' => 'saveusergroups' ) +
+                                                               Linker::tooltipAndAccesskeyAttribs( 'userrights-set' )
+                                               ) .
                                        "</td>
                                </tr>" .
                        Xml::closeElement( 'table' ) . "\n" .
@@ -608,8 +645,13 @@ class UserrightsPage extends SpecialPage {
                                continue;
                        }
                        // Messages: userrights-changeable-col, userrights-unchangeable-col
-                       $ret .= Xml::element( 'th', null, $this->msg( 'userrights-' . $name . '-col', count( $column ) )->text() );
+                       $ret .= Xml::element(
+                               'th',
+                               null,
+                               $this->msg( 'userrights-' . $name . '-col', count( $column ) )->text()
+                       );
                }
+
                $ret .= "</tr>\n<tr>\n";
                foreach ( $columns as $column ) {
                        if ( $column === array() ) {
@@ -647,7 +689,10 @@ class UserrightsPage extends SpecialPage {
                // $this->changeableGroups()['remove'] doesn't work, of course. Thanks, PHP.
                $groups = $this->changeableGroups();
 
-               return in_array( $group, $groups['remove'] ) || ( $this->isself && in_array( $group, $groups['remove-self'] ) );
+               return in_array(
+                       $group,
+                       $groups['remove'] ) || ( $this->isself && in_array( $group, $groups['remove-self'] )
+               );
        }
 
        /**
@@ -657,13 +702,21 @@ class UserrightsPage extends SpecialPage {
        private function canAdd( $group ) {
                $groups = $this->changeableGroups();
 
-               return in_array( $group, $groups['add'] ) || ( $this->isself && in_array( $group, $groups['add-self'] ) );
+               return in_array(
+                       $group,
+                       $groups['add'] ) || ( $this->isself && in_array( $group, $groups['add-self'] )
+               );
        }
 
        /**
         * Returns $this->getUser()->changeableGroups()
         *
-        * @return Array array( 'add' => array( addablegroups ), 'remove' => array( removablegroups ), 'add-self' => array( addablegroups to self ), 'remove-self' => array( removable groups from self ) )
+        * @return array array(
+        *   'add' => array( addablegroups ),
+        *   'remove' => array( removablegroups ),
+        *   'add-self' => array( addablegroups to self ),
+        *   'remove-self' => array( removable groups from self )
+        *  )
         */
        function changeableGroups() {
                return $this->getUser()->changeableGroups();
index 98b30b7..c8add01 100644 (file)
@@ -29,7 +29,6 @@
  * @ingroup SpecialPage
  */
 class SpecialVersion extends SpecialPage {
-
        protected $firstExtOpened = false;
 
        protected static $extensionTypes = false;
@@ -142,7 +141,11 @@ class SpecialVersion extends SpecialPage {
         * @return string
         */
        private static function getMediaWikiCredits() {
-               $ret = Xml::element( 'h2', array( 'id' => 'mw-version-license' ), wfMessage( 'version-license' )->text() );
+               $ret = Xml::element(
+                       'h2',
+                       array( 'id' => 'mw-version-license' ),
+                       wfMessage( 'version-license' )->text()
+               );
 
                // This text is always left-to-right.
                $ret .= '<div class="plainlinks">';
@@ -163,12 +166,15 @@ class SpecialVersion extends SpecialPage {
                global $wgLang;
 
                if ( defined( 'MEDIAWIKI_INSTALL' ) ) {
-                       $othersLink = '[//www.mediawiki.org/wiki/Special:Version/Credits ' . wfMessage( 'version-poweredby-others' )->text() . ']';
+                       $othersLink = '[//www.mediawiki.org/wiki/Special:Version/Credits ' .
+                               wfMessage( 'version-poweredby-others' )->text() . ']';
                } else {
-                       $othersLink = '[[Special:Version/Credits|' . wfMessage( 'version-poweredby-others' )->text() . ']]';
+                       $othersLink = '[[Special:Version/Credits|' .
+                               wfMessage( 'version-poweredby-others' )->text() . ']]';
                }
 
-               $translatorsLink = '[//translatewiki.net/wiki/Translating:MediaWiki/Credits ' . wfMessage( 'version-poweredby-translators' )->text() . ']';
+               $translatorsLink = '[//translatewiki.net/wiki/Translating:MediaWiki/Credits ' .
+                       wfMessage( 'version-poweredby-translators' )->text() . ']';
 
                $authorList = array(
                        'Magnus Manske', 'Brion Vibber', 'Lee Daniel Crocker',
@@ -205,7 +211,11 @@ class SpecialVersion extends SpecialPage {
                // Allow a hook to add/remove items.
                wfRunHooks( 'SoftwareInfo', array( &$software ) );
 
-               $out = Xml::element( 'h2', array( 'id' => 'mw-version-software' ), wfMessage( 'version-software' )->text() ) .
+               $out = Xml::element(
+                               'h2',
+                               array( 'id' => 'mw-version-software' ),
+                               wfMessage( 'version-software' )->text()
+                       ) .
                                Xml::openElement( 'table', array( 'class' => 'wikitable plainlinks', 'id' => 'sv-software' ) ) .
                                "<tr>
                                        <th>" . wfMessage( 'version-software-product' )->text() . "</th>
@@ -331,7 +341,8 @@ class SpecialVersion extends SpecialPage {
 
        /**
         * @since 1.22 Returns the HEAD date in addition to the sha1 and link
-        * @return bool|string wgVersion + HEAD sha1 stripped to the first 7 chars with link and date, or false on failure
+        * @return bool|string wgVersion + HEAD sha1 stripped to the first 7 chars
+        *   with link and date, or false on failure
         */
        private static function getVersionLinkedGit() {
                global $IP, $wgLang;
@@ -422,7 +433,11 @@ class SpecialVersion extends SpecialPage {
                 */
                wfRunHooks( 'SpecialVersionExtensionTypes', array( &$this, &$extensionTypes ) );
 
-               $out = Xml::element( 'h2', array( 'id' => 'mw-version-ext' ), $this->msg( 'version-extensions' )->text() ) .
+               $out = Xml::element(
+                               'h2',
+                               array( 'id' => 'mw-version-ext' ),
+                               $this->msg( 'version-extensions' )->text()
+                       ) .
                        Xml::openElement( 'table', array( 'class' => 'wikitable plainlinks', 'id' => 'sv-ext' ) );
 
                // Make sure the 'other' type is set to an array.
@@ -617,7 +632,12 @@ class SpecialVersion extends SpecialPage {
                        }
                }
 
-               $versionString = Html::rawElement( 'span', array( 'class' => 'mw-version-ext-version' ), $canonicalVersion );
+               $versionString = Html::rawElement(
+                       'span',
+                       array( 'class' => 'mw-version-ext-version' ),
+                       $canonicalVersion
+               );
+
                if ( $vcsVersion ) {
                        if ( $vcsLink ) {
                                $vcsVerString = Linker::makeExternalLink(
@@ -928,7 +948,8 @@ class SpecialVersion extends SpecialPage {
                                sort( $list );
                        }
 
-                       return $this->getLanguage()->listToText( array_map( array( __CLASS__, 'arrayToString' ), $list ) );
+                       return $this->getLanguage()
+                               ->listToText( array_map( array( __CLASS__, 'arrayToString' ), $list ) );
                }
        }
 
@@ -1093,7 +1114,11 @@ class SpecialVersion extends SpecialPage {
                        'dir' => $language->getDir(),
                        'lang' => $language->getCode()
                );
-               $out = Html::element( 'h2', array( 'id' => 'mw-version-entrypoints' ), $this->msg( 'version-entrypoints' )->text() ) .
+               $out = Html::element(
+                               'h2',
+                               array( 'id' => 'mw-version-entrypoints' ),
+                               $this->msg( 'version-entrypoints' )->text()
+                       ) .
                        Html::openElement( 'table',
                                array(
                                        'class' => 'wikitable plainlinks',
@@ -1103,8 +1128,16 @@ class SpecialVersion extends SpecialPage {
                                )
                        ) .
                        Html::openElement( 'tr' ) .
-                       Html::element( 'th', $thAttribures, $this->msg( 'version-entrypoints-header-entrypoint' )->text() ) .
-                       Html::element( 'th', $thAttribures, $this->msg( 'version-entrypoints-header-url' )->text() ) .
+                       Html::element(
+                               'th',
+                               $thAttribures,
+                               $this->msg( 'version-entrypoints-header-entrypoint' )->text()
+                       ) .
+                       Html::element(
+                               'th',
+                               $thAttribures,
+                               $this->msg( 'version-entrypoints-header-url' )->text()
+                       ) .
                        Html::closeElement( 'tr' );
 
                foreach ( $entryPoints as $message => $value ) {
index 550e2e3..a4b9dd8 100644 (file)
@@ -32,7 +32,6 @@
  * @ingroup SpecialPage
  */
 class WantedTemplatesPage extends WantedQueryPage {
-
        function __construct( $name = 'Wantedtemplates' ) {
                parent::__construct( $name );
        }
index 68a514c..dd9f262 100644 (file)
@@ -28,9 +28,6 @@
  * @ingroup SpecialPage
  */
 class SpecialWatchlist extends ChangesListSpecialPage {
-       /**
-        * Constructor
-        */
        public function __construct( $page = 'Watchlist', $restriction = 'viewmywatchlist' ) {
                parent::__construct( $page, $restriction );
        }
@@ -164,7 +161,8 @@ class SpecialWatchlist extends ChangesListSpecialPage {
 
                // Calculate cutoff
                if ( $opts['days'] > 0 ) {
-                       $conds[] = 'rc_timestamp > ' . $dbr->addQuotes( $dbr->timestamp( time() - intval( $opts['days'] * 86400 ) ) );
+                       $conds[] = 'rc_timestamp > ' .
+                               $dbr->addQuotes( $dbr->timestamp( time() - intval( $opts['days'] * 86400 ) ) );
                }
 
                return $conds;
@@ -518,7 +516,9 @@ class SpecialWatchlist extends ChangesListSpecialPage {
                $label = $this->msg( $value ? 'show' : 'hide' )->escaped();
                $options[$name] = 1 - (int)$value;
 
-               return $this->msg( $message )->rawParams( Linker::linkKnown( $this->getPageTitle(), $label, array(), $options ) )->escaped();
+               return $this->msg( $message )
+                       ->rawParams( Linker::linkKnown( $this->getPageTitle(), $label, array(), $options ) )
+                       ->escaped();
        }
 
        protected function hoursLink( $h, $options = array() ) {
@@ -534,7 +534,8 @@ class SpecialWatchlist extends ChangesListSpecialPage {
 
        protected function daysLink( $d, $options = array() ) {
                $options['days'] = $d;
-               $message = ( $d ? $this->getLanguage()->formatNum( $d ) : $this->msg( 'watchlistall2' )->escaped() );
+               $message = $d ? $this->getLanguage()->formatNum( $d )
+                       : $this->msg( 'watchlistall2' )->escaped();
 
                return Linker::linkKnown(
                        $this->getPageTitle(),
index 2e07309..0587649 100644 (file)
  * @ingroup SpecialPage
  */
 class SpecialWhatLinksHere extends IncludableSpecialPage {
-
-       /**
-        * @var FormOptions
-        */
+       /** @var FormOptions */
        protected $opts;
 
        protected $selfTitle;
 
-       /**
-        * @var Title
-        */
+       /** @var Title */
        protected $target;
 
        protected $limits = array( 20, 50, 100, 250, 500 );
@@ -89,7 +84,13 @@ class SpecialWhatLinksHere extends IncludableSpecialPage {
 
                $out->setPageTitle( $this->msg( 'whatlinkshere-title', $this->target->getPrefixedText() ) );
                $out->addBacklinkSubtitle( $this->target );
-               $this->showIndirectLinks( 0, $this->target, $opts->getValue( 'limit' ), $opts->getValue( 'from' ), $opts->getValue( 'back' ) );
+               $this->showIndirectLinks(
+                       0,
+                       $this->target,
+                       $opts->getValue( 'limit' ),
+                       $opts->getValue( 'from' ),
+                       $opts->getValue( 'back' )
+               );
        }
 
        /**
@@ -185,7 +186,10 @@ class SpecialWhatLinksHere extends IncludableSpecialPage {
                        );
                }
 
-               if ( ( !$fetchlinks || !$plRes->numRows() ) && ( $hidetrans || !$tlRes->numRows() ) && ( $hideimages || !$ilRes->numRows() ) ) {
+               if ( ( !$fetchlinks || !$plRes->numRows() )
+                       && ( $hidetrans || !$tlRes->numRows() )
+                       && ( $hideimages || !$ilRes->numRows() )
+               ) {
                        if ( 0 == $level ) {
                                if ( !$this->including() ) {
                                        $out->addHTML( $this->whatlinkshereForm() );
@@ -323,12 +327,16 @@ class SpecialWhatLinksHere extends IncludableSpecialPage {
                }
 
                if ( count( $props ) ) {
-                       $propsText = $this->msg( 'parentheses' )->rawParams( implode( $msgcache['semicolon-separator'], $props ) )->escaped();
+                       $propsText = $this->msg( 'parentheses' )
+                               ->rawParams( implode( $msgcache['semicolon-separator'], $props ) )->escaped();
                }
 
                # Space for utilities links, with a what-links-here link provided
                $wlhLink = $this->wlhLink( $nt, $msgcache['whatlinkshere-links'] );
-               $wlh = Xml::wrapClass( $this->msg( 'parentheses' )->rawParams( $wlhLink )->escaped(), 'mw-whatlinkshere-tools' );
+               $wlh = Xml::wrapClass(
+                       $this->msg( 'parentheses' )->rawParams( $wlhLink )->escaped(),
+                       'mw-whatlinkshere-tools'
+               );
 
                return $notClose ?
                        Xml::openElement( 'li' ) . "$link $propsText $dirmark $wlh\n" :
@@ -462,7 +470,8 @@ class SpecialWhatLinksHere extends IncludableSpecialPage {
                        $types[] = 'hideimages';
                }
 
-               // Combined message keys: 'whatlinkshere-hideredirs', 'whatlinkshere-hidetrans', 'whatlinkshere-hidelinks', 'whatlinkshere-hideimages'
+               // Combined message keys: 'whatlinkshere-hideredirs', 'whatlinkshere-hidetrans',
+               // 'whatlinkshere-hidelinks', 'whatlinkshere-hideimages'
                // To be sure they will be found by grep
                foreach ( $types as $type ) {
                        $chosen = $this->opts->getValue( $type );
@@ -472,7 +481,10 @@ class SpecialWhatLinksHere extends IncludableSpecialPage {
                                $this->makeSelfLink( $msg, array_merge( $changed, $overrides ) ) )->escaped();
                }
 
-               return Xml::fieldset( $this->msg( 'whatlinkshere-filters' )->text(), $this->getLanguage()->pipeList( $links ) );
+               return Xml::fieldset(
+                       $this->msg( 'whatlinkshere-filters' )->text(),
+                       $this->getLanguage()->pipeList( $links )
+               );
        }
 
        protected function getGroupName() {
index edb1558..e05faef 100644 (file)
@@ -55,7 +55,13 @@ class WithoutInterwikiPage extends PageQueryPage {
                        Html::openElement( 'fieldset' ) . "\n" .
                        Html::element( 'legend', null, $this->msg( 'withoutinterwiki-legend' )->text() ) . "\n" .
                        Html::hidden( 'title', $t->getPrefixedText() ) . "\n" .
-                       Xml::inputLabel( $this->msg( 'allpagesprefix' )->text(), 'prefix', 'wiprefix', 20, $prefix ) . "\n" .
+                       Xml::inputLabel(
+                               $this->msg( 'allpagesprefix' )->text(),
+                               'prefix',
+                               'wiprefix',
+                               20,
+                               $prefix
+                       ) . "\n" .
                        Xml::submitButton( $this->msg( 'withoutinterwiki-submit' )->text() ) . "\n" .
                        Html::closeElement( 'fieldset' ) . "\n" .
                        Html::closeElement( 'form' );
index 7f1b62c..c07edce 100644 (file)
@@ -863,7 +863,6 @@ walla [{{fullurl:{{FULLPAGENAME}}|action=edit}} tbaddel essafħa hedhi]</span>',
 'revdelete-no-file' => 'الملف المحدد غير موجود.',
 'revdelete-show-file-confirm' => 'هل أنت متأكد أنك تريد رؤية مراجعة محذوفة للملف "<nowiki>$1</nowiki>" بتاريخ $2 الساعة $3؟',
 'revdelete-show-file-submit' => 'نعم',
-'revdelete-selected' => "'''{{PLURAL:$2|المراجعة المختارة|المراجعات المختارة}} ل[[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|حدث السجل المختار|أحداث السجل المختارة}}:'''",
 'revdelete-confirm' => 'الإداريون الآخرون في {{SITENAME}} سيظل بإمكانهم رؤية المحتوى المخفي ويمكنهم استرجاعه مجددا من خلال هذه الواجهة نفسها، مالم يتم وضع قيود إضافية.
 من فضلك أكد أنك تنوي فعل هذا، وأنك تفهم العواقب، وأنك تفعل هذا بالتوافق مع [[{{MediaWiki:Policy-url}}|السياسة]].',
index 741ceba..b3a7d31 100644 (file)
@@ -1140,7 +1140,6 @@ U kan wel hierdie verskil sien. Meer details kan in die [{{fullurl:{{#Special:Lo
 'revdelete-no-file' => 'Die gespesifiseerde lêer bestaan nie.',
 'revdelete-show-file-confirm' => 'Is u seker u wil die geskrapte weergawe van die lêer "<nowiki>$1</nowiki>" van $2 om $3 sien?',
 'revdelete-show-file-submit' => 'Ja',
-'revdelete-selected' => "'''Geselekteerde {{PLURAL:$2|wysiging|wysigings}} vir [[:$1]]:'''",
 'logdelete-selected' => "'''Geselekteerde {{PLURAL:$1|logboek aksie|logboek aksies}}:'''",
 'revdelete-confirm' => 'Bevestig asseblief dat u dit wil doen, dat u die nagevolge verstaan en dat u dit doen in ooreenstemming met die [[{{MediaWiki:Policy-url}}|beleid]].',
 'revdelete-suppress-text' => "Verberging van weergawes mag '''slegs''' in die volgende gevalle gebruik word:
index 8957226..69d22e3 100644 (file)
@@ -792,7 +792,6 @@ Shiko tek [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} regjistr
 'revdelete-nooldid-title' => 'Version i dëshiruar i pavfleshëm',
 'revdelete-nooldid-text' => 'Ose nuk keni përcaktuar një version(e) të dëshiruar për veprimin, ose versioni nuk ekziston, ose po mundoheni të fshihni versionin e tanishëm.',
 'revdelete-no-file' => 'Skeda e dhënë nuk ekziston.',
-'revdelete-selected' => "'''{{PLURAL:$2|Versioni i zgjedhur i|Versionet e zgjedhura të}} [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Veprimi i zgjedhur në regjistër|Veprimet e zgjedhura në regjistër}}:'''",
 'revdelete-legend' => 'Vendosni kufizimet për versionin:',
 'revdelete-hide-text' => 'Fshihe tekstin e versionit',
index 1fd2405..402697a 100644 (file)
@@ -728,7 +728,6 @@ $1ን ወይም ማንም ሌላ [[{{MediaWiki:Grouppage-sysop}}|መጋቢ]] ስ
 'revdelete-nooldid-text' => 'ይህ ተግባር የሚፈጸምበት ግብ (አላማ) እትም አልወሰኑም።',
 'revdelete-no-file' => 'የተወሰነው ፋይል አይኖርም።',
 'revdelete-show-file-submit' => 'አዎን',
-'revdelete-selected' => "'''ከ [[:$1]] {{PLURAL:$2|የተመረጡ ዝርያዎች|የተመረጡ ዝርያዎች}}:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|የተመረጠ መዝገብ ድርጊት|የተመረጡ መዝገብ ድርጊቶች}}፦'''",
 'revdelete-hide-text' => 'የእትሙ ጽሕፈት ይደበቅ',
 'revdelete-hide-image' => 'የፋይሉ ይዞታ ይደበቅ',
index ddabe7c..91c0963 100644 (file)
@@ -912,7 +912,6 @@ Encara puet veyer a comparanza; en trobará mas detalles en o [{{fullurl:{{#Spec
 'revdelete-no-file' => 'O fichero especificato no existe.',
 'revdelete-show-file-confirm' => 'Seguro que quiere veyer una versión borrata d\'o fichero "<nowiki>$1</nowiki>" d\'o $2 a las $3?',
 'revdelete-show-file-submit' => 'Sí',
-'revdelete-selected' => "'''{{PLURAL:$2|Versión trigata|Versions trigatas}} de [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Escaicimiento d'o rechistro trigato|Escaicimientos d'o rechistro trigatos}}:'''",
 'revdelete-confirm' => "Por favor confirme que ye mirando de fer ísto, que entiende as conseqüencias, y que lo ye fendo d'alcuerdo con [[{{MediaWiki:Policy-url}}|as politicas]].",
 'revdelete-suppress-text' => "Os borraus de versions '''nomás''' s'habrían de fer en os siguients casos:
index 9f839fb..890487b 100644 (file)
@@ -1457,7 +1457,6 @@ $2
 'revdelete-no-file' => 'الملف المحدد غير موجود.',
 'revdelete-show-file-confirm' => 'هل أنت متأكد أنك تريد رؤية مراجعة محذوفة للملف "<nowiki>$1</nowiki>" بتاريخ $2 الساعة $3؟',
 'revdelete-show-file-submit' => 'نعم',
-'revdelete-selected' => "'''{{PLURAL:$2|المراجعة المختارة|المراجعات المختارة}} ل[[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|حدث السجل المختار|أحداث السجل المختارة}}:'''",
 'revdelete-confirm' => 'الإداريون الآخرون في {{SITENAME}} سيظل بإمكانهم رؤية المحتوى المخفي ويمكنهم استرجاعه مجددا من خلال هذه الواجهة نفسها، مالم يتم وضع قيود إضافية.
 من فضلك أكد أنك تنوي فعل هذا، وأنك تفهم العواقب، وأنك تفعل هذا بالتوافق مع [[{{MediaWiki:Policy-url}}|السياسة]].',
index 52ba387..613081b 100644 (file)
@@ -615,7 +615,6 @@ $1',
 'rev-showdeleted' => 'ܚܘܝ',
 'revisiondelete' => 'ܫܘܦ/ܠܐ ܫܘܦ ܬܢܝܬ̈ܐ',
 'revdelete-show-file-submit' => 'ܐܝܢ',
-'revdelete-selected' => "'''{{PLURAL:$2|ܬܢܝܬܐ ܓܒܝܬܐ|ܬܢܝܬ̈ܐ ܓܒܝܬܐ}} ܕ [[:$1]]:'''",
 'revdelete-hide-text' => 'ܟܬܒܬܐ ܕܬܢܝܬܐ',
 'revdelete-hide-image' => 'ܛܫܝ ܚܒܝܫܬ̈ܐ ܕܠܦܦܐ',
 'revdelete-hide-name' => 'ܛܫܝ ܥܒܕܐ ܘܢܘܦܐ',
index 20d0d6c..0d31e77 100644 (file)
@@ -795,7 +795,6 @@ raha kayna bĝda.',
 'revdelete-no-file' => 'dak l-milef ma kayn-ċ.',
 'revdelete-show-file-confirm' => 'waċ mṫ\'kked baġi ṫċof ṃoṛajaĝa mḫdofa ṫaĝ milef "<nowiki>$1</nowiki>" mn $2 l-$3?',
 'revdelete-show-file-submit' => 'iyih',
-'revdelete-selected' => "'''{{PLURAL:$2|ṃoṛajaĝa mĥṫaṛa|ṃoṛajaĝaṫ mĥṫaṛa}} d-[[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|ḫadaṫ sijill mĥṫaṛ|aḫdaṫ sijill mĥṫaṛa}}:'''",
 'revdelete-legend' => 'dir ḍ-ḍawaḅit dl-vizibiliṫi',
 'revdelete-hide-text' => 'khbbi nass lmorajaa',
index 57a1f11..a78aeff 100644 (file)
@@ -1099,7 +1099,6 @@ $2',
 'revdelete-no-file' => 'الملف المتحدد مالوش وجود',
 'revdelete-show-file-confirm' => 'انتا متأكد من انك عايز تشوف المراجعه الممسوحه بتاعة الملف "<nowiki>$1</nowiki>" من  $2 لحد $3?',
 'revdelete-show-file-submit' => 'ايوه',
-'revdelete-selected' => "'''{{PLURAL:$2|المراجعه المختاره|المراجعات المختاره}} بتاعة [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|حدث السجل المختار|أحداث السجل المختارة}}:'''",
 'revdelete-confirm' => 'لو سمحت اتأكدد انك ناوى تعمل كدا, و انك فاهم اللى ح يترتب على كدا, و انك بتعمل كدا بالتوافق مع مع [[{{MediaWiki:Policy-url}}|السياسه]].',
 'revdelete-suppress-text' => "الكبت لازم ييتعمل '''بس''' فى الحالات دى:
index 7533511..ea31e56 100644 (file)
@@ -1139,7 +1139,6 @@ $3 য়ে আগবঢ়োৱা ইয়াৰ কাৰণ হৈছে
 'revdelete-no-file' => 'নিৰ্ধাৰিত ফাইলটো নাই।',
 'revdelete-show-file-confirm' => 'আপুনি "<nowiki>$1</nowiki>"  ফাইলৰ বিলোপ কৰা কৰা সংশোধন $2 তাৰিখৰ পৰা $3 সময়ত চাব বিচাৰিছে নেকি?',
 'revdelete-show-file-submit' => 'হয়',
-'revdelete-selected' => "'''[[:$1]]-ৰ {{PLURAL:$2|নিৰ্বাচিত সংশোধন|নিৰ্বাচিত সংশোধনসমূহ}}:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|টা নিৰ্বাচিত ল’গ ভৰ্তি|টা নিৰ্বাচিত ল’গ ভৰ্তি}}:'''",
 'revdelete-confirm' => 'অনুগ্ৰহ কৰি সাব্যস্ত কৰক যে আপুনি ইয়াৰ পৰিণাম বুজি আৰু [[{{MediaWiki:Policy-url}}|the policy]] ৰ সৈতে সহমত হৈ এই কামটো কৰিব বিচাৰিছে |',
 'revdelete-suppress-text' => "নিবাৰণ '''কেৱল''' তলত দিয়া কাৰণসমূহত ব্যৱহৃত হ’ব:
index 21830ad..a9cabd7 100644 (file)
@@ -1045,7 +1045,6 @@ Pues ver el diff; los detalles s'alcuentren nel [{{fullurl:{{#Special:Log}}/supr
 'revdelete-no-file' => 'El ficheru conseñáu nun esiste.',
 'revdelete-show-file-confirm' => '¿Tas seguru de que quies ver una versión desaniciada del ficheru "<nowiki>$1</nowiki>" del $2 a les $3?',
 'revdelete-show-file-submit' => 'Sí',
-'revdelete-selected' => "'''{{PLURAL:$2|Revisión seleicionada|Revisiones seleicionaes}} de [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Socesu del rexistru seleicionáu|Socesos del rexistru seleicionaos}}:'''",
 'revdelete-text-text' => 'Les revisiones desaniciaes inda apaecerán nel historial de la páxina, pero partes del conteníu nun sedrán accesibles al públicu.',
 'revdelete-text-file' => 'Les versiones del ficheru desaniciaes inda apaecerán nel historial del ficheru, pero partes del conteníu nun sedrán accesibles al públicu.',
index 6209cc6..163ac2e 100644 (file)
@@ -715,7 +715,6 @@ Ta ropasusu warzafu bu yo va [[Special:Search|aneyara ko wiki]] yawal.',
 'revdelete-nooldid-text' => 'Ta skura va bati fli, ont rin va jalaf betaks me bazeyel, ont yawayal da va noeltaf betaks palsel.',
 'revdelete-no-file' => 'Bazen iyeltak me krulder.',
 'revdelete-show-file-submit' => 'En',
-'revdelete-selected' => "'''{{PLURAL:$2|Reban betaks|Yon reban betaks}} va [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:\$1|Reban \"log\" bif|Yon reban \"log\" bif}} :'''",
 'revdelete-legend' => 'Skus irutareem',
 'revdelete-hide-text' => 'Palsera va betaracek',
index 927c0df..e92582e 100644 (file)
@@ -885,7 +885,6 @@ Mümkündür ki, bununla bağlı təfərrüatlar [{{fullurl:{{#Special:Log}}/del
 'revdelete-no-file' => 'Axtarılan fayl mövcud deyil',
 'revdelete-show-file-confirm' => '"<nowiki>$1</nowiki>" faylının $2 $3 tarixli silinmiş bir redaktəsini görmək istədiyinizdən əminsizinizmi?',
 'revdelete-show-file-submit' => 'Bəli',
-'revdelete-selected' => "'''[[:$1]] səhifəsinin {{PLURAL:$2|seçilmiş versiyası|seçilmiş versiyaları}}:'''",
 'logdelete-selected' => "'''Jurnalın {{PLURAL:$1|seçilmiş qeydi|seçilmiş qeydləri}}:'''",
 'revdelete-legend' => 'Məhdudiyyətləri müəyyənləşdir:',
 'revdelete-hide-text' => 'Səhifənin bu versiyasının mətnini gizlə',
index 6c4e1d2..9deafca 100644 (file)
@@ -987,7 +987,6 @@ $3 طرفین‌دن وئریلن سبب '$2",
 'revdelete-no-file' => 'آختاریلان فايل مؤوجود دئيیل',
 'revdelete-show-file-confirm' => '"<nowiki>$1</nowiki>" فایلینین $2 $3 تاریخ‌لی سیلینمیش بیر رئداکته‌سینی گؤرمک ایستدیگینیزدن امینسیزینیزمی؟',
 'revdelete-show-file-submit' => 'بلی',
-'revdelete-selected' => "[[:$1]] صحیفه‌سی‌نین {{PLURAL:$2|سئچیلمیش نوسخه لری|سئچیلمیش نوسخه لری }}:'",
 'logdelete-selected' => "'ژورنالین {{PLURAL:$1|سئچیلمیش قئیدی|سئچیلمیش قئیدلری}}:'",
 'revdelete-confirm' => 'خاهیش ائدیریک، بونو ائتمک ایستدیگینیزی، نتیجه‌لرینی آنلادیغینیزی، و بونو [[{{MediaWiki:Policy-url}}| پرینسیپ‌لره]] گؤره ائدیر اولدوغونوزو تسدیق ائدین.',
 'revdelete-suppress-text' => "ساخلاما 'یالنیز آشاغی‌داکی حال‌لار اوچون ایستیفاده ائدیلمه‌لی‌دیر:
index ba530dd..c6a8465 100644 (file)
@@ -1075,7 +1075,6 @@ $3 белдергән сәбәп: ''$2''",
 'revdelete-no-file' => 'Күрһәтелгән файл юҡ.',
 'revdelete-show-file-confirm' => '$2, $3 ваҡытлы «<nowiki>$1</nowiki> файлының юйылған версияһын ҡарарға теләүегеҙҙе раҫлайһығыҙмы?',
 'revdelete-show-file-submit' => 'Эйе',
-'revdelete-selected' => "'''[[:$1]] битенең {{PLURAL:$2|1=һайланған версияһы|һайланған версиялары}}:'''",
 'logdelete-selected' => "'''Яҙманың {{PLURAL:$1|1=һайланған яҙыуы|һайланған яҙыуҙары}}:'''",
 'revdelete-confirm' => 'Зинһар, был ғәмәлде үтәргә теләүегеҙҙе, буласаҡ һөҙөмтәләрҙә аңлауығыҙҙы, [[{{MediaWiki:Policy-url}}|ҡағиҙәләр]] буйынса эшләүегеҙҙе раҫлағыҙ.',
 'revdelete-suppress-text' => "Йәшереү '''тик''' киләһе осраҡтарҙа ғына башҡарыла:
index c3cf10f..759befd 100644 (file)
@@ -832,7 +832,6 @@ Legend: (cur) = تفاوتان گون هنوکین نسخه,
 ،بازبینی مشخص موجود نهنت، یا شما تلاش کنیت هنوکین بازبینی پناه کنیت.',
 'revdelete-no-file' => 'فایل مشخص بیتگین موجود نهنت',
 'revdelete-show-file-submit' => 'بله',
-'revdelete-selected' => "'''{{PLURAL:$2|بازبینی انتخابی|بازبینی ان انتخابی}} چه [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|رویداد آمار انتخابی|رویداد ان آمار انتخابی}}:'''",
 'revdelete-suppress-text' => "فرونشانی بایدن '''فقط''' په جهلگین موارد استفاده بیت:
 * اطلاعات نامناسب شخصی
index 7095f75..2c359cf 100644 (file)
@@ -1046,7 +1046,6 @@ Ika puwedeng makakatanaw kaining diff; mga detalye puwedeng mananagboan sa [{{fu
 'revdelete-no-file' => 'An sagunson na pinaghayag dae tabi eksistido.',
 'revdelete-show-file-confirm' => 'Segurado ka tabi na gusto mo matanaw sarong pinagpurang pagbabago kan sagunson "<nowiki>$1</nowiki>" poon $2 sa $3?',
 'revdelete-show-file-submit' => 'Iyo tabi',
-'revdelete-selected' => "'''{{PLURAL:$2|Selected revision|Mga piniling pagbabago}} kan [[:$1]]'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Selected log event|Mga piniling talaan kan mga pangyayari}}:'''",
 'revdelete-confirm' => 'Pakikumpirma tabi na ika tuyong gumibo kaini, na saimong naintindihan an mga konsekuwensiya, asin ta ika pinaghihimo ini na uyon sa [[{{MediaWiki:Policy-url}}|an palisiya]].',
 'revdelete-suppress-text' => "An paglulubog dapat '''sana''' magagamit para sa minasunod na mga kaso:
index 006f2da..7d5f1f8 100644 (file)
@@ -111,7 +111,7 @@ $messages = array(
 'tog-previewontop' => 'Папярэдні паказ — над рэдактарскім полем',
 'tog-previewonfirst' => 'Папярэдні паказ пры першай праўцы',
 'tog-enotifwatchlistpages' => 'Слаць мне эл.пошту, калі мяняецца старонка ў маім спісе назірання',
-'tog-enotifusertalkpages' => 'СлаÑ\86Ñ\8c Ñ\8dл.поÑ\88Ñ\82Ñ\83 Ð¿Ñ\80а Ð¼ÐµÐ½Ñ\8b Ñ\9e Ð¼Ð°Ñ\91й Ñ\80азмоÑ\9eнай Ñ\81Ñ\82аÑ\80онÑ\86Ñ\8b',
+'tog-enotifusertalkpages' => 'Ð\9fаведамлÑ\8fÑ\86Ñ\8c Ð¼Ð½Ðµ Ð½Ð° Ñ\8dл.поÑ\88Ñ\82Ñ\83 Ð°Ð± Ð·Ð¼ÐµÐ½Ð°Ñ\85 Ð½Ð° Ð¼Ð°Ñ\91й Ñ\81Ñ\82аÑ\80онÑ\86Ñ\8b Ñ\80азмоÑ\9e',
 'tog-enotifminoredits' => 'Паведамяць мне на эл.пошту пра дробныя праўкі старонак і файлаў',
 'tog-enotifrevealaddr' => 'Не скрываць майго адрасу эл.пошты ў паведамленнях',
 'tog-shownumberswatching' => 'Паказваць колькасць назіральнікаў',
@@ -936,7 +936,6 @@ $2
 'revdelete-no-file' => 'Пазначаны файл не існуе.',
 'revdelete-show-file-confirm' => 'Ці сапраўды паказаць сцёртую версію файла "<nowiki>$1</nowiki>" ($2 $3)?',
 'revdelete-show-file-submit' => 'Так',
-'revdelete-selected' => "'''{{PLURAL:$2|Выбраная версія|Выбраныя версіі}} [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Выбраны запіс|Выбраныя запісы}} журналу:'''",
 'revdelete-confirm' => 'Пацвердзіце, што вы жадаеце гэта зрабіць, што вы разумееце наступствы, і што вы робіце гэта ў адпаведнасці з [[{{MediaWiki:Policy-url}}|арганізацыйнымі правіламі]].',
 'revdelete-suppress-text' => "Заглушэнне належыць ужываць '''выключна''' ў наступных выпадках:
@@ -1342,7 +1341,7 @@ $1",
 'nchanges' => '$1 {{PLURAL:$1|змена|змены|змен}}',
 'recentchanges' => 'Апошнія змены',
 'recentchanges-legend' => 'Магчымасці паказу',
-'recentchanges-summary' => 'Гэта апошнія мены на пляцоўцы {{SITENAME}}.',
+'recentchanges-summary' => 'Ð\93Ñ\8dÑ\82а Ð°Ð¿Ð¾Ñ\88нÑ\96Ñ\8f Ð·Ð¼ÐµÐ½Ñ\8b Ð½Ð° Ð¿Ð»Ñ\8fÑ\86оÑ\9eÑ\86Ñ\8b {{SITENAME}}.',
 'recentchanges-feed-description' => 'Сачыць за найбольш актуальнымі змяненнямі ў віксе праз гэты струмень навін.',
 'recentchanges-label-newpage' => 'Гэтай праўкай была створана новая старонка',
 'recentchanges-label-minor' => 'Гэта дробная па значэнні праўка',
@@ -1987,7 +1986,7 @@ $1',
 'enotif_mailer' => 'Апавяшчальнік {{SITENAME}}',
 'enotif_reset' => 'Пазначыць усе старонкі як наведаныя',
 'enotif_impersonal_salutation' => 'Шаноўны ўдзельнік {{SITENAME}}',
-'enotif_lastvisited' => 'Гл. $1 каб бачыць усе мены пасля вашага апошняга наведвання.',
+'enotif_lastvisited' => 'Ð\93л. $1 ÐºÐ°Ð± Ð±Ð°Ñ\87Ñ\8bÑ\86Ñ\8c Ñ\83Ñ\81е Ð·Ð¼ÐµÐ½Ñ\8b Ð¿Ð°Ñ\81лÑ\8f Ð²Ð°Ñ\88ага Ð°Ð¿Ð¾Ñ\88нÑ\8fга Ð½Ð°Ð²ÐµÐ´Ð²Ð°Ð½Ð½Ñ\8f.',
 'enotif_lastdiff' => 'Гл. $1 каб бачыць гэтую мену.',
 'enotif_anon_editor' => 'ананімны ўдзельнік $1',
 'enotif_body' => 'Паважаны(ая) $WATCHINGUSERNAME,
@@ -2612,7 +2611,7 @@ $1',
 'tooltip-n-randompage' => 'Паказаць выпадковую старонку',
 'tooltip-n-help' => 'Дзе можна атрымаць тлумачэнні.',
 'tooltip-t-whatlinkshere' => 'Спіс вікі-старонак, што спасылаюцца сюды',
-'tooltip-t-recentchangeslinked' => 'Нядаўнія мены ў старонках, на якія спасылаецца гэтая старонка',
+'tooltip-t-recentchangeslinked' => 'Ð\9dÑ\8fдаÑ\9eнÑ\96Ñ\8f Ð·Ð¼ÐµÐ½Ñ\8b Ñ\9e Ñ\81Ñ\82аÑ\80онкаÑ\85, Ð½Ð° Ñ\8fкÑ\96Ñ\8f Ñ\81паÑ\81Ñ\8bлаеÑ\86Ñ\86а Ð³Ñ\8dÑ\82аÑ\8f Ñ\81Ñ\82аÑ\80онка',
 'tooltip-feed-rss' => 'RSS-струмень гэтай старонкі',
 'tooltip-feed-atom' => 'Струмень навін Atom для гэтай старонкі',
 'tooltip-t-contributions' => 'Паказаць пералік укладаў гэтага ўдзельніка',
@@ -3298,8 +3297,8 @@ $5
 'livepreview-error' => 'Не ўдалося далучыцца: $1 "$2". Паспрабуйце звычайны перадпаказ.',
 
 # Friendlier slave lag warnings
-'lag-warn-normal' => 'Ð\9cенÑ\8b, Ð½Ð°Ð²ÐµÐ¹Ñ\88Ñ\8bÑ\8f Ð·Ð° $1 {{PLURAL:$1|Ñ\81ек.|Ñ\81ек.}}, Ð¼Ð¾Ð³Ñ\83Ñ\86Ñ\8c Ð½Ðµ Ñ\82Ñ\80апÑ\96Ñ\86Ñ\8c Ñ\83 Ð³Ñ\8dÑ\82Ñ\8b Ð¿Ð°ÐºÐ°Ð·.',
-'lag-warn-high' => 'Ð\97 Ð¿Ñ\80Ñ\8bÑ\87Ñ\8bнÑ\8b Ð¼Ð¾Ñ\86нÑ\8bÑ\85 Ð·Ð°Ñ\82Ñ\80Ñ\8bмак Ð½Ð° Ñ\81еÑ\80веÑ\80Ñ\8b Ð±Ð°Ð· Ð´Ð°Ð½Ñ\8bÑ\85, Ð¼ÐµÐ½Ñ\8b, Ð½Ð°Ð²ÐµÐ¹Ñ\88Ñ\8bÑ\8f Ð·Ð° $1 {{PLURAL:$1|Ñ\81ек.|Ñ\81ек.}}, Ð¼Ð¾Ð³Ñ\83Ñ\86Ñ\8c Ð½Ðµ Ñ\82Ñ\80апÑ\96Ñ\86Ñ\8c Ñ\83 Ð³Ñ\8dÑ\82Ñ\8b Ð¿Ð°ÐºÐ°Ð·.',
+'lag-warn-normal' => 'Ð\97менÑ\8b, Ð·Ñ\80обленÑ\8bÑ\8f Ð¼ÐµÐ½Ñ\88 Ð·Ð° $1 {{PLURAL:$1|Ñ\81ек.|Ñ\81ек.}} Ð½Ð°Ð·Ð°Ð´, Ð¼Ð¾Ð³Ñ\83Ñ\86Ñ\8c Ð½Ðµ Ñ\82Ñ\80апÑ\96Ñ\86Ñ\8c Ñ\83 Ð³Ñ\8dÑ\82Ñ\8b Ñ\81пÑ\96Ñ\81.',
+'lag-warn-high' => 'Ð\97 Ð¿Ñ\80Ñ\8bÑ\87Ñ\8bнÑ\8b Ð¼Ð¾Ñ\86нÑ\8bÑ\85 Ð·Ð°Ñ\82Ñ\80Ñ\8bмак Ð½Ð° Ñ\81еÑ\80веÑ\80Ñ\8b Ð±Ð°Ð· Ð´Ð°Ð½Ñ\8bÑ\85, Ð·Ð¼ÐµÐ½Ñ\8b, Ð·Ñ\80обленÑ\8bÑ\8f Ð¿Ð°Ð·Ð½ÐµÐ¹ Ñ\87Ñ\8bм $1 {{PLURAL:$1|Ñ\81ек.|Ñ\81ек.}} Ð½Ð°Ð·Ð°Ð´, Ð¼Ð¾Ð³Ñ\83Ñ\86Ñ\8c Ð½Ðµ Ñ\82Ñ\80апÑ\96Ñ\86Ñ\8c Ñ\83 Ð³Ñ\8dÑ\82Ñ\8b Ñ\81пÑ\96Ñ\81.',
 
 # Watchlist editor
 'watchlistedit-numitems' => 'У назіраным {{PLURAL:$1|1 складнік|$1 складнікаў}}, без уліку размоўных старонак.',
index a862b4a..88c966d 100644 (file)
@@ -1213,7 +1213,6 @@ $2
 'revdelete-no-file' => 'Пазначаны файл не існуе.',
 'revdelete-show-file-confirm' => 'Вы ўпэўненыя, што жадаеце паглядзець выдаленую вэрсію файла «<nowiki>$1</nowiki>» ад $2 $3?',
 'revdelete-show-file-submit' => 'Так',
-'revdelete-selected' => "'''{{PLURAL:$2|1=Выбраная вэрсія|Выбраныя вэрсіі}} старонкі [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|1=Выбраны запіс|Выбраныя запісы}} журнала:'''",
 'revdelete-text-text' => 'Выдаленыя вэрсіі будуць па-ранейшаму бачныя ў гісторыі старонкі, але некаторыя часткі іх зьместу будуць недаступныя для ўдзельнікаў.',
 'revdelete-text-file' => 'Выдаленыя вэрсіі файла будуць па-ранейшаму бачныя ў гісторыі старонкі, але часткі іх зьместу будуць недаступныя для ўдзельнікаў.',
@@ -2075,6 +2074,8 @@ $1',
 
 # List duplicated files special page
 'listduplicatedfiles' => 'Сьпіс файлаў з дублікатамі',
+'listduplicatedfiles-summary' => 'Гэта сьпіс файлаў, дзе самая апошняя вэрсія файла зьяўляецца дублікатам самай апошняй вэрсіі нейкага іншага файла. Улічваюцца толькі лякальныя файлы.',
+'listduplicatedfiles-entry' => '[[:File:$1|$1]] мае [[$3|$2 {{PLURAL:$2|дублікат|дублікаты|дублікатаў}}]].',
 
 # Unused templates
 'unusedtemplates' => 'Шаблёны, якія не выкарыстоўваюцца',
index 9a3bdfc..e6f653e 100644 (file)
@@ -1150,7 +1150,6 @@ $2
 'revdelete-no-file' => 'Посоченият файл не съществува.',
 'revdelete-show-file-confirm' => 'Необходимо е потвърждение, че желаете да прегледате изтритата версия на файла „<nowiki>$1</nowiki>“ от $2 $3.',
 'revdelete-show-file-submit' => 'Да',
-'revdelete-selected' => "'''{{PLURAL:$2|Избрана версия|Избрани версии}} от '''$1:''''''",
 'logdelete-selected' => "'''{{PLURAL:$1|Избрано събитие|Избрани събития}}:'''",
 'revdelete-confirm' => 'Необходимо е да потвърдите, че велаете да извършите действието, разбирате последствията и го правите според [[{{MediaWiki:Policy-url}}|политиката]].',
 'revdelete-suppress-text' => "Премахването трябва да се използва '''само''' при следните случаи:
index dd24dbd..5243a77 100644 (file)
@@ -996,7 +996,6 @@ Sawagai saurang pambakal Pian kawa nang balain ini; rarincian kawa diugai dalam
 'revdelete-no-file' => 'Barakas nang diajuakan kadada.',
 'revdelete-show-file-confirm' => 'Pian bujurkah handak maniringi sabuah ralatan tahapus matan barakas "<nowiki>$1</nowiki>" $2 pada $3?',
 'revdelete-show-file-submit' => 'Iya-ai',
-'revdelete-selected' => "'''{{PLURAL:$2|Ralatan tapilih|Raralatan tapilih}} matan [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Log kajadian tapilih|Log kakajadian tapilih}}:'''",
 'revdelete-confirm' => 'Muhun yakinakan bahwasa Pian handak manggawi ini, bahwasa Pian paham sabab akibat, wan bahwasa Pian manggawi ini bapandal awan [[{{MediaWiki:Policy-url}}|kaaripan]].',
 'revdelete-suppress-text' => "Panikinan parlu dipuruk gasan kakasus baumpat ini:
index 105fb31..315826c 100644 (file)
@@ -517,6 +517,7 @@ $2',
 'gotaccountlink' => 'প্রবেশ',
 'userlogin-resetlink' => 'আপনার লগইনের বিস্তারিত তথ্যাদি ভুলে গেছেন?',
 'userlogin-resetpassword-link' => 'শব্দচাবি ভুলে গেছেন?',
+'userlogin-helplink2' => 'লগইন সংক্রান্ত সাহায্য',
 'userlogin-loggedin' => 'আপনি বর্তমানে {{GENDER:$1|$1}} হিসাবে লগইন আছেন।
 অন্য ব্যবহারকারী নামে লগইন করতে চাইলে নিচের ফর্মটি ব্যবহার করুন।',
 'userlogin-createanother' => 'আরেকটি অ্যাকাউন্ট তৈরি করুন',
@@ -1014,7 +1015,6 @@ $3-এর দেয়া কারণ হল ''$2''",
 'revdelete-no-file' => 'নির্ধারিত ফাইলটি নেই।',
 'revdelete-show-file-confirm' => 'আপনি কি নিশ্চিত যে "<nowiki>$1</nowiki>" ফাইলের $2 তারিখের $3 টার অপসারণ লগ দেখানো হবে?',
 'revdelete-show-file-submit' => 'হ্যাঁ',
-'revdelete-selected' => "'''[[:$1]] পাতার {{PLURAL:$2|নির্বাচিত সংশোধন|নির্বাচিত সংশোধনসমূহ}}:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|টি নির্বাচিত লগ-ঘটনা|টি নির্বাচিত লগ-ঘটনা}}:'''",
 'revdelete-confirm' => 'অনুগ্রহ করে নিশ্চিত করুন যে আপনি এটি করতে চাচ্ছিলেন, আপনি এর ফলাফল সম্পর্কে অবগত আছেন, এবং [[{{MediaWiki:Policy-url}}|নীতিমালার]] উপর ভিত্তি করেই এই কাজটি করছেন।',
 'revdelete-suppress-text' => "নিচের বিষয়গুলোর ক্ষেত্রেই '''কেবলমাত্র'''  চাপাচাপি করা যাবে:
index a00db24..507a889 100644 (file)
@@ -621,6 +621,7 @@ Na zisoñjit ket resisaat ho [[Special:Preferences|penndibaboù evit {{SITENAME}
 'gotaccountlink' => 'Kevreañ',
 'userlogin-resetlink' => "Ha disoñjet eo bet ho titouroù kevreañ ganeoc'h ?",
 'userlogin-resetpassword-link' => 'Ankouaet ho peus ho ker-tremen ?',
+'userlogin-helplink2' => 'Skoazell evit kevreañ',
 'userlogin-loggedin' => "Kevreet oc'h dija evel {{GENDER:$1|$1}}.
 Implijit ar furmskrid amañ dindan evit kevreañ evel un implijer all.",
 'userlogin-createanother' => 'Krouiñ ur gont all',
@@ -1114,7 +1115,6 @@ Gallout a ri gwelet an diforc'h-mañ ; titouroù zo war [{{fullurl:{{#Special:Lo
 'revdelete-no-file' => "N'eus ket eus ar restr spisaet ganeoc'h.",
 'revdelete-show-file-confirm' => 'Ha sur oc\'h e fell deoc\'h gwelet stumm diverket ar restr "<nowiki>$1</nowiki>" deiziataet eus an $2 da $3?',
 'revdelete-show-file-submit' => 'Ya',
-'revdelete-selected' => "'''{{PLURAL:$2|Stumm dibabet|Stummoù dibabet}} eus [[:$1]] :'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Darvoud eus ar marilh diuzet|Darvoud eus ar marilh diuzet}} :'''",
 'revdelete-confirm' => "Kadarnait eo mat an dra-se a fell deoc'h ober, e komprenit mat ar pezh a empleg, hag en grit en ur zoujañ d'ar [[{{MediaWiki:Policy-url}}|reolennoù]].",
 'revdelete-suppress-text' => "Ne zlefe an dilemel bezañ implijet <strong>nemet</strong> abalamour d'an abegoù da-heul :
@@ -1377,6 +1377,7 @@ Ma skrivit anezhañ e vo implijet evit lakaat war wel ar pezh a vo bet degaset g
 'prefs-tokenwatchlist' => 'Jedouer',
 'prefs-diffs' => "Diforc'hioù",
 'prefs-help-prefershttps' => "Efediñ a ray an dibarzh-mañ kentañ gwech ma kevreoc'h.",
+'prefs-tabs-navigation-hint' => 'Titourig : Gallout a rit implijout an touchennoù bir kleiz ha bir dehoù evit merdeiñ etre an ivinelloù e roll an ivinelloù.',
 
 # User preference: email validation using jQuery
 'email-address-validity-valid' => "Reizh eo ar chomlec'h postel war a seblant",
@@ -1563,7 +1564,7 @@ Ma skrivit anezhañ e vo implijet evit lakaat war wel ar pezh a vo bet degaset g
 'recentchanges-label-plusminus' => 'Kemmet eo ment ar bajenn eus an niver-mañ a oktedoù',
 'recentchanges-legend-heading' => "'''Alc'hwez :'''",
 'recentchanges-legend-newpage' => '(gwelet ivez [[Special:NewPages|roll ar pajennoù nevez]])',
-'rcnotefrom' => "Setu aze roll ar c'hemmoù c'hoarvezet abaoe an '''$2''' ('''$1''' d'ar muiañ).",
+'rcnotefrom' => "Setu aze roll ar c'hemmoù c'hoarvezet abaoe an <strong>$2</strong> (<strong>$1</strong> d'ar muiañ).",
 'rclistfrom' => "Diskouez ar c'hemmoù diwezhañ abaoe an $1.",
 'rcshowhideminor' => "$1 ar c'hemmoù dister",
 'rcshowhideminor-show' => 'Diskouez',
@@ -1706,6 +1707,7 @@ Mar fell deoc'h enporzhiañ ar restr-mañ da vat, kit war ho kiz hag enporzhiit
 'uploaddisabledtext' => 'Diweredekaet eo an enporzhiañ restroù.',
 'php-uploaddisabledtext' => 'Diweredekaet eo bet ar pellgargañ e PHP. Gwiriit an dibarzh arventennoù file_uploads.',
 'uploadscripted' => "Er restr-mañ ez eus kodoù HTML pe skriptoù a c'hallfe bezañ kammgomprenet gant ur merdeer Kenrouedad.",
+'uploadinvalidxml' => "N'eus ket bet gallet dielfennañ an XML er restr ezporzhiet.",
 'uploadvirus' => 'Viruzet eo ar restr! Titouroù : $1',
 'uploadjava' => "Ur restr ZIP a ra gant Java .class eo homañ.
 N'haller ket enporzhiañ restroù Java peogwir e c'haller mont dreist da vevennoù surentez ganto.",
@@ -2536,8 +2538,10 @@ $1',
 'sp-contributions-blocked-notice-anon' => "Stanket eo ar chomlec'h IP-mañ evit ar mare.
 Dindan emañ merket enmont diwezhañ marilh ar stankadennoù, d'ho kelaouiñ :",
 'sp-contributions-search' => 'Klask degasadennoù',
+'sp-contributions-suppresslog' => 'degasadennoù diverket un implijer',
 'sp-contributions-username' => "Anv implijer pe chomlec'h IP :",
 'sp-contributions-toponly' => 'Na ziskouez nemet an adweladennoù diwezhañ',
+'sp-contributions-newonly' => 'Diskouez an aozadennoù a zo krouidigezhioù pajennoù hepken',
 'sp-contributions-submit' => 'Klask',
 
 # What links here
@@ -2657,7 +2661,7 @@ Setu amañ perak $1 : "$2"',
 'range_block_disabled' => "Diweredekaet eo bet ar stankañ stuc'hadoù IP.",
 'ipb_expiry_invalid' => 'amzer termen direizh.',
 'ipb_expiry_temp' => "Peurbadus e rank bezañ bloc'hadoù an implijerien guzh.",
-'ipb_hide_invalid' => 'Dibosupl diverkañ ar gont-mañ; evit doare ez eus bet graet re a gemmoù enni.',
+'ipb_hide_invalid' => "Ne c'haller ket dilemel ar gont-mañ : Ouzhpenn {{PLURAL:$1|ur c'hemm|$1 kemm}} zo enni.",
 'ipb_already_blocked' => 'Stanket eo "$1" dija',
 'ipb-needreblock' => "Stanket eo $1 c'hoazh. Kemmañ an arventennoù a fell deoc'h ?",
 'ipb-otherblocks-header' => '{{PLURAL:$1|Stankadenn|Stankadnenoù}} all',
@@ -3034,6 +3038,7 @@ Sur a-walc'h abalamour d'ul liamm enni a gas d'ul lec'hienn ziavaez berzet.",
 'pageinfo-length' => 'Ment ar bajenn (en oktedoù)',
 'pageinfo-article-id' => 'Niverenn ar bajenn',
 'pageinfo-language' => 'Yezh ar bajenn',
+'pageinfo-content-model' => "Patrom endalc'had ar bajenn",
 'pageinfo-robot-policy' => 'Menegeriñ gant robotoù',
 'pageinfo-robot-index' => 'Aotreet',
 'pageinfo-robot-noindex' => 'Diaotreet',
@@ -4033,14 +4038,18 @@ A-hend-all e c'hallit ober gant ar furmskrid eeunaet dindan. Ouzhpennet e vo hoc
 'rotate-comment' => 'Skeudenn troet eus $1 {{PLURAL:$1|derez}} a-du gant an heol',
 
 # Limit report
+'limitreport-title' => 'Roadennoù da wellekaat an dielfenner :',
 'limitreport-cputime' => 'Amzer implij ar CPU',
 'limitreport-cputime-value' => '$1 {{PLURAL:$1|eiladenn}}',
 'limitreport-walltime' => 'Amzer implij gwirion',
 'limitreport-walltime-value' => '$1 {{PLURAL:$1|eiladenn}}',
+'limitreport-ppvisitednodes' => 'Niver a skoulmoù rakprosesor gweladennet',
+'limitreport-ppgeneratednodes' => 'Niver a skoulmoù rakprosesor ganet',
 'limitreport-postexpandincludesize-value' => '$1/$2 {{PLURAL:$2|okted}}',
 'limitreport-templateargumentsize' => 'Ment arguzenn ar patrom',
 'limitreport-templateargumentsize-value' => '$1/$2 {{PLURAL:$2|okted}}',
 'limitreport-expansiondepth' => 'Donder astenn brasañ',
+'limitreport-expensivefunctioncount' => "Niver a arc'hwelioù dielfennañ koustus",
 
 # Special:ExpandTemplates
 'expandtemplates' => 'Emled ar patromoù',
@@ -4052,6 +4061,7 @@ Astenn a ra ivez an arc'hwelioù parser evel
 'expand_templates_input' => 'Merkañ ho testenn amañ :',
 'expand_templates_output' => "Disoc'h",
 'expand_templates_xml_output' => 'Ezvont XML',
+'expand_templates_html_output' => "Disoc'h HTML kriz",
 'expand_templates_ok' => 'Mat eo',
 'expand_templates_remove_comments' => 'Lemel an notennoù kuit',
 'expand_templates_remove_nowiki' => "Diverkañ a ra ar balizennoù <nowiki> en disoc'h",
index 700f774..9049f62 100644 (file)
@@ -1212,7 +1212,6 @@ Vi možete vidjeti ovu razliku; detalji se mogu vidjeti u [{{fullurl:{{#Special:
 'revdelete-no-file' => 'Navedena datoteka ne postoji.',
 'revdelete-show-file-confirm' => 'Da li ste sigurni da želite pogledati obrisanu reviziju datoteke "<nowiki>$1</nowiki>" od $2 u $3?',
 'revdelete-show-file-submit' => 'Da',
-'revdelete-selected' => "'''{{PLURAL:$2|Odabrana revizija|Odabrane revizije}} od [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Označena stavka zapisa|Označene stavke zapisa}}:'''",
 'revdelete-confirm' => 'Molimo potvrdite da namjeravate ovo učiniti, da razumijete posljedice i da to činite u skladu s [[{{MediaWiki:Policy-url}}|pravilima]].',
 'revdelete-suppress-text' => "Ograničenja bi trebala biti korištena '''samo''' u slijedećim slučajevima:
index 70d3afb..79db701 100644 (file)
@@ -1148,7 +1148,6 @@ funció, la revisió especificada no existeix, o bé esteu provant d'amagar l'ac
 'revdelete-no-file' => 'El fitxer especificat no existeix.',
 'revdelete-show-file-confirm' => 'Esteu segurs que voleu veure una revisió esborrada del fitxer «<nowiki>$1</nowiki>» de $2 a $3?',
 'revdelete-show-file-submit' => 'Sí',
-'revdelete-selected' => "'''{{PLURAL:$2|Revisió seleccionada|Revisions seleccionades}} de [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Esdeveniment del registre seleccionat|Esdeveniments del registre seleccionats}}:'''",
 'revdelete-confirm' => "Si us plau, confirmeu que és això el que desitgeu fer, que enteneu les conseqüències, i que esteu fent-ho d'acord amb [[{{MediaWiki:Policy-url}}|les polítiques acordades]].",
 'revdelete-suppress-text' => "Les supressions '''només''' han de ser portades a terme en els següents casos:
index 0da33fa..d4458a4 100644 (file)
@@ -1158,7 +1158,6 @@ $2
 'revdelete-no-file' => 'Иштта файл яц.',
 'revdelete-show-file-confirm' => 'Бакъалла лаьий хьуна дӀаяьккхина файлан версега хьажа «<nowiki>$1</nowiki>» $2 тӀера, $3?',
 'revdelete-show-file-submit' => 'Хlаъ',
-'revdelete-selected' => "'''АгӀона [[:$1]] {{PLURAL:$2|1=къастина верси|къастина версеш}}:'''",
 'logdelete-selected' => '<strong>Тептар чура {{PLURAL:$1|хаьржина дӀаяздар|хаьржина дӀаяздарш}}:</strong>',
 'revdelete-confirm' => 'Дехар до, бакъдар ахьа деш дерг [[{{MediaWiki:Policy-url}}|бакъонашца]] деш хилар.',
 'revdelete-legend' => 'Доза тохар',
index 5e211f9..5ac6d6a 100644 (file)
@@ -606,7 +606,6 @@ Isip tagdumala, puyde nimo [$1 tan-awon ang diff] kon gusto ka magpadayon.",
 'revdelete-no-file' => 'Ang gi-specify nga payl wala pa.',
 'revdelete-show-file-confirm' => 'Sigurado ka nga gusto nimong tan-awon ang napapas nga rebisyon sa payl "<nowiki>$1</nowiki>" sugod sa $2 sa $3?',
 'revdelete-show-file-submit' => 'Oo',
-'revdelete-selected' => "'''{{PLURAL:$2|Napiling rebisyon|Napiling mga rebisyon}} sa [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Napiling log event|Mga napiling log event}}:'''",
 'revdelete-suppress-text' => "Ang supresyon gamiton '''lamang''' asa mga mosunod nga kaso:
 * Dili maayo nga personal nga impormasyon
index b94ada1..1781b1d 100644 (file)
@@ -557,7 +557,6 @@ Komu administradot {{SITENAME}} siña un atan ha';
 fana'an guåha attikulo gi [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} log muna'susuha].",
 'rev-delundel' => "na'annok/nå'na'",
 'revisiondelete' => "Na'suha/para håfa muna'suha i tinilaika",
-'revdelete-selected' => "'''{{PLURAL:$2|Tinilaika ma'ayek|Tinilaika manma'ayek}} gi [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Kasun log ni ma'ayek|Kasun log ni manma'ayek}}:'''",
 'revdelete-legend' => "Po'lo i chinemma' lini'e'on siha",
 'revdelete-hide-text' => "Nå'na' i tinige' ribision",
index df3eeb2..d773f7f 100644 (file)
@@ -1092,7 +1092,6 @@ $3 هۆکاری "$2" خستوەتەڕوو',
 'revdelete-no-file' => 'ئەو پەڕگەی ڕاچاوت کردووە بوونی نیە.',
 'revdelete-show-file-confirm' => 'ئایا دڵنیایت دەتەوێ پێداچوونەوەی سڕاوەی پەڕگەی "<nowiki>$1</nowiki>" لە $2، لە $3دا ببیینی؟',
 'revdelete-show-file-submit' => 'بەڵێ',
-'revdelete-selected' => "'''{{PLURAL:$2|پێداچوونەوەی هەڵبژێراوی|پێداچوونەوەکانی هەڵبژێراوی}} [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|لۆگی ڕووداوەی هەڵبژێراو|لۆگی ڕووداوە هەڵبژێراوەکان}}:'''",
 'revdelete-confirm' => 'تکایە بەڵێن بدە کە دەتەوێ ئەوە بکەی و لە ئەنجامەکانی ئەوە ئاگاداریت و بە پێی [[{{MediaWiki:Policy-url}}|سیاسەتنامە]] ئەنجامی ئەدەی.',
 'revdelete-suppress-text' => "بەرگری دەبێ '''تەنها''' بۆ ئەم بابەتانە بەکاربهێندرێت:<br />
index 1419b00..2d3eafc 100644 (file)
@@ -1316,7 +1316,6 @@ Můžete si toto porovnání prohlédnout; podrobnosti jsou uvedeny v [{{fullurl
 'revdelete-no-file' => 'Uvedený soubor neexistuje.',
 'revdelete-show-file-confirm' => 'Určitě si chcete prohlédnout smazanou revizi souboru „<nowiki>$1</nowiki>“ z $2, $3?',
 'revdelete-show-file-submit' => 'Ano',
-'revdelete-selected' => "'''{{PLURAL:$2|Vybraná|Vybrané}} revize stránky [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Vybraná protokolovaná událost|Vybrané protokolované události}}:'''",
 'revdelete-text-text' => 'Smazané editace se budou i nadále zobrazovat v historii stránky, ale části jejich obsahu nebudou veřejně přístupné.',
 'revdelete-text-file' => 'Smazané verze souborů se budou i nadále zobrazovat v historii stránky, ale části jejich obsahu nebudou veřejně přístupné.',
@@ -2177,6 +2176,11 @@ Vstup: <code>typ obsahu/podtyp</code>, např. <code>image/jpeg</code>.',
 # List redirects
 'listredirects' => 'Seznam přesměrování',
 
+# List duplicated files special page
+'listduplicatedfiles' => 'Seznam souborů s duplikáty',
+'listduplicatedfiles-summary' => 'Toto je seznam souborů, u kterých je aktuální revize duplikátem aktuální revize nějakého jiného souboru. Do úvahy se berou jen lokální soubory.',
+'listduplicatedfiles-entry' => '[[:File:$1|$1]] má [[$3|$2 {{PLURAL:$2|duplikát|duplikáty|duplikátů}}]].',
+
 # Unused templates
 'unusedtemplates' => 'Nepoužívané šablony',
 'unusedtemplatestext' => 'Tato stránka obsahuje seznam všech stran ve jmenném prostoru {{ns:template}}, které nejsou vloženy do žádné jiné strany. Před jejich smazáním nezapomeňte zkontrolovat ostatní odkazy.',
index e4fb127..87a3ec3 100644 (file)
@@ -1053,7 +1053,6 @@ Serch hyn, gallwch eu cymharu o hyd; cewch weld y manylion ar y [{{fullurl:{{#Sp
 'revdelete-no-file' => "Nid yw'r ffeil a nodwyd yn bod.",
 'revdelete-show-file-confirm' => 'Ydych chi\'n sicr eich bod am weld y diwygiad dilëedig o\'r ffeil "<nowiki>$1</nowiki>" a roddwyd ar gadw am $3 ar $2?',
 'revdelete-show-file-submit' => 'Ydw',
-'revdelete-selected' => "'''Y {{PLURAL:$2|golygiad|golygiad|golygiadau|golygiadau|golygiadau|golygiadau}} dewisedig o [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Digwyddiad|Digwyddiad|Digwyddiadau|Digwyddiadau|Digwyddiadau|Digwyddiadau}} a ddewiswyd o'r lòg:'''",
 'revdelete-confirm' => "Byddwch gystal â chadarnhau eich bod yn bwriadu gwneud hyn, eich bod yn deall yr effaith a gaiff, a'ch bod yn ei wneud yn ôl y [[{{MediaWiki:Policy-url}}|y polisi]].",
 'revdelete-suppress-text' => "'''Dim ond''' yn yr achosion sy'n dilyn y dylech fentro cuddio gwybodaeth:
index 7aa79d8..975a145 100644 (file)
@@ -1144,7 +1144,6 @@ Du kan se denne forskel; der kan findes detaljer i [{{fullurl:{{#Special:Log}}/s
 'revdelete-no-file' => 'Den angivne fil findes ikke.',
 'revdelete-show-file-confirm' => 'Er du sikker på, at du vil vise en slettet version af filen "<nowiki>$1</nowiki>" fra den $2, klokken $3?',
 'revdelete-show-file-submit' => 'Ja',
-'revdelete-selected' => "'''{{PLURAL:$2|Valgte version|Valgte versioner}} af '''$1:''''''",
 'logdelete-selected' => "'''{{PLURAL:$1|Valgt logindførsel|Valgte logindførsler}}:'''",
 'revdelete-confirm' => 'Vær venlig at bekræfte at du vil gøre dette, at du forstår konsekvenserne, og at du gør det i overensstemmelse med [[{{MediaWiki:Policy-url}}|retningslinjerne]].',
 'revdelete-suppress-text' => "Der bør '''kun''' skjules i de følgende tilfælde:
index 99e64e5..2825b82 100644 (file)
@@ -1380,7 +1380,8 @@ Du kannst diesen Versionsunterschied einsehen, sofern du möchtest. Nähere Anga
 'revdelete-no-file' => 'Die angegebene Datei ist nicht vorhanden.',
 'revdelete-show-file-confirm' => 'Bist du sicher, dass du die gelöschte Version der Datei „<nowiki>$1</nowiki>“ vom $2 um $3 Uhr ansehen willst?',
 'revdelete-show-file-submit' => 'Ja',
-'revdelete-selected' => "'''{{PLURAL:$2|Gewählte Version|Gewählte Versionen}} von [[:$1]]:'''",
+'revdelete-selected-text' => 'Ausgewählte {{PLURAL:$1|Version|Versionen}} von [[:$2]]:',
+'revdelete-selected-file' => 'Ausgewählte {{PLURAL:$1|Dateiversion|Dateiversionen}} von [[:$2]]:',
 'logdelete-selected' => "'''{{PLURAL:$1|Gewählter Logbucheintrag|Gewählte Logbucheinträge}}:'''",
 'revdelete-text-text' => 'Gelöschte Versionen verbleiben noch in der Versionsgeschichte, jedoch sind Teile ihres Inhalts für die Öffentlichkeit nicht zugänglich.',
 'revdelete-text-file' => 'Gelöschte Dateiversionen verbleiben noch in der Datei-Versionsgeschichte, jedoch sind Teile ihres Inhalts für die Öffentlichkeit nicht zugänglich.',
index f2287f5..16eb2ac 100644 (file)
@@ -1274,7 +1274,6 @@ Eke şıma serkari u devam bıkeri [$1 no vurnayiş şıma eşkeni bıvini].",
 'revdelete-no-file' => 'Dosya diyarkerdiye çıniya.',
 'revdelete-show-file-confirm' => 'Şıma eminê ke wazenê çımraviyarnayışê esterıtey na dosya "<nowiki>$1</nowiki>" $2 ra $3 de bıvênê?',
 'revdelete-show-file-submit' => 'E',
-'revdelete-selected' => "'''[[:$1]]: ra {{PLURAL:$2|çımraviyarnayışo weçinıte|çımraviyarnayışê weçinıtey}}'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Qeydbiyayışo weçinıte|Qeydbiyayışê weçinıtey}}:'''",
 'revdelete-confirm' => 'Ma rica keno testiq bike ti ena hereket keno u ti zano neticeyanê herketanê xo u ti ena hereket pê ena [[{{MediaWiki:Policy-url}}|polici]] ra keno.',
 'revdelete-suppress-text' => "Wedardış gani '''tenya''' nê halanê cêrênan de bıxebıtiyo:
index fb43554..537579e 100644 (file)
@@ -1083,7 +1083,8 @@ Móžoš se toś ten rozdźěl woglědaś; drobnostki glědaj w [{{fullurl:{{#Sp
 'revdelete-no-file' => 'Pódana dataja njeeksistěrujo.',
 'revdelete-show-file-confirm' => 'Coš se napšawdu wulašowanu wersiju dataje "<nowiki>$1</nowiki>" wót $2 $3 woglědaś?',
 'revdelete-show-file-submit' => 'Jo',
-'revdelete-selected' => "'''{{PLURAL:$2|Wuzwólona wersija|Wuzwólonej wersiji|Wuzwólone wersije}} wót [[:$1]].'''",
+'revdelete-selected-text' => '{{PLURAL:$1|Wubrana wersija|Wubranej wersiji|Wubrane wersije}} wót [[:$2]]:',
+'revdelete-selected-file' => '{{PLURAL:$1|Wubrana datajowa wersija|Wubranej datajowej wersiji|Wubrane datajowe wersije}} wót [[:$2]]:',
 'logdelete-selected' => "'''{{PLURAL:$1|Wuzwólony protokolowe tšojenje|Wuzwólonej protokolowe tšojeni|wuzwólone protokolowe tšojenja}}:'''",
 'revdelete-text-text' => 'Wulašowane wersije wóstanu hyšći we wersijowej historiji, ale źěle jich wopśimjeśa njebudu pśistupne zjawnosći.',
 'revdelete-text-file' => 'Wulašowane datajowe wersije wóstanu w datajowej historiji, ale źěle jich wopśimjeśa njebudu pśistupne zjawnosći.',
@@ -1939,6 +1940,11 @@ Snaź coš wopisanje na jeje [$2 boku datajowego wopisanja] wobźěłaś.',
 # List redirects
 'listredirects' => 'Lisćina dalejpósrědnjenjow',
 
+# List duplicated files special page
+'listduplicatedfiles' => 'Lisćina datajow z duplikatami',
+'listduplicatedfiles-summary' => 'To jo lisćina datajow, źož nejnowša wersija dataje jo duplikat nejnowšeje wersije někakeje drugeje dataje. Jano lokalne dataje se zapśimuju.',
+'listduplicatedfiles-entry' => '[[:File:$1|$1]] ma [[$3|{{PLURAL:$2|duplikat|$2 duplikata|$2 duplikaty|$2 duplikatow}}]].',
+
 # Unused templates
 'unusedtemplates' => 'Njewužywane pśedłogi',
 'unusedtemplatestext' => 'Toś ten bok nalicujo wšykne boki w mjenjowom rumje {{ns:template}}, kótarež njejsu do žednogo drugego boka zawězane. Pšosym kontrolěruj dalšne wótkaze, nježli až je wulašujoš.',
index 1ba0cf7..1e07fe0 100644 (file)
@@ -812,7 +812,6 @@ Milo ko do montong diti; kointalangan oihum id [{{fullurl:{{#Special:Log}}/suppr
 'revdelete-no-file' => 'Pail pinotontu awu poinsuang.',
 'revdelete-show-file-confirm' => 'Mongintong ko di sinimakan nopugas do pail  "<nowiki>$1</nowiki>" mantad $2 ontok $3?',
 'revdelete-show-file-submit' => 'O',
-'revdelete-selected' => "'''{{PLURAL:$2|Sinimakan pinili|Sinimakan nopili}} id [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Log kinaantakan nopili|Tongolog kinaantakan it nopili}}:'''",
 'revdelete-legend' => 'Uludo pogigihum pangangantob',
 'revdelete-hide-text' => 'Polisoko sinimakan tiik',
index 5d0280a..fe1fe2f 100644 (file)
@@ -450,6 +450,7 @@ Guêrda che soquânti pàgini a prén vèdres incòra cme s'ét fós incòra col
 'gotaccountlink' => 'Và dèinter',
 'userlogin-resetlink' => "T'ét scurdê j elemèint p'r al tó ingrès?",
 'userlogin-resetpassword-link' => "T' ét scurdê la cêva 'd ingrès?",
+'userlogin-helplink2' => "Ajót per l'ingrès",
 'userlogin-loggedin' => "T'ét bèle coleghê {{GENDER:$1|$1}}. 
 Drōva al mōdul ché sòta cme un êter utèint.",
 'userlogin-createanother' => "Fà 'n' êtra utèinsa.",
@@ -557,6 +558,9 @@ La cêva 'd ingrès la pré èser stêda bèle cambiêda, opór n'in pré èser
 'resetpass-abort-generic' => "La mudéfica 'd la cêva 'd ingrès l'é stêda fermêda da un şlungamèint.",
 'resetpass-expired' => "La cêva 'd ingrès l'é scadûda. Mèt dèinter 'na cêva 'd ingrès nōva per fêr l'ingrès.",
 'resetpass-expired-soft' => "La tó cêva 'd ingrès l'é scadûda. T'é perghê ed siēlier 'na nōva o clichêr insém a \"{{int:resetpass-submit-cancel}}\" per turnêrla a mèter dèinter in sègvit.",
+'resetpass-validity-soft' => "La tó cêva 'd ingrès an n'è mìa vâlida:\$1. 
+
+T'é perghê ed siēlier 'na nōva o clichêr insém a \"{{int:resetpass-submit-cancel}}\" per turnêrla a impustêr in sègvit.",
 
 # Special:PasswordReset
 'passwordreset' => "Câmbia la cêva 'd ingrès",
@@ -733,10 +737,28 @@ S'es pèinsa ed salvêrla, tót i cambiamèint fât dōp cla mudéfica ché andr
 'copyrightwarning' => "Per piaşèir tîn cûnt che tót al colaborasiòun a {{SITENAME}} a vînen cunsidrêdi publichêdi sòta la licèinsa $2 (per i particulêr guêrda $1). S' an 't vō mìa che i tō tèst a pôsen èser cambiê e turnê a publichêr da tót sèinsa lémit, an publichêri mìa ché.<br /> In pió, se 't  i póblich ché, a 't dichiâr, sòta la tó responsabilitê, che còl ch' è stê scrét a 't l'ê scrét té personalmèint opór l'é ste cupiê da documèint sèinsa ch' al sìa quacê da nisûn dirét 'd autōr. <strong> Ché insém an pubblichêr mìa materiêl quacê da dirét 'd autōr sèinsa autorişâsiòun! </strong>",
 'copyrightwarning2' => "Per piaşèir tîn cûnt che tót al colaborasiòun a {{SITENAME}} a pōlen èser mudifichê, arversê o scanşlê da êtra gînta cla dà 'na mân. S' an 't vō mìa che i tō tèst a pôsen èser cambiê alōra an publichêri mìa ché.<br />In pió, se 't  i póblich ché, a 't dichiâr, sòta la tó responsabilitê, che còl ch' è stê scrét a 't l'ê scrét té personalmèint opór l'é ste cupiê da documèint sèinsa ch' al sìa quacê da nisûn dirét 'd autōr (per i particulêr guêrda $1). <strong> Ché insém an pubblichêr mìa materiêl quacê da dirét 'd autōr sèinsa autorişâsiòun! </strong>",
 'longpageerror' => "<strong> Erōr: al tèst spidî l'é lòngh {{PLURAL:$1|1|$1}} kilobyte, ch'l'é pió grôs ed l'amzûra mâsima permésa ({{PLURAL:$2|1|$2}} kilobyte). </strong> Al tèst al pôl mìa èser salvê.",
+'readonlywarning' => "<strong>Atensiòun: al databêş l'é stê bluchê per justadûri e dòunca l'é impusébil salvê al mudéfichi in cól mumèint ché.</strong> P'r an pêrdi mìa, l'é pusébil cupiêri còl ch' é stê més dèinter fîn a dès int la caşèla di cambiamèint, incolêrel in un prugrâma tèst e salvêrel per spetêr al şblôch dal databêş. 
+
+L'aministradōr ch' l'à bluchê al databêş l'à dê cla spiegasiòun ché: $1",
+'protectedpagewarning' => "<strong> Atensiòun: cla pàgina ché l'é stêda bluchêda in môd che sōl j utèint cun i privilèg 'd aministradōr a pôsen cambiêrla.</strong> 
+Per infurmasiòun ché 'd sègvit a vîn scrét l'ûltem elemèint dal regéster:",
+'semiprotectedpagewarning' => "<strong>Nôta:</strong> cla pàgina ché l'é stêda bluchê in môd che sōl j utèint registrê a pôsen cambiêrla. 
+Per infurmasiòun ché 'd sègvit è scrét l'ûltem elemèint dal regéster.",
+'cascadeprotectedwarning' => "<strong> Atensiòun: </strong>cla pàgina ché l'é stêda bluchêda in môd che sōl j utèint cun i privilèg 'd aministradō a pôsen cambiêrla. Còst a sucēd perchè la pàgina l'é dèinter in cl'elèinch sòta protesiòun ché 'd sègvit {{PLURAL:$1|pàgina|pàgini}}",
+'titleprotectedwarning' => "<strong> Atensiòun: cla pàgina ché l'é stêda bluchêda in môd che, per fêrla, sién necesâri [[Special:ListGroupRights|dirét specêl]] </strong> 
+Per infurmasiòun ché 'd sègvit è scrét l'ûltem elemèint dal regéster.",
 'templatesused' => '{{PLURAL:$1|Mudèl druvê|Mudē druvê}} in cla pàgina ché:',
+'templatesusedpreview' => "{{PLURAL:$1|Mudèl druvê|Mudē druvê}} in cla pàgina 'd contròl ché:",
+'templatesusedsection' => '{{PLURAL:$1|Mudèl druvê|Mudē druvê}} in cla sesiòun ché:',
 'template-protected' => '(prutèt)',
 'template-semiprotected' => '(mèz-prutèt)',
 'hiddencategories' => "Cla pàgina ché l' é 'd {{PLURAL:$1|'na categoréia lughêda|$1 categoréi lughêdi}}:",
+'nocreatetext' => "La pusibilitê ed fêr dal pàgini nōvi insém a {{SITENAME}} l'é stêda limitêda a sōl j utèint registrê. L'é pusébil turnê indrē e mudifichêr 'na pògina ch la gh'é bèle,opór [[Special:UserLogin|andêr dèinter o registrêres]].",
+'nocreate-loggedin' => "An 's gh'à mìa i permès necesâri per fêr dal pàgini nōvi.",
+'sectioneditnotsupported-title' => 'Mudéfica dal sesiòun mìa sustgnûda.',
+'sectioneditnotsupported-text' => 'Mudéfica dal sesiòun mìa sustgnûda in cla pàgina ché.',
+'permissionserrors' => 'I permès în mìa asê',
+'permissionserrorstext' => "An 's gh'à mìa i permès necesâri per fêr còl ch'es pèinsa ed fêr per{{PLURAL:$1|cól mutîv ché|chi mutîv ché}}:",
 'permissionserrorstext-withaction' => "An 's gh'à mìa i permès necesâri per $2, per{{PLURAL:$1|cól mutîv ché|chi mutîv ché}}:",
 'recreate-moveddeleted-warn' => "'''Atensiòun: a s'é drē serchêr ed fêr 'na pàgina bèle scanşlêda tèimp fa'''. 
 
@@ -744,6 +766,10 @@ Asicurêres che sìa dabòun necesâri cuntinvêr a mudifichêr cla pàgina ché
 Per cumditê còst l'é l'èlèinch dal scanşladûri e di spustamèint relatîv a la pàgina.",
 'moveddeleted-notice' => "Cla pàgina ché l'é stêda scanşlêda. Per infurmasiòun  còst l'é l'èlèinch relatîv dal scanşladûri e di spustemèint fât.",
 'log-fulllog' => 'Guêrda la stòria dal registrasiòun',
+'edit-hook-aborted' => "La mudéfica l'é stêda scanşlêda da l' hook.
+An n'é mìa stê dê nisóna spiegasiòun.",
+'edit-gone-missing' => "Impusébil arnuvêr la pàgina. 
+A sèmbra ch'la sìa stêda scanşlêda.",
 'edit-conflict' => "Cuntrâst 'd edisiòun",
 
 # Parser/template warnings
index 56b12d7..3fd06a1 100644 (file)
@@ -1304,7 +1304,6 @@ Mπορείτε να δείτε αυτή την διαφορά. Λεπτομέρ
 'revdelete-no-file' => 'Το αρχείο που καθορίσατε δεν υπάρχει.',
 'revdelete-show-file-confirm' => 'Είστε σίγουροι ότι θέλετε να δείτε μία διεγραμμένη αναθεώρηση του αρχείου "<nowiki>$1</nowiki>" από τις $2 στις $3;',
 'revdelete-show-file-submit' => 'Ναι',
-'revdelete-selected' => "'''{{PLURAL:$2|Επιλεγμένη έκδοση|Επιλεγμένες εκδόσεις}} της [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Επιλεγμένο γεγονός αρχείου καταγραφής|Επιλεγμένα γεγονότα αρχείου καταγραφής}}:'''",
 'revdelete-confirm' => 'Παρακαλούμε επιβεβαιώστε ότι σκοπεύετε να το κάνετε αυτό, ότι αντιλαμβάνεσθε τις συνέπειες, και ότι το κάνετε σύμφωνα με την [[{{MediaWiki:Policy-url}}|πολιτική]].',
 'revdelete-suppress-text' => 'Η καταστολή μπορεί να χρησιμοποιηθεί <strong> μόνο </strong> για τις ακόλουθες περιπτώσεις:
index 192ef8d..8b7b005 100644 (file)
@@ -1714,8 +1714,9 @@ function, the specified revision does not exist, or you are attempting to hide t
 'revdelete-no-file'           => 'The file specified does not exist.',
 'revdelete-show-file-confirm' => 'Are you sure you want to view a deleted revision of the file "<nowiki>$1</nowiki>" from $2 at $3?',
 'revdelete-show-file-submit'  => 'Yes',
-'revdelete-selected'          => '<strong>{{PLURAL:$2|Selected revision|Selected revisions}} of [[:$1]]:</strong>',
-'logdelete-selected'          => '<strong>{{PLURAL:$1|Selected log event|Selected log events}}:</strong>',
+'revdelete-selected-text'     => '{{PLURAL:$1|Selected revision|Selected revisions}} of [[:$2]]:',
+'revdelete-selected-file'     => '{{PLURAL:$1|Selected file version|Selected file versions}} of [[:$2]]:',
+'logdelete-selected'          => '{{PLURAL:$1|Selected log event|Selected log events}}:',
 'revdelete-text-text'         => 'Deleted revisions will still appear in the page history, but parts of their content will be inaccessible to the public.',
 'revdelete-text-file'         => 'Deleted file versions will still appear in the file history, but parts of their content will be inaccessible to the public.',
 'logdelete-text'              => 'Deleted log events will still appear in the logs, but parts of their content will be inaccessible to the public.',
index 73f7a5b..706f0bf 100644 (file)
@@ -1275,7 +1275,6 @@ funkcion, la specifita versio ne ekzistas, aŭ vi estas provanta kaŝi la nunan
 'revdelete-no-file' => 'La specifita dosiero ne ekzistas.',
 'revdelete-show-file-confirm' => 'Ĉu vi certas ke vi volas vidi forigitan revizion de la dosiero "<nowiki>$1</nowiki>" de $2, $3?',
 'revdelete-show-file-submit' => 'Jes',
-'revdelete-selected' => "'''{{PLURAL:$2|Selektata versio|Selektataj versioj}} de [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Selektata protokola evento|Selektataj protokolaj eventoj}}:'''",
 'revdelete-confirm' => 'Bonvolu konfirmi ke vi intencias fari ĉi tion, ke vi komprenas la konsekvencojn kaj ke vi faras ĉi tion laŭ [[{{MediaWiki:Policy-url}}|la regularo]].',
 'revdelete-suppress-text' => "Subpremo '''nur''' estu uzata por la jenaj kazoj:
index 8d9e606..3d55ee4 100644 (file)
@@ -1350,7 +1350,6 @@ Aún tiene la posibilidad de verla; puede ampliar los detalles en el [{{fullurl:
 'revdelete-no-file' => 'El archivo especificado no existe.',
 'revdelete-show-file-confirm' => '¿Quieres ver la revisión borrada del archivo «<nowiki>$1</nowiki>» del $2 a las $3?',
 'revdelete-show-file-submit' => 'Sí',
-'revdelete-selected' => "'''{{PLURAL:$2|Revisión seleccionada|Revisiones seleccionadas}} de [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Seleccionado un evento|Seleccionados eventos}}:'''",
 'revdelete-text-text' => 'Las revisiones eliminadas aún aparecerán en el historial de la página, pero parte de su contenido será inaccesible para el público.',
 'revdelete-text-file' => 'Las versiones de los archivos eliminados aún aparecerán en el historial del archivo, pero partes de su contenido serán inaccesibles para el público.',
index 18ca978..84fa999 100644 (file)
@@ -1254,7 +1254,6 @@ Saad seda muudatust vaadata. [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAG
 'revdelete-no-file' => 'Faili ei ole.',
 'revdelete-show-file-confirm' => 'Kas oled kindel, et soovid häha faili "<nowiki>$1</nowiki>" kustutatud redaktsiooni, mis tehti $2 kell $3?',
 'revdelete-show-file-submit' => 'Jah',
-'revdelete-selected' => "'''Valitud {{PLURAL:$2|redaktsioon|redaktsioonid}} leheküljest [[:$1]]:'''",
 'logdelete-selected' => "'''Valitud {{PLURAL:$1|logisissekanne|logisissekanded}}:'''",
 'revdelete-text-text' => 'Kustutatud redaktsioonid jäävad lehekülje ajalukku alles, aga osa nende sisust pole kõigile juurdepääsetav.',
 'revdelete-text-file' => 'Kustutatud failiversioonid jäävad faili ajalukku alles, aga osa nende sisust pole kõigile juurdepääsetav.',
@@ -2101,6 +2100,11 @@ Sisesta kujul tüüp/alamtüüp, näiteks <code>image/jpeg</code>.',
 # List redirects
 'listredirects' => 'Ümbersuunamised',
 
+# List duplicated files special page
+'listduplicatedfiles' => 'Duplikaatfailide loend',
+'listduplicatedfiles-summary' => 'Siin on loetletud failid, mille viimane versioon on mõne teise faili viimase versiooni duplikaat. Arvesse võetakse ainult kohalikke faile.',
+'listduplicatedfiles-entry' => 'Failil [[:File:$1|$1]] on [[$3|{{PLURAL:$2|üks duplikaat|$2 duplikaati}}]].',
+
 # Unused templates
 'unusedtemplates' => 'Kasutamata mallid',
 'unusedtemplatestext' => 'See lehekülg loetleb kõik leheküljed nimeruumis {{ns:template}}, mida teistel lehekülgedel ei kasutata. Enne kustutamist palun kontrollige, kas siia pole muid linke.',
index 86e99ee..b284d21 100644 (file)
@@ -1038,7 +1038,6 @@ Administratzailea zarenez, diff hau ikus dezakezu. Xehetasunak ikusgai daude [{{
 'revdelete-no-file' => 'Zehazturiko fitxategia ez da existitzen.',
 'revdelete-show-file-confirm' => '"<nowiki>$1</nowiki>" fitxategiaren bertsio ezabatua (eguna: $2; ordua: $3) ikusi nahi duzu?',
 'revdelete-show-file-submit' => 'Bai',
-'revdelete-selected' => "'''{{PLURAL:$2|[[:$1]](r)en hautatutako berrikuspena:|[[:$1]](r)en hautatutako berrikuspenak}}'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Aukeratutako log gertakaria|Aukeratutako log gertakariak}}:'''",
 'revdelete-confirm' => 'Baiezta ezazu hori dela zure asmoa, ulertzen dituzula ondorioak, eta [[{{MediaWiki:Policy-url}}|irizpideak]] errespetatuz egiten ari zarela hau.',
 'revdelete-suppress-text' => "Ezabaketa '''bakarrik''' arrazoi hauek direla eta erabili beharko litzateke:
index 05663d4..92cc7d3 100644 (file)
@@ -662,7 +662,6 @@ puei bel detallis nel [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}
 'revdelete-nooldid-title' => 'Nu ai una revisión destinu',
 'revdelete-nooldid-text' => 'Nu as prehisau denguna revisión destinu ondi realizal esta hunción.',
 'revdelete-show-file-submit' => 'Sí',
-'revdelete-selected' => "'''{{PLURAL:$2|Revisión aseñalá e|Revisionis aseñalás de}} '''[[:$1]]''':'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Eventu el rustrihu aseñalau|Eventus del rustrihu aseñalaus}}:'''",
 'revdelete-legend' => 'Establecel restricionis de visibiliá',
 'revdelete-hide-text' => 'Açonchal el testu la revisión',
index 887dc3a..b5807ca 100644 (file)
@@ -1427,7 +1427,6 @@ $2
 'revdelete-no-file' => 'پروندهٔ مشخص شده وجود ندارد.',
 'revdelete-show-file-confirm' => 'آیا مطمئن هستید که می‌خواهید یک نسخهٔ حذف شده از پروندهٔ «<nowiki>$1</nowiki>» مورخ $2 ساعت $3 را ببینید؟',
 'revdelete-show-file-submit' => 'بله',
-'revdelete-selected' => "'''{{PLURAL:$2|نسخهٔ|نسخه‌های}} انتخاب شده از [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|مورد|موارد}} انتخاب شده از سیاهه:'''",
 'revdelete-confirm' => 'لطفاً تأیید کنید که می‌خواهید این کار را انجام دهید، عواقب آن را درک می‌کنید و این کار را طبق [[{{MediaWiki:Policy-url}}|سیاست‌ها]] انجام می‌دهید.',
 'revdelete-suppress-text' => "فرونشانی باید '''تنها''' برای موارد زیر استفاده شود:
index d909ee6..8fbf16d 100644 (file)
@@ -1261,7 +1261,8 @@ Voit silti nähdä tämän muutoksen. Lisätietoja löytyy [{{fullurl:{{#Special
 'revdelete-no-file' => 'Määritettyä tiedostoa ei ole olemassa.',
 'revdelete-show-file-confirm' => 'Haluatko varmasti nähdä poistetun version tiedostosta <nowiki>$1</nowiki>, joka on tallennettu $2 kello $3?',
 'revdelete-show-file-submit' => 'Kyllä',
-'revdelete-selected' => "'''{{PLURAL:$2|Valittu versio|Valitut versiot}} sivusta [[:$1]]'''",
+'revdelete-selected-text' => '{{PLURAL:$1|Valittu versio|Valitut versiot}} kohteesta [[:$2]]:',
+'revdelete-selected-file' => '{{PLURAL:$1|Valittu tiedoton versio|Valitut tiedoston versiot}} kohteesta [[:$2]]:',
 'logdelete-selected' => "'''{{PLURAL:$1|Valittu lokimerkintä|Valitut lokimerkinnät}}:'''",
 'revdelete-text-text' => 'Poistetut versiot näkyvät edelleen sivun historiassa, mutta osa niiden sisällöstä ei enää ole saatavilla julkisesti.',
 'revdelete-text-file' => 'Poistetut tiedostoversiot näkyvät yhä sivun historiassa, mutta osa niiden sisällöstä ei ole saatavilla julkisesti.',
@@ -1351,9 +1352,9 @@ Uuden ja vanhan sivun muutoksien pitää muodostaa jatkumo – ne eivät saa men
 'mergelogpagetext' => 'Alla on loki viimeisimmistä muutoshistorioiden yhdistämisistä.',
 
 # Diffs
-'history-title' => 'Sivun "$1" muutoshistoria',
-'difference-title' => 'Ero sivun "$1" versioiden välillä',
-'difference-title-multipage' => 'Erot sivujen "$1" ja "$2" välillä',
+'history-title' => 'Sivun ”$1” muutoshistoria',
+'difference-title' => 'Ero sivun ”$1” versioiden välillä',
+'difference-title-multipage' => 'Erot sivujen ”$1” ja ”$2” välillä',
 'difference-multipage' => '(Sivujen välinen eroavaisuus)',
 'lineno' => 'Rivi $1:',
 'compareselectedversions' => 'Vertaile valittuja versioita',
@@ -2548,7 +2549,7 @@ Viimeisimmän muokkauksen on tehnyt käyttäjä [[User:$3|$3]] ([[User talk:$3|k
 'modifiedarticleprotection' => 'muutti sivun [[$1]] suojaustasoa',
 'unprotectedarticle' => 'poisti suojauksen sivulta [[$1]]',
 'movedarticleprotection' => 'siirsi suojausasetukset sivulta [[$2]] sivulle [[$1]]',
-'protect-title' => 'Sivun $1 suojaus',
+'protect-title' => 'Muuta suojausta sivulla ”$1”',
 'protect-title-notallowed' => 'Sivun $1 suojaustaso',
 'prot_1movedto2' => 'siirsi sivun [[$1]] uudelle nimelle [[$2]]',
 'protect-badnamespace-title' => 'Nimiavaruus ei suojattavissa',
index eaa8139..97bc8de 100644 (file)
@@ -1054,7 +1054,6 @@ Tú kanst síggja munin; smálutir eru at finna í [{{fullurl:{{#Special:Log}}/s
 'revdelete-no-file' => 'Nevnda fíla er ikki til.',
 'revdelete-show-file-confirm' => 'Ert tú vís/ur í, at tú ynskir at síggja eina strikaða endurskoðan av fíluni "<nowiki>$1</nowiki>" frá $2 kl. $3?',
 'revdelete-show-file-submit' => 'Ja',
-'revdelete-selected' => "'''{{PLURAL:$2|Valda versjón|Valdar versjónir}} hjá [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Útvald logghending|Útvaldar logghendingar}}:'''",
 'revdelete-confirm' => 'Vinarliga vátta, at tú ætlar at gera hetta, at tú skilir avleiðingarnar, og at tú ger hetta í samsvari við [[{{MediaWiki:Policy-url}}|mannagongdirnar]].',
 'revdelete-legend' => 'Set avmarkinga fyri sjónligheit',
index 4ba0ae6..96d43bc 100644 (file)
@@ -1374,7 +1374,6 @@ Vous pouvez voir ce diff ; des détails sont disponibles dans le [{{fullurl:{{#S
 'revdelete-no-file' => "Le fichier spécifié n'existe pas.",
 'revdelete-show-file-confirm' => 'Êtes-vous sûr de vouloir voir la révision supprimée du fichier « <nowiki>$1</nowiki> » datant du $2 à $3 ?',
 'revdelete-show-file-submit' => 'Oui',
-'revdelete-selected' => "'''{{PLURAL:$2|Version sélectionnée|Versions sélectionnées}} de '''[[:$1]]''' :'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Événement d'historique sélectionné|Événements d'historique sélectionnés}} :'''",
 'revdelete-text-text' => "Les révisions supprimées continueront à apparaître dans l'historique de la page, mais une partie de leur contenu sera inaccessible au public.",
 'revdelete-text-file' => "Les versions de fichier supprimées continueront à apparaître dans l'historique des fichiers, mais une partie de leur contenu sera indisponible au public.",
@@ -2247,7 +2246,7 @@ Entrée : ''typedecontenu''/''sous-type'', par exemple <code>image/jpeg</code>."
 # List duplicated files special page
 'listduplicatedfiles' => 'Liste de fichiers en double',
 'listduplicatedfiles-summary' => "C'est une liste de fichiers où la version la plus récente du fichier est une copie de la version la plus récente d'un autre fichier. Seuls les fichiers locaux sont examinés.",
-'listduplicatedfiles-entry' => '[[:Fichier:$1|$1]] a [[$3|{{PLURAL:$2|un doublon|$2 doublons}}]].',
+'listduplicatedfiles-entry' => '[[:File:$1|$1]] a [[$3|{{PLURAL:$2|un doublon|$2 doublons}}]].',
 
 # Unused templates
 'unusedtemplates' => 'Modèles inutilisés',
@@ -2832,7 +2831,7 @@ $1',
 'sp-contributions-blocked-notice-anon' => "Cette adresse IP est actuellement bloquée.
 La dernière entrée du journal des blocages est indiquée ci-dessous à titre d'information :",
 'sp-contributions-search' => 'Rechercher les contributions',
-'sp-contributions-suppresslog' => 'contributions des utilisateurs supprimées',
+'sp-contributions-suppresslog' => 'contributions masquées',
 'sp-contributions-username' => "Adresse IP ou nom d'utilisateur :",
 'sp-contributions-toponly' => 'Ne montrer que les contributions qui sont les dernières des articles',
 'sp-contributions-newonly' => 'Afficher uniquement les modifications qui sont des créations de page',
index 7a8deca..c90e076 100644 (file)
@@ -1255,7 +1255,6 @@ fonccion, la vèrsion spècifiâye ègziste pas ou ben vos èprovâd de cachiér
 'revdelete-no-file' => 'Lo fichiér spècifiâ ègziste pas.',
 'revdelete-show-file-confirm' => 'Est-o que vos éte de sûr de volêr vêre na vèrsion suprimâye du fichiér « <nowiki>$1</nowiki> » du $2 a $3 ?',
 'revdelete-show-file-submit' => 'Ouè',
-'revdelete-selected' => "'''{{PLURAL:$2|Vèrsion chouèsia|Vèrsions chouèsies}} de [[:$1]] :'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Èvènement du jornal chouèsi|Èvènements du jornal chouèsis}} :'''",
 'revdelete-confirm' => 'Se vos plét, confirmâd qu’o est franc cen que vos voléd fâre, que vos en compregnéd les consèquences et pués que vos o féte en acôrd avouéc les [[{{MediaWiki:Policy-url}}|règlles de dedens]].',
 'revdelete-suppress-text' => "La rèprèssion dêt étre empleyêe '''ren que''' dens cetos câs :
index b4c9a9c..a7ed179 100644 (file)
@@ -973,7 +973,6 @@ Dü könst di ferskeel uunluke. Wan dü muar wed wel, luke iin uun't [{{fullurl:
 'revdelete-no-file' => 'Son dateinööm as ei diar.',
 'revdelete-show-file-confirm' => 'Wel dü würelk det stregen werjuun faan det datei „<nowiki>$1</nowiki>“ faan di $2, am a klook $3 uunluke?',
 'revdelete-show-file-submit' => 'Ja',
-'revdelete-selected' => "'''{{PLURAL:$2|Ütjsoocht werjuun|Ütjsoocht werjuunen}} faan [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Ütjsoocht logbukiindrach|Ütjsoocht logbukiindracher}}:'''",
 'revdelete-text-text' => "Stregen werjuunen bliiw uun't werjuunshistoore, man dialen diarfaan san ei för arken tu sen.",
 'revdelete-text-file' => "Stregen datei-werjuunen bliiw uun't werjuunshistoore, man dialen diarfaan san ei för arken tu sen.",
index 2c2203e..841bd70 100644 (file)
@@ -869,7 +869,6 @@ der kinne details wêze yn it [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPA
 'revdelete-nooldid-text' => 'Jo hawwe gjin doelferzje(s) foar dizze hanneling opjûn, de oanjûne ferzje bestiet net, of jo besykje de lêste ferzje te ferskûljen.',
 'revdelete-no-file' => 'De spesifisearre triem bestiet net.',
 'revdelete-show-file-submit' => 'Ja',
-'revdelete-selected' => "'''Spesifisearre {{PLURAL:$2|ferzje|ferzjes}} fan [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|keazen lochboekregel|keazen lochboekregels}}:'''",
 'revdelete-legend' => 'Sichtberensbeheinings ynstelle.',
 'revdelete-hide-text' => 'De bewurke tekst ferskûlje',
index a00da24..a25444c 100644 (file)
@@ -732,7 +732,6 @@ Treoir: (rth) = difríocht ón leagan reatha, (rmh) = difríocht ón leagan roim
 'revisiondelete' => 'Scrios/díscrios leagain',
 'revdelete-show-file-confirm' => 'An bhfuil tú cinnte gur mhaith leat féach ar leasú scriosta don chomhad "<nowiki>$1</nowiki>" ó $2 ag $3?',
 'revdelete-show-file-submit' => 'Tá',
-'revdelete-selected' => "'''{{PLURAL:$2|Leagan roghnaithe|Leagain roghnaithe}} [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Teagmhas log roghnaithe|Teagmhais log roghnaithe}}:'''",
 'revdelete-hide-text' => 'Folaigh leagan téacs',
 'revdelete-radio-same' => 'ná hathraigh',
index b813c85..9b7172d 100644 (file)
@@ -648,7 +648,6 @@ $2',
 'revisiondelete' => '删除/反删除修改',
 'revdelete-nooldid-title' => '冇目标修订',
 'revdelete-nooldid-text' => '倷冇话个只操作𠮶目标修改。',
-'revdelete-selected' => "'''拣[[:$1]]𠮶$2回修订:'''",
 'logdelete-selected' => "'''拣'''$1'''𠮶$2只日志事件:'''",
 'revdelete-legend' => '设置可见性𠮶限制',
 'revdelete-hide-text' => '弆到修改内容',
index eedd32c..8d6ca92 100644 (file)
@@ -670,7 +670,6 @@ $2',
 'revisiondelete' => '刪除/反刪除修改',
 'revdelete-nooldid-title' => '冇目標修訂',
 'revdelete-nooldid-text' => '倷冇话箇隻操作嗰目标修改。',
-'revdelete-selected' => "'''揀[[:$1]]嗰$2回修訂:'''",
 'logdelete-selected' => "'''揀'''$1'''嗰$2隻日誌事件:'''",
 'revdelete-legend' => '設置可見性嗰限制',
 'revdelete-hide-text' => '弆到修改內容',
index 4742384..ee922b8 100644 (file)
@@ -989,7 +989,6 @@ Gheibh thu mion-fhiosrachadh air [{{fullurl:{{#Special:Log}}/suppress|page={{FUL
 'revdelete-no-file' => 'Chan eil am faidhle a shònraich thu ann.',
 'revdelete-show-file-confirm' => 'A bheil thu cinnteach gu bheil thu airson coimhead air mùthadh an fhaidhle "<nowiki>$1</nowiki>" a chaidh a sguabadh às $2 aig $3?',
 'revdelete-show-file-submit' => 'Tha',
-'revdelete-selected' => "'''{{PLURAL:$2|Lèirmheas|Lèirmheasan}} de [[:$1]] a thagh thu:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|An tachartas loga|Na tachartasan loga}} a thagh thu:'''",
 'revdelete-confirm' => "Dearbh gu bheil thu airson seo a dhèanamh, gu bheil thu a' tuigsinn na thachras ri linn agus gu bheil thu a' dèanamh seo a-rèir [[{{MediaWiki:Policy-url}}|a' phoileasaidh]].",
 'revdelete-suppress-text' => "Cha bu chòir dhut mùchadh a chleachdadh '''ach''' ann an suidheachaidhean mar seo:
index 8008a20..1b6b69a 100644 (file)
@@ -1260,7 +1260,6 @@ función, a revisión especificada non existe ou está intentando agochar a revi
 'revdelete-no-file' => 'O ficheiro especificado non existe.',
 'revdelete-show-file-confirm' => 'Está seguro de querer ver unha revisión borrada do ficheiro "<nowiki>$1</nowiki>" do día $2 ás $3?',
 'revdelete-show-file-submit' => 'Si',
-'revdelete-selected' => "'''{{PLURAL:\$2|Revisión seleccionada|Revisións seleccionadas}} de \"[[:\$1]]\":'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Rexistro de evento seleccionado|Rexistro de eventos seleccionados}}:'''",
 'revdelete-confirm' => 'Por favor, confirme que quere levar a cabo esta acción, que comprende as consecuencias e que o fai de acordo [[{{MediaWiki:Policy-url}}|coas políticas]].',
 'revdelete-suppress-text' => "A eliminación '''unicamente''' debería utilizarse nos seguintes casos:
index 2da1db1..5724742 100644 (file)
@@ -672,7 +672,6 @@ $2',
 'revdelete-no-file' => 'Τὸ καθωρισμένον ἀρχεῖον οὐχ ὑπάρχει.',
 'revdelete-show-file-confirm' => 'Βέβαιος εἶ περὶ τῆς προβολῆς διαγεγραμμένης ἀναθεωρήσεως τινὸς τοῦ ἀρχείου "<nowiki>$1</nowiki>" ἐκ τῆς $2 ἐν τῇ $3;',
 'revdelete-show-file-submit' => 'Ναί',
-'revdelete-selected' => "'''{{PLURAL:$2|Ἐπειλεγμένη ἀναθεώρησις|Ἐπειλεγμέναι ἀναθεωρήσεις}} τοῦ [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Ἐπειλεγμένον γεγονὸς καταλόγου|Ἐπειλεγμένα γεγονὀτα καταλόγου}}:'''",
 'revdelete-legend' => 'Θέτειν περιορισμοῦς ὁρατότητος',
 'revdelete-hide-text' => 'Κρύπτειν κείμενον ἀναθεωρήσεως',
index 59a4f1a..bc06679 100644 (file)
@@ -1063,7 +1063,6 @@ Du chasch dää Unterschid allno aaluege; Details het's im [{{fullurl:{{#Special
 'revdelete-no-file' => 'D Datei, wu Du aagee hesch, git s nit.',
 'revdelete-show-file-confirm' => 'Bisch sicher, ass Du di glescht Version vu dr Datei „<nowiki>$1</nowiki>“ vum $2 am $3 witt aaluege?',
 'revdelete-show-file-submit' => 'Jo',
-'revdelete-selected' => "'''{{PLURAL:$2|Usgwehlti Version|Usgwehlti Versione}} vu [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Usgwehlte Logbuechyytrag|Usgwehlti Logbuechyytreg}}:'''",
 'revdelete-confirm' => 'Bitte tue bstetige, ass Du vor hesch, des z mache, d Konsequänze drus verstohsch un s machsch in Inbereinstimmig mit dr [[{{MediaWiki:Policy-url}}|Richtlinie]].',
 'revdelete-suppress-text' => "Unterdruckige sotte '''nume''' in däne Fäll bruucht wäre:
index e317b35..442dd2d 100644 (file)
@@ -1091,7 +1091,6 @@ $3 દ્વારા અપાયેલ કારણ છે ''$2''",
 'revdelete-no-file' => 'વર્ણવેલી ફાઈલ અસ્તિત્વમાં નથી',
 'revdelete-show-file-confirm' => 'શું તમને ખાત્રી છે કેતમે $2 તારીખ $3 વાગ્યા સુધીના "<nowiki>$1</nowiki>" ફાઇલ ના ફેરફાર જોવા માંગો છો?',
 'revdelete-show-file-submit' => 'હા',
-'revdelete-selected' => "''' [[:$1]] ના {{PLURAL:$2|પસંદ કરેલ ફેરફાર |પસંદ કરેલ ફેરફારો}}: '''",
 'logdelete-selected' => "'''{{PLURAL:$1|પસંદગી કરેલ લોગ ઘટના | પસંદગી કરેલ લોગ ઘટનાઓ }}:'''",
 'revdelete-confirm' => 'કૃપયા પુષ્ટિ કરો કે તમે શું કરી રહ્યા છો તેની અને તેના પરિણામોની તમને જાણ છે અને તમે આ બધું  [[{{MediaWiki:Policy-url}}|the policy]] અ6તર્ગત કરી રહ્યાં છો.',
 'revdelete-suppress-text' => "બળ પૂર્વક છુપાવવું \"માત્ર\" આજ સંજોગોમાં કરી શકાશે:
index 7605a2d..fe7e358 100644 (file)
@@ -404,6 +404,10 @@ $2',
 'namespaceprotected' => "汝還無權限編輯'''$1'''名字空間嘅頁面。",
 'customcssprotected' => '汝還無權限編輯邇隻CSS頁面,因為其包含矣其他用戶嘅個人設置。',
 'customjsprotected' => '汝還無權限去編輯邇隻JavaScript頁面,因為其包含矣另一用戶嘅個人設定。',
+'mycustomcssprotected' => '汝無權限修改邇頁CSS。',
+'mycustomjsprotected' => '汝無編輯邇頁JavaScript之權限。',
+'myprivateinfoprotected' => '汝無權限編輯汝个個人信息。',
+'mypreferencesprotected' => '汝無權限編輯汝个個人設定。',
 'ns-specialprotected' => '邇兜特殊頁面係毋做得編輯嘅。',
 'titleprotected' => "邇隻標題已經分[[User:$1|$1]]保護來防止建立。理由係''$2''。",
 'filereadonlyerror' => '無辦法修改文件「$1」因為文件庫「$2」處於唯讀模式。 !
@@ -428,6 +432,7 @@ $2',
 'yourname' => '用戶名:',
 'userlogin-yourname' => '用戶名',
 'userlogin-yourname-ph' => '輸入汝嘅用戶名',
+'createacct-another-username-ph' => '輸入用戶名:',
 'yourpassword' => '密碼:',
 'userlogin-yourpassword' => '密碼',
 'userlogin-yourpassword-ph' => '輸入汝嘅密碼',
@@ -458,10 +463,14 @@ $2',
 'gotaccountlink' => '登入',
 'userlogin-resetlink' => '毋記得汝嘅登入信息?',
 'userlogin-resetpassword-link' => '添忘訖汝嘅密碼?',
+'userlogin-loggedin' => '汝已作為{{GENDER:$1|$1}}登錄。
+利用以下表單以作為另一賬戶登錄。',
 'createacct-join' => '輸入汝嘅基本資料:',
+'createacct-another-join' => '在下方輸入新帳號个資訊。',
 'createacct-emailrequired' => '電郵地址:',
 'createacct-emailoptional' => '電郵地址(可選)',
 'createacct-email-ph' => '設置電郵地址',
+'createacct-another-email-ph' => '輸入電郵地址',
 'createaccountmail' => '使用一隻臨時嘅隨機密碼,並將其發送到指定嘅電子郵件地址',
 'createacct-realname' => '實名(可選)',
 'createaccountreason' => '原因:',
@@ -520,20 +529,22 @@ $2',
 'acct_creation_throttle_hit' => '在邇隻wiki上係話訪客利用汝个IP地址在昨天創建矣$1個賬戶,係在邇段時間肚的上限。
 結果利用這個IP地址个訪客在邇段時間中無辦法創建更多个賬戶。',
 'emailauthenticated' => '汝嘅電郵地址已經於$2 $3確認。',
-'emailnotauthenticated' => '汝嘅郵箱地址<strong>還無分認証</strong>。以下功能將毋會發送任何郵件。',
+'emailnotauthenticated' => '汝个電郵位址還㬟確認。
+將收毋到以下功能相關个電郵。',
 'noemailprefs' => '在嘅嘅偏好設定肚指定一隻電子郵件地址來使用邇隻功能。',
 'emailconfirmlink' => '確認汝嘅郵箱地址',
 'invalidemailaddress' => '郵箱地址格式不正確,請輸入正確个郵箱位址或清空該輸入框。',
+'cannotchangeemail' => '本Wiki毋允許對帳號个電子郵件位址進行變更。',
 'emaildisabled' => '邇隻網站毋可以發送電子郵件。',
 'accountcreated' => '已建立賬戶',
-'accountcreatedtext' => '$1嘅賬戶已經分建立。',
+'accountcreatedtext' => '[[{{ns:User}}:$1|$1]]([[{{ns:User talk}}:$1|討論]])的賬戶已經畀建立。',
 'createaccount-title' => '在{{SITENAME}}肚建立新賬戶',
 'createaccount-text' => '有人在{{SITENAME}}肚利用汝嘅電郵創建矣一隻喊做 "$2" 嘅新賬戶($4),密碼係 "$3" 。汝應該立即登入並更改密碼。
 
 如果該賬戶建立錯誤嘅話,汝可以忽略邇條訊息。',
 'usernamehasherror' => '用戶名毋可以包含Hash字符',
 'login-throttled' => '汝已經嘗試多次登入動作。
-請等再試。',
+請等$1後再試。',
 'login-abort-generic' => '登入錯誤 - 中止',
 'loginlanguagelabel' => '語言:$1',
 'suspicious-userlogout' => '汝登出嘅要求已經分拒絕,因為其可能係由已損壞嘅瀏覽器或者緩存代理傳送。',
@@ -795,7 +806,6 @@ Liá-chhṳ chhà-fûng he yù $1 só fûng ke. Tông-chûng ke ngièn-yîn he '
 所指定嘅修訂版本毋存在,或者汝嘗試去隱藏今下嘅修訂版本。',
 'revdelete-no-file' => '指定嘅文件毋存在',
 'revdelete-show-file-submit' => '係',
-'revdelete-selected' => "'''選取[[:$1]]嘅$2次修訂:'''",
 'logdelete-selected' => "'''Chhí-chhṳ '''$1''' ke $2-ke ngit-ki hong-muk:'''",
 'revdelete-legend' => 'Sat-thin siû-thin han-chṳ:',
 'revdelete-hide-text' => '隱藏修訂版本文字',
@@ -863,7 +873,7 @@ Liá-chhṳ chhà-fûng he yù $1 só fûng ke. Tông-chûng ke ngièn-yîn he '
 'search-section' => '(段落 $1)',
 'search-suggest' => '汝係毋係尋:$1',
 'search-interwiki-caption' => '姊妹計劃',
-'search-interwiki-default' => '$1é \85çµ\90æ\9e\9c:',
+'search-interwiki-default' => 'ä¾\86è\87ª$1å\98\85çµ\90æ\9e\9c:',
 'search-interwiki-more' => '(還較多)',
 'searchrelated' => '相關',
 'searchall' => '全部',
@@ -1367,7 +1377,7 @@ Also see [[Special:WantedCategories|wanted categories]].',
 下背係'''$1'''今下嘅保護級別:",
 'protect-locked-access' => "汝嘅賬戶權限做毋得修改保護級別。
 下背係'''$1'''今下嘅保護級別:",
-'protect-cascadeon' => '下背嘅{{PLURAL:$1|一個|多個}}頁面包含緊本頁面嘅同時,啟動矣連鎖保護,故所本頁面目前也分保護,還吂做得編寫。汝做得設定本頁面嘅保護級別,毋過邇並不會對連鎖保護有所影響。',
+'protect-cascadeon' => '下背嘅$1嘅頁面包含緊本頁面嘅同時,還啟動矣連鎖保護,故所本頁面目前也分保護,還㬟做得編寫。汝做得設定本頁面嘅保護級別,毋過邇影響毋到連鎖保護。',
 'protect-default' => '容許所有用戶',
 'protect-fallback' => 'Sî-yeu "$1" ke hí-khó',
 'protect-level-autoconfirmed' => 'Kim-chṳ́  sîn-ke lâu hàn-mò chu-chhak ke yung-fu',
@@ -1461,7 +1471,7 @@ Also see [[Special:WantedCategories|wanted categories]].',
 'whatlinkshere-next' => '後背$1隻',
 'whatlinkshere-links' => '←連入',
 'whatlinkshere-hideredirs' => '$1重定向',
-'whatlinkshere-hidetrans' => '$1å\8c\85å\90«',
+'whatlinkshere-hidetrans' => '$1åµ\8cå\85¥',
 'whatlinkshere-hidelinks' => '$1鏈接',
 'whatlinkshere-hideimages' => '$1條文件鏈接',
 'whatlinkshere-filters' => '過濾器',
index d86771f..b942871 100644 (file)
@@ -1116,8 +1116,8 @@ $2
 'userpage-userdoesnotexist' => 'חשבון המשתמש "$1" אינו רשום.
 אנא בדקו אם ברצונכם ליצור/לערוך דף זה.',
 'userpage-userdoesnotexist-view' => 'חשבון המשתמש "$1" אינו רשום.',
-'blocked-notice-logextract' => '{{GENDER:$1|×\94×\9eשת×\9eש ×\94×\96×\94 ×\97ס×\95×\9d\94×\9eשת×\9eשת ×\94×\96×\90ת חסומה}} כרגע.
-הפעולה האחרונה ביומן החסימות מוצגת להלן לעיון:',
+'blocked-notice-logextract' => '{{GENDER:$1|×\94×\9eשת×\9eש ×\94×\96×\94 ×\97ס×\95×\9d\94×\9eשת×\9eשת ×\94×\96×\95 חסומה}} כרגע.
+הפעולה האחרונה ביומן החסימות מוצגת להלן:',
 'clearyourcache' => "'''הערה:''' לאחר השמירה, עליכם לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.
 * '''פיירפוקס / ספארי:''' לחצו על Shift בעת לחיצתכם על '''העלה מחדש''' (Reload), או הקישו על ''Ctrl-F5'' או על ''Ctrl-R'' (או על ''<span dir=\"ltr\">⌘-R</span>'' במחשב מק)
 * '''גוגל כרום:''' לחצו על ''Ctrl-Shift-R'' (או על ''<span dir=\"ltr\">⌘-Shift-R</span>'' במק)
@@ -1341,11 +1341,10 @@ $2
 'revdelete-no-file' => 'הקובץ שציינת אינו קיים.',
 'revdelete-show-file-confirm' => 'האם אתם בטוחים שברצונכם לצפות בגרסה המחוקה של הקובץ "<nowiki>$1</nowiki>" מתאריך $3, $2?',
 'revdelete-show-file-submit' => 'כן',
-'revdelete-selected' => "'''ה{{PLURAL:$2|גרסה שנבחרה|גרסאות שנבחרו}} מתוך הדף [[:$1]]:'''",
-'logdelete-selected' => "'''{{PLURAL:$1|פעולת היומנים שנבחרה|פעולות היומנים שנבחרו}}:'''",
+'logdelete-selected' => '{{PLURAL:$1|פעולת היומן שנבחרה|פעולות היומן שנבחרו}}:',
 'revdelete-text-text' => 'גרסאות שנמחקו עדיין תופענה בהיסטוריית הדף, אך חלקים מהתוכן שלהן לא יהיו זמינים לציבור.',
 'revdelete-text-file' => 'גרסאות קבצים שנמחקו עדיין תופענה בהיסטוריית הקובץ, אך חלקים מהתוכן שלהן לא יהיו זמינים לציבור.',
-'logdelete-text' => 'פע×\95×\9c×\95ת ×\99×\95×\9e× ×\99×\9d שנמחקו עדיין תופענה בדפי היומנים, אך חלקים מהתוכן שלהן לא יהיו זמינים לציבור.',
+'logdelete-text' => 'פע×\95×\9c×\95ת ×\99×\95×\9e×\9f שנמחקו עדיין תופענה בדפי היומנים, אך חלקים מהתוכן שלהן לא יהיו זמינים לציבור.',
 'revdelete-text-others' => 'מפעילי מערכת אחרים באתר עדיין יוכלו לגשת לתוכן הנסתר ויוכלו לשחזר אותו שוב דרך הממשק הזה, אלא אם כן תוגדרנה הגבלות נוספות.',
 'revdelete-confirm' => 'אנא אשרו שזה אכן מה שאתם מתכוונים לעשות, שאתם מבינים את התוצאות של מעשה כזה, ושהמעשה מבוצע בהתאם ל[[{{MediaWiki:Policy-url}}|נוהלי האתר]].',
 'revdelete-suppress-text' => "יש להשתמש בהסתרה מלאה '''אך ורק''' במקרים הבאים:
@@ -2798,8 +2797,8 @@ $1',
 'sp-contributions-logs' => 'יומנים',
 'sp-contributions-talk' => 'שיחה',
 'sp-contributions-userrights' => 'ניהול הרשאות משתמש',
-'sp-contributions-blocked-notice' => '{{GENDER:$1|×\94×\9eשת×\9eש ×\94×\96×\94 ×\97ס×\95×\9d\94×\9eשת×\9eשת ×\94×\96×\90ת חסומה}} כרגע.
-הפעולה האחרונה ביומן החסימות מוצגת להלן לעיון:',
+'sp-contributions-blocked-notice' => '{{GENDER:$1|×\94×\9eשת×\9eש ×\94×\96×\94 ×\97ס×\95×\9d\94×\9eשת×\9eשת ×\94×\96×\95 חסומה}} כרגע.
+הפעולה האחרונה ביומן החסימות מוצגת להלן:',
 'sp-contributions-blocked-notice-anon' => 'כתובת IP זו חסומה כרגע.
 הפעולה האחרונה ביומן החסימות מוצגת להלן:',
 'sp-contributions-search' => 'חיפוש תרומות',
index 296a0c5..3da26fa 100644 (file)
@@ -1169,7 +1169,6 @@ $2
 'revdelete-no-file' => 'निर्दिष्ट फ़ाइल मौजूद नहीं है।',
 'revdelete-show-file-confirm' => 'क्या आप वाकई फ़ाइल "<nowiki>$1</nowiki>" के $2 को $3 बजे बने, हटाए जा चुके अवतरण को देखना चाहते हैं?',
 'revdelete-show-file-submit' => 'हाँ',
-'revdelete-selected' => "'''[[:$1]] {{PLURAL:$2|का चुना हुआ|के चुने हुए}} अवतरण:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|चुना हुआ|चुने हुए}} लॉग इवेंट:'''",
 'revdelete-confirm' => 'पुष्टि करें कि आप यह कार्य करना चाहते हैं, आप इसका परिणाम समझते हैं, और आप ये [[{{MediaWiki:Policy-url}}|नीति]] के अनुसार कर रहे हैं।',
 'revdelete-suppress-text' => 'छिपाने का प्रयोग <strong>केवल</strong> इन परिस्थितियों में होना चाहिए:
index fcc7c72..e2b4bc5 100644 (file)
@@ -977,7 +977,6 @@ Aap ii diff ke dekhe saktaa hae: iske baare me aur jaan kaari [{{fullurl:{{#Spec
 'revdelete-no-file' => 'Chuna gais file abhi nai banawa gais hai.',
 'revdelete-show-file-confirm' => 'Ka aap sure hai ki aap file ke mitawa gais revision ke dekhe mangtaa hai "<nowiki>$1</nowiki>" $2 se $3 talak?',
 'revdelete-show-file-submit' => 'Haan',
-'revdelete-selected' => "'''{{PLURAL:$2|Selected badlao|Selected badlao}} of [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Chuna gais log event|Chuna gais log events}}:'''",
 'revdelete-confirm' => 'Meharbani kar ke aap ii confirm karo ki aap ii kare mangta hae, aap iske asar ke samajhta hae, aur iske aap [[{{MediaWiki:Policy-url}}|the policy]] ke anusar karta hae.',
 'revdelete-suppress-text' => "Suppression ke '''khaali''' ii chij ke khatir kaam me lawa jaae sake hai:
index 894e93d..e248c54 100644 (file)
@@ -904,7 +904,6 @@ ang ini nga buluhaton wala, ukon gahimakas ka nga taguon ang karon nga pagbag-o.
 'revdelete-no-file' => 'Ang ginatumod nga hilera wala naga-eksister.',
 'revdelete-show-file-confirm' => 'Sigurado ka bala nga luyag mo makita ang ginpanas nga pagbag-o sang hilera nga "<nowiki>$1</nowiki>" halin sang $2 sa $3?',
 'revdelete-show-file-submit' => 'Huo',
-'revdelete-selected' => "'''{{PLURAL:$2|Ginpili nga pagbag-o|Ginpili nga mga pagbag-o}} ni [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Ginpili nga hinatabo sa log|Ginpili nga mga hinatabo sa log}}:'''",
 'revdelete-confirm' => 'Palihog konpermar nga luyag mo ini himuon, nga imo naintiendihan ang mga konsekwensya, kag ginahimo mo ini suno sa [[{{MediaWiki:Policy-url}}|polisiya]].',
 'revdelete-suppress-text' => "Ang pagpahugot nagakadapat '''lamang''' nga pagagamiton sa masunod nga kaso:
index b515df2..ad246fc 100644 (file)
@@ -1228,7 +1228,6 @@ Možete ju pregledati; više podataka možete vidjeti u [{{fullurl:{{#Special:Lo
 'revdelete-no-file' => 'Navedena datoteka ne postoji.',
 'revdelete-show-file-confirm' => 'Jeste li sigurni da želite pregledati izbrisanu inačicu datoteke "<nowiki>$1</nowiki>" od $2 u $3?',
 'revdelete-show-file-submit' => 'Da',
-'revdelete-selected' => "'''{{PLURAL:$2|Odabrana izmjena|Odabrane izmjene|Odabrane izmjene}} stranice [[$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Odabrani zapis u evidenciji|Odabrani zapisi u evidenciji}}:'''",
 'revdelete-confirm' => 'Molimo potvrdite da namjeravate ovo učiniti, da razumijete posljedice i da to činite u skladu s [[{{MediaWiki:Policy-url}}|pravilima]].',
 'revdelete-suppress-text' => "Sklanjanje uređivanja treba raditi '''iznimno''' u slijedećih par slučajeva:
index 967be9a..2f38367 100644 (file)
@@ -1083,7 +1083,8 @@ Móžeš sej tutón rozdźěl wobhladać; podrobnosće namakaš w [{{fullurl:{{#
 'revdelete-no-file' => 'Podata dataja njeeksistuje.',
 'revdelete-show-file-confirm' => 'Chceš sej woprawdźe wušmórnjenu wersiju dataje "<nowiki>$1</nowiki>" wot $2 $3  wobhladać?',
 'revdelete-show-file-submit' => 'Haj',
-'revdelete-selected' => "'''{{PLURAL:$2|Wubrana wersija|Wubranej wersiji|Wubrane wersije|Wubranych wersijow}} wot [[:$1]]:'''",
+'revdelete-selected-text' => '{{PLURAL:$1|Wubrana wersija|Wubranej wersiji|Wubrane wersije}} wot [[:$2]]:',
+'revdelete-selected-file' => '{{PLURAL:$1|Wubrana datajowa wersija|Wubranej datajowej wersiji|Wubrane datajowe wersije}} wot [[:$2]]:',
 'logdelete-selected' => "'''{{PLURAL:$1|Wubrany zapisk z protokola|Wubranej zapiskaj z protokola|Wubrane zapiski z protokola|Wubrane zapiski z protokola}} za '''$1:''''''",
 'revdelete-text-text' => 'Zhašane wersije wostanu hišće we wersijowej historiji, ale dźěle jich wobsaha njebudu přistupne zjawnosći.',
 'revdelete-text-file' => 'Zhašane datajowe wersije wostanu w datajowej historiji, ale dźěle jich wobsaha njebudu přistupne zjawnosći.',
@@ -1944,6 +1945,11 @@ Snano chceš wopisanje na jeje [$2 stronje datajoweho wopisanja] wobdźěłać.'
 # List redirects
 'listredirects' => 'Lisćina daleposrědkowanjow',
 
+# List duplicated files special page
+'listduplicatedfiles' => 'Lisćina datajow z duplikatami',
+'listduplicatedfiles-summary' => 'To je lisćina datajow, hdźež najnowša wersija dataje je duplikat najnowšeje wersije někajkeje druheje dataje. Jenož lokalne dataje so wobkedźbuja.',
+'listduplicatedfiles-entry' => '[[:File:$1|$1]] ma [[$3|{{PLURAL:$2|duplikat|$2 duplikataj|$2 duplikaty|$2 duplikatow}}]].',
+
 # Unused templates
 'unusedtemplates' => 'Njewužiwane předłohi',
 'unusedtemplatestext' => 'Tuta strona nalistuje wšě strony w mjenowym rumje {{ns:template}}, kotrež so w druhich stronach njewužiwaja. Prošu přepruwuj druhe wotkazy k předłoham, prjedy hač je wušmórnješ.',
index b467c4a..121e12b 100644 (file)
@@ -823,7 +823,6 @@ Lejand : ({{MediaWiki:Cur}}) = diferans ak vèsyon kounye a, ({{MediaWiki:Last}}
 'revisiondelete' => 'Efase/Restore, remèt vèsyon sa',
 'revdelete-nooldid-title' => 'Pa genyen sib, destinasyon pou revizyon sa',
 'revdelete-show-file-submit' => 'Wi',
-'revdelete-selected' => "'''{{PLURAL:$2|Vèsyon ou seleksyone|Vèsyon ou seleksyone yo}} de $1 :'''",
 'revdelete-legend' => 'Mete restriksyon nan vizibilite yo :',
 'revdelete-hide-text' => 'Kache tèks ki te modifye',
 'revdelete-hide-image' => 'Kache kontni fichye a',
index b409d96..9f7777c 100644 (file)
@@ -1249,7 +1249,6 @@ vagy a legutolsó változatot próbáltad meg elrejteni.',
 'revdelete-no-file' => 'A megadott fájl nem létezik.',
 'revdelete-show-file-confirm' => 'Biztosan meg szeretnéd nézni a(z) „<nowiki>$1</nowiki>” $2, $3-i törölt változatát?',
 'revdelete-show-file-submit' => 'Igen',
-'revdelete-selected' => "'''A(z) [[:$1]] lap {{PLURAL:$2|kiválasztott változata|kiválasztott változatai}}:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Kiválasztott naplóesemény|Kiválasztott naplóesemények}}:'''",
 'revdelete-confirm' => 'Kérlek erősítsd meg, hogy valóban ezt szeretnéd tenni; megértetted a következményeket, és amit teszel, az összhangban van [[{{MediaWiki:Policy-url}}|az irányelvekkel]].',
 'revdelete-suppress-text' => "Az elrejtés '''csak''' a következő esetekben használható:
index cc2828b..75b387a 100644 (file)
@@ -1112,7 +1112,6 @@ $3 մասնակիցը տվել է հետևյալ պատճառը. ''$2''",
 'revdelete-nooldid-title' => 'Անվավեր նպատակային տարբերակ',
 'revdelete-nooldid-text' => 'Դուք կա՛մ չեք նշել նպատակային տարբերակ(ներ)ը այս ֆունկցիայի կատարման համար, կա՛մ նպատակային տարբերակը գոյություն չունի, կա՛մ էլ դուք փորձում եք թաքցնել ընթացիկ տարբերակը։',
 'revdelete-show-file-submit' => 'Այո',
-'revdelete-selected' => "'''[[:$1]] էջի ընտրված {{PLURAL:$2|տարբերակը|տարբերակները}}.'''",
 'logdelete-selected' => "'''Տեղեկամատյանի ընտրված {{PLURAL:$1|գրառումը|գրառումները}}.'''",
 'revdelete-legend' => 'Սահմանել տեսանելիության սահմանափակումներ',
 'revdelete-hide-text' => 'Թաքցնել տարբերակի տեքստը',
index ab02fcb..97dffde 100644 (file)
@@ -592,6 +592,7 @@ Non oblida personalisar tu [[Special:Preferences|preferentias in {{SITENAME}}]].
 'gotaccountlink' => 'Aperir session',
 'userlogin-resetlink' => 'Datos de authentication oblidate?',
 'userlogin-resetpassword-link' => 'Contrasigno oblidate?',
+'userlogin-helplink2' => 'Adjuta al accesso',
 'userlogin-loggedin' => 'Tu ha jam aperite session como {{GENDER:$1|$1}}.
 Usa le formulario sequente pro aperir session como altere usator.',
 'userlogin-createanother' => 'Crear un altere conto',
@@ -693,6 +694,7 @@ Per favor attende $1 ante de probar lo novemente.',
 'createacct-another-realname-tip' => 'Le nomine real es optional.
 Si tu opta pro dar lo, isto essera usate pro dar al usator attribution pro su contributiones.',
 'pt-login' => 'Aperir session',
+'pt-login-button' => 'Aperir session',
 'pt-createaccount' => 'Crear conto',
 'pt-userlogout' => 'Clauder session',
 
@@ -727,6 +729,9 @@ Pro completar le accesso, tu debe definir un nove contrasigno hic:',
 'resetpass-abort-generic' => 'Le cambio del contrasigno ha essite abortate per un extension.',
 'resetpass-expired' => 'Le contrasigno ha expirate. Per favor defini un nove contrasigno pro aperir session.',
 'resetpass-expired-soft' => 'Le contrasigno ha expirate e debe esser redefinite. Per favor elige un nove contrasigno ora, o clicca sur "{{int:resetpass-submit-cancel}}" pro redefinir lo plus tarde.',
+'resetpass-validity-soft' => 'Le contrasigno non es valide: $1
+
+Per favor elige un nove contrasigno ora, o clicca sur "{{int:resetpass-submit-cancel}}" pro redefinir lo plus tarde.',
 
 # Special:PasswordReset
 'passwordreset' => 'Reinitialisar contrasigno',
@@ -1131,8 +1136,11 @@ function, o le version specificate non existe, o tu essaya celar le version actu
 'revdelete-no-file' => 'Le file specificate non existe.',
 'revdelete-show-file-confirm' => 'Es tu secur de voler vider un version delite del file  "<nowiki>$1</nowiki>" del $2 a $3?',
 'revdelete-show-file-submit' => 'Si',
-'revdelete-selected' => "'''{{PLURAL:$2|Version seligite|Versiones seligite}} de [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Evento|Eventos}} de registro seligite:'''",
+'revdelete-text-text' => 'Versiones delite continua a apparer in le historia del pagina, ma parte de lor contento essera inaccessibile pro le publico.',
+'revdelete-text-file' => 'Versiones delite de un file continua a apparer in le historia del file, ma parte de lor contento essera inaccessibile pro le publico.',
+'logdelete-text' => 'Eventos delite continua a apparer in le registros, ma parte de lor contento essera inaccessibile pro le publico.',
+'revdelete-text-others' => 'Altere administratores in {{SITENAME}} continua a poter acceder al contento abscondite e pote restaurar lo per medio de iste mesme interfacie, a minus que additional restrictiones ha essite definite.',
 'revdelete-confirm' => 'Per favor confirma que tu ha le intention de facer isto, que tu comprende le consequentias, e que tu face isto in accordo con [[{{MediaWiki:Policy-url}}|le politica]].',
 'revdelete-suppress-text' => "Le suppression debe '''solmente''' esser usate pro le sequente casos:
 * Information potentialmente diffamatori
@@ -1597,7 +1605,7 @@ Si tu opta pro dar lo, isto essera usate pro dar te attribution pro tu contribut
 'recentchanges-legend-heading' => "'''Legenda:'''",
 'recentchanges-legend-newpage' => '(vide etiam le [[Special:NewPages|lista de nove paginas]])',
 'recentchanges-legend-plusminus' => "(''±123'')",
-'rcnotefrom' => 'infra es le modificationes a partir de <b>$2</b> (usque a <b>$1</b>).',
+'rcnotefrom' => 'Ecce le modificationes a partir del <strong>$3 a $4</strong> (usque a <strong>$1</strong> entratas).',
 'rclistfrom' => 'Monstrar nove modificationes a partir de $1',
 'rcshowhideminor' => '$1 modificationes minor',
 'rcshowhideminor-show' => 'Monstrar',
@@ -2007,6 +2015,11 @@ Syntaxe: typo/subtypo, p.ex. <code>image/jpeg</code>.',
 # List redirects
 'listredirects' => 'Listar redirectiones',
 
+# List duplicated files special page
+'listduplicatedfiles' => 'Lista de files con duplicatos',
+'listduplicatedfiles-summary' => 'Isto es un lista de files del quales le version le plus recente es un duplicato del version le plus recente de un altere file. Solmente le files local es examinate.',
+'listduplicatedfiles-entry' => '[[:File:$1|$1]] ha [[$3|{{PLURAL:$2|un duplicato|$2 duplicatos}}]].',
+
 # Unused templates
 'unusedtemplates' => 'Patronos non usate',
 'unusedtemplatestext' => 'Iste pagina es un lista de tote le paginas in le spatio de nomines "{{ns:template}}" que non es includite in un altere pagina.
@@ -2415,7 +2428,7 @@ Le deletion de tal paginas ha essite restringite pro impedir le disruption accid
 'delete-warning-toobig' => 'Iste pagina ha un grande historia de modificationes con plus de $1 {{PLURAL:$1|version|versiones}}.
 Le deletion de illo pote disrumper le operationes del base de datos de {{SITENAME}};
 procede con caution.',
-'deleting-backlinks-warning' => "'''Attention:''' Il ha altere paginas que liga a o transclude le pagina que tu es sur le puncto de deler.",
+'deleting-backlinks-warning' => "'''Attention:''' Il ha [[Special:WhatLinksHere/{{FULLPAGENAME}}|altere paginas]] que liga a o transclude le pagina que tu es sur le puncto de deler.",
 
 # Rollback
 'rollback' => 'Revocar modificationes',
@@ -2471,7 +2484,7 @@ Ecce le configurationes actual del pagina '''$1''':",
 'protect-locked-access' => "Tu conto non ha le permission de cambiar le nivellos de protection de paginas.
 Ecce le configurationes actual del pagina '''$1''':",
 'protect-cascadeon' => 'Iste pagina es actualmente protegite proque illo es includite in le sequente {{PLURAL:$1|pagina, le qual|paginas, le quales}} ha activate le protection in cascada.
-Tu pote cambiar le nivello de protection de iste pagina, ma isto non cambiara le effecto del protection in cascada.',
+Cambiamentos in le nivello de protection de iste pagina non influentia le protection in cascada.',
 'protect-default' => 'Permitter a tote le usatores',
 'protect-fallback' => 'Permitter solmente al usatores con le privilegio de "$1"',
 'protect-level-autoconfirmed' => 'Permitter solmente al usatores autoconfirmate',
@@ -2597,6 +2610,7 @@ $1',
 'sp-contributions-blocked-notice-anon' => 'Iste adresse IP es actualmente blocate.
 Le ultime entrata del registro de blocadas es reproducite hic infra pro information:',
 'sp-contributions-search' => 'Cercar contributiones',
+'sp-contributions-suppresslog' => 'contributiones supprimite de usatores',
 'sp-contributions-username' => 'Adresse IP o nomine de usator:',
 'sp-contributions-toponly' => 'Monstrar solmente le versiones recente',
 'sp-contributions-newonly' => 'Monstrar solmente le modificationes que es creationes de pagina',
index 626ca2c..5ef7f70 100644 (file)
@@ -1287,7 +1287,6 @@ Sebagai seorang pengurus, Anda dapat melihat perbedaan ini; detail mungkin terse
 'revdelete-no-file' => 'Berkas yang dituju tidak ditemukan.',
 'revdelete-show-file-confirm' => 'Apakah Anda yakin ingin melihat revisi yang telah dihapus dari berkas "<nowiki>$1</nowiki>" per $3, $2?',
 'revdelete-show-file-submit' => 'Ya',
-'revdelete-selected' => "'''{{PLURAL:$2|Revisi|Revisi-revisi}} pilihan dari '''$1''''''",
 'logdelete-selected' => "'''{{PLURAL:$1|Log|Log-log}} pilihan untuk:'''",
 'revdelete-confirm' => 'Tolong konfirmasi bahwa Anda memang bermaksud melakukan ini, memahami konsekuensinya, dan bahwa Anda melakukannya sesuai dengan [[{{MediaWiki:Policy-url}}|kebijakan]].',
 'revdelete-suppress-text' => "Penyembunyian revisi '''hanya''' boleh digunakan untuk kasus-kasus berikut:
index 7e29fa2..41f2338 100644 (file)
@@ -1021,7 +1021,6 @@ awan ti naibaga a panagbaliw, wenno padpadasem nga ilemlemmeng ti agdama a panag
 'revdelete-no-file' => 'Awan dayta nainaganan a papeles.',
 'revdelete-show-file-confirm' => 'Sigurado kadi a kayatmo ti mangkita ti naikkat a baliwan ti papeles "<nowiki>$1</nowiki>" a naggapu idi $2 idi $3?',
 'revdelete-show-file-submit' => 'Wen',
-'revdelete-selected' => "'''{{PLURAL:$2|Napili a nabaliwan|Dagiti napili a nabaliwan}} iti [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Ti napili a listaan ti napasamak|Dagiti napili a listaan ti napasamak}}:'''",
 'revdelete-text-text' => 'Dagiti naikkat a rebision ket agparangto pay laeng iti panid ti pakasaritaan, ngem dagiti paset ti linaonda ket saanton a publiko a maserrekan.',
 'revdelete-text-file' => 'Dagiti naikkat a bersion ti papeles ket agparangto pay laeng iti pakasaritaan ti papeles, ngem dagiti paset ti linaonda ket saanton a publiko a maserrekan.',
index f5cf08c..b3b7529 100644 (file)
@@ -1160,7 +1160,6 @@ Frekari upplýsingar eru í [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGE
 'revdelete-no-file' => 'Umbeðin skrá er ekki til.',
 'revdelete-show-file-confirm' => 'Ertu viss um að þú viljir sjá eydda breytingu af síðunni "<nowiki>$1</nowiki>" frá $2 $3?',
 'revdelete-show-file-submit' => 'Já',
-'revdelete-selected' => "'''{{PLURAL:$2|Valin breyting|Valdar breytingar}} fyrir [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Valin aðgerð|Valdar aðgerðir}}:'''",
 'revdelete-confirm' => 'Vinsamlegast staðfestu að þú viljir gera þetta, að þú skiljir afleiðingarnar og að þú sért að gera þetta í samræmi við  [[{{MediaWiki:Policy-url}}]].',
 'revdelete-suppress-text' => "Bælingu á '''eingöngu''' að nota í eftirfarandi tilfellum:
index 93d82c4..c618a45 100644 (file)
@@ -1238,7 +1238,6 @@ In quanto amministratore puoi visualizzare questo confronto di versioni; potrebb
 'revdelete-no-file' => 'Il file specificato non esiste.',
 'revdelete-show-file-confirm' => 'Si desidera visualizzare la versione cancellata del file "<nowiki>$1</nowiki>" del $2 alle $3?',
 'revdelete-show-file-submit' => 'Sì',
-'revdelete-selected' => "'''{{PLURAL:$2|Versione selezionata|Versioni selezionate}} di [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Evento del registro selezionato|Eventi del registro selezionati}}:'''",
 'revdelete-text-text' => 'Le versioni cancellate appariranno ancora nella cronologia della pagina, ma parti del loro contenuto sarà inaccessibile al pubblico.',
 'revdelete-text-file' => 'Le versioni di file cancellati appariranno ancora nella cronologia del file, ma parti del loro contenuto sarà inaccessibile al pubblico.',
index 8ae043d..8db3073 100644 (file)
@@ -1363,7 +1363,6 @@ $3 が示した理由: ''$2''",
 'revdelete-no-file' => '指定されたファイルは存在しません。',
 'revdelete-show-file-confirm' => 'ファイル「<nowiki>$1</nowiki>」の削除された$2$3の版を本当に閲覧しますか?',
 'revdelete-show-file-submit' => 'はい',
-'revdelete-selected' => '<strong>[[:$1]] の{{PLURAL:$2|選択された版}}:</strong>',
 'logdelete-selected' => '<strong>{{PLURAL:$1|選択された記録項目}}:</strong>',
 'revdelete-text-others' => '追加の制限を設定しない限り、{{SITENAME}} の他の管理者は非表示コンテンツにまだアクセスでき、この同じインターフェースを通してそれを復元することができます。',
 'revdelete-confirm' => 'この操作を行おうとしていること、その結果を理解していること、[[{{MediaWiki:Policy-url}}|方針]]に従っていること、を確認してください。',
@@ -2257,6 +2256,9 @@ contenttype/subtypeの形式で入力してください (例: <code>image/jpeg</
 # List redirects
 'listredirects' => '転送ページの一覧',
 
+# List duplicated files special page
+'listduplicatedfiles-entry' => '[[:File:$1|$1]] には [[$3|{{PLURAL:$2|$2 件の重複ファイル}}]]があります。',
+
 # Unused templates
 'unusedtemplates' => '使われていないテンプレート',
 'unusedtemplatestext' => 'このページでは{{ns:template}}名前空間にあって他のページに読み込まれていないページを一覧にしています。
index 1c521fb..bbf9486 100644 (file)
@@ -962,7 +962,6 @@ Sampéyan isih bisa ndelok prabédan iki; rincian bisa ditemokaké nèng [{{full
 'revdelete-no-file' => 'Berkas sing dituju ora ana.',
 'revdelete-show-file-confirm' => 'Apa panjenengan yakin arep mirsani révisi sing wis kabusak saka berkas "<nowiki>$1</nowiki>" ing $2, jam $3?',
 'revdelete-show-file-submit' => 'Ya',
-'revdelete-selected' => "'''{{PLURAL:$2|Revisi kapilih|Revisi kapilih}} dari '''$1''''''",
 'logdelete-selected' => "'''{{PLURAL:$1|Log kapilih|Log kapilih}} kanggo:'''",
 'revdelete-confirm' => 'Mangga pesthèkaké yèn Sampéyan pancèn kudu nglakoni iki, yèn Sampéyan ngerti akibaté, lan yèn Sampéyan ngakoni iki cocok karo [[{{MediaWiki:Policy-url}}|kawicakan]].',
 'revdelete-suppress-text' => "Pandhelikan révisi '''mung''' bisa dipigunakaké kanggo kasus ing ngisor:
index af5ea3f..8bce466 100644 (file)
@@ -1109,7 +1109,6 @@ $3 -ემ ამგვარი ახსნა : ''$2''",
 'revdelete-no-file' => 'მოთხოვნილი ფაილი არ არსებობს.',
 'revdelete-show-file-confirm' => 'დარწმუნებული ხართ, რომ გსურთ ამ ფაილის წაშლილი ვერსიის ნახვა, „<nowiki>$1</nowiki>“ $2, $3-დან ?',
 'revdelete-show-file-submit' => 'ჰო',
-'revdelete-selected' => "'''[[:$1]]-ის {{PLURAL:$2|მონიშნული ცვლილება|მონიშნული ცვლილებები}}:'''",
 'logdelete-selected' => "'''ჟურნალის {{PLURAL:$1|არჩეული ჩანაწერი|არჩეული ჩანაწერები}}:'''",
 'revdelete-confirm' => 'გთხოვთ დაადასტუროთ, რომ გსურთ ქმედების განხორციელება. ასევე ვიმედოვნებთ, რომ ყველაფერს აკეთებთ  [[{{MediaWiki:Policy-url}}|წესებთან შესაბამისობაში]].',
 'revdelete-suppress-text' => "დამალვა შეიძლება განხორციელდეს '''მხოლოდ''' შემდეგ შემთხვევებში:
index 04d542e..6b16942 100644 (file)
@@ -728,7 +728,6 @@ Sha'rtli belgiler: (ha'z.) = ha'zirgi nusqasi menen parqı,
 'rev-deleted-user' => "(paydalanıwshı atı o'shirildi)",
 'rev-deleted-event' => "(jurnal ha'reketi o'shirildi)",
 'rev-delundel' => "ko'rsetiw/jasırıw",
-'revdelete-selected' => "'''[[:$1]] {{PLURAL:$2|saylang'an nusqası|saylang'an nusqaları}}:'''",
 'revdelete-legend' => "Ko'rinis sheklewlerin belgilew",
 'revdelete-hide-text' => 'Nusqa tekstin jasır',
 'revdelete-hide-image' => "Fayl mag'lıwmatın jasır",
index c454a1e..2e1866a 100644 (file)
@@ -956,7 +956,6 @@ Tzemreḍ att ẓṛeḍ ; tilɣa llant deg [{{fullurl:{{#Special:Log}}/delete|p
 'revdelete-no-file' => 'Afaylu id ssefruḍ ur yella ara.',
 'revdelete-show-file-confirm' => 'Tebɣriḍ ad mḥuḍ tacaggart n ufaylu « <nowiki>$1</nowiki> » n $2 af $3 ?',
 'revdelete-show-file-submit' => 'Ih',
-'revdelete-selected' => "'''{{PLURAL:$2|Tasiwelt tettwafren|Tisiwal ttwafernen}} n [[:$1]]'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Tamirt n uɣmis tettwafren|Isallen n uɣmis ttwafernen}}:'''",
 'revdelete-confirm' => 'Sergeg ma tebɣiḍ ad xedmeḍ tigawt agi, fehmeḍ inalkamen, dɣa temtawiḍ s [[{{MediaWiki:Policy-url}}|ilugan]].',
 'revdelete-suppress-text' => "Ilaq tukksa att illi \"kan\" deg tijṛa agi :
index 5226e88..03944a8 100644 (file)
@@ -820,7 +820,6 @@ $3 ар зтеухуауэ къитхыр: ''$2''",
 'revdelete-no-file' => 'Къэгъэлъэгъуа файлыр щыӀэкъым.',
 'revdelete-show-file-confirm' => 'Арэзыуэ ущыт уеплъыну файл ихам и версиэ «<nowiki>$1</nowiki>» $2, $3 ?',
 'revdelete-show-file-submit' => 'НытӀэ',
-'revdelete-selected' => "'''{{PLURAL:$2|Версиэ хэхар|Версиэ хэхахэр}} напэкӀуэцӀ [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Тхылъ хэхар|Тхылъ хэхахэр}} тхыгъэм:'''",
 'revdelete-confirm' => 'Арэзыгъуэ ет, быщӀэр зэр уи гугъэр, къыхэкӀынур къызэрыбгурыӀуэр, быщӀу хъуамкӀэ [[{{MediaWiki:Policy-url}}|хабзэм]] узэремыбакъуэр.',
 'revdelete-suppress-text' => "ГъэпшкӀугъэр щекӀуэкӀыфыну '''къуэдер''' мыбым хуэдэм:
index 443d951..0ec8688 100644 (file)
@@ -649,7 +649,6 @@ Sıma be idarekerênia ho ra şikinê hona [$1 nê ferqi bıvênê], eke wazenê
 'revdelete-no-file' => 'Dosya diyarkerdiye çina.',
 'revdelete-show-file-confirm' => 'Sıma eminê ke wazenê çımraviarnaena esterıtiya na dosya "<nowiki>$1</nowiki>" $2 ra $3 de bıvênê?',
 'revdelete-show-file-submit' => 'Heya',
-'revdelete-selected' => "'''[[:$1]]: ra {{PLURAL:$2|Çımraviarnaiso weçinıte|Çımraviarnaisê weçinıtey}}'''",
 'revdelete-suppress-text' => "Wedardene gunê '''teyna''' nê halunê cêrênu de bıguriyo:
 * Melumatê kıfırio mıhtemel
 * Melumatê şexsio bêmınasıb
index ab53847..d332390 100644 (file)
@@ -1008,7 +1008,6 @@ $3 كەلتىرىلگەن سەبەبى: ''$2''",
 'revdelete-nooldid-title' => 'نىسانا تۇزەتۋ جارامسىز',
 'revdelete-nooldid-text' => 'بۇل جەتەنى ورىنداۋ ٴۇشىن نىسانا تۇزەتۋىن/تۇزەتۋلەرىن كەلتىرىلمەپسىز,
 كەلتىرىلگەن تۇزەتۋ جوق, نە اعىمدىق تۇزەتۋدى جاسىرۋ ٴۇشىن ارەكەتتەنىپ كوردىڭىز.',
-'revdelete-selected' => "'''[[:$1]] دەگەننىڭ بولەكتەنگەن {{PLURAL:$2|تۇزەتۋى|تۇزەتۋلەرى}}:'''",
 'logdelete-selected' => "'''بولەكتەنگەن {{PLURAL:$1|جۋرنال وقىيعاسى|جۋرنال وقىيعالارى}}:'''",
 'revdelete-legend' => 'كورىنىس تىيىمدارىن قويۋ:',
 'revdelete-hide-text' => 'تۇزەتۋ ٴماتىنىن جاسىر',
index 1e9dee2..cba9093 100644 (file)
@@ -873,8 +873,8 @@ $2',
 'throttled-mailpassword' => 'Соңғы {{PLURAL:$1|сағатта|$1 сағатта}} құпия сөз ескерту хаты алдақашан жөнелтілді.
 Қиянатты қақпайлау үшін, {{PLURAL:$1|сағат|$1 сағат}} сайын тек бір ғана құпия сөз ескерту хаты жөнелтіледі.',
 'mailerror' => 'Хат жөнелту қатесі: $1',
-'acct_creation_throttle_hit' => 'Ғафу етіңіз, сіз алдақашан $1 рет тіркелгі жасапсыз. Онан артық жасай алмайсыз.
-Нәтижесінде, осы IP-мекенжаймен кірушілер дәл қазіргі уақытта бірнеше тіркелгі жасай алмайды.',
+'acct_creation_throttle_hit' => 'Сіздің IP-мекенжайыңызбен осы уикиге кірушілер соңғы күнде {{PLURAL:$1|1 тіркелгі|$1 тіркелгі}} жасапты. Одан артық бұл уақыт аралығында рұқсат етілмейді.
+Нәтижесінде осы IP-мекенжайды пайдаланып кірушілер дәл қазіргі уақытта бірнеше тіркелгі жасай алмайды.',
 'emailauthenticated' => 'Е-пошта мекен-жайыңыз расталған кезі: $3, $2.',
 'emailnotauthenticated' => 'Е-пошта мекен-жайыңыз әлі расталған жоқ.
 Келесі әрбір мүмкіндіктер үшін еш хат жөнелтілмейді.',
@@ -1243,7 +1243,6 @@ $3 есімді қатысушының келтіріген себебі: <em>$2
 'revdelete-nooldid-text' => 'Бұл жетені орындау үшін нысана түзетуін/түзетулерін келтірілмепсіз,
 келтірілген түзету жоқ, не ағымдық түзетуді жасыру үшін әрекеттеніп көрдіңіз.',
 'revdelete-show-file-submit' => 'Иә',
-'revdelete-selected' => "'''[[:$1]] дегеннің бөлектенген {{PLURAL:$2|түзетуі|түзетулері}}:'''",
 'logdelete-selected' => "'''Бөлектенген {{PLURAL:$1|журнал оқиғасы|журнал оқиғалары}}:'''",
 'revdelete-legend' => 'Көрініс тиымдарын қою:',
 'revdelete-hide-text' => 'Түзету мәтінін жасыр',
index b9da051..e8270b9 100644 (file)
@@ -971,7 +971,6 @@ Mında [{{fullurl:{{#special:Log}}/delete|page={{FULLPAGENAMEE}}}} joyw jwrnalı
 'revdelete-nooldid-title' => 'Nısana tüzetw jaramsız',
 'revdelete-nooldid-text' => 'Bul jeteni orındaw üşin nısana tüzetwin/tüzetwlerin keltirilmepsiz,
 keltirilgen tüzetw joq, ne ağımdıq tüzetwdi jasırw üşin ärekettenip kördiñiz.',
-'revdelete-selected' => "'''[[:$1]] degenniñ bölektengen {{PLURAL:$2|tüzetwi|tüzetwleri}}:'''",
 'logdelete-selected' => "'''Bölektengen {{PLURAL:$1|jwrnal oqïğası|jwrnal oqïğaları}}:'''",
 'revdelete-legend' => 'Körinis tïımdarın qoyw:',
 'revdelete-hide-text' => 'Tüzetw mätinin jasır',
index 2b7034b..7a8bdf8 100644 (file)
@@ -1224,7 +1224,6 @@ $2
 'revdelete-no-file' => 'មិនមានឯកសារ​ដែលអ្នកចង់រកទេ។',
 'revdelete-show-file-confirm' => 'តើ​អ្នក​ប្រាកដ​ហើយ​ថា​អ្នក​ចង់​មើល​កំណែ​ប្រែ​ដែល​បាន​លុប​នៃ​ឯកសារ​ "<nowiki>$1</nowiki>" ពី $2 នៅ $3 ?',
 'revdelete-show-file-submit' => 'បាទ/ចាស',
-'revdelete-selected' => "'''{{PLURAL:$2|កំណែប្រែ​ដែលបាន​ជ្រើសយក}}របស់​[[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|ព្រឹត្តិការណ៍​កំណត់​ហេតុ​ដែលបាន​ជ្រើសយក}}:'''",
 'revdelete-suppress-text' => "ការ​ហាមឃាត់​គួរ​ត្រូវ​បាន​អនុវត្តិ​លើ​ករណី​ដូច​ខាង​ក្រោម​នេះ​ប៉ុណ្ណោះ​៖
 * ព័ត៌មានបង្ខូចកេរ្ដិ៍ឈ្មោះធ្ងន់ធ្ងរ
index f213462..408848b 100644 (file)
@@ -810,7 +810,6 @@ $2',
 'rev-delundel' => 'ತೋರಿಸು/ಅಡಗಿಸು',
 'rev-showdeleted' => 'ತೋರಿಸು',
 'revdelete-show-file-submit' => 'ಹೌದು',
-'revdelete-selected' => "'''[[:$1]]ರ ಆಯ್ಕೆಯಾಗಿರುವ {{PLURAL:$2|ಆವೃತ್ತಿ|ಆವೃತ್ತಿಗಳು}}:'''",
 'revdelete-legend' => 'ಕಾಣಿಸುವಿಕೆಯ ನಿಬಂಧನೆಗಳನ್ನು ನಿಶ್ಚಯಿಸು',
 'revdelete-hide-text' => 'ಬದಲಾವಣೆಯ ಪಠ್ಯವನ್ನು ಅಡಗಿಸು',
 'revdelete-hide-image' => 'ಫೈಲಿನಲ್ಲಿರುವ ಮಾಹಿತಿಯನ್ನು ಅಡಗಿಸು',
index 5311d94..8f12d32 100644 (file)
@@ -1345,7 +1345,6 @@ $2개 보다 적게 {{PLURAL:$2|써야}} 하지만 {{PLURAL:$1|지금은 $1개
 'revdelete-no-file' => '해당 파일이 존재하지 않습니다.',
 'revdelete-show-file-confirm' => '정말 "<nowiki>$1</nowiki>" 파일의 삭제된 $2 $3 버전을 보시겠습니까?',
 'revdelete-show-file-submit' => '예',
-'revdelete-selected' => "'''[[:$1]]의 {{PLURAL:$2|선택한 판}}:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|선택한 기록}}:'''",
 'revdelete-text-text' => '삭제된 판은 여전히 문서 역사에 남게 되지만, 그 내용의 일부는 다른 사람들이 접근할 수 없게 됩니다.',
 'revdelete-text-file' => '삭제된 파일 버전은 계속 파일 역사에 남게 되지만, 내용의 일부는 다른 사람들이 접근할 수 없게 됩니다.',
index 3951212..106715a 100644 (file)
@@ -981,7 +981,6 @@ $3 джанындан берилген сылтау: ''$2''",
 'revdelete-no-file' => 'Белгиленнген файл джокъду.',
 'revdelete-show-file-confirm' => '«<nowiki>$1</nowiki>» файлны $2 $3 датада кетерилген версиясына къараргъа излегенигизге ишексизмисиз?',
 'revdelete-show-file-submit' => 'Хоу',
-'revdelete-selected' => "'''[[:$1]] бетни {{PLURAL:$2|1=Сайланнган версия|сайланнган версиялары}}:'''",
 'logdelete-selected' => "'''Журналны {{PLURAL:$1|1=Сайланнган джазыу|сайланнган джазыулары}}:'''",
 'revdelete-confirm' => 'Тилейбиз, буну этерге излегенигизни, эсеблерин ангылагъаныгъызны, эм буну [[{{MediaWiki:Policy-url}}|джорукълагъа]] кёре этгенигизни билдиригиз.',
 'revdelete-suppress-text' => "Джашырыу '''джангыз''' бу турумлада этиледи:
index 9801a33..d3901fa 100644 (file)
@@ -1275,7 +1275,6 @@ Als ene Wiki_Köbes kanns De de Ungerscheide ävver aankike wann De wells.",
 'revdelete-no-file' => 'De aanjejovve Dattei jidd_et nit.',
 'revdelete-show-file-confirm' => 'Beß De sescher, dat De de fottjeschmeße Version vun dä Dattei „<nowiki>$1</nowiki>“ vum $2 oö $3 Uhr aanloore wells?',
 'revdelete-show-file-submit' => 'Lohß Jonn!',
-'revdelete-selected' => "'''{{PLURAL:$2|Ein usjewählte Version|$2 usjewählte Versione|Kein Version usjewählt}} vun [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Dä ußjewählte Logboch-Endrach|De Ußjewählte Logboch-Endrähsch}}:'''",
 'revdelete-confirm' => 'Bes esu joot un doon dat beschtääteje, un donn domet ongerschriive, dat De dat donn wells, dat De weiß, wat dobei eruß kütt, un dat De dat och noh de [[{{MediaWiki:Policy-url}}|Rääjelle]] deihß.',
 'revdelete-suppress-text' => "Dat sullt '''blooß''' jedonn wäde för:
index ca20257..8660188 100644 (file)
@@ -808,7 +808,6 @@ Titulus: '''({{int:cur}})''' = dissimilis ab emendatione novissima,
 'revisiondelete' => 'Emendationem delere',
 'revdelete-nooldid-title' => 'Emendatio-scopus invalida',
 'revdelete-show-file-submit' => 'Sic',
-'revdelete-selected' => "'''{{PLURAL:$2|Emendatio selecta|Emendationes selectae}} paginae [[:$1]]:'''",
 'revdelete-legend' => 'Modificare cohibitiones visibilitatis',
 'revdelete-hide-text' => 'Textus emendationis',
 'revdelete-hide-image' => 'Celare contentum fasciculi',
index 830d666..47600d7 100644 (file)
@@ -1139,7 +1139,6 @@ Dir kënnt dësen Ënnerscheed gesinn; Detailer fannt Dir am [{{fullurl:{{#Speci
 'revdelete-no-file' => 'De Fichier deen ugi war gëtt et net.',
 'revdelete-show-file-confirm' => 'Sidd Dir sécher datt Dir déi geläschte Versioun vum Fichier "<nowiki>$1</nowiki>" vum $2 ëm $3 gesi wëllt?',
 'revdelete-show-file-submit' => 'Jo',
-'revdelete-selected' => "'''{{PLURAL:$2|Gewielt Versioun|Gewielt Versioune}} vu(n) [[:$1]] :'''",
 'logdelete-selected' => "'''Ausgewielten {{PLURAL:$1|Evenement|Evenementer}} aus dem Logbuch:'''",
 'revdelete-text-others' => 'Aner Administrateuren op {{SITENAME}} kënnen nach ëmmer de verstoppten Inhalt gesinn an en iwwer deeselwechten Interface nees restauréieren, ausser wann zousätzlech Limitatiounen agestallt sinn.',
 'revdelete-confirm' => "Confirméiert w.e.g. datt Dir dat maache wëllt, datt Dir d'Konsequenze verstitt an datt Dir dëst an Aklang mat de [[{{MediaWiki:Policy-url}}|Richtlinne]] maacht.",
index b500d75..86d68ad 100644 (file)
@@ -968,7 +968,6 @@ achtergrönj zeen meugelik te vinjen in 't [{{fullurl:{{#Special:Log}}/suppress|
 'revdelete-no-file' => "'d Aangegaeve bestandj besteit neet.",
 'revdelete-show-file-confirm' => 'Wèt se zeker det se de gewösjdje versie ven \'t bestandj "<nowiki>$1</nowiki>" ven $2 óm $3 wils bekieke?',
 'revdelete-show-file-submit' => 'Jao',
-'revdelete-selected' => "'''Geselecteerde {{PLURAL:$2|bewerking|bewerkinge}} van '''[[:$1]]''':'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Geselecteerde log gebeurtenis|Geselecteerde log gebeurtenisse}}:'''",
 'revdelete-confirm' => "Bevestig des se dit wils doon, des se de consequenties begrieps en des se dit deis in euvereinstömming mit 't geljendj [[{{MediaWiki:Policy-url}}|beleid]].",
 'revdelete-suppress-text' => "Versies verbèrge deentj '''allein''' gebroek te waere in de volgende gevalle:
index d31cfac..3dfe540 100644 (file)
@@ -701,7 +701,6 @@ $2',
 'revisiondelete' => 'پاک کردن/زنه کردن وانئریا',
 'revdelete-no-file' => 'فایل مشقص بیه وجود ناره.',
 'revdelete-show-file-submit' => 'هری',
-'revdelete-selected' => "'''{{جمی:$2|وانیری انتخاو بیه|وانیریا انتخاو بیه}} د[[:$1]]:'''",
 'revdelete-hide-text' => 'متن دوواره دیئن',
 'revdelete-hide-image' => 'چی یا مئن فایل قام کو',
 'revdelete-hide-name' => 'آرمون و انجوم گر نه قام بکید',
index 8c3c19e..0ac1f29 100644 (file)
@@ -1085,7 +1085,6 @@ Kaip administratorius, jūs galite ją pamatyti; daugiau detalių gali būti [{{
 'revdelete-no-file' => 'Nurodytas failas neegzistuoja.',
 'revdelete-show-file-confirm' => 'Ar tikrai norite peržiūrėti ištrintą failo „<nowiki>$1</nowiki>“ $2 $3 versiją?',
 'revdelete-show-file-submit' => 'Taip',
-'revdelete-selected' => "'''{{PLURAL:$2|Pasirinkta [[:$1]] versija|Pasirinktos [[:$1]] versijos}}:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Pasirinktas istorijos įvykis|Pasirinkti istorijos įvykiai}}:'''",
 'revdelete-confirm' => 'Prašome patvirtinti, kad jūs tai ketinate padaryti, kad jūs suprantate padarinius, ir kad jūs tai darote pagal [[{{MediaWiki:Policy-url}}|politiką]].',
 'revdelete-suppress-text' => "Ištrynimas turėtų būti taikomas '''tik''' šiais atvejais:
index c51cf11..f9b29f7 100644 (file)
@@ -890,7 +890,6 @@ Sīkāku informāciju var atrast [{{fullurl:{{#Special:Log}}/delete|page={{FULLP
 'revdelete-nooldid-title' => 'Nederīga mērķa versija',
 'revdelete-no-file' => 'Norādītais fails neeksistē.',
 'revdelete-show-file-submit' => 'Jā',
-'revdelete-selected' => "'''[[:$1]] {{PLURAL:$2|izvēlētā versija|izvēlētās versijas}}:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Izvēlētais reģistra ieraksts|Izvēlētie reģistra ieraksti}}:'''",
 'revdelete-confirm' => 'Lūdzu apstiprini, ka Tu zini, ko dari, Tu apzinies sekas, tāpat Tu to dari saskaņā ar vadlīnijām.',
 'revdelete-suppress-text' => "Paslēpšanu izmantot vienīgi šādos gadījumos:
index fa7adf3..28c0a3e 100644 (file)
@@ -915,7 +915,6 @@ $2',
 'revdelete-no-file' => '指之檔無存也。',
 'revdelete-show-file-confirm' => '爾察於$2 $3刪「$1」檔之審?',
 'revdelete-show-file-submit' => '善',
-'revdelete-selected' => "'''審[[:$1]]已擇$2:'''",
 'logdelete-selected' => "'''已擇誌$1:'''",
 'revdelete-confirm' => '爾確作之,解之果焉,合之[[{{MediaWiki:Policy-url}}|策]]矣。',
 'revdelete-suppress-text' => "'''限'''於此壓:
index 48820b9..31d910e 100644 (file)
@@ -839,7 +839,6 @@ $3 द्वारा देल कारण अछि ''$2''",
 'revdelete-no-file' => 'विषिष्ट संचिका अछिये नै।',
 'revdelete-show-file-confirm' => 'की अहाँ आश्वस्त छी जे अहाँ संचिकाक मेटाएल संशोधन देखऽ चाहै छी "<nowiki>$1</nowiki>" ऐ सँ $2 एतऽ $3?',
 'revdelete-show-file-submit' => 'हँ',
-'revdelete-selected' => "'''{{PLURAL:$2|चुनल संशोधन|चुनल संशोधन सभ}} एकर [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|चुनल वृत्तलेख घटना|चुनल वृत्तलेख घटना सभ}}:'''",
 'revdelete-confirm' => 'कृपा कऽ आश्वस्त भऽ जाउ जे अहाँ ई करऽ चाहै छी, अहाँकेँ एकर परिणामक जनतब अछि, आ अहाँ एकरा [[{{MediaWiki:Policy-url}}|निअम]] क अनुसार कऽ रहल छी।',
 'revdelete-suppress-text' => "दबाबैबला काज '''मात्र''' ऐ सभ स्थितिमे प्रयोग करू:
index f363cbf..608eea1 100644 (file)
@@ -827,7 +827,6 @@ Rinciane teyeng ditemokna nang [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAG
 'revdelete-no-file' => 'Berkas sing dituju ora ana.',
 'revdelete-show-file-confirm' => 'Apa rika wis mantep arep ndeleng revisi sing wis dibusek nggone berkas "<nowiki>$1</nowiki>" sekang tanggal $2 jam $3?',
 'revdelete-show-file-submit' => 'Ya',
-'revdelete-selected' => "'''{{PLURAL:$2|Revisi kepilih}} sekang [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Log kepilih|Log kepilih}} kanggo:'''",
 'revdelete-legend' => 'Atur watesan',
 'revdelete-hide-text' => 'Tèks revisi',
index 1e26e4d..6fcecb7 100644 (file)
@@ -878,7 +878,6 @@ $3 макссь туфталсь - ''$2''",
 'revdelete-nooldid-title' => 'Аф лац верзиень кочкама',
 'revdelete-nooldid-text' => 'Тон ашеть кочка верзие эли верзиет  конатнень мархта эряви тянь тиемс, илякс ня верзиетне ашет эли тонт тяряфнят кяшемс тяниень верзиеть.',
 'revdelete-show-file-submit' => 'Ина',
-'revdelete-selected' => "''''''$1:'''-нь {{PLURAL:$2|Кочкаф верзиец|Кочкаф верзиенза}}'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Кочкаф сёрматфтомась|кочкаф сёрматфтоматне}}:'''",
 'revdelete-legend' => 'Арафтомс няемга оторхне',
 'revdelete-hide-text' => 'Кяшемс тя лопать верзиенц',
index 019cd5c..e95353f 100644 (file)
@@ -1170,7 +1170,6 @@ tsy misy ilay izy, na ny santiôna ankehitriny no andramana asitrika.',
 'revdelete-no-file' => 'Tsy misy ilay rakitra hofafàna.',
 'revdelete-show-file-confirm' => "Tapa-kevitra hamafa ny ''revision''-n'i rakitra <nowiki>$1</nowiki> tamin'ny $2 tamin'ny $3 ve ianao ?",
 'revdelete-show-file-submit' => 'Eny',
-'revdelete-selected' => "'''{{PLURAL:$2|Votoatiny nosafidiana|Votoatiny nosafidiana}}n'i '''[[:$1]]''' :'''",
 'logdelete-selected' => "'''{{PLURAL:$1||}}Laogy voafidy :'''",
 'revdelete-confirm' => 'Amafiso eto ny hevitrao raha hanao io ianao, raha azonao sary an-tsaina ny mety ho vokany, ary raha araka ny [[{{MediaWiki:Policy-url}}|fepetra mihatra]] ny zavatra ataonao.',
 'revdelete-suppress-text' => "Ny famafàna pejy dia ampiasaina rehefa :
index 1b6cc2c..c7fd957 100644 (file)
@@ -1059,7 +1059,6 @@ Sanak dapek malieknyo; rinciannyo mungkin ado di [{{fullurl:{{#Special:Log}}/del
 'revdelete-no-file' => 'Berkas nan dituju indak basobok.',
 'revdelete-show-file-confirm' => 'Apokah Sanak yakin nio mancaliak revisi nan alah dihapuih dari berkas "<nowiki>$1</nowiki>" per $3, $2?',
 'revdelete-show-file-submit' => 'Yo',
-'revdelete-selected' => "'''{{PLURAL:$2|Revisi piliahan}} dari [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Log piliahan}}:'''",
 'revdelete-confirm' => 'Tolong konfirmasi baso Sanak samemang bamakasuik malakuan iko, mamahami konsekuensinyo, dan baso Sanak malakuannyo sasuai jo [[{{MediaWiki:Policy-url}}|kabijakan]].',
 'revdelete-suppress-text' => "Panyambunyian revisi '''hanyo''' buliah digunoan untuak kasus-kasus barikuik:
index f7b2576..a892d9a 100644 (file)
@@ -1337,7 +1337,6 @@ $3 ја наведе следнава причина: ''$2''",
 'revdelete-no-file' => 'Наведената податотека не постои.',
 'revdelete-show-file-confirm' => 'Дали сакате да ја погледнете избришаната ревизија на податотеката „<nowiki>$1</nowiki>“ од $2 во $3?',
 'revdelete-show-file-submit' => 'Да',
-'revdelete-selected' => "'''{{PLURAL:$2|Избрана ревизија|Избрани ревизии}} од [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Одбран настан од дневник|Одбрани настани од дневник}}:'''",
 'revdelete-text-text' => 'Избришаните ревизии сепак се појавуваат во историјата, но делови од нивната содржина ќе бидат недостапни за јавноста.',
 'revdelete-text-file' => 'Избришаните верзии на податотеките сепак се појавуваат во нејзината историја, но делови од нивната содржина ќе бидат недостапни за јавноста.',
index c76bc4f..2a43859 100644 (file)
@@ -1293,7 +1293,6 @@ $3 നൽകിയിരിക്കുന്ന കാരണം ''$2'' എന
 'revdelete-no-file' => 'നിർദ്ദേശിച്ച പ്രമാണം നിലവിലില്ല.',
 'revdelete-show-file-confirm' => '"<nowiki>$1</nowiki>" പ്രമാണത്തിന്റെ $2 തീയതി $3 -യ്ക്കു നിലനിന്നിരുന്ന മായ്ക്കപ്പെട്ട പതിപ്പു  കാണണം എന്നു താങ്കൾക്ക് ഉറപ്പാണോ?',
 'revdelete-show-file-submit' => 'അതെ',
-'revdelete-selected' => "'''[[:$1]] എന്ന താളിന്റെ {{PLURAL:$2|തിരഞ്ഞെടുത്ത പതിപ്പ്|തിരഞ്ഞെടുത്ത പതിപ്പുകൾ}}:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|തിരഞ്ഞെടുത്ത രേഖയിലുള്ളത്|തിരഞ്ഞെടുത്ത രേഖയിലുള്ളവ}}:'''",
 'revdelete-text-text' => 'മായ്ക്കപ്പെട്ട നാൾപ്പതിപ്പുകൾ താളിന്റെ നാൾവഴിയിൽ കാണാവുന്നതായിരിക്കുമെങ്കിലും, അവയുടെ ഉള്ളടക്കത്തിന്റെ ചില ഭാഗങ്ങൾ പൊതുജനങ്ങൾക്ക് ലഭ്യമായിരിക്കണമെന്നില്ല.',
 'revdelete-text-file' => 'പ്രമാണത്തിന്റെ മായ്ക്കപ്പെട്ട പതിപ്പുകൾ താളിന്റെ നാൾവഴിയിൽ കാണാവുന്നതായിരിക്കുമെങ്കിലും, അവയുടെ ഉള്ളടക്കത്തിന്റെ ചില ഭാഗങ്ങൾ പൊതുജനങ്ങൾക്ക് ലഭ്യമായിരിക്കണമെന്നില്ല.',
index b30f693..dd6628b 100644 (file)
@@ -960,7 +960,6 @@ $3-н тодорхойлсон шалтгаан нь ''$2''",
 'revdelete-no-file' => 'Өгөгдсөн файл байхгүй байна.',
 'revdelete-show-file-confirm' => '$2-ий $3 дахь "<nowiki>$1</nowiki>" файлын устгагдсан засварыг үзмээр байгаадаа итгэлтэй байна уу?',
 'revdelete-show-file-submit' => 'Тийм',
-'revdelete-selected' => "'''[[:$1]]-н {{PLURAL:$2|сонгосон засвар|сонгосон засварууд}}:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Сонгосон логийн үйл явдал|Сонгосон логийн үйл явдлууд}}:'''",
 'revdelete-confirm' => 'Та энэхүү үйлдлийг хийх гэж байгаа, үр дагаварыг ойлгож байгаа, [[{{MediaWiki:Policy-url}}|дүрмийн дагуу]] хийж байгаа гэдгээ батална уу.',
 'revdelete-suppress-text' => "'''Зөвхөн'' дараах тохиолдлуудад л далдалгааг хэрэглэнэ:
index 75d01db..aea9775 100644 (file)
@@ -1237,7 +1237,6 @@ $3ने ''$2'' कारण दिले आहे.",
 'revdelete-no-file' => 'नमूद केलेली संचिका अस्तित्वात नाही.',
 'revdelete-show-file-confirm' => 'तुम्ही "<nowiki>$1</nowiki>" या संचिकेची  $2 ला $3 वेळी  वगळलेली आवृत्ती नक्की पहाणार आहात?',
 'revdelete-show-file-submit' => 'होय',
-'revdelete-selected' => "'''[[:$1]] {{PLURAL:$2|ची निवडलेली आवृत्ती|च्या निवडलेल्या आवृत्त्या}}:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|निवडलेली नोंदीकृत घटना|निवडलेल्या नोंदीकृत घटना}}:'''",
 'revdelete-confirm' => "कृपया '''याची खात्री करा''' की तुम्ही जे करीत आहात, त्याचे परिणाम आपण जाणत आहात आणि, ते काम [[{{MediaWiki:Policy-url}}|मीडियाविकीच्या नीती]]नुसार आहे.",
 'revdelete-suppress-text' => "लपवण्याचा वापर '''फक्त''' पुढील बाबतीत होतो:
index 3588eed..cad6886 100644 (file)
@@ -1128,7 +1128,6 @@ Anda boleh melihat perbezaan ini; butiran boleh didapati di [{{fullurl:{{#Specia
 'revdelete-no-file' => 'Fail yang dinyatakan tidak wujud.',
 'revdelete-show-file-confirm' => 'Anda pasti anda mahu paparkan semakan yang telah dihapuskan bagi fail "<nowiki>$1</nowiki>" dari $2 pada $3?',
 'revdelete-show-file-submit' => 'Ya',
-'revdelete-selected' => "'''{{PLURAL:$2|Versi|Versi-versi}} '''$1''' yang dipilih:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Peristiwa|Peristiwa-peristiwa}} log yang dipilih:'''",
 'revdelete-confirm' => 'Sila sahkan bahawa anda bertujuan melakukan ini, bahawa anda faham akibatnya, dan anda melakukannya menurut [[{{MediaWiki:Policy-url}}| polisi]].',
 'revdelete-suppress-text' => "Sekatan seharusnya digunakan '''hanya''' untuk kes-kes berikut:
index 98d8d02..29a8e4e 100644 (file)
@@ -1132,7 +1132,6 @@ Bħala amministratur inti xorta waħda tista' tarah dan il-konfront; ikkonsulta
 'revdelete-no-file' => 'Il-fajl speċifikat ma jeżistix.',
 'revdelete-show-file-confirm' => 'Tinsab ċert li trid tara reviżjoni mħassra tal-fajl "<nowiki>$1</nowiki>" tal-$2 fil-$3?',
 'revdelete-show-file-submit' => 'Iva',
-'revdelete-selected' => "'''{{PLURAL:$2|Reviżjoni magħżula|Reviżjonijiet magħżula}} ta' [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Avveniment tar-reġistru magħżul|Avvenimenti tar-reġistri magħżula}}:'''",
 'revdelete-confirm' => 'Jekk jogħġbok ikkonferma li dan hu dak li tixtieq tagħmel, li tifhem il-konsegwenzi, u li qed tagħmel dan skont il-[[{{MediaWiki:Policy-url}}|politika]].',
 'revdelete-suppress-text' => "It-trażżin għandu jintuża '''biss''' għall-każijiet segwenti:
index 7e18058..dfd2703 100644 (file)
@@ -814,7 +814,6 @@ IP-тешкстэть — $3, саймас совавтоманть ID-сь —
 'revisiondelete' => 'Нардамс/вельмевтемс лиякстомтоматнень',
 'revdelete-show-file-confirm' => 'Алкукс ули мелеть ваномс «<nowiki>$1</nowiki>» керьмазонть нардазь ревизиянзо, конась саезь $2-нть эйстэ ды ашти тесэ $3?',
 'revdelete-show-file-submit' => 'Ули',
-'revdelete-selected' => "'''[[:$1]]-нь {{PLURAL:$2|1=Кочкань лиякстомтомась|Кочкань лиякстомтоматне}}:'''",
 'revdelete-legend' => 'Аравтомс неявомачынь петне',
 'revdelete-hide-text' => 'Кекшемс лиякстомтомань текстэнть',
 'revdelete-hide-image' => 'Кекшемс мезе файлатнесэ',
index 4c33947..d515111 100644 (file)
@@ -551,7 +551,6 @@ Hueliz ōmopolo huiqui nozo ōmozacac.
 'rev-delundel' => 'tiquittāz/tictlātīz',
 'revisiondelete' => 'Tiquimpolōz/ahtiquimpolōz tlachiyaliztli',
 'revdelete-show-file-submit' => 'Quēmah',
-'revdelete-selected' => "'''{{PLURAL:$2|Tlachiyaliztli ōmoēlēhui|Tlachiyaliztli ōmoēlēhuih}} [[:$1]] ītechcopa:'''",
 'revdelete-hide-text' => 'In tlahtlachiyaliztli ītlahcuilōl',
 'revdelete-hide-image' => 'Tictlātīz tlahcuilōlli ītlapiyaliz',
 'revdelete-radio-set' => 'Tlaīnāyalli',
index f322a26..b1d5858 100644 (file)
@@ -1272,7 +1272,6 @@ Du kan se denne diffen; det kan finnes detaljer i [{{fullurl:{{#Special:Log}}/su
 'revdelete-no-file' => 'Den spesifiserte filen finnes ikke.',
 'revdelete-show-file-confirm' => 'Er du sikker på at du ønsker å vise en slettet versjon av filen «<nowiki>$1</nowiki>» fra $2 kl. $3?',
 'revdelete-show-file-submit' => 'Ja',
-'revdelete-selected' => "'''{{PLURAL:$2|Valgt revisjon|Valgte revisjoner}} av [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Valgt loggoppføring|Valgte loggoppføringer}}:'''",
 'revdelete-confirm' => 'Bekreft at du ønsker å gjøre dette, at du forstår konsekvensene, og at du gjør det i samsvar med [[{{MediaWiki:Policy-url}}|retningslinjene]].',
 'revdelete-suppress-text' => "Skjuling bør '''kun''' brukes i følgende tilfeller:
index 361a5e1..03cfe15 100644 (file)
@@ -958,7 +958,6 @@ As Administrater kannst du [$1 mit dissen Lenk] den Ünnerscheed ankieken.',
 'revdelete-no-file' => 'De angeven Datei gifft dat nich.',
 'revdelete-show-file-confirm' => 'Wullt du worraftig en wegsmeten Version vun de Datei „<nowiki>$1</nowiki>“ vun $2, $3 ankieken?',
 'revdelete-show-file-submit' => 'Jo',
-'revdelete-selected' => "'''{{PLURAL:$2|Wählte Version|Wählte Versionen}} vun [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Wählt Logbook-Indrag|Wählte Logbook-Indrääg}}:'''",
 'revdelete-suppress-text' => "Ünnerdrücken schull '''blot''' bi disse Fäll bruukt warrn:
 * Nich passliche persönliche Information
index 818e46c..f792c89 100644 (file)
@@ -1250,7 +1250,6 @@ Je kunnen disse verschillen bekieken. Misschien steet der over in t [{{fullurl:{
 'revdelete-no-file' => 't Op-egeven bestaand besteet niet.',
 'revdelete-show-file-confirm' => 'Bi\'j der wisse van da\'j de vortedaone versie van t bestaand "<nowiki>$1</nowiki>" van $2 um $3 bekieken willen?',
 'revdelete-show-file-submit' => 'Ja',
-'revdelete-selected' => "'''{{PLURAL:$2|Ekeuzen bewarking|Ekeuzen bewarkingen}} van '''[[:$1]]''':'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Ekeuzen logboekboekaksie|Ekeuzen logboekaksies}}:'''",
 'revdelete-confirm' => "Bevestig da'j dit doon wollen, da'j de gevolgen dervan begriepen en da'j t doon in overeenstemming mit t geldende [[{{MediaWiki:Policy-url}}|beleid]].",
 'revdelete-suppress-text' => "Onderdrokken ma'j '''allinnig''' gebruken in de volgende gevallen:
index 70fa19d..0395fc1 100644 (file)
@@ -956,7 +956,6 @@ $2
 'revdelete-no-file' => 'खुलाइएको पृष्ठ अस्तित्वमा छैन',
 'revdelete-show-file-confirm' => 'तपाईँ $2 बाट $3 मा मेटिएको फाइल "<nowiki>$1</nowiki>" को पुनरावलोकन हेर्न चाहनुहुन्छ भन्ने कुरामा निश्चित हुनुहुन्छ ?',
 'revdelete-show-file-submit' => 'हो',
-'revdelete-selected' => "'''[[:$1]]को {{PLURAL:$2|छानिएको संस्करण|छानिएका संस्करणहरु}}  :'''",
 'logdelete-selected' => "'''{{PLURAL:$1|छानिएको लग घटना|छानिएका लग घटनाहरु}}:'''",
 'revdelete-legend' => 'दृष्टि बन्देज मिलाउने',
 'revdelete-hide-text' => 'पुनरावलोकन पाठ',
index 52eb21e..32e4d5b 100644 (file)
@@ -1367,7 +1367,6 @@ U kunt deze verschillen bekijken. Er kunnen details te vinden zijn in het [{{ful
 'revdelete-no-file' => 'Het opgegeven bestand bestaat niet.',
 'revdelete-show-file-confirm' => 'Weet u zeker dat u de verwijderde versie van het bestand "<nowiki>$1</nowiki>" van $2 om $3 wilt bekijken?',
 'revdelete-show-file-submit' => 'Ja',
-'revdelete-selected' => "'''Geselecteerde {{PLURAL:$2|bewerking|bewerkingen}} van [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Geselecteerde logboekhandeling|Geselecteerde logboekhandelingen}}:'''",
 'revdelete-text-text' => 'Verwijderde versies zijn nog zichtbaar in de geschiedenis, maar delen van de inhoud zijn niet openbaar.',
 'revdelete-text-file' => 'Verwijderde versies zijn nog zichtbaar in de bestandsgeschiedenis, maar delen van de inhoud zijn niet openbaar.',
index 9506360..80a2803 100644 (file)
@@ -1203,7 +1203,6 @@ Du kan sjå skilnaden; detaljar finst i [{{fullurl:{{#Special:Log}}/suppcess|pag
 'revdelete-no-file' => 'Fila som vart synt til finst ikkje.',
 'revdelete-show-file-confirm' => 'Er du viss på at du ynskjer å sjå ein sletta versjon av fila "<nowiki>$1</nowiki>" frå $2 ved $3?',
 'revdelete-show-file-submit' => 'Ja',
-'revdelete-selected' => "'''{{PLURAL:$2|Vald versjon|Valde versjonar}} av [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Vald loggoppføring|Valde loggoppføringar}}:'''",
 'revdelete-confirm' => 'Stadfest at du ynskjer å gjera dette, at du skjønar konsekvensane, og at du gjer det i samsvar med [[{{MediaWiki:Policy-url}}|retningslinene]].',
 'revdelete-suppress-text' => "Løyning av sideversjonar bør '''berre''' nyttast i desse tilfella:
index 32bfbc2..1c315b4 100644 (file)
@@ -1224,7 +1224,6 @@ Podètz veire aquesta diff ; i pòt aver mai de detalhs dins lo [{{fullurl:{{#Sp
 'revdelete-no-file' => 'Lo fichièr especificat existís pas.',
 'revdelete-show-file-confirm' => 'Sètz segur(a) que volètz veire la revision suprimida del fichièr « <nowiki>$1</nowiki> » datant del $2 a $3?',
 'revdelete-show-file-submit' => 'Òc',
-'revdelete-selected' => "'''{{PLURAL:$2|Version seleccionada|Versions seleccionadas}} de [[:$1]] :'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Eveniment d'istoric seleccionat|Eveniments d'istoric seleccionats}} :'''",
 'revdelete-confirm' => "Confirmatz que volètz efectuar aquesta accion, que ne comprenètz las consequéncias, e qu'o fasètz en acòrd amb [[{{MediaWiki:Policy-url}}|las règlas]].",
 'revdelete-suppress-text' => "La supression deu èsser utilizada '''sonque''' dins los cases seguents :
index f573e21..59d2527 100644 (file)
@@ -1186,7 +1186,6 @@ $3ଙ୍କ ଦେଇ ଦିଆଯାଇଥିବା କାରଣ ହେଲା '
 'revdelete-no-file' => 'ଆପଣ ସୂଚିତ କରିଥିବା ଫାଇଲଟି ନାହିଁ ।',
 'revdelete-show-file-confirm' => '$2 ତାରିଖ $3 ବେଳେ "<nowiki>$1</nowiki>" ଫାଇଲର ଏକ ଲିଭାଯାଇଥିବା ସଙ୍କଳନକୁ ଦେଖିବାକୁ ଚାହାନ୍ତି ବୋଲି ଆପଣ ନିଶ୍ଚିତ କି ?',
 'revdelete-show-file-submit' => 'ହଁ',
-'revdelete-selected' => "'''[[:$1]]ର {{PLURAL:$2|ବଛା ସଙ୍କଳନ|ବଛା ସଙ୍କଳନ}}:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|ବଛା ଲଗ ଘଟଣା|ବଛା ଲଗ ଘଟଣାବଳୀ}}:'''",
 'revdelete-confirm' => 'ଦୟାକରି ଥୟ କରନ୍ତୁ ଯେ ଆପଣ ଏହା କରିବାକୁ ଚାହୁଁଛନ୍ତି, ଆପଣ ଏହାର ପରିଣାମ ଜାଣନ୍ତି ଓ ଆପଣ [[{{MediaWiki:Policy-url}}|ନୀତି]] ଅନୁସାରେ ଏହା କରୁଛନ୍ତି ।',
 'revdelete-suppress-text' => "ଦବାଇ ରଖିବା '''କେବଳ''' ଏହି ତଳଲିଖିତ କ୍ଷେତ୍ରରେ ବ୍ୟବହାର କରାଯିବ:
index 6ba7ec0..cb90d3b 100644 (file)
@@ -1019,7 +1019,6 @@ page={{FULLPAGENAMEE}}}} ਜ਼ਬਤੀ ਦੇ ਚਿੱਠੇ] ਵਿਚ ਵ
 'revdelete-no-file' => 'ਦਿੱਤੀ ਗਈ ਫਾਇਲ ਮੌਜੂਦ ਨਹੀਂ ਹੈ।',
 'revdelete-show-file-confirm' => 'ਤੁਹਾਨੂੰ ਯਕੀਨ ਹੈ ਤੁਸੀਂ $2 ਨੂੰ $3 ਦੀ ਫ਼ਾਈਲ "<nowiki>$1</nowiki>" ਦੀ ਮਿਟਾਈ ਗਈ ਰੀਵਿਜ਼ਨ ਵੇਖਣਾ ਚਾਹੁੰਦੇ ਹੋ?',
 'revdelete-show-file-submit' => 'ਹਾਂ',
-'revdelete-selected' => "'''[[:$1]] {{PLURAL:$2|ਦੀ ਚੁਣੀ ਹੋਈ ਰੀਵਿਜ਼ਨ|ਦੀਆਂ ਚੁਣੀਆਂ ਹੋਈਆਂ ਰੀਵਿਜ਼ਨਾਂ}}:'''",
 'revdelete-legend' => 'ਵੇਖਣ ਪਾਬੰਦੀਆਂ ਸੈੱਟ ਕਰੋ:',
 'revdelete-hide-text' => 'ਦੁਹਰਾਈ ਲਿਖਤ',
 'revdelete-hide-image' => 'ਫ਼ਾਈਲ ਸਮੱਗਰੀ ਓਹਲੇ',
index a66d15b..60e55ce 100644 (file)
@@ -651,7 +651,6 @@ mapaliaring maki detalle king [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPA
 'revisiondelete' => 'Ilako/e-ilako ing pamanalili',
 'revdelete-nooldid-title' => 'E ustung pamanaliling target',
 'revdelete-nooldid-text' => 'Mapaliaring ala kang binieng balak a pamanalili (target revision) ba meng daptan ing gamit (function) a iti, ala yu ing mebanggit a pamanaliling iti, o magtangka kang isalikut ya ing kasalungsungan a pamanalili.',
-'revdelete-selected' => "'''{{PLURAL:$2|Mepiling bersion|Mepiling bersion}} ning [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Mepiling miliari king tala/listaan|Mepiling miliari king tala/listaan}}:'''",
 'revdelete-legend' => 'Mitakdang angganan/limitasiun kareng maliaring akit',
 'revdelete-hide-text' => 'Isalikut ya ing meyaliling kulitan',
index 60f249d..4ab7513 100644 (file)
@@ -1290,7 +1290,6 @@ wybrana wersja nie istnieje lub próbowano ukryć wersję bieżącą.',
 'revdelete-no-file' => 'Wybrany plik nie istnieje.',
 'revdelete-show-file-confirm' => 'Czy jesteś pewien, że chcesz zobaczyć usuniętą wersję pliku „<nowiki>$1</nowiki>” z $2 o $3?',
 'revdelete-show-file-submit' => 'Tak',
-'revdelete-selected' => "'''{{PLURAL:$2|Zaznaczona wersja|Zaznaczone wersje}} strony [[:$1]]:'''",
 'logdelete-selected' => "'''Zaznaczone {{PLURAL:$1|zdarzenie|zdarzenia}} z rejestru:'''",
 'revdelete-text-text' => 'Usunięte wersje będą nadal widoczne w historii strony, ale niektóre fragmenty ich treści nie będą dostępne dla wszystkich.',
 'revdelete-text-file' => 'Usunięte wersje pliku będą nadal widoczne w historii pliku, ale niektóre fragmenty ich treści nie będą dostępne dla wszystkich.',
@@ -2160,6 +2159,10 @@ Użycie: typ_treści/podtyp, np. <code>image/jpeg</code>.',
 # List redirects
 'listredirects' => 'Lista przekierowań',
 
+# List duplicated files special page
+'listduplicatedfiles' => 'Lista plików mających duplikaty',
+'listduplicatedfiles-entry' => '[[:File:$1|$1]] ma [[$3|{{PLURAL:$2|jeden duplikat|$2 duplikaty|$2 duplikatów}}]].',
+
 # Unused templates
 'unusedtemplates' => 'Nieużywane szablony',
 'unusedtemplatestext' => 'Poniżej znajduje się lista wszystkich stron znajdujących się w przestrzeni nazw {{ns:template}}, które nie są używane przez inne strony.
index 1e1971e..413acb5 100644 (file)
@@ -994,7 +994,6 @@ Chiel a peul ancora s-ciairé costa diferensa; a peulo essje pì 'd detaj ant ë
 'revdelete-no-file' => "L'archivi sërcà a-i é pa.",
 'revdelete-show-file-confirm' => 'É-lo sigur ëd vorèj vëdde na vërsion scancelà dl\'archivi "<nowiki>$1</nowiki>" da $2 a $3?',
 'revdelete-show-file-submit' => 'Bò!',
-'revdelete-selected' => "'''{{PLURAL:$2|Revision|Revision}} selessionà për [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Event|Event}} dël registr selessionà:'''",
 'revdelete-confirm' => "Për piasì, ch'a confema ch'a veul fé sòn, ch'as rend cont dle conseguense, e ch'a lo fa an acòrd con [[{{MediaWiki:Policy-url}}|le régole]].",
 'revdelete-suppress-text' => "La scancelassion a dovrìa '''mach''' esse dovrà an costi cas:
index 15a5ffc..a8310aa 100644 (file)
@@ -825,7 +825,6 @@ $3 نے ''$2'' وجہ دسی اے۔",
 'revdelete-no-file' => 'فائل جیہڑی کئی گئی اے ہے ای نئیں۔',
 'revdelete-show-file-confirm' => 'تساں نوں کیا پک اے جے تسیں فائل "<nowiki>$1</nowiki>" دی مٹائی ریوین  $2 توں $3 تک؟',
 'revdelete-show-file-submit' => 'ہاں',
-'revdelete-selected' => "'''{{PLURAL:$2|چنی ریوین|چنیاں ریویناں}} دی [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|چنیا لاگ واقعہ|چنے لاگ واقعے}}:'''",
 'revdelete-confirm' => 'اے پکا کرلو جے تسیں ایہ کرنا چاندے او، تے توانوں ایدے نتیجے دا پتہ اے، تے تسیں [[{{MediaWiki:Policy-url}}|پالیسی]] تے چل کے ک رۓ او۔',
 'revdelete-suppress-text' => "دبانا اودوں ای ٹھیک اے جدوں اے تھلے دتے کۓ مسلیاں لئی ہووے۔
index b03fc4a..7d28735 100644 (file)
@@ -678,7 +678,6 @@ Bandais [[Special:Search|laukītun]] sirzdau nāunans pāusans en wiki',
 'revdelete-nooldid-text' => 'Ni etrīnkā di wersiōnins, na kawīdans šis dīlasenis turīlai būtwei izpilnintan, etrīnkta wersiōni ni ekzistijja, anga bandāi di kliptintun bigāntin wersiōnin.',
 'revdelete-no-file' => 'Etrīnkts zūrbrukis ni ekzistijja.',
 'revdelete-show-file-submit' => 'Jā',
-'revdelete-selected' => "{{PLURAL:$2|Pazentlitā pāusas [[:$1]] wersiōni|Pazentlitas pāusas [[:$1]] wersiōnis}}:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Pazentlits registeres audāsenis|Pazentlitai redigisenes audāsenei}}:'''",
 'revdelete-suppress-text' => 'Klipsnan prawerru tērpautun tēr prei:
 * Persōniskas dātas etkesnā
index 39fd18b..26062c1 100644 (file)
@@ -929,7 +929,6 @@ $1',
 'revisiondelete' => 'د ړنگولو/ناړنگولو مخکتنې',
 'revdelete-no-file' => 'ځانگړې شوې دوتنه نشته.',
 'revdelete-show-file-submit' => 'هو',
-'revdelete-selected' => "'''د [[:$1]] {{PLURAL:$2|ټاکلې بڼه|ټاکلې بڼې}}:'''",
 'revdelete-legend' => 'د ښکارېدنې محدوديتونه ټاکل',
 'revdelete-hide-text' => 'د مخکتنې متن',
 'revdelete-hide-image' => 'د دوتنې مېنځپانگه پټول',
index 262b1ec..c30f62e 100644 (file)
@@ -1298,7 +1298,6 @@ Pode ver a diferença entre revisões; encontrará detalhes no [{{fullurl:{{#Spe
 'revdelete-no-file' => 'O ficheiro especificado não existe.',
 'revdelete-show-file-confirm' => 'Tem a certeza de que quer ver uma revisão eliminada do ficheiro "<nowiki>$1</nowiki>" de $2 às $3?',
 'revdelete-show-file-submit' => 'Sim',
-'revdelete-selected' => "'''{{PLURAL:$2|Edição selecionada|Edições selecionadas}} de [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Evento do registo selecionado|Eventos do registo selecionados}}:'''",
 'revdelete-text-text' => 'Revisões eliminadas ainda aparecerão no histórico da página, mas parte do seu conteúdo estará inacessível para o público.',
 'revdelete-text-file' => 'Versões eliminadas do ficheiro ainda aparecerão no histórico da página, mas parte do seu conteúdo estará inacessível para o público.',
index f31d608..aded281 100644 (file)
@@ -858,7 +858,7 @@ Não lhe será enviado nenhum e-mail sobre nenhuma das seguintes funcionalidades
 'cannotchangeemail' => 'A conta de e-mail não pode ser alterada neste wiki.',
 'emaildisabled' => 'Este site não tem como enviar e-mails.',
 'accountcreated' => 'Conta criada',
-'accountcreatedtext' => 'A conta d eusuários para [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|talk]]) foi criada.',
+'accountcreatedtext' => 'A conta de usuário para [[{{ns:User}}:$1|$1]] ([[{{ns:User talk}}:$1|talk]]) foi criada.',
 'createaccount-title' => 'Criação de conta em {{SITENAME}}',
 'createaccount-text' => 'Alguém criou uma conta de nome $2 para o seu endereço de email no wiki {{SITENAME}} ($4), tendo como senha "$3".
 Você deve se autenticar e alterar sua senha.
@@ -1295,7 +1295,6 @@ Você pode ver esta comparação; detalhes podem ser encontrados no [{{fullurl:{
 'revdelete-no-file' => 'O arquivo especificado não existe.',
 'revdelete-show-file-confirm' => 'Tem a certeza de que quer visualizar uma revisão eliminada do arquivo "<nowiki>$1</nowiki>" de $2 em $3?',
 'revdelete-show-file-submit' => 'Sim',
-'revdelete-selected' => "'''{{PLURAL:$2|Edição selecionada|Edições selecionadas}} de [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Evento de registro selecionado|Eventos de registro selecionados}}:'''",
 'revdelete-text-text' => 'Revisões apagadas continuarão a aparecer na página de histórico, mas parte de seus conteúdos estarão inacessíveis ao público.',
 'revdelete-text-file' => 'Versões dos arquivos apagados continuarão a aparecer no arquivo de histórico, mas parte de seus conteúdos estarão inacessíveis ao público.',
@@ -2576,7 +2575,7 @@ A eliminação de tais páginas foi restrita, a fim de se evitarem problemas aci
 'delete-warning-toobig' => 'Esta página possui um longo histórico de edições, com mais de $1 {{PLURAL:$1|edição|edições}}.
 Eliminá-la poderá causar problemas na base de dados de {{SITENAME}};
 prossiga com cuidado.',
-'deleting-backlinks-warning' => "'''Cuidado:'''[[Special:WhatLinksHere/{{FULLPAGENAME}}|Outras páginas]] se ligam ou redirecionam para a página que você está prestes a deletar.",
+'deleting-backlinks-warning' => "'''Cuidado:''' [[Special:WhatLinksHere/{{FULLPAGENAME}}|Outras páginas]] se ligam ou redirecionam para a página que você está prestes a deletar.",
 
 # Rollback
 'rollback' => 'Reverter edições',
index 8f070e4..184e912 100644 (file)
@@ -2479,13 +2479,6 @@ Parameters:
 'revdelete-show-file-submit' => 'Reply to {{msg-mw|Revdelete-show-file-confirm}}.
 
 {{Identical|Yes}}',
-'revdelete-selected' => '{{RevisionDelete}}
-Parameters:
-* $1 - page title
-* $2 - number of revisions
-See also:
-* {{msg-mw|Logdelete-selected}}
-[[File:RevDelete Special-RevisionDelete (r60428).png|frame|center|Screenshot of the interface]]',
 'logdelete-selected' => '{{RevisionDelete}}
 Parameters:
 * $1 - number of log events
@@ -4898,7 +4891,10 @@ See also:
 # List duplicated files special page
 'listduplicatedfiles' => '{{doc-special|ListDuplicatedFiles}}',
 'listduplicatedfiles-summary' => 'Summary at top of Special:ListDuplicatedFiles',
-'listduplicatedfiles-entry' => 'A list item on Special:ListDuplicatedFiles. $1 is the file name (no namespace prefix). $2 is the number of duplicates this file has. $3 is the name of the duplicate search page (aka "Special:FileDuplicateSearch/Foo.png" or "Spécial:Recherche_fichier_en_double/Firefox.png")',
+'listduplicatedfiles-entry' => 'A list item on [[Special:ListDuplicatedFiles]]. Parameters:
+* $1 - the file name (no namespace prefix)
+* $2 - the number of duplicates this file has
+* $3 - the name of the duplicate search page (aka "Special:FileDuplicateSearch/Foo.png" or "Spécial:Recherche_fichier_en_double/Firefox.png")',
 
 # Unused templates
 'unusedtemplates' => '{{doc-special|UnusedTemplates}}',
index 0c6ec4c..576d694 100644 (file)
@@ -1173,7 +1173,6 @@ Kay wakin kayta qhawayta atinkim; astawanchá rikunkiman [{{fullurl:{{#Special:L
 'revdelete-no-file' => 'Sapaqchasqa willañiqiqa manam kanchu.',
 'revdelete-show-file-confirm' => 'Allinta yachankichu "<nowiki>$1</nowiki>" willañiqimanta qullusqa $2-manta $3-pi musuqchasqata qhawayta munaspayki?',
 'revdelete-show-file-submit' => 'Arí',
-'revdelete-selected' => "'''{{PLURAL:$2|Akllasqa llamk'apusqa|Akllasqa llamk'apusqakuna}} [[:$1]]-manta:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Akllasqa tukusqa|Akllasqa tukusqakuna}} hallch'api:'''",
 'revdelete-confirm' => 'Ama hina kaspa, takyachiy munayniykita, qatiqninkunata riqsiyniykita, [[{{MediaWiki:Policy-url}}|kawpaykama]] rurayniykitapas.',
 'revdelete-suppress-text' => "Pakay ruranata '''kaylla kaptin''' llamk'achiy:
index 59716f4..014b5a0 100644 (file)
@@ -939,7 +939,6 @@ Ti pos vesair quest diff; detagls pon vegnir chattads en il [{{fullurl:{{#Specia
 'revdelete-no-file' => "La datoteca specifitgada n'exista betg.",
 'revdelete-show-file-confirm' => 'Es ti segir che ti vuls vesar ina versiun stizzada da la datoteca "<nowiki>$1</nowiki>" dals $2 las $3?',
 'revdelete-show-file-submit' => 'Gea',
-'revdelete-selected' => "'''{{PLURAL:$2|Versiun tschernida|Versiuns tschernidas}} da [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Element dal protocol tschernì|Elements dal protocol tschernids}}:'''",
 'revdelete-confirm' => 'Confermescha che ti vuls far quai, che ti chapeschas las consequenzas e che ti fas quai en accordanza cun [[{{MediaWiki:Policy-url}}|las directivas]].',
 'revdelete-suppress-text' => "Ti duessas '''be''' supprimer en quests cas: 
index df2a783..f282e50 100644 (file)
@@ -1262,7 +1262,6 @@ funcție, fie versiunea specificată nu există, ori sunteți pe cale să ascund
 'revdelete-no-file' => 'Fișierul specificat nu există.',
 'revdelete-show-file-confirm' => 'Sigur doriți să vedeți versiunea ștearsă a fișierului „<nowiki>$1</nowiki>” din $2 ora $3?',
 'revdelete-show-file-submit' => 'Da',
-'revdelete-selected' => "'''{{PLURAL:$2|Versiunea aleasă|Versiunile alese}} pentru [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Revizia aleasă|Reviziile alese}}:'''",
 'revdelete-text-text' => 'Versiunile șterse vor continua să fie vizibile în istoricul paginii, însă anumite părți ale conținutului acestora vor fi inaccesibile publicului.',
 'revdelete-text-file' => 'Versiunile șterse ale fișierului vor continua să fie vizibile în istoricul fișierului, însă anumite părți ale conținutului acestora vor fi inaccesibile publicului.',
index d13b421..e17ff24 100644 (file)
@@ -993,7 +993,6 @@ Tu puè vedè ste differenze; pò essere ca stonne cchiù 'mbormaziune jndr'à l
 'revdelete-no-file' => "'U file specificate non g'esiste.",
 'revdelete-show-file-confirm' => 'Si secure ca vuè ccu vide \'a revisione scangellate d\'u file "<nowiki>$1</nowiki>" \'u $2 a le $3?',
 'revdelete-show-file-submit' => 'Sìne',
-'revdelete-selected' => "'''{{PLURAL:$2|Revisiona selezionete|Revisiune selezionete}} de [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Fatte de l'archivije selezionete|Fatte de l'archivije selezionete}}:'''",
 'revdelete-confirm' => 'Pe piacere conferme ca tu vuè ccu face sta cose, ce tu è capite le conseguenze e ce quidde ca ste face jè in accorde cu le [[{{MediaWiki:Policy-url}}|reghele]] de Uicchipèdie.',
 'revdelete-suppress-text' => "'A soppressione adda essere ausate '''sulamende''' jndr'à le case seguende:
index 0c971d8..c09e477 100644 (file)
@@ -1415,7 +1415,8 @@ $3 {{GENDER:$3|указал|указала}} следующую причину:
 'revdelete-no-file' => 'Указанный файл не существует.',
 'revdelete-show-file-confirm' => 'Вы уверены, что вы хотите просмотреть удалённую версию файла «<nowiki>$1</nowiki>» от $2, $3?',
 'revdelete-show-file-submit' => 'Да',
-'revdelete-selected' => "'''{{PLURAL:$2|1=Выбранная версия|Выбранные версии}} страницы [[:$1]]:'''",
+'revdelete-selected-text' => '{{PLURAL:$1|Выбранная версия|Выбранные версии}} [[:$2]]:',
+'revdelete-selected-file' => '{{PLURAL:$1|Выбранная версия файла|Выбранные версии файла}} [[:$2]]:',
 'logdelete-selected' => "'''{{PLURAL:$1|1=Выбранная запись|Выбранные записи}} журнала:'''",
 'revdelete-text-text' => 'Удалённые версии будут по-прежнему видны в истории страницы, но части их содержимого будут недоступны для участников.',
 'revdelete-text-file' => 'Удалённые версии файла будут по-прежнему видны в истории страницы, но части их содержимого будут недоступны для участников.',
index c0b351e..3411d63 100644 (file)
@@ -1049,7 +1049,6 @@ $3 зазначів тоту причіну: ''$2''",
 'revdelete-no-file' => 'Зазначеный файл не єствує.',
 'revdelete-show-file-confirm' => 'На певно собі хочете посмотрити вылучену ревізію файлу „<nowiki>$1</nowiki>“ з $2, $3?',
 'revdelete-show-file-submit' => 'Гей',
-'revdelete-selected' => "'''{{PLURAL:$2|Выбрана ревізія|Выбраны ревізії}} з [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Выбрана протоколована подїя|Выбраны протоколованы подїї}}:'''",
 'revdelete-confirm' => 'Просиме Вас, потвердьте, же то хочете справды зробити, же собі усвідомлюєте резултат і же є то в згодї з  [[{{MediaWiki:Policy-url}}|правилами]].',
 'revdelete-suppress-text' => "Затаёваня бы ся мало хосновати  ''лем''' в такых припадах:
index 538ac44..333daf5 100644 (file)
@@ -381,9 +381,18 @@ $messages = array(
 'oct' => 'ओक्टो.',
 'nov' => 'नवे.',
 'dec' => 'डिस.',
+'january-date' => 'जनवरी $1',
 'february-date' => 'फरवरी $1',
+'march-date' => 'मार्च $1',
+'april-date' => 'अप्रैल $1',
+'may-date' => 'मई $1',
+'june-date' => 'जुन $1',
 'july-date' => 'जूलाई $1',
+'august-date' => 'अगस्त $1',
+'september-date' => 'March $1',
 'october-date' => 'अक्तूबर $1',
+'november-date' => 'नवम्बर $1',
+'december-date' => 'दिसम्बर $1',
 
 # Categories related messages
 'pagecategories' => '{{PLURAL:$1|वर्गः|वर्गाः}}',
@@ -396,10 +405,10 @@ $messages = array(
 'category-subcat-count' => '$2 इत्येषु {{PLURAL:$2|वर्गेऽस्मिन् अधो लिखिताः उपवर्गाः विद्यन्ते |वर्गेऽस्मिन् {{PLURAL:$1|अधो लिखितः उपवर्गः अस्ति|अधो लिखिताः $1 उपवर्गाः सन्ति}}}}',
 'category-subcat-count-limited' => 'अस्मिन् वर्गे {{PLURAL:$1|अधो लिखितः $1 वर्गः अस्ति|अधो लिखिताः $1 वर्गाः सन्ति}}',
 'category-article-count' => '$2 इत्येषु {{PLURAL:$2|वर्गेऽस्मिन् अधो लिखितानि पृष्ठानि विद्यन्ते |वर्गेऽस्मिन् {{PLURAL:$1|अधो लिखितं पृष्ठम् अस्ति|अधो लिखितानि $1 पृष्ठानि सन्ति}}}}',
-'category-article-count-limited' => 'à¤\85धà¥\8bलिà¤\96ितà¤\82 {{PLURAL:$1|पà¥\83षà¥\8dठमà¥\8d à¤\85सà¥\8dमिनà¥\8d à¤¶à¥\8dरà¥\87णà¥\8dयामà¥\8d à¤\85सà¥\8dति|$1 à¤ªà¥\83षà¥\8dठाणि à¤\85सà¥\8dमिनà¥\8d à¤¶à¥\8dरà¥\87णà¥\8dयाà¤\82 à¤¸à¤¨à¥\8dति}}।',
+'category-article-count-limited' => 'निमà¥\8dनà¥\8bलà¥\8dलिà¤\96ित{{PLURAL:$1|पà¥\83षà¥\8dठà¤\82|$1 à¤ªà¥\83षà¥\8dठानि}} à¤µà¤°à¥\8dà¤\97à¥\87ऽसà¥\8dमिनà¥\8d {{PLURAL:$1|à¤\85सà¥\8dति|$1 à¤¸à¤¨à¥\8dति}}',
 'category-file-count' => '$2 इत्येषु {{PLURAL:$2|वर्गेऽस्मिन् अधो उल्लिखिताः सञ्चिकाः विद्यन्ते |वर्गेऽस्मिन् {{PLURAL:$1|अधो उल्लिखिता सञ्चिका अस्ति|अधो उल्लिखिताः $1 सञ्चिकाः सन्ति}}}}',
 'category-file-count-limited' => 'निम्नोल्लिखित{{PLURAL:$1|सञ्चिका|$1 सञ्चिकाः}} वर्गेऽस्मिन् {{PLURAL:$1|अस्ति|$1 सन्ति}}',
-'listingcontinuesabbrev' => 'à¤\86à¤\97ामि.',
+'listingcontinuesabbrev' => 'à¤\85नà¥\81वरà¥\8dततà¥\87',
 'index-category' => 'अनुक्रमणिकापृष्ठानि',
 'noindex-category' => 'नानुक्रमणिकपृष्ठानि',
 'broken-file-category' => 'अविद्यानानां सञ्चिकानाम् आवलिः',
@@ -434,7 +443,7 @@ $messages = array(
 'vector-action-unprotect' => 'संरक्षणं परिवर्तयतु',
 'vector-view-create' => 'सृज्यताम्',
 'vector-view-edit' => 'सम्पाद्यताम्',
-'vector-view-history' => 'à¤\87तिहासà¤\83 à¤¦à¤°à¥\8dश्यताम्',
+'vector-view-history' => 'à¤\87तिहासà¤\83 à¤¦à¥\83श्यताम्',
 'vector-view-view' => 'पठ्यताम्',
 'vector-view-viewsource' => 'स्रोतः दृश्यताम्',
 'actions' => 'क्रियाः',
@@ -525,10 +534,10 @@ $messages = array(
 
 'badaccess' => 'अनुमतिदोषः',
 'badaccess-group0' => 'यस्याः क्रियायाः कृते भवान्/भवती उद्युक्ता, तस्यै क्रियायै अनुमति नास्ति ।',
-'badaccess-groups' => 'यस्याः क्रियायाः कृते भवान्/भवती उद्युक्ता, तस्यै क्रियायै $1 {{PLURAL:$2|अस्मिन् समूहे|एतेषु समूहेषु}} अनुमति नास्ति ।',
+'badaccess-groups' => 'यस्याः क्रियायाः कृते भवान्/भवती उद्युक्ता, तस्यै क्रियायै $1 {{PLURAL:$2|अस्मिन् समूहे|एतेषु समूहेषु}} अनुमति नास्ति ।',
 
 'versionrequired' => 'मीडीयाविक इत्यस्य $1 संस्करणम् आवश्यकम् ।',
-'versionrequiredtext' => 'अस्य पृष्ठस्य उपयोगार्थं मीडीयाविकि इत्यस्य $1 संस्करणम् आवश्यकम् । पश्यतु [[Special:संस्करणम्|संस्करणानि]].',
+'versionrequiredtext' => 'अस्य पृष्ठस्य उपयोगार्थं मीडीयाविकि इत्यस्य $1 संस्करणम् आवश्यकम् । पश्यतु [[Special:Version|version page]] ।',
 
 'ok' => 'अस्तु',
 'pagetitle' => '$1 - {{SITENAME}}',
@@ -536,9 +545,9 @@ $messages = array(
 'youhavenewmessages' => '{{PLURAL:$3|भवतः/भवत्याः कृते}} $1 ($2).',
 'youhavenewmessagesfromusers' => '{{PLURAL:$4|भवतः/भवत्याः कृते}} $1  {{PLURAL:$3|अन्यस्मात् योजकात्|$3 अन्येभ्यः योजकेभ्यः}} अस्ति ($2)।',
 'youhavenewmessagesmanyusers' => 'नैकेभ्यः योजकेभ्यः ते $1 सन्ति ($2) ।',
-'newmessageslinkplural' => '{{PLURAL:$1|नूतनः सन्देशः|नूतनसन्देशाः}}',
+'newmessageslinkplural' => '{{PLURAL:$1|नà¥\82तनà¤\83 à¤¸à¤¨à¥\8dदà¥\87शà¤\83|नà¥\82तनाà¤\83 à¤¸à¤¨à¥\8dदà¥\87शाà¤\83}}',
 'newmessagesdifflinkplural' => 'सद्यः {{PLURAL:$1|परिवर्तनम्| परिवर्तनानि}}',
-'youhavenewmessagesmulti' => '$1 अत्र भवते नूतनसन्देशाः सन्ति',
+'youhavenewmessagesmulti' => 'भवते नूतनसन्देशाः सन्ति अत्र $1',
 'editsection' => 'सम्पाद्यताम्',
 'editold' => 'सम्पाद्यताम्',
 'viewsourceold' => 'स्रोतः दृश्यताम्',
@@ -578,32 +587,35 @@ $messages = array(
 
 # Main script and global functions
 'nosuchaction' => 'तादृशं कार्यं न विद्यते',
-'nosuchactiontext' => 'अनेन समरूप-संसाधन-अवस्थापकेन (URL इति) वर्णिता क्रिया अमान्याऽस्ति।
-भवता समरूप-संसाधन-अवस्थापकं अपटंकितं स्यात्, अथवा असुष्ठु संबंधनम् अनुसृतम् स्यात्।
-इदम् {{SITENAME}} इत्यनेन प्रयुक्ते क्रमादेशे त्रुटिर्वा स्यात्।',
-'nosuchspecialpage' => 'तादृशं विशेषपृष्टं न विद्यते',
-'nospecialpagetext' => '<strong>भवता एकम् अमान्यं विशिष्टपृष्ठं याचितम्। </strong>
-मान्यानां विशिष्टपृष्ठाणां सूचिका [[Special:SpecialPages|{{int:specialpages}}]] इत्यत्र प्राप्तुं शक्यते।',
+'nosuchactiontext' => 'अनेन सार्वसङ्केन (URL) दर्शिता क्रिया अयोग्या अस्ति । अयोग्यं त्रुटियुक्तं वा सार्वसङ्केतं भवता/भवत्या लिखितं स्यात् ।',
+'nosuchspecialpage' => 'तादृशं विशेषपृष्ठं न विद्यते',
+'nospecialpagetext' => '<strong>अयोग्यं विशिष्टपृष्ठं भवता/भवत्या ईप्सितम् ।</strong> विद्यमानानि विशिष्टपृष्ठानि [[Special:SpecialPages|{{int:specialpages}}]] अत्र प्राप्यन्ते ।',
 
 # General errors
 'error' => 'दोषः',
-'databaseerror' => 'दत्ताधारे दोषः',
-'laggedslavemode' => 'प्राक्प्रबोधनम्:अस्मिन् पृष्ठे सद्योजातानि परिशोधनानि न स्युः ।',
-'readonly' => 'दत्तधारः कीलितः',
-'enterlockreason' => 'तन्त्रितीकरणस्य कारणं ददातु, अपि च आकलितं ददातु यत् तन्त्रणं कदा उद्घाट्यिष्यते।',
-'readonlytext' => 'समंकाधारं वर्तमानकाले तन्त्रितमस्ति नूतनान् प्रविष्टीन् विरुध्य तथा च अन्यानि परिवर्तनानि विरुध्य। इदं नियमिततया समंकाधार परिचर्याऽर्थं तथा स्यात्। तत्पश्चादिदं सामान्यतां संप्राप्स्यति।
-तन्त्रितीकारकेन प्रबन्धकेन इदं कारणं प्रदत्तम्: $1',
+'databaseerror' => 'दत्तांशनिधौ (database) दोषः',
+'databaseerror-text' => 'दत्तांश-प्रश्नस्य (database query) दोषः प्राप्तः ।
+एषः दोषः तन्त्रांशस्य त्रुटिः स्यात् ।',
+'databaseerror-textcl' => 'दत्तांश-प्रश्नस्य (database query) दोषः प्राप्तः ।',
+'databaseerror-query' => 'प्रश्नः: $1',
+'databaseerror-function' => 'नियोज्यम्: $1',
+'databaseerror-error' => 'दोषः: $1',
+'laggedslavemode' => '<strong>पूर्वसूचना :</strong>
+सद्यः परिवर्तनानि अत्र न स्युः ।',
+'readonly' => 'दत्तांशनिधिः (database) कीलितः',
+'enterlockreason' => 'कीलनस्य कारणं ददातु, कीलनं कियान् कालः भविष्यति इति च लिखतु ।',
+'readonlytext' => 'नवीनदत्तांशनिवेशार्थं (database entry) सद्यः दत्तांशः स्थिगितः । नियमितव्यवस्थिकरणानन्तरं पुनः निवेशाय अवकाशः भवति । $1',
 'missing-article' => 'दत्तनिधौ (in database) $2 अन्तः कुत्रापि "$1" न प्राप्तम् ।
 
 प्रायः अपाकृतस्य पृष्ठस्य इतिहासदर्शनस्य चेष्टाकाले एवं भवति ।
 
-तादृशी स्थितिः यदि नास्ति, तर्हि तन्त्रांशे वद्यमाना त्रुटिः भवेत् । कृपया कमपि [[Special:ListUsers/sysop|प्रबन्धकम्]] अस्य पृष्ठस्य सार्वसङ्केतं (U.R.L.) सूच्यताम् ।',
+तादà¥\83शà¥\80 à¤¸à¥\8dथितिà¤\83 à¤¯à¤¦à¤¿ à¤¨à¤¾à¤¸à¥\8dति, à¤¤à¤°à¥\8dहि à¤¤à¤¨à¥\8dतà¥\8dराà¤\82शà¥\87 à¤µà¤¿à¤¦à¥\8dयमाना à¤¤à¥\8dरà¥\81à¤\9fिà¤\83 à¤­à¤µà¥\87तà¥\8d à¥¤ à¤\95à¥\83पया à¤\95मपि [[Special:ListUsers/sysop|पà¥\8dरबनà¥\8dधà¤\95मà¥\8d]] à¤\85सà¥\8dय à¤ªà¥\83षà¥\8dठसà¥\8dय à¤¸à¤¾à¤°à¥\8dवसà¤\99à¥\8dà¤\95à¥\87तà¤\82 (U.R.L.) à¤¸à¥\82à¤\9aà¥\8dयतामà¥\8d à¥¤',
 'missingarticle-rev' => '(संस्करणं# :$1)',
-'missingarticle-diff' => '(वà¥\8dयतिरà¥\87à¤\95: $1, $2)',
-'readonly_lag' => 'मà¥\81à¤\96à¥\8dय-समà¤\82à¤\95ाधार-परिवà¥\87शà¤\95à¤\82 à¤\89पमà¥\81à¤\96à¥\8dय-समà¤\82à¤\95ाधार-परिवà¥\87शà¤\95सà¥\8dय à¤¸à¤\82पà¥\8dरापणातà¥\8d à¤ªà¥\82रà¥\8dवà¥\87 à¤\8fव à¤¸à¥\8dवतà¤\83 à¤¤à¤¨à¥\8dतà¥\8dरितमà¥\8d à¤\85सà¥\8dति।',
+'missingarticle-diff' => '(भà¥\87दà¤\83: $1, $2)',
+'readonly_lag' => 'सहायà¤\95तनà¥\8dतà¥\8dराà¤\82शà¤\83 (slave database) à¤¯à¤¾à¤µà¤¤à¥\8d à¤®à¥\81à¤\96à¥\8dयतनà¥\8dतà¥\8dराà¤\82शातà¥\8d à¤\95िमपि à¤¸à¥\8dवà¥\80à¤\95à¥\81रà¥\8dयातà¥\8d, à¤¤à¤¾à¤µà¤¤à¥\8d à¤®à¥\81à¤\96à¥\8dयतनà¥\8dतà¥\8dराà¤\82शà¤\83 à¤¤à¤¨à¥\8dतà¥\8dराà¤\82शमाधà¥\8dयमà¥\87न à¤¸à¥\8dवयमà¥\87व à¤\95à¥\80लितà¤\83 à¤\85भवतà¥\8d',
 'internalerror' => 'आन्तरिकः दोषः',
 'internalerror_info' => 'आन्तरिकः दोषः: $1',
-'fileappenderrorread' => 'सà¤\82लà¤\97à¥\8dनà¥\80à¤\95रणà¤\95ालà¥\87 $1 à¤ªà¤ à¤¿à¤¤à¥\81मà¥\8d à¤\85शà¤\95à¥\8dयमà¥\8d।',
+'fileappenderrorread' => 'यà¥\8bà¤\9cनà¤\95ालà¥\87 "$1" à¤ªà¤ à¤¿à¤¤à¥\81à¤\82 à¤¨ à¤¶à¤\95à¥\8dयतà¥\87 ।',
 'fileappenderror' => '$1 इत्यस्य पश्चात् $2 इति योजयितुं नाशक्नोत्।',
 'filecopyerror' => '$1 इत्येतस्याः संचिकायाः  $2 इति प्रतिलिपिं कर्तुं नाशक्नोत्।',
 'filerenameerror' => '$1 इति संचिकायाः $2 इति पुनर्नामकरणं कर्तुं नाशक्नोत्।',
@@ -619,7 +631,7 @@ $messages = array(
 'cannotdelete-title' => ' "$1" पृष्ठं निर्मार्जयितुम् अशक्यम्',
 'delete-hook-aborted' => 'आलम्बेन अपमार्जनम् अपनीतम् । अनेन विवरणं न दत्तम् ।',
 'badtitle' => 'अशुद्धं शिरोनाम',
-'badtitletext' => 'à¤\87पà¥\8dसितà¤\82 à¤¶à¥\80रà¥\8dषà¤\95मà¥\8d à¤\85मानà¥\8dयà¤\82, à¤°à¤¿à¤\95à¥\8dतमà¥\8d, à¤\85यà¥\8bà¤\97à¥\8dयà¤\82, à¤\85नà¥\8dयभाषà¥\80यà¤\82, à¤µà¤¿à¤\95ि-à¤\9cालविहाय च अस्ति । पृष्ठशीर्षकाय अयोग्यानि अक्षराणि चिह्नानि वा तस्मिन् भवेयुः ।',
+'badtitletext' => 'à¤\88पà¥\8dसितà¤\82 à¤¶à¥\80रà¥\8dषà¤\95मà¥\8d à¤\85मानà¥\8dयà¤\82, à¤°à¤¿à¤\95à¥\8dतमà¥\8d, à¤\85यà¥\8bà¤\97à¥\8dयमà¥\8d, à¤\85नà¥\8dयभाषà¥\80यà¤\82, à¤­à¤¾à¤·à¤¾à¤¨à¥\8dतरातà¥\8d à¤µà¤¿à¤\95ि-à¤\9cालसà¥\8dथलातà¥\8d च अस्ति । पृष्ठशीर्षकाय अयोग्यानि अक्षराणि चिह्नानि वा तस्मिन् भवेयुः ।',
 'perfcached' => 'अनुपदोक्तं लेखः कैश् इत्येतस्माद् अस्ति, अतः अद्यतनं न स्यात्।  {{PLURAL:$1|one result is|$1 results are}}',
 'perfcachedts' => 'अधोनिदेशितलेखः सञ्चितः । पूर्वपदोन्नतिः $1 । $4 {{PLURAL:}} अधिकाधिकपरिणामः सञ्चये उपलब्धः ।',
 'querypage-no-updates' => 'अस्य पृष्ठस्य परिशोधनं विफलीकृतमस्ति । 
@@ -752,7 +764,7 @@ $2',
 'emaildisabled' => 'स्थानमेतत् विद्युन्मनपत्रं न प्रेषयति ।',
 'accountcreated' => 'सदस्यता प्राप्ता',
 'accountcreatedtext' => '$1 इत्येतस्य सदस्यता प्राप्ता अस्ति।',
-'createaccount-title' => '{{SITENAME}} à¤\87तà¥\8dयà¥\87तदरà¥\8dथà¤\82 à¤²à¥\87à¤\96ासà¥\83à¤\9cनम्',
+'createaccount-title' => '{{SITENAME}} à¤\87तà¥\8dयतà¥\8dर à¤¸à¤¦à¤¸à¥\8dयता à¤ªà¥\8dरापà¥\8dयताम्',
 'createaccount-text' => 'भवतः विद्युत्संदेशसंकेतार्थं केनचित् $2 इति जनेन {{SITENAME}} ($4) इत्यत्र  $3 इति कूटशब्दं दत्वा लेखा सृष्टाऽस्ति।
 भवता अधुना प्रवेशं कृत्वा कूटशब्दः परिवर्तितव्यः।
 
@@ -770,6 +782,7 @@ You may ignore this message, if this account was created in error.',
 'loginlanguagelabel' => 'भाषा : $1',
 'suspicious-userlogout' => 'भवतः सत्राद् बहिर्गमनस्य अनुरोधः अस्वीकृतोऽस्ति, यस्मादेतत् भग्नादेकस्मात् ब्राउज़र्तः अथवा स्वल्पसञ्चयि-प्रॉक्सितः प्रेषित आसीत्।',
 'pt-login-button' => 'प्रविश्यताम्',
+'pt-userlogout' => 'निर्गमनम्',
 
 # Email sending
 'php-mail-error-unknown' => 'पीएच्पी इत्येतस्य mail() फलने अज्ञाता काऽपि त्रुटिर्जाता।',
@@ -849,13 +862,13 @@ $2
 'image_tip' => 'अन्तर्निहिता सञ्चिका',
 'media_sample' => 'उदाहरणम्.ogg',
 'media_tip' => 'सञ्चिकासम्बन्धः',
-'sig_tip' => 'समयà¥\8bलà¥\8dलà¥\87न à¤¸à¤¹ à¤­à¤µà¤¤à¤\83/भवतà¥\8dयाà¤\83 à¤¹à¤¸à¥\8dताà¤\95à¥\8dषरà¤\83',
+'sig_tip' => 'समयà¥\8bलà¥\8dलà¥\87à¤\96à¥\87न à¤¸à¤¹ à¤­à¤µà¤¤à¤\83/भवतà¥\8dयाà¤\83 à¤¹à¤¸à¥\8dताà¤\95à¥\8dषरमà¥\8d',
 'hr_tip' => 'क्षैतिज-रेखा (न्यूनतया प्रयोक्तव्या)',
 
 # Edit pages
 'summary' => 'सारांशः:',
 'subject' => 'विषयः/शीर्षकम् :',
-'minoredit' => 'à¤\87दà¤\82 à¤²à¤\98à¥\81 à¤ªà¤°à¤¿à¤µà¤°à¥\8dतनम्',
+'minoredit' => 'à¤\87दà¤\82 à¤²à¤\98à¥\81 à¤¸à¤®à¥\8dपादनम्',
 'watchthis' => 'इदं पृष्ठं निरीक्षताम्',
 'savearticle' => 'पृष्ठं रक्ष्यताम्',
 'preview' => 'प्राग्दृश्यम्',
@@ -912,9 +925,8 @@ $2
 सत्रारम्भपश्चात् नूतनायाः अस्याः लेखायाः कूटशब्दः  '''[[Special:ChangePassword|कूटशब्दं परिवर्तताम्]]'' इति पृष्ठे परिवर्तितुं शक्यते।",
 'newarticle' => '(नूतनम्)',
 'newarticletext' => 'भवान्/भवती अनिर्मिते पृष्ठे अस्ति । 
-
-पृष्ठं स्रष्टुम् अधः प्रदत्तायां पेटिकायां टङ्कनं प्रारभतु (साहाय्यार्थं [$1 अत्र] नुदतु ।
-भवान्/भवती यदि क्षतिकारणात् एतत् पृष्ठं प्रति आगच्छत्, तर्हि अस्य गवेषकस्य (browser) "बैक्" इति नुदतु ।',
+पृष्ठं स्रष्टुम् अधः प्रदत्तायां पेटिकायां टङ्कनं प्रारभतु (साहाय्यार्थं [$1 अत्र]) नुदतु ।
+भवान्/भवती यदि क्षतिकारणात् एतत् पृष्ठं प्रति आगच्छत्, तर्हि अस्य गवेषकस्य (browser) Back नुदतु ।',
 'anontalkpagetext' => 'तस्य अनामकयोजकस्य, अथवा अनुपयोजकस्य च परिचर्चापुटम् येन एतावति काले स्वस्थनं  न निर्मितम् । 
 अतः तस्य अभिज्ञानार्थं ऐ.पि.सङ्गेतसङ्ख्या प्रयोजनीया । 
 सा समाना सङ्ख्याः अन्ययोजकैः अपि विभक्ता । यदि भवान् अनामकयोजकः, भवता असम्बद्धटीकाः श्रुताः, कृपया स्वस्थनं निर्मीय नामाभिलेखं करोतु ।  [[Special:UserLogin/signup|create an account]], [[Special:UserLogin|log in]] अन्यानामकयोजकैः सह सम्भूयमनभ्रमैः विमुक्तः भवतु ।',
@@ -952,7 +964,7 @@ $2
 'updated' => '(अद्यतनीकृतः)',
 'note' => "'''सूचना:'''",
 'previewnote' => "'''एतत् केवलं प्राग्दृश्यं वर्तते इति स्मरतु'''
-भवता/भवतà¥\8dया à¤\95à¥\83तानि à¤ªà¤°à¤¿à¤µà¤°à¥\8dतनानि à¤\8fतवातà¥\8d न रक्षितानि ।",
+भवता/भवतà¥\8dया à¤\95à¥\83तानि à¤ªà¤°à¤¿à¤µà¤°à¥\8dतनानि à¤\8fतवता न रक्षितानि ।",
 'continue-editing' => 'सम्पादनम् अनुवर्तताम्',
 'previewconflict' => 'अस्मिन् प्राग्दृश्ये दर्शितमस्ति यत् उपरिवर्ति पाठ क्षेत्रस्य पाठः रक्षणपश्चात् कीदृशः दृष्टिगोचरः भविष्यति।',
 'session_fail_preview' => "'''क्षम्यताम्! अस्माभिः भवतः सम्पादनस्य संसाधनं न कर्तुं शक्तम् यस्माद्धि सत्रस्य सूचनाः लुप्ताः।'''
@@ -999,14 +1011,15 @@ $2
 'templatesusedsection' => '{{PLURAL:$1|Template|Templates}} अस्मिन् विभागे उपयुक्तम् ।',
 'template-protected' => '(संरक्षितम्)',
 'template-semiprotected' => 'अर्धसंरक्षितम्',
-'hiddencategories' => 'à¤\87दà¤\82 à¤ªà¥\83षà¥\8dठà¤\82 {{PLURAL:$1|1 à¤¨à¤¿à¤\97à¥\82ढà¥\87 à¤µà¤°à¥\8dà¤\97à¥\87 |$1 à¤¨à¤¿à¤\97à¥\82ढà¥\87षà¥\81 à¤µà¤°à¥\8dà¤\97à¥\87षà¥\81}} à¤\85नà¥\8dयतमà¤\82 à¤µà¤¿à¤¦à¥\8dयतà¥\87 :',
+'hiddencategories' => 'à¤\87दà¤\82 à¤ªà¥\83षà¥\8dठà¤\82 {{PLURAL:$1|1 à¤¨à¤¿à¤\97à¥\82ढà¥\87 à¤µà¤°à¥\8dà¤\97à¥\87 |$1 à¤¨à¤¿à¤\97à¥\82ढà¥\87षà¥\81 à¤µà¤°à¥\8dà¤\97à¥\87षà¥\81}} à¤\85नà¥\8dतरà¥\8dभवति :',
 'nocreatetext' => '{{SITENAME}} नूतनपुटनिर्माणस्य क्षमता नियता । वर्तमानापुटानां सम्पादनार्थं निर्गच्छतु । अथवा [[Special:UserLogin|log in or create an account]].',
 'nocreate-loggedin' => 'नूतनपुटनिर्मार्थम् अनुमतिः नास्ति ।',
 'sectioneditnotsupported-title' => 'विभागसम्पादनं न पोषितम् ।',
 'sectioneditnotsupported-text' => 'अस्मिन् पुटे विभागसम्पादनण् न पोषितम् ।',
 'permissionserrors' => 'अनुज्ञा-विभ्रमाः',
 'permissionserrorstext' => 'भवान् तत् कर्तुं अनुज्ञां न धारयति {{PLURAL:$1|अधोऽङ्कितात् कारणात् |अधोऽङ्कितेभ्यः कारणेभ्यः:}}',
-'permissionserrorstext-withaction' => '$1 निम्नकारणत्वात्  $2 सम्पादनस्य अनुमतिः नास्ति ।',
+'permissionserrorstext-withaction' => '$1 निम्नकारणत्वात्  $2 सम्पादनस्य अनुमतिः नास्ति ।
+{{PLURAL:$1|कारणम्|कारणानि}}:',
 'recreate-moveddeleted-warn' => "'''पूर्वसूचना: पूर्वम् अपाकृतं पृष्टं भवता रच्यमानम् अस्ति ।'''
 अस्य पृष्ठस्य सम्पादनं करणात् प्राक् गभीरतया चिन्तनं करोतु ।
 अस्य पृष्ठस्य निर्माणं न्यायसङ्गतम् इति भवतः/भवत्याः मतमस्ति चेत् अत्र परिवर्तनं करोतु । सौकर्यार्थं पृष्ठ-अपाकरणस्य प्राक्तनसम्पादनस्य आवलिः अत्र वर्तते ।",
@@ -1039,8 +1052,8 @@ $2
 अत्र $2 संख्यातः  {{PLURAL:$2|न्यूनं आह्वानं|न्यूनानि आह्वानानि}} भवितव्यानि, सद्यः तत्र {{PLURAL:$1 $1 आह्वानं विद्यते|$1 आह्वानानि विद्यन्ते}}।",
 'expensive-parserfunction-category' => 'प्रभूतेभ्यः जटिलेभ्यः पार्सर्-फंक्शन्-आह्वानेभ्यः युक्तानि पृष्ठाणि।',
 'post-expand-template-inclusion-warning' => "'''पूर्वसूचना:''' फलकस्य आकारः बृहत् वर्तते । कानिचन फलकानि नान्तर्भविष्यन्ति ।",
-'post-expand-template-inclusion-category' => 'माहितà¥\80फलकस्य अपेक्षया पृष्ठं बृहत् वर्तते ।',
-'post-expand-template-argument-warning' => "'''पà¥\82रà¥\8dवसà¥\82à¤\9aना''' à¤\85सà¥\8dमिनà¥\8d à¤ªà¥\83षà¥\8dठà¥\87 à¤¸à¥\8dथितसà¥\8dय à¤«à¤²à¤\95सà¥\8dय à¤\8fà¤\95à¤\83 à¤µà¤¿à¤\95लà¥\8dपà¤\83 à¤¬à¤¹à¥\81 à¤¬à¥\83हतà¥\8d à¤­à¤µà¥\87तà¥\8d । तस्य विकल्पस्य अंशाः अपाकृताः ।",
+'post-expand-template-inclusion-category' => 'सà¥\82à¤\9aनाफलकस्य अपेक्षया पृष्ठं बृहत् वर्तते ।',
+'post-expand-template-argument-warning' => "'''पà¥\82रà¥\8dवसà¥\82à¤\9aना''' à¤\85सà¥\8dमिनà¥\8d à¤ªà¥\83षà¥\8dठà¥\87 à¤¸à¥\8dथितसà¥\8dय à¤«à¤²à¤\95सà¥\8dय à¤\8fà¤\95à¤\83 à¤µà¤¿à¤\95लà¥\8dपà¤\83 à¤¬à¤¹à¥\81 à¤¬à¥\83हतà¥\8d à¤µà¤°à¥\8dततà¥\87 । तस्य विकल्पस्य अंशाः अपाकृताः ।",
 'post-expand-template-argument-category' => 'येषु पृष्ठेषु फलके स्थिताः विकल्पाः न पूरिताः तेषां पृष्ठानाम् आवलिः',
 'parser-template-loop-warning' => 'बिम्बधर-पाशः प्राप्तः: [[$1]]',
 'parser-template-recursion-depth-warning' => 'बिम्बधर-पुनरावर्तनार्थं गहनतायाः सीमा अतिक्रान्ताऽस्ति ($1)',
@@ -1071,20 +1084,20 @@ $2
 'currentrev' => 'सद्यःकालीना आवृत्तिः',
 'currentrev-asof' => '$1 समयस्य संस्करणम्',
 'revisionasof' => '$1 इत्यस्य संस्करणं',
-'revision-info' => '$1 à¤ªà¤°à¥\8dयनà¥\8dतà¤\82 $2 à¤¦à¥\8dवारा à¤\9cातानि परिवर्तनानाम् आवलिः',
-'previousrevision' => 'â\86\90 à¤ªà¥\81रातनानि à¤¸à¤\82सà¥\8dà¤\95रणानि',
+'revision-info' => '$1 à¤ªà¤°à¥\8dयनà¥\8dतà¤\82 $2 à¤¦à¥\8dवारा à¤\9cातानाà¤\82 परिवर्तनानाम् आवलिः',
+'previousrevision' => 'â\86\90 à¤ªà¥\81रातनà¤\82 à¤¸à¤\82सà¥\8dà¤\95रणमà¥\8d',
 'nextrevision' => 'नूतनतरा आवृत्तिः →',
-'currentrevisionlink' => 'सदà¥\8dयà¤\83à¤\95ालà¥\80ना आवृत्तिः',
+'currentrevisionlink' => 'नà¥\82तनतमा आवृत्तिः',
 'cur' => 'वर्तमानः',
 'next' => 'आगामि',
 'last' => 'पूर्वतनम्',
 'page_first' => 'प्रथमम्',
 'page_last' => 'अन्तिमम्',
 'histlegend' => 'भेदस्य चयनम्: आवृत्तिभेदस्य दर्शनाय अग्रे प्रदत्ता रेडियोमञ्जूषा नुद्यताम्, एण्टर्-कुड्मलं नुद्यताम्, अधः दत्तं कुड्मलं वा नुद्यताम् । <br />
-à¤\87तिहासà¤\83: (सदà¥\8dयà¥\8bà¤\9cातमà¥\8d) = नूतनासु आवृत्तिषु भेदः, 
-(पà¥\82रà¥\8dवतनमà¥\8d) = à¤ªà¥\82रà¥\8dवतनासà¥\81 à¤\86वà¥\83तà¥\8dतिषà¥\81 à¤­à¥\87दà¤\83, (लà¤\98à¥\81) = à¤²à¤\98à¥\81 à¤ªà¤°à¤¿à¤µà¤°à¥\8dतनम्',
-'history-fieldset-title' => 'à¤\97वà¥\87षणसà¥\8dय (browser) इतिहासः',
-'history-show-deleted' => 'मातà¥\8dरम् अपाकृतम्',
+नà¥\82तनसà¤\82सà¥\8dà¤\95रणमà¥\8d = नूतनासु आवृत्तिषु भेदः, 
+(पà¥\82रà¥\8dवतनमà¥\8d) = à¤ªà¥\82रà¥\8dवतनासà¥\81 à¤\86वà¥\83तà¥\8dतिषà¥\81 à¤­à¥\87दà¤\83, (लà¤\98à¥\81) = à¤²à¤\98à¥\81 à¤¸à¤®à¥\8dपादनम्',
+'history-fieldset-title' => 'à¤\85नà¥\8dवà¥\87षणसà¥\8dय (browse) इतिहासः',
+'history-show-deleted' => 'à¤\95à¥\87वलम् अपाकृतम्',
 'histfirst' => 'पुरातनतमम्',
 'histlast' => 'नूतनतमम्',
 'historysize' => '({{PLURAL:$1|1 बैटम्|$1 बैटानि}})',
@@ -1126,7 +1139,6 @@ You can still [$1 view this revision]",
 'revdelete-no-file' => 'निर्दिष्टा सञ्चिका न विद्यते ।',
 'revdelete-show-file-confirm' => '$2 तः $3 मध्ये "<nowiki>$1</nowiki>" इति सञ्चिकायाः निरस्तं परिष्करणं भवान् नूनं द्रष्टुम् इच्छति ?',
 'revdelete-show-file-submit' => 'आम्',
-'revdelete-selected' => "'''{{PLURAL:$2|Selected revision|Selected revisions}} of [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Selected log event|Selected log events}}:'''",
 'revdelete-confirm' => 'भवान् एतत् कार्यं करोति इति दढयतु । भवान् अस्य परिणामं जानाति । [[{{MediaWiki:Policy-url}}|the policy]] भवान् एतदनुसारं करोति ।',
 'revdelete-suppress-text' => 'अधोनिदेशितपरिस्थितिषु केवलं निग्रहः कार्यः । 
@@ -1205,12 +1217,12 @@ You can still [$1 view this revision]",
 'mergelogpagetext' => 'अतिनूतनविलीनस्य आवली अधो दत्ता यस्य इतिहासः अन्यस्मिन् अस्ति ।',
 
 # Diffs
-'history-title' => '"$1" इत्यस्य आवर्तनेतिहासः :',
+'history-title' => '"$1" इत्यस्य आवर्तनेतिहासः',
 'difference-title' => '"$1" इत्यस्य अवतरणमध्ये व्यत्यासः ।',
 'difference-title-multipage' => '"$1" तथा "$2" पुटयोः मध्ये व्यत्यासः ।',
 'difference-multipage' => 'पुटेषु व्यत्यासः ।',
 'lineno' => 'पङ्क्तिः $1:',
-'compareselectedversions' => 'à¤\9aितानामà¥\8d à¤\86वà¥\83तà¥\8dतà¥\80नाà¤\82 à¤¤à¥\8bलनà¤\82 क्रियताम्',
+'compareselectedversions' => 'à¤\9aितानामà¥\8d à¤\86वà¥\83तà¥\8dतà¥\80नाà¤\82 à¤¤à¥\81लना क्रियताम्',
 'showhideselectedversions' => 'चितावतरणानि दर्शयतु/गोपयतु ।',
 'editundo' => 'पूर्ववत्',
 'diff-multi-manyusers' => '({{PLURAL:$2|योजकेन|$2 योजकैः}} कृता {{PLURAL:$1|मध्यमा आवृत्तिः|$1 मध्यमा आवृत्तयः}} न दर्शिताः ।)',
@@ -1224,25 +1236,25 @@ You can still [$1 view this revision]",
 'titlematches' => 'पुटशीर्षिकामेलाः ।',
 'textmatches' => 'पुटपाठस्य मेलाः',
 'notextmatches' => 'न कस्यापि पृष्ठस्य पाठः अस्य सममस्ति',
-'prevn' => 'पà¥\81रसà¥\8dतात् {{PLURAL:$1|$1}}',
-'nextn' => 'परसà¥\8dतात् {{PLURAL:$1|$1}}',
-'prevn-title' => 'पà¥\81रसà¥\8dतातà¥\8d {{PLURAL:$1|परिणामः|परिणामाः}}',
-'nextn-title' => 'परसà¥\8dतातà¥\8d {{PLURAL:$1|परिणामः|परिणामाः}}',
+'prevn' => 'पà¥\82रà¥\8dवतनम् {{PLURAL:$1|$1}}',
+'nextn' => 'à¤\85à¤\97à¥\8dरिमम् {{PLURAL:$1|$1}}',
+'prevn-title' => 'पà¥\82रà¥\8dवतन{{PLURAL:$1|परिणामः|परिणामाः}}',
+'nextn-title' => 'à¤\85à¤\97à¥\8dरिम{{PLURAL:$1|परिणामः|परिणामाः}}',
 'shown-title' => 'प्रत्येकस्मिन् पृष्ठे $1 {{PLURAL:$1|फलितम्|फलितानि}} दर्श्यताम्',
-'viewprevnext' => 'दरà¥\8dश्यताम् ($1 {{int:pipe-separator}} $2) ($3)',
-'searchmenu-exists' => "'''विकि-जालस्थानेऽस्मिन् \"[[:\$1]]\" नामकं पृष्ठं विद्यते । '''",
+'viewprevnext' => 'दà¥\83श्यताम् ($1 {{int:pipe-separator}} $2) ($3)',
+'searchmenu-exists' => '<strong>अस्मिन् विकि-जालस्थाने "[[:$1]]" नामकं पृष्ठं विद्यते ।</strong> {{PLURAL:$2|0=|अन्यपरिणामाः दृश्यन्ताम्}}',
 'searchmenu-new' => '<strong> अस्मिन् विकिजालस्थाने "[[:$1]]" इदं पृष्ठं सृज्यताम् ।
 </strong>
-{{PLURAL:$2|0=|तव अन्वेषणस्य परिणामोपि दृश्यताम् ।|तव अन्वेषणस्य परिणामाः अपि दृश्यन्ताम्}}',
-'searchprofile-articles' => 'à¤\86नà¥\8dतरà¥\8dविषà¤\95à¤\82 à¤ªà¥\83षà¥\8dठà¤\82',
+{{PLURAL:$2|0=|तव à¤\85नà¥\8dवà¥\87षणसà¥\8dय à¤ªà¤°à¤¿à¤£à¤¾à¤®à¥\8bऽपि à¤¦à¥\83शà¥\8dयतामà¥\8d à¥¤|तव à¤\85नà¥\8dवà¥\87षणसà¥\8dय à¤ªà¤°à¤¿à¤£à¤¾à¤®à¤¾à¤\83 à¤\85पि à¤¦à¥\83शà¥\8dयनà¥\8dतामà¥\8d}}',
+'searchprofile-articles' => 'विषयसहितानि à¤ªà¥\83षà¥\8dठानि',
 'searchprofile-project' => 'साहाय्यं, प्रकल्पपृष्ठानि च',
 'searchprofile-images' => 'माध्यमसमुच्चयः',
 'searchprofile-everything' => 'सर्वम्',
 'searchprofile-advanced' => 'प्रगतम्',
 'searchprofile-articles-tooltip' => '$1 स्थले अन्विष्यताम्',
 'searchprofile-project-tooltip' => '$1 स्थले अन्विष्यताम्',
-'searchprofile-images-tooltip' => 'सञ्चिका अन्विष्यताम्',
-'searchprofile-everything-tooltip' => '(चर्चापृष्ठानि अविहाय) सर्वत्र अन्विष्यताम्',
+'searchprofile-images-tooltip' => 'सञ्चिकाः अन्विष्यन्ताम्',
+'searchprofile-everything-tooltip' => 'सर्वत्र अन्विष्यताम् (चर्चापृष्ठानि अपि)',
 'searchprofile-advanced-tooltip' => 'नामाकाशेषु अन्विष्यताम्',
 'search-result-size' => '$1 ({{PLURAL:$2|1 शब्दः|$2 शब्दाः}})',
 'search-result-category-size' => '{{PLURAL:$1|1 योजकः|$1 योजकाः}} ({{PLURAL:$2|1 उपवर्गः|$2 उपवर्गाः}}, {{PLURAL:$3|1 सञ्चिका|$3 सञ्चिकाः}})',
@@ -1280,7 +1292,7 @@ You can still [$1 view this revision]",
 'skin-preview' => 'प्राग्दृश्यम्',
 'datedefault' => 'वरीयांसि नास्ति',
 'prefs-beta' => 'आवर्णलक्षणानि ।',
-'prefs-datetime' => 'दिनाà¤\82à¤\95 à¤¤à¤¥à¤¾ à¤¸à¤®à¤¯',
+'prefs-datetime' => 'दिनाà¤\99à¥\8dà¤\95à¤\83, à¤¸à¤®à¤¯à¤\83 à¤\9a',
 'prefs-labs' => 'प्रयोगशालालक्षणानि ।',
 'prefs-user-pages' => 'योजकपुटानि ।',
 'prefs-personal' => 'योजकः व्यक्तिरेखा',
@@ -1327,7 +1339,7 @@ You can still [$1 view this revision]",
 'timezoneregion-indian' => 'हिंद महासागर',
 'timezoneregion-pacific' => 'प्रशांत महासागर',
 'allowemail' => 'अन्योपयोजकानां विद्युन्मानसङ्केतं निष्कियं करोतु ।',
-'prefs-searchoptions' => 'अन्वेषणविकल्पाः ।',
+'prefs-searchoptions' => 'अन्वेषणविकल्पाः',
 'prefs-namespaces' => 'नामाकाशः :',
 'defaultns' => 'अन्यथा एतेषु नामाकाशेषु अन्विषतु ।',
 'default' => 'यदभावे',
@@ -1360,7 +1372,7 @@ You can still [$1 view this revision]",
 'email' => 'विद्युत्पत्रव्यवस्था',
 'prefs-help-realname' => 'निजनामधेयस्य उल्लेखः आवश्यकः नास्ति । 
 यदि ददाति तर्हि अस्य प्रयोगः भवतः योगदानार्थं भवते श्रेयं दातुम् उपयुक्तः भवति ।',
-'prefs-help-email' => 'à¤\88-पतà¥\8dरसà¤\99à¥\8dà¤\95à¥\87तà¤\83 à¤\85निवारà¥\8dयà¤\83 à¤¨à¤¾à¤¸à¥\8dति à¥¤ à¤\95िनà¥\8dतà¥\81 à¤\95à¥\82à¤\9fशबà¥\8dदà¤\83 à¤µà¤¿à¤¸à¥\8dमरà¥\8dयतà¥\87 à¤\9aà¥\87तà¥\8d à¤¤à¤¸à¥\8dय à¤ªà¤°à¤¿à¤µà¤°à¥\8dतनाय à¤\85वश्यकः भवति ।',
+'prefs-help-email' => 'à¤\88-पतà¥\8dरसà¤\99à¥\8dà¤\95à¥\87तà¤\83 à¤\85निवारà¥\8dयà¤\83 à¤¨à¤¾à¤¸à¥\8dति à¥¤ à¤\95िनà¥\8dतà¥\81 à¤\95à¥\82à¤\9fशबà¥\8dदà¤\83 à¤µà¤¿à¤¸à¥\8dमरà¥\8dयतà¥\87 à¤\9aà¥\87तà¥\8d à¤¤à¤¸à¥\8dय à¤ªà¤°à¤¿à¤µà¤°à¥\8dतनाय à¤\86वश्यकः भवति ।',
 'prefs-help-email-others' => 'योजकपृष्ठ-सम्भाषणपृष्ठयोः माध्यमेन,  ई-पत्रमाध्यमेन वा अन्ये योजकाः भवतः/भवत्याः सम्पर्कं कर्तुं शक्नुयुः ।
 सम्पर्केऽस्मिन् भवतः/भवत्याः ई-पत्रसङ्केतम् अन्ययोजकाः ज्ञातुं न प्रभवतन्ति ।',
 'prefs-help-email-required' => 'विद्युन्मानपत्रसङ्केतः आवश्यकः ।',
@@ -1538,15 +1550,15 @@ You can still [$1 view this revision]",
 
 # Recent changes
 'nchanges' => '$1 {{PLURAL:$1|परिवर्तनम्|परिवर्तनानि}}',
-'recentchanges' => 'सदà¥\8dयपरिवर्तनानि',
-'recentchanges-legend' => 'सद्योजातानां परिवर्तनानां विकल्पाः',
+'recentchanges' => 'नà¥\82तनपरिवर्तनानि',
+'recentchanges-legend' => 'सद्यो जातानां परिवर्तनानां विकल्पाः',
 'recentchanges-summary' => 'अस्मिन् विकि-प्रकल्पे सद्योजातानि परिवर्तनानि दृश्यन्ताम्',
-'recentchanges-feed-description' => 'अस्मिन् विकि-प्रकल्पे सद्योजातानि परिवर्तनानि दर्श्यन्ताम्',
+'recentchanges-feed-description' => 'अस्मिन् विकि-प्रकल्पे सद्यो जातानि परिवर्तनानि दर्श्यन्ताम्',
 'recentchanges-label-newpage' => 'अनेन सम्पादनेन नूतनपृष्ठस्य रचना अभूत् ।',
-'recentchanges-label-minor' => 'à¤\87दà¤\82 à¤²à¤\98à¥\81 à¤ªà¤°à¤¿à¤µà¤°à¥\8dतनम्',
+'recentchanges-label-minor' => 'à¤\87दà¤\82 à¤²à¤\98à¥\81 à¤¸à¤®à¥\8dपादनम्',
 'recentchanges-label-bot' => 'बोट्-द्वारा कृतं सम्पादनमेतत्',
 'recentchanges-label-unpatrolled' => 'एतावता अस्य सम्पादनस्य परिशीलिनं नाभूत् ।',
-'rcnotefrom' => '<strong>$2</strong> तः आरभ्य (<strong>$1</strong> पर्यन्तं) जातानि परिवर्तनानि अधः प्रदर्शिता ।',
+'rcnotefrom' => '<strong>$2</strong> तः आरभ्य (<strong>$1</strong> पर्यन्तं) जातानि परिवर्तनानि अधः प्रदर्शितानि ।',
 'rclistfrom' => '$1 पश्चात् जातानि नूतनानि परिवर्तनानि दृश्यन्ताम्',
 'rcshowhideminor' => '$1 लघुसम्पादनानि',
 'rcshowhidebots' => '$1 बोट् इत्येतानि',
@@ -1560,7 +1572,7 @@ You can still [$1 view this revision]",
 'hide' => 'गोप्यताम्',
 'show' => 'दृश्यताम्',
 'minoreditletter' => '(लघु)',
-'newpageletter' => '(नवीनम्)',
+'newpageletter' => '<font color="green">(नवीनम्)</font>',
 'boteditletter' => '(बोट्)',
 'number_of_watching_users_pageview' => '[$1 अवलोकयति {{PLURAL:$1|योजकः|योजकाः}}]',
 'rc_categories' => 'वर्गान् नियतीकरोतु ।',
@@ -1576,11 +1588,11 @@ You can still [$1 view this revision]",
 'recentchangeslinked-feed' => 'पृष्ठ-सम्बन्धितानि परिवर्तनानि',
 'recentchangeslinked-toolbox' => 'पृष्ठसम्बद्धानि परिवर्तनानि',
 'recentchangeslinked-title' => '"$1" इत्यस्मिन् जातानि परिवर्तनानि',
-'recentchangeslinked-summary' => "विशेषपृष्ठेषु वर्गान्तर्गतपृष्ठेषु वा सद्योजातानां परिवर्तनानाम् एषा आवलिः ।
+'recentchangeslinked-summary' => "विशेषपृष्ठेषु वर्गान्तर्गतपृष्ठेषु वा सद्यो जातानां परिवर्तनानाम् एषा आवलिः ।
 
-[[Special:Watchlist|भवतà¤\83/भवतà¥\8dयाà¤\83 à¤\85वà¥\87à¤\95à¥\8dषणावलिà¤\83]] à¤\85तà¥\8dर à¤µà¤¿à¤¦à¥\8dयमानानि à¤ªà¥\83षà¥\8dठानि '''स्थूलाक्षरैः''' दर्शितानि।",
+[[Special:Watchlist|भवतà¤\83/भवतà¥\8dयाà¤\83 à¤\85वà¥\87à¤\95à¥\8dषणावलà¥\8dयाà¤\82]] à¤µà¤¿à¤¦à¥\8dयमानानि à¤ªà¥\83षà¥\8dठानि à¤\85तà¥\8dर '''स्थूलाक्षरैः''' दर्शितानि।",
 'recentchangeslinked-page' => 'पृष्ठनाम:',
-'recentchangeslinked-to' => 'à¤\85सà¥\8dमिनà¥\8d à¤¸à¥\8dथानà¥\87 à¤\85सà¥\8dय à¤ªà¥\83षà¥\8dठसà¥\8dय à¤¸à¤\82बद्धानां पृष्ठानां परिवर्तनानि दर्श्यन्ताम्',
+'recentchangeslinked-to' => 'à¤\85सà¥\8dमिनà¥\8d à¤¸à¥\8dथानà¥\87 à¤\85सà¥\8dय à¤ªà¥\83षà¥\8dठसà¥\8dय à¤¸à¤®à¥\8dबद्धानां पृष्ठानां परिवर्तनानि दर्श्यन्ताम्',
 
 # Upload
 'upload' => 'सञ्चिका आरोप्यताम्',
@@ -1852,7 +1864,7 @@ See https://www.mediawiki.org/wiki/Manual:Image_Authorization.',
 'filehist-comment' => 'टिप्पणी',
 'filehist-missing' => 'सञ्चिका विनष्टा ।',
 'imagelinks' => 'सञ्चिकायाः उपयोगः',
-'linkstoimage' => '{{PLURAL:$1|अधो निर्दिष्टपृष्ठस्य परिसन्धयः|$1 अधो निर्दिष्टपृष्ठानां परिसन्धिः} अत्र {{PLURAL:$1|संलग्नाः सन्ति|सल्लग्ना अस्ति}} :',
+'linkstoimage' => '{{PLURAL:$1|अधो निर्दिष्टपृष्ठस्य परिसन्धयः संलग्नाः सन्ति|$1 अधो निर्दिष्टपृष्ठानां परिसन्धिः संलग्ना अस्ति}}:',
 'linkstoimage-more' => '{{PLURAL:$1|$1}} तः अधिकपुटानि अस्यां सञ्चिकायां योज्यन्ते । 
 अधोनिदेशितसूची सञ्चिकाभिः योजनीयपुटानि पश्यति ।{{PLURAL:$1|$1 पृष्ठ|$1 पृष्ठ}} 
 [[Special:WhatLinksHere/$2|पूर्णसूची]] अपि लभ्यते ।',
@@ -1934,7 +1946,7 @@ See https://www.mediawiki.org/wiki/Manual:Image_Authorization.',
 'randomredirect-nopages' => '$1नामस्थाने चालनानि न सन्ति ।',
 
 # Statistics
-'statistics' => 'साङ्ख्यकी',
+'statistics' => 'साà¤\99à¥\8dà¤\96à¥\8dयिà¤\95à¥\80',
 'statistics-header-pages' => 'पुटसाङ्ख्यिकाः ।',
 'statistics-header-edits' => 'सङ्ख्यिकाः सम्पादयतु ।',
 'statistics-header-views' => 'साङ्ख्यिकाः अवलोकयतु ।',
@@ -2032,7 +2044,7 @@ See https://www.mediawiki.org/wiki/Manual:Image_Authorization.',
 'newpages' => 'नवीनपृष्ठानि',
 'newpages-username' => 'योजकनामन्:',
 'ancientpages' => 'प्राचीनतमानि पृष्ठानि',
-'move' => 'à¤\9aाल्यताम्',
+'move' => 'शà¥\80रà¥\8dषà¤\95à¤\82 à¤ªà¤°à¤¿à¤µà¤°à¥\8dत्यताम्',
 'movethispage' => 'इदं पृष्ठं चाल्यताम्',
 'unusedimagestext' => 'अधो दत्तसञ्चिकाः सन्ति किन्तु कस्मिंश्चिदपि पुटे न न्यस्ताः ।',
 'unusedcategoriestext' => 'निम्नलिखितवर्गाः सन्ति तथापि अन्यपुटं वर्गः वा न उपयुङ्क्ते ।',
@@ -2270,7 +2282,7 @@ Feedback and further assistance:
 'historywarning' => "' पूर्वसूचना ''' भवता अपमर्जनसिद्धपुटे बहुशः  $1 इतिहासयुक्तः अस्ति ।{{PLURAL:$1|revision|revisions}}:",
 'confirmdeletetext' => 'भवान् एकं पृष्ठं तस्य अखिलेन इतिहासेन सहितं अपाकर्तुं प्रवृत्तोऽस्ति। कृपया सुपुष्टीकरोतु यत् भवतः एतदेव आशयः, यद् भवता अस्य परिणामाः सुविज्ञाताः सन्ति तथा च भवता क्रियैषा [[{{MediaWiki:Policy-url}}| यथानीति]] सम्पाद्यते।',
 'actioncomplete' => 'कार्यं सम्पन्नम्',
-'actionfailed' => 'à¤\95ारà¥\8dयà¤\82 à¤°à¤¿à¤·à¥\8dà¤\9fà¤\82 (failed)',
+'actionfailed' => 'à¤\95ारà¥\8dयà¤\82 à¤°à¤¿à¤·à¥\8dà¤\9fमà¥\8d (failed)',
 'deletedtext' => '"$1" इत्येतद् अपाकृतमस्ति।
 सद्यःकृतानां अपाकरणानाम् अभिलेखः $2 इत्यस्मिन् पश्यतु।',
 'dellogpage' => 'अपाकरणानाम् आवलिः',
@@ -2432,11 +2444,11 @@ $2 द्वारा सम्पादितां अन्तिमावृ
 'tooltip-invert' => 'चितनामस्थाने परिवर्तनं गोपयितुं मञ्जूषाम् अर्गलयतु ।',
 'namespace_association' => 'सम्बद्धं नामस्थानम् ।',
 'tooltip-namespace_association' => 'चितनामस्थानेन सह सम्बद्धं विषयनामस्थानम् अथवा सम्भाषणम् अपि उपादातुम् इमां मञ्जूषाम् अर्गलयतु ।',
-'blanknamespace' => '(मà¥\81à¤\96à¥\8dयà¤\83)',
+'blanknamespace' => '(मà¥\81à¤\96à¥\8dयमà¥\8d)',
 
 # Contributions
 'contributions' => '{{GENDER:$1|प्रयोक्तॄणां}} योगदानानि',
-'contributions-title' => '$1 à¤\95à¥\83तà¥\87 à¤¯à¥\8bà¤\97दानà¤\82',
+'contributions-title' => '$1 à¤\95à¥\83तà¥\87 à¤¯à¥\8bà¤\9cà¤\95सà¥\8dय à¤¯à¥\8bà¤\97दानानि',
 'mycontris' => 'योगदानानि',
 'contribsub2' => '($2) कृते {{GENDER:$3|$1}}',
 'nocontribs' => 'एतादृशयोग्यताभिः समं परिवर्तनानि न दृष्टानि ।',
@@ -2459,25 +2471,25 @@ $2 द्वारा सम्पादितां अन्तिमावृ
 नूतनतमा अवरोधाभिलेख-प्रविष्टिः सन्दर्भार्थम् अधस्तात् प्रदत्ताऽस्ति:',
 'sp-contributions-search' => 'योगदानानि अन्विष्यन्ताम्',
 'sp-contributions-username' => 'अन्तर्जालसंविद् (I P address) योजकनाम वा :',
-'sp-contributions-toponly' => 'समà¥\8dपादनानाà¤\82 à¤\95à¥\87वलà¤\82 à¤¨à¥\82तनातमा आवलिः दृश्यताम्',
+'sp-contributions-toponly' => 'समà¥\8dपादनानाà¤\82 à¤¨à¥\82तनतमा आवलिः दृश्यताम्',
 'sp-contributions-submit' => 'अन्विष्यताम्',
 
 # What links here
 'whatlinkshere' => 'अनेन सह सम्बद्धाः',
 'whatlinkshere-title' => '"$1" सम्बद्धानि पृष्ठानि',
 'whatlinkshere-page' => 'पृष्ठम्:',
-'linkshere' => "'''[[:$1]]''' इत्यनेन सह अधोलिखितानां पृष्ठानां परिसन्धिं करोतु:",
+'linkshere' => "'''[[:$1]]''' इत्यनेन सह अधो लिखितानां पृष्ठानां परिसन्धिं करोतु:",
 'nolinkshere' => "'''[[:$1]]''' इत्यनेन सह न किमपि पृष्ठं परिसन्धितम्",
 'nolinkshere-ns' => "चितनामस्थानात्  '''[[:$1]]''' इत्येनं योजनयोग्यं पुटं नास्ति  ।",
 'isredirect' => 'अनुप्रेषण-पृष्ठम्',
 'istemplate' => 'अन्यलेखभागः (transclusion)',
 'isimage' => 'सञ्चिकासम्बन्धः',
 'whatlinkshere-prev' => '{{PLURAL:$1|पुरस्तात् (previous) $1}}',
-'whatlinkshere-next' => '{{PLURAL:$1|परसà¥\8dतात् $1}}',
+'whatlinkshere-next' => '{{PLURAL:$1|à¤\85à¤\97à¥\8dरिमम् $1}}',
 'whatlinkshere-links' => '← परिसन्धयः',
-'whatlinkshere-hideredirs' => '$1 पुनर्निर्दिष्टानि',
-'whatlinkshere-hidetrans' => '$1 अन्यलेखभागः (transclusions)',
-'whatlinkshere-hidelinks' => '$1 à¤ªà¤°à¤¿à¤¸à¤¨à¥\8dधिः',
+'whatlinkshere-hideredirs' => '$1 पुनर्निर्दिष्टानि पृष्ठानि',
+'whatlinkshere-hidetrans' => '$1 à¤\85नà¥\8dयलà¥\87à¤\96भाà¤\97ाà¤\83 (transclusions)',
+'whatlinkshere-hidelinks' => '$1 à¤ªà¤°à¤¿à¤¸à¤¨à¥\8dधयः',
 'whatlinkshere-hideimages' => '$1 चित्रपरिसन्धिः',
 'whatlinkshere-filters' => 'शोधनी',
 
@@ -2558,7 +2570,7 @@ $2 द्वारा सम्पादितां अन्तिमावृ
 'blocklink' => 'अवरुद्ध्यताम्',
 'unblocklink' => 'अवरोधः निरस्त्यताम्',
 'change-blocklink' => 'अवरोधः परिवर्त्यताम्',
-'contribslink' => 'यà¥\8bà¤\97दानमà¥\8d',
+'contribslink' => 'यà¥\8bà¤\97दानानि',
 'emaillink' => 'विद्युन्मानपत्रं प्रेषयतु ।',
 'autoblocker' => 'भवतः ऐपि सङ्केतः स्वयम् अवरुद्धः यः सद्यः काले एव [[User:$1|$1]]" इत्यनेन उपयुक्तः । 
 $1 इत्यस्य अवरोधस्य कारणं तु "$2" अस्ति ।',
@@ -2836,34 +2848,34 @@ $2 इति प्रकारस्य अवरोधं कर्तुं 
 'tooltip-pt-anontalk' => 'एतस्मात् ऐपिसङ्केतात् सम्पादनस्य परिचर्चा ।',
 'tooltip-pt-preferences' => 'भवतः/भवत्याः इष्टतमानि',
 'tooltip-pt-watchlist' => 'भवतः/भवत्याः निरीक्षासूच्यां विद्यमानानां पृष्ठानाम् आवलिः',
-'tooltip-pt-mycontris' => 'भवतà¤\83/भवतà¥\8dयाà¤\83 à¤¯à¥\8bà¤\97दानसà¥\8dय आवलिः',
+'tooltip-pt-mycontris' => 'भवतà¤\83/भवतà¥\8dयाà¤\83 à¤¯à¥\8bà¤\97दानानामà¥\8d आवलिः',
 'tooltip-pt-login' => 'सम्प्रवेशाय प्रोत्सहामहे । परन्तु सम्प्रवेशः ऐच्छिकः ।',
 'tooltip-pt-logout' => 'निर्गमनम्',
-'tooltip-ca-talk' => 'पà¥\83षà¥\8dठाऽनà¥\8dतरà¥\8dà¤\97ताय à¤µà¤¿à¤·à¤¯à¤¾à¤¯ चर्चा',
+'tooltip-ca-talk' => 'विषयसहितानाà¤\82 à¤ªà¥\83षà¥\8dठानाà¤\82 चर्चा',
 'tooltip-ca-edit' => 'इदं पृष्ठं सम्पादयितुं शक्यते । रक्षणात्पूर्वं कृपया प्राग्दृश्यं दृश्यताम् ।',
 'tooltip-ca-addsection' => 'नूतनविभागः आरभ्यताम्',
-'tooltip-ca-viewsource' => 'à¤\87दà¤\82 à¤ªà¥\83षà¥\8dठà¤\82 à¤¸à¤\82रà¤\95à¥\8dषितà¤\82 à¤µà¤¿à¤¦à¥\8dयतà¥\87 à¥¤ à¤\85सà¥\8dय à¤¸à¥\8dरà¥\8bतà¤\82 द्रष्टुं शक्यते ।',
+'tooltip-ca-viewsource' => 'à¤\87दà¤\82 à¤ªà¥\83षà¥\8dठà¤\82 à¤¸à¤\82रà¤\95à¥\8dषितà¤\82 à¤µà¤¿à¤¦à¥\8dयतà¥\87 à¥¤ à¤\85सà¥\8dय à¤¸à¥\8dरà¥\8bतà¤\83 द्रष्टुं शक्यते ।',
 'tooltip-ca-history' => 'अस्य पृष्ठस्य पुरातनाऽऽवृत्तिः',
 'tooltip-ca-protect' => 'इदं पृष्ठं संरक्ष्यताम्',
 'tooltip-ca-unprotect' => 'अस्य पुटास्य सुरक्षां परिवर्तयतु ।',
 'tooltip-ca-delete' => 'इदं पृष्ठम् अपाक्रियताम्',
 'tooltip-ca-undelete' => 'अस्य पुटस्य अपमर्जनात् पूर्वम् अस्य सम्पादनानि पुनस्थापयतु ।',
-'tooltip-ca-move' => 'à¤\85सà¥\8dय à¤ªà¥\83षà¥\8dठसà¥\8dय à¤¨à¤¾à¤® परिवर्त्यताम्',
+'tooltip-ca-move' => 'à¤\85सà¥\8dय à¤ªà¥\83षà¥\8dठसà¥\8dय à¤¶à¥\80रà¥\8dषà¤\95à¤\82 परिवर्त्यताम्',
 'tooltip-ca-watch' => 'इदं पृष्ठं भवतः/भवत्याः अवेक्षणावल्यां योज्यताम्',
 'tooltip-ca-unwatch' => 'भवतः/भवत्याः अवेक्षणसूच्याः इदं पृष्ठं निष्कास्यताम्',
 'tooltip-search' => '{{SITENAME}} अन्विष्यताम्',
 'tooltip-search-go' => 'समानशिरोनामयुक्तं पृष्ठं विद्यते चेत् तत्र गम्यताम्',
-'tooltip-search-fulltext' => 'à¤\8fनà¤\82 à¤µà¤¾à¤\95à¥\8dयाà¤\82शà¤\82 à¤ªà¥\83षà¥\8dठà¥\87षà¥\81 अन्विष्यताम्',
+'tooltip-search-fulltext' => 'पà¥\83षà¥\8dठà¥\87षà¥\81 à¤\8fषà¤\83 à¤µà¤¾à¤\95à¥\8dयाà¤\82शà¤\83 अन्विष्यताम्',
 'tooltip-p-logo' => 'मुख्यपृष्ठं गम्यताम्',
 'tooltip-n-mainpage' => 'मुख्यपृष्ठं गम्यताम्',
 'tooltip-n-mainpage-description' => 'मुख्यपृष्ठं गम्यताम्',
-'tooltip-n-portal' => 'तà¥\8dवया à¤ªà¥\8dरà¤\95लà¥\8dपविषयà¥\87 à¤\95िà¤\82 à¤\95रà¥\8dतà¥\81à¤\82 à¤¶à¤\95à¥\8dयतà¥\87, à¤\95à¥\81तà¤\83 साहाय्यं प्राप्तव्यम्',
+'tooltip-n-portal' => 'तà¥\8dवया à¤ªà¥\8dरà¤\95लà¥\8dपविषयà¥\87 à¤\95िà¤\82 à¤\95रà¥\8dतà¥\81à¤\82 à¤¶à¤\95à¥\8dयतà¥\87, à¤\95à¥\81थà¤\82 साहाय्यं प्राप्तव्यम्',
 'tooltip-n-currentevents' => 'वर्तमानप्रसङ्गानां पृष्ठभूमिका प्राप्यताम्',
-'tooltip-n-recentchanges' => 'सदà¥\8dयपरिवर्तनानाम् आवलिः',
+'tooltip-n-recentchanges' => 'नवà¥\80नपरिवर्तनानाम् आवलिः',
 'tooltip-n-randompage' => 'अशृङ्खलं (random) पृष्ठं गम्यताम्',
-'tooltip-n-help' => 'à¤\85नà¥\8dवà¥\87षणसà¥\8dथानम्',
+'tooltip-n-help' => 'à¤\85नà¥\8dवà¥\87षणसà¥\8dथलम्',
 'tooltip-t-whatlinkshere' => 'अत्र सम्बद्धानां परिसन्धितानां विकि-पृष्ठानाम् आवलिः',
-'tooltip-t-recentchangeslinked' => 'à¤\8fततà¥\8dपà¥\83षà¥\8dठसमà¥\8dबदà¥\8dधà¥\87षà¥\81 à¤ªà¥\83षà¥\8dठà¥\87षà¥\81 à¤¸à¤¦à¥\8dयà¤\9cातानि परिवर्तनानि',
+'tooltip-t-recentchangeslinked' => 'à¤\8fततà¥\8dपà¥\83षà¥\8dठसमà¥\8dबदà¥\8dधà¥\87षà¥\81 à¤ªà¥\83षà¥\8dठà¥\87षà¥\81 à¤\9cातानि à¤¨à¤µà¥\80नपरिवर्तनानि',
 'tooltip-feed-rss' => 'अस्मै पृष्ठाय आर-एस-एस-पूरणम्',
 'tooltip-feed-atom' => 'अस्मै पृष्ठाय अणुपूरणम्',
 'tooltip-t-contributions' => 'अस्य योजकस्य योगदानानाम् आवलिः',
@@ -2872,20 +2884,20 @@ $2 इति प्रकारस्य अवरोधं कर्तुं 
 'tooltip-t-specialpages' => 'सर्वेषां विशिष्टपृष्ठानाम् आवलिः',
 'tooltip-t-print' => 'अस्य पृष्ठस्य मुद्रणयोग्या आवृत्तिः',
 'tooltip-t-permalink' => 'पृष्ठस्यास्य स्थायिपरिसन्धिः',
-'tooltip-ca-nstab-main' => 'à¤\86नà¥\8dतरà¥\8dविषयà¤\95ं पृष्ठं पश्यतु',
+'tooltip-ca-nstab-main' => 'विषययà¥\81à¤\95à¥\8dतं पृष्ठं पश्यतु',
 'tooltip-ca-nstab-user' => 'योजकपृष्ठं दृश्यताम्',
 'tooltip-ca-nstab-media' => 'माध्यमपुटम् अवलोकयतु ।',
-'tooltip-ca-nstab-special' => 'à¤\87दमà¥\87à¤\95à¤\82 à¤µà¤¿à¤¶à¤¿à¤·à¥\8dà¤\9fà¤\82 à¤ªà¥\83षà¥\8dठमà¥\8d, भवान्/भवती इदं पृष्ठं सम्पादयितुं नार्हति ।',
+'tooltip-ca-nstab-special' => 'à¤\87दमà¥\87à¤\95à¤\82 à¤µà¤¿à¤¶à¤¿à¤·à¥\8dà¤\9fà¤\82 à¤ªà¥\83षà¥\8dठà¤\82, भवान्/भवती इदं पृष्ठं सम्पादयितुं नार्हति ।',
 'tooltip-ca-nstab-project' => 'प्रकल्पपृष्ठं दृश्यताम्',
 'tooltip-ca-nstab-image' => 'सञ्चिकापृष्ठं दृश्यताम्',
 'tooltip-ca-nstab-mediawiki' => 'तन्त्रसन्देशान् अवलोकयतु ।',
 'tooltip-ca-nstab-template' => 'फलकं दृश्यताम्',
 'tooltip-ca-nstab-help' => 'साहाय्यपुटम् अवलोकयतु ।',
 'tooltip-ca-nstab-category' => 'वर्गाणां पृष्ठं दृश्यताम्',
-'tooltip-minoredit' => 'लà¤\98à¥\81परिवरà¥\8dतनतà¥\8dवà¥\87न à¤\87दà¤\82 à¤ªà¤°à¤¿à¤µà¤°à¥\8dतनम् अङ्क्यताम्',
+'tooltip-minoredit' => 'लà¤\98à¥\81समà¥\8dपादनतà¥\8dवà¥\87न à¤\87दà¤\82 à¤¸à¤®à¥\8dपादनम् अङ्क्यताम्',
 'tooltip-save' => 'परिवर्तनानि रक्ष्यन्ताम्',
 'tooltip-preview' => 'भवता/भवत्या कृतानां परिवर्तनानां प्राग्दृश्यं दृश्यताम्, रक्षणात्पूर्वं कृपया इदम् उपयुज्यताम्।',
-'tooltip-diff' => 'भवता/भवतà¥\8dया à¤\85तà¥\8dर à¤\95à¥\83तानि à¤ªà¤°à¤¿à¤µà¤°à¥\8dतनानि द्रष्टुं शक्यते',
+'tooltip-diff' => 'भवता/भवतà¥\8dया à¤\95à¥\83तानि à¤ªà¤°à¤¿à¤µà¤°à¥\8dतनानि à¤\85तà¥\8dर द्रष्टुं शक्यते',
 'tooltip-compareselectedversions' => 'पृष्ठस्य द्वयोः चितयोः आवृत्त्योः भेदः दृश्यताम्',
 'tooltip-watch' => 'इदं पृष्ठं भवतः/भवत्याः अवेक्षणावल्यां योज्यताम्',
 'tooltip-watchlistedit-normal-submit' => 'शीर्षकानि अपनयतु ।',
@@ -2893,9 +2905,9 @@ $2 इति प्रकारस्य अवरोधं कर्तुं 
 'tooltip-recreate' => 'एतत्पुटं पूर्वमेव अपमर्जितः अतः पुन सृजतु ।',
 'tooltip-upload' => 'उत्तारणम् आरभताम्',
 'tooltip-rollback' => '"प्रत्याहरणम् (roll back)" इत्येतत् अन्तिमसम्पादकस्य अन्तिमयोगदानं निराकरोति ।',
-'tooltip-undo' => '"पूर्ववत्" इति अन्तिमसम्पादनम् अपाकरोति, सम्पादनप्रारूपं प्राग्दृश्यरूपेण उद्घाटयति, नवीनसम्पादनान्तरं सम्पादनपृष्ठं प्राग्दृश्यत्वेन प्रदर्शयति च । 
+'tooltip-undo' => '\'"पूर्ववत्"\' इति अन्तिमसम्पादनम् अपाकरोति, सम्पादनप्रारूपं प्राग्दृश्यरूपेण उद्घाटयति, नवीनसम्पादनानन्तरं सम्पादनपृष्ठं प्राग्दृश्यत्वेन प्रदर्शयति च । 
 
-à¤\85सà¥\8dय à¤¸à¤¾à¤°à¤¾à¤\82शà¥\87 à¤\85पाà¤\95रणसà¥\8dय à¤\95ारणमपि à¤²à¥\87खितुं शक्यते ।',
+à¤\85सà¥\8dय à¤¸à¤¾à¤°à¤¾à¤\82शà¥\87 à¤\85पाà¤\95रणसà¥\8dय à¤\95ारणमपि à¤²à¤¿खितुं शक्यते ।',
 'tooltip-preferences-save' => 'आद्यताः रक्षतु ।',
 'tooltip-summary' => 'सङ्क्षिप्तसारांशः योज्यताम्',
 
@@ -3053,13 +3065,13 @@ $2 इति प्रकारस्य अवरोधं कर्तुं 
 # Bad image list
 'bad_image_list' => 'अत्र प्रारूपं एवं भवेत् -
 
-à¤\95à¥\87वलमà¥\8d à¤\86वलà¥\8dयनà¥\8dतरà¥\8dà¤\97ताà¤\83 à¤µà¤¿à¤·à¤¯à¤¾à¤\83 (* à¤\87ति à¤\9aिनà¥\8dहात् आरभमाणाः पङ्क्तयः) आकलिताः ।
+à¤\95à¥\87वलमà¥\8d à¤\86वलà¥\8dयनà¥\8dतरà¥\8dà¤\97ताà¤\83 à¤µà¤¿à¤·à¤¯à¤¾à¤\83 (* à¤\87ति à¤\9aिहà¥\8dनात् आरभमाणाः पङ्क्तयः) आकलिताः ।
 
 पङ्क्त्यां विद्यमाना प्रथमा परिसन्धिः (link) दोषपूर्णया सञ्चिकया सह परिसन्धिता (linked) स्यादेव । तस्यामेव पङ्क्तौ उत्तरोत्तरं विद्यमानाः परिसन्धयः अपवादिताः ज्ञेयाः, अर्थात् अत्र तेषां पृष्ठानाम् आवलिरेव भविष्यति, येषु एषा सञ्चिका विद्यते ।',
 
 # Metadata
 'metadata' => 'प्रदत्तांशः (दत्तांशविषयकदत्तांशः अयम्)',
-'metadata-help' => 'à¤\85नà¥\87न à¤¸à¤¹ à¤µà¤¿à¤¸à¥\8dतà¥\83तमाहितà¥\80 सल्लग्ना अस्ति, प्रतिबिम्बग्राहकेन (scanner) अङ्कीयछायाचित्रग्राहकेन (digital camera ) वा अस्याः सञ्चिकायाः रचना जाता स्यात् । 
+'metadata-help' => 'à¤\85नà¥\87न à¤¸à¤¹ à¤µà¤¿à¤¸à¥\8dतà¥\83तसà¥\82à¤\9aना सल्लग्ना अस्ति, प्रतिबिम्बग्राहकेन (scanner) अङ्कीयछायाचित्रग्राहकेन (digital camera ) वा अस्याः सञ्चिकायाः रचना जाता स्यात् । 
 
 एषा सञ्चिका यदि मूलावस्थात् परिवर्त्यते, तर्हि अत्रस्थानि कानिचित् विवरणानि परिवर्तितसञ्चिकायां पूर्णतया न दृश्यन्ते ।',
 'metadata-expand' => 'विस्तारितानि विवरणानि दर्शयतु',
@@ -3617,14 +3629,14 @@ $5
 # Watchlist editing tools
 'watchlisttools-view' => 'योग्यपरिवर्तनानि दृश्यन्ताम्',
 'watchlisttools-edit' => 'अवेक्षणाऽऽवलिः दृश्यतां, सम्पाद्यतां च',
-'watchlisttools-raw' => 'à¤\85पà¤\95à¥\8dवामà¥\8d à¤\85वलà¥\8bà¤\95नावलà¥\80à¤\82 à¤¸à¤®à¥\8dपादयतà¥\81 à¥¤',
+'watchlisttools-raw' => 'विवरणरहिता à¤\85वलà¥\8bà¤\95नावलिà¤\83 à¤¸à¤®à¥\8dपादà¥\8dयतामà¥\8d',
 
 # Signatures
 'signature' => '[[{{ns:user}}:$1|$2]] ([[{{ns:user_talk}}:$1|अम्भाषणम्]])',
 
 # Core parser functions
 'unknown_extension_tag' => 'अज्ञातं वर्तमानसूत्रम् $1',
-'duplicate-defaultsort' => '\'\'\'पà¥\82रà¥\8dवसà¥\82à¤\9aना\'\'\' "$1" à¤\87ति à¤ªà¥\81रातनà¤\82 à¤®à¥\82लà¤\95à¥\8dरमाà¤\99à¥\8dà¤\95नà¤\82 à¤\95à¥\81डà¥\8dमलà¤\82 à¤µà¤¿à¤¹à¤¾à¤¯  "$2" à¤\87ति à¤¨à¤µà¥\80नà¤\82 à¤®à¥\82लà¤\95à¥\8dरमाà¤\99à¥\8dà¤\95नà¤\95à¥\81णà¥\8dडलतà¥\8dवà¥\87न à¤¸à¥\8dवयमà¥\87व à¤¨à¤¯à¤¤à¤¿ à¤\8fततà¥\8d à¥¤',
+'duplicate-defaultsort' => '\'\'\'पूर्वसूचना\'\'\' "$1" इति पुरातनं मूलक्रमाङ्कनकुड्मलं विहाय  "$2" इति नवीनं मूलक्रमाङ्कनकुण्डलत्वेन स्वयमेव नयति एतत् ।',
 
 # Special:Version
 'version' => 'आवृत्तिः',
@@ -3693,10 +3705,10 @@ $5
 # External image whitelist
 'external_image_whitelist' => '# एषा पङ्क्तिः न परिवर्त्यताम् <pre>
 # अत्र केवलं सामान्यचिह्नानाम् उपयोगः क्रियताम् (यथा // इत्यनयोः मध्ये स्थापनीयः भागः)
-# à¤\87तà¥\8dयसà¥\8dय à¤¬à¤¹à¤¿à¤¸à¥\8dतातà¥\8d à¤\86à¤\97तानाà¤\82 à¤\9aितà¥\8dराणाà¤\82 à¤¸à¤¾à¤°à¥\8dवसà¤\99à¥\8dà¤\95à¥\87तà¥\88à¤\83 (U R L) à¤¸à¤¹ तुलना भवति
+# à¤¬à¤¹à¤¿à¤¸à¥\8dतातà¥\8d à¤\86à¤\97तानाà¤\82 à¤\9aितà¥\8dराणाà¤\82 à¤¸à¤¾à¤°à¥\8dवसà¤\99à¥\8dà¤\95à¥\87तà¥\88à¤\83 (U R L) à¤¸à¤¹ à¤\8fतà¥\87षाà¤\82 तुलना भवति
 # यत् चित्रम् अनुकूलं भवति तत् योज्यते, अन्यथा तस्य चित्रस्य परिसन्धिः योज्यते । 
-# à¤ªà¤\99à¥\8dà¤\95तयà¤\83 # à¤\87तसà¥\8dमातà¥\8d à¤\86रभनà¥\8dतà¥\87 à¥¤ à¤\8fततà¥\8d à¤¸à¥\82à¤\9aना à¤\87ति à¤\89à¤\9aà¥\8dयतà¥\87 à¥¤ 
-# अत्र सर्वं पक्षविगुणं case-insensitive वर्तते 
+# à¤¯à¤¾à¤\83 à¤ªà¤\99à¥\8dà¤\95à¥\8dतयà¤\83 # à¤\87तà¥\8dयसà¥\8dमातà¥\8d à¤\86रभनà¥\8dतà¥\87, à¤¤à¤¾à¤\83 à¤¸à¥\82à¤\9aनाà¤\83
+# अत्र सर्वं पक्षविगुणं (case-insensitive) वर्तते 
 # सर्वान् regex भागान् अस्याः पङ्क्तेः उपरि स्थापयतु । एतां पङ्क्तिम् एवमेव स्थापयतु </pre>',
 
 # Special:Tags
index 04235d4..07e6648 100644 (file)
@@ -977,7 +977,6 @@ IP-аадырыһа эрэ көстөр.
 'revdelete-no-file' => 'Ыйыллыбыт билэ суох.',
 'revdelete-show-file-confirm' => '"<nowiki>$1</nowiki>" билэ баччаҕа $2, $3 сотуллубут барылын көрүөххүн баҕараҕын дуо?',
 'revdelete-show-file-submit' => 'Сөп',
-'revdelete-selected' => "'''[[:$1]] сирэй {{PLURAL:$2|талыллыбыт торума|талыллыбыт торумнара}}:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Сирэй талыллыбыт историята|Сирэй талыллыбыт историялара}}:'''",
 'revdelete-confirm' => 'Бука диэн кырдьык бу дьайыыны онороргун, содула туох буоларын өйдүүргүн уонна [[{{MediaWiki:Policy-url}}|сиэри]] тутуһаргын бигэргэт.',
 'revdelete-suppress-text' => "Кистээһин маннык түбэлтэлэргэ '''эрэ''' оҥоһуллар:
index a79fb82..e57dd1a 100644 (file)
@@ -914,7 +914,6 @@ All'amministratura è ancora possibili [$1 talìari lu confrontu] si nicissariu.
 'revdelete-no-file' => 'Lu file spicificatu nun esisti.',
 'revdelete-show-file-confirm' => 'Si desidira talìari la virsioni cancillata dô file "<nowiki>$1</nowiki>" dô $2 ê $3?',
 'revdelete-show-file-submit' => 'Sì',
-'revdelete-selected' => "'''{{PLURAL:$2|Virsioni silizziunata|Virsioni silizziunati}} di [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Eventu dû riggistru silizziunatu|Eventi dû riggistru silizziunati}}:'''",
 'revdelete-suppress-text' => "La rimozzioni havi a essiri utilizzata '''sulu''' ni sti casi:
 * Dati pirsonali inoppurtuni
index 136a516..5b9cd75 100644 (file)
@@ -37,9 +37,9 @@ $messages = array(
 'tog-editondblclick' => 'Eidit pages oan dooble-clap (JavaScript)',
 'tog-editsectiononrightclick' => 'Enable section editin bi richt-clapin on section teitles',
 'tog-rememberpassword' => 'Mynd ma password oan this browser (fer ae maximum o $1 {{PLURAL:$1|day|days}})',
-'tog-watchcreations' => 'Add pages that Ah cræft n files that Ah uplaid til ma watchleet',
-'tog-watchdefault' => 'Add pages n files that Ah eedit til ma watchleet',
-'tog-watchmoves' => 'Add pages n files that Ah muiv til ma watchleet',
+'tog-watchcreations' => 'Eik pages that Ah cræft n files that Ah uplaid til ma watchleet',
+'tog-watchdefault' => 'Eik pages n files that Ah eedit til ma watchleet',
+'tog-watchmoves' => 'Eik pages n files that Ah muiv til ma watchleet',
 'tog-watchdeletion' => 'Eik pages n files that Ah get rid o til ma watchleet',
 'tog-minordefault' => 'Mairk aa edits "smaa" bi defaut',
 'tog-previewontop' => 'Shaw owerview afore eedit kist n naw efter it',
@@ -181,7 +181,7 @@ $messages = array(
 'faqpage' => 'Project:ASQ',
 
 # Vector skin
-'vector-action-addsection' => 'Add topic',
+'vector-action-addsection' => 'Eik topic',
 'vector-action-delete' => 'Delyte',
 'vector-action-move' => 'Muiv',
 'vector-action-protect' => 'Fend',
@@ -359,10 +359,10 @@ likelie fer routine database maintenance; efter that it'll be back til normal.
 The admeenstration that lockit it gied this explanation: $1",
 'missing-article' => 'The database didna fynd the tex o ae page that it shid hae foond, cawed "$1" $2.
 
-Maistlie this is caused bi follaein aen ootdated diff or histerie link til ae page that haes been delytit.
+Maistlie this is caused bi follaein aen ootdated diff or histerie airtin til ae page that\'s been delytit.
 
 Gif this isna the case, ye micht hae foond ae bug in the saffware.
-Please lat aen [[Special:ListUsers/sysop|admeenistrater]] ken aneat this, makin note o the URL.',
+Please lat aen [[Special:ListUsers/sysop|admeenistrater]] ken aneat this, makin ae myndin o the URL.',
 'missingarticle-rev' => '(reveesion#: $1)',
 'missingarticle-diff' => '(Diff: $1, $2)',
 'readonly_lag' => 'The database haes been autaematically lockit while the sclave database servers catch up tae the maister',
@@ -398,10 +398,10 @@ It gae nae explanâtion.',
 'viewsourcetext' => 'Ye can leuk at n copie the soorce o this page:',
 'viewyourtext' => 'Ye can see n copie the soorce o <strong>yer eedits</strong> til this page:',
 'protectedinterface' => 'This page provides interface tex fer the saffware oan this wiki, n is protected fer tae hinder abuise.
-Tae add or chynge owersets fer aw wikis, please uise [//translatewiki.net/ translatewiki.net], the MediaWiki localisation waurk.',
-'editinginterface' => "<strong>Warnishment:</strong> Ye'r eiditing ae page that is uised tae provide interface tex fer the saffware.
-Chynges til this page will affect the appearance o the uiser interface fer ither uisers oan this wiki.
-Tae add or chynge owersets fer aw wikis, please uise [//translatewiki.net/ translatewiki.net], the MediaWiki localisation project.",
+Tae eik or chynge owersets fer aw wikis, please uise [//translatewiki.net/ translatewiki.net], the MediaWiki localisation waurk.',
+'editinginterface' => "<strong>Warnishment:</strong> Ye'r eeditin ae page that is uised tae provide interface tex fer the saffware.
+Chynges til this page will affect the kithin o the uiser interface fer ither uisers oan this wiki.
+Tae eik or chynge owersets fer aw wikis, please uise [//translatewiki.net/ translatewiki.net], the MediaWiki localisation waurk.",
 'cascadeprotected' => 'This page haes been protectit fae eiditin, cause it is inclædit in the follaein {{PLURAL:$1|page|pages}}, that ar protectit wi the "cascadin" optie turnit oan:
 $2',
 'namespaceprotected' => "Ye dinna hae permeession tae edit pages in the '''$1''' namespace.",
@@ -736,7 +736,7 @@ It micht hae been muived or delytit while ye were luikin at the page.',
 'accmailtitle' => 'Passwaird sent.',
 'accmailtext' => 'Ae randomly generated passwaird fer [[User talk:$1|$1]] haes been sent til $2. It can be chynged oan the <em>[[Special:ChangePassword|chynge passwaird]]</em> page upo loggin in.',
 'newarticle' => '(New)',
-'newarticletext' => "Ye'v follaed ae link til ae page that disna exeest yet. Tae cræft the page, stairt typin in the kist ablo (see the [$1 heelp page] fer mair info). Gif ye'r here bi mistak, jist clap yer brouser's <strong>back</strong> button.",
+'newarticletext' => "Ye'v follaed aen airtin til ae page that disna exeest yet. Tae cræft the page, stairt typin in the kist ablo (see the [$1 heelp page] fer mair info). Gif ye'r here bi mistak, jist clap yer brouser's <strong>back</strong> button.",
 'anontalkpagetext' => "----
 <em>This is the discussion page fer aen anonymoos uiser that's naw cræftit aen accoont yet, or that disna uise it.</em>
 We maun therefore uise the numerical IP address tae identifie him/her.
@@ -975,7 +975,6 @@ Ye can view this diff; details can be foond in the [{{fullurl:{{#Special:Log}}/s
 'revdelete-no-file' => 'The file speceefied disna exeest.',
 'revdelete-show-file-confirm' => 'Ar ye sair ye wish tae see ae delytit reveesion o the file "<nowiki>$1</nowiki>" fae $2 at $3?',
 'revdelete-show-file-submit' => 'Ai',
-'revdelete-selected' => '<strong>{{PLURAL:$2|Selected reveesion|Selected reveesions}} o [[:$1]]:</strong>',
 'logdelete-selected' => "'''{{PLURAL:$1|Selectit log event|Selectit log events}}:'''",
 'revdelete-text-text' => 'Delytit reveesions will still kith in the page histerie, bit pairts o thair content will be onaccessible til the publeec.',
 'revdelete-text-file' => 'Delytit file versions will still kith in the file histerie, bit pairts o thair content will be onaccessible til the publeec.',
@@ -1045,7 +1044,7 @@ Mak sair that this chynge will maintain historical page conteenuitie.',
 'mergehistory-list' => 'Mergeable eidit histerie',
 'mergehistory-merge' => 'The follaein reveesions o [[:$1]] can be merged intil [[:$2]].
 Uise the radio button column tae merge in yinlie the reveesions cræftit at n afore the speceefied time.
-Mynd that uisin the naveegation links will reset this column.',
+Mynd that uisin the naveegation airtins will reset this column.',
 'mergehistory-go' => 'Shaw mergeable eidits',
 'mergehistory-submit' => 'Merge reveesions',
 'mergehistory-empty' => 'Naw reveesions can be merged.',
@@ -1079,10 +1078,10 @@ Mynd that uisin the naveegation links will reset this column.',
 'diff-multi-sameuser' => '({{PLURAL:$1|yin intermeediate reveesion|$1 intermeediate reveesions}} bi the same uiser naw shawn)',
 'diff-multi-otherusers' => '({{PLURAL:$1|yin intermeediate reveesion|$1 intermeediate reveesions}} bi {{PLURAL:$2|yin ither uiser|$2 uisers}} no shawn)',
 'diff-multi-manyusers' => '({{PLURAL:$1|Yin intermeediate reveesion|$1 intermeediate reveesions}} bi mair than $2 {{PLURAL:$2|uiser|uisers}} no shawn)',
-'difference-missing-revision' => '{{PLURAL:$2|Yin reveesion|$2 reveesions}} o this difference ($1) {{PLURAL:$2|was|were}} no fond.
+'difference-missing-revision' => "{{PLURAL:$2|Yin reveesion|$2 reveesions}} o this difference ($1) {{PLURAL:$2|wis|were}} na foond.
 
-This is usually caused bi follaein aen ootdated diff link til ae page that haes been delytit.
-Details can be foond in the [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} delytion log].',
+This is usuallie caused bi follaein aen ootdated diff airtin til ae page that's been delytit.
+Details can be foond in the [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}} delytion log].",
 
 # Search results
 'searchresults' => 'Rake results',
@@ -1169,7 +1168,7 @@ Details can be foond in the [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENA
 'prefs-editing' => 'Editin',
 'rows' => 'Raws:',
 'searchresultshead' => 'Rake result settins',
-'stub-threshold' => 'Threeshaud fer <a href="#" class="stub">stub link</a> formattin (bytes):',
+'stub-threshold' => 'Threeshaud fer <a href="#" class="stub">stub airtin</a> formattin (bytes):',
 'stub-threshold-disabled' => 'Tuckie',
 'recentchangesdays' => 'Days tae shaw in recynt chynges:',
 'recentchangesdays-max' => 'Mucklest $1 {{PLURAL:$1|day|days}}',
@@ -1261,13 +1260,13 @@ Yer wab-mail address isna revealed whan ither uisers contact ye.',
 'userrights-groupsmember-auto' => 'Impleecit memmer o:',
 'userrights-groups-help' => "Ye can alter the groops this uiser is in:
 * Ae checkit kist means that the uiser is in that groop.
-* Aen oncheckit kist means that the uiser's no in that groop.
-* Ae * indicates that ye cannae remuiv the groop yince ye'v added it, or vice versa.",
+* Aen oncheckit kist means that the uiser's na in that groop.
+* Ae * indeecates that ye canna remuiv the groop yince ye'v eikit it, or vice versa.",
 'userrights-reason' => 'Raison:',
 'userrights-no-interwiki' => 'Ye dinna hae permission tae eedit uiser richts oan ither wikis.',
 'userrights-nodatabase' => 'Database $1 disna exeest or isna local.',
 'userrights-nologin' => 'Ye maun [[Special:UserLogin|log in]] wi aen admeenistrater accoont tae assign uiser richts.',
-'userrights-notallowed' => 'Ye dinna hae permission tae add or remuiv uiser richts.',
+'userrights-notallowed' => 'Ye dinna hae permeession tae eik or remuiv uiser richts.',
 'userrights-changeable-col' => 'Groops that ye can chynge',
 'userrights-unchangeable-col' => 'Groops ye canna chynge',
 'userrights-conflict' => 'Conflict o uiser richts chynges! Please luikower n confirm yer chynges.',
@@ -1341,7 +1340,7 @@ Yer wab-mail address isna revealed whan ither uisers contact ye.',
 'right-editmyusercss' => 'Eidit yer ain uiser CSS files',
 'right-editmyuserjs' => 'Eedit yer ain uiser JavaScript files',
 'right-viewmywatchlist' => 'See yer ain watchleet',
-'right-editmywatchlist' => 'Eedit yer ain watchleet. Myd that some actions will still add pages even wioot this richt.',
+'right-editmywatchlist' => 'Eedit yer ain watchleet. Mynd that some actions will still eik pages even wioot this richt.',
 'right-viewmyprivateinfo' => 'See yer ain preevate data (e.g. wab-mail address, real name)',
 'right-editmyprivateinfo' => 'Eedit yer ain preevate data (e.g. wab-mail address, real name)',
 'right-editmyoptions' => 'Eedit yer ain preeferences',
@@ -1485,9 +1484,9 @@ Pages oan [[Special:Watchlist|yer watchleet]] ar <strong>baud</strong.',
 
 The delytion n muiv log fer this page ar gien here fer conveeneeance:",
 'uploadtext' => 'Uise the form ablo tae uplaid files.
-Tae see or rake preeveeooslie uplaided files gang til the [[Special:FileList|leet o uplaided files]], (re)uplaids ar loggit in the [[Special:Log/upload|uplaid log]] ava, delytions in the [[Special:Log/delete|delytion log]].
+Tae see or rake preeveeislie uplaided files gang til the [[Special:FileList|leet o uplaided files]], (re)uplaids ar loggit in the [[Special:Log/upload|uplaid log]] ava, delytions in the [[Special:Log/delete|delytion log]].
 
-Tae incluid ae file in ae page, uise ae link in yin o the follaein forms:
+Tae incluid ae file in ae page, uise aen airtin in yin o the follaein forms:
 * <strong><code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.jpg]]</nowiki></code></strong> tae uise the ful version o the file
 * <strong><code><nowiki>[[</nowiki>{{ns:file}}<nowiki>:File.png|200px|thumb|left|alt tex]]</nowiki></code></strong> tae uise ae 200 pixel wide rendeetion in ae kist in the cair margin wi "alt tex" aes descreeption
 * <strong><code><nowiki>[[</nowiki>{{ns:media}}<nowiki>:File.ogg]]</nowiki></code></strong> fer linkin directlie til the file wioot displeyin the file.',
@@ -1752,10 +1751,10 @@ Ye micht want tae try at ae less busie time.',
 'filehist-missing' => 'File missin',
 'imagelinks' => 'File uisage',
 'linkstoimage' => 'The follaein {{PLURAL:$1|page airts|$1 pages airt}} tae this file:',
-'linkstoimage-more' => 'Mair than $1 {{PLURAL:$1|page links|pages link}} til this file.
-The follaein leet shaws the {{PLURAL:$1|first page link|first $1 page links}} til this file yinlie.
+'linkstoimage-more' => 'Mair than $1 {{PLURAL:$1|page airts|pages airt}} til this file.
+The follaein leet shaws the {{PLURAL:$1|first page airtin|first $1 page airtins}} til this file yinlie.
 Ae [[Special:WhatLinksHere/$2|ful leet]] is available.',
-'nolinkstoimage' => "Thaur's nae pages that link til this eemage.",
+'nolinkstoimage' => "Thaur's nae pages that airt til this eemage.",
 'morelinkstoimage' => 'See [[Special:WhatLinksHere/$1|mair links]] til this file.',
 'linkstoimage-redirect' => '$1 (file reguidal) $2',
 'duplicatesoffile' => 'The follaein {{PLURAL:$1|file is ae dupleecate|$1 files ar dupleecates}} o this file ([[Special:FileDuplicateSearch/$2|mair details]]):',
@@ -1818,10 +1817,15 @@ Input: contenttype/subtype, e.g. <code>image/jpeg</code>.',
 # List redirects
 'listredirects' => 'Leet o reguidals',
 
+# List duplicated files special page
+'listduplicatedfiles' => 'Leet o files wi dupleecates',
+'listduplicatedfiles-summary' => 'This is ae leet o files whaur the maist recynt version o the file is ae duplicate o the maist recynt version o some ither file. Yinlie local files ar conseederit.',
+'listduplicatedfiles-entry' => '[[:File:$1|$1]] haes [[$3|{{PLURAL:$2|ae dupleecate|$2 dupleecates}}]].',
+
 # Unused templates
 'unusedtemplates' => 'Templates that arena uised',
-'unusedtemplatestext' => "This page leets aw pages in the {{ns:template}} namespace that's naw incuidit in anither page. Mynd n check fer ither links til the templates afore delytin thaim.",
-'unusedtemplateswlh' => 'ither links',
+'unusedtemplatestext' => "This page leets aw pages in the {{ns:template}} namespace that's naw incuidit in anither page. Mynd n check fer ither airtins til the templates afore delytin thaim.",
+'unusedtemplateswlh' => 'ither airtins',
 
 # Random page
 'randompage' => 'Wale page allevolie',
@@ -1868,7 +1872,7 @@ Input: contenttype/subtype, e.g. <code>image/jpeg</code>.',
 
 'doubleredirects' => 'Dooble reguidals',
 'doubleredirectstext' => 'This page leets pages that reguide til ither reguidal pages.
-Ilka raw contains links til the first n seicont reguidals, n the tairget o the seicont reguidal ava, this is uisuallie the "real" tairget page whaur the first reguidal shid poynt.
+Ilka raw contains airtins til the first n seicont reguidals, n the tairget o the seicont reguidal ava, this is uisuallie the "real" tairget page whaur the first reguidal shid poynt.
 <del>Crossed oot</del> entries hae been solved.',
 'double-redirect-fixed-move' => '[[$1]] haes been muived.
 It nou reguides til [[$2]].',
@@ -1880,7 +1884,7 @@ It nou reguides til [[$2]].',
 'brokenredirects-edit' => 'eedit',
 'brokenredirects-delete' => 'delyte',
 
-'withoutinterwiki' => 'Pages athoot leid links',
+'withoutinterwiki' => 'Pages wioot leid airtins',
 'withoutinterwiki-summary' => 'The follaein pages dinan link til ither leid versions.',
 'withoutinterwiki-legend' => 'Prefix',
 'withoutinterwiki-submit' => 'Shaw',
@@ -1890,7 +1894,7 @@ It nou reguides til [[$2]].',
 # Miscellaneous special pages
 'nbytes' => '$1 {{PLURAL:$1|byte|bytes}}',
 'ncategories' => '$1 {{PLURAL:$1|category|categories}}',
-'nlinks' => '$1 {{PLURAL:$1|link|links}}',
+'nlinks' => '$1 {{PLURAL:$1|airtin|airtins}}',
 'nmembers' => '$1 {{PLURAL:$1|membir|membirs}}',
 'nmemberschanged' => '$1 → $2 {{PLURAL:$2|memmer|memmers}}',
 'nrevisions' => '$1 {{PLURAL:$1|reveesion|reveesions}}',
@@ -1970,7 +1974,7 @@ Please mynd that ither wab sites micht link til ae file wi ae direct URL, n sae
 'booksources' => 'Beuk sources',
 'booksources-search-legend' => 'Rake fer buik soorces',
 'booksources-go' => 'Gang',
-'booksources-text' => "Ablo is ae leet o links til ither sites that sell new n uised buiks, n mmicht hae further information aneat buiks that ye'r seekin ava:",
+'booksources-text' => "Ablo is ae leet o airtins til ither steids that sell new n uised buiks, n micht hae further information aneat buiks that ye'r seekin ava:",
 'booksources-invalid-isbn' => 'The gien ISBN disna seem tae be valid; check fer mistaks copiein fae the oreeginal soorce.',
 
 # Special:Log
@@ -2019,7 +2023,7 @@ See [[Special:WantedCategories|wanted categeries]] ava.',
 'sp-deletedcontributions-contribs' => 'contreebutions',
 
 # Special:LinkSearch
-'linksearch' => 'External links rake',
+'linksearch' => 'Ootby airtins rake',
 'linksearch-pat' => 'Rake pattern:',
 'linksearch-ns' => 'Namespace:',
 'linksearch-ok' => 'Rake',
@@ -2055,13 +2059,13 @@ There micht be [[{{MediaWiki:Listgrouprights-helppage}}|addeetional information]
 'listgrouprights-rights' => 'Richts',
 'listgrouprights-helppage' => 'Help:Groop richts',
 'listgrouprights-members' => '(leet o members)',
-'listgrouprights-addgroup' => 'Add {{PLURAL:$2|groop|groops}}: $1',
+'listgrouprights-addgroup' => 'Eik {{PLURAL:$2|groop|groops}}: $1',
 'listgrouprights-removegroup' => 'Remuiv {{PLURAL:$2|grop|groops}}: $1',
-'listgrouprights-addgroup-all' => 'Add aw groops',
+'listgrouprights-addgroup-all' => 'Eik aw groops',
 'listgrouprights-removegroup-all' => 'Remui aw groops',
-'listgrouprights-addgroup-self' => 'Add {{PLURAL:$2|groop|groops}} til yer accoont: $1',
+'listgrouprights-addgroup-self' => 'Eik {{PLURAL:$2|groop|groops}} til yer accoont: $1',
 'listgrouprights-removegroup-self' => 'Remuiv {{PLURAL:$2|groop|groops}} fae yer accoont: $1',
-'listgrouprights-addgroup-self-all' => 'Add aw groops til yer accoont',
+'listgrouprights-addgroup-self-all' => 'Eik aw groops til yer accoont',
 'listgrouprights-removegroup-self-all' => 'Remuiv aw groops fae yer accoont',
 
 # Email user
@@ -2108,7 +2112,7 @@ The wab-mail address that ye entered in [[Special:Preferences|yer uiser preefera
 'watchlistanontext' => 'Please $1 tae see or eedit eetems oan yer watchlet.',
 'watchnologin' => 'Nae loggit in',
 'watchnologintext' => 'Ye maun be [[Special:UserLogin|loggit in]] tae modify yer watchleet.',
-'addwatch' => 'Add til watchleet',
+'addwatch' => 'Eik til watchleet',
 'addedwatchtext' => 'The page "[[:$1]]" haes been added til yer [[Special:Watchlist|watchleet]].
 Futur chynges til this page n its associated tauk page will be leeted thaur.',
 'removewatch' => 'Remuiv fae watchleet',
@@ -2214,7 +2218,7 @@ Delytion o sic pages haes been restrictit tae stap accidental disruption o {{SIT
 'delete-warning-toobig' => 'This page haes ae muckle eedit histerie, ower $1 {{PLURAL:$1|reveesion|reveesions}}.
 Delytin it micht disrupt database operations o {{SITENAME}};
 proceed wi caution.',
-'deleting-backlinks-warning' => "'''Warnishment:''' [[Special:WhatLinksHere/{{FULLPAGENAME}}|Ither pages]] link til or transcluide the page ye'r aboot tae delyte.",
+'deleting-backlinks-warning' => "'''Warnishment:''' [[Special:WhatLinksHere/{{FULLPAGENAME}}|Ither pages]] airt til or transcluide the page ye'r aboot tae delyte.",
 
 # Rollback
 'rollback' => 'Row back edits',
@@ -2392,7 +2396,7 @@ The latest block log entrie is gien ablo fer referance:',
 'sp-contributions-submit' => 'Rake',
 
 # What links here
-'whatlinkshere' => 'Whit links here',
+'whatlinkshere' => 'Whit airts here',
 'whatlinkshere-title' => 'Pages that link til "$1"',
 'whatlinkshere-page' => 'Page:',
 'linkshere' => 'The follaein pages link til <strong>[[:$1]]</strong>:',
@@ -2400,13 +2404,13 @@ The latest block log entrie is gien ablo fer referance:',
 'nolinkshere-ns' => 'No pages aiet til <strong>[[:$1]]</strong> in the choosen namespace.',
 'isredirect' => 'reguidal page',
 'istemplate' => 'transclusion',
-'isimage' => 'file link',
+'isimage' => 'file airtin',
 'whatlinkshere-prev' => '{{PLURAL:$1|previous|previous $1}}',
 'whatlinkshere-next' => '{{PLURAL:$1|next|next $1}}',
-'whatlinkshere-links' => '← links',
+'whatlinkshere-links' => '← airtins',
 'whatlinkshere-hideredirs' => '$1 redirects',
 'whatlinkshere-hidetrans' => '$1 transclusions',
-'whatlinkshere-hidelinks' => '$1 links',
+'whatlinkshere-hidelinks' => '$1 airtins',
 'whatlinkshere-hideimages' => '$1 file airtins',
 'whatlinkshere-filters' => 'Filters',
 
@@ -2423,7 +2427,7 @@ The latest block log entrie is gien ablo fer referance:',
 'ipbreason-dropdown' => '*Commyn block raisons
 ** Insertin false information
 ** Remuivin content fae pages
-** Spammin links til external sites
+** Spammin airtins til ootby steids
 ** Insertin nonsense/gibberish intil pages
 ** Inteemidatin behavier/harassment
 ** Abuisin multiple accoonts
@@ -2551,7 +2555,7 @@ Tae lock or lowse the database, this needs tae be writable bi the wab server.',
 The auld title will become ae reguidal page til the new title.
 Ye can update reguidals that poynt til the oreeginal title autæmateeclie.
 Gif ye chuise na tae, be sair tae check fer [[Special:DoubleRedirects|dooble]] or [[Special:BrokenRedirects|broken reguidals]].
-Ye'r responsible fer makin sair that links continue tae poynt til whaur thay'r supposed to gae.
+Ye'r responsible fer makin sair that airtins continue tae poynt til whaur thay'r supposed to gae.
 
 Mynd that the page will <strong>na</strong> be muived gif thaur is awreadie ae page at the new title, onless the latter is ae reguidal n haes nae past eedit histerie.
 This means that ye can rename ae page back til whaur it wis renamed fae gif ye mak ae mistak, n ye canna owerwrite aen exeestin page.
@@ -2634,19 +2638,19 @@ Please chuise anither name.',
 
 # Export
 'export' => 'Export pages',
-'exporttext' => 'Ye can export the tex n eeditin histerie o ae parteecular page or set o pages wrapped in some XML.
+'exporttext' => 'Ye can export the tex n eeditin histerie o ae parteecular page or set o pages wrapt in some XML.
 This can be imported intil anither wiki uisin MediaWiki bi waa o the [[Special:Import|import page]].
 
-Tae export pages, enter the titles in the tex kist ablo, yin title per line, n select whether ye want the Nou reveesion  aw auld reveesions ava, wi the page histerie lines, or the Nou reveesion wi the info aneat the laist eedit.
+Tae export pages, enter the titles in the tex kist ablo, yin title per line, n select whather ye want the Nou reveesion  aw auld reveesions ava, wi the page histerie lines, or the Nou reveesion wi the info aneat the laist eedit.
 
-In the latter case ye can uise ae link ava, fer example [[{{#Special:Export}}/{{MediaWiki:Mainpage}}]] fer the page "[[{{MediaWiki:Mainpage}}]]".',
+In the latter case ye can uise aen airtin ava, fer example [[{{#Special:Export}}/{{MediaWiki:Mainpage}}]] fer the page "[[{{MediaWiki:Mainpage}}]]".',
 'exportall' => 'Export aw pages',
 'exportcuronly' => 'Inclæde juist the nou reveesion, naw the ful histerie',
 'exportnohistory' => '----
 <strong>Mynd:</strong> Exportin the ful histerie o pages throogh this form haes been disabled cause o performance raisons.',
 'exportlistauthors' => 'Incluid ae ful leet o contreebuters fer ilka page',
-'export-addcattext' => 'Add pages fae categerie:',
-'export-addnstext' => 'Add pages fae namespace:',
+'export-addcattext' => 'Eik pages fae categerie:',
+'export-addnstext' => 'Eik pages fae namespace:',
 'export-download' => 'Hain aes file',
 'export-templates' => 'Incluid templates',
 'export-pagelinks' => 'Incluid linkt pages til ae depth o:',
@@ -2766,7 +2770,7 @@ Ye can view its soorce',
 'tooltip-ca-delete' => 'Delyte this page',
 'tooltip-ca-undelete' => 'Restore the eedits dun oan this page afore it wis delytit',
 'tooltip-ca-move' => 'Muiv this page',
-'tooltip-ca-watch' => 'Add this page til yer watchleet',
+'tooltip-ca-watch' => 'Eik this page til yer watchleet',
 'tooltip-ca-unwatch' => 'Remove this page frum yer watchleet',
 'tooltip-search' => 'Rake {{SITENAME}}',
 'tooltip-search-go' => 'Gang til ae page wi this exact name gif exeests',
@@ -2804,7 +2808,7 @@ Ye can view its soorce',
 'tooltip-preview' => 'Luikower yer chynges, please uise this afore hainin!',
 'tooltip-diff' => 'Shaw the chynges that ye makit til the tex.',
 'tooltip-compareselectedversions' => 'See the differs atween the twa selectit versions o this page.',
-'tooltip-watch' => 'Add this page tae yer watchleet',
+'tooltip-watch' => 'Eik this page til yer watchleet',
 'tooltip-watchlistedit-normal-submit' => 'Remuiv titles',
 'tooltip-watchlistedit-raw-submit' => 'Update watchleet',
 'tooltip-recreate' => "Recræft the page even thoogh it's been delytit",
@@ -2957,12 +2961,12 @@ Bi executin it, yer system micht be compromised.',
 # Bad image list
 'bad_image_list' => 'The format is aes follaes:
 
-Ainlie leet items (lines stairtin wi *) ar considered. The foremaist link oan ae line maun be ae link til aen ill file. Oni subsequent links oan the same line ar considered tae be exceptions, i,e., pages whaur the eimage can occur inline.',
+Ainlie leet eetems (lines stairtin wi *) ar considered. The foremaist airtin oan ae line maun be aen airtin til aen ill file. Onie subsequent airtins oan the same line ar considered tae be exceptions, i,e., pages whaur the eemage can occur inline.',
 
 # Metadata
 'metadata' => 'Metadata',
-'metadata-help' => 'This file contains addeetional speirins, likelie added fae the deegital camera or scanner uised tae cræft or deegitize it. 
-Gif the file haes bin modified fae its oreeginal state, some details micht naw fullie reflect the modified file.',
+'metadata-help' => 'This file contains addeetional information, likelie eikit fae the deegital camera or scanner uised tae cræft or deegitise it. 
+Gif the file haes bin modeefied fae its oreeginal state, some details micht na fullie reflect the modeefied file.',
 'metadata-expand' => 'Shaw extendit details',
 'metadata-collapse' => 'Skauk extendit details',
 'metadata-fields' => "Eemage metadata fields leetit in this message will be incluidit oan eemage page displey whan the metadata buird is collaps't. Ithers will be skaukt bi defaut. 
@@ -3370,7 +3374,7 @@ Please confirm that ye reallie want tae recræft this page.',
 'confirm-purge-bottom' => 'Purgin ae page clears the cache n forces the maist recynt reveesion tae appear.',
 
 # action=watch/unwatch
-'confirm-watch-top' => 'Add this page til yer watchleet?',
+'confirm-watch-top' => 'Eik this page til yer watchleet?',
 'confirm-unwatch-top' => 'Remuiv this page fae yer watchleet?',
 
 # Multipage image navigation
@@ -3515,9 +3519,9 @@ Ye shid hae receeved [{{SERVER}}{{SCRIPTPATH}}/COPIEIN ae copie o the GNU Genera
 
 # External image whitelist
 'external_image_whitelist' => ' #Lea this line exactlie aes it is<pre>
-#Put regulair expression fragments (juist the pairt that gaes atween the //) ablo
-#Thir will be matched wi the URLs o external (hotlinked) eimages
-#Thae that match will be displeyed aes eimages, itherwise yinlie ae link til the eimage will be shawn
+#Put regulair expression fragments (jist the pairt that gaes atween the //) ablo
+#Thir will be matched wi the URLs o ootby (hotairtit) eemages
+#Thae that match will be displeyed aes eemages, itherwise yinlie aen airtin til the eemage will be shawn
 #Lines beginnin wi # ar treated aes comments
 #This is case-onsensiteeve
 
@@ -3608,8 +3612,8 @@ Ye shid hae receeved [{{SERVER}}{{SCRIPTPATH}}/COPIEIN ae copie o the GNU Genera
 'rightsnone' => '(nane)',
 
 # Feedback
-'feedback-bugornote' => 'Gif yer readie tae describe ae techneecal problem in detail please [$1 report ae bug].
-Itherwise, ye can uiss the easie form ablo. Yer comment will be added til the page "[$3 $2]", alang wi yer uisername.',
+'feedback-bugornote' => 'Gif yer readie tae describe ae techneecal proablem in detail please [$1 report ae bug].
+Itherwise, ye can uiss the easie form ablo. Yer comment will be eikit til the page "[$3 $2]", alang wi yer uisername.',
 'feedback-adding' => 'Addin feedback til page...',
 'feedback-error1' => 'Mistak: Onrecognised ootcome fae API',
 'feedback-error2' => 'Mistak: Eedit failed',
index 9726a71..b346500 100644 (file)
@@ -712,7 +712,6 @@ Cunsulthà lu [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAMEE}}}} rigi
 'revdelete-nooldid-title' => 'Versioni nò ippizzificadda',
 'revdelete-nooldid-text' => "No ài ippizzificaddu la o li versioni di la pàgina i' li quari eseguì chistha funzioni; pò assé chi nò esisthini.",
 'revdelete-show-file-submit' => 'Si',
-'revdelete-selected' => "'''{{PLURAL:$2|Versioni sciubaradda|Versioni sciubaraddi}} di [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Eventu di lu rigisthru sciubaraddu|Eventi di lu rigisthru sciubaraddi}}:'''",
 'revdelete-legend' => "Impustha li sighenti limitazioni i'li versioni canzilladdi:",
 'revdelete-hide-text' => 'Cua lu testhu di la versioni',
index b3949da..502c23e 100644 (file)
@@ -528,7 +528,6 @@ Informacion: (curt) = quiíxde vercion currentua,
 'rev-delundel' => 'cohuatlöx/cíiitám',
 'revisiondelete' => 'Delatom/diidelatom revición',
 'revdelete-nooldid-title' => 'Necoccebj aimde revicion',
-'revdelete-selected' => "'''{{PLURAL:$2|Revicion selectonde|Revición selectónde}} $1:'''",
 'revdelete-legend' => 'Xuniim restricción',
 'revdelete-hide-text' => 'Camaát textuade revicion',
 'revdelete-hide-image' => 'Cohuatlöx contentua ciúchan',
index 67311a5..6075e9c 100644 (file)
@@ -1145,7 +1145,6 @@ ili ta revizija ne postoji, ili pokušavate sakriti trenutnu reviziju.',
 'revdelete-no-file' => 'Navedena datoteka ne postoji.',
 'revdelete-show-file-confirm' => 'Da li ste sigurni da želite pogledati obrisanu reviziju datoteke "<nowiki>$1</nowiki>" od $2 u $3?',
 'revdelete-show-file-submit' => 'Da',
-'revdelete-selected' => "'''{{PLURAL:$2|Odabrana revizija|Odabrane revizije}} od [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Označena stavka registra|Označene stavke registra}}:'''",
 'revdelete-confirm' => 'Molimo potvrdite da namjeravate ovo učiniti, da razumijete posljedice i da to činite u skladu s [[{{MediaWiki:Policy-url}}|pravilima]].',
 'revdelete-suppress-text' => "Ograničenja bi trebala biti korištena '''samo''' u sljedećim slučajevima:
index 5e64413..971b68c 100644 (file)
@@ -1128,7 +1128,6 @@ $3 විසින් සපයා ඇති හේතුව ''$2'' වේ",
 'revdelete-no-file' => 'නිවේශිත ගොනුව නොපවතියි.',
 'revdelete-show-file-confirm' => '$2 දින $3 වේලාවේදී මකාදැමුනු "<nowiki>$1</nowiki>" ගොනුවෙහි සංශෝධනයක් නැරඹීමට ඔබ හට සහතික වශයෙන් ඇවැසිද?',
 'revdelete-show-file-submit' => 'ඔව්',
-'revdelete-selected' => "'''[[:$1]] හි {{PLURAL:$2|තෝරාගත් සංශෝධනය|තෝරාගත් සංශෝධනයන්}} :'''",
 'logdelete-selected' => "'''{{PLURAL:$1|තෝරාගත් ලඝු-සිදුවීම|තෝරාගත් ලඝු-සිදුවීම්}}:'''",
 'revdelete-confirm' => 'කරුණාකර ඔබ මෙය කිරීමට අදහස් කරන බවත්,එහි ප්‍රතිඵලය අවබෝධ කර ගන්නා බවත්,මෙය සිදු කරනුයේ [[{{MediaWiki:Policy-url}}| ප්‍රතිපත්තියට]] අනුකූලව බවත් තහවුරු කරන්න.',
 'revdelete-suppress-text' => "යටපත්කිරීම පහත අවස්ථාවන්හිදී  '''පමණක්''' භාවිතා කල යුතුය:
index 75f5ce3..5052287 100644 (file)
@@ -1232,7 +1232,6 @@ Ako správca si môžete tento rozdiel zobraziť; podrobnosti môžete nájsť v
 'revdelete-no-file' => 'Uvedený súbor neexistuje.',
 'revdelete-show-file-confirm' => 'Ste si istý, že chcete zobraziť zmazanú revíziu súboru „<nowiki>$1</nowiki>“ z $2 $3?',
 'revdelete-show-file-submit' => 'Áno',
-'revdelete-selected' => "'''{{PLURAL:$2|Vybraná jedna revízia|Vybrané $2 revízie|Vybraných $2 revízií}} z [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Vybraná udalosť záznamu|Vybrané udalosti záznamu}}:'''",
 'revdelete-confirm' => 'Prosím, potvrďte, že to naozaj chcete vykonať, rozumiete následkom a že to robíte v súlade s [[{{MediaWiki:Policy-url}}|politikou]].',
 'revdelete-suppress-text' => "Zatajenie by sa malo používať '''výlučne''' v nasledovných prípadoch:
index f670c63..d537356 100644 (file)
@@ -1160,7 +1160,6 @@ To redakcijo si lahko ogledate; podrobnosti lahko najdete v [{{fullurl:{{#Specia
 'revdelete-no-file' => 'Navedena datoteka ne obstaja.',
 'revdelete-show-file-confirm' => 'Ali ste prepričani da si želite ogledati izbrisano verzijo datoteke "<nowiki>$1</nowiki>" od $2 ob $3?',
 'revdelete-show-file-submit' => 'Da',
-'revdelete-selected' => "'''{{PLURAL:$2|Izbrana redakcija|Izbrani redakciji|Izbrane redakcije}} strani [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Izbran dnevniški dogodek|Izbrana dnevniška dogodka|Izbrani dnevniški dogodki}}:'''",
 'revdelete-text-text' => 'Izbrisane redakcije bodo še vedno prikazane v zgodovini strani, vendar bodo deli njihovih vsebin nedostopni javnosti.',
 'revdelete-text-file' => 'Izbrisane različice datoteke bodo še vedno prikazane v zgodovini datoteke, vendar bodo deli njihovih vsebin nedostopni javnosti.',
index 634634b..a6d6a0d 100644 (file)
@@ -659,7 +659,6 @@ Administratorn kinna se eensahn; Details stiehn eim [{{fullurl:{{#Special:Log}}/
 'revdelete-nooldid-text' => 'Du host entweder kenne Version oagegahn, uff de diese Aksjonn ausgefiehrt waan sull, de gewählte Version ies ne vorhanden oder du versichst, de aktuelle Version zu entferna.',
 'revdelete-no-file' => 'De oagegeahne Datei existiert ne.',
 'revdelete-show-file-submit' => 'Ju',
-'revdelete-selected' => "'''{{PLURAL:$2|Ausgewählte Version|Ausgewählte Versionen}} vu [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Ausgewählter Logbucheintrag|Ausgewählte Logbucheinträge}}:'''",
 'revdelete-legend' => 'Setza der Sichtbarkeits-Einschränkunga',
 'revdelete-hide-text' => 'Text dar Version verstecka',
index eb7a959..63e98a0 100644 (file)
@@ -1084,7 +1084,6 @@ Ju mund ta shikoni këtë ndryshim; detajet mund të gjenden te [{{fullurl:{{#Sp
 'revdelete-no-file' => 'Skeda e dhënë nuk ekziston.',
 'revdelete-show-file-confirm' => 'Jeni i/e sigurt se dëshironi të shikoni një version të grisur të skedës "<nowiki>$1</nowiki>" nga $2 tek $3?',
 'revdelete-show-file-submit' => 'Po',
-'revdelete-selected' => "'''{{PLURAL:$2|Versioni i zgjedhur i|Versionet e zgjedhura të}} [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Veprimi i zgjedhur në regjistër|Veprimet e zgjedhura në regjistër}}:'''",
 'revdelete-confirm' => 'Ju lutem konfirmoni që keni ndër mënd ta bëni këtë, që i kuptoni pasojat, dhe që ju po veproni në përputhje me [[{{MediaWiki:Policy-url}}|politiken]].',
 'revdelete-suppress-text' => "Shuarje duhet'''vetëm'''të përdoret për rastet e mëposhtme: 
index 4b3e87b..975f65f 100644 (file)
@@ -1347,7 +1347,6 @@ $2
 'revdelete-no-file' => 'Тражена датотека не постоји.',
 'revdelete-show-file-confirm' => 'Желите ли да видите обрисану измену датотеке „<nowiki>$1</nowiki>“ од $2; $3?',
 'revdelete-show-file-submit' => 'Да',
-'revdelete-selected' => "'''{{PLURAL:$2|Изабрана измена|Изабране измене}} странице [[:$1]]'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Изабрана ставка у историји|Изабране ставке у историји}}:'''",
 'revdelete-confirm' => 'Потврдите да намеравате ово урадити, да разумете последице и да то чините у складу с [[{{MediaWiki:Policy-url}}|правилима]].',
 'revdelete-suppress-text' => "Сакривање измена би требало користити '''само''' у следећим случајевима:
index f30eb87..8df5cea 100644 (file)
@@ -1223,7 +1223,6 @@ Ipak možete da vidite ovu razliku; više detalja možete naći u [{{fullurl:{{#
 'revdelete-no-file' => 'Tražena datoteka ne postoji.',
 'revdelete-show-file-confirm' => 'Želite li da vidite obrisanu izmenu datoteke „<nowiki>$1</nowiki>“ od $2; $3?',
 'revdelete-show-file-submit' => 'Da',
-'revdelete-selected' => "'''{{PLURAL:$2|Izabrana izmena|Izabrane izmene}} stranice [[:$1]]'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Izabrana stavka u istoriji|Izabrane stavke u istoriji}}:'''",
 'revdelete-confirm' => 'Potvrdite da nameravate ovo uraditi, da razumete posledice i da to činite u skladu s [[{{MediaWiki:Policy-url}}|pravilima]].',
 'revdelete-suppress-text' => "Sakrivanje izmena bi trebalo koristiti '''samo''' u sledećim slučajevima:
index 9b54756..811f604 100644 (file)
@@ -829,7 +829,6 @@ Du koast dissen Versionsunnerskeed bekiekje, wan du wolt. Details fiende sik in
 'revdelete-no-file' => 'Ju anroate Doatäi bestoant nit.',
 'revdelete-show-file-confirm' => 'Bäst du sicher, dät du ju läskede Version fon ju Doatäi „<nowiki>$1</nowiki>“ fon dän $2 uum $3 Uure bekiekje wolt?',
 'revdelete-show-file-submit' => 'Jee',
-'revdelete-selected' => "'''{{PLURAL:$2|Uutwäälde Version|Uutwäälde Versione}} fon [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Uutwäälden Logboukiendraach|Uutwäälde Logboukiendraage}}:'''",
 'revdelete-confirm' => 'Bestäätigje, dät du dit wuddelk dwo wolt, dät du do Konsequenze ferstoanst un dät in Uureenstimmenge mäd do [[{{MediaWiki:Policy-url}}|Gjuchtlienjen]] dääst.',
 'revdelete-suppress-text' => "Unnerdrukkengen skuulen '''bloot''' in do foulgjende Fälle foarnuumen waide:
index c1b56c2..eb1deef 100644 (file)
@@ -900,7 +900,6 @@ Salaku kuncen, mun perlu, anjeun bisa kénéh [$1 nempo bédana].",
 'revdelete-no-file' => 'Berkas anu ditujul teu kapanggih.',
 'revdelete-show-file-confirm' => 'Anjeun yakin rék nempo révisi anu geus dihapus dina koropak "<nowiki>$1</nowiki>" ti $2 nepi ka $3?',
 'revdelete-show-file-submit' => 'Enya',
-'revdelete-selected' => "'''{{PLURAL:$2|Révisi pilihan|Révisi pilihan}} pikeun '''$1''''''",
 'logdelete-selected' => "'''{{PLURAL:$1|pilihan keur log|pilihan keur log}}:'''",
 'revdelete-confirm' => 'Mangga geura konfirmasi yen Anjeun gaduh maksad pikeun ngalakukeun hal ieu, paham kana konsekwensina, tur nu dilakukeun ieu teh luyu sareng [[{{MediaWiki:Policy-url}}|kawijakanana]]',
 'revdelete-suppress-text' => "Nyumputkeun revisi '''ukur''' bisa digunakeun keur kasus-kasus di handap ieu:
index 4de2191..45b3e74 100644 (file)
@@ -1285,7 +1285,6 @@ eller så försöker du gömma den senaste versionen av sidan.',
 'revdelete-no-file' => 'Den specificerade filen finns inte.',
 'revdelete-show-file-confirm' => 'Är du säker på att du vill visa en raderad version av filen "<nowiki>$1</nowiki>" från den $2 klockan $3?',
 'revdelete-show-file-submit' => 'Ja',
-'revdelete-selected' => "'''{{PLURAL:$2|Vald version|Valda versioner}} av [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Vald loggåtgärd|Valda loggåtgärder}}:'''",
 'revdelete-text-text' => 'Raderade sidversioner kommer fortfarande synas i sidans historik, men delar av innehållet kommer inte att bli tillgängligt offentligt.',
 'revdelete-text-file' => 'Raderade filversioner kommer fortfarande synas i filens historik, men delar av innehållet kommer inte att bli tillgängligt offentligt.',
@@ -2155,6 +2154,11 @@ Kanske vill du redigera beskrivningen på dess [$2 filbeskrivningssida] där.',
 # List redirects
 'listredirects' => 'Lista över omdirigeringar',
 
+# List duplicated files special page
+'listduplicatedfiles' => 'Lista över filer med dubbletter',
+'listduplicatedfiles-summary' => 'Detta är en lista över filer där den senaste versionen av filen är en dubblett av den senaste versionen av någon annan fil. Endast lokala filer behandlas.',
+'listduplicatedfiles-entry' => '[[:File:$1|$1]] har [[$3|{{PLURAL:$2|en dubblett|$2 dubbletter}}]].',
+
 # Unused templates
 'unusedtemplates' => 'Oanvända mallar',
 'unusedtemplatestext' => 'Denna sida listar alla sidor i {{ns:template}}-namnrymden som inte inkluderas på någon annan sida.
index 0f03506..e7bb923 100644 (file)
@@ -974,7 +974,6 @@ Unaweza masasisho; maelezo mengine yapo kwenye [{{fullurl:{{#Special:Log}}/delet
 'revdelete-no-file' => 'Faili ulilotaja halipatikani.',
 'revdelete-show-file-confirm' => 'Ni kweli kwamba unataka kulitazama pitio lililofutwa la faili linaloitwa "<nowiki>$1</nowiki>" la tarehe $2 na saa $3?',
 'revdelete-show-file-submit' => 'Ndiyo',
-'revdelete-selected' => "'''{{PLURAL:$2|Pitio lililoteuliwa|Mapitio yaliyoteuliwa}} ya [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Tukio la kumbukumbu lililoteuliwa|Matukio ya kumbukumbu yaliyoteuliwa}}:'''",
 'revdelete-confirm' => 'Tafadhali uthibitishe kwamba unataka kufanya hivyo, pamoja na kwamba unaelewa matokeo yake, na unafanya hivyo kutokana na [[{{MediaWiki:Policy-url}}|sera yetu]].',
 'revdelete-suppress-text' => "Kuficha kunaruhisiwa '''tu''' wakati hizo:
index 38d85b5..402ad0b 100644 (file)
@@ -880,7 +880,6 @@ Powody wyćepańo idźe znejść we [{{fullurl:{{#Special:Log}}/suppress|page={{
 'revdelete-no-file' => 'Ńy mo tygo plika.',
 'revdelete-show-file-confirm' => 'Jeżeś echt pewny co chcesz uobejzdrzeć wyćepano wersyjo plika „<nowiki>$1</nowiki>” s $2 $3?',
 'revdelete-show-file-submit' => 'Ja',
-'revdelete-selected' => "'''{{PLURAL:$2|Wybrano wersyjo|Wybrane wersyje}} zajty [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Wybrane zdarzyńy ze rejeru|Wybrane zdarzyńa ze rejeru}}:'''",
 'revdelete-legend' => 'Naštaluj uograńičyńo lo wersyji:',
 'revdelete-hide-text' => 'Schrůń tekst wersyji',
index dc1338e..0f5d7fc 100644 (file)
@@ -971,7 +971,6 @@ $1 எனும் பயனரையோ வேறு [[{{MediaWiki:Grouppage-sy
 'revdelete-no-file' => 'தாங்கள் குறிப்பிட்ட கோப்புக்கள் இங்கில்லை.',
 'revdelete-show-file-confirm' => '"<nowiki>$1</nowiki>" கோப்பின் $2-தேதி,  $3-நேரத்தில் நீக்கப்பட்ட திருத்தத்தை தாங்கள் காணவேண்டுமா ?',
 'revdelete-show-file-submit' => 'ஆம்',
-'revdelete-selected' => "'''[[:$1]] பக்கத்தின் தெரிவுச் செய்யப்பட்ட {{PLURAL:$2|திருத்தம்|திருத்தங்கள்}}:'''",
 'logdelete-selected' => "'''தெரிவு செய்யப்பட்ட பதிகை {{PLURAL:$1|நிகழ்வு|நிகழ்வுகள்}}:'''",
 'revdelete-confirm' => 'நீங்கள் கண்டிப்பாக இதைச் செய்ய விரும்புகிறீர்கள் என்பதையும்,  இதன் விளைவுகளை புரிந்துகொண்டிருக்கின்றீர்கள் என்பதையும், மேலும் நீங்கள் [[{{MediaWiki:Policy-url}}|செயல் திட்டம்]] படி செய்கிறீர்கள் என்பதையும் உறுதிசெயுங்கள்.',
 'revdelete-suppress-text' => "ஒடுக்கப்படுவது கீழ்காணும் '''காரணங்களுக்காக''' மட்டுமே செய்யப்படும்.
index 7a6e429..8ad8bbf 100644 (file)
@@ -1098,7 +1098,6 @@ $3 ఇచ్చిన కారణం: ''$2''",
 'revdelete-no-file' => 'పేర్కొన్న ఫైలు ఉనికిలో లేదు.',
 'revdelete-show-file-confirm' => 'మీరు నిజంగానే "<nowiki>$1</nowiki>"  ఫైలు యొక్క $2 $3 నాటి తొలగించిన కూర్పుని చూడాలనుకుంటున్నారా?',
 'revdelete-show-file-submit' => 'అవును',
-'revdelete-selected' => '<strong>[[:$1]] యొక్క {{PLURAL:$2|ఎంచుకున్న కూర్పు|ఎంచుకున్న కూర్పులు}}:</strong>',
 'logdelete-selected' => '<strong>{{PLURAL:$1|ఎంచుకున్న చిట్టా ఘటన|ఎంచుకున్న చిట్టా ఘటనలు}}:</strong>',
 'revdelete-text-text' => 'తొలగించిన కూర్పులు పేజీ చరిత్రలో కనిపిస్తూనే ఉంటాయి. కానీ వాటి విషయసంగ్రహంలోని భాగాలు అందరికీ కనిపించవు.',
 'revdelete-text-file' => 'తొలగించిన ఫైలు కూర్పులు పేజీ చరిత్రలో కనిపిస్తూనే ఉంటాయి. కానీ వాటి విషయసంగ్రహంలోని భాగాలు అందరికీ కనిపించవు.',
index adeff6b..342b878 100644 (file)
@@ -754,7 +754,6 @@ $1',
 'revisiondelete' => 'Нусхаҳои ҳазф/эҳёӣ',
 'revdelete-nooldid-title' => 'Нусхаи мақсади номӯътабар',
 'revdelete-nooldid-text' => 'Шумо ин ё он нусхаи(ҳои) мақсадро барои иҷрои ин амал мушаххас накардаед, нусхаи мушаххасшуда вуҷуд надорад, ё  шумо дар ҳоли кӯшиши пинҳон кардани нусхаи кунуниаш ҳастед.',
-'revdelete-selected' => "'''{{PLURAL:$2|Нусхаи интихобшуда|Нусхаҳои интихобшуда}} аз [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Гузориши маврид интихобшуда|Гузориши мавориди интихобшуда}}:'''",
 'revdelete-legend' => 'Танзими маҳдудиятҳои падидорӣ',
 'revdelete-hide-text' => 'Пинҳон кардани нусхаи матн',
index 406b33e..92e30f4 100644 (file)
@@ -610,7 +610,6 @@ Sahifahoi çadidī aloqamandro metavoned [[Special:Search|dar viki]] çustuçū
 'revisiondelete' => 'Nusxahoi hazf/ehjoī',
 'revdelete-nooldid-title' => "Nusxai maqsadi nomū'tabar",
 'revdelete-nooldid-text' => 'Şumo in jo on nusxai(hoi) maqsadro baroi içroi in amal muşaxxas nakardaed, nusxai muşaxxasşuda vuçud nadorad, jo  şumo dar holi kūşişi pinhon kardani nusxai kununiaş hasted.',
-'revdelete-selected' => "'''{{PLURAL:$2|Nusxai intixobşuda|Nusxahoi intixobşuda}} az [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Guzorişi mavrid intixobşuda|Guzorişi mavoridi intixobşuda}}:'''",
 'revdelete-legend' => 'Tanzimi mahdudijathoi padidorī',
 'revdelete-hide-text' => 'Pinhon kardani nusxai matn',
index 40fc31c..3896611 100644 (file)
@@ -1127,7 +1127,6 @@ $2
 'revdelete-no-file' => 'ไม่มีไฟล์ที่ระบุ',
 'revdelete-show-file-confirm' => 'คุณแน่ใจที่จะดูรุ่นที่ถูกลบของไฟล์ "<nowiki>$1</nowiki>" เมื่อวันที่ $2 เวลา $3 หรือไม่',
 'revdelete-show-file-submit' => 'ใช่',
-'revdelete-selected' => "'''{{PLURAL:$2|รุ่นการปรับปรุงที่ถูกเลือก|รุ่นการปรับปรุงที่ถูกเลือก}}ของ [[:$1]] :'''",
 'logdelete-selected' => "'''{{PLURAL:$1|เหตุการณ์ปูมที่เลือก|เหตุการณ์ปูมที่เลือก}} :'''",
 'revdelete-text-text' => 'รุ่นที่ถูกลบจะยังปรากฏในประวัติหน้า แต่สาธารณะจะไม่สามารถเข้าถึงเนื้อหาบางส่วนได้',
 'revdelete-text-file' => 'รุ่นที่ถูกลบจะยังปรากฏในประวัติไฟล์ แต่สาธารณะจะไม่สามารถเข้าถึงเนื้อหาบางส่วนได้',
index ef1ba81..fcc1883 100644 (file)
@@ -817,7 +817,6 @@ Administrator hökmünde bu aratapawudy görüp bilersiňiz; [{{fullurl:{{#Speci
 'revdelete-no-file' => 'Görkezilen faýl ýok.',
 'revdelete-show-file-confirm' => '"<nowiki>$1</nowiki>" faýlynyň $3, $2 seneli öçürilen wersiýasyny görmek isleýäniňiz çynyňyzmy?',
 'revdelete-show-file-submit' => 'Hawa',
-'revdelete-selected' => "'''[[:$1]] sahypasynyň {{PLURAL:$2|saýlanylan wersiýasy|saýlanylan wersiýalary}}:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Saýlanylan gündelik wakasy|Saýlanylan gündelik wakalary}}:'''",
 'revdelete-confirm' => 'Şu işi anyk isleýändigiňizi, ýagny onuň netijelerine düşünýändiňizi we [[{{MediaWiki:Policy-url}}|kadalar boýunça]] amala aşyrýandygyňyzy tassyklamagyňyzy haýyş edýäris.',
 'revdelete-suppress-text' => "Gizlemeklik '''diňe''' aşakdaky ýagdaýlarda ulanylmalydyr:
index c63bd5b..4088253 100644 (file)
@@ -478,6 +478,8 @@ Matatagpuan ang isang tala ng mga tamang natatanging pahina sa [[Special:Special
 'databaseerror' => 'Kamalian sa kalipunan ng datos',
 'databaseerror-text' => 'Mayroong kamalian sa pagtanong o pag-query sa database.
 Maaring ipinapahiwatig nito ang depekto o bug sa software.',
+'databaseerror-textcl' => 'May nangyaring depekto sa pag-query ng database.',
+'databaseerror-error' => 'Depekto: $1',
 'laggedslavemode' => "'''Babala:''' Maaaring hindi naglalaman ang pahina ng mga huling dagdag.",
 'readonly' => 'Nakakandado ang kalipunan ng datos',
 'enterlockreason' => 'Maglagay ng dahilan sa pagkakandado, kasama ang taya kung kailan magtatapos ang pagkakandado',
@@ -511,6 +513,7 @@ Maaaring ibinura na ito ng iba.',
 'cannotdelete-title' => 'Hindi maibura ang pahinang "$1"',
 'delete-hook-aborted' => 'Pinigil ng sungkit ang pagbura.
 Walang ibinigay na paliwanag.',
+'no-null-revision' => 'Hindi makalikha ng bagong "null" para sa pahina na "$1"',
 'badtitle' => 'Hindi kanais-nais na pamagat',
 'badtitletext' => 'Ang hiniling na pamagat ng pahina ay hindi katanggap-tanggap, wala, o isang may-maling kawing na pamagat na pangugnayang-wika (interwika) o pangugnayang wiki (interwiki).
 Maaaring naglalaman ito ng isa o higit pang mga panitik (karakter) na hindi maaaring gamitin para sa mga pamagat.',
@@ -523,10 +526,11 @@ Ang mga dato dito ay hindi pa masasariwa sa kasalukuyan.',
 'actionthrottled' => 'Hinadlangan ang gawain',
 'actionthrottledtext' => "Bilang paraang panglaban sa ''spam'', pinigalan kang magawa ang galaw na ito nang maraming ulit sa loob ng maikling panahon, at lumabis ka na sa limitasyong ito.
 Pakisubok na lang ulit pagkaraan ng kaunting mga minuto.",
-'protectedpagetext' => 'Kinandado ang pahinang ito upang mahadlangang ang pagbago.',
+'protectedpagetext' => 'Kinandado ang pahinang ito upang mahadlangang ang pagbago o ibang aksyon.',
 'viewsourcetext' => 'Maaari mong tingnan at kopyahin ang pinagmulan ng pahinang ito:',
 'viewyourtext' => "Matitingnan at makukopya mo ang pinagmulan ng '''mga pagbabago''' papunta sa pahinang ito:",
-'protectedinterface' => "Nagbibigay ang pahinang ito ng tekstong panghangganan (''interface'') para sa sopwer, at ikinandado para maiwasan ang pangaabuso.",
+'protectedinterface' => 'Nagbibigay ang pahinang ito ng tekstong interface para sa software, at ikinandado para maiwasan ang pangaabuso.
+Upang dagdagan o baguhin ang mga salin para sa lahat ng mga wiki, pakigamit ang [//translatewiki.net/ translatewiki.net], ang proyekto para sa lokalisasyon ng MediaWiki.',
 'editinginterface' => "'''Babala:''' Binabago mo ang isang pahinang ginagamit sa pagbibigay ng tekstong panghangganan para sa sopwer.
 Makaaapekto ang mga pagbago sa pahinang ito sa anyo ng hangganang (''interface'') pantagagamit na para sa ibang mga tagagamit sa wiking ito.
 Upang magdagag o magbago ng mga salinwika, isaaalang-alang na lang po ang paggamit ng [//translatewiki.net/wiki/Main_Page?setlang=en translatewiki.net], ang proyekto para sa lokalisasyon ng MediaWiki.",
@@ -537,6 +541,8 @@ $2',
 'customjsprotected' => 'Wala kang pahintulot na baguhin ang pahina ng JavaScript na ito, dahil naglalaman ito ng mga katakdaang pansarili ng ibang tagagamit.',
 'mycustomcssprotected' => 'Wala kang pahintulot na baguhin itong pahinang CSS.',
 'mycustomjsprotected' => 'Wala kang pahintulot na baguhin itong pahinang JavaScript.',
+'myprivateinfoprotected' => 'Wala kang pahintulot na baguhin ang iyong pribadong impormasyon.',
+'mypreferencesprotected' => 'Wala kang pahintulot na baguhin ang iyong mga kagustuhan.',
 'ns-specialprotected' => 'Hindi pwedeng baguhin ang mga natatanging pahina.',
 'titleprotected' => "Nakasanggalang ang pamagat na ito mula sa paglikha ni [[User:$1|$1]].
 Ang ibinigay na dahilan ay ''$2''.",
@@ -546,7 +552,8 @@ Ang tagapangasiwang nagkandado nito ay nag-alok ng ganitong paliwanag: "$3".',
 'invalidtitle-knownnamespace' => 'Hindi katanggap-tanggap na pamagat na may puwang na pampangalang "$2" at tekstong "$3"',
 'invalidtitle-unknownnamespace' => 'Hindi katanggap-tanggap na pamagat na mayroong hindi nalalamang bilang na pampuwang ng pangalan na $1 at tekstong "$2"',
 'exception-nologin' => 'Hindi nakalagda',
-'exception-nologin-text' => 'Ang pahina o kilos na ito ay nangangailangan ng paglagda mo sa wiking ito.',
+'exception-nologin-text' => '[[Natatangi:Paglagda_ng_tagagamit|Mag-login]] upang ma-access ang aksyon o pahinang ito.',
+'exception-nologin-text-manual' => '$1 upang ma-access ang pahina o aksyong ito.',
 
 # Virus scanner
 'virus-badscanner' => "Masamang kompigurasyon: hindi kilalang tagahagilap (iskaner) ng birus: ''$1''",
@@ -554,29 +561,28 @@ Ang tagapangasiwang nagkandado nito ay nag-alok ng ganitong paliwanag: "$3".',
 'virus-unknownscanner' => 'hindi kilalang panlaban sa birus:',
 
 # Login and logout pages
-'logouttext' => "'''Nakaalis ka na sa pagkakalagda.'''
+'logouttext' => '<strong>Nakaalis ka na sa pagkaka-login.</strong>
 
-Maaari kang tumuloy sa paggamit ng {{SITENAME}} nang hindi nakikilala (anonimo), o maaaring kang <span class='plainlinks'>[$1 lumagda/tumala muli]</span> bilang kapareho o ibang tagagamit.
-Tandaan na may ilang pahinang maaaring magpatuloy na nagpapakitang parang nakalagda ka pa rin, hanggang sa linisin mo ang iyong baunang pambasa-basa (''browser cache'').",
+Tandaan na may ilang mga pahina na patuloy na nagpapakita na parang hindi ka naka-login, hanggang alisin mo ang iyong <i>browser cache</i>.',
 'welcomeuser' => 'Mabuhay, $1!',
 'welcomecreation-msg' => 'Nilikha na ang iyong kuwenta.
 Huwag kalimutang baguhin ang iyong [[Special:Preferences|mga kagustuhan sa {{SITENAME}}]].',
 'yourname' => 'Bansag:',
-'userlogin-yourname' => 'Pangngalan',
+'userlogin-yourname' => 'Pangalan',
 'userlogin-yourname-ph' => 'Ilagay ang iyong Pangalan',
 'createacct-another-username-ph' => 'Ilagay ang Pangalan',
-'yourpassword' => 'Hudyat:',
-'userlogin-yourpassword' => 'Hudyat',
-'userlogin-yourpassword-ph' => 'Ipasok ang iyong hudyat',
+'yourpassword' => 'Password:',
+'userlogin-yourpassword' => 'Password',
+'userlogin-yourpassword-ph' => 'Ipasok ang iyong password',
 'createacct-yourpassword-ph' => 'Ilagay ang hudyat (password)',
-'yourpasswordagain' => 'Hudyat mo uli:',
+'yourpasswordagain' => 'Password mo uli:',
 'createacct-yourpasswordagain' => 'Tiyakin ang hudyat',
 'createacct-yourpasswordagain-ph' => 'Muling ilagay ang hudyat (password)',
 'remembermypassword' => 'Tandaan ang paglagda ko sa kompyuter na ito (pinakamarami na ang $1 {{PLURAL:$1|araw|mga araw}})',
-'userlogin-remembermypassword' => 'Panatilihin akong nakalagda',
+'userlogin-remembermypassword' => 'Panatilihin akong naka-login',
 'userlogin-signwithsecure' => 'Gumamit ng ligtas na koneksyon',
 'yourdomainname' => 'Dominyo mo:',
-'password-change-forbidden' => 'Hindi mo maaaring palitan ang mga hudyat sa wiking ito.',
+'password-change-forbidden' => 'Hindi mo maaaring palitan ang mga password sa wiking ito.',
 'externaldberror' => 'Maaaring may kamalian sa pagpapatotoo ng kalipunan ng mga dato o kaya hindi ka pinahintulutang isapanahon ng iyong panlabas na kuwenta o patnugutan.',
 'login' => 'Lumagda',
 'nav-login-createaccount' => 'Lumagda / lumikha ng kuwenta',
@@ -586,27 +592,38 @@ Huwag kalimutang baguhin ang iyong [[Special:Preferences|mga kagustuhan sa {{SIT
 'logout' => 'Umalis sa pagkakalagda',
 'userlogout' => 'Umalis sa pagkakalagda',
 'notloggedin' => 'Hindi nakalagda',
-'userlogin-noaccount' => 'Wala ka pa bang kuwenta?',
+'userlogin-noaccount' => 'Wala ka pa bang akawnt?',
 'userlogin-joinproject' => 'Sumali sa {{SITENAME}}',
 'nologin' => 'Wala ka pang kuwenta? $1.',
 'nologinlink' => 'Lumikha ng kuwenta',
 'createaccount' => 'Lumikha ng akawnt',
 'gotaccount' => 'May kuwenta ka na ba? $1.',
 'gotaccountlink' => 'Lumagda',
-'userlogin-resetlink' => 'Nakalimutan mo ang iyong mga detalyeng panglagda?',
-'userlogin-resetpassword-link' => 'Nakalimutan ba ang iyong hudyat (password)?',
+'userlogin-resetlink' => 'Nakalimutan mo ang iyong mga detalyeng pang-login?',
+'userlogin-resetpassword-link' => 'Nakalimutan ba ang iyong password?',
+'userlogin-helplink2' => 'Tulong sa pag-login',
+'userlogin-loggedin' => 'Naka-login ka na bilang {{GENDER:$1|$1}}. Gamitin ang form sa ibaba upang maka-login bilang ibang tagagamit o user.',
 'userlogin-createanother' => 'Lumikha ng iba pang akawnt',
 'createacct-join' => 'Ilagay ang iyong impormasyon sa ibaba.',
 'createacct-another-join' => 'Ilagay ang impormasyon ng bagong akawnt sa ibaba.',
 'createacct-emailrequired' => 'Direksiyong e-liham:',
-'createaccountmail' => 'Gumamit ng pansamantalang walang-piling hudyat at ipadala ito sa direksiyong e-liham na nakasaad sa ibaba',
+'createacct-emailoptional' => 'Email (hindi kailangan)',
+'createacct-email-ph' => 'Ipasok ang iyong email address',
+'createacct-another-email-ph' => 'Ipasok ang email address',
+'createaccountmail' => 'Gumamit ng pansamantalang random na password at ipadala ito sa email na nakasaad sa ibaba',
 'createacct-realname' => 'Tunay na pangalan (maaaring wala)',
 'createaccountreason' => 'Dahilan:',
 'createacct-reason' => 'Dahilan',
 'createacct-reason-ph' => 'Bakit ka gagawa ng isa pang akawnt?',
+'createacct-captcha' => 'Siyasatin ang seguridad',
 'createacct-imgcaptcha-ph' => 'Ilagay ang tekstong makikita sa itaas.',
+'createacct-submit' => 'Likhain ang iyong akawnt',
+'createacct-another-submit' => 'Lumikha ng ibang akawnt',
 'createacct-benefit-heading' => '{{SITENAME}} ay nilikha ng mga taong iyong katulad.',
-'badretype' => 'Hindi magkatugma ang ipinasok mong mga hudyat.',
+'createacct-benefit-body1' => '{{PLURAL:$1|pagbabago|mga pagbabago}}',
+'createacct-benefit-body2' => '{{PLURAL:$1|pahina|mga pahina}}',
+'createacct-benefit-body3' => 'kamakailang {{PLURAL:$1|nag-ambag|mga nag-ambag}}',
+'badretype' => 'Hindi magkatugma ang ipinasok mong mga password.',
 'userexists' => 'May gumagamit na ng ipinasok na bansag.
 Pumili po ng ibang pangalan.',
 'loginerror' => 'Kamalian sa paglagda',
@@ -632,15 +649,15 @@ Suriin ang iyong pagbabaybay, o [[Special:UserLogin/signup|lumikha ng bagong kuw
 Pakitingnan ang iyong pagbabaybay.',
 'nouserspecified' => 'Kailangang tukuyin mo ang isang pangalang pantagagamit.',
 'login-userblocked' => 'Hinarang ang tagagamit na ito.  Hindi pinahihintulutan ang paglalagda.',
-'wrongpassword' => 'Mali ang ipinasok na hudyat.
+'wrongpassword' => 'Mali ang ipinasok na password.
 Pakisubok muli.',
-'wrongpasswordempty' => 'Walang laman ang ipinasok na hudyat.
+'wrongpasswordempty' => 'Walang laman ang ipinasok na password.
 Pakisubok muli.',
 'passwordtooshort' => 'Ang mga hudyat ay dapat mayroong {{PLURAL:$1|1 panitik|$1 panitik}} (karakter).',
-'password-name-match' => 'Dapat magkaiba ang hudyat mo sa bansag mo.',
-'password-login-forbidden' => 'Ipinagbabawal ang paggamit ng ganitong pangalan ng tagagamit at hudyat.',
-'mailmypassword' => 'Baguhin ang hudyat',
-'passwordremindertitle' => 'Bagong pansamantalang hudyat para sa {{SITENAME}}',
+'password-name-match' => 'Dapat magkaiba ang password mo sa bansag o username mo.',
+'password-login-forbidden' => 'Ipinagbabawal ang paggamit ng ganitong pangalan ng tagagamit at password.',
+'mailmypassword' => 'Baguhin ang password',
+'passwordremindertitle' => 'Bagong pansamantalang password para sa {{SITENAME}}',
 'passwordremindertext' => 'Mayroong (na maaaring ikaw, mula sa adres ng IP na $1) humiling ng isang bagong
 hudyat para sa {{SITENAME}} ($4). Isang pansamantalang hudyat ang nilikha
 para sa tagagamit na "$2" at itinakda sa "$3".  Kung ito ang iyong pakay,
@@ -655,16 +672,16 @@ magpatuloy sa paggamit ng iyong lumang hudyat.',
 'passwordsent' => 'Isang bagong hudyat ang ipinadala sa adres ng e-liham na nakatala para kay "$1".
 Lumagda/Tumala lang po muli pagkaraan mong matanggap ito.',
 'blocked-mailpassword' => 'Hinarangan sa paggawa ng mga pagbabago ang iyong adres ng IP, at kaya hindi rin pinapahintulutang gumamit ng tungkuling makabawi ng hudyat para maiwasan ang pangaabuso.',
-'eauthentsent' => 'Nagpadala ng isang e-liham na pangkompirmasyon doon sa iniharap na direksiyong e-liham.
-Bago magpadala ng iba pang e-liham sa kuwenta, kailangan mong sundin ang mga tagubiling nasa loob ng e-liham, para mapatunayang iyo talaga ang kuwenta.',
-'throttled-mailpassword' => 'Nagpadala na ng isang paalalang panghudyat, nitong huling {{PLURAL:$1|oras|$1 oras}}.
-Para maiwasin ang pangaabuso, isang paalalang panghudyat lang ang ipapadala bawat {{PLURAL:$1|oras|$1 oras}}.',
+'eauthentsent' => 'Nagpadala ng isang email na pangkompirmasyon doon sa tinukoy na email address.
+Bago magpadala ng iba email sa akawnt, kailangan mong sundin ang mga tagubiling nasa loob ng email, para mapatunayang iyo talaga ang akawnt.',
+'throttled-mailpassword' => 'Nagpadala na ng isang paalalang pang-password, nitong huling {{PLURAL:$1|oras|$1 oras}}.
+Para maiwasin ang pangaabuso, isang paalalang pang-password lamang ang ipapadala bawat {{PLURAL:$1|oras|$1 oras}}.',
 'mailerror' => 'Kamalian sa pagpapadala ng liham: $1',
 'acct_creation_throttle_hit' => 'Ang mga panauhin sa wiking ito na gumagamit ng direksiyong IP mo ay nakalikha na ng {{PLURAL:$1|1 kuwenta|$1 kuwenta}} sa loob ng huling araw, na siyang pinakamataas na pinapahintulutan sa loob ng sakop ng panahong ito.
 Bilang kinalabasan, ang mga panauhing gumagamit ng ganitong direksiyong IP ay hindi na muna makakalikha ng anumang karagdagang kuwenta sa ngayon.',
-'emailauthenticated' => 'Napatunayan na ang iyong direksiyong e-liham sa $2 noong $3.',
-'emailnotauthenticated' => 'Hindi pa napapatunayan ang iyong direksiyong e-liham.
-Walang e-liham na ipapadala para sa anumang sumusunod na tampok na kasangkapang-katangian.',
+'emailauthenticated' => 'Napatunayan na ang iyong email address sa $2 noong $3.',
+'emailnotauthenticated' => 'Hindi pa napapatunayan ang iyong email address.
+Walang email na ipapadala para sa anumang sumusunod na mga tampok o features.',
 'noemailprefs' => 'Tumukoy ng isang direksiyong e-liham sa loob ng mga nais mo upang gumana ang mga kasangkapang-katangiang ito.',
 'emailconfirmlink' => 'Pakikompirma ang iyong direksiyong e-liham.',
 'invalidemailaddress' => 'Hindi matatanggap ang direksiyong e-liham na ito dahil tila mayroon itong maling anyo.
@@ -679,56 +696,71 @@ Dapat kang tumala at baguhin ang hudyat mo ngayon.
 
 Maaari mong huwag pansinin ang mensaheng ito, kung mali ang paglikha ng kuwentang ito.',
 'usernamehasherror' => 'Hindi maaaring maglaman ng mga panitik na pantadtad ang pangalan ng tagagamit',
-'login-throttled' => 'Masyadong marami ang ginawa mong kamakailan lang na mga pagsubok sa paglagdang papasok.
-Maghintay po muna bago subukan uli.',
+'login-throttled' => 'Masyadong madami ang kamakailan lamang mong pagsubok sa pag-login.
+Maghintay po muna ng $1 bago subukan uli.',
 'login-abort-generic' => 'Bigo ang paglagda mo - Pinigil',
 'loginlanguagelabel' => 'Wika: $1',
 'suspicious-userlogout' => "Tinanggihan ang inyong kahilingang umalis sa pagkalagda dahil tila ito ay ipinadala ng sirang pambasa-basa o apoderadong pambaon (''caching proxy'')",
+'createacct-another-realname-tip' => 'Hindi kinakailangan ang tunay na pangalan.
+Kung nais mo na ibigay ito, gagamitin ito para sa pagbibigay ng atribusyon para sa kanilang gawa.',
+'pt-login' => 'Mag-login',
+'pt-login-button' => 'Mag-login',
 'pt-createaccount' => 'Lumikha ng akawnt',
 'pt-userlogout' => 'Umalis sa pagkakatala',
 
 # Email sending
 'php-mail-error-unknown' => 'Hindi malamang kamalian sa tungkulin ng liham ng PHP ()',
 'user-mail-no-addy' => 'Sinubukang magpadala ng e-liham na walang tirahan na para sa e-liham.',
+'user-mail-no-body' => 'Sinubukan na magpadala ng email na walang laman o maikling laman.',
 
 # Change password dialog
-'changepassword' => 'Baguhin ang hudyat',
+'changepassword' => 'Baguhin ang password',
 'resetpass_announce' => 'Para sa ganap na pagtala, magtalaga ng panibagong password.',
 'resetpass_text' => '<!-- Magdagdag ng teksto rito -->',
-'resetpass_header' => 'Baguhin ang hudyat ng kuwenta',
-'oldpassword' => 'Lumang hudyat:',
-'newpassword' => 'Bagong hudyat:',
-'retypenew' => 'Ipasok muli ang bagong hudyat:',
-'resetpass_submit' => 'Itakda ang hudyat at lumagda',
-'changepassword-success' => 'Matagumpay na nabago ang iyong hudyat!  Inilalagda ka na ngayon...',
-'resetpass_forbidden' => 'Hindi mababago ang mga hudyat',
+'resetpass_header' => 'Baguhin ang password ng akawnt',
+'oldpassword' => 'Lumang password:',
+'newpassword' => 'Bagong password:',
+'retypenew' => 'Ipasok muli ang bagong password:',
+'resetpass_submit' => 'Itakda ang password at mag-login',
+'changepassword-success' => 'Matagumpay na nabago ang iyong password!',
+'changepassword-throttled' => 'Masyadong madami ang kamakailan lamang mong pagsubok sa pag-login.
+Maghintay po muna ng $1 bago subukan uli.',
+'resetpass_forbidden' => 'Hindi mababago ang mga password',
 'resetpass-no-info' => 'Nakalagda ka dapat para tuwirang mapuntahan ang pahina ito.',
-'resetpass-submit-loggedin' => 'Baguhin ang hudyat',
+'resetpass-submit-loggedin' => 'Baguhin ang password',
 'resetpass-submit-cancel' => 'Kanselahin',
-'resetpass-wrong-oldpass' => 'Hindi tanggap na pansamantala o pangkasalukuyang hudyat.
-Maaaring matagumpay mo nang nabago ang iyong hudyat o nakahiling na ng isang bagong pansamantalang hudyat.',
+'resetpass-wrong-oldpass' => 'Hindi balido na pansamantala o pangkasalukuyang password.
+Maaaring matagumpay mo nang nabago ang iyong password o nakahiling na ng isang bagong pansamantalang password.',
 'resetpass-recycled' => 'Ireset ang iyong password sa pamamagitan ng paggamit ng iba pa maliban sa iyong ginagamit sa kasalukuyan.',
 'resetpass-temp-emailed' => 'Nakapagtala sa pamamagitan ng pansamantalang email code.
 Para sa ganap na pagtatala, magtakda ng panibagong password dito:',
-'resetpass-temp-password' => 'Pansamantalang hudyat:',
-'resetpass-expired-soft' => 'Napaso na ang iyong password at kailangan ireset. Pumili ng bagong password o iklik ang cancel upang i-reset sa ibang pagkakataon.',
+'resetpass-temp-password' => 'Pansamantalang password:',
+'resetpass-abort-generic' => 'Inuurong sa pamamagitan ng isan extensyon ang pagpalit ng password.',
+'resetpass-expired' => 'Paso na ang iyong password. Pakipalit ng bagong password upang maka-login.',
+'resetpass-expired-soft' => 'Napaso na ang iyong password at kailangan i-reset. Pumili ng bagong password o i-klik ang "{{int:resetpass-submit-cancel}}" upang i-reset sa ibang pagkakataon.',
+'resetpass-validity-soft' => 'Hindi matanggap ang iyong password: $1
+
+Pumili ng bagong password ngayon, o i-klik ang "{{int:resetpass-submit-cancel}}" para i-reset ito sa ibang pagkakataon.',
 
 # Special:PasswordReset
-'passwordreset' => 'Muling pagtatakda ng hudyat',
-'passwordreset-legend' => 'Itakdang muli ang hudyat',
+'passwordreset' => 'Muling pagtatakda ng password',
+'passwordreset-text-one' => 'Ikumpleto ang form na ito upang makatanggap ng pansamantalang password sa pamamagitan ng email.',
+'passwordreset-text-many' => '{{PLURAL:$1|Ipasok sa isa sa mga field upang makatanggap ng isang pansamantalang password sa pamamagitan ng email.}}',
+'passwordreset-legend' => 'Itakdang muli ang password',
 'passwordreset-disabled' => 'Hindi pinagagana sa wiking ito ang muling mga pagtatakda ng hudyat.',
+'passwordreset-emaildisabled' => 'Hindi pinagana ang email features sa wiking ito.',
 'passwordreset-username' => 'Pangalan ng tagagamit:',
 'passwordreset-domain' => 'Nasasakupan:',
 'passwordreset-capture' => 'Tingnan ang lumabas na e-liham?',
 'passwordreset-capture-help' => 'Kapag tsetsekan mo ang kahong ito, ang e-liham (may pansamantalang hudyat) ay ipapakita sa iyo at ipapadala rin sa tagagamit.',
 'passwordreset-email' => 'Direksiyong e-liham:',
 'passwordreset-emailtitle' => 'Mga detalye ng kuwenta sa {{SITENAME}}',
-'passwordreset-emailtext-ip' => 'Isang tao (marahil ay ikaw, mula sa direksiyong IP na $1) ang humiling ng isang paalala sa iyong mga detalye ng kuwenta para sa {{SITENAME}} ($4). Ang sumusunod na {{PLURAL:$3|kuwenta ng tagagamit ay|mga kuwenta ng tagagamit ay}} may kaugnayan sa direksiyong e-liham na ito:
+'passwordreset-emailtext-ip' => 'Isang tao (marahil ay ikaw, mula sa IP address na $1) ang humiling ng isang paalala sa iyong mga detalye ng kuwenta para sa {{SITENAME}} ($4). Ang sumusunod na {{PLURAL:$3|akawant ng tagagamit ay|mga akawnt ng tagagamit ay}} may kaugnayan sa email address na ito:
 
 $2
 
-{{PLURAL:$3|Ang pansamantalang hudyat na ito|Ang mga pansamantalang hudyat na ito}} ay mawawalan ng bisa sa loob ng {{PLURAL:$5|isang araw|$5 mga araw}}.
-Dapat kang lumagda at pumili ng isang bagong hudyat ngayon. Kung ibang tao ang gumawa ng kahilingang ito, o kung naalala mo na ang orihinal mong hudyat, at hindi mo na nais palitan ito, maaari mong huwag nang pansinin ang mensaheng ito at magpatuloy sa paggamit ng luma mong hudyat.',
+{{PLURAL:$3|Ang pansamantalang hudyat na ito|Ang mga pansamantalang hudyat na ito}} ay mawawalan ng bisa sa loob ng {{PLURAL:$5|isang araw|$5 araw}}.
+Dapat kang mag-login at pumili ng isang bagong password ngayon. Kung ibang tao ang gumawa ng kahilingang ito, o kung naalala mo na ang orihinal mong password, at hindi mo na nais palitan ito, maaari mong huwag nang pansinin ang mensaheng ito at magpatuloy sa paggamit ng luma mong password.',
 'passwordreset-emailtext-user' => 'Ang tagagamit na si $1 sa {{SITENAME}} ay humiling ng isang paalala ng iyong mga akawnt ng detalye para sa {{SITENAME}}
 ($4). Ang sumusunod na pangtagagamit na {{PLURAL:$3|akawnt ay|mga akawnt ay}} may kaugnayan sa tirahang ito ng e-liham:
 
@@ -737,7 +769,7 @@ $2
 {{PLURAL:$3|Ang pansamantalang hudyat na ito|Ang pansamantalang mga hudyat na ito}} mawawalan ng bias sa loob ng {{PLURAL:$5|isang araw|$5 mga araw}}.
 Dapat kang lumagda at pumili ng isang hudyat ngayon. Kung ibang tao ang gumawa ng kahilingang ito, o kung naalala mo na ang iyong orihinal na hudyat, at hindi mo na nais palitan pa ito, maaari mong huwag nang pansinin ang mensaheng ito at magpatuloy sa paggamit ng iyong lumang hudyat.',
 'passwordreset-emailelement' => 'Pangalan ng tagagamit: $1
-Pansamantalang hudyat: $2',
+Pansamantalang password: $2',
 'passwordreset-emailsent' => 'Naipadala na ang isang e-liham na pampaalala.',
 'passwordreset-emailsent-capture' => 'Naipadala na ang isang e-liham na paalala, na ipinapakita sa ibaba.',
 'passwordreset-emailerror-capture' => 'Nalikha na ang isang e-liham na paalala, na ipinapakita sa ibaba, subalit nabigo ang pagpapadala sa tagagamit: $1',
@@ -750,8 +782,14 @@ Pansamantalang hudyat: $2',
 'changeemail-oldemail' => 'Kasalukuyang direksiyong e-liham:',
 'changeemail-newemail' => 'Bagong direksiyong e-liham:',
 'changeemail-none' => '(wala)',
+'changeemail-password' => 'Ang iyong {{SITENAME}} password:',
 'changeemail-submit' => 'Baguhin ang e-liham',
 'changeemail-cancel' => 'Kanselahin',
+'changeemail-throttled' => 'Masyadong madami ang kamakailan lamang mong pagsubok sa pag-login.
+Maghintay po muna ng $1 bago subukan uli.',
+
+# Special:ResetTokens
+'resettokens' => 'I-reset ang mga token o susi',
 
 # Edit page toolbar
 'bold_sample' => 'Makapal na panitik',
@@ -832,7 +870,7 @@ Maaaring inilipat o ibinura ito habang tinitingnan mo ang pahina.',
 'loginreqtitle' => 'Paglagda/Pagtala Kailangan',
 'loginreqlink' => 'lumagda/tumala',
 'loginreqpagetext' => 'Kailangan mong $1 para matanaw ang ibang mga pahina.',
-'accmailtitle' => 'Ipinadala na ang hudyat.',
+'accmailtitle' => 'Ipinadala na ang password.',
 'accmailtext' => "Ipinadala na sa $2 ang isang hudyat na nilikha ng pagkakataon para kay [[User talk:$1|$1]].  Maaari itong baguhin sa pahinang ''[[Special:ChangePassword|palitan ng hudyat]]'' kapag lumagdang papasok.",
 'newarticle' => '(Bago)',
 'newarticletext' => "Sinundan mo ang isang kawing para sa isang pahinang hindi pa umiiral.
@@ -961,6 +999,7 @@ Walang ibinigay na paliwanag.',
 Tila binura na ito.',
 'edit-conflict' => 'Alitan sa pagbabago.',
 'edit-no-change' => 'Binalewala ang pagbabago mo, dahil walang pagbabagong ginawa sa teksto.',
+'postedit-confirmation' => 'Naitala na ang iyong pagbabago.',
 'edit-already-exists' => 'Hindi makalikha ng isang bagong pahina.
 Umiiral na ito.',
 'defaultmessagetext' => 'Nakatakdang teksto ng mensahe',
@@ -1075,7 +1114,6 @@ Makikita mo ang pagkakaibang ito; matatagpuan ang mga detalye sa [{{fullurl:{{#S
 'revdelete-no-file' => 'Hindi umiiral ang tinutukoy na talaksan.',
 'revdelete-show-file-confirm' => 'Nakatitiyak ka bang nais mong tanawin ang isang binurang pagbabago ng talaksang "<nowiki>$1</nowiki>" mula $2 noong $3?',
 'revdelete-show-file-submit' => 'Oo',
-'revdelete-selected' => "{{PLURAL:$2|Piniling|Mga piniling}} pagbabago ng '''$1:'''",
 'logdelete-selected' => '{{PLURAL:$1|Piniling tala ng pangyayari|Piniling tala ng mga pangyayari}}:',
 'revdelete-confirm' => 'Pakitiyak po na nais mo itong gawin, na nauunawaan mo ang mga kahihinatnan, at na ginagawa mo ito alinsunod sa [[{{MediaWiki:Policy-url}}|patakaran]].',
 'revdelete-suppress-text' => "Ang paglilingid ay dapat na gamitin '''lamang''' para sa sumusunod na mga pagkakataon:
@@ -1246,7 +1284,7 @@ Matatagpuan ang mga detalye sa loob ng [{{fullurl:{{#Special:Log}}/delete|page={
 'prefs-watchlist-edits-max' => 'Pinakamataas na bilang: 1000',
 'prefs-watchlist-token' => 'Balap ng talaan ng mga binabantayan:',
 'prefs-misc' => 'Bala-balaki',
-'prefs-resetpass' => 'Baguhin ang hudyat',
+'prefs-resetpass' => 'Baguhin ang password',
 'prefs-changeemail' => 'Baguhin ang direksiyong e-liham',
 'prefs-setemail' => 'Magtakda ng direksiyong e-liham',
 'prefs-email' => 'Mga pagpipilian para sa e-liham',
@@ -1328,6 +1366,7 @@ Kung pipiliin mong ibigay ito, gagamitin ito para mabigyan ka ng pagkilala para
 'prefs-dateformat' => 'Anyo ng petsa',
 'prefs-timeoffset' => 'Pagtatama ng oras',
 'prefs-advancedediting' => 'Masulong na mga mapagpipilian',
+'prefs-preview' => 'Paunang tingin',
 'prefs-advancedrc' => 'Masulong na mga mapagpipilian',
 'prefs-advancedrendering' => 'Masulong na mga mapagpipilian',
 'prefs-advancedsearchoptions' => 'Masulong na mga mapagpipilian',
@@ -1335,6 +1374,7 @@ Kung pipiliin mong ibigay ito, gagamitin ito para mabigyan ka ng pagkilala para
 'prefs-displayrc' => 'Ipakita ang mga pagpipilian',
 'prefs-displaysearchoptions' => 'Ipakita ang mga pagpipilian',
 'prefs-displaywatchlist' => 'Ipakita ang mga pagpipilian',
+'prefs-tokenwatchlist' => 'Token o susi',
 'prefs-diffs' => 'Mga pagkakaiba',
 
 # User preference: email validation using jQuery
@@ -1448,7 +1488,7 @@ Kung pipiliin mong ibigay ito, gagamitin ito para mabigyan ka ng pagkilala para
 'right-siteadmin' => 'Ikandado at alisin ang pagkakakandado ng kalipunan ng dato',
 'right-override-export-depth' => 'Iluwas ang mga pahina na kabilang ang mga pahinang nakakawing magpahanggang sa isang lalim na 5',
 'right-sendemail' => 'Magpadala ng e-liham sa ibang mga tagagamit',
-'right-passwordreset' => 'Tingnan ang mga e-liham ng muling pagtatakda ng hudyat',
+'right-passwordreset' => 'Tingnan ang mga email ng muling pagtatakda ng password',
 
 # Special:Log/newusers
 'newuserlogpage' => 'Talaan ng paglikha ng tagagamit',
@@ -1509,11 +1549,23 @@ Kung pipiliin mong ibigay ito, gagamitin ito para mabigyan ka ng pagkilala para
 'rcnotefrom' => "Nasa ibaba ang mga pagbabago mula pa noong '''$2''' (ipinapakita ang magpahanggang sa '''$1''').",
 'rclistfrom' => 'Ipakita ang bagong mga pagbabago simula sa $1',
 'rcshowhideminor' => '$1 maliliit na mga pagbabago',
+'rcshowhideminor-show' => 'Ipakita',
+'rcshowhideminor-hide' => 'Itago',
 'rcshowhidebots' => "$1 mga ''bot''",
-'rcshowhideliu' => '$1 nakalagdang mga tagagamit',
+'rcshowhidebots-show' => 'Ipakita',
+'rcshowhidebots-hide' => 'Itago',
+'rcshowhideliu' => '$1 nakatalang mga tagagamit',
+'rcshowhideliu-show' => 'Ipakita',
+'rcshowhideliu-hide' => 'Itago',
 'rcshowhideanons' => '$1 hindi kilalang mga tagagamit',
+'rcshowhideanons-show' => 'Ipakita',
+'rcshowhideanons-hide' => 'Itago',
 'rcshowhidepatr' => '$1 napatrolyang mga pagbabago',
+'rcshowhidepatr-show' => 'Ipakita',
+'rcshowhidepatr-hide' => 'Itago',
 'rcshowhidemine' => '$1 mga pagbabago ko',
+'rcshowhidemine-show' => 'Ipakita',
+'rcshowhidemine-hide' => 'Itago',
 'rclinks' => 'Ipakita ang huling $1 mga pagbabago sa loob ng huling $2 mga araw<br />$3',
 'diff' => 'pagkakaiba',
 'hist' => 'kasaysayan',
@@ -1529,7 +1581,7 @@ Kung pipiliin mong ibigay ito, gagamitin ito para mabigyan ka ng pagkilala para
 'rc-change-size' => '$1',
 'rc-change-size-new' => '$1 {{PLURAL:$1|byte|mga byte}} pagkaraan ng pagbabago',
 'newsectionsummary' => '/* $1 */ bagong seksyon',
-'rc-enhanced-expand' => 'Ipakita ang mga detalye (kailangan ng JavaScript)',
+'rc-enhanced-expand' => 'Ipakita ang mga detalye',
 'rc-enhanced-hide' => 'Itago ang mga detalye',
 'rc-old-title' => 'dating nalikha bilang "$1"',
 
@@ -1548,8 +1600,7 @@ Kung pipiliin mong ibigay ito, gagamitin ito para mabigyan ka ng pagkilala para
 'reuploaddesc' => 'Kanselahin/Iurong ang pagkarga at magbalik sa pormularyo ng pagkakarga',
 'upload-tryagain' => 'Ipasa ang binagong paglalarawan ng talaksan',
 'uploadnologin' => 'Hindi nakalagda',
-'uploadnologintext' => 'Dapat ikaw ay [[Special:UserLogin|nakalagda]]
-upang makapagkarga ng talaksan.',
+'uploadnologintext' => '$1 upang makapag-upload ng files.',
 'upload_directory_missing' => 'Nawawala ang direktoryo ng pagkarga ($1) at hindi na mailikha ng webserver.',
 'upload_directory_read_only' => 'Ang direktoryo ng pagkarga ($1) ay hindi maisulat ng webserver.',
 'uploaderror' => 'Kamalian sa pagkarga',
@@ -1806,6 +1857,8 @@ Kapag sinala ng tagagamit, tanging mga talaksan lang kung saan nagkarga ang taga
 'listfiles_size' => 'Sukat',
 'listfiles_description' => 'Paglalarawan',
 'listfiles_count' => 'Mga bersiyon',
+'listfiles-latestversion-yes' => 'Oo',
+'listfiles-latestversion-no' => 'Hindi',
 
 # File description page
 'file-anchor-link' => 'Talaksan',
@@ -1902,6 +1955,9 @@ Marahil ay naisa mong baguhin ang paglalarawan doon sa [$2 pahina ng paglalarawa
 'randompage' => 'Pahinang walang-pili',
 'randompage-nopages' => 'Walang mga pahina sa sumusunod na {{PLURAL:$2|ngalan-espasyo|mga ngalan-espasyo}}: $1.',
 
+# Random page in category
+'randomincategory-selectcategory-submit' => 'Gawin',
+
 # Random redirect
 'randomredirect' => 'Pagkargang walang-pili',
 'randomredirect-nopages' => 'Walang mga pagkarga sa ngalan-espasyong "$1".',
@@ -1990,6 +2046,10 @@ Nasugpo na ang mga ipinasok na <del>inekisan</del>.',
 'protectedpages-indef' => 'Mga walang katiyakang proteksyon lamang',
 'protectedpages-cascade' => 'Baita-baitang na mga panananggalang lamang',
 'protectedpagesempty' => 'Sa kasalukuyan, walang mga pahinang nakasanggalang na may ganitong mga parametro.',
+'protectedpages-page' => 'Pahina',
+'protectedpages-reason' => 'Dahilan',
+'protectedpages-unknown-timestamp' => 'Hindi alam',
+'protectedpages-unknown-performer' => 'Hindi alam na tagagamit o user',
 'protectedtitles' => 'Nakasanggalang na mga pamagat',
 'protectedtitlesempty' => 'Walang pamagat ang kasalukuyang nakaprotekta sa binigay na parametro.',
 'listusers' => 'Tala ng tagagamit',
@@ -2152,7 +2212,7 @@ Ang ipinasok mong direksiyong e-liham sa [[Special:Preferences|iyong mga kagustu
 'usermessage-template' => 'MediaWiki:UserMessage',
 
 # Watchlist
-'watchlist' => 'Mga binabantayan ko',
+'watchlist' => 'Talaan ng mga binabantayan',
 'mywatchlist' => 'Bantayan',
 'watchlistfor2' => 'Para sa $1 $2',
 'nowatchlist' => 'Wala kang pahinang binabantayan.',
@@ -3864,7 +3924,7 @@ Dapat na nakatanggap ka ng [{{SERVER}}{{SCRIPTPATH}}/COPYING isang sipi ng Pangk
 * <span class="mw-specialpagerestricted">Pinaghihigpitang natatanging mga pahina.</span>',
 'specialpages-group-maintenance' => 'Mga pagpapanatiling ulat',
 'specialpages-group-other' => 'Iba pang natatanging mga pahina',
-'specialpages-group-login' => 'Lumagda / lumikha ng kuwenta',
+'specialpages-group-login' => 'Mag-login / lumikha ng akawnt',
 'specialpages-group-changes' => 'Mga huling binago at mga tala',
 'specialpages-group-media' => 'Mga ulat ng midya at mga pagkarga',
 'specialpages-group-users' => 'Mga tagagamit at mga karapatan',
index 4fa35ad..67a7756 100644 (file)
@@ -802,6 +802,7 @@ Tarayıcınızın önbelleğini temizleyinceye kadar bazı sayfalarda, oturumunu
 'gotaccountlink' => 'Oturum açın',
 'userlogin-resetlink' => 'Giriş bilgilerinizi mi unuttunuz?',
 'userlogin-resetpassword-link' => 'Parolanızı mı unuttunuz?',
+'userlogin-helplink2' => 'Oturum açma konusunda yardım alın',
 'userlogin-loggedin' => 'Zaten {{GENDER:$1|$1}} olarak oturum açtınız.
 Başka bir kullanıcı olarak oturum açmak için aşağıdaki formu kullanın.',
 'userlogin-createanother' => 'Başka bir hesap oluşturun',
@@ -1304,7 +1305,6 @@ Bir hizmetli olarak bu değişikliği görebilirsiniz; [{{fullurl:{{#Special:Log
 'revdelete-no-file' => 'Belirtilen dosya mevcut değil.',
 'revdelete-show-file-confirm' => '"<nowiki>$1</nowiki>" dosyasının $2 $3 tarihli silinmiş bir revizyonunu görmek istediğinize emin misiniz?',
 'revdelete-show-file-submit' => 'Evet',
-'revdelete-selected' => "'''[[:$1]] sayfasının {{PLURAL:$2|seçili değişikliği|seçili değişiklikleri}}:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Seçili kayıt olayı|Seçili kayıt olayları}}:'''",
 'revdelete-confirm' => 'Lütfen, bunu yapmak istediğinizi , sonuçlarını anladığınızı, ve bunu [[{{MediaWiki:Policy-url}}|ilkelere]] göre yapıyor olduğunuzu onaylayın.',
 'revdelete-suppress-text' => "Saklama '''sadece''' aşağıdaki durumlarda kullanılmalıdır:
@@ -2165,6 +2165,9 @@ Dosyanın açıklama sayfasında değişiklik yapmak için ilgili sayfaya [$2 bu
 # List redirects
 'listredirects' => 'Yönlendirmeleri listele',
 
+# List duplicated files special page
+'listduplicatedfiles' => 'Kopyası bulunan dosyalar listesi',
+
 # Unused templates
 'unusedtemplates' => 'Kullanılmayan şablonlar',
 'unusedtemplatestext' => 'Bu sayfa, {{ns:template}} alan adında bulunan ve diğer sayfalara eklenmemiş olan sayfaları listeler. Şablonlara olan diğer bağlantıları da kontrol etmeden silmeyiniz.',
index 404d52e..01d3a78 100644 (file)
@@ -1064,7 +1064,6 @@ $3 күрсәткән сәбәп: ''$2''",
 'revdelete-no-file' => 'Бу файл юк.',
 'revdelete-show-file-confirm' => 'Сез чыннан да «<nowiki>$1</nowiki>» файлының бетерелгән  $2, $3 версиясен карарга телисезме??',
 'revdelete-show-file-submit' => 'Әйе',
-'revdelete-selected' => "'''[[:$1]] битенең {{PLURAL:$2|1=Сайланган юрама|сайланган юрамалары}}:'''",
 'logdelete-selected' => "'''Журналның {{PLURAL:$1|1=Сайланган язма|сайланган язмалары}} :'''",
 'revdelete-legend' => 'Чикләүләр урнаштыр:',
 'revdelete-hide-text' => 'Битнең бу юрамасы текстын яшер',
@@ -1355,7 +1354,7 @@ $1",
 'rcshowhidebots' => 'ботларны $1',
 'rcshowhidebots-show' => 'күрсәт',
 'rcshowhidebots-hide' => 'яшер',
-'rcshowhideliu' => 'Теркәлгән кулланучыларны $1',
+'rcshowhideliu' => 'теркәлгән кулланучыларны $1',
 'rcshowhideliu-show' => 'күрсәт',
 'rcshowhideliu-hide' => 'яшер',
 'rcshowhideanons' => 'кермәгән кулланучыларны $1',
index 90e540f..edd4b9a 100644 (file)
@@ -1043,7 +1043,6 @@ $3 تەمىنلىگەن چەكلەش سەۋەبى ''$2''",
 'revdelete-no-file' => 'ھۆججەت بەلگىلىمىسى مەۋجۇد ئەمەس.',
 'revdelete-show-file-confirm' => '$2 $3 دىكى "<nowiki>$1</nowiki>" نىڭ ئۆچۈرۈلگەن تۈزىتىلگەن نەشرىنى راستىنلا كۆرەمسىز؟',
 'revdelete-show-file-submit' => 'ھەئە',
-'revdelete-selected' => "'''[[:$1]] نىڭ {{PLURAL:$2|تاللانغان تۈزىتىش نەشرى|تاللانغان تۈزىتىش نەشرى}}:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|تاللانغان خاتىرە تۈرى|تاللانغان خاتىرە تۈرى}}:'''",
 'revdelete-confirm' => 'بۇ مەشغۇلاتنى ئىجرا قىلسىڭىز ئاقىۋىتىنى چۈشىنىدىغانلىقىڭىزنى ھەمدە بۇ پروگراممىنىڭ [[{{MediaWiki:Policy-url}}|سىياسەت]]كە ئۇيغۇن كېلىدىغانلىقىنى جەزملەڭ.',
 'revdelete-suppress-text' => "'''پەقەت''' تۆۋەندىكى ئەھۋاللار يۈز بەرگەندىلا زىيارەت چەكلىنىدۇ:
index 8e6fd89..58f6405 100644 (file)
@@ -1341,7 +1341,8 @@ $3 зазначив таку причину: ''$2''",
 'revdelete-no-file' => 'Зазначений файл не існує.',
 'revdelete-show-file-confirm' => 'Ви впевнені, що хочете переглянути вилучену версію файлу «<nowiki>$1</nowiki>» від $3 $2?',
 'revdelete-show-file-submit' => 'Так',
-'revdelete-selected' => "'''{{PLURAL:$2|1=Обрана версія|Обрані версії}} сторінки [[:$1]]:'''",
+'revdelete-selected-text' => '{{PLURAL:$1|Вибрана редакція|Вибрані редакції}} із [[:$2]]:',
+'revdelete-selected-file' => '{{PLURAL:$1|Вибрана версія файлу|Вибрані версії файлу}} із [[:$2]]:',
 'logdelete-selected' => "'''{{PLURAL:$1|1=Обраний запис|Обрані записи}} журналу:'''",
 'revdelete-text-text' => 'Видалені версії будуть як і раніше видно в історії сторінки, але їх частини вмісту будуть доступні для учасників.',
 'revdelete-text-file' => 'Видалені версії файлу будуть як і раніше видно в історії сторінки, але їх частини вмісту будуть доступні для учасників.',
index 15161f0..fbeb7e8 100644 (file)
@@ -849,7 +849,6 @@ $1 نے پابندی لگائی تھی.
 'revisiondelete' => 'نظرثانی حذف کریں/واپس لائیں',
 'revdelete-nooldid-title' => 'ناقص مقصود نظرثانی',
 'revdelete-show-file-submit' => 'ہاں',
-'revdelete-selected' => "'''[[:$1]] کی {{PLURAL:$2|منتخب نظرثانی|منتخب نظرثانیاں}}:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|منتخب واقعۂ نوشتہ|منتخب واقعاتِ نوشتہ}}:'''",
 'revdelete-confirm' => 'برائے مہربانی! یقین دِہانی کرلیجئے کہ آپ واقعی ایسا کرنا چاہتے ہیں، آپ اِس کے نتائج سے باخبر ہیں، اور آپ یہ [[{{MediaWiki:Policy-url}}|پالیسی]] کے مطابق کررہے ہیں.',
 'revdelete-legend' => 'رویتی پابندیاں لگائیں',
index 336bc16..d36ac97 100644 (file)
@@ -1051,7 +1051,6 @@ Te połi uncora vixuałixare sto confronto; controłare el [{{fullurl:{{#Special
 'revdelete-no-file' => "El file indicà no l'esiste mia.",
 'revdelete-show-file-confirm' => 'Vuto dal bon vardar la version scancelà del file "<nowiki>$1</nowiki>" del $2 a le $3?',
 'revdelete-show-file-submit' => 'Sì',
-'revdelete-selected' => "'''{{PLURAL:$2|Version selezionà|Versioni selezionà}} de [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Evento del registro selezionà|Eventi del registro selezionè}}:'''",
 'revdelete-confirm' => 'Par piaser, conferma che vol far sta azion, che te capissi le so conseguense, e che te sì drio operar secondo le [[{{MediaWiki:Policy-url}}|linee guida]].',
 'revdelete-suppress-text' => "La sopression la se dovarìa doparar '''solo''' in sti casi qua:
index b007ae6..4f6604f 100644 (file)
@@ -863,7 +863,6 @@ Detalid voidas olda [{{fullurl:{{#Special:Log}}/delete|page={{FULLPAGENAMEE}}}}
 'revdelete-nooldid-text' => 'Tö et olgoi valinuded metversijad (metversijoid) necen funkcijan oigetes.',
 'revdelete-no-file' => 'Mugošt failad ei ole.',
 'revdelete-show-file-submit' => 'Ka',
-'revdelete-selected' => "'''{{PLURAL:$2|Valitud versii|Valitud versijad}} lehtpolišpäi [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Valitud kirjutez aigkirjas|Valitud kirjutesed aigkirjas}}:'''",
 'revdelete-legend' => 'Säta kaidendused',
 'revdelete-hide-text' => 'Redakcijan tekst',
index ad1270f..c92a2bb 100644 (file)
@@ -1283,7 +1283,6 @@ hoặc bạn đang tìm cách ẩn phiên bản hiện tại.',
 'revdelete-no-file' => 'Tập tin chỉ định không tồn tại.',
 'revdelete-show-file-confirm' => 'Bạn có chắc muốn xem phiên bản đã bị xóa của tập tin “<nowiki>$1</nowiki>” từ ngày $2 vào lúc $3?',
 'revdelete-show-file-submit' => 'Có',
-'revdelete-selected' => "'''{{PLURAL:$2|Phiên bản|Các phiên bản}} được chọn của [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Nhật trình đã chọn|Các nhật trình đã chọn}}:'''",
 'revdelete-text-text' => 'Các phiên bản đã xóa sẽ tiếp tục xuất hiện trong lịch sử trang, nhưng một số phần của nội dung sẽ bị ẩn khỏi công chúng.',
 'revdelete-text-file' => 'Các phiên bản tập tin đã xóa sẽ tiếp tục xuất hiện trong lịch sử tập tin, nhưng một số phần của nội dung sẽ bị ẩn khỏi công chúng.',
index bba6edb..0dddbdb 100644 (file)
@@ -855,7 +855,6 @@ Kanol logön oni; pats ba binons in [{{fullurl:{{#Special:Log}}/delete|page={{FU
 'revdelete-nooldid-text' => 'U no elevälol zeilafomami(s) pro dun at, u fomam pelevälöl no dabinon, u steifülol ad klänedön fomami anuik.',
 'revdelete-show-file-confirm' => 'Vilol-li fümiko logön revidi pemoüköl ragiva: „<nowiki>$1</nowiki>“ dätü $2 tü $3?',
 'revdelete-show-file-submit' => 'Si',
-'revdelete-selected' => "'''{{PLURAL:$2|Fomam|Fomams}} pevalöl pada: [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Lisedajenot|Lisedajenots}} pevälöl:'''",
 'revdelete-legend' => 'Levälön miedükamis logova:',
 'revdelete-hide-text' => 'Klänedön vödemi revida',
index 9a3779c..3cd0630 100644 (file)
@@ -738,7 +738,6 @@ Lisateedüst või ollaq [{{fullurl:{{#Special:Log}}/suppress|page={{FULLPAGENAME
 'revisiondelete' => 'Kistudaq/võtaq tagasi lehe kujjõ',
 'revdelete-nooldid-title' => 'Säänest otsitavat kujjo olõ-i',
 'revdelete-nooldid-text' => 'Sa olõ-i valinuq kujjo vai kujjõ.',
-'revdelete-selected' => "'''{{PLURAL:$2|Valit kujo|Validuq kujoq}} lehele [[:$1]]'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Valit muutminõ|Validuq muutmisõq}}:'''",
 'revdelete-legend' => 'Nättävüse piirdmiseq',
 'revdelete-hide-text' => 'Käkiq kujo sisu',
index 027be4b..65d96bf 100644 (file)
@@ -741,7 +741,6 @@ Vos l' poloz co vey; i gn a des detays sol [{{fullurl:{{#Special:Log}}/suppress|
 'rev-delundel' => 'mostrer/catchî',
 'revisiondelete' => 'Disfacer/rapexhî des modêyes',
 'revdelete-show-file-submit' => 'Oyi',
-'revdelete-selected' => "'''{{PLURAL:$2|Tchoezeye modêye|Tchoezeyès modêyes}} di [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Evenmint tchoezi|Evenmints tchoezis}} ezès djournås:'''",
 'revdelete-legend' => 'Defini des restriccions sol voeyaedje',
 'revdelete-hide-text' => "Catchî l' tecse del modêye",
index b0b369f..e3380d2 100644 (file)
@@ -754,7 +754,6 @@ Li nga doon yorkat tax na ba-tay nga man a [$1 gis gii wuute] su la neexee.",
 'revdelete-no-file' => 'Dencukaay bi amul',
 'revdelete-show-file-confirm' => 'Ndax wóor na ne bëgg ngaa wone sumb bees far bu bii dencukaay "<nowiki>$1</nowiki>" bu $2 ci $3?',
 'revdelete-show-file-submit' => 'Waaw',
-'revdelete-selected' => "'''{{PLURAL:$2|Sumbum '''$1''' mi falu|Sumbi '''$1''' yi falu}} :'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Xew-xewu yéenekaay bi falu|Xew-xewi yéenekaay yi falu}}:'''",
 'revdelete-legend' => 'Taxawal ay digal ci sumb yi ñu far:',
 'revdelete-hide-text' => 'Nëbb mbindum sumb bi',
index 3a5e710..b560947 100644 (file)
@@ -821,7 +821,6 @@ $3封禁个原因是''$2''",
 'revdelete-no-file' => '指定文件弗存在。',
 'revdelete-show-file-confirm' => '侬阿是真个要查看文件“<nowiki>$1</nowiki>”垃拉$2 $3已经删除个修订?',
 'revdelete-show-file-submit' => '是',
-'revdelete-selected' => "'''选取'''[[:$1]]'''个$2趟修订:'''",
 'logdelete-selected' => "'''选取'''$1'''个日志事件:'''",
 'revdelete-confirm' => '假使侬想箇能介做个闲话,请确认侬已经清爽箇能介做个后果,外加箇个程序符合[[{{MediaWiki:Policy-url}}|政策]]。',
 'revdelete-suppress-text' => "'''只有'''出现下头眼情况再应阻止访问:
@@ -913,7 +912,7 @@ $1",
 'titlematches' => '页面标题匹配',
 'textmatches' => '页面内容匹配',
 'notextmatches' => '呒没匹配个页面文本',
-'prevn' => '上个 $1',
+'prevn' => '前$1个',
 'nextn' => '下个 {{PLURAL:$1|$1}}',
 'prevn-title' => '前$1个结果',
 'nextn-title' => '后$1个结果',
@@ -1479,7 +1478,7 @@ $1",
 'whatlinkshere-next' => '后$1个',
 'whatlinkshere-links' => '←链进',
 'whatlinkshere-hideredirs' => '$1转戳',
-'whatlinkshere-hidetrans' => '$1å\8c\85å\90«',
+'whatlinkshere-hidetrans' => '$1åµ\8cå\85¥',
 'whatlinkshere-hidelinks' => '$1链接',
 'whatlinkshere-filters' => '过滤器',
 
index 37545dd..75ef192 100644 (file)
@@ -1164,7 +1164,6 @@ $2
 'revdelete-no-file' => 'די ספעציפֿירטע טעקע עקזיסטירט נישט.',
 'revdelete-show-file-confirm' => 'צי זענט איר זעכער איר ווילט באַקוקן אַן אויסגעמעקטע רעוויזיע פון דער טעקע "<nowiki>$1</nowiki>" פון $2 בשעה $3?',
 'revdelete-show-file-submit' => 'יא',
-'revdelete-selected' => "'''{{PLURAL:$2|אויסדערוויילטע ווערסיע| אויסדערוויילטע ווערסיעס}} פון [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1| אויסדערוויילטע לאג אקציע|אויסדערוויילטע לאג אקציעס}}:'''",
 'revdelete-confirm' => 'זייט אזוי גוט און באשטעטיקט אז דאס איז טאקע אייער כוונה, אז איר פארשטייט די קאנסעקווענצן, און אז איר טוט דאס לויט  [[{{MediaWiki:Policy-url}}|דער פאליסי]].',
 'revdelete-suppress-text' => "אונטערדרוקן זאל בלויז גענוצט ווערן '''נאר''' אין די פאלגנדע פעלער:
index 092b6b5..5b804a9 100644 (file)
@@ -982,7 +982,6 @@ Tó bá jẹ́ pé ẹ ti wọlé, ẹ lè dẹ́kun ìkìlọ̀ yìí nínù ab
 'revdelete-no-file' => 'Fáìlì tójẹ́ títọ́kasí kò sí.',
 'revdelete-show-file-confirm' => 'Ṣé ẹ ní ìdálójú pé ẹ fẹ́ wo àtúnyẹ̀wó píparẹ́ ti fáìlì "<nowiki>$1</nowiki>" látọjọ́ $2 ní ago $3?',
 'revdelete-show-file-submit' => 'Bẹ́ẹ̀ni',
-'revdelete-selected' => "'''{{PLURAL:$2|Àtúnyẹ̀wò síṣàyàn|Àwọn àtúnyẹ̀wò síṣàyàn}} fún [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Àkọọ́lẹ̀ ìṣẹ̀lẹ̀ síṣàyàn|Àwọn àkọọ́lẹ̀ ìṣẹ̀lẹ̀ síṣàyàn}}:'''",
 'revdelete-confirm' => 'Ẹ jọ̀wọ́ ẹ rídájú pé ohun tí ẹ fẹ́ ṣe nìyí, pé ohun tí yíò ṣẹlẹ̀ yé yín, bẹ́ẹ̀sìni pé ẹ̀ únṣe é lọ́nà tó bá  [[{{MediaWiki:Policy-url}}|àdéhùn]] mu.',
 'revdelete-suppress-text' => "Ìrẹ̀mọ́lẹ̀ gbọ́dọ̀ jẹ́ lílò fún àwọn ìṣẹ̀lẹ̀ ìsàlẹ̀ wọ̀nyí '''nìkan''':
index 252d030..e9580c9 100644 (file)
@@ -1012,7 +1012,6 @@ $1',
 'revdelete-no-file' => '指定嘅檔案未存在。',
 'revdelete-show-file-confirm' => '你係咪真係想去睇響$2 $3刪咗 "$1" 嘅檔案修訂?',
 'revdelete-show-file-submit' => '係',
-'revdelete-selected' => "'''揀[[:$1]]嘅$2次修訂:'''",
 'logdelete-selected' => "'''揀[[:$1]]嘅日誌事件:'''",
 'revdelete-confirm' => '請確認你肯定去做嘅話,你就要明白到後果,同埋呢個程序符合[[{{MediaWiki:Policy-url}}|政策]]。',
 'revdelete-suppress-text' => "壓制'''只'''應該響下面嘅情況之下進行:
@@ -2226,7 +2225,7 @@ $1',
 'whatlinkshere-next' => '後$1版',
 'whatlinkshere-links' => '← 連結',
 'whatlinkshere-hideredirs' => '$1跳轉',
-'whatlinkshere-hidetrans' => '$1å\8c\85å\90«',
+'whatlinkshere-hidetrans' => '$1åµ\8cå\85¥',
 'whatlinkshere-hidelinks' => '$1連結',
 'whatlinkshere-hideimages' => '$1檔案連結',
 'whatlinkshere-filters' => '過濾器',
index 763e8a9..fa0eaeb 100644 (file)
@@ -702,7 +702,6 @@ der kunn'n details anwezig zien in 't [{{fullurl:{{#Special:Log}}/suppress|page=
 'revisiondelete' => 'Versies verwiederen/trugplekken',
 'revdelete-nooldid-title' => 'Hin doelversie',
 'revdelete-nooldid-text' => 'Je ei hin doelversie(s) voe deêze handelienge opeheven, de aneheven versie besti nie, of je probeer de lèste versie te verberhen.',
-'revdelete-selected' => "'''Hesillecteerde {{PLURAL:$2|bewerkieng|bewerkiengen}} van [[:$1]]:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|Hesillecteerde logboekactie|Hesillecteerde logboekacties}}:'''",
 'revdelete-legend' => "Zichbaereidsbeperkiengen instell'n",
 'revdelete-hide-text' => 'De bewerkte tekst verberhen',
index 40fcce5..3d483d4 100644 (file)
@@ -517,7 +517,7 @@ $messages = array(
 'category-file-count-limited' => '以下{{PLURAL:$1|文件|$1个文件}}属于当前分类。',
 'listingcontinuesabbrev' => '续',
 'index-category' => '可索引页面',
-'noindex-category' => '禁止索引的页面',
+'noindex-category' => '不可索引页面',
 'broken-file-category' => '有受损文件链接的页面',
 'categoryviewer-pagedlinks' => '($1)($2)',
 
@@ -784,9 +784,9 @@ $2',
 'virus-unknownscanner' => '未知的反病毒软件:',
 
 # Login and logout pages
-'logouttext' => "'''您现在已经退出。'''
+'logouttext' => '<strong>你现在已经退出登录。</strong>
 
-请注意一些页面可能仍然显示您为登录状态,直到您清空您的浏览器缓存为止。",
+请注意,某些页面可能在你清除你的浏览器缓存之前,继续显示你处于登录状态。',
 'welcomeuser' => '欢迎,$1!',
 'welcomecreation-msg' => '你的账户已创建。请不要忘记更改你的[[Special:Preferences|{{SITENAME}}设置]]。',
 'yourname' => '用户名:',
@@ -1271,7 +1271,6 @@ $3给出的原因是“$2”。",
 'revdelete-no-file' => '指定的文件不存在。',
 'revdelete-show-file-confirm' => '确定要查看文件“<nowiki>$1</nowiki>”于$2$3被删除的版本吗?',
 'revdelete-show-file-submit' => '是',
-'revdelete-selected' => "'''选取'''[[:$1]]'''的$2次修订:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|选取的日志项目}}:'''",
 'revdelete-text-text' => '已删除修订仍将在页面历史中显示,但涉及部分的内容将对公众不可见。',
 'revdelete-text-file' => '已删除文件版本仍将在文件历史中显示,但涉及部分的内容将对公众不可见。',
@@ -2665,13 +2664,13 @@ $1',
 'isredirect' => '重定向页面',
 'istemplate' => '包含',
 'isimage' => '文件链接',
-'whatlinkshere-prev' => '上$1个',
-'whatlinkshere-next' => '下$1个',
-'whatlinkshere-links' => '←链入页面',
-'whatlinkshere-hideredirs' => '$1重定向',
-'whatlinkshere-hidetrans' => '$1å\8c\85å\90«',
+'whatlinkshere-prev' => '{{PLURAL:$1|前|前$1个}}',
+'whatlinkshere-next' => '{{PLURAL:$1|后|后$1个}}',
+'whatlinkshere-links' => '←链',
+'whatlinkshere-hideredirs' => '$1重定向',
+'whatlinkshere-hidetrans' => '$1åµ\8cå\85¥',
 'whatlinkshere-hidelinks' => '$1链接',
-'whatlinkshere-hideimages' => '$1文件链接',
+'whatlinkshere-hideimages' => '$1文件链接',
 'whatlinkshere-filters' => '过滤器',
 
 # Block/unblock
@@ -3056,7 +3055,7 @@ $2',
 'tooltip-n-recentchanges' => '本wiki最近更改的列表',
 'tooltip-n-randompage' => '载入一个随机页面',
 'tooltip-n-help' => '查找帮助的地方',
-'tooltip-t-whatlinkshere' => '所有链至本页的维基页面的列表',
+'tooltip-t-whatlinkshere' => '所有链接至本页面的wiki页面的列表',
 'tooltip-t-recentchangeslinked' => '链自本页的页面的最近更改',
 'tooltip-feed-rss' => '本页面的RSS源',
 'tooltip-feed-atom' => '本页面的Atom源',
@@ -3820,6 +3819,7 @@ $5
 # Separators for various lists, etc.
 'comma-separator' => '、',
 'colon-separator' => ':',
+'pipe-separator' => '|',
 'word-separator' => '',
 'parentheses' => '($1)',
 'quotation-marks' => '“$1”',
index 438188e..b325cdb 100644 (file)
@@ -1201,7 +1201,6 @@ $3所述禁止原因為“$2”。",
 'revdelete-no-file' => '指定的檔案不存在。',
 'revdelete-show-file-confirm' => '{{GENDER:|你|妳|你}}是否真的是想去檢視於$2 $3刪除「<nowiki>$1</nowiki>」的檔案修訂?',
 'revdelete-show-file-submit' => '是',
-'revdelete-selected' => "'''選取[[:$1]]的$2次修訂:'''",
 'logdelete-selected' => "'''{{PLURAL:$1|選取的日誌項目}}:'''",
 'revdelete-text-text' => '已刪除修訂版本仍將出現於頁面歷史中,唯將不公開內容訪問。',
 'revdelete-text-file' => '已刪除檔案版本仍將出現於檔案歷史中,唯將不公開內容訪問。',
@@ -2634,7 +2633,7 @@ $1',
 'whatlinkshere-next' => '後$1個',
 'whatlinkshere-links' => '← 連入',
 'whatlinkshere-hideredirs' => '$1重定向',
-'whatlinkshere-hidetrans' => '$1å\8c\85å\90«',
+'whatlinkshere-hidetrans' => '$1åµ\8cå\85¥',
 'whatlinkshere-hidelinks' => '$1連結',
 'whatlinkshere-hideimages' => '$1檔案連結',
 'whatlinkshere-filters' => '搜尋',
index 3b2374d..27a9ff1 100644 (file)
@@ -103,6 +103,17 @@ class GenerateJsonI18n extends Maintenance {
        protected function doShim( $jsondir ) {
                $shim = <<<'PHP'
 <?php
+/**
+ * This is a backwards-compatibility shim, generated by:
+ * https://git.wikimedia.org/blob/mediawiki%2Fcore.git/HEAD/maintenance%2FgenerateJsonI18n.php
+ *
+ * Beginning with MediaWiki 1.23, translation strings are stored in json files,
+ * and the EXTENSION.i18n.php file only exists to provide compatibility with
+ * older releases of MediaWiki. For more information about this migration, see:
+ * https://www.mediawiki.org/wiki/Requests_for_comment/Localisation_format
+ *
+ * This shim maintains compatibility back to MediaWiki 1.17.
+ */
 $messages = array();
 $GLOBALS['wgHooks']['LocalisationCacheRecache'][] = function ( $cache, $code, &$cachedData ) {
        $codeSequence = array_merge( array( $code ), $cachedData['fallbackSequence'] );
index 837c00c..cdaa45c 100644 (file)
@@ -17,6 +17,7 @@
                "../../resources/mediawiki.page/mediawiki.page.watch.ajax.js",
                "../../resources/mediawiki.api",
                "../../resources/mediawiki.language",
+               "../../resources/jquery/jquery.arrowSteps.js",
                "../../resources/jquery/jquery.localize.js",
                "../../resources/jquery/jquery.spinner.js",
                "../../resources/oojs",
index 6b5506e..67b21e9 100644 (file)
@@ -869,7 +869,8 @@ $wgMessageStructure = array(
                'revdelete-no-file',
                'revdelete-show-file-confirm',
                'revdelete-show-file-submit',
-               'revdelete-selected',
+               'revdelete-selected-text',
+               'revdelete-selected-file',
                'logdelete-selected',
                'revdelete-text-text',
                'revdelete-text-file',
index 622712e..4254887 100755 (executable)
@@ -16,6 +16,5 @@ MWCORE_DIR=$(cd $(dirname $0)/..; pwd)
 jsduck \
 --config=$MWCORE_DIR/maintenance/jsduck/config.json \
 --footer="Documentation for MediaWiki core ($JSDUCK_MWVERSION). Generated on {DATE} by {JSDUCK} {VERSION}." \
-&& echo 'JSDuck execution finished.'
-
-ln -s ../../resources $MWCORE_DIR/docs/js/modules
+&& echo 'JSDuck execution finished.' \
+&& ln -s ../../resources $MWCORE_DIR/docs/js/modules
index 0d9608f..1b7aeb1 100644 (file)
@@ -8,10 +8,12 @@ kss: nodecheck
        $(eval KSS_RL_TMP := $(shell mktemp /tmp/tmp.XXXXXXXXXX))
        @curl -sG "${MEDIAWIKI_LOAD_URL}?modules=mediawiki.ui|mediawiki.ui.button&only=styles" > $(KSS_RL_TMP)
        @node_modules/.bin/kss-node mediawiki.ui mediawiki.ui/docs --css $(KSS_RL_TMP) -t styleguide-template
+       @rm $(KSS_RL_TMP)
+
+kssopen: kss
        @echo Opening the generated style guide...
-       @command -v xdg-open >/dev/null 2>&1 || { open ${PWD}/mediawiki.ui/docs/index.html; exit 1; }
+       @command -v xdg-open >/dev/null 2>&1 || { open ${PWD}/mediawiki.ui/docs/index.html; exit 0; }
        @xdg-open ${PWD}/mediawiki.ui/docs/index.html
-       @rm $(KSS_RL_TMP)
 
 nodecheck:
        @scripts/nodecheck.sh
index 49b8fda..cf07bd0 100644 (file)
@@ -1378,7 +1378,7 @@ return array(
                ),
                'skinStyles' => array(
                        'default' => 'resources/oojs-ui/oojs-ui-apex.css',
-                       'minerva' => array(),
+                       'minerva' => 'resources/oojs-ui/oojs-ui-agora.css',
                ),
                'messages' => array(
                        'ooui-dialog-action-close',
index a1fd679..daa2fd7 100644 (file)
@@ -1,4 +1,4 @@
-/**
+/*!
  * jQuery arrowSteps plugin
  * Copyright Neil Kandalgaonkar, 2010
  *
@@ -7,40 +7,32 @@
  * (see http://www.fsf.org/licensing/licenses/gpl.html).
  * Derivative works and later versions of the code must be free software
  * licensed under the same or a compatible license.
- *
- *
- * DESCRIPTION
- *
- * Show users their progress through a series of steps, via a row of items that fit
- * together like arrows. One item can be highlighted at a time.
- *
- *
- * SYNOPSIS
- *
- * <ul id="robin-hood-daffy">
- *   <li id="guard"><div>Guard!</div></li>
- *   <li id="turn"><div>Turn!</div></li>
- *   <li id="parry"><div>Parry!</div></li>
- *   <li id="dodge"><div>Dodge!</div></li>
- *   <li id="spin"><div>Spin!</div></li>
- *   <li id="ha"><div>Ha!</div></li>
- *   <li id="thrust"><div>Thrust!</div></li>
- * </ul>
- *
- * <script>
- *   $( '#robin-hood-daffy' ).arrowSteps();
- *
- *   $( '#robin-hood-daffy' ).arrowStepsHighlight( '#guard' );
- *   // 'Guard!' is highlighted.
- *
- *   // ... user completes the 'guard' step ...
- *
- *   $( '#robin-hood-daffy' ).arrowStepsHighlight( '#turn' );
- *   // 'Turn!' is highlighted.
- * </script>
- *
+ */
+
+/**
+ * @class jQuery.plugin.arrowSteps
  */
 ( function ( $ ) {
+       /**
+        * Show users their progress through a series of steps, via a row of items that fit
+        * together like arrows. One item can be highlighted at a time.
+        *
+        *     <ul id="robin-hood-daffy">
+        *       <li id="guard"><div>Guard!</div></li>
+        *       <li id="turn"><div>Turn!</div></li>
+        *       <li id="parry"><div>Parry!</div></li>
+        *       <li id="dodge"><div>Dodge!</div></li>
+        *       <li id="spin"><div>Spin!</div></li>
+        *       <li id="ha"><div>Ha!</div></li>
+        *       <li id="thrust"><div>Thrust!</div></li>
+        *     </ul>
+        *
+        *     <script>
+        *       $( '#robin-hood-daffy' ).arrowSteps();
+        *     </script>
+        *
+        * @chainable
+        */
        $.fn.arrowSteps = function () {
                var $steps, width, arrowWidth,
                        paddingSide = $( 'body' ).hasClass( 'rtl' ) ? 'padding-left' : 'padding-right';
                return this;
        };
 
+       /**
+        * Highlights the element selected by the selector.
+        *
+        *       $( '#robin-hood-daffy' ).arrowStepsHighlight( '#guard' );
+        *       // 'Guard!' is highlighted.
+        *
+        *       // ... user completes the 'guard' step ...
+        *
+        *       $( '#robin-hood-daffy' ).arrowStepsHighlight( '#turn' );
+        *       // 'Turn!' is highlighted.
+        *
+        * @param {string} selector
+        */
        $.fn.arrowStepsHighlight = function ( selector ) {
                var $previous,
                        $steps = this.data( 'arrowSteps' );
@@ -79,4 +84,8 @@
                } );
        };
 
+       /**
+        * @class jQuery
+        * @mixins jQuery.plugin.arrowSteps
+        */
 }( jQuery ) );
index 4282a3d..56fa0da 100644 (file)
@@ -13,7 +13,7 @@
         *
         * Example: Fill the string to length 10 with '+' characters on the right.
         *
-        *     pad('blah', 10, '+', true); // => 'blah++++++'
+        *     pad( 'blah', 10, '+', true ); // => 'blah++++++'
         *
         * @private
         * @param {string} text The string to pad
@@ -59,7 +59,7 @@
         * consideration to local customs.
         *
         * Adapted from dojo/number library with thanks
-        * http://dojotoolkit.org/reference-guide/1.8/dojo/number.html
+        * <http://dojotoolkit.org/reference-guide/1.8/dojo/number.html>
         *
         * @private
         * @param {number} value the number to be formatted, ignores sign
index 05045d5..e576937 100644 (file)
@@ -3,8 +3,5 @@
  * Vector.
  */
 
-// FIXME: remove import for button styles as soon as extensions using mediawiki.ui are
-// updated to use mediawiki.ui.button as well.
 @import "components/utilities";
-@import "components/default/buttons";
 @import "components/default/forms";
index d084731..08690a3 100644 (file)
@@ -2,9 +2,6 @@
  * Provide Agora appearance for mw-ui-* classes when using the Vector skin.
  */
 
-// FIXME: remove import for button styles as soon as extensions using mediawiki.ui are
-// updated to use mediawiki.ui.button as well.
-
 // Typography
 //
 // We prefer the usage of Georgia Bold for all headings. Georgia Regular is used to place emphasis on pull-out or short quotations. This latter usage should be used sparingly. 
@@ -24,6 +21,5 @@
 // Styleguide 1.
 
 @import "components/utilities";
-@import "components/vector/buttons";
 @import "components/vector/forms";
 @import "components/vector/containers";
index 8a7aec2..b7b818f 100644 (file)
 
                /**
                 * Example to declare existing titles:
+                *
                 *     Title.exist.set( ['User:John_Doe', ...] );
-                * Eample to declare titles nonexistent:
+                *
+                * Example to declare titles nonexistent:
+                *
                 *     Title.exist.set( ['File:Foo_bar.jpg', ...], false );
                 *
                 * @static
index a750106..5566312 100644 (file)
@@ -1,5 +1,5 @@
 /**
- * Library for simple URI parsing and manipulation. Dependencies: mw, jQuery.
+ * Library for simple URI parsing and manipulation.
  *
  * Intended to be minimal, but featureful; do not expect full RFC 3986 compliance. The use cases we
  * have in mind are constructing 'next page' or 'previous page' URLs, detecting whether we need to
@@ -44,8 +44,8 @@
  * (N.b., 'password' is technically not allowed for HTTP URIs, but it is possible with other kinds
  * of URIs.)
  *
- * Parsing based on parseUri 1.2.2 (c) Steven Levithan <stevenlevithan.com>, MIT License.
- * http://stevenlevithan.com/demo/parseuri/js/
+ * Parsing based on parseUri 1.2.2 (c) Steven Levithan <http://stevenlevithan.com>, MIT License.
+ * <http://stevenlevithan.com/demo/parseuri/js/>
  *
  * @class mw.Uri
  */
index 1080df3..85e32e8 100644 (file)
@@ -1052,12 +1052,12 @@ var mw = ( function ( $, undefined ) {
                                        // Can't use jQuery.getScript because that only uses <script> for cross-domain,
                                        // it uses XHR and eval for same-domain scripts, which we don't want because it
                                        // messes up line numbers.
-                                       // The below is based on jQuery ([jquery@1.8.2]/src/ajax/script.js)
+                                       // The below is based on jQuery ([jquery@1.9.1]/src/ajax/script.js)
 
-                                       // IE-safe way of getting the <head>. document.head isn't supported
-                                       // in old IE, and doesn't work when in the <head>.
+                                       // IE-safe way of getting an append target. In old IE document.head isn't supported
+                                       // and its getElementsByTagName can't find <head> until </head> is parsed.
                                        done = false;
-                                       head = document.getElementsByTagName( 'head' )[0] || document.body;
+                                       head = document.head || document.getElementsByTagName( 'head' )[0] || document.documentElement;
 
                                        script = document.createElement( 'script' );
                                        script.async = true;
@@ -1099,7 +1099,9 @@ var mw = ( function ( $, undefined ) {
                                                        document.body.appendChild( script );
                                                } );
                                        } else {
-                                               head.appendChild( script );
+                                               // Circumvent IE6 bugs with base elements (jqbug.com/2709, jqbug.com/4378)
+                                               // by prepending instead of appending.
+                                               head.insertBefore( script, head.firstChild );
                                        }
                                } else {
                                        document.write( mw.html.element( 'script', { 'src': src }, '' ) );
@@ -1989,7 +1991,7 @@ var mw = ( function ( $, undefined ) {
                                         * The try / catch block is used for JSON & localStorage feature detection.
                                         * See the in-line documentation for Modernizr's localStorage feature detection
                                         * code for a full account of why we need a try / catch:
-                                        * https://github.com/Modernizr/Modernizr/blob/v2.7.1/modernizr.js#L771-L796
+                                        * <https://github.com/Modernizr/Modernizr/blob/v2.7.1/modernizr.js#L771-L796>.
                                         */
                                        init: function () {
                                                var raw, data;
@@ -2224,12 +2226,13 @@ var mw = ( function ( $, undefined ) {
                                 * @param {string} name The tag name.
                                 * @param {Object} attrs An object with members mapping element names to values
                                 * @param {Mixed} contents The contents of the element. May be either:
+                                *
                                 *  - string: The string is escaped.
-                                *  - null or undefined: The short closing form is used, e.g. <br/>.
+                                *  - null or undefined: The short closing form is used, e.g. `<br/>`.
                                 *  - this.Raw: The value attribute is included without escaping.
                                 *  - this.Cdata: The value attribute is included, and an exception is
                                 *   thrown if it contains an illegal ETAGO delimiter.
-                                *   See http://www.w3.org/TR/1999/REC-html401-19991224/appendix/notes.html#h-B.3.2
+                                *   See <http://www.w3.org/TR/1999/REC-html401-19991224/appendix/notes.html#h-B.3.2>.
                                 */
                                element: function ( name, attrs, contents ) {
                                        var v, attrName, s = '<' + name;
index 8b79d34..3c41b3e 100644 (file)
@@ -4,11 +4,13 @@
             "Ansumang",
             "Devayon",
             "Rajesh",
-            "Siddhartha Ghai"
+            "Siddhartha Ghai",
+            "Goelujjwal"
         ]
     },
     "ooui-dialog-action-close": "बंद करें",
     "ooui-outline-control-move-down": "प्रविष्टि नीचे ले जाएँ",
     "ooui-outline-control-move-up": "प्रविष्टि ऊपर ले जाएँ",
+    "ooui-outline-control-remove": "आइटम हटाएँ",
     "ooui-toolbar-more": "अधिक"
 }
\ No newline at end of file
diff --git a/resources/oojs-ui/oojs-ui-agora.css b/resources/oojs-ui/oojs-ui-agora.css
new file mode 100644 (file)
index 0000000..6fbd7f4
--- /dev/null
@@ -0,0 +1,52 @@
+.oo-ui-window-head {
+  height: 3.35em;
+  border-bottom: 1px solid #dddddd;
+}
+
+.oo-ui-window-body {
+  padding: 2em 3.35em;
+}
+
+.oo-ui-window-icon {
+  width: 3.35em;
+  height: 3.35em;
+  background-size: 2em auto;
+  border-left: 1px solid #dddddd;
+}
+
+.oo-ui-window-title {
+  line-height: 3.35em;
+}
+
+.oo-ui-buttonedElement.oo-ui-indicatedElement .oo-ui-buttonedElement-button > .oo-ui-indicatedElement-indicator,
+.oo-ui-buttonedElement.oo-ui-iconedElement .oo-ui-buttonedElement-button > .oo-ui-iconedElement-icon {
+  width: 3.35em;
+  height: 3.35em;
+  background-size: 2em auto;
+}
+
+.oo-ui-optionWidget {
+  padding: 0.8em 1em 0.8em 3.35em;
+  font-weight: bold;
+  border-bottom: 1px solid #dddddd;
+}
+
+.oo-ui-buttonOptionWidget {
+  padding: 0;
+}
+
+.oo-ui-menuItemWidget.oo-ui-optionWidget-selected {
+  color: #ffffff;
+  background: #347bff;
+}
+
+.oo-ui-menuSectionItemWidget {
+  font-weight: normal;
+  color: #777777;
+  border: none;
+}
+
+.oo-ui-textInputWidget input,
+.oo-ui-textInputWidget textarea {
+  padding: .8em 1em;
+}
\ No newline at end of file
index 66a8072..8e2d79d 100644 (file)
   box-shadow: 0 0 0.66em rgba(0, 0, 0, 0.25);
 }
 
+.oo-ui-frame-content {
+  font-family: sans-serif;
+  font-size: 0.8em;
+}
+
 .oo-ui-toolbar-bar {
   background: #f8fbfd;
   background-image: -webkit-gradient(linear, right top, right bottom, color-stop(0%, #ffffff), color-stop(100%, #f1f7fb));
   color: #000;
 }
 
+.oo-ui-window-body {
+  padding: 0 0.75em;
+}
+
+.oo-ui-window-icon {
+  width: 2em;
+  height: 2em;
+  margin-right: 0.5em;
+  line-height: 2em;
+}
+
 .oo-ui-window-title {
+  line-height: 2em;
   color: #333;
 }
 
 
 .oo-ui-buttonedElement.oo-ui-indicatedElement .oo-ui-buttonedElement-button > .oo-ui-indicatedElement-indicator,
 .oo-ui-buttonedElement.oo-ui-iconedElement .oo-ui-buttonedElement-button > .oo-ui-iconedElement-icon {
+  width: 1.9em;
+  height: 1.9em;
   opacity: 0.8;
 }
 
 .oo-ui-buttonedElement-frameless .oo-ui-buttonedElement-button > .oo-ui-iconedElement-icon {
-  -webkit-transition: opacity 200ms;
-     -moz-transition: opacity 200ms;
-      -ms-transition: opacity 200ms;
-       -o-transition: opacity 200ms;
-          transition: opacity 200ms;
+  /* Don't animate opacities for now, causes wiggling in Chrome (bug 63020) */
+
+  /*.oo-ui-transition(opacity 200ms);*/
+
 }
 
 .oo-ui-buttonedElement-frameless .oo-ui-buttonedElement-button:hover > .oo-ui-iconedElement-icon,
   box-shadow: inset 0 0.07em 0.07em 0 rgba(0, 0, 0, 0.07);
 }
 
+.oo-ui-optionWidget {
+  padding: 0.5em 2em 0.5em 3em;
+}
+
 .oo-ui-optionWidget-highlighted {
   background-color: #e1f3ff;
 }
   background-color: #a7dcff;
 }
 
+.oo-ui-optionWidget.oo-ui-widget-disabled {
+  color: #ccc;
+}
+
 .oo-ui-menuWidget {
   margin-top: -1px;
   background: #fff;
   white-space: nowrap;
 }
 
+.oo-ui-buttonOptionWidget {
+  padding: 0;
+}
+
 .oo-ui-buttonOptionWidget.oo-ui-optionWidget-selected,
 .oo-ui-buttonOptionWidget.oo-ui-optionWidget-highlighted {
   background-color: transparent;
   opacity: 0.8;
 }
 
+.oo-ui-inlineMenuWidget.oo-ui-widget-disabled .oo-ui-inlineMenuWidget-handle {
+  color: #ccc;
+  text-shadow: 0 1px 1px #fff;
+  background-color: #f3f3f3;
+  border-color: #ddd;
+}
+
+.oo-ui-inlineMenuWidget.oo-ui-widget-disabled .oo-ui-indicatedElement-indicator {
+  opacity: 0.2;
+}
+
 .oo-ui-menuItemWidget.oo-ui-optionWidget-highlighted {
   background-color: #e1f3ff;
 }
 
 .oo-ui-menuSectionItemWidget {
+  padding: 0.33em 0.75em;
   color: #888;
 }
 
   box-shadow: 0 0 0.5em rgba(0, 0, 0, 0.2);
 }
 
+.oo-ui-textInputWidget {
+  width: 20em;
+}
+
 .oo-ui-textInputWidget input,
 .oo-ui-textInputWidget textarea {
+  padding: 0.5em;
   font-family: sans-serif;
   font-size: 1em;
   background-color: #fff;
           transition: border-color 200ms, box-shadow 200ms;
 }
 
+.oo-ui-textInputWidget-decorated input,
+.oo-ui-textInputWidget-decorated textarea {
+  padding-left: 2em;
+}
+
+.oo-ui-textInputWidget-icon {
+  width: 2em;
+}
+
 .oo-ui-textInputWidget.oo-ui-widget-enabled input:focus,
 .oo-ui-textInputWidget.oo-ui-widget-enabled textarea:focus {
   border-color: #a7dcff;
index 19bcdfe..48ace00 100644 (file)
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.1.0
+ * OOjs UI v0.1.0-pre (e697490c9b)
  * https://www.mediawiki.org/wiki/OOjs_UI
  *
  * Copyright 2011–2014 OOjs Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: Mon Mar 24 2014 17:35:46 GMT-0700 (PDT)
+ * Date: Wed Mar 26 2014 17:40:12 GMT-0700 (PDT)
  */
 ( function () {
 
@@ -6643,7 +6643,14 @@ OO.ui.InlineMenuWidget.prototype.getMenu = function () {
  * @param {OO.ui.MenuItemWidget} item Selected menu item
  */
 OO.ui.InlineMenuWidget.prototype.onMenuSelect = function ( item ) {
-       this.setLabel( item.getLabel() );
+       var selectedLabel = item.getLabel();
+
+       // If the label is a DOM element, clone it, because setLabel will append() it
+       if ( selectedLabel instanceof jQuery ) {
+               selectedLabel = selectedLabel.clone();
+       }
+
+       this.setLabel( selectedLabel );
 };
 
 /**
index b546253..9f8c28a 100644 (file)
@@ -1,12 +1,12 @@
 /*!
- * OOjs UI v0.1.0
+ * OOjs UI v0.1.0-pre (e697490c9b)
  * https://www.mediawiki.org/wiki/OOjs_UI
  *
  * Copyright 2011–2014 OOjs Team and other contributors.
  * Released under the MIT license
  * http://oojs.mit-license.org
  *
- * Date: Mon Mar 24 2014 17:35:46 GMT-0700 (PDT)
+ * Date: Wed Mar 26 2014 17:40:12 GMT-0700 (PDT)
  */
 
 /* Textures */
   background: none;
 }
 
-.oo-ui-frame-content {
-  font-family: sans-serif;
-  font-size: 0.8em;
-}
-
 .oo-ui-toolbar {
   clear: both;
 }
   -webkit-touch-callout: none;
 }
 
-.oo-ui-window-body {
-  padding: 0 0.75em;
-}
-
 .oo-ui-window-icon {
   float: left;
-  width: 2em;
-  height: 2em;
-  margin-right: 0.5em;
-  line-height: 2em;
-  background-position: right center;
+  background-position: center center;
   background-repeat: no-repeat;
 }
 
 .oo-ui-window-title {
   float: left;
-  line-height: 2em;
   white-space: nowrap;
   cursor: default;
 }
 .oo-ui-buttonedElement.oo-ui-indicatedElement .oo-ui-buttonedElement-button > .oo-ui-indicatedElement-indicator,
 .oo-ui-buttonedElement.oo-ui-iconedElement .oo-ui-buttonedElement-button > .oo-ui-iconedElement-icon {
   display: inline-block;
-  width: 1.9em;
-  height: 1.9em;
   vertical-align: middle;
   background-position: center center;
   background-repeat: no-repeat;
 .oo-ui-optionWidget {
   position: relative;
   display: block;
-  padding: 0.5em 2em 0.5em 3em;
   margin: 0;
   list-style: none;
   cursor: pointer;
 }
 
 .oo-ui-optionWidget .oo-ui-labeledElement-label {
+  display: block;
   overflow: hidden;
   line-height: 1.5em;
   text-overflow: ellipsis;
 
 .oo-ui-buttonOptionWidget {
   display: inline-block;
-  padding: 0;
   background-color: transparent;
 }
 
 }
 
 .oo-ui-inlineMenuWidget .oo-ui-menuWidget {
+  z-index: 1;
   width: 100%;
 }
 
+.oo-ui-inlineMenuWidget.oo-ui-widget-disabled .oo-ui-inlineMenuWidget-handle {
+  cursor: default;
+}
+
 .oo-ui-menuItemWidget {
   position: relative;
 }
 }
 
 .oo-ui-menuSectionItemWidget {
-  padding: 0.33em 0.75em;
   cursor: default;
 }
 
 
 .oo-ui-textInputWidget {
   position: relative;
-  width: 20em;
   -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
           box-sizing: border-box;
 .oo-ui-textInputWidget textarea {
   display: inline-block;
   width: 100%;
-  padding: 0.5em;
   -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
           box-sizing: border-box;
   resize: none;
 }
 
-.oo-ui-textInputWidget-decorated input,
-.oo-ui-textInputWidget-decorated textarea {
-  padding-left: 2em;
-}
-
 .oo-ui-textInputWidget-icon {
   position: absolute;
   top: 0;
   left: 0;
-  width: 2em;
   height: 100%;
   background-position: right center;
   background-repeat: no-repeat;
 .oo-ui-toggleSwitchWidget {
   position: relative;
   display: inline-block;
-  width: 3em;
+  width: 4em;
   height: 2em;
   overflow: hidden;
   vertical-align: middle;
 }
 
 .oo-ui-toggleWidget-on .oo-ui-toggleSwitchWidget-grip {
-  left: 1.25em;
+  left: 2.25em;
   margin-left: -2px;
 }
 
index 6cf631f..edc7425 100755 (executable)
@@ -78,7 +78,7 @@ NEWCHANGESDISPLAY=$(git log $OLDVERSION.. --oneline --no-merges --reverse --colo
 cd -
 
 # Copy files from dist/ to resources/oojs-ui
-cp -a $1/dist/{oojs-ui.js,oojs-ui.svg.css,oojs-ui-apex.css,images,i18n} resources/oojs-ui/
+cp -a $1/dist/{oojs-ui.js,oojs-ui.svg.css,oojs-ui-apex.css,oojs-ui-agora.css,images,i18n} resources/oojs-ui/
 # Figure out what the new version is
 NEWVERSION=$(oojsuiversion)
 # Generate commit summary
index 8e7fc4d..7927a9e 100644 (file)
@@ -24,7 +24,6 @@ body {
 }
 body {
        background-color: @menu-background-color;
-       font-size: @body-font-size;
 }
 
 /* Content */
@@ -40,6 +39,76 @@ div#content {
        background-color: @body-background-color;
        color: @content-font-color;
        direction: ltr;
+
+       .mw-editsection {
+               font-family: @content-font-family;
+       }
+
+       p {
+               line-height: inherit;
+               margin: 0.5em 0;
+       }
+
+       h1,
+       h2,
+       #firstHeading {
+               font-family: @content-heading-font-family;
+               line-height: @heading-line-height;
+               margin-bottom: 0.25em;
+               padding: 0;
+       }
+
+       h1,
+       #firstHeading {
+               font-size: @content-heading-font-size;
+               margin-top: 0;
+       }
+
+       h2 {
+               font-size: 1.5em;
+               margin-top: 1em;
+       }
+
+       h3,
+       h4,
+       h5,
+       h6 {
+               line-height: @content-line-height;
+               margin-top: 0.3em;
+               margin-bottom: 0;
+               padding-bottom: 0;
+       }
+
+       h3 {
+               font-size: 1.17em;
+       }
+
+       h3,
+       h4 {
+               font-weight: bold;
+       }
+
+       h4,
+       h5,
+       h6 {
+               font-size: 100%; /* (reset) */
+       }
+
+       #toc h2,
+       .toc h2 {
+               font-size: 100%; /* (reset) */
+               font-family: @content-font-family;
+       }
+
+       // Give extra long preformatted content horizontal scroll bars
+       pre {
+               overflow-x: auto;
+       }
+
+       // Prevent citations from interfering with the line-height
+       sup {
+               line-height: 0;
+       }
 }
 
 /* Hide empty portlets */
@@ -61,12 +130,6 @@ pre, .mw-code {
        font-size: 0.8em;
 }
 
-#firstHeading {
-       padding-top: 0;
-       margin-top: 0;
-       font-size: @content-heading-font-size;
-}
-
 .redirectText {
        font-size: 140%;
 }
index 2af6389..ebfab42 100644 (file)
@@ -1,18 +1,17 @@
 @html-font-size: 1em;
 
-@body-font-size: 1em;
-
 // Page content
 // FIXME: Use global variable since Echo and CentralNotice use this variable
 @content-border-color: #a7d7f9;
-@content-font-family: sans-serif;
-@content-font-color: black;
-@content-font-size: 0.8em;
-@content-line-height: 1.5em;
+@content-font-family: Arimo, "Liberation Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
+@content-font-color: #252525;
+@content-font-size: 0.875em;
+@content-line-height: 1.6;
 @content-padding: 1em;
-@content-heading-font-size: 1.6em;
-@content-heading-font-family: sans-serif;
+@content-heading-font-size: 1.8em;
+@content-heading-font-family: "Linux Libertine", Georgia, Times, serif;
 @body-background-color: #fff;
+@heading-line-height: 1.3;
 
 // Navigation
 @menu-background-color: #f6f6f6;
index e568eaf..aedc23a 100644 (file)
@@ -24,9 +24,9 @@ class DjVuTest extends MediaWikiTestCase {
                parent::setUp();
 
                //cli tool setup
-               $wgDjvuRenderer = $wgDjvuRenderer ? $wgDjvuRenderer : '/usr/local/bin/ddjvu';
-               $wgDjvuDump = $wgDjvuDump ? $wgDjvuDump : '/usr/local/bin/djvudump';
-               $wgDjvuToXML = $wgDjvuToXML ? $wgDjvuToXML : '/usr/local/bin/djvutoxml';
+               $wgDjvuRenderer = $wgDjvuRenderer ? $wgDjvuRenderer : '/usr/bin/ddjvu';
+               $wgDjvuDump = $wgDjvuDump ? $wgDjvuDump : '/usr/bin/djvudump';
+               $wgDjvuToXML = $wgDjvuToXML ? $wgDjvuToXML : '/usr/bin/djvutoxml';
                if (
                        !$this->checkIfToolExists( $wgDjvuRenderer ) ||
                        !$this->checkIfToolExists( $wgDjvuDump ) ||
index 88aecbd..b0d9f10 100644 (file)
--- a/thumb.php
+++ b/thumb.php
@@ -289,8 +289,10 @@ function wfStreamThumb( array $params ) {
                }
        }
 
+       $dispositionType = isset( $params['download'] ) ? 'attachment' : 'inline';
+
        // Suggest a good name for users downloading this thumbnail
-       $headers[] = "Content-Disposition: {$img->getThumbDisposition( $thumbName )}";
+       $headers[] = "Content-Disposition: {$img->getThumbDisposition( $thumbName, $dispositionType )}";
 
        if ( count( $varyHeader ) ) {
                $headers[] = 'Vary: ' . implode( ', ', $varyHeader );